diff --git a/_maps/map_files/MetaStation/z5.dmm b/_maps/map_files/MetaStation/z5.dmm
index 5b8760128df..a192070c9ad 100644
--- a/_maps/map_files/MetaStation/z5.dmm
+++ b/_maps/map_files/MetaStation/z5.dmm
@@ -1,15 +1,15 @@
"aa" = (/turf/space,/area/space)
"ab" = (/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_z5"; name = "northeast of the Mining Asteroid"; width = 18},/turf/space,/area/space)
-"ac" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ad" = (/turf/simulated/mineral,/area/mine/unexplored)
+"ac" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
+"ad" = (/turf/simulated/mineral,/area/mine/dangerous/unexplored)
"ae" = (/obj/structure/lattice,/turf/space,/area/space)
"af" = (/obj/structure/transit_tube{icon_state = "D-SE"},/obj/structure/lattice,/turf/space,/area/space)
"ag" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "E-SW"},/turf/space,/area/space)
"ah" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/space)
-"ai" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"aj" = (/obj/machinery/light/small,/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ak" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"al" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/mineral,/area/mine/unexplored)
+"ai" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
+"aj" = (/obj/machinery/light/small,/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
+"ak" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
+"al" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/mineral,/area/mine/dangerous/unexplored)
"am" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/machinery/door/firedoor{dir = 2},/turf/space,/area/research_outpost/hallway)
"an" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
"ao" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/space,/area/space)
@@ -19,8 +19,8 @@
"as" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
"at" = (/obj/structure/transit_tube{icon_state = "D-NE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
"au" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
-"av" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/unexplored)
-"aw" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
+"av" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/dangerous/unexplored)
+"aw" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
"ax" = (/obj/structure/transit_tube,/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/hallway)
"ay" = (/obj/structure/transit_tube/station,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/research_outpost/hallway)
"az" = (/obj/structure/transit_tube,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway)
@@ -84,7 +84,7 @@
"bF" = (/obj/machinery/door/firedoor{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rminingdorm1"; name = "Dorm 1"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "carpet"},/area/research_outpost/hallway)
"bG" = (/obj/machinery/door/firedoor{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "rdorm2"; name = "Dorm 2"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "carpet"},/area/research_outpost/hallway)
"bH" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/lattice,/turf/space,/area/space)
-"bI" = (/turf/simulated/mineral/random,/area/mine/unexplored)
+"bI" = (/turf/simulated/mineral/random,/area/mine/dangerous/unexplored)
"bJ" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "D-SE"},/turf/space,/area/space)
"bK" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/structure/lattice,/turf/space,/area/space)
"bL" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "W-NE"},/turf/space,/area/space)
@@ -205,7 +205,7 @@
"dW" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/research_outpost/atmos)
"dX" = (/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/research_outpost/atmos)
"dY" = (/obj/structure/sign/fire{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/unary/tank/air{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"dZ" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
+"dZ" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
"ea" = (/obj/docking_port/stationary{dwidth = 3; height = 5; id = "science_away"; name = "research outpost dock"; width = 7},/turf/space,/area/space)
"eb" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
"ec" = (/obj/machinery/camera{c_tag = "Research Outpost Lobby"; dir = 2; network = list("Research Outpost")},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/machinery/light{dir = 1},/obj/structure/noticeboard/anomaly{icon_state = "nboard05"; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
@@ -230,9 +230,9 @@
"ev" = (/obj/machinery/door/firedoor{dir = 4; layer = 2.6; name = "Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor/plasteel,/area/research_outpost/power)
"ew" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/wall/r_wall,/area/research_outpost/power)
"ex" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"ey" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"ez" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/mineral,/area/mine/unexplored)
-"eA" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8},/turf/simulated/floor/plating,/area/mine/unexplored)
+"ey" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/mineral,/area/mine/dangerous/unexplored)
+"ez" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
+"eA" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8},/turf/simulated/floor/plating,/area/mine/dangerous/unexplored)
"eB" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
"eC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
"eD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
@@ -259,7 +259,7 @@
"eY" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/sign/nosmoking_1{pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/power)
"eZ" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/power)
"fa" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/sign/electricshock{pixel_x = 32},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/camera{c_tag = "Research Outpost Power Room"; dir = 2; network = list("Research Outpost")},/turf/simulated/floor/plating,/area/research_outpost/power)
-"fb" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
+"fb" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
"fc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
"fd" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/wood,/area/research_outpost/hallway)
"fe" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{level = 1},/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/wood,/area/research_outpost/hallway)
@@ -284,9 +284,9 @@
"fx" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/research_outpost/power)
"fy" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power)
"fz" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"fA" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"fB" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"fC" = (/turf/simulated/mineral/random/high_chance,/area/mine/unexplored)
+"fA" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
+"fB" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
+"fC" = (/turf/simulated/mineral/random/high_chance,/area/mine/dangerous/unexplored)
"fD" = (/obj/structure/table,/obj/item/weapon/folder,/turf/simulated/floor/wood,/area/research_outpost/hallway)
"fE" = (/obj/structure/table,/obj/item/device/camera,/obj/item/weapon/stamp/granted,/turf/simulated/floor/wood,/area/research_outpost/hallway)
"fF" = (/turf/simulated/floor/wood,/area/research_outpost/hallway)
@@ -302,7 +302,7 @@
"fP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/plating,/area/research_outpost/power)
"fQ" = (/obj/machinery/portable_atmospherics/scrubber,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating,/area/research_outpost/power)
"fR" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/disposalpipe/segment,/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/power)
-"fS" = (/obj/machinery/mass_driver{dir = 4; id_tag = "Research Outpost"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
+"fS" = (/obj/machinery/mass_driver{dir = 4; id_tag = "Research Outpost"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
"fT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/firealarm{dir = 4; pixel_x = -28; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/hallway)
"fU" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/light_switch{pixel_y = -23},/obj/machinery/power/apc{dir = 2; name = "Outpost Lobby APC"; pixel_x = 0; pixel_y = -24},/obj/structure/cable,/turf/simulated/floor/wood,/area/research_outpost/hallway)
"fV" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = -2; pixel_y = 5},/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/floor/wood,/area/research_outpost/hallway)
@@ -502,7 +502,7 @@
"jH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/research_outpost/harvesting)
"jI" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/research_outpost/harvesting)
"jJ" = (/obj/structure/table,/obj/item/weapon/anobattery{pixel_x = -6; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = -2; pixel_y = -2},/obj/item/weapon/anobattery{pixel_x = 2; pixel_y = 2},/obj/item/weapon/anobattery{pixel_x = 6; pixel_y = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/research_outpost/harvesting)
-"jK" = (/turf/simulated/wall,/area/mine/unexplored)
+"jK" = (/turf/simulated/wall,/area/mine/dangerous/unexplored)
"jL" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space)
"jM" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall,/area/research_outpost/entry)
"jN" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/transit_tube{icon_state = "N-SW"},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
@@ -535,8 +535,8 @@
"ko" = (/obj/machinery/artifact_scanpad,/obj/machinery/light/small,/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor/bluegrid,/area/research_outpost/harvesting)
"kp" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"kq" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"kr" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"ks" = (/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"kr" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"ks" = (/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"kt" = (/turf/simulated/wall,/area/research_outpost/gearstore)
"ku" = (/obj/structure/closet/excavation,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"kv" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
@@ -575,11 +575,11 @@
"lc" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting)
"ld" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"le" = (/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"lf" = (/turf/simulated/floor/plating/airless/asteroid/cave,/area/mine/unexplored)
-"lg" = (/turf/simulated/mineral,/area/mine/explored)
-"lh" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"li" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"lj" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/unexplored)
+"lf" = (/turf/simulated/floor/plating/airless/asteroid/cave,/area/mine/dangerous/unexplored)
+"lg" = (/turf/simulated/mineral,/area/mine/dangerous/explored)
+"lh" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"li" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"lj" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/dangerous/unexplored)
"lk" = (/obj/structure/closet/excavation,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"ll" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"lm" = (/obj/structure/rack,/obj/item/weapon/storage/belt/archaeology,/obj/item/clothing/suit/space/eva/anomaly,/obj/item/clothing/head/helmet/space/eva/anomaly,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
@@ -607,25 +607,25 @@
"lI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
"lJ" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
"lK" = (/obj/machinery/camera{c_tag = "Research Outpost Long Term Storage"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/research_outpost/longtermstorage)
-"lL" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"lL" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"lM" = (/obj/structure/transit_tube{icon_state = "W-NE"},/obj/structure/lattice,/turf/space,/area/space)
"lN" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/space,/area/space)
"lO" = (/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"lP" = (/obj/item/stack/rods,/obj/structure/door_assembly/door_assembly_ext{name = "Broken External Airlock"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"lQ" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"lR" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"lS" = (/obj/structure/transit_tube{tag = "icon-S-NE"; icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"lT" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/explored)
+"lS" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/dangerous/explored)
+"lT" = (/obj/structure/transit_tube{tag = "icon-S-NE"; icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"lU" = (/obj/structure/closet/excavation,/obj/machinery/status_display{layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"lV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"lW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"lX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/door/airlock/glass_mining{name = "Equipment storage"; req_access_txt = "47"},/obj/machinery/door/firedoor{dir = 4; layer = 2.6; name = "Firelock"},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"lY" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; level = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"lZ" = (/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
-"ma" = (/obj/machinery/conveyor_switch{id = "anotempload"},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"mb" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"mc" = (/obj/machinery/conveyor_switch{id = "anosample"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"md" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
+"ma" = (/obj/machinery/conveyor_switch{id = "anotempload"},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
+"mb" = (/obj/machinery/conveyor_switch{id = "anosample"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
+"mc" = (/obj/machinery/conveyor{dir = 2; id = "anotempload"},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
+"md" = (/obj/machinery/conveyor{dir = 1; id = "anosample"},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
"me" = (/obj/machinery/portable_atmospherics/canister/toxins,/turf/simulated/floor/plating,/area/research_outpost/maint)
"mf" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plating,/area/research_outpost/maint)
"mg" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warning"},/area/research_outpost/iso1)
@@ -642,18 +642,18 @@
"mr" = (/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/research_outpost/longtermstorage)
"ms" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (NORTH)"; temperature = 80},/area/research_outpost/longtermstorage)
"mt" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"; name = "Mainframe floor"; nitrogen = 100; oxygen = 0; tag = "icon-vault (EAST)"; temperature = 80},/area/research_outpost/longtermstorage)
-"mu" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"mv" = (/turf/simulated/mineral/random,/area/mine/explored)
+"mu" = (/turf/simulated/mineral/random,/area/mine/dangerous/explored)
+"mv" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"mw" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"mx" = (/turf/simulated/wall,/area/mine/explored)
-"my" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/wall,/area/mine/explored)
+"mx" = (/turf/simulated/wall,/area/mine/dangerous/explored)
+"my" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/wall,/area/mine/dangerous/explored)
"mz" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"mA" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
"mB" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"mC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"mD" = (/obj/structure/table,/obj/item/weapon/pickaxe,/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/weapon/storage/box/excavation,/obj/item/device/ano_scanner,/obj/item/weapon/storage/bag/fossils,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"mE" = (/turf/simulated/floor/plating/airless/asteroid,/area/research_outpost/tempstorage)
-"mF" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
+"mF" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
"mG" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plating,/area/research_outpost/maint)
"mH" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 6; level = 1},/turf/simulated/floor/plating,/area/research_outpost/iso1)
"mI" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 1; id = "iso1"},/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/research_outpost/iso1)
@@ -668,18 +668,18 @@
"mR" = (/obj/structure/rack,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/samplebags{pixel_x = 3; pixel_y = -3},/obj/machinery/power/apc{dir = 4; name = "Maintenance Storage APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
"mS" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2)
"mT" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage)
-"mU" = (/obj/structure/transit_tube{tag = "icon-N-SW"; icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"mU" = (/obj/structure/transit_tube{tag = "icon-N-SW"; icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"mV" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"mW" = (/turf/simulated/floor/plating/airless{icon_state = "damaged3"},/area/mine/abandoned)
"mX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"mY" = (/obj/machinery/door/window/westleft,/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"mZ" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/explored)
-"na" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/mine/explored)
+"mY" = (/obj/machinery/door/window/westleft,/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"mZ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/mine/dangerous/explored)
+"na" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/dangerous/explored)
"nb" = (/obj/machinery/suspension_gen,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"nc" = (/obj/machinery/floodlight,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"nd" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"ne" = (/obj/structure/table,/obj/item/weapon/pickaxe,/obj/item/weapon/wrench,/obj/item/device/measuring_tape,/obj/item/weapon/storage/box/excavation,/obj/item/device/ano_scanner,/obj/item/weapon/storage/bag/fossils,/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
-"nf" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"nf" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"ng" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plating,/area/research_outpost/maint)
"nh" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/plating,/area/research_outpost/maint)
"ni" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso1)
@@ -693,98 +693,98 @@
"nq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3)
"nr" = (/obj/structure/rack,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/storage/box/monkeycubes,/obj/item/weapon/reagent_containers/spray/cleaner,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
"ns" = (/obj/structure/rack,/obj/item/weapon/storage/box/lights/bulbs{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/lights/tubes{pixel_x = -5; pixel_y = 5},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"nt" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral/random,/area/mine/explored)
-"nu" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"nt" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral/random,/area/mine/dangerous/explored)
+"nu" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"nv" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/mine/abandoned)
"nw" = (/turf/simulated/wall,/area/mine/abandoned)
-"nx" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"ny" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-closed (EAST)"},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/mine/explored)
+"nx" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"ny" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-closed (EAST)"},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/mine/dangerous/explored)
"nz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/space)
"nA" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
"nB" = (/obj/machinery/door/airlock/external,/obj/machinery/atmospherics/pipe/simple/hidden/cyan,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"nC" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2)
-"nD" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"nE" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"nD" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"nE" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"nF" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"nG" = (/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"nH" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"nI" = (/obj/structure/transit_tube{tag = "icon-N-SE"; icon_state = "N-SE"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/explored)
-"nJ" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/obj/structure/lattice,/turf/space,/area/mine/explored)
-"nK" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/space,/area/mine/explored)
-"nL" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/space,/area/mine/explored)
-"nM" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/mine/explored)
-"nN" = (/obj/structure/transit_tube,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/explored)
-"nO" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"; tag = "icon-closed (EAST)"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/mine/explored)
+"nH" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"nI" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/obj/structure/lattice,/turf/space,/area/mine/dangerous/explored)
+"nJ" = (/obj/structure/transit_tube{tag = "icon-N-SE"; icon_state = "N-SE"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/dangerous/explored)
+"nK" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/space,/area/mine/dangerous/explored)
+"nL" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/space,/area/mine/dangerous/explored)
+"nM" = (/obj/structure/transit_tube,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/dangerous/explored)
+"nN" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/mine/dangerous/explored)
+"nO" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"; tag = "icon-closed (EAST)"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/mine/dangerous/explored)
"nP" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore)
"nQ" = (/turf/simulated/floor/mech_bay_recharge_floor{icon_state = "recharge_floor_asteroid"},/area/research_outpost/gearstore)
"nR" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore)
"nS" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
-"nT" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"nU" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-opening (EAST)"},/obj/structure/transit_tube_pod,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/mine/explored)
-"nV" = (/turf/simulated/wall/r_wall,/area/mine/explored)
-"nW" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/explored)
-"nX" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"nY" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"nT" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"nU" = (/turf/simulated/wall/r_wall,/area/mine/dangerous/explored)
+"nV" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-opening (EAST)"},/obj/structure/transit_tube_pod,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/mine/dangerous/explored)
+"nW" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"nX" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/dangerous/explored)
+"nY" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"nZ" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space)
"oa" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"ob" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"oc" = (/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"od" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/turf/simulated/floor/plating,/area/mine/explored)
-"oe" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor/plating,/area/mine/explored)
-"of" = (/obj/structure/window/reinforced,/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/space,/area/mine/explored)
-"og" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/transit_tube,/turf/space,/area/mine/explored)
-"oh" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/space,/area/mine/explored)
-"oi" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating,/area/mine/explored)
-"oj" = (/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
+"od" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/turf/simulated/floor/plating,/area/mine/dangerous/explored)
+"oe" = (/obj/structure/window/reinforced,/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/space,/area/mine/dangerous/explored)
+"of" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor/plating,/area/mine/dangerous/explored)
+"og" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/transit_tube,/turf/space,/area/mine/dangerous/explored)
+"oh" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating,/area/mine/dangerous/explored)
+"oi" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/space,/area/mine/dangerous/explored)
+"oj" = (/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
"ok" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/research_outpost/gearstore)
"ol" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/research_outpost/gearstore)
"om" = (/obj/machinery/camera{c_tag = "Research Outpost Mech Recharge Station"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/research_outpost/gearstore)
"on" = (/turf/simulated/floor/plasteel{icon_state = "warning"},/area/research_outpost/gearstore)
"oo" = (/obj/structure/ore_box,/obj/machinery/camera{c_tag = "Research Outpost External Airlock"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/research_outpost/gearstore)
-"op" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/explored)
-"oq" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"op" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/dangerous/explored)
+"oq" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"or" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"os" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"ot" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"ou" = (/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"ov" = (/obj/effect/decal/remains/xeno,/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"ow" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "65"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored)
-"ox" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless,/area/mine/explored)
+"ow" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"ox" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "65"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/dangerous/explored)
"oy" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/research_outpost/gearstore)
-"oz" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = -32},/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"oA" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/explored)
-"oB" = (/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/simulated/wall/r_wall,/area/mine/explored)
-"oC" = (/obj/structure/transit_tube,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"oD" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"oE" = (/obj/structure/transit_tube/station,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/mine/explored)
-"oF" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/explored)
+"oz" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = -32},/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"oA" = (/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/simulated/wall/r_wall,/area/mine/dangerous/explored)
+"oB" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/dangerous/explored)
+"oC" = (/obj/structure/transit_tube,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"oD" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"oE" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/dangerous/explored)
+"oF" = (/obj/structure/transit_tube/station,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/mine/dangerous/explored)
"oG" = (/obj/item/stack/rods,/obj/structure/lattice,/turf/space,/area/space)
"oH" = (/obj/item/weapon/shard,/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"oI" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"oJ" = (/obj/structure/table,/turf/simulated/floor/plating/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
"oK" = (/obj/structure/table,/turf/simulated/floor/plating/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
"oL" = (/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless{icon_state = "damaged3"},/area/mine/abandoned)
-"oM" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored)
-"oN" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/explored)
-"oO" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"oP" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/explored)
-"oQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"oR" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"oS" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"oT" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
+"oM" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/dangerous/explored)
+"oN" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/dangerous/explored)
+"oO" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/dangerous/explored)
+"oP" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/explored)
+"oQ" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"oR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"oS" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"oT" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
"oU" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"oV" = (/turf/simulated/floor/plating/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
"oW" = (/turf/simulated/floor/plating/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
"oX" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"oY" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"oZ" = (/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"pa" = (/turf/space,/area/mine/explored)
-"pb" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"pa" = (/turf/space,/area/mine/dangerous/explored)
+"pb" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"pc" = (/obj/item/weapon/shard,/obj/structure/lattice,/turf/space,/area/space)
"pd" = (/turf/simulated/floor/plating/airless{icon_state = "damaged2"},/area/mine/abandoned)
"pe" = (/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
"pf" = (/obj/effect/decal/remains/xeno,/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"pg" = (/turf/space,/area/mine/unexplored)
+"pg" = (/turf/space,/area/mine/dangerous/unexplored)
"ph" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"pi" = (/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"pj" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "small"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_dead"; stat = 2},/turf/space,/area/mine/abandoned)
@@ -850,7 +850,7 @@
"qr" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/mine/north_outpost)
"qs" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/mine/north_outpost)
"qt" = (/turf/simulated/floor/plasteel{icon_state = "damaged3"},/area/mine/abandoned)
-"qu" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"qu" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"qv" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel,/obj/item/clothing/glasses/meson,/obj/machinery/light/small{dir = 8},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/plasteel,/area/mine/north_outpost)
"qw" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/plasteel,/area/mine/north_outpost)
"qx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/mine/north_outpost)
@@ -859,7 +859,7 @@
"qA" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/mine/north_outpost)
"qB" = (/obj/machinery/door/window/northleft{dir = 8; name = "Pneumatic Tube Access"},/obj/machinery/disposal/deliveryChute{dir = 8; pixel_x = 8; pixel_y = 0},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/mine/north_outpost)
"qC" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/wall,/area/mine/north_outpost)
-"qD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/mine/explored)
+"qD" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/mine/dangerous/explored)
"qE" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/north_outpost)
"qF" = (/obj/machinery/conveyor_switch{id = "mining_north"},/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/north_outpost)
"qG" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/north_outpost)
@@ -887,11 +887,11 @@
"rc" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/abandoned)
"rd" = (/obj/structure/rack,/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/abandoned)
"re" = (/obj/machinery/door/airlock/external{name = "Mining North Outpost Airlock"; req_access_txt = "54"},/turf/simulated/floor/plasteel,/area/mine/north_outpost)
-"rf" = (/turf/simulated/mineral/random/labormineral,/area/mine/unexplored)
+"rf" = (/turf/simulated/mineral/random/labormineral,/area/mine/dangerous/unexplored)
"rg" = (/obj/item/weapon/rack_parts,/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/abandoned)
"rh" = (/obj/structure/girder/displaced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
-"ri" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/mine/explored)
-"rj" = (/obj/structure/lattice,/obj/structure/window/reinforced,/turf/space,/area/mine/explored)
+"ri" = (/obj/structure/window/reinforced,/obj/structure/lattice,/turf/space,/area/mine/dangerous/explored)
+"rj" = (/obj/structure/lattice,/obj/structure/window/reinforced,/turf/space,/area/mine/dangerous/explored)
"rk" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/space,/area/mine/north_outpost)
"rl" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/north_outpost)
"rm" = (/turf/simulated/floor/mech_bay_recharge_floor/airless,/area/mine/north_outpost)
@@ -903,19 +903,19 @@
"rs" = (/turf/simulated/floor/plating/airless{icon_state = "floorgrime"},/area/mine/abandoned)
"rt" = (/obj/structure/girder,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
"ru" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "54"},/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/north_outpost)
-"rv" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/explored)
+"rv" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/dangerous/explored)
"rw" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/north_outpost)
"rx" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32},/turf/simulated/floor/plasteel{icon_state = "warning"},/area/mine/north_outpost)
"ry" = (/turf/simulated/floor/plasteel{icon_state = "warning"},/area/mine/north_outpost)
"rz" = (/obj/structure/ore_box,/turf/simulated/floor/plasteel{icon_state = "warning"},/area/mine/north_outpost)
"rA" = (/obj/structure/rack{dir = 1},/obj/item/clothing/glasses/meson,/obj/item/device/flashlight,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/shovel{attack_verb = list("ineffectively hit"); desc = "A large tool for digging and moving dirt. Was modified with extra safety, making it ineffective as a weapon."; force = 1; name = "safety shovel"; pixel_x = -5; throwforce = 1},/obj/item/weapon/pickaxe{attack_verb = list("ineffectively hit"); desc = "A pickaxe designed to be only effective at digging rock and ore, very ineffective as a weapon."; force = 1; name = "safety pickaxe"; pixel_x = 5; throwforce = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"rB" = (/obj/structure/rack{dir = 1},/obj/item/clothing/glasses/meson,/obj/item/device/flashlight,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/shovel{attack_verb = list("ineffectively hit"); desc = "A large tool for digging and moving dirt. Was modified with extra safety, making it ineffective as a weapon."; force = 1; name = "safety shovel"; pixel_x = -5; throwforce = 1},/obj/item/weapon/pickaxe{attack_verb = list("ineffectively hit"); desc = "A pickaxe designed to be only effective at digging rock and ore, very ineffective as a weapon."; force = 1; name = "safety pickaxe"; pixel_x = 5; throwforce = 1},/obj/machinery/camera{c_tag = "Labor Camp Storage"; dir = 8; network = list("Labor")},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
-"rC" = (/turf/simulated/mineral/random/labormineral,/area/mine/explored)
+"rC" = (/turf/simulated/mineral/random/labormineral,/area/mine/dangerous/explored)
"rD" = (/obj/item/weapon/storage/toolbox/syndicate,/obj/structure/alien/weeds/node,/turf/simulated/floor/plating/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
"rE" = (/obj/effect/decal/remains/xeno,/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/head/helmet/space/syndicate/black/red,/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless{icon_state = "damaged4"},/area/mine/abandoned)
"rF" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/space,/area/mine/north_outpost)
"rG" = (/obj/machinery/door/airlock/external{name = "Mining North Outpost Airlock"; req_access_txt = "54"},/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/north_outpost)
-"rH" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/explored)
+"rH" = (/obj/structure/disposalpipe/segment,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating,/area/mine/dangerous/explored)
"rI" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/o2{pixel_x = 2; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "white"; temperature = 273.15},/area/mine/laborcamp)
"rJ" = (/obj/structure/table,/obj/item/device/healthanalyzer,/obj/item/stack/medical/bruise_pack,/turf/simulated/floor/plasteel{icon_state = "white"; temperature = 273.15},/area/mine/laborcamp)
"rK" = (/obj/structure/sign/redcross{pixel_y = 32},/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{icon_state = "white"; temperature = 273.15},/area/mine/laborcamp)
@@ -923,15 +923,15 @@
"rM" = (/turf/simulated/wall,/area/mine/laborcamp)
"rN" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"rO" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
-"rP" = (/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/explored)
+"rP" = (/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/dangerous/explored)
"rQ" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/abandoned)
"rR" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"rS" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored)
-"rT" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"rU" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored)
+"rS" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/dangerous/explored)
+"rT" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/dangerous/explored)
+"rU" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/explored)
"rV" = (/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/north_outpost)
-"rW" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"rX" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored)
+"rW" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
+"rX" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/dangerous/explored)
"rY" = (/obj/structure/sink{icon_state = "sink"; dir = 8; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/mine/laborcamp)
"rZ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/mine/laborcamp)
"sa" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=1-Storage"; location = "Sleeper"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whiteblue"},/area/mine/laborcamp)
@@ -941,26 +941,26 @@
"se" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=2-NMine"; location = "1-Storage"},/mob/living/simple_animal/bot/secbot/beepsky{desc = "Powered by tears and swet of laborer."; name = "Prison Ofitser"},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/laborcamp)
"sf" = (/obj/structure/plasticflaps/mining,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/laborcamp)
"sg" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=3-SMine"; location = "2-NMine"},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/laborcamp)
-"sh" = (/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; temperature = 273.15},/area/mine/explored)
-"si" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/explored)
-"sj" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
+"sh" = (/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; temperature = 273.15},/area/mine/dangerous/explored)
+"si" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/dangerous/explored)
+"sj" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/explored)
"sk" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/mine/laborcamp)
"sl" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Infirmary"; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "whitebluefull"},/area/mine/laborcamp)
"sm" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/turf/simulated/floor/plating,/area/mine/laborcamp)
"sn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/mine/laborcamp)
"so" = (/obj/machinery/door/airlock{name = "Labor Camp Storage"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
-"sp" = (/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; temperature = 273.15},/area/mine/explored)
-"sq" = (/obj/structure/girder/reinforced,/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; temperature = 273.15},/area/mine/explored)
+"sp" = (/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; temperature = 273.15},/area/mine/dangerous/explored)
+"sq" = (/obj/structure/girder/reinforced,/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; temperature = 273.15},/area/mine/dangerous/explored)
"sr" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
"ss" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
-"st" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
+"st" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
"su" = (/obj/structure/table,/obj/item/trash/plate,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sv" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sw" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sx" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sy" = (/obj/item/device/radio/intercom/locked/prison{dir = 2; name = "Prison Intercom (General)"; pixel_x = 0; pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sz" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
-"sA" = (/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/explored)
+"sA" = (/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/dangerous/explored)
"sB" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
"sC" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/abandoned)
"sD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
@@ -970,10 +970,10 @@
"sH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sJ" = (/obj/machinery/door/poddoor/preopen{id_tag = "Labor"; name = "labor camp blast door"},/obj/machinery/door/airlock{name = "Labor Camp External Access"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
-"sK" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/explored)
-"sL" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/unexplored)
-"sM" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/unexplored)
-"sN" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/unexplored)
+"sK" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/dangerous/explored)
+"sL" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/dangerous/unexplored)
+"sM" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/dangerous/unexplored)
+"sN" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/unexplored)
"sO" = (/obj/machinery/door/airlock/glass_security{id_tag = "laborcamp_away"; name = "Labor Camp Shuttle Security Airlock"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sP" = (/obj/machinery/vending/sustenance,/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sQ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
@@ -982,8 +982,8 @@
"sT" = (/obj/machinery/flasher{id = "Labor"; pixel_x = 0; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11},/turf/simulated/wall,/area/mine/laborcamp)
"sU" = (/obj/machinery/conveyor_switch/oneway{id = "gulag"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sV" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; temperature = 273.15},/area/mine/laborcamp)
-"sW" = (/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; temperature = 273.15},/area/mine/explored)
-"sX" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/unexplored)
+"sW" = (/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; temperature = 273.15},/area/mine/dangerous/explored)
+"sX" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/unexplored)
"sY" = (/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"sZ" = (/obj/machinery/camera{c_tag = "Labor Camp Central"; network = list("Labor")},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"ta" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
@@ -991,20 +991,20 @@
"tc" = (/obj/machinery/conveyor{dir = 8; id = "gulag"},/obj/structure/plasticflaps/mining,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"td" = (/obj/machinery/conveyor{dir = 8; id = "gulag"},/turf/simulated/floor/plasteel{tag = "icon-asteroidplating"; icon_state = "asteroidplating"; temperature = 273.15},/area/mine/laborcamp)
"te" = (/obj/machinery/mineral/unloading_machine{dir = 1},/turf/simulated/floor/plasteel{tag = "icon-asteroidplating"; icon_state = "asteroidplating"; temperature = 273.15},/area/mine/laborcamp)
-"tf" = (/obj/structure/ore_box,/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning (WEST)"; icon_state = "asteroidwarning"; dir = 8; temperature = 273.15},/area/mine/explored)
-"tg" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/explored)
-"th" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
-"ti" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
+"tf" = (/obj/structure/ore_box,/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning (WEST)"; icon_state = "asteroidwarning"; dir = 8; temperature = 273.15},/area/mine/dangerous/explored)
+"tg" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/dangerous/explored)
+"th" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
+"ti" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
"tj" = (/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 0; pixel_y = 28; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"tk" = (/obj/machinery/door/airlock/glass_security{id_tag = "laborcamp_away"; name = "Labor Camp Shuttle Prisoner Airlock"; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
"tl" = (/obj/machinery/door/poddoor/preopen{id_tag = "Labor"; name = "labor camp blast door"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"tm" = (/turf/simulated/floor/plasteel,/area/mine/laborcamp)
"tn" = (/obj/machinery/mineral/processing_unit_console{machinedir = 6},/turf/simulated/wall,/area/mine/laborcamp)
"to" = (/obj/structure/plasticflaps,/obj/machinery/conveyor{dir = 2; id = "gulag"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
-"tp" = (/obj/machinery/camera{c_tag = "Labor Camp External"; dir = 4; network = list("Labor")},/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1; temperature = 273.15},/area/mine/explored)
-"tq" = (/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1; temperature = 273.15},/area/mine/explored)
-"tr" = (/obj/machinery/conveyor_switch/oneway{id = "gulag"},/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1; temperature = 273.15},/area/mine/explored)
-"ts" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/explored)
+"tp" = (/obj/machinery/camera{c_tag = "Labor Camp External"; dir = 4; network = list("Labor")},/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1; temperature = 273.15},/area/mine/dangerous/explored)
+"tq" = (/obj/machinery/conveyor_switch/oneway{id = "gulag"},/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1; temperature = 273.15},/area/mine/dangerous/explored)
+"tr" = (/turf/simulated/floor/plasteel{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1; temperature = 273.15},/area/mine/dangerous/explored)
+"ts" = (/obj/effect/decal/cleanable/blood/old,/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/dangerous/explored)
"tt" = (/obj/machinery/mineral/stacking_unit_console{machinedir = 2},/turf/simulated/wall,/area/mine/laborcamp)
"tu" = (/obj/machinery/mineral/processing_unit{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"tv" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/laborcamp)
@@ -1013,8 +1013,8 @@
"ty" = (/obj/machinery/mineral/stacking_machine{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"tz" = (/obj/machinery/conveyor{dir = 8; id = "gulag"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
"tA" = (/obj/machinery/conveyor{dir = 10; icon_state = "conveyor0"; id = "gulag"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp)
-"tB" = (/obj/structure/closet/crate,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/explored)
-"tC" = (/obj/item/stack/sheet/metal{amount = 5},/obj/structure/closet/crate,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/explored)
+"tB" = (/obj/structure/closet/crate,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/dangerous/explored)
+"tC" = (/obj/item/stack/sheet/metal{amount = 5},/obj/structure/closet/crate,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/dangerous/explored)
"tD" = (/turf/simulated/wall/r_wall,/area/mine/laborcamp/security)
"tE" = (/turf/simulated/floor/plasteel{icon_state = "floorgrime"; temperature = 273.15},/area/mine/laborcamp/security)
"tF" = (/obj/machinery/camera{c_tag = "Labor Camp Security Hallway"; dir = 8; network = list("Labor"); pixel_x = 0; pixel_y = 0},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp/security)
@@ -1037,7 +1037,7 @@
"tW" = (/obj/machinery/door/airlock/maintenance{name = "Labor Camp Maintenance"; req_access_txt = "2"},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"tX" = (/obj/structure/plasticflaps/mining,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"tY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/wall,/area/mine/laborcamp/security)
-"tZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/explored)
+"tZ" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/dangerous/explored)
"ua" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
"ub" = (/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
"uc" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
@@ -1051,9 +1051,9 @@
"uk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"ul" = (/obj/structure/plasticflaps/mining,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/wall,/area/mine/laborcamp/security)
"um" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=4-Maint"; location = "3-SMine"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/laborcamp)
-"un" = (/obj/structure/closet/crate,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/explored)
-"uo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/closet/crate,/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/explored)
-"up" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
+"un" = (/obj/structure/closet/crate,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"; temperature = 273.15},/area/mine/dangerous/explored)
+"uo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/closet/crate,/turf/simulated/floor/plating/airless/asteroid{temperature = 273.15},/area/mine/dangerous/explored)
+"up" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
"uq" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/mine/laborcamp/security)
"ur" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
"us" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
@@ -1075,43 +1075,43 @@
"uI" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"uJ" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"uK" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable,/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
-"uL" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored)
+"uL" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/dangerous/explored)
"uM" = (/turf/simulated/floor/plating/airless,/area/space)
-"uN" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
-"uO" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
-"uP" = (/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"uQ" = (/obj/item/clothing/under/soviet,/obj/item/clothing/head/ushanka,/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"uR" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"uS" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored)
-"uT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
+"uN" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
+"uO" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
+"uP" = (/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/dangerous/explored)
+"uQ" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/dangerous/explored)
+"uR" = (/obj/item/clothing/under/soviet,/obj/item/clothing/head/ushanka,/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/dangerous/explored)
+"uS" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/dangerous/explored)
+"uT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/dangerous/explored)
"uU" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "54"},/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/west_outpost)
-"uV" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
-"uW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/explored)
+"uV" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/dangerous/explored)
+"uW" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/dangerous/explored)
"uX" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/space,/area/mine/west_outpost)
-"uY" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/mine/explored)
+"uY" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/mine/dangerous/explored)
"uZ" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/space,/area/mine/west_outpost)
-"va" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
+"va" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/dangerous/explored)
"vb" = (/turf/simulated/wall/r_wall,/area/mine/maintenance)
-"vc" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/explored)
-"vd" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/explored)
-"ve" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/explored)
+"vc" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/dangerous/explored)
+"vd" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/dangerous/explored)
+"ve" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/dangerous/explored)
"vf" = (/turf/simulated/floor/bluegrid,/area/mine/maintenance)
"vg" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Mining Communications APC"; pixel_x = 1; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/mine/maintenance)
"vh" = (/obj/machinery/telecomms/relay/preset/mining,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 1},/area/mine/maintenance)
"vi" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/mine/maintenance)
-"vj" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
-"vk" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored)
-"vl" = (/obj/structure/lattice,/turf/space,/area/mine/explored)
+"vj" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/dangerous/explored)
+"vk" = (/obj/structure/lattice,/turf/space,/area/mine/dangerous/explored)
+"vl" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/dangerous/explored)
"vm" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
"vn" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/mine/maintenance)
"vo" = (/obj/machinery/light_switch{pixel_y = -25},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9; pixel_y = 0},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
"vp" = (/obj/machinery/camera{c_tag = "Communications Relay"; dir = 8; network = list("MINE")},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
-"vq" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
-"vr" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
+"vq" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
+"vr" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
"vs" = (/turf/simulated/wall,/area/mine/living_quarters)
"vt" = (/obj/machinery/door/airlock/maintenance{name = "Mining Station Communications"; req_access_txt = "48"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "vault"},/area/mine/maintenance)
-"vu" = (/obj/item/clothing/under/rank/miner,/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
-"vv" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/explored)
+"vu" = (/obj/item/clothing/under/rank/miner,/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
+"vv" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/dangerous/explored)
"vw" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/mine/living_quarters)
"vx" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"vy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/mine/living_quarters)
@@ -1119,9 +1119,9 @@
"vA" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/mine/living_quarters)
"vB" = (/turf/simulated/floor/carpet,/area/mine/living_quarters)
"vC" = (/obj/machinery/door/airlock{id_tag = "miningdorm1"; name = "Room 1"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "carpet"},/area/mine/living_quarters)
-"vD" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/explored)
+"vD" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/dangerous/explored)
"vE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/mine/living_quarters)
-"vF" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral/random,/area/mine/unexplored)
+"vF" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral/random,/area/mine/dangerous/unexplored)
"vG" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"vH" = (/obj/effect/spawner/window/reinforced{useFull = 1; tag = "fullReinWin"},/turf/simulated/floor/plating,/area/mine/living_quarters)
"vI" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"},/area/mine/west_outpost)
@@ -1168,7 +1168,7 @@
"wx" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/mine/west_outpost)
"wy" = (/obj/machinery/door/airlock/external{name = "Mining West Outpost Airlock"; req_access_txt = "54"},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"wz" = (/obj/machinery/door/airlock/external{name = "Mining West Outpost Airlock"; req_access_txt = "54"},/turf/simulated/floor/plating/airless{icon_state = "asteroidfloor"},/area/mine/west_outpost)
-"wA" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
+"wA" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/dangerous/explored)
"wB" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
"wC" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
"wD" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
@@ -1179,7 +1179,7 @@
"wI" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/table,/obj/item/weapon/pickaxe,/turf/simulated/floor/plasteel,/area/mine/eva)
"wJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/turf/simulated/floor/plasteel,/area/mine/eva)
"wK" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/turf/simulated/floor/plasteel,/area/mine/eva)
-"wL" = (/obj/machinery/light,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"wL" = (/obj/machinery/light,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"wM" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel,/obj/item/clothing/glasses/meson,/obj/machinery/light/small{dir = 8},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = -28},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"wN" = (/obj/machinery/door/airlock/glass_mining{name = "Break Room"; req_access_txt = "54"},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"wO" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/mine/west_outpost)
@@ -1386,12 +1386,14 @@
"AH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/turf/simulated/floor/plasteel,/area/mine/production)
"AI" = (/obj/machinery/camera{c_tag = "Processing Area Room"; dir = 8; network = list("MINE")},/obj/item/device/radio/intercom{dir = 8; name = "Station Intercom (General)"; pixel_x = 28},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/mine/production)
"AJ" = (/obj/machinery/mineral/unloading_machine{dir = 1; icon_state = "unloader-corner"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/mine/production)
+"AK" = (/obj/effect/decal/remains/human{desc = "Seems to be all that remains of a poor miner that didn't heed the warning signs."},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"AL" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/mine/dangerous/explored)
"AM" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/mine/production)
"AN" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 8},/area/mine/production)
"AO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/mine/production)
"AP" = (/obj/machinery/conveyor_switch/oneway{id = "mining_internal"; name = "mining conveyor"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/mine/production)
"AQ" = (/obj/machinery/conveyor{dir = 2; id = "mining_internal"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/mine/production)
-"AR" = (/obj/effect/decal/remains/human{desc = "Seems to be all that remains of a poor miner that didn't heed the warning signs."},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"AR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/dangerous/explored)
"AS" = (/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/mine/production)
"AT" = (/turf/simulated/floor/plasteel{icon_state = "warningcorner"; dir = 1},/area/mine/production)
"AU" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/mine/production)
@@ -1416,8 +1418,7 @@
"Bn" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/window/northleft{name = "Output Access"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/production)
"Bo" = (/obj/machinery/door/window/northleft{base_state = "right"; icon_state = "right"; name = "Output Access"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/production)
"Bp" = (/obj/machinery/mineral/stacking_unit_console,/turf/simulated/wall/r_wall,/area/mine/production)
-"Bq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/explored)
-"Br" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/mine/explored)
+"Bq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/dangerous/explored)
"Bs" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/turf/space,/area/space)
"Bt" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/space,/area/space)
"Bu" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/obj/structure/disposalpipe/trunk,/obj/machinery/door/window/northleft{name = "Pneumatic Tube Access"},/obj/machinery/disposal/deliveryChute{dir = 1; pixel_y = -1},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/mine/production)
@@ -1428,7 +1429,6 @@
"Bz" = (/obj/machinery/mineral/stacking_machine{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 9},/area/mine/production)
"BA" = (/obj/machinery/conveyor{dir = 8; id = "mining_internal"},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/mine/production)
"BB" = (/obj/machinery/conveyor{icon_state = "conveyor0"; dir = 10; id = "mining_internal"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating{tag = "icon-warnplatecorner (EAST)"; icon_state = "warnplatecorner"; dir = 4},/area/mine/production)
-"BC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/explored)
"BD" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/wall,/area/mine/production)
"BE" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 1},/area/mine/production)
"BF" = (/obj/docking_port/stationary{dir = 2; dwidth = 2; height = 18; id = "skipjack_z5"; name = "south of asteroid"; width = 19},/turf/space,/area/space)
@@ -1471,9 +1471,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadadadadaaaaaaaaaaaaaaaabIbIbIbIaaaaaVaaaaaaaaaaaaadaQcUcVcUarcWcXarcCcYcZdadbdcdddcdedcdcdcdcdfdgbWdhcPdidjdkcxbXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadbIbIbIbIbIadadadadadadaaaaaaaaaaaaaabIbIbIaaaeaVaaaaaaaaaaaaadaQcUdlcUdmdndoardpdqdrdsdtdudvdwdxdydzdAdcdBdCbWdDdEdFdGbWbYbXaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaabIbIbIaaaeaVaaaeaeaeaeaeadaQcUdlcUaQdHdIaQbPbPdJdKdLdcdMdNdOdPdQdRdcdSdTdUdVdWdXdYbWdZadaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaabIbIbIaaaaaVaaaaaaaaaaaaaabjebdlcUecedeeefegeheiejekdcelemeneoepeqereseteueueuevewexeyezezeAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaabIbIbIaaaaaVaaaaaaaaaaaaaabjebdlcUecedeeefegeheiejekdcelemeneoepeqereseteueueuevewexezeyeyeAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadbIaaaaaaaabIaaaaaVaaaaaaaaaaaaaaaneBeCeDeEeFeGeHeIeJeKeLeMeNeOePeQeReSeTeUeVeWeueXeYeZfaeufbadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadbIbIaaaaaaaaaaaaaVaaaaaaaaaaaaaaanfccUfdfefffgfhfifjaQfkflfmfnfofpfqfrfsdcftfufvfwfwfxfyfzfAfBadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadbIbIaaaaaaaaaaaaaVaaaaaaaaaaaaaaanfccUfdfefffgfhfifjaQfkflfmfnfofpfqfrfsdcftfufvfwfwfxfyfzfBfAadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIaaaaaaaaaaaaaVaaaaaaaaaaaaaaanfccUfdfefDfEfhfFfGaQfHfIdcfJdcdcdcdcfKdcfLfMeufNfOfPfQfRdZfSacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIaaaaaaaaaaaaaVaaaaaaeaaaaaaabjfTcUfUfefVfWfhfXfYaQfZgagbgcgdgegfdcggghgigjgkglgmgngofRdZadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIaaaaaaaaaaaagpgqgqgqgrgqgqgqgsgtgubjgvgwaQaQaQaQaQgxgygzgcgAgegBdcgCgDgEgFgGgHgIgJgKgLgMgNaQgObKaBaBaBaBaBaBaCgPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -1483,161 +1483,161 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIadadadadaaaaaaaagqjcgUjdjejfjgjhjijjjkjljmjnhdjojpjqjrjrjrjrjsjtjujvjtjwjxjyjwjzjAjBjzjzjCjDjEjFhzjGjHhzjIjajajJhzbHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadjKjLaaaaaajMjNgqgqjOjOjOjOjPjQjRbjjSjShdjTjrjUjrjVjWjXjYjtjZkakbjwkckdkejzkfkgkhjzkikjjEkkklhzhzhzkmknkoiohzbHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakpkqkpaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadkrksaBaBahaBbLbMaeaektkukvkwkxkykzkAkBkCkDkEkFkGkHkIkJkKkLjtkMkNkOjwkPkQkRjzkSkTkUjzkVkWkXkYkZlalbhzhzhzhzhzlcbraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaldleldaeaaaaadadadadadbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlglhliljadaaaaaaaaaaaaaektlklllmlnlolplqjSlrlshdjrjUjrltjrlulvjtlwlxlyjwlzlAlBjzlClDlEjzlFlGlHlIlJlJlKkllLagaBaBlMlNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalOlPlQlRaeaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlglSlTlglgaaaaaaaaaaaaaektlUlVlWlXlWlYlZjSjSjShdmambmcmdjrmemfjtmgmhmijwmjmkmljzmmmnmojzmpmqklmrmsmtmskllSmumvaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalemwleldaeaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacmxmymxlgaaaaaaaaaaaaaaaektmzlZlZmAmBmClZmDjSmEmEmFmFmFmFjrmGkKjtmHmImJjwmKmLmMjzmNmOmPjzmQmRmSklklklklmTmUlgmvmvmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalemVmWmXaeaeadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacmYmZnaaaaaaaaaaaaaaaaeaektnbnbncmAndlZlZnejSmEmEnfnfnfnfjrngnhjtninjnkjwnlnmnnjznonpnqjznrnsmSlgmvlgntlinulgmvmvmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanvlenwadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIacacacacacnxnynzaaaaaaaaaaaaaeaeaektktnAnAktktmAnBmAktnfnfnfnfnfnfjrjrjrjtjtjtjtjwjwjwjwjzjzjzjzjzmSmSnCksnDnDnEmulglgmvmvmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaenFnGlenwadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacnHnInJaaaaaaaaaaaenKnLnMnNnOnPnQnRktlZlZnSktnfnfnfnfnfnfnTnUnVlglglglglglglglglglglglglglgnWnXmunYlglglglglgmvmvmvmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaenZoaobocnwadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacodoeofogogogogogogohoiodojojokolomktononooktnfnfnfnfnfnfnxnIoplglgmvmvmvmvmvmvlglglglglgnWnXmuoqnfoqlglglglgmvmvmvmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeorosotnwouovnwnwnwnwbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacnfowoxoxoxoxoxoxoxoxownfnfnfnfnfnfktmAoymAktnfnfnfnfnfnfozoAoBnDnDnDnDoCnDnDnDnDnDoDnNoEoFmunfnfnfoqmxlgmvmvmvmvmvmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoGoHleoIoJoKkpoLocnwouounwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacbIododoMoMoMoMoMoMoMoMododnfnfnfnfnfnfoNoOoPoQnfnfnflglglgnVnVnVlglgmvmvmvmvmvmvmvmvoRoSojoTnfoqnfnfoqlglglgmvmvmvmvmvmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenGoUoHmWoVoWoWoXocouoYoZounwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacbIaaaaaaaaaaaaaapapapapapapapanfnfnfnfnfnfnfnflglglglglglglglglglglgmvmvmvmvmvmvmvmxoqnfpbnfoqnfnfnflglglglglgmvmvmvmvmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapcnGoUnGlelepdoVoVnwoupenwoupfnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIacacacacacacbIbIaaaaaaaaaaaaaapapapapgpgpgpglglglglglglglglglglglglglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmxmvnfnYmvlgmvmvlglglglgmvmvmvmvaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaephpilepjpklepdpepeplpdounwnwnwnwnwnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacbIpgpgpgpgpgpgpgpgpgpgpgpgaaaapmpmpmpmpmpmpmpmpmpmpnpnpopnpnpnlglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaepppqprlepklemWpsptounwoWpunwpvleoVpwnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacadadpgpgpgpgpgpgpgpgpgpgpgaapmpmpmpmpmaaaaaaaaaeaepnpxpypzpApnlglglglglglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaebIbInwoKpdpBleproVpCpDpEkpoWoVnwpvlelepwnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacaclglgnfnfpapapgpgpgpgpgadadpmpmaaaaaaaaaaaaaeaeaepnpFpGpHpIpnlglglglglglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenwnwnwnwnwnwoJoVpJpdoVpepKpEpEoXlelenwpvmWoupwnwbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacnfnfnfnfnfnfnfnfpapapgpgbIadadaaaaaaaaaaaaaaaepnpnpnpnpnpLpMpnpnpnpnpnpnpnpnpnnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenwpNpOpPpQnwpppRpqnwplnwpSpSpSnwoVleleleleoZptnwbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacnfnfnfnfnfnfnfnfnfnfpapaadadadadaaaaaaaaaaaaaaaepnpTpUpVpWpXpYpZqaqaqaqbqcqdqepnnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwpNqfqgqfqhouqioZouoYptoLqjouptoLpdnwlepeouounwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadnfnfnfnfnfnfnfnfnfnfnfnflglgadadadadaaaaaaaaaaaaaepnqkqaqlpWqmqnqopnpnqpqqqrqrqspnnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadnwpNqfqtqtqhpeououoLocouououoZououounwouptoYounwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlglgnfnfnfnfnfnfnfnfnfnfnfqulglglglglgaaaaaaaaaaaaaepnqvqwqxqyqxqzqAqBqCqDqEqFqGnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadnwpNqHqtqInwqJqKpSpSqKpeqKpSpSpSouounwqLoZoupenwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgqunfnfnfnfnfnfnfnfnfnfnfnflglglglgaaaaaaaaaaaaaaaepnqMqaqNpWqaqOqAqPqQqDnfnfnfnfnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadnwnwnwnwnwnwqRqKououououoZouqSpSoYptnwqTqUqVqWnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgqunfnfnfnfnfnfnfnfnfnfnfnflglglgaaaaaaaaaaaaaaaeaepnqXqaqYpWqZqaqAqPqQqDnfnfnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbInwqJqKouperarbocptoupSouounwlercrcrdnwacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglgnfnfnfnfnfnfnfnfnfnfnfnflglglgaaaaaaaaaaaaaeaeaepnpnpWpWpnpnpWrepWqQqDnfnfnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbInwqJqKouptououqSoupeqKqJnwnwpvlercrgrhacacbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglgnfnfnfnfnfnfnfnfnfnfnfnfododrirjrjrjrjrjrjrkododnfnfrlrmrnpnroqarpqQqDnfnfnfnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrqrqrqrqrqrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbInwrrqKqKqKqKqKqKqKqKqKqJnwpvlerslerdrtacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlgnfnfnfnfnfnfnfnfnfnfnfnfnfnfrurvrvrvrvrvrvrvrvrunfnfnfrwrwrwpnrxryrzqQqDnfnfnfnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrqrqrqrqrqrArArArBrqrfrfrfrCrCrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbInwrrqJqJqJrDrEqJqJqJrrrrnwpvrsrsrspwnwacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlgnfnfnfnfnfnfnfnfnfnfnfnfnfododrFoMoMoMoMoMoMoMododnfnfnfnfnfpnpWrGpWqQrHnfnfnfnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrIrJrKrLrMrNrOrOrOrqmxmxmxmxrPrCrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadbIbIbIbIbIbIbIbIbInwnwnwnwnwnwnwnwnwnwnwnwnwnwqWrQrRnwnwacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlgnfnfnfnfnfnfnfnfnfnfnfnfnflgaaaaaaaaaaaaaaaalglglgnfnfnfnfnfnfrSrTrUrVrWrXnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrYrZsasbrMscrOsdsesfsgshshmxrPsirCrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacnwrcrcrsnwacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlgnfnfnfnfnfnfnfnfnfnfnfnflgaaaaaaaaaaaaaalglglglglglglglgnfnfnfnfnfrSsjsjrUnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrqrqrMskslsmrMsnsorMrMrqrqrqspnVsqrCrCrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacnwsrsssrnwacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlgnfnfnfnfnfnfnfnfnfnfnfnflgaaaaaaaaaaaaaalglglglglglglglglglgnfnfnfnfststnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqsusvrMswrOrNsxsyrOszrMsAsAsArPshshrCrCrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacnwsBrQsCnwacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglgnfnfnfnfnfnfnfnflglglglgaaaaaaaaaaaaaaaalglglglglglglglglglglgnfnfststnfnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaerqsDsEsFsGsHsIrOswrOrOsJsAsAshshshshsKrCrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacsLsMsNacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIadadadlglglglglgnfnfququlgadadaaaaaaaaaaaaaaaaaalglglglglglglglglglglglgnfststnfnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqsPsQsRsSsHsTrOswsUrOrMsVsWsWshshrPrPrCrCrfrfrfrfrfrfrfrfaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacsXacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglglglglglgadadaaaaaaaaaaaaaaaaaalglglgmvmvmvlglglglglglgnfststnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrMrMrMsYrOsZsHtasmtbtctdtdtetfshrPrPtgrCrfrfrfrfrfrfrfrfaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacsXacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaalglglgmvmvmvlglglglglgnfstthtinfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasOtjsOtltmrOswrOrOtntorMtptqtrshshrPrPtsrCrfrfrfrfrfrfrfrfrfaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacsXacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadaaaaaaaaaaaaaaaaaaaalglglgmvmvmvmvmvlglglgnfthtistnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrqrqrqrOrOswsmttrMturMsAsAsArPrPrPrPtvrMrfrfrfrfrfrfrfrfrfrfaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaalglglglgmvmvmvmvlglglgnfnfststnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqtwrOrOswtxtytztArMtBtCrPrPrPrPsKrCrCrfrfrfrfrfrfrfrfrfrfaeaeadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaalglglgmvmvmvmvlglglgnfnfststnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatDtDtDtEtEtFtGtHtItIrMtItItJrPshrPrPsKrCrfrfrfrfrfrfrfrfrfrfrfaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaalglglglgmvmvmvlglglgnfnfststnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaatKtktEtLtEtEtMtNtOtPtQtRtStTsAsArPrPrPrCrCrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaalglglglgmvmvmvmvlglglgnfststnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatDtItItItUtGtItItVtWtXtYtItZsArPrPrCrCrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaalglglglgmvmvmvmvlglglgnfststnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatDuaubucudueufuguhuiujukulumunuorCrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaalglglglgmvmvmvmvlglglgnfstthuptinfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeuqurubusubuttIuuuvuvuwuxtIrCrCrCrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaalglglgmvmvmvmvlglglgnfthuptistnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauyuzuAuBuCuDtIuEuFuGuHuxtIrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaalglglgmvmvmvmvlglglgnfnfnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauIuJuKtDtDtDtItItItItItItIrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaalglglgmvmvmvmvlglglgnfuLrWrWrXnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarCrCrCrCrCrCrCrCrCrCrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaeaeadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaalglglglgmvmvmvlglglgnfrSsjsjrUnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaalglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaalglglglgmvmvmvlglglgnfnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaalglglglgmvmvmvlglglgnfnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaalglglglglgmvlglglgnfnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaalglglglgmvmvlglglgnfststnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaalglgmvmvlglglgnfststnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaalgmvmvlglglgnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaalgmvmvlglglgnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaalgmvmvlglglgnfstthtinflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaalgmvmvlglglgnfthtistnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaeaeaeaeaeaeaeaelglgmvmvlglglgnfnfststnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadaduMuMuMuMuMuMuMuMlglgmvmvlglglgnfnfststnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaeaeaeaeaeaeaeaelglgmvmvlglglgnfnfststnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaalglgmvmvlglglgnfuLrWrWrXnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaalglgmvmvlglglgnfrSsjsjrUnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaarfrfrfaaaaaaaaaaaaaaaaaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadaaaaaaaaaaaaaaaaaalglglgmvmvlglglgnfnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaarfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaalglglgmvmvlglglgnfnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaarfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmvmvlglglgnfuNuOstnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaarfrfrfrfrfrfaeaeaeaeaeaeaeaeaeadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglgmvmvlglglgnfstuNuOnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaarfrfrfrfrfuMuMuMuMuMuMuMuMuMadadadadbIbIbIfCbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmvlglglgnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfaeaeaeaeaeaeaeaeaeadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglgnfnfststnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgnfuNuOstnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgnfstuNuOnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfuPrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaarfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfuQuRrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalgnfnfnfststnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfststnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfststnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfststnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfststnfnfnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfststnfnfnflglglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaarfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfststnfnfnfnflglglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaarfrfaaaaaaaaaaaaaaaaaaaaaaaaaaadadadaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfststnfnfnfnfnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaarfrfrfrfrfaeaeaeaeaeaeaeaeaeaeaeadadadadadaaadadadbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfststnfuLrXnfnfnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaarfrfrfrfrfuMuMuMuMuMuMuMuMuMuMuMadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfstthupuSuTupupuptinfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfadadadadadadadadadadadadadadadadadadadadadadadadadadadaeaeaeaeaeaeaeaeaeaeaeadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfthupupuSuTupuptistnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglgnfnfnfnfnfrSrUnfnfstthuptinfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglgnfnfnfnfnfthuptistnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIfCbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglglgnfnfnfststnfnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglglglgnfstthupuptinfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglglgnfthupuptistnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglgnfnfnfnfstthupuptinfnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIaaaaaaaaaaaaaalglglglglglglglglglglgnfthupuptistnfnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbIbIbIbIacacaaaalglglglglglglglglglglgnfnfnfnfststnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbIbIbIacacacaaaaaalglglgmvmvmvlglglglglglglgnfstthuptinfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbIbIbIacacaaaaaaaalglglgmvmvmvmvlglglglglglgnfthuptistnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbIbIbIacacaaaaaaaalglglgmvmvmvmvlglglglglglgnfnfnfststnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaabIbIbIacacaaaaaaaalglglglglgmvmvmvmvlglglglglgnfnfuLrWrWrXnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglgmvmvmvmvlglglglglgnfnfrSsjsjrUnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglgmvmvmvmvmvmvlglglglgnfnfnfnfststnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaelglglglglglglgmvmvmvmvmvlglglgnfnfnfnfnfnfststnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaduMuMuMuMuMuMuMuMuMuMuMuMuMuMlglglglglglglgmvmvmvmvmvlglglgnfuNupupupupuOstnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaeaeaeaeaeaeaeaeaeaeaeaeaelglglglglglglgmvmvmvmvmvlglglgnfstuNupupupupuOnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglgmvmvmvmvmvlglglgnfststnfnfnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaaaaaaaaaaacacacaaaaaalglglglglglglgmvmvmvmvmvlglglgnfststnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaabIbIacaaaaaaaalglglglglglglgmvmvmvmvlglglgnfststnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaabIbIaaaaaaaaaalglglglglglgmvmvmvmvlglglgnfststnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglglgmvmvlglglglgnfststnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadaaaaadadadbIbIbIbIfCbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaacacaaaaaaaalglglglgmvmvlglglgnfnfststnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaacacbIacacaaaaaaaalglglgmvmvlglglgnfuNuOstnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaacbIbIbIacaaaaaaaalglglgmvmvlglglgnfstuNuOnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaacacbIbIacaaaaaaaalglglgmvmvlglgnfnfststnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaacacacacaaaaaaaalglglgmvmvlglgnfuLrWrWrXnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaalglglgmvmvlglgnfrSsjsjrUnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlglglgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaalglglglglgmvmvlglgnfnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlgnfnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaeaeaeaeaeaeaeaeaeaelglglglglgmvmvlglglgnfststnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnflgadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaduMuMuMuMuMuMuMuMuMlglglglglglgmvmvlglglgnfststnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlglgnfnfnfnflgadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaeaeaeaeaeaeaeaeaeaelglglglglglgmvmvlglglgnfststnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnflglgadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglgmvmvmvmvlglglgnfststnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnfnflgadbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgmvmvlglglglglgnfststnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnfnflgadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgmvmvlglglglglgnfststnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgodnfodnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmvmvlglglglgnfnfststnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlgoduUodnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmvmvlglglglgnfnfststnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadbIbIbIbIbIbIbIlguVuWuXlgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmvmvlglglgnfnfnfststnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlglglglglglglglglglglguVuWuYlgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmvmvlglglgnfnfnfststnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlgnfnfododuZrjrjrjrjrjrjvauWuYlgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvbvbvbvbvbvbvbbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmvmvlglglgnfnfnfststnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnfuUvcvcvcvcvcvcvcvdveuYlgadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvbvfvgvhvivfvbbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgmvmvlglglglgnfnfststnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfododoMoMoMoMoMoMvjuWvkvlpglglglglgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvbvfvmvnvovpvbbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgmvmvlglglglgnfnfststnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlgnfnfnflgpgpgpgpgpgpguVuWuYpgpgpgnfnfnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvqvqvrbIvsvbvbvbvtvbvbvbbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglglgmvmvlglglglgnfnfststnflglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnflgpgpgpgpgpgpgpguVuWuYpgnfnfnfnfnflglgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvuvrvvbIvsvwvxvsvyvslglgadbIadadadaaaaaaaaaaaaaaaaaaaaaalglglglglglgmvmvlglglglglgnfststnfnflglglglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIadadlgnflgpgpgpgpgpgpgpgvzuWuYnfnfnfnfnfnfnflgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvqmxbIvsvAvBvCvyvsnflglgadadadadaaaaaaaaaaaaaaaaaaaalglglglglglglgmvmvlglglglglgnfststnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglglglglgpgpgpgpgoduUodnfnfnfnfnfnfnflglgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvDbIbIvsvsvsvsvEvsnfnflglglglglgaaaaaaaaaaaaaaaaaaaaaalglglglglglgmvmvlglglglglgnfststnfnfnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadlgpgnfnfodnfodnfnfnfnfnfnfnfnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvFbIbIvsvwvGvsvyvHnfnfnfnfnfnflglgaaaaaaaaaaaaaaaaaaaalglglglglglglglglglglglglgnfststnfnfnfnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadlgnfnfnfnfnfnfnfnfvIvIvInfnfnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvFbIbIvsvAvBvJvyvHnfnfnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaapalglglglglglglglglglglgnfnfststnfnfnfnfnfnfnfnfnflglglglgmvmvmvmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglglglglglgnfnfnfnfnfnfnfnfvKvLvMnfnfnflgadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglglglglglglgadadadadadadadbIbIbIbIbIbIbIbIbIbIvsvsvNvsvsvsvsvsvsvyvHnfnfnfnfnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaalglglglglglglgnfnfnfnfuLrWrWrXnfnfnfnfnfnfnfnfnflglglglglgmvmvmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIadlglgnfnfvOvOvOvOvOvOvPvPvPvPvOvOvOvOvQnfnflgadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadlglgnfnfnfnfnflglglglglgadadadadadadadbIbIbIbIvsvsvsvRvSvTvUvsvwvVvsvEvsvsvsvHvHvHvsnfnfnfnfnfnfaaaaaaaaaaaaaaaaaalglglglglgnfnfnfnfnfrSsjsjrUnfnfnfnfnfnfnfnfnflglglglglgmvmvmvmvmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadbIbIbIbIbIbIbIadadlgnfnfnfvOvWvXvYvPvZwawbwcwdvPwewfwgrXnfnflglglglgadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglgnfnfnfnfnfnfnfnfnfnflglglglglgadadadadadbIbIvswhwiwjwkwjwlvsvAvBwmvyvswnwowpwpwpvHnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaalglglgnfnfnfnfnfnfnfstwqwrwswswtwtnfnfnfnfnfnflglglglglgmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIadadlgnfnfnfvOwuwewvvPwwwwwwwwwxwywewfwzwAnfnfnfnfnflglglgadadadadadadadbIbIbIbIbIbIbIbIbIbIbIadadadlglglgnfnfnfnfnfnfnfnfnfnfnfnfnfnfnflglgadadadadadbIvswBwjwCwDwEwFvsvsvsvsvyvswnwGwGwGwHvHnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfuNupuOwtwIwJwKwKwtnfwLnfnfnfnflglglglglgmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadaaadadadadadadadadbIbIbIadadlgnfnfnfvOwMwewewNwewewewewOvPwPwQvPrUnfnfnfnfnfnfnflglglglgadadadadadbIbIbIbIbIbIbIbIadadadadlglgnfnfnfnfnfnfnfnfnfnfuLrXnfnfnfnfnfnflglglglgadadbIvswRwjwSwjwTwjwUwHwVwWwXvswGwGwYwGwZvHnfnfnfnfnfnfaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfxaxbxcxcwtxdxexfxgwtwtwtwtnfnfnfnflglglglgmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadlglgnfnfvOxhwexixjxkxlxmwexnvOvOvOvOvOuLrXnfnfnfnfnfnfnfnflglglgadadadbIbIbIbIbIbIbIbIadadadlglgnfnfuNupupupupupupupupuSuTupupupuptinfnfnfnflglgadadvsvsvsvsvsvsvsvHxoxpvHxovsvsvsvsvsxqvsvsvHvHnfnfaaaaaaaaaaaaaaaaaaaaaaaeaaaaaanfnfxcxcxrxsxtxuxvxwxxxywsxzxAwsrXnfnfnfqulglglglglgmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadlgnfnfvOxBwexCvPxDxExFwexGxHxIxJxKxLuSuTupupupupuptinfnfnfnflglglgadadbIbIbIbIbIbIadadadlglgnfnfuNuOuNupupupupupupupuSuTupupuptithuptinfnfnflgadadadadadvsxMxNxOwGwZxPwHwZwUxQxRwGwHwZwGwGxSvHvHvHxTxUxUxUxUxUxUxUxVxVxVxVxVxVxVxcxcxcxWxXxYxZyaybxwxxxxycydyeyfwAnfnfnfqulglglglglgmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadlgnfnfvOvOvOvOvOygyhyivOvOyjykykykykuSuTupupupuptithupuptinfnfnflglgadadadbIbIadadadadlglgnfnfuNuOuNuOnfnfnfnfnfnfnfrSrUnfnfnfthuptistnfnfnfnflglglglgadvsvsvsvsylwZymynyowWypyqyqyrysyqyqytyuytyuyvyvyvyvyvyvyvyvywywywywywywywyxyyyxyyyzyAyBwsyCyDyEyFwsyGyHwsrUnfnfnfnflglglglglgmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadlglgnfnfnfnfnfvOyIyJyKyLvOyMyNvInfnfrSrUnfnfnfnfthupuptistnfnfnfnflglglgadadadadadadlglgnfnfuNuOuNuOnfnfnfnflgnfnfnfnfnfnfnfnfnfnfststnfnfnfnfnfnfnflglglglglgvswGyOyPyQyPyPyRySyTyQyPyPyPyUyVyVyVyWyWyWyWyWyWyWyWyXyXyXyXyXyXyYyZyZyZzazbzczdxaxaxbxaxaxaxaxaxazezfzgzfzhqulglglglglgmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadlglgnfnfnfnfvOzizjzkzlvOnfnfnfnfnfnfnfnfnfnfnfnfnfnfstthtinfnfnfnfnflglglglglglglglgnfnfuNuOuNuOnfnflglglglglglglgnfnfnfnfnfnfnfststnfuLrXnfnfnfnfnfnflglgvsvsvHzmvHvsvsznzozpvsvsvHzqvHvsvHnfnfnfaaaaaaaaaeaaaaaaaeaaaaaaaaaaaeaaxcxczrzsztzuzvzwzxzyzzzzzAzBzCzCzCzCzhnflglglglglgmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadlglgnfnfnfvOvOvOvOvOvOnfnflglglglglglglglglgnfnfnfthtithupupuptinfnfnfnfnfnfnfnfnfnfnfstuNuOnfnflglgadadadadadlgnfnfnfnfnfnfnfstthupuSuTupupupuptinfnflgvszDzEzFzGvszHzIzJzKzLvszMzNzOzPnfnfnfnfnfnfaaaaaeaaaaaaaeaeaeaeaeaeaeaeaexazQzRzSxaxaxaxaxaxaxaxaxazTzhzhzhzhnflglglglglgmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadlgnfnfnfnfnfnfnfnfnfnfnflgadadadadadadadlglgnfnfnfthupupuptithtinfuLrXnfnfuNupupupupuOstnfnflglgadadadadadadlglgnfnfnfnfnfnfthupupuSuTupupuptistnfnfnfvszUzVzWzXvszYzZzZAaAbvsAcAdAevsnfnfnfnfnfnfaeaeaeaeaeaeaeaaaaaaaaaaaeaaaexaAgAhAiAjxaAkAlAmAnAoApxanfnfnfnfnflglglglgmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadlgnfnfnfnfnfnfnfnfnflglglgadadadbIbIadadadlglglgnfnfnfnfnfthtithupuSuTupupuOuNupupupupuOnflglgadadadadadadadadlglglgnfnfnfnfnfnfnfrSrUnfnfnfststnfnfnfzPvsvsvsvsvsAqArAsAtAbvsvHAuvHvsnfnfnfnfnfnfaaaaaeaaaaaaaeaaaaaaaaaaaeaaxcxczrAvAiAjxcAwxWxXAxAyAzxanfnfnfnfnflglglglgmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadlglglglgnfnfnfnflglglgadadbIbIbIbIbIbIbIadadadlglglgnfnfnfnfthupupuSuTupupupuOnfnfnfnfnfnflgadadadadadadbIbIadadadlglglglgnfnfnfnfnfnfnfnfnfstthuptinfnfnfnfnfnfzPvsvsvsvsvszPvvvvwAAAnfnfnfnfnfaaaaaaaeaaaaaaaeaaaaaaaaaaABxcACADAEAvAigTxaAGzrAHAIxaAJxanfnfnfnflglglglglgmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadlglglglglglgadadadadbIbIbIbIbIbIbIbIadadadadlglglglgnfnfnfnfrSrUnfnfnfnfnfnflglglglglgadadadadadadbIbIbIadadadadadlglglglglglglglgnfnfthuptithtinfnfnfnfnfnfnfrSrTrTrTrTrTrTrUnfnfnfnfnfnfaeaeaeaeaeaeaeaeaaaaaaaaAfAFzrAFzrAkAMANAxxcxszrAOAPxcAQxanfnfnfnflglglglgmvmvmvmvmvmvmvlglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglgnfnfnfnfnfnfnfnfnflglglgadadadadadadadbIbIbIbIbIbIbIadadadadadadadadadadadlglgnfnfnfthtithtiARnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfaaaaaaaaaaaaaeaaaaaaaaaaxcxcxcASATAUAVAWAXAYAZBaBbBcBdxanfnfnfnflglglglgmvmvmvmvmvmvmvlglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadlglglgnfnfnflglglglglgadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadlgnfnfnfnfthtithupupupupupupupupupupupupupupuptinfnfnfnfnfnfaaaaaaaaaaaeaaaaaaaaaaaeaaxcxczrAvBeBfBgBhBiBiBjxcAQxanfnfnfnflglglglgmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlglglglglgadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadlglglgnfnfnfthupupupupupupupupupupupupupupuptistnfuLrXnfnfnfnVnVaeaaaaaeaaaaaaaaaaaeaaBkzxBlBmBiBjxcBnBoBpxcxcAQxanfnfnfnflglglglgmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadlglglgnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfstthupuSuTupupupBqBrBsBsBsBsBsBsBsBsBsBsBsBtxaBuBvxsAGxaBwBxByBzBABBxanfnflglglglgmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlglglgnfnfnfnfnfnfnflglgnfnfnfnfnfnfthupupuSuTupupupBCBrBsBsBsBsBsBsBsBsBsBsBsBszxBDxaxcxcxaBExaxaxaxaxaxanfnflglglglgmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglglglglglglglglglglgnfnfnfnfnfnfnfnfrSrUnfnfnfnVnVaeaaaaaaaaaaaaaaaaaaaaaeaenfnfnfnfxaxaxanfnfnfnfnfnfnflglglglgmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadlgnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfnfnfnfnfnflglglgmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadlgnfnfnfnfnfnfnfnfnfnfnfnflglglglgaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfnfnfnflglglglgmvmvmvmvmvmvlglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadlglgnfnfnfnfnfnfnfnfnflgadadadadlgaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfnfnfnflglglglgmvmvmvmvmvlglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadlglglglglglglglglglglgadadadadadlgaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfnfnflglglgmvmvmvmvmvmvmvlglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnflglglglglglgmvmvmvmvmvmvlglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadadbIbIadadadadaaaaaaaaaaaaaaaaaaaaaanfnflglglglglglglglglglgmvmvmvmvmvmvmvlglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaalglglglglglglglgmvmvmvmvmvmvmvmvlglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglglglgmvmvmvmvmvmvmvmvmvlglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglgmvmvmvmvmvmvmvlglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglgmvmvmvmvlglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaldleldaeaaaaadadadadadbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlglilhljadaaaaaaaaaaaaaektlklllmlnlolplqjSlrlshdjrjUjrltjrlulvjtlwlxlyjwlzlAlBjzlClDlEjzlFlGlHlIlJlJlKkllLagaBaBlMlNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalOlPlQlRaeaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlglTlSlglgaaaaaaaaaaaaaektlUlVlWlXlWlYlZjSjSjShdmamcmbmdjrmemfjtmgmhmijwmjmkmljzmmmnmojzmpmqklmrmsmtmskllTmvmuaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalemwleldaeaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacmxmymxlgaaaaaaaaaaaaaaaektmzlZlZmAmBmClZmDjSmEmEmFmFmFmFjrmGkKjtmHmImJjwmKmLmMjzmNmOmPjzmQmRmSklklklklmTmUlgmumumuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalemVmWmXaeaeadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacmYnamZaaaaaaaaaaaaaaaeaektnbnbncmAndlZlZnejSmEmEnfnfnfnfjrngnhjtninjnkjwnlnmnnjznonpnqjznrnsmSlgmulgntlhnulgmumumuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanvlenwadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIacacacacacnxnynzaaaaaaaaaaaaaeaeaektktnAnAktktmAnBmAktnfnfnfnfnfnfjrjrjrjtjtjtjtjwjwjwjwjzjzjzjzjzmSmSnCksnDnDnEmvlglgmumumuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaenFnGlenwadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacnHnJnIaaaaaaaaaaaenLnKnNnMnOnPnQnRktlZlZnSktnfnfnfnfnfnfnTnVnUlglglglglglglglglglglglglglgnXnWmvnYlglglglglgmumumumuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaenZoaobocnwadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacodofoeogogogogogogoiohodojojokolomktononooktnfnfnfnfnfnfnxnJoplglgmumumumumumulglglglglgnXnWmvoqnfoqlglglglgmumumumuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeorosotnwouovnwnwnwnwbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacnfoxowowowowowowowowoxnfnfnfnfnfnfktmAoymAktnfnfnfnfnfnfozoBoAnDnDnDnDoCnDnDnDnDnDoDnMoFoEmvnfnfnfoqmxlgmumumumumumuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeoGoHleoIoJoKkpoLocnwouounwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacbIododoMoMoMoMoMoMoMoMododnfnfnfnfnfnfoNoPoOoQnfnfnflglglgnUnUnUlglgmumumumumumumumuoSoRojoTnfoqnfnfoqlglglgmumumumumumuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenGoUoHmWoVoWoWoXocouoYoZounwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacbIaaaaaaaaaaaaaapapapapapapapanfnfnfnfnfnfnfnflglglglglglglglglglglgmumumumumumumumxoqnfpbnfoqnfnfnflglglglglgmumumumumuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaapcnGoUnGlelepdoVoVnwoupenwoupfnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIacacacacacacbIbIaaaaaaaaaaaaaapapapapgpgpgpglglglglglglglglglglglglglglglglglgmumumumumumumumumumumumumxmunfnYmulgmumulglglglgmumumumuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaephpilepjpklepdpepeplpdounwnwnwnwnwnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacbIpgpgpgpgpgpgpgpgpgpgpgpgaaaapmpmpmpmpmpmpmpmpmpmpnpnpopnpnpnlglglglglgmumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaepppqprlepklemWpsptounwoWpunwpvleoVpwnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacadadpgpgpgpgpgpgpgpgpgpgpgaapmpmpmpmpmaaaaaaaaaeaepnpxpypzpApnlglglglglglglglglglgmumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaebIbInwoKpdpBleproVpCpDpEkpoWoVnwpvlelepwnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacaclglgnfnfpapapgpgpgpgpgadadpmpmaaaaaaaaaaaaaeaeaepnpFpGpHpIpnlglglglglglglglglglgmumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenwnwnwnwnwnwoJoVpJpdoVpepKpEpEoXlelenwpvmWoupwnwbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacnfnfnfnfnfnfnfnfpapapgpgbIadadaaaaaaaaaaaaaaaepnpnpnpnpnpLpMpnpnpnpnpnpnpnpnpnnflglglglgmumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaenwpNpOpPpQnwpppRpqnwplnwpSpSpSnwoVleleleleoZptnwbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacnfnfnfnfnfnfnfnfnfnfpapaadadadadaaaaaaaaaaaaaaaepnpTpUpVpWpXpYpZqaqaqaqbqcqdqepnnfnflglglglglgmumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnwpNqfqgqfqhouqioZouoYptoLqjouptoLpdnwlepeouounwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadnfnfnfnfnfnfnfnfnfnfnfnflglgadadadadaaaaaaaaaaaaaepnqkqaqlpWqmqnqopnpnqpqqqrqrqspnnfnflglglglglgmumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadnwpNqfqtqtqhpeououoLocouououoZououounwouptoYounwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlglgnfnfnfnfnfnfnfnfnfnfnfqulglglglglgaaaaaaaaaaaaaepnqvqwqxqyqxqzqAqBqCqDqEqFqGnfnfnflglglglglgmumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadnwpNqHqtqInwqJqKpSpSqKpeqKpSpSpSouounwqLoZoupenwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgqunfnfnfnfnfnfnfnfnfnfnfnflglglglgaaaaaaaaaaaaaaaepnqMqaqNpWqaqOqAqPqQqDnfnfnfnfnflglglglglglgmumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadnwnwnwnwnwnwqRqKououououoZouqSpSoYptnwqTqUqVqWnwbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgqunfnfnfnfnfnfnfnfnfnfnfnflglglgaaaaaaaaaaaaaaaeaepnqXqaqYpWqZqaqAqPqQqDnfnfnfnfnfnflglglglglgmumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbInwqJqKouperarbocptoupSouounwlercrcrdnwacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglgnfnfnfnfnfnfnfnfnfnfnfnflglglgaaaaaaaaaaaaaeaeaepnpnpWpWpnpnpWrepWqQqDnfnfnfnfnfnflglglglglgmumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbInwqJqKouptououqSoupeqKqJnwnwpvlercrgrhacacbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglgnfnfnfnfnfnfnfnfnfnfnfnfododrirjrjrjrjrjrjrkododnfnfrlrmrnpnroqarpqQqDnfnfnfnfnfnfnflglglglgmumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrqrqrqrqrqrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbInwrrqKqKqKqKqKqKqKqKqKqJnwpvlerslerdrtacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlgnfnfnfnfnfnfnfnfnfnfnfnfnfnfrurvrvrvrvrvrvrvrvrunfnfnfrwrwrwpnrxryrzqQqDnfnfnfnfnfnfnflglglglgmumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrqrqrqrqrqrArArArBrqrfrfrfrCrCrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbInwrrqJqJqJrDrEqJqJqJrrrrnwpvrsrsrspwnwacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlgnfnfnfnfnfnfnfnfnfnfnfnfnfododrFoMoMoMoMoMoMoMododnfnfnfnfnfpnpWrGpWqQrHnfnfnfnfnfnfnflglglglgmumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrIrJrKrLrMrNrOrOrOrqmxmxmxmxrPrCrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadbIbIbIbIbIbIbIbIbInwnwnwnwnwnwnwnwnwnwnwnwnwnwqWrQrRnwnwacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlgnfnfnfnfnfnfnfnfnfnfnfnfnflgaaaaaaaaaaaaaaaalglglgnfnfnfnfnfnfrSrUrTrVrWrXnfnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrYrZsasbrMscrOsdsesfsgshshmxrPsirCrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacnwrcrcrsnwacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlgnfnfnfnfnfnfnfnfnfnfnfnflgaaaaaaaaaaaaaalglglglglglglglgnfnfnfnfnfrSsjsjrTnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrqrqrMskslsmrMsnsorMrMrqrqrqspnUsqrCrCrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacnwsrsssrnwacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlgnfnfnfnfnfnfnfnfnfnfnfnflgaaaaaaaaaaaaaalglglglglglglglglglgnfnfnfnfststnfnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqsusvrMswrOrNsxsyrOszrMsAsAsArPshshrCrCrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacnwsBrQsCnwacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglgnfnfnfnfnfnfnfnflglglglgaaaaaaaaaaaaaaaalglglglglglglglglglglgnfnfststnfnflglglglglglgmumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaerqsDsEsFsGsHsIrOswrOrOsJsAsAshshshshsKrCrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacsLsNsMacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIadadadlglglglglgnfnfququlgadadaaaaaaaaaaaaaaaaaalglglglglglglglglglglglgnfststnfnflglglglglglgmumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqsPsQsRsSsHsTrOswsUrOrMsVsWsWshshrPrPrCrCrfrfrfrfrfrfrfrfaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacsXacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglglglglglgadadaaaaaaaaaaaaaaaaaalglglgmumumulglglglglglgnfststnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrMrMrMsYrOsZsHtasmtbtctdtdtetfshrPrPtgrCrfrfrfrfrfrfrfrfaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacsXacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaalglglgmumumulglglglglgnfstthtinfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasOtjsOtltmrOswrOrOtntorMtptrtqshshrPrPtsrCrfrfrfrfrfrfrfrfrfaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacsXacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadaaaaaaaaaaaaaaaaaaaalglglgmumumumumulglglgnfthtistnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqrqrqrqrOrOswsmttrMturMsAsAsArPrPrPrPtvrMrfrfrfrfrfrfrfrfrfrfaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaalglglglgmumumumulglglgnfnfststnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarqtwrOrOswtxtytztArMtBtCrPrPrPrPsKrCrCrfrfrfrfrfrfrfrfrfrfaeaeadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaalglglgmumumumulglglgnfnfststnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatDtDtDtEtEtFtGtHtItIrMtItItJrPshrPrPsKrCrfrfrfrfrfrfrfrfrfrfrfaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaalglglglgmumumulglglgnfnfststnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaatKtktEtLtEtEtMtNtOtPtQtRtStTsAsArPrPrPrCrCrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIacacacbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaalglglglgmumumumulglglgnfststnfnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatDtItItItUtGtItItVtWtXtYtItZsArPrPrCrCrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaalglglglgmumumumulglglgnfststnfnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatDuaubucudueufuguhuiujukulumunuorCrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaalglglglgmumumumulglglgnfstthuptinfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeuqurubusubuttIuuuvuvuwuxtIrCrCrCrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaalglglgmumumumulglglgnfthuptistnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauyuzuAuBuCuDtIuEuFuGuHuxtIrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaalglglgmumumumulglglgnfnfnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaauIuJuKtDtDtDtItItItItItItIrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaalglglgmumumumulglglgnfuLrWrWrXnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarCrCrCrCrCrCrCrCrCrCrCrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaeaeadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaalglglglgmumumulglglgnfrSsjsjrTnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaalglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaalglglglgmumumulglglgnfnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaalglglglgmumumulglglgnfnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaalglglglglgmulglglgnfnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaalglglglgmumulglglgnfststnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaalglgmumulglglgnfststnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaalgmumulglglgnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaalgmumulglglgnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaalgmumulglglgnfstthtinflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaalgmumulglglgnfthtistnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaeaeaeaeaeaeaeaelglgmumulglglgnfnfststnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadaduMuMuMuMuMuMuMuMlglgmumulglglgnfnfststnflglglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaeaeaeaeaeaeaeaelglgmumulglglgnfnfststnflglglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaalglgmumulglglgnfuLrWrWrXnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaalglgmumulglglgnfrSsjsjrTnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaarfrfrfaaaaaaaaaaaaaaaaaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadaaaaaaaaaaaaaaaaaalglglgmumulglglgnfnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaarfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaalglglgmumulglglgnfnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaarfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmumulglglgnfuNuOstnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaarfrfrfrfrfrfaeaeaeaeaeaeaeaeaeadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglgmumulglglgnfstuNuOnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaarfrfrfrfrfuMuMuMuMuMuMuMuMuMadadadadbIbIbIfCbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmulglglgnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfaeaeaeaeaeaeaeaeaeadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglgnfnfststnflglglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgnfuNuOstnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgnfstuNuOnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfuPrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaarfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfuRuQrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalgnfnfnfststnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfststnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfststnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfststnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfststnfnfnflglglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfststnfnfnflglglglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaarfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfststnfnfnfnflglglglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaaaaaarfrfaaaaaaaaaaaaaaaaaaaaaaaaaaadadadaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfststnfnfnfnfnfnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaarfrfrfrfrfaeaeaeaeaeaeaeaeaeaeaeadadadadadaaadadadbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfststnfuLrXnfnfnfnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfrfaarfrfrfrfrfuMuMuMuMuMuMuMuMuMuMuMadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfstthupuSuTupupuptinfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfrfadadadadadadadadadadadadadadadadadadadadadadadadadadadaeaeaeaeaeaeaeaeaeaeaeadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfthupupuSuTupuptistnfnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfrfrfrfrfrfrfrfadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglgnfnfnfnfnfrSrTnfnfstthuptinfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglgnfnfnfnfnfthuptistnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIfCbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglglgnfnfnfststnfnfnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglglglgnfstthupuptinfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglglgnfthupuptistnfnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglgnfnfnfnfstthupuptinfnflglglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIaaaaaaaaaaaaaalglglglglglglglglglglgnfthupuptistnfnflglglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbIbIbIbIacacaaaalglglglglglglglglglglgnfnfnfnfststnfnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbIbIbIacacacaaaaaalglglgmumumulglglglglglglgnfstthuptinfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbIbIbIacacaaaaaaaalglglgmumumumulglglglglglgnfthuptistnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbIbIbIacacaaaaaaaalglglgmumumumulglglglglglgnfnfnfststnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfrfadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaabIbIbIacacaaaaaaaalglglglglgmumumumulglglglglgnfnfuLrWrWrXnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaarfrfaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglgmumumumulglglglglgnfnfrSsjsjrTnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglgmumumumumumulglglglgnfnfnfnfststnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaeaeaeaeaeaeaeaeaeaeaeaeaeaelglglglglglglgmumumumumulglglgnfnfnfnfnfnfststnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaduMuMuMuMuMuMuMuMuMuMuMuMuMuMlglglglglglglgmumumumumulglglgnfuNupupupupuOstnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaeaeaeaeaeaeaeaeaeaeaeaeaelglglglglglglgmumumumumulglglgnfstuNupupupupuOnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglgmumumumumulglglgnfststnfnfnfnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadaaaaaaaaaaacacacaaaaaalglglglglglglgmumumumumulglglgnfststnfnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaabIbIacaaaaaaaalglglglglglglgmumumumulglglgnfststnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaabIbIaaaaaaaaaalglglglglglgmumumumulglglgnfststnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglglgmumulglglglgnfststnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadaaaaadadadbIbIbIbIfCbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaacacaaaaaaaalglglglgmumulglglgnfnfststnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaacacbIacacaaaaaaaalglglgmumulglglgnfuNuOstnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaacbIbIbIacaaaaaaaalglglgmumulglglgnfstuNuOnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaacacbIbIacaaaaaaaalglglgmumulglgnfnfststnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaacacacacaaaaaaaalglglgmumulglgnfuLrWrWrXnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaalglglgmumulglgnfrSsjsjrTnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlglglgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaalglglglglgmumulglgnfnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlgnfnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaeaeaeaeaeaeaeaeaeaelglglglglgmumulglglgnfststnfnflglglglglgmumumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnflgadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaduMuMuMuMuMuMuMuMuMlglglglglglgmumulglglgnfststnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlglgnfnfnfnflgadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaeaeaeaeaeaeaeaeaeaelglglglglglgmumulglglgnfststnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnflglgadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglgmumumumulglglgnfststnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnfnflgadbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgmumulglglglglgnfststnfnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnfnflgadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgmumulglglglglgnfststnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgodnfodnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmumulglglglgnfnfststnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlgoduUodnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmumulglglglgnfnfststnfnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadbIbIbIbIbIbIbIlguVuWuXlgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmumulglglgnfnfnfststnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlglglglglglglglglglglguVuWuYlgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmumulglglgnfnfnfststnflglglglgmumumumumumumumumumumumumumumumumumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlgnfnfododuZrjrjrjrjrjrjvauWuYlgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvbvbvbvbvbvbvbbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgmumulglglgnfnfnfststnflglglglgmumumumumumumumumumumumumumumumumumumumumumulglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfnfuUvcvcvcvcvcvcvcvdveuYlgadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvbvfvgvhvivfvbbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgmumulglglglgnfnfststnflglglglgmumumumumumumumumumumumumumumumumumumumulglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnfnfododoMoMoMoMoMoMvjuWvlvkpglglglglgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvbvfvmvnvovpvbbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaalglglglgmumulglglglgnfnfststnflglglglgmumumumumumumumumumumumumumumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlgnfnfnflgpgpgpgpgpgpguVuWuYpgpgpgnfnfnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvqvqvrbIvsvbvbvbvtvbvbvbbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglglgmumulglglglgnfnfststnflglglglglglgmumumumumumumumumumumumumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadlgnfnflgpgpgpgpgpgpgpguVuWuYpgnfnfnfnfnflglgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvuvrvvbIvsvwvxvsvyvslglgadbIadadadaaaaaaaaaaaaaaaaaaaaaalglglglglglgmumulglglglglgnfststnfnflglglglglglglgmumumumumumumumumumumumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIadadlgnflgpgpgpgpgpgpgpgvzuWuYnfnfnfnfnfnfnflgadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvqmxbIvsvAvBvCvyvsnflglgadadadadaaaaaaaaaaaaaaaaaaaalglglglglglglgmumulglglglglgnfststnfnfnfnflglglglglgmumumumumumumumumumumumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglglglglgpgpgpgpgoduUodnfnfnfnfnfnfnflglgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvDbIbIvsvsvsvsvEvsnfnflglglglglgaaaaaaaaaaaaaaaaaaaaaalglglglglglgmumulglglglglgnfststnfnfnfnfnfnflglglglgmumumumumumumumumumumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadlgpgnfnfodnfodnfnfnfnfnfnfnfnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIfCbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvFbIbIvsvwvGvsvyvHnfnfnfnfnfnflglgaaaaaaaaaaaaaaaaaaaalglglglglglglglglglglglglgnfststnfnfnfnfnfnfnflglglglglgmumumumumumumumumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadlgnfnfnfnfnfnfnfnfvIvIvInfnfnflgadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIvFbIbIvsvAvBvJvyvHnfnfnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaapalglglglglglglglglglglgnfnfststnfnfnfnfnfnfnfnfnflglglglgmumumumumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIadadlglglglglglgnfnfnfnfnfnfnfnfvKvLvMnfnfnflgadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglglglglglglgadadadadadadadbIbIbIbIbIbIbIbIbIbIvsvsvNvsvsvsvsvsvsvyvHnfnfnfnfnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaalglglglglglglgnfnfnfnfuLrWrWrXnfnfnfnfnfnfnfnfnflglglglglgmumumumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIadlglgnfnfvOvOvOvOvOvOvPvPvPvPvOvOvOvOvQnfnflgadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadlglgnfnfnfnfnflglglglglgadadadadadadadbIbIbIbIvsvsvsvRvSvTvUvsvwvVvsvEvsvsvsvHvHvHvsnfnfnfnfnfnfaaaaaaaaaaaaaaaaaalglglglglgnfnfnfnfnfrSsjsjrTnfnfnfnfnfnfnfnfnflglglglglgmumumumumumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadbIbIbIbIbIbIbIadadlgnfnfnfvOvWvXvYvPvZwawbwcwdvPwewfwgrXnfnflglglglgadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglgnfnfnfnfnfnfnfnfnfnflglglglglgadadadadadbIbIvswhwiwjwkwjwlvsvAvBwmvyvswnwowpwpwpvHnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaalglglgnfnfnfnfnfnfnfstwqwrwswswtwtnfnfnfnfnfnflglglglglgmumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadbIbIbIbIbIbIadadlgnfnfnfvOwuwewvvPwwwwwwwwwxwywewfwzwAnfnfnfnfnflglglgadadadadadadadbIbIbIbIbIbIbIbIbIbIbIadadadlglglgnfnfnfnfnfnfnfnfnfnfnfnfnfnfnflglgadadadadadbIvswBwjwCwDwEwFvsvsvsvsvyvswnwGwGwGwHvHnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfuNupuOwtwIwJwKwKwtnfwLnfnfnfnflglglglglgmumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadaaadadadadadadadadbIbIbIadadlgnfnfnfvOwMwewewNwewewewewOvPwPwQvPrTnfnfnfnfnfnfnflglglglgadadadadadbIbIbIbIbIbIbIbIadadadadlglgnfnfnfnfnfnfnfnfnfnfuLrXnfnfnfnfnfnflglglglgadadbIvswRwjwSwjwTwjwUwHwVwWwXvswGwGwYwGwZvHnfnfnfnfnfnfaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfxaxbxcxcwtxdxexfxgwtwtwtwtnfnfnfnflglglglgmumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadlglgnfnfvOxhwexixjxkxlxmwexnvOvOvOvOvOuLrXnfnfnfnfnfnfnfnflglglgadadadbIbIbIbIbIbIbIbIadadadlglgnfnfuNupupupupupupupupuSuTupupupuptinfnfnfnflglgadadvsvsvsvsvsvsvsvHxoxpvHxovsvsvsvsvsxqvsvsvHvHnfnfaaaaaaaaaaaaaaaaaaaaaaaeaaaaaanfnfxcxcxrxsxtxuxvxwxxxywsxzxAwsrXnfnfnfqulglglglglgmumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadlgnfnfvOxBwexCvPxDxExFwexGxHxIxJxKxLuSuTupupupupuptinfnfnfnflglglgadadbIbIbIbIbIbIadadadlglgnfnfuNuOuNupupupupupupupuSuTupupuptithuptinfnfnflgadadadadadvsxMxNxOwGwZxPwHwZwUxQxRwGwHwZwGwGxSvHvHvHxTxUxUxUxUxUxUxUxVxVxVxVxVxVxVxcxcxcxWxXxYxZyaybxwxxxxycydyeyfwAnfnfnfqulglglglglgmumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadlgnfnfvOvOvOvOvOygyhyivOvOyjykykykykuSuTupupupuptithupuptinfnfnflglgadadadbIbIadadadadlglgnfnfuNuOuNuOnfnfnfnfnfnfnfrSrTnfnfnfthuptistnfnfnfnflglglglgadvsvsvsvsylwZymynyowWypyqyqyrysyqyqytyuytyuyvyvyvyvyvyvyvyvywywywywywywywyxyyyxyyyzyAyBwsyCyDyEyFwsyGyHwsrTnfnfnfnflglglglglgmumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadlglgnfnfnfnfnfvOyIyJyKyLvOyMyNvInfnfrSrTnfnfnfnfthupuptistnfnfnfnflglglgadadadadadadlglgnfnfuNuOuNuOnfnfnfnflgnfnfnfnfnfnfnfnfnfnfststnfnfnfnfnfnfnflglglglglgvswGyOyPyQyPyPyRySyTyQyPyPyPyUyVyVyVyWyWyWyWyWyWyWyWyXyXyXyXyXyXyYyZyZyZzazbzczdxaxaxbxaxaxaxaxaxazezfzgzfzhqulglglglglgmumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadlglgnfnfnfnfvOzizjzkzlvOnfnfnfnfnfnfnfnfnfnfnfnfnfnfstthtinfnfnfnfnflglglglglglglglgnfnfuNuOuNuOnfnflglglglglglglgnfnfnfnfnfnfnfststnfuLrXnfnfnfnfnfnflglgvsvsvHzmvHvsvsznzozpvsvsvHzqvHvsvHnfnfnfaaaaaaaaaeaaaaaaaeaaaaaaaaaaaeaaxcxczrzsztzuzvzwzxzyzzzzzAzBzCzCzCzCzhnflglglglglgmumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadlglgnfnfnfvOvOvOvOvOvOnfnflglglglglglglglglgnfnfnfthtithupupuptinfnfnfnfnfnfnfnfnfnfnfstuNuOnfnflglgadadadadadlgnfnfnfnfnfnfnfstthupuSuTupupupuptinfnflgvszDzEzFzGvszHzIzJzKzLvszMzNzOzPnfnfnfnfnfnfaaaaaeaaaaaaaeaeaeaeaeaeaeaeaexazQzRzSxaxaxaxaxaxaxaxaxazTzhzhzhzhnflglglglglgmumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadlgnfnfnfnfnfnfnfnfnfnfnflgadadadadadadadlglgnfnfnfthupupuptithtinfuLrXnfnfuNupupupupuOstnfnflglgadadadadadadlglgnfnfnfnfnfnfthupupuSuTupupuptistnfnfnfvszUzVzWzXvszYzZzZAaAbvsAcAdAevsnfnfnfnfnfnfaeaeaeaeaeaeaeaaaaaaaaaaaeaaaexaAgAhAiAjxaAkAlAmAnAoApxanfnfnfnfnflglglglgmumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadlgnfnfnfnfnfnfnfnfnflglglgadadadbIbIadadadlglglgnfnfnfnfnfthtithupuSuTupupuOuNupupupupuOnflglgadadadadadadadadlglglgnfnfnfnfnfnfnfrSrTnfnfnfststnfnfnfzPvsvsvsvsvsAqArAsAtAbvsvHAuvHvsnfnfnfnfnfnfaaaaaeaaaaaaaeaaaaaaaaaaaeaaxcxczrAvAiAjxcAwxWxXAxAyAzxanfnfnfnfnflglglglgmumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadlglglglgnfnfnfnflglglgadadbIbIbIbIbIbIbIadadadlglglgnfnfnfnfthupupuSuTupupupuOnfnfnfnfnfnflgadadadadadadbIbIadadadlglglglgnfnfnfnfnfnfnfnfnfstthuptinfnfnfnfnfnfzPvsvsvsvsvszPvvvvwAAAnfnfnfnfnfaaaaaaaeaaaaaaaeaaaaaaaaaaABxcACADAEAvAigTxaAGzrAHAIxaAJxanfnfnfnflglglglglgmumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadlglglglglglgadadadadbIbIbIbIbIbIbIbIadadadadlglglglgnfnfnfnfrSrTnfnfnfnfnfnflglglglglgadadadadadadbIbIbIadadadadadlglglglglglglglgnfnfthuptithtinfnfnfnfnfnfnfrSrUrUrUrUrUrUrTnfnfnfnfnfnfaeaeaeaeaeaeaeaeaaaaaaaaAfAFzrAFzrAkAMANAxxcxszrAOAPxcAQxanfnfnfnflglglglgmumumumumumumulglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglgnfnfnfnfnfnfnfnfnflglglgadadadadadadadbIbIbIbIbIbIbIadadadadadadadadadadadlglgnfnfnfthtithtiAKnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfaaaaaaaaaaaaaeaaaaaaaaaaxcxcxcASATAUAVAWAXAYAZBaBbBcBdxanfnfnfnflglglglgmumumumumumumulglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadlglglgnfnfnflglglglglgadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadlgnfnfnfnfthtithupupupupupupupupupupupupupupuptinfnfnfnfnfnfaaaaaaaaaaaeaaaaaaaaaaaeaaxcxczrAvBeBfBgBhBiBiBjxcAQxanfnfnfnflglglglgmumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlglglglglgadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadlglglgnfnfnfthupupupupupupupupupupupupupupuptistnfuLrXnfnfnfnUnUaeaaaaaeaaaaaaaaaaaeaaBkzxBlBmBiBjxcBnBoBpxcxcAQxanfnfnfnflglglglgmumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadlglglgnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfstthupuSuTupupupARALBsBsBsBsBsBsBsBsBsBsBsBtxaBuBvxsAGxaBwBxByBzBABBxanfnflglglglgmumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadlglglgnfnfnfnfnfnfnflglgnfnfnfnfnfnfthupupuSuTupupupBqALBsBsBsBsBsBsBsBsBsBsBsBszxBDxaxcxcxaBExaxaxaxaxaxanfnflglglglgmumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadlglglglglglglglglglglgnfnfnfnfnfnfnfnfrSrTnfnfnfnUnUaeaaaaaaaaaaaaaaaaaaaaaeaenfnfnfnfxaxaxanfnfnfnfnfnfnflglglglgmumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadlgnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfnfaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfnfnfnfnfnflglglgmumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadlgnfnfnfnfnfnfnfnfnfnfnfnflglglglgaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfnfnfnflglglglgmumumumumumulglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadlglgnfnfnfnfnfnfnfnfnflgadadadadlgaaaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfnfnfnflglglglgmumumumumulglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadlglglglglglglglglglglgadadadadadlgaaaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnfnfnfnflglglgmumumumumumumulglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadadadadadadadadaaaaaaaaaaaaaaaaaaaaaanfnfnfnfnfnfnflglglglglglgmumumumumumulglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadadadadadadadadadadbIbIadadadadaaaaaaaaaaaaaaaaaaaaaanfnflglglglglglglglglglgmumumumumumumulglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadadadaaaaaaaaaaaaaaaaaaaaaalglglglglglglglgmumumumumumumumulglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaalglglglglglgmumumumumumumumumulglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglgmumumumumumumulglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglgmumumumulglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglglglglglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadadadadadadadadadadadadadbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIlfbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIbIadadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalglglgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/map_files/RandomZLevels/listeningpost.dmm b/_maps/map_files/RandomZLevels/listeningpost.dmm
index ffb137ca414..d3ceb769664 100644
--- a/_maps/map_files/RandomZLevels/listeningpost.dmm
+++ b/_maps/map_files/RandomZLevels/listeningpost.dmm
@@ -1,5 +1,5 @@
"a" = (/turf/space,/area/space)
-"b" = (/turf/simulated/mineral,/area/mine/unexplored)
+"b" = (/turf/simulated/mineral,/area/mine/dangerous/unexplored)
"c" = (/turf/simulated/wall/r_wall,/area/awaymission/listeningpost)
"d" = (/turf/simulated/floor/plating,/area/awaymission/listeningpost)
"e" = (/obj/machinery/power/smes/magical{desc = "A high-capacity superconducting magnetic energy storage (SMES) unit."; name = "power storage unit"},/turf/simulated/floor/plating,/area/awaymission/listeningpost)
@@ -9,43 +9,43 @@
"i" = (/obj/structure/table,/obj/item/device/radio/intercom/pirate{name = "listening post intercom"},/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"j" = (/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"k" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaymission/listeningpost)
-"l" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"l" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"m" = (/obj/machinery/computer/message_monitor,/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"n" = (/obj/structure/stool/bed/chair{dir = 4},/mob/living/simple_animal/hostile/syndicate{desc = "A weary looking syndicate operative."; faction = "syndicate"},/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"o" = (/obj/structure/table,/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "november report"},/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"p" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate,/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"q" = (/obj/machinery/door/airlock,/obj/structure/safe/floor,/obj/item/weapon/paper{info = "I wonder how much longer they will accept my empty reports. They will cancel the case soon without results. When the pickup comes, I will tell them I have lost faith in our cause, and beg them to consider a diplomatic solution. How many nuclear teams have been dispatched with those nukes? I must try and prevent more from ever being sent. If they will not listen to reason, I will detonate the warehouse myself. Maybe some day in the immediate future, space will be peaceful, though I don't intend to live to see it. And that is why I write this down- it is my sacrifice that stabilised your worlds, traveller. Spare a thought for me, and please attempt to prevent nuclear proliferation, should it ever rear it's ugly head again. -Donk Co. Operative #451"; name = "odd report"},/obj/item/weapon/gun/projectile/automatic/pistol,/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
-"r" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/mineral,/area/mine/unexplored)
-"s" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/mineral,/area/mine/unexplored)
+"r" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/mineral,/area/mine/dangerous/unexplored)
+"s" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/mineral,/area/mine/dangerous/unexplored)
"t" = (/obj/structure/disposaloutlet{dir = 4},/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plating/airless,/area/space)
"u" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"v" = (/obj/structure/table,/obj/item/device/flashlight/lamp/green,/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"w" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
-"x" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral,/area/mine/unexplored)
+"x" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral,/area/mine/dangerous/unexplored)
"y" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"z" = (/obj/structure/closet,/obj/item/clothing/gloves/boxing,/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"A" = (/obj/structure/filingcabinet,/obj/item/weapon/paper{info = "A good start to the operation: intercepted Nanotrasen military communications. A convoy is scheduled to transfer nuclear warheads to a new military base. This is as good a chance as any to get our hands on some heavy weaponry, I suggest we take it."; name = "april report"},/obj/item/weapon/paper{info = "Nothing of real interest to report this month. I have intercepted faint transmissions from what appears to be some sort of pirate radio station. They do not appear to be relevant to my assignment."; name = "may report"},/obj/item/weapon/paper{info = "Nanotrasen communications have been noticably less frequent recently. The pirate radio station I found last month has been transmitting pro-Nanotrasen propaganda. I will continue to monitor it."; name = "june report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "july report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "august report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "september report"},/obj/item/weapon/paper{info = "Nothing of interest to report."; name = "october report"},/obj/item/weapon/paper{info = "1 x Stechtkin pistol - $600 1 x silencer - $200 shipping charge - $4360 total - $5160"; name = "receipt"},/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"B" = (/obj/structure/table,/obj/item/weapon/paper{info = "Mission Details : You have been assigned to a newly constructed listening post constructed within an asteroid in Nanotrasen space to monitor their plasma mining operations. Accurate intel is crucial to the success of our operatives onboard, do not fail us."; name = "mission briefing"},/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"C" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"D" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/awaymission/listeningpost)
-"E" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/mineral,/area/mine/unexplored)
+"E" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/mineral,/area/mine/dangerous/unexplored)
"F" = (/obj/machinery/door/airlock{name = "Toilet"},/turf/simulated/floor/plasteel,/area/awaymission/listeningpost)
"G" = (/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/listeningpost)
"H" = (/obj/machinery/shower{tag = "icon-shower (WEST)"; icon_state = "shower"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/listeningpost)
"I" = (/obj/structure/toilet{tag = "icon-toilet00 (WEST)"; icon_state = "toilet00"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "freezerfloor"},/area/awaymission/listeningpost)
-"J" = (/turf/simulated/mineral/random/high_chance_clown,/area/mine/unexplored)
-"K" = (/turf/simulated/shuttle/wall{tag = "icon-wall3"; icon_state = "wall3"},/area/mine/explored)
-"L" = (/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"M" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"N" = (/obj/machinery/gateway{tag = "icon-off (NORTHWEST)"; icon_state = "off"; dir = 9},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"O" = (/obj/machinery/gateway{tag = "icon-off (NORTH)"; icon_state = "off"; dir = 1},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"P" = (/obj/machinery/gateway{tag = "icon-off (NORTHEAST)"; icon_state = "off"; dir = 5},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"Q" = (/obj/machinery/gateway{tag = "icon-off (WEST)"; icon_state = "off"; dir = 8},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"R" = (/obj/machinery/gateway/centeraway,/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"S" = (/obj/machinery/gateway{tag = "icon-off (EAST)"; icon_state = "off"; dir = 4},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"T" = (/obj/machinery/gateway{tag = "icon-off (SOUTHWEST)"; icon_state = "off"; dir = 10},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"U" = (/obj/machinery/gateway,/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
-"V" = (/obj/machinery/gateway{tag = "icon-off (SOUTHEAST)"; icon_state = "off"; dir = 6},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/explored)
+"J" = (/turf/simulated/mineral/random/high_chance_clown,/area/mine/dangerous/unexplored)
+"K" = (/turf/simulated/shuttle/wall{tag = "icon-wall3"; icon_state = "wall3"},/area/mine/dangerous/explored)
+"L" = (/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"M" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"N" = (/obj/machinery/gateway{tag = "icon-off (NORTH)"; icon_state = "off"; dir = 1},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"O" = (/obj/machinery/gateway{tag = "icon-off (NORTHWEST)"; icon_state = "off"; dir = 9},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"P" = (/obj/machinery/gateway{tag = "icon-off (NORTHEAST)"; icon_state = "off"; dir = 5},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"Q" = (/obj/machinery/gateway/centeraway,/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"R" = (/obj/machinery/gateway{tag = "icon-off (WEST)"; icon_state = "off"; dir = 8},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"S" = (/obj/machinery/gateway{tag = "icon-off (EAST)"; icon_state = "off"; dir = 4},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"T" = (/obj/machinery/gateway,/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"U" = (/obj/machinery/gateway{tag = "icon-off (SOUTHWEST)"; icon_state = "off"; dir = 10},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
+"V" = (/obj/machinery/gateway{tag = "icon-off (SOUTHEAST)"; icon_state = "off"; dir = 6},/turf/simulated/floor/plasteel/airless{tag = "icon-gcircuit"; icon_state = "gcircuit"},/area/mine/dangerous/explored)
(1,1,1) = {"
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -66,10 +66,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbb
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalbbbbbbbbbbbbbbbbbbcmnojjkddkaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbalbbbbbbbbbbbbbbbbbbccjijjccccaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbllbbbbbbbbbbbbbbbbbbbcjjjpcbbbbaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbblbbbbbbbbbbbbbbbbccccqgggcbrsstaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbblbbbbbbbbbbbbbbbbccccqgggcbsrrtaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcuvgjjjwcbxbbbbbbaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcjjfjjjycbxbbbbbbbaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbczAgBjCDDsEbbbbbaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbczAgBjCDDrEbbbbbaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccFgcbbbbbbbbbaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcGHcbbbbbbbbbaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcGIcbbbbbbbbbbaaa
@@ -101,9 +101,9 @@ aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbllbaaaa
aaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbKKKKKKKbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbblLMMMMKbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbLNOPLKbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbQRSLKbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbblbbbbbbbbbbbbbbLTUVLKbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbLONPLKbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbRQSLKbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbblbbbbbbbbbbbbbbLUTVLKbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbllbbbbbbbbbbbbblMMMMKbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbaalbbbbbbbbbbbbllKKKKKbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaaaaaaaaaaaaaaaaaa
@@ -149,3 +149,4 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
"}
+
diff --git a/_maps/map_files/RandomZLevels/moonoutpost19.dmm b/_maps/map_files/RandomZLevels/moonoutpost19.dmm
index 09c3741f181..38617fb1dd0 100644
--- a/_maps/map_files/RandomZLevels/moonoutpost19.dmm
+++ b/_maps/map_files/RandomZLevels/moonoutpost19.dmm
@@ -21,177 +21,177 @@
"au" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/mob/living/simple_animal/hostile/alien/sentinel,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"av" = (/obj/structure/alien/weeds,/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gib2_flesh"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"aw" = (/obj/structure/alien/weeds/node,/obj/effect/decal/cleanable/blood{color = "red"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"ax" = (/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "darkred"; tag = "icon-darkred (NORTHWEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"ay" = (/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "darkredcorners"; tag = "icon-darkredcorners (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"az" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aA" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "darkredcorners"; tag = "icon-darkredcorners (EAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "darkred"; tag = "icon-darkred (NORTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"ax" = (/turf/simulated/floor/plasteel{dir = 9; icon_state = "darkred"; tag = "icon-darkred (NORTHWEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"ay" = (/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"az" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkredcorners"; tag = "icon-darkredcorners (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aA" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "darkred"; tag = "icon-darkred (NORTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aB" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "darkredcorners"; tag = "icon-darkredcorners (EAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"aC" = (/obj/structure/alien/weeds/node,/obj/structure/alien/resin/wall,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"aD" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/stool/bed/nest,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/item/clothing/under/rank/security,/obj/item/clothing/suit/armor/vest,/obj/item/weapon/melee/baton/loaded,/obj/item/clothing/head/helmet,/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gibdown1_flesh"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"aE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "darkredcorners"; tag = "icon-darkredcorners (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aF" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aG" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aH" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "darkredcorners"; tag = "icon-darkredcorners (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aF" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aG" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aH" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"aI" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gib1_flesh"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"aJ" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gib2_flesh"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"aK" = (/obj/structure/alien/weeds,/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/obj/effect/decal/cleanable/blood{color = "red"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"aL" = (/obj/structure/alien/weeds,/mob/living/simple_animal/hostile/alien/drone{plants_off = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"aM" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aN" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aO" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aP" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aQ" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aM" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aN" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aO" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aP" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aQ" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"aR" = (/obj/item/weapon/ore/iron{pixel_x = 7; pixel_y = -6},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"aS" = (/obj/structure/alien/weeds,/mob/living/simple_animal/hostile/alien/queen/large{desc = "A gigantic alien who is in charge of the hive and all of its loyal servants."; name = "alien queen"; pixel_x = -16; plants_off = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"aT" = (/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aU" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "darkredcorners"; tag = "icon-darkredcorners (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aV" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aW" = (/obj/machinery/gateway,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aX" = (/obj/machinery/gateway{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"aY" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "darkredcorners"; tag = "icon-darkredcorners"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aU" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "darkredcorners"; tag = "icon-darkredcorners (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aV" = (/obj/machinery/gateway,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aW" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aX" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkredcorners"; tag = "icon-darkredcorners"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"aY" = (/obj/machinery/gateway{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"aZ" = (/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"ba" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/mob/living/simple_animal/hostile/alien/drone{plants_off = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"bb" = (/obj/structure/alien/weeds,/obj/effect/decal/cleanable/blood{color = "red"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"bc" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bd" = (/obj/machinery/vending/cigarette,/obj/structure/sign/poster{icon_state = "poster7"; pixel_y = 32; serial_number = 7; subtype = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"be" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "darkred"; tag = "icon-darkred (SOUTHWEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bg" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "darkredcorners"; tag = "icon-darkredcorners"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bh" = (/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "darkred"; tag = "icon-darkred (SOUTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"be" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; icon_state = "darkred"; tag = "icon-darkred (SOUTHWEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bg" = (/turf/simulated/floor/plasteel{dir = 6; icon_state = "darkred"; tag = "icon-darkred (SOUTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bh" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "darkredcorners"; tag = "icon-darkredcorners"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bi" = (/obj/structure/alien/weeds,/obj/structure/stool/bed/nest,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/item/clothing/under/syndicate,/obj/item/clothing/glasses/night,/obj/effect/decal/cleanable/blood{color = "red"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"bj" = (/obj/structure/alien/weeds,/mob/living/simple_animal/hostile/alien/sentinel,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"bk" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gib2_flesh"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"bl" = (/turf/simulated/mineral/random/high_chance,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"bm" = (/obj/machinery/light/small{dir = 8},/obj/structure/sign/poster{icon_state = "poster17"; pixel_x = -32; pixel_y = 0; serial_number = 17; subtype = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bn" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bo" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 1; pixel_y = 23; req_access = "150"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bp" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bq" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/device/radio/off{pixel_x = -4; pixel_y = 4},/obj/item/device/radio/off{pixel_x = 2},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"br" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/item/weapon/paper{info = "Log 1: We got our promised supply drop today. We were only meant to get it, what, a week ago? This bloody gateway keeps desyncing itself, and that means subsisting off recycled water and carb packs. No clue where the damn thing connects to on its off days, and HQ say we are 'not to touch it if it isn't linking to command.' We dumped off the assload of crates Jim filled, got our boxes of oxygen, food and drink, and closed the portal. Log 2: Damn thing is acting up again. Three days no contact this time. I thought I heard clanking noises from it yesterday. Jim is going on about the NT base or some shit. We've been over this before – They don't know we're here, that engineer was too drunk to recognise his suit, especially since I had it painted orange. He's starting to get annoying. We're safe. Log 3: Gateway synced itself up automatically today. I opened it for an instant to spy through it, got a glimpse of the inside of a transport container. Either HQ's redecorating or something, or there's more than two of these things."; name = "Personal Log"},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bs" = (/obj/machinery/door/window{dir = 1; name = "Gateway Access"; req_access_txt = "150"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bu" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bv" = (/obj/structure/sink{pixel_y = 28},/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bw" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bx" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"by" = (/obj/structure/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bz" = (/obj/structure/table,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32; pixel_y = 0},/obj/item/trash/plate,/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bA" = (/obj/machinery/light{dir = 8},/obj/structure/stool,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bC" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bD" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bE" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 1; pixel_x = 23; pixel_y = 0; req_access = "150"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bF" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bG" = (/obj/structure/closet/crate/bin,/obj/item/trash/syndi_cakes,/obj/item/trash/sosjerky,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bH" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bI" = (/obj/structure/stool,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bJ" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bK" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bL" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bM" = (/obj/structure/closet/emcloset,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bN" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bO" = (/obj/machinery/door/airlock/glass{name = "Break Room"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bP" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/highsecurity{icon_state = "door_locked"; locked = 1; name = "Gateway"; req_access_txt = "150"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/clothing/gloves/color/yellow,/obj/item/device/multitool,/turf/simulated/floor/plating{dir = 9; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bS" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/computer/monitor,/turf/simulated/floor/plating{dir = 5; heat_capacity = 1e+006; icon_state = "warnplate"; tag = "icon-warnplate (NORTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bT" = (/obj/machinery/power/smes{charge = 0; input_level = 10000; inputting = 0; output_level = 15000; outputting = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bU" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/alarm/monitor{frequency = 1439; locked = 1; pixel_y = 23; req_access = "150"},/turf/simulated/floor/plating{dir = 9; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bV" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{dir = 5; heat_capacity = 1e+006; icon_state = "warnplate"; tag = "icon-warnplate (NORTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bm" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bn" = (/obj/machinery/light/small{dir = 8},/obj/structure/sign/poster{icon_state = "poster17"; pixel_x = -32; pixel_y = 0; serial_number = 17; subtype = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bo" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bp" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 1; pixel_y = 23; req_access = "150"},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bq" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/device/radio/off{pixel_x = -4; pixel_y = 4},/obj/item/device/radio/off{pixel_x = 2},/turf/simulated/floor/plasteel{ icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"br" = (/obj/machinery/door/window{dir = 1; name = "Gateway Access"; req_access_txt = "150"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bs" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/item/weapon/paper{info = "Log 1: We got our promised supply drop today. We were only meant to get it, what, a week ago? This bloody gateway keeps desyncing itself, and that means subsisting off recycled water and carb packs. No clue where the damn thing connects to on its off days, and HQ say we are 'not to touch it if it isn't linking to command.' We dumped off the assload of crates Jim filled, got our boxes of oxygen, food and drink, and closed the portal. Log 2: Damn thing is acting up again. Three days no contact this time. I thought I heard clanking noises from it yesterday. Jim is going on about the NT base or some shit. We've been over this before – They don't know we're here, that engineer was too drunk to recognise his suit, especially since I had it painted orange. He's starting to get annoying. We're safe. Log 3: Gateway synced itself up automatically today. I opened it for an instant to spy through it, got a glimpse of the inside of a transport container. Either HQ's redecorating or something, or there's more than two of these things."; name = "Personal Log"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bt" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bu" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bv" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bw" = (/obj/structure/sink{pixel_y = 28},/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bx" = (/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"by" = (/obj/structure/table,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32; pixel_y = 0},/obj/item/trash/plate,/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bz" = (/obj/structure/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bA" = (/obj/machinery/light{dir = 8},/obj/structure/stool,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bC" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bD" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 1; pixel_x = 23; pixel_y = 0; req_access = "150"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bE" = (/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bF" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bH" = (/obj/structure/closet/crate/bin,/obj/item/trash/syndi_cakes,/obj/item/trash/sosjerky,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bI" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bJ" = (/obj/structure/stool,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bK" = (/turf/simulated/floor/plasteel{ icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bL" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bM" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/plasteel{ icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bN" = (/obj/structure/closet/emcloset,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "red"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bO" = (/obj/machinery/door/airlock/glass{name = "Break Room"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bP" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/highsecurity{icon_state = "door_locked"; locked = 1; name = "Gateway"; req_access_txt = "150"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bR" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/clothing/gloves/color/yellow,/obj/item/device/multitool,/turf/simulated/floor/plating{dir = 9; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bS" = (/obj/machinery/power/smes{charge = 0; input_level = 10000; inputting = 0; output_level = 15000; outputting = 1},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bT" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/computer/monitor,/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"; tag = "icon-warnplate (NORTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bU" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"; tag = "icon-warnplate (NORTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bV" = (/obj/machinery/portable_atmospherics/canister/air,/obj/machinery/alarm/monitor{frequency = 1439; locked = 1; pixel_y = 23; req_access = "150"},/turf/simulated/floor/plating{dir = 9; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"bW" = (/obj/structure/alien/weeds/node,/mob/living/simple_animal/hostile/alien,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"bX" = (/obj/machinery/mineral/unloading_machine{dir = 1; icon_state = "unloader-corner"; input_dir = 4; output_dir = 8},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bY" = (/obj/machinery/conveyor{dir = 2; id = "awaysyndie"},/turf/simulated/floor/plating{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"bZ" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 0; oxygen = 0; tag = "icon-floorgrime (WEST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"ca" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/sign/poster{icon_state = "poster5"; pixel_x = 0; pixel_y = 32; serial_number = 5; subtype = 0},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "loadingarea"; nitrogen = 0; oxygen = 0; tag = "loading"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cb" = (/obj/effect/decal/cleanable/dirt,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cc" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = "150"},/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; nitrogen = 0; oxygen = 0; tag = "icon-floorscorched2 (WEST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cd" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"ce" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 1; heat_capacity = 1e+006; icon_state = "warning"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cf" = (/obj/structure/sign/biohazard{pixel_y = 32},/obj/structure/alien/weeds/node,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "warningcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cg" = (/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"ch" = (/obj/structure/sign/securearea{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "warningcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"ci" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/light/small{dir = 8},/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/paper{info = "Alright, listen up. If you're reading this, I'm either taking a shit or I've been recalled back to Command. Either way, you'll need to know how to restore power. We've stolen this stuff from Nanotrasen, so all the equipment is jury-rigged. We have generators that work on both plasma and uranium, about 50 sheets should power the outpost for quite a while. If the generators aren't working, which is very likely, take the power cell on the desk and put it into the APC in the hallway. That should get the place running, at least for a little while."; name = "Engineering Instructions"},/turf/simulated/floor/plating{dir = 8; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cj" = (/obj/structure/stool,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"ck" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating{dir = 1; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 4; heat_capacity = 1e+006; icon_state = "warnplatecorner"; tag = "icon-warnplatecorner (EAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cm" = (/obj/machinery/light/small{dir = 4},/obj/structure/sign/poster{icon_state = "poster10"; pixel_x = 32; pixel_y = 0; serial_number = 10; subtype = 0},/turf/simulated/floor/plating{dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cn" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"co" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cp" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "warning"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cq" = (/obj/machinery/door/airlock/glass{density = 0; emagged = 1; icon_state = "door_open"; locked = 1; name = "Dormitories"},/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cr" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cs" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"ct" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 0; oxygen = 0; tag = "icon-floorgrime (WEST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/engineering{name = "Power Maintenance"; req_access_txt = "150"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cx" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cy" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cB" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cC" = (/obj/machinery/mineral/processing_unit{dir = 1; output_dir = 2},/turf/simulated/floor/plating{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bX" = (/obj/machinery/mineral/unloading_machine{dir = 1; icon_state = "unloader-corner"; input_dir = 4; output_dir = 8},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bY" = (/obj/machinery/conveyor{dir = 2; id = "awaysyndie"},/turf/simulated/floor/plating/airless{dir = 4; icon_state = "warnplate"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"bZ" = (/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"ca" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/sign/poster{icon_state = "poster5"; pixel_x = 0; pixel_y = 32; serial_number = 5; subtype = 0},/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "loadingarea"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cb" = (/obj/effect/decal/cleanable/dirt,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cc" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = "150"},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cd" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"ce" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cf" = (/obj/structure/sign/biohazard{pixel_y = 32},/obj/structure/alien/weeds/node,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "warningcorner"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cg" = (/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"ch" = (/obj/structure/sign/securearea{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "warningcorner"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"ci" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/table,/obj/machinery/cell_charger,/obj/machinery/light/small{dir = 8},/obj/item/weapon/stock_parts/cell/high,/obj/item/weapon/paper{info = "Alright, listen up. If you're reading this, I'm either taking a shit or I've been recalled back to Command. Either way, you'll need to know how to restore power. We've stolen this stuff from Nanotrasen, so all the equipment is jury-rigged. We have generators that work on both plasma and uranium, about 50 sheets should power the outpost for quite a while. If the generators aren't working, which is very likely, take the power cell on the desk and put it into the APC in the hallway. That should get the place running, at least for a little while."; name = "Engineering Instructions"},/turf/simulated/floor/plating{dir = 8; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cj" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"ck" = (/obj/structure/stool,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cl" = (/obj/machinery/light/small{dir = 4},/obj/structure/sign/poster{icon_state = "poster10"; pixel_x = 32; pixel_y = 0; serial_number = 10; subtype = 0},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cm" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplatecorner"; tag = "icon-warnplatecorner (EAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cn" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"co" = (/turf/simulated/floor/plasteel/airless{name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cp" = (/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cq" = (/obj/machinery/door/airlock/glass{density = 0; emagged = 1; icon_state = "door_open"; locked = 1; name = "Dormitories"},/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cr" = (/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cs" = (/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"ct" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel/airless{name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cw" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/engineering{name = "Power Maintenance"; req_access_txt = "150"},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cz" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cA" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cC" = (/obj/machinery/mineral/processing_unit{dir = 1; output_dir = 2},/turf/simulated/floor/plating/airless{dir = 4; icon_state = "warnplate"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"cD" = (/obj/machinery/mineral/processing_unit_console{machinedir = 8},/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "warning"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cF" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cH" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cI" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 10; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cJ" = (/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 1; name = "Worn-out APC"; pixel_x = 0; pixel_y = -25; req_access = "150"; start_charge = 0},/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cK" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cL" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 6; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cM" = (/obj/item/weapon/storage/box/lights/mixed,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 10; heat_capacity = 1e+006; icon_state = "warnplate"; tag = "icon-warnplate (SOUTHWEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cN" = (/obj/structure/cable,/obj/machinery/power/port_gen/pacman{desc = "A portable generator for emergency backup power."; name = "P.A.C.M.A.N.-type portable generator"},/turf/simulated/floor/plating{dir = 2; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cO" = (/obj/structure/cable,/obj/effect/decal/cleanable/dirt,/obj/machinery/power/port_gen/pacman/super{desc = "A portable generator for emergency backup power."; name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator"},/turf/simulated/floor/plating{dir = 2; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cP" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{dir = 6; heat_capacity = 1e+006; icon_state = "warnplate"; tag = "icon-warnplate (SOUTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cQ" = (/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged4"; nitrogen = 0; oxygen = 0; tag = "icon-damaged4 (WEST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cR" = (/obj/machinery/conveyor_switch/oneway{id = "awaysyndie"; layer = 3.1; name = "mining conveyor"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "warning"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cS" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 1; pixel_x = 23; pixel_y = 0; req_access = "150"},/obj/machinery/light{active_power_usage = 0; dir = 4; icon_state = "tube-broken"; status = 2},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "red"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cT" = (/obj/machinery/door/airlock{density = 0; emagged = 1; icon_state = "door_open"; id_tag = "awaydorm4"; locked = 1; name = "Dorm 1"; opacity = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cU" = (/obj/machinery/door/airlock{id_tag = "awaydorm5"; name = "Dorm 2"},/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cV" = (/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged2"; nitrogen = 0; oxygen = 0; tag = "icon-damaged2 (WEST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cW" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "warning"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cX" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 12},/obj/effect/decal/cleanable/dirt,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 1; heat_capacity = 1e+006; icon_state = "bot"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cY" = (/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged3"; nitrogen = 0; oxygen = 0; tag = "icon-damaged3 (WEST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"cZ" = (/obj/machinery/door_control{id = "awaydorm4"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/turf/simulated/floor/wood{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"da" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"db" = (/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dc" = (/obj/machinery/door_control{id = "awaydorm5"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/dresser,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cF" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cH" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 2; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cI" = (/turf/simulated/floor/plasteel/airless{dir = 10; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cJ" = (/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 1; name = "Worn-out APC"; pixel_x = 0; pixel_y = -25; req_access = "150"; start_charge = 0},/turf/simulated/floor/plasteel/airless{dir = 2; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cK" = (/turf/simulated/floor/plasteel/airless{dir = 2; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cL" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel/airless{dir = 6; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cM" = (/obj/item/weapon/storage/box/lights/mixed,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 10; icon_state = "warnplate"; tag = "icon-warnplate (SOUTHWEST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cN" = (/obj/structure/cable,/obj/effect/decal/cleanable/dirt,/obj/machinery/power/port_gen/pacman/super{desc = "A portable generator for emergency backup power."; name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cO" = (/obj/structure/cable,/obj/machinery/power/port_gen/pacman{desc = "A portable generator for emergency backup power."; name = "P.A.C.M.A.N.-type portable generator"},/turf/simulated/floor/plating{dir = 2; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cP" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{dir = 6; icon_state = "warnplate"; tag = "icon-warnplate (SOUTHEAST)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cQ" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged4"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cR" = (/obj/machinery/conveyor_switch/oneway{id = "awaysyndie"; layer = 3.1; name = "mining conveyor"},/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cS" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 1; pixel_x = 23; pixel_y = 0; req_access = "150"},/obj/machinery/light{active_power_usage = 0; dir = 4; icon_state = "tube-broken"; status = 2},/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "red"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cT" = (/obj/machinery/door/airlock{density = 0; emagged = 1; icon_state = "door_open"; id_tag = "awaydorm4"; locked = 1; name = "Dorm 1"; opacity = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "wood"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cU" = (/obj/machinery/door/airlock{id_tag = "awaydorm5"; name = "Dorm 2"},/turf/simulated/floor/wood,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cV" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cW" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cX" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 12},/obj/effect/decal/cleanable/dirt,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "bot"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cY" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"cZ" = (/obj/machinery/door_control{id = "awaydorm4"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "wood"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"da" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "wood"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"db" = (/obj/machinery/door_control{id = "awaydorm5"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/dresser,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dc" = (/turf/simulated/floor/wood,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dd" = (/obj/structure/alien/weeds/node,/mob/living/simple_animal/hostile/alien/drone{plants_off = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"de" = (/obj/machinery/mineral/stacking_machine{dir = 1; input_dir = 1; output_dir = 2},/turf/simulated/floor/plating{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"de" = (/obj/machinery/mineral/stacking_machine{dir = 1; input_dir = 1; output_dir = 2},/turf/simulated/floor/plating/airless{dir = 4; icon_state = "warnplate"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"df" = (/obj/machinery/mineral/stacking_unit_console{machinedir = 8},/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dg" = (/obj/structure/closet/crate,/obj/item/stack/sheet/glass{amount = 10},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 1; heat_capacity = 1e+006; icon_state = "bot"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dh" = (/obj/structure/stool/bed/chair/wood/normal,/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 1; pixel_x = -23; pixel_y = 0; req_access = "150"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"di" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/wood{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dj" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dk" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 1; pixel_x = 23; pixel_y = 0; req_access = "150"},/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 1; heat_capacity = 1e+006; icon_state = "warning"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dm" = (/obj/effect/decal/cleanable/dirt,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "loadingarea"; nitrogen = 0; oxygen = 0; tag = "loading"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dn" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "warningcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"do" = (/obj/structure/closet/crate,/obj/item/weapon/storage/bag/ore,/obj/structure/alien/weeds,/obj/item/device/mining_scanner,/obj/item/weapon/shovel,/obj/item/weapon/pickaxe,/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "platingdmg3"; nitrogen = 0; oxygen = 0; tag = "icon-platingdmg3"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dp" = (/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; nitrogen = 0; oxygen = 0; tag = "icon-damaged1 (WEST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dq" = (/obj/structure/table/woodentable,/obj/structure/sign/poster{icon_state = "poster24"; pixel_x = 0; pixel_y = -32; serial_number = 24; subtype = 0},/obj/item/weapon/pen,/obj/item/weapon/paper{info = "Log 1: While mining today I noticed the NT station was finished with its renovations. They placed some huge reinforced tumor on the station – looks so ugly. I wouldn't be surprised if those pigs decided to turn that little astronomy outpost into a prison with that thing, it'd be pretty typical of them. Log 2: Really dumb of me, but I just waved at an engineer in the outpost, and he waved back. I hope to god he was too dumb or drunk to recognize the suit, because if he isn't, then we might have to pull out before they come looking for us. Log 3: That huge reinforced tumor in their science section has been making a lot of noise lately. I've been hearing some banging and scratching from the other side and I'm kind of glad now that they reinforced this thing so much. I'll be sleeping with my gun under my pillow from now on."; name = "Personal Log"},/turf/simulated/floor/wood{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dr" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective_locked"; locked = 1; name = "personal closet"; req_access_txt = "150"},/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/weapon/suppressor,/turf/simulated/floor/wood{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"ds" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dt" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "150"},/obj/item/weapon/spacecash/c50,/turf/simulated/floor/wood{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"du" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dg" = (/obj/structure/closet/crate,/obj/item/stack/sheet/glass{amount = 10},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "bot"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dh" = (/obj/structure/stool/bed/chair/wood/normal,/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 1; pixel_x = -23; pixel_y = 0; req_access = "150"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "wood"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"di" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "wood"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dj" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 1; pixel_x = 23; pixel_y = 0; req_access = "150"},/turf/simulated/floor/wood,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dk" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/wood,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{tag = "icon-warning (NORTH)"; icon_state = "warning"; dir = 1},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dm" = (/obj/effect/decal/cleanable/dirt,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel/airless{icon_state = "loadingarea"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dn" = (/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "warningcorner"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"do" = (/obj/structure/closet/crate,/obj/item/weapon/storage/bag/ore,/obj/structure/alien/weeds,/obj/item/device/mining_scanner,/obj/item/weapon/shovel,/obj/item/weapon/pickaxe,/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dp" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged1"; name = "floor"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dq" = (/obj/structure/table/woodentable,/obj/structure/sign/poster{icon_state = "poster24"; pixel_x = 0; pixel_y = -32; serial_number = 24; subtype = 0},/obj/item/weapon/pen,/obj/item/weapon/paper{info = "Log 1: While mining today I noticed the NT station was finished with its renovations. They placed some huge reinforced tumor on the station – looks so ugly. I wouldn't be surprised if those pigs decided to turn that little astronomy outpost into a prison with that thing, it'd be pretty typical of them. Log 2: Really dumb of me, but I just waved at an engineer in the outpost, and he waved back. I hope to god he was too dumb or drunk to recognize the suit, because if he isn't, then we might have to pull out before they come looking for us. Log 3: That huge reinforced tumor in their science section has been making a lot of noise lately. I've been hearing some banging and scratching from the other side and I'm kind of glad now that they reinforced this thing so much. I'll be sleeping with my gun under my pillow from now on."; name = "Personal Log"},/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "wood"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dr" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective_locked"; locked = 1; name = "personal closet"; req_access_txt = "150"},/obj/item/ammo_box/magazine/m10mm,/obj/item/ammo_box/magazine/m10mm,/obj/item/weapon/suppressor,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "wood"; name = "floor"; tag = "icon-warningcorner (NORTH)"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"ds" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "150"},/obj/item/weapon/spacecash/c50,/turf/simulated/floor/wood,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dt" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/syndie,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/wood,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"du" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dv" = (/obj/item/weapon/ore/iron,/obj/item/weapon/ore/iron{pixel_x = -7; pixel_y = -4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"dw" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dx" = (/obj/structure/dispenser/oxygen{oxygentanks = 9},/obj/machinery/light/small{active_power_usage = 0; dir = 1; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plating{carbon_dioxide = 0; dir = 9; heat_capacity = 1e+006; icon_state = "warnplate"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dy" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/orange,/obj/item/clothing/mask/gas,/obj/item/weapon/pickaxe/drill,/obj/item/clothing/head/helmet/space/syndicate/orange,/turf/simulated/floor/plating{carbon_dioxide = 0; dir = 5; heat_capacity = 1e+006; icon_state = "warnplate"; nitrogen = 0; oxygen = 0; tag = "icon-warnplate (NORTHEAST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dw" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dx" = (/obj/structure/dispenser/oxygen{oxygentanks = 9},/obj/machinery/light/small{active_power_usage = 0; dir = 1; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plating/airless{dir = 9; icon_state = "warnplate"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dy" = (/obj/structure/rack,/obj/item/clothing/suit/space/syndicate/orange,/obj/item/clothing/mask/gas,/obj/item/weapon/pickaxe/drill,/obj/item/clothing/head/helmet/space/syndicate/orange,/turf/simulated/floor/plating/airless{dir = 5; icon_state = "warnplate"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dz" = (/obj/item/weapon/ore/iron{pixel_x = -3; pixel_y = 9},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dA" = (/turf/simulated/mineral,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"dB" = (/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "platingdmg1"; nitrogen = 0; oxygen = 0; tag = "icon-platingdmg1"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dC" = (/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = 0; pixel_y = -32},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating{carbon_dioxide = 0; dir = 10; heat_capacity = 1e+006; icon_state = "warnplate"; nitrogen = 0; oxygen = 0; tag = "icon-warnplate (SOUTHWEST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"dD" = (/obj/structure/rack,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{carbon_dioxide = 0; dir = 6; heat_capacity = 1e+006; icon_state = "warnplate"; nitrogen = 0; oxygen = 0; tag = "icon-warnplate (SOUTHEAST)"; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dB" = (/turf/simulated/floor/plating/airless{icon_state = "platingdmg1"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dC" = (/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = 0; pixel_y = -32},/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating/airless{dir = 10; icon_state = "warnplate"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dD" = (/obj/structure/rack,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating/airless{dir = 6; icon_state = "warnplate"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dE" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dF" = (/obj/item/device/flashlight/lantern{icon_state = "lantern-on"; on = 1},/obj/effect/decal/cleanable/blood/splatter,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dG" = (/obj/item/device/mining_scanner,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 6; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"dH" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dH" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dI" = (/obj/item/weapon/storage/bag/ore,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dJ" = (/obj/item/weapon/pickaxe/drill,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"dK" = (/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"dL" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
+"dK" = (/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"dL" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
"dM" = (/obj/item/weapon/ore/iron{pixel_x = -7; pixel_y = -4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dN" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/stool/bed/nest,/obj/item/weapon/tank/oxygen,/obj/item/clothing/suit/space/syndicate/orange,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/syndicate/orange,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"dO" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{always_unpowered = 1; has_gravity = 1; name = "The Hive"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
@@ -207,16 +207,16 @@
"dY" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"dZ" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ea" = (/turf/simulated/wall/r_wall,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eb" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaybiohazard"; name = "Acid-Proof biohazard containment door"; unacidable = 1},/obj/machinery/door/poddoor{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaybiohazard"; layer = 2.9; name = "Acid-Proof biohazard containment door"; unacidable = 1},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eb" = (/obj/structure/grille,/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaybiohazard"; name = "Acid-Proof biohazard containment door"; unacidable = 1},/obj/machinery/door/poddoor{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaybiohazard"; layer = 2.9; name = "Acid-Proof biohazard containment door"; unacidable = 1},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ec" = (/obj/structure/sign/biohazard,/turf/simulated/wall/r_wall,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ed" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ee" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ef" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eg" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eh" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ee" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ef" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eg" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eh" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ei" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ej" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ek" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/shieldwallgen{locked = 0; req_access = null},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ej" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ek" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/shieldwallgen{locked = 0; req_access = null},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"el" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/stool/bed/nest,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 9; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"em" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"en" = (/obj/structure/alien/weeds,/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
@@ -226,12 +226,12 @@
"er" = (/obj/structure/alien/weeds,/obj/structure/stool/bed/nest,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"es" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/stool/bed/nest,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"et" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eu" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ev" = (/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ew" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eu" = (/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ev" = (/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ew" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 4},/obj/machinery/portable_atmospherics/canister,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ex" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 4; initialize_directions = 11; level = 2},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ey" = (/obj/structure/table/reinforced,/obj/structure/alien/weeds,/obj/machinery/computer/security/telescreen{desc = "Used for watching the contents of the xenobiology containment pen."; dir = 8; name = "xenobiology monitor"; network = list("MO19X")},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ez" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/structure/cable,/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ey" = (/obj/structure/table/reinforced,/obj/structure/alien/weeds,/obj/machinery/computer/security/telescreen{desc = "Used for watching the contents of the xenobiology containment pen."; dir = 8; name = "xenobiology monitor"; network = list("MO19X")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ez" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/structure/cable,/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eA" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eB" = (/obj/structure/alien/weeds,/obj/structure/stool/bed/nest,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gib2_flesh"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eC" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
@@ -243,52 +243,52 @@
"eI" = (/obj/structure/alien/weeds,/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eJ" = (/turf/simulated/wall,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eK" = (/turf/simulated/wall/rust,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eL" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eM" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eN" = (/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/obj/machinery/camera{c_tag = "Xenobiology"; dir = 4; network = list("MO19","MO19R")},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eL" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eM" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eN" = (/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/obj/machinery/camera{c_tag = "Xenobiology"; dir = 4; network = list("MO19","MO19R")},/turf/simulated/floor/plasteel{dir = 6; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible,/obj/structure/stool/bed/chair/office/light{dir = 4},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eP" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "Awaylab"; name = "Containment Chamber Blast Doors"; pixel_x = 4; pixel_y = -2; req_access_txt = "201"},/obj/machinery/ignition_switch{id = "awayxenobio"; pixel_x = 4; pixel_y = 8},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eP" = (/obj/structure/table/reinforced,/obj/machinery/door_control{id = "Awaylab"; name = "Containment Chamber Blast Doors"; pixel_x = 4; pixel_y = -2; req_access_txt = "201"},/obj/machinery/ignition_switch{id = "awayxenobio"; pixel_x = 4; pixel_y = 8},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eQ" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eR" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/cleanable/blood{color = "red"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"eS" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eT" = (/obj/machinery/power/port_gen/pacman{desc = "A portable generator for emergency backup power."; name = "P.A.C.M.A.N.-type portable generator"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eU" = (/obj/machinery/power/port_gen/pacman/super{desc = "A portable generator for emergency backup power."; name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eV" = (/obj/machinery/space_heater,/obj/machinery/light/small{dir = 1},/obj/structure/sign/poster{icon_state = "poster5_legit"; pixel_x = 0; pixel_y = 32; serial_number = 21; subtype = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eW" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eX" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes{charge = 1.5e+006; input_level = 10000; inputting = 0; output_level = 15000; outputting = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"eZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/newspaper,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "201"; req_one_access_txt = "0"},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 5; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ff" = (/obj/structure/sign/securearea{pixel_x = 32},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fg" = (/obj/structure/table,/obj/machinery/reagentgrinder,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fh" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/machinery/light/small{active_power_usage = 0; dir = 1; icon_state = "bulb-broken"; status = 2},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fi" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fj" = (/obj/structure/closet/crate/freezer,/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/item/xenos_claw,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fk" = (/obj/machinery/door/firedoor,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eT" = (/obj/machinery/power/port_gen/pacman{desc = "A portable generator for emergency backup power."; name = "P.A.C.M.A.N.-type portable generator"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eU" = (/obj/machinery/space_heater,/obj/machinery/light/small{dir = 1},/obj/structure/sign/poster{icon_state = "poster5_legit"; pixel_x = 0; pixel_y = 32; serial_number = 21; subtype = 1},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eV" = (/obj/machinery/power/port_gen/pacman/super{desc = "A portable generator for emergency backup power."; name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator"},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eW" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/smes{charge = 1.5e+006; input_level = 10000; inputting = 0; output_level = 15000; outputting = 1},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eX" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"eZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/newspaper,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 5; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/maintenance{req_access_txt = "201"; req_one_access_txt = "0"},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ff" = (/obj/structure/sign/securearea{pixel_x = 32},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fg" = (/obj/structure/table,/obj/item/stack/sheet/mineral/plasma{layer = 2.9},/obj/machinery/light/small{active_power_usage = 0; dir = 1; icon_state = "bulb-broken"; status = 2},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fh" = (/obj/structure/table,/obj/machinery/reagentgrinder,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fi" = (/obj/structure/closet/crate/freezer,/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/item/xenos_claw,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fj" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/structure/table,/obj/item/weapon/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/weapon/storage/box/syringes,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fk" = (/obj/machinery/door/firedoor,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fl" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fn" = (/obj/structure/closet/l3closet/scientist,/obj/structure/window/reinforced,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fo" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fn" = (/obj/structure/closet/l3closet/scientist,/obj/structure/window/reinforced,/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fo" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fp" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/alien/weeds{desc = "A large mottled egg."; health = 100; icon_state = "egg_hatched"; name = "egg"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fq" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/structure/stool/bed/nest,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fr" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ft" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fw" = (/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; icon_state = "ltrails_2"},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fx" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{density = 0; emagged = 1; icon_state = "door_open"; locked = 1; name = "Xenobiology Lab"; opacity = 0; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fr" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fs" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ft" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fu" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fw" = (/obj/structure/extinguisher_cabinet{pixel_x = -26},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; icon_state = "ltrails_2"},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{density = 0; emagged = 1; icon_state = "door_open"; locked = 1; name = "Xenobiology Lab"; opacity = 0; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/alien/weeds/node,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fD" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible{dir = 5},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fE" = (/obj/machinery/atmospherics/pipe/simple/visible{desc = "A one meter section of pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof Pipe"; unacidable = 1},/obj/item/stack/rods,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fE" = (/obj/machinery/atmospherics/pipe/simple/visible{desc = "A one meter section of pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof Pipe"; unacidable = 1},/obj/item/stack/rods,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fF" = (/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/machinery/atmospherics/pipe/simple/visible{desc = "A one meter section of pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof Pipe"; unacidable = 1},/obj/item/stack/rods,/obj/item/stack/cable_coil{amount = 5},/obj/item/weapon/shard{icon_state = "medium"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fG" = (/obj/machinery/atmospherics/pipe/simple/visible{desc = "A one meter section of pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof Pipe"; unacidable = 1},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fH" = (/obj/machinery/atmospherics/pipe/simple/visible{desc = "A one meter section of pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof Pipe"; unacidable = 1},/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/cleanable/blood{color = "red"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
@@ -296,328 +296,328 @@
"fJ" = (/obj/machinery/atmospherics/pipe/simple/visible{desc = "A one meter section of pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof Pipe"; unacidable = 1},/obj/structure/alien/weeds,/obj/structure/alien/resin/wall,/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fK" = (/obj/machinery/atmospherics/unary/outlet_injector{desc = "Has a valve and pump attached to it. This one has been applied with an acid-proof coating."; dir = 8; icon_state = "on"; name = "Acid-Proof Air Injector"; on = 1; unacidable = 1},/obj/structure/alien/weeds,/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"fL" = (/obj/machinery/light{active_power_usage = 0; dir = 4; icon_state = "tube-broken"; status = 2},/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/machinery/camera{c_tag = "Xenobiology Containment East"; dir = 8; network = list("MO19X")},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fM" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fN" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fO" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fP" = (/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fQ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fR" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fS" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/effect/decal/cleanable/blood/oil{color = "black"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fT" = (/obj/structure/filingcabinet,/obj/item/weapon/paper{info = "Entry One — 27/05/2554: I just arrived, and already I hate my job. I'm stuck on this shithole of an outpost, trying to avoid these damn eggheads running all over the place preparing for god knows what. There's no crimes to stop, no syndies to kill, and I'm not even allowed to beat the fuckin' assistant senseless! They said I was transferred from Space Station 13 for 'good behavior', but this feels more like a punishment than a reward. All I know is that if I don't get some action soon, I'm going to go insane. Entry Two — 03/06/2554: Okay, so get this: we got a fuckin' deathsquad coming in today! I thought the day I saw one of them would be the day my employment was 'terminated', if you get my drift. They're escorting some sort of weird alien creature for the eggheads to study. I heard one of the docs telling the chef that this thing killed a whole security force before it was captured. I sure as hell hope that I don't have to fight it. Entry Three — 08/06/2554: My first real bit of 'action' today, if you could call it that. Crazy Ivan got in a fight with Kuester today about his Booze-O-Mat. Apparently one of the crewmembers had stolen a couple bottles of booze from the machine after Ivan disabled the ID lock. Tell you the truth, I don't blame the thief. Everyone is going a little stir-crazy in here, and the bartender is being damn stingy with the alcohol. Either way, once they started to pick a fight, I had to take them down. It's a damn shame that we don't have a brig, though. I had to lock Ivan in a fuckin' freezer, for god's sake. Let's hope that we can keep our sanity together, at least for a while. Entry Four — 10/06/2554: Jesus fucking Christ riding on a motorbike. These things the scientists are studying are terrifying! Fucking great huge purple bug things as tall as the ceiling, with blades for arms and drooling at the mouth. I don't think my taser will do jack shit against these damn things, but the eggheads say that they're safely contained. If they do, I have a feeling that it's only a matter of time before we're all screwed. These bastards look like walking death. Entry Five — 18/06/2554: Finally caught who stole the booze from Kuester. It was that fuckin' loser assistant Steve! He was in the dorms, chugging his worries away. I took one of the bottles back to the barkeep, but no one has to know about this second one. I think I'm gonna enjoy this while watching tomorrow's Thunderdome match. Entry Six — 19/06/2554: Oh, great. The chef is still sleeping, so we get Ivan's gruel for breakfast today. I overheard Sano and Douglas saying something about the aliens being restless, so we might get some action today. As long as it happens after the big game, I'm fine with it. I still got one beer to drink before I'm ready to die."; name = "Personal Log — Kenneth Cunningham"},/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fU" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/item/clothing/suit/armor/vest,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/grenade/flashbang,/obj/item/weapon/storage/belt/security,/obj/item/weapon/reagent_containers/food/drinks/cans/beer{pixel_x = -3; pixel_y = -2},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fV" = (/obj/structure/sign/poster{icon_state = "poster21_legit"; pixel_y = 32; serial_number = 21; subtype = 1},/obj/item/device/radio/off,/obj/item/weapon/screwdriver{pixel_y = 10},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fW" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fX" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fY" = (/obj/structure/sign/biohazard{pixel_x = 32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"fZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ga" = (/obj/machinery/door/firedoor,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/closet/l3closet/scientist,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gc" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/item/stack/cable_coil/cut{amount = 1; icon_state = "coil_red1"; item_state = "coil_red1"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fM" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fN" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fO" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fP" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fQ" = (/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/effect/decal/cleanable/blood/oil{color = "black"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fS" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fT" = (/obj/structure/filingcabinet,/obj/item/weapon/paper{info = "Entry One — 27/05/2554: I just arrived, and already I hate my job. I'm stuck on this shithole of an outpost, trying to avoid these damn eggheads running all over the place preparing for god knows what. There's no crimes to stop, no syndies to kill, and I'm not even allowed to beat the fuckin' assistant senseless! They said I was transferred from Space Station 13 for 'good behavior', but this feels more like a punishment than a reward. All I know is that if I don't get some action soon, I'm going to go insane. Entry Two — 03/06/2554: Okay, so get this: we got a fuckin' deathsquad coming in today! I thought the day I saw one of them would be the day my employment was 'terminated', if you get my drift. They're escorting some sort of weird alien creature for the eggheads to study. I heard one of the docs telling the chef that this thing killed a whole security force before it was captured. I sure as hell hope that I don't have to fight it. Entry Three — 08/06/2554: My first real bit of 'action' today, if you could call it that. Crazy Ivan got in a fight with Kuester today about his Booze-O-Mat. Apparently one of the crewmembers had stolen a couple bottles of booze from the machine after Ivan disabled the ID lock. Tell you the truth, I don't blame the thief. Everyone is going a little stir-crazy in here, and the bartender is being damn stingy with the alcohol. Either way, once they started to pick a fight, I had to take them down. It's a damn shame that we don't have a brig, though. I had to lock Ivan in a fuckin' freezer, for god's sake. Let's hope that we can keep our sanity together, at least for a while. Entry Four — 10/06/2554: Jesus fucking Christ riding on a motorbike. These things the scientists are studying are terrifying! Fucking great huge purple bug things as tall as the ceiling, with blades for arms and drooling at the mouth. I don't think my taser will do jack shit against these damn things, but the eggheads say that they're safely contained. If they do, I have a feeling that it's only a matter of time before we're all screwed. These bastards look like walking death. Entry Five — 18/06/2554: Finally caught who stole the booze from Kuester. It was that fuckin' loser assistant Steve! He was in the dorms, chugging his worries away. I took one of the bottles back to the barkeep, but no one has to know about this second one. I think I'm gonna enjoy this while watching tomorrow's Thunderdome match. Entry Six — 19/06/2554: Oh, great. The chef is still sleeping, so we get Ivan's gruel for breakfast today. I overheard Sano and Douglas saying something about the aliens being restless, so we might get some action today. As long as it happens after the big game, I'm fine with it. I still got one beer to drink before I'm ready to die."; name = "Personal Log — Kenneth Cunningham"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fU" = (/obj/structure/sign/poster{icon_state = "poster21_legit"; pixel_y = 32; serial_number = 21; subtype = 1},/obj/item/device/radio/off,/obj/item/weapon/screwdriver{pixel_y = 10},/turf/simulated/floor/plasteel{dir = 5; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fV" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/item/clothing/suit/armor/vest,/obj/item/weapon/reagent_containers/spray/pepper,/obj/item/weapon/grenade/flashbang,/obj/item/weapon/storage/belt/security,/obj/item/weapon/reagent_containers/food/drinks/cans/beer{pixel_x = -3; pixel_y = -2},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel{dir = 1; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fW" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fX" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fY" = (/obj/structure/sign/biohazard{pixel_x = 32},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"fZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ga" = (/obj/machinery/door/firedoor,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -29},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gb" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/closet/l3closet/scientist,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gc" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/grille,/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/item/stack/cable_coil/cut{amount = 1; icon_state = "coil_red1"; item_state = "coil_red1"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gd" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/effect/decal/cleanable/blood{color = "red"},/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ge" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gf" = (/obj/structure/alien/weeds,/obj/structure/stool/bed/nest,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gg" = (/obj/structure/alien/weeds,/obj/structure/stool/bed/nest,/obj/item/clothing/mask/facehugger{icon_state = "facehugger_impregnated"; item_state = "facehugger_impregnated"; stat = 2},/obj/effect/decal/cleanable/blood/gibs{color = "red"; icon_state = "gibdown1_flesh"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gh" = (/obj/structure/stool,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gi" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gj" = (/obj/effect/decal/cleanable/blood/oil{color = "black"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gk" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gl" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gm" = (/obj/machinery/door/airlock/glass_security{name = "Security Post"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gn" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"go" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/firealarm{dir = 4; pixel_x = 28},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gp" = (/obj/structure/table,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/circular_saw,/obj/item/weapon/razor{pixel_y = 5},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gq" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gr" = (/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gs" = (/obj/structure/table,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/device/mmi,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gh" = (/obj/structure/stool,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gi" = (/obj/effect/decal/cleanable/blood/oil{color = "black"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gj" = (/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gk" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gl" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gm" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gn" = (/obj/machinery/door/airlock/glass_security{name = "Security Post"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"go" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/firealarm{dir = 4; pixel_x = 28},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gp" = (/obj/structure/alien/weeds/node,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gq" = (/obj/structure/table,/obj/item/weapon/scalpel{pixel_y = 12},/obj/item/weapon/circular_saw,/obj/item/weapon/razor{pixel_y = 5},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gr" = (/obj/structure/table,/obj/item/device/mmi,/obj/item/device/mmi,/obj/item/device/mmi,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gs" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gt" = (/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -12; pixel_y = 2},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gu" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gv" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/disposalpipe/segment{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/structure/cable,/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gu" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gv" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/disposalpipe/segment{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/structure/cable,/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gw" = (/obj/structure/disposalpipe/segment{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; dir = 4; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/structure/alien/weeds,/obj/structure/alien/resin/wall,/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gx" = (/obj/structure/disposalpipe/segment{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; dir = 2; icon_state = "pipe-c"; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gy" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high,/obj/item/device/radio/off,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gy" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high,/obj/item/device/radio/off,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gz" = (/turf/simulated/mineral/random/labormineral,/area/awaycontent/a4{has_gravity = 1; name = "Syndicate Outpost"})
-"gA" = (/obj/machinery/light/small,/obj/structure/closet/toolcloset,/obj/item/clothing/gloves/color/yellow,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gB" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gC" = (/obj/machinery/computer/monitor,/obj/structure/cable,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gD" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/newscaster/security_unit{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gE" = (/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gF" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gG" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gH" = (/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 4; locked = 0; name = "Worn-out APC"; pixel_x = 25; req_access = null; start_charge = 100},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gA" = (/obj/machinery/light/small,/obj/structure/closet/toolcloset,/obj/item/clothing/gloves/color/yellow,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gB" = (/obj/structure/table,/obj/item/weapon/paper{info = "Ivan Volodin Stories: Entry Won — 28/05/2554: Hello. I am Crazy Ivan. Boss say I must write. I do good job fixing outpost. Is very good job. Much better than mines. Many nice people. I cause no trouble. Entry Too — 05/06/2554: I am finding problem with Booze-O-Mat. Is not problem. I solve very easy. Use yellow tool to make purple light go off. I am good engineer! Bartender will be very happy. Entry Tree — 08/06/2554: Bartender is not happy. Security man is not happy. Cannot feel legs, is very cold in freezer. Is not good. Table is jammed into door, have no tools. Is very not good. But, on bright side, found meat! Shall chew to keep spirits up. Entry Fore — 12/06/2554: Big nasty purple bug looked at me today. Make nervous. Blue wall wire can be broken, then bad thing happens. Very very bad thing. Man in orange spacesuit wave at me today too. He seem nice. Wonder who was? Entry Fiv — 15/06/2554: I eat cornflakes today. Is good day. Sun shine for a while. Was nice. I also take ride on disposals chute. Was fun, but tiny. Get clog out of pipes, was vodka bottle. Is empty. This make many sads. Entry Sex: 19/06/2554: Purple bugs jumpy today. When waved, get hiss. Maybe very bad. Maybe just ill. Do not know. Is science problem, is not engineer problem. I eat sandwich. Is glorious job. Wish to never end."; name = "Personal Log — Ivan Volodin"},/obj/item/weapon/pickaxe,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gC" = (/obj/machinery/computer/monitor,/obj/structure/cable,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gD" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gE" = (/obj/structure/stool/bed/chair{dir = 4},/obj/machinery/newscaster/security_unit{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gF" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/obj/effect/decal/cleanable/blood/tracks{desc = "Your instincts say you shouldn't be following these."; dir = 8; icon_state = "ltrails_1"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gG" = (/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gH" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gI" = (/obj/structure/table,/obj/item/weapon/retractor,/obj/item/weapon/hemostat,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gJ" = (/obj/structure/table,/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gK" = (/obj/structure/filingcabinet/filingcabinet,/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano Date: 04/06/2554 Report: As expected, all that is left of the monkeys we sent in earlier is a group of xenomorph larvae. It is quite clear that the facehuggers are not selective in their hosts, and so far the gestation process has been shown to have a 100% success rate. The larvae themselves have been behaving very differently from the lone larva we first observed, and despite shying away from humans, they are clearly comfortable with others of their kind. Our previous suspicions on larvae have been confirmed with their demonstration of playfulness: they are not nearly as aggressive nor violent when young, before molting to adulthood. The majority of the play we observed involved a sort of hide-and-seek, and occasionally wrestling by tangling themselves and struggling out of it. While normally we would write these off as instinctual play for honing their skills when they molt, their growth period is so incredibly fast and they are still such adept killers, that it would serve no practical purpose. The only explanation for this is perhaps to create bonds and friendships with each other, if that is even possible for such an incredibly hostile race. It may be that they are much more reasonable with each other than other life forms. It had become clear that now was the best time to extract a xenomorph for dissecting, as these were all still larvae and the queen was still attached to its ovipositor and would be immobile. With the approval of the research director, we sent in our medical robot that had been dubbed 'Head Surgeon' into the containment pen, dropping the shields for only a fraction of a second to allow it entry. The larvae were cautious, but the curiosity of one had him within grabbing range of our robot. It was brought out and quickly euthanized through lethal injection, courtesy of our mechanical doctor."; name = "Larva Xenomorph Social Interactions & Capturing Procedure"},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano Date: 04/06/2554 Report: I have studied many interesting and diverse life-forms as a xenobiologist, ranging from creatures as large as cows, to specimens too small see with the naked eye. This is by far the largest alien I have ever seen. The alien we were previously studying has molted and has become an absolutely enormous creature. Standing at over 15 feet tall, and weighing in at likely two tons or more, the xenomorph queen is an absolutely breathtakingly large and cruel monster. Its behavior has changed drastically from when it was a drone, having become far more comfortable with sitting and staring at us, rather than smashing at the windows. The queen, physiologically speaking, is fairly similar to the other xenomorphs, with a few key differences. Its enormous size demands large legs, while the back seems to be always hunched forward. The dorsal tubes on the back have changed to several large spikes, and we observed that the alien now sports a second pair of smaller arms on its chest. The purpose of these secondary arms is still unknown. Finally, the queen's crown has become incredibly large, with what seems to be a retractable slot to hide its head in. The dome appears to be extremely thick near the front, and will likely be able to resist a lot of trauma. Despite the enormous size it has grown to, it is not much slower than it used to be. After two hours of doing relatively nothing but staring, the queen began to produce an unusually large amount of resin and weeds, quickly shaping up a large nest, that it then hid behind. It then proceeded to smash out all the lights, leaving us with very little to see with our cameras. When we looked through the back cameras, we had discovered that it had grown a large ovipositor, and was releasing large eggs onto the ground. This had us all in agreement that this stage of the life cycle was the queen. Over the next few hours, the eggs grew to their full sizes, and we provided the subject with new monkey hosts. When they approached the eggs, they opened to release more facehuggers. It seems that we have observed the full cycle of reproduction for this species. We can expect more larvae in the next few hours."; name = "Queen Xenomorph Physiology & Behavior Observation"},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano Date: 03/06/2554 Report: The other scientists and I can hardly believe our eyes. The snake-like larva has molted into a 7 foot tall insectoid nightmare in just a few hours. It's obvious now as to why such heavy duty containment was needed. It immediately tried to escape, however, by flinging itself at the window in a flurry of swipes and stabs. It seems its behavior has returned to a state that is very similar to the facehugger, though I doubt with the same intent! Thankfully, our glass and shields have shown to be more than sturdy enough for such a violent creature, and so far, any attempts at the creature escaping have been in vain. As for its physiology, the creature has an elongated head, with what appears to be have an exoskeleton resembling an external rib-cage on the torso. The alien is also fairly skinny with a lean body. The little amount of meat on the alien appears to be entirely muscle. We assume this makes it deceptively strong, while remaining agile at the same time. One of the most interesting things we have seen is its pharyngeal jaw. It has somewhat of an inner mouth, capable of being fired externally at extremely high speeds. It has already caused many dents in the walls and a few small cracks in the window with it. The alien also has a couple of dorsal tubes on its back, their purpose unknown. Finally, this monster sports a long ridged tail, complete with a large and extremely sharp blade at the tip. Normally I would be absolutely terrified of something like this, but I'm putting my trust in Nanotrasen with the containment. After all, they wouldn't build a cell that could fail to contain its subject – would they?"; name = "Adult Xenomorph Physiology & Behavior Observation"},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano Date: 03/06/2554 Report: When the larva first emerged from the chest of the monkey, it seemed very curious. It would wander around aimlessly for awhile and then sit still. We are unable to determine the gender of the larva, or even determine if it has a gender. After some time had passed, it seemed to lose interest in its surroundings and sat mostly still while occasionally wagging its tail. We decided to throw in a live mouse to see if it would consume it. The larva quickly attacked and ate the mouse, and seemed to get larger very suddenly; this suggests that the larvae are capable of metabolizing and directing all the energy towards growth at previously-thought impossible speeds. It is a shame that we cannot observe the process more closely, as we do not currently know how dangerous or violent this creature is, or will become, as it matures fully. It is tempting to imagine the possibilities of utilizing such a mechanism. The capability of skipping years of growth time for children, repairing bodily damage in a matter of moments, even its usage in existing cloning technology."; name = "Larva Xenomorph Physiology & Behavior Observation"},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano Date: 03/06/2554 Report: The test subject we were provided with truly is alien. It is a small spider-like creature with bony legs, leading to a smooth body. It has a long tail connected to it, and it has shown extremely aggressive behavior by flinging its entire body at the glass and shields to no avail. While doing so, we noticed there was a small pink hole in the middle of the body. When we sent in a monkey through the crude but effective disposal tube, the alien immediately jumped at its face and latched on. The monkey was quickly suffocated by its constricting tail, unable to pry off the fingers. The monkey at first seemed to be dead, but was observed to be breathing. The recently named alien 'facehugger' fell off, dead, and curled its legs up like a spider moments after it had finished with the monkey's body. While the monkey appeared to be unharmed, we kept it in the cell for a couple more hours, until we were horrified to discover it screaming out in pain, as a snake-like creature erupted from the monkey's chest! It appears that the 'facehugger' is only the start of this life cycle. The impregnation cycle involving the creatures growing inside the chests of their hosts seems to only be the beginning."; name = "'Facehugger' Xenomorph Physiology & Behavior Observation"},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gL" = (/obj/structure/table/reinforced,/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/item/device/radio/off,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gM" = (/obj/structure/cable,/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gL" = (/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 4; locked = 0; name = "Worn-out APC"; pixel_x = 25; req_access = null; start_charge = 100},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gM" = (/obj/structure/table/reinforced,/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/item/device/radio/off,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gN" = (/obj/structure/disposalpipe/segment{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/stack/rods,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gP" = (/obj/machinery/door_control{id = "Awaybiohazard"; name = "Biohazard Shutter Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "201"},/obj/machinery/light/small{dir = 8},/obj/machinery/computer/security{desc = "Used to access the various cameras on the outpost."; network = list("MO19R","MO19")},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gQ" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gR" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gS" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gT" = (/obj/machinery/light{active_power_usage = 0; dir = 4; icon_state = "tube-broken"; status = 2},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gU" = (/obj/machinery/optable,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gV" = (/obj/machinery/computer/operating,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gW" = (/obj/structure/table,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/mask/surgical,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gO" = (/obj/structure/cable,/obj/machinery/door/poddoor/preopen{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaylab"; name = "Acid-Proof containment chamber blast door"; unacidable = 1},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/item/stack/rods,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gQ" = (/obj/machinery/door_control{id = "Awaybiohazard"; name = "Biohazard Shutter Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "201"},/obj/machinery/light/small{dir = 8},/obj/machinery/computer/security{desc = "Used to access the various cameras on the outpost."; network = list("MO19R","MO19")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gR" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gS" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gT" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gU" = (/obj/machinery/light{active_power_usage = 0; dir = 4; icon_state = "tube-broken"; status = 2},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gV" = (/obj/machinery/optable,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gW" = (/obj/structure/table,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/mask/surgical,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gX" = (/obj/structure/filingcabinet/filingcabinet,/obj/item/weapon/paper{info = "Researcher: Dr. Mark Douglas Date: 17/06/2554 Report: Earlier today we have observed a new phenomenon with our subjects. While feeding them our last monkey subject and throwing out the box, the aliens merely looked at us, instead of infecting the monkey right away. They looked to be collectively distressed as they would no longer be given hosts, where instead we would move to the next phase of the experiment. When I glanced at the gas tanks and piping leading to their cell, I looked back to see all of them were up against the glass, even the queen! It was as if they all understood what was going to happen, even though we knew only the queen had the cognitive capability to do so. The only explanation for this is a form of communication between the aliens, but we have seen no such action take place anywhere in the cell until now. We also know that regular drone and hunter xenomorphs have no personality or instinct to survive by themselves. Perhaps the queen has a direct link to them? A form of a commander or overseer that controls their every move? A hivemind?"; name = "The Hivemind Hypothesis"},/obj/item/weapon/paper{info = "Researcher: Dr. Sakuma Sano Date: 08/06/2554 Report: The xenomorphs we have come to study here are a remarkable species. They are almost universally aggressive across all castes, showing no remorse or guilt or pause before or after acts of violence. They appear to be a species entirely designed to kill. Oddly enough, even their method of reproduction is a brutal two-for-one method of birthing a new xenomorph and killing its host. The lone xenomorph we studied only five days ago showed little sign of intelligence. Only a simple drone that flung itself at the safety glass and shields repeatedly and thankfully without success. Once the drone molted into a queen, it became much more calm and calculating, merely looking at us and waiting while building its nest. As the hive grew in size and in numbers, so too did the intelligence of the common hunter and drone. We are still researching how they can communicate with one another and the relationship between the different castes and the queen. We will continue to update our research as we learn more about the species."; name = "A Preliminary Study of Alien Behavior"},/obj/item/weapon/paper{info = "Researcher: Dr. Mark Douglas Date: 06/06/2554 Report: While observing the growing number of aliens in the containment cell, we began to notice subtle differences that were consistently repeating. Like ants, these creatures clearly have different specialized variations that determine their roles in the hive. We have dubbed the three currently observed castes as Hunters, Drones, and Sentinels. Hunters have been observed to be by far the most aggressive and agile of the three, constantly running on every surface and frequently swiping at the windows. They are also remarkably good at camouflaging themselves in darkness and on their resin structures, appearing almost invisible to the unwary observer. They are always the first to reach the monkeys we send in leading us to believe that this caste is primarily used for finding and retrieving hosts. Drones on the other hand are much more docile and seem more shy by comparison, though not any less aggressive than the other castes. They have been observed to have a much wider head and lack dorsal tubes. They have shown to be less agile and visibly more fragile than any other caste. The drone however has never been observed to interact with the monkeys directly and instead preferring maintenance of the hive by building walls of resin and moving eggs around the nest. As far as we know, we have only ever observed a drone become a queen, and we have no way of knowing if the other castes have that capability. Lastly, we have the Sentinels, which appear at first glance to be the guards of the hive. They have so far been only observed to remain near the queen and the eggs, frequently curled up against the walls. We have only observed one instance where they have interacted with a monkey who strayed too closely to the queen, and was pounced and held down immediately until it was applied with a facehugger. Their lack of movement makes it difficult to determine their exact purpose as guards, sentries, or other role."; name = "The Xenomorph 'Castes'"},/obj/item/weapon/paper{info = "Researcher: Dr. Mark Douglas Date: 04/06/2554 Report: After an extremely dangerous, time consuming and costly dissection, we have managed to record and identify several of the organs inside of the first stage of the xenomorph cycle: the larva. This procedure took an extensive amount of time because these creatures have incredibly, almost-comically acidic blood that can melt through almost anything in a few moments. We had to use over a dozen scalpels and retractors to complete the autopsy. The larva seems to possess far fewer and quite different organs than that of a human. There is a stomach, with no digestive tract, a heart, which seems to lack any blood-oxygen circulation purpose, and an elongated brain, even though its as dumb as any large cat. It also lacks any liver, kidneys, or other basic organs. We can't determine the exact nature of how these creatures grow, nor if they gain organs as they become adults. The larger breeds of xenomorph are too dangerous to kill and capture to give us an accurate answer to these questions. All that we can conclude is that being able to function with so little and yet be so deadly means that these creatures are highly evolved and likely to be extremely durable to various hazards that would otherwise be lethal to humans."; name = "Larva Xenomorph Autopsy Report"},/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"gY" = (/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"gZ" = (/obj/effect/decal/cleanable/dirt,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ha" = (/obj/machinery/shieldwallgen{locked = 0; req_access = null},/obj/structure/cable,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"gZ" = (/obj/machinery/computer/operating,/obj/structure/alien/weeds,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ha" = (/obj/effect/decal/cleanable/dirt,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hb" = (/obj/structure/disposaloutlet{desc = "An outlet for the pneumatic disposal system. This one has been applied with an acid-proof coating."; dir = 1; name = "Acid-Proof disposal outlet"; unacidable = 1},/obj/structure/disposalpipe/trunk{desc = "An underfloor disposal pipe. This one has been applied with an acid-proof coating."; dir = 1; name = "Acid-Proof disposal pipe"; unacidable = 1},/obj/structure/alien/weeds{icon_state = "weeds1"},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hc" = (/obj/machinery/light{active_power_usage = 0; dir = 2; icon_state = "tube-broken"; status = 2},/obj/structure/alien/weeds{icon_state = "weeds1"},/obj/machinery/camera{c_tag = "Xenobiology Containment South"; dir = 1; network = list("MO19X")},/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hd" = (/obj/machinery/sparker{desc = "A wall-mounted ignition device. This one has been applied with an acid-proof coating."; id = "awayxenobio"; name = "Acid-Proof mounted igniter"; pixel_x = 0; pixel_y = -25; unacidable = 1},/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/alien/resin/wall,/turf/simulated/floor/engine,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"he" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hg" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hh" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hi" = (/obj/structure/table,/obj/item/weapon/folder/red,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hj" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hk" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hl" = (/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/clothing/suit/storage/labcoat,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hm" = (/obj/structure/window/reinforced,/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres1"; locked = 1; name = "scientist's locker"; req_access_txt = "201"},/obj/item/clothing/suit/storage/labcoat,/obj/item/weapon/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hn" = (/obj/machinery/vending/medical{req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ho" = (/obj/structure/closet/crate/bin,/obj/item/clothing/gloves/color/latex,/obj/item/trash/chips,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{active_power_usage = 0; dir = 1; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hp" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/blood/oil{color = "black"},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"he" = (/obj/machinery/shieldwallgen{locked = 0; req_access = null},/obj/structure/cable,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hf" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/cobweb,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hh" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hi" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 10; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hj" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{dir = 6; icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hk" = (/obj/structure/table,/obj/item/weapon/folder/red,/turf/simulated/floor/plasteel{ icon_state = "red"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hl" = (/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/clothing/suit/storage/labcoat,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hm" = (/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hn" = (/obj/structure/window/reinforced,/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres1"; locked = 1; name = "scientist's locker"; req_access_txt = "201"},/obj/item/clothing/suit/storage/labcoat,/obj/item/weapon/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ho" = (/obj/machinery/vending/medical{req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hp" = (/obj/structure/closet/crate/bin,/obj/item/clothing/gloves/color/latex,/obj/item/trash/chips,/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{active_power_usage = 0; dir = 1; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hq" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hr" = (/obj/structure/closet/secure_closet{icon_broken = "rdsecurebroken"; icon_closed = "rdsecure"; icon_locked = "rdsecure1"; icon_off = "rdsecureoff"; icon_opened = "rdsecureopen"; icon_state = "rdsecure1"; locked = 1; name = "research director's locker"; req_access_txt = "201"},/obj/item/weapon/storage/backpack/satchel_tox,/obj/item/clothing/gloves/color/latex,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hs" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/toxins,/obj/item/weapon/cartridge/signal/toxins{pixel_x = -4; pixel_y = 2},/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ht" = (/obj/structure/filingcabinet/chestdrawer,/obj/machinery/light/small{active_power_usage = 0; dir = 1; icon_state = "bulb-broken"; status = 2},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/item/weapon/paper{info = "Personal Log for Research Director Gerald Rosswell Entry One — 17/05/2554: You know, I can't believe I took this position so suddenly. I saw that corporate needed a research director for one of its outposts and thought it would be a cakewalk; there isn't going to be a lot of research to be done on a tiny outpost. Mainly just running scans on the gas giant we are orbiting or some basic RnD. However, they conveniently forgot to tell me that I and my science staff would have to pull double duty as medical staff, and that there is no one higher up on the chain of command here, so I get to pull triple duty as acting captain as well! This shit is probably allowed in some 3pt. fine print buried underneath the literally thousands of pages of contracts. Well, at least the research will be easy work. Entry Two — 25/05/2554: Well, we all expected it at the outpost: CentComm has decided to completely change what research we are doing. They've decided that we should be researching the species known as 'xenomorphs'. They announced this change 4 days ago, and along with it, sadly, the termination of our current science staff, barring me. Not to mention the constant noise made by the construction detail they sent, to staple on a xenobiology lab, ensuring no one has been able to sleep decently ever since they announced the shift. To make matters worse, our current security guard actually died of a heart attack today. Just goes to show, that 75 year old men shouldn't be security guards. Still can't believe that they decided to do this major change less than a month after the outpost was established. Entry Three — 27/05/2554: The new security guard arrived today. Apparently transferred here from the research station that also is orbiting the gas giant. He seems to be rather angry about his transfer. Considering the rumors I've heard about the research station, he's probably caught off guard by the fact that Steve hasn't tried to force an IED down his throat. Entry Four — 06/06/2554: My requests for additional security and containment measures for the 'xenomorph' has been denied. Does Central Command not notice how dangerous these creatures are? The only thing keeping them in is a force field: a minor problem with the power grid and the entire hive is loose. What would stop them then, the lone security guard with a dinky little taser? Kenneth can barely handle a short-tempered engineer. We are under-equipped and under-staffed, we are inevitably going to be destroyed, unless we get the equipment and staff we need. Entry Five — 10/06/2554: Cunningham got a good look at the xenomorph in containment. He was frightened for the rest of the day, rather amusing if it wasn't for the fact that we are all trapped on this scrap heap, with naught but a force field keeping those xenomorphs in. Entry Six — 17/06/2554: The reactions from the specimens today have shown that they possess strange mental properties. Mark hypothesizes that they possibly have a sort of hive mind; while nothing is certain, this would explain how xenomorphs seem to have vastly increased intellect when a 'queen' is present. Of course, testing this hypothesis would require many complicated procedures which we will not be able to undertake. Although we do not know the full extend of the xenomorph mind, it may or may not be able to find a way to circumvent our containment system. I will resubmit my request for additional security measures, along with this newfound information."; name = "Personal Log — Gerald Rosswell"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hu" = (/obj/structure/closet/crate/bin,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hv" = (/obj/structure/grille,/obj/machinery/door/poddoor{id_tag = "AwayRD"; layer = 2.9; name = "privacy shutter"},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hw" = (/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hx" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hy" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hz" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hA" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/oil{color = "black"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer{pixel_x = 6; pixel_y = -5},/obj/item/device/assembly/prox_sensor{pixel_x = -5; pixel_y = -2},/obj/item/robot_parts/l_arm,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hB" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/machinery/firealarm{dir = 4; pixel_x = 28},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/blood/oil{color = "black"},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hw" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hx" = (/obj/structure/grille,/obj/machinery/door/poddoor{id_tag = "AwayRD"; layer = 2.9; name = "privacy shutter"},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hy" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hz" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hA" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hB" = (/obj/effect/decal/cleanable/blood/gibs/robot,/obj/effect/decal/cleanable/blood/oil{color = "black"},/obj/item/weapon/storage/firstaid/regular{empty = 1; name = "First-Aid (empty)"},/obj/item/device/healthanalyzer{pixel_x = 6; pixel_y = -5},/obj/item/device/assembly/prox_sensor{pixel_x = -5; pixel_y = -2},/obj/item/robot_parts/l_arm,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hC" = (/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hD" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hE" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/command{density = 0; emagged = 1; icon_state = "door_open"; locked = 1; name = "Research Director's Office"; opacity = 0; req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hF" = (/obj/structure/noticeboard{dir = 1; pixel_y = -32},/obj/machinery/light/small{active_power_usage = 0; dir = 2; icon_state = "bulb-broken"; status = 2},/obj/item/weapon/paper{info = "
In The Event of Xenobiology Breach: Evacuate staff, Lock down Xenobiology, Notify on-site superiors and/or Central Command immediatly. Current Xenobiology Containment Level:Secure RUN "; name = "Evacuation Procedure"},/obj/machinery/camera{c_tag = "Research Division"; dir = 1; network = list("MO19","MO19R")},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hH" = (/obj/machinery/door/airlock/glass_research{name = "Research Storage"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hI" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hF" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/fire{pixel_x = 0; pixel_y = 0},/obj/machinery/firealarm{dir = 4; pixel_x = 28},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hG" = (/obj/structure/noticeboard{dir = 1; pixel_y = -32},/obj/machinery/light/small{active_power_usage = 0; dir = 2; icon_state = "bulb-broken"; status = 2},/obj/item/weapon/paper{info = "In The Event of Xenobiology Breach: Evacuate staff, Lock down Xenobiology, Notify on-site superiors and/or Central Command immediatly. Current Xenobiology Containment Level:Secure RUN "; name = "Evacuation Procedure"},/obj/machinery/camera{c_tag = "Research Division"; dir = 1; network = list("MO19","MO19R")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitepurplecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hH" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hI" = (/obj/machinery/door/airlock/glass_research{name = "Research Storage"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hJ" = (/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"hK" = (/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"hL" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/contraband/poster,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hL" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 0; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hM" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hN" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hO" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaybiohazard"; layer = 2.9; name = "Acid-Proof biohazard containment door"; unacidable = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "delivery"; name = "floor"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hP" = (/obj/structure/table,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"hQ" = (/obj/structure/toilet{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"hR" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"hS" = (/obj/structure/urinal{pixel_y = 29},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"hT" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/urinal{pixel_y = 29},/obj/structure/mirror{pixel_x = 28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"hU" = (/obj/machinery/shower{pixel_y = 16},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"hV" = (/obj/machinery/shower{pixel_y = 16},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"hO" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/contraband/poster,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hP" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor{desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id_tag = "Awaybiohazard"; layer = 2.9; name = "Acid-Proof biohazard containment door"; unacidable = 1},/turf/simulated/floor/plasteel{ icon_state = "delivery"; name = "floor"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hQ" = (/obj/structure/table,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hR" = (/obj/structure/toilet{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"hS" = (/obj/structure/urinal{pixel_y = 29},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"hT" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"hU" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/urinal{pixel_y = 29},/obj/structure/mirror{pixel_x = 28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"hV" = (/obj/machinery/shower{pixel_y = 16},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"hW" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"hX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"hX" = (/obj/machinery/shower{pixel_y = 16},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"hY" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"hZ" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ia" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/computer/security/telescreen{desc = "Used for monitoring the research division and the labs within."; name = "research monitor"; network = list("MO19X","MO19R")},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ib" = (/obj/machinery/computer/aifixer,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ic" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"id" = (/obj/structure/rack,/obj/item/device/paicard{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ie" = (/obj/structure/rack,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"if" = (/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/Doorresearch.dmi'; id_tag = ""; name = "Research Division"; opacity = 1; req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ig" = (/obj/structure/closet/l3closet/general,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ih" = (/obj/structure/closet/l3closet/general,/obj/machinery/light/small{active_power_usage = 0; dir = 2; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ii" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ij" = (/obj/structure/table,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ik" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"il" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{desc = "Oh no, seven years of bad luck!"; icon_state = "mirror_broke"; pixel_x = 28; shattered = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"im" = (/obj/item/weapon/soap/nanotrasen,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"in" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"io" = (/obj/machinery/shower{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ip" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ic" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"id" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/circuitboard/teleporter,/turf/simulated/floor/plasteel{dir = 9; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ie" = (/obj/structure/rack,/turf/simulated/floor/plasteel{dir = 5; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"if" = (/obj/structure/rack,/obj/item/device/paicard{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ig" = (/obj/machinery/door/airlock/glass_medical{glass = 0; icon = 'icons/obj/doors/Doorresearch.dmi'; id_tag = ""; name = "Research Division"; opacity = 1; req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ih" = (/obj/structure/closet/l3closet/general,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ii" = (/obj/structure/table,/obj/item/clothing/glasses/hud/health,/obj/item/clothing/glasses/hud/health,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ij" = (/obj/structure/closet/l3closet/general,/obj/machinery/light/small{active_power_usage = 0; dir = 2; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ik" = (/obj/structure/table,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitecorner"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"il" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"im" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/structure/mirror{desc = "Oh no, seven years of bad luck!"; icon_state = "mirror_broke"; pixel_x = 28; shattered = 1},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"in" = (/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"io" = (/obj/item/weapon/soap/nanotrasen,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ip" = (/obj/machinery/shower{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"iq" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door_control{id = "Awaybiohazard"; name = "Biohazard Shutter Control"; pixel_x = 0; pixel_y = 8; req_access_txt = "201"},/obj/machinery/door_control{id = "AwayRD"; name = "Privacy Shutter Control"; pixel_x = 0; pixel_y = -2; req_access_txt = "201"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"ir" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"is" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"it" = (/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iu" = (/obj/item/weapon/storage/secure/safe{pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/pen,/obj/item/weapon/paper/crumpled{info = "19 06 2554 I fucking knew it. There was a major breach, that idiotic force field failed, and the xenomorphs rushed out and took out the scientists. I've managed to make it to my office and closed the blast doors. I can hear them trying to pry open the doors. Probably don't have long. I have no clue what has happened to the rest of the crew, for all I know they've been killed to produce more of the fucks. "; name = "Hastily Written Note"},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iv" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/shower{dir = 4; icon_state = "shower"; name = "emergency shower"; tag = "icon-shower (EAST)"},/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iw" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"ix" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iy" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iz" = (/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iA" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iB" = (/obj/machinery/shower{dir = 8},/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iC" = (/obj/structure/table,/obj/item/trash/plate,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iD" = (/obj/structure/table,/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iE" = (/obj/structure/table,/obj/item/trash/raisins,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iG" = (/obj/structure/sink{pixel_y = 28},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iH" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"is" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"it" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iu" = (/obj/item/weapon/storage/secure/safe{pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/blood/splatter,/obj/item/weapon/pen,/obj/item/weapon/paper/crumpled{info = "19 06 2554 I fucking knew it. There was a major breach, that idiotic force field failed, and the xenomorphs rushed out and took out the scientists. I've managed to make it to my office and closed the blast doors. I can hear them trying to pry open the doors. Probably don't have long. I have no clue what has happened to the rest of the crew, for all I know they've been killed to produce more of the fucks. "; name = "Hastily Written Note"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iv" = (/obj/effect/decal/cleanable/blood/splatter{color = "red"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iw" = (/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/shower{dir = 4; icon_state = "shower"; name = "emergency shower"; tag = "icon-shower (EAST)"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ix" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plasteel{dir = 5; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iy" = (/obj/structure/toilet{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iz" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iA" = (/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iC" = (/obj/machinery/shower{dir = 8},/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iD" = (/obj/structure/table,/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iE" = (/obj/structure/table,/obj/item/trash/plate,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iF" = (/obj/structure/table,/obj/item/trash/raisins,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iG" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iH" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"iI" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = -32},/obj/machinery/light/small{active_power_usage = 0; dir = 2; icon_state = "bulb-broken"; status = 2},/obj/machinery/camera{c_tag = "Research Director's Office"; dir = 1; network = list("MO19","MO19R")},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"iJ" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
"iK" = (/obj/structure/table,/obj/item/device/radio/off,/obj/item/device/laser_pointer,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iL" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iM" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iN" = (/obj/structure/table,/obj/item/weapon/storage/secure/briefcase,/obj/item/device/taperecorder{pixel_x = -3},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iO" = (/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -12; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iP" = (/obj/structure/closet/emcloset,/obj/machinery/light/small,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"iQ" = (/obj/machinery/shower{dir = 1; pixel_y = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iR" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iS" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iT" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iL" = (/obj/structure/sink{pixel_y = 28},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iM" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iN" = (/obj/structure/table,/obj/item/weapon/storage/secure/briefcase,/obj/item/device/taperecorder{pixel_x = -3},/turf/simulated/floor/plasteel{dir = 6; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iO" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warnwhite"; tag = "icon-warnwhite (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iP" = (/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -12; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iQ" = (/obj/structure/closet/emcloset,/obj/machinery/light/small,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warnwhite"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"iR" = (/obj/machinery/shower{dir = 1; pixel_y = 0},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iS" = (/obj/structure/stool/bed/chair{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iT" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"iU" = (/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 0},/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"iV" = (/obj/machinery/vending/boozeomat{req_access_txt = "0"},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iW" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"iX" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iW" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"iX" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"iY" = (/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"iZ" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ja" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"ja" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jb" = (/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"jc" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jd" = (/obj/structure/table,/obj/item/weapon/book/manual/detective,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"je" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jf" = (/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jc" = (/obj/structure/toilet{dir = 1},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"jd" = (/obj/structure/table,/obj/item/weapon/book/manual/detective,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"je" = (/obj/structure/stool/bed/chair/comfy/black{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jf" = (/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jg" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jh" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ji" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jj" = (/obj/structure/closet/crate/bin,/obj/machinery/light/small{dir = 8},/obj/item/trash/cheesie,/obj/item/trash/can,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jk" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jl" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jm" = (/obj/structure/stool,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jn" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ji" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jj" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jk" = (/obj/structure/closet/crate/bin,/obj/machinery/light/small{dir = 8},/obj/item/trash/cheesie,/obj/item/trash/can,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jm" = (/obj/structure/stool,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jn" = (/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jo" = (/obj/effect/decal/cleanable/flour,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jp" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/table,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jq" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/blood/oil{color = "black"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"jr" = (/obj/item/weapon/twohanded/required/kirbyplants{desc = "A plastic potted plant."; layer = 4.1; pixel_y = 3},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"js" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jt" = (/obj/structure/stool/bed/chair,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ju" = (/obj/structure/table,/obj/item/weapon/newspaper,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jv" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jw" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jx" = (/obj/machinery/vending/snack,/obj/structure/sign/poster{icon_state = "poster14"; pixel_x = 0; pixel_y = 32; serial_number = 14; subtype = 0},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jy" = (/obj/structure/sign/science{pixel_x = 0; pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "purple"; tag = "icon-purple (NORTHWEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jz" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "purple"; tag = "icon-purple (NORTH)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jA" = (/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "purple"; tag = "icon-purple (NORTHEAST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jq" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/effect/decal/cleanable/blood/oil{color = "black"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"js" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jt" = (/obj/item/weapon/twohanded/required/kirbyplants{desc = "A plastic potted plant."; layer = 4.1; pixel_y = 3},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ju" = (/obj/structure/table,/obj/item/weapon/newspaper,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jv" = (/obj/structure/stool/bed/chair,/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jw" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jx" = (/obj/machinery/vending/snack,/obj/structure/sign/poster{icon_state = "poster14"; pixel_x = 0; pixel_y = 32; serial_number = 14; subtype = 0},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jy" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jz" = (/obj/structure/sign/science{pixel_x = 0; pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 9; icon_state = "purple"; tag = "icon-purple (NORTHWEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jA" = (/turf/simulated/floor/plasteel{dir = 5; icon_state = "purple"; tag = "icon-purple (NORTHEAST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jB" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"jC" = (/obj/structure/alien/weeds,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"jD" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/obj/structure/alien/weeds/node,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"jE" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jF" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jG" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jH" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jI" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 1; locked = 0; name = "Worn-out APC"; pixel_x = 0; pixel_y = 25; req_access = null; start_charge = 100},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jJ" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jK" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jL" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jM" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/weapon/paper{info = "I Can't Believe It's Not Pasta: Half off on Wednesdays Burger night every Friday 6PM-10PM, free drinks with purchase of meal! Premiering Tonight: The comedy stylings of Shoe Snatching Willy! 11AM-7PM "; name = "Specials This Week"},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jN" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jO" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jP" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "purple"; tag = "icon-purple (NORTH)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jF" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jG" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jH" = (/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jI" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jJ" = (/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 1; locked = 0; name = "Worn-out APC"; pixel_x = 0; pixel_y = 25; req_access = null; start_charge = 100},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jK" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jL" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jM" = (/obj/structure/noticeboard{pixel_y = 32},/obj/item/weapon/paper{info = "I Can't Believe It's Not Pasta: Half off on Wednesdays Burger night every Friday 6PM-10PM, free drinks with purchase of meal! Premiering Tonight: The comedy stylings of Shoe Snatching Willy! 11AM-7PM "; name = "Specials This Week"},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jN" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jO" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jP" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jQ" = (/obj/structure/table,/obj/item/weapon/book/manual/barman_recipes{pixel_y = 5},/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jR" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"jS" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jT" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"jU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"jZ" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "purplecorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ka" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "purplecorner"; tag = "icon-purplecorner (NORTH)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "purplecorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kc" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kd" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; nitrogen = 0; oxygen = 0; tag = "icon-damaged1 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ke" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; nitrogen = 0; oxygen = 0; tag = "icon-floorscorched2 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kf" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 0; oxygen = 0; tag = "icon-floorgrime (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 0; oxygen = 0; tag = "icon-floorgrime (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "platingdmg1"; nitrogen = 0; oxygen = 0; tag = "icon-platingdmg1"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ki" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; nitrogen = 0; oxygen = 0; tag = "icon-floorscorched1 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged3"; nitrogen = 0; oxygen = 0; tag = "icon-damaged3 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kl" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"km" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kn" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ko" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/reagent_containers/glass/rag{pixel_y = 5},/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jT" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jU" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
+"jV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"jZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ka" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 1; icon_state = "purplecorner"; tag = "icon-purplecorner (NORTH)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kb" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel{dir = 4; icon_state = "purplecorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "purplecorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kd" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ke" = (/obj/structure/grille,/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kf" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{icon_state = "damaged1"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kg" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kh" = (/obj/machinery/light/small{dir = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ki" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating/airless{icon_state = "platingdmg1"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kk" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"km" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kn" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ko" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kp" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kq" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/obj/item/weapon/kitchen/knife,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kr" = (/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes{pixel_x = 2; pixel_y = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ks" = (/obj/effect/decal/cleanable/fruit_smudge,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kt" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/processor,/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ku" = (/obj/structure/closet/crate/bin,/obj/item/trash/candy,/obj/item/trash/can,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kv" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kw" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kx" = (/obj/machinery/light/small,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = -32},/obj/machinery/camera{c_tag = "Arrivals North"; dir = 1; network = list("MO19")},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ky" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = -32; serial_number = 2; subtype = 1},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kz" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kA" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kB" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kC" = (/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kD" = (/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged2"; nitrogen = 0; oxygen = 0; tag = "icon-damaged2 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kE" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 0; oxygen = 0; tag = "icon-floorgrime (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kF" = (/obj/effect/decal/cleanable/generic,/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is curled up in fetal position with the hands placed near the throat."},/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged4"; nitrogen = 0; oxygen = 0; tag = "icon-damaged4 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kG" = (/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged5"; nitrogen = 0; oxygen = 0; tag = "icon-damaged5 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kH" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 0; oxygen = 0; tag = "icon-floorgrime (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kI" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kJ" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kK" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kL" = (/obj/effect/decal/cleanable/blood/xeno{color = "green"},/obj/effect/decal/cleanable/blood/gibs/xeno,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kM" = (/obj/effect/decal/cleanable/blood/xeno{color = "green"},/obj/effect/decal/remains/xeno{desc = "They look like the remains of something... alien. The front of skull appears to have been completely obliterated."},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ku" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/reagent_containers/glass/rag{pixel_y = 5},/obj/machinery/door/poddoor/shutters{dir = 8; id_tag = "awaykitchen"; name = "Serving Hatch"},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kv" = (/obj/structure/closet/crate/bin,/obj/item/trash/candy,/obj/item/trash/can,/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kw" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kx" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ky" = (/obj/machinery/light/small,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = -32},/obj/machinery/camera{c_tag = "Arrivals North"; dir = 1; network = list("MO19")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kz" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitecorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kA" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = -32; serial_number = 2; subtype = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kB" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched1"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kE" = (/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kF" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kG" = (/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kH" = (/obj/effect/decal/cleanable/generic,/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is curled up in fetal position with the hands placed near the throat."},/turf/simulated/floor/plasteel/airless{icon_state = "damaged4"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kI" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kJ" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kK" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kL" = (/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kM" = (/obj/effect/decal/cleanable/blood/xeno{color = "green"},/obj/effect/decal/cleanable/blood/gibs/xeno,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"kN" = (/obj/structure/closet/crate/bin,/obj/item/trash/plate,/obj/item/weapon/reagent_containers/food/snacks/badrecipe,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kO" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kP" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kQ" = (/obj/item/stack/rods,/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kR" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "platingdmg3"; nitrogen = 0; oxygen = 0; tag = "icon-platingdmg3"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kS" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kT" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kU" = (/obj/machinery/door_control{id = "awaydorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kV" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/navy,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kW" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kX" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kY" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/turf/simulated/floor/plasteel{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"kZ" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"la" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 0; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lb" = (/obj/structure/stool/bed/chair,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kO" = (/obj/effect/decal/cleanable/blood/xeno{color = "green"},/obj/effect/decal/remains/xeno{desc = "They look like the remains of something... alien. The front of skull appears to have been completely obliterated."},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kP" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kQ" = (/turf/simulated/floor/plasteel/airless{icon_state = "damaged5"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kS" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kT" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kU" = (/obj/machinery/door/firedoor{density = 1; icon_state = "door_closed"; opacity = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kV" = (/obj/machinery/door_control{id = "awaydorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kW" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/navy,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kX" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kY" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"kZ" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"la" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lb" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel{dir = 0; icon_state = "blue"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lc" = (/obj/structure/extinguisher_cabinet{pixel_x = 26; pixel_y = 0},/obj/machinery/camera{c_tag = "Kitchen"; dir = 8; network = list("MO19")},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ld" = (/turf/simulated/floor/plating/airless/asteroid,/turf/simulated/shuttle/wall{tag = "icon-swall_f6"; icon_state = "swall_f6"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"le" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lf" = (/turf/simulated/floor/plating/airless/asteroid,/turf/simulated/shuttle/wall{dir = 3; icon_state = "swall_f10"; layer = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lg" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lh" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"li" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "warningcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lg" = (/obj/structure/stool/bed/chair,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lh" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "arrival"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"li" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warningcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lj" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lk" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"ll" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "neutral"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lm" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ln" = (/obj/machinery/door/airlock{id_tag = "awaydorm1"; name = "Dorm 1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lo" = (/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lp" = (/obj/machinery/light/small{dir = 4},/obj/structure/stool/bed/chair/wood/normal,/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lq" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lr" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/storage/box,/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ls" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lt" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/obj/machinery/camera{c_tag = "Bar"; dir = 8; network = list("MO19")},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ll" = (/obj/item/stack/rods,/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lm" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ln" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lo" = (/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lp" = (/obj/machinery/door/airlock{id_tag = "awaydorm1"; name = "Dorm 1"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lq" = (/obj/machinery/light/small{dir = 4},/obj/structure/stool/bed/chair/wood/normal,/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lr" = (/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ls" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/storage/box,/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lt" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lu" = (/obj/machinery/door_control{id = "awaykitchen"; name = "Kitchen Shutters Control"; pixel_x = -25; pixel_y = 0; req_access_txt = "0"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lv" = (/obj/machinery/door/airlock{name = "Kitchen Cold Room"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lw" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lx" = (/obj/structure/sink/kitchen{desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; pixel_y = 28},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ly" = (/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lv" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/obj/machinery/camera{c_tag = "Bar"; dir = 8; network = list("MO19")},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lw" = (/obj/machinery/door/airlock{name = "Kitchen Cold Room"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lx" = (/obj/structure/sink/kitchen{desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; name = "old sink"; pixel_y = 28},/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ly" = (/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lz" = (/turf/simulated/shuttle/wall{icon_state = "swall14"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lA" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lB" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/shuttle/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lC" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lD" = (/turf/simulated/shuttle/wall{icon_state = "swall1"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lE" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/shuttle/plating{carbon_dioxide = 0; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "neutral"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lF" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_r (WEST)"; icon_state = "burst_r"; dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lG" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lH" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "warningcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lI" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lJ" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lK" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lL" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lM" = (/obj/structure/table/woodentable,/obj/item/weapon/lighter/zippo,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lN" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lO" = (/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lP" = (/obj/effect/decal/cleanable/blood/oil{color = "black"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lQ" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lG" = (/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lH" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lI" = (/obj/structure/table,/obj/item/weapon/storage/fancy/cigarettes/dromedaryco,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lJ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lK" = (/obj/structure/shuttle/engine/heater{tag = "icon-heater (EAST)"; icon_state = "heater"; dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lL" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "warningcorner"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lM" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lN" = (/obj/structure/table/woodentable,/obj/item/weapon/lighter/zippo,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lO" = (/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lP" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lQ" = (/obj/effect/decal/cleanable/blood/oil{color = "black"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lR" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock{name = "Kitchen"; req_access_txt = "201"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lS" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lT" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lU" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/obj/item/clothing/suit/chaplain_hoodie,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"lV" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is sitting upright with its legs tucked in and hands still holding onto its arms."},/obj/item/weapon/gun/projectile/shotgun/sc_pump,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"lV" = (/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lW" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lX" = (/obj/structure/table,/obj/item/weapon/storage/lockbox,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"lY" = (/obj/structure/table,/obj/item/device/radio/off,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -629,27 +629,27 @@
"me" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = 30},/obj/machinery/light/small{dir = 1},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mf" = (/obj/structure/closet/emcloset,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mg" = (/obj/structure/shuttle/engine/propulsion{tag = "icon-burst_l (WEST)"; icon_state = "burst_l"; dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mh" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mi" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mj" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/cleanable/dirt,/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mk" = (/obj/structure/stool,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ml" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mh" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is sitting upright with its legs tucked in and hands still holding onto its arms."},/obj/item/weapon/gun/projectile/shotgun/sc_pump,/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mi" = (/turf/simulated/floor/plasteel/airless{icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mj" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mk" = (/obj/machinery/portable_atmospherics/canister/air,/obj/effect/decal/cleanable/dirt,/obj/structure/window/basic{dir = 1},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ml" = (/obj/structure/stool,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mm" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel/withwallet,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mn" = (/obj/structure/closet/secure_closet{icon_state = "secure"; locked = 0; name = "kitchen Cabinet"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mo" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "meat fridge"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mp" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/storage/fancy/egg_box,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mn" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mo" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "meat fridge"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mp" = (/obj/structure/closet/secure_closet{icon_state = "secure"; locked = 0; name = "kitchen Cabinet"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mq" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mr" = (/obj/structure/stool/bed/chair{dir = 1},/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ms" = (/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mt" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mu" = (/obj/structure/stool/bed/chair{dir = 8},/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mv" = (/obj/machinery/light/small{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mw" = (/obj/structure/grille,/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = 0},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mx" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"my" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mz" = (/obj/structure/table/woodentable,/obj/machinery/door_control{id = "awaydorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mA" = (/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mB" = (/obj/structure/closet/emcloset,/obj/structure/window/basic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mw" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/storage/fancy/egg_box,/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mx" = (/obj/structure/grille,/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = 0},/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"my" = (/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mz" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mA" = (/obj/structure/table/woodentable,/obj/machinery/door_control{id = "awaydorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mB" = (/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mC" = (/obj/machinery/computer/arcade,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mD" = (/obj/machinery/vending/cigarette,/obj/structure/sign/poster{icon_state = "poster7"; pixel_y = -32; serial_number = 7; subtype = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mE" = (/obj/machinery/light/small{dir = 8},/obj/structure/stool/bed/chair/comfy/beige,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
@@ -660,83 +660,82 @@
"mJ" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mK" = (/obj/structure/sign/vacuum{desc = "A beacon used by a teleporter."; icon = 'icons/obj/radio.dmi'; icon_state = "beacon"; name = "tracking beacon"},/obj/effect/landmark{name = "awaystart"},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mL" = (/obj/machinery/door/airlock/shuttle{name = "Shuttle Airlock"},/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mM" = (/obj/machinery/door/airlock/external,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mN" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mO" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/noticeboard{dir = 8; pixel_x = 32; pixel_y = 0},/obj/item/weapon/paper{info = "
Welcome to Moon Outpost 19! Property of Nanotrasen Inc. Staff Roster: Dr. Gerald Rosswell: Research Director & Acting Captain Dr. Sakuma Sano: Xenobiologist Dr. Mark Douglas: Xenobiologist Kenneth Cunningham: Security Officer Ivan Volodin: Engineer Mathias Kuester: Bartender Sven Edling: Chef Steve: Assistant Please enjoy your stay, and report any abnormalities to an officer."; name = "Welcome Notice"},/obj/machinery/camera{c_tag = "Arrivals South"; dir = 8; network = list("MO19")},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mM" = (/obj/structure/closet/emcloset,/obj/structure/window/basic,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mN" = (/obj/machinery/door/airlock/external,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mO" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mP" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mQ" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; nitrogen = 0; oxygen = 0; tag = "icon-floorscorched2 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mR" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 9; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mS" = (/obj/machinery/door/airlock{id_tag = "awaydorm2"; name = "Dorm 2"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mT" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mU" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"mV" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mQ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mR" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mS" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/noticeboard{dir = 8; pixel_x = 32; pixel_y = 0},/obj/item/weapon/paper{info = "
Welcome to Moon Outpost 19! Property of Nanotrasen Inc. Staff Roster: Dr. Gerald Rosswell: Research Director & Acting Captain Dr. Sakuma Sano: Xenobiologist Dr. Mark Douglas: Xenobiologist Kenneth Cunningham: Security Officer Ivan Volodin: Engineer Mathias Kuester: Bartender Sven Edling: Chef Steve: Assistant Please enjoy your stay, and report any abnormalities to an officer."; name = "Welcome Notice"},/obj/machinery/camera{c_tag = "Arrivals South"; dir = 8; network = list("MO19")},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mT" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mU" = (/obj/machinery/door/airlock{id_tag = "awaydorm2"; name = "Dorm 2"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"mV" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mW" = (/obj/structure/table,/obj/item/weapon/clipboard,/obj/item/weapon/pen,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mX" = (/obj/structure/stool/bed/chair,/obj/machinery/light/small{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mY" = (/turf/simulated/shuttle/wall{icon_state = "swall2"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"mZ" = (/obj/machinery/light/small{dir = 4},/obj/structure/window/reinforced,/turf/simulated/shuttle/floor{icon_state = "floor2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"na" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nb" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood{color = "red"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nc" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/assistantformal,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nd" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/generic,/obj/structure/window/basic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"na" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 9; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nb" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nc" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/effect/decal/cleanable/blood{color = "red"},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nd" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/assistantformal,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ne" = (/turf/simulated/floor/plating/airless/asteroid,/turf/simulated/shuttle/wall{icon_state = "swall_f5"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nf" = (/turf/simulated/shuttle/floor,/turf/simulated/shuttle/wall{icon_state = "swall_f10"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ng" = (/obj/structure/filingcabinet,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nh" = (/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light/small,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"ni" = (/obj/machinery/newscaster{pixel_x = 0; pixel_y = -30},/obj/machinery/light/small,/turf/simulated/shuttle/floor,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nj" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged2"; nitrogen = 0; oxygen = 0; tag = "icon-damaged2 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nk" = (/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; nitrogen = 0; oxygen = 0; tag = "icon-floorscorched2 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nl" = (/obj/effect/decal/cleanable/dirt,/obj/item/trash/candy,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nm" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nn" = (/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nj" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nk" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nl" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/generic,/obj/structure/window/basic,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nm" = (/obj/item/weapon/cigbutt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nn" = (/obj/effect/decal/cleanable/dirt,/obj/item/trash/candy,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"no" = (/turf/simulated/shuttle/wall{icon_state = "swall13"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"np" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nq" = (/obj/structure/table,/obj/item/weapon/paper{info = "Ivan Volodin Stories: Entry Won — 28/05/2554: Hello. I am Crazy Ivan. Boss say I must write. I do good job fixing outpost. Is very good job. Much better than mines. Many nice people. I cause no trouble. Entry Too — 05/06/2554: I am finding problem with Booze-O-Mat. Is not problem. I solve very easy. Use yellow tool to make purple light go off. I am good engineer! Bartender will be very happy. Entry Tree — 08/06/2554: Bartender is not happy. Security man is not happy. Cannot feel legs, is very cold in freezer. Is not good. Table is jammed into door, have no tools. Is very not good. But, on bright side, found meat! Shall chew to keep spirits up. Entry Fore — 12/06/2554: Big nasty purple bug looked at me today. Make nervous. Blue wall wire can be broken, then bad thing happens. Very very bad thing. Man in orange spacesuit wave at me today too. He seem nice. Wonder who was? Entry Fiv — 15/06/2554: I eat cornflakes today. Is good day. Sun shine for a while. Was nice. I also take ride on disposals chute. Was fun, but tiny. Get clog out of pipes, was vodka bottle. Is empty. This make many sads. Entry Sex: 19/06/2554: Purple bugs jumpy today. When waved, get hiss. Maybe very bad. Maybe just ill. Do not know. Is science problem, is not engineer problem. I eat sandwich. Is glorious job. Wish to never end."; name = "Personal Log — Ivan Volodin"},/obj/item/weapon/pickaxe,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "MO19 Research"})
-"nr" = (/obj/machinery/camera{c_tag = "Dormitories"; dir = 4; network = list("MO19")},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; nitrogen = 0; oxygen = 0; tag = "icon-damaged1 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ns" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nt" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nu" = (/obj/structure/grille,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nv" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"np" = (/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nq" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nr" = (/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ns" = (/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nt" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nu" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nv" = (/obj/machinery/camera{c_tag = "Dormitories"; dir = 4; network = list("MO19")},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged1"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nw" = (/turf/simulated/floor/plating/airless/asteroid,/turf/simulated/shuttle/wall{icon_state = "swall_f9"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nx" = (/obj/machinery/light/small{dir = 1},/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/structure/table,/obj/structure/bedsheetbin,/obj/item/clothing/accessory/black,/obj/item/clothing/under/lawyer/black,/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "barber"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ny" = (/obj/machinery/washing_machine,/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "barber"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nz" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nB" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nC" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nx" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ny" = (/obj/machinery/light/small{dir = 1},/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/structure/table,/obj/structure/bedsheetbin,/obj/item/clothing/accessory/black,/obj/item/clothing/under/lawyer/black,/turf/simulated/floor/plasteel/airless{icon_state = "barber"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nz" = (/obj/machinery/washing_machine,/turf/simulated/floor/plasteel/airless{icon_state = "barber"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nB" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nC" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"nD" = (/obj/item/stack/rods,/obj/item/weapon/shard{icon_state = "small"},/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"nE" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "platingdmg1"; nitrogen = 0; oxygen = 0; tag = "icon-platingdmg1"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nF" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 0; oxygen = 0; tag = "icon-floorgrime (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nG" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "platingdmg3"; nitrogen = 0; oxygen = 0; tag = "icon-platingdmg3"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nH" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 6; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; nitrogen = 0; oxygen = 0; tag = "icon-floorgrime (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nI" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/door_control{id = "awaydorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is laid out on its side and there seems to have been no sign of struggle."; layer = 4.1},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nJ" = (/obj/structure/dresser,/obj/item/weapon/paper{info = "Bugs break out. I run to here and lock door. I hear door next to me break open and screams. All nice people here dead now. I no want to be eaten, and bottle always said to be coward way out, but person who say that is stupid. Mira, there is no escape for me, tell Alexis and Elena that father will never come home, and that I love you all. "; name = "Note"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nK" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nL" = (/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = -32},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nM" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nN" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nO" = (/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 4; heat_capacity = 1e+006; icon_state = "neutral"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nP" = (/obj/machinery/door/airlock{icon_state = "door_locked"; id_tag = "awaydorm3"; locked = 1; name = "Dorm 3"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nQ" = (/obj/item/weapon/pen,/obj/item/weapon/storage/pill_bottle{pixel_y = 6},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nR" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nS" = (/obj/structure/closet,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nT" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel{broken = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; nitrogen = 0; oxygen = 0; tag = "icon-damaged1 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nU" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/burgundy,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nV" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nW" = (/obj/structure/grille,/obj/structure/disposalpipe/segment,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nX" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nY" = (/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 27},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"nZ" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/plasteel{burnt = 1; carbon_dioxide = 0; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; nitrogen = 0; oxygen = 0; tag = "icon-floorscorched2 (WEST)"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"oa" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plasteel{carbon_dioxide = 0; dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ob" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"oc" = (/obj/item/weapon/twohanded/required/kirbyplants{desc = "A plastic potted plant."; layer = 4.1; pixel_y = 3},/turf/simulated/floor/plasteel{carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "neutral"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"od" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nE" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel/airless{icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nF" = (/obj/structure/grille{density = 0; destroyed = 1; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless{icon_state = "platingdmg1"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nG" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nH" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 4; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless{icon_state = "platingdmg3"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nI" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/door_control{id = "awaydorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/obj/effect/decal/remains/human{desc = "They look like human remains. The skeleton is laid out on its side and there seems to have been no sign of struggle."; layer = 4.1},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nJ" = (/obj/structure/dresser,/obj/item/weapon/paper{info = "Bugs break out. I run to here and lock door. I hear door next to me break open and screams. All nice people here dead now. I no want to be eaten, and bottle always said to be coward way out, but person who say that is stupid. Mira, there is no escape for me, tell Alexis and Elena that father will never come home, and that I love you all. "; name = "Note"},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nK" = (/obj/effect/decal/cleanable/cobweb2,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nL" = (/obj/structure/sign/vacuum{desc = "A warning sign which reads 'HOSTILE ATMOSPHERE AHEAD'"; name = "\improper HOSTILE ATMOSPHERE AHEAD"; pixel_x = -32},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nM" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nN" = (/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 6; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nO" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nP" = (/obj/item/weapon/pen,/obj/item/weapon/storage/pill_bottle{pixel_y = 6},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nQ" = (/obj/machinery/door/airlock{icon_state = "door_locked"; id_tag = "awaydorm3"; locked = 1; name = "Dorm 3"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nR" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nS" = (/obj/structure/closet,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nT" = (/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "neutral"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nU" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/burgundy,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nV" = (/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nW" = (/obj/structure/grille,/obj/structure/disposalpipe/segment,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nX" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel/airless{icon_state = "damaged1"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nY" = (/turf/simulated/floor/plasteel/airless{dir = 4; icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"nZ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"oa" = (/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"ob" = (/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"oc" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/generic,/turf/simulated/floor/plasteel/airless{icon_state = "neutralcorner"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"od" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"oe" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"of" = (/obj/item/trash/candy,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"og" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"og" = (/obj/item/weapon/twohanded/required/kirbyplants{desc = "A plastic potted plant."; layer = 4.1; pixel_y = 3},/turf/simulated/floor/plasteel/airless{icon_state = "neutral"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"oh" = (/obj/item/weapon/pickaxe,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"oi" = (/obj/structure/grille,/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"oj" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{broken = 1; carbon_dioxide = 0; heat_capacity = 1e+006; icon_state = "platingdmg1"; nitrogen = 0; oxygen = 0; tag = "icon-platingdmg1"; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
-"ok" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"oi" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/plating/airless,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
+"oj" = (/obj/structure/disposaloutlet,/obj/structure/disposalpipe/trunk{dir = 1},/turf/simulated/floor/plasteel/airless{icon_plating = "asteroidplating"; icon_state = "asteroidplating"; name = "plating"},/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"ol" = (/turf/simulated/mineral,/area/awaycontent/a1{has_gravity = 1; name = "MO19 Arrivals"})
"om" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"on" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{always_unpowered = 1; ambientsounds = list('sound/ambience/ambimine.ogg'); has_gravity = 1; name = "Khonsu 19"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
@@ -755,22 +754,22 @@ aaaaaaaaaaaaaaabababababababababababababababababababafagahahafacabababababababab
aaaaaaaaaaaaaaabababababababababababababababababababacajaiakajafabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababacafadacafadacadababababababababadacahamalafabababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabadacafahahaganapaoafacafabababababababafadaqadacabababababababababababababababafacarabababababababababababababababasasasasasasasabababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabadahakaoaqauatawavaqaeacafababababababacafahafabababadafafacabababababababadacafaeafabababababababababababababababasaxayazaAaBasabababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaafafagaoaCalahaoaqafahaoaqacafacafadacabadaqaoacababadacaDajadababababababadafalagaqacabababababababababababababababasaEaFaGaHaAasabababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacaeakahalaqaoahaoaoaqahaoahafamahaqacadacahafadababafaIaKaJafacadacafacafafaqaLaqahafabababababababababababababababasaMaNaOaPaQasababababababababababababababaRababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaadagahakaoaSaqamaoahahaoamaqadamaoaqahafafaoacadafafacahaiaoahaoaoamaoahaqaoahaoamanadababababababababababaTaTaTaTabasaUaVaWaXaYasabababababababababababababaZaZababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacafakbaaqatbbaqaqahaqahaqaoafacadahahaoaqahaoahaLaoaqaqahanafacafadacafacafakahahalacababababababababababaTbcbdaTaTasbeaUbfbgbhasababababababababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabadahaqaCbibkbjakaCaqaqahacafabacafaoamaoaqafadafahaqamaealafblblblblblbladacaqaeafafababababababababaTaTaTbmbnbobpasbqbrbsbtbuasababababababababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabadafagahbbaqakaoaeaoaoafadabababafafaoahaqacblacacafaealafacblblblblblblacafaoafadabababababababababaTbvbwbxbxbybzasbAbBbCbDbEasababababababababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababadafadacafacafadafacafabababadacahaqaoafafblblbladacafadblblblblblblblafahaoacababababababababababaTbFaTbGbHbIbJasbKbLbCbMbNasasasasasasasababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababacaqaqahacadblblblblblblblblblblblblblblblafaqadafababababababababababaTaTaTaTbObPaTasasasbQasasasbRbSbTbUbVasababababababababaZaZaZaZaZababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababafahaoafadblblblblblblblblblblblblblblblbladbWafabababababababababababaTbYbXcabZcbbPcdcccfcechcgascicjckclcmasababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababacaqahacblblblblblblblblblblblblblblblbladafahacabababababababababababaTbYcncpcocrcqcsbZbZctcvcucwcxcyczcAcBasababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababafaoaqafblblblblblblbladacafadacacblblafacaoaqafabababababababababababaTcCcDcEbZcGcFcIcHcKcJcHcLascMcNcOcNcPasababababaZababaZaZababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabadahakaoaqauatawavaqaeacafababababababacafahafabababadafafacabababababababadacafaeafabababababababababababababababasaxazayaBaAasabababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaafafagaoaCalahaoaqafahaoaqacafacafadacabadaqaoacababadacaDajadababababababadafalagaqacabababababababababababababababasaEaGaFaHaBasabababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacaeakahalaqaoahaoaoaqahaoahafamahaqacadacahafadababafaIaKaJafacadacafacafafaqaLaqahafabababababababababababababababasaMaOaNaQaPasababababababababababababababaRababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaadagahakaoaSaqamaoahahaoamaqadamaoaqahafafaoacadafafacahaiaoahaoaoamaoahaqaoahaoamanadababababababababababaTaTaTaTabasaUaWaVaYaXasabababababababababababababaZaZababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacafakbaaqatbbaqaqahaqahaqaoafacadahahaoaqahaoahaLaoaqaqahanafacafadacafacafakahahalacababababababababababaTbcbdaTaTasbeaUbfbhbgasababababababababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabadahaqaCbibkbjakaCaqaqahacafabacafaoamaoaqafadafahaqamaealafblblblblblbladacaqaeafafababababababababaTaTaTbnbmbpboasbqbsbrbubtasababababababababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabadafagahbbaqakaoaeaoaoafadabababafafaoahaqacblacacafaealafacblblblblblblacafaoafadabababababababababaTbwbvbxbxbzbyasbAbCbBbEbDasababababababababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababadafadacafacafadafacafabababadacahaqaoafafblblbladacafadblblblblblblblafahaoacababababababababababaTbFaTbHbGbJbIasbKbLbBbNbMasasasasasasasababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababacaqaqahacadblblblblblblblblblblblblblblblafaqadafababababababababababaTaTaTaTbObPaTasasasbQasasasbRbTbSbVbUasababababababababaZaZaZaZaZababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababafahaoafadblblblblblblblblblblblblblblblbladbWafabababababababababababaTbYbXcabZcbbPcdcccfcechcgascickcjcmclasababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababacaqahacblblblblblblblblblblblblblblblbladafahacabababababababababababaTbYcncpcocrcqcsbZbZctcvcucxcwczcycBcAasababababababababaZababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababafaoaqafblblblblblblbladacafadacacblblafacaoaqafabababababababababababaTcCcDcEbZcGcFcIcHcKcJcHcLascMcOcNcOcPasababababaZababaZaZababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaababababababababababababababababadahaoacadacafafadacafafahaqaoahafadafacahaqafacabababababababababababaTbYcncRcQcSaTaTaTcTaTcUaTasasasasasasasababababaZababaZaZababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababacahamaqafaqahaoahaqafahaoacafahamaoaqahaoacadababababababababababababaTbYcncWcVcYcXaTcZdaaTdbdcaTababababababababababaZabaZaZabababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababacafaqaoahaqaoahddaoahaqafafadacafacafacadafabababababababababababababaTdedfcEbZcGdgaTdhdiaTdjdkaTababababababababababaZaZaZababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababacafadahaqaoahafafadaqaoacacababababababababababababababababababababababaTdmdldnbZdpdoaTdqdraTdsdtaTababababababababababaZaZabababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababacahamaqafaqahaoahaqafahaoacafahamaoaqahaoacadababababababababababababaTbYcncWcVcYcXaTcZdaaTdcdbaTababababababababababaZabaZaZabababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababacafaqaoahaqaoahddaoahaqafafadacafacafacadafabababababababababababababaTdedfcEbZcGdgaTdhdiaTdkdjaTababababababababababaZaZaZababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababacafadahaqaoahafafadaqaoacacababababababababababababababababababababababaTdmdldnbZdpdoaTdqdraTdtdsaTababababababababababaZaZabababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaababababababababababababababadacahahaoacafacadabafahaoafadababababababababababababababababababababababgzaTaTaTduaTaTaTaTaTaTaTaTaTabababababababababaZaZababababababababaZaZdvabababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaababababababababababababababacaqaoafadadababababadafahahafacabababababababababababababababababababababababaTdxdwdyaTababababababababababababababaZaZaZaZabababaZaZaZaZaZaZaZaZdzababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaababababababababababababadafafaiacacabababababababacaqaoahafabababababababdAdAdAabababababababababababababaTdCdBdDaTabababababababababababababaZaZababaZaZdEdEaZaZaZaZaZdEaZdGdFaZabababababababababaaaaaaaaaaaaaa
@@ -790,46 +789,46 @@ aaaaaaaaaaaaaaabababababababababababababababababababababababababababababdAdAdAdA
aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababdAdAdAdAaZaZaZaZaZaZaZdAabababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababdAdAdAaZaZaZaZaZdYdAabababababababababababababababababababababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababdAdAdAdZeaebebeaabababdZeadZdZeadZeaeaeaeaeceaeaeaeaeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababdAdAdZedeeefeaabababdZegeheiejekeaelemeneoepeqereseaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababeaeteuevdZabababeaewehexeyezeAeBeCeDeEeFeGeHeIeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababdAdAdZedeeefeaabababdZehegeiejekeaelemeneoepeqereseaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababeaeteuevdZabababeaewegexeyezeAeBeCeDeEeFeGeHeIeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaababababababababababababababababababababababababababeJeJeKeKeKeJeKeJeJeJeKeaeaeLeMeaeaeadZeaeJeNeOePezeqeFeHeQeqeQeReSeCeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababeJeTeUeVeWeXeJeYeZfafbfcfdfeffeafgfhfifjfkflfmfnfoeEeneSeFeqeEfpenfqeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababeJfrfsfcftfueKfveaeadZeaeafwfxfyfzfzfAfAfBfCfDfEfFfGfHfIfJfKeEeDeRfLecabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababeKfMfNfOfPfQfRfSeafTfUfVfWfXfYdZeueufZeegaflflgbgcgdgegfeFeFeFggeDeIeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababeJfMghfOgigjeKfveagkeuglgmgngoeagpgqgrgseKgtflgugvgwgxeDeEeqeqeqeSfpeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababeKgynqgAgBgCeKfvdZgDgEgFgGgngHdZgIflflgJeJgKflgLgMeAgNeCeDeneReneCeEeaabababababdAabababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababeKeKeJeJeJeKeJgOdZgPgQgRfWgSgTdZdZgUgVgWeKgXgYgZhaeahbeFeqhchdeqeqeqeaababdAdAdAdAdAdAdAababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababababeJhefcfchffchgeahhhihjfWgShkhleaeadZeaeaeadZdZeaeaeaeaeaeceaeaeaeaeaabdAdAaZaZaZaZaZdAdAdAababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababababeKfveaeaeaeadZeafWfWfWfWgShkhmfWhnhoeLhpdZdAdAdAdAdAdAdAdAababababababdAaZaZaZaZaZaZaZaZdAababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababababeJhqeahrhshthuhvhwhwhwhwflhkhxhyhzhkhAhBeadAaZaZaZaZaZaZdAdAabababababdAdAaZaZaZaZaZaZaZdAdAdAababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababeJeKeJfudZhChChChDhEgSgSgShFhkhGhxhHhkhkhkhIeadAaZaZaZaZaZaZaZhJhJhKhJhJhJhJhJhJaZaZaZaZaZaZaZaZdAdAabababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababeKhLhMfvdZhChDhNhChvhvhvhveJhOhOhOeJhkhkhGhPeadAaZaZaZaZaZaZaZhJhQhRhShThJhUhVhJhJaZaZaZhWaZaZaZaZdAabababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababeKeYhXhgeahChYhZiaibicidieeaeaifeadZigihiiijdZdAaZaZaZaZaZaZdAhKhKhJikilhJiminiohKipipiphKdAdAdAdAdAabababdAdAdAdAdAabababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababeKfveadZeahCiqirhDhCisitiudZivhkiweadZdZeaeaeaaZaZaZaZhWaZaZdAhKixiyininiziAiniBhKiCiDiEhKhKhKhJhJhKhJhKdAdAaZaZaZdAdAababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababeJiFeaiGiHhDhCiIiJiKiLiMiNdZiOhkiPeadAdAaZaZaZaZohaZhKhKipiphKhKhKhKiAinhKiQiQhJhKiRiSiTiUhKiViWiXiYiZhKdAaZaZaZaZaZdAababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababeJfvdZjadZeadZeaeaeadZeaeaeaeJifeJeadAaZaZaZhWaZjbaZhJjcjdjejfjgjhhJjihKhJhJhJhJjjjkjkjljmjniYjoiYiYjphJaZaZaZaZaZaZdAdAabababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababdAdAdAdAdAeJjqdZdZeajrjsjtjujvjsjwjxhKjyjzjAhJhKipipiphJojoiokhJjEjFjGjHjGjGjIjGjJjKjLjMjNjljljljOjmjPiYjQjRjojSipaZaZaZaZaZaZaZdAdAababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababdAdAdAdAdAdAdAeKjTfcfRjUjVjVjWjWjVjXjWjYjZkajVkbkakckekdkgkfkikhkjkkjVjWjVjVjVklkmjHjHjHjGjGknjljljljljmkokpkqkrkskthKaZaZaZaZaZaZaZaZdAababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAdAdAdAaZaZaZeJeJeKeKkukvkwkvkxkvkwkwkvkykzjFjGkAkBkDkCkFkEkEkGkHkIjGjHhJhKhJhJkJkKjGjHjGjHknjljlkLkMjmjPiYiYkpiYkNhKaZaZaZaZaZdAdAdAdAababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAdAaZaZaZaZaZaZaZaZhJhJipipiphJipipiphJhJkOjHkPhKhJokkQkRhJipipiphKkSkThJkUkVhKkWhKkXkYkZlajNlbjOjljljmjPiYiYiYlchKhKhJhJhKaZdAdAabababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZldlelfaZaZhJlglhlihKdAaZaZlkljaZaZaZhKlmlllnlolphKlqhKhKhJhKhKhKlrlsjllthKhKluiYiYiYlvlwlxlyhKdAdAababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZaZldlelelzlelAlBlClAlBlDlElFaZaZiplGlHlIhKdAaZaZaZaZaZaZaZhKlKlJhKlLlMhJlNlOlPlNlQlOkWjljkjljllRlSlSlTlSlUhKlwlwlVhKababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZldlWlXlYlZmambmcmdmemdmflEmgaZaZiplGmhipipaZaZaZaZaZaZaZaZhJlKmihJhKhKhJlOmjhJhJhJhKhKmkmkjkmlhKlSlTlSlSmmhKmnmomphJababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmqmcmrlDmsmdmtmumtmdmcmvlDipmwiplGmxipaZaZaZaZaZaZaZaZdAhKlKmyhJmzmAhKlOmBhKabababhKmCmCmDhJhKhKmEmFmGhJhJhKhKhJhJababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmHmdmsmImsmsmJmKmJmsmsmsmLmMlNmNjHmOhJmPaZaZaZaZaZaZaZdAhJmRmQmSmTmUhKlOmVhJabababhKhKhJhJhKdAhKipipiphJaZaZaZaZdAababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmWmcmXmYmsmdmtmumtmdmcmZmYipipiplGmhipaZaZaZaZaZaZaZdAdAhJnakGhKnbnchKlPndhJhJhJdKaZaZdAdAdAdAaZaZaZaZljaZaZaZdAdAababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZnenfnglYlZmanhmcmdnimdmflElFaZaZiplGmhipaZaZaZaZaZaZdAdAdAhKnknjhKhKhKhJnlnmmNnnmNdKaZaZdAdAaZaZaZaZaZaZaZaZaZaZdAabababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZaZnelelenolelAlBlClAlBmYlEmgaZaZipnpmhipaZaZaZaZdAdAolhJhJhKnrmikWlNnslqntnuhJlQhJnvaZdAdAdAaZaZaZaZaZaZaZaZaZdAdAabababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZnelenwaZaZhJmNmNhJhJdAdAdAdAdAaZoknynxkHnzhJhKhJhJhKnAhJhJhJaZdAdAabdAdAdAaZaZaZaZaZdAdAdAababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababdAdAdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZhJnBlNnChJdAdAaZaZaZnDnEnGnFnHmyhKnInJhKlNlOnKhKaZaZdAdAabababdAdAaZaZaZdAdAababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababdAdAdAdAdAdAdAdAdAdAdAdAaZdAdAdAdAdAdAdAhJnLlOnMhJomaZaZaZaZjboknNkEkEnOnPnQlohKlOnRnShKaZaZdAdAababababdAdAdAdAdAabababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAhJmNmNhJhJaZaZaZaZaZaZoknTkDkElJhKnUnVhKhJnWhKhKaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababababdAdAdAdAdAabdAdAdAaZnXdKdKnXaZaZaZaZaZaZaZoknZnYkEoahJhJhKhKdKobdKonaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZokokokodochJabababdAobaZaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZokokokhKababdAdAobaZaZaZaZaZdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZonoldAdAdAaZobaZaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababdAdAdAdAdAdAdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZdKobdKaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababdAdAdAdAdAdAdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZdKogdKaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababeJeTeVeUeXeWeJeYfaeZfcfbfefdffeafhfgfjfifkflfmfnfoeEeneSeFeqeEfpenfqeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababeJfrfsfbfufteKfveaeadZeaeafwfyfxfzfzfAfAfBfCfDfEfFfGfHfIfJfKeEeDeRfLecabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababeKfMfOfNfQfPfSfReafTfVfUfXfWfYdZeueufZeegaflflgbgcgdgegfeFeFeFggeDeIeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababeJfMghfNgjgieKfveagkeuglgngmgoeagqgpgsgreKgtflgugvgwgxeDeEeqeqeqeSfpeaabababababababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababeKgygBgAgDgCeKfvdZgEgGgFgHgmgLdZgIflflgJeJgKflgMgOeAgNeCeDeneReneCeEeaabababababdAabababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababeKeKeJeJeJeKeJgPdZgQgSgRfXgTgUdZdZgVgZgWeKgXgYhaheeahbeFeqhchdeqeqeqeaababdAdAdAdAdAdAdAababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababababeJhffbfbhgfbhheahihkhjfXgThmhleaeadZeaeaeadZdZeaeaeaeaeaeceaeaeaeaeaabdAdAaZaZaZaZaZdAdAdAababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababababeKfveaeaeaeadZeafXfXfXfXgThmhnfXhohpeLhqdZdAdAdAdAdAdAdAdAababababababdAaZaZaZaZaZaZaZaZdAababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababababeJhveahrhshthuhxhwhwhwhwflhmhyhAhzhmhBhFeadAaZaZaZaZaZaZdAdAabababababdAdAaZaZaZaZaZaZaZdAdAdAababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababeJeKeJftdZhChChChDhEgTgTgThGhmhHhyhIhmhmhmhLeadAaZaZaZaZaZaZaZhJhJhKhJhJhJhJhJhJaZaZaZaZaZaZaZaZdAdAabababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababeKhOhMfvdZhChDhNhChxhxhxhxeJhPhPhPeJhmhmhHhQeadAaZaZaZaZaZaZaZhJhRhThShUhJhXhVhJhJaZaZaZhWaZaZaZaZdAabababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababeKeYichheahChYhZiaibidifieeaeaigeadZihijiiikdZdAaZaZaZaZaZaZdAhKhKhJilimhJioiniphKisisishKdAdAdAdAdAabababdAdAdAdAdAabababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababeKfveadZeahCiqirhDhCitiviudZiwhmixeadZdZeaeaeaaZaZaZaZhWaZaZdAhKiyizininiAiBiniChKiEiDiFhKhKhKhJhJhKhJhKdAdAaZaZaZdAdAababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababeJiGeaiLiHhDhCiIiJiKiMiOiNdZiPhmiQeadAdAaZaZaZaZohaZhKhKisishKhKhKhKiBinhKiRiRhJhKiTiSiWiUhKiVjaiXiYiZhKdAaZaZaZaZaZdAababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababeJfvdZjcdZeadZeaeaeadZeaeaeaeJigeJeadAaZaZaZhWaZjbaZhJjejdjijfjgjhhJjjhKhJhJhJhJjkjljljnjmjqiYjoiYiYjphJaZaZaZaZaZaZdAdAabababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababdAdAdAdAdAeJjrdZdZeajtjsjvjujwjsjyjxhKjzjEjAhJhKkdkdkdhJkdkekdhJjGjFjIjHjIjIjJjIjLjKjNjMjOjnjnjnjPjmjTiYjQjRjojSisaZaZaZaZaZaZaZdAdAababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababdAdAdAdAdAdAdAeKjUfbfSjVjWjWjXjXjWjYjXjZkbkajWkckakkkgkfkikhkCkjkDkljWjXjWjWjWkmknjHjHjHjIjIkojnjnjnjnjmkukpkqkrkskthKaZaZaZaZaZaZaZaZdAababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAdAdAdAaZaZaZeJeJeKeKkvkxkwkxkykxkwkwkxkAkzjFjIkIkBkFkEkHkGkGkQkRkJjIjHhJhKhJhJkLkKjIjHjIjHkojnjnkMkOjmjTiYiYkpiYkNhKaZaZaZaZaZdAdAdAdAababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAdAaZaZaZaZaZaZaZaZhJhJisisishJisisishJhJkPjHkShKhJkdlllmhJkdkdkdhKkUkThJkVkWhKkXhKkZkYlblajOlgjPjnjnjmjTiYiYiYlchKhKhJhJhKaZdAdAabababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZldlelfaZaZhJlhlnlihKdAaZaZlkljaZaZaZhKlJlElplolqhKlrhKhKhJhKhKhKlsltjnlvhKhKluiYiYiYlwlylxlGhKdAdAababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZaZldlelelzlelAlBlClAlBlDlKlFaZaZislHlLlIhKdAaZaZaZaZaZaZaZhKmymihKlMlNhJlPlOlQlPlVlOkXjnjljnjnlRlSlSlTlSlUhKlylymhhKababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZldlWlXlYlZmambmcmdmemdmflKmgaZaZislHmjisisaZaZaZaZaZaZaZaZhJmymihJhKhKhJlOmkhJhJhJhKhKmlmljlmnhKlSlTlSlSmmhKmpmomwhJababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmqmcmrlDmsmdmtmumtmdmcmvlDismxislHmzisaZaZaZaZaZaZaZaZdAhKmymQhJmAmBhKlOmMhKabababhKmCmCmDhJhKhKmEmFmGhJhJhKhKhJhJababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmHmdmsmImsmsmJmKmJmsmsmsmLmNlPmOjHmShJmPaZaZaZaZaZaZaZdAhJnamRmUmTmVhKlOnbhJabababhKhKhJhJhKdAhKisisishJaZaZaZaZdAababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZlBmWmcmXmYmsmdmtmumtmdmcmZmYisisislHmjisaZaZaZaZaZaZaZdAdAhJnjkQhKncndhKlQnlhJhJhJdKaZaZdAdAdAdAaZaZaZaZljaZaZaZdAdAababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZnenfnglYlZmanhmcmdnimdmflKlFaZaZislHmjisaZaZaZaZaZaZdAdAdAhKnrnkhKhKhKhJnnnmmOnpmOdKaZaZdAdAaZaZaZaZaZaZaZaZaZaZdAabababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAaZaZaZaZnelelenolelAlBlClAlBmYlKmgaZaZisnqmjisaZaZaZaZdAdAolhJhJhKnvmikXlPnslrnunthJlVhJnxaZdAdAdAaZaZaZaZaZaZaZaZaZdAdAabababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZnelenwaZaZhJmOmOhJhJdAdAdAdAdAaZkdnznykRnEhJhKhJhJhKnAhJhJhJaZdAdAabdAdAdAaZaZaZaZaZdAdAdAababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababdAdAdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZhJnBlPnChJdAdAaZaZaZnDnFnHnGnNmQhKnInJhKlPlOnKhKaZaZdAdAabababdAdAaZaZaZdAdAababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababdAdAdAdAdAdAdAdAdAdAdAdAaZdAdAdAdAdAdAdAhJnLlOnMhJomaZaZaZaZjbkdnOkGkGnTnQnPlohKlOnRnShKaZaZdAdAababababdAdAdAdAdAabababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAhJmOmOhJhJaZaZaZaZaZaZkdnXkFkGnYhKnUnVhKhJnWhKhKaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababababdAdAdAdAdAabdAdAdAaZnZdKdKnZaZaZaZaZaZaZaZkdoboakGochJhJhKhKdKoddKonaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZkdkdkdoioghJabababdAodaZaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZkdkdkdhKababdAdAodaZaZaZaZaZdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZonoldAdAdAaZodaZaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaababababababababababababababababababababababababababababababababababdAdAdAdAdAdAdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZaZdKoddKaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababdAdAdAdAdAdAdAdAdAaZaZaZaZaZaZaZaZaZaZaZaZaZaZdKojdKaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababdAdAdAdAdAdAaZaZaZaZaZaZdAdAdAdAaZdKdKdKaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababdAdAdAdAdAdAdAdAdAdAdAdAdAdAdAoeaZaZaZaZaZdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
aaaaaaaaaaaaaaabababababababababababababababababababababababababababababababababababababababababababababdAdAdAdAdAdAdAdAdAababdAdAaZaZofaZdAdAdAdAababababababababababababababababababababababababababababababababaaaaaaaaaaaaaa
diff --git a/_maps/map_files/RandomZLevels/spacebattle.dmm b/_maps/map_files/RandomZLevels/spacebattle.dmm
index f398c6134e5..3f824e041db 100644
--- a/_maps/map_files/RandomZLevels/spacebattle.dmm
+++ b/_maps/map_files/RandomZLevels/spacebattle.dmm
@@ -190,8 +190,8 @@
"dH" = (/obj/item/stack/rods,/turf/simulated/floor/plasteel,/area/awaymission/spacebattle/cruiser)
"dI" = (/obj/mecha/medical/odysseus,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"dJ" = (/obj/mecha/working/ripley/firefighter,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"dK" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"dL" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/tool/drill,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"dK" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"dL" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/drill,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"dM" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"dN" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"dO" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
@@ -209,7 +209,7 @@
"ea" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"eb" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ec" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
-"ed" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
+"ed" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/syringe_gun,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ee" = (/obj/structure/closet/crate{name = "Gold Crate"},/obj/item/mecha_parts/mecha_equipment/repair_droid,/turf/simulated/floor/plating,/area/awaymission/spacebattle/cruiser)
"ef" = (/mob/living/simple_animal/hostile/syndicate/melee,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/awaymission/spacebattle/cruiser)
"eg" = (/obj/structure/closet/l3closet/security,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/awaymission/spacebattle/cruiser)
diff --git a/_maps/map_files/RandomZLevels/spacehotel.dmm b/_maps/map_files/RandomZLevels/spacehotel.dmm
index d3c520a6696..6a368e05b16 100644
--- a/_maps/map_files/RandomZLevels/spacehotel.dmm
+++ b/_maps/map_files/RandomZLevels/spacehotel.dmm
@@ -473,7 +473,7 @@
"je" = (/obj/machinery/gateway{dir = 4},/turf/unsimulated/floor{icon_state = "warning"; dir = 4},/area/awaymission/spacehotel)
"jf" = (/obj/structure/window/basic{icon_state = "window"; dir = 8},/obj/structure/flora/rock,/obj/structure/flora/grass/brown,/turf/unsimulated/floor/grass,/area/awaymission/spacehotel)
"jg" = (/obj/item/candle,/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel)
-"jh" = (/obj/effect/rune,/obj/item/organ/brain,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel)
+"jh" = (/obj/effect/rune,/obj/item/organ/internal/brain,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel)
"ji" = (/obj/item/candle,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel)
"jj" = (/obj/item/weapon/tome,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel)
"jk" = (/obj/structure/closet/crate/critter,/turf/unsimulated/floor{icon_state = "floor"},/area/awaymission/spacehotel)
diff --git a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
index e315fa02117..cb8cb4e6227 100644
--- a/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
+++ b/_maps/map_files/RandomZLevels/undergroundoutpost45.dmm
@@ -6,1120 +6,1120 @@
"af" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ag" = (/turf/simulated/shuttle/wall{tag = "icon-swallc1"; icon_state = "swallc1"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ah" = (/turf/simulated/shuttle/wall{icon_state = "swall3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ai" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged1"; tag = "icon-damaged1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aj" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged2"; tag = "icon-damaged2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ak" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"al" = (/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ai" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{broken = 1; dir = 8; icon_state = "damaged1"; tag = "icon-damaged1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aj" = (/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ak" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{broken = 1; dir = 8; icon_state = "damaged2"; tag = "icon-damaged2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"al" = (/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"am" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"an" = (/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ao" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ap" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged4"; tag = "icon-damaged4 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aq" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ar" = (/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the basement floor."; id = "UO45_useless"; name = "B1"; pixel_x = 6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = -6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the ground floor."; id = "UO45_useless"; name = "G1"; pixel_x = 6; pixel_y = -34; req_access_txt = "0"},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"as" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; heat_capacity = 1e+006; icon_state = "damaged3"; tag = "icon-damaged3 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"at" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "darkblue"; tag = "icon-darkblue"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"au" = (/turf/simulated/floor/plasteel{tag = "icon-darkblue (SOUTHEAST)"; icon_state = "darkblue"; dir = 6; heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"an" = (/obj/machinery/light/small{active_power_usage = 0; dir = 8; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ao" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; icon_state = "damaged4"; tag = "icon-damaged4 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ap" = (/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aq" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{active_power_usage = 0; dir = 4; icon_state = "bulb-broken"; status = 2},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ar" = (/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the basement floor."; id = "UO45_useless"; name = "B1"; pixel_x = 6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = -6; pixel_y = -24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch to send the elevator to the ground floor."; id = "UO45_useless"; name = "G1"; pixel_x = 6; pixel_y = -34; req_access_txt = "0"},/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"as" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "darkblue"; tag = "icon-darkblue"; temperature = 273.15},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"at" = (/turf/simulated/floor/plasteel{broken = 1; dir = 8; icon_state = "damaged3"; tag = "icon-damaged3 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"au" = (/turf/simulated/floor/plasteel{tag = "icon-darkblue (SOUTHEAST)"; icon_state = "darkblue"; dir = 6},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"av" = (/turf/simulated/shuttle/wall{tag = "icon-swallc3"; icon_state = "swallc3"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aw" = (/turf/simulated/shuttle/wall{icon_state = "swall8"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ax" = (/obj/machinery/door/poddoor{id_tag = "UO45_Elevator"; name = "Elevator Door"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "delivery"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ay" = (/obj/machinery/door/poddoor{id_tag = "UO45_Elevator"; name = "Elevator Door"},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ax" = (/obj/machinery/door/poddoor{id_tag = "UO45_Elevator"; name = "Elevator Door"},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ay" = (/obj/machinery/door/poddoor{id_tag = "UO45_Elevator"; name = "Elevator Door"},/turf/simulated/floor/plasteel{ icon_state = "delivery"; name = "floor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"az" = (/turf/simulated/shuttle/wall{icon_state = "swall4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aA" = (/turf/simulated/shuttle/wall{tag = "icon-swallc4"; icon_state = "swallc4"; dir = 2},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aB" = (/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"aC" = (/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aD" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aE" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aF" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = 32; serial_number = 2; subtype = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aG" = (/obj/machinery/door_control{desc = "A remote control-switch to call the elevator to your level."; id = "UO45_useless"; name = "Call Elevator"; pixel_x = -6; pixel_y = 24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = 6; pixel_y = 24; req_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aH" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aI" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = 32; serial_number = 2; subtype = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aJ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aK" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aL" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/poster{icon_state = "poster19_legit"; pixel_x = -32; pixel_y = 0; serial_number = 19; subtype = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aM" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aN" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aO" = (/obj/machinery/light{dir = 8},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aP" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aQ" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aR" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aS" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aT" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aU" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aV" = (/obj/structure/stool/bed/chair/comfy/beige{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aW" = (/obj/structure/table/woodentable,/obj/item/weapon/newspaper,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aX" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aY" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"aZ" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ba" = (/obj/structure/sign/vacuum{desc = "A beacon used by a teleporter."; icon = 'icons/obj/radio.dmi'; icon_state = "beacon"; name = "tracking beacon"},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bb" = (/obj/structure/table/woodentable,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bc" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/ripley_build_and_repair,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bd" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"be" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bf" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bg" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bh" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bi" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bj" = (/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bk" = (/obj/structure/sink{pixel_y = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bl" = (/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bn" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bo" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bp" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/obj/item/weapon/lighter{pixel_x = 4; pixel_y = 2},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"br" = (/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bs" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bt" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bu" = (/obj/machinery/light/small,/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bv" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bw" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera{c_tag = "Arrivals"; dir = 8; network = list("UO45")},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"by" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bz" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bA" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bB" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; level = 1},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bF" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bI" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bJ" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bK" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bL" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = -32; serial_number = 2; subtype = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bO" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = -32; serial_number = 2; subtype = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aD" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aE" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aF" = (/obj/machinery/door_control{desc = "A remote control-switch to call the elevator to your level."; id = "UO45_useless"; name = "Call Elevator"; pixel_x = -6; pixel_y = 24; req_access_txt = "0"},/obj/machinery/door_control{desc = "A remote control-switch for the elevator doors."; id = "UO45_Elevator"; name = "Elevator Doors"; pixel_x = 6; pixel_y = 24; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aG" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = 32; serial_number = 2; subtype = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aH" = (/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aI" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = 32; serial_number = 2; subtype = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aJ" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aK" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aL" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/poster{icon_state = "poster19_legit"; pixel_x = -32; pixel_y = 0; serial_number = 19; subtype = 1},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aM" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aN" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aO" = (/obj/machinery/light{dir = 8},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aP" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aQ" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aR" = (/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aS" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aT" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aU" = (/obj/structure/stool/bed/chair/comfy/beige{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aV" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aW" = (/obj/structure/table/woodentable,/obj/item/weapon/reagent_containers/food/drinks/cans/cola,/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aX" = (/obj/structure/table/woodentable,/obj/item/weapon/newspaper,/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aY" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"aZ" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ba" = (/obj/structure/sign/vacuum{desc = "A beacon used by a teleporter."; icon = 'icons/obj/radio.dmi'; icon_state = "beacon"; name = "tracking beacon"},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bb" = (/obj/structure/table/woodentable,/obj/item/weapon/book/manual/ripley_build_and_repair,/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bc" = (/obj/structure/table/woodentable,/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bd" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"be" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bf" = (/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bg" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/landmark{name = "awaystart"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bh" = (/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bi" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bj" = (/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bk" = (/obj/structure/sink{pixel_y = 25},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bl" = (/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bm" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair"},/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bo" = (/obj/structure/table/woodentable,/obj/item/weapon/storage/fancy/cigarettes{pixel_y = 2},/obj/item/weapon/lighter{pixel_x = 4; pixel_y = 2},/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bp" = (/obj/structure/table/woodentable,/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/turf/simulated/floor/plasteel{ icon_state = "grimy"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"br" = (/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bs" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bt" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bu" = (/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bv" = (/obj/machinery/light/small,/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bw" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bx" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/camera{c_tag = "Arrivals"; dir = 8; network = list("UO45")},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"by" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bz" = (/obj/machinery/door/airlock{name = "Unit 2"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bA" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bB" = (/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; level = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bI" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bJ" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bK" = (/obj/structure/toilet{dir = 1},/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bL" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = -32; serial_number = 2; subtype = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bO" = (/obj/structure/sign/poster{icon_state = "poster2_legit"; pixel_x = 0; pixel_y = -32; serial_number = 2; subtype = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"bP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"bQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"bR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"bS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"bU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"bV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"bW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; level = 1},/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"bX" = (/obj/structure/alien/weeds,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"bY" = (/obj/structure/alien/weeds,/obj/structure/stool/bed/nest,/obj/effect/landmark/corpse,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"bZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ca" = (/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cb" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ce" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ch" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ci" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cj" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ck" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"co" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"bZ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ca" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cb" = (/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ce" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ch" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ci" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ck" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"co" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ct" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cv" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cw" = (/obj/structure/closet,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cx" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cy" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/pj/blue,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/female,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cB" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (EAST)"; icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cE" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cF" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/grille,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/obj/machinery/door_control{id = "awaydorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door_control{id = "awaydorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cR" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/basic{tag = "icon-window (WEST)"; icon_state = "window"; dir = 8},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/reagent_dispensers/fueltank,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ct" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cv" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cw" = (/obj/structure/closet,/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cx" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cy" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/pj/blue,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/female,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cC" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (EAST)"; icon_state = "wooden_chair"; dir = 4},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cE" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/grille,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cG" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/obj/machinery/door_control{id = "awaydorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cM" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door_control{id = "awaydorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 2},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/basic{tag = "icon-window (WEST)"; icon_state = "window"; dir = 8},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cU" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/reagent_dispensers/fueltank,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"cW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; level = 1},/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cX" = (/obj/structure/grille,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cY" = (/obj/item/stack/rods,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"cZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/grille,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"da" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm2"; name = "Dorm 2"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"db" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm1"; name = "Dorm 1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/closet,/obj/item/weapon/contraband/poster,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"de" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cX" = (/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cY" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"cZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/grille,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"da" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm2"; name = "Dorm 2"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"db" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm1"; name = "Dorm 1"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dd" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/structure/closet,/obj/item/weapon/contraband/poster,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"de" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"df" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"dg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/stack/rods,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"di" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dn" = (/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"do" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dp" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "greencorner"; tag = "icon-greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"di" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dn" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"do" = (/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dp" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "greencorner"; tag = "icon-greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"dq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dr" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ds" = (/obj/machinery/vending/hydroseeds{slogan_delay = 700},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dt" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"du" = (/obj/machinery/seed_extractor,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dv" = (/obj/machinery/biogenerator,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dr" = (/obj/machinery/vending/hydronutrients,/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ds" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dt" = (/obj/machinery/vending/hydroseeds{slogan_delay = 700},/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"du" = (/obj/machinery/biogenerator,/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dv" = (/obj/machinery/seed_extractor,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"dw" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dx" = (/obj/machinery/light{dir = 8},/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dy" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dC" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dD" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dE" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dF" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dH" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dI" = (/obj/structure/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dK" = (/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dL" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dM" = (/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dN" = (/obj/structure/closet/secure_closet{icon_broken = "hydrosecurebroken"; icon_closed = "hydrosecure"; icon_locked = "hydrosecure1"; icon_off = "hydrosecureoff"; icon_opened = "hydrosecureopen"; icon_state = "hydrosecure"; locked = 0; name = "botanist's locker"; req_access_txt = "201"},/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/mask/bandana,/obj/item/weapon/hatchet,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dP" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/item/weapon/storage/belt/security,/obj/item/device/flash,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/structure/stool/bed/chair,/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dR" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dS" = (/obj/machinery/door/airlock/security{name = "Security Checkpoint"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dU" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dV" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dX" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dY" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"dZ" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ea" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eb" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ec" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ed" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ee" = (/obj/structure/closet/secure_closet{icon_broken = "hydrosecurebroken"; icon_closed = "hydrosecure"; icon_locked = "hydrosecure1"; icon_off = "hydrosecureoff"; icon_opened = "hydrosecureopen"; icon_state = "hydrosecure"; locked = 0; name = "botanist's locker"; req_access_txt = "201"},/obj/item/clothing/suit/apron,/obj/item/clothing/mask/bandana,/obj/item/weapon/minihoe,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ef" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Security Checkpoint Maintenance"; req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eh" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ei" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ej" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ek" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "redcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"el" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"em" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"en" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eo" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ep" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"er" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"es" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dx" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dy" = (/obj/machinery/light{dir = 8},/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dz" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dA" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dB" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dE" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dF" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dG" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dH" = (/obj/structure/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dI" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dJ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dK" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dL" = (/obj/machinery/light{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{dir = 1; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dM" = (/obj/structure/closet/secure_closet{icon_broken = "hydrosecurebroken"; icon_closed = "hydrosecure"; icon_locked = "hydrosecure1"; icon_off = "hydrosecureoff"; icon_opened = "hydrosecureopen"; icon_state = "hydrosecure"; locked = 0; name = "botanist's locker"; req_access_txt = "201"},/obj/item/device/analyzer/plant_analyzer,/obj/item/clothing/mask/bandana,/obj/item/weapon/hatchet,/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dN" = (/turf/simulated/floor/plasteel{dir = 5; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/structure/stool/bed/chair,/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 1; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dQ" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/item/weapon/storage/belt/security,/obj/item/device/flash,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 9; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dR" = (/obj/machinery/door/airlock/security{name = "Security Checkpoint"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 5; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dT" = (/turf/simulated/floor/plasteel{ icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dW" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dX" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dY" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"dZ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ea" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eb" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ec" = (/obj/machinery/portable_atmospherics/hydroponics,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ed" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ee" = (/obj/structure/closet/secure_closet{icon_broken = "hydrosecurebroken"; icon_closed = "hydrosecure"; icon_locked = "hydrosecure1"; icon_off = "hydrosecureoff"; icon_opened = "hydrosecureopen"; icon_state = "hydrosecure"; locked = 0; name = "botanist's locker"; req_access_txt = "201"},/obj/item/clothing/suit/apron,/obj/item/clothing/mask/bandana,/obj/item/weapon/minihoe,/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ef" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Security Checkpoint Maintenance"; req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ei" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ej" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ek" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "redcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"el" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"em" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"en" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eo" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ep" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Hydroponics"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"er" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"es" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"et" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ev" = (/turf/simulated/floor/plating{carbon_dioxide = 0; heat_capacity = 1e+006; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"ew" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/filingcabinet,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ex" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ey" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door/window/southleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Security Checkpoint"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ez" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eA" = (/obj/structure/stool/bed/chair/office{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eB" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eC" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eD" = (/obj/structure/stool/bed/chair/office{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eE" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eF" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_pod_people,/obj/item/weapon/paper/hydroponics,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/external,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eJ" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ev" = (/turf/simulated/floor/plating{carbon_dioxide = 0; icon_plating = "asteroidplating"; icon_state = "asteroidplating"; nitrogen = 0; oxygen = 0; temperature = 2.7},/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
+"ew" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/filingcabinet,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ex" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/door/window/southleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Security Checkpoint"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ey" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ez" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eA" = (/obj/structure/stool/bed/chair/office{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eB" = (/obj/structure/flora/ausbushes/brflowers,/turf/simulated/floor/grass,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eC" = (/obj/structure/flora/ausbushes/ppflowers,/turf/simulated/floor/grass,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eD" = (/obj/structure/stool/bed/chair/office{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eE" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eF" = (/obj/structure/table,/obj/item/weapon/book/manual/hydroponics_pod_people,/obj/item/weapon/paper/hydroponics,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eJ" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"eK" = (/obj/structure/alien/weeds,/obj/structure/alien/resin/wall,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"eL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/newscaster/security_unit{pixel_x = -30; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eM" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eN" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/folder/red,/obj/machinery/door/window/southleft{base_state = "left"; dir = 8; icon_state = "left"; name = "Security Checkpoint"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eO" = (/obj/structure/stool/bed/chair/office{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eP" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eQ" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eR" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/southleft{base_state = "left"; dir = 4; icon_state = "left"; name = "Hydroponics Desk"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eS" = (/obj/structure/stool,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eT" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eU" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eV" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 0; pixel_y = 3},/obj/item/weapon/watertank,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eW" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eX" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eY" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/off,/obj/item/weapon/screwdriver{pixel_y = 10},/obj/structure/sign/poster{icon_state = "poster21_legit"; pixel_y = -32; serial_number = 21; subtype = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"eZ" = (/obj/machinery/computer/security{network = list("UO45")},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fa" = (/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "redcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fb" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fc" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "greencorner"; tag = "icon-greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fd" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fe" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/southleft{base_state = "right"; dir = 4; icon_state = "right"; name = "Hydroponics Desk"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ff" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fg" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fh" = (/obj/machinery/camera{c_tag = "Hydroponics"; dir = 1; network = list("UO45")},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 0; name = "Hydroponics APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fk" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fl" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fm" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/machinery/newscaster/security_unit{pixel_x = -30; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eM" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/item/weapon/folder/red,/obj/machinery/door/window/southleft{base_state = "left"; dir = 8; icon_state = "left"; name = "Security Checkpoint"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eN" = (/obj/structure/stool/bed/chair/office/dark{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eO" = (/obj/structure/stool/bed/chair/office{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eP" = (/obj/structure/flora/ausbushes/ywflowers,/turf/simulated/floor/grass,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eQ" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eR" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/southleft{base_state = "left"; dir = 4; icon_state = "left"; name = "Hydroponics Desk"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eS" = (/obj/structure/stool,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eT" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 8; pixel_y = 8},/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 0; pixel_y = 3},/obj/item/weapon/watertank,/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eV" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eW" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eX" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/device/radio/off,/obj/item/weapon/screwdriver{pixel_y = 10},/obj/structure/sign/poster{icon_state = "poster21_legit"; pixel_y = -32; serial_number = 21; subtype = 1},/turf/simulated/floor/plasteel{ icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eY" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/plasteel{dir = 10; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"eZ" = (/obj/machinery/computer/security{network = list("UO45")},/turf/simulated/floor/plasteel{dir = 6; icon_state = "red"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fa" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "redcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fb" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fc" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "greencorner"; tag = "icon-greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fd" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/southleft{base_state = "right"; dir = 4; icon_state = "right"; name = "Hydroponics Desk"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fe" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 6; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ff" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fg" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fh" = (/obj/machinery/camera{c_tag = "Hydroponics"; dir = 1; network = list("UO45")},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 0; name = "Hydroponics APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{dir = 2; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fk" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fl" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fm" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 6; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fn" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall/rust,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fo" = (/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"fp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fq" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fr" = (/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fs" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ft" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fu" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fv" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fw" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fx" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fA" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fB" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door_control{id = "awaydorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm3"; name = "Dorm 3"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fI" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/sign/poster{icon_state = "poster14"; pixel_x = 32; pixel_y = 0; serial_number = 14; subtype = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fq" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fr" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fs" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ft" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 4; icon_state = "green"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fu" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/reagent_containers/glass/bucket,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fv" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fw" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{name = "Hydroponics Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fy" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fC" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm3"; name = "Dorm 3"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fE" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door_control{id = "awaydorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fI" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/sign/poster{icon_state = "poster14"; pixel_x = 32; pixel_y = 0; serial_number = 14; subtype = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "greencorner"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fJ" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"fK" = (/obj/structure/alien/weeds,/obj/effect/decal/cleanable/blood/tracks{color = "red"; desc = "Your instincts say you shouldn't be following these."; dir = 6; icon = 'icons/effects/blood.dmi'; icon_state = "tracks"},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"fL" = (/turf/simulated/wall/r_wall,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"fM" = (/obj/machinery/smartfridge,/turf/simulated/wall,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"fN" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/eastleft{dir = 1; name = "Hydroponics Desk"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"fN" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/door/window/eastleft{dir = 1; name = "Hydroponics Desk"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"fO" = (/turf/simulated/wall/rust,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"fP" = (/turf/simulated/wall,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"fQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fR" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fS" = (/obj/machinery/light/small,/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/dresser,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fT" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fU" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fV" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/camera{c_tag = "Central Hallway"; dir = 1; network = list("UO45")},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fW" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fX" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fY" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"fZ" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ga" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gb" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fR" = (/obj/machinery/light/small,/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/dresser,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fS" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fT" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fU" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fV" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fW" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/camera{c_tag = "Central Hallway"; dir = 1; network = list("UO45")},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fX" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fY" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"fZ" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ga" = (/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gb" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gc" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"gd" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/turf/simulated/wall/r_wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"ge" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; level = 1},/turf/simulated/wall/r_wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"gf" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"gf" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"gg" = (/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"gh" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gi" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gj" = (/obj/machinery/door/airlock/maintenance{name = "Kitchen Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"gl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gm" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gn" = (/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"go" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "meat fridge"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gp" = (/obj/effect/decal/cleanable/dirt,/obj/item/stack/rods,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"gq" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"gr" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"gs" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gt" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gv" = (/obj/machinery/door/airlock{name = "Kitchen Cold Room"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gi" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gj" = (/obj/machinery/door/airlock/maintenance{name = "Kitchen Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"gl" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gm" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gn" = (/obj/structure/closet/crate{desc = "It's a storage unit for kitchen clothes and equipment."; name = "Kitchen Crate"},/obj/item/weapon/storage/box/mousetraps,/obj/item/clothing/under/waiter,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"go" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "meat fridge"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/obj/item/weapon/reagent_containers/food/snacks/meat/monkey,/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gp" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"gq" = (/obj/effect/decal/cleanable/dirt,/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"gr" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"gs" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gt" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gu" = (/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gv" = (/obj/machinery/door/airlock{name = "Kitchen Cold Room"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "showroomfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"gw" = (/turf/simulated/wall/r_wall,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"gx" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"gy" = (/turf/simulated/wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"gz" = (/turf/simulated/wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"gA" = (/turf/simulated/wall/r_wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"gB" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gB" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"gC" = (/obj/structure/alien/resin/wall,/obj/structure/alien/weeds,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"gD" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gF" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gG" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gH" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"gJ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"gK" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"gD" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gE" = (/obj/machinery/vending/dinnerware,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gF" = (/obj/structure/table,/obj/item/weapon/storage/box/donkpockets{pixel_x = 3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gG" = (/obj/structure/sink/kitchen{pixel_y = 28},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gH" = (/obj/structure/table,/obj/machinery/reagentgrinder,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"gJ" = (/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"gK" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"gL" = (/turf/simulated/wall,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"gM" = (/turf/simulated/wall/rust,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"gN" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 16; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 23},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"gO" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"gP" = (/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gQ" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"gR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"gS" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"gT" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"gU" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"gV" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"gW" = (/obj/structure/table,/obj/item/weapon/folder/white,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"gX" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"gY" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"gZ" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Research Lab"; dir = 2; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ha" = (/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hb" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hc" = (/obj/machinery/light/small{dir = 4},/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/beaker/large{pixel_x = -3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"gN" = (/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"gO" = (/obj/structure/table,/obj/item/stack/sheet/glass{amount = 16; pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal{amount = 23},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"gP" = (/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gQ" = (/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"gR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"gS" = (/obj/machinery/gateway{dir = 9},/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"gT" = (/obj/machinery/gateway{dir = 5},/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"gU" = (/obj/machinery/gateway{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"gV" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"gW" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"gX" = (/obj/structure/table,/obj/item/weapon/folder/white,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"gY" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"gZ" = (/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ha" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Research Lab"; dir = 2; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hb" = (/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hc" = (/obj/machinery/light/small{dir = 4},/obj/structure/table/glass,/obj/item/weapon/reagent_containers/glass/beaker/large{pixel_x = -3; pixel_y = 3},/obj/item/weapon/reagent_containers/glass/beaker{pixel_x = 8; pixel_y = 2},/obj/item/weapon/reagent_containers/dropper,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"hd" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"he" = (/obj/effect/glowshroom/single,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"hf" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"hg" = (/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hh" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hg" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hh" = (/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"hi" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"hj" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hk" = (/obj/machinery/vending/snack,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hl" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hm" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hn" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ho" = (/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/weapon/reagent_containers/glass/rag,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hp" = (/obj/machinery/vending/boozeomat{req_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hq" = (/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hr" = (/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hs" = (/obj/structure/table,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ht" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/camera{c_tag = "Kitchen"; dir = 8; network = list("UO45")},/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hu" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"hv" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"hw" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"hx" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"hy" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"hz" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"hA" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"hB" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"hC" = (/obj/machinery/r_n_d/destructive_analyzer,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hD" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hE" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hF" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hG" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hH" = (/obj/structure/table/glass,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hI" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"hJ" = (/obj/structure/table,/obj/item/trash/chips,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hK" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hL" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hM" = (/obj/structure/stool,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hN" = (/obj/structure/table/reinforced,/obj/item/weapon/lighter/zippo,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hO" = (/obj/effect/decal/cleanable/dirt,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hP" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "201"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hR" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hS" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hT" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/mint,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 2},/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hW" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"hX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"hY" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"hZ" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ia" = (/obj/machinery/gateway,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ib" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ic" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"id" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ie" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"if" = (/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ig" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ih" = (/obj/machinery/computer/rdconsole/core{id = 3; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ii" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ij" = (/obj/machinery/r_n_d/circuit_imprinter,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ik" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"il" = (/obj/structure/table/glass,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"im" = (/obj/structure/table,/obj/item/trash/plate,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"in" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"io" = (/obj/structure/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ip" = (/obj/structure/table,/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iq" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ir" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"is" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/processor,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"it" = (/obj/machinery/light{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iu" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/window{dir = 2; name = "Gateway Chamber"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iw" = (/obj/structure/window/reinforced,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ix" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iy" = (/obj/machinery/door/airlock{name = "Emergency Supplies"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"iA" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"iB" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"iC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warnwhitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"iD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"iE" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"iF" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iG" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iH" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iI" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iJ" = (/obj/machinery/door/firedoor,/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iK" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iL" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iM" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/storage/fancy/egg_box,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"iN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"iO" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/structure/sign/biohazard{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iP" = (/obj/structure/table,/obj/item/device/radio/off,/obj/item/device/radio/off,/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iR" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/table,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iT" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iU" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iV" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"hj" = (/obj/machinery/vending/snack,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hk" = (/obj/machinery/vending/cigarette,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hl" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hm" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hn" = (/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/weapon/reagent_containers/glass/rag,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ho" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hp" = (/obj/machinery/vending/boozeomat{req_access_txt = "0"},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hq" = (/obj/structure/table,/obj/item/stack/packageWrap,/obj/item/weapon/reagent_containers/food/condiment/enzyme{layer = 5},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hr" = (/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hs" = (/obj/structure/table,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ht" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/camera{c_tag = "Kitchen"; dir = 8; network = list("UO45")},/obj/structure/table,/obj/machinery/microwave{pixel_x = -3; pixel_y = 6},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hu" = (/obj/machinery/gateway{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"hv" = (/obj/machinery/gateway{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"hw" = (/obj/machinery/gateway/centeraway{calibrated = 0},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"hx" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"hy" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"hz" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"hA" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"hB" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/light/small{dir = 1},/obj/item/weapon/storage/box/lights/mixed,/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"hC" = (/obj/machinery/r_n_d/destructive_analyzer,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hD" = (/obj/machinery/r_n_d/protolathe,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hE" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hG" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hH" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hI" = (/obj/structure/table/glass,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/manipulator,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/capacitor,/obj/item/weapon/stock_parts/micro_laser,/obj/item/weapon/stock_parts/micro_laser,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"hJ" = (/obj/structure/table,/obj/item/trash/chips,/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hK" = (/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hL" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hM" = (/obj/structure/table/reinforced,/obj/item/weapon/lighter/zippo,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hN" = (/obj/structure/stool,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hO" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hP" = (/obj/effect/decal/cleanable/dirt,/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hQ" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Kitchen"; req_access_txt = "201"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hR" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hS" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/snacks/mint,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hV" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 2},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 2},/obj/structure/table,/obj/item/weapon/book/manual/chef_recipes,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"hX" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"hY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"hZ" = (/obj/machinery/gateway{dir = 10},/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ia" = (/obj/machinery/gateway{dir = 6},/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ib" = (/obj/machinery/gateway,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ic" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"id" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ie" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"if" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ig" = (/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ih" = (/obj/machinery/computer/rdconsole/core{id = 3; req_access = null},/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ii" = (/obj/machinery/r_n_d/circuit_imprinter,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ij" = (/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ik" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"il" = (/obj/structure/table/glass,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/console_screen,/obj/item/weapon/stock_parts/matter_bin,/obj/item/weapon/stock_parts/matter_bin,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"im" = (/obj/structure/table,/obj/item/trash/plate,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"in" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"io" = (/obj/structure/stool,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ip" = (/obj/structure/table,/obj/item/weapon/book/manual/barman_recipes,/obj/item/weapon/reagent_containers/food/drinks/shaker,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iq" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ir" = (/obj/structure/table,/obj/item/weapon/kitchen/rollingpin,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"is" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/processor,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"it" = (/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iu" = (/obj/machinery/light{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iv" = (/obj/structure/window/reinforced,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iw" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/window{dir = 2; name = "Gateway Chamber"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ix" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iy" = (/obj/machinery/door/airlock{name = "Emergency Supplies"},/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iz" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/obj/structure/table,/obj/item/stack/cable_coil,/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module{pixel_x = 2; pixel_y = 3},/obj/item/weapon/stock_parts/scanning_module,/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iB" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iC" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iD" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warnwhitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iE" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"iF" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iG" = (/obj/structure/table,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iH" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/drinkingglass,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iI" = (/obj/machinery/door/firedoor,/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iJ" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iL" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iM" = (/obj/structure/closet/secure_closet{icon_broken = "fridgebroken"; icon_closed = "fridge"; icon_locked = "fridge1"; icon_off = "fridgeoff"; icon_opened = "fridgeopen"; icon_state = "fridge"; locked = 0; name = "refrigerator"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/reagent_containers/food/condiment/milk,/obj/item/weapon/storage/fancy/egg_box,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iN" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"iO" = (/obj/structure/table,/obj/item/device/radio/off,/obj/item/device/radio/off,/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iP" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular,/obj/structure/sign/biohazard{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iQ" = (/obj/structure/table,/obj/machinery/recharger,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iS" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iT" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/table,/obj/item/weapon/paper/pamphlet,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iV" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"iW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; level = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"iZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ja" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"jb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jc" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jd" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"je" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/junction,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jg" = (/obj/structure/closet/secure_closet{icon_state = "secure"; locked = 0; name = "kitchen Cabinet"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jh" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/camera{c_tag = "Gateway Chamber"; dir = 4; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ji" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/stool,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jm" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jn" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jo" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/research{name = "Gateway Observation"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"js" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"jt" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ju" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jv" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jw" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jx" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jy" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jz" = (/obj/machinery/door/window/southright{name = "Bar Door"; req_access_txt = "201"; req_one_access_txt = "0"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jA" = (/obj/machinery/camera{c_tag = "Bar"; dir = 8; network = list("UO45")},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jB" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/machinery/door/airlock{name = "Kitchen"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"iX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10; level = 1},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"iZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ja" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"jb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jc" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jd" = (/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/computer/security/telescreen/entertainment{pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"je" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/disposalpipe/junction,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jf" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jg" = (/obj/structure/closet/secure_closet{icon_state = "secure"; locked = 0; name = "kitchen Cabinet"; req_access_txt = "201"},/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/flour,/obj/item/weapon/reagent_containers/food/condiment/sugar,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ji" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/camera{c_tag = "Gateway Chamber"; dir = 4; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jl" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/stool,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jo" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 10},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/research{name = "Gateway Observation"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jr" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"js" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/disk/tech_disk{pixel_x = 0; pixel_y = 0},/obj/item/weapon/disk/design_disk,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"jt" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ju" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jv" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Central Access"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jw" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jx" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jy" = (/obj/machinery/door/window/southright{name = "Bar Door"; req_access_txt = "201"; req_one_access_txt = "0"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jz" = (/obj/structure/table/reinforced,/obj/item/weapon/reagent_containers/food/drinks/cans/beer,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jA" = (/obj/machinery/camera{c_tag = "Bar"; dir = 8; network = list("UO45")},/obj/structure/table/reinforced,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jB" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/machinery/door/airlock{name = "Kitchen"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"jC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"jD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/rust,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"jE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
"jF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/wall/r_wall,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"jG" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jH" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jI" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jJ" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"jL" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jG" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{dir = 5; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jH" = (/obj/structure/closet/l3closet/scientist,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jI" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jJ" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jL" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"jM" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jN" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/window/full/basic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"jO" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/research{name = "Research Lab"; req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"jP" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"jN" = (/obj/structure/grille,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"jO" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"jP" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/research{name = "Research Lab"; req_access_txt = "201"; req_one_access_txt = "0"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"jQ" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"jR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jS" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/poster{icon_state = "poster19_legit"; pixel_x = 0; pixel_y = 32; serial_number = 19; subtype = 1},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jT" = (/obj/structure/stool/bed/chair{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jU" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jV" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jW" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 1; locked = 0; name = "UO45 Bar APC"; pixel_x = 0; pixel_y = 25; req_access = null; start_charge = 100},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jY" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"jZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ka" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"kb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"kc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"kd" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ke" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/command{icon_state = "door_closed"; lockdownbyai = 0; locked = 0; name = "Gateway Chamber"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kf" = (/obj/machinery/suit_storage_unit/engine,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ki" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kj" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kk" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitepurple"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kl" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"km" = (/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/weapon/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kn" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/clothing/gloves/color/latex,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ko" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"kp" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"kq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"kr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ks" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"kt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ku" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"kv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"kw" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"kx" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"ky" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
-"kz" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/head/welding,/obj/structure/sign/biohazard{pixel_x = 0; pixel_y = 32},/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kA" = (/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kB" = (/obj/structure/dispenser/oxygen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kD" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{dir = 8},/obj/structure/sign/securearea{pixel_x = -32},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kF" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kG" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"jR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jS" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/poster{icon_state = "poster19_legit"; pixel_x = 0; pixel_y = 32; serial_number = 19; subtype = 1},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jT" = (/obj/structure/stool/bed/chair{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jU" = (/obj/structure/table,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jV" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jW" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 1; locked = 0; name = "UO45 Bar APC"; pixel_x = 0; pixel_y = 25; req_access = null; start_charge = 100},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jX" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{icon_state = "pipe-j2"; dir = 2},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"jZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ka" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"kb" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"kc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"kd" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ke" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/command{icon_state = "door_closed"; lockdownbyai = 0; locked = 0; name = "Gateway Chamber"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kf" = (/obj/machinery/suit_storage_unit/engine,/turf/simulated/floor/plasteel{dir = 8; icon_state = "vault"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ki" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kj" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kk" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kl" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurple"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"km" = (/obj/machinery/light/small{dir = 1},/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/clothing/gloves/color/latex,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kn" = (/obj/structure/closet/secure_closet{icon_broken = "secureresbroken"; icon_closed = "secureres"; icon_locked = "secureres1"; icon_off = "secureresoff"; icon_opened = "secureresopen"; icon_state = "secureres"; locked = 0; name = "scientist's locker"; req_access_txt = "201"},/obj/item/weapon/tank/air,/obj/item/clothing/mask/gas,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ko" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"kp" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"kq" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"kr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ks" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"kt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ku" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"kv" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"kw" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"kx" = (/obj/structure/closet/crate,/obj/effect/decal/cleanable/dirt,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"ky" = (/obj/structure/closet/l3closet/general,/turf/simulated/floor/plating,/area/awaycontent/a1{has_gravity = 1; name = "UO45 Central Hall"})
+"kz" = (/obj/structure/table,/obj/item/weapon/storage/belt/utility,/obj/item/clothing/head/welding,/obj/structure/sign/biohazard{pixel_x = 0; pixel_y = 32},/obj/item/device/assembly/prox_sensor,/obj/item/device/assembly/prox_sensor,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kA" = (/obj/structure/sign/securearea{pixel_y = 32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kB" = (/obj/structure/dispenser/oxygen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warning"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/light/small{dir = 8},/obj/structure/sign/securearea{pixel_x = -32},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kF" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kG" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"kK" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kM" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"kN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kP" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kR" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kU" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kW" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kX" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kY" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "whitepurple"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"kZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_biohazard"; name = "biohazard containment door"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "delivery"; name = "floor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"la" = (/obj/structure/sink{pixel_y = 25},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/space)
-"lb" = (/obj/machinery/shower{pixel_y = 15},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lc" = (/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ld" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/structure/sign/science{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "purplecorner"; tag = "icon-purplecorner (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"le" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lg" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lh" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"li" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lk" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ll" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ln" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/junction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"kL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kM" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"kN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kS" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kU" = (/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kW" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kX" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kY" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitepurple"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"kZ" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_biohazard"; name = "biohazard containment door"},/turf/simulated/floor/plasteel{ icon_state = "delivery"; name = "floor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"la" = (/obj/machinery/shower{pixel_y = 15},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lb" = (/obj/structure/sink{pixel_y = 25},/obj/effect/decal/cleanable/dirt,/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 9; icon_state = "warnwhite"},/area/space)
+"lc" = (/obj/structure/sink{pixel_y = 25},/turf/simulated/floor/plasteel{dir = 5; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ld" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"le" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/structure/sign/science{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "purplecorner"; tag = "icon-purplecorner (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lg" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lh" = (/obj/machinery/light/small,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"li" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ll" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lm" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/junction,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ln" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"lo" = (/turf/simulated/wall/r_wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"lp" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lq" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lr" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ls" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera{c_tag = "Gateway Ready Room"; dir = 2; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lv" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/command{icon_state = "door_closed"; lockdownbyai = 0; locked = 0; name = "Gateway Ready Room"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"ly" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera{c_tag = "Research Division West"; dir = 1; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lE" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"lF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light,/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j1"; tag = "icon-pipe-j1 (EAST)"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lI" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Research Division APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lJ" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lK" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lN" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lO" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/camera{c_tag = "Research Division East"; dir = 1; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lP" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"lQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "purple"; tag = "icon-purple (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lR" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lS" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lT" = (/obj/structure/stool/bed/chair{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lV" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lW" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lX" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"lY" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/plasma{amount = 26},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"lZ" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Engineering Secure Storage"; dir = 2; network = list("UO45")},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ma" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plating{dir = 8; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"mb" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mc" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"md" = (/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"me" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mh" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mi" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/command{name = "Research Director's Office"; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mj" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_rdprivacy"; name = "privacy shutters"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mk" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_rdprivacy"; name = "privacy shutters"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ml" = (/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mm" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mn" = (/obj/structure/closet/firecloset,/obj/machinery/light/small,/obj/structure/sign/securearea{pixel_x = 0; pixel_y = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mo" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "purplecorner"; tag = "icon-purplecorner (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mq" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mr" = (/obj/structure/table,/obj/item/weapon/newspaper,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ms" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mt" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mu" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mv" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mw" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mx" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/pj/red,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"my" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mA" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"mB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"mC" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mD" = (/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mE" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack/carbondioxide,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mF" = (/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Gateway APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/machinery/light/small,/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mG" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mH" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"mI" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lp" = (/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/multitool,/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lr" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ls" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lt" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera{c_tag = "Gateway Ready Room"; dir = 2; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lw" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/command{icon_state = "door_closed"; lockdownbyai = 0; locked = 0; name = "Gateway Ready Room"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lx" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"ly" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/camera{c_tag = "Research Division West"; dir = 1; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lD" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"lF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lH" = (/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Research Division APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lI" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light,/obj/structure/disposalpipe/junction{dir = 8; icon_state = "pipe-j1"; tag = "icon-pipe-j1 (EAST)"},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lJ" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lK" = (/obj/machinery/door/firedoor,/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lN" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/machinery/camera{c_tag = "Research Division East"; dir = 1; network = list("UO45","UO45R")},/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lO" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lP" = (/obj/machinery/door/airlock/research{name = "Research Division Access"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"lQ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "purple"; tag = "icon-purple (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lS" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lT" = (/obj/structure/stool/bed/chair{tag = "icon-chair (EAST)"; icon_state = "chair"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lU" = (/obj/structure/table,/obj/item/weapon/reagent_containers/food/condiment/saltshaker{pixel_x = -3; pixel_y = 0},/obj/item/weapon/reagent_containers/food/condiment/peppermill{pixel_x = 3},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lV" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{ icon_state = "bar"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lW" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lX" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Diner"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"lY" = (/obj/machinery/light/small{dir = 1},/obj/machinery/camera{c_tag = "Engineering Secure Storage"; dir = 2; network = list("UO45")},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"lZ" = (/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/plasma{amount = 26},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ma" = (/obj/machinery/suit_storage_unit/standard_unit,/turf/simulated/floor/plating{dir = 8; icon_state = "warnplate"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"mb" = (/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/obj/item/stack/cable_coil{pixel_x = 3; pixel_y = -7},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"mc" = (/turf/simulated/floor/plasteel,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"md" = (/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"me" = (/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"mf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"mg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/portable_atmospherics/scrubber,/obj/structure/window/basic{tag = "icon-window (EAST)"; icon_state = "window"; dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mi" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/command{name = "Research Director's Office"; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mj" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_rdprivacy"; name = "privacy shutters"},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mk" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_rdprivacy"; name = "privacy shutters"},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ml" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitepurplecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mm" = (/obj/structure/closet/firecloset,/obj/machinery/light/small,/obj/structure/sign/securearea{pixel_x = 0; pixel_y = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mn" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plasteel{dir = 10; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mo" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{dir = 6; icon_state = "warnwhite"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "purplecorner"; tag = "icon-purplecorner (NORTH)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mq" = (/obj/structure/table,/obj/item/weapon/newspaper,/obj/machinery/newscaster{pixel_x = 30; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mr" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ms" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = 0; pixel_y = 32},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mt" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mu" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mv" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = -30; pixel_y = 0},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mw" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/pj/red,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mx" = (/obj/machinery/light/small{dir = 1},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"my" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mz" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mA" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"mB" = (/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"mC" = (/obj/structure/table,/obj/item/weapon/hand_labeler,/obj/item/device/flashlight,/obj/item/device/flashlight,/obj/item/device/flashlight,/turf/simulated/floor/plasteel{dir = 8; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners (WEST)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"mD" = (/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack/carbondioxide,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"mE" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"mF" = (/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"mG" = (/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Gateway APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/machinery/light/small,/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"mH" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
+"mI" = (/obj/structure/reagent_dispensers/watertank,/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"mJ" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"mK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/maintenance{name = "Research Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mM" = (/obj/structure/closet/secure_closet{icon_broken = "rdsecurebroken"; icon_closed = "rdsecure"; icon_locked = "rdsecure1"; icon_off = "rdsecureoff"; icon_opened = "rdsecureopen"; icon_state = "rdsecure1"; locked = 1; name = "research director's locker"; req_access_txt = "201"},/obj/item/weapon/storage/backpack/satchel_tox,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/suit/storage/labcoat/science,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mN" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mO" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mP" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mQ" = (/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mR" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mS" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/newscaster{pixel_x = -30},/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mT" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mU" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mV" = (/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"mW" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Dormitories"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mX" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dormitories"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door_control{id = "awaydorm5"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"mZ" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"na" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/navy,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nc" = (/obj/machinery/door_control{id = "awaydorm7"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nd" = (/obj/machinery/vending/cola,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ne" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nf" = (/obj/structure/table/woodentable,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ng" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair (WEST)"; icon_state = "comfychair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ni" = (/obj/machinery/door/poddoor{id_tag = "UO45_Secure Storage"; name = "secure storage"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"mL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/maintenance{name = "Research Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mM" = (/obj/structure/closet/secure_closet{icon_broken = "rdsecurebroken"; icon_closed = "rdsecure"; icon_locked = "rdsecure1"; icon_off = "rdsecureoff"; icon_opened = "rdsecureopen"; icon_state = "rdsecure1"; locked = 1; name = "research director's locker"; req_access_txt = "201"},/obj/item/weapon/storage/backpack/satchel_tox,/obj/item/clothing/gloves/color/latex,/obj/item/clothing/suit/storage/labcoat/science,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mN" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mO" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mP" = (/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mR" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mS" = (/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/plasteel{dir = 1; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mT" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/obj/machinery/newscaster{pixel_x = -30},/turf/simulated/floor/plasteel{dir = 9; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mU" = (/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mV" = (/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"mW" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass{name = "Dormitories"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mX" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass{name = "Dormitories"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mY" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door_control{id = "awaydorm5"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/obj/structure/stool/bed/chair/wood/normal{tag = "icon-wooden_chair (NORTH)"; icon_state = "wooden_chair"; dir = 1},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"mZ" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/obj/item/clothing/under/suit_jacket/navy,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"na" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nc" = (/obj/machinery/door_control{id = "awaydorm7"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nd" = (/obj/machinery/vending/cola,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 9; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ne" = (/obj/structure/table/woodentable,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nf" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair (EAST)"; icon_state = "comfychair"; dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ng" = (/obj/structure/stool/bed/chair/comfy/black{tag = "icon-comfychair (WEST)"; icon_state = "comfychair"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ni" = (/obj/machinery/door/poddoor{id_tag = "UO45_Secure Storage"; name = "secure storage"},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"nj" = (/turf/simulated/wall/r_wall/rust,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"nk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nl" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/toxins,/obj/item/weapon/cartridge/signal/toxins{pixel_x = -4; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nm" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nn" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"no" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"np" = (/obj/machinery/computer/security{network = list("UO45")},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nq" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nr" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Used for monitoring the research division and the labs within."; dir = 8; name = "research monitor"; network = list("UO45R")},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ns" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4; heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nt" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ny" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nz" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nA" = (/obj/machinery/vending/cigarette,/obj/structure/sign/poster{icon_state = "poster7"; pixel_y = 32; serial_number = 7; subtype = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nl" = (/obj/structure/table,/obj/item/weapon/cartridge/signal/toxins,/obj/item/weapon/cartridge/signal/toxins{pixel_x = -4; pixel_y = 2},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nm" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nn" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"no" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"np" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nq" = (/obj/machinery/computer/security{network = list("UO45")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nr" = (/obj/structure/table,/obj/machinery/computer/security/telescreen{desc = "Used for monitoring the research division and the labs within."; dir = 8; name = "research monitor"; network = list("UO45R")},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ns" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-whitepurplecorner (EAST)"; icon_state = "whitepurplecorner"; dir = 4},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nt" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nx" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ny" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plasteel{dir = 9; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nz" = (/obj/machinery/vending/cigarette,/obj/structure/sign/poster{icon_state = "poster7"; pixel_y = 32; serial_number = 7; subtype = 0},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nA" = (/obj/machinery/vending/coffee,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"nB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm5"; name = "Dorm 5"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm7"; name = "Dorm 7"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nE" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nH" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass{name = "Dormitories"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nI" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nJ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"nK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"nL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"nM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"nC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm5"; name = "Dorm 5"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm7"; name = "Dorm 7"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nE" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nG" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass{name = "Dormitories"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nH" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nI" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"nK" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"nL" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "warndark"; tag = "icon-warndark"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"nM" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"nN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nP" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/device/radio/off,/obj/item/device/laser_pointer,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nQ" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nS" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/computer/security/telescreen{desc = "Used for monitoring the research division and the labs within."; dir = 2; name = "research monitor"; network = list("UO45R")},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nT" = (/obj/machinery/light/small{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/reinforced,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nU" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/light{dir = 8},/obj/item/device/radio/off,/obj/item/weapon/screwdriver{pixel_y = 10},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nV" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"nW" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nP" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/light/small{dir = 8},/obj/structure/table,/obj/item/device/radio/off,/obj/item/device/laser_pointer,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nQ" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/folder/white,/obj/item/weapon/stamp/rd{pixel_x = 3; pixel_y = -2},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nR" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/computer/security/telescreen{desc = "Used for monitoring the research division and the labs within."; dir = 2; name = "research monitor"; network = list("UO45R")},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nT" = (/obj/machinery/light/small{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/table/reinforced,/obj/item/device/taperecorder{pixel_x = -3},/obj/item/device/paicard{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nU" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nV" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/machinery/light{dir = 8},/obj/item/device/radio/off,/obj/item/weapon/screwdriver{pixel_y = 10},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"nW" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"nX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 6},/turf/simulated/wall/r_wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"nY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"nZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/r_wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oa" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ob" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"od" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oe" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"of" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/camera{c_tag = "Dormitories"; dir = 2; network = list("UO45")},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"og" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ok" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ol" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"om" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"on" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"op" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 2; icon_state = "pipe-y"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oq" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "Dormitories"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"or" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"os" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-y (WEST)"; icon_state = "pipe-y"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ot" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ou" = (/obj/structure/cable,/obj/machinery/power/smes{charge = 1.5e+006; input_level = 10000; inputting = 0; output_level = 7000; outputting = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ov" = (/obj/structure/cable,/obj/machinery/power/smes{charge = 1.5e+006; input_level = 30000; inputting = 0; output_level = 7000; outputting = 1},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ow" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ox" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oy" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oz" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door_control{desc = "A remote control-switch whichs locks the research division down in the event of a biohazard leak or contamination."; id = "UO45_biohazard"; name = "Biohazard Door Control"; pixel_x = 0; pixel_y = 8; req_access_txt = "201"},/obj/machinery/door_control{desc = "A remote control-switch that controls the privacy shutters."; id = "UO45_rdprivacy"; name = "Privacy Shutter Control"; pixel_x = 0; pixel_y = -2; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oA" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oB" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oC" = (/obj/machinery/computer/aifixer,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oD" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -30; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oF" = (/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"oG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oI" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oN" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oR" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"oV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"oW" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/power/port_gen/pacman{desc = "A portable generator for emergency backup power."; name = "P.A.C.M.A.N.-type portable generator"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"oX" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/power/port_gen/pacman/super{desc = "A portable generator for emergency backup power."; name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator"},/obj/item/weapon/wrench,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"oY" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/power/port_gen/pacman{desc = "A portable generator for emergency backup power."; name = "P.A.C.M.A.N.-type portable generator"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"oZ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"oa" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ob" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oc" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"od" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oe" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/machinery/camera{c_tag = "Dormitories"; dir = 2; network = list("UO45")},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"of" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"og" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/light/small{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oh" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oi" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ok" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ol" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"om" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"on" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oo" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"op" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass{name = "Dormitories"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oq" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 2; icon_state = "pipe-y"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"or" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/junction{tag = "icon-pipe-y (WEST)"; icon_state = "pipe-y"; dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"os" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ot" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ou" = (/obj/structure/cable,/obj/machinery/power/smes{charge = 1.5e+006; input_level = 30000; inputting = 0; output_level = 7000; outputting = 1},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ov" = (/obj/structure/cable,/obj/machinery/power/smes{charge = 1.5e+006; input_level = 10000; inputting = 0; output_level = 7000; outputting = 1},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ow" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warndark"; tag = "icon-warndark (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ox" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oy" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oz" = (/obj/structure/table/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/machinery/door_control{desc = "A remote control-switch whichs locks the research division down in the event of a biohazard leak or contamination."; id = "UO45_biohazard"; name = "Biohazard Door Control"; pixel_x = 0; pixel_y = 8; req_access_txt = "201"},/obj/machinery/door_control{desc = "A remote control-switch that controls the privacy shutters."; id = "UO45_rdprivacy"; name = "Privacy Shutter Control"; pixel_x = 0; pixel_y = -2; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oA" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oB" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oC" = (/obj/machinery/computer/aifixer,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oD" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oE" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = -30; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oF" = (/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"oG" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oJ" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -28},/turf/simulated/floor/plasteel{ icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oL" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oM" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oN" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oR" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oS" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 6; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oT" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oU" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"oV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "warndark"; tag = "icon-warndark (EAST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"oW" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/power/port_gen/pacman/super{desc = "A portable generator for emergency backup power."; name = "S.U.P.E.R.P.A.C.M.A.N.-type portable generator"},/obj/item/weapon/wrench,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"oX" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/power/port_gen/pacman{desc = "A portable generator for emergency backup power."; name = "P.A.C.M.A.N.-type portable generator"},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"oY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warndark"; tag = "icon-warndark (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"oZ" = (/obj/machinery/power/terminal{icon_state = "term"; dir = 1},/obj/machinery/power/port_gen/pacman{desc = "A portable generator for emergency backup power."; name = "P.A.C.M.A.N.-type portable generator"},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"pa" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"pb" = (/obj/machinery/air_sensor{frequency = 1443; id_tag = "UO45_air_sensor"; output = 7},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"pc" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pd" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pe" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pf" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pg" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ph" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -27},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pi" = (/obj/structure/filingcabinet,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door_control{desc = "A remote control-switch whichs locks the research division down in the event of a biohazard leak or contamination."; id = "UO45_biohazard"; name = "Biohazard Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pk" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/restraints/handcuffs,/obj/item/device/flash,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pm" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pn" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"po" = (/obj/machinery/light/small{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm4"; name = "Dorm 4"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pc" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pe" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pf" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pg" = (/obj/item/weapon/storage/secure/safe{pixel_x = 5; pixel_y = -27},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ph" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 5; icon_state = "cafeteria"; tag = "icon-cafeteria (NORTHEAST)"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door_control{desc = "A remote control-switch whichs locks the research division down in the event of a biohazard leak or contamination."; id = "UO45_biohazard"; name = "Biohazard Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pj" = (/obj/structure/filingcabinet,/turf/simulated/floor/plasteel{dir = 10; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pk" = (/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/item/weapon/restraints/handcuffs,/obj/item/device/flash,/obj/item/weapon/reagent_containers/spray/pepper,/turf/simulated/floor/plasteel{dir = 6; icon_state = "red"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pl" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pm" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "neutralcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pn" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"po" = (/obj/machinery/light/small{dir = 4},/obj/machinery/firealarm{dir = 4; pixel_x = 24},/turf/simulated/floor/plasteel{dir = 4; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm4"; name = "Dorm 4"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/rust,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm6"; name = "Dorm 6"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ps" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pt" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock{id_tag = "awaydorm6"; name = "Dorm 6"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ps" = (/obj/machinery/door/airlock{name = "Unisex Restrooms"; req_access_txt = "0"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pt" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pv" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pw" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
"px" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"py" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/wall/rust,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"pz" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/wall/r_wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"pA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"pB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"pC" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"pD" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"pE" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners (EAST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"pA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"pB" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"pC" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"pD" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warndarkcorners"; tag = "icon-warndarkcorners (EAST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"pE" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 1; icon_state = "warndark"; tag = "icon-warndark (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"pF" = (/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2; external_pressure_bound = 0; frequency = 1443; icon_state = "in"; id_tag = "UO45_air_out"; internal_pressure_bound = 2000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"pG" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 2; frequency = 1443; id = "UO45_air_in"},/turf/simulated/floor/engine{name = "air floor"; nitrogen = 10580; oxygen = 2644},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"pH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"pI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pJ" = (/obj/machinery/door/airlock/command{name = "Server Room"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pK" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pJ" = (/obj/machinery/door/airlock/command{name = "Server Room"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pK" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"pL" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"pM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pN" = (/obj/machinery/door/airlock/glass_research{name = "Research Storage"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"pO" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pP" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pQ" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{id = "awaydorm4"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pN" = (/obj/machinery/door/airlock/glass_research{name = "Research Storage"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"pO" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pP" = (/obj/structure/stool/bed/chair/comfy/black,/turf/simulated/floor/plasteel{dir = 6; icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pQ" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "neutral"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pR" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{id = "awaydorm4"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = -25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pS" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"pT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/wall,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pU" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pV" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{id = "awaydorm6"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pW" = (/obj/machinery/light/small{dir = 1},/obj/structure/toilet{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pX" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pY" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"pZ" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qa" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pU" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/door_control{id = "awaydorm6"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pW" = (/obj/machinery/light/small{dir = 1},/obj/structure/toilet{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pX" = (/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pY" = (/obj/machinery/door/airlock{name = "Unit 1"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"pZ" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qa" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"qb" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a6{has_gravity = 1; name = "UO45 Gateway"})
-"qc" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "SMES Room"; req_access_txt = "201"; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qe" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{frequency = 1443; id = "UO45_mair_out_meter"; layer = 3.3; name = "Mixed Air Tank Out"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qf" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "UO45_mair_in_meter"; layer = 3.3; name = "Mixed Air Tank In"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qc" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qd" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/glass_engineering{name = "SMES Room"; req_access_txt = "201"; req_one_access_txt = "0"},/obj/machinery/atmospherics/pipe/simple/visible/purple,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qe" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{frequency = 1443; id = "UO45_mair_out_meter"; layer = 3.3; name = "Mixed Air Tank Out"},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qf" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/meter{frequency = 1443; id = "UO45_mair_in_meter"; layer = 3.3; name = "Mixed Air Tank In"},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/wall/r_wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qi" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; external_pressure_bound = 120; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qj" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qk" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ql" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qm" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 2; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qn" = (/obj/machinery/light/small,/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -11; pixel_y = 0},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qo" = (/obj/structure/toilet{tag = "icon-toilet00 (WEST)"; icon_state = "toilet00"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qp" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/glasses/hud/health,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qq" = (/obj/structure/table,/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/hand_labeler,/obj/item/clothing/accessory/stethoscope,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qr" = (/obj/machinery/vending/medical{req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qs" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qt" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qu" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qv" = (/obj/machinery/light/small{dir = 8},/obj/structure/dresser,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qw" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qx" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"qz" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qk" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ql" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = 32},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qm" = (/obj/machinery/atmospherics/unary/cold_sink/freezer{current_temperature = 80; dir = 2; on = 1},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qn" = (/obj/structure/toilet{tag = "icon-toilet00 (WEST)"; icon_state = "toilet00"; dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qo" = (/obj/machinery/light/small,/obj/structure/sink{dir = 8; icon_state = "sink"; pixel_x = -11; pixel_y = 0},/obj/structure/mirror{pixel_x = -28},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qp" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/item/weapon/reagent_containers/spray/cleaner,/obj/item/clothing/glasses/hud/health,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qq" = (/obj/machinery/vending/medical{req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 6; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qr" = (/obj/structure/table,/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/item/weapon/hand_labeler,/obj/item/clothing/accessory/stethoscope,/turf/simulated/floor/plasteel{dir = 2; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qs" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qt" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qu" = (/obj/machinery/light/small{dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qv" = (/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qw" = (/obj/machinery/light/small{dir = 8},/obj/structure/dresser,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qx" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qy" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"qz" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"qA" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"qB" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 6},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"qC" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qD" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qE" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qF" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/computer/monitor{name = "primary power monitoring console"},/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qH" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5; initialize_directions = 5},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qI" = (/obj/structure/closet/secure_closet{icon_broken = "secureengbroken"; icon_closed = "secureeng"; icon_locked = "secureeng1"; icon_off = "secureengoff"; icon_opened = "secureengopen"; icon_state = "secureeng1"; locked = 1; name = "engineer's locker"; req_access_txt = "201"},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/backpack/satchel_eng,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/meson,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qJ" = (/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/structure/closet/secure_closet/engineering_personal{req_access = list(201)},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qK" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Atmospherics"; dir = 2; network = list("UO45")},/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/obj/item/device/multitool,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellowcorner"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qL" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "UO45_air_in"; name = "Mixed Air Supply Control"; output_tag = "UO45_air_out"; pressure_setting = 2000; sensors = list("UO45_air_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "arrival"; tag = "icon-arrival (NORTHWEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qM" = (/obj/machinery/atmospherics/trinary/mixer{dir = 1; node1_concentration = 0.8; node2_concentration = 0.2; on = 1; pixel_x = 0; pixel_y = 0; req_access = null; target_pressure = 4500},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qN" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10; initialize_directions = 10},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qO" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"qP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qD" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qE" = (/obj/machinery/vending/cola,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qF" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/computer/monitor{name = "primary power monitoring console"},/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5; initialize_directions = 5},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qH" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qI" = (/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/structure/closet/secure_closet/engineering_personal{req_access = list(201)},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qJ" = (/obj/structure/closet/secure_closet{icon_broken = "secureengbroken"; icon_closed = "secureeng"; icon_locked = "secureeng1"; icon_off = "secureengoff"; icon_opened = "secureengopen"; icon_state = "secureeng1"; locked = 1; name = "engineer's locker"; req_access_txt = "201"},/obj/structure/window/reinforced{dir = 8},/obj/item/weapon/storage/backpack/satchel_eng,/obj/item/clothing/suit/storage/hazardvest,/obj/item/clothing/mask/gas,/obj/item/clothing/glasses/meson,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qK" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1443; input_tag = "UO45_air_in"; name = "Mixed Air Supply Control"; output_tag = "UO45_air_out"; pressure_setting = 2000; sensors = list("UO45_air_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{dir = 9; icon_state = "arrival"; tag = "icon-arrival (NORTHWEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qL" = (/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Atmospherics"; dir = 2; network = list("UO45")},/obj/structure/table,/obj/item/clothing/gloves/color/yellow,/obj/item/weapon/storage/toolbox/mechanical{pixel_y = 5},/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/obj/item/device/multitool,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qM" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10; initialize_directions = 10},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qN" = (/obj/machinery/atmospherics/trinary/mixer{dir = 1; node1_concentration = 0.8; node2_concentration = 0.2; on = 1; pixel_x = 0; pixel_y = 0; req_access = null; target_pressure = 4500},/turf/simulated/floor/plasteel{dir = 5; icon_state = "arrival"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qO" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qQ" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm/monitor/server{dir = 4; pixel_x = -22; pixel_y = 0},/obj/machinery/r_n_d/server/core{id_with_download_string = "3"; id_with_upload_string = "3"; req_access = null},/turf/simulated/floor/bluegrid{name = "Server Base"; nitrogen = 500; oxygen = 0; temperature = 80},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"qR" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8; initialize_directions = 11},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qS" = (/obj/machinery/door/airlock/glass_command{name = "Server Room"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qT" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qU" = (/obj/machinery/light/small{dir = 4},/obj/structure/stool/bed/chair/office/light,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qV" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qX" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"qZ" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/item/weapon/pen,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ra" = (/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rb" = (/obj/machinery/light/small{dir = 1},/obj/structure/toilet{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rc" = (/obj/machinery/door/airlock{name = "Unit 2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rd" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"re" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rh" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ri" = (/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rj" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rk" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rl" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rm" = (/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/obj/structure/dispenser{pixel_x = -1},/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rn" = (/obj/machinery/light/small{dir = 1},/obj/structure/table,/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/machinery/newscaster{pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ro" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/table,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"qS" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qT" = (/obj/machinery/door/airlock/glass_command{name = "Server Room"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/visible{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qU" = (/obj/machinery/light/small{dir = 4},/obj/structure/stool/bed/chair/office/light,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qV" = (/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qW" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qX" = (/obj/machinery/light/small{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qY" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"qZ" = (/obj/structure/table/woodentable,/obj/machinery/newscaster{pixel_x = 0; pixel_y = -28},/obj/item/weapon/pen,/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ra" = (/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rb" = (/obj/machinery/light/small{dir = 1},/obj/structure/toilet{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rc" = (/obj/machinery/door/airlock{name = "Unit 2"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rd" = (/obj/structure/mirror{pixel_x = 28},/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"re" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rf" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rg" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/structure/extinguisher_cabinet{pixel_x = -25; pixel_y = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rh" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ri" = (/obj/machinery/atmospherics/unary/vent_pump{on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rj" = (/obj/machinery/light/small{dir = 8},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rk" = (/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rl" = (/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rm" = (/obj/machinery/firealarm{dir = 2; pixel_x = 0; pixel_y = 24},/obj/structure/dispenser{pixel_x = -1},/turf/simulated/floor/plasteel{dir = 9; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/structure/table,/obj/item/weapon/storage/box,/obj/item/weapon/storage/box,/obj/structure/reagent_dispensers/peppertank{pixel_x = 0; pixel_y = 30},/turf/simulated/floor/plasteel{dir = 5; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ro" = (/obj/machinery/light/small{dir = 1},/obj/structure/table,/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/weapon/tank/emergency_oxygen{pixel_x = -8; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/item/clothing/mask/breath{pixel_x = 4; pixel_y = 0},/obj/machinery/newscaster{pixel_y = 32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"rp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/r_wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rq" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 8; locked = 1; name = "UO45 Engineering APC"; pixel_x = -25; pixel_y = 0; req_access = list(201); start_charge = 100},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6; initialize_directions = 6; level = 2},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rs" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Air to Distro"; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rt" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ru" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix to Exterior"; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rw" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ry" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rq" = (/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 8; locked = 1; name = "UO45 Engineering APC"; pixel_x = -25; pixel_y = 0; req_access = list(201); start_charge = 100},/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rr" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Air to Distro"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6; initialize_directions = 6; level = 2},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rt" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ru" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rv" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rw" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Mix to Exterior"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rx" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ry" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"rA" = (/obj/machinery/atmospherics/pipe/simple/visible{dir = 9},/turf/simulated/floor/bluegrid{icon_state = "dark"; name = "Server Walkway"; nitrogen = 500; oxygen = 0; temperature = 80},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rB" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = -32},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rC" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rD" = (/obj/machinery/computer/rdservercontrol,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rE" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/contraband/poster,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rF" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rG" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 2},/obj/machinery/door/airlock/maintenance{name = "Research Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rH" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rJ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rK" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"rM" = (/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/machinery/camera{c_tag = "Engineering Hallway"; dir = 4; network = list("UO45")},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rP" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rQ" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rX" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"rY" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Reception"; req_access_txt = "0"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"rZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sb" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sc" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sd" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_EngineeringOffice"; name = "Privacy Shutters"},/obj/machinery/door/window/southleft{base_state = "left"; dir = 4; icon_state = "left"; name = "Engineering Reception"; req_access_txt = "201"},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"se" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sh" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; layer = 2.9; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"si" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/meter{frequency = 1443; id = "UO45_dloop_atm_meter"; name = "Distribution Loop"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sk" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sl" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Mix to Distro"; on = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sm" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sn" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"so" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sp" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sq" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sr" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/meter{layer = 3.3},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rB" = (/obj/structure/table,/obj/item/weapon/folder/white,/obj/item/weapon/pen,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rC" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/sign/securearea{desc = "A warning sign which reads 'SERVER ROOM'."; name = "SERVER ROOM"; pixel_y = -32},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rD" = (/obj/machinery/computer/rdservercontrol,/turf/simulated/floor/plasteel{ icon_state = "dark"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rE" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rF" = (/obj/structure/closet/crate,/obj/item/weapon/storage/box/lights/mixed,/obj/item/weapon/contraband/poster,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rG" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rH" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 2},/obj/machinery/door/airlock/maintenance{name = "Research Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rJ" = (/obj/structure/table,/obj/item/weapon/storage/box/gloves{pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{dir = 8; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rK" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "white"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"rM" = (/obj/machinery/door/airlock{name = "Unisex Showers"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rN" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rO" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/obj/machinery/camera{c_tag = "Engineering Hallway"; dir = 4; network = list("UO45")},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rR" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/firedoor,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellow"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 2; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{dir = 1; icon_state = "yellowcorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rX" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Reception"; req_access_txt = "0"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"rY" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"rZ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sa" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sc" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sd" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"se" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_EngineeringOffice"; name = "Privacy Shutters"},/obj/machinery/door/window/southleft{base_state = "left"; dir = 4; icon_state = "left"; name = "Engineering Reception"; req_access_txt = "201"},/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/pen,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sf" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/obj/structure/table,/obj/machinery/recharger{pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sh" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; level = 2},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"si" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; layer = 2.9; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/visible/universal{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sj" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/meter{frequency = 1443; id = "UO45_dloop_atm_meter"; name = "Distribution Loop"},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sl" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow{dir = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sm" = (/obj/machinery/atmospherics/binary/pump{dir = 8; name = "Mix to Distro"; on = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sn" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"so" = (/obj/machinery/atmospherics/pipe/manifold/visible/yellow,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sp" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sq" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/machinery/meter{layer = 3.3},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sr" = (/obj/machinery/atmospherics/pipe/simple/visible/yellow{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "green"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ss" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; external_pressure_bound = 0; frequency = 1441; id_tag = "UO45_waste_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"st" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"su" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"sv" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"sw" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"sx" = (/obj/structure/closet/l3closet/general,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"sy" = (/obj/structure/closet/l3closet/general,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"sz" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"sA" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "whitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"sB" = (/obj/machinery/shower{dir = 4},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sC" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sD" = (/obj/machinery/shower{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sF" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sG" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "cautioncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "cautioncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sI" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "cautioncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sJ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "cautioncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sK" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"sM" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Reception"; req_access_txt = "0"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sO" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sQ" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_EngineeringOffice"; name = "Privacy Shutters"},/obj/machinery/door/window/southleft{base_state = "right"; dir = 4; icon_state = "right"; name = "Engineering Reception"; req_access_txt = "201"},/obj/item/weapon/folder/red,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sS" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sT" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sU" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Waste In"; on = 1},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sW" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sX" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sY" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix to Filter"; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"sZ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6; initialize_directions = 6},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ta" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tb" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tc" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"td" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_waste_in"; name = "Gas Mix Tank Control"; output_tag = "UO45_waste_out"; sensors = list("UO45_waste_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "green"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"te" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"su" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"sv" = (/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"sw" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = 0; pixel_y = -32},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"sx" = (/obj/structure/closet/l3closet/general,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"sy" = (/obj/structure/closet/l3closet/general,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"sz" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/regular{pixel_x = 2; pixel_y = 6},/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitecorner"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"sA" = (/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin{pixel_x = 2; pixel_y = 6},/obj/item/weapon/storage/firstaid/toxin{pixel_x = -2; pixel_y = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "whitehall"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"sB" = (/obj/machinery/shower{dir = 4},/obj/item/weapon/soap/nanotrasen,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sC" = (/obj/machinery/light/small{dir = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sD" = (/obj/machinery/shower{dir = 8},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sF" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sG" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sH" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sI" = (/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor/plasteel{ icon_state = "yellow"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sK" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "cautioncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sL" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/glass_engineering{name = "Engineering Reception"; req_access_txt = "0"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 6; icon_state = "yellow"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"sN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sO" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sR" = (/obj/structure/table/reinforced,/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/poddoor/shutters/preopen{id_tag = "UO45_EngineeringOffice"; name = "Privacy Shutters"},/obj/machinery/door/window/southleft{base_state = "right"; dir = 4; icon_state = "right"; name = "Engineering Reception"; req_access_txt = "201"},/obj/item/weapon/folder/red,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sS" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/obj/structure/table,/obj/item/weapon/book/manual/security_space_law,/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sU" = (/obj/machinery/atmospherics/binary/pump{dir = 4; name = "Waste In"; on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sV" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sX" = (/obj/machinery/atmospherics/binary/pump{dir = 2; name = "Mix to Filter"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sY" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 10},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"sZ" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ta" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 6; initialize_directions = 6},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tb" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tc" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 9},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"td" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"te" = (/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_waste_in"; name = "Gas Mix Tank Control"; output_tag = "UO45_waste_out"; sensors = list("UO45_waste_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 6},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 6; icon_state = "green"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tf" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8; frequency = 1441; id = "UO45_waste_in"},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tg" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "UO45_waste_sensor"; output = 63},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"th" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ti" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tk" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tl" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tm" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tn" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"th" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ti" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tk" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tl" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tn" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"to" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/r_wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"tp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall/r_wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"tq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall/r_wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"tr" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/wall/r_wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ts" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tt" = (/obj/machinery/shower{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"tu" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"tv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"tw" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 2},/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "arrival"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tx" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/portables_connector{dir = 2},/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "escape"; tag = "icon-escape (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ty" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tz" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/sign/securearea{pixel_y = -32},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tA" = (/obj/machinery/computer/security{network = list("UO45")},/obj/machinery/door_control{desc = "A remote control-switch for the security privacy shutters."; id = "UO45_EngineeringOffice"; name = "Privacy Shutters"; pixel_x = -24; pixel_y = 6; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tC" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/item/weapon/screwdriver{pixel_y = 10},/obj/item/device/radio/off,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tD" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; layer = 2.9; name = "engineering security door"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tE" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4; initialize_directions = 11},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tG" = (/obj/machinery/meter{frequency = 1443; id = "UO45_wloop_atm_meter"; name = "Waste Loop"},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tH" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tI" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "N2 Outlet Pump"; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tJ" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "O2 Outlet Pump"; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"tK" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Unfiltered to Mix"; on = 1},/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ts" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tt" = (/obj/machinery/shower{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"tu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"tv" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"tw" = (/obj/machinery/light/small,/obj/machinery/atmospherics/unary/portables_connector{dir = 2},/obj/structure/window/reinforced{dir = 4; layer = 2.9},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plasteel{dir = 1; icon_state = "escape"; tag = "icon-escape (NORTH)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tx" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 2},/obj/machinery/portable_atmospherics/pump,/turf/simulated/floor/plasteel{dir = 1; icon_state = "arrival"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ty" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/sign/securearea{pixel_y = -32},/turf/simulated/floor/plasteel{dir = 6; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tz" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{ icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tA" = (/obj/machinery/computer/security{network = list("UO45")},/obj/machinery/door_control{desc = "A remote control-switch for the security privacy shutters."; id = "UO45_EngineeringOffice"; name = "Privacy Shutters"; pixel_x = -24; pixel_y = 6; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 8; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tB" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/item/weapon/screwdriver{pixel_y = 10},/obj/item/device/radio/off,/turf/simulated/floor/plasteel{dir = 4; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tD" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 6},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tE" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; layer = 2.9; name = "engineering security door"},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 4; initialize_directions = 11},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tG" = (/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 9},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tH" = (/obj/machinery/meter{frequency = 1443; id = "UO45_wloop_atm_meter"; name = "Waste Loop"},/obj/machinery/atmospherics/pipe/manifold/visible/purple{dir = 8},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tI" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "N2 Outlet Pump"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tJ" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "O2 Outlet Pump"; on = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"tK" = (/obj/machinery/atmospherics/binary/pump{dir = 1; name = "Unfiltered to Mix"; on = 1},/obj/structure/sign/nosmoking_2{pixel_x = 32},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"tL" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/turf/simulated/wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/engineering{name = "Engineering Maintenance"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tM" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/door/airlock/engineering{name = "Engineering Maintenance"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"tN" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"tO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall/rust,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tP" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tQ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tV" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tW" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/obj/item/stack/rods,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tP" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tQ" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tR" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/junction{dir = 4; icon_state = "pipe-j2"; tag = "icon-pipe-j1 (WEST)"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tS" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tT" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tU" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tV" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 1; initialize_directions = 14; tag = "icon-manifold-r-f (NORTH)"},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"tW" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"tX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/wall/r_wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"tY" = (/obj/machinery/shower{dir = 1; pixel_y = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"tZ" = (/obj/machinery/shower{dir = 1; pixel_y = 0},/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ua" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "browncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"ub" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "browncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"tY" = (/obj/machinery/shower{dir = 1; pixel_y = 0},/obj/item/weapon/bikehorn/rubberducky,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"tZ" = (/obj/machinery/shower{dir = 1; pixel_y = 0},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ua" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 4; icon_state = "browncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"ub" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 1; icon_state = "browncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"uc" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple,/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"ud" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ue" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/meter,/turf/simulated/wall/r_wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uf" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Engineering Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ug" = (/obj/structure/filingcabinet,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uh" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ui" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; name = "Engineering Lockdown"; pixel_x = 24; pixel_y = 6; req_access_txt = "201"},/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uj" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uk" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "External to Filter"; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ul" = (/obj/machinery/atmospherics/binary/pump{dir = 0; name = "Air to External"; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"um" = (/obj/machinery/light,/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5; initialize_directions = 5},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"un" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 2; on = 1; req_access = null},/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uo" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_n2_in"; name = "Nitrogen Supply Control"; output_tag = "UO45_n2_out"; sensors = list("UO45_n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"up" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uq" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 1; on = 1; req_access = null},/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ur" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_o2_in"; name = "Oxygen Supply Control"; output_tag = "UO45_o2_out"; sensors = list("UO45_o2_sensor" = "Tank")},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "blue"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"us" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"ut" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating{dir = 9; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uu" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8; initialize_directions = 11},/turf/simulated/floor/plating{dir = 1; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uv" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/turf/simulated/floor/plating{dir = 5; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uf" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/engineering{name = "Engineering Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ug" = (/obj/structure/filingcabinet,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 10; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uh" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; name = "Engineering Lockdown"; pixel_x = 24; pixel_y = 6; req_access_txt = "201"},/obj/structure/closet/secure_closet{icon_broken = "secbroken"; icon_closed = "sec"; icon_locked = "sec1"; icon_off = "secoff"; icon_opened = "secopen"; icon_state = "sec1"; locked = 1; name = "security officer's locker"; req_access_txt = "201"},/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet,/turf/simulated/floor/plasteel{dir = 6; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ui" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{ icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uj" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uk" = (/obj/machinery/atmospherics/binary/pump{dir = 0; name = "Air to External"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ul" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/binary/pump{dir = 1; name = "External to Filter"; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"um" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 2; on = 1; req_access = null},/turf/simulated/floor/plasteel{dir = 10; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"un" = (/obj/machinery/light,/obj/machinery/alarm/monitor{dir = 1; frequency = 1439; locked = 0; pixel_y = -23; req_access = null},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5; initialize_directions = 5},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uo" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/structure/extinguisher_cabinet{pixel_x = 0; pixel_y = -30},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"up" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_n2_in"; name = "Nitrogen Supply Control"; output_tag = "UO45_n2_out"; sensors = list("UO45_n2_sensor" = "Tank")},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plasteel{dir = 6; icon_state = "red"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uq" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/obj/machinery/computer/general_air_control/large_tank_control{frequency = 1441; input_tag = "UO45_o2_in"; name = "Oxygen Supply Control"; output_tag = "UO45_o2_out"; sensors = list("UO45_o2_sensor" = "Tank")},/turf/simulated/floor/plasteel{dir = 6; icon_state = "blue"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ur" = (/obj/machinery/atmospherics/trinary/filter{dir = 4; filter_type = 1; on = 1; req_access = null},/turf/simulated/floor/plasteel{dir = 10; icon_state = "blue"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"us" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"ut" = (/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8; initialize_directions = 11},/turf/simulated/floor/plating{dir = 1; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uu" = (/obj/structure/closet/firecloset,/turf/simulated/floor/plating{dir = 9; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uv" = (/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"uw" = (/turf/simulated/mineral/random/labormineral,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"ux" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/external,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"ux" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"uy" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/wall,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uz" = (/obj/structure/closet,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"uA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"uB" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("UO45_n2_sensor" = "Nitrogen", "UO45_o2_sensor" = "Oxygen", "UO45_waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor/plasteel{dir = 9; heat_capacity = 1e+006; icon_state = "caution"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uC" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uD" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uE" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uz" = (/obj/structure/closet,/obj/item/weapon/storage/belt/utility,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"uA" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "0"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"uB" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uC" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/general_air_control{frequency = 1441; name = "Tank Monitor"; sensors = list("UO45_n2_sensor" = "Nitrogen", "UO45_o2_sensor" = "Oxygen", "UO45_waste_sensor" = "Gas Mix Tank")},/turf/simulated/floor/plasteel{dir = 9; icon_state = "caution"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uD" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uE" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uF" = (/turf/simulated/wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uG" = (/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/engineering{name = "Engineering"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uG" = (/obj/machinery/door/airlock/glass_security{name = "Security Office"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uH" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/airlock/engineering{name = "Engineering"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"uI" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/wall/r_wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uJ" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uK" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uL" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 8; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uM" = (/obj/machinery/atmospherics/binary/valve{dir = 2},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uN" = (/obj/machinery/atmospherics/binary/valve{dir = 2},/turf/simulated/floor/plating{dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uO" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uP" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; heat_capacity = 1e+006; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uQ" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"uR" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"uS" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"uT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"uU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 1; heat_capacity = 1e+006; icon_state = "browncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"uV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("UO45_mair_in_meter" = "Mixed Air In", "UO45_air_sensor" = "Mixed Air Supply Tank", "UO45_mair_out_meter" = "Mixed Air Out", "UO45_dloop_atm_meter" = "Distribution Loop", "UO45_wloop_atm_meter" = "Waste Loop")},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "caution"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uY" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"uZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uJ" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/green,/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uK" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/meter{layer = 3.3},/obj/machinery/atmospherics/pipe/simple/visible/cyan,/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uL" = (/obj/machinery/atmospherics/binary/valve{dir = 2},/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uM" = (/obj/machinery/light/small{dir = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{dir = 8; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uN" = (/obj/machinery/atmospherics/binary/valve{dir = 2},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uO" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uP" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uQ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating{burnt = 1; icon_state = "panelscorched"; tag = "icon-panelscorched"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"uR" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"uS" = (/obj/structure/stool/bed/chair{tag = "icon-chair (WEST)"; icon_state = "chair"; dir = 8},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg2"; tag = "icon-platingdmg2"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"uT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg3"; tag = "icon-platingdmg3"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"uU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 1; icon_state = "browncorner"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"uV" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5; level = 1},/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/general_air_control{frequency = 1443; level = 3; name = "Distribution and Waste Monitor"; sensors = list("UO45_mair_in_meter" = "Mixed Air In", "UO45_air_sensor" = "Mixed Air Supply Tank", "UO45_mair_out_meter" = "Mixed Air Out", "UO45_dloop_atm_meter" = "Distribution Loop", "UO45_wloop_atm_meter" = "Waste Loop")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "caution"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uX" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uY" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/alarm/monitor{frequency = 1439; locked = 0; pixel_y = 23; req_access = null},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"uZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/sign/securearea{pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 5; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"va" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vb" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "delivery"; name = "floor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vc" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "delivery"; name = "floor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vd" = (/obj/machinery/door/firedoor,/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "delivery"; name = "floor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vb" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{ icon_state = "delivery"; name = "floor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vc" = (/obj/machinery/door/firedoor,/obj/structure/sign/securearea{pixel_y = 32},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{ icon_state = "delivery"; name = "floor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vd" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/poddoor/preopen{id_tag = "UO45_Engineering"; name = "engineering security door"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/turf/simulated/floor/plasteel{ icon_state = "delivery"; name = "floor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"ve" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1; frequency = 1441; id = "UO45_n2_in"},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 10000; oxygen = 0},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; id_tag = "UO45_n2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 10000; oxygen = 0},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vg" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 1; frequency = 1441; id = "UO45_o2_in"},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 10000},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vh" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 0; frequency = 1441; id_tag = "UO45_o2_out"; initialize_directions = 1; internal_pressure_bound = 4000; on = 1; pressure_checks = 2; pump_direction = 0},/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 10000},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vi" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{dir = 10; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"vj" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"vk" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{dir = 6; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
-"vl" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"vi" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{ icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"vj" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating{dir = 10; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"vk" = (/obj/machinery/atmospherics/unary/portables_connector{dir = 1},/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating{dir = 6; icon_state = "warnplate"},/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
+"vl" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/plating,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
"vm" = (/obj/machinery/atmospherics/pipe/manifold/hidden/purple{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"vn" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"vo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/stack/rods,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"vp" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{broken = 1; heat_capacity = 1e+006; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"vq" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"vr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "brown"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"vs" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "brown"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
-"vt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/atmos_alert,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "caution"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vu" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vv" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/engineering{name = "Engineering"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vC" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vD" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vn" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"vo" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating{broken = 1; icon_state = "platingdmg1"; tag = "icon-platingdmg1"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"vp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/item/stack/rods,/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"vq" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"vr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 6; icon_state = "brown"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"vs" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 10; icon_state = "brown"},/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
+"vt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/computer/atmos_alert,/turf/simulated/floor/plasteel{dir = 8; icon_state = "caution"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vu" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vv" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vw" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vx" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1; initialize_directions = 14; tag = "icon-manifold-b-f (NORTH)"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vy" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 4; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vz" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vA" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vB" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/door/airlock/engineering{name = "Engineering"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vC" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vD" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vE" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "UO45_n2_sensor"},/obj/machinery/light/small,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 10000; oxygen = 0},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vF" = (/obj/machinery/portable_atmospherics/canister/nitrogen,/turf/simulated/floor/engine{name = "n2 floor"; nitrogen = 10000; oxygen = 0},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vG" = (/obj/machinery/air_sensor{frequency = 1441; id_tag = "UO45_o2_sensor"},/obj/machinery/light/small,/turf/simulated/floor/engine{name = "o2 floor"; nitrogen = 0; oxygen = 10000},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
@@ -1129,130 +1129,130 @@
"vK" = (/turf/simulated/wall/r_wall,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vL" = (/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"vM" = (/turf/simulated/wall/rust,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"vN" = (/obj/machinery/door/airlock/maintenance{name = "Mining Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"vO" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_mining{name = "Mining Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"vP" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_mining{name = "Mining Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"vQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/computer/station_alert,/turf/simulated/floor/plasteel{dir = 10; heat_capacity = 1e+006; icon_state = "caution"; tag = "icon-caution (SOUTHWEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/noticeboard{dir = 1; pixel_y = -27},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vV" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/vending/engivend{req_access_txt = "0"},/obj/machinery/camera{c_tag = "Engineering Foyer"; dir = 1; network = list("UO45")},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/vending/tool,/obj/structure/sign/poster{icon_state = "poster5_legit"; pixel_x = 0; pixel_y = -32; serial_number = 21; subtype = 1},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel{dir = 6; heat_capacity = 1e+006; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vN" = (/obj/machinery/door/airlock/maintenance{name = "Mining Maintenance"; req_access_txt = "201"},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"vO" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/glass_mining{name = "Mining Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"vP" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/glass_mining{name = "Mining Foyer"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"vQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/noticeboard{dir = 1; pixel_y = -27},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/computer/station_alert,/turf/simulated/floor/plasteel{dir = 10; icon_state = "caution"; tag = "icon-caution (SOUTHWEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"; pixel_y = -32},/obj/machinery/vending/engivend{req_access_txt = "0"},/obj/machinery/camera{c_tag = "Engineering Foyer"; dir = 1; network = list("UO45")},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/table,/obj/machinery/cell_charger,/obj/item/weapon/stock_parts/cell/high{charge = 100; maxcharge = 15000},/turf/simulated/floor/plasteel{dir = 6; icon_state = "yellow"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"vX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/vending/tool,/obj/structure/sign/poster{icon_state = "poster5_legit"; pixel_x = 0; pixel_y = -32; serial_number = 21; subtype = 1},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"vY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/wall,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"vZ" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wa" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wb" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wc" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wd" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"we" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"vZ" = (/obj/structure/closet/emcloset,/obj/item/clothing/mask/breath,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wa" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wb" = (/obj/structure/closet/firecloset,/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "bot"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wc" = (/obj/machinery/light/small{dir = 1},/obj/structure/stool/bed/chair/wood/normal{dir = 8},/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wd" = (/obj/structure/table/woodentable,/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"we" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wf" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wg" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wh" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wi" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wj" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wg" = (/obj/machinery/light/small{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/item/weapon/twohanded/required/kirbyplants{layer = 5},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wh" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wi" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wj" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"wk" = (/obj/machinery/atmospherics/pipe/simple/hidden/purple{dir = 9},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
-"wl" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wm" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wl" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wm" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plating,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wn" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/door/airlock/glass_command{name = "Chief Engineer"; req_access_txt = "201"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
"wo" = (/turf/simulated/wall/rust,/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wp" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door_control{id = "awaydorm8"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"ws" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm8"; name = "Mining Dorm 1"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wv" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"ww" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wx" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wy" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wz" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wC" = (/obj/structure/toilet{pixel_y = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wD" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wE" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wF" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wG" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wH" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wI" = (/obj/structure/stool/bed/chair/office,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wJ" = (/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wL" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wM" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/light/small,/obj/structure/mirror{pixel_x = 28},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wN" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door_control{id = "awaydorm9"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm9"; name = "Mining Dorm 2"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wS" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/weapon/stamp/ce,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wT" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wU" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"wW" = (/obj/machinery/light/small,/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/carpet{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wY" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/closet/secure_closet/miner{req_access = list(201)},/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"wZ" = (/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Mining APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/closet/secure_closet/engineering_personal{icon_broken = "miningsecbroken"; icon_closed = "miningsec"; icon_locked = "miningsec1"; icon_off = "miningsecoff"; icon_opened = "miningsecopen"; icon_state = "miningsec"; locked = 0; name = "miner's equipment"; req_access = list(201)},/obj/item/weapon/storage/backpack/satchel_eng,/obj/item/clothing/gloves/fingerless,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "browncorner"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xa" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "brown"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xb" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "brown"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xc" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/cigarettes{pixel_x = -2},/obj/item/weapon/lighter/zippo{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xd" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xe" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xf" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/newscaster{pixel_y = -28},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xg" = (/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xh" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/mining{name = "Processing Area"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xi" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/mining{name = "Processing Area"; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xj" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xk" = (/obj/machinery/light/small,/obj/machinery/computer/atmos_alert,/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; name = "Engineering Lockdown"; pixel_x = -6; pixel_y = -24; req_access_txt = "201"},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "UO45_Secure Storage"; name = "Engineering Secure Storage"; pixel_x = 6; pixel_y = -24; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xl" = (/obj/machinery/computer/monitor{name = "primary power monitoring console"},/obj/structure/cable,/turf/simulated/floor/plasteel{dir = 2; heat_capacity = 1e+006; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
-"xm" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/turf/simulated/floor/plating{dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xn" = (/obj/machinery/mineral/unloading_machine{dir = 1; icon_state = "unloader-corner"; input_dir = 4; output_dir = 8},/turf/simulated/floor/plating{dir = 5; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xo" = (/turf/simulated/floor/plasteel{dir = 8; heat_capacity = 1e+006; icon_state = "loadingarea"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xq" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xr" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plating{dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xs" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xt" = (/obj/machinery/conveyor_switch/oneway{id = "UO45_mining"; name = "mining conveyor"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xv" = (/obj/machinery/suit_storage_unit/mining,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xw" = (/obj/structure/table,/obj/item/weapon/pickaxe,/obj/item/device/radio/off,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xx" = (/obj/machinery/mineral/processing_unit{dir = 1; output_dir = 2},/turf/simulated/floor/plating{dir = 5; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wp" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wq" = (/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm8"; name = "Mining Dorm 1"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"ws" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door_control{id = "awaydorm8"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = -25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wt" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wu" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wv" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"ww" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 4; initialize_directions = 11; tag = "icon-manifold-b-f (EAST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wx" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wy" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/sign/deathsposal{desc = "A warning sign which reads 'DISPOSAL: LEADS TO EXTERIOR'"; name = "\improper DISPOSAL: LEADS TO EXTERIOR"; pixel_x = -32},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wz" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wB" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wC" = (/obj/structure/toilet{pixel_y = 8},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wD" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wE" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wG" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wH" = (/obj/structure/filingcabinet/chestdrawer,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wI" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wJ" = (/obj/structure/stool/bed/chair/office,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wK" = (/obj/machinery/door/airlock{name = "Private Restroom"},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wL" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wM" = (/obj/structure/sink{dir = 4; icon_state = "sink"; pixel_x = 11; pixel_y = 0},/obj/machinery/light/small,/obj/structure/mirror{pixel_x = 28},/turf/simulated/floor/plasteel{ icon_state = "freezerfloor"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wN" = (/obj/structure/stool/bed/chair/wood/normal,/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wO" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock{id_tag = "awaydorm9"; name = "Mining Dorm 2"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door_control{id = "awaydorm9"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 0; pixel_y = 25; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wQ" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wR" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wS" = (/obj/structure/table/reinforced,/obj/item/weapon/clipboard,/obj/item/clothing/glasses/meson{pixel_y = 4},/obj/item/weapon/stamp/ce,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wT" = (/obj/structure/table/reinforced,/obj/item/weapon/paper_bin{pixel_x = -3; pixel_y = 7},/obj/item/weapon/pen,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wU" = (/obj/structure/table/reinforced,/obj/item/weapon/folder/yellow,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wV" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/light/small{dir = 4},/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"wW" = (/obj/machinery/light/small,/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wX" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/structure/closet/secure_closet{desc = "It's a secure locker for personnel. The first card swiped gains control."; icon_broken = "cabinetdetective_broken"; icon_closed = "cabinetdetective"; icon_locked = "cabinetdetective_locked"; icon_off = "cabinetdetective_broken"; icon_opened = "cabinetdetective_open"; icon_state = "cabinetdetective"; locked = 0; name = "personal closet"; req_access_txt = "201"},/turf/simulated/floor/carpet,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wY" = (/obj/structure/cable,/obj/machinery/power/apc/noalarm{cell_type = 15000; dir = 2; locked = 0; name = "UO45 Mining APC"; pixel_x = 0; pixel_y = -25; req_access = null; start_charge = 100},/obj/machinery/light/small,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/closet/secure_closet/engineering_personal{icon_broken = "miningsecbroken"; icon_closed = "miningsec"; icon_locked = "miningsec1"; icon_off = "miningsecoff"; icon_opened = "miningsecopen"; icon_state = "miningsec"; locked = 0; name = "miner's equipment"; req_access = list(201)},/obj/item/weapon/storage/backpack/satchel_eng,/obj/item/clothing/gloves/fingerless,/turf/simulated/floor/plasteel{dir = 2; icon_state = "browncorner"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"wZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/firealarm{dir = 1; pixel_x = 0; pixel_y = -24},/obj/structure/closet/secure_closet/miner{req_access = list(201)},/turf/simulated/floor/plasteel{dir = 8; icon_state = "floorgrime"; tag = "icon-floorgrime (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xa" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xb" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "brown"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xc" = (/obj/structure/table/reinforced,/obj/item/weapon/storage/fancy/cigarettes{pixel_x = -2},/obj/item/weapon/lighter/zippo{pixel_x = 4},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xd" = (/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = ""},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xe" = (/obj/structure/stool/bed/chair/office/light{dir = 1; pixel_y = 3},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xf" = (/obj/structure/bookcase/manuals/engineering,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xg" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/obj/machinery/newscaster{pixel_y = -28},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xh" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/door/airlock/mining{name = "Processing Area"; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xi" = (/obj/machinery/door/firedoor,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/mining{name = "Processing Area"; req_access_txt = "201"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xj" = (/obj/machinery/computer/station_alert,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xk" = (/obj/machinery/computer/monitor{name = "primary power monitoring console"},/obj/structure/cable,/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xl" = (/obj/machinery/light/small,/obj/machinery/computer/atmos_alert,/obj/machinery/door_control{desc = "A remote control-switch for the engineering security doors."; id = "UO45_Engineering"; name = "Engineering Lockdown"; pixel_x = -6; pixel_y = -24; req_access_txt = "201"},/obj/machinery/door_control{desc = "A remote control-switch for secure storage."; id = "UO45_Secure Storage"; name = "Engineering Secure Storage"; pixel_x = 6; pixel_y = -24; req_access_txt = "201"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "neutralfull"},/area/awaycontent/a3{has_gravity = 1; name = "UO45 Engineering"})
+"xm" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xn" = (/turf/simulated/floor/plasteel{dir = 8; icon_state = "loadingarea"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xo" = (/obj/machinery/mineral/unloading_machine{dir = 1; icon_state = "unloader-corner"; input_dir = 4; output_dir = 8},/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/alarm/monitor{dir = 8; frequency = 1439; locked = 0; pixel_x = 23; pixel_y = 0; req_access = null},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xq" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xr" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xs" = (/obj/machinery/conveyor_switch/oneway{id = "UO45_mining"; name = "mining conveyor"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xt" = (/obj/structure/grille,/obj/structure/window/full/basic,/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xv" = (/obj/machinery/suit_storage_unit/mining,/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xw" = (/obj/structure/table,/obj/item/weapon/pickaxe,/obj/item/device/radio/off,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xx" = (/obj/machinery/mineral/processing_unit{dir = 1; output_dir = 2},/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xy" = (/obj/machinery/mineral/processing_unit_console{machinedir = 8},/turf/simulated/wall/rust,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Mining"; dir = 4; network = list("UO45")},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xB" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xC" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xD" = (/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xE" = (/obj/machinery/light/small{dir = 4},/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xF" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 4; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xH" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xI" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_mining{name = "Mining EVA"; req_access_txt = "201"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xL" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xM" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/machinery/light{dir = 8},/obj/machinery/camera{c_tag = "Mining"; dir = 4; network = list("UO45")},/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xA" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8; initialize_directions = 7; tag = "icon-manifold-r-f (WEST)"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xB" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xC" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xD" = (/obj/machinery/light/small{dir = 4},/obj/structure/table,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched2"; tag = "icon-floorscorched2 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xE" = (/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xF" = (/obj/machinery/conveyor{dir = 2; id = "UO45_mining"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating{dir = 4; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xG" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xH" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xI" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8; initialize_directions = 7; tag = "icon-manifold-b-f (WEST)"},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xJ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xK" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/door/airlock/glass_mining{name = "Mining EVA"; req_access_txt = "201"},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xL" = (/obj/structure/dispenser/oxygen,/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xM" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xN" = (/obj/machinery/mineral/stacking_unit_console{machinedir = 2},/turf/simulated/wall,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xP" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xQ" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 26},/obj/item/stack/sheet/glass{amount = 19},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xR" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 4; initialize_directions = 11; tag = "icon-manifold-r-f (EAST)"},/obj/structure/closet/crate,/obj/item/stack/sheet/metal{amount = 26},/obj/item/stack/sheet/glass{amount = 19},/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xQ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xR" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xS" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/mech_bay_recharge_floor,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"xT" = (/obj/machinery/mech_bay_recharge_port{tag = "icon-recharge_port (WEST)"; icon_state = "recharge_port"; dir = 8},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xU" = (/obj/machinery/mineral/stacking_machine{dir = 1; input_dir = 8; output_dir = 4},/turf/simulated/floor/plating{dir = 5; heat_capacity = 1e+006; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xV" = (/turf/simulated/floor/plasteel{dir = 4; heat_capacity = 1e+006; icon_state = "loadingarea"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xW" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xX" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/plasma{amount = 6},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"xZ" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating{heat_capacity = 1e+006},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"ya" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"yb" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"yc" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; heat_capacity = 1e+006; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"yd" = (/obj/structure/ore_box,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"ye" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"yf" = (/obj/machinery/light/small{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
-"yg" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "201"},/turf/simulated/floor/plasteel{heat_capacity = 1e+006; icon_state = "asteroidfloor"; temperature = 273.15},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xU" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xV" = (/obj/machinery/mineral/stacking_machine{dir = 1; input_dir = 8; output_dir = 4},/turf/simulated/floor/plating{dir = 5; icon_state = "warnplate"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xW" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/crate,/obj/item/stack/sheet/mineral/plasma{amount = 6},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xX" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xY" = (/obj/structure/grille,/obj/structure/window/full/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"xZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "201"},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"ya" = (/obj/machinery/alarm/monitor{dir = 4; frequency = 1439; locked = 0; pixel_x = -23; pixel_y = 0; req_access = null},/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"yb" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{burnt = 1; dir = 8; icon_state = "floorscorched1"; tag = "icon-floorscorched1 (WEST)"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"yc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; external_pressure_bound = 101.325; on = 1; pressure_checks = 1},/turf/simulated/floor/plasteel{ icon_state = "floorgrime"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"yd" = (/obj/structure/ore_box,/turf/simulated/floor/plasteel{ icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"ye" = (/obj/machinery/light/small{dir = 4},/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"yf" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plasteel{ icon_state = "warning"},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
+"yg" = (/obj/machinery/door/airlock/external{name = "Mining External Airlock"; req_access_txt = "201"},/turf/simulated/floor/plasteel{ icon_state = "asteroidfloor"; temperature = 273.15},/area/awaycontent/a4{has_gravity = 1; name = "UO45 Mining"})
"yh" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a2{has_gravity = 1; name = "UO45 Crew Quarters"})
"yi" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a7{always_unpowered = 1; has_gravity = 1; name = "UO45 Caves"; power_environ = 0; power_equip = 0; power_light = 0; poweralm = 0})
"yj" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/awaycontent/a5{has_gravity = 1; name = "UO45 Research"})
@@ -1302,84 +1302,84 @@ aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacac
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadadadadadadadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadaeafafafafagadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahaiajakalahamacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahanaoapaqahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadaharasatauahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadavawaxayazaAadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaCadamamaxaxadamadaBaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaDaEaFaGaHaHaHaIaJaKaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaLaEaHaHaHaMaMaHaHaNaCacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaBaOaPaQaQaQaQaRaSaBaCacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaQaTaUaVaWaXaYaZaHaQacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaQaTbaaVbbbcbdaZaHaQacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaCaBaBaBbebfbgbhbhbhbiaHaQacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaBaBbjbkbjaCblbmbnbobpbnbqaHaQacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCbrbsbtbubvbwaHbxaBaBaBaBbqbyaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCbraBbzaBbAaBbBbCbDbEbFbGbHbIaCacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBbraBbJaCbKaCaEbLaHbMbNaMbOaHaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBalaCbPbQbRbRbQbSbRbTbUbQbQbRbVbQbQbWacacacacachefofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCbZcacbcccdcecfcgchcicjchckclcmcncocpacacacacfofofofohefofohefoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahaiakajalahamacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadahanapaoaqahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadaharatasauahadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadavawayaxazaAadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaCadamamayayadamadaBaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaEaDaGaFaHaHaHaIaKaJaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaLaDaHaHaHaMaMaHaHaNaCacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaBaOaQaPaPaPaPaRaSaBaCacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaPaTaVaUaXaWaZaYaHaPacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaPaTbaaUbcbbbdaYaHaPacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaCaBaBaBbebgbfbhbhbhbiaHaPacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaBaBbjbkbjaCblbnbmbpbobmbqaHaPacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCbrbtbsbvbubwaHbxaBaBaBaBbqbyaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCbraBbzaBbAaBbBbDbCbFbEbHbGbIaCacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBbraBbJaCbKaCaDbLaHbNbMaMbOaHaBacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBalaCbPbQbRbRbQbSbRbUbTbQbQbRbVbQbQbWacacacacachefofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCbZcbcacdcccfcechcgcjcicgckcmclcocncpacacacacfofofofohefofohefoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaBaBaBcqcraCcsaBcqaCctaHaBcsaBcpaCcucqacacacfohefofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcvakcwcqcuaCcxcyczaBaJaHaCcAcBcCaBcDcqaBaCadamadamamaQaQamamamadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcEbZcFcGcHaBcIcJcKaBaEaHaBcLcJcMaCcucNcOcOcOcOcOcOcPcQcRcScTcUcVcWacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCcXcYcXcZcraCaBdaaBaCdbdbaBaBdcaBaCddcndedfdfdfdgdfdgdgdhcdcfcddicqacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBdjcndkcgdlbsaEdmaMaHaHaHdndobNdpaBaBaCdqaBdrdsdtdudvaCcpaBaCaBcrcpacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcradaddwamamdxdydzaHaHaHaHdAdBdCaQaQdDdEdFdGdHdIdHdJdKdLdMdNaBdOcpacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCcraddPdQdRdSaHaHdTdUdUdUdVdWdXdYdZeaebbNecaMecaHecaHeceddCeeaBcDcqadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCefegeheiejaQekaHelememememeneodCepaHaHeqecaHecaHecaHecerdCesaCcueteuaQevacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaBadewbMexeyezaHeAemeBeCemeDeodCaQaQaHaHecaHecaHecaHeceEdCeFaCeGeHeIeJevfoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacameLbMeMeNezaHeOemeCePemeDeoeQdMeReSaHeceTecaHecaHeceoeUeVaBcucqeWaQevfoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacameXeYeZaQfaaHfbememememaZeofcfdfefffgfgfgfffhfifjfkflfmaCaCcufnamamhffoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadfpfnamadbBaHfqfrfrfrfrfseoftadadadaQaQaQaQamamfufvfwfxfyfzfAfnfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBfBfCfDfEfFfFbTfGfFfFfFfHfIfJadacfofofofofohiamfLfMfNfOfPbrfQfnfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCfRfSfTaBfUaHaHbMfVfWaEfXfYfZamacfofofofofofofofLgagagbfPcagcgdgefofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaCaBaBaCaCaBdbgfadadaQaQaQamamhefofohefofofofoghgigagagjbrgkdifnfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfPglgmfLfofofofofofofofofofofofofofoghgngagofPgpgqgrfnfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofoacacacachefoacgsgtgugsfofofofofofofofofofofofoheacghfOgvfPfPfOfPgcfnfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgwgwgwgwgxgwgwacacacacacacacacacacacacacacacacacacacgygygzgAacacfofohefofofofofofofofofogsgBglgsfofofofofofofojMfofofofofoacfLgDgEgFgGgHfOgIdwfofoacacfofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxgJgKgKgKgKgwgLgMgLacacacacacacacacacacacacacgygygzgzgNgOgAgAfofofofofofofofofofofofofogsgtgtgsfofohefofoheghghgsgsgsgsghfLfLgPgPgPgPgQfOgRdwfofoacacfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxgJgSgTgUgJgVgWgXgLgMgLgMgMacacacacacacacacacgzgYgZhahbgYhchdjQfofofofofofofofofofofomJghhghhfLpvfofofofoghghhjhkhlhmhnhohpfPhqhrhsgPhtfOgcfnfofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgwgKhuhvhwgKgVhxhygMhzhAhBgwacfoheacacfofoacacgyhChDhEhFhGhHhIfofohefofofofofofofofofofogsgtglgsfofofofofogshJhKhLhMhNhOhPhPhQhRhShThUhVhWhXhYfofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgwgKhZiaibgKgVicidgMieifiggwfofofofofohefofoacgAihiiijhFikilhIfofofofofofofofofofofofofogsgtglgsfofohefofogsiminhLiohmhLhLipfOiqhsirgPisfPgIfnhffofofofofofoacfofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxitiuiviwiugVicixgLgLiygwgwfofohefofofofofofogAiziAiBiCiDiEhdfofofofofohefofofofofofofogsiFgBgsfofofofofogsiGhKhLioiHhLhLiIiJiKiLgPgPiMfOiNfnfofofofofofoacacfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxiOiPiQiRiSiTiUiViWiXiYgwhefofofofofofofofohehdiZjahbgAhdhdgAfofofofofofofofofohefofofoghjbgBghhefofofofofLjchLiIhMhmhLhLjdfPjejfgPgEjgfPgcfnfofofofofofoacacfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxjhjijjjkjljmjnjojpjqjrgxfofofofofofofofofofogAjsjtgYgAfofofofofofofohefofofoacacfofoheghjujvghghfofofofoghjwjxhLiIhmjyjzjAfPfPjBjCjCjDjDjEjFfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgwjGjHiQjIjJgwgLgMgMjKjLgxfofofofopwfofofohegAgAjNjOjPgAfofofofopxfofofogAgAgAgAacacacacfLjRgtjSghfLgsgsghghjTjUhKjVhMhMhLhLjWjXjYjZkakbkckdamfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacgxgwgxkegwgwgwkfkfgMkgkhgwgwgVgVgVgxgVgVgVgxgxkikjkkklgAgAhIhIhIgAhIhIhIgAkmkngAgAgzgygzgzkogtgtkpgtglgtgtkqhLhLhLkriIhLksktktkukvfPkwkxkyamadfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacgLkziQkAgLkBkCkDiWkEkFkGkHkIkJkIkKkIkLkHkIkMkNkOkPkQkRkSkTkSkSkUkSkVkWkXkWkYkZgAlalblcgzldlelelflggtgtlhkqhLiIhLliljljljlklllmlnfLadamamamfofofofoacacfofofofofoacacaclololololoacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacgLlplqlrlsltlultlvlwlxlylzlzlAlzlBlzlClzlDlElFlGlHlIlJlKlLlMlNlOlNlNlNlNhbkYkZlPhbhbhblPlQlRgllSfPfOfPfPfOfOfPfPfPlTlUhKlVfPlWlXghfofofofofofofoacacacacfofofofoacacaclolYlZmaloacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacgMmbjJjIiQmcmcmdgLmemfgxgxgVgVgVgxgVgVgVgwgwmgmhgzgzgzmimjmkmkgyhIhIhIhImlkYkZgAmmmnmogzmpgmmqmrfPmsmtmufOmvmwmxfOfOfPfPfOfPmymzghfofofofofofofofoacacfofofofoacacacaclomAmBmaloacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacgLmCmDmEmFmGmHmIgxgVgVgwfofofofoqbfofofofohdmKmLgAmMmNmOmPmQmRgzmSmTmUhImlmVgAgAgygzgzgymWmXfOfOfPmYmZnafPnbmZncfOndnenfngfPnhmzgsfofofofofofofofofofofofofofoacacaclololoninjnjloacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacgLgLgMgMgLgwgxgxgwfofoqbfofofofofofofofohefomKnkgAnlnmnnnomQmQgynpnqnrhImlnshdntnunvnvnwnxnynznAfPnBnCfPfOnBnDfPfPnEglnFnGnHnInJgsfofofofofofofofofofofofofofoacacacnjnKnLnLnLnMloacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacfofofofofofofofofofofohefofofoacnNnOgAnPnmnQnRnSnTgynUnVnWhImlmVhdnOnXnYnZnZoaobocodoeofogohoiojogokolomonooopoqorosgsfofofofofofofofofofofofofofofoacacnjotouovouowlolololoacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacfohefofofofofofofofofofofofogAnNoxgAoynmozoAoBoCgyoDoEnWoFmlmVgAnkmKfofogsoGleleoHoIoJoKoLoMoJoNoOoPoQoKoRoSfPoToUghpvfofofofofofofofofofofofofofoacaclooVoWoXoYoZlopapbloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacfofofohefofofofofofofohehdpcpdgApepfmQpgphoBgzpipjpkhImlkWhdplmKfofogspmpngtpofPppfPpqfOprfPfPfOpsfPfPptfPpumzgsfofofofofofofoqBqAqAqAqAqCqAqAqApypzpApBpCpDpEnjpFpGloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacachefofohefofoachdpHpIgAgzgzpJgzgzpKgzgzpLpMgypNjPgAnOnNhefogsgspOpPpQfOpRpSpTpUpVfOpWpXpYpZfOqafOjbmzgsfofofofofofofoucnjnjqcqcnjfofofoacloqcqcqdqcqcloqeqflololoacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacfofofofoacacgzqgqhqiqjqkqlqmgyqnqogzqpqqqrhbqsgAnOmKfofofogsgsgsgsfLqtqufPqvqwfPfPfPqxqyfOqzfPjbmzgsfofofojMfovIvmwknjqDqEqElonjnjnjloloqFqGqHqIqJqKqLqMqNqOloacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzqPpIqQqRqSqTqUgAhdhdgAqVqWhbhbqXgAqYmKfofofofofofofoghqZmufPmvrafPrbrcpYrdfPrefPrfrgfLgsgsgsghgsgsrhfLlorirjrkrlnjrmrnrorprqrrrsrtrurvrwrxryqOlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyrzqhqirArBrCrDgArErFrGrHrIkQrJrKgArLmKfofofohefofofoghghghghfPfOfPfOfOrMfPfPrNfOrOrPrQrRrSrTrUrRrVrWrXrYrZsasbscsdsesfsgshsisjskslsmsnsospspsqsrssstnjacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyqPqhgAgAgAhdhdgAsusvgAswsxsyszsAgAnOmKachefofofofohefofofoacacacfPsBsCpYsDfOrefOjRsEsFsGsHsGsIsGsJsKsLsMsNsNsOsPsQsRsSsTshsUsVsWsXsYsZtatbtctdtetftgloacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgythtinutjnvnvtktltmtntototptototqtrtsnNacfofofofofofofofofofofoacfLttpYpYsDfOrefPtutvghgsgsgsghgsgsrhfLlotwtxtytzlotAtBtCtDtEtFtctGtHtIrkrktJtKlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgztLtMtNtOtOtNtPtQtQtRtQtQtStQtTtUtVtWtXacfofofofofofofofofofofoheghghtYtZfOfOqzfPuaubgsfofofoyhfovIwkfonjudueuflolouguhuiloujukulumunuoupuqurusnjacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyutuuuvgzuwgzgzgzgzgygygAgAhdhdgzuxuyhdfofofohefofofofofofofofofofoghghghfOuzreuAuaubgsfofofofofofofofonjuBuCuDuEuFqcuGqclolouHuIlouJuKnjuJuKnjnjacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzuLuMuNgzacacacacacacacacfofohduOuPuQhdfofofofofofofohefoacfofofofofofogsuRuSuTfPuUubgsfofofofofofofofoqcuVuWuXsNuYsNsSuZvavbvcvdlovevflovgvhloacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzvivjvkgyacacacacacacacacacfohdhIvlhIhdfofofofofofofofoacacachefofofoyivnvovpvqfOvrvsfLfofofofofofofofoqcvtrkvuvvvwvxvyvzvAvBvCvDlovEvFlovGvHloacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzgzgygygzacacacacacacacacacfoyjevevevfofofofofofofofofoacacfofofofovJvKvKvLvMvNvLvOvPvJfofofofofofofofonjvQvRvSvTvUvVvWvXvYvZwawblololololololoacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofofofofoacacfofofofofofofofovJwcwdwewfwgwhwiwjvJykfofofofofofofonjnjuFwlwmwnwouFnjnjlolonjnjacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofofoacacfofofofofofofofovJwpwqwrwswtwuwvwwwxfofofofofofofofofolowywzwAwBuFwCloacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofohefohefofofofofofofofofofovJvLvMvMvMwDwEwFwGwxfofofofofofofofofoqcwHwIwJwKwLwMnjacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofoacacacacacacacfofofofofovKwNwqwOwPwuwQwvwRwxfofofofofofofofofoqcwSwTwUwVuFlonjacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofovJwcwWwXwfwYwZxaxbvJfofofofofofofofofoqcxcxdxexfxgloacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofovJvJvKvKvLvLvMxhxivJacacfofofofofofofoloxjxkxllolonjacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofoacacvKxmxnxoxpxqvKvKvJvJvJfofofofoaclonjnjloloacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachefofofoacacvKxrxsxtxpxuwxxvxvxwvJfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofoacvKxxxyxzwvxAxBxCxDxEvKfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfohefofofoacvJxFxsxGxHxIxJxKxLxMvJfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofovJxmxNxOxPxQwxxRxSxTvKfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovKxmxUxVxWxXvJvJvKvJvJfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovJvKvJwxxYxZvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofovJyaybycvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovJydyeyfvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcvajcwcqcuaCcycxczaBaKaHaCcAcCcBaBcDcqaBaCadamadamamaPaPamamamadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcEbZcGcFcHaBcJcIcKaBaDaHaBcLcIcMaCcucOcNcNcNcNcNcNcPcRcQcTcScVcUcWacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCcYcXcYcZcraCaBdaaBaCdbdbaBaBdcaBaCddcodedfdfdfdgdfdgdgdhccceccdicqacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBdjcodkchdlbtaDdmaMaHaHaHdodnbMdpaBaBaCdqaBdrdtdsdvduaCcpaBaCaBcrcpacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBcradaddwamamdydxdzaHaHaHaHdAdCdBaPaPdEdDdGdFdIdHdIdJdLdKdNdMaBdOcpacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCcraddQdPdSdRaHaHdUdTdTdTdWdVdYdXeadZebbMecaMecaHecaHeceddBeeaBcDcqadadacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCegefeiehejaPekaHemeleleleleneodBepaHaHeqecaHecaHecaHecerdBesaCcueteuaPevacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBaBadewbNeyexezaHeAeleCeBeleDeodBaPaPaHaHecaHecaHecaHeceEdBeFaCeGeIeHeJevfoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacameLbNeNeMezaHeOeleBePeleDeoeQdNeReSaHeceTecaHecaHeceoeVeUaBcucqeWaPevfoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacameYeXeZaPfaaHfbelelelelaYeofcfefdfgfffffffgfhfjfiflfkfmaCaCcufnamamhffoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacadfpfnamadbBaHfrfqfqfqfqfseoftadadadaPaPaPaPamamfufwfvfyfxfAfzfnfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaBfCfBfEfDfFfFbUfGfFfFfFfHfJfIadacfofofofofohiamfLfMfNfOfPbrfQfnfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCfSfRfTaBfUaHaHbNfWfVaDfXfZfYamacfofofofofofofofLgagagbfPcbgcgdgefofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaCaCaBaBaCaCaBdbgfadadaPaPaPamamhefofohefofofofoghgigagagjbrgkdifnfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfPgmglfLfofofofofofofofofofofofofofoghgngagofPgqgpgrfnfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofoacacacachefoacgsgugtgsfofofofofofofofofofofofoheacghfOgvfPfPfOfPgcfnfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgwgwgwgwgxgwgwacacacacacacacacacacacacacacacacacacacgygygzgAacacfofohefofofofofofofofofogsgBgmgsfofofofofofofojMfofofofofoacfLgEgDgGgFgHfOgIdwfofoacacfofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxgKgJgJgJgJgwgLgMgLacacacacacacacacacacacacacgygygzgzgOgNgAgAfofofofofofofofofofofofofogsgugugsfofohefofoheghghgsgsgsgsghfLfLgPgPgPgPgQfOgRdwfofoacacfofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxgKgSgUgTgKgVgXgWgLgMgLgMgMacacacacacacacacacgzgYhagZhbgYhchdjQfofofofofofofofofofofomJghhhhgfLpvfofofofoghghhkhjhmhlhohnhpfPhrhqhsgPhtfOgcfnfofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgwgJhuhwhvgJgVhyhxgMhzhBhAgwacfoheacacfofoacacgyhChEhDhGhFhIhHfofohefofofofofofofofofofogsgugmgsfofofofofogshJhLhKhNhMhPhOhOhQhShRhUhThWhVhYhXfofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgwgJhZibiagJgVidicgMieigifgwfofofofofohefofoacgAihijiihGikilhHfofofofofofofofofofofofofogsgugmgsfofohefofogsiminhKiohlhKhKipfOiqhsirgPisfPgIfnhffofofofofofoacfofoacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxiuitiwivitgVidixgLgLiygwgwfofohefofofofofofogAiziBiAiDiCiEhdfofofofofohefofofofofofofogsiFgBgsfofofofofogsiGhLhKioiHhKhKiJiIiLiKgPgPiMfOiNfnfofofofofofoacacfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxiPiOiRiQiTiSiViUiWiXiYgwhefofofofofofofofohehdiZjahbgAhdhdgAfofofofofofofofofohefofofoghjbgBghhefofofofofLjchKiJhNhlhKhKjdfPjfjegPgDjgfPgcfnfofofofofofoacacfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxjijhjkjjjmjljojnjqjpjrgxfofofofofofofofofofogAjsjtgYgAfofofofofofofohefofofoacacfofoheghjvjughghfofofofoghjwjxhKiJhljzjyjAfPfPjBjCjCjDjDjEjFfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgwjHjGiRjIjJgwgLgMgMjKjLgxfofofofopwfofofohegAgAjNjPjOgAfofofofopxfofofogAgAgAgAacacacacfLjRgujSghfLgsgsghghjTjUhLjVhNhNhKhKjWjYjXkajZkckbkdamfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacgxgwgxkegwgwgwkfkfgMkgkhgwgwgVgVgVgxgVgVgVgxgxkjkiklkkgAgAhHhHhHgAhHhHhHgAknkmgAgAgzgygzgzkogugukpgugmgugukqhKhKhKkriJhKksktktkvkufPkwkykxamadfofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacgLkziRkAgLkBkDkCiWkEkGkFkIkHkJkHkKkHkLkIkHkMkOkNkQkPkSkRkTkRkRkUkRkVkXkWkXkYkZgAlblalcgzleldldlflggugulhkqhKiJhKljlilililllklnlmfLadamamamfofofofoacacfofofofofoacacaclololololoacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacgLlplrlqltlslulslwlvlylxlzlzlAlzlBlzlClzlElDlGlFlIlHlKlJlMlLlOlNlOlOlOlOhbkYkZlPhbhbhblPlRlQgmlSfPfOfPfPfOfOfPfPfPlTlUhLlVfPlXlWghfofofofofofofoacacacacfofofofoacacaclolZlYmaloacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacgMmbjJjIiRmcmcmdgLmemfgxgxgVgVgVgxgVgVgVgwgwmhmggzgzgzmimkmjmjgyhHhHhHhHmlkYkZgAmnmmmogzmpglmrmqfPmsmumtfOmvmxmwfOfOfPfPfOfPmzmyghfofofofofofofofoacacfofofofoacacacaclomBmAmaloacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacgLmCmEmDmGmFmImHgxgVgVgwfofofofoqbfofofofohdmKmLgAmMmOmNmQmPmRgzmTmSmUhHmlmVgAgAgygzgzgymXmWfOfOfPmYnamZfPnbnancfOndnfnengfPnhmygsfofofofofofofofofofofofofofoacacaclololoninjnjloacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacgLgLgMgMgLgwgxgxgwfofoqbfofofofofofofofohefomKnkgAnlnnnmnomPmPgynqnpnrhHmlnshdntnvnununwnynxnAnzfPnBnCfPfOnBnDfPfPnEgmnFnHnGnJnIgsfofofofofofofofofofofofofofoacacacnjnKnLnLnLnMloacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacfofofofofofofofofofofohefofofoacnNnOgAnPnnnQnSnRnTgynVnUnWhHmlmVhdnOnXnYnZnZoboaodocofoeohogojoiohokomolooonoqoposorgsfofofofofofofofofofofofofofofoacacnjotovouovowlolololoacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacfohefofofofofofofofofofofofogAnNoxgAoynnozoBoAoCgyoEoDnWoFmlmVgAnkmKfofogsoGldldoHoJoIoLoKoMoIoOoNoQoPoLoRoSfPoUoTghpvfofofofofofofofofofofofofofoacaclooVoXoWoZoYlopapbloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacfofofohefofofofofofofohehdpdpcgApepfmPphpgoAgzpjpipkhHmlkXhdplmKfofogspnpmgupofPppfPpqfOprfPfPfOpsfPfPptfPpumygsfofofofofofofoqBqAqAqAqAqCqAqAqApypzpApCpBpEpDnjpFpGloacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacachefofohefofoachdpHpIgAgzgzpJgzgzpKgzgzpLpMgypNjOgAnOnNhefogsgspOpQpPfOpRpSpTpVpUfOpWpYpXpZfOqafOjbmygsfofofofofofofoucnjnjqcqcnjfofofoacloqcqcqdqcqcloqeqflololoacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacfofofofoacacgzqgqhqiqjqlqkqmgyqoqngzqpqrqqhbqsgAnOmKfofofogsgsgsgsfLqtqufPqwqvfPfPfPqxqyfOqzfPjbmygsfofofojMfovIvmwknjqEqDqDlonjnjnjloloqFqHqGqJqIqLqKqNqMqOloacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzqPpIqQqRqTqSqUgAhdhdgAqVqWhbhbqXgAqYmKfofofofofofofoghqZmtfPmvrafPrbrcpXrdfPrefPrgrffLgsgsgsghgsgsrhfLlorjrirlrknjrmrornrprqrsrrrurtrwrvryrxqOlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyrzqhqirArCrBrDgArFrErHrGrIkPrKrJgArLmKfofofohefofofoghghghghfPfOfPfOfOrMfPfPrNfOrPrOrRrQrTrSrUrQrWrVrYrXsarZscsbsesdsgsfsishsksjsmslsosnspspsrsqssstnjacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyqPqhgAgAgAhdhdgAsvsugAswsysxsAszgAnOmKachefofofofohefofofoacacacfPsBsCpXsDfOrefOjRsEsGsFsHsFsIsFsKsJsMsLsNsNsPsOsRsQsTsSsisUsWsVsYsXtasZtctbtetdtftgloacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgytithnvtjnunutltktntmtototptototqtrtsnNacfofofofofofofofofofofoacfLttpXpXsDfOrefPtvtughgsgsgsghgsgsrhfLlotxtwtztylotAtCtBtEtDtFtbtHtGtIrlrltJtKlolonjnjacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgztLtMtNtOtOtNtQtPtPtRtPtPtStPtUtTtWtVtXacfofofofofofofofofofofoheghghtZtYfOfOqzfPubuagsfofofoyhfovIwkfonjudueuflolouguiuhloujulukunumupuouruqusnjacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgyuuutuvgzuwgzgzgzgzgygygAgAhdhdgzuxuyhdfofofohefofofofofofofofofofoghghghfOuzreuAubuagsfofofofofofofofonjuCuBuEuDuFqcuGqclolouHuIlouJuKnjuJuKnjnjacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzuMuLuNgzacacacacacacacacfofohduOuQuPhdfofofofofofofohefoacfofofofofofogsuSuRuTfPuUuagsfofofofofofofofoqcuWuVuXsNuYsNsTuZvavbvdvclovevflovgvhloacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzvjvivkgyacacacacacacacacacfohdhHvlhHhdfofofofofofofofoacacachefofofoyivnvpvovqfOvsvrfLfofofofofofofofoqcvtrlvvvuvxvwvzvyvBvAvDvClovEvFlovGvHloacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacgzgzgygygzacacacacacacacacacfoyjevevevfofofofofofofofofoacacfofofofovJvKvKvLvMvNvLvPvOvJfofofofofofofofonjvRvQvTvSvVvUvXvWvYvZwbwalololololololoacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofofofofoacacfofofofofofofofovJwdwcwewfwhwgwjwivJykfofofofofofofonjnjuFwmwlwnwouFnjnjlolonjnjacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofofoacacfofofofofofofofovJwqwpwswrwuwtwwwvwxfofofofofofofofofolowywAwzwBuFwCloacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofohefohefofofofofofofofofofovJvLvMvMvMwEwDwGwFwxfofofofofofofofofoqcwHwJwIwLwKwMnjacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofoacacacacacacacfofofofofovKwNwpwPwOwtwQwwwRwxfofofofofofofofofoqcwSwUwTwVuFlonjacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofovJwdwWwXwfwZwYxbxavJfofofofofofofofofoqcxcxexdxgxfloacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofovJvJvKvKvLvLvMxixhvJacacfofofofofofofoloxjxlxklolonjacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofoacacvKxmxoxnxqxpvKvKvJvJvJfofofofoaclonjnjloloacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacachefofofoacacvKxrxtxsxqxuwxxvxvxwvJfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofoacvKxxxyxzwwxAxCxBxExDvKfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfohefofofoacvJxFxtxGxIxHxKxJxMxLvJfofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofovJxmxNxOxQxPwxxRxSxTvKfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovKxmxVxUxXxWvJvJvKvJvJfofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovJvKvJwxxZxYvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofovJyaycybvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofovJydyfyevJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofovJwxygwxvJfofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofoylevevevylfofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
aaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacfofofofofofofofofofofofofofoacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaa
diff --git a/_maps/map_files/cyberiad/z4.dmm b/_maps/map_files/cyberiad/z4.dmm
index c8ef280d538..cf6f91d08f6 100644
--- a/_maps/map_files/cyberiad/z4.dmm
+++ b/_maps/map_files/cyberiad/z4.dmm
@@ -221,7 +221,7 @@
"em" = (/obj/machinery/shower{dir = 4; icon_state = "shower"; pixel_x = 5; tag = "icon-shower (EAST)"},/obj/structure/curtain/open/shower/engineering,/turf/simulated/floor/plasteel{dir = 2; icon_state = "cmo"},/area/engiestation)
"en" = (/turf/simulated/floor/plasteel{dir = 2; icon_state = "cmo"},/area/engiestation)
"eo" = (/obj/machinery/light,/obj/item/device/radio/intercom{dir = 1; name = "station intercom (General)"; pixel_y = -28},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engiestation)
-"ep" = (/obj/structure/table/reinforced,/obj/item/weapon/lipstick/random,/obj/item/weapon/lipstick/random,/obj/item/weapon/storage/fancy/cigarettes/cigpack_carp,/obj/machinery/media/receiver/boombox,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engiestation)
+"ep" = (/obj/structure/table/reinforced,/obj/item/weapon/lipstick/random,/obj/item/weapon/lipstick/random,/obj/item/weapon/storage/fancy/cigarettes/cigpack_carp,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/engiestation)
"eq" = (/obj/effect/decal/cleanable/dirt,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/contraband/poster,/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka,/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka,/turf/simulated/floor/plasteel,/area/engiestation)
"er" = (/obj/structure/sign/nosmoking_2{pixel_x = -32},/turf/simulated/floor/plasteel{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/engiestation)
"es" = (/turf/simulated/floor/plasteel{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/engiestation)
diff --git a/_maps/map_files/cyberiad/z5.dmm b/_maps/map_files/cyberiad/z5.dmm
index 994a115ab0b..4246508cebf 100644
--- a/_maps/map_files/cyberiad/z5.dmm
+++ b/_maps/map_files/cyberiad/z5.dmm
@@ -1,25 +1,25 @@
"aa" = (/turf/space,/area/space)
"ab" = (/obj/docking_port/stationary{dheight = 9; dir = 2; dwidth = 5; height = 22; id = "syndicate_z5"; name = "northeast of the Mining Asteroid"; width = 18},/turf/space,/area/space)
-"ac" = (/turf/simulated/mineral,/area/mine/unexplored)
+"ac" = (/turf/simulated/mineral,/area/mine/dangerous/unexplored)
"ad" = (/obj/machinery/door/airlock/external{id_tag = "science_away"; name = "Research Outpost Dock Airlock"; req_access_txt = "65"},/turf/simulated/floor/plating,/area/research_outpost/entry)
-"ae" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"af" = (/turf/simulated/mineral,/area/mine/explored)
+"ae" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"af" = (/turf/simulated/mineral,/area/mine/dangerous/explored)
"ag" = (/obj/structure/lattice,/turf/space,/area/space)
"ah" = (/obj/structure/transit_tube{icon_state = "D-SE"},/obj/structure/lattice,/turf/space,/area/space)
"ai" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "E-SW"},/turf/space,/area/space)
"aj" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/space)
-"ak" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"al" = (/obj/machinery/light/small,/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"am" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"an" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/mineral,/area/mine/explored)
+"ak" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"al" = (/obj/machinery/light/small,/obj/structure/transit_tube,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"am" = (/obj/structure/transit_tube{icon_state = "W-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"an" = (/obj/structure/transit_tube{icon_state = "D-SW"},/turf/simulated/mineral,/area/mine/dangerous/explored)
"ao" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
"ap" = (/obj/structure/lattice,/obj/structure/transit_tube{icon_state = "NE-SW"},/turf/space,/area/space)
"aq" = (/obj/structure/transit_tube{icon_state = "D-NW"},/obj/structure/lattice,/turf/space,/area/space)
"ar" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
"as" = (/obj/structure/transit_tube{icon_state = "D-NE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
"at" = (/obj/structure/transit_tube{icon_state = "NW-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore1)
-"au" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/explored)
-"av" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"au" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/dangerous/explored)
+"av" = (/obj/structure/transit_tube{icon_state = "E-SW"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"aw" = (/obj/structure/transit_tube,/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/hallway)
"ax" = (/obj/structure/transit_tube/station,/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/research_outpost/hallway)
"ay" = (/obj/structure/transit_tube,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/research_outpost/hallway)
@@ -59,7 +59,7 @@
"bg" = (/obj/structure/transit_tube{icon_state = "D-NE"},/obj/structure/lattice,/turf/space,/area/space)
"bh" = (/obj/structure/transit_tube{icon_state = "S-NW"},/obj/structure/lattice,/turf/space,/area/space)
"bi" = (/obj/spacepod/random,/turf/space,/area/space)
-"bj" = (/turf/simulated/mineral/random,/area/mine/unexplored)
+"bj" = (/turf/simulated/mineral/random,/area/mine/dangerous/unexplored)
"bk" = (/obj/structure/transit_tube{icon_state = "N-SW"},/obj/structure/lattice,/turf/space,/area/space)
"bl" = (/turf/simulated/wall/r_wall,/area/research_outpost/spectro)
"bm" = (/obj/structure/closet/crate/hydroponics,/obj/item/weapon/shovel/spade,/obj/item/weapon/reagent_containers/glass/bucket,/obj/item/weapon/minihoe,/obj/item/weapon/reagent_containers/spray/plantbgone{pixel_x = 13; pixel_y = 5},/obj/item/weedkiller/triclopyr,/obj/item/weapon/reagent_containers/glass/fertilizer/ez,/turf/simulated/floor/plating,/area/research_outpost/maintstore1)
@@ -120,7 +120,7 @@
"cp" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/research_outpost/atmos)
"cq" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"cr" = (/turf/simulated/floor/plasteel/airless,/area/mine/abandoned)
-"cs" = (/turf/simulated/mineral/random/high_chance,/area/mine/unexplored)
+"cs" = (/turf/simulated/mineral/random/high_chance,/area/mine/dangerous/unexplored)
"ct" = (/obj/machinery/radiocarbon_spectrometer,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/research_outpost/spectro)
"cu" = (/turf/simulated/floor/plasteel{icon_state = "white"},/area/research_outpost/spectro)
"cv" = (/obj/machinery/power/apc{dir = 4; name = "Mass Spectrometry APC"; pixel_x = 24; pixel_y = 0; pixel_x = 0},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/turf/simulated/floor/plasteel{dir = 4; icon_state = "whitegreen"},/area/research_outpost/spectro)
@@ -211,7 +211,7 @@
"ec" = (/obj/machinery/light/small,/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_y = 0},/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/research_outpost/atmos)
"ed" = (/obj/machinery/meter,/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor/plating,/area/research_outpost/atmos)
"ee" = (/obj/structure/sign/fire{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/visible/purple,/obj/machinery/atmospherics/unary/tank/air{dir = 8},/turf/simulated/floor/plating,/area/research_outpost/atmos)
-"ef" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"ef" = (/obj/structure/transit_tube{icon_state = "N-S"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"eg" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTHEAST)"; icon_state = "pwall"; dir = 5},/area/space)
"eh" = (/turf/space,/turf/simulated/shuttle/wall{tag = "icon-pwall (NORTHWEST)"; icon_state = "pwall"; dir = 9},/area/space)
"ei" = (/turf/simulated/floor/plating/airless,/turf/simulated/shuttle/wall{tag = "icon-pwall (SOUTHEAST)"; icon_state = "pwall"; dir = 6},/area/space)
@@ -243,8 +243,8 @@
"eI" = (/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/glass_atmos{name = "Outpost Atmospherics"; req_access_txt = "0"; req_one_access_txt = "65;10;24"},/turf/simulated/floor/plasteel,/area/research_outpost/power)
"eJ" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 5},/turf/simulated/wall/r_wall,/area/research_outpost/power)
"eK" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"eL" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"eM" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/mineral,/area/mine/explored)
+"eL" = (/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/mineral,/area/mine/dangerous/explored)
+"eM" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/atmospherics/pipe/simple/visible/purple{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"eN" = (/obj/machinery/atmospherics/unary/outlet_injector/on{dir = 8},/turf/simulated/floor/plating/airless,/area/research_outpost/atmos)
"eO" = (/obj/item/stack/rods,/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"eP" = (/obj/item/stack/rods,/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
@@ -275,7 +275,7 @@
"fo" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 2; on = 1},/obj/machinery/mineral/unloading_machine,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/research_outpost/tempstorage)
"fp" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/research_outpost/tempstorage)
"fq" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/sign/electricshock{pixel_x = 32},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/camera{c_tag = "Research Outpost Power Room"; dir = 2; network = list("Research Outpost")},/turf/simulated/floor/plating,/area/research_outpost/power)
-"fr" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"fr" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"fs" = (/obj/structure/lattice,/obj/item/weapon/shard{icon_state = "medium"},/turf/space,/area/space)
"ft" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"fu" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/mine/abandoned)
@@ -304,8 +304,8 @@
"fR" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/research_outpost/power)
"fS" = (/obj/machinery/power/smes{charge = 5e+006},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/structure/cable,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/research_outpost/power)
"fT" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/wall/r_wall,/area/research_outpost/power)
-"fU" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"fV" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"fU" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"fV" = (/obj/structure/transit_tube{icon_state = "N-S"},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"fW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"fX" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"fY" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
@@ -571,7 +571,7 @@
"kY" = (/obj/item/weapon/shard,/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched2"},/area/mine/abandoned)
"kZ" = (/obj/item/weapon/shard{icon_state = "small"},/turf/simulated/floor/plasteel/airless,/area/mine/abandoned)
"la" = (/obj/structure/alien/weeds,/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/mine/abandoned)
-"lb" = (/turf/simulated/wall,/area/mine/unexplored)
+"lb" = (/turf/simulated/wall,/area/mine/dangerous/unexplored)
"lc" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'INTERNALS REQUIRED'."; name = "INTERNALS REQUIRED"; pixel_x = -32; pixel_y = 0},/turf/space,/area/space)
"ld" = (/turf/simulated/wall/r_wall,/area/research_outpost/gearstore)
"le" = (/obj/effect/spawner/window/reinforced,/obj/structure/transit_tube{icon_state = "N-SW"},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/entry)
@@ -609,8 +609,8 @@
"lK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
"lL" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel/airless,/area/mine/abandoned)
"lM" = (/obj/structure/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged2"},/area/mine/abandoned)
-"lN" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"lO" = (/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"lN" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"lO" = (/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"lP" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "0"; req_one_access_txt = "12;65"},/turf/simulated/floor/plating,/area/research_outpost/maint)
"lQ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'MOVING PARTS'."; name = "\improper MOVING PARTS"; pixel_y = 32},/turf/simulated/floor/plating,/area/research_outpost/maint)
"lR" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
@@ -649,16 +649,16 @@
"my" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/harvesting)
"mz" = (/obj/effect/decal/remains/xeno,/turf/simulated/floor/plasteel/airless,/area/mine/abandoned)
"mA" = (/obj/structure/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/mine/abandoned)
-"mB" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"mC" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"mD" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/unexplored)
+"mB" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"mC" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"mD" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/dangerous/unexplored)
"mE" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/glass_research{name = "Equipment Storage"; req_access_txt = "65"},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"mF" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"mG" = (/obj/structure/table,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"mH" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{level = 1},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
"mI" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; on = 1; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"mJ" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/machinery/atmospherics/pipe/simple/hidden/supply{level = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
-"mK" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
+"mK" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"mL" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"mM" = (/obj/machinery/conveyor_switch/oneway{id = "anominerals"; pixel_y = 16},/obj/machinery/light_switch{pixel_x = 27},/turf/simulated/floor/plasteel{dir = 2; icon_state = "loadingarea"},/area/research_outpost/tempstorage)
"mN" = (/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/obj/structure/closet/l3closet,/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
@@ -679,16 +679,16 @@
"nc" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
"nd" = (/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 5},/area/research_outpost/longtermstorage)
"ne" = (/obj/machinery/camera{c_tag = "Research Outpost Long Term Storage"; dir = 8; network = list("Research Outpost")},/turf/simulated/floor/plasteel{icon_state = "bot"; dir = 1},/area/research_outpost/longtermstorage)
-"nf" = (/obj/structure/transit_tube{icon_state = "D-SE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"nf" = (/turf/simulated/wall,/area/mine/dangerous/explored)
"ng" = (/obj/structure/transit_tube{icon_state = "W-NE"},/obj/structure/lattice,/turf/space,/area/space)
"nh" = (/obj/structure/transit_tube{icon_state = "D-NW"},/turf/space,/area/space)
"ni" = (/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "green"},/area/mine/abandoned)
"nj" = (/obj/effect/gibspawner/human,/turf/simulated/floor/plasteel/airless{icon_state = "damaged5"},/area/mine/abandoned)
"nk" = (/obj/structure/alien/weeds{icon_state = "weeds"},/turf/simulated/floor/plasteel/airless{icon_state = "floorscorched1"},/area/mine/abandoned)
-"nl" = (/turf/simulated/wall,/area/mine/explored)
-"nm" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"nn" = (/obj/structure/transit_tube{tag = "icon-S-NE"; icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"no" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/explored)
+"nl" = (/obj/structure/ore_box,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"nm" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/mineral,/area/mine/dangerous/explored)
+"nn" = (/obj/structure/transit_tube{tag = "icon-S-NE"; icon_state = "S-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"no" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
"np" = (/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/obj/structure/stool/bed/chair/sofa/right{dir = 8},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"nq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"nr" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
@@ -716,22 +716,22 @@
"nN" = (/obj/machinery/firealarm{pixel_y = -24},/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/research_outpost/longtermstorage)
"nO" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "vault"},/area/research_outpost/longtermstorage)
"nP" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "vault"},/area/research_outpost/longtermstorage)
-"nQ" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"nQ" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
"nR" = (/obj/effect/decal/remains/human,/obj/item/clothing/suit/xenos,/obj/item/clothing/head/xenos,/turf/simulated/floor/plasteel/airless{dir = 8; icon_state = "green"},/area/mine/abandoned)
"nS" = (/obj/structure/alien/resin/wall,/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"},/area/mine/abandoned)
"nT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"nU" = (/obj/structure/ore_box,/obj/machinery/light_construct/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"nV" = (/obj/structure/sign/xeno_warning_mining,/turf/simulated/wall,/area/mine/explored)
-"nW" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"nX" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/wall,/area/mine/explored)
+"nU" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"nV" = (/obj/structure/ore_box,/obj/machinery/light_construct/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"nW" = (/obj/structure/sign/xeno_warning_mining,/turf/simulated/wall,/area/mine/dangerous/explored)
+"nX" = (/obj/machinery/light_construct/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"nY" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/research_outpost/tempstorage)
"nZ" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/research_outpost/gearstore)
"oa" = (/turf/simulated/wall/r_wall,/area/mine/podbay)
"ob" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/turf/simulated/floor/plasteel,/area/research_outpost/gearstore)
"oc" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall/r_wall,/area/mine/podbay)
"od" = (/obj/machinery/conveyor{dir = 2; id = "anominerals"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/research_outpost/tempstorage)
-"oe" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"of" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/mine/explored)
+"oe" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/turf/simulated/wall,/area/mine/dangerous/explored)
+"of" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
"og" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/visible{dir = 6; level = 1},/turf/simulated/floor/plating,/area/research_outpost/iso1)
"oh" = (/obj/structure/plasticflaps/mining,/obj/machinery/conveyor{dir = 1; id = "iso1"},/obj/machinery/atmospherics/pipe/manifold/visible,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/research_outpost/iso1)
"oi" = (/obj/effect/spawner/window/reinforced,/obj/machinery/atmospherics/pipe/simple/visible{dir = 10},/turf/simulated/floor/plating,/area/research_outpost/iso1)
@@ -745,15 +745,15 @@
"oq" = (/obj/structure/rack,/obj/item/weapon/storage/box/gloves,/obj/item/weapon/storage/box/samplebags{pixel_x = 3; pixel_y = -3},/obj/machinery/power/apc{dir = 4; name = "Maintenance Storage APC"; pixel_x = 24; pixel_y = 0},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
"or" = (/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2)
"os" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/longtermstorage)
-"ot" = (/obj/structure/transit_tube{tag = "icon-N-SW"; icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"ot" = (/obj/structure/transit_tube{tag = "icon-N-SW"; icon_state = "N-SW"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"ou" = (/obj/structure/alien/weeds{icon_state = "weeds2"},/turf/simulated/floor/plasteel/airless{icon_state = "damaged3"},/area/mine/abandoned)
"ov" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned)
"ow" = (/obj/machinery/door/airlock/glass{name = "Glass Airlock"; req_access_txt = "0"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
"ox" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"oy" = (/obj/machinery/door/window/westleft,/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"oz" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
-"oA" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/mine/explored)
-"oB" = (/obj/structure/grille,/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/mine/explored)
+"oy" = (/obj/machinery/door/window/westleft,/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"oz" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/mine/dangerous/explored)
+"oA" = (/obj/structure/transit_tube{tag = "icon-N-S"; icon_state = "N-S"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"oB" = (/turf/simulated/mineral/random/low_chance,/area/mine/dangerous/explored)
"oC" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/obj/machinery/light{dir = 1; in_use = 1},/turf/simulated/floor/engine,/area/mine/podbay)
"oD" = (/obj/machinery/door_control{desc = "A remote control-switch for the pod doors."; id = "minepodbay"; name = "Pod Door Control"; pixel_x = 0; pixel_y = 24; req_access_txt = "0"; req_one_access_txt = "48;70"},/turf/simulated/floor/engine,/area/mine/podbay)
"oE" = (/obj/machinery/camera{c_tag = "Mining Outpost Starboard Connector"; network = list("Mining Outpost")},/turf/simulated/floor/engine,/area/mine/podbay)
@@ -773,101 +773,101 @@
"oS" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1; pump_direction = 0},/turf/simulated/floor/engine{name = "vacuum floor"; nitrogen = 0.01; oxygen = 0.01},/area/research_outpost/iso3)
"oT" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/rack,/obj/item/weapon/pickaxe,/turf/simulated/floor/plasteel,/area/mine/living_quarters)
"oU" = (/obj/structure/rack,/obj/item/weapon/storage/box/lights/bulbs{pixel_x = 5; pixel_y = 5},/obj/item/weapon/storage/box/lights/tubes{pixel_x = -5; pixel_y = 5},/obj/item/weapon/storage/box/lights/mixed,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/research_outpost/maintstore2)
-"oV" = (/turf/simulated/mineral/random/low_chance,/area/mine/explored)
-"oW" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral/random/low_chance,/area/mine/explored)
-"oX" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"oV" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral/random/low_chance,/area/mine/dangerous/explored)
+"oW" = (/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"oX" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/unexplored)
"oY" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel/airless,/area/mine/abandoned)
"oZ" = (/obj/item/weapon/table_parts,/turf/simulated/floor/plasteel/airless,/area/mine/abandoned)
"pa" = (/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
"pb" = (/obj/structure/rack,/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
-"pc" = (/turf/simulated/floor/plating/airless/asteroid,/area/mine/unexplored)
-"pd" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"pe" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-closed (EAST)"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
+"pc" = (/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"pd" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-closed (EAST)"},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"pe" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"pf" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/lattice,/turf/space,/area/space)
"pg" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/research_outpost/gearstore)
"ph" = (/obj/effect/decal/warning_stripes/east,/turf/simulated/floor/engine/vacuum,/area/mine/podbay)
"pi" = (/turf/simulated/floor/engine,/area/mine/podbay)
"pj" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/wall/r_wall,/area/research_outpost/maintstore2)
-"pk" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"pk" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
"pl" = (/obj/item/weapon/rack_parts,/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
"pm" = (/obj/structure/girder/displaced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned)
-"pn" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"po" = (/obj/structure/transit_tube{tag = "icon-N-SE"; icon_state = "N-SE"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
-"pp" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/obj/structure/lattice,/turf/space,/area/mine/explored)
-"pq" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/space,/area/mine/explored)
-"pr" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/space,/area/mine/explored)
-"ps" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/mine/explored)
-"pt" = (/obj/structure/transit_tube,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
-"pu" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"; tag = "icon-closed (EAST)"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
+"pn" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/obj/structure/lattice,/turf/space,/area/mine/dangerous/explored)
+"po" = (/obj/structure/transit_tube{tag = "icon-N-SE"; icon_state = "N-SE"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"pp" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-SW"; icon_state = "E-SW"},/turf/space,/area/mine/dangerous/explored)
+"pq" = (/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/space,/area/mine/dangerous/explored)
+"pr" = (/obj/structure/transit_tube,/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"ps" = (/obj/structure/lattice,/obj/structure/transit_tube,/turf/space,/area/mine/dangerous/explored)
+"pt" = (/obj/structure/transit_tube/station{dir = 2; icon_state = "closed"; tag = "icon-closed (EAST)"},/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = 32},/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"pu" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
"pv" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore)
"pw" = (/turf/simulated/floor/mech_bay_recharge_floor/airless,/area/research_outpost/gearstore)
"px" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore)
"py" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 10; initialize_directions = 10},/turf/simulated/floor/engine,/area/mine/podbay)
"pz" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/turf/simulated/floor/engine,/area/mine/podbay)
"pA" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/engine,/area/mine/podbay)
-"pB" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"pC" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-opening (EAST)"},/obj/structure/transit_tube_pod,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
-"pD" = (/turf/simulated/wall/r_wall,/area/mine/explored)
-"pE" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/explored)
-"pF" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"pG" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"pB" = (/obj/machinery/door/window/westleft,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"pC" = (/turf/simulated/wall/r_wall,/area/mine/dangerous/explored)
+"pD" = (/obj/structure/transit_tube/station{dir = 8; icon_state = "closed"; tag = "icon-opening (EAST)"},/obj/structure/transit_tube_pod,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"pE" = (/obj/structure/transit_tube{tag = "icon-NE-SW"; icon_state = "NE-SW"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"pF" = (/obj/structure/transit_tube{tag = "icon-D-SE"; icon_state = "D-SE"},/turf/simulated/mineral,/area/mine/dangerous/explored)
+"pG" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"pH" = (/obj/structure/girder,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned)
-"pI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/explored)
-"pJ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor/plating,/area/mine/explored)
-"pK" = (/obj/structure/window/reinforced,/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/space,/area/mine/explored)
-"pL" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/transit_tube,/turf/space,/area/mine/explored)
-"pM" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/space,/area/mine/explored)
-"pN" = (/obj/effect/spawner/window/reinforced,/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating,/area/mine/explored)
-"pO" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/mine/explored)
-"pP" = (/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
+"pI" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/mine/dangerous/explored)
+"pJ" = (/obj/structure/window/reinforced,/obj/structure/lattice,/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/space,/area/mine/dangerous/explored)
+"pK" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/turf/simulated/floor/plating,/area/mine/dangerous/explored)
+"pL" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/transit_tube,/turf/space,/area/mine/dangerous/explored)
+"pM" = (/obj/effect/spawner/window/reinforced,/obj/structure/transit_tube{tag = "icon-D-NW"; icon_state = "D-NW"},/turf/simulated/floor/plating,/area/mine/dangerous/explored)
+"pN" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/turf/space,/area/mine/dangerous/explored)
+"pO" = (/obj/machinery/door/window/westleft{dir = 2},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"pP" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/mine/dangerous/explored)
"pQ" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/research_outpost/gearstore)
"pR" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/research_outpost/gearstore)
"pS" = (/obj/machinery/power/apc{dir = 8; name = "Mining Station Podbay APC"; pixel_x = -27; pixel_y = 2},/obj/structure/cable{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/engine,/area/mine/podbay)
"pT" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/engine,/area/mine/podbay)
"pU" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/engine,/area/mine/podbay)
"pV" = (/obj/structure/spacepoddoor,/obj/machinery/door/poddoor/multi_tile/three_tile_ver{id_tag = "minepodbay"; req_one_access_txt = "48;70"},/turf/simulated/floor/engine,/area/mine/podbay)
-"pW" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/explored)
-"pX" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"pW" = (/obj/structure/transit_tube{tag = "icon-D-SW"; icon_state = "D-SW"},/turf/simulated/wall/r_wall,/area/mine/dangerous/explored)
+"pX" = (/obj/effect/glowshroom,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"pY" = (/obj/item/weapon/storage/toolbox/syndicate,/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"},/area/mine/abandoned)
"pZ" = (/obj/item/clothing/suit/space/syndicate/black/red,/obj/item/clothing/head/helmet/space/syndicate/black/red,/turf/simulated/floor/plasteel/airless{icon_state = "floorgrime"},/area/mine/abandoned)
"qa" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "65"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/research_outpost/gearstore)
-"qb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless,/area/mine/explored)
+"qb" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
"qc" = (/obj/effect/decal/warning_stripes/north,/obj/structure/reagent_dispensers/fueltank,/turf/simulated/floor/plasteel,/area/mine/podbay)
"qd" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/mine/podbay)
-"qe" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = -32},/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"qf" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
-"qg" = (/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/simulated/wall/r_wall,/area/mine/explored)
-"qh" = (/obj/structure/transit_tube,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"qi" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"qj" = (/obj/structure/transit_tube/station,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
-"qk" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
+"qe" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = 0; pixel_y = -32},/obj/machinery/door/window/westleft,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"qf" = (/obj/structure/transit_tube{tag = "icon-E-NW"; icon_state = "E-NW"},/turf/simulated/wall/r_wall,/area/mine/dangerous/explored)
+"qg" = (/obj/structure/transit_tube{tag = "icon-D-NE"; icon_state = "D-NE"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"qh" = (/obj/structure/transit_tube,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"qi" = (/obj/structure/transit_tube,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"qj" = (/obj/structure/transit_tube{tag = "icon-W-NE"; icon_state = "W-NE"},/obj/effect/decal/warning_stripes/yellow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"qk" = (/obj/structure/transit_tube/station,/obj/effect/decal/warning_stripes/yellow/hollow,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
"ql" = (/obj/machinery/door/airlock/external{name = "External Airlock"; req_access_txt = "0"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/abandoned)
"qm" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/weapon/shard{icon_state = "small"},/obj/item/stack/rods,/turf/simulated/floor/plating/airless,/area/mine/abandoned)
-"qn" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/explored)
-"qo" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored)
-"qp" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/explored)
+"qn" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/dangerous/explored)
+"qo" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/mine/dangerous/explored)
+"qp" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
"qq" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light_switch{dir = 2; name = "light switch "; pixel_x = 22; pixel_y = 0},/turf/simulated/floor/plasteel{tag = "icon-stage_stairs"; icon_state = "stage_stairs"},/area/mine/podbay)
-"qr" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/explored)
+"qr" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"qs" = (/obj/effect/decal/warning_stripes/north,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/podbay)
-"qt" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"qu" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTHEAST)"; icon_state = "asteroidwarning"; dir = 5},/area/mine/explored)
-"qv" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'VACUUM'"; icon_state = "space"; layer = 4; name = "VACUUM"; pixel_x = -32; pixel_y = -32},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"qw" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"qx" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"qy" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"qz" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"qt" = (/obj/machinery/door/window/westleft{dir = 4},/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"qu" = (/obj/effect/glowshroom,/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"qv" = (/obj/machinery/light_construct/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"qw" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/dangerous/unexplored)
+"qx" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/dangerous/unexplored)
+"qy" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/unexplored)
+"qz" = (/turf/simulated/mineral/random/labormineral,/area/mine/dangerous/unexplored)
"qA" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
"qB" = (/obj/item/weapon/shard{icon_state = "medium"},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/abandoned)
-"qC" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
+"qC" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/unexplored)
"qD" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/structure/grille{density = 0; icon_state = "brokengrille"},/obj/item/stack/rods,/obj/item/weapon/shard,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/abandoned)
-"qE" = (/obj/machinery/light_construct/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
-"qF" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/unexplored)
-"qG" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/unexplored)
-"qH" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/unexplored)
-"qI" = (/turf/simulated/mineral/random/labormineral,/area/mine/unexplored)
-"qJ" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/unexplored)
-"qK" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"qL" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
+"qE" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"qF" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"qG" = (/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/dangerous/explored)
+"qH" = (/turf/simulated/mineral/random/labormineral,/area/mine/dangerous/explored)
+"qI" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/dangerous/explored)
+"qJ" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"qK" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"qL" = (/obj/structure/ore_box,/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/dangerous/explored)
"qM" = (/turf/simulated/wall/r_wall,/area/mine/laborcamp)
"qN" = (/obj/structure/rack{dir = 1},/obj/item/clothing/glasses/meson,/obj/item/device/flashlight,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/shovel{attack_verb = list("ineffectively hit"); desc = "A large tool for digging and moving dirt. Was modified with extra safety, making it ineffective as a weapon."; force = 1; name = "safety shovel"; pixel_x = -5; throwforce = 1},/obj/item/weapon/pickaxe{attack_verb = list("ineffectively hit"); desc = "A pickaxe designed to be only effective at digging rock and ore, very ineffective as a weapon."; force = 1; name = "safety pickaxe"; pixel_x = 5; throwforce = 1},/obj/item/device/radio/intercom/locked/prison{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"qO" = (/obj/structure/rack{dir = 1},/obj/item/clothing/glasses/meson,/obj/item/device/flashlight,/obj/item/weapon/storage/bag/ore,/obj/item/weapon/shovel{attack_verb = list("ineffectively hit"); desc = "A large tool for digging and moving dirt. Was modified with extra safety, making it ineffective as a weapon."; force = 1; name = "safety shovel"; pixel_x = -5; throwforce = 1},/obj/item/weapon/pickaxe{attack_verb = list("ineffectively hit"); desc = "A pickaxe designed to be only effective at digging rock and ore, very ineffective as a weapon."; force = 1; name = "safety pickaxe"; pixel_x = 5; throwforce = 1},/obj/machinery/status_display{density = 0; layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
@@ -891,16 +891,16 @@
"rg" = (/obj/structure/plasticflaps/mining,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"},/area/mine/laborcamp)
"rh" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=3-SMine"; location = "2-NMine"},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"},/area/mine/laborcamp)
"ri" = (/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"},/area/mine/laborcamp)
-"rj" = (/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"rk" = (/obj/effect/decal/remains/human,/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
-"rl" = (/turf/simulated/mineral/random/labormineral,/area/mine/explored)
+"rj" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTHWEST)"; icon_state = "asteroidwarning"; dir = 9},/area/mine/dangerous/explored)
+"rk" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTHEAST)"; icon_state = "asteroidwarning"; dir = 5},/area/mine/dangerous/explored)
+"rl" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
"rm" = (/obj/effect/spawner/window/reinforced,/turf/simulated/floor/plating,/area/mine/laborcamp)
"rn" = (/obj/machinery/door/airlock/glass_medical{id_tag = null; name = "Infirmary"; req_access_txt = "0"},/turf/simulated/floor/plasteel{icon_state = "whitebluefull"},/area/mine/laborcamp)
"ro" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/mine/laborcamp)
"rp" = (/obj/machinery/door/airlock{name = "Labor Camp Storage"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rq" = (/obj/structure/plasticflaps/mining,/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"},/area/mine/laborcamp)
"rr" = (/obj/structure/girder/reinforced,/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"},/area/mine/laborcamp)
-"rs" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
+"rs" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/dangerous/explored)
"rt" = (/obj/structure/table,/obj/item/trash/plate,/obj/item/weapon/kitchen/utensil/fork,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"ru" = (/obj/effect/decal/cleanable/cobweb2,/obj/structure/stool/bed/chair{dir = 8},/obj/machinery/light_switch{pixel_x = 27; pixel_y = 0},/obj/item/device/radio/intercom/locked/prison{pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rv" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
@@ -910,7 +910,7 @@
"rz" = (/obj/structure/sign/poster/legit{pixel_x = -32},/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"},/area/mine/laborcamp)
"rA" = (/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"},/area/mine/laborcamp)
"rB" = (/obj/item/device/radio/intercom/locked/prison{pixel_y = 25},/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"},/area/mine/laborcamp)
-"rC" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"rC" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHWEST)"; icon_state = "asteroidwarning"; dir = 10},/area/mine/dangerous/explored)
"rD" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rE" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=7-Sleeper"; location = "6-Vending"},/mob/living/simple_animal/mouse,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rF" = (/obj/machinery/door/airlock{name = "Vending"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
@@ -918,7 +918,7 @@
"rH" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rI" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rJ" = (/obj/machinery/door/poddoor/preopen{id_tag = "Labor"; name = "labor camp blast door"},/obj/machinery/door/airlock{name = "Labor Camp External Access"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
-"rK" = (/obj/structure/ore_box,/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
+"rK" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (SOUTHEAST)"; icon_state = "asteroidwarning"; dir = 6},/area/mine/dangerous/explored)
"rL" = (/obj/machinery/vending/sustenance,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rM" = (/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/unary/vent_pump{dir = 4; layer = 2.4; on = 1},/obj/structure/sign/poster/legit{pixel_x = 32},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rN" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/wall,/area/mine/laborcamp)
@@ -927,7 +927,7 @@
"rQ" = (/obj/machinery/conveyor_switch/oneway{id = "gulag"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rR" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "asteroidwarning"; tag = "icon-asteroidwarning"},/area/mine/laborcamp)
"rS" = (/turf/simulated/floor/plasteel{icon_state = "asteroidwarning"; tag = "icon-asteroidwarning"},/area/mine/laborcamp)
-"rT" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTHWEST)"; icon_state = "asteroidwarning"; dir = 9},/area/mine/explored)
+"rT" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/explored)
"rU" = (/obj/machinery/light_switch{pixel_x = -27; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rV" = (/obj/machinery/camera{c_tag = "Labor Camp Central"; network = list("Labor")},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"rW" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
@@ -936,7 +936,7 @@
"rZ" = (/obj/machinery/conveyor{dir = 8; id = "gulag"},/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"},/area/mine/laborcamp)
"sa" = (/obj/machinery/mineral/unloading_machine{dir = 1; input_dir = 4; output_dir = 8},/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"},/area/mine/laborcamp)
"sb" = (/obj/structure/ore_box,/turf/simulated/floor/plating{icon_plating = "asteroidplating"; icon_state = "asteroidplating"},/area/mine/laborcamp)
-"sc" = (/obj/structure/closet/crate{icon_state = "crateopen"; opened = 1},/turf/simulated/floor/plasteel{icon_plating = "asteroid"; icon_state = "asteroid"; name = "Asteroid"},/area/mine/explored)
+"sc" = (/turf/simulated/mineral/random/high_chance,/area/mine/dangerous/explored)
"sd" = (/obj/machinery/door/airlock/external{id_tag = "laborcamp_away"; name = "Labor Camp Airlock"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"se" = (/obj/machinery/light/small{dir = 1},/obj/machinery/door_control{id = "Labor"; name = "Labor Camp Lockdown"; pixel_x = 0; pixel_y = -28; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"sf" = (/obj/machinery/door/poddoor/preopen{id_tag = "Labor"; name = "labor camp blast door"},/obj/machinery/door/airlock/glass_security{name = "Labor Camp Shuttle Cockpit"; req_access_txt = "2"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
@@ -946,7 +946,7 @@
"sj" = (/obj/machinery/camera{c_tag = "Labor Camp External"; dir = 4; network = list("Labor")},/turf/simulated/floor/plasteel{dir = 1; icon_state = "asteroidwarning"; tag = "icon-asteroidwarning (NORTH)"},/area/mine/laborcamp)
"sk" = (/turf/simulated/floor/plasteel{dir = 1; icon_state = "asteroidwarning"; tag = "icon-asteroidwarning (NORTH)"},/area/mine/laborcamp)
"sl" = (/obj/machinery/conveyor_switch/oneway{id = "gulag"},/turf/simulated/floor/plasteel{dir = 1; icon_state = "asteroidwarning"; tag = "icon-asteroidwarning (NORTH)"},/area/mine/laborcamp)
-"sm" = (/turf/simulated/mineral/random/high_chance,/area/mine/explored)
+"sm" = (/turf/simulated/mineral/random,/area/mine/dangerous/explored)
"sn" = (/obj/machinery/status_display{density = 0; layer = 4; pixel_x = -32; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
"so" = (/obj/machinery/mineral/stacking_unit_console{machinedir = 2},/turf/simulated/wall,/area/mine/laborcamp)
"sp" = (/obj/machinery/mineral/processing_unit{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/laborcamp)
@@ -1003,7 +1003,7 @@
"to" = (/obj/machinery/navbeacon{codes_txt = "patrol;next_patrol=4-Maint"; location = "3-SMine"},/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"},/area/mine/laborcamp)
"tp" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/obj/structure/closet/crate,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"},/area/mine/laborcamp)
"tq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/obj/structure/closet/crate,/turf/simulated/floor/plasteel{icon_state = "asteroidfloor"},/area/mine/laborcamp)
-"tr" = (/turf/simulated/mineral/random,/area/mine/explored)
+"tr" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"ts" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall/r_wall,/area/mine/laborcamp/security)
"tt" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
"tu" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel,/area/mine/laborcamp/security)
@@ -1025,81 +1025,81 @@
"tK" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable,/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"tL" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
"tM" = (/obj/effect/spawner/window/reinforced,/obj/structure/cable,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/laborcamp/security)
-"tN" = (/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"tN" = (/turf/simulated/mineral/random/low_chance,/area/mine/dangerous/unexplored)
"tO" = (/turf/simulated/floor/plating/airless,/area/space)
"tP" = (/turf/simulated/mineral,/area/space)
-"tQ" = (/turf/simulated/mineral/random/low_chance,/area/mine/unexplored)
-"tR" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"tS" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"tT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (WEST)"; icon_state = "asteroidwarning"; dir = 8},/area/mine/explored)
-"tU" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
-"tV" = (/turf/space,/area/mine/unexplored)
-"tW" = (/turf/simulated/mineral/random,/area/mine/north_outpost)
-"tX" = (/turf/simulated/mineral/random/high_chance,/area/mine/north_outpost)
-"tY" = (/turf/simulated/mineral,/area/mine/north_outpost)
-"tZ" = (/turf/space,/area/mine/explored)
-"ua" = (/obj/structure/lattice,/turf/space,/area/mine/explored)
-"ub" = (/turf/simulated/floor/plating/airless,/area/mine/explored)
-"uc" = (/obj/structure/lattice,/turf/space,/area/mine/north_outpost)
-"ud" = (/turf/space,/area/mine/north_outpost)
-"ue" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"tQ" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"tR" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"tS" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (WEST)"; icon_state = "asteroidwarning"; dir = 8},/area/mine/dangerous/explored)
+"tT" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/dangerous/explored)
+"tU" = (/obj/machinery/light/small,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"tV" = (/turf/space,/area/mine/dangerous/unexplored)
+"tW" = (/obj/structure/lattice,/turf/space,/area/mine/dangerous/explored)
+"tX" = (/turf/space,/area/mine/dangerous/explored)
+"tY" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/dangerous/explored)
+"tZ" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/space,/area/mine/dangerous/explored)
+"ua" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"ub" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/mine/dangerous/explored)
+"uc" = (/obj/structure/lattice,/obj/structure/window/reinforced,/turf/space,/area/mine/dangerous/explored)
+"ud" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/dangerous/explored)
+"ue" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
"uf" = (/obj/machinery/door/airlock/external{name = "Mining Bridge"; req_access_txt = "54"},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/west_outpost)
-"ug" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
-"uh" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel/airless,/area/mine/explored)
-"ui" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/machinery/light{dir = 1},/turf/space,/area/mine/explored)
-"uj" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/turf/space,/area/mine/explored)
-"uk" = (/obj/structure/lattice,/obj/structure/window/reinforced,/turf/space,/area/mine/explored)
-"ul" = (/obj/structure/lattice,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
+"ug" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"uh" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel/airless,/area/mine/dangerous/explored)
+"ui" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/dangerous/explored)
+"uj" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/dangerous/explored)
+"uk" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"ul" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
"um" = (/turf/simulated/wall/r_wall,/area/mine/maintenance)
-"un" = (/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/turf/simulated/floor/plasteel/airless,/area/mine/explored)
-"uo" = (/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plasteel/airless,/area/mine/explored)
-"up" = (/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel/airless,/area/mine/explored)
+"un" = (/obj/item/clothing/under/rank/miner,/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
+"uo" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/dangerous/explored)
+"up" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/dangerous/explored)
"uq" = (/turf/simulated/floor/bluegrid,/area/mine/maintenance)
"ur" = (/obj/structure/cable{icon_state = "0-2"; pixel_y = 1; d2 = 2},/obj/machinery/power/apc{dir = 1; name = "Mining Communications APC"; pixel_x = 1; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/mine/maintenance)
"us" = (/obj/machinery/telecomms/relay/preset/mining,/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{tag = "icon-vault (NORTH)"; icon_state = "vault"; dir = 1},/area/mine/maintenance)
"ut" = (/obj/machinery/alarm{pixel_y = 24},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/mine/maintenance)
"uu" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
-"uv" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/space,/area/mine/explored)
-"uw" = (/obj/structure/lattice,/obj/structure/lattice,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 1},/turf/space,/area/mine/explored)
+"uv" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
+"uw" = (/obj/machinery/camera{c_tag = "Mining Outpost Construction Area"; network = list("Mining Outpost")},/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
"ux" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/machinery/hologram/holopad,/turf/simulated/floor/bluegrid,/area/mine/maintenance)
"uy" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
"uz" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/mine/maintenance)
"uA" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9; icon_state = "intact"},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
"uB" = (/obj/machinery/camera{c_tag = "Mining Outpost Communications Relay"; dir = 8; network = list("Mining Outpost")},/turf/simulated/floor/bluegrid,/area/mine/maintenance)
-"uC" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"uD" = (/obj/item/weapon/reagent_containers/food/snacks/grown/mushroom/libertycap,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
+"uC" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/dangerous/explored)
+"uD" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/space,/area/mine/dangerous/explored)
"uE" = (/turf/simulated/wall,/area/mine/living_quarters)
"uF" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/maintenance{name = "Mining Station Communications"; req_access_txt = "48"},/turf/simulated/floor/plasteel{tag = "icon-vault"; icon_state = "vault"},/area/mine/maintenance)
-"uG" = (/obj/item/clothing/under/rank/miner,/obj/effect/decal/remains/human,/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
-"uH" = (/obj/item/weapon/reagent_containers/food/snacks/grown/ambrosiavulgaris,/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored)
+"uG" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/dangerous/explored)
+"uH" = (/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/dangerous/explored)
"uI" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/carpet,/area/mine/living_quarters)
"uJ" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm1"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"uK" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel,/area/mine/living_quarters)
-"uL" = (/obj/structure/lattice,/obj/structure/window/reinforced{dir = 4},/obj/machinery/light,/turf/space,/area/mine/explored)
+"uL" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/dangerous/explored)
"uM" = (/obj/structure/table,/turf/simulated/floor/carpet,/area/mine/living_quarters)
"uN" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"uO" = (/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "miningdorm1"; name = "Room 1"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "carpet"},/area/mine/living_quarters)
"uP" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/status_display{layer = 4; pixel_x = 32; pixel_y = 0},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
-"uQ" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/explored)
+"uQ" = (/obj/structure/disposalpipe/trunk,/obj/structure/disposaloutlet{dir = 1},/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/dangerous/explored)
"uR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light/small{dir = 4},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
-"uS" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral/random,/area/mine/unexplored)
+"uS" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/dangerous/explored)
"uT" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm2"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"uU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/camera{c_tag = "Mining Outpost Bedrooms"; dir = 4; network = list("Mining Outpost")},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
"uV" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/mine/living_quarters)
-"uW" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"uW" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/explored)
"uX" = (/turf/simulated/floor/plating/airless{icon_state = "asteroidplating"; tag = ""},/area/mine/west_outpost)
"uY" = (/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock{id_tag = "miningdorm2"; name = "Room 2"},/turf/simulated/floor/plasteel{dir = 2; icon_state = "carpet"},/area/mine/living_quarters)
-"uZ" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/obj/structure/table/reinforced,/obj/item/weapon/wrench,/obj/item/weapon/screwdriver,/obj/item/weapon/crowbar,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 9},/area/mine/explored)
-"va" = (/obj/machinery/camera{c_tag = "Mining Outpost Construction Area"; network = list("Mining Outpost")},/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"vb" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"vc" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)"; icon_state = "tube1"; dir = 1},/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored)
+"uZ" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/dangerous/explored)
+"va" = (/obj/structure/disposalpipe/segment,/turf/simulated/mineral/random,/area/mine/dangerous/unexplored)
+"vb" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
+"vc" = (/obj/structure/grille,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/mine/dangerous/explored)
"vd" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/west_outpost)
"ve" = (/obj/machinery/camera{c_tag = "Mining Outpost West Outpost Mech Recharge Station"; dir = 1; network = list("Mining Outpost")},/turf/simulated/floor/mech_bay_recharge_floor/airless,/area/mine/west_outpost)
"vf" = (/obj/machinery/computer/mech_bay_power_console,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/west_outpost)
"vg" = (/obj/structure/disposalpipe/segment,/obj/structure/sign/deathsposal,/turf/simulated/wall,/area/mine/living_quarters)
-"vh" = (/obj/structure/table/reinforced,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 8},/area/mine/explored)
-"vi" = (/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"},/area/mine/explored)
-"vj" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
+"vh" = (/obj/structure/grille,/turf/simulated/floor/plasteel/airless{icon_state = "circuit"},/area/mine/dangerous/explored)
+"vi" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "outpost_west_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/dangerous/explored)
+"vj" = (/obj/machinery/light,/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"vk" = (/turf/simulated/wall,/area/mine/west_outpost)
"vl" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/mine/west_outpost)
"vm" = (/obj/structure/sign/xeno_warning_mining,/turf/simulated/wall,/area/mine/west_outpost)
@@ -1108,9 +1108,9 @@
"vp" = (/obj/machinery/vending/snack,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
"vq" = (/obj/machinery/light/small{dir = 4},/obj/machinery/door_control{id = "miningdorm3"; name = "Door Bolt Control"; normaldoorcontrol = 1; pixel_x = 25; pixel_y = 0; req_access_txt = "0"; specialfunctions = 4},/turf/simulated/floor/carpet,/area/mine/living_quarters)
"vr" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
-"vs" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger,/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 10},/area/mine/explored)
-"vt" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"vu" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 6},/area/mine/explored)
+"vs" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/dangerous/explored)
+"vt" = (/obj/machinery/conveyor_switch{id = "mining_west"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/dangerous/explored)
+"vu" = (/obj/machinery/camera{c_tag = "Mining Outpost Production Line External"; dir = 4; network = list("Mining Outpost")},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"vv" = (/obj/structure/table,/obj/item/weapon/pickaxe,/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"vw" = (/obj/machinery/firealarm{dir = 2; pixel_y = 24},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"vx" = (/obj/structure/table,/obj/machinery/microwave,/obj/machinery/light_switch{pixel_y = 23},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
@@ -1142,7 +1142,7 @@
"vX" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "outpost_west_inner"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"vY" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/mine/west_outpost)
"vZ" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "outpost_west_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = "10;13"},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"wa" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "outpost_west_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
+"wa" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/dangerous/explored)
"wb" = (/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
"wc" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
"wd" = (/obj/structure/table,/obj/item/toy/cards/deck,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters)
@@ -1153,7 +1153,7 @@
"wi" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/obj/machinery/firealarm{dir = 2; pixel_y = 24},/obj/machinery/alarm{dir = 4; pixel_x = -23; pixel_y = 0},/turf/simulated/floor/plasteel,/area/mine/eva)
"wj" = (/obj/structure/rack,/obj/item/clothing/suit/space/rig/mining,/obj/item/clothing/mask/breath,/obj/item/clothing/head/helmet/space/rig/mining,/turf/simulated/floor/plasteel,/area/mine/eva)
"wk" = (/obj/structure/rack,/obj/item/weapon/storage/backpack/satchel,/obj/item/weapon/pickaxe,/obj/item/weapon/storage/belt/utility,/obj/machinery/light/small{dir = 1},/obj/machinery/status_display{layer = 4; pixel_x = 0; pixel_y = 32},/turf/simulated/floor/plasteel,/area/mine/eva)
-"wl" = (/obj/machinery/light,/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"wl" = (/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/dangerous/explored)
"wm" = (/obj/structure/table,/obj/item/weapon/storage/backpack/satchel,/obj/item/clothing/glasses/meson,/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"wn" = (/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/glass_mining{name = "Break Room"; req_access_txt = "54"},/turf/simulated/floor/plasteel,/area/mine/west_outpost)
"wo" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/mine/west_outpost)
@@ -1234,7 +1234,7 @@
"xL" = (/obj/machinery/atmospherics/pipe/manifold4w/hidden,/turf/simulated/floor/plasteel,/area/mine/eva)
"xM" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 4},/turf/simulated/floor/plasteel{dir = 4; icon_state = "warning"},/area/mine/eva)
"xN" = (/obj/machinery/door/airlock/external{frequency = 1379; icon_state = "door_locked"; id_tag = "mining_east_outer"; locked = 1; name = "Mining External Access"; req_access = null; req_access_txt = null},/turf/simulated/floor/plating,/area/mine/eva)
-"xO" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_east_airlock"; name = "exterior access button"; pixel_x = -25; pixel_y = -25; req_access_txt = null},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
+"xO" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/dangerous/explored)
"xP" = (/obj/machinery/atmospherics/pipe/simple/visible/universal,/turf/simulated/wall,/area/mine/west_outpost)
"xQ" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; name = "HIGH VOLTAGE"},/turf/simulated/wall,/area/mine/west_outpost)
"xR" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = ""},/obj/machinery/door/firedoor{dir = 4; name = "Firelock"},/obj/machinery/door/airlock/maintenance{name = "Mining Station Maintenance"; req_access_txt = "54"},/turf/simulated/floor/plating,/area/mine/west_outpost)
@@ -1266,8 +1266,8 @@
"yr" = (/obj/machinery/portable_atmospherics/canister/oxygen,/turf/simulated/floor/plating,/area/mine/west_outpost)
"ys" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/mine/west_outpost)
"yt" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/item/weapon/storage/box/lights/bulbs,/obj/structure/extinguisher_cabinet{pixel_x = -5; pixel_y = 30},/obj/machinery/light_switch{pixel_x = 6; pixel_y = 23},/turf/simulated/floor/plating,/area/mine/west_outpost)
-"yu" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
-"yv" = (/obj/machinery/conveyor_switch{id = "mining_west"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (NORTH)"; icon_state = "asteroidwarning"; dir = 1},/area/mine/explored)
+"yu" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/dangerous/explored)
+"yv" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/dangerous/explored)
"yw" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
"yx" = (/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4; level = 1},/turf/simulated/floor/plasteel,/area/mine/living_quarters)
"yy" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/plasteel,/area/mine/living_quarters)
@@ -1288,7 +1288,7 @@
"yN" = (/obj/structure/disposalpipe/segment,/turf/simulated/wall,/area/mine/production{name = "Mining Station Mech Bay"})
"yO" = (/turf/simulated/wall,/area/mine/production{name = "Mining Station Mech Bay"})
"yP" = (/obj/structure/extinguisher_cabinet,/turf/simulated/wall,/area/mine/production{name = "Mining Station Mech Bay"})
-"yQ" = (/obj/machinery/camera{c_tag = "Mining Outpost Production Line External"; dir = 4; network = list("Mining Outpost")},/obj/machinery/light/small{dir = 8},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"yQ" = (/obj/machinery/power/apc{dir = 1; name = "Mining Station External APC"; pixel_x = 1; pixel_y = 25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/explored)
"yR" = (/obj/machinery/atmospherics/unary/tank/air{dir = 1; initialize_directions = 0; level = 1},/turf/simulated/floor/plating,/area/mine/west_outpost)
"yS" = (/obj/machinery/power/port_gen/pacman{anchored = 1},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/turf/simulated/floor/plating,/area/mine/west_outpost)
"yT" = (/obj/machinery/power/terminal{dir = 4},/obj/machinery/light/small,/obj/structure/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/plating,/area/mine/west_outpost)
@@ -1307,7 +1307,7 @@
"zg" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plasteel,/area/mine/podbay)
"zh" = (/turf/simulated/floor/mech_bay_recharge_floor,/area/mine/production{name = "Mining Station Mech Bay"})
"zi" = (/obj/machinery/computer/mech_bay_power_console,/turf/simulated/floor/plasteel,/area/mine/production{name = "Mining Station Mech Bay"})
-"zj" = (/turf/simulated/floor/plasteel/airless{icon_state = "asteroidwarning"; dir = 5},/area/mine/explored)
+"zj" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/explored)
"zk" = (/obj/machinery/light/small{dir = 8},/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/simulated/floor/plasteel{icon_state = "white"},/area/mine/living_quarters)
"zl" = (/obj/machinery/light_switch{pixel_x = 23; pixel_y = 0},/obj/structure/table,/obj/item/weapon/storage/firstaid/toxin,/turf/simulated/floor/plasteel{icon_state = "white"},/area/mine/living_quarters)
"zm" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel{icon_state = "white"},/area/mine/living_quarters)
@@ -1329,7 +1329,7 @@
"zC" = (/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/mine/production{name = "Mining Station Mech Bay"})
"zD" = (/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/mine/production{name = "Mining Station Mech Bay"})
"zE" = (/obj/structure/plasticflaps/mining,/turf/simulated/floor/plasteel{dir = 4; icon_state = "loadingarea"; tag = "loading"},/area/mine/production{name = "Mining Station Mech Bay"})
-"zF" = (/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored)
+"zF" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/dangerous/explored)
"zG" = (/turf/simulated/floor/plasteel{tag = "icon-warnwhite (NORTHEAST)"; icon_state = "warnwhite"; dir = 5},/area/mine/living_quarters)
"zH" = (/obj/machinery/sleeper{dir = 4},/turf/simulated/floor/plasteel{tag = "icon-warnwhite (NORTH)"; icon_state = "warnwhite"; dir = 1},/area/mine/living_quarters)
"zI" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 1; on = 1},/obj/machinery/camera{c_tag = "Mining Outpost Sleeper Room"; dir = 1; network = list("Mining Outpost")},/turf/simulated/floor/plasteel{icon_state = "white"},/area/mine/living_quarters)
@@ -1361,9 +1361,8 @@
"Ai" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/light,/turf/simulated/floor/plasteel,/area/mine/production{name = "Mining Station Mech Bay"})
"Aj" = (/obj/structure/ore_box,/obj/machinery/camera{c_tag = "Mining Outpost Mech Bay"; dir = 1; network = list("Mining Outpost")},/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor/plasteel{icon_state = "bot"},/area/mine/production{name = "Mining Station Mech Bay"})
"Ak" = (/obj/machinery/mech_bay_recharge_port,/obj/machinery/light/small,/turf/simulated/floor/plating,/area/mine/production{name = "Mining Station Mech Bay"})
-"Al" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "mining_west_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access_txt = null},/turf/simulated/floor/plasteel/airless{dir = 5; icon_state = "asteroidfloor"; tag = "icon-asteroidfloor"},/area/mine/explored)
-"Am" = (/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning (EAST)"; icon_state = "asteroidwarning"; dir = 4},/area/mine/explored)
-"An" = (/obj/machinery/light{dir = 1},/turf/simulated/floor/plating/airless/asteroid,/area/mine/explored)
+"Al" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/mine/dangerous/explored)
+"Am" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/dangerous/explored)
"Ao" = (/obj/effect/spawner/window/reinforced,/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/mine/lobby)
"Ap" = (/obj/effect/spawner/window/reinforced,/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 0},/obj/machinery/door/firedoor{dir = 2},/turf/simulated/floor/plating,/area/mine/lobby)
"Aq" = (/obj/machinery/computer/shuttle/mining,/turf/simulated/floor/plasteel,/area/mine/lobby)
@@ -1372,9 +1371,6 @@
"At" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/light{dir = 4},/turf/simulated/floor/plasteel,/area/mine/lobby)
"Au" = (/turf/simulated/wall,/area/mine/living_quarters{name = "Mining Station Break Room"})
"Av" = (/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/wall,/area/mine/living_quarters{name = "Mining Station Break Room"})
-"Aw" = (/obj/machinery/power/apc{dir = 1; name = "Mining Station External APC"; pixel_x = 1; pixel_y = 25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"Ax" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
-"Ay" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = ""},/turf/simulated/floor/plasteel/airless{tag = "icon-asteroidwarning"; icon_state = "asteroidwarning"; dir = 2},/area/mine/explored)
"Az" = (/obj/machinery/door/firedoor{dir = 2},/obj/machinery/door/airlock/glass_mining{name = "Mining Station Pod Bay"; req_access_txt = "54"},/obj/machinery/atmospherics/pipe/simple/hidden,/turf/simulated/floor/plasteel,/area/mine/lobby)
"AA" = (/obj/effect/spawner/window/reinforced,/obj/machinery/door/firedoor{dir = 2},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/turf/simulated/floor/plating,/area/mine/lobby)
"AB" = (/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8},/turf/simulated/floor/plasteel,/area/mine/lobby)
@@ -1409,8 +1405,6 @@
"Bf" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"})
"Bg" = (/obj/structure/table,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"})
"Bh" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/floor/plasteel{icon_state = "bar"},/area/mine/living_quarters{name = "Mining Station Break Room"})
-"Bi" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/turf/simulated/floor/plating,/area/mine/explored)
-"Bj" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/mine/explored)
"Bk" = (/obj/structure/lattice,/obj/structure/disposalpipe/segment{dir = 4},/turf/space,/area/space)
"Bl" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall,/area/mine/lobby)
"Bm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel,/area/mine/lobby)
@@ -1501,9 +1495,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacQcRcScTagaaaaacacacacacacacbjacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaQaaaaaaaaaaaaafafafafblctcucUblcVbWcWcXcYcZdacZdbcZcZcZcZdcddbMdecLdfdgdhcpbNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadididjdkdlcqagaaaaacacacacbjbjbjacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaagaQaaaaaaaaaaaaafafafafblctdmdnbldodpdqdrdsdtdudvdwdxdydzcZdAdBbMdCdDdEdFbMbObNagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGdHdIdJdKdLdMagagacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaagaQaaagagagagagafaLaLaLaLaLdNdOaLbEbEdPdQdRcZdSdTdUdVdWdXcZdYdZeaebecedeebMefafagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegdieheiejdlekacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaQaaaaaaaaaaaaaaaLemenenepeqereseteuevewexcZeyezeoeBeAeDeEeFeGeHeHeHeIeJeKeLeMeMeNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaegdieheiejdlekacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaQaaaaaaaaaaaaaaaLemenenepeqereseteuevewexcZeyezeoeBeAeDeEeFeGeHeHeHeIeJeKeMeLeLeNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagageOePeQekacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjacacacacacacaaaaaQaaaaaaaaaaaaaaaoeReSeSeUeVeWeXeYeZfafbfcfdfefffgfhfhfjfkflfmeHeCfieTfqeHfrafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagagfsftfufvekacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaQaaaaaaaaaaaaaaaofwenfxfyfzfAfBfCfDaLfEfFfGfHfIfJfKfLfMcZfNfOfPfQfQfRfSfTfUfVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagagfsftfufvekacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaQaaaaaaaaaaaaaaaofwenfxfyfzfAfBfCfDaLfEfFfGfHfIfJfKfLfMcZfNfOfPfQfQfRfSfTfVfUafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagagfWfXfYekfZgaekekekekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaQaaaaaaaaaaaaaaaofwenfxfygbgcfBgdgeaLgfggcZghcZcZcZcZgicZgjgkeHglgmgngogpgqgraeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggsgtgugvgwgxbPdLgyekgzgAekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaQaaaaaaelaaaaaaaLfwengBfygCfAfBgEgFaLgGgHgIgJgKgLgMcZgOgNgPgQgRgSgTfQgVgpefafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaggWgXgtgYgZhahbhcgyhdgAgAgzekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaahehfhfhfadhfhfhffnhihjbahkhlaLaLaLaLaLhmhnhogJhpgLhqcZhshrhthuhvhwhxgUhyhAhBhCaLhDbzaAaAaAaAaAaAaBhEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
@@ -1513,146 +1507,146 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagagagbjbjekgxkmkngzjskogZhajwbPdLkpekjwfvgyjyekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacafafafafafafacacacacacacacaaaaaaaahfkqhNkrksktkukvkwkxkykzkAkBhWkCgDhhkFkFkFkFhYkHkIkJkHkKkLkMkKkNkOkPkNkNkQkRkSkTiskUkViskWkkkkkXisbxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagekekekekekekgwgZkYkmgZizkZjwjwhcgyjuekjweQlajyekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafafaeaeaeaeafafafacacacaclblcaaaaaaiNlehfhfkDlflflflgkElibaljljhWlkkFkFkFkGlnlolpkHlqlrlskKltlulvkNlwlxlykNlzlAkSlBlCisisislDlElFjpisbxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaageklGdLhagwekjqlHjrekiAeklIlJlKekdLlLcrlMeQfucrekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjacacacafafaeaeaeaeaeaeaeaeafafacaclNlOaAaAajaAbAbBagagldlhlRlllTlUlVlWlmlYlZmalPmglQlSmfmgmhkHmimjmkkKmlmmmnkNmompmqkNmrmsmtmumvmwmxisisisisismybkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceklGeQdLgYiAlLkmdLkmfudLdLmzgydLeQeQekcrmAeQdLekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafaeaeaeaeaeaeaeaeaeaeafafmBmCmDacaaaaaaaaaaaaagldlXmFmbmHmImJmcljmdmMhWkFkFkFkFkFmgmPkHmQmRmSkKmTmUmVkNmWmXmYkNmZnanbncndndnelCnfaiaAaAngnhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaceklGnieQeQiAeQlafZeQnjfulakpcreQnkfvekkmcrlLdLekbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnlaeaeaeaeaeaeaeaeaeaeaenmafnnnoafafaaaaaaaaaaaaagldmenqnrmEnrntmGljljnvhWyuyumKyukFnAnBkHnCnDnEkKnFnGnHkNnInJnKkNnLnMlCnNnOnPnOlCnnnQafagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaceklGnRgYgweknSeknTfYekhaeknTfYekgZlLekmziCcrjuekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnUaeaeaeaenVaeaeaeaeaeaenWnlnXnlafaaaaaaaaaaaaaaagldmNmLmOnZnuobnunphWodhWoeoeoeoekFnsmgkHogohoikKojokolkNomonookNopoqorlClClClCosotafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacekekekekekeknSekougyhajufvgZkogZiCgYeknTovowoxekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnmaeaeaeaeaeaeaeaeaeaeaeaeoyozoAaaaaaaaaaaaaaaagagldnwnunxnZnynununzhWoHhWaeaeaeaekFoIoJkHoKoLoMkKoNoOoPkNoQoRoSkNhzoUorafoVafoWmCoXafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacbjbjbjbjbjeknSekgyjuoYizdlgYgyekgZfvekoZpapapbekpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaeaeaeaeaeaeaeaeaeaeaeaepdpepfaaaaaaaaaaaaagagagldldpgpgldldnZnZldldnYhWaeaeaeaekFkFkFkHkHkHkHkKkKkKkKkNkNkNkNkNororpjlOakakpknQafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacbjbjbjbjbjbjeknSekjudLiCgygZfviCeknSekekjwcrpaplpmpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaeaeaeaeaeaeaeaeaeaeaeaepnpoppaaaaaaaaaaagpqprpsptpupvpwpxaeaeaeaeaeqCaeaeaeaeaepBpCpDafafafafafafafafafafafafafafpEpFnQpGafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjeknSekekekekekekekekeknSekjwcrjxcrpbpHpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaeaeaeaeaeaepIpJpKpLpLpLpLpLpLpMpNpOpPpPpQpRpRaeaeaeaeaeqCaeaeaeaeaepdpopWafafoVoVoVoVoVoVafafafafafpEpFnQpXaepXafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjeknSnSnSnSpYpZnSnSnSnSnSekjwjxjxjxjyekpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaenVaeaeaeaeaeqaqbqbqbqbqbqbqbqbqaaeaeaeaeaeaeaeaeaeaeaeqCaeaeaeaeaeqeqfqgakakakakqhakakakakakqiptqjqknQaeaeaepXnlafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjekekekekekekekekekekekekekekoxqlqmekekpcpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaeaeaeaeaeaepIqnqoqoqoqoqoqoqoqopOpOaeaeaeaeaeaeaeaeaeaeqCaeaeaeaeaepDpDpDafafoVoVoVoVoVoVoVoVqvqwpPqxaepXaeaepXafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjpcpcpcekpapajxekpcpcpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaafafafafafafafafaeaeaeaeaeaeaeqCaeaeaeaeafafafafafafoVoVoVoVoVoVoVnlpXaeqzaepXaeaeaeafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjpcpcpcekqAqBqAekpcpcpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaafafafafafafafafafafaeaeaeaeaeqCaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVnloVaepGoVafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjpcpcekqDqloxekpcpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaeaeqEaeaeaeaeaeafafafaaaaaaaaaaaaaaaaaaafafafafafafafafafafafaeaeaeqCaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjpcpcpcqFqGqHpcpcpcpcbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafafnlafaeaenmnmafacacaaaaaaaaaaaaaaaaaaafafafafafafafafafafafafaeaeqCaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjqIbjbjbjbjbjbjbjbjbjbjpcpcpcpcpcqJpcpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafafafafafafacacaaaaaaaaaaaaaaaaaaafafafafafafafafafafafafaeaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaccsacaaaaaaaaaaaaaaaaaaaaaaaaqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjqIqIbjbjbjbjbjbjbjbjbjpcpcpcpcpcpcpcqJpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjacacacacacacacacacacacaaaaaaaabjbjaaaaaaaaafafafafoVoVoVoVafafafaeaeqKqLaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaaaacacacacqIqIqIqIqIqIqIqIqIqIqIqIbjbjbjbjbjbjbjbjqIqIqIbjbjbjbjbjbjbjbjpcpcpcpcqJpcpcpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaacbjbjaaaaaaafafafafoVoVoVoVafafafaeaeaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaacacacacacqIqIqIqIqIqIqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjpcpcpcpcpcpcpcpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaabjbjaaaaaaafafafafoVoVoVoVafafafaeaeaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaacacacacacacqMqMqMqMqMqMqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjpcpcpcpcpcpcpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaafafafoVoVoVoVafafafaeaeaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaacqMqMqMqMqMqMqNqOqPqQqMqIqIqIqIqIqIqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjpcpcpcpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaafafafoVoVoVoVafafafaeaeaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaacqMqRqSqTqUqVqWqXqXqYqMqVqVqVqVqVqVqVqVqVqVqVbjbjbjbjbjbjbjbjbjbjbjbjbjpcpcpcbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaafafafoVoVoVoVafafafafaeaeqCaeaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqMqZrarbrcqVrdqXrerfrgrhririqVrjrkrlqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaacaaaaaaaaafafafoVoVoVoVafafafafaeaeqCaeaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMqMqMqVrmrnrmqVrorpqVqVqMqMqMrqqMrrrlrlqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaabjbjbjaaaaafafafafoVoVoVoVoVafafaeaeqKrsqLaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMrtruqVrvqXqWrwrxqXryqVrzrArArirBrirlrlqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaabjbjbjaaaaaaafafafoVoVoVoVoVafafaeaeaeaeqCaerCnlafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagqMrDrErFrGrHrIqXrvqXqXrJrArAririririrKrlqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaafafafoVoVoVoVoVafafafaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMrLrMrNrOrHrPqXrvrQqXqVrRrSrSririrjrjrlrlqIqIqIbjqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaafafoVoVoVoVoVafafafaeaerTqtquaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMqVqVqVrUqXrVrHrWrmrXrYrZrZsasbrirjrjscrlqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaafafoVoVoVoVoVafafafaeaeqpqyqraeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafaaafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasdsesdsfsgqXrvqXqXshsiqVsjskslririrjrjrjrlsmqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaafafafoVoVoVoVoVafafaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMqMqMqMsnqXrvrmsoqVspqVrAsqrArjrjrjrjsrqVqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaacsaaaaafafafoVoVoVoVoVafafaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaccsacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassststsuqXqXsvswsxswsyqVszsArjrjrjrjrKrlrlqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaabjcscsaaaaafafoVoVoVoVoVafafaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasBsBsBsCsDsEsFsGsGsGqVsGsGsHrjrjrjrjrKrlqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaabjbjcsaaaaaaafafafafafoVafafafaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasIsJsKsLsMsNsOsPsQsRsSsTsUsVsWrArjrjrjrlrlqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaafafafoVafafafaeaeqCaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaasBsGsGsGsXsFsGsGsYsZtasGsGtbrArjrjrlrlqIqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaafafoVafafafaeaeqCaeaeafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaasBtctdtetftgthtitjtktltmtntotptqrlrlqIqIqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaatrtraaaaaaaaaaaaafafoVafafafaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaccsacaaaaaaaaaaaaaaaaagtstttctutctvsGtwtxtxtytzsGrlrlrlrlqIqIqIqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaatrtrsmaaaaaaaaaaaaafafoVafafafaeaeqKqLaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaatAtBtCtDtEtFsGtGtHtItJtzsGrlqIqIqIqIqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaasmaaaaaaaaaaaaaaaaafafoVafafafaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaatKtLtMsBsBsBsGsGsGsGsGsGsGsGsGsGsGsGsGsGsGsGsGsGbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafafagagagagagagagagafafoVoVafafafnltNaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaccsacacaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacqIqIqIqIqIqIqIqIqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaftOtOtOtOtOtOtOtOafafoVoVafafafafaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaatPacacacacacacacacqIqIqIqIqIqIqIqIqIqIqIqIqIqIqIqIqIqIbjbjbjbjbjbjbjbjbjtQbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafagagagagagagagagafafoVoVafafafaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjtQbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaafafoVoVafafafaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacaaaaaaaaaaaaaaaaaaafafoVoVafafafaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacaaaaaaaaaaaaaaaaaaafafoVoVafafafafaeaerTqtquaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjtQbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaafafoVoVafafafafaeaeqpqyqraeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaafafoVoVafafafafafaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafoVoVafafafafafaetRtSaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafaeqCaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaacbjcsacacaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafaeaeqCaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaacacbjbjacacaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafaeaeqCnWnlafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacacbjacaaaaaaaaaaaaaaaaaaaaaaacbjacacacaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafaeaetRtSaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacaaaaaaaaaaaaaaacacbjacacacaaaaaaaaacbjbjacaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafaeaeqCaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccsbjacaaaaaaaaaaaaaaacacbjbjacacaaaaaaaaaccsbjacaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaeaeaeaeqCaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacaaaaaaaaaaaaaaaaaccsbjacacaaaaaaaaacbjbjacaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeqCaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaacbjbjacacacaaaaaaacacacacacacaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeqCaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeqCaeaeaeafafafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeqCaeaeaeafafafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeqCaeaeaeafafafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeqCaeaeaeaeafafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaacacbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeqCaeaeaeaeaeaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeqCaerTquaeaeaeaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccsacacaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaaaaaaaaaaaaaacacbjbjacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeqKrstTtUrsrsrsqLaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacacacacacaaaaaaaaaaaaacacbjcsbjacaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaeqpqraeaeaeqCaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaacacacbjacaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacactVaaaaaaaaaaaaaaaaaaaaaaafafaeaeaeaeaeaeaeaeaeaeqKrsqLaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjtrtrtrtrtrtrtrtrtrtrtrtrtrtrafafacacactVaaaaaaaaaaaaaaaaaaaaafafafafafafaeaeaeaeaeaeaeaeqCaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjacacaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjtrtWtWtWtWtWtWtXtWtWtWtWtWtWtYafafafaftYtZtZtZtZtZtZtZtZtZtZtZafafafafafafafafafaeaeaeaeqCaeaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjtrtWtWtWtWtWtWtWtWtWtWtWtWtWtWtWtYtYtYafuauauauauauauauauauauaafafafafafafafafafafafaeaeqKrsrsqLaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaacaccsacaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjtrtWtWtWtWtWtWtWtWtWtWtWtWtWtWafafafafububububububububububububububafafafafafafafafafaeaeaeaeaeqCaeaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjtrtWtWtWtWtWtWtWtWtWtWtWtWtWtYtYtYafuaucucucucucucucuauauauauauauauaafafafafafafafafaeaeaeaeaeqKrsrsqLaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaacbjbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjtrtWtWtWtWtWtWtWtWtWtWtWtYtYtYtYtYtZtZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafafafaeaeaeaeaeqCaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaacacacacacacacacaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjtrtrtrtrtrtrtrtrtrtrtraftYtYtYududtZtZaaaaaabjaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafafafafafaeaeaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjacacaaaaacaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjafafafaftZtZtZtZaaaapcbjbjbjbjpcpcaaaaaaaaaaaaaaafafafafafafafafafafafafafafaeqKrsqLaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacactVtVtVtZtZaapcpcbjbjbjpcpcpcaaaaaaaaaaaaaaafafafoVoVoVoVoVoVafafafafafaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacactVtVtZtZaaaapcpcbjbjbjpcpcaaaaaaaaaaaaaaaaafafafoVoVoVoVoVoVafafafafafafaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacactVtZtZaaaaaapcpcbjbjbjpcpcaaaaaaaaaaaaaaafafafoVoVoVoVoVoVoVafafafafafafaerTqtquaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacactZaaaaaaaaaabjbjbjpcpcaaaaaaaaaaaaafafafafoVoVoVoVoVoVoVoVafafafafafafaeqpqyqraeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaacacacacacacacacaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVoVoVoVafafafafafafafaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactQacaaaaaaaaaaaaaaaaaaaaaaaaacaaacacacacaaaaacacacaaaaaaaaaaacacacacacacacacaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVoVoVoVoVafafafafafaeaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjacacacacbjacaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVoVoVoVoVafafafaeaeaeaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjacacacacacaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVoVoVoVoVafafafaetRrsrsrsrstSaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVoVoVoVoVafafafaeqCaeaeaeaeueaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaccsacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVoVoVoVoVafafafaeqCaeaeaeaenlafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacacacacacaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVoVoVoVafafafaeqCaeaeaeafafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacacacacaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVoVoVoVafafafaeqCaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaacbjbjacacacaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaatVacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVoVoVoVafafafaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaacacbjacaaacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVoVafafafaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaccsacaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVafafafaeaeqCaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacbjacacaaaaaaaaacbjbjbjacacaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVafafafaetRtSaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaacacbjacaaaaaaacacacacacacaaaaaaaaaaaaacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVafafaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaacacacaaaaaaacacacaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoVafafnltNrTqtquaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaafafafoVoVafafafaeqpqyqraeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaafafafoVoVoVoVafafafaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaeaeafaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafagagagagagagagagagagafafafoVoVoVoVafafafaeaeqCaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacacacaaaaaaaaaaaaaeaeaeaeaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaftOtOtOtOtOtOtOtOtOafafafafoVoVoVoVafafafafaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaacbjacaaaaaaaaaaaaaeaeaeaeaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacafagagagagaguauaagagagafafafafoVoVoVoVafafafafaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaacaccsacacaaaaaaaaaeaeaeaeafafafafaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaatZtZtZtZaaaaaaafafafafoVoVoVoVafafafafaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaacacacacacacaaaaaaaaaeaeaeaeaeafafafaaaaaaacacacbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaatZtZtZtZaaaaaaaaafafafafoVoVoVoVafafafaeaeqCaeaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaacacaaaaaaaaacacacaaaaaaaaaaaaaaaeaeaeaeaeafafaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaatZtZaaaaaaaaaaafafafafoVoVoVoVafafafaeaeqCaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjacacaaaaaaaaaaacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaapOaepOaeafafafaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVafafaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjbjbjbjacaaaaaaaaaaacacaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaapOufpOaeafaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVafafafaeaeaeqCaeaeafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaccsbjbjbjacacaaaaaaaaaaacacacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaauguhuiaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVafafaeaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacacaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaauguhujaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVafafaeaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaeaepOpOukukukukukukukuluhujaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjumumumumumumumbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVafafaeaeaeaeqCnWnlafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaeaeaeaeufunununununununuoupujaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjumuqurusutuuumbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVoVafafafaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacacaaaaaaaaaaaaaaaaafaeaeaepOpOqoqoqoqoqoqouvuhuwuaaaaaaaaaaaafacacbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjumuxuyuzuAuBumbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVoVafafafaeaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaacacacaaaaaaaaaaaaafafafaeaeaeaeaaaaaaaaaaaauguhujaaaaaaaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoeuCuDbjuEumumumuFumumumbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVnlnlnlnlnlnlaeaeqCaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaacacafafaeaeaeaaaaaaaaaaaaaauguhujaaaeaeaeaeaeafafacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuGuDuHbjuEuIuJuEuKuEafafacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVnluZvavbvbvcaeaeqCaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafafaeaeaaaaaaaaaaaaaauLuhujaeaeaeaeaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoenlacuEuMuNuOuPuEaeafafacacacacaaaaaaaaaaaaaaaaaaaaafafafafoVoVoVoVnlvhvivivivjaeaeqCaeaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaapOufpOaeaeaeaeaeaeaeafafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuQbjacuEuEuEuEuRuEaeaeafafnlafafaaaaaaaaaaaaaaaaaaaaaaafafafoVoVoVafnlvsvtvtvtvuaeaeqCaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaeaepOoepOaeaeaeaeaeaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuSbjbjuEuIuTuEuUuVaeaeaeaeuWaeafafaaaaaaaaaaaaaaaaaaaaafafafafafafafaeaeaeaeoaoaoaoaocoaoBofaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaaaaaaaacacbjbjacaaaaaaaaaaaaaaaaaaaeaeaeaeoeoeoeoeuXuXuXaeaeaeafacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjuSbjbjuEuMuNuYuKuVaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaaafafafafafafaeaeaeaeoaoCoEoDoGoFphaeaeaeaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaccsacacacacaaaaaaaaaaaaaaacacacbjbjacaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaevdvevfaeaeaeafacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjacacacafafafafafafafacacacacacacacacbjbjbjbjbjbjbjbjbjbjuEvguEuEuEuEuEuEuKuVaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafafafaeaeaeaeoapipzpypAoFphaeaeaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaacacacbjbjacaaaaaaaaaeaevkvkvkvkvkvkvlvlvlvkvmvkvkvkaeaeaeafacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacafafaeaeaeaeaeafafafafafacacacacacacacbjbjbjbjuEuEuEuEvnvovpuEuIvquEvruEuEuEuVuVuVuEaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafafaeaeaeaeoapSpUpTpApVphaeaeaeaeaeaeaeaeafafafafafoVoVoVoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaacacacacacaaaaafaeaeaevkvvvwvxvyvzvAvBvCvDvEvFvGvyquaeaeafafafafacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacafafaeaeaeaeaeaeaeaeaeaeafafafafafacacacacbjbjbjuEvHvIvJvKvIvIuEuMuNvLuKuEvMvNvOvOvOuVaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafaeaeaeaeqdqcqsqqwXvPvRvRvQvQaeaeaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaacacacaaaaacafaeaeaevkvSvTvUvyvTvVvTvTvWvXvYvGvZwaaeaeaeaeaeafafafacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjacacafafnlaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafacacacacacacuEwbvIwcwdwewfuEuEuEuEuKuEvMwgwgwgwhuVaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeqdxwzgxFwXwiwjwjwkvQaewlaeaeaenWnlafafafoVoVoVoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacafaeaeaevkwmvTvTwnvTvVwovTvTvywpwqvyqraeaeaeaeaeaeaeafafafafacacacacacacbjbjbjbjbjbjbjbjbjacacafafaeuWaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafacacacuEwrwswtvIwuwvwwwhwxwywzuEoTwgwBwCwDuVaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaezRzRAAAzwXwGwHwIwJvQvQvQvQaeaeaeaeafafafafoVoVoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacafafaeaevkwKvTwLvEwMwNwOvTvkvkvkvkvkvmrTquaeaeaeaeaeaeaeaeafafafacacacacacbjbjbjbjbjbjbjacacacafaeaeaeaeaeaeaeaeaeaeaerTquaeaeaeaeaeaeaeaeaeafafacacwPuEuEuEwQuEuEwRwSwTwRwSuEuEuEuEuEwUuEuEuVuVaeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaewFwFwVAMABwYwZxaxaxbxcxdxexcquaeaeaenmafafafoVoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafaeaevkxfxgxhvyxixjxkxlxmxnxoxpxqxrtTtUrsrsrsrsrsqLaeaeaeaeafafafacacacacacbjbjbjacacacacafafaeaetRrsrsrsrsrsrsrsrstTtUrsrsrsrsqLaeaeaeaeaeafacacacacacwQxsxtxuwgwDxvwhwDwwzJxxxywhwDwgxzxAuVuVuVxBxCxCxCxCxCxCxCxDxDxDxDxDxDxDwFwFwFxEwWBQxGxHxIxaxaxJxKxLxMxNxOaeaeaenmafafafoVoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafaeaevkvkvkvkvkxPxQxRvkvkxSvkvkvkvkqpqraeaeaeaeaeqCaeaeaeaeafaeafafacacacacacacacacacacafafaeaeaeqCaeaeaeaeaeaeaeaeqpqraeaeaeaeqCaeaeaeaeaeafafnlafafacuEuEuEuEwgwDxTxUxVwyxWxXxXxYxYxZxXyaybxXybycycycycycycycycydydydydydydydyeyfyeygyfyhyiyjykylymynxcyoypxcqraeaeaeaeafafafafoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafaeaeaeaeaevkyqyrysytvkyuyvoeaeaeaeaeaeqEaeaeaeqKrsrsqLaeaeaeaeafacacacacacacacacacacafaeaetRrstSaeaeaeaeafaeaeqEaeaeaeaeaeaeqCaeaeaeaeaeaeaeuWaeafafafafafuEwgywyxyyyyyxyzyAyByyyyyCyxyDyEyEyEyFyFyFyFyFyFyFyFyGyGyGyGyGyGyHyIyIyIyJyKyLyMyNyOyPyOyOyOyOyOyOyQaeaeaeaenmafafafoVoVoVoVafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafaeaeaeaevkyRySyTyUvkaeaeaeaeaeaeafafnlafaeaeaeaeaeqCaeaeaeaeaeafacacacacacafafafafafaetRtSaeaeaeafafafafafafnlaeaeaeaeaeaeqCaeaeaeaeaeaeaeaeaeaeaeafafuEuEwRyVwRuEuEyWyXyYuEuEuEyZwRuEuVaeaeaeaaaaaaaaagaaaaaaagaaaaaaaaaaagaawFwFwWzazbzczdzezfBRzhziyOvbzjaeaeaeaeaeafafafoVoVoVoVafafafoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafafaeaeaevkvkvkvkvkvkaeaeafafafafafacacafafaeaeaeaeqCaeaeaeaeaeaeafafafafafafaeaeaeaeaeqCaeaeafafafacacacacacafaeaeaeaeaeaeqCaeaeaerTquaeaeaeaeaeaeaeafuEzkwAzmzluEzozpzqzrzsuEztzuzvuEaeaeaeaeaeaeaaaaagaaaaaaagagagagagagagagagwEzwzxzyzzzAzAzBzCzCzDzEzFvjaeaeaeaeaeafafafoVoVoVafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafaeaeaeaeaeaeaeaeaeaeaeafacacacacacacacafafaeaeaeqKrsrsrsqLaeaeaeaeaeaeaeaeaeaeaeaeaeqCaeafafacacacacacacacafafaeaeaeaeaeqKrsrsrstTtUrsrsrsqLaeaeaeaeuEzHzGzIznuEzKzLzLzMzNuEzOzPzQuEaeaeaeaeaeaeagagagagagagagaaaaaaaaaaagaaaawEzSzTzUzVzWzXzWzCzCzDzEzFvjaeaeaeaeafafafafoVoVafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafaeaeaeaeaeaeaeaeaeafafafacacacacacacacacafafafaeaeaeaeaeqKqLaeaerTquaeaetRrsrsrsrsrstSaeafacacacacbjbjbjacacafafafaeaeaeaeaeaeaeqpqraeaeaeqCaeaeaeaewPuEuEuEuEuEzZAaAbAczNuEuEAdwRwPaeaeaeaeaeaeaaaaagaaaaaaagaaaaaaaaaaagaawFwFAeAfAgyOAhAiAjAkzhziyOvtvuaeaeaeaeafafafoVoVoVafafafafoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafafafafaeaeaeaeafafafacacacacacacacacacacacacafafafaeqEaeaeqKrsrstTtUrsrstSaeaeaeaeaeaeaeafacacacbjbjbjbjbjacacacafafafafaeaeaeaeaeaeaeaeaeqKrsrsqLaeaeaeaeaeaewPuEuEuEuEuEwPzFAlAmAnaeaeaeaeaeaaaaaaagaaaaaaagaaaaaaaaaaAowFApAqArAsAtwEAuAvAuAuAuAuAuAutNaeaeaeafafafafoVoVafafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacafafafafafafacacacacacacacacacacacacacacacacafafnlafaeaeaeaeqpqraeaeaeaeqEaeafafafafafacacbjbjbjbjbjbjbjacacacacacafafafafafafafafaeaeaeaeaeqCaeaeaeaeaeaeaeaeqpAwAxAxAxAxAyqraeaeaeaeaeaeagagagagagagagagaaaaaaaahMhgwWBSwWwWAsADwEAEAFAGAHAIAJAKALaeaeaeaeafafafafoVoVafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacbjbjbjbjbjbjacacacacacacafafaeaeaeaeaeaeaeaeaenlafafacacacacacbjbjbjbjbjbjbjbjacacacacacacacacacacacacafafaeaeaeaeqCaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaagaaaaaaaaaawFwFwFACwWANAOAPAQARASATAUAVAVALaeaeaerCnlafafafoVafafafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeafafafafafacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafaeaeaeaeqKrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsrsqLaeaeaeaeaeaeaaaaaaaaaaagaaaaaaaaaaagaawFwFwWAsAXAYAZBaAVAVBbBbBcAuaeaeaeaeafafafafafafafafoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafafafacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeqCaerTquaeaeaenlnlaaaaaaagaaaaaaaaaaagaaaawEBdAszUBeAVAVAVBfBgBgBhALaeaeaeaeafafafafafoVafafoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeqKrstTtUrsrsrsBiBjBkBkBkBkBkBkBkBkBkBkBkBkBlBmBnBowEBpBqBrAVBsBsAVALaeaeaeafafafafoVoVoVafoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaeqpqraeaeaenlnlagaaaaaaaaaaaaaaaaaaaaaaBtBtBuBvBtAuAuAuALALALALAuaeaeafafafafoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacafafafafafafafafafafnltNaeaeaeaeaeaeaeaeaeaeaeaeaeaeagaaaaaaaaaaaaaaaaaaaaaaBtBwBxByBzBABBBtaeaeaeaeaeaeaeafafafafoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacafaeaeaeaeaeaeaeaeaeaeaeaeaeqEaeaeaaaaaaaaaaaaaaaaaaaaaaBtBCBDBEBFzYBGBtaeaeaeaeaeaeaeafafafoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacafaeaeaeaeaeaeaeaeaeaeaeaeafnlafafaaaaaaaaaaaaaaaaaaaaaaBtBHBIBJBKzYBLBtaeaeaeaenWnlafafafoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafafaeaeaeaeaeaeaeaeaeafacacafafafaaaaaaaaaaaaaaaaaaaaaaBtBMBNBNBNBNBOBtaeaeaeaeaeafafafoVoVoVoVoVoVoVafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacafafafafafafafafafafafacacacafafafaaaaaaaaaaaaaaaaaaaaBtBtBtBtBtBtBtBtaeaeaeaeafafafoVoVoVoVoVoVoVafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaeaeaeaeafafafafoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaaeaeaeaeueaeaeaeaeafafafafoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaeaeafafnlafafafafafafafoVoVoVoVoVoVafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaeaeafafafafafafoVoVoVoVoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaeaeafafafafoVoVoVoVoVoVoVafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaeaeafafafoVoVoVoVoVafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeafafafafoVoVoVafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaceklGeQdLgYiAlLkmdLkmfudLdLmzgydLeQeQekcrmAeQdLekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafaeaeaeaeaeaeaeaeaeaeafafmCmBmDacaaaaaaaaaaaaagldlXmFmbmHmImJmcljmdmMhWkFkFkFkFkFmgmPkHmQmRmSkKmTmUmVkNmWmXmYkNmZnanbncndndnelCmKaiaAaAngnhaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaceklGnieQeQiAeQlafZeQnjfulakpcreQnkfvekkmcrlLdLekbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnfaeaeaeaeaeaeaeaeaeaeaenlafnnnmafafaaaaaaaaaaaaagldmenqnrmEnrntmGljljnvhWnononQnokFnAnBkHnCnDnEkKnFnGnHkNnInJnKkNnLnMlCnNnOnPnOlCnnnUafagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaceklGnRgYgweknSeknTfYekhaeknTfYekgZlLekmziCcrjuekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnVaeaeaeaenWaeaeaeaeaeaenXnfoenfafaaaaaaaaaaaaaaagldmNmLmOnZnuobnunphWodhWofofofofkFnsmgkHogohoikKojokolkNomonookNopoqorlClClClCosotafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacekekekekekeknSekougyhajufvgZkogZiCgYeknTovowoxekbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafnlaeaeaeaeaeaeaeaeaeaeaeaeoyoAozaaaaaaaaaaaaaaagagldnwnunxnZnynununzhWoHhWaeaeaeaekFoIoJkHoKoLoMkKoNoOoPkNoQoRoSkNhzoUorafoBafoVmBoWafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacbjbjbjbjbjeknSekgyjuoYizdlgYgyekgZfvekoZpapapbekoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaeaeaeaeaeaeaeaeaeaeaeaepcpdpfaaaaaaaaaaaaagagagldldpgpgldldnZnZldldnYhWaeaeaeaekFkFkFkHkHkHkHkKkKkKkKkNkNkNkNkNororpjlOakakpenUafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacbjbjbjbjbjbjeknSekjudLiCgygZfviCeknSekekjwcrpaplpmoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaeaeaeaeaeaeaeaeaeaeaeaepkpopnaaaaaaaaaaagpqpppsprptpvpwpxaeaeaeaeaepuaeaeaeaeaepBpDpCafafafafafafafafafafafafafafpFpEnUpGafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjeknSekekekekekekekekeknSekjwcrjxcrpbpHoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaeaeaeaeaeaepIpKpJpLpLpLpLpLpLpNpMpPpOpOpQpRpRaeaeaeaeaepuaeaeaeaeaepcpopWafafoBoBoBoBoBoBafafafafafpFpEnUpXaepXafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjeknSnSnSnSpYpZnSnSnSnSnSekjwjxjxjxjyekoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaenWaeaeaeaeaeqaqbqbqbqbqbqbqbqbqaaeaeaeaeaeaeaeaeaeaeaepuaeaeaeaeaeqeqgqfakakakakqhakakakakakqiprqkqjnUaeaeaepXnfafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjekekekekekekekekekekekekekekoxqlqmekekoXoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaeaeaeaeaeaepIqoqnqnqnqnqnqnqnqnpPpPaeaeaeaeaeaeaeaeaeaepuaeaeaeaeaepCpCpCafafoBoBoBoBoBoBoBoBqrqppOqtaepXaeaepXafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjoXoXoXekpapajxekoXoXoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaafafafafafafafafaeaeaeaeaeaeaepuaeaeaeaeafafafafafafoBoBoBoBoBoBoBnfpXaequaepXaeaeaeafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoXoXoXekqAqBqAekoXoXoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafaeaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaafafafafafafafafafafaeaeaeaeaepuaeaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBnfoBaepGoBafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoXoXekqDqloxekoXoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaeaeqvaeaeaeaeaeafafafaaaaaaaaaaaaaaaaaaafafafafafafafafafafafaeaeaepuaeaeafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoXoXoXqwqyqxoXoXoXoXbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafafnfafaeaenlnlafacacaaaaaaaaaaaaaaaaaaafafafafafafafafafafafafaeaepuaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjqzbjbjbjbjbjbjbjbjbjbjoXoXoXoXoXqCoXoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafafafafafafacacaaaaaaaaaaaaaaaaaaafafafafafafafafafafafafaeaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaccsacaaaaaaaaaaaaaaaaaaaaaaaaqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjqzqzbjbjbjbjbjbjbjbjbjoXoXoXoXoXoXoXqCoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjacacacacacacacacacacacaaaaaaaabjbjaaaaaaaaafafafafoBoBoBoBafafafaeaeqEqFaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaaaacacacacqzqzqzqzqzqzqzqzqzqzqzqzbjbjbjbjbjbjbjbjqzqzqzbjbjbjbjbjbjbjbjoXoXoXoXqCoXoXoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaacbjbjaaaaaaafafafafoBoBoBoBafafafaeaeaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaacacacacacqzqzqzqzqzqzqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoXoXoXoXoXoXoXoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaabjbjaaaaaaafafafafoBoBoBoBafafafaeaeaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaacacacacacacqMqMqMqMqMqMqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjoXoXoXoXoXoXoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaafafafoBoBoBoBafafafaeaeaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaacqMqMqMqMqMqMqNqOqPqQqMqzqzqzqzqzqzqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjoXoXoXoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaafafafoBoBoBoBafafafaeaeaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaacqMqRqSqTqUqVqWqXqXqYqMqVqVqVqVqVqVqVqVqVqVqVbjbjbjbjbjbjbjbjbjbjbjbjbjoXoXoXbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaafafafoBoBoBoBafafafafaeaepuaeaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqMqZrarbrcqVrdqXrerfrgrhririqVqGqIqHqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaacaaaaaaaaafafafoBoBoBoBafafafafaeaepuaeaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMqMqMqVrmrnrmqVrorpqVqVqMqMqMrqqMrrqHqHqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaabjbjbjaaaaafafafafoBoBoBoBoBafafaeaeqEqJqFaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMrtruqVrvqXqWrwrxqXryqVrzrArArirBriqHqHqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaabjbjbjaaaaaaafafafoBoBoBoBoBafafaeaeaeaepuaeqKnfafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagqMrDrErFrGrHrIqXrvqXqXrJrArAririririqLqHqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaafafafoBoBoBoBoBafafafaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMrLrMrNrOrHrPqXrvrQqXqVrRrSrSririqGqGqHqHqzqzqzbjqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaafafoBoBoBoBoBafafafaeaerjrlrkaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMqVqVqVrUqXrVrHrWrmrXrYrZrZsasbriqGqGrsqHqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaafafoBoBoBoBoBafafafaeaerCrTrKaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafaaafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasdsesdsfsgqXrvqXqXshsiqVsjskslririqGqGqGqHscqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaafafafoBoBoBoBoBafafaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqMqMqMqMsnqXrvrmsoqVspqVrAsqrAqGqGqGqGsrqVqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaacsaaaaafafafoBoBoBoBoBafafaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaccsacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaassststsuqXqXsvswsxswsyqVszsAqGqGqGqGqLqHqHqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaabjcscsaaaaafafoBoBoBoBoBafafaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasBsBsBsCsDsEsFsGsGsGqVsGsGsHqGqGqGqGqLqHqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaabjbjcsaaaaaaafafafafafoBafafafaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasIsJsKsLsMsNsOsPsQsRsSsTsUsVsWrAqGqGqGqHqHqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaafafafoBafafafaeaepuaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaasBsGsGsGsXsFsGsGsYsZtasGsGtbrAqGqGqHqHqzqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaafafoBafafafaeaepuaeaeafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaasBtctdtetftgthtitjtktltmtntotptqqHqHqzqzqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaasmsmaaaaaaaaaaaaafafoBafafafaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaccsacaaaaaaaaaaaaaaaaagtstttctutctvsGtwtxtxtytzsGqHqHqHqHqzqzqzqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaasmsmscaaaaaaaaaaaaafafoBafafafaeaeqEqFaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaatAtBtCtDtEtFsGtGtHtItJtzsGqHqzqzqzqzqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaascaaaaaaaaaaaaaaaaafafoBafafafaeaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaatKtLtMsBsBsBsGsGsGsGsGsGsGsGsGsGsGsGsGsGsGsGsGsGbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafafagagagagagagagagafafoBoBafafafnftraepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaccsacacaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacqzqzqzqzqzqzqzqzqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaftOtOtOtOtOtOtOtOafafoBoBafafafafaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaatPacacacacacacacacqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzqzbjbjbjbjbjbjbjbjbjtNbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafagagagagagagagagafafoBoBafafafaeaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjtNbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaafafoBoBafafafaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacaaaaaaaaaaaaaaaaaaafafoBoBafafafaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacaaaaaaaaaaaaaaaaaaafafoBoBafafafafaeaerjrlrkaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjtNbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaafafoBoBafafafafaeaerCrTrKaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaafafoBoBafafafafafaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafoBoBafafafafafaetRtQaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafaepuaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaacbjcsacacaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafaeaepuaeafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaacacbjbjacacaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafaeaepunXnfafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacacbjacaaaaaaaaaaaaaaaaaaaaaaacbjacacacaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafaeaetRtQaeafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacaaaaaaaaaaaaaaacacbjacacacaaaaaaaaacbjbjacaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafaeaepuaeaeafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccsbjacaaaaaaaaaaaaaaacacbjbjacacaaaaaaaaaccsbjacaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaeaeaeaepuaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacaaaaaaaaaaaaaaaaaccsbjacacaaaaaaaaacbjbjacaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaepuaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaacbjbjacacacaaaaaaacacacacacacaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaepuaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaepuaeaeaeafafafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaepuaeaeaeafafafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaepuaeaeaeafafafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaepuaeaeaeaeafafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaacacbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaepuaeaeaeaeaeaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaepuaerjrkaeaeaeaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccsacacaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaaaaaaaaaaaaaacacbjbjacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeqEqJtStTqJqJqJqFaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacacacacacaaaaaaaaaaaaacacbjcsbjacaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaerCrKaeaeaepuaeaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaacacacbjacaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaafafaeaeaeaeaeaeaeaeaeaeqEqJqFaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafafafaeaeaeaeaeaeaeaepuaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjacacaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjacacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafafaeaeaeaepuaeaeaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacagagagagagagagagagagagafafafafafafafafafafafaeaeqEqJqJqFaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaacaccsacaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacactOtOtOtOtOtOtOtOtOtOtOtOtOtOafafafafafafafafafaeaeaeaeaepuaeaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacagagagagagagagagagagagagagagagagafafafafafafafafaeaeaeaeaeqEqJqJqFaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaacbjbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacacaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafafafaeaeaeaeaepuaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaacacacacacacacacaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaabjaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafafafafafaeaeaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjacacaaaaacaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaoXbjbjbjbjoXoXaaaaaaaaaaaaaaafafafafafafafafafafafafafafaeqEqJqFaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaoXoXbjbjbjoXoXoXaaaaaaaaaaaaaaafafafoBoBoBoBoBoBafafafafafaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaoXoXbjbjbjoXoXaaaaaaaaaaaaaaaaafafafoBoBoBoBoBoBafafafafafafaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaoXoXbjbjbjoXoXaaaaaaaaaaaaaaafafafoBoBoBoBoBoBoBafafafafafafaerjrlrkaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaabjbjbjoXoXaaaaaaaaaaaaafafafafoBoBoBoBoBoBoBoBafafafafafafaerCrTrKaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaacacacacacacacacaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafoBoBoBoBoBoBoBoBafafafafafafafaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaactNacaaaaaaaaaaaaaaaaaaaaaaaaacaaacacacacaaaaacacacaaaaaaaaaaacacacacacacacacaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafoBoBoBoBoBoBoBoBoBafafafafafaeaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjacacacacbjacaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafafoBoBoBoBoBoBoBoBoBafafafaeaeaeaeaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjacacacacacaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoBoBoBoBoBoBoBoBoBafafafaetRqJqJqJqJtQaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaafafafafoBoBoBoBoBoBoBoBoBafafafaepuaeaeaeaetUaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaccsacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaafafafafoBoBoBoBoBoBoBoBoBafafafaepuaeaeaeaenfafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjacacacacacaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaafafafafoBoBoBoBoBoBoBoBafafafaepuaeaeaeafafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacacacacaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaafafafafoBoBoBoBoBoBoBafafafaepuaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaacbjbjacacacaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaatVacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBoBoBoBafafafaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacaaaaaaaaacacbjacaaacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBoBafafafaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaccsacaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBafafafaeaepuaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacbjacacaaaaaaaaacbjbjbjacacaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoBoBafafafaetRtQaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaacacbjacaaaaaaacacacacacacaaaaaaaaaaaaacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoBoBafafaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaacacacaaaaaaacacacaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoBafafnftrrjrlrkaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaafafafoBoBafafafaerCrTrKaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaafafafoBoBoBoBafafafaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaeaeafaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacafafagagagagagagagagagagafafafoBoBoBoBafafafaeaepuaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaacacacaaaaaaaaaaaaaeaeaeaeaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacafafaftOtOtOtOtOtOtOtOtOafafafafoBoBoBoBafafafafaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacaaaaaaaaaaaaacbjacaaaaaaaaaaaaaeaeaeaeaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacafagagagagagtWtWagagagafafafafoBoBoBoBafafafafaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaacaccsacacaaaaaaaaaeaeaeaeafafafafaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaatXtXtXtXaaaaaaafafafafoBoBoBoBafafafafaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaacacacacacacaaaaaaaaaeaeaeaeaeafafafaaaaaaacacacbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaatXtXtXtXaaaaaaaaafafafafoBoBoBoBafafafaeaepuaeaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaacacaaaaaaaaacacacaaaaaaaaaaaaaaaeaeaeaeaeafafaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaatXtXaaaaaaaaaaafafafafoBoBoBoBafafafaeaepuaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjacacaaaaaaaaaaacacaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaapPaepPaeafafafaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafoBoBoBafafaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjbjbjbjbjacaaaaaaaaaaacacaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaapPufpPaeafaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBafafafaeaeaepuaeaeafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaccsbjbjbjacacaaaaaaaaaaacacacaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaaaaatYuatZaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBafafaeaeaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacacaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaatYuaubaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBafafaeaeaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaeaepPpPucucucucucucucuduaubaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjumumumumumumumbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBafafaeaeaeaepunXnfafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacaaaaaaaaaaaaaaaaaaaaaeaeaeaeufueueueueueueueuguhubaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjumuqurusutuuumbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBoBafafafaeaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacbjacacacacaaaaaaaaaaaaaaaaafaeaeaepPpPqnqnqnqnqnqnuiuaujtWaaaaaaaaaaafacacbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjumuxuyuzuAuBumbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBoBafafafaeaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaacacacaaaaaaaaaaaaafafafaeaeaeaeaaaaaaaaaaaatYuaubaaaaaaaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjofulukbjuEumumumuFumumumbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaafafafafoBoBnfnfnfnfnfnfaeaepuaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaaaaaaaaaaaaaaaaaaaaacacafafaeaeaeaaaaaaaaaaaaaatYuaubaaaeaeaeaeaeafafacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjunukuobjuEuIuJuEuKuEafafacacacacacaaaaaaaaaaaaaaaaaaaaaaafafafafoBoBoBnfupuwuvuvuCaeaepuaeaeafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafafaeaeaaaaaaaaaaaaaauDuaubaeaeaeaeaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjofnfacuEuMuNuOuPuEaeafafacacacacaaaaaaaaaaaaaaaaaaaaafafafafoBoBoBoBnfuGuHuHuHuLaeaepuaeaeaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaapPufpPaeaeaeaeaeaeaeafafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjuQbjacuEuEuEuEuRuEaeaeafafnfafafaaaaaaaaaaaaaaaaaaaaaaafafafoBoBoBafnfuSuWuWuWuZaeaepuaeaeaeaeaeaeafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjacacaaaaaaaaaaaaaaaaaaaeaepPofpPaeaeaeaeaeaeaeaeafacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjvabjbjuEuIuTuEuUuVaeaeaeaevbaeafafaaaaaaaaaaaaaaaaaaaaafafafafafafafaeaeaeaeoaoaoaoaocoavhvcaeaeaeaeafafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaaaaaaaacacbjbjacaaaaaaaaaaaaaaaaaaaeaeaeaeofofofofuXuXuXaeaeaeafacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjvabjbjuEuMuNuYuKuVaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaaafafafafafafaeaeaeaeoaoCoEoDoGoFphaeaeaeaeaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacaccsacacacacaaaaaaaaaaaaaaacacacbjbjacaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaevdvevfaeaeaeafacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjacacacafafafafafafafacacacacacacacacbjbjbjbjbjbjbjbjbjbjuEvguEuEuEuEuEuEuKuVaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafafafaeaeaeaeoapipzpypAoFphaeaeaeaeaeaeaeaeafafafafafoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaacacacbjbjacaaaaaaaaaeaevkvkvkvkvkvkvlvlvlvkvmvkvkvkaeaeaeafacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacafafaeaeaeaeaeafafafafafacacacacacacacbjbjbjbjuEuEuEuEvnvovpuEuIvquEvruEuEuEuVuVuVuEaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafafaeaeaeaeoapSpUpTpApVphaeaeaeaeaeaeaeaeafafafafafoBoBoBoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacaaaaaaaaaaaaaaacacacacacaaaaafaeaeaevkvvvwvxvyvzvAvBvCvDvEvFvGvyrkaeaeafafafafacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacafafaeaeaeaeaeaeaeaeaeaeafafafafafacacacacbjbjbjuEvHvIvJvKvIvIuEuMuNvLuKuEvMvNvOvOvOuVaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaafafafaeaeaeaeqdqcqsqqwXvPvRvRvQvQaeaeaeaeaeaeafafafafoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaacacacaaaaacafaeaeaevkvSvTvUvyvTvVvTvTvWvXvYvGvZviaeaeaeaeaeafafafacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjacacafafnfaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafacacacacacacuEwbvIwcwdwewfuEuEuEuEuKuEvMwgwgwgwhuVaeaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeqdxwzgxFwXwiwjwjwkvQaevjaeaeaenXnfafafafoBoBoBoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacaaaaaaaaaaaaaaaaaaaaaaaaaaacafaeaeaevkwmvTvTwnvTvVwovTvTvywpwqvyrKaeaeaeaeaeaeaeafafafafacacacacacacbjbjbjbjbjbjbjbjbjacacafafaevbaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeafafafafacacacuEwrwswtvIwuwvwwwhwxwywzuEoTwgwBwCwDuVaeaeaeaeaeaeaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeaezRzRAAAzwXwGwHwIwJvQvQvQvQaeaeaeaeafafafafoBoBoBoBoBoBoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacafafaeaevkwKvTwLvEwMwNwOvTvkvkvkvkvkvmrjrkaeaeaeaeaeaeaeaeafafafacacacacacbjbjbjbjbjbjbjacacacafaeaeaeaeaeaeaeaeaeaeaerjrkaeaeaeaeaeaeaeaeaeafafacacwPuEuEuEwQuEuEwRwSwTwRwSuEuEuEuEuEwUuEuEuVuVaeaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaewFwFwVAMABwYwZxaxaxbxcxdxexcrkaeaeaenlafafafoBoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafaeaevkxfxgxhvyxixjxkxlxmxnxoxpxqxrtStTqJqJqJqJqJqFaeaeaeaeafafafacacacacacbjbjbjacacacacafafaeaetRqJqJqJqJqJqJqJqJtStTqJqJqJqJqFaeaeaeaeaeafacacacacacwQxsxtxuwgwDxvwhwDwwzJxxxywhwDwgxzxAuVuVuVxBxCxCxCxCxCxCxCxDxDxDxDxDxDxDwFwFwFxEwWBQxGxHxIxaxaxJxKxLxMxNvsaeaeaenlafafafoBoBoBoBoBoBafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafaeaevkvkvkvkvkxPxQxRvkvkxSvkvkvkvkrCrKaeaeaeaeaepuaeaeaeaeafaeafafacacacacacacacacacacafafaeaeaepuaeaeaeaeaeaeaeaerCrKaeaeaeaepuaeaeaeaeaeafafnfafafacuEuEuEuEwgwDxTxUxVwyxWxXxXxYxYxZxXyaybxXybycycycycycycycycydydydydydydydyeyfyeygyfyhyiyjykylymynxcyoypxcrKaeaeaeaeafafafafoBoBoBoBoBafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafaeaeaeaeaevkyqyrysytvknovtofaeaeaeaeaeqvaeaeaeqEqJqJqFaeaeaeaeafacacacacacacacacacacafaeaetRqJtQaeaeaeaeafaeaeqvaeaeaeaeaeaepuaeaeaeaeaeaeaevbaeafafafafafuEwgywyxyyyyyxyzyAyByyyyyCyxyDyEyEyEyFyFyFyFyFyFyFyFyGyGyGyGyGyGyHyIyIyIyJyKyLyMyNyOyPyOyOyOyOyOyOvuaeaeaeaenlafafafoBoBoBoBafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacafafaeaeaeaevkyRySyTyUvkaeaeaeaeaeaeafafnfafaeaeaeaeaepuaeaeaeaeaeafacacacacacafafafafafaetRtQaeaeaeafafafafafafnfaeaeaeaeaeaepuaeaeaeaeaeaeaeaeaeaeaeafafuEuEwRyVwRuEuEyWyXyYuEuEuEyZwRuEuVaeaeaeaaaaaaaaagaaaaaaagaaaaaaaaaaagaawFwFwWzazbzczdzezfBRzhziyOuvwaaeaeaeaeaeafafafoBoBoBoBafafafoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafafaeaeaevkvkvkvkvkvkaeaeafafafafafacacafafaeaeaeaepuaeaeaeaeaeaeafafafafafafaeaeaeaeaepuaeaeafafafacacacacacafaeaeaeaeaeaepuaeaeaerjrkaeaeaeaeaeaeaeafuEzkwAzmzluEzozpzqzrzsuEztzuzvuEaeaeaeaeaeaeaaaaagaaaaaaagagagagagagagagagwEzwzxzyzzzAzAzBzCzCzDzEwluLaeaeaeaeaeafafafoBoBoBafafoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafaeaeaeaeaeaeaeaeaeaeaeafacacacacacacacafafaeaeaeqEqJqJqJqFaeaeaeaeaeaeaeaeaeaeaeaeaepuaeafafacacacacacacacafafaeaeaeaeaeqEqJqJqJtStTqJqJqJqFaeaeaeaeuEzHzGzIznuEzKzLzLzMzNuEzOzPzQuEaeaeaeaeaeaeagagagagagagagaaaaaaaaaaagaaaawEzSzTzUzVzWzXzWzCzCzDzEwluLaeaeaeaeafafafafoBoBafafafoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafaeaeaeaeaeaeaeaeaeafafafacacacacacacacacafafafaeaeaeaeaeqEqFaeaerjrkaeaetRqJqJqJqJqJtQaeafacacacacbjbjbjacacafafafaeaeaeaeaeaeaerCrKaeaeaepuaeaeaeaewPuEuEuEuEuEzZAaAbAczNuEuEAdwRwPaeaeaeaeaeaeaaaaagaaaaaaagaaaaaaaaaaagaawFwFAeAfAgyOAhAiAjAkzhziyOuWuZaeaeaeaeafafafoBoBoBafafafafoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacafafafafaeaeaeaeafafafacacacacacacacacacacacacafafafaeqvaeaeqEqJqJtStTqJqJtQaeaeaeaeaeaeaeafacacacbjbjbjbjbjacacacafafafafaeaeaeaeaeaeaeaeaeqEqJqJqFaeaeaeaeaeaewPuEuEuEuEuEwPwlyuxOyvaeaeaeaeaeaaaaaaagaaaaaaagaaaaaaaaaaAowFApAqArAsAtwEAuAvAuAuAuAuAuAutraeaeaeafafafafoBoBafafafafoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacafafafafafafacacacacacacacacacacacacacacacacafafnfafaeaeaeaerCrKaeaeaeaeqvaeafafafafafacacbjbjbjbjbjbjbjacacacacacafafafafafafafafaeaeaeaeaepuaeaeaeaeaeaeaeaerCyQzjzjzjzjzFrKaeaeaeaeaeaeagagagagagagagagaaaaaaaahMhgwWBSwWwWAsADwEAEAFAGAHAIAJAKALaeaeaeaeafafafafoBoBafafafoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacacbjbjbjbjbjbjacacacacacacafafaeaeaeaeaeaeaeaeaenfafafacacacacacbjbjbjbjbjbjbjbjacacacacacacacacacacacacafafaeaeaeaepuaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaaaaaaaaaaaaagaaaaaaaaaawFwFwFACwWANAOAPAQARASATAUAVAVALaeaeaeqKnfafafafoBafafafafoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeafafafafafacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafaeaeaeaeqEqJqJqJqJqJqJqJqJqJqJqJqJqJqJqJqJqJqFaeaeaeaeaeaeaaaaaaaaaaagaaaaaaaaaaagaawFwFwWAsAXAYAZBaAVAVBbBbBcAuaeaeaeaeafafafafafafafafoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafafafacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaepuaerjrkaeaeaenfnfaaaaaaagaaaaaaaaaaagaaaawEBdAszUBeAVAVAVBfBgBgBhALaeaeaeaeafafafafafoBafafoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeaeqEqJtStTqJqJqJAmAlBkBkBkBkBkBkBkBkBkBkBkBkBlBmBnBowEBpBqBrAVBsBsAVALaeaeaeafafafafoBoBoBafoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacafafafaeaeaeaeaeaeaeafafaeaeaeaeaeaeaeaeaerCrKaeaeaenfnfagaaaaaaaaaaaaaaaaaaaaaaBtBtBuBvBtAuAuAuALALALALAuaeaeafafafafoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacafafafafafafafafafafnftraeaeaeaeaeaeaeaeaeaeaeaeaeaeagaaaaaaaaaaaaaaaaaaaaaaBtBwBxByBzBABBBtaeaeaeaeaeaeaeafafafafoBoBoBoBoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacafaeaeaeaeaeaeaeaeaeaeaeaeaeqvaeaeaaaaaaaaaaaaaaaaaaaaaaBtBCBDBEBFzYBGBtaeaeaeaeaeaeaeafafafoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacafaeaeaeaeaeaeaeaeaeaeaeaeafnfafafaaaaaaaaaaaaaaaaaaaaaaBtBHBIBJBKzYBLBtaeaeaeaenXnfafafafoBoBoBoBoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacafafaeaeaeaeaeaeaeaeaeafacacafafafaaaaaaaaaaaaaaaaaaaaaaBtBMBNBNBNBNBOBtaeaeaeaeaeafafafoBoBoBoBoBoBoBafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacafafafafafafafafafafafacacacafafafaaaaaaaaaaaaaaaaaaaaBtBtBtBtBtBtBtBtaeaeaeaeafafafoBoBoBoBoBoBoBafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaeaeaeaeaeaeaeaeaeaeaeafafafafoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacacacacacacacacbjbjbjbjbjacacaaaaaaaaaaaaaaaaaaaaaeaeaeaetUaeaeaeaeafafafafoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaeaeafafnfafafafafafafafoBoBoBoBoBoBafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaeaeafafafafafafoBoBoBoBoBoBoBafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaeaeafafafafoBoBoBoBoBoBoBafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaeaeafafafoBoBoBoBoBafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeafafafafoBoBoBafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaeaeaeaeafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjcsbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjbjacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
diff --git a/_maps/map_files/cyberiad/z6.dmm b/_maps/map_files/cyberiad/z6.dmm
index e47f28bf95c..5a0231c9394 100644
--- a/_maps/map_files/cyberiad/z6.dmm
+++ b/_maps/map_files/cyberiad/z6.dmm
@@ -22,7 +22,7 @@
"av" = (/turf/simulated/floor/plating/airless,/area/space)
"aw" = (/obj/structure/closet/emcloset,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
"ax" = (/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
-"ay" = (/obj/machinery/newscaster{pixel_y = 32},/obj/machinery/media/jukebox/dj,/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
+"ay" = (/obj/machinery/newscaster{pixel_y = 32},/turf/simulated/floor/plasteel{tag = "icon-cafeteria (NORTHEAST)"; icon_state = "cafeteria"; dir = 5},/area/djstation)
"az" = (/turf/simulated/floor/plasteel/airless,/area/space)
"aA" = (/turf/simulated/wall/r_wall,/area/space)
"aB" = (/obj/structure/table,/obj/machinery/cell_charger,/turf/simulated/floor/plasteel{icon_state = "bar"},/area/djstation)
diff --git a/_maps/map_files/templates/shelter_1.dmm b/_maps/map_files/templates/shelter_1.dmm
new file mode 100644
index 00000000000..19071ada955
--- /dev/null
+++ b/_maps/map_files/templates/shelter_1.dmm
@@ -0,0 +1,23 @@
+"a" = (/turf/simulated/wall/survival,/area/survivalpod)
+"b" = (/obj/structure/sign/mining/survival{tag = "icon-survival (NORTH)"; icon_state = "survival"; dir = 1},/turf/simulated/wall/survival,/area/survivalpod)
+"c" = (/obj/structure/fans,/turf/simulated/floor/pod,/area/survivalpod)
+"d" = (/obj/machinery/smartfridge/survival_pod/loaded,/turf/simulated/floor/pod,/area/survivalpod)
+"e" = (/obj/item/device/gps/computer,/turf/simulated/floor/pod,/area/survivalpod)
+"f" = (/obj/structure/sign/mining/survival{dir = 8},/turf/simulated/wall/survival,/area/survivalpod)
+"g" = (/obj/machinery/sleeper/survival_pod,/turf/simulated/floor/pod,/area/survivalpod)
+"h" = (/turf/simulated/floor/pod,/area/survivalpod)
+"i" = (/obj/structure/stool/bed/pod,/obj/item/weapon/bedsheet/brown,/turf/simulated/floor/pod,/area/survivalpod)
+"j" = (/obj/structure/sign/mining/survival{tag = "icon-survival (EAST)"; icon_state = "survival"; dir = 4},/turf/simulated/wall/survival,/area/survivalpod)
+"k" = (/obj/structure/table/survival_pod,/turf/simulated/floor/pod,/area/survivalpod)
+"l" = (/obj/structure/tubes,/obj/structure/stool/bed/chair/comfy/black{dir = 8},/turf/simulated/floor/pod,/area/survivalpod)
+"m" = (/obj/structure/sign/mining/survival,/turf/simulated/wall/survival,/area/survivalpod)
+"n" = (/obj/structure/fans/tiny,/obj/machinery/door/airlock/survival_pod,/turf/simulated/floor/pod,/area/survivalpod)
+"o" = (/obj/structure/sign/mining,/turf/simulated/wall/survival,/area/survivalpod)
+
+(1,1,1) = {"
+aabaa
+acdea
+fghij
+akhla
+amnoa
+"}
diff --git a/code/__DEFINES/genetics.dm b/code/__DEFINES/genetics.dm
index 97f797b2718..3828392f99e 100644
--- a/code/__DEFINES/genetics.dm
+++ b/code/__DEFINES/genetics.dm
@@ -107,3 +107,7 @@
#define GENE_INSTABILITY_MINOR 5
#define GENE_INSTABILITY_MODERATE 10
#define GENE_INSTABILITY_MAJOR 15
+
+#define GENETIC_DAMAGE_STAGE_1 80
+#define GENETIC_DAMAGE_STAGE_2 65
+#define GENETIC_DAMAGE_STAGE_3 35
diff --git a/code/__DEFINES/logging.dm b/code/__DEFINES/logging.dm
new file mode 100644
index 00000000000..e69de29bb2d
diff --git a/code/__DEFINES/misc.dm b/code/__DEFINES/misc.dm
index 37c45ba954d..85221f5cf3c 100644
--- a/code/__DEFINES/misc.dm
+++ b/code/__DEFINES/misc.dm
@@ -1,5 +1,3 @@
-#define TRANSITIONEDGE 7 //Distance from edge to move to another z-level
-
//Object specific defines
#define CANDLE_LUM 3 //For how bright candles are
@@ -20,6 +18,11 @@
#define CLICK_CD_POINT 10
#define CLICK_CD_RESIST 20
+//Sizes of mobs, used by mob/living/var/mob_size
+#define MOB_SIZE_TINY 0
+#define MOB_SIZE_SMALL 1
+#define MOB_SIZE_HUMAN 2
+#define MOB_SIZE_LARGE 3
///
#define ROUNDSTART_LOGOUT_REPORT_TIME 6000 //Amount of time (in deciseconds) after the rounds starts, that the player disconnect report is issued.
@@ -160,6 +163,12 @@
#define MAX_STACK_SIZE 50
+//check_target_facings() return defines
+#define FACING_FAILED 0
+#define FACING_SAME_DIR 1
+#define FACING_EACHOTHER 2
+#define FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULAR 3 //Do I win the most informative but also most stupid define award?
+
//unmagic-strings for types of polls
#define POLLTYPE_OPTION "OPTION"
#define POLLTYPE_TEXT "TEXT"
@@ -270,4 +279,11 @@
// Sound
#define SOUND_MINIMUM_PRESSURE 10
-#define FALLOFF_SOUNDS 0.5
\ No newline at end of file
+#define FALLOFF_SOUNDS 0.5
+
+
+// Bluespace shelter deploy checks
+#define SHELTER_DEPLOY_ALLOWED "allowed"
+#define SHELTER_DEPLOY_BAD_TURFS "bad turfs"
+#define SHELTER_DEPLOY_BAD_AREA "bad area"
+#define SHELTER_DEPLOY_ANCHORED_OBJECTS "anchored objects"
diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm
index 8ac165cec6a..703b3e6b205 100644
--- a/code/__DEFINES/preferences.dm
+++ b/code/__DEFINES/preferences.dm
@@ -3,12 +3,11 @@
#define SOUND_MIDI 2
#define SOUND_AMBIENCE 4
#define SOUND_LOBBY 8
-#define SOUND_STREAMING 16
#define SOUND_HEARTBEAT 32
#define SOUND_BUZZ 64
#define SOUND_INSTRUMENTS 128
-#define SOUND_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|SOUND_STREAMING|SOUND_HEARTBEAT|SOUND_BUZZ|SOUND_INSTRUMENTS)
+#define SOUND_DEFAULT (SOUND_ADMINHELP|SOUND_MIDI|SOUND_AMBIENCE|SOUND_LOBBY|SOUND_HEARTBEAT|SOUND_BUZZ|SOUND_INSTRUMENTS)
#define CHAT_OOC 1
#define CHAT_DEAD 2
diff --git a/code/__DEFINES/process_scheduler.dm b/code/__DEFINES/process_scheduler.dm
index d9c8f106efc..f1e30c23ed3 100644
--- a/code/__DEFINES/process_scheduler.dm
+++ b/code/__DEFINES/process_scheduler.dm
@@ -7,13 +7,12 @@
#define PROCESS_STATUS_HUNG 6
// Process time thresholds
-#define PROCESS_DEFAULT_HANG_WARNING_TIME 300 // 30 seconds
-#define PROCESS_DEFAULT_HANG_ALERT_TIME 600 // 60 seconds
-#define PROCESS_DEFAULT_HANG_RESTART_TIME 900 // 90 seconds
-#define PROCESS_DEFAULT_SCHEDULE_INTERVAL 50 // 50 ticks
-#define PROCESS_DEFAULT_SLEEP_INTERVAL 8 // 1/8th of a tick
+#define PROCESS_DEFAULT_HANG_WARNING_TIME 300 // 30 seconds
+#define PROCESS_DEFAULT_HANG_ALERT_TIME 600 // 60 seconds
+#define PROCESS_DEFAULT_HANG_RESTART_TIME 900 // 90 seconds
+#define PROCESS_DEFAULT_SCHEDULE_INTERVAL 50 // 50 ticks
+#define PROCESS_DEFAULT_SLEEP_INTERVAL 20 // 20% of a tick
+#define PROCESS_DEFAULT_DEFER_USAGE 90 // 90% of a tick
-// SCHECK macros
-// This references src directly to work around a weird bug with try/catch
-#define SCHECK_EVERY(this_many_calls) if(++src.calls_since_last_scheck >= this_many_calls) sleepCheck()
-#define SCHECK sleepCheck()
+// Sleep check macro
+#define SCHECK if(world.tick_usage >= next_sleep_usage) defer()
diff --git a/code/__DEFINES/qdel.dm b/code/__DEFINES/qdel.dm
index 3042ff6d302..b623ce72158 100644
--- a/code/__DEFINES/qdel.dm
+++ b/code/__DEFINES/qdel.dm
@@ -6,4 +6,7 @@
#define QDEL_HINT_HARDDEL_NOW 4 //qdel should assume this object won't gc, and hard del it post haste.
#define QDEL_HINT_PUTINPOOL 5 //qdel will put this object in the atom pool.
#define QDEL_HINT_FINDREFERENCE 6 //functionally identical to QDEL_HINT_QUEUE if TESTING is not enabled in _compiler_options.dm.
- //if TESTING is enabled, qdel will call this object's find_references() verb.
\ No newline at end of file
+ //if TESTING is enabled, qdel will call this object's find_references() verb.
+
+// A convenient wrapper around checking for qdeletion/non-existence
+#define exists(A) (A && !qdeleted(A))
diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm
index ba8b5127e8a..1c99c8d970c 100644
--- a/code/__DEFINES/role_preferences.dm
+++ b/code/__DEFINES/role_preferences.dm
@@ -28,7 +28,6 @@
#define ROLE_RAIDER "vox raider"
#define ROLE_TRADER "trader"
#define ROLE_VAMPIRE "vampire"
-#define ROLE_MUTINEER "mutineer"
// Role tags for EVERYONE!
#define ROLE_BORER "cortical borer"
#define ROLE_DEMON "slaughter demon"
@@ -62,7 +61,6 @@ var/global/list/special_roles = list(
// ROLE_HOG_CULTIST = /datum/game_mode/hand_of_god,
ROLE_RAIDER = /datum/game_mode/heist,
ROLE_VAMPIRE = /datum/game_mode/vampire,
- ROLE_MUTINEER = /datum/game_mode/mutiny,
ROLE_BORER,
ROLE_DEMON,
ROLE_SENTIENT,
diff --git a/code/__DEFINES/rolebans.dm b/code/__DEFINES/rolebans.dm
index c760bbf442c..dba57111150 100644
--- a/code/__DEFINES/rolebans.dm
+++ b/code/__DEFINES/rolebans.dm
@@ -12,7 +12,6 @@ var/global/list/antag_roles = list(
ROLE_SHADOWLING,
ROLE_RAIDER,
ROLE_VAMPIRE,
- ROLE_MUTINEER,
ROLE_BORER,
ROLE_DEMON,
ROLE_REVENANT,
diff --git a/code/__DEFINES/zlevel.dm b/code/__DEFINES/zlevel.dm
index e69de29bb2d..274fbb75f07 100644
--- a/code/__DEFINES/zlevel.dm
+++ b/code/__DEFINES/zlevel.dm
@@ -0,0 +1,12 @@
+#define Z_LEVEL_NORTH "1"
+#define Z_LEVEL_SOUTH "2"
+#define Z_LEVEL_EAST "4"
+#define Z_LEVEL_WEST "8"
+
+#define TRANSITIONEDGE 7 //Distance from edge to move to another z-level
+
+// Defining these here so everything is consistent
+#define TRANSITION_BORDER_NORTH (world.maxy - TRANSITIONEDGE - 1)
+#define TRANSITION_BORDER_SOUTH TRANSITIONEDGE
+#define TRANSITION_BORDER_EAST (world.maxx - TRANSITIONEDGE - 1)
+#define TRANSITION_BORDER_WEST TRANSITIONEDGE
diff --git a/code/__HELPERS/logging.dm b/code/__HELPERS/logging.dm
index ce6ce9d7650..3dd0f9235bd 100644
--- a/code/__HELPERS/logging.dm
+++ b/code/__HELPERS/logging.dm
@@ -98,7 +98,8 @@
/proc/log_after_setup(var/message)
if(ticker && ticker.current_state > GAME_STATE_SETTING_UP)
to_chat(world, "[message] ")
- log_to_dd(message)
+ log_to_dd(message)
+
// Helper procs for building detailed log lines
/proc/datum_info_line(var/datum/d)
diff --git a/code/__HELPERS/sanitize_values.dm b/code/__HELPERS/sanitize_values.dm
index 5020693a499..6777f43ff91 100644
--- a/code/__HELPERS/sanitize_values.dm
+++ b/code/__HELPERS/sanitize_values.dm
@@ -50,18 +50,3 @@
HSL[3] = min(HSL[3],0.4)
var/list/RGB = hsl2rgb(arglist(HSL))
return "#[num2hex(RGB[1],2)][num2hex(RGB[2],2)][num2hex(RGB[3],2)]"
-
-
-// Sanitize inputs to avoid SQL injection attacks
-/proc/sql_sanitize_text(var/text)
- text = replacetext(text, "'", "''")
- text = replacetext(text, ";", "")
- text = replacetext(text, "&", "")
- return text
-
-// Calls the above proc on each entry of a list to ensure its entries are clean
-/proc/sql_sanitize_text_list(var/list/l)
- var/list/new_list = l.Copy()
- for(var/text in new_list)
- sql_sanitize_text(text)
- return new_list
\ No newline at end of file
diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm
index e56ed3a4310..d5b75eb4c7c 100644
--- a/code/__HELPERS/text.dm
+++ b/code/__HELPERS/text.dm
@@ -15,6 +15,10 @@
// Run all strings to be used in an SQL query through this proc first to properly escape out injection attempts.
/proc/sanitizeSQL(var/t as text)
+ if(isnull(t))
+ return null
+ if(!istext(t))
+ t = "[t]" // Just quietly assume any non-texts are supposed to be text
var/sqltext = dbcon.Quote(t);
return copytext(sqltext, 2, lentext(sqltext));//Quote() adds quotes around input, we already do that
@@ -400,7 +404,7 @@ proc/checkhtml(var/t)
var/index = findtext(text, char)
var/keylength = length(char)
while(index)
- log_debug("Bad string given to dmm encoder! [text]")
+ log_runtime(EXCEPTION("Bad string given to dmm encoder! [text]"))
// Replace w/ underscore to prevent "{4;" from cheesing the radar
// Should probably also use canon text replacing procs
text = copytext(text, 1, index) + "_" + copytext(text, index+keylength)
diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm
index 005ef4c2fc9..7e4fca82c32 100644
--- a/code/__HELPERS/type2type.dm
+++ b/code/__HELPERS/type2type.dm
@@ -79,7 +79,7 @@
if(4.0) return EAST
if(8.0) return WEST
else
- log_to_dd("UNKNOWN DIRECTION: [direction]")
+ log_runtime(EXCEPTION("UNKNOWN DIRECTION: [direction]"))
/proc/dir2text(direction)
switch(direction)
diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm
index 6cd28a20a32..1e6aaa90a42 100644
--- a/code/__HELPERS/unsorted.dm
+++ b/code/__HELPERS/unsorted.dm
@@ -1355,20 +1355,19 @@ Standard way to write links -Sayu
return 1
-proc/check_target_facings(mob/living/initator, mob/living/target)
+/proc/check_target_facings(mob/living/initator, mob/living/target)
/*This can be used to add additional effects on interactions between mobs depending on how the mobs are facing each other, such as adding a crit damage to blows to the back of a guy's head.
Given how click code currently works (Nov '13), the initiating mob will be facing the target mob most of the time
That said, this proc should not be used if the change facing proc of the click code is overriden at the same time*/
- if(!!isliving(target) || target.lying || istype(target, /mob/living/silicon/pai))
+ if(!ismob(target) || target.lying)
//Make sure we are not doing this for things that can't have a logical direction to the players given that the target would be on their side
- return
-
+ return FACING_FAILED
if(initator.dir == target.dir) //mobs are facing the same direction
- return 1
- if(initator.dir + 4 == target.dir || initator.dir - 4 == target.dir) //mobs are facing each other
- return 2
+ return FACING_SAME_DIR
+ if(is_A_facing_B(initator, target) && is_A_facing_B(target, initator)) //mobs are facing each other
+ return FACING_EACHOTHER
if(initator.dir + 2 == target.dir || initator.dir - 2 == target.dir || initator.dir + 6 == target.dir || initator.dir - 6 == target.dir) //Initating mob is looking at the target, while the target mob is looking in a direction perpendicular to the 1st
- return 3
+ return FACING_INIT_FACING_TARGET_TARGET_FACING_PERPENDICULAR
atom/proc/GetTypeInAllContents(typepath)
@@ -1472,6 +1471,36 @@ var/mob/dview/dview_mob = new
return 1
return 0
+
+//Get the dir to the RIGHT of dir if they were on a clock
+//NORTH --> NORTHEAST
+/proc/get_clockwise_dir(dir)
+ . = angle2dir(dir2angle(dir)+45)
+
+//Get the dir to the LEFT of dir if they were on a clock
+//NORTH --> NORTHWEST
+/proc/get_anticlockwise_dir(dir)
+ . = angle2dir(dir2angle(dir)-45)
+
+
+//Compare A's dir, the clockwise dir of A and the anticlockwise dir of A
+//To the opposite dir of the dir returned by get_dir(B,A)
+//If one of them is a match, then A is facing B
+/proc/is_A_facing_B(atom/A, atom/B)
+ if(!istype(A) || !istype(B))
+ return 0
+ if(isliving(A))
+ var/mob/living/LA = A
+ if(LA.lying)
+ return 0
+ var/goal_dir = angle2dir(dir2angle(get_dir(B, A)+180))
+ var/clockwise_A_dir = get_clockwise_dir(A.dir)
+ var/anticlockwise_A_dir = get_anticlockwise_dir(B.dir)
+
+ if(A.dir == goal_dir || clockwise_A_dir == goal_dir || anticlockwise_A_dir == goal_dir)
+ return 1
+ return 0
+
//This is just so you can stop an orbit.
//orbit() can run without it (swap orbiting for A)
//but then you can never stop it and that's just silly.
diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm
index fa1d696a067..a476fbc78d5 100644
--- a/code/_onclick/click.dm
+++ b/code/_onclick/click.dm
@@ -221,7 +221,7 @@
A.ShiftClick(src)
return
/atom/proc/ShiftClick(var/mob/user)
- if(user.client && user.client.eye == user)
+ if(user.client && get_turf(user.client.eye) == get_turf(user))
user.examinate(src)
return
@@ -263,12 +263,13 @@
/atom/proc/AltClick(var/mob/user)
var/turf/T = get_turf(src)
- if(T && user.TurfAdjacent(T))
- if(user.listed_turf == T)
- user.listed_turf = null
- else
+ if(T)
+ if(user.TurfAdjacent(T))
user.listed_turf = T
user.client.statpanel = T.name
+ // If we had a method to force a `Stat` update, it would go here
+ else
+ user.listed_turf = null
return
/mob/proc/TurfAdjacent(var/turf/T)
diff --git a/code/_onclick/item_attack.dm b/code/_onclick/item_attack.dm
index 3516c02a2ae..1fa83b66513 100644
--- a/code/_onclick/item_attack.dm
+++ b/code/_onclick/item_attack.dm
@@ -33,11 +33,19 @@
var/messagesource = M
if(can_operate(M)) //Checks if mob is lying down on table for surgery
- if(istype(src,/obj/item/robot_parts))//popup ovveride for direct attach
+ if(istype(src,/obj/item/robot_parts))//popup override for direct attach
if(!attempt_initiate_surgery(src, M, user,1))
return 0
else
return 1
+ if(istype(src,/obj/item/organ/external))
+ var/obj/item/organ/external/E = src
+ if(E.robotic == 2) // Robot limbs are less messy to attach
+ if(!attempt_initiate_surgery(src, M, user,1))
+ return 0
+ else
+ return 1
+
if(istype(src,/obj/item/weapon/screwdriver) && M.get_species() == "Machine")
if(!attempt_initiate_surgery(src, M, user))
return 0
diff --git a/code/_onclick/rig.dm b/code/_onclick/rig.dm
index 31e6f287564..41bf57a14f8 100644
--- a/code/_onclick/rig.dm
+++ b/code/_onclick/rig.dm
@@ -25,7 +25,7 @@
to_chat(src, "Hardsuit activation mode set to control-click.")
else
// should never get here, but just in case:
- log_debug("Bad hardsuit click mode: [hardsuit_click_mode] - expected 0 to [MAX_HARDSUIT_CLICK_MODE]")
+ log_runtime(EXCEPTION("Bad hardsuit click mode: [hardsuit_click_mode] - expected 0 to [MAX_HARDSUIT_CLICK_MODE]"), src)
to_chat(src, "Somehow you bugged the system. Setting your hardsuit mode to middle-click.")
hardsuit_click_mode = MIDDLE_CLICK
diff --git a/code/controllers/ProcessScheduler/core/process.dm b/code/controllers/ProcessScheduler/core/process.dm
index 24fde08e2d8..ed33a738bf3 100644
--- a/code/controllers/ProcessScheduler/core/process.dm
+++ b/code/controllers/ProcessScheduler/core/process.dm
@@ -48,7 +48,10 @@
// This controls how often the process will yield (call sleep(0)) while it is running.
// Every concurrent process should sleep periodically while running in order to allow other
// processes to execute concurrently.
- var/tmp/sleep_interval
+ var/tmp/sleep_interval = PROCESS_DEFAULT_SLEEP_INTERVAL
+
+ // Defer usage; the tick usage at which this process will defer until the next tick
+ var/tmp/defer_usage = PROCESS_DEFAULT_DEFER_USAGE
// hang_warning_time - this is the time (in 1/10 seconds) after which the server will begin to show "maybe hung" in the context window
var/tmp/hang_warning_time = PROCESS_DEFAULT_HANG_WARNING_TIME
@@ -59,19 +62,13 @@
// hang_restart_time - After this much time(in 1/10 seconds), the server will automatically kill and restart the process.
var/tmp/hang_restart_time = PROCESS_DEFAULT_HANG_RESTART_TIME
- // How many times in the current run has the process deferred work till the next tick?
- var/tmp/cpu_defer_count = 0
-
- // How many SCHECKs have been skipped (to limit btime calls)
- var/tmp/calls_since_last_scheck = 0
+ // Number of deciseconds to delay before starting the process
+ var/start_delay = 0
/**
* recordkeeping vars
*/
- // Records the time (1/10s timeoftick) at which the process last finished sleeping
- var/tmp/last_slept = 0
-
// Records the time (1/10s timeofgame) at which the process last began running
var/tmp/run_start = 0
@@ -85,11 +82,29 @@
var/tmp/last_object
+ // How many times in the current run has the process deferred work till the next tick?
+ var/tmp/cpu_defer_count = 0
+
// Counts the number of times an exception has occurred; gets reset after 10
var/tmp/list/exceptions = list()
- // Number of deciseconds to delay before starting the process
- var/start_delay = 0
+ // The next tick_usage the process will sleep at
+ var/tmp/next_sleep_usage
+
+ // Last run duration, in seconds
+ var/tmp/last_run_time = 0
+
+ // Last 20 run durations
+ var/tmp/list/last_twenty_run_times = list()
+
+ // Highest run duration, in seconds
+ var/tmp/highest_run_time = 0
+
+ // Tick usage at start of current run (updates upon deferring)
+ var/tmp/tick_usage_start
+
+ // Accumulated tick usage from before each deferral
+ var/tmp/tick_usage_accumulated = 0
/datum/controller/process/New(var/datum/controller/processScheduler/scheduler)
..()
@@ -97,9 +112,6 @@
previousStatus = "idle"
idle()
name = "process"
- schedule_interval = 50
- sleep_interval = world.tick_lag / PROCESS_DEFAULT_SLEEP_INTERVAL
- last_slept = 0
run_start = 0
ticks = 0
last_task = 0
@@ -116,6 +128,10 @@
// Initialize defer count
cpu_defer_count = 0
+ // Prepare usage tracking (defer() updates these)
+ tick_usage_start = world.tick_usage
+ tick_usage_accumulated = 0
+
running()
main.processStarted(src)
@@ -123,11 +139,23 @@
/datum/controller/process/proc/finished()
ticks++
+ recordRunTime()
idle()
main.processFinished(src)
onFinish()
+/datum/controller/process/proc/recordRunTime()
+ // Convert from tick usage (100/tick) to seconds of CPU time used
+ var/total_usage = (tick_usage_accumulated + (world.tick_usage - tick_usage_start)) / 1000 * world.tick_lag
+
+ last_run_time = total_usage
+ if(total_usage > highest_run_time)
+ highest_run_time = total_usage
+ if(last_twenty_run_times.len == 20)
+ last_twenty_run_times.Cut(1, 2)
+ last_twenty_run_times += total_usage
+
/datum/controller/process/proc/doWork()
/datum/controller/process/proc/setup()
@@ -171,6 +199,7 @@
var/msg = "[name] process hung at tick #[ticks]. Process was unresponsive for [(TimeOfGame - run_start) / 10] seconds and was restarted. Last task: [last_task]. Last Object Type: [lastObjType]"
log_debug(msg)
message_admins(msg)
+ log_runtime(EXCEPTION(msg), src)
main.restartProcess(src.name)
@@ -179,6 +208,7 @@
var/msg = "[name] process was killed at tick #[ticks]."
log_debug(msg)
message_admins(msg)
+ log_runtime(EXCEPTION(msg), src)
//finished()
// Allow inheritors to clean up if needed
@@ -186,9 +216,8 @@
qdel(src)
-// Do not call this directly - use SHECK or SCHECK_EVERY
-/datum/controller/process/proc/sleepCheck(var/tickId = 0)
- calls_since_last_scheck = 0
+// Do not call this directly - use SHECK
+/datum/controller/process/proc/defer()
if(killed)
// The kill proc is the only place where killed is set.
// The kill proc should have deleted this datum, and all sleeping procs that are
@@ -199,15 +228,14 @@
handleHung()
CRASH("Process [name] hung and was restarted.")
- if(main.getCurrentTickElapsedTime() > main.timeAllowance)
+ tick_usage_accumulated += (world.tick_usage - tick_usage_start)
+ if(world.tick_usage < defer_usage)
+ sleep(0)
+ else
sleep(world.tick_lag)
cpu_defer_count++
- last_slept = 0
- else
- if(TimeOfTick > last_slept + sleep_interval)
- // If we haven't slept in sleep_interval deciseconds, sleep to allow other work to proceed.
- sleep(0)
- last_slept = TimeOfTick
+ tick_usage_start = world.tick_usage
+ next_sleep_usage = min(world.tick_usage + sleep_interval, defer_usage)
/datum/controller/process/proc/update()
// Clear delta
@@ -234,14 +262,14 @@
return
/datum/controller/process/proc/getContext()
- return "[name] [main.averageRunTime(src)] [main.last_run_time[src]] [main.highest_run_time[src]] [ticks] \n"
+ return "[name] [getAverageRunTime()] [last_run_time] [highest_run_time] [ticks] \n"
/datum/controller/process/proc/getContextData()
return list(
"name" = name,
- "averageRunTime" = main.averageRunTime(src),
- "lastRunTime" = main.last_run_time[src],
- "highestRunTime" = main.highest_run_time[src],
+ "averageRunTime" = getAverageRunTime(),
+ "lastRunTime" = last_run_time,
+ "highestRunTime" = highest_run_time,
"ticks" = ticks,
"schedule" = schedule_interval,
"status" = getStatusText(),
@@ -289,7 +317,6 @@
name = target.name
schedule_interval = target.schedule_interval
sleep_interval = target.sleep_interval
- last_slept = 0
run_start = 0
times_killed = target.times_killed
ticks = target.ticks
@@ -312,21 +339,33 @@
disabled = 0
/datum/controller/process/proc/getAverageRunTime()
- return main.averageRunTime(src)
+ var/t = 0
+ var/c = 0
+ for(var/time in last_twenty_run_times)
+ t += time
+ c++
+
+ if(c > 0)
+ return t / c
+ return c
+
/datum/controller/process/proc/getLastRunTime()
- return main.getProcessLastRunTime(src)
+ return last_run_time
/datum/controller/process/proc/getHighestRunTime()
- return main.getProcessHighestRunTime(src)
+ return highest_run_time
/datum/controller/process/proc/getTicks()
return ticks
/datum/controller/process/proc/statProcess()
- var/averageRunTime = round(getAverageRunTime(), 0.1)/10
- var/lastRunTime = round(getLastRunTime(), 0.1)/10
- var/highestRunTime = round(getHighestRunTime(), 0.1)/10
- stat("[name]", "T#[getTicks()] | AR [averageRunTime] | LR [lastRunTime] | HR [highestRunTime] | D [cpu_defer_count]")
+ var/averageRunTime = round(getAverageRunTime(), 0.001)
+ var/lastRunTime = round(last_run_time, 0.001)
+ var/highestRunTime = round(highest_run_time, 0.001)
+ var/deferTime = round(cpu_defer_count / 10 * world.tick_lag, 0.01)
+ if(!statclick)
+ statclick = new (src)
+ stat("[name]", statclick.update("T#[getTicks()] | AR [averageRunTime] | LR [lastRunTime] | HR [highestRunTime] | D [deferTime]"))
/datum/controller/process/proc/catchException(var/exception/e, var/thrower)
if(istype(e)) // Real runtimes go to the real error handler
@@ -358,4 +397,4 @@
/datum/controller/process/proc/catchBadType(var/datum/caught)
if(isnull(caught) || !istype(caught) || !isnull(caught.gcDestroyed))
return // Only bother with types we can identify and that don't belong
- catchException("Type [caught.type] does not belong in process' queue")
\ No newline at end of file
+ catchException("Type [caught.type] does not belong in process' queue")
diff --git a/code/controllers/ProcessScheduler/core/processScheduler.dm b/code/controllers/ProcessScheduler/core/processScheduler.dm
index 8eb0b37c0b8..aed1a125d96 100644
--- a/code/controllers/ProcessScheduler/core/processScheduler.dm
+++ b/code/controllers/ProcessScheduler/core/processScheduler.dm
@@ -20,18 +20,6 @@ var/global/datum/controller/processScheduler/processScheduler
// Process last queued times (world time)
var/tmp/datum/controller/process/list/last_queued = new
- // Process last start times (real time)
- var/tmp/datum/controller/process/list/last_start = new
-
- // Process last run durations
- var/tmp/datum/controller/process/list/last_run_time = new
-
- // Per process list of the last 20 durations
- var/tmp/datum/controller/process/list/last_twenty_run_times = new
-
- // Process highest run time
- var/tmp/datum/controller/process/list/highest_run_time = new
-
// How long to sleep between runs (set to tick_lag in New)
var/tmp/scheduler_sleep_interval
@@ -41,22 +29,12 @@ var/global/datum/controller/processScheduler/processScheduler
// Setup for these processes will be deferred until all the other processes are set up.
var/tmp/list/deferredSetupList = new
- var/tmp/currentTick = 0
-
- var/tmp/timeAllowance = 0
-
- var/tmp/cpuAverage = 0
-
- var/tmp/timeAllowanceMax = 0
-
/datum/controller/processScheduler/New()
..()
// When the process scheduler is first new'd, tick_lag may be wrong, so these
// get re-initialized when the process scheduler is started.
// (These are kept here for any processes that decide to process before round start)
scheduler_sleep_interval = world.tick_lag
- timeAllowance = world.tick_lag * 0.5
- timeAllowanceMax = world.tick_lag
/datum/controller/processScheduler/Destroy()
..()
@@ -92,20 +70,12 @@ var/global/datum/controller/processScheduler/processScheduler
isRunning = 1
// tick_lag will have been set by now, so re-initialize these
scheduler_sleep_interval = world.tick_lag
- timeAllowance = world.tick_lag * 0.5
- timeAllowanceMax = world.tick_lag
updateStartDelays()
spawn(0)
process()
/datum/controller/processScheduler/proc/process()
- updateCurrentTickData()
-
- for(var/i=world.tick_lag,i highest_run_time[process])
- highest_run_time[process] = time
-
- var/list/lastTwenty = last_twenty_run_times[process]
- if(lastTwenty.len == 20)
- lastTwenty.Cut(1, 2)
- lastTwenty.len++
- lastTwenty[lastTwenty.len] = time
-
-/**
- * averageRunTime
- * returns the average run time (over the last 20) of the process
- */
-/datum/controller/processScheduler/proc/averageRunTime(var/datum/controller/process/process)
- var/lastTwenty = last_twenty_run_times[process]
-
- var/t = 0
- var/c = 0
- for(var/time in lastTwenty)
- t += time
- c++
-
- if(c > 0)
- return t / c
- return c
-
-/datum/controller/processScheduler/proc/getProcessLastRunTime(var/datum/controller/process/process)
- return last_run_time[process]
-
-/datum/controller/processScheduler/proc/getProcessHighestRunTime(var/datum/controller/process/process)
- return highest_run_time[process]
-
/datum/controller/processScheduler/proc/getStatusData()
var/list/data = new
@@ -342,33 +224,12 @@ var/global/datum/controller/processScheduler/processScheduler
var/datum/controller/process/process = nameToProcessMap[processName]
process.disable()
-/datum/controller/processScheduler/proc/getCurrentTickElapsedTime()
- if(world.time > currentTick)
- updateCurrentTickData()
- return 0
- else
- return TimeOfTick
-
-/datum/controller/processScheduler/proc/updateCurrentTickData()
- if(world.time > currentTick)
- // New tick!
- currentTick = world.time
- updateTimeAllowance()
- cpuAverage = (world.cpu + cpuAverage + cpuAverage) / 3
-
-/datum/controller/processScheduler/proc/updateTimeAllowance()
- // Time allowance goes down linearly with world.cpu.
- var/tmp/error = cpuAverage - 100
- var/tmp/timeAllowanceDelta = SIMPLE_SIGN(error) * -0.5 * world.tick_lag * max(0, 0.001 * abs(error))
-
- //timeAllowance = world.tick_lag * min(1, 0.5 * ((200/max(1,cpuAverage)) - 1))
- timeAllowance = min(timeAllowanceMax, max(0, timeAllowance + timeAllowanceDelta))
-
/datum/controller/processScheduler/proc/statProcesses()
if(!isRunning)
stat("Processes", "Scheduler not running")
return
- stat("Processes", "[processes.len] (R [running.len] / Q [queued.len] / I [idle.len])")
- stat(null, "[round(cpuAverage, 0.1)] CPU, [round(timeAllowance, 0.1)/10] TA")
+ if(!statclick)
+ statclick = new (src)
+ stat("Processes", statclick.update("[processes.len] (R [running.len] / Q [queued.len] / I [idle.len])"))
for(var/datum/controller/process/p in processes)
p.statProcess()
diff --git a/code/controllers/Processes/machinery.dm b/code/controllers/Processes/machinery.dm
index 85007e4f492..268e1c073a2 100644
--- a/code/controllers/Processes/machinery.dm
+++ b/code/controllers/Processes/machinery.dm
@@ -38,7 +38,7 @@
catchBadType(M)
machine_processing -= M
- SCHECK_EVERY(100)
+ SCHECK
/datum/controller/process/machinery/proc/process_power()
for(last_object in deferred_powernet_rebuilds)
diff --git a/code/controllers/Processes/timer.dm b/code/controllers/Processes/timer.dm
index de68a01ef51..711412608ba 100644
--- a/code/controllers/Processes/timer.dm
+++ b/code/controllers/Processes/timer.dm
@@ -62,7 +62,10 @@ var/global/datum/controller/process/timer/timer_master
event.thingToCall = thingToCall
event.procToCall = procToCall
event.timeToRun = world.time + wait
- event.hash = jointext(args, null)
+ var/hashlist = args.Copy()
+
+ hashlist[1] = "[thingToCall](\ref[thingToCall])"
+ event.hash = jointext(hashlist, null)
if(args.len > 4)
event.argList = args.Copy(5)
diff --git a/code/controllers/configuration.dm b/code/controllers/configuration.dm
index 6b1d1d8e19f..88b631f5c18 100644
--- a/code/controllers/configuration.dm
+++ b/code/controllers/configuration.dm
@@ -86,7 +86,6 @@
var/donationsurl = "http://example.org"
var/repositoryurl = "http://example.org"
- var/media_base_url = "http://example.org"
var/overflow_server_url
var/forbid_singulo_possession = 0
@@ -484,9 +483,6 @@
if("assistant_ratio")
config.assistantratio = text2num(value)
- if("media_base_url")
- media_base_url = value
-
if("allow_drone_spawn")
config.allow_drone_spawn = text2num(value)
diff --git a/code/controllers/master_controller.dm b/code/controllers/master_controller.dm
index f013e4e817c..2dc0e38e66c 100644
--- a/code/controllers/master_controller.dm
+++ b/code/controllers/master_controller.dm
@@ -15,6 +15,9 @@ var/global/pipe_processing_killed = 0
var/iteration = 0
var/processing_interval = 0
+ // Dummy object to let us click it to debug while in the stat panel
+ var/obj/effect/statclick/debug/statclick
+
/datum/controller/proc/recover() // If we are replacing an existing controller (due to a crash) we attempt to preserve as much as we can.
/datum/controller/game_controller
diff --git a/code/datums/action.dm b/code/datums/action.dm
index 8457a7fc825..446b50243ae 100644
--- a/code/datums/action.dm
+++ b/code/datums/action.dm
@@ -145,6 +145,9 @@
/datum/action/item_action/startchainsaw
name = "Pull The Starting Cord"
+/datum/action/item_action/print_report
+ name = "Print Forensic Report"
+
/datum/action/item_action/toggle_gunlight
name = "Toggle Gunlight"
@@ -216,6 +219,9 @@
/datum/action/item_action/halt
name = "HALT!"
+/datum/action/item_action/selectphrase
+ name = "Change Phrase"
+
/datum/action/item_action/hoot
name = "Hoot"
@@ -241,6 +247,15 @@
name = "Adjust [target.name]"
button.name = name
+/datum/action/item_action/pontificate
+ name = "Pontificate Evilly"
+
+/datum/action/item_action/tip_fedora
+ name = "Tip Fedora"
+
+/datum/action/item_action/flip_cap
+ name = "Flip Cap"
+
/datum/action/item_action/switch_hud
name = "Switch HUD"
diff --git a/code/datums/datacore.dm b/code/datums/datacore.dm
index f9c3ce39b08..26738b137fe 100644
--- a/code/datums/datacore.dm
+++ b/code/datums/datacore.dm
@@ -129,6 +129,7 @@
proc/get_id_photo(var/mob/living/carbon/human/H)
var/icon/preview_icon = null
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
+ var/obj/item/organ/internal/eyes/eyes_organ = H.get_int_organ(/obj/item/organ/internal/eyes)
var/g = "m"
if(H.gender == FEMALE)
@@ -170,7 +171,12 @@ proc/get_id_photo(var/mob/living/carbon/human/H)
var/icon/face_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = "bald_s")
if(!(H.species.bodyflags & NO_EYES))
var/icon/eyes_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = H.species ? H.species.eyes : "eyes_s")
- eyes_s.Blend(rgb(H.r_eyes, H.g_eyes, H.b_eyes), ICON_ADD)
+ if(!eyes_organ)
+ return
+ var/eye_red = eyes_organ.eye_colour[1]
+ var/eye_green = eyes_organ.eye_colour[2]
+ var/eye_blue = eyes_organ.eye_colour[3]
+ eyes_s.Blend(rgb(eye_red, eye_green, eye_blue), ICON_ADD)
face_s.Blend(eyes_s, ICON_OVERLAY)
var/datum/sprite_accessory/hair_style = hair_styles_list[head_organ.h_style]
diff --git a/code/datums/datumvars.dm b/code/datums/datumvars.dm
index 0a71929d155..f990ac7f3a1 100644
--- a/code/datums/datumvars.dm
+++ b/code/datums/datumvars.dm
@@ -53,7 +53,7 @@
location.href=alist\[0\].href;
}
}
- }catch(err) { }
+ }catch(err) { }
}
return
}
@@ -74,7 +74,7 @@
return
}
}
- }catch(err) { }
+ }catch(err) { }
}
return
}
@@ -95,7 +95,7 @@
return
}
}
- }catch(err) { }
+ }catch(err) { }
}
return
}
@@ -121,7 +121,7 @@
vars_ol.removeChild(li);
i--;
}
- }catch(err) { }
+ }catch(err) { }
}
}
var lis_new = vars_ol.getElementsByTagName("li");
@@ -379,14 +379,17 @@ body
if(L.len > 0 && !(name == "underlays" || name == "overlays" || name == "vars" || L.len > 500))
// not sure if this is completely right...
- if(0) //(L.vars.len > 0)
+ if(0) //(L.vars.len > 0)
html += ""
html += " "
else
html += ""
var/index = 1
for(var/entry in L)
- html += debug_variable(index, L[index], level + 1)
+ if(istext(entry))
+ html += debug_variable(entry, L[entry], level + 1)
+ else
+ html += debug_variable(index, L[index], level + 1)
index++
html += " "
@@ -920,7 +923,7 @@ body
to_chat(usr, "Mob doesn't know that language.")
else if(href_list["addverb"])
- if(!check_rights(R_DEBUG)) return
+ if(!check_rights(R_DEBUG)) return
var/mob/living/H = locate(href_list["addverb"])
@@ -952,7 +955,7 @@ body
log_admin("[key_name(usr)] has given [key_name(H)] the verb [verb]")
else if(href_list["remverb"])
- if(!check_rights(R_DEBUG)) return
+ if(!check_rights(R_DEBUG)) return
var/mob/H = locate(href_list["remverb"])
@@ -1050,7 +1053,7 @@ body
var/Text = href_list["adjustDamage"]
- var/amount = input("Deal how much damage to mob? (Negative values here heal)","Adjust [Text]loss",0) as num
+ var/amount = input("Deal how much damage to mob? (Negative values here heal)","Adjust [Text]loss",0) as num
if(!L)
to_chat(usr, "Mob doesn't exist anymore")
diff --git a/code/datums/helper_datums/events.dm b/code/datums/helper_datums/events.dm
index bb5e76deef3..fa0dccd2a15 100644
--- a/code/datums/helper_datums/events.dm
+++ b/code/datums/helper_datums/events.dm
@@ -6,62 +6,63 @@
/datum/events
var/list/events
- New()
- ..()
- events = new
+/datum/events/New()
+ ..()
+ events = new
- proc/addEventType(event_type as text)
- if(!(event_type in events) || !islist(events[event_type]))
- events[event_type] = list()
- return 1
- return
-
-
- // Arguments: event_type as text, proc_holder as datum, proc_name as text
- // Returns: New event, null on error.
- proc/addEvent(event_type as text, proc_holder, proc_name as text)
- if(!event_type || !proc_holder || !proc_name)
- return
- addEventType(event_type)
- var/list/event = events[event_type]
- var/datum/events_event/E = new /datum/events_event(proc_holder,proc_name)
- event += E
- return E
-
- // Arguments: event_type as text, any number of additional arguments to pass to event handler
- // Returns: null
- proc/fireEvent()
-// to_chat(world, "Events in [args[1]] called")
- var/list/event = listgetindex(events,args[1])
- if(istype(event))
- spawn(-1)
- for(var/datum/events_event/E in event)
- if(!E.Fire(arglist(args.Copy(2))))
- clearEvent(args[1],E)
- return
-
- // Arguments: event_type as text, E as /datum/events_event
- // Returns: 1 if event cleared, null on error
- proc/clearEvent(event_type as text, datum/events_event/E)
- if(!event_type || !E)
- return
- var/list/event = listgetindex(events,event_type)
- event -= E
+/datum/events/proc/addEventType(event_type as text)
+ if(!(event_type in events) || !islist(events[event_type]))
+ events[event_type] = list()
return 1
+ return
-/datum/events_event
+// Arguments: event_type as text, proc_holder as datum, proc_name as text
+// Returns: New event, null on error.
+/datum/events/proc/addEvent(event_type as text, proc_holder, proc_name as text)
+ if(!event_type || !proc_holder || !proc_name)
+ return
+ addEventType(event_type)
+ var/list/event = events[event_type]
+ var/datum/event/E = new /datum/event(proc_holder,proc_name)
+ event += E
+ return E
+
+// Arguments: event_type as text, any number of additional arguments to pass to event handler
+// Returns: null
+/datum/events/proc/fireEvent()
+ //world << "Events in [args[1]] called"
+ var/list/event = listgetindex(events,args[1])
+ if(istype(event))
+ spawn(0)
+ for(var/datum/event/E in event)
+ if(!E.Fire(arglist(args.Copy(2))))
+ clearEvent(args[1],E)
+ return
+
+// Arguments: event_type as text, E as /datum/event
+// Returns: 1 if event cleared, null on error
+
+/datum/events/proc/clearEvent(event_type as text, datum/event/E)
+ if(!event_type || !E)
+ return
+ var/list/event = listgetindex(events,event_type)
+ event -= E
+ return 1
+
+
+/datum/event
var/listener
var/proc_name
- New(tlistener,tprocname)
- listener = tlistener
- proc_name = tprocname
- return ..()
+/datum/event/New(tlistener,tprocname)
+ listener = tlistener
+ proc_name = tprocname
+ return ..()
- proc/Fire()
-// to_chat(world, "Event fired")
- if(listener)
- call(listener,proc_name)(arglist(args))
- return 1
- return
\ No newline at end of file
+/datum/event/proc/Fire()
+ //world << "Event fired"
+ if(listener)
+ call(listener,proc_name)(arglist(args))
+ return 1
+ return
diff --git a/code/datums/mind.dm b/code/datums/mind.dm
index 3838552714a..127c287ee9a 100644
--- a/code/datums/mind.dm
+++ b/code/datums/mind.dm
@@ -75,18 +75,21 @@
//put this here for easier tracking ingame
var/datum/money_account/initial_account
+ //zealot_master is a reference to the mob that converted them into a zealot (for ease of investigation and such)
+ var/mob/living/carbon/human/zealot_master = null
+
/datum/mind/proc/transfer_to(mob/living/new_character)
+ var/datum/atom_hud/antag/hud_to_transfer = antag_hud //we need this because leave_hud() will clear this list
if(!istype(new_character))
- log_to_dd("## DEBUG: transfer_to(): Some idiot has tried to transfer_to() a non mob/living mob. Please inform Carn")
+ log_runtime(EXCEPTION("transfer_to(): Some idiot has tried to transfer_to() a non mob/living mob."), src)
if(current) //remove ourself from our old body's mind variable
current.mind = null
+ leave_all_huds() //leave all the huds in the old body, so it won't get huds if somebody else enters it
nanomanager.user_transferred(current, new_character)
if(new_character.mind) //remove any mind currently in our new body's mind variable
new_character.mind.current = null
- var/datum/atom_hud/antag/hud_to_transfer = antag_hud//we need this because leave_hud() will clear this list
- leave_all_huds() //leave all the huds in the old body, so it won't get huds if somebody else enters it
current = new_character //link ourself to our new body
new_character.mind = src //and link our new body to ourself
transfer_antag_huds(hud_to_transfer) //inherit the antag HUD
@@ -594,7 +597,7 @@
return
var/datum/mind/targ = new_target
if(!istype(targ))
- log_debug("Invalid target for identity theft objective, cancelling")
+ log_runtime(EXCEPTION("Invalid target for identity theft objective, cancelling"), src)
return
new_objective = new /datum/objective/escape/escape_with_identity
new_objective.owner = src
@@ -1476,6 +1479,72 @@
if(G)
G.reenter_corpse()
+/datum/mind/proc/make_zealot(mob/living/carbon/human/missionary, convert_duration = 6000, team_color = "red")
+ if(!missionary || !istype(missionary)) //better provide a proper missionary or the rest of this is gonna break
+ return 0
+
+ zealot_master = missionary
+
+ var/list/implanters
+ var/ref = "\ref[missionary.mind]"
+ if(!(missionary.mind in ticker.mode.implanter))
+ ticker.mode.implanter[ref] = list()
+ implanters = ticker.mode.implanter[ref]
+ implanters.Add(src)
+ ticker.mode.implanted.Add(src)
+ ticker.mode.implanted[src] = missionary.mind
+ //ticker.mode.implanter[missionary.mind] += src
+ ticker.mode.implanter[ref] = implanters
+ ticker.mode.traitors += src
+ special_role = "traitor"
+ to_chat(current, "You're now a loyal zealot of [missionary.name]! You now must lay down your life to protect them and assist in their goals at any cost. ")
+ var/datum/objective/protect/mindslave/MS = new
+ MS.owner = src
+ MS.target = missionary.mind
+ MS.explanation_text = "Obey every order from and protect [missionary.real_name], the [missionary.mind.assigned_role=="MODE" ? (missionary.mind.special_role) : (missionary.mind.assigned_role)]."
+ objectives += MS
+ for(var/datum/objective/objective in objectives)
+ to_chat(current, "Objective #1 : [objective.explanation_text]")
+
+ ticker.mode.update_traitor_icons_added(missionary.mind)
+ ticker.mode.update_traitor_icons_added(src)//handles datahuds/observerhuds
+
+ if(missionary.mind.som)//do not add if not a traitor..and you just picked up a robe and staff in the hall...
+ var/datum/mindslaves/slaved = missionary.mind.som
+ som = slaved
+ slaved.serv += current
+ slaved.add_serv_hud(missionary.mind, "master") //handles master servent icons
+ slaved.add_serv_hud(src, "mindslave")
+
+ var/obj/item/clothing/under/jumpsuit = null
+ if(ishuman(current)) //only bother with the jumpsuit stuff if we are a human type, since we won't have the slot otherwise
+ var/mob/living/carbon/human/H = current
+ if(H.w_uniform)
+ jumpsuit = H.w_uniform
+ jumpsuit.color = team_color
+ H.update_inv_w_uniform(0,0)
+
+ log_admin("[ckey(missionary.key)] has converted [ckey(current.key)] as a zealot.")
+ addtimer(src, "remove_zealot", convert_duration, FALSE, jumpsuit) //deconverts after the timer expires
+
+ return 1
+
+/datum/mind/proc/remove_zealot(obj/item/clothing/under/jumpsuit = null)
+ if(!zealot_master) //if they aren't a zealot, we can't remove their zealot status, obviously. don't bother with the rest so we don't confuse them with the messages
+ return
+ ticker.mode.remove_traitor_mind(src)
+ log_admin("[ckey(current.key)] has deconverted and is no longer a zealot of [ckey(zealot_master.key)].")
+ zealot_master = null
+
+ if(jumpsuit)
+ jumpsuit.color = initial(jumpsuit.color) //reset the jumpsuit no matter where our mind is
+ if(ishuman(current)) //but only try updating us if we are still a human type since it is a human proc
+ var/mob/living/carbon/human/H = current
+ H.update_inv_w_uniform(0,0)
+
+ to_chat(current, "You seem to have forgotten the events of the past 10 minutes or so, and your head aches a bit as if someone beat it savagely with a stick. ")
+ to_chat(current, "This means you don't remember who you were working for or what you were doing. ")
+
//Initialisation procs
/mob/proc/mind_initialize()
if(mind)
@@ -1576,8 +1645,3 @@
..()
mind.assigned_role = "Juggernaut"
mind.special_role = SPECIAL_ROLE_CULTIST
-
-/mob/living/simple_animal/vox/armalis/mind_initialize()
- ..()
- mind.assigned_role = "Armalis"
- mind.special_role = SPECIAL_ROLE_RAIDER
diff --git a/code/datums/statclick.dm b/code/datums/statclick.dm
new file mode 100644
index 00000000000..51018fae9cb
--- /dev/null
+++ b/code/datums/statclick.dm
@@ -0,0 +1,39 @@
+// Not TECHNICALLY a datum, but this should never be instantiated
+// outside of the stat panel
+// Clickable stat() button
+/obj/effect/statclick
+ var/target
+
+/obj/effect/statclick/New(ntarget, text)
+ name = text
+ target = ntarget
+
+/obj/effect/statclick/proc/update(text)
+ name = text
+ return src
+
+/obj/effect/statclick/debug
+ var/class
+
+/obj/effect/statclick/debug/New(ntarget)
+ name = "Initializing..."
+ target = ntarget
+ if(istype(target, /datum/controller/process))
+ class = "process"
+ else if(istype(target, /datum/controller/processScheduler))
+ class = "scheduler"
+ else if(istype(target, /datum/controller))
+ class = "controller"
+ else if(istype(target, /datum))
+ class = "datum"
+ else
+ class = "unknown"
+
+// This bit is called when clicked in the stat panel
+/obj/effect/statclick/debug/Click()
+ if(!usr.client.holder)
+ return
+
+ usr.client.debug_variables(target)
+
+ message_admins("Admin [key_name_admin(usr)] is debugging the [target] [class].")
diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm
index 8deb2dc1a68..9d9f171bda8 100644
--- a/code/datums/supplypacks.dm
+++ b/code/datums/supplypacks.dm
@@ -1198,10 +1198,8 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/obj/item/weapon/reagent_containers/food/drinks/bottle/holywater,
/obj/item/weapon/storage/bible/booze,
/obj/item/weapon/storage/bible/booze,
- /obj/item/clothing/suit/chaplain_hoodie,
- /obj/item/clothing/head/chaplain_hood,
- /obj/item/clothing/suit/chaplain_hoodie,
- /obj/item/clothing/head/chaplain_hood)
+ /obj/item/clothing/suit/hooded/chaplain_hoodie,
+ /obj/item/clothing/suit/hooded/chaplain_hoodie)
cost = 40
containername = "religious supplies crate"
diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index 01833390052..5f7b5e8237a 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -180,6 +180,14 @@ var/list/uplink_items = list()
cost = 13
job = list("Chaplain")
+/datum/uplink_item/jobspecific/missionary_kit
+ name = "Missionary Starter Kit"
+ desc = "A box containing a missionary staff, missionary robes, and bible. The robes and staff can be linked to allow you to convert victims at range for a short time to do your bidding. The bible is for bible stuff."
+ reference = "MK"
+ item = /obj/item/weapon/storage/box/syndie_kit/missionary_set
+ cost = 15
+ job = list("Chaplain")
+
/datum/uplink_item/jobspecific/artistic_toolbox
name = "Artistic Toolbox"
desc = "An accursed toolbox that grants its followers extreme power at the cost of requiring repeated sacrifices to it. If sacrifices are not provided, it will turn on its follower."
@@ -309,7 +317,7 @@ var/list/uplink_items = list()
item = /obj/item/clothing/under/contortionist
cost = 6
job = list("Life Support Specialist")
-
+
/datum/uplink_item/dangerous/energizedfireaxe
name = "Energized Fire Axe"
desc = "A fire axe with a massive electrical charge built into it. It can release this charge on its first victim and will be rather plain after that."
diff --git a/code/datums/weather/weather_types.dm b/code/datums/weather/weather_types.dm
index 0295d8f36fb..90615896e6d 100644
--- a/code/datums/weather/weather_types.dm
+++ b/code/datums/weather/weather_types.dm
@@ -86,7 +86,7 @@
end_sound = 'sound/lavaland/ash_storm_end.ogg'
end_overlay = "light_ash"
- area_type = /area/mine
+ area_type = /area/mine/dangerous
target_level = MINING
immunity_type = "ash"
diff --git a/code/defines/procs/admin.dm b/code/defines/procs/admin.dm
index 73224f67d94..ea03d32bd6b 100644
--- a/code/defines/procs/admin.dm
+++ b/code/defines/procs/admin.dm
@@ -45,7 +45,7 @@
return .
/proc/key_name_admin(var/whom, var/include_name = 1)
- var/message = "[key_name(whom, 1, include_name)](? )[isAntag(whom) ? "(A)" : ""][isSSD(whom) ? "(SSD!) " : ""] ([admin_jump_link(whom, "holder")])"
+ var/message = "[key_name(whom, 1, include_name)](? )[isAntag(whom) ? "(A)" : ""][isLivingSSD(whom) ? "(SSD!) " : ""] ([admin_jump_link(whom, "holder")])"
return message
/proc/log_and_message_admins(var/message as text)
diff --git a/code/game/area/Space Station 13 areas.dm b/code/game/area/Space Station 13 areas.dm
index 27eaf0490ff..59ca735f843 100644
--- a/code/game/area/Space Station 13 areas.dm
+++ b/code/game/area/Space Station 13 areas.dm
@@ -308,6 +308,10 @@ var/list/ghostteleportlocs = list()
name = "\improper Syndicate Elite Shuttle"
icon_state = "shuttlered2"
+/area/shuttle/syndicate_sit
+ name = "\improper Syndicate SIT Shuttle"
+ icon_state = "shuttlered"
+
/area/shuttle/assault_pod
name = "Steel Rain"
icon_state = "shuttle"
@@ -440,7 +444,7 @@ var/list/ghostteleportlocs = list()
icon_state = "shuttle"
/area/shuttle/syndicate
- name = "Syndicate Infiltrator"
+ name = "Syndicate Nuclear Team Shuttle"
icon_state = "shuttle"
/area/shuttle/trade
@@ -526,6 +530,10 @@ var/list/ghostteleportlocs = list()
name = "\improper Syndicate Elite Squad"
icon_state = "syndie-elite"
+/area/syndicate_mothership/infteam
+ name = "\improper Syndicate Infiltrators"
+ icon_state = "syndie-elite"
+
/area/syndicate_depot
name = "\improper Suspicious Supply Depot"
icon_state = "red"
diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm
index 5963d461daf..7caaf090914 100644
--- a/code/game/area/areas.dm
+++ b/code/game/area/areas.dm
@@ -327,7 +327,7 @@
L << sound('sound/ambience/shipambience.ogg', repeat = 1, wait = 0, volume = 35, channel = 2)
else if(L && L.client && !(L.client.prefs.sound & SOUND_BUZZ)) L.client.ambience_playing = 0
- if(prob(35) && !newarea.media_source && L && L.client && (L.client.prefs.sound & SOUND_AMBIENCE))
+ if(prob(35) && L && L.client && (L.client.prefs.sound & SOUND_AMBIENCE))
var/sound = pick(ambientsounds)
if(!L.client.played)
diff --git a/code/game/asteroid.dm b/code/game/asteroid.dm
index 89b31f478dd..6d26555ca56 100644
--- a/code/game/asteroid.dm
+++ b/code/game/asteroid.dm
@@ -139,7 +139,7 @@ var/global/max_secret_rooms = 6
possiblethemes -= theme //once a theme is selected, it's out of the running!
var/floor = pick(floortypes)
- turfs = get_area_turfs(/area/mine/unexplored)
+ turfs = get_area_turfs(/area/mine/dangerous/unexplored)
if(!turfs.len)
return 0
@@ -161,7 +161,7 @@ var/global/max_secret_rooms = 6
surroundings += range(7, locate(T.x,T.y+y_size,T.z))
surroundings += range(7, locate(T.x+x_size,T.y+y_size,T.z))
- if(locate(/area/mine/explored) in surroundings)
+ if(locate(/area/mine/dangerous/explored) in surroundings)
valid = 0
continue
@@ -207,6 +207,5 @@ var/global/max_secret_rooms = 6
new garbage(T)
areapoints -= 5
emptyturfs -= T
- //log_to_dd("The [theme] themed [T.loc] has been created!")
return 1
diff --git a/code/game/atoms_movable.dm b/code/game/atoms_movable.dm
index a903e4ea8ed..0dd6c109170 100644
--- a/code/game/atoms_movable.dm
+++ b/code/game/atoms_movable.dm
@@ -345,3 +345,22 @@
if(buckled_mob == mover)
return 1
return ..()
+
+/atom/movable/proc/get_spacemove_backup()
+ var/atom/movable/dense_object_backup
+ for(var/A in orange(1, get_turf(src)))
+ if(isarea(A))
+ continue
+ else if(isturf(A))
+ var/turf/turf = A
+ if(!turf.density)
+ continue
+ return turf
+ else
+ var/atom/movable/AM = A
+ if(!AM.CanPass(src) || AM.density)
+ if(AM.anchored)
+ return AM
+ dense_object_backup = AM
+ break
+ . = dense_object_backup
diff --git a/code/game/dna/dna2.dm b/code/game/dna/dna2.dm
index 4224ad1aa5e..78b889071f5 100644
--- a/code/game/dna/dna2.dm
+++ b/code/game/dna/dna2.dm
@@ -61,14 +61,6 @@ var/global/list/datum/dna/gene/dna_genes[0]
var/global/list/good_blocks[0]
var/global/list/bad_blocks[0]
-/////////////////
-// GENE DEFINES
-/////////////////
-
-// Skip checking if it's already active.
-// Used for genes that check for value rather than a binary on/off.
-#define GENE_ALWAYS_ACTIVATE 1
-
/datum/dna
// READ-ONLY, GETS OVERWRITTEN
// DO NOT FUCK WITH THESE OR BYOND WILL EAT YOUR FACE
@@ -134,19 +126,8 @@ var/global/list/bad_blocks[0]
// Hair
// FIXME: Species-specific defaults pls
var/obj/item/organ/external/head/H = character.get_organ("head")
- if(!H.h_style)
- H.h_style = "Skinhead"
- var/hair = hair_styles_list.Find(H.h_style)
+ var/obj/item/organ/internal/eyes/eyes_organ = character.get_int_organ(/obj/item/organ/internal/eyes)
- // Facial Hair
- if(!H.f_style)
- H.f_style = "Shaved"
- var/beard = facial_hair_styles_list.Find(H.f_style)
-
- // Head Accessory
- if(!H.ha_style)
- H.ha_style = "None"
- var/headacc = head_accessory_styles_list.Find(H.ha_style)
/*// Body Accessory
if(!character.body_accessory)
@@ -158,26 +139,13 @@ var/global/list/bad_blocks[0]
character.m_style = "None"
var/marks = marking_styles_list.Find(character.m_style)
- SetUIValueRange(DNA_UI_HAIR_R, H.r_hair, 255, 1)
- SetUIValueRange(DNA_UI_HAIR_G, H.g_hair, 255, 1)
- SetUIValueRange(DNA_UI_HAIR_B, H.b_hair, 255, 1)
-
- SetUIValueRange(DNA_UI_BEARD_R, H.r_facial, 255, 1)
- SetUIValueRange(DNA_UI_BEARD_G, H.g_facial, 255, 1)
- SetUIValueRange(DNA_UI_BEARD_B, H.b_facial, 255, 1)
-
- SetUIValueRange(DNA_UI_EYES_R, character.r_eyes, 255, 1)
- SetUIValueRange(DNA_UI_EYES_G, character.g_eyes, 255, 1)
- SetUIValueRange(DNA_UI_EYES_B, character.b_eyes, 255, 1)
+ head_traits_to_dna(H)
+ eye_color_to_dna(eyes_organ)
SetUIValueRange(DNA_UI_SKIN_R, character.r_skin, 255, 1)
SetUIValueRange(DNA_UI_SKIN_G, character.g_skin, 255, 1)
SetUIValueRange(DNA_UI_SKIN_B, character.b_skin, 255, 1)
- SetUIValueRange(DNA_UI_HACC_R, H.r_headacc, 255, 1)
- SetUIValueRange(DNA_UI_HACC_G, H.g_headacc, 255, 1)
- SetUIValueRange(DNA_UI_HACC_B, H.b_headacc, 255, 1)
-
SetUIValueRange(DNA_UI_MARK_R, character.r_markings, 255, 1)
SetUIValueRange(DNA_UI_MARK_G, character.g_markings, 255, 1)
SetUIValueRange(DNA_UI_MARK_B, character.b_markings, 255, 1)
@@ -185,11 +153,7 @@ var/global/list/bad_blocks[0]
SetUIValueRange(DNA_UI_SKIN_TONE, 35-character.s_tone, 220, 1) // Value can be negative.
SetUIState(DNA_UI_GENDER, character.gender!=MALE, 1)
-
- SetUIValueRange(DNA_UI_HAIR_STYLE, hair, hair_styles_list.len, 1)
- SetUIValueRange(DNA_UI_BEARD_STYLE, beard, facial_hair_styles_list.len, 1)
/*SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, facial_hair_styles_list.len, 1)*/
- SetUIValueRange(DNA_UI_HACC_STYLE, headacc, head_accessory_styles_list.len, 1)
SetUIValueRange(DNA_UI_MARK_STYLE, marks, marking_styles_list.len, 1)
diff --git a/code/game/dna/dna2_domutcheck.dm b/code/game/dna/dna2_domutcheck.dm
index 911d91ef63d..6175d547d63 100644
--- a/code/game/dna/dna2_domutcheck.dm
+++ b/code/game/dna/dna2_domutcheck.dm
@@ -31,16 +31,14 @@
if(!gene || !istype(gene))
return 0
+ // Current state
+ var/gene_active = M.dna.GetSEState(gene.block)
+
// Sanity checks, don't skip.
- if(!gene.can_activate(M,flags))
+ if(!gene.can_activate(M,flags) && gene_active)
//testing("[M] - Failed to activate [gene.name] (can_activate fail).")
return 0
- // Current state
- var/gene_active = (gene.flags & GENE_ALWAYS_ACTIVATE)
- if(!gene_active)
- gene_active = M.dna.GetSEState(gene.block)
-
var/defaultgenes // Do not mutate inherent species abilities
if(ishuman(M))
var/mob/living/carbon/human/H = M
@@ -51,12 +49,12 @@
// Prior state
var/gene_prior_status = (gene.type in M.active_genes)
- var/changed = gene_active != gene_prior_status || (gene.flags & GENE_ALWAYS_ACTIVATE)
+ var/changed = gene_active != gene_prior_status
// If gene state has changed:
if(changed)
// Gene active (or ALWAYS ACTIVATE)
- if(gene_active || (gene.flags & GENE_ALWAYS_ACTIVATE))
+ if(gene_active)
//testing("[gene.name] activated!")
gene.activate(M,connected,flags)
if(M)
diff --git a/code/game/dna/dna2_helpers.dm b/code/game/dna/dna2_helpers.dm
index 5bc984b11ac..137617ffd1e 100644
--- a/code/game/dna/dna2_helpers.dm
+++ b/code/game/dna/dna2_helpers.dm
@@ -132,33 +132,16 @@
dna.check_integrity()
var/mob/living/carbon/human/H = src
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
- head_organ.r_hair = dna.GetUIValueRange(DNA_UI_HAIR_R, 255)
- head_organ.g_hair = dna.GetUIValueRange(DNA_UI_HAIR_G, 255)
- head_organ.b_hair = dna.GetUIValueRange(DNA_UI_HAIR_B, 255)
-
- head_organ.r_facial = dna.GetUIValueRange(DNA_UI_BEARD_R, 255)
- head_organ.g_facial = dna.GetUIValueRange(DNA_UI_BEARD_G, 255)
- head_organ.b_facial = dna.GetUIValueRange(DNA_UI_BEARD_B, 255)
+ dna.write_head_attributes(head_organ)
H.r_skin = dna.GetUIValueRange(DNA_UI_SKIN_R, 255)
H.g_skin = dna.GetUIValueRange(DNA_UI_SKIN_G, 255)
H.b_skin = dna.GetUIValueRange(DNA_UI_SKIN_B, 255)
- H.r_eyes = dna.GetUIValueRange(DNA_UI_EYES_R, 255)
- H.g_eyes = dna.GetUIValueRange(DNA_UI_EYES_G, 255)
- H.b_eyes = dna.GetUIValueRange(DNA_UI_EYES_B, 255)
-
- head_organ.r_headacc = dna.GetUIValueRange(DNA_UI_HACC_R, 255)
- head_organ.g_headacc = dna.GetUIValueRange(DNA_UI_HACC_G, 255)
- head_organ.b_headacc = dna.GetUIValueRange(DNA_UI_HACC_B, 255)
-
H.r_markings = dna.GetUIValueRange(DNA_UI_MARK_R, 255)
H.g_markings = dna.GetUIValueRange(DNA_UI_MARK_G, 255)
H.b_markings = dna.GetUIValueRange(DNA_UI_MARK_B, 255)
-
- H.update_eyes()
-
H.s_tone = 35 - dna.GetUIValueRange(DNA_UI_SKIN_TONE, 220) // Value can be negative.
if(dna.GetUIState(DNA_UI_GENDER))
@@ -166,21 +149,6 @@
else
H.change_gender(MALE, 0)
- //Hair
- var/hair = dna.GetUIValueRange(DNA_UI_HAIR_STYLE,hair_styles_list.len)
- if((0 < hair) && (hair <= hair_styles_list.len))
- head_organ.h_style = hair_styles_list[hair]
-
- //Facial Hair
- var/beard = dna.GetUIValueRange(DNA_UI_BEARD_STYLE,facial_hair_styles_list.len)
- if((0 < beard) && (beard <= facial_hair_styles_list.len))
- head_organ.f_style = facial_hair_styles_list[beard]
-
- //Head Accessories
- var/headacc = dna.GetUIValueRange(DNA_UI_HACC_STYLE,head_accessory_styles_list.len)
- if((0 < headacc) && (headacc <= head_accessory_styles_list.len))
- head_organ.ha_style = head_accessory_styles_list[headacc]
-
//Markings
var/marks = dna.GetUIValueRange(DNA_UI_MARK_STYLE,marking_styles_list.len)
if((0 < marks) && (marks <= marking_styles_list.len))
@@ -196,3 +164,101 @@
return 1
else
return 0
+
+/*
+ ORGAN WRITING PROCS
+*/
+
+
+// I'm putting this here because nothing outside the DNA module should ever have
+// to directly mess with the guts of DNA code
+
+// This proc applies the DNA's information to the given head
+/datum/dna/proc/write_head_attributes(obj/item/organ/external/head/head_organ)
+
+ //Hair
+ var/hair = GetUIValueRange(DNA_UI_HAIR_STYLE,hair_styles_list.len)
+ if((0 < hair) && (hair <= hair_styles_list.len))
+ head_organ.h_style = hair_styles_list[hair]
+
+ head_organ.r_hair = GetUIValueRange(DNA_UI_HAIR_R, 255)
+ head_organ.g_hair = GetUIValueRange(DNA_UI_HAIR_G, 255)
+ head_organ.b_hair = GetUIValueRange(DNA_UI_HAIR_B, 255)
+
+ //Facial Hair
+ var/beard = GetUIValueRange(DNA_UI_BEARD_STYLE,facial_hair_styles_list.len)
+ if((0 < beard) && (beard <= facial_hair_styles_list.len))
+ head_organ.f_style = facial_hair_styles_list[beard]
+
+ head_organ.r_facial = GetUIValueRange(DNA_UI_BEARD_R, 255)
+ head_organ.g_facial = GetUIValueRange(DNA_UI_BEARD_G, 255)
+ head_organ.b_facial = GetUIValueRange(DNA_UI_BEARD_B, 255)
+
+ //Head Accessories
+ var/headacc = GetUIValueRange(DNA_UI_HACC_STYLE,head_accessory_styles_list.len)
+ if((0 < headacc) && (headacc <= head_accessory_styles_list.len))
+ head_organ.ha_style = head_accessory_styles_list[headacc]
+
+ head_organ.r_headacc = GetUIValueRange(DNA_UI_HACC_R, 255)
+ head_organ.g_headacc = GetUIValueRange(DNA_UI_HACC_G, 255)
+ head_organ.b_headacc = GetUIValueRange(DNA_UI_HACC_B, 255)
+
+// This proc gives the DNA info for eye color to the given eyes
+/datum/dna/proc/write_eyes_attributes(obj/item/organ/internal/eyes/eyes_organ)
+ var/red = GetUIValueRange(DNA_UI_EYES_R, 255)
+ var/green = GetUIValueRange(DNA_UI_EYES_G, 255)
+ var/blue = GetUIValueRange(DNA_UI_EYES_B, 255)
+ eyes_organ.eye_colour = list(
+ red,
+ green,
+ blue
+ )
+
+/*
+ TRAIT CHANGING PROCS
+*/
+/datum/dna/proc/eye_color_to_dna(obj/item/organ/internal/eyes/eyes_organ)
+ if(!eyes_organ)
+ // In absence of eyes, possibly randomize the eye color DNA?
+ return
+
+ var/eye_red = eyes_organ.eye_colour[1]
+ var/eye_green = eyes_organ.eye_colour[2]
+ var/eye_blue = eyes_organ.eye_colour[3]
+ SetUIValueRange(DNA_UI_EYES_R, eye_red, 255, 1)
+ SetUIValueRange(DNA_UI_EYES_G, eye_green, 255, 1)
+ SetUIValueRange(DNA_UI_EYES_B, eye_blue, 255, 1)
+
+/datum/dna/proc/head_traits_to_dna(obj/item/organ/external/head/H)
+ if(!H)
+ log_runtime(EXCEPTION("Attempting to reset DNA from a missing head!"), src)
+ return
+ if(!H.h_style)
+ H.h_style = "Skinhead"
+ var/hair = hair_styles_list.Find(H.h_style)
+
+ // Facial Hair
+ if(!H.f_style)
+ H.f_style = "Shaved"
+ var/beard = facial_hair_styles_list.Find(H.f_style)
+
+ // Head Accessory
+ if(!H.ha_style)
+ H.ha_style = "None"
+ var/headacc = head_accessory_styles_list.Find(H.ha_style)
+
+ SetUIValueRange(DNA_UI_HAIR_R, H.r_hair, 255, 1)
+ SetUIValueRange(DNA_UI_HAIR_G, H.g_hair, 255, 1)
+ SetUIValueRange(DNA_UI_HAIR_B, H.b_hair, 255, 1)
+
+ SetUIValueRange(DNA_UI_BEARD_R, H.r_facial, 255, 1)
+ SetUIValueRange(DNA_UI_BEARD_G, H.g_facial, 255, 1)
+ SetUIValueRange(DNA_UI_BEARD_B, H.b_facial, 255, 1)
+
+ SetUIValueRange(DNA_UI_HACC_R, H.r_headacc, 255, 1)
+ SetUIValueRange(DNA_UI_HACC_G, H.g_headacc, 255, 1)
+ SetUIValueRange(DNA_UI_HACC_B, H.b_headacc, 255, 1)
+
+ SetUIValueRange(DNA_UI_HAIR_STYLE, hair, hair_styles_list.len, 1)
+ SetUIValueRange(DNA_UI_BEARD_STYLE, beard, facial_hair_styles_list.len, 1)
+ SetUIValueRange(DNA_UI_HACC_STYLE, headacc, head_accessory_styles_list.len, 1)
diff --git a/code/game/dna/genes/gene.dm b/code/game/dna/genes/gene.dm
index a3781f9985d..f74d0c7d2a0 100644
--- a/code/game/dna/genes/gene.dm
+++ b/code/game/dna/genes/gene.dm
@@ -100,7 +100,7 @@
var/mutation=0
// Activation probability
- var/activation_prob=45
+ var/activation_prob=100
// Possible activation messages
var/list/activation_messages=list()
diff --git a/code/game/dna/genes/goon_powers.dm b/code/game/dna/genes/goon_powers.dm
index 394540c7762..f9e9c2678a5 100644
--- a/code/game/dna/genes/goon_powers.dm
+++ b/code/game/dna/genes/goon_powers.dm
@@ -47,7 +47,7 @@
desc = "Enables the subject to bend low levels of light around themselves, creating a cloaking effect."
activation_messages = list("You begin to fade into the shadows.")
deactivation_messages = list("You become fully visible.")
- activation_prob=10
+ activation_prob=25
mutation = CLOAK
/datum/dna/gene/basic/stealth/darkcloak/New()
@@ -74,7 +74,7 @@
desc = "The subject becomes able to subtly alter light patterns to become invisible, as long as they remain still."
activation_messages = list("You feel one with your surroundings.")
deactivation_messages = list("You feel oddly visible.")
- activation_prob=10
+ activation_prob=25
mutation = CHAMELEON
/datum/dna/gene/basic/stealth/chameleon/New()
diff --git a/code/game/dna/genes/powers.dm b/code/game/dna/genes/powers.dm
index 465dc5df685..9bc3aa974e6 100644
--- a/code/game/dna/genes/powers.dm
+++ b/code/game/dna/genes/powers.dm
@@ -8,7 +8,7 @@
deactivation_messages=list("You feel the need to breathe, once more.")
instability = GENE_INSTABILITY_MODERATE
mutation=NO_BREATH
- activation_prob=10
+ activation_prob=25
/datum/dna/gene/basic/nobreath/New()
block=NOBREATHBLOCK
@@ -116,7 +116,7 @@
deactivation_messages=list("Your muscles shrink.")
instability = GENE_INSTABILITY_MAJOR
mutation=HULK
- activation_prob=5
+ activation_prob=15
/datum/dna/gene/basic/hulk/New()
block=HULKBLOCK
@@ -156,7 +156,7 @@
deactivation_messages=list("the walls around you re-appear.")
instability = GENE_INSTABILITY_MAJOR
mutation=XRAY
- activation_prob=10
+ activation_prob=15
/datum/dna/gene/basic/xray/New()
block=XRAYBLOCK
@@ -167,7 +167,7 @@
deactivation_messages = list("You feel dumber.")
instability = GENE_INSTABILITY_MAJOR
mutation=TK
- activation_prob=10
+ activation_prob=15
/datum/dna/gene/basic/tk/New()
block=TELEBLOCK
diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm
index 7ed7f3fea97..992e4326317 100644
--- a/code/game/dna/genes/vg_powers.dm
+++ b/code/game/dna/genes/vg_powers.dm
@@ -36,6 +36,7 @@
return
var/mob/living/carbon/human/M=usr
var/obj/item/organ/external/head/head_organ = M.get_organ("head")
+ var/obj/item/organ/internal/eyes/eyes_organ = M.get_int_organ(/obj/item/organ/internal/eyes)
var/new_gender = alert(usr, "Please select gender.", "Character Generation", "Male", "Female")
if(new_gender)
@@ -44,12 +45,19 @@
else
M.change_gender(FEMALE)
- var/new_eyes = input("Please select eye color.", "Character Generation", rgb(M.r_eyes,M.g_eyes,M.b_eyes)) as null|color
+ var/eyes_red = 0
+ var/eyes_green = 0
+ var/eyes_blue = 0
+ if(eyes_organ)
+ eyes_red = eyes_organ.eye_colour[1]
+ eyes_green = eyes_organ.eye_colour[2]
+ eyes_blue = eyes_organ.eye_colour[3]
+ var/new_eyes = input("Please select eye color.", "Character Generation", rgb(eyes_red,eyes_green,eyes_blue)) as null|color
if(new_eyes)
- M.r_eyes = hex2num(copytext(new_eyes, 2, 4))
- M.g_eyes = hex2num(copytext(new_eyes, 4, 6))
- M.b_eyes = hex2num(copytext(new_eyes, 6, 8))
- M.change_eye_color(M.r_eyes, M.g_eyes, M.b_eyes)
+ eyes_red = hex2num(copytext(new_eyes, 2, 4))
+ eyes_green = hex2num(copytext(new_eyes, 4, 6))
+ eyes_blue = hex2num(copytext(new_eyes, 6, 8))
+ M.change_eye_color(eyes_red, eyes_green, eyes_blue)
// hair
var/list/valid_hairstyles = M.generate_valid_hairstyles()
diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm
index 5b0884788b9..67229b51a1a 100644
--- a/code/game/gamemodes/blob/blobs/blob_mobs.dm
+++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm
@@ -160,6 +160,7 @@
minbodytemp = 0
maxbodytemp = 360
force_threshold = 10
+ mob_size = MOB_SIZE_LARGE
environment_smash = 3
gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE
diff --git a/code/game/gamemodes/changeling/changeling.dm b/code/game/gamemodes/changeling/changeling.dm
index d812296b916..9fb2402f889 100644
--- a/code/game/gamemodes/changeling/changeling.dm
+++ b/code/game/gamemodes/changeling/changeling.dm
@@ -224,7 +224,7 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
var/list/absorbed_dna = list()
var/list/absorbed_languages = list()
var/list/protected_dna = list() //DNA that is not lost when capacity is otherwise full.
- var/dna_max = 4 //How many extra DNA strands the changeling can store for transformation.
+ var/dna_max = 5 //How many total DNA strands the changeling can store for transformation.
var/absorbedcount = 1 //Would require at least 1 sample to take on the form of a human
var/chem_charges = 20
var/chem_recharge_rate = 0.5
@@ -253,7 +253,6 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
changelingID = "[honorific] [changelingID]"
else
changelingID = "[honorific] [rand(1,999)]"
- absorbed_dna.len = dna_max
/datum/changeling/proc/regenerate()
chem_charges = min(max(0, chem_charges + chem_recharge_rate - chem_recharge_slowdown), chem_storage)
@@ -265,14 +264,35 @@ var/list/possible_changeling_IDs = list("Alpha","Beta","Gamma","Delta","Epsilon"
if(dna_owner == DNA.real_name)
return DNA
-/datum/changeling/proc/has_dna(var/datum/dna/tDNA)
+/datum/changeling/proc/find_dna(var/datum/dna/tDNA)
for(var/datum/dna/D in (absorbed_dna + protected_dna))
if(tDNA.unique_enzymes == D.unique_enzymes && tDNA.uni_identity == D.uni_identity && tDNA.species == D.species)
- return 1
+ return D
+ return null
+
+/datum/changeling/proc/has_dna(var/datum/dna/tDNA)
+ if(find_dna(tDNA))
+ return 1
return 0
+// A changeling's DNA is "stale" if their current form's DNA is the oldest DNA in a full list
+/datum/changeling/proc/using_stale_dna(var/mob/living/carbon/user)
+ var/current_dna = find_dna(user.dna)
+ if(absorbed_dna.len < dna_max)
+ return 0 // Still more room for DNA
+ if(!current_dna || !(current_dna in absorbed_dna))
+ return 1 // Oops, our current DNA was somehow not absorbed; force a transformation
+ if(absorbed_dna[1] == current_dna)
+ return 1 // Oldest DNA is the current DNA
+ return 0
+
+/datum/changeling/proc/trim_dna()
+ absorbed_dna -= null
+ if(absorbed_dna.len > dna_max)
+ absorbed_dna.Cut(1, (absorbed_dna.len - dna_max) + 1)
+
/datum/changeling/proc/can_absorb_dna(var/mob/living/carbon/user, var/mob/living/carbon/target)
- if(absorbed_dna[1] == user.dna)//If our current DNA is the stalest, we gotta ditch it.
+ if(using_stale_dna(user))//If our current DNA is the stalest, we gotta ditch it.
to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more. ")
return
diff --git a/code/game/gamemodes/changeling/changeling_power.dm b/code/game/gamemodes/changeling/changeling_power.dm
index 8e8e824d85e..6d03a864692 100644
--- a/code/game/gamemodes/changeling/changeling_power.dm
+++ b/code/game/gamemodes/changeling/changeling_power.dm
@@ -73,12 +73,6 @@
return 0
return 1
-/obj/effect/proc_holder/changeling/proc/transfer_changeling_powers(var/mob/living/carbon/user, var/mob/living/carbon/target)
- if(istype(target, /mob/living/carbon)) // so we don't runtime, I don't even know why it's necessary as it needs a grab
- var/datum/changeling/c = user.mind.changeling
- var/datum/changeling/t = target.mind.changeling
- c.purchasedpowers = t.purchasedpowers
-
//used in /mob/Stat()
/obj/effect/proc_holder/changeling/proc/can_be_used_by(var/mob/user)
if(!ishuman(user))
diff --git a/code/game/gamemodes/changeling/evolution_menu.dm b/code/game/gamemodes/changeling/evolution_menu.dm
index 7efcb3f09a1..43f08584823 100644
--- a/code/game/gamemodes/changeling/evolution_menu.dm
+++ b/code/game/gamemodes/changeling/evolution_menu.dm
@@ -376,6 +376,7 @@ var/list/sting_paths
var/mob/living/carbon/C = src //only carbons have dna now, so we have to typecaste
mind.changeling.absorbed_dna |= C.dna
+ mind.changeling.trim_dna()
return 1
//Used to dump the languages from the changeling datum into the actual mob.
diff --git a/code/game/gamemodes/changeling/powers/absorb.dm b/code/game/gamemodes/changeling/powers/absorb.dm
index 6dbcc48dc2f..3800597709a 100644
--- a/code/game/gamemodes/changeling/powers/absorb.dm
+++ b/code/game/gamemodes/changeling/powers/absorb.dm
@@ -86,8 +86,6 @@
//Absorbs the target DNA.
/datum/changeling/proc/absorb_dna(mob/living/carbon/T, var/mob/user)
- if(absorbed_dna.len)
- absorbed_dna.Cut(1,2)
T.dna.real_name = T.real_name //Set this again, just to be sure that it's properly set.
var/datum/dna/new_dna = T.dna.Clone()
//Steal all of their languages!
@@ -104,4 +102,5 @@
if(E.target_real_name == new_dna.real_name)
protected_dna |= new_dna
return
- absorbed_dna |= new_dna
\ No newline at end of file
+ absorbed_dna |= new_dna
+ trim_dna()
diff --git a/code/game/gamemodes/changeling/powers/fakedeath.dm b/code/game/gamemodes/changeling/powers/fakedeath.dm
index 03ea7d14894..dc7454ff7eb 100644
--- a/code/game/gamemodes/changeling/powers/fakedeath.dm
+++ b/code/game/gamemodes/changeling/powers/fakedeath.dm
@@ -18,7 +18,7 @@
if(user.stat != DEAD)
user.emote("deathgasp")
- user.timeofdeath = worldtime2text()
+ user.timeofdeath = world.time
spawn(800)
if(user && user.mind && user.mind.changeling && user.mind.changeling.purchasedpowers)
@@ -33,4 +33,4 @@
return
if(!user.stat && alert("Are we sure we wish to fake our death?",,"Yes","No") == "No")//Confirmation for living changelings if they want to fake their death
return
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/game/gamemodes/changeling/powers/hivemind.dm b/code/game/gamemodes/changeling/powers/hivemind.dm
index 1032f84635f..0976f0da36d 100644
--- a/code/game/gamemodes/changeling/powers/hivemind.dm
+++ b/code/game/gamemodes/changeling/powers/hivemind.dm
@@ -62,7 +62,7 @@ var/list/datum/dna/hivemind_bank = list()
if(!..())
return
var/datum/changeling/changeling = user.mind.changeling
- if(changeling.absorbed_dna[1] == user.dna)//If our current DNA is the stalest, we gotta ditch it.
+ if(changeling.using_stale_dna(user))//If our current DNA is the stalest, we gotta ditch it.
to_chat(user, "We have reached our capacity to store genetic information! We must transform before absorbing more. ")
return
return 1
@@ -84,8 +84,6 @@ var/list/datum/dna/hivemind_bank = list()
if(!chosen_dna)
return
- if(changeling.absorbed_dna.len)
- changeling.absorbed_dna.Cut(1,2)
changeling.store_dna(chosen_dna, user)
to_chat(user, "We absorb the DNA of [S] from the air. ")
feedback_add_details("changeling_powers","HD")
diff --git a/code/game/gamemodes/changeling/powers/revive.dm b/code/game/gamemodes/changeling/powers/revive.dm
index 1bb19749ac1..b6692817650 100644
--- a/code/game/gamemodes/changeling/powers/revive.dm
+++ b/code/game/gamemodes/changeling/powers/revive.dm
@@ -51,7 +51,6 @@
O.number_wounds = 0
O.open = 0
O.perma_injury = 0
- O.stage = 0
O.status = 0
O.trace_chemicals = list()
O.wounds = list()
diff --git a/code/game/gamemodes/changeling/powers/swap_form.dm b/code/game/gamemodes/changeling/powers/swap_form.dm
index 188c5fb437b..ce8bda64d03 100644
--- a/code/game/gamemodes/changeling/powers/swap_form.dm
+++ b/code/game/gamemodes/changeling/powers/swap_form.dm
@@ -38,10 +38,12 @@
to_chat(target, "[user] tightens their grip as a painful sensation invades your body. ")
+ changeling.absorbed_dna -= changeling.find_dna(user.dna)
+ changeling.protected_dna -= changeling.find_dna(user.dna)
+ changeling.absorbedcount -= 1
if(!changeling.has_dna(target.dna))
changeling.absorb_dna(target, user)
- changeling.protected_dna -= user.dna
- changeling.absorbed_dna -= user.dna
+ changeling.trim_dna()
var/mob/dead/observer/ghost = target.ghostize(0)
user.mind.transfer_to(target)
@@ -52,6 +54,6 @@
user.Paralyse(2)
target.add_language("Changeling")
user.remove_language("Changeling")
- transfer_changeling_powers(user, target)
to_chat(target, "Our genes cry out as we swap our [user] form for [target]. ")
+ return 1
diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm
index 6f93554766e..5dfb40b5cfc 100644
--- a/code/game/gamemodes/changeling/powers/tiny_prick.dm
+++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm
@@ -80,6 +80,7 @@
selected_dna = changeling.select_dna("Select the target DNA: ", "Target DNA")
if(!selected_dna)
return
+ ..()
/obj/effect/proc_holder/changeling/sting/transformation/can_sting(var/mob/user, var/mob/target)
if(!..())
@@ -95,6 +96,9 @@
if(H.species.flags & NO_BLOOD)
to_chat(user, "This won't work on a creature without a circulatory system. ")
return 0
+ if(H.species.flags & NO_DNA)
+ to_chat(user, "This won't work on a creature without DNA. ")
+ return 0
return 1
/obj/effect/proc_holder/changeling/sting/transformation/sting_action(var/mob/user, var/mob/target)
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 54f9ea7c7d2..cc728d5d193 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -34,6 +34,7 @@
var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds)
var/const/waittime_h = 1800 //upper bound on time before intercept arrives (in tenths of seconds)
+ var/list/player_draft_log = list()
/datum/game_mode/proc/announce() //to be calles when round starts
to_chat(world, "Notice : [src] did not define announce()")
@@ -239,7 +240,7 @@
// Get a list of all the people who want to be the antagonist for this round, except those with incompatible species
for(var/mob/new_player/player in players)
if((role in player.client.prefs.be_special) && !(player.client.prefs.species in protected_species))
- log_debug("[player.key] had [roletext] enabled, so we are drafting them.")
+ player_draft_log += "[player.key] had [roletext] enabled, so we are drafting them."
candidates += player.mind
players -= player
@@ -248,7 +249,7 @@
for(var/key in round_voters)
for(var/mob/new_player/player in players)
if(player.ckey == key)
- log_debug("[player.key] voted for this round, so we are drafting them.")
+ player_draft_log += "[player.key] voted for this round, so we are drafting them."
candidates += player.mind
players -= player
break
diff --git a/code/game/gamemodes/gameticker.dm b/code/game/gamemodes/gameticker.dm
index b2185b15d33..843e4e1258b 100644
--- a/code/game/gamemodes/gameticker.dm
+++ b/code/game/gamemodes/gameticker.dm
@@ -340,7 +340,8 @@ var/round_start_time = 0
if(player.ready && player.mind)
if(player.mind.assigned_role == "AI")
player.close_spawn_windows()
- player.AIize()
+ var/mob/living/silicon/ai/ai_character = player.AIize()
+ ai_character.moveToAILandmark()
else if(!player.mind.assigned_role)
continue
else
diff --git a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
index 80cdfe8ee78..6021140b79f 100644
--- a/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
+++ b/code/game/gamemodes/miniantags/abduction/abduction_surgery.dm
@@ -1,19 +1,23 @@
/datum/surgery/organ_extraction
name = "experimental dissection"
- steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/internal/extract_organ, /datum/surgery_step/internal/gland_insert, /datum/surgery_step/generic/cauterize)
+ steps = list(/datum/surgery_step/generic/cut_open, /datum/surgery_step/generic/clamp_bleeders, /datum/surgery_step/generic/retract_skin, /datum/surgery_step/open_encased/saw, /datum/surgery_step/open_encased/retract, /datum/surgery_step/internal/extract_organ, /datum/surgery_step/internal/gland_insert, /datum/surgery_step/generic/cauterize)
possible_locs = list("chest")
-/datum/surgery/organ_extraction/can_start(mob/user, mob/living/carbon/target)
+/datum/surgery/organ_extraction/can_start(mob/user, mob/living/carbon/target, target_zone, obj/item/tool,datum/surgery/surgery)
if(!ishuman(user))
return 0
- if(target.get_species() == "Machine") //Maybe add in a machine version, later?
- return 0
+ if(ishuman(target))
+ var/mob/living/carbon/human/H = target
+ var/obj/item/organ/external/affected = H.get_organ(target_zone)
+ if(!affected)
+ return 0
+ if(affected.status & ORGAN_ROBOT) //Maybe add in a machine version, later?
+ return 0
var/mob/living/carbon/human/H = user
- if(H.get_species() == "Abductor")
- return 1
- if((locate(/obj/item/weapon/implant/abductor) in H))
- return 1
- return 0
+ // You must either: Be of the abductor species, or contain an abductor implant
+ if(!(H.get_species() == "Abductor" || (locate(/obj/item/weapon/implant/abductor) in H)))
+ return 0
+ return 1
/datum/surgery_step/internal/extract_organ
@@ -59,4 +63,4 @@
user.drop_item()
var/obj/item/organ/internal/gland/gland = tool
gland.insert(target, 2)
- return 1
\ No newline at end of file
+ return 1
diff --git a/code/game/gamemodes/miniantags/borer/borer.dm b/code/game/gamemodes/miniantags/borer/borer.dm
index 7bc3ce06c76..e63221970c0 100644
--- a/code/game/gamemodes/miniantags/borer/borer.dm
+++ b/code/game/gamemodes/miniantags/borer/borer.dm
@@ -29,7 +29,7 @@
/mob/living/captive_brain/say_understands(var/mob/other, var/datum/language/speaking = null)
var/mob/living/simple_animal/borer/B = src.loc
if(!istype(B))
- log_to_dd("Trapped mind found without a borer!")
+ log_runtime(EXCEPTION("Trapped mind found without a borer!"), src)
return 0
return B.host.say_understands(other, speaking)
@@ -76,7 +76,7 @@
attacktext = "nips"
friendly = "prods"
wander = 0
- small = 1
+ mob_size = MOB_SIZE_TINY
density = 0
pass_flags = PASSTABLE
ventcrawler = 2
diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
index 1f9f5ff115a..b2a4f56ec13 100644
--- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
+++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm
@@ -60,6 +60,7 @@
faction = list("swarmer")
projectiletype = /obj/item/projectile/beam/disabler
pass_flags = PASSTABLE
+ mob_size = MOB_SIZE_TINY
ventcrawler = 2
ranged = 1
ranged_cooldown_cap = 1
diff --git a/code/game/gamemodes/miniantags/morph/morph.dm b/code/game/gamemodes/miniantags/morph/morph.dm
index ac3bfdf7c1e..9bf6be0bbdc 100644
--- a/code/game/gamemodes/miniantags/morph/morph.dm
+++ b/code/game/gamemodes/miniantags/morph/morph.dm
@@ -124,9 +124,6 @@
morph_time = world.time + MORPH_COOLDOWN
-/mob/living/simple_animal/hostile/morph/handle_state_icons()
- return
-
/mob/living/simple_animal/hostile/morph/death(gibbed)
if(morphed)
visible_message("[src] twists and dissolves into a pile of green flesh! ", \
diff --git a/code/game/gamemodes/miniantags/revenant/revenant.dm b/code/game/gamemodes/miniantags/revenant/revenant.dm
index e8f3e9b5498..8356e5a9731 100644
--- a/code/game/gamemodes/miniantags/revenant/revenant.dm
+++ b/code/game/gamemodes/miniantags/revenant/revenant.dm
@@ -34,6 +34,7 @@
density = 0
flying = 1
anchored = 1
+ mob_size = MOB_SIZE_TINY
pass_flags = PASSTABLE | PASSGRILLE | PASSMOB
var/essence = 75 //The resource of revenants. Max health is equal to three times this amount
diff --git a/code/game/gamemodes/mutiny/auth_key.dm b/code/game/gamemodes/mutiny/auth_key.dm
deleted file mode 100644
index e71d56beef2..00000000000
--- a/code/game/gamemodes/mutiny/auth_key.dm
+++ /dev/null
@@ -1,39 +0,0 @@
-/obj/item/weapon/mutiny/auth_key
- name = "authentication key"
- desc = "Better keep this safe."
- icon = 'icons/obj/items.dmi'
- icon_state = "nucleardisk"
- item_state = "card-id"
- w_class = 1
-
- var/time_entered_space
- var/obj/item/device/radio/radio
-
- New()
- radio = new(src)
- spawn(20 SECONDS)
- keep_alive()
- ..()
-
- proc/keep_alive()
- var/in_space = istype(loc, /turf/space)
- if(!in_space && time_entered_space)
- // Recovered before the key was lost
- time_entered_space = null
- else if(in_space && !time_entered_space)
- // The key has left the station
- time_entered_space = world.time
- else if(in_space && time_entered_space + (10 SECONDS) < world.time)
- // Time is up
- radio.autosay("This device has left the station's perimeter. Triggering emergency activation failsafe.", name)
- qdel(src)
- return
-
- spawn(10 SECONDS)
- keep_alive()
-
-/obj/item/weapon/mutiny/auth_key/captain
- name = "Captain's Authentication Key"
-
-/obj/item/weapon/mutiny/auth_key/secondary
- name = "Emergency Secondary Authentication Key"
diff --git a/code/game/gamemodes/mutiny/directive.dm b/code/game/gamemodes/mutiny/directive.dm
deleted file mode 100644
index b7f153cc16a..00000000000
--- a/code/game/gamemodes/mutiny/directive.dm
+++ /dev/null
@@ -1,32 +0,0 @@
-datum/directive
- var/datum/game_mode/mutiny/mode
- var/list/special_orders
-
- New(var/datum/game_mode/mutiny/M)
- mode = M
-
- proc/get_description()
- return {"
-
- Nanotrasen's reasons for the following directives are classified.
-
- "}
-
- proc/meets_prerequisites()
- return 0
-
- proc/directives_complete()
- return 1
-
- proc/initialize()
- return 1
-
- proc/get_remaining_orders()
- return ""
-
-/proc/get_directive(type)
- var/datum/game_mode/mutiny/mode = get_mutiny_mode()
- if(!mode || !mode.current_directive || !istype(mode.current_directive, text2path("/datum/directive/[type]")))
- return null
-
- return mode.current_directive
diff --git a/code/game/gamemodes/mutiny/directives/alien_fraud_directive.dm b/code/game/gamemodes/mutiny/directives/alien_fraud_directive.dm
deleted file mode 100644
index 3fa05b8fe28..00000000000
--- a/code/game/gamemodes/mutiny/directives/alien_fraud_directive.dm
+++ /dev/null
@@ -1,41 +0,0 @@
-datum/directive/terminations/alien_fraud
- special_orders = list(
- "Suspend financial accounts of all Tajaran and Unathi personnel.",
- "Transfer their payrolls to the station account.",
- "Terminate their employment.")
-
- proc/is_alien(mob/M)
- var/species = M.get_species()
- return species == "Tajaran" || species == "Unathi"
-
-datum/directive/terminations/alien_fraud/get_crew_to_terminate()
- var/list/aliens[0]
- for(var/mob/M in player_list)
- if(M.is_ready() && is_alien(M) && M != mode.head_loyalist.current)
- aliens.Add(M)
- return aliens
-
-datum/directive/terminations/alien_fraud/get_description()
- return {"
-
- An extensive conspiracy network aimed at defrauding Nanotrasen of large amounts of funds has been uncovered
- operating within [system_name()]. Human personnel are not suspected to be involved. Further information is classified.
-
- "}
-
-datum/directive/terminations/alien_fraud/meets_prerequisites()
- // There must be at least one Tajaran and at least one Unathi, but the total
- // of the Tajarans and Unathi combined can't be more than 1/3rd of the crew.
- var/tajarans = 0
- var/unathi = 0
- for(var/mob/M in player_list)
- var/species = M.get_species()
- if(species == "Tajaran")
- tajarans++
- if(species == "Unathi")
- unathi++
-
- if(!tajarans || !unathi)
- return 0
-
- return (tajarans + unathi) <= (player_list.len / 3)
diff --git a/code/game/gamemodes/mutiny/directives/bluespace_contagion_directive.dm b/code/game/gamemodes/mutiny/directives/bluespace_contagion_directive.dm
deleted file mode 100644
index 753c761b93d..00000000000
--- a/code/game/gamemodes/mutiny/directives/bluespace_contagion_directive.dm
+++ /dev/null
@@ -1,58 +0,0 @@
-#define INFECTION_COUNT 5
-
-datum/directive/bluespace_contagion
- var/list/infected = list()
-
- proc/get_infection_candidates()
- var/list/candidates[0]
- for(var/mob/M in player_list)
- if(M.is_ready() && !M.is_mechanical() && M != mode.head_loyalist.current)
- candidates.Add(M)
- return candidates
-
-datum/directive/bluespace_contagion/get_description()
- return {"
-
- A manufactured and near-undetectable virus is spreading on Nanotrasen stations.
- The pathogen travels by bluespace after maturing for one day and meets the Sol Health Organisation standards for a class X biological threat, warranting use of lethal force to contain an outbreak.
- No treatment has yet been discovered. Personnel onboard [station_name()] have been infected. Further information is classified.
-
- "}
-
-datum/directive/bluespace_contagion/initialize()
- var/list/candidates = get_infection_candidates()
- var/list/infected_names = list()
- for(var/i=0, i < INFECTION_COUNT, i++)
- if(!candidates.len)
- break
-
- var/mob/candidate = pick(candidates)
- candidates-=candidate
- infected+=candidate
- infected_names+="[candidate.mind.assigned_role] [candidate.mind.name]"
-
- special_orders = list(
- "Quarantine these personnel: [jointext(infected_names, ", ")].",
- "Allow one hour for a cure to be manufactured.",
- "If no cure arrives after that time, execute and burn the infected.")
-
-datum/directive/bluespace_contagion/meets_prerequisites()
- var/list/candidates = get_infection_candidates()
- return candidates.len >= 7
-
-datum/directive/bluespace_contagion/directives_complete()
- return infected.len == 0
-
-datum/directive/bluespace_contagion/get_remaining_orders()
- var/text = ""
- for(var/victim in infected)
- text += "Kill [victim] "
- return text
-
-/hook/death/proc/infected_killed(mob/living/carbon/human/deceased, gibbed)
- var/datum/directive/bluespace_contagion/D = get_directive("bluespace_contagion")
- if(!D) return 1
-
- if(deceased in D.infected)
- D.infected-=deceased
- return 1
diff --git a/code/game/gamemodes/mutiny/directives/financial_crisis_directive.dm b/code/game/gamemodes/mutiny/directives/financial_crisis_directive.dm
deleted file mode 100644
index 8f5daa1cc48..00000000000
--- a/code/game/gamemodes/mutiny/directives/financial_crisis_directive.dm
+++ /dev/null
@@ -1,26 +0,0 @@
-datum/directive/terminations/financial_crisis
- special_orders = list(
- "Suspend financial accounts of all support personnel, excluding the Head of Personnel.",
- "Transfer their payrolls to the station account.",
- "Terminate their employment.")
-
-datum/directive/terminations/financial_crisis/get_crew_to_terminate()
- var/list/support[0]
- var/list/candidates = support_positions - "Head of Personnel"
- for(var/mob/M in player_list)
- if(M.is_ready() && candidates.Find(M.mind.assigned_role))
- support+=(M)
- return support
-
-datum/directive/terminations/financial_crisis/get_description()
- return {"
-
- [system_name()] system banks in financial crisis. Local emergency situation ongoing.
- NT Funds redistributed in accordance with financial regulations covered by employee contracts, impact upon civilian department expected.
- Further information is classified.
-
- "}
-
-datum/directive/terminations/financial_crisis/meets_prerequisites()
- var/list/support = get_crew_to_terminate()
- return support.len >= 5
diff --git a/code/game/gamemodes/mutiny/directives/ipc_virus_directive.dm b/code/game/gamemodes/mutiny/directives/ipc_virus_directive.dm
deleted file mode 100644
index 5f39be3b729..00000000000
--- a/code/game/gamemodes/mutiny/directives/ipc_virus_directive.dm
+++ /dev/null
@@ -1,96 +0,0 @@
-datum/directive/ipc_virus
- special_orders = list(
- "Terminate employment of all IPC personnel.",
- "Extract the Positronic Brains from IPC units.",
- "Mount the Positronic Brains into Cyborgs.")
-
- var/list/roboticist_roles = list(
- "Research Director",
- "Roboticist"
- )
-
- var/list/brains_to_enslave = list()
- var/list/cyborgs_to_make = list()
- var/list/ids_to_terminate = list()
-
- proc/get_ipcs()
- var/list/machines[0]
- for(var/mob/M in player_list)
- if(M.is_ready() && M.get_species() == "Machine")
- machines+=(M)
- return machines
-
- proc/get_roboticists()
- var/list/roboticists[0]
- for(var/mob/M in player_list)
- if(M.is_ready() && roboticist_roles.Find(M.mind.assigned_role))
- roboticists+=(M)
- return roboticists
-
-datum/directive/ipc_virus/initialize()
- for(var/mob/living/carbon/human/H in get_ipcs())
- brains_to_enslave+=H.mind
- cyborgs_to_make+=H.mind
- ids_to_terminate+=H.wear_id
-
-datum/directive/ipc_virus/get_description()
- return {"
-
- IPC units have been found to be infected with a violent and undesired virus in Virgus Ferrorus system.
- Risk to [station_name()] IPC units has not been assessed. Further information is classified.
-
- "}
-
-datum/directive/ipc_virus/meets_prerequisites()
- var/list/ipcs = get_ipcs()
- var/list/roboticists = get_roboticists()
- return ipcs.len > 2 && roboticists.len > 1
-
-datum/directive/ipc_virus/directives_complete()
- return brains_to_enslave.len == 0 && cyborgs_to_make.len == 0 && ids_to_terminate.len == 0
-
-datum/directive/ipc_virus/get_remaining_orders()
- var/text = ""
- for(var/brain in brains_to_enslave)
- text += "Debrain [brain] "
-
- for(var/brain in cyborgs_to_make)
- text += "Enslave [brain] as a Cyborg "
-
- for(var/id in ids_to_terminate)
- text += "Terminate [id] "
-
- return text
-
-/hook/debrain/proc/debrain_directive(var/obj/item/organ/internal/brain/B)
- var/datum/directive/ipc_virus/D = get_directive("ipc_virus")
- if(!D) return 1
-
- if(D.brains_to_enslave.Find(B.brainmob.mind))
- D.brains_to_enslave-=B.brainmob.mind
-
- return 1
-
-/hook/borgify/proc/borgify_directive(mob/living/silicon/robot/cyborg)
- var/datum/directive/ipc_virus/D = get_directive("ipc_virus")
- if(!D) return 1
-
- if(D.cyborgs_to_make.Find(cyborg.mind))
- D.cyborgs_to_make-=cyborg.mind
-
- // In case something glitchy happened and the victim got
- // borged without us tracking the brain removal, go ahead
- // and update that list too.
- if(D.brains_to_enslave.Find(cyborg.mind))
- D.brains_to_enslave-=cyborg.mind
-
- return 1
-
-/hook/terminate_employee/proc/ipc_termination(obj/item/weapon/card/id)
- var/datum/directive/ipc_virus/D = get_directive("ipc_virus")
- if(!D) return 1
-
- if(D.ids_to_terminate && D.ids_to_terminate.Find(id))
- D.ids_to_terminate-=id
-
- return 1
diff --git a/code/game/gamemodes/mutiny/directives/research_to_ripleys_directive.dm b/code/game/gamemodes/mutiny/directives/research_to_ripleys_directive.dm
deleted file mode 100644
index 7c24b901db9..00000000000
--- a/code/game/gamemodes/mutiny/directives/research_to_ripleys_directive.dm
+++ /dev/null
@@ -1,79 +0,0 @@
-#define MATERIALS_REQUIRED 200
-
-datum/directive/research_to_ripleys
- var/list/ids_to_reassign = list()
- var/materials_shipped = 0
-
- proc/is_researcher(mob/M)
- return M.mind.assigned_role in science_positions - "Research Director"
-
- proc/get_researchers()
- var/list/researchers[0]
- for(var/mob/M in player_list)
- if(M.is_ready() && is_researcher(M))
- researchers+=(M)
- return researchers
-
- proc/count_researchers_reassigned()
- var/researchers_reassigned = 0
- for(var/obj/item/weapon/card/id in ids_to_reassign)
- if(ids_to_reassign[id])
- researchers_reassigned++
-
- return researchers_reassigned
-
-datum/directive/research_to_ripleys/get_description()
- return {"
-
- The Nanotrasen [system_name()] Manufactory faces an ore deficit. Financial crisis imminent. [station_name()] has been reassigned as a mining platform.
- The Research Director is to assist the Head of Personnel in coordinating assets.
- Weapons department reports solid sales. Further information is classified.
-
- "}
-
-datum/directive/research_to_ripleys/meets_prerequisites()
- var/list/researchers = get_researchers()
- return researchers.len > 3
-
-datum/directive/research_to_ripleys/initialize()
- for(var/mob/living/carbon/human/R in get_researchers())
- ids_to_reassign[R.wear_id] = 0
-
- special_orders = list(
- "Reassign all research personnel, excluding the Research Director, to Shaft Miner.",
- "Deliver [MATERIALS_REQUIRED] sheets of metal or minerals via the supply shuttle to CentComm.")
-
-datum/directive/research_to_ripleys/directives_complete()
- if(materials_shipped < MATERIALS_REQUIRED) return 0
- return count_researchers_reassigned() == ids_to_reassign.len
-
-datum/directive/research_to_ripleys/get_remaining_orders()
- var/text = ""
- if(MATERIALS_REQUIRED > materials_shipped)
- text += "Ship [MATERIALS_REQUIRED - materials_shipped] sheets of metal or minerals. "
-
- for(var/id in ids_to_reassign)
- if(!ids_to_reassign[id])
- text += "Reassign [id] to Shaft Miner "
-
- return text
-
-/hook/reassign_employee/proc/research_reassignments(obj/item/weapon/card/id/id_card)
- var/datum/directive/research_to_ripleys/D = get_directive("research_to_ripleys")
- if(!D) return 1
-
- if(D.ids_to_reassign && D.ids_to_reassign.Find(id_card))
- D.ids_to_reassign[id_card] = id_card.assignment == "Shaft Miner" ? 1 : 0
-
- return 1
-
-/hook/sell_crate/proc/deliver_materials(obj/structure/closet/crate/sold, area/shuttle)
- var/datum/directive/research_to_ripleys/D = get_directive("research_to_ripleys")
- if(!D) return 1
-
- for(var/atom/A in sold)
- if(istype(A, /obj/item/stack/sheet/mineral) || istype(A, /obj/item/stack/sheet/metal))
- var/obj/item/stack/S = A
- D.materials_shipped += S.amount
-
- return 1
diff --git a/code/game/gamemodes/mutiny/directives/tau_ceti_needs_women_directive.dm b/code/game/gamemodes/mutiny/directives/tau_ceti_needs_women_directive.dm
deleted file mode 100644
index 381a8085a58..00000000000
--- a/code/game/gamemodes/mutiny/directives/tau_ceti_needs_women_directive.dm
+++ /dev/null
@@ -1,108 +0,0 @@
-datum/directive/tau_ceti_needs_women
- var/list/command_targets = list()
- var/list/alien_targets = list()
-
- proc/get_target_gender()
- if(!mode.head_loyalist) return FEMALE
- return mode.head_loyalist.current.get_gender() == FEMALE ? MALE : FEMALE
-
- proc/is_target_gender(mob/M)
- var/species = M.get_species()
- return species != "Diona" && M.get_gender() == get_target_gender()
-
- proc/get_crew_of_target_gender()
- var/list/targets[0]
- for(var/mob/M in player_list)
- if(M.is_ready() && is_target_gender(M) && !M.is_mechanical())
- targets+=(M)
- return targets
-
- proc/get_target_heads()
- var/list/heads[0]
- for(var/mob/M in get_crew_of_target_gender())
- if(command_positions.Find(M.mind.assigned_role))
- heads+=(M)
- return heads
-
- proc/get_target_aliens()
- var/list/aliens[0]
- for(var/mob/M in get_crew_of_target_gender())
- var/species = M.get_species()
- if(species == "Tajaran" || species == "Unathi" || species == "Skrell")
- aliens+=(M)
- return aliens
-
- proc/count_heads_reassigned()
- var/heads_reassigned = 0
- for(var/obj/item/weapon/card/id in command_targets)
- if(command_targets[id])
- heads_reassigned++
-
- return heads_reassigned
-
-datum/directive/tau_ceti_needs_women/get_description()
- return {"
-
- Recent evidence suggests [get_target_gender()] aptitudes may be effected by radiation from [system_name()].
- Effects were measured under laboratory and station conditions. Humans remain more trusted than Xeno. Further information is classified.
-
- "}
-
-datum/directive/tau_ceti_needs_women/initialize()
- for(var/mob/living/carbon/human/H in get_target_heads())
- command_targets[H.wear_id] = 0
-
- for(var/mob/living/carbon/human/H in get_target_aliens())
- alien_targets+=H.wear_id
-
- special_orders = list(
- "Remove [get_target_gender()] personnel from Command positions.",
- "Terminate employment of all [get_target_gender()] Skrell, Tajara, and Unathi.")
-
-datum/directive/tau_ceti_needs_women/meets_prerequisites()
- var/females = 0
- var/males = 0
- for(var/mob/M in player_list)
- if(M.is_ready() && !M.is_mechanical() && M.get_species() != "Diona")
- var/gender = M.get_gender()
- if(gender == MALE)
- males++
- else if(gender == FEMALE)
- females++
-
- return males >= 2 && females >= 2
-
-datum/directive/tau_ceti_needs_women/directives_complete()
- return command_targets.len == count_heads_reassigned() && alien_targets.len == 0
-
-datum/directive/tau_ceti_needs_women/get_remaining_orders()
- var/text = ""
- for(var/head in command_targets)
- if(!command_targets[head])
- text += "Remove [head] from a Head Role "
-
- for(var/id in alien_targets)
- text += "Terminate [id] "
-
- return text
-
-/hook/reassign_employee/proc/command_reassignments(obj/item/weapon/card/id/id_card)
- var/datum/directive/tau_ceti_needs_women/D = get_directive("tau_ceti_needs_women")
- if(!D) return 1
-
- if(D.command_targets && D.command_targets.Find(id_card))
- D.command_targets[id_card] = command_positions.Find(id_card.assignment) ? 0 : 1
-
- return 1
-
-/hook/terminate_employee/proc/gender_target_termination_directive(obj/item/weapon/card/id)
- var/datum/directive/tau_ceti_needs_women/D = get_directive("tau_ceti_needs_women")
- if(!D) return 1
-
- if(D.alien_targets && D.alien_targets.Find(id))
- D.alien_targets-=id
-
- if(D.command_targets && D.command_targets.Find(id))
- D.command_targets[id] = 1
-
- return 1
diff --git a/code/game/gamemodes/mutiny/directives/terminations_directive.dm b/code/game/gamemodes/mutiny/directives/terminations_directive.dm
deleted file mode 100644
index c2b1ac633ea..00000000000
--- a/code/game/gamemodes/mutiny/directives/terminations_directive.dm
+++ /dev/null
@@ -1,71 +0,0 @@
-// This is a parent directive meant to be derived by directives that fit
-// the "fire X type of employee" pattern of directives. Simply apply your
-// flavor text and override get_crew_to_terminate in your child datum.
-// See alien_fraud_directive.dm for an example.
-datum/directive/terminations
- var/list/accounts_to_revoke = list()
- var/list/accounts_to_suspend = list()
- var/list/ids_to_terminate = list()
-
- proc/get_crew_to_terminate()
- return list()
-
-datum/directive/terminations/directives_complete()
- for(var/account_number in accounts_to_suspend)
- if(!accounts_to_suspend[account_number])
- return 0
-
- for(var/account_number in accounts_to_revoke)
- if(!accounts_to_revoke[account_number])
- return 0
-
- return ids_to_terminate.len == 0
-
-datum/directive/terminations/initialize()
- for(var/mob/living/carbon/human/H in get_crew_to_terminate())
- var/datum/money_account/account = H.mind.initial_account
- accounts_to_revoke["[account.account_number]"] = 0
- accounts_to_suspend["[account.account_number]"] = account.suspended
- ids_to_terminate+=(H.wear_id)
-
-datum/directive/terminations/get_remaining_orders()
- var/text = ""
- for(var/account_number in accounts_to_suspend)
- if(!accounts_to_suspend[account_number])
- text += "Suspend Account #[account_number] "
-
- for(var/account_number in accounts_to_revoke)
- if(!accounts_to_revoke[account_number])
- text += "Revoke Account #[account_number] "
-
- for(var/id in ids_to_terminate)
- text += "Terminate [id] "
-
- return text
-
-/hook/revoke_payroll/proc/payroll_directive(datum/money_account/account)
- var/datum/directive/terminations/D = get_directive("terminations")
- if(!D) return 1
-
- if(D.accounts_to_revoke && D.accounts_to_revoke.Find("[account.account_number]"))
- D.accounts_to_revoke["[account.account_number]"] = 1
-
- return 1
-
-/hook/change_account_status/proc/suspension_directive(datum/money_account/account)
- var/datum/directive/terminations/D = get_directive("terminations")
- if(!D) return 1
-
- if(D.accounts_to_suspend && D.accounts_to_suspend.Find("[account.account_number]"))
- D.accounts_to_suspend["[account.account_number]"] = account.suspended
-
- return 1
-
-/hook/terminate_employee/proc/termination_directive(obj/item/weapon/card/id)
- var/datum/directive/terminations/D = get_directive("terminations")
- if(!D) return 1
-
- if(D.ids_to_terminate && D.ids_to_terminate.Find(id))
- D.ids_to_terminate-=id
-
- return 1
diff --git a/code/game/gamemodes/mutiny/directives/test_directive.dm b/code/game/gamemodes/mutiny/directives/test_directive.dm
deleted file mode 100644
index 7d2392acd64..00000000000
--- a/code/game/gamemodes/mutiny/directives/test_directive.dm
+++ /dev/null
@@ -1,23 +0,0 @@
-// For testing
-datum/directive/terminations/test
- special_orders = list(
- "Suspend financial accounts of all ugly personnel.",
- "Transfer their payrolls to the station account.",
- "Terminate their employment.")
-
-datum/directive/terminations/test/get_crew_to_terminate()
- var/list/uglies[0]
- for(var/mob/M in player_list)
- uglies+=(M)
- return uglies
-
-datum/directive/terminations/test/get_description()
- return {"
-
- Wow. Much ugly. So painful.
- Many terminations. Very classified.
-
- "}
-
-datum/directive/terminations/test/meets_prerequisites()
- return 1
diff --git a/code/game/gamemodes/mutiny/directives/vox_heist.dm b/code/game/gamemodes/mutiny/directives/vox_heist.dm
deleted file mode 100644
index f652f7016d2..00000000000
--- a/code/game/gamemodes/mutiny/directives/vox_heist.dm
+++ /dev/null
@@ -1,111 +0,0 @@
-datum/directive/vox_heist
- var/list/vox = list()
- var/list/sympathizers = list()
-
- proc/get_vox_candidates()
- var/list/candidates[0]
- for(var/mob/M in player_list)
- if(M.is_ready() && is_vox(M))
- candidates.Add(M)
- return candidates
-
- proc/get_sympathizer_candidates()
- var/list/candidates[0]
- for(var/mob/M in player_list)
- if(M.is_ready() && !is_vox(M) && !M.is_mechanical() && M.mind.assigned_role != "Captain")
- candidates[M] = get_weight(M)
- return candidates
-
- proc/is_vox(mob/M)
- return M.get_species() == "Vox"
-
- proc/get_weight(mob/M)
- // You will have a high chance of being regarded as a vox sympathizer if your
- // relationship with Nanotrasen is negative. Otherwise, command and security
- // staff are pretty well trusted and maltreated alien races are easy suspects.
- var/relation = M.client.prefs.nanotrasen_relation
- if(relation == "Opposed")
- return 8
- if(relation == "Skeptical")
- return 5
- if(command_positions.Find(M.mind.assigned_role))
- return 1
- var/species = M.get_species()
- if(species == "Tajaran" || species == "Unathi")
- return 5
- if(security_positions.Find(M.mind.assigned_role))
- return 2
- return 3
-
-datum/directive/vox_heist/get_description()
- return {"
-
- A vox warship has commandeered a Nanotrasen transport carrying 2,500 cubic meters of liquid plasma.
- The raiders are willing to return the stolen cargo in exchange for the capture or execution of so-called "vox pariah" that are stationed aboard [station_name()].
- If the transport is not recovered, the estimated loss of profits is a threat to the solvency of the company.
- Predictive analysis has identified certain members of the crew as sympathetic to the vox pariah. Detain the sympathizers to guarantee a successful exchange.
- Lethal force is authorized by the High Command Department of Security. Further information is classified.
-
- "}
-
-datum/directive/vox_heist/initialize()
- var/list/vox_candidates = get_vox_candidates()
- for(var/mob/pariah in vox_candidates)
- vox.Add(pariah.mind)
-
- special_orders = list(
- "Brig or kill all Vox Pariah.")
-
- var/list/sympathizer_candidates = get_sympathizer_candidates()
- var/list/sympathizer_names = list()
- var/sympathizer_count = min(rand(2,4), sympathizer_candidates.len)
- for(var/i=0, i < sympathizer_count, i++)
- if(!sympathizer_candidates.len)
- break
-
- var/mob/candidate = pickweight(sympathizer_candidates)
- sympathizer_candidates.Remove(candidate)
- sympathizers.Add(candidate.mind)
- sympathizer_names.Add("[candidate.mind.assigned_role] [candidate.mind.name]")
-
- if(sympathizers.len)
- special_orders.Add("Brig the following sympathizers: [jointext(sympathizer_names, ", ")]")
-
-datum/directive/vox_heist/meets_prerequisites()
- var/list/candidates = get_vox_candidates()
- return candidates.len >= 2
-
-datum/directive/vox_heist/directives_complete()
- if(!vox.len && !sympathizers.len)
- return 1
-
- for(var/datum/mind/pariah in vox)
- if(!pariah.current.is_in_brig())
- return 0
-
- for(var/datum/mind/sympathizer in sympathizers)
- if(!sympathizer.current.is_in_brig())
- return 0
-
- return 1
-
-datum/directive/vox_heist/get_remaining_orders()
- var/text = ""
- for(var/datum/mind/pariah in vox)
- if(!pariah.current.is_in_brig())
- text += "Brig or Kill [pariah] "
- for(var/datum/mind/sympathizer in sympathizers)
- if(!sympathizer.current.is_in_brig())
- text += "Brig [sympathizer] "
- return text
-
-/hook/death/proc/vox_or_sympathizer_killed(mob/living/carbon/human/deceased, gibbed)
- var/datum/directive/vox_heist/D = get_directive("vox_heist")
- if(!D) return 1
-
- var/datum/mind/M = deceased.mind
- if(M in D.vox)
- D.vox.Remove(M)
- if(M in D.sympathizers)
- D.sympathizers.Remove(M)
- return 1
diff --git a/code/game/gamemodes/mutiny/emergency_authentication_device.dm b/code/game/gamemodes/mutiny/emergency_authentication_device.dm
deleted file mode 100644
index 0df97401a2e..00000000000
--- a/code/game/gamemodes/mutiny/emergency_authentication_device.dm
+++ /dev/null
@@ -1,112 +0,0 @@
-/obj/machinery/emergency_authentication_device
- var/datum/game_mode/mutiny/mode
-
- name = "\improper Emergency Authentication Device"
- icon = 'icons/obj/stationobjs.dmi'
- icon_state = "blackbox"
- density = 1
- anchored = 1
-
- var/captains_key
- var/secondary_key
- var/activated = 0
-
- use_power = 0
-
- New(loc, mode)
- src.mode = mode
- ..(loc)
-
- proc/check_key_existence()
- if(!mode.captains_key)
- captains_key = 1
-
- if(!mode.secondary_key)
- secondary_key = 1
-
- proc/get_status()
- if(activated)
- return "Activated"
- if(captains_key && secondary_key)
- return "Both Keys Authenticated"
- if(captains_key)
- return "Captain's Key Authenticated"
- if(secondary_key)
- return "Secondary Key Authenticated"
- else
- return "Inactive"
-
- proc/launch_shuttle()
- spawn(rand(5 SECONDS, 45 SECONDS))
- if(shuttle_master.requestEvac(usr, "Directive X"))
- spawn(20 SECONDS)
- var/text = "[station_name()], we have confirmed your completion of Directive X. An evacuation shuttle is en route to receive your crew for debriefing."
- command_announcement.Announce(text, "Emergency Transmission")
-
-/obj/machinery/emergency_authentication_device/attack_hand(mob/user)
- if(activated)
- to_chat(user, "\blue \The [src] is already active!")
- return
-
- if(!mode.current_directive.directives_complete())
- atom_say("Command aborted. Communication with CentComm is prohibited until Directive X has been completed.")
- return
-
- check_key_existence()
- if(captains_key && secondary_key)
- activated = 1
- to_chat(user, "\blue You activate \the [src]!")
- atom_say("Command acknowledged. Initiating quantum entanglement relay to Nanotrasen High Command.")
- launch_shuttle()
- return
-
- if(!captains_key && !secondary_key)
- atom_say("Command aborted. Please present the authentication keys before proceeding.")
- return
-
- if(!captains_key)
- atom_say("Command aborted. Please present the Captain's Authentication Key.")
- return
-
- if(!secondary_key)
- atom_say("Command aborted. Please present the Emergency Secondary Authentication Key.")
- return
-
- // Impossible!
- atom_say("Command aborted. This unit is defective.")
-
-/obj/machinery/emergency_authentication_device/attackby(obj/item/weapon/O, mob/user, params)
- if(activated)
- to_chat(user, "\blue \The [src] is already active!")
- return
-
- if(!mode.current_directive.directives_complete())
- atom_say("Command aborted. Communication with CentComm is prohibited until Directive X has been completed.")
- return
-
- check_key_existence()
- if(istype(O, /obj/item/weapon/mutiny/auth_key/captain) && !captains_key)
- captains_key = O
- user.drop_item()
- O.loc = src
-
- atom_say("Key received. Thank you, Captain [mode.head_loyalist].")
- spawn(5)
- atom_say(secondary_key ? "Your keys have been authenticated. Communication with CentComm is now authorized." : "Please insert the Emergency Secondary Authentication Key now.")
- return
-
- if(istype(O, /obj/item/weapon/mutiny/auth_key/secondary) && !secondary_key)
- secondary_key = O
- user.drop_item()
- O.loc = src
-
- atom_say("Key received. Thank you, Secondary Authenticator [mode.head_mutineer].")
- spawn(5)
- atom_say(captains_key ? "Your keys have been authenticated. Communication with CentComm is now authorized." : "Please insert the Captain's Authentication Key now.")
- return
- ..()
-
-/obj/machinery/emergency_authentication_device/examine(mob/user)
- to_chat(user, {"This is a specialized communications device that is able to instantly send a message to Nanotrasen High Command via quantum entanglement
- with a sister device at CentComm.
- The EAD's status is [get_status()]."})
diff --git a/code/game/gamemodes/mutiny/key_pinpointer.dm b/code/game/gamemodes/mutiny/key_pinpointer.dm
deleted file mode 100644
index 0125636d769..00000000000
--- a/code/game/gamemodes/mutiny/key_pinpointer.dm
+++ /dev/null
@@ -1,35 +0,0 @@
-/obj/item/weapon/pinpointer/advpinpointer/auth_key
- name = "\improper Authentication Key Pinpointer"
- desc = "Tracks the positions of the emergency authentication keys."
- var/datum/game_mode/mutiny/mutiny
-
- New()
- mutiny = ticker.mode
- ..()
-
-/obj/item/weapon/pinpointer/advpinpointer/auth_key/attack_self()
- switch(mode)
- if(0)
- mode = 1
- active = 1
- target = mutiny.captains_key
- point_at(target)
- to_chat(usr, "\blue You calibrate \the [src] to locate the Captain's Authentication Key.")
- if(1)
- mode = 2
- target = mutiny.secondary_key
- to_chat(usr, "\blue You calibrate \the [src] to locate the Emergency Secondary Authentication Key.")
- else
- mode = 0
- active = 0
- icon_state = "pinoff"
- to_chat(usr, "\blue You switch \the [src] off.")
-
-/obj/item/weapon/pinpointer/advpinpointer/auth_key/examine(mob/user)
- switch(mode)
- if(1)
- to_chat(user, "Is is calibrated for the Captain's Authentication Key.")
- if(2)
- to_chat(user, "It is calibrated for the Emergency Secondary Authentication Key.")
- else
- to_chat(user, "It is switched off.")
diff --git a/code/game/gamemodes/mutiny/mutiny.dm b/code/game/gamemodes/mutiny/mutiny.dm
deleted file mode 100644
index 21a6d8f9c41..00000000000
--- a/code/game/gamemodes/mutiny/mutiny.dm
+++ /dev/null
@@ -1,380 +0,0 @@
-#define MUTINY_RECRUITMENT_COOLDOWN 5
-
-datum/game_mode/mutiny
- var/datum/mutiny_fluff/fluff
- var/datum/directive/current_directive
- var/obj/item/weapon/mutiny/auth_key/captain/captains_key
- var/obj/item/weapon/mutiny/auth_key/secondary/secondary_key
- var/obj/machinery/emergency_authentication_device/ead
- var/datum/mind/head_loyalist
- var/datum/mind/head_mutineer
- var/recruit_loyalist_cooldown = 0
- var/recruit_mutineer_cooldown = 0
- var/list/loyalists = list()
- var/list/mutineers = list()
- var/list/body_count = list()
-
- name = "mutiny"
- config_tag = "mutiny"
- required_players = 20
- ert_disabled = 1
-
- New()
- fluff = new(src)
-
- proc/reveal_directives()
- spawn(rand(1 MINUTES, 3 MINUTES))
- command_announcement.Announce("Incoming emergency directive: Captain's office fax machine, [station_name()].","Emergency Transmission")
- spawn(rand(3 MINUTES, 5 MINUTES))
- send_pda_message()
- spawn(rand(3 MINUTES, 5 MINUTES))
- fluff.announce_directives()
- spawn(rand(2 MINUTES, 3 MINUTES))
-
- var/list/reasons = list(
- "political instability",
- "quantum fluctuations",
- "hostile raiders",
- "derelict station debris",
- "REDACTED",
- "ancient alien artillery",
- "solar magnetic storms",
- "sentient time-travelling killbots",
- "gravitational anomalies",
- "wormholes to another dimension",
- "a telescience mishap",
- "radiation flares",
- "supermatter dust",
- "leaks into a negative reality",
- "antiparticle clouds",
- "residual bluespace energy",
- "suspected syndicate operatives",
- "malfunctioning von Neumann probe swarms",
- "shadowy interlopers",
- "a stranded Vox arkship",
- "haywire IPC constructs",
- "rogue Unathi exiles",
- "artifacts of eldritch horror",
- "a brain slug infestation",
- "killer bugs that lay eggs in the husks of the living",
- "a deserted transport carrying xenomorph specimens",
- "an emissary for the gestalt requesting a security detail",
- "a Tajaran slave rebellion",
- "radical Skrellian transevolutionaries",
- "classified security operations",
- "science-defying raw elemental chaos"
- )
- command_announcement.Announce("The presence of [pick(reasons)] in the region is tying up all available local emergency resources; emergency response teams cannot be called at this time.","Emergency Transmission")
-
- // Returns an array in case we want to expand on this later.
- proc/get_head_loyalist_candidates()
- var/list/candidates[0]
- for(var/mob/loyalist in player_list)
- if(loyalist.mind && loyalist.mind.assigned_role == "Captain")
- candidates+=loyalist.mind
- return candidates
-
- proc/get_head_mutineer_candidates()
- var/list/candidates[0]
- for(var/mob/mutineer in player_list)
- if(ROLE_MUTINEER in mutineer.client.prefs.be_special)
- if(!jobban_isbanned(mutineer, "mutineer") && !jobban_isbanned(mutineer,"Syndicate"))
- for(var/job in command_positions - "Captain")
- if(mutineer.mind && mutineer.mind.assigned_role == job)
- candidates+=mutineer.mind
- return candidates
-
- proc/get_directive_candidates()
- var/list/candidates[0]
- for(var/T in subtypesof(/datum/directive))
- var/datum/directive/D = new T(src)
-// to_chat(world, D.name)
- if(D.meets_prerequisites())
- candidates+=D
- return candidates
-
- proc/send_pda_message()
- var/obj/item/device/pda/pda = null
- for(var/obj/item/device/pda/P in head_mutineer.current)
- pda = P
- break
-
- if(!pda)
- return 0
-
- var/datum/data/pda/app/messenger/pdam = pda.find_program(/datum/data/pda/app/messenger)
- if(pdam)
- pdam.notify(fluff.get_pda_body(), 0)
- return 1
-
- proc/get_equipment_slots()
- return list(
- "left pocket" = slot_l_store,
- "right pocket" = slot_r_store,
- "backpack" = slot_in_backpack,
- "left hand" = slot_l_hand,
- "right hand" = slot_r_hand)
-
- proc/equip_head_loyalist()
- equip_head(head_loyalist, "loyalist", /mob/living/carbon/human/proc/recruit_loyalist)
-
- proc/equip_head_mutineer()
- equip_head(head_mutineer, "mutineer", /mob/living/carbon/human/proc/recruit_mutineer)
-
- proc/equip_head(datum/mind/head, faction, proc/recruitment_verb)
- var/mob/living/carbon/human/H = head.current
- to_chat(H, "You are the Head [capitalize(faction)]!")
- head.special_role = "head_[faction]"
-
- var/slots = get_equipment_slots()
- switch(faction)
- if("loyalist")
- if(captains_key) qdel(captains_key)
- captains_key = new(H)
- H.equip_in_one_of_slots(captains_key, slots)
- if("mutineer")
- if(secondary_key) qdel(secondary_key)
- secondary_key = new(H)
- H.equip_in_one_of_slots(secondary_key, slots)
-
- H.update_icons()
- H.verbs += recruitment_verb
-
- proc/add_loyalist(datum/mind/M)
- add_faction(M, "loyalist", loyalists)
-
- proc/add_mutineer(datum/mind/M)
- add_faction(M, "mutineer", mutineers)
-
- proc/add_faction(datum/mind/M, faction, list/faction_list)
- if(!can_be_recruited(M, faction))
- to_chat(M.current, "\red Recruitment canceled; your role has already changed.")
- to_chat(head_mutineer.current, "\red Could not recruit [M]. Their role has changed.")
- return
-
- if(M in loyalists)
- loyalists-=M
-
- if(M in mutineers)
- mutineers-=M
-
- M.special_role = faction
- faction_list+=M
-
- if(faction == "mutineer")
- to_chat(M.current, fluff.mutineer_tag("You have joined the mutineers!"))
- to_chat(head_mutineer.current, fluff.mutineer_tag("[M] has joined the mutineers!"))
- else
- to_chat(M.current, fluff.loyalist_tag("You have joined the loyalists!"))
- to_chat(head_loyalist.current, fluff.loyalist_tag("[M] has joined the loyalists!"))
-
- update_icon(M)
-
- proc/was_bloodbath()
- var/list/remaining_loyalists = loyalists - body_count
- if(!remaining_loyalists.len)
- return 1
-
- var/list/remaining_mutineers = mutineers - body_count
- if(!remaining_mutineers.len)
- return 1
-
- return 0
-
- proc/replace_nuke_with_ead()
- for(var/obj/machinery/nuclearbomb/N in world)
- ead = new(N.loc, src)
- qdel(N)
-
- proc/unbolt_vault_door()
- var/obj/machinery/door/airlock/vault = locate(/obj/machinery/door/airlock/vault)
- vault.unlock(1)
-
- proc/make_secret_transcript()
- var/obj/machinery/computer/telecomms/server/S = locate(/obj/machinery/computer/telecomms/server)
- if(!S) return
-
- var/obj/item/weapon/paper/crumpled/bloody/transcript = new(S.loc)
- transcript.name = "secret transcript"
- transcript.info = fluff.secret_transcript()
-
- proc/can_be_recruited(datum/mind/M, role)
- if(!M) return 0
- if(!M.special_role) return 1
- switch(role)
- if("loyalist")
- return M.special_role == "mutineer"
- if("mutineer")
- return M.special_role == "loyalist"
-
- proc/round_outcome()
- to_chat(world, "Breaking News ")
- if(was_bloodbath())
- to_chat(world, fluff.no_victory())
- return
-
- var/directives_completed = current_directive.directives_complete()
- var/ead_activated = ead.activated
- if(directives_completed && ead_activated)
- to_chat(world, fluff.loyalist_major_victory())
- else if(directives_completed && !ead_activated)
- to_chat(world, fluff.loyalist_minor_victory())
- else if(!directives_completed && ead_activated)
- to_chat(world, fluff.mutineer_minor_victory())
- else if(!directives_completed && !ead_activated)
- to_chat(world, fluff.mutineer_major_victory())
-
- world << sound('sound/machines/twobeep.ogg')
-
- proc/update_all_icons()
- spawn(0)
- for(var/datum/mind/M in mutineers)
- update_icon(M)
-
- for(var/datum/mind/M in loyalists)
- update_icon(M)
- return 1
-
- proc/update_icon(datum/mind/M)
- if(!M.current || !M.current.client)
- return 0
-
- for(var/image/I in head_loyalist.current.client.images)
- if(I.loc == M.current && (I.icon_state == "loyalist" || I.icon_state == "mutineer"))
- qdel(I)
-
- for(var/image/I in head_mutineer.current.client.images)
- if(I.loc == M.current && (I.icon_state == "loyalist" || I.icon_state == "mutineer"))
- qdel(I)
-
- if(M in loyalists)
- var/I = image('icons/mob/mob.dmi', loc=M.current, icon_state = "loyalist")
- head_loyalist.current.client.images += I
-
- if(M in mutineers)
- var/I = image('icons/mob/mob.dmi', loc=M.current, icon_state = "mutineer")
- head_mutineer.current.client.images += I
-
- return 1
-
-/datum/game_mode/mutiny/announce()
- fluff.announce()
-
-/datum/game_mode/mutiny/pre_setup()
- var/list/loyalist_candidates = get_head_loyalist_candidates()
- if(!loyalist_candidates || loyalist_candidates.len == 0)
- to_chat(world, "\red Mutiny mode aborted: no valid candidates for head loyalist.")
- return 0
-
- var/list/mutineer_candidates = get_head_mutineer_candidates()
- if(!mutineer_candidates || mutineer_candidates.len == 0)
- to_chat(world, "\red Mutiny mode aborted: no valid candidates for head mutineer.")
- return 0
-
- var/list/directive_candidates = get_directive_candidates()
- if(!directive_candidates || directive_candidates.len == 0)
- to_chat(world, "\red Mutiny mode aborted: no valid candidates for Directive X.")
- return 0
-
- head_loyalist = pick(loyalist_candidates)
- head_mutineer = pick(mutineer_candidates)
- current_directive = pick(directive_candidates)
-
- return 1
-
-/datum/game_mode/mutiny/post_setup()
- equip_head_loyalist()
- equip_head_mutineer()
-
- loyalists+=head_loyalist
- mutineers+=head_mutineer
-
- replace_nuke_with_ead()
- current_directive.initialize()
- unbolt_vault_door()
- make_secret_transcript()
-
- update_all_icons()
- spawn(0)
- reveal_directives()
- ..()
-
-/mob/living/carbon/human/proc/recruit_loyalist()
- set name = "Recruit Loyalist"
- set category = "Mutiny"
-
- var/datum/game_mode/mutiny/mode = get_mutiny_mode()
- if(!mode || src != mode.head_loyalist.current)
- return
-
- var/list/candidates = list()
- for(var/mob/living/carbon/human/P in oview(src))
- if(!stat && P.client && mode.can_be_recruited(P.mind, "loyalist"))
- candidates += P
-
- if(!candidates.len)
- to_chat(src, "\red You aren't close enough to anybody that can be recruited.")
- return
-
- if(world.time < mode.recruit_loyalist_cooldown)
- to_chat(src, "\red Wait [MUTINY_RECRUITMENT_COOLDOWN] seconds before recruiting again.")
- return
-
- mode.recruit_loyalist_cooldown = world.time + (MUTINY_RECRUITMENT_COOLDOWN SECONDS)
-
- var/mob/living/carbon/human/M = input("Select a person to recruit", "Loyalist recruitment", null) as mob in candidates
-
- if(M)
- to_chat(src, "Attempting to recruit [M]...")
- log_admin("[key_name(src)] attempted to recruit [M] as a loyalist.")
- message_admins("\red [key_name_admin(src)] attempted to recruit [M] as a loyalist.")
-
- var/choice = alert(M, "Asked by [src]: Will you help me complete Directive X?", "Loyalist recruitment", "Yes", "No")
- if(choice == "Yes")
- mode.add_loyalist(M.mind)
- else if(choice == "No")
- to_chat(M, "\red You declined to join the loyalists.")
- to_chat(mode.head_loyalist.current, "[M] declined to support the loyalists. ")
-
-/mob/living/carbon/human/proc/recruit_mutineer()
- set name = "Recruit Mutineer"
- set category = "Mutiny"
-
- var/datum/game_mode/mutiny/mode = get_mutiny_mode()
- if(!mode || src != mode.head_mutineer.current)
- return
-
- var/list/candidates = list()
- for(var/mob/living/carbon/human/P in oview(src))
- if(!stat && P.client && mode.can_be_recruited(P.mind, "mutineer"))
- candidates += P
-
- if(!candidates.len)
- to_chat(src, "\red You aren't close enough to anybody that can be recruited.")
- return
-
- if(world.time < mode.recruit_mutineer_cooldown)
- to_chat(src, "\red Wait [MUTINY_RECRUITMENT_COOLDOWN] seconds before recruiting again.")
- return
-
- mode.recruit_mutineer_cooldown = world.time + (MUTINY_RECRUITMENT_COOLDOWN SECONDS)
-
- var/mob/living/carbon/human/M = input("Select a person to recruit", "Mutineer recruitment", null) as mob in candidates
-
- if(M)
- to_chat(src, "Attempting to recruit [M]...")
- log_admin("[key_name(src)] attempted to recruit [M] as a mutineer.")
- message_admins("\red [key_name_admin(src)] attempted to recruit [M] as a mutineer.")
-
- var/choice = alert(M, "Asked by [src]: Will you help me stop Directive X?", "Mutineer recruitment", "Yes", "No")
- if(choice == "Yes")
- mode.add_mutineer(M.mind)
- else if(choice == "No")
- to_chat(M, "\red You declined to join the mutineers.")
- to_chat(mode.head_mutineer.current, "[M] declined to support the mutineers. ")
-
-/proc/get_mutiny_mode()
- if(!ticker || !istype(ticker.mode, /datum/game_mode/mutiny))
- return null
-
- return ticker.mode
diff --git a/code/game/gamemodes/mutiny/mutiny_admin.dm b/code/game/gamemodes/mutiny/mutiny_admin.dm
deleted file mode 100644
index e4b2cca1c63..00000000000
--- a/code/game/gamemodes/mutiny/mutiny_admin.dm
+++ /dev/null
@@ -1,83 +0,0 @@
-/datum/game_mode/mutiny/proc/check_antagonists_ui(datum/admins/admins)
- var/turf/captains_key_loc = captains_key ? captains_key.get_loc_turf() : "Lost or Destroyed"
- var/turf/secondary_key_loc = secondary_key ? secondary_key.get_loc_turf() : "Lost or Destroyed"
- var/remaining_objectives = current_directive.get_remaining_orders()
- var/txt = {"
- Context:
-
- [current_directive.get_description()]
-
- Orders:
-
- [fluff.get_orders()]
-
-
- Remaining Objectives
-
- [remaining_objectives ? remaining_objectives : "None "]
-
-
- Authentication:
- Captain's Key: [captains_key_loc]
- Activate
- Secondary Key: [secondary_key_loc]
- Activate
- EAD: [ead ? ead.get_status() : "Lost or Destroyed"]
- Activate
-
- "}
-
- txt += "Reassign Head Loyalist "
- if(head_loyalist)
- txt += admins.check_role_table("Head Loyalist", list(head_loyalist), 0)
-
- var/list/loyal_crew = loyalists - head_loyalist
- if(loyal_crew.len)
- txt += admins.check_role_table("Loyalists", loyal_crew, 0)
-
- txt += "Reassign Head Mutineer "
- if(head_mutineer)
- txt += admins.check_role_table("Head Mutineer", list(head_mutineer), 0)
-
- var/list/mutiny_crew = mutineers - head_mutineer
- if(mutiny_crew.len)
- txt += admins.check_role_table("Mutineers", mutiny_crew, 0)
-
- if(body_count.len)
- txt += admins.check_role_table("Casualties", body_count, 0)
-
- return txt
-
-/datum/game_mode/mutiny/check_antagonists_topic(href, href_list[])
- switch(href_list["choice"])
- if("activate_captains_key")
- ead.captains_key = 1
- return 1
- if("activate_secondary_key")
- ead.secondary_key = 1
- return 1
- if("activate_ead")
- ead.activated = 1
- return 1
- if("reassign_head_loyalist")
- var/mob/M = get_reassignment_candidate("Loyalist")
- if(M)
- head_loyalist = M.mind
- equip_head_loyalist()
- return 1
- if("reassign_head_mutineer")
- var/mob/M = get_reassignment_candidate("Mutineer")
- if(M)
- head_mutineer = M.mind
- equip_head_mutineer()
- return 1
- else
- return 0
-
-/datum/game_mode/mutiny/proc/get_reassignment_candidate(faction)
- var/list/targets[0]
- for(var/mob/living/carbon/human/H in player_list)
- if(H.is_ready() && !H.is_dead())
- targets.Add(H)
-
- return input("Select a player to lead the [faction] faction.", "Head [faction] reassignment", null) as mob in targets
diff --git a/code/game/gamemodes/mutiny/mutiny_fluff.dm b/code/game/gamemodes/mutiny/mutiny_fluff.dm
deleted file mode 100644
index 637028c3158..00000000000
--- a/code/game/gamemodes/mutiny/mutiny_fluff.dm
+++ /dev/null
@@ -1,197 +0,0 @@
-/datum/mutiny_fluff
- var/datum/game_mode/mutiny/mode
-
- New(datum/game_mode/mutiny/M)
- mode = M
-
- proc/announce_directives()
- for(var/obj/machinery/photocopier/faxmachine/fax in world)
- if(fax.department == "Captain's Office")
- var/obj/item/weapon/paper/directive_x = new(fax.loc)
- directive_x.name = "emergency action message"
- directive_x.info = get_fax_body()
-
- proc/get_fax_body()
- return {"
- NOT A DRILL . . . EMERGENCY DIRECTIVE . . . NOT A DRILL
-
- TO: Captain [mode.head_loyalist], Commanding Officer, [station_name()]
- FROM: Nanotrasen Emergency Messaging Relay
- DATE: [time2text(world.realtime, "MM/DD")]/[game_year]
- SUBJECT: Directive X
-
-
- [mode.current_directive.get_description()]
-
-
- Emergency Authentication Protocol
-
- A member of your Command Staff is this shift's designated Emergency Secondary Authenticator.
- This Emergency Secondary Authenticator is uniquely aware of their role and possesses the Emergency Secondary Authentication Key.
- As Captain, you possess the Captain's Authentication Key.
- The Emergency Authentication Device is located in the vault of your station, and requires simultaneous activation of the Authentication Keys.
- An Authentication Key Pinpointer can be delivered via Cargo Bay to assist recovery of the Authentication Keys should they be lost aboard the station.
- A key's destruction or removal from the station's perimeter will automatically and irreversibly activate the Emergency Authentication Device.
-
-
-
- Orders
-
- Captain [mode.head_loyalist], you are to immediately initiate the following procedure; codenamed Directive X:
-
-
- [get_orders()]
-
-
-
- Authentication
-
- Encoded Authentication String: T0JCJUwoIVFDQA==
- Emergency Action Code: O B B _ L _ _ Q C _
- ERROR: DECODING INCOMPLETE (40% LOSS)
-
-
-
-
- NOT A DRILL . . . EMERGENCY DIRECTIVE . . . NOT A DRILL
- "}
-
- proc/get_orders()
- var/text = "Immediate external transmission and signals silence. Evacuation and Cargo services will remain available. All ERT teams are engaged elsewhere. Do not communicate with Central Command under any circumstances. "
- for(var/order in mode.current_directive.special_orders)
- text += "[order] "
-
- text += "Upon completion of this Directive, Captain [mode.head_loyalist] and the Emergency Secondary Authenticator must utilise the Captain's Authentication Key and the Emergency Secondary Authentication Key to activate the Emergency Authentication Device. "
- return text
-
- proc/get_pda_body()
- return {"← From Anonymous Channel: \"You must read this! Nanotrasen Chain of Command COMPROMISED. Command Encryptions BROKEN. [station_name()] Captain [mode.head_loyalist] will receive orders that must NOT BE BROUGHT TO FRUITION!
-
-They don't care about us they only care about WEALTH and POWER... Share this message with people you trust.
-
-Be safe, friend.\" (Unable to Reply)
"}
-
- proc/announce()
- to_chat(world, "The current game mode is - Mutiny! ")
- to_chat(world, {"
-The crew will be divided by their sense of ethics when a morally turbulent emergency directive arrives with an incomplete command validation code.
-The [loyalist_tag("Head Loyalist")] is the Captain, who carries the [loyalist_tag("Captain's Authentication Key")] at all times.
-The [mutineer_tag("Head Mutineer")] is a random Head of Staff who carries the [mutineer_tag("Emergency Secondary Authentication Key")].
-Both keys are required to activate the Emergency Authentication Device (EAD) in the vault, signalling to Nanotrasen that the directive is complete.
-
-
-Loyalists - Follow the Head Loyalist in carrying out [loyalist_tag("Nanotrasen's directives")] then activate the EAD .
-Mutineers - Prevent the completion of the [mutineer_tag("improperly validated directives")] and the activation of the EAD .
-
"})
-
- proc/loyalist_tag(text)
- return "[text] "
-
- proc/mutineer_tag(text)
- return "[text] "
-
- proc/their(datum/mind/head)
- if(head.current.gender == MALE)
- return "his"
- else if(head.current.gender == FEMALE)
- return "her"
-
- return "their"
-
- proc/loyalist_major_victory()
- return {"
-Nanotrasen has praised the efforts of Captain [mode.head_loyalist] and loyal members of [their(mode.head_loyalist)] crew, who recently managed to put down a mutiny--amid a local interstellar crisis--aboard the [station_name()] , a research station in [system_name()].
-The mutiny was spurred by a top secret directive sent to the station, presumably in response to the crisis within the system.
-Despite the mutiny, the crew was successful in implementing the directive and activating their on-board emergency authentication device.
-[mode.mutineers.len] members of the station's personnel were charged with terrorist action against the Company and, if found guilty by a Sol magistrate, will be sentenced to life incarceration.
-Nanotrasen will be awarding [mode.loyalists.len] members of the crew with the [loyalist_tag("Star of Loyalty")], following their successful efforts, at a ceremony this coming Thursday.
-[mode.body_count.len] are believed to have died during the coup.
-Nanotrasen's image will forever be haunted by the fact that a mutiny took place on one of its own stations.
- "}
-
- proc/loyalist_minor_victory()
- return {"
-Nanotrasen has praised the efforts of Captain [mode.head_loyalist] and loyal members of [their(mode.head_loyalist)] crew, who recently managed to put down a mutiny--amid a local interstellar crisis--aboard the [station_name()] , a research station in [system_name()].
-The mutiny was spurred by a top secret directive sent to the station, presumably in response to the crisis within the system.
-Despite the mutiny, the crew was successful in implementing the directive. Unfortunately, they failed to notify Central Command of their successes due to a breach in the chain of command.
-[mode.mutineers.len] members of the station's personnel were charged with terrorist action against the Company and, if found guilty by a Sol magistrate, will be sentenced to life incarceration.
-Nanotrasen will be awarding [mode.loyalists.len] members of the crew with the [loyalist_tag("Star of Loyalty")], following their mostly successful efforts, at a ceremony this coming Thursday.
-[mode.body_count.len] are believed to have died during the coup.
-Nanotrasen's image will forever be haunted by the fact that a mutiny took place on one of its own stations.
- "}
-
- proc/no_victory()
- return {"
-Nanotrasen has been thrust into turmoil following an apparent mutiny by key personnel aboard the [station_name()] , a research station in [system_name()].
-The mutiny was spurred by a top secret directive sent to the station, presumably in response to the crisis within the system.
-No further information has yet emerged from the station or its crew, who are presumed to be in holding with Nanotrasen investigators.
-Nanotrasen officials refuse to comment.
-Sources indicate that [mode.mutineers.len] members of the station's personnel are currently under investigation for terrorist activity, and [mode.loyalists.len] crew are currently providing evidence to investigators, believed to be the 'loyal' station personnel.
-[mode.body_count.len] are believed to have died during the coup.
-Nanotrasen's image will forever be haunted by the fact that a mutiny took place on one of its own stations.
- "}
-
- proc/mutineer_minor_victory()
- return {"
-Reports have emerged that an impromptu mutiny has taken place, amid a local interstellar crisis, aboard the [station_name()] , a research station in [system_name()].
-The mutiny was spurred by a top secret directive sent to the station, presumably in response to the crisis within the system.
-Information at present indicates that the top-secret directive--which has since been retracted--was invalid due to a broken authentication code. Members of the crew, including an unidentified Head of Staff, prevented the directive from being accomplished.
-[mode.mutineers.len] members of the station's personnel were released from interrogations today, following a mutiny investigation.
-Nanotrasen has reprimanded [mode.loyalists.len] members of the crew for failing to follow command validation procedures.
-[mode.body_count.len] are believed to have died during the coup.
-Even though the directive was not successfully implemented, Nanotrasen's image will forever be haunted by the fact that its authentication protocol was breached with such magnitude and that a mutiny was the result.
- "}
-
- proc/mutineer_major_victory()
- return {"
-Nanotrasen has praised the efforts of [mode.head_mutineer.assigned_role] [mode.head_mutineer] and several other members of the crew, who recently seized control of a company station in [system_name()]--[station_name()] --amid a local interstellar crisis.
-What appears to have been a "legitimate" mutiny was spurred by a top secret directive sent to the station, presumably in response to the crisis within the system.
-It has been revealed that the directive was invalid and fraudulent. Company officials have not released a statement about the source of the directive.
-Thanks to the efforts of the resistant members of the crew, the directive was not carried out.
-[mode.mutineers.len] members of the station's personnel were congratulated and awarded with the [mutineer_tag("Star of Bravery")], for their efforts in preventing the illegal directive's completion.
-Nanotrasen has [mode.loyalists.len] members of the crew in holding, while it investigates the circumstances that led to the acceptance and initiation of an invalid directive.
-[mode.body_count.len] are believed to have died during the coup.
-Even though the directive was not successfully implemented, Nanotrasen's image will forever be haunted by the fact that its authentication protocol was breached with such magnitude and that a mutiny was the result.
- "}
-
- proc/secret_transcript()
- return {"
-Corporate Rival Threat Assessment
-Gilthari Exports Incident Transcript
-CONFIDENTIAL: PROPERTY OF NANOTRASEN
-Location: Operator's Desk, D Deck, Polumetis Installation
-Time: 16:11, May 24, 2558 (Sol Reckoning)
-
-
-
-\[Start of transcript\]
-\[Sound of an internal airlock door opening\]
-TM: Thank you for coming to see me, Director. I'm afraid this is urgent.
-D: Mr. Mitchell, first you send cryptic messages to my office and then you request to have me come personally to this barely lit closet you call a workstation; all of this to talk about a computer glitch?
-\[Sound of the internal airlock door shutting\]
-TM: Do you remember Mallory ?
-D: Who?
-TM: It's not who, it's what. The computer program we planted in the [system_name()] communications satellite.
-D: What is so important about this computer program?
-TM: We call her an eavesdropper. Captures network traffic, records it, and forwards the stream to the receiver autonomously.
-D: Speak English goddamnit .
-TM: Standard intelligence acquisition package, sir; we bug their satellite and listen. It's like we have their playbook and we know what their moves are going to be on the market before they make them.
-D: So Mallory doesn't work?
-TM: She worked, sir. We've had an ear on Nanotrasen's regional communications for weeks.
-D: Any news about their Plasma refinement process ?
-TM: No sir. Our analysts believe they are using a separate channel for their most sensitive data.
-D: So what's the problem?
-TM: The intelligence hasn't been doing us any good. Anything that appears actionable, I send it to the analysts and they make a plan. Thing is, Nanotrasen always sees us coming.
-D: Tim...
-TM: I think they discovered the hack, sir. Case in point, Energine Consolidated Solutions . That subsidiary of ours that was awarded a lease on Nanotrasen's mining platform in Nyx? Nanotrasen acquired them a week before we made the announcement.
-D: They know about they have a bug. They left her on and fed her the information for us to hear , those sneaks. How did they find it?
-TM: Top secret communique came through. I'm not sure what happened. Either Mallory couldn't replicate the encryption scheme and garbled it going out or the transmission was already corrupted to begin with.
-D: Either way the transmission caused Nanotrasen to look at the satellite. They found out about Mallory.
-TM: Precisely sir. There's only so much I can do to cover our tracks from here.
-D: I'm pulling the plug. We have assets in the sector that are capable of a job like this. Thank you for bringing this to my attention.
-\[Computer device chirps\]
-D: One last thing, did you happen to read anything from those secure transmissions?
-TM: Just the subject, 'Directive X'.
-D: Directive X... Now what do you suppose that means?
-\[End of transcript\]
- "}
diff --git a/code/game/gamemodes/mutiny/mutiny_hooks.dm b/code/game/gamemodes/mutiny/mutiny_hooks.dm
deleted file mode 100644
index 7e751496dd3..00000000000
--- a/code/game/gamemodes/mutiny/mutiny_hooks.dm
+++ /dev/null
@@ -1,27 +0,0 @@
-/hook/death/proc/track_kills(mob/living/carbon/human/deceased, gibbed)
- var/datum/game_mode/mutiny/mode = get_mutiny_mode()
- if(!mode) return 1
-
- mode.body_count+=deceased.mind
- return 1
-
-/hook/clone/proc/update_icon(mob/living/carbon/human/H)
- var/datum/game_mode/mutiny/mode = get_mutiny_mode()
- if(!mode) return 1
-
- mode.update_icon(H.mind)
- return 1
-
-/hook/harvest_podman/proc/update_icon(mob/living/simple_animal/diona/D)
- var/datum/game_mode/mutiny/mode = get_mutiny_mode()
- if(!mode) return 1
-
- mode.update_icon(D.mind)
- return 1
-
-/hook/roundend/proc/report_mutiny_news()
- var/datum/game_mode/mutiny/mode = get_mutiny_mode()
- if(!mode) return 1
-
- mode.round_outcome()
- return 1
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index f5fdd85242f..1a607bea3ca 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -154,9 +154,10 @@ proc/issyndicate(mob/living/M as mob)
head_organ.r_hair = hex2num(copytext(hair_c, 2, 4))
head_organ.g_hair = hex2num(copytext(hair_c, 4, 6))
head_organ.b_hair = hex2num(copytext(hair_c, 6, 8))
- M.r_eyes = hex2num(copytext(eye_c, 2, 4))
- M.g_eyes = hex2num(copytext(eye_c, 4, 6))
- M.b_eyes = hex2num(copytext(eye_c, 6, 8))
+ var/eyes_red = hex2num(copytext(eye_c, 2, 4))
+ var/eyes_green = hex2num(copytext(eye_c, 4, 6))
+ var/eyes_blue = hex2num(copytext(eye_c, 6, 8))
+ M.change_eye_color(eyes_red, eyes_green, eyes_blue)
M.s_tone = skin_tone
head_organ.h_style = hair_style
head_organ.f_style = facial_hair_style
@@ -517,4 +518,4 @@ proc/issyndicate(mob/living/M as mob)
dat += "Station Destroyed: [score_nuked ? "Yes" : "No"] (-[score_nuked_penalty] Points) "
dat += " "
- return dat
\ No newline at end of file
+ return dat
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 2d3d3c93822..07836c824d7 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -91,38 +91,6 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) \
return 0
return 1
-/datum/objective/mutiny/rp
-/datum/objective/mutiny/rp/find_target()
- ..()
- if(target && target.current)
- explanation_text = "Assassinate, capture or convert [target.current.real_name], the [target.assigned_role]."
- else
- explanation_text = "Free Objective"
-
-//less violent rev objectives
-/datum/objective/mutiny/rp/check_completion()
- if(target && target.current)
- if(target.current.stat == DEAD)
- return 1
- if(!ishuman(target.current))
- return 1
- if(iscarbon(target.current))
- var/mob/living/carbon/C = target.current
- if(C.handcuffed)
- return 1
-
- if(GAMEMODE_IS_REVOLUTION)
- if(target in ticker.mode.head_revolutionaries)
- return 1
-
- var/turf/T = get_turf(target.current)
- if(T && !is_station_level(T.z))
- return 1
-
- return 0
- return 1
-
-
/datum/objective/maroon
martyr_compatible = 1
diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm
index b487b6518c0..f8e1575efc1 100644
--- a/code/game/gamemodes/vampire/vampire_powers.dm
+++ b/code/game/gamemodes/vampire/vampire_powers.dm
@@ -303,7 +303,7 @@
enthrall_safe = 1
break
if(!C)
- log_to_dd("something bad happened on enthralling a mob, attacker is [user] [user.key] \ref[user]")
+ log_runtime(EXCEPTION("something bad happened on enthralling a mob, attacker is [user] [user.key] \ref[user]"), user)
return 0
if(!C.mind)
to_chat(user, "[C.name]'s mind is not there for you to enthrall. ")
diff --git a/code/game/gamemodes/wizard/raginmages.dm b/code/game/gamemodes/wizard/raginmages.dm
index 7deaebe9266..489e68acec7 100644
--- a/code/game/gamemodes/wizard/raginmages.dm
+++ b/code/game/gamemodes/wizard/raginmages.dm
@@ -161,7 +161,7 @@
mages_made++
return 1
else
- log_to_dd("The candidates list for ragin' mages contained non-observer entries!")
+ log_runtime(EXCEPTION("The candidates list for ragin' mages contained non-observer entries!"), src)
return 0
// ripped from -tg-'s wizcode, because whee lets make a very general proc for a very specific gamemode
diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm
index 59f9cc98d3c..2217daf0c0e 100644
--- a/code/game/jobs/job/engineering.dm
+++ b/code/game/jobs/job/engineering.dm
@@ -50,8 +50,8 @@
supervisors = "the chief engineer"
selection_color = "#fff5cc"
idtype = /obj/item/weapon/card/id/engineering
- access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics)
- minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction)
+ access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_mineral_storeroom)
+ minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_mineral_storeroom)
alt_titles = list("Maintenance Technician","Engine Technician","Electrician")
minimal_player_age = 7
@@ -85,8 +85,8 @@
supervisors = "the chief engineer"
selection_color = "#fff5cc"
idtype = /obj/item/weapon/card/id/engineering
- access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics)
- minimal_access = list(access_eva, access_atmospherics, access_maint_tunnels, access_external_airlocks, access_emergency_storage, access_construction)
+ access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_mineral_storeroom)
+ minimal_access = list(access_eva, access_atmospherics, access_maint_tunnels, access_external_airlocks, access_emergency_storage, access_construction, access_mineral_storeroom)
alt_titles = list("Atmospheric Technician")
minimal_player_age = 7
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index a0b3f147b46..60e650691e5 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -577,4 +577,17 @@
light_color = LIGHT_COLOR_DARKRED
+/obj/machinery/sleeper/syndie/New()
+ ..()
+ component_parts = list()
+ component_parts += new /obj/item/weapon/circuitboard/sleeper/syndicate(null)
+ var/obj/item/weapon/stock_parts/matter_bin/B = new(null)
+ B.rating = initial_bin_rating
+ component_parts += B
+ component_parts += new /obj/item/weapon/stock_parts/manipulator(null)
+ component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
+ component_parts += new /obj/item/weapon/stock_parts/console_screen(null)
+ component_parts += new /obj/item/stack/cable_coil(null, 1)
+ RefreshParts()
+
#undef ADDICTION_SPEEDUP_TIME
\ No newline at end of file
diff --git a/code/game/machinery/computer/ai_core.dm b/code/game/machinery/computer/ai_core.dm
index f06771cc288..29e315ec001 100644
--- a/code/game/machinery/computer/ai_core.dm
+++ b/code/game/machinery/computer/ai_core.dm
@@ -264,9 +264,9 @@ atom/proc/transfer_ai(var/interaction, var/mob/user, var/mob/living/silicon/ai/A
if(interaction == AI_TRANS_FROM_CARD)
AI.control_disabled = 0
AI.aiRadio.disabledAi = 0
- AI.loc = loc//To replace the terminal.
+ AI.forceMove(loc)//To replace the terminal.
to_chat(AI, "You have been uploaded to a stationary terminal. Remote device connection restored.")
- to_chat(user, "Transfer successful : [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
+ to_chat(user, "Transfer successful : [AI.name] ([rand(1000,9999)].exe) installed and executed successfully. Local copy has been removed.")
qdel(src)
else //If for some reason you use an empty card on an empty AI terminal.
to_chat(user, "There is no AI loaded on this terminal!")
diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm
index fd5dc873739..97a976ddc41 100644
--- a/code/game/machinery/computer/camera.dm
+++ b/code/game/machinery/computer/camera.dm
@@ -138,7 +138,10 @@
var/obj/machinery/camera/C = locate(href_list["switchTo"]) in cameranet.cameras
if(!C)
return 1
-
+
+ if(!can_access_camera(C))
+ return 1 // No href exploits for you.
+
switch_to_camera(usr, C)
else if(href_list["reset"])
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 2defdbf4623..2c6740ffbb3 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -744,6 +744,15 @@ obj/item/weapon/circuitboard/rdserver
/obj/item/stack/cable_coil = 1,
/obj/item/weapon/stock_parts/console_screen = 2)
+/obj/item/weapon/circuitboard/sleeper/syndicate
+ name = "circuit board (Sleeper Syndicate)"
+ build_path = /obj/machinery/sleeper/syndie
+
+/obj/item/weapon/circuitboard/sleeper/survival
+ name = "circuit board (Sleeper Survival Pod)"
+ build_path = /obj/machinery/sleeper/survival_pod
+
+
/obj/item/weapon/circuitboard/bodyscanner
name = "circuit board (Body Scanner)"
build_path = /obj/machinery/bodyscanner
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 33d07914529..38ac85621db 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -303,6 +303,13 @@
preserve = 1
break
+ if(istype(W,/obj/item/device/pda))
+ var/obj/item/device/pda/P = W
+ if(P.id)
+ qdel(P.id)
+ P.id = null
+ qdel(P)
+
if(!preserve)
qdel(W)
else
diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm
index 29dd5b7c9c1..4cb724c1a01 100644
--- a/code/game/machinery/doors/airlock.dm
+++ b/code/game/machinery/doors/airlock.dm
@@ -374,6 +374,13 @@ About the new airlock wires panel:
/obj/machinery/door/airlock/bumpopen(mob/living/simple_animal/user as mob)
..(user)
+
+/obj/machinery/door/airlock/autoclose()
+ autoclose_timer = 0
+ if(!qdeleted(src) && !density && !operating && !locked && !welded && autoclose)
+ close()
+ return
+
/obj/machinery/door/airlock/proc/isElectrified()
if(src.electrified_until != 0)
return 1
@@ -1001,7 +1008,7 @@ About the new airlock wires panel:
to_chat(user, "The hatch is coated with a product that prevents the shaped charge from sticking!")
return
- if(istype(C, /obj/item/mecha_parts/mecha_equipment/tool/rcd) || istype(C, /obj/item/weapon/rcd))
+ if(istype(C, /obj/item/mecha_parts/mecha_equipment/rcd) || istype(C, /obj/item/weapon/rcd))
to_chat(user, "The hatch is made of an advanced compound that cannot be deconstructed using an RCD.")
return
@@ -1088,4 +1095,4 @@ About the new airlock wires panel:
unlock()
electrified_until = 0
open()
- safe = TRUE
\ No newline at end of file
+ safe = TRUE
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index 8c5a1fd85fc..735ca761a8e 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -18,6 +18,7 @@
var/p_open = 0
var/operating = 0
var/autoclose = 0
+ var/autoclose_timer
var/glass = 0
var/normalspeed = 1
var/heat_proof = 0 // For glass airlocks/opacity firedoors
@@ -58,15 +59,18 @@
air_update_turf(1)
update_freelook_sight()
airlocks -= src
+ if(autoclose_timer)
+ deltimer(autoclose_timer)
+ autoclose_timer = 0
return ..()
/obj/machinery/door/Bumped(atom/AM)
if(p_open || operating) return
- if(ismob(AM))
- var/mob/M = AM
+ if(isliving(AM))
+ var/mob/living/M = AM
if(world.time - M.last_bumped <= 10) return //Can bump-open one airlock per second. This is to prevent shock spam.
M.last_bumped = world.time
- if(!M.restrained() && !M.small)
+ if(!M.restrained() && M.mob_size > MOB_SIZE_SMALL)
bumpopen(M)
return
@@ -220,12 +224,9 @@
air_update_turf(1)
update_freelook_sight()
- if(autoclose && normalspeed)
- spawn(150)
- autoclose()
- if(autoclose && !normalspeed)
- spawn(5)
- autoclose()
+ // The `addtimer` system has the advantage of being cancelable
+ if(autoclose)
+ autoclose_timer = addtimer(src, "autoclose", normalspeed ? 150 : 5, unique = 1)
return 1
@@ -236,6 +237,10 @@
return
operating = 1
+ if(autoclose_timer)
+ deltimer(autoclose_timer)
+ autoclose_timer = 0
+
do_animate("closing")
src.layer = closed_layer
sleep(5)
@@ -269,8 +274,8 @@
return 1
/obj/machinery/door/proc/autoclose()
- var/obj/machinery/door/airlock/A = src
- if(!A.density && !A.operating && !A.locked && !A.welded && A.autoclose)
+ autoclose_timer = 0
+ if(!qdeleted(src) && !density && !operating && autoclose)
close()
return
@@ -308,4 +313,4 @@
/obj/machinery/door/proc/disable_lockdown()
if(!stat) //Opens only powered doors.
- open() //Open everything!
\ No newline at end of file
+ open() //Open everything!
diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm
index cbad06fab9c..76f6c7e94d3 100644
--- a/code/game/machinery/doors/windowdoor.dm
+++ b/code/game/machinery/doors/windowdoor.dm
@@ -52,8 +52,8 @@
return
if(!ticker)
return
- var/mob/M = AM
- if(!M.restrained() && !M.small)
+ var/mob/living/M = AM
+ if(!M.restrained() && M.mob_size > MOB_SIZE_SMALL)
bumpopen(M)
return
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 518304fda5f..b003d9ef1d6 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -386,6 +386,8 @@ Class Procs:
I.crit_fail = 1
I.forceMove(loc)
qdel(src)
+ return 1
+ return 0
/obj/machinery/proc/default_deconstruction_screwdriver(var/mob/user, var/icon_state_open, var/icon_state_closed, var/obj/item/weapon/screwdriver/S)
if(istype(S))
diff --git a/code/game/machinery/navbeacon.dm b/code/game/machinery/navbeacon.dm
index 3d980e769e7..162bb8589e5 100644
--- a/code/game/machinery/navbeacon.dm
+++ b/code/game/machinery/navbeacon.dm
@@ -27,7 +27,7 @@
var/turf/T = loc
hide(T.intact)
if(!codes || !codes.len)
- log_debug("Empty codes datum at ([x],[y],[z])")
+ log_runtime(EXCEPTION("Empty codes datum at ([x],[y],[z])"), src, list("codes_txt: '[codes_txt]'"))
if("patrol" in codes)
if(!navbeacons["[z]"])
navbeacons["[z]"] = list()
diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm
index 4cdc3494927..4a9d8c439ae 100644
--- a/code/game/machinery/recycler.dm
+++ b/code/game/machinery/recycler.dm
@@ -113,7 +113,9 @@ var/const/SAFETY_COOLDOWN = 100
for(var/i in to_eat)
var/atom/movable/AM = i
- if(isliving(AM))
+ if(!exists(AM))
+ continue
+ else if(isliving(AM))
if(emagged)
crush_living(AM)
else
@@ -123,7 +125,7 @@ var/const/SAFETY_COOLDOWN = 100
items_recycled++
else
playsound(loc, 'sound/machines/buzz-sigh.ogg', 50, 0)
- AM.loc = loc
+ AM.forceMove(loc)
if(items_recycled && sound)
playsound(loc, item_recycle_sound, 100, 0)
diff --git a/code/game/mecha/combat/combat.dm b/code/game/mecha/combat/combat.dm
index d9b26404cad..99db971b420 100644
--- a/code/game/mecha/combat/combat.dm
+++ b/code/game/mecha/combat/combat.dm
@@ -3,8 +3,6 @@
var/maxsize = 2
internal_damage_threshold = 50
maint_access = 0
- //add_req_access = 0
- //operation_req_access = list(access_hos)
damage_absorption = list("brute"=0.7,"fire"=1,"bullet"=0.7,"laser"=0.85,"energy"=1,"bomb"=0.8)
var/am = "d3c2fbcadca903a41161ccc9df9cf948"
@@ -26,21 +24,13 @@
/obj/mecha/combat/go_out()
- if(src.occupant && src.occupant.client)
- src.occupant.client.mouse_pointer_icon = initial(src.occupant.client.mouse_pointer_icon)
+ if(occupant && occupant.client)
+ occupant.client.mouse_pointer_icon = initial(occupant.client.mouse_pointer_icon)
..()
- return
/obj/mecha/combat/Topic(href,href_list)
..()
- var/datum/topic_input/filter = new (href,href_list)
+ var/datum/topic_input/filter = new(href, href_list)
if(filter.get("close"))
am = null
- return
- /*
- if(filter.get("saminput"))
- if(md5(filter.get("saminput")) == am)
- occupant_message("From the lies of the Antipath, Circuit preserve us.")
- am = null
- return
- */
\ No newline at end of file
+ return
\ No newline at end of file
diff --git a/code/game/mecha/combat/durand.dm b/code/game/mecha/combat/durand.dm
index cfe94888123..57614a8e426 100644
--- a/code/game/mecha/combat/durand.dm
+++ b/code/game/mecha/combat/durand.dm
@@ -22,17 +22,15 @@
ME.attach(src)
ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack
ME.attach(src)
- return
/obj/mecha/combat/durand/relaymove(mob/user,direction)
if(defence)
if(world.time - last_message > 20)
- src.occupant_message("Unable to move while in defence mode ")
+ occupant_message("Unable to move while in defence mode ")
last_message = world.time
return 0
. = ..()
- return
/obj/mecha/combat/durand/verb/defence_mode()
@@ -40,17 +38,16 @@
set name = "Toggle defence mode"
set src = usr.loc
set popup_menu = 0
- if(usr!=src.occupant)
+ if(usr != occupant)
return
defence = !defence
if(defence)
deflect_chance = defence_deflect
- src.occupant_message("You enable [src] defence mode. ")
+ occupant_message("You enable [src] defence mode. ")
else
deflect_chance = initial(deflect_chance)
- src.occupant_message("You disable [src] defence mode. ")
- src.log_message("Toggled defence mode.")
- return
+ occupant_message("You disable [src] defence mode. ")
+ log_message("Toggled defence mode.")
/obj/mecha/combat/durand/get_stats_part()
@@ -72,8 +69,7 @@
/obj/mecha/combat/durand/Topic(href, href_list)
..()
if(href_list["toggle_defence_mode"])
- src.defence_mode()
- return
+ defence_mode()
/obj/mecha/combat/durand/old
desc = "A retired, third-generation combat exosuit utilized by the Nanotrasen corporation. Originally developed to combat hostile alien lifeforms."
diff --git a/code/game/mecha/combat/gygax.dm b/code/game/mecha/combat/gygax.dm
index 09caf2fcaf0..faa2329f5e4 100644
--- a/code/game/mecha/combat/gygax.dm
+++ b/code/game/mecha/combat/gygax.dm
@@ -24,7 +24,6 @@
ME.attach(src)
ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/flashbang
ME.attach(src)
- return
/obj/mecha/combat/gygax/dark
desc = "A lightweight exosuit, painted in a dark scheme. This model appears to have some modifications."
@@ -51,7 +50,6 @@
ME.attach(src)
ME = new /obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
ME.attach(src)
- return
/obj/mecha/combat/gygax/dark/add_cell(var/obj/item/weapon/stock_parts/cell/C=null)
if(C)
@@ -68,31 +66,30 @@
set name = "Toggle leg actuators overload"
set src = usr.loc
set popup_menu = 0
- if(usr!=src.occupant)
+ if(usr != occupant)
return
if(overload)
overload = 0
step_in = initial(step_in)
step_energy_drain = initial(step_energy_drain)
- src.occupant_message("You disable leg actuators overload. ")
+ occupant_message("You disable leg actuators overload. ")
else
overload = 1
step_in = min(1, round(step_in/2))
step_energy_drain = step_energy_drain*overload_coeff
- src.occupant_message("You enable leg actuators overload. ")
- src.log_message("Toggled leg actuators overload.")
- return
+ occupant_message("You enable leg actuators overload. ")
+ log_message("Toggled leg actuators overload.")
-/obj/mecha/combat/gygax/dyndomove(direction)
- if(!..()) return
+/obj/mecha/combat/gygax/domove(direction)
+ if(!..())
+ return
if(overload)
health--
- if(health < initial(health) - initial(health)/3)
+ if(health < initial(health) - initial(health) / 3)
overload = 0
step_in = initial(step_in)
step_energy_drain = initial(step_energy_drain)
- src.occupant_message("Leg actuators damage threshold exceded. Disabling overload. ")
- return
+ occupant_message("Leg actuators damage threshold exceded. Disabling overload. ")
/obj/mecha/combat/gygax/get_stats_part()
@@ -114,5 +111,4 @@
/obj/mecha/combat/gygax/Topic(href, href_list)
..()
if(href_list["toggle_leg_overload"])
- src.overload()
- return
\ No newline at end of file
+ overload()
\ No newline at end of file
diff --git a/code/game/mecha/combat/honker.dm b/code/game/mecha/combat/honker.dm
index 4bfd5f9a161..1053b3e9856 100644
--- a/code/game/mecha/combat/honker.dm
+++ b/code/game/mecha/combat/honker.dm
@@ -24,7 +24,6 @@
ME.attach(src)
ME = new /obj/item/mecha_parts/mecha_equipment/weapon/ballistic/missile_rack/mousetrap_mortar
ME.attach(src)
- return
/obj/mecha/combat/honker/get_stats_part()
var/integrity = health/initial(health)*100
@@ -45,13 +44,13 @@
HONK pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure] ": cabin_pressure]kPa
HONK temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
Lights: [lights?"on":"off"]
- [src.dna?"DNA-locked: [src.dna] \[Reset \] ":null]
+ [dna?"DNA-locked: [dna] \[Reset \] ":null]
"}
return output
/obj/mecha/combat/honker/get_stats_html()
var/output = {"
- [src.name] data
+ [name] data
-
-
- Health statistics
-
- [get_occupant_dam()]
-
- Reagents in bloodstream
-
- [get_occupant_reagents()]
-
-
- [get_available_reagents()]
-
-
- "}
-
- proc/get_occupant_dam()
- var/t1
- switch(occupant.stat)
- if(0)
- t1 = "Conscious"
- if(1)
- t1 = "Unconscious"
- if(2)
- t1 = "*dead*"
- else
- t1 = "Unknown"
- return {"Health: [occupant.health]% ([t1])
- Core Temperature: [src.occupant.bodytemperature-T0C]°C ([src.occupant.bodytemperature*1.8-459.67]°F)
- Brute Damage: [occupant.getBruteLoss()]%
- Respiratory Damage: [occupant.getOxyLoss()]%
- Toxin Content: [occupant.getToxLoss()]%
- Burn Severity: [occupant.getFireLoss()]%
- "}
-
- proc/get_occupant_reagents()
- if(occupant.reagents)
- for(var/datum/reagent/R in occupant.reagents.reagent_list)
- if(R.volume > 0)
- . += "[R]: [round(R.volume,0.01)] "
- return . || "None"
-
- proc/get_available_reagents()
- var/output
- var/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/SG = locate(/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun) in chassis
- if(SG && SG.reagents && islist(SG.reagents.reagent_list))
- for(var/datum/reagent/R in SG.reagents.reagent_list)
- if(R.volume > 0)
- output += "Inject [R.name] "
- return output
-
-
- proc/inject_reagent(var/datum/reagent/R,var/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/SG)
- if(!R || !occupant || !SG || !(SG in chassis.equipment))
- return 0
- var/to_inject = min(R.volume, inject_amount)
- if(to_inject && occupant.reagents.get_reagent_amount(R.id) + to_inject <= inject_amount*2)
- occupant_message("Injecting [occupant] with [to_inject] units of [R.name].")
- log_message("Injecting [occupant] with [to_inject] units of [R.name].")
- SG.reagents.trans_id_to(occupant,R.id,to_inject)
- update_equip_info()
- return
-
- container_resist(var/mob/living/L)
- go_out()
-
- update_equip_info()
- if(..())
- send_byjax(chassis.occupant,"msleeper.browser","lossinfo",get_occupant_dam())
- send_byjax(chassis.occupant,"msleeper.browser","reagents",get_occupant_reagents())
- send_byjax(chassis.occupant,"msleeper.browser","injectwith",get_available_reagents())
- return 1
- return
-
-/datum/global_iterator/mech_sleeper
-
- process(var/obj/item/mecha_parts/mecha_equipment/tool/sleeper/S)
- if(!S.chassis)
- S.set_ready_state(1)
- return stop()
- if(!S.chassis.has_charge(S.energy_drain))
- S.set_ready_state(1)
- S.log_message("Deactivated.")
- S.occupant_message("[src] deactivated - no power.")
- return stop()
- var/mob/living/carbon/M = S.occupant
- if(!M)
- return
- if(M.health > 0)
- M.adjustOxyLoss(-1)
- M.updatehealth()
- M.AdjustStunned(-4)
- M.AdjustWeakened(-4)
- M.AdjustStunned(-4)
- if(M.reagents.get_reagent_amount("epinephrine") < 5)
- M.reagents.add_reagent("epinephrine", 5)
- S.chassis.use_power(S.energy_drain)
- S.update_equip_info()
- return
-
-
-/obj/item/mecha_parts/mecha_equipment/tool/cable_layer
- name = "Cable Layer"
- icon_state = "mecha_wire"
- var/datum/event/event
- var/turf/old_turf
- var/obj/structure/cable/last_piece
- var/obj/item/stack/cable_coil/cable
- var/max_cable = 1000
-
- New()
- cable = new(src)
- cable.amount = 0
- ..()
-
- can_attach(obj/mecha/working/M)
- if(..())
- if(istype(M))
- return 1
- return 0
-
- attach()
- ..()
- event = chassis.events.addEvent("onMove",src,"layCable")
- return
-
- detach()
- chassis.events.clearEvent("onMove",event)
- return ..()
-
- Destroy()
- chassis.events.clearEvent("onMove",event)
- return ..()
-
- action(var/obj/item/stack/cable_coil/target)
- if(!action_checks(target))
- return
- var/result = load_cable(target)
- var/message
- if(isnull(result))
- message = "Unable to load [target] - no cable found. "
- else if(!result)
- message = "Reel is full."
- else
- message = "[result] meters of cable successfully loaded."
- send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info())
- occupant_message(message)
- return
-
- Topic(href,href_list)
- ..()
- if(href_list["toggle"])
- set_ready_state(!equip_ready)
- occupant_message("[src] [equip_ready?"dea":"a"]ctivated.")
- log_message("[equip_ready?"Dea":"A"]ctivated.")
- return
- if(href_list["cut"])
- if(cable && cable.amount)
- var/m = round(input(chassis.occupant,"Please specify the length of cable to cut","Cut cable",min(cable.amount,30)) as num, 1)
- m = min(m, cable.amount)
- if(m)
- use_cable(m)
- var/obj/item/stack/cable_coil/CC = new (get_turf(chassis))
- CC.amount = m
- else
- occupant_message("There's no more cable on the reel.")
- return
-
- get_equip_info()
- var/output = ..()
- if(output)
- return "[output] \[Cable: [cable ? cable.amount : 0] m\][(cable && cable.amount) ? "- [!equip_ready?"Dea":"A"]ctivate |Cut " : null]"
- return
-
- proc/load_cable(var/obj/item/stack/cable_coil/CC)
- if(istype(CC) && CC.amount)
- var/cur_amount = cable? cable.amount : 0
- var/to_load = max(max_cable - cur_amount,0)
- if(to_load)
- to_load = min(CC.amount, to_load)
- if(!cable)
- cable = new(src)
- cable.amount = 0
- cable.amount += to_load
- CC.use(to_load)
- return to_load
- else
- return 0
- return
-
- proc/use_cable(amount)
- if(!cable || cable.amount<1)
- set_ready_state(1)
- occupant_message("Cable depleted, [src] deactivated.")
- log_message("Cable depleted, [src] deactivated.")
- return
- if(cable.amount < amount)
- occupant_message("No enough cable to finish the task.")
- return
- cable.use(amount)
+ target.forceMove(src)
+ patient = target
+ processing_objects.Add(src)
update_equip_info()
+ occupant_message("[target] successfully loaded into [src]. Life support functions engaged. ")
+ chassis.visible_message("[chassis] loads [target] into [src]. ")
+ log_message("[target] loaded. Life support functions engaged.")
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/patient_insertion_check(mob/living/carbon/target)
+ if(target.buckled)
+ occupant_message("[target] will not fit into the sleeper because they are buckled to [target.buckled]! ")
+ return
+ if(target.has_buckled_mobs())
+ occupant_message("[target] will not fit into the sleeper because of the creatures attached to it! ")
+ return
+ if(patient)
+ occupant_message("The sleeper is already occupied! ")
+ return
+ return 1
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/go_out()
+ if(!patient)
+ return
+ patient.forceMove(get_turf(src))
+ occupant_message("[patient] ejected. Life support functions disabled.")
+ log_message("[patient] ejected. Life support functions disabled.")
+ processing_objects.Remove(src)
+ patient = null
+ update_equip_info()
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/detach()
+ if(patient)
+ occupant_message("Unable to detach [src] - equipment occupied! ")
+ return
+ processing_objects.Remove(src)
+ return ..()
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/get_equip_info()
+ var/output = ..()
+ if(output)
+ var/temp = ""
+ if(patient)
+ temp = " \[Occupant: [patient] ([patient.stat > 1 ? "*DECEASED*" : "Health: [patient.health]%"])\]View stats |Eject "
+ return "[output] [temp]"
+ return
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/Topic(href,href_list)
+ ..()
+ var/datum/topic_input/filter = new /datum/topic_input(href,href_list)
+ if(filter.get("eject"))
+ go_out()
+ if(filter.get("view_stats"))
+ chassis.occupant << browse(get_patient_stats(),"window=msleeper")
+ onclose(chassis.occupant, "msleeper")
+ return
+ if(filter.get("inject"))
+ inject_reagent(filter.getType("inject",/datum/reagent),filter.getObj("source"))
+ return
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_patient_stats()
+ if(!patient)
+ return
+ return {"
+
+ [patient] statistics
+
+
+
+
+ Health statistics
+
+ [get_patient_dam()]
+
+ Reagents in bloodstream
+
+ [get_patient_reagents()]
+
+
+ [get_available_reagents()]
+
+
+ "}
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_patient_dam()
+ var/t1
+ switch(patient.stat)
+ if(0)
+ t1 = "Conscious"
+ if(1)
+ t1 = "Unconscious"
+ if(2)
+ t1 = "*dead*"
+ else
+ t1 = "Unknown"
+ return {"Health: [patient.stat > 1 ? "[t1]" : "[patient.health]% ([t1])"]
+ Core Temperature: [patient.bodytemperature-T0C]°C ([patient.bodytemperature*1.8-459.67]°F)
+ Brute Damage: [patient.getBruteLoss()]%
+ Respiratory Damage: [patient.getOxyLoss()]%
+ Toxin Content: [patient.getToxLoss()]%
+ Burn Severity: [patient.getFireLoss()]%
+ [patient.getCloneLoss() ? "Subject appears to have cellular damage." : ""]
+ [patient.getBrainLoss() ? "Significant brain damage detected." : ""]
+ "}
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_patient_reagents()
+ if(patient.reagents)
+ for(var/datum/reagent/R in patient.reagents.reagent_list)
+ if(R.volume > 0)
+ . += "[R]: [round(R.volume,0.01)] "
+ return . || "None"
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/get_available_reagents()
+ var/output
+ var/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/SG = locate(/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun) in chassis
+ if(SG && SG.reagents && islist(SG.reagents.reagent_list))
+ for(var/datum/reagent/R in SG.reagents.reagent_list)
+ if(R.volume > 0)
+ output += "Inject [R.name] "
+ return output
+
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/proc/inject_reagent(datum/reagent/R,obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/SG)
+ if(!R || !patient || !SG || !(SG in chassis.equipment))
+ return 0
+ var/to_inject = min(R.volume, inject_amount)
+ if(to_inject && patient.reagents.get_reagent_amount(R.id) + to_inject <= inject_amount*2)
+ occupant_message("Injecting [patient] with [to_inject] units of [R.name].")
+ log_message("Injecting [patient] with [to_inject] units of [R.name].")
+ add_logs(chassis.occupant, patient, "injected", "[name] ([R] - [to_inject] units)")
+ SG.reagents.trans_id_to(patient,R.id,to_inject)
+ update_equip_info()
+ return
+
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/update_equip_info()
+ if(..())
+ if(patient)
+ send_byjax(chassis.occupant,"msleeper.browser","lossinfo",get_patient_dam())
+ send_byjax(chassis.occupant,"msleeper.browser","reagents",get_patient_reagents())
+ send_byjax(chassis.occupant,"msleeper.browser","injectwith",get_available_reagents())
return 1
+ return
- proc/reset()
- last_piece = null
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/container_resist()
+ go_out()
- proc/dismantleFloor(var/turf/new_turf)
- if(istype(new_turf, /turf/simulated/floor))
- var/turf/simulated/floor/T = new_turf
- if(!istype(T, /turf/simulated/floor/plating))
- if(!T.broken && !T.burnt)
- new T.floor_tile(T)
- T.make_plating()
- return !new_turf.intact
+/obj/item/mecha_parts/mecha_equipment/medical/sleeper/process()
+ if(..())
+ return
+ if(!chassis.has_charge(energy_drain))
+ set_ready_state(1)
+ log_message("Deactivated.")
+ occupant_message("[src] deactivated - no power.")
+ processing_objects.Remove(src)
+ return
+ var/mob/living/carbon/M = patient
+ if(!M)
+ return
+ if(M.health > 0)
+ M.adjustOxyLoss(-1)
+ M.updatehealth()
+ M.AdjustStunned(-4)
+ M.AdjustWeakened(-4)
+ M.AdjustStunned(-4)
+ if(M.reagents.get_reagent_amount("epinephrine") < 5)
+ M.reagents.add_reagent("epinephrine", 5)
+ chassis.use_power(energy_drain)
+ update_equip_info()
- proc/layCable(var/turf/new_turf)
- if(equip_ready || !istype(new_turf) || !dismantleFloor(new_turf))
- return reset()
- var/fdirn = turn(chassis.dir,180)
- for(var/obj/structure/cable/LC in new_turf) // check to make sure there's not a cable there already
- if(LC.d1 == fdirn || LC.d2 == fdirn)
- return reset()
- if(!use_cable(1))
- return reset()
- var/obj/structure/cable/NC = new(new_turf)
- NC.cableColor("red")
- NC.d1 = 0
- NC.d2 = fdirn
- NC.updateicon()
- var/datum/powernet/PN
- if(last_piece && last_piece.d2 != chassis.dir)
- last_piece.d1 = min(last_piece.d2, chassis.dir)
- last_piece.d2 = max(last_piece.d2, chassis.dir)
- last_piece.updateicon()
- PN = last_piece.powernet
-
- if(!PN)
- PN = new()
- PN.add_cable(NC)
- NC.mergeConnectedNetworks(NC.d2)
-
- //NC.mergeConnectedNetworksOnTurf()
- last_piece = NC
- return 1
-
-/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun
- name = "Syringe Gun"
- desc = "Exosuit-mounted chem synthesizer with syringe gun. Reagents inside are held in stasis, so no reactions will occur. (Can be attached to: Medical Exosuits)"
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun
+ name = "exosuit syringe gun"
+ desc = "Equipment for medical exosuits. A chem synthesizer with syringe gun. Reagents inside are held in stasis, so no reactions will occur."
icon = 'icons/obj/guns/projectile.dmi'
icon_state = "syringegun"
- item_state = "syringegun"
- lefthand_file = 'icons/mob/inhands/guns_lefthand.dmi'
- righthand_file = 'icons/mob/inhands/guns_righthand.dmi'
+ flags = NOREACT
var/list/syringes
var/list/known_reagents
var/list/processed_reagents
@@ -397,273 +252,271 @@
var/synth_speed = 5 //[num] reagent units per cycle
energy_drain = 10
var/mode = 0 //0 - fire syringe, 1 - analyze reagents.
- var/datum/global_iterator/mech_synth/synth
range = MELEE|RANGED
equip_cooldown = 10
- origin_tech = "materials=3;biotech=4;magnets=4;programming=3"
+ origin_tech = "materials=3;biotech=4;magnets=4"
- New()
- ..()
- flags |= NOREACT
- syringes = new
- known_reagents = list("epinephrine"="Epinephrine","charcoal"="Charcoal")
- processed_reagents = new
- create_reagents(max_volume)
- synth = new (list(src),0)
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/New()
+ ..()
+ create_reagents(max_volume)
+ syringes = new
+ known_reagents = list("epinephrine"="Epinephrine","charcoal"="Charcoal")
+ processed_reagents = new
- detach()
- synth.stop()
- return ..()
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/detach()
+ processing_objects.Remove(src)
+ return ..()
- critfail()
- ..()
- flags &= ~NOREACT
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/Destroy()
+ processing_objects.Remove(src)
+ return ..()
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/critfail()
+ ..()
+ flags &= ~NOREACT
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/can_attach(obj/mecha/medical/M)
+ if(..())
+ if(istype(M))
+ return 1
+ return 0
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/get_equip_info()
+ var/output = ..()
+ if(output)
+ return "[output] \[[mode? "Analyze" : "Launch"] \] \[Syringes: [syringes.len]/[max_syringes] | Reagents: [reagents.total_volume]/[reagents.maximum_volume]\]Reagents list "
+ return
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/action(atom/movable/target)
+ if(!action_checks(target))
return
-
- can_attach(obj/mecha/medical/M)
- if(..())
- if(istype(M))
- return 1
- return 0
-
- get_equip_info()
- var/output = ..()
- if(output)
- return "[output] \[[mode? "Analyze" : "Launch"] \] \[Syringes: [syringes.len]/[max_syringes] | Reagents: [reagents.total_volume]/[reagents.maximum_volume]\]Reagents list "
+ if(istype(target,/obj/item/weapon/reagent_containers/syringe))
+ return load_syringe(target)
+ if(istype(target,/obj/item/weapon/storage))//Loads syringes from boxes
+ for(var/obj/item/weapon/reagent_containers/syringe/S in target.contents)
+ load_syringe(S)
return
-
- action(atom/movable/target)
- if(!action_checks(target))
- return
- if(istype(target,/obj/item/weapon/reagent_containers/syringe))
- return load_syringe(target)
- if(istype(target,/obj/item/weapon/storage))//Loads syringes from boxes
- for(var/obj/item/weapon/reagent_containers/syringe/S in target.contents)
- load_syringe(S)
- return
- if(mode)
- return analyze_reagents(target)
- if(!syringes.len)
- occupant_message("No syringes loaded. ")
- return
- if(reagents.total_volume<=0)
- occupant_message("No available reagents to load syringe with. ")
- return
- set_ready_state(0)
- chassis.use_power(energy_drain)
- var/turf/trg = get_turf(target)
- var/obj/item/weapon/reagent_containers/syringe/S = syringes[1]
- S.forceMove(get_turf(chassis))
- reagents.trans_to(S, min(S.volume, reagents.total_volume))
- syringes -= S
- S.icon = 'icons/obj/chemical.dmi'
- S.icon_state = "syringeproj"
- playsound(chassis, 'sound/items/syringeproj.ogg', 50, 1)
- log_message("Launched [S] from [src], targeting [target].")
- spawn(-1)
- src = null //if src is deleted, still process the syringe
- for(var/i=0, i<6, i++)
- if(!S)
- break
- if(step_towards(S,trg))
- var/list/mobs = new
- for(var/mob/living/carbon/M in S.loc)
- mobs += M
- var/mob/living/carbon/M = safepick(mobs)
- if(M)
- S.icon_state = initial(S.icon_state)
- S.icon = initial(S.icon)
- S.reagents.reaction(M, INGEST)
- S.reagents.trans_to(M, S.reagents.total_volume)
+ if(mode)
+ return analyze_reagents(target)
+ if(!syringes.len)
+ occupant_message("No syringes loaded. ")
+ return
+ if(reagents.total_volume<=0)
+ occupant_message("No available reagents to load syringe with. ")
+ return
+ var/turf/trg = get_turf(target)
+ var/obj/item/weapon/reagent_containers/syringe/mechsyringe = syringes[1]
+ mechsyringe.forceMove(get_turf(chassis))
+ reagents.trans_to(mechsyringe, min(mechsyringe.volume, reagents.total_volume))
+ syringes -= mechsyringe
+ mechsyringe.icon = 'icons/obj/chemical.dmi'
+ mechsyringe.icon_state = "syringeproj"
+ playsound(chassis, 'sound/items/syringeproj.ogg', 50, 1)
+ log_message("Launched [mechsyringe] from [src], targeting [target].")
+ var/mob/originaloccupant = chassis.occupant
+ spawn(0)
+ src = null //if src is deleted, still process the syringe
+ for(var/i=0, i<6, i++)
+ if(!mechsyringe)
+ break
+ if(step_towards(mechsyringe,trg))
+ var/list/mobs = new
+ for(var/mob/living/carbon/M in mechsyringe.loc)
+ mobs += M
+ var/mob/living/carbon/M = safepick(mobs)
+ if(M)
+ var/R
+ mechsyringe.visible_message(" [M] was hit by the syringe! ")
+ if(M.can_inject(null, 1))
+ if(mechsyringe.reagents)
+ for(var/datum/reagent/A in mechsyringe.reagents.reagent_list)
+ R += A.id + " ("
+ R += num2text(A.volume) + "),"
+ mechsyringe.icon_state = initial(mechsyringe.icon_state)
+ mechsyringe.icon = initial(mechsyringe.icon)
+ mechsyringe.reagents.reaction(M, INGEST)
+ mechsyringe.reagents.trans_to(M, mechsyringe.reagents.total_volume)
M.take_organ_damage(2)
- S.visible_message(" [M] was hit by the syringe! ")
- break
- else if(S.loc == trg)
- S.icon_state = initial(S.icon_state)
- S.icon = initial(S.icon)
- S.update_icon()
- break
- else
- S.icon_state = initial(S.icon_state)
- S.icon = initial(S.icon)
- S.update_icon()
+ add_logs(originaloccupant, M, "shot", "syringegun")
break
- sleep(1)
- do_after_cooldown()
- return 1
-
-
- Topic(href,href_list)
- ..()
- var/datum/topic_input/filter = new (href,href_list)
- if(filter.get("toggle_mode"))
- mode = !mode
- update_equip_info()
- return
- if(filter.get("select_reagents"))
- processed_reagents.len = 0
- var/m = 0
- var/message
- for(var/i=1 to known_reagents.len)
- if(m>=synth_speed)
+ else if(mechsyringe.loc == trg)
+ mechsyringe.icon_state = initial(mechsyringe.icon_state)
+ mechsyringe.icon = initial(mechsyringe.icon)
+ mechsyringe.update_icon()
break
- var/reagent = filter.get("reagent_[i]")
- if(reagent && (reagent in known_reagents))
- message = "[m ? ", " : null][known_reagents[reagent]]"
- processed_reagents += reagent
- m++
- if(processed_reagents.len)
- message += " added to production"
- synth.start()
- occupant_message(message)
- occupant_message("Reagent processing started.")
- log_message("Reagent processing started.")
- return
- if(filter.get("show_reagents"))
- chassis.occupant << browse(get_reagents_page(),"window=msyringegun")
- if(filter.get("purge_reagent"))
- var/reagent = filter.get("purge_reagent")
- if(reagent)
- reagents.del_reagent(reagent)
- return
- if(filter.get("purge_all"))
- reagents.clear_reagents()
- return
- return
-
- proc/get_reagents_page()
- var/output = {"
-
- Reagent Synthesizer
-
-
-
-
- Current reagents:
-
- [get_current_reagents()]
-
- Reagents production:
-
- [get_reagents_form()]
-
-
-
- "}
- return output
-
- proc/get_reagents_form()
- var/r_list = get_reagents_list()
- var/inputs
- if(r_list)
- inputs += " "
- inputs += " "
- inputs += " "
- var/output = {"
- [r_list? "Only the first [synth_speed] selected reagent\s will be added to production " : null]
- "}
- return output
-
- proc/get_reagents_list()
- var/output
- for(var/i=1 to known_reagents.len)
- var/reagent_id = known_reagents[i]
- output += {" [known_reagents[reagent_id]] "}
- return output
-
- proc/get_current_reagents()
- var/output
- for(var/datum/reagent/R in reagents.reagent_list)
- if(R.volume > 0)
- output += "[R]: [round(R.volume,0.001)] - Purge Reagent "
- if(output)
- output += "Total: [round(reagents.total_volume,0.001)]/[reagents.maximum_volume] - Purge All "
- return output || "None"
-
- proc/load_syringe(obj/item/weapon/reagent_containers/syringe/S)
- if(syringes.len= 2)
- occupant_message("The syringe is too far away.")
- return 0
- for(var/obj/structure/D in S.loc)//Basic level check for structures in the way (Like grilles and windows)
- if(!(D.CanPass(S,src.loc)))
- occupant_message("Unable to load syringe.")
- return 0
- for(var/obj/machinery/door/D in S.loc)//Checks for doors
- if(!(D.CanPass(S,src.loc)))
- occupant_message("Unable to load syringe.")
- return 0
- S.reagents.trans_to(src, S.reagents.total_volume)
- S.forceMove(src)
- syringes += S
- occupant_message("Syringe loaded.")
- update_equip_info()
- return 1
- occupant_message("The [src] syringe chamber is full.")
- return 0
-
- proc/analyze_reagents(atom/A)
- if(get_dist(src,A) >= 4)
- occupant_message("The object is too far away.")
- return 0
- if(!A.reagents || istype(A,/mob))
- occupant_message("No reagent info gained from [A]. ")
- return 0
- occupant_message("Analyzing reagents...")
- for(var/datum/reagent/R in A.reagents.reagent_list)
- if(R.reagent_state == 2 && add_known_reagent(R.id,R.name))
- occupant_message("Reagent analyzed, identified as [R.name] and added to database.")
- send_byjax(chassis.occupant,"msyringegun.browser","reagents_form",get_reagents_form())
- occupant_message("Analyzis complete.")
- return 1
-
- proc/add_known_reagent(r_id,r_name)
- set_ready_state(0)
- do_after_cooldown()
- if(!(r_id in known_reagents))
- known_reagents += r_id
- known_reagents[r_id] = r_name
- return 1
- return 0
+ else
+ mechsyringe.icon_state = initial(mechsyringe.icon_state)
+ mechsyringe.icon = initial(mechsyringe.icon)
+ mechsyringe.update_icon()
+ break
+ sleep(1)
+ return 1
- update_equip_info()
- if(..())
- send_byjax(chassis.occupant,"msyringegun.browser","reagents",get_current_reagents())
- send_byjax(chassis.occupant,"msyringegun.browser","reagents_form",get_reagents_form())
- return 1
- return
-
- on_reagent_change()
- ..()
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/Topic(href,href_list)
+ ..()
+ var/datum/topic_input/filter = new (href,href_list)
+ if(filter.get("toggle_mode"))
+ mode = !mode
update_equip_info()
return
+ if(filter.get("select_reagents"))
+ processed_reagents.len = 0
+ var/m = 0
+ var/message
+ for(var/i=1 to known_reagents.len)
+ if(m>=synth_speed)
+ break
+ var/reagent = filter.get("reagent_[i]")
+ if(reagent && (reagent in known_reagents))
+ message = "[m ? ", " : null][known_reagents[reagent]]"
+ processed_reagents += reagent
+ m++
+ if(processed_reagents.len)
+ message += " added to production"
+ processing_objects.Add(src)
+ occupant_message(message)
+ occupant_message("Reagent processing started.")
+ log_message("Reagent processing started.")
+ return
+ if(filter.get("show_reagents"))
+ chassis.occupant << browse(get_reagents_page(),"window=msyringegun")
+ if(filter.get("purge_reagent"))
+ var/reagent = filter.get("purge_reagent")
+ if(reagent)
+ reagents.del_reagent(reagent)
+ return
+ if(filter.get("purge_all"))
+ reagents.clear_reagents()
+ return
+ return
-/datum/global_iterator/mech_synth
- delay = 100
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/get_reagents_page()
+ var/output = {"
+
+ Reagent Synthesizer
+
+
+
+
+ Current reagents:
+
+ [get_current_reagents()]
+
+ Reagents production:
+
+ [get_reagents_form()]
+
+
+
+ "}
+ return output
- process(var/obj/item/mecha_parts/mecha_equipment/tool/syringe_gun/S)
- if(!S.chassis)
- return stop()
- var/energy_drain = S.energy_drain*10
- if(!S.processed_reagents.len || S.reagents.total_volume >= S.reagents.maximum_volume || !S.chassis.has_charge(energy_drain))
- S.occupant_message("Reagent processing stopped.")
- S.log_message("Reagent processing stopped.")
- return stop()
- if(anyprob(S.reliability))
- S.critfail()
- var/amount = S.synth_speed / S.processed_reagents.len
- for(var/reagent in S.processed_reagents)
- S.reagents.add_reagent(reagent,amount)
- S.chassis.use_power(energy_drain)
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/get_reagents_form()
+ var/r_list = get_reagents_list()
+ var/inputs
+ if(r_list)
+ inputs += " "
+ inputs += " "
+ inputs += " "
+ var/output = {"
+ [r_list? "Only the first [synth_speed] selected reagent\s will be added to production " : null]
+ "}
+ return output
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/get_reagents_list()
+ var/output
+ for(var/i=1 to known_reagents.len)
+ var/reagent_id = known_reagents[i]
+ output += {" [known_reagents[reagent_id]] "}
+ return output
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/get_current_reagents()
+ var/output
+ for(var/datum/reagent/R in reagents.reagent_list)
+ if(R.volume > 0)
+ output += "[R]: [round(R.volume,0.001)] - Purge Reagent "
+ if(output)
+ output += "Total: [round(reagents.total_volume,0.001)]/[reagents.maximum_volume] - Purge All "
+ return output || "None"
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/load_syringe(obj/item/weapon/reagent_containers/syringe/S)
+ if(syringes.len= 2)
+ occupant_message("The syringe is too far away.")
+ return 0
+ for(var/obj/structure/D in S.loc)//Basic level check for structures in the way (Like grilles and windows)
+ if(!(D.CanPass(S,src.loc)))
+ occupant_message("Unable to load syringe.")
+ return 0
+ for(var/obj/machinery/door/D in S.loc)//Checks for doors
+ if(!(D.CanPass(S,src.loc)))
+ occupant_message("Unable to load syringe.")
+ return 0
+ S.reagents.trans_to(src, S.reagents.total_volume)
+ S.forceMove(src)
+ syringes += S
+ occupant_message("Syringe loaded.")
+ update_equip_info()
return 1
+ occupant_message("The [src] syringe chamber is full.")
+ return 0
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/analyze_reagents(atom/A)
+ if(get_dist(src,A) >= 4)
+ occupant_message("The object is too far away.")
+ return 0
+ if(!A.reagents || istype(A,/mob))
+ occupant_message("No reagent info gained from [A]. ")
+ return 0
+ occupant_message("Analyzing reagents...")
+ for(var/datum/reagent/R in A.reagents.reagent_list)
+ if(R.reagent_state == 2 && add_known_reagent(R.id,R.name))
+ occupant_message("Reagent analyzed, identified as [R.name] and added to database.")
+ send_byjax(chassis.occupant,"msyringegun.browser","reagents_form",get_reagents_form())
+ occupant_message("Analyzis complete.")
+ return 1
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/proc/add_known_reagent(r_id,r_name)
+ if(!(r_id in known_reagents))
+ known_reagents += r_id
+ known_reagents[r_id] = r_name
+ return 1
+ return 0
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/update_equip_info()
+ if(..())
+ send_byjax(chassis.occupant,"msyringegun.browser","reagents",get_current_reagents())
+ send_byjax(chassis.occupant,"msyringegun.browser","reagents_form",get_reagents_form())
+ return 1
+ return
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/on_reagent_change()
+ ..()
+ update_equip_info()
+ return
+
+
+/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/process()
+ if(..())
+ return
+ if(!processed_reagents.len || reagents.total_volume >= reagents.maximum_volume || !chassis.has_charge(energy_drain))
+ occupant_message("Reagent processing stopped.")
+ log_message("Reagent processing stopped.")
+ processing_objects.Remove(src)
+ return
+ var/amount = synth_speed / processed_reagents.len
+ for(var/reagent in processed_reagents)
+ reagents.add_reagent(reagent,amount)
+ chassis.use_power(energy_drain)
+
diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm
new file mode 100644
index 00000000000..4f7211282c9
--- /dev/null
+++ b/code/game/mecha/equipment/tools/mining_tools.dm
@@ -0,0 +1,136 @@
+// Drill, Diamond drill, Mining scanner
+
+/obj/item/mecha_parts/mecha_equipment/drill
+ name = "exosuit drill"
+ desc = "Equipment for engineering and combat exosuits. This is the drill that'll pierce the heavens!"
+ icon_state = "mecha_drill"
+ equip_cooldown = 30
+ energy_drain = 10
+ force = 15
+
+/obj/item/mecha_parts/mecha_equipment/drill/action(atom/target)
+ if(!action_checks(target))
+ return
+ if(istype(target, /turf/space))
+ return
+ if(isobj(target))
+ var/obj/target_obj = target
+ if(target_obj.unacidable)
+ return
+ target.visible_message("[chassis] starts to drill [target]. ",
+ "[chassis] starts to drill [target]... ",
+ blind_message = "You hear drilling. ")
+ if(do_after_cooldown(target))
+ if(isturf(target))
+ var/turf/T = target
+ T.drill_act(src)
+ else
+ log_message("Drilled through [target]")
+ if(isliving(target))
+ if(istype(src , /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill))
+ drill_mob(target, chassis.occupant, 120)
+ else
+ drill_mob(target, chassis.occupant)
+ else
+ target.ex_act(2)
+
+/turf/proc/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill)
+ return
+
+/turf/simulated/floor/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill)
+ ex_act(1)
+
+/turf/simulated/wall/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill)
+ ex_act(2)
+
+/turf/simulated/wall/r_wall/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill)
+ if(istype(drill, /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill))
+ if(drill.do_after_cooldown(src))//To slow down how fast mechs can drill through the station
+ drill.log_message("Drilled through [src]")
+ ex_act(3)
+ else
+ drill.occupant_message("[src] is too durable to drill through. ")
+
+/turf/simulated/mineral/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill)
+ for(var/turf/simulated/mineral/M in range(drill.chassis, 1))
+ if(get_dir(drill.chassis, M) & drill.chassis.dir)
+ M.gets_drilled()
+ drill.log_message("Drilled through [src]")
+ drill.move_ores()
+
+/turf/simulated/floor/plating/airless/asteroid/drill_act(obj/item/mecha_parts/mecha_equipment/drill/drill)
+ if(istype(drill, /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill))
+ for(var/turf/simulated/floor/plating/airless/asteroid/M in range(1, src))
+ M.gets_drilled()
+ else
+ for(var/turf/simulated/floor/plating/airless/asteroid/M in range(1, drill.chassis))
+ if(get_dir(drill.chassis, M) & drill.chassis.dir)
+ M.gets_drilled()
+ drill.log_message("Drilled through [src]")
+ drill.move_ores()
+
+/obj/item/mecha_parts/mecha_equipment/drill/proc/move_ores()
+ if(locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in chassis.equipment)
+ var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo
+ if(ore_box)
+ for(var/obj/item/weapon/ore/ore in range(1, chassis))
+ if(get_dir(chassis, ore) & chassis.dir)
+ ore.Move(ore_box)
+
+/obj/item/mecha_parts/mecha_equipment/drill/can_attach(obj/mecha/M)
+ if(..())
+ if(istype(M, /obj/mecha/working) || istype(M, /obj/mecha/combat))
+ return 1
+ return 0
+
+/obj/item/mecha_parts/mecha_equipment/drill/proc/drill_mob(mob/living/target, mob/user, var/drill_damage=80)
+ target.visible_message("[chassis] drills [target] with [src]. ", \
+ "[chassis] drills [target] with [src]. ")
+ add_logs(user, target, "attacked", "[name]", "(INTENT: [uppertext(user.a_intent)]) (DAMTYPE: [uppertext(damtype)])")
+ if(target.stat == DEAD && target.butcher_results)
+ target.harvest(chassis) // Butcher the mob with our drill.
+ else
+ target.take_organ_damage(drill_damage)
+
+ if(target)
+ target.Paralyse(10)
+ target.updatehealth()
+
+
+/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill
+ name = "diamond-tipped exosuit drill"
+ desc = "Equipment for engineering and combat exosuits. This is an upgraded version of the drill that'll pierce the heavens!"
+ icon_state = "mecha_diamond_drill"
+ origin_tech = "materials=4;engineering=4"
+ equip_cooldown = 20
+ force = 15
+
+
+/obj/item/mecha_parts/mecha_equipment/mining_scanner
+ name = "exosuit mining scanner"
+ desc = "Equipment for engineering and combat exosuits. It will automatically check surrounding rock for useful minerals."
+ icon_state = "mecha_analyzer"
+ origin_tech = "materials=3;engineering=2"
+ selectable = 0
+ equip_cooldown = 30
+ var/scanning = 0
+
+/obj/item/mecha_parts/mecha_equipment/mining_scanner/New()
+ processing_objects.Add(src)
+
+/obj/item/mecha_parts/mecha_equipment/mining_scanner/process()
+ if(!loc)
+ processing_objects.Remove(src)
+ qdel(src)
+ if(scanning)
+ return
+ if(istype(loc,/obj/mecha/working))
+ var/obj/mecha/working/mecha = loc
+ if(!mecha.occupant)
+ return
+ var/list/occupant = list()
+ occupant |= mecha.occupant
+ scanning = 1
+ mineral_scan_pulse(occupant,get_turf(loc))
+ spawn(equip_cooldown)
+ scanning = 0
diff --git a/code/game/mecha/equipment/tools/other_tools.dm b/code/game/mecha/equipment/tools/other_tools.dm
new file mode 100644
index 00000000000..af3e5c46bf4
--- /dev/null
+++ b/code/game/mecha/equipment/tools/other_tools.dm
@@ -0,0 +1,485 @@
+// Teleporter, Wormhole generator, Gravitational catapult, Armor booster modules,
+// Repair droid, Tesla Energy relay, Generators
+
+////////////////////////////////////////////// TELEPORTER ///////////////////////////////////////////////
+
+/obj/item/mecha_parts/mecha_equipment/teleporter
+ name = "mounted teleporter"
+ desc = "An exosuit module that allows exosuits to teleport to any position in view."
+ icon_state = "mecha_teleport"
+ origin_tech = "bluespace=10"
+ equip_cooldown = 150
+ energy_drain = 1000
+ range = RANGED
+
+/obj/item/mecha_parts/mecha_equipment/teleporter/action(atom/target)
+ if(!action_checks(target) || !is_teleport_allowed(loc.z))
+ return
+ var/turf/T = get_turf(target)
+ if(T)
+ do_teleport(chassis, T, 4)
+ return 1
+
+
+
+////////////////////////////////////////////// WORMHOLE GENERATOR //////////////////////////////////////////
+
+/obj/item/mecha_parts/mecha_equipment/wormhole_generator
+ name = "mounted wormhole generator"
+ desc = "An exosuit module that allows generating of small quasi-stable wormholes."
+ icon_state = "mecha_wholegen"
+ origin_tech = "bluespace=3"
+ equip_cooldown = 50
+ energy_drain = 300
+ range = RANGED
+
+/obj/item/mecha_parts/mecha_equipment/wormhole_generator/action(atom/target)
+ if(!action_checks(target) || !is_teleport_allowed(loc.z))
+ return
+ var/list/theareas = get_areas_in_range(100, chassis)
+ if(!theareas.len)
+ return
+ var/area/thearea = pick(theareas)
+ var/list/L = list()
+ var/turf/pos = get_turf(src)
+ for(var/turf/T in get_area_turfs(thearea.type))
+ if(!T.density && pos.z == T.z)
+ var/clear = 1
+ for(var/obj/O in T)
+ if(O.density)
+ clear = 0
+ break
+ if(clear)
+ L+=T
+ if(!L.len)
+ return
+ var/turf/target_turf = pick(L)
+ if(!target_turf)
+ return
+ var/obj/effect/portal/P = new /obj/effect/portal(get_turf(target), target_turf)
+ P.icon = 'icons/obj/objects.dmi'
+ P.failchance = 0
+ P.icon_state = "anom"
+ P.name = "wormhole"
+ message_admins("[key_name_admin(chassis.occupant, chassis.occupant.client)](? ) (FLW ) used a Wormhole Generator in ([loc.x],[loc.y],[loc.z] - JMP )",0,1)
+ log_game("[key_name(chassis.occupant)] used a Wormhole Generator in ([loc.x],[loc.y],[loc.z])")
+ src = null
+ spawn(rand(150,300))
+ qdel(P)
+ return 1
+
+/////////////////////////////////////// GRAVITATIONAL CATAPULT ///////////////////////////////////////////
+
+/obj/item/mecha_parts/mecha_equipment/gravcatapult
+ name = "mounted gravitational catapult"
+ desc = "An exosuit mounted Gravitational Catapult."
+ icon_state = "mecha_teleport"
+ origin_tech = "bluespace=2;magnets=3"
+ equip_cooldown = 10
+ energy_drain = 100
+ range = MELEE|RANGED
+ var/atom/movable/locked
+ var/mode = 1 //1 - gravsling 2 - gravpush
+
+/obj/item/mecha_parts/mecha_equipment/gravcatapult/action(atom/movable/target)
+ if(!action_checks(target))
+ return
+ switch(mode)
+ if(1)
+ if(!locked)
+ if(!istype(target) || target.anchored)
+ occupant_message("Unable to lock on [target]")
+ return
+ locked = target
+ occupant_message("Locked on [target]")
+ send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",get_equip_info())
+ else if(target!=locked)
+ if(locked in view(chassis))
+ locked.throw_at(target, 14, 1.5)
+ locked = null
+ send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",get_equip_info())
+ return 1
+ else
+ locked = null
+ occupant_message("Lock on [locked] disengaged.")
+ send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",get_equip_info())
+ if(2)
+ var/list/atoms = list()
+ if(isturf(target))
+ atoms = range(3, target)
+ else
+ atoms = orange(3, target)
+ for(var/atom/movable/A in atoms)
+ if(A.anchored) continue
+ spawn(0)
+ var/iter = 5-get_dist(A,target)
+ for(var/i=0 to iter)
+ step_away(A,target)
+ sleep(2)
+ var/turf/T = get_turf(target)
+ log_game("[chassis.occupant.ckey]([chassis.occupant]) used a Gravitational Catapult in ([T.x],[T.y],[T.z])")
+ return 1
+
+
+/obj/item/mecha_parts/mecha_equipment/gravcatapult/get_equip_info()
+ return "[..()] [mode==1?"([locked||"Nothing"])":null] \[S |P \]"
+
+/obj/item/mecha_parts/mecha_equipment/gravcatapult/Topic(href, href_list)
+ ..()
+ if(href_list["mode"])
+ mode = text2num(href_list["mode"])
+ send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",get_equip_info())
+ return
+
+//////////////////////////// ARMOR BOOSTER MODULES //////////////////////////////////////////////////////////
+
+/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster //what is that noise? A BAWWW from TK mutants.
+ name = "Armor Booster Module (Close Combat Weaponry)"
+ desc = "Boosts exosuit armor against armed melee attacks. Requires energy to operate."
+ icon_state = "mecha_abooster_ccw"
+ origin_tech = "materials=3"
+ equip_cooldown = 10
+ energy_drain = 50
+ range = 0
+ var/deflect_coeff = 1.15
+ var/damage_coeff = 0.8
+ selectable = 0
+
+/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/proc/attack_react(mob/user as mob)
+ if(action_checks(user))
+ start_cooldown()
+ return 1
+
+
+/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster
+ name = "Armor Booster Module (Ranged Weaponry)"
+ desc = "Boosts exosuit armor against ranged attacks. Completely blocks taser shots. Requires energy to operate."
+ icon_state = "mecha_abooster_proj"
+ origin_tech = "materials=4"
+ equip_cooldown = 10
+ energy_drain = 50
+ range = 0
+ var/deflect_coeff = 1.15
+ var/damage_coeff = 0.8
+ selectable = 0
+
+/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/proc/projectile_react()
+ if(action_checks(src))
+ start_cooldown()
+ return 1
+
+
+////////////////////////////////// REPAIR DROID //////////////////////////////////////////////////
+
+/obj/item/mecha_parts/mecha_equipment/repair_droid
+ name = "Repair Droid"
+ desc = "Automated repair droid. Scans exosuit for damage and repairs it. Can fix almost all types of external or internal damage."
+ icon_state = "repair_droid"
+ origin_tech = "magnets=3;programming=3"
+ equip_cooldown = 20
+ energy_drain = 100
+ range = 0
+ var/health_boost = 1
+ var/icon/droid_overlay
+ var/list/repairable_damage = list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH)
+ selectable = 0
+
+/obj/item/mecha_parts/mecha_equipment/repair_droid/Destroy()
+ processing_objects.Remove(src)
+ if(chassis)
+ chassis.overlays -= droid_overlay
+ return ..()
+
+/obj/item/mecha_parts/mecha_equipment/repair_droid/attach(obj/mecha/M)
+ ..()
+ droid_overlay = new(icon, icon_state = "repair_droid")
+ M.overlays += droid_overlay
+
+/obj/item/mecha_parts/mecha_equipment/repair_droid/detach()
+ chassis.overlays -= droid_overlay
+ processing_objects.Remove(src)
+
+/obj/item/mecha_parts/mecha_equipment/repair_droid/get_equip_info()
+ if(!chassis) return
+ return "* [name] - [equip_ready?"A":"Dea"]ctivate "
+
+
+/obj/item/mecha_parts/mecha_equipment/repair_droid/Topic(href, href_list)
+ ..()
+ if(href_list["toggle_repairs"])
+ chassis.overlays -= droid_overlay
+ if(equip_ready)
+ processing_objects.Add(src)
+ droid_overlay = new(icon, icon_state = "repair_droid_a")
+ log_message("Activated.")
+ set_ready_state(0)
+ else
+ processing_objects.Remove(src)
+ droid_overlay = new(icon, icon_state = "repair_droid")
+ log_message("Deactivated.")
+ set_ready_state(1)
+ chassis.overlays += droid_overlay
+ send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",get_equip_info())
+
+
+/obj/item/mecha_parts/mecha_equipment/repair_droid/process()
+ if(!chassis)
+ processing_objects.Remove(src)
+ set_ready_state(1)
+ return
+ var/h_boost = health_boost
+ var/repaired = 0
+ if(chassis.internal_damage & MECHA_INT_SHORT_CIRCUIT)
+ h_boost *= -2
+ else if(chassis.internal_damage && prob(15))
+ for(var/int_dam_flag in repairable_damage)
+ if(chassis.internal_damage & int_dam_flag)
+ chassis.clearInternalDamage(int_dam_flag)
+ repaired = 1
+ break
+ if(health_boost<0 || chassis.health < initial(chassis.health))
+ chassis.health += min(health_boost, initial(chassis.health)-chassis.health)
+ repaired = 1
+ if(repaired)
+ if(!chassis.use_power(energy_drain))
+ processing_objects.Remove(src)
+ set_ready_state(1)
+ else //no repair needed, we turn off
+ processing_objects.Remove(src)
+ set_ready_state(1)
+ chassis.overlays -= droid_overlay
+ droid_overlay = new(icon, icon_state = "repair_droid")
+ chassis.overlays += droid_overlay
+
+/////////////////////////////////// TESLA ENERGY RELAY ////////////////////////////////////////////////
+
+/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
+ name = "exosuit energy relay"
+ desc = "An exosuit module that wirelessly drains energy from any available power channel in area. The performance index is quite low."
+ icon_state = "tesla"
+ origin_tech = "magnets=4;powerstorage=4;engineering=4"
+ energy_drain = 0
+ range = 0
+ var/coeff = 100
+ var/list/use_channels = list(EQUIP,ENVIRON,LIGHT)
+ selectable = 0
+
+/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/Destroy()
+ processing_objects.Remove(src)
+ return ..()
+
+/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/detach()
+ processing_objects.Remove(src)
+ ..()
+
+/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/proc/get_charge()
+ if(equip_ready) //disabled
+ return
+ var/area/A = get_area(chassis)
+ var/pow_chan = get_power_channel(A)
+ if(pow_chan)
+ return 1000 //making magic
+
+
+/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/proc/get_power_channel(var/area/A)
+ var/pow_chan
+ if(A)
+ for(var/c in use_channels)
+ if(A.powered(c))
+ pow_chan = c
+ break
+ return pow_chan
+
+/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/Topic(href, href_list)
+ ..()
+ if(href_list["toggle_relay"])
+ if(equip_ready) //inactive
+ processing_objects.Add(src)
+ set_ready_state(0)
+ log_message("Activated.")
+ else
+ processing_objects.Remove(src)
+ set_ready_state(1)
+ log_message("Deactivated.")
+
+/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/get_equip_info()
+ if(!chassis) return
+ return "* [name] - [equip_ready?"A":"Dea"]ctivate "
+
+
+/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/process()
+ if(!chassis || chassis.internal_damage & MECHA_INT_SHORT_CIRCUIT)
+ processing_objects.Remove(src)
+ set_ready_state(1)
+ return
+ var/cur_charge = chassis.get_charge()
+ if(isnull(cur_charge) || !chassis.cell)
+ processing_objects.Remove(src)
+ set_ready_state(1)
+ occupant_message("No powercell detected.")
+ return
+ if(cur_charge < chassis.cell.maxcharge)
+ var/area/A = get_area(chassis)
+ if(A)
+ var/pow_chan
+ for(var/c in list(EQUIP,ENVIRON,LIGHT))
+ if(A.powered(c))
+ pow_chan = c
+ break
+ if(pow_chan)
+ var/delta = min(20, chassis.cell.maxcharge-cur_charge)
+ chassis.give_power(delta)
+ A.use_power(delta*coeff, pow_chan)
+
+/////////////////////////////////////////// GENERATOR /////////////////////////////////////////////
+
+/obj/item/mecha_parts/mecha_equipment/generator
+ name = "exosuit plasma converter"
+ desc = "An exosuit module that generates power using solid plasma as fuel. Pollutes the environment."
+ icon_state = "tesla"
+ origin_tech = "plasmatech=2;powerstorage=2;engineering=2"
+ range = MELEE
+ var/coeff = 100
+ var/fuel_type = MAT_PLASMA
+ var/max_fuel = 150000
+ var/fuel_name = "plasma" // Our fuel name as a string
+ var/fuel_amount = 0
+ var/fuel_per_cycle_idle = 10
+ var/fuel_per_cycle_active = 100
+ var/power_per_cycle = 30
+
+
+/obj/item/mecha_parts/mecha_equipment/generator/Destroy()
+ processing_objects.Remove(src)
+ return ..()
+
+/obj/item/mecha_parts/mecha_equipment/generator/detach()
+ processing_objects.Remove(src)
+ ..()
+
+/obj/item/mecha_parts/mecha_equipment/generator/Topic(href, href_list)
+ ..()
+ if(href_list["toggle"])
+ if(equip_ready) //inactive
+ set_ready_state(0)
+ processing_objects.Add(src)
+ log_message("Activated.")
+ else
+ set_ready_state(1)
+ processing_objects.Remove(src)
+ log_message("Deactivated.")
+
+/obj/item/mecha_parts/mecha_equipment/generator/get_equip_info()
+ var/output = ..()
+ if(output)
+ return "[output] \[[fuel_name]: [round(fuel_amount,0.1)] cm3 \] - [equip_ready?"A":"Dea"]ctivate "
+
+/obj/item/mecha_parts/mecha_equipment/generator/action(target)
+ if(chassis)
+ var/result = load_fuel(target)
+ if(result)
+ send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",get_equip_info())
+
+/obj/item/mecha_parts/mecha_equipment/generator/proc/load_fuel(var/obj/item/I)
+ if(istype(I) && (fuel_type in I.materials))
+ if(istype(I, /obj/item/stack/sheet))
+ var/obj/item/stack/sheet/P = I
+ var/to_load = max(max_fuel - P.amount*P.perunit,0)
+ if(to_load)
+ var/units = min(max(round(to_load / P.perunit),1),P.amount)
+ if(units)
+ var/added_fuel = units * P.perunit
+ fuel_amount += added_fuel
+ P.use(units)
+ occupant_message("[units] unit\s of [fuel_name] successfully loaded.")
+ return added_fuel
+ else
+ occupant_message("Unit is full.")
+ return 0
+ else // Some other object containing our fuel's type, so we just eat it (ores mainly)
+ var/to_load = max(min(I.materials[fuel_type], max_fuel - fuel_amount),0)
+ if(to_load == 0)
+ return 0
+ fuel_amount += to_load
+ qdel(I)
+ return to_load
+
+ else if(istype(I, /obj/structure/ore_box))
+ var/fuel_added = 0
+ for(var/baz in I.contents)
+ var/obj/item/O = baz
+ if(fuel_type in O.materials)
+ fuel_added = load_fuel(O)
+ break
+ return fuel_added
+
+ else
+ occupant_message("[fuel_name] traces in target minimal! [I] cannot be used as fuel. ")
+ return
+
+/obj/item/mecha_parts/mecha_equipment/generator/attackby(weapon,mob/user, params)
+ load_fuel(weapon)
+
+/obj/item/mecha_parts/mecha_equipment/generator/critfail()
+ ..()
+ var/turf/simulated/T = get_turf(src)
+ if(!istype(T))
+ return
+ var/datum/gas_mixture/GM = new
+ if(prob(10))
+ GM.toxins += 100
+ GM.temperature = 1500+T0C //should be enough to start a fire
+ T.visible_message("[src] suddenly disgorges a cloud of heated plasma.")
+ qdel(src)
+ else
+ GM.toxins += 5
+ GM.temperature = istype(T) ? T.air.return_temperature() : T20C
+ T.visible_message("[src] suddenly disgorges a cloud of plasma.")
+ T.assume_air(GM)
+
+/obj/item/mecha_parts/mecha_equipment/generator/process()
+ if(!chassis)
+ processing_objects.Remove(src)
+ set_ready_state(1)
+ return
+ if(fuel_amount<=0)
+ processing_objects.Remove(src)
+ log_message("Deactivated - no fuel.")
+ set_ready_state(1)
+ return
+ var/cur_charge = chassis.get_charge()
+ if(isnull(cur_charge))
+ set_ready_state(1)
+ occupant_message("No powercell detected.")
+ log_message("Deactivated.")
+ processing_objects.Remove(src)
+ return
+ var/use_fuel = fuel_per_cycle_idle
+ if(cur_charge < chassis.cell.maxcharge)
+ use_fuel = fuel_per_cycle_active
+ chassis.give_power(power_per_cycle)
+ fuel_amount -= min(use_fuel, fuel_amount)
+ update_equip_info()
+ return 1
+
+
+/obj/item/mecha_parts/mecha_equipment/generator/nuclear
+ name = "exonuclear reactor"
+ desc = "An exosuit module that generates power using uranium as fuel. Pollutes the environment."
+ icon_state = "tesla"
+ origin_tech = "powerstorage=4;engineering=4"
+ fuel_name = "uranium" // Our fuel name as a string
+ fuel_type = MAT_URANIUM
+ max_fuel = 50000
+ fuel_per_cycle_idle = 10
+ fuel_per_cycle_active = 30
+ power_per_cycle = 50
+ var/rad_per_cycle = 0.3
+
+/obj/item/mecha_parts/mecha_equipment/generator/nuclear/critfail()
+ return
+
+/obj/item/mecha_parts/mecha_equipment/generator/nuclear/process()
+ if(..())
+ for(var/mob/living/carbon/M in view(chassis))
+ M.apply_effect((rad_per_cycle * 3),IRRADIATE,0)
\ No newline at end of file
diff --git a/code/game/mecha/equipment/tools/tools.dm b/code/game/mecha/equipment/tools/tools.dm
deleted file mode 100644
index d945e1cbb7f..00000000000
--- a/code/game/mecha/equipment/tools/tools.dm
+++ /dev/null
@@ -1,1147 +0,0 @@
-/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp
- name = "Hydraulic Clamp"
- icon_state = "mecha_clamp"
- equip_cooldown = 15
- energy_drain = 10
- var/dam_force = 20
- var/obj/mecha/working/ripley/cargo_holder
-
- can_attach(obj/mecha/working/ripley/M as obj)
- if(..())
- if(istype(M))
- return 1
- return 0
-
- attach(obj/mecha/M as obj)
- ..()
- cargo_holder = M
- return
-
- action(atom/target)
- if(!action_checks(target)) return
- if(!cargo_holder) return
- if(istype(target, /obj/structure/stool)) return
-
- if(istype(target,/obj))
- var/obj/O = target
- if(!O.anchored)
- if(cargo_holder.cargo.len < cargo_holder.cargo_capacity)
- occupant_message("You lift [target] and start to load it into cargo compartment.")
- chassis.visible_message("[chassis] lifts [target] and starts to load it into cargo compartment.")
- set_ready_state(0)
- chassis.use_power(energy_drain)
- O.anchored = 1
- var/T = chassis.loc
- if(do_after_cooldown(target))
- if(T == chassis.loc && src == chassis.selected)
- cargo_holder.cargo += O
- O.loc = chassis
- O.anchored = 0
- occupant_message("[target] succesfully loaded. ")
- log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - cargo_holder.cargo.len]")
- else
- occupant_message("You must hold still while handling objects. ")
- O.anchored = initial(O.anchored)
- else
- occupant_message("Not enough room in cargo compartment. ")
- else
- occupant_message("[target] is firmly secured. ")
-
- else if(istype(target,/mob/living))
- var/mob/living/M = target
- if(M.stat>1) return
- if(chassis.occupant.a_intent == I_HARM)
- M.take_overall_damage(dam_force)
- M.adjustOxyLoss(round(dam_force/2))
- M.updatehealth()
- occupant_message("\red You squeeze [target] with [src.name]. Something cracks.")
- chassis.visible_message("\red [chassis] squeezes [target].")
- else
- step_away(M,chassis)
- occupant_message("You push [target] out of the way.")
- chassis.visible_message("[chassis] pushes [target] out of the way.")
- set_ready_state(0)
- chassis.use_power(energy_drain)
- do_after_cooldown()
- return 1
-
-/obj/item/mecha_parts/mecha_equipment/tool/drill
- name = "Drill"
- desc = "This is the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)"
- icon_state = "mecha_drill"
- equip_cooldown = 30
- energy_drain = 10
- force = 15
-
- action(atom/target)
- if(!action_checks(target)) return
- if(isobj(target))
- var/obj/target_obj = target
- if(!target_obj.vars.Find("unacidable") || target_obj.unacidable) return
- set_ready_state(0)
- chassis.use_power(energy_drain)
- chassis.visible_message("[chassis] starts to drill [target] ", "You hear the drill.")
- occupant_message("You start to drill [target] ")
- var/T = chassis.loc
- var/C = target.loc //why are these backwards? we may never know -Pete
- if(do_after_cooldown(target))
- if(T == chassis.loc && src == chassis.selected)
- if(istype(target, /turf/simulated/wall/r_wall))
- occupant_message("[target] is too durable to drill through. ")
- else if(istype(target, /turf/simulated/mineral))
- for(var/turf/simulated/mineral/M in range(chassis,1))
- if(get_dir(chassis,M)&chassis.dir)
- M.gets_drilled()
- log_message("Drilled through [target]")
- if(locate(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp) in chassis.equipment)
- var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo
- if(ore_box)
- for(var/obj/item/weapon/ore/ore in range(chassis,1))
- if(get_dir(chassis,ore)&chassis.dir)
- ore.Move(ore_box)
- else if(istype(target, /turf/simulated/floor/plating/airless/asteroid))
- for(var/turf/simulated/floor/plating/airless/asteroid/M in range(chassis,1))
- if(get_dir(chassis,M)&chassis.dir)
- M.gets_drilled()
- log_message("Drilled through [target]")
- if(locate(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp) in chassis.equipment)
- var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo
- if(ore_box)
- for(var/obj/item/weapon/ore/ore in range(chassis,1))
- if(get_dir(chassis,ore)&chassis.dir)
- ore.Move(ore_box)
- else if(target.loc == C)
- if(istype(target, /mob/living))
- var/mob/living/M = target
- M.attack_log +="\[[time_stamp()]\] Mech Drilled by [chassis.occupant.name] ([chassis.occupant.ckey]) with [src.name] "
- chassis.occupant.attack_log += "\[[time_stamp()]\] Mech Drilled [M.name] ([M.ckey]) with [src.name] "
- log_attack("[chassis.occupant.name] ([chassis.occupant.ckey]) mech drilled [M.name] ([M.ckey]) with [src.name] " )
- if(!iscarbon(chassis.occupant))
- M.LAssailant = null
- else
- M.LAssailant = chassis.occupant
- log_message("Drilled through [target]")
- target.ex_act(2)
- return 1
-
- can_attach(obj/mecha/M as obj)
- if(..())
- if(istype(M, /obj/mecha/working) || istype(M, /obj/mecha/combat))
- return 1
- return 0
-
-/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill
- name = "Diamond Drill"
- desc = "This is an upgraded version of the drill that'll pierce the heavens! (Can be attached to: Combat and Engineering Exosuits)"
- icon_state = "mecha_diamond_drill"
- origin_tech = "materials=4;engineering=3"
- equip_cooldown = 20
- force = 15
-
- action(atom/target)
- if(!action_checks(target)) return
- if(isobj(target))
- var/obj/target_obj = target
- if(target_obj.unacidable) return
- set_ready_state(0)
- chassis.use_power(energy_drain)
- chassis.visible_message("[chassis] starts to drill [target] ", "You hear the drill.")
- occupant_message("You start to drill [target] ")
- var/T = chassis.loc
- var/C = target.loc //why are these backwards? we may never know -Pete
- if(do_after_cooldown(target))
- if(T == chassis.loc && src == chassis.selected)
- if(istype(target, /turf/simulated/wall/r_wall))
- if(do_after_cooldown(target))//To slow down how fast mechs can drill through the station
- log_message("Drilled through [target]")
- target.ex_act(3)
- else if(istype(target, /turf/simulated/mineral))
- for(var/turf/simulated/mineral/M in range(chassis,1))
- if(get_dir(chassis,M)&chassis.dir)
- M.gets_drilled()
- log_message("Drilled through [target]")
- if(locate(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp) in chassis.equipment)
- var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo
- if(ore_box)
- for(var/obj/item/weapon/ore/ore in range(chassis,1))
- if(get_dir(chassis,ore)&chassis.dir)
- ore.Move(ore_box)
- else if(istype(target,/turf/simulated/floor/plating/airless/asteroid))
- for(var/turf/simulated/floor/plating/airless/asteroid/M in range(target,1))
- M.gets_drilled()
- log_message("Drilled through [target]")
- if(locate(/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp) in chassis.equipment)
- var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo
- if(ore_box)
- for(var/obj/item/weapon/ore/ore in range(target,1))
- ore.Move(ore_box)
- else if(target.loc == C)
- if(istype(target, /mob/living))
- var/mob/living/M = target
- M.attack_log +="\[[time_stamp()]\] Mech Drilled by [chassis.occupant.name] ([chassis.occupant.ckey]) with [src.name] "
- chassis.occupant.attack_log += "\[[time_stamp()]\] Mech Drilled [M.name] ([M.ckey]) with [src.name] "
- log_attack("[chassis.occupant.name] ([chassis.occupant.ckey]) mech drilled [M.name] ([M.ckey]) with [src.name] " )
- if(!iscarbon(chassis.occupant))
- M.LAssailant = null
- else
- M.LAssailant = chassis.occupant
- log_message("Drilled through [target]")
- target.ex_act(2)
- return 1
-
- can_attach(obj/mecha/M as obj)
- if(..())
- if(istype(M, /obj/mecha/working) || istype(M, /obj/mecha/combat))
- return 1
- return 0
-
-/obj/item/mecha_parts/mecha_equipment/tool/extinguisher
- name = "Extinguisher"
- desc = "Exosuit-mounted extinguisher (Can be attached to: Engineering exosuits)"
- icon_state = "mecha_exting"
- equip_cooldown = 5
- energy_drain = 0
- range = MELEE|RANGED
-
- New()
- reagents = new/datum/reagents(1000)
- reagents.my_atom = src
- reagents.add_reagent("water", 1000)
- ..()
- return
-
- action(atom/target) //copypasted from extinguisher. TODO: Rewrite from scratch.
- if(!action_checks(target) || get_dist(chassis, target)>3) return
- if(get_dist(chassis, target)>2) return
- set_ready_state(0)
- if(do_after_cooldown(target))
- if(istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1)
- var/obj/o = target
- o.reagents.trans_to(src, 1000)
- occupant_message("\blue Extinguisher refilled")
- playsound(chassis, 'sound/effects/refill.ogg', 50, 1, -6)
- else
- if(src.reagents.total_volume > 0)
- playsound(chassis, 'sound/effects/extinguish.ogg', 75, 1, -3)
- var/direction = get_dir(chassis,target)
- var/turf/T = get_turf(target)
- var/turf/T1 = get_step(T,turn(direction, 90))
- var/turf/T2 = get_step(T,turn(direction, -90))
-
- var/list/the_targets = list(T,T1,T2)
- spawn(0)
- for(var/a=0, a<5, a++)
- var/obj/effect/effect/water/W = new /obj/effect/effect/water(get_turf(chassis))
- if(!W)
- return
- var/turf/my_target = pick(the_targets)
- var/datum/reagents/R = new/datum/reagents(5)
- W.reagents = R
- R.my_atom = W
- src.reagents.trans_to(W,1)
- for(var/b=0, b<4, b++)
- if(!W)
- return
- step_towards(W,my_target)
- if(!W)
- return
- var/turf/W_turf = get_turf(W)
- W.reagents.reaction(W_turf)
- for(var/atom/atm in W_turf)
- W.reagents.reaction(atm)
- if(W.loc == my_target)
- break
- sleep(2)
- return 1
-
- get_equip_info()
- return "[..()] \[[src.reagents.total_volume]\]"
-
- on_reagent_change()
- return
-
- can_attach(obj/mecha/working/M as obj)
- if(..())
- if(istype(M))
- return 1
- return 0
-
-
-/obj/item/mecha_parts/mecha_equipment/tool/rcd
- name = "Mounted RCD"
- desc = "An exosuit-mounted Rapid Construction Device. (Can be attached to: Any exosuit)"
- icon_state = "mecha_rcd"
- origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4"
- equip_cooldown = 10
- energy_drain = 250
- range = MELEE|RANGED
- var/mode = 0 //0 - deconstruct, 1 - wall or floor, 2 - airlock.
- var/canRwall = 0
-
- New()
- rcd_list += src
- ..()
-
- Destroy()
- rcd_list -= src
- return ..()
-
- action(atom/target)
- if(istype(target, /turf/space/transit))//>implying these are ever made -Sieve
- return
- if(!istype(target, /turf) && !istype(target, /obj/machinery/door/airlock))
- target = get_turf(target)
- if(!action_checks(target) || get_dist(chassis, target)>3) return
- playsound(chassis, 'sound/machines/click.ogg', 50, 1)
- //meh
- switch(mode)
- if(0)
- if(istype(target, /turf/simulated/wall))
- if(istype(target, /turf/simulated/wall/r_wall) && !canRwall)
- return 0
- occupant_message("Deconstructing [target]...")
- set_ready_state(0)
- if(do_after_cooldown(target))
- chassis.spark_system.start()
- target:ChangeTurf(/turf/simulated/floor/plating)
- playsound(target, 'sound/items/Deconstruct.ogg', 50, 1)
- chassis.use_power(energy_drain)
- else if(istype(target, /turf/simulated/floor))
- occupant_message("Deconstructing [target]...")
- set_ready_state(0)
- if(do_after_cooldown(target))
- chassis.spark_system.start()
- target:ChangeTurf(/turf/space)
- playsound(target, 'sound/items/Deconstruct.ogg', 50, 1)
- chassis.use_power(energy_drain)
- else if(istype(target, /obj/machinery/door/airlock))
- occupant_message("Deconstructing [target]...")
- set_ready_state(0)
- if(do_after_cooldown(target))
- chassis.spark_system.start()
- qdel(target)
- playsound(target, 'sound/items/Deconstruct.ogg', 50, 1)
- chassis.use_power(energy_drain)
- if(1)
- if(istype(target, /turf/space))
- occupant_message("Building Floor...")
- set_ready_state(0)
- if(do_after_cooldown(target))
- target:ChangeTurf(/turf/simulated/floor/plating)
- playsound(target, 'sound/items/Deconstruct.ogg', 50, 1)
- chassis.spark_system.start()
- chassis.use_power(energy_drain*2)
- else if(istype(target, /turf/simulated/floor))
- occupant_message("Building Wall...")
- set_ready_state(0)
- if(do_after_cooldown(target))
- target:ChangeTurf(/turf/simulated/wall)
- playsound(target, 'sound/items/Deconstruct.ogg', 50, 1)
- chassis.spark_system.start()
- chassis.use_power(energy_drain*2)
- if(2)
- if(istype(target, /turf/simulated/floor))
- occupant_message("Building Airlock...")
- set_ready_state(0)
- if(do_after_cooldown(target))
- chassis.spark_system.start()
- var/obj/machinery/door/airlock/T = new /obj/machinery/door/airlock(target)
- T.autoclose = 1
- playsound(target, 'sound/items/Deconstruct.ogg', 50, 1)
- playsound(target, 'sound/effects/sparks2.ogg', 50, 1)
- chassis.use_power(energy_drain*2)
- return
-
-
- Topic(href,href_list)
- ..()
- if(href_list["mode"])
- mode = text2num(href_list["mode"])
- switch(mode)
- if(0)
- occupant_message("Switched RCD to Deconstruct.")
- if(1)
- occupant_message("Switched RCD to Construct.")
- if(2)
- occupant_message("Switched RCD to Construct Airlock.")
- return
-
- get_equip_info()
- return "[..()] \[D |C |A \]"
-
-
-
-
-/obj/item/mecha_parts/mecha_equipment/teleporter
- name = "Teleporter"
- desc = "An exosuit module that allows exosuits to teleport to any position in view."
- icon_state = "mecha_teleport"
- origin_tech = "bluespace=10"
- equip_cooldown = 150
- energy_drain = 1000
- range = RANGED
-
- action(atom/target)
- if(!action_checks(target) || !is_teleport_allowed(src.loc.z)) return
- var/turf/T = get_turf(target)
- if(T)
- set_ready_state(0)
- chassis.use_power(energy_drain)
- do_teleport(chassis, T, 4)
- do_after_cooldown()
- return
-
-
-/obj/item/mecha_parts/mecha_equipment/wormhole_generator
- name = "Wormhole Generator"
- desc = "An exosuit module that allows generating of small quasi-stable wormholes."
- icon_state = "mecha_wholegen"
- origin_tech = "bluespace=3"
- equip_cooldown = 50
- energy_drain = 300
- range = RANGED
-
-
- action(atom/target)
- if(!action_checks(target) || !is_teleport_allowed(src.loc.z)) return
- var/list/theareas = list()
- for(var/area/AR in orange(100, chassis))
- if(AR in theareas) continue
- theareas += AR
- if(!theareas.len)
- return
- var/area/thearea = pick(theareas)
- var/list/L = list()
- var/turf/pos = get_turf(src)
- for(var/turf/T in get_area_turfs(thearea.type))
- if(!T.density && pos.z == T.z)
- var/clear = 1
- for(var/obj/O in T)
- if(O.density)
- clear = 0
- break
- if(clear)
- L+=T
- if(!L.len)
- return
- var/turf/target_turf = pick(L)
- if(!target_turf)
- return
- chassis.use_power(energy_drain)
- set_ready_state(0)
- var/obj/effect/portal/P = new /obj/effect/portal(get_turf(target), target_turf)
- P.icon = 'icons/obj/objects.dmi'
- P.failchance = 0
- P.icon_state = "anom"
- P.name = "wormhole"
- message_admins("[key_name_admin(chassis.occupant, chassis.occupant.client)](? ) (FLW ) used a Wormhole Generator in ([loc.x],[loc.y],[loc.z] - JMP )",0,1)
- log_game("[key_name(chassis.occupant)] used a Wormhole Generator in ([loc.x],[loc.y],[loc.z])")
- do_after_cooldown()
- src = null
- spawn(rand(150,300))
- qdel(P)
- return
-
-/obj/item/mecha_parts/mecha_equipment/gravcatapult
- name = "Gravitational Catapult"
- desc = "An exosuit mounted Gravitational Catapult."
- icon_state = "mecha_teleport"
- origin_tech = "bluespace=2;magnets=3"
- equip_cooldown = 10
- energy_drain = 100
- range = MELEE|RANGED
- var/atom/movable/locked
- var/mode = 1 //1 - gravsling 2 - gravpush
-
-
- action(atom/movable/target)
- switch(mode)
- if(1)
- if(!action_checks(target) && !locked) return
- if(!locked)
- if(!istype(target) || target.anchored)
- occupant_message("Unable to lock on [target]")
- return
- locked = target
- occupant_message("Locked on [target]")
- send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info())
- return
- else if(target!=locked)
- if(locked in view(chassis))
- locked.throw_at(target, 14, 1.5, chassis)
- locked = null
- send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info())
- set_ready_state(0)
- chassis.use_power(energy_drain)
- do_after_cooldown()
- else
- locked = null
- occupant_message("Lock on [locked] disengaged.")
- send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info())
- if(2)
- if(!action_checks(target)) return
- var/list/atoms = list()
- if(isturf(target))
- atoms = range(target,3)
- else
- atoms = orange(target,3)
- for(var/atom/movable/A in atoms)
- if(A.anchored) continue
- spawn(0)
- var/iter = 5-get_dist(A,target)
- for(var/i=0 to iter)
- step_away(A,target)
- sleep(2)
- set_ready_state(0)
- chassis.use_power(energy_drain)
- do_after_cooldown()
- return
-
- get_equip_info()
- return "[..()] [mode==1?"([locked||"Nothing"])":null] \[S |P \]"
-
- Topic(href, href_list)
- ..()
- if(href_list["mode"])
- mode = text2num(href_list["mode"])
- send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info())
- return
-
-
-/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster //what is that noise? A BAWWW from TK mutants.
- name = "Armor Booster Module (Close Combat Weaponry)"
- desc = "Boosts exosuit armor against armed melee attacks. Requires energy to operate."
- icon_state = "mecha_abooster_ccw"
- origin_tech = "materials=3"
- equip_cooldown = 10
- energy_drain = 50
- range = 0
- var/deflect_coeff = 1.15
- var/damage_coeff = 0.8
-
- can_attach(obj/mecha/M as obj)
- if(..())
- if(!istype(M, /obj/mecha/combat/honker))
- if(!M.proc_res["dynattackby"])
- return 1
- return 0
-
- attach(obj/mecha/M as obj)
- ..()
- chassis.proc_res["dynattackby"] = src
- return
-
- detach()
- chassis.proc_res["dynattackby"] = null
- ..()
- return
-
- get_equip_info()
- if(!chassis) return
- return "* [src.name]"
-
- proc/dynattackby(obj/item/weapon/W as obj, mob/user as mob, params)
- if(!action_checks(user))
- return chassis.dynattackby(W,user, params)
- chassis.log_message("Attacked by [W]. Attacker - [user]")
- if(prob(chassis.deflect_chance*deflect_coeff))
- to_chat(user, "\red The [W] bounces off [chassis] armor.")
- chassis.log_append_to_last("Armor saved.")
- else
- chassis.occupant_message("[user] hits [chassis] with [W]. ")
- user.visible_message("[user] hits [chassis] with [W]. ", "You hit [src] with [W]. ")
- chassis.take_damage(round(W.force*damage_coeff),W.damtype)
- chassis.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- set_ready_state(0)
- chassis.use_power(energy_drain)
- do_after_cooldown()
- return
-
-
-/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster
- name = "Armor Booster Module (Ranged Weaponry)"
- desc = "Boosts exosuit armor against ranged attacks. Completely blocks taser shots. Requires energy to operate."
- icon_state = "mecha_abooster_proj"
- origin_tech = "materials=4"
- equip_cooldown = 10
- energy_drain = 50
- range = 0
- var/deflect_coeff = 1.15
- var/damage_coeff = 0.8
-
- can_attach(obj/mecha/M as obj)
- if(..())
- if(!istype(M, /obj/mecha/combat/honker))
- if(!M.proc_res["dynbulletdamage"] && !M.proc_res["dynhitby"])
- return 1
- return 0
-
- attach(obj/mecha/M as obj)
- ..()
- chassis.proc_res["dynbulletdamage"] = src
- chassis.proc_res["dynhitby"] = src
- return
-
- detach()
- chassis.proc_res["dynbulletdamage"] = null
- chassis.proc_res["dynhitby"] = null
- ..()
- return
-
- get_equip_info()
- if(!chassis) return
- return "* [src.name]"
-
- proc/dynbulletdamage(var/obj/item/projectile/Proj)
- if(!action_checks(src))
- return chassis.dynbulletdamage(Proj)
- if(prob(chassis.deflect_chance*deflect_coeff))
- chassis.occupant_message("\blue The armor deflects incoming projectile.")
- chassis.visible_message("The [chassis.name] armor deflects the projectile")
- chassis.log_append_to_last("Armor saved.")
- else
- chassis.take_damage(round(Proj.damage*src.damage_coeff),Proj.flag)
- chassis.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- Proj.on_hit(chassis)
- set_ready_state(0)
- chassis.use_power(energy_drain)
- do_after_cooldown()
- return
-
- proc/dynhitby(atom/movable/A)
- if(!action_checks(A))
- return chassis.dynhitby(A)
- if(prob(chassis.deflect_chance*deflect_coeff) || istype(A, /mob/living) || istype(A, /obj/item/mecha_parts/mecha_tracking))
- chassis.occupant_message("\blue The [A] bounces off the armor.")
- chassis.visible_message("The [A] bounces off the [chassis] armor")
- chassis.log_append_to_last("Armor saved.")
- if(istype(A, /mob/living))
- var/mob/living/M = A
- M.take_organ_damage(10)
- else if(istype(A, /obj))
- var/obj/O = A
- if(O.throwforce)
- chassis.take_damage(round(O.throwforce*damage_coeff))
- chassis.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- set_ready_state(0)
- chassis.use_power(energy_drain)
- do_after_cooldown()
- return
-
-
-/obj/item/mecha_parts/mecha_equipment/repair_droid
- name = "Repair Droid"
- desc = "Automated repair droid. Scans exosuit for damage and repairs it. Can fix almost all types of external or internal damage."
- icon_state = "repair_droid"
- origin_tech = "magnets=3;programming=3"
- equip_cooldown = 20
- energy_drain = 100
- range = 0
- var/health_boost = 2
- var/datum/global_iterator/pr_repair_droid
- var/icon/droid_overlay
- var/list/repairable_damage = list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH)
-
- New()
- ..()
- pr_repair_droid = new /datum/global_iterator/mecha_repair_droid(list(src),0)
- pr_repair_droid.set_delay(equip_cooldown)
- return
-
- attach(obj/mecha/M as obj)
- ..()
- droid_overlay = new(src.icon, icon_state = "repair_droid")
- M.overlays += droid_overlay
- return
-
- Destroy()
- chassis.overlays -= droid_overlay
- return ..()
-
- detach()
- chassis.overlays -= droid_overlay
- pr_repair_droid.stop()
- ..()
- return
-
- get_equip_info()
- if(!chassis) return
- return "* [src.name] - [pr_repair_droid.active()?"Dea":"A"]ctivate "
-
-
- Topic(href, href_list)
- ..()
- if(href_list["toggle_repairs"])
- chassis.overlays -= droid_overlay
- if(pr_repair_droid.toggle())
- droid_overlay = new(src.icon, icon_state = "repair_droid_a")
- log_message("Activated.")
- else
- droid_overlay = new(src.icon, icon_state = "repair_droid")
- log_message("Deactivated.")
- set_ready_state(1)
- chassis.overlays += droid_overlay
- send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info())
- return
-
-
-/datum/global_iterator/mecha_repair_droid
-
- process(var/obj/item/mecha_parts/mecha_equipment/repair_droid/RD as obj)
- if(!RD.chassis)
- stop()
- RD.set_ready_state(1)
- return
- var/health_boost = RD.health_boost
- var/repaired = 0
- if(RD.chassis.hasInternalDamage(MECHA_INT_SHORT_CIRCUIT))
- health_boost *= -2
- else if(RD.chassis.hasInternalDamage() && prob(15))
- for(var/int_dam_flag in RD.repairable_damage)
- if(RD.chassis.hasInternalDamage(int_dam_flag))
- RD.chassis.clearInternalDamage(int_dam_flag)
- repaired = 1
- break
- if(health_boost<0 || RD.chassis.health < initial(RD.chassis.health))
- RD.chassis.health += min(health_boost, initial(RD.chassis.health)-RD.chassis.health)
- repaired = 1
- if(repaired)
- if(RD.chassis.use_power(RD.energy_drain))
- RD.set_ready_state(0)
- else
- stop()
- RD.set_ready_state(1)
- return
- else
- RD.set_ready_state(1)
- return
-
-
-/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
- name = "Energy Relay"
- desc = "Wirelessly drains energy from any available power channel in area. The performance index is quite low."
- icon_state = "tesla"
- origin_tech = "magnets=4;powerstorage=3"
- equip_cooldown = 10
- energy_drain = 0
- range = 0
- var/datum/global_iterator/pr_energy_relay
- var/coeff = 100
- var/list/use_channels = list(EQUIP,ENVIRON,LIGHT)
-
- New()
- ..()
- pr_energy_relay = new /datum/global_iterator/mecha_energy_relay(list(src),0)
- pr_energy_relay.set_delay(equip_cooldown)
- return
-
- detach()
- pr_energy_relay.stop()
-// chassis.proc_res["dynusepower"] = null
- chassis.proc_res["dyngetcharge"] = null
- ..()
- return
-
- attach(obj/mecha/M)
- ..()
- chassis.proc_res["dyngetcharge"] = src
-// chassis.proc_res["dynusepower"] = src
- return
-
- can_attach(obj/mecha/M)
- if(..())
- if(!M.proc_res["dyngetcharge"])// && !M.proc_res["dynusepower"])
- return 1
- return 0
-
- proc/dyngetcharge()
- if(equip_ready) //disabled
- return chassis.dyngetcharge()
- var/area/A = get_area(chassis)
- var/pow_chan = get_power_channel(A)
- var/charge = 0
- if(pow_chan)
- charge = 1000 //making magic
- else
- return chassis.dyngetcharge()
- return charge
-
- proc/get_power_channel(var/area/A)
- var/pow_chan
- if(A)
- for(var/c in use_channels)
- if(A.powered(c))
- pow_chan = c
- break
- return pow_chan
-
- Topic(href, href_list)
- ..()
- if(href_list["toggle_relay"])
- if(pr_energy_relay.toggle())
- set_ready_state(0)
- log_message("Activated.")
- else
- set_ready_state(1)
- log_message("Deactivated.")
- return
-
- get_equip_info()
- if(!chassis) return
- return "* [src.name] - [pr_energy_relay.active()?"Dea":"A"]ctivate "
-
-/* proc/dynusepower(amount)
- if(!equip_ready) //enabled
- var/area/A = get_area(chassis)
- var/pow_chan = get_power_channel(A)
- if(pow_chan)
- A.master.use_power(amount*coeff, pow_chan)
- return 1
- return chassis.dynusepower(amount)*/
-
-/datum/global_iterator/mecha_energy_relay
-
- process(var/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/ER)
- if(!ER.chassis || ER.chassis.hasInternalDamage(MECHA_INT_SHORT_CIRCUIT))
- stop()
- ER.set_ready_state(1)
- return
- var/cur_charge = ER.chassis.get_charge()
- if(isnull(cur_charge) || !ER.chassis.cell)
- stop()
- ER.set_ready_state(1)
- ER.occupant_message("No powercell detected.")
- return
- if(cur_charge3\] - [pr_mech_generator.active()?"Dea":"A"]ctivate "
- return
-
- action(target)
- if(chassis)
- var/result = load_fuel(target)
- var/message
- if(isnull(result))
- message = "[fuel_name] traces in target minimal. [target] cannot be used as fuel. "
- else if(!result)
- message = "Unit is full."
- else
- message = "[result] unit\s of [fuel_name] successfully loaded."
- send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info())
- occupant_message(message)
- return
-
- proc/load_fuel(var/obj/item/I)
- if(istype(I) && (fuel_type in I.materials))
- if(istype(I, /obj/item/stack/sheet))
- var/obj/item/stack/sheet/P = I
- var/to_load = max(max_fuel - P.amount*P.perunit,0)
- if(to_load)
- var/units = min(max(round(to_load / P.perunit),1),P.amount)
- if(units)
- var/added_fuel = units * P.perunit
- fuel_amount += added_fuel
- P.use(units)
- return added_fuel
- else
- return 0
- else // Some other object containing our fuel's type, so we just eat it (ores mainly)
- var/to_load = max(min(I.materials[fuel_type], max_fuel - fuel_amount),0)
- if(to_load == 0)
- return 0
- fuel_amount += to_load
- qdel(I)
- return to_load
- else if(istype(I, /obj/structure/ore_box))
- var/fuel_added = 0
- for(var/baz in I.contents) // Istypeless loop
- var/obj/item/O = baz
- if(fuel_type in O.materials)
- fuel_added = load_fuel(O)
- break
- return fuel_added
- return
-
- attackby(weapon,mob/user, params)
- var/result = load_fuel(weapon)
- var/weapon_name = "[weapon]"
- if(isnull(result))
- user.visible_message("[user] tries to shove [weapon_name] into [src], but \the [src] rejects it.","[fuel_name] traces in target minimal. [weapon_name] cannot be used as fuel. ")
- else if(!result)
- to_chat(user, "Unit is full.")
- else
- user.visible_message("[user] loads [src] with \the [weapon_name].","[result] unit\s of [fuel_name] successfully loaded.")
- return
-
- critfail()
- ..()
- var/turf/simulated/T = get_turf(src)
- if(!T)
- return
- var/datum/gas_mixture/GM = new
- if(prob(10))
- GM.toxins += 100
- GM.temperature = 1500+T0C //should be enough to start a fire
- T.visible_message("The [src] suddenly disgorges a cloud of heated plasma.")
- qdel(src)
- else
- GM.toxins += 5
- GM.temperature = istype(T) ? T.air.temperature : T20C
- T.visible_message("The [src] suddenly disgorges a cloud of plasma.")
- T.assume_air(GM)
- return
-
-/datum/global_iterator/mecha_generator
-
- process(var/obj/item/mecha_parts/mecha_equipment/generator/EG)
- if(!EG.chassis)
- stop()
- EG.set_ready_state(1)
- return 0
- if(EG.fuel_amount<=0)
- stop()
- EG.log_message("Deactivated - no fuel.")
- EG.set_ready_state(1)
- return 0
- if(anyprob(EG.reliability))
- EG.critfail()
- stop()
- return 0
- var/cur_charge = EG.chassis.get_charge()
- if(isnull(cur_charge))
- EG.set_ready_state(1)
- EG.occupant_message("No powercell detected.")
- EG.log_message("Deactivated.")
- stop()
- return 0
- var/use_fuel = EG.fuel_per_cycle_idle
- if(cur_charge[target] succesfully loaded.")
- chassis.log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - cargo_holder.cargo.len]")
- else
- chassis.occupant_message("You must hold still while handling objects. ")
- O.anchored = initial(O.anchored)
- else
- chassis.occupant_message("Not enough room in cargo compartment. ")
- else
- chassis.occupant_message("[target] is firmly secured. ")
-
- else if(istype(target,/mob/living))
- var/mob/living/M = target
- if(M.stat>1) return
- if(chassis.occupant.a_intent == I_HARM)
- chassis.occupant_message("\red You obliterate [target] with [src.name], leaving blood and guts everywhere.")
- chassis.visible_message("\red [chassis] destroys [target] in an unholy fury.")
- if(chassis.occupant.a_intent == I_DISARM)
- chassis.occupant_message("\red You tear [target]'s limbs off with [src.name].")
- chassis.visible_message("\red [chassis] rips [target]'s arms off.")
- else
- step_away(M,chassis)
- chassis.occupant_message("You smash into [target], sending them flying.")
- chassis.visible_message("[chassis] tosses [target] like a piece of paper.")
- set_ready_state(0)
- chassis.use_power(energy_drain)
- do_after_cooldown()
- return 1
-
-/obj/item/mecha_parts/mecha_equipment/tool/mining_scanner
- name = "exosuit mining scanner"
- desc = "Equipment for engineering and combat exosuits. It will automatically check surrounding rock for useful minerals."
- icon_state = "mecha_analyzer"
- origin_tech = "materials=3;engineering=2"
- equip_cooldown = 30
- var/scanning = 0
-
-/obj/item/mecha_parts/mecha_equipment/tool/mining_scanner/New()
- processing_objects.Add(src)
-
-/obj/item/mecha_parts/mecha_equipment/tool/mining_scanner/process()
- if(!loc)
- processing_objects.Remove(src)
- qdel(src)
- if(scanning)
- return
- if(istype(loc,/obj/mecha/working))
- var/obj/mecha/working/mecha = loc
- if(!mecha.occupant)
- return
- var/list/occupant = list()
- occupant |= mecha.occupant
- scanning = 1
- mineral_scan_pulse(occupant,get_turf(loc))
- spawn(equip_cooldown)
- scanning = 0
-
-
-/obj/item/mecha_parts/mecha_equipment/tool/mimercd
- name = "Mounted MRCD"
- desc = "An exosuit-mounted Mime Rapid Construction Device. (Can be attached to: Recitence)"
- icon_state = "mecha_rcd"
- origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4"
- equip_cooldown = 10
- energy_drain = 250
- range = MELEE|RANGED
-
-/obj/item/mecha_parts/mecha_equipment/tool/mimercd/can_attach(obj/mecha/combat/recitence/M as obj)
- if(..())
- if(istype(M))
- return 1
- return 0
-
-/obj/item/mecha_parts/mecha_equipment/tool/mimercd/action(atom/target)
- if(istype(target, /turf/space/transit))//>implying these are ever made -Sieve
- return
- if(!istype(target, /turf) && !istype(target, /obj/machinery/door/airlock))
- target = get_turf(target)
- if(!action_checks(target) || get_dist(chassis, target)>3)
- return
-
- if(istype(target, /turf/simulated/floor))
- occupant_message("Building Wall...")
- set_ready_state(0)
- if(do_after_cooldown(target))
- new /obj/structure/barricade/mime/mrcd(target)
- chassis.spark_system.start()
- chassis.use_power(energy_drain*2)
diff --git a/code/game/mecha/equipment/tools/work_tools.dm b/code/game/mecha/equipment/tools/work_tools.dm
new file mode 100644
index 00000000000..4ff69a0d34e
--- /dev/null
+++ b/code/game/mecha/equipment/tools/work_tools.dm
@@ -0,0 +1,452 @@
+//Hydraulic clamp, Kill clamp, Extinguisher, RCD, Mime RCD, Cable layer.
+
+/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp
+ name = "hydraulic clamp"
+ desc = "Equipment for engineering exosuits. Lifts objects and loads them into cargo."
+ icon_state = "mecha_clamp"
+ equip_cooldown = 15
+ energy_drain = 10
+ var/dam_force = 20
+ var/obj/mecha/working/ripley/cargo_holder
+
+/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/can_attach(obj/mecha/working/ripley/M)
+ if(..())
+ if(istype(M))
+ return 1
+ return 0
+
+/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/attach(obj/mecha/M)
+ ..()
+ cargo_holder = M
+ return
+
+/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/detach(atom/moveto = null)
+ ..()
+ cargo_holder = null
+
+/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/action(atom/target)
+ if(!action_checks(target))
+ return
+ if(!cargo_holder)
+ return
+ if(istype(target,/obj))
+ var/obj/O = target
+ if(!O.anchored)
+ if(cargo_holder.cargo.len < cargo_holder.cargo_capacity)
+ chassis.visible_message("[chassis] lifts [target] and starts to load it into cargo compartment.")
+ O.anchored = 1
+ if(do_after_cooldown(target))
+ cargo_holder.cargo += O
+ O.loc = chassis
+ O.anchored = 0
+ occupant_message("[target] successfully loaded. ")
+ log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - cargo_holder.cargo.len]")
+ else
+ O.anchored = initial(O.anchored)
+ else
+ occupant_message("Not enough room in cargo compartment! ")
+ else
+ occupant_message("[target] is firmly secured! ")
+
+ else if(istype(target,/mob/living))
+ var/mob/living/M = target
+ if(M.stat == DEAD) return
+ if(chassis.occupant.a_intent == I_HARM)
+ M.take_overall_damage(dam_force)
+ if(!M)
+ return
+ M.adjustOxyLoss(round(dam_force/2))
+ M.updatehealth()
+ target.visible_message("[chassis] squeezes [target]. ", \
+ "[chassis] squeezes [target]. ",\
+ "You hear something crack. ")
+ add_logs(chassis.occupant, M, "attacked", "[name]", "(INTENT: [uppertext(chassis.occupant.a_intent)]) (DAMTYE: [uppertext(damtype)])")
+ start_cooldown()
+ else
+ step_away(M,chassis)
+ occupant_message("You push [target] out of the way.")
+ chassis.visible_message("[chassis] pushes [target] out of the way.")
+ return 1
+
+
+
+//This is pretty much just for the death-ripley
+/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/kill
+ name = "\improper KILL CLAMP"
+ desc = "They won't know what clamped them!"
+ energy_drain = 0
+
+/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/kill/action(atom/target)
+ if(!action_checks(target)) return
+ if(!cargo_holder) return
+ if(istype(target,/obj))
+ var/obj/O = target
+ if(!O.anchored)
+ if(cargo_holder.cargo.len < cargo_holder.cargo_capacity)
+ chassis.visible_message("[chassis] lifts [target] and starts to load it into cargo compartment.")
+ O.anchored = 1
+ if(do_after_cooldown(target))
+ cargo_holder.cargo += O
+ O.loc = chassis
+ O.anchored = 0
+ occupant_message("[target] successfully loaded. ")
+ log_message("Loaded [O]. Cargo compartment capacity: [cargo_holder.cargo_capacity - cargo_holder.cargo.len]")
+ else
+ O.anchored = initial(O.anchored)
+ else
+ occupant_message("Not enough room in cargo compartment! ")
+ else
+ occupant_message("[target] is firmly secured! ")
+
+ else if(istype(target,/mob/living))
+ var/mob/living/M = target
+ if(M.stat == DEAD) return
+ if(chassis.occupant.a_intent == I_HARM)
+ target.visible_message("[chassis] destroys [target] in an unholy fury. ",
+ "[chassis] destroys [target] in an unholy fury. ")
+ M.gib()
+ /*if(chassis.occupant.a_intent == I_DISARM)
+ target.visible_message("[chassis] rips [target]'s arms off. ",
+ "[chassis] rips [target]'s arms off. ")*/
+ else
+ step_away(M,chassis)
+ target.visible_message("[chassis] tosses [target] like a piece of paper.")
+ return 1
+
+
+/obj/item/mecha_parts/mecha_equipment/extinguisher
+ name = "exosuit extinguisher"
+ desc = "Equipment for engineering exosuits. A rapid-firing high capacity fire extinguisher."
+ icon_state = "mecha_exting"
+ equip_cooldown = 5
+ energy_drain = 0
+ range = MELEE|RANGED
+
+/obj/item/mecha_parts/mecha_equipment/extinguisher/New()
+ create_reagents(1000)
+ reagents.add_reagent("water", 1000)
+ ..()
+ return
+
+/obj/item/mecha_parts/mecha_equipment/extinguisher/action(atom/target) //copypasted from extinguisher. TODO: Rewrite from scratch.
+ if(!action_checks(target) || get_dist(chassis, target)>3)
+ return
+
+ if(istype(target, /obj/structure/reagent_dispensers/watertank) && get_dist(chassis,target) <= 1)
+ var/obj/structure/reagent_dispensers/watertank/WT = target
+ WT.reagents.trans_to(src, 1000)
+ occupant_message("Extinguisher refilled. ")
+ playsound(chassis, 'sound/effects/refill.ogg', 50, 1, -6)
+ else
+ if(reagents.total_volume > 0)
+ playsound(chassis, 'sound/effects/extinguish.ogg', 75, 1, -3)
+ var/direction = get_dir(chassis,target)
+ var/turf/T = get_turf(target)
+ var/turf/T1 = get_step(T,turn(direction, 90))
+ var/turf/T2 = get_step(T,turn(direction, -90))
+
+ var/list/the_targets = list(T,T1,T2)
+ spawn(0)
+ for(var/a=0, a<5, a++)
+ var/obj/effect/effect/water/W = new /obj/effect/effect/water(get_turf(chassis))
+ if(!W)
+ return
+ var/turf/my_target = pick(the_targets)
+ var/datum/reagents/R = new/datum/reagents(5)
+ W.reagents = R
+ R.my_atom = W
+ reagents.trans_to(W,1)
+ for(var/b=0, b<4, b++)
+ if(!W)
+ return
+ step_towards(W,my_target)
+ if(!W)
+ return
+ var/turf/W_turf = get_turf(W)
+ W.reagents.reaction(W_turf)
+ for(var/atom/atm in W_turf)
+ W.reagents.reaction(atm)
+ if(W.loc == my_target)
+ break
+ sleep(2)
+ return 1
+
+/obj/item/mecha_parts/mecha_equipment/extinguisher/get_equip_info()
+ return "[..()] \[[src.reagents.total_volume]\]"
+
+/obj/item/mecha_parts/mecha_equipment/extinguisher/on_reagent_change()
+ return
+
+/obj/item/mecha_parts/mecha_equipment/extinguisher/can_attach(obj/mecha/working/M)
+ if(..())
+ if(istype(M))
+ return 1
+ return 0
+
+
+/obj/item/mecha_parts/mecha_equipment/rcd
+ name = "Mounted RCD"
+ desc = "An exosuit-mounted Rapid Construction Device. (Can be attached to: Any exosuit)"
+ icon_state = "mecha_rcd"
+ origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4"
+ equip_cooldown = 10
+ energy_drain = 250
+ range = MELEE|RANGED
+ var/mode = 0 //0 - deconstruct, 1 - wall or floor, 2 - airlock.
+ var/canRwall = 0
+
+/obj/item/mecha_parts/mecha_equipment/rcd/New()
+ rcd_list += src
+ ..()
+
+/obj/item/mecha_parts/mecha_equipment/rcd/Destroy()
+ rcd_list -= src
+ return ..()
+
+/obj/item/mecha_parts/mecha_equipment/rcd/action(atom/target)
+ if(istype(target, /turf/space/transit))//>implying these are ever made -Sieve
+ return
+
+ if(!istype(target, /turf) && !istype(target, /obj/machinery/door/airlock))
+ target = get_turf(target)
+
+ if(!action_checks(target) || get_dist(chassis, target)>3)
+ return
+ playsound(chassis, 'sound/machines/click.ogg', 50, 1)
+
+ switch(mode)
+ if(0)
+ if(istype(target, /turf/simulated/wall))
+ if(istype(target, /turf/simulated/wall/r_wall) && !canRwall)
+ return 0
+ var/turf/simulated/wall/W = target
+ occupant_message("Deconstructing [target]...")
+ if(do_after_cooldown(W))
+ chassis.spark_system.start()
+ W.ChangeTurf(/turf/simulated/floor/plating)
+ playsound(W, 'sound/items/Deconstruct.ogg', 50, 1)
+ else if(istype(target, /turf/simulated/floor))
+ var/turf/simulated/floor/F = target
+ occupant_message("Deconstructing [target]...")
+ if(do_after_cooldown(F))
+ chassis.spark_system.start()
+ F.ChangeTurf(/turf/space)
+ F.air_update_turf()
+ playsound(F, 'sound/items/Deconstruct.ogg', 50, 1)
+ else if(istype(target, /obj/machinery/door/airlock))
+ occupant_message("Deconstructing [target]...")
+ if(do_after_cooldown(target))
+ chassis.spark_system.start()
+ qdel(target)
+ playsound(target, 'sound/items/Deconstruct.ogg', 50, 1)
+ if(1)
+ if(istype(target, /turf/space))
+ var/turf/space/S = target
+ occupant_message("Building Floor...")
+ if(do_after_cooldown(S))
+ S.ChangeTurf(/turf/simulated/floor/plating)
+ playsound(S, 'sound/items/Deconstruct.ogg', 50, 1)
+ chassis.spark_system.start()
+ else if(istype(target, /turf/simulated/floor))
+ var/turf/simulated/floor/F = target
+ occupant_message("Building Wall...")
+ if(do_after_cooldown(F))
+ F.ChangeTurf(/turf/simulated/wall)
+ playsound(F, 'sound/items/Deconstruct.ogg', 50, 1)
+ chassis.spark_system.start()
+ if(2)
+ if(istype(target, /turf/simulated/floor))
+ occupant_message("Building Airlock...")
+ if(do_after_cooldown(target))
+ chassis.spark_system.start()
+ var/obj/machinery/door/airlock/T = new /obj/machinery/door/airlock(target)
+ T.autoclose = 1
+ playsound(target, 'sound/items/Deconstruct.ogg', 50, 1)
+ playsound(target, 'sound/effects/sparks2.ogg', 50, 1)
+
+
+/obj/item/mecha_parts/mecha_equipment/rcd/Topic(href,href_list)
+ ..()
+ if(href_list["mode"])
+ mode = text2num(href_list["mode"])
+ switch(mode)
+ if(0)
+ occupant_message("Switched RCD to Deconstruct.")
+ if(1)
+ occupant_message("Switched RCD to Construct.")
+ if(2)
+ occupant_message("Switched RCD to Construct Airlock.")
+
+/obj/item/mecha_parts/mecha_equipment/rcd/get_equip_info()
+ return "[..()] \[D |C |A \]"
+
+
+/obj/item/mecha_parts/mecha_equipment/mimercd
+ name = "mounted MRCD"
+ desc = "An exosuit-mounted Mime Rapid Construction Device. (Can be attached to: Recitence)"
+ icon_state = "mecha_rcd"
+ origin_tech = "materials=4;bluespace=3;magnets=4;powerstorage=4"
+ equip_cooldown = 10
+ energy_drain = 250
+ range = MELEE|RANGED
+
+/obj/item/mecha_parts/mecha_equipment/mimercd/can_attach(obj/mecha/combat/recitence/M)
+ if(..())
+ if(istype(M))
+ return 1
+ return 0
+
+/obj/item/mecha_parts/mecha_equipment/mimercd/action(atom/target)
+ if(istype(target, /turf/space/transit))//>implying these are ever made -Sieve
+ return
+ if(!istype(target, /turf))
+ target = get_turf(target)
+ if(!action_checks(target) || get_dist(chassis, target)>3)
+ return
+
+ if(istype(target, /turf/simulated/floor))
+ occupant_message("Building Wall...")
+ if(do_after_cooldown(target))
+ new /obj/structure/barricade/mime/mrcd(target)
+ chassis.spark_system.start()
+
+
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer
+ name = "cable layer"
+ desc = "Equipment for engineering exosuits. Lays cable along the exosuit's path."
+ icon_state = "mecha_wire"
+ var/datum/event/event
+ var/turf/old_turf
+ var/obj/structure/cable/last_piece
+ var/obj/item/stack/cable_coil/cable
+ var/max_cable = 1000
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/New()
+ cable = new(src)
+ cable.amount = 0
+ ..()
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/can_attach(obj/mecha/working/M)
+ if(..())
+ if(istype(M))
+ return 1
+ return 0
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/attach()
+ ..()
+ event = chassis.events.addEvent("onMove",src,"layCable")
+ return
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/detach()
+ chassis.events.clearEvent("onMove",event)
+ return ..()
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/Destroy()
+ chassis.events.clearEvent("onMove",event)
+ return ..()
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/action(var/obj/item/stack/cable_coil/target)
+ if(!action_checks(target))
+ return
+ if(istype(target) && target.amount)
+ var/cur_amount = cable? cable.amount : 0
+ var/to_load = max(max_cable - cur_amount,0)
+ if(to_load)
+ to_load = min(target.amount, to_load)
+ if(!cable)
+ cable = new(src)
+ cable.amount = 0
+ cable.amount += to_load
+ target.use(to_load)
+ occupant_message("[to_load] meters of cable successfully loaded. ")
+ send_byjax(chassis.occupant,"exosuit.browser","\ref[src]",src.get_equip_info())
+ else
+ occupant_message("Reel is full. ")
+ else
+ occupant_message("Unable to load [target] - no cable found. ")
+
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/Topic(href,href_list)
+ ..()
+ if(href_list["toggle"])
+ set_ready_state(!equip_ready)
+ occupant_message("[src] [equip_ready?"dea":"a"]ctivated.")
+ log_message("[equip_ready?"Dea":"A"]ctivated.")
+ return
+ if(href_list["cut"])
+ if(cable && cable.amount)
+ var/m = round(input(chassis.occupant,"Please specify the length of cable to cut","Cut cable",min(cable.amount,30)) as num, 1)
+ m = min(m, cable.amount)
+ if(m)
+ use_cable(m)
+ var/obj/item/stack/cable_coil/CC = new (get_turf(chassis))
+ CC.amount = m
+ else
+ occupant_message("There's no more cable on the reel.")
+ return
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/get_equip_info()
+ var/output = ..()
+ if(output)
+ return "[output] \[Cable: [cable ? cable.amount : 0] m\][(cable && cable.amount) ? "- [!equip_ready?"Dea":"A"]ctivate |Cut " : null]"
+ return
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/proc/use_cable(amount)
+ if(!cable || cable.amount<1)
+ set_ready_state(1)
+ occupant_message("Cable depleted, [src] deactivated.")
+ log_message("Cable depleted, [src] deactivated.")
+ return
+ if(cable.amount < amount)
+ occupant_message("No enough cable to finish the task.")
+ return
+ cable.use(amount)
+ update_equip_info()
+ return 1
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/proc/reset()
+ last_piece = null
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/proc/dismantleFloor(var/turf/new_turf)
+ if(istype(new_turf, /turf/simulated/floor))
+ var/turf/simulated/floor/T = new_turf
+ if(!istype(T, /turf/simulated/floor/plating))
+ if(!T.broken && !T.burnt)
+ new T.floor_tile(T)
+ T.make_plating()
+ return !new_turf.intact
+
+/obj/item/mecha_parts/mecha_equipment/cable_layer/proc/layCable(var/turf/new_turf)
+ if(equip_ready || !istype(new_turf) || !dismantleFloor(new_turf))
+ return reset()
+ var/fdirn = turn(chassis.dir,180)
+ for(var/obj/structure/cable/LC in new_turf) // check to make sure there's not a cable there already
+ if(LC.d1 == fdirn || LC.d2 == fdirn)
+ return reset()
+ if(!use_cable(1))
+ return reset()
+ var/obj/structure/cable/NC = new(new_turf)
+ NC.cableColor("red")
+ NC.d1 = 0
+ NC.d2 = fdirn
+ NC.updateicon()
+
+ var/datum/powernet/PN
+ if(last_piece && last_piece.d2 != chassis.dir)
+ last_piece.d1 = min(last_piece.d2, chassis.dir)
+ last_piece.d2 = max(last_piece.d2, chassis.dir)
+ last_piece.updateicon()
+ PN = last_piece.powernet
+
+ if(!PN)
+ PN = new()
+ powernets += PN
+ NC.powernet = PN
+ PN.cables += NC
+ NC.mergeConnectedNetworks(NC.d2)
+
+ //NC.mergeConnectedNetworksOnTurf()
+ last_piece = NC
+ return 1
+
diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm
index 46c92271308..f60a37be397 100644
--- a/code/game/mecha/mech_bay.dm
+++ b/code/game/mecha/mech_bay.dm
@@ -2,9 +2,6 @@
name = "Mech Bay Recharge Station"
icon = 'icons/mecha/mech_bay.dmi'
icon_state = "recharge_floor"
- var/obj/machinery/mech_bay_recharge_port/recharge_port
- var/obj/machinery/computer/mech_bay_power_console/recharge_console
- var/obj/mecha/recharging_mecha = null
/turf/simulated/floor/mech_bay_recharge_floor/airless
icon_state = "recharge_floor_asteroid"
@@ -12,63 +9,6 @@
nitrogen = 0.01
temperature = TCMB
-/turf/simulated/floor/mech_bay_recharge_floor/Destroy()
- if(recharge_console && recharge_console.recharge_floor == src)
- recharge_console.recharge_floor = null
- recharge_console = null
- if(recharge_port && recharge_port.recharge_floor == src)
- recharge_port.recharge_floor = null
- recharge_port = null
- recharging_mecha = null
- return ..()
-
-/turf/simulated/floor/mech_bay_recharge_floor/Entered(var/obj/mecha/mecha, atom/OL, ignoreRest = 0)
- . = ..()
- if(istype(mecha))
- mecha.occupant_message("Initializing power control devices. ")
- init_devices()
- if(recharge_console && recharge_port)
- recharging_mecha = mecha
- recharge_console.mecha_in(mecha)
- return
- else if(!recharge_console)
- mecha.occupant_message("Control console not found. Terminating. ")
- else if(!recharge_port)
- mecha.occupant_message("Power port not found. Terminating. ")
- return
-
-/turf/simulated/floor/mech_bay_recharge_floor/Exited(atom)
- . = ..()
- if(atom == recharging_mecha)
- recharging_mecha = null
- if(recharge_console)
- recharge_console.mecha_out()
- return
-
-/turf/simulated/floor/mech_bay_recharge_floor/proc/init_devices()
- if(!recharge_console)
- recharge_console = locate() in range(1,src)
- if(!recharge_port)
- recharge_port = locate() in get_step(src, WEST)
-
- if(recharge_console)
- recharge_console.recharge_floor = src
- if(recharge_port)
- recharge_console.recharge_port = recharge_port
- if(recharge_port)
- recharge_port.recharge_floor = src
- if(recharge_console)
- recharge_port.recharge_console = recharge_console
- return
-
-/* // temporary fix for broken icon until somebody gets around to make these player-buildable
-/turf/simulated/floor/mech_bay_recharge_floor/attackby(obj/item/C as obj, mob/user as mob)
- ..()
- if(floor_type)
- icon_state = "recharge_floor"
- else
- icon_state = "support_lattice" */
-
/obj/machinery/mech_bay_recharge_port
name = "Mech Bay Power Port"
density = 1
@@ -76,9 +16,11 @@
dir = EAST
icon = 'icons/mecha/mech_bay.dmi'
icon_state = "recharge_port"
- var/turf/simulated/floor/mech_bay_recharge_floor/recharge_floor
+ var/obj/mecha/recharging_mecha
var/obj/machinery/computer/mech_bay_power_console/recharge_console
- var/datum/global_iterator/mech_bay_recharger/pr_recharger
+ var/max_charge = 50
+ var/on = 0
+ var/turf/recharging_turf = null
/obj/machinery/mech_bay_recharge_port/New()
..()
@@ -91,8 +33,7 @@
component_parts += new /obj/item/weapon/stock_parts/capacitor(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
RefreshParts()
-
- pr_recharger = new /datum/global_iterator/mech_bay_recharger(null,0)
+ recharging_turf = get_step(loc, dir)
/obj/machinery/mech_bay_recharge_port/upgraded/New()
..()
@@ -105,97 +46,53 @@
component_parts += new /obj/item/weapon/stock_parts/capacitor/super(null)
component_parts += new /obj/item/stack/cable_coil(null, 1)
RefreshParts()
+ recharging_turf = get_step(loc, dir)
/obj/machinery/mech_bay_recharge_port/RefreshParts()
var/MC
for(var/obj/item/weapon/stock_parts/capacitor/C in component_parts)
MC += C.rating
- if(pr_recharger)
- pr_recharger.max_charge = MC * 10
- if(recharge_console)
- recharge_console.voltage = MC * 10
-
-/obj/machinery/mech_bay_recharge_port/Destroy()
- qdel(pr_recharger)
- pr_recharger = null
- recharge_console.recharge_port = null
- recharge_floor.recharge_port = null
- return ..()
+ max_charge = MC * 25
/obj/machinery/mech_bay_recharge_port/attackby(obj/item/I, mob/user, params)
if(default_deconstruction_screwdriver(user, "recharge_port-o", "recharge_port", I))
return
if(default_change_direction_wrench(user, I))
+ recharging_turf = get_step(loc, dir)
return
if(exchange_parts(user, I))
return
- default_deconstruction_crowbar(I)
+ if(default_deconstruction_crowbar(I))
+ return
+ return ..()
-/obj/machinery/mech_bay_recharge_port/proc/start_charge(var/obj/mecha/recharging_mecha)
- if(stat&(NOPOWER|BROKEN))
- recharging_mecha.occupant_message("Power port not responding. Terminating. ")
- return 0
- else
- if(recharging_mecha.cell)
- recharging_mecha.occupant_message("Now charging...")
- pr_recharger.start(list(src,recharging_mecha))
- return 1
+/obj/machinery/mech_bay_recharge_port/Destroy()
+ if(recharge_console)
+ recharge_console.recharge_port = null
+ recharge_console.update_icon()
+ return ..()
+
+/obj/machinery/mech_bay_recharge_port/process()
+ if(stat & NOPOWER || !recharge_console)
+ return
+ if(!recharging_mecha)
+ recharging_mecha = locate(/obj/mecha) in recharging_turf
+ if(recharging_mecha)
+ recharge_console.update_icon()
+ if(recharging_mecha && recharging_mecha.cell)
+ if(recharging_mecha.cell.charge < recharging_mecha.cell.maxcharge)
+ var/delta = min(max_charge, recharging_mecha.cell.maxcharge - recharging_mecha.cell.charge)
+ recharging_mecha.give_power(delta)
+ use_power(delta*150)
else
- return 0
+ recharge_console.update_icon()
+ if(recharging_mecha.loc != recharging_turf)
+ recharging_mecha = null
+ recharge_console.update_icon()
-/obj/machinery/mech_bay_recharge_port/proc/stop_charge()
- if(recharge_console && !recharge_console.stat)
- update_icon()
- pr_recharger.stop()
- return
-
-/obj/machinery/mech_bay_recharge_port/proc/active()
- if(pr_recharger.active())
- return 1
- else
- return 0
-
-
-/obj/machinery/mech_bay_recharge_port/power_change()
- if(powered())
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- stat |= NOPOWER
- pr_recharger.stop()
- return
-
-/obj/machinery/mech_bay_recharge_port/proc/set_voltage(new_voltage)
- if(new_voltage && isnum(new_voltage))
- pr_recharger.max_charge = new_voltage
- return 1
- else
- return 0
-
-/datum/global_iterator/mech_bay_recharger
- delay = 20
- var/max_charge = 50
- check_for_null = 0 //since port.stop_charge() must be called. The checks are made in process()
-
-/datum/global_iterator/mech_bay_recharger/process(var/obj/machinery/mech_bay_recharge_port/port, var/obj/mecha/mecha)
- if(!port)
- return 0
- if(mecha && mecha in port.recharge_floor)
- if(!mecha.cell)
- return
- var/delta = min(max_charge, mecha.cell.maxcharge - mecha.cell.charge)
- if(delta>0)
- mecha.give_power(delta)
- port.use_power(delta*150)
- else
- mecha.occupant_message("Fully charged. ")
- port.stop_charge()
- else
- port.stop_charge()
- return
/obj/machinery/computer/mech_bay_power_console
name = "mech bay power control console"
@@ -206,82 +103,63 @@
icon_screen = "recharge_comp"
light_color = LIGHT_COLOR_FADEDPURPLE
circuit = /obj/item/weapon/circuitboard/mech_bay_power_console
- var/autostart = 1
- var/voltage = 50
- var/turf/simulated/floor/mech_bay_recharge_floor/recharge_floor
var/obj/machinery/mech_bay_recharge_port/recharge_port
-/obj/machinery/computer/mech_bay_power_console/Destroy()
- recharge_port.recharge_console = null
- recharge_floor.recharge_console = null
- return ..()
-
-/obj/machinery/computer/mech_bay_power_console/proc/mecha_in(var/obj/mecha/mecha)
- if(stat&(NOPOWER|BROKEN))
- mecha.occupant_message("Control console not responding. Terminating... ")
- return
- if(recharge_port && autostart)
- var/answer = recharge_port.start_charge(mecha)
- if(answer)
- recharge_port.set_voltage(voltage)
- update_icon()
- return
-
-/obj/machinery/computer/mech_bay_power_console/proc/mecha_out()
- if(recharge_port)
- recharge_port.stop_charge()
- update_icon()
- return
-
-/obj/machinery/computer/mech_bay_power_console/power_change()
- ..()
- if(stat & BROKEN)
- update_icon()
- if(recharge_port)
- recharge_port.stop_charge()
- else if(powered())
- update_icon()
- stat &= ~NOPOWER
- else
- spawn(rand(0, 15))
- update_icon()
- stat |= NOPOWER
- if(recharge_port)
- recharge_port.stop_charge()
-
-/obj/machinery/computer/mech_bay_power_console/set_broken()
- ..()
- if(recharge_port)
- recharge_port.stop_charge()
/obj/machinery/computer/mech_bay_power_console/update_icon()
- if(!recharge_floor || !recharge_floor.recharging_mecha || !recharge_floor.recharging_mecha.cell || !(recharge_floor.recharging_mecha.cell.charge < recharge_floor.recharging_mecha.cell.maxcharge))
+ if(!recharge_port || !recharge_port.recharging_mecha || !recharge_port.recharging_mecha.cell || !(recharge_port.recharging_mecha.cell.charge < recharge_port.recharging_mecha.cell.maxcharge) || stat & (NOPOWER|BROKEN))
icon_screen = "recharge_comp"
else
icon_screen = "recharge_comp_on"
..()
+/obj/machinery/computer/mech_bay_power_console/proc/reconnect()
+ if(recharge_port)
+ return
+ recharge_port = locate(/obj/machinery/mech_bay_recharge_port) in range(1)
+ if(!recharge_port)
+ for(var/D in cardinal)
+ var/turf/A = get_step(src, D)
+ A = get_step(A, D)
+ recharge_port = locate(/obj/machinery/mech_bay_recharge_port) in A
+ if(recharge_port)
+ if(!recharge_port.recharge_console)
+ break
+ else
+ recharge_port = null
+ if(recharge_port)
+ if(!recharge_port.recharge_console)
+ recharge_port.recharge_console = src
+ else
+ recharge_port = null
+
+
+/obj/machinery/computer/mech_bay_power_console/Destroy()
+ if(recharge_port)
+ recharge_port.recharge_console = null
+ return ..()
+
/obj/machinery/computer/mech_bay_power_console/attack_hand(mob/user as mob)
if(..())
return
- if(!recharge_floor || !recharge_port)
- var/turf/simulated/floor/mech_bay_recharge_floor/F = locate() in range(1,src)
- if(F)
- F.init_devices()
ui_interact(user)
/obj/machinery/computer/mech_bay_power_console/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
var/list/data = list()
- data["has_floor"] = recharge_floor
- data["has_port"] = recharge_port
- if(recharge_floor && recharge_floor.recharging_mecha && recharge_floor.recharging_mecha.cell)
- data["has_mech"] = 1
- data["mecha_name"] = recharge_floor.recharging_mecha || "None"
- data["mecha_charge"] = isnull(recharge_floor.recharging_mecha) ? 0 : recharge_floor.recharging_mecha.cell.charge
- data["mecha_maxcharge"] = isnull(recharge_floor.recharging_mecha) ? 0 : recharge_floor.recharging_mecha.cell.maxcharge
- data["mecha_charge_percentage"] = isnull(recharge_floor.recharging_mecha) ? 0 : round(recharge_floor.recharging_mecha.cell.percent())
- else
- data["has_mech"] = 0
+ if(!recharge_port)
+ reconnect()
+ if(recharge_port && !qdeleted(recharge_port))
+ data["recharge_port"] = list("mech" = null)
+ if(recharge_port.recharging_mecha && !qdeleted(recharge_port.recharging_mecha))
+ data["recharge_port"]["mech"] = list("health" = recharge_port.recharging_mecha.health, "maxhealth" = initial(recharge_port.recharging_mecha.health), "cell" = null)
+ if(recharge_port.recharging_mecha.cell && !qdeleted(recharge_port.recharging_mecha.cell))
+ data["has_mech"] = 1
+ data["mecha_name"] = recharge_port.recharging_mecha || "None"
+ data["mecha_charge"] = isnull(recharge_port.recharging_mecha) ? 0 : recharge_port.recharging_mecha.cell.charge
+ data["mecha_maxcharge"] = isnull(recharge_port.recharging_mecha) ? 0 : recharge_port.recharging_mecha.cell.maxcharge
+ data["mecha_charge_percentage"] = isnull(recharge_port.recharging_mecha) ? 0 : round(recharge_port.recharging_mecha.cell.percent())
+ else
+ data["has_mech"] = 0
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if(!ui)
// the ui does not exist, so we'll create a new() one
@@ -293,3 +171,9 @@
ui.open()
// auto update every Master Controller tick
ui.set_auto_update(1)
+ return data
+
+/obj/machinery/computer/mech_bay_power_console/initialize()
+ reconnect()
+ update_icon()
+ return ..()
\ No newline at end of file
diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm
index 4f1f12b5597..751694e9684 100644
--- a/code/game/mecha/mecha.dm
+++ b/code/game/mecha/mecha.dm
@@ -58,10 +58,6 @@
var/list/operation_req_access = list()//required access level for mecha operation
var/list/internals_req_access = list(access_engine,access_robotics)//required access level to open cell compartment
- var/datum/global_iterator/pr_int_temp_processor //normalizes internal air mixture temperature
- var/datum/global_iterator/pr_give_air //moves air from tank to cabin
- var/datum/global_iterator/pr_internal_damage //processes internal damage
-
var/wreckage
var/list/equipment = new
@@ -70,7 +66,9 @@
var/datum/events/events
var/turf/crashing = null
- var/stepsound = 'sound/mecha/mechturn.ogg'
+
+ var/stepsound = 'sound/mecha/mechstep.ogg'
+ var/turnsound = 'sound/mecha/mechturn.ogg'
var/melee_cooldown = 10
var/melee_can_hit = 1
@@ -83,16 +81,18 @@
icon_state += "-open"
add_radio()
add_cabin()
+
if(!add_airtank()) //we check this here in case mecha does not have an internal tank available by default - WIP
removeVerb(/obj/mecha/verb/connect_to_port)
removeVerb(/obj/mecha/verb/toggle_internal_tank)
+
spark_system.set_up(2, 0, src)
spark_system.attach(src)
add_cell()
- add_iterators()
+
+ processing_objects.Add(src)
removeVerb(/obj/mecha/verb/disconnect_from_port)
- log_message("[src.name] created.")
- loc.Entered(src)
+ log_message("[src] created.")
mechas_list += src //global mech list
prepare_huds()
var/datum/atom_hud/data/diagnostic/diag_hud = huds[DATA_HUD_DIAGNOSTIC]
@@ -100,7 +100,6 @@
diag_hud_set_mechhealth()
diag_hud_set_mechcell()
diag_hud_set_mechstat()
- return
////////////////////////
////// Helpers /////////
@@ -140,29 +139,6 @@
radio.icon_state = icon_state
radio.subspace_transmission = 1
-/obj/mecha/proc/add_iterators()
- pr_int_temp_processor = new /datum/global_iterator/mecha_preserve_temp(list(src))
- pr_give_air = new /datum/global_iterator/mecha_tank_give_air(list(src))
- pr_internal_damage = new /datum/global_iterator/mecha_internal_damage(list(src),0)
-
-/obj/mecha/proc/mecha_do_after(delay as num)
- sleep(delay)
- if(src)
- return 1
- return 0
-
-/obj/mecha/proc/enter_after(delay as num, var/mob/user as mob, var/numticks = 5)
- var/delayfraction = delay/numticks
-
- var/turf/T = user.loc
-
- for(var/i = 0, iMaintenance protocols in effect. ")
@@ -230,28 +180,30 @@
return
if(src == target)
return
- var/dir_to_target = get_dir(src,target)
- if(dir_to_target && !(dir_to_target & src.dir))//wrong direction
+
+ var/dir_to_target = get_dir(src, target)
+ if(dir_to_target && !(dir_to_target & dir))//wrong direction
return
+
if(hasInternalDamage(MECHA_INT_CONTROL_LOST))
target = safepick(view(3,target))
if(!target)
return
+
if(!target.Adjacent(src))
if(selected && selected.is_ranged())
selected.action(target, params)
else if(selected && selected.is_melee())
selected.action(target, params)
else
- if(internal_damage&MECHA_INT_CONTROL_LOST)
- target = safepick(oview(1,src))
- if(!melee_can_hit || !istype(target, /atom))
+ if(internal_damage & MECHA_INT_CONTROL_LOST)
+ target = safepick(oview(1, src))
+ if(!melee_can_hit || !isatom(target))
return
target.mech_melee_attack(src)
melee_can_hit = 0
- if(mecha_do_after(melee_cooldown))
+ spawn(melee_cooldown)
melee_can_hit = 1
- return
/obj/mecha/proc/mech_toxin_damage(mob/living/target)
playsound(src, 'sound/effects/spray2.ogg', 50, 1)
@@ -293,54 +245,65 @@
events.fireEvent("onMove",get_turf(src))
/obj/mecha/Process_Spacemove(var/movement_dir = 0)
- if(occupant)
- return occupant.Process_Spacemove(movement_dir) //We'll just say you used the clamp to grab the wall
- return ..()
+ . = ..()
+ if(.)
+ return 1
-/obj/mecha/relaymove(mob/user,direction)
- if(user != src.occupant) //While not "realistic", this piece is player friendly.
+ var/atom/movable/backup = get_spacemove_backup()
+ if(backup)
+ if(istype(backup) && movement_dir && !backup.anchored)
+ if(backup.newtonian_move(turn(movement_dir, 180)))
+ if(occupant)
+ to_chat(occupant, "You push off of [backup] to propel yourself. ")
+ return 1
+
+/obj/mecha/relaymove(mob/user, direction)
+ if(!direction)
+ return
+ if(user != occupant) //While not "realistic", this piece is player friendly.
user.forceMove(get_turf(src))
- to_chat(user, "You climb out from [src]")
+ to_chat(user, "You climb out from [src]. ")
return 0
if(connected_port)
if(world.time - last_message > 20)
- src.occupant_message("Unable to move while connected to the air system port")
+ occupant_message("Unable to move while connected to the air system port! ")
last_message = world.time
return 0
if(state)
- occupant_message("Maintenance protocols in effect ")
+ occupant_message("Maintenance protocols in effect. ")
return
return domove(direction)
-
+
/obj/mecha/proc/domove(direction)
- return call((proc_res["dyndomove"]||src), "dyndomove")(direction)
-
-/obj/mecha/proc/dyndomove(direction)
if(!can_move)
return 0
if(!Process_Spacemove(direction))
return 0
if(!has_charge(step_energy_drain))
return 0
+
var/move_result = 0
- if(hasInternalDamage(MECHA_INT_CONTROL_LOST))
+ if(internal_damage & MECHA_INT_CONTROL_LOST)
move_result = mechsteprand()
- else if(src.dir!=direction)
+ else if(dir != direction)
move_result = mechturn(direction)
else
move_result = mechstep(direction)
+
+ can_move = 0
+ spawn(step_in)
+ can_move = 1
+
if(move_result)
- can_move = 0
use_power(step_energy_drain)
- if(mecha_do_after(step_in))
- can_move = 1
return 1
return 0
+
/obj/mecha/proc/mechturn(direction)
dir = direction
- if(stepsound)
- playsound(src,stepsound,40,1)
+ if(turnsound)
+ playsound(src,turnsound,40,1)
return 1
/obj/mecha/proc/mechstep(direction)
@@ -354,12 +317,13 @@
if(result && stepsound)
playsound(src,stepsound,40,1)
return result
+
+
-/obj/mecha/Bump(var/atom/obstacle)
-// src.inertia_dir = null
- if(src.throwing)//high velocity mechas in your face!
+/obj/mecha/Bump(var/atom/obstacle, bump_allowed)
+ if(throwing) //high velocity mechas in your face!
var/breakthrough = 0
- if(istype(obstacle, /obj/structure/window/))
+ if(istype(obstacle, /obj/structure/window))
qdel(obstacle)
breakthrough = 1
@@ -385,7 +349,7 @@
else if(istype(obstacle, /obj/structure/reagent_dispensers/fueltank))
obstacle.ex_act(1)
- else if(istype(obstacle, /mob/living))
+ else if(isliving(obstacle))
var/mob/living/L = obstacle
var/hit_sound = list('sound/weapons/genhit1.ogg','sound/weapons/genhit2.ogg','sound/weapons/genhit3.ogg')
if(L.flags & GODMODE)
@@ -400,34 +364,34 @@
breakthrough = 1
else
- src.throwing = 0//so mechas don't get stuck when landing after being sent by a Mass Driver
- src.crashing = null
+ throwing = 0 //so mechas don't get stuck when landing after being sent by a Mass Driver
+ crashing = null
if(breakthrough)
if(crashing)
spawn(1)
- src.throw_at(crashing, 50, src.throw_speed)
+ throw_at(crashing, 50, throw_speed)
else
spawn(1)
crashing = get_distant_turf(get_turf(src), dir, 3)//don't use get_dir(src, obstacle) or the mech will stop if he bumps into a one-direction window on his tile.
- src.throw_at(crashing, 50, src.throw_speed)
+ throw_at(crashing, 50, throw_speed)
- if(istype(obstacle, /obj))
- var/obj/O = obstacle
- if(istype(O, /obj/effect/portal)) //derpfix
- src.anchored = 0
- O.Bumped(src)
- spawn(0)//countering portal teleport spawn(0), hurr
- src.anchored = 1
- else if(!O.anchored)
- step(obstacle,src.dir)
- else //I have no idea why I disabled this
- obstacle.Bumped(src)
- else if(istype(obstacle, /mob))
- step(obstacle,src.dir)
else
- obstacle.Bumped(src)
- return
+ if(bump_allowed)
+ if(..())
+ return
+ if(isobj(obstacle))
+ var/obj/O = obstacle
+ if(istype(O, /obj/effect/portal)) //derpfix
+ anchored = 0
+ O.Bumped(src)
+ spawn(0) //countering portal teleport spawn(0), hurr
+ anchored = 1
+ else if(!O.anchored)
+ step(obstacle, dir)
+ else if(ismob(obstacle))
+ step(obstacle, dir)
+
///////////////////////////////////
//////// Internal damage ////////
@@ -436,7 +400,7 @@
/obj/mecha/proc/check_for_internal_damage(var/list/possible_int_damage,var/ignore_threshold=null)
if(!islist(possible_int_damage) || isemptylist(possible_int_damage)) return
if(prob(20))
- if(ignore_threshold || src.health*100/initial(src.health)Life support system reactivated. ")
- pr_int_temp_processor.start()
+ occupant_message("Life support system reactivated. ")
if(MECHA_INT_FIRE)
- occupant_message("Internal fire extinquished. ")
+ occupant_message("Internal fire extinquished. ")
if(MECHA_INT_TANK_BREACH)
- occupant_message("Damaged internal tank has been sealed. ")
+ occupant_message("Damaged internal tank has been sealed. ")
diag_hud_set_mechstat()
- return
////////////////////////////////////////
@@ -496,8 +456,8 @@
/obj/mecha/proc/update_health()
- if(src.health > 0)
- src.spark_system.start()
+ if(health > 0)
+ spark_system.start()
diag_hud_set_mechhealth()
else
qdel(src)
@@ -506,108 +466,109 @@
/obj/mecha/attack_hand(mob/living/user as mob)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
- src.log_message("Attack by hand/paw. Attacker - [user].",1)
+ log_message("Attack by hand/paw. Attacker - [user].",1)
-
- if((HULK in user.mutations) && !prob(src.deflect_chance))
- src.take_damage(15)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- user.visible_message("[user] hits [src.name], doing some damage. ", "You hit [src.name] with all your might. The metal creaks and bends. ")
+ if((HULK in user.mutations) && !prob(deflect_chance))
+ take_damage(15)
+ check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
+ user.visible_message("[user] hits [name], doing some damage. ",
+ "You hit [name] with all your might. The metal creaks and bends. ")
else
- user.visible_message("[user] hits [src.name]. Nothing happens ","You hit [src.name] with no visible effect. ")
- src.log_append_to_last("Armor saved.")
+ user.visible_message("[user] hits [name]. Nothing happens ","You hit [name] with no visible effect. ")
+ log_append_to_last("Armor saved.")
return
/obj/mecha/attack_alien(mob/living/user as mob)
- src.log_message("Attack by alien. Attacker - [user].",1)
+ log_message("Attack by alien. Attacker - [user].",1)
user.changeNext_move(CLICK_CD_MELEE)
user.do_attack_animation(src)
- if(!prob(src.deflect_chance))
- src.take_damage(15)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1)
+ if(!prob(deflect_chance))
+ take_damage(15)
+ check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
+ playsound(loc, 'sound/weapons/slash.ogg', 50, 1, -1)
to_chat(user, "\red You slash at the armored suit!")
- visible_message("\red The [user] slashes at [src.name]'s armor!")
+ visible_message("\red The [user] slashes at [name]'s armor!")
else
- src.log_append_to_last("Armor saved.")
- playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1)
+ log_append_to_last("Armor saved.")
+ playsound(loc, 'sound/weapons/slash.ogg', 50, 1, -1)
to_chat(user, "\green Your claws had no effect!")
- src.occupant_message("\blue The [user]'s claws are stopped by the armor.")
- visible_message("\blue The [user] rebounds off [src.name]'s armor!")
+ occupant_message("\blue The [user]'s claws are stopped by the armor.")
+ visible_message("\blue The [user] rebounds off [name]'s armor!")
return
/obj/mecha/attack_animal(mob/living/simple_animal/user as mob)
- src.log_message("Attack by simple animal. Attacker - [user].",1)
+ log_message("Attack by simple animal. Attacker - [user].",1)
if(user.melee_damage_upper == 0)
user.custom_emote(1, "[user.friendly] [src]")
else
user.do_attack_animation(src)
- if(!prob(src.deflect_chance))
+ if(!prob(deflect_chance))
var/damage = rand(user.melee_damage_lower, user.melee_damage_upper)
- src.take_damage(damage)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
+ take_damage(damage)
+ check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
visible_message("[user] [user.attacktext] [src]!")
user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ")
else
- src.log_append_to_last("Armor saved.")
- playsound(src.loc, 'sound/weapons/slash.ogg', 50, 1, -1)
- src.occupant_message("\blue The [user]'s attack is stopped by the armor.")
- visible_message("\blue The [user] rebounds off [src.name]'s armor!")
- user.attack_log += text("\[[time_stamp()]\] attacked [src.name] ")
+ log_append_to_last("Armor saved.")
+ playsound(loc, 'sound/weapons/slash.ogg', 50, 1, -1)
+ occupant_message("\blue The [user]'s attack is stopped by the armor.")
+ visible_message("\blue The [user] rebounds off [name]'s armor!")
+ user.attack_log += text("\[[time_stamp()]\] attacked [name] ")
return
/obj/mecha/hitby(atom/movable/A as mob|obj) //wrapper
..()
- src.log_message("Hit by [A].",1)
- call((proc_res["dynhitby"]||src), "dynhitby")(A)
- return
+ log_message("Hit by [A].",1)
-/obj/mecha/proc/dynhitby(atom/movable/A)
+ var/def_coeff = 1
+ var/dam_coeff = 1
+ var/counter_tracking = 0
+ for(var/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/B in equipment)
+ if(B.projectile_react())
+ def_coeff = B.deflect_coeff
+ dam_coeff = B.damage_coeff
+ counter_tracking = 1
+ break
if(istype(A, /obj/item/mecha_parts/mecha_tracking))
- A.forceMove(src)
- src.visible_message("The [A] fastens firmly to [src].")
- return
- if(prob(src.deflect_chance) || istype(A, /mob))
- src.occupant_message("\blue The [A] bounces off the armor.")
- src.visible_message("The [A] bounces off the [src.name] armor")
- src.log_append_to_last("Armor saved.")
- if(istype(A, /mob/living))
+ if(!counter_tracking)
+ A.forceMove(src)
+ visible_message("The [A] fastens firmly to [src].")
+ return
+
+ if(prob(deflect_chance * def_coeff) || ismob(A))
+ occupant_message("[A] bounces off the armor. ")
+ visible_message("[A] bounces off the [src]\s armor! ")
+ log_append_to_last("Armor saved.")
+ if(isliving(A))
var/mob/living/M = A
- M.take_organ_damage(10)
- else if(istype(A, /obj))
+ M.take_organ_damage(10)
+
+ if(isobj(A))
var/obj/O = A
if(O.throwforce)
- src.take_damage(O.throwforce)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- return
+ take_damage(O.throwforce * dam_coeff)
+ check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
/obj/mecha/bullet_act(var/obj/item/projectile/Proj) //wrapper
- src.log_message("Hit by projectile. Type: [Proj.name]([Proj.flag]).",1)
- call((proc_res["dynbulletdamage"]||src), "dynbulletdamage")(Proj) //calls equipment
- ..()
- return
+ log_message("Hit by projectile. Type: [Proj.name]([Proj.flag]).",1)
-/obj/mecha/proc/dynbulletdamage(var/obj/item/projectile/Proj)
- if(prob(src.deflect_chance))
- src.occupant_message("\blue The armor deflects incoming projectile.")
- src.visible_message("The [src.name] armor deflects the projectile")
- src.log_append_to_last("Armor saved.")
- return
- var/ignore_threshold
- if(Proj.flag == "taser")
- use_power(200)
- return
- if(istype(Proj, /obj/item/projectile/beam/pulse))
- ignore_threshold = 1
- if((Proj.damage_type == BRUTE || Proj.damage_type == BURN))
- src.take_damage(Proj.damage,Proj.flag)
- src.visible_message("[src.name] is hit by [Proj]. ")
- src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),ignore_threshold)
+ var/deflection = 1
+ var/dam_coeff = 1
+ for(var/obj/item/mecha_parts/mecha_equipment/antiproj_armor_booster/B in equipment)
+ if(B.projectile_react())
+ deflection = B.deflect_coeff
+ dam_coeff = B.damage_coeff
+ break
+
+ if(prob(deflect_chance & deflection) && (Proj.damage_type == BRUTE || Proj.damage_type == BURN))
+ visible_message("[src] is hit by [Proj]. ")
+ take_damage(Proj.damage * dam_coeff, Proj.flag)
+ check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT))
Proj.on_hit(src)
- return
+
/obj/mecha/Destroy()
go_out()
@@ -615,19 +576,11 @@
if(isAI(M))
M.gib() //AIs are loaded into the mech computer itself. When the mech dies, so does the AI. Forever.
else
- M.Move(loc)
+ M.forceMove(loc)
if(prob(30))
explosion(get_turf(loc), 0, 0, 1, 3)
- if(istype(src, /obj/mecha/working/ripley/))
- var/obj/mecha/working/ripley/R = src
- if(R.cargo)
- for(var/obj/O in R.cargo) //Dump contents of stored cargo
- O.forceMove(loc)
- R.cargo -= O
- loc.Entered(O)
-
if(wreckage)
var/obj/effect/decal/mecha_wreckage/WR = new wreckage(loc)
for(var/obj/item/mecha_parts/mecha_equipment/E in equipment)
@@ -654,65 +607,43 @@
qdel(cell)
if(internal_tank)
qdel(internal_tank)
+
+ processing_objects.Remove(src)
equipment.Cut()
cell = null
internal_tank = null
-
- qdel(pr_int_temp_processor)
- qdel(pr_give_air)
- qdel(pr_internal_damage)
+ if(loc)
+ loc.assume_air(cabin_air)
+ air_update_turf()
+ else
+ qdel(cabin_air)
+ cabin_air = null
qdel(spark_system)
- pr_int_temp_processor = null
- pr_give_air = null
- pr_internal_damage = null
spark_system = null
mechas_list -= src //global mech list
return ..()
/obj/mecha/ex_act(severity)
- src.log_message("Affected by explosion of severity: [severity].",1)
- if(prob(src.deflect_chance))
+ log_message("Affected by explosion of severity: [severity].",1)
+ if(prob(deflect_chance))
severity++
- src.log_append_to_last("Armor saved, changing severity to [severity].")
+ log_append_to_last("Armor saved, changing severity to [severity].")
switch(severity)
- if(1.0)
+ if(1)
qdel(src)
- if(2.0)
+ if(2)
if(prob(30))
qdel(src)
else
- src.take_damage(initial(src.health)/2)
- src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),1)
- if(3.0)
+ take_damage(initial(health)/2)
+ check_for_internal_damage(list(MECHA_INT_FIRE, MECHA_INT_TEMP_CONTROL, MECHA_INT_TANK_BREACH, MECHA_INT_CONTROL_LOST, MECHA_INT_SHORT_CIRCUIT), 1)
+ if(3)
if(prob(5))
qdel(src)
else
- src.take_damage(initial(src.health)/5)
- src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),1)
- return
-
-/*Will fix later -Sieve
-/obj/mecha/attack_blob(mob/user as mob)
- src.log_message("Attack by blob. Attacker - [user].",1)
- if(!prob(src.deflect_chance))
- src.take_damage(6)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- playsound(src.loc, 'sound/effects/blobattack.ogg', 50, 1, -1)
- to_chat(user, "\red You smash at the armored suit!")
- for(var/mob/V in viewers(src))
- if(V.client && !(V.blinded))
- V.show_message("\red The [user] smashes against [src.name]'s armor!", 1)
- else
- src.log_append_to_last("Armor saved.")
- playsound(src.loc, 'sound/effects/blobattack.ogg', 50, 1, -1)
- to_chat(user, "\green Your attack had no effect!")
- src.occupant_message("\blue The [user]'s attack is stopped by the armor.")
- for(var/mob/V in viewers(src))
- if(V.client && !(V.blinded))
- V.show_message("\blue The [user] rebounds off the [src.name] armor!", 1)
- return
-*/
+ take_damage(initial(health) / 5)
+ check_for_internal_damage(list(MECHA_INT_FIRE, MECHA_INT_TEMP_CONTROL, MECHA_INT_TANK_BREACH, MECHA_INT_CONTROL_LOST, MECHA_INT_SHORT_CIRCUIT), 1)
//TODO
/obj/mecha/blob_act()
@@ -721,45 +652,23 @@
/obj/mecha/emp_act(severity)
if(get_charge())
- use_power((cell.charge/2)/severity)
- take_damage(50 / severity,"energy")
- src.log_message("EMP detected",1)
- check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),1)
- return
+ use_power((cell.charge / 2) / severity)
+ take_damage(50 / severity, "energy")
+ log_message("EMP detected", 1)
+ check_for_internal_damage(list(MECHA_INT_FIRE, MECHA_INT_TEMP_CONTROL, MECHA_INT_CONTROL_LOST, MECHA_INT_SHORT_CIRCUIT), 1)
/obj/mecha/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)
- if(exposed_temperature>src.max_temperature)
- src.log_message("Exposed to dangerous temperature.",1)
- src.take_damage(5,"fire")
- src.check_for_internal_damage(list(MECHA_INT_FIRE, MECHA_INT_TEMP_CONTROL))
- return
-
-/obj/mecha/proc/dynattackby(obj/item/weapon/W as obj, mob/living/user as mob, params)
- src.log_message("Attacked by [W]. Attacker - [user]")
- user.changeNext_move(CLICK_CD_MELEE)
- user.do_attack_animation(src)
- if(prob(src.deflect_chance))
- to_chat(user, "\red The [W] bounces off [src.name] armor.")
- src.log_append_to_last("Armor saved.")
-/*
- for(var/mob/V in viewers(src))
- if(V.client && !(V.blinded))
- V.show_message("The [W] bounces off [src.name] armor.", 1)
-*/
- else
- src.occupant_message("[user] hits [src] with [W]. ")
- user.visible_message("[user] hits [src] with [W]. ", "You hit [src] with [W]. ")
- src.take_damage(W.force,W.damtype)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- return
+ if(exposed_temperature > max_temperature)
+ log_message("Exposed to dangerous temperature.", 1)
+ take_damage(5, "fire")
+ check_for_internal_damage(list(MECHA_INT_FIRE, MECHA_INT_TEMP_CONTROL))
//////////////////////
////// AttackBy //////
//////////////////////
-/obj/mecha/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
-
- if(istype(W, /obj/item/device/mmi) || istype(W, /obj/item/device/mmi/posibrain))
+/obj/mecha/attackby(obj/item/weapon/W, mob/user, params)
+ if(istype(W, /obj/item/device/mmi))
if(mmi_move_inside(W,user))
to_chat(user, "[src]-MMI interface initialized successfuly")
else
@@ -770,13 +679,15 @@
var/obj/item/mecha_parts/mecha_equipment/E = W
spawn()
if(E.can_attach(src))
- user.drop_item()
+ if(!user.drop_item())
+ return
E.attach(src)
- user.visible_message("[user] attaches [W] to [src]", "You attach [W] to [src]")
+ user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src]. ")
else
- to_chat(user, "You were unable to attach [W] to [src]")
+ to_chat(user, "You were unable to attach [W] to [src]! ")
return
- if(istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda))
+
+ if(W.GetID())
if(add_req_access || maint_access)
if(internals_access_allowed(usr))
var/obj/item/weapon/card/id/id_card
@@ -788,10 +699,11 @@
output_maintenance_dialog(id_card, user)
return
else
- to_chat(user, "\red Invalid ID: Access denied.")
+ to_chat(user, "Invalid ID: Access denied. ")
else
- to_chat(user, "\red Maintenance protocols disabled by operator.")
- else if(istype(W, /obj/item/weapon/wrench))
+ to_chat(user, "Maintenance protocols disabled by operator. ")
+
+ else if(iswrench(W))
if(state==1)
state = 2
to_chat(user, "You undo the securing bolts.")
@@ -799,7 +711,8 @@
state = 1
to_chat(user, "You tighten the securing bolts.")
return
- else if(istype(W, /obj/item/weapon/crowbar))
+
+ else if(iscrowbar(W))
if(state==2)
state = 3
to_chat(user, "You open the hatch to the power unit")
@@ -815,7 +728,6 @@
go_out()
return
-
else if(istype(W, /obj/item/stack/cable_coil))
if(state == 3 && hasInternalDamage(MECHA_INT_SHORT_CIRCUIT))
var/obj/item/stack/cable_coil/CC = W
@@ -826,58 +738,61 @@
else
to_chat(user, "There's not enough wire to finish the task.")
return
- else if(istype(W, /obj/item/weapon/screwdriver))
+
+ else if(isscrewdriver(W) && user.a_intent != I_HARM)
if(hasInternalDamage(MECHA_INT_TEMP_CONTROL))
clearInternalDamage(MECHA_INT_TEMP_CONTROL)
- to_chat(user, "You repair the damaged temperature controller.")
- else if(state==3 && src.cell)
- src.cell.forceMove(src.loc)
- src.cell = null
+ to_chat(user, "You repair the damaged temperature controller. ")
+ else if(state==3 && cell)
+ cell.forceMove(loc)
+ cell = null
state = 4
- to_chat(user, "You unscrew and pry out the powercell.")
- src.log_message("Powercell removed")
- else if(state==4 && src.cell)
+ to_chat(user, "You unscrew and pry out the powercell. ")
+ log_message("Powercell removed")
+ else if(state==4 && cell)
state=3
- to_chat(user, "You screw the cell in place")
+ to_chat(user, "You screw the cell in place. ")
return
else if(istype(W, /obj/item/weapon/stock_parts/cell))
if(state==4)
- if(!src.cell)
- to_chat(user, "You install the powercell")
- user.drop_item()
+ if(!cell)
+ if(!user.drop_item())
+ return
+ to_chat(user, "You install the powercell. ")
W.forceMove(src)
- src.cell = W
- src.log_message("Powercell installed")
+ cell = W
+ log_message("Powercell installed")
else
- to_chat(user, "There's already a powercell installed.")
+ to_chat(user, "There's already a powercell installed. ")
return
- else if(istype(W, /obj/item/weapon/weldingtool) && user.a_intent != I_HARM)
+ else if(iswelder(W) && user.a_intent != I_HARM)
var/obj/item/weapon/weldingtool/WT = W
- if(WT.remove_fuel(0,user))
- if(hasInternalDamage(MECHA_INT_TANK_BREACH))
- clearInternalDamage(MECHA_INT_TANK_BREACH)
- to_chat(user, "\blue You repair the damaged gas tank.")
+ if(healthYou repair the damaged gas tank. ")
+ else
+ user.visible_message("[user] repairs some damage to [name]. ")
+ health += min(10, initial(health)-health)
+ else
+ to_chat(user, "The welder must be on for this task! ")
+ return 1
else
- return
- if(src.healthThe [name] is at full integrity!")
+ return 1
else if(istype(W, /obj/item/mecha_parts/mecha_tracking))
if(!user.unEquip(W))
to_chat(user, "\the [W] is stuck to your hand, you cannot put it in \the [src] ")
return
W.forceMove(src)
- user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src]")
+ user.visible_message("[user] attaches [W] to [src].", "You attach [W] to [src]. ")
return
else if(istype(W, /obj/item/weapon/paintkit))
-
if(occupant)
to_chat(user, "You can't customize a mech while someone is piloting it - that would be unsafe!")
return
@@ -886,7 +801,7 @@
var/found = null
for(var/type in P.allowed_types)
- if(type==src.initial_icon)
+ if(type == initial_icon)
found = 1
break
@@ -896,43 +811,41 @@
user.visible_message("[user] opens [P] and spends some quality time customising [src].")
- src.name = P.new_name
- src.desc = P.new_desc
- src.initial_icon = P.new_icon
- src.reset_icon()
+ name = P.new_name
+ desc = P.new_desc
+ initial_icon = P.new_icon
+ reset_icon()
user.drop_item()
qdel(P)
else
- call((proc_res["dynattackby"]||src), "dynattackby")(W,user)
-/*
- src.log_message("Attacked by [W]. Attacker - [user]")
- if(prob(src.deflect_chance))
- to_chat(user, "\red The [W] bounces off [src.name] armor.")
- src.log_append_to_last("Armor saved.")
-/*
- for(var/mob/V in viewers(src))
- if(V.client && !(V.blinded))
- V.show_message("The [W] bounces off [src.name] armor.", 1)
-*/
- else
- src.occupant_message("[user] hits [src] with [W]. ")
- user.visible_message("[user] hits [src] with [W]. ", "You hit [src] with [W]. ")
- src.take_damage(W.force,W.damtype)
- src.check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
-*/
- diag_hud_set_mechhealth()
- diag_hud_set_mechcell()
- diag_hud_set_mechstat()
- return
+ return attacked_by(W, user)
+
+/obj/mecha/proc/attacked_by(obj/item/I, mob/user)
+ log_message("Attacked by [I]. Attacker - [user]")
+ var/deflection = deflect_chance
+ var/dam_coeff = 1
+ for(var/obj/item/mecha_parts/mecha_equipment/anticcw_armor_booster/B in equipment)
+ if(B.attack_react(user))
+ deflection *= B.deflect_coeff
+ dam_coeff *= B.damage_coeff
+ break
+ if(prob(deflection))
+ to_chat(user, "[I] bounces off [src]\s armor. ")
+ log_append_to_last("Armor saved.")
+ else
+ user.visible_message("[user] hits [src] with [I]. ", "You hit [src] with [I]. ")
+ take_damage(round(I.force * dam_coeff), I.damtype)
+ check_for_internal_damage(list(MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
+
/obj/mecha/emag_act(user as mob)
if(istype(src, /obj/mecha/working/ripley) && emagged == 0)
emagged = 1
to_chat(usr, "\blue You slide the card through the [src]'s ID slot.")
- playsound(src.loc, "sparks", 100, 1)
- src.desc += "The mech's equipment slots spark dangerously! "
+ playsound(loc, "sparks", 100, 1)
+ desc += "The mech's equipment slots spark dangerously! "
else
to_chat(usr, "\red The [src]'s ID slot rejects the card.")
return
@@ -1033,7 +946,6 @@
var/turf/T = get_turf(src)
if(T)
. = T.return_air()
- return
/obj/mecha/remove_air(amount)
if(use_internal_tank)
@@ -1042,7 +954,6 @@
var/turf/T = get_turf(src)
if(T)
return T.remove_air(amount)
- return
/obj/mecha/return_air()
if(use_internal_tank)
@@ -1050,25 +961,15 @@
return get_turf_air()
/obj/mecha/proc/return_pressure()
- . = 0
- if(use_internal_tank)
- . = cabin_air.return_pressure()
- else
- var/datum/gas_mixture/t_air = get_turf_air()
- if(t_air)
- . = t_air.return_pressure()
- return
+ var/datum/gas_mixture/t_air = return_air()
+ if(t_air)
+ . = t_air.return_pressure()
//skytodo: //No idea what you want me to do here, mate.
/obj/mecha/proc/return_temperature()
- . = 0
- if(use_internal_tank)
- . = cabin_air.return_temperature()
- else
- var/datum/gas_mixture/t_air = get_turf_air()
- if(t_air)
- . = t_air.return_temperature()
- return
+ var/datum/gas_mixture/t_air = return_air()
+ if(t_air)
+ . = t_air.return_temperature()
/obj/mecha/proc/connect(obj/machinery/atmospherics/unary/portables_connector/new_port)
//Make sure not already connected to something else
@@ -1076,7 +977,7 @@
return 0
//Make sure are close enough for a valid connection
- if(new_port.loc != src.loc)
+ if(new_port.loc != loc)
return 0
//Perform the connection
@@ -1093,7 +994,7 @@
connected_port.connected_device = null
connected_port = null
- src.log_message("Disconnected from gas port.")
+ log_message("Disconnected from gas port.")
return 1
/obj/mecha/portableConnectorReturnAir()
@@ -1110,21 +1011,21 @@
set category = "Exosuit Interface"
set src = usr.loc
set popup_menu = 0
- if(!src.occupant) return
- if(usr!=src.occupant)
+ if(!occupant) return
+ if(usr!=occupant)
return
var/obj/machinery/atmospherics/unary/portables_connector/possible_port = locate(/obj/machinery/atmospherics/unary/portables_connector/) in loc
if(possible_port)
if(connect(possible_port))
- src.occupant_message("\blue [name] connects to the port.")
- src.verbs += /obj/mecha/verb/disconnect_from_port
- src.verbs -= /obj/mecha/verb/connect_to_port
+ occupant_message("\blue [name] connects to the port.")
+ verbs += /obj/mecha/verb/disconnect_from_port
+ verbs -= /obj/mecha/verb/connect_to_port
return
else
- src.occupant_message("\red [name] failed to connect to the port.")
+ occupant_message("\red [name] failed to connect to the port.")
return
else
- src.occupant_message("Nothing happens")
+ occupant_message("Nothing happens")
/obj/mecha/verb/disconnect_from_port()
@@ -1132,15 +1033,15 @@
set category = "Exosuit Interface"
set src = usr.loc
set popup_menu = 0
- if(!src.occupant) return
- if(usr!=src.occupant)
+ if(!occupant) return
+ if(usr!=occupant)
return
if(disconnect())
- src.occupant_message("\blue [name] disconnects from the port.")
- src.verbs -= /obj/mecha/verb/disconnect_from_port
- src.verbs += /obj/mecha/verb/connect_to_port
+ occupant_message("\blue [name] disconnects from the port.")
+ verbs -= /obj/mecha/verb/disconnect_from_port
+ verbs += /obj/mecha/verb/connect_to_port
else
- src.occupant_message("\red [name] is not connected to the port at the moment.")
+ occupant_message("\red [name] is not connected to the port at the moment.")
/obj/mecha/verb/toggle_lights()
set name = "Toggle Lights"
@@ -1151,7 +1052,7 @@
lights = !lights
if(lights) set_light(light_range + lights_power)
else set_light(light_range - lights_power)
- src.occupant_message("Toggled lights [lights?"on":"off"].")
+ occupant_message("Toggled lights [lights?"on":"off"].")
log_message("Toggled lights [lights?"on":"off"].")
return
@@ -1161,98 +1062,103 @@
set category = "Exosuit Interface"
set src = usr.loc
set popup_menu = 0
- if(usr!=src.occupant)
+ if(usr!=occupant)
return
use_internal_tank = !use_internal_tank
- src.occupant_message("Now taking air from [use_internal_tank?"internal airtank":"environment"].")
- src.log_message("Now taking air from [use_internal_tank?"internal airtank":"environment"].")
+ occupant_message("Now taking air from [use_internal_tank?"internal airtank":"environment"].")
+ log_message("Now taking air from [use_internal_tank?"internal airtank":"environment"].")
return
-/obj/mecha/MouseDrop_T(mob/M as mob, mob/user as mob)
- if(user.restrained() || user.stat || user.weakened || user.stunned || user.paralysis || user.resting) //are you cuffed, dying, lying, stunned or other
+/obj/mecha/MouseDrop_T(mob/M, mob/user)
+ if(user.incapacitated())
return
if(user != M)
return
- src.log_message("[user] tries to move in.")
- if(src.occupant)
- to_chat(usr, "The [src.name] is already occupied! ")
- src.log_append_to_last("Permission denied.")
+ log_message("[user] tries to move in.")
+ if(occupant)
+ to_chat(user, "The [src] is already occupied! ")
+ log_append_to_last("Permission denied.")
return
var/passed
- if(src.dna)
- if(user.stat || ishuman(user))
- if(user.dna.unique_enzymes==src.dna)
+ if(dna)
+ if(ishuman(user))
+ if(user.dna.unique_enzymes == dna)
passed = 1
- else if(src.operation_allowed(user))
+ else if(operation_allowed(user))
passed = 1
if(!passed)
to_chat(user, "Access denied. ")
- src.log_append_to_last("Permission denied.")
+ log_append_to_last("Permission denied.")
+ return
+ if(user.buckled)
+ to_chat(user, "You are currently buckled and cannot move. ")
+ log_append_to_last("Permission denied.")
+ return
+ if(user.has_buckled_mobs()) //mob attached to us
+ to_chat(user, "You can't enter the exosuit with other creatures attached to you! ")
return
for(var/mob/living/carbon/slime/S in range(1,user))
if(S.Victim == user)
to_chat(user, "You're too busy getting your life sucked out of you.")
return
- visible_message("[user] starts to climb into [src.name]")
+ visible_message("[user] starts to climb into [src]")
- if(enter_after(40,user))
- if(!src.occupant)
+ if(do_after(user, 40, target = src))
+ if(health <= 0)
+ to_chat(user, "You cannot get in the [name], it has been destroyed! ")
+ else if(occupant)
+ to_chat(user, "[occupant] was faster! Try better next time, loser. ")
+ else if(user.buckled)
+ to_chat(user, "You can't enter the exosuit while buckled. ")
+ else if(user.has_buckled_mobs())
+ to_chat(user, "You can't enter the exosuit with other creatures attached to you! ")
+ else
moved_inside(user)
- else if(src.occupant!=user)
- to_chat(user, "[src.occupant] was faster. Try better next time, loser.")
else
- to_chat(user, "You stop entering the exosuit.")
- return
+ to_chat(user, "You stop entering the exosuit! ")
/obj/mecha/proc/moved_inside(var/mob/living/carbon/human/H as mob)
if(H && H.client && H in range(1))
- H.reset_view(src)
- /*
- H.client.perspective = EYE_PERSPECTIVE
- H.client.eye = src
- */
+ occupant = H
H.stop_pulling()
H.forceMove(src)
- src.occupant = H
- src.add_fingerprint(H)
- src.forceMove(src.loc)
- src.log_append_to_last("[H] moved in as pilot.")
- src.icon_state = src.reset_icon()
+ H.reset_view(src)
+ add_fingerprint(H)
+ //GrantActions(H, human_occupant=1)
+ forceMove(loc)
+ log_append_to_last("[H] moved in as pilot.")
+ icon_state = reset_icon()
dir = dir_in
playsound(src, 'sound/machines/windowdoor.ogg', 50, 1)
if(!hasInternalDamage())
- occupant << sound('sound/mecha/nominal.ogg',volume=50)
+ occupant << sound('sound/mecha/nominal.ogg', volume = 50)
return 1
else
return 0
/obj/mecha/proc/mmi_move_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob)
if(!mmi_as_oc.brainmob || !mmi_as_oc.brainmob.client)
- to_chat(user, "Consciousness matrix not detected.")
+ to_chat(user, "Consciousness matrix not detected! ")
return 0
else if(mmi_as_oc.brainmob.stat)
- to_chat(user, "Beta-rhythm below acceptable level.")
+ to_chat(user, "Beta-rhythm below acceptable level! ")
return 0
else if(occupant)
- to_chat(user, "Occupant detected.")
+ to_chat(user, "Occupant detected! ")
return 0
- else if(dna && dna!=mmi_as_oc.brainmob.dna.unique_enzymes)
- to_chat(user, "Stop it!")
+ else if(dna && dna != mmi_as_oc.brainmob.dna.unique_enzymes)
+ to_chat(user, "Access denied. [name] is secured with a DNA lock. ")
return 0
- //Added a message here since people assume their first click failed or something./N
-// to_chat(user, "Installing MMI, please stand by.")
- visible_message("\blue [usr] starts to insert an MMI into [src.name]")
-
- if(enter_after(40,user))
+ if(do_after(user, 40, target = src))
if(!occupant)
return mmi_moved_inside(mmi_as_oc,user)
else
- to_chat(user, "Occupant detected.")
+ to_chat(user, "Occupant detected! ")
else
- to_chat(user, "You stop inserting the MMI.")
+ to_chat(user, "You stop inserting the MMI. ")
return 0
/obj/mecha/proc/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob)
@@ -1277,14 +1183,14 @@
brainmob.canmove = 1
mmi_as_oc.loc = src
mmi_as_oc.mecha = src
- src.verbs -= /obj/mecha/verb/eject
- src.Entered(mmi_as_oc)
- src.Move(src.loc)
- src.icon_state = src.reset_icon()
+ verbs -= /obj/mecha/verb/eject
+ Entered(mmi_as_oc)
+ Move(loc)
+ icon_state = reset_icon()
dir = dir_in
- src.log_message("[mmi_as_oc] moved in as pilot.")
+ log_message("[mmi_as_oc] moved in as pilot.")
if(!hasInternalDamage())
- to_chat(src.occupant, sound('sound/mecha/nominal.ogg',volume=50))
+ to_chat(occupant, sound('sound/mecha/nominal.ogg',volume=50))
return 1
else
return 0
@@ -1306,88 +1212,65 @@
set category = "Exosuit Interface"
set src = usr.loc
set popup_menu = 0
- if(usr!=src.occupant)
+ if(usr!=occupant)
return
- //pr_update_stats.start()
- src.occupant << browse(src.get_stats_html(), "window=exosuit")
+ occupant << browse(get_stats_html(), "window=exosuit")
return
-/*
-/obj/mecha/verb/force_eject()
- set category = "Object"
- set name = "Force Eject"
- set src in view(5)
- src.go_out()
- return
-*/
-
/obj/mecha/verb/eject()
set name = "Eject"
set category = "Exosuit Interface"
set src = usr.loc
set popup_menu = 0
- if(usr!=src.occupant)
+ if(usr != occupant)
return
- src.go_out()
+ go_out()
add_fingerprint(usr)
- return
-/obj/mecha/proc/go_out(var/forced)
- if(!src.occupant) return
+/obj/mecha/Exited(atom/movable/M, atom/newloc)
+ if(occupant && occupant == M) // The occupant exited the mech without calling go_out()
+ go_out(1, newloc)
+
+/obj/mecha/proc/go_out(var/forced, var/atom/newloc = loc)
+ if(!occupant)
+ return
var/atom/movable/mob_container
+ occupant.clear_alert("charge")
+ occupant.clear_alert("mech damage")
if(ishuman(occupant))
- mob_container = src.occupant
+ mob_container = occupant
+ //RemoveActions(occupant, human_occupant=1)
else if(istype(occupant, /mob/living/carbon/brain))
var/mob/living/carbon/brain/brain = occupant
+ //RemoveActions(brain)
mob_container = brain.container
else if(isAI(occupant) && forced) //This should only happen if there are multiple AIs in a round, and at least one is Malf.
+ //RemoveActions(occupant)
occupant.gib() //If one Malf decides to steal a mech from another AI (even other Malfs!), they are destroyed, as they have nowhere to go when replaced.
occupant = null
return
else
return
- if(mob_container.forceMove(src.loc))//ejecting mob container
- /*
- if(ishuman(occupant) && (return_pressure() > HAZARD_HIGH_PRESSURE))
- use_internal_tank = 0
- var/datum/gas_mixture/environment = get_turf_air()
- if(environment)
- var/env_pressure = environment.return_pressure()
- var/pressure_delta = (cabin.return_pressure() - env_pressure)
- //Can not have a pressure delta that would cause environment pressure > tank pressure
+ var/mob/living/L = occupant
+ occupant = null //we need it null when forceMove calls Exited().
+ if(mob_container.forceMove(newloc))//ejecting mob container
+ log_message("[mob_container] moved out.")
+ L << browse(null, "window=exosuit")
- var/transfer_moles = 0
- if(pressure_delta > 0)
- transfer_moles = pressure_delta*environment.volume/(cabin.return_temperature() * R_IDEAL_GAS_EQUATION)
-
- //Actually transfer the gas
- var/datum/gas_mixture/removed = cabin.air_contents.remove(transfer_moles)
- loc.assume_air(removed)
-
- occupant.SetStunned(5)
- occupant.SetWeakened(5)
- to_chat(occupant, "You were blown out of the mech!")
- */
- src.log_message("[mob_container] moved out.")
- occupant.reset_view()
- /*
- if(src.occupant.client)
- src.occupant.client.eye = src.occupant.client.mob
- src.occupant.client.perspective = MOB_PERSPECTIVE
- */
- src.occupant << browse(null, "window=exosuit")
- if(istype(mob_container, /obj/item/device/mmi) || istype(mob_container, /obj/item/device/mmi/posibrain))
+ if(istype(mob_container, /obj/item/device/mmi))
var/obj/item/device/mmi/mmi = mob_container
if(mmi.brainmob)
- occupant.loc = mmi
+ L.loc = mmi
+ L.reset_view()
mmi.mecha = null
- src.occupant.canmove = 0
- src.verbs += /obj/mecha/verb/eject
- src.occupant = null
- src.icon_state = src.reset_icon()+"-open"
- src.dir = dir_in
- return
+ mmi.update_icon()
+ L.canmove = 0
+ icon_state = initial(icon_state)+"-open"
+ dir = dir_in
+
+ if(L && L.client)
+ L.client.view = world.view
/////////////////////////
////// Access stuff /////
@@ -1397,14 +1280,14 @@
if(!ishuman(H))
return 0
for(var/ID in list(H.get_active_hand(), H.wear_id, H.belt))
- if(src.check_access(ID,src.operation_req_access))
+ if(check_access(ID,operation_req_access))
return 1
return 0
/obj/mecha/proc/internals_access_allowed(mob/living/carbon/human/H)
for(var/atom/ID in list(H.get_active_hand(), H.wear_id, H.belt))
- if(src.check_access(ID,src.internals_req_access))
+ if(check_access(ID,internals_req_access))
return 1
return 0
@@ -1419,410 +1302,16 @@
I = pda.id
if(!istype(I) || !I.access) //not ID or no access
return 0
- if(access_list==src.operation_req_access)
+ if(access_list==operation_req_access)
for(var/req in access_list)
if(!(req in I.access)) //doesn't have this access
return 0
- else if(access_list==src.internals_req_access)
+ else if(access_list==internals_req_access)
for(var/req in access_list)
if(req in I.access)
return 1
return 1
-
-////////////////////////////////////
-///// Rendering stats window ///////
-////////////////////////////////////
-
-/obj/mecha/proc/get_stats_html()
- var/output = {"
- [src.name] data
-
-
-
-
-
- [src.get_stats_part()]
-
-
- [src.get_equipment_list()]
-
-
-
- [src.get_commands()]
-
-
-
- "}
- return output
-
-
-/obj/mecha/proc/report_internal_damage()
- var/output = null
- var/list/dam_reports = list(
- "[MECHA_INT_FIRE]" = "INTERNAL FIRE ",
- "[MECHA_INT_TEMP_CONTROL]" = "LIFE SUPPORT SYSTEM MALFUNCTION ",
- "[MECHA_INT_TANK_BREACH]" = "GAS TANK BREACH ",
- "[MECHA_INT_CONTROL_LOST]" = "COORDINATION SYSTEM CALIBRATION FAILURE - Recalibrate ",
- "[MECHA_INT_SHORT_CIRCUIT]" = "SHORT CIRCUIT "
- )
- for(var/tflag in dam_reports)
- var/intdamflag = text2num(tflag)
- if(hasInternalDamage(intdamflag))
- output += dam_reports[tflag]
- output += " "
- if(return_pressure() > WARNING_HIGH_PRESSURE)
- output += "DANGEROUSLY HIGH CABIN PRESSURE "
- return output
-
-
-/obj/mecha/proc/get_stats_part()
- var/integrity = health/initial(health)*100
- var/cell_charge = get_charge()
- var/tank_pressure = internal_tank ? round(internal_tank.return_pressure(),0.01) : "None"
- var/tank_temperature = internal_tank ? internal_tank.return_temperature() : "Unknown"
- var/cabin_pressure = round(return_pressure(),0.01)
- var/output = {"[report_internal_damage()]
- [integrity<30?"DAMAGE LEVEL CRITICAL ":null]
- Integrity: [integrity]%
- Powercell charge: [isnull(cell_charge)?"No powercell installed":"[cell.percent()]%"]
- Air source: [use_internal_tank?"Internal Airtank":"Environment"]
- Airtank pressure: [tank_pressure]kPa
- Airtank temperature: [tank_temperature]°K|[tank_temperature - T0C]°C
- Cabin pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure] ": cabin_pressure]kPa
- Cabin temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
- Lights: [lights?"on":"off"]
- [src.dna?"DNA-locked: [src.dna] \[Reset \] ":null]
- "}
- return output
-
-/obj/mecha/proc/get_commands()
- var/output = {"
-
-
-
-
- [(/obj/mecha/verb/eject in src.verbs)?"Eject ":null]
- "}
- return output
-
-/obj/mecha/proc/get_equipment_menu() //outputs mecha html equipment menu
- var/output
- if(equipment.len)
- output += {"
-
-
"}
- for(var/obj/item/mecha_parts/mecha_equipment/W in equipment)
- output += "[W.name]
Detach "
- output += "
Available equipment slots: [max_equip-equipment.len]"
- output += "
"
- return output
-
-/obj/mecha/proc/get_equipment_list() //outputs mecha equipment list in html
- if(!equipment.len)
- return
- var/output = "Equipment: "
- for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment)
- output += "
[MT.get_equip_info()]
"
- output += "
"
- return output
-
-
-/obj/mecha/proc/get_log_html()
- var/output = "[src.name] Log "
- for(var/list/entry in log)
- output += {"[time2text(entry["time"],"DDD MMM DD hh:mm:ss")] 2555
- [entry["message"]]
- "}
- output += ""
- return output
-
-
-/obj/mecha/proc/output_access_dialog(obj/item/weapon/card/id/id_card, mob/user)
- if(!id_card || !user) return
- var/output = {"
-
-
-
- Following keycodes are present in this system: "}
- for(var/a in operation_req_access)
- output += "[get_access_desc(a)] - Delete "
- output += "Following keycodes were detected on portable device: "
- for(var/a in id_card.access)
- if(a in operation_req_access) continue
- var/a_name = get_access_desc(a)
- if(!a_name) continue //there's some strange access without a name
- output += "[a_name] - Add "
- output += "Finish (Warning! The ID upload panel will be locked. It can be unlocked only through Exosuit Interface.) "
- output += ""
- user << browse(output, "window=exosuit_add_access")
- onclose(user, "exosuit_add_access")
- return
-
-/obj/mecha/proc/output_maintenance_dialog(obj/item/weapon/card/id/id_card,mob/user)
- if(!id_card || !user) return
- var/output = {"
-
-
-
-
- [add_req_access?"Edit operation keycodes ":null]
- [maint_access?"Initiate maintenance protocol ":null]
- [(state>0) ?"Set Cabin Air Pressure ":null]
-
- "}
- user << browse(output, "window=exosuit_maint_console")
- onclose(user, "exosuit_maint_console")
- return
-
-
-////////////////////////////////
-/////// Messages and Log ///////
-////////////////////////////////
-
-/obj/mecha/proc/occupant_message(message as text)
- if(message)
- if(src.occupant && src.occupant.client)
- to_chat(src.occupant, "[bicon(src)] [message]")
- return
-
-/obj/mecha/proc/log_message(message as text,red=null)
- log.len++
- log[log.len] = list("time"=world.timeofday,"message"="[red?"":null][message][red?" ":null]")
- return log.len
-
-/obj/mecha/proc/log_append_to_last(message as text,red=null)
- var/list/last_entry = src.log[src.log.len]
- last_entry["message"] += " [red?"":null][message][red?" ":null]"
- return
-
-
-/////////////////
-///// Topic /////
-/////////////////
-
-/obj/mecha/Topic(href, href_list)
- ..()
- if(href_list["update_content"])
- if(usr != src.occupant) return
- send_byjax(src.occupant,"exosuit.browser","content",src.get_stats_part())
- return
- if(href_list["close"])
- return
- if(usr.stat > 0)
- return
- var/datum/topic_input/filter = new /datum/topic_input(href,href_list)
- if(href_list["select_equip"])
- if(usr != src.occupant) return
- var/obj/item/mecha_parts/mecha_equipment/equip = filter.getObj("select_equip")
- if(equip)
- src.selected = equip
- src.occupant_message("You switch to [equip]")
- src.visible_message("[src] raises [equip]")
- send_byjax(src.occupant,"exosuit.browser","eq_list",src.get_equipment_list())
- return
- if(href_list["eject"])
- if(usr != src.occupant) return
- src.eject()
- return
- if(href_list["toggle_lights"])
- if(usr != src.occupant) return
- src.toggle_lights()
- return
- if(href_list["toggle_airtank"])
- if(usr != src.occupant) return
- src.toggle_internal_tank()
- return
- if(href_list["rmictoggle"])
- if(usr != src.occupant) return
- radio.broadcasting = !radio.broadcasting
- send_byjax(src.occupant,"exosuit.browser","rmicstate",(radio.broadcasting?"Engaged":"Disengaged"))
- return
- if(href_list["rspktoggle"])
- if(usr != src.occupant) return
- radio.listening = !radio.listening
- send_byjax(src.occupant,"exosuit.browser","rspkstate",(radio.listening?"Engaged":"Disengaged"))
- return
- if(href_list["rfreq"])
- if(usr != src.occupant) return
- var/new_frequency = (radio.frequency + filter.getNum("rfreq"))
- if((radio.frequency < PUBLIC_LOW_FREQ || radio.frequency > PUBLIC_HIGH_FREQ))
- new_frequency = sanitize_frequency(new_frequency)
- radio.set_frequency(new_frequency)
- send_byjax(src.occupant,"exosuit.browser","rfreq","[format_frequency(radio.frequency)]")
- return
- if(href_list["port_disconnect"])
- if(usr != src.occupant) return
- src.disconnect_from_port()
- return
- if(href_list["port_connect"])
- if(usr != src.occupant) return
- src.connect_to_port()
- return
- if(href_list["view_log"])
- if(usr != src.occupant) return
- src.occupant << browse(src.get_log_html(), "window=exosuit_log")
- onclose(occupant, "exosuit_log")
- return
- if(href_list["change_name"])
- if(usr != src.occupant) return
- var/newname = strip_html_simple(input(occupant,"Choose new exosuit name","Rename exosuit",initial(name)) as text, MAX_NAME_LEN)
- if(newname && trim(newname))
- name = newname
- else
- alert(occupant, "nope.avi")
- return
- if(href_list["toggle_id_upload"])
- if(usr != src.occupant) return
- add_req_access = !add_req_access
- send_byjax(src.occupant,"exosuit.browser","t_id_upload","[add_req_access?"L":"Unl"]ock ID upload panel")
- return
- if(href_list["toggle_maint_access"])
- if(usr != src.occupant) return
- if(state)
- occupant_message("Maintenance protocols in effect ")
- return
- maint_access = !maint_access
- send_byjax(src.occupant,"exosuit.browser","t_maint_access","[maint_access?"Forbid":"Permit"] maintenance protocols")
- return
- if(href_list["req_access"] && add_req_access)
- if(!in_range(src, usr)) return
- output_access_dialog(filter.getObj("id_card"),filter.getMob("user"))
- return
- if(href_list["maint_access"] && maint_access)
- if(!in_range(src, usr)) return
- var/mob/user = filter.getMob("user")
- if(user)
- if(state==0)
- state = 1
- to_chat(user, "The securing bolts are now exposed.")
- else if(state==1)
- state = 0
- to_chat(user, "The securing bolts are now hidden.")
- output_maintenance_dialog(filter.getObj("id_card"),user)
- return
- if(href_list["set_internal_tank_valve"] && state >=1)
- if(!in_range(src, usr)) return
- var/mob/user = filter.getMob("user")
- if(user)
- var/new_pressure = input(user,"Input new output pressure","Pressure setting",internal_tank_valve) as num
- if(new_pressure)
- internal_tank_valve = new_pressure
- to_chat(user, "The internal pressure valve has been set to [internal_tank_valve]kPa.")
- if(href_list["add_req_access"] && add_req_access && filter.getObj("id_card"))
- if(!in_range(src, usr)) return
- operation_req_access += filter.getNum("add_req_access")
- output_access_dialog(filter.getObj("id_card"),filter.getMob("user"))
- return
- if(href_list["del_req_access"] && add_req_access && filter.getObj("id_card"))
- if(!in_range(src, usr)) return
- operation_req_access -= filter.getNum("del_req_access")
- output_access_dialog(filter.getObj("id_card"),filter.getMob("user"))
- return
- if(href_list["finish_req_access"])
- if(!in_range(src, usr)) return
- add_req_access = 0
- var/mob/user = filter.getMob("user")
- user << browse(null,"window=exosuit_add_access")
- return
- if(href_list["dna_lock"])
- if(usr != src.occupant)
- return
- if(src.occupant && !iscarbon(src.occupant))
- to_chat(src.occupant, "You do not have any DNA! ")
- return
- src.dna = src.occupant.dna.unique_enzymes
- src.occupant_message("You feel a prick as the needle takes your DNA sample.")
- return
- if(href_list["reset_dna"])
- if(usr != src.occupant) return
- src.dna = null
- if(href_list["repair_int_control_lost"])
- if(usr != src.occupant) return
- src.occupant_message("Recalibrating coordination system.")
- src.log_message("Recalibration of coordination system started.")
- var/T = src.loc
- if(mecha_do_after(100))
- if(T == src.loc)
- src.clearInternalDamage(MECHA_INT_CONTROL_LOST)
- src.occupant_message("Recalibration successful. ")
- src.log_message("Recalibration of coordination system finished with 0 errors.")
- else
- src.occupant_message("Recalibration failed. ")
- src.log_message("Recalibration of coordination system failed with 1 error.",1)
-
- //debug
- /*
- if(href_list["debug"])
- if(href_list["set_i_dam"])
- setInternalDamage(filter.getNum("set_i_dam"))
- if(href_list["clear_i_dam"])
- clearInternalDamage(filter.getNum("clear_i_dam"))
- return
- */
-
- return
-
///////////////////////
///// Power stuff /////
///////////////////////
@@ -1831,34 +1320,23 @@
return (get_charge()>=amount)
/obj/mecha/proc/get_charge()
- return call((proc_res["dyngetcharge"]||src), "dyngetcharge")()
-
-/obj/mecha/proc/dyngetcharge()//returns null if no powercell, else returns cell.charge
- if(!src.cell) return
- diag_hud_set_mechcell()
- return max(0, src.cell.charge)
+ for(var/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay/R in equipment)
+ var/relay_charge = R.get_charge()
+ if(relay_charge)
+ return relay_charge
+ if(cell)
+ return max(0, cell.charge)
/obj/mecha/proc/use_power(amount)
- return call((proc_res["dynusepower"]||src), "dynusepower")(amount)
-
-/obj/mecha/proc/dynusepower(amount)
if(get_charge())
cell.use(amount)
return 1
- //Diagnostic HUD updates
- diag_hud_set_mechhealth()
- diag_hud_set_mechcell()
- diag_hud_set_mechstat()
return 0
/obj/mecha/proc/give_power(amount)
if(!isnull(get_charge()))
cell.give(amount)
return 1
- //Diagnostic HUD updates
- diag_hud_set_mechhealth()
- diag_hud_set_mechcell()
- diag_hud_set_mechstat()
return 0
/obj/mecha/proc/reset_icon()
@@ -1872,122 +1350,88 @@
//////// Mecha global iterators ////////
//////////////////////////////////////////
+/obj/mecha/process()
+ process_internal_damage()
+ regulate_temp()
+ give_air()
+ update_huds()
-/datum/global_iterator/mecha_preserve_temp //normalizing cabin air temperature to 20 degrees celsium
- delay = 20
-
- process(var/obj/mecha/mecha)
- if(mecha.cabin_air && mecha.cabin_air.return_volume() > 0)
- var/delta = mecha.cabin_air.temperature - T20C
- mecha.cabin_air.temperature -= max(-10, min(10, round(delta/4,0.1)))
+/obj/mecha/proc/process_internal_damage()
+ if(!internal_damage)
return
-/datum/global_iterator/mecha_tank_give_air
- delay = 15
+ if(internal_damage & MECHA_INT_FIRE)
+ if(!(internal_damage & MECHA_INT_TEMP_CONTROL) && prob(5))
+ clearInternalDamage(MECHA_INT_FIRE)
+ if(internal_tank)
+ var/datum/gas_mixture/int_tank_air = internal_tank.return_air()
+ if(int_tank_air.return_pressure() > internal_tank.maximum_pressure && !(internal_damage & MECHA_INT_TANK_BREACH))
+ setInternalDamage(MECHA_INT_TANK_BREACH)
- process(var/obj/mecha/mecha)
- if(mecha.internal_tank)
- var/datum/gas_mixture/tank_air = mecha.internal_tank.return_air()
- var/datum/gas_mixture/cabin_air = mecha.cabin_air
+ if(int_tank_air && int_tank_air.return_volume() > 0)
+ int_tank_air.temperature = min(6000 + T0C, cabin_air.return_temperature() + rand(10, 15))
- var/release_pressure = mecha.internal_tank_valve
- var/cabin_pressure = cabin_air.return_pressure()
- var/pressure_delta = min(release_pressure - cabin_pressure, (tank_air.return_pressure() - cabin_pressure)/2)
- var/transfer_moles = 0
- if(pressure_delta > 0) //cabin pressure lower than release pressure
- if(tank_air.return_temperature() > 0)
- transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION)
- var/datum/gas_mixture/removed = tank_air.remove(transfer_moles)
- cabin_air.merge(removed)
- else if(pressure_delta < 0) //cabin pressure higher than release pressure
- var/datum/gas_mixture/t_air = mecha.get_turf_air()
- pressure_delta = cabin_pressure - release_pressure
- if(t_air)
- pressure_delta = min(cabin_pressure - t_air.return_pressure(), pressure_delta)
- if(pressure_delta > 0) //if location pressure is lower than cabin pressure
- transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION)
- var/datum/gas_mixture/removed = cabin_air.remove(transfer_moles)
- if(t_air)
- t_air.merge(removed)
- else //just delete the cabin gas, we're in space or some shit
- qdel(removed)
- else
- return stop()
+ if(cabin_air && cabin_air.return_volume()>0)
+ cabin_air.temperature = min(6000+T0C, cabin_air.return_temperature()+rand(10,15))
+ if(cabin_air.return_temperature() > max_temperature/2)
+ take_damage(4/round(max_temperature/cabin_air.return_temperature(),0.1),"fire")
+
+ if(internal_damage & MECHA_INT_TANK_BREACH) //remove some air from internal tank
+ if(internal_tank)
+ var/datum/gas_mixture/int_tank_air = internal_tank.return_air()
+ var/datum/gas_mixture/leaked_gas = int_tank_air.remove_ratio(0.10)
+ if(loc)
+ loc.assume_air(leaked_gas)
+ air_update_turf()
+ else
+ qdel(leaked_gas)
+
+ if(internal_damage & MECHA_INT_SHORT_CIRCUIT)
+ if(get_charge())
+ spark_system.start()
+ cell.charge -= min(20,cell.charge)
+ cell.maxcharge -= min(20,cell.maxcharge)
+
+/obj/mecha/proc/regulate_temp()
+ if(internal_damage & MECHA_INT_TEMP_CONTROL)
return
+ if(cabin_air && cabin_air.return_volume() > 0)
+ var/delta = cabin_air.temperature - T20C
+ cabin_air.temperature -= max(-10, min(10, round(delta / 4, 0.1)))
-/datum/global_iterator/mecha_internal_damage // processing internal damage
-
- process(var/obj/mecha/mecha)
- if(!mecha.hasInternalDamage())
- return stop()
- if(mecha.hasInternalDamage(MECHA_INT_FIRE))
- if(!mecha.hasInternalDamage(MECHA_INT_TEMP_CONTROL) && prob(5))
- mecha.clearInternalDamage(MECHA_INT_FIRE)
- if(mecha.internal_tank)
- if(mecha.internal_tank.return_pressure()>mecha.internal_tank.maximum_pressure && !(mecha.hasInternalDamage(MECHA_INT_TANK_BREACH)))
- mecha.setInternalDamage(MECHA_INT_TANK_BREACH)
- var/datum/gas_mixture/int_tank_air = mecha.internal_tank.return_air()
- if(int_tank_air && int_tank_air.return_volume()>0) //heat the air_contents
- int_tank_air.temperature = min(6000+T0C, int_tank_air.temperature+rand(10,15))
- if(mecha.cabin_air && mecha.cabin_air.return_volume()>0)
- mecha.cabin_air.temperature = min(6000+T0C, mecha.cabin_air.return_temperature()+rand(10,15))
- if(mecha.cabin_air.return_temperature()>mecha.max_temperature/2)
- mecha.take_damage(4/round(mecha.max_temperature/mecha.cabin_air.return_temperature(),0.1),"fire")
- if(mecha.hasInternalDamage(MECHA_INT_TEMP_CONTROL)) //stop the mecha_preserve_temp loop datum
- mecha.pr_int_temp_processor.stop()
- if(mecha.hasInternalDamage(MECHA_INT_TANK_BREACH)) //remove some air from internal tank
- if(mecha.internal_tank)
- var/datum/gas_mixture/int_tank_air = mecha.internal_tank.return_air()
- var/datum/gas_mixture/leaked_gas = int_tank_air.remove_ratio(0.10)
- if(mecha.loc && hascall(mecha.loc,"assume_air"))
- mecha.loc.assume_air(leaked_gas)
- else
- qdel(leaked_gas)
- if(mecha.hasInternalDamage(MECHA_INT_SHORT_CIRCUIT))
- if(mecha.get_charge())
- mecha.spark_system.start()
- mecha.cell.charge -= min(20,mecha.cell.charge)
- mecha.cell.maxcharge -= min(20,mecha.cell.maxcharge)
+/obj/mecha/proc/give_air()
+ if(!internal_tank)
return
+ var/datum/gas_mixture/tank_air = internal_tank.return_air()
-/////////////
+ var/release_pressure = internal_tank_valve
+ var/cabin_pressure = cabin_air.return_pressure()
+ var/pressure_delta = min(release_pressure - cabin_pressure, (tank_air.return_pressure() - cabin_pressure)/2)
+ var/transfer_moles = 0
+ if(pressure_delta > 0) //cabin pressure lower than release pressure
+ if(tank_air.return_temperature() > 0)
+ transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION)
+ var/datum/gas_mixture/removed = tank_air.remove(transfer_moles)
+ cabin_air.merge(removed)
+ else if(pressure_delta < 0) //cabin pressure higher than release pressure
+ var/datum/gas_mixture/t_air = return_air()
+ pressure_delta = cabin_pressure - release_pressure
+ if(t_air)
+ pressure_delta = min(cabin_pressure - t_air.return_pressure(), pressure_delta)
+ if(pressure_delta > 0) //if location pressure is lower than cabin pressure
+ transfer_moles = pressure_delta*cabin_air.return_volume()/(cabin_air.return_temperature() * R_IDEAL_GAS_EQUATION)
+ var/datum/gas_mixture/removed = cabin_air.remove(transfer_moles)
+ if(t_air)
+ t_air.merge(removed)
+ else //just delete the cabin gas, we're in space or some shit
+ qdel(removed)
-//debug
-/*
-/obj/mecha/verb/test_int_damage()
- set name = "Test internal damage"
- set category = "Exosuit Interface"
- set src in view(0)
- if(!occupant) return
- if(usr!=occupant)
- return
- var/output = {"
-
-
-
- Set:
- MECHA_INT_FIRE
- MECHA_INT_TEMP_CONTROL
- MECHA_INT_SHORT_CIRCUIT
- MECHA_INT_TANK_BREACH
- MECHA_INT_CONTROL_LOST
-
- Clear:
- MECHA_INT_FIRE
- MECHA_INT_TEMP_CONTROL
- MECHA_INT_SHORT_CIRCUIT
- MECHA_INT_TANK_BREACH
- MECHA_INT_CONTROL_LOST
-
- "}
-
- occupant << browse(output, "window=ex_debug")
- //src.health = initial(src.health)/2.2
- //src.check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_TANK_BREACH,MECHA_INT_CONTROL_LOST))
- return
-*/
+/obj/mecha/proc/update_huds()
+ diag_hud_set_mechhealth()
+ diag_hud_set_mechcell()
+ diag_hud_set_mechstat()
/obj/mecha/speech_bubble(var/bubble_state = "",var/bubble_loc = src, var/list/bubble_recipients = list())
diff --git a/code/game/mecha/mecha_topic.dm b/code/game/mecha/mecha_topic.dm
new file mode 100644
index 00000000000..c24a85b6967
--- /dev/null
+++ b/code/game/mecha/mecha_topic.dm
@@ -0,0 +1,393 @@
+
+////////////////////////////////////
+///// Rendering stats window ///////
+////////////////////////////////////
+
+/obj/mecha/proc/get_stats_html()
+ var/output = {"
+ [name] data
+
+
+
+
+
+ [get_stats_part()]
+
+
+ [get_equipment_list()]
+
+
+
+ [get_commands()]
+
+
+
+ "}
+ return output
+
+
+/obj/mecha/proc/report_internal_damage()
+ var/output = null
+ var/list/dam_reports = list(
+ "[MECHA_INT_FIRE]" = "INTERNAL FIRE ",
+ "[MECHA_INT_TEMP_CONTROL]" = "LIFE SUPPORT SYSTEM MALFUNCTION ",
+ "[MECHA_INT_TANK_BREACH]" = "GAS TANK BREACH ",
+ "[MECHA_INT_CONTROL_LOST]" = "COORDINATION SYSTEM CALIBRATION FAILURE - Recalibrate ",
+ "[MECHA_INT_SHORT_CIRCUIT]" = "SHORT CIRCUIT "
+ )
+ for(var/tflag in dam_reports)
+ var/intdamflag = text2num(tflag)
+ if(hasInternalDamage(intdamflag))
+ output += dam_reports[tflag]
+ output += " "
+ if(return_pressure() > WARNING_HIGH_PRESSURE)
+ output += "DANGEROUSLY HIGH CABIN PRESSURE "
+ return output
+
+
+/obj/mecha/proc/get_stats_part()
+ var/integrity = health/initial(health)*100
+ var/cell_charge = get_charge()
+ var/tank_pressure = internal_tank ? round(internal_tank.return_pressure(),0.01) : "None"
+ var/tank_temperature = internal_tank ? internal_tank.return_temperature() : "Unknown"
+ var/cabin_pressure = round(return_pressure(),0.01)
+ var/output = {"[report_internal_damage()]
+ [integrity<30?"DAMAGE LEVEL CRITICAL ":null]
+ Integrity: [integrity]%
+ Powercell charge: [isnull(cell_charge)?"No powercell installed":"[cell.percent()]%"]
+ Air source: [use_internal_tank?"Internal Airtank":"Environment"]
+ Airtank pressure: [tank_pressure]kPa
+ Airtank temperature: [tank_temperature]°K|[tank_temperature - T0C]°C
+ Cabin pressure: [cabin_pressure>WARNING_HIGH_PRESSURE ? "[cabin_pressure] ": cabin_pressure]kPa
+ Cabin temperature: [return_temperature()]°K|[return_temperature() - T0C]°C
+ Lights: [lights?"on":"off"]
+ [dna?"DNA-locked: [dna] \[Reset \] ":null]
+ "}
+ return output
+
+/obj/mecha/proc/get_commands()
+ var/output = {"
+
+
+
+
+ [(/obj/mecha/verb/eject in verbs)?"Eject ":null]
+ "}
+ return output
+
+/obj/mecha/proc/get_equipment_menu() //outputs mecha html equipment menu
+ var/output
+ if(equipment.len)
+ output += {"
+
+
"}
+ for(var/obj/item/mecha_parts/mecha_equipment/W in equipment)
+ output += "[W.name]
Detach "
+ output += "
Available equipment slots: [max_equip-equipment.len]"
+ output += "
"
+ return output
+
+/obj/mecha/proc/get_equipment_list() //outputs mecha equipment list in html
+ if(!equipment.len)
+ return
+ var/output = "Equipment: "
+ for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment)
+ output += "
[MT.get_equip_info()]
"
+ output += "
"
+ return output
+
+
+/obj/mecha/proc/get_log_html()
+ var/output = "[name] Log "
+ for(var/list/entry in log)
+ output += {"[time2text(entry["time"],"DDD MMM DD hh:mm:ss")] 2555
+ [entry["message"]]
+ "}
+ output += ""
+ return output
+
+
+/obj/mecha/proc/output_access_dialog(obj/item/weapon/card/id/id_card, mob/user)
+ if(!id_card || !user) return
+ var/output = {"
+
+
+
+ Following keycodes are present in this system: "}
+ for(var/a in operation_req_access)
+ output += "[get_access_desc(a)] - Delete "
+ output += "Following keycodes were detected on portable device: "
+ for(var/a in id_card.access)
+ if(a in operation_req_access) continue
+ var/a_name = get_access_desc(a)
+ if(!a_name) continue //there's some strange access without a name
+ output += "[a_name] - Add "
+ output += "Finish (Warning! The ID upload panel will be locked. It can be unlocked only through Exosuit Interface.) "
+ output += ""
+ user << browse(output, "window=exosuit_add_access")
+ onclose(user, "exosuit_add_access")
+ return
+
+/obj/mecha/proc/output_maintenance_dialog(obj/item/weapon/card/id/id_card,mob/user)
+ if(!id_card || !user) return
+ var/output = {"
+
+
+
+
+ [add_req_access?"Edit operation keycodes ":null]
+ [maint_access?"Initiate maintenance protocol ":null]
+ [(state>0) ?"Set Cabin Air Pressure ":null]
+
+ "}
+ user << browse(output, "window=exosuit_maint_console")
+ onclose(user, "exosuit_maint_console")
+ return
+
+
+////////////////////////////////
+/////// Messages and Log ///////
+////////////////////////////////
+
+/obj/mecha/proc/occupant_message(message as text)
+ if(message)
+ if(occupant && occupant.client)
+ to_chat(occupant, "[bicon(src)] [message]")
+ return
+
+/obj/mecha/proc/log_message(message as text,red=null)
+ log.len++
+ log[log.len] = list("time"=world.timeofday,"message"="[red?"":null][message][red?" ":null]")
+ return log.len
+
+/obj/mecha/proc/log_append_to_last(message as text,red=null)
+ var/list/last_entry = log[log.len]
+ last_entry["message"] += " [red?"":null][message][red?" ":null]"
+ return
+
+
+/////////////////
+///// Topic /////
+/////////////////
+
+/obj/mecha/Topic(href, href_list)
+ ..()
+ if(href_list["update_content"])
+ if(usr != occupant) return
+ send_byjax(occupant,"exosuit.browser","content",get_stats_part())
+ return
+ if(href_list["close"])
+ return
+ if(usr.stat > 0)
+ return
+ var/datum/topic_input/filter = new /datum/topic_input(href,href_list)
+ if(href_list["select_equip"])
+ if(usr != occupant) return
+ var/obj/item/mecha_parts/mecha_equipment/equip = filter.getObj("select_equip")
+ if(equip)
+ selected = equip
+ occupant_message("You switch to [equip]")
+ visible_message("[src] raises [equip]")
+ send_byjax(occupant,"exosuit.browser","eq_list",get_equipment_list())
+ return
+ if(href_list["eject"])
+ if(usr != occupant) return
+ eject()
+ return
+ if(href_list["toggle_lights"])
+ if(usr != occupant) return
+ toggle_lights()
+ return
+ if(href_list["toggle_airtank"])
+ if(usr != occupant) return
+ toggle_internal_tank()
+ return
+ if(href_list["rmictoggle"])
+ if(usr != occupant) return
+ radio.broadcasting = !radio.broadcasting
+ send_byjax(occupant,"exosuit.browser","rmicstate",(radio.broadcasting?"Engaged":"Disengaged"))
+ return
+ if(href_list["rspktoggle"])
+ if(usr != occupant) return
+ radio.listening = !radio.listening
+ send_byjax(occupant,"exosuit.browser","rspkstate",(radio.listening?"Engaged":"Disengaged"))
+ return
+ if(href_list["rfreq"])
+ if(usr != occupant) return
+ var/new_frequency = (radio.frequency + filter.getNum("rfreq"))
+ if((radio.frequency < PUBLIC_LOW_FREQ || radio.frequency > PUBLIC_HIGH_FREQ))
+ new_frequency = sanitize_frequency(new_frequency)
+ radio.set_frequency(new_frequency)
+ send_byjax(occupant,"exosuit.browser","rfreq","[format_frequency(radio.frequency)]")
+ return
+ if(href_list["port_disconnect"])
+ if(usr != occupant) return
+ disconnect_from_port()
+ return
+ if(href_list["port_connect"])
+ if(usr != occupant) return
+ connect_to_port()
+ return
+ if(href_list["view_log"])
+ if(usr != occupant) return
+ occupant << browse(get_log_html(), "window=exosuit_log")
+ onclose(occupant, "exosuit_log")
+ return
+ if(href_list["change_name"])
+ if(usr != occupant) return
+ var/newname = strip_html_simple(input(occupant,"Choose new exosuit name","Rename exosuit",initial(name)) as text, MAX_NAME_LEN)
+ if(newname && trim(newname))
+ name = newname
+ else
+ alert(occupant, "nope.avi")
+ return
+ if(href_list["toggle_id_upload"])
+ if(usr != occupant) return
+ add_req_access = !add_req_access
+ send_byjax(occupant,"exosuit.browser","t_id_upload","[add_req_access?"L":"Unl"]ock ID upload panel")
+ return
+ if(href_list["toggle_maint_access"])
+ if(usr != occupant) return
+ if(state)
+ occupant_message("Maintenance protocols in effect ")
+ return
+ maint_access = !maint_access
+ send_byjax(occupant,"exosuit.browser","t_maint_access","[maint_access?"Forbid":"Permit"] maintenance protocols")
+ return
+ if(href_list["req_access"] && add_req_access)
+ if(!in_range(src, usr)) return
+ output_access_dialog(filter.getObj("id_card"),filter.getMob("user"))
+ return
+ if(href_list["maint_access"] && maint_access)
+ if(!in_range(src, usr)) return
+ var/mob/user = filter.getMob("user")
+ if(user)
+ if(state==0)
+ state = 1
+ to_chat(user, "The securing bolts are now exposed.")
+ else if(state==1)
+ state = 0
+ to_chat(user, "The securing bolts are now hidden.")
+ output_maintenance_dialog(filter.getObj("id_card"),user)
+ return
+ if(href_list["set_internal_tank_valve"] && state >=1)
+ if(!in_range(src, usr)) return
+ var/mob/user = filter.getMob("user")
+ if(user)
+ var/new_pressure = input(user,"Input new output pressure","Pressure setting",internal_tank_valve) as num
+ if(new_pressure)
+ internal_tank_valve = new_pressure
+ to_chat(user, "The internal pressure valve has been set to [internal_tank_valve]kPa.")
+ if(href_list["add_req_access"] && add_req_access && filter.getObj("id_card"))
+ if(!in_range(src, usr)) return
+ operation_req_access += filter.getNum("add_req_access")
+ output_access_dialog(filter.getObj("id_card"),filter.getMob("user"))
+ return
+ if(href_list["del_req_access"] && add_req_access && filter.getObj("id_card"))
+ if(!in_range(src, usr)) return
+ operation_req_access -= filter.getNum("del_req_access")
+ output_access_dialog(filter.getObj("id_card"),filter.getMob("user"))
+ return
+ if(href_list["finish_req_access"])
+ if(!in_range(src, usr)) return
+ add_req_access = 0
+ var/mob/user = filter.getMob("user")
+ user << browse(null,"window=exosuit_add_access")
+ return
+ if(href_list["dna_lock"])
+ if(usr != occupant)
+ return
+ if(occupant && !iscarbon(occupant))
+ to_chat(occupant, "You do not have any DNA! ")
+ return
+ dna = occupant.dna.unique_enzymes
+ occupant_message("You feel a prick as the needle takes your DNA sample.")
+ return
+ if(href_list["reset_dna"])
+ if(usr != occupant) return
+ dna = null
+ if(href_list["repair_int_control_lost"])
+ if(usr != occupant) return
+ occupant_message("Recalibrating coordination system.")
+ log_message("Recalibration of coordination system started.")
+ var/T = loc
+ spawn(100)
+ if(T == loc)
+ clearInternalDamage(MECHA_INT_CONTROL_LOST)
+ occupant_message("Recalibration successful. ")
+ log_message("Recalibration of coordination system finished with 0 errors.")
+ else
+ occupant_message("Recalibration failed. ")
+ log_message("Recalibration of coordination system failed with 1 error.",1)
+
+ //debug
+ /*
+ if(href_list["debug"])
+ if(href_list["set_i_dam"])
+ setInternalDamage(filter.getNum("set_i_dam"))
+ if(href_list["clear_i_dam"])
+ clearInternalDamage(filter.getNum("clear_i_dam"))
+ return
+ */
+
+ return
diff --git a/code/game/mecha/medical/medical.dm b/code/game/mecha/medical/medical.dm
index a63a8d3d6dd..ce28687a9e6 100644
--- a/code/game/mecha/medical/medical.dm
+++ b/code/game/mecha/medical/medical.dm
@@ -1,22 +1,7 @@
+/obj/mecha/medical
+ turnsound = 'sound/mecha/mechmove01.ogg'
+ stepsound = 'sound/mecha/mechstep.ogg'
+
/obj/mecha/medical/New()
..()
new /obj/item/mecha_parts/mecha_tracking(src)
- return
-
-
-/obj/mecha/medical/mechturn(direction)
- dir = direction
- playsound(src,'sound/mecha/mechmove01.ogg',40,1)
- return 1
-
-/obj/mecha/medical/mechstep(direction)
- var/result = step(src,direction)
- if(result)
- playsound(src,'sound/mecha/mechstep.ogg',25,1)
- return result
-
-/obj/mecha/medical/mechsteprand()
- var/result = step_rand(src)
- if(result)
- playsound(src,'sound/mecha/mechstep.ogg',25,1)
- return result
\ No newline at end of file
diff --git a/code/game/mecha/medical/odysseus.dm b/code/game/mecha/medical/odysseus.dm
index deb3df8b4fc..b7a320adc77 100644
--- a/code/game/mecha/medical/odysseus.dm
+++ b/code/game/mecha/medical/odysseus.dm
@@ -12,44 +12,35 @@
step_energy_drain = 6
var/builtin_hud_user = 0
- moved_inside(var/mob/living/carbon/human/H as mob)
- if(..())
- if(H.glasses && istype(H.glasses, /obj/item/clothing/glasses/hud))
- occupant_message("Your [H.glasses] prevent you from using the built-in medical hud. ")
- else
- var/datum/atom_hud/data/human/medical/advanced/A = huds[DATA_HUD_MEDICAL_ADVANCED]
- A.add_hud_to(H)
- builtin_hud_user = 1
- return 1
+/obj/mecha/medical/odysseus/moved_inside(var/mob/living/carbon/human/H)
+ . = ..()
+ if(. && ishuman(H))
+ if(istype(H.glasses, /obj/item/clothing/glasses/hud))
+ occupant_message("[H.glasses] prevent you from using the built-in medical hud. ")
else
- return 0
-
- mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob)
- if(..())
- if(occupant.client)
- var/datum/atom_hud/A = huds[DATA_HUD_MEDICAL_ADVANCED]
- A.add_hud_to(occupant)
- builtin_hud_user = 1
- return 1
- else
- return 0
-
- go_out()
- if(istype(occupant,/mob/living/carbon/human) && builtin_hud_user)
- var/mob/living/carbon/human/H = occupant
var/datum/atom_hud/data/human/medical/advanced/A = huds[DATA_HUD_MEDICAL_ADVANCED]
- A.remove_hud_from(H)
- builtin_hud_user = 0
- else if((istype(occupant, /mob/living/carbon/brain) || pilot_is_mmi()) && builtin_hud_user )
- var/mob/living/carbon/brain/H = occupant
+ A.add_hud_to(H)
+ builtin_hud_user = 1
+
+/obj/mecha/medical/odysseus/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc, mob/user)
+ . = ..()
+ if(.)
+ if(occupant.client)
var/datum/atom_hud/A = huds[DATA_HUD_MEDICAL_ADVANCED]
- A.remove_hud_from(H)
- builtin_hud_user = 0
+ A.add_hud_to(occupant)
+ builtin_hud_user = 1
- ..()
- return
+/obj/mecha/medical/odysseus/go_out()
+ if(ishuman(occupant) && builtin_hud_user)
+ var/mob/living/carbon/human/H = occupant
+ var/datum/atom_hud/data/human/medical/advanced/A = huds[DATA_HUD_MEDICAL_ADVANCED]
+ A.remove_hud_from(H)
+ builtin_hud_user = 0
+ else if((isbrain(occupant) || pilot_is_mmi()) && builtin_hud_user)
+ var/mob/living/carbon/brain/H = occupant
+ var/datum/atom_hud/A = huds[DATA_HUD_MEDICAL_ADVANCED]
+ A.remove_hud_from(H)
+ builtin_hud_user = 0
+
+ . = ..()
-//TODO - Check documentation for client.eye and client.perspective...
-/obj/item/clothing/glasses/hud/health/mech
- name = "Integrated Medical Hud"
- HUDType = DATA_HUD_MEDICAL_ADVANCED
diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm
index 2a4f6adf189..c2ddd11d787 100644
--- a/code/game/mecha/working/ripley.dm
+++ b/code/game/mecha/working/ripley.dm
@@ -14,52 +14,46 @@
var/list/cargo = new
var/cargo_capacity = 15
-/*
-/obj/mecha/working/ripley/New()
- ..()
- return
-*/
-
/obj/mecha/working/ripley/Move()
. = ..()
update_pressure()
/obj/mecha/working/ripley/Destroy()
- while(src.damage_absorption.["brute"] < 0.6)
- new /obj/item/asteroid/goliath_hide(src.loc)
- src.damage_absorption.["brute"] = src.damage_absorption.["brute"] + 0.1 //If a goliath-plated ripley gets killed, all the plates drop
- for(var/atom/movable/A in src.cargo)
- A.loc = loc
+ while(damage_absorption.["brute"] < 0.6)
+ new /obj/item/asteroid/goliath_hide(loc)
+ damage_absorption.["brute"] = damage_absorption.["brute"] + 0.1 //If a goliath-plated ripley gets killed, all the plates drop
+ for(var/atom/movable/A in cargo)
+ A.forceMove(loc)
step_rand(A)
cargo.Cut()
return ..()
/obj/mecha/working/ripley/go_out()
..()
- if(src.damage_absorption.["brute"] < 0.6 && src.damage_absorption.["brute"] > 0.3)
- src.overlays = null
- src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-open")
- else if(src.damage_absorption.["brute"] == 0.3)
- src.overlays = null
- src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full-open")
+ if(damage_absorption.["brute"] < 0.6 && damage_absorption.["brute"] > 0.3)
+ overlays = null
+ overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-open")
+ else if(damage_absorption.["brute"] == 0.3)
+ overlays = null
+ overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full-open")
/obj/mecha/working/ripley/moved_inside(var/mob/living/carbon/human/H as mob)
..()
- if(src.damage_absorption.["brute"] < 0.6 && src.damage_absorption.["brute"] > 0.3)
- src.overlays = null
- src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g")
- else if(src.damage_absorption.["brute"] == 0.3)
- src.overlays = null
- src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full")
+ if(damage_absorption.["brute"] < 0.6 && damage_absorption.["brute"] > 0.3)
+ overlays = null
+ overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g")
+ else if(damage_absorption.["brute"] == 0.3)
+ overlays = null
+ overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full")
/obj/mecha/working/ripley/mmi_moved_inside(var/obj/item/device/mmi/mmi_as_oc as obj,mob/user as mob)
..()
- if(src.damage_absorption.["brute"] < 0.6 && src.damage_absorption.["brute"] > 0.3)
- src.overlays = null
- src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g")
- else if(src.damage_absorption.["brute"] == 0.3)
- src.overlays = null
- src.overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full")
+ if(damage_absorption.["brute"] < 0.6 && damage_absorption.["brute"] > 0.3)
+ overlays = null
+ overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g")
+ else if(damage_absorption.["brute"] == 0.3)
+ overlays = null
+ overlays += image("icon" = "mecha.dmi", "icon_state" = "ripley-g-full")
/obj/mecha/working/ripley/firefighter
desc = "Standart APLU chassis was refitted with additional thermal protection and cistern."
@@ -90,7 +84,7 @@
/obj/mecha/working/ripley/deathripley/New()
..()
- var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/tool/safety_clamp
+ var/obj/item/mecha_parts/mecha_equipment/ME = new /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/kill
ME.attach(src)
return
@@ -102,10 +96,10 @@
..()
//Attach drill
if(prob(25)) //Possible diamond drill... Feeling lucky?
- var/obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill/D = new /obj/item/mecha_parts/mecha_equipment/tool/drill/diamonddrill
+ var/obj/item/mecha_parts/mecha_equipment/drill/diamonddrill/D = new /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill
D.attach(src)
else
- var/obj/item/mecha_parts/mecha_equipment/tool/drill/D = new /obj/item/mecha_parts/mecha_equipment/tool/drill
+ var/obj/item/mecha_parts/mecha_equipment/drill/D = new /obj/item/mecha_parts/mecha_equipment/drill
D.attach(src)
//Add possible plasma cutter
@@ -117,12 +111,12 @@
cargo.Add(new /obj/structure/ore_box(src))
//Attach hydrolic clamp
- var/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp/HC = new /obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp
+ var/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp/HC = new /obj/item/mecha_parts/mecha_equipment/hydraulic_clamp
HC.attach(src)
- for(var/obj/item/mecha_parts/mecha_tracking/B in src.contents)//Deletes the beacon so it can't be found easily
+ for(var/obj/item/mecha_parts/mecha_tracking/B in contents)//Deletes the beacon so it can't be found easily
qdel(B)
- var/obj/item/mecha_parts/mecha_equipment/tool/mining_scanner/scanner = new /obj/item/mecha_parts/mecha_equipment/tool/mining_scanner
+ var/obj/item/mecha_parts/mecha_equipment/mining_scanner/scanner = new /obj/item/mecha_parts/mecha_equipment/mining_scanner
scanner.attach(src)
/obj/mecha/working/ripley/Exit(atom/movable/O)
@@ -134,14 +128,14 @@
..()
if(href_list["drop_from_cargo"])
var/obj/O = locate(href_list["drop_from_cargo"])
- if(O && O in src.cargo)
- src.occupant_message("\blue You unload [O].")
+ if(O && O in cargo)
+ occupant_message("\blue You unload [O].")
O.loc = get_turf(src)
- src.cargo -= O
+ cargo -= O
var/turf/T = get_turf(O)
if(T)
T.Entered(O)
- src.log_message("Unloaded [O]. Cargo compartment capacity: [cargo_capacity - src.cargo.len]")
+ log_message("Unloaded [O]. Cargo compartment capacity: [cargo_capacity - cargo.len]")
return
@@ -149,8 +143,8 @@
/obj/mecha/working/ripley/get_stats_part()
var/output = ..()
output += "Cargo Compartment Contents: "
- if(src.cargo.len)
- for(var/obj/O in src.cargo)
+ if(cargo.len)
+ for(var/obj/O in cargo)
output += "
Unload : [O]
"
else
output += "Nothing"
@@ -159,12 +153,12 @@
/obj/mecha/working/ripley/Destroy()
for(var/mob/M in src)
- if(M==src.occupant)
+ if(M == occupant)
continue
M.loc = get_turf(src)
M.loc.Entered(M)
step_rand(M)
- for(var/atom/movable/A in src.cargo)
+ for(var/atom/movable/A in cargo)
A.loc = get_turf(src)
var/turf/T = get_turf(A)
if(T)
@@ -179,9 +173,9 @@
if(pressure < 20)
step_in = 3
- for(var/obj/item/mecha_parts/mecha_equipment/tool/drill/drill in equipment)
+ for(var/obj/item/mecha_parts/mecha_equipment/drill/drill in equipment)
drill.equip_cooldown = initial(drill.equip_cooldown)/2
else
step_in = 5
- for(var/obj/item/mecha_parts/mecha_equipment/tool/drill/drill in equipment)
+ for(var/obj/item/mecha_parts/mecha_equipment/drill/drill in equipment)
drill.equip_cooldown = initial(drill.equip_cooldown)
\ No newline at end of file
diff --git a/code/game/mecha/working/working.dm b/code/game/mecha/working/working.dm
index 7a59b6190ed..ccbfe2ef21b 100644
--- a/code/game/mecha/working/working.dm
+++ b/code/game/mecha/working/working.dm
@@ -4,29 +4,3 @@
/obj/mecha/working/New()
..()
new /obj/item/mecha_parts/mecha_tracking(src)
- return
-
-/*
-/obj/mecha/working/melee_action(atom/target as obj|mob|turf)
- if(internal_damage&MECHA_INT_CONTROL_LOST)
- target = pick(oview(1,src))
- if(selected_tool)
- selected_tool.action(target)
- return
-*/
-
-/obj/mecha/working/range_action(atom/target as obj|mob|turf)
- return
-
-/*
-/obj/mecha/working/get_stats_part()
- var/output = ..()
- output += "
[src.name] Tools: "
- if(equipment.len)
- for(var/obj/item/mecha_parts/mecha_equipment/MT in equipment)
- output += "[selected==MT?"
":""][MT.get_equip_info()][selected==MT?" ":""]
"
- else
- output += "None"
- output += "
"
- return output
-*/
\ No newline at end of file
diff --git a/code/game/objects/buckling.dm b/code/game/objects/buckling.dm
index cead6e33ffd..4c61393d9f7 100644
--- a/code/game/objects/buckling.dm
+++ b/code/game/objects/buckling.dm
@@ -29,6 +29,11 @@
. = ..()
unbuckle_mob()
+/atom/movable/proc/has_buckled_mobs()
+ if(buckled_mob)
+ return TRUE
+ return FALSE
+
//procs that handle the actual buckling and unbuckling
/atom/movable/proc/buckle_mob(mob/living/M)
if(!can_buckle || !istype(M) || (M.loc != loc) || M.buckled || M.buckled_mob || buckled_mob || (buckle_requires_restraints && !M.restrained()) || M == src)
diff --git a/code/game/objects/effects/decals/remains.dm b/code/game/objects/effects/decals/remains.dm
index d50d595d3ea..8835d31c6c2 100644
--- a/code/game/objects/effects/decals/remains.dm
+++ b/code/game/objects/effects/decals/remains.dm
@@ -1,7 +1,9 @@
+/obj/effect/decal/remains
+ gender = PLURAL
+
/obj/effect/decal/remains/human
name = "remains"
desc = "They look like human remains. They have a strange aura about them."
- gender = PLURAL
icon = 'icons/effects/blood.dmi'
icon_state = "remains"
anchored = 1
@@ -9,7 +11,6 @@
/obj/effect/decal/remains/xeno
name = "remains"
desc = "They look like the remains of something... alien. They have a strange aura about them."
- gender = PLURAL
icon = 'icons/effects/blood.dmi'
icon_state = "remainsxeno"
anchored = 1
@@ -17,7 +18,29 @@
/obj/effect/decal/remains/robot
name = "remains"
desc = "They look like the remains of something mechanical. They have a strange aura about them."
- gender = PLURAL
icon = 'icons/mob/robots.dmi'
icon_state = "remainsrobot"
- anchored = 1
\ No newline at end of file
+ anchored = 1
+
+/obj/effect/decal/remains/robot/New()
+ ..()
+ var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread
+ s.set_up(3, 1, src)
+ s.start()
+
+/obj/effect/decal/remains/slime
+ name = "You shouldn't see this"
+ desc = "Noooooooooooooooooooooo"
+ icon = 'icons/effects/blood.dmi'
+ icon_state = "remains"
+ anchored = 1
+
+/obj/effect/decal/remains/slime/New()
+ ..()
+ var/datum/reagents/R = new/datum/reagents(5)
+ var/obj/effect/effect/water/W = new(get_turf(src))
+ W.reagents = R
+ R.my_atom = W
+ R.add_reagent("water", 5)
+ R.reaction(get_turf(src))
+ qdel(src)
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index cb52b56edb8..47b6c1bf57b 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -1232,13 +1232,13 @@ steam.start() -- spawns the effect
var/amount = 6.0
anchored = 1.0
mouse_opacity = 0
+
/obj/effect/sparkles/New()
..()
var/icon/I = new(src.icon,src.icon_state)
var/r = rand(0,255)
var/g = rand(0,255)
var/b = rand(0,255)
- log_to_dd("Colour , [r],[g],[b]")
I.Blend(rgb(r,g,b),ICON_MULTIPLY)
src.icon = I
playsound(src.loc, "sparks", 100, 1)
diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm
index 3a567518e42..ecb8590c103 100644
--- a/code/game/objects/effects/landmarks.dm
+++ b/code/game/objects/effects/landmarks.dm
@@ -13,7 +13,7 @@
switch(name) //some of these are probably obsolete
if("shuttle")
- log_debug("Obsolete landmark '[name]' at ([x],[y],[z])")
+ log_runtime(EXCEPTION("Obsolete landmark '[name]' at ([x],[y],[z])"), src)
qdel(src)
if("airtunnel_stop")
diff --git a/code/game/objects/effects/overlays.dm b/code/game/objects/effects/overlays.dm
index 35ed65ad0df..62760324f76 100644
--- a/code/game/objects/effects/overlays.dm
+++ b/code/game/objects/effects/overlays.dm
@@ -64,6 +64,13 @@
duration = 8
randomdir = 0
+/obj/effect/overlay/temp/kinetic_blast
+ name = "kinetic explosion"
+ icon = 'icons/obj/projectiles.dmi'
+ icon_state = "kinetic_blast"
+ layer = 4.1
+ duration = 4
+
/obj/effect/overlay/palmtree_r
name = "Palm tree"
icon = 'icons/misc/beach2.dmi'
diff --git a/code/game/objects/effects/spawners/windowspawner.dm b/code/game/objects/effects/spawners/windowspawner.dm
index d3d2822423d..a2517d093f8 100644
--- a/code/game/objects/effects/spawners/windowspawner.dm
+++ b/code/game/objects/effects/spawners/windowspawner.dm
@@ -12,7 +12,7 @@
var/turf/T = get_turf(src)
for(var/obj/structure/grille/G in get_turf(src))
// Complain noisily
- log_debug("Extra grille on turf: ([T.x],[T.y],[T.z])")
+ log_runtime(EXCEPTION("Extra grille on turf: ([T.x],[T.y],[T.z])"), src)
qdel(G) //just in case mappers don't know what they are doing
if(!useFull)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 82412c8e883..a764cf54fc0 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -564,4 +564,7 @@ var/global/image/fire_overlay = image("icon" = 'icons/goonstation/effects/fire.d
clean_blood()
user.visible_message("
[user] washes [src] using [source]. ", \
"
You wash [src] using [source]. ")
- return 1
\ No newline at end of file
+ return 1
+
+/obj/item/proc/is_crutch() //Does an item prop up a human mob and allow them to stand if they are missing a leg/foot?
+ return 0
\ No newline at end of file
diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm
index 9f0388bc8cd..9c03d164bb2 100644
--- a/code/game/objects/items/crayons.dm
+++ b/code/game/objects/items/crayons.dm
@@ -12,7 +12,7 @@
attack_verb = list("attacked", "coloured")
var/colour = "#FF0000" //RGB
var/drawtype = "rune"
- var/list/graffiti = list("body","amyjon","face","matt","revolution","engie","guy","end","dwarf","uboa","up","down","left","right","heart","borgsrogue","voxpox","shitcurity","catbeast","hieroglyphs1","hieroglyphs2","hieroglyphs3","security","syndicate1","syndicate2","nanotrasen","lie","valid")
+ var/list/graffiti = list("body","amyjon","face","matt","revolution","engie","guy","end","dwarf","uboa","up","down","left","right","heart","borgsrogue","voxpox","shitcurity","catbeast","hieroglyphs1","hieroglyphs2","hieroglyphs3","security","syndicate1","syndicate2","nanotrasen","lie","valid","arrowleft","arrowright","arrowup","arrowdown","chicken","hailcrab","brokenheart","peace","scribble","scribble2","scribble3","skrek","squish","tunnelsnake","yip","youaredead")
var/list/letters = list("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z")
var/uses = 30 //0 for unlimited uses
var/instant = 0
@@ -92,19 +92,19 @@
if(uses)
uses--
if(!uses)
- to_chat(user, "
You used up your [src.name]! ")
+ to_chat(user, "
You used up your [name]! ")
qdel(src)
return
/obj/item/toy/crayon/attack(mob/M as mob, mob/user as mob)
var/huffable = istype(src,/obj/item/toy/crayon/spraycan)
if(M == user)
- to_chat(user, "You take a [huffable ? "huff" : "bite"] of the [src.name]. Delicious!")
+ to_chat(user, "You take a [huffable ? "huff" : "bite"] of the [name]. Delicious!")
user.nutrition += 5
if(uses)
uses -= 5
if(uses <= 0)
- to_chat(user, "
There is no more of [src.name] left! ")
+ to_chat(user, "
There is no more of [name] left! ")
qdel(src)
else
..()
diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm
index 9dec685efb8..664bd07f8ad 100644
--- a/code/game/objects/items/devices/lightreplacer.dm
+++ b/code/game/objects/items/devices/lightreplacer.dm
@@ -53,6 +53,8 @@
var/max_uses = 20
var/uses = 0
+ var/shards = 0
+ var/recycle = 3
var/emagged = 0
var/failmsg = ""
// How much to increase per each glass?
@@ -68,7 +70,7 @@
/obj/item/device/lightreplacer/examine(mob/user)
if(..(user, 2))
- to_chat(user, "It has [uses] lights remaining.")
+ to_chat(user, "It has [uses] lights and [shards] shards remaining.")
/obj/item/device/lightreplacer/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/stack/sheet/glass))
@@ -89,14 +91,46 @@
if(istype(W, /obj/item/weapon/light))
var/obj/item/weapon/light/L = W
if(L.status == 0) // LIGHT OKAY
+ if(!user.drop_item())
+ to_chat(user, "[L] is stuck to your hand!")
+ return
if(uses < max_uses)
AddUses(1)
to_chat(user, "You insert the [L.name] into the [src.name]. You have [uses] lights remaining.")
user.drop_item()
qdel(L)
return
- else
- to_chat(user, "You need a working light.")
+ else if(L.status == 2 || L.status == 3)
+ if(!user.drop_item())
+ to_chat(user, "[L] is stuck to your hand!")
+ return
+ else
+ AddShards(1)
+ to_chat(user, "You insert [L] into [src]. You have [shards] shards remaining.")
+ user.drop_item()
+ qdel(L)
+ return
+
+ if(istype(W, /obj/item/weapon/storage))
+ var/obj/item/weapon/storage/S = W
+ var/found_lightbulbs = 0
+
+ for(var/obj/item/I in S.contents)
+ if(istype(I,/obj/item/weapon/light))
+ var/obj/item/weapon/light/L = I
+ found_lightbulbs = 1
+ if(uses >= max_uses)
+ to_chat(user, "
[src] is full! ")
+ break
+ if(L.status == 0)
+ AddUses(1)
+ qdel(L)
+ else if(L.status == 2 || L.status == 3)
+ AddShards(1)
+ qdel(L)
+ to_chat(user, "
You fill [src] with lights from [S].")
+ if(!found_lightbulbs)
+ to_chat(user, "[S] contains no bulbs. ")
return
/obj/item/device/lightreplacer/emag_act(user as mob)
@@ -128,6 +162,14 @@
/obj/item/device/lightreplacer/proc/AddUses(var/amount = 1)
uses = min(max(uses + amount, 0), max_uses)
+/obj/item/device/lightreplacer/proc/AddShards(amount = 1)
+ shards += amount
+ var/recycled_lights = round(shards / recycle)
+ if(recycled_lights > 0)
+ AddUses(recycled_lights)
+ shards = shards % recycle
+ return recycled_lights
+
/obj/item/device/lightreplacer/proc/Charge(var/mob/user)
charge += 1
if(charge > 7)
@@ -206,4 +248,4 @@
#undef LIGHT_OK
#undef LIGHT_EMPTY
#undef LIGHT_BROKEN
-#undef LIGHT_BURNED
\ No newline at end of file
+#undef LIGHT_BURNED
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index b1fd67a43de..74a32ebfe19 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -277,7 +277,7 @@ var/global/list/default_medbay_channels = list(
..()
/mob/living/automatedannouncer/proc/autocleanup()
- log_debug("An announcer somehow managed to outlive the radio! Deleting! Area: [get_area(src)], Name: \"[name]\", Message: \"[message]\"")
+ log_runtime(EXCEPTION("An announcer somehow managed to outlive the radio! Deleting!"), src, list("Message: '[message]'"))
qdel(src)
// Interprets the message mode when talking into a radio, possibly returning a connection datum
diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm
index bfbd0a4ccb6..f5b3650c5bb 100644
--- a/code/game/objects/items/stacks/tiles/tile_types.dm
+++ b/code/game/objects/items/stacks/tiles/tile_types.dm
@@ -129,3 +129,11 @@
turf_type = /turf/simulated/floor/silent
mineralType = "tranquillite"
materials = list(MAT_TRANQUILLITE=500)
+
+//Pod floor
+/obj/item/stack/tile/pod
+ name = "pod floor tile"
+ singular_name = "pod floor tile"
+ desc = "A grooved floor tile."
+ icon_state = "tile_pod"
+ turf_type = /turf/simulated/floor/pod
\ No newline at end of file
diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm
index d14c48a761e..150cbf2ee4b 100644
--- a/code/game/objects/items/weapons/defib.dm
+++ b/code/game/objects/items/weapons/defib.dm
@@ -352,7 +352,7 @@
if(ghost && !ghost.client)
// In case the ghost's not getting deleted for some reason
H.key = ghost.key
- log_to_dd("Ghost of name [ghost.name] is bound to [H.real_name], but lacks a client. Deleting ghost.")
+ log_runtime(EXCEPTION("Ghost of name [ghost.name] is bound to [H.real_name], but lacks a client. Deleting ghost."), src)
qdel(ghost)
ghost = null
@@ -499,7 +499,7 @@
if(ghost && !ghost.client)
// In case the ghost's not getting deleted for some reason
H.key = ghost.key
- log_to_dd("Ghost of name [ghost.name] is bound to [H.real_name], but lacks a client. Deleting ghost.")
+ log_runtime(EXCEPTION("Ghost of name [ghost.name] is bound to [H.real_name], but lacks a client. Deleting ghost."), H)
qdel(ghost)
ghost = null
diff --git a/code/game/objects/items/weapons/dice.dm b/code/game/objects/items/weapons/dice.dm
index 0b090581595..6399a11c291 100644
--- a/code/game/objects/items/weapons/dice.dm
+++ b/code/game/objects/items/weapons/dice.dm
@@ -1,16 +1,49 @@
-/obj/item/weapon/dice
- name = "d6"
+/obj/item/weapon/storage/pill_bottle/dice
+ name = "bag of dice"
+ desc = "Contains all the luck you'll ever need."
+ icon = 'icons/obj/dice.dmi'
+ icon_state = "dicebag"
+
+/obj/item/weapon/storage/pill_bottle/dice/New()
+ ..()
+ var/special_die = pick("1","2","fudge","00","100")
+ if(special_die == "1")
+ new /obj/item/weapon/dice/d1(src)
+ if(special_die == "2")
+ new /obj/item/weapon/dice/d2(src)
+ new /obj/item/weapon/dice/d4(src)
+ new /obj/item/weapon/dice/d6(src)
+ if(special_die == "fudge")
+ new /obj/item/weapon/dice/fudge(src)
+ new /obj/item/weapon/dice/d8(src)
+ new /obj/item/weapon/dice/d10(src)
+ if(special_die == "00")
+ new /obj/item/weapon/dice/d00(src)
+ new /obj/item/weapon/dice/d12(src)
+ new /obj/item/weapon/dice/d20(src)
+ if(special_die == "100")
+ new /obj/item/weapon/dice/d100(src)
+
+/obj/item/weapon/dice //depreciated d6, use /obj/item/weapon/dice/d6 if you actually want a d6
+ name = "die"
desc = "A die with six sides. Basic and servicable."
icon = 'icons/obj/dice.dmi'
icon_state = "d6"
w_class = 1
var/sides = 6
var/result = null
+ var/list/special_faces = list() //entries should match up to sides var if used
/obj/item/weapon/dice/New()
result = rand(1, sides)
update_icon()
+/obj/item/weapon/dice/d1
+ name = "d1"
+ desc = "A die with one side. Deterministic!"
+ icon_state = "d1"
+ sides = 1
+
/obj/item/weapon/dice/d2
name = "d2"
desc = "A die with two sides. Coins are undignified!"
@@ -23,6 +56,16 @@
icon_state = "d4"
sides = 4
+/obj/item/weapon/dice/d6
+ name = "d6"
+
+/obj/item/weapon/dice/fudge
+ name = "fudge die"
+ desc = "A die with six sides but only three results. Is this a plus or a minus? Your mind is drawing a blank..."
+ sides = 3 //shhh
+ icon_state = "fudge"
+ special_faces = list("minus","blank","plus")
+
/obj/item/weapon/dice/d8
name = "d8"
desc = "A die with eight sides. It feels... lucky."
@@ -53,6 +96,15 @@
icon_state = "d20"
sides = 20
+/obj/item/weapon/dice/d100
+ name = "d100"
+ desc = "A die with one hundred sides! Probably not fairly weighted..."
+ icon_state = "d100"
+ sides = 100
+
+/obj/item/weapon/dice/d100/update_icon()
+ return
+
/obj/item/weapon/dice/d20/e20
var/triggered = 0
@@ -64,8 +116,9 @@
return
diceroll(user)
-/obj/item/weapon/dice/proc/diceroll(mob/user as mob)
+/obj/item/weapon/dice/proc/diceroll(mob/user)
result = rand(1, sides)
+ var/fake_result = rand(1, sides)//Daredevil isn't as good as he used to be
var/comment = ""
if(sides == 20 && result == 20)
comment = "Nat 20!"
@@ -74,20 +127,14 @@
update_icon()
if(initial(icon_state) == "d00")
result = (result - 1)*10
+ if(special_faces.len == sides)
+ result = special_faces[result]
if(user != null) //Dice was rolled in someone's hand
user.visible_message("[user] has thrown [src]. It lands on [result]. [comment] ", \
"You throw [src]. It lands on [result]. [comment] ", \
- "You hear [src] landing on [result]. [comment] ")
+ "You hear [src] rolling, it sounds like a [fake_result]. ")
else if(src.throwing == 0) //Dice was thrown and is coming to rest
visible_message("[src] rolls to a stop, landing on [result]. [comment] ")
-/*
-/obj/item/weapon/dice/d4/Crossed(var/mob/living/carbon/human/H)
- if(istype(H) && !H.shoes)
- to_chat(H, "You step on the D4! ")
- H.apply_damage(4,BRUTE,(pick("l_leg", "r_leg")))
- H.Weaken(3)
-*///ew.
-
/obj/item/weapon/dice/d20/e20/diceroll(mob/user as mob, thrown)
if(triggered)
@@ -112,6 +159,7 @@
/obj/item/weapon/dice/update_icon()
overlays.Cut()
overlays += "[src.icon_state][src.result]"
+
/obj/item/weapon/storage/box/dice
name = "Box of dice"
desc = "ANOTHER ONE!? FUCK!"
diff --git a/code/game/objects/items/weapons/holosign.dm b/code/game/objects/items/weapons/holosign.dm
index 5912a055a34..dac93f9cb04 100644
--- a/code/game/objects/items/weapons/holosign.dm
+++ b/code/game/objects/items/weapons/holosign.dm
@@ -11,7 +11,7 @@
throw_range = 7
origin_tech = "programming=3"
var/list/signs = list()
- var/max_signs = 10
+ var/max_signs = 20
/obj/item/weapon/holosign_creator/afterattack(atom/target, mob/user, flag)
if(flag)
@@ -45,4 +45,4 @@
desc = "The words flicker as if they mean nothing."
icon = 'icons/obj/janitor.dmi'
icon_state = "holosign"
- anchored = 1
\ No newline at end of file
+ anchored = 1
diff --git a/code/game/objects/items/weapons/holy_weapons.dm b/code/game/objects/items/weapons/holy_weapons.dm
index ada15a3b108..600ff934a8f 100644
--- a/code/game/objects/items/weapons/holy_weapons.dm
+++ b/code/game/objects/items/weapons/holy_weapons.dm
@@ -9,6 +9,7 @@
throwforce = 10
w_class = 1
var/reskinned = FALSE
+ var/reskin_selectable = TRUE //set to FALSE if a subtype is meant to not normally be available as a reskin option (fluff ones will get re-added through their list)
var/list/fluff_transformations = list() //does it have any special transformations only accessible to it? Should only be subtypes of /obj/item/weapon/nullrod
/obj/item/weapon/nullrod/suicide_act(mob/user)
@@ -31,7 +32,11 @@
reskin_holy_weapon(user)
/obj/item/weapon/nullrod/proc/reskin_holy_weapon(mob/M)
- var/list/holy_weapons_list = typesof(/obj/item/weapon/nullrod) - typesof(/obj/item/weapon/nullrod/fluff)
+ var/list/holy_weapons_list = typesof(/obj/item/weapon/nullrod)
+ for(var/entry in holy_weapons_list)
+ var/obj/item/weapon/nullrod/variant = entry
+ if(!initial(variant.reskin_selectable))
+ holy_weapons_list -= variant
if(fluff_transformations.len)
for(var/thing in fluff_transformations)
holy_weapons_list += thing
@@ -57,10 +62,13 @@
M.put_in_active_hand(holy_weapon)
qdel(src)
+/obj/item/weapon/nullrod/fluff //fluff subtype to be used for all donator nullrods
+ reskin_selectable = FALSE
+
/obj/item/weapon/nullrod/godhand
+ name = "god hand"
icon_state = "disintegrate"
item_state = "disintegrate"
- name = "god hand"
desc = "This hand of yours glows with an awesome power!"
flags = ABSTRACT | NODROP
w_class = 5
@@ -69,9 +77,9 @@
attack_verb = list("punched", "cross countered", "pummeled")
/obj/item/weapon/nullrod/staff
+ name = "red holy staff"
icon_state = "godstaff-red"
item_state = "godstaff-red"
- name = "red holy staff"
desc = "It has a mysterious, protective aura."
w_class = 5
force = 5
@@ -84,9 +92,9 @@
item_state = "godstaff-blue"
/obj/item/weapon/nullrod/claymore
+ name = "holy claymore"
icon_state = "claymore"
item_state = "claymore"
- name = "holy claymore"
desc = "A weapon fit for a crusade!"
w_class = 4
slot_flags = SLOT_BACK|SLOT_BELT
@@ -102,26 +110,26 @@
return ..()
/obj/item/weapon/nullrod/claymore/darkblade
+ name = "dark blade"
icon_state = "cultblade"
item_state = "cultblade"
- name = "dark blade"
desc = "Spread the glory of the dark gods!"
slot_flags = SLOT_BELT
hitsound = 'sound/hallucinations/growl1.ogg'
/obj/item/weapon/nullrod/claymore/chainsaw_sword
+ name = "sacred chainsaw sword"
icon_state = "chainswordon"
item_state = "chainswordon"
- name = "sacred chainsaw sword"
desc = "Suffer not a heretic to live."
slot_flags = SLOT_BELT
attack_verb = list("sawed", "torn", "cut", "chopped", "diced")
hitsound = 'sound/weapons/chainsaw.ogg'
/obj/item/weapon/nullrod/claymore/glowing
+ name = "force weapon"
icon_state = "swordon"
item_state = "swordon"
- name = "force weapon"
desc = "The blade glows with the power of faith. Or possibly a battery."
slot_flags = SLOT_BELT
@@ -171,9 +179,9 @@
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
/obj/item/weapon/nullrod/scythe
+ name = "reaper scythe"
icon_state = "scythe0"
item_state = "scythe0"
- name = "reaper scythe"
desc = "Ask not for whom the bell tolls..."
w_class = 4
armour_penetration = 35
@@ -184,16 +192,16 @@
hitsound = 'sound/weapons/bladeslice.ogg'
/obj/item/weapon/nullrod/scythe/vibro
+ name = "high frequency blade"
icon_state = "hfrequency0"
item_state = "hfrequency1"
- name = "high frequency blade"
desc = "Bad references are the DNA of the soul."
attack_verb = list("chopped", "sliced", "cut", "zandatsu'd")
/obj/item/weapon/nullrod/scythe/talking
+ name = "possessed blade"
icon_state = "talking_sword"
item_state = "talking_sword"
- name = "possessed blade"
desc = "When the station falls into chaos, it's nice to have a friend by your side."
attack_verb = list("chopped", "sliced", "cut")
hitsound = 'sound/weapons/bladeslice.ogg'
@@ -212,7 +220,7 @@
if(candidates.len)
theghost = pick(candidates)
- var/mob/living/simple_animal/shade/S = new(src)
+ var/mob/living/simple_animal/shade/sword/S = new(src)
S.real_name = name
S.name = name
S.ckey = theghost.ckey
@@ -227,16 +235,16 @@
possessed = FALSE
/obj/item/weapon/nullrod/scythe/talking/Destroy()
- for(var/mob/living/simple_animal/shade/S in contents)
+ for(var/mob/living/simple_animal/shade/sword/S in contents)
to_chat(S, "You were destroyed!")
S.ghostize()
qdel(S)
return ..()
/obj/item/weapon/nullrod/hammmer
+ name = "relic war hammer"
icon_state = "hammeron"
item_state = "hammeron"
- name = "relic war hammer"
desc = "This war hammer cost the chaplain fourty thousand space dollars."
slot_flags = SLOT_BELT
w_class = 5
@@ -255,10 +263,10 @@
hitsound = 'sound/weapons/chainsaw.ogg'
/obj/item/weapon/nullrod/clown
+ name = "clown dagger"
icon = 'icons/obj/wizard.dmi'
icon_state = "clownrender"
item_state = "gold_horn"
- name = "clown dagger"
desc = "Used for absolutely hilarious sacrifices."
hitsound = 'sound/items/bikehorn.ogg'
sharp = 1
@@ -342,9 +350,9 @@
item_state = "bostaff0"
/obj/item/weapon/nullrod/tribal_knife
+ name = "arrhythmic knife"
icon_state = "crysknife"
item_state = "crysknife"
- name = "arrhythmic knife"
w_class = 5
desc = "They say fear is the true mind killer, but stabbing them in the head works too. Honour compels you to not sheathe it once drawn."
sharp = 1
@@ -366,9 +374,9 @@
slowdown = rand(-2, 2)
/obj/item/weapon/nullrod/pitchfork
+ name = "unholy pitchfork"
icon_state = "pitchfork0"
item_state = "pitchfork0"
- name = "unholy pitchfork"
w_class = 3
desc = "Holding this makes you look absolutely devilish."
attack_verb = list("poked", "impaled", "pierced", "jabbed")
@@ -377,9 +385,9 @@
edge = 1
/obj/item/weapon/nullrod/rosary
+ name = "prayer beads"
icon_state = "rosary"
item_state = null
- name = "prayer beads"
desc = "A set of prayer beads used by many of the more traditional religions in space. Vampires and other unholy abominations have learned to fear these."
force = 0
throwforce = 0
@@ -445,5 +453,122 @@
if(prob(10))
to_chat(M, "Being in the presence of [holder]'s [src] is interfering with your powers! ")
+/obj/item/weapon/nullrod/missionary_staff
+ name = "holy staff"
+ desc = "It has a mysterious, protective aura."
+ description_antag = "This seemingly standard holy staff is actually a disguised neurotransmitter capable of inducing blind zealotry in its victims. It must be allowed to recharge in the presence of a linked set of missionary robes. Activate the staff while wearing robes to link, then aim the staff at your victim to try and convert them."
+ reskinned = TRUE
+ reskin_selectable = FALSE
+ icon_state = "godstaff-red"
+ item_state = "godstaff-red"
+ w_class = 5
+ force = 5
+ slot_flags = SLOT_BACK
+ block_chance = 50
+ var/team_color = "red"
+ var/obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe/robes = null //the robes linked with this staff
+ var/faith = 99 //a conversion requires 100 faith to attempt. faith recharges over time while you are wearing missionary robes that have been linked to the staff.
+/obj/item/weapon/nullrod/missionary_staff/New()
+ team_color = pick("red", "blue")
+ icon_state = "godstaff-[team_color]"
+ item_state = "godstaff-[team_color]"
+ name = "[team_color] holy staff"
+
+/obj/item/weapon/nullrod/missionary_staff/Destroy()
+ if(robes) //delink on destruction
+ robes.linked_staff = null
+ robes = null
+ return ..()
+
+/obj/item/weapon/nullrod/missionary_staff/attack_self(mob/user)
+ if(robes) //as long as it is linked, sec can't try to meta by stealing your staff and seeing if they get the link error message
+ return 0
+ if(!ishuman(user)) //prevents the horror (runtimes) of missionary xenos and other non-human mobs that might be able to activate the item
+ return 0
+ var/mob/living/carbon/human/missionary = user
+ if(missionary.wear_suit && istype(missionary.wear_suit, /obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe))
+ var/obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe/robe_to_link = missionary.wear_suit
+ if(robe_to_link.linked_staff)
+ to_chat(missionary, "These robes are already linked with a staff and cannot support another. Connection refused. ")
+ return 0
+ robes = robe_to_link
+ robes.linked_staff = src
+ to_chat(missionary, "Link established. Faith generators initialized. Go spread the word. ")
+ faith = 100 //full charge when a fresh link is made (can't be delinked without destroying the robes so this shouldn't be an exploitable thing)
+ return 1
+ else
+ to_chat(missionary, "You must be wearing the missionary robes you wish to link with this staff. ")
+ return 0
+
+/obj/item/weapon/nullrod/missionary_staff/afterattack(mob/living/carbon/human/target, mob/living/carbon/human/missionary, flag, params)
+ if(!istype(target) || !istype(missionary)) //ishuman checks effectively
+ return
+ if(target == missionary) //you can't convert yourself, that would raise too many questions about your own dedication to the cause
+ return
+ if(!robes) //staff must be linked to convert
+ to_chat(missionary, "You must link your staff to a set of missionary robes before attempting conversions. ")
+ return
+ if(!missionary.wear_suit || missionary.wear_suit != robes) //must be wearing the robes to convert
+ return
+ if(faith < 100)
+ to_chat(missionary, "You don't have enough faith to attempt a conversion right now. ")
+ return
+ to_chat(missionary, "You concentrate on [target] and begin the conversion ritual... ")
+ if(!target.mind) //no mind means no conversion, but also means no faith lost.
+ to_chat(missionary, "You halt the conversion as you realize [target] is mindless! Best to save your faith for someone more worthwhile. ")
+ return
+ if(do_after(missionary, 40)) //4 seconds to temporarily convert, roughly 1 second faster than a vampire's enthrall ability
+ if(faith < 100) //to stop people from trying to exploit the do_after system to multi-convert, we check again if you have enough faith when it completes
+ to_chat(missionary, "You don't have enough faith to complete the conversion on [target]! ")
+ return
+ if(missionary in viewers(target)) //missionary must maintain line of sight to target, but the target doesn't necessary need to be able to see the missionary
+ do_convert(target, missionary)
+ else
+ to_chat(missionary, "You lost sight of the target before they could be converted! ")
+ faith -= 25 //they escaped, so you only lost a little faith (to prevent spamming)
+ else //the do_after failed, probably because you moved or dropped the staff
+ to_chat(missionary, "Your concentration was broken! ")
+
+/obj/item/weapon/nullrod/missionary_staff/proc/do_convert(mob/living/carbon/human/target, mob/living/carbon/human/missionary)
+ var/convert_duration = 6000 //10 min
+ if(!target || !istype(target) || !missionary || !istype(missionary))
+ return
+ if(ismindslave(target) || target.mind.zealot_master) //mindslaves and zealots override the staff because the staff is just a temporary mindslave
+ to_chat(missionary, "Your faith is strong, but their mind is already slaved to someone else's ideals. Perhaps an inquisition would reveal more... ")
+ faith -= 25 //same faith cost as losing sight of them mid-conversion, but did you just find someone who can lead you to a fellow traitor?
+ return
+ if(isloyal(target))
+ if(prob(20)) //loyalty implants typically overpower this, but you CAN get lucky and convert still (20% chance of success)
+ faith -= 125 //yes, this puts it negative. it's gonna take longer to recharge if you manage to convert a one of these people to balance the new power you gained through them
+ to_chat(missionary, "Through sheer willpower, you overcome their closed mind and rally [target] to your cause! You may need a bit longer than usual before your faith is fully recharged, and they won't remain loyal to you for long ... ")
+ convert_duration = 3000 //5 min, because the loyalty implant will attempt to counteract the subversion
+ else //80% chance to fail
+ faith -= 75
+ to_chat(missionary, "Your faith is strong, but their mind remains closed to your ideals. Your resolve helps you retain a bit of faith though. ")
+ return
+ else if(target.mind.assigned_role == "Psychiatrist" || target.mind.assigned_role == "Librarian") //fancy book lernin helps counter religion (day 0 job love, what madness!)
+ if(prob(35)) //35% chance to fail
+ to_chat(missionary, "This one is well trained in matters of the mind... They will not be swayed as easily as you thought... ")
+ faith -=50 //lose half your faith to the book-readers
+ return
+ else
+ to_chat(missionary, "You successfully convert [target] to your cause. The following grows because of your faith! ")
+ faith -= 100
+ else if(target.mind.assigned_role == "Civilian")
+ if(prob(55)) //55% chance to take LESS faith than normal, because civies are stupid and easily manipulated
+ to_chat(missionary, "Your message seems to resound well with [target]; converting them was much easier than expected. ")
+ faith -= 50
+ else //45% chance to take the normal 100 faith cost
+ to_chat(missionary, "You successfully convert [target] to your cause. The following grows because of your faith! ")
+ faith -= 100
+ else //everyone else takes 100 faith cost because they are normal
+ to_chat(missionary, "You successfully convert [target] to your cause. The following grows because of your faith! ")
+ faith -= 100
+ //if you made it this far: congratulations! you are now a religious zealot!
+ target.mind.make_zealot(missionary, convert_duration, team_color)
+
+ target << sound('sound/misc/wololo.ogg', 0, 1, 25)
+ missionary.say("WOLOLO!")
+ missionary << sound('sound/misc/wololo.ogg', 0, 1, 25)
diff --git a/code/game/objects/items/weapons/implants/implant_explosive.dm b/code/game/objects/items/weapons/implants/implant_explosive.dm
index 23d35d59995..c02c3ba9fcc 100644
--- a/code/game/objects/items/weapons/implants/implant_explosive.dm
+++ b/code/game/objects/items/weapons/implants/implant_explosive.dm
@@ -133,6 +133,8 @@
/obj/item/weapon/implant/dust
name = "duster implant"
desc = "An alarm which monitors host vital signs, transmitting a radio message and dusting the corpse on death."
+ icon = 'icons/effects/blood.dmi'
+ icon_state = "remains"
/obj/item/weapon/implant/dust/get_data()
var/dat = {"Implant Specifications:
diff --git a/code/game/objects/items/weapons/implants/implant_traitor.dm b/code/game/objects/items/weapons/implants/implant_traitor.dm
index 65aa155c8cb..bb80d50845d 100644
--- a/code/game/objects/items/weapons/implants/implant_traitor.dm
+++ b/code/game/objects/items/weapons/implants/implant_traitor.dm
@@ -45,21 +45,21 @@
return -1
H.implanting = 1
to_chat(H, "You feel completely loyal to [user.name]. ")
- if(!(user.mind in ticker.mode:implanter))
- ticker.mode:implanter[ref] = list()
- implanters = ticker.mode:implanter[ref]
+ if(!(user.mind in ticker.mode.implanter))
+ ticker.mode.implanter[ref] = list()
+ implanters = ticker.mode.implanter[ref]
implanters.Add(H.mind)
ticker.mode.implanted.Add(H.mind)
ticker.mode.implanted[H.mind] = user.mind
- //ticker.mode:implanter[user.mind] += H.mind
- ticker.mode:implanter[ref] = implanters
+ //ticker.mode.implanter[user.mind] += H.mind
+ ticker.mode.implanter[ref] = implanters
ticker.mode.traitors += H.mind
H.mind.special_role = SPECIAL_ROLE_TRAITOR
to_chat(H, "You're now completely loyal to [user.name]! You now must lay down your life to protect them and assist in their goals at any cost. ")
var/datum/objective/protect/mindslave/MS = new
MS.owner = H.mind
- MS.target = user:mind
- MS.explanation_text = "Obey every order from and protect [user:real_name], the [user:mind:assigned_role=="MODE" ? (user:mind:special_role) : (user:mind:assigned_role)]."
+ MS.target = user.mind
+ MS.explanation_text = "Obey every order from and protect [user.real_name], the [user.mind.assigned_role=="MODE" ? (user.mind.special_role) : (user.mind.assigned_role)]."
H.mind.objectives += MS
for(var/datum/objective/objective in H.mind.objectives)
to_chat(H, "Objective #1 : [objective.explanation_text]")
diff --git a/code/game/objects/items/weapons/misc.dm b/code/game/objects/items/weapons/misc.dm
index 2ff41257ea1..c230c033437 100644
--- a/code/game/objects/items/weapons/misc.dm
+++ b/code/game/objects/items/weapons/misc.dm
@@ -34,6 +34,9 @@
materials = list(MAT_METAL=50)
attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed")
+/obj/item/weapon/cane/is_crutch()
+ return 1
+
/obj/item/weapon/c_tube
name = "cardboard tube"
desc = "A tube... of cardboard."
diff --git a/code/game/objects/items/weapons/mop.dm b/code/game/objects/items/weapons/mop.dm
index 12219eadd0b..06bb11dd59e 100644
--- a/code/game/objects/items/weapons/mop.dm
+++ b/code/game/objects/items/weapons/mop.dm
@@ -73,13 +73,13 @@
/obj/item/weapon/mop/advanced
desc = "The most advanced tool in a custodian's arsenal. Just think of all the viscera you will clean up with this!"
name = "advanced mop"
- mopcap = 10
+ mopcap = 15
icon_state = "advmop"
item_state = "mop" //meh will do for now until TG makes one
force = 6
throwforce = 8
throw_range = 4
- mopspeed = 20
+ mopspeed = 10
/obj/item/weapon/mop/advanced/cyborg
mopcap = 40
@@ -90,4 +90,4 @@
/obj/item/weapon/mop/advanced/cyborg/examine(mob/user)
..(user)
- to_chat(user, "The mop's water tank has [round(reagents.get_reagent_amount("water"))] units of water left. ")
\ No newline at end of file
+ to_chat(user, "The mop's water tank has [round(reagents.get_reagent_amount("water"))] units of water left. ")
diff --git a/code/game/objects/items/weapons/storage/bags.dm b/code/game/objects/items/weapons/storage/bags.dm
index 395d27d0300..937cc3214a3 100644
--- a/code/game/objects/items/weapons/storage/bags.dm
+++ b/code/game/objects/items/weapons/storage/bags.dm
@@ -33,7 +33,7 @@
icon_state = "trashbag"
item_state = "trashbag"
- w_class = 4
+ w_class = 1
max_w_class = 2
storage_slots = 30
can_hold = list() // any
@@ -46,12 +46,17 @@
/obj/item/weapon/storage/bag/trash/update_icon()
if(contents.len == 0)
+ w_class = 1
icon_state = "[initial(icon_state)]"
else if(contents.len < 12)
+ w_class = 4
icon_state = "[initial(icon_state)]1"
else if(contents.len < 21)
+ w_class = 4
icon_state = "[initial(icon_state)]2"
- else icon_state = "[initial(icon_state)]3"
+ else
+ w_class = 4
+ icon_state = "[initial(icon_state)]3"
/obj/item/weapon/storage/bag/trash/cyborg
@@ -499,4 +504,4 @@
max_combined_w_class = 200
w_class = 1
can_hold = list("/obj/item/slime_extract","/obj/item/weapon/reagent_containers/food/snacks/monkeycube","/obj/item/weapon/reagent_containers/syringe","/obj/item/weapon/reagent_containers/glass/beaker","/obj/item/weapon/reagent_containers/glass/bottle","/obj/item/weapon/reagent_containers/blood","/obj/item/weapon/reagent_containers/hypospray/autoinjector")
- burn_state = FLAMMABLE
\ No newline at end of file
+ burn_state = FLAMMABLE
diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm
index c3a92c3ce48..96699998193 100644
--- a/code/game/objects/items/weapons/storage/belt.dm
+++ b/code/game/objects/items/weapons/storage/belt.dm
@@ -447,6 +447,7 @@
icon_state = "sheath"
item_state = "sheath"
storage_slots = 1
+ w_class = 4
max_w_class = 4
can_hold = list("/obj/item/weapon/melee/rapier")
diff --git a/code/game/objects/items/weapons/storage/firstaid.dm b/code/game/objects/items/weapons/storage/firstaid.dm
index 03ba6bed54b..67d44c53b2d 100644
--- a/code/game/objects/items/weapons/storage/firstaid.dm
+++ b/code/game/objects/items/weapons/storage/firstaid.dm
@@ -276,16 +276,6 @@
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
new /obj/item/weapon/reagent_containers/food/pill/charcoal( src )
-/obj/item/weapon/storage/pill_bottle/dice
- name = "pack of dice"
- desc = "It's a small container with dice inside."
-
- New()
- ..()
- new /obj/item/weapon/dice( src )
- new /obj/item/weapon/dice/d20( src )
-
-
/obj/item/weapon/storage/pill_bottle/painkillers
name = "Pill Bottle (Salicylic Acid)"
desc = "Contains various pills for minor pain relief."
diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm
index c34b392430e..40f56f7000f 100644
--- a/code/game/objects/items/weapons/storage/storage.dm
+++ b/code/game/objects/items/weapons/storage/storage.dm
@@ -576,5 +576,5 @@
if(islist(thing))
list_to_object(thing, src)
else
- log_debug("Non-list thing: [thing]. We are a [name]")
+ log_runtime(EXCEPTION("Non-list thing found in storage/deserialize."), src, list("Thing: [thing]"))
..()
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index ac994fe4b77..e3f21a93d30 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -77,8 +77,7 @@
new /obj/item/weapon/melee/energy/sword/saber(src)
new /obj/item/weapon/melee/energy/sword/saber(src)
new /obj/item/weapon/dnainjector/telemut/darkbundle(src)
- new /obj/item/clothing/head/chaplain_hood(src)
- new /obj/item/clothing/suit/chaplain_hoodie(src)
+ new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
new /obj/item/weapon/card/id/syndicate(src)
return
@@ -205,3 +204,16 @@
..()
new /obj/item/weapon/grenade/clusterbuster/plasma(src)
new /obj/item/weapon/grenade/clusterbuster/n2o(src)
+
+/obj/item/weapon/storage/box/syndie_kit/missionary_set
+ name = "Missionary Starter Kit"
+
+/obj/item/weapon/storage/box/syndie_kit/missionary_set/New()
+ ..()
+ new /obj/item/weapon/nullrod/missionary_staff(src)
+ new /obj/item/clothing/suit/hooded/chaplain_hoodie/missionary_robe(src)
+ var/obj/item/weapon/storage/bible/B = new /obj/item/weapon/storage/bible(src)
+ if(prob(25)) //an omen of success to come?
+ B.deity_name = "Success"
+ B.icon_state = "greentext"
+ B.item_state = "greentext"
diff --git a/code/game/objects/items/weapons/swords_axes_etc.dm b/code/game/objects/items/weapons/swords_axes_etc.dm
index 55f7c4d5eb8..e6fcf144013 100644
--- a/code/game/objects/items/weapons/swords_axes_etc.dm
+++ b/code/game/objects/items/weapons/swords_axes_etc.dm
@@ -79,6 +79,9 @@
item_state = "cane_nt"
needs_permit = 0
+/obj/item/weapon/melee/classic_baton/ntcane/is_crutch()
+ return 1
+
//Telescopic baton
/obj/item/weapon/melee/classic_baton/telescopic
name = "telescopic baton"
diff --git a/code/game/objects/items/weapons/tanks/tanks.dm b/code/game/objects/items/weapons/tanks/tanks.dm
index 4ec1b1587c8..d498109b2dd 100644
--- a/code/game/objects/items/weapons/tanks/tanks.dm
+++ b/code/game/objects/items/weapons/tanks/tanks.dm
@@ -83,7 +83,7 @@
icon = loc
if(!in_range(src, user))
if(icon == src)
- to_chat(user, "\blue It's \a [bicon(icon)][src]! If you want any more information you'll need to get closer.")
+ to_chat(user, "It's \a [bicon(icon)][src]! If you want any more information you'll need to get closer. ")
return
var/celsius_temperature = air_contents.temperature-T0C
diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm
index 1452273573a..176108b8f08 100644
--- a/code/game/objects/items/weapons/tools.dm
+++ b/code/game/objects/items/weapons/tools.dm
@@ -241,12 +241,20 @@
if(!(S.status & ORGAN_ROBOT) || user.a_intent != I_HELP || S.open == 2)
return ..()
+ if(!isOn()) //why wasn't this being checked already?
+ to_chat(user, "Turn on [src] before attempting repairs! ")
+ return 1
+
if(S.brute_dam)
if(S.brute_dam < ROBOLIMB_SELF_REPAIR_CAP)
- if(remove_fuel(0,null))
- playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
- S.heal_damage(15,0,0,1)
- user.visible_message("\The [user] patches some dents on \the [M]'s [S.name] with \the [src]. ")
+ if(get_fuel() >= 1)
+ if(H == user)
+ if(!do_mob(user, H, 10))
+ return 1
+ if(remove_fuel(1,null))
+ playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
+ S.heal_damage(15,0,0,1)
+ user.visible_message("\The [user] patches some dents on \the [M]'s [S.name] with \the [src]. ")
else if(S.open != 2)
to_chat(user, "Need more welding fuel! ")
return 1
diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm
index da21397529d..8e9424c4997 100644
--- a/code/game/objects/items/weapons/twohanded.dm
+++ b/code/game/objects/items/weapons/twohanded.dm
@@ -82,13 +82,6 @@
user.put_in_inactive_hand(O)
return
-/obj/item/weapon/twohanded/mob_can_equip(mob/M, slot)
- //Cannot equip wielded items.
- if(wielded)
- to_chat(M, "Unwield the [name] first! ")
- return 0
- return ..()
-
/obj/item/weapon/twohanded/dropped(mob/user)
..()
//handles unwielding a twohanded weapon when dropped as well as clearing up the offhand
@@ -108,6 +101,12 @@
else //Trying to wield it
wield(user)
+
+/obj/item/weapon/twohanded/equip_to_best_slot(mob/M)
+ if(..())
+ unwield(M)
+ return
+
///////////OFFHAND///////////////
/obj/item/weapon/twohanded/offhand
w_class = 5
@@ -130,8 +129,8 @@
return
/obj/item/weapon/twohanded/required/mob_can_equip(M as mob, slot)
- if(wielded)
- to_chat(M, "[src.name] is too cumbersome to carry with anything but your hands! ")
+ if(wielded && !slot_flags)
+ to_chat(M, "[src] is too cumbersome to carry with anything but your hands! ")
return 0
return ..()
@@ -140,12 +139,18 @@
if(get_dist(src,user) > 1)
return 0
if(H != null)
- to_chat(user, "[src.name] is too cumbersome to carry in one hand! ")
+ to_chat(user, "[src] is too cumbersome to carry in one hand! ")
return
- var/obj/item/weapon/twohanded/offhand/O = new(user)
- user.put_in_inactive_hand(O)
+ if(loc != user)
+ wield(user)
..()
- wielded = 1
+
+/obj/item/weapon/twohanded/required/equipped(mob/user, slot)
+ ..()
+ if(slot == slot_l_hand || slot == slot_r_hand)
+ wield(user)
+ else
+ unwield(user)
/*
* Fireaxe
diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm
index 1831b983f2c..ed0092cf60d 100644
--- a/code/game/objects/structures/crates_lockers/closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets.dm
@@ -65,7 +65,10 @@
/obj/structure/closet/proc/moveMob(var/mob/M, var/atom/destination)
loc.Exited(M)
M.loc = destination
- loc.Entered(M, ignoreRest = 1)
+ if(isturf(loc))
+ loc.Entered(M, src, ignoreRest = 1)
+ else
+ loc.Entered(M, src)
for(var/atom/movable/AM in loc)
if(istype(AM, /obj/item))
continue
diff --git a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
index 3fda5f8c603..c2401919497 100644
--- a/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
+++ b/code/game/objects/structures/crates_lockers/closets/utility_closets.dm
@@ -89,12 +89,6 @@
new /obj/item/weapon/extinguisher(src)
new /obj/item/clothing/head/hardhat/red(src)
-/obj/structure/closet/firecloset/update_icon()
- if(!opened)
- icon_state = icon_closed
- else
- icon_state = icon_opened
-
/*
* Tool Closet
diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm
index d84e879dbe0..9bca4dc0a75 100644
--- a/code/game/objects/structures/girders.dm
+++ b/code/game/objects/structures/girders.dm
@@ -25,7 +25,8 @@
/obj/structure/girder/proc/take_damage(var/amount)
health -= amount
- if(health < 0)
+ if(health <= 0)
+ new /obj/item/stack/sheet/metal(get_turf(src))
qdel(src)
/obj/structure/girder/attackby(obj/item/W as obj, mob/user as mob, params)
@@ -188,15 +189,10 @@
qdel(src)
/obj/structure/girder/bullet_act(var/obj/item/projectile/Proj)
- if(istype(Proj, /obj/item/projectile/beam))
- health -= Proj.damage
- ..()
- if(health <= 0)
- new /obj/item/stack/sheet/metal(get_turf(src))
- qdel(src)
-
if(istype(Proj ,/obj/item/projectile/beam/pulse))
src.ex_act(2)
+ else
+ take_damage(Proj.damage)
..()
return 0
diff --git a/code/game/response_team.dm b/code/game/response_team.dm
index 9e5605c3b28..81e800a2b00 100644
--- a/code/game/response_team.dm
+++ b/code/game/response_team.dm
@@ -173,9 +173,10 @@ var/ert_request_answered = 0
head_organ.r_hair = hex2num(copytext(hair_c, 2, 4))
head_organ.g_hair = hex2num(copytext(hair_c, 4, 6))
head_organ.b_hair = hex2num(copytext(hair_c, 6, 8))
- M.r_eyes = hex2num(copytext(eye_c, 2, 4))
- M.g_eyes = hex2num(copytext(eye_c, 4, 6))
- M.b_eyes = hex2num(copytext(eye_c, 6, 8))
+ var/eyes_red = hex2num(copytext(eye_c, 2, 4))
+ var/eyes_green = hex2num(copytext(eye_c, 4, 6))
+ var/eyes_blue = hex2num(copytext(eye_c, 6, 8))
+ M.change_eye_color(eyes_red, eyes_green, eyes_blue)
M.s_tone = skin_tone
head_organ.h_style = hair_style
head_organ.f_style = facial_hair_style
diff --git a/code/game/turfs/simulated.dm b/code/game/turfs/simulated.dm
index 3bce2fcfe3d..a247e35a86f 100644
--- a/code/game/turfs/simulated.dm
+++ b/code/game/turfs/simulated.dm
@@ -54,17 +54,16 @@
/turf/simulated/Entered(atom/A, atom/OL, ignoreRest = 0)
..()
if(!ignoreRest)
- if(ismob(A)) //only mobs make dirt
- if(prob(80))
- dirt++
+ if(isliving(A) && prob(50))
+ dirt++
- var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt) in src
- if(dirt >= 100)
- if(!dirtoverlay)
- dirtoverlay = new/obj/effect/decal/cleanable/dirt(src)
- dirtoverlay.alpha = 10
- else if(dirt > 100)
- dirtoverlay.alpha = min(dirtoverlay.alpha + 10, 200)
+ var/obj/effect/decal/cleanable/dirt/dirtoverlay = locate(/obj/effect/decal/cleanable/dirt) in src
+ if(dirt >= 100)
+ if(!dirtoverlay)
+ dirtoverlay = new/obj/effect/decal/cleanable/dirt(src)
+ dirtoverlay.alpha = 10
+ else if(dirt > 100)
+ dirtoverlay.alpha = min(dirtoverlay.alpha + 10, 200)
if(ishuman(A))
var/mob/living/carbon/human/M = A
@@ -117,6 +116,8 @@
if(!..())
return 0
+ if(!istype(M)) // To avoid non-humans from causing runtimes whena dding blood to the floor
+ return 0
var/obj/effect/decal/cleanable/blood/B = locate() in contents //check for existing blood splatter
if(!B)
blood_splatter(src,M.get_blood(M.vessel),1)
@@ -138,4 +139,4 @@
. = ..()
smooth_icon_neighbors(src)
-/turf/simulated/proc/is_shielded()
\ No newline at end of file
+/turf/simulated/proc/is_shielded()
diff --git a/code/game/turfs/simulated/walls_misc.dm b/code/game/turfs/simulated/walls_misc.dm
index 6d59513e761..576ac6f993e 100644
--- a/code/game/turfs/simulated/walls_misc.dm
+++ b/code/game/turfs/simulated/walls_misc.dm
@@ -26,4 +26,5 @@
/turf/simulated/wall/r_wall/coated //Coated for heat resistance
name = "coated reinforced wall"
desc = "A huge chunk of reinforced metal used to seperate rooms. It seems to have additional plating to protect against heat."
+ icon = 'icons/turf/walls/coated_reinforced_wall.dmi'
max_temperature = INFINITY
\ No newline at end of file
diff --git a/code/game/turfs/space/space.dm b/code/game/turfs/space/space.dm
index fb10d23ae9c..c8c454383ea 100644
--- a/code/game/turfs/space/space.dm
+++ b/code/game/turfs/space/space.dm
@@ -213,21 +213,21 @@
/turf/space/proc/set_transition_north(dest_z)
destination_x = x
- destination_y = TRANSITIONEDGE + 2
+ destination_y = TRANSITION_BORDER_SOUTH + 1
destination_z = dest_z
/turf/space/proc/set_transition_south(dest_z)
destination_x = x
- destination_y = world.maxy - TRANSITIONEDGE - 2
+ destination_y = TRANSITION_BORDER_NORTH - 1
destination_z = dest_z
/turf/space/proc/set_transition_east(dest_z)
- destination_x = TRANSITIONEDGE + 2
+ destination_x = TRANSITION_BORDER_WEST + 1
destination_y = y
destination_z = dest_z
/turf/space/proc/set_transition_west(dest_z)
- destination_x = world.maxx - TRANSITIONEDGE - 2
+ destination_x = TRANSITION_BORDER_EAST - 1
destination_y = y
destination_z = dest_z
diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm
index 5946ef77f0a..3a04a11f9e6 100644
--- a/code/game/turfs/turf.dm
+++ b/code/game/turfs/turf.dm
@@ -200,6 +200,9 @@
levelupdate()
CalculateAdjacentTurfs()
+ if(air_master && !ignore_air)
+ air_master.add_to_active(src)
+
if(!keep_cabling && !can_have_cabling())
for(var/obj/structure/cable/C in contents)
qdel(C)
diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm
index 3027864ace6..c22a019addb 100644
--- a/code/modules/admin/DB ban/functions.dm
+++ b/code/modules/admin/DB ban/functions.dm
@@ -113,7 +113,7 @@ datum/admins/proc/DB_ban_record(var/bantype, var/mob/banned_mob, var/duration =
else
adminwho += ", [C]"
- reason = sql_sanitize_text(reason)
+ reason = sanitizeSQL(reason)
if(maxadminbancheck)
var/DBQuery/adm_query = dbcon.NewQuery("SELECT count(id) AS num FROM [format_table_name("ban")] WHERE (a_ckey = '[a_ckey]') AND (bantype = 'ADMIN_PERMABAN' OR (bantype = 'ADMIN_TEMPBAN' AND expiration_time > Now())) AND isnull(unbanned)")
@@ -244,14 +244,14 @@ datum/admins/proc/DB_ban_edit(var/banid = null, var/param = null)
to_chat(usr, "Invalid ban id. Contact the database admin")
return
- reason = sql_sanitize_text(reason)
+ reason = sanitizeSQL(reason)
var/value
switch(param)
if("reason")
if(!value)
value = input("Insert the new reason for [pckey]'s ban", "New Reason", "[reason]", null) as null|text
- value = sql_sanitize_text(value)
+ value = sanitizeSQL(value)
if(!value)
to_chat(usr, "Cancelled")
return
@@ -417,8 +417,8 @@ datum/admins/proc/DB_ban_unban_by_id(var/id)
adminckey = ckey(adminckey)
playerckey = ckey(playerckey)
- playerip = sql_sanitize_text(playerip)
- playercid = sql_sanitize_text(playercid)
+ playerip = sanitizeSQL(playerip)
+ playercid = sanitizeSQL(playercid)
if(adminckey || playerckey || playerip || playercid || dbbantype)
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index b8a1bda8c4c..30b8c8bb8e9 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -893,9 +893,6 @@ var/gamma_ship_location = 1 // 0 = station , 1 = space
toArea = locate(/area/shuttle/gamma/space)
fromArea.move_contents_to(toArea)
- for(var/turf/simulated/floor/mech_bay_recharge_floor/F in toArea)
- F.init_devices()
-
for(var/obj/machinery/power/apc/A in toArea)
A.init()
diff --git a/code/modules/admin/banappearance.dm b/code/modules/admin/banappearance.dm
index b039f6bd634..06deaa1c461 100644
--- a/code/modules/admin/banappearance.dm
+++ b/code/modules/admin/banappearance.dm
@@ -92,18 +92,3 @@ DEBUG
appearance_savebanfile()
return 1
return 0
-
-/*
-proc/DB_ban_isappearancebanned(var/playerckey)
- establish_db_connection()
- if(!dbcon.IsConnected())
- return
-
- var/sqlplayerckey = sql_sanitize_text(ckey(playerckey))
-
- var/DBQuery/query = dbcon.NewQuery("SELECT id FROM [format_table_name("ban")] WHERE CKEY = '[sqlplayerckey]' AND ((bantype = 'APPEARANCE_BAN') OR (bantype = 'APPEARANCE_TEMPBAN' AND expiration_time > Now())) AND unbanned != 1")
- query.Execute()
- while(query.NextRow())
- return 1
- return 0
-*/
\ No newline at end of file
diff --git a/code/modules/admin/banjob.dm b/code/modules/admin/banjob.dm
index 1f385093683..f95d5094446 100644
--- a/code/modules/admin/banjob.dm
+++ b/code/modules/admin/banjob.dm
@@ -77,7 +77,7 @@ DEBUG
if(jobban_regex.Find(s))
jobban_assoc_insert(jobban_regex.group[1], jobban_regex.group[2], jobban_regex.group[3])
else
- log_debug("Skipping malformed job ban: [s]")
+ log_runtime(EXCEPTION("Skipping malformed job ban: [s]"))
else
if(!establish_db_connection())
log_to_dd("Database connection failed. Reverting to the legacy ban system.")
@@ -132,9 +132,9 @@ DEBUG
if(jobban_assoclist[ckey] && jobban_assoclist[ckey][rank])
jobban_assoclist[ckey] -= rank
else
- log_debug("Attempted to remove non-existent job ban: [X]")
+ log_runtime(EXCEPTION("Attempted to remove non-existent job ban: [X]"))
else
- log_debug("Failed to remove malformed job ban from associative list: [X]")
+ log_runtime(EXCEPTION("Failed to remove malformed job ban from associative list: [X]"))
jobban_keylist.Remove(jobban_keylist[i])
if(config.ban_legacy_system)
jobban_savebanfile()
diff --git a/code/modules/admin/buildmode.dm b/code/modules/admin/buildmode.dm
index f08121634d3..87721320af5 100644
--- a/code/modules/admin/buildmode.dm
+++ b/code/modules/admin/buildmode.dm
@@ -86,7 +86,7 @@
cl = c
cl.images += I
else
- log_debug("Buildmode reticule created without a client!")
+ log_runtime(EXCEPTION("Buildmode reticule created without a client!"), src)
/obj/effect/buildmode_reticule/proc/deselect()
qdel(src)
diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm
index 512e2393f83..4234ea2773c 100644
--- a/code/modules/admin/player_panel.dm
+++ b/code/modules/admin/player_panel.dm
@@ -530,10 +530,6 @@
if(ticker.mode.greyshirts.len)
dat += check_role_table("Greyshirts", ticker.mode.greyshirts)
- var/datum/game_mode/mutiny/mutiny = get_mutiny_mode()
- if(mutiny)
- dat += mutiny.check_antagonists_ui(src)
-
dat += "