diff --git a/.travis.yml b/.travis.yml index edbcca8025f..27190c2f2a7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,7 +7,6 @@ env: - BYOND_MINOR="1247" matrix: - DM_MAPFILE="tgstation2" - - DM_MAPFILE="AsteroidStation" - DM_MAPFILE="ministation" before_install: diff --git a/_maps/RandomZLevels/centcomAway.dmm b/_maps/RandomZLevels/centcomAway.dmm index e4680171208..d20f61df1f3 100644 --- a/_maps/RandomZLevels/centcomAway.dmm +++ b/_maps/RandomZLevels/centcomAway.dmm @@ -345,7 +345,7 @@ "gG" = (/obj/structure/stool/bed/chair/comfy/beige{dir = 1; icon_state = "comfychair_beige"},/turf/simulated/floor/plasteel{icon_state = "floor"},/area/awaymission/centcomAway/general) "gH" = (/obj/structure/stool/bed/chair,/turf/simulated/floor/fancy/carpet,/area/awaymission/centcomAway/courtroom) "gI" = (/obj/machinery/portable_atmospherics/canister/carbon_dioxide,/turf/simulated/floor/plating,/area/awaymission/centcomAway/maint) -"gJ" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general) +"gJ" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general) "gK" = (/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general) "gL" = (/obj/machinery/door/airlock/centcom{name = "Special Operations"; opacity = 1; req_access_txt = "103"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/awaymission/centcomAway/general) "gM" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/awaymission/centcomAway/general) @@ -409,7 +409,7 @@ "hS" = (/obj/structure/table/wood,/obj/item/weapon/paper_bin,/turf/simulated/floor/wood,/area/awaymission/centcomAway/courtroom) "hT" = (/obj/structure/table/wood,/turf/simulated/floor/wood,/area/awaymission/centcomAway/courtroom) "hU" = (/obj/structure/sign/vacuum,/turf/simulated/wall/r_wall,/area/awaymission/centcomAway/hangar) -"hV" = (/obj/structure/crematorium,/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general) +"hV" = (/obj/structure/bodycontainer/crematorium,/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general) "hW" = (/obj/structure/flora/kirbyplants,/turf/simulated/floor/plasteel{tag = "icon-vault (NORTHEAST)"; icon_state = "vault"; dir = 5},/area/awaymission/centcomAway/general) "hX" = (/obj/machinery/crema_switch{pixel_x = 0; pixel_y = 25},/turf/simulated/floor/plasteel{icon_state = "engine"},/area/awaymission/centcomAway/general) "hY" = (/obj/structure/closet/secure_closet/injection,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/centcomAway/courtroom) diff --git a/_maps/RandomZLevels/stationCollision.dmm b/_maps/RandomZLevels/stationCollision.dmm index 0a25b1f52dd..4d1cbd867aa 100644 --- a/_maps/RandomZLevels/stationCollision.dmm +++ b/_maps/RandomZLevels/stationCollision.dmm @@ -559,7 +559,7 @@ "kM" = (/obj/structure/sink/kitchen{pixel_y = 32},/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock) "kN" = (/obj/item/weapon/melee/energy/sword/saber/red,/obj/item/clothing/shoes/syndigaloshes,/obj/item/clothing/under/syndicate,/obj/effect/decal/remains/human{desc = "This guy seemed to have died in terrible way! Half his remains are dust."; icon_state = "remains"; name = "Syndicate agent remains"},/obj/item/weapon/paper/sc_safehint_paper_hydro,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock) "kO" = (/obj/machinery/hydroponics,/turf/simulated/floor/plasteel,/area/awaymission/arrivalblock) -"kP" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock) +"kP" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock) "kQ" = (/obj/machinery/vending/medical,/turf/simulated/floor/plasteel{icon_state = "white"},/area/awaymission/southblock) "kR" = (/obj/structure/stool/bed/roller,/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 1},/area/awaymission/southblock) "kS" = (/obj/structure/table,/obj/item/weapon/paper/pamphlet{pixel_x = 2; pixel_y = 2},/obj/item/weapon/paper/pamphlet{pixel_x = -2; pixel_y = -2},/turf/simulated/floor/plasteel{tag = "icon-warningcorner (WEST)"; icon_state = "warningcorner"; dir = 8},/area/awaymission/gateroom) @@ -570,7 +570,7 @@ "kX" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock) "kY" = (/obj/structure/stool/bed/chair,/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock) "kZ" = (/obj/structure/stool/bed/chair{dir = 8},/turf/simulated/shuttle/floor{icon_state = "floor3"},/area/awaymission/arrivalblock) -"la" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/awaymission/southblock) +"la" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/awaymission/southblock) "lb" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock) "lc" = (/turf/simulated/floor/plasteel{tag = "icon-whitehall (WEST)"; icon_state = "whitehall"; dir = 8},/area/awaymission/southblock) "ld" = (/turf/simulated/floor/plasteel{icon_state = "whitehall"; dir = 4},/area/awaymission/southblock) diff --git a/_maps/map_files/Asteroidstation/Asteroidstation.dmm b/_maps/map_files/Asteroidstation/Asteroidstation.dmm index 40ff181066b..96338fdbc7d 100644 --- a/_maps/map_files/Asteroidstation/Asteroidstation.dmm +++ b/_maps/map_files/Asteroidstation/Asteroidstation.dmm @@ -4251,7 +4251,7 @@ "bDM" = (/obj/machinery/door_control{dir = 2; id = "Mechbay"; name = "Mech Bay Door Control"; pixel_x = -24; pixel_y = 0; req_access_txt = "29"},/turf/simulated/floor/plasteel,/area/assembly/chargebay) "bDN" = (/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel,/area/assembly/chargebay) "bDO" = (/turf/simulated/floor/plasteel,/area/assembly/chargebay) -"bDP" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/assembly/assembly_line) +"bDP" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/assembly/assembly_line) "bDQ" = (/obj/machinery/camera{c_tag = "Robotics Morgue"; dir = 2; network = list("SS13","RD")},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/assembly/assembly_line) "bDR" = (/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/assembly/assembly_line) "bDS" = (/obj/machinery/door/window/southleft{name = "Robotics Deliveries"; req_access_txt = "29"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/assembly/assembly_line) @@ -5438,7 +5438,7 @@ "caD" = (/obj/structure/cable/cyan{tag = "icon-1-2"; icon_state = "1-2"},/obj/structure/cable/cyan{tag = "icon-1-4"; icon_state = "1-4"},/turf/simulated/floor/plating,/area/maintenance/asteroidstation/medbay) "caE" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/structure/cable/cyan{tag = "icon-2-8"; icon_state = "2-8"},/turf/simulated/floor/plating,/area/maintenance/asteroidstation/medbay) "caF" = (/obj/machinery/power/apc{dir = 1; name = "Genetics Research APC"; pixel_x = 0; pixel_y = 25},/obj/structure/cable/cyan{tag = "icon-0-2"; icon_state = "0-2"},/turf/simulated/floor/plating,/area/medical/genetics) -"caG" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) +"caG" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "caH" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "caI" = (/obj/machinery/camera{c_tag = "Medbay Morgue"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "caJ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) @@ -5586,7 +5586,7 @@ "cdv" = (/obj/item/clothing/head/ushanka,/obj/item/clothing/under/soviet,/turf/simulated/floor/plating,/area/hallway/primary/aft{name = "Aft Hallway"}) "cdw" = (/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka,/obj/item/toy/snappop,/turf/simulated/floor/plating,/area/hallway/primary/aft{name = "Aft Hallway"}) "cdx" = (/obj/structure/table/glass,/obj/item/weapon/storage/box/bodybags{pixel_x = 3; pixel_y = 3},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"cdy" = (/obj/structure/crematorium,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"cdy" = (/obj/structure/bodycontainer/crematorium,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "cdz" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "cdA" = (/obj/structure/closet/wardrobe/chaplain_black,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "cdB" = (/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) @@ -5683,7 +5683,7 @@ "cfo" = (/obj/machinery/atmospherics/pipe/simple/supplymain/hidden,/obj/structure/disposalpipe/segment,/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "neutral"; dir = 4},/area/hallway/primary/aft{name = "Aft Hallway"}) "cfp" = (/obj/machinery/portable_atmospherics/canister/air,/turf/simulated/floor/plating,/area/hallway/primary/aft{name = "Aft Hallway"}) "cfq" = (/obj/machinery/portable_atmospherics/scrubber,/turf/simulated/floor/plating,/area/hallway/primary/aft{name = "Aft Hallway"}) -"cfr" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"cfr" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "cfs" = (/obj/machinery/camera{c_tag = "Chapel Crematorium"; dir = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "cft" = (/obj/machinery/alarm{dir = 4; icon_state = "alarm0"; pixel_x = -22},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "cfu" = (/obj/item/device/flashlight/lamp/green{pixel_x = 1; pixel_y = 5},/obj/item/weapon/storage/fancy/crayons,/obj/structure/table/wood,/turf/simulated/floor/fancy/carpet,/area/chapel/main) diff --git a/_maps/map_files/Asteroidstation/z6.dmm b/_maps/map_files/Asteroidstation/z6.dmm index 8ca97b0aa8c..f8b85b35692 100644 --- a/_maps/map_files/Asteroidstation/z6.dmm +++ b/_maps/map_files/Asteroidstation/z6.dmm @@ -249,7 +249,7 @@ "eO" = (/turf/simulated/floor/airless{icon_state = "damaged4"},/area/space) "eP" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel,/area/derelict/arrival) "eQ" = (/obj/machinery/door/morgue{name = "coffin storage"; req_access_txt = "22"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/derelict/medical/chapel) -"eR" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/derelict/medical/chapel) +"eR" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/derelict/medical/chapel) "eS" = (/obj/structure/table,/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) "eT" = (/turf/simulated/floor/airless{icon_state = "white"},/area/space) "eU" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless{icon_state = "damaged2"},/area/derelict/hallway/primary) diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 2c83d827d2b..d5673e1c26c 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -273,7 +273,7 @@ "afm" = (/obj/machinery/door/firedoor,/obj/machinery/door/airlock/glass_security{name = "Prison Wing"; req_access_txt = "2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "red"; dir = 5},/area/security/prison) "afn" = (/obj/machinery/status_display{density = 0; layer = 3; pixel_x = -32; pixel_y = 0},/obj/structure/window/reinforced,/obj/machinery/flasher/portable,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "afo" = (/obj/machinery/flasher/portable,/obj/structure/window/reinforced,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) -"afp" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/bulletproof,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/bulletproof,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet/bulletproof,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) +"afp" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_x = -30; pixel_y = 0},/obj/machinery/camera{c_tag = "Brig Control Room"; dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/rack,/obj/item/clothing/mask/gas/sechailer{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas/sechailer{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas/sechailer{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas/sechailer{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "afq" = (/obj/structure/rack,/obj/item/weapon/gun/energy/laser{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/laser,/obj/item/weapon/gun/energy/laser{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "afr" = (/obj/structure/rack,/obj/item/weapon/gun/energy/gun{pixel_x = -3; pixel_y = 3},/obj/item/weapon/gun/energy/gun,/obj/item/weapon/gun/energy/gun{pixel_x = 3; pixel_y = -3},/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "afs" = (/obj/machinery/door/window/southleft{name = "Armory"; req_access_txt = "3"},/turf/simulated/floor/plasteel{dir = 10; icon_state = "warning"},/area/ai_monitored/security/armory) @@ -300,7 +300,7 @@ "afN" = (/obj/machinery/door/firedoor,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/sign/securearea{pixel_x = -32; pixel_y = 0},/obj/machinery/door/poddoor/preopen{id = "Prison Gate"; name = "prison blast door"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/security/brig) "afO" = (/obj/machinery/door/firedoor,/obj/machinery/door/poddoor/preopen{id = "Prison Gate"; name = "prison blast door"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "delivery"; name = "floor"},/area/security/brig) "afP" = (/turf/simulated/wall/r_wall,/area/security/warden) -"afQ" = (/obj/machinery/requests_console{department = "Security"; departmentType = 5; pixel_x = -30; pixel_y = 0},/obj/machinery/camera{c_tag = "Brig Control Room"; dir = 4},/obj/machinery/light{icon_state = "tube1"; dir = 8},/obj/structure/rack,/obj/item/clothing/mask/gas/sechailer{pixel_x = -3; pixel_y = -3},/obj/item/clothing/mask/gas/sechailer,/obj/item/clothing/mask/gas/sechailer{pixel_x = -3; pixel_y = -3},/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) +"afQ" = (/obj/structure/rack,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet,/obj/item/clothing/suit/armor/bulletproof,/obj/item/clothing/head/helmet,/turf/simulated/floor/plasteel{icon_state = "vault"; dir = 8},/area/ai_monitored/security/armory) "afR" = (/obj/machinery/computer/prisoner,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "afS" = (/obj/machinery/computer/security,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) "afT" = (/obj/machinery/computer/secure_data,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "showroomfloor"},/area/security/warden) @@ -746,7 +746,7 @@ "aor" = (/obj/structure/closet/wardrobe/mixed,/obj/item/clothing/shoes/jackboots,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aos" = (/obj/structure/grille,/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aot" = (/turf/simulated/floor/plating/airless{dir = 4; icon_state = "warnplate"},/area/space) -"aou" = (/turf/simulated/floor/plating/airless{dir = 8; icon_state = "warnplate"},/area/space) +"aou" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 32},/turf/space,/area/space) "aov" = (/obj/structure/table,/obj/effect/spawner/lootdrop/maintenance{lootcount = 2; name = "2maintenance loot spawner"},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/fpmaint2) "aow" = (/obj/machinery/atmospherics/unary/portables_connector/visible,/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/fpmaint2) "aox" = (/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "floorgrime"},/area/maintenance/fpmaint2) @@ -1382,8 +1382,8 @@ "aAD" = (/obj/item/clothing/under/rank/mailman,/obj/item/clothing/head/mailman,/obj/structure/closet,/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aAE" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aAF" = (/obj/structure/stool{pixel_y = 8},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plating,/area/maintenance/fsmaint2) -"aAG" = (/turf/simulated/floor/plating/airless{dir = 2; icon_state = "warnplate"},/area/hallway/secondary/entry) -"aAH" = (/turf/space,/area/hallway/secondary/entry) +"aAG" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity North-West"; dir = 2; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering) +"aAH" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity North East"; dir = 2; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/engine/engineering) "aAI" = (/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) "aAJ" = (/turf/simulated/wall,/area/security/checkpoint2) "aAK" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/security/checkpoint2) @@ -1443,8 +1443,8 @@ "aBM" = (/obj/structure/reagent_dispensers/fueltank,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plating,/area/maintenance/fsmaint2) "aBN" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/wall,/area/chapel/main) "aBO" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"aBP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) -"aBQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"aBP" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) +"aBQ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "aBR" = (/turf/simulated/wall,/area/chapel/main) "aBS" = (/turf/simulated/shuttle/wall{icon_state = "swall_s6"; dir = 2},/area/shuttle/arrival/station) "aBT" = (/turf/simulated/shuttle/wall{icon_state = "swall12"; dir = 2},/area/shuttle/arrival/station) @@ -1678,7 +1678,7 @@ "aGn" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "aGo" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "aGp" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{dir = 1; icon_state = "chapel"},/area/chapel/main) -"aGq" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/snacks/grown/harebell,/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/chapel/main) +"aGq" = (/obj/structure/table/glass,/turf/simulated/floor/plasteel{dir = 4; icon_state = "chapel"},/area/chapel/main) "aGr" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/chapel/main) "aGs" = (/turf/space,/area/shuttle/escape/station) "aGt" = (/obj/effect/landmark{name = "Marauder Entry"},/turf/space,/area/space) @@ -1738,7 +1738,7 @@ "aHv" = (/obj/structure/stool/bed/chair/office/dark,/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library) "aHw" = (/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/floor/wood,/area/library) "aHx" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/turf/simulated/floor/wood,/area/library) -"aHy" = (/obj/structure/crematorium,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) +"aHy" = (/obj/structure/bodycontainer/crematorium,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) "aHz" = (/obj/structure/disposalpipe/segment,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) "aHA" = (/obj/machinery/disposal,/obj/structure/disposalpipe/trunk,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) "aHB" = (/obj/effect/landmark/start{name = "Chaplain"},/obj/structure/stool/bed/chair,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) @@ -1746,7 +1746,6 @@ "aHD" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) "aHE" = (/obj/structure/closet/coffin,/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "aHF" = (/obj/structure/stool/bed/chair{dir = 4},/turf/simulated/floor/plasteel{dir = 8; icon_state = "chapel"},/area/chapel/main) -"aHG" = (/obj/structure/table/glass,/obj/item/weapon/reagent_containers/food/snacks/grown/poppy,/turf/simulated/floor/plasteel{icon_state = "chapel"},/area/chapel/main) "aHH" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) "aHI" = (/turf/simulated/shuttle/wall{icon_state = "swall2"; dir = 2},/area/shuttle/arrival/station) "aHJ" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor/plasteel{dir = 8; icon_state = "warning"},/area/hallway/secondary/entry) @@ -1968,13 +1967,12 @@ "aLR" = (/obj/structure/stool/bed/chair/office/dark{dir = 1},/obj/structure/disposalpipe/segment,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/turf/simulated/floor/wood,/area/library) "aLS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/turf/simulated/floor/wood,/area/library) "aLT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/wood,/area/library) -"aLU" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) +"aLU" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) "aLV" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 1; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/office) "aLW" = (/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/chapel/office) "aLX" = (/obj/machinery/camera{c_tag = "Chapel North"; dir = 2; network = list("SS13")},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 4; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/chapel/main) "aLY" = (/turf/simulated/wall,/area/hallway/secondary/exit) "aLZ" = (/obj/structure/grille,/obj/structure/window/reinforced/fulltile,/turf/simulated/floor/plating,/area/hallway/secondary/exit) -"aMa" = (/turf/simulated/floor/plating/airless{dir = 1; icon_state = "warnplate"},/area/hallway/secondary/entry) "aMb" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/plasteel,/area/hallway/secondary/entry) "aMc" = (/obj/structure/table/wood,/turf/simulated/floor/plasteel{icon_state = "grimy"},/area/hallway/secondary/entry) "aMd" = (/obj/structure/table/wood,/obj/item/weapon/reagent_containers/food/snacks/chips,/obj/item/weapon/reagent_containers/food/drinks/soda_cans/cola,/turf/simulated/floor/fancy/carpet,/area/hallway/secondary/entry) @@ -3102,8 +3100,8 @@ "bhH" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/checkpoint/medical) "bhI" = (/turf/simulated/floor/plasteel,/area/security/checkpoint/medical) "bhJ" = (/obj/machinery/computer/secure_data,/obj/item/device/radio/intercom{pixel_x = 25},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/checkpoint/medical) -"bhK" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) -"bhL" = (/obj/structure/morgue,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) +"bhK" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) +"bhL" = (/obj/structure/bodycontainer/morgue,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bhM" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bhN" = (/turf/simulated/floor/plating,/area/storage/emergency) "bhO" = (/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/plating,/area/storage/emergency) @@ -3251,7 +3249,7 @@ "bkA" = (/obj/machinery/power/apc{dir = 8; name = "Medbay Security APC"; pixel_x = -25},/obj/structure/cable{icon_state = "0-4"; d2 = 4},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 8},/area/security/checkpoint/medical) "bkB" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor/plasteel,/area/security/checkpoint/medical) "bkC" = (/obj/structure/reagent_dispensers/peppertank{pixel_x = 30; pixel_y = 0},/obj/machinery/atmospherics/unary/vent_pump{on = 1},/turf/simulated/floor/plasteel{icon_state = "red"; dir = 4},/area/security/checkpoint/medical) -"bkD" = (/obj/structure/morgue,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) +"bkD" = (/obj/structure/bodycontainer/morgue,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 5},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bkE" = (/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (EAST)"; dir = 4},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bkF" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/medical/morgue) "bkG" = (/obj/machinery/mech_bay_recharge_port,/obj/structure/cable,/turf/simulated/floor/plating,/area/assembly/chargebay) @@ -4172,7 +4170,6 @@ "bCl" = (/obj/structure/rack,/obj/effect/spawner/lootdrop/maintenance{lootcount = 3; name = "3maintenance loot spawner"},/turf/simulated/floor/plating,/area/maintenance/asmaint2) "bCm" = (/obj/structure/grille{density = 0; icon_state = "brokengrille"},/turf/simulated/floor/plating/airless,/area/space) "bCn" = (/obj/structure/grille,/turf/simulated/floor/plating/airless,/area/space) -"bCo" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 32},/turf/simulated/floor/plating/airless{dir = 2; icon_state = "warnplate"},/area/space) "bCp" = (/obj/structure/table,/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/obj/machinery/requests_console{department = "Mining"; departmentType = 0; pixel_x = -30; pixel_y = 0},/obj/machinery/light{dir = 8},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock) "bCq" = (/obj/structure/stool/bed/chair/office/dark{dir = 8},/obj/effect/landmark/start{name = "Shaft Miner"},/turf/simulated/floor/plasteel,/area/quartermaster/miningdock) "bCr" = (/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel,/area/quartermaster/miningdock) @@ -6206,8 +6203,6 @@ "cpr" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/solar/starboard) "cps" = (/obj/structure/grille,/obj/structure/cable{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cpt" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/plating/airless,/area/engine/engineering) -"cpu" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity North-West"; dir = 2; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/space) -"cpv" = (/obj/machinery/camera/emp_proof{c_tag = "Singularity North East"; dir = 2; network = list("Singularity")},/turf/simulated/floor/plating/airless,/area/space) "cpw" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cpx" = (/obj/structure/grille,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"},/turf/simulated/floor/plating/airless,/area/engine/engineering) "cpy" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{dir = 5},/turf/simulated/wall/r_wall,/area/engine/engineering) @@ -6303,7 +6298,6 @@ "crk" = (/obj/machinery/power/apc{dir = 1; name = "MiniSat External Power APC"; pixel_y = 29},/obj/structure/cable{icon_state = "0-2"; d2 = 2},/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "crl" = (/obj/machinery/alarm{frequency = 1439; pixel_y = 23},/obj/machinery/camera{c_tag = "MiniSat Entrance"; dir = 2; network = list("MiniSat"); pixel_x = 0; pixel_y = 0},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "crm" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) -"crn" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'RADIOACTIVE AREA'"; icon_state = "radiation"; name = "RADIOACTIVE AREA"; pixel_x = 0; pixel_y = 0},/turf/simulated/wall/r_wall,/area/space) "cro" = (/obj/machinery/door/airlock/external{name = "MiniSat External Access"; req_access = null; req_access_txt = "65;13"},/turf/simulated/floor/plating,/area/aisat) "crp" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/supply/hidden{tag = "icon-manifold-b-f (WEST)"; dir = 8},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) "crq" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 8; on = 1},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/aisat) @@ -6471,7 +6465,7 @@ "cuw" = (/obj/structure/grille,/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/structure/window/fulltile,/turf/simulated/floor/plating,/area/engine/engineering) "cux" = (/obj/structure/shuttle/engine/heater,/obj/structure/window/reinforced{dir = 1; layer = 2.9},/turf/simulated/floor/plating/airless,/area/shuttle/laborcamp/station) "cuy" = (/obj/structure/grille,/obj/structure/window/shuttle,/turf/simulated/shuttle/plating,/area/shuttle/mining/station) - + (1,1,1) = {" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6547,17 +6541,17 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabqabrabqaaHabsaaiabtaasaasabuabvabwaasabxabyabzaasabAabBaaiaafaaaaaaaaaaaaaaaaaaaaaabmabCabDabEabFabnabGabHabIabJabKabnaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafabLaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaabeabeabdabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHabMabNabOabPabQaaiabRabSabRabRabRabTabRabRabRabUabRabRabVaaiaafaaaaafaafaafaafaaaaafablabWabDabXabCabnabYabZacaacaacbabnaaaaafaahaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdabdabdabdaaaaaaaaaaccaaaaaaaaaabdabdabeabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaafaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdaceabgacfaaHacgaaiachaasaciabRacjackaclabRacmacnacoabRacpaaiacqacqacqacqacqacqacqacqacqacrabDacsabCaboactacuacvacaacwabnaaaaafacxacyacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaaaaaafaafaafaaaaaaaccaafaafaaaaafaafaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaczaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaafaaHacAacBacCaaHacDaaiacEaasacFabRacGackacFabRacHacnacFabRacIaaiacJacKacLacLafpacNacOacPacqacQabDacsabCaboacRacSacTacaacUabnaafaafacxacVacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafacXaafacWacWacWacWacWaafabdaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaczaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaafaaHacAacBacCaaHacDaaiacEaasacFabRacGackacFabRacHacnacFabRacIaaiacJacKacLacLafQacNacOacPacqacQabDacsabCaboacRacSacTacaacUabnaafaafacxacVacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafacXaafacWacWacWacWacWaafabdaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabeabdabdaaaaaaaaaacYaaaaaaaaaabdabdabeabeabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHaaHacdacZaaHadaaaiadbadcaddabRadbadeaddabRadbadfaddabRabRaaiacJadgadhadhadhadhadiadjacqadkabDacsabCabnadladmadnadoadpabnabmabladqacyacxacxadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafadsadtadtadtadtaduadvadwadxadxadxadxadyaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaafaafaaaaaaaaaacYaafaafaaaaafaafaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzadAadBadCadDadEadFadGadDadHadIadJadDadKadLadMadNaaiadOadPadQadRadSadTadUadVadWabDadXadYablabnadZabnaeaabnaebabnaecaedablaeeaefaegaegaehaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeiaeiaeiaeiaeiaafadvaafaeiaeiaeiaeiaeiaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaafaekaafaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaelaemaenaeoaepaeqaeoaeraepaeoaeoaeoaepaesaetaeuaevaaiaewaexaeyaezaeAaeBaeCaeDacqaeEaeFaeGablaeHaeIaeJaeKaeLaeMaeJaeNaeOaePaeQaeRaeSaeTaeUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaafadvaaaaaaaaaaafaaaaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeVaeWaeWaeWaeWaeXaeYaeZafaafaafaafaafbaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcaaiaaiaaiaaiafdafeaffafgafhafiafjafkafkafkabRaflafmaaiafnafoacMafqafrafsaftafuacqafvafwafxablafyafzafAafBafCafDafEafFafGablafHafIaegaegafJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafadvaafacWacWacWacWacWaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafafKafKafKafKafKaafaeYaafafKafKafKafKafKaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaiaaiaddafLadbafMafMafMafMafMafMafMafNafOafPafQafRafSafTafUafVafWafXafPafYafZagaagbagcagdafAageafCagfaggaghabladqacxacxacxadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafadsadtadtadtadtaduadvadwadxadxadxadxadyaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafafKafKafKafKafKaafaeYaafafKafKafKafKafKaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaiaaiaddafLadbafMafMafMafMafMafMafMafNafOafPafpafRafSafTafUafVafWafXafPafYafZagaagbagcagdafAageafCagfaggaghabladqacxacxacxadraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafadsadtadtadtadtaduadvadwadxadxadxadxadyaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaafaeYaaaaaaaaaaafaaaaaaaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaafaaaaaaaaiagiagjagkafMaglagmagnagoagpafMagqagragsagtaguagvagwafVagxafWagyagzagAagBagCagDagEagFagGagHagIagJagKagLagMagNagOagPacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeiaeiaeiaeiaeiaafadvaafaeiaeiaeiaeiaeiaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaafaeYaafaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafaafaafaafaaiagQagRagSafMagTagUagVagWagXafMagqagYagZahaahbahcahdaheaheahfahgahhahiahjahkahlahmahnahmahoahpahpahqahrablablaeQahsacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaaaadvaaaaaaaaaaafaaaaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeVaeWaeWaeWaeWaeXaeYaeZafaafaafaafaafbaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaiahtagRahtafMagTagUahuagWahvafMahwahxahyahzahAahBahCahDahEahFahGahHahIahJahKahLahMahNahOahPahQahRahSahTahUahVahWahXahYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafacWacWacWacWacWaafadvaafacWacWacWacWacWaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafafKafKafKafKafKaafaeYaafafKafKafKafKafKaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaafaaaaaaaaiahZaiaaibafMaicaidaidaieagXafMaifaigafPaihaiiaijaikaikailaimafPafPainaioadqadqadqablablablablablablablablaipaiqairahYaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaafadsadtadtadtadtaduadvadwadxadxadxadxadyaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaaaaeYaaaaaaaaaaafaaaaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaisaisaisaisaisaagaagaitaitaiuaitaivaiwafMafMafMafMafMafMaixaiyafMaizaiAaiBaiBaiBaiBaiBaiBaiBaiBaiCaiDaiEaiFaiBaigaiwaiGaiHaiIaiJaiKaiLaiMaiNaipaiqairahYaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaeiaeiaeiaeiaeiaafadvaafaeiaeiaeiaeiaeiaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaaaaaaaafaaaaaaaaaaeYaaaaaaaaaaafaaaaaaaaaabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaitaitaiuaitaivaiwafMafMafMafMafMafMaixaiyafMaizaiAaiBaiBaiBaiBaiBaiBaiBaiBaiCaiDaiEaiFaiBaigaiwaiGaiHaiIaiJaiKaiLaiMaiNaipaiqairahYaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaeiaeiaeiaeiaeiaafadvaafaeiaeiaeiaeiaeiaaaabpaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaejaejaejaejaejaafaeYaafaejaejaejaejaejaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafaitaiRaiSaiTaiUaiVaiWaiXaiYaiZajaajbajcajdajeajfajgajhajiajhajhajhajhajhajhajjajhajgajkajiajlajmajnajoajpajqajrajsajtajuaipaiqairacxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaafaaaaafaafaaaaaaadvaaaaaaaafaaaaaaaafaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafaeVaeWaeWaeWaeWaeXaeYaeZafaafaafaafaafbaafabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaiOaiPaiPaiPaiQaaaaafaivajyajzajAajBajCajDajEajFajGajHajIajJajKajLajIajJajMajLajIajJajNajOajOajOajPahxajQajRajSajTajUajVajWajVajVajVajXajYaiLaipaiqairahYaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabdaaaaaaaafaaaaaaadvaaaaafaafaafaafabdabdabdaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaaaafKafKafKafKafKaafaeYaafafKafKafKafKafKaaaabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvajwajZajxajvaiuaiuakaakbakcakdakeaiwafMakfafMafMakgakhakiakjakkaklakiakjakkakmaknakjakoakpakjakqakrakjaksaktakuaiwakvakwaiLakxaiLakyakzaiLaipaiqairahYaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaafaaaaaaakAaaaaaaaafaaaaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6567,9 +6561,9 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaafalialiamialialiaaaaafaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaakCamEamkanOajvaiuaiuaiuamlammamnamoaivaiwaiwaiwaiwampampampamqampampampamrampampampamqampampampamsamsamtamuamuamuamvalZamaalZaiNalZalZambaiNacxaiqamwaeQamxamyamxaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafalFalFalGalFalFaafaaaaaaaafaaaaafaaaaaaaaaaaaaafaafaaaaaaalgamhalgaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafamzamAamBamCamzamDamDaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaajvanfamkamkbDRamFakGamFakbakHakIakHamGamsamsamsamHamsamsamIamsamsamsamsamsamsamsamJamsamKamsamLamsamsamsamsamsamsamMaiNamNamOamPamQaiNamRaiNamSamTamUamVamVamWacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafamXamYamZanaamXaafaaaaaaaafaaaaafaaaaafaaaaaaaaaaafalgalgalgamhalgalgalgalgalgalgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamDamDamDamDamDaafaafamzanbancandamzaneamDaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaajvcuxcuxcuxajvaiuaiuanganhanianjankaitanlanlanlanlanlanmannanlanlanlanlanlanlanlanoanpanpanpanqanranpansantanuanvamvanwanxaipaipaipaipaipaipacxanyanzacxanAanBacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafamXanCanDanEamXaafaaaaaaaafaaaaafaaaaafalgalhalgalhalganFamhamhamhamhamhamhanGalgaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaagaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaamDamDamDamDanHanIanJamDaaaaaaamzanKanLanMamzanNamDaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaoCaoDaoDaoDaoEaaaaafaivaiuanPaitanQanRanRanSanTanSanRanRanUanVanVanVanWanVanVanXanYanZaoaamVaobamVamVamVamVaocamVamVamVamVamVaodaoeaofaogaohaohaoiaojaokaolaomacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaamXaonaooaopamXaoqaoqaoqaoqaoqalhalhalhalgaoramhanGalgalgamhalgalgalgalgaosalgalgaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaaaaaaaafaaaaaaaaaaouaafaaaaaaaaaaaaaaaaafamDaovaowaoxanNaoyanNamDaozaozamzamzaoAaoBamzanNamDamDaozaozaozamDamDaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaafaitaoFakGaitaoGanRaoHaoIaoIaoIaoJanRaoKaoLaoMaoNaoOaoPanVampamsaoQaoRaoSagOagOagOagOagOaoTaoUagOagOagOagOagOaoVaoWaoXaoYaoZapaapbacxapcapdacxaafapeapfapfapgapfapfaphaaaaaaaaaaaaaaaaafalhapialhaaaaoqamXamXapjapkamXaplamhamhamhalgapmamhapnalgamhamhamhapoalgamhalgappapqalgamhapralgaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotapsaptapuaafapvapwapxaouaafaozapyaozaaaaaaaafamDapzapAapBapCapDapEamDapFanNapGapHapIanNanNanNanNanNanNanNanNanNamDaaaapJaaaaaaaaaaaaaaaaaaaafaagaagapKapKapKapKapKaagaagaitaoFapLaitapManRapNapOapPapQapRanRapSanVapTapUapVapWapXampamsamuaoRahsapYapYapYapYapYapZaqaapYapYapYapYapYapYapYapYaqbaqcaqdaqeaqeaqeaqeaqeaqfaqgaqhaqhaqhaqhaqhaqgaqbaaaaaaaaaaaaaafaqiamhalhaaaaoqaqjaqkaqlaqmamhamhamhalgamhalgaqnamhamhalgamhaqoaqpaqqaosamhalgaqraqsalgamhaqtalgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaamDamDamDamDanHanIanJamDaaaaaaamzanKanLanMamzanNamDaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaoCaoDaoDaoDaoEaaaaafaivaiuanPaitanQanRanRanSanTanSanRanRanUanVanVanVanWanVanVanXanYanZaoaamVaobamVamVamVamVaocamVamVamVamVamVaodaoeaofaogaohaohaoiaojaokaolaomacxaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaamXaonaooaopamXaoqaoqaoqaoqaoqalhalhalhalgaoramhanGalgalgamhalgalgalgalgaosalgalgaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafamDaovaowaoxanNaoyanNamDaozaozamzamzaoAaoBamzanNamDamDaozaozaozamDamDaaaaafaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaafaitaoFakGaitaoGanRaoHaoIaoIaoIaoJanRaoKaoLaoMaoNaoOaoPanVampamsaoQaoRaoSagOagOagOagOagOaoTaoUagOagOagOagOagOaoVaoWaoXaoYaoZapaapbacxapcapdacxaafapeapfapfapgapfapfaphaaaaaaaaaaaaaaaaafalhapialhaaaaoqamXamXapjapkamXaplamhamhamhalgapmamhapnalgamhamhamhapoalgamhalgappapqalgamhapralgaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafapsaptapuaaaapvapwapxaafaafaozapyaozaaaaaaaafamDapzapAapBapCapDapEamDapFanNapGapHapIanNanNanNanNanNanNanNanNanNamDaaaapJaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaafaitaoFapLaitapManRapNapOapPapQapRanRapSanVapTapUapVapWapXampamsamuaoRahsapYapYapYapYapYapZaqaapYapYapYapYapYapYapYapYaqbaqcaqdaqeaqeaqeaqeaqeaqfaqgaqhaqhaqhaqhaqhaqgaqbaaaaaaaaaaaaaafaqiamhalhaaaaoqaqjaqkaqlaqmamhamhamhalgamhalgaqnamhamhalgamhaqoaqpaqqaosamhalgaqraqsalgamhaqtalgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaquaqvaqwaqvaquaqxaqyaqxaquaafaqzanNaozaaaaaaamDamDamDamDamDaqAaqBaqCaqCaqDaqEaqFaqEaqGaqHaqIaqJamDanNamDamDamDanNamDaaaaafaaaaaaaaaaaaaaaaaaaafaaaaafaafaafaafaqKaqKaqKaqKaqKaqKaqKaqKaqLanRaqMapOaqNaqOaqPanRapSaqQaqRaqSaqTaqUapXampamsaqVaoRahsapYaqWaqXaqYaqZaraarbapYarcardareapYarfargarhaqbariarjarkarlarmarnaroarpaqgaqhaqhaqhaqhaqhaqgaqbaafaafaafaafalhalhapialhalhaoqarqamharramhanFamhalgalgarsalgalgartalgalgaqqaruarvamhalgamharwarwarwarwarwarwarwarwarwabsabsabsabsaagabsabsaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxaqvaryaqvarxaqxarzaqxarxamDaozapyaozaozaozamDarAarBarBarBarBarBarBarCarDamDamDamDamDamDarEamDamDanNarFamDarGanNamDamDamDaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaqKarHarIaqKarJarKarLaqKaqLanRarMarNarOarOarParQarRarSarTarTarUarTapXampamsarVaoRahsapYarWarXarYarZasaasbapYascasdaseapYasdasfasgaqbashasiasjaskaskaskaslasmaqgaqhaqhaqhaqhaqhaqgaqbaqbaqbaaaaaaalhamhamhamhaplaoqasnaqqarramhasoaspasqaosamhamhamhamhasramhamharuassamhastamharwasuasvaswarwasxasyaszarwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxasAasBasCarxasDasEasFarxasGanNanNasHasHarFasIasJasKasLasLasLasLasLasLasMasNasOaagasPamDasQasRasSanNasIamDasTanNanNanNaozaaaaaaaaaaaaaaaaafaaaaaaaafaaaaqKaqKaqKasUasUaqKasUasUasUaqKasVanRasWasXasYasZataatbatcatdanVateatfatganVathamsamuaoRahsapYapYapYapYapYatiatjapYatkatlatmapYapYatnatmaqbatoatpatqatratratsattatuatvaqhaqhaqhaqhaqhatwatxatyatzaaaaaaalhamhamhatAamhaoqatBamhatCatDatDatDatDatEatDatFamhamhamhamhamhamhamhamhalgasparwatGatHatHarwatIatJatKarwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6578,39 +6572,39 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavYavZavZavZawaavZavZavZawbawcawdawbawbawbaweamDawfatUanNawgawhanNawiamDasJawjasLasLasLasLasLasLasNanNawhawkanNanNawlawmawnawoawpawpawpawqawpawrawpawpawsawtawuawvawvawvawvawvawvawwawxawyawzawzawzawzawzawzawzawAawzawBawBawBawBawBawCawDawEawFawGapYapYapYapYapYawHawIawJawKawLawMawNawOawPawQawRawSawTawUawVawVawWawXawYawZaqhaqhaqhaqhaqhaxaaxbaxcatzaaaaaaalgamhamhamhamhamhamhavPatDatDatDatDatDatDatDaxdamhamhamhamhastamhamharraxeaxfaxgaxhaxiaxjatHatHatHaxkarwaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafavYaxlaxmaxlaxnaxmaxmaxoaxlaxmaxpaxqaxraxraxsamDawfatUaxtanNanNaxuaxvamDaxwarBarBarBarBarBarBaxxatUaxyanNamDasGasGaxzapSaqKaxAaxBaxCaxCaxDaxCaxEaxCaxCaxFaxAaxGaxHaxHaxHaxHaxHaxHaxHawlaxIaxJaxKaxLaxMaxNaxOaxPaxQaxRaxSaxTaxUaxVaxWaxXamsaxYacxaeQapYaqWaqXaxZaqZayaaybaycaycaycaydayeayfaygayhauwayiayjaykaylaymaynattayoaypaqhaqhaqhaqhaqhaypaqbaqbaqbalgalgalganFalgalgaosalgalgarralgalgayqalgalgaosalgarravGalgalgaosalgamhavGarraxeayrarwaysavSaytayuayvavSaywarwaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxavYayxavYayyayzayAayBavYayxavYayCayDaxnayEamDawfawjayFasLasLasNayGayGalgastalgayGayGayGayGayHayIavcauZauZauZauZayJapSarHaxAaaaaafaaaayKaaaayLaaaaafaaaaxAaxGaxHayMayNayOayPayQaxHawlayRaySayTayUayVayWayXayYayYayZazaazaazaazbaxWazcamsazdacxaeQapYarWarYarYazeasaazfazgazhaziazjazkazlazlazmazlaqbaznazoazpazqazrazsaqbaypaqhaqhaqhaqhaqhaypaqbaqtamhaxfaztalgalgalgaqtamhalgaqtarralgazuamhalgazvamhalgazwazxalgazyamhalgaosaosarrazzazAarwazBavSazCazDazCavSazEarwaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafazFaquazGatMavYavYavYavYavYavYatMazGavYaquazHazIamDazJazKazLazMatRazNayGazOazPazQazRazSazTazOayGazUazVazWawpawpawpawpawpazXazYaxAaafazZazZaAaazZaAbazZazZaafaxAaxGaxHaAcaAdaAeaAfaAcaxHaAgaAhaAiaAjaAkaAlaAmaAnaAoaApaAqaArazaazaazaaAsazcamsaAtacxaeQapYapYapYapYapYaAuaAvaAwazlazlazlazlazlaAxaAyaAzazlaqbaqbaqbaqbaAAaABaqbaypaqhaqhaqhaqhaqhaypaqbalgamhaACaztalgaADalgamhamhalgamharralgamhamhalgamhamhalgarraspalgamhamhalgaAEamharraxeaAFarwarwarwarwarwarwarwarwarwabsabsabsabsabsaafaafaaaaaaaaaaaaaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaisaisaisaisavYayxavYaAGaAGaAGaAGavYayxavYaAHaquaAIayEaAJaAJaAKaALaAJaAJaAMayGazOazQaANaAOazQazQazOayGaqKaAPaAQaARaARaARaARaARaARaARaASaaaazZaATaAUaAVaAWaAXazZaaaaxAaxGaxHaAcaAYaAZaBaaAcaxHawmazXaxJaBbaBcaBdaBeaBfaAnaBgaBhazaazaaBiazaaAsazcamsazdacxaeQapYaqWaqXaBjaqZayaaBkazlaBlaAyaBmaBmazlaAxaBnaAzazlaBoaBpaBqaBraBsaABaafaBtaBuaBuaBuaBuaBuaBvaaaalgamhaBwaBxalgalgalgalgalgalgaByaBzalgalgalgalgalgalgaBAaBBaBCaBDaBDaBDaBEaBFaBGaBHaBIaBJaBKaBLaBMaBNaBOaBPaBQaBRaBRaBRaisaisaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazFaquazGatMavYavYavYavYavYavYatMazGavYaquazHazIamDazJazKazLazMatRazNayGazOazPazQazRazSazTazOayGazUazVazWawpawpawpawpawpazXazYaxAaafazZazZaAaazZaAbazZazZaafaxAaxGaxHaAcaAdaAeaAfaAcaxHaAgaAhaAiaAjaAkaAlaAmaAnaAoaApaAqaArazaazaazaaAsazcamsaAtacxaeQapYapYapYapYapYaAuaAvaAwazlazlazlazlazlaAxaAyaAzazlaqbaqbaqbaqbaAAaABaqbaypaqhaqhaqhaqhaqhaypaqbalgamhaACaztalgaADalgamhamhalgamharralgamhamhalgamhamhalgarraspalgamhamhalgaAEamharraxeaAFarwarwarwarwarwarwarwarwarwabsabsabsabsabsaafaafaaaaaaaaaaaaaafaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafavYayxavYaaaaaaaafaaaavYayxavYaaaaquaAIayEaAJaAJaAKaALaAJaAJaAMayGazOazQaANaAOazQazQazOayGaqKaAPaAQaARaARaARaARaARaARaARaASaaaazZaATaAUaAVaAWaAXazZaaaaxAaxGaxHaAcaAYaAZaBaaAcaxHawmazXaxJaBbaBcaBdaBeaBfaAnaBgaBhazaazaaBiazaaAsazcamsazdacxaeQapYaqWaqXaBjaqZayaaBkazlaBlaAyaBmaBmazlaAxaBnaAzazlaBoaBpaBqaBraBsaABaafaBtaBuaBuaBuaBuaBuaBvaaaalgamhaBwaBxalgalgalgalgalgalgaByaBzalgalgalgalgalgalgaBAaBBaBCaBDaBDaBDaBEaBFaBGaBHaBIaBJaBKaBLaBMaBNaBOaBQaBPaBRaBRaBRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaBSaBTaBUaBTaBVaBVaBVaBVaBTaBUaBWaBXaquaBYaBZaCaaCbaCcaCdaCeaCfaCgayGazOazQazQaChazQazQazOayGaCiaCjaCkaClaCmaCnaCoaCpaCqaCraASaafazZaCsaCtaCuaCvaCwazZaafaxAaxGaxHaCxaCyaCzaCAaCBaxHapSaCCaxJaCDaCEaCFazaaCFaCGaCHaCIaCJaAsaxWaCKaxWazcamsazdacxaeQapYarWarXarYaCLasaaCMazlaCNaAyaAyaAyazmaCOaCPaCQazlaCRaCSaCTaCUaCVaABaaaaafaaaaafaaaaafaaaaafaaaalgavGaCWaBGaCXaCYalgasoamhavGarramhalgaaaalgaxfaBGaBGaCZaDaaDbaDbaDbaDbaDbaDcaDdaDeaDfaDgaDgaDgaDhaDiaDjaDkaDlaDmaDnaDoaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBSaBTaBTaDpaDqaDraDsaDtaDuaDvaDwaDxaDraDyaDzavYaBYaDAaAJaDBaDCaDDaDEaDFaDGayGaDHazQazQazQazQaDIaDJaDKaDLaDMaDNaCqaCqaCqaCqaCqaCqaCqaASaaaazZaDOaDPaDQaDRaDSazZaaaaxAaxGaxHaDTaDUaDVaDWaDXaxHapSaDYaxJaxJaDZaBhaEaaBhaEbaxJaxJaEcaEdaxWaEeaxWazcamsazdacxaeQapYapYapYapYapYaEfaEgaEhaEiaEjaEkaEkaEkaElazlaEmazlaEnaEoaEpaBraBsaABalgalgalgalgalgalgalgalgalgalgalgalgalgaEqalgalgalgalgaxfaBHaEraEsaEtaEsaEuaEvaEwaEwaExaEyaEyaEyaEyaEyaEzaEAaEBaEBaEBaEBaEBaEBaBRaECaEDaEEaBRaBRaBRapKapKaagaafaafaafaafaafaafaagaisaisaisaisaisaisaisaisaisaisaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaEFaEFaEGaDraEHaDraEHaDraEHaDraEHaDraDyaEIavYaBYaEJaAJaEKaELaEMaENaEOaEPayGaEQazQaERaESaESaETaEUaEVaEWaEXaEYaEZaEZaEZaEZaEZaFaaFbaASaafazZaFcaDPaFdaFeaFfazZaafaxAaFgaFhaFiaFjaDVaFkaFlaFmaFnaFoaxWaFpaFqaEcaEcaEcaFraFsaxWaFtaFtaxWaEcaxWaFuanYaFvacxaeQaeQaeQaeQaeQamSawHaFwaFxaFyaFzaFxaFAaFxaFBaFxaFCazlaFDaFEaFFaBraFGaFHaFIaFJaFKaFLaFMaFNaFNaFNaFNaFOaFPaFNaFNaFQaFRaFSaFTaBDaFUaFVaFWaFXaFYaFXaFZaGaaEyaEyaGbaEyaGcaGdaGeaEyaEBaGfaEBaGgaGhaGiaGjaGkaGlaGmaGnaGoaGpaGqaGraaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaDraDraGuaDraEHaDraEHaGvaEHaDraEHaDraDyaEIavYaBYaGwaAJaAJaGxaGyaGzaGAaAJayGayGayGayGaGBazQazQaGCayGaGDaGEaCqaCqaCqaGFaCqaCqaCqaGGaASaaaazZazZaGHaGIaGHazZazZaaaaxAaxGaxHaGJaGKaGLaGMaGNaxHapSaGOaxWaGPaFqaEcaEcaEcaFraGQaxWaAsaAsaxWaCKaxWaGRaGSaGTacxamSacxacxacxacxacxaGUaGVazlaGWaAyazlaGXazlaGYazlaGZazlaHaaHbaFFaBraHcaHdaHeaHfaHgaHgaHhaHgaHgaHiaHgaHjaHkauHauHauHauHaHlaHmaHnaHoaHpamhaHqaHqaHqaHqaHraEyaHsaHtaHuaHvaHwaHxaEyaHyaHzaEBaHAaHBaHCaHDaGkaHEaECaEDaDlaHFaHGaGraaaaaaaaaaaaaaaaaaaaaaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaHHaHHaHIaDraEHaDraEHaDraEHaDraEHaDraDyaEIavYaHJaHKaHLaHMaHMaHNaHOaxmaHPaHQaHRaHSayGaHTazQazQaHUayGaHVaHWaCqaHXaHYaHZaIaaIbaIcaIdaASaaaaafaaaaIeaIfaIeaaaaafaaaaxAaxGaxHaDVaIgaIhaIiaIjaxHapSasUaxWaIkaIlaEcaEcaEcaImaInaxWaaaaaaaIoaIpaIqaIraIsaItaIuaIvaIoaaaaaaaIwaIxaIyaIzazlaIAaAyaAyaAyaCPaAyaAyaAyazlaBraIBaICaBraBraABaIDaIEaIEaIFaIGaIHaIEaIIaIEaIJaIKaIJaILaIJaIMaHqaHqaINaHqaHqaHqaHqaIOaIPaHqaHraEyaHtaIQaIRaISaITaIUaEyaIVaIWaIXaIYaIZaJaaJbaJcaJdaBOaJeaGoaGpaJfaGraaaaaaaaaaaaaaaaaaaaaaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBSaBTaBTaDpaDqaDraDsaDtaDuaDvaDwaDxaDraDyaDzavYaBYaDAaAJaDBaDCaDDaDEaDFaDGayGaDHazQazQazQazQaDIaDJaDKaDLaDMaDNaCqaCqaCqaCqaCqaCqaCqaASaaaazZaDOaDPaDQaDRaDSazZaaaaxAaxGaxHaDTaDUaDVaDWaDXaxHapSaDYaxJaxJaDZaBhaEaaBhaEbaxJaxJaEcaEdaxWaEeaxWazcamsazdacxaeQapYapYapYapYapYaEfaEgaEhaEiaEjaEkaEkaEkaElazlaEmazlaEnaEoaEpaBraBsaABalgalgalgalgalgalgalgalgalgalgalgalgalgaEqalgalgalgalgaxfaBHaEraEsaEtaEsaEuaEvaEwaEwaExaEyaEyaEyaEyaEyaEzaEAaEBaEBaEBaEBaEBaEBaBRaECaEDaEEaBRaBRaBRaafaafaafaafaafaaaaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaEFaEFaEGaDraEHaDraEHaDraEHaDraEHaDraDyaEIavYaBYaEJaAJaEKaELaEMaENaEOaEPayGaEQazQaERaESaESaETaEUaEVaEWaEXaEYaEZaEZaEZaEZaEZaFaaFbaASaafazZaFcaDPaFdaFeaFfazZaafaxAaFgaFhaFiaFjaDVaFkaFlaFmaFnaFoaxWaFpaFqaEcaEcaEcaFraFsaxWaFtaFtaxWaEcaxWaFuanYaFvacxaeQaeQaeQaeQaeQamSawHaFwaFxaFyaFzaFxaFAaFxaFBaFxaFCazlaFDaFEaFFaBraFGaFHaFIaFJaFKaFLaFMaFNaFNaFNaFNaFOaFPaFNaFNaFQaFRaFSaFTaBDaFUaFVaFWaFXaFYaFXaFZaGaaEyaEyaGbaEyaGcaGdaGeaEyaEBaGfaEBaGgaGhaGiaGjaGkaGlaGmaGnaGoaGpaJfaGraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaDraDraGuaDraEHaDraEHaGvaEHaDraEHaDraDyaEIavYaBYaGwaAJaAJaGxaGyaGzaGAaAJayGayGayGayGaGBazQazQaGCayGaGDaGEaCqaCqaCqaGFaCqaCqaCqaGGaASaaaazZazZaGHaGIaGHazZazZaaaaxAaxGaxHaGJaGKaGLaGMaGNaxHapSaGOaxWaGPaFqaEcaEcaEcaFraGQaxWaAsaAsaxWaCKaxWaGRaGSaGTacxamSacxacxacxacxacxaGUaGVazlaGWaAyazlaGXazlaGYazlaGZazlaHaaHbaFFaBraHcaHdaHeaHfaHgaHgaHhaHgaHgaHiaHgaHjaHkauHauHauHauHaHlaHmaHnaHoaHpamhaHqaHqaHqaHqaHraEyaHsaHtaHuaHvaHwaHxaEyaHyaHzaEBaHAaHBaHCaHDaGkaHEaECaEDaDlaHFaKsaGraafaafaafaaaaafaaaaaaaaaaaaaafaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBVaHHaHHaHIaDraEHaDraEHaDraEHaDraEHaDraDyaEIavYaHJaHKaHLaHMaHMaHNaHOaxmaHPaHQaHRaHSayGaHTazQazQaHUayGaHVaHWaCqaHXaHYaHZaIaaIbaIcaIdaASaaaaafaaaaIeaIfaIeaaaaafaaaaxAaxGaxHaDVaIgaIhaIiaIjaxHapSasUaxWaIkaIlaEcaEcaEcaImaInaxWaaaaaaaIoaIpaIqaIraIsaItaIuaIvaIoaaaaaaaIwaIxaIyaIzazlaIAaAyaAyaAyaCPaAyaAyaAyazlaBraIBaICaBraBraABaIDaIEaIEaIFaIGaIHaIEaIIaIEaIJaIKaIJaILaIJaIMaHqaHqaINaHqaHqaHqaHqaIOaIPaHqaHraEyaHtaIQaIRaISaITaIUaEyaIVaIWaIXaIYaIZaJaaJbaJcaJdaBOaJeaGoaGpaGqaGraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJgaBTaBTaDpaDqaDraDraDraDraDraDraJhaDraDyaJiavYaBYaxmaJjaJkaJkaJkaJkaJkaJkaJkaJlaxmayGaJmaJnaJmayGayGaJoaJpaJqaARaARaARaARaJqaJraJsaASaJtaJuaJuaJvaJwaJvaJuaJuaJxaxAaJyaxHaJzaxHaJAaJAaJBaxHaJCaJDaxWaxWaxWaAsaEaaAsaxWaxWaxWaIoaIoaIoaJEaIsaIsaIsaIsaIsaJFaIoaIoaIoaIwaJGaIyaJHazlazlazlazlazlazlazlazlazlazlaJIaJJaJKaJLaJMaJNaJOaJPaIEaJQaIGaJRaJSaJRaIJaJTaJUaIJaJVaIJaJWaJXaJYaJZaKaaKaaKaaKbaKcaKdaHqaHraEyaKeaIQaKfaISaITaKgaEyaKhaKiaKjaKkaKlaKmaKnaKoaKpaKqaKraDlaHFaKsaGraaaaafaafaafaafaafaafaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJgaBTaBUaBTaBVaBVaBVaBVaBTaBUaKtaKuaquaKvaxmaKwaKxaKxaKyaKxaKzarxaKAaKBaxmaKCaKDaKEaKEaKFaKEaKGaKHaKEaKEaKEaKEaKEaKEaKEaKIaKJaKKaKLaKMaKMaKNaKOaKMaKMaKMaKPaKQaKRaKNaKMaKMaKMaKSaGSaKTaIsaKUaKVaItaIuaIuaIuaIraIsaIsaKWaIsaKXaKYaKZaLaaLbaLcaLdaLeaIsaIsaKWaLfaLgaLhaLiaLjaLkaLlaLmaIsaLnaIsaBraLoaLpaLqaJJaLraLsaLtaLuaLvaLwaIEaLxaLyaLzaLAaLBaIJaLCaJUaLDaLEaIJaHqaLFaLGaLHaLIaLJaLKaLLaLMaLNaHqaHraEyaLOaLPaLQaLRaLSaLTaEyaLUaLVaEBaLWaLWaLWaLWaEBaLXaDjaKraDlaBRaBRaBRaLYaLYaLYaLZaLZaLZaafaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagapKapKapKapKavYayxavYaMaaMaaMaaMaavYayxavYaAHaquaAIaMbaKwaMcaMdaMeaMeaMfarxaMgaKBaMhaMiaKDaMjaMkaMlaMmaMnaMoaKEaKEaKEaKEaKEaKEaKEaKIaKEaKDaKEaKEaKEaMpaMqaMraMraMraMraMsaMraMtaMraMraMuaKDaGSaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaKWaIsaMvaMwaMxaMyaMzaMAaMBaMCaIsaIsaKWaIsaIsaIsaIsaIsaIsaIsaIsaIsaMDaIsaBraLqaLqaLqaMEaMFaMGaMHaMIaMJaMKaIEaMLaIGaMMaIEaIEaIJaMNaJUaMOaLEaMPaIJaHqaHqaHqaHqaHqaHqaMQaMRaVmaHqaHraEyaMTaHtaMUaMVaHtaMWaEyaEBaEBaEBaEBaEBaEBaMXaEBaECaRBaEDaDlaMYaMZaBRaNaaNbaNcaNdaNeaLZaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafazFaquavYatMavYavYavYavYavYavYatMavYavYaquaBYaxmaKwaNfaNgaMeaMeaMfarxaNhaKBaxmaMiaKDaKEaNiaNjaNjaNjaNkaNlaNmaNjaNnaNjaNjaNjaNoaNjaNpaNjaNjaNjaNqaNraNsaNtaNtaNuaNvaNwaNxaNyaKEaNzaKDaGSaIsaNAaIsaNBaNBaNBaNBaNBaNBaNBaNBaNCaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNDaNBaNBaNBaNBaNBaNBaNBaNBaIsaIsaIsaBraNEaNEaNEaNEaNEaNFaNGaJNaLvaNHaIEaNIaNJaNKaIEaNLaIJaNMaNNaNOaLEaNPaIJaHqaNQaNRaNSaNTaNSaNUaNVaNWaHqaHraEyaNXaNXaNYaNZaOaaOaaObaEyaOcaOdaOeaBRaOfaOgaOhaECaECaOiaOjaBRaOkaBRaOlaOmaOnaOnaOoaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafavYayxavYaafaafaaaaaaavYayxavYaafaquaAIaMbaKwaMcaMdaMeaMeaMfarxaMgaKBaMhaMiaKDaMjaMkaMlaMmaMnaMoaKEaKEaKEaKEaKEaKEaKEaKIaKEaKDaKEaKEaKEaMpaMqaMraMraMraMraMsaMraMtaMraMraMuaKDaGSaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaIsaKWaIsaMvaMwaMxaMyaMzaMAaMBaMCaIsaIsaKWaIsaIsaIsaIsaIsaIsaIsaIsaIsaMDaIsaBraLqaLqaLqaMEaMFaMGaMHaMIaMJaMKaIEaMLaIGaMMaIEaIEaIJaMNaJUaMOaLEaMPaIJaHqaHqaHqaHqaHqaHqaMQaMRaVmaHqaHraEyaMTaHtaMUaMVaHtaMWaEyaEBaEBaEBaEBaEBaEBaMXaEBaECaRBaEDaDlaMYaMZaBRaNaaNbaNcaNdaNeaLZaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafazFaquavYatMavYavYavYavYavYavYatMavYavYaquaBYaxmaKwaNfaNgaMeaMeaMfarxaNhaKBaxmaMiaKDaKEaNiaNjaNjaNjaNkaNlaNmaNjaNnaNjaNjaNjaNoaNjaNpaNjaNjaNjaNqaNraNsaNtaNtaNuaNvaNwaNxaNyaKEaNzaKDaGSaIsaNAaIsaNBaNBaNBaNBaNBaNBaNBaNBaNCaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNBaNDaNBaNBaNBaNBaNBaNBaNBaNBaIsaIsaIsaBraNEaNEaNEaNEaNEaNFaNGaJNaLvaNHaIEaNIaNJaNKaIEaNLaIJaNMaNNaNOaLEaNPaIJaHqaNQaNRaNSaNTaNSaNUaNVaNWaHqaHraEyaNXaNXaNYaNZaOaaOaaObaEyaOcaOdaOeaBRaOfaOgaOhaECaECaOiaOjaBRaOkaBRaOlaOmaOnaOnaOoaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxavYayxavYaOpaOqaOraOsavYayxavYaOtaOuaOvaxmaKwaOwaOwaKyaOwaKzarxaOxaKBaxmaOyaOyaOyaOzaOyaOAaOAaOAaOAaOAaOBaOCaOAaODaOAaOAaOAaOEaOFaOGaOFaOHaOIaOJaKEaKEaOKaOLaOMaONaKHaKEaNzaOOaOOaIsaIsaItaIoaIoaIoaIoaIoaIoaIoaIoaOPaOQaORaOSaORaORaORaOTaORaOUaORaOVaOPaIoaIoaIoaIoaIoaIoaIoaIoaIraIsaIsaIEaOWaOXaOYaOYaOYaOYaOYaJNaOZaOYaIEaPaaPbaPcaIJaIJaIJaPdaPeaIJaIJaIJaIJaHqaNSaPfaPgaPgaPgaPhaPiaNSaHqaHraEyaPjaHtaNYaNZaHtaHtaPkaEyaPlaPmaPnaBRaECaPoaPpaPqaPqaPraPsaPtaPuaBRaPvaPwaOnaPxaOnaPyaPzaPzaPyaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafavYaPAaxmavZaOvaxmaxmaPBavZaxmaPAaOvaxmaxmaxmaPCaPDaPDaPDaPDaPDaPDaPDaPEaxmaOyaPFaOyaPGaOAaPHaPIaPJaPKaPLaPIaPMaPNaPOaPPaPQaPRaOEaPSaPTaPUaOHaPVaOJaOJaPWaOJaOJaOOaPXaPYaPZaQaaOOaOOaQbaIsaItaIoaaaaaaaaaaaaaaaaaaaaaaOPaQcaQdaQeaQfaQgaQhaQiaQjaQkaQlaQmaOPaaaaaaaaaaaaaaaaaaaaaaIoaIraIsaQnaIEaQoaOYaOYaOYaOYaOYaQqaJNaOZaQraQsaJNaQtaQuaIJaQvaQwaQxaQyaQzaQAaQBaQCaIJaNSaQDaQEaQEaQEaQFaQGaNSaHqaQHaEyaQIaQIaNYaNZaQJaQJaQKaEyaEyaQLaEyaBRaQMaOgaOhaQNaQNaOiaOjaBRaBRaBRaLZaQOaQPaQQaLZaLZaLZaLZaQRaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaavYaQSaQTaQTaQTaQTaQTaQTaQTaQTaQSaQTaQUaxmaxmaMiaxmaQVaQWaxmaQXaQYaxmaQZaRaaOyaRbaOyaPGaOAaRcaPIaRdaPIaPIaPIaPMaReaPIaPIaPIaPRaOEaRfaPTaPTaOHaPVaOJaRgaRhaRhaRiaOOaRjaRkaRlaRmaRnaRoaIsaIsaItaIoaaaaaaaaaaaaaOPaOPaOPaOPaRpaRqaRraRsaRtaRuaRvaRwaRxaRyaRzaOPaOPaOPaOPaaaaaaaaaaaaaIoaIraIsaIsaRAaOYaRCaRDaREaREaRFaRGaRHaRIaRJaRKaRLaRMaRNaROaRPaRPaRQaRRaRSaRSaRTaRPaRUaRVaRWaRXaRYaRZaSaaQGaNSaHqaHraEyaHtaHtaNYaNZaHtaHtaHtaSbaScaHtaSdaBRaSeaSfaSgaQNaQNaShaSiaSjaBRaSkaSlaPwaOnaSmaOnaSnaPzaPzaSoaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaisaisaquaquavYavYavYavYavYavYavYavYaquaquarxaMiaSpaSqaSqaSraSqaSqaSqaSsaSqaSqaSqaOyaRbaStaSuaOAaSvaPIaSwaSxaSyaSzaSAaSxaPIaPIaPIaSBaOEaSCaSDaSEaOHaPVaOJaSFaSGaSHaSIaOOaSJaSKaSLaSMaSNaRoaIsaIsaItaIoaIoaIwaSOaOPaOPaSPaSQaSRaSSaSTaSUaSVaSWaSUaSXaSUaSUaSYaSZaTaaTbaTcaOPaOPaSOaIwaIoaIoaIraIsaIsaIEaTdaJNaOYaOYaOYaOYaTfaOYaTgaThaTiaTjaTkaTlaTmaTnaToaTpaTqaTraTsaTtaTnaTuaTvaTwaTxaTyaTzaTxaTAaTBaHqaHraEyaTCaTCaNYaNZaTDaHtaHtaTEaHtaTFaTGaBRaTHaTIaTJaQNaQNaTKaTLaECaBRaTMaOnaPwaOnaSmaTNaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaquaquavYavYavYavYavYavYavYavYaquaquarxaMiaSpaSqaSqaSraSqaSqaSqaSsaSqaSqaSqaOyaRbaStaSuaOAaSvaPIaSwaSxaSyaSzaSAaSxaPIaPIaPIaSBaOEaSCaSDaSEaOHaPVaOJaSFaSGaSHaSIaOOaSJaSKaSLaSMaSNaRoaIsaIsaItaIoaIoaIwaSOaOPaOPaSPaSQaSRaSSaSTaSUaSVaSWaSUaSXaSUaSUaSYaSZaTaaTbaTcaOPaOPaSOaIwaIoaIoaIraIsaIsaIEaTdaJNaOYaOYaOYaOYaTfaOYaTgaThaTiaTjaTkaTlaTmaTnaToaTpaTqaTraTsaTtaTnaTuaTvaTwaTxaTyaTzaTxaTAaTBaHqaHraEyaTCaTCaNYaNZaTDaHtaHtaTEaHtaTFaTGaBRaTHaTIaTJaQNaQNaTKaTLaECaBRaTMaOnaPwaOnaSmaTNaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOavYayyaxnaTPaSqaTQaTRaTSaTTaTSaTUaTQaTSaSqaRbaRbaTVaTWaOAaTXaPIaTYaTZaUaaUbaUcaSxaPIaPIaPIaPRaOEaOEaOEaOEaOHaPVaOJaOJaOJaOJaOJaOOaUdaRlaRlaRlaRlaRoaIsaIsaItaIuaIuaUeaUfaUgaOPaUhaUiaUjaUkaUlaUkaUmaUnaUoaUpaUqaUraUsaUqaUtaUuaUvaOPaUwaUfaUxaUyaIuaIraIsaIsaRAaOYaJNaQpaOYaUzaOYaQpaOYaOZaQraUAaOYaOYaOYaUBaUCaUDaUEaUFaUGaUHaUIaUJaIJaUKaULaUMaQEaUNaQEaUOaUPaHqaUQaEyaEyaEyaNYaNZaURaUSaHtaUTaUUaKfaUVaBRaECaUWaSgaQNaQNaShaUXaUYaBRaUZaOnaPwaVaaVbaVcaLZaaaaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaVdavYavYaBYaVeaVfaVgaVhaViaVjaVkaVlaTQaTSaSqaVnaYDaVoaOyaOAaVpaVqaVraVsaVraVtaVuaVtaVtaVtaVvaVwaOAaVxaVyaVzaVAaVBaVCaVDaVEaOyaVFaOOaVGaVHaVIaVJaVJaRoaIsaIsaIsaIsaIsaVKaVLaVMaVNaVOaVPaVQaVRaVSaVTaVUaVVaVWaVXaVYaVZaWaaWbaVQaWcaWdaWeaWfaWgaWhaWiaWjaWkaIsaIsaIEaWlaWmaWnaWoaOYaWpaWqaWoaOZaQraWraWraWsaWtaIJaUCaUCaUCaWuaUCaUCaUIaWvaIJaNSaULaQEaQEaUNaQEaWwaNSaHqaWxaWyaWzaWAaWBaWCaWDaWDaWDaWDaWDaWDaWEaWFaWGaWGaWGaWGaWGaWHaWIaWJaWFaWKaWLaWMaWNaOnaWOaLZaafaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaWPatMaWPaxmaxmaSqaWQaWRaWSaWSaWSaWTaWUaWVaSqaWWaRbaVoaWXaWXaWXaWYaWZaWXaXaaXbaXcaXdaXeaXeaXfaXgaOAaXhaXiaXjaXkaXlaXmaXmaXnaXoaXoaXpaXpaXpaXpaXpaXqaOOaIsaIsaXraXsaXtaXuaXvaXwaOPaXxaXyaXzaXAaXBaXCaXCaXDaXEaXFaXGaXHaXIaXJaXzaXKaXxaOPaXwaXvaXLaXMaXsaXNaIsaIsaRAaOYaXOaTeaOYaOYaOYaTeaOYaOZaOYaQraQraOYaOYaXPaXQaXRaUCaUCaUCaUCaXSaXTaIJaXUaXVaQEaXWaXXaXYaXVaXZaHqaYaaYbaYbaYcaYdaYeaYfaYgaYhaYfaYfaYfaYiaYjaYkaYlaYlaYlaYlaYlaYmaYnaYjaYoaYpaYqaYraOnaYsaLZaaaaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOavYavYavYaBYaxmaYtaTQaYuaWSaWSaWSaYvaYwaTQaSqaYxaYyaVoaWXaYzaYAaYBaYCaWXaYFaYEbeSaOAaYGaYHaYIaSwaOAaYJaYKaYLaYLaYLaYLaYMaYLaYLaYNaYOaYOaYOaYPaYOaYQaYRaKWaKWaYSaYTaYTaYTaYTaYTaYTaYUaYVaYWaYXaXDaYYaYZaYZaZaaZbaYZaYYaXFaZcaZdaZeaZfaZdaZdaZdaZdaZdaZdaZgaKWaKWaIEaZhaZiaZjaZkaOYaOYaOYaZlaZmaZnaOYaZoaZpaZqaIJaIJaIJaZraZsaZsaZsaIJaIJaIJaZtaQEaQEaMSaZuaZvaZwaMSaHqaZxaYbaZyaEyaZzaZAaZBaZCaZDaZEaTEaUSaZFaBRaZGaECaZHaQNaQNaZHaECaZIaBRaZJaZKaZLaSmaOnaOoaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOaTOavYaZMaOvaZNaSqaTSaZOaTSaTQaZPaZQaZRaTSaSqaZSaZTaZUaWXaWXaWXaZVaZWaWXaZXaZYaZZaOAaYGaYHaYIaSwaOAaYJaYKaYLbaababbabbabbacaYLbadbaebafbagaYRaYRaYRaYRaIsaIsbahbaibajbakbalbambanbaobapbaqbarbasaYZaYZbatbaubataYZaYZbavbawbaxbaybazbaAbaBbaCbaDbaEaZdaXNaIsaIsaIEaIEaIEaIEaIEbaFaRAbaFbaGbaHaIEaIEaIEaIEaIEbaIbaJbaJbaJbaJbaJbaJbaKbaJbaIaMSbaLbaLaMSbaMaYbaYbaYbbaIaZxaYbaZyaEyaEyaEybaNbaObaNaEybaNaEyaEyaBRaBRbaPbaPbaPbaPbaPbaPaBRaBRbaQaOnbaRaSmaOnaOnaSoaPzaPzaSoaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagapKapKaquaquavYavYavYavYavYavYavYavYaquaquarxaQVaxmaSqaSqaSraSqaSqaSqaSsaSqaSqaSqbaSbaTbaUaWXbaVbaWaZVbaXaWXbaYbaZbaYaOAaYGaYHaYIaSwaOAaYJaYKaYLbabbbabbababbbaaYLbadbbbbbcbbcbbdbbebbfaYRbbgaIsaXrbbhbbibbjbbkbblbblbbmbbnbbobarbbpaYZaYZbatbbqbataYZaYZbbrbawbbsbbtbbubbvbbwbbxbaEbbyaZdaXNbbzaIsaGSbbAaYbaYbaYbaYbaYbaYbaYbaYbbbBaYbaYbaYbaYbbbCaYbaYbaYbaYbaYbaYbaYbaYbbbAaYbaYbaYbaYbbaMaYbaYbaYbbbDbbEaYbaYbbbFaYbaYbaYbbbGaYbaYbaYbaYbaYbbbCbbHaYbaYbaYbaYbaYbaYbbbAbbIaSlaOnbbJbbKbbLbbMaLZaLZaLZaQRaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaafaafaquaquavYavYavYavYavYavYavYavYaquaquarxaQVaxmaSqaSqaSraSqaSqaSqaSsaSqaSqaSqbaSbaTbaUaWXbaVbaWaZVbaXaWXbaYbaZbaYaOAaYGaYHaYIaSwaOAaYJaYKaYLbabbbabbababbbaaYLbadbbbbbcbbcbbdbbebbfaYRbbgaIsaXrbbhbbibbjbbkbblbblbbmbbnbbobarbbpaYZaYZbatbbqbataYZaYZbbrbawbbsbbtbbubbvbbwbbxbaEbbyaZdaXNbbzaIsaGSbbAaYbaYbaYbaYbaYbaYbaYbaYbbbBaYbaYbaYbaYbbbCaYbaYbaYbaYbaYbaYbaYbaYbbbAaYbaYbaYbaYbbaMaYbaYbaYbbbDbbEaYbaYbbbFaYbaYbaYbbbGaYbaYbaYbaYbaYbbbCbbHaYbaYbaYbaYbaYbaYbbbAbbIaSlaOnbbJbbKbbLbbMaLZaLZaLZaQRaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaavYawcawbawbawbawbawbawbawbawbawcawbbbNbbOaxmbbPaStbbQaXmaXmaXmbbRbbSbbTaOybbUbbVbbWaWXaWXaWXbbXbbYaWXaOAaOAaOAaOAaYGaYHbbZbcaaOAaYJaYKaYLbabbcbbabbbabccaYLbadbcdbbcbbcbbcbcebcfaYRbcgaIsaXrbbhbchbbjbcibcjbckbclbcmbcnbarbcobataYZbcpbcqbcpaYZbatbcrbawbcsbctbcubcvbcwbbxbaEbaEaZdbcxaIsaIsaGSbbAaYbaYbaYbaYbaYbaYbaYbaYbbcyaYbaYbaYbaYbaYbaYbbczbcAbcAbcAbcBaYbaYbbbAaYbaYbaYbaYbbaMaYbaYbbcCaWzbcDaWzaWzaWzaWzaWzaWzbcEaWzaWzaWzaWzaWzaWzaWzaWzaWzaWzaWzaWzbcFbcGbcHbcIbcIbcJaSmaOnaOnbcKaPzaPzbcKaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafavYaxlaxmaxlaxnaxmaxmaxoaxlaxmaxlaxnaxmbcLaHKbcMbcNbcObcMbcMbcMbcPbcQaOyaOyaOybcRaVoaWXaYzbcSbcTbcUaWXbcVbcWbcVaOAaOAaOAbcXbcYaOyaYJaYKaYLbcZbabbbabdabdbaYLbadaYRbdcbbcbbcbddbdebdfbdgaIsaXrbbhbdhbbjbcibdibdjbdkbbnbbjbarbdlbdmaYZbdnbdobdpaYZbdqbdrbawbdsbdtbdubdvbdvbdwbaEbdxaZdbdybdzaIsaGSbbAaYbaYbbdAaYbbdBbdCbdCbdCbdDbdCbdCbdCbdEaYbaYbaYbaYbaYbaYbbdFbdGbdHbbAaYbaYbaYbaYbbaMbdIbdJbdKbdLbdMaYbaYbaYbaYbaYbbdNbdOaYbaYbaYbaYbaYbaYbaYbaYbaYbaYbaYbaYbaYbbbAbdPbdQbdRbdSaSmaOnaOoaLZaLZaLZaLZaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarxavYbdTavYaBYaxmaxmbdUavYbdVavYayCbdWbdXbdXbdYbdZbeabebbecbedbeebefbegbehbehbeibejaWXaWXaWXbekbelaWXaOyaOyaOyaOybemaVzbenbeoaVzbepaYKaYLbeqbabbabberbesaYLbetaYRbeubbcbbcbevbewbexbeyaIsaXraYTbbjbezbbkbbkbeAbbmbbnbeBbeCaXCbeDbeEbeFbeFbeFbeGbeHaXHbeIbeJbeKbeLbeMbaEbeNbaEbeOaZdaXNaIsaIsbePbePbePbePbePbePbePbeQbhcbhcbhdbeTbeTbeQbeUbeUbeUbeUbeUbeVbeVbeWbeXbeVbeVbeVbeVbeYaYbbeZbfabfbbfcbfdaYbaYbaYbbfebfebffbffbffbffbffbfgbfhbfhbfhbfibfhbfjbfkbfhbfhbflbfmbfmbfmbfmbfnbfobfpbfqaLZaafaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafazFaquazGatMavYayyayzbfrbfsavYatMazGavYaquazFarxbdYbftbfubfubfubfvbeebfwbfxbfybfybfzbfAaWXaYzbfBbekbfCaWXbfDbfDaRbaRbbfEbfFbfGbfHbfGbfGbfIaYLbfJbfKbabbabbesbfLbfMaYRbfNbbcbbcbevbfObfPbeyaIsbfQaYTbfRaYWbfSbfTbfUbfVbbnbfWaYTaafbfXbfYbfYbfYbfZbgabgbaafaZdbgcbgdbgebgfbaEbggbaEbghaZdaXNaIsbgibePbgjbgkbglbgmbgnbePbgobgpbgqbgrbgsbgsbgsbgtbgubgvbgwbeUbgxbgybgzbgybgybgAbgBbeVbfbbgCbfbbfbbfbbgDbfdbfdbgEbfdbgFbgFbffbgGbgHbgIbffbgJbgKbgJbffbgLbgMbgLbfmbgNbgObgNbfmbgPbgQbfmbgRbgSaLZaLZaLZaafaafaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafavYbdTavYavYavYavYavYavYbdVavYaafaafaafaaabdYbgTbdYbgUbfubgVbgWbcMaVzbgXbgYbgZbhabhbbhbbhbbhbbhbbhbbimbhebpdbfybhfbhgaYLaYLaYLaYLaYLaYLbhhaYLaYLaYLbhibhjbhkbhlbhmbbcbbcbevbhnbexbeyaIsbhoaYTbhpaYWaYWaYWaYWbfVbbnbhqaYTaafbfXbfYbhrbhsbhtbfYbhuaafaZdbhvbctbhwbhxbaEbeNbaEbaEaZdaXNaIsaIsbePbhybhzbhAbhBbhCbhDbgsbhEbgsbhFbgsbgsbhGbgtbhHbhIbhJbeUbhKbgybhLbgybhKbhMbgybeVbhNbhObhPbhQbfbbhRbfdbhSbhTbhUbhVbhVbffbhWbhXbhYbhZbiabibbicbffbidbiebifbfmbigbihbigbiibijbijbfmbikbgSaaaaafaaaaafaaaaaaaaaaGsaGsaGsaGsaGsaGsaGsaGsaGsaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaabdYbilblfbinbiobiobipbiqaXmbiraOybisbitbiubiubiubivbivbivbivbivbivbivbiwbhibixbiybizbiAbiBbiCbiDbiEaYLbiFbiGbiHbiIbiIbiJbbcbbcbevbbcaYRbeyaIsaXrbiKbiLbiMbiNbiOaYWbiPbbnaYTaYTaafbfXbfYbhsbfYbhsbfYbhuaafaZdaZdbiQbdubiRbaEbiSbiTbiUaZdaXNaIsbiVbiWbiXbiYbiZbjabjbbjcbgsbjdbjebjfbjgbjgbjhbgtbjibhIbjjbeUbhKbgybhLbjkbhKbjlbjmbeVbjnbjobjpbjqbfbbgDbfdbjrbjsbjsbjtbjubjvbjwbjxbjxbjxbjybjzbjAbffbjBbiebjCbfmbjDbjEbjFbjGbjHbjIbfmbikbgSbjJbjJbjJbjJaafaafaagapKapKapKapKapKapKapKapKapKapKaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaabdYbilblfbinbiobiobipbiqaXmbiraOybisbitbiubiubiubivbivbivbivbivbivbivbiwbhibixbiybizbiAbiBbiCbiDbiEaYLbiFbiGbiHbiIbiIbiJbbcbbcbevbbcaYRbeyaIsaXrbiKbiLbiMbiNbiOaYWbiPbbnaYTaYTaafbfXbfYbhsbfYbhsbfYbhuaafaZdaZdbiQbdubiRbaEbiSbiTbiUaZdaXNaIsbiVbiWbiXbiYbiZbjabjbbjcbgsbjdbjebjfbjgbjgbjhbgtbjibhIbjjbeUbhKbgybhLbjkbhKbjlbjmbeVbjnbjobjpbjqbfbbgDbfdbjrbjsbjsbjtbjubjvbjwbjxbjxbjxbjybjzbjAbffbjBbiebjCbfmbjDbjEbjFbjGbjHbjIbfmbikbgSbjJbjJbjJbjJaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafaafaaabdYbjKbdYbjLbjMbjMbjNbdYbjObjOaOybjPbjQbjPbjPbjPbjQbjPaOyaOyaYLaYLaYLbjRbhibjSbjSbjTbjSbjSbjSbiDbjSbqEbjVbjWbjXbjYbjZbjZbjZbjZbkabkbbkcbkdbkebkfbkgbkhbkibkjbkkaYWbfVbbnaYTaafaafbfXbfYbhtbklbhrbkmbhuaafaafaZdbknbkoaZdaZdaZdaZdbkpaZdbkqaIsaIsbePbkrbhzbksbhBbhCbktbgsbkubkvbkwbkxbkybkzbeUbkAbkBbkCbeUbhKbgybkDbkEbhKbkFbgybeVbfbbfbbfbbfbbfbbgDbfdbkGbkHbkIbkJbkKbkLbkMbkNbkObkObkPbkQbkRbffbkSbiebkTbfmbkUbkVbkWbkXbkYbkZbfmbikblablbblcbldblcaaaaaaaafaaaaafaaaaafaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaafaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaabdYbleblfblgbjMblhblibdYaaaaaaaaabljbljbljbljbljbljbljaaaaaabjUblkbllblmblnblobloblpbloblobloblqbloblrblsbltblublvbexbexbexblwaYRblxaYRblyblzaKWbiKblAblBblBblBblBblCblDblEaafaaablFblGblHbfYbfYblIbhuaaaaafblJblKblLblMblNblOblJblPblJblQaIsaIsbePblRbhzbksblSblTbePblUbkubkvblVblWbgsblXbeUblYblZbmabeUbmbbmcbmdbmebmfbmgbmhbmibmjbmkbmjbmjbmjbmlbfdbmmbhTbmnbmobmpbkLbmqbmrbmsbmsbmtbmubmvbffbmwbgMbmxbfmbmybmzbmAbkXbijbmBbfmbikbmCbmDbmEbmEbmEbmEbmEbmEbmFaafaaaaafaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaabdYbmGblfblfblfbdYbdYbdYaaaaaaaaabljbljbljbljbljbljbljaaaaaabjUbmHbjSbmIbmJbmKbmJbmJbmJbmJbmJbmLbmJbmMbmNbmObmPbmQbmRbexbmSbbcbmTbmUbmVbeybmWbmXbiKbiKblEbmYbmZbnabnbbncblEaaaaaabfXbndbnebnfbnebngbhuaaaaaablJbnhbnibnjblJbnkblJblPblJblQaIsaIsbePbnlbhzbksbnmbnnbePbnobnpbnqbeRbnrbgsbnsbeUbgtbntbnubeUbeVbnvbeVbeWbnwbnxbnxbnxbnxbnxbnxbnxbnxbgDbfdbnybkHbkIbnzbnAbnBbnCbnDbnDbnDbmtbkQbnEbnFbnGbnHbnIbnJbnKbnLbnKbnMbijbnNbfmbnObnPbnPbnPbnPbnPbnPbnPbnQbgSbjJbjJbjJaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaotaaaaouaaaaaaaaaaaaabsaaaaaaaaabljbljbljbljbljbljbljbnRbjUbjUbnSbjSbjSbjSbnTbnUbnUbnUbjSbjSbjSbjSbqEbnVbevbnWbnXbnYbnZboabobbocbbcbmVbodboebofbogbohboibojbokbolbombonblEaafaaabfXboobopbopbopboqbhuaaaaafblJborbosbotblJboublJblPblJbovaIsaLfbowboxboybozboAboBbePboCbkubhFbeRboDboEbnobnoboFboGboHboIboJboKbgsboLboMboNboOboPboQboRboSboTbnxbgDbfdboUboVboWboXboYbffboZbnDbnDbpabpbbkQbpcbqHbpebpfbpgbnJbphbpibijbpjbpkbplbfmbpmbpnbpnbpnbpnbpnbpnbpnbikbgSbpobppbjJbjJaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaotaaaaouaaaaaaaaaaaaaotaaaaaaaaabljbljbljbljbljbljbljbpqbprbpqbpsbptbjSbjSbiDbjSbjSbjSbjSbjSbpuaYLaYLbpvbpwbjZbpxbpybexbpzbbcbpAbbcbpBblQbmWbpCbpDbpEbpFbpGbpHbpIbpJbpKblEaaaaaabfXbpLbpMbpNbpMbpObhuaaaaaabpPbpQbpRbpPbpPbpPbpPbpSbpPbpTaKWaKWbePbePbpUbpVbpWbpXbePbpYbkubpZbqabqabqabqabqabqbbqcbqdbqebqabqfbqabqgbqhboNbqibqjbqkbqlbqmbqnbnxbqobqpbqqbqrbqrbqsbqtbqubqvbqwbqwbqxbqybkQbqzbqAbqBbqCbqDbnJbnJbsqbqFbqGbtrbnJbfmbpnbpnbqIbqJbqKbqLbqMbpnbqNbqObqPbqQbqRbjJaaaaafaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaagaaaaaaaaaaafaotaaaaaaaaabljbljbljbljbljbljbljbqSbqTbqSbqUbjSbjSbjSbnTbnUbnUbnUbjSbjSbqVbqWaYLbqXbbcbbcbqYbqZbrabrbbbcbbcbbcbpBblQbrcaIsbpDbpEbrdbrebrfbrgbrhbriblEaafaafbrjbrkbrlbrmbrnbrobrpaafaafbrqbrrbrsbrtbrubrvbrwbrxbpPbryaIsaIsbeRbrzbrAbrBbrCbrDbrEbrFbrGbrHbrIbrIbrIbrIbrIbrJbrKbrLbrMbrNbrObrPbrQbrRboNbrSbrTbrUbrVbrWboTbnxbgDbfdbrXbrYbrZbsabsabffbsbbscbsdbnFbsebkQbsfbnFbsgbshbsibsjbskbslbsmbsnbsobspbAFbsrbssbstbsubsubsubsvbswbsxbgSbsybszbjJbjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaafaaaaaaaaaaaaabsaaaaaaaaabljbljbljbljbljbljbljbnRbjUbjUbnSbjSbjSbjSbnTbnUbnUbnUbjSbjSbjSbjSbqEbnVbevbnWbnXbnYbnZboabobbocbbcbmVbodboebofbogbohboibojbokbolbombonblEaafaaabfXboobopbopbopboqbhuaaaaafblJborbosbotblJboublJblPblJbovaIsaLfbowboxboybozboAboBbePboCbkubhFbeRboDboEbnobnoboFboGboHboIboJboKbgsboLboMboNboOboPboQboRboSboTbnxbgDbfdboUboVboWboXboYbffboZbnDbnDbpabpbbkQbpcbqHbpebpfbpgbnJbphbpibijbpjbpkbplbfmbpmbpnbpnbpnbpnbpnbpnbpnbikbgSbpobppbjJbjJaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaafaaaaaaaaaaaaaagaaaaaaaaabljbljbljbljbljbljbljbpqbprbpqbpsbptbjSbjSbiDbjSbjSbjSbjSbjSbpuaYLaYLbpvbpwbjZbpxbpybexbpzbbcbpAbbcbpBblQbmWbpCbpDbpEbpFbpGbpHbpIbpJbpKblEaaaaaabfXbpLbpMbpNbpMbpObhuaaaaaabpPbpQbpRbpPbpPbpPbpPbpSbpPbpTaKWaKWbePbePbpUbpVbpWbpXbePbpYbkubpZbqabqabqabqabqabqbbqcbqdbqebqabqfbqabqgbqhboNbqibqjbqkbqlbqmbqnbnxbqobqpbqqbqrbqrbqsbqtbqubqvbqwbqwbqxbqybkQbqzbqAbqBbqCbqDbnJbnJbsqbqFbqGbtrbnJbfmbpnbpnbqIbqJbqKbqLbqMbpnbqNbqObqPbqQbqRbjJaaaaafaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaafaagaaaaaaaaabljbljbljbljbljbljbljbqSbqTbqSbqUbjSbjSbjSbnTbnUbnUbnUbjSbjSbqVbqWaYLbqXbbcbbcbqYbqZbrabrbbbcbbcbbcbpBblQbrcaIsbpDbpEbrdbrebrfbrgbrhbriblEaafaafbrjbrkbrlbrmbrnbrobrpaafaafbrqbrrbrsbrtbrubrvbrwbrxbpPbryaIsaIsbeRbrzbrAbrBbrCbrDbrEbrFbrGbrHbrIbrIbrIbrIbrIbrJbrKbrLbrMbrNbrObrPbrQbrRboNbrSbrTbrUbrVbrWboTbnxbgDbfdbrXbrYbrZbsabsabffbsbbscbsdbnFbsebkQbsfbnFbsgbshbsibsjbskbslbsmbsnbsobspbAFbsrbssbstbsubsubsubsvbswbsxbgSbsybszbjJbjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaafabsaaaaaaaaabljbljbljbljbljbljbljbnRbjUbjUbsAbjSbjSbjSbiDbjSbjSbjSbjSbjSbqVbsBaYLbsCbsDbjZbsEbsFbsGbevbbcbbcbsHbmVbsIbrcaIsbpDbpEblEbsJbsKbsLbsMbsNblEaaaaaaaafbfXbsObsPbsObhuaafaaaaaabrqbsQbsRbsSbsTbsUbsUbsVbsWbsXaIsaIsbeRbsYbgsbsZbtabtbbtcbtbbtdbtebtfbtgbtfbtfbtfbthbtibgsbhFbtjbtkbtkbtlbtmboNboNbtnbtobtpbqmboTbnxbfcbfdbtqbtqbtqbtqbtqbffbnFbnFbnFbnFbAGbtsbAHbnFbttbtubtvbtwbtwbtwbtwbtxbtybtzbtAbtBbtCbtDbtEbtEbtFbtGbpnbtHbgSbsybszbjJaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaafabsaaaaaaaaabljbljbljbljbljbljbljbqSbqTbqSbmHbtIbjSbjSbtJbjSbtIbjSbjSbjSbqVbtKaYLbtLbtMbobbtNbtObexbpwbjZbtPbtQbmVbsIbrcaXrbpDbtRblEbtSbtTbtUbtVbncblEaaaaaaaafbtWbtXbopbtYbtZaafaaaaaabrqbuabubbucbudbuebufbugbpPbuhaIsaIsbnobnobuibujbqbbukbulbumbunbuobupbuqbupbuqbupbuqbupbuqburbusbtkbutbuubuvbuwbuxbuybuzbuAbuBbuCbnxbuDbuEbuFbnHbuGbiebiebuHbiebiebuIbuJbuKbuLbuMbtwbuNbuObuPbuQbuQbuQbuRbuRbuRbuRbuRbuSbuTbuUbuVbuUbuWbuUbpnbtHbgSbsybuXbjJbjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaafaafaaaaaaaaabljbljbljbljbljbljbljbuYbuZbuYbvabvbbvabvabvabvabvabvcbvdbjSbqVbveaYLbvfbbcbvgbvhbvibvjbvkbvkbvkbvjbvjbvlbrcaJFbvmbpEblEbvnbvobvpbvqbvrblEaaaaaaaafbvsbvtbrmbvubvvaafaaaaaabrqbvwbvxbvybvzbuebufbugbpPbvAaIsaIsbvBbvCbvDbvEbvFbvGbuqbvHbvIbvJbvKbvLbvMbvNbvObvNbvPbuqbhFbkubtkbvQbvRbvSbvTbvUbvVbvWbvXbvXbvYbvZbwabwbbwcbwdbwebwfbwgbwfbwfbwhbwfbwfbwibwjbwkbwkbwlbwmbqDbuQbwnbwobwpbwqbwrbwsbuRbwtbwubwvbwwbwxbwubwybpnbtHbgSbwzbqQbwAbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6618,23 +6612,23 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaafaaaaaaaaabljbljbljbljbljbljbljaaaaafaaaaaaaafaaaaaaaafaaabwBbxDbxEbxFbxGbxHbxIbwDbxJbxKbxLbxMbxNbxObxPbxQbxRbvjbsIbrcaIsaIsaIsbxSaLmbxTaKWbxUbxVbxWaWjaWjaWjbxXbxYbxZbyabybaIsaIsaIsaIsaLmaIsaKWaIsaIsaIsbxSaIsbvAaIsbycbuqbydbyebyfbygbyhbuqbyibyjbykbylbwWbwXbwXbymbynbyobwWbhFbypbtkbrVbyqbyrbysbxjbytbyubyvbywbnxbnxbfcbyxbxmbyybyzbyAbyBbyCbyDbxmbyEbyFbyGbyHbyIbxrbyJbyKbyLbyMbyNbyObyPbyQbyRbySbxAbyTbyTbyTbyTbyTbyTbyTbpnbtHbgSbsybszbjJaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaafaaaaafaaaaaaaaaaaaaafaaaaaaaaabljbljbljbljbljbljbljaaaaafaaaaaaaafaaaaaaaafaaabwDbyUbyVbyWbyXbyYbyZbzabzbbzcbzdbzebzfbzgbzhbxQbzibvjbsIbzjaIsaIsaIsaIsaIsaIsaKWaIsbrcaIsaIsaIsaIsaIsbzkbzlbzmaIsaIsaIsaIsaIsaIsaIsaKWbznaIsaIsaIsaIsbvAbzobzpbulbzqbzrbzsbzrbztbuqbzubvIbvJbzvbuqbzwbzxbzybzzbzAbuqbhFbkubtkbtkbtkbtkbtkbnxbnxbnxbnxbnxbnxbzBbgDbzCbxmbzDbzEbzFbzGbzHbzIbxmbzJbzKbzLbzMbzNbxrbyJbzObzPbzQbzRbzSbzSbzSbzTbzUbxAbyTbzVbyTbzWbyTbyTbyTbpnbtHbgSbsybszbjJbjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaabljbljbljbljbljaaaaaaaafaaaaaaaafaaaaaaaafaaabwBbzXbzYbzZbAabAbbAcbwDbxKbxKbAdbAebvkbAfbAgbAhbAibvjbAjbAkbAlbAlbAlbAmbAlbAlbAnbAlbAoaIsbApbAqbArbArbAsbAtbAubAvbAwbAxaWjaWjbAyaWjbAzbAAaWjbABbACbADbAEaIsaIsbuqbALbAJbEwbupbExbuqbupbAKbHjbuqbuqbuqbuqbuqbuqbuqbuqbhFbkubgsbAMbANbAObAPbAQbARbASbATbAUbAQbzBbgDbAVbxmbAWbAXbAYbAZbBabBbbxmbBcbBdbBebBfbBgbxrbyJbBhbBibuRbBjbBkbBlbBmbBnbBobxAbyTbyTbyTbBpbyTbyTbyTbpnbtHbqObBqbqQbqRbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaagapKapKapKapKapKapKapKaagaafaafaafaafaaaaaaaafaaabwBbwBbwDbwDbwDbwDbwBbwBbBrbBsbBtbBubvjbvjbvjbvjbvjbvjbBvbBwaIwaIwaIwaIwbBxbBxbBxbBxbBxbBxbBxbBxbBxbBxbBybBzbBAbBBbBBbBBbBBbBBbBCbBBbBBbBDbBBbyxbBEbyxaIxaJGbBFbuqbBGbBHbBIbBJbBKbuqbBLbyjbBMbBNbBObBPbBQbBRbBSbBTbAIbBUbBVbBWbBWbBXbBYbBZbCabCbbCcbCdbCebAQbzBbgDbCfbCfbCfbCfbCfbCfbCfbCfbCfbCgbCgbCgbCgbCgbCgbChbCibCjbuRbuRbuRbuRbuRbuRbuRbxAbpnbpnbpnbpnbpnbpnbpnbpnbtHbgSbCkbClbjJbjJaafaafaafaagaagaagaagaagaagaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafbCmbCnaafaafaagaafaaaaafaaaaaaaagaisaisbCoaisaisaagaafaaaaaabwEbCpbCqbCrbCsbCtbCubCvbCwbCxbCybCzbCAaaaaaaaafaaabBxbCBbCCbCDbCEbCFbCGbCHbCIbCJbCKbCLbCMbBBbCNbCObCPbCQbCRbCQbCQbCSbCTbCUbCVbyxbyxbyxbyxbuqbCWbCXbCYbCXbCZbuqbDabvIbDbbDcbDdbDebDdbDdbDfbDgbDhbDibDjbDjbDjbDkbDlbvEbDmbDnbDobDpbDqbAQbzBbgDbCfbDrbDrbDrbDsbDrbDrbDrbCfbDtbDtbDubDtbDtbCgbDvbDwbqDbDxbDybDzbDAbDBbDCbDDbDEbDFbDGbDHbDIbDJbDKbDLbDLbDMbDNbDybDybjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaafaaabwBbwBbwDbwDbwDbwDbwBbwBbBrbBsbBtbBubvjbvjbvjbvjbvjbvjbBvbBwaIwaIwaIwaIwbBxbBxbBxbBxbBxbBxbBxbBxbBxbBxbBybBzbBAbBBbBBbBBbBBbBBbBCbBBbBBbBDbBBbyxbBEbyxaIxaJGbBFbuqbBGbBHbBIbBJbBKbuqbBLbyjbBMbBNbBObBPbBQbBRbBSbBTbAIbBUbBVbBWbBWbBXbBYbBZbCabCbbCcbCdbCebAQbzBbgDbCfbCfbCfbCfbCfbCfbCfbCfbCfbCgbCgbCgbCgbCgbCgbChbCibCjbuRbuRbuRbuRbuRbuRbuRbxAbpnbpnbpnbpnbpnbpnbpnbpnbtHbgSbCkbClbjJbjJaafaafaafaagaagaagaagaagaagaagaagaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafbCmbCnaafaafaagaafaaaaafaaaaaaaaaaafaaaaouaaaaaaaaaaafaaaaaabwEbCpbCqbCrbCsbCtbCubCvbCwbCxbCybCzbCAaaaaaaaafaaabBxbCBbCCbCDbCEbCFbCGbCHbCIbCJbCKbCLbCMbBBbCNbCObCPbCQbCRbCQbCQbCSbCTbCUbCVbyxbyxbyxbyxbuqbCWbCXbCYbCXbCZbuqbDabvIbDbbDcbDdbDebDdbDdbDfbDgbDhbDibDjbDjbDjbDkbDlbvEbDmbDnbDobDpbDqbAQbzBbgDbCfbDrbDrbDrbDsbDrbDrbDrbCfbDtbDtbDubDtbDtbCgbDvbDwbqDbDxbDybDzbDAbDBbDCbDDbDEbDFbDGbDHbDIbDJbDKbDLbDLbDMbDNbDybDybjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaagaagaagaagbDOaagaafaafaaaaaaaaabDPbDQcuybDQbDSaaaaafaaabwEbwEbDTbxKbDUbDVbDWbDXbDYbDYbDZbEabEbbEcaafbEdbEebEfbEgbEhbEibEjbEibEkbEibEibEibBxbElbEmbEnbBBbEobEpbEqbErbEsbCQbEtbBDbBBbEubEvbHkbHlbEybEzbEAbEBbCXbECbCXbyjbEDbEEbEFbEGbuqbEHbEIbCXbCXbEJbEKbnobnobnobnobnobELbEMbqbbENbEObEPbCdbEQbAQbzBbgDbCfbDrbDrbDrbDrbDrbDrbDrbCfbERbESbETbEUbEVbCgbEWbEXbEYbEZbFabFbbFcbFdbFdbFdbFdbFebFfbFgbDIbjJbFhbFibFjbFjbFkbFlbFmaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFnbFobFnaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaagaafbFpaafaagaagaagaagaagaagaaaaaaaaabFqbFrbFsbFrbFqbFtbFtbFtbwEbFubxKbFvbFwbFxbFybwEbBwbFzbBwbBwbFAbFBaaabFCbFDbFEbFFbEibEibFGbEibFHbFIbFJbEibBxbElbFKbFLbBBbFMbFNbFObFPbFQbCQbFRbBDbzBbFSbFTbFUbFTbFVbFWbuqbFXbDdbFYbDdbFZbulbGabDebGbbuqbGcbCXbCXbCXbGdbGebnobGfbGgbGhbGibBXbGjbvEbGkbCdbCdbGlbGmbGnbGobGpbCfbDrbDrbDrbDrbDrbDrbDrbCfbGqbGrbGsbGtbGubGvbGwbGxbtvbGybGzbFdbGAbFdbFdbFdbFdbFdbFdbFdbDIbGBbGCbGDbGEbGFbGGbGHbFmaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFobFnbGIbFnbFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbCmaagaagaagaagaagaagaagaafaagaagaagaafaaaaaaaaacuybGJbGKbGJcuybFtbGLbGMbwEbGNbxKbGObxKbxKbFybwEbGPbGQbGRbBwbFAbFBaafbFCbGSbGTbGUbGVbGWbGVbGVbGXbGYbGVbGVbGZbHabHbbHcbBBbHdbBBbBBbBBbBBbHebHfbHgbHhbHibHKbHmbKkbKibKibuqbHnbHobHpbHqbHrbuqbHsbHtbHubuqbHvbHwbHxbHybHzbHAbnobHBbHCbqabHDbHEbHFbHGbDmbHHbCdbCdbHIbAQbzBbgDbCfbCfbHJbDrbDrbKDbHJbCfbCfbHLbHMbHNbHObHPbCgbHQbHRbtvbHSbHTbHUbHUbHVbHWbHXbHUbHYbHZbIabIbbIcbIdbIebIfbIgbIhbIibFmaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbIjbFobIkbIlbImbFobIjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaafaaaaagaagaagbCnaagbInaagaagbIoaagaafaafaaaaaaaaabFqbGJbGJbGJbIpbIqbxKbxKbIrbGNbxKbxKbxKbxKbFybwEbIsbGRbItbBwbFAbFBaaabFCbIubIvbIwbEibEibIxbEibIybIzbIAbIBbBxbICbIDbIEbIFbIGbIHbIHbIHbIHbIHbIIbIHbIJbIKbILbIMbINbIObIPbulbulbulbulbulbulbulbulbulbulbulbulbulbulbulbulbIQbnobnobnobnobnobIRbISbhEbAQbAQbAQbAQbAQbAQbzBbgDbCfbITbIUbIVbIWbIXbIYbITbIZbHLbHMbHNbJabJbbJcbJdbJebuPbJfbDybJgbJgbJhbJibJjbJkbFdbFdbJlbDIbJmbJnbJobDybJpbLQbLQbDyaafaafaisaafaafaafaisaafaafaafaisaafaafaafaisaafaafaafaisaafaafaafbFobFobJqbJrbJrbJrbJsbFobFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaagaagaafaafaagaagbJtaagaagaagaagaafaaaaaaaaacuybGKbGKbGKcuybFtbJubJvbJwbJxbxKbxKbJybJzbJAbwEbBwbBwbBwbBwbFAbEcaafbJBbEebJCbEgbJDbEibJEbEibEibEibEibEibBxbElbJFbJGbJHbJIbJIbJIbJIbJIbJIbJJbJKbJLbJMbJNbJObJPbJQbJRbJSbJTbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJUbJVbnobHBbJWbBWbJXbBXbJYbJZbKabKbbKbbKcbKdbJMbKebKfbCfbKgbKhbNMbKjbOXbKlbKmbIZbIZbIZbIZbIZbIZbKnbKobKpbKqbKrbDybDIbDIbDIbDIbDIbDIbKsbFdbFdbDIbjJbFhbgSbDybKtbKubKvbKwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbKxbKybKxbJrbKzbJrbKAbKBbFnaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCmaagaagaagaagaagaagaafaagaafaafaagaagaafaaaaaaaaabFqbKCbVtbKEbFqbFtbFtbFtbwEbwEbFtbFtbFtbwEbwEbwEaaaaaaaaabKFbKGbFBaaaaaaaafaaabBxbKHbKIbKJbEibKKbKLbKMbKNbKObKPbKQbKRbKSbKTbKUbKVbKWbKXbKTbKTbKTbKTbKTbKYbKZbKTbKTbLabKTbLbbKTbKTbKTbKTbKTbyxbyxbyxbyxbyxbyxbyxbyxbLcbLdbnobLebLfbLgbLhbLibLjbLkbLlbLmbLmbLnbLmbLmbLobLpbCfbLqbLrbLsbLrbLtbLrbLubLvbLwbLxbLybLzbLAbXNbyJbHRbqDbLCaafbLDbLEbLFbLGbLHbLGbLIbLJbLKbDIbLLbtHbLMbDybDybDybDybDyaafaafapKaafaafaafapKaafaafaafapKaafaafaafapKaafaafaafapKaafaafaafbFobFobLNbJrbJrbJrbLObFobFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaafaagaagaagaagaagabpaaaaafaafaafaaaaaaaaabLPbDQbXQbDQbLRaaaaafaaaaafaagaafaaaaafaagaafaaaaaaaaaaafbKFbFAbFBaafaafaafaafbBxbBxbBxbBxbBxbBxbBxbBxbBxbBxbLSbLTbLUbLVbKTbKUbKVbKWbKXbLWbLWbLXbLYbLZbMabMbbMcbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMmbMmbMmbMmbMmbMnbyxbLcbMobMpbMpbMpbMpbMpbMqbMrbMsbMpbMpbMpbMpbMpbMpbMobMtbMubMvbMwbMxbMwbMybMzbMAbMBbMBbMBbMBbMBbMBbMCbMDbMEbqDbLCaafbLDbMFbMFbMGbMHbMIbMJbMKbMLbDIbMMbtHblabjJbMNbMObjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaafaafbIjbFobMPbMQbMRbMSbIjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaagapKapKapKapKapKaagaafaaaaafaagaafaaaaafaagaafaaaaaaaaaaaabKFbFAbFBaaaaaaaaaaafbMTbMUbMUbMVbMWbMXbMXbMYbMYbMTbElbMZbKRbNabKTbNbbNcbNcbNdbNebLWbNfbNgbNhbNibNjbNkbNlbNmbNnbNobNpbNobNqbNrbNsaafbNtbNtbNtbNtbNtbNubyxbLcbNvbNwbNxbNybNzbMpbNAbNBbNCbMpbNDbNEbNFbNEbNDbMobNGbCfbLrbLrbLrbNHbLrbLrbNIbNJbNKbNKbNLbNKbNKbYEbNNbNObNPbLCaafbLDbMFbNQbLGbNRbLGbNSbNTbNUbDIbszbtHblabjJbszbszbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFobFnbNVbFnbMSaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaafaaaaagaagaagbCnaagbInaagaagbIoaagaafaafaaaaaaaaabFqbGJbGJbGJbIpbIqbxKbxKbIrbGNbxKbxKbxKbxKbFybwEbIsbGRbItbBwbFAbFBaaabFCbIubIvbIwbEibEibIxbEibIybIzbIAbIBbBxbICbIDbIEbIFbIGbIHbIHbIHbIHbIHbIIbIHbIJbIKbILbIMbINbIObIPbulbulbulbulbulbulbulbulbulbulbulbulbulbulbulbulbIQbnobnobnobnobnobIRbISbhEbAQbAQbAQbAQbAQbAQbzBbgDbCfbITbIUbIVbIWbIXbIYbITbIZbHLbHMbHNbJabJbbJcbJdbJebuPbJfbDybJgbJgbJhbJibJjbJkbFdbFdbJlbDIbJmbJnbJobDybJpbLQbLQbDyaafaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaafbFobFobJqbJrbJrbJrbJsbFobFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaafaagaagaafaafaagaagbJtaagaagaagaagaafaaaaaaaaacuybGKbGKbGKcuybFtbJubJvbJwbJxbxKbxKbJybJzbJAbwEbBwbBwbBwbBwbFAbEcaafbJBbEebJCbEgbJDbEibJEbEibEibEibEibEibBxbElbJFbJGbJHbJIbJIbJIbJIbJIbJIbJJbJKbJLbJMbJNbJObJPbJQbJRbJSbJTbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJSbJUbJVbnobHBbJWbBWbJXbBXbJYbJZbKabKbbKbbKcbKdbJMbKebKfbCfbKgbKhbNMbKjbOXbKlbKmbIZbIZbIZbIZbIZbIZbKnbKobKpbKqbKrbDybDIbDIbDIbDIbDIbDIbKsbFdbFdbDIbjJbFhbgSbDybKtbKubKvbKwaagaagaaaaafaafaafaafaaaaafaafaaaaafaafaafaaaaafaafaafaafaaaaafaafbKxbKybKxbJrbKzbJrbKAbKBbFnaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabCmaagaagaagaagaagaagaafaagaafaafaagaagaafaaaaaaaaabFqbKCbVtbKEbFqbFtbFtbFtbwEbwEbFtbFtbFtbwEbwEbwEaaaaaaaaabKFbKGbFBaaaaaaaafaaabBxbKHbKIbKJbEibKKbKLbKMbKNbKObKPbKQbKRbKSbKTbKUbKVbKWbKXbKTbKTbKTbKTbKTbKYbKZbKTbKTbLabKTbLbbKTbKTbKTbKTbKTbyxbyxbyxbyxbyxbyxbyxbyxbLcbLdbnobLebLfbLgbLhbLibLjbLkbLlbLmbLmbLnbLmbLmbLobLpbCfbLqbLrbLsbLrbLtbLrbLubLvbLwbLxbLybLzbLAbXNbyJbHRbqDbLCaafbLDbLEbLFbLGbLHbLGbLIbLJbLKbDIbLLbtHbLMbDybDybDybDybDyaafaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaafbFobFobLNbJrbJrbJrbLObFobFoaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaafaagaagaagaagaagabpaaaaafaafaafaaaaaaaaabLPbDQbXQbDQbLRaaaaafaaaaafaagaafaaaaafaagaafaaaaaaaaaaafbKFbFAbFBaafaafaafaafbBxbBxbBxbBxbBxbBxbBxbBxbBxbBxbLSbLTbLUbLVbKTbKUbKVbKWbKXbLWbLWbLXbLYbLZbMabMbbMcbMdbMebMfbMgbMhbMibMjbMkbMlbMmbMmbMmbMmbMmbMmbMnbyxbLcbMobMpbMpbMpbMpbMpbMqbMrbMsbMpbMpbMpbMpbMpbMpbMobMtbMubMvbMwbMxbMwbMybMzbMAbMBbMBbMBbMBbMBbMBbMCbMDbMEbqDbLCaafbLDbMFbMFbMGbMHbMIbMJbMKbMLbDIbMMbtHblabjJbMNbMObjJaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaafaafbIjbFobMPbMQbMRbMSbIjaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaafaafaafaafaafaaaaaaaaaaaaaaaaaaaafaafaafaafaafaafaafaafaafaafaaaaafaagaafaaaaafaagaafaaaaaaaaaaaabKFbFAbFBaaaaaaaaaaafbMTbMUbMUbMVbMWbMXbMXbMYbMYbMTbElbMZbKRbNabKTbNbbNcbNcbNdbNebLWbNfbNgbNhbNibNjbNkbNlbNmbNnbNobNpbNobNqbNrbNsaafbNtbNtbNtbNtbNtbNubyxbLcbNvbNwbNxbNybNzbMpbNAbNBbNCbMpbNDbNEbNFbNEbNDbMobNGbCfbLrbLrbLrbNHbLrbLrbNIbNJbNKbNKbNLbNKbNKbYEbNNbNObNPbLCaafbLDbMFbNQbLGbNRbLGbNSbNTbNUbDIbszbtHblabjJbszbszbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFobFnbNVbFnbMSaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaagaagaagaafaafaafaafaafaafaafaafaaaaafaaaaafaaaaafaaaaafaaaaafbBwbBwbKFbKFbKFbBwbBwaaaaaaaaaaaabKFbFAbFBaaaaaaaaaaafbMTbNWbMVbMVbMVbMVbMXbNXbNYbNZbOabKQbObbOcbOdbOebOfbOgbOhbOibOjbOfbOfbOfbOhbOkbOlbOmbOnbOobMkbOpbOqbOrbOsbOtbMmbOubOvbOwbOxbNtbNubOybLcbMobOzbNDbNDbNDbMpbOAbOBbOCbMpbNEbODbNEbOEbOFbOGbOHbCfbOIbOJbOKbOLbOMbONbOObOPbOQbORbOSbOTbOUbIZbZCbOWchdbOYbOYbDIbDIbDIbDIbDIbDIbDybDybDybDIbszbtHbOZbszbszbPabjJaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbFnbFobFnaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaagaagaagaagaagaagaagaaaaaaaagaagaagaagaagaagaagaagaafaaaaaabBwbPbbGRbPcbGRbPdbBwaaaaaaaaaaaabKFbKGbFBaaaaafbKFbKFbMTbMVbPebPfbMVbMVbPgbPhbMXbPibElbMZbPjbPkbPlbPmbPnbPobPpbPqcjYbPobPrbPobPsbPtbPubMdbPvbPwbPxbPybPzbPAbPBbPCaafbPDbPEbOxbPFbNtbNubOybLcbMobPGbPHbNDbPIbMpbPJbPKbPLbMpbNDbPMbPNbNDbNDbMobLcbCfbIZbIZbIZbIZbKnbPObPPbPQbKnbIZbIZbIZbIZbIZbPRbPSbPTbPUbPVbPWbPXbPYbPXbPZbOYbQabQbbQcbQdbQebtHblabjJbjJbjJbjJabsaafaafaafaagaagaagaagaagaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaafaafaaaaaaaafaagaafaafaafaafaafaafaafaafaafaafaafaafaafbBwbQfbGRbGRbGRbQgbBwaaaaaaaaaaaabKFbFAbFBaaaaafbKFbQhbQibQjbQkbQlbQlbQlbQlbQlbQmbQnbQobMZbPjbQpbQqbQrbQsbNobQtbQuckabQvbQwbQxbQybQzbQzbQAbQBbMkbQCbQDbQEbQFbQGbQHbQIbOubQJbOxbOxbNtbNubOybLcbMobQKbNDbQLbMqbMpbMpbQMbMpbMpbQNbQObQPbQNbQNbMobLcbCfbQQbQRbQRbQSbQTbLrbQUbQVbQWbQXbDrbDrbDrbIZbQYbQZbRabRbbRcbPWbRdbRebRfbRgbZCbQbbRhbQbbQdbCkbRibRjbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabBwbQfbGRbGRbRkbRlbBwaaaaafaaaaaabKFbFAbEcbBwbBwbBwbRmbMTbRnbMVbMVbMVbRobRpbRqbRrbMTbElbMZbPjbQpbPlbRsbRtbNobNobRubLWbRvbRwbRxbRybNobNobMdbRzbRAbRBbRCbRDbREbRDbRFaafbNtbNtbNtbNtbNtbNubyxbLcbMobRGbRHbRHbRIbRJbRKbRLbRMbRNbNDbPMbNDbNDbNDbMobLcbCfbDrbDrbDrbRObRPbLrbRQbLrbRRbRSbDrbDrbDrbIZbRTbRUbRVbRWbRXbRYbRZbSabRYbSbbOYbScbQbbSdbQdbjJbSebSfbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaisaafaafbSgaafaafaafbBwbBwbBwbBwbBwbBwbBwbBwbBwbBwbShbBwbBwbBwbKFbKFbKFbSibSjbSkbSlbSmbSnbSjbSobQnbQnbQnbQnbQnbQnbQnbQnbQnbSpbSqbSrbPjbSsbKTbStbSuckabSvckabLWbNobNobNobRybSwbSxbSxbSybSzbSAbOpbSBbSCbSDbOtbMmbOubSEbSFbSFbNtbNubyxbLcbSGbSHbSHbSHbSIbSJbNDbSKbNDbNDbNDbPMbNDbNDbNDbMobLcbCfbDrbDrbDrbSLbSMbQVbSNbLrbSObSPbQRbQRbSQbIZbSRbSSbPTbSTbSUbPWbRfbSVbRYbSWbOYbSXbSXbSXbQdbSYbSZbSfbjJaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaagaafaafbSgaafaafaafbBwbBwbBwbBwbBwbBwbBwbBwbBwbBwbShbBwbBwbBwbKFbKFbKFbSibSjbSkbSlbSmbSnbSjbSobQnbQnbQnbQnbQnbQnbQnbQnbQnbSpbSqbSrbPjbSsbKTbStbSuckabSvckabLWbNobNobNobRybSwbSxbSxbSybSzbSAbOpbSBbSCbSDbOtbMmbOubSEbSFbSFbNtbNubyxbLcbSGbSHbSHbSHbSIbSJbNDbSKbNDbNDbNDbPMbNDbNDbNDbMobLcbCfbDrbDrbDrbSLbSMbQVbSNbLrbSObSPbQRbQRbSQbIZbSRbSSbPTbSTbSUbPWbRfbSVbRYbSWbOYbSXbSXbSXbQdbSYbSZbSfbjJaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabTabTbbTbbTbbTbbTcbTdbTdbTebTfbTgbThbTibTjbTkbTlbBwbGRbGRbGRbGRbGRbGRbGRbTmbTnbTobTpbTqbTrbTrbTrbTrbTsbTtbTtbTtbTubTtbTvbDYbDYbTwbEcbElbMZbPjbTxbTybTzbTAbSxbSxbTBbTCbSxbSxbTDbTEbTFbNobTGbTHbTIbTJbNobTKbTLbTMbPCaafbPDbTNbTObTPbNtbNubOybTQbTRbTRbTRbTSbMobTTbRGbTUbTVbTWbTXbTYbTZbTZbUabMobLcbCfbIZbIZbIZbIZbUbbUcbRQbUdbUbbIZbIZbIZbIZbIZbUebUfbUgbUhbUibUjbUjbUjbUjbUkbZCbSXbSXbUlbQdbUmbSZbSfbjJbjJbjJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafapKaaaaafaaaaaabUnbUnbKFbGRbUobUpbUqbUrbUsbBwbUtbKFbKFbKFbKFbKFbKFbKFbKFbEcbUubUvbUvbUvbUvbUvbUvbUvbUvbUwbUwbUwbUwbUwbUxbUybEcbElbMZbPjbTxbUzbUAbUBbUCbQzbUDbUEbQzbQzbUFbUGbUHbUIbUJbUKbULbUMbNobTKbUNbUObQHbQIbOubUPbSFbSFbNtbNubOybUQbyxbyxbyxbOHbMobURbNDbNDbUSbUTbUUbUVbUWbUVbUUbMobLcbCfbQQbQRbQRbUXbQTbLrbQUbQVbUYbUZbDrbDrbDrbIZbVabVbbVcbVdbRUbRWbVebVfbVgbVhbOYbSXbSXbSXbQdbUmbSZbSfbszbszbjJaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaaaaafaaaaaabUnbUnbKFbGRbUobUpbUqbUrbUsbBwbUtbKFbKFbKFbKFbKFbKFbKFbKFbEcbUubUvbUvbUvbUvbUvbUvbUvbUvbUwbUwbUwbUwbUwbUxbUybEcbElbMZbPjbTxbUzbUAbUBbUCbQzbUDbUEbQzbQzbUFbUGbUHbUIbUJbUKbULbUMbNobTKbUNbUObQHbQIbOubUPbSFbSFbNtbNubOybUQbyxbyxbyxbOHbMobURbNDbNDbUSbUTbUUbUVbUWbUVbUUbMobLcbCfbQQbQRbQRbUXbQTbLrbQUbQVbUYbUZbDrbDrbDrbIZbVabVbbVcbVdbRUbRWbVebVfbVgbVhbOYbSXbSXbSXbQdbUmbSZbSfbszbszbjJaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaagaagaagaagbVibVjbVkbGRbVlbUpbUpbVmbGRbBwbGRbKFaaaaaaaafaaaaaaaafaaabEcbUubUvbVnbVobVpbVqbVrbVsbVncuebVubVvbVwbUwbUwbUybEcbVxbMZbPjbVybVzbVAbVAbVBbKTbKTbKTbKTbKTbVCbVDbLWbLWbLWbVEbNobTIbNobTKbTLbVFbPCaafbNtbNtbNtbNtbNtbNubOybUQbyxbVGbzBbOHbNvbVHbVIbVJbVKbVLbVMbVNbUWbVNbVObMobLcbCfbDrbVPbDrbVQbRPbLrbRQbLrbRRbVRbDrbVPbDrbIZbVSbVTbVUbVVbVWbVXbVYbVZbWabWbbZCbWcbWdbWebQdbSXbSZbWfbjJbszbjJbjJbjJaagaagaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbUnbUnbKFbWgbWhbWibWjbWkbGRbWlbGRbKFaaaaaaaafaaaaaaaafaaabEcbUubUvbVnbWmbWnbWobWpbWqbVncufbWrbWsbWtbWubUwbUybEcbElbMZbPjbWvbWwbKTbWxbWybKTbWzbWAbWBbKTbWCbRybWDbLWbWEbUMbNobUKbWFbWGbSCbWHbOtbMmbOubWIbWJbWKbNtbNubyxbUQbyxbAVbzBbOHbMobWLbWMbWNbWObUTbWMbWPbUWbWPbOEbOGbLcbCfbDrbDrbDrbWQbWRbQVbSNbLrbSObWSbQRbQRbSQbCfbQdbWTbWUbWUbQdbQdbWVbWWbWXbWYbWZbXabUjbXbbSXbSXbSZbSfbjJbXcbjJbXdbjJaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafbKFbXebXfbXfbXgbUsbXhbBwbKFbKFaaaaaaaaaaaaaaaaaaaaabEcbUubUvbXibXjbXkbWobXlbXibXicufbXmbXnbWtbXobUwbUybEcbElbMZbXpbXqbXqbXrbXsbXtbXubXvbXwbXxbKTbNobRybXybXzbWEbXAbNobUKbWFbTKbTLbXBbPCaafbPDbXCbXDbXEbNtbNubyxbUQbyxbKkbKkbOHbMobMpbXFbXGbMpbXHbMpbMpbMpbMpbMpbMobLcbCfbIZbIZbIZbIZbUbbXIbRQbXJbUbbIZbIZbIZbIZbCfbRYbXKbRYbRYbRYbQdbWVbWWbXLbXMcugbXObVdbXPbQdbSXbSZbSfbjJbszbszbszcdKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6650,19 +6644,19 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcfZcgacgacgbcgccgccgccgccgccgccgccgccgccgccgccgdcgecgfcgecggcghcgicgjcfacgkcglbPdbBwbKFbKFbKFbKFbKFbKFbKFbKFbKFbBwbBwcgmbTrcgncgocfgcgpcgpcgqcfgcgrcgscgtcgucgvcgwcgxcgycgzcgAcdpcgBcgCcgDcgEcgFcgGcgHcgIcgJcfgaafcgKaafbNuaafcgKaafbNuaafcgLaafcgLaaaaaaaaaaaaaaaaaaaaacdEcgMcgNcgOcgPcgQcgRcgScdEbzBcgTcgUcgVcgWcgXbEzcgYcgZbyxbjJcdKcdKcdKcdKbjJcdKcdKcdKcdKbjJcdKcdKcdKcdKbjJchabszbjJchbchcbjJbjJcdKcdKbjJbjJcusbZycutbjJchfchgbpmbjJbjJbjJbjJbjJaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeaaaaafaaaaafaafchhaafaaaaafchhaafaaaaafchhaafaaaaaacdQcdQcdQchichjchkcdRbGRbGRbGRbGRbBwaaaaaaaafaaaaaaaafaaaaaaaafaaabBwchlbBwchmchncfgchochpchqchrchschtcfncfncfnchuchvchwchxchtcdpchychzchAcgEchBcdpchCchDchEcfgbNtchFbPDchFbNtchFbPDchFbNtchGbPDchHbNtaaaaaaaaaaaaaaaaaacdEchIchJchKchLchMchNchOchPchQchQbGochRchSbGochTbyxbyxbyxaaaaaaaafaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaabjJchUbLLbjJchebZybjJaaaaaaaaaaaabjJbszbZychVchWchWchXchYchWaaaaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabdaafaafcauchZcawaaacauchZcawaaacauchZcawaafaafaafaafcdQcdRcdRcdRcdRciabXhbGRbGRbBwaafaafcibcibcibcibcibcibcibaafbBwbBwbBwciccidcfgciechqchqchrcifcigcigcihciicijcikcikcilcfncdpcimcinciocipciqcdpcircefciscfgbNtcitciucivbNtciwcixciybNtcizciAciBbNtaaaaaaaaaaaaaaaaaaciCciDchJciEciFciGciHciIcdEaafbyxccUciJbOybOybyxbyxaaaabsaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabjJciKbjJbjJciLbZybjJbjJcdKcdKbjJbjJbszciMciNchWciOciPciQchWaaaaaaaafaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacauchZcawaafcauchZcawaaacauchZcawaaaaaaaaaaaaaaaaaaaaaaaabBwbBwbBwciRbGRbBwaaaaaacibciSciTciUciTciVcibaaabBwbRkbGRciWcidcfgciXciXciYcfgciZcjacjbcjccfocjdcjecjfcjgcjgcdpcjhcjicjjcjkcjlcjmcjncjocjpcfgbNtcjqcjrcjqbNtcjscjtcjsbNtcjucjvcjwbNtaaaaaaaaaaaaaaaaaacdEcjxcjycjzcjAcjBcjCcjDcdEaafaaaaafcjEaaaaaaaafaaaaaaabsaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaacdKcdKcdKbjJcjFbCkbjJcjGcjHcjIceKcjIcjIcjIcjIcjJcjKcjLchWcjMcjNcjOchWaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacauchZcawaafcauchZcawaaacauchZcawaaaaaaaaaaaaaaaaaaaaaaaabBwbBwbBwciRbGRbBwaaaaaacibciSciTciUciTciVcibaaabBwbRkbGRciWcidcfgciXciXciYcfgciZcjacjbcjccfocjdcjecjfcjgcjgcdpcjhcjicjjcjkcjlcjmcjncjocjpcfgbNtcjqcjrcjqbNtcjscjtcjsbNtcjucjvcjwbNtaaaaaaaaaaaaaaaaaacdEcjxcjycjzcjAcjBcjCcjDcdEaafaafaafcjEaaaaaaaafaaaaaaabsaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaacdKcdKcdKbjJcjFbCkbjJcjGcjHcjIceKcjIcjIcjIcjIcjJcjKcjLchWcjMcjNcjOchWaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaGtaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcauchZcawaaacauchZcawaaacauchZcawaafaaaaaaaaaaaaaaaaaaaaacjPcjQcjPbGRbGRbBwaaaaaacibcjRcjScjTcjUcjVcibaaabBwcbtbGRciWcidcfgciXciXciYcfgcjWcgycuvcuucjZcuwcuvcgycuvcuvcgyckbckcckdcjdckeckfckgcfockhcfgbNtcjqckicjqbNtcjsckjcjsbNtcjwckkcjwbNtaaaaaaaaaaaaaaaaaacdEcdEcdEcklckmcknckockpckmaafaaaaafckqaaaaaaaaaaaaaaaabsaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaafcdKbszckrbjJcksbszbjJcktbmDbmDckubmDbmEbmEbmEckvckvckwchWckxckyckzchWaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaafcauchZcawaaacauchZcawaafcauchZcawaafaafaafaafaafaafaafaafbBwbBwbBwbBwbGRbBwaafaafcibckAckBckCckDckAcibaafbBwcfgckEckFckGcfgciXciYciYcfgckHckIckJckKcfockLckMckNckMckMckOckPckQckRckSckTckTckTckUckVcfgbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtbNtaaaaaaaaaaaaaaaaaaaaaaaaaaackWckmckXckYckZckmaafaaaaaaaaaaaaaaaaaaaaaaaaabsaaaaaaaaaaaaaafaafaaaaaaaaaaaaaafaagcdKclabszbXcchabszbjJbjJbjJbjJbjJbszbjJaaaaafaaaaafaaaclbclbclcclbclbaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaafcaucldcawaaacaucldcawaaacaucldcawaafabdaafaaaaaaaaaaaaaaaaaaaaaaaabKFbGRbKFaaaaaacibcleclfclgclhclicibcibcibcfgcljckFclkcfgcfgcfgcfgcfgcllcfnclmcjccfocfncfncfnclncloclpcfocfocjccfnclqcfncfnclrclscfgaafaaaaaaaaaaafaafaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmckncluckpckmaisaaaaaaaaaaaaaaaaaaaaaaaaabsaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagcdKbszbuXbjJclvbszbszbszbszbszbszbszbjJaaaaafaaaaafaaaaafclbclwclbaafaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaabdaafaafaaaaaaaaaaaaaaaaaaaaabKFbGRbKFaaaaaacibclxclyclzclAclBclCclDclEclCclFclGclHclIclJclKclLclMclNcigclOclPclQclRclSclTclUclTclUclVclWclXcigcigclYcigclZcmacfgcfgcfgcfgcfgcgycgycgycgycfgaisaisaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmcmbcmccmdcmeaaaaaaaaaaaaaaaaaeaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdKcdKcdKbjJciKbjJbjJcmfcmgbLLbMMbjJbjJaaaaafaaaaaaaaaaafclbclcclbaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabdabeabeabpabdabdabdabdabeabdabdabecmhaaaaafaafaaaaaaaaaaaaaaaaafbKFbGRbKFaafaafcibcmicmjcmkcmlcmmcmncmocmpcmncmqcmrcmscmtcmucmvcmwcmvcmxcmycmzcmAcmBcmCcmDcmEcmFcmGcmFcmHcmIcmJcikcmAcmKcikcmLcmMcikcmNcfncmOcfgcmPcmQcmRcmScmScmTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmckmcmUckmckmapKaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcmVaafbjJbjJcdKcdKbjJbjJaafaafaaaaaaaaaaaaaafaaacmWaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabpaafcaucldcawaaacaucldcawaaacaucldcawaafabdaafaaaaaaaaaaaaaaaaaaaaaaaabKFbGRbKFaaaaaacibcleclfclgclhclicibcibcibcfgcljckFclkcfgcfgcfgcfgcfgcllcfnclmcjccfocfncfncfnclncloclpcfocfocjccfnclqcfncfnclrclscfgaafaaaaaaaaaaafaafaaaaaaaafaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmckncluckpckmaaaaafaaaaaaaaaaaaaaaaaaaaaabsaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaagcdKbszbuXbjJclvbszbszbszbszbszbszbszbjJaaaaafaaaaafaaaaafclbclwclbaafaaaaaaaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdaaaaafaaaaaaaaaaafaafaafaaaaaaaafaafaaaabdaafaafaaaaaaaaaaaaaaaaaaaaabKFbGRbKFaaaaaacibclxclyclzclAclBclCclDclEclCclFclGclHclIclJclKclLclMclNcigclOclPclQclRclSclTclUclTclUclVclWclXcigcigclYcigclZcmacfgcfgcfgcfgcfgcgycgycgycgycfgaisaisaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmcmbcmccmdcmeaafaafaafaafaafaaeaafaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacdKcdKcdKbjJciKbjJbjJcmfcmgbLLbMMbjJbjJaaaaafaaaaaaaaaaafclbclcclbaafaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabeabeabdabeabeabpabdabdabdabdabeabdabdabecmhaaaaafaafaaaaaaaaaaaaaaaaafbKFbGRbKFaafaafcibcmicmjcmkcmlcmmcmncmocmpcmncmqcmrcmscmtcmucmvcmwcmvcmxcmycmzcmAcmBcmCcmDcmEcmFcmGcmFcmHcmIcmJcikcmAcmKcikcmLcmMcikcmNcfncmOcfgcmPcmQcmRcmScmScmTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltckmckmcmUckmckmaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcmVaafbjJbjJcdKcdKbjJbjJaafaafaaaaaaaaaaaaaafaaacmWaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaabKFbGRbKFaaaaaacibcmXcmYcmZcnacnbcibcnccndcibcnecfncnfcjccfocngcuvcnhcjdcnicnjcnkcnkcnkcnlcnmcnncnocnpcnqcnlcnrcnrclpcfnclqcjdcnscntcnucigcnvcnwchqchqcnxcnycnzcnAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacltaagckmcnBckmcnCaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaafcnDaafaaaaafaaaaafaaaaaaaafaafaafaaaaaaaaaaafaaacmWaaaaafaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaabBwbBwbShbBwbBwaaacibcnEcnFcnGcibcibcibcibcibcfgcnHcfncnfcnIcnJcnKcuvcnLcjdcnMcnNcnOcnPcnQcfgcnRcnScnTcnUcnVcfgcnWcnXcnXcnNcnMcjdcnYcnZcfocfncoacfgcobchqcoccmScmScodaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaackqaagcoecofcoeaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaotaaaaouaaaaafaaaaafaaaaaacogcogcogcohaafaafaafaafcmWaafaafaafaafaafabpcogcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaabBwchlbGRcoibBwaafcibcibcibcibcibaafaaaaaaaafcfgcojcfncokcolcolcomcgycgyconcfgcoocopcopcopcfgcoqcorcoscotcoucfgcopcopcopcoocfgconcgycovcfocfncfgcfgcgycgycgycgycfgapKapKaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaotaaaaouaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaacogaaaaafaaaaafaaaaaaaaacowaaaaafaafaaaaaaaaaaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaaaaabBwbBwbShbBwbBwaaacibcnEcnFcnGcibcibcibcibcibcfgcnHcfncnfcnIcnJcnKcuvcnLcjdcnMcnNcnOcnPcnQcfgcnRcnScnTcnUcnVcfgcnWcnXcnXcnNcnMcjdcnYcnZcfocfncoacfgcobchqcoccmScmScodaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaackqaagcoecofcoeaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcqiaafaaaaafaaaaafaaaaaacogcogcogcohaafaafaafaafcmWaafaafaafaafaafabpcogcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaaaabBwchlbGRcoibBwaafcibcibcibcibcibaafaaaaaaaafcfgcojcfncokcolcolcomcgycgyconcfgcoocopcopcopcfgcoqcorcoscotcoucfgcopcopcopcoocfgconcgycovcfocfncfgcfgcgycgycgycgycfgapKapKaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaagaagaaaaagaagaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaafaaaaafaaaaaacogaaaaafaaaaafaaaaaaaaacowaaaaafaafaaaaaaaaaaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaabKFcoxcoycozbBwaafaaaaaaaafaaaaaaaafaaaaaaaafcfgcoAcoBcjdcoCcoDcoEcgycoFcoGcfgcoHcoIcoJcoIcjXcoKcoLcoMcoNcoucjXcoIcoIcoIcoOcfgcoPcoQckFcfocoRcircoScfncoTcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaafaaaaaacogaaacoUcoUcoUcoUcoUaafcoVaafcoUcoUcoUcoUcoUaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafbKFcoWcoXbIsbBwbBwcoYcoYcoYcoYcoYcoYcoYcoYcgycfgcoZcpacpbcpccoZcfgcfgcfgconcfgcfgcjXcjXcjXcjXcpdcpecpfcpecpgcjXcjXcjXcjXcfgcfgconcfgckFcphcpicpjcpkcfncplcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacogaafcpmcpncpncpncpncpocoVcppcpqcpqcpqcpqcpraafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbKFbKFbKFbKFbBwaafaaaaaaaafaaaaaaaafaaaaaaaafaagaagaagaafaaaaafaagcfgcpscptcpuaaaaaaaaacjXcjXcjXcjXcjXcjXcjXcjXcjXaaaaaaaaacpvcpwcpxcpycpzclTclTcpAcpBcpCcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacogaafcpDcpDcpDcpDcpDaaacoVaaacpDcpDcpDcpDcpDaafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaaaaafaaaaafaafaaaaaaaaaaafcfgcpEcpFaagaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaaaagcpGcpEcfgcpHcpIcfgcgycgycpJcgyaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacogaaaaafaaaaafaafaafaaacoVaaaaafaaaaafaaaaafaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafbKFbKFbKFbKFbBwaafaaaaaaaafaaaaaaaafaaaaaaaafaagaagaagaafaaaaafaagcfgcpscptaAGaaaaaaaaacjXcjXcjXcjXcjXcjXcjXcjXcjXaaaaaaaaaaAHcpwcpxcpycpzclTclTcpAcpBcpCcjXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacogaafcpDcpDcpDcpDcpDaaacoVaaacpDcpDcpDcpDcpDaafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaagaagaagaagaagaaaaafaaaaafaafaaaaaaaaaaafcfgcpEcpFcpFaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacpFcpGcpEcfgcpHcpIcfgcgycgycpJcgyaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacogaaaaafaaaaafaafaafaaacoVaaaaafaaaaafaaaaafaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaacfgcpKcpLcpMaafaafaafcpNaaaaaaaaaaaacpNaaaaaacpNaafaafaafcpOcpPcpQcfgcpRceecgyaafaaacpScpTaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaaacoUcoUcoUcoUcoUaafcoVaafcoUcoUcoUcoUcoUaafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcpEcpFcpUaaaaaaaafaaaaaaaaaaaaaaacpVaaaaaaaaaaafaaaaaacpFcpFcpEcfgaagaagaaaaafaaacpWcpXcpYcpZcqacpZcpYcpZcqacpZcpZcpZcqacpZcpYcpZcqacqbcqcaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaafcpmcpncpncpncpncpocoVcppcpqcpqcpqcpqcpraafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqdcqecpFaaaaaaaafaaaaaaaafaafaafaafaafaaaaaaaafaaaaaacpFcqfcqgcfgaafaafaafaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaaaaaaafaaaaaacpWcqhcpTcqiaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaafcpDcpDcpDcpDcpDaaacoVaafcpDcpDcpDcpDcpDaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -6675,8 +6669,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqUcpFcpFaaaaaaaafaafaafaafaafaafaafaafaafaafaafaaaaaacpFcpFcqUcfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafcqFcqVcqWcqXcqXcqYcqZcracqIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaafcrbaafcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfgcqUcpFcrcaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaacrdcpFcqUcfgaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaafcqFcrecqWcqXcqXcrfcrgcrhcqIaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogaaaaafaaacogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacircfgcfgcfgcpFaafaafaafaafaaaaaaaaaaaaaaaaafaafaafaafcpFcfgcfgcfgciraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaafaafcqFcqFcricqXcqXcqIcrjcqIcqIaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacogcogcogcogcogaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaabCncfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgbCnaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaagaaaaafaaacqHcrkcqXcqXcrlcrmcqHaafaafaafaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabCnbCnbCnbCncrnbCnbCnbCnbCnbCnbCnbCncrnbCnbCnbCnbCnaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdcrocroabdabdaaacqHcrpcrqcrrcrscrtcqHaaaabdabdcrocroabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaacqUcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcfgcqUaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaagaagaaaaafaaacqHcrkcqXcqXcrlcrmcqHaafaafaafaagaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaacqUcqUcqUcqUcqpcqUcqUcqUcqUcqUcqUcqUcqpcqUcqUcqUcqUaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdabdcrocroabdabdaaacqHcrpcrqcrrcrscrtcqHaaaabdabdcrocroabdabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaafaafaafaafaaaaaaaaaaaaaaaaafaaaaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdcrucrvcrwcrxabdabdcqHcrycrzcrAcrBcrCcqHabdabdcrDcrEcrFcrGabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdcrucrvcrFcrHcrIcrJcrJcrKcrLcrJcrMcrNcrJcrJcrIcrOcrvcrFcrGabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacqJcqJcqJcqJcqJcqJcqJcqJcqJcqJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabdcrucrPcrQcrRcrRcrScrTcrUcrVcrWcrWcrXcrYcrZcsacsacsbcsccrGabdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/_maps/map_files/generic/z4.dmm b/_maps/map_files/generic/z4.dmm index 0b6b03799ea..982f946219b 100644 --- a/_maps/map_files/generic/z4.dmm +++ b/_maps/map_files/generic/z4.dmm @@ -352,7 +352,7 @@ "gN" = (/obj/structure/stool/bed/chair{dir = 1},/turf/simulated/floor/plasteel,/area/derelict/arrival) "gO" = (/obj/structure/stool/bed/chair{dir = 1},/obj/structure/window/reinforced{dir = 4},/turf/simulated/floor/plasteel,/area/derelict/arrival) "gP" = (/obj/machinery/door/morgue{name = "coffin storage"; req_access_txt = "22"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/derelict/medical/chapel) -"gQ" = (/obj/structure/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/derelict/medical/chapel) +"gQ" = (/obj/structure/bodycontainer/morgue,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/derelict/medical/chapel) "gR" = (/obj/structure/table,/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/airless{icon_state = "white"},/area/derelict/medical) "gS" = (/obj/structure/window/reinforced,/turf/simulated/floor/plating/airless,/area/space) "gT" = (/obj/structure/window/reinforced,/turf/simulated/floor/airless{icon_state = "white"},/area/space) diff --git a/_maps/map_files/generic/z5.dmm b/_maps/map_files/generic/z5.dmm index 6b9cce0b5cf..b3ad61a985f 100644 --- a/_maps/map_files/generic/z5.dmm +++ b/_maps/map_files/generic/z5.dmm @@ -6,7 +6,6 @@ "af" = (/turf/simulated/mineral,/area/mine/explored) "ag" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "ah" = (/obj/machinery/door/airlock/external,/turf/simulated/floor/airless,/area/mine/abandoned) -"ai" = (/obj/structure/stool/bed/chair/comfy/black,/obj/effect/landmark/start{name = "Assistant"},/turf/simulated/floor/wood,/area/library) "aj" = (/turf/simulated/mineral/random/low_chance,/area/mine/explored) "ak" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating/airless,/area/mine/abandoned) "al" = (/turf/simulated/floor/airless,/area/mine/abandoned) @@ -757,10 +756,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababadadadadadadadadadadadadadadadadadadadadadadadadadadaeadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabababababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafafafafafafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagahagaaaaaaaaaiabababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafajajajajajajafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakalakamaaaaaiababababadadadadadadaeadadadadadadadadadadadadanadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafajajajajajajajajajajajafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqaramaaaiabababadadadadadadadadadadadadadadadaeadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaaaafafafafafafafajajajajajajajajajajajajajafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasatalakamaaaiabababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaafafafafafafajajajajajajajajajajajajajajajajafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagahagaaaaaaaaababababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafafajajajajajajafafafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaakalakamaaaaabababababadadadadadadaeadadadadadadadadadadadadanadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaaaaaafafafafafafajajajajajajajajajajajafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaoapaqaramaaababababadadadadadadadadadadadadadadadaeadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaaaafafafafafafafajajajajajajajajajajajajajafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasatalakamaaababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababaaaaaaaaaaaaaaaaaaaaafafafafafafajajajajajajajajajajajajajajajajafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacacacacacacacacacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaasauavawamamababababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababamamamamamamamamamamafafafafafafajajajajajajajajajajajajajajajajajafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaxalayabababababadadadadadadadadadadadadadadadadadadadadadadadadadaeadadadadadadadadadadadadaeadadadadadadadadadabababazazazazazazazazazazafafafafafafajajajajajajajajajajajajajajajajajajajafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaacacacacacaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamamaAaBalayabababadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadadabababababamamamamamaCamamamafafafafafajajajajajajajajajajajajajajajajajajajajajajafafafafafafafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaacacacacacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index a772d9bffed..7225f85733b 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -304,7 +304,7 @@ if(world.time <= usr.next_move) return 1 - if(usr.stat || usr.paralysis || usr.stunned || usr.weakened) + if(usr.stat || usr.paralysis || usr.stunned || usr.weakened || usr.restrained()) return 1 if (istype(usr.loc,/obj/mecha)) // stops inventory actions in a mech return 1 diff --git a/code/controllers/lighting_controller.dm b/code/controllers/lighting_controller.dm index d4f46b104fe..0ffa34b54f0 100644 --- a/code/controllers/lighting_controller.dm +++ b/code/controllers/lighting_controller.dm @@ -65,7 +65,7 @@ var/datum/controller/lighting/lighting_controller = new () //Does not loop. Should be run prior to process() being called for the first time. //Note: if we get additional z-levels at runtime (e.g. if the gateway thin ever gets finished) we can initialize specific //z-levels with the z_level argument -/datum/controller/lighting/proc/Initialize(var/z_level) +/datum/controller/lighting/proc/initializeLighting(var/z_level) processing = 0 spawn(-1) set background = BACKGROUND_ENABLED diff --git a/code/datums/helper_datums/teleport.dm b/code/datums/helper_datums/teleport.dm index c5bff0660e2..4a041256d06 100644 --- a/code/datums/helper_datums/teleport.dm +++ b/code/datums/helper_datums/teleport.dm @@ -17,11 +17,11 @@ /datum/teleport/proc/start(ateleatom, adestination, aprecision=0, afteleport=1, aeffectin=null, aeffectout=null, asoundin=null, asoundout=null) - if(!Init(arglist(args))) + if(!initTeleport(arglist(args))) return 0 return 1 -/datum/teleport/proc/Init(ateleatom,adestination,aprecision,afteleport,aeffectin,aeffectout,asoundin,asoundout) +/datum/teleport/proc/initTeleport(ateleatom,adestination,aprecision,afteleport,aeffectin,aeffectout,asoundin,asoundout) if(!setTeleatom(ateleatom)) return 0 if(!setDestination(adestination)) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 81c87a7413a..156984be285 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -77,9 +77,9 @@ if(new_character.mind) //disassociate any mind currently in our new body's mind variable new_character.mind.current = null - transfer_antag_huds(new_character) //inherit the antag HUDs from this mind (TODO: move this to the antag datum) current = new_character //associate ourself with our new body new_character.mind = src //and associate our new body with ourself + transfer_antag_huds(new_character) //inherit the antag HUDs from this mind (TODO: move this to a possible antag datum) if(active) new_character.key = key //now transfer the key to link the client to our new body diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index c476753d82b..dc1e5110c05 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -40,7 +40,7 @@ Bartender /datum/job/bartender/equip_items(var/mob/living/carbon/human/H) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/sneakers/black(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest/alt(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/bartender(H), slot_w_uniform) if(H.backbag != 1) diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 4610ea3bafe..d126b5c0a0b 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -38,9 +38,9 @@ Head of Security /datum/job/hos/equip_items(var/mob/living/carbon/human/H) H.equip_to_slot_or_del(new /obj/item/clothing/under/rank/head_of_security(H), slot_w_uniform) H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) - H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/hos(H), slot_wear_suit) + H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/hos/trenchcoat(H), slot_wear_suit) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) - H.equip_to_slot_or_del(new /obj/item/clothing/head/HoS(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/clothing/head/HoS/beret(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/glasses/hud/security/sunglasses(H), slot_glasses) H.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/gun(H), slot_s_store) @@ -164,7 +164,7 @@ Security Officer var/list/dep_access = null default_pda = /obj/item/device/pda/security - default_headset = /obj/item/device/radio/headset/headset_sec + default_headset = /obj/item/device/radio/headset/headset_sec/alt default_backpack = /obj/item/weapon/storage/backpack/security default_satchel = /obj/item/weapon/storage/backpack/satchel_sec @@ -176,7 +176,7 @@ Security Officer H.equip_to_slot_or_del(new /obj/item/clothing/shoes/jackboots(H), slot_shoes) H.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(H), slot_wear_suit) - H.equip_to_slot_or_del(new /obj/item/clothing/head/helmet(H), slot_head) + H.equip_to_slot_or_del(new /obj/item/clothing/head/beret/sec(H), slot_head) H.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(H), slot_gloves) H.equip_to_slot_or_del(new /obj/item/weapon/restraints/handcuffs(H), slot_s_store) H.equip_to_slot_or_del(new /obj/item/device/flash/handheld(H), slot_l_store) @@ -213,22 +213,22 @@ var/list/sec_departments = list("engineering", "supply", "medical", "science") var/obj/item/clothing/under/U = new /obj/item/clothing/under/rank/security(H) switch(department) if("supply") - default_headset = /obj/item/device/radio/headset/headset_sec/department/supply + default_headset = /obj/item/device/radio/headset/headset_sec/alt/department/supply dep_access = list(access_mailsorting, access_mining) destination = /area/security/checkpoint/supply U.attachTie(new /obj/item/clothing/tie/armband/cargo()) if("engineering") - default_headset = /obj/item/device/radio/headset/headset_sec/department/engi + default_headset = /obj/item/device/radio/headset/headset_sec/alt/department/engi dep_access = list(access_construction, access_engine) destination = /area/security/checkpoint/engineering U.attachTie(new /obj/item/clothing/tie/armband/engine()) if("medical") - default_headset = /obj/item/device/radio/headset/headset_sec/department/med + default_headset = /obj/item/device/radio/headset/headset_sec/alt/department/med dep_access = list(access_medical) destination = /area/security/checkpoint/medical U.attachTie(new /obj/item/clothing/tie/armband/medblue()) if("science") - default_headset = /obj/item/device/radio/headset/headset_sec/department/sci + default_headset = /obj/item/device/radio/headset/headset_sec/alt/department/sci dep_access = list(access_research) destination = /area/security/checkpoint/science U.attachTie(new /obj/item/clothing/tie/armband/science()) @@ -258,18 +258,18 @@ var/list/sec_departments = list("engineering", "supply", "medical", "science") initialize() recalculateChannels() -/obj/item/device/radio/headset/headset_sec/department/engi +/obj/item/device/radio/headset/headset_sec/alt/department/engi keyslot = new /obj/item/device/encryptionkey/headset_sec keyslot2 = new /obj/item/device/encryptionkey/headset_eng -/obj/item/device/radio/headset/headset_sec/department/supply +/obj/item/device/radio/headset/headset_sec/alt/department/supply keyslot = new /obj/item/device/encryptionkey/headset_sec keyslot2 = new /obj/item/device/encryptionkey/headset_cargo -/obj/item/device/radio/headset/headset_sec/department/med +/obj/item/device/radio/headset/headset_sec/alt/department/med keyslot = new /obj/item/device/encryptionkey/headset_sec keyslot2 = new /obj/item/device/encryptionkey/headset_med -/obj/item/device/radio/headset/headset_sec/department/sci +/obj/item/device/radio/headset/headset_sec/alt/department/sci keyslot = new /obj/item/device/encryptionkey/headset_sec - keyslot2 = new /obj/item/device/encryptionkey/headset_sci + keyslot2 = new /obj/item/device/encryptionkey/headset_sci \ No newline at end of file diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 7e787e9e0b4..a097f9090ab 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -228,7 +228,7 @@ update_flag /obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) if(!istype(W, /obj/item/weapon/wrench) && !istype(W, /obj/item/weapon/tank) && !istype(W, /obj/item/device/analyzer) && !istype(W, /obj/item/device/pda)) - visible_message("[user] hits the [src] with a [W]!") + visible_message("[user] hits \the [src] with a [W]!") src.health -= W.force src.add_fingerprint(user) healthcheck() diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index ef1fcd654cf..45c7aad316d 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -117,16 +117,16 @@ text("[on ? "On" : "Off"]")) /obj/machinery/bot/cleanbot/attackby(obj/item/weapon/W, mob/user as mob) if (istype(W, /obj/item/weapon/card/id)||istype(W, /obj/item/device/pda)) - if(allowed(usr) && !open && !emagged) + if(allowed(user) && !open && !emagged) locked = !locked - user << "You [ locked ? "lock" : "unlock"] the [src] behaviour controls." + user << "You [ locked ? "lock" : "unlock"] \the [src] behaviour controls." else if(emagged) user << "ERROR" if(open) user << "Please close the access panel before locking it." else - user << "This [src] doesn't seem to respect your authority." + user << "\The [src] doesn't seem to respect your authority." else return ..() diff --git a/code/game/machinery/bots/floorbot.dm b/code/game/machinery/bots/floorbot.dm index 01d94d68bab..c740b26f02f 100644 --- a/code/game/machinery/bots/floorbot.dm +++ b/code/game/machinery/bots/floorbot.dm @@ -343,7 +343,7 @@ obj/machinery/bot/floorbot/process_scan(var/scan_target) result = F if(FIX_TILE) //Selects only damaged floors. F = scan_target - if(F.broken || F.burnt) + if(istype(F) && (F.broken || F.burnt)) result = F if(TILE_EMAG) //Emag mode! Rip up the floor and cause breaches to space! F = scan_target diff --git a/code/game/machinery/camera/camera_assembly.dm b/code/game/machinery/camera/camera_assembly.dm index a6e179c1050..cdd9cda8520 100644 --- a/code/game/machinery/camera/camera_assembly.dm +++ b/code/game/machinery/camera/camera_assembly.dm @@ -121,7 +121,7 @@ // Upgrades! if(is_type_in_list(W, possible_upgrades) && !is_type_in_list(W, upgrades)) // Is a possible upgrade and isn't in the camera already. - user << "You attach the [W] into the assembly inner circuits." + user << "You attach \the [W] into the assembly inner circuits." upgrades += W user.drop_item() W.loc = src @@ -156,7 +156,7 @@ if(!WT.isOn()) return 0 - user << "You start to weld the [src].." + user << "You start to weld \the [src].." playsound(src.loc, 'sound/items/Welder.ogg', 50, 1) WT.eyecheck(user) busy = 1 diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 5932d7a2420..5badb4c9f9f 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -437,12 +437,12 @@ return G.affecting.loc = src.loc G.affecting.Weaken(5) - visible_message("[G.assailant] dunks [G.affecting] into the [src]!", 3) + visible_message("[G.assailant] dunks [G.affecting] into \the [src]!", 3) qdel(W) return else if (istype(W, /obj/item) && get_dist(src,user)<2) user.drop_item(src) - visible_message(" [user] dunks [W] into the [src]!", 3) + visible_message(" [user] dunks [W] into \the [src]!", 3) return /obj/structure/holohoop/CanPass(atom/movable/mover, turf/target, height=0) diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm index e95d705c247..aa6b6139e21 100644 --- a/code/game/machinery/deployable.dm +++ b/code/game/machinery/deployable.dm @@ -67,11 +67,11 @@ for reference: user.changeNext_move(CLICK_CD_MELEE) if (istype(W, /obj/item/stack/sheet/mineral/wood)) if (src.health < src.maxhealth) - visible_message("[user] begins to repair the [src]!") + visible_message("[user] begins to repair \the [src]!") if(do_after(user,20)) src.health = src.maxhealth W:use(1) - visible_message("[user] repairs the [src]!") + visible_message("[user] repairs \the [src]!") return else return @@ -173,12 +173,12 @@ for reference: src.health = src.maxhealth src.emagged = 0 src.req_access = list(access_security) - visible_message("[user] repairs the [src]!") + visible_message("[user] repairs \the [src]!") return else if (src.emagged > 0) src.emagged = 0 src.req_access = list(access_security) - visible_message("[user] repairs the [src]!") + visible_message("[user] repairs \the [src]!") return return else @@ -196,7 +196,7 @@ for reference: if (src.emagged == 0) src.emagged = 1 src.req_access = null - user << "You break the ID authentication lock on the [src]." + user << "You break the ID authentication lock on \the [src]." var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(2, 1, src) s.start() @@ -204,7 +204,7 @@ for reference: return else if (src.emagged == 1) src.emagged = 2 - user << "You short out the anchoring mechanism on the [src]." + user << "You short out the anchoring mechanism on \the [src]." var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread s.set_up(2, 1, src) s.start() diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index da3d9d80101..c775105c5b6 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -36,7 +36,7 @@ var/obj/item/weapon/weldingtool/W = C if(W.remove_fuel(0, user)) blocked = !blocked - user << text("You [blocked?"welded":"unwelded"] the [src]") + user << text("You [blocked?"welded":"unwelded"] \the [src]") update_icon() return diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 959767107ae..410f092e2a6 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -76,10 +76,10 @@ add_fingerprint(user) src.disable = !src.disable if (src.disable) - user.visible_message("[user] has disabled the [src]!", "You disable the connection to the [src].") + user.visible_message("[user] has disabled \the [src]!", "You disable the connection to \the [src].") icon_state = "[base_state]-d" if (!src.disable) - user.visible_message("[user] has reconnected the [src]!", "You fix the connection to the [src].") + user.visible_message("[user] has reconnected \the [src]!", "You fix the connection to \the [src].") if(src.powered()) icon_state = "[base_state]" else diff --git a/code/game/machinery/pipe/construction.dm b/code/game/machinery/pipe/construction.dm index d36763e98e8..bb16ba4c47c 100644 --- a/code/game/machinery/pipe/construction.dm +++ b/code/game/machinery/pipe/construction.dm @@ -391,8 +391,8 @@ Buildable meters playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) user.visible_message( \ - "[user] fastens the [src].", \ - "You have fastened the [src].", \ + "[user] fastens \the [src].", \ + "You have fastened \the [src].", \ "You hear ratchet.") qdel(src) // remove the pipe item diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 3c33b98904f..ec9bd835142 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -253,7 +253,7 @@ coil.use(1) health = max_health malfunction = 0 - user << "You repair the [src]!" + user << "You repair \the [src]!" update_icon() else if(istype(W, /obj/item/weapon/wrench)) @@ -262,13 +262,13 @@ return if(!anchored && !isinspace()) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - user << " You secure the [src] to the floor!" + user << " You secure \the [src] to the floor!" anchored = 1 else if(anchored) playsound(src.loc, 'sound/items/Ratchet.ogg', 100, 1) - user << " You unsecure the [src] from the floor!" + user << " You unsecure \the [src] from the floor!" if(active) - user << " The [src] shuts off!" + user << " \The [src] shuts off!" src.shields_down() anchored = 0 diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 08ee0a278b8..58d4ba0cf8f 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -65,7 +65,7 @@ return else if(istype(I, /obj/item/weapon/screwdriver)) open = !open - user.visible_message("[user] [open ? "opens" : "closes"] the hatch on the [src].", "You [open ? "open" : "close"] the hatch on the [src].") + user.visible_message("[user] [open ? "opens" : "closes"] the hatch on \the [src].", "You [open ? "open" : "close"] the hatch on \the [src].") update_icon() if(!open && user.machine == src) user << browse(null, "window=spaceheater") @@ -103,7 +103,7 @@ else on = !on - user.visible_message("[user] switches [on ? "on" : "off"] the [src].","You switch [on ? "on" : "off"] the [src].") + user.visible_message("[user] switches [on ? "on" : "off"] \the [src].","You switch [on ? "on" : "off"] \the [src].") update_icon() return diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index 5bf69e5fcad..58d962377aa 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -431,7 +431,7 @@ user.last_special = world.time + CLICK_CD_BREAKOUT var/breakout_time = 2 user << "You start kicking against the doors to escape! (This will take about [breakout_time] minutes.)" - visible_message("You see [user] kicking against the doors of the [src]!") + visible_message("You see [user] kicking against the doors of \the [src]!") if(do_after(user,(breakout_time*60*10))) if(!user || user.stat != CONSCIOUS || user.loc != src || isopen || !islocked) return @@ -491,7 +491,7 @@ if(istype(I, /obj/item/weapon/crowbar) && !isopen) if(toggle_open(user)) dump_everything() - user << text("You pry the [src] open.") + user << text("You pry \the [src] open.") update_icon() return if(istype(I, /obj/item/weapon/screwdriver)) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 85c9856ad68..bdb48027570 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -970,10 +970,15 @@ /obj/item/clothing/under/pants/camo = 1,/obj/item/clothing/under/pants/blackjeans=2,/obj/item/clothing/under/pants/khaki=2, /obj/item/clothing/under/pants/white=2,/obj/item/clothing/under/pants/red=1,/obj/item/clothing/under/pants/black=2, /obj/item/clothing/under/pants/tan=2,/obj/item/clothing/under/pants/blue=1,/obj/item/clothing/under/pants/track=1, - /obj/item/clothing/tie/waistcoat=1,/obj/item/clothing/under/sundress=2,/obj/item/clothing/under/blacktango=1, - /obj/item/clothing/suit/jacket=3,/obj/item/clothing/glasses/regular=2,/obj/item/clothing/head/sombrero=1, - /obj/item/clothing/suit/poncho=1,/obj/item/clothing/suit/ianshirt=1,/obj/item/clothing/shoes/laceup=2, - /obj/item/clothing/shoes/sneakers/black=4,/obj/item/clothing/shoes/sandal=1) + /obj/item/clothing/tie/scarf/red=1,/obj/item/clothing/tie/scarf/green=1,/obj/item/clothing/tie/scarf/darkblue=1, + /obj/item/clothing/tie/scarf/purple=1,/obj/item/clothing/tie/scarf/yellow=1,/obj/item/clothing/tie/scarf/orange=1, + /obj/item/clothing/tie/scarf/lightblue=1,/obj/item/clothing/tie/scarf/white=1,/obj/item/clothing/tie/scarf/black=1, + /obj/item/clothing/tie/scarf/zebra=1,/obj/item/clothing/tie/scarf/christmas=1,/obj/item/clothing/tie/stripedredscarf=1, + /obj/item/clothing/tie/stripedbluescarf=1,/obj/item/clothing/tie/stripedgreenscarf=1,/obj/item/clothing/tie/waistcoat=1, + /obj/item/clothing/under/sundress=2,/obj/item/clothing/under/blacktango=1,/obj/item/clothing/suit/jacket=3, + /obj/item/clothing/glasses/regular=2,/obj/item/clothing/head/sombrero=1,/obj/item/clothing/suit/poncho=1, + /obj/item/clothing/suit/ianshirt=1,/obj/item/clothing/shoes/laceup=2,/obj/item/clothing/shoes/sneakers/black=4, + /obj/item/clothing/shoes/sandal=1) contraband = list(/obj/item/clothing/under/syndicate/tacticool=1,/obj/item/clothing/mask/balaclava=1,/obj/item/clothing/head/ushanka=1,/obj/item/clothing/under/soviet=1) premium = list(/obj/item/clothing/under/suit_jacket/checkered=1,/obj/item/clothing/head/mailman=1,/obj/item/clothing/under/rank/mailman=1,/obj/item/clothing/suit/jacket/leather=1,/obj/item/clothing/under/pants/mustangjeans=1) refill_canister = /obj/item/weapon/vending_refill/clothing diff --git a/code/game/mecha/equipment/tools/medical_tools.dm b/code/game/mecha/equipment/tools/medical_tools.dm index 3ebb4eb7c52..5208671d792 100644 --- a/code/game/mecha/equipment/tools/medical_tools.dm +++ b/code/game/mecha/equipment/tools/medical_tools.dm @@ -52,7 +52,7 @@ occupant_message("[target] will not fit into the sleeper because they have a slime latched onto their head.") return occupant_message("You start putting [target] into [src].") - chassis.visible_message("[chassis] starts putting [target] into the [src].") + chassis.visible_message("[chassis] starts putting [target] into \the [src].") var/C = chassis.loc var/T = target.loc if(do_after_cooldown(target)) diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index d7102b10cf4..cf8854b4bcd 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -212,7 +212,7 @@ user.changeNext_move(CLICK_CD_BREAKOUT) user.last_special = world.time + CLICK_CD_BREAKOUT user << "You struggle against the tight bonds! (This will take about [breakout_time] minutes.)" - visible_message("You see something struggling and writhing in the [src]!") + visible_message("You see something struggling and writhing in \the [src]!") if(do_after(user,(breakout_time*60*10))) if(!user || user.stat != CONSCIOUS || user.loc != src) return diff --git a/code/game/objects/items/blueprints.dm b/code/game/objects/items/blueprints.dm index d10eec6fed3..4ba21eaa553 100644 --- a/code/game/objects/items/blueprints.dm +++ b/code/game/objects/items/blueprints.dm @@ -57,7 +57,7 @@ . = ..() var/area/A = get_area() if(get_area_type() == AREA_STATION) - . += "
According to the [src], you are now in \"[strip_html_properly(A.name)]\".
" + . += "According to \the [src], you are now in \"[strip_html_properly(A.name)]\".
" var/datum/browser/popup = new(user, "blueprints", "[src]", 700, 500) popup.set_content(.) popup.open() @@ -82,7 +82,7 @@ . = ..() var/area/A = get_area() if(get_area_type() == AREA_STATION) - . += "According to the [src], you are now in \"[strip_html_properly(A.name)]\".
" + . += "According to \the [src], you are now in \"[strip_html_properly(A.name)]\".
" . += "You may move an amendment to the drawing.
" var/datum/browser/popup = new(user, "blueprints", "[src]", 700, 500) popup.set_content(.) diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 9b141cacdc3..2ed698dd029 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -45,7 +45,7 @@ playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) qdel(active_dummy) active_dummy = null - usr << "You deactivate the [src]." + usr << "You deactivate \the [src]." var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src)) T.icon = 'icons/effects/effects.dmi' flick("emppulse",T) @@ -57,7 +57,7 @@ var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc) C.activate(O, usr, saved_icon, saved_icon_state, saved_overlays, saved_underlays, src) qdel(O) - usr << "You activate the [src]." + usr << "You activate \the [src]." var/obj/effect/overlay/T = new/obj/effect/overlay(get_turf(src)) T.icon = 'icons/effects/effects.dmi' flick("emppulse",T) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index bea19e11fbe..587837fab45 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -212,7 +212,7 @@ obj/item/device/flashlight/lamp/bananalamp . = ..() // All good, turn it on. if(.) - user.visible_message("[user] lights the [src].", "You light the [src]!") + user.visible_message("[user] lights \the [src].", "You light \the [src]!") force = on_damage damtype = "fire" processing_objects += src diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 4e0804e76cf..27e4dd6631a 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -57,7 +57,7 @@ else if(istype(W, /obj/item/weapon/screwdriver)) if(diode) - user << "You remove the [diode.name] from the [src]." + user << "You remove the [diode.name] from \the [src]." diode.loc = get_turf(src.loc) diode = null return diff --git a/code/game/objects/items/devices/lightreplacer.dm b/code/game/objects/items/devices/lightreplacer.dm index 4adb60e3655..dbb1d9a4b29 100644 --- a/code/game/objects/items/devices/lightreplacer.dm +++ b/code/game/objects/items/devices/lightreplacer.dm @@ -137,7 +137,7 @@ if(target.status != LIGHT_OK) if(CanUse(U)) if(!Use(U)) return - U << "You replace the [target.fitting] with the [src]." + U << "You replace the [target.fitting] with \the [src]." if(target.status != LIGHT_EMPTY) diff --git a/code/game/objects/items/weapons/cigs_lighters.dm b/code/game/objects/items/weapons/cigs_lighters.dm index a848cb4dc3f..966256487df 100644 --- a/code/game/objects/items/weapons/cigs_lighters.dm +++ b/code/game/objects/items/weapons/cigs_lighters.dm @@ -70,6 +70,22 @@ CIGARETTE PACKETS ARE IN FANCY.DM matchburnout() return ..() +/obj/item/weapon/match/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob) + if(!isliving(M)) + return + M.IgniteMob() + if(!istype(M,/mob/living/carbon)) + return + if(istype(M.wear_mask, /obj/item/clothing/mask/cigarette) && user.zone_sel.selecting == "mouth" && lit) + var/obj/item/clothing/mask/cigarette/cig = M.wear_mask + if(M == user) + cig.attackby(src, user) + else + cig.light("[user] holds the [name] out for [M], and lights the [cig.name].") + else + ..() + + ////////////////// //FINE SMOKABLES// ////////////////// diff --git a/code/game/objects/items/weapons/defib.dm b/code/game/objects/items/weapons/defib.dm index 6321c651172..df21b3dc5dd 100644 --- a/code/game/objects/items/weapons/defib.dm +++ b/code/game/objects/items/weapons/defib.dm @@ -122,7 +122,7 @@ bcell.updateicon() bcell.loc = get_turf(src.loc) bcell = null - user << "You remove the cell from the [src]." + user << "You remove the cell from [src]." update_icon() return diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm index 2ff4fc4e0e4..f1b1ad4dc09 100644 --- a/code/game/objects/items/weapons/explosives.dm +++ b/code/game/objects/items/weapons/explosives.dm @@ -83,14 +83,15 @@ spawn(timer*10) if(target && !target.gc_destroyed) explode(get_turf(target)) - qdel(src) - + else + qdel(src) /obj/item/weapon/c4/proc/explode(var/turf/location) location.ex_act(2, target) explosion(location,0,0,3) if(target) target.overlays -= image_overlay + qdel(src) /obj/item/weapon/c4/attack(mob/M as mob, mob/user as mob, def_zone) return \ No newline at end of file diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index 32acca5e4b4..9de94916d1e 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -88,7 +88,7 @@ /obj/item/weapon/kitchen/utensil/knife/attack(target as mob, mob/living/user as mob) if ((CLUMSY in user.mutations) && prob(50)) - user << " You accidentally cut yourself with the [src]." + user << " You accidentally cut yourself with \the [src]." user.take_organ_damage(20) return playsound(loc, 'sound/weapons/bladeslice.ogg', 50, 1, -1) diff --git a/code/game/objects/items/weapons/shields.dm b/code/game/objects/items/weapons/shields.dm index aa2cb519a56..97a8d47e844 100644 --- a/code/game/objects/items/weapons/shields.dm +++ b/code/game/objects/items/weapons/shields.dm @@ -108,7 +108,7 @@ throw_speed = 2 w_class = 4 slot_flags = SLOT_BACK - user << "You extend the [src]." + user << "You extend \the [src]." else force = 3 throwforce = 3 diff --git a/code/game/objects/items/weapons/storage/backpack.dm b/code/game/objects/items/weapons/storage/backpack.dm index db9ae7d2eb6..f205aa88ef5 100644 --- a/code/game/objects/items/weapons/storage/backpack.dm +++ b/code/game/objects/items/weapons/storage/backpack.dm @@ -51,6 +51,7 @@ message_admins("[key_name_admin(user)] detonated a bag of holding") log_game("[key_name(user)] detonated a bag of holding") qdel(src) + singulo.process() return ..() diff --git a/code/game/objects/items/weapons/stunbaton.dm b/code/game/objects/items/weapons/stunbaton.dm index c21bb64f252..7c7b9857c5c 100644 --- a/code/game/objects/items/weapons/stunbaton.dm +++ b/code/game/objects/items/weapons/stunbaton.dm @@ -79,7 +79,7 @@ bcell.updateicon() bcell.loc = get_turf(src.loc) bcell = null - user << "You remove the cell from the [src]." + user << "You remove the cell from [src]." status = 0 update_icon() return diff --git a/code/game/objects/items/weapons/teleportation.dm b/code/game/objects/items/weapons/teleportation.dm index be5bc7c9402..7dd2aa930d7 100644 --- a/code/game/objects/items/weapons/teleportation.dm +++ b/code/game/objects/items/weapons/teleportation.dm @@ -138,7 +138,7 @@ Frequency: /obj/item/weapon/hand_tele/attack_self(mob/user as mob) var/turf/current_location = get_turf(user)//What turf is the user on? - if(!current_location||current_location.z==2||current_location.z>=7)//If turf was not found or they're on z level 2 or >7 which does not currently exist. + if(!current_location||current_location.z==2||current_location.z>=7 || !istype(user.loc, /turf))//If turf was not found or they're on z level 2 or >7 which does not currently exist. or if user is not located on a turf user << "\The [src] is malfunctioning." return var/list/L = list( ) diff --git a/code/game/objects/items/weapons/tools.dm b/code/game/objects/items/weapons/tools.dm index fc4b26368f2..6c9ba5f5d96 100644 --- a/code/game/objects/items/weapons/tools.dm +++ b/code/game/objects/items/weapons/tools.dm @@ -210,9 +210,9 @@ if(1) force = 15 damtype = "fire" - update_icon() if(prob(5)) remove_fuel(1) + update_icon() //This is to start fires. process() is only called if the welder is on. var/turf/location = loc @@ -283,14 +283,12 @@ /obj/item/weapon/weldingtool/proc/check_fuel(mob/user) if(get_fuel() <= 0 && welding) toggle(user, 1) - + update_icon() //mob icon update if(ismob(loc)) var/mob/M = loc - if(M.r_hand == src) - M.update_inv_r_hand(0) - else if(M.l_hand == src) - M.update_inv_l_hand(0) + M.update_inv_r_hand(0) + M.update_inv_l_hand(0) return 0 return 1 @@ -321,7 +319,7 @@ damtype = "brute" hitsound = "swing_hit" icon_state = "welder" - welding = 0 + //Decides whether or not to damage a player's eyes based on what they're wearing as protection @@ -416,7 +414,6 @@ m_amt = 70 g_amt = 120 origin_tech = "engineering=4;plasmatech=3" - icon_state = "ewelder" var/last_gen = 0 diff --git a/code/game/objects/items/weapons/twohanded.dm b/code/game/objects/items/weapons/twohanded.dm index 3b0ba69ed11..ec56c0adf0c 100644 --- a/code/game/objects/items/weapons/twohanded.dm +++ b/code/game/objects/items/weapons/twohanded.dm @@ -224,7 +224,7 @@ obj/item/weapon/twohanded/ sleep(1) /obj/item/weapon/twohanded/dualsaber/proc/impale(mob/living/user as mob) - user << "You twirl around a bit before losing your balance and impaling yourself on the [src]." + user << "You twirl around a bit before losing your balance and impaling yourself on \the [src]." if (force_wielded) user.take_organ_damage(20,25) else @@ -242,7 +242,7 @@ obj/item/weapon/twohanded/ if(istype(loc, /mob/living)) if (HULK in M.mutations) loc << "You lack the grace to wield this to its full extent." - hitsound = 'sound/weapons/blade1.ogg' + hitsound = 'sound/weapons/blade1.ogg' /obj/item/weapon/twohanded/dualsaber/unwield() //Specific unwield () to switch hitsounds. diff --git a/code/game/objects/items/weapons/vending_items.dm b/code/game/objects/items/weapons/vending_items.dm index 7b14099d374..daca863af4f 100644 --- a/code/game/objects/items/weapons/vending_items.dm +++ b/code/game/objects/items/weapons/vending_items.dm @@ -61,4 +61,4 @@ /obj/item/weapon/vending_refill/clothing machine_name = "ClothesMate" icon_state = "refill_clothes" - charges = 16// of 48 + charges = 20// of 62 diff --git a/code/game/objects/structures/crates_lockers/bins.dm b/code/game/objects/structures/crates_lockers/bins.dm index d18db0702c4..275eccc890f 100644 --- a/code/game/objects/structures/crates_lockers/bins.dm +++ b/code/game/objects/structures/crates_lockers/bins.dm @@ -51,15 +51,15 @@ . = ..(O, user, 0, 0, 0) if(.) if(O != user) - user.visible_message("[user] tries to stuff [O] into the [src].", \ - "You try to stuff [O] into the [src].", \ + user.visible_message("[user] tries to stuff [O] into [src].", \ + "You try to stuff [O] into [src].", \ "You hear clanging.") if (!do_after(user, 40)) return if(!..(O, user, 0, 0)) return - user.visible_message("[user] stuffs [O] into the [src].", \ - "You stuff [O] into the [src].", \ + user.visible_message("[user] stuffs [O] into[src].", \ + "You stuff [O] into [src].", \ "You hear a loud metal bang.") insert(O, 1, !opened) if(opened) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index e43c8e3203d..54ed6539c1b 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -144,7 +144,7 @@ /obj/structure/closet/attack_animal(mob/living/simple_animal/user as mob) if(user.environment_smash) user.do_attack_animation(src) - visible_message("[user] destroys the [src].") + visible_message("[user] destroys \the [src].") dump_contents() qdel(src) @@ -170,7 +170,7 @@ if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0,user)) - user << "You begin cutting the [src] apart..." + user << "You begin cutting \the [src] apart..." playsound(loc, 'sound/items/Welder.ogg', 40, 1) if(do_after(user,40,5,1)) if( !src.opened || !istype(src, /obj/structure/closet) || !user || !WT || !WT.isOn() || !user.loc ) @@ -192,7 +192,7 @@ else if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W if(WT.remove_fuel(0,user)) - user << "You begin [welded ? "unwelding":"welding"] the [src]..." + user << "You begin [welded ? "unwelding":"welding"] \the [src]..." playsound(loc, 'sound/items/Welder2.ogg', 40, 1) if(do_after(user,40,5,1)) if(src.opened || !istype(src, /obj/structure/closet) || !user || !WT || !WT.isOn() || !user.loc ) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm index ed8584da142..1406b2f5630 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -47,7 +47,7 @@ new /obj/item/clothing/shoes/sneakers/brown(src) new /obj/item/weapon/storage/box/ids(src) new /obj/item/weapon/storage/box/ids(src) - new /obj/item/clothing/suit/armor/vest(src) + new /obj/item/clothing/suit/armor/vest/alt(src) new /obj/item/weapon/gun/energy/gun(src) new /obj/item/device/flash/handheld(src) new /obj/item/clothing/glasses/sunglasses(src) @@ -74,9 +74,8 @@ new /obj/item/device/radio/headset/heads/hos(src) new /obj/item/clothing/under/hosparadefem(src) new /obj/item/clothing/under/hosparademale(src) - new /obj/item/clothing/suit/armor/hos/trenchcoat(src) - new /obj/item/clothing/under/rank/head_of_security/formal(src) - new /obj/item/clothing/head/HoS/beret(src) + new /obj/item/clothing/suit/armor/hos(src) + new /obj/item/clothing/head/HoS(src) new /obj/item/clothing/glasses/hud/security/eyepatch(src) new /obj/item/weapon/storage/lockbox/loyalty(src) new /obj/item/weapon/storage/box/flashbangs(src) @@ -103,11 +102,10 @@ /obj/structure/closet/secure_closet/warden/New() ..() new /obj/item/device/radio/headset/headset_sec(src) - new /obj/item/clothing/suit/armor/vest/warden(src) + new /obj/item/clothing/suit/armor/vest/warden/(src) new /obj/item/clothing/head/warden(src) - new /obj/item/clothing/suit/armor/vest(src) - new /obj/item/clothing/under/rank/warden/formal(src) - new /obj/item/clothing/head/warden/drill(src) + new /obj/item/clothing/suit/armor/vest/warden/alt(src) + new /obj/item/clothing/head/beret/sec/navywarden(src) new /obj/item/clothing/glasses/hud/security/sunglasses(src) new /obj/item/clothing/mask/gas/sechailer(src) new /obj/item/weapon/storage/box/flashbangs(src) @@ -134,10 +132,9 @@ /obj/structure/closet/secure_closet/security/New() ..() new /obj/item/clothing/suit/armor/vest(src) - new /obj/item/clothing/head/helmet(src) new /obj/item/device/radio/headset/headset_sec/alt(src) + new /obj/item/clothing/head/soft/sec(src) new /obj/item/weapon/reagent_containers/spray/pepper(src) - new /obj/item/clothing/mask/gas/sechailer(src) new /obj/item/device/flash/handheld(src) new /obj/item/weapon/grenade/flashbang(src) new /obj/item/weapon/gun/energy/taser(src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 983d4699aa1..92128cf4bef 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -28,12 +28,12 @@ new /obj/item/clothing/shoes/jackboots(src) new /obj/item/clothing/shoes/jackboots(src) new /obj/item/clothing/shoes/jackboots(src) - new /obj/item/clothing/head/soft/sec(src) - new /obj/item/clothing/head/soft/sec(src) - new /obj/item/clothing/head/soft/sec(src) new /obj/item/clothing/head/beret/sec(src) new /obj/item/clothing/head/beret/sec(src) new /obj/item/clothing/head/beret/sec(src) + new /obj/item/clothing/head/soft/sec(src) + new /obj/item/clothing/head/soft/sec(src) + new /obj/item/clothing/head/soft/sec(src) new /obj/item/clothing/head/santa(src) new /obj/item/clothing/head/santa(src) new /obj/item/clothing/head/santa(src) diff --git a/code/game/objects/structures/girders.dm b/code/game/objects/structures/girders.dm index 5d4f5dc9b18..4768a2941a2 100644 --- a/code/game/objects/structures/girders.dm +++ b/code/game/objects/structures/girders.dm @@ -177,7 +177,7 @@ if (P.pipe_type in list(0, 1, 5)) //simple pipes, simple bends, and simple manifolds. user.drop_item() P.loc = src.loc - user << "You fit the pipe into the [src]!" + user << "You fit the pipe into \the [src]!" else ..() diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 25128f564a9..fdb8eea13d1 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -138,8 +138,8 @@ if(!shock(user, 90)) playsound(loc, 'sound/items/Screwdriver.ogg', 100, 1) anchored = !anchored - user.visible_message("[user] [anchored ? "fastens" : "unfastens"] the [src].", \ - "You have [anchored ? "fastened the [src] to" : "unfastened the [src] from"] the floor.") + user.visible_message("[user] [anchored ? "fastens" : "unfastens"] [src].", \ + "You have [anchored ? "fastened [src] to" : "unfastened [src] from"] the floor.") return else if(istype(W, /obj/item/stack/rods) && destroyed) var/obj/item/stack/rods/R = W diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index f07deae0109..fd314a167c3 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -1,40 +1,108 @@ /* Morgue stuff * Contains: * Morgue - * Morgue trays - * Creamatorium - * Creamatorium trays + * Morgue tray + * Crematorium + * Crematorium tray + * Crematorium button */ /* - * Morgue + * Bodycontainer + * Parent class for morgue and crematorium + * For overriding only */ - -/obj/structure/morgue - name = "Morgue" - desc = "Used to keep bodies in until someone fetches them." +/obj/structure/bodycontainer icon = 'icons/obj/stationobjs.dmi' icon_state = "morgue1" density = 1 - var/obj/structure/m_tray/connected = null anchored = 1.0 -/obj/structure/morgue/New() - connected = new(src) - connected.connected = src + var/obj/structure/tray/connected = null + var/locked = 0 + var/opendir = SOUTH + +/obj/structure/bodycontainer/New() ..() -/obj/structure/morgue/Destroy() +/obj/structure/bodycontainer/Destroy() open() if(connected) qdel(connected) connected = null ..() -/obj/structure/morgue/on_log() +/obj/structure/bodycontainer/on_log() update_icon() -/obj/structure/morgue/update_icon() +/obj/structure/bodycontainer/update_icon() + return + +/obj/structure/bodycontainer/alter_health() + return src.loc + +/obj/structure/bodycontainer/attack_paw(mob/user as mob) + return src.attack_hand(user) + +/obj/structure/bodycontainer/attack_hand(mob/user as mob) + if(locked) + user << "It's locked." + return + if(!connected) + user << "That doesn't appear to have a tray." + return + if(connected.loc == src) + open() + else + close() + add_fingerprint(user) + +/obj/structure/bodycontainer/attackby(P as obj, mob/user as mob) + if (istype(P, /obj/item/weapon/pen)) + var/t = input(user, "What would you like the label to be?", text("[]", name), null) as text + if (user.get_active_hand() != P) + return + if ((!in_range(src, usr) && src.loc != user)) + return + t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) + if (t) + name = text("[]- '[]'", initial(name), t) + else + name = initial(name) + add_fingerprint(user) + +/obj/structure/bodycontainer/container_resist() + open() + +/obj/structure/bodycontainer/proc/open() + playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) + var/turf/T = get_step(src, opendir) + for(var/atom/movable/A in src) + A.loc = T + update_icon() + +/obj/structure/bodycontainer/proc/close() + playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) + for(var/atom/movable/A in connected.loc) + if(!A.anchored || A == connected) + A.loc = src + update_icon() + +/* + * Morgue + */ +/obj/structure/bodycontainer/morgue + name = "morgue" + desc = "Used to keep bodies in until someone fetches them." + icon_state = "morgue1" + opendir = EAST + +/obj/structure/bodycontainer/morgue/New() + connected = new/obj/structure/tray/m_tray(src) + connected.connected = src + ..() + +/obj/structure/bodycontainer/morgue/update_icon() if (!connected || connected.loc != src) //open or the tray broke off somehow src.icon_state = "morgue0" else @@ -55,128 +123,29 @@ src.icon_state = "morgue4"//clone that mofo break -/obj/structure/morgue/alter_health() - return src.loc - -/obj/structure/morgue/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/structure/morgue/attack_hand(mob/user as mob) - if(!connected) - user << "That doesn't appear to have a tray." - return - if(connected.loc == src) - open() - else - close() - add_fingerprint(user) - -/obj/structure/morgue/attackby(P as obj, mob/user as mob) - if (istype(P, /obj/item/weapon/pen)) - var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text - if (user.get_active_hand() != P) - return - if ((!in_range(src, usr) && src.loc != user)) - return - t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) - if (t) - src.name = text("Morgue- '[]'", t) - else - src.name = "Morgue" - add_fingerprint(user) - -/obj/structure/morgue/container_resist() - open() - -/obj/structure/morgue/proc/open() - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - var/turf/T = get_step(src, EAST) - for(var/atom/movable/A in src) - A.loc = T - update_icon() - -/obj/structure/morgue/proc/close() - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - for(var/atom/movable/A in connected.loc) - if(!A.anchored || A == connected) - A.loc = src - update_icon() - - -/* - * Morgue tray - */ -/obj/structure/m_tray - name = "morgue tray" - desc = "Apply corpse before closing." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "morguet" - density = 1 - layer = 2.0 - var/obj/structure/morgue/connected = null - anchored = 1.0 - throwpass = 1 - -/obj/structure/m_tray/Destroy() - if(connected) - connected.connected = null - connected.update_icon() - connected = null - ..() - -/obj/structure/m_tray/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/structure/m_tray/attack_hand(mob/user as mob) - if (src.connected) - connected.close() - add_fingerprint(user) - else - user << "That's not connected to anything." - -/obj/structure/m_tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) - if ((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src) || user.contents.Find(O))) - return - if (!ismob(O) && !istype(O, /obj/structure/closet/body_bag)) - return - if (!ismob(user) || user.stat || user.lying || user.stunned) - return - O.loc = src.loc - if (user != O) - for(var/mob/B in viewers(user, 3)) - B.show_message("[user] stuffs [O] into [src]!", 1) - return - - /* * Crematorium */ - -/obj/structure/crematorium +var/global/list/crematoriums = new/list() +/obj/structure/bodycontainer/crematorium name = "crematorium" desc = "A human incinerator. Works well on barbeque nights." - icon = 'icons/obj/stationobjs.dmi' icon_state = "crema1" - density = 1 - var/obj/structure/c_tray/connected = null - anchored = 1.0 - var/cremating = 0 + opendir = SOUTH var/id = 1 - var/locked = 0 -/obj/structure/crematorium/New() - connected = new(src) +/obj/structure/bodycontainer/crematorium/Destroy() + crematoriums.Remove(src) + ..() + +/obj/structure/bodycontainer/crematorium/New() + connected = new/obj/structure/tray/c_tray(src) connected.connected = src + + crematoriums.Add(src) ..() -/obj/structure/crematorium/Destroy() - open() - if(connected) - qdel(connected) - connected = null - ..() - -/obj/structure/crematorium/update_icon() +/obj/structure/bodycontainer/crematorium/update_icon() if(!connected || connected.loc != src) icon_state = "crema0" else @@ -186,51 +155,13 @@ else src.icon_state = "crema1" - if(cremating) + if(locked) src.icon_state = "crema_active" return - -/obj/structure/crematorium/alter_health() - return src.loc - -/obj/structure/crematorium/attack_paw(mob/user as mob) - return src.attack_hand(user) - -/obj/structure/crematorium/attack_hand(mob/user as mob) - if (cremating || locked) - user << "It's locked." - return - if (!connected) - user << "That doesn't appear to have a tray." - return - if(connected.loc == src) - open() - else - close() - add_fingerprint(user) - -/obj/structure/crematorium/attackby(P as obj, mob/user as mob) - if (istype(P, /obj/item/weapon/pen)) - var/t = input(user, "What would you like the label to be?", text("[]", src.name), null) as text - if (user.get_active_hand() != P) - return - if ((!in_range(src, usr) > 1 && src.loc != user)) - return - t = copytext(sanitize(t),1,MAX_MESSAGE_LEN) - if (t) - src.name = text("Crematorium- '[]'", t) - else - src.name = "Crematorium" - src.add_fingerprint(user) - return - -/obj/structure/crematorium/container_resist() - open() - -/obj/structure/crematorium/proc/cremate(mob/user as mob) - if(cremating) +/obj/structure/bodycontainer/crematorium/proc/cremate(mob/user as mob) + if(locked) return //don't let you cremate something twice or w/e if(contents.len <= 1) @@ -240,7 +171,6 @@ else audible_message("You hear a roar as the crematorium activates.") - cremating = 1 locked = 1 update_icon() @@ -261,57 +191,62 @@ new /obj/effect/decal/cleanable/ash(src) sleep(30) - cremating = 0 locked = 0 update_icon() - playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) - -/obj/structure/crematorium/proc/open() - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - var/turf/T = get_step(src, SOUTH) - for(var/atom/movable/A in src) - A.loc = T - update_icon() - -/obj/structure/crematorium/proc/close() - playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1) - for(var/atom/movable/A in connected.loc) - if(!A.anchored || A == connected) - A.loc = src - update_icon() + playsound(src.loc, 'sound/machines/ding.ogg', 50, 1) //you horrible people /* - * Crematorium tray +Crematorium Switch +*/ +/obj/machinery/crema_switch/attack_hand(mob/user as mob) + if(src.allowed(usr)) + for (var/obj/structure/bodycontainer/crematorium/C in crematoriums) + if (C.id != id) + continue + + C.cremate(user) + else + usr << "Access denied." + return + +/obj/machinery/crema_switch/attackby(obj/item/W as obj, mob/user as mob) + if(W.GetID()) + attack_hand(user) + else + return ..() + + +/* + * Generic Tray + * Parent class for morguetray and crematoriumtray + * For overriding only */ -/obj/structure/c_tray - name = "crematorium tray" - desc = "Apply body before burning." +/obj/structure/tray icon = 'icons/obj/stationobjs.dmi' - icon_state = "cremat" density = 1 - layer = 2.0 - var/obj/structure/crematorium/connected = null + layer = 2.9 + var/obj/structure/bodycontainer/connected = null anchored = 1.0 throwpass = 1 -/obj/structure/c_tray/Destroy() +/obj/structure/tray/Destroy() if(connected) connected.connected = null connected.update_icon() connected = null ..() -/obj/structure/c_tray/attack_paw(mob/user as mob) +/obj/structure/tray/attack_paw(mob/user as mob) return src.attack_hand(user) -/obj/structure/c_tray/attack_hand(mob/user as mob) +/obj/structure/tray/attack_hand(mob/user as mob) if (src.connected) connected.close() add_fingerprint(user) else user << "That's not connected to anything." -/obj/structure/c_tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) +/obj/structure/tray/MouseDrop_T(atom/movable/O as mob|obj, mob/user as mob) if ((!( istype(O, /atom/movable) ) || O.anchored || get_dist(user, src) > 1 || get_dist(user, O) > 1 || user.contents.Find(src) || user.contents.Find(O))) return if (!ismob(O) && !istype(O, /obj/structure/closet/body_bag)) @@ -325,13 +260,19 @@ //Foreach goto(99) return -/obj/machinery/crema_switch/attack_hand(mob/user as mob) - if(src.allowed(usr)) - for (var/obj/structure/crematorium/C in world) - if (C.id == id) - if (!C.cremating) - C.cremate(user) - else - usr << "Access denied." - return +/* + * Crematorium tray + */ +/obj/structure/tray/c_tray + name = "crematorium tray" + desc = "Apply body before burning." + icon_state = "cremat" + +/* + * Morgue tray + */ +/obj/structure/tray/m_tray + name = "morgue tray" + desc = "Apply corpse before closing." + icon_state = "morguet" diff --git a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm index 29126839d37..24614a6849e 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/alien_nests.dm @@ -39,7 +39,7 @@ else M.visible_message(\ "[user.name] secretes a thick vile goo, securing [M.name] into [src]!",\ - "[user.name] drenches you in a foul-smelling resin, trapping you in the [src]!",\ + "[user.name] drenches you in a foul-smelling resin, trapping you in [src]!",\ "You hear squelching...") M.buckled = src M.loc = src.loc diff --git a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm index ad4f2705f56..bbe3dd51bd3 100644 --- a/code/game/objects/structures/stool_bed_chair_nest/chairs.dm +++ b/code/game/objects/structures/stool_bed_chair_nest/chairs.dm @@ -64,7 +64,7 @@ else if(!usr || !isturf(usr.loc)) return - if(usr.stat || usr.restrained() || !usr.canmove) + if(usr.stat || usr.restrained()) return spin() diff --git a/code/game/objects/structures/table_frames.dm b/code/game/objects/structures/table_frames.dm index d26f0183ac0..5e4e26cbabd 100644 --- a/code/game/objects/structures/table_frames.dm +++ b/code/game/objects/structures/table_frames.dm @@ -29,7 +29,7 @@ return if(istype(I, /obj/item/stack/sheet/plasteel)) var/obj/item/stack/sheet/plasteel/P = I - user << "Now adding the [P] to the [src]." + user << "Now adding [P] to [src]." if(do_after(user, 50)) new /obj/structure/table/reinforced(src.loc) qdel(src) @@ -37,7 +37,7 @@ return if(istype(I, /obj/item/stack/sheet/metal)) var/obj/item/stack/sheet/metal/M = I - user << "Now adding the [M] to the [src]." + user << "Now adding [M] to [src]." if(do_after(user, 20)) new /obj/structure/table(src.loc) qdel(src) @@ -45,7 +45,7 @@ return if(istype(I, /obj/item/stack/sheet/glass)) var/obj/item/stack/sheet/glass/G = I - user << "Now adding the [G] to the [src]." + user << "Now adding [G] to [src]." if(do_after(user, 20)) new /obj/structure/table/glass(src.loc) qdel(src) @@ -72,7 +72,7 @@ return if(istype(I, /obj/item/stack/sheet/mineral/wood)) var/obj/item/stack/sheet/mineral/wood/W = I - user << "Now adding the [W] to the [src]." + user << "Now adding [W] to [src]." if(do_after(user, 20)) new /obj/structure/table/wood(src.loc) qdel(src) @@ -80,7 +80,7 @@ return if(istype(I, /obj/item/stack/tile/carpet)) var/obj/item/stack/tile/carpet/C = I - user << "Now adding the [C] to the [src]." + user << "Now adding [C] to [src]." if(do_after(user, 20)) new /obj/structure/table/wood/poker(src.loc) qdel(src) diff --git a/code/game/objects/structures/transit_tubes/transit_tube.dm b/code/game/objects/structures/transit_tubes/transit_tube.dm index 12bfc62e84d..871ffe59b0f 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube.dm @@ -44,7 +44,7 @@ obj/structure/transit_tube/ex_act(severity, target) for(var/obj/structure/transit_tube_pod/pod in src.loc) user << "Remove the pod first." return - user.visible_message("[user] starts to deattach the [src]!", "You start deattaching the [name]...") + user.visible_message("[user] starts to deattach \the [src]!", "You start deattaching the [name]...") playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1) if(do_after(user, 35)) user << "You deattach the [name]!" diff --git a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm index 9e9afcc61dc..eeaa29e8a85 100644 --- a/code/game/objects/structures/transit_tubes/transit_tube_pod.dm +++ b/code/game/objects/structures/transit_tubes/transit_tube_pod.dm @@ -31,11 +31,11 @@ for(var/obj/structure/transit_tube/station/T in loc) return if(src.contents.len) - user.visible_message("[user] empties the [src].", "You empty the [src].") + user.visible_message("[user] empties \the [src].", "You empty \the [src].") src.empty() return else - user << "You free the [src]." + user << "You free \the [src]." var/obj/structure/c_transit_tube_pod/R = new/obj/structure/c_transit_tube_pod(src.loc) src.transfer_fingerprints_to(R) R.add_fingerprint(user) diff --git a/code/game/objects/structures/watercloset.dm b/code/game/objects/structures/watercloset.dm index 62b181272f2..e5e02663f55 100644 --- a/code/game/objects/structures/watercloset.dm +++ b/code/game/objects/structures/watercloset.dm @@ -77,7 +77,7 @@ GM.adjustOxyLoss(5) swirlie = null else - user.visible_message("[user] slams [GM.name] into the [src]!", "You slam [GM] into [src]!") + user.visible_message("[user] slams [GM.name] into [src]!", "You slam [GM] into [src]!") GM.adjustBruteLoss(8) else user << "You need a tighter grip." @@ -167,7 +167,7 @@ if(I.type == /obj/item/device/analyzer) user << "The water temperature seems to be [watertemp]." if(istype(I, /obj/item/weapon/wrench)) - user << "You begin to adjust the temperature valve with the [I]." + user << "You begin to adjust the temperature valve with \the [I]." if(do_after(user, 50)) switch(watertemp) if("normal") @@ -176,7 +176,7 @@ watertemp = "boiling" if("boiling") watertemp = "normal" - user.visible_message("[user] adjusts the shower with the [I].", "You adjust the shower with the [I] to [watertemp] temperature.") + user.visible_message("[user] adjusts the shower with \the [I].", "You adjust the shower with \the [I] to [watertemp] temperature.") log_game("[key_name(user)] has wrenched a shower to [watertemp] at ([x],[y],[z])") add_hiddenprint(user) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 3c54a472e40..31c9d545afd 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -348,7 +348,7 @@ atom/proc/generate_female_clothing(index,t_color,icon) flags |= (visor_flags) flags_inv |= (visor_flags_inv) icon_state = initial(icon_state) - usr << "You pull the [src] down." + usr << "You pull \the [src] down." flash_protect = initial(flash_protect) tint = initial(tint) else @@ -356,7 +356,7 @@ atom/proc/generate_female_clothing(index,t_color,icon) flags &= ~(visor_flags) flags_inv &= ~(visor_flags_inv) icon_state = "[initial(icon_state)]up" - usr << "You push the [src] up." + usr << "You push \the [src] up." flash_protect = 0 tint = 0 diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index de811f2cbae..e91317052e5 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -32,14 +32,14 @@ flags |= (visor_flags) flags_inv |= (visor_flags_inv) icon_state = initial(icon_state) - usr << "You pull the [src] down." + usr << "You pull \the [src] down." usr.update_inv_head(0) else up = !up flags &= ~(visor_flags) flags_inv &= ~(visor_flags_inv) icon_state = "[initial(icon_state)]up" - usr << "You push the [src] up." + usr << "You push \the [src] up." usr.update_inv_head(0) /obj/item/clothing/head/helmet/swat diff --git a/code/modules/clothing/head/jobs.dm b/code/modules/clothing/head/jobs.dm index 1a25b642c24..28d8d3ff50c 100644 --- a/code/modules/clothing/head/jobs.dm +++ b/code/modules/clothing/head/jobs.dm @@ -74,16 +74,11 @@ armor = list(melee = 60, bullet = 5, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0) strip_delay = 60 -/obj/item/clothing/head/warden/drill - name = "warden's drill hat" - desc = "A robust drill hat for the Warden. For keeping the officers and prisoners in line." - icon_state = "wardendrill" - /obj/item/clothing/head/beret/sec name = "security beret" - desc = "A robust beret with the security insignia emblazoned on it. For officers that are more inclined towards style than safety." + desc = "A robust beret with the security insignia emblazoned on it. Uses reinforced fabric to offer sufficent protection." icon_state = "beret_badge" - armor = list(melee = 30, bullet = 5, laser = 15, energy = 10, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 30, bullet = 25, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) strip_delay = 60 /obj/item/clothing/head/beret/sec/navyhos @@ -95,6 +90,8 @@ name = "warden's beret" desc = "A special beret with the Warden's insignia emblazoned on it. For wardens with class." icon_state = "wardenberet" + armor = list(melee = 60, bullet = 5, laser = 25, energy = 10, bomb = 25, bio = 0, rad = 0) + strip_delay = 60 /obj/item/clothing/head/beret/sec/navyofficer desc = "A special beret with the security insignia emblazoned on it. For officers with class." diff --git a/code/modules/clothing/head/soft_caps.dm b/code/modules/clothing/head/soft_caps.dm index 6f4a94a1645..56423b8cf80 100644 --- a/code/modules/clothing/head/soft_caps.dm +++ b/code/modules/clothing/head/soft_caps.dm @@ -90,7 +90,7 @@ desc = "It's a robust baseball hat in tasteful red colour." icon_state = "secsoft" item_color = "sec" - armor = list(melee = 30, bullet = 5, laser = 5, energy = 15, bomb = 0, bio = 0, rad = 0) + armor = list(melee = 30, bullet = 25, laser = 25, energy = 10, bomb = 0, bio = 0, rad = 0) strip_delay = 60 /obj/item/clothing/head/soft/emt diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 79eeb774dcc..a665e594809 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -10,12 +10,20 @@ /obj/item/clothing/suit/armor/vest name = "armor" - desc = "An armored vest that protects against most types of damage." + desc = "A slim armored vest that protects against most types of damage." icon_state = "armor" item_state = "armor" blood_overlay_type = "armor" armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) +/obj/item/clothing/suit/armor/vest/alt + name = "armor" + desc = "An armored vest that protects against most types of damage. This is a civilian variant." + icon_state = "armoralt" + item_state = "armoralt" + blood_overlay_type = "armor" + armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) + /obj/item/clothing/suit/armor/hos name = "armored greatcoat" desc = "A greatcoat enchanced with a special alloy for some protection and style for those with a commanding presence." @@ -38,7 +46,7 @@ /obj/item/clothing/suit/armor/vest/warden name = "warden's jacket" - desc = "An armored jacket with silver rank pips and livery." + desc = "A navy-blue armored jacket with blue shoulder designations and '/Warden/' stitched into one of the chest pockets." icon_state = "warden_jacket" item_state = "armor" body_parts_covered = CHEST|GROIN|ARMS @@ -46,6 +54,11 @@ heat_protection = CHEST|GROIN|ARMS|HANDS strip_delay = 70 +/obj/item/clothing/suit/armor/vest/warden/alt + name = "warden's armored jacket" + desc = "A red jacket with silver rank pips and body armor strapped on top." + icon_state = "warden_alt" + /obj/item/clothing/suit/armor/vest/capcarapace name = "captain's carapace" desc = "An armored vest reinforced with ceramic plates and pauldrons to provide additional protection whilst still offering maximum mobility and flexibility. Issued only to the station's finest, although it does chafe your nipples." @@ -70,12 +83,12 @@ put_on_delay = 60 /obj/item/clothing/suit/armor/bulletproof - name = "tactical armor" - desc = "A kevlar vest that excels in protecting the wearer against traditional projectile weaponry and explosives." + name = "bulletproof armor" + desc = "A bulletproof vest that excels in protecting the wearer against traditional projectile weaponry and explosives to a minor extent." icon_state = "bulletproof" item_state = "armor" blood_overlay_type = "armor" - armor = list(melee = 25, bullet = 60, laser = 25, energy = 10, bomb = 40, bio = 0, rad = 0) + armor = list(melee = 25, bullet = 80, laser = 10, energy = 10, bomb = 40, bio = 0, rad = 0) strip_delay = 70 put_on_delay = 50 diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index 2440011164f..bb6be40c422 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -10,29 +10,23 @@ */ /obj/item/clothing/under/rank/security - name = "security jumpsuit" - desc = "A security jumpsuit for officers complete with nanotrasen waistbuckle." + name = "security suit" + desc = "A formal security suit for officers complete with nanotrasen belt buckle." icon_state = "security" - item_state = "r_suit" + item_state = "gy_suit" item_color = "security" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) strip_delay = 50 /obj/item/clothing/under/rank/warden - name = "warden's jumpsuit" - desc = "A security jumpsuit suit with decorative silver pips and 'warden' written on the shoulders." - icon_state = "wardenformal" - item_state = "r_suit" + name = "warden's suit" + desc = "A formal security suit for the warden with blue desginations and '/Warden/' stiched into the shoulders." + icon_state = "warden" + item_state = "gy_suit" item_color = "warden" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) strip_delay = 50 -/obj/item/clothing/under/rank/warden/formal - name = "warden's formal suit" - desc = "A security formal suit with silver shoulder pips, a striped red tie, and tan slacks - the universal sign of bureaucracy.=" - icon_state = "wardenformal" - item_color = "wardenformal" - /* * Detective */ @@ -57,19 +51,13 @@ */ /obj/item/clothing/under/rank/head_of_security name = "head of security's suit" - desc = "The jumpsuit worn by those few with the dedication to achieve the position of Head of Security." + desc = "A security suit decorated for those few with the dedication to achieve the position of Head of Security." icon_state = "hos" - item_state = "r_suit" + item_state = "gy_suit" item_color = "hos" armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0) strip_delay = 60 -/obj/item/clothing/under/rank/head_of_security/formal - name = "head of security's formal suit" - desc = "The formal suit for a Head of Security with a superior sense of style." - icon_state = "hosformal" - item_color = "hosformal" - /* * Navy uniforms */ diff --git a/code/modules/clothing/under/ties.dm b/code/modules/clothing/under/ties.dm index 75cd9b7f17b..1520f2cfcf7 100644 --- a/code/modules/clothing/under/ties.dm +++ b/code/modules/clothing/under/ties.dm @@ -195,4 +195,85 @@ name = "medical guard armband" desc = "An armband, worn by the station's security forces to display which department they're assigned to. This one is white and blue." icon_state = "medblueband" - item_color = "medblueband" \ No newline at end of file + item_color = "medblueband" + +/////////// +//SCARVES// +/////////// + +/obj/item/clothing/tie/scarf + name = "scarf" + desc = "A stylish scarf. The perfect winter accessory for those with a keen fashion sense, and those who just can't handle a cold breeze on their necks." + +/obj/item/clothing/tie/scarf/red + name = "red scarf" + icon_state = "redscarf" + item_color = "redscarf" + +/obj/item/clothing/tie/scarf/green + name = "green scarf" + icon_state = "greenscarf" + item_color = "greenscarf" + +/obj/item/clothing/tie/scarf/darkblue + name = "dark blue scarf" + icon_state = "darkbluescarf" + item_color = "darkbluescarf" + +/obj/item/clothing/tie/scarf/purple + name = "purple scarf" + icon_state = "purplescarf" + item_color = "purplescarf" + +/obj/item/clothing/tie/scarf/yellow + name = "yellow scarf" + icon_state = "yellowscarf" + item_color = "yellowscarf" + +/obj/item/clothing/tie/scarf/orange + name = "orange scarf" + icon_state = "orangescarf" + item_color = "orangescarf" + +/obj/item/clothing/tie/scarf/lightblue + name = "light blue scarf" + icon_state = "lightbluescarf" + item_color = "lightbluescarf" + +/obj/item/clothing/tie/scarf/white + name = "white scarf" + icon_state = "whitescarf" + item_color = "whitescarf" + +/obj/item/clothing/tie/scarf/black + name = "black scarf" + icon_state = "blackscarf" + item_color = "blackscarf" + +/obj/item/clothing/tie/scarf/zebra + name = "zebra scarf" + icon_state = "zebrascarf" + item_color = "zebrascarf" + +/obj/item/clothing/tie/scarf/christmas + name = "christmas scarf" + icon_state = "christmasscarf" + item_color = "christmasscarf" + +//The three following scarves don't have the scarf subtype +//This is because Ian can equip anything from that subtype +//However, these 3 don't have corgi versions of their sprites +/obj/item/clothing/tie/stripedredscarf + name = "striped red scarf" + icon_state = "stripedredscarf" + item_color = "stripedredscarf" + +/obj/item/clothing/tie/stripedgreenscarf + name = "striped green scarf" + icon_state = "stripedgreenscarf" + item_color = "stripedgreenscarf" + +/obj/item/clothing/tie/stripedbluescarf + name = "striped blue scarf" + icon_state = "stripedbluescarf" + item_color = "stripedbluescarf" diff --git a/code/modules/food&drinks/drinks/drinks/bottle.dm b/code/modules/food&drinks/drinks/drinks/bottle.dm index b5ef66b0700..5b63c23a921 100644 --- a/code/modules/food&drinks/drinks/drinks/bottle.dm +++ b/code/modules/food&drinks/drinks/drinks/bottle.dm @@ -101,7 +101,7 @@ //The reagents in the bottle splash all over the target, thanks for the idea Nodrak if(src.reagents) for(var/mob/O in viewers(user, null)) - O.show_message(text("The contents of the [src] splashes all over [target]!"), 1) + O.show_message(text("The contents of \the [src] splashes all over [target]!"), 1) src.reagents.reaction(target, TOUCH) //Finally, smash the bottle. This kills (del) the bottle. diff --git a/code/modules/food&drinks/food/condiment.dm b/code/modules/food&drinks/food/condiment.dm index d2851da7ee9..948445dc33b 100644 --- a/code/modules/food&drinks/food/condiment.dm +++ b/code/modules/food&drinks/food/condiment.dm @@ -45,7 +45,7 @@ if(src.reagents.has_reagent("sugar") && M.satiety < -150 && M.nutrition > NUTRITION_LEVEL_STARVING + 50 ) M << "You don't feel like drinking any more sugary food at the moment." return 0 - M << "You swallow some of contents of the [src]." + M << "You swallow some of contents of \the [src]." if(reagents.total_volume) reagents.reaction(M, INGEST) spawn(5) diff --git a/code/modules/food&drinks/food/snacks.dm b/code/modules/food&drinks/food/snacks.dm index ae48a397bbb..1dc37168afa 100644 --- a/code/modules/food&drinks/food/snacks.dm +++ b/code/modules/food&drinks/food/snacks.dm @@ -189,10 +189,10 @@ if(isanimal(M)) if(iscorgi(M)) if(bitecount == 0 || prob(50)) - M.emote("me", 1, "nibbles away at the [src]") + M.emote("me", 1, "nibbles away at \the [src]") bitecount++ if(bitecount >= 5) - var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where the [src] was") + var/sattisfaction_text = pick("burps from enjoyment", "yaps for more", "woofs twice", "looks at the area where \the [src] was") if(sattisfaction_text) M.emote("me", 1, "[sattisfaction_text]") qdel(src) diff --git a/code/modules/hydroponics/growninedible.dm b/code/modules/hydroponics/growninedible.dm index 168c7c15f76..02e1160db2c 100644 --- a/code/modules/hydroponics/growninedible.dm +++ b/code/modules/hydroponics/growninedible.dm @@ -67,7 +67,7 @@ /obj/item/weapon/grown/log/attackby(obj/item/weapon/W as obj, mob/user as mob) ..() if(istype(W, /obj/item/weapon/circular_saw) || istype(W, /obj/item/weapon/hatchet) || (istype(W, /obj/item/weapon/twohanded/fireaxe) && W:wielded) || istype(W, /obj/item/weapon/melee/energy)) - user.show_message("You make planks out of the [src]!", 1) + user.show_message("You make planks out of \the [src]!", 1) for(var/i = 0,i < 2,i++) var/obj/item/stack/sheet/mineral/wood/NG = new (user.loc) for (var/obj/item/stack/sheet/mineral/wood/G in user.loc) @@ -83,7 +83,7 @@ if(is_type_in_list(W,accepted)) var/obj/item/weapon/reagent_containers/food/snacks/grown/leaf = W if(leaf.dry) - user.show_message("You wrap the [W] around the log, turning it into a torch!") + user.show_message("You wrap \the [W] around the log, turning it into a torch!") var/obj/item/device/flashlight/flare/torch/T = new /obj/item/device/flashlight/flare/torch(user.loc) usr.unEquip(W) usr.put_in_active_hand(T) diff --git a/code/modules/hydroponics/hydroponics.dm b/code/modules/hydroponics/hydroponics.dm index 3ab6a0b24eb..fb5b32efcc9 100644 --- a/code/modules/hydroponics/hydroponics.dm +++ b/code/modules/hydroponics/hydroponics.dm @@ -721,12 +721,12 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob) if(anchored == 2) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) anchored = 1 - user << "You unscrew the [src]'s hoses." + user << "You unscrew \the [src]'s hoses." else if(anchored == 1) playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1) anchored = 2 - user << "You screw in the [src]'s hoses." + user << "You screw in \the [src]'s hoses." for(var/obj/machinery/hydroponics/h in range(1,src)) spawn() diff --git a/code/modules/mining/ores_coins.dm b/code/modules/mining/ores_coins.dm index d168bb0444e..fa1b079478e 100644 --- a/code/modules/mining/ores_coins.dm +++ b/code/modules/mining/ores_coins.dm @@ -152,7 +152,7 @@ if(triggered_by_explosive) log_game("An explosion has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])") else - user.visible_message("[user] strikes the [src], causing a chain reaction!") + user.visible_message("[user] strikes \the [src], causing a chain reaction!") log_game("[key_name(usr)] has primed a [name] for detonation at [A.name]([bombturf.x],[bombturf.y],[bombturf.z])") spawn(det_time) if(primed) diff --git a/code/modules/mob/living/simple_animal/friendly/corgi.dm b/code/modules/mob/living/simple_animal/friendly/corgi.dm index 7726038a19a..debdf749a93 100644 --- a/code/modules/mob/living/simple_animal/friendly/corgi.dm +++ b/code/modules/mob/living/simple_animal/friendly/corgi.dm @@ -25,7 +25,15 @@ var/obj/item/inventory_back var/facehugger -/mob/living/simple_animal/corgi/Life() +/mob/living/simple_animal/corgi/New() + ..() + regenerate_icons() + +/mob/living/simple_animal/corgi/Die() + ..() + regenerate_icons() + +/mob/living/simple_animal/corgi/revive() ..() regenerate_icons() @@ -141,7 +149,7 @@ //The objects that corgis can wear on their backs. var/list/allowed_types = list( - /obj/item/clothing/suit/armor/vest, + /obj/item/clothing/suit/armor/vest/alt, /obj/item/device/radio, /obj/item/device/radio/off, /obj/item/clothing/suit/cardborg, @@ -192,134 +200,138 @@ var/valid = 0 //Various hats and items (worn on his head) change Ian's behaviour. His attributes are reset when a hat is removed. - switch(item_to_add.type) - if( /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/head/that, /obj/item/clothing/head/collectable/paper, - /obj/item/clothing/head/hardhat, /obj/item/clothing/head/collectable/hardhat,/obj/item/clothing/head/hardhat/white, /obj/item/weapon/paper ) - valid = 1 + if(istype(item_to_add, /obj/item/clothing/tie/scarf)) + valid = 1 + else + switch(item_to_add.type) + if( /obj/item/clothing/glasses/sunglasses, /obj/item/clothing/head/that, /obj/item/clothing/head/collectable/paper, + /obj/item/clothing/head/hardhat, /obj/item/clothing/head/collectable/hardhat, /obj/item/clothing/head/hardhat/white, + /obj/item/weapon/paper) + valid = 1 - if(/obj/item/clothing/head/helmet) - name = "Sergeant [real_name]" - desc = "The ever-loyal, the ever-vigilant." - valid = 1 + if(/obj/item/clothing/head/helmet) + name = "Sergeant [real_name]" + desc = "The ever-loyal, the ever-vigilant." + valid = 1 - if(/obj/item/clothing/head/chefhat, /obj/item/clothing/head/collectable/chef) - name = "Sous chef [real_name]" - desc = "Your food will be taste-tested. All of it." - valid = 1 + if(/obj/item/clothing/head/chefhat, /obj/item/clothing/head/collectable/chef) + name = "Sous chef [real_name]" + desc = "Your food will be taste-tested. All of it." + valid = 1 - if(/obj/item/clothing/head/caphat, /obj/item/clothing/head/collectable/captain) - name = "Captain [real_name]" - desc = "Probably better than the last captain." - valid = 1 + if(/obj/item/clothing/head/caphat, /obj/item/clothing/head/collectable/captain) + name = "Captain [real_name]" + desc = "Probably better than the last captain." + valid = 1 - if(/obj/item/clothing/head/kitty, /obj/item/clothing/head/collectable/kitty) - name = "Runtime" - emote_see = list("coughs up a furball", "stretches") - emote_hear = list("purrs") - speak = list("Purrr", "Meow!", "MAOOOOOW!", "HISSSSS", "MEEEEEEW") - desc = "It's a cute little kitty-cat! ... wait ... what the hell?" - valid = 1 + if(/obj/item/clothing/head/kitty, /obj/item/clothing/head/collectable/kitty) + name = "Runtime" + emote_see = list("coughs up a furball", "stretches") + emote_hear = list("purrs") + speak = list("Purrr", "Meow!", "MAOOOOOW!", "HISSSSS", "MEEEEEEW") + desc = "It's a cute little kitty-cat! ... wait ... what the hell?" + valid = 1 - if(/obj/item/clothing/head/rabbitears, /obj/item/clothing/head/collectable/rabbitears) - name = "Hoppy" - emote_see = list("twitches its nose", "hops around a bit") - desc = "This is Hoppy. It's a corgi-...urmm... bunny rabbit" - valid = 1 + if(/obj/item/clothing/head/rabbitears, /obj/item/clothing/head/collectable/rabbitears) + name = "Hoppy" + emote_see = list("twitches its nose", "hops around a bit") + desc = "This is Hoppy. It's a corgi-...urmm... bunny rabbit" + valid = 1 - if(/obj/item/clothing/head/beret, /obj/item/clothing/head/collectable/beret) - name = "Yann" - desc = "Mon dieu! C'est un chien!" - speak = list("le woof!", "le bark!", "JAPPE!!") - emote_see = list("cowers in fear.", "surrenders.", "plays dead.","looks as though there is a wall in front of him.") - valid = 1 + if(/obj/item/clothing/head/beret, /obj/item/clothing/head/collectable/beret) + name = "Yann" + desc = "Mon dieu! C'est un chien!" + speak = list("le woof!", "le bark!", "JAPPE!!") + emote_see = list("cowers in fear.", "surrenders.", "plays dead.","looks as though there is a wall in front of him.") + valid = 1 - if(/obj/item/clothing/head/det_hat) - name = "Detective [real_name]" - desc = "[name] sees through your lies..." - emote_see = list("investigates the area.","sniffs around for clues.","searches for scooby snacks.") - valid = 1 + if(/obj/item/clothing/head/det_hat) + name = "Detective [real_name]" + desc = "[name] sees through your lies..." + emote_see = list("investigates the area.","sniffs around for clues.","searches for scooby snacks.") + valid = 1 - if(/obj/item/clothing/head/nursehat) - name = "Nurse [real_name]" - desc = "[name] needs 100cc of beef jerky...STAT!" - valid = 1 + if(/obj/item/clothing/head/nursehat) + name = "Nurse [real_name]" + desc = "[name] needs 100cc of beef jerky...STAT!" + valid = 1 - if(/obj/item/clothing/head/pirate, /obj/item/clothing/head/collectable/pirate) - name = "[pick("Ol'","Scurvy","Black","Rum","Gammy","Bloody","Gangrene","Death","Long-John")] [pick("kibble","leg","beard","tooth","poop-deck","Threepwood","Le Chuck","corsair","Silver","Crusoe")]" - desc = "Yaarghh!! Thar' be a scurvy dog!" - emote_see = list("hunts for treasure.","stares coldly...","gnashes his tiny corgi teeth!") - emote_hear = list("growls ferociously!", "snarls.") - speak = list("Arrrrgh!!","Grrrrrr!") - valid = 1 + if(/obj/item/clothing/head/pirate, /obj/item/clothing/head/collectable/pirate) + name = "[pick("Ol'","Scurvy","Black","Rum","Gammy","Bloody","Gangrene","Death","Long-John")] [pick("kibble","leg","beard","tooth","poop-deck","Threepwood","Le Chuck","corsair","Silver","Crusoe")]" + desc = "Yaarghh!! Thar' be a scurvy dog!" + emote_see = list("hunts for treasure.","stares coldly...","gnashes his tiny corgi teeth!") + emote_hear = list("growls ferociously!", "snarls.") + speak = list("Arrrrgh!!","Grrrrrr!") + valid = 1 - if(/obj/item/clothing/head/ushanka) - name = "[pick("Comrade","Commissar","Glorious Leader")] [real_name]" - desc = "A follower of Karl Barx." - emote_see = list("contemplates the failings of the capitalist economic model.", "ponders the pros and cons of vangaurdism.") - valid = 1 + if(/obj/item/clothing/head/ushanka) + name = "[pick("Comrade","Commissar","Glorious Leader")] [real_name]" + desc = "A follower of Karl Barx." + emote_see = list("contemplates the failings of the capitalist economic model.", "ponders the pros and cons of vangaurdism.") + valid = 1 - if(/obj/item/clothing/head/collectable/police) - name = "Officer [real_name]" - emote_see = list("drools.","looks for donuts.") - desc = "Stop right there criminal scum!" - valid = 1 + if(/obj/item/clothing/head/collectable/police) + name = "Officer [real_name]" + emote_see = list("drools.","looks for donuts.") + desc = "Stop right there criminal scum!" + valid = 1 - if(/obj/item/clothing/head/wizard/fake, /obj/item/clothing/head/wizard, /obj/item/clothing/head/collectable/wizard) - name = "Grandwizard [real_name]" - speak = list("YAP", "Woof!", "Bark!", "AUUUUUU", "EI NATH!") - valid = 1 + if(/obj/item/clothing/head/wizard/fake, /obj/item/clothing/head/wizard, /obj/item/clothing/head/collectable/wizard) + name = "Grandwizard [real_name]" + speak = list("YAP", "Woof!", "Bark!", "AUUUUUU", "EI NATH!") + valid = 1 - if(/obj/item/clothing/head/cardborg) - name = "Borgi" - speak = list("Ping!","Beep!","Woof!") - emote_see = list("goes rogue.", "sniffs out non-humans.") - desc = "Result of robotics budget cuts." - valid = 1 + if(/obj/item/clothing/head/cardborg) + name = "Borgi" + speak = list("Ping!","Beep!","Woof!") + emote_see = list("goes rogue.", "sniffs out non-humans.") + desc = "Result of robotics budget cuts." + valid = 1 - if(/obj/item/weapon/bedsheet) - name = "\improper Ghost" - speak = list("WoooOOOooo~","AUUUUUUUUUUUUUUUUUU") - emote_see = list("stumbles around.", "shivers.") - emote_hear = list("howls!","groans.") - desc = "Spooky!" - valid = 1 + if(/obj/item/weapon/bedsheet) + name = "\improper Ghost" + speak = list("WoooOOOooo~","AUUUUUUUUUUUUUUUUUU") + emote_see = list("stumbles around.", "shivers.") + emote_hear = list("howls!","groans.") + desc = "Spooky!" + valid = 1 - if(/obj/item/clothing/head/helmet/space/santahat) - name = "Santa's Corgi Helper" - emote_hear = list("barks christmas songs.", "yaps merrily!") - emote_see = list("looks for presents.", "checks his list.") - desc = "He's very fond of milk and cookies." - valid = 1 + if(/obj/item/clothing/head/helmet/space/santahat) + name = "Santa's Corgi Helper" + emote_hear = list("barks christmas songs.", "yaps merrily!") + emote_see = list("looks for presents.", "checks his list.") + desc = "He's very fond of milk and cookies." + valid = 1 - if(/obj/item/clothing/head/soft) - name = "Corgi Tech [real_name]" - desc = "The reason your yellow gloves have chew-marks." - valid = 1 + if(/obj/item/clothing/head/soft) + name = "Corgi Tech [real_name]" + desc = "The reason your yellow gloves have chew-marks." + valid = 1 - if(/obj/item/clothing/head/hardhat/reindeer) - name = "[real_name] the red-nosed Corgi" - emote_hear = list("lights the way!", "illuminates.", "yaps!") - desc = "He has a very shiny nose." - SetLuminosity(1) - valid = 1 + if(/obj/item/clothing/head/hardhat/reindeer) + name = "[real_name] the red-nosed Corgi" + emote_hear = list("lights the way!", "illuminates.", "yaps!") + desc = "He has a very shiny nose." + SetLuminosity(1) + valid = 1 - if(/obj/item/clothing/head/sombrero) - name = "Segnor [real_name]" - desc = "You must respect elder [real_name]" - valid = 1 + if(/obj/item/clothing/head/sombrero) + name = "Segnor [real_name]" + desc = "You must respect elder [real_name]" + valid = 1 - if(/obj/item/clothing/head/hopcap) - name = "Lieutenant [real_name]" - desc = "Can actually be trusted to not run off on his own." - valid = 1 + if(/obj/item/clothing/head/hopcap) + name = "Lieutenant [real_name]" + desc = "Can actually be trusted to not run off on his own." + valid = 1 if(valid) + if(!usr.drop_item()) + usr << "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!" + return 0 if(health <= 0) usr << "There is merely a dull, lifeless look in [real_name]'s eyes as you put the [item_to_add] on \him." else if(usr) - if(!usr.drop_item()) - usr << "\The [item_to_add] is stuck to your hand, you cannot put it on [src]'s head!" - return 0 usr.visible_message("[usr] puts [item_to_add] on [real_name]'s head. [src] looks at [usr] and barks once.", "You put [item_to_add] on [real_name]'s head. [src] gives you a peculiar look, then wags \his tail once and barks.", "You hear a friendly-sounding bark.") @@ -411,25 +423,27 @@ /mob/living/simple_animal/corgi/regenerate_icons() - overlays = list() + overlays.Cut() if(inventory_head) - var/head_icon_state = inventory_head.icon_state + var/image/head_icon if(health <= 0) - head_icon_state += "2" - - var/icon/head_icon = image('icons/mob/corgi_head.dmi',head_icon_state) - if(head_icon) - overlays += head_icon + head_icon = image('icons/mob/corgi_head.dmi', icon_state = inventory_head.icon_state, dir = EAST) + head_icon.pixel_y = -8 + head_icon.transform = turn(head_icon.transform, 180) + else + head_icon = image('icons/mob/corgi_head.dmi', icon_state = inventory_head.icon_state) + overlays += head_icon if(inventory_back) - var/back_icon_state = inventory_back.icon_state + var/image/back_icon if(health <= 0) - back_icon_state += "2" - - var/icon/back_icon = image('icons/mob/corgi_back.dmi',back_icon_state) - if(back_icon) - overlays += back_icon + back_icon = image('icons/mob/corgi_back.dmi', icon_state = inventory_back.icon_state, dir = EAST) + back_icon.pixel_y = -11 + back_icon.transform = turn(back_icon.transform, 180) + else + back_icon = image('icons/mob/corgi_back.dmi', icon_state = inventory_back.icon_state) + overlays += back_icon if(facehugger) if(istype(src, /mob/living/simple_animal/corgi/puppy)) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index 901fa258ca8..6742c29bf6d 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -81,7 +81,7 @@ if(BARTENDER) clothes_s = new /icon('icons/mob/uniform.dmi', "ba_suit_s") clothes_s.Blend(new /icon('icons/mob/feet.dmi', "black"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "armor"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/suit.dmi', "armoralt"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "backpack"), ICON_OVERLAY) else if(backbag == 3) @@ -260,12 +260,12 @@ if(backbag == 3) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-cap"), ICON_OVERLAY) if(HOS) - clothes_s = new /icon('icons/mob/uniform.dmi', "hosred_s") + clothes_s = new /icon('icons/mob/uniform.dmi', "hos_s") clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "hoscap"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/head.dmi', "hosberetblack"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/eyes.dmi', "sunhud"), ICON_OVERLAY) - clothes_s.Blend(new /icon('icons/mob/suit.dmi', "hos"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/suit.dmi', "hostrench"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "securitypack"), ICON_OVERLAY) if(backbag == 3) @@ -293,9 +293,10 @@ if(backbag == 3) clothes_s.Blend(new /icon('icons/mob/back.dmi', "satchel-norm"), ICON_OVERLAY) if(OFFICER) - clothes_s = new /icon('icons/mob/uniform.dmi', "secred_s") + clothes_s = new /icon('icons/mob/uniform.dmi', "security_s") clothes_s.Blend(new /icon('icons/mob/feet.dmi', "jackboots"), ICON_UNDERLAY) - clothes_s.Blend(new /icon('icons/mob/head.dmi', "helmet"), ICON_OVERLAY) + clothes_s.Blend(new /icon('icons/mob/hands.dmi', "bgloves"), ICON_UNDERLAY) + clothes_s.Blend(new /icon('icons/mob/head.dmi', "beret_badge"), ICON_OVERLAY) clothes_s.Blend(new /icon('icons/mob/suit.dmi', "armor"), ICON_OVERLAY) if(backbag == 2) clothes_s.Blend(new /icon('icons/mob/back.dmi', "securitypack"), ICON_OVERLAY) diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index 53831b9f235..a85940d0f81 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -55,7 +55,7 @@ P.loc = user.loc user.put_in_hands(P) - user << "You take [P] out of the [src]." + user << "You take [P] out of \the [src]." else user << "[src] is empty!" diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index dd9af7e4a73..232791722cc 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -679,7 +679,7 @@ if(istype(I, /obj/item/weapon/reagent_containers/syringe)) var/obj/item/weapon/reagent_containers/syringe/S = I - user << "You inject the solution into the [src]." + user << "You inject the solution into \the [src]." if(S.reagents.has_reagent("plasma", 5)) diff --git a/code/modules/power/singularity/collector.dm b/code/modules/power/singularity/collector.dm index 2d4ede128b5..8e07804317d 100644 --- a/code/modules/power/singularity/collector.dm +++ b/code/modules/power/singularity/collector.dm @@ -97,7 +97,7 @@ var/global/list/rad_collectors = list() user << "The controls are now [src.locked ? "locked." : "unlocked."]" else src.locked = 0 //just in case it somehow gets locked - user << "The controls can only be locked when the [src] is active." + user << "The controls can only be locked when \the [src] is active." else user << "Access denied!" return 1 diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 6da19164d8e..8e358e5a43c 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -63,13 +63,13 @@ if(!src.locked) if(src.active==1) src.active = 0 - user << "You turn off the [src]." + user << "You turn off \the [src]." message_admins("Emitter turned off by [key_name(user, user.client)](?) in ([x],[y],[z] - JMP)",0,1) log_game("Emitter turned off by [user.ckey]([user]) in ([x],[y],[z])") investigate_log("turned off by [user.key]","singulo") else src.active = 1 - user << "You turn on the [src]." + user << "You turn on \the [src]." src.shot_number = 0 src.fire_delay = 100 investigate_log("turned on by [user.key]","singulo") @@ -152,7 +152,7 @@ if(istype(W, /obj/item/weapon/wrench)) if(active) - user << "Turn off the [src] first." + user << "Turn off \the [src] first." return switch(state) if(0 && !isinspace()) @@ -176,7 +176,7 @@ if(istype(W, /obj/item/weapon/weldingtool)) var/obj/item/weapon/weldingtool/WT = W if(active) - user << "Turn off the [src] first." + user << "Turn off \the [src] first." return switch(state) if(0) @@ -185,23 +185,23 @@ if (WT.remove_fuel(0,user)) playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \ - "You start to weld the [src] to the floor.", \ + "You start to weld \the [src] to the floor.", \ "You hear welding") if (do_after(user,20)) if(!src || !WT.isOn()) return state = 2 - user << "You weld the [src] to the floor." + user << "You weld \the [src] to the floor." connect_to_network() if(2) if (WT.remove_fuel(0,user)) playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \ - "You start to cut the [src] free from the floor.", \ + "You start to cut \the [src] free from the floor.", \ "You hear welding") if (do_after(user,20)) if(!src || !WT.isOn()) return state = 1 - user << "You cut the [src] free from the floor." + user << "You cut \the [src] free from the floor." disconnect_from_network() return @@ -215,7 +215,7 @@ user << "The controls are now [src.locked ? "locked." : "unlocked."]" else src.locked = 0 //just in case it somehow gets locked - user << "The controls can only be locked when the [src] is online." + user << "The controls can only be locked when \the [src] is online." else user << "Access denied." return @@ -227,4 +227,4 @@ if(!emagged) locked = 0 emagged = 1 - user.visible_message("[user.name] emags the [src.name].","You short out the lock.") + user.visible_message("[user.name] emags the [src.name].","You short out the lock.") diff --git a/code/modules/power/singularity/field_generator.dm b/code/modules/power/singularity/field_generator.dm index 02112139df4..d0fdaf04d41 100644 --- a/code/modules/power/singularity/field_generator.dm +++ b/code/modules/power/singularity/field_generator.dm @@ -127,7 +127,7 @@ field_generator power level display if (WT.remove_fuel(0,user)) playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) user.visible_message("[user.name] starts to weld the [src.name] to the floor.", \ - "You start to weld the [src] to the floor.", \ + "You start to weld \the [src] to the floor.", \ "You hear welding") if (do_after(user,20)) if(!src || !WT.isOn()) return @@ -139,12 +139,12 @@ field_generator power level display if (WT.remove_fuel(0,user)) playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1) user.visible_message("[user.name] starts to cut the [src.name] free from the floor.", \ - "You start to cut the [src] free from the floor.", \ + "You start to cut \the [src] free from the floor.", \ "You hear welding") if (do_after(user,20)) if(!src || !WT.isOn()) return state = 1 - user << "You cut the [src] free from the floor." + user << "You cut \the [src] free from the floor." else return else diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index 062f28cb028..7c70cb2c484 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -33,9 +33,10 @@ var/list/solars_list = list() //set the control of the panel to a given computer if closer than SOLAR_MAX_DIST /obj/machinery/power/solar/proc/set_control(var/obj/machinery/power/solar_control/SC) - if(SC && (get_dist(src, SC) > SOLAR_MAX_DIST)) + if(!SC || (get_dist(src, SC) > SOLAR_MAX_DIST)) return 0 control = SC + SC.connected_panels |= src return 1 //set the control of the panel to null and removes it from the control list of the previous control computer if needed @@ -323,12 +324,10 @@ var/list/solars_list = list() var/obj/machinery/power/solar/S = M if(!S.control) //i.e unconnected S.set_control(src) - connected_panels |= S else if(istype(M, /obj/machinery/power/tracker)) if(!connected_tracker) //if there's already a tracker connected to the computer don't add another var/obj/machinery/power/tracker/T = M if(!T.control) //i.e unconnected - connected_tracker = T T.set_control(src) //called by the sun controller, update the facing angle (either manually or via tracking) and rotates the panels accordingly @@ -484,10 +483,10 @@ var/list/solars_list = list() set_panels(targetdir) if(href_list["search_connected"]) - src.search_for_connected() + search_for_connected() if(connected_tracker && track == 2) connected_tracker.set_angle(sun.angle) - src.set_panels(cdir) + set_panels(cdir) src.updateUsrDialog() return diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm new file mode 100644 index 00000000000..5c5956742cc --- /dev/null +++ b/code/modules/power/supermatter/supermatter.dm @@ -0,0 +1,271 @@ +//Ported from /vg/station13, which was in turn forked from baystation12; +//Please do not bother them with bugs from this port, however, as it has been modified quite a bit. +//Modifications include removing the world-ending full supermatter variation, and leaving only the shard. + +#define NITROGEN_RETARDATION_FACTOR 4 //Higher == N2 slows reaction more +#define THERMAL_RELEASE_MODIFIER 10 //Higher == less heat released during reaction +#define PLASMA_RELEASE_MODIFIER 1500 //Higher == less plasma released by reaction +#define OXYGEN_RELEASE_MODIFIER 750 //Higher == less oxygen released at high temperature/power +#define REACTION_POWER_MODIFIER 1.1 //Higher == more overall power + + +//These would be what you would get at point blank, decreases with distance +#define DETONATION_RADS 200 +#define DETONATION_HALLUCINATION 600 + + +#define WARNING_DELAY 30 //seconds between warnings. + +/obj/machinery/power/supermatter_shard + name = "supermatter shard" + desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure. You get headaches just from looking at it." + icon = 'icons/obj/supermatter.dmi' + icon_state = "darkmatter_shard" + density = 1 + anchored = 0 + luminosity = 4 + + + var/gasefficency = 0.125 + + var/base_icon_state = "darkmatter_shard" + + var/damage = 0 + var/damage_archived = 0 + var/safe_alert = "Crystalline hyperstructure returning to safe operating levels." + var/warning_point = 50 + var/warning_alert = "Danger! Crystal hyperstructure instability!" + var/emergency_point = 500 + var/emergency_alert = "CRYSTAL DELAMINATION IMMINENT." + var/explosion_point = 900 + + var/emergency_issued = 0 + + var/explosion_power = 8 + + var/lastwarning = 0 // Time in 1/10th of seconds since the last sent warning + var/power = 0 + + var/oxygen = 0 // Moving this up here for easier debugging. + + //Temporary values so that we can optimize this + //How much the bullets damage should be multiplied by when it is added to the internal variables + var/config_bullet_energy = 2 + //How much of the power is left after processing is finished? +// var/config_power_reduction_per_tick = 0.5 + //How much hallucination should it produce per unit of power? + var/config_hallucination_power = 0.1 + + var/obj/item/device/radio/radio + + +/obj/machinery/power/supermatter_shard/New() + . = ..() + radio = new(src) + radio.listening = 0 + + +/obj/machinery/power/supermatter_shard/Destroy() + qdel(radio) + . = ..() + +/obj/machinery/power/supermatter_shard/proc/explode() + explosion(get_turf(src), explosion_power, explosion_power * 2, explosion_power * 3, explosion_power * 4, 1) + qdel(src) + return + +/obj/machinery/power/supermatter_shard/process() + var/turf/L = loc + + if(isnull(L)) // We have a null turf...something is wrong, stop processing this entity. + return PROCESS_KILL + + if(!istype(L)) //We are in a crate or somewhere that isn't turf, if we return to turf resume processing but for now. + return //Yeah just stop. + + if(istype(L, /turf/space)) // Stop processing this stuff if we've been ejected. + return + + if(damage > warning_point) // while the core is still damaged and it's still worth noting its status + if((world.timeofday - lastwarning) / 10 >= WARNING_DELAY) + var/stability = num2text(round((damage / explosion_point) * 100)) + + if(damage > emergency_point) + radio.talk_into(src, "[emergency_alert] Instability: [stability]%") + lastwarning = world.timeofday + + else if(damage >= damage_archived) // The damage is still going up + radio.talk_into(src, "[warning_alert] Instability: [stability]%") + lastwarning = world.timeofday - 150 + + else // Phew, we're safe + radio.talk_into(src, "[safe_alert]") + lastwarning = world.timeofday + + if(damage > explosion_point) + for(var/mob/living/mob in living_mob_list) + if(istype(mob, /mob/living/carbon/human)) + //Hilariously enough, running into a closet should make you get hit the hardest. + var/mob/living/carbon/human/H = mob + H.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)) ) ) + var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(mob, src) + 1) ) + mob.apply_effect(rads, IRRADIATE) + + explode() + + //Ok, get the air from the turf + var/datum/gas_mixture/env = L.return_air() + + //Remove gas from surrounding area + var/datum/gas_mixture/removed = env.remove(gasefficency * env.total_moles()) + + if(!removed || !removed.total_moles()) + damage += max((power-1600)/10, 0) + power = min(power, 1600) + return 1 + + if (!removed) + return 1 + + damage_archived = damage + damage = max( damage + ( (removed.temperature - 800) / 150 ) , 0 ) + //Ok, 100% oxygen atmosphere = best reaction + //Maxes out at 100% oxygen pressure + oxygen = max(min((removed.oxygen - (removed.nitrogen * NITROGEN_RETARDATION_FACTOR)) / MOLES_CELLSTANDARD, 1), 0) + + var/temp_factor = 100 + + if(oxygen > 0.8) + // with a perfect gas mix, make the power less based on heat + icon_state = "[base_icon_state]_glow" + else + // in normal mode, base the produced energy around the heat + temp_factor = 60 + icon_state = base_icon_state + + power = max( (removed.temperature * temp_factor / T0C) * oxygen + power, 0) //Total laser power plus an overload + + //We've generated power, now let's transfer it to the collectors for storing/usage + transfer_energy() + + var/device_energy = power * REACTION_POWER_MODIFIER + + //To figure out how much temperature to add each tick, consider that at one atmosphere's worth + //of pure oxygen, with all four lasers firing at standard energy and no N2 present, at room temperature + //that the device energy is around 2140. At that stage, we don't want too much heat to be put out + //Since the core is effectively "cold" + + //Also keep in mind we are only adding this temperature to (efficiency)% of the one tile the rock + //is on. An increase of 4*C @ 25% efficiency here results in an increase of 1*C / (#tilesincore) overall. + removed.temperature += (device_energy / THERMAL_RELEASE_MODIFIER) + + removed.temperature = max(0, min(removed.temperature, 2500)) + + //Calculate how much gas to release + removed.toxins += max(device_energy / PLASMA_RELEASE_MODIFIER, 0) + + removed.oxygen += max((device_energy + removed.temperature - T0C) / OXYGEN_RELEASE_MODIFIER, 0) + + env.merge(removed) + + for(var/mob/living/carbon/human/l in view(src, min(7, round(power ** 0.25)))) // If they can see it without mesons on. Bad on them. + if(!istype(l.glasses, /obj/item/clothing/glasses/meson)) + l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src)) ) ) ) + + for(var/mob/living/l in range(src, round((power / 100) ** 0.25))) + var/rads = (power / 10) * sqrt( 1 / get_dist(l, src) ) + l.apply_effect(rads, IRRADIATE) + + power -= (power/500)**3 + + return 1 + + +/obj/machinery/power/supermatter_shard/bullet_act(var/obj/item/projectile/Proj) + var/turf/L = loc + if(!istype(L)) // We don't run process() when we are in space + return 0 // This stops people from being able to really power up the supermatter + // Then bring it inside to explode instantly upon landing on a valid turf. + + + if(Proj.flag != "bullet") + power += Proj.damage * config_bullet_energy + else + damage += Proj.damage * config_bullet_energy + return 0 + + +/obj/machinery/power/supermatter_shard/attack_paw(mob/user as mob) + return attack_hand(user) + + +/obj/machinery/power/supermatter_shard/attack_robot(mob/user as mob) + if(Adjacent(user)) + return attack_hand(user) + else + user << "You attempt to interface with the control circuits but find they are not connected to your network. Maybe in a future firmware update." + return + +/obj/machinery/power/supermatter_shard/attack_ai(mob/user as mob) + user << "You attempt to interface with the control circuits but find they are not connected to your network. Maybe in a future firmware update." + +/obj/machinery/power/supermatter_shard/attack_hand(mob/user as mob) + user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... \his body starts to glow and bursts into flames before flashing into ash.",\ + "You reach out and touch \the [src]. Everything starts burning and all you can hear is ringing. Your last thought is \"That was not a wise decision.\"",\ + "You hear an unearthly noise as a wave of heat washes over you.") + + playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1) + + Consume(user) + +/obj/machinery/power/supermatter_shard/proc/transfer_energy() + for(var/obj/machinery/power/rad_collector/R in rad_collectors) + if(get_dist(R, src) <= 15) // Better than using orange() every process + R.receive_pulse(power) + return + +/obj/machinery/power/supermatter_shard/attackby(obj/item/weapon/W as obj, mob/living/user as mob) + if(user.drop_item(W)) + Consume(W) + user.visible_message("As [user] touches \the [src] with \a [W], silence fills the room...",\ + "You touch \the [src] with \the [W], and everything suddenly goes silent.\"\n\The [W] flashes into dust as you flinch away from \the [src].",\ + "Everything suddenly goes silent.") + + playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1) + + user.apply_effect(150, IRRADIATE) + + +/obj/machinery/power/supermatter_shard/Bumped(atom/AM as mob|obj) + if(istype(AM, /mob/living)) + AM.visible_message("\The [AM] slams into \the [src] inducing a resonance... \his body starts to glow and catch flame before flashing into ash.",\ + "You slam into \the [src] as your ears are filled with unearthly ringing. Your last thought is \"Oh, fuck.\"",\ + "You hear an unearthly noise as a wave of heat washes over you.") + else + AM.visible_message("\The [AM] smacks into \the [src] and rapidly flashes to ash.",\ + "You hear a loud crack as you are washed with a wave of heat.") + + playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1) + + Consume(AM) + + +/obj/machinery/power/supermatter_shard/proc/Consume(atom/movable/AM) + if(istype(AM, /mob/living)) + var/mob/living/user = AM + user.dust() + power += 200 + else + qdel(AM) + + power += 200 + + //Some poor sod got eaten, go ahead and irradiate people nearby. + for(var/mob/living/L in range(10)) + var/rads = 500 * sqrt( 1 / (get_dist(L, src) + 1) ) + L.apply_effect(rads, IRRADIATE) + if(L in view()) + L.show_message("As \the [src] slowly stops resonating, you find your skin covered in new radiation burns.", 1,\ + "The unearthly ringing subsides and you notice you have new radiation burns.", 2) + else + L.show_message("You hear an uneartly ringing and notice your skin is covered in fresh radiation burns.", 2) diff --git a/code/modules/power/supermatter/supermatter_crate.dm b/code/modules/power/supermatter/supermatter_crate.dm new file mode 100644 index 00000000000..dd65e75cfc5 --- /dev/null +++ b/code/modules/power/supermatter/supermatter_crate.dm @@ -0,0 +1,7 @@ +/datum/supply_packs/engineering/engine/supermatter_shard + name = "Supermatter Shard Crate" + contains = list(/obj/machinery/power/supermatter_shard) + cost = 100 //So cargo thinks twice before killing themselves with it + containertype = /obj/structure/closet/crate/secure + containername = "supermatter shard crate" + access = access_ce diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm index 20e8ab528c4..5cf341f9fbb 100644 --- a/code/modules/power/tracker.dm +++ b/code/modules/power/tracker.dm @@ -27,9 +27,10 @@ //set the control of the tracker to a given computer if closer than SOLAR_MAX_DIST /obj/machinery/power/tracker/proc/set_control(var/obj/machinery/power/solar_control/SC) - if(SC && (get_dist(src, SC) > SOLAR_MAX_DIST)) + if(!SC || (get_dist(src, SC) > SOLAR_MAX_DIST)) return 0 control = SC + SC.connected_tracker = src return 1 //set the control of the tracker to null and removes it from the previous control computer if needed diff --git a/code/modules/telesci/telepad.dm b/code/modules/telesci/telepad.dm index ea7bb4ce13a..e0eccaff92b 100644 --- a/code/modules/telesci/telepad.dm +++ b/code/modules/telesci/telepad.dm @@ -60,10 +60,10 @@ playsound(src, 'sound/items/Ratchet.ogg', 50, 1) if(anchored) anchored = 0 - user << " The [src] can now be moved." + user << " \The [src] can now be moved." else if(!anchored) anchored = 1 - user << " The [src] is now secured." + user << " \The [src] is now secured." if(istype(W, /obj/item/weapon/screwdriver)) if(stage == 0) playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) diff --git a/code/world.dm b/code/world.dm index 82f3817b3c2..c31d225da1d 100644 --- a/code/world.dm +++ b/code/world.dm @@ -89,7 +89,7 @@ master_controller = new /datum/controller/game_controller() spawn(-1) master_controller.setup() - lighting_controller.Initialize() + lighting_controller.initializeLighting() src.update_status() diff --git a/html/changelog.html b/html/changelog.html index f1a6231e621..c0dafcb126f 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -55,6 +55,32 @@ --> +