From 869c824fe07b58e06f1dd7464ef99bcae1ec9007 Mon Sep 17 00:00:00 2001 From: Ron Date: Sun, 4 Jun 2017 12:58:31 -0400 Subject: [PATCH] Makes the arrivals shuttle more robust (#2565) It's harder to mess with the shuttle and after failing to return so many times it boots people off. It also connects the airlocks to distro and gives it a backup canister. --- code/controllers/subsystems/arrivals.dm | 1 + code/controllers/subsystems/job.dm | 7 +++-- code/game/objects/effects/landmarks.dm | 4 +++ code/game/objects/structures/window.dm | 15 ++++++++++ code/global.dm | 1 + code/modules/shuttles/shuttle_arrival.dm | 21 +++++++++++++- maps/Aurora-MapDev/aurora-0.dmm | 4 +-- maps/Aurora-MapDev/aurora-5.dmm | 37 ++++++++++++++---------- 8 files changed, 68 insertions(+), 22 deletions(-) diff --git a/code/controllers/subsystems/arrivals.dm b/code/controllers/subsystems/arrivals.dm index 5603692249a..99bdf2a16bd 100644 --- a/code/controllers/subsystems/arrivals.dm +++ b/code/controllers/subsystems/arrivals.dm @@ -9,6 +9,7 @@ var/launch_time //the time at which the shuttle will be launched var/wait_for_launch = 0 //if the shuttle is waiting to launch + var/failreturnnumber = 0 // the number of times the shuttle failed to leave the station var/list/current_mobs = list() /datum/controller/subsystem/arrivals/New() diff --git a/code/controllers/subsystems/job.dm b/code/controllers/subsystems/job.dm index e8007bbc912..1cc508d8237 100644 --- a/code/controllers/subsystems/job.dm +++ b/code/controllers/subsystems/job.dm @@ -324,7 +324,7 @@ var/datum/job/job = GetJob(rank) var/list/spawn_in_storage = list() - + if(job) var/list/custom_equip_slots = list() //If more than one item takes the same slot, all after the first one spawn in storage. var/list/custom_equip_leftovers = list() @@ -527,7 +527,8 @@ var/datum/job/job = GetJob(rank) var/list/spawn_in_storage = list() - H.odin_despawn_timer = addtimer(CALLBACK(H, /mob/living/carbon/human/.proc/odin_timeout), 15 MINUTES, TIMER_STOPPABLE) + H.odin_despawn_timer = addtimer(CALLBACK(H, /mob/living/carbon/human/.proc/odin_timeout), 10 MINUTES, TIMER_STOPPABLE) + H <<"You have ten minutes to reach the station before you will be forced there." if(job) //Equip custom gear loadout. @@ -747,7 +748,7 @@ //spawn at one of the latespawn locations var/datum/spawnpoint/spawnpos - + if(H.client.prefs.spawnpoint) spawnpos = spawntypes[H.client.prefs.spawnpoint] diff --git a/code/game/objects/effects/landmarks.dm b/code/game/objects/effects/landmarks.dm index 015fea2f247..4bfd80d9b7f 100644 --- a/code/game/objects/effects/landmarks.dm +++ b/code/game/objects/effects/landmarks.dm @@ -25,6 +25,10 @@ latejoin += loc delete_me = 1 return + if("KickoffLocation") + kickoffsloc += loc + delete_me = 1 + return if("JoinLateGateway") latejoin_gateway += loc delete_me = 1 diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index c22f4782976..69969c8d781 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -489,6 +489,21 @@ smooth = SMOOTH_TRUE can_be_unanchored = TRUE +/obj/structure/window/shuttle/crescent + name = "shuttle window" + desc = "It looks rather strong." + icon = 'icons/obj/smooth/shuttle_window.dmi' + icon_state = "shuttle_window" + basestate = "window" + reinf = 1 + basestate = "w" + dir = 5 + smooth = SMOOTH_TRUE + can_be_unanchored = TRUE + +/obj/structure/window/shuttle/crescent/take_damage() + return + /obj/structure/window/shuttle/update_nearby_icons() queue_smooth_neighbors(src) diff --git a/code/global.dm b/code/global.dm index 799e1b95472..70604f7b871 100644 --- a/code/global.dm +++ b/code/global.dm @@ -65,6 +65,7 @@ var/list/latejoin = list() var/list/latejoin_gateway = list() var/list/latejoin_cryo = list() var/list/latejoin_cyborg = list() +var/list/kickoffsloc = list() var/list/prisonwarp = list() // Prisoners go to these var/list/holdingfacility = list() // Captured people go here diff --git a/code/modules/shuttles/shuttle_arrival.dm b/code/modules/shuttles/shuttle_arrival.dm index d07a7c34d74..cc99daab2b4 100644 --- a/code/modules/shuttles/shuttle_arrival.dm +++ b/code/modules/shuttles/shuttle_arrival.dm @@ -20,10 +20,28 @@ return //someone cancelled the launch if (at_station() && forbidden_atoms_check()) - //cancel the launch because of forbidden atoms. announce over supply channel? + //cancel the launch because of forbidden atoms moving_status = SHUTTLE_IDLE global_announcer.autosay("Unacceptable items detected aboard the arrivals shuttle. Launch attempt failed. Restarting launch in one minute.", "Arrivals Shuttle Oversight") SSarrivals.set_launch_countdown(60) + SSarrivals.failreturnnumber++ + if(SSarrivals.failreturnnumber >= 2) // get off my shuttle fool + var/list/mobstoyellat = mobs_in_area(get_location_area(location)) + if (!mobstoyellat || !mobstoyellat.len) + return + for(var/mob/living/A in mobstoyellat) + A <<"You feel as if you shouldn't be on the shuttle." // give them an angry text + if(!A.client && ishuman(A) && SSarrivals.failreturnnumber >= 3) // well they are SSD and holding up the shuttle so might as well. + SSjobs.DespawnMob(A) + global_announcer.autosay("[A.real_name], [A.mind.role_alt_title], has entered long-term storage.", "Cryogenic Oversight") + mobstoyellat -= A // so they don't get told on + else if(A.client && ishuman(A) && SSarrivals.failreturnnumber >= 3) // they aren't SSD and are holding up the shuttle so we are booting them. + A.forceMove(pick(kickoffsloc)) + mobstoyellat -= A + else if(!ishuman(A) && SSarrivals.failreturnnumber >=4 && !A.client) // remove non-player mobs to keep things rolling + qdel(A) + if (mobstoyellat) + global_announcer.autosay("Current life-forms on shuttle: [english_list(mobstoyellat)].", "Arrivals Shuttle Oversight") // tell on them return if (!forbidden_atoms_check() && !at_station()) @@ -33,6 +51,7 @@ if(!at_station()) global_announcer.autosay("Central Command Arrivals shuttle inbound to NSS Aurora II. ETA: one minute.", "Arrivals Shuttle Oversight") + SSarrivals.failreturnnumber = 0 arrive_time = world.time + travel_time*10 moving_status = SHUTTLE_INTRANSIT move(departing, interim, direction) diff --git a/maps/Aurora-MapDev/aurora-0.dmm b/maps/Aurora-MapDev/aurora-0.dmm index 70aeea7e299..54747de8d3d 100644 --- a/maps/Aurora-MapDev/aurora-0.dmm +++ b/maps/Aurora-MapDev/aurora-0.dmm @@ -1692,7 +1692,7 @@ "Hu" = (/obj/effect/landmark{name = "JoinLate"},/turf/unsimulated/floor{icon_state = "blue"},/area/centcom/spawning) "Hv" = (/obj/structure/window/reinforced{dir = 4},/turf/unsimulated/floor{icon_state = "blue";dir = 4},/area/centcom/spawning) "Hw" = (/turf/simulated/shuttle/wall,/area/shuttle/arrival/centcom) -"Hz" = (/obj/structure/window/shuttle,/obj/structure/grille,/turf/simulated/shuttle/plating,/area/shuttle/arrival/centcom) +"Hz" = (/obj/structure/grille,/obj/structure/window/shuttle/crescent,/turf/simulated/shuttle/plating,/area/shuttle/arrival/centcom) "HD" = (/turf/unsimulated/wall/fakepdoor{name = "shuttle bay blast door"},/area/centcom/spawning) "HE" = (/obj/structure/table/rack,/obj/item/clothing/under/vox/vox_robes,/obj/item/clothing/shoes/magboots/vox,/obj/item/clothing/gloves/yellow/vox,/obj/item/clothing/suit/space/vox/pressure,/obj/item/clothing/head/helmet/space/vox/pressure,/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership/raider_base) "HF" = (/obj/structure/table/rack,/obj/item/weapon/gun/launcher/spikethrower,/obj/item/weapon/gun/launcher/spikethrower,/obj/item/weapon/gun/launcher/spikethrower,/obj/machinery/light/small{dir = 4;pixel_y = 8},/turf/unsimulated/floor{icon_state = "asteroid"},/area/syndicate_mothership/raider_base) @@ -2482,7 +2482,7 @@ aNhvaPjVjVjVjVjVjVjVjVjVifaNaNifIMININIOifaNifififififififififaNifIMININIOifaNaN aNhvaPjVjVjVjVjVjVjVjVjVaNaNaNaNTLJgJhTMaNaNaNaNaNaNaNaNaNaNaNaNaNTLJgJhTMaNaNaNaNhvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyGIQIQIQIQISISISIQIQIQJiJjyEJkJiIQISIUyTyEyEyEyEyEzJyGEZKAKwKyEZFsFtFuEZJmJlJoJnJpEZGPHwHwJrJtHwHzHzHzHwJtJrHwGPGPGPHDaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNhvaPjVjVjVjVjVjVjVjVaNaNaNaNaNTLJgJhTMaNaNaNaNaNaNaNaNaNaNaNaNaNTLJgJhTMaNaNaNaNhvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyGIQIQIQJvJwJwJwIQIQJxzuDbyEICzuJyIQJzyTyEyEyEyEyEzJyGEZRRFtHHEZREFtJAJBJDJCJFJEJpEZGPGPGPJGJHJGGPGPGPJGJHJGGPGPGPGQEZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNhvaPjVjVjVjVjVjVjVjVaNaNaNaNaNJIININJJaNaNaNJIaNaNaNaNaNJJaNaNaNJIININJJaNaNaNaNhvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyGIQISJKJMJLJLyEJNISIQzuzdyEzezuIQISIUyTyEyEyEyEyEzJyGRSKKFtHHEZJOJPJQEZJmJRJTJSJpEZGOGPGPJGRUJGGPJUGPJGRUJGGPGPGPGPEZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN -aNhvaPjVjVjVjVjVaNaNaNaNaNaNaNaNJVJXJWJVaNaNaNJVJYJZJZJZKaJVaNaNaNJVKbKcJVaNaNaNaNhvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyGIQISJKyTKdKdzeJNISIQzuzdyEzezuIQISIUKeKfKfKfKfKfKgyGRVKKFtSaEZJGKhJGEZKjKiKiKiKkEZJGTTJGJGJHJGJGTUJGJGJHJGJGTVJGEZEZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN +aNhvaPjVjVjVjVjVaNaNaNaNaNaNaNaNJVJXJWJVaNaNaNJVJYJZJZJZKaJVaNaNaNJVKbKcJVaNaNaNaNhvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyGIQISJKyTKdKdzeJNISIQzuzdyEzezuIQISIUKeKfKfKfKfKfKgyGRVKKFtSaEZJGKhJGEZKjKiKiKiKkEZJGTTJGJGJHJGJGTTJGJGJHJGJGTTJGEZEZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNhvaPjVjVjVjVjVaNaNaNaNaNaNaNaNJVKmKlJVaNaNJIJVJVKQKoKpKqJVJJaNaNJVKrKsJVaNaNaNaNhvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyGIQISJKyTKdKdzeJNISIQzuzdyEzezuIQISIUKtKuKuKuKuKuKvyGEZKKFtHHEZKxKwSDEZEZEZEZEZEZEZKzKAKwKwKwKwKwKwKwKwKwKwKwKBKzEZEZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaN aNhvaPjVjVjVjVjVaNaNaNaNaNaNaNaNJVKCKDJVaNaNJVJVKEKFKGKFKHJVJVaNaNJVKIKJJVaNaNaNaNhvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyGIQISJKyEDQDQDRJNISIQzuzdyEzezuIQISIUzdyEyEyEyEyEzeyGSdKKFtHHEZKKFtKMKLKNKAKwKBKNKOKwKSFtFtFtFtFtFtFtFtFtFtFtKMKwSDEZaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaUbabeaSbcbdaXaSbgaWbfaVaZbgbabdbcaYbebfaVaZbgbaaUbfaVbbaUaNaNaNaNaNaN aNhvaPjVjVjVjVjVaNaNaNaNaNaNaNaNJVKUJVJVJVJVJVKPKQKQKQKQKQKRJVJVJVJVJVKVJVaNaNaNaNhvaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNyGIQIQIQKTKTKTKWIQIQIQzuyUyEyWzuIQIQKXzdyEyEyEyEyEzeyGEZKKFtHHJGKKFtFtNjKNFtLbFtKNNjFtFtFtFtFtFtFtFtFtFtFtFtFtFtFtSIJGaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNaNbdaWaUaVaZbgaTaVaSbfaXbcaWbeaZbaaUaVaTbcaYbbaSaWbdbcaYbebdaNaNaNaNaNaN diff --git a/maps/Aurora-MapDev/aurora-5.dmm b/maps/Aurora-MapDev/aurora-5.dmm index 785b58fb02c..11431544bf0 100644 --- a/maps/Aurora-MapDev/aurora-5.dmm +++ b/maps/Aurora-MapDev/aurora-5.dmm @@ -70,14 +70,14 @@ "br" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/grille,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/hallway/secondary/entry/dock) "bs" = (/obj/machinery/embedded_controller/radio/airlock/docking_port_multi{frequency = 1380;id_tag = "arrivals_east";master_tag = "arrival_dock";pixel_x = 30;pixel_y = 0;req_one_access = list(13);tag_airlock_mech_sensor = null;tag_airpump = "arrivals_east_pump";tag_chamber_sensor = "arrivals_east_sensor";tag_exterior_door = "arrivals_east_outer";tag_interior_door = "arrivals_east_inner";tag_shuttle_mech_sensor = null},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 2;frequency = 1380;id_tag = "arrivals_east_pump"},/turf/simulated/floor/plating,/area/hallway/secondary/entry/dock) "bt" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/grille,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/hallway/secondary/entry/dock) -"bu" = (/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) -"bv" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1380;icon_state = "door_locked";id_tag = "arrivals_west_inner";locked = 1;name = "Arrivals Airlock";req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/dock) -"bw" = (/obj/effect/floor_decal/corner/blue/full{dir = 1},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) -"bx" = (/obj/machinery/light{tag = "icon-tube1 (NORTH)";icon_state = "tube1";dir = 1},/obj/machinery/camera/network/civilian_east{c_tag = "Surface - Blue Dock Fore"},/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/window/southright,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"bu" = (/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/hidden{dir = 6},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"bv" = (/obj/machinery/door/airlock/external{frequency = 1380;icon_state = "door_locked";id_tag = "arrivals_west_inner";locked = 1;name = "Arrivals Airlock";req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/hallway/secondary/entry/dock) +"bw" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/obj/structure/window/reinforced,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"bx" = (/obj/machinery/atmospherics/valve{dir = 4},/obj/machinery/door/window/southleft,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) "by" = (/turf/simulated/open,/area/turret_protected/tcomsat) "bz" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/camera/network/telecom{c_tag = "Telecomms - Port Wing Fore"},/turf/simulated/open,/area/turret_protected/tcomsat) "bA" = (/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"bB" = (/obj/machinery/atmospherics/pipe/simple/hidden,/obj/machinery/door/airlock/external{frequency = 1380;icon_state = "door_locked";id_tag = "arrivals_east_inner";locked = 1;name = "Arrivals Airlock";req_access = list(13)},/turf/simulated/floor/plating,/area/hallway/secondary/entry/dock) +"bB" = (/obj/machinery/door/airlock/external{frequency = 1380;icon_state = "door_locked";id_tag = "arrivals_east_inner";locked = 1;name = "Arrivals Airlock";req_access = list(13)},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/universal,/turf/simulated/floor/plating,/area/hallway/secondary/entry/dock) "bC" = (/obj/machinery/atmospherics/valve{dir = 4},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "bD" = (/obj/machinery/power/apc{dir = 1;name = "north bump";pixel_x = 0;pixel_y = 24},/obj/machinery/atmospherics/pipe/simple/hidden/cyan{dir = 6;icon_state = "intact"},/obj/structure/cable/blue{d2 = 2;icon_state = "0-2"},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "bE" = (/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) @@ -94,14 +94,14 @@ "bP" = (/obj/machinery/atmospherics/pipe/manifold/hidden/cyan{dir = 1;icon_state = "map"},/obj/machinery/meter,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "bQ" = (/obj/effect/floor_decal/corner/blue{dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) "bR" = (/obj/effect/floor_decal/corner/blue/full{dir = 8},/obj/machinery/embedded_controller/radio/docking_port_multi{child_names_txt = "Airlock One;Airlock Two";child_tags_txt = "arrivals_west;arrivals_east";frequency = 1380;id_tag = "arrival_dock";pixel_y = 25},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) -"bS" = (/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) -"bT" = (/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) -"bU" = (/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5;icon_state = "intact"},/obj/machinery/access_button{command = "cycle_interior";frequency = 1380;master_tag = "arrivals_west";name = "interior access button";pixel_x = 30;pixel_y = 26;req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"bS" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact";dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"bT" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/machinery/atmospherics/pipe/manifold/hidden,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"bU" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 5;icon_state = "intact"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) "bV" = (/obj/machinery/alarm{pixel_y = 22},/obj/effect/floor_decal/corner/blue/full{dir = 1},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) "bW" = (/turf/simulated/floor/asteroid,/area/shuttle/escape/station) "bX" = (/obj/structure/window/reinforced{dir = 4},/turf/simulated/open,/area/turret_protected/tcomsat) "bY" = (/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/unary/vent_pump/on,/turf/simulated/floor/plating,/area/turret_protected/tcomsat) -"bZ" = (/obj/effect/floor_decal/corner/blue{dir = 5},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9;icon_state = "intact"},/obj/machinery/access_button{command = "cycle_interior";frequency = 1380;master_tag = "arrivals_east";name = "interior access button";pixel_x = -30;pixel_y = 26;req_one_access = list(13)},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"bZ" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{tag = "icon-intact-supply (NORTHWEST)";icon_state = "intact-supply";dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden{dir = 9;icon_state = "intact"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) "ca" = (/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "cb" = (/obj/machinery/atmospherics/pipe/simple/hidden/universal,/obj/structure/cable/blue{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) "cc" = (/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/tank/air{dir = 8},/turf/simulated/floor/plating,/area/turret_protected/tcomsat) @@ -197,10 +197,10 @@ "dO" = (/turf/simulated/wall/r_wall,/area/tcommsat/chamber) "dP" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 6},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/tcommsat/chamber) "dQ" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/manifold/hidden/black,/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/tcommsat/chamber) -"dR" = (/obj/structure/bed/chair,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/corner/blue{icon_state = "corner_white";dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"dR" = (/obj/structure/bed/chair,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 8},/obj/effect/floor_decal/corner/blue{icon_state = "corner_white";dir = 5},/obj/effect/landmark{name = "KickoffLocation"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) "dS" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/tcommsat/chamber) "dT" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/black{dir = 10},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/tcommsat/chamber) -"dU" = (/obj/structure/bed/chair,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/corner/blue{icon_state = "corner_white";dir = 5},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"dU" = (/obj/structure/bed/chair,/obj/structure/window/reinforced{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/manifold/hidden/scrubbers{dir = 8},/obj/effect/floor_decal/corner/blue{icon_state = "corner_white";dir = 5},/obj/effect/landmark{name = "KickoffLocation"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) "dV" = (/obj/structure/cable/yellow{d1 = 2;d2 = 8;icon_state = "2-8"},/obj/structure/cable/yellow{d1 = 2;d2 = 4;icon_state = "2-4"},/obj/structure/cable/yellow{d1 = 1;d2 = 2;icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/port) "dW" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/hallway/secondary/entry/fore) "dX" = (/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/fore) @@ -1765,6 +1765,11 @@ "La" = (/obj/effect/floor_decal/corner/blue/full,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) "Lb" = (/obj/effect/floor_decal/corner/blue/full{icon_state = "corner_white_full";dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) "Lc" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 8},/obj/structure/window/reinforced{dir = 4},/obj/machinery/door/firedoor,/turf/simulated/floor/plating,/area/hallway/secondary/entry/dock) +"Ld" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 1},/obj/machinery/atmospherics/pipe/simple/hidden{icon_state = "intact";dir = 4},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"Le" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"Lf" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"Lg" = (/obj/machinery/atmospherics/pipe/manifold/hidden/supply,/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) +"Lh" = (/obj/structure/bed/chair,/obj/structure/window/reinforced{dir = 1},/obj/effect/floor_decal/corner/blue{icon_state = "corner_white";dir = 5},/obj/effect/landmark{name = "KickoffLocation"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/dock) (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -1855,12 +1860,12 @@ aaaaaaaaaaaaajajajajajajajajajajajajajajajajajajaPaXaPaPaPaPaPaPaPaPaPaPaPaPaPaP aaaaaaaaaaaaajajajajajajajajajajajajajajajajajajaPaXaPbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcbcaPajajajajajajajajajajajajajajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdbfbdaaaaaabdbjbdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaajajajaaaaajajajajajajajajajajajajajaPaXaPbcbcbcbgbgbgbgbgbgbgbgbgbgbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabibnbkblblblbmbsboaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaajajaaaaaaaaaaaaaaajajajajajajajajajaPaXaPbcbcbgbgbgbgbgbgbgbgbgbgbgbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhbhajajajajajajaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpJSbrbvbtbubxbwbrbBbtJSbpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajajajajajaPaXaPbcbgbgbgbybybzbAbDbCbPbEbgbhbhbhbhbhbhbhbhbFbhbGbHbIbJbKbLbhbhajajajajajajaaaaaaaaaaaaaaaaaaaaaabMbMbMbMbMbMbMaaaaaaaaaaaabNaaaaaaaaaaaaaaaaJUbRbQbUbSbTbTbTbSbZbQbVJUaaaaaaaaaaaabNaaaaaaaaaaaaaaaabWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaabNaaaaaaaaaaaaaaaaajajajajaPaXaPbcbgbgbybybybXbYcbcacgcccdbhcecfclchcicjbhckbhcscmcmcmcmbLbhbhajajajajajajajajaaaaaaaaaaaaaaaabMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaaaJWcocpJXJXcpcrcpJXJXcpcuJWaaaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajajajaPaXaPaPbgbgbybybybXctcycvcwcxcdbhcAczcCcBcHcDbhckbhcEcmcmcmcmcFbhbhajajajajajajajajajaaaaaaaaaaaabMbMbMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaJWcGcIJXJXcIcMcIJXJXcIcJJWaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaeacacacacacacacacacacacacacaeaaajajajajaPaXaPbcbgbgbybybybycKcLcVcNcKcOcPcQcRcmcmcScTbhcUbhdacWcXcYcYcZbhbhajajajajajajajajajajaaaaaaaaaabMbMbMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaJWddJXJXJXJXdbKnKnKnKndeJWaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajajajajajaPaXaPbcbgbgbgbybybzbAbDbCbPbEbgbhbhbhbhbhbhbhbhbFbhbGbHbIbJbKbLbhbhajajajajajajaaaaaaaaaaaaaaaaaaaaaabMbMbMbMbMbMbMaaaaaaaaaaaabNaaaaaaaaaaaaaaaaJUbRbQbUbSbTbSbSLdbZbQbVJUaaaaaaaaaaaabNaaaaaaaaaaaaaaaabWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaabNaaaaaaaaaaaaaaaaajajajajaPaXaPbcbgbgbybybybXbYcbcacgcccdbhcecfclchcicjbhckbhcscmcmcmcmbLbhbhajajajajajajajajaaaaaaaaaaaaaaaabMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaaaJWcocpJXJXcpcrcpLeJXcpcuJWaaaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajajajajaPaXaPaPbgbgbybybybXctcycvcwcxcdbhcAczcCcBcHcDbhckbhcEcmcmcmcmcFbhbhajajajajajajajajajaaaaaaaaaaaabMbMbMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaJWcGcIJXJXcIcMcILeJXcIcJJWaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaeacacacacacacacacacacacacacaeaaajajajajaPaXaPbcbgbgbybybybycKcLcVcNcKcOcPcQcRcmcmcScTbhcUbhdacWcXcYcYcZbhbhajajajajajajajajajajaaaaaaaaaabMbMbMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaJWddJXJXJXJXdbKnLgKnKndeJWaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaacaaajajajajaPaXaPbcbgbgbybybybXdfdhdgdjdidldkdndmdudmdvbhbhbhbhdobKdpdqbKbKbhbhajajajajajajajajajajajaaaaaaaabMbMbMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaJWcocpJXdrdsdtcpJXJXcpcuJWaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaacaadwdBdxaadwdBdxaadwdBdxaaacaaajajajajaPaXaPbcbgbgbybybybXdDdydzdAdEdFbhdCdGdHcmdKdJdLdIbhbhbhdMbhbhbhbhbhbhajajajajajajajajajaaaaaaaaaabMbMbMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaKxcGcIJXJXcIdUdRJXJXcIcJKxaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaacaadwdBdxaadwdBdxaadwdBdxaaacaaajajajajaPaXaPbcbgbgbybybybXdDdydzdAdEdFbhdCdGdHcmdKdJdLdIbhbhbhdMbhbhbhbhbhbhajajajajajajajajajaaaaaaaaaabMbMbMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaKxcGcIJXJXLhdUdRJXJXcIcJKxaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaacaadwdVdxaadwdVdxaadwdVdxaaacaaaaajajajaPaXaPbcbgbgcadNbybXdDcddOdOdOdOdOdPdQeadSdTbhbhedbhdObXeecdbydNbybgbgajajajajajajajajajajaaaaaaaabMbMbMbMbMbMbMbMbMbMbMaaaaaaaaaaaaaaaaaaaaaaaaaaJSKEKFKFdZefebecehKHKHKJJSaaaaaaaaaaaaaaaaaaaaaaaaaabWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaacaadwdVdxaadwdVdxaadwdVdxaaacaaaaajajajaPaXaPbcbgbgbybybybXejegdOekekekelenemeoekeyeqezepeEdObXeecdbybybybgbgajajajajajajajajajajajaaaaaabMbMbMbMbMbMbMbMbMbMbMaaaaaaaaereseteteteteteuerJSKMKNKOJSeHKQeLJSKMKNKOJSeAeBeCeCeCeCeCeDeAaaaaaaaabWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaacaadwdVdxaadwdVdxaadwdVdxaaacaaaaajajajaPaXaPbcbgbgbybybybXeMeFdOekepepepeGepeNepeGepepepekdObXeecdeIeJeKbgbgbgajajajajajajajajajajaaaabMbMbMbMbMbMbMbMbMbMbMbMbMaaaaaaereSePeTeOePeTeUeQaaaaaaaaJUeHKQeLJUaaaaaaaaeReWeVfaeXeVfafbeAaaaaaabWbWbWbWbWbWbWbWbWbWbWbWbWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa