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