diff --git a/code/game/machinery/nuclear_bomb.dm b/code/game/machinery/nuclear_bomb.dm index a16a47560a9..354e2551955 100644 --- a/code/game/machinery/nuclear_bomb.dm +++ b/code/game/machinery/nuclear_bomb.dm @@ -3,8 +3,8 @@ var/bomb_set /obj/machinery/nuclearbomb name = "\improper Nuclear Fission Explosive" desc = "Uh oh. RUN!!!!" - icon = 'icons/obj/stationobjs.dmi' - icon_state = "nuclearbomb0" + icon = 'icons/obj/nuke.dmi' + icon_state = "idle" density = 1 var/deployable = 0 var/extended = 0 @@ -48,12 +48,12 @@ var/bomb_set if (src.auth) if (panel_open == 0) panel_open = 1 - overlays += image(icon, "npanel_open") + overlays |= "panel_open" user << "You unscrew the control panel of [src]." playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) else panel_open = 0 - overlays -= image(icon, "npanel_open") + overlays -= "panel_open" user << "You screw the control panel of [src] back on." playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) else @@ -61,10 +61,10 @@ var/bomb_set user << "\The [src] emits a buzzing noise, the panel staying locked in." if (panel_open == 1) panel_open = 0 - overlays -= image(icon, "npanel_open") + overlays -= "panel_open" user << "You screw the control panel of \the [src] back on." playsound(src, 'sound/items/Screwdriver.ogg', 50, 1) - flick("nuclearbombc", src) + flick("lock", src) return if (panel_open && (istype(O, /obj/item/device/multitool) || istype(O, /obj/item/weapon/wirecutters))) @@ -164,7 +164,7 @@ var/bomb_set visible_message("\The [src] makes a highly unpleasant crunching noise. It looks like the anchoring bolts have been cut.") extended = 1 if(!src.lighthack) - flick("nuclearbombc", src) + flick("lock", src) update_icon() return @@ -298,6 +298,7 @@ var/bomb_set safety = !safety if(safety) secure_device() + update_icon() if (href_list["anchor"]) if(removal_stage == 5) anchored = 0 @@ -377,26 +378,19 @@ var/bomb_set /obj/machinery/nuclearbomb/update_icon() if(lighthack) - icon_state = "nuclearbomb0" - return - + icon_state = "idle" else if(timing == -1) - icon_state = "nuclearbomb3" + icon_state = "exploding" else if(timing) - icon_state = "nuclearbomb2" - else if(extended) - icon_state = "nuclearbomb1" + icon_state = "urgent" + else if(extended || !safety) + icon_state = "greenlight" else - icon_state = "nuclearbomb0" -/* -if(!N.lighthack) - if (N.icon_state == "nuclearbomb2") - N.icon_state = "nuclearbomb1" - */ + icon_state = "idle" //====The nuclear authentication disc==== /obj/item/weapon/disk/nuclear - name = "nuclear authentication disk" + name = "authentication disk" desc = "Better keep this safe." icon = 'icons/obj/items.dmi' icon_state = "nucleardisk" @@ -420,3 +414,53 @@ if(!N.lighthack) /obj/item/weapon/disk/nuclear/touch_map_edge() qdel(src) + +/obj/machinery/nuclearbomb/station + name = "station authentication terminal" + desc = "An ominous looking terminal, designed for purposes unknown to the mere crewmember." + icon = 'icons/obj/nuke_station.dmi' + anchored = 1 + deployable = 1 + extended = 1 + + var/list/flash_tiles = list() + var/last_turf_state + +/obj/machinery/nuclearbomb/station/initialize() + ..() + verbs -= /obj/machinery/nuclearbomb/verb/toggle_deployable + for(var/turf/simulated/floor/T in trange(1, src)) + T.set_flooring(get_flooring_data(/decl/flooring/reinforced/circuit/red)) + flash_tiles += T + update_icon() + +/obj/machinery/nuclearbomb/station/Destroy() + flash_tiles.Cut() + return ..() + +/obj/machinery/nuclearbomb/station/update_icon() + var/target_icon_state + if(lighthack) + target_icon_state = "rcircuit_off" + icon_state = "idle" + else if(timing == -1) + target_icon_state = "rcircuitanim" + icon_state = "exploding" + else if(timing) + target_icon_state = "rcircuitanim" + icon_state = "urgent" + else if(!safety) + target_icon_state = "rcircuit" + icon_state = "greenlight" + else + target_icon_state = "rcircuit_off" + icon_state = "idle" + + if(!last_turf_state || target_icon_state != last_turf_state) + for(var/thing in flash_tiles) + var/turf/simulated/floor/T = thing + if(!istype(T.flooring, /decl/flooring/reinforced/circuit/red)) + flash_tiles -= T + continue + T.icon_state = target_icon_state + last_turf_state = target_icon_state diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm index 6a26e3d639b..698c1cc7646 100644 --- a/code/game/machinery/wishgranter.dm +++ b/code/game/machinery/wishgranter.dm @@ -91,7 +91,7 @@ for(var/datum/objective/OBJ in user.mind.objectives) user << "Objective #[obj_count]: [OBJ.explanation_text]" obj_count++ - for(var/obj/machinery/nuclearbomb/N in world) + for(var/obj/machinery/nuclearbomb/station/N in world) user << "[N.r_code]...!" user.mind.store_memory("Nuclear Bomb Code: [N.r_code]", 0, 0) if("I want peace") diff --git a/code/game/turfs/flooring/flooring.dm b/code/game/turfs/flooring/flooring.dm index 03534d65760..e08eb8ab5de 100644 --- a/code/game/turfs/flooring/flooring.dm +++ b/code/game/turfs/flooring/flooring.dm @@ -170,6 +170,11 @@ var/list/flooring_types name = "processing strata" icon_base = "gcircuit" +/decl/flooring/reinforced/circuit/red + icon_base = "rcircuit" + flags = TURF_ACID_IMMUNE + can_paint = 0 + /decl/flooring/reinforced/cult name = "engraved floor" desc = "Unsettling whispers waver from the surface..." @@ -178,4 +183,4 @@ var/list/flooring_types build_type = null has_damage_range = 6 flags = TURF_ACID_IMMUNE | TURF_CAN_BREAK - can_paint = null \ No newline at end of file + can_paint = null diff --git a/code/modules/mob/living/silicon/robot/syndicate_robot.dm b/code/modules/mob/living/silicon/robot/syndicate_robot.dm index eabc21388d5..97d7fd1fad0 100644 --- a/code/modules/mob/living/silicon/robot/syndicate_robot.dm +++ b/code/modules/mob/living/silicon/robot/syndicate_robot.dm @@ -12,6 +12,7 @@ spawn_module = /obj/item/weapon/robot_module/syndicate key_type = /obj/item/device/encryptionkey/syndicate spawn_sound = 'sound/mecha/nominalsyndi.ogg' + pitch_toggle = 0 cell_type = /obj/item/weapon/cell/super req_access = list(access_syndicate) faction = "syndicate" diff --git a/html/changelogs/alberyk-PR-1316.yml b/html/changelogs/alberyk-PR-1316.yml new file mode 100644 index 00000000000..dd149e6503b --- /dev/null +++ b/html/changelogs/alberyk-PR-1316.yml @@ -0,0 +1,6 @@ +author: Alberyk + +delete-after: True + +changes: + - rscadd: "Replaced the station nuclear fission explosive with something else." diff --git a/icons/obj/items.dmi b/icons/obj/items.dmi index 94e4e874454..77e08f2b402 100644 Binary files a/icons/obj/items.dmi and b/icons/obj/items.dmi differ diff --git a/icons/obj/nuke.dmi b/icons/obj/nuke.dmi new file mode 100644 index 00000000000..72bbfd80acd Binary files /dev/null and b/icons/obj/nuke.dmi differ diff --git a/icons/obj/nuke_station.dmi b/icons/obj/nuke_station.dmi new file mode 100644 index 00000000000..c7cffca4750 Binary files /dev/null and b/icons/obj/nuke_station.dmi differ diff --git a/icons/turf/flooring/circuit.dmi b/icons/turf/flooring/circuit.dmi index ed3ec42dd03..3617171b977 100644 Binary files a/icons/turf/flooring/circuit.dmi and b/icons/turf/flooring/circuit.dmi differ diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 2f2e19d0c57..b10634f8ba7 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -1453,11 +1453,11 @@ "aBW" = (/obj/machinery/space_heater,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/evahallway) "aBX" = (/turf/simulated/wall/r_wall,/area/security/nuke_storage) "aBY" = (/obj/machinery/meter,/obj/machinery/atmospherics/pipe/manifold4w/hidden/cyan,/obj/effect/floor_decal/industrial/warning{tag = "icon-warning (SOUTHWEST)"; icon_state = "warning"; dir = 10},/turf/simulated/floor/plating,/area/maintenance/arrivals) -"aBZ" = (/obj/machinery/light_switch{pixel_y = 28},/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aBZ" = (/obj/machinery/light_switch{pixel_y = 28},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aCa" = (/obj/structure/closet/secure_closet/freezer/money,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"aCb" = (/obj/machinery/power/apc{dir = 1; name = "north bump"; pixel_x = 0; pixel_y = 24},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aCb" = (/obj/machinery/alarm{pixel_y = 23},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aCc" = (/obj/machinery/light/small{dir = 4},/obj/structure/closet/emcloset,/turf/simulated/floor/plating,/area/maintenance/evahallway) -"aCd" = (/obj/machinery/alarm{pixel_y = 23},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/machinery/light{dir = 1},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aCd" = (/obj/machinery/nuclearbomb/station,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aCe" = (/obj/machinery/computer/secure_data/detective_computer,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aCf" = (/obj/machinery/gateway{dir = 10},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/dark,/area/gateway) "aCg" = (/obj/machinery/gateway{dir = 6},/obj/effect/landmark{name = "JoinLateGateway"},/turf/simulated/floor/tiled/dark,/area/gateway) @@ -1547,8 +1547,8 @@ "aDM" = (/obj/machinery/vending/tool,/turf/simulated/floor/tiled,/area/storage/primary) "aDN" = (/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aDO" = (/obj/effect/landmark{name = "blobstart"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"aDP" = (/obj/machinery/nuclearbomb{r_code = "LOLNO"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"aDQ" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aDP" = (/obj/effect/landmark{name = "xeno_spawn"; pixel_x = -1},/obj/machinery/power/apc{dir = 4; name = "east bump"; pixel_x = 24},/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aDQ" = (/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/structure/closet/crate{name = "Silver Crate"},/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aDR" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled/dark,/area/gateway) "aDS" = (/obj/structure/window/reinforced,/obj/machinery/light_switch{pixel_x = -24},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/tiled/dark,/area/gateway) "aDT" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled/dark,/area/gateway) @@ -1621,8 +1621,8 @@ "aFi" = (/obj/structure/closet/crate,/obj/item/stack/material/gold,/obj/item/weapon/storage/belt/champion,/obj/machinery/camera/network/command{c_tag = "Vault"; dir = 4},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aFj" = (/obj/structure/shuttle/engine/propulsion{icon_state = "burst_r"; dir = 8},/turf/space,/area/shuttle/arrival/station) "aFk" = (/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/hallway/secondary/entry/port) -"aFl" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"aFm" = (/obj/item/weapon/coin/silver{pixel_x = 7; pixel_y = 12},/obj/item/weapon/coin/silver{pixel_x = 12; pixel_y = 7},/obj/item/weapon/coin/silver{pixel_x = 4; pixel_y = 8},/obj/item/weapon/coin/silver{pixel_x = -6; pixel_y = 5},/obj/item/weapon/coin/silver{pixel_x = 5; pixel_y = -8},/obj/structure/closet/crate{name = "Silver Crate"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aFl" = (/obj/machinery/atmospherics/unary/vent_scrubber/on{dir = 4},/mob/living/simple_animal/mouse/brown/Tom,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aFm" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aFn" = (/turf/simulated/floor/tiled,/area/gateway) "aFo" = (/obj/machinery/vending/coffee,/obj/machinery/camera/network/civilian_west{c_tag = "Gateway Arrival Area"; dir = 4},/obj/structure/sign/biohazard{pixel_x = -32},/turf/simulated/floor/tiled,/area/gateway) "aFp" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/turf/simulated/floor/tiled,/area/gateway) @@ -1660,9 +1660,8 @@ "aFV" = (/obj/machinery/power/breakerbox/activated{RCon_tag = "Civilian East Substation Bypass"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aFW" = (/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 0; RCon_tag = "Substation - Civilian East"},/obj/machinery/light/small{dir = 1},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) "aFX" = (/obj/structure/cable/green{d2 = 2; icon_state = "0-2"},/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/machinery/power/sensor{name = "Powernet Sensor - Civilian East Subgrid"; name_tag = "Civilian East Subgrid"},/turf/simulated/floor/plating,/area/maintenance/substation/civilian_east) -"aFY" = (/mob/living/simple_animal/mouse/brown/Tom,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"aFZ" = (/obj/machinery/atmospherics/unary/vent_pump/on{dir = 8},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) -"aGa" = (/obj/structure/cable/green{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aFY" = (/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 6},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 10},/obj/structure/cable/green{d1 = 2; d2 = 4; icon_state = "2-4"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) +"aFZ" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/obj/structure/cable/green{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aGb" = (/obj/item/weapon/stool,/turf/simulated/floor/tiled,/area/gateway) "aGc" = (/obj/item/device/radio/intercom{frequency = 1459; name = "Station Intercom (General)"; pixel_x = -30},/obj/machinery/vending/cola,/turf/simulated/floor/tiled,/area/gateway) "aGd" = (/obj/structure/sign/poster{pixel_x = 0; pixel_y = 0},/turf/simulated/wall,/area/crew_quarters/toilet) @@ -1682,7 +1681,6 @@ "aGr" = (/obj/structure/disposalpipe/segment,/obj/effect/decal/cleanable/dirt,/obj/machinery/atmospherics/pipe/simple/hidden/supply,/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/library) "aGs" = (/turf/simulated/wall,/area/chapel/office) "aGt" = (/turf/simulated/wall,/area/chapel/main) -"aGu" = (/obj/structure/safe,/obj/item/clothing/under/color/yellow,/obj/item/key,/obj/item/toy/katana,/turf/simulated/floor/tiled/dark,/area/security/nuke_storage) "aGv" = (/obj/machinery/hologram/holopad,/turf/simulated/floor/tiled,/area/gateway) "aGw" = (/obj/structure/bed/chair{dir = 8},/obj/machinery/light{icon_state = "tube1"; dir = 4},/turf/simulated/shuttle/floor,/area/shuttle/arrival/station) "aGx" = (/obj/machinery/firealarm{dir = 4; pixel_x = 24},/obj/structure/closet/wardrobe/black,/turf/simulated/floor/tiled,/area/gateway) @@ -7471,10 +7469,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazvazbazdazcazfazeazhazgaziazhazkazjazhazhazlavfavZavjaafaafaaaaaaaaaaaaaaaaafazHazIazJazKazLaaaaafaaaaaaaaaaaaaaaaooazMaooazNazOazPazPazPazQazPazPazPazRazNazSazTazTazTazTazTazTazTazUazVayPazmazoaznazxazwazzazyazAazxazBazoazCarMazDaymavsarQayVatnaAiawPauLatUazEaxraxraxraxraxtazGazFazXazWaxvazYazZazZazZazZaAbaAaatxaAcatxatxatQatQatQatQatQatQatQatQatQatQavdaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaAvaAdaAfaAeaAvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafavfaAzaAAaAzaAgazdazdaAhaAzaAAaAzaAjaAlaAkaAmavfavZaviaviaAHavmavmavmavmavnaviaAIaqbaAKaALaAIaooaooaxPaAMaxQaooaooaooazMaANazNaaaaafaaaaafaaaaafaaaaafaaaazNazSazTaAoaAnaAqaApaArazTazUauqayPaAsaAsaAUaAuaAtaAxaAwaAtaAyaBaazoazCarMazDaymaABarQayVatnawGaACaBdaBeaAEaADaAGaAFaAPaAOaAQaBmaBmaARaBmatxaATaASaAWaAVaAYaAXazpaAZaBbaBwatQatQatQatQatQatQatQatQatQatQavdaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaAvaBxaByaBzaAvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBAaujaBBawVaBCaBfaBcaBhaBgaBCawVaBHaBIaBJaBiaBjaBMavZavZavZavZavZavZavZavZaBkaBOaAIaBPaBQaBRaAIaEqaBTayGayGayGayGayGaBUaBVaBWazNaafaBXaBXaBXaBXaBXaBXaBXaafazNazSazTaBnaBlaBpaBoaBnazTazUaCcayPayPayPayPaBqazxaBsaBrazxaBtaCiazoaBuarMazDaymaBvarQaClatnaCmawPaCoatUazEavuatWaBmaBmaBmaBmaBmaBEaBDaBFaBmatxatxatxatxaCsatxatxaBGaBKaCvatQatQatQatQatQatQatQatQatQatQauiaafaDraDraDraDraDraDraaaaaaaafaaaaAvaCwaCxaCyaAvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazvaAAaCzaCAaCAaCAaCAaCBaAAazvaaaaBJaBLaBNaBMaCEaCEaCEaCEaCEaCEaCEaYYaBYaBSaAIaCHaCIaCJaAIaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBXaCaaBZaCdaCbaCeaBXaaaazNazSazTaBnaCfaChaCgaBnazTazUaooayPaCjaCkaAUaCpaCnaCraCqaCuaCtayPayPayParMazDaymavsarQayVatnaDdaCCauLatUaCDavuatWaCFaCNaCGaCOaBmaBEaCPaBFaBmaDlaDmaDnaDoaDpaDqaDratxatxatxaDsatzatzatzatzaDtatzatzatzatzaDuaafaDraCQaCSaCRaCTaDraaaaaaaafaaaaAvaAvaDvaDwaAvaDxaDyaDzaDxaDxaDxaDxaDxaDxaDxaDAaDBaDBaDBaDCaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaaaaaaaaaaaaaCVaCUaDGaCUaCUaDHaDIaCUaCUaDGaCXaCWaBJaCYaCZaBMaDbaDaaDeaDcaDgaDfaCEbdHbdIaviaAIaAIaDUaDVaCMaDhaDjaDiaDEaDkaDJaDFaDLaDKaDMaCMaafaBXaDOaDNaDPaDNaDQaBXaafazNazSazTaDSaDRaDWaDTaDXazTazUaGmayPazmazoaDYazxazxaEaaDZaAtaEbaEwaEcaEcarMazDaymavsarQayVaEyaEyaEyaEyaEyaEeaEdatWaEfaEgaEgaEiaEhaEgaEjaEkaBmaEHaEIaEJaEKaELaEMaDraaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaDraElaEnaEmaEoaDraaaaDxaENaEOaDxaEpaEsaEraESaESaESaESaETaEUaEVaEVaEVaEVaEVaEVaEVaEWaEXaEtaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaCVaCXaCUaEuaFaaFbaFcaFdaFeaFfaFgaFbaFhaEvaFjaFkaCYaExaBMaEAaEzaECaEBaECaEDaFraFscDicDhcElaFuaEFaEEaFyaEGaEQaEPaEPaEPaERaEPaEPaEYaEZaCMaaaaBXaFiaDNaFlaDNaFmaBXaaaazNazSazTaFoaFnaFpaFnaFqazTazUaFMayPayPayPayPaFvazxaBsazoazxazxaFwazoaFxarMaFAaFzaFBarQayVaFUaFVaFWaFXaFUaFDaFCaFFaFEaFGaBmaBmaBmaBmaBmaBmaGdaGeaGfaGgaDoaGhaGiaDraDraDraDraDraDraDraDraDraGjaGkaDraDraGjaGlaDraDrcEmaDraDxaDxaDxaDxaDxaHGaGnaESaGoaGpaDxaDxaDxaDxaDxaGqaGraGsaGsaGsaGsaGsaGsaGtaGtaFTaGtaGtaGtaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaEvaFHaGwaFIaFbaGyaFbaGyaFbaGyaFbaGyaFbaFJaGAaGBaCYaExaBMaFLaFKaFOaFNaFQaFPaCEaGIaGJaGKaGKaGKaGLaGMaGKaFRaEPaEPaEPaEPaEPaEPaEPaEYaFSaCMaafaBXaDNaFYaGaaFZaGuaBXaafazNazSazTaGcaGbaFpaGvaGxazTaGYaGZayPaGzazoaAUaGCaAtaGDazoazxazxaHdazoaGEarMaGGaGFaGHarQaHiaHjaHkaHlaHmaHnaGOaGNatWaGPaGQaBmaGRaBmaGSaBmaGTaBmaHvaGfaHwaDoaHxaHyaHzaHAaHAaHBajfaHDaHDaHDaHDaHDaHEaHDaHDaHDaHFbqkaDrcEnaDraHHaHIcGsaHJaHJaHKaHLaDxaDxaHMaDxaHNaHOaHPaHQaGsaGXaGsaGUaGWaGVaHaaHbaHeaHcaHRaHfaHhaHgaIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIeaIeaIeaIeaIeaIeaIeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIfaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazvaAAaCzaCAaCAaCAaCAaCBaAAazvaaaaBJaBLaBNaBMaCEaCEaCEaCEaCEaCEaCEaYYaBYaBSaAIaCHaCIaCJaAIaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBXaCaaBZaCbaDNaCeaBXaaaazNazSazTaBnaCfaChaCgaBnazTazUaooayPaCjaCkaAUaCpaCnaCraCqaCuaCtayPayPayParMazDaymavsarQayVatnaDdaCCauLatUaCDavuatWaCFaCNaCGaCOaBmaBEaCPaBFaBmaDlaDmaDnaDoaDpaDqaDratxatxatxaDsatzatzatzatzaDtatzatzatzatzaDuaafaDraCQaCSaCRaCTaDraaaaaaaafaaaaAvaAvaDvaDwaAvaDxaDyaDzaDxaDxaDxaDxaDxaDxaDxaDAaDBaDBaDBaDCaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaaaaaaaaaaaaaCVaCUaDGaCUaCUaDHaDIaCUaCUaDGaCXaCWaBJaCYaCZaBMaDbaDaaDeaDcaDgaDfaCEbdHbdIaviaAIaAIaDUaDVaCMaDhaDjaDiaDEaDkaDJaDFaDLaDKaDMaCMaafaBXaDOaDNaCdaDNaDPaBXaafazNazSazTaDSaDRaDWaDTaDXazTazUaGmayPazmazoaDYazxazxaEaaDZaAtaEbaEwaEcaEcarMazDaymavsarQayVaEyaEyaEyaEyaEyaEeaEdatWaEfaEgaEgaEiaEhaEgaEjaEkaBmaEHaEIaEJaEKaELaEMaDraaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaDraElaEnaEmaEoaDraaaaDxaENaEOaDxaEpaEsaEraESaESaESaESaETaEUaEVaEVaEVaEVaEVaEVaEVaEWaEXaEtaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaCVaCXaCUaEuaFaaFbaFcaFdaFeaFfaFgaFbaFhaEvaFjaFkaCYaExaBMaEAaEzaECaEBaECaEDaFraFscDicDhcElaFuaEFaEEaFyaEGaEQaEPaEPaEPaERaEPaEPaEYaEZaCMaaaaBXaFiaDNaDNaDNaDQaBXaaaazNazSazTaFoaFnaFpaFnaFqazTazUaFMayPayPayPayPaFvazxaBsazoazxazxaFwazoaFxarMaFAaFzaFBarQayVaFUaFVaFWaFXaFUaFDaFCaFFaFEaFGaBmaBmaBmaBmaBmaBmaGdaGeaGfaGgaDoaGhaGiaDraDraDraDraDraDraDraDraDraGjaGkaDraDraGjaGlaDraDrcEmaDraDxaDxaDxaDxaDxaHGaGnaESaGoaGpaDxaDxaDxaDxaDxaGqaGraGsaGsaGsaGsaGsaGsaGtaGtaFTaGtaGtaGtaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaEvaFHaGwaFIaFbaGyaFbaGyaFbaGyaFbaGyaFbaFJaGAaGBaCYaExaBMaFLaFKaFOaFNaFQaFPaCEaGIaGJaGKaGKaGKaGLaGMaGKaFRaEPaEPaEPaEPaEPaEPaEPaEYaFSaCMaafaBXaDNaFlaFYaFmaFZaBXaafazNazSazTaGcaGbaFpaGvaGxazTaGYaGZayPaGzazoaAUaGCaAtaGDazoazxazxaHdazoaGEarMaGGaGFaGHarQaHiaHjaHkaHlaHmaHnaGOaGNatWaGPaGQaBmaGRaBmaGSaBmaGTaBmaHvaGfaHwaDoaHxaHyaHzaHAaHAaHBajfaHDaHDaHDaHDaHDaHEaHDaHDaHDaHFbqkaDrcEnaDraHHaHIcGsaHJaHJaHKaHLaDxaDxaHMaDxaHNaHOaHPaHQaGsaGXaGsaGUaGWaGVaHaaHbaHeaHcaHRaHfaHhaHgaIdaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIeaIeaIeaIeaIeaIeaIeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIfaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaIgaFbaFbaDGaFbaGyaFbaGyaIhaGyaIiaGyaFbaFJaGAaGBaCYaHoaIkaIkaHpaImaHqaImaIkaIkaIoaIpaGKaIqaIraIsaItaGKaHraHtaHsaEPaEPaHuaEPaHTaHSaHraCMaaaaBXaBXaIAaHUaIAaBXaBXaaaazNazSazTaHWaHVaHXaFnaFnaIFaIGaIHayPaHYazoaHZazxazxaIaaDZaAtaAtaIMazoaIbaIOaIjaIcaIlaISaITaIUaIUaIUaIUaIUaIuaInaIXaIvaIwaBmaIxaBmaIyaBmaIzaBmaJdaGfaICaIBaJgaJgaDpaJhaDraDranKaDraDraIDaDraJgaJkaJgaJgaJgaJlaJmaJncGtaJqaJraJsaJsaJsaJsaJtaJuaHQaJvaJwaJxaJyaJzaJAaHQaIIaIEaGsaIJaILaIKaINaHbaIPaHcaIRaIQaGtaGtaGtaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIeaIeaIeaIeaIeaIeaIeaIeaIeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaEvaIVaGwaFIaFbaGyaFbaGyaFbaGyaFbaGyaFbaFJaGAaGBaCYaIYaIWaJaaIZaJbaJbaJeaJcaJjaJfaJoaJVaJWaJXaJYaJZaGKaHraJBaJpaJDaJCaHraJEaJGaJFaJHaKiaaaaafaaaaKjaJIaKjaaaaafaaaaKiazSazTaJKaJJaJMaJLaJNazTaKqaKrayPaJOazoaAUaJQaJPaGDazoaJSaJRaKxaJTaJUaIOaKbaKaaKdaKcaKeaKFaaaaaaaIXaKfaKhaKgaIXaKkaIwaIwaIwaKlaIwaIwaIwaBmaDoaKmaDoaDoaDoaDoaKMaDoaKNaHCaKnaJiaKpaKoaKTaKuaKVaKTaKTaKTaKTaKTaKWaKTaKTaKTaKTaKTaKTaKTaKTaKXaHQaKYaKZaLaaLbaLcaLdaHQaKwaKvaGsaKyaKAaKzaINaKBaIPaHcaIRaHcaKDaKCaLmaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIeaIeaIeaIeaIeaIeaIeaIeaIeaIeaIeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaKEaKGaCUaEuaFaaFbaFbaLpaFbaFbaLqaFbaFhaEvaLraLsaCYaKIaKHaKKaKJaKKaKKaKKaKKaKKaKLaKOaGKaGKaGKaGKaGKaGKaLzaKPaLBaLCaLCaLCaLCaLDaKQaLFaKiaLGaLHaLHaLIaKRaLKaLHaLHaLLaKiaLMaKiaKiaLNaKSaLNaIOaIOaISaLPaIOaIOaIOaIOaLQaLRaLeaKUaLUaLVaIOaIOaIOaIOaLfaKaaLgaLgaLhaLZaMaaMbaIXaLiaLkaLjaIXaIXaIXaIXaIXaIXaIXaIXaBmaBmaLnaLlaLtaLoaLuaMkaMlaMmaKNaKsaLvaKtaKtaLwaKTaLAaLJaLEaLSaLOaLWaLxaLXaMzaLYaLSaLWaLOaLSaMcaKTaKXaHQaMCaMDaMEaMFaMGaMHaHQaMeaMdaMgaMfaMiaMhaMjaGsaGtaMnaIRaHcaMpaMoaMSaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaIeaIeaIeaIeaIeaIeaIeaIeaIeaIeaIeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa