diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 00000000..f7941621 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "gbasood.byond-dm-language-support", + "platymuus.dm-langclient", + "EditorConfig.EditorConfig", + "dbaeumer.vscode-eslint" + ] +} diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 00000000..b07b0107 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,12 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "type": "byond", + "request": "launch", + "name": "Launch DreamSeeker", + "preLaunchTask": "dm: build - ${command:CurrentDME}", + "dmb": "${workspaceFolder}/${command:CurrentDMB}" + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..4f8e813f --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,12 @@ +{ + "eslint.workingDirectories": [ + "./tgui" + ], + + "workbench.editorAssociations": [ + { + "filenamePattern": "*.dmi", + "viewType": "imagePreview.previewEditor" + } + ] +} \ No newline at end of file diff --git a/_maps/map_files/BoxStation/BoxStation.dmm b/_maps/map_files/BoxStation/BoxStation.dmm index 4955046b..8b88ae4f 100644 --- a/_maps/map_files/BoxStation/BoxStation.dmm +++ b/_maps/map_files/BoxStation/BoxStation.dmm @@ -3642,7 +3642,7 @@ "bsb" = (/obj/structure/chair/office/light{dir = 8},/obj/effect/landmark/start/research_director,/turf/open/floor/carpet/purple,/area/crew_quarters/heads/hor) "bsc" = (/obj/machinery/door/window/eastright{base_state = "left"; dir = 8; icon_state = "left"; name = "Research Division Delivery"; req_access_txt = "47"},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel,/area/science/lab) "bsd" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; dir = 8; freq = 1400; location = "Research Division"},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/science/lab) -"bse" = (/turf/closed/wall/r_wall,/area/science/explab) +"bse" = (/turf/open/floor/plating,/area/science/explab) "bsf" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/machinery/door/poddoor{id = "QMLoaddoor2"; name = "supply dock loading door"},/turf/open/floor/plating,/area/quartermaster/storage) "bsg" = (/obj/structure/plasticflaps,/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/turf/open/floor/plating,/area/quartermaster/storage) "bsh" = (/obj/machinery/conveyor{dir = 4; id = "QMLoad2"},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plating,/area/quartermaster/storage) @@ -3712,11 +3712,11 @@ "btt" = (/obj/machinery/door/poddoor/shutters/preopen{id = "rnd2"; name = "research lab shutters"},/obj/effect/spawner/structure/window,/turf/open/floor/plating,/area/science/lab) "btu" = (/obj/machinery/door/firedoor/heavy,/obj/machinery/door/poddoor/shutters/preopen{id = "rnd2"; name = "research lab shutters"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/lab) "btv" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/firedoor/heavy,/obj/machinery/door/poddoor/shutters/preopen{id = "rnd2"; name = "research lab shutters"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/white,/area/science/lab) -"btw" = (/obj/structure/table,/obj/item/paper_bin{pixel_y = 6},/turf/open/floor/plasteel/white/corner,/area/science/explab) -"btx" = (/obj/structure/table,/obj/item/pen,/obj/machinery/camera{c_tag = "Experimentor Lab"; network = list("ss13","rd")},/obj/item/hand_labeler,/obj/item/stack/packageWrap,/turf/open/floor/plasteel/white/side,/area/science/explab) -"bty" = (/obj/structure/table,/obj/item/folder/white,/obj/item/folder/white,/obj/machinery/airalarm{pixel_y = 23},/obj/item/radio/off,/turf/open/floor/plasteel/white/side,/area/science/explab) -"btz" = (/obj/structure/closet/l3closet/scientist,/turf/open/floor/plasteel/white/side,/area/science/explab) -"btA" = (/obj/structure/closet/emcloset,/turf/open/floor/plasteel/white/corner{dir = 8},/area/science/explab) +"btw" = (/obj/effect/turf_decal/stripes/line{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/sign/poster/official/random{pixel_y = 32},/turf/open/floor/plasteel,/area/science/circuit) +"btx" = (/obj/machinery/power/apc{areastring = "/area/science/circuit"; dir = 4; name = "Circuitry Lab APC"; pixel_x = 30},/obj/structure/cable,/turf/open/floor/plasteel/white,/area/science/circuit) +"bty" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/obj/structure/sign/poster/official/random{pixel_x = -32},/turf/open/floor/plasteel/white,/area/science/circuit) +"btz" = (/obj/effect/turf_decal/stripes/line{dir = 10},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/circuit) +"btA" = (/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel,/area/science/circuit) "btB" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/obj/structure/sign/warning/securearea{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/starboard) "btC" = (/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 4},/obj/machinery/door/airlock/external{dir = 4; name = "Supply Dock Airlock"; req_access_txt = "31"},/turf/open/floor/plating,/area/quartermaster/storage) "btD" = (/turf/open/floor/plating,/area/quartermaster/storage) @@ -3791,13 +3791,13 @@ "buU" = (/obj/structure/disposalpipe/segment{dir = 9},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/open/floor/plasteel/white,/area/science/research) "buV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white/side{dir = 6},/area/science/research) "buW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/research) -"buX" = (/obj/effect/spawner/structure/window,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/science/explab) -"buY" = (/obj/structure/disposalpipe/segment{dir = 6},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"buZ" = (/obj/machinery/firealarm{pixel_y = 24},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1; pixel_y = 16},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/open/floor/plasteel/white,/area/science/explab) -"bva" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"bvb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"bvc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"bvd" = (/obj/machinery/door/airlock/maintenance{dir = 4; name = "Experimentation Lab Maintenance"; req_access_txt = "47"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard) +"buX" = (/obj/effect/spawner/structure/window,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/science/circuit) +"buY" = (/obj/structure/disposalpipe/segment{dir = 6},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/plasteel/white,/area/science/circuit) +"buZ" = (/obj/effect/turf_decal/stripes/line{dir = 9},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/sign/poster/official/random{pixel_y = 32},/turf/open/floor/plasteel,/area/science/circuit) +"bva" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/open/floor/plasteel,/area/science/circuit) +"bvb" = (/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel,/area/science/circuit) +"bvc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "2-4"},/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/plasteel/white,/area/science/circuit) +"bvd" = (/obj/machinery/door/airlock/maintenance{dir = 4; name = "Circuitry Lab Maintenance"; req_access_txt = "47"},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/science/circuit) "bve" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{icon_state = "2-8"},/obj/structure/disposalpipe/junction/flip{dir = 1},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard) "bvf" = (/obj/machinery/camera{c_tag = "Cargo Receiving Dock"; dir = 4},/obj/machinery/button/door{id = "QMLoaddoor"; layer = 4; name = "Loading Doors"; pixel_x = -24; pixel_y = -8},/obj/machinery/button/door{id = "QMLoaddoor2"; layer = 4; name = "Loading Doors"; pixel_x = -24; pixel_y = 8},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel,/area/quartermaster/storage) "bvg" = (/obj/machinery/navbeacon{codes_txt = "delivery;dir=8"; dir = 8; freq = 1400; location = "QM #2"},/obj/effect/turf_decal/bot,/mob/living/simple_animal/bot/mulebot{home_destination = "QM #2"; suffix = "#2"},/turf/open/floor/plasteel,/area/quartermaster/storage) @@ -3857,15 +3857,14 @@ "bwi" = (/obj/structure/cable{icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/research) "bwj" = (/obj/machinery/light,/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/research) "bwk" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/research) -"bwl" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/door/firedoor/heavy,/obj/machinery/door/airlock/research{dir = 4; name = "Experimentation Lab"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"bwm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"bwn" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"bwo" = (/obj/structure/cable{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"bwp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/landmark/event_spawn,/turf/open/floor/plasteel/white,/area/science/explab) -"bwq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"bwr" = (/obj/machinery/holopad,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/open/floor/plasteel/white,/area/science/explab) -"bws" = (/obj/machinery/power/apc{areastring = "/area/science/explab"; dir = 4; name = "Experimentation Lab APC"; pixel_x = 26},/obj/structure/cable,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) -"bwt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/closed/wall/r_wall,/area/science/explab) +"bwl" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/door/firedoor/heavy,/obj/machinery/door/airlock/research{dir = 4; name = "Circuitry Lab"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/circuit) +"bwm" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/white,/area/science/circuit) +"bwn" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/open/floor/plasteel,/area/science/circuit) +"bwp" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/science/circuit) +"bwq" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/science/circuit) +"bwr" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/turf/open/floor/plasteel,/area/science/circuit) +"bws" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{icon_state = "1-8"},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/white,/area/science/circuit) +"bwt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/closed/wall/r_wall,/area/science/circuit) "bwu" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard) "bwv" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/closed/wall,/area/maintenance/starboard) "bww" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/maintenance/starboard) @@ -3924,11 +3923,9 @@ "bxx" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white/side{dir = 9},/area/science/research) "bxy" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/crew_quarters/heads/hor) "bxz" = (/turf/closed/wall,/area/crew_quarters/heads/hor) -"bxA" = (/obj/machinery/light_switch{pixel_x = -20},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/white,/area/science/explab) -"bxB" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_y = -30; receive_ore_updates = 1},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/turf/open/floor/plasteel/white,/area/science/explab) -"bxC" = (/turf/open/floor/plasteel/white,/area/science/explab) -"bxD" = (/obj/structure/chair/office/light,/obj/effect/landmark/start/scientist,/turf/open/floor/plasteel/white,/area/science/explab) -"bxE" = (/obj/structure/extinguisher_cabinet{pixel_x = 5; pixel_y = -32},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/plasteel/white,/area/science/explab) +"bxA" = (/obj/structure/disposalpipe/segment,/obj/structure/extinguisher_cabinet{pixel_x = -27},/turf/open/floor/plasteel/white,/area/science/circuit) +"bxD" = (/obj/structure/target_stake,/turf/open/floor/plasteel,/area/science/circuit) +"bxE" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/circuit) "bxF" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/starboard) "bxG" = (/obj/machinery/door/airlock/maintenance/abandoned{dir = 4; req_one_access_txt = "8;12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plating,/area/maintenance/starboard) "bxH" = (/turf/open/floor/plating,/area/maintenance/starboard) @@ -4007,12 +4004,11 @@ "bzc" = (/obj/structure/rack,/obj/item/circuitboard/aicore{pixel_x = -2; pixel_y = 4},/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor) "bzd" = (/obj/machinery/status_display/ai{pixel_y = 32},/obj/effect/landmark/event_spawn,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor) "bze" = (/obj/effect/landmark/xmastree/rdrod,/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor) -"bzf" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel,/area/science/explab) -"bzg" = (/turf/closed/wall,/area/science/explab) -"bzh" = (/obj/structure/table,/obj/item/clipboard,/obj/item/book/manual/wiki/experimentor,/turf/open/floor/plasteel/white/corner{dir = 4},/area/science/explab) -"bzi" = (/obj/machinery/computer/rdconsole/experiment{dir = 1},/turf/open/floor/plasteel/white/side{dir = 1},/area/science/explab) -"bzj" = (/obj/structure/closet/radiation,/turf/open/floor/plasteel/white/corner{dir = 1},/area/science/explab) -"bzk" = (/obj/machinery/button/door{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 25; req_access_txt = "47"},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/science/explab) +"bzf" = (/obj/structure/disposalpipe/segment,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/turf/open/floor/plasteel/white,/area/science/circuit) +"bzg" = (/obj/effect/turf_decal/stripes/line{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/circuit) +"bzi" = (/obj/effect/landmark/event_spawn,/turf/open/floor/plasteel,/area/science/circuit) +"bzj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/science/circuit) +"bzk" = (/obj/machinery/airalarm{dir = 8; pixel_x = 24},/turf/open/floor/plasteel/white,/area/science/circuit) "bzl" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 6},/turf/open/floor/plating,/area/maintenance/starboard) "bzm" = (/obj/machinery/atmospherics/components/binary/valve{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard) "bzn" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/machinery/light/small{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard) @@ -4069,9 +4065,9 @@ "bAm" = (/obj/structure/rack,/obj/item/aicard,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor) "bAn" = (/obj/machinery/holopad,/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor) "bAo" = (/obj/structure/displaycase/labcage,/obj/machinery/light{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor) -"bAp" = (/turf/closed/wall/r_wall,/area/crew_quarters/heads/hor) -"bAq" = (/obj/machinery/door/poddoor/preopen{id = "telelab"; name = "test chamber blast door"},/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/firedoor/heavy,/turf/open/floor/engine,/area/science/explab) -"bAr" = (/obj/machinery/door/poddoor/preopen{id = "telelab"; name = "test chamber blast door"},/obj/machinery/door/firedoor/heavy,/turf/open/floor/engine,/area/science/explab) +"bAp" = (/obj/effect/turf_decal/stripes/line{dir = 6},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/circuit) +"bAq" = (/obj/effect/turf_decal/stripes/line,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/science/circuit) +"bAr" = (/obj/structure/closet/crate,/obj/item/target/alien,/obj/item/target/alien,/obj/item/target/clown,/obj/item/target/clown,/obj/item/target/syndicate,/obj/item/target/syndicate,/obj/item/gun/energy/laser/practice,/obj/item/gun/energy/laser/practice,/obj/machinery/light_switch{pixel_x = 20},/turf/open/floor/plasteel/white,/area/science/circuit) "bAs" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/turf/open/floor/plating,/area/maintenance/starboard) "bAt" = (/obj/machinery/atmospherics/components/unary/thermomachine/freezer{dir = 8},/turf/open/floor/plating,/area/maintenance/starboard) "bAu" = (/obj/machinery/requests_console{department = "Cargo Bay"; departmentType = 2; pixel_x = -30},/obj/machinery/computer/bounty{dir = 4},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown{dir = 4},/obj/effect/turf_decal/tile/brown{dir = 8},/obj/machinery/keycard_auth{pixel_y = 25},/turf/open/floor/plasteel,/area/quartermaster/qm) @@ -4143,7 +4139,7 @@ "bBI" = (/obj/structure/rack,/obj/item/taperecorder{pixel_x = -3},/obj/item/paicard{pixel_x = 4},/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor) "bBJ" = (/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor) "bBK" = (/obj/machinery/modular_computer/console/preset/research{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel/white,/area/crew_quarters/heads/hor) -"bBL" = (/turf/open/floor/engine,/area/science/explab) +"bBL" = (/obj/structure/table/reinforced,/obj/item/multitool,/obj/item/screwdriver,/obj/machinery/computer/security/telescreen/circuitry{dir = 4; pixel_x = -28},/turf/open/floor/plasteel/white,/area/science/circuit) "bBM" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plating,/area/maintenance/starboard) "bBN" = (/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plating,/area/maintenance/starboard) "bBO" = (/obj/machinery/power/apc{areastring = "/area/maintenance/starboard"; dir = 4; name = "Starboard Maintenance APC"; pixel_x = 26},/obj/structure/cable{icon_state = "0-8"},/turf/open/floor/plating,/area/maintenance/starboard) @@ -4202,8 +4198,8 @@ "bCP" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 1},/turf/open/floor/plasteel/cafeteria,/area/crew_quarters/heads/hor) "bCQ" = (/obj/machinery/suit_storage_unit/rd,/turf/open/floor/plasteel/cafeteria,/area/crew_quarters/heads/hor) "bCR" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/cafeteria,/area/crew_quarters/heads/cmo) -"bCS" = (/obj/machinery/rnd/experimentor,/turf/open/floor/engine,/area/science/explab) -"bCT" = (/obj/effect/landmark/blobstart,/obj/effect/landmark/xeno_spawn,/turf/open/floor/engine,/area/science/explab) +"bCS" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/turf/open/floor/plasteel/white,/area/science/circuit) +"bCT" = (/obj/structure/table/reinforced,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/stock_parts/cell/high,/obj/item/stock_parts/cell/high,/obj/item/stock_parts/cell/high,/obj/item/stock_parts/cell/high,/obj/item/stock_parts/cell/high,/obj/item/stock_parts/cell/high,/turf/open/floor/plasteel/white,/area/science/circuit) "bCU" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plating,/area/maintenance/starboard) "bCV" = (/obj/machinery/atmospherics/components/unary/thermomachine/heater{dir = 8},/turf/open/floor/plating,/area/maintenance/starboard) "bCW" = (/obj/machinery/camera{c_tag = "Quartermaster's Office"; dir = 4},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = -35},/obj/machinery/status_display/supply{pixel_x = -32},/obj/machinery/computer/security/qm{dir = 4},/obj/effect/turf_decal/tile/brown{dir = 1},/obj/effect/turf_decal/tile/brown,/obj/effect/turf_decal/tile/brown{dir = 8},/turf/open/floor/plasteel,/area/quartermaster/qm) @@ -4279,7 +4275,7 @@ "bEo" = (/obj/structure/chair{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/cafeteria,/area/crew_quarters/heads/cmo) "bEp" = (/obj/structure/disposalpipe/segment,/obj/machinery/light_switch{pixel_x = 28},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/cafeteria,/area/crew_quarters/heads/cmo) "bEq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 8},/turf/open/floor/plasteel/cafeteria,/area/crew_quarters/heads/cmo) -"bEr" = (/obj/machinery/camera{c_tag = "Experimentor Lab Chamber"; dir = 1; network = list("ss13","rd")},/obj/machinery/light,/obj/structure/sign/warning/nosmoking{pixel_y = -32},/turf/open/floor/engine,/area/science/explab) +"bEr" = (/obj/structure/table/reinforced,/obj/item/storage/fancy/donut_box,/obj/structure/sign/poster/official/random{pixel_y = -32},/obj/machinery/camera{c_tag = "Circuitry Lab"; dir = 1; network = list("ss13","rd")},/turf/open/floor/plasteel/white,/area/science/circuit) "bEs" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plating,/area/maintenance/starboard) "bEt" = (/obj/machinery/door/airlock/maintenance/abandoned{dir = 4; req_one_access_txt = "8;12"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plating,/area/maintenance/starboard) "bEu" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/obj/structure/cable{icon_state = "1-8"},/turf/open/floor/plating,/area/maintenance/starboard) @@ -4379,8 +4375,8 @@ "bGk" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{dir = 4; name = "Central Access"},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/turf/open/floor/plasteel,/area/hallway/primary/starboard) "bGl" = (/turf/open/floor/engine,/area/science/xenobiology) "bGm" = (/obj/machinery/camera{c_tag = "Xenobiology Test Chamber"; network = list("xeno","rd")},/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/engine,/area/science/xenobiology) -"bGn" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel,/area/science/storage) -"bGo" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/structure/sign/warning/nosmoking{pixel_y = 32},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel,/area/science/storage) +"bGn" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/effect/turf_decal/delivery,/turf/open/floor/engine,/area/science/storage) +"bGo" = (/obj/machinery/portable_atmospherics/canister/toxins,/obj/structure/sign/warning/nosmoking{pixel_y = 32},/obj/effect/turf_decal/delivery,/obj/machinery/light/small{dir = 1},/turf/open/floor/engine,/area/science/storage) "bGp" = (/obj/machinery/power/apc{areastring = "/area/science/research"; dir = 8; name = "Misc Research APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"},/turf/open/floor/plasteel/white/side{dir = 5},/area/science/research) "bGq" = (/obj/structure/cable{icon_state = "1-8"},/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/white,/area/science/research) "bGr" = (/turf/open/floor/plasteel/white/side{dir = 9},/area/science/research) @@ -4453,11 +4449,11 @@ "bHG" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/public/glass{dir = 4; name = "Central Access"},/turf/open/floor/plasteel,/area/hallway/primary/starboard) "bHH" = (/obj/machinery/door/airlock/public/glass{dir = 4; name = "Central Access"},/turf/open/floor/plasteel,/area/hallway/primary/starboard) "bHI" = (/obj/structure/table,/obj/machinery/button/door{id = "Biohazard"; name = "Biohazard Shutter Control"; pixel_x = -5; pixel_y = 5; req_access_txt = "47"},/obj/machinery/button/door{id = "rnd2"; name = "Research Lab Shutter Control"; pixel_x = 5; pixel_y = 5; req_access_txt = "47"},/obj/item/book/lorebooks/welcome_to_kinaris{step_x = 0; step_y = 0},/turf/open/floor/carpet/purple,/area/crew_quarters/heads/hor) -"bHJ" = (/obj/machinery/airalarm{dir = 4; pixel_x = -22},/obj/machinery/light/small{dir = 8},/turf/open/floor/plasteel,/area/science/storage) -"bHK" = (/turf/open/floor/plasteel,/area/science/storage) -"bHL" = (/obj/effect/decal/cleanable/oil,/obj/item/cigbutt,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4},/turf/open/floor/plasteel,/area/science/storage) -"bHM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel,/area/science/storage) -"bHN" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/light/small{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel,/area/science/storage) +"bHJ" = (/obj/machinery/airalarm{dir = 4; pixel_x = -22},/turf/open/floor/plasteel/white,/area/science/storage) +"bHK" = (/turf/open/floor/plasteel/white,/area/science/storage) +"bHL" = (/obj/effect/decal/cleanable/oil,/obj/item/cigbutt,/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4},/turf/open/floor/plasteel/white,/area/science/storage) +"bHM" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/storage) +"bHN" = (/obj/machinery/light_switch{pixel_x = 27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/storage) "bHO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/closed/wall,/area/science/storage) "bHP" = (/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white/side{dir = 5},/area/science/research) "bHQ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/open/floor/plasteel/white,/area/science/research) @@ -4527,11 +4523,11 @@ "bJc" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plating,/area/maintenance/aft) "bJd" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/sorting/mail{sortType = 10},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/aft) "bJe" = (/obj/effect/landmark/event_spawn,/turf/open/floor/engine,/area/science/xenobiology) -"bJf" = (/obj/machinery/power/apc{areastring = "/area/science/storage"; dir = 8; name = "Toxins Storage APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"},/obj/machinery/camera{c_tag = "Toxins Storage"; dir = 4; network = list("ss13","rd")},/turf/open/floor/plasteel,/area/science/storage) -"bJg" = (/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/science/storage) -"bJh" = (/obj/structure/cable{icon_state = "4-8"},/obj/effect/landmark/xeno_spawn,/turf/open/floor/plasteel,/area/science/storage) -"bJi" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/turf/open/floor/plasteel,/area/science/storage) -"bJj" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/door/airlock/research{dir = 4; name = "Toxins Storage"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel,/area/science/storage) +"bJf" = (/obj/machinery/power/apc{areastring = "/area/science/storage"; dir = 8; name = "Toxins Storage APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"},/obj/machinery/camera{c_tag = "Toxins Storage"; dir = 4; network = list("ss13","rd")},/turf/open/floor/plasteel/white,/area/science/storage) +"bJg" = (/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/white,/area/science/storage) +"bJh" = (/obj/structure/cable{icon_state = "4-8"},/obj/effect/landmark/xeno_spawn,/turf/open/floor/plasteel/white,/area/science/storage) +"bJi" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 4},/turf/open/floor/plasteel/white,/area/science/storage) +"bJj" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/door/airlock/research{dir = 4; name = "Toxins Storage"; req_access_txt = "8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/storage) "bJk" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/open/floor/plasteel/white/side{dir = 5},/area/science/research) "bJl" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/research) "bJm" = (/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/science/research) @@ -4600,10 +4596,10 @@ "bKx" = (/obj/structure/table/reinforced,/obj/item/clipboard,/obj/item/paper/monitorkey,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/item/book/lorebooks/welcome_to_kinaris{step_x = 0; step_y = 0},/turf/open/floor/plasteel,/area/crew_quarters/heads/chief) "bKB" = (/obj/structure/sign/warning/electricshock,/turf/closed/wall/r_wall,/area/science/xenobiology) "bKC" = (/obj/structure/disposaloutlet{dir = 1},/obj/structure/disposalpipe/trunk,/turf/open/floor/engine,/area/science/xenobiology) -"bKD" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/science/storage) -"bKE" = (/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/science/storage) -"bKF" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/science/storage) -"bKG" = (/obj/machinery/portable_atmospherics/scrubber/huge,/turf/open/floor/plasteel,/area/science/storage) +"bKD" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/obj/effect/turf_decal/bot,/turf/open/floor/engine,/area/science/storage) +"bKE" = (/obj/machinery/portable_atmospherics/canister/nitrous_oxide,/obj/effect/turf_decal/bot,/turf/open/floor/engine,/area/science/storage) +"bKF" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/turf_decal/bot,/turf/open/floor/engine,/area/science/storage) +"bKG" = (/obj/machinery/portable_atmospherics/scrubber/huge,/turf/open/floor/engine,/area/science/storage) "bKH" = (/obj/structure/sign/warning/nosmoking{pixel_x = -32},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/white/side{dir = 5},/area/science/research) "bKI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/research) "bKJ" = (/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel/white,/area/science/research) @@ -4673,7 +4669,7 @@ "bLV" = (/obj/structure/closet/l3closet/scientist{pixel_x = -2},/turf/open/floor/plasteel/white,/area/science/mixing) "bLW" = (/obj/machinery/vending/wardrobe/science_wardrobe,/turf/open/floor/plasteel/white,/area/science/mixing) "bLX" = (/obj/item/assembly/signaler{pixel_y = 8},/obj/item/assembly/signaler{pixel_x = -8; pixel_y = 5},/obj/item/assembly/signaler{pixel_x = 6; pixel_y = 5},/obj/item/assembly/signaler{pixel_x = -2; pixel_y = -2},/obj/structure/table/reinforced,/turf/open/floor/plasteel/white,/area/science/mixing) -"bLY" = (/obj/item/transfer_valve{pixel_x = -5},/obj/item/transfer_valve{pixel_x = -5},/obj/item/transfer_valve,/obj/item/transfer_valve,/obj/item/transfer_valve{pixel_x = 5},/obj/item/transfer_valve{pixel_x = 5},/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_y = -30; receive_ore_updates = 1},/obj/structure/table/reinforced,/turf/open/floor/plasteel/white,/area/science/mixing) +"bLY" = (/obj/item/transfer_valve{pixel_x = -5},/obj/item/transfer_valve{pixel_x = -5},/obj/item/transfer_valve,/obj/item/transfer_valve,/obj/item/transfer_valve{pixel_x = 5},/obj/item/transfer_valve{pixel_x = 5},/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_y = -30; receive_ore_updates = 1},/obj/structure/table/reinforced,/obj/machinery/light,/turf/open/floor/plasteel/white,/area/science/mixing) "bLZ" = (/obj/item/assembly/timer{pixel_x = 5; pixel_y = 4},/obj/item/assembly/timer{pixel_x = -4; pixel_y = 2},/obj/item/assembly/timer{pixel_x = 6; pixel_y = -4},/obj/item/assembly/timer,/obj/structure/table/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/white,/area/science/mixing) "bMa" = (/obj/structure/tank_dispenser,/turf/open/floor/plasteel/white,/area/science/mixing) "bMb" = (/obj/machinery/power/apc{areastring = "/area/science/mixing"; dir = 4; name = "Toxins Lab APC"; pixel_x = 26},/obj/structure/cable,/turf/open/floor/plasteel/white,/area/science/mixing) @@ -4795,9 +4791,9 @@ "bOn" = (/turf/open/floor/plasteel/white,/area/science/xenobiology) "bOo" = (/obj/structure/chair/stool,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bOp" = (/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/white,/area/science/xenobiology) -"bOq" = (/obj/machinery/monkey_recycler,/obj/machinery/firealarm{pixel_y = 24},/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel,/area/science/xenobiology) -"bOr" = (/obj/machinery/processor/slime,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel,/area/science/xenobiology) -"bOs" = (/obj/machinery/smartfridge/extract/preloaded,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel,/area/science/xenobiology) +"bOq" = (/obj/machinery/firealarm{pixel_y = 24},/obj/effect/turf_decal/stripes/line{dir = 10},/obj/structure/table,/turf/open/floor/plasteel,/area/science/xenobiology) +"bOr" = (/obj/effect/turf_decal/stripes/line,/obj/structure/rack,/obj/item/clothing/shoes/winterboots,/obj/item/clothing/suit/hooded/wintercoat,/turf/open/floor/plasteel,/area/science/xenobiology) +"bOs" = (/obj/effect/turf_decal/stripes/line,/obj/machinery/monkey_recycler,/turf/open/floor/plasteel,/area/science/xenobiology) "bOt" = (/obj/machinery/airalarm{pixel_y = 23},/obj/structure/table/glass,/obj/machinery/reagentgrinder{desc = "Used to grind things up into raw materials and liquids."; pixel_y = 5},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel,/area/science/xenobiology) "bOu" = (/obj/structure/closet/l3closet/scientist,/obj/item/extinguisher,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel,/area/science/xenobiology) "bOv" = (/obj/structure/closet/l3closet/scientist,/obj/machinery/light_switch{pixel_y = 28},/obj/item/extinguisher,/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel,/area/science/xenobiology) @@ -4844,7 +4840,7 @@ "bPk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/maintenance{dir = 4; name = "Xenobiology Maintenance"; req_access_txt = "55"},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/aft) "bPl" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "1-8"},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bPm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) -"bPn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) +"bPn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/processor/slime,/turf/open/floor/plasteel/white,/area/science/xenobiology) "bPo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/components/unary/vent_scrubber/on,/turf/open/floor/plasteel/white,/area/science/xenobiology) "bPp" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bPq" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) @@ -4859,7 +4855,7 @@ "bPz" = (/obj/machinery/door/airlock/research/glass/incinerator/toxmix_interior{dir = 4},/turf/open/floor/engine,/area/science/mixing) "bPA" = (/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/science/mixing) "bPB" = (/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/science/mixing) -"bPC" = (/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/machinery/camera{c_tag = "Toxins Lab East"; dir = 8; network = list("ss13","rd"); pixel_y = -22},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel,/area/science/mixing) +"bPC" = (/obj/structure/extinguisher_cabinet{pixel_x = 27},/obj/machinery/camera{c_tag = "Toxins Lab East"; dir = 8; network = list("ss13","rd"); pixel_y = -22},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/light{dir = 4},/turf/open/floor/plasteel,/area/science/mixing) "bPD" = (/obj/structure/reagent_dispensers/watertank,/turf/open/floor/plating,/area/maintenance/starboard/aft) "bPE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) "bPF" = (/obj/structure/closet/wardrobe/grey,/turf/open/floor/plating,/area/maintenance/starboard/aft) @@ -4908,9 +4904,9 @@ "bQw" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/obj/structure/sign/warning/securearea{pixel_x = 32},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/aft) "bQx" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/closed/wall/r_wall,/area/science/xenobiology) "bQy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) -"bQz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/chair/comfy/black,/turf/open/floor/plasteel/white,/area/science/xenobiology) -"bQA" = (/obj/effect/landmark/start/scientist,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/chair/comfy/black,/turf/open/floor/plasteel/white,/area/science/xenobiology) -"bQB" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/xenobiology) +"bQz" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/chair/comfy/black{dir = 8},/turf/open/floor/plasteel/white,/area/science/xenobiology) +"bQA" = (/obj/effect/landmark/start/scientist,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/chair/comfy/black{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) +"bQB" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/obj/machinery/computer/camera_advanced/xenobio{dir = 8},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bQC" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/holopad,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bQD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bQE" = (/obj/structure/chair/stool,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) @@ -4919,9 +4915,9 @@ "bQH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/open/floor/plasteel/white/side{dir = 1},/area/science/research) "bQI" = (/turf/open/floor/plasteel/white/side{dir = 1},/area/science/research) "bQJ" = (/obj/machinery/sparker/toxmix{pixel_x = 25},/obj/machinery/atmospherics/components/unary/outlet_injector/atmos/toxins_mixing_input{dir = 4},/turf/open/floor/engine/vacuum,/area/science/mixing) -"bQK" = (/obj/structure/sign/warning/fire{pixel_y = -32},/obj/machinery/atmospherics/components/binary/pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/engine,/area/science/mixing) +"bQK" = (/obj/structure/sign/warning/fire{pixel_y = -32},/obj/machinery/atmospherics/components/binary/pump/on{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/light,/turf/open/floor/engine,/area/science/mixing) "bQL" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/meter,/obj/machinery/button/door/incinerator_vent_toxmix{pixel_x = -25; pixel_y = 5},/obj/machinery/button/ignition/incinerator/toxmix{pixel_x = -25; pixel_y = -5},/obj/effect/turf_decal/stripes/corner{dir = 4},/turf/open/floor/plasteel/white,/area/science/mixing) -"bQM" = (/obj/machinery/light,/obj/machinery/atmospherics/components/binary/valve{dir = 4; name = "port to mix"},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/science/mixing) +"bQM" = (/obj/machinery/atmospherics/components/binary/valve{dir = 4; name = "port to mix"},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel/white,/area/science/mixing) "bQN" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel,/area/science/mixing) "bQO" = (/turf/open/floor/plating,/area/maintenance/starboard/aft) "bQP" = (/obj/structure/disposalpipe/segment{dir = 5},/obj/structure/cable{icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/open/floor/plating,/area/maintenance/starboard/aft) @@ -4972,9 +4968,9 @@ "bRI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/mob/living/carbon/monkey,/turf/open/floor/plasteel/white,/area/medical/virology) "bRJ" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 4},/turf/closed/wall/r_wall,/area/medical/virology) "bRK" = (/obj/machinery/disposal/bin,/obj/structure/sign/warning/deathsposal{pixel_y = -32},/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel,/area/science/xenobiology) -"bRL" = (/obj/machinery/computer/camera_advanced/xenobio{dir = 1},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel,/area/science/xenobiology) -"bRM" = (/obj/structure/table/glass,/obj/item/storage/box/beakers{pixel_x = 2; pixel_y = 7},/obj/item/storage/box/syringes{pixel_y = 5},/obj/item/storage/box/monkeycubes{pixel_x = 2; pixel_y = -2},/obj/item/storage/box/monkeycubes,/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel,/area/science/xenobiology) -"bRN" = (/obj/structure/table/glass,/obj/item/paper_bin{pixel_y = 4},/obj/item/folder/white{pixel_x = 4; pixel_y = 4},/obj/item/pen{pixel_x = -4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel,/area/science/xenobiology) +"bRL" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/structure/table/glass,/turf/open/floor/plasteel,/area/science/xenobiology) +"bRM" = (/obj/machinery/light,/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/smartfridge/extract/preloaded,/turf/open/floor/plasteel,/area/science/xenobiology) +"bRN" = (/obj/structure/table/glass,/obj/item/paper_bin{pixel_y = 4},/obj/item/folder/white{pixel_x = 4; pixel_y = 4},/obj/item/pen{pixel_x = -4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 5},/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel,/area/science/xenobiology) "bRO" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bRP" = (/obj/structure/disposalpipe/segment{dir = 10},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bRQ" = (/obj/effect/turf_decal/stripes/line{dir = 9},/obj/machinery/portable_atmospherics/canister/bz,/turf/open/floor/plasteel,/area/science/xenobiology) @@ -4986,9 +4982,8 @@ "bRW" = (/obj/machinery/door/airlock/research{name = "Testing Lab"; req_access_txt = "47"},/turf/open/floor/plasteel,/area/science/misc_lab) "bRX" = (/turf/closed/wall,/area/science/misc_lab) "bRY" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/closed/wall/r_wall,/area/science/mixing) -"bRZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/closed/wall/r_wall,/area/science/circuit) -"bSa" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/closed/wall,/area/science/circuit) -"bSb" = (/turf/closed/wall,/area/science/circuit) +"bRZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/closed/wall/r_wall,/area/science/mixing) +"bSb" = (/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/science/mixing) "bSc" = (/turf/closed/wall/r_wall,/area/science/circuit) "bSd" = (/obj/effect/spawner/lootdrop/maintenance,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plating,/area/maintenance/starboard/aft) "bSe" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) @@ -5049,15 +5044,13 @@ "bTh" = (/turf/open/floor/plasteel,/area/science/misc_lab) "bTi" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_y = 30; receive_ore_updates = 1},/turf/open/floor/plasteel,/area/science/misc_lab) "bTj" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/obj/item/storage/toolbox/mechanical,/obj/item/clothing/ears/earmuffs,/obj/machinery/camera{c_tag = "Testing Lab North"; network = list("ss13","rd")},/turf/open/floor/plasteel,/area/science/misc_lab) -"bTk" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/turf/open/floor/engine,/area/science/misc_lab) -"bTl" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 1},/turf/open/floor/engine,/area/science/misc_lab) -"bTm" = (/obj/machinery/atmospherics/components/trinary/filter{dir = 4},/turf/open/floor/engine,/area/science/misc_lab) -"bTn" = (/obj/machinery/atmospherics/components/unary/thermomachine/heater{dir = 8},/turf/open/floor/engine,/area/science/misc_lab) -"bTo" = (/obj/structure/table/reinforced,/obj/item/integrated_circuit_printer,/obj/machinery/computer/security/telescreen/circuitry{pixel_y = 30},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) -"bTp" = (/obj/structure/table/reinforced,/obj/item/multitool,/obj/item/screwdriver,/obj/machinery/camera{c_tag = "Circuitry Lab North"; network = list("ss13","rd")},/turf/open/floor/plasteel/white,/area/science/circuit) -"bTq" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 1; pixel_y = 16},/obj/item/stack/sheet/metal/ten,/turf/open/floor/plasteel/white,/area/science/circuit) -"bTr" = (/obj/structure/sign/poster/official/random{pixel_y = 32},/turf/open/floor/plasteel/white,/area/science/circuit) -"bTs" = (/obj/machinery/vending/assist,/turf/open/floor/plasteel/white,/area/science/circuit) +"bTk" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/plasteel/white,/area/science/circuit) +"bTl" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) +"bTm" = (/obj/machinery/vending/assist,/turf/open/floor/plasteel/white,/area/science/circuit) +"bTn" = (/obj/structure/table/reinforced,/obj/item/multitool,/obj/item/screwdriver,/obj/machinery/computer/security/telescreen/circuitry{dir = 8; pixel_x = 28},/turf/open/floor/plasteel/white,/area/science/circuit) +"bTq" = (/obj/machinery/atmospherics/components/trinary/filter{dir = 4},/turf/open/floor/engine,/area/science/mixing) +"bTr" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 1},/turf/open/floor/engine,/area/science/mixing) +"bTs" = (/obj/machinery/atmospherics/components/unary/thermomachine/heater{dir = 8},/turf/open/floor/engine,/area/science/mixing) "bTt" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plating,/area/maintenance/starboard/aft) "bTu" = (/obj/effect/spawner/structure/window,/turf/open/floor/plating,/area/maintenance/port/aft) "bTv" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plating,/area/maintenance/port/aft) @@ -5101,7 +5094,7 @@ "bUh" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/virology/glass{name = "Monkey Pen"; req_access_txt = "39"},/turf/open/floor/plasteel/white,/area/medical/virology) "bUi" = (/obj/structure/disposalpipe/trunk{dir = 4},/obj/structure/disposaloutlet,/turf/open/floor/engine,/area/science/xenobiology) "bUj" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/engine,/area/science/xenobiology) -"bUk" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio3"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) +"bUk" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/sign/warning/biohazard,/turf/open/floor/plating,/area/science/xenobiology) "bUl" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/window/reinforced,/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plasteel,/area/science/xenobiology) "bUm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-4"},/obj/structure/cable{icon_state = "1-2"},/obj/effect/landmark/event_spawn,/turf/open/floor/plasteel/white,/area/science/xenobiology) "bUn" = (/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/white,/area/science/xenobiology) @@ -5110,15 +5103,15 @@ "bUq" = (/obj/structure/closet/l3closet/scientist{pixel_x = -2},/turf/open/floor/plasteel,/area/science/misc_lab) "bUr" = (/obj/structure/chair/stool,/turf/open/floor/plasteel,/area/science/misc_lab) "bUs" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 4},/obj/item/electropack,/obj/item/healthanalyzer,/obj/item/assembly/signaler,/turf/open/floor/plasteel,/area/science/misc_lab) -"bUt" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 4},/turf/open/floor/engine,/area/science/misc_lab) -"bUu" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/machinery/meter,/turf/open/floor/engine,/area/science/misc_lab) -"bUv" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/turf/open/floor/engine,/area/science/misc_lab) -"bUw" = (/obj/machinery/atmospherics/components/unary/thermomachine/freezer{dir = 8},/turf/open/floor/engine,/area/science/misc_lab) -"bUx" = (/obj/structure/table/reinforced,/obj/machinery/firealarm{dir = 8; pixel_x = -24},/obj/item/stock_parts/cell/high,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) -"bUy" = (/obj/effect/landmark/start/scientist,/obj/structure/chair/office/light{dir = 1},/turf/open/floor/plasteel/white,/area/science/circuit) -"bUz" = (/obj/structure/table/reinforced,/obj/item/integrated_electronics/analyzer,/obj/item/integrated_electronics/debugger,/obj/item/integrated_electronics/wirer,/turf/open/floor/plasteel/white,/area/science/circuit) -"bUA" = (/turf/open/floor/plasteel/white,/area/science/circuit) -"bUB" = (/obj/structure/table/reinforced,/obj/item/storage/fancy/donut_box,/turf/open/floor/plasteel/white,/area/science/circuit) +"bUt" = (/obj/structure/table/reinforced,/obj/item/integrated_circuit_printer,/turf/open/floor/plasteel/white,/area/science/circuit) +"bUu" = (/obj/structure/chair/office/light{dir = 8},/obj/effect/landmark/start/scientist,/turf/open/floor/plasteel/white,/area/science/circuit) +"bUv" = (/obj/structure/chair/office/light{dir = 4},/obj/effect/landmark/start/scientist,/turf/open/floor/plasteel/white,/area/science/circuit) +"bUw" = (/obj/structure/table/reinforced,/obj/item/integrated_electronics/analyzer,/obj/item/integrated_electronics/debugger,/obj/item/integrated_electronics/wirer,/obj/item/radio/intercom{pixel_x = -30},/obj/machinery/light,/turf/open/floor/plasteel/white,/area/science/circuit) +"bUx" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/light{dir = 8},/turf/open/floor/engine,/area/science/mixing) +"bUy" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 4},/turf/open/floor/engine,/area/science/mixing) +"bUz" = (/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/machinery/meter,/turf/open/floor/engine,/area/science/mixing) +"bUA" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/turf/open/floor/engine,/area/science/mixing) +"bUB" = (/obj/machinery/atmospherics/components/unary/thermomachine/freezer{dir = 8},/turf/open/floor/engine,/area/science/mixing) "bUC" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/starboard/aft) "bUD" = (/obj/effect/spawner/lootdrop/crate_spawner,/turf/open/floor/plating,/area/maintenance/port/aft) "bUE" = (/obj/effect/spawner/lootdrop/grille_or_trash,/turf/open/floor/plating,/area/maintenance/port/aft) @@ -5158,7 +5151,7 @@ "bVm" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/firealarm{pixel_y = 25},/turf/open/floor/plasteel/white,/area/medical/virology) "bVn" = (/obj/machinery/power/apc/highcap/five_k{areastring = "/area/medical/virology"; dir = 1; name = "Virology APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-8"},/obj/machinery/camera{c_tag = "Virology Module"; network = list("ss13","medbay")},/turf/open/floor/plasteel/white,/area/medical/virology) "bVo" = (/obj/machinery/vending/medical,/turf/open/floor/plasteel/white,/area/medical/virology) -"bVp" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio3"; name = "containment blast door"},/turf/open/floor/engine,/area/science/xenobiology) +"bVp" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/machinery/door/airlock/research{dir = 4; name = "Kill Chamber"; req_access_txt = "55"},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bVq" = (/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "55"},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel,/area/science/xenobiology) "bVr" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bVs" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel,/area/science/xenobiology) @@ -5166,13 +5159,13 @@ "bVu" = (/obj/structure/rack,/obj/item/clothing/mask/gas{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas,/obj/item/clothing/mask/gas{pixel_x = -3; pixel_y = -3},/obj/machinery/airalarm{dir = 4; pixel_x = -23},/turf/open/floor/plasteel,/area/science/misc_lab) "bVv" = (/obj/structure/table,/obj/machinery/cell_charger{pixel_y = 5},/obj/item/stack/cable_coil,/obj/item/multitool,/obj/item/stock_parts/cell/high/plus,/obj/structure/window/reinforced{dir = 4},/turf/open/floor/plasteel,/area/science/misc_lab) "bVw" = (/turf/open/floor/engine,/area/science/misc_lab) -"bVx" = (/obj/machinery/atmospherics/components/binary/valve,/turf/open/floor/engine,/area/science/misc_lab) -"bVy" = (/obj/machinery/atmospherics/components/trinary/mixer/flipped{dir = 1},/turf/open/floor/engine,/area/science/misc_lab) -"bVz" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/turf/open/floor/engine,/area/science/misc_lab) -"bVA" = (/obj/structure/table,/obj/item/assembly/igniter{pixel_x = -5; pixel_y = 3},/obj/item/assembly/igniter{pixel_x = 5; pixel_y = -4},/obj/item/assembly/igniter{pixel_x = 2; pixel_y = 6},/obj/item/assembly/igniter{pixel_x = 2; pixel_y = -1},/obj/machinery/light{dir = 4},/obj/item/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/assembly/timer{pixel_x = -3; pixel_y = 3},/turf/open/floor/engine,/area/science/misc_lab) -"bVB" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 8},/obj/machinery/cell_charger{pixel_y = 5},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) -"bVC" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/glass/fifty,/obj/item/paper_bin,/obj/item/pen,/turf/open/floor/plasteel/white,/area/science/circuit) -"bVD" = (/obj/machinery/light{dir = 4},/turf/open/floor/plasteel/white,/area/science/circuit) +"bVx" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_y = -30; receive_ore_updates = 1},/turf/open/floor/plasteel/white,/area/science/circuit) +"bVy" = (/obj/structure/table/reinforced,/obj/item/stack/sheet/metal/ten,/obj/item/stack/sheet/metal/ten,/obj/item/stack/sheet/glass/fifty,/obj/item/stack/sheet/glass/fifty,/turf/open/floor/plasteel/white,/area/science/circuit) +"bVz" = (/obj/structure/table/reinforced,/obj/item/integrated_electronics/analyzer,/obj/item/integrated_electronics/debugger,/obj/item/integrated_electronics/wirer,/obj/item/radio/intercom{pixel_x = 30},/obj/machinery/light,/turf/open/floor/plasteel/white,/area/science/circuit) +"bVA" = (/obj/structure/bookcase/manuals/research_and_development,/turf/open/floor/carpet,/area/science/misc_lab) +"bVB" = (/turf/open/floor/engine,/area/science/mixing) +"bVC" = (/obj/machinery/atmospherics/components/trinary/mixer/flipped{dir = 1},/turf/open/floor/engine,/area/science/mixing) +"bVD" = (/obj/structure/table,/obj/item/assembly/igniter{pixel_x = -5; pixel_y = 3},/obj/item/assembly/igniter{pixel_x = 5; pixel_y = -4},/obj/item/assembly/igniter{pixel_x = 2; pixel_y = 6},/obj/item/assembly/igniter{pixel_x = 2; pixel_y = -1},/obj/machinery/light{dir = 4},/obj/item/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/assembly/timer{pixel_x = -3; pixel_y = 3},/obj/item/assembly/timer{pixel_x = -3; pixel_y = 3},/turf/open/floor/engine,/area/science/mixing) "bVE" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/starboard/aft) "bVF" = (/obj/machinery/door/airlock/maintenance{dir = 4; req_access_txt = "12"},/turf/open/floor/plating,/area/maintenance/port/aft) "bVG" = (/obj/machinery/portable_atmospherics/canister/air,/turf/open/floor/plating,/area/maintenance/port/aft) @@ -5205,8 +5198,8 @@ "bWh" = (/obj/machinery/holopad,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/open/floor/plasteel/white,/area/medical/virology) "bWi" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 1},/turf/open/floor/plasteel/white,/area/medical/virology) "bWj" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/open/floor/plasteel/white,/area/medical/virology) -"bWk" = (/obj/structure/cable{icon_state = "0-4"},/obj/structure/cable,/obj/machinery/door/poddoor/preopen{id = "xenobio3"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) -"bWl" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel,/area/science/xenobiology) +"bWk" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/xenobiology) +"bWl" = (/obj/structure/table,/obj/item/folder/white,/obj/item/pen,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bWm" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-8"},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bWn" = (/obj/structure/window/reinforced{dir = 1},/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel,/area/science/xenobiology) "bWo" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/machinery/door/poddoor/preopen{id = "xenobio8"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) @@ -5214,10 +5207,10 @@ "bWq" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/light{dir = 8},/turf/open/floor/plasteel,/area/science/misc_lab) "bWr" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 10},/turf/open/floor/plasteel,/area/science/misc_lab) "bWs" = (/obj/structure/window/reinforced{dir = 4},/obj/structure/table,/obj/item/hand_labeler,/obj/item/clothing/glasses/science,/obj/item/clothing/glasses/science,/turf/open/floor/plasteel,/area/science/misc_lab) -"bWt" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/open/floor/engine,/area/science/misc_lab) -"bWu" = (/obj/structure/table,/obj/item/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/grenade/chem_grenade,/obj/item/grenade/chem_grenade,/turf/open/floor/engine,/area/science/misc_lab) -"bWv" = (/obj/structure/extinguisher_cabinet{pixel_x = -27},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) -"bWw" = (/obj/machinery/atmospherics/components/unary/vent_pump/on,/turf/open/floor/plasteel/white,/area/science/circuit) +"bWt" = (/obj/machinery/atmospherics/components/binary/valve,/turf/open/floor/engine,/area/science/mixing) +"bWu" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/turf/open/floor/engine,/area/science/mixing) +"bWv" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/turf/open/floor/engine,/area/science/mixing) +"bWw" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/obj/machinery/camera{c_tag = "Toxins Pipe Lab"; dir = 1; network = list("ss13","rd")},/turf/open/floor/engine,/area/science/mixing) "bWx" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on,/turf/open/floor/plating/airless,/area/maintenance/port/aft) "bWy" = (/obj/structure/cable{icon_state = "0-4"},/turf/open/floor/plating,/area/maintenance/port/aft) "bWz" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plating,/area/maintenance/port/aft) @@ -5260,18 +5253,14 @@ "bXk" = (/obj/effect/spawner/structure/window,/turf/open/floor/plating,/area/medical/virology) "bXl" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/virology/glass{name = "Isolation B"; req_access_txt = "39"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/white,/area/medical/virology) "bXm" = (/obj/structure/sign/warning/electricshock,/turf/closed/wall,/area/science/xenobiology) -"bXn" = (/obj/machinery/light{dir = 8},/turf/open/floor/plasteel/white,/area/science/xenobiology) +"bXn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/machinery/computer/camera_advanced/xenobio{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bXo" = (/obj/structure/sink{dir = 4; pixel_x = 11},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bXp" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/turf/open/floor/plasteel,/area/science/misc_lab) "bXq" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 4},/obj/machinery/meter,/turf/open/floor/plasteel,/area/science/misc_lab) "bXr" = (/obj/effect/turf_decal/stripes/corner{dir = 8},/turf/open/floor/plasteel,/area/science/misc_lab) "bXs" = (/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel,/area/science/misc_lab) -"bXt" = (/obj/structure/table,/obj/item/stack/sheet/glass/fifty{pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/mineral/plasma,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel,/area/science/misc_lab) -"bXu" = (/obj/machinery/light_switch{pixel_x = -20},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) -"bXv" = (/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel,/area/science/circuit) -"bXw" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel,/area/science/circuit) -"bXx" = (/obj/effect/turf_decal/stripes/line{dir = 1},/turf/open/floor/plasteel,/area/science/circuit) -"bXy" = (/obj/machinery/airalarm{dir = 8; pixel_x = 24},/obj/effect/turf_decal/stripes/line{dir = 5},/obj/structure/target_stake,/turf/open/floor/plasteel,/area/science/circuit) +"bXt" = (/obj/structure/table,/obj/item/stack/sheet/glass/fifty{pixel_x = 3; pixel_y = 3},/obj/item/stack/sheet/metal/fifty,/obj/item/stack/sheet/mineral/plasma,/obj/effect/turf_decal/stripes/line{dir = 1},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/open/floor/plasteel,/area/science/misc_lab) +"bXy" = (/turf/closed/wall,/area/science/circuit) "bXz" = (/obj/structure/disposaloutlet{dir = 8},/obj/structure/disposalpipe/trunk{dir = 4},/turf/open/floor/plating/airless,/area/space/nearstation) "bXA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating/airless,/area/space/nearstation) "bXB" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 5},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating/airless,/area/maintenance/port/aft) @@ -5312,7 +5301,7 @@ "bYk" = (/obj/effect/spawner/structure/window,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/turf/open/floor/plating,/area/medical/virology) "bYl" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 8},/turf/open/floor/plasteel/white,/area/medical/virology) "bYm" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/turf/open/floor/plasteel/white,/area/medical/virology) -"bYn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) +"bYn" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio3"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) "bYo" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-4"},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel/white,/area/science/xenobiology) "bYp" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/structure/cable{icon_state = "4-8"},/obj/machinery/button/door{id = "xenobio7"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel,/area/science/xenobiology) "bYq" = (/obj/structure/cable{icon_state = "0-2"},/obj/structure/cable{icon_state = "0-8"},/obj/machinery/door/poddoor/preopen{id = "xenobio7"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) @@ -5321,13 +5310,13 @@ "bYt" = (/obj/structure/chair/office/light,/obj/effect/landmark/start/scientist,/turf/open/floor/plasteel,/area/science/misc_lab) "bYu" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on,/turf/open/floor/plasteel,/area/science/misc_lab) "bYv" = (/obj/structure/disposalpipe/segment{dir = 6},/obj/machinery/atmospherics/components/unary/vent_pump/on,/turf/open/floor/plasteel,/area/science/misc_lab) -"bYw" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/turf/open/floor/plasteel,/area/science/misc_lab) -"bYx" = (/obj/structure/sign/nanotrasen,/turf/closed/wall,/area/science/circuit) -"bYy" = (/obj/machinery/light{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) -"bYz" = (/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel,/area/science/circuit) -"bYA" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark/event_spawn,/turf/open/floor/plasteel,/area/science/circuit) -"bYB" = (/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plasteel,/area/science/circuit) -"bYC" = (/obj/machinery/power/apc{areastring = "/area/science/circuit"; name = "Circuitry Lab APC"; pixel_x = 30},/obj/effect/turf_decal/stripes/line{dir = 4},/obj/structure/cable{icon_state = "0-8"},/turf/open/floor/plasteel,/area/science/circuit) +"bYw" = (/obj/machinery/disposal/bin,/obj/structure/disposalpipe/trunk{dir = 8},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/misc_lab) +"bYx" = (/obj/structure/sign/nanotrasen,/turf/closed/wall/r_wall,/area/science/explab) +"bYy" = (/obj/structure/table,/obj/item/paper_bin{pixel_y = 6},/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/plasteel/white,/area/science/explab) +"bYz" = (/obj/structure/table,/obj/item/pen,/obj/item/hand_labeler,/obj/item/stack/packageWrap,/obj/machinery/firealarm{pixel_y = 24},/turf/open/floor/plasteel/white,/area/science/explab) +"bYA" = (/obj/structure/table,/obj/item/folder/white,/obj/item/folder/white,/obj/machinery/airalarm{pixel_y = 23},/obj/item/radio/off,/obj/machinery/camera{c_tag = "Experimentor Lab"; network = list("ss13","rd")},/turf/open/floor/plasteel/white,/area/science/explab) +"bYB" = (/obj/structure/closet/l3closet/scientist,/obj/structure/cable{icon_state = "0-2"},/obj/machinery/power/apc{areastring = "/area/science/explab"; dir = 1; name = "Experimentation Lab APC"; pixel_y = 28},/turf/open/floor/plasteel/white,/area/science/explab) +"bYC" = (/obj/structure/closet/emcloset,/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/plasteel/white,/area/science/explab) "bYD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,/turf/open/floor/plating,/area/maintenance/port/aft) "bYE" = (/turf/open/floor/plasteel,/area/maintenance/port/aft) "bYF" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/open/floor/plating,/area/maintenance/port/aft) @@ -5373,7 +5362,7 @@ "bZt" = (/obj/structure/table,/turf/open/floor/plasteel/white,/area/medical/virology) "bZu" = (/obj/machinery/light{dir = 4},/turf/open/floor/plasteel/white,/area/medical/virology) "bZv" = (/mob/living/simple_animal/slime,/turf/open/floor/engine,/area/science/xenobiology) -"bZw" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "containment blast door"},/turf/open/floor/engine,/area/science/xenobiology) +"bZw" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio3"; name = "containment blast door"},/turf/open/floor/engine,/area/science/xenobiology) "bZx" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor/preopen{id = "xenobio7"; name = "containment blast door"},/turf/open/floor/engine,/area/science/xenobiology) "bZy" = (/obj/structure/filingcabinet/chestdrawer,/turf/open/floor/plasteel,/area/science/misc_lab) "bZz" = (/obj/structure/table,/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/machinery/button/ignition{id = "testigniter"; pixel_x = -6; pixel_y = 2},/obj/machinery/button/door{id = "testlab"; name = "Test Chamber Blast Doors"; pixel_x = 4; pixel_y = 2; req_access_txt = "55"},/turf/open/floor/plasteel,/area/science/misc_lab) @@ -5382,13 +5371,13 @@ "bZC" = (/obj/structure/rack,/obj/item/wrench,/obj/item/crowbar,/obj/machinery/computer/security/telescreen{name = "Test Chamber Monitor"; network = list("test"); pixel_y = -30},/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/misc_lab) "bZD" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel,/area/science/misc_lab) "bZE" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel,/area/science/misc_lab) -"bZF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel,/area/science/misc_lab) -"bZG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel/white,/area/science/misc_lab) -"bZH" = (/obj/effect/spawner/structure/window,/turf/open/floor/plating,/area/science/circuit) -"bZI" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) -"bZJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/science/circuit) -"bZK" = (/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel,/area/science/circuit) -"bZL" = (/obj/machinery/light{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 4},/turf/open/floor/plasteel,/area/science/circuit) +"bZF" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plasteel,/area/science/misc_lab) +"bZG" = (/obj/effect/turf_decal/stripes/line{dir = 9},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold4w/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/misc_lab) +"bZH" = (/obj/machinery/door/airlock/research/glass{dir = 4; name = "Circuitry Lab"; req_access_txt = "47"},/obj/machinery/door/firedoor,/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/science/explab) +"bZI" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/explab) +"bZJ" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/components/unary/vent_pump/on,/turf/open/floor/plasteel/white,/area/science/explab) +"bZK" = (/obj/structure/cable{icon_state = "1-8"},/obj/machinery/holopad,/turf/open/floor/plasteel/white,/area/science/explab) +"bZL" = (/obj/structure/extinguisher_cabinet{pixel_x = 28},/turf/open/floor/plasteel/white,/area/science/explab) "bZM" = (/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 4},/obj/machinery/door/airlock/external{name = "External Access"; req_access_txt = "13"},/turf/open/floor/plating,/area/maintenance/port/aft) "bZN" = (/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/obj/machinery/door/airlock/external{name = "External Access"; req_access_txt = "13"},/turf/open/floor/plating,/area/maintenance/port/aft) "bZO" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible,/turf/open/floor/plasteel,/area/maintenance/port/aft) @@ -5437,8 +5426,8 @@ "caF" = (/obj/machinery/disposal/bin,/obj/structure/sign/warning/deathsposal{pixel_y = -32},/obj/structure/disposalpipe/trunk{dir = 8},/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 4},/turf/open/floor/plasteel/white,/area/medical/virology) "caG" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/spawner/structure/window,/turf/open/floor/plating,/area/medical/virology) "caH" = (/obj/structure/closet/secure_closet/personal/patient,/turf/open/floor/plasteel/white,/area/medical/virology) -"caI" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) -"caJ" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel,/area/science/xenobiology) +"caI" = (/obj/structure/cable{icon_state = "0-4"},/obj/structure/cable,/obj/machinery/door/poddoor/preopen{id = "xenobio3"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) +"caJ" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio3"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel,/area/science/xenobiology) "caK" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/machinery/door/poddoor/preopen{id = "xenobio7"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) "caL" = (/turf/closed/wall/r_wall,/area/science/misc_lab) "caM" = (/obj/machinery/door/poddoor/preopen{id = "testlab"; name = "test chamber blast door"},/obj/machinery/atmospherics/pipe/simple/general/visible,/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/misc_lab) @@ -5446,14 +5435,13 @@ "caO" = (/obj/machinery/door/poddoor/preopen{id = "testlab"; name = "test chamber blast door"},/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/engine,/area/science/misc_lab) "caP" = (/obj/structure/reagent_dispensers/fueltank,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/science/misc_lab) "caQ" = (/obj/structure/reagent_dispensers/watertank,/obj/structure/window/reinforced{dir = 4},/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/science/misc_lab) -"caR" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/disposalpipe/junction/flip,/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plasteel,/area/science/misc_lab) -"caS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/science/misc_lab) -"caT" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research/glass{dir = 4; name = "Circuitry Lab"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel/white,/area/science/circuit) -"caU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) -"caV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 10},/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/science/circuit) -"caW" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/obj/effect/turf_decal/stripes/line,/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/science/circuit) -"caX" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/stripes/line,/obj/structure/cable{icon_state = "1-8"},/turf/open/floor/plasteel,/area/science/circuit) -"caY" = (/obj/structure/disposalpipe/segment{dir = 10},/obj/effect/turf_decal/stripes/line{dir = 6},/obj/machinery/camera{c_tag = "Circuitry Lab"; dir = 8; network = list("ss13","rd")},/turf/open/floor/plasteel,/area/science/circuit) +"caR" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 8},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel,/area/science/misc_lab) +"caS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel/white,/area/science/misc_lab) +"caT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/explab) +"caU" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/closet/radiation,/turf/open/floor/plasteel/white,/area/science/explab) +"caV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/table,/obj/item/clipboard,/obj/item/book/manual/wiki/experimentor,/turf/open/floor/plasteel/white,/area/science/explab) +"caW" = (/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_x = 28; receive_ore_updates = 1},/obj/machinery/computer/rdconsole/experiment{dir = 1},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9},/turf/open/floor/plasteel/white,/area/science/explab) +"caY" = (/obj/machinery/button/door{id = "telelab"; name = "Test Chamber Blast Doors"; pixel_x = 25; req_access_txt = "47"},/obj/effect/turf_decal/stripes/line,/turf/open/floor/plasteel/white,/area/science/explab) "caZ" = (/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) "cba" = (/obj/structure/closet/crate,/obj/item/clothing/under/color/lightpurple,/obj/item/stack/spacecash/c200,/turf/open/floor/plating,/area/maintenance/starboard/aft) "cbb" = (/turf/open/floor/plating,/area/space) @@ -5498,17 +5486,16 @@ "cbO" = (/obj/structure/closet/l3closet/virology,/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel/white,/area/medical/virology) "cbP" = (/obj/structure/closet/secure_closet/medical1,/obj/structure/disposalpipe/segment,/obj/effect/turf_decal/tile/green,/obj/effect/turf_decal/tile/green{dir = 8},/turf/open/floor/plasteel/white,/area/medical/virology) "cbQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/closed/wall/r_wall,/area/medical/virology) -"cbR" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/camera{c_tag = "Xenobiology South"; dir = 4; network = list("ss13","rd")},/turf/open/floor/plasteel/white,/area/science/xenobiology) +"cbR" = (/obj/machinery/light{dir = 8},/turf/open/floor/plasteel/white,/area/science/xenobiology) "cbS" = (/obj/machinery/light{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) "cbT" = (/obj/machinery/atmospherics/components/unary/outlet_injector/on{dir = 1},/turf/open/floor/engine,/area/science/misc_lab) "cbU" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/engine,/area/science/misc_lab) "cbV" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel,/area/science/misc_lab) -"cbW" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel/white,/area/science/misc_lab) -"cbX" = (/obj/effect/spawner/structure/window,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plating,/area/science/circuit) -"cbY" = (/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden,/turf/open/floor/plasteel/white,/area/science/circuit) -"cbZ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/white,/area/science/circuit) -"cca" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/turf/open/floor/plasteel/white,/area/science/circuit) -"ccb" = (/obj/structure/disposalpipe/trunk{dir = 1},/obj/machinery/disposal/bin,/turf/open/floor/plasteel/white,/area/science/circuit) +"cbW" = (/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/open/floor/engine,/area/science/mixing) +"cbX" = (/obj/machinery/portable_atmospherics/canister/oxygen,/obj/effect/turf_decal/bot,/obj/machinery/light/small,/turf/open/floor/engine,/area/science/storage) +"cbZ" = (/obj/machinery/door/poddoor/preopen{id = "telelab"; name = "test chamber blast door"},/obj/machinery/door/firedoor/heavy,/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/explab) +"cca" = (/obj/machinery/door/poddoor/preopen{id = "telelab"; name = "test chamber blast door"},/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/firedoor/heavy,/turf/open/floor/engine,/area/science/explab) +"ccb" = (/obj/machinery/door/poddoor/preopen{id = "telelab"; name = "test chamber blast door"},/obj/machinery/door/firedoor/heavy,/turf/open/floor/engine,/area/science/explab) "ccc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/open/floor/plating,/area/maintenance/starboard/aft) "ccd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard/aft) "cce" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/canister,/turf/open/floor/plating,/area/maintenance/port/aft) @@ -5559,15 +5546,13 @@ "ccX" = (/obj/machinery/atmospherics/components/unary/tank/air{dir = 8},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plating,/area/maintenance/aft) "ccY" = (/obj/structure/closet/emcloset,/obj/effect/decal/cleanable/cobweb,/turf/open/floor/plating,/area/maintenance/aft) "ccZ" = (/obj/structure/rack,/obj/machinery/light/small{dir = 1},/obj/effect/spawner/lootdrop/maintenance,/turf/open/floor/plating,/area/maintenance/aft) -"cda" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio1"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) +"cda" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) "cdb" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio6"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel,/area/science/xenobiology) "cdc" = (/obj/structure/cable{icon_state = "0-2"},/obj/structure/cable{icon_state = "0-8"},/obj/machinery/door/poddoor/preopen{id = "xenobio6"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) "cdd" = (/obj/item/radio/intercom{pixel_x = -25},/turf/open/floor/engine,/area/science/misc_lab) "cde" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/misc_lab) "cdf" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/turf_decal/stripes/corner{dir = 1},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel,/area/science/misc_lab) "cdg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/misc_lab) -"cdh" = (/obj/structure/table/reinforced,/obj/machinery/light{dir = 8},/turf/open/floor/plasteel/white,/area/science/circuit) -"cdi" = (/obj/structure/table/reinforced,/obj/item/paper_bin,/obj/item/pen,/turf/open/floor/plasteel/white,/area/science/circuit) "cdj" = (/obj/structure/table,/obj/item/flashlight/lamp,/turf/open/floor/plating,/area/maintenance/starboard/aft) "cdk" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/starboard/aft) "cdl" = (/obj/machinery/door/airlock/maintenance/abandoned{name = "Incinerator Access"; req_access_txt = "12"},/obj/structure/barricade/wooden{name = "wooden barricade (CLOSED)"},/turf/open/floor/plating,/area/maintenance/port/aft) @@ -5614,7 +5599,7 @@ "cec" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 8},/obj/machinery/portable_atmospherics/canister/air,/obj/effect/turf_decal/stripes/line{dir = 6},/turf/open/floor/plating,/area/maintenance/aft) "ced" = (/obj/structure/disposalpipe/segment{dir = 6},/obj/structure/cable{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/open/floor/plating,/area/maintenance/aft) "cee" = (/obj/structure/disposalpipe/segment{dir = 9},/obj/structure/cable{icon_state = "1-8"},/obj/structure/cable{icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/aft) -"cef" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio1"; name = "containment blast door"},/turf/open/floor/engine,/area/science/xenobiology) +"cef" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "containment blast door"},/turf/open/floor/engine,/area/science/xenobiology) "ceg" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor/preopen{id = "xenobio6"; name = "containment blast door"},/turf/open/floor/engine,/area/science/xenobiology) "ceh" = (/obj/machinery/sparker{id = "testigniter"; pixel_x = -25},/turf/open/floor/engine,/area/science/misc_lab) "cei" = (/obj/item/beacon,/turf/open/floor/engine,/area/science/misc_lab) @@ -5624,9 +5609,7 @@ "cem" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel,/area/science/misc_lab) "cen" = (/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/obj/machinery/door/airlock/research/glass{dir = 4; name = "Test Chamber"; req_access_txt = "47"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/delivery,/turf/open/floor/plasteel,/area/science/misc_lab) "ceo" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plasteel,/area/science/misc_lab) -"cep" = (/obj/structure/table/reinforced,/obj/item/radio/intercom{pixel_x = -30},/obj/item/stock_parts/cell/high,/obj/item/stock_parts/cell/high,/turf/open/floor/plasteel/white,/area/science/circuit) -"ceq" = (/obj/structure/chair/office/light,/turf/open/floor/plasteel/white,/area/science/circuit) -"cer" = (/obj/structure/sign/poster/official/random{pixel_x = 32},/turf/open/floor/plasteel/white,/area/science/circuit) +"ceq" = (/obj/machinery/rnd/experimentor,/turf/open/floor/engine,/area/science/explab) "ces" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/disposalpipe/segment,/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/starboard/aft) "cet" = (/obj/structure/table,/obj/item/paper_bin{pixel_x = -2; pixel_y = 5},/turf/open/floor/plating,/area/maintenance/starboard/aft) "ceu" = (/obj/structure/table,/obj/item/folder/white,/obj/item/folder/white,/obj/item/pen,/turf/open/floor/plating,/area/maintenance/starboard/aft) @@ -5670,17 +5653,15 @@ "cfg" = (/obj/machinery/door/airlock/atmos/abandoned{name = "Atmospherics Maintenance"; req_access_txt = "12;24"},/turf/open/floor/plating,/area/maintenance/aft) "cfh" = (/obj/structure/disposalpipe/segment{dir = 6},/turf/open/floor/plating,/area/maintenance/aft) "cfi" = (/obj/structure/disposalpipe/segment{dir = 10},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/aft) -"cfj" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{id = "xenobio1"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) -"cfk" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/light,/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel,/area/science/xenobiology) -"cfl" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-8"},/turf/open/floor/plasteel/white,/area/science/xenobiology) +"cfj" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{id = "xenobio2"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) +"cfk" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio2"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel,/area/science/xenobiology) +"cfl" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/table/glass,/obj/item/storage/box/syringes{pixel_y = 5},/obj/item/storage/box/beakers{pixel_x = 2; pixel_y = 7},/obj/item/storage/box/monkeycubes,/obj/item/storage/box/monkeycubes{pixel_x = 2; pixel_y = -2},/turf/open/floor/plasteel/white,/area/science/xenobiology) "cfm" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/machinery/door/poddoor/preopen{id = "xenobio6"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) "cfn" = (/obj/machinery/camera{c_tag = "Testing Chamber"; dir = 1; network = list("test","rd")},/obj/machinery/light,/turf/open/floor/engine,/area/science/misc_lab) "cfo" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/turf_decal/stripes/corner{dir = 4},/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plasteel,/area/science/misc_lab) "cfp" = (/obj/machinery/power/apc{areastring = "/area/science/misc_lab"; dir = 4; name = "Testing Lab APC"; pixel_x = 26},/obj/structure/cable{icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/misc_lab) -"cfq" = (/obj/structure/table/reinforced,/obj/item/integrated_circuit_printer,/obj/machinery/computer/security/telescreen/circuitry{dir = 1; pixel_y = -30},/turf/open/floor/plasteel/white,/area/science/circuit) -"cfr" = (/obj/structure/table/reinforced,/obj/item/multitool,/obj/item/screwdriver,/obj/machinery/requests_console{department = "Science"; departmentType = 2; name = "Science Requests Console"; pixel_y = -30; receive_ore_updates = 1},/turf/open/floor/plasteel/white,/area/science/circuit) -"cfs" = (/obj/structure/table/reinforced,/obj/machinery/light,/obj/item/stack/sheet/metal/ten,/turf/open/floor/plasteel/white,/area/science/circuit) -"cft" = (/obj/structure/closet/crate,/obj/item/target/alien,/obj/item/target/alien,/obj/item/target/clown,/obj/item/target/clown,/obj/item/target/syndicate,/obj/item/target/syndicate,/obj/item/gun/energy/laser/practice,/obj/item/gun/energy/laser/practice,/turf/open/floor/plasteel/white,/area/science/circuit) +"cfs" = (/obj/machinery/light,/obj/machinery/camera{c_tag = "Experimentor Lab Chamber"; dir = 1; network = list("ss13","rd")},/turf/open/floor/engine,/area/science/explab) +"cft" = (/turf/open/floor/engine,/area/science/explab) "cfu" = (/obj/structure/cable{icon_state = "0-4"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/open/floor/plasteel/airless/solarpanel,/area/solar/port/aft) "cfv" = (/obj/structure/cable{icon_state = "2-8"},/obj/structure/cable{icon_state = "2-4"},/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/port/aft) "cfw" = (/obj/structure/cable{icon_state = "0-8"},/obj/machinery/power/solar{id = "portsolar"; name = "Port Solar Array"},/turf/open/floor/plasteel/airless/solarpanel,/area/solar/port/aft) @@ -5731,9 +5712,9 @@ "cgp" = (/obj/structure/disposalpipe/segment{dir = 9},/obj/structure/cable{icon_state = "1-8"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/open/floor/plating,/area/maintenance/aft) "cgq" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/aft) "cgr" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{req_access_txt = "12"},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) -"cgs" = (/obj/structure/sign/poster/official/safety_internals{pixel_x = -32},/turf/open/floor/plasteel/white,/area/science/xenobiology) -"cgt" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/white,/area/science/xenobiology) -"cgu" = (/obj/structure/rack,/obj/item/clothing/shoes/winterboots,/obj/item/clothing/suit/hooded/wintercoat,/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel,/area/science/xenobiology) +"cgs" = (/obj/structure/sink{dir = 8; pixel_x = -12; pixel_y = 2},/obj/machinery/camera{c_tag = "Xenobiology South"; dir = 4; network = list("ss13","rd")},/turf/open/floor/plasteel/white,/area/science/xenobiology) +"cgt" = (/obj/structure/chair/sofa/corner{dir = 1},/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/carpet,/area/science/misc_lab) +"cgu" = (/obj/structure/chair/sofa/left,/turf/open/floor/carpet,/area/science/misc_lab) "cgv" = (/obj/machinery/portable_atmospherics/pump,/obj/effect/turf_decal/bot,/turf/open/floor/plasteel,/area/science/misc_lab) "cgw" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel,/area/science/misc_lab) "cgx" = (/obj/machinery/light{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/science/misc_lab) @@ -5789,12 +5770,11 @@ "chv" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating,/area/maintenance/aft) "chw" = (/obj/structure/disposalpipe/segment{dir = 9},/turf/open/floor/plating,/area/maintenance/aft) "chx" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) -"chy" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{external_pressure_bound = 140; name = "killroom vent"; pressure_checks = 0},/obj/machinery/camera{c_tag = "Xenobiology Kill Room"; dir = 4; network = list("ss13","rd")},/turf/open/floor/circuit/telecomms,/area/science/xenobiology) -"chz" = (/turf/open/floor/circuit/telecomms,/area/science/xenobiology) -"chA" = (/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{external_pressure_bound = 120; name = "killroom vent"},/turf/open/floor/circuit/telecomms,/area/science/xenobiology) -"chB" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/sign/warning/biohazard,/turf/open/floor/plating,/area/science/xenobiology) -"chC" = (/obj/effect/turf_decal/stripes/corner{dir = 1},/turf/open/floor/plasteel/white,/area/science/xenobiology) -"chD" = (/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on,/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel,/area/science/xenobiology) +"chy" = (/turf/open/floor/circuit/telecomms,/area/science/xenobiology) +"chz" = (/obj/machinery/atmospherics/components/unary/vent_pump/siphon/on{external_pressure_bound = 120; name = "killroom vent"},/turf/open/floor/circuit/telecomms,/area/science/xenobiology) +"chA" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable{icon_state = "0-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio1"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) +"chB" = (/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on,/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/science/xenobiology) +"chC" = (/obj/structure/chair/sofa{dir = 4},/turf/open/floor/carpet,/area/science/misc_lab) "chE" = (/obj/structure/closet/emcloset,/obj/effect/decal/cleanable/cobweb,/turf/open/floor/plating,/area/maintenance/starboard/aft) "chF" = (/obj/machinery/light/small{dir = 1},/turf/open/floor/plating,/area/maintenance/starboard/aft) "chG" = (/obj/machinery/atmospherics/components/unary/tank/air,/turf/open/floor/plating,/area/maintenance/starboard/aft) @@ -5849,13 +5829,11 @@ "ciE" = (/obj/structure/disposalpipe/segment,/turf/closed/wall,/area/maintenance/aft) "ciF" = (/obj/structure/disposalpipe/segment,/obj/machinery/light/small,/turf/open/floor/plating,/area/maintenance/aft) "ciG" = (/obj/structure/disposalpipe/segment,/obj/structure/closet/l3closet,/turf/open/floor/plating,/area/maintenance/aft) -"ciH" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 5},/turf/open/floor/circuit/telecomms,/area/science/xenobiology) -"ciI" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/open/floor/circuit/telecomms,/area/science/xenobiology) -"ciJ" = (/obj/machinery/light,/obj/machinery/atmospherics/pipe/manifold/general/visible,/turf/open/floor/circuit/telecomms,/area/science/xenobiology) -"ciK" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/research{dir = 4; name = "Kill Chamber"; req_access_txt = "55"},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/open/floor/plating,/area/science/xenobiology) -"ciL" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/science/xenobiology) -"ciM" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel/white,/area/science/xenobiology) -"ciN" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/obj/structure/table,/obj/item/folder/white,/obj/item/pen,/obj/effect/turf_decal/stripes/line{dir = 9},/turf/open/floor/plasteel,/area/science/xenobiology) +"ciJ" = (/obj/machinery/door/window/northleft{base_state = "right"; dir = 8; icon_state = "right"; name = "Containment Pen"; req_access_txt = "55"},/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/poddoor/preopen{id = "xenobio1"; name = "containment blast door"},/turf/open/floor/engine,/area/science/xenobiology) +"ciK" = (/obj/machinery/camera{c_tag = "Xenobiology Kill Room"; dir = 4; network = list("ss13","rd")},/turf/open/floor/circuit/telecomms,/area/science/xenobiology) +"ciL" = (/obj/machinery/atmospherics/pipe/manifold/general/visible{dir = 8},/turf/open/floor/circuit/telecomms,/area/science/xenobiology) +"ciM" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 4},/turf/open/floor/circuit/telecomms,/area/science/xenobiology) +"ciN" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/plasteel/white,/area/science/xenobiology) "ciO" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/open/floor/plating,/area/maintenance/starboard/aft) "ciP" = (/obj/machinery/atmospherics/components/binary/valve{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard/aft) "ciQ" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold/cyan/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) @@ -5902,8 +5880,8 @@ "cjF" = (/obj/structure/disposalpipe/segment,/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance,/obj/item/reagent_containers/food/snacks/donkpocket,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/aft) "cjG" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/item/c_tube,/turf/open/floor/plating,/area/maintenance/aft) "cjH" = (/obj/structure/mopbucket,/obj/item/caution,/turf/open/floor/plating,/area/maintenance/aft) -"cjI" = (/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/science/xenobiology) -"cjJ" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/science/xenobiology) +"cjI" = (/obj/structure/chair/sofa/right{dir = 4},/turf/open/floor/carpet,/area/science/misc_lab) +"cjJ" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-8"},/turf/open/floor/plasteel/white,/area/science/xenobiology) "cjK" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/closed/wall,/area/maintenance/starboard/aft) "cjL" = (/obj/machinery/door/airlock/maintenance/abandoned{name = "Air Supply Maintenance"; req_access_txt = "12"},/turf/open/floor/plating,/area/maintenance/starboard/aft) "cjM" = (/obj/machinery/door/airlock/maintenance{name = "Testing Lab Maintenance"; req_access_txt = "47"},/obj/structure/cable{icon_state = "1-2"},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) @@ -5957,7 +5935,7 @@ "ckI" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/aft) "ckJ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/barricade/wooden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard/aft) "ckK" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/supply/hidden{dir = 4},/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plating,/area/maintenance/starboard/aft) -"ckL" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plating/airless,/area/space/nearstation) +"ckL" = (/obj/structure/disposalpipe/segment,/obj/machinery/door/airlock/maintenance{dir = 1; name = "Xenobiology Maintenance"; req_access_txt = "55"},/turf/open/floor/plating,/area/maintenance/starboard/aft) "ckM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/cable{icon_state = "2-4"},/turf/open/floor/plating,/area/maintenance/starboard/aft) "ckN" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) "ckO" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard/aft) @@ -6015,7 +5993,7 @@ "clO" = (/obj/structure/disposalpipe/segment,/obj/structure/cable/yellow{icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 10},/turf/open/floor/plasteel,/area/maintenance/disposal/incinerator) "clP" = (/obj/machinery/power/terminal{dir = 1},/obj/machinery/airalarm/all_access{dir = 8; pixel_x = 24},/obj/structure/cable/yellow{icon_state = "0-8"},/turf/open/floor/plasteel,/area/maintenance/disposal/incinerator) "clQ" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/plating,/area/maintenance/starboard/aft) -"clR" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/disposalpipe/segment,/turf/open/floor/plating,/area/maintenance/starboard/aft) +"clR" = (/obj/structure/table/wood,/turf/open/floor/carpet,/area/science/misc_lab) "clS" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) "clT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 6},/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/starboard/aft) "clU" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/closed/wall,/area/maintenance/starboard/aft) @@ -6239,7 +6217,7 @@ "cqf" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden{dir = 1},/obj/machinery/meter,/turf/open/floor/plating,/area/maintenance/aft) "cqg" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/open/floor/plating,/area/maintenance/aft) "cqh" = (/obj/structure/disposalpipe/segment,/obj/structure/reagent_dispensers/fueltank,/turf/open/floor/plating,/area/maintenance/aft) -"cqi" = (/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access_txt = "10; 13"},/turf/open/floor/plating,/area/maintenance/aft) +"cqi" = (/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access_txt = "10; 13"},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 4},/turf/open/floor/plating,/area/maintenance/aft) "cqj" = (/obj/structure/rack,/obj/structure/disposalpipe/segment,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plating,/area/maintenance/starboard/aft) "cqk" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plating,/area/maintenance/starboard/aft) "cql" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/starboard/aft) @@ -6529,7 +6507,7 @@ "cvJ" = (/obj/machinery/atmospherics/pipe/simple/orange/visible{dir = 4},/turf/closed/wall,/area/engine/engineering) "cvK" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/orange/visible{dir = 4},/turf/open/space,/area/space/nearstation) "cvL" = (/obj/structure/lattice,/obj/machinery/atmospherics/pipe/simple/orange/visible{dir = 9},/turf/open/space,/area/space/nearstation) -"cvM" = (/obj/machinery/door/airlock/external{name = "External Access"; req_access_txt = "13"},/turf/open/floor/plating,/area/maintenance/starboard/aft) +"cvM" = (/obj/machinery/door/airlock/external{name = "External Access"; req_access_txt = "13"},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/turf/open/floor/plating,/area/maintenance/starboard/aft) "cvN" = (/obj/effect/decal/cleanable/dirt,/obj/structure/closet/emcloset,/turf/open/floor/plating,/area/maintenance/starboard/aft) "cvO" = (/obj/structure/cable,/obj/structure/lattice/catwalk,/turf/open/space,/area/solar/starboard/aft) "cvP" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/open/floor/plating,/area/maintenance/port/aft) @@ -6950,23 +6928,49 @@ "cDO" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/ai) "cDP" = (/obj/machinery/airalarm{dir = 1; pixel_y = -22},/obj/machinery/holopad,/turf/open/floor/plasteel/dark,/area/ai_monitored/turret_protected/ai) "cDQ" = (/obj/machinery/camera{c_tag = "MiniSat External South"; network = list("minisat"); start_active = 1},/turf/open/space,/area/space/nearstation) +"dhW" = (/turf/closed/wall/r_wall,/area/science/explab) +"djL" = (/obj/structure/disposalpipe/trunk{dir = 8},/obj/structure/disposaloutlet{dir = 1},/turf/open/floor/engine,/area/maintenance/starboard/aft) "dlK" = (/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 8},/obj/machinery/computer/rdconsole/production{dir = 4},/turf/open/floor/plasteel/dark/corner{dir = 1},/area/engine/break_room) +"dxA" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/engine,/area/maintenance/starboard/aft) "dJc" = (/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel,/area/quartermaster/miningdock) "dPC" = (/obj/structure/closet/crate{name = "Asshole Containment"},/obj/item/banhammer,/obj/item/toy/plush/mammal/winfre{item_state = "Winfre"; name = "Winfre, Destroyer of Fun"},/turf/open/floor/plating,/area/maintenance/starboard/fore) "emi" = (/obj/effect/turf_decal/tile/blue{dir = 1},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/machinery/light{dir = 1},/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel,/area/hallway/primary/central) "fns" = (/obj/machinery/light,/turf/open/floor/plasteel,/area/hallway/primary/starboard) "gdU" = (/obj/machinery/atmospherics/pipe/simple/cyan/visible{dir = 10},/turf/closed/wall/r_wall,/area/engine/atmos) +"gkf" = (/obj/machinery/door/airlock/external{name = "Solar Maintenance"; req_access_txt = "10; 13"},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 8},/turf/open/floor/plating,/area/maintenance/aft) +"hbp" = (/obj/structure/cable{icon_state = "4-8"},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 8},/turf/open/floor/plasteel/white,/area/science/explab) +"hBR" = (/obj/structure/window/reinforced,/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio61"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/stripes/line{dir = 10},/turf/open/floor/plasteel,/area/science/xenobiology) +"hOj" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/turf/closed/wall/r_wall,/area/science/circuit) "iiO" = (/obj/machinery/light{dir = 4},/turf/open/floor/engine,/area/science/xenobiology) +"izl" = (/turf/closed/wall/r_wall,/area/maintenance/starboard/aft) "jtW" = (/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 4},/obj/machinery/light{dir = 1},/turf/open/floor/plasteel,/area/security/brig) +"jXD" = (/obj/structure/lattice/catwalk,/turf/open/space/basic,/area/space/nearstation) "kkG" = (/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/wood,/area/library) "lvH" = (/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel,/area/engine/atmos) +"lVa" = (/obj/structure/chair/sofa,/turf/open/floor/carpet,/area/science/misc_lab) "mAx" = (/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/carpet/royalblue,/area/crew_quarters/heads/captain) +"mVN" = (/obj/structure/sign/poster/official/random{pixel_y = 32},/turf/open/floor/carpet,/area/science/misc_lab) +"nwV" = (/obj/structure/table/reinforced,/obj/machinery/button/door{id = "xenobio1"; name = "Containment Blast Doors"; pixel_y = 4; req_access_txt = "55"},/obj/structure/window/reinforced{dir = 1},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/light,/obj/effect/turf_decal/stripes/line{dir = 5},/turf/open/floor/plasteel,/area/science/xenobiology) +"nMm" = (/obj/structure/cable{icon_state = "0-2"},/obj/structure/cable{icon_state = "0-8"},/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/poddoor/preopen{id = "xenobio61"; name = "containment blast door"},/turf/open/floor/engine,/area/maintenance/starboard/aft) +"opz" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1; external_pressure_bound = 140; name = "killroom vent"; pressure_checks = 0},/turf/open/floor/circuit/telecomms,/area/science/xenobiology) +"oHr" = (/obj/structure/sign/poster/official/safety_internals{pixel_x = -32},/turf/closed/wall/r_wall,/area/science/xenobiology) "oQA" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/visible{dir = 4},/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel,/area/engine/atmos) +"pdg" = (/turf/open/floor/carpet,/area/science/misc_lab) +"phz" = (/obj/machinery/door/airlock/external{name = "External Access"; req_access_txt = "13"},/obj/effect/mapping_helpers/airlock/cyclelink_helper{dir = 4},/turf/open/floor/plating,/area/maintenance/starboard/aft) +"pND" = (/turf/open/floor/engine,/area/maintenance/starboard/aft) "qyM" = (/obj/machinery/atmospherics/components/unary/portables_connector/visible{dir = 4},/obj/machinery/portable_atmospherics/scrubber,/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel/white/corner{dir = 1},/area/engine/atmos) "ren" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 4},/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel/white,/area/medical/virology) +"siW" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/structure/cable,/obj/effect/spawner/structure/window/reinforced,/obj/machinery/door/poddoor/preopen{id = "xenobio61"; name = "containment blast door"},/turf/open/floor/engine,/area/maintenance/starboard/aft) +"sWK" = (/obj/structure/table,/obj/item/storage/box/beakers{pixel_x = 2; pixel_y = 2},/obj/item/grenade/chem_grenade,/obj/item/grenade/chem_grenade,/obj/item/pipe_dispenser,/turf/open/floor/engine,/area/science/mixing) +"sXb" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{id = "xenobio1"; name = "containment blast door"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/engine,/area/science/xenobiology) "tIS" = (/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/wood,/area/security/vacantoffice) +"uZG" = (/obj/structure/disposalpipe/segment,/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{icon_state = "1-4"},/turf/open/floor/plasteel/white,/area/science/xenobiology) +"vgR" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/door/window/northleft{dir = 4; name = "Containment Pen"; req_access_txt = "55"},/obj/machinery/door/poddoor/preopen{id = "xenobio61"; name = "containment blast door"},/turf/open/floor/engine,/area/maintenance/starboard/aft) "vId" = (/obj/machinery/light{dir = 8},/turf/open/floor/engine,/area/science/xenobiology) +"wHA" = (/obj/effect/landmark/blobstart,/obj/effect/landmark/xeno_spawn,/turf/open/floor/engine,/area/science/explab) +"wLY" = (/obj/structure/bookcase/manuals/research_and_development,/obj/machinery/light{dir = 1; pixel_y = 16},/turf/open/floor/carpet,/area/science/misc_lab) "wST" = (/obj/structure/disposalpipe/segment,/obj/item/twohanded/required/kirbyplants/random,/turf/open/floor/plasteel/grimy,/area/security/detectives_office) +"xSo" = (/obj/machinery/light{dir = 4},/turf/open/floor/engine,/area/maintenance/starboard/aft) "xYc" = (/obj/item/crowbar,/obj/item/wrench,/obj/structure/window/reinforced,/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/effect/turf_decal/tile/yellow{dir = 8},/turf/open/floor/plasteel/dark/corner,/area/hallway/primary/aft) (1,1,1) = {" @@ -7106,60 +7110,60 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdrbnBbkCbnCbmbbnDbnEbdraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnFbnGbnHbnIbnJbnKbmibmibmibnLbmibmibnMbnNbnObnPbnQbnRbnSbnTbihbnUbeVbeVbeVbnVbnWaLzblhbnXbnYbnYbnYbnYbnZboabobaadaaabgKbocbodbodbodboebgMaaaaadbofbntbnubnvbojbokaZDbolaZDbjiaIPbombfvbonboobopboqborbfvbosblxbmQbotboubhcbovbotbmWbowboxberboybozboAboBboCboCboDboEboHboGboHboIboJboKbfHboLboMboNboOboPboQboRboSboTboUboVboWaRhbfLboXboYboZbfSbpabpbbpcblqbgRblrbfSbpebpfbpgbphbphbphbphbphbphbpiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdrbpjbkCbkCbkCbdrbdrbdraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabnFbpkbplbpmbpnbpnbpnbpnbpnbpnbpnbpnbpnbpobppbpqbprbpsbptbpubpvbpwbpwbpybpzbfabpAbpBblhblhbobbpCbpDbpEbpFbpGbobaaaaaabgKbpHbpIbpJbpIbpKbgMaaaaaabofboibpdbpxbofbpOaZDbpPaZDbjiaIPbpQbpRbpSboobpTbitbpUbfvbjEbpVbpWbpXbpYbhcbpZbpXbqabqbbjEberberbqcberbqdbqebqfbqfbqfbqgbqhbqibqibqibqjbqkbfIbfIbfIbfIbfIbqlbqmbkmbqnboWboWbqobqpbqlbqqbqrbqsbqtblUblVblWblXbogbohbfSbqAbqBbqCbqDbqDbqDbqDbqDbqEbhIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbnFbnFbqGbplbkVbmibqHbqHbqHbqHbmibmibmibmibqIbqJbqKbqLbqMbqNbqObqPbqQbpwbpwbpzbqRbqSbqTbqUbqVbqWbqXbpLbpMbpNbrbbobaadaaabgKbrcbrdbrdbrdbrebgMaaaaadbofbqxbqybDUbofbriaZDbolaZDbjiaIPbpQbfvbrjboobrkbrlbrmbfvbrnblxbrobpXbjEbrpbjEbpXbrqbrrbrsbrtbrubrvbrwbrxbrybrzbrAbrBbrCbrDbrEbrFbrGblJbrHbrIbrJbrKbrLbrMbrNbrObrPbrQbrRbrSboWbrTbrUbrVbrWaSxbqtbqubqvbqwbqYbgRbqZbscbsdbfSbsebsebsebsebsebsebkzbhIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsfbsgbsfbshbsibsjbskbslbmibmibmibmibmibsmbhYbhYbsnbpwbsobspbsqbpubsrbpwbssbpwbstbsubpAbsvbswbsxbsybszbrabrfbpNbsCbobaaaaaabgKbsDbsEbsFbsEbsGbgMaaaaaabsHbsIbsJbsHbsHbsHbsHbsKbsHbsLaLzbsMbfvbfvbsNbsObsPbfvbfvbhcbsQbsRbsSbsTbsSbsUbsSbsWbqbbhcbhcbhcbqbbhcbhbbrybrzbsXbsYbsZbtabtbbtcbrGbtdbtebtfbtgbtgbtgbthbtibtjbtkbtlbtmbtnbtobtpbtqbtrblSbtsbqtbqtbttbtubtvbttbqtbfSbfSbfSbtwbtxbtybtzbtAbsebtBbhIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtCbtDbtEbtFbmibkVbmibqHbqHbtGbqHbmibmibtHbtIbhYbtJbpwbsobspbpwbtKbpwbpwbtLbpwbstbsubpAaIPbswbtMbtNbtObrgbrgbrhbtRbobaadaadbtSbtTbtUbtVbtWbtXbtYaadaadbtZbuabubbucbudbuebufbugbsHbuhaIPbuibujbukbulbumbunbuobupbuqburbusbutbutbutbutbutbuubuvbutbutbutbuwblCbuxbuybrzbuzbuAbuBbuBbuCbuDbrGblJbrHbuEbuFbuGbuHbuIbuJbuKbkmbuLbkmbkmbkmbuMbqlbuNbuObuPbuQbuRbuSbuTbuUbuVbuWbuXbuYbuZbvabvbbvbbvbbvcbvdbvebhIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbnFbnFbvfbmibkVbmibmibmibmibmibmibmibtHbvgbhYbvhbvibvjbvkbvlbvmbvnbvobpwbvpbpzbvqbpAaIPbswbsxbobbvrbvsbvtbvubvvbobaaaaaaaadbgKbvwbvxbvwbgMaadaaaaaabtZbvybvzbvAbvBbvCbvCbvDbvEbvFbvGaMXbvHbvIbvJbvKbvLbvMbvNbvMbvMbvObvPbvQbvRbvRbvRbvSbvTbhcbhcbvUbvVbvVbvWbrzbrzbrzbvXbvYbvZbtbbuDbrGbwabrHbfLbqlbqlbqlbqlbqlbqlbqlbqlbqlbwbbwcbwbbqlbwdbwebwfbwgbwgbwgbwhbwibwjbwkbwlbwmbwnbwobwpbwqbwrbwsbwtbwubwvblYbwwbwwblYaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwxbtCbtDbtEbpkbwybmjbwzbnKbmibwybmibmibmibtHbwAbhYbwBbpwbsobwCbwDbwEbpwbpwbpwbwFbpzbvqbpAaXNbswbwGbobbwHbwIbwJbwKbpGbobaaaaaaaadbwLbwMbrdbwNbwOaadaaaaaabtZbwPbwQbwRbwSbwTbwUbwVbsHbwWaIPbjDbjEbjEbwXbwYbsWbwZbxabxbbxcbxcbxbbxabxbbxabxbbxabxbbxabfzbfzbvVbxdbuBbxebxfbrzbvXbxgbxhbxibxjbrGbxkbxlbxmbxnbxobwgbwgbxpbwgbwgbxqbxrbxsbxtbxubwgbxvbxwbxxbxybxybxybxzbxzbxzbxzbxzbxAbxBbxCbxDbxCbxEbxCbsebxFbxGbxHbxIbxJblYaadaaaaaaaaaaaaaaaaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxKbxLbxKbxMbxNbxMbxMbxMbxMbxMbxObxPbmibtHbxQbhYbxRbxSbxTbxUbxVbxWbxXbxXbxXbxWbxWbxYbpAaKebxZbsxbobbyabybbycbydbyebobaaaaaaaadbyfbygbtVbyhbyiaadaaaaaabtZbyjbykbylbymbwTbwUbwVbsHbynaIPbjDbyobypbyqbwYbyrbysbxabytbyubyvbywbyxbjcbyzbyAbyzbyBbxabhcbyCbvVbyDbuBbyEbyFbyGbyHbyIbyJbyJbyKbyLbyMbyNbyObyPbyQbyRbySbyRbyRbyTbyRbyRbyUbyVbyRbyRbyWbyXbyYbxybrXbrYbrZbzcbzdbzebxzbzfbzgbzhbzibzjbzgbzkbsebxFbhIbzlbzmbznblYaaaaaaaaaaaaaaaaaaaaaaadbzoaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbnFbnFbnFbhYbnFbnFbnFbzpbzpbzpbzpbzqbzrbzrbzpbzpbzsbztbzubzvbxWbzwbzxbzybzzbxWbzAbpAbbeaTBaTBbobbobbobbobbobbzBbobaILaILaILbtSbzCbzDbzEbtYaILaILaILbsHbsHbsHbsHbsHbsHbsHbsHbsHbzFaIPbzGbxabxabzHbzIbxabxabxabzJbyubzKbyubzLbzMbzNbzObzPbzQbzLbhcbyCbvVbzRbzSbzTbzUbzVbzWbzXbzUbzUbzYbzZbAabAbbAcbAcbAcbAcbAdbAcbAcbAcbAebAebAfbAgbAhbAhbtrbAibtsbxybHIbsbbsAbAmbAnbAobApbsebsebAqbAqbAqbsebArbsebxFbhIbAsbzmbAtblYaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabzpbAubAvbAwbAxbAybAzbzrbAAbABbACbADbxXbAEbAFbAGbAHbxWbzAbpAaIPaLPbAIbAJbAKaLPbiFbALbAMbANaWDaWDaWDbAObAPbAQbARbASaIPaIPaIPaIPaLOaIPaLzbATaIPaIPbAUaIPbAVaIPbAWbxabAXbAYbAZbBabBbbxabBcbyubBdbyubzLbzMbzMbBebBfbBgbzLbhcbBhbvVbuBbBibBjbBkbBlbBmbBnbBobBpbrGbrGbBqbBrbAcbBsbBtbBubBvbBwbBxbAcbBybBzbBAbBBbBCbAhbtrbAibBDbBEbsBbsVbtPbBIbBJbBKbApbBLbBLbBLbBLbBLbBLbBLbsebxFbhIbBMbBNbBOblYaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabzrbBPbBQbBRbBSbBTbBUbBVbBWbBXbBYbBZbCabCbbAGbCcbCdbxWbzAbCeaIPaIPaIPaIPaIPaIPbCfaIPbpAaIPaIPaIPaIPaIPbCgbChbCiaIPaIPaIPaIPaIPaIPaIPaLzaIPaIPaIPaIPaNhbAVbCjbjDbxabCkbClbCmbCnbCobxabCpbyubyvbCqbxabCrbCsbCtbCubCvbxabhcbyCbvVbvVbvVbvVbvVbrGbrGbrGbrGbrGbrGbCwbCxbCybAcbCzbCAbCBbCCbCDbCEbAcbCFbCGbCHbCIbCJbAhbtrbCKbCLbCMbtQbyybyybyZbzabzbbApbBLbBLbCSbCTbBLbBLbBLbsebxFbhIbCUbzmbCVblYaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzpbCWbCXbIYbCZbDabDbbDcbDdbDebDfbDdbDgbDhbDibDjbDkbxWbDlbDmbDnaKlbDnbDobDnbDnbDpbDnbDqbfQbDrbDsbfQbDtbDubDvbDwbDxbDybDzbDAbDAbDBbDAbDCbDDbDAbDEbDFbDGbDHbfQbDIbxabDJbDKbDLbxbbxbbxabxbbDMbxbbxabxabxabxabxabxabxabxabhcbhcbDNbDObDPbwZbDQbDRbAjbAkbAlbBFbDRbDWbDXbDYbAcbBsbDZbEabEbbEcbEdbAcbEebEfbEgbEhbEibAhbtrbEjbEkbxzbBGbBHbCNbCObCPbCQbApbBLbBLbBLbErbBLbBLbBLbsebEsbEtbEubzmbznblYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzpbzpbzrbzrbzrbzrbzpbzpbEvbEwbACaTRbxWbxWbxWbxWbxWbxWbExbEyaITaITaITaITbEzbEzbEzbEzbEzbEzbEzbEzbEzbEzbEAaHpbEBbECbECbECbECbECbEDbECbECbECbECbEEbEFbEEaIUaKfbEGbxabEHbEIbEJbEKbELbxabEMbyubENbEObEPbEQbERbESbETbEUbEOblDbhcbhcbhcbhcbhcbsWbEVbCRbDSbCRbDTbDRbEZbCxbFabFabFabFabFabFabFabFabFabFbbFbbFbbFbbFbbFbbFcbFdbFebxzbxzbxzbxzbxzbxzbxzbApbsebsebsebsebsebsebsebsebxFbhIbFfbFgblYblYaadaadaadaaeaaeaaeaaeaaeaaeaaeaaeaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabsfbsgbsfbshbsibsjbskbslbmibmibmibmibmibsmbhYbhYbsnbpwbsobspbsqbpubsrbpwbssbpwbstbsubpAbsvbswbsxbsybszbrabrfbpNbsCbobaaaaaabgKbsDbsEbsFbsEbsGbgMaaaaaabsHbsIbsJbsHbsHbsHbsHbsKbsHbsLaLzbsMbfvbfvbsNbsObsPbfvbfvbhcbsQbsRbsSbsTbsSbsUbsSbsWbqbbhcbhcbhcbqbbhcbhbbrybrzbsXbsYbsZbtabtbbtcbrGbtdbtebtfbtgbtgbtgbthbtibtjbtkbtlbtmbtnbtobtpbtqbtrblSbtsbqtbqtbttbtubtvbttbqtbScbScbScbScbScbScbScbScbScbtBbhIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabtCbtDbtEbtFbmibkVbmibqHbqHbtGbqHbmibmibtHbtIbhYbtJbpwbsobspbpwbtKbpwbpwbtLbpwbstbsubpAaIPbswbtMbtNbtObrgbrgbrhbtRbobaadaadbtSbtTbtUbtVbtWbtXbtYaadaadbtZbuabubbucbudbuebufbugbsHbuhaIPbuibujbukbulbumbunbuobupbuqburbusbutbutbutbutbutbuubuvbutbutbutbuwblCbuxbuybrzbuzbuAbuBbuBbuCbuDbrGblJbrHbuEbuFbuGbuHbuIbuJbuKbkmbuLbkmbkmbkmbuMbqlbuNbuObuPbuQbuRbuSbuTbuUbuVbuWbuXbuYbuZbvabvbbvabtwbvcbvdbvebhIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbnFbnFbvfbmibkVbmibmibmibmibmibmibmibtHbvgbhYbvhbvibvjbvkbvlbvmbvnbvobpwbvpbpzbvqbpAaIPbswbsxbobbvrbvsbvtbvubvvbobaaaaaaaadbgKbvwbvxbvwbgMaadaaaaaabtZbvybvzbvAbvBbvCbvCbvDbvEbvFbvGaMXbvHbvIbvJbvKbvLbvMbvNbvMbvMbvObvPbvQbvRbvRbvRbvSbvTbhcbhcbvUbvVbvVbvWbrzbrzbrzbvXbvYbvZbtbbuDbrGbwabrHbfLbqlbqlbqlbqlbqlbqlbqlbqlbqlbwbbwcbwbbqlbwdbwebwfbwgbwgbwgbwhbwibwjbwkbwlbwmbwnbwqbwpbwqbwrbwsbwtbwubwvblYbwwbwwblYaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabwxbtCbtDbtEbpkbwybmjbwzbnKbmibwybmibmibmibtHbwAbhYbwBbpwbsobwCbwDbwEbpwbpwbpwbwFbpzbvqbpAaXNbswbwGbobbwHbwIbwJbwKbpGbobaaaaaaaadbwLbwMbrdbwNbwOaadaaaaaabtZbwPbwQbwRbwSbwTbwUbwVbsHbwWaIPbjDbjEbjEbwXbwYbsWbwZbxabxbbxcbxcbxbbxabxbbxabxbbxabxbbxabfzbfzbvVbxdbuBbxebxfbrzbvXbxgbxhbxibxjbrGbxkbxlbxmbxnbxobwgbwgbxpbwgbwgbxqbxrbxsbxtbxubwgbxvbxwbxxbxybxybxybxzbxzbxzbxzbXybxAbzgbzjbxDbzjbxEbtxbScbxFbxGbxHbxIbxJblYaadaaaaaaaaaaaaaaaaaaaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxKbxLbxKbxMbxNbxMbxMbxMbxMbxMbxObxPbmibtHbxQbhYbxRbxSbxTbxUbxVbxWbxXbxXbxXbxWbxWbxYbpAaKebxZbsxbobbyabybbycbydbyebobaaaaaaaadbyfbygbtVbyhbyiaadaaaaaabtZbyjbykbylbymbwTbwUbwVbsHbynaIPbjDbyobypbyqbwYbyrbysbxabytbyubyvbywbyxbjcbyzbyAbyzbyBbxabhcbyCbvVbyDbuBbyEbyFbyGbyHbyIbyJbyJbyKbyLbyMbyNbyObyPbyQbyRbySbyRbyRbyTbyRbyRbyUbyVbyRbyRbyWbyXbyYbxybrXbrYbrZbzcbzdbzebXybzfbzgbzjbzibzjbxEbzkbScbxFbhIbzlbzmbznblYaaaaaaaaaaaaaaaaaaaaaaadbzoaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabqFbnFbnFbnFbhYbnFbnFbnFbzpbzpbzpbzpbzqbzrbzrbzpbzpbzsbztbzubzvbxWbzwbzxbzybzzbxWbzAbpAbbeaTBaTBbobbobbobbobbobbzBbobaILaILaILbtSbzCbzDbzEbtYaILaILaILbsHbsHbsHbsHbsHbsHbsHbsHbsHbzFaIPbzGbxabxabzHbzIbxabxabxabzJbyubzKbyubzLbzMbzNbzObzPbzQbzLbhcbyCbvVbzRbzSbzTbzUbzVbzWbzXbzUbzUbzYbzZbAabAbbAcbAcbAcbAcbAdbAcbAcbAcbAebAebAfbAgbAhbAhbtrbAibtsbxybHIbsbbsAbAmbAnbAobScbtybtzbAqbtAbAqbApbArbScbxFbhIbAsbzmbAtblYaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabzpbAubAvbAwbAxbAybAzbzrbAAbABbACbADbxXbAEbAFbAGbAHbxWbzAbpAaIPaLPbAIbAJbAKaLPbiFbALbAMbANaWDaWDaWDbAObAPbAQbARbASaIPaIPaIPaIPaLOaIPaLzbATaIPaIPbAUaIPbAVaIPbAWbxabAXbAYbAZbBabBbbxabBcbyubBdbyubzLbzMbzMbBebBfbBgbzLbhcbBhbvVbuBbBibBjbBkbBlbBmbBnbBobBpbrGbrGbBqbBrbAcbBsbBtbBubBvbBwbBxbAcbBybBzbBAbBBbBCbAhbtrbAibBDbBEbsBbsVbtPbBIbBJbBKbScbBLbTkbTlbTmbTlbTkbTnbScbxFbhIbBMbBNbBOblYaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaabzrbBPbBQbBRbBSbBTbBUbBVbBWbBXbBYbBZbCabCbbAGbCcbCdbxWbzAbCeaIPaIPaIPaIPaIPaIPbCfaIPbpAaIPaIPaIPaIPaIPbCgbChbCiaIPaIPaIPaIPaIPaIPaIPaLzaIPaIPaIPaIPaNhbAVbCjbjDbxabCkbClbCmbCnbCobxabCpbyubyvbCqbxabCrbCsbCtbCubCvbxabhcbyCbvVbvVbvVbvVbvVbrGbrGbrGbrGbrGbrGbCwbCxbCybAcbCzbCAbCBbCCbCDbCEbAcbCFbCGbCHbCIbCJbAhbtrbCKbCLbCMbtQbyybyybyZbzabzbbScbUtbUubCSbCTbCSbUvbUtbScbxFbhIbCUbzmbCVblYaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzpbCWbCXbIYbCZbDabDbbDcbDdbDebDfbDdbDgbDhbDibDjbDkbxWbDlbDmbDnaKlbDnbDobDnbDnbDpbDnbDqbfQbDrbDsbfQbDtbDubDvbDwbDxbDybDzbDAbDAbDBbDAbDCbDDbDAbDEbDFbDGbDHbfQbDIbxabDJbDKbDLbxbbxbbxabxbbDMbxbbxabxabxabxabxabxabxabxabhcbhcbDNbDObDPbwZbDQbDRbAjbAkbAlbBFbDRbDWbDXbDYbAcbBsbDZbEabEbbEcbEdbAcbEebEfbEgbEhbEibAhbtrbEjbEkbxzbBGbBHbCNbCObCPbCQbScbUwbVxbVybErbVybVxbVzbScbEsbEtbEubzmbznblYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabzpbzpbzrbzrbzrbzrbzpbzpbEvbEwbACaTRbxWbxWbxWbxWbxWbxWbExbEyaITaITaITaITbEzbEzbEzbEzbEzbEzbEzbEzbEzbEzbEAaHpbEBbECbECbECbECbECbEDbECbECbECbECbEEbEFbEEaIUaKfbEGbxabEHbEIbEJbEKbELbxabEMbyubENbEObEPbEQbERbESbETbEUbEOblDbhcbhcbhcbhcbhcbsWbEVbCRbDSbCRbDTbDRbEZbCxbFabFabFabFabFabFabFabFabFabFbbFbbFbbFbbFbbFbbFcbFdbFebxzbxzbxzbxzbxzbxzbxzbScbScbScbScbScbScbScbScbScbxFbhIbFfbFgblYblYaadaadaadaaeaaeaaeaaeaaeaaeaaeaaeaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFhaaaaaaaaaaadaaaaaabzsbFibFjbFkbFlbFlbFmbFnbFobFpbFqbFrbEyaaaaaaaadaaabEzbFsbFtbFubFvbFwbFxbFybFzbEzbFAbFBbFCbECbFDbFEbFFbFGbFHbFIbFJbFKbFLbFMbFNbEEbEEbEEbEEbxabFObFPbFQbFRbFSbFTbFUbFVbFWbFXbFVbFVbFVbFYbyubFZbGabGbbGcbGcbGdbGebGfbGgbEVbIZbDVbElbEmbDRbEZbCxbFabGlbGlbGlbGmbGlbGlbGlbFabGnbGnbGobGnbGnbFbbGpbGqbGrbGsbGtbGubGvbGwbGxbGybGzbGAbGBbGCbGDbGEbGFbGGbGGbGHbGIbGtbGtblYaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaabzsbzsbGJbGKbGLbDdbGMbGNbGObGObGPbGQbGRbGSaadbGTbGUbGVbGWbGXbFzbGYbFzbGZbFzbFzbFzbEzbHabHbbHcbECbHdbHebHfbHgbHhbHibHjbECbECbHkbHlbHmbHnbHobHpbHqbHrbHsbHtbHubHvbHwbHxbHybHzbHAbHBbHCbyubyubyubHDbjEbjEbjEbjEbjEbHEbHFbwYbEVbEnbEobCRbEpbDRbEZbCxbFabGlbGlbGlbGlbGlbGlbGlbFabHJbHKbHLbHMbHNbHObHPbHQbGrbHRbHSbHTbHTbHTbHTbHTbHTbHUbHVbHWbGDblYbHXbHYbHZbHZbIabIbbIcbGtatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbIdbIebIdaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIfbIfbIfbzsbIgbIhbEwbIibIhbIjbzsbEybIkbEybEybIlbImaaabInbIobIpbIqbFzbFzbIrbFzbIsbItbIubFzbEzbHabHbaTWbECbIvbIwbIxbIybIzbIAbIBbECbCwbICbIDbIEbIDbIFbIGbHAbIHbIIbIJbyubIKbxabILbIMbINbxabIObyubyubyubyubIPbjEbIQbIRbISbITbIUbIVbIWbIXbEqbCRbEWbEXbJbbJcbJdbFabGlbGlbJebGlbGlbGlbGlbFabJfbJgbJgbJhbJibJjbJkbJlbGrbJmbJnbHTbHTbHTbJobJpbJqbJqbJqbJqbJrbJsbJtbJubJvbJwbJxbJybJzbHSatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbIebIdbJAbIdbIeaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIfbJBbJCbzsbJDbIhbJEbIhbJFbIjbzsbJGbJHbJIbEybIlbImaadbInbJJbJKbJLbJMbJNbJMbJMbJObJPbJQbJQbJRbJSbJTbJUbECbECbECbECbECbJVbJWbECbECbJXbJYbJZbKabJZbKbbKcbxabKdbKebKfbKgbKhbxabKibKjbKkbxabKlbKmbKnbKobKpbKqbjEbgzbKrbKsbKtbKsbKubKvbKwbEYbGhbGibGjbDRbEZbCxbFabFabKBbGlbGlbKCbKBbFabFabKDbKEbKFbKFbKGbFbbKHbKIbGrbKJbHSbHTbHTbKKbKLbKMbHTbKNbKObKPbKQbKRbKSbKTbKUbKVbKWbKXbKYbHSatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbKZbIebLabLbbLcbIebKZaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLdbLebIhbIhbLfbJDbIhbLgbIhbIhbIjbzsbLhbJIbLibEybIlbImaaabInbLjbLkbLlbFzbFzbLmbFzbLnbLobLpbLqbEzbLrbLsbLtbLubLvbLvbLvbLvbLwbLxbLvbLvbLybLzbLAbLBbLCbLDbLEbFTbFTbFTbFTbFTbFTbFTbFTbFTbFTbLFbLFbLFbLFbLFbLFbLGbLHbjEbjEbjEbjEbLIbLJblxbDRbDRbDRbDRbDRbDRbEZbCxbFabLKbLLbLMbLNbLObLPbLQbLRbKDbKEbKFbKFbKGbFbbLSbLTbGrbLUbGtbLVbLWbLXbLYbLZbMabHTbHTbMbbGDbMcbMdbMebGtbMfbMgbMgbGtbGtaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadatJaadaadbIebIebMhbMibMibMibMjbIebIeaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabLdbLebIhbIhbLfbJDbIhbLgbIhbIhbIjbzsbLhbJIbLibEybIlbImaaabInbLjbLkbLlbFzbFzbLmbFzbLnbLobLpbLqbEzbLrbLsbLtbLubLvbLvbLvbLvbLwbLxbLvbLvbLybLzbLAbLBbLCbLDbLEbFTbFTbFTbFTbFTbFTbFTbFTbFTbFTbLFbLFbLFbLFbLFbLFbLGbLHbjEbjEbjEbjEbLIbLJblxbDRbDRbDRbDRbDRbDRbEZbCxbFabLKbLLbLMbLNbLObLPbLQbLRbKDbKEcbXbKFbKGbFbbLSbLTbGrbLUbGtbLVbLWbLXbLYbLZbMabHTbHTbMbbGDbMcbMdbMebGtbMfbMgbMgbGtbGtaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadatJaadaadbIebIebMhbMibMibMibMjbIebIeaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIfbMkbMlbMmbMndJcbMobMpbMqbMrbzsbEybEybEybEybIlbMsaadbMtbGUbMubGWbMvbFzbMwbFzbFzbFzbMxbMybMzbMAbMBbMCbMDbMEbMEbMEbMEbMFbMEbMGbMHbMIbMJbMKbMLbMMbMNbMObMPbMQbMPbMPbMPbMPbMPbMPbMPbMPbMPbMPbMPbMPbMPbMRbMSbLHbMTbMUbMVbMWbIUbIVbMXbMYbMZbMZbNabNbbMJbMKbNcbFabNdbNebNfbNgbNhbNibNjbLRbLRbLRbLRbLRbLRbNkbNlbNmbNnbNobGtbGDbGDbGDbGDbNpbGDbNqbHTbHTbGDbNrbNsbNtbGtbNubNvbNwbNxbNyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNzbNAbNzbMibNBbMibNCbNDbIdaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIfbIfbIfbzsbzsbIfbIfbIfbzsbzsbzsbNEbEyaaabNFbNGbImaaaaaaaadaaabEzbNHbNIbNJbFzbNKbNLbNMbNNbEzbNObNPbNQbNRbNSbNTbNUbNVbNWbNSbNSbNSbNSbNSbNXbNYbNSbNSbNZbNSbOabNSbNSbNSbNSbNSbEEbEEbEEbEEbEEbEEbEEbEEbCxbEZbLHbObbOcbOdbOebKsbOfbOgbOhbOibOibOjbOibOibOkbOlbFabOmbOnbOobOnbOnbOnbOpbOqbOrbOsbOtbOubOvbOwbOxbKIbGrbOyaadbOzbOAbOBbOCbODbOCbOEbOFbOGbGDbOHbOIbOJbGtbGtbGtbGtbGtbGtaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadaadatJaadaadbIebIebOKbMibMibMibOLbIebIeaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaoBaoBaoBaadaaFaadaoBaadaaFaadbNFbJIbNFaadbNFbIlbImaadaadaadaadbEzbEzbEzbEzbEzbEzbEzbEzbEzbEzbOMbNPbONbOObNSbNTbNUbNVbNWbOPbOPbOQbORbOSbOTbOUbOVbOWbOXbOYbOZbPabPbbPcbPdbNSaadaadaadaadaadaadaadbEEbCxbPebPfbPfbPfbPfbPfbPgbPhbPibPfbPfbPfbPfbPfbPfbPebPjbPkbPlbPmbPnbPmbPobPmbPpbPqbPrbPqbPqbPqbPqbPsbPtbPubGrbOyaadbOzbPvbPwbPxbPybPzbPAbPBbPCbGDbPDbOIbPEbNrbPFbPGbPHbPIaadatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbKZbIebPJbPKbPLbPMbKZaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaoBaoBaoBaadaaFaadaoBaadaaFaadbNFbJIbNFbNFbNFbIlbImaaaaaaaaaaadbPNbPObPObPPbPQbPRbPRbPSbPSbPNbHabNPbONbPTbNSbPUbPVbPVbPWbPXbOPbPYbPZbPdbQabQbbQcbQdbQebQfbPdbQgbPdbQhbQibQjaadbQkbQkbQkbQkbQkaadbEEbCxbQlbQmbQnbQobQpbPfbQqbQrbQsbPfbQtbQubQvbQubQtbQlbQwbQxbQybQzbQybQAbQBbQybQCbQybQDbQybQEbQybQybQFbQGbQHbQIbOyaadbOzbPvbQJbOCbQKbOCbQLbQMbQNbGDbQObQPbQQbQRbQSbQTbQUbPIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbIebIdbQVbIdbPMaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbEybEybEybEybEybEybEybEybEybEybEybEybNFbNFbNFbEybEybEybJIbJIbJIbQWbIlbImaaaaaaaaaaadbPNbQXbPPbPPbPPbQYbPRbPRbQZbPNbRabNPbRbbRcbRdbRebRfbRgbRhbRibRjbRfbRfbRfbRkbRlbRmbRnbRobRpbRqbRrbRsbRtbRubRvbRwbRxbRybRzbRAbQkaadbRBbCxbPebRCbQtbQtbRDbPfbREbRFbRGbPfbQubQtbQubRHbRIbRJbCxbFabRKbRLbRMbRLbRNbRObRPbOnbRQbRRbRSbRTbRUbLRbRVbRWbRVbRXbRXbGDbGDbGDbGDbRYbRZbSabSbbSbbScbScbScbSdbNrbSebSfbSgbPIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbIdbIebIdaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEybShbJIbJIbJIbJIbSibSjbSkbJIbSlbSmbSnbSobJIbJIbQWbJIbJIbNFbNFbNFbNGbImaaaaadbSpbSqbSrbSsbSsbStbSsbSubSvbSwbSwbSxbSybNPbHbbSzbSAbSBbSCbSDbSEbSFbSGbSDbSHbSDbSIbSJbSKbOWbSLbSMbSNbSObSPbSQbSRbSSaadbSTbSUbRAbSVbQkaadbRBbCxbPebSWbSXbQtbSYbPfbSZbTabTbbPfbQtbQtbTcbQtbQtbPebCxbFabLRbLRbLRbLRbNkbTdbTebTfbNkbLRbLRbLRbLRbLRbTgbThbThbTibTjbTkbTlbTmbTlbTnbSbbTobTpbTqbTrbTsbScbTtbNrbSebNrbNrbNraadaadaadaaeaaeaaeaaeaaeaaeaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEybEybShbJIbSkbJIbEybJIbEybJIbTubTvbJIbJIbJIbTwbEybNFbNFbEyaaabNFbIlbImaaaaadbTxbTybTzbTAbTBbTCbTCbTDbTCbTCbTEbTFbTGbTHbHbbOObTIbTJbTKbPdbTLbTMbTNbTObTPbTQbTRbTSbTSbTTbTUbRqbTVbTWbTXbTYbTZbUabUbbRxbUcbRAbRAbQkaadbRBbCxbPebUdbUeaYmbPgbPfbPfbUfbPfbPfbUgbUgbUhbUgbUgbPebCxbFabUibUjbUjbUkbUlbOnbUmbUnbUobUpbGlbGlbGlbLRbUqbThbThbUrbUsbTkbUtbUubUvbUwbSbbUxbUybUzbUAbUBbScbUCbNrbSebNraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebNFbUDbJIbJIbJIbUEbEybUFbEybUGbEybTvbJIbJIbUHbNEbEyaaaaadaaaaaabNFbIlbMsbEybEybMsbUIbPNbUJbUKbULbUMbUNbUObUPbUQbPNbURbUSbHbxYcbUTbUUbUVbPdbPdbUWbOPbUXbUYbUZbVabPdbPdbOWbVbbVcbVdbVcbVdbVebVdbVfaadbQkbQkbQkbQkbQkaadbEEbCxbPebQtbVgbVhbVibVjbVkbVlbVmbVnbQtbQtbQtbQtbVobPebCxbFavIdbGlbGlbVpbVqbOnbVrbOnbVsbVtbGlbGliiObLRbVubThbThbThbVvbVwbVxbVybVzbVAbSbbVBbUAbVCbUAbVDbScbVEbNrbSebNraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEybEybShbJIbJIbJIbVFbJIbTubVGbEybEybEybVHbEybEybEybNFbNFbNFbVIbVJbVKbVLbVMbGObVNbUIbPNbPNbPNbPNbPNbPNbPNbPNbPNbPNbVObVPbHbbWKgdUbVRbVSbTNbVTbTNbOPlvHbPdbPdbVabVUbQibQibVVbVWbVXbRrbVYbVZbWabRvbRwbRxbWbbWcbWcbQkaadbEEbCxbWdbWebWebWebWfbWgbQtbWhbVhbWibVhbVhbVhbVhbWjbPebCxbFabGlbGlbGlbWkbWlbUnbWmbOnbWnbWobUjbUjbWpbLRbWqbWrbThbThbWsbTkbWtbVzbVwbWubSbbWvbUAbWwbUAbUAbScbVEbNrbSebNraadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaoBaaeaadaadbWxaoBbEybEybEybEybEybEybEybEybEybEybJIbJIbJIbJIbJIbWybWzbWAbWAbWBbWCbWDbFnbFnbFnbFnbWEbWFbWFbWFbWFbWFbWGbWHbWHbWIbEybURbWJbHbbWKbWLbWMbWNbQibQibWObWPbQibQibWQbWRbWSbPdbWTbWUbWVbWWbPdbWXbWYbWZbSSaadbSTbXabXbbXcbQkaadbRBbXdbMPbMPbMPbXebPebXfbQtbXgbXhbXibXjbXkbXkbXkbXlbPebCxbFabLRbLRbLRbLRbXmbXnbVrbXobXmbLRbLRbLRbLRbLRbXpbXqbThbThbXrbXsbXsbXsbXsbXtbSbbXubXvbXwbXxbXybScbVEbNrbSebNraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXzbXAbXAbXAbXAbXBbXCbXCbXDbXEbXFbXGbXHbXIbXJbXKbEybXLbEybEybEybEybEybXMbEybEybMsbNGbXNbXNbXNbXNbXNbXNbXNbXNbXObXObXObXObXObNEbXPbEybURbWJbHbqyMbXQbXRbXSbXTbTSbXUbXVoQAbTSbXWbXXbXYbXZbYabYbbYccaqbPdbWXbYebYfbUabUbbRxbYgbWcbWcbQkaadbRBbYhbEEbEEbEEbCxbPebYibQtbQtbYjbYkbYlbQpbXkbQpbYmbPebCxbFabUibUjbUjbYnbUlbOnbYobUnbYpbYqbGlbGlbGlbLRbYrbYsbYtbThbYubThbThbThbYvbYwbYxbYybYzbYAbYBbYCbScbVEbNrbSebNraadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaadaaeaoBaadaoBaoBbNFbNFbNFbJIbYDbYEbYFbYGbYHbEybJIbEybYIbYJbYIbYKbYLbYIbYMbMsbNGbXNbYNbYObYPbYQbYRbYSbYNbYTbYUbYVbYWbXObXObXPbEybYXbWJbHbbYYbYZbZabZabZbbZcbZcbZcbZcbZcbZdbZebOPbOPbOPbZfbPdbWVbZgbZhbZibZjbZkbZlbQkbQkbQkbQkbQkaadbRBbYhbZmbCwbCwbCxbQlbZnbZobZpbZqbZrbZsbZtbXkbZtbZubPebCxbFavIdbZvbGlbZwbVqbOnbVrbOnbVsbZxbGlbZviiObLRbZybZzbZAbZBbZCbZDbZEbZEbZFbZGbZHbZIbYzbZJbZKbZLbScbVEbNrbSebNrbNrbNraaeaaeaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaadaaeaaeaaeaaeaaebZMbJIbZNbJIbZObZPbYEbZQbJIbZRbJIbEybYIbZSbYIbZTbZUbYIbZVbMsbNGbXNbYNbZWbZXbZYbZZcaabYNcabcaccadcaecafbXObXPbEybURbWJbHbbNScahbNScaicajbZccakcalcambZccanbVacaobOPcapcaqcarcascatcaubVZcavbRvcawbRxcaxcaycazbQkaadbEEbYhbEEcaAcaBbCxbPecaCcaDcaEcaFcaGcaDcaHbXkcaHrenbRJbCxbFabGlbGlbGlcaIcaJbUnbWmbOnbWncaKbUjbUjbWpbFacaLcaMcaNcaOcaLcaLcaPcaQcaRcaScaTcaUcaVcaWcaXcaYbScbVEbNrcaZbNrcbabNraadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBcbbaoBaoBaoBaadaadbNFbNFbNFcbccbdcbecbfcbgbJIbEybEycbhbYIcbicbjbYIcbkcblbYIbMsbNGbXNcbmcbncbobZYcbpcbmcbmcabcbqcbrcbscbtbXObXPbEybURbWJaYncbudlKcbwcbwcbxcbycbzcbAcbBbZcbPdbVacbCcbDcapcbEcarcascbFcbGbVZcbHcbIcbJcbKcbLcbMcbNbQkaadbEEbYhbEEbJZbJZbCxbPebPfcbOcbPbPfcbQbPfbPfbPfbPfbPfbPebCxbFabLRbLRbLRbLRbXmcbRbVrcbSbXmbLRbLRbLRbLRbFabVwcbTbVwcbUbVwcaLcaPcaQcbVcbWcbXcbYcbZccabUAccbbScbVEbNrcccccdbQSbPIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaadaadaadbNFcceccfccfccgbYHbNEbEycchccibYIccjcckcclccjccjccmbImbNGbXNcbmcbmccnccoccpccqccrccscctccuccvccwbXObXPbEyccxccycczcbuccAccBccCccDccEccFccGccHbZcccIccJcaobOPcapccKcarcbEccLbWXccMccNbUaccOccPccQcaycaybQkaadbRBbYhccRbEEccSbCxccTbWebWeccUbPfccVccWccXbEEccYccZbEZbCxbFabUibUjbUjcdabUlbOnbYobUncdbcdcbGlbGlbGlbFacddbVwbVwbVwbVwcaLcdecdecdfcdgbYxcdhbUAcdibUAbVDbScbVEbNrcdjbQTcdkbPIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaQaaQaaQaaQaaQaaQaaQaaQaaYaaQaaQaaQaaQaaQaaaaaabEybEybEybEybEybEycdlbEybEybEybEycdmcdnbYIccjcbjcdoccjccjccmbImbNGbXNcdpcdqcdrcdsbYNbYNapccduaWYcdwcdxcdybXOcdzcdAcdBcdCcdDcbucdEcdFcdGcdHcdIcdJcdKcdLcdMbRpcdNbOPbOPbOPcdObPdcdPcdQbWXbWYbPdbSScdRcdSbQkbQkbQkbQkaadbRBcdTcdUbEEcdVcdWcdXbMPcdYcdZbEEceacebcecbEEcedbOibOkceebFavIdbGlbGlcefbVqbOnbVrbOnbVscegbGlbGliiObFacehbVwceicejcekcelcemcenceocdgbSbcepceqbUzbUAcerbSccesbNrcetceubSebPIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaaaadaaaaadaaaaadaaaacfaaaaadaaaaadaaaaaQaadaadbEycevcewbJIcexbJIbJIbJIbJIbNEbEyceycezceAccjcbjbYIceBceCbYIbImbNGbXNceDceEbYNbYNbYNcbmceFceGceHceIceJceKbXObEybEyceLceMceNcbucbuceOcePceQceRceRceRceRbZcbPdceSceTceUceVceWceXceYceZcaubVZcfabRvcawccPcfbcfccfcbQkaadbRBbCwbYhbEEbEEcfdbBrbEEcfecffbEEbEEcfgbEEbEEcffcfhbJccfibFabGlbGlbJecfjcfkbUncflbOnbWncfmbUjbUjbWpbFabVwbVwcfnbVwbVwcaLcdecdecfocfpbSbcfqcfrcfsbUAcftbScbVEbNrbNrbNrbSebNraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaacfucfvcfwaaacfucfvcfwaaacfucfvcfwaaaaaQaaaaaabEycfxbJIcfybEybEycfzbEybEybEybEybZScfAbZSbZSbYIcbkcbkbYIbYIbImbNGbXNcbmcfBcfCbYNcfDcbmcbmcabcfEcaecfFcfGcfHcfIcfJcfKcfLcfMcfNcfOcfPcfQcfRcfScfTcfUcfVcfWcfXcfYcfZbTScgacgbbVUcgcbVYbTVbWYcgdbSScdRcgecgfcggcghbQkaadbEEbEEbYhcgicgjcfdcgkbEEcfecglbOicgmcgncgobOicgpcgqbNtcgrbFabFabFabFabFabFacgscgtcgubFabFabFabFabFabFacaLcaLcaLcaLcaLcaLcgvcgvcgwcgxbScbScbScbScbScbScbScbVEbNrcgycgzbSebNraadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaadcfucgAcfwaaacfucgAcfwaaacfucgAcfwaadaadaaaaaabEycgBbJIcgCbEybUGbJIcgDbSnbVGbEycgEcgFcgGbZScgHccjccjccmbYIbMsbNGbXNbYNcgIcgJbYNcgKcgLbYNcabcgMcgNcgOcgPcgQcgRcgScgTcgUcgVcgWcgXcgYcgZchachbchccePchdcfWchebPdceSbVUchfchgchhchichjbPcchkchlbUaccOccPchmcfccfcbQkaadbEEbCwchnchochpchqchrbEEchschtchucgqbEZcgqcfhchvchwbNtchxbFachychzchzchAchBchCcgtchDbFaaadaadaadaadbNrchEbPGchFchGchGcaLchHchHcgwcdgcaLchIbQObQObQOchJbNrbVEbNrchKbQObSebNrbNrbNraaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaacfucgAcfwaadcfucgAcfwaadcfucgAcfwaaaaadaadaadbEychLcgCchMbEychNbWAchOchPbUHbEychQcgFchRbZScgHccjbJaccmchTbMsbNGbXNbYNchUchVchWchXchYbYNchZciacibciccidbXOciecifcigcihciicijcikcilcimceQcinciocipciqcircisbPdceScitciubPdbPdcitcitcitbWYcivciwcdRcdSbQkbQkbQkbQkaadbEEcdVcixciycizciAciBbEEbEEciCciDciEbEZciFciGbEEbEEbNtchxbFaciHciIciIciJciKciLciMciNbFaaadaaaaaaaadbNrbQOciOciPciQciRcaLciSciScgwcdgcaLbNrbNrciTciUciVciWciXccdccdccdciYciZcjacjbaaeaaeaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcfucgAcfwaaacfucgAcfwaaacfucgAcfwaadaadaaaaaabEycjccjdcjebEycjfcjgbEycjhbEybEycjicjjcjkbZSbYIceCceCbYIcjlbMsbNGbXNbXNbXNbXNbXNbXNbXNbXNbXObXObXObXObXObXObEycjmbEybEycjncjncjncjocjpcjqcjncjrcjscjtcfWbPdbSOcjucitceWbTQbPdbQhbWScitbWYcitbNScjvcjwbZlaadaadaadaadcjxcjycjzcjAcjBcjCcjCcjCcjDcjEcjFciEcjGciEciEbEEcjHbNtchxbFabFacjIcjIbFabFacjIcjJcjIbFaaaaaaaaaaaaabNrbNrcjKcjLbNrbNrcaLcaLcaLcjMcjNcaLchJbNrcjObSecjPbNrcesbNrbNrcjQbNrbNrbNrbNraaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaQaaQaadaaacfucgAcfwaaacfucgAcfwaaacfucgAcfwaaaaadaaaaaacjRcjScjScjScjSbEybEycjTcjUbEybEybEybEybEybEybNFbNFbNFbNFbEycjVcjWbVJcjXcjYcjZcjZcjZcjZcjZcjZcjZcjZcjZcjZcjZcjZckabJIcjfcjnckbckcckdckeckfcjnckgckhckicfWckjckkbTXcklckmcknckocklckocklckpcitbNSckqckrckscktckuckvcjyckwckxckyckzckAckBckCcjCckDbCwckEckFckGckHckIbNbbNbckJckKbNraaaaaaaaaaaaaaaaadckLaadaaaaaaaaaaaaaaabNrckMckNckOckOckPciWckQckRckSckTbNrbNrbNrbNrckUbNrbNrbVEbNrckVckWbQObNraaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaaaadaaaaaaaaackXaaaaaaaaackXaaaaaaaaackXaaaaaaaadcjRcjRcjRckYckZclaclbclcbJIcldcleclfbWAbWAbWAbWAbWAbWAbWAbWAbWAbWAbWAclgbWHclhclicfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcjncjncljclkcllclmclncloclpclqcfWckjclrclscltcluclvclwclxbPdclyclzclAclBclCclDclEclFclGclHclIclJclKclLclMclNclOclPcjCbCwbCwciEciEbBrciEcgqbCwbCwbNtclQbNrbNrbPIbPIbNrbNrbPIclRbPIbNrbNrbPIbPIbPIbNrclSclTclUclVclWclXclXclXclYclZcmacmbcmccmdcmecmfcmgcmhbNrcgzbQOcmibNraaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaoBaoBaoBaadaaFaadaoBaadaaFaadbNFbJIbNFbNFbNFbIlbImaaaaaaaaaaadbPNbPObPObPPbPQbPRbPRbPSbPSbPNbHabNPbONbPTbNSbPUbPVbPVbPWbPXbOPbPYbPZbPdbQabQbbQcbQdbQebQfbPdbQgbPdbQhbQibQjaadbQkbQkbQkbQkbQkaadbEEbCxbQlbQmbQnbQobQpbPfbQqbQrbQsbPfbQtbQubQvbQubQtbQlbQwbQxbXnbQzcflbQAbQBbQybQCbQybQDbQybQEbQybQybQFbQGbQHbQIbOyaadbOzbPvbQJbOCbQKbOCbQLbQMbQNbGDbQObQPbQQbQRbQSbQTbQUbPIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbIebIdbQVbIdbPMaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbEybEybEybEybEybEybEybEybEybEybEybEybNFbNFbNFbEybEybEybJIbJIbJIbQWbIlbImaaaaaaaaaaadbPNbQXbPPbPPbPPbQYbPRbPRbQZbPNbRabNPbRbbRcbRdbRebRfbRgbRhbRibRjbRfbRfbRfbRkbRlbRmbRnbRobRpbRqbRrbRsbRtbRubRvbRwbRxbRybRzbRAbQkaadbRBbCxbPebRCbQtbQtbRDbPfbREbRFbRGbPfbQubQtbQubRHbRIbRJbCxbFabRKbRLbRMbRLbRNbRObRPbOnbRQbRRbRSbRTbRUbLRbRVbRWbRVbRXbRXbGDbGDbGDbGDbRYbRZbSbbSbbSbbGDbGDbGDbSdbNrbSebSfbSgbPIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbIdbIebIdaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEybShbJIbJIbJIbJIbSibSjbSkbJIbSlbSmbSnbSobJIbJIbQWbJIbJIbNFbNFbNFbNGbImaaaaadbSpbSqbSrbSsbSsbStbSsbSubSvbSwbSwbSxbSybNPbHbbSzbSAbSBbSCbSDbSEbSFbSGbSDbSHbSDbSIbSJbSKbOWbSLbSMbSNbSObSPbSQbSRbSSaadbSTbSUbRAbSVbQkaadbRBbCxbPebSWbSXbQtbSYbPfbSZbTabTbbPfbQtbQtbTcbQtbQtbPebCxbFabLRbLRbLRbLRbLRbTdbTebTfbNkbLRbLRbLRbLRbLRbTgbThbThbTibTjcgtlVacgumVNwLYbGIbWvbTrbTqbTrbTsbGDbTtbNrbSebNrbNrbNraadaadaadaaeaaeaaeaaeaaeaaeaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEybEybShbJIbSkbJIbEybJIbEybJIbTubTvbJIbJIbJIbTwbEybNFbNFbEyaaabNFbIlbImaaaaadbTxbTybTzbTAbTBbTCbTCbTDbTCbTCbTEbTFbTGbTHbHbbOObTIbTJbTKbPdbTLbTMbTNbTObTPbTQbTRbTSbTSbTTbTUbRqbTVbTWbTXbTYbTZbUabUbbRxbUcbRAbRAbQkaadbRBbCxbPebUdbUeaYmbPgbPfbPfbUfbPfbPfbUgbUgbUhbUgbUgbPebCxbFachychzchybUkchBbOnbUmbUnbUobUpbGlbGlbGlbLRbUqbThbThbUrbUschCclRclRpdgbVAbGIbUxbUybUzbUAbUBbGDbUCbNrbSebNraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaeaaebNFbUDbJIbJIbJIbUEbEybUFbEybUGbEybTvbJIbJIbUHbNEbEyaaaaadaaaaaabNFbIlbMsbEybEybMsbUIbPNbUJbUKbULbUMbUNbUObUPbUQbPNbURbUSbHbxYcbUTbUUbUVbPdbPdbUWbOPbUXbUYbUZbVabPdbPdbOWbVbbVcbVdbVcbVdbVebVdbVfaadbQkbQkbQkbQkbQkaadbEEbCxbPebQtbVgbVhbVibVjbVkbVlbVmbVnbQtbQtbQtbQtbVobPebCxbFaciKciLciMbVpciNbOnbVrbOnbVsbVtbGlbGliiObLRbVubThbThbThbVvcjIclRclRpdgbVAbGIbVBbWtbVCbWubVDbGDbVEbNrbSebNraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabEybEybShbJIbJIbJIbVFbJIbTubVGbEybEybEybVHbEybEybEybNFbNFbNFbVIbVJbVKbVLbVMbGObVNbUIbPNbPNbPNbPNbPNbPNbPNbPNbPNbPNbVObVPbHbbWKgdUbVRbVSbTNbVTbTNbOPlvHbPdbPdbVabVUbQibQibVVbVWbVXbRrbVYbVZbWabRvbRwbRxbWbbWcbWcbQkaadbEEbCxbWdbWebWebWebWfbWgbQtbWhbVhbWibVhbVhbVhbVhbWjbPebCxbFachyopzchybWkbWlbOnbVrbOnbWnbWobUjbUjbWpbLRbWqbWrbThbThbWspdgpdgpdgpdgbVAbGIbWvcbWbWwbVBsWKbGDbVEbNrbSebNraadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaoBaaeaadaadbWxaoBbEybEybEybEybEybEybEybEybEybEybJIbJIbJIbJIbJIbWybWzbWAbWAbWBbWCbWDbFnbFnbFnbFnbWEbWFbWFbWFbWFbWFbWGbWHbWHbWIbEybURbWJbHbbWKbWLbWMbWNbQibQibWObWPbQibQibWQbWRbWSbPdbWTbWUbWVbWWbPdbWXbWYbWZbSSaadbSTbXabXbbXcbQkaadbRBbXdbMPbMPbMPbXebPebXfbQtbXgbXhbXibXjbXkbXkbXkbXlbPebCxbFabLRbLRbLRbLRbNkbOnbVrbXobXmbLRbLRbLRbLRbLRbXpbXqbThbThbXrbXsbXsbXsbXsbXthOjbScbScbScbScbScbScbVEbNrbSebNraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXzbXAbXAbXAbXAbXBbXCbXCbXDbXEbXFbXGbXHbXIbXJbXKbEybXLbEybEybEybEybEybXMbEybEybMsbNGbXNbXNbXNbXNbXNbXNbXNbXNbXObXObXObXObXObNEbXPbEybURbWJbHbqyMbXQbXRbXSbXTbTSbXUbXVoQAbTSbXWbXXbXYbXZbYabYbbYccaqbPdbWXbYebYfbUabUbbRxbYgbWcbWcbQkaadbRBbYhbEEbEEbEEbCxbPebYibQtbQtbYjbYkbYlbQpbXkbQpbYmbPebCxbFabUibUjbUjbYnbUlbOnbYobUnbYpbYqbGlbGlbGlbLRbYrbYsbYtbThbYubThbThbThbYvbYwbYxbYybYzbYAbYBbYCdhWbVEbNrbSebNraadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaadaaeaoBaadaoBaoBbNFbNFbNFbJIbYDbYEbYFbYGbYHbEybJIbEybYIbYJbYIbYKbYLbYIbYMbMsbNGbXNbYNbYObYPbYQbYRbYSbYNbYTbYUbYVbYWbXObXObXPbEybYXbWJbHbbYYbYZbZabZabZbbZcbZcbZcbZcbZcbZdbZebOPbOPbOPbZfbPdbWVbZgbZhbZibZjbZkbZlbQkbQkbQkbQkbQkaadbRBbYhbZmbCwbCwbCxbQlbZnbZobZpbZqbZrbZsbZtbXkbZtbZubPebCxbFavIdbGlbGlbZwbVqbOnbVrbOnbVsbZxbGlbZviiObLRbZybZzbZAbZBbZCbZDbZEbZEbZFbZGbZHbZIhbpbZJbZKbZLdhWbVEbNrbSebNrbNrbNraaeaaeaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaadaaeaaeaaeaaeaaebZMbJIbZNbJIbZObZPbYEbZQbJIbZRbJIbEybYIbZSbYIbZTbZUbYIbZVbMsbNGbXNbYNbZWbZXbZYbZZcaabYNcabcaccadcaecafbXObXPbEybURbWJbHbbNScahbNScaicajbZccakcalcambZccanbVacaobOPcapcaqcarcascatcaubVZcavbRvcawbRxcaxcaycazbQkaadbEEbYhbEEcaAcaBbCxbPecaCcaDcaEcaFcaGcaDcaHbXkcaHrenbRJbCxbFabGlbGlbGlcaIcaJbUnbWmbOnbWncaKbUjbUjbWpbFacaLcaMcaNcaOcaLcaLcaPcaQcaRcaScaTcaUcaVcaWdhWcaYdhWbVEbNrcaZbNrcbabNraadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBcbbaoBaoBaoBaadaadbNFbNFbNFcbccbdcbecbfcbgbJIbEybEycbhbYIcbicbjbYIcbkcblbYIbMsbNGbXNcbmcbncbobZYcbpcbmcbmcabcbqcbrcbscbtbXObXPbEybURbWJaYncbudlKcbwcbwcbxcbycbzcbAcbBbZcbPdbVacbCcbDcapcbEcarcascbFcbGbVZcbHcbIcbJcbKcbLcbMcbNbQkaadbEEbYhbEEbJZbJZbCxbPebPfcbOcbPbPfcbQbPfbPfbPfbPfbPfbPebCxbFabLRbLRbLRbLRbXmcbRbVrcbSbXmbLRbLRbLRbLRbFabVwcbTbVwcbUbVwcaLcaPcaQcbVcdgdhWccacbZccadhWccbdhWbVEbNrcccccdbQSbPIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaadaadaadbNFcceccfccfccgbYHbNEbEycchccibYIccjcckcclccjccjccmbImbNGbXNcbmcbmccnccoccpccqccrccscctccuccvccwbXObXPbEyccxccycczcbuccAccBccCccDccEccFccGccHbZcccIccJcaobOPcapccKcarcbEccLbWXccMccNbUaccOccPccQcaycaybQkaadbRBbYhccRbEEccSbCxccTbWebWeccUbPfccVccWccXbEEccYccZbEZbCxbFabUibUjbUjcdabUlbOnbYobUncdbcdcbGlbGlbGlbFacddbVwbVwbVwbVwcaLcdecdecdfcdgdhWcftcftcftcftcftdhWbVEbNrcdjbQTcdkbPIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaQaaQaaQaaQaaQaaQaaQaaQaaYaaQaaQaaQaaQaaQaaaaaabEybEybEybEybEybEycdlbEybEybEybEycdmcdnbYIccjcbjcdoccjccjccmbImbNGbXNcdpcdqcdrcdsbYNbYNapccduaWYcdwcdxcdybXOcdzcdAcdBcdCcdDcbucdEcdFcdGcdHcdIcdJcdKcdLcdMbRpcdNbOPbOPbOPcdObPdcdPcdQbWXbWYbPdbSScdRcdSbQkbQkbQkbQkaadbRBcdTcdUbEEcdVcdWcdXbMPcdYcdZbEEceacebcecbEEcedbOibOkceebFavIdbZvbGlcefbVqbOnbVrbOnbVscegbGlbGliiObFacehbVwceicejcekcelcemcenceocdgdhWcftceqwHAcftcftdhWcesbNrcetceubSebPIaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaaaadaaaaadaaaaadaaaacfaaaaadaaaaadaaaaaQaadaadbEycevcewbJIcexbJIbJIbJIbJIbNEbEyceycezceAccjcbjbYIceBceCbYIbImbNGbXNceDceEbYNbYNbYNcbmceFceGceHceIceJceKbXObEybEyceLceMceNcbucbuceOcePceQceRceRceRceRbZcbPdceSceTceUceVceWceXceYceZcaubVZcfabRvcawccPcfbcfccfcbQkaadbRBbCwbYhbEEbEEcfdbBrbEEcfecffbEEbEEcfgbEEbEEcffcfhbJccfibFabGlbGlbGlcfjcfkbUnbWmbOnbWncfmbUjbUjbWpbFabVwbVwcfnbVwbVwcaLcdecdecfocfpdhWcftcftcfscftcftdhWbVEbNrbNrbNrbSebNraadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaacfucfvcfwaaacfucfvcfwaaacfucfvcfwaaaaaQaaaaaabEycfxbJIcfybEybEycfzbEybEybEybEybZScfAbZSbZSbYIcbkcbkbYIbYIbImbNGbXNcbmcfBcfCbYNcfDcbmcbmcabcfEcaecfFcfGcfHcfIcfJcfKcfLcfMcfNcfOcfPcfQcfRcfScfTcfUcfVcfWcfXcfYcfZbTScgacgbbVUcgcbVYbTVbWYcgdbSScdRcgecgfcggcghbQkaadbEEbEEbYhcgicgjcfdcgkbEEcfecglbOicgmcgncgobOicgpcgqbNtcgrbFabLRbLRbLRbLRbXmcgsbVrbOnbXmbLRbLRbLRbLRbFacaLcaLcaLcaLcaLcaLcgvcgvcgwcgxdhWdhWdhWdhWdhWdhWdhWbVEbNrcgycgzbSebNraadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaadcfucgAcfwaaacfucgAcfwaaacfucgAcfwaadaadaaaaaabEycgBbJIcgCbEybUGbJIcgDbSnbVGbEycgEcgFcgGbZScgHccjccjccmbYIbMsbNGbXNbYNcgIcgJbYNcgKcgLbYNcabcgMcgNcgOcgPcgQcgRcgScgTcgUcgVcgWcgXcgYcgZchachbchccePchdcfWchebPdceSbVUchfchgchhchichjbPcchkchlbUaccOccPchmcfccfcbQkaadbEEbCwchnchochpchqchrbEEchschtchucgqbEZcgqcfhchvchwbNtchxbFabUibUjbUjchAbUlbOnuZGbUnhBRnMmpNDpNDpNDizlchEbPGchFchGchGcaLchHchHcgwcdgcaLchIbQObQObQOchJbNrbVEbNrchKbQObSebNrbNrbNraaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaacfucgAcfwaadcfucgAcfwaadcfucgAcfwaaaaadaadaadbEychLcgCchMbEychNbWAchOchPbUHbEychQcgFchRbZScgHccjbJaccmchTbMsbNGbXNbYNchUchVchWchXchYbYNchZciacibciccidbXOciecifcigcihciicijcikcilcimceQcinciocipciqcircisbPdceScitciubPdbPdcitcitcitbWYcivciwcdRcdSbQkbQkbQkbQkaadbEEcdVcixciycizciAciBbEEbEEciCciDciEbEZciFciGbEEbEEbNtchxbFavIdbGlbGlciJbVqbOnbVrbOnbVsvgRpNDpNDxSoizlbQOciOciPciQciRcaLciSciScgwcdgcaLbNrbNrciTciUciVciWciXccdccdccdciYciZcjacjbaaeaaeaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcfucgAcfwaaacfucgAcfwaaacfucgAcfwaadaadaaaaaabEycjccjdcjebEycjfcjgbEycjhbEybEycjicjjcjkbZSbYIceCceCbYIcjlbMsbNGbXNbXNbXNbXNbXNbXNbXNbXNbXObXObXObXObXObXObEycjmbEybEycjncjncjncjocjpcjqcjncjrcjscjtcfWbPdbSOcjucitceWbTQbPdbQhbWScitbWYcitbNScjvcjwbZlaadaadaadaadcjxcjycjzcjAcjBcjCcjCcjCcjDcjEcjFciEcjGciEciEbEEcjHbNtchxbFabGlbGlbJesXbnwVbUncjJbOnbWnsiWdxAdxAdjLizlbNrcjKcjLbNrbNrcaLcaLcaLcjMcjNcaLchJbNrcjObSecjPbNrcesbNrbNrcjQbNrbNrbNrbNraaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaQaaQaadaaacfucgAcfwaaacfucgAcfwaaacfucgAcfwaaaaadaaaaaacjRcjScjScjScjSbEybEycjTcjUbEybEybEybEybEybEybNFbNFbNFbNFbEycjVcjWbVJcjXcjYcjZcjZcjZcjZcjZcjZcjZcjZcjZcjZcjZcjZckabJIcjfcjnckbckcckdckeckfcjnckgckhckicfWckjckkbTXcklckmcknckocklckocklckpcitbNSckqckrckscktckuckvcjyckwckxckyckzckAckBckCcjCckDbCwckEckFckGckHckIbNbbNbckJckKbFabFabFabFabFabFaoHrckLbFabFaizlizlizlizlizlckMckNckOckOckPciWckQckRckSckTbNrbNrbNrbNrckUbNrbNrbVEbNrckVckWbQObNraaaaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaaaadaaaaaaaaackXaaaaaaaaackXaaaaaaaaackXaaaaaaaadcjRcjRcjRckYckZclaclbclcbJIcldcleclfbWAbWAbWAbWAbWAbWAbWAbWAbWAbWAbWAclgbWHclhclicfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcfWcjncjncljclkcllclmclncloclpclqcfWckjclrclscltcluclvclwclxbPdclyclzclAclBclCclDclEclFclGclHclIclJclKclLclMclNclOclPcjCbCwbCwciEciEbBrciEcgqbCwbCwbNtclQbQObQOchFbQObQObQObQOcrZbQObQOchFbQObQObQObNrclSclTclUclVclWclXclXclXclYclZcmacmbcmccmdcmecmfcmgcmhbNrcgzbQOcmibNraaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaadcmjcmkcmkcmlcmmcmmcmmcmmcmmcmmcmmcmmcmmcmmcmmcmncmocmpcmqcmrcmscmtcmubWAbWAcmvbSnbEybNFbNFbNFbNFbNFbNFbNFbNFbNFbEybEycmwcmxcmycmzcfWcmAcmAcmBcfWcmCcmDcmEcmFcmGcmHcmCcmIcmJcmKcjncmLcmMcmNbKxcmPcmQcmRcmScmTcfWbNScmUbOWcmVcmWcmXbOWcmVbOWbSSbOWcmYbNScmZcmZcnacnbcnccndcjCcnecnfcngcnhcnicnjcnkcjCcnlbCwcgqcgqcnmciEcgqbCwcnnbNtcnocnpcnpcnpcnpcnpcnqcnpcnrckOckOckOckOckOckOcnscntbPEbNrcnucdkbNrbNrbPIbPIbNrbNrcnvbSecnwclUcnxcnycnzbNrbNrbNrbNrbNraaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaaaadaaaaaaaaacnAaaaaaaaaacnAaaaaaaaaacnAaaaaaaaadcjRcjRcjRcnBcnCcnDcjSbJIbJIbJIbJIbEyaaaaaaaadaaaaaaaadaaaaaaaadaaabEycnEbEycnFcnGcfWcnHcnIcnIcnJcnKcnLcnMcnNcnOcnPcnQcnRcnScnTcjncnUcmMcnVcnWcnXcjncnYcnZcoacfWaadcobaadcoccodcobaadcocaadcoeaadcoeaadaadaoBcdRaoBaadcoccjCcofcogclLcohcoicojcokcolcomconcoocgqbEZcgqcopcfhchvcoqcorcorcorcorcorcorcorcoscotcorcorcorcorcorcorcoucovcowbNrcoxbSebNraaaaaaaaaaaabNrbQObSecoycozcozcoAcoBcozaaaaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaQaaQaadaaacfucoCcfwaaacfucoCcfwaaacfucoCcfwaaaaadaaaaaacjRcjScjScjScjScoDbNEbJIbJIbEybEybNFcoEcoEcoEcoEcoEcoEcoEaadbEybEybEycoFbUIcfWcoGcoHcnIcnJcnKcoIcoJcoKcoLcoMcoNcoOcoPcoQcjncoRcoScoTcoUcoVcjncoWcoXcfWcfWbQkcoYbSTcoYbQkcoYbSTcoYbQkcoZbSTcpabQkaoBaoBcdRaoBaoBcoccpbcpccpdcpecpfcpgcphcpicjAcpjciEciEciEcpkciEciEciEbEEbEEbNrbNrbPIbPIbPIbNrbNrbPIbPIbPIbNrbNrbPIbPIbPIbNrcplbNrbNrcpmbSebNrbNrbPIbPIbNrbNrbQObSecpncozcpocppcpqcozaaaaaaaadaadaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcfucoCcfwaaacfucoCcfwaaacfucoCcfwaadaadaadaaaaaaaaaaaaaaebEybEybEycprbJIbEycprbLicoEcpscptcpucptcpvcoEaaabEybUHbJIcpwbUIcfWcpxcpxcpycfWcmCcpzcpAcpBcpCcpDcmCcpEcpFcpEcjncjncjncpGcpHcpIcjncpJcpKcpLcfWbQkcpMcpNcpObQkcpPcpQcpRbQkcpScpTcpUbQkaoBaoBcdRaoBaoBcoccjCcpVcpWcpXcpYcpZcqacqbcjAcqccqdcqecqfcqgcqhcgqcgqbCwcqibCwbRBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaabNrcqjchJbNrcqkcccccdciWccdccdccdccdcqlcqmcqncozcqocqpcqqcozaadaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaacfucoCcfwaadcfucoCcfwaadcfucoCcfwaaaaadaadaadaaaaaaaaaaaecqrcqscqtbJIbJIbVFbJIcqucoEcqvcqwcqxcqycqzcoEaaabEycjgbJIcpwbUIcfWcpxcpxcpycfWcmCcqAcqBcqCcqDcqEcmCcqBcqBcqBcfWcqFcqGcqHcqIcqJcqKcqLcqMaZHcfWbQkcqNcqOcqNbQkcqPcqQcqPbQkcqRcqScqTbQkaadaadcdRaadaadcoccjCcjCcjCcqUcqVcqWcqXcqYcqZcqccracgqcrbcrccrdchwcgqcrebEEbCwbRBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaabNrcrfckWbNrcrgcrhcrhcricrhclUclUclUcrjcrjcrkcozcrlcrmcrncozaadaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaadcfucoCcfwaaacfucoCcfwaaacfucoCcfwaadaadaaaaadaadaaaaaaaaebEybEybEybEybJIbEybEybEycoEcrocrpcrqcrrcrocoEaadbEycfWcrscrtcrucfWcpxcpycpycfWcrvcrwcqHcqIcrxcrycrzcrAcrAcrAcrBcrCcrDcrDcrDcrEcrFcrGclpcrHcfWbQkcqNcrIcqNbQkcqPcrJcqPbQkcqTcrKcqTbQkaadaadcdRaoBaoBcrLcrMaoBaoBcrNcrOcrPcrQcrRcrSbCwcrTcrUbJccrVcrWcfhcrXcrYbEEcqibRBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaabNrcrZbQObNrbNrbNrbNrbNrbQObNraadaaaaaaaaaaadcsacsacsbcsacsaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYaaacfucsccfwaaacfucsccfwaaacfucsccfwaaaaaQaaaaaaaadaadaaaaaaaaaaaaaaabNFbJIbNFaaaaaacoEcsdcqwcsecqycsfcoEcoEcoEcfWcsgcrtcshcfWcfWcfWcfWcfWcsicsjcrFcrFcrxcqMcrFcskcrFcslcrFcrFcrFcrFcrFcsmcrFcrxcqMcsncfWbQkbQkbQkbQkbQkbQkbQkbQkbQkbQkbQkbQkbQkaadaoBcdRaoBaoBaoBcocaoBaoBcsocspcqYcsrcqYcspbEEcsschvcstcsuchvcsvbEEbEEbEEaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbNrcswbQObQObQObQObQObQObQObNraadaaaaaaaaaaadaaacsacsxcsaaaaaadaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadcfucoCcfwaaacfucoCcfwaaacfucoCcfwaadaadaadaaaaaaaaaaaaaaebEybEybEycprbJIbEycprbLicoEcpscptcpucptcpvcoEaaabEybUHbJIcpwbUIcfWcpxcpxcpycfWcmCcpzcpAcpBcpCcpDcmCcpEcpFcpEcjncjncjncpGcpHcpIcjncpJcpKcpLcfWbQkcpMcpNcpObQkcpPcpQcpRbQkcpScpTcpUbQkaoBaoBcdRaoBaoBcoccjCcpVcpWcpXcpYcpZcqacqbcjAcqccqdcqecqfcqgcqhcgqcgqbCwcqibCwgkfaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaabNrcqjchJbNrcqkcccccdciWccdccdccdccdcqlcqmcqncozcqocqpcqqcozaadaaaaaaaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoBaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaacfucoCcfwaadcfucoCcfwaadcfucoCcfwaaaaadaadaadaaaaaaaaaaaecqrcqscqtbJIbJIbVFbJIcqucoEcqvcqwcqxcqycqzcoEaaabEycjgbJIcpwbUIcfWcpxcpxcpycfWcmCcqAcqBcqCcqDcqEcmCcqBcqBcqBcfWcqFcqGcqHcqIcqJcqKcqLcqMaZHcfWbQkcqNcqOcqNbQkcqPcqQcqPbQkcqRcqScqTbQkaadaadcdRaadaadcoccjCcjCcjCcqUcqVcqWcqXcqYcqZcqccracgqcrbcrccrdchwcgqcrebEEbEEbEEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaabNrcrfckWbNrcrgcrhcrhcricrhclUclUclUcrjcrjcrkcozcrlcrmcrncozaadaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaadcfucoCcfwaaacfucoCcfwaaacfucoCcfwaadaadaaaaadaadaaaaaaaaebEybEybEybEybJIbEybEybEycoEcrocrpcrqcrrcrocoEaadbEycfWcrscrtcrucfWcpxcpycpycfWcrvcrwcqHcqIcrxcrycrzcrAcrAcrAcrBcrCcrDcrDcrDcrEcrFcrGclpcrHcfWbQkcqNcrIcqNbQkcqPcrJcqPbQkcqTcrKcqTbQkaadaadcdRaoBaoBcrLcrMaoBaoBcrNcrOcrPcrQcrRcrSbCwcrTcrUbJccrVcrWcfhcrXcrYbEEjXDjXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaabNrcrZbQObNrbNrbNrbNrbNrbQObNraadaaaaaaaaaaadcsacsacsbcsacsaaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYaaacfucsccfwaaacfucsccfwaaacfucsccfwaaaaaQaaaaaaaadaadaaaaaaaaaaaaaaabNFbJIbNFaaaaaacoEcsdcqwcsecqycsfcoEcoEcoEcfWcsgcrtcshcfWcfWcfWcfWcfWcsicsjcrFcrFcrxcqMcrFcskcrFcslcrFcrFcrFcrFcrFcsmcrFcrxcqMcsncfWbQkbQkbQkbQkbQkbQkbQkbQkbQkbQkbQkbQkbQkaadaoBcdRaoBaoBaoBcocaoBaoBcsocspcqYcsrcqYcspbEEcsschvcstcsuchvcsvbEEbEEbEEjXDjXDaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbNrcswbQObQObQObQObQObQObQObNraadaaaaaaaaaaadaaacsacsxcsaaaaaadaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaaaadaaaaadaaaaadaaaaadaaaaadaaaaadaaaaaQaaaaaaaaaaadaadaaaaaaaaaaaabNFbJIbNFaaaaaacoEcsycszcsAcsBcsCcsDcsEcsFcsDcsGcsHcsIcsJcsKcsLcsMcsNcsOcsPcsQcsRcsScsTcfWcfWcsUcsVcsUcfWcfWcsVcsVcfWcsVcsWcqMcsXcfWcfWcfWcfWcfWcmCcmCcmCcmCcfWaaaaaaaaaaaaaoBaoBcdRaoBaoBaoBcocaoBaoBcsocspcsYcsZctactbaadbEEciCctcbRBbRBbEEbEEaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbNrctdctectfchIctgbOHbPDbNrbNraadaaaaaaaaaaadaaacsacthcsaaaaaadaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaQaaQaaQaaQaaYaaQaaQaaQaaQaaQaaQaaQaaQaaQaaaaaaaaaaaaaadaadaaaaaaaadbNFbJIbNFaadaadcoEctictjctkctlctmctnctoctpctqctrctscttctuctuctuctvctuctwctxctyctzctActBctCctDctEctEctEctFctGctEctHctIctJctKctLctMctMctOctPctQcfWctRcmCaaaaaaaaaaaaaaaaaaaaaaoBaoBcdRaoBaoBaoBcocaoBaoBcsocspcspctScspcspaaaaadaaactTaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNrbNrbNrctUbNrcplbNrbPIbPIbNrbNraaaaadaaaaaaaaaaadaaaaaactVaaaaaaaadaaaaadaaaaaaaadaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaabNFbJIbNFaaaaaacoEctWctXctYctZcuacoEcubcuccoEcudcuecufcskcrFcugcqBcuhcuicujcukculcumcuncuocuncuncuncuncuncupcuqcurcuscutcuucuvcuvcuvcuwcqMcuxcuycnIcuzafoaaaaaaaaacuAaaaaaaaoBaoBcdRaoBaoBaoBcocaoBaoBcsoaaecspcuBcspcuCaadaadaaacuDaoBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNrcuEcuFcuFbNrcuGaadaaaaaaaadaaaaaaaadaaaaaaaaaaadaaaaaactVaaaaaaaadaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbEybEycuHbEybEyaaacoEcuIcuJcuKcoEcoEcoEcoEcoEcfWcuLcrFcufcrFcrFcuMcqBcuNcrFcsVcuOcuPcuQcuRcuScuTcuUcuVcuWcuXcuYcuYcuZcvacvbcvccvdcvecvfcrxcqMcvgcfWcvhcmCaaaaaaaaaaaaaaaaaaaaaaoBaoBcdRaoBaacaoBcocaoBaoBcviaaecvjcvkcvjaaeaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPIbPIbPIcuFcuFcvlbNraaaaadaaaaaaaadaaaaaQaaQaaQaaYaadaadaadaadctVaadaadaadaadaadaaYaaQaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbEycnEbJIcvmbEyaadcoEcoEcoEcoEcoEaadaaaaaaaadcfWcvncrFcvocvpcvqcvrcmCcmCcvscfWcuOcuPcvtcvucvvcvwcvxcvycvzcvAcvBcvCcvDcuPaZIcmCcvEcrFcvFcvGcvHcvIcvIcvJcvJcvJcvJcvIcvKcvKcvKcvKcvKcvKcvLaadaadaadcocaoBaoBaadaaeaaaaaaaaaaaeaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPIbQOcvMcuFcuFcvNbNraaaaadaaaaaaaadaaaaaQaaaaaaaadaaaaadaaaaaacvOaaaaaaaadaaaaadaaaaaaaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNFcvPcvQcvRbEyaadaaaaaaaadaaaaaaaadaaaaaaaadcfWcvScvTcvUcvVcvWcvXcmCcvYcvZcfWcuOcuPcvtcwacwacvAcwbcwccwdcwecwfcwfcvDcuPcwgcfWcsVcwhcfWcrxcwicwjcwkcwlcwmcwnaaaaadaadaadaadaadaoBaoBaadaoBaoBaoBcocaoBaoBaoBaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabPIcvMbPIbPIbPIbPIbNraaaaadaaaaaaaadaaaaaQaadcwocwocwocwocwoaaacwpaaacwocwocwocwocwoaadaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNFcwqcwrbLhbEycmCcwscwscwscwscwscwscwscwscmCcfWcwtcwucwvcwwcwtcfWcfWcfWcwxcfWcwycuPcwzcwAcvAcwBcwCcwDcwEcwFcvAcwGcwHcuPcwIcfWcwJaZJcfWcwKcwLcwMcwNcrFcwOcwnaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacocaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaQaaacwPcwQcwQcwQcwQcwRcwpcwScwTcwTcwTcwTcwUaaaaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNFbNFbNFbNFbEyaadaaaaaaaaaaaaaaaaaaaadaadaadaaaaaacwVcwWcwXcwWcwYcwWcwYcwWcwZcxacxbcxccxdcxecxfcxgcxhcxicxjcxkcxlcxmcxncxocxpcxqcxrcfWcxscfWcfWcxtcxucxvcwnaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacocaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaQacfcxwcxwcxwcxwcxwaaacwpaaacxwcxwcxwcxwcxwaadaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiaadaadcxxcxycxycxycxycxycxycxzcxAcxBcuPcxCcxDcxkcxfcxEcxFcxGcxjcxkcxHcxIcuPcwgcwJcxJcxKcfWcxLcxMcfWcmCcmCcxNcmCaadaadaadaadaadaadaadaadaadaadaadaadcocaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaQaaaaaaaaaaadaaaaaaaaacwpaaaaaaaaaaadaaaaaaaaaaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaQaaQaaQaaQaaYaaQaaQaaQaaQaaQaaQaaQaaQaaQaaaaaaaaaaaaaadaadaaaaaaaadbNFbJIbNFaadaadcoEctictjctkctlctmctnctoctpctqctrctscttctuctuctuctvctuctwctxctyctzctActBctCctDctEctEctEctFctGctEctHctIctJctKctLctMctMctOctPctQcfWctRcmCaaaaaaaaaaaaaaaaaaaaaaoBaoBcdRaoBaoBaoBcocaoBaoBcsocspcspctScspcspaaaaadaaactTaoBaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNrbNrbNrctUbNrcplbNrbPIbPIbNrbNraaaaadaaaaaaaaaaadaaaaaactVaaaaaaaadaaaaadaaaaaaaadaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadaaaaaabNFbJIbNFaaaaaacoEctWctXctYctZcuacoEcubcuccoEcudcuecufcskcrFcugcqBcuhcuicujcukculcumcuncuocuncuncuncuncuncupcuqcurcuscutcuucuvcuvcuvcuwcqMcuxcuycnIcuzafoaaaaaaaaacuAaaaaaaaoBaoBcdRaoBaoBaoBcocaoBaoBcsoaaecspcuBcspcuCaadaadaaacuDaoBaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNrcuEcuFcuFbNrcuGaadaaaaaaaadaaaaaaaadaaaaaaaaaaadaaaaaactVaaaaaaaadaaaaadaaaaaaaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadaadbEybEycuHbEybEyaaacoEcuIcuJcuKcoEcoEcoEcoEcoEcfWcuLcrFcufcrFcrFcuMcqBcuNcrFcsVcuOcuPcuQcuRcuScuTcuUcuVcuWcuXcuYcuYcuZcvacvbcvccvdcvecvfcrxcqMcvgcfWcvhcmCaaaaaaaaaaaaaaaaaaaaaaoBaoBcdRaoBaacaoBcocaoBaoBcviaaecvjcvkcvjaaeaadaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajXDbPIbPIbPIcuFcuFcvlbNraaaaadaaaaaaaadaaaaaQaaQaaQaaYaadaadaadaadctVaadaadaadaadaadaaYaaQaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadbEycnEbJIcvmbEyaadcoEcoEcoEcoEcoEaadaaaaaaaadcfWcvncrFcvocvpcvqcvrcmCcmCcvscfWcuOcuPcvtcvucvvcvwcvxcvycvzcvAcvBcvCcvDcuPaZIcmCcvEcrFcvFcvGcvHcvIcvIcvJcvJcvJcvJcvIcvKcvKcvKcvKcvKcvKcvLaadaadaadcocaoBaoBaadaaeaaaaaaaaaaaeaadaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajXDphzbQOcvMcuFcuFcvNbNraaaaadaaaaaaaadaaaaaQaaaaaaaadaaaaadaaaaaacvOaaaaaaaadaaaaadaaaaaaaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNFcvPcvQcvRbEyaadaaaaaaaadaaaaaaaadaaaaaaaadcfWcvScvTcvUcvVcvWcvXcmCcvYcvZcfWcuOcuPcvtcwacwacvAcwbcwccwdcwecwfcwfcvDcuPcwgcfWcsVcwhcfWcrxcwicwjcwkcwlcwmcwnaaaaadaadaadaadaadaoBaoBaadaoBaoBaoBcocaoBaoBaoBaaeaaeaaeaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajXDbPIbPIbPIbPIbPIbPIbNraaaaadaaaaaaaadaaaaaQaadcwocwocwocwocwoaaacwpaaacwocwocwocwocwoaadaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNFcwqcwrbLhbEycmCcwscwscwscwscwscwscwscwscmCcfWcwtcwucwvcwwcwtcfWcfWcfWcwxcfWcwycuPcwzcwAcvAcwBcwCcwDcwEcwFcvAcwGcwHcuPcwIcfWcwJaZJcfWcwKcwLcwMcwNcrFcwOcwnaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacocaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaQaaacwPcwQcwQcwQcwQcwRcwpcwScwTcwTcwTcwTcwUaaaaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNFbNFbNFbNFbEyaadaaaaaaaaaaaaaaaaaaaadaadaadaaaaaacwVcwWcwXcwWcwYcwWcwYcwWcwZcxacxbcxccxdcxecxfcxgcxhcxicxjcxkcxlcxmcxncxocxpcxqcxrcfWcxscfWcfWcxtcxucxvcwnaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaaaaacocaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaQacfcxwcxwcxwcxwcxwaaacwpaaacxwcxwcxwcxwcxwaadaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabiabiabiaadaadcxxcxycxycxycxycxycxycxzcxAcxBcuPcxCcxDcxkcxfcxEcxFcxGcxjcxkcxHcxIcuPcwgcwJcxJcxKcfWcxLcxMcfWcmCcmCcxNcmCaadaadaadaadaadaadaadaadaadaadaadaadcocaadaadaadaadaadaadaadaadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaatJaaaaaaaaaaaaaaaaaaaaaaaaaadaaaaaQaaaaaaaaaaadaaaaaaaaacwpaaaaaaaaaaadaaaaaaaaaaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabicxOabiaaaaaacwVcwWcwXcwWcwXcwWcwXcxPcxQcxRcuPcxScxTcxkcxUcxVcxWcxXcxYcxkcxZcyacuPcwgcwJcxJcybcfWcwxcyccmCaadaaacydaaaaadaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaacocaaaaaaaaacyecyecyecyecyeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaadcwocwocwocwocwoaaacwpaaacwocwocwocwocwoaadaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabicxOabiaaaaaacyfcygcyhcygcyhcygcyhcygcyicyjcykcylcwGcvAcvAcymcyncwecvAcvAcwAcyocypcyqcyrcyscybcsVaaeaaeaaeaadaaaaaacytcyucyvcyvcyvcyucyvcyvcyvcyucyvcyvcyvcywcyvcyvcyvcyxcyycyzcyAcyeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaaacwPcwQcwQcwQcwQcwRcwpcwScwTcwTcwTcwTcwUaaaaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabicxOabiaadaadcyBcyCcyCcyCcyCcyCcyCcyCcxQcyDcuPcyEcyFcyGcyHcyIcyJcyKcyHcyLcyMcyNcuPcyOcyPcwJcyQcsVaaaaaaaaeaadaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaaaadaaaaaaaaacocaaecyecyecyecyRcyScyRcyeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaQaadcxwcxwcxwcxwcxwaaacwpaaacxwcxwcxwcxwcxwaadaaQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/PubbyStation/PubbyStation.dmm b/_maps/map_files/PubbyStation/PubbyStation.dmm index d245e61b..a30397fb 100644 --- a/_maps/map_files/PubbyStation/PubbyStation.dmm +++ b/_maps/map_files/PubbyStation/PubbyStation.dmm @@ -744,6 +744,7 @@ "aop" = (/obj/structure/bed/dogbed,/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_x = -32},/mob/living/simple_animal/pet/dog/pug{name = "McGriff"},/turf/open/floor/plasteel/showroomfloor,/area/security/warden) "aoq" = (/obj/machinery/atmospherics/pipe/manifold/cyan/hidden{dir = 8},/turf/open/floor/plasteel/showroomfloor,/area/security/warden) "aor" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 8},/turf/open/floor/plasteel/showroomfloor,/area/security/warden) +"aos" = (/obj/structure/table,/obj/item/folder/yellow,/obj/item/reagent_containers/food/snacks/donut,/obj/machinery/light/small{dir = 4},/turf/open/floor/plating,/area/maintenance/department/security/brig) "aot" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/cable{icon_state = "1-4"},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/security/main) "aou" = (/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plasteel,/area/security/main) "aov" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 6},/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/turf/open/floor/plasteel,/area/security/main) @@ -754,11 +755,17 @@ "aoA" = (/obj/machinery/gateway{dir = 9},/obj/effect/turf_decal/bot_white/right,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/gateway) "aoB" = (/obj/machinery/gateway{dir = 1},/obj/machinery/light{dir = 1},/obj/effect/turf_decal/bot_white,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/gateway) "aoC" = (/obj/machinery/gateway{dir = 5},/obj/effect/turf_decal/bot_white/left,/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/gateway) +"aoD" = (/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/structure/medkit_cabinet{step_x = 0; pixel_y = 27},/turf/open/floor/plasteel,/area/hallway/primary/fore) +"aoE" = (/obj/effect/turf_decal/tile/blue{dir = 4},/obj/effect/turf_decal/loading_area{dir = 1; icon_state = "drain"; name = "drain"},/obj/structure/medkit_cabinet{pixel_y = 27},/turf/open/floor/plasteel,/area/space) +"aoF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/medkit_cabinet{pixel_y = 27},/turf/open/floor/plasteel,/area/hallway/primary/central) +"aoG" = (/obj/item/twohanded/required/kirbyplants{icon_state = "plant-05"},/obj/structure/medkit_cabinet{step_x = 0; pixel_y = 27},/turf/open/floor/plasteel/dark,/area/crew_quarters/bar) "aoH" = (/obj/structure/lattice,/obj/structure/grille,/turf/open/space,/area/solar/port) "aoI" = (/obj/structure/lattice,/turf/open/space,/area/solar/port) "aoJ" = (/obj/structure/lattice,/obj/structure/grille/broken,/turf/open/space,/area/solar/port) "aoK" = (/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/department/security/brig) "aoL" = (/obj/structure/cable{icon_state = "1-2"},/obj/structure/cable{icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plating,/area/maintenance/department/security/brig) +"aoM" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/medkit_cabinet{step_x = 0; pixel_y = 27},/turf/open/floor/plasteel,/area/hallway/primary/central) +"aoN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/effect/turf_decal/tile/blue{dir = 4},/obj/structure/medkit_cabinet{pixel_y = 27},/turf/open/floor/plasteel/white,/area/medical/medbay/central) "aoO" = (/obj/machinery/atmospherics/components/unary/vent_pump/on{dir = 1},/obj/machinery/camera{c_tag = "Brig Gulag Teleporter"; dir = 4},/obj/machinery/light{dir = 8},/obj/structure/table,/obj/item/storage/box/prisoner,/obj/item/razor{pixel_x = -6},/obj/item/paper/guides/jobs/security/labor_camp,/obj/item/pen,/turf/open/floor/plasteel/dark,/area/security/brig) "aoP" = (/obj/structure/chair/office/dark{dir = 8},/turf/open/floor/plasteel/dark,/area/security/brig) "aoQ" = (/obj/structure/cable,/obj/structure/cable{icon_state = "0-2"},/obj/effect/spawner/structure/window/reinforced,/turf/open/floor/plating,/area/security/warden) @@ -777,6 +784,7 @@ "apd" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/security/main) "ape" = (/obj/machinery/airalarm{dir = 1; pixel_y = -22},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/security/main) "apf" = (/obj/structure/cable{icon_state = "1-4"},/obj/structure/disposalpipe/segment{dir = 5},/obj/structure/sign/warning/vacuum/external{pixel_x = 32; pixel_y = -32},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 9},/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel,/area/security/main) +"apg" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 6},/obj/machinery/power/apc{dir = 8; name = "Atmospherics APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 4},/obj/structure/medkit_cabinet{pixel_y = 27},/turf/open/floor/plasteel,/area/engine/atmos) "aph" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating,/area/maintenance/fore) "api" = (/obj/machinery/power/apc{dir = 1; name = "Fore Maintenance APC"; pixel_y = 24},/obj/structure/cable{icon_state = "0-4"},/obj/structure/cable{icon_state = "0-8"},/obj/structure/disposalpipe/segment{dir = 4},/turf/open/floor/plating,/area/maintenance/fore) "apj" = (/obj/structure/cable{icon_state = "4-8"},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/light{dir = 1},/turf/open/floor/plating,/area/maintenance/fore) @@ -1179,7 +1187,6 @@ "axJ" = (/obj/structure/sign/departments/security{pixel_y = 32},/turf/open/floor/plasteel,/area/hallway/primary/fore) "axK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plasteel,/area/hallway/primary/fore) "axL" = (/obj/structure/disposalpipe/segment,/turf/open/floor/plasteel,/area/hallway/primary/fore) -"axM" = (/obj/effect/turf_decal/tile/red,/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel,/area/hallway/primary/fore) "axN" = (/obj/structure/dresser,/turf/open/floor/plasteel/grimy,/area/crew_quarters/heads/captain) "axO" = (/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/plasteel/grimy,/area/crew_quarters/heads/captain) "axP" = (/obj/structure/closet/secure_closet/captains,/obj/machinery/light{dir = 1},/obj/machinery/camera{c_tag = "Captain's Quarters"; dir = 2},/obj/item/clothing/suit/armor/riot/knight/blue,/obj/item/clothing/head/helmet/knight/blue,/turf/open/floor/plasteel/grimy,/area/crew_quarters/heads/captain) @@ -2385,7 +2392,6 @@ "aYU" = (/obj/machinery/processor,/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = 26},/turf/open/floor/plasteel/cafeteria,/area/crew_quarters/kitchen) "aYV" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/cafeteria,/area/crew_quarters/kitchen) "aYX" = (/obj/structure/table/reinforced,/obj/machinery/door/poddoor/shutters/preopen{id = "kitchenshutters"; name = "kitchen shutters"},/obj/machinery/computer/security/telescreen/entertainment{pixel_y = 32},/obj/item/reagent_containers/food/condiment/saltshaker{layer = 3; pixel_x = -2; pixel_y = 2},/obj/item/reagent_containers/food/condiment/peppermill{pixel_x = 5; pixel_y = -2},/obj/machinery/door/firedoor,/obj/effect/turf_decal/tile/red{dir = 1},/obj/effect/turf_decal/tile/red{dir = 8},/turf/open/floor/plasteel/dark,/area/crew_quarters/kitchen) -"aYY" = (/obj/item/twohanded/required/kirbyplants{icon_state = "plant-05"},/turf/open/floor/plasteel/dark,/area/crew_quarters/bar) "aYZ" = (/obj/structure/disposalpipe/segment{dir = 5},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/open/floor/plasteel/dark,/area/crew_quarters/bar) "aZa" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/obj/structure/extinguisher_cabinet{pixel_y = 30},/obj/effect/turf_decal/tile/neutral{dir = 1},/obj/effect/turf_decal/tile/neutral,/obj/effect/turf_decal/tile/neutral{dir = 4},/obj/effect/turf_decal/tile/neutral{dir = 8},/turf/open/floor/plasteel/dark,/area/crew_quarters/bar) "aZb" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 4},/turf/open/floor/plasteel/dark,/area/crew_quarters/bar) @@ -4059,7 +4065,6 @@ "bKP" = (/obj/effect/turf_decal/delivery,/obj/machinery/door/poddoor/preopen{id = "atmos"; name = "atmospherics security door"},/obj/machinery/door/firedoor/heavy,/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/open/floor/plasteel/dark,/area/engine/atmos) "bKQ" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/closed/wall/r_wall,/area/engine/atmos) "bKR" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/closed/wall/r_wall,/area/engine/atmos) -"bKS" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 6},/obj/machinery/power/apc{dir = 8; name = "Atmospherics APC"; pixel_x = -24},/obj/structure/cable{icon_state = "0-4"},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 4},/turf/open/floor/plasteel,/area/engine/atmos) "bKT" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/machinery/airalarm{dir = 2; pixel_y = 22},/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 4},/turf/open/floor/plasteel,/area/engine/atmos) "bKU" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_y = 30},/obj/structure/cable{icon_state = "4-8"},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 4},/turf/open/floor/plasteel,/area/engine/atmos) "bKV" = (/obj/machinery/atmospherics/pipe/simple/yellow/visible{dir = 4},/obj/item/radio/intercom{name = "Station Intercom (General)"; pixel_y = 26},/obj/structure/cable{icon_state = "4-8"},/obj/machinery/light{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 1},/obj/effect/turf_decal/tile/yellow{dir = 4},/turf/open/floor/plasteel,/area/engine/atmos) @@ -5634,7 +5639,6 @@ "cCY" = (/obj/structure/disposalpipe/segment{dir = 10},/obj/structure/cable{icon_state = "4-8"},/turf/open/floor/plating,/area/maintenance/department/cargo) "cCZ" = (/obj/structure/cable{icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{icon_state = "2-8"},/turf/open/floor/plating,/area/maintenance/department/cargo) "cDa" = (/turf/closed/wall,/area/quartermaster/warehouse) -"cDB" = (/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/department/science) "cFB" = (/obj/effect/landmark/carpspawn,/turf/open/space/basic,/area/space) "cJo" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/obj/effect/turf_decal/tile/neutral{dir = 1},/turf/open/floor/plasteel,/area/hallway/secondary/exit/departure_lounge) "cKA" = (/obj/effect/turf_decal/stripes/line{dir = 4},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/open/floor/plasteel,/area/science/explab) @@ -5906,7 +5910,7 @@ "ihj" = (/obj/item/clothing/suit/toggle/labcoat/science,/turf/open/floor/plating,/area/maintenance/department/engine) "ihk" = (/obj/structure/chair/office/light,/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) "ijF" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/structure/cable{icon_state = "1-2"},/turf/open/floor/carpet,/area/library) -"ijU" = (/obj/effect/spawner/lootdrop/organ_spawner,/obj/structure/closet/crate,/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/department/science) +"ijU" = (/obj/structure/closet/crate,/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/department/science) "ikm" = (/obj/machinery/atmospherics/components/binary/pump{dir = 4; name = "Mix to Gas"},/obj/effect/turf_decal/stripes/line{dir = 8},/turf/open/floor/engine,/area/engine/engineering) "ikB" = (/obj/structure/closet/secure_closet/medical2,/turf/open/floor/plating,/area/maintenance/department/science) "ilD" = (/obj/machinery/processor/slime,/turf/open/floor/plasteel/white,/area/science/xenobiology) @@ -5941,7 +5945,7 @@ "iSz" = (/obj/structure/cable{icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/disposalpipe/segment{dir = 10},/turf/open/floor/plating,/area/maintenance/department/security/brig) "iSL" = (/obj/effect/spawner/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/orange/visible,/turf/open/floor/plating,/area/engine/atmos) "iTE" = (/obj/effect/decal/cleanable/dirt,/turf/open/floor/engine,/area/engine/supermatter) -"iVJ" = (/obj/effect/spawner/lootdrop/organ_spawner,/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/department/science) +"iVJ" = (/turf/open/floor/plating{icon_state = "platingdmg3"},/area/maintenance/department/science) "iWV" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/open/floor/plating,/area/maintenance/department/cargo) "jcT" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/open/floor/plasteel,/area/hallway/primary/central) "jeq" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/effect/turf_decal/tile/red{dir = 4},/turf/open/floor/plasteel/white/corner{dir = 1},/area/hallway/secondary/exit/departure_lounge) @@ -6100,7 +6104,6 @@ "mpd" = (/obj/structure/cable/yellow{icon_state = "0-8"},/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 6},/obj/structure/window/plasma/reinforced{dir = 4},/obj/machinery/power/rad_collector/anchored,/turf/open/floor/engine,/area/engine/supermatter) "mql" = (/obj/machinery/atmospherics/pipe/simple/general/visible{dir = 9},/obj/effect/turf_decal/tile/purple{dir = 1},/obj/effect/turf_decal/tile/purple{dir = 4},/turf/open/floor/plasteel/white,/area/science/xenobiology) "msX" = (/obj/effect/spawner/structure/window/reinforced,/obj/structure/cable{icon_state = "0-4"},/obj/machinery/door/poddoor/preopen{id = "executionfireblast"; name = "blast door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/open/floor/plating,/area/security/execution/transfer) -"mtu" = (/obj/structure/table,/obj/item/folder/yellow,/obj/item/reagent_containers/food/snacks/donut,/obj/machinery/light/small{dir = 4},/turf/closed/wall,/area/maintenance/department/security/brig) "mtI" = (/obj/structure/cable{icon_state = "0-4"},/obj/machinery/power/apc/highcap/five_k{dir = 8; name = "Xenobiology APC"; pixel_x = -25},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/components/unary/vent_scrubber/on{dir = 1},/turf/open/floor/plasteel,/area/science/xenobiology) "mvA" = (/obj/effect/spawner/structure/window/plasma/reinforced,/obj/structure/cable/yellow{icon_state = "1-2"},/turf/open/floor/plating,/area/engine/engineering) "mvY" = (/obj/machinery/atmospherics/components/binary/pump{dir = 2; name = "Gas to Filter"},/obj/effect/decal/cleanable/dirt,/turf/open/floor/engine,/area/engine/supermatter) @@ -6780,17 +6783,17 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaraaqcaaaaqaaraaqcaaaaqaaraaqdaaaaqaaraaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyaaaaiudcimwgtlcaiuaiuaiuaiuaiurrbaiuaiuaiuaiuaiuaaaaaaaaaaaaaaaaaaapEajMakAauxaonauzajMauxauAauzajMauxauAauzajMauBalvauCauDauEauFauGauHauIauHauHauHauHajMauJarAauKauLauKauMauNauOauPauQasSauRauRauRauRauRasSauSatWauTarAauUauVatYaaaapTauWauXauYauZapTapTavacBUavbavccBUaaaavdaveavfavgatfavhaviavjavkavkavkavkavlatnatnatnatnatnatnavmauraurauraurauravmatnavnatnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaraaqcaaaaqaaraaqcaaaaqaaraaqdaaaaqaaraaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyahtaiuaiuaiuaiuaiutpbaAaazZazYoPxsynwxbgiOekUaiuaaaaaaaaaaaaaaaavpavqavrakAavsavtavuajMavvavwavxajMavyavzavAajMavBalvauCavCavDavEavFavGavHavIavJavKauHavLaqEaamavNavOavPaanavRavSavTavUasSavVavWavXavYavZasSawaatWawbarAatYawcatYaaaaaaawdaweawfawgawhawiawjawkawlawmawdaaaavdawnawoawpaayawrawsawtawuawvawvawvfIuawwawzawyawAawBgcjavmauraurauraurauravmawCawDatnabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaoHaoIaoHaaaaqaaraaqcaaaaqaaraaqcaaaaqaaraaqcaaaaqaaraaqcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahtahtahtahtaxCaxCaxCaxCaxCaxCaxCaxCaDmaiuaiuaaaaaaaaaaaaaaaaaaapEawHakAawIawJawJatBawKawJawJatBawKawJawJatBawLawMawNajMawOawPawQauHawRauHawSauHauHauHawTawRawUawVawWawWawXawYawZaxaasSaxbaxbaxbaxbaxbasSaxcaxdaxearAlQQaxgaxhahtahtaxiaxjaxkaxlaxkaxkaxmaxnawdawdaxiahtapXapXapXapXapXaxocoiaxpaxqaxraxtaxurTZaxvaxwaxwaxxaxwaxwaaFaurauraurauraurabdaxzaxAavmaaaaaaaaaaaaaaaabNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaoIaaaaaaaaaayyaaaaaaaaaayyaaaaaaaaaayyaaaaaaaaaayyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxBayzaxBayAayBayCaxCxuvkJoasraitaaaaaaaaaaaaaaaaaaajMaxEajMaxFaxGaxGaxHaxGaxGaxGaxIaxGaxGaxGaxJaxKaxGaxLaxJaxGaxGaxGaxMawRaxNaxOaxPaxQauHaxRaxSaxTaxUaxVaxWawUaxXaxYaxZayaaybaybaybaybaybayaaycaxYaydaaoayfaygaxhaaaaaaaaaaaaaaaaaaabIawdayhaxnabIabIaaaaaaayiayjaykaylatfaymaBQaynayoayqcojaysaIhaaBayuayuayvaxwaxwavmauraurauraurauravmaywayxavmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaoIaaaaaaaaaayyaaaaaaaaaayyaaaaaaaaaayyaaaaaaaaaayyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxBayzaxBayAayBayCaxCxuvkJoasraitaaaaaaaaaaaaaaaaaaajMaxEajMaxFaxGaxGaxHaxGaxGaxGaxIaxGaxGaxGaxJaxKaxGaxLaxJaxGaxGaxGaoDawRaxNaxOaxPaxQauHaxRaxSaxTaxUaxVaxWawUaxXaxYaxZayaaybaybaybaybaybayaaycaxYaydaaoayfaygaxhaaaaaaaaaaaaaaaaaaabIawdayhaxnabIabIaaaaaaayiayjaykaylatfaymaBQaynayoayqcojaysaIhaaBayuayuayvaxwaxwavmauraurauraurauravmaywayxavmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaoIazGazHazHazIazJazKazKazKazKazKazKazKazKazKazKazKazKazKazKazLazHazHazHazHazHazHazHazHazHazHazHazHazHazHrKrazNhzdazPazQazRaapazNfAxtyLaitaaaaaaaaaaaaaaaaaaaiuayEayFayLayGayHayIayLayLayJayLayLayLayLayLayMayNayOaxGaxGayPayQayRawRaySayTayUayVaaCayXayYayZazaazbazcawRazdazeazfazgazhaziazjazkazhazlazmaznazoarAlQQazpaxhaaaaaaaaaaaaabIaxiawdawdazqaxnawdaxiaaaaaaayiazrazsaztaaDawraDfazvazxaldcokazAazAaaZazCazCazDaxwaxwavmauraurauraurauravmazEazFavmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaoIaaaaaaaaaaAVaaaaaaaaaaAVaaaaaaaaaaAVaaaaaaaaaaAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxBaxBaxBaAWaAXaAYaxCvtTaDmajDaiuaaaaaaaaaaaaaaaaaaaiuaAbaAcaAdpFyaAeaAfaAiaAiaAgaAhaAiaAiaAiaAiaAjaAkaAlaAmaAmaAnaxGaAoawRaApaocaAraAsauHaAtaAuaAvaAwamtaAyawRaAzaAAaABaABaABaABaACaABaABaABaABaADaAEaAFaAFaAGaAHaAHaAHaAHaAHaAHaAHaAIaAJaAKaALaAMaANaaaaaaapXapXapXapXapXaAOaDfcolaAPaAQayravkdbiaxvaxwaxwaASaxwaxwaaFaurauraurauraurabdaATaAUavmabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaoHaoIaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxCaxCaxCaxCaxCaxCaxCvtTaDmnPAaiuaiuaiuaiuaiuebDebDgSHebDxLCebDaiuaBcaBdaBdaBdaBeaBfaBeaBdaBdaBdaBgaxGaBhaBiaBiaBiaBiaBiaBjaBjaBjaBjaBjawRaBkaBlaBmaBnaBoaBpawRaBqaBraABaBsaBtaBuaBvaBwaBxaBsaABaBraByaAHaBzaBAaBBaBCaBDaBEaBFaBGaAHaBHaBIaBJaALaBKawdaaaaaaaBLaBMaBNaBOatfaBPaBQaBRavkavkaBSavkdbiaxvaBTaBUaBVaBWaBXavmauraurauraurauravmaBYaBZatnabIabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiuaiuaDmmtuaiuaCdnyOawEaiusbYaCexJyjjCxeBaCfaiuaChaBdaCiaCjaCkaClaCmaCnaCoaBdaCpaCqaBhaBiaCraCsaCtaCuaCvaCwvTLaCxgkRawRaCyaCzaCAaCBaCBaCCaCDaCEaCFaABaCGaCHaCIaCJaCKaCLaCMaCNaxZaCOaAHaCPaCQaCRaCSaCSaCSaCTaCUaaqaCWaCXaCYaCZaDaawdaaaaaaaBLaDbaDcaDdaaGcomconcooaDgaDhaDiaDjaDkatnatnatnatnatnatnavmauraurauraurauravmatnaDlatnabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaoIaaaaaaaaaaAVaaaaaaaaaaAVaaaaaaaaaaAVaaaaaaaaaaAVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxBaxBaxBaAWaAXaAYaxCvtTaDmnPAaiuaaaaaaaaaaaaaaaaaaaiuaAbaAcaAdpFyaAeaAfaAiaAiaAgaAhaAiaAiaAiaAiaAjaAkaAlaAmaAmaAnaxGaAoawRaApaocaAraAsauHaAtaAuaAvaAwamtaAyawRaAzaAAaABaABaABaABaACaABaABaABaABaADaAEaAFaAFaAGaAHaAHaAHaAHaAHaAHaAHaAIaAJaAKaALaAMaANaaaaaaapXapXapXapXapXaAOaDfcolaAPaAQayravkdbiaxvaxwaxwaASaxwaxwaaFaurauraurauraurabdaATaAUavmabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaoHaoIaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxCaxCaxCaxCaxCaxCaxCvtTaDmaosaiuaiuaiuaiuaiuebDebDgSHebDxLCebDaiuaBcaBdaBdaBdaBeaBfaBeaBdaBdaBdaBgaxGaBhaBiaBiaBiaBiaBiaBjaBjaBjaBjaBjawRaBkaBlaBmaBnaBoaBpawRaBqaBraABaBsaBtaBuaBvaBwaBxaBsaABaBraByaAHaBzaBAaBBaBCaBDaBEaBFaBGaAHaBHaBIaBJaALaBKawdaaaaaaaBLaBMaBNaBOatfaBPaBQaBRavkavkaBSavkdbiaxvaBTaBUaBVaBWaBXavmauraurauraurauravmaBYaBZatnabIabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiuaiuaDmaiuaiuaCdnyOawEaiusbYaCexJyjjCxeBaCfaiuaChaBdaCiaCjaCkaClaCmaCnaCoaBdaCpaCqaBhaBiaCraCsaCtaCuaCvaCwvTLaCxgkRawRaCyaCzaCAaCBaCBaCCaCDaCEaCFaABaCGaCHaCIaCJaCKaCLaCMaCNaxZaCOaAHaCPaCQaCRaCSaCSaCSaCTaCUaaqaCWaCXaCYaCZaDaawdaaaaaaaBLaDbaDcaDdaaGcomconcooaDgaDhaDiaDjaDkatnatnatnatnatnatnavmauraurauraurauravmatnaDlatnabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiuapBaDmaCcaiuhHrezJqGuaarfuPgPVsJreEpnSohnuaiueQZaBdaDoaDpaDqaDraCkaDtaCkaBdaDuaxGaDvaBiaDwaDxaDyaDzaDzaDAaDAoyFaDBawRaDCaDDaDEaDEaDFaDGaasaDIaDJaABaDKaCKaDLaDMaDLaCKaDNaABaDOaDPaataDRaDSaDTaDUaDVaDWaDXaDYaAHaDZaBIaEaaALaEbaANaaaaaaapXapXapXapXapXapXcopapXaEcaEdaEdaEeaEdaEdaEfaEgaEhaEdaEiatnauraurauraurauratnaEjaEkaEjaEjaEjaElaEjahiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiuaiuaDmaiuaiuhHrujIeOZaiupXTpELsJrvhkuuSjTuaiueQZaBdxjKaEmaEnaEoaEpaEqaEraBdaEsaxGaBhaBiaEtaEuaDAaDAaDAaDyaEvoyFaEwawRaExazaaEyaEzaEAaBmawRaEBaECaABaEDaEEaEFaEGaEHaEEaEIaABaEJaEKaAHaELpHoaEMaENaEOaEPaEQaERaAHaANaESaEaaALaAMaANaaaaaaaEToFoaETaEUaFFaETaEWaGVaEYaEdaEZaFaaFbaEdaFcaFdaFeaEdaEdatnatnatnatnatnatnatnaFfaEkaEjaFgaFhaFiaFjahiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitaBamLBwxbaCgaCgdgIkQZaiuwrUelksJrgAGuAUwTDaiuaFkaBdfhMaFmaFmaFoaFmaFpaGaaBdaFraxGaBhaBiaFsaFtaDAaDAaDAaDAaFuoyFaFvawRaFwazaaFxaFxaFyaFzawRaEBaDJaABaABaABaABaABaABaABaABaABaDOaEKaAHaAHaAHaFAaAHaAHaFAaFBaAHaAHaFCaBIaEaaALaFDawdaaaaaarYCjOBcoraFEvuPaaHkIOaDZcotaEdaEZaFGaFHaFIaFIaFJaFIaaIaFLaFMaEdaFNaFOaFPaFQaEjhUtaEkaEjaFRaEjaEjaEjahiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitaBamLBwxbaCgaCgdgIkQZaiuwrUelksJrgAGuAUwTDaiuaFkaBdfhMaFmaFmaFoaFmaFpaGaaBdaFraxGaBhaBiaFsaFtaDAaDAaDAaDAaFuoyFaFvawRaFwazaaFxaFxaFyaFzawRaEBaDJaABaABaABaABaABaABaABaABaABaDOaEKaAHaAHaAHaFAaAHaAHaFAaFBaAHaAHaFCaBIaEaaALaFDawdaoEaaarYCjOBcoraFEvuPaaHkIOaDZcotaEdaEZaFGaFHaFIaFIaFJaFIaaIaFLaFMaEdaFNaFOaFPaFQaEjhUtaEkaEjaFRaEjaEjaEjahiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaoIaoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaitoTCwUzwigaiuezFujInihaiuamEmXqsJrkxjoCnuVfaiuaFUaauaFWaFnaFXaFYnBwaFnaCkaBdaGbaGcaGdaBiaGecouaGfaGgaGhaGilnnaGjuluawRawRawRawRaGkaGlaGmawRaEBaAAarAaGnaaJaaKaaLaaMaaNaGnarAaAAaEKaxiaGtaGuaGvaGwaGwaGvaGxaGyaANaGzaBIaEaaALaDaawdaaaaaaaETqbZaETaGAaGBaETaGCaGDaBIaEdaEZaGFaGGaGHaGFaGFaGFaEdaGIaGJaEdaGKaGLaGMaGNaEjaFiaEkaEjaGOaGPaEjaEjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaqaaCaaqdaaaaoIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiuaitaitaitaiuaodujIkxsaiuaiuaiuaiuaiuaiuaiuaiueQZoEAoEAoEAoEAoEAoEAoEAoEAoEAaGUaGVtHkaBiaGXaGYaGXaBiaBiaBiaGZonXaGXaANaHbaHcawRawRawRawRawRaHdmyuarAaxiaHfaHfaHfaHfaHfaxiarAaHeaHgaxiaANaHhaHiaHjaHjaHkaHlaANaANaANaEYaHmaGUaANaANawdawdaETaETaETaHnaETaETcosaDZaBIaEdaEdaGFaHoaEdaHpaEdaHqaEdaHraGJaEdaHsaHtaFiaGNaEjaFiaEkaHuaFiaEjaEjaEjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaIraqcaaaaqaaIraqcaaaaqaaIraqcaaaaqaaIraqcaaaaoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahtaaaaiuaqgiJiqGugKGguejhkjhkoTpjhkjhkaHCgjqoEAuoSuoSuoSuoSuoSuoSuoSoEAaHEaHFaHGhqoaHHaHIaHHaHJaHKaHLaHMqXHjYegNGjYeaHOaHPaHQaHRaHQaHSaHTaHUaHVaHWaHXaHXaHYaHXaHXaHZaHVaHUaIaaIbaHVaHVaHVaHVaHVaHVaHVaHVaIcaIdaHGaIeaCZaIfaIgaHNaHNaHNaHNhFyaIiaHNaHNcoyaDZaBIaIjaEdaGFaIkaEdaIlaEdaIlaEdaEdaDlaEdaEjaEjbfuaEjaEjaFiaEkaEjaGOaIpaIqaElaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaqaaIraqcaaaaqaaIraqcaaaaqaaIraqcaaaaqaaIraqcaaaaoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahtaaaaiuaqgiJiqGugKGguejhkjhkoTpjhkjhkaHCgjqoEAuoSuoSuoSuoSuoSuoSuoSoEAaHEaHFaHGhqoaHHaHIaHHaHJaHKaHLaHMqXHjYegNGjYeaHOaHPaHQaHRaHQaHSaHTaHUaHVaHWaHXaHXaHYaHXaHXaHZaHVaHUaIaaIbaHVaHVaHVaHVaHVaHVaHVaHVaIcaIdaHGaIeaCZaIfaIgaHNaHNaHNaoFhFyaIiaHNaHNcoyaDZaBIaIjaEdaGFaIkaEdaIlaEdaIlaEdaEdaDlaEdaEjaEjbfuaEjaEjaFiaEkaEjaGOaIpaIqaElaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaaaaaaaoIaaaaaaaaaaoIaaaaaaaaaaoIaaaaaaaaaaoIaaaaaaaoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNahtaaaaiuaiuaiuaiuaiuaICaiuaiuaiuaiuaiuaIHaiuoEAuoSuoSuoSuoSuoSuoSuoSoEAaALaILaIMaDZaDZaINaIOaIOaIOaIPaIQaIOaIOaIOaIQaIPaIOaIOaIRaIOaISaITaIVaIOaIOaIWaIWaIXaIWaIYaDZaDZaIZaJaaJbaDZaDZaDZaDZaDZaDZaDZaDZaGVaDZaBIaJcaJdaJeaJfaIUaIUaIUaIUaJhaJiaIUaIUaJjaJkaJlaJmaaOaFIaJoaEdaEdaEdaEdaEdaJpaEkaEjaJqaJraJsaJtaJsaJsaJvaEjaFiaEjaJwaEjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoHaoIaoHaoHaoHaoHaoHaoHaoHaoHaoHaoHaoHaoJaoHaoHaoHaoIaoHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaahtaaaaHziabxaQrgsaJDpvKgxqniyaJFriFaiuofXiSzoEAuoSuoSuoSuoSuoSuoSuoSoEAaALaDZaJGaJHaJIaJJaJIaJIaJIaJKaJLaJIaJIaJMaJLaJKaJNaJOaJPaJOaJOaJQaJSaJOaJOcozcozcoBcozcozaJOaJOaJTaJQaJUaJOaJVaJOaJWaJRaJOaJVaJOaJPaJRaJXaJYaJZaKaaKbaJIaJHaJIaJIbheaKeaJIaJIaJIaJHaKfaKgaEdaKhaGFaaPaKjaEdaKkcCXcCYcCZaEjaKnaEjaKoaFiaKpaFiaKnaKqaFiaEjaKraEjaLnaLmaLmaLoaLoaLmaLmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHAaHAaHAaHAxeeaKAfmUjeqjeqaKDaKEaKEaKGxhEaiuaiuaIHoEAuoSuoSuoSrJZuoSuoSuoSoEAaALaDZaKIaKJaKKaKLaKKaKJaKMaKNaKOaKPaKQaKQaKRaKSaKQaKTaKTaKTaKTaKTaKUaKTaANaKVaKVaKVaKVaKVaANaKTaKYaKZaLaaKZaLbaKZaKYanXaLcaLdaLcanXanXaBIaEaaALaLeaLeaLeaLelAslAslAskVAlAslAslAslAslAscDaaEdaEdaEdaEdaEdaEdaLhcDaaLiaLjaKqaKnaLkaLlaFiaFiaFiaKnaEjaEjaEjaEjaLmaNTaLmaMEaMFaMGaMHaLmabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6806,7 +6809,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxeeaHAaHAaHAnYnaJEkvjaQtaQuaQtaQuaQtaVNaJEaVMabCaJEaVOdTVdTVgeUdTVaVPdTVabEabAxvOwunaVRaVSaVSaVTaVUaVSaRLaRLaRLaRLaVVaRLaRLaRNaVWaVXaSKaSKaVYaVZaWaaWbbdvaWdaWeaWfaWgaWhcpeaWiaWjbahbahbahaWlaWmaPEaWnaWoaWpaWqaWraUfaMbaDZaMcaPWaWsaWtaWuaWuaWuaWuaWvaVtaPYaWwlfZaWxaVxaWyaTmaWzaTmaTmaTmaWAaUyaWBsQtaaaaaaaaaaaaaaaaaaaaaaaaaaaahtaaaaEjaUCaEjaFiaHuaFiaFiaFiaElaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTCaUDaTEaaaaTCaUDaTEaaaaTCaUDaTEaaaaTCaUDaTEaaaaTCaUDaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaqICaKzwKawqufTYaWEftWaOfaOfgpCaOfaOfcJofwexmpabGaWFaWFaWFaWIaWJaWFaWJaWFxmpabFaCZaEaaKIaVSaWMaWNaWOaVSaWPaWQaWQaWRaWSaWTkEWaRNaRNaRNaRNaWUaWVaWWaRNaWXaWYaXbaXbaXbaXcaXdaPEeyTbahbahaXhbahbeBbckaPEaXkaXlaXmaXnaXoaXpaXqaHNaXraLfaPWaXsaXtaXuaPWaLfaLfaVtaPYaXvaLfaXwaVxaXxaTmaVzaTmaTmcCBaXyaXzaXAaXzaaaaaaaaaaaaaaaaaaaaaaaaaaaahtaaaaEjaUCaEjaFiaEjaFiaXCaXCaElaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTCaUDaTEaaaaTCaUDaTEaaaaTCaUDaTEaaaaTCaUDaTEaaaaTCaUDaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHAaHAaHAaHAxeeaWKppQaWKduQppQaWKaWKppQaWKaOsaHzaXFaXGkAaaXKaXKaXIaXJaXIaXKaXBaGUaHmaXLaXMaXNaXOaXPaVSaXQaXRaXSaXTaXUaXVaXWaXXaXYaXZaRNaRNaYaaRNaRNaYbaRNaRNaRNaPEaPEaYdaPEaYeaYfaYgaYgaYgaYhaYiaPEaYjaUfaYkaYlaYmaUfaMbaDZaMcaLfaYnaYoaYpaYqaYraYsaPWaVtaPYaYuaLfaYvaYwaYxaYyaYzaTjaYyaYAaYBaLgaLgaLgaaaaaaaaaaaaaaaaaaaaaaaaaaaaEjaElaEjaUCaYCaFiaEjaYDaYEaYFaElaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTCaUDaTEaaaaTCaUDaTEaaaaTCaUDaTEaaaaTCaUDaTEaaaaTCaUDaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaXHaYHaYIfowaYJaYKaXIaALaEaaYLaVSaVSaYMaVSaVSaYNaXSaYOaYOaYPaXSaXSaXSaXSaYQbgkaYRaYSbcerxVaYVaYUaYTaYXaYYcpgaYZaZaaZbaZccphaZdcpicpjcpkaZfaZgaUfaUfaUfaUfaUfaZhaDZaZiaLfaZjaVuaPYaPYaOVaZkaaSaZmaZnaOTaUlaZoaZpaZqaZoaZoaZraZsaZtcCTaLgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaElaZvaTxaZwbaGbaGbaGbaGbaGbaGbaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTCaUDbaIaaaaTCaUDbaIaaaaTCaUDbaIaaaaTCaUDbaIaaaaTCaUDbaIaaaabyabIabyabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaYGaXHaYHaYIfowaYJaYKaXIaALaEaaYLaVSaVSaYMaVSaVSaYNaXSaYOaYOaYPaXSaXSaXSaXSaYQbgkaYRaYSbcerxVaYVaYUaYTaYXaoGcpgaYZaZaaZbaZccphaZdcpicpjcpkaZfaZgaUfaUfaUfaUfaUfaZhaDZaZiaLfaZjaVuaPYaPYaOVaZkaaSaZmaZnaOTaUlaZoaZpaZqaZoaZoaZraZsaZtcCTaLgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaElaZvaTxaZwbaGbaGbaGbaGbaGbaGbaGaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTCaUDbaIaaaaTCaUDbaIaaaaTCaUDbaIaaaaTCaUDbaIaaaaTCaUDbaIaaaabyabIabyabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZxaZyaZyaZyaZzaZAovMaZAaZAaZAaZAaZAaZCaZDaZEaXHaZFaZGaZHaZIaZJaZKaZLaZMaZNaVSaZOaZPaZQaVSaZRaZSaZTaZUaZVaZWaZXaXSaXSaXSgamaYSaYSaYSaYScplbabbacbadbaebahbagbahbagbahbagbeBbagbahbagbahbanaPEbaobapbaqaPEbaraDZaMcaLfbasbatbaubavbawbaxaPWaPYaPYaPYbazaTmaZtbaAbaBbaCbaDbaEaZpbaFaLgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaElaUCaGOaFibaGbbLbbMbaHrWEsutrWEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbPaaaaaaaaabbPaaaaaaaaabbPaaaaaaaaabbPaaaaaaaaabbPaaaaaacFBabIcFBabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZxbaJbaKbaKbaKbaKbaLbaKbaMbaNbaNbaNbaNbaObaPaXHbaQbaRbaSbaTbaUaXIaALbaVbaWaXMbaXbaYbaZaVSaYNbbaaZTbbbbbcaXSbbdpWTpWTbbeaZZaYSbbgcpmcpnbcfbbibaabblbbmbagcpobagbbrbbobbpbbqbbrbbsbbpbagbbtbbubbvbbwbbxaPEaMbbbybbzaLfaLfaLfaLfaLfbbAaLfaLfbbBbbCbbDaLfbbEbbFbbGbbHbbIbbIbbJbbKbbIbbIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaEjbcHbcIbcIaaTbcKbcLuXHbbObcOoCXbcQbcQbcQbcQbcQbcQbcQbcQbcQbcQbcQbcQbcRbcSbcSbcSbcSbcSbcSbcSbcSbcSbcSbcSbcSbcSbcSbcSbcSbcTbcUbcQbcQbcVabIabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZxaZxjzzbbQaZxbbRbaKbbSaZxbbQjzzbbRbaKbbTbbUaXHaXHaXIbbVaXIaXKaXKaALaEaaKIbbWbbXaZPbbYaVSaYNaZSaZTbbZbbcbcaaRLbcbbccbcdaRNcpqcprbcgbchcpsbbhbaabblbaebahcptbahbbrbcobbpbeBbbrbcqbbpbahbcrbcsbctbcubcvbcwaSXaDZaMcaEjbcxbcyaFiaFibczaFiaLfaLfaLfaLfaLfbbEbcAbcBbcCbbIbcDbcEbcFbcGbbIaaaaaaaaaaaaaaaaaaaaaaEjaElaEjaElaEjaUCaFiaFibaGbdRbdSbcNrWErWErWEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdUaaaaaaaaabdUaaaaaaaaabdUaaaaaaaaabdUaaaaaaaaabdUaaaaaacFBabIcFBabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6814,7 +6817,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaajzzbdVaZxaZxaZxaZxaZxbdVjzzaYGaYGbbTbdWbdXbdYbaKbdZbeaabKaGVaALaEabebaVSbecbedbeeaVSaXQbefbegbehbeibejabLbelbembenabMcpwbeqberbesbepcpxbeuanjbaebexbagbeybezbeAbagbeBbagbeCbeDbeEbeFbeGaZeaXbbeHaPEaBIaDZaALaEjaFiaEjbeIbeIbeIbeIbeIbeIbeIbeIbczbbEbeJbeKbeLbdIbeMbeNbeObePbdIbdIbdIaaaaaaaaaaaaaaaaEjbeRaEjaFiaFibeSaFikIoaEjbfPkKIeZAvzTdsvaEjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYGbeYbeZbfabfbbaNbfcbfdabPbffbfgbfhaKIaVSbfiaVSaVSaVSbfjbfkbflbflbfmbfnbdmbdnaDZbfoaRNbfpcpycpzcpAcpBaRNbgkaRNcpCbfraPEcpCcpCaPEbfsbftbfsaPEcpCcpCaPEaPEbdybdyaPEaPEaEYaGVaGUaEjbfuaEjbeIbfvbfwbfxbfybfzbfAbeIbczbbEannbfCbfDbdIbfEbfFbfGbfHbfIbfJoPybfKaaaaaaaaaaaaaEjaUCaKqaFiaFiaFibfMbfNaEjbfPaFitDngUbdLYaEjaaaaaaaaaaaaabNaaaaaaaaaaaaaaaaaaaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZxbbTbfYbfZbfZbgabgbbgcbgdbgdaALaEabgebgfbggbghbgiaRLbdmbdmbdmbdmbgjbdmaRLkEMaDZbfoaRNbgkbglbgkbgkbgkaRNbgnbgobgpbgqbgrbgsbgpaPEbgtbgubgtaPEbgvbgwbgxbgybdobdobgzaDZbgAaDZaALbgBaDZbgCbgDbgEbgFbgGbgHbgIbgJbeIbczbbEgaJbbEbbEbbIbgKbgLbgMbfHbdIbdIbdIaaaaaaaaaaaaaaaaEjaUCaEjaEjaEjaEjaEjaEjaEjaEjhOzaFiaFixylaEjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgSaZxbbTbfYbgabgUbgVbgWbgXbgYbgaaALbgZbhabhbbhcaJIaJIaJIaJIbhdaJIaJIbheaJIbhdaJIaJIaJZaJIaJIbheaJIaJIaJIaJIaJIbhdaJIaJIaJIaJIbhfaJIbhdaJZaJIbhgaJIaJIaJIaJIaJIbhdaJIaJIbhebhhaJZaJIaJIbhibhjbhkbhlbhmbhnbhobhnbhpbhqaEjaZvaTxaTxaaUbhsbhtbhubhvbbIaaaaaaaaaaaaaaaaaaaaaaEjeCwgfibhzbjDgfibhzgfibhBaEjaEjnZwaEjaEjaEjahtahtahtahtaEjaElaElaElaEjaaaaaaaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabgSaZxbbTbfYbgabgUbgVbgWbgXbgYbgaaALbgZbhabhbbhcaJIaJIaoMaJIbhdaJIaJIbheaJIbhdaJIaJIaJZaJIaJIbheaJIaJIaJIaJIaJIbhdaJIaJIaJIaJIbhfaJIbhdaJZaJIbhgaJIaJIaJIaJIaJIbhdaJIaJIbhebhhaJZaJIaJIbhibhjbhkbhlbhmbhnbhobhnbhpbhqaEjaZvaTxaTxaaUbhsbhtbhubhvbbIaaaaaaaaaaaaaaaaaaaaaaEjeCwgfibhzbjDgfibhzgfibhBaEjaEjnZwaEjaEjaEjahtahtahtahtaEjaElaElaElaEjaaaaaaaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZxbbTbhEbfZbhFbhGbhHbhGbhIbgdbhJbhKbhLaDZaALaDZaDZaDZaDZaBIaDZaDZaDZaDZbhMaDZaDZaALaDZaDZaDZaDZaDZaDZaDZaDZaBIbhNaDZaDZaDZcpHcpIcpJbhOcpKcpLcpMaDZaDZaDZwVCaBIaDZaDZaDZbhMaALaDZbhPbhQbeIbhRbhSbhTbhUbfzbhVbeIaNRaEjaUCaEjaEjbbIbbIbbIbbIbbIbbIaEjaEjaaaaaaaaaaaaaaaaEjaUCaEjlEnlEnlEnlEnaEjfwIaEjoRXaFigSIaKqaEjaElaElaElaElaEjbnliCewOfaEjaaaaaaaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZxbbTbfYbfZbibbhGbicbidbiebgdbifaIeaHNaHNbigaHNaHNaHNbihbiibijbikbilbikbimbikbikbinbimbikbikbikbikbikbijaHNaHGbigbihaHNaHNcpNcpOcpPbiocpQcpRcpSaHNaHNbihaHNaHGbipbiqbipbirbisaHNaHNbipaaWbiubhSbivbiwbeIbeIbeIbixbiybizaTxaTxaTxaTxbiCaFiaEjaGPpKdaEjaEjaEjaEjaEjaEjaEjaUCbkFpnUuwbbiDvYNbkFfwIaKqbiFgfigfigfintjgfigfigfigfintjgfivskbhBaEjaaaaaaaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaaTCbeUaTEaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaYGbbTbiIbiJbiKbiLbiMbgVbiNbgabiObiPbjjbiRbiSbiTbjLbjLbiWbiXbiYbiYbiYbiYbiZbiYbiYbjabjbbjabjabjcbjcbjdbjebjdbjfbjgbjhbjdbjicpTbjkaBIaDZaDZbjlcpUbjnbKMbjpbltbjrbKMbGabKMbBoaANbjmbjmbjmbeIbjubhSbivbiwbeIaKqbjvygZbjwbjwbjwbjwbjwbjwpdWaTxbjxbjxbjxbjxobjbjxbjxbjxbjxoTlqHIbkFpnUbjBbiDvYNbkFbjEgfibjFaFibfMybXbfMybXfNvbfMybXfNvaFiljefwIaElahtaaaaaaaTCbeUaTEaaaaTCbkPbaIaaaaTCbkPbaIaaaaTCbkPbaIaaaaTCbkPbaIaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6826,25 +6829,25 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZxaZxaZxaZxaZxaZxaZxaZxaZxaZxaZxbbRbaKbbTbfYbptaYGbpubnvbpvbpwbpxbnvbpybpzbpAbpBbpBbpCbpDbpEbpFbpGbpHbpIbpJbpKbpHbpMbpNbpObpPbpQbkhbpRbpSbpTbpUbpVbpVbpWbpXbpWbpVbpYtcCxjenKFcClbqbcClcClbqbbqcbqbcClbqdbqebqfbktbqgbqhbqibqibqibqjbmMbqkbktbqlbqmbqnbjwbqobqpbqqbqreYredlbqtbqtbqtnBLbqvbqwlARbqxtdpbkFbnjbqAbkFbqCbzgbqEbqFostbrRbsabsbigEbnjbsabsbbscbnjbsabsdbsebkFaEjbqObkFkFDcPyxxwsNznImtqXbkFblXblXblXbkFaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZxbbRbaKbbTbqSaYGaYGboqbnvbqTbqUbqVboubqWbpzbqXbqYbqZbrabrbbrcbrdbiYbiYbiYbiYbiYbiYbiYbrebrfbrgbjcbrhbribjdbpTbpUbpVbrjbrkbrldVtbrmbpYqWBtTlcqicClbrpbrqbrrbrsbrtbrucClbrvbyCbkobkubrwbrxbmMbrybrzbrAbrBbrCbktbrDbrEbrFbjwbrGbrHbpfbqsbqsbqsbrKbrLbrMbqsbqsbrHbqsbqsoDPbrRbrTbrUbrVbrWbrXbrWbrWnOYqVPbtwbtwbtxitlbtwbtwbtxbsfgIGgIGxjTbkFbtAbtBxKceILdirlhAnqVoEWnEbpbRblXiPjblXxKcaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaZxbbRbaKbbTbsmaYGbsnboqbnvbsobspbsqbnvbsrbssbstbsubsvbswbsxbsybszbsAbsBbsCbsCbsDbsEbsAbsFbkgbsGbjcbjdbjdbjcbsHbsIbpYbsJbsKbsLbsMbsNbpYiHetTlcqicClgFobyFbsRbsSbsRbsTcClcqkcqlbsVbktbsWbsXbsYbsZbtabtbbtcbtdbktbtebtfbkxbjwbtgbrHbthbtibrJbtkbtlbtlbtlxgGbrJbtpbtibrJbtsaaVbxFbxFabSvMxcsubtubtvdgzqtFbuIbuJdxcbuLbuMbuNbuObuQbuNbuNbtEaaXuXGbtFaaYmTSmTSlFhoSLiuMpWmblXblXtfPtuybkFahtabyahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaairsaZxbbRbaKbbTbtNbtObtPbtQbnvbtRbtSbtTboubtUbtVbtWbtXbtYbnvbtZbsybjQbuabubbucbudbucbuebuabkhbufbrfbugcqmcqmcqmblobuibpYbujbukbulbumbunbpYqbmtTlcqivfncSKcCtbupbuqburbuscClbutbyCbuubktbkubuvbkubktbktbktbktbktbktbuwbuxbuybodfjsbuAwBbwBbwlKbuBdkRbuCgDZcKAbuDbuEbuFbuGbuHbrRwkZbuKbkFofNxzpxprnuvjxljwebwebwebwfcucbwhbwebwfbuUbwebwebuWbkFmtIgICoBbpMGufaufahUJwXuuvonaqblXiPjblXxKcaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaairsaZxbbRbaKbbTbtNbtObtPbtQbnvbtRbtSbtTboubtUbtVbtWbtXbtYbnvbtZbsybjQbuabubbucbudbucbuebuabkhbufbrfbugcqmcqmaoNblobuibpYbujbukbulbumbunbpYqbmtTlcqivfncSKcCtbupbuqburbuscClbutbyCbuubktbkubuvbkubktbktbktbktbktbktbuwbuxbuybodfjsbuAwBbwBbwlKbuBdkRbuCgDZcKAbuDbuEbuFbuGbuHbrRwkZbuKbkFofNxzpxprnuvjxljwebwebwebwfcucbwhbwebwfbuUbwebwebuWbkFmtIgICoBbpMGufaufahUJwXuuvonaqblXiPjblXxKcaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamZEbGIbGIbGIbGIaqGaqGaZxbbRbaKbbTbfYaYGbvabvbbnvbnvbtSbnvbvcbouboubvdbvebvcbvcbvfbvgbvhbvibvjjsjbvkkQytixrarjUVbvmbvnbvobvlbvlbvlbvlbvpababvrbvsbwUbvtmcfgGAbvugkScqiufxduFbyFbvwbvxbvybvzbqbbsUbvAbvBbvCcqpbvEbvFbvGbvHbvIbvJbvKbvLbvMbvNbvObvPbvQbvRbvSbvTbvUeNqbvVbvWbvVbvYbvZbwabwbbwcbjwbkFbnjdqwbkFgdLugCihkihktXnbrRbxMbxNbxObnjbxMbxQbxRbnjbxMbxSbxTbkFbwmbwnbkFiPzoNEtaAriWcOpmMzbkFblXblXblXbkFaaaaedaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVpaZxaZxaZxaZxaZxaZxaZxaZxaZxbwqbwraYGbwsbwtbnvbnvbwubnvbwvbwwbwxbwybwzbwAbvcbwBbwCbwDbwEbwFbwGbwHbwIcSJbwEbwKbwLbwMbwNbwObwPbwPcqsbwQbpXbwSbwTbsKbwVnnfbwWwnwtTlcqiufxoxtbxcbxdbxebxfbxgabTbxibxjbxkbxlbxmbxnbxobxpabcbxrbxsabUbxubxvbxwbxxbxybxzbxAbwabxCbxDeNqcxtbxGbxHbvYbxJefubxKbxLbjwldQbwmspzbkFiLlgdJpXgcPThfZbnjbzkbzlbzmbnjbznxxObzpbnjbzqbzrbzsbkFkFuvRibkFsXRoepqcHjtflGSdmTbkFblXblXeQRbkFahtabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVpaZxjkmotootootootootoabZbxYbxZbyaaYGbybbycbnvbydbtSbyebyfbygbyhbyibyjbykbvcbylbymbynbsAbyobypbuabyobsAbsAbyrbysbytbyubyvbyubyvbyubyvbpYbywbyxbsKbyzbyAbpYceptTlerVabebyEnIUbyGbyHbyImdLbqbbyJhiYbyKcqtbyLbyMbyNbyObyPbyQbyRbySbyTbyUbyVbyWbyXbyYbyZbzabzbbzcurPbzdbzebzdfkHtAKbzhbzibzjbjwlNWbwmspzbkFbkFbkFbkFbkFbkFbkFbAHblXblXbnjbAHblXblXbnjbAHblXblXbkFtSLdKsbwmsXRbndbndbndbndbkFbkFbkFxKcbkFbkFaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVpaZxtpXwwKwwKwwKwwKkvxacabzzbzAbzBaYGbzCbzDbnvbzEbwubzFbzGbzHbzIbzJbzKbzLbvcbzMbzNbzObsAbzPbzQbzRbzSbzTbzUbzVbzWbzXbzYbzZbAabAbbAcbAdbpYbAebAfbAgoohbAibpYePStTlrMtbAmbBpbAobApbAqbArbCJfRsbAtbAtbAtbAubAvbAwbAxbAybAybBobAAbAAbABbAAbAAbAAbAAbACbADbAEbAFbAFbAFwnJvTNwnJbAFbAFbAFbAFbAFbHymSclWyspzbxPbwmlWykPisyQkkQbkFblXbBUblXbnjblXbBUblXbnjblXblXblXbkFcDBoKabwmpwSmlrnNNahtaaaaaaaaaahtaaaaaaaaaaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVpaZxiHIwwKaZxaZxaZxbAIbAJvIUbAKbALaYGbzCbAMbnvbANbAObAPbAQbARbASbATbAUbAVbvcbAWbAXbAYbsAbCjbzQbzReFjbBcbBdbBebBfbpPwLobBgbBhbBibBjbBkbpYbpYbBlbpYbpYbpYbpYnhWqUeksCdhzvyNbBqbBrbBsbBtbBufRsbBwbBxbBybAubsUbBzbkobBBbBoaaabAAbBCbBDbBEbBFbBGbAAbBHbBIbBJbAFbBKbBLbBMbBNbBObBPbBQbBRbBSbBTbHyscigXgwFTnevabgcDBcDBcDBrKLbkFblXbDeblXbnjblXbDeblXbnjblXbDeblXbkFcDBrgnbwmbwmsEBbwmahiaaaaaaaaaaedabyabyaedabyabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVpaZxtpXwwKwwKwwKwwKkvxacabzzbzAbzBaYGbzCbzDbnvbzEbwubzFbzGbzHbzIbzJbzKbzLbvcbzMbzNbzObsAbzPbzQbzRbzSbzTbzUbzVbzWbzXbzYbzZbAabAbbAcbAdbpYbAebAfbAgoohbAibpYePStTlrMtbAmbBpbAobApbAqbArbCJfRsbAtbAtbAtbAubAvbAwbAxbAybAybBobAAbAAbABbAAbAAbAAbAAbACbADbAEbAFbAFbAFwnJvTNwnJbAFbAFbAFbAFbAFbHymSclWyspzbxPbwmlWykPisyQkkQbkFblXbBUblXbnjblXbBUblXbnjblXblXblXbkFiVJoKabwmpwSmlrnNNahtaaaaaaaaaahtaaaaaaaaaaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVpaZxiHIwwKaZxaZxaZxbAIbAJvIUbAKbALaYGbzCbAMbnvbANbAObAPbAQbARbASbATbAUbAVbvcbAWbAXbAYbsAbCjbzQbzReFjbBcbBdbBebBfbpPwLobBgbBhbBibBjbBkbpYbpYbBlbpYbpYbpYbpYnhWqUeksCdhzvyNbBqbBrbBsbBtbBufRsbBwbBxbBybAubsUbBzbkobBBbBoaaabAAbBCbBDbBEbBFbBGbAAbBHbBIbBJbAFbBKbBLbBMbBNbBObBPbBQbBRbBSbBTbHyscigXgwFTnevabgiVJiVJiVJrKLbkFblXbDeblXbnjblXbDeblXbnjblXbDeblXbkFiVJrgnbwmbwmsEBbwmahiaaaaaaaaaaedabyabyaedabyabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVpaZxiHIwwKaZxirsbBVqbVbBXbBXbBXbBXbBXbBYbvbbnvbnvbnvbnvbBZbCabCbbCcbCdbCebvcbCfbCgbChbsAbCiiojbBbbClbCmbyobCnbCobCpabhbCrbCsbCtbCubCvabibCxbCybCzbCAbCBabjrGzdggfdQnkkbBpbCEbCFbCGbCHbCIbAobCKbCLbCMbAtcqkcqvbkobCNbCOahtbCPbBCbBDbCQbCRbCRbCSbCTbCUbBJbCVbCWbCWbCXbBNbCZbCWbDabDbbDcbDdbHybwmbwmbwmhgDbwmlWyhxnrFqlWybkFbkFbkFbkFbkFbkFbkFbkFbkFbkFbkFbkFbkFaadjRGeuQvtljEXhSMahiaaaaaaaaaahtaaaaaaaaaaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagLnaZxiHIuALaZxirsbDfabIbBXbDgbDgbDhbvabDibDjbDibDibDkbnvbvcbvcbvcbDlbDmbDnbvcbDobDpbDqbsAbDrbsAbDrbsAbDrbsAbDsbkhbpPwLobDtbDubDvbDwbDxbDybDybDybDybDybDzbvarPdphJbmDbDAbBpbDBbDCbDDbDEbDFbAobDGbDHbDIbAtbsUbBzbkobDKbBoahtbAAbDLbDMbDNbDObDPabkbDRbDSbDTablbDVbDWbDXbDYbDXbDXbEabEbbEcbEdbHyglfpNyveMbEfbAFtSLuvqobPlWybwmkgRdMOhTlbwmqIOdmPlWysZuwfcbwmueVdoodtmgmpvuQbwmruibwmahiaaaaaaaaaaedahtahtabyabyaedahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaairssTgaZxtpXvbQaZxirsbDfirsbBXbEjbEkbElacbbEnbEobmfbEpbmfbEqbDibErbvcbvcbvcbvcbvcbEsbEtbEubjcbEvbEwbExbEybEzbkbbEAbEBbECbzYbEDbEEbEFbEGbEHbDybEIbEJbEKbELbEMbvaxDjphJbmDbEQbBpbERbESbETbEUbEVfRsbEWbEXbEYbAubsUbBzbkobEZbCOaaabCPbFabFbbFcbCRbFdbCSbCTbwbbFfbCVbFhkmnbFibFjbFkbFlbFmbFnbGubFpbHybFrbFsbFtbFubAFlWybFxbFybFzbwmbFBlWybFCbwmjXAbFDlWylWysAKbwmheCefUbwmbwmbwmbwmbwmbwmahtahtabyaaaaaaaaaaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFEaaaaaaaaaaaaaaaaaairsirsgLnaZxiHIvbQaZxirsbDfabIbBXbFFbvabvabvabvabvabsnbsnbvabFGbEnbFHbFIbFJbFKbFLbAWbErbFMbFNbFObFPbkhbkhbFQbnFacpbFSbkhbFTbFUbFUbFUbFUbFUbFUbDybFVbFWbFXbDybFYbvabltlCYjrbbGabBpbBpbBpbBpbBpbBpbBpbAtbGbbGcbAubGdbBzbkobGebBoahtbAAbGfbGgbGhbCRbGibAAbGjbGkbGlbAFbGmbGnbGobGpbGqbGrbGsbGtbGubGvabmqtAbGxbGynoMabncDBtSLbGBlWybwmbwmrxQbwmbwmbwmbwmfKjbwmbwmbwmuugeMCjFwrNBaaaaaaahtaaaahtaaaahtaaaaaaaaaaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGDbGEbGFbGEbGGbGHbGIaaairsirsirsgLnaZxhWavbQaZxirsagSaaabvabvabvabGKbGLbGMbvabvabvabvabGNbDibErbGObGPbGQbGRbAWbGSbGTbGUbFObGVbkhbGXbuhbuhactbGZbuhbHabFUbHbbHcbHdbFUbFUbFUbFUbHebFUbFUbDzbvajCvbAkbAlbHgbvDbHhbHibHjbHkbHlbHmaIAbHnbHobHgbHqbHrbHsbHtbCOahtbCPbCRbHubCRbCRbHvbHwbuzbuzbuzbHybHybHybHybHybHybHyubWbHzbGubHAnsDkhkbHCbHDbHEbAGbwmbwmbwmxlAbwmsvNlWynzDrosrosgxKlWybwmhXtbwmcDBcDBxpDbwmahtabyabyabyabyaedabyabyaedabyahtahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabFEaaaaaaaaaaaaaaaaaairsirsgLnaZxiHIvbQaZxirsbDfabIbBXbFFbvabvabvabvabvabsnbsnbvabFGbEnbFHbFIbFJbFKbFLbAWbErbFMbFNbFObFPbkhbkhbFQbnFacpbFSbkhbFTbFUbFUbFUbFUbFUbFUbDybFVbFWbFXbDybFYbvabltlCYjrbbGabBpbBpbBpbBpbBpbBpbBpbAtbGbbGcbAubGdbBzbkobGebBoahtbAAbGfbGgbGhbCRbGibAAbGjbGkbGlbAFbGmbGnbGobGpbGqbGrbGsbGtbGubGvabmqtAbGxbGynoMabniVJtSLbGBlWybwmbwmrxQbwmbwmbwmbwmfKjbwmbwmbwmuugeMCjFwrNBaaaaaaahtaaaahtaaaahtaaaaaaaaaaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabGDbGEbGFbGEbGGbGHbGIaaairsirsirsgLnaZxhWavbQaZxirsagSaaabvabvabvabGKbGLbGMbvabvabvabvabGNbDibErbGObGPbGQbGRbAWbGSbGTbGUbFObGVbkhbGXbuhbuhactbGZbuhbHabFUbHbbHcbHdbFUbFUbFUbFUbHebFUbFUbDzbvajCvbAkbAlbHgbvDbHhbHibHjbHkbHlbHmaIAbHnbHobHgbHqbHrbHsbHtbCOahtbCPbCRbHubCRbCRbHvbHwbuzbuzbuzbHybHybHybHybHybHybHyubWbHzbGubHAnsDkhkbHCbHDbHEbAGbwmbwmbwmxlAbwmsvNlWynzDrosrosgxKlWybwmhXtbwmiVJiVJxpDbwmahtabyabyabyabyaedabyabyaedabyahtahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabHIbGDbGEbHJbHKbHLbGEbHMbHNaqGaqGaqGeOAaZxwwKvbQaZxirsagSbvabvabHPbHQbHQbHQbHRbHQbHSbvabHTbGNbDibErbHUbHVbHXbHXbHYbHZbIabIbbFObIcbIdbIebIfbIgbkbbCnbIhbIibIjbIkbIlbImbInbIobIpbIqbIrbIsbFUbDzbvabOKbItbIumVjbIvbIvbIvbIxbIvbIvbIycqwbIAbRXcqxbICbIDbBAbIEbBoaaabAAbIFbIGbIHbIIbIJbHwabIabIabIaaaaaaaaaaaaabIaaaaaaubWbIKbILbIMrPWbINcxbfBzbJVfwrrBhbIPbIQbIRlQnbIQrosuojbwmvpzpWFbIQbIQbIQbIQbIQdVJjQhbwmaaaahtahtaaaahtaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabybITbIUpbmbIVbIWbIXbHMbGEbGEbGEbGEaZxaZxwSUvbQaZxirsagSbIZbJabJbbJcbJdbJebJfbJgbJhbvabJibGNbJjpQwbJksENbJmbJlbGWbGWcBKbJnbFObFObFObjcbjcbjcbjcbJobkhbJpabobJrbJsbJrabpbJubJvbJwbJxbJyabqbJAbvabENbJBbJCbJDcqzcqzcqzcqzbJEbJFbJGcqDbJHcqEbJJbJKbJLbJMbJNbJNbJNbHwbHwbJObHwbHwbHwbHwbJPbJPbJPbJPbJPahtabyabyabyahtxIxbJQbJRbJSkfhdAFbJTbCVbLhgMmbwmbwmbwmbwmbwmuekizFbwmbwmbwmbwmbwmbwmrNBbwmbwmjDAbwmbwmaaaaedabyabyaedabyabyaedabyahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabybJZbHMbKabKbbKcbKdbHMbKebKfbKfafVllSllSllSvbQaZxirsagSbIZbHQbJbbKhbKibKjbKkbKlbKmbvabvabGNnpEbErbKnbKobKnbKpbKnbKqbKrbKsbKtbKubErbKvbKwbKxafWbGZbKzbKAbIjbKBbKCbKDbFUbKEbJxbKFbJxbKGbFUbKHbvabKIbKJbKKbBobKMbBobBobKMbJNbKObKPbKObJNbJNbKQbJNbKRbJNbJNbKSbKTbKUbKVbKWcqGbKYbKZbLabLbbLcbLdbLebJPaaaaaaahtaaaaaabHybIKbLfbIMbHybCVwOSbCVbMqbAFahtahtahtahtrNBizFizFizFbwmahtahtaedabyabyaedbwmrNBbwmahtahtabyahtaaaaaaaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabybJZbHMbKabKbbKcbKdbHMbKebKfbKfafVllSllSllSvbQaZxirsagSbIZbHQbJbbKhbKibKjbKkbKlbKmbvabvabGNnpEbErbKnbKobKnbKpbKnbKqbKrbKsbKtbKubErbKvbKwbKxafWbGZbKzbKAbIjbKBbKCbKDbFUbKEbJxbKFbJxbKGbFUbKHbvabKIbKJbKKbBobKMbBobBobKMbJNbKObKPbKObJNbJNbKQbJNbKRbJNbJNapgbKTbKUbKVbKWcqGbKYbKZbLabLbbLcbLdbLebJPaaaaaaahtaaaaaabHybIKbLfbIMbHybCVwOSbCVbMqbAFahtahtahtahtrNBizFizFizFbwmahtahtaedabyabyaedbwmrNBbwmahtahtabyahtaaaaaaaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyabyaedabybITbHMcqHbLocqIbLpbLqbLrgvOgvOafYkYRshowmApgaaZxirsagSbvabLtbJbbLubLvbLvbLxbJbbHQbLybsnbGNnpEbErbLzbLAbKnbLAbLBbKnbLCbKsqarbLEbErbLFbLGbLHbLIbLJbnHbLKbFUbKBbLLbKDbFUbLMbLNbLObLPbLQbFUbKHbvabENbJBbCCbBobLRbLSbLTbLUbLVbLWbLXbLWbJNbLYbLZbMabMbbMcbMdbMebMfbMfbMfbMgbMfbMhbLWabIbMibMjbLebMkbJPahtabyabyabyahtbHybMlbMmbMnbHybCVbMpbCVahtbAFahtaaabwmbwmbwmbwmmESbwmbwmbwmbwmaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIaaaabIbGHbMrbHMbLnbMsbMtbMubMvbMwbMwbMxbHMaZxaZxaZxaZxaZxirsalabvabHQbJbbLubMAbMBbLxbMCbMDbLybMEbGNnpEbErbMFbMGbKnbMGbMFbKnbMHbMIbGWbMJbErbjcbjcbjcbjcbMKboNbMMbFUbFUbFUbFUbFUbMNbMObMPbMQbMRbFUbKHbvabHfbMSbMTbMUbMVbmCbmCbMWbMXbMYbMZbNaagkbNcbNdbNebNfbNgbNfbNhbNibMfbMfbNjbNkbNlbNmbNnbLbbNobLebLebJPaaaaaaahtaaaaaabHybNpbNpbNpbHybNqbPlahiahtahtahtahtbwmikBwTOqnTlWydMIoEGhFpbwmahtabyaedaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyaaabNrbNsbNsbHMbNtbNubLnbNvbNwbNxbNybNzbNAbNBamCamBamCamBamDahtbIZbNFbJbbNGbNHbNIbNJbJbbKmbvabvabGNnSjbErbNLbNMbKnbNNbNObKnbNPbNQbNRbErbErbNSbNTbNUbjcbjccBLbjcbjcbNVbNWbNXbFUbFUbFUbFUbFUbFUbFUbNYabrbOabObbOcbmCbOdbmCbmCbOebOfbOgbOhbOiagmbOkbOlbOmbOkbOnbOkbOobOkbOkbOkbOpbOqbOibOrabIbJPbJPbJPbJPbJPahtabyabyabyahtbOsbOtbOtbOtbOsbOumZEahtaaaahtaaaaaarNBiVJhPUlJrlWylWyndIabfrNBaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabybOvbNsbNsbOwbNwbNwbOxcqIbNwbNwbNwbNwbHMbHMhRQaaaahtaaaahtaaaaaabIZbHQbJbbOzbOzbOzbOzbJbbOAbvabJibGNcXWbErbOCbODbErbODbOCbErbOEbOCbAWbErbOFbCzbCzbCzbCzbCzbCzbCzbCzbCzbOHbCzhZBbCzbCzbCzbCzbCzbCzbOJbvabOKbJBbmDbOLbOLbOLbmCbOMbONbOObOPbOQbORbOSbOTbOUbOVbOWbOXbOYbOZbPabPbbPcbPdbPebPfbLabLbbPgbPhbPhbJPaaaaaaaaaaaaaaamZEmZEmZEmZEahtahtahtahtahtabIahtahtbwmizFxsOlWylWylWylWyabfbwmahtabyabIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabybGDbNsbOwbOwbOwbNwbPnbPobNwbOwbOwbOwbNsbSZabIahtahtahtahtahtahtbvabvabPpbHQbHQbHQbHQbPqbPrbvabHTbPsbPtbPubPvbPwbPxbPxbPvbPxbPybPzbvabPAbDzbPBbPBbPBbPBbPBbPBbPBbPCbPDbPEbPEbPFbPEbPEbPEbPEbPEbPEbPEbPEbPGbPHbPIbPJbPKbPLbmCbPMbJNbPNbPObPPbJNbPQbPRbPSbPQbPQbPQbPTbMfbPUbMfbPVbPWbPXbPYabIbMibPZbQabQbbJPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIaaaabIaaaahtrNBtyprEhmaWlWyjDAcDBijUrNBaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabybGDbNsbOwbOwbOwbNwbPnbPobNwbOwbOwbOwbNsbSZabIahtahtahtahtahtahtbvabvabPpbHQbHQbHQbHQbPqbPrbvabHTbPsbPtbPubPvbPwbPxbPxbPvbPxbPybPzbvabPAbDzbPBbPBbPBbPBbPBbPBbPBbPCbPDbPEbPEbPFbPEbPEbPEbPEbPEbPEbPEbPEbPGbPHbPIbPJbPKbPLbmCbPMbJNbPNbPObPPbJNbPQbPRbPSbPQbPQbPQbPTbMfbPUbMfbPVbPWbPXbPYabIbMibPZbQabQbbJPaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIaaaabIaaaahtrNBtyprEhmaWlWyjDAiVJijUrNBaaaabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabybOvbNsbQcbOwbQdbQebQfbQgbQebQdbOwbQhbNsbQiabyabyaaaaaaahtaaaahtabIbvabvabIZbIZbIZbIZbvabvabvabQjbvaqyFbvabIZbQkbvabIZbIZbvabQlbIZbvabNXbDzbPBbQmbQnbQobQpbQqbPBbPBbPBbQrbQsbTubQubQvbQwbQxbQybQzbQAbPEbQBbQCbmDbOLbOLbOLbmCbQDbQEbQFbPObQGbJNbQHbQIbPSbQJbPQbQKbQLbMfbOYbQMbPVbQNbNlbQObNnbLbbQPbPhbPhbJPaaabzyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabIabIabIaaaahtbwmbwmrNBbwmbwmbwmrNBbwmbwmaedabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabQQbNsbOwbOwbOwbOwbQfbQgbOwbOwbOwbOwbNsbQRabIabyaaaaaaahtaaaahtaaaaaaaaaaaabBWabIabIbvabQSbQTbPAbWkbQUrXTbOGbQVbOIbCzbCzbCzbQWpwjpwjbQXbCDbPBbQZcCPcCFcCHbRbbRcbRdbRebRfbRgbRhbRibRjbRjbRjbRkbRlbRmbPEbBmbJBbRnbRobRpbRobRobRqbRrbRsbRtbRubJNbRvbQIbRwbRxbPQbQKbRybRzbRAbQMbPVbPWbRBbPYabIbJPbJPbJPbJPbJPabIabyaaaacOaaaaaaaaaaaaaaaaaaaaaaaaabIaaaabIaaaahtaaaahtaaaahtaaaahtaaaahtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyabyabIbNrbNsbNsbOwbOwbQdbOwbQfbQgbOwbQdbOwbOwbNsbNsbRCabIabIaaaahtahtahtaaaaaaaaaaaabBWouvrMVrMVvmYvayvaynLlbvabFZbvabREbFZbvabRFbNKbvabvabvabKHbDibPBbQZcCFbRacCFbRGabsbRIbRJagwbRLbRMbRNbRObRPbRQbRRbRSbRTagGbRVbRWbRXbRXbRYbRZbmCbCCbSabSbbScbSdbJNbSebQIbMfbQJbPQbQKbSfbMfbOYbQMbSgbPdbShbSibLabLbbSjbSkbSlbJPaaaabyaaaabyaaaaaaaaaaaaaaaaaaaaaaaaabIaaaabIaaaahtabyabyabyaedabyabyabyaedabyaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index da56e4ef..18336ff2 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -62,8 +62,7 @@ #define isslimeperson(A) (is_species(A, /datum/species/jelly/slime)) #define isluminescent(A) (is_species(A, /datum/species/jelly/luminescent)) #define iszombie(A) (is_species(A, /datum/species/zombie)) -#define ismoth(A) (is_species(A, /datum/species/moth)) -#define ismoth(A) (is_species(A, /datum/species/insect)) +#define ismoth(A) (is_species(A, /datum/species/moth) || is_species(A, /datum/species/insect)) #define ishumanbasic(A) (is_species(A, /datum/species/human)) #define iscatperson(A) (ishumanbasic(A) && istype(A.dna.species, /datum/species/human/felinid) ) #define isvampire(A) (is_species(A,/datum/species/vampire)) diff --git a/code/__DEFINES/spaceman_dmm.dm b/code/__DEFINES/spaceman_dmm.dm index e590a30f..b9c0544b 100644 --- a/code/__DEFINES/spaceman_dmm.dm +++ b/code/__DEFINES/spaceman_dmm.dm @@ -11,3 +11,8 @@ #define SHOULD_CALL_PARENT(X) #define UNLINT(X) X #endif + +/world/proc/enable_debugger() + var/dll = world.GetConfig("env", "EXTOOLS_DLL") + if (dll) + call(dll, "debug_initialize")() diff --git a/code/_globalvars/lists/vending.dm b/code/_globalvars/lists/vending.dm new file mode 100644 index 00000000..35204a15 --- /dev/null +++ b/code/_globalvars/lists/vending.dm @@ -0,0 +1,78 @@ +// This GLOBAL list is for radials. +GLOBAL_VAR_INIT(vending_m_choices, list( + "Booze-O-Mat" = image(icon = 'icons/obj/vending.dmi', icon_state = "boozeomat"), + "Solar's Best Hot Drinks" = image(icon = 'icons/obj/vending.dmi', icon_state = "coffee"), + "Getmore Chocolate Corp" = image(icon = 'icons/obj/vending.dmi', icon_state = "snack"), + "Robust Softdrinks" = image(icon = 'icons/obj/vending.dmi', icon_state = "Cola_Machine"), + "ShadyCigs Deluxe" = image(icon = 'icons/obj/vending.dmi', icon_state = "cigs"), + "Good Clean Fun" = image(icon = 'icons/obj/vending.dmi', icon_state = "games"), + "AutoDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "theater"), + "Vendomat" = image(icon = 'icons/obj/vending.dmi', icon_state = "generic"), + "Engi-Vend" = image(icon = 'icons/obj/vending.dmi', icon_state = "engivend"), + "YouTool" = image(icon = 'icons/obj/vending.dmi', icon_state = "tool"), + "Sustenance Vendor" = image(icon = 'icons/obj/vending.dmi', icon_state = "sustenance"), + "Plasteel Chef's Dinnerware Vendor" = image(icon = 'icons/obj/vending.dmi', icon_state = "dinnerware"), + "PTech" = image(icon = 'icons/obj/vending.dmi', icon_state = "cart"), + "NutriMax" = image(icon = 'icons/obj/vending.dmi', icon_state = "nutri"), + "MegaSeed Servitor" = image(icon = 'icons/obj/vending.dmi', icon_state = "seeds"), + "SecDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "secdrobe"), + "MediDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "medidrobe"), + "EngiDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "engidrobe"), + "AtmosDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "atmosdrobe"), + "CargoDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "cargodrobe"), + "RoboDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "robodrobe"), + "SciDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "scidrobe"), + "HyDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "hydrobe"), + "CuraDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "curadrobe"), + "BarDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "bardrobe"), + "ChefDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "chefdrobe"), + "JaniDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "janidrobe"), + "LawDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "lawdrobe"), + "ChapDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "chapdrobe"), + "ChemDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "chemdrobe"), + "GeneDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "genedrobe"), + "ViroDrobe" = image(icon = 'icons/obj/vending.dmi', icon_state = "virodrobe"), + "ClothesMate" = image(icon = 'icons/obj/vending.dmi', icon_state = "clothes"), + "NanoMed Plus" = image(icon = 'icons/obj/vending.dmi', icon_state = "med"), + "NanoMed" = image(icon = 'icons/obj/vending.dmi', icon_state = "wallmed"), + "KinkMate" = image(icon = 'icons/obj/citvending.dmi', icon_state = "kink"), +)) +// This GLOBAL list is just here to be here. +GLOBAL_VAR_INIT(vending_machines, list( + /obj/machinery/vending/boozeomat, + /obj/machinery/vending/coffee, + /obj/machinery/vending/snack, + /obj/machinery/vending/cola, + /obj/machinery/vending/cigarette, + /obj/machinery/vending/games, + /obj/machinery/vending/autodrobe, + /obj/machinery/vending/assist, + /obj/machinery/vending/engivend, + /obj/machinery/vending/tool, + /obj/machinery/vending/sustenance, + /obj/machinery/vending/dinnerware, + /obj/machinery/vending/cart, + /obj/machinery/vending/hydronutrients, + /obj/machinery/vending/hydroseeds, + /obj/machinery/vending/wardrobe/sec_wardrobe, + /obj/machinery/vending/wardrobe/medi_wardrobe, + /obj/machinery/vending/wardrobe/engi_wardrobe, + /obj/machinery/vending/wardrobe/atmos_wardrobe, + /obj/machinery/vending/wardrobe/cargo_wardrobe, + /obj/machinery/vending/wardrobe/robo_wardrobe, + /obj/machinery/vending/wardrobe/science_wardrobe, + /obj/machinery/vending/wardrobe/hydro_wardrobe, + /obj/machinery/vending/wardrobe/curator_wardrobe, + /obj/machinery/vending/wardrobe/bar_wardrobe, + /obj/machinery/vending/wardrobe/chef_wardrobe, + /obj/machinery/vending/wardrobe/jani_wardrobe, + /obj/machinery/vending/wardrobe/law_wardrobe, + /obj/machinery/vending/wardrobe/chap_wardrobe, + /obj/machinery/vending/wardrobe/chem_wardrobe, + /obj/machinery/vending/wardrobe/gene_wardrobe, + /obj/machinery/vending/wardrobe/viro_wardrobe, + /obj/machinery/vending/clothing, + /obj/machinery/vending/medical, + /obj/machinery/vending/wallmed, + /obj/machinery/vending/kink +)) diff --git a/code/_onclick/hud/radial.dm b/code/_onclick/hud/radial.dm index df91223e..bcdd5c85 100644 --- a/code/_onclick/hud/radial.dm +++ b/code/_onclick/hud/radial.dm @@ -255,6 +255,7 @@ GLOBAL_LIST_EMPTY(radial_menus) current_user = M.client //Blank menu_holder = image(icon='icons/effects/effects.dmi',loc=anchor,icon_state="nothing",layer = ABOVE_HUD_LAYER) + menu_holder.plane = ABOVE_HUD_PLANE menu_holder.appearance_flags |= KEEP_APART menu_holder.vis_contents += elements + close_button current_user.images += menu_holder @@ -285,13 +286,16 @@ GLOBAL_LIST_EMPTY(radial_menus) Choices should be a list where list keys are movables or text used for element names and return value and list values are movables/icons/images used for element icons */ -/proc/show_radial_menu(mob/user, atom/anchor, list/choices, uniqueid, radius, datum/callback/custom_check, require_near = FALSE, tooltips = FALSE) +/proc/show_radial_menu(mob/user, atom/anchor, list/choices, uniqueid, radius, datum/callback/custom_check, require_near = FALSE, tooltips = FALSE, no_repeat_close = FALSE) if(!user || !anchor || !length(choices)) return if(!uniqueid) uniqueid = "defmenu_[REF(user)]_[REF(anchor)]" if(GLOB.radial_menus[uniqueid]) + if(!no_repeat_close) + var/datum/radial_menu/menu = GLOB.radial_menus[uniqueid] + menu.finished = TRUE return var/datum/radial_menu/menu = new @@ -308,4 +312,9 @@ GLOBAL_LIST_EMPTY(radial_menus) var/answer = menu.selected_choice qdel(menu) GLOB.radial_menus -= uniqueid - return answer \ No newline at end of file + if(require_near && !in_range(anchor, user)) + return + if(istype(custom_check)) + if(!custom_check.Invoke()) + return + return answer diff --git a/code/datums/mood_events/generic_positive_events.dm b/code/datums/mood_events/generic_positive_events.dm index a4fd1a6d..922c5a6e 100644 --- a/code/datums/mood_events/generic_positive_events.dm +++ b/code/datums/mood_events/generic_positive_events.dm @@ -80,12 +80,12 @@ description = "Heh...hehehe...hehe...\n" mood_change = 4 - /datum/mood_event/chemical_laughter +/datum/mood_event/chemical_laughter description = "Laughter really is the best medicine! Or is it?\n" mood_change = 4 timeout = 3 MINUTES - /datum/mood_event/chemical_superlaughter +/datum/mood_event/chemical_superlaughter description = "*WHEEZE*\n" mood_change = 12 timeout = 3 MINUTES diff --git a/code/game/area/areas/centcom.dm b/code/game/area/areas/centcom.dm index 1241b7a2..96b621ac 100644 --- a/code/game/area/areas/centcom.dm +++ b/code/game/area/areas/centcom.dm @@ -32,7 +32,8 @@ /area/centcom/vip name = "VIP Zone" dynamic_lighting = DYNAMIC_LIGHTING_DISABLED - /area/centcom/winterball + +/area/centcom/winterball name = "winterball Zone" dynamic_lighting = DYNAMIC_LIGHTING_DISABLED diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index 113b1d63..bc86881c 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -6,17 +6,43 @@ icon_state = "cutout_basic" w_class = WEIGHT_CLASS_BULKY resistance_flags = FLAMMABLE - // Possible restyles for the cutout; - // add an entry in change_appearance() if you add to here - var/list/possible_appearances = list("Assistant", "Clown", "Mime", - "Traitor", "Nuke Op", "Cultist", "Clockwork Cultist", - "Revolutionary", "Wizard", "Shadowling", "Xenomorph", "Xenomorph Maid", "Swarmer", - "Ash Walker", "Deathsquad Officer", "Ian", "Slaughter Demon", - "Laughter Demon", "Private Security Officer", "ceo") - var/pushed_over = FALSE //If the cutout is pushed over and has to be righted - var/deceptive = FALSE //If the cutout actually appears as what it portray and not a discolored version + /// Possible restyles for the cutout, add an entry in change_appearance() if you add to here + var/static/list/possible_appearances + /// If the cutout is pushed over and has to be righted + var/pushed_over = FALSE + /// If the cutout actually appears as what it portray and not a discolored version + var/deceptive = FALSE - var/lastattacker = null +/obj/item/cardboard_cutout/Initialize() + . = ..() + if(possible_appearances) + return + possible_appearances = sortList(list( + "Assistant" = image(icon = src.icon, icon_state = "cutout_greytide"), + "Clown" = image(icon = src.icon, icon_state = "cutout_clown"), + "Mime" = image(icon = src.icon, icon_state = "cutout_mime"), + "Traitor" = image(icon = src.icon, icon_state = "cutout_traitor"), + "Nuke Op" = image(icon = src.icon, icon_state = "cutout_fluke"), + "Cultist" = image(icon = src.icon, icon_state = "cutout_cultist"), + "Brass Cultist" = image(icon = src.icon, icon_state = "cutout_servant"), + "Clockwork Cultist" = image(icon = src.icon, icon_state = "cutout_new_servant"), + "Revolutionary" = image(icon = src.icon, icon_state = "cutout_viva"), + "Wizard" = image(icon = src.icon, icon_state = "cutout_wizard"), + "Shadowling" = image(icon = src.icon, icon_state = "cutout_shadowling"), + "Xenomorph" = image(icon = src.icon, icon_state = "cutout_fukken_xeno"), + "Xenomorph Maid" = image(icon = src.icon, icon_state = "cutout_lusty"), + "Swarmer" = image(icon = src.icon, icon_state = "cutout_swarmer"), + "Ash Walker" = image(icon = src.icon, icon_state = "cutout_free_antag"), + "Deathsquad Officer" = image(icon = src.icon, icon_state = "cutout_deathsquad"), + "Ian" = image(icon = src.icon, icon_state = "cutout_ian"), + "Slaughter Demon" = image(icon = 'icons/mob/mob.dmi', icon_state = "daemon"), + "Laughter Demon" = image(icon = 'icons/mob/mob.dmi', icon_state = "bowmon"), + "Private Security Officer" = image(icon = src.icon, icon_state = "cutout_ntsec"), + "Securitron" = image(icon = src.icon, icon_state = "cutout_law"), + "Gondola" = image(icon = src.icon, icon_state = "cutout_gondola"), + "Monkey" = image(icon = src.icon, icon_state = "cutout_monky"), + "CEO" = image(icon = src.icon, icon_state = "cutout_val"), + )) //ATTACK HAND IGNORING PARENT RETURN VALUE /obj/item/cardboard_cutout/attack_hand(mob/living/user) @@ -74,23 +100,23 @@ playsound(src, 'sound/weapons/slice.ogg', 50, 1) if(prob(P.damage)) push_over() + return BULLET_ACT_HIT +/** + * change_appearance: Changes a skin of the cardboard cutout based on a user's choice + * + * Arguments: + * * crayon The crayon used to change and recolor the cardboard cutout + * * user The mob choosing a skin of the cardboard cutout + */ /obj/item/cardboard_cutout/proc/change_appearance(obj/item/toy/crayon/crayon, mob/living/user) - if(!crayon || !user) - return - if(pushed_over) - to_chat(user, "Right [src] first!") - return - if(crayon.check_empty(user)) - return - if(crayon.is_capped) - to_chat(user, "Take the cap off first!") - return - var/new_appearance = input(user, "Choose a new appearance for [src].", "26th Century Deception") as null|anything in possible_appearances - if(!new_appearance || !crayon || !user.canUseTopic(src)) + var/new_appearance = show_radial_menu(user, src, possible_appearances, custom_check = CALLBACK(src, .proc/check_menu, user, crayon), radius = 36, require_near = TRUE) + if(!new_appearance) return if(!do_after(user, 10, FALSE, src, TRUE)) - return + return FALSE + if(!check_menu(user, crayon)) + return FALSE user.visible_message("[user] gives [src] a new look.", "Voila! You give [src] a new look.") crayon.use_charges(1) crayon.check_empty(user) @@ -123,10 +149,14 @@ name = "Unknown" desc = "A cardboard cutout of a cultist." icon_state = "cutout_cultist" + if("Brass Cultist") + name = "[pick(GLOB.first_names_male)] [pick(GLOB.last_names)]" + desc = "A cardboard cutout of a \"servant\" of Ratvar." + icon_state = "cutout_servant" if("Clockwork Cultist") name = "[pick(GLOB.first_names_male)] [pick(GLOB.last_names)]" desc = "A cardboard cutout of a servant of Ratvar." - icon_state = "cutout_servant" + icon_state = "cutout_new_servant" if("Revolutionary") name = "Unknown" desc = "A cardboard cutout of a revolutionary." @@ -179,11 +209,49 @@ name = "Private Security Officer" desc = "A cardboard cutout of a private security officer." icon_state = "cutout_ntsec" - if("ceo") + if("Securitron") + name = "[pick("Officer", "Oftiser", "Sergeant", "General")][pick(" Genesky", " Pingsky", " Beepsky", " Pipsqueak", "-at-Armsky")]" + desc = "A cardboard cutout of a securitron." + icon_state = "cutout_law" + if("Gondola") + name = "gondola" + desc = "A cardboard cutout of a gondola." + icon_state = "cutout_gondola" + if("Monkey") + name = "monkey ([rand(1, 999)])" + desc = "A cardboard cutout of a monkey." + icon_state = "cutout_monky" + if("CEO") name = "Valarie" desc = "The very owner of your soul" icon_state = "cutout_val" - return 1 + else + return FALSE + return TRUE + +/** + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + * * crayon The crayon used to interact with a menu + */ +/obj/item/cardboard_cutout/proc/check_menu(mob/living/user, obj/item/toy/crayon/crayon) + if(!istype(user)) + return FALSE + if(user.incapacitated()) + return FALSE + if(pushed_over) + to_chat(user, "Right [src] first!") + return FALSE + if(!crayon || !user.is_holding(crayon)) + return FALSE + if(crayon.check_empty(user)) + return FALSE + if(crayon.is_capped) + to_chat(user, "Take the cap off first!") + return FALSE + return TRUE /obj/item/cardboard_cutout/setDir(newdir) dir = SOUTH diff --git a/code/game/objects/items/circuitboards/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machine_circuitboards.dm index dcf3cd12..64ec1883 100644 --- a/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -252,16 +252,22 @@ /obj/machinery/vending/wardrobe/viro_wardrobe = "ViroDrobe", /obj/machinery/vending/clothing = "ClothesMate", /obj/machinery/vending/medical = "NanoMed Plus", - /obj/machinery/vending/wallmed = "NanoMed") + /obj/machinery/vending/wallmed = "NanoMed", + /obj/machinery/vending/kink = "\improper KinkMate") /obj/item/circuitboard/machine/vendor/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/screwdriver)) - var/position = vending_names_paths.Find(build_path) - position = (position == vending_names_paths.len) ? 1 : (position + 1) - var/typepath = vending_names_paths[position] - - to_chat(user, "You set the board to \"[vending_names_paths[typepath]]\".") + var/choice = show_radial_menu(user, src, GLOB.vending_m_choices, radius = 46, require_near = TRUE, tooltips = TRUE) + if(!choice) + return + var/static/list/vendinglist = GLOB.vending_m_choices + var/choiceposition = vendinglist.Find(choice) + if(!choiceposition) + return + var/typepath = GLOB.vending_machines[choiceposition] + var/namepath = vending_names_paths[choiceposition] set_type(typepath) + to_chat(user, "You set the board to \"[vending_names_paths[namepath]]\".") else return ..() diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 65478a84..040cd53c 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -244,21 +244,23 @@ if(user.mind && (user.mind.isholy) && !reskinned) reskin_holy_weapon(user) -/obj/item/nullrod/proc/reskin_holy_weapon(mob/M) +/obj/item/nullrod/proc/reskin_holy_weapon(mob/living/L) if(GLOB.holy_weapon_type) return - var/obj/item/nullrod/holy_weapon - var/list/holy_weapons_list = typesof(/obj/item/nullrod) + list( - /obj/item/twohanded/dualsaber/hypereutactic/chaplain - ) + var/obj/item/holy_weapon + var/list/holy_weapons_list = subtypesof(/obj/item/nullrod) var/list/display_names = list() + var/list/nullrod_icons = list() for(var/V in holy_weapons_list) var/obj/item/nullrod/rodtype = V if (initial(rodtype.chaplain_spawnable)) display_names[initial(rodtype.name)] = rodtype + nullrod_icons += list(initial(rodtype.name) = image(icon = initial(rodtype.icon), icon_state = initial(rodtype.icon_state))) - var/choice = input(M,"What theme would you like for your holy weapon?","Holy Weapon Theme") as null|anything in display_names - if(QDELETED(src) || !choice || M.stat || !in_range(M, src) || M.restrained() || !M.canmove || reskinned) + nullrod_icons = sortList(nullrod_icons) + + var/choice = show_radial_menu(L, src , nullrod_icons, custom_check = CALLBACK(src, .proc/check_menu, L), radius = 42, require_near = TRUE) + if(!choice || !check_menu(L)) return var/A = display_names[choice] // This needs to be on a separate var as list member access is not allowed for new @@ -269,9 +271,23 @@ SSblackbox.record_feedback("tally", "chaplain_weapon", 1, "[choice]") if(holy_weapon) - holy_weapon.reskinned = TRUE qdel(src) - M.put_in_active_hand(holy_weapon) + L.put_in_active_hand(holy_weapon) + +/** + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ +/obj/item/nullrod/proc/check_menu(mob/user) + if(!istype(user)) + return FALSE + if(QDELETED(src) || reskinned) + return FALSE + if(user.incapacitated() || !user.is_holding(src)) + return FALSE + return TRUE /obj/item/nullrod/godhand icon_state = "disintegrate" @@ -738,4 +754,4 @@ sharpness = IS_SHARP_ACCURATE w_class = WEIGHT_CLASS_BULKY attack_verb = list("stabbed", "poked", "slashed", "clocked") - hitsound = 'sound/weapons/bladeslice.ogg' \ No newline at end of file + hitsound = 'sound/weapons/bladeslice.ogg' diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 6736c0dd..91a314b7 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -311,7 +311,7 @@ GLOBAL_LIST_INIT(cloth_recipes, list ( \ amount = 10 //Durathread fuck slash-asterisk comments - GLOBAL_LIST_INIT(durathread_recipes, list ( \ +GLOBAL_LIST_INIT(durathread_recipes, list ( \ new/datum/stack_recipe("durathread jumpsuit", /obj/item/clothing/under/durathread, 4, time = 40), new/datum/stack_recipe("durathread jumpskirt", /obj/item/clothing/under/durathread/skirt, 4, time = 40), \ new/datum/stack_recipe("durathread beret", /obj/item/clothing/head/beret/durathread, 2, time = 40), \ diff --git a/code/game/objects/items/storage/boxes.dm b/code/game/objects/items/storage/boxes.dm index f03d455b..353d8d67 100644 --- a/code/game/objects/items/storage/boxes.dm +++ b/code/game/objects/items/storage/boxes.dm @@ -33,6 +33,7 @@ resistance_flags = FLAMMABLE var/foldable = /obj/item/stack/sheet/cardboard var/illustration = "writing" + rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE //exploits ahoy /obj/item/storage/box/Initialize(mapload) . = ..() @@ -104,25 +105,37 @@ // Ordinary survival box /obj/item/storage/box/survival/PopulateContents() new /obj/item/clothing/mask/breath(src) - new /obj/item/tank/internals/emergency_oxygen(src) new /obj/item/reagent_containers/hypospray/medipen(src) + if(!isplasmaman(loc)) + new /obj/item/tank/internals/emergency_oxygen(src) + else + new /obj/item/tank/internals/plasmaman/belt(src) + /obj/item/storage/box/survival/radio/PopulateContents() ..() // we want the survival stuff too. new /obj/item/radio/off(src) /obj/item/storage/box/survival_mining/PopulateContents() new /obj/item/clothing/mask/gas/explorer(src) - new /obj/item/tank/internals/emergency_oxygen/engi(src) new /obj/item/crowbar/red(src) new /obj/item/reagent_containers/hypospray/medipen(src) + if(!isplasmaman(loc)) + new /obj/item/tank/internals/emergency_oxygen(src) + else + new /obj/item/tank/internals/plasmaman/belt(src) + // Engineer survival box /obj/item/storage/box/engineer/PopulateContents() new /obj/item/clothing/mask/breath(src) - new /obj/item/tank/internals/emergency_oxygen/engi(src) new /obj/item/reagent_containers/hypospray/medipen(src) + if(!isplasmaman(loc)) + new /obj/item/tank/internals/emergency_oxygen/engi(src) + else + new /obj/item/tank/internals/plasmaman/belt(src) + /obj/item/storage/box/engineer/radio/PopulateContents() ..() // we want the regular items too. new /obj/item/radio/off(src) @@ -130,14 +143,22 @@ // Syndie survival box /obj/item/storage/box/syndie/PopulateContents() new /obj/item/clothing/mask/gas/syndicate(src) - new /obj/item/tank/internals/emergency_oxygen/engi(src) + + if(!isplasmaman(loc)) + new /obj/item/tank/internals/emergency_oxygen/engi(src) + else + new /obj/item/tank/internals/plasmaman/belt(src) // Security survival box /obj/item/storage/box/security/PopulateContents() new /obj/item/clothing/mask/gas/sechailer(src) - new /obj/item/tank/internals/emergency_oxygen(src) new /obj/item/reagent_containers/hypospray/medipen(src) + if(!isplasmaman(loc)) + new /obj/item/tank/internals/emergency_oxygen(src) + else + new /obj/item/tank/internals/plasmaman/belt(src) + /obj/item/storage/box/security/radio/PopulateContents() ..() // we want the regular stuff too new /obj/item/radio/off(src) @@ -397,7 +418,7 @@ /obj/item/storage/box/donkpockets/ComponentInitialize() . = ..() - GET_COMPONENT(STR, /datum/component/storage) + var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/donkpocket)) /obj/item/storage/box/donkpockets/PopulateContents() @@ -412,7 +433,7 @@ /obj/item/storage/box/monkeycubes/ComponentInitialize() . = ..() - GET_COMPONENT(STR, /datum/component/storage) + var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 7 STR.can_hold = typecacheof(list(/obj/item/reagent_containers/food/snacks/monkeycube)) @@ -567,7 +588,7 @@ /obj/item/storage/box/snappops/ComponentInitialize() . = ..() - GET_COMPONENT(STR, /datum/component/storage) + var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.can_hold = typecacheof(list(/obj/item/toy/snappop)) STR.max_items = 8 @@ -585,7 +606,7 @@ /obj/item/storage/box/matches/ComponentInitialize() . = ..() - GET_COMPONENT(STR, /datum/component/storage) + var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 10 STR.can_hold = typecacheof(list(/obj/item/match)) @@ -608,7 +629,7 @@ /obj/item/storage/box/lights/ComponentInitialize() . = ..() - GET_COMPONENT(STR, /datum/component/storage) + var/datum/component/storage/STR = GetComponent(/datum/component/storage) STR.max_items = 21 STR.can_hold = typecacheof(list(/obj/item/light/tube, /obj/item/light/bulb)) STR.max_combined_w_class = 21 @@ -706,11 +727,16 @@ new /obj/item/stack/medical/ointment(src) new /obj/item/reagent_containers/hypospray/medipen(src) +// Clown survival box /obj/item/storage/box/hug/survival/PopulateContents() new /obj/item/clothing/mask/breath(src) - new /obj/item/tank/internals/emergency_oxygen(src) new /obj/item/reagent_containers/hypospray/medipen(src) + if(!isplasmaman(loc)) + new /obj/item/tank/internals/emergency_oxygen(src) + else + new /obj/item/tank/internals/plasmaman/belt(src) + /obj/item/storage/box/rubbershot name = "box of rubber shots" desc = "A box full of rubber shots, designed for riot shotguns." @@ -804,12 +830,6 @@ -#define NODESIGN "None" -#define NANOTRASEN "NanotrasenStandard" -#define SYNDI "SyndiSnacks" -#define HEART "Heart" -#define SMILEY "SmileyFace" - /obj/item/storage/box/papersack name = "paper sack" desc = "A sack neatly crafted out of paper." @@ -817,64 +837,84 @@ item_state = "paperbag_None" resistance_flags = FLAMMABLE foldable = null - var/design = NODESIGN + /// A list of all available papersack reskins + var/list/papersack_designs = list() -/obj/item/storage/box/papersack/update_icon() +/obj/item/storage/box/papersack/Initialize(mapload) + . = ..() + papersack_designs = sortList(list( + "None" = image(icon = src.icon, icon_state = "paperbag_None"), + "NanotrasenStandard" = image(icon = src.icon, icon_state = "paperbag_NanotrasenStandard"), + "SyndiSnacks" = image(icon = src.icon, icon_state = "paperbag_SyndiSnacks"), + "Heart" = image(icon = src.icon, icon_state = "paperbag_Heart"), + "SmileyFace" = image(icon = src.icon, icon_state = "paperbag_SmileyFace") + )) + +/obj/item/storage/box/papersack/update_icon_state() if(contents.len == 0) icon_state = "[item_state]" - else icon_state = "[item_state]_closed" + else + icon_state = "[item_state]_closed" /obj/item/storage/box/papersack/attackby(obj/item/W, mob/user, params) if(istype(W, /obj/item/pen)) - //if a pen is used on the sack, dialogue to change its design appears - if(contents.len) - to_chat(user, "You can't modify [src] with items still inside!") - return - var/list/designs = list(NODESIGN, NANOTRASEN, SYNDI, HEART, SMILEY, "Cancel") - var/switchDesign = input("Select a Design:", "Paper Sack Design", designs[1]) in designs - if(get_dist(usr, src) > 1) - to_chat(usr, "You have moved too far away!") - return - var/choice = designs.Find(switchDesign) - if(design == designs[choice] || designs[choice] == "Cancel") - return 0 - to_chat(usr, "You make some modifications to [src] using your pen.") - design = designs[choice] - icon_state = "paperbag_[design]" - item_state = "paperbag_[design]" - switch(designs[choice]) - if(NODESIGN) + var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, .proc/check_menu, user, W), radius = 36, require_near = TRUE) + if(!choice) + return FALSE + if(icon_state == "paperbag_[choice]") + return FALSE + switch(choice) + if("None") desc = "A sack neatly crafted out of paper." - if(NANOTRASEN) + if("NanotrasenStandard") desc = "A standard Nanotrasen paper lunch sack for loyal employees on the go." - if(SYNDI) + if("SyndiSnacks") desc = "The design on this paper sack is a remnant of the notorious 'SyndieSnacks' program." - if(HEART) + if("Heart") desc = "A paper sack with a heart etched onto the side." - if(SMILEY) + if("SmileyFace") desc = "A paper sack with a crude smile etched onto the side." - return 0 + else + return FALSE + to_chat(user, "You make some modifications to [src] using your pen.") + icon_state = "paperbag_[choice]" + item_state = "paperbag_[choice]" + return FALSE else if(W.is_sharp()) if(!contents.len) if(item_state == "paperbag_None") user.show_message("You cut eyeholes into [src].", 1) new /obj/item/clothing/head/papersack(user.loc) qdel(src) - return 0 + return FALSE else if(item_state == "paperbag_SmileyFace") user.show_message("You cut eyeholes into [src] and modify the design.", 1) new /obj/item/clothing/head/papersack/smiley(user.loc) qdel(src) - return 0 + return FALSE return ..() -#undef NODESIGN -#undef NANOTRASEN -#undef SYNDI -#undef HEART -#undef SMILEY +/** + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + * * P The pen used to interact with a menu + */ +/obj/item/storage/box/papersack/proc/check_menu(mob/user, obj/item/pen/P) + if(!istype(user)) + return FALSE + if(user.incapacitated()) + return FALSE + if(contents.len) + to_chat(user, "You can't modify [src] with items still inside!") + return FALSE + if(!P || !user.is_holding(P)) + to_chat(user, "You need a pen to modify [src]!") + return FALSE + return TRUE -/obj/item/storage/box/ingredients //This box is for the randomely chosen version the chef spawns with, it shouldn't actually exist. +/obj/item/storage/box/ingredients //This box is for the randomly chosen version the chef spawns with, it shouldn't actually exist. name = "ingredients box" illustration = "fruit" var/theme_name diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 46fabea8..59e937ce 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -763,79 +763,55 @@ name = "hand of cards" desc = "A number of cards not in a deck, customarily held in ones hand." icon = 'icons/obj/toy.dmi' - icon_state = "nanotrasen_hand2" + icon_state = "none" w_class = WEIGHT_CLASS_TINY var/list/currenthand = list() var/choice = null - /obj/item/toy/cards/cardhand/attack_self(mob/user) - user.set_machine(src) + var/list/handradial = list() interact(user) -/obj/item/toy/cards/cardhand/ui_interact(mob/user) - . = ..() - var/dat = "You have:
" for(var/t in currenthand) - dat += "A [t].
" - dat += "Which card will you remove next?" - var/datum/browser/popup = new(user, "cardhand", "Hand of Cards", 400, 240) - popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) - popup.set_content(dat) - popup.open() + handradial[t] = image(icon = src.icon, icon_state = "sc_[t]_[deckstyle]") - -/obj/item/toy/cards/cardhand/Topic(href, href_list) - if(..()) - return if(usr.stat || !ishuman(usr)) return var/mob/living/carbon/human/cardUser = usr var/O = src - if(href_list["pick"]) - if (cardUser.is_holding(src)) - var/choice = href_list["pick"] - var/obj/item/toy/cards/singlecard/C = new/obj/item/toy/cards/singlecard(cardUser.loc) - src.currenthand -= choice - C.parentdeck = src.parentdeck - C.cardname = choice - C.apply_card_vars(C,O) - C.pickup(cardUser) - cardUser.put_in_hands(C) - cardUser.visible_message("[cardUser] draws a card from [cardUser.p_their()] hand.", "You take the [C.cardname] from your hand.") + var/choice = show_radial_menu(usr,src, handradial, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 36, require_near = TRUE) + if(!choice) + return FALSE + var/obj/item/toy/cards/singlecard/C = new/obj/item/toy/cards/singlecard(cardUser.loc) + currenthand -= choice + handradial -= choice + C.parentdeck = parentdeck + C.cardname = choice + C.apply_card_vars(C,O) + C.pickup(cardUser) + cardUser.put_in_hands(C) + cardUser.visible_message("[cardUser] draws a card from [cardUser.p_their()] hand.", "You take the [C.cardname] from your hand.") - interact(cardUser) - if(src.currenthand.len < 3) - src.icon_state = "[deckstyle]_hand2" - else if(src.currenthand.len < 4) - src.icon_state = "[deckstyle]_hand3" - else if(src.currenthand.len < 5) - src.icon_state = "[deckstyle]_hand4" - if(src.currenthand.len == 1) - var/obj/item/toy/cards/singlecard/N = new/obj/item/toy/cards/singlecard(src.loc) - N.parentdeck = src.parentdeck - N.cardname = src.currenthand[1] - N.apply_card_vars(N,O) - qdel(src) - N.pickup(cardUser) - cardUser.put_in_hands(N) - to_chat(cardUser, "You also take [currenthand[1]] and hold it.") - cardUser << browse(null, "window=cardhand") - return + interact(cardUser) + update_sprite() + if(length(currenthand) == 1) + var/obj/item/toy/cards/singlecard/N = new/obj/item/toy/cards/singlecard(loc) + N.parentdeck = parentdeck + N.cardname = currenthand[1] + N.apply_card_vars(N,O) + qdel(src) + N.pickup(cardUser) + cardUser.put_in_hands(N) + to_chat(cardUser, "You also take [currenthand[1]] and hold it.") /obj/item/toy/cards/cardhand/attackby(obj/item/toy/cards/singlecard/C, mob/living/user, params) if(istype(C)) if(C.parentdeck == src.parentdeck) src.currenthand += C.cardname - user.visible_message("[user] adds a card to [user.p_their()] hand.", "You add the [C.cardname] to your hand.") + user.visible_message("[user] adds a card to [user.p_their()] hand.", "You add the [C.cardname] to your hand.") qdel(C) interact(user) - if(currenthand.len > 4) - src.icon_state = "[deckstyle]_hand5" - else if(currenthand.len > 3) - src.icon_state = "[deckstyle]_hand4" - else if(currenthand.len > 2) - src.icon_state = "[deckstyle]_hand3" + update_sprite(src) else to_chat(user, "You can't mix cards from other decks!") else @@ -844,7 +820,7 @@ /obj/item/toy/cards/cardhand/apply_card_vars(obj/item/toy/cards/newobj,obj/item/toy/cards/sourceobj) ..() newobj.deckstyle = sourceobj.deckstyle - newobj.icon_state = "[deckstyle]_hand2" // Another dumb hack, without this the hand is invisible (or has the default deckstyle) until another card is added. + update_sprite() newobj.card_hitsound = sourceobj.card_hitsound newobj.card_force = sourceobj.card_force newobj.card_throwforce = sourceobj.card_throwforce @@ -853,6 +829,31 @@ newobj.card_attack_verb = sourceobj.card_attack_verb newobj.resistance_flags = sourceobj.resistance_flags +/** + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ +/obj/item/toy/cards/cardhand/proc/check_menu(mob/living/user) + if(!istype(user)) + return FALSE + if(user.incapacitated()) + return FALSE + return TRUE + +/** + * This proc updates the sprite for when you create a hand of cards + */ +/obj/item/toy/cards/cardhand/proc/update_sprite() + cut_overlays() + var/overlay_cards = currenthand.len + + var/k = overlay_cards == 2 ? 1 : overlay_cards - 2 + for(var/i = k; i <= overlay_cards; i++) + var/card_overlay = image(icon=src.icon,icon_state="sc_[currenthand[i]]_[deckstyle]",pixel_x=(1-i+k)*3,pixel_y=(1-i+k)*3) + add_overlay(card_overlay) + /obj/item/toy/cards/singlecard name = "card" desc = "a card" @@ -865,13 +866,13 @@ /obj/item/toy/cards/singlecard/examine(mob/user) + . = ..() if(ishuman(user)) var/mob/living/carbon/human/cardUser = user if(cardUser.is_holding(src)) cardUser.visible_message("[cardUser] checks [cardUser.p_their()] card.", "The card reads: [cardname].") else - to_chat(cardUser, "You need to have the card in your hand to check it!") - + . += "You need to have the card in your hand to check it!" /obj/item/toy/cards/singlecard/verb/Flip() set name = "Flip Card" diff --git a/code/game/objects/structures/janicart.dm b/code/game/objects/structures/janicart.dm index 54b9d650..fa0b7d13 100644 --- a/code/game/objects/structures/janicart.dm +++ b/code/game/objects/structures/janicart.dm @@ -6,11 +6,10 @@ anchored = FALSE density = TRUE //copypaste sorry - var/amount_per_transfer_from_this = 5 //shit I dunno, adding this so syringes stop runtime erroring. --NeoFite - var/obj/item/storage/bag/trash/mybag = null - var/obj/item/mop/mymop = null - var/obj/item/reagent_containers/spray/cleaner/myspray = null - var/obj/item/lightreplacer/myreplacer = null + var/obj/item/storage/bag/trash/mybag + var/obj/item/mop/mymop + var/obj/item/reagent_containers/spray/cleaner/myspray + var/obj/item/lightreplacer/myreplacer var/signs = 0 var/const/max_signs = 4 @@ -32,7 +31,6 @@ /obj/structure/janitorialcart/proc/put_in_cart(obj/item/I, mob/user) if(!user.transferItemToLoc(I, src)) return - updateUsrDialog() to_chat(user, "You put [I] into [src].") return @@ -49,7 +47,6 @@ m.janicart_insert(user, src) else to_chat(user, fail_msg) - else if(istype(I, /obj/item/storage/bag/trash)) if(!mybag) var/obj/item/storage/bag/trash/t=I @@ -91,63 +88,74 @@ . = ..() if(.) return - user.set_machine(src) - var/dat + + var/list/items = list() if(mybag) - dat += "[mybag.name]
" + items += list("Trash bag" = image(icon = mybag.icon, icon_state = mybag.icon_state)) if(mymop) - dat += "[mymop.name]
" + items += list("Mop" = image(icon = mymop.icon, icon_state = mymop.icon_state)) if(myspray) - dat += "[myspray.name]
" + items += list("Spray bottle" = image(icon = myspray.icon, icon_state = myspray.icon_state)) if(myreplacer) - dat += "[myreplacer.name]
" - if(signs) - dat += "[signs] sign\s
" - var/datum/browser/popup = new(user, "janicart", name, 240, 160) - popup.set_content(dat) - popup.open() + items += list("Light replacer" = image(icon = myreplacer.icon, icon_state = myreplacer.icon_state)) + var/obj/item/caution/sign = locate() in src + if(sign) + items += list("Sign" = image(icon = sign.icon, icon_state = sign.icon_state)) - -/obj/structure/janitorialcart/Topic(href, href_list) - if(!in_range(src, usr)) + if(!length(items)) return - if(!isliving(usr)) + items = sortList(items) + var/pick = show_radial_menu(user, src, items, custom_check = CALLBACK(src, .proc/check_menu, user), radius = 38, require_near = TRUE) + if(!pick) return - var/mob/living/user = usr - if(href_list["garbage"]) - if(mybag) + switch(pick) + if("Trash bag") + if(!mybag) + return user.put_in_hands(mybag) to_chat(user, "You take [mybag] from [src].") mybag = null - if(href_list["mop"]) - if(mymop) + if("Mop") + if(!mymop) + return user.put_in_hands(mymop) to_chat(user, "You take [mymop] from [src].") mymop = null - if(href_list["spray"]) - if(myspray) + if("Spray bottle") + if(!myspray) + return user.put_in_hands(myspray) to_chat(user, "You take [myspray] from [src].") myspray = null - if(href_list["replacer"]) - if(myreplacer) + if("Light replacer") + if(!myreplacer) + return user.put_in_hands(myreplacer) to_chat(user, "You take [myreplacer] from [src].") myreplacer = null - if(href_list["sign"]) - if(signs) - var/obj/item/caution/Sign = locate() in src - if(Sign) - user.put_in_hands(Sign) - to_chat(user, "You take \a [Sign] from [src].") - signs-- - else - WARNING("Signs ([signs]) didn't match contents") - signs = 0 + if("Sign") + if(signs <= 0) + return + user.put_in_hands(sign) + to_chat(user, "You take \a [sign] from [src].") + signs-- + else + return update_icon() - updateUsrDialog() +/** + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ +/obj/structure/janitorialcart/proc/check_menu(mob/living/user) + if(!istype(user)) + return FALSE + if(user.incapacitated()) + return FALSE + return TRUE /obj/structure/janitorialcart/update_icon() cut_overlays() diff --git a/code/game/objects/structures/ladders.dm b/code/game/objects/structures/ladders.dm index b3f415ba..f321498b 100644 --- a/code/game/objects/structures/ladders.dm +++ b/code/game/objects/structures/ladders.dm @@ -55,7 +55,7 @@ down.update_icon() up = down = null -/obj/structure/ladder/update_icon() +/obj/structure/ladder/update_icon_state() if(up && down) icon_state = "ladder11" @@ -91,8 +91,13 @@ if (!is_ghost && !in_range(src, user)) return + var/list/tool_list = list( + "Up" = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "red_arrow", dir = NORTH), + "Down" = image(icon = 'icons/testing/turf_analysis.dmi', icon_state = "red_arrow", dir = SOUTH) + ) + if (up && down) - var/result = alert("Go up or down [src]?", "Ladder", "Up", "Down", "Cancel") + var/result = show_radial_menu(user, src, tool_list, custom_check = CALLBACK(src, .proc/check_menu, user), require_near = TRUE, tooltips = TRUE) if (!is_ghost && !in_range(src, user)) return // nice try switch(result) @@ -112,6 +117,11 @@ if(!is_ghost) add_fingerprint(user) +/obj/structure/ladder/proc/check_menu(mob/user) + if(user.incapacitated() || !user.Adjacent(src)) + return FALSE + return TRUE + /obj/structure/ladder/attack_hand(mob/user) . = ..() if(.) diff --git a/code/game/objects/structures/signs/signs_maps.dm b/code/game/objects/structures/signs/signs_maps.dm index f3188b90..1e3bfd6d 100644 --- a/code/game/objects/structures/signs/signs_maps.dm +++ b/code/game/objects/structures/signs/signs_maps.dm @@ -50,7 +50,8 @@ name = "bar" desc = "A direction sign, pointing out which way the Bar is." icon_state = "direction_bar" - /obj/structure/sign/directions/cafe + +/obj/structure/sign/directions/cafe name = "cafe" desc = "A direction sign, pointing out which way the Cafe is." icon_state = "direction_cafe" diff --git a/code/game/turfs/simulated/floor/plating/misc_plating.dm b/code/game/turfs/simulated/floor/plating/misc_plating.dm index 15b03919..befeb59a 100644 --- a/code/game/turfs/simulated/floor/plating/misc_plating.dm +++ b/code/game/turfs/simulated/floor/plating/misc_plating.dm @@ -194,8 +194,9 @@ /turf/open/floor/plating/ice/smooth icon_state = "smooth" smooth = SMOOTH_MORE | SMOOTH_BORDER - canSmoothWith = list(/turf/open/floor/plating/ice/smooth, /turf/open/floor/plating/ice) - /turf/open/floor/plating/ice/colder + canSmoothWith = list(/turf/open/floor/plating/ice/smooth, + /turf/open/floor/plating/ice, + /turf/open/floor/plating/ice/colder) /turf/open/floor/plating/ice/colder temperature = 140 diff --git a/code/game/world.dm b/code/game/world.dm index 37c3fac2..3d01218b 100644 --- a/code/game/world.dm +++ b/code/game/world.dm @@ -7,6 +7,10 @@ GLOBAL_VAR(restart_counter) //This happens after the Master subsystem new(s) (it's a global datum) //So subsystems globals exist, but are not initialised /world/New() + var/extools = world.GetConfig("env", "EXTOOLS_DLL") || (world.system_type == MS_WINDOWS ? "./byond-extools.dll" : "./libbyond-extools.so") + if (fexists(extools)) + call(extools, "maptick_initialize")() + enable_debugger() log_world("World loaded at [TIME_STAMP("hh:mm:ss", FALSE)]!") diff --git a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm index 8191a4d2..f94e023b 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/cryo.dm @@ -1,5 +1,3 @@ -#define CRYOMOBS 'icons/obj/cryo_mobs.dmi' - /obj/machinery/atmospherics/components/unary/cryo_cell name = "cryo cell" icon = 'icons/obj/cryogenics.dmi' diff --git a/code/modules/cargo/packs.dm b/code/modules/cargo/packs.dm index 861c122a..f10a1288 100644 --- a/code/modules/cargo/packs.dm +++ b/code/modules/cargo/packs.dm @@ -2921,14 +2921,13 @@ crate_name = "security department supply crate" /datum/supply_pack/costumes_toys/kinkmate - name = "Kinkmate construction kit" + name = "Kinkmate kit" cost = 2000 contraband = TRUE contains = list(/obj/item/vending_refill/kink, /obj/item/vending_refill/kink, - /obj/item/vending_refill/kink, - /obj/item/circuitboard/machine/kinkmate) - crate_name = "Kinkmate construction kit" + /obj/item/vending_refill/kink) + crate_name = "Kinkmate kit" ////////////////////////////////////////////////////////////////////////////// //////////////////////////// Miscellaneous /////////////////////////////////// @@ -3193,7 +3192,6 @@ contraband = TRUE contains = list(/obj/item/dildo/custom, /obj/item/dildo/custom, - /obj/item/circuitboard/machine/kinkmate, /obj/item/vending_refill/kink, /obj/item/vending_refill/kink, /obj/item/vending_refill/kink, diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index c9ff474a..62bcbc3d 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -66,18 +66,25 @@ resistance_flags = FLAMMABLE actions_types = list(/datum/action/item_action/adjust) dog_fashion = /datum/dog_fashion/head/clown + var/list/clownmask_designs = list() + +/obj/item/clothing/mask/gas/clown_hat/Initialize(mapload) + .=..() + clownmask_designs = list( + "True Form" = image(icon = src.icon, icon_state = "clown"), + "The Feminist" = image(icon = src.icon, icon_state = "sexyclown"), + "The Madman" = image(icon = src.icon, icon_state = "joker"), + "The Rainbow Color" = image(icon = src.icon, icon_state = "rainbow") + ) /obj/item/clothing/mask/gas/clown_hat/ui_action_click(mob/user) if(!istype(user) || user.incapacitated()) return - var/list/options = list() - options["True Form"] = "clown" - options["The Feminist"] = "sexyclown" - options["The Madman"] = "joker" - options["The Rainbow Color"] ="rainbow" + var/static/list/options = list("True Form" = "clown", "The Feminist" = "sexyclown", + "The Rainbow Color" = "rainbow", "The Madman" = "joker") - var/choice = input(user,"To what form do you wish to Morph this mask?","Morph Mask") in options + var/choice = show_radial_menu(user,src, clownmask_designs, custom_check = FALSE, radius = 36, require_near = TRUE) if(src && choice && !user.incapacitated() && in_range(user,src)) icon_state = options[choice] @@ -86,7 +93,7 @@ var/datum/action/A = X A.UpdateButtonIcon() to_chat(user, "Your Clown Mask has now morphed into [choice], all praise the Honkmother!") - return 1 + return TRUE /obj/item/clothing/mask/gas/sexyclown name = "sexy-clown wig and mask" @@ -106,19 +113,26 @@ flags_cover = MASKCOVERSEYES resistance_flags = FLAMMABLE actions_types = list(/datum/action/item_action/adjust) + var/list/mimemask_designs = list() + + +/obj/item/clothing/mask/gas/mime/Initialize(mapload) + .=..() + mimemask_designs = list( + "Blanc" = image(icon = src.icon, icon_state = "mime"), + "Excité" = image(icon = src.icon, icon_state = "sexymime"), + "Triste" = image(icon = src.icon, icon_state = "sadmime"), + "Effrayé" = image(icon = src.icon, icon_state = "scaredmime") + ) /obj/item/clothing/mask/gas/mime/ui_action_click(mob/user) if(!istype(user) || user.incapacitated()) return - var/list/options = list() - options["Blanc"] = "mime" - options["Triste"] = "sadmime" - options["Effrayé"] = "scaredmime" - options["Excité"] ="sexymime" + var/static/list/options = list("Blanc" = "mime", "Triste" = "sadmime", "Effrayé" = "scaredmime", "Excité" ="sexymime") - var/choice = input(user,"To what form do you wish to Morph this mask?","Morph Mask") in options + var/choice = show_radial_menu(user,src, mimemask_designs, custom_check = FALSE, radius = 36, require_near = TRUE) if(src && choice && !user.incapacitated() && in_range(user,src)) icon_state = options[choice] @@ -127,7 +141,7 @@ var/datum/action/A = X A.UpdateButtonIcon() to_chat(user, "Your Mime Mask has now morphed into [choice]!") - return 1 + return TRUE /obj/item/clothing/mask/gas/monkeymask name = "monkey mask" diff --git a/code/modules/clothing/under/jobs/civilian.dm b/code/modules/clothing/under/jobs/civilian.dm index 02097a20..3efcf42c 100644 --- a/code/modules/clothing/under/jobs/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian.dm @@ -32,6 +32,7 @@ icon_state = "captain" item_state = "b_suit" item_color = "captain" + armor = list("melee" = 10, "bullet" = 10, "laser" = 10,"energy" = 10, "bomb" = 10, "bio" = 10, "rad" = 10, "fire" = 10, "acid" = 10) sensor_mode = SENSOR_COORDS random_sensor = FALSE @@ -51,6 +52,7 @@ icon_state = "qm" item_state = "lb_suit" item_color = "qm" + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) /obj/item/clothing/under/rank/cargo/skirt name = "quartermaster's jumpskirt" @@ -58,6 +60,7 @@ icon_state = "qm_skirt" item_state = "lb_suit" item_color = "qm_skirt" + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -68,6 +71,7 @@ icon_state = "cargotech" item_state = "lb_suit" item_color = "cargo" + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) body_parts_covered = CHEST|GROIN|ARMS mutantrace_variation = MUTANTRACE_VARIATION alt_covers_chest = TRUE @@ -78,6 +82,7 @@ icon_state = "cargo_skirt" item_state = "lb_suit" item_color = "cargo_skirt" + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) body_parts_covered = CHEST|GROIN|ARMS can_adjust = FALSE fitted = FEMALE_UNIFORM_TOP @@ -193,6 +198,7 @@ icon_state = "hop" item_state = "b_suit" item_color = "hop" + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) can_adjust = FALSE /obj/item/clothing/under/rank/head_of_personnel/skirt diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index 1f74a572..7dde0367 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -5,7 +5,7 @@ icon_state = "chiefengineer" item_state = "gy_suit" item_color = "chief" - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 80, "acid" = 40) + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 10, "acid" = 0) resistance_flags = NONE /obj/item/clothing/under/rank/chief_engineer/skirt @@ -24,6 +24,7 @@ icon_state = "atmos" item_state = "atmos_suit" item_color = "atmos" + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 10, "acid" = 0) resistance_flags = NONE /obj/item/clothing/under/rank/atmospheric_technician/skirt @@ -42,7 +43,7 @@ icon_state = "engine" item_state = "engi_suit" item_color = "engine" - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 60, "acid" = 20) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 10, "acid" = 0) resistance_flags = NONE /obj/item/clothing/under/rank/engineer/hazard name = "engineer's hazard jumpsuit" @@ -68,6 +69,7 @@ icon_state = "robotics" item_state = "robotics" item_color = "robotics" + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) // Considering science department, it explodes a lot, bomb resist 10% resistance_flags = NONE /obj/item/clothing/under/rank/roboticist/skirt diff --git a/code/modules/clothing/under/jobs/medsci.dm b/code/modules/clothing/under/jobs/medsci.dm index c27882aa..ced2d636 100644 --- a/code/modules/clothing/under/jobs/medsci.dm +++ b/code/modules/clothing/under/jobs/medsci.dm @@ -7,7 +7,7 @@ icon_state = "director" item_state = "lb_suit" item_color = "director" - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 35) + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) can_adjust = FALSE /obj/item/clothing/under/rank/research_director/skirt @@ -26,7 +26,7 @@ icon_state = "rdwhimsy" item_state = "rdwhimsy" item_color = "rdwhimsy" - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) can_adjust = TRUE alt_covers_chest = TRUE @@ -46,7 +46,7 @@ icon_state = "rdturtle" item_state = "p_suit" item_color = "rdturtle" - armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 10, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) can_adjust = TRUE alt_covers_chest = TRUE @@ -86,7 +86,7 @@ item_state = "w_suit" item_color = "chemistrywhite" permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 50, "acid" = 65) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 10) /obj/item/clothing/under/rank/chemist/skirt name = "chemist's jumpskirt" @@ -108,7 +108,7 @@ item_state = "w_suit" item_color = "cmo" permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 10) /obj/item/clothing/under/rank/chief_medical_officer/skirt name = "chief medical officer's jumpskirt" @@ -127,7 +127,7 @@ item_state = "w_suit" item_color = "geneticswhite" permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 5, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 5) // They work in both science and medical so split the values of bomb and acid by 5 and 5? /obj/item/clothing/under/rank/geneticist/skirt name = "geneticist's jumpskirt" @@ -146,7 +146,7 @@ item_state = "w_suit" item_color = "virologywhite" permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 10) /obj/item/clothing/under/rank/virologist/skirt name = "virologist's jumpskirt" @@ -165,7 +165,7 @@ item_state = "w_suit" item_color = "nursesuit" permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 10) body_parts_covered = CHEST|GROIN|ARMS fitted = NO_FEMALE_UNIFORM can_adjust = FALSE @@ -176,7 +176,7 @@ item_state = "w_suit" item_color = "medical" permeability_coefficient = 0.5 - armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 0) + armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 10, "rad" = 0, "fire" = 0, "acid" = 10) /obj/item/clothing/under/rank/medical/blue name = "medical scrubs" desc = "It's made of a special fiber that provides minor protection against biohazards. This one is in baby blue." diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 186c3779..ee3daf95 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -13,7 +13,7 @@ icon_state = "rsecurity" item_state = "r_suit" item_color = "rsecurity" - armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30) + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) strip_delay = 50 alt_covers_chest = TRUE sensor_mode = SENSOR_COORDS @@ -41,7 +41,7 @@ icon_state = "rwarden" item_state = "r_suit" item_color = "rwarden" - armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30) + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) strip_delay = 50 alt_covers_chest = TRUE sensor_mode = 3 @@ -72,7 +72,7 @@ icon_state = "detective" item_state = "det" item_color = "detective" - armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 30, "acid" = 30) + armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) strip_delay = 50 alt_covers_chest = TRUE sensor_mode = 3 @@ -115,7 +115,7 @@ icon_state = "rhos" item_state = "r_suit" item_color = "rhos" - armor = list("melee" = 10, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 50, "acid" = 50) + armor = list("melee" = 10, "bullet" = 5, "laser" = 5,"energy" = 5, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0) strip_delay = 60 alt_covers_chest = TRUE sensor_mode = 3 diff --git a/code/modules/crafting/recipes.dm b/code/modules/crafting/recipes.dm index 75c9a424..24da213e 100644 --- a/code/modules/crafting/recipes.dm +++ b/code/modules/crafting/recipes.dm @@ -916,7 +916,7 @@ time = 30 category = CAT_CLOTHING - /datum/crafting_recipe/durathread_helmet +/datum/crafting_recipe/durathread_helmet name = "Makeshift Durathread Helmet" result = /obj/item/clothing/head/helmet/durathread reqs = list(/obj/item/stack/sheet/durathread = 4, @@ -974,4 +974,4 @@ reqs = list(/obj/item/stack/sheet/mineral/bamboo = 2, /obj/item/reagent_containers/food/snacks/grown/coconut = 1) time = 70 - category = CAT_MISC \ No newline at end of file + category = CAT_MISC diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm index 931a7821..365cf499 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_pastry.dm @@ -23,7 +23,7 @@ result = /obj/item/reagent_containers/food/snacks/donut subcategory = CAT_PASTRY -/datum/crafting_recipe/food/donut +/datum/crafting_recipe/food/donut/semen time = 15 name = "Semen donut" reqs = list( diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index 56504018..3a0d6e87 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -178,9 +178,14 @@ return ..() /obj/machinery/mineral/equipment_vendor/proc/RedeemVoucher(obj/item/mining_voucher/voucher, mob/redeemer) - var/items = list("Survival Capsule and Explorer's Webbing", "Resonator Kit", "Minebot Kit", "Extraction and Rescue Kit", "Crusher Kit", "Mining Conscription Kit") + var/items = list( "Survival Capsule and Explorer's Webbing" = image(icon = 'icons/obj/storage.dmi', icon_state = "explorerpack"), + "Resonator Kit" = image(icon = 'icons/obj/mining.dmi', icon_state = "resonator"), + "Minebot Kit" = image(icon = 'icons/mob/aibots.dmi', icon_state = "mining_drone"), + "Extraction and Rescue Kit" = image(icon = 'icons/obj/fulton.dmi', icon_state = "extraction_pack"), + "Crusher Kit" = image(icon = 'icons/obj/mining.dmi', icon_state = "mining_hammer"), + "Mining Conscription Kit" = image(icon = 'icons/obj/storage.dmi', icon_state = "duffel")) - var/selection = input(redeemer, "Pick your equipment", "Mining Voucher Redemption") as null|anything in items + var/selection = show_radial_menu(redeemer, src, items, require_near = TRUE, tooltips = TRUE) if(!selection || !Adjacent(redeemer) || QDELETED(voucher) || voucher.loc != redeemer) return var/drop_location = drop_location() @@ -349,9 +354,10 @@ new /obj/item/clothing/glasses/meson/prescription(src) /obj/machinery/mineral/equipment_vendor/proc/RedeemSVoucher(obj/item/suit_voucher/voucher, mob/redeemer) - var/items = list("Exo-suit", "SEVA suit") + var/items = list( "Exo-suit" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "exo"), + "SEVA suit" = image(icon = 'icons/obj/clothing/suits.dmi', icon_state = "seva")) - var/selection = input(redeemer, "Pick your suit.", "Suit Voucher Redemption") as null|anything in items + var/selection = show_radial_menu(redeemer, src, items, require_near = TRUE, tooltips = TRUE) if(!selection || !Adjacent(redeemer) || QDELETED(voucher) || voucher.loc != redeemer) return var/drop_location = drop_location() diff --git a/code/modules/mob/dead/new_player/new_player.dm b/code/modules/mob/dead/new_player/new_player.dm index 7a027c69..0dbcf362 100644 --- a/code/modules/mob/dead/new_player/new_player.dm +++ b/code/modules/mob/dead/new_player/new_player.dm @@ -580,7 +580,8 @@ H.name = real_name //h13 assign your characters custom height. if (H.custom_body_size) //Do they have it set? - H.size_multiplier = (max(min( round((H.custom_body_size)), MAX_BODYSIZE),MIN_BODYSIZE)* 0.01) + //H.size_multiplier = (max(min( round((H.custom_body_size)), MAX_BODYSIZE),MIN_BODYSIZE)* 0.01) //Old method + H.resize(H.custom_body_size * 0.01) //h13 give your starting impregchance (30%) if (H.breedable == TRUE) H.impregchance = 30 diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 801a6cd2..87f4c208 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -1,6 +1,11 @@ /mob/living/carbon/Life() set invisibility = 0 + //Hyper Change + if(size_multiplier != previous_size) + sleep(1) + resize(size_multiplier) + if(notransform) return diff --git a/code/modules/mob/living/carbon/update_icons.dm b/code/modules/mob/living/carbon/update_icons.dm index 03df1cab..5c67b69a 100644 --- a/code/modules/mob/living/carbon/update_icons.dm +++ b/code/modules/mob/living/carbon/update_icons.dm @@ -69,7 +69,6 @@ if(previous_size > 1 && size_multiplier > 1) //macro stays a macro. We just scale the sprite with no offset changes ntransform.Scale(size_multiplier/previous_size) //scale the sprite accordingly - previous_size = size_multiplier if(changed) animate(src, transform = ntransform, time = 2, pixel_y = final_pixel_y, dir = final_dir, easing = EASE_IN|EASE_OUT) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 7ff2a40d..88b0fe4e 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -213,6 +213,7 @@ /datum/reagent/medicine/rezadone/on_mob_life(mob/living/carbon/M) M.setCloneLoss(0) //Rezadone is almost never used in favor of cryoxadone. Hopefully this will change that. M.heal_bodypart_damage(1,1) + M.cure_husk() REMOVE_TRAIT(M, TRAIT_DISFIGURED, TRAIT_GENERIC) ..() . = 1 @@ -448,6 +449,8 @@ datum/reagent/medicine/styptic_powder/overdose_start(mob/living/M) /datum/reagent/medicine/synthflesh/overdose_start(mob/living/M) metabolization_rate = 15 * REAGENTS_METABOLISM + if(M.getFireLoss() <= 20 && M.getBruteLoss() <= 20) + M.cure_husk() /datum/reagent/medicine/charcoal name = "Charcoal" diff --git a/code/modules/surgery/advanced/reconstruction.dm b/code/modules/surgery/advanced/reconstruction.dm index 84d9f5b9..dac94e3b 100644 --- a/code/modules/surgery/advanced/reconstruction.dm +++ b/code/modules/surgery/advanced/reconstruction.dm @@ -27,6 +27,8 @@ /datum/surgery_step/reconstruct/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) user.visible_message("[user] fixes some of [target]'s wounds.", "You succeed in fixing some of [target]'s wounds.") target.heal_bodypart_damage(10,10) + if(target.getFireLoss() <= 20 && target.getBruteLoss() <= 20) + target.cure_husk() return TRUE /datum/surgery_step/reconstruct/failure(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index e8e8bd7e..c9a299b5 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -377,7 +377,7 @@ Smark = GLOB.mam_body_markings_list[H.dna.features["mam_body_markings"]] if(Smark) body_markings_icon = Smark.icon - if(H.dna.features.["mam_body_markings"] != "None") + if(H.dna.features["mam_body_markings"] != "None") body_markings = Smark?.icon_state || lowertext(H.dna.features["mam_body_markings"]) auxmarking = Smark?.icon_state || lowertext(H.dna.features["mam_body_markings"]) else diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index 991e5562..c39d717d 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -1,6 +1,3 @@ -#define STANDARD_ORGAN_THRESHOLD 100 -#define STANDARD_ORGAN_HEALING 0.001 - /obj/item/organ name = "organ" icon = 'icons/obj/surgery.dmi' diff --git a/hyperstation/code/modules/resize/resizing.dm b/hyperstation/code/modules/resize/resizing.dm index 41b78119..a272aa48 100644 --- a/hyperstation/code/modules/resize/resizing.dm +++ b/hyperstation/code/modules/resize/resizing.dm @@ -7,6 +7,8 @@ var/const/RESIZE_SMALL = 0.75 var/const/RESIZE_TINY = 0.50 var/const/RESIZE_MICRO = 0.25 +#define MOVESPEED_ID_SIZE "SIZECODE" + //averages var/const/RESIZE_A_MACROHUGE = (RESIZE_MACRO + RESIZE_HUGE) / 2 var/const/RESIZE_A_HUGEBIG = (RESIZE_HUGE + RESIZE_BIG) / 2 @@ -31,11 +33,20 @@ mob/living/get_effective_size() return src.size_multiplier /mob/living/proc/resize(var/new_size, var/animate = TRUE) - if(size_multiplier == new_size) + size_multiplier = new_size //This will be passed into update_transform() and used to change health and speed. + if(size_multiplier == previous_size) return 1 - - size_multiplier = new_size //Change size_multiplier so that other items can interact with them src.update_transform() //WORK DAMN YOU + //Going to change the health and speed values too + var/inverse_size_multiplier = (1 / size_multiplier) //Get a positive value + src.remove_movespeed_modifier(MOVESPEED_ID_SIZE) + src.add_movespeed_modifier(MOVESPEED_ID_SIZE, multiplicative_slowdown = (max(size_multiplier, inverse_size_multiplier) - 1)) + var/healthmod_old = ((previous_size * 50) - 50) //Get the old value to see what we must change. + var/healthmod_new = ((size_multiplier * 50) - 50) //A size of one would be zero. Big boys get health, small ones lose health. + var/healthchange = healthmod_new - healthmod_old //Get ready to apply the new value, and subtract the old one. (Negative values become positive) + src.maxHealth += healthchange + src.health += healthchange + previous_size = size_multiplier //And, change this now that we are finally done. //handle the big steppy, except nice /mob/living/proc/handle_micro_bump_helping(var/mob/living/tmob) diff --git a/icons/obj/cardboard_cutout.dmi b/icons/obj/cardboard_cutout.dmi index d9f49dc3..0f479a3b 100644 Binary files a/icons/obj/cardboard_cutout.dmi and b/icons/obj/cardboard_cutout.dmi differ diff --git a/icons/obj/janitor.dmi b/icons/obj/janitor.dmi index 6aa4615d..cd2d37d5 100644 Binary files a/icons/obj/janitor.dmi and b/icons/obj/janitor.dmi differ diff --git a/modular_citadel/code/game/machinery/vending.dm b/modular_citadel/code/game/machinery/vending.dm index 1ea03dfe..caa7c319 100644 --- a/modular_citadel/code/game/machinery/vending.dm +++ b/modular_citadel/code/game/machinery/vending.dm @@ -39,7 +39,6 @@ desc = "A vending machine for all your unmentionable desires." icon = 'icons/obj/citvending.dmi' icon_state = "kink" - circuit = /obj/item/circuitboard/machine/kinkmate product_slogans = "Kinky!;Sexy!;Check me out, big boy!" vend_reply = "Have fun, you shameless pervert!" products = list( diff --git a/modular_citadel/code/game/objects/items/circuitboards/machine_circuitboards.dm b/modular_citadel/code/game/objects/items/circuitboards/machine_circuitboards.dm index e70028f5..e98b31fb 100644 --- a/modular_citadel/code/game/objects/items/circuitboards/machine_circuitboards.dm +++ b/modular_citadel/code/game/objects/items/circuitboards/machine_circuitboards.dm @@ -1,8 +1,3 @@ -/obj/item/circuitboard/machine/kinkmate - name = "Kinkmate Vendor (Machine Board)" - build_path = /obj/machinery/vending/kink - req_components = list(/obj/item/vending_refill/kink = 3) - /obj/item/circuitboard/machine/autoylathe name = "Autoylathe (Machine Board)" build_path = /obj/machinery/autoylathe diff --git a/modular_citadel/code/modules/client/loadout/head.dm b/modular_citadel/code/modules/client/loadout/head.dm index 3e7eb398..b548ba8b 100644 --- a/modular_citadel/code/modules/client/loadout/head.dm +++ b/modular_citadel/code/modules/client/loadout/head.dm @@ -101,4 +101,9 @@ /datum/gear/santahatg name = "Green Santa Hat" category = SLOT_HEAD - path = /obj/item/clothing/head/christmashatg \ No newline at end of file + path = /obj/item/clothing/head/christmashatg + +/datum/gear/pharaohmhat + name = "Pharaoh Hat" + category = SLOT_HEAD + path = /obj/item/clothing/head/pharaoh diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm index a3213ef1..432c928e 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/dogborg_equipment.dm @@ -34,7 +34,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! user.do_attack_animation(A, ATTACK_EFFECT_BITE) /obj/item/dogborg/jaws/small/attack_self(mob/user) - var/mob/living/silicon/robot.R = user + var/mob/living/silicon/robot/R = user if(R.cell && R.cell.charge > 100) if(R.emagged && status == 0) name = "combat jaws" @@ -166,7 +166,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! item_flags |= NOBLUDGEON //No more attack messages /obj/item/soap/tongue/attack_self(mob/user) - var/mob/living/silicon/robot.R = user + var/mob/living/silicon/robot/R = user if(R.cell && R.cell.charge > 100) if(R.emagged && status == 0) status = !status @@ -186,7 +186,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! update_icon() /obj/item/soap/tongue/afterattack(atom/target, mob/user, proximity) - var/mob/living/silicon/robot.R = user + var/mob/living/silicon/robot/R = user if(!proximity || !check_allowed_items(target)) return if(R.client && (target in R.client.screen)) @@ -213,7 +213,7 @@ SLEEPER CODE IS IN game/objects/items/devices/dogborg_sleeper.dm ! if(!do_after(R, 50, target = target)) return //If they moved away, you can't eat them. to_chat(R, "You finish off \the [target.name].") - var/obj/item/stock_parts/cell.C = target + var/obj/item/stock_parts/cell/C = target R.cell.charge = R.cell.charge + (C.charge / 3) //Instant full cell upgrades op idgaf qdel(target) return diff --git a/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm b/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm index a038476e..468e458f 100644 --- a/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/modular_citadel/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -27,6 +27,19 @@ var/moduleselect_alternate_icon var/dogborg = FALSE +/** + * check_menu: Checks if we are allowed to interact with a radial menu + * + * Arguments: + * * user The mob interacting with a menu + */ +/obj/item/robot_module/proc/check_menu(mob/user) + if(!istype(user)) + return FALSE + if(user.incapacitated() || !user.Adjacent(src)) + return FALSE + return TRUE + /obj/item/robot_module/k9 name = "Security K-9 Unit" basic_modules = list( @@ -62,13 +75,23 @@ /obj/item/robot_module/k9/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/list/sechoundmodels = list("Default") - if(R.client && R.client.ckey in list("nezuli")) - sechoundmodels += "Alina" - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in sechoundmodels - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/k9_models + if(!k9_models) + k9_models = list() + var/list/L = list("Default" = "k9") + for(var/a in L) + var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a]) + wide.pixel_x = -16 + k9_models[a] = wide + if(R.client?.ckey == "nezuli") + var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-sec") + bad_snowflake.pixel_x = -16 + k9_models["Alina"] = bad_snowflake + k9_models = sortList(k9_models) + var/k9_borg_icon = show_radial_menu(R, R , k9_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!k9_borg_icon) + return + switch(k9_borg_icon) if("Default") cyborg_base_icon = "k9" moduleselect_icon = "k9" @@ -113,13 +136,23 @@ /obj/item/robot_module/medihound/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/list/medhoundmodels = list("Default", "Dark") - if(R.client && R.client.ckey in list("nezuli")) - medhoundmodels += "Alina" - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in medhoundmodels - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/medihound_models + if(!medihound_models) + medihound_models = list() + var/list/L = list("Default" = "medihound", "Dark" = "medihounddark") + for(var/a in L) + var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a]) + wide.pixel_x = -16 + medihound_models[a] = wide + if(R.client?.ckey == "nezuli") + var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-med") + bad_snowflake.pixel_x = -16 + medihound_models["Alina"] = bad_snowflake + medihound_models = sortList(medihound_models) + var/medihound_borg_icon = show_radial_menu(R, R , medihound_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!medihound_borg_icon) + return + switch(medihound_borg_icon) if("Default") cyborg_base_icon = "medihound" if("Dark") @@ -234,10 +267,25 @@ /obj/item/robot_module/medical/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Heavy", "Sleek", "Marina", "Droid", "Eyebot", "BootyF", "BootyM", "BootyS", "Haydee") - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/med_models + if(!med_models) + med_models = list( + "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "medical"), + "Droid" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "medical"), + "Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekmed"), + "Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinamed"), + "Eyebot" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "eyebotmed"), + "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymed"), + "BootyF" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootymedical"), + "BootyM" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootymedicalM"), + "BootyS" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootymedicalS"), + "Haydee" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "haydeemedical") + ) + med_models = sortList(med_models) + var/medi_borg_icon = show_radial_menu(R, R , med_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!medi_borg_icon) + return + switch(medi_borg_icon) if("Default") cyborg_base_icon = "medical" if("Droid") @@ -276,11 +324,23 @@ /obj/item/robot_module/janitor/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/list/janimodels = list("Default", "Sleek", "Marina", "Can", "Heavy", "BootyF", "BootyM", "BootyS") - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in janimodels - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/jani_models + if(!jani_models) + jani_models = list( + "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "janitor"), + "Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekjan"), + "Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinajan"), + "Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "canjan"), + "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyres"), + "BootyF" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyjanitor"), + "BootyM" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyjanitorM"), + "BootyS" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyjanitorS") + ) + jani_models = sortList(jani_models) + var/jani_borg_icon = show_radial_menu(R, R , jani_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!jani_borg_icon) + return + switch(jani_borg_icon) if("Default") cyborg_base_icon = "janitor" if("Marina") @@ -311,10 +371,20 @@ /obj/item/robot_module/peacekeeper/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Spider", "BootyF", "BootyM", "BootyS") - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/peace_models + if(!peace_models) + peace_models = list( + "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "peace"), + "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "whitespider"), + "BootyF" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootypeace"), + "BootyM" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootypeaceM"), + "BootyS" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootypeaceS") + ) + peace_models = sortList(peace_models) + var/peace_borg_icon = show_radial_menu(R, R , peace_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!peace_borg_icon) + return + switch(peace_borg_icon) if("Default") cyborg_base_icon = "peace" if("Spider") @@ -336,10 +406,25 @@ /obj/item/robot_module/security/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Default", "Default - Treads", "Heavy", "Sleek", "Can", "Marina", "Spider", "BootyF", "BootyM", "BootyS") - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/sec_models + if(!sec_models) + sec_models = list( + "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "sec"), + "Default - Treads" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sec-tread"), + "Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleeksec"), + "Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinasec"), + "Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "cansec"), + "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "spidersec"), + "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavysec"), + "BootyF" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootysecurity"), + "BootyM" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootysecurityM"), + "BootyS" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootysecurityS") + ) + sec_models = sortList(sec_models) + var/sec_borg_icon = show_radial_menu(R, R , sec_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!sec_borg_icon) + return + switch(sec_borg_icon) if("Default") cyborg_base_icon = "sec" if("Default - Treads") @@ -377,10 +462,25 @@ /obj/item/robot_module/butler/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Waitress", "Heavy", "Sleek", "Butler", "Tophat", "Kent", "Bro", "BootyF", "BootyM", "BootyS") - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/butler_models + if(!butler_models) + butler_models = list( + "Waitress" = image(icon = 'icons/mob/robots.dmi', icon_state = "service_f"), + "Butler" = image(icon = 'icons/mob/robots.dmi', icon_state = "service_m"), + "Bro" = image(icon = 'icons/mob/robots.dmi', icon_state = "brobot"), + "Kent" = image(icon = 'icons/mob/robots.dmi', icon_state = "kent"), + "Tophat" = image(icon = 'icons/mob/robots.dmi', icon_state = "tophat"), + "Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekserv"), + "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyserv"), + "BootyF" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyservice"), + "BootyM" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyserviceM"), + "BootyS" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyserviceS") + ) + butler_models = sortList(butler_models) + var/butler_borg_icon = show_radial_menu(R, R , butler_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!butler_borg_icon) + return + switch(butler_borg_icon) if("Waitress") cyborg_base_icon = "service_f" if("Butler") @@ -419,13 +519,36 @@ /obj/item/robot_module/engineering/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/list/engymodels = list("Default", "Default - Treads", "Heavy", "Sleek", "Marina", "Can", "Spider", "Loader","Handy", "Pup Dozer", "BootyF", "BootyM", "BootyS") - if(R.client && R.client.ckey in list("nezuli")) - engymodels += "Alina" - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in engymodels - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/eng_models + if(!eng_models) + eng_models = list( + "Default" = image(icon = 'icons/mob/robots.dmi', icon_state = "engineer"), + "Default - Treads" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "engi-tread"), + "Loader" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "loaderborg"), + "Handy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "handyeng"), + "Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekeng"), + "Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "caneng"), + "Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinaeng"), + "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "spidereng"), + "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavyeng"), + "BootyF" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyengineer"), + "BootyM" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyengineerM"), + "BootyS" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyengineerS") + ) + var/list/L = list("Pupdozer" = "pupdozer") + for(var/a in L) + var/image/wide = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = L[a]) + wide.pixel_x = -16 + eng_models[a] = wide + if(R.client?.ckey == "nezuli") + var/image/bad_snowflake = image(icon = 'modular_citadel/icons/mob/widerobot.dmi', icon_state = "alina-sec") + bad_snowflake.pixel_x = -16 + eng_models["Alina"] = bad_snowflake + eng_models = sortList(eng_models) + var/eng_borg_icon = show_radial_menu(R, R , eng_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!eng_borg_icon) + return + switch(eng_borg_icon) if("Default") cyborg_base_icon = "engineer" if("Default - Treads") @@ -487,10 +610,26 @@ /obj/item/robot_module/miner/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Lavaland", "Heavy", "Sleek", "Marina", "Can", "Spider", "Asteroid", "Droid", "BootyF", "BootyM", "BootyS") - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/miner_models + if(!miner_models) + miner_models = list( + "Lavaland" = image(icon = 'icons/mob/robots.dmi', icon_state = "miner"), + "Asteroid" = image(icon = 'icons/mob/robots.dmi', icon_state = "minerOLD"), + "Droid" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "miner"), + "Sleek" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "sleekmin"), + "Can" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "canmin"), + "Marina" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "marinamin"), + "Spider" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "spidermin"), + "Heavy" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "heavymin"), + "BootyF" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyminer"), + "BootyM" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyminerM"), + "BootyS" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootyminerS") + ) + miner_models = sortList(miner_models) + var/miner_borg_icon = show_radial_menu(R, R , miner_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!miner_borg_icon) + return + switch(miner_borg_icon) if("Lavaland") cyborg_base_icon = "miner" if("Asteroid") @@ -531,12 +670,21 @@ /obj/item/robot_module/standard/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Standard", "BootyF", "BootyM", "BootyS") - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/stand_models + if(!stand_models) + stand_models = list( + "Standard" = image(icon = 'icons/mob/robots.dmi', icon_state = "robot"), + "BootyF" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootystandard"), + "BootyM" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootystandardM"), + "BootyS" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootystandardS") + ) + stand_models = sortList(stand_models) + var/stand_borg_icon = show_radial_menu(R, R , stand_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!stand_borg_icon) + return + switch(stand_borg_icon) if("Standard") - cyborg_base_icon = "standard" + cyborg_base_icon = "robot" if("BootyF") cyborg_base_icon = "bootystandard" cyborg_icon_override = 'modular_citadel/icons/mob/robots.dmi' @@ -553,10 +701,19 @@ /obj/item/robot_module/clown/be_transformed_to(obj/item/robot_module/old_module) var/mob/living/silicon/robot/R = loc - var/borg_icon = input(R, "Select an icon!", "Robot Icon", null) as null|anything in list("Standard", "BootyF", "BootyM", "BootyS") - if(!borg_icon) - return FALSE - switch(borg_icon) + var/static/list/clown_models + if(!clown_models) + clown_models = list( + "Standard" = image(icon = 'icons/mob/robots.dmi', icon_state = "clown"), + "BootyF" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootystandard"), + "BootyM" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootystandardM"), + "BootyS" = image(icon = 'modular_citadel/icons/mob/robots.dmi', icon_state = "bootystandardS") + ) + clown_models = sortList(clown_models) + var/clown_borg_icon = show_radial_menu(R, R , clown_models, custom_check = CALLBACK(src, .proc/check_menu, R), radius = 42, require_near = TRUE, tooltips = TRUE) + if(!clown_borg_icon) + return + switch(clown_borg_icon) if("Standard") cyborg_base_icon = "clown" if("BootyF") diff --git a/modular_citadel/code/modules/projectiles/boxes_magazines/external/pistol.dm b/modular_citadel/code/modules/projectiles/boxes_magazines/external/pistol.dm index 735d162b..886a07e4 100644 --- a/modular_citadel/code/modules/projectiles/boxes_magazines/external/pistol.dm +++ b/modular_citadel/code/modules/projectiles/boxes_magazines/external/pistol.dm @@ -30,7 +30,7 @@ category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY - /datum/design/m10mm/ap +/datum/design/m10mm/ap name = "pistol magazine (10mm AP)" desc = "A gun magazine. Loaded with rounds which penetrate armour, but are less effective against normal targets." id = "10mmap" diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm index 4e80f42d..f582026b 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/MKUltra.dm @@ -163,9 +163,9 @@ Creating a chem with a low purity will make you permanently fall in love with so creator = get_mob_by_key(creatorID) /datum/reagent/fermi/enthrall/on_new(list/data) - creatorID = data.["creatorID"] - creatorGender = data.["creatorGender"] - creatorName = data.["creatorName"] + creatorID = data["creatorID"] + creatorGender = data["creatorGender"] + creatorName = data["creatorName"] creator = get_mob_by_key(creatorID) /datum/reagent/fermi/enthrall/on_mob_add(mob/living/carbon/M) diff --git a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm index bf915d5b..00c6338a 100644 --- a/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm +++ b/modular_citadel/code/modules/reagents/chemistry/reagents/eigentstasium.dm @@ -32,7 +32,7 @@ can_synth = TRUE /datum/reagent/fermi/eigenstate/on_new(list/data) - location_created = data.["location_created"] + location_created = data["location_created"] //Main functions /datum/reagent/fermi/eigenstate/on_mob_life(mob/living/M) //Teleports to chemistry! @@ -54,7 +54,7 @@ to_chat(M, "You feel your wavefunction split!") if(purity > 0.9) //Teleports you home if it's pure enough if(!location_created && data) //Just in case - location_created = data.["location_created"] + location_created = data["location_created"] log_game("FERMICHEM: [M] ckey: [M.key] returned to [location_created] using eigenstasium") do_sparks(5,FALSE,M) do_teleport(M, location_created, 0, asoundin = 'sound/effects/phasein.ogg') diff --git a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm index fbad8c8f..91d7a1c2 100644 --- a/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm +++ b/modular_citadel/code/modules/reagents/chemistry/recipes/fermi.dm @@ -125,7 +125,7 @@ var/datum/reagent/fermi/eigenstate/E = locate(/datum/reagent/fermi/eigenstate) in my_atom.reagents.reagent_list if(location) E.location_created = location - E.data.["location_created"] = location + E.data["location_created"] = location //serum @@ -304,16 +304,16 @@ for(var/mob/M in seen) to_chat(M, "The reaction splutters and fails to react properly.") //Just in case E.purity = 0 - if (B.data.["gender"] == "female") - E.data.["creatorGender"] = "Mistress" + if (B.data["gender"] == "female") + E.data["creatorGender"] = "Mistress" E.creatorGender = "Mistress" else - E.data.["creatorGender"] = "Master" + E.data["creatorGender"] = "Master" E.creatorGender = "Master" - E.data["creatorName"] = B.data.["real_name"] - E.creatorName = B.data.["real_name"] - E.data.["creatorID"] = B.data.["ckey"] - E.creatorID = B.data.["ckey"] + E.data["creatorName"] = B.data["real_name"] + E.creatorName = B.data["real_name"] + E.data["creatorID"] = B.data["ckey"] + E.creatorID = B.data["ckey"] //So slimes can play too. /datum/chemical_reaction/fermi/enthrall/slime @@ -327,16 +327,16 @@ for(var/mob/M in seen) to_chat(M, "The reaction splutters and fails to react.") //Just in case E.purity = 0 - if (B.data.["gender"] == "female") - E.data.["creatorGender"] = "Mistress" + if (B.data["gender"] == "female") + E.data["creatorGender"] = "Mistress" E.creatorGender = "Mistress" else - E.data.["creatorGender"] = "Master" + E.data["creatorGender"] = "Master" E.creatorGender = "Master" - E.data["creatorName"] = B.data.["real_name"] - E.creatorName = B.data.["real_name"] - E.data.["creatorID"] = B.data.["ckey"] - E.creatorID = B.data.["ckey"] + E.data["creatorName"] = B.data["real_name"] + E.creatorName = B.data["real_name"] + E.data["creatorID"] = B.data["ckey"] + E.creatorID = B.data["ckey"] /datum/chemical_reaction/fermi/enthrall/FermiExplode(datum/reagents, var/atom/my_atom, volume, temp, pH) var/turf/T = get_turf(my_atom) diff --git a/modular_citadel/code/modules/reagents/objects/items.dm b/modular_citadel/code/modules/reagents/objects/items.dm index 02f2db7c..55dc2b8f 100644 --- a/modular_citadel/code/modules/reagents/objects/items.dm +++ b/modular_citadel/code/modules/reagents/objects/items.dm @@ -29,7 +29,7 @@ to_chat(user, "[src] is empty!") add_fingerprint(user) return - . = ..() + . = ..() if(. & COMPONENT_NO_INTERACT) return var/I = user.get_active_held_item() diff --git a/tgstation.dme b/tgstation.dme index 4cbf1000..707d6240 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -168,6 +168,7 @@ #include "code\_globalvars\lists\objects.dm" #include "code\_globalvars\lists\poll_ignore.dm" #include "code\_globalvars\lists\typecache.dm" +#include "code\_globalvars\lists\vending.dm" #include "code\_js\byjax.dm" #include "code\_js\menus.dm" #include "code\_onclick\adjacent.dm"