Implements the correct setup_supermatter verb

This commit is contained in:
Anewbe
2017-09-17 17:18:52 -05:00
parent dcf31a959c
commit f7ff4669d9
3 changed files with 39 additions and 19 deletions
+1 -1
View File
@@ -159,7 +159,7 @@ var/list/debug_verbs = list (
,/client/proc/hide_debug_verbs
,/client/proc/testZAScolors
,/client/proc/testZAScolors_remove
,/client/proc/setup_supermatter_engine
,/datum/admins/proc/setup_supermatter
,/client/proc/atmos_toggle_debug
,/client/proc/spawn_tanktransferbomb
)
+23 -3
View File
@@ -187,9 +187,15 @@
// Tries to enable the SMES on max input/output settings. With load balancing it should be fine as long as engine outputs at least ~500kW
// Tries to enable the SMES on max input/output settings, unless the vars are changed. THIS SHOULD NOT BE PLACED ON THE MAIN SMES OR THE ENGINE WILL OVERHEAT
/obj/effect/engine_setup/smes/
name = "SMES Marker"
var/target_input_level //These are in watts, the display is in kilowatts. Add three zeros to the value you want.
var/target_output_level //These are in watts, the display is in kilowatts. Add three zeros to the value you want.
/obj/effect/engine_setup/smes/main
target_input_level = 750000
target_output_level = 750000
/obj/effect/engine_setup/smes/activate()
..()
@@ -199,8 +205,22 @@
return SETUP_WARNING
S.input_attempt = 1
S.output_attempt = 1
S.input_level = S.input_level_max
S.output_level = S.output_level_max
if(target_input_level)
if(target_input_level > S.input_level_max)
S.input_level = S.input_level_max
else
S.input_level = target_input_level
else
S.input_level = S.input_level_max
if(target_output_level)
if(target_output_level > S.input_level_max)
S.output_level = S.output_level_max
else
S.output_level = target_output_level
else
S.output_level = S.output_level_max
S.update_icon()
return SETUP_OK
+15 -15
View File
@@ -9557,7 +9557,7 @@
"dBO" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (SOUTHEAST)"; icon_state = "intact"; dir = 6},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_waste)
"dBP" = (/obj/machinery/atmospherics/pipe/simple/visible/black,/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor,/area/engineering/engine_waste)
"dBQ" = (/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/floor_decal/industrial/outline/yellow,/turf/simulated/floor,/area/engineering/engine_waste)
"dBR" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/turf/simulated/floor/plating,/area/engineering/engine_smes)
"dBR" = (/obj/machinery/power/smes/buildable{charge = 1e+007; cur_coils = 4; input_attempt = 1; input_level = 500000; output_level = 500000; RCon_tag = "Engine - Main"},/obj/structure/cable,/obj/effect/engine_setup/smes/main,/turf/simulated/floor/plating,/area/engineering/engine_smes)
"dBS" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/power/terminal{dir = 8},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/machinery/button/remote/airlock{id = "engine_electrical_maintenance"; name = "Door Bolt Control"; pixel_x = 26; pixel_y = 0; req_access = list(10); specialfunctions = 4},/turf/simulated/floor/tiled,/area/engineering/engine_smes)
"dBT" = (/obj/machinery/computer/general_air_control/supermatter_core{frequency = 1438; input_tag = "cooling_in"; name = "Engine Cooling Control"; output_tag = "cooling_out"; pressure_setting = 100; sensors = list("engine_sensor" = "Engine Core")},/turf/simulated/floor/tiled,/area/engineering/engine_monitoring)
"dBU" = (/obj/machinery/computer/rcon,/turf/simulated/floor/tiled,/area/engineering/engine_monitoring)
@@ -9624,7 +9624,7 @@
"dDd" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dDe" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/machinery/alarm/nobreach{dir = 2; pixel_y = 22},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dDf" = (/obj/machinery/power/terminal{dir = 4},/obj/structure/cable/yellow,/obj/machinery/power/sensor{name = "Powernet Sensor - Engine Output"; name_tag = "Engine Output"},/obj/structure/cable/yellow{d2 = 2; icon_state = "0-2"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dDg" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/obj/effect/floor_decal/industrial/warning{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dDg" = (/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/machinery/power/smes/buildable{charge = 2e+006; input_attempt = 1; input_level = 100000; output_level = 200000; RCon_tag = "Engine - Core"},/obj/effect/floor_decal/industrial/warning{dir = 1},/obj/effect/engine_setup/smes,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dDh" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dDi" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/unary/vent_pump/on{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dDj" = (/obj/structure/cable/cyan{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/cyan{d1 = 2; d2 = 8; icon_state = "2-8"},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 9},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/engineering/engine_room)
@@ -9696,22 +9696,22 @@
"dEx" = (/obj/structure/lattice,/turf/simulated/mineral/floor/ignore_mapgen,/area/engineering/aft_hallway)
"dEy" = (/turf/simulated/floor,/area/shuttle/constructionsite/station)
"dEz" = (/obj/structure/closet/crate,/obj/random/maintenance/engineering,/obj/random/maintenance/engineering,/turf/simulated/floor/plating,/area/shuttle/constructionsite/station)
"dEA" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_north = 4; tag_south = 2; tag_west = 0; use_power = 0},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dEA" = (/obj/machinery/atmospherics/omni/filter{tag_east = 1; tag_north = 4; tag_south = 2; tag_west = 0; use_power = 0},/obj/effect/engine_setup/filter,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dEB" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan,/turf/simulated/floor,/area/engineering/engine_room)
"dEC" = (/obj/machinery/atmospherics/omni/filter{tag_east = 0; tag_north = 4; tag_south = 2; tag_west = 1; use_power = 0},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dEC" = (/obj/machinery/atmospherics/omni/filter{tag_east = 0; tag_north = 4; tag_south = 2; tag_west = 1; use_power = 0},/obj/effect/engine_setup/filter,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dED" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{tag = "icon-intact (NORTHEAST)"; icon_state = "intact"; dir = 5},/turf/simulated/floor,/area/engineering/engine_room)
"dEE" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/turf/simulated/floor,/area/engineering/engine_room)
"dEF" = (/obj/effect/floor_decal/industrial/warning/corner,/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dEG" = (/obj/structure/cable/cyan{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 4; icon_state = "intact"; tag = "icon-intact (EAST)"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dEH" = (/obj/machinery/atmospherics/pipe/simple/visible/cyan{dir = 10},/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dEI" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/portables_connector{dir = 4},/turf/simulated/floor,/area/engineering/engine_room)
"dEJ" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/turf/simulated/floor,/area/engineering/engine_room)
"dEI" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/portables_connector{dir = 4},/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_room)
"dEJ" = (/obj/machinery/atmospherics/binary/pump{dir = 4},/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room)
"dEK" = (/obj/machinery/atmospherics/pipe/manifold/visible/cyan{dir = 1},/turf/simulated/floor,/area/engineering/engine_room)
"dEL" = (/obj/machinery/atmospherics/valve/digital{dir = 4; name = "Emergency Cooling Valve 1"},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dEM" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dEN" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/turf/simulated/floor,/area/engineering/engine_room)
"dEO" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/turf/simulated/floor,/area/engineering/engine_room)
"dEP" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor,/area/engineering/engine_room)
"dEO" = (/obj/machinery/atmospherics/binary/pump{dir = 8},/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room)
"dEP" = (/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/atmospherics/portables_connector{dir = 8},/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_room)
"dEQ" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{dir = 5},/turf/space,/area/space)
"dER" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging{tag = "icon-intact (NORTHWEST)"; icon_state = "intact"; dir = 9},/turf/space,/area/space)
"dES" = (/obj/effect/floor_decal/industrial/warning{dir = 9},/obj/machinery/light/small{dir = 8},/obj/machinery/atmospherics/pipe/manifold/hidden{dir = 8; icon_state = "map"; tag = "icon-manifold-f (WEST)"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1)
@@ -9745,7 +9745,7 @@
"dFu" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dFv" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 8},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dFw" = (/obj/machinery/atmospherics/pipe/manifold/visible/green{dir = 1},/obj/machinery/meter,/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dFx" = (/obj/machinery/atmospherics/binary/pump/high_power{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dFx" = (/obj/machinery/atmospherics/binary/pump/high_power{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/engine_setup/pump_max,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dFy" = (/obj/structure/grille,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/machinery/door/blast/regular{density = 0; icon_state = "pdoor0"; id = "EngineRadiatorViewport"; name = "Engine Radiator Viewport Shutter"; opacity = 0},/obj/machinery/atmospherics/pipe/simple/visible/green{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/machinery/door/firedoor/border_only,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dFz" = (/obj/machinery/atmospherics/pipe/simple/heat_exchanging/junction{tag = "icon-intact (EAST)"; icon_state = "intact"; dir = 4},/obj/structure/lattice,/turf/space,/area/space)
"dFA" = (/obj/effect/floor_decal/industrial/warning{dir = 10},/obj/machinery/camera/network/northern_star{c_tag = "DOCK - Dock 1 End"; dir = 4},/obj/machinery/atmospherics/unary/vent_pump/high_volume{dir = 1; frequency = 1380; id_tag = "trade_shuttle_dock_pump"},/turf/simulated/floor/tiled,/area/hallway/secondary/entry/D1)
@@ -9762,8 +9762,8 @@
"dFL" = (/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/effect/floor_decal/industrial/warning/cee,/turf/simulated/floor/plating,/area/maintenance/starboardsolar)
"dFM" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; name = "KEEP CLEAR: DOCKING AREA"; pixel_y = 0},/turf/simulated/wall/r_wall,/area/engineering/aft_hallway)
"dFN" = (/obj/effect/floor_decal/industrial/warning/corner{dir = 8},/turf/simulated/floor,/area/engineering/engine_room)
"dFO" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/portable_atmospherics/canister/empty,/turf/simulated/floor,/area/engineering/engine_room)
"dFP" = (/obj/machinery/atmospherics/binary/pump,/turf/simulated/floor,/area/engineering/engine_room)
"dFO" = (/obj/machinery/atmospherics/binary/pump,/obj/effect/engine_setup/pump_max,/turf/simulated/floor,/area/engineering/engine_room)
"dFP" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/floor_decal/industrial/outline/blue,/obj/machinery/portable_atmospherics/canister/empty,/obj/effect/engine_setup/empty_canister,/turf/simulated/floor,/area/engineering/engine_room)
"dFQ" = (/obj/machinery/atmospherics/pipe/cap/visible,/turf/simulated/floor,/area/engineering/engine_room)
"dFR" = (/obj/effect/floor_decal/industrial/warning/corner,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dFS" = (/obj/machinery/light,/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/effect/floor_decal/industrial/warning,/turf/simulated/floor/plating,/area/engineering/engine_room)
@@ -9812,7 +9812,7 @@
"dGJ" = (/turf/space,/area/shuttle/administration/station)
"dGK" = (/obj/machinery/access_button{command = "cycle_exterior"; frequency = 1379; master_tag = "solar_xeno_airlock"; name = "exterior access button"; pixel_x = 25; pixel_y = 25; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/airless,/area/solar/starboard)
"dGL" = (/obj/machinery/light{dir = 8},/obj/effect/floor_decal/industrial/warning/corner{dir = 1},/turf/simulated/floor,/area/engineering/engine_room)
"dGM" = (/obj/machinery/atmospherics/portables_connector,/turf/simulated/floor,/area/engineering/engine_room)
"dGM" = (/obj/machinery/atmospherics/portables_connector,/obj/effect/engine_setup/coolant_canister,/turf/simulated/floor,/area/engineering/engine_room)
"dGN" = (/obj/machinery/atmospherics/unary/heat_exchanger{dir = 1},/turf/simulated/floor,/area/engineering/engine_room)
"dGO" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dGP" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (NORTH)"; icon_state = "phoronrwindow"; dir = 1},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/obj/machinery/door/blast/regular{dir = 1; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room)
@@ -9828,7 +9828,7 @@
"dGZ" = (/obj/machinery/atmospherics/unary/heat_exchanger,/turf/simulated/floor,/area/engineering/engine_room)
"dHa" = (/obj/structure/grille,/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (EAST)"; icon_state = "phoronrwindow"; dir = 4},/obj/structure/window/phoronreinforced{tag = "icon-phoronrwindow (WEST)"; icon_state = "phoronrwindow"; dir = 8},/obj/machinery/door/blast/regular{dir = 1; id = "SupermatterPort"; layer = 3.3; name = "Reactor Blast Door"},/turf/simulated/floor/plating,/area/engineering/engine_room)
"dHb" = (/obj/effect/floor_decal/industrial/warning{dir = 4},/obj/effect/floor_decal/industrial/warning{dir = 8},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room)
"dHc" = (/obj/machinery/power/supermatter{layer = 4},/obj/machinery/mass_driver{id = "enginecore"},/turf/simulated/floor/greengrid/nitrogen,/area/engineering/engine_room)
"dHc" = (/obj/machinery/power/supermatter{layer = 4},/obj/machinery/mass_driver{id = "enginecore"},/obj/effect/engine_setup/core,/turf/simulated/floor/greengrid/nitrogen,/area/engineering/engine_room)
"dHd" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/effect/floor_decal/industrial/warning{dir = 4},/turf/simulated/floor/reinforced/nitrogen{nitrogen = 82.1472},/area/engineering/engine_room)
"dHe" = (/obj/machinery/power/generator{anchored = 1; dir = 4},/obj/structure/cable/yellow,/turf/simulated/floor/plating,/area/engineering/engine_room)
"dHf" = (/obj/effect/floor_decal/industrial/warning{dir = 8},/obj/machinery/atmospherics/pipe/simple/visible/black{dir = 6},/turf/simulated/floor/plating,/area/engineering/engine_room)
@@ -10107,10 +10107,10 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndz
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabxdAXdDUdDUdDUdAXdADdDVdDWdDXdDYdDZdEadEbdEcdEddEedEddEddEddEddEddEfdEgdDrdDrdADdCGdCHdDvdDsdCHdCJaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadprdiQdpsdptdpudiRdiRdiRdiRdiRdiQdiQdEhdEidEidiQdiQaaaaaaaaaaaaaaaaaadkbdkbdkbdkbdkbaaaaaaaaaaaaaaaaaadiWdiWdEjdEjdEkdiWdiWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadjddjddEldEmdEmdjddjdaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdjidjidEndEodEpdjiaafaaidAPdCQdEqdCQdAPdCSdErdCSdAPaaiaaiaafaafaafaafdEsdEtdEudEvdEwaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaidExdBJdEydEydEzdBJdADdDVdDWdEAdEBdECdEDdEEdEEdEFdEGdEHdEIdEJdEKdELdEMdENdEOdEPdADdEQdCHdDtdDudCHdERaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaadjVdESdETdEUdjVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkcdEVdEWdEXdkcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadkidEYdEZdFadkiaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdFbdFcdFddFedFfdkoaaiaaiaaidCQdFgdCQaaadCSdFhdCSaaiaaiaaiaaiaaiaaiabxabxdFidFjdFiaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkaaaaaadFkaaaaaaaaadFkaaaaaaaaaaaaaaadFkaaaaaaaaadFkaaaaaadFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiduodAWdAXdBJdAXdAWdADdDVdDWdFldFmdFndDVdDVdDVdFodFpdFqdFrdFrdFsdFtdFudFvdFwdFxdFydFzdCIdDvdDsdCIdDtaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadledFAdDAdFBdleaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnQdFCdDDdFDdnQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadnVdFEdDKdFFdnVaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdFGdFHdFIdFJdFKdnZaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaiaaiaaaaaaaaaaaeaaeaaadFidFLdFiaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkdFkdFkdFkaaaaaaaaadFkdFkdFkdFkdFkdFkdFkaaaaaaaaadFkdFkdFkdFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFMduodExabxdExduodADdFNdDWdFOdFPdFQdDVdFRdFSdFTdFUdFVdFWdFXdFYdFZdGadGbdGcdGddGedFzdCHdDtdDudCHdERaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdmbdGgdGhdljaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdGidGjdrrdGkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGldrwdGmdGndlpaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdrCdrDdGodrDdrDdGpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaaaaadGqdGrdGqaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkdFkdFkdFkaaaaaaaaadFkdFkdFkdFkdFkdFkdFkaaaaaaaaadFkdFkdFkdFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFMduodExabxdExduodADdFNdDWdFPdFOdFQdDVdFRdFSdFTdFUdFVdFWdFXdFYdFZdGadGbdGcdGddGedFzdCHdDtdDudCHdERaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGfdmbdGgdGhdljaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadlkdGidGjdrrdGkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGldrwdGmdGndlpaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdrCdrDdGodrDdrDdGpaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaaaaadGqdGrdGqaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkdFkdFkdFkaaaaaadFkdFkdFkdFkdFkdFkdFkdFkdFkaaaaaadFkdFkdFkdFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaidGsaaiaaidADdGtdFldGudGvdGwdDVdGxdADdGydGzdGAdADdGBdGCdGDdGEdGFdGGdGHdADdCGdCHdDvdDsdCHdCJaccaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadGIdGIdGIdGIaaaaaaaaaaaadGIdGIdGIdGIdGIaaaaaaaaaaaaaaaaaadGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaeaaeaaaaaaaaaaaadGKaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkdFkdFkdFkaaaaaadFkdFkdFkdFkdFkdFkdFkdFkdFkaaaaaadFkdFkdFkdFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaaidADdGLdDVdGMdGNdGNdDVdGOdGPdGQdGRdGSdGPdGTdGUdFtdFudGVdGWdGXdADdDsdCIdDtdDudCIdDvaccaaaaaaaaaaaaaaaaaaaaaaaadGIdGIdGIdGIdGIdGIdGIdGIdGIdGIaaaaaaaaaaaaaaadGIdGIdGIdGIdGIdGIaaaaaadGIdGIdGIdGIdGIdGIaaaaaaaaaaaaaaadGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaadGYaaaaaaaaaaaaaaaaaeaaeaaaaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaaadADdDVdDVdFPdGZdGZdDVdGOdHadHbdHcdHddHadGTdGOdFZdHedGbdHfdHgdADdCGdCHdDvdDsdCHdCJaccaaaaaaaaaaaaaaaaaaaaadGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIaaaaaaaaadGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIaaaaaaaaaaaadGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaccaccdAGaaeaaeaaeaaedGYaaeaaeaaeaaeaaeaazaccaccaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaaadADdDVdDVdFOdGZdGZdDVdGOdHadHbdHcdHddHadGTdGOdFZdHedGbdHfdHgdADdCGdCHdDvdDsdCHdCJaccaaaaaaaaaaaaaaaaaaaaadGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIaaaaaaaaadGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIaaaaaaaaaaaadGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaccaccdAGaaeaaeaaeaaedGYaaeaaeaaeaaeaaeaazaccaccaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaaadADdADdDVdHhdGvdGvdHidGOdHjdHkdHldHmdHjdHndHodHpdHqdHrdHsdADdADdEQdCHdDtdDudCHdERaccaaaaaaaaaaaaaaaaaaaaadGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIaaaaaaaaadGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaaaaeaaaaaeaaaaaaaaadGYaaaaaeaaeaaaaaaaaaaaaaccaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadAGaaaaaaaaadADdADdHtdHudHtdHtdADdADdADdHvdADdADdADdADdADdHwdADdADdADaaedDudCIdDvdDsdCIdDtaccaaaaaaaaaaaaaaaaaaaaadGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIaaaaaaaaadGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaadHxdHxdHxdHxdHxaaedGYaaedHxdHxdHxdHxdHxaaaaccaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadzndzndzndzndzndzndzndzndzndzndzndzndzndzndznaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkdFkaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaccaaaaaaaaaaaadHydHydHydHyaaeaaedHzaaadHzaaeaaaaaeaaaaaaaaeaaaaaaaaedEQdCHdDtdDudCHdERaccaaaaaaaaaaaaaaaaaaaaadGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIdGIaaaaaaaaadGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJdGJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaadwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXdwXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaccaaedHAdHBdHBdHBdHBdHCdHDdHCdHEdHEdHEdHEdHFaaeaccaaaaaaaaaaaaaaaaaadvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedvedveaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa