diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index e413e2ddba..4b50904ea2 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -12,6 +12,10 @@ /turf/closed/wall/mineral/plastitanium, /area/ruin/powered/syndicate_lava_base) "ae" = ( +/obj/item/weapon/bombcore/large/underwall, +/turf/closed/wall/mineral/plastitanium, +/area/ruin/powered/syndicate_lava_base) +"af" = ( /obj/structure/closet/secure_closet/bar{ req_access = null; req_access_txt = "150" @@ -20,7 +24,7 @@ dir = 10 }, /area/ruin/powered/syndicate_lava_base) -"af" = ( +"ag" = ( /obj/structure/table/wood, /obj/item/weapon/reagent_containers/food/snacks/syndicake, /obj/item/weapon/reagent_containers/food/snacks/syndicake, @@ -32,7 +36,7 @@ }, /turf/open/floor/plasteel/podhatch, /area/ruin/powered/syndicate_lava_base) -"ag" = ( +"ah" = ( /obj/structure/table/wood, /obj/item/weapon/reagent_containers/food/snacks/salad/validsalad, /turf/open/floor/plasteel/podhatch{ @@ -41,7 +45,7 @@ dir = 6 }, /area/ruin/powered/syndicate_lava_base) -"ah" = ( +"ai" = ( /obj/structure/rack{ icon = 'icons/obj/stationobjs.dmi'; icon_state = "minibar_left"; @@ -50,7 +54,7 @@ /obj/item/weapon/reagent_containers/food/drinks/bottle/vodka, /turf/open/floor/wood, /area/ruin/powered/syndicate_lava_base) -"ai" = ( +"aj" = ( /obj/structure/rack{ icon = 'icons/obj/stationobjs.dmi'; icon_state = "minibar_right"; @@ -59,7 +63,7 @@ /obj/item/weapon/reagent_containers/food/drinks/bottle/gin, /turf/open/floor/wood, /area/ruin/powered/syndicate_lava_base) -"aj" = ( +"ak" = ( /obj/structure/dresser, /obj/structure/mirror{ desc = "Mirror mirror on the wall, who is the most robust of them all?"; @@ -67,40 +71,40 @@ }, /turf/open/floor/plasteel/vault, /area/ruin/powered/syndicate_lava_base) -"ak" = ( +"al" = ( /obj/item/weapon/twohanded/required/kirbyplants{ icon_state = "plant-21"; layer = 4.1 }, /turf/open/floor/plasteel/vault, /area/ruin/powered/syndicate_lava_base) -"al" = ( +"am" = ( /obj/item/weapon/twohanded/required/kirbyplants{ icon_state = "plant-22" }, /turf/open/floor/plasteel/vault, /area/ruin/powered/syndicate_lava_base) -"am" = ( +"an" = ( /obj/structure/table/wood, /obj/item/weapon/clipboard, /obj/item/toy/figure/syndie, /turf/open/floor/plasteel/vault, /area/ruin/powered/syndicate_lava_base) -"an" = ( +"ao" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plasteel/podhatch{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"ao" = ( +"ap" = ( /turf/open/floor/plasteel/black, /area/ruin/powered/syndicate_lava_base) -"ap" = ( +"aq" = ( /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"aq" = ( +"ar" = ( /obj/item/stack/sheet/mineral/plastitanium{ amount = 30 }, @@ -112,10 +116,10 @@ dir = 9 }, /area/ruin/powered/syndicate_lava_base) -"ar" = ( +"as" = ( /turf/open/floor/wood, /area/ruin/powered/syndicate_lava_base) -"as" = ( +"at" = ( /obj/effect/mob_spawn/human/lavaland_syndicate{ tag = "icon-sleeper_s (EAST)"; icon_state = "sleeper_s"; @@ -123,10 +127,10 @@ }, /turf/open/floor/plasteel/grimy, /area/ruin/powered/syndicate_lava_base) -"at" = ( +"au" = ( /turf/open/floor/plasteel/grimy, /area/ruin/powered/syndicate_lava_base) -"au" = ( +"av" = ( /obj/effect/mob_spawn/human/lavaland_syndicate{ tag = "icon-sleeper_s (WEST)"; icon_state = "sleeper_s"; @@ -134,7 +138,7 @@ }, /turf/open/floor/plasteel/grimy, /area/ruin/powered/syndicate_lava_base) -"av" = ( +"aw" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plasteel/podhatch{ tag = "icon-podhatch (EAST)"; @@ -142,7 +146,7 @@ dir = 4 }, /area/ruin/powered/syndicate_lava_base) -"aw" = ( +"ax" = ( /obj/item/stack/cable_coil/white, /obj/item/stack/cable_coil/white, /obj/item/stack/packageWrap, @@ -152,17 +156,6 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"ax" = ( -/obj/structure/table/wood, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/m10mm, -/obj/item/ammo_box/magazine/sniper_rounds, -/obj/item/ammo_box/magazine/sniper_rounds, -/obj/item/ammo_box/magazine/sniper_rounds, -/turf/open/floor/plasteel/grimy, -/area/ruin/powered/syndicate_lava_base) "ay" = ( /obj/structure/table/wood, /obj/item/ammo_box/magazine/m10mm, @@ -172,12 +165,23 @@ /obj/item/ammo_box/magazine/sniper_rounds, /obj/item/ammo_box/magazine/sniper_rounds, /obj/item/ammo_box/magazine/sniper_rounds, +/turf/open/floor/plasteel/grimy, +/area/ruin/powered/syndicate_lava_base) +"az" = ( +/obj/structure/table/wood, +/obj/item/ammo_box/magazine/m10mm, +/obj/item/ammo_box/magazine/m10mm, +/obj/item/ammo_box/magazine/m10mm, +/obj/item/ammo_box/magazine/m10mm, +/obj/item/ammo_box/magazine/sniper_rounds, +/obj/item/ammo_box/magazine/sniper_rounds, +/obj/item/ammo_box/magazine/sniper_rounds, /obj/item/ammo_box/magazine/sniper_rounds, /obj/item/ammo_box/magazine/sniper_rounds, /obj/item/ammo_box/magazine/sniper_rounds, /turf/open/floor/plasteel/grimy, /area/ruin/powered/syndicate_lava_base) -"az" = ( +"aA" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plasteel/podhatch{ tag = "icon-podhatch (SOUTHEAST)"; @@ -185,7 +189,7 @@ dir = 6 }, /area/ruin/powered/syndicate_lava_base) -"aA" = ( +"aB" = ( /obj/item/stack/sheet/metal{ amount = 50 }, @@ -198,7 +202,7 @@ dir = 10 }, /area/ruin/powered/syndicate_lava_base) -"aB" = ( +"aC" = ( /obj/structure/table/wood, /obj/item/weapon/paper_bin, /obj/item/weapon/pen, @@ -206,18 +210,18 @@ icon_state = "wood-broken4" }, /area/ruin/powered/syndicate_lava_base) -"aC" = ( +"aD" = ( /obj/structure/table/wood, /obj/item/weapon/storage/box/drinkingglasses, /turf/open/floor/wood, /area/ruin/powered/syndicate_lava_base) -"aD" = ( +"aE" = ( /obj/structure/table/wood, /obj/item/toy/nuke, /obj/item/weapon/book/manual/nuclear, /turf/open/floor/wood, /area/ruin/powered/syndicate_lava_base) -"aE" = ( +"aF" = ( /obj/structure/table/wood, /obj/item/weapon/lighter{ pixel_y = 3 @@ -225,18 +229,18 @@ /obj/item/weapon/storage/fancy/cigarettes/cigpack_syndicate, /turf/open/floor/wood, /area/ruin/powered/syndicate_lava_base) -"aF" = ( +"aG" = ( /obj/structure/table/wood, /obj/item/weapon/storage/fancy/donut_box, /turf/open/floor/wood, /area/ruin/powered/syndicate_lava_base) -"aG" = ( +"aH" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 26 }, /turf/open/floor/wood, /area/ruin/powered/syndicate_lava_base) -"aH" = ( +"aI" = ( /obj/effect/mob_spawn/human/lavaland_syndicate/comms{ tag = "icon-sleeper_s (EAST)"; icon_state = "sleeper_s"; @@ -244,26 +248,26 @@ }, /turf/open/floor/plasteel/grimy, /area/ruin/powered/syndicate_lava_base) -"aI" = ( +"aJ" = ( /obj/structure/sign/nosmoking_2, /turf/closed/wall/mineral/plastitanium, /area/ruin/powered/syndicate_lava_base) -"aJ" = ( +"aK" = ( /obj/structure/closet/crate/bin, /obj/item/trash/syndi_cakes, /turf/open/floor/plasteel/black, /area/ruin/powered/syndicate_lava_base) -"aK" = ( +"aL" = ( /obj/structure/chair/stool/bar, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"aL" = ( +"aM" = ( /obj/structure/chair/stool/bar, /turf/open/floor/plasteel/black, /area/ruin/powered/syndicate_lava_base) -"aM" = ( +"aN" = ( /obj/structure/table/wood, /obj/item/weapon/lipstick/random{ pixel_x = 3; @@ -279,12 +283,12 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"aN" = ( +"aO" = ( /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"aO" = ( +"aP" = ( /obj/structure/dresser, /obj/structure/mirror{ desc = "Mirror mirror on the wall, who is the most robust of them all?"; @@ -294,13 +298,13 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"aP" = ( +"aQ" = ( /obj/item/target, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"aQ" = ( +"aR" = ( /obj/structure/closet/emcloset{ anchored = 1 }, @@ -311,7 +315,7 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"aR" = ( +"aS" = ( /obj/item/weapon/twohanded/required/kirbyplants{ icon_state = "plant-21"; layer = 4.1 @@ -320,9 +324,6 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"aS" = ( -/turf/open/floor/plasteel/black, -/area/ruin/powered/syndicate_lava_base) "aT" = ( /obj/machinery/door/airlock/hatch{ name = "Dormitories"; @@ -402,11 +403,6 @@ }, /area/ruin/powered/syndicate_lava_base) "bb" = ( -/turf/open/floor/plasteel/vault{ - dir = 5 - }, -/area/ruin/powered/syndicate_lava_base) -"bc" = ( /obj/item/weapon/twohanded/required/kirbyplants{ icon_state = "plant-22" }, @@ -414,24 +410,24 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"bd" = ( +"bc" = ( /obj/structure/bookcase/random, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"be" = ( +"bd" = ( /obj/item/weapon/twohanded/required/kirbyplants{ icon_state = "plant-21"; layer = 4.1 }, /turf/open/floor/plasteel/black, /area/ruin/powered/syndicate_lava_base) -"bf" = ( +"be" = ( /obj/structure/bookcase/random, /turf/open/floor/plasteel/black, /area/ruin/powered/syndicate_lava_base) -"bg" = ( +"bf" = ( /obj/structure/toilet{ tag = "icon-toilet00 (WEST)"; icon_state = "toilet00"; @@ -441,7 +437,7 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"bh" = ( +"bg" = ( /obj/machinery/door/airlock/hatch{ name = "Lounge"; req_access_txt = "150" @@ -450,13 +446,13 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bi" = ( +"bh" = ( /obj/machinery/chem_dispenser, /turf/open/floor/plasteel/podhatch{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bj" = ( +"bi" = ( /obj/structure/table/reinforced, /obj/item/weapon/reagent_containers/glass/beaker/large, /obj/item/weapon/reagent_containers/glass/beaker, @@ -474,7 +470,7 @@ dir = 1 }, /area/ruin/powered/syndicate_lava_base) -"bk" = ( +"bj" = ( /obj/machinery/chem_master, /turf/open/floor/plasteel/podhatch{ tag = "icon-podhatch (EAST)"; @@ -482,7 +478,7 @@ dir = 4 }, /area/ruin/powered/syndicate_lava_base) -"bl" = ( +"bk" = ( /obj/structure/noticeboard{ pixel_y = 32 }, @@ -495,7 +491,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bm" = ( +"bl" = ( /obj/structure/table/reinforced, /obj/item/weapon/clipboard, /obj/item/weapon/folder/white, @@ -509,7 +505,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bn" = ( +"bm" = ( /obj/structure/table/reinforced, /obj/item/weapon/storage/box/beakers{ pixel_x = 3; @@ -522,17 +518,17 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bo" = ( +"bn" = ( /turf/open/floor/plasteel/podhatch{ dir = 9 }, /area/ruin/powered/syndicate_lava_base) -"bp" = ( +"bo" = ( /turf/open/floor/plasteel/podhatch{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"bq" = ( +"bp" = ( /obj/structure/table/reinforced, /obj/machinery/reagentgrinder{ desc = "Used to grind things up into raw materials and liquids."; @@ -543,7 +539,7 @@ }, /turf/open/floor/plasteel/podhatch/corner, /area/ruin/powered/syndicate_lava_base) -"br" = ( +"bq" = ( /obj/structure/reagent_dispensers/virusfood{ pixel_y = 32 }, @@ -555,7 +551,7 @@ }, /turf/open/floor/plasteel/podhatch, /area/ruin/powered/syndicate_lava_base) -"bs" = ( +"br" = ( /obj/structure/extinguisher_cabinet{ pixel_x = 0; pixel_y = 32 @@ -563,7 +559,7 @@ /obj/machinery/computer/pandemic, /turf/open/floor/plasteel/podhatch, /area/ruin/powered/syndicate_lava_base) -"bt" = ( +"bs" = ( /obj/structure/table/reinforced, /obj/item/weapon/storage/box/beakers{ pixel_x = 3; @@ -572,7 +568,7 @@ /obj/item/weapon/storage/box/syringes, /turf/open/floor/plasteel/podhatch, /area/ruin/powered/syndicate_lava_base) -"bu" = ( +"bt" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /obj/item/weapon/reagent_containers/blood/random, @@ -582,49 +578,49 @@ dir = 6 }, /area/ruin/powered/syndicate_lava_base) -"bv" = ( +"bu" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, /turf/open/floor/plating, /area/ruin/powered/syndicate_lava_base) -"bw" = ( +"bv" = ( /mob/living/carbon/monkey, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bx" = ( +"bw" = ( /obj/structure/bed/roller, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"by" = ( +"bx" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"bz" = ( +"by" = ( /mob/living/carbon/monkey, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"bA" = ( +"bz" = ( /obj/structure/window/reinforced, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"bB" = ( +"bA" = ( /obj/machinery/door/window/brigdoor, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bC" = ( +"bB" = ( /obj/machinery/chem_heater, /obj/structure/extinguisher_cabinet{ pixel_x = -26 @@ -633,13 +629,13 @@ dir = 10 }, /area/ruin/powered/syndicate_lava_base) -"bD" = ( +"bC" = ( /obj/structure/chair/office/dark{ dir = 1 }, /turf/open/floor/plasteel/podhatch, /area/ruin/powered/syndicate_lava_base) -"bE" = ( +"bD" = ( /obj/structure/closet/crate/bin, /turf/open/floor/plasteel/podhatch{ tag = "icon-podhatch (SOUTHEAST)"; @@ -647,10 +643,10 @@ dir = 6 }, /area/ruin/powered/syndicate_lava_base) -"bF" = ( +"bE" = ( /turf/open/floor/plasteel/vault, /area/ruin/powered/syndicate_lava_base) -"bG" = ( +"bF" = ( /obj/item/device/assembly/igniter, /obj/item/device/assembly/igniter, /obj/item/device/assembly/igniter, @@ -671,7 +667,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bH" = ( +"bG" = ( /obj/structure/table/reinforced, /obj/item/weapon/book/manual/wiki/infections, /obj/item/stack/sheet/mineral/silver{ @@ -683,7 +679,7 @@ dir = 4 }, /area/ruin/powered/syndicate_lava_base) -"bI" = ( +"bH" = ( /obj/structure/chair/office/dark{ dir = 8 }, @@ -691,14 +687,14 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"bJ" = ( +"bI" = ( /obj/machinery/door/airlock/hatch{ name = "Monkey Pen"; req_access_txt = "150" }, /turf/open/floor/plasteel/black, /area/ruin/powered/syndicate_lava_base) -"bK" = ( +"bJ" = ( /obj/structure/table/reinforced, /obj/item/weapon/gun/ballistic/automatic/c20r/toy/unrestricted, /obj/item/weapon/gun/ballistic/automatic/c20r/toy/unrestricted, @@ -706,7 +702,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bL" = ( +"bK" = ( /obj/item/weapon/twohanded/required/kirbyplants{ icon_state = "plant-21"; layer = 4.1 @@ -715,7 +711,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bM" = ( +"bL" = ( /obj/structure/table/reinforced, /obj/item/clothing/gloves/color/latex, /obj/item/clothing/gloves/color/latex, @@ -729,14 +725,22 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"bN" = ( -/obj/machinery/smartfridge/chemistry/virology/preloaded, +"bM" = ( +/obj/machinery/smartfridge/chemistry/virology, /turf/open/floor/plasteel/podhatch{ tag = "icon-podhatch (EAST)"; icon_state = "podhatch"; dir = 4 }, /area/ruin/powered/syndicate_lava_base) +"bN" = ( +/obj/machinery/vending/toyliberationstation{ + req_access_txt = "150" + }, +/turf/open/floor/plasteel/vault{ + dir = 5 + }, +/area/ruin/powered/syndicate_lava_base) "bO" = ( /obj/machinery/iv_drip, /obj/item/weapon/reagent_containers/blood/random, @@ -925,15 +929,10 @@ /turf/closed/wall/mineral/plastitanium, /area/ruin/powered/syndicate_lava_base) "cj" = ( -/turf/open/floor/plasteel/podhatch{ - dir = 8 - }, -/area/ruin/powered/syndicate_lava_base) -"ck" = ( /obj/structure/sign/biohazard, /turf/closed/wall/mineral/plastitanium, /area/ruin/powered/syndicate_lava_base) -"cl" = ( +"ck" = ( /obj/machinery/door/airlock/hatch{ name = "Virology Lab"; req_access_txt = "150" @@ -942,7 +941,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cm" = ( +"cl" = ( /obj/structure/rack, /obj/item/ammo_box/foambox{ pixel_x = -3; @@ -957,7 +956,7 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"cn" = ( +"cm" = ( /obj/item/weapon/twohanded/required/kirbyplants{ icon_state = "plant-22" }, @@ -965,28 +964,28 @@ dir = 9 }, /area/ruin/powered/syndicate_lava_base) -"co" = ( +"cn" = ( /turf/open/floor/plasteel/podhatch{ tag = "icon-podhatch (NORTH)"; icon_state = "podhatch"; dir = 1 }, /area/ruin/powered/syndicate_lava_base) -"cp" = ( +"co" = ( /turf/open/floor/plasteel/podhatch/corner{ tag = "icon-podhatchcorner (EAST)"; icon_state = "podhatchcorner"; dir = 4 }, /area/ruin/powered/syndicate_lava_base) -"cq" = ( +"cp" = ( /turf/open/floor/plasteel/podhatch/corner{ tag = "icon-podhatchcorner (WEST)"; icon_state = "podhatchcorner"; dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cr" = ( +"cq" = ( /obj/item/weapon/twohanded/required/kirbyplants{ icon_state = "plant-21"; layer = 4.1 @@ -995,13 +994,13 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"cs" = ( +"cr" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, /obj/structure/sign/bluecross_2, /turf/open/floor/plating, /area/ruin/powered/syndicate_lava_base) -"ct" = ( +"cs" = ( /obj/structure/table, /obj/item/weapon/storage/firstaid/regular{ pixel_x = 3; @@ -1014,7 +1013,7 @@ }, /turf/open/floor/plasteel/vault, /area/ruin/powered/syndicate_lava_base) -"cu" = ( +"ct" = ( /obj/machinery/sleeper/syndie{ dir = 8 }, @@ -1022,7 +1021,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cv" = ( +"cu" = ( /obj/structure/closet/crate/secure, /obj/item/target, /obj/item/target, @@ -1036,41 +1035,38 @@ dir = 6 }, /area/ruin/powered/syndicate_lava_base) -"cw" = ( +"cv" = ( /turf/open/floor/plasteel/podhatch{ dir = 10 }, /area/ruin/powered/syndicate_lava_base) -"cx" = ( +"cw" = ( /turf/open/floor/plasteel/podhatch, /area/ruin/powered/syndicate_lava_base) -"cy" = ( +"cx" = ( /obj/structure/extinguisher_cabinet{ pixel_y = -32 }, /turf/open/floor/plasteel/podhatch, /area/ruin/powered/syndicate_lava_base) -"cz" = ( -/turf/open/floor/plasteel/podhatch, -/area/ruin/powered/syndicate_lava_base) -"cA" = ( +"cy" = ( /turf/open/floor/plasteel/podhatch/corner{ tag = "icon-podhatchcorner (NORTH)"; icon_state = "podhatchcorner"; dir = 1 }, /area/ruin/powered/syndicate_lava_base) -"cB" = ( +"cz" = ( /turf/open/floor/plasteel/podhatch/corner, /area/ruin/powered/syndicate_lava_base) -"cC" = ( +"cA" = ( /turf/open/floor/plasteel/podhatch{ tag = "icon-podhatch (SOUTHEAST)"; icon_state = "podhatch"; dir = 6 }, /area/ruin/powered/syndicate_lava_base) -"cD" = ( +"cB" = ( /obj/machinery/door/airlock/hatch{ name = "Infirmary"; req_access_txt = "150" @@ -1079,7 +1075,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cE" = ( +"cC" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /obj/item/weapon/reagent_containers/blood/random, @@ -1087,7 +1083,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cF" = ( +"cD" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, /obj/machinery/door/poddoor/preopen{ @@ -1096,7 +1092,7 @@ }, /turf/open/floor/plating, /area/ruin/powered/syndicate_lava_base) -"cG" = ( +"cE" = ( /obj/machinery/door/airlock/hatch{ name = "Experimentation Room"; req_access_txt = "150" @@ -1105,7 +1101,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cH" = ( +"cF" = ( /obj/machinery/door/airlock/hatch{ name = "Telecommunications Control"; req_access_txt = "150" @@ -1114,10 +1110,10 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cI" = ( +"cG" = ( /turf/open/floor/engine, /area/ruin/powered/syndicate_lava_base) -"cJ" = ( +"cH" = ( /obj/structure/noticeboard{ pixel_y = 32 }, @@ -1125,7 +1121,7 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"cK" = ( +"cI" = ( /obj/structure/table, /obj/item/weapon/storage/toolbox/syndicate, /obj/item/device/multitool, @@ -1133,7 +1129,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cL" = ( +"cJ" = ( /obj/item/weapon/surgicaldrill, /obj/item/weapon/circular_saw, /obj/structure/table/reinforced, @@ -1141,7 +1137,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cM" = ( +"cK" = ( /obj/structure/sink{ dir = 4; icon_state = "sink"; @@ -1155,7 +1151,7 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"cN" = ( +"cL" = ( /obj/item/stack/cable_coil/white{ pixel_x = 3; pixel_y = 3 @@ -1167,14 +1163,14 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cO" = ( +"cM" = ( /obj/structure/table/reinforced, /obj/item/device/flashlight/lamp, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cP" = ( +"cN" = ( /obj/structure/table/reinforced, /obj/item/device/radio/intercom{ broadcasting = 0; @@ -1188,19 +1184,19 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cQ" = ( +"cO" = ( /obj/machinery/computer/camera_advanced, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"cR" = ( +"cP" = ( /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cS" = ( +"cQ" = ( /obj/item/weapon/cautery, /obj/item/weapon/scalpel, /obj/structure/table/reinforced, @@ -1208,14 +1204,14 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cT" = ( +"cR" = ( /obj/structure/table/optable, /obj/item/weapon/surgical_drapes, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cU" = ( +"cS" = ( /obj/item/weapon/retractor, /obj/item/weapon/hemostat, /obj/structure/table/reinforced, @@ -1223,7 +1219,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cV" = ( +"cT" = ( /obj/structure/sign/nosmoking_2{ pixel_x = 32 }, @@ -1231,7 +1227,7 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"cW" = ( +"cU" = ( /obj/item/weapon/twohanded/required/kirbyplants{ icon_state = "plant-22" }, @@ -1242,7 +1238,7 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"cX" = ( +"cV" = ( /obj/structure/table/reinforced, /obj/item/device/radio/intercom{ broadcasting = 1; @@ -1256,13 +1252,13 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"cY" = ( +"cW" = ( /obj/structure/sign/fire{ pixel_x = -32 }, /turf/open/floor/engine, /area/ruin/powered/syndicate_lava_base) -"cZ" = ( +"cX" = ( /obj/structure/table/reinforced, /obj/item/device/assembly/signaler, /obj/item/device/assembly/signaler, @@ -1273,7 +1269,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"da" = ( +"cY" = ( /obj/structure/table/reinforced, /obj/item/stack/sheet/plasteel{ amount = 15 @@ -1284,13 +1280,13 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"db" = ( +"cZ" = ( /obj/structure/filingcabinet/security, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"dc" = ( +"da" = ( /obj/structure/table/reinforced, /obj/item/weapon/paper_bin, /obj/item/weapon/pen, @@ -1298,27 +1294,27 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"dd" = ( +"db" = ( /obj/machinery/computer/message_monitor, /obj/item/weapon/paper/monitorkey, /turf/open/floor/plasteel/vault{ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"de" = ( +"dc" = ( /turf/open/floor/plasteel/vault{ tag = "icon-vault (NORTHEAST)"; dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"df" = ( +"dd" = ( /obj/effect/baseturf_helper, /turf/open/floor/plasteel/vault{ tag = "icon-vault (NORTHEAST)"; dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"dg" = ( +"de" = ( /obj/machinery/button/door{ id = "lavalandsyndi"; name = "Syndicate Experimentor Lockdown Control"; @@ -1327,7 +1323,7 @@ }, /turf/open/floor/engine, /area/ruin/powered/syndicate_lava_base) -"dh" = ( +"df" = ( /obj/machinery/button/door{ id = "lavalandsyndi"; name = "Syndicate Experimentor Lockdown Control"; @@ -1338,7 +1334,7 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"di" = ( +"dg" = ( /obj/item/stack/sheet/mineral/plastitanium{ amount = 30 }, @@ -1350,16 +1346,16 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"dj" = ( +"dh" = ( /obj/structure/filingcabinet/medical, /turf/open/floor/plasteel/vault{ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"dk" = ( +"di" = ( /turf/open/floor/circuit/green, /area/ruin/powered/syndicate_lava_base) -"dl" = ( +"dj" = ( /obj/machinery/door/poddoor/preopen{ id = "lavalandsyndi"; name = "Syndicate Research Experimentor Shutters" @@ -1372,7 +1368,7 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"dm" = ( +"dk" = ( /obj/item/stack/sheet/metal{ amount = 50 }, @@ -1389,7 +1385,16 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"dn" = ( +"dl" = ( +/obj/machinery/door/airlock/hatch{ + name = "Self Destruct Control"; + req_access_txt = "150" + }, +/turf/open/floor/plasteel/vault{ + dir = 8 + }, +/area/ruin/powered/syndicate_lava_base) +"dm" = ( /obj/machinery/telecomms/relay/preset/ruskie{ use_power = 0 }, @@ -1398,7 +1403,7 @@ dir = 5 }, /area/ruin/powered/syndicate_lava_base) -"do" = ( +"dn" = ( /obj/machinery/door/airlock/hatch{ name = "Syndicate Recon Outpost"; req_access_txt = "150" @@ -1408,6 +1413,9 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) +"do" = ( +/turf/open/floor/circuit/red, +/area/ruin/powered/syndicate_lava_base) "dp" = ( /obj/machinery/door/airlock/hatch{ name = "Monkey Pen"; @@ -1434,6 +1442,10 @@ }, /area/ruin/powered/syndicate_lava_base) "ds" = ( +/obj/machinery/syndicatebomb/self_destruct, +/turf/open/floor/circuit/red, +/area/ruin/powered/syndicate_lava_base) +"dt" = ( /obj/structure/bed/roller, /obj/machinery/iv_drip, /mob/living/carbon/monkey, @@ -1441,85 +1453,12 @@ dir = 8 }, /area/ruin/powered/syndicate_lava_base) -"dt" = ( +"du" = ( /obj/structure/sign/securearea{ pixel_y = 32 }, /turf/open/floor/plating/lava/smooth/lava_land_surface, /area/lavaland/surface/outdoors) -"du" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dv" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dw" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dx" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dy" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dz" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dA" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dB" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dC" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dD" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dE" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dF" = ( -/obj/machinery/door/airlock/hatch{ - name = "Self Destruct Control"; - req_access_txt = "150" - }, -/turf/open/floor/plasteel/vault{ - dir = 8 - }, -/area/ruin/powered/syndicate_lava_base) -"dG" = ( -/turf/open/floor/circuit/red, -/area/ruin/powered/syndicate_lava_base) -"dH" = ( -/obj/item/weapon/bombcore/large/underwall, -/turf/closed/wall/mineral/plastitanium, -/area/ruin/powered/syndicate_lava_base) -"dI" = ( -/turf/open/floor/circuit/red, -/area/ruin/powered/syndicate_lava_base) -"dJ" = ( -/obj/machinery/syndicatebomb/self_destruct, -/turf/open/floor/circuit/red, -/area/ruin/powered/syndicate_lava_base) -"dK" = ( -/turf/open/floor/circuit/red, -/area/ruin/powered/syndicate_lava_base) -"dL" = ( -/turf/open/floor/circuit/red, -/area/ruin/powered/syndicate_lava_base) (1,1,1) = {" aa @@ -1831,7 +1770,7 @@ ad ad ad ad -dD +ae ad ad ac @@ -1856,23 +1795,23 @@ ad ad ad ad -dw +ae ad ad ad ad ad ad -dA +ae ad ad -cI -cI -cI -cY -cI -cI -cI +cG +cG +cG +cW +cG +cG +cG ad ac ab @@ -1892,27 +1831,27 @@ ab ab ab ad -ap -ap -ap +aq +aq +aq aY -ap +aq aY -bA -bK -ap +bz +bJ +bN bV cf -cm -cv +cl +cu ad -cI -cI -cI -cI -cI -cI -cI +cG +cG +cG +cG +cG +cG +cG ad ab ab @@ -1932,27 +1871,27 @@ ab ab ab ad -ap -aP -aN -aN -aN -aN -bB -aN -ap -ap +aq +aQ +aO +aO +aO +aO +bA +aO +aq +aq cg -ap -ap -cF -cI -cI -cI -cI -cI -cI -cI +aq +aq +cD +cG +cG +cG +cG +cG +cG +cG ad ab ab @@ -1972,27 +1911,27 @@ ab ac ac ad -ap -ap -ap +aq +aq +aq aZ -ap +aq aZ -bA -bL -ap +bz +bK +aq bW ad -aR -ap +aS +aq ad -cI -cI -cI -cI -cI -cI -cI +cG +cG +cG +cG +cG +cG +cG ad ab ab @@ -2023,16 +1962,16 @@ ad ad ad ad -bv +bu cg ad -cI -cI -cI -cI -cI -cI -cI +cG +cG +cG +cG +cG +cG +cG ad ac ab @@ -2049,30 +1988,30 @@ ab ab ab ad -an -av -az -aI -aQ +ao +aw +aA +aJ +aR aU ba ad -bi -bC -aR +bh +bB +aS bO bO cf -cn -cw +cm +cv ad -cI -cI -cI -cI -cI -cI -cI +cG +cG +cG +cG +cG +cG +cG ad ac ab @@ -2089,30 +2028,30 @@ ab ab ab ad -ao ap -ao +aq ap +aq +aq ap -ao -ap +aq ad -bj -bD -ap -ao +bi +bC +aq ap +aq ch -co -cz +cn +cw ad -cI -cI -cI -cI -dg -cI -cI +cG +cG +cG +cG +de +cG +cG ad ac ac @@ -2129,31 +2068,31 @@ ab ab ac ad +aq ap -ao +aq ap -ao -ao ap -ao +aq +ap ad -bk -bE -ap -ap -ap +bj +bD +aq +aq +aq ci -co -cy +cn +cx ad cf -cF -cF -cF +cD +cD +cD ad -dl +dj ad -dH +ae ad ad ab @@ -2169,32 +2108,32 @@ ab ab ac ad +ar +ax +aB +ad +aS aq -aw -aA +bb ad -aR -ap -bc -ad -bl -bF -ap +bk +bE +aq bP bX ad -co -cz -dB -aR -cN -bG -cZ -dh -ap -cW -bv -ds +cn +cw +ae +aS +cL +bF +cX +df +aq +cU +bu +dt ad ab ab @@ -2216,25 +2155,25 @@ ad ad aV ad -dx -bm -bF -ap +ae +bl +bE +aq bQ bY -bv -co -cz -cG -ap -ap -ap -ap -ap -ap -ap +bu +cn +cw +cE +aq +aq +aq +aq +aq +aq +aq dp -aN +aO ad ab ab @@ -2248,33 +2187,33 @@ ab ab ab ad -ae -ar -ar -aB -aJ +af +as +as +aC +aK +aq ap -ao -bd +bc ad -bn -bG -bM +bm +bF +bL bR bZ ad -co -cz +cn +cw cf -ap -ap -cV -da -di -dm -aR -bv -ds +aq +aq +cT +cY +dg +dk +aS +bu +dt ad ab ab @@ -2288,23 +2227,23 @@ ab ab ab ad -af -ar -ar -aC -aK -ao +ag +as +as +aD +aL ap -be +aq +bd ad ad -bv -bv -bv +bu +bu +bu ad ad -co -cz +cn +cw ad ad ad @@ -2316,7 +2255,7 @@ ad ad ad ad -dt +du ab ab ab @@ -2328,34 +2267,34 @@ ab ab ab ad -ag -ar -ar -aD -aL +ah +as +as +aE +aM +aq ap -ao -ap -bh -bo +aq +bg +bn aY aY aY aY aY -cp -cA +co +cy aY aY aY aY aY aY -cw -do +cv +dn dq -aN -do +aO +dn ab ab ab @@ -2367,35 +2306,35 @@ ab ab ab ab -du +ae ad -ar -ar -aE -aK -ao +as +as +aF +aL ap -ao -bh -bp +aq +ap +bg +bo aZ aZ aZ aZ aZ -cq -cB +cp +cz aZ aZ aZ aZ aZ aZ -cC -do +cA +dn dr -aN -do +aO +dn ab ab ab @@ -2408,23 +2347,23 @@ ab ab ab ad -ah -ar -ar -aF -ao +ai +as +as +aG ap -ao -bc +aq +ap +bb ad ad -bv -bv -bv +bu +bu +bu ad ad -co -cz +cn +cw ad ad ad @@ -2436,7 +2375,7 @@ ad ad ad ad -dt +du ab ab ab @@ -2448,30 +2387,30 @@ ab ab ab ad -ai -ar -ar -aG +aj +as +as +aH +aq ap -ao -ap -bf +aq +be ad -bq -bH -bN +bp +bG +bM bS ca -ck -co -cz -dC -aR -ap -cW -db -dj -dE +cj +cn +cw +ae +aS +aq +cU +cZ +dh +ae ac ac ac @@ -2497,20 +2436,20 @@ ad aT ad ad -br -bI -ap -ap +bq +bH +aq +aq cb -cl -co -cz -cH +ck +cn +cw +cF +aq ap -ao -ao -ao ap +ap +aq ad ac ac @@ -2528,29 +2467,29 @@ ab ab ab ad -aj -as -ax -aH -aM +ak +at +ay +aI +aN ad -ap -aR +aq +aS ad -bs -ap -ao +br +aq ap +aq bP ad -co -cz +cn +cw cf -ap -cO -cX -dc -ap +aq +cM +cV +da +aq ad ad ad @@ -2568,33 +2507,33 @@ ab ab ab ad -ak -at -at -at -aN +al +au +au +au +aO aT -ap -ap +aq +aq ad -bt -ap -ao +bs +aq ap +aq cc -bv -co -cz +bu +cn +cw ad -cJ -cP -bI -dd -ap +cH +cN +bH +db +aq ad -ap -dI -ap +aq +do +aq ad ab ab @@ -2610,31 +2549,31 @@ ab ad ad ad -dv +ae ad ad ad +aq +aq +ad +bt +aq ap -ap -ad -bu -ap -ao bT cd -bv -co -cz +bu +cn +cw ad -ap -cQ -ap -ap -ap -dF -dG -dJ -dL +aq +cO +aq +aq +aq +dl +do +ds +do ad ab ab @@ -2648,33 +2587,33 @@ ab ab ab ad -al -at -at -at -aN +am +au +au +au +aO aT +aq +aq +ae +bu +bu ap -ap -dy -bv -bv -ao -by -by -dz -cr -cC +bx +bx +ae +cq +cA ad -cK -cR -aN -aN -bL +cI +cP +aO +aO +bK ad -ap -dK -ap +aq +do +aq ad ab ab @@ -2688,28 +2627,28 @@ ab ab ab ad -am -au -ay -au +an +av +az +av +aP +ad +aq +aS +ad +bv +bI +ap +bI aO ad -ap -aR -ad -bw -bJ -ao -bJ -aN -ad -cs -cD +cr +cB ad ad ad ad -cH +cF ad ad ad @@ -2737,21 +2676,21 @@ ad aW ad ad +bw +bx +ap bx -by -ao -by ce ad -ct -ap -ap -cL -cS +cs +aq +aq +cJ +cQ ad -de -dk -dk +dc +di +di ad ab ab @@ -2775,23 +2714,23 @@ ab ac ad aX -bg +bf ad -by -by -ao -by -by +bx +bx +ap +bx +bx ad -ap -ap -ap -ap -cT +aq +aq +aq +aq +cR ad -df -dk -dn +dd +di +dm ad ab ab @@ -2817,21 +2756,21 @@ ad ad ad ad -bx -bJ -ao +bw +bI +ap bU -aN +aO ad -cu -cE -cu -cM -cU +ct +cC +ct +cK +cS ad -de -dk -dk +dc +di +di ad ac ab @@ -2857,10 +2796,10 @@ ab ab ac ad -bz -by -ao by +bx +ap +bx ce ad ad diff --git a/_maps/basemap.dm b/_maps/basemap.dm index 19263bf601..6d5747fa5c 100644 --- a/_maps/basemap.dm +++ b/_maps/basemap.dm @@ -1,7 +1,30 @@ -#ifndef ALL_MAPS -#include "map_files\generic\SpaceStation.dmm" -#include "map_files\generic\Centcomm.dmm" -#include "map_files\generic\Space.dmm" -#include "map_files\generic\SpaceDock.dmm" -#include "map_files\Mining\lavaland.dmm" +#ifndef ALL_MAPS + +#include "map_files\generic\SpaceStation.dmm" +#include "map_files\generic\Centcomm.dmm" +#include "map_files\generic\Space.dmm" +#include "map_files\generic\SpaceDock.dmm" +#include "map_files\Mining\lavaland.dmm" + +#else + +#include "map_files\debug\runtimestation.dmm" +#include "map_files\Deltastation\DeltaStation2.dmm" +#include "map_files\MetaStation\MetaStation.dmm" +#include "map_files\OmegaStation\OmegaStation.dmm" +#include "map_files\PubbyStation\PubbyStation.dmm" +#include "map_files\TgStation\tgstation.2.1.3.dmm" +#include "map_files\Cerestation\cerestation.dmm" + +#include "map_files\generic\Centcomm.dmm" +#include "map_files\generic\SpaceStation.dmm" +#include "map_files\generic\Space.dmm" +#include "map_files\generic\SpaceDock.dmm" + +#include "map_files\Mining\Lavaland.dmm" + +#ifdef TRAVISBUILDING +#include "templates.dm" +#endif + #endif \ No newline at end of file diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index c37c4ca3a3..47ad2d4c46 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -6,74 +6,74 @@ /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) "ac" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"ad" = ( -/turf/closed/indestructible/necropolis, -/area/lavaland/surface/outdoors) -"ae" = ( /obj/structure/necropolis_gate, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors) +"ad" = ( +/turf/closed/mineral/random/high_chance/volcanic, +/area/lavaland/surface/outdoors) +"ae" = ( +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) "af" = ( -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors) -"ag" = ( -/obj/item/device/radio/intercom{ - dir = 8; - name = "Station Intercom (General)"; - pixel_x = 28 - }, -/turf/open/floor/plasteel/purple/side{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 4 - }, -/area/mine/living_quarters) -"ah" = ( -/turf/closed/indestructible/necropolis, -/area/ruin/unpowered{ - name = "Necropolis Bridge" - }) -"ai" = ( -/turf/open/indestructible/necropolis, -/area/ruin/unpowered{ - name = "Necropolis Bridge" - }) -"aj" = ( -/turf/open/indestructible/necropolis, -/area/lavaland/surface/outdoors) -"ak" = ( /obj/effect/light_emitter, /turf/open/indestructible/necropolis, /area/lavaland/surface/outdoors) -"al" = ( +"ag" = ( +/obj/structure/fluff/drake_statue, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"ah" = ( +/obj/structure/fluff/drake_statue/falling, +/turf/open/indestructible/necropolis, +/area/lavaland/surface/outdoors) +"ai" = ( /turf/closed/mineral/random/volcanic, /area/lavaland/surface/outdoors) +"aj" = ( +/turf/open/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors) +"ak" = ( +/turf/closed/mineral/random/volcanic, +/area/lavaland/surface/outdoors/unexplored/danger) +"al" = ( +/turf/closed/mineral/random/high_chance/volcanic, +/area/lavaland/surface/outdoors/unexplored/danger) "am" = ( +/turf/closed/mineral/random/volcanic, +/area/lavaland/surface/outdoors/unexplored) +"an" = ( +/turf/closed/mineral/random/labormineral/volcanic, +/area/lavaland/surface/outdoors) +"ao" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/turf/closed/mineral/random/volcanic, +/area/lavaland/surface/outdoors) +"ap" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"an" = ( +"aq" = ( /turf/closed/wall{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"ao" = ( +"ar" = ( /obj/structure/table, /turf/open/floor/plasteel/white{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"ap" = ( +"as" = ( /obj/structure/table, /obj/item/weapon/storage/firstaid/regular, /turf/open/floor/plasteel/white{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aq" = ( +"at" = ( /obj/structure/bed, /obj/item/weapon/bedsheet/medical, /obj/machinery/camera{ @@ -85,44 +85,52 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"ar" = ( -/obj/structure/rack{ - dir = 1 - }, -/obj/item/weapon/storage/bag/ore, -/obj/item/weapon/pickaxe, -/obj/item/device/flashlight, -/obj/item/clothing/glasses/meson, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"as" = ( -/obj/structure/rack{ - dir = 1 - }, -/obj/item/weapon/storage/bag/ore, -/obj/item/device/flashlight, -/obj/item/weapon/pickaxe, -/obj/item/clothing/glasses/meson, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"at" = ( -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) "au" = ( -/obj/machinery/light/small{ - dir = 4 +/obj/structure/rack{ + dir = 1 }, +/obj/item/weapon/storage/bag/ore, +/obj/item/weapon/pickaxe, +/obj/item/device/flashlight, +/obj/item/clothing/glasses/meson, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) "av" = ( +/obj/structure/rack{ + dir = 1 + }, +/obj/item/weapon/storage/bag/ore, +/obj/item/device/flashlight, +/obj/item/weapon/pickaxe, +/obj/item/clothing/glasses/meson, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"aw" = ( +/turf/open/floor/plating/lava/smooth/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"ax" = ( +/turf/open/floor/plasteel/white{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"ay" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/turf/open/floor/plasteel/white{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"az" = ( +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"aA" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/light/small{ dir = 4 @@ -131,7 +139,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aw" = ( +"aB" = ( /obj/machinery/door/airlock/glass_medical{ id_tag = null; name = "Infirmary"; @@ -141,7 +149,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"ax" = ( +"aC" = ( /obj/structure/closet/crate/internals, /obj/item/weapon/tank/internals/emergency_oxygen, /obj/item/weapon/tank/internals/emergency_oxygen, @@ -155,23 +163,10 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"ay" = ( -/obj/structure/table, -/obj/item/trash/plate, -/obj/item/weapon/kitchen/fork, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"az" = ( -/obj/structure/chair{ - dir = 8 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"aA" = ( +"aD" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"aE" = ( /obj/item/device/radio/intercom{ desc = "Talk through this. It looks like it has been modified to not broadcast."; dir = 2; @@ -184,7 +179,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aB" = ( +"aF" = ( /obj/machinery/door/airlock{ name = "Labor Camp Storage" }, @@ -192,23 +187,23 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aC" = ( +"aG" = ( +/obj/structure/table, +/obj/item/trash/plate, +/obj/item/weapon/kitchen/fork, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"aH" = ( /obj/structure/chair{ - dir = 1 + dir = 8 }, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aD" = ( -/obj/machinery/door/airlock{ - name = "Vending" - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"aE" = ( +"aI" = ( /obj/machinery/door/airlock{ name = "Labor Camp External Access" }, @@ -216,7 +211,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aF" = ( +"aJ" = ( /obj/machinery/light/small{ dir = 1 }, @@ -224,23 +219,65 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aG" = ( +"aK" = ( +/obj/structure/chair{ + dir = 1 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"aL" = ( +/obj/machinery/door/airlock{ + name = "Vending" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"aM" = ( +/obj/machinery/light/small, +/turf/open/floor/plasteel/loadingarea{ + dir = 4; + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"aN" = ( +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"aO" = ( +/obj/machinery/camera{ + c_tag = "Labor Camp External"; + dir = 4; + network = list("Labor") + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"aP" = ( /obj/machinery/vending/sustenance, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aH" = ( -/obj/item/device/radio/intercom{ - dir = 8; - name = "Station Intercom (General)"; - pixel_x = -28 +"aQ" = ( +/obj/machinery/light/small{ + dir = 4 }, -/turf/open/floor/plasteel/bar{ +/turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/living_quarters) -"aI" = ( +/area/mine/laborcamp) +"aR" = ( +/obj/machinery/shower{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plasteel/white, +/area/mine/laborcamp) +"aS" = ( /obj/machinery/mineral/unloading_machine{ dir = 1; icon_state = "unloader-corner"; @@ -251,15 +288,11 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aJ" = ( -/obj/machinery/camera{ - c_tag = "Labor Camp External"; - dir = 4; - network = list("Labor") - }, +"aT" = ( +/obj/structure/ore_box, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"aK" = ( +/area/lavaland/surface/outdoors/explored) +"aU" = ( /obj/machinery/flasher{ id = "Labor"; pixel_x = 0; @@ -269,28 +302,31 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aL" = ( -/obj/machinery/mineral/processing_unit_console{ +"aV" = ( +/obj/structure/sink/kitchen{ + dir = 4; + icon_state = "sink_alt"; + pixel_x = -13; + tag = "icon-sink_alt (EAST)" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"aW" = ( +/obj/machinery/conveyor{ dir = 2; - machinedir = 4 + id = "gulag" }, -/turf/closed/wall{ +/turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aM" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"aN" = ( +"aX" = ( /obj/structure/closet/crate, /turf/open/floor/plating/asteroid/basalt/lava_land_surface, /area/lavaland/surface/outdoors/explored) -"aO" = ( +"aY" = ( /obj/machinery/door/airlock/glass_security{ name = "Labor Camp Shuttle Security Airlock"; req_access_txt = "2" @@ -299,7 +335,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aP" = ( +"aZ" = ( /obj/machinery/light/small{ dir = 1 }, @@ -314,7 +350,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aQ" = ( +"ba" = ( /obj/machinery/door/poddoor/preopen{ id = "Labor"; name = "labor camp blast door" @@ -323,7 +359,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aR" = ( +"bb" = ( /obj/machinery/camera{ c_tag = "Labor Camp Central"; network = list("Labor") @@ -332,76 +368,56 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aS" = ( -/obj/machinery/conveyor{ - dir = 8; +"bc" = ( +/obj/machinery/conveyor_switch/oneway{ id = "gulag" }, -/turf/open/floor/plating{ +/turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aT" = ( -/obj/machinery/conveyor{ +"bd" = ( +/obj/machinery/mineral/processing_unit_console{ dir = 2; - id = "gulag" + machinedir = 4 + }, +/turf/closed/wall{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"be" = ( +/obj/machinery/mineral/processing_unit{ + dir = 1; + output_dir = 2 }, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"aU" = ( -/obj/item/weapon/pickaxe, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"aV" = ( -/obj/machinery/conveyor{ - dir = 10; - icon_state = "conveyor0"; - id = "gulag" +"bf" = ( +/turf/closed/wall{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, +/area/mine/eva) +"bg" = ( +/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/laborcamp) -"aW" = ( -/obj/machinery/power/terminal, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"aX" = ( -/obj/machinery/power/smes{ - charge = 5e+006 - }, -/obj/structure/cable{ - icon_state = "0-4"; - d2 = 4 - }, -/obj/structure/cable{ - icon_state = "0-9"; - d1 = 2; - d2 = 4 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"aY" = ( -/obj/structure/ore_box, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"aZ" = ( +/area/mine/eva) +"bh" = ( /obj/machinery/computer/shuttle/labor/one_way, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"ba" = ( +"bi" = ( +/obj/structure/gulag_beacon, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"bj" = ( /obj/machinery/status_display{ density = 0; layer = 4; @@ -412,1266 +428,32 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"bb" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/eva) -"bc" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bd" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Labor Camp Backroom"; - req_access_txt = "2" - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_x = 0 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"be" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_x = 0 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bf" = ( -/obj/machinery/power/apc{ - dir = 1; - name = "Labor Camp APC"; - pixel_y = 24 - }, -/obj/structure/cable{ - d1 = 2; - d2 = 8; - icon_state = "2-8" - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bg" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"bh" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"bi" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"bj" = ( -/turf/open/floor/mech_bay_recharge_floor{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/eva) "bk" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"bl" = ( -/obj/docking_port/stationary{ - area_type = /area/lavaland/surface/outdoors; - dir = 8; - dwidth = 2; - height = 5; - id = "laborcamp_away"; - name = "labor camp"; - turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; - width = 9 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"bm" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Labor Camp Shuttle Prisoner Airlock"; - req_access_txt = "0" - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bn" = ( -/obj/structure/ore_box, -/turf/open/floor/plasteel/brown{ - dir = 10; - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"bo" = ( -/obj/structure/closet/secure_closet/miner, -/turf/open/floor/plasteel/purple/side{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"bp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 4 - }, -/area/mine/living_quarters) -"bq" = ( -/obj/machinery/airalarm{ - frequency = 1439; - pixel_y = 23 - }, -/obj/machinery/computer/shuttle/mining{ - req_access = "0" - }, -/turf/open/floor/plasteel/purple/side{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 1 - }, -/area/mine/production) -"br" = ( -/obj/structure/table, -/obj/item/stack/packageWrap, -/obj/item/stack/packageWrap, -/obj/item/stack/packageWrap, -/obj/item/weapon/hand_labeler, -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 8 - }, -/area/mine/eva) -"bs" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/obj/machinery/door/airlock/glass_mining{ - name = "Mining Station Bridge"; - req_access_txt = "48" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"bt" = ( -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/mine/eva) -"bu" = ( -/obj/machinery/door/airlock/glass_security{ - name = "Labor Camp Monitoring"; - req_access_txt = "2" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2" - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bv" = ( -/obj/structure/closet/secure_closet/miner, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 6 - }, -/area/mine/living_quarters) -"bw" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Labor Camp Maintenance"; - req_access_txt = "2" - }, -/obj/structure/cable{ - icon_state = "1-10"; - d1 = 2; - d2 = 4 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bx" = ( -/obj/machinery/light/small{ - dir = 1 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"by" = ( -/obj/structure/sign/securearea{ - desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; - name = "KEEP CLEAR: DOCKING AREA"; - pixel_y = 0 - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"bz" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/obj/machinery/door/airlock/glass_mining{ - name = "Mining Station EVA"; - req_access_txt = "54" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/eva) -"bA" = ( -/turf/open/floor/plating/lava/smooth/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"bB" = ( -/obj/structure/table, -/obj/machinery/recharger, -/obj/machinery/light/small{ - dir = 8 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp/security) -"bC" = ( -/obj/structure/chair/office/dark, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/mob/living/simple_animal/bot/secbot/beepsky{ - desc = "Powered by the tears and sweat of laborers."; - name = "Prison Ofitser" - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp/security) -"bD" = ( -/obj/structure/table, -/obj/item/weapon/paper_bin{ - pixel_x = 1; - pixel_y = 9 - }, -/obj/item/weapon/pen, -/obj/machinery/power/apc{ - dir = 4; - name = "Labor Camp Security APC"; - pixel_x = 24; - pixel_y = 0 - }, -/obj/machinery/camera{ - c_tag = "Labor Camp Monitoring"; - network = list("Labor") - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp/security) -"bE" = ( -/obj/structure/cable{ - d1 = 2; - d2 = 4; - icon_state = "2-4" - }, -/obj/structure/cable{ - icon_state = "5-6"; - d1 = 2; - d2 = 4 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bF" = ( -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bG" = ( -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bH" = ( -/obj/machinery/door/airlock/external{ - glass = 1; - name = "Mining Shuttle Airlock"; - opacity = 0; - req_access_txt = "0" - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"bI" = ( -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 4 - }, -/area/mine/production) -"bJ" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2"; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 8 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"bK" = ( -/obj/machinery/computer/secure_data, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp/security) -"bL" = ( -/obj/machinery/computer/security{ - name = "Labor Camp Monitoring"; - network = list("Labor") - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp/security) -"bM" = ( -/obj/machinery/computer/prisoner, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp/security) -"bN" = ( -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/structure/cable, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bO" = ( -/obj/machinery/portable_atmospherics/canister/air, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"bP" = ( -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 1 - }, -/area/mine/production) -"bQ" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 8 - }, -/area/mine/living_quarters) -"bR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2"; - pixel_y = 0 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"bS" = ( -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 4 - }, -/area/mine/production) -"bT" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = 30; - pixel_y = 0 - }, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 4 - }, -/area/mine/production) -"bU" = ( -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 8 - }, -/area/mine/production) -"bV" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"bW" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 8 - }, -/area/mine/production) -"bX" = ( -/obj/machinery/power/terminal{ - icon_state = "term"; - dir = 1 - }, -/obj/structure/cable{ - icon_state = "0-2"; - d2 = 2 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"bY" = ( -/obj/structure/cable, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"bZ" = ( -/obj/machinery/power/port_gen/pacman{ - anchored = 1 - }, -/obj/structure/cable{ - d2 = 8; - icon_state = "0-8" - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"ca" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cb" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/obj/machinery/door/airlock/glass_mining{ - name = "Mining Station Bridge"; - req_access_txt = "48" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cc" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2"; - pixel_y = 0 - }, -/obj/machinery/door/airlock/maintenance{ - name = "Mining Station Maintenance"; - req_access_txt = "48" - }, -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2"; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cd" = ( -/obj/machinery/mineral/equipment_vendor, -/turf/open/floor/plasteel/brown{ - dir = 9; - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"ce" = ( -/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, -/obj/structure/cable{ - d1 = 1; - d2 = 8; - icon_state = "1-8" - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cf" = ( -/obj/structure/cable{ - d1 = 1; - d2 = 2; - icon_state = "1-2"; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 1 - }, -/area/mine/living_quarters) -"cg" = ( -/obj/machinery/camera{ - c_tag = "Crew Area Hallway East"; - network = list("MINE") - }, -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 1 - }, -/area/mine/living_quarters) -"ch" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"ci" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/obj/structure/cable{ - d1 = 1; - d2 = 4; - icon_state = "1-4" - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cj" = ( -/obj/structure/cable{ - d1 = 4; - d2 = 8; - icon_state = "4-8"; - pixel_y = 0 - }, -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 1 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"ck" = ( -/obj/docking_port/stationary{ - area_type = /area/lavaland/surface/outdoors; - dir = 8; - dwidth = 3; - height = 5; - id = "mining_away"; - name = "lavaland mine"; - turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; - width = 7 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"cl" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cm" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 4 - }, -/area/mine/production) -"cn" = ( -/obj/machinery/door/airlock/glass_mining{ - name = "Processing Area"; - req_access_txt = "48" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"co" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 8 - }, -/area/mine/production) -"cp" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cq" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 9 - }, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cr" = ( -/turf/open/floor/plasteel/purple/side{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 6 - }, -/area/mine/production) -"cs" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"ct" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/door/airlock{ - glass = 1; - name = "Break Room"; - opacity = 0 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cu" = ( -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 8 - }, -/area/mine/living_quarters) -"cv" = ( -/obj/machinery/light, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump{ - dir = 1; - on = 1 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cx" = ( -/obj/structure/extinguisher_cabinet{ - pixel_x = -5; - pixel_y = 30 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cy" = ( -/obj/machinery/door/airlock/mining{ - name = "Mining Station Storage"; - req_access_txt = "48" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cz" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/obj/structure/closet/crate{ - icon_state = "crateopen"; - opened = 1 - }, -/turf/open/floor/plasteel/purple/side{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cA" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen"; - opened = 1 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cB" = ( -/obj/docking_port/stationary{ - area_type = /area/lavaland/surface/outdoors; - dir = 2; - dwidth = 11; - height = 22; - id = "whiteship_lavaland"; - name = "lavaland wastes"; - turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; - width = 35 - }, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors) -"cC" = ( -/obj/structure/closet/crate, -/turf/open/floor/plasteel/purple/side{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cD" = ( -/obj/structure/closet/crate{ - icon_state = "crateopen"; - opened = 1 - }, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 6 - }, -/area/mine/production) -"cE" = ( /turf/open/floor/plasteel/loadingarea{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 8 }, -/area/mine/production) -"cF" = ( +/area/mine/laborcamp) +"bl" = ( /obj/machinery/conveyor{ dir = 8; - id = "mining_internal" - }, -/obj/structure/plasticflaps, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cG" = ( -/obj/machinery/conveyor{ - dir = 8; - id = "mining_internal" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cH" = ( -/obj/machinery/light/small, -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 4 - }, -/area/mine/living_quarters) -"cI" = ( -/obj/machinery/conveyor{ - icon_state = "conveyor0"; - dir = 10; - id = "mining_internal" - }, -/obj/machinery/light/small{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/production) -"cJ" = ( -/obj/machinery/airalarm{ - frequency = 1439; - pixel_y = 23 - }, -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 1 - }, -/area/mine/living_quarters) -"cK" = ( -/obj/structure/bed, -/obj/item/weapon/bedsheet/brown, -/obj/machinery/airalarm{ - frequency = 1439; - pixel_y = 23 - }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cL" = ( -/obj/machinery/atmospherics/components/unary/vent_pump{ - dir = 4; - on = 1 - }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cM" = ( -/obj/machinery/door/airlock{ - id_tag = "miningdorm1"; - name = "Room 1" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cN" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 8 - }, -/area/mine/living_quarters) -"cO" = ( -/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cP" = ( -/obj/machinery/vending/snack, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cQ" = ( -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cR" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cS" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/newscaster{ - pixel_y = 32 - }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cT" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 6 - }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cU" = ( -/obj/structure/ore_box, -/turf/open/floor/plasteel/purple/side{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 8 - }, -/area/mine/living_quarters) -"cV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump{ - dir = 1; - on = 1 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cW" = ( -/obj/structure/table, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cX" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "miningdorm1"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 25; - pixel_y = 0; - req_access_txt = "0"; - specialfunctions = 4 - }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cY" = ( -/obj/structure/chair, -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"cZ" = ( -/obj/structure/table, -/obj/machinery/reagentgrinder, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"da" = ( -/obj/machinery/recharge_station, -/turf/open/floor/plasteel/purple/side{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"db" = ( -/obj/structure/closet/secure_closet/miner, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dc" = ( -/obj/structure/chair{ - dir = 4 - }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dd" = ( -/obj/structure/table, -/obj/item/weapon/reagent_containers/food/drinks/beer{ - pixel_x = 7; - pixel_y = 5 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 5 - }, -/obj/item/weapon/reagent_containers/food/drinks/beer{ - pixel_x = -1; - pixel_y = 9 - }, -/obj/item/weapon/reagent_containers/food/drinks/beer{ - pixel_x = -8; - pixel_y = 0 - }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"de" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"df" = ( -/obj/machinery/atmospherics/components/unary/vent_pump{ - dir = 8; - layer = 2.4; - on = 1 - }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dg" = ( -/obj/structure/table, -/obj/item/weapon/reagent_containers/food/drinks/beer, -/obj/item/weapon/reagent_containers/food/drinks/beer, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dh" = ( -/obj/machinery/door/airlock{ - id_tag = "miningdorm2"; - name = "Room 2" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"di" = ( -/obj/machinery/camera{ - c_tag = "Crew Area"; - dir = 1; - network = list("MINE") - }, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = 0; - pixel_y = -32 - }, -/obj/machinery/light, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dj" = ( -/obj/machinery/airalarm{ - dir = 1; - pixel_y = -22 - }, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dk" = ( -/obj/structure/table, -/obj/item/weapon/storage/box/donkpockets, -/turf/open/floor/plasteel/bar{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dl" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "miningdorm2"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 25; - pixel_y = 0; - req_access_txt = "0"; - specialfunctions = 4 - }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dm" = ( -/turf/open/floor/circuit{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/maintenance) -"dn" = ( -/obj/machinery/atmospherics/pipe/simple/supply/hidden, -/obj/machinery/light{ - icon_state = "tube1"; - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"do" = ( -/obj/machinery/door/airlock{ - id_tag = "miningdorm3"; - name = "Room 3" - }, -/obj/machinery/atmospherics/pipe/simple/supply/hidden{ - dir = 4 - }, -/turf/open/floor/plasteel{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dp" = ( -/obj/machinery/light/small{ - dir = 4 - }, -/obj/machinery/button/door{ - id = "miningdorm3"; - name = "Door Bolt Control"; - normaldoorcontrol = 1; - pixel_x = 25; - pixel_y = 0; - req_access_txt = "0"; - specialfunctions = 4 - }, -/turf/open/floor/carpet{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/living_quarters) -"dq" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"dr" = ( -/obj/machinery/conveyor_switch/oneway{ id = "gulag" }, -/turf/open/floor/plasteel{ +/turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/laborcamp) -"ds" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface +"bm" = ( +/obj/machinery/conveyor{ + dir = 10; + icon_state = "conveyor0"; + id = "gulag" }, -/area/mine/eva) -"dt" = ( -/obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/eva) -"du" = ( +/area/mine/laborcamp) +"bn" = ( /obj/structure/table, /obj/item/weapon/pickaxe, /obj/item/device/gps/mining, @@ -1683,27 +465,32 @@ dir = 9 }, /area/mine/eva) -"dv" = ( +"bo" = ( /obj/machinery/suit_storage_unit/mining, /turf/open/floor/plasteel/brown{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 1 }, /area/mine/eva) -"dw" = ( +"bp" = ( /obj/machinery/suit_storage_unit/mining, /turf/open/floor/plasteel/purple/side{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 5 }, /area/mine/eva) -"dx" = ( +"bq" = ( +/turf/closed/wall{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"br" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"dy" = ( +"bs" = ( /obj/machinery/camera{ c_tag = "EVA"; dir = 4; @@ -1728,12 +515,12 @@ dir = 8 }, /area/mine/eva) -"dz" = ( +"bt" = ( /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/eva) -"dA" = ( +"bu" = ( /obj/machinery/light_switch{ pixel_x = 27 }, @@ -1742,19 +529,133 @@ dir = 4 }, /area/mine/eva) -"dB" = ( +"bv" = ( +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/mine/eva) +"bw" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + dir = 8; + dwidth = 2; + height = 5; + id = "laborcamp_away"; + name = "labor camp"; + turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; + width = 9 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/explored) +"bx" = ( +/obj/machinery/door/airlock/glass_security{ + name = "Labor Camp Shuttle Prisoner Airlock"; + req_access_txt = "0" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"by" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"bz" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_x = 0 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"bA" = ( +/obj/machinery/door/airlock/glass_security{ + name = "Labor Camp Backroom"; + req_access_txt = "2" + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_x = 0 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"bB" = ( +/obj/machinery/power/apc{ + dir = 1; + name = "Labor Camp APC"; + pixel_y = 24 + }, +/obj/structure/cable{ + d1 = 2; + d2 = 8; + icon_state = "2-8" + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"bC" = ( +/obj/machinery/airalarm{ + frequency = 1439; + pixel_y = 23 + }, +/obj/machinery/computer/shuttle/mining{ + req_access = "0" + }, +/turf/open/floor/plasteel/purple/side{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 1 + }, +/area/mine/production) +"bD" = ( /obj/structure/closet/crate, /turf/open/floor/plasteel/brown{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 1 }, /area/mine/production) -"dC" = ( +"bE" = ( +/obj/structure/reagent_dispensers/watertank, /turf/open/floor/plasteel/purple/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"dD" = ( +"bF" = ( +/obj/effect/spawner/structure/window, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/eva) +"bG" = ( +/obj/structure/table, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/stack/packageWrap, +/obj/item/weapon/hand_labeler, +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 8 + }, +/area/mine/eva) +"bH" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 2; on = 1 @@ -1763,13 +664,13 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/eva) -"dE" = ( +"bI" = ( /obj/structure/tank_dispenser/oxygen, /turf/open/floor/plasteel/purple/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/eva) -"dF" = ( +"bJ" = ( /obj/machinery/light/small{ dir = 1 }, @@ -1778,7 +679,7 @@ dir = 8 }, /area/mine/eva) -"dG" = ( +"bK" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -5; pixel_y = 30 @@ -1790,19 +691,58 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/eva) -"dH" = ( +"bL" = ( +/obj/machinery/door/airlock/glass_security{ + name = "Labor Camp Monitoring"; + req_access_txt = "2" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"bM" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Labor Camp Maintenance"; + req_access_txt = "2" + }, +/obj/structure/cable{ + icon_state = "1-10"; + d1 = 2; + d2 = 4 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"bN" = ( +/obj/structure/sign/securearea{ + desc = "A warning sign which reads 'KEEP CLEAR OF DOCKING AREA'."; + name = "KEEP CLEAR: DOCKING AREA"; + pixel_y = 0 + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"bO" = ( /obj/item/device/radio/beacon, /turf/open/floor/plasteel/purple/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 8 }, /area/mine/production) -"dI" = ( +"bP" = ( /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"dJ" = ( +"bQ" = ( /obj/structure/cable{ d1 = 2; d2 = 4; @@ -1815,7 +755,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"dK" = ( +"bR" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -1830,7 +770,25 @@ dir = 4 }, /area/mine/production) -"dL" = ( +"bS" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 + }, +/obj/machinery/door/airlock/glass_mining{ + name = "Mining Station EVA"; + req_access_txt = "54" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/eva) +"bT" = ( /obj/structure/cable{ d1 = 2; d2 = 8; @@ -1850,7 +808,7 @@ dir = 8 }, /area/mine/eva) -"dM" = ( +"bU" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 }, @@ -1863,7 +821,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/eva) -"dN" = ( +"bV" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 9 }, @@ -1871,13 +829,13 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/eva) -"dO" = ( +"bW" = ( /turf/open/floor/plasteel/brown{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 4 }, /area/mine/eva) -"dP" = ( +"bX" = ( /obj/machinery/door/airlock/external{ glass = 1; name = "Mining External Airlock"; @@ -1888,19 +846,139 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/eva) -"dQ" = ( +"bY" = ( /turf/open/floor/plasteel/brown{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 8 }, /area/mine/eva) -"dR" = ( +"bZ" = ( +/turf/closed/mineral/random/volcanic, +/area/lavaland/surface/outdoors/explored) +"ca" = ( +/turf/closed/wall{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp/security) +"cb" = ( +/obj/structure/table, +/obj/machinery/recharger, +/obj/machinery/light/small{ + dir = 8 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp/security) +"cc" = ( +/obj/structure/chair/office/dark, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/mob/living/simple_animal/bot/secbot/beepsky{ + desc = "Powered by the tears and sweat of laborers."; + name = "Prison Ofitser" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp/security) +"cd" = ( +/obj/structure/table, +/obj/item/weapon/paper_bin{ + pixel_x = 1; + pixel_y = 9 + }, +/obj/item/weapon/pen, +/obj/machinery/power/apc{ + dir = 4; + name = "Labor Camp Security APC"; + pixel_x = 24; + pixel_y = 0 + }, +/obj/machinery/camera{ + c_tag = "Labor Camp Monitoring"; + network = list("Labor") + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp/security) +"ce" = ( +/obj/structure/cable{ + d1 = 2; + d2 = 4; + icon_state = "2-4" + }, +/obj/structure/cable{ + icon_state = "5-6"; + d1 = 2; + d2 = 4 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"cf" = ( +/obj/machinery/power/terminal, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"cg" = ( +/obj/machinery/light/small{ + dir = 1 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"ch" = ( +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"ci" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + dir = 8; + dwidth = 3; + height = 5; + id = "mining_away"; + name = "lavaland mine"; + turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; + width = 7 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cj" = ( +/obj/machinery/door/airlock/external{ + glass = 1; + name = "Mining Shuttle Airlock"; + opacity = 0; + req_access_txt = "0" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"ck" = ( /turf/open/floor/plasteel/brown{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 8 }, /area/mine/production) -"dS" = ( +"cl" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 4; layer = 2.4; @@ -1910,7 +988,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"dT" = ( +"cm" = ( /obj/machinery/atmospherics/pipe/manifold/supply/hidden{ dir = 4 }, @@ -1924,7 +1002,13 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"dU" = ( +"cn" = ( +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 4 + }, +/area/mine/production) +"co" = ( /obj/machinery/power/apc{ dir = 2; name = "Mining EVA APC"; @@ -1938,41 +1022,149 @@ dir = 1 }, /area/mine/eva) -"dV" = ( +"cp" = ( /obj/machinery/mech_bay_recharge_port, /obj/structure/cable, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/eva) -"dW" = ( +"cq" = ( +/turf/open/floor/mech_bay_recharge_floor{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/eva) +"cr" = ( /obj/machinery/computer/mech_bay_power_console, /turf/open/floor/plasteel/purple/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 4 }, /area/mine/eva) -"dX" = ( +"cs" = ( /obj/structure/closet/emcloset, /turf/open/floor/plasteel/purple/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 1 }, /area/mine/eva) -"dY" = ( +"ct" = ( /obj/structure/ore_box, /turf/open/floor/plasteel/purple/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 4 }, /area/mine/eva) -"dZ" = ( +"cu" = ( +/obj/item/weapon/pickaxe, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cv" = ( +/obj/structure/ore_box, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"cw" = ( +/obj/machinery/computer/secure_data, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp/security) +"cx" = ( +/obj/machinery/computer/security{ + name = "Labor Camp Monitoring"; + network = list("Labor") + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp/security) +"cy" = ( +/obj/machinery/computer/prisoner, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp/security) +"cz" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"cA" = ( +/obj/machinery/power/smes{ + charge = 5e+006 + }, +/obj/structure/cable{ + icon_state = "0-4"; + d2 = 4 + }, +/obj/structure/cable{ + icon_state = "0-9"; + d1 = 2; + d2 = 4 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"cB" = ( +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"cC" = ( +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp) +"cD" = ( +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 1 + }, +/area/mine/production) +"cE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"cF" = ( +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 4 + }, +/area/mine/production) +"cG" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/laborcamp/security) +"cH" = ( +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 8 + }, +/area/mine/production) +"cI" = ( /turf/open/floor/plasteel/purple/side{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 4 }, /area/mine/production) -"ea" = ( +"cJ" = ( /obj/machinery/door/airlock{ name = "Closet"; req_access_txt = "0" @@ -1981,7 +1173,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"eb" = ( +"cK" = ( /obj/machinery/light/small{ dir = 1 }, @@ -1989,21 +1181,18 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"ec" = ( +"cL" = ( /obj/machinery/space_heater, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"ed" = ( -/turf/closed/mineral/random/high_chance/volcanic, -/area/lavaland/surface/outdoors) -"ee" = ( +"cM" = ( /turf/closed/wall{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"ef" = ( +"cN" = ( /obj/structure/sign/securearea{ desc = "A warning sign which reads 'HIGH VOLTAGE'"; icon_state = "shock"; @@ -2013,7 +1202,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"eg" = ( +"cO" = ( /obj/item/device/radio/intercom{ dir = 8; name = "Station Intercom (General)"; @@ -2024,18 +1213,28 @@ dir = 8 }, /area/mine/production) -"eh" = ( +"cP" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = 30; + pixel_y = 0 + }, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 4 + }, +/area/mine/production) +"cQ" = ( /turf/closed/wall/r_wall{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/maintenance) -"ei" = ( +"cR" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"ej" = ( +"cS" = ( /obj/machinery/power/smes{ charge = 5e+006 }, @@ -2047,7 +1246,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"ek" = ( +"cT" = ( /obj/structure/cable{ d1 = 4; d2 = 8; @@ -2062,7 +1261,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"el" = ( +"cU" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/structure/cable{ d1 = 2; @@ -2073,17 +1272,18 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"em" = ( +"cV" = ( +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"cW" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"en" = ( -/obj/structure/fluff/drake_statue, -/turf/open/indestructible/necropolis, -/area/lavaland/surface/outdoors) -"eo" = ( +"cX" = ( /obj/machinery/power/apc{ dir = 8; name = "Mining Station Starboard Wing APC"; @@ -2103,7 +1303,7 @@ dir = 8 }, /area/mine/production) -"ep" = ( +"cY" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ d1 = 1; @@ -2120,14 +1320,14 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"eq" = ( +"cZ" = ( /obj/machinery/mineral/equipment_vendor, /turf/open/floor/plasteel/brown{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 5 }, /area/mine/production) -"er" = ( +"da" = ( /obj/machinery/mineral/mint{ input_dir = 4 }, @@ -2135,7 +1335,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"es" = ( +"db" = ( /obj/machinery/light/small{ dir = 1 }, @@ -2144,7 +1344,7 @@ dir = 8 }, /area/mine/production) -"et" = ( +"dc" = ( /obj/structure/closet/crate, /obj/machinery/airalarm{ frequency = 1439; @@ -2155,7 +1355,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"eu" = ( +"dd" = ( /obj/structure/extinguisher_cabinet{ pixel_x = -5; pixel_y = 30 @@ -2170,20 +1370,25 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"ev" = ( +"de" = ( /obj/structure/ore_box, /obj/effect/turf_decal/bot, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"ew" = ( +"df" = ( /obj/effect/turf_decal/bot, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"ex" = ( +"dg" = ( +/turf/open/floor/circuit{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/maintenance) +"dh" = ( /obj/structure/cable{ icon_state = "0-2"; pixel_y = 1; @@ -2199,7 +1404,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/maintenance) -"ey" = ( +"di" = ( /obj/machinery/telecomms/relay/preset/mining, /obj/machinery/light/small{ dir = 1 @@ -2209,7 +1414,7 @@ dir = 8 }, /area/mine/maintenance) -"ez" = ( +"dj" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ on = 1 }, @@ -2217,7 +1422,15 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/maintenance) -"eA" = ( +"dk" = ( +/obj/machinery/airalarm{ + pixel_y = 24 + }, +/turf/open/floor/circuit{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/maintenance) +"dl" = ( /obj/machinery/light/small{ dir = 8 }, @@ -2231,13 +1444,13 @@ dir = 1 }, /area/mine/living_quarters) -"eB" = ( +"dm" = ( /turf/open/floor/plasteel/whiteblue/side{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 1 }, /area/mine/living_quarters) -"eC" = ( +"dn" = ( /obj/structure/table, /obj/item/weapon/storage/firstaid/toxin{ pixel_x = 3; @@ -2248,12 +1461,20 @@ dir = 5 }, /area/mine/living_quarters) -"eD" = ( +"do" = ( +/obj/machinery/power/terminal{ + icon_state = "term"; + dir = 1 + }, +/obj/structure/cable{ + icon_state = "0-2"; + d2 = 2 + }, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"eE" = ( +"dp" = ( /obj/structure/cable{ d1 = 1; d2 = 2; @@ -2267,7 +1488,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"eF" = ( +"dq" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/simple/supply/hidden{ dir = 4 @@ -2276,7 +1497,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"eG" = ( +"dr" = ( /obj/machinery/atmospherics/components/unary/tank/air{ dir = 8 }, @@ -2284,31 +1505,31 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"eH" = ( +"ds" = ( /obj/machinery/mineral/equipment_vendor, /turf/open/floor/plasteel/purple/side{ dir = 4 }, /area/mine/production) -"eI" = ( +"dt" = ( /obj/structure/grille, /obj/structure/window/reinforced/fulltile, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"eJ" = ( +"du" = ( /turf/open/floor/plasteel/loadingarea{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"eK" = ( +"dv" = ( /turf/open/floor/plasteel/loadingarea{ dir = 4; baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"eL" = ( +"dw" = ( /obj/machinery/light/small{ dir = 4 }, @@ -2317,7 +1538,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"eM" = ( +"dx" = ( /obj/structure/cable{ d1 = 1; d2 = 4; @@ -2327,7 +1548,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/maintenance) -"eN" = ( +"dy" = ( /obj/structure/cable{ d1 = 2; d2 = 8; @@ -2340,7 +1561,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/maintenance) -"eO" = ( +"dz" = ( /obj/machinery/light_switch{ pixel_y = -25 }, @@ -2351,7 +1572,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/maintenance) -"eP" = ( +"dA" = ( /obj/machinery/camera{ c_tag = "Communications Relay"; dir = 8; @@ -2361,7 +1582,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/maintenance) -"eQ" = ( +"dB" = ( /obj/structure/closet/crate/freezer, /obj/item/weapon/reagent_containers/blood/empty, /obj/item/weapon/reagent_containers/blood/empty{ @@ -2394,12 +1615,12 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"eR" = ( +"dC" = ( /turf/open/floor/plasteel/white{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"eS" = ( +"dD" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ on = 1 }, @@ -2407,7 +1628,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"eT" = ( +"dE" = ( /obj/structure/table, /obj/item/weapon/storage/firstaid/regular, /turf/open/floor/plasteel/whiteblue/side{ @@ -2415,13 +1636,61 @@ dir = 4 }, /area/mine/living_quarters) -"eU" = ( +"dF" = ( +/obj/structure/cable, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"dG" = ( +/obj/machinery/power/port_gen/pacman{ + anchored = 1 + }, +/obj/structure/cable{ + d2 = 8; + icon_state = "0-8" + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"dH" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 8 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"dI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"dJ" = ( /turf/open/floor/plasteel/purple/side{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 8 }, /area/mine/production) -"eV" = ( +"dK" = ( /obj/machinery/light{ dir = 4 }, @@ -2439,7 +1708,7 @@ dir = 4 }, /area/mine/production) -"eW" = ( +"dL" = ( /obj/structure/closet/crate{ icon_state = "crateopen"; opened = 1 @@ -2449,7 +1718,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"eX" = ( +"dM" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 2; on = 1 @@ -2458,7 +1727,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"eY" = ( +"dN" = ( /obj/machinery/camera{ c_tag = "Processing Area Room"; dir = 8; @@ -2474,7 +1743,7 @@ dir = 4 }, /area/mine/production) -"eZ" = ( +"dO" = ( /obj/machinery/mineral/unloading_machine{ dir = 1; icon_state = "unloader-corner"; @@ -2488,7 +1757,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"fa" = ( +"dP" = ( /obj/machinery/door/airlock/maintenance{ name = "Mining Station Communications"; req_access_txt = "48" @@ -2503,13 +1772,13 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/maintenance) -"fb" = ( +"dQ" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fc" = ( +"dR" = ( /obj/machinery/door/airlock/glass_medical{ id_tag = null; name = "Infirmary"; @@ -2520,37 +1789,52 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fd" = ( -/obj/machinery/camera{ - c_tag = "Storage"; - dir = 2; - network = list("MINE") +"dS" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 }, -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/brown{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 5 +/obj/machinery/door/airlock/maintenance{ + name = "Mining Station Maintenance"; + req_access_txt = "48" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fe" = ( +"dT" = ( /turf/open/floor/plasteel/brown/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 1 }, /area/mine/production) -"ff" = ( +"dU" = ( +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"dV" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"fg" = ( +"dW" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"fh" = ( +"dX" = ( /obj/machinery/conveyor_switch/oneway{ id = "mining_internal"; name = "mining conveyor" @@ -2560,7 +1844,7 @@ dir = 4 }, /area/mine/production) -"fi" = ( +"dY" = ( /obj/machinery/conveyor{ dir = 2; id = "mining_internal" @@ -2572,18 +1856,18 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"fj" = ( +"dZ" = ( /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fk" = ( +"ea" = ( /turf/open/floor/plasteel/purple/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 4 }, /area/mine/living_quarters) -"fl" = ( +"eb" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /obj/structure/cable{ d1 = 1; @@ -2596,13 +1880,22 @@ dir = 1 }, /area/mine/living_quarters) -"fm" = ( +"ec" = ( /turf/open/floor/plasteel/purple/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 1 }, /area/mine/living_quarters) -"fn" = ( +"ed" = ( +/obj/machinery/camera{ + c_tag = "Crew Area Hallway West"; + network = list("MINE") + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"ee" = ( /obj/machinery/airalarm{ frequency = 1439; pixel_y = 23 @@ -2611,14 +1904,14 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fo" = ( +"ef" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel/brown{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 1 }, /area/mine/living_quarters) -"fp" = ( +"eg" = ( /obj/machinery/power/apc{ dir = 1; name = "Mining Station Port Wing APC"; @@ -2634,12 +1927,44 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fq" = ( +"eh" = ( +/obj/structure/extinguisher_cabinet{ + pixel_x = -5; + pixel_y = 30 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"ei" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 2; + icon_state = "1-2"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 1 + }, +/area/mine/living_quarters) +"ej" = ( +/obj/machinery/camera{ + c_tag = "Crew Area Hallway East"; + network = list("MINE") + }, +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 1 + }, +/area/mine/living_quarters) +"ek" = ( /turf/open/floor/plasteel/purple/corner{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fr" = ( +"el" = ( /obj/machinery/door/airlock/glass_mining{ name = "Processing Area"; req_access_txt = "48" @@ -2648,7 +1973,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fs" = ( +"em" = ( /obj/machinery/light{ dir = 4 }, @@ -2657,13 +1982,13 @@ dir = 4 }, /area/mine/production) -"ft" = ( +"en" = ( /obj/machinery/mineral/processing_unit_console, /turf/closed/wall{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"fu" = ( +"eo" = ( /obj/machinery/mineral/processing_unit{ dir = 1; output_dir = 2 @@ -2675,7 +2000,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/production) -"fv" = ( +"ep" = ( /obj/machinery/atmospherics/components/unary/vent_pump{ dir = 4; on = 1 @@ -2684,7 +2009,7 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fw" = ( +"eq" = ( /obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, /obj/structure/cable{ d1 = 1; @@ -2695,35 +2020,402 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fx" = ( -/obj/structure/fluff/drake_statue/falling, -/turf/open/indestructible/necropolis, -/area/lavaland/surface/outdoors) -"fy" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/turf/closed/mineral/random/volcanic, -/area/lavaland/surface/outdoors) -"fz" = ( -/obj/machinery/camera{ - c_tag = "Crew Area Hallway West"; - network = list("MINE") +"er" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 }, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fA" = ( -/obj/machinery/camera{ - c_tag = "Dormatories"; - dir = 4; - network = list("MINE") +"es" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 }, -/turf/open/floor/plasteel/purple/corner{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; - dir = 1 +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) -"fB" = ( +"et" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 + }, +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"eu" = ( +/obj/structure/cable{ + d1 = 1; + d2 = 4; + icon_state = "1-4" + }, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"ev" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 1 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"ew" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 + }, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 4 + }, +/area/mine/living_quarters) +"ex" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 + }, +/obj/machinery/door/airlock/glass_mining{ + name = "Mining Station Bridge"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"ey" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 + }, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 8 + }, +/area/mine/living_quarters) +"ez" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eA" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 + }, +/obj/machinery/door/airlock/glass_mining{ + name = "Mining Station Bridge"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eB" = ( +/obj/structure/cable{ + d1 = 4; + d2 = 8; + icon_state = "4-8"; + pixel_y = 0 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 8 + }, +/area/mine/production) +"eC" = ( +/obj/machinery/atmospherics/pipe/manifold4w/supply/hidden, +/obj/structure/cable{ + d1 = 1; + d2 = 8; + icon_state = "1-8" + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eD" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eE" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 4 + }, +/area/mine/production) +"eF" = ( +/obj/machinery/door/airlock/glass_mining{ + name = "Processing Area"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eG" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 8 + }, +/area/mine/production) +"eH" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eI" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 9 + }, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eJ" = ( +/turf/open/floor/plasteel/purple/side{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 6 + }, +/area/mine/production) +"eK" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"eL" = ( +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 8 + }, +/area/mine/living_quarters) +"eM" = ( +/obj/machinery/light, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"eN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"eO" = ( +/obj/machinery/light/small, +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 4 + }, +/area/mine/living_quarters) +"eP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump{ + dir = 1; + on = 1 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eQ" = ( +/obj/machinery/door/airlock/mining{ + name = "Mining Station Storage"; + req_access_txt = "48" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"eR" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/door/airlock{ + glass = 1; + name = "Break Room"; + opacity = 0 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"eS" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/obj/structure/closet/crate{ + icon_state = "crateopen"; + opened = 1 + }, +/turf/open/floor/plasteel/purple/side{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eT" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen"; + opened = 1 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eU" = ( +/obj/structure/closet/crate, +/turf/open/floor/plasteel/purple/side{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eV" = ( +/obj/structure/closet/crate{ + icon_state = "crateopen"; + opened = 1 + }, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 6 + }, +/area/mine/production) +"eW" = ( +/turf/open/floor/plasteel/loadingarea{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 8 + }, +/area/mine/production) +"eX" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "mining_internal" + }, +/obj/structure/plasticflaps, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eY" = ( +/obj/machinery/conveyor{ + dir = 8; + id = "mining_internal" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"eZ" = ( +/obj/machinery/conveyor{ + icon_state = "conveyor0"; + dir = 10; + id = "mining_internal" + }, +/obj/machinery/light/small{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/plating{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/production) +"fa" = ( +/obj/machinery/mineral/equipment_vendor, +/turf/open/floor/plasteel/brown{ + dir = 9; + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fb" = ( /obj/machinery/light/small{ dir = 1 }, @@ -2736,108 +2428,336 @@ dir = 4 }, /area/mine/living_quarters) -"fC" = ( +"fc" = ( /obj/machinery/airalarm{ - pixel_y = 24 + frequency = 1439; + pixel_y = 23 }, -/turf/open/floor/circuit{ +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 1 + }, +/area/mine/living_quarters) +"fd" = ( +/obj/machinery/camera{ + c_tag = "Storage"; + dir = 2; + network = list("MINE") + }, +/obj/structure/reagent_dispensers/watertank, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 5 + }, +/area/mine/living_quarters) +"fe" = ( +/obj/structure/bed, +/obj/item/weapon/bedsheet/brown, +/obj/machinery/airalarm{ + frequency = 1439; + pixel_y = 23 + }, +/turf/open/floor/carpet{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/maintenance) -"fD" = ( -/turf/open/floor/plasteel/white{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"fE" = ( -/obj/machinery/light/small, -/turf/open/floor/plasteel/loadingarea{ +/area/mine/living_quarters) +"ff" = ( +/obj/machinery/atmospherics/components/unary/vent_pump{ dir = 4; + on = 1 + }, +/turf/open/floor/carpet{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/laborcamp) -"fF" = ( -/obj/effect/turf_decal/delivery, +/area/mine/living_quarters) +"fg" = ( +/obj/machinery/door/airlock{ + id_tag = "miningdorm1"; + name = "Room 1" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/laborcamp) -"fG" = ( -/obj/machinery/mineral/processing_unit{ - dir = 1; - output_dir = 2 +/area/mine/living_quarters) +"fh" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 }, -/turf/open/floor/plating{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface - }, -/area/mine/laborcamp) -"fH" = ( -/turf/open/floor/plasteel/loadingarea{ +/turf/open/floor/plasteel/brown{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 8 }, -/area/mine/laborcamp) -"fI" = ( -/turf/closed/wall{ - baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface +/area/mine/living_quarters) +"fi" = ( +/obj/machinery/atmospherics/pipe/manifold/supply/hidden{ + dir = 4 }, -/area/lavaland/surface/outdoors) -"fJ" = ( -/turf/closed/mineral/random/volcanic, -/area/lavaland/surface/outdoors/explored) -"fK" = ( -/turf/closed/mineral/random/labormineral/volcanic, -/area/lavaland/surface/outdoors) -"fL" = ( -/obj/structure/ore_box, -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/area/lavaland/surface/outdoors/explored) -"fM" = ( -/obj/structure/gulag_beacon, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/laborcamp) -"fN" = ( -/turf/closed/wall{ +/area/mine/living_quarters) +"fj" = ( +/obj/machinery/vending/snack, +/turf/open/floor/plasteel/bar{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/laborcamp/security) -"fO" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating{ +/area/mine/living_quarters) +"fk" = ( +/turf/open/floor/plasteel/bar{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/laborcamp/security) -"fP" = ( -/turf/open/floor/plating/asteroid/basalt/lava_land_surface, -/turf/closed/indestructible/riveted, -/area/space) -"fQ" = ( -/obj/machinery/shower{ +/area/mine/living_quarters) +"fl" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fm" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/newscaster{ + pixel_y = 32 + }, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fn" = ( +/obj/structure/table, +/obj/machinery/microwave{ + pixel_y = 6 + }, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fo" = ( +/obj/structure/ore_box, +/turf/open/floor/plasteel/purple/side{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; dir = 8 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plasteel/white, -/area/mine/laborcamp) -"fR" = ( -/obj/structure/sink/kitchen{ - dir = 4; - icon_state = "sink_alt"; - pixel_x = -13; - tag = "icon-sink_alt (EAST)" +/area/mine/living_quarters) +"fp" = ( +/obj/machinery/atmospherics/components/unary/vent_pump{ + dir = 1; + on = 1 }, /turf/open/floor/plasteel{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/laborcamp) -"fS" = ( -/obj/structure/reagent_dispensers/watertank, -/turf/open/floor/plasteel/purple/corner{ +/area/mine/living_quarters) +"fq" = ( +/obj/item/device/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = 28 + }, +/turf/open/floor/plasteel/purple/side{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 4 + }, +/area/mine/living_quarters) +"fr" = ( +/obj/structure/table, +/turf/open/floor/carpet{ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, -/area/mine/production) -"fT" = ( +/area/mine/living_quarters) +"fs" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "miningdorm1"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + pixel_y = 0; + req_access_txt = "0"; + specialfunctions = 4 + }, +/turf/open/floor/carpet{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"ft" = ( +/obj/machinery/camera{ + c_tag = "Dormatories"; + dir = 4; + network = list("MINE") + }, +/turf/open/floor/plasteel/purple/corner{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 1 + }, +/area/mine/living_quarters) +"fu" = ( +/obj/structure/chair, +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fv" = ( +/obj/structure/table, +/obj/machinery/reagentgrinder, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fw" = ( +/obj/docking_port/stationary{ + area_type = /area/lavaland/surface/outdoors; + dir = 2; + dwidth = 11; + height = 22; + id = "whiteship_lavaland"; + name = "lavaland wastes"; + turf_type = /turf/open/floor/plating/asteroid/basalt/lava_land_surface; + width = 35 + }, +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors) +"fx" = ( +/obj/structure/ore_box, +/turf/open/floor/plasteel/brown{ + dir = 10; + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fy" = ( +/obj/machinery/recharge_station, +/turf/open/floor/plasteel/purple/side{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fz" = ( +/obj/structure/closet/secure_closet/miner, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fA" = ( +/obj/structure/closet/secure_closet/miner, +/turf/open/floor/plasteel/purple/side{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fB" = ( +/obj/structure/closet/secure_closet/miner, +/turf/open/floor/plasteel/brown{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface; + dir = 6 + }, +/area/mine/living_quarters) +"fC" = ( +/obj/structure/chair{ + dir = 4 + }, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fD" = ( +/obj/structure/table, +/obj/item/weapon/reagent_containers/food/drinks/beer{ + pixel_x = 7; + pixel_y = 5 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 5 + }, +/obj/item/weapon/reagent_containers/food/drinks/beer{ + pixel_x = -1; + pixel_y = 9 + }, +/obj/item/weapon/reagent_containers/food/drinks/beer{ + pixel_x = -8; + pixel_y = 0 + }, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fE" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fF" = ( +/obj/machinery/atmospherics/components/unary/vent_pump{ + dir = 8; + layer = 2.4; + on = 1 + }, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fG" = ( +/obj/structure/table, +/obj/item/weapon/storage/box/donkpockets, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fH" = ( +/obj/machinery/door/airlock{ + id_tag = "miningdorm2"; + name = "Room 2" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fI" = ( +/obj/item/device/radio/intercom{ + dir = 8; + name = "Station Intercom (General)"; + pixel_x = -28 + }, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fJ" = ( +/obj/machinery/camera{ + c_tag = "Crew Area"; + dir = 1; + network = list("MINE") + }, +/obj/machinery/computer/security/telescreen/entertainment{ + pixel_x = 0; + pixel_y = -32 + }, +/obj/machinery/light, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fK" = ( +/obj/machinery/airalarm{ + dir = 1; + pixel_y = -22 + }, +/turf/open/floor/plasteel/bar{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fL" = ( /obj/structure/sink{ dir = 4; icon_state = "sink"; @@ -2848,6 +2768,71 @@ baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface }, /area/mine/living_quarters) +"fM" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "miningdorm2"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + pixel_y = 0; + req_access_txt = "0"; + specialfunctions = 4 + }, +/turf/open/floor/carpet{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fN" = ( +/obj/machinery/atmospherics/pipe/simple/supply/hidden, +/obj/machinery/light{ + icon_state = "tube1"; + dir = 4 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fO" = ( +/obj/machinery/door/airlock{ + id_tag = "miningdorm3"; + name = "Room 3" + }, +/obj/machinery/atmospherics/pipe/simple/supply/hidden{ + dir = 4 + }, +/turf/open/floor/plasteel{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fP" = ( +/obj/machinery/light/small{ + dir = 4 + }, +/obj/machinery/button/door{ + id = "miningdorm3"; + name = "Door Bolt Control"; + normaldoorcontrol = 1; + pixel_x = 25; + pixel_y = 0; + req_access_txt = "0"; + specialfunctions = 4 + }, +/turf/open/floor/carpet{ + baseturf = /turf/open/floor/plating/lava/smooth/lava_land_surface + }, +/area/mine/living_quarters) +"fQ" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored/danger) +"fR" = ( +/turf/closed/mineral/random/high_chance/volcanic, +/area/lavaland/surface/outdoors/unexplored) +"fS" = ( +/turf/open/floor/plating/asteroid/basalt/lava_land_surface, +/area/lavaland/surface/outdoors/unexplored) (1,1,1) = {" aa @@ -2861,250 +2846,250 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (2,1,1) = {" aa @@ -3120,248 +3105,248 @@ aa aa aa aa -ed +ad ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (3,1,1) = {" aa @@ -3377,248 +3362,248 @@ aa aa aa aa -ed +ad ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -ed -ed -ed -ed -ed +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ad +ad +ad +ad +ad ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (4,1,1) = {" aa @@ -3634,248 +3619,248 @@ aa aa aa aa -ed -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ad +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -af -af -af +ai +ai +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (5,1,1) = {" aa @@ -3893,246 +3878,246 @@ aa aa ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -fK +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ai +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (6,1,1) = {" aa @@ -4152,244 +4137,244 @@ ab ab ab ab -af -ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -ed -ed -ed -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -ab -ab -ab -af -ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -ab -ab -af -af -af -af -af -fK -fK -fK -fK -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -ab -ab -af -af -af -af -af -af -af -af +aj ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj al -dq -ab -af -af -af -af -af +al +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +ab +ai +aD +ab +aj +aj +aj +aj +aj +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (7,1,1) = {" aa @@ -4405,248 +4390,248 @@ aa aa aa aa -ed +ad ab ab ab -af +aj ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ak +ak +ak +ak +ak +ak al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -al -al -al -al -al -al -al -ed -af -af -af -af -af -af -af -af -fK -fK -fK -fK -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -bA -bA +aj +aj +aw +aw ab -dq +aD ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af +aj +aj +aj +aj "} (8,1,1) = {" aa @@ -4662,248 +4647,248 @@ aa aa aa aa -ed +ad ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -ed -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ad +aj ab ab -ed -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -ed -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ad +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ad +an +an +an +an +an +an +an +an +an +an +an +an ab ab ab -fK -fK +an +an ab ab -fK -fK -fK -fK -fK -fK -fK -fK -fK +an +an +an +an +an +an +an +an +an ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af +aj +aj +aj ab -af -af -af -bA -bA -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aw +aw +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj "} (9,1,1) = {" aa @@ -4918,249 +4903,249 @@ aa aa aa aa -ed +ad ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -af +aj ab ab -af -af -af -af -bA -bA -af -af -bA -bA -af -af -bA -af +aj +aj +aj +aj +aw +aw +aj +aj +aw +aw +aj +aj +aw +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -af +aj ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (10,1,1) = {" aa @@ -5179,245 +5164,245 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab +ak +ak al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj ab ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -af -af -af -bA -bA -bA -bA -bA -bA -bA -bA -bA -bA -bA -bA -bA -af -af -af -af +aj +aj +aj +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj "} (11,1,1) = {" aa @@ -5436,245 +5421,245 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an ab ab -fK -fK -fK -fK -fK -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -bA -bA -dq -bA -bA -bA -bA -bA -bA -bA -bA -bA -bA -bA -bA -bA +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aw +aw +aD +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw +aw ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af +aj ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj "} (12,1,1) = {" aa @@ -5693,245 +5678,245 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -af -af -af -af -af -af -af -af -fK +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +an ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -bA -bA -bA -dq -bA -bA -bA -bA -bA -dq -bA -bA -dq -bA -bA -bA -af -bA -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aw +aw +aw +aD +aw +aw +aw +aw +aw +aD +aw +aw +aD +aw +aw +aw +aj +aw +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (13,1,1) = {" aa @@ -5950,245 +5935,245 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -fK -fK -af -af -af -af -af -af -af -af +an +an +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -af -bA -bA -bA -dq -dq -dq -dq -dq -dq -dq -dq -dq -bA -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aw +aw +aw +aD +aD +aD +aD +aD +aD +aD +aD +aD +aw +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj "} (14,1,1) = {" aa @@ -6203,249 +6188,249 @@ aa aa aa aa -ed +ad ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an ab ab -fK -fK -fK -fK -fK -fK -fK -fK -af -af -af -af -af -af -af +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af -bA -bA -bA -bA -dq -dq -dq -dq -dq -dq -dq -dq -dq -bA -bA +aj +aj +aj +aj +aj +aj +aj +aw +aw +aw +aw +aD +aD +aD +aD +aD +aD +aD +aD +aD +aw +aw ab -af -af -af -af +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -af +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (15,1,1) = {" aa @@ -6460,249 +6445,249 @@ aa aa aa aa -ed +ad ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ak ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -bA -bA -bA -bA -dq -dq -dq -dq -dq -dq -dq -dq -dq -bA -bA -bA -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aw +aw +aw +aw +aD +aD +aD +aD +aD +aD +aD +aD +aD +aw +aw +aw +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj "} (16,1,1) = {" aa @@ -6721,245 +6706,245 @@ ab ab ab ab -af -af -af -af -af -ab -af -af -af -af -af -af -ab -ed -ed +aj +aj +aj +aj +aj ab +aj +aj +aj +aj +aj +aj ab al al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -bA -bA -bA -dq -dq -dq -dq -dq -dq -dq -dq -dq -bA -af -af -af -af -af -ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af ab ab -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aw +aw +aw +aD +aD +aD +aD +aD +aD +aD +aD +aD +aw +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj "} (17,1,1) = {" aa @@ -6974,249 +6959,249 @@ aa aa aa ab -ed -ed +ad +ad ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -af -ed +aj +al ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -bA -bA -dq -dq -dq -dq -dq -dq -dq -bl -dq -dq -dq -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aw +aw +aD +aD +aD +aD +aD +aD +aD +bw +aD +aD +aD +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -af -af +aj +aj ab -af -af -af -af +aj +aj +aj +aj "} (18,1,1) = {" aa @@ -7235,245 +7220,245 @@ aa aa ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -ab -ab -af -af -af -af -af -ab -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an an an an an an -aO an an an -bm an -bA -bA -af -af -af -af -af -al ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ab +aj +aj +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aq +aq +aq +aq +aq +aY +aq +aq +aq +bx +aq +aw +aw +aj +aj +aj +aj +aj +ai +ab +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (19,1,1) = {" aa @@ -7490,247 +7475,247 @@ aa aa aa aa -ed +ad ab -af -af -af -af +aj +aj +aj +aj ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an ab ab -fK -ab -af -af -af -af -af -ab an -ay -aC +ab +aj +aj +aj +aj +aj +ab +aq aG -an +aK aP -an +aq aZ -an -aF -an -dq -fJ -af -af -dq -af +aq +bh +aq +aJ +aq +aD +bZ +aj +aj +aD +aj ab -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (20,1,1) = {" aa @@ -7747,247 +7732,247 @@ aa aa aa aa -ed +ad ab -af -af -af -af +aj +aj +aj +aj ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab -af -af -ab -ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -ab -af -af -af +aj +aj ab ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +ai +aj +aj +aj an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ab +aj +aj +aj +ab +ab +aq +aH az -at -au -an -aO -an -fM -an -bm -an -fJ -fJ -fJ -af -af -af -al -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aQ +aq +aY +aq +bi +aq +bx +aq +bZ +bZ +bZ +aj +aj +aj +ai +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (21,1,1) = {" aa @@ -8006,245 +7991,245 @@ aa aa ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab -af -af +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -am +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak am am +ai +aj +aj +aj +aj an an an -aD an an -aQ an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ap +ap +ap +aq +aq +aq +aL +aq +aq ba -at -at -an -fN -fN -fN -af -af -af -al -ed -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aq +bj +az +az +aq +ca +ca +ca +aj +aj +aj +ai +ad +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (22,1,1) = {" aa @@ -8258,250 +8243,250 @@ aa aa aa aa -ed +ad ab ab ab ab -af -af -af +aj +aj +aj ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak am -ao -ao +ai +aj +aj +aj +aj +aj an -at -at -at -at -at -at -at -at -at -at an -bB -bK -fO -af -af -af -af -al +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +ap +ar +ar +aq +az +az +az +az +az +az +az +az +az +az +aq +cb +cw +cG +aj +aj +aj +aj +ai ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (23,1,1) = {" aa @@ -8515,250 +8500,250 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab ab -af +aj ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -af +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj an -ap -fD -aw -at -at -at -at -aK -aR -at -at -at -bc -bu -bC +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +as +ax +aB +az +az +az +az +aU +bb +az +az +az +by bL -fO -af -af -af -af -af +cc +cx +cG +aj +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (24,1,1) = {" aa @@ -8777,245 +8762,245 @@ aa ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +aj ab ab ab -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an an aq -aM -an -aA at -at -at -fR -at -au -fH -at -be -an -bD -bM -fO -af -af -af -af +ay +aq +aE +az +az +az +aV +az +aQ +bk +az +bz +aq +cd +cy +cG +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (25,1,1) = {" aa @@ -9035,244 +9020,244 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +aj +aj +aj +aj ab ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK an an an an an -at -at -fQ -at -dr -an -aS -an -bd an an an an -af -af -af +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +aq +aq +aq +aq +az +az +aR +az +bc +aq +bl +aq +bA +aq +aq +aq +aq +aj +aj +aj ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (26,1,1) = {" aa @@ -9288,248 +9273,248 @@ aa aa aa aa -ed -ed +ad +ad ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -ed -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -an -ar -ar -ar -an -at -fE +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +ad an an -aL an -aS an -be an -bE -bN an -af -af -af +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +au +au +au +aq +az +aM +aq +aq +bd +aq +bl +aq +bz +aq +ce +cz +aq +aj +aj +aj ab ab ab ab ab ab -af -af -af -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (27,1,1) = {" aa @@ -9545,248 +9530,248 @@ aa aa aa aa -ed +ad ab ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -af +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj an -as -at -at -aB -at -fF -aI -aT -fG -aT -aV an -bf -bw +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +av +az +az +aF +az +aN +aS aW -aX -an -af -af +be +aW +bm +aq +bB +bM +cf +cA +aq +aj +aj ab -ed -al +ad +ai ab ab ab -al +ai ab ab ab -ed -al -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ad +ai +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (28,1,1) = {" aa @@ -9805,200 +9790,109 @@ aa ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +ai ab ab -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -an -an -av -ax -an -aE +aj +aj +aj +aj +aj an an an @@ -10008,42 +9902,133 @@ an an an an -bx -bO an -af -eh -eh -eh -eh -ei -ei -ei -ee -ei -ei -ei -ee -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +aq +aA +aC +aq +aI +aq +aq +aq +aq +aq +aq +aq +aq +aq +cg +cB +aq +aj +cQ +cQ +cQ +cQ +cR +cR +cR +cM +cR +cR +cR +cM +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (29,1,1) = {" aa @@ -10062,245 +10047,245 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab ab -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +ai +ai +am +ai ab -al -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ai +aj +aj +aj +aj +aj +aj an an an an -at an -fL -aN -aN -dq -dq -dq -dq an -bF -bG an -af -eh -dm -dm -eh -fj -fj -fj -ee -cd -cU -bn -ee +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +aq +aq +aq +az +aq +aT +aX +aX +aD +aD +aD +aD +aq +ch +cC +aq +aj +cQ +dg +dg +cQ +dZ +dZ +dZ +cM +fa +fo +fx +cM ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (30,1,1) = {" aa @@ -10321,13 +10306,13 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab -af +aj ab ab ab @@ -10336,228 +10321,228 @@ ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -an -aF -an -fL -dq -dq -dq -dq -dq -dq +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +ai +ai +aj +aj +aj +aj +aj +aj an an an an -af -eh -ex -eM -eh -fk -fv -fq -ee -fB -fj -da -ei +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aq +aJ +aq +aT +aD +aD +aD +aD +aD +aD +aq +aq +aq +aq +aj +cQ +dh +dx +cQ +ea +ep +ek +cM +fb +dZ +fy +cR ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (31,1,1) = {" aa @@ -10577,244 +10562,244 @@ ab ab ab ab -af -af -af +aj +aj +aj ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -al -af -af -af -af -af -fK -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +aj +aj +ai +aj +aj +aj +aj +aj an -aE +aj +aj an -fL -dq -dq -dq -dq -dq -af -af -af -af -af +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aq +aI +aq +aT +aD +aD +aD +aD +aD +aj +aj +aj +aj +aj ab -eh -ey -eN -fa -fl -fw -cs -cy -fo -cV -db -ei +cQ +di +dy +dP +eb +eq +eK +eQ +ef +fp +fz +cR ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (32,1,1) = {" aa @@ -10834,244 +10819,244 @@ ab ab ab ab -af -af -af +aj +aj +aj ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +ai +ai ab ab -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -aJ -dq -dq -dq -dq -dq -af -af -af -af -af +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aO +aD +aD +aD +aD +aD +aj +aj +aj +aj +aj ab -ed -eh -ez -eO -eh -fm -bg -cu -ee -cJ -fj -bo -ei +ad +cQ +dj +dz +cQ +ec +er +eL +cM +fc +dZ +fA +cR ab -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (33,1,1) = {" aa @@ -11085,250 +11070,250 @@ aa aa aa aa +ad +ab +ab +ab +ab +ab +aj +aj +aj +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +aj +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +ai +ab +ai +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aD +aD +aD +aD +aD +aD +aj +aj +aj +aj +ab +ai +cQ +dk +dA +cQ ed -ab -ab -ab -ab -ab -af -af -af -ab -ab -af -af -af -af -af -af -af -ab -af -ab -ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -al -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -dq -dq -dq -dq -dq -dq -dq -af -af -af -af -ab -al -eh -fC -eP -eh -fz -bg -cv -ee +er +eM +cM fd -ag -bv -ee -al -ed -al -al +fq +fB +cM +ai +ad +ai +ai ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (34,1,1) = {" aa @@ -11342,250 +11327,250 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab ab -af -af +aj +aj ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -dq -dq -dq -dq -dq -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ad +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aD +aD +aD +aD +aj +aj +aj +aj ab ab -eh -eh -eh -eh -fn -bg -fj -ee -ee -ee -ee -ee -ee -ee -ee -ee +cQ +cQ +cQ +cQ ee +er +dZ +cM +cM +cM +cM +cM +cM +cM +cM +cM +cM ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (35,1,1) = {" aa @@ -11599,250 +11584,250 @@ aa aa aa aa -ed -ed -ed +ad +ad +ad ab ab ab -af -af +aj +aj ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -dq -dq -dq -dq -dq -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aD +aD +aD +aD +aj +aj +aj +aj +aj ab -ee -eA -eQ -ee -fj -bg -fj -ee -cK -cW -ee -cK -cW -ee -cK -cW -ee +cM +dl +dB +cM +dZ +er +dZ +cM +fe +fr +cM +fe +fr +cM +fe +fr +cM ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (36,1,1) = {" aa @@ -11862,244 +11847,244 @@ aa aa ab ab -af -af +aj +aj ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -dq -dq -dq -dq -dq -dq -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aD +aD +aD +aD +aD +aj +aj +aj +aj ab -ei -eB -eR -fb -fk -bg -fj -ee -cL -cX -ee -cL -dl -ee -cL -dp -ee -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +cR +dm +dC +dQ +ea +er +dZ +cM +ff +fs +cM +ff +fM +cM +ff +fP +cM +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (37,1,1) = {" aa @@ -12117,246 +12102,246 @@ aa aa aa aa -ed +ad ab -af -af -af +aj +aj +aj ab ab ab -af -af +aj +aj ab -af +aj ab ab ab ab ab ab -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -fL -fK -dq -dq -af -af -af -af +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aT +an +aD +aD +aj +aj +aj +aj ab -ei -eB -eS -fc -fo -bi -fj -ee +cR +dm +dD +dR +ef +es +dZ cM -ee -ee -dh -ee -ee -do -ee -ee -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +fg +cM +cM +fH +cM +cM +fO +cM +cM +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (38,1,1) = {" aa @@ -12374,246 +12359,246 @@ aa aa aa aa -ed +ad ab -af -af -af +aj +aj +aj ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -fK -fK -fK +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an ab ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -dq -af -af -al -ed -ee -eC -eT -fb -fm -bg -fj -cu -cN -fA -cu -cN -fm -cu -cN -fm -ei -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aD +aj +aj +ai +ad +cM +dn +dE +dQ +ec +er +dZ +eL +fh +ft +eL +fh +ec +eL +fh +ec +cR +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (39,1,1) = {" aa @@ -12631,246 +12616,246 @@ aa aa aa aa -ed +ad ab -af -af -af +aj +aj +aj ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -af -af -al -ee -ee -ee -ee -ee +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +ai +cM +cM +cM +cM +cM +eg +et +eN +eN +fi +eN +eN +fi +fN +eN +fi fp -ci -cl -cl -cO -cl -cl -cO -dn -cl -cO -cV -ei +cR ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (40,1,1) = {" aa @@ -12888,246 +12873,246 @@ aa aa aa aa -ed +ad ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -al -al -al -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +aj +aj +ai +ai +ai +aj +aj +aj +aj +aj +aj +aj ab ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -af -af -ee -ej -bX -bY -ee -cx -bg -fj -ee -ee -fb -fb -ee -ee -ee -ei -ei -ee -al +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aj +aj +cM +cS +do +dF +cM +eh +er +dZ +cM +cM +dQ +dQ +cM +cM +cM +cR +cR +cM +ai ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (41,1,1) = {" aa @@ -13147,244 +13132,244 @@ aa aa ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +ai +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -af -af -ef -ek -eD -bZ -ee +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aj +aj +cN +cT +cV +dG +cM +ea +er +eM +cM +fj fk -bg -cv -ee -cP -cQ -cQ -aH -ee +fk +fI +cM ab ab ab -al -ed -al -al +ai +ad +ai +ai ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj "} (42,1,1) = {" aa @@ -13405,243 +13390,243 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +aj ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -af -af -ee -el -eE -bJ -cc -cf -bk -fq -fb -cQ -cQ -dc -cQ -ee +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aj +aj +cM +cU +dp +dH +dS +ei +eu +ek +dQ +fk +fk +fC +fk +cM ab -af +aj ab ab -al -al +ai +ai ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (43,1,1) = {" aa @@ -13662,243 +13647,243 @@ ab ab ab ab -af -af -af +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj ab ab ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aj +ab +cM +cV dq -dq -af -ab -ee -eD -eF -ca -ee -cg -cj -cs -ct -cR -cY -dd -di -ee -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +dI +cM +ej +ev +eK +eR +fl +fu +fD +fJ +cM +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (44,1,1) = {" aa @@ -13919,243 +13904,243 @@ ab ab ab ab -af -af -af +aj +aj +aj ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +an +an +an +an ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -dq -dq -af -af +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +an +aD +aD +aj +aj ab -ee -em -eG -eG -ee -fj -bg -cu -fb -cQ -cQ -de -dj -ee -ed -af -af -af -af -af -af +cM +cW +dr +dr +cM +dZ +er +eL +dQ +fk +fk +fE +fK +cM +ad +aj +aj +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (45,1,1) = {" aa @@ -14175,244 +14160,244 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +ai ab -af -af -af -af -af -af -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -af -af -af -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -af -af -af -af -af -af -af -af -af -af -af -af -fK -fK +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an ab -af -af +aj +aj ab -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK -fK +an +an +an +an +an +an +an +an +an +an +an +an +an ab -af -af -fK -fK -fK -fK -fK -dq -dq -dq -dq -af -af -af -af -ee -ee -ee -ee -ee -fj -bg -fj -ee -cS -cQ -df -cQ -ee -al -af -af -af -af -af -af -af +aj +aj +an +an +an +an +an +aD +aD +aD +aD +aj +aj +aj +aj +cM +cM +cM +cM +cM +dZ +er +dZ +cM +fm +fk +fF +fk +cM +ai +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (46,1,1) = {" aa @@ -14426,250 +14411,250 @@ aa aa aa aa -ed +ad ab ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai ab -af -af -af -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -fK -fK -fK -fK -fK -af -af -af -af -af -af -af -dq -dq -dq -dq -af -af -af -af -af -af -af -af +aj +aj +aj +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +an +an +an +an +an +aj +aj +aj +aj +aj +aj +aj +aD +aD +aD +aD +aj +aj +aj +aj +aj +aj +aj +aj ab ab -ei -fj -bg -fj -ee -cT -cZ -dk -fT -ee -al -al -af -af -af -af -af -af -af -af -af +cR +dZ +er +dZ +cM +fn +fv +fG +fL +cM +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj "} (47,1,1) = {" aa @@ -14683,250 +14668,250 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ai ab ab ab -al -al -al -af -af -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ai +am +ai +aj +aj +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -ei -fq -bp -cH -ee -ei -ei -ei -ei -ee -al -al -al -af +cR +ek +ew +eO +cM +cR +cR +cR +cR +cM +ai +ai +ai +aj ab -af -af +aj +aj ab ab -af +aj ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj "} (48,1,1) = {" aa @@ -14941,249 +14926,249 @@ aa aa aa aa -ed +ad ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +ai +ai +ai +am +am +am +ai +ai +am +am +ai +ai +aj +aj +aj +aj +aj +aj +ai +ai +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af +aj ab -af -af -af -af -af -ei -ei -bs -ei -ei +aj +aj +aj +aj +aj +cR +cR +ex +cR +cR ab ab ab ab -al -al -al +ai +ai +ai ab -af -af -af -af +aj +aj +aj +aj ab ab ab -al -ed -ed +ai +ad +ad ab ab -af -af -af -af +aj +aj +aj +aj "} (49,1,1) = {" aa @@ -15198,210 +15183,210 @@ aa aa aa aa -ed +ad ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -ed +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +ai +ai +ai +am +am +ai +ai +aj +aj +aj +aj +ad ab ab ab -al -af -af -af -af -af -af -af -al -al -al -al -al -al -al -af -af -af -af -af -al -al -al -al -al -al -al +ai +aj +aj +aj +aj +aj +aj +aj +ai +ai +ai +ai +ai +ai +ai +aj +aj +aj +aj +aj +ai +ai +ai +ai +ai +ai +ai ab ab -al -al -al -al -af -af -af -af -al -al -af -af -af -af -af -af -af -al -al -al -af -af -af -af -af -af +ai +ai +ai +ai +aj +aj +aj +aj +ai +ai +aj +aj +aj +aj +aj +aj +aj +ai +ai +ai +aj +aj +aj +aj +aj +aj ab ab ab @@ -15409,38 +15394,38 @@ ab ab ab ab -af -af -af -af -ei -bQ -ei +aj +aj +aj +aj +cR +ey +cR ab ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -ed -ed -ed -ed -ed -al -al -af -af -af +ad +ad +ad +ad +ad +ai +ai +aj +aj +aj "} (50,1,1) = {" aa @@ -15460,204 +15445,204 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +ai +am +ai +ai +ai +am +ai +ai +ai +ai +ai +ai +ai +am +am +am +am +am +am +am +ai +ai ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ai +am +am +am +am +am +am +am +ai +ai +am +am +am +am +ai ab ab ab -al -al -al -al -al -al -al -al -al -al -al +ai +am +ai +ai +ai +ai +ai +ai +ai +am +ai ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab @@ -15667,37 +15652,37 @@ ab ab ab ab -af -af -af -ei -bg -ei +aj +aj +aj +cR +er +cR ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af +aj ab ab -ed -ed -ed -ed -ed -ed -ed -ed +ad +ad +ad +ad +ad +ad +ad +ad ab -af -af +aj +aj "} (51,1,1) = {" aa @@ -15717,203 +15702,203 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +am +am +am +am +am +am +am +am +am +ai ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab @@ -15924,37 +15909,37 @@ ab ab ab ab -af -af -af -ei -bg -ei +aj +aj +aj +cR +er +cR ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -ed -ed -ed -ed -ed -ed -ed +ad +ad +ad +ad +ad +ad +ad ab -af -af +aj +aj "} (52,1,1) = {" aa @@ -15975,202 +15960,202 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab -af -af +aj +aj ab ab -af +aj ab ab ab @@ -16182,36 +16167,36 @@ ab ab ab ab -af -af -ei -bg -ei +aj +aj +cR +er +cR ab -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -ed -ed -ed -ed -ed -ed -ed +ad +ad +ad +ad +ad +ad +ad ab -af -af +aj +aj "} (53,1,1) = {" aa @@ -16232,203 +16217,203 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab -af +aj ab ab -af -af -af +aj +aj +aj ab ab ab @@ -16439,36 +16424,36 @@ ab ab ab ab -af +aj ab -dx -bV -dx +br +ez +br ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -ed -ed -al -ed +ad +ad +ai +ad ab ab -af -af +aj +aj "} (54,1,1) = {" aa @@ -16489,243 +16474,243 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -ck +ci ab ab ab ab -af -af +aj +aj ab -dx -bV -dx +br +ez +br ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (55,1,1) = {" aa @@ -16742,247 +16727,247 @@ aa ab ab ab -ed -ed +ad +ad ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab -by -bH -dx +bN +cj +br ab ab -af -af -af +aj +aj +aj ab -dx -bV -dx +br +ez +br ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (56,1,1) = {" aa @@ -16998,248 +16983,248 @@ aa aa ab ab -al -al -al -al +ai +ai +ai +ai ab -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -dx -dI -dx +br +bP +br ab -af -af -af -af +aj +aj +aj +aj ab -dx -dK -dx +br +bR +br ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (57,1,1) = {" aa @@ -17254,249 +17239,249 @@ aa aa aa ab -ed -al -al -al -al +ad +ai +ai +ai +ai ab -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab -af -af -af -af -af -af -dx -dx -bH -dx -dx +aj +aj +aj +aj +aj +aj +br +br +cj +br +br ab -af -af +aj +aj ab -dx -dx -cb -dx -dx +br +br +eA +br +br ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (58,1,1) = {" aa @@ -17511,249 +17496,249 @@ aa aa aa ab -ed -al -al -al -al +ad +ai +ai +ai +ai ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -bh -dx -dH -dR -bP -dx -bh -bh -bh -bh -dx -bU -bW -bP -dx -bh -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai +aj +aj +aj +bq +br +bO +ck +cD +br +bq +bq +bq +bq +br +cH +eB +cD +br +bq +am +am +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (59,1,1) = {" aa @@ -17768,249 +17753,249 @@ aa aa aa ab -ed -ed -ed +ad +ad +ad ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj ab -bh bq -dI -dS -dI -bU -eg -eo -dR -eU -fe -dI -bV -dI -cz -bh +bC +bP +cl +bP +cH +cO +cX +ck +dJ +dT +bP +ez +bP +eS +bq ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (60,1,1) = {" aa @@ -18032,242 +18017,242 @@ ab ab ab ab -af +aj ab -af -af +aj +aj ab ab -af +aj ab -af +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +aj ab -dx -dB -dJ -dT -bR -bR -bR -ep -bR -bR -bR -bR -ce -cw -cA -bh +br +bD +bQ +cm +cE +cE +cE +cY +cE +cE +cE +cE +eC +eP +eT +bq ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (61,1,1) = {" aa @@ -18289,242 +18274,242 @@ ab ab ab ab -af -af -af +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +aj +aj ab ab -dx -fS -dK -bI -bS -dZ -bT -bI -dI -dI -dI -dI -ch -dI -cC -dx +br +bE +bR +cn +cF +cI +cP +cn +bP +bP +bP +bP +eD +bP +eU +br ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (62,1,1) = {" aa @@ -18545,243 +18530,243 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +aj +aj +ai ab -ds -ds -ds -bb -bz -bb -ds -ea -bh -eq -eH -eV -dC +bf +bf +bf +bF bS -cm -bI -cD -dx +bF +bf +cJ +bq +cZ +ds +dK +dU +cF +eE +cn +eV +br ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (63,1,1) = {" aa @@ -18801,244 +18786,244 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai ab -ds -du -dy -br -dL -dU -ds -eb -bh -bh -eI -bh -ff -fr -cn -ff -bh -bh +bf +bn +bs +bG +bT +co +bf +cK +bq +bq +dt +bq +dV +el +eF +dV +bq +bq ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (64,1,1) = {" aa @@ -19057,245 +19042,245 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab -dt -dv -dz -dz -dM -dV -ds -ec -bh -er -eJ -eW +bg +bo +bt +bt bU -dR -co +cp +bf +cL +bq +da +du +dL +cH +ck +eG +cD bP -dI -dx +br ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (65,1,1) = {" aa @@ -19314,245 +19299,245 @@ ab ab ab ab -af +aj ab ab -af +aj ab ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj ab -dt -dv -dz -dD -dN -bj -ds -bh -bh -es -dI -dI -dI -dI -cp -bS -cE -bh +bg +bo +bt +bH +bV +cq +bf +bq +bq +db +bP +bP +bP +bP +eH +cF +eW +bq ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (66,1,1) = {" aa @@ -19571,245 +19556,245 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj ab -ds -dw -dA -dE -dO +bf +bp +bu +bI +bW +cr +bf +ad +bq +dc +bP +dM dW -ds -ed -bh -et -dI +dW +eI +bq eX -fg -fg -cq -bh -cF -bh +bq ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (67,1,1) = {" aa @@ -19830,243 +19815,243 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj ab -ds -ds -ds -dt -dP -dt -ds -al -bh -eu -dI +bf +bf +bf +bg +bX +bg +bf +ai +bq +dd +bP +dN +dX +em +eJ +dV eY -fh -fs -cr -ff -cG -bh +bq ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (68,1,1) = {" aa @@ -20080,250 +20065,250 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +aj +aj ab ab ab -ds -dF -dQ -dX -ds -al -bh -ev -eK -bh -ff -ft -ff -ff -cG -bh +bf +bJ +bY +cs +bf +ai +bq +de +dv +bq +dV +en +dV +dV +eY +bq ab ab -af -af -af -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (69,1,1) = {" aa @@ -20344,243 +20329,243 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +aj +aj ab ab -ds -dG +bf +bK +bW +ct +bf +ai +bq +df +dw dO dY -ds -al -bh -ew -eL +eo +dY +dY eZ -fi -fu -fi -fi -cI -bh +bq ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (70,1,1) = {" aa @@ -20601,243 +20586,243 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab -al -al -af -af +ai +ai +aj +aj ab -ds -dt -dP -dt -ds -al -bh -bh -bh -bh -bh -bh -bh -bh -bh -bh +bf +bg +bX +bg +bf +ai +bq +bq +bq +bq +bq +bq +bq +bq +bq +bq ab ab ab -af -af -af -af +aj +aj +aj +aj ab -af -af -af +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (71,1,1) = {" aa @@ -20854,201 +20839,201 @@ aa aa aa aa -ed +ad ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -fy +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ao ab ab ab @@ -21056,45 +21041,45 @@ ab ab ab ab -bt +bv ab ab ab -bt -al -al +bv +ai +ai ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab ab ab ab -af -af +aj +aj ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (72,1,1) = {" aa @@ -21111,200 +21096,200 @@ aa aa aa aa -ed +ad ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -af -af -af +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ai +am +am +am +ai ab ab ab @@ -21320,38 +21305,38 @@ ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (73,1,1) = {" aa @@ -21366,202 +21351,202 @@ aa aa aa ab -ed -ed +ad +ad ab ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -af +aj ab -af +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -fy +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ao ab ab -al -al -al -al +ai +ai +am +ai ab ab ab @@ -21577,38 +21562,38 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -af -af +aj +aj ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -af -af -af -af +aj +aj +aj +aj "} (74,1,1) = {" aa @@ -21630,196 +21615,196 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai ab ab ab -al +ai ab -al -al -al +ai +am +ai ab ab ab @@ -21833,39 +21818,39 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -af -af +aj +aj ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -af -af -af -af +aj +aj +aj +aj "} (75,1,1) = {" aa @@ -21887,195 +21872,195 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai ab ab ab ab ab ab -al +ai ab ab ab @@ -22089,40 +22074,40 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -al -al +aj +aj +aj +aj +aj +aj +aj +aj +aj +ai +ai ab ab ab -af +aj ab ab ab -af -af -af +aj +aj +aj ab ab ab -af -af -af +aj +aj +aj ab ab ab -af -af -af -af +aj +aj +aj +aj "} (76,1,1) = {" aa @@ -22145,186 +22130,186 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +ai ab ab ab @@ -22332,41 +22317,41 @@ ab ab ab ab -al +ai ab ab ab ab ab ab -fy +ao ab ab ab ab ab ab -af -af -af -af -af -af -af -al -al -al -al -al +aj +aj +aj +aj +aj +aj +aj +ai +ai +ai +ai +ai ab ab -af +aj ab ab ab -af -af -af +aj +aj +aj ab ab ab @@ -22376,10 +22361,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (77,1,1) = {" aa @@ -22404,200 +22389,200 @@ ab ab ab ab -af -af +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +ai ab ab -al +ai ab ab ab ab -al -al +ai +ai ab ab ab ab -al -al -al +ai +ai +ai ab ab ab @@ -22605,25 +22590,25 @@ ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai +ai ab -af +aj ab ab ab ab ab -af +aj ab ab ab @@ -22633,10 +22618,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (78,1,1) = {" aa @@ -22657,204 +22642,204 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai +ai +ai ab ab ab ab ab -al -al +ai +ai ab ab ab -al -al -al +ai +ai +ai ab ab ab @@ -22864,13 +22849,13 @@ ab ab ab ab -al -al -al -al -af -af -af +ai +ai +ai +ai +aj +aj +aj ab ab ab @@ -22880,7 +22865,7 @@ ab ab ab ab -af +aj ab ab ab @@ -22890,10 +22875,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (79,1,1) = {" aa @@ -22908,195 +22893,195 @@ aa aa aa ab -ed -ed -ed +ad +ad +ad ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -23109,9 +23094,9 @@ ab ab ab ab -al -al -al +ai +ai +ai ab ab ab @@ -23124,10 +23109,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab @@ -23137,7 +23122,7 @@ ab ab ab ab -af +aj ab ab ab @@ -23145,12 +23130,12 @@ ab ab ab ab -af +aj ab -af -af -af -af +aj +aj +aj +aj "} (80,1,1) = {" aa @@ -23165,197 +23150,197 @@ aa aa aa ab -ed -al -al -al +ad +ai +ai +ai ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai +ai ab ab ab @@ -23366,9 +23351,9 @@ ab ab ab ab -al -al -al +ai +ai +ai ab ab ab @@ -23377,15 +23362,15 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab @@ -23402,12 +23387,12 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj "} (81,1,1) = {" aa @@ -23422,196 +23407,196 @@ aa aa aa ab -ed -al -al -al -ed +ad +ai +ai +ai +ad ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -23623,9 +23608,9 @@ ab ab ab ab -al -al -al +ai +ai +ai ab ab ab @@ -23633,16 +23618,16 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab @@ -23659,12 +23644,12 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj "} (82,1,1) = {" aa @@ -23680,198 +23665,198 @@ aa aa ab ab -al -al -al -ed +ai +ai +ai +ad ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -af +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai ab ab ab @@ -23879,9 +23864,9 @@ ab ab ab ab -al -al -al +ai +ai +ai ab ab ab @@ -23894,13 +23879,13 @@ ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab ab @@ -23916,12 +23901,12 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj "} (83,1,1) = {" aa @@ -23938,206 +23923,206 @@ aa ab ab ab -ed -ed +ad +ad ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab -af +aj ab -af -af +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -fy +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +ao ab ab ab ab ab ab -al -al +ai +ai ab ab ab @@ -24148,15 +24133,15 @@ ab ab ab ab -al -al -al -al +ai +ai +ai +ai ab -af -af -af -af +aj +aj +aj +aj ab ab ab @@ -24174,11 +24159,11 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (84,1,1) = {" aa @@ -24199,202 +24184,202 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -fy +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +ao ab ab ab ab ab ab -al -al +ai +ai ab ab ab @@ -24405,14 +24390,14 @@ ab ab ab ab -al -al -al -al -al -af -af -af +ai +am +am +am +ai +aj +aj +aj ab ab ab @@ -24431,11 +24416,11 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (85,1,1) = {" aa @@ -24456,202 +24441,202 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab ab ab ab -al -al -al +ai +ai +ai ab ab ab @@ -24663,12 +24648,12 @@ ab ab ab ab -fy -al -al -al -af -af +ao +am +am +ai +aj +aj ab ab ab @@ -24688,11 +24673,11 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (86,1,1) = {" aa @@ -24713,201 +24698,201 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -af +aj ab -af -af +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai ab ab ab ab ab ab -al -fy +ai +ao ab ab ab @@ -24921,10 +24906,10 @@ ab ab ab ab -al -al -al -af +ai +am +ai +aj ab ab ab @@ -24945,11 +24930,11 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (87,1,1) = {" aa @@ -24971,199 +24956,199 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -fy +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ao ab ab ab ab ab -al +ai ab ab ab @@ -25174,16 +25159,16 @@ ab ab ab ab -al +ai ab ab ab -al -al -al -al -al -al +ai +am +ai +ai +ai +ai ab ab ab @@ -25203,10 +25188,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (88,1,1) = {" aa @@ -25220,7 +25205,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -25229,193 +25214,193 @@ ab ab ab ab -af +aj ab -af +aj ab ab ab -af +aj ab -af -af -af +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -25428,20 +25413,20 @@ ab ab ab ab -al -al -al -al -al -al +ai +ai +ai +am +ai +ai ab -al -al -al -al -al -al -fy +ai +am +am +am +am +am +ao ab ab ab @@ -25460,10 +25445,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (89,1,1) = {" aa @@ -25485,196 +25470,196 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab -af +aj ab -af -af -af -af +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai ab ab ab @@ -25684,21 +25669,21 @@ ab ab ab ab -fy -al -al -al -al -al -al -al -al -al -al -al -al -al -fy +ao +am +am +am +am +am +am +ai +am +am +am +am +am +am +ao ab ab ab @@ -25717,10 +25702,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (90,1,1) = {" aa @@ -25736,200 +25721,200 @@ aa aa aa aa -ed +ad ab ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -25942,19 +25927,19 @@ ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al +ai +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -25974,10 +25959,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (91,1,1) = {" aa @@ -25993,201 +25978,201 @@ aa aa aa aa -ed +ad ab ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -26199,18 +26184,18 @@ ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al +ai +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -26232,9 +26217,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (92,1,1) = {" aa @@ -26256,195 +26241,195 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -af -af -af -af +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -26457,17 +26442,17 @@ ab ab ab ab -fy -al -al -al -al -al -al -al -al -al -al +ao +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -26513,195 +26498,195 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -af -af -af -af +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -26715,16 +26700,16 @@ ab ab ab ab -al -al -al -al -al -al -al -al -al -al +ai +ai +am +am +am +am +am +am +am +ai ab ab ab @@ -26762,203 +26747,203 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -26974,14 +26959,14 @@ ab ab ab ab -al -al -al -al -al -al -al -al +ai +am +am +am +am +am +am +ai ab ab ab @@ -27003,9 +26988,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (95,1,1) = {" aa @@ -27019,7 +27004,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -27027,195 +27012,195 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -27231,14 +27216,14 @@ ab ab ab ab -al -al -al -al -al -al -al -al +ai +am +am +am +am +am +am +ai ab ab ab @@ -27260,9 +27245,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (96,1,1) = {" aa @@ -27276,7 +27261,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -27285,197 +27270,197 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai ab ab -al +ai ab ab ab @@ -27488,15 +27473,15 @@ ab ab ab ab -al -al -al -al -al -al -al -al -al +ai +am +am +am +am +am +am +am +ai ab ab ab @@ -27517,7 +27502,7 @@ ab ab ab ab -af +aj ab ab "} @@ -27543,217 +27528,217 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai ab ab -al -al +ai +ai ab ab ab ab ab -al +ai ab ab ab ab ab ab -al -al -al -al -al -al -al -al -al +ai +am +am +am +am +am +am +am +ai ab ab ab @@ -27774,9 +27759,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (98,1,1) = {" aa @@ -27794,223 +27779,223 @@ ab ab ab ab -al -al +ai +ai ab ab ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai ab ab -al +ai ab ab ab ab ab ab -al -fy +ai +ao ab ab ab ab ab ab -al -al -al -al -al -al -al -al +ai +am +am +am +am +am +am +ai ab ab ab @@ -28032,8 +28017,8 @@ ab ab ab ab -af -af +aj +aj "} (99,1,1) = {" aa @@ -28051,223 +28036,223 @@ ab ab ab ab -al -al -ed +ai +ai +ad ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai ab ab -al +ai ab ab ab ab ab ab -al -al -al -al -al -al +ai +am +ai +ai +ai +ai ab ab -al -al -al -al -al -al -al -ed +ai +ai +ai +am +am +ai +ai +ad ab ab ab @@ -28288,9 +28273,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (100,1,1) = {" aa @@ -28307,221 +28292,221 @@ aa ab ab ab -ed -al -al -ed +ad +ai +ai +ad ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -af -af +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ai ab ab ab ab ab ab -fy +ao ab ab -al -al -al -al -al -al -fy +ai +am +am +am +am +am +ao ab ab ab ab -fy -fy +ao +ao ab ab ab @@ -28546,8 +28531,8 @@ ab ab ab ab -af -af +aj +aj "} (101,1,1) = {" aa @@ -28565,213 +28550,213 @@ ab ab ab ab -ed -ed +ad +ad ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -af +aj ab -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai ab ab ab ab ab -fy -fy +ao +ao ab -al -al -al -al -al -al +ai +am +am +ai +ai +ai ab ab ab @@ -28782,7 +28767,7 @@ ab ab ab ab -cB +fw ab ab ab @@ -28803,8 +28788,8 @@ ab ab ab ab -af -af +aj +aj "} (102,1,1) = {" aa @@ -28827,206 +28812,206 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab ab -al -al -al -al -al -al -aU +ai +am +ai +am +am +ai +cu ab ab ab @@ -29060,8 +29045,8 @@ ab ab ab ab -af -af +aj +aj "} (103,1,1) = {" aa @@ -29075,7 +29060,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -29084,206 +29069,206 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai ab ab ab ab ab -al -al -al -al -al -al -aY +ai +am +am +am +am +ai +cv ab ab ab @@ -29316,9 +29301,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (104,1,1) = {" aa @@ -29332,8 +29317,8 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab @@ -29341,212 +29326,212 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai ab ab ab ab ab -al -al -al -al -al -al +ai +am +am +am +am +ai ab ab ab ab ab -fy -fy +ao +ao ab ab ab @@ -29573,9 +29558,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (105,1,1) = {" aa @@ -29589,226 +29574,226 @@ aa aa aa aa -ed -ed -ed +ad +ad +ad ab ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab -al -al -al -al -al -al -al +ai +am +am +am +am +am +ai ab ab ab ab ab -al -al -al -al -al -al -al +ai +am +ai +ai +ai +ai +ai ab ab ab @@ -29830,9 +29815,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (106,1,1) = {" aa @@ -29855,218 +29840,218 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +ai ab ab ab -al -al -al -al -al -al -al -al -al -al +ai +am +am +am +am +am +am +am +ai +ai ab ab -fy -al -al -al -al -al -al -al -al +ao +am +am +am +am +am +am +am +ai ab ab ab @@ -30087,9 +30072,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (107,1,1) = {" aa @@ -30108,222 +30093,222 @@ aa aa aa aa -ed +ad ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -af -af -af +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai ab -al +ai ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +am +am +am +am +am +am +am +am +am +ai +ai +am +am +am +am +am +am +am +am +ai ab ab ab @@ -30344,9 +30329,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (108,1,1) = {" aa @@ -30365,222 +30350,222 @@ aa aa aa aa -ed +ad ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +ai +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -30601,9 +30586,9 @@ ab ab ab ab -af -af -af +aj +aj +aj "} (109,1,1) = {" aa @@ -30626,218 +30611,218 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -30859,8 +30844,8 @@ ab ab ab ab -af -af +aj +aj "} (110,1,1) = {" aa @@ -30883,218 +30868,218 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -31116,8 +31101,8 @@ ab ab ab ab -af -af +aj +aj "} (111,1,1) = {" aa @@ -31131,227 +31116,227 @@ aa aa aa aa -ed -ed -ed -ed +ad +ad +ad +ad ab ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -31373,8 +31358,8 @@ ab ab ab ab -af -af +aj +aj "} (112,1,1) = {" aa @@ -31389,7 +31374,7 @@ aa aa aa ab -ed +ad ab ab ab @@ -31399,217 +31384,217 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -31657,216 +31642,216 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -31884,7 +31869,7 @@ ab ab ab ab -af +aj ab ab ab @@ -31902,7 +31887,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -31913,218 +31898,218 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -32141,11 +32126,11 @@ ab ab ab ab -af -af +aj +aj ab -af -af +aj +aj "} (115,1,1) = {" aa @@ -32159,229 +32144,229 @@ aa aa aa aa -ed +ad ab ab ab ab ab -ed +ad ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -32398,11 +32383,11 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (116,1,1) = {" aa @@ -32421,225 +32406,225 @@ ab ab ab ab -ed -al -al +ad +ai +ai ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -32655,11 +32640,11 @@ ab ab ab ab -af -af +aj +aj ab -af -af +aj +aj "} (117,1,1) = {" aa @@ -32673,231 +32658,231 @@ aa aa aa aa -ed +ad ab ab ab -ed -ed -al -al -ed -af -af -af -af -af -af -af -af -af -af -af +ad +ad +ai +ai +ad +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -32913,10 +32898,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (118,1,1) = {" aa @@ -32935,228 +32920,228 @@ aa ab ab ab -ed -al -al -ed -af -af -af -af -af -af -af -af -af -af -af +ad +ai +ai +ad +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai ab ab ab @@ -33170,10 +33155,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (119,1,1) = {" aa @@ -33189,232 +33174,232 @@ aa aa aa aa -ed +ad ab ab -ed -al -al +ad +ai +ai ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab @@ -33427,10 +33412,10 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj "} (120,1,1) = {" aa @@ -33446,248 +33431,248 @@ aa aa aa aa -ed +ad ab ab ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai +ai ab ab ab ab ab ab -af +aj ab ab -af -af -af -af +aj +aj +aj +aj "} (121,1,1) = {" aa @@ -33701,250 +33686,250 @@ aa aa aa aa +ae +ae +ab +ab +ab +ab +ab +ab +ab +aj +aj +ab +aj aj aj ab ab +aj +aj +aj +ab +ab +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai +ai ab ab ab ab +aj +aj ab -af -af -ab -af -af -af -ab -ab -af -af -af -ab -ab -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -ab -ab -ab -af -af -ab -af -af -af -af +aj +aj +aj +aj "} (122,1,1) = {" aa @@ -33958,250 +33943,250 @@ aa aa aa aa +ae +ae +ae +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj aj aj aj ab ab +ak +ak +ak +ak +al ab ab ab ab -ab -af -af -af -af -af -af -af -af -af -af -ab -ab al -al -al -al -ed +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab -ab -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -ab -ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj "} (123,1,1) = {" aa @@ -34215,250 +34200,250 @@ aa aa aa aa +ae +ag +ae +ae +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +aj aj -en aj aj ab ab -ab -ab -ab -af -af -af -af -af -af -af -af -af -af -af -ab -ab -al -al -al -al +ak +ak +ak +ak ab ab ab ab ab ab -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab ab ab -af -af +aj +aj ab -af -af -af -af +aj +aj +aj +aj "} (124,1,1) = {" aa @@ -34472,6 +34457,22 @@ aa aa aa aa +ae +ae +ae +ae +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj aj aj aj @@ -34479,25 +34480,9 @@ aj ab ab ab -ab -ab -af -af -af -af -af -af -af -af -af -af -af -ab -ab -ab -ed al -ed +ak +al ab ab ab @@ -34507,215 +34492,215 @@ ab ab ab ab -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +ai ab -af -af +aj +aj ab -af -af +aj +aj ab ab -af -af -af +aj +aj +aj "} (125,1,1) = {" aa @@ -34729,26 +34714,26 @@ aa aa aa aa -aj -aj -aj -aj -aj +ae +ae +ae +ae +ae ab ab aa aa -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj aa aa ab @@ -34765,214 +34750,214 @@ ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +am +aj +aj +aj +aj +aj +aj +aj ab -af -af -af +aj +aj +aj "} (126,1,1) = {" aa @@ -34986,27 +34971,27 @@ aa aa aa aa -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae aa ab ab @@ -35022,214 +35007,214 @@ ab ab ab ab -ed al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am +aj +aj +aj ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj "} (127,1,1) = {" ab @@ -35242,8 +35227,240 @@ ab ab ab ab +ac +af ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +am aj aj aj @@ -35255,238 +35472,6 @@ aj aj aj aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af "} (128,1,1) = {" aa @@ -35500,27 +35485,27 @@ aa aa aa aa -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj -aj +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae +ae aa ab ab @@ -35531,219 +35516,219 @@ ab ab ab ab -ed +al ab ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +am +am +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (129,1,1) = {" aa @@ -35757,26 +35742,26 @@ aa aa aa aa -aj -aj -aj -aj -aj +ae +ae +ae +ae +ae ab ab aa aa -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj aa aa ab @@ -35788,219 +35773,219 @@ ab ab ab ab -ed -ed +al +al ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +am +fR +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (130,1,1) = {" aa @@ -36014,250 +35999,250 @@ aa aa aa aa +ae +ae +ae +ae +ab +ab +ab +ab +ab +aj +aj +aj +ab +aj +aj +aj +aj +aj +aj +aj +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ab +ak +ab +ab +ab +ab +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +am +am +fS +aj aj aj aj aj ab -ab -ab -ab -ab -af -af -af -ab -af -af -af -af -af -af -af -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -ab -al -ab -ab -ab -ab -ab -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (131,1,1) = {" aa @@ -36271,250 +36256,250 @@ aa aa aa aa +ae +ah +ae +ae +ab +ab +ab +ab +ab aj -fx aj aj ab ab +aj ab ab -ab -af -af -af -ab -ab -af -ab -ab -af -af -af +aj +aj +aj ab ab +ak al -ed ab ab ab ab ab ab -ed al +ak +ak al -ed ab ab ab -ed al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +fS +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (132,1,1) = {" aa @@ -36528,250 +36513,250 @@ aa aa aa aa +ae +ae +ae +ab +ab +ab +ab +ab +ab +aj +aj +aj aj aj aj ab ab +aj +aj +aj ab ab -ab -ab -af -af -af -af -af -af -ab -ab -af -af -af -ab -ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +am +fS +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (133,1,1) = {" aa @@ -36785,250 +36770,250 @@ aa aa aa aa +ae +ae +ab +ab +ab +ab +ab +ab +ab +aj +aj +aj +aj +aj +aj +aj +ab +aj aj aj ab ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +am +am +fS +aj +aj +aj +aj +aj ab -ab -ab -ab -ab -af -af -af -af -af -af -af -ab -af -af -af -ab -ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -ab -af -af -af -af +aj +aj +aj +aj "} (134,1,1) = {" aa @@ -37052,240 +37037,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +am +am +am +am +am +fS +aj ab -af +aj ab -af -ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj "} (135,1,1) = {" aa @@ -37304,245 +37289,245 @@ aa aa aa aa -ed +ad ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (136,1,1) = {" aa @@ -37559,247 +37544,247 @@ aa ab ab ab -ed -ed +ad +ad ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (137,1,1) = {" aa @@ -37822,241 +37807,241 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (138,1,1) = {" aa @@ -38079,241 +38064,241 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (139,1,1) = {" aa @@ -38336,241 +38321,241 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (140,1,1) = {" aa @@ -38584,7 +38569,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -38593,241 +38578,241 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (141,1,1) = {" aa @@ -38842,7 +38827,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -38850,241 +38835,241 @@ ab ab ab ab -af -af -af +aj +aj +aj ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (142,1,1) = {" aa @@ -39099,7 +39084,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -39107,241 +39092,241 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (143,1,1) = {" aa @@ -39356,7 +39341,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -39364,241 +39349,241 @@ ab ab ab ab -af -af -af +aj +aj +aj ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (144,1,1) = {" aa @@ -39612,7 +39597,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -39621,241 +39606,241 @@ ab ab ab ab -af -af -af +aj +aj +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (145,1,1) = {" aa @@ -39878,241 +39863,241 @@ ab ab ab ab -af -af -af +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (146,1,1) = {" aa @@ -40135,241 +40120,241 @@ ab ab ab ab -af -af -af +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (147,1,1) = {" aa @@ -40383,7 +40368,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -40392,241 +40377,241 @@ ab ab ab ab -af -af -af +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -ed al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (148,1,1) = {" aa @@ -40640,250 +40625,250 @@ aa aa aa aa -ed -ed +ad +ad ab -ed +ad ab ab ab ab ab -af -af -af +aj +aj +aj ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (149,1,1) = {" aa @@ -40904,243 +40889,243 @@ aa aa aa aa -ed +ad ab -af -af -af +aj +aj +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (150,1,1) = {" aa @@ -41161,243 +41146,243 @@ aa aa aa aa -ed +ad ab -af -af -af +aj +aj +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -ed al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (151,1,1) = {" aa @@ -41415,246 +41400,246 @@ ab ab ab ab -ed -ed -ed +ad +ad +ad ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (152,1,1) = {" aa @@ -41671,9 +41656,9 @@ aa ab ab ab -ed -ed -ed +ad +ad +ad ab ab ab @@ -41681,237 +41666,237 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (153,1,1) = {" aa @@ -41937,238 +41922,238 @@ ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (154,1,1) = {" aa @@ -42182,8 +42167,8 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab @@ -42198,234 +42183,234 @@ ab ab ab ab -af -af +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (155,1,1) = {" aa @@ -42439,10 +42424,10 @@ aa aa aa aa -ed -ed -ed -ed +ad +ad +ad +ad ab ab ab @@ -42453,236 +42438,236 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (156,1,1) = {" aa @@ -42698,7 +42683,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -42708,238 +42693,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (157,1,1) = {" aa @@ -42965,238 +42950,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (158,1,1) = {" aa @@ -43222,238 +43207,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (159,1,1) = {" aa @@ -43479,238 +43464,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (160,1,1) = {" aa @@ -43724,8 +43709,8 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab @@ -43736,238 +43721,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (161,1,1) = {" aa @@ -43994,237 +43979,237 @@ ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (162,1,1) = {" aa @@ -44252,236 +44237,236 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (163,1,1) = {" aa @@ -44506,239 +44491,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (164,1,1) = {" aa @@ -44762,240 +44747,240 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af +aj +aj +aj +aj ab ab -ed al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (165,1,1) = {" aa @@ -45019,240 +45004,240 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af -af +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (166,1,1) = {" aa @@ -45272,244 +45257,244 @@ ab ab ab ab -ed -ed +ad +ad ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab -af +aj ab -af +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (167,1,1) = {" aa @@ -45528,245 +45513,245 @@ ab ab ab ab -al -al -al -al +ai +ai +ai +ai ab -af -af -af +aj +aj +aj ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj ab -af +aj ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj "} (168,1,1) = {" aa @@ -45785,245 +45770,245 @@ ab ab ab ab -al -al -al -al +ai +ai +ai +ai ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ ab -ab -ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (169,1,1) = {" aa @@ -46041,246 +46026,246 @@ ab ab ab ab -ed -al -al -al -al +ad +ai +ai +ai +ai ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ +aj +aj +aj +aj +aj ab -ab -af -af -af -af -af -ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (170,1,1) = {" aa @@ -46297,247 +46282,247 @@ aa ab ab ab -ed -ed -al -al -al -al -ed +ad +ad +ai +ai +ai +ai +ad ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (171,1,1) = {" aa @@ -46555,246 +46540,246 @@ ab ab ab ab -ed -al -al -al -al -ed -ed +ad +ai +ai +ai +ai +ad +ad ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (172,1,1) = {" aa @@ -46812,246 +46797,246 @@ ab ab ab ab -ed -al -al -al -al -ed -ed +ad +ai +ai +ai +ai +ad +ad ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj ab -af -af -af -af -af +aj +aj +aj +aj +aj "} (173,1,1) = {" aa @@ -47069,246 +47054,246 @@ ab ab ab ab -ed -al -al -al -al -ed +ad +ai +ai +ai +ai +ad ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (174,1,1) = {" aa @@ -47322,250 +47307,250 @@ aa aa aa aa -ed +ad ab ab ab -ed -al -al -al -al -ed +ad +ai +ai +ai +ai +ad ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (175,1,1) = {" aa @@ -47579,250 +47564,250 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab -al -al -al -al +ai +ai +ai +ai ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (176,1,1) = {" aa @@ -47841,245 +47826,245 @@ aa aa ab ab -al -al -al -al +ai +ai +ai +ai ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (177,1,1) = {" aa @@ -48099,244 +48084,244 @@ aa ab ab ab -ed -ed +ad +ad ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (178,1,1) = {" aa @@ -48362,238 +48347,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (179,1,1) = {" aa @@ -48610,7 +48595,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -48620,237 +48605,237 @@ ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab -ed al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (180,1,1) = {" aa @@ -48866,7 +48851,7 @@ aa aa ab ab -ed +ad ab ab ab @@ -48880,234 +48865,234 @@ ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (181,1,1) = {" aa @@ -49139,232 +49124,232 @@ ab ab ab ab -af -af +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (182,1,1) = {" aa @@ -49391,237 +49376,237 @@ ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (183,1,1) = {" aa @@ -49647,238 +49632,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (184,1,1) = {" aa @@ -49893,8 +49878,8 @@ aa aa aa ab -ed -al +ad +ai ab ab ab @@ -49904,238 +49889,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (185,1,1) = {" aa @@ -50149,9 +50134,9 @@ aa aa aa aa -ed -ed -al +ad +ad +ai ab ab ab @@ -50161,238 +50146,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (186,1,1) = {" aa @@ -50406,10 +50391,10 @@ aa aa aa aa -ed -ed -al -ed +ad +ad +ai +ad ab ab ab @@ -50418,238 +50403,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (187,1,1) = {" aa @@ -50663,10 +50648,10 @@ aa aa aa aa -ed -ed -al -ed +ad +ad +ai +ad ab ab ab @@ -50675,238 +50660,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (188,1,1) = {" aa @@ -50920,9 +50905,9 @@ aa aa aa aa -ed -ed -al +ad +ad +ai ab ab ab @@ -50931,239 +50916,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (189,1,1) = {" aa @@ -51177,7 +51162,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -51188,239 +51173,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (190,1,1) = {" aa @@ -51447,237 +51432,237 @@ ab ab ab ab -af +aj ab -af -af +aj +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (191,1,1) = {" aa @@ -51701,240 +51686,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (192,1,1) = {" aa @@ -51958,240 +51943,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (193,1,1) = {" aa @@ -52205,7 +52190,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -52215,240 +52200,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (194,1,1) = {" aa @@ -52472,240 +52457,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (195,1,1) = {" aa @@ -52729,240 +52714,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (196,1,1) = {" aa @@ -52978,7 +52963,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -52986,240 +52971,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (197,1,1) = {" aa @@ -53235,7 +53220,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -53243,240 +53228,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (198,1,1) = {" aa @@ -53490,250 +53475,250 @@ aa aa aa aa -ed -ed +ad +ad ab ab -ed -ed +ad +ad ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (199,1,1) = {" aa @@ -53757,240 +53742,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (200,1,1) = {" aa @@ -54010,244 +53995,244 @@ aa aa aa aa -ed +ad ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (201,1,1) = {" aa @@ -54267,244 +54252,244 @@ aa aa aa aa -ed +ad ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (202,1,1) = {" aa @@ -54528,240 +54513,240 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (203,1,1) = {" aa @@ -54775,9 +54760,9 @@ aa aa aa aa -ed -ed -ed +ad +ad +ad ab ab ab @@ -54787,238 +54772,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (204,1,1) = {" aa @@ -55032,7 +55017,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -55044,238 +55029,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (205,1,1) = {" aa @@ -55301,238 +55286,238 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (206,1,1) = {" aa @@ -55554,242 +55539,242 @@ ab ab ab ab -al -al +ai +ai ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (207,1,1) = {" aa @@ -55810,243 +55795,243 @@ ab ab ab ab -ed -al -al +ad +ai +ai ab ab ab -af +aj ab -af +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (208,1,1) = {" aa @@ -56068,242 +56053,242 @@ ab ab ab ab -al -al -ed +ai +ai +ad ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (209,1,1) = {" aa @@ -56326,241 +56311,241 @@ ab ab ab ab -ed +ad ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (210,1,1) = {" aa @@ -56574,7 +56559,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -56586,238 +56571,238 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (211,1,1) = {" aa @@ -56843,238 +56828,238 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (212,1,1) = {" aa @@ -57090,7 +57075,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -57100,238 +57085,238 @@ ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (213,1,1) = {" aa @@ -57347,7 +57332,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -57357,238 +57342,238 @@ ab ab ab ab -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (214,1,1) = {" aa @@ -57603,7 +57588,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -57613,239 +57598,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -ab -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (215,1,1) = {" aa @@ -57870,239 +57855,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (216,1,1) = {" aa @@ -58127,239 +58112,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (217,1,1) = {" aa @@ -58384,239 +58369,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (218,1,1) = {" aa @@ -58630,7 +58615,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -58641,239 +58626,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (219,1,1) = {" aa @@ -58887,9 +58872,9 @@ aa aa aa aa -ed -ed -ed +ad +ad +ad ab ab ab @@ -58898,239 +58883,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (220,1,1) = {" aa @@ -59144,250 +59129,250 @@ aa aa aa aa -ed -al -al -al -al +ad +ai +ai +ai +ai ab ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj "} (221,1,1) = {" aa @@ -59401,250 +59386,250 @@ aa aa aa aa -ed -al -al -al -al -ed +ad +ai +ai +ai +ai +ad ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj "} (222,1,1) = {" aa @@ -59658,250 +59643,250 @@ aa aa aa aa -ed -al -al -al -al -ed +ad +ai +ai +ai +ai +ad ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj "} (223,1,1) = {" aa @@ -59915,250 +59900,250 @@ aa aa aa aa -ed -al -al -al -al -ed +ad +ai +ai +ai +ai +ad ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (224,1,1) = {" aa @@ -60172,250 +60157,250 @@ aa aa aa aa -ed -al -al -al -al -ed +ad +ai +ai +ai +ai +ad ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (225,1,1) = {" aa @@ -60430,249 +60415,249 @@ aa aa aa ab -al -al -al -al -ed +ai +ai +ai +ai +ad ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (226,1,1) = {" aa @@ -60687,10 +60672,10 @@ aa aa aa ab -al -al -al -al +ai +ai +ai +ai ab ab ab @@ -60698,238 +60683,238 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab -ed -ed al al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (227,1,1) = {" aa @@ -60944,10 +60929,10 @@ aa aa aa ab -al -al -al -al +ai +ai +ai +ai ab ab ab @@ -60956,237 +60941,237 @@ ab ab ab ab -af -af +aj +aj ab ab ab -ed -ed -ed al al al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (228,1,1) = {" aa @@ -61211,239 +61196,239 @@ ab ab ab ab -af -af -af -af -af -af -ab -ed -ed -ab +aj +aj +aj +aj +aj +aj ab al al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al ab -af -af -af -af -af -af -af -af -af -af +ab +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (229,1,1) = {" aa @@ -61468,239 +61453,239 @@ ab ab ab ab -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -ab -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (230,1,1) = {" aa @@ -61725,239 +61710,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -ab -ab -ab -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ +fQ +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (231,1,1) = {" aa @@ -61982,239 +61967,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ab -ab -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +fQ +fQ +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (232,1,1) = {" aa @@ -62239,239 +62224,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (233,1,1) = {" aa @@ -62485,7 +62470,7 @@ aa aa aa aa -ed +ad ab ab ab @@ -62496,239 +62481,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (234,1,1) = {" aa @@ -62742,8 +62727,8 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab @@ -62753,239 +62738,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (235,1,1) = {" aa @@ -62999,10 +62984,10 @@ aa aa aa aa -ed -ed -ed -ed +ad +ad +ad +ad ab ab ab @@ -63010,239 +62995,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (236,1,1) = {" aa @@ -63256,10 +63241,10 @@ aa aa aa aa -ed -ed -ed -ed +ad +ad +ad +ad ab ab ab @@ -63267,239 +63252,239 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (237,1,1) = {" aa @@ -63516,247 +63501,247 @@ aa ab ab ab -ed -ed +ad +ad ab ab ab ab ab ab -af -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (238,1,1) = {" aa @@ -63781,239 +63766,239 @@ ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab -af -af -af -af +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (239,1,1) = {" aa @@ -64032,245 +64017,245 @@ aa aa aa aa -ed +ad ab ab ab ab ab -af -af -af -af +aj +aj +aj +aj ab ab -af -af -af +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (240,1,1) = {" aa @@ -64289,16 +64274,16 @@ aa aa aa aa -ed +ad ab ab ab ab ab ab -af +aj ab -af +aj ab ab ab @@ -64306,228 +64291,228 @@ ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (241,1,1) = {" aa @@ -64546,245 +64531,245 @@ aa aa aa aa -ed +ad ab ab ab ab ab -af -af -af -af -af +aj +aj +aj +aj +aj ab ab ab ab ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (242,1,1) = {" aa @@ -64810,238 +64795,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (243,1,1) = {" aa @@ -65067,238 +65052,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (244,1,1) = {" aa @@ -65324,238 +65309,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (245,1,1) = {" aa @@ -65581,238 +65566,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -ed al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (246,1,1) = {" aa @@ -65838,238 +65823,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (247,1,1) = {" aa @@ -66088,245 +66073,245 @@ aa aa aa aa -ed +ad ab ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (248,1,1) = {" aa @@ -66345,245 +66330,245 @@ aa aa aa aa -ed -ed +ad +ad ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (249,1,1) = {" aa @@ -66597,250 +66582,250 @@ aa aa aa aa -ed -ed -ed -ed -ed -ed +ad +ad +ad +ad +ad +ad ab ab ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (250,1,1) = {" aa @@ -66854,11 +66839,11 @@ aa aa aa aa -ed -ed +ad +ad ab ab -ed +ad ab ab ab @@ -66866,238 +66851,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -al -al -al -al -al -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (251,1,1) = {" aa @@ -67123,238 +67108,238 @@ ab ab ab ab -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -ed -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +al +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (252,1,1) = {" aa @@ -67379,239 +67364,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (253,1,1) = {" aa @@ -67625,10 +67610,10 @@ aa aa aa aa -ed -ed -ed -ed +ad +ad +ad +ad ab ab ab @@ -67636,239 +67621,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (254,1,1) = {" aa @@ -67893,239 +67878,239 @@ ab ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} (255,1,1) = {" aa @@ -68146,241 +68131,241 @@ aa aa aa aa -ed +ad ab ab ab -af -af -af -af -af -af -af -af -af +aj +aj +aj +aj +aj +aj +aj +aj +aj ab -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -al -af -af -af -af -af -af -af -af -af -af -af -af -af -af +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +ak +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj +aj "} diff --git a/code/__DEFINES/MC.dm b/code/__DEFINES/MC.dm index c33543ac4e..f5879c52b1 100644 --- a/code/__DEFINES/MC.dm +++ b/code/__DEFINES/MC.dm @@ -1,12 +1,12 @@ -#define MC_TICK_CHECK ( ( world.tick_usage > GLOB.CURRENT_TICKLIMIT || src.state != SS_RUNNING ) ? pause() : 0 ) +#define MC_TICK_CHECK ( ( world.tick_usage > Master.current_ticklimit || src.state != SS_RUNNING ) ? pause() : 0 ) -#define MC_SPLIT_TICK_INIT(phase_count) var/original_tick_limit = GLOB.CURRENT_TICKLIMIT; var/split_tick_phases = ##phase_count +#define MC_SPLIT_TICK_INIT(phase_count) var/original_tick_limit = Master.current_ticklimit; var/split_tick_phases = ##phase_count #define MC_SPLIT_TICK \ if(split_tick_phases > 1){\ - GLOB.CURRENT_TICKLIMIT = ((original_tick_limit - world.tick_usage) / split_tick_phases) + world.tick_usage;\ + Master.current_ticklimit = ((original_tick_limit - world.tick_usage) / split_tick_phases) + world.tick_usage;\ --split_tick_phases;\ } else {\ - GLOB.CURRENT_TICKLIMIT = original_tick_limit;\ + Master.current_ticklimit = original_tick_limit;\ } // Used to smooth out costs to try and avoid oscillation. diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index a3570d840d..49e03bdbdf 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -80,6 +80,15 @@ #define AI_IDLE 2 #define AI_OFF 3 +#define ENVIRONMENT_SMASH_NONE 0 + +#define ENVIRONMENT_SMASH_STRUCTURES 1 + +#define ENVIRONMENT_SMASH_WALLS 2 + +#define ENVIRONMENT_SMASH_RWALLS 3 + + //SNPCs //AI defines #define INTERACTING 2 diff --git a/code/__DEFINES/status_effects.dm b/code/__DEFINES/status_effects.dm index 69bc163234..834097bd44 100644 --- a/code/__DEFINES/status_effects.dm +++ b/code/__DEFINES/status_effects.dm @@ -39,4 +39,5 @@ #define STATUS_EFFECT_HISWRATH /datum/status_effect/his_wrath //His Wrath. -#define STATUS_EFFECT_SUMMONEDGHOST /datum/status_effect/cultghost //is a cult ghost and can't use manifest runes \ No newline at end of file +#define STATUS_EFFECT_SUMMONEDGHOST /datum/status_effect/cultghost //is a cult ghost and can't use manifest runes +#define STATUS_EFFECT_CRUSHERMARK /datum/status_effect/crusher_mark //if struck with a proto-kinetic crusher, takes a ton of damage diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 66f5960d98..8c8b360497 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -41,6 +41,7 @@ // Subsystem init_order, from highest priority to lowest priority // The numbers just define the ordering, they are meaningless otherwise. +#define INIT_ORDER_SERVER_MAINT 16 #define INIT_ORDER_JOBS 15 #define INIT_ORDER_EVENTS 14 #define INIT_ORDER_TICKER 13 diff --git a/code/__DEFINES/tick.dm b/code/__DEFINES/tick.dm index 0c8c17da6f..4c88fd643e 100644 --- a/code/__DEFINES/tick.dm +++ b/code/__DEFINES/tick.dm @@ -3,5 +3,5 @@ #define TICK_LIMIT_MC 70 #define TICK_LIMIT_MC_INIT_DEFAULT 98 -#define TICK_CHECK ( world.tick_usage > GLOB.CURRENT_TICKLIMIT ) +#define TICK_CHECK ( world.tick_usage > Master.current_ticklimit ) #define CHECK_TICK if TICK_CHECK stoplag() diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 43b657dd9c..6a4ec3456e 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -340,20 +340,20 @@ Proc for attack log creation, because really why not qdel(progbar) -//some additional checks as a callback for for do_afters that want to break on losing health or on the mob taking action -/mob/proc/break_do_after_checks(list/checked_health, check_clicks) - if(check_clicks && next_move > world.time) - return FALSE - return TRUE - -//pass a list in the format list("health" = mob's health var) to check health during this -/mob/living/break_do_after_checks(list/checked_health, check_clicks) - if(islist(checked_health)) - if(health < checked_health["health"]) - return FALSE - checked_health["health"] = health - return ..() - +//some additional checks as a callback for for do_afters that want to break on losing health or on the mob taking action +/mob/proc/break_do_after_checks(list/checked_health, check_clicks) + if(check_clicks && next_move > world.time) + return FALSE + return TRUE + +//pass a list in the format list("health" = mob's health var) to check health during this +/mob/living/break_do_after_checks(list/checked_health, check_clicks) + if(islist(checked_health)) + if(health < checked_health["health"]) + return FALSE + checked_health["health"] = health + return ..() + /proc/do_after(mob/user, delay, needhand = 1, atom/target = null, progress = 1, datum/callback/extra_checks = null) if(!user) return 0 diff --git a/code/__HELPERS/unsorted.dm b/code/__HELPERS/unsorted.dm index f35a6eaa15..ea3811085b 100644 --- a/code/__HELPERS/unsorted.dm +++ b/code/__HELPERS/unsorted.dm @@ -723,7 +723,7 @@ Turf and target are seperate in case you want to teleport some distance from a t //Irregular objects var/icon/AMicon = icon(AM.icon, AM.icon_state) var/icon/AMiconheight = AMicon.Height() - var/icon/AMiconwidth = AMicon.Width() + var/icon/AMiconwidth = AMicon.Width() if(AMiconheight != world.icon_size || AMiconwidth != world.icon_size) pixel_x_offset += ((AMicon.Width()/world.icon_size)-1)*(world.icon_size*0.5) pixel_y_offset += ((AMicon.Height()/world.icon_size)-1)*(world.icon_size*0.5) @@ -1215,7 +1215,7 @@ proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types()) . += round(i*DELTA_CALC) sleep(i*world.tick_lag*DELTA_CALC) i *= 2 - while (world.tick_usage > min(TICK_LIMIT_TO_RUN, GLOB.CURRENT_TICKLIMIT)) + while (world.tick_usage > min(TICK_LIMIT_TO_RUN, Master.current_ticklimit)) #undef DELTA_CALC diff --git a/code/_globalvars/game_modes.dm b/code/_globalvars/game_modes.dm index 806ac576d4..f5b0d8a041 100644 --- a/code/_globalvars/game_modes.dm +++ b/code/_globalvars/game_modes.dm @@ -1,4 +1,4 @@ -GLOBAL_VAR_INIT(master_mode, "traitor") //"extended" +GLOBAL_VAR_INIT(master_mode, "traitor") //"extended" GLOBAL_VAR_INIT(secret_force_mode, "secret") // if this is anything but "secret", the secret rotation will forceably choose this mode GLOBAL_VAR_INIT(wavesecret, 0) // meteor mode, delays wave progression, terrible name diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 1241708b5c..bb41c82ddb 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -161,3 +161,4 @@ GLOBAL_LIST_INIT(numbers_as_words, list("One", "Two", "Three", "Four", return L GLOBAL_LIST_INIT(station_numerals, greek_letters + phonetic_alphabet + numbers_as_words + generate_number_strings()) +GLOBAL_LIST_INIT(admiral_messages, list("Do you know how expensive these stations are?","Stop wasting my time.","I was sleeping, thanks a lot.","Stand and fight you cowards!","You knew the risks coming in.","Stop being paranoid.","Whatever's broken just build a new one.","No.", "null","Error: No comment given.", "It's a good day to die!")) diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm index 285746cbd7..fbe9584262 100644 --- a/code/_globalvars/misc.dm +++ b/code/_globalvars/misc.dm @@ -8,7 +8,7 @@ GLOBAL_VAR_INIT(fileaccess_timer, 0) GLOBAL_VAR_INIT(TAB, "    ") -GLOBAL_DATUM(data_core, /datum/datacore) +GLOBAL_DATUM_INIT(data_core, /datum/datacore, new) GLOBAL_VAR_INIT(CELLRATE, 0.002) // multiplier for watts per tick <> cell storage (eg: .002 means if there is a load of 1000 watts, 20 units will be taken from a cell per second) GLOBAL_VAR_INIT(CHARGELEVEL, 0.001) // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second) diff --git a/code/_onclick/autoclick.dm b/code/_onclick/autoclick.dm index 1ceeb182ed..7b6e2f108a 100644 --- a/code/_onclick/autoclick.dm +++ b/code/_onclick/autoclick.dm @@ -14,7 +14,7 @@ selected_target[1] = null /client/MouseDrag(src_object,atom/over_object,src_location,over_location,src_control,over_control,params) - if(selected_target[1] && over_object.IsAutoclickable()) + if(selected_target[1] && over_object && over_object.IsAutoclickable()) selected_target[1] = over_object selected_target[2] = params diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 7e2f29052f..a9f76f7f9d 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -1,149 +1,149 @@ -/* - Click code cleanup - ~Sayu -*/ - -// 1 decisecond click delay (above and beyond mob/next_move) -//This is mainly modified by click code, to modify click delays elsewhere, use next_move and changeNext_move() -/mob/var/next_click = 0 - -// THESE DO NOT EFFECT THE BASE 1 DECISECOND DELAY OF NEXT_CLICK -/mob/var/next_move_adjust = 0 //Amount to adjust action/click delays by, + or - -/mob/var/next_move_modifier = 1 //Value to multiply action/click delays by - - -//Delays the mob's next click/action by num deciseconds -// eg: 10-3 = 7 deciseconds of delay -// eg: 10*0.5 = 5 deciseconds of delay -// DOES NOT EFFECT THE BASE 1 DECISECOND DELAY OF NEXT_CLICK - -/mob/proc/changeNext_move(num) - next_move = world.time + ((num+next_move_adjust)*next_move_modifier) - - -/* - Before anything else, defer these calls to a per-mobtype handler. This allows us to - remove istype() spaghetti code, but requires the addition of other handler procs to simplify it. - - Alternately, you could hardcode every mob's variation in a flat ClickOn() proc; however, - that's a lot of code duplication and is hard to maintain. - - Note that this proc can be overridden, and is in the case of screen objects. -*/ -/atom/Click(location,control,params) - if(initialized) - usr.ClickOn(src, params) - -/atom/DblClick(location,control,params) - if(initialized) - usr.DblClickOn(src,params) - -/atom/MouseWheel(delta_x,delta_y,location,control,params) - if(initialized) - usr.MouseWheelOn(src, delta_x, delta_y, params) - -/* - Standard mob ClickOn() - Handles exceptions: Buildmode, middle click, modified clicks, mech actions - - After that, mostly just check your state, check whether you're holding an item, - check whether you're adjacent to the target, then pass off the click to whoever - is recieving it. - The most common are: - * mob/UnarmedAttack(atom,adjacent) - used here only when adjacent, with no item in hand; in the case of humans, checks gloves - * atom/attackby(item,user) - used only when adjacent - * item/afterattack(atom,user,adjacent,params) - used both ranged and adjacent - * mob/RangedAttack(atom,params) - used only ranged, only used for tk and laser eyes but could be changed -*/ -/mob/proc/ClickOn( atom/A, params ) - if(world.time <= next_click) - return - next_click = world.time + 1 - - if(client && client.click_intercept) - if(call(client.click_intercept, "InterceptClickOn")(src, params, A)) - return - - var/list/modifiers = params2list(params) - if(modifiers["shift"] && modifiers["middle"]) - ShiftMiddleClickOn(A) - return - if(modifiers["shift"] && modifiers["ctrl"]) - CtrlShiftClickOn(A) - return - if(modifiers["middle"]) - MiddleClickOn(A) - return - if(modifiers["shift"]) - ShiftClickOn(A) - return - if(modifiers["alt"]) // alt and alt-gr (rightalt) - AltClickOn(A) - return - if(modifiers["ctrl"]) - CtrlClickOn(A) - return - - if(incapacitated(ignore_restraints = 1)) - return - - face_atom(A) - - if(next_move > world.time) // in the year 2000... - return - +/* + Click code cleanup + ~Sayu +*/ + +// 1 decisecond click delay (above and beyond mob/next_move) +//This is mainly modified by click code, to modify click delays elsewhere, use next_move and changeNext_move() +/mob/var/next_click = 0 + +// THESE DO NOT EFFECT THE BASE 1 DECISECOND DELAY OF NEXT_CLICK +/mob/var/next_move_adjust = 0 //Amount to adjust action/click delays by, + or - +/mob/var/next_move_modifier = 1 //Value to multiply action/click delays by + + +//Delays the mob's next click/action by num deciseconds +// eg: 10-3 = 7 deciseconds of delay +// eg: 10*0.5 = 5 deciseconds of delay +// DOES NOT EFFECT THE BASE 1 DECISECOND DELAY OF NEXT_CLICK + +/mob/proc/changeNext_move(num) + next_move = world.time + ((num+next_move_adjust)*next_move_modifier) + + +/* + Before anything else, defer these calls to a per-mobtype handler. This allows us to + remove istype() spaghetti code, but requires the addition of other handler procs to simplify it. + + Alternately, you could hardcode every mob's variation in a flat ClickOn() proc; however, + that's a lot of code duplication and is hard to maintain. + + Note that this proc can be overridden, and is in the case of screen objects. +*/ +/atom/Click(location,control,params) + if(initialized) + usr.ClickOn(src, params) + +/atom/DblClick(location,control,params) + if(initialized) + usr.DblClickOn(src,params) + +/atom/MouseWheel(delta_x,delta_y,location,control,params) + if(initialized) + usr.MouseWheelOn(src, delta_x, delta_y, params) + +/* + Standard mob ClickOn() + Handles exceptions: Buildmode, middle click, modified clicks, mech actions + + After that, mostly just check your state, check whether you're holding an item, + check whether you're adjacent to the target, then pass off the click to whoever + is recieving it. + The most common are: + * mob/UnarmedAttack(atom,adjacent) - used here only when adjacent, with no item in hand; in the case of humans, checks gloves + * atom/attackby(item,user) - used only when adjacent + * item/afterattack(atom,user,adjacent,params) - used both ranged and adjacent + * mob/RangedAttack(atom,params) - used only ranged, only used for tk and laser eyes but could be changed +*/ +/mob/proc/ClickOn( atom/A, params ) + if(world.time <= next_click) + return + next_click = world.time + 1 + + if(client && client.click_intercept) + if(call(client.click_intercept, "InterceptClickOn")(src, params, A)) + return + + var/list/modifiers = params2list(params) + if(modifiers["shift"] && modifiers["middle"]) + ShiftMiddleClickOn(A) + return + if(modifiers["shift"] && modifiers["ctrl"]) + CtrlShiftClickOn(A) + return + if(modifiers["middle"]) + MiddleClickOn(A) + return + if(modifiers["shift"]) + ShiftClickOn(A) + return + if(modifiers["alt"]) // alt and alt-gr (rightalt) + AltClickOn(A) + return + if(modifiers["ctrl"]) + CtrlClickOn(A) + return + + if(incapacitated(ignore_restraints = 1)) + return + + face_atom(A) + + if(next_move > world.time) // in the year 2000... + return + if(A.IsObscured()) return - if(istype(loc,/obj/mecha)) - var/obj/mecha/M = loc - return M.click_action(A,src,params) - - if(restrained()) - changeNext_move(CLICK_CD_HANDCUFFED) //Doing shit in cuffs shall be vey slow - RestrainedClickOn(A) - return - - if(in_throw_mode) - throw_item(A) - return - - var/obj/item/W = get_active_held_item() - - if(W == A) - W.attack_self(src) - update_inv_hands() - return - - //These are always reachable. - //User itself, current loc, and user inventory - if(DirectAccess(A)) - if(W) - melee_item_attack_chain(src,W,A,params) - else - if(ismob(A)) - changeNext_move(CLICK_CD_MELEE) - UnarmedAttack(A) - return - - //Can't reach anything else in lockers or other weirdness - if(!loc.AllowClick()) - return - - //Standard reach turf to turf or reaching inside storage - if(CanReach(A,W)) - if(W) - melee_item_attack_chain(src,W,A,params) - else - if(ismob(A)) - changeNext_move(CLICK_CD_MELEE) - UnarmedAttack(A,1) - else - if(W) - W.afterattack(A,src,0,params) - else - RangedAttack(A,params) - + if(istype(loc,/obj/mecha)) + var/obj/mecha/M = loc + return M.click_action(A,src,params) + + if(restrained()) + changeNext_move(CLICK_CD_HANDCUFFED) //Doing shit in cuffs shall be vey slow + RestrainedClickOn(A) + return + + if(in_throw_mode) + throw_item(A) + return + + var/obj/item/W = get_active_held_item() + + if(W == A) + W.attack_self(src) + update_inv_hands() + return + + //These are always reachable. + //User itself, current loc, and user inventory + if(DirectAccess(A)) + if(W) + melee_item_attack_chain(src,W,A,params) + else + if(ismob(A)) + changeNext_move(CLICK_CD_MELEE) + UnarmedAttack(A) + return + + //Can't reach anything else in lockers or other weirdness + if(!loc.AllowClick()) + return + + //Standard reach turf to turf or reaching inside storage + if(CanReach(A,W)) + if(W) + melee_item_attack_chain(src,W,A,params) + else + if(ismob(A)) + changeNext_move(CLICK_CD_MELEE) + UnarmedAttack(A,1) + else + if(W) + W.afterattack(A,src,0,params) + else + RangedAttack(A,params) + //Is the atom obscured by a PREVENT_CLICK_UNDER object above it /atom/proc/IsObscured() if(!isturf(loc)) //This only makes sense for things directly on turfs for now @@ -162,306 +162,308 @@ return TRUE return FALSE -/atom/movable/proc/CanReach(atom/target,obj/item/tool,view_only = FALSE) - if(isturf(target) || isturf(target.loc) || DirectAccess(target)) //Directly accessible atoms - if(Adjacent(target) || (tool && CheckToolReach(src, target, tool.reach))) //Adjacent or reaching attacks - return TRUE - else - //Things inside storage insde another storage - //Eg Contents of a box in a backpack - var/atom/outer_storage = get_atom_on_turf(target) - if(outer_storage == target) //whatever that is we don't want infinite loop. - return FALSE - if(outer_storage && CanReach(outer_storage,tool) && outer_storage.CanReachStorage(target,src,view_only ? STORAGE_VIEW_DEPTH : INVENTORY_DEPTH)) - return TRUE - return FALSE - -//Can [target] in this container be reached by [user], can't be more than [depth] levels deep -/atom/proc/CanReachStorage(atom/target,user,depth) - return FALSE - -/obj/item/weapon/storage/CanReachStorage(atom/target,user,depth) - while(target && depth > 0) - target = target.loc - depth-- - if(target == src) - return TRUE - return FALSE - -/atom/movable/proc/DirectAccess(atom/target) - if(target == src) - return TRUE - if(target == loc) - return TRUE - -/mob/DirectAccess(atom/target) - if(..()) - return TRUE - if(target in contents) //This could probably use moving down and restricting to inventory only - return TRUE - return FALSE - -/mob/living/DirectAccess(atom/target) - if(..()) //Lightweight checks first - return TRUE - if(target in GetAllContents()) - return TRUE - -/atom/proc/AllowClick() - return FALSE - -/turf/AllowClick() - return TRUE - -/proc/CheckToolReach(atom/movable/here, atom/movable/there, reach) - if(!here || !there) - return - switch(reach) - if(0) - return FALSE - if(1) - return FALSE //here.Adjacent(there) - if(2 to INFINITY) - var/obj/dummy = new(get_turf(here)) - dummy.pass_flags |= PASSTABLE - dummy.invisibility = INVISIBILITY_ABSTRACT - for(var/i in 1 to reach) //Limit it to that many tries - var/turf/T = get_step(dummy, get_dir(dummy, there)) - if(dummy.CanReach(there)) - qdel(dummy) - return TRUE - if(!dummy.Move(T)) //we're blocked! - qdel(dummy) - return - qdel(dummy) - -// Default behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click) -/mob/proc/DblClickOn(atom/A, params) - return - - -/* - Translates into attack_hand, etc. - - Note: proximity_flag here is used to distinguish between normal usage (flag=1), - and usage when clicking on things telekinetically (flag=0). This proc will - not be called at ranged except with telekinesis. - - proximity_flag is not currently passed to attack_hand, and is instead used - in human click code to allow glove touches only at melee range. -*/ -/mob/proc/UnarmedAttack(atom/A, proximity_flag) - if(ismob(A)) - changeNext_move(CLICK_CD_MELEE) - return - -/* - Ranged unarmed attack: - - This currently is just a default for all mobs, involving - laser eyes and telekinesis. You could easily add exceptions - for things like ranged glove touches, spitting alien acid/neurotoxin, - animals lunging, etc. -*/ -/mob/proc/RangedAttack(atom/A, params) -/* - Restrained ClickOn - - Used when you are handcuffed and click things. - Not currently used by anything but could easily be. -*/ -/mob/proc/RestrainedClickOn(atom/A) - return - -/* - Middle click - Only used for swapping hands -*/ -/mob/proc/MiddleClickOn(atom/A) - return - -/mob/living/carbon/MiddleClickOn(atom/A) - if(!src.stat && src.mind && src.mind.changeling && src.mind.changeling.chosen_sting && (istype(A, /mob/living/carbon)) && (A != src)) - next_click = world.time + 5 - mind.changeling.chosen_sting.try_to_sting(src, A) - else - swap_hand() - -/mob/living/simple_animal/drone/MiddleClickOn(atom/A) - swap_hand() - -// In case of use break glass -/* -/atom/proc/MiddleClick(mob/M as mob) - return -*/ - -/* - Shift click - For most mobs, examine. - This is overridden in ai.dm -*/ -/mob/proc/ShiftClickOn(atom/A) - A.ShiftClick(src) - return -/atom/proc/ShiftClick(mob/user) - if(user.client && user.client.eye == user || user.client.eye == user.loc) - user.examinate(src) - return - -/* - Ctrl click - For most objects, pull -*/ - -/mob/proc/CtrlClickOn(atom/A) - A.CtrlClick(src) - return - -/atom/proc/CtrlClick(mob/user) - var/mob/living/ML = user - if(istype(ML)) - ML.pulled(src) - -/mob/living/carbon/human/CtrlClick(mob/user) - if(ishuman(user) && Adjacent(user)) - var/mob/living/carbon/human/H = user +/atom/movable/proc/CanReach(atom/target,obj/item/tool,view_only = FALSE) + if(isturf(target) || isturf(target.loc) || DirectAccess(target)) //Directly accessible atoms + if(Adjacent(target) || (tool && CheckToolReach(src, target, tool.reach))) //Adjacent or reaching attacks + return TRUE + else + //Things inside storage insde another storage + //Eg Contents of a box in a backpack + var/atom/outer_storage = get_atom_on_turf(target) + if(outer_storage == target) //whatever that is we don't want infinite loop. + return FALSE + if(outer_storage && CanReach(outer_storage,tool) && outer_storage.CanReachStorage(target,src,view_only ? STORAGE_VIEW_DEPTH : INVENTORY_DEPTH)) + return TRUE + return FALSE + +//Can [target] in this container be reached by [user], can't be more than [depth] levels deep +/atom/proc/CanReachStorage(atom/target,user,depth) + return FALSE + +/obj/item/weapon/storage/CanReachStorage(atom/target,user,depth) + while(target && depth > 0) + target = target.loc + depth-- + if(target == src) + return TRUE + return FALSE + +/atom/movable/proc/DirectAccess(atom/target) + if(target == src) + return TRUE + if(target == loc) + return TRUE + +/mob/DirectAccess(atom/target) + if(..()) + return TRUE + if(target in contents) //This could probably use moving down and restricting to inventory only + return TRUE + return FALSE + +/mob/living/DirectAccess(atom/target) + if(..()) //Lightweight checks first + return TRUE + if(target in GetAllContents()) + return TRUE + +/atom/proc/AllowClick() + return FALSE + +/turf/AllowClick() + return TRUE + +/proc/CheckToolReach(atom/movable/here, atom/movable/there, reach) + if(!here || !there) + return + switch(reach) + if(0) + return FALSE + if(1) + return FALSE //here.Adjacent(there) + if(2 to INFINITY) + var/obj/dummy = new(get_turf(here)) + dummy.pass_flags |= PASSTABLE + dummy.invisibility = INVISIBILITY_ABSTRACT + for(var/i in 1 to reach) //Limit it to that many tries + var/turf/T = get_step(dummy, get_dir(dummy, there)) + if(dummy.CanReach(there)) + qdel(dummy) + return TRUE + if(!dummy.Move(T)) //we're blocked! + qdel(dummy) + return + qdel(dummy) + +// Default behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click) +/mob/proc/DblClickOn(atom/A, params) + return + + +/* + Translates into attack_hand, etc. + + Note: proximity_flag here is used to distinguish between normal usage (flag=1), + and usage when clicking on things telekinetically (flag=0). This proc will + not be called at ranged except with telekinesis. + + proximity_flag is not currently passed to attack_hand, and is instead used + in human click code to allow glove touches only at melee range. +*/ +/mob/proc/UnarmedAttack(atom/A, proximity_flag) + if(ismob(A)) + changeNext_move(CLICK_CD_MELEE) + return + +/* + Ranged unarmed attack: + + This currently is just a default for all mobs, involving + laser eyes and telekinesis. You could easily add exceptions + for things like ranged glove touches, spitting alien acid/neurotoxin, + animals lunging, etc. +*/ +/mob/proc/RangedAttack(atom/A, params) +/* + Restrained ClickOn + + Used when you are handcuffed and click things. + Not currently used by anything but could easily be. +*/ +/mob/proc/RestrainedClickOn(atom/A) + return + +/* + Middle click + Only used for swapping hands +*/ +/mob/proc/MiddleClickOn(atom/A) + return + +/mob/living/carbon/MiddleClickOn(atom/A) + if(!src.stat && src.mind && src.mind.changeling && src.mind.changeling.chosen_sting && (istype(A, /mob/living/carbon)) && (A != src)) + next_click = world.time + 5 + mind.changeling.chosen_sting.try_to_sting(src, A) + else + swap_hand() + +/mob/living/simple_animal/drone/MiddleClickOn(atom/A) + swap_hand() + +// In case of use break glass +/* +/atom/proc/MiddleClick(mob/M as mob) + return +*/ + +/* + Shift click + For most mobs, examine. + This is overridden in ai.dm +*/ +/mob/proc/ShiftClickOn(atom/A) + A.ShiftClick(src) + return +/atom/proc/ShiftClick(mob/user) + if(user.client && user.client.eye == user || user.client.eye == user.loc) + user.examinate(src) + return + +/* + Ctrl click + For most objects, pull +*/ + +/mob/proc/CtrlClickOn(atom/A) + A.CtrlClick(src) + return + +/atom/proc/CtrlClick(mob/user) + var/mob/living/ML = user + if(istype(ML)) + ML.pulled(src) + +/mob/living/carbon/human/CtrlClick(mob/user) + if(ishuman(user) && Adjacent(user)) + if(world.time < user.next_move) + return FALSE + var/mob/living/carbon/human/H = user H.dna.species.grab(H, src, H.mind.martial_art) - H.next_click = world.time + CLICK_CD_MELEE - else - ..() -/* - Alt click - Unused except for AI -*/ -/mob/proc/AltClickOn(atom/A) - A.AltClick(src) - return - -/mob/living/carbon/AltClickOn(atom/A) - if(!src.stat && src.mind && src.mind.changeling && src.mind.changeling.chosen_sting && (istype(A, /mob/living/carbon)) && (A != src)) - next_click = world.time + 5 - mind.changeling.chosen_sting.try_to_sting(src, A) - else - ..() - -/atom/proc/AltClick(mob/user) - var/turf/T = get_turf(src) - if(T && user.TurfAdjacent(T)) - if(user.listed_turf == T) - user.listed_turf = null - else - user.listed_turf = T - user.client.statpanel = T.name - return - -/mob/proc/TurfAdjacent(turf/T) - return T.Adjacent(src) - -/* - Control+Shift click - Unused except for AI -*/ -/mob/proc/CtrlShiftClickOn(atom/A) - A.CtrlShiftClick(src) - return - -/mob/proc/ShiftMiddleClickOn(atom/A) - src.pointed(A) - return - -/atom/proc/CtrlShiftClick(mob/user) - return - -/* - Misc helpers - - Laser Eyes: as the name implies, handles this since nothing else does currently - face_atom: turns the mob towards what you clicked on -*/ -/mob/proc/LaserEyes(atom/A) - return - -/mob/living/LaserEyes(atom/A) - changeNext_move(CLICK_CD_RANGE) - var/turf/T = get_turf(src) - var/turf/U = get_turf(A) - - var/obj/item/projectile/beam/LE = new /obj/item/projectile/beam( loc ) - LE.icon = 'icons/effects/genetics.dmi' - LE.icon_state = "eyelasers" - playsound(usr.loc, 'sound/weapons/taser2.ogg', 75, 1) - - LE.firer = src - LE.def_zone = get_organ_target() - LE.original = A - LE.current = T - LE.yo = U.y - T.y - LE.xo = U.x - T.x - LE.fire() - -// Simple helper to face what you clicked on, in case it should be needed in more than one place -/mob/proc/face_atom(atom/A) - if( buckled || stat != CONSCIOUS || !A || !x || !y || !A.x || !A.y ) - return - var/dx = A.x - x - var/dy = A.y - y - if(!dx && !dy) // Wall items are graphically shifted but on the floor - if(A.pixel_y > 16) - setDir(NORTH) - else if(A.pixel_y < -16) - setDir(SOUTH) - else if(A.pixel_x > 16) - setDir(EAST) - else if(A.pixel_x < -16) - setDir(WEST) - return - - if(abs(dx) < abs(dy)) - if(dy > 0) - setDir(NORTH) - else - setDir(SOUTH) - else - if(dx > 0) - setDir(EAST) - else - setDir(WEST) - -/obj/screen/click_catcher - icon = 'icons/mob/screen_gen.dmi' - icon_state = "click_catcher" - plane = CLICKCATCHER_PLANE - mouse_opacity = 2 - screen_loc = "CENTER" - -/obj/screen/click_catcher/New() - ..() - transform = matrix(200, 0, 0, 0, 200, 0) - -/obj/screen/click_catcher/Click(location, control, params) - var/list/modifiers = params2list(params) - if(modifiers["middle"] && istype(usr, /mob/living/carbon)) - var/mob/living/carbon/C = usr - C.swap_hand() - else - var/turf/T = params2turf(modifiers["screen-loc"], get_turf(usr)) - if(T) - T.Click(location, control, params) - . = 1 - - -/* MouseWheelOn */ - -/mob/proc/MouseWheelOn(atom/A, delta_x, delta_y, params) - return - -/mob/dead/observer/MouseWheelOn(atom/A, delta_x, delta_y, params) - var/list/modifier = params2list(params) - if(modifier["shift"]) - var/view = 0 - if(delta_y > 0) - view = -1 - else - view = 1 - add_view_range(view) + H.changeNext_move(CLICK_CD_MELEE) + else + ..() +/* + Alt click + Unused except for AI +*/ +/mob/proc/AltClickOn(atom/A) + A.AltClick(src) + return + +/mob/living/carbon/AltClickOn(atom/A) + if(!src.stat && src.mind && src.mind.changeling && src.mind.changeling.chosen_sting && (istype(A, /mob/living/carbon)) && (A != src)) + next_click = world.time + 5 + mind.changeling.chosen_sting.try_to_sting(src, A) + else + ..() + +/atom/proc/AltClick(mob/user) + var/turf/T = get_turf(src) + if(T && user.TurfAdjacent(T)) + if(user.listed_turf == T) + user.listed_turf = null + else + user.listed_turf = T + user.client.statpanel = T.name + return + +/mob/proc/TurfAdjacent(turf/T) + return T.Adjacent(src) + +/* + Control+Shift click + Unused except for AI +*/ +/mob/proc/CtrlShiftClickOn(atom/A) + A.CtrlShiftClick(src) + return + +/mob/proc/ShiftMiddleClickOn(atom/A) + src.pointed(A) + return + +/atom/proc/CtrlShiftClick(mob/user) + return + +/* + Misc helpers + + Laser Eyes: as the name implies, handles this since nothing else does currently + face_atom: turns the mob towards what you clicked on +*/ +/mob/proc/LaserEyes(atom/A) + return + +/mob/living/LaserEyes(atom/A) + changeNext_move(CLICK_CD_RANGE) + var/turf/T = get_turf(src) + var/turf/U = get_turf(A) + + var/obj/item/projectile/beam/LE = new /obj/item/projectile/beam( loc ) + LE.icon = 'icons/effects/genetics.dmi' + LE.icon_state = "eyelasers" + playsound(usr.loc, 'sound/weapons/taser2.ogg', 75, 1) + + LE.firer = src + LE.def_zone = get_organ_target() + LE.original = A + LE.current = T + LE.yo = U.y - T.y + LE.xo = U.x - T.x + LE.fire() + +// Simple helper to face what you clicked on, in case it should be needed in more than one place +/mob/proc/face_atom(atom/A) + if( buckled || stat != CONSCIOUS || !A || !x || !y || !A.x || !A.y ) + return + var/dx = A.x - x + var/dy = A.y - y + if(!dx && !dy) // Wall items are graphically shifted but on the floor + if(A.pixel_y > 16) + setDir(NORTH) + else if(A.pixel_y < -16) + setDir(SOUTH) + else if(A.pixel_x > 16) + setDir(EAST) + else if(A.pixel_x < -16) + setDir(WEST) + return + + if(abs(dx) < abs(dy)) + if(dy > 0) + setDir(NORTH) + else + setDir(SOUTH) + else + if(dx > 0) + setDir(EAST) + else + setDir(WEST) + +/obj/screen/click_catcher + icon = 'icons/mob/screen_gen.dmi' + icon_state = "click_catcher" + plane = CLICKCATCHER_PLANE + mouse_opacity = 2 + screen_loc = "CENTER" + +/obj/screen/click_catcher/New() + ..() + transform = matrix(200, 0, 0, 0, 200, 0) + +/obj/screen/click_catcher/Click(location, control, params) + var/list/modifiers = params2list(params) + if(modifiers["middle"] && istype(usr, /mob/living/carbon)) + var/mob/living/carbon/C = usr + C.swap_hand() + else + var/turf/T = params2turf(modifiers["screen-loc"], get_turf(usr)) + if(T) + T.Click(location, control, params) + . = 1 + + +/* MouseWheelOn */ + +/mob/proc/MouseWheelOn(atom/A, delta_x, delta_y, params) + return + +/mob/dead/observer/MouseWheelOn(atom/A, delta_x, delta_y, params) + var/list/modifier = params2list(params) + if(modifier["shift"]) + var/view = 0 + if(delta_y > 0) + view = -1 + else + view = 1 + add_view_range(view) diff --git a/code/_onclick/telekinesis.dm b/code/_onclick/telekinesis.dm index 90b3983d82..c7ad66440e 100644 --- a/code/_onclick/telekinesis.dm +++ b/code/_onclick/telekinesis.dm @@ -13,7 +13,7 @@ /atom/proc/attack_tk(mob/user) if(user.stat) return - new /obj/effect/overlay/temp/telekinesis(loc) + new /obj/effect/temp_visual/telekinesis(loc) user.UnarmedAttack(src,0) // attack_hand, attack_paw, etc return @@ -163,7 +163,7 @@ /obj/item/tk_grab/proc/apply_focus_overlay() if(!focus) return - new /obj/effect/overlay/temp/telekinesis(get_turf(focus)) + new /obj/effect/temp_visual/telekinesis(get_turf(focus)) /obj/item/tk_grab/update_icon() cut_overlays() diff --git a/code/citadel/cit_arousal.dm b/code/citadel/cit_arousal.dm index d0268d0bec..a69411f32b 100644 --- a/code/citadel/cit_arousal.dm +++ b/code/citadel/cit_arousal.dm @@ -254,16 +254,34 @@ "You cum into [SC].", \ "You have relieved yourself.") finished = 1 - + + if(/obj/item/organ/genital/vagina) + var/obj/item/organ/genital/vagina/V = SG + if(!V.linked_womb) + src << "No womb!" + return + fluid_source = V.linked_womb.reagents + total_cum = fluid_source.total_volume + if(into_container)//into a glass or beaker or whatever + src.visible_message("[src] starts fingering their vagina over [SC].", \ + "You start fingering over [SC.name].", \ + "You start masturbating.") + if(do_after(src, mb_time, target = src) && in_range(src, SC)) + fluid_source.trans_to(SC, total_cum) + src.visible_message("[src] orgasms, [pick("cumming into", "emptying themself into")] [SC]!", \ + "You cum into [SC].", \ + "You have relieved yourself.") + finished = 1 + else//not into a container - src.visible_message("[src] starts [pick("jerking off","stroking")] their [pick(GLOB.dick_nouns)].", \ - "You start jerking off your [pick(GLOB.dick_nouns)].", \ + src.visible_message("[src] starts fingering their vagina.", \ + "You start fingering your vagina.", \ "You start masturbating.") if(do_after(src, mb_time, target = src)) if(total_cum > 5) fluid_source.reaction(src.loc, TOUCH, 1, 0) fluid_source.clear_reagents() - src.visible_message("[src] orgasms, [pick("shooting cum", "draining their balls")][istype(src.loc, /turf/open/floor) ? " onto [src.loc]" : ""]!", \ + src.visible_message("[src] orgasms, cumming[istype(src.loc, /turf/open/floor) ? " onto [src.loc]" : ""]!", \ "You cum[istype(src.loc, /turf/open/floor) ? " onto [src.loc]" : ""].", \ "You have relieved yourself.") finished = 1 diff --git a/code/citadel/cit_reagents.dm b/code/citadel/cit_reagents.dm index 794a3ad553..8718ebb19f 100644 --- a/code/citadel/cit_reagents.dm +++ b/code/citadel/cit_reagents.dm @@ -80,7 +80,7 @@ var/obj/effect/decal/cleanable/femcum/S = locate() in T if(!S) S = new(T) - S.reagents.add_reagent("semen", reac_volume) + S.reagents.add_reagent("femcum", reac_volume) if(data["blood_DNA"]) S.blood_DNA[data["blood_DNA"]] = data["blood_type"] @@ -219,4 +219,4 @@ results = list("anaphro+" = 1) required_reagents = list("anaphro" = 5, "acetone" = 1) required_temp = 300 - mix_message = "The mixture thickens and heats up slighty..." \ No newline at end of file + mix_message = "The mixture thickens and heats up slighty..." diff --git a/code/citadel/organs/womb.dm b/code/citadel/organs/womb.dm index 948bc33385..e1ea02a230 100644 --- a/code/citadel/organs/womb.dm +++ b/code/citadel/organs/womb.dm @@ -6,8 +6,28 @@ zone = "groin" slot = "womb" w_class = 3 + var/internal = FALSE fluid_id = "femcum" + producing = TRUE var/obj/item/organ/genital/vagina/linked_vag + +/obj/item/organ/genital/womb/Initialize() + . = ..() + reagents.add_reagent(fluid_id, fluid_max_volume) + +/obj/item/organ/genital/womb/on_life() + if(QDELETED(src)) + return + if(reagents && producing) + generate_femcum() + +/obj/item/organ/genital/womb/proc/generate_femcum() + reagents.maximum_volume = fluid_max_volume + update_link() + if(!linked_vag) + return FALSE + reagents.isolate_reagent(fluid_id)//remove old reagents if it changed and just clean up generally + reagents.add_reagent(fluid_id, (fluid_mult * fluid_rate))//generate the cum /obj/item/organ/genital/womb/update_link() if(owner) @@ -25,4 +45,4 @@ linked_vag = null /obj/item/organ/genital/womb/Destroy() - return ..() \ No newline at end of file + return ..() diff --git a/code/controllers/master.dm b/code/controllers/master.dm index a220c2530c..0f4ae021ad 100644 --- a/code/controllers/master.dm +++ b/code/controllers/master.dm @@ -14,15 +14,6 @@ GLOBAL_REAL(Master, /datum/controller/master) = new //Master -> SSPreInit -> GLOB -> world -> config -> SSInit -> Failsafe //GOT IT MEMORIZED? -GLOBAL_VAR_INIT(MC_restart_clear, 0) -GLOBAL_VAR_INIT(MC_restart_timeout, 0) -GLOBAL_VAR_INIT(MC_restart_count, 0) - - -//current tick limit, assigned by the queue controller before running a subsystem. -//used by check_tick as well so that the procs subsystems call can obey that SS's tick limits -GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) - /datum/controller/master name = "Master" @@ -59,6 +50,14 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) var/current_runlevel //for scheduling different subsystems for different stages of the round + var/static/restart_clear = 0 + var/static/restart_timeout = 0 + var/static/restart_count = 0 + + //current tick limit, assigned before running a subsystem. + //used by CHECK_TICK as well so that the procs subsystems call can obey that SS's tick limits + var/static/current_ticklimit = TICK_LIMIT_RUNNING + /datum/controller/master/New() // Highlander-style: there can only be one! Kill off the old and replace it with the new. subsystems = list() @@ -83,20 +82,21 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) sortTim(subsystems, /proc/cmp_subsystem_init) reverseRange(subsystems) for(var/datum/controller/subsystem/ss in subsystems) + testing("Shutdown [ss.name] subsystem") ss.Shutdown() // Returns 1 if we created a new mc, 0 if we couldn't due to a recent restart, // -1 if we encountered a runtime trying to recreate it /proc/Recreate_MC() . = -1 //so if we runtime, things know we failed - if (world.time < GLOB.MC_restart_timeout) + if (world.time < Master.restart_timeout) return 0 - if (world.time < GLOB.MC_restart_clear) - GLOB.MC_restart_count *= 0.5 + if (world.time < Master.restart_clear) + Master.restart_count *= 0.5 - var/delay = 50 * ++GLOB.MC_restart_count - GLOB.MC_restart_timeout = world.time + delay - GLOB.MC_restart_clear = world.time + (delay * 2) + var/delay = 50 * ++Master.restart_count + Master.restart_timeout = world.time + delay + Master.restart_clear = world.time + (delay * 2) Master.processing = 0 //stop ticking this one try new/datum/controller/master() @@ -139,6 +139,7 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) if(FireHim) Master.subsystems += new BadBoy.type //NEW_SS_GLOBAL will remove the old one subsystems = Master.subsystems + current_runlevel = Master.current_runlevel StartProcessing(10) else to_chat(world, "The Master Controller is having some issues, we will need to re-initialize EVERYTHING") @@ -163,13 +164,13 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) var/start_timeofday = REALTIMEOFDAY // Initialize subsystems. - GLOB.CURRENT_TICKLIMIT = config.tick_limit_mc_init + current_ticklimit = config.tick_limit_mc_init for (var/datum/controller/subsystem/SS in subsystems) if (SS.flags & SS_NO_INIT) continue SS.Initialize(REALTIMEOFDAY) CHECK_TICK - GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING + current_ticklimit = TICK_LIMIT_RUNNING var/time = (REALTIMEOFDAY - start_timeofday) / 10 var/msg = "Initializations complete within [time] second[time == 1 ? "" : "s"]!" @@ -204,6 +205,7 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) set waitfor = 0 if(delay) sleep(delay) + testing("Master starting processing") var/rtn = Loop() if (rtn > 0 || processing < 0) return //this was suppose to happen. @@ -274,7 +276,7 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) while (1) tickdrift = max(0, MC_AVERAGE_FAST(tickdrift, (((REALTIMEOFDAY - init_timeofday) - (world.time - init_time)) / world.tick_lag))) if (processing <= 0) - GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING + current_ticklimit = TICK_LIMIT_RUNNING sleep(10) continue @@ -282,7 +284,7 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) // because sleeps are processed in the order received, so longer sleeps are more likely to run first if (world.tick_usage > TICK_LIMIT_MC) sleep_delta += 2 - GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING * 0.5 + current_ticklimit = TICK_LIMIT_RUNNING * 0.5 sleep(world.tick_lag * (processing + sleep_delta)) continue @@ -320,7 +322,7 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) if (!error_level) iteration++ error_level++ - GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING + current_ticklimit = TICK_LIMIT_RUNNING sleep(10) continue @@ -332,7 +334,7 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) if (!error_level) iteration++ error_level++ - GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING + current_ticklimit = TICK_LIMIT_RUNNING sleep(10) continue error_level-- @@ -343,7 +345,7 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) iteration++ last_run = world.time src.sleep_delta = MC_AVERAGE_FAST(src.sleep_delta, sleep_delta) - GLOB.CURRENT_TICKLIMIT = TICK_LIMIT_RUNNING - (TICK_LIMIT_RUNNING * 0.25) //reserve the tail 1/4 of the next tick for the mc. + current_ticklimit = TICK_LIMIT_RUNNING - (TICK_LIMIT_RUNNING * 0.25) //reserve the tail 1/4 of the next tick for the mc. sleep(world.tick_lag * (processing + sleep_delta)) @@ -434,7 +436,7 @@ GLOBAL_VAR_INIT(CURRENT_TICKLIMIT, TICK_LIMIT_RUNNING) tick_precentage = max(tick_precentage*0.5, tick_precentage-queue_node.tick_overrun) - GLOB.CURRENT_TICKLIMIT = round(world.tick_usage + tick_precentage) + current_ticklimit = round(world.tick_usage + tick_precentage) if (!(queue_node_flags & SS_TICKER)) ran_non_ticker = TRUE diff --git a/code/controllers/subsystem/atoms.dm b/code/controllers/subsystem/atoms.dm index 0391f6ba70..48bdbad112 100644 --- a/code/controllers/subsystem/atoms.dm +++ b/code/controllers/subsystem/atoms.dm @@ -150,7 +150,7 @@ SUBSYSTEM_DEF(atoms) /datum/controller/subsystem/atoms/Shutdown() var/initlog = InitLog() if(initlog) - text2file("[GLOB.log_directory]/initialize.log", initlog) + text2file(initlog, "[GLOB.log_directory]/initialize.log") #undef BAD_INIT_QDEL_BEFORE #undef BAD_INIT_DIDNT_INIT diff --git a/code/controllers/subsystem/blackbox.dm b/code/controllers/subsystem/blackbox.dm index b30bc41759..fa0b86a908 100644 --- a/code/controllers/subsystem/blackbox.dm +++ b/code/controllers/subsystem/blackbox.dm @@ -2,7 +2,7 @@ SUBSYSTEM_DEF(blackbox) name = "Blackbox" wait = 6000 flags = SS_NO_TICK_CHECK - + var/list/msg_common = list() var/list/msg_science = list() var/list/msg_command = list() @@ -42,7 +42,6 @@ SUBSYSTEM_DEF(blackbox) msg_cargo = SSblackbox.msg_cargo msg_other = SSblackbox.msg_other - feedback = SSblackbox.feedback //no touchie @@ -55,6 +54,8 @@ SUBSYSTEM_DEF(blackbox) return FALSE /datum/controller/subsystem/blackbox/Shutdown() + set_val("ahelp_unresolved", GLOB.ahelp_tickets.active_tickets.len) + var/pda_msg_amt = 0 var/rc_msg_amt = 0 @@ -84,20 +85,16 @@ SUBSYSTEM_DEF(blackbox) if (!SSdbcore.Connect()) return - - var/sqlrowlist = "" + + var/list/sqlrowlist = list() for (var/datum/feedback_variable/FV in feedback) - if (sqlrowlist != "") - sqlrowlist += ", " //a comma (,) at the start of the first row to insert will trigger a SQL error + sqlrowlist += list("time" = "Now()", "round_id" = GLOB.round_id, "var_name" = "'[sanitizeSQL(FV.get_variable())]'", "var_value" = FV.get_value(), "details" = "'[sanitizeSQL(FV.get_details())]'") - sqlrowlist += list(list("time" = "Now()", "round_id" = GLOB.round_id, "var_name" = "'[sanitizeSQL(FV.get_variable())]'", "var_value" = FV.get_value(), "details" = "'[sanitizeSQL(FV.get_details())]'")) - - if (sqlrowlist == "") + if (!length(sqlrowlist)) return - var/datum/DBQuery/query_feedback_save = SSdbcore.NewQuery("INSERT DELAYED IGNORE INTO [format_table_name("feedback")] VALUES " + sqlrowlist) - query_feedback_save.Execute() + SSdbcore.MassInsert(format_table_name("feedback"), sqlrowlist, ignore_errors = TRUE, delayed = TRUE) /datum/controller/subsystem/blackbox/proc/LogBroadcast(blackbox_msg, freq) switch(freq) diff --git a/code/controllers/subsystem/garbage.dm b/code/controllers/subsystem/garbage.dm index 84d79009c0..2611bc53e6 100644 --- a/code/controllers/subsystem/garbage.dm +++ b/code/controllers/subsystem/garbage.dm @@ -61,7 +61,7 @@ SUBSYSTEM_DEF(garbage) for(var/path in sleptDestroy) dellog += "Path : [path] \n" dellog += "Sleeps : [sleptDestroy[path]] \n" - text2file("[GLOB.log_directory]/qdel.log", dellog.Join()) + text2file(dellog.Join(), "[GLOB.log_directory]/qdel.log") /datum/controller/subsystem/garbage/fire() HandleToBeQueued() diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm index 85c580f4d9..6dde8e6b2d 100644 --- a/code/controllers/subsystem/mapping.dm +++ b/code/controllers/subsystem/mapping.dm @@ -43,7 +43,7 @@ SUBSYSTEM_DEF(mapping) loading_ruins = TRUE var/mining_type = config.minetype if (mining_type == "lavaland") - seedRuins(list(5), global.config.lavaland_budget, /area/lavaland/surface/outdoors, lava_ruins_templates) + seedRuins(list(5), global.config.lavaland_budget, /area/lavaland/surface/outdoors/unexplored, lava_ruins_templates) spawn_rivers() // deep space ruins @@ -113,9 +113,9 @@ SUBSYSTEM_DEF(mapping) /datum/controller/subsystem/mapping/proc/loadWorld() //if any of these fail, something has gone horribly, HORRIBLY, wrong var/list/FailedZs = list() - + var/start_time = REALTIMEOFDAY - + INIT_ANNOUNCE("Loading [config.map_name]...") TryLoadZ(config.GetFullMapPath(), FailedZs, ZLEVEL_STATION) INIT_ANNOUNCE("Loaded station in [(REALTIMEOFDAY - start_time)/10]s!") diff --git a/code/controllers/subsystem/server_maint.dm b/code/controllers/subsystem/server_maint.dm index a0ca6a7b67..2abd8b1c25 100644 --- a/code/controllers/subsystem/server_maint.dm +++ b/code/controllers/subsystem/server_maint.dm @@ -5,6 +5,7 @@ SUBSYSTEM_DEF(server_maint) wait = 6 flags = SS_POST_FIRE_TIMING priority = 10 + init_order = INIT_ORDER_SERVER_MAINT runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT var/list/currentrun @@ -16,7 +17,7 @@ SUBSYSTEM_DEF(server_maint) /datum/controller/subsystem/server_maint/fire(resumed = FALSE) if(!resumed) src.currentrun = GLOB.clients.Copy() - + var/list/currentrun = src.currentrun var/round_started = SSticker.HasRoundStarted() @@ -37,4 +38,11 @@ SUBSYSTEM_DEF(server_maint) if (MC_TICK_CHECK) //one day, when ss13 has 1000 people per server, you guys are gonna be glad I added this tick check return -#undef PING_BUFFER_TIME +/datum/controller/subsystem/server_maint/Shutdown() + kick_clients_in_lobby("The round came to an end with you in the lobby.", TRUE) //second parameter ensures only afk clients are kicked + for(var/thing in GLOB.clients) + var/client/C = thing + if(C && config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite + C << link("byond://[config.server]") + +#undef PING_BUFFER_TIME \ No newline at end of file diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index a3d47b465e..61f93dcc1b 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -217,7 +217,27 @@ SUBSYSTEM_DEF(shuttle) emergency.request(null, signal_origin, html_decode(emergency_reason), 0) log_game("[key_name(user)] has called the shuttle.") - message_admins("[key_name_admin(user)] has called the shuttle.") + message_admins("[key_name_admin(user)] has called the shuttle. (TRIGGER CENTCOM RECALL)") + +/datum/controller/subsystem/shuttle/proc/centcom_recall(old_timer, admiral_message) + if(emergency.mode != SHUTTLE_CALL || emergency.timer != old_timer) + return + emergency.cancel(/area/centcom) + + if(!admiral_message) + admiral_message = pick(GLOB.admiral_messages) + var/intercepttext = "NanoTrasen Update: Request For Shuttle.
\ + To whom it may concern:

\ + We have taken note of the situation upon [station_name()] and have come to the \ + conclusion that it does not warrant the abandonment of the station.
\ + If you do not agree with our opinion we suggest that you open a direct \ + line with us and explain the nature of your crisis.

\ + This message has been automatically generated based upon readings from long \ + range diagnostic tools. To assure the quality of your request every finalized report \ + is reviewed by an on-call rear admiral.
\ + Rear Admiral's Notes: \ + [admiral_message]" + print_command_report(intercepttext, announce = TRUE) // Called when an emergency shuttle mobile docking port is // destroyed, which will only happen with admin intervention @@ -523,4 +543,3 @@ SUBSYSTEM_DEF(shuttle) for(var/obj/docking_port/mobile/M in mobile) if(M.is_in_shuttle_bounds(A)) return TRUE - \ No newline at end of file diff --git a/code/controllers/subsystem/ticker.dm b/code/controllers/subsystem/ticker.dm index e8d575a517..a54c74966a 100644 --- a/code/controllers/subsystem/ticker.dm +++ b/code/controllers/subsystem/ticker.dm @@ -20,6 +20,7 @@ SUBSYSTEM_DEF(ticker) var/login_music //music played in pregame lobby var/round_end_sound //music/jingle played when the world reboots + var/round_end_sound_sent = TRUE //If all clients have loaded it var/list/datum/mind/minds = list() //The characters in the game. Used for objective tracking. @@ -63,6 +64,7 @@ SUBSYSTEM_DEF(ticker) var/modevoted = FALSE //Have we sent a vote for the gamemode? /datum/controller/subsystem/ticker/Initialize(timeofday) + load_mode() var/list/music = world.file2list(ROUND_START_MUSIC_LIST, "\n") login_music = pick(music) @@ -637,9 +639,9 @@ SUBSYSTEM_DEF(ticker) sleep(50) if(mode.station_was_nuked) - world.Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke") + Reboot("Station destroyed by Nuclear Device.", "end_proper", "nuke") else - world.Reboot("Round ended.", "end_proper", "proper completion") + Reboot("Round ended.", "end_proper", "proper completion") /datum/controller/subsystem/ticker/proc/send_tip_of_the_round() var/m @@ -806,3 +808,69 @@ SUBSYSTEM_DEF(ticker) start_at = world.time + newtime else timeLeft = newtime + +/datum/controller/subsystem/ticker/proc/load_mode() + var/mode = trim(file2text("data/mode.txt")) + if(mode) + GLOB.master_mode = mode + else + GLOB.master_mode = "extended" + log_game("Saved mode is '[GLOB.master_mode]'") + +/datum/controller/subsystem/ticker/proc/save_mode(the_mode) + var/F = file("data/mode.txt") + fdel(F) + F << the_mode + +/datum/controller/subsystem/ticker/proc/SetRoundEndSound(the_sound) + set waitfor = FALSE + round_end_sound_sent = FALSE + round_end_sound = fcopy_rsc(the_sound) + for(var/thing in GLOB.clients) + var/client/C = thing + if (!C) + continue + C.Export("##action=load_rsc", round_end_sound) + round_end_sound_sent = TRUE + +/datum/controller/subsystem/ticker/proc/Reboot(reason, feedback_c, feedback_r, delay) + set waitfor = FALSE + if(usr && !check_rights(R_SERVER, TRUE)) + return + + if(!delay) + delay = config.round_end_countdown * 10 + + if(delay_end) + to_chat(world, "An admin has delayed the round end.") + return + + to_chat(world, "Rebooting World in [delay/10] [(delay >= 10 && delay < 20) ? "second" : "seconds"]. [reason]") + + var/start_wait = world.time + UNTIL(round_end_sound_sent && (world.time - start_wait) > (delay * 2)) //don't wait forever + sleep(delay - (world.time - start_wait)) + + if(delay_end) + to_chat(world, "Reboot was cancelled by an admin.") + return + + SSblackbox.set_details("[feedback_c]","[feedback_r]") + + log_game("Rebooting World. [reason]") + + world.Reboot() + +/datum/controller/subsystem/ticker/Shutdown() + if(!round_end_sound) + round_end_sound = pick(\ + 'sound/roundend/newroundsexy.ogg', + 'sound/roundend/apcdestroyed.ogg', + 'sound/roundend/bangindonk.ogg', + 'sound/roundend/leavingtg.ogg', + 'sound/roundend/its_only_game.ogg', + 'sound/roundend/yeehaw.ogg', + 'sound/roundend/disappointed.ogg'\ + ) + + world << sound(round_end_sound) \ No newline at end of file diff --git a/code/controllers/subsystem/title.dm b/code/controllers/subsystem/title.dm index d9f4ef9938..6c5466d8d9 100644 --- a/code/controllers/subsystem/title.dm +++ b/code/controllers/subsystem/title.dm @@ -55,6 +55,12 @@ SUBSYSTEM_DEF(title) var/F = file("data/previous_title.dat") F << file_path + for(var/thing in GLOB.clients) + if(!thing) + continue + var/obj/screen/splash/S = new(thing, FALSE) + S.Fade(FALSE,FALSE) + /datum/controller/subsystem/title/Recover() icon = SStitle.icon splash_turf = SStitle.splash_turf diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index 99234b05ed..deea959c00 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -2,9 +2,9 @@ SUBSYSTEM_DEF(vote) name = "Vote" wait = 10 - flags = SS_KEEP_TIMING|SS_NO_INIT - - runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT + flags = SS_KEEP_TIMING|SS_NO_INIT + + runlevels = RUNLEVEL_LOBBY | RUNLEVELS_DEFAULT var/initiator = null var/started_time = null @@ -120,13 +120,13 @@ SUBSYSTEM_DEF(vote) if(SSticker && SSticker.mode)//Don't change the mode if the round already started. return message_admins("A vote has tried to change the gamemode, but the game has already started. Aborting.") GLOB.master_mode = . - world.save_mode(.) + SSticker.save_mode(.) to_chat(world, "The mode is now: [GLOB.master_mode]") log_admin("Gamemode has been voted for and switched to: [GLOB.master_mode].") if("gamemode") if(GLOB.master_mode != .) - world.save_mode(.) - if(SSticker.HasRoundStarted()) + SSticker.save_mode(.) + if(SSticker.HasRoundStarted()) restart = 1 else GLOB.master_mode = . @@ -137,7 +137,7 @@ SUBSYSTEM_DEF(vote) active_admins = 1 break if(!active_admins) - world.Reboot("Restart vote successful.", "end_error", "restart vote") + SSticker.Reboot("Restart vote successful.", "end_error", "restart vote") else to_chat(world, "Notice:Restart vote will not restart the server automatically because there are active admins on.") message_admins("A restart vote has passed, but there are active admins on with +server, so it has been canceled. If you wish, you may restart the server.") diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index 834d6c864d..f4f4543ad3 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -36,7 +36,7 @@ Bonus /datum/symptom/heal/proc/Heal(mob/living/M, datum/disease/advance/A) var/heal_amt = 0.5 if(M.toxloss > 0 && prob(20)) - new /obj/effect/overlay/temp/heal(get_turf(M), "#66FF99") + new /obj/effect/temp_visual/heal(get_turf(M), "#66FF99") M.adjustToxLoss(-heal_amt) return 1 @@ -67,7 +67,7 @@ Bonus /datum/symptom/heal/plus/Heal(mob/living/M, datum/disease/advance/A) var/heal_amt = 1 if(M.toxloss > 0 && prob(20)) - new /obj/effect/overlay/temp/heal(get_turf(M), "#00FF00") + new /obj/effect/temp_visual/heal(get_turf(M), "#00FF00") M.adjustToxLoss(-heal_amt) return 1 @@ -110,7 +110,7 @@ Bonus M.update_damage_overlays() if(prob(20)) - new /obj/effect/overlay/temp/heal(get_turf(M), "#FF3333") + new /obj/effect/temp_visual/heal(get_turf(M), "#FF3333") return 1 @@ -148,7 +148,7 @@ Bonus if(M.getCloneLoss() > 0) M.adjustCloneLoss(-1) M.take_bodypart_damage(0, 1) //Deals BURN damage, which is not cured by this symptom - new /obj/effect/overlay/temp/heal(get_turf(M), "#33FFCC") + new /obj/effect/temp_visual/heal(get_turf(M), "#33FFCC") if(!parts.len) return @@ -158,7 +158,7 @@ Bonus M.update_damage_overlays() if(prob(20)) - new /obj/effect/overlay/temp/heal(get_turf(M), "#CC1100") + new /obj/effect/temp_visual/heal(get_turf(M), "#CC1100") return 1 @@ -201,7 +201,7 @@ Bonus M.update_damage_overlays() if(prob(20)) - new /obj/effect/overlay/temp/heal(get_turf(M), "#FF9933") + new /obj/effect/temp_visual/heal(get_turf(M), "#FF9933") return 1 @@ -248,7 +248,7 @@ Bonus M.update_damage_overlays() if(prob(20)) - new /obj/effect/overlay/temp/heal(get_turf(M), "#CC6600") + new /obj/effect/temp_visual/heal(get_turf(M), "#CC6600") return 1 diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 5b7d015e19..f24ad5f7c3 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -166,4 +166,30 @@ /datum/status_effect/cultghost //is a cult ghost and can't use manifest runes id = "cult_ghost" duration = -1 - alert_type = null \ No newline at end of file + alert_type = null +/datum/status_effect/crusher_mark + id = "crusher_mark" + duration = 30 //if you leave for 30 seconds you lose the mark, deal with it + status_type = STATUS_EFFECT_REPLACE + alert_type = null + var/mutable_appearance/marked_underlay + var/obj/item/weapon/twohanded/required/mining_hammer/hammer_synced + +/datum/status_effect/crusher_mark/on_apply() + if(owner.mob_size >= MOB_SIZE_LARGE) + marked_underlay = mutable_appearance('icons/effects/effects.dmi', "shield2") + marked_underlay.pixel_x = -owner.pixel_x + marked_underlay.pixel_y = -owner.pixel_y + owner.underlays += marked_underlay + return FALSE + +/datum/status_effect/crusher_mark/Destroy() + hammer_synced = null + if(owner) + owner.underlays -= marked_underlay + QDEL_NULL(marked_underlay) + return ..() + +/datum/status_effect/crusher_mark/be_replaced() + owner.underlays -= marked_underlay //if this is being called, we should have an owner at this point. + ..() diff --git a/code/game/area/areas/mining.dm b/code/game/area/areas/mining.dm index 7272694476..48271f479d 100644 --- a/code/game/area/areas/mining.dm +++ b/code/game/area/areas/mining.dm @@ -116,5 +116,11 @@ name = "Lavaland Wastes" outdoors = 1 +/area/lavaland/surface/outdoors/unexplored //monsters and ruins spawn here + icon_state = "unexplored" + +/area/lavaland/surface/outdoors/unexplored/danger //megafauna will also spawn here + icon_state = "danger" + /area/lavaland/surface/outdoors/explored name = "Lavaland Labor Camp" \ No newline at end of file diff --git a/code/game/gamemodes/blob/blobs/blob_mobs.dm b/code/game/gamemodes/blob/blobs/blob_mobs.dm index 46853995cb..4f36685439 100644 --- a/code/game/gamemodes/blob/blobs/blob_mobs.dm +++ b/code/game/gamemodes/blob/blobs/blob_mobs.dm @@ -32,7 +32,7 @@ /mob/living/simple_animal/hostile/blob/blob_act(obj/structure/blob/B) if(stat != DEAD && health < maxHealth) for(var/i in 1 to 2) - var/obj/effect/overlay/temp/heal/H = new /obj/effect/overlay/temp/heal(get_turf(src)) //hello yes you are being healed + var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(src)) //hello yes you are being healed if(overmind) H.color = overmind.blob_reagent_datum.complementary_color else @@ -91,7 +91,7 @@ melee_damage_lower = 2 melee_damage_upper = 4 obj_damage = 20 - environment_smash = 1 + environment_smash = ENVIRONMENT_SMASH_STRUCTURES attacktext = "hits" attack_sound = 'sound/weapons/genhit1.ogg' movement_type = FLYING diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index f9eb16c7a9..e80e92337e 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -140,7 +140,7 @@ loc.blob_act(src) //don't ask how a wall got on top of the core, just eat it /obj/structure/blob/proc/blob_attack_animation(atom/A = null, controller) //visually attacks an atom - var/obj/effect/overlay/temp/blob/O = new /obj/effect/overlay/temp/blob(src.loc) + var/obj/effect/temp_visual/blob/O = new /obj/effect/temp_visual/blob(src.loc) O.setDir(dir) if(controller) var/mob/camera/blob/BO = controller @@ -208,7 +208,7 @@ if(overmind) overmind.blob_reagent_datum.emp_reaction(src, severity) if(prob(100 - severity * 30)) - new /obj/effect/overlay/temp/emp(get_turf(src)) + new /obj/effect/temp_visual/emp(get_turf(src)) /obj/structure/blob/tesla_act(power) ..() diff --git a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm index cf709f09b0..7d8c3eb1f9 100644 --- a/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm +++ b/code/game/gamemodes/clock_cult/clock_effects/clock_sigils.dm @@ -73,7 +73,7 @@ L.visible_message("[src] appears around [L] in a burst of light!", \ "[target_flashed ? "An unseen force":"The glowing sigil around you"] holds you in place!") L.Stun(5) - new /obj/effect/overlay/temp/ratvar/sigil/transgression(get_turf(src)) + new /obj/effect/temp_visual/ratvar/sigil/transgression(get_turf(src)) qdel(src) @@ -102,7 +102,7 @@ L.visible_message("[src] begins to glow a piercing magenta!", "You feel something start to invade your mind...") var/oldcolor = color animate(src, color = "#AF0AAF", time = convert_time) - var/obj/effect/overlay/temp/ratvar/sigil/glow + var/obj/effect/temp_visual/ratvar/sigil/glow if(glow_type) glow = new glow_type(get_turf(src)) animate(glow, alpha = 255, time = convert_time) @@ -158,7 +158,7 @@ light_color = "#A97F1B" delete_on_finish = FALSE sigil_name = "Sigil of Accession" - glow_type = /obj/effect/overlay/temp/ratvar/sigil/accession + glow_type = /obj/effect/temp_visual/ratvar/sigil/accession resist_string = "glows bright orange" /obj/effect/clockwork/sigil/submission/accession/post_channel(mob/living/L) @@ -321,14 +321,14 @@ while(L && (!is_servant_of_ratvar(L) || (is_servant_of_ratvar(L) && (GLOB.ratvar_awakens || vitality))) && get_turf(L) == get_turf(src)) sigil_active = TRUE if(animation_number >= 4) - new /obj/effect/overlay/temp/ratvar/sigil/vitality(get_turf(src)) + new /obj/effect/temp_visual/ratvar/sigil/vitality(get_turf(src)) animation_number = 0 animation_number++ if(!is_servant_of_ratvar(L)) var/vitality_drained = 0 if(L.stat == DEAD) vitality_drained = L.maxHealth - var/obj/effect/overlay/temp/ratvar/sigil/vitality/V = new /obj/effect/overlay/temp/ratvar/sigil/vitality(get_turf(src)) + var/obj/effect/temp_visual/ratvar/sigil/vitality/V = new /obj/effect/temp_visual/ratvar/sigil/vitality(get_turf(src)) animate(V, alpha = 0, transform = matrix()*2, time = 8) playsound(L, 'sound/magic/WandODeath.ogg', 50, 1) L.visible_message("[L] collapses in on [L.p_them()]self as [src] flares bright blue!") @@ -356,7 +356,7 @@ if(ghost) ghost.reenter_corpse() L.revive(1, 1) - var/obj/effect/overlay/temp/ratvar/sigil/vitality/V = new /obj/effect/overlay/temp/ratvar/sigil/vitality(get_turf(src)) + var/obj/effect/temp_visual/ratvar/sigil/vitality/V = new /obj/effect/temp_visual/ratvar/sigil/vitality(get_turf(src)) animate(V, alpha = 0, transform = matrix()*2, time = 8) playsound(L, 'sound/magic/Staff_Healing.ogg', 50, 1) L.visible_message("[L] suddenly gets back up, [GLOB.ratvar_awakens ? "[L.p_their()] body dripping blue ichor":"even as [src] scatters into blue sparks around [L.p_them()]"]!", \ diff --git a/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm b/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm index 120ed0ff60..ec35ae4c5b 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/component_helpers.dm @@ -124,15 +124,15 @@ /proc/get_component_animation_type(id) switch(id) if(BELLIGERENT_EYE) - return /obj/effect/overlay/temp/ratvar/component + return /obj/effect/temp_visual/ratvar/component if(VANGUARD_COGWHEEL) - return /obj/effect/overlay/temp/ratvar/component/cogwheel + return /obj/effect/temp_visual/ratvar/component/cogwheel if(GEIS_CAPACITOR) - return /obj/effect/overlay/temp/ratvar/component/capacitor + return /obj/effect/temp_visual/ratvar/component/capacitor if(REPLICANT_ALLOY) - return /obj/effect/overlay/temp/ratvar/component/alloy + return /obj/effect/temp_visual/ratvar/component/alloy if(HIEROPHANT_ANSIBLE) - return /obj/effect/overlay/temp/ratvar/component/ansible + return /obj/effect/temp_visual/ratvar/component/ansible else return null diff --git a/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm b/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm index 5ede091ca4..3e7d0f3779 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/proselytizer_helpers.dm @@ -5,60 +5,60 @@ //otherwise, return literally any non-list thing but preferably FALSE //returning TRUE won't produce the "cannot be proselytized" message and will still prevent proselytizing -/atom/proc/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/atom/proc/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE //Turf conversion -/turf/closed/wall/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) //four sheets of metal +/turf/closed/wall/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) //four sheets of metal return list("operation_time" = 50, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL - (POWER_METAL * 4), "spawn_dir" = SOUTH) -/turf/closed/wall/mineral/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) //two sheets of metal +/turf/closed/wall/mineral/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) //two sheets of metal return list("operation_time" = 50, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL - (POWER_METAL * 2), "spawn_dir" = SOUTH) -/turf/closed/wall/mineral/iron/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) //two sheets of metal, five rods +/turf/closed/wall/mineral/iron/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) //two sheets of metal, five rods return list("operation_time" = 50, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL - (POWER_METAL * 2) - (POWER_ROD * 5), "spawn_dir" = SOUTH) -/turf/closed/wall/mineral/cult/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) //no metal +/turf/closed/wall/mineral/cult/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) //no metal return list("operation_time" = 80, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL, "spawn_dir" = SOUTH) -/turf/closed/wall/shuttle/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) //two sheets of metal +/turf/closed/wall/shuttle/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) //two sheets of metal return list("operation_time" = 50, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_TOTAL - (POWER_METAL * 2), "spawn_dir" = SOUTH) -/turf/closed/wall/r_wall/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/turf/closed/wall/r_wall/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE -/turf/closed/wall/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/turf/closed/wall/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return list("operation_time" = 50, "new_obj_type" = /turf/open/floor/clockwork, "power_cost" = -POWER_WALL_MINUS_FLOOR, "spawn_dir" = SOUTH) -/turf/open/floor/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/turf/open/floor/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) if(floor_tile == /obj/item/stack/tile/plasteel) new floor_tile(src) make_plating() playsound(src, 'sound/items/Crowbar.ogg', 10, 1) //clink return list("operation_time" = 30, "new_obj_type" = /turf/open/floor/clockwork, "power_cost" = POWER_FLOOR, "spawn_dir" = SOUTH) -/turf/open/floor/plating/asteroid/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/turf/open/floor/plating/asteroid/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE -/turf/open/floor/plating/ashplanet/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/turf/open/floor/plating/ashplanet/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE -/turf/open/floor/plating/lava/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/turf/open/floor/plating/lava/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE -/turf/open/floor/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/turf/open/floor/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) if(locate(/obj/structure/table) in src) return FALSE if(is_blocked_turf(src, TRUE)) to_chat(user, "Something is in the way, preventing you from proselytizing [src] into a clockwork wall.") return TRUE var/operation_time = 100 - if(!GLOB.ratvar_awakens && proselytizer.speed_multiplier > 0) //if ratvar isn't awake, this always takes 10 seconds + if(proselytizer.speed_multiplier > 0) operation_time /= proselytizer.speed_multiplier return list("operation_time" = operation_time, "new_obj_type" = /turf/closed/wall/clockwork, "power_cost" = POWER_WALL_MINUS_FLOOR, "spawn_dir" = SOUTH) //False wall conversion -/obj/structure/falsewall/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/falsewall/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) var/cost = POWER_WALL_MINUS_FLOOR if(ispath(mineral, /obj/item/stack/sheet/metal)) cost -= (POWER_METAL * (2 + mineral_amount)) //four sheets of metal, plus an assumption that the girder is also two @@ -66,17 +66,17 @@ cost -= (POWER_METAL * 2) //anything that doesn't use metal just has the girder return list("operation_time" = 50, "new_obj_type" = /obj/structure/falsewall/brass, "power_cost" = cost, "spawn_dir" = SOUTH) -/obj/structure/falsewall/iron/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) //two sheets of metal, two rods; special assumption +/obj/structure/falsewall/iron/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) //two sheets of metal, two rods; special assumption return list("operation_time" = 50, "new_obj_type" = /obj/structure/falsewall/brass, "power_cost" = POWER_WALL_MINUS_FLOOR - (POWER_METAL * 2) - (POWER_ROD * 2), "spawn_dir" = SOUTH) -/obj/structure/falsewall/reinforced/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/falsewall/reinforced/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE -/obj/structure/falsewall/brass/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/falsewall/brass/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE //Metal conversion -/obj/item/stack/tile/plasteel/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/item/stack/tile/plasteel/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) if(source) return FALSE var/amount_temp = get_amount() @@ -90,7 +90,7 @@ no_delete = TRUE use(amount_temp) amount_temp *= 12.5 //each tile is 12.5 power so this is 2 tiles to 25 power - return list("operation_time" = 0, "new_obj_type" = /obj/effect/overlay/temp/ratvar/beam/itemconsume, "power_cost" = -amount_temp, "spawn_dir" = SOUTH, "no_target_deletion" = no_delete) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -amount_temp, "spawn_dir" = SOUTH, "no_target_deletion" = no_delete) if(amount_temp >= 20) var/sheets_to_make = round(amount_temp * 0.05) //and 20 to 1 brass var/used = sheets_to_make * 20 @@ -104,11 +104,11 @@ to_chat(user, "You need at least 20 floor tiles to convert into brass.") return TRUE -/obj/item/stack/rods/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/item/stack/rods/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) if(source) return FALSE if(proselytizer.metal_to_power) - return list("operation_time" = 0, "new_obj_type" = /obj/effect/overlay/temp/ratvar/beam/itemconsume, "power_cost" = -(amount*POWER_ROD), "spawn_dir" = SOUTH) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -(amount*POWER_ROD), "spawn_dir" = SOUTH) if(get_amount() >= 10) var/sheets_to_make = round(get_amount() * 0.1) var/used = sheets_to_make * 10 @@ -122,11 +122,11 @@ to_chat(user, "You need at least 10 rods to convert into brass.") return TRUE -/obj/item/stack/sheet/metal/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/item/stack/sheet/metal/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) if(source) return FALSE if(proselytizer.metal_to_power) - return list("operation_time" = 0, "new_obj_type" = /obj/effect/overlay/temp/ratvar/beam/itemconsume, "power_cost" = -(amount*POWER_METAL), "spawn_dir" = SOUTH) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -(amount*POWER_METAL), "spawn_dir" = SOUTH) if(get_amount() >= 5) var/sheets_to_make = round(get_amount() * 0.2) var/used = sheets_to_make * 5 @@ -140,11 +140,11 @@ to_chat(user, "You need at least 5 sheets of metal to convert into brass.") return TRUE -/obj/item/stack/sheet/plasteel/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/item/stack/sheet/plasteel/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) if(source) return FALSE if(proselytizer.metal_to_power) - return list("operation_time" = 0, "new_obj_type" = /obj/effect/overlay/temp/ratvar/beam/itemconsume, "power_cost" = -(amount*POWER_PLASTEEL), "spawn_dir" = SOUTH) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -(amount*POWER_PLASTEEL), "spawn_dir" = SOUTH) if(get_amount() >= 2) var/sheets_to_make = round(get_amount() * 0.5) var/used = sheets_to_make * 2 @@ -159,23 +159,23 @@ return TRUE //Brass directly to power -/obj/item/stack/tile/brass/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/item/stack/tile/brass/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) if(source) return FALSE - return list("operation_time" = 0, "new_obj_type" = /obj/effect/overlay/temp/ratvar/beam/itemconsume, "power_cost" = -(amount*POWER_FLOOR), "spawn_dir" = SOUTH) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -(amount*POWER_FLOOR), "spawn_dir" = SOUTH) //Airlock conversion -/obj/machinery/door/airlock/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/machinery/door/airlock/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) var/doortype = /obj/machinery/door/airlock/clockwork if(glass) doortype = /obj/machinery/door/airlock/clockwork/brass return list("operation_time" = 60, "new_obj_type" = doortype, "power_cost" = POWER_WALL_TOTAL, "spawn_dir" = dir) -/obj/machinery/door/airlock/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/machinery/door/airlock/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE //Table conversion -/obj/structure/table/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/table/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) var/prosel_cost = POWER_STANDARD if(framestack == /obj/item/stack/rods) prosel_cost -= POWER_ROD*framestackamount @@ -187,10 +187,10 @@ prosel_cost -= POWER_PLASTEEL*buildstackamount return list("operation_time" = 20, "new_obj_type" = /obj/structure/table/reinforced/brass, "power_cost" = prosel_cost, "spawn_dir" = SOUTH) -/obj/structure/table/reinforced/brass/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/table/reinforced/brass/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE -/obj/structure/table_frame/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/table_frame/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) var/prosel_cost = POWER_FLOOR if(framestack == /obj/item/stack/rods) prosel_cost -= POWER_ROD*framestackamount @@ -198,11 +198,11 @@ prosel_cost -= POWER_FLOOR*framestackamount return list("operation_time" = 10, "new_obj_type" = /obj/structure/table_frame/brass, "power_cost" = prosel_cost, "spawn_dir" = SOUTH) -/obj/structure/table_frame/brass/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/table_frame/brass/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE //Window conversion -/obj/structure/window/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/window/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) var/windowtype = /obj/structure/window/reinforced/clockwork var/new_dir = TRUE var/prosel_time = 15 @@ -220,18 +220,18 @@ INVOKE_ASYNC(proselytizer, /obj/item/clockwork/clockwork_proselytizer.proc/proselytize, G, user) return list("operation_time" = prosel_time, "new_obj_type" = windowtype, "power_cost" = prosel_cost, "spawn_dir" = dir, "dir_in_new" = new_dir) -/obj/structure/window/reinforced/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/window/reinforced/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE //Windoor conversion -/obj/machinery/door/window/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/machinery/door/window/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return list("operation_time" = 30, "new_obj_type" = /obj/machinery/door/window/clockwork, "power_cost" = POWER_STANDARD, "spawn_dir" = dir, "dir_in_new" = TRUE) -/obj/machinery/door/window/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/machinery/door/window/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE //Grille conversion -/obj/structure/grille/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/grille/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) var/grilletype = /obj/structure/grille/ratvar var/prosel_time = 15 if(broken) @@ -239,32 +239,32 @@ prosel_time = 5 return list("operation_time" = prosel_time, "new_obj_type" = grilletype, "power_cost" = 0, "spawn_dir" = dir) -/obj/structure/grille/ratvar/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/grille/ratvar/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE //Lattice conversion -/obj/structure/lattice/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/lattice/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return list("operation_time" = 0, "new_obj_type" = /obj/structure/lattice/clockwork, "power_cost" = 0, "spawn_dir" = SOUTH, "no_target_deletion" = TRUE) -/obj/structure/lattice/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/lattice/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) ratvar_act() //just in case we're the wrong type for some reason?? return FALSE -/obj/structure/lattice/catwalk/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/lattice/catwalk/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return list("operation_time" = 0, "new_obj_type" = /obj/structure/lattice/catwalk/clockwork, "power_cost" = 0, "spawn_dir" = SOUTH, "no_target_deletion" = TRUE) -/obj/structure/lattice/catwalk/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/lattice/catwalk/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) return FALSE //Girder conversion -/obj/structure/girder/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/girder/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) var/prosel_cost = POWER_GEAR - (POWER_METAL * 2) if(state == GIRDER_REINF_STRUTS || state == GIRDER_REINF) prosel_cost -= POWER_PLASTEEL return list("operation_time" = 20, "new_obj_type" = /obj/structure/destructible/clockwork/wall_gear, "power_cost" = prosel_cost, "spawn_dir" = SOUTH) //Hitting a clockwork structure will try to repair it. -/obj/structure/destructible/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/structure/destructible/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) . = TRUE var/list/repair_values = list() if(!proselytizer.proselytizer_repair_checks(repair_values, src, user)) @@ -287,7 +287,7 @@ "You finish repairing [src]. It is now at [obj_integrity]/[max_integrity] integrity.") //Hitting a sigil of transmission will try to charge from it. -/obj/effect/clockwork/sigil/transmission/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/obj/effect/clockwork/sigil/transmission/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) . = TRUE var/list/charge_values = list() if(!proselytizer.sigil_charge_checks(charge_values, src, user)) @@ -337,7 +337,7 @@ adjustHealth(-amount) //Hitting a ratvar'd silicon will also try to repair it. -/mob/living/silicon/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/mob/living/silicon/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) . = TRUE if(health == maxHealth) //if we're at maximum health, prosel the turf under us return FALSE @@ -346,7 +346,7 @@ "You finish repairin[src == user ? "g yourself. You are":"g [src]. [p_they(TRUE)] [p_are()]"] now at [abs(HEALTH_THRESHOLD_DEAD - health)]/[abs(HEALTH_THRESHOLD_DEAD - maxHealth)] health.") //Same with clockwork mobs. -/mob/living/simple_animal/hostile/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/mob/living/simple_animal/hostile/clockwork/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) . = TRUE if(health == maxHealth) //if we're at maximum health, prosel the turf under us return FALSE @@ -355,7 +355,7 @@ "You finish repairin[src == user ? "g yourself. You are":"g [src]. [p_they(TRUE)] [p_are()]"] now at [health]/[maxHealth] health.") //Cogscarabs get special interaction because they're drones and have innate self-heals/revives. -/mob/living/simple_animal/drone/cogscarab/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent) +/mob/living/simple_animal/drone/cogscarab/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) . = TRUE if(stat == DEAD) try_reactivate(user) //if we're at maximum health, prosel the turf under us @@ -374,36 +374,17 @@ proselytizer.repairing = null //Convert shards and gear bits directly to power -/obj/item/clockwork/alloy_shards/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent, power_amount) - if(!power_amount) - power_amount = -POWER_STANDARD - if(proselytizer.can_use_power(power_amount)) - var/obj/effect/overlay/temp/ratvar/beam/itemconsume/B = new /obj/effect/overlay/temp/ratvar/beam/itemconsume(get_turf(src)) - B.pixel_x = pixel_x - B.pixel_y = pixel_y - if(!silent) //looper no looping - for(var/obj/item/clockwork/alloy_shards/S in get_turf(src)) //convert all other shards in the turf if we can - if(S == src) - continue //we want the shards to be proselytized after the main shard, thus this delay - addtimer(CALLBACK(proselytizer, /obj/item/clockwork/clockwork_proselytizer.proc/proselytize, S, user, TRUE), 0) - return list("operation_time" = 0, "new_obj_type" = null, "power_cost" = power_amount, "spawn_dir" = SOUTH) +/obj/item/clockwork/alloy_shards/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -POWER_STANDARD, "spawn_dir" = SOUTH) -/obj/item/clockwork/alloy_shards/medium/gear_bit/large/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent, power_amount) - if(!power_amount) - power_amount = -(CLOCKCULT_POWER_UNIT*0.08) - return ..() +/obj/item/clockwork/alloy_shards/medium/gear_bit/large/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -(CLOCKCULT_POWER_UNIT*0.08), "spawn_dir" = SOUTH) -/obj/item/clockwork/alloy_shards/large/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent, power_amount) - if(!power_amount) - power_amount = -(CLOCKCULT_POWER_UNIT*0.06) - return ..() +/obj/item/clockwork/alloy_shards/large/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -(CLOCKCULT_POWER_UNIT*0.06), "spawn_dir" = SOUTH) -/obj/item/clockwork/alloy_shards/medium/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent, power_amount) - if(!power_amount) - power_amount = -(CLOCKCULT_POWER_UNIT*0.04) - return ..() +/obj/item/clockwork/alloy_shards/medium/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -(CLOCKCULT_POWER_UNIT*0.04), "spawn_dir" = SOUTH) -/obj/item/clockwork/alloy_shards/small/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer, silent, power_amount) - if(!power_amount) - power_amount = -(CLOCKCULT_POWER_UNIT*0.02) - return ..() +/obj/item/clockwork/alloy_shards/small/proselytize_vals(mob/living/user, obj/item/clockwork/clockwork_proselytizer/proselytizer) + return list("operation_time" = 0, "new_obj_type" = /obj/effect/temp_visual/ratvar/beam/itemconsume, "power_cost" = -(CLOCKCULT_POWER_UNIT*0.02), "spawn_dir" = SOUTH) \ No newline at end of file diff --git a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm index 57a68078df..ccf7aead44 100644 --- a/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm +++ b/code/game/gamemodes/clock_cult/clock_helpers/slab_abilities.dm @@ -124,7 +124,7 @@ L.adjustToxLoss(totaldamage * 0.5, TRUE, TRUE) var/healseverity = max(round(totaldamage*0.05, 1), 1) //shows the general severity of the damage you just healed, 1 glow per 20 for(var/i in 1 to healseverity) - new /obj/effect/overlay/temp/heal(targetturf, "#1E8CE1") + new /obj/effect/temp_visual/heal(targetturf, "#1E8CE1") clockwork_say(ranged_ability_user, text2ratvar("Mend wounded flesh!")) add_logs(ranged_ability_user, L, "healed with Sentinel's Compromise") else @@ -173,7 +173,7 @@ if(usable_power > 0 && C.cell.use(usable_power)) multiplier += (usable_power * 0.001) qdel(VC) - new/obj/effect/overlay/temp/ratvar/volt_hit/true(targetturf, ranged_ability_user, multiplier) + new/obj/effect/temp_visual/ratvar/volt_hit/true(targetturf, ranged_ability_user, multiplier) add_logs(ranged_ability_user, targetturf, "fired a volt ray") remove_ranged_ability() diff --git a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm index 976cd1cb4b..a54b019d53 100644 --- a/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm +++ b/code/game/gamemodes/clock_cult/clock_items/ratvarian_spear.dm @@ -96,13 +96,13 @@ impale_cooldown = world.time + initial(impale_cooldown) attack_cooldown = world.time + initial(attack_cooldown) //can't attack until we're done impaling if(target) - new /obj/effect/overlay/temp/dir_setting/bloodsplatter(get_turf(target), get_dir(user, target)) + new /obj/effect/temp_visual/dir_setting/bloodsplatter(get_turf(target), get_dir(user, target)) target.Stun(2) //brief stun to_chat(user, "You prepare to remove your ratvarian spear from [target]...") var/remove_verb = pick("pull", "yank", "drag") if(do_after(user, 10, 1, target)) var/turf/T = get_turf(target) - var/obj/effect/overlay/temp/dir_setting/bloodsplatter/B = new /obj/effect/overlay/temp/dir_setting/bloodsplatter(T, get_dir(target, user)) + var/obj/effect/temp_visual/dir_setting/bloodsplatter/B = new /obj/effect/temp_visual/dir_setting/bloodsplatter(T, get_dir(target, user)) playsound(T, 'sound/misc/splort.ogg', 200, 1) playsound(T, 'sound/weapons/pierce.ogg', 200, 1) if(target.stat != CONSCIOUS) @@ -151,5 +151,5 @@ T = get_turf(src) if(T) //make sure we're not in null or something T.visible_message("[src] [pick("cracks in two and fades away", "snaps in two and dematerializes")]!") - new /obj/effect/overlay/temp/ratvar/spearbreak(T) + new /obj/effect/temp_visual/ratvar/spearbreak(T) qdel(src) diff --git a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm index 6006c25724..376526febb 100644 --- a/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm +++ b/code/game/gamemodes/clock_cult/clock_mobs/clockwork_marauder.dm @@ -150,7 +150,7 @@ if(iscarbon(host)) resulthealth = round((abs(HEALTH_THRESHOLD_DEAD - host.health) / abs(HEALTH_THRESHOLD_DEAD - host.maxHealth)) * 100) if(GLOB.ratvar_awakens || resulthealth <= MARAUDER_EMERGE_THRESHOLD) - new /obj/effect/overlay/temp/heal(host.loc, "#AF0AAF") + new /obj/effect/temp_visual/heal(host.loc, "#AF0AAF") host.heal_ordered_damage(4, damage_heal_order) /mob/living/simple_animal/hostile/clockwork/marauder/adjustHealth(amount, updating_health = TRUE, forced = FALSE) diff --git a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm index bc5ec1b9d8..9efb9a8eb2 100644 --- a/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm +++ b/code/game/gamemodes/clock_cult/clock_scriptures/scripture_scripts.dm @@ -114,7 +114,7 @@ for(var/i in 1 to heal_attempts) if(S.health < S.maxHealth) S.adjustHealth(-heal_amount) - new /obj/effect/overlay/temp/heal(T, "#1E8CE1") + new /obj/effect/temp_visual/heal(T, "#1E8CE1") if(i == heal_attempts && S.health >= S.maxHealth) //we finished healing on the last tick, give them the message to_chat(S, "\"[text2ratvar(pick(heal_finish_messages))]\"") break @@ -129,7 +129,7 @@ for(var/i in 1 to heal_attempts) if(S.health < S.maxHealth) S.heal_ordered_damage(heal_amount, damage_heal_order) - new /obj/effect/overlay/temp/heal(T, "#1E8CE1") + new /obj/effect/temp_visual/heal(T, "#1E8CE1") if(i == heal_attempts && S.health >= S.maxHealth) to_chat(S, "\"[text2ratvar(pick(heal_finish_messages))]\"") break @@ -158,7 +158,7 @@ for(var/i in 1 to heal_ticks) if(H.health < H.maxHealth) H.heal_ordered_damage(heal_amount, damage_heal_order) - new /obj/effect/overlay/temp/heal(T, "#1E8CE1") + new /obj/effect/temp_visual/heal(T, "#1E8CE1") if(i == heal_ticks && H.health >= H.maxHealth) to_chat(H, "\"[text2ratvar(pick(heal_finish_messages))]\"") break @@ -174,10 +174,10 @@ if(C.obj_integrity < C.max_integrity) C.obj_integrity = min(C.obj_integrity + 5, C.max_integrity) C.update_icon() - new /obj/effect/overlay/temp/heal(T, "#1E8CE1") + new /obj/effect/temp_visual/heal(T, "#1E8CE1") else break - new /obj/effect/overlay/temp/ratvar/mending_mantra(get_turf(invoker)) + new /obj/effect/temp_visual/ratvar/mending_mantra(get_turf(invoker)) return TRUE @@ -389,7 +389,7 @@ usable_power = min(Floor(C.cell.charge * 0.2, MIN_CLOCKCULT_POWER), 1000) - prev_power if(usable_power > 0 && C.cell.use(usable_power)) multiplier += (usable_power * 0.0005) - var/obj/effect/overlay/temp/ratvar/volt_hit/VH = new /obj/effect/overlay/temp/ratvar/volt_hit(get_turf(invoker), null, multiplier) + var/obj/effect/temp_visual/ratvar/volt_hit/VH = new /obj/effect/temp_visual/ratvar/volt_hit(get_turf(invoker), null, multiplier) invoker.visible_message("[invoker] is struck by [invoker.p_their()] own [VH.name]!", "You're struck by your own [VH.name]!") invoker.adjustFireLoss(VH.damage) //you have to fail all five blasts to die to this playsound(invoker, 'sound/machines/defib_zap.ogg', VH.damage, 1, -1) diff --git a/code/game/gamemodes/clock_cult/clock_structure.dm b/code/game/gamemodes/clock_cult/clock_structure.dm index 0a193e7558..64c7135971 100644 --- a/code/game/gamemodes/clock_cult/clock_structure.dm +++ b/code/game/gamemodes/clock_cult/clock_structure.dm @@ -131,7 +131,7 @@ if(anchored && unanchored_icon) anchored = FALSE update_anchored(null, obj_integrity > max_integrity * 0.25) - new /obj/effect/overlay/temp/emp(loc) + new /obj/effect/temp_visual/emp(loc) //for the ark and Ratvar @@ -222,7 +222,7 @@ /obj/structure/destructible/clockwork/powered/emp_act(severity) if(forced_disable(TRUE)) - new /obj/effect/overlay/temp/emp(loc) + new /obj/effect/temp_visual/emp(loc) /obj/structure/destructible/clockwork/powered/proc/total_accessable_power() //how much power we have and can use if(!needs_power || GLOB.ratvar_awakens) diff --git a/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm b/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm index 1203c7119a..84098fca57 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/geis_binding.dm @@ -31,7 +31,7 @@ return /obj/structure/destructible/clockwork/geis_binding/emp_act(severity) - new /obj/effect/overlay/temp/emp(loc) + new /obj/effect/temp_visual/emp(loc) qdel(src) /obj/structure/destructible/clockwork/geis_binding/post_buckle_mob(mob/living/M) @@ -54,8 +54,8 @@ if(!can_resist) repair_and_interrupt() else - var/obj/effect/overlay/temp/ratvar/geis_binding/G = new /obj/effect/overlay/temp/ratvar/geis_binding(M.loc) - var/obj/effect/overlay/temp/ratvar/geis_binding/T = new /obj/effect/overlay/temp/ratvar/geis_binding/top(M.loc) + var/obj/effect/temp_visual/ratvar/geis_binding/G = new /obj/effect/temp_visual/ratvar/geis_binding(M.loc) + var/obj/effect/temp_visual/ratvar/geis_binding/T = new /obj/effect/temp_visual/ratvar/geis_binding/top(M.loc) G.layer = mob_layer - 0.01 T.layer = mob_layer + 0.01 G.alpha = alpha @@ -93,10 +93,10 @@ var/mob/living/carbon/C = L C.silent += 4 visible_message("[src] flares brightly!") - var/obj/effect/overlay/temp/ratvar/geis_binding/G1 = new /obj/effect/overlay/temp/ratvar/geis_binding(loc) - var/obj/effect/overlay/temp/ratvar/geis_binding/G2 = new /obj/effect/overlay/temp/ratvar/geis_binding(loc) - var/obj/effect/overlay/temp/ratvar/geis_binding/T1 = new /obj/effect/overlay/temp/ratvar/geis_binding/top(loc) - var/obj/effect/overlay/temp/ratvar/geis_binding/T2 = new /obj/effect/overlay/temp/ratvar/geis_binding/top(loc) + var/obj/effect/temp_visual/ratvar/geis_binding/G1 = new /obj/effect/temp_visual/ratvar/geis_binding(loc) + var/obj/effect/temp_visual/ratvar/geis_binding/G2 = new /obj/effect/temp_visual/ratvar/geis_binding(loc) + var/obj/effect/temp_visual/ratvar/geis_binding/T1 = new /obj/effect/temp_visual/ratvar/geis_binding/top(loc) + var/obj/effect/temp_visual/ratvar/geis_binding/T2 = new /obj/effect/temp_visual/ratvar/geis_binding/top(loc) G1.layer = mob_layer - 0.01 G2.layer = mob_layer - 0.01 T1.layer = mob_layer + 0.01 diff --git a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm index c4415dfed8..9c7b5e9518 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/ocular_warden.dm @@ -87,7 +87,7 @@ var/obj/mecha/M = target M.take_damage(damage_per_tick * get_efficiency_mod(), BURN, "melee", 1, get_dir(src, M)) - new /obj/effect/overlay/temp/ratvar/ocular_warden(get_turf(target)) + new /obj/effect/temp_visual/ratvar/ocular_warden(get_turf(target)) setDir(get_dir(get_turf(src), get_turf(target))) if(!target) diff --git a/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm b/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm index 94bf35b6a7..8dc2fb06f0 100644 --- a/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm +++ b/code/game/gamemodes/clock_cult/clock_structures/wall_gear.dm @@ -19,7 +19,7 @@ /obj/structure/destructible/clockwork/wall_gear/Initialize() . = ..() - new /obj/effect/overlay/temp/ratvar/gear(get_turf(src)) + new /obj/effect/temp_visual/ratvar/gear(get_turf(src)) /obj/structure/destructible/clockwork/wall_gear/emp_act(severity) return diff --git a/code/game/gamemodes/cult/cult_comms.dm b/code/game/gamemodes/cult/cult_comms.dm index 098fbcdf26..6651f68556 100644 --- a/code/game/gamemodes/cult/cult_comms.dm +++ b/code/game/gamemodes/cult/cult_comms.dm @@ -177,13 +177,13 @@ var/turf/mobloc = get_turf(B.current) switch(i) if(1) - new /obj/effect/overlay/temp/cult/sparks(mobloc, B.current.dir) + new /obj/effect/temp_visual/cult/sparks(mobloc, B.current.dir) playsound(mobloc, "sparks", 50, 1) if(2) - new /obj/effect/overlay/temp/dir_setting/cult/phase/out(mobloc, B.current.dir) + new /obj/effect/temp_visual/dir_setting/cult/phase/out(mobloc, B.current.dir) playsound(mobloc, "sparks", 75, 1) if(3) - new /obj/effect/overlay/temp/dir_setting/cult/phase(mobloc, B.current.dir) + new /obj/effect/temp_visual/dir_setting/cult/phase(mobloc, B.current.dir) playsound(mobloc, "sparks", 100, 1) if(4) playsound(mobloc, 'sound/magic/exit_blood.ogg', 100, 1) @@ -193,7 +193,7 @@ var/obj/item/device/soulstone/S = B.current.loc S.release_shades(owner) B.current.setDir(SOUTH) - new /obj/effect/overlay/temp/cult/blood(final) + new /obj/effect/temp_visual/cult/blood(final) addtimer(CALLBACK(B.current, /mob/.proc/reckon, final), 10) else return @@ -201,7 +201,7 @@ Remove(owner) /mob/proc/reckon(turf/final) - new /obj/effect/overlay/temp/cult/blood/out(get_turf(src)) + new /obj/effect/temp_visual/cult/blood/out(get_turf(src)) forceMove(final) /datum/action/innate/cult/master/finalreck/proc/chant(chant_number) diff --git a/code/game/gamemodes/cult/cult_items.dm b/code/game/gamemodes/cult/cult_items.dm index 62559379c5..ed1a64eede 100644 --- a/code/game/gamemodes/cult/cult_items.dm +++ b/code/game/gamemodes/cult/cult_items.dm @@ -204,7 +204,7 @@ if(current_charges) owner.visible_message("\The [attack_text] is deflected in a burst of blood-red sparks!") current_charges-- - new /obj/effect/overlay/temp/cult/sparks(get_turf(owner)) + new /obj/effect/temp_visual/cult/sparks(get_turf(owner)) if(!current_charges) owner.visible_message("The runed shield around [owner] suddenly disappears!") owner.update_inv_wear_suit() @@ -356,14 +356,14 @@ if(uses <= 0) icon_state ="shifter_drained" playsound(mobloc, "sparks", 50, 1) - new /obj/effect/overlay/temp/dir_setting/cult/phase/out(mobloc, C.dir) + new /obj/effect/temp_visual/dir_setting/cult/phase/out(mobloc, C.dir) var/atom/movable/pulled = handle_teleport_grab(destination, C) C.forceMove(destination) if(pulled) C.start_pulling(pulled) //forcemove resets pulls, so we need to re-pull - new /obj/effect/overlay/temp/dir_setting/cult/phase(destination, C.dir) + new /obj/effect/temp_visual/dir_setting/cult/phase(destination, C.dir) playsound(destination, 'sound/effects/phasein.ogg', 25, 1) playsound(destination, "sparks", 50, 1) diff --git a/code/game/gamemodes/cult/cult_structures.dm b/code/game/gamemodes/cult/cult_structures.dm index 51c622858d..63e5b97b9e 100644 --- a/code/game/gamemodes/cult/cult_structures.dm +++ b/code/game/gamemodes/cult/cult_structures.dm @@ -152,7 +152,7 @@ for(var/mob/living/L in range(5, src)) if(iscultist(L) || isshade(L) || isconstruct(L)) if(L.health != L.maxHealth) - new /obj/effect/overlay/temp/heal(get_turf(src), "#960000") + new /obj/effect/temp_visual/heal(get_turf(src), "#960000") if(ishuman(L)) L.adjustBruteLoss(-1, 0) L.adjustFireLoss(-1, 0) @@ -190,7 +190,7 @@ else var/turf/open/floor/engine/cult/F = safepick(cultturfs) if(F) - new /obj/effect/overlay/temp/cult/turf/floor(F) + new /obj/effect/temp_visual/cult/turf/floor(F) else // Are we in space or something? No cult turfs or // convertable turfs? diff --git a/code/game/gamemodes/cult/rune_spawn_action.dm b/code/game/gamemodes/cult/rune_spawn_action.dm index beffe924bc..7412a5d6bb 100644 --- a/code/game/gamemodes/cult/rune_spawn_action.dm +++ b/code/game/gamemodes/cult/rune_spawn_action.dm @@ -7,9 +7,9 @@ var/scribe_time = 100 var/damage_interrupt = TRUE var/action_interrupt = TRUE - var/obj/effect/overlay/temp/cult/rune_spawn/rune_word_type - var/obj/effect/overlay/temp/cult/rune_spawn/rune_innerring_type - var/obj/effect/overlay/temp/cult/rune_spawn/rune_center_type + var/obj/effect/temp_visual/cult/rune_spawn/rune_word_type + var/obj/effect/temp_visual/cult/rune_spawn/rune_innerring_type + var/obj/effect/temp_visual/cult/rune_spawn/rune_center_type var/rune_color /datum/action/innate/cult/create_rune/IsAvailable() @@ -27,15 +27,15 @@ if(!chosen_keyword) return //the outer ring is always the same across all runes - var/obj/effect/overlay/temp/cult/rune_spawn/R1 = new(owner.loc, scribe_time, rune_color) + var/obj/effect/temp_visual/cult/rune_spawn/R1 = new(owner.loc, scribe_time, rune_color) //the rest are not always the same, so we need types for em - var/obj/effect/overlay/temp/cult/rune_spawn/R2 + var/obj/effect/temp_visual/cult/rune_spawn/R2 if(rune_word_type) R2 = new rune_word_type(owner.loc, scribe_time, rune_color) - var/obj/effect/overlay/temp/cult/rune_spawn/R3 + var/obj/effect/temp_visual/cult/rune_spawn/R3 if(rune_innerring_type) R3 = new rune_innerring_type(owner.loc, scribe_time, rune_color) - var/obj/effect/overlay/temp/cult/rune_spawn/R4 + var/obj/effect/temp_visual/cult/rune_spawn/R4 if(rune_center_type) R4 = new rune_center_type(owner.loc, scribe_time, rune_color) @@ -64,7 +64,7 @@ /datum/action/innate/cult/create_rune/tele button_icon_state = "telerune" rune_type = /obj/effect/rune/teleport - rune_word_type = /obj/effect/overlay/temp/cult/rune_spawn/rune2 - rune_innerring_type = /obj/effect/overlay/temp/cult/rune_spawn/rune2/inner - rune_center_type = /obj/effect/overlay/temp/cult/rune_spawn/rune2/center + rune_word_type = /obj/effect/temp_visual/cult/rune_spawn/rune2 + rune_innerring_type = /obj/effect/temp_visual/cult/rune_spawn/rune2/inner + rune_center_type = /obj/effect/temp_visual/cult/rune_spawn/rune2/center rune_color = RUNE_COLOR_TELEPORT diff --git a/code/game/gamemodes/cult/runes.dm b/code/game/gamemodes/cult/runes.dm index 9de8c237bc..e3b990bfef 100644 --- a/code/game/gamemodes/cult/runes.dm +++ b/code/game/gamemodes/cult/runes.dm @@ -410,7 +410,7 @@ structure_check() searches for nearby cultist structures required for the invoca else GLOB.sacrificed += sacrificial - new /obj/effect/overlay/temp/cult/sac(get_turf(src)) + new /obj/effect/temp_visual/cult/sac(get_turf(src)) for(var/M in invokers) if(big_sac) to_chat(M, "\"Yes! This is the one I desire! You have done well.\"") diff --git a/code/game/gamemodes/cult/talisman.dm b/code/game/gamemodes/cult/talisman.dm index 9a9d8c582b..eeafd50c41 100644 --- a/code/game/gamemodes/cult/talisman.dm +++ b/code/game/gamemodes/cult/talisman.dm @@ -79,7 +79,7 @@ if(is_blocked_turf(target, TRUE)) to_chat(user, "The target rune is blocked. Attempting to teleport to it would be massively unwise.") return ..(user, 0) - user.visible_message("Dust flows from [user]'s hand, and [user.p_they()] disappear with a sharp crack!", \ + user.visible_message("Dust flows from [user]'s hand, and [user.p_they()] disappear[user.p_s()] with a sharp crack!", \ "You speak the words of the talisman and find yourself somewhere else!", "You hear a sharp crack.") user.forceMove(target) target.visible_message("There is a boom of outrushing air as something appears above the rune!", null, "You hear a boom.") diff --git a/code/game/gamemodes/devil/imp/imp.dm b/code/game/gamemodes/devil/imp/imp.dm index 602fbf765e..70ed6dfc1d 100644 --- a/code/game/gamemodes/devil/imp/imp.dm +++ b/code/game/gamemodes/devil/imp/imp.dm @@ -25,7 +25,7 @@ maxHealth = 200 health = 200 healable = 0 - environment_smash = 1 + environment_smash = ENVIRONMENT_SMASH_STRUCTURES obj_damage = 40 melee_damage_lower = 10 melee_damage_upper = 15 diff --git a/code/game/gamemodes/gang/gang.dm b/code/game/gamemodes/gang/gang.dm index 46f651d359..bb4bf455dc 100644 --- a/code/game/gamemodes/gang/gang.dm +++ b/code/game/gamemodes/gang/gang.dm @@ -2,7 +2,8 @@ //Gang War Game Mode GLOBAL_LIST_INIT(gang_name_pool, list("Clandestine", "Prima", "Zero-G", "Max", "Blasto", "Waffle", "North", "Omni", "Newton", "Cyber", "Donk", "Gene", "Gib", "Tunnel", "Diablo", "Psyke", "Osiron", "Sirius", "Sleeping Carp")) -GLOBAL_LIST_INIT(gang_colors_pool, list("red","orange","yellow","green","blue","purple")) +GLOBAL_LIST_INIT(gang_colors_pool, list("red","orange","yellow","green","blue","purple", "white")) +GLOBAL_LIST_INIT(gang_outfit_pool, list(/obj/item/clothing/suit/jacket/leather,/obj/item/clothing/suit/jacket/leather/overcoat,/obj/item/clothing/suit/jacket/puffer,/obj/item/clothing/suit/jacket/miljacket,/obj/item/clothing/suit/jacket/puffer,/obj/item/clothing/suit/pirate,/obj/item/clothing/suit/poncho,/obj/item/clothing/suit/apron/overalls,/obj/item/clothing/suit/jacket/letterman)) /datum/game_mode var/list/datum/gang/gangs = list() @@ -164,6 +165,8 @@ GLOBAL_LIST_INIT(gang_colors_pool, list("red","orange","yellow","green","blue"," /////////////////////////////////////////// /datum/game_mode/proc/add_gangster(datum/mind/gangster_mind, datum/gang/G, check = 1) if(!G || (gangster_mind in get_all_gangsters()) || (gangster_mind.enslaved_to && !is_gangster(gangster_mind.enslaved_to))) + if(is_in_gang(gangster_mind.current, G.name) && !(gangster_mind in get_gang_bosses())) + return 3 return 0 if(check && gangster_mind.current.isloyal()) //Check to see if the potential gangster is implanted return 1 @@ -193,6 +196,10 @@ GLOBAL_LIST_INIT(gang_colors_pool, list("red","orange","yellow","green","blue"," //////////////////////////////////////////////////////////////////// /datum/game_mode/proc/remove_gangster(datum/mind/gangster_mind, beingborged, silent, remove_bosses=0) var/datum/gang/gang = gangster_mind.gang_datum + for(var/obj/O in gangster_mind.current.contents) + if(istype(O, /obj/item/device/gangtool/soldier)) + qdel(O) + if(!gang) return 0 @@ -325,3 +332,4 @@ GLOBAL_LIST_INIT(gang_colors_pool, list("red","orange","yellow","green","blue"," SSticker.station_explosion_cinematic(1,"gang war", null) SSticker.mode.explosion_in_progress = 0 SSticker.force_ending = TRUE + diff --git a/code/game/gamemodes/gang/gang_datum.dm b/code/game/gamemodes/gang/gang_datum.dm index ba455e94e5..0ff9ef4f2d 100644 --- a/code/game/gamemodes/gang/gang_datum.dm +++ b/code/game/gamemodes/gang/gang_datum.dm @@ -15,33 +15,91 @@ var/list/territory_lost = list() var/recalls = 1 var/dom_attempts = 2 - var/points = 15 + var/inner_outfit + var/outer_outfit var/datum/atom_hud/antag/gang/ganghud var/is_deconvertible = TRUE //Can you deconvert normal gangsters from the gang var/domination_timer var/is_dominating - var/item_list - var/item_category_list - var/buyable_items = list( + var/boss_item_list + var/boss_category_list + var/static/list/boss_items = list( /datum/gang_item/function/gang_ping, /datum/gang_item/function/recall, - /datum/gang_item/function/outfit, + + /datum/gang_item/clothing/under, + /datum/gang_item/clothing/suit, + /datum/gang_item/clothing/hat, + /datum/gang_item/clothing/neck, + /datum/gang_item/clothing/shoes, + /datum/gang_item/clothing/mask, + /datum/gang_item/clothing/hands, + /datum/gang_item/clothing/belt, + + /datum/gang_item/weapon/shuriken, /datum/gang_item/weapon/switchblade, + /datum/gang_item/weapon/improvised, + /datum/gang_item/weapon/ammo/improvised_ammo, + /datum/gang_item/weapon/surplus, + /datum/gang_item/weapon/ammo/surplus_ammo, /datum/gang_item/weapon/pistol, /datum/gang_item/weapon/ammo/pistol_ammo, + /datum/gang_item/weapon/sniper, + /datum/gang_item/weapon/ammo/sniper_ammo, + /datum/gang_item/weapon/machinegun, /datum/gang_item/weapon/uzi, /datum/gang_item/weapon/ammo/uzi_ammo, + /datum/gang_item/equipment/sharpener, /datum/gang_item/equipment/spraycan, + /datum/gang_item/equipment/sharpener, + /datum/gang_item/equipment/emp, /datum/gang_item/equipment/c4, + /datum/gang_item/equipment/frag, + /datum/gang_item/equipment/stimpack, /datum/gang_item/equipment/implant_breaker, + /datum/gang_item/equipment/wetwork_boots, /datum/gang_item/equipment/pen, - /datum/gang_item/equipment/gangtool, - /datum/gang_item/equipment/necklace, /datum/gang_item/equipment/dominator ) + var/reg_item_list + var/reg_category_list + var/static/list/soldier_items = list( + /datum/gang_item/clothing/under, + /datum/gang_item/clothing/suit, + /datum/gang_item/clothing/hat, + /datum/gang_item/clothing/neck, + /datum/gang_item/clothing/shoes, + /datum/gang_item/clothing/mask, + /datum/gang_item/clothing/hands, + /datum/gang_item/clothing/belt, + + /datum/gang_item/weapon/shuriken, + /datum/gang_item/weapon/switchblade, + /datum/gang_item/weapon/improvised, + /datum/gang_item/weapon/ammo/improvised_ammo, + /datum/gang_item/weapon/surplus, + /datum/gang_item/weapon/ammo/surplus_ammo, + /datum/gang_item/weapon/pistol, + /datum/gang_item/weapon/ammo/pistol_ammo, + /datum/gang_item/weapon/sniper, + /datum/gang_item/weapon/ammo/sniper_ammo, + /datum/gang_item/weapon/machinegun, + /datum/gang_item/weapon/uzi, + /datum/gang_item/weapon/ammo/uzi_ammo, + /datum/gang_item/equipment/sharpener, + /datum/gang_item/equipment/spraycan, + /datum/gang_item/equipment/sharpener, + /datum/gang_item/equipment/emp, + /datum/gang_item/equipment/c4, + /datum/gang_item/equipment/frag, + /datum/gang_item/equipment/stimpack, + /datum/gang_item/equipment/implant_breaker, + /datum/gang_item/equipment/wetwork_boots, + ) + /datum/gang/New(loc,gangname) if(!GLOB.gang_colors_pool.len) message_admins("WARNING: Maximum number of gangs have been exceeded!") @@ -53,36 +111,56 @@ switch(color) if("red") color_hex = "#DA0000" + inner_outfit = pick(/obj/item/clothing/under/color/red, /obj/item/clothing/under/lawyer/red) if("orange") color_hex = "#FF9300" + inner_outfit = pick(/obj/item/clothing/under/color/orange, /obj/item/clothing/under/geisha) if("yellow") color_hex = "#FFF200" + inner_outfit = pick(/obj/item/clothing/under/color/yellow, /obj/item/clothing/under/burial, /obj/item/clothing/under/suit_jacket/tan) if("green") color_hex = "#A8E61D" + inner_outfit = pick(/obj/item/clothing/under/color/green, /obj/item/clothing/under/syndicate/camo, /obj/item/clothing/under/suit_jacket/green) if("blue") color_hex = "#00B7EF" + inner_outfit = pick(/obj/item/clothing/under/color/blue, /obj/item/clothing/under/suit_jacket/navy) if("purple") color_hex = "#DA00FF" + inner_outfit = pick(/obj/item/clothing/under/color/lightpurple, /obj/item/clothing/under/lawyer/purpsuit) + if("white") + color_hex = "#FFFFFF" + inner_outfit = pick(/obj/item/clothing/under/color/white, /obj/item/clothing/under/suit_jacket/white) name = (gangname ? gangname : pick(GLOB.gang_name_pool)) GLOB.gang_name_pool -= name - + outer_outfit = pick(GLOB.gang_outfit_pool) ganghud = new() ganghud.color = color_hex log_game("The [name] Gang has been created. Their gang color is [color].") build_item_list() /datum/gang/proc/build_item_list() - item_list = list() - item_category_list = list() - for(var/V in buyable_items) - var/datum/gang_item/G = new V() - item_list[G.id] = G - var/list/Cat = item_category_list[G.category] + boss_item_list = list() + boss_category_list = list() + for(var/B in boss_items) + var/datum/gang_item/G = new B() + boss_item_list[G.id] = G + var/list/Cat = boss_category_list[G.category] if(Cat) Cat += G else - item_category_list[G.category] = list(G) + boss_category_list[G.category] = list(G) + + reg_item_list = list() + reg_category_list = list() + for(var/S in soldier_items) + var/datum/gang_item/G = new S() + reg_item_list[G.id] = G + var/list/Cat = reg_category_list[G.category] + if(Cat) + Cat += G + else + reg_category_list[G.category] = list(G) /datum/gang/proc/add_gang_hud(datum/mind/recruit_mind) ganghud.join_hud(recruit_mind.current) @@ -103,52 +181,6 @@ /datum/gang/proc/domination_time_remaining() var/diff = domination_timer - world.time return diff / 10 -//////////////////////////////////////////// OUTFITS - - -//Used by recallers when purchasing a gang outfit. First time a gang outfit is purchased the buyer decides a gang style which is stored so gang outfits are uniform -/datum/gang/proc/gang_outfit(mob/living/carbon/user,obj/item/device/gangtool/gangtool) - if(!user || !gangtool) - return 0 - if(!gangtool.can_use(user)) - return 0 - - var/gang_style_list = list("Gang Colors","Black Suits","White Suits","Leather Jackets","Leather Overcoats","Puffer Jackets","Military Jackets","Tactical Turtlenecks","Soviet Uniforms") - if(!style && (user.mind in SSticker.mode.get_gang_bosses())) //Only the boss gets to pick a style - style = input("Pick an outfit style.", "Pick Style") as null|anything in gang_style_list - - if(gangtool.can_use(user) && (gangtool.outfits >= 1)) - var/outfit_path - switch(style) - if(null || "Gang Colors") - outfit_path = text2path("/obj/item/clothing/under/color/[color]") - if("Black Suits") - outfit_path = /obj/item/clothing/under/suit_jacket/charcoal - if("White Suits") - outfit_path = /obj/item/clothing/under/suit_jacket/white - if("Puffer Jackets") - outfit_path = /obj/item/clothing/suit/jacket/puffer - if("Leather Jackets") - outfit_path = /obj/item/clothing/suit/jacket/leather - if("Leather Overcoats") - outfit_path = /obj/item/clothing/suit/jacket/leather/overcoat - if("Military Jackets") - outfit_path = /obj/item/clothing/suit/jacket/miljacket - if("Soviet Uniforms") - outfit_path = /obj/item/clothing/under/soviet - if("Tactical Turtlenecks") - outfit_path = /obj/item/clothing/under/syndicate - - if(outfit_path) - var/obj/item/clothing/outfit = new outfit_path(user.loc) - outfit.armor = list(melee = 20, bullet = 30, laser = 10, energy = 10, bomb = 20, bio = 0, rad = 0, fire = 30, acid = 30) - outfit.desc += " Tailored for the [name] Gang to offer the wearer moderate protection against ballistics and physical trauma." - outfit.gang = src - user.put_in_hands(outfit) - return 1 - - return 0 - //////////////////////////////////////////// MESSAGING @@ -186,45 +218,7 @@ lost_names += "[territory_lost[area]]" territory -= area - //Count uniformed gangsters - var/uniformed = 0 - for(var/datum/mind/gangmind in (gangsters|bosses)) - if(ishuman(gangmind.current)) - var/mob/living/carbon/human/gangster = gangmind.current - //Gangster must be alive and on station - if((gangster.stat == DEAD) || (gangster.z > ZLEVEL_STATION)) - continue - - var/obj/item/clothing/outfit - var/obj/item/clothing/gang_outfit - if(gangster.w_uniform) - outfit = gangster.w_uniform - if(outfit.gang == src) - gang_outfit = outfit - if(gangster.wear_suit) - outfit = gangster.wear_suit - if(outfit.gang == src) - gang_outfit = outfit - - if(gang_outfit) - to_chat(gangster, "The [src] Gang's influence grows as you wear [gang_outfit].") - uniformed ++ - //Calculate and report influence growth - var/message = "[src] Gang Status Report:
*---------*
" - if(is_dominating) - var/seconds_remaining = domination_time_remaining() - var/new_time = max(180, seconds_remaining - (uniformed * 4) - (territory.len * 2)) - if(new_time < seconds_remaining) - message += "Takeover shortened by [seconds_remaining - new_time] seconds for defending [territory.len] territories and [uniformed] uniformed gangsters.
" - set_domination_time(new_time) - message += "[seconds_remaining] seconds remain in hostile takeover.
" - else - var/points_new = min(999,points + 15 + (uniformed * 2) + territory.len) - if(points_new != points) - message += "Gang influence has increased by [points_new - points] for defending [territory.len] territories and [uniformed] uniformed gangsters.
" - points = points_new - message += "Your gang now has [points] influence.
" //Process new territories for(var/area in territory_new) @@ -234,27 +228,69 @@ territory += area //Report territory changes + var/message = "[src] Gang Status Report:.
*---------*
" message += "[territory_new.len] new territories:
[added_names]
" message += "[territory_lost.len] territories lost:
[lost_names]
" - //Clear the lists territory_new = list() territory_lost = list() - var/control = round((territory.len/GLOB.start_state.num_territories)*100, 1) - message += "Your gang now has [control]% control of the station.
*---------*" - message_gangtools(message) - - //Increase outfit stock - for(var/obj/item/device/gangtool/tool in gangtools) - tool.outfits = min(tool.outfits+1,5) + var/sbonus = sqrt(LAZYLEN(territory)) // Bonus given to soldier's for the gang's total territory + message += "Your gang now has [control]% control of the station.
*---------*
" + if(is_dominating) + var/seconds_remaining = domination_time_remaining() + var/new_time = max(180, seconds_remaining - (territory.len * 2)) + if(new_time < seconds_remaining) + message += "Takeover shortened by [seconds_remaining - new_time] seconds for defending [territory.len] territories.
" + set_domination_time(new_time) + message += "[seconds_remaining] seconds remain in hostile takeover.
" + else + for(var/obj/item/device/gangtool/G in gangtools) + var/pmessage = message + var/points_new = 0 + if(istype(G, /obj/item/device/gangtool/soldier)) + points_new = max(0,round(3 - G.points/10)) + (sbonus) + (LAZYLEN(G.tags)/2) // Soldier points + pmessage += "Your influence has increased by [round(sbonus)] from your gang holding [LAZYLEN(territory)] territories, and a bonus of [round(LAZYLEN(G.tags)/2)] for territories you have personally marked and kept intact.
" + else + points_new = max(0,round(5 - G.points/10)) + LAZYLEN(territory) // Boss points, more focused on big picture + pmessage += "Your influence has increased by [round(points_new)] from your gang holding [territory.len] territories
" + G.points += points_new + var/mob/living/carbon/human/ganger = get(G.loc, /mob/living) + var/points_newer = 0 + var/static/inner = inner_outfit + var/static/outer = outer_outfit + if(ishuman(ganger) && ganger.mind in (gangsters|bosses)) + for(var/obj/C in ganger.contents) + if(C.type == inner_outfit) + points_newer += 2 + continue + if(C.type == outer_outfit) + points_newer += 2 + continue + switch(C.type) + if(/obj/item/clothing/neck/necklace/dope) + points_newer += 2 + if(/obj/item/clothing/head/collectable/petehat/gang) + points_newer += 4 + if(/obj/item/clothing/shoes/gang) + points_newer += 6 + if(/obj/item/clothing/mask/gskull) + points_newer += 5 + if(/obj/item/clothing/gloves/gang) + points_newer += 3 + if(/obj/item/weapon/storage/belt/military/gang) + points_newer += 4 + if(points_newer) + G.points += points_newer + pmessage += "Your influential choice of clothing has further increased your influence by [points_newer] points.
" + pmessage += "You now have [G.points] influence.
" + to_chat(ganger, "\icon[G] [pmessage]") //Multiverse /datum/gang/multiverse dom_attempts = 0 - points = 0 fighting_style = "multiverse" is_deconvertible = FALSE @@ -263,4 +299,4 @@ ganghud = new() /datum/gang/multiverse/income() - return \ No newline at end of file + return diff --git a/code/game/gamemodes/gang/gang_items.dm b/code/game/gamemodes/gang/gang_items.dm index d626aa3b9a..aec9b040cd 100644 --- a/code/game/gamemodes/gang/gang_items.dm +++ b/code/game/gamemodes/gang/gang_items.dm @@ -6,14 +6,12 @@ var/category var/id + /datum/gang_item/proc/purchase(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool, check_canbuy = TRUE) if(check_canbuy && !can_buy(user, gang, gangtool)) return FALSE var/real_cost = get_cost(user, gang, gangtool) - if(gang && real_cost) - gang.message_gangtools("A [get_name_display(user, gang, gangtool)] was purchased by [user.real_name] for [real_cost] Influence.") - log_game("A [id] was purchased by [key_name(user)] ([gang.name] Gang) for [real_cost] Influence.") - gang.points -= real_cost + gangtool.points -= real_cost spawn_item(user, gang, gangtool) return TRUE @@ -25,7 +23,7 @@ to_chat(user, spawn_msg) /datum/gang_item/proc/can_buy(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) - return gang && (gang.points >= get_cost(user, gang, gangtool)) && can_see(user, gang, gangtool) + return gang && (gangtool.points >= get_cost(user, gang, gangtool)) && can_see(user, gang, gangtool) /datum/gang_item/proc/can_see(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) return TRUE @@ -78,23 +76,104 @@ gangtool.recall(user) -/datum/gang_item/function/outfit - name = "Create Armored Gang Outfit" - id = "outfit" +/////////////////// +//CLOTHING +/////////////////// -/datum/gang_item/function/outfit/can_buy(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) - return gangtool && (gangtool.outfits > 0) && ..() +/datum/gang_item/clothing + category = "Purchase Influence-Enhancing Clothes:" + +/datum/gang_item/clothing/under + name = "Gang Uniform" + id = "under" + cost = 1 + +/datum/gang_item/clothing/under/spawn_item(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) + if(gang.inner_outfit) + var/obj/item/O = new gang.inner_outfit(user.loc) + user.put_in_hands(O) + to_chat(user, " This is your gang's official uniform, wearing it will increase your influence") + +/datum/gang_item/clothing/suit + name = "Gang Armored Outerwear" + id = "suit" + cost = 1 + +/datum/gang_item/clothing/suit/spawn_item(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) + if(gang.outer_outfit) + var/obj/item/O = new gang.outer_outfit(user.loc) + O.armor = list(melee = 20, bullet = 35, laser = 10, energy = 10, bomb = 30, bio = 0, rad = 0, fire = 30, acid = 30) + O.desc += " Tailored for the [gang.name] Gang to offer the wearer moderate protection against ballistics and physical trauma." + user.put_in_hands(O) + to_chat(user, " This is your gang's official outerwear, wearing it will increase your influence") + + +/datum/gang_item/clothing/hat + name = "Pimp Hat" + id = "hat" + cost = 18 + item_path = /obj/item/clothing/head/collectable/petehat/gang + +/obj/item/clothing/head/collectable/petehat/gang + name = "pimpin' hat" + desc = "The undisputed king of style." + +/datum/gang_item/clothing/mask + name = "Golden Death Mask" + id = "mask" + cost = 20 + item_path = /obj/item/clothing/mask/gskull + +/obj/item/clothing/mask/gskull + name = "golden death mask" + icon_state = "gskull" + desc = "Strike terror, and envy, into the hearts of your enemies." + + +/datum/gang_item/clothing/shoes + name = "Bling Boots" + id = "boots" + cost = 25 + item_path = /obj/item/clothing/shoes/gang + +/obj/item/clothing/shoes/gang + name = "blinged-out boots" + desc = "Stand aside peasants." + icon_state = "bling" + +/datum/gang_item/clothing/neck + name = "Gold Necklace" + id = "necklace" + cost = 10 + item_path = /obj/item/clothing/neck/necklace/dope + + +/datum/gang_item/clothing/hands + name = "Decorative Brass Knuckles" + id = "hand" + cost = 12 + item_path = /obj/item/clothing/gloves/gang + +/obj/item/clothing/gloves/gang + name = "braggadocio's brass knuckles" + desc = "Purely decorative, don't find out the hard way." + icon_state = "knuckles" + w_class = 3 + +/datum/gang_item/clothing/belt + name = "Badass Belt" + id = "belt" + cost = 15 + item_path = /obj/item/weapon/storage/belt/military/gang + +/obj/item/weapon/storage/belt/military/gang + name = "badass belt" + icon_state = "gangbelt" + item_state = "gang" + desc = "The belt buckle simply reads 'BAMF'." + storage_slots = 1 -/datum/gang_item/function/outfit/get_cost_display(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) - if(gangtool && !gangtool.outfits) - return "(Restocking)" - return ..() -/datum/gang_item/function/outfit/spawn_item(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) - if(gang && gang.gang_outfit(user, gangtool)) - to_chat(user, "Gang Outfits can act as armor with moderate protection against ballistic and melee attacks. Every gangster wearing one will also help grow your gang's influence.") - if(gangtool) - gangtool.outfits -= 1 /////////////////// //WEAPONS @@ -120,10 +199,34 @@ cost = 5 item_path = /obj/item/weapon/switchblade +/datum/gang_item/weapon/surplus + name = "Surplus Rifle" + id = "surplus" + cost = 8 + item_path = /obj/item/weapon/gun/ballistic/automatic/surplus + +/datum/gang_item/weapon/ammo/surplus_ammo + name = "Surplus Rifle Ammo" + id = "surplus_ammo" + cost = 5 + item_path = /obj/item/ammo_box/magazine/m10mm/rifle + +/datum/gang_item/weapon/improvised + name = "Sawn-Off Improvised Shotgun" + id = "sawn" + cost = 6 + item_path = /obj/item/weapon/gun/ballistic/revolver/doublebarrel/improvised/sawn + +/datum/gang_item/weapon/ammo/improvised_ammo + name = "Box of Buckshot" + id = "buckshot" + cost = 5 + item_path = /obj/item/weapon/storage/box/lethalshot + /datum/gang_item/weapon/pistol name = "10mm Pistol" id = "pistol" - cost = 25 + cost = 30 item_path = /obj/item/weapon/gun/ballistic/automatic/pistol /datum/gang_item/weapon/ammo/pistol_ammo @@ -144,12 +247,19 @@ cost = 15 item_path = /obj/item/ammo_box/magazine/sniper_rounds +/datum/gang_item/weapon/machinegun + name = "Mounted Machine Gun" + id = "MG" + cost = 50 + item_path = /obj/machinery/manned_turret + spawn_msg = "The mounted machine gun features enhanced responsiveness. Hold down on the trigger while firing to control where you're shooting." + /datum/gang_item/weapon/uzi name = "Uzi SMG" id = "uzi" cost = 60 item_path = /obj/item/weapon/gun/ballistic/automatic/mini_uzi - id = "uzi" + /datum/gang_item/weapon/ammo/uzi_ammo name = "Uzi Ammo" @@ -157,7 +267,6 @@ cost = 40 item_path = /obj/item/ammo_box/magazine/uzim9mm - /////////////////// //EQUIPMENT /////////////////// @@ -178,12 +287,6 @@ cost = 3 item_path = /obj/item/weapon/sharpener -/datum/gang_item/equipment/necklace - name = "Gold Necklace" - id = "necklace" - cost = 1 - item_path = /obj/item/clothing/neck/necklace/dope - /datum/gang_item/equipment/emp name = "EMP Grenade" @@ -200,13 +303,13 @@ /datum/gang_item/equipment/frag name = "Fragmentation Grenade" id = "frag nade" - cost = 10 + cost = 18 item_path = /obj/item/weapon/grenade/syndieminibomb/concussion/frag /datum/gang_item/equipment/stimpack name = "Black Market Stimulants" id = "stimpack" - cost = 15 + cost = 12 item_path = /obj/item/weapon/reagent_containers/syringe/stimulants /datum/gang_item/equipment/implant_breaker @@ -223,6 +326,18 @@ if(spawn_msg) to_chat(user, spawn_msg) +/datum/gang_item/equipment/wetwork_boots + name = "Wetwork boots" + id = "wetwork" + cost = 20 + item_path = /obj/item/clothing/shoes/combat/gang + +/obj/item/clothing/shoes/combat/gang + name = "Wetwork boots" + desc = "A gang's best hitmen are prepared for anything." + permeability_coefficient = 0.01 + flags = NOSLIP + /datum/gang_item/equipment/pen name = "Recruitment Pen" id = "pen" @@ -316,4 +431,4 @@ return ..() /datum/gang_item/equipment/dominator/spawn_item(mob/living/carbon/user, datum/gang/gang, obj/item/device/gangtool/gangtool) - new item_path(user.loc) \ No newline at end of file + new item_path(user.loc) diff --git a/code/game/gamemodes/gang/gang_pen.dm b/code/game/gamemodes/gang/gang_pen.dm index 930c612d14..d60a3cb57b 100644 --- a/code/game/gamemodes/gang/gang_pen.dm +++ b/code/game/gamemodes/gang/gang_pen.dm @@ -25,7 +25,16 @@ var/datum/gang/G = user.mind.gang_datum var/recruitable = SSticker.mode.add_gangster(M.mind,G) switch(recruitable) + if(3) + for(var/obj/O in M.contents) + if(istype(O, /obj/item/device/gangtool/soldier)) + to_chat(user, "This gangster already has an uplink!") + return + new /obj/item/device/gangtool/soldier(M) + to_chat(user, "You inject [M] with a new gangtool!") + cooldown(G) if(2) + new /obj/item/device/gangtool/soldier(M) M.Paralyse(5) cooldown(G) if(1) @@ -57,4 +66,4 @@ cooldown = 0 icon_state = "pen" var/mob/M = get(src, /mob) - to_chat(M, "\icon[src] [src][(src.loc == M)?(""):(" in your [src.loc]")] vibrates softly. It is ready to be used again.") \ No newline at end of file + to_chat(M, "\icon[src] [src][(src.loc == M)?(""):(" in your [src.loc]")] vibrates softly. It is ready to be used again.") diff --git a/code/game/gamemodes/gang/recaller.dm b/code/game/gamemodes/gang/recaller.dm index c8c98e5d47..ad2da7b502 100644 --- a/code/game/gamemodes/gang/recaller.dm +++ b/code/game/gamemodes/gang/recaller.dm @@ -12,9 +12,11 @@ origin_tech = "programming=5;bluespace=2;syndicate=5" var/datum/gang/gang //Which gang uses this? var/recalling = 0 - var/outfits = 3 + var/outfits = 2 var/free_pen = 0 var/promotable = 0 + var/points = 15 + var/list/tags = list() /obj/item/device/gangtool/Initialize() //Initialize supply point income if it hasn't already been started ..() @@ -48,14 +50,14 @@ var/isboss = (user.mind == gang.bosses[1]) dat += "Registration: [gang.name] Gang [isboss ? "Boss" : "Lieutenant"]
" dat += "Organization Size: [gang.gangsters.len + gang.bosses.len] | Station Control: [round((gang.territory.len/GLOB.start_state.num_territories)*100, 1)]%
" - dat += "Gang Influence: [gang.points]
" - dat += "Time until Influence grows: [(gang.points >= 999) ? ("--:--") : (time2text(SSticker.mode.gang_points.next_point_time - world.time, "mm:ss"))]
" + dat += "Your Influence: [points]
" + dat += "Time until Influence grows: [time2text(SSticker.mode.gang_points.next_point_time - world.time, "mm:ss")]
" dat += "
" - for(var/cat in gang.item_category_list) + for(var/cat in gang.boss_category_list) dat += "[cat]
" - for(var/V in gang.item_category_list[cat]) + for(var/V in gang.boss_category_list[cat]) var/datum/gang_item/G = V if(!G.can_see(user, gang, src)) continue @@ -76,7 +78,7 @@ dat += "Refresh
" - var/datum/browser/popup = new(user, "gangtool", "Welcome to GangTool v3.4", 340, 625) + var/datum/browser/popup = new(user, "gangtool", "Welcome to GangTool v3.5", 340, 625) popup.set_content(dat) popup.open() @@ -95,7 +97,7 @@ return if(href_list["purchase"]) - var/datum/gang_item/G = gang.item_list[href_list["purchase"]] + var/datum/gang_item/G = gang.boss_item_list[href_list["purchase"]] if(G && G.can_buy(usr, gang, src)) G.purchase(usr, gang, src, FALSE) @@ -168,7 +170,7 @@ if(recalling) to_chat(usr, "Error: Recall already in progress.") return 0 - + if(!gang.recalls) to_chat(usr, "Error: Unable to access communication arrays. Firewall has logged our signature and is blocking all further attempts.") @@ -212,7 +214,7 @@ userturf = get_turf(user) if(userturf.z == 1) //Check one more time that they are on station. if(SSshuttle.cancelEvac(user)) - gang.recalls -= 1 + gang.recalls -= 1 return 1 to_chat(loc, "\icon[src]No response recieved. Emergency shuttle cannot be recalled at this time.") @@ -227,18 +229,103 @@ return 0 if(!user.mind) return 0 - - if(gang) //If it's already registered, only let the gang's bosses use this - if(user.mind in gang.bosses) - return 1 - else //If it's not registered, any gangster can use this to register - if(user.mind in SSticker.mode.get_all_gangsters()) - return 1 - + if(gang && (user.mind in gang.bosses)) //If it's already registered, only let the gang's bosses use this + return 1 + else if(user.mind in SSticker.mode.get_all_gangsters()) // For soldiers and potential LT's + return 1 return 0 /obj/item/device/gangtool/spare outfits = 1 /obj/item/device/gangtool/spare/lt - promotable = 1 \ No newline at end of file + promotable = 1 + +///////////// Internal tool used by gang regulars /////////// + +/obj/item/device/gangtool/soldier + points = 5 + +/obj/item/device/gangtool/soldier/New(mob/user) + . = ..() + gang = user.mind.gang_datum + gang.gangtools += src + var/datum/action/innate/gang/tool/GT = new + GT.Grant(user, src, gang) + +/obj/item/device/gangtool/soldier/attack_self(mob/user) + if (!can_use(user)) + return + var/dat + if(gang.is_dominating) + dat += "
Takeover In Progress:
[gang.domination_time_remaining()] seconds remain
" + dat += "Registration: [gang.name] - Foot Soldier
" + dat += "Organization Size: [gang.gangsters.len + gang.bosses.len] | Station Control: [round((gang.territory.len/GLOB.start_state.num_territories)*100, 1)]%
" + dat += "Your Influence: [points]
" + if(LAZYLEN(tags)) + dat += "Your tags generate bonus influence for you.
You have tagged the following territories:" + for(var/obj/effect/decal/cleanable/crayon/gang/T in tags) + dat += " [T.territory] -" + else + dat += "You have not personally tagged any territory for your gang. Use a spray can to mark your territory and receive bonus influence." + dat += "
Time until Influence grows: [time2text(SSticker.mode.gang_points.next_point_time - world.time, "mm:ss")]
" + dat += "
" + for(var/cat in gang.reg_category_list) + dat += "[cat]
" + for(var/V in gang.reg_category_list[cat]) + var/datum/gang_item/G = V + if(!G.can_see(user, gang, src)) + continue + + var/cost = G.get_cost_display(user, gang, src) + if(cost) + dat += cost + " " + + var/toAdd = G.get_name_display(user, gang, src) + if(G.can_buy(user, gang, src)) + toAdd = "[toAdd]" + dat += toAdd + var/extra = G.get_extra_info(user, gang, src) + if(extra) + dat += "
[extra]" + dat += "
" + dat += "
" + + dat += "Refresh
" + + var/datum/browser/popup = new(user, "gangtool", "Welcome to GangTool v3.5", 340, 625) + popup.set_content(dat) + popup.open() + +/obj/item/device/gangtool/soldier/Topic(href, href_list) + if(!can_use(usr)) + return + if(href_list["purchase"]) + var/datum/gang_item/G = gang.reg_item_list[href_list["purchase"]] + if(G && G.can_buy(usr, gang, src)) + G.purchase(usr, gang, src, FALSE) + + attack_self(usr) + +/datum/action/innate/gang + background_icon_state = "bg_spell" + +/datum/action/innate/gang/IsAvailable() + if(!owner.mind || !owner.mind in SSticker.mode.get_all_gangsters()) + return 0 + return ..() + +/datum/action/innate/gang/tool + name = "Personal Gang Tool" + desc = "An implanted gang tool that lets you purchase gear" + background_icon_state = "bg_mime" + button_icon_state = "bolt_action" + var/obj/item/device/gangtool/soldier/GT + +/datum/action/innate/gang/tool/Grant(mob/user, obj/reg, datum/gang/G) + . = ..() + GT = reg + button.color = G.color + +/datum/action/innate/gang/tool/Activate() + GT.attack_self(owner) diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm index 8f90cd892d..9def30992e 100644 --- a/code/game/gamemodes/meteor/meteors.dm +++ b/code/game/gamemodes/meteor/meteors.dm @@ -328,7 +328,7 @@ GLOBAL_LIST_INIT(meteorsC, list(/obj/effect/meteor/dust)) //for space dust event /obj/effect/meteor/tunguska/Move() . = ..() if(.) - new /obj/effect/overlay/temp/revenant(get_turf(src)) + new /obj/effect/temp_visual/revenant(get_turf(src)) /obj/effect/meteor/tunguska/meteor_effect() ..() diff --git a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm index d7ab46cb9c..de11c2ed94 100644 --- a/code/game/gamemodes/miniantags/abduction/abduction_gear.dm +++ b/code/game/gamemodes/miniantags/abduction/abduction_gear.dm @@ -64,7 +64,7 @@ stealth_active = 1 if(ishuman(loc)) var/mob/living/carbon/human/M = loc - new /obj/effect/overlay/temp/dir_setting/ninja/cloak(get_turf(M), M.dir) + new /obj/effect/temp_visual/dir_setting/ninja/cloak(get_turf(M), M.dir) M.name_override = disguise.name M.icon = disguise.icon M.icon_state = disguise.icon_state @@ -78,7 +78,7 @@ stealth_active = 0 if(ishuman(loc)) var/mob/living/carbon/human/M = loc - new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(M), M.dir) + new /obj/effect/temp_visual/dir_setting/ninja(get_turf(M), M.dir) M.name_override = null M.cut_overlays() M.regenerate_icons() diff --git a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm index 083e610587..a12515a625 100644 --- a/code/game/gamemodes/miniantags/abduction/machinery/pad.dm +++ b/code/game/gamemodes/miniantags/abduction/machinery/pad.dm @@ -16,38 +16,38 @@ flick("alien-pad", src) for(var/mob/living/target in loc) target.forceMove(teleport_target) - new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(target), target.dir) + new /obj/effect/temp_visual/dir_setting/ninja(get_turf(target), target.dir) to_chat(target, "The instability of the warp leaves you disoriented!") target.Stun(3) /obj/machinery/abductor/pad/proc/Retrieve(mob/living/target) flick("alien-pad", src) - new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(target), target.dir) + new /obj/effect/temp_visual/dir_setting/ninja(get_turf(target), target.dir) Warp(target) /obj/machinery/abductor/pad/proc/MobToLoc(place,mob/living/target) - new /obj/effect/overlay/temp/teleport_abductor(place) + new /obj/effect/temp_visual/teleport_abductor(place) sleep(80) flick("alien-pad", src) target.forceMove(place) - new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(target), target.dir) + new /obj/effect/temp_visual/dir_setting/ninja(get_turf(target), target.dir) /obj/machinery/abductor/pad/proc/PadToLoc(place) - new /obj/effect/overlay/temp/teleport_abductor(place) + new /obj/effect/temp_visual/teleport_abductor(place) sleep(80) flick("alien-pad", src) for(var/mob/living/target in get_turf(src)) target.forceMove(place) - new /obj/effect/overlay/temp/dir_setting/ninja(get_turf(target), target.dir) + new /obj/effect/temp_visual/dir_setting/ninja(get_turf(target), target.dir) -/obj/effect/overlay/temp/teleport_abductor +/obj/effect/temp_visual/teleport_abductor name = "Huh" icon = 'icons/obj/abductor.dmi' icon_state = "teleport" duration = 80 -/obj/effect/overlay/temp/teleport_abductor/Initialize() +/obj/effect/temp_visual/teleport_abductor/Initialize() . = ..() var/datum/effect_system/spark_spread/S = new S.set_up(10,0,loc) diff --git a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm index 3b315bb668..5212b82e51 100644 --- a/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm +++ b/code/game/gamemodes/miniantags/bot_swarm/swarmer.dm @@ -83,7 +83,7 @@ damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) hud_possible = list(ANTAG_HUD, DIAG_STAT_HUD, DIAG_HUD) obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE attacktext = "shocks" attack_sound = 'sound/effects/EMPulse.ogg' friendly = "pinches" @@ -435,7 +435,7 @@ resources += resource_gain do_attack_animation(target) changeNext_move(CLICK_CD_MELEE) - var/obj/effect/overlay/temp/swarmer/integrate/I = new /obj/effect/overlay/temp/swarmer/integrate(get_turf(target)) + var/obj/effect/temp_visual/swarmer/integrate/I = new /obj/effect/temp_visual/swarmer/integrate(get_turf(target)) I.pixel_x = target.pixel_x I.pixel_y = target.pixel_y I.pixel_z = target.pixel_z @@ -452,7 +452,7 @@ /mob/living/simple_animal/hostile/swarmer/proc/DisIntegrate(atom/movable/target) - new /obj/effect/overlay/temp/swarmer/disintegration(get_turf(target)) + new /obj/effect/temp_visual/swarmer/disintegration(get_turf(target)) do_attack_animation(target) changeNext_move(CLICK_CD_MELEE) target.ex_act(3) @@ -497,7 +497,7 @@ /mob/living/simple_animal/hostile/swarmer/proc/DismantleMachine(obj/machinery/target) do_attack_animation(target) to_chat(src, "We begin to dismantle this machine. We will need to be uninterrupted.") - var/obj/effect/overlay/temp/swarmer/dismantle/D = new /obj/effect/overlay/temp/swarmer/dismantle(get_turf(target)) + var/obj/effect/temp_visual/swarmer/dismantle/D = new /obj/effect/temp_visual/swarmer/dismantle(get_turf(target)) D.pixel_x = target.pixel_x D.pixel_y = target.pixel_y D.pixel_z = target.pixel_z @@ -507,7 +507,7 @@ M.amount = 5 for(var/obj/item/I in target.component_parts) I.loc = M.loc - var/obj/effect/overlay/temp/swarmer/disintegration/N = new /obj/effect/overlay/temp/swarmer/disintegration(get_turf(target)) + var/obj/effect/temp_visual/swarmer/disintegration/N = new /obj/effect/temp_visual/swarmer/disintegration(get_turf(target)) N.pixel_x = target.pixel_x N.pixel_y = target.pixel_y N.pixel_z = target.pixel_z @@ -519,23 +519,23 @@ qdel(target) -/obj/effect/overlay/temp/swarmer //temporary swarmer visual feedback objects +/obj/effect/temp_visual/swarmer //temporary swarmer visual feedback objects icon = 'icons/mob/swarmer.dmi' layer = BELOW_MOB_LAYER -/obj/effect/overlay/temp/swarmer/disintegration +/obj/effect/temp_visual/swarmer/disintegration icon_state = "disintegrate" duration = 10 -/obj/effect/overlay/temp/swarmer/disintegration/Initialize() +/obj/effect/temp_visual/swarmer/disintegration/Initialize() . = ..() playsound(loc, "sparks", 100, 1) -/obj/effect/overlay/temp/swarmer/dismantle +/obj/effect/temp_visual/swarmer/dismantle icon_state = "dismantle" duration = 25 -/obj/effect/overlay/temp/swarmer/integrate +/obj/effect/temp_visual/swarmer/integrate icon_state = "integrate" duration = 5 diff --git a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm index 580515d4ec..ed51fb4caa 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_abilities.dm @@ -202,7 +202,7 @@ var/datum/effect_system/spark_spread/s = new /datum/effect_system/spark_spread s.set_up(4, 0, L) s.start() - new /obj/effect/overlay/temp/revenant(L.loc) + new /obj/effect/temp_visual/revenant(L.loc) sleep(20) if(!L.on) //wait, wait, don't shock me return @@ -237,7 +237,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/defile/proc/defile(turf/T) if(T.flags & NOJAUNT) T.flags -= NOJAUNT - new /obj/effect/overlay/temp/revenant(T) + new /obj/effect/temp_visual/revenant(T) if(!istype(T, /turf/open/floor/plating) && !istype(T, /turf/open/floor/engine/cult) && isfloorturf(T) && prob(15)) var/turf/open/floor/floor = T if(floor.intact && floor.floor_tile) @@ -246,10 +246,10 @@ floor.burnt = 0 floor.make_plating(1) if(T.type == /turf/closed/wall && prob(15)) - new /obj/effect/overlay/temp/revenant(T) + new /obj/effect/temp_visual/revenant(T) T.ChangeTurf(/turf/closed/wall/rust) if(T.type == /turf/closed/wall/r_wall && prob(10)) - new /obj/effect/overlay/temp/revenant(T) + new /obj/effect/temp_visual/revenant(T) T.ChangeTurf(/turf/closed/wall/r_wall/rust) for(var/obj/structure/closet/closet in T.contents) closet.open() @@ -261,7 +261,7 @@ for(var/obj/structure/window/window in T) window.take_damage(rand(30,80)) if(window && window.fulltile) - new /obj/effect/overlay/temp/revenant/cracks(window.loc) + new /obj/effect/temp_visual/revenant/cracks(window.loc) for(var/obj/machinery/light/light in T) light.flicker(20) //spooky @@ -284,7 +284,7 @@ /obj/effect/proc_holder/spell/aoe_turf/revenant/malfunction/proc/malfunction(turf/T, mob/user) for(var/mob/living/simple_animal/bot/bot in T) if(!bot.emagged) - new /obj/effect/overlay/temp/revenant(bot.loc) + new /obj/effect/temp_visual/revenant(bot.loc) bot.locked = 0 bot.open = 1 bot.emag_act() @@ -292,21 +292,21 @@ if(human == user) continue to_chat(human, "You feel [pick("your sense of direction flicker out", "a stabbing pain in your head", "your mind fill with static")].") - new /obj/effect/overlay/temp/revenant(human.loc) + new /obj/effect/temp_visual/revenant(human.loc) human.emp_act(1) for(var/obj/thing in T) if(istype(thing, /obj/machinery/dominator) || istype(thing, /obj/machinery/power/apc) || istype(thing, /obj/machinery/power/smes)) //Doesn't work on dominators, SMES and APCs, to prevent kekkery continue if(prob(20)) if(prob(50)) - new /obj/effect/overlay/temp/revenant(thing.loc) + new /obj/effect/temp_visual/revenant(thing.loc) thing.emag_act(null) else if(!istype(thing, /obj/machinery/clonepod)) //I hate everything but mostly the fact there's no better way to do this without just not affecting it at all thing.emp_act(1) for(var/mob/living/silicon/robot/S in T) //Only works on cyborgs, not AI playsound(S, 'sound/machines/warning-buzzer.ogg', 50, 1) - new /obj/effect/overlay/temp/revenant(S.loc) + new /obj/effect/temp_visual/revenant(S.loc) S.spark_system.start() S.emp_act(1) @@ -329,7 +329,7 @@ for(var/mob/living/mob in T) if(mob == user) continue - new /obj/effect/overlay/temp/revenant(mob.loc) + new /obj/effect/temp_visual/revenant(mob.loc) if(iscarbon(mob)) if(ishuman(mob)) var/mob/living/carbon/human/H = mob @@ -350,14 +350,14 @@ mob.adjustToxLoss(5) for(var/obj/structure/spacevine/vine in T) //Fucking with botanists, the ability. vine.add_atom_colour("#823abb", TEMPORARY_COLOUR_PRIORITY) - new /obj/effect/overlay/temp/revenant(vine.loc) + new /obj/effect/temp_visual/revenant(vine.loc) QDEL_IN(vine, 10) for(var/obj/structure/glowshroom/shroom in T) shroom.add_atom_colour("#823abb", TEMPORARY_COLOUR_PRIORITY) - new /obj/effect/overlay/temp/revenant(shroom.loc) + new /obj/effect/temp_visual/revenant(shroom.loc) QDEL_IN(shroom, 10) for(var/obj/machinery/hydroponics/tray in T) - new /obj/effect/overlay/temp/revenant(tray.loc) + new /obj/effect/temp_visual/revenant(tray.loc) tray.pestlevel = rand(8, 10) tray.weedlevel = rand(8, 10) tray.toxic = rand(45, 55) diff --git a/code/game/gamemodes/miniantags/revenant/revenant_blight.dm b/code/game/gamemodes/miniantags/revenant/revenant_blight.dm index 8b766aad37..913efb34ce 100644 --- a/code/game/gamemodes/miniantags/revenant/revenant_blight.dm +++ b/code/game/gamemodes/miniantags/revenant/revenant_blight.dm @@ -33,11 +33,11 @@ to_chat(affected_mob, "You suddenly feel [pick("sick and tired", "disoriented", "tired and confused", "nauseated", "faint", "dizzy")]...") affected_mob.confused += 8 affected_mob.adjustStaminaLoss(8) - new /obj/effect/overlay/temp/revenant(affected_mob.loc) + new /obj/effect/temp_visual/revenant(affected_mob.loc) if(stagedamage < stage) stagedamage++ affected_mob.adjustToxLoss(stage*2) //should, normally, do about 30 toxin damage. - new /obj/effect/overlay/temp/revenant(affected_mob.loc) + new /obj/effect/temp_visual/revenant(affected_mob.loc) if(prob(45)) affected_mob.adjustStaminaLoss(stage) ..() //So we don't increase a stage before applying the stage damage. @@ -56,7 +56,7 @@ finalstage = TRUE to_chat(affected_mob, "You feel like [pick("nothing's worth it anymore", "nobody ever needed your help", "nothing you did mattered", "everything you tried to do was worthless")].") affected_mob.adjustStaminaLoss(45) - new /obj/effect/overlay/temp/revenant(affected_mob.loc) + new /obj/effect/temp_visual/revenant(affected_mob.loc) if(affected_mob.dna && affected_mob.dna.species) affected_mob.dna.species.handle_mutant_bodyparts(affected_mob,"#1d2953") affected_mob.dna.species.handle_hair(affected_mob,"#1d2953") diff --git a/code/game/gamemodes/miniantags/slaughter/slaughter.dm b/code/game/gamemodes/miniantags/slaughter/slaughter.dm index 53e92c639d..432bdadfff 100644 --- a/code/game/gamemodes/miniantags/slaughter/slaughter.dm +++ b/code/game/gamemodes/miniantags/slaughter/slaughter.dm @@ -27,7 +27,7 @@ maxHealth = 200 health = 200 healable = 0 - environment_smash = 1 + environment_smash = ENVIRONMENT_SMASH_STRUCTURES obj_damage = 50 melee_damage_lower = 30 melee_damage_upper = 30 diff --git a/code/game/gamemodes/nuclear/nuclearbomb.dm b/code/game/gamemodes/nuclear/nuclearbomb.dm index 1f01b38860..5964983b09 100644 --- a/code/game/gamemodes/nuclear/nuclearbomb.dm +++ b/code/game/gamemodes/nuclear/nuclearbomb.dm @@ -459,8 +459,7 @@ var/datum/game_mode/nuclear/NM = SSticker.mode NM.nukes_left -- if(!SSticker.mode.check_finished())//If the mode does not deal with the nuke going off so just reboot because everyone is stuck as is - spawn() - world.Reboot("Station destroyed by Nuclear Device.", "end_error", "nuke - unhandled ending") + SSticker.Reboot("Station destroyed by Nuclear Device.", "end_error", "nuke - unhandled ending") /* diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 137514d1e3..f89833d315 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -175,6 +175,7 @@ continue var/mob/living/carbon/human/H = X if(H.stat == DEAD) + H.dust(TRUE) spooky_scaries.Remove(X) continue listclearnulls(spooky_scaries) @@ -584,7 +585,7 @@ var/turf/T = get_turf(user) playsound(T,'sound/magic/WarpWhistle.ogg', 200, 1) user.canmove = 0 - new /obj/effect/overlay/temp/tornado(T) + new /obj/effect/temp_visual/tornado(T) sleep(20) if(interrupted(user)) return @@ -602,7 +603,7 @@ T = potential_T break breakout += 1 - new /obj/effect/overlay/temp/tornado(T) + new /obj/effect/temp_visual/tornado(T) sleep(20) if(interrupted(user)) return @@ -620,7 +621,7 @@ last_user.canmove = 1 return ..() -/obj/effect/overlay/temp/tornado +/obj/effect/temp_visual/tornado icon = 'icons/obj/wizard.dmi' icon_state = "tornado" name = "tornado" @@ -630,6 +631,6 @@ duration = 40 pixel_x = 500 -/obj/effect/overlay/temp/tornado/Initialize() +/obj/effect/temp_visual/tornado/Initialize() . = ..() animate(src, pixel_x = -500, time = 40) diff --git a/code/game/machinery/dance_machine.dm b/code/game/machinery/dance_machine.dm index 3e36776773..8632243b67 100644 --- a/code/game/machinery/dance_machine.dm +++ b/code/game/machinery/dance_machine.dm @@ -236,7 +236,7 @@ /obj/machinery/disco/proc/hierofunk() for(var/i in 1 to 10) - spawn_atom_to_turf(/obj/effect/overlay/temp/hierophant/telegraph/edge, src, 1, FALSE) + spawn_atom_to_turf(/obj/effect/temp_visual/hierophant/telegraph/edge, src, 1, FALSE) sleep(5) /obj/machinery/disco/proc/lights_spin() diff --git a/code/game/machinery/doors/airlock_types.dm b/code/game/machinery/doors/airlock_types.dm index 18d60559bd..7f914971b2 100644 --- a/code/game/machinery/doors/airlock_types.dm +++ b/code/game/machinery/doors/airlock_types.dm @@ -363,7 +363,7 @@ assemblytype = /obj/structure/door_assembly/door_assembly_cult hackProof = 1 aiControlDisabled = 1 - var/openingoverlaytype = /obj/effect/overlay/temp/cult/door + var/openingoverlaytype = /obj/effect/temp_visual/cult/door var/friendly = FALSE /obj/machinery/door/airlock/cult/New() @@ -380,7 +380,7 @@ new openingoverlaytype(loc) return 1 else - new /obj/effect/overlay/temp/cult/sac(loc) + new /obj/effect/temp_visual/cult/sac(loc) var/atom/throwtarget throwtarget = get_edge_target_turf(src, get_dir(src, get_step_away(M, src))) M << pick(sound('sound/hallucinations/turn_around1.ogg',0,1,50), sound('sound/hallucinations/turn_around2.ogg',0,1,50)) @@ -407,7 +407,7 @@ icon = 'icons/obj/doors/airlocks/cult/unruned/cult.dmi' overlays_file = 'icons/obj/doors/airlocks/cult/unruned/overlays.dmi' assemblytype = /obj/structure/door_assembly/door_assembly_cult/unruned - openingoverlaytype = /obj/effect/overlay/temp/cult/door/unruned + openingoverlaytype = /obj/effect/temp_visual/cult/door/unruned /obj/machinery/door/airlock/cult/unruned/friendly friendly = TRUE @@ -438,8 +438,8 @@ /obj/machinery/door/airlock/clockwork/New() ..() var/turf/T = get_turf(src) - new /obj/effect/overlay/temp/ratvar/door(T) - new /obj/effect/overlay/temp/ratvar/beam/door(T) + new /obj/effect/temp_visual/ratvar/door(T) + new /obj/effect/temp_visual/ratvar/beam/door(T) change_construction_value(5) /obj/machinery/door/airlock/clockwork/Destroy() diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index 99cdc1adc3..c03738fd0b 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -328,7 +328,7 @@ /obj/machinery/door/window/clockwork/setDir(direct) if(!made_glow) - var/obj/effect/E = new /obj/effect/overlay/temp/ratvar/door/window(get_turf(src)) + var/obj/effect/E = new /obj/effect/temp_visual/ratvar/door/window(get_turf(src)) E.setDir(direct) made_glow = TRUE ..() diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm index 96b0029134..a224efd91c 100644 --- a/code/game/machinery/machinery.dm +++ b/code/game/machinery/machinery.dm @@ -159,7 +159,7 @@ Class Procs: /obj/machinery/emp_act(severity) if(use_power && !stat) use_power(7500/severity) - new /obj/effect/overlay/temp/emp(loc) + new /obj/effect/temp_visual/emp(loc) ..() /obj/machinery/proc/open_machine(drop = 1) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 6bab77fd6f..ae9d485447 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -1,9 +1,9 @@ #define TURRET_STUN 0 #define TURRET_LETHAL 1 -#define POPUP_ANIM_TIME 5 -#define POPDOWN_ANIM_TIME 5 //Be sure to change the icon animation at the same time or it'll look bad - +#define POPUP_ANIM_TIME 5 +#define POPDOWN_ANIM_TIME 5 //Be sure to change the icon animation at the same time or it'll look bad + /obj/machinery/porta_turret name = "turret" icon = 'icons/obj/turrets.dmi' @@ -87,9 +87,9 @@ if(has_cover) cover = new /obj/machinery/porta_turret_cover(loc) cover.parent_turret = src - underlays += image('icons/obj/turrets.dmi',icon_state = "basedark") + underlays += image('icons/obj/turrets.dmi',icon_state = "basedark") if(!has_cover) - INVOKE_ASYNC(src, .proc/popUp) + INVOKE_ASYNC(src, .proc/popUp) /obj/machinery/porta_turret/update_icon() cut_overlays() @@ -368,10 +368,10 @@ var/list/targets = list() var/turretview = view(scan_range, base) for(var/A in turretview) - var/atom/AA = A - if(AA.invisibility>SEE_INVISIBLE_LIVING) - continue - + var/atom/AA = A + if(AA.invisibility>SEE_INVISIBLE_LIVING) + continue + if(check_anomalies)//if it's set to check for simple animals if(istype(A, /mob/living/simple_animal)) var/mob/living/simple_animal/SA = A @@ -426,7 +426,7 @@ raising = 1 if(cover) flick("popup", cover) - sleep(POPUP_ANIM_TIME) + sleep(POPUP_ANIM_TIME) raising = 0 if(cover) cover.icon_state = "openTurretCover" @@ -442,7 +442,7 @@ raising = 1 if(cover) flick("popdown", cover) - sleep(POPDOWN_ANIM_TIME) + sleep(POPDOWN_ANIM_TIME) raising = 0 if(cover) cover.icon_state = "turretCover" @@ -792,7 +792,7 @@ /obj/item/wallframe/turret_control name = "turret control frame" desc = "Used for building turret control panels" - icon_state = "apc" + icon_state = "apc" result_path = /obj/machinery/turretid materials = list(MAT_METAL=MINERAL_MATERIAL_AMOUNT) @@ -921,3 +921,170 @@ on = 0 spawn(100) on = 1 + +/////// MANNED TURRET //////// + +/obj/machinery/manned_turret + name = "machine gun turret" + desc = "While the trigger is held down, this gun will redistribute recoil to allow its user to easily shift targets." + icon = 'icons/obj/turrets.dmi' + icon_state = "machinegun" + can_buckle = TRUE + density = TRUE + max_integrity = 100 + obj_integrity = 100 + buckle_lying = 0 + layer = ABOVE_MOB_LAYER + var/view_range = 10 + var/cooldown = 0 + var/projectile_type = /obj/item/projectile/bullet/weakbullet3 + var/rate_of_fire = 1 + var/number_of_shots = 40 + var/cooldown_duration = 90 + var/atom/target + var/turf/target_turf + var/warned = FALSE + +//BUCKLE HOOKS + +/obj/machinery/manned_turret/unbuckle_mob(mob/living/buckled_mob,force = 0) + playsound(src,'sound/mecha/mechmove01.ogg', 50, 1) + for(var/obj/item/I in buckled_mob.held_items) + if(istype(I, /obj/item/gun_control)) + qdel(I) + if(istype(buckled_mob)) + buckled_mob.pixel_x = 0 + buckled_mob.pixel_y = 0 + if(buckled_mob.client) + buckled_mob.client.change_view(world.view) + anchored = FALSE + . = ..() + +/obj/machinery/manned_turret/user_buckle_mob(mob/living/M, mob/living/carbon/user) + if(user.incapacitated() || !istype(user)) + return + M.forceMove(get_turf(src)) + ..() + for(var/V in M.held_items) + var/obj/item/I = V + if(istype(I)) + if(M.dropItemToGround(I)) + var/obj/item/gun_control/TC = new /obj/item/gun_control(src) + M.put_in_hands(TC) + else //Entries in the list should only ever be items or null, so if it's not an item, we can assume it's an empty hand + var/obj/item/gun_control/TC = new /obj/item/gun_control(src) + M.put_in_hands(TC) + M.pixel_y = 14 + layer = ABOVE_MOB_LAYER + setDir(SOUTH) + playsound(src,'sound/mecha/mechmove01.ogg', 50, 1) + anchored = TRUE + if(user.client) + user.client.change_view(view_range) + +/obj/item/gun_control + name = "turret controls" + icon = 'icons/obj/weapons.dmi' + icon_state = "offhand" + w_class = WEIGHT_CLASS_HUGE + flags = ABSTRACT | NODROP + resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF | NOBLUDGEON + var/obj/machinery/manned_turret/turret + +/obj/item/gun_control/New(obj/machinery/manned_turret/MT) + if(MT) + turret = MT + else + qdel(src) + +/obj/item/gun_control/CanItemAutoclick() + return 1 + +/obj/item/gun_control/afterattack(atom/targeted_atom, mob/user) + ..() + var/obj/machinery/manned_turret/E = user.buckled + E.setDir(get_dir(E,targeted_atom)) + user.setDir(E.dir) + switch(E.dir) + if(NORTH) + E.layer = BELOW_MOB_LAYER + user.pixel_x = 0 + user.pixel_y = -14 + if(NORTHEAST) + E.layer = BELOW_MOB_LAYER + user.pixel_x = -8 + user.pixel_y = -4 + if(EAST) + E.layer = ABOVE_MOB_LAYER + user.pixel_x = -14 + user.pixel_y = 0 + if(SOUTHEAST) + E.layer = BELOW_MOB_LAYER + user.pixel_x = -8 + user.pixel_y = 4 + if(SOUTH) + E.layer = ABOVE_MOB_LAYER + user.pixel_x = 0 + user.pixel_y = 14 + if(SOUTHWEST) + E.layer = BELOW_MOB_LAYER + user.pixel_x = 8 + user.pixel_y = 4 + if(WEST) + E.layer = ABOVE_MOB_LAYER + user.pixel_x = 14 + user.pixel_y = 0 + if(NORTHWEST) + E.layer = BELOW_MOB_LAYER + user.pixel_x = 8 + user.pixel_y = -4 + E.checkfire(targeted_atom, user) + +/obj/machinery/manned_turret/proc/checkfire(atom/targeted_atom, mob/user) + target = targeted_atom + if(target == user || target == get_turf(src)) + return + if(world.time < cooldown) + if(!warned && world.time > (cooldown - cooldown_duration + rate_of_fire*number_of_shots)) // To capture the window where one is done firing + warned = TRUE + playsound(src, 'sound/weapons/sear.ogg', 100, 1) + return + else + cooldown = world.time + cooldown_duration + warned = FALSE + INVOKE_ASYNC(src, /obj/machinery/manned_turret/.proc/volley) + +/obj/machinery/manned_turret/proc/volley() + target_turf = get_turf(target) + for(var/i in 1 to number_of_shots) + addtimer(CALLBACK(src, /obj/machinery/manned_turret/.proc/fire_helper), i*rate_of_fire) + + +/obj/machinery/manned_turret/proc/fire_helper() + if(!src) + return + var/turf/targets_from = get_turf(src) + if(QDELETED(target)) + target = target_turf + var/obj/item/projectile/P = new projectile_type(targets_from) + P.current = targets_from + P.starting = targets_from + P.firer = src + P.original = target + playsound(src, 'sound/weapons/Gunshot_smg.ogg', 75, 1) + P.yo = target.y - targets_from.y + rand(-1,1) + P.xo = target.x - targets_from.x + rand(-1,1) + P.fire() + +/obj/machinery/manned_turret/ultimate // Admin-only proof of concept for autoclicker automatics + name = "Infinity Gun" + view_range = 12 + projectile_type = /obj/item/projectile/bullet/weakbullet3 + + +/obj/machinery/manned_turret/ultimate/checkfire(atom/targeted_atom, mob/user) + target = targeted_atom + if(target == user || target == get_turf(src)) + return + target_turf = get_turf(target) + fire_helper(target_turf) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index ebe4c79730..6c86899cf0 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1152,6 +1152,32 @@ IF YOU MODIFY THE PRODUCTS LIST OF A MACHINE, MAKE SURE TO UPDATE ITS RESUPPLY C 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/suit/jacket/leather/overcoat=1,/obj/item/clothing/under/pants/mustangjeans=1,/obj/item/clothing/neck/necklace/dope=3,/obj/item/clothing/suit/jacket/letterman_nanotrasen=1) refill_canister = /obj/item/weapon/vending_refill/clothing +/obj/machinery/vending/toyliberationstation + name = "\improper Syndicate Donksoft Toy Vendor" + desc = "A ages 8 and up approved vendor that dispenses toys. If you were to find the right wires, you can unlock the adult mode setting!" + icon_state = "syndi" + req_access_txt = "1" + product_slogans = "Get your cool toys today!;Trigger a valid hunter today!;Quality toy weapons for cheap prices!;Give them to HoPs for all access!;Give them to HoS to get perma briged!" + product_ads = "Feel robust with your toys!;Express your inner child today!;Toy weapons don't kill people, but valid hunters do!;Who needs responsibilities when you have toy weapons?;Make your next murder FUN!" + vend_reply = "Come back for more!" + products = list(/obj/item/weapon/gun/ballistic/automatic/toy/unrestricted = 10, + /obj/item/weapon/gun/ballistic/automatic/toy/pistol/unrestricted = 10, + /obj/item/weapon/gun/ballistic/shotgun/toy/unrestricted = 10, + /obj/item/toy/sword = 10, /obj/item/ammo_box/foambox = 20, + /obj/item/toy/foamblade = 10, + /obj/item/toy/syndicateballoon = 10, + /obj/item/clothing/suit/syndicatefake = 5, + /obj/item/clothing/head/syndicatefake = 5) //OPS IN DORMS oh wait it's just a assistant + contraband = list(/obj/item/weapon/gun/ballistic/shotgun/toy/crossbow = 10, //Congrats, you unlocked the +18 setting! + /obj/item/weapon/gun/ballistic/automatic/c20r/toy/unrestricted = 10, + /obj/item/weapon/gun/ballistic/automatic/l6_saw/toy/unrestricted = 10, + /obj/item/ammo_box/foambox/riot = 20, + /obj/item/toy/katana = 10, + /obj/item/weapon/twohanded/dualsaber/toy = 5, + /obj/item/toy/cards/deck/syndicate = 10) //Gambling and it hurts, making it a +18 item + armor = list(melee = 100, bullet = 100, laser = 100, energy = 100, bomb = 0, bio = 0, rad = 0, fire = 100, acid = 50) + resistance_flags = FIRE_PROOF + #undef STANDARD_CHARGE #undef CONTRABAND_CHARGE #undef COIN_CHARGE diff --git a/code/game/mecha/equipment/tools/mining_tools.dm b/code/game/mecha/equipment/tools/mining_tools.dm index 61151f086f..dbee8bd677 100644 --- a/code/game/mecha/equipment/tools/mining_tools.dm +++ b/code/game/mecha/equipment/tools/mining_tools.dm @@ -64,12 +64,9 @@ /obj/item/mecha_parts/mecha_equipment/drill/proc/move_ores() - if(locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in chassis.equipment) - var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in chassis:cargo - if(ore_box) - for(var/obj/item/weapon/ore/ore in range(1, chassis)) - if(get_dir(chassis,ore)&chassis.dir) - ore.Move(ore_box) + if(locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in chassis.equipment && istype(chassis, /obj/mecha/working/ripley)) + var/obj/mecha/working/ripley/R = chassis //we could assume that it's a ripley because it has a clamp, but that's ~unsafe~ and ~bad practice~ + R.collect_ore() /obj/item/mecha_parts/mecha_equipment/drill/can_attach(obj/mecha/M as obj) if(..()) @@ -109,36 +106,19 @@ icon_state = "mecha_analyzer" selectable = 0 equip_cooldown = 30 - var/scanning = 0 + var/scanning_time = 0 /obj/item/mecha_parts/mecha_equipment/mining_scanner/New() ..() START_PROCESSING(SSobj, src) -/obj/item/mecha_parts/mecha_equipment/mining_scanner/attach(obj/mecha/M) - ..() - M.occupant_sight_flags |= SEE_TURFS - if(M.occupant) - M.occupant.update_sight() - -/obj/item/mecha_parts/mecha_equipment/mining_scanner/detach() - chassis.occupant_sight_flags &= ~SEE_TURFS - if(chassis.occupant) - chassis.occupant.update_sight() - return ..() - /obj/item/mecha_parts/mecha_equipment/mining_scanner/process() if(!loc) STOP_PROCESSING(SSobj, src) qdel(src) - if(scanning) - return - if(istype(loc,/obj/mecha/working)) + if(istype(loc,/obj/mecha/working) && scanning_time <= world.time) var/obj/mecha/working/mecha = loc if(!mecha.occupant) return - var/list/L = list(mecha.occupant) - scanning = 1 - mineral_scan_pulse(L,get_turf(loc)) - spawn(equip_cooldown) - scanning = 0 + scanning_time = world.time + equip_cooldown + mineral_scan_pulse(get_turf(src)) diff --git a/code/game/mecha/equipment/weapons/weapons.dm b/code/game/mecha/equipment/weapons/weapons.dm index 1d7d9072c9..1cd46f24ea 100644 --- a/code/game/mecha/equipment/weapons/weapons.dm +++ b/code/game/mecha/equipment/weapons/weapons.dm @@ -8,7 +8,7 @@ var/variance = 0 var/randomspread = 0 //use random spread for machineguns, instead of shotgun scatter var/projectile_delay = 0 - var/firing_effect_type = /obj/effect/overlay/temp/dir_setting/firing_effect //the visual effect appearing when the weapon is fired. + var/firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect //the visual effect appearing when the weapon is fired. /obj/item/mecha_parts/mecha_equipment/weapon/can_attach(obj/mecha/combat/M) if(..()) @@ -60,7 +60,7 @@ //Base energy weapon type /obj/item/mecha_parts/mecha_equipment/weapon/energy name = "general energy weapon" - firing_effect_type = /obj/effect/overlay/temp/dir_setting/firing_effect/energy + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/energy /obj/item/mecha_parts/mecha_equipment/weapon/energy/get_shot_amount() return min(round(chassis.cell.charge / energy_drain), projectiles_per_shot) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 25ba38c51c..66cc6be38a 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -37,7 +37,6 @@ var/list/facing_modifiers = list(FRONT_ARMOUR = 1.5, SIDE_ARMOUR = 1, BACK_ARMOUR = 0.5) var/obj/item/weapon/stock_parts/cell/cell var/state = 0 - var/cell_power_remaining = 1 // 0 - no power, 1 - 100% power in cell. Starts as 1 so putting any cell into empty mech doesn't deplete charge from it var/list/log = new var/last_message = 0 var/add_req_access = 1 diff --git a/code/game/mecha/mecha_defense.dm b/code/game/mecha/mecha_defense.dm index ccb7901d63..94f68c66d0 100644 --- a/code/game/mecha/mecha_defense.dm +++ b/code/game/mecha/mecha_defense.dm @@ -213,7 +213,6 @@ clearInternalDamage(MECHA_INT_TEMP_CONTROL) to_chat(user, "You repair the damaged temperature controller.") else if(state==3 && cell) - cell_power_remaining = max(0.1, cell.charge/cell.maxcharge) //10% charge or whatever is remaining in the current cell cell.forceMove(loc) cell = null state = 4 @@ -232,7 +231,6 @@ var/obj/item/weapon/stock_parts/cell/C = W to_chat(user, "You install the powercell.") C.forceMove(src) - C.use(max(0, C.charge - C.maxcharge*cell_power_remaining)) //Set inserted cell's power to saved percentage if that's higher cell = C log_message("Powercell installed") else diff --git a/code/game/mecha/working/ripley.dm b/code/game/mecha/working/ripley.dm index aca6b7a778..a752811fe7 100644 --- a/code/game/mecha/working/ripley.dm +++ b/code/game/mecha/working/ripley.dm @@ -19,12 +19,17 @@ /obj/mecha/working/ripley/Move() . = ..() - if(. && (locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in equipment)) + if(.) + collect_ore() + update_pressure() + +/obj/mecha/working/ripley/proc/collect_ore() + if(locate(/obj/item/mecha_parts/mecha_equipment/hydraulic_clamp) in equipment) var/obj/structure/ore_box/ore_box = locate(/obj/structure/ore_box) in cargo if(ore_box) - for(var/obj/item/weapon/ore/ore in get_turf(src)) - ore.Move(ore_box) - update_pressure() + for(var/obj/item/weapon/ore/ore in range(1, src)) + if(ore.Adjacent(src) && ((get_dir(src, ore) & dir) || ore.loc == loc)) //we can reach it and it's in front of us? grab it! + ore.forceMove(ore_box) /obj/mecha/working/ripley/Destroy() for(var/i=1, i <= hides, i++) diff --git a/code/game/objects/effects/decals/crayon.dm b/code/game/objects/effects/decals/crayon.dm index af205fd132..53ecfc8d62 100644 --- a/code/game/objects/effects/decals/crayon.dm +++ b/code/game/objects/effects/decals/crayon.dm @@ -8,7 +8,7 @@ /obj/effect/decal/cleanable/crayon/Initialize(mapload, main = "#FFFFFF", var/type = "rune1", var/e_name = "rune", var/rotation = 0, var/alt_icon = null) ..() - + name = e_name desc = "A [name] vandalizing the station." if(type == "poseur tag") @@ -30,22 +30,25 @@ layer = HIGH_OBJ_LAYER //Harder to hide do_icon_rotate = FALSE //These are designed to always face south, so no rotation please. var/datum/gang/gang + var/obj/item/device/gangtool/linked_tool + var/area/territory -/obj/effect/decal/cleanable/crayon/gang/Initialize(mapload, var/datum/gang/G, var/e_name = "gang tag", var/rotation = 0) +/obj/effect/decal/cleanable/crayon/gang/Initialize(mapload, var/datum/gang/G, var/e_name = "gang tag", var/rotation = 0, var/mob/user) if(!type || !G) qdel(src) - - var/area/territory = get_area(src) + territory = get_area(src) gang = G var/newcolor = G.color_hex icon_state = G.name G.territory_new |= list(territory.type = territory.name) - + linked_tool = locate(/obj/item/device/gangtool) in user.contents + if(linked_tool) + linked_tool.tags += src ..(mapload, newcolor, icon_state, e_name, rotation) /obj/effect/decal/cleanable/crayon/gang/Destroy() - var/area/territory = get_area(src) - + if(linked_tool) + linked_tool.tags -= src if(gang) gang.territory -= territory.type gang.territory_new -= territory.type diff --git a/code/game/objects/effects/decals/misc.dm b/code/game/objects/effects/decals/misc.dm index c2146daa82..e03325fb93 100644 --- a/code/game/objects/effects/decals/misc.dm +++ b/code/game/objects/effects/decals/misc.dm @@ -1,11 +1,11 @@ -/obj/effect/overlay/temp/point +/obj/effect/temp_visual/point name = "pointer" icon = 'icons/mob/screen_gen.dmi' icon_state = "arrow" layer = POINT_LAYER duration = 25 -/obj/effect/overlay/temp/point/Initialize(mapload, set_invis = 0) +/obj/effect/temp_visual/point/Initialize(mapload, set_invis = 0) ..() var/atom/old_loc = loc loc = get_turf(src) diff --git a/code/game/objects/effects/proximity.dm b/code/game/objects/effects/proximity.dm index bfa6cd8fa9..62471505d0 100644 --- a/code/game/objects/effects/proximity.dm +++ b/code/game/objects/effects/proximity.dm @@ -93,6 +93,4 @@ /obj/effect/abstract/proximity_checker/Crossed(atom/movable/AM) set waitfor = FALSE - var/atom/H = monitor.host - testing("HasProx: [H] -> [AM]") - H.HasProximity(AM) + monitor.host.HasProximity(AM) diff --git a/code/game/objects/effects/spawners/xeno_egg_delivery.dm b/code/game/objects/effects/spawners/xeno_egg_delivery.dm index 91db494d9b..a452dae749 100644 --- a/code/game/objects/effects/spawners/xeno_egg_delivery.dm +++ b/code/game/objects/effects/spawners/xeno_egg_delivery.dm @@ -10,7 +10,7 @@ var/area/A = get_area(T) new /obj/structure/alien/egg(T) - new /obj/effect/overlay/temp/gravpush(T) + new /obj/effect/temp_visual/gravpush(T) playsound(T, 'sound/items/party_horn.ogg', 50, 1, -1) message_admins("An alien egg has been delivered to [A] at [ADMIN_COORDJMP(T)].") diff --git a/code/game/objects/effects/temporary_visuals/clockcult.dm b/code/game/objects/effects/temporary_visuals/clockcult.dm index 65c9d30e47..1eae2a3c64 100644 --- a/code/game/objects/effects/temporary_visuals/clockcult.dm +++ b/code/game/objects/effects/temporary_visuals/clockcult.dm @@ -1,68 +1,68 @@ -//temporary visual effects(/obj/effect/overlay/temp) used by clockcult stuff -/obj/effect/overlay/temp/ratvar +//temporary visual effects(/obj/effect/temp_visual) used by clockcult stuff +/obj/effect/temp_visual/ratvar name = "ratvar's light" icon = 'icons/effects/clockwork_effects.dmi' duration = 8 randomdir = 0 layer = ABOVE_NORMAL_TURF_LAYER -/obj/effect/overlay/temp/ratvar/door +/obj/effect/temp_visual/ratvar/door icon_state = "ratvardoorglow" layer = CLOSED_DOOR_LAYER //above closed doors -/obj/effect/overlay/temp/ratvar/door/window +/obj/effect/temp_visual/ratvar/door/window icon_state = "ratvarwindoorglow" layer = ABOVE_WINDOW_LAYER -/obj/effect/overlay/temp/ratvar/beam +/obj/effect/temp_visual/ratvar/beam icon_state = "ratvarbeamglow" -/obj/effect/overlay/temp/ratvar/beam/door +/obj/effect/temp_visual/ratvar/beam/door layer = CLOSED_DOOR_LAYER -/obj/effect/overlay/temp/ratvar/beam/grille +/obj/effect/temp_visual/ratvar/beam/grille layer = BELOW_OBJ_LAYER -/obj/effect/overlay/temp/ratvar/beam/itemconsume +/obj/effect/temp_visual/ratvar/beam/itemconsume layer = HIGH_OBJ_LAYER -/obj/effect/overlay/temp/ratvar/beam/falsewall +/obj/effect/temp_visual/ratvar/beam/falsewall layer = OBJ_LAYER -/obj/effect/overlay/temp/ratvar/beam/catwalk +/obj/effect/temp_visual/ratvar/beam/catwalk layer = LATTICE_LAYER -/obj/effect/overlay/temp/ratvar/wall +/obj/effect/temp_visual/ratvar/wall icon_state = "ratvarwallglow" -/obj/effect/overlay/temp/ratvar/wall/false +/obj/effect/temp_visual/ratvar/wall/false layer = OBJ_LAYER -/obj/effect/overlay/temp/ratvar/floor +/obj/effect/temp_visual/ratvar/floor icon_state = "ratvarfloorglow" -/obj/effect/overlay/temp/ratvar/floor/catwalk +/obj/effect/temp_visual/ratvar/floor/catwalk layer = LATTICE_LAYER -/obj/effect/overlay/temp/ratvar/window +/obj/effect/temp_visual/ratvar/window icon_state = "ratvarwindowglow" layer = ABOVE_OBJ_LAYER -/obj/effect/overlay/temp/ratvar/window/single +/obj/effect/temp_visual/ratvar/window/single icon_state = "ratvarwindowglow_s" -/obj/effect/overlay/temp/ratvar/gear +/obj/effect/temp_visual/ratvar/gear icon_state = "ratvargearglow" layer = BELOW_OBJ_LAYER -/obj/effect/overlay/temp/ratvar/grille +/obj/effect/temp_visual/ratvar/grille icon_state = "ratvargrilleglow" layer = BELOW_OBJ_LAYER -/obj/effect/overlay/temp/ratvar/grille/broken +/obj/effect/temp_visual/ratvar/grille/broken icon_state = "ratvarbrokengrilleglow" -/obj/effect/overlay/temp/ratvar/mending_mantra +/obj/effect/temp_visual/ratvar/mending_mantra layer = ABOVE_MOB_LAYER duration = 20 alpha = 200 @@ -70,7 +70,7 @@ light_range = 1.5 light_color = "#1E8CE1" -/obj/effect/overlay/temp/ratvar/mending_mantra/Initialize(mapload) +/obj/effect/temp_visual/ratvar/mending_mantra/Initialize(mapload) . = ..() transform = matrix()*2 var/matrix/M = transform @@ -78,7 +78,7 @@ animate(src, alpha = 20, time = duration, easing = BOUNCE_EASING, flags = ANIMATION_PARALLEL) animate(src, transform = M, time = duration, flags = ANIMATION_PARALLEL) -/obj/effect/overlay/temp/ratvar/volt_hit +/obj/effect/temp_visual/ratvar/volt_hit name = "volt blast" layer = ABOVE_MOB_LAYER duration = 5 @@ -89,13 +89,13 @@ var/mob/user var/damage = 20 -/obj/effect/overlay/temp/ratvar/volt_hit/Initialize(mapload, caster, multiplier) +/obj/effect/temp_visual/ratvar/volt_hit/Initialize(mapload, caster, multiplier) if(multiplier) damage *= multiplier duration = max(round(damage * 0.2), 1) . = ..() -/obj/effect/overlay/temp/ratvar/volt_hit/true/Initialize(mapload, caster, multiplier) +/obj/effect/temp_visual/ratvar/volt_hit/true/Initialize(mapload, caster, multiplier) . = ..() user = caster if(user) @@ -104,7 +104,7 @@ transform = M INVOKE_ASYNC(src, .proc/volthit) -/obj/effect/overlay/temp/ratvar/volt_hit/proc/volthit() +/obj/effect/temp_visual/ratvar/volt_hit/proc/volthit() if(user) Beam(get_turf(user), "volt_ray", time=duration, maxdistance=8, beam_type=/obj/effect/ebeam/volt_ray) var/hit_amount = 0 @@ -134,61 +134,61 @@ else playsound(src, "sparks", 50, 1) -/obj/effect/overlay/temp/ratvar/ocular_warden +/obj/effect/temp_visual/ratvar/ocular_warden name = "warden's gaze" layer = ABOVE_MOB_LAYER icon_state = "warden_gaze" duration = 3 -/obj/effect/overlay/temp/ratvar/ocular_warden/Initialize() +/obj/effect/temp_visual/ratvar/ocular_warden/Initialize() . = ..() pixel_x = rand(-8, 8) pixel_y = rand(-10, 10) animate(src, alpha = 0, time = 3, easing = EASE_OUT) -/obj/effect/overlay/temp/ratvar/spearbreak +/obj/effect/temp_visual/ratvar/spearbreak icon = 'icons/effects/64x64.dmi' icon_state = "ratvarspearbreak" layer = BELOW_MOB_LAYER pixel_y = -16 pixel_x = -16 -/obj/effect/overlay/temp/ratvar/geis_binding +/obj/effect/temp_visual/ratvar/geis_binding icon_state = "geisbinding" -/obj/effect/overlay/temp/ratvar/geis_binding/top +/obj/effect/temp_visual/ratvar/geis_binding/top icon_state = "geisbinding_top" -/obj/effect/overlay/temp/ratvar/component +/obj/effect/temp_visual/ratvar/component icon = 'icons/obj/clockwork_objects.dmi' icon_state = "belligerent_eye" layer = ABOVE_MOB_LAYER duration = 10 -/obj/effect/overlay/temp/ratvar/component/Initialize() +/obj/effect/temp_visual/ratvar/component/Initialize() . = ..() transform = matrix()*0.75 pixel_x = rand(-10, 10) pixel_y = rand(-10, -2) animate(src, pixel_y = pixel_y + 10, alpha = 50, time = 10, easing = EASE_OUT) -/obj/effect/overlay/temp/ratvar/component/cogwheel +/obj/effect/temp_visual/ratvar/component/cogwheel icon_state = "vanguard_cogwheel" -/obj/effect/overlay/temp/ratvar/component/capacitor +/obj/effect/temp_visual/ratvar/component/capacitor icon_state = "geis_capacitor" -/obj/effect/overlay/temp/ratvar/component/alloy +/obj/effect/temp_visual/ratvar/component/alloy icon_state = "replicant_alloy" -/obj/effect/overlay/temp/ratvar/component/ansible +/obj/effect/temp_visual/ratvar/component/ansible icon_state = "hierophant_ansible" -/obj/effect/overlay/temp/ratvar/sigil +/obj/effect/temp_visual/ratvar/sigil name = "glowing circle" icon_state = "sigildull" -/obj/effect/overlay/temp/ratvar/sigil/transgression +/obj/effect/temp_visual/ratvar/sigil/transgression color = "#FAE48C" layer = ABOVE_MOB_LAYER duration = 70 @@ -196,13 +196,13 @@ light_power = 2 light_color = "#FAE48C" -/obj/effect/overlay/temp/ratvar/sigil/transgression/Initialize() +/obj/effect/temp_visual/ratvar/sigil/transgression/Initialize() . = ..() var/oldtransform = transform animate(src, transform = matrix()*2, time = 5) animate(transform = oldtransform, alpha = 0, time = 65) -/obj/effect/overlay/temp/ratvar/sigil/vitality +/obj/effect/temp_visual/ratvar/sigil/vitality color = "#1E8CE1" icon_state = "sigilactivepulse" layer = ABOVE_MOB_LAYER @@ -210,7 +210,7 @@ light_power = 0.5 light_color = "#1E8CE1" -/obj/effect/overlay/temp/ratvar/sigil/accession +/obj/effect/temp_visual/ratvar/sigil/accession color = "#AF0AAF" layer = ABOVE_MOB_LAYER duration = 70 diff --git a/code/game/objects/effects/temporary_visuals/cult.dm b/code/game/objects/effects/temporary_visuals/cult.dm index ad3f84fe06..78cc50cfc1 100644 --- a/code/game/objects/effects/temporary_visuals/cult.dm +++ b/code/game/objects/effects/temporary_visuals/cult.dm @@ -1,58 +1,58 @@ -//temporary visual effects(/obj/effect/overlay/temp) used by cult stuff -/obj/effect/overlay/temp/cult +//temporary visual effects(/obj/effect/temp_visual) used by cult stuff +/obj/effect/temp_visual/cult icon = 'icons/effects/cult_effects.dmi' randomdir = 0 duration = 10 -/obj/effect/overlay/temp/cult/sparks +/obj/effect/temp_visual/cult/sparks randomdir = 1 name = "blood sparks" icon_state = "bloodsparkles" -/obj/effect/overlay/temp/cult/blood // The traditional teleport +/obj/effect/temp_visual/cult/blood // The traditional teleport name = "blood jaunt" duration = 12 icon_state = "bloodin" -/obj/effect/overlay/temp/cult/blood/out +/obj/effect/temp_visual/cult/blood/out icon_state = "bloodout" -/obj/effect/overlay/temp/dir_setting/cult/phase // The veil shifter teleport +/obj/effect/temp_visual/dir_setting/cult/phase // The veil shifter teleport name = "phase glow" duration = 7 icon_state = "cultin" -/obj/effect/overlay/temp/dir_setting/cult/phase/out +/obj/effect/temp_visual/dir_setting/cult/phase/out icon_state = "cultout" -/obj/effect/overlay/temp/cult/sac +/obj/effect/temp_visual/cult/sac name = "maw of Nar-Sie" icon_state = "sacconsume" -/obj/effect/overlay/temp/cult/door +/obj/effect/temp_visual/cult/door name = "unholy glow" icon_state = "doorglow" layer = CLOSED_FIREDOOR_LAYER //above closed doors -/obj/effect/overlay/temp/cult/door/unruned +/obj/effect/temp_visual/cult/door/unruned icon_state = "unruneddoorglow" -/obj/effect/overlay/temp/cult/turf +/obj/effect/temp_visual/cult/turf name = "unholy glow" icon_state = "wallglow" layer = ABOVE_NORMAL_TURF_LAYER -/obj/effect/overlay/temp/cult/turf/floor +/obj/effect/temp_visual/cult/turf/floor icon_state = "floorglow" duration = 5 //visuals for runes being magically created -/obj/effect/overlay/temp/cult/rune_spawn +/obj/effect/temp_visual/cult/rune_spawn icon_state = "runeouter" alpha = 0 var/turnedness = 179 //179 turns counterclockwise, 181 turns clockwise -/obj/effect/overlay/temp/cult/rune_spawn/Initialize(mapload, set_duration, set_color) +/obj/effect/temp_visual/cult/rune_spawn/Initialize(mapload, set_duration, set_color) if(isnum(set_duration)) duration = set_duration if(set_color) @@ -66,79 +66,79 @@ animate(src, alpha = 255, time = duration, easing = BOUNCE_EASING, flags = ANIMATION_PARALLEL) animate(src, transform = oldtransform, time = duration, flags = ANIMATION_PARALLEL) -/obj/effect/overlay/temp/cult/rune_spawn/rune1 +/obj/effect/temp_visual/cult/rune_spawn/rune1 icon_state = "rune1words" turnedness = 181 -/obj/effect/overlay/temp/cult/rune_spawn/rune1/inner +/obj/effect/temp_visual/cult/rune_spawn/rune1/inner icon_state = "rune1inner" turnedness = 179 -/obj/effect/overlay/temp/cult/rune_spawn/rune1/center +/obj/effect/temp_visual/cult/rune_spawn/rune1/center icon_state = "rune1center" -/obj/effect/overlay/temp/cult/rune_spawn/rune2 +/obj/effect/temp_visual/cult/rune_spawn/rune2 icon_state = "rune2words" turnedness = 181 -/obj/effect/overlay/temp/cult/rune_spawn/rune2/inner +/obj/effect/temp_visual/cult/rune_spawn/rune2/inner icon_state = "rune2inner" turnedness = 179 -/obj/effect/overlay/temp/cult/rune_spawn/rune2/center +/obj/effect/temp_visual/cult/rune_spawn/rune2/center icon_state = "rune2center" -/obj/effect/overlay/temp/cult/rune_spawn/rune3 +/obj/effect/temp_visual/cult/rune_spawn/rune3 icon_state = "rune3words" turnedness = 181 -/obj/effect/overlay/temp/cult/rune_spawn/rune3/inner +/obj/effect/temp_visual/cult/rune_spawn/rune3/inner icon_state = "rune3inner" turnedness = 179 -/obj/effect/overlay/temp/cult/rune_spawn/rune3/center +/obj/effect/temp_visual/cult/rune_spawn/rune3/center icon_state = "rune3center" -/obj/effect/overlay/temp/cult/rune_spawn/rune4 +/obj/effect/temp_visual/cult/rune_spawn/rune4 icon_state = "rune4words" turnedness = 181 -/obj/effect/overlay/temp/cult/rune_spawn/rune4/inner +/obj/effect/temp_visual/cult/rune_spawn/rune4/inner icon_state = "rune4inner" turnedness = 179 -/obj/effect/overlay/temp/cult/rune_spawn/rune4/center +/obj/effect/temp_visual/cult/rune_spawn/rune4/center icon_state = "rune4center" -/obj/effect/overlay/temp/cult/rune_spawn/rune5 +/obj/effect/temp_visual/cult/rune_spawn/rune5 icon_state = "rune5words" turnedness = 181 -/obj/effect/overlay/temp/cult/rune_spawn/rune5/inner +/obj/effect/temp_visual/cult/rune_spawn/rune5/inner icon_state = "rune5inner" turnedness = 179 -/obj/effect/overlay/temp/cult/rune_spawn/rune5/center +/obj/effect/temp_visual/cult/rune_spawn/rune5/center icon_state = "rune5center" -/obj/effect/overlay/temp/cult/rune_spawn/rune6 +/obj/effect/temp_visual/cult/rune_spawn/rune6 icon_state = "rune6words" turnedness = 181 -/obj/effect/overlay/temp/cult/rune_spawn/rune6/inner +/obj/effect/temp_visual/cult/rune_spawn/rune6/inner icon_state = "rune6inner" turnedness = 179 -/obj/effect/overlay/temp/cult/rune_spawn/rune6/center +/obj/effect/temp_visual/cult/rune_spawn/rune6/center icon_state = "rune6center" -/obj/effect/overlay/temp/cult/rune_spawn/rune7 +/obj/effect/temp_visual/cult/rune_spawn/rune7 icon_state = "rune7words" turnedness = 181 -/obj/effect/overlay/temp/cult/rune_spawn/rune7/inner +/obj/effect/temp_visual/cult/rune_spawn/rune7/inner icon_state = "rune7inner" turnedness = 179 -/obj/effect/overlay/temp/cult/rune_spawn/rune7/center +/obj/effect/temp_visual/cult/rune_spawn/rune7/center icon_state = "rune7center" diff --git a/code/game/objects/effects/temporary_visuals/miscellaneous.dm b/code/game/objects/effects/temporary_visuals/miscellaneous.dm index 2ceea0aced..c3cf2a5103 100644 --- a/code/game/objects/effects/temporary_visuals/miscellaneous.dm +++ b/code/game/objects/effects/temporary_visuals/miscellaneous.dm @@ -1,12 +1,12 @@ //unsorted miscellaneous temporary visuals -/obj/effect/overlay/temp/dir_setting/bloodsplatter +/obj/effect/temp_visual/dir_setting/bloodsplatter icon = 'icons/effects/blood.dmi' duration = 5 randomdir = FALSE layer = BELOW_MOB_LAYER var/splatter_type = "splatter" -/obj/effect/overlay/temp/dir_setting/bloodsplatter/Initialize(mapload, set_dir) +/obj/effect/temp_visual/dir_setting/bloodsplatter/Initialize(mapload, set_dir) if(set_dir in GLOB.diagonals) icon_state = "[splatter_type][pick(1, 2, 6)]" else @@ -40,22 +40,22 @@ layer = ABOVE_MOB_LAYER animate(src, pixel_x = target_pixel_x, pixel_y = target_pixel_y, alpha = 0, time = duration) -/obj/effect/overlay/temp/dir_setting/bloodsplatter/xenosplatter +/obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter splatter_type = "xsplatter" -/obj/effect/overlay/temp/dir_setting/speedbike_trail +/obj/effect/temp_visual/dir_setting/speedbike_trail name = "speedbike trails" icon_state = "ion_fade" layer = BELOW_MOB_LAYER duration = 10 randomdir = 0 -/obj/effect/overlay/temp/dir_setting/firing_effect +/obj/effect/temp_visual/dir_setting/firing_effect icon = 'icons/effects/effects.dmi' icon_state = "firing_effect" duration = 2 -/obj/effect/overlay/temp/dir_setting/firing_effect/setDir(newdir) +/obj/effect/temp_visual/dir_setting/firing_effect/setDir(newdir) switch(newdir) if(NORTH) layer = BELOW_MOB_LAYER @@ -69,84 +69,84 @@ pixel_y = rand(-1,1) ..() -/obj/effect/overlay/temp/dir_setting/firing_effect/energy +/obj/effect/temp_visual/dir_setting/firing_effect/energy icon_state = "firing_effect_energy" duration = 3 -/obj/effect/overlay/temp/dir_setting/firing_effect/magic +/obj/effect/temp_visual/dir_setting/firing_effect/magic icon_state = "shieldsparkles" duration = 3 -/obj/effect/overlay/temp/dir_setting/ninja +/obj/effect/temp_visual/dir_setting/ninja name = "ninja shadow" icon = 'icons/mob/mob.dmi' icon_state = "uncloak" duration = 9 -/obj/effect/overlay/temp/dir_setting/ninja/cloak +/obj/effect/temp_visual/dir_setting/ninja/cloak icon_state = "cloak" -/obj/effect/overlay/temp/dir_setting/ninja/shadow +/obj/effect/temp_visual/dir_setting/ninja/shadow icon_state = "shadow" -/obj/effect/overlay/temp/dir_setting/ninja/phase +/obj/effect/temp_visual/dir_setting/ninja/phase name = "ninja energy" icon_state = "phasein" -/obj/effect/overlay/temp/dir_setting/ninja/phase/out +/obj/effect/temp_visual/dir_setting/ninja/phase/out icon_state = "phaseout" -/obj/effect/overlay/temp/dir_setting/wraith +/obj/effect/temp_visual/dir_setting/wraith name = "blood" icon = 'icons/mob/mob.dmi' icon_state = "phase_shift2" duration = 12 -/obj/effect/overlay/temp/dir_setting/wraith/out +/obj/effect/temp_visual/dir_setting/wraith/out icon_state = "phase_shift" -/obj/effect/overlay/temp/dir_setting/tailsweep +/obj/effect/temp_visual/dir_setting/tailsweep icon_state = "tailsweep" duration = 4 -/obj/effect/overlay/temp/wizard +/obj/effect/temp_visual/wizard name = "water" icon = 'icons/mob/mob.dmi' icon_state = "reappear" duration = 5 -/obj/effect/overlay/temp/wizard/out +/obj/effect/temp_visual/wizard/out icon_state = "liquify" duration = 12 -/obj/effect/overlay/temp/monkeyify +/obj/effect/temp_visual/monkeyify icon = 'icons/mob/mob.dmi' icon_state = "h2monkey" duration = 22 -/obj/effect/overlay/temp/monkeyify/humanify +/obj/effect/temp_visual/monkeyify/humanify icon_state = "monkey2h" -/obj/effect/overlay/temp/borgflash +/obj/effect/temp_visual/borgflash icon = 'icons/mob/mob.dmi' icon_state = "blspell" duration = 5 -/obj/effect/overlay/temp/guardian +/obj/effect/temp_visual/guardian randomdir = 0 -/obj/effect/overlay/temp/guardian/phase +/obj/effect/temp_visual/guardian/phase duration = 5 icon_state = "phasein" -/obj/effect/overlay/temp/guardian/phase/out +/obj/effect/temp_visual/guardian/phase/out icon_state = "phaseout" -/obj/effect/overlay/temp/decoy +/obj/effect/temp_visual/decoy desc = "It's a decoy!" duration = 15 -/obj/effect/overlay/temp/decoy/Initialize(mapload, atom/mimiced_atom) +/obj/effect/temp_visual/decoy/Initialize(mapload, atom/mimiced_atom) . = ..() alpha = initial(alpha) if(mimiced_atom) @@ -155,95 +155,95 @@ setDir(mimiced_atom.dir) mouse_opacity = 0 -/obj/effect/overlay/temp/decoy/fading/Initialize(mapload, atom/mimiced_atom) +/obj/effect/temp_visual/decoy/fading/Initialize(mapload, atom/mimiced_atom) . = ..() animate(src, alpha = 0, time = duration) -/obj/effect/overlay/temp/decoy/fading/fivesecond +/obj/effect/temp_visual/decoy/fading/fivesecond duration = 50 -/obj/effect/overlay/temp/small_smoke +/obj/effect/temp_visual/small_smoke icon_state = "smoke" duration = 50 -/obj/effect/overlay/temp/fire +/obj/effect/temp_visual/fire icon = 'icons/effects/fire.dmi' icon_state = "3" duration = 20 -/obj/effect/overlay/temp/revenant +/obj/effect/temp_visual/revenant name = "spooky lights" icon_state = "purplesparkles" -/obj/effect/overlay/temp/revenant/cracks +/obj/effect/temp_visual/revenant/cracks name = "glowing cracks" icon_state = "purplecrack" duration = 6 -/obj/effect/overlay/temp/gravpush +/obj/effect/temp_visual/gravpush name = "gravity wave" icon_state = "shieldsparkles" duration = 5 -/obj/effect/overlay/temp/telekinesis +/obj/effect/temp_visual/telekinesis name = "telekinetic force" icon_state = "empdisable" duration = 5 -/obj/effect/overlay/temp/emp +/obj/effect/temp_visual/emp name = "emp sparks" icon_state = "empdisable" -/obj/effect/overlay/temp/emp/pulse +/obj/effect/temp_visual/emp/pulse name = "emp pulse" icon_state = "emppulse" duration = 8 randomdir = 0 -/obj/effect/overlay/temp/gib_animation +/obj/effect/temp_visual/gib_animation icon = 'icons/mob/mob.dmi' duration = 15 -/obj/effect/overlay/temp/gib_animation/Initialize(mapload, gib_icon) +/obj/effect/temp_visual/gib_animation/Initialize(mapload, gib_icon) icon_state = gib_icon // Needs to be before ..() so icon is correct . = ..() -/obj/effect/overlay/temp/gib_animation/animal +/obj/effect/temp_visual/gib_animation/animal icon = 'icons/mob/animal.dmi' -/obj/effect/overlay/temp/dust_animation +/obj/effect/temp_visual/dust_animation icon = 'icons/mob/mob.dmi' duration = 15 -/obj/effect/overlay/temp/dust_animation/Initialize(mapload, dust_icon) +/obj/effect/temp_visual/dust_animation/Initialize(mapload, dust_icon) icon_state = dust_icon // Before ..() so the correct icon is flick()'d . = ..() -/obj/effect/overlay/temp/mummy_animation +/obj/effect/temp_visual/mummy_animation icon = 'icons/mob/mob.dmi' icon_state = "mummy_revive" duration = 20 -/obj/effect/overlay/temp/heal //color is white by default, set to whatever is needed +/obj/effect/temp_visual/heal //color is white by default, set to whatever is needed name = "healing glow" icon_state = "heal" duration = 15 -/obj/effect/overlay/temp/heal/Initialize(mapload, set_color) +/obj/effect/temp_visual/heal/Initialize(mapload, set_color) if(set_color) add_atom_colour(set_color, FIXED_COLOUR_PRIORITY) . = ..() pixel_x = rand(-12, 12) pixel_y = rand(-9, 0) -/obj/effect/overlay/temp/kinetic_blast +/obj/effect/temp_visual/kinetic_blast name = "kinetic explosion" icon = 'icons/obj/projectiles.dmi' icon_state = "kinetic_blast" layer = ABOVE_ALL_MOB_LAYER duration = 4 -/obj/effect/overlay/temp/explosion +/obj/effect/temp_visual/explosion name = "explosion" icon = 'icons/effects/96x96.dmi' icon_state = "explosion" @@ -251,22 +251,22 @@ pixel_y = -32 duration = 8 -/obj/effect/overlay/temp/explosion/fast +/obj/effect/temp_visual/explosion/fast icon_state = "explosionfast" duration = 4 -/obj/effect/overlay/temp/blob +/obj/effect/temp_visual/blob name = "blob" icon_state = "blob_attack" alpha = 140 randomdir = 0 duration = 6 -/obj/effect/overlay/temp/impact_effect +/obj/effect/temp_visual/impact_effect icon_state = "impact_bullet" duration = 5 -/obj/effect/overlay/temp/impact_effect/Initialize(mapload, atom/target, obj/item/projectile/P) +/obj/effect/temp_visual/impact_effect/Initialize(mapload, atom/target, obj/item/projectile/P) if(target == P.original) //the projectile hit the target originally clicked pixel_x = P.p_x + target.pixel_x - 16 + rand(-4,4) pixel_y = P.p_y + target.pixel_y - 16 + rand(-4,4) @@ -275,37 +275,37 @@ pixel_y = target.pixel_y + rand(-4,4) . = ..() -/obj/effect/overlay/temp/impact_effect/red_laser +/obj/effect/temp_visual/impact_effect/red_laser icon_state = "impact_laser" duration = 4 -/obj/effect/overlay/temp/impact_effect/red_laser/wall +/obj/effect/temp_visual/impact_effect/red_laser/wall icon_state = "impact_laser_wall" duration = 10 -/obj/effect/overlay/temp/impact_effect/blue_laser +/obj/effect/temp_visual/impact_effect/blue_laser icon_state = "impact_laser_blue" duration = 4 -/obj/effect/overlay/temp/impact_effect/green_laser +/obj/effect/temp_visual/impact_effect/green_laser icon_state = "impact_laser_green" duration = 4 -/obj/effect/overlay/temp/impact_effect/purple_laser +/obj/effect/temp_visual/impact_effect/purple_laser icon_state = "impact_laser_purple" duration = 4 -/obj/effect/overlay/temp/impact_effect/ion +/obj/effect/temp_visual/impact_effect/ion icon_state = "shieldsparkles" duration = 6 -/obj/effect/overlay/temp/heart +/obj/effect/temp_visual/heart name = "heart" icon = 'icons/mob/animal.dmi' icon_state = "heart" duration = 25 -/obj/effect/overlay/temp/heart/Initialize(mapload) +/obj/effect/temp_visual/heart/Initialize(mapload) . = ..() pixel_x = rand(-4,4) pixel_y = rand(-4,4) diff --git a/code/game/objects/effects/temporary_visuals/temporary_visual.dm b/code/game/objects/effects/temporary_visuals/temporary_visual.dm index 8c7a178bd6..44b9b91224 100644 --- a/code/game/objects/effects/temporary_visuals/temporary_visual.dm +++ b/code/game/objects/effects/temporary_visuals/temporary_visual.dm @@ -1,5 +1,5 @@ //temporary visual effects -/obj/effect/overlay/temp +/obj/effect/temp_visual icon_state = "nothing" anchored = 1 layer = ABOVE_MOB_LAYER @@ -8,30 +8,30 @@ var/randomdir = TRUE var/timerid -/obj/effect/overlay/temp/Initialize() +/obj/effect/temp_visual/Initialize() . = ..() if(randomdir) setDir(pick(GLOB.cardinal)) timerid = QDEL_IN(src, duration) -/obj/effect/overlay/temp/Destroy() +/obj/effect/temp_visual/Destroy() . = ..() deltimer(timerid) -/obj/effect/overlay/temp/singularity_act() +/obj/effect/temp_visual/singularity_act() return -/obj/effect/overlay/temp/singularity_pull() +/obj/effect/temp_visual/singularity_pull() return -/obj/effect/overlay/temp/ex_act() +/obj/effect/temp_visual/ex_act() return -/obj/effect/overlay/temp/dir_setting +/obj/effect/temp_visual/dir_setting randomdir = FALSE -/obj/effect/overlay/temp/dir_setting/Initialize(mapload, set_dir) +/obj/effect/temp_visual/dir_setting/Initialize(mapload, set_dir) if(set_dir) setDir(set_dir) . = ..() diff --git a/code/game/objects/empulse.dm b/code/game/objects/empulse.dm index 3aaa24ce60..f7d04941ed 100644 --- a/code/game/objects/empulse.dm +++ b/code/game/objects/empulse.dm @@ -9,7 +9,7 @@ log_game("EMP with size ([heavy_range], [light_range]) in area [epicenter.loc.name] ") if(heavy_range > 1) - new /obj/effect/overlay/temp/emp/pulse(epicenter) + new /obj/effect/temp_visual/emp/pulse(epicenter) if(heavy_range > light_range) light_range = heavy_range diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index af8b9341f9..0c29ee3f9f 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -68,6 +68,7 @@ var/pre_noise = FALSE var/post_noise = FALSE + /obj/item/toy/crayon/suicide_act(mob/user) user.visible_message("[user] is jamming [src] up [user.p_their()] nose and into [user.p_their()] brain. It looks like [user.p_theyre()] trying to commit suicide!") return (BRUTELOSS|OXYLOSS) @@ -422,7 +423,7 @@ var/gangID = user.mind.gang_datum var/area/territory = get_area(target) - new /obj/effect/decal/cleanable/crayon/gang(target,gangID,"graffiti",0) + new /obj/effect/decal/cleanable/crayon/gang(target,gangID,"graffiti",0,user) to_chat(user, "You tagged [territory] for your gang!") /obj/item/toy/crayon/red diff --git a/code/game/objects/items/devices/chameleonproj.dm b/code/game/objects/items/devices/chameleonproj.dm index 0e4f7200bb..3ab826ec41 100644 --- a/code/game/objects/items/devices/chameleonproj.dm +++ b/code/game/objects/items/devices/chameleonproj.dm @@ -56,13 +56,13 @@ qdel(active_dummy) active_dummy = null to_chat(usr, "You deactivate \the [src].") - new /obj/effect/overlay/temp/emp/pulse(get_turf(src)) + new /obj/effect/temp_visual/emp/pulse(get_turf(src)) else playsound(get_turf(src), 'sound/effects/pop.ogg', 100, 1, -6) var/obj/effect/dummy/chameleon/C = new/obj/effect/dummy/chameleon(usr.loc) C.activate(usr, saved_appearance, src) to_chat(usr, "You activate \the [src].") - new /obj/effect/overlay/temp/emp/pulse(get_turf(src)) + new /obj/effect/temp_visual/emp/pulse(get_turf(src)) /obj/item/device/chameleon/proc/disrupt(delete_dummy = 1) if(active_dummy) diff --git a/code/game/objects/items/devices/flashlight.dm b/code/game/objects/items/devices/flashlight.dm index 9131c02240..bc3c43202c 100644 --- a/code/game/objects/items/devices/flashlight.dm +++ b/code/game/objects/items/devices/flashlight.dm @@ -162,18 +162,18 @@ return var/T = get_turf(target) if(locate(/mob/living) in T) - new /obj/effect/overlay/temp/medical_holosign(T,user) //produce a holographic glow + new /obj/effect/temp_visual/medical_holosign(T,user) //produce a holographic glow holo_cooldown = world.time + 100 return ..() -/obj/effect/overlay/temp/medical_holosign +/obj/effect/temp_visual/medical_holosign name = "medical holosign" desc = "A small holographic glow that indicates a medic is coming to treat a patient." icon_state = "medi_holo" duration = 30 -/obj/effect/overlay/temp/medical_holosign/Initialize(mapload, creator) +/obj/effect/temp_visual/medical_holosign/Initialize(mapload, creator) . = ..() playsound(loc, 'sound/machines/ping.ogg', 50, 0) //make some noise! if(creator) diff --git a/code/game/objects/items/robot/robot_items.dm b/code/game/objects/items/robot/robot_items.dm index abf7f5b827..97a343311d 100644 --- a/code/game/objects/items/robot/robot_items.dm +++ b/code/game/objects/items/robot/robot_items.dm @@ -522,10 +522,10 @@ var/projectile_damage_tick_ecost_coefficient = 2 //Lasers get half their damage chopped off, drains 50 power/tick. Note that fields are processed 5 times per second. var/projectile_speed_coefficient = 1.5 //Higher the coefficient slower the projectile. var/projectile_tick_speed_ecost = 15 - var/current_damage_dampening = 0 var/list/obj/item/projectile/tracked var/image/projectile_effect var/field_radius = 3 + var/active = FALSE /obj/item/borg/projectile_dampen/debug maxenergy = 50000 @@ -538,13 +538,13 @@ tracked = list() icon_state = "shield0" START_PROCESSING(SSfastprocess, src) + host = loc /obj/item/borg/projectile_dampen/Destroy() STOP_PROCESSING(SSfastprocess, src) return ..() /obj/item/borg/projectile_dampen/attack_self(mob/user) - var/active = FALSE if(!istype(dampening_field)) activate_field() active = TRUE @@ -552,17 +552,30 @@ deactivate_field() active = FALSE to_chat(user, "You [active? "activate":"deactivate"] the [src].") + +/obj/item/borg/projectile_dampen/update_icon() + . = ..() icon_state = "[initial(icon_state)][active]" /obj/item/borg/projectile_dampen/proc/activate_field() if(!istype(dampening_field)) dampening_field = make_field(/datum/proximity_monitor/advanced/peaceborg_dampener, list("current_range" = field_radius, "host" = src, "projector" = src)) + update_icon() /obj/item/borg/projectile_dampen/proc/deactivate_field() QDEL_NULL(dampening_field) visible_message("The [src] shuts off!") for(var/obj/item/projectile/P in tracked) restore_projectile(P) + update_icon() + +/obj/item/borg/projectile_dampen/dropped() + . = ..() + host = loc + +/obj/item/borg/projectile_dampen/equipped() + . = ..() + host = loc /obj/item/borg/projectile_dampen/process() process_recharge() @@ -576,10 +589,11 @@ /obj/item/borg/projectile_dampen/proc/process_usage() var/usage = 0 for(var/I in tracked) - if(!tracked[I]) //No damage + var/obj/item/projectile/P = I + if(!P.stun && P.nodamage) //No damage continue usage += projectile_tick_speed_ecost - usage += (current_damage_dampening * projectile_damage_tick_ecost_coefficient) + usage += (tracked[I] * projectile_damage_tick_ecost_coefficient) energy = Clamp(energy - usage, 0, maxenergy) if(energy <= 0) deactivate_field() @@ -587,8 +601,11 @@ /obj/item/borg/projectile_dampen/proc/process_recharge() if(!istype(host)) - energy = Clamp(energy + energy_recharge, 0, maxenergy) - return + if(iscyborg(host.loc)) + host = host.loc + else + energy = Clamp(energy + energy_recharge, 0, maxenergy) + return if((host.cell.charge >= (host.cell.maxcharge * cyborg_cell_critical_percentage)) && (energy < maxenergy)) host.cell.use(energy_recharge*energy_recharge_cyborg_drain_coefficient) energy += energy_recharge @@ -598,7 +615,6 @@ return if(track_projectile) tracked[P] = P.damage - current_damage_dampening += P.damage P.damage *= projectile_damage_coefficient P.speed *= projectile_speed_coefficient P.add_overlay(projectile_effect) @@ -608,8 +624,6 @@ P.damage *= (1/projectile_damage_coefficient) P.speed *= (1/projectile_speed_coefficient) P.cut_overlay(projectile_effect) - current_damage_dampening -= P.damage - /********************************************************************** HUD/SIGHT things diff --git a/code/game/objects/items/weapons/dna_injector.dm b/code/game/objects/items/weapons/dna_injector.dm index c50ef26b81..ecc8d3a362 100644 --- a/code/game/objects/items/weapons/dna_injector.dm +++ b/code/game/objects/items/weapons/dna_injector.dm @@ -50,7 +50,8 @@ M.dna.uni_identity = merge_text(M.dna.uni_identity, fields["UI"]) M.updateappearance(mutations_overlay_update=1) log_attack(log_msg) - return TRUE + return TRUE + return FALSE /obj/item/weapon/dnainjector/attack(mob/target, mob/user) if(!user.IsAdvancedToolUser()) @@ -77,9 +78,9 @@ add_logs(user, target, "injected", src) - if(!inject(target, user)) //Now we actually do the heavy lifting. - to_chat(user, "It appears that [target] does not have compatible DNA.") - + if(!inject(target, user)) //Now we actually do the heavy lifting. + to_chat(user, "It appears that [target] does not have compatible DNA.") + used = 1 icon_state = "dnainjector0" desc += " This one is used up." @@ -307,11 +308,11 @@ /obj/item/weapon/dnainjector/timed/inject(mob/living/carbon/M, mob/user) prepare() + if(M.stat == DEAD) //prevents dead people from having their DNA changed + to_chat(user, "You can't modify [M]'s DNA while [M.p_theyre()] dead.") + return FALSE if(M.has_dna() && !(M.disabilities & NOCLONE)) - if(M.stat == DEAD) //prevents dead people from having their DNA changed - to_chat(user, "You can't modify [M]'s DNA while [M.p_theyre()] dead.") - return M.radiation += rand(20/(damage_coeff ** 2),50/(damage_coeff ** 2)) var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]" var/endtime = world.time+duration @@ -352,9 +353,9 @@ M.updateappearance(mutations_overlay_update=1) M.dna.temporary_mutations[UI_CHANGED] = endtime log_attack(log_msg) + return TRUE else - to_chat(user, "It appears that [M] does not have compatible DNA.") - return + return FALSE /obj/item/weapon/dnainjector/timed/hulk name = "\improper DNA injector (Hulk)" diff --git a/code/game/objects/items/weapons/grenades/grenade.dm b/code/game/objects/items/weapons/grenades/grenade.dm index a5f5eb6133..81ccd127c8 100644 --- a/code/game/objects/items/weapons/grenades/grenade.dm +++ b/code/game/objects/items/weapons/grenades/grenade.dm @@ -48,27 +48,27 @@ /obj/item/weapon/grenade/attack_self(mob/user) if(!active) if(clown_check(user)) - preprime(user) + preprime(user) if(iscarbon(user)) var/mob/living/carbon/C = user C.throw_mode_on() -/obj/item/weapon/grenade/proc/preprime(mob/user) - if(user) - to_chat(user, "You prime the [name]! [det_time/10] seconds!") - playsound(loc, 'sound/weapons/armbomb.ogg', 60, 1) - active = TRUE - icon_state = initial(icon_state) + "_active" - add_fingerprint(user) - var/turf/bombturf = get_turf(src) - var/area/A = get_area(bombturf) - if(user) - var/message = "[ADMIN_LOOKUPFLW(user)]) has primed a [name] for detonation at [ADMIN_COORDJMP(bombturf)]" - GLOB.bombers += message - message_admins(message) - log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] [COORD(bombturf)].") - - addtimer(CALLBACK(src, .proc/prime), det_time) +/obj/item/weapon/grenade/proc/preprime(mob/user) + if(user) + to_chat(user, "You prime the [name]! [det_time/10] seconds!") + playsound(loc, 'sound/weapons/armbomb.ogg', 60, 1) + active = TRUE + icon_state = initial(icon_state) + "_active" + add_fingerprint(user) + var/turf/bombturf = get_turf(src) + var/area/A = get_area(bombturf) + if(user) + var/message = "[ADMIN_LOOKUPFLW(user)]) has primed a [name] for detonation at [ADMIN_COORDJMP(bombturf)]" + GLOB.bombers += message + message_admins(message) + log_game("[key_name(usr)] has primed a [name] for detonation at [A.name] [COORD(bombturf)].") + + addtimer(CALLBACK(src, .proc/prime), det_time) /obj/item/weapon/grenade/proc/prime() @@ -108,4 +108,4 @@ if(damage && attack_type == PROJECTILE_ATTACK && prob(15)) owner.visible_message("[attack_text] hits [owner]'s [src], setting it off! What a shot!") prime() - return 1 //It hit the grenade, not them + return 1 //It hit the grenade, not them diff --git a/code/game/objects/items/weapons/powerfist.dm b/code/game/objects/items/weapons/powerfist.dm index 1f5a229864..7b26c58a5d 100644 --- a/code/game/objects/items/weapons/powerfist.dm +++ b/code/game/objects/items/weapons/powerfist.dm @@ -80,7 +80,7 @@ target.apply_damage(force * fisto_setting, BRUTE) target.visible_message("[user]'s powerfist lets out a loud hiss as they punch [target.name]!", \ "You cry out in pain as [user]'s punch flings you backwards!") - new /obj/effect/overlay/temp/kinetic_blast(target.loc) + new /obj/effect/temp_visual/kinetic_blast(target.loc) playsound(loc, 'sound/weapons/resonator_blast.ogg', 50, 1) playsound(loc, 'sound/weapons/genhit2.ogg', 50, 1) diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 5b1c641383..f2e9ca9fc6 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -247,10 +247,10 @@ ) /obj/item/weapon/storage/belt/military - name = "military belt" - desc = "A syndicate belt designed to be used by boarding parties. Its style is modeled after the hardsuits they wear." - icon_state = "militarybelt" - item_state = "military" + name = "chest rig" + desc = "A set of tactical webbing worn by Syndicate boarding parties." + icon_state = "explorer1" + item_state = "explorer1" max_w_class = WEIGHT_CLASS_SMALL /obj/item/weapon/storage/belt/military/abductor diff --git a/code/game/objects/items/weapons/tanks/jetpack.dm b/code/game/objects/items/weapons/tanks/jetpack.dm index 1c974054dc..d54d741da2 100644 --- a/code/game/objects/items/weapons/tanks/jetpack.dm +++ b/code/game/objects/items/weapons/tanks/jetpack.dm @@ -207,9 +207,3 @@ var/obj/item/clothing/suit/space/hardsuit/C = wear_suit J = C.jetpack return J - -/mob/has_gravity(turf/T) - var/obj/item/weapon/tank/jetpack/J = get_jetpack() - if(J && J.on) - return FALSE - return ..() \ No newline at end of file diff --git a/code/game/objects/items/weapons/tanks/tank_types.dm b/code/game/objects/items/weapons/tanks/tank_types.dm old mode 100755 new mode 100644 index 4ffa4a9b89..97548b97d6 --- a/code/game/objects/items/weapons/tanks/tank_types.dm +++ b/code/game/objects/items/weapons/tanks/tank_types.dm @@ -140,8 +140,8 @@ item_state = "plasmaman_tank_belt" slot_flags = SLOT_BELT force = 5 - volume = 3 - w_class = WEIGHT_CLASS_SMALL //thanks i forgot this + volume = 3 + w_class = WEIGHT_CLASS_SMALL //thanks i forgot this /obj/item/weapon/tank/internals/plasmaman/belt/full/New() ..() 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 98a52994e9..9d24b44f33 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -106,7 +106,7 @@ new /obj/item/device/flashlight/seclite(src) new /obj/item/clothing/gloves/krav_maga/sec(src) new /obj/item/weapon/door_remote/head_of_security(src) - new /obj/item/weapon/gun/ballistic/shotgun/automatic/dual_tube(src) + new /obj/item/weapon/gun/ballistic/shotgun/automatic/combat/compact(src) /obj/structure/closet/secure_closet/security name = "security officer's locker" diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index 389ae40e88..43e0de52a1 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -331,8 +331,8 @@ /obj/structure/falsewall/brass/New(loc) ..() var/turf/T = get_turf(src) - new /obj/effect/overlay/temp/ratvar/wall/false(T) - new /obj/effect/overlay/temp/ratvar/beam/falsewall(T) + new /obj/effect/temp_visual/ratvar/wall/false(T) + new /obj/effect/temp_visual/ratvar/beam/falsewall(T) change_construction_value(4) /obj/structure/falsewall/brass/Destroy() diff --git a/code/game/objects/structures/ghost_role_spawners.dm b/code/game/objects/structures/ghost_role_spawners.dm index 05414f0a4d..91fbf13e3c 100644 --- a/code/game/objects/structures/ghost_role_spawners.dm +++ b/code/game/objects/structures/ghost_role_spawners.dm @@ -152,6 +152,8 @@ var/transfer_choice = alert("Transfer your soul to [src]? (Warning, your old body will die!)",,"Yes","No") if(transfer_choice != "Yes") return + if(QDELETED(src) || uses <= 0) + return log_game("[user.ckey] golem-swapped into [src]") user.visible_message("A faint light leaves [user], moving to [src] and animating it!","You leave your old body behind, and transfer into [src]!") create(ckey = user.ckey, flavour = FALSE, name = user.real_name) diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 2dc159d482..64d93e914e 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -254,10 +254,10 @@ /obj/structure/grille/ratvar/New() ..() if(broken) - new /obj/effect/overlay/temp/ratvar/grille/broken(get_turf(src)) + new /obj/effect/temp_visual/ratvar/grille/broken(get_turf(src)) else - new /obj/effect/overlay/temp/ratvar/grille(get_turf(src)) - new /obj/effect/overlay/temp/ratvar/beam/grille(get_turf(src)) + new /obj/effect/temp_visual/ratvar/grille(get_turf(src)) + new /obj/effect/temp_visual/ratvar/beam/grille(get_turf(src)) /obj/structure/grille/ratvar/narsie_act() take_damage(rand(1, 3), BRUTE) diff --git a/code/game/objects/structures/lattice.dm b/code/game/objects/structures/lattice.dm index ba9e5f8a33..2f6b03bef1 100644 --- a/code/game/objects/structures/lattice.dm +++ b/code/game/objects/structures/lattice.dm @@ -102,8 +102,8 @@ /obj/structure/lattice/catwalk/clockwork/Initialize(mapload) ..() - new /obj/effect/overlay/temp/ratvar/floor/catwalk(loc) - new /obj/effect/overlay/temp/ratvar/beam/catwalk(loc) + new /obj/effect/temp_visual/ratvar/floor/catwalk(loc) + new /obj/effect/temp_visual/ratvar/beam/catwalk(loc) /obj/structure/lattice/catwalk/clockwork/ratvar_act() return diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index f594c4b513..0c11418003 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -545,7 +545,7 @@ qdel(I) var/amount_of_gears = 2 if(fulltile) - new /obj/effect/overlay/temp/ratvar/window(get_turf(src)) + new /obj/effect/temp_visual/ratvar/window(get_turf(src)) amount_of_gears = 4 for(var/i in 1 to amount_of_gears) debris += new/obj/item/clockwork/alloy_shards/medium/gear_bit() @@ -553,7 +553,7 @@ /obj/structure/window/reinforced/clockwork/setDir(direct) if(!made_glow) - var/obj/effect/E = new /obj/effect/overlay/temp/ratvar/window/single(get_turf(src)) + var/obj/effect/E = new /obj/effect/temp_visual/ratvar/window/single(get_turf(src)) E.setDir(direct) made_glow = TRUE ..() diff --git a/code/game/turfs/simulated/chasm.dm b/code/game/turfs/simulated/chasm.dm index 8b24a4c816..4f22487537 100644 --- a/code/game/turfs/simulated/chasm.dm +++ b/code/game/turfs/simulated/chasm.dm @@ -111,6 +111,9 @@ initial_gas_mix = "o2=14;n2=23;TEMP=300" planetary_atmos = TRUE baseturf = /turf/open/chasm/straight_down/lava_land_surface + light_range = 1.9 //slightly less range than lava + light_power = 0.65 //less bright, too + light_color = LIGHT_COLOR_LAVA //let's just say you're falling into lava, that makes sense right /turf/open/chasm/straight_down/lava_land_surface/drop(atom/movable/AM) //Make sure the item is still there after our sleep diff --git a/code/game/turfs/simulated/floor/misc_floor.dm b/code/game/turfs/simulated/floor/misc_floor.dm index 9144cbc871..810a77fc42 100644 --- a/code/game/turfs/simulated/floor/misc_floor.dm +++ b/code/game/turfs/simulated/floor/misc_floor.dm @@ -133,8 +133,8 @@ /turf/open/floor/clockwork/Initialize() ..() - new /obj/effect/overlay/temp/ratvar/floor(src) - new /obj/effect/overlay/temp/ratvar/beam(src) + new /obj/effect/temp_visual/ratvar/floor(src) + new /obj/effect/temp_visual/ratvar/beam(src) realappearence = new /obj/effect/clockwork/overlay/floor(src) realappearence.linked = src change_construction_value(1) diff --git a/code/game/turfs/simulated/floor/plating/asteroid.dm b/code/game/turfs/simulated/floor/plating/asteroid.dm index f4a3403ee5..8a00267a22 100644 --- a/code/game/turfs/simulated/floor/plating/asteroid.dm +++ b/code/game/turfs/simulated/floor/plating/asteroid.dm @@ -272,15 +272,18 @@ /turf/open/floor/plating/asteroid/airless/cave/proc/SpawnMonster(turf/T) if(prob(30)) - if(istype(loc, /area/mine/explored) || istype(loc, /area/lavaland/surface/outdoors/explored)) + if(istype(loc, /area/mine/explored) || !istype(loc, /area/lavaland/surface/outdoors/unexplored)) return var/randumb = pickweight(mob_spawn_list) while(randumb == SPAWN_MEGAFAUNA) - var/maybe_boss = pickweight(megafauna_spawn_list) - if(megafauna_spawn_list[maybe_boss]) - randumb = maybe_boss - if(ispath(maybe_boss, /mob/living/simple_animal/hostile/megafauna/bubblegum)) //there can be only one bubblegum, so don't waste spawns on it - megafauna_spawn_list[maybe_boss] = 0 + if(istype(loc, /area/lavaland/surface/outdoors/unexplored/danger)) //this is danger. it's boss time. + var/maybe_boss = pickweight(megafauna_spawn_list) + if(megafauna_spawn_list[maybe_boss]) + randumb = maybe_boss + if(ispath(maybe_boss, /mob/living/simple_animal/hostile/megafauna/bubblegum)) //there can be only one bubblegum, so don't waste spawns on it + megafauna_spawn_list[maybe_boss] = 0 + else //this is not danger, don't spawn a boss, spawn something else + randumb = pickweight(mob_spawn_list) for(var/mob/living/simple_animal/hostile/H in urange(12,T)) //prevents mob clumps if((ispath(randumb, /mob/living/simple_animal/hostile/megafauna) || ismegafauna(H)) && get_dist(src, H) <= 7) diff --git a/code/game/turfs/simulated/floor/reinf_floor.dm b/code/game/turfs/simulated/floor/reinf_floor.dm index 9c40b8276f..544d637571 100644 --- a/code/game/turfs/simulated/floor/reinf_floor.dm +++ b/code/game/turfs/simulated/floor/reinf_floor.dm @@ -108,7 +108,7 @@ /turf/open/floor/engine/cult/Initialize() ..() - new /obj/effect/overlay/temp/cult/turf/floor(src) + new /obj/effect/temp_visual/cult/turf/floor(src) realappearence = new /obj/effect/clockwork/overlay/floor/bloodcult(src) realappearence.linked = src diff --git a/code/game/turfs/simulated/minerals.dm b/code/game/turfs/simulated/minerals.dm index 54f3ad5ad5..708427a11a 100644 --- a/code/game/turfs/simulated/minerals.dm +++ b/code/game/turfs/simulated/minerals.dm @@ -73,6 +73,8 @@ for(i in 1 to mineralAmt) new mineralType(src) SSblackbox.add_details("ore_mined",mineralType) + for(var/obj/effect/temp_visual/mining_overlay/M in src) + qdel(M) ChangeTurf(turf_type, defer_change) addtimer(CALLBACK(src, .proc/AfterChange), 1, TIMER_UNIQUE) playsound(src, 'sound/effects/break_stone.ogg', 50, 1) //beautiful destruction diff --git a/code/game/turfs/simulated/wall/misc_walls.dm b/code/game/turfs/simulated/wall/misc_walls.dm index 9fa69fc6a7..21015e82d0 100644 --- a/code/game/turfs/simulated/wall/misc_walls.dm +++ b/code/game/turfs/simulated/wall/misc_walls.dm @@ -10,7 +10,7 @@ girder_type = /obj/structure/girder/cult /turf/closed/wall/mineral/cult/Initialize() - new /obj/effect/overlay/temp/cult/turf(src) + new /obj/effect/temp_visual/cult/turf(src) . = ..() /turf/closed/wall/mineral/cult/devastate_wall() @@ -39,11 +39,11 @@ desc = "A cold stone wall engraved with indecipherable symbols. Studying them causes your head to pound." /turf/closed/wall/mineral/cult/artificer/break_wall() - new /obj/effect/overlay/temp/cult/turf(get_turf(src)) + new /obj/effect/temp_visual/cult/turf(get_turf(src)) return null //excuse me we want no runed metal here /turf/closed/wall/mineral/cult/artificer/devastate_wall() - new /obj/effect/overlay/temp/cult/turf(get_turf(src)) + new /obj/effect/temp_visual/cult/turf(get_turf(src)) //Clockwork wall: Causes nearby tinkerer's caches to generate components. /turf/closed/wall/clockwork @@ -60,8 +60,8 @@ /turf/closed/wall/clockwork/Initialize() ..() - new /obj/effect/overlay/temp/ratvar/wall(src) - new /obj/effect/overlay/temp/ratvar/beam(src) + new /obj/effect/temp_visual/ratvar/wall(src) + new /obj/effect/temp_visual/ratvar/beam(src) realappearence = new /obj/effect/clockwork/overlay/wall(src) realappearence.linked = src change_construction_value(5) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index ac8162bc08..f8329b1f69 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -419,13 +419,18 @@ set desc="Restarts the world immediately" if (!usr.client.holder) return - var/confirm = alert("Restart the game world?", "Restart", "Yes", "Cancel") - if(confirm == "Cancel") - return - if(confirm == "Yes") - SSticker.delay_end = 0 + + var/list/options = list("Regular Restart", "Hard Restart (No Delay/Feeback Reason)", "Hardest Restart (No actions, just reboot)") + var result = input(usr, "Select reboot method", "World Reboot", options[1]) as null|anything in options + if(result) SSblackbox.add_details("admin_verb","Reboot World") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! - world.Reboot("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key].", "end_error", "admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]", 10) + switch(result) + if("Regular Restart") + SSticker.Reboot("Initiated by [usr.client.holder.fakekey ? "Admin" : usr.key].", "end_error", "admin reboot - by [usr.key] [usr.client.holder.fakekey ? "(stealth)" : ""]", 10) + if("Hard Restart (No Delay, No Feeback Reason)") + world.Reboot() + if("Hardest Restart (No actions, just reboot)") + world.Reboot(fast_track = TRUE) /datum/admins/proc/end_round() set category = "Server" diff --git a/code/modules/admin/fun_balloon.dm b/code/modules/admin/fun_balloon.dm index b886232e00..d288c63483 100644 --- a/code/modules/admin/fun_balloon.dm +++ b/code/modules/admin/fun_balloon.dm @@ -60,7 +60,7 @@ message_admins("[key_name_admin(ghost)] has taken control of ([key_name_admin(body)])") body.ghostize(0) body.key = ghost.key - new /obj/effect/overlay/temp/gravpush(get_turf(body)) + new /obj/effect/temp_visual/gravpush(get_turf(body)) /obj/effect/fun_balloon/sentience/emergency_shuttle name = "shuttle sentience fun balloon" @@ -79,7 +79,7 @@ /obj/effect/fun_balloon/scatter/effect() for(var/mob/living/M in range(effect_range, get_turf(src))) var/turf/T = find_safe_turf() - new /obj/effect/overlay/temp/gravpush(get_turf(M)) + new /obj/effect/temp_visual/gravpush(get_turf(M)) M.forceMove(T) to_chat(M, "Pop!") diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index 06f6e5e993..dcdf1538fe 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -442,7 +442,7 @@ dat += "" for(var/datum/gang/G in SSticker.mode.gangs) - dat += "
" + dat += "
[G.name] Gang: [G.points] Influence | [round((G.territory.len/GLOB.start_state.num_territories)*100, 1)]% Control
" for(var/datum/mind/N in G.bosses) var/mob/M = N.current if(!M) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index c1780e4a34..4756318ee7 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -282,6 +282,11 @@ message_admins("[key_name_admin(usr)] edited the Emergency Shuttle's timeleft to [timer] seconds.") href_list["secrets"] = "check_antagonist" + else if(href_list["trigger_centcom_recall"]) + if(!check_rights(R_ADMIN)) + return + + usr.client.trigger_centcom_recall() else if(href_list["toggle_continuous"]) if(!check_rights(R_ADMIN)) return @@ -1170,7 +1175,7 @@ if(!check_rights(R_ADMIN)) return - if(SSticker.HasRoundStarted()) + if(SSticker.HasRoundStarted()) return alert(usr, "The game has already started.", null, null, null, null) var/dat = {"What mode do you wish to play?
"} for(var/mode in config.modes) @@ -1184,7 +1189,7 @@ if(!check_rights(R_ADMIN)) return - if(SSticker.HasRoundStarted()) + if(SSticker.HasRoundStarted()) return alert(usr, "The game has already started.", null, null, null, null) if(GLOB.master_mode != "secret") return alert(usr, "The game mode has to be secret!", null, null, null, null) @@ -1199,21 +1204,21 @@ if(!check_rights(R_ADMIN|R_SERVER)) return - if (SSticker.HasRoundStarted()) + if (SSticker.HasRoundStarted()) return alert(usr, "The game has already started.", null, null, null, null) GLOB.master_mode = href_list["c_mode2"] log_admin("[key_name(usr)] set the mode as [GLOB.master_mode].") message_admins("[key_name_admin(usr)] set the mode as [GLOB.master_mode].") to_chat(world, "The mode is now: [GLOB.master_mode]") Game() // updates the main game menu - world.save_mode(GLOB.master_mode) + SSticker.save_mode(GLOB.master_mode) .(href, list("c_mode"=1)) else if(href_list["f_secret2"]) if(!check_rights(R_ADMIN|R_SERVER)) return - if(SSticker.HasRoundStarted()) + if(SSticker.HasRoundStarted()) return alert(usr, "The game has already started.", null, null, null, null) if(GLOB.master_mode != "secret") return alert(usr, "The game mode has to be secret!", null, null, null, null) @@ -1511,17 +1516,6 @@ usr.client.cmd_admin_animalize(M) - else if(href_list["gangpoints"]) - var/datum/gang/G = locate(href_list["gangpoints"]) in SSticker.mode.gangs - if(G) - var/newpoints = input("Set [G.name ] Gang's influence.","Set Influence",G.points) as null|num - if(!newpoints) - return - message_admins("[key_name_admin(usr)] changed the [G.name] Gang's influence from [G.points] to [newpoints].") - log_admin("[key_name(usr)] changed the [G.name] Gang's influence from [G.points] to [newpoints].") - G.points = newpoints - G.message_gangtools("Your gang now has [G.points] influence.") - else if(href_list["adminplayeropts"]) var/mob/M = locate(href_list["adminplayeropts"]) show_player_panel(M) @@ -1799,18 +1793,18 @@ if(!check_rights(R_ADMIN)) return - var/mob/M = locate(href_list["languagemenu"]) in GLOB.mob_list - if(!ismob(M)) - to_chat(usr, "This can only be used on instances of type /mob.") + var/mob/M = locate(href_list["languagemenu"]) in GLOB.mob_list + if(!ismob(M)) + to_chat(usr, "This can only be used on instances of type /mob.") return - var/datum/language_holder/H = M.get_language_holder() - H.open_language_menu(usr) + var/datum/language_holder/H = M.get_language_holder() + H.open_language_menu(usr) else if(href_list["traitor"]) if(!check_rights(R_ADMIN)) return - if(!SSticker.HasRoundStarted()) + if(!SSticker.HasRoundStarted()) alert("The game hasn't started yet!") return @@ -2161,7 +2155,7 @@ else if(href_list["kick_all_from_lobby"]) if(!check_rights(R_ADMIN)) return - if(SSticker.IsRoundInProgress()) + if(SSticker.IsRoundInProgress()) var/afkonly = text2num(href_list["afkonly"]) if(alert("Are you sure you want to kick all [afkonly ? "AFK" : ""] clients from the lobby??","Message","Yes","Cancel") != "Yes") to_chat(usr, "Kick clients from lobby aborted") @@ -2242,20 +2236,20 @@ if(href_list["viewruntime_backto"]) error_viewer.show_to(owner, locate(href_list["viewruntime_backto"]), href_list["viewruntime_linear"]) else - error_viewer.show_to(owner, null, href_list["viewruntime_linear"]) - else if(href_list["showrelatedacc"]) - var/client/C = locate(href_list["client"]) in GLOB.clients - var/list/thing_to_check - if(href_list["showrelatedacc"] == "cid") - thing_to_check = C.related_accounts_cid - else - thing_to_check = C.related_accounts_ip - thing_to_check = splittext(thing_to_check, ", ") - - - var/dat = "Related accounts by [uppertext(href_list["showrelatedacc"])]:
" - for(var/thing in thing_to_check) - dat += "[thing]
" - - usr << browse(dat, "size=420x300") - + error_viewer.show_to(owner, null, href_list["viewruntime_linear"]) + else if(href_list["showrelatedacc"]) + var/client/C = locate(href_list["client"]) in GLOB.clients + var/list/thing_to_check + if(href_list["showrelatedacc"] == "cid") + thing_to_check = C.related_accounts_cid + else + thing_to_check = C.related_accounts_ip + thing_to_check = splittext(thing_to_check, ", ") + + + var/dat = "Related accounts by [uppertext(href_list["showrelatedacc"])]:
" + for(var/thing in thing_to_check) + dat += "[thing]
" + + usr << browse(dat, "size=420x300") + diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 2397f6c4a5..f359085941 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -52,10 +52,7 @@ if(!check_rights(R_SOUNDS)) return - if(SSticker) - SSticker.round_end_sound = fcopy_rsc(S) - else - return + SSticker.SetRoundEndSound(S) log_admin("[key_name(src)] set the round end sound to [S]") message_admins("[key_name_admin(src)] set the round end sound to [S]") diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm index b82d1f65e2..09dfcf4d69 100644 --- a/code/modules/admin/verbs/randomverbs.dm +++ b/code/modules/admin/verbs/randomverbs.dm @@ -1194,3 +1194,16 @@ GLOBAL_LIST_EMPTY(custom_outfits) //Admin created outfits message_admins(msg) admin_ticket_log(target, msg) log_admin("[key_name(usr)] punished [key_name(target)] with [punishment].") + + +/client/proc/trigger_centcom_recall() + if(!holder) + return + var/message = pick(GLOB.admiral_messages) + message = input("Enter message from the on-call admiral to be put in the recall report.", "Admiral Message", message) as text|null + + if(!message) + return + + message_admins("[key_name_admin(usr)] triggered a Centcom recall, with the admiral message of: [message]") + log_game("[key_name(usr)] triggered a Centcom recall, with the message of: [message]") \ No newline at end of file diff --git a/code/modules/assembly/flash.dm b/code/modules/assembly/flash.dm index 6928139829..6f68a962dd 100644 --- a/code/modules/assembly/flash.dm +++ b/code/modules/assembly/flash.dm @@ -172,11 +172,11 @@ /obj/item/device/assembly/flash/cyborg/attack(mob/living/M, mob/user) ..() - new /obj/effect/overlay/temp/borgflash(get_turf(src)) + new /obj/effect/temp_visual/borgflash(get_turf(src)) /obj/item/device/assembly/flash/cyborg/attack_self(mob/user) ..() - new /obj/effect/overlay/temp/borgflash(get_turf(src)) + new /obj/effect/temp_visual/borgflash(get_turf(src)) /obj/item/device/assembly/flash/cyborg/attackby(obj/item/weapon/W, mob/user, params) return diff --git a/code/modules/atmospherics/gasmixtures/reactions.dm b/code/modules/atmospherics/gasmixtures/reactions.dm index 2884ee0cf0..1060c2daf2 100644 --- a/code/modules/atmospherics/gasmixtures/reactions.dm +++ b/code/modules/atmospherics/gasmixtures/reactions.dm @@ -76,7 +76,6 @@ /datum/gas_reaction/freon/react(datum/gas_mixture/air, turf/open/location) . = NO_REACTION if(location && location.freon_gas_act()) - air.gases["freon"][MOLES] -= MOLES_PLASMA_VISIBLE . = REACTING //water vapor: puts out fires? diff --git a/code/modules/atmospherics/machinery/other/meter.dm b/code/modules/atmospherics/machinery/other/meter.dm index bd9f3e35df..a403210242 100644 --- a/code/modules/atmospherics/machinery/other/meter.dm +++ b/code/modules/atmospherics/machinery/other/meter.dm @@ -19,7 +19,7 @@ /obj/machinery/meter/Initialize(mapload) . = ..() SSair.atmos_machinery += src - if (mapload && !target) + if (!target) target = locate(/obj/machinery/atmospherics/pipe) in loc /obj/machinery/meter/Destroy() diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 93b9b6b3f9..b06c9a5579 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -433,7 +433,7 @@ /obj/item/projectile/beam/ctf/red icon_state = "laser" - impact_effect_type = /obj/effect/overlay/temp/impact_effect/red_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser // BLUE TEAM GUNS @@ -448,7 +448,7 @@ /obj/item/projectile/beam/ctf/blue icon_state = "bluelaser" - impact_effect_type = /obj/effect/overlay/temp/impact_effect/blue_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser /datum/outfit/ctf name = "CTF" diff --git a/code/modules/client/client_procs.dm b/code/modules/client/client_procs.dm index 0d5e93fba7..d236558ddf 100644 --- a/code/modules/client/client_procs.dm +++ b/code/modules/client/client_procs.dm @@ -672,3 +672,7 @@ GLOBAL_LIST(external_rsc_urls) CRASH("change_view called without argument.") view = new_size + +/client/proc/AnnouncePR(announcement) + if(prefs && prefs.chat_toggles & CHAT_PULLR) + to_chat(src, announcement) \ No newline at end of file diff --git a/code/modules/clothing/glasses/engine_goggles.dm b/code/modules/clothing/glasses/engine_goggles.dm index 6a9ac41a0d..2f70c3bfdf 100644 --- a/code/modules/clothing/glasses/engine_goggles.dm +++ b/code/modules/clothing/glasses/engine_goggles.dm @@ -7,25 +7,34 @@ actions_types = list(/datum/action/item_action/toggle_mode) origin_tech = "materials=3;magnets=3;engineering=3;plasmatech=3" - var/mode = 0 //0 - regular mesons mode 1 - t-ray mode + mode = FALSE //FALSE - regular mesons mode TRUE - t-ray mode var/range = 1 -/obj/item/clothing/glasses/meson/engine/attack_self(mob/user) +/obj/item/clothing/glasses/meson/engine/toggle_mode(mob/user, voluntary) + var/turf/T = get_turf(src) + if(T && T.z == ZLEVEL_MINING && mode) + if(picked_excuse) + to_chat(user, "Due to [picked_excuse], the [name] cannot currently be swapped to \[Meson] mode.") + return mode = !mode if(mode) - START_PROCESSING(SSobj, src) vision_flags = 0 darkness_view = 2 invis_view = SEE_INVISIBLE_LIVING lighting_alpha = null - to_chat(user, "You toggle the goggles' scanning mode to \[T-Ray].") + if(voluntary) + to_chat(user, "You toggle the goggles' scanning mode to \[T-Ray].") + else + to_chat(user, "The goggles abruptly toggle to \[T-Ray] mode!") else - STOP_PROCESSING(SSobj, src) vision_flags = SEE_TURFS darkness_view = 1 lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE - to_chat(loc, "You toggle the goggles' scanning mode to \[Meson].") + if(voluntary) + to_chat(user, "You toggle the goggles' scanning mode to \[Meson].") + else + to_chat(user, "The goggles abruptly toggle to \[Meson] mode!") if(ishuman(user)) var/mob/living/carbon/human/H = user @@ -37,8 +46,14 @@ var/datum/action/A = X A.UpdateButtonIcon() +/obj/item/clothing/glasses/meson/engine/attack_self(mob/user) + toggle_mode(user, TRUE) + /obj/item/clothing/glasses/meson/engine/process() if(!mode) + var/turf/T = get_turf(src) + if(T && T.z == ZLEVEL_MINING) + toggle_mode(loc) return if(!ishuman(loc)) @@ -47,7 +62,6 @@ var/mob/living/carbon/human/user = loc if(user.glasses != src) return - scan() /obj/item/clothing/glasses/meson/engine/proc/scan() @@ -89,13 +103,17 @@ icon_state = "trayson-tray_off" origin_tech = "materials=3;magnets=2;engineering=2" - mode = 1 - var/on = 0 + mode = TRUE + var/on = FALSE vision_flags = 0 darkness_view = 2 invis_view = SEE_INVISIBLE_LIVING range = 2 +/obj/item/clothing/glasses/meson/engine/tray/Initialize() + . = ..() + picked_excuse = null + /obj/item/clothing/glasses/meson/engine/tray/process() if(!on) return @@ -108,15 +126,10 @@ if(user.glasses == src) user.update_inv_glasses() -/obj/item/clothing/glasses/meson/engine/tray/attack_self(mob/user) +/obj/item/clothing/glasses/meson/engine/tray/toggle_mode(mob/user, voluntary) on = !on - if(on) - START_PROCESSING(SSobj, src) - to_chat(user, "You turn the goggles on.") - else - STOP_PROCESSING(SSobj, src) - to_chat(user, "You turn the goggles off.") + to_chat(user, "[voluntary ? "You turn the goggles":"The goggles turn"] [on ? "on":"off"][voluntary ? ".":"!"]") update_icon() for(var/X in actions) diff --git a/code/modules/clothing/glasses/glasses.dm b/code/modules/clothing/glasses/glasses.dm index 2f6089bc56..1cc0cc6163 100644 --- a/code/modules/clothing/glasses/glasses.dm +++ b/code/modules/clothing/glasses/glasses.dm @@ -31,14 +31,60 @@ /obj/item/clothing/glasses/meson name = "Optical Meson Scanner" - desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting condition." + desc = "Used by engineering and mining staff to see basic structural and terrain layouts through walls, regardless of lighting conditions." icon_state = "meson" item_state = "meson" origin_tech = "magnets=1;engineering=2" darkness_view = 2 vision_flags = SEE_TURFS - lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_VISIBLE glass_colour_type = /datum/client_colour/glass_colour/lightgreen + var/static/list/meson_mining_failure_excuses = list("seismic activity", "excessive lava", "ambient radiation", "electromagnetic storms", "bluespace disruption", \ + "gravity", "dust", "dense rock", "ash", "badly understood science", "radiant heat") + var/picked_excuse + var/mode = FALSE //if FALSE, is in normal meson mode. + +/obj/item/clothing/glasses/meson/Initialize() + . = ..() + picked_excuse = pick(meson_mining_failure_excuses) + START_PROCESSING(SSobj, src) + +/obj/item/clothing/glasses/meson/Destroy() + STOP_PROCESSING(SSobj, src) + return ..() + +/obj/item/clothing/glasses/meson/examine(mob/user) + ..() + var/turf/T = get_turf(src) + if(T && T.z == ZLEVEL_MINING && mode && picked_excuse) + to_chat(user, "Due to [picked_excuse], these Meson Scanners will not be able to display terrain layouts in this area.") + +/obj/item/clothing/glasses/meson/proc/toggle_mode(mob/user) + if(vision_flags & SEE_TURFS) + mode = TRUE + vision_flags &= ~SEE_TURFS + if(ishuman(user)) + var/mob/living/carbon/human/H = user + if(picked_excuse) + to_chat(H, "Due to [picked_excuse], your Meson Scanners will not be able to display terrain layouts in this area.") + if(H.glasses == src) + H.update_sight() + else if(!(vision_flags & SEE_TURFS)) + mode = FALSE + vision_flags |= SEE_TURFS + if(ishuman(user)) + var/mob/living/carbon/human/H = user + to_chat(H, "Your Meson Scanners have reactivated.") + if(H.glasses == src) + H.update_sight() + +/obj/item/clothing/glasses/meson/process() + var/turf/T = get_turf(src) + if(T && T.z == ZLEVEL_MINING) + if(!mode) + toggle_mode(loc) + else if(mode) + toggle_mode(loc) /obj/item/clothing/glasses/meson/night name = "Night Vision Optical Meson Scanner" @@ -47,7 +93,7 @@ item_state = "nvgmeson" origin_tech = "magnets=4;engineering=5;plasmatech=4" darkness_view = 8 - lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE glass_colour_type = /datum/client_colour/glass_colour/green /obj/item/clothing/glasses/meson/gar diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 6aedfc13e6..8a06ebd0da 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -211,6 +211,14 @@ item_state = "black_suit_fem" item_color = "black_suit_fem" +/obj/item/clothing/under/suit_jacket/green + name = "green suit" + desc = "A green suit and yellow necktie. Baller." + icon_state = "green_suit" + item_state = "dg_suit" + item_color = "green_suit" + can_adjust = 0 + /obj/item/clothing/under/suit_jacket/red name = "red suit" desc = "A red suit and blue tie. Somewhat formal." diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 72aed9b7cf..1b9c47eaad 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -18,7 +18,7 @@ /obj/item/clothing/under/syndicate/sniper name = "Tactical turtleneck suit" - desc = "A double seamed tactical turtleneck disguised as a civillian grade silk suit. Intended for the most formal operator. The collar is really sharp" + desc = "A double seamed tactical turtleneck disguised as a civilian grade silk suit. Intended for the most formal operator. The collar is really sharp" icon_state = "really_black_suit" item_state = "bl_suit" item_color = "black_suit" diff --git a/code/modules/fields/fields.dm b/code/modules/fields/fields.dm index 4b083d7e02..4e18e45e9a 100644 --- a/code/modules/fields/fields.dm +++ b/code/modules/fields/fields.dm @@ -33,6 +33,7 @@ var/process_edge_turfs = FALSE //Don't do this either unless it's absolutely necessary, you can just track what things are inside manually or on the initial setup. var/setup_edge_turfs = FALSE //Setup edge turfs/all field turfs. Set either or both to ON when you need it, it's defaulting to off unless you do to save CPU. var/setup_field_turfs = FALSE + var/use_host_turf = FALSE //For fields from items carried on mobs to check turf instead of loc... var/list/turf/field_turfs = list() var/list/turf/edge_turfs = list() @@ -90,8 +91,19 @@ for(var/turf/T in field_turfs) cleanup_field_turf(T) +/datum/proximity_monitor/advanced/proc/check_movement() + if(!use_host_turf) + if(host.loc != last_host_loc) + last_host_loc = host.loc + return TRUE + else + if(get_turf(host) != last_host_loc) + last_host_loc = get_turf(host) + return TRUE + return FALSE + /datum/proximity_monitor/advanced/proc/recalculate_field(ignore_movement_check = FALSE) //Call every time the field moves (done automatically if you use update_center) or a setup specification is changed. - if(!(ignore_movement_check || ((host.loc != last_host_loc) && (field_shape != FIELD_NO_SHAPE)))) + if(!(ignore_movement_check || check_movement()) && (field_shape != FIELD_NO_SHAPE)) return update_new_turfs() var/list/turf/needs_setup = field_turfs_new.Copy() @@ -173,7 +185,6 @@ /datum/proximity_monitor/advanced/proc/update_new_turfs() if(!istype(host)) return FALSE - last_host_loc = host.loc var/turf/center = get_turf(host) field_turfs_new = list() edge_turfs_new = list() diff --git a/code/modules/fields/peaceborg_dampener.dm b/code/modules/fields/peaceborg_dampener.dm index bcf8a88585..9cfc34f127 100644 --- a/code/modules/fields/peaceborg_dampener.dm +++ b/code/modules/fields/peaceborg_dampener.dm @@ -15,9 +15,11 @@ var/static/image/southwest_corner = image('icons/effects/fields.dmi', icon_state = "projectile_dampen_southwest") var/static/image/northeast_corner = image('icons/effects/fields.dmi', icon_state = "projectile_dampen_northeast") var/static/image/southeast_corner = image('icons/effects/fields.dmi', icon_state = "projectile_dampen_southeast") + var/static/image/generic_edge = image('icons/effects/fields.dmi', icon_state = "projectile_dampen_generic") var/obj/item/borg/projectile_dampen/projector = null var/list/obj/item/projectile/tracked var/list/obj/item/projectile/staging + use_host_turf = TRUE /datum/proximity_monitor/advanced/peaceborg_dampener/New() tracked = list() @@ -71,6 +73,8 @@ return southeast_corner if(SOUTHWEST) return southwest_corner + else + return generic_edge /datum/proximity_monitor/advanced/peaceborg_dampener/proc/capture_projectile(obj/item/projectile/P, track_projectile = TRUE) if(P in tracked) diff --git a/code/modules/fields/turf_objects.dm b/code/modules/fields/turf_objects.dm index 683fa67c96..c68f50bbdb 100644 --- a/code/modules/fields/turf_objects.dm +++ b/code/modules/fields/turf_objects.dm @@ -7,6 +7,7 @@ alpha = 0 invisibility = INVISIBILITY_ABSTRACT flags = ABSTRACT|ON_BORDER + mouse_opacity = 0 var/datum/proximity_monitor/advanced/parent = null /obj/effect/abstract/proximity_checker/advanced/Initialize(mapload, _monitor) diff --git a/code/modules/mining/equipment.dm b/code/modules/mining/equipment.dm index dd8766bdc9..a9315b7bea 100644 --- a/code/modules/mining/equipment.dm +++ b/code/modules/mining/equipment.dm @@ -169,7 +169,7 @@ icon = 'icons/obj/mining.dmi' icon_state = "resonator" item_state = "resonator" - desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It can also be activated without a target to create a field at the user's location, to act as a delayed time trap. It's more effective in a vacuum." + desc = "A handheld device that creates small fields of energy that resonate until they detonate, crushing rock. It's more effective in a vacuum." w_class = WEIGHT_CLASS_NORMAL force = 15 throwforce = 10 @@ -188,18 +188,6 @@ fieldlimit = 6 quick_burst_mod = 1 -/obj/item/weapon/resonator/proc/CreateResonance(target, creator) - var/turf/T = get_turf(target) - var/obj/effect/resonance/R = locate(/obj/effect/resonance) in T - if(R) - R.resonance_damage *= quick_burst_mod - R.burst() - return - if(fields.len < fieldlimit) - playsound(src,'sound/weapons/resonator_fire.ogg',50,1) - var/obj/effect/resonance/RE = new(T, creator, burst_time, src) - fields += RE - /obj/item/weapon/resonator/attack_self(mob/user) if(burst_time == 50) burst_time = 30 @@ -208,57 +196,76 @@ burst_time = 50 to_chat(user, "You set the resonator's fields to detonate after 5 seconds.") -/obj/item/weapon/resonator/afterattack(atom/target, mob/user, proximity_flag) - if(proximity_flag) - if(!check_allowed_items(target, 1)) - return +/obj/item/weapon/resonator/proc/CreateResonance(target, mob/user) + var/turf/T = get_turf(target) + var/obj/effect/temp_visual/resonance/R = locate(/obj/effect/temp_visual/resonance) in T + if(R) + R.damage_multiplier = quick_burst_mod + R.burst() + return + if(LAZYLEN(fields) < fieldlimit) + new /obj/effect/temp_visual/resonance(T, user, src, burst_time) user.changeNext_move(CLICK_CD_MELEE) - CreateResonance(target, user) -/obj/effect/resonance +/obj/item/weapon/resonator/pre_attackby(atom/target, mob/user, params) + if(check_allowed_items(target, 1)) + CreateResonance(target, user) + return TRUE + +/obj/effect/temp_visual/resonance name = "resonance field" desc = "A resonating field that significantly damages anything inside of it when the field eventually ruptures. More damaging in low pressure environments." - icon = 'icons/effects/effects.dmi' icon_state = "shield1" layer = ABOVE_ALL_MOB_LAYER - anchored = TRUE - mouse_opacity = 0 + duration = 50 var/resonance_damage = 20 + var/damage_multiplier = 1 var/creator var/obj/item/weapon/resonator/res -/obj/effect/resonance/New(loc, set_creator, timetoburst, set_resonator) - ..() +/obj/effect/temp_visual/resonance/Initialize(mapload, set_creator, set_resonator, set_duration) + duration = set_duration + . = ..() creator = set_creator res = set_resonator - check_pressure() - addtimer(CALLBACK(src, .proc/burst), timetoburst) + if(res) + res.fields += src + playsound(src,'sound/weapons/resonator_fire.ogg',50,1) + transform = matrix()*0.75 + animate(src, transform = matrix()*1.5, time = duration) + deltimer(timerid) + timerid = addtimer(CALLBACK(src, .proc/burst), duration, TIMER_STOPPABLE) -/obj/effect/resonance/Destroy() +/obj/effect/temp_visual/resonance/Destroy() if(res) res.fields -= src + res = null + creator = null . = ..() -/obj/effect/resonance/proc/check_pressure() - var/turf/proj_turf = get_turf(src) +/obj/effect/temp_visual/resonance/proc/check_pressure(turf/proj_turf) + if(!proj_turf) + proj_turf = get_turf(src) if(!istype(proj_turf)) return var/datum/gas_mixture/environment = proj_turf.return_air() var/pressure = environment.return_pressure() + resonance_damage = initial(resonance_damage) if(pressure < 50) name = "strong [initial(name)]" - resonance_damage = 60 + resonance_damage *= 3 else name = initial(name) - resonance_damage = initial(resonance_damage) + resonance_damage *= damage_multiplier -/obj/effect/resonance/proc/burst() - check_pressure() +/obj/effect/temp_visual/resonance/proc/burst() var/turf/T = get_turf(src) - playsound(src,'sound/weapons/resonator_blast.ogg',50,1) + new /obj/effect/temp_visual/resonance_crush(T) if(ismineralturf(T)) var/turf/closed/mineral/M = T M.gets_drilled(creator) + check_pressure(T) + playsound(T,'sound/weapons/resonator_blast.ogg',50,1) for(var/mob/living/L in T) if(creator) add_logs(creator, L, "used a resonator field on", "resonator") @@ -266,6 +273,16 @@ L.apply_damage(resonance_damage, BRUTE) qdel(src) +/obj/effect/temp_visual/resonance_crush + icon_state = "shield1" + layer = ABOVE_ALL_MOB_LAYER + duration = 4 + +/obj/effect/temp_visual/resonance_crush/Initialize() + . = ..() + transform = matrix()*1.5 + animate(src, transform = matrix()*0.1, alpha = 50, time = 4) + /**********************Facehugger toy**********************/ /obj/item/clothing/mask/facehugger/toy @@ -345,28 +362,23 @@ /**********************Mining Scanners**********************/ /obj/item/device/mining_scanner - desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear material scanners for optimal results." + desc = "A scanner that checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations." name = "manual mining scanner" icon_state = "mining1" item_state = "analyzer" w_class = WEIGHT_CLASS_SMALL flags = CONDUCT slot_flags = SLOT_BELT - var/cooldown = 0 + var/cooldown = 35 + var/current_cooldown = 0 origin_tech = "engineering=1;magnets=1" /obj/item/device/mining_scanner/attack_self(mob/user) if(!user.client) return - if(!cooldown) - cooldown = TRUE - addtimer(CALLBACK(src, .proc/clear_cooldown), 40) - var/list/mobs = list() - mobs |= user - mineral_scan_pulse(mobs, get_turf(user)) - -/obj/item/device/mining_scanner/proc/clear_cooldown() - cooldown = FALSE + if(current_cooldown <= world.time) + current_cooldown = world.time + cooldown + mineral_scan_pulse(get_turf(user)) //Debug item to identify all ore spread quickly @@ -379,7 +391,7 @@ qdel(src) /obj/item/device/t_scanner/adv_mining_scanner - desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear meson scanners for optimal results. This one has an extended range." + desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. This one has an extended range." name = "advanced automatic mining scanner" icon_state = "mining0" item_state = "analyzer" @@ -387,77 +399,47 @@ flags = CONDUCT slot_flags = SLOT_BELT var/cooldown = 35 - var/on_cooldown = 0 + var/current_cooldown = 0 var/range = 7 - var/meson = TRUE origin_tech = "engineering=3;magnets=3" -/obj/item/device/t_scanner/adv_mining_scanner/material - meson = FALSE - desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear material scanners for optimal results. This one has an extended range." - /obj/item/device/t_scanner/adv_mining_scanner/lesser name = "automatic mining scanner" - desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear meson scanners for optimal results." + desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations." range = 4 cooldown = 50 -/obj/item/device/t_scanner/adv_mining_scanner/lesser/material - desc = "A scanner that automatically checks surrounding rock for useful minerals; it can also be used to stop gibtonite detonations. Wear material scanners for optimal results." - meson = FALSE - /obj/item/device/t_scanner/adv_mining_scanner/scan() - if(!on_cooldown) - on_cooldown = 1 - spawn(cooldown) - on_cooldown = 0 + if(current_cooldown <= world.time) + current_cooldown = world.time + cooldown var/turf/t = get_turf(src) - var/list/mobs = recursive_mob_check(t, 1,0,0) - if(!mobs.len) - return - if(meson) - mineral_scan_pulse(mobs, t, range) - else - mineral_scan_pulse_material(mobs, t, range) + mineral_scan_pulse(t, range) -//For use with mesons -/proc/mineral_scan_pulse(list/mobs, turf/T, range = world.view) +/proc/mineral_scan_pulse(turf/T, range = world.view) var/list/minerals = list() for(var/turf/closed/mineral/M in range(range, T)) if(M.scan_state) minerals += M - if(minerals.len) - for(var/mob/user in mobs) - if(user.client) - var/client/C = user.client - for(var/turf/closed/mineral/M in minerals) - var/turf/F = get_turf(M) - var/image/I = image('icons/turf/smoothrocks.dmi', loc = F, icon_state = M.scan_state, layer = FLASH_LAYER) - I.plane = FULLSCREEN_PLANE - C.images += I - spawn(30) - if(C) - C.images -= I - -//For use with material scanners -/proc/mineral_scan_pulse_material(list/mobs, turf/T, range = world.view) - var/list/minerals = list() - for(var/turf/closed/mineral/M in range(range, T)) - if(M.scan_state) - minerals += M - if(minerals.len) + if(LAZYLEN(minerals)) for(var/turf/closed/mineral/M in minerals) - var/obj/effect/overlay/temp/mining_overlay/C = new /obj/effect/overlay/temp/mining_overlay(M) + var/obj/effect/temp_visual/mining_overlay/oldC = locate(/obj/effect/temp_visual/mining_overlay) in M + if(oldC) + qdel(oldC) + var/obj/effect/temp_visual/mining_overlay/C = new /obj/effect/temp_visual/mining_overlay(M) C.icon_state = M.scan_state -/obj/effect/overlay/temp/mining_overlay +/obj/effect/temp_visual/mining_overlay + plane = FULLSCREEN_PLANE layer = FLASH_LAYER - icon = 'icons/turf/smoothrocks.dmi' - anchored = 1 - mouse_opacity = 0 - duration = 30 - pixel_x = -4 - pixel_y = -4 + icon = 'icons/effects/ore_visuals.dmi' + appearance_flags = 0 //to avoid having TILE_BOUND in the flags, so that the 480x480 icon states let you see it no matter where you are + duration = 35 + pixel_x = -224 + pixel_y = -224 + +/obj/effect/temp_visual/mining_overlay/Initialize() + . = ..() + animate(src, alpha = 0, time = duration, easing = EASE_IN) /**********************Xeno Warning Sign**********************/ @@ -510,79 +492,66 @@ hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("smashed", "crushed", "cleaved", "chopped", "pulped") sharpness = IS_SHARP - var/charged = 1 - var/charge_time = 16 - var/atom/mark = null - var/mutable_appearance/marked_underlay + var/charged = TRUE + var/charge_time = 14 /obj/item/projectile/destabilizer name = "destabilizing force" icon_state = "pulse1" + nodamage = TRUE damage = 0 //We're just here to mark people. This is still a melee weapon. damage_type = BRUTE flag = "bomb" range = 6 - var/obj/item/weapon/twohanded/required/mining_hammer/hammer_synced = null log_override = TRUE + var/obj/item/weapon/twohanded/required/mining_hammer/hammer_synced + +/obj/item/projectile/destabilizer/Destroy() + hammer_synced = null + return ..() /obj/item/projectile/destabilizer/on_hit(atom/target, blocked = 0) - if(hammer_synced) - if(hammer_synced.mark == target) - return ..() - if(isliving(target)) - if(hammer_synced.mark && hammer_synced.marked_underlay) - hammer_synced.mark.underlays -= hammer_synced.marked_underlay - hammer_synced.marked_underlay = null - var/mob/living/L = target - if(L.mob_size >= MOB_SIZE_LARGE) - hammer_synced.mark = L - hammer_synced.marked_underlay = mutable_appearance('icons/effects/effects.dmi', "shield2") - hammer_synced.marked_underlay.pixel_x = -L.pixel_x - hammer_synced.marked_underlay.pixel_y = -L.pixel_y - L.underlays += hammer_synced.marked_underlay - var/target_turf = get_turf(target) - if(ismineralturf(target_turf)) - var/turf/closed/mineral/M = target_turf - new /obj/effect/overlay/temp/kinetic_blast(M) - M.gets_drilled(firer) + if(isliving(target)) + var/mob/living/L = target + var/datum/status_effect/crusher_mark/CM = L.apply_status_effect(STATUS_EFFECT_CRUSHERMARK) + CM.hammer_synced = hammer_synced + var/target_turf = get_turf(target) + if(ismineralturf(target_turf)) + var/turf/closed/mineral/M = target_turf + new /obj/effect/temp_visual/kinetic_blast(M) + M.gets_drilled(firer) ..() /obj/item/weapon/twohanded/required/mining_hammer/afterattack(atom/target, mob/user, proximity_flag) if(!proximity_flag && charged)//Mark a target, or mine a tile. - var/turf/proj_turf = get_turf(src) + var/turf/proj_turf = user.loc if(!isturf(proj_turf)) return - var/datum/gas_mixture/environment = proj_turf.return_air() - var/pressure = environment.return_pressure() - if(pressure > 50) - playsound(user, 'sound/weapons/empty.ogg', 100, 1) - return - var/obj/item/projectile/destabilizer/D = new /obj/item/projectile/destabilizer(user.loc) - D.preparePixelProjectile(target,get_turf(target), user) + var/obj/item/projectile/destabilizer/D = new /obj/item/projectile/destabilizer(proj_turf) + D.preparePixelProjectile(target, get_turf(target), user) D.hammer_synced = src playsound(user, 'sound/weapons/plasma_cutter.ogg', 100, 1) D.fire() - charged = 0 + charged = FALSE icon_state = "mining_hammer1_uncharged" addtimer(CALLBACK(src, .proc/Recharge), charge_time) return - if(proximity_flag && target == mark && isliving(target)) + if(proximity_flag && isliving(target)) var/mob/living/L = target - new /obj/effect/overlay/temp/kinetic_blast(get_turf(L)) - mark = 0 - if(L.mob_size >= MOB_SIZE_LARGE) - L.underlays -= marked_underlay - QDEL_NULL(marked_underlay) - var/backstab_dir = get_dir(user, L) - var/def_check = L.getarmor(type = "bomb") - if((user.dir & backstab_dir) && (L.dir & backstab_dir)) - L.apply_damage(80, BRUTE, blocked = def_check) - playsound(user, 'sound/weapons/Kenetic_accel.ogg', 100, 1) //Seriously who spelled it wrong - else - L.apply_damage(50, BRUTE, blocked = def_check) + var/datum/status_effect/crusher_mark/CM = L.has_status_effect(STATUS_EFFECT_CRUSHERMARK) + if(!CM || CM.hammer_synced != src || !L.remove_status_effect(STATUS_EFFECT_CRUSHERMARK)) + return + new /obj/effect/temp_visual/kinetic_blast(get_turf(L)) + var/backstab_dir = get_dir(user, L) + var/def_check = L.getarmor(type = "bomb") + if((user.dir & backstab_dir) && (L.dir & backstab_dir)) + L.apply_damage(80, BRUTE, blocked = def_check) + playsound(user, 'sound/weapons/Kenetic_accel.ogg', 100, 1) //Seriously who spelled it wrong + else + L.apply_damage(50, BRUTE, blocked = def_check) /obj/item/weapon/twohanded/required/mining_hammer/proc/Recharge() if(!charged) - charged = 1 + charged = TRUE icon_state = "mining_hammer1" playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1) diff --git a/code/modules/mining/lavaland/necropolis_chests.dm b/code/modules/mining/lavaland/necropolis_chests.dm index 9e4996135d..e2ee4d4c96 100644 --- a/code/modules/mining/lavaland/necropolis_chests.dm +++ b/code/modules/mining/lavaland/necropolis_chests.dm @@ -673,7 +673,7 @@ if(!istype(T)) return if(!istype(T, turf_type)) - var/obj/effect/overlay/temp/lavastaff/L = new /obj/effect/overlay/temp/lavastaff(T) + var/obj/effect/temp_visual/lavastaff/L = new /obj/effect/temp_visual/lavastaff(T) L.alpha = 0 animate(L, alpha = 255, time = create_delay) user.visible_message("[user] points [src] at [T]!") @@ -696,7 +696,7 @@ timer = world.time + reset_cooldown playsound(T,'sound/magic/Fireball.ogg', 200, 1) -/obj/effect/overlay/temp/lavastaff +/obj/effect/temp_visual/lavastaff icon_state = "lavastaff_warn" duration = 50 @@ -821,9 +821,7 @@ timer = world.time + cooldown_time if(isliving(target) && chaser_timer <= world.time) //living and chasers off cooldown? fire one! chaser_timer = world.time + chaser_cooldown - var/obj/effect/overlay/temp/hierophant/chaser/C = new(get_turf(user), user, target, chaser_speed, friendly_fire_check) - C.damage = 30 - C.monster_damage_boost = FALSE + new /obj/effect/temp_visual/hierophant/chaser(get_turf(user), user, target, chaser_speed, friendly_fire_check) add_logs(user, target, "fired a chaser at", src) else INVOKE_ASYNC(src, .proc/cardinal_blasts, T, user) //otherwise, just do cardinal blast @@ -878,7 +876,7 @@ if(do_after(user, 50, target = user) && !beacon) var/turf/T = get_turf(user) playsound(T,'sound/magic/Blind.ogg', 200, 1, -4) - new /obj/effect/overlay/temp/hierophant/telegraph/teleport(T, user) + new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, user) beacon = new/obj/effect/hierophant(T) user.update_action_buttons_icon() user.visible_message("[user] places a strange machine beneath [user.p_their()] feet!", \ @@ -905,8 +903,8 @@ timer = world.time + 50 INVOKE_ASYNC(src, .proc/prepare_icon_update) beacon.icon_state = "hierophant_tele_on" - var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE1 = new /obj/effect/overlay/temp/hierophant/telegraph/edge(user.loc) - var/obj/effect/overlay/temp/hierophant/telegraph/edge/TE2 = new /obj/effect/overlay/temp/hierophant/telegraph/edge(beacon.loc) + var/obj/effect/temp_visual/hierophant/telegraph/edge/TE1 = new /obj/effect/temp_visual/hierophant/telegraph/edge(user.loc) + var/obj/effect/temp_visual/hierophant/telegraph/edge/TE2 = new /obj/effect/temp_visual/hierophant/telegraph/edge(beacon.loc) if(do_after(user, 40, target = user) && user && beacon) var/turf/T = get_turf(beacon) var/turf/source = get_turf(user) @@ -918,8 +916,8 @@ INVOKE_ASYNC(src, .proc/prepare_icon_update) beacon.icon_state = "hierophant_tele_off" return - new /obj/effect/overlay/temp/hierophant/telegraph(T, user) - new /obj/effect/overlay/temp/hierophant/telegraph(source, user) + new /obj/effect/temp_visual/hierophant/telegraph(T, user) + new /obj/effect/temp_visual/hierophant/telegraph(source, user) playsound(T,'sound/magic/Wand_Teleport.ogg', 200, 1) playsound(source,'sound/machines/AirlockOpen.ogg', 200, 1) if(!do_after(user, 3, target = user) || !user || !beacon || QDELETED(beacon)) //no walking away shitlord @@ -940,13 +938,13 @@ beacon.icon_state = "hierophant_tele_off" return add_logs(user, beacon, "teleported self from ([source.x],[source.y],[source.z]) to") - new /obj/effect/overlay/temp/hierophant/telegraph/teleport(T, user) - new /obj/effect/overlay/temp/hierophant/telegraph/teleport(source, user) + new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, user) + new /obj/effect/temp_visual/hierophant/telegraph/teleport(source, user) for(var/t in RANGE_TURFS(1, T)) - var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, user, TRUE) //No friendly fire, this is a utility tool + var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, user, TRUE) //blasts produced will not hurt allies B.damage = 30 for(var/t in RANGE_TURFS(1, source)) - var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, user, TRUE) + var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, user, TRUE) //but absolutely will hurt enemies B.damage = 30 for(var/mob/living/L in range(1, source)) INVOKE_ASYNC(src, .proc/teleport_mob, source, L, T, user) //regardless, take all mobs near us along @@ -991,10 +989,10 @@ /obj/item/weapon/hierophant_club/proc/cardinal_blasts(turf/T, mob/living/user) //fire cardinal cross blasts with a delay if(!T) return - new /obj/effect/overlay/temp/hierophant/telegraph/cardinal(T, user) + new /obj/effect/temp_visual/hierophant/telegraph/cardinal(T, user) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) - new /obj/effect/overlay/temp/hierophant/blast(T, user, friendly_fire_check) + new /obj/effect/temp_visual/hierophant/blast(T, user, friendly_fire_check) for(var/d in GLOB.cardinal) INVOKE_ASYNC(src, .proc/blast_wall, T, d, user) @@ -1007,18 +1005,15 @@ for(var/i in 1 to range) if(!J) return - var/obj/effect/overlay/temp/hierophant/blast/B = new(J, user, friendly_fire_check) - B.damage = 30 - B.monster_damage_boost = FALSE + new /obj/effect/temp_visual/hierophant/blast(J, user, friendly_fire_check) previousturf = J J = get_step(previousturf, dir) /obj/item/weapon/hierophant_club/proc/aoe_burst(turf/T, mob/living/user) //make a 3x3 blast around a target if(!T) return - new /obj/effect/overlay/temp/hierophant/telegraph(T, user) + new /obj/effect/temp_visual/hierophant/telegraph(T, user) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) for(var/t in RANGE_TURFS(1, T)) - var/obj/effect/overlay/temp/hierophant/blast/B = new(t, user, friendly_fire_check) - B.damage = 15 //keeps monster damage boost due to lower damage + new /obj/effect/temp_visual/hierophant/blast(t, user, friendly_fire_check) diff --git a/code/modules/mining/machine_vending.dm b/code/modules/mining/machine_vending.dm index ae0ad90dfe..371fb11fec 100644 --- a/code/modules/mining/machine_vending.dm +++ b/code/modules/mining/machine_vending.dm @@ -19,7 +19,7 @@ new /datum/data/mining_equipment("Stabilizing Serum", /obj/item/weapon/hivelordstabilizer, 400), new /datum/data/mining_equipment("Fulton Beacon", /obj/item/fulton_core, 400), new /datum/data/mining_equipment("Shelter Capsule", /obj/item/weapon/survivalcapsule, 400), - new /datum/data/mining_equipment("GAR scanners", /obj/item/clothing/glasses/meson/gar, 500), + new /datum/data/mining_equipment("GAR Meson Scanners", /obj/item/clothing/glasses/meson/gar, 500), new /datum/data/mining_equipment("Explorer's Webbing", /obj/item/weapon/storage/belt/mining, 500), new /datum/data/mining_equipment("Survival Medipen", /obj/item/weapon/reagent_containers/hypospray/medipen/survival, 500), new /datum/data/mining_equipment("Brute First-Aid Kit", /obj/item/weapon/storage/firstaid/brute, 600), diff --git a/code/modules/mining/minebot.dm b/code/modules/mining/minebot.dm index cef87fc57d..7ee5ed51c7 100644 --- a/code/modules/mining/minebot.dm +++ b/code/modules/mining/minebot.dm @@ -24,7 +24,7 @@ melee_damage_lower = 15 melee_damage_upper = 15 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE check_friendly_fire = 1 stop_automated_movement_when_pulled = 1 attacktext = "drills" @@ -44,7 +44,6 @@ var/light_on = 0 var/datum/action/innate/minedrone/toggle_light/toggle_light_action - var/datum/action/innate/minedrone/toggle_meson_vision/toggle_meson_vision_action var/datum/action/innate/minedrone/toggle_mode/toggle_mode_action var/datum/action/innate/minedrone/dump_ore/dump_ore_action @@ -52,8 +51,6 @@ ..() toggle_light_action = new() toggle_light_action.Grant(src) - toggle_meson_vision_action = new() - toggle_meson_vision_action.Grant(src) toggle_mode_action = new() toggle_mode_action.Grant(src) dump_ore_action = new() @@ -189,23 +186,6 @@ user.light_on = !user.light_on to_chat(user, "You toggle your light [user.light_on ? "on" : "off"].") -/datum/action/innate/minedrone/toggle_meson_vision - name = "Toggle Meson Vision" - button_icon_state = "meson" - -/datum/action/innate/minedrone/toggle_meson_vision/Activate() - var/mob/living/simple_animal/hostile/mining_drone/user = owner - if(user.sight & SEE_TURFS) - user.sight &= ~SEE_TURFS - user.lighting_alpha = LIGHTING_PLANE_ALPHA_VISIBLE - else - user.sight |= SEE_TURFS - user.lighting_alpha = LIGHTING_PLANE_ALPHA_INVISIBLE - - user.sync_lighting_plane_alpha() - - to_chat(user, "You toggle your meson vision [(user.sight & SEE_TURFS) ? "on" : "off"].") - /datum/action/innate/minedrone/toggle_mode name = "Toggle Mode" button_icon_state = "mech_cycle_equip_off" diff --git a/code/modules/mob/living/carbon/alien/death.dm b/code/modules/mob/living/carbon/alien/death.dm index 9cb2965dfc..8118476c69 100644 --- a/code/modules/mob/living/carbon/alien/death.dm +++ b/code/modules/mob/living/carbon/alien/death.dm @@ -5,10 +5,10 @@ new /obj/effect/gibspawner/xenobodypartless(loc,viruses) /mob/living/carbon/alien/gib_animation() - new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-a") + new /obj/effect/temp_visual/gib_animation(loc, "gibbed-a") /mob/living/carbon/alien/spawn_dust() new /obj/effect/decal/remains/xeno(loc) /mob/living/carbon/alien/dust_animation() - new /obj/effect/overlay/temp/dust_animation(loc, "dust-a") + new /obj/effect/temp_visual/dust_animation(loc, "dust-a") diff --git a/code/modules/mob/living/carbon/alien/larva/death.dm b/code/modules/mob/living/carbon/alien/larva/death.dm index 26634d86dd..4d337606f5 100644 --- a/code/modules/mob/living/carbon/alien/larva/death.dm +++ b/code/modules/mob/living/carbon/alien/larva/death.dm @@ -13,10 +13,10 @@ new /obj/effect/gibspawner/larvabodypartless(loc,viruses) /mob/living/carbon/alien/larva/gib_animation() - new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-l") + new /obj/effect/temp_visual/gib_animation(loc, "gibbed-l") /mob/living/carbon/alien/larva/spawn_dust() new /obj/effect/decal/remains/xeno(loc) /mob/living/carbon/alien/larva/dust_animation() - new /obj/effect/overlay/temp/dust_animation(loc, "dust-l") + new /obj/effect/temp_visual/dust_animation(loc, "dust-l") diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index e272680418..c17126656f 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -1,8 +1,8 @@ /mob/living/carbon/human/gib_animation() - new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-h") + new /obj/effect/temp_visual/gib_animation(loc, "gibbed-h") /mob/living/carbon/human/dust_animation() - new /obj/effect/overlay/temp/dust_animation(loc, "dust-h") + new /obj/effect/temp_visual/dust_animation(loc, "dust-h") /mob/living/carbon/human/spawn_gibs(with_bodyparts) if(with_bodyparts) diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index e5008b95d4..09c566e6a4 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -664,7 +664,7 @@ return invisibility = INVISIBILITY_MAXIMUM //disappear before the animation - new /obj/effect/overlay/temp/mummy_animation(get_turf(src)) + new /obj/effect/temp_visual/mummy_animation(get_turf(src)) if(cloth_golem.revive(full_heal = TRUE, admin_revive = TRUE)) cloth_golem.grab_ghost() //won't pull if it's a suicide sleep(20) diff --git a/code/modules/mob/living/carbon/monkey/death.dm b/code/modules/mob/living/carbon/monkey/death.dm index b8867af9e9..8eeadd6608 100644 --- a/code/modules/mob/living/carbon/monkey/death.dm +++ b/code/modules/mob/living/carbon/monkey/death.dm @@ -1,5 +1,5 @@ /mob/living/carbon/monkey/gib_animation() - new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-m") + new /obj/effect/temp_visual/gib_animation(loc, "gibbed-m") /mob/living/carbon/monkey/dust_animation() - new /obj/effect/overlay/temp/dust_animation(loc, "dust-m") + new /obj/effect/temp_visual/dust_animation(loc, "dust-m") diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 99c99a44d9..15950ed0f1 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -797,9 +797,6 @@ return 1 /mob/living/carbon/proc/update_stamina() - return - -/mob/living/carbon/human/update_stamina() if(staminaloss) var/total_health = (health - staminaloss) if(total_health <= HEALTH_THRESHOLD_CRIT && !stat) @@ -808,6 +805,9 @@ setStaminaLoss(health - 2) update_health_hud() +/mob/living/carbon/alien/update_stamina() + return + /mob/living/proc/owns_soul() if(mind) return mind.soulOwner == mind diff --git a/code/modules/mob/living/silicon/robot/death.dm b/code/modules/mob/living/silicon/robot/death.dm index 6376ae4857..7baa1a3912 100644 --- a/code/modules/mob/living/silicon/robot/death.dm +++ b/code/modules/mob/living/silicon/robot/death.dm @@ -1,6 +1,6 @@ /mob/living/silicon/robot/gib_animation() - new /obj/effect/overlay/temp/gib_animation(loc, "gibbed-r") + new /obj/effect/temp_visual/gib_animation(loc, "gibbed-r") /mob/living/silicon/robot/dust() if(mmi) @@ -11,7 +11,7 @@ new /obj/effect/decal/remains/robot(loc) /mob/living/silicon/robot/dust_animation() - new /obj/effect/overlay/temp/dust_animation(loc, "dust-r") + new /obj/effect/temp_visual/dust_animation(loc, "dust-r") /mob/living/silicon/robot/death(gibbed) if(stat == DEAD) diff --git a/code/modules/mob/living/silicon/robot/robot_modules.dm b/code/modules/mob/living/silicon/robot/robot_modules.dm index 4fbe56361e..cdbb5e77aa 100644 --- a/code/modules/mob/living/silicon/robot/robot_modules.dm +++ b/code/modules/mob/living/silicon/robot/robot_modules.dm @@ -198,9 +198,9 @@ /obj/item/weapon/robot_module/proc/do_transform_animation() var/mob/living/silicon/robot/R = loc R.notransform = TRUE - var/obj/effect/overlay/temp/decoy/fading/fivesecond/ANM = new /obj/effect/overlay/temp/decoy/fading/fivesecond(R.loc, R) + var/obj/effect/temp_visual/decoy/fading/fivesecond/ANM = new /obj/effect/temp_visual/decoy/fading/fivesecond(R.loc, R) ANM.layer = R.layer - 0.01 - new /obj/effect/overlay/temp/small_smoke(R.loc) + new /obj/effect/temp_visual/small_smoke(R.loc) if(R.hat) R.hat.forceMove(get_turf(R)) R.hat = null @@ -526,7 +526,6 @@ name = "Miner" basic_modules = list( /obj/item/device/assembly/flash/cyborg, - /obj/item/borg/sight/meson, /obj/item/weapon/storage/bag/ore/cyborg, /obj/item/weapon/pickaxe/drill/cyborg, /obj/item/weapon/shovel, diff --git a/code/modules/mob/living/simple_animal/bot/bot.dm b/code/modules/mob/living/simple_animal/bot/bot.dm index 25a2f83266..5b17ab7d6e 100644 --- a/code/modules/mob/living/simple_animal/bot/bot.dm +++ b/code/modules/mob/living/simple_animal/bot/bot.dm @@ -299,7 +299,7 @@ /mob/living/simple_animal/bot/emp_act(severity) var/was_on = on stat |= EMPED - new /obj/effect/overlay/temp/emp(loc) + new /obj/effect/temp_visual/emp(loc) if(paicard) paicard.emp_act(severity) src.visible_message("[paicard] is flies out of [bot_name]!","You are forcefully ejected from [bot_name]!") diff --git a/code/modules/mob/living/simple_animal/bot/ed209bot.dm b/code/modules/mob/living/simple_animal/bot/ed209bot.dm index 32db638542..4a79476bf0 100644 --- a/code/modules/mob/living/simple_animal/bot/ed209bot.dm +++ b/code/modules/mob/living/simple_animal/bot/ed209bot.dm @@ -9,7 +9,7 @@ maxHealth = 100 damage_coeff = list(BRUTE = 0.5, BURN = 0.7, TOX = 0, CLONE = 0, STAMINA = 0, OXY = 0) obj_damage = 60 - environment_smash = 2 //Walls can't stop THE LAW + environment_smash = ENVIRONMENT_SMASH_WALLS //Walls can't stop THE LAW mob_size = MOB_SIZE_LARGE radio_key = /obj/item/device/encryptionkey/headset_sec @@ -444,7 +444,7 @@ Auto Patrol[]"}, if(severity==2 && prob(70)) ..(severity-1) else - new /obj/effect/overlay/temp/emp(loc) + new /obj/effect/temp_visual/emp(loc) var/list/mob/living/carbon/targets = new for(var/mob/living/carbon/C in view(12,src)) if(C.stat==2) diff --git a/code/modules/mob/living/simple_animal/constructs.dm b/code/modules/mob/living/simple_animal/constructs.dm index f988fc2477..6fe1c5db53 100644 --- a/code/modules/mob/living/simple_animal/constructs.dm +++ b/code/modules/mob/living/simple_animal/constructs.dm @@ -115,7 +115,7 @@ melee_damage_upper = 30 attacktext = "smashes their armored gauntlet into" speed = 3 - environment_smash = 2 + environment_smash = ENVIRONMENT_SMASH_WALLS attack_sound = 'sound/weapons/punch3.ogg' status_flags = 0 mob_size = MOB_SIZE_LARGE @@ -126,7 +126,7 @@ /mob/living/simple_animal/hostile/construct/armored/hostile //actually hostile, will move around, hit things AIStatus = AI_ON - environment_smash = 1 //only token destruction, don't smash the cult wall NO STOP + environment_smash = ENVIRONMENT_SMASH_STRUCTURES //only token destruction, don't smash the cult wall NO STOP /mob/living/simple_animal/hostile/construct/armored/bullet_act(obj/item/projectile/P) if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam)) @@ -218,7 +218,7 @@ retreat_distance = 10 minimum_distance = 10 //AI artificers will flee like fuck attacktext = "rams" - environment_smash = 2 + environment_smash = ENVIRONMENT_SMASH_WALLS attack_sound = 'sound/weapons/punch2.ogg' construct_spells = list(/obj/effect/proc_holder/spell/aoe_turf/conjure/wall, /obj/effect/proc_holder/spell/aoe_turf/conjure/floor, @@ -272,7 +272,7 @@ /mob/living/simple_animal/hostile/construct/builder/hostile //actually hostile, will move around, hit things, heal other constructs AIStatus = AI_ON - environment_smash = 1 //only token destruction, don't smash the cult wall NO STOP + environment_smash = ENVIRONMENT_SMASH_STRUCTURES //only token destruction, don't smash the cult wall NO STOP /////////////////////////////Non-cult Artificer///////////////////////// /mob/living/simple_animal/hostile/construct/builder/noncult diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 159aec35af..5f3c8f6183 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -216,7 +216,7 @@ if(change) if(change > 0) if(M && stat != DEAD) - new /obj/effect/overlay/temp/heart(loc) + new /obj/effect/temp_visual/heart(loc) emote("me", 1, "purrs!") else if(M && stat != DEAD) diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index eb6feb00be..a2ae3b4b2d 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -553,7 +553,7 @@ if(change) if(change > 0) if(M && stat != DEAD) // Added check to see if this mob (the dog) is dead to fix issue 2454 - new /obj/effect/overlay/temp/heart(loc) + new /obj/effect/temp_visual/heart(loc) emote("me", 1, "yaps happily!") else if(M && stat != DEAD) // Same check here, even though emote checks it as well (poor form to check it only in the help case) diff --git a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm index 2594700770..e4daeb66d1 100644 --- a/code/modules/mob/living/simple_animal/friendly/farm_animals.dm +++ b/code/modules/mob/living/simple_animal/friendly/farm_animals.dm @@ -24,7 +24,7 @@ maxHealth = 40 melee_damage_lower = 1 melee_damage_upper = 2 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE stop_automated_movement_when_pulled = 1 blood_volume = BLOOD_VOLUME_NORMAL var/obj/item/udder/udder = null diff --git a/code/modules/mob/living/simple_animal/friendly/lizard.dm b/code/modules/mob/living/simple_animal/friendly/lizard.dm index 5297391462..8de57f1a85 100644 --- a/code/modules/mob/living/simple_animal/friendly/lizard.dm +++ b/code/modules/mob/living/simple_animal/friendly/lizard.dm @@ -20,7 +20,7 @@ mob_size = MOB_SIZE_SMALL gold_core_spawnable = 2 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE var/list/edibles = list(/mob/living/simple_animal/butterfly,/mob/living/simple_animal/cockroach) //list of atoms, however turfs won't affect AI, but will affect consumption. /mob/living/simple_animal/hostile/lizard/CanAttack(atom/the_target)//Can we actually attack a possible target? diff --git a/code/modules/mob/living/simple_animal/guardian/guardian.dm b/code/modules/mob/living/simple_animal/guardian/guardian.dm index cd427ba33c..7a6204c7c9 100644 --- a/code/modules/mob/living/simple_animal/guardian/guardian.dm +++ b/code/modules/mob/living/simple_animal/guardian/guardian.dm @@ -31,7 +31,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians health = INFINITY healable = FALSE //don't brusepack the guardian damage_coeff = list(BRUTE = 0.5, BURN = 0.5, TOX = 0.5, CLONE = 0.5, STAMINA = 0, OXY = 0.5) //how much damage from each damage type we transfer to the owner - environment_smash = 1 + environment_smash = ENVIRONMENT_SMASH_STRUCTURES obj_damage = 40 melee_damage_lower = 15 melee_damage_upper = 15 @@ -175,9 +175,9 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians if(istype(summoner.loc, /obj/effect)) Recall(TRUE) else - new /obj/effect/overlay/temp/guardian/phase/out(loc) + new /obj/effect/temp_visual/guardian/phase/out(loc) forceMove(summoner.loc) - new /obj/effect/overlay/temp/guardian/phase(loc) + new /obj/effect/temp_visual/guardian/phase(loc) /mob/living/simple_animal/hostile/guardian/canSuicide() return 0 @@ -315,7 +315,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians return FALSE if(loc == summoner) forceMove(summoner.loc) - new /obj/effect/overlay/temp/guardian/phase(loc) + new /obj/effect/temp_visual/guardian/phase(loc) cooldown = world.time + 10 return TRUE return FALSE @@ -323,7 +323,7 @@ GLOBAL_LIST_EMPTY(parasites) //all currently existing/living guardians /mob/living/simple_animal/hostile/guardian/proc/Recall(forced) if(!summoner || loc == summoner || (cooldown > world.time && !forced)) return FALSE - new /obj/effect/overlay/temp/guardian/phase/out(loc) + new /obj/effect/temp_visual/guardian/phase/out(loc) forceMove(summoner) cooldown = world.time + 10 diff --git a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm index 1fa54dfd21..71ae19695c 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/assassin.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/assassin.dm @@ -71,8 +71,11 @@ melee_damage_upper = 50 armour_penetration = 100 obj_damage = 0 - environment_smash = 0 - new /obj/effect/overlay/temp/guardian/phase/out(get_turf(src)) + + + environment_smash = ENVIRONMENT_SMASH_NONE + + new /obj/effect/temp_visual/guardian/phase/out(get_turf(src)) alpha = 15 if(!forced) to_chat(src, "You enter stealth, empowering your next attack.") diff --git a/code/modules/mob/living/simple_animal/guardian/types/charger.dm b/code/modules/mob/living/simple_animal/guardian/types/charger.dm index 708a1e2ce6..c1be82b820 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/charger.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/charger.dm @@ -40,7 +40,7 @@ /mob/living/simple_animal/hostile/guardian/charger/Move() if(charging) - new /obj/effect/overlay/temp/decoy/fading(loc,src) + new /obj/effect/temp_visual/decoy/fading(loc,src) . = ..() /mob/living/simple_animal/hostile/guardian/charger/snapback() diff --git a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm index 9da40c0c7c..1e6fa727b9 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/explosive.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/explosive.dm @@ -21,14 +21,14 @@ if(. && prob(40) && isliving(target)) var/mob/living/M = target if(!M.anchored && M != summoner && !hasmatchingsummoner(M)) - new /obj/effect/overlay/temp/guardian/phase/out(get_turf(M)) + new /obj/effect/temp_visual/guardian/phase/out(get_turf(M)) do_teleport(M, M, 10) for(var/mob/living/L in range(1, M)) if(hasmatchingsummoner(L)) //if the summoner matches don't hurt them continue if(L != src && L != summoner) L.apply_damage(15, BRUTE) - new /obj/effect/overlay/temp/explosion(get_turf(M)) + new /obj/effect/temp_visual/explosion(get_turf(M)) /mob/living/simple_animal/hostile/guardian/bomb/AltClickOn(atom/movable/A) if(!istype(A)) @@ -75,7 +75,7 @@ var/turf/T = get_turf(src) stored_obj.forceMove(T) playsound(T,'sound/effects/Explosion2.ogg', 200, 1) - new /obj/effect/overlay/temp/explosion(T) + new /obj/effect/temp_visual/explosion(T) user.ex_act(2) qdel(src) else diff --git a/code/modules/mob/living/simple_animal/guardian/types/protector.dm b/code/modules/mob/living/simple_animal/guardian/types/protector.dm index eacf58410b..cabb6854b2 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/protector.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/protector.dm @@ -63,6 +63,6 @@ else to_chat(summoner, "You moved out of range, and were pulled back! You can only move [range] meters from [real_name]!") summoner.visible_message("\The [summoner] jumps back to [summoner.p_their()] protector.") - new /obj/effect/overlay/temp/guardian/phase/out(get_turf(summoner)) + new /obj/effect/temp_visual/guardian/phase/out(get_turf(summoner)) summoner.forceMove(get_turf(src)) - new /obj/effect/overlay/temp/guardian/phase(get_turf(summoner)) + new /obj/effect/temp_visual/guardian/phase(get_turf(summoner)) diff --git a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm index f7c14f336a..37777a5ead 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/ranged.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/ranged.dm @@ -45,7 +45,7 @@ melee_damage_lower = 0 melee_damage_upper = 0 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE alpha = 45 range = 255 incorporeal_move = 1 diff --git a/code/modules/mob/living/simple_animal/guardian/types/standard.dm b/code/modules/mob/living/simple_animal/guardian/types/standard.dm index 1d2cfdea6f..72bb57513e 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/standard.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/standard.dm @@ -4,7 +4,7 @@ melee_damage_upper = 20 obj_damage = 80 next_move_modifier = 0.8 //attacks 20% faster - environment_smash = 2 + environment_smash = ENVIRONMENT_SMASH_WALLS playstyle_string = "As a standard type you have no special abilities, but have a high damage resistance and a powerful attack capable of smashing through walls." magic_fluff_string = "..And draw the Assistant, faceless and generic, but never to be underestimated." tech_fluff_string = "Boot sequence complete. Standard combat modules loaded. Holoparasite swarm online." diff --git a/code/modules/mob/living/simple_animal/guardian/types/support.dm b/code/modules/mob/living/simple_animal/guardian/types/support.dm index 159e6df5f4..3d7ae48443 100644 --- a/code/modules/mob/living/simple_animal/guardian/types/support.dm +++ b/code/modules/mob/living/simple_animal/guardian/types/support.dm @@ -34,7 +34,7 @@ C.adjustFireLoss(-5) C.adjustOxyLoss(-5) C.adjustToxLoss(-5) - var/obj/effect/overlay/temp/heal/H = new /obj/effect/overlay/temp/heal(get_turf(C)) + var/obj/effect/temp_visual/heal/H = new /obj/effect/temp_visual/heal(get_turf(C)) if(namedatum) H.color = namedatum.colour if(C == summoner) @@ -136,11 +136,11 @@ to_chat(src, "You need to hold still!") return - new /obj/effect/overlay/temp/guardian/phase/out(T) + new /obj/effect/temp_visual/guardian/phase/out(T) if(isliving(A)) var/mob/living/L = A L.flash_act() A.visible_message("[A] disappears in a flash of light!", \ "Your vision is obscured by a flash of light!") do_teleport(A, beacon, 0) - new /obj/effect/overlay/temp/guardian/phase(get_turf(A)) + new /obj/effect/temp_visual/guardian/phase(get_turf(A)) diff --git a/code/modules/mob/living/simple_animal/hostile/alien.dm b/code/modules/mob/living/simple_animal/hostile/alien.dm index b2cb16efa2..2d511004e7 100644 --- a/code/modules/mob/living/simple_animal/hostile/alien.dm +++ b/code/modules/mob/living/simple_animal/hostile/alien.dm @@ -158,7 +158,7 @@ a_intent = INTENT_HELP friendly = "caresses" obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE gold_core_spawnable = 1 icon_state = "maid" icon_living = "maid" diff --git a/code/modules/mob/living/simple_animal/hostile/bees.dm b/code/modules/mob/living/simple_animal/hostile/bees.dm index 51e782b019..6e60f6b958 100644 --- a/code/modules/mob/living/simple_animal/hostile/bees.dm +++ b/code/modules/mob/living/simple_animal/hostile/bees.dm @@ -31,7 +31,7 @@ faction = list("hostile") move_to_delay = 0 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE mouse_opacity = 2 pass_flags = PASSTABLE | PASSGRILLE | PASSMOB mob_size = MOB_SIZE_TINY diff --git a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm index 951589daaf..59177857cd 100644 --- a/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm +++ b/code/modules/mob/living/simple_animal/hostile/bosses/paperwizard.dm @@ -8,7 +8,7 @@ icon = 'icons/mob/simple_human.dmi' icon_state = "paperwizard" ranged = 1 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE minimum_distance = 3 retreat_distance = 3 obj_damage = 0 @@ -16,7 +16,7 @@ melee_damage_upper = 20 health = 1000 maxHealth = 1000 - loot = list(/obj/effect/overlay/temp/paperwiz_dying) + loot = list(/obj/effect/temp_visual/paperwiz_dying) projectiletype = /obj/item/projectile/temp projectilesound = 'sound/weapons/emitter.ogg' attack_sound = 'sound/hallucinations/growl1.ogg' @@ -129,7 +129,7 @@ qdel(src) //I see through your ruse! //fancy effects -/obj/effect/overlay/temp/paper_scatter +/obj/effect/temp_visual/paper_scatter name = "scattering paper" desc = "Pieces of paper scattering to the wind." layer = ABOVE_OPEN_TURF_LAYER @@ -139,7 +139,7 @@ duration = 5 randomdir = FALSE -/obj/effect/overlay/temp/paperwiz_dying +/obj/effect/temp_visual/paperwiz_dying name = "craft portal" desc = "A wormhole sucking the wizard into the void. Neat." layer = ABOVE_OPEN_TURF_LAYER @@ -149,18 +149,18 @@ duration = 18 randomdir = FALSE -/obj/effect/overlay/temp/paperwiz_dying/Initialize() +/obj/effect/temp_visual/paperwiz_dying/Initialize() . = ..() visible_message("The wizard cries out in pain as a gate appears behind him, sucking him in!") playsound(get_turf(src),'sound/magic/MandSwap.ogg', 50, 1, 1) playsound(get_turf(src),'sound/hallucinations/wail.ogg', 50, 1, 1) -/obj/effect/overlay/temp/paperwiz_dying/Destroy() +/obj/effect/temp_visual/paperwiz_dying/Destroy() for(var/mob/M in range(7,src)) shake_camera(M, 7, 1) var/turf/T = get_turf(src) playsound(T,'sound/magic/Summon_Magic.ogg', 50, 1, 1) - new /obj/effect/overlay/temp/paper_scatter(T) + new /obj/effect/temp_visual/paper_scatter(T) new /obj/item/clothing/suit/wizrobe/paper(T) new /obj/item/clothing/head/collectable/paper(T) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/flan.dm b/code/modules/mob/living/simple_animal/hostile/flan.dm index c77fff881e..cb581b6ec5 100644 --- a/code/modules/mob/living/simple_animal/hostile/flan.dm +++ b/code/modules/mob/living/simple_animal/hostile/flan.dm @@ -8,7 +8,7 @@ icon_living = "flan" icon_dead = "flan_dead" turns_per_move = 5 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE speed = -2 maxHealth = 50 health = 50 diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 77b68a936d..5f2c011665 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -17,7 +17,7 @@ robust_searching = 1 stat_attack = 2 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE speak_emote = list("squeaks") ventcrawler = VENTCRAWLER_ALWAYS var/datum/mind/origin diff --git a/code/modules/mob/living/simple_animal/hostile/hostile.dm b/code/modules/mob/living/simple_animal/hostile/hostile.dm index 994dcb96d3..48e756e408 100644 --- a/code/modules/mob/living/simple_animal/hostile/hostile.dm +++ b/code/modules/mob/living/simple_animal/hostile/hostile.dm @@ -2,7 +2,7 @@ faction = list("hostile") stop_automated_movement_when_pulled = 0 obj_damage = 40 - environment_smash = 1 //Set to 1 to break closets,tables,racks, etc; 2 for walls; 3 for rwalls + environment_smash = ENVIRONMENT_SMASH_STRUCTURES //Set to 1 to break closets,tables,racks, etc; 2 for walls; 3 for rwalls var/atom/target var/ranged = 0 var/rapid = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/illusion.dm b/code/modules/mob/living/simple_animal/hostile/illusion.dm index e09336059c..25ce0fc0ec 100644 --- a/code/modules/mob/living/simple_animal/hostile/illusion.dm +++ b/code/modules/mob/living/simple_animal/hostile/illusion.dm @@ -67,7 +67,7 @@ melee_damage_upper = 0 speed = -1 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE /mob/living/simple_animal/hostile/illusion/escape/AttackingTarget() diff --git a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm b/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm index de1bf0b308..363753ee62 100644 --- a/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/jungle_mobs.dm @@ -4,7 +4,7 @@ faction = list("jungle") weather_immunities = list("acid") obj_damage = 30 - environment_smash = 2 + environment_smash = ENVIRONMENT_SMASH_WALLS minbodytemp = 0 maxbodytemp = 450 response_help = "pokes" diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm index fa61a16e51..2645ebcef7 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/bubblegum.dm @@ -134,7 +134,7 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/Move() if(charging) - new /obj/effect/overlay/temp/decoy/fading(loc,src) + new /obj/effect/temp_visual/decoy/fading(loc,src) DestroySurroundings() . = ..() if(!stat && .) @@ -150,12 +150,12 @@ Difficulty: Hard var/turf/T = get_turf(target) if(!T || T == loc) return - new /obj/effect/overlay/temp/dragon_swoop/bubblegum(T) + new /obj/effect/temp_visual/dragon_swoop/bubblegum(T) charging = TRUE DestroySurroundings() walk(src, 0) setDir(get_dir(src, T)) - var/obj/effect/overlay/temp/decoy/D = new /obj/effect/overlay/temp/decoy(loc,src) + var/obj/effect/temp_visual/decoy/D = new /obj/effect/temp_visual/decoy(loc,src) animate(D, alpha = 0, color = "#FF0000", transform = matrix()*2, time = 3) sleep(3) throw_at(T, get_dist(src, T), 1, src, 0, callback = CALLBACK(src, .charge_end, bonus_charges)) @@ -245,9 +245,9 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/bloodsmack(turf/T, handedness) if(handedness) - new /obj/effect/overlay/temp/bubblegum_hands/rightsmack(T) + new /obj/effect/temp_visual/bubblegum_hands/rightsmack(T) else - new /obj/effect/overlay/temp/bubblegum_hands/leftsmack(T) + new /obj/effect/temp_visual/bubblegum_hands/leftsmack(T) sleep(2.5) for(var/mob/living/L in T) if(!faction_check_mob(L)) @@ -259,11 +259,11 @@ Difficulty: Hard /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/bloodgrab(turf/T, handedness) if(handedness) - new /obj/effect/overlay/temp/bubblegum_hands/rightpaw(T) - new /obj/effect/overlay/temp/bubblegum_hands/rightthumb(T) + new /obj/effect/temp_visual/bubblegum_hands/rightpaw(T) + new /obj/effect/temp_visual/bubblegum_hands/rightthumb(T) else - new /obj/effect/overlay/temp/bubblegum_hands/leftpaw(T) - new /obj/effect/overlay/temp/bubblegum_hands/leftthumb(T) + new /obj/effect/temp_visual/bubblegum_hands/leftpaw(T) + new /obj/effect/temp_visual/bubblegum_hands/leftthumb(T) sleep(6) for(var/mob/living/L in T) if(!faction_check_mob(L)) @@ -276,31 +276,31 @@ Difficulty: Hard addtimer(CALLBACK(src, .proc/devour, L), 2) sleep(1) -/obj/effect/overlay/temp/dragon_swoop/bubblegum +/obj/effect/temp_visual/dragon_swoop/bubblegum duration = 10 -/obj/effect/overlay/temp/bubblegum_hands +/obj/effect/temp_visual/bubblegum_hands icon = 'icons/effects/bubblegum.dmi' duration = 9 -/obj/effect/overlay/temp/bubblegum_hands/rightthumb +/obj/effect/temp_visual/bubblegum_hands/rightthumb icon_state = "rightthumbgrab" -/obj/effect/overlay/temp/bubblegum_hands/leftthumb +/obj/effect/temp_visual/bubblegum_hands/leftthumb icon_state = "leftthumbgrab" -/obj/effect/overlay/temp/bubblegum_hands/rightpaw +/obj/effect/temp_visual/bubblegum_hands/rightpaw icon_state = "rightpawgrab" layer = BELOW_MOB_LAYER -/obj/effect/overlay/temp/bubblegum_hands/leftpaw +/obj/effect/temp_visual/bubblegum_hands/leftpaw icon_state = "leftpawgrab" layer = BELOW_MOB_LAYER -/obj/effect/overlay/temp/bubblegum_hands/rightsmack +/obj/effect/temp_visual/bubblegum_hands/rightsmack icon_state = "rightsmack" -/obj/effect/overlay/temp/bubblegum_hands/leftsmack +/obj/effect/temp_visual/bubblegum_hands/leftsmack icon_state = "leftsmack" /mob/living/simple_animal/hostile/megafauna/bubblegum/proc/blood_warp() @@ -316,7 +316,7 @@ Difficulty: Hard if(!pools.len) return FALSE - var/obj/effect/overlay/temp/decoy/DA = new /obj/effect/overlay/temp/decoy(loc,src) + var/obj/effect/temp_visual/decoy/DA = new /obj/effect/temp_visual/decoy(loc,src) DA.color = "#FF0000" var/oldtransform = DA.transform DA.transform = matrix()*2 @@ -358,7 +358,7 @@ Difficulty: Hard new /obj/effect/decal/cleanable/blood/bubblegum(J) for(var/i in 1 to range) J = get_step(previousturf, targetdir) - new /obj/effect/overlay/temp/dir_setting/bloodsplatter(previousturf, get_dir(previousturf, J)) + new /obj/effect/temp_visual/dir_setting/bloodsplatter(previousturf, get_dir(previousturf, J)) playsound(previousturf,'sound/effects/splat.ogg', 100, 1, -1) if(!J || !previousturf.atmos_adjacent_turfs || !previousturf.atmos_adjacent_turfs[J]) break diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm index e49ce03a29..fd42582317 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/colossus.dm @@ -95,7 +95,7 @@ Difficulty: Very Hard ..() internal = new/obj/item/device/gps/internal/colossus(src) -/obj/effect/overlay/temp/at_shield +/obj/effect/temp_visual/at_shield name = "anti-toolbox field" desc = "A shimmering forcefield protecting the colossus." icon = 'icons/effects/effects.dmi' @@ -105,14 +105,14 @@ Difficulty: Very Hard duration = 8 var/target -/obj/effect/overlay/temp/at_shield/Initialize(mapload, new_target) +/obj/effect/temp_visual/at_shield/Initialize(mapload, new_target) . = ..() target = new_target INVOKE_ASYNC(src, /atom/movable/proc/orbit, target, 0, FALSE, 0, 0, FALSE, TRUE) /mob/living/simple_animal/hostile/megafauna/colossus/bullet_act(obj/item/projectile/P) if(!stat) - var/obj/effect/overlay/temp/at_shield/AT = new /obj/effect/overlay/temp/at_shield(src.loc, src) + var/obj/effect/temp_visual/at_shield/AT = new /obj/effect/temp_visual/at_shield(src.loc, src) var/random_x = rand(-32, 32) AT.pixel_x += random_x @@ -582,7 +582,7 @@ Difficulty: Very Hard if(..()) for(var/i in range(1, src)) if(isturf(i)) - new /obj/effect/overlay/temp/cult/sparks(i) + new /obj/effect/temp_visual/cult/sparks(i) continue if(ishuman(i)) var/mob/living/carbon/human/H = i @@ -658,7 +658,7 @@ Difficulty: Very Hard minbodytemp = 0 maxbodytemp = 1500 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE AIStatus = AI_OFF stop_automated_movement = 1 var/heal_power = 5 @@ -676,7 +676,7 @@ Difficulty: Very Hard var/mob/living/L = target if(L.stat != DEAD) L.heal_overall_damage(heal_power, heal_power) - new /obj/effect/overlay/temp/heal(get_turf(target), "#80F5FF") + new /obj/effect/temp_visual/heal(get_turf(target), "#80F5FF") /mob/living/simple_animal/hostile/lightgeist/ghostize() . = ..() @@ -700,7 +700,7 @@ Difficulty: Very Hard if(..()) var/list/L = list() var/turf/T = get_step(src, dir) - new /obj/effect/overlay/temp/emp/pulse(T) + new /obj/effect/temp_visual/emp/pulse(T) for(var/i in T) if(istype(i, /obj/item) && !is_type_in_typecache(i, banned_items_typecache)) var/obj/item/W = i diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm index 45139747fa..1c1fc8fb9e 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/dragon.dm @@ -124,7 +124,7 @@ Difficulty: Medium target.visible_message("Fire rains from the sky!") for(var/turf/turf in range(9,get_turf(target))) if(prob(11)) - new /obj/effect/overlay/temp/target(turf) + new /obj/effect/temp_visual/target(turf) /mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_walls() playsound(get_turf(src),'sound/magic/Fireball.ogg', 200, 1) @@ -179,7 +179,7 @@ Difficulty: Medium negative = FALSE else if(target.x == initial_x) //if their x is the same, pick a direction negative = prob(50) - var/obj/effect/overlay/temp/dragon_flight/F = new /obj/effect/overlay/temp/dragon_flight(loc, negative) + var/obj/effect/temp_visual/dragon_flight/F = new /obj/effect/temp_visual/dragon_flight(loc, negative) negative = !negative //invert it for the swoop down later @@ -208,7 +208,7 @@ Difficulty: Medium if(L.stat == DEAD) break //target is dead and we're on em, slam they if(fire_rain) - new /obj/effect/overlay/temp/target(loc, flame_hit) + new /obj/effect/temp_visual/target(loc, flame_hit) forceMove(get_step(src, get_dir(src, target))) if(loc == get_turf(target)) if(!fire_rain) @@ -228,8 +228,8 @@ Difficulty: Medium else if(IsInRange(x, initial_x - DRAKE_SWOOP_DIRECTION_CHANGE_RANGE, initial_x - 1)) negative = TRUE - new /obj/effect/overlay/temp/dragon_flight/end(loc, negative) - new /obj/effect/overlay/temp/dragon_swoop(loc) + new /obj/effect/temp_visual/dragon_flight/end(loc, negative) + new /obj/effect/temp_visual/dragon_swoop(loc) animate(src, transform = oldtransform, time = 5) sleep(5) swooping &= ~SWOOP_INVULNERABLE @@ -271,7 +271,7 @@ Difficulty: Medium invisibility = 100 -/obj/effect/overlay/temp/fireball +/obj/effect/temp_visual/fireball icon = 'icons/obj/wizard.dmi' icon_state = "fireball" name = "fireball" @@ -281,28 +281,28 @@ Difficulty: Medium duration = 9 pixel_z = DRAKE_SWOOP_HEIGHT -/obj/effect/overlay/temp/fireball/Initialize() +/obj/effect/temp_visual/fireball/Initialize() . = ..() animate(src, pixel_z = 0, time = duration) -/obj/effect/overlay/temp/target +/obj/effect/temp_visual/target icon = 'icons/mob/actions.dmi' icon_state = "sniper_zoom" layer = BELOW_MOB_LAYER light_range = 2 duration = 9 -/obj/effect/overlay/temp/target/ex_act() +/obj/effect/temp_visual/target/ex_act() return -/obj/effect/overlay/temp/target/Initialize(mapload, list/flame_hit) +/obj/effect/temp_visual/target/Initialize(mapload, list/flame_hit) . = ..() INVOKE_ASYNC(src, .proc/fall, flame_hit) -/obj/effect/overlay/temp/target/proc/fall(list/flame_hit) +/obj/effect/temp_visual/target/proc/fall(list/flame_hit) var/turf/T = get_turf(src) playsound(T,'sound/magic/Fireball.ogg', 80, 1) - new /obj/effect/overlay/temp/fireball(T) + new /obj/effect/temp_visual/fireball(T) sleep(duration) if(ismineralturf(T)) var/turf/closed/mineral/M = T @@ -320,7 +320,7 @@ Difficulty: Medium else L.adjustFireLoss(10) //if we've already hit them, do way less damage -/obj/effect/overlay/temp/dragon_swoop +/obj/effect/temp_visual/dragon_swoop name = "certain death" desc = "Don't just stand there, move!" icon = 'icons/effects/96x96.dmi' @@ -331,7 +331,7 @@ Difficulty: Medium color = "#FF0000" duration = 5 -/obj/effect/overlay/temp/dragon_flight +/obj/effect/temp_visual/dragon_flight icon = 'icons/mob/lavaland/dragon.dmi' icon_state = "dragon" layer = ABOVE_ALL_MOB_LAYER @@ -339,11 +339,11 @@ Difficulty: Medium duration = 10 randomdir = FALSE -/obj/effect/overlay/temp/dragon_flight/Initialize(mapload, negative) +/obj/effect/temp_visual/dragon_flight/Initialize(mapload, negative) . = ..() INVOKE_ASYNC(src, .proc/flight, negative) -/obj/effect/overlay/temp/dragon_flight/proc/flight(negative) +/obj/effect/temp_visual/dragon_flight/proc/flight(negative) if(negative) animate(src, pixel_x = -DRAKE_SWOOP_HEIGHT*0.10, pixel_z = DRAKE_SWOOP_HEIGHT*0.15, time = 3, easing = BOUNCE_EASING) else @@ -355,12 +355,12 @@ Difficulty: Medium else animate(src, pixel_x = DRAKE_SWOOP_HEIGHT, pixel_z = DRAKE_SWOOP_HEIGHT, time = 7) -/obj/effect/overlay/temp/dragon_flight/end +/obj/effect/temp_visual/dragon_flight/end pixel_x = DRAKE_SWOOP_HEIGHT pixel_z = DRAKE_SWOOP_HEIGHT duration = 5 -/obj/effect/overlay/temp/dragon_flight/end/flight(negative) +/obj/effect/temp_visual/dragon_flight/end/flight(negative) if(negative) pixel_x = -DRAKE_SWOOP_HEIGHT animate(src, pixel_x = -16, pixel_z = 0, time = 5) diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index 79ac234ab9..f0f93da269 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -150,7 +150,7 @@ Difficulty: Hard var/prevloc = loc . = ..() if(!stat && .) - var/obj/effect/overlay/temp/hierophant/squares/HS = new /obj/effect/overlay/temp/hierophant/squares(prevloc) + var/obj/effect/temp_visual/hierophant/squares/HS = new /obj/effect/temp_visual/hierophant/squares(prevloc) HS.dir = dir playsound(loc, 'sound/mecha/mechmove04.ogg', 150, 1, -4) if(target) @@ -250,7 +250,7 @@ Difficulty: Hard pickedtarget = pick_n_take(targets) if(!istype(pickedtarget) || pickedtarget.stat == DEAD) pickedtarget = target - var/obj/effect/overlay/temp/hierophant/chaser/C = new /obj/effect/overlay/temp/hierophant/chaser(loc, src, pickedtarget, chaser_speed, FALSE) + var/obj/effect/temp_visual/hierophant/chaser/C = new /obj/effect/temp_visual/hierophant/chaser(loc, src, pickedtarget, chaser_speed, FALSE) C.moving = 3 C.moving_dir = pick_n_take(cardinal_copy) sleep(10) @@ -280,10 +280,10 @@ Difficulty: Hard else INVOKE_ASYNC(src, .proc/diagonal_blasts, target) else if(chaser_cooldown < world.time) //if chasers are off cooldown, fire some! - var/obj/effect/overlay/temp/hierophant/chaser/C = new /obj/effect/overlay/temp/hierophant/chaser(loc, src, target, chaser_speed, FALSE) + var/obj/effect/temp_visual/hierophant/chaser/C = new /obj/effect/temp_visual/hierophant/chaser(loc, src, target, chaser_speed, FALSE) chaser_cooldown = world.time + initial(chaser_cooldown) if((prob(anger_modifier) || target.Adjacent(src)) && target != src) - var/obj/effect/overlay/temp/hierophant/chaser/OC = new /obj/effect/overlay/temp/hierophant/chaser(loc, src, target, max(1.5, 5 - anger_modifier * 0.07), FALSE) + var/obj/effect/temp_visual/hierophant/chaser/OC = new /obj/effect/temp_visual/hierophant/chaser(loc, src, target, max(1.5, 5 - anger_modifier * 0.07), FALSE) OC.moving = 4 OC.moving_dir = pick(GLOB.cardinal - C.moving_dir) else //just release a burst of power @@ -293,10 +293,10 @@ Difficulty: Hard var/turf/T = get_turf(victim) if(!T) return - new /obj/effect/overlay/temp/hierophant/telegraph/diagonal(T, src) + new /obj/effect/temp_visual/hierophant/telegraph/diagonal(T, src) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) - new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE) + new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE) for(var/d in GLOB.diagonals) INVOKE_ASYNC(src, .proc/blast_wall, T, d) @@ -304,10 +304,10 @@ Difficulty: Hard var/turf/T = get_turf(victim) if(!T) return - new /obj/effect/overlay/temp/hierophant/telegraph/cardinal(T, src) + new /obj/effect/temp_visual/hierophant/telegraph/cardinal(T, src) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) - new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE) + new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE) for(var/d in GLOB.cardinal) INVOKE_ASYNC(src, .proc/blast_wall, T, d) @@ -315,10 +315,10 @@ Difficulty: Hard var/turf/T = get_turf(victim) if(!T) return - new /obj/effect/overlay/temp/hierophant/telegraph(T, src) + new /obj/effect/temp_visual/hierophant/telegraph(T, src) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) - new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE) + new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE) for(var/d in GLOB.alldirs) INVOKE_ASYNC(src, .proc/blast_wall, T, d) @@ -327,7 +327,7 @@ Difficulty: Hard var/turf/previousturf = T var/turf/J = get_step(previousturf, set_dir) for(var/i in 1 to range) - new /obj/effect/overlay/temp/hierophant/blast(J, src, FALSE) + new /obj/effect/temp_visual/hierophant/blast(J, src, FALSE) previousturf = J J = get_step(previousturf, set_dir) @@ -342,8 +342,8 @@ Difficulty: Hard INVOKE_ASYNC(src, .proc/arena_squares, T, d) for(var/t in RANGE_TURFS(11, T)) if(t && get_dist(t, T) == 11) - new /obj/effect/overlay/temp/hierophant/wall(t) - new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE) + new /obj/effect/temp_visual/hierophant/wall(t) + new /obj/effect/temp_visual/hierophant/blast(t, src, FALSE) if(get_dist(src, T) >= 11) //hey you're out of range I need to get closer to you! INVOKE_ASYNC(src, .proc/blink, T) @@ -351,7 +351,7 @@ Difficulty: Hard var/turf/previousturf = T var/turf/J = get_step(previousturf, set_dir) for(var/i in 1 to 10) - var/obj/effect/overlay/temp/hierophant/squares/HS = new /obj/effect/overlay/temp/hierophant/squares(J) + var/obj/effect/temp_visual/hierophant/squares/HS = new /obj/effect/temp_visual/hierophant/squares(J) HS.dir = set_dir previousturf = J J = get_step(previousturf, set_dir) @@ -362,19 +362,19 @@ Difficulty: Hard return var/turf/T = get_turf(victim) var/turf/source = get_turf(src) - new /obj/effect/overlay/temp/hierophant/telegraph(T, src) - new /obj/effect/overlay/temp/hierophant/telegraph(source, src) + new /obj/effect/temp_visual/hierophant/telegraph(T, src) + new /obj/effect/temp_visual/hierophant/telegraph(source, src) playsound(T,'sound/magic/Wand_Teleport.ogg', 200, 1) playsound(source,'sound/machines/AirlockOpen.ogg', 200, 1) blinking = TRUE sleep(2) //short delay before we start... - new /obj/effect/overlay/temp/hierophant/telegraph/teleport(T, src) - new /obj/effect/overlay/temp/hierophant/telegraph/teleport(source, src) + new /obj/effect/temp_visual/hierophant/telegraph/teleport(T, src) + new /obj/effect/temp_visual/hierophant/telegraph/teleport(source, src) for(var/t in RANGE_TURFS(1, T)) - var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE) + var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, src, FALSE) B.damage = 30 for(var/t in RANGE_TURFS(1, source)) - var/obj/effect/overlay/temp/hierophant/blast/B = new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE) + var/obj/effect/temp_visual/hierophant/blast/B = new /obj/effect/temp_visual/hierophant/blast(t, src, FALSE) B.damage = 30 animate(src, alpha = 0, time = 2, easing = EASE_OUT) //fade out sleep(1) @@ -396,11 +396,11 @@ Difficulty: Hard var/turf/T = get_turf(victim) if(!T) return - new /obj/effect/overlay/temp/hierophant/telegraph(T, src) + new /obj/effect/temp_visual/hierophant/telegraph(T, src) playsound(T,'sound/effects/bin_close.ogg', 200, 1) sleep(2) for(var/t in RANGE_TURFS(1, T)) - new /obj/effect/overlay/temp/hierophant/blast(t, src, FALSE) + new /obj/effect/temp_visual/hierophant/blast(t, src, FALSE) /mob/living/simple_animal/hostile/megafauna/hierophant/proc/burst(turf/original) //release a wave of blasts playsound(original,'sound/machines/AirlockOpen.ogg', 200, 1) @@ -413,7 +413,7 @@ Difficulty: Hard if(dist > last_dist) last_dist = dist sleep(1 + min(burst_range - last_dist, 12) * 0.5) //gets faster as it gets further out - new /obj/effect/overlay/temp/hierophant/blast(T, src, FALSE) + new /obj/effect/temp_visual/hierophant/blast(T, src, FALSE) /mob/living/simple_animal/hostile/megafauna/hierophant/AltClickOn(atom/A) //player control handler(don't give this to a player holy fuck) if(!istype(A) || get_dist(A, src) <= 2) @@ -421,29 +421,29 @@ Difficulty: Hard blink(A) //Hierophant overlays -/obj/effect/overlay/temp/hierophant +/obj/effect/temp_visual/hierophant name = "vortex energy" layer = BELOW_MOB_LAYER var/mob/living/caster //who made this, anyway -/obj/effect/overlay/temp/hierophant/Initialize(mapload, new_caster) +/obj/effect/temp_visual/hierophant/Initialize(mapload, new_caster) . = ..() if(new_caster) caster = new_caster -/obj/effect/overlay/temp/hierophant/squares +/obj/effect/temp_visual/hierophant/squares icon_state = "hierophant_squares" duration = 3 light_range = 1 randomdir = FALSE -/obj/effect/overlay/temp/hierophant/squares/Initialize(mapload, new_caster) +/obj/effect/temp_visual/hierophant/squares/Initialize(mapload, new_caster) . = ..() if(ismineralturf(loc)) var/turf/closed/mineral/M = loc M.gets_drilled(caster) -/obj/effect/overlay/temp/hierophant/wall //smoothing and pooling were not friends, but pooling is dead. +/obj/effect/temp_visual/hierophant/wall //smoothing and pooling were not friends, but pooling is dead. name = "vortex wall" icon = 'icons/turf/walls/hierophant_wall_temp.dmi' icon_state = "wall" @@ -451,21 +451,21 @@ Difficulty: Hard duration = 100 smooth = SMOOTH_TRUE -/obj/effect/overlay/temp/hierophant/wall/Initialize(mapload, new_caster) +/obj/effect/temp_visual/hierophant/wall/Initialize(mapload, new_caster) . = ..() queue_smooth_neighbors(src) queue_smooth(src) -/obj/effect/overlay/temp/hierophant/wall/Destroy() +/obj/effect/temp_visual/hierophant/wall/Destroy() queue_smooth_neighbors(src) return ..() -/obj/effect/overlay/temp/hierophant/wall/CanPass(atom/movable/mover, turf/target, height = 0) +/obj/effect/temp_visual/hierophant/wall/CanPass(atom/movable/mover, turf/target, height = 0) if(mover == caster) return TRUE return FALSE -/obj/effect/overlay/temp/hierophant/chaser //a hierophant's chaser. follows target around, moving and producing a blast every speed deciseconds. +/obj/effect/temp_visual/hierophant/chaser //a hierophant's chaser. follows target around, moving and producing a blast every speed deciseconds. duration = 98 var/mob/living/target //what it's following var/turf/targetturf //what turf the target is actually on @@ -479,9 +479,9 @@ Difficulty: Hard var/currently_seeking = FALSE var/friendly_fire_check = FALSE //if blasts produced apply friendly fire var/monster_damage_boost = TRUE - var/damage = 10 + var/damage = 10 -/obj/effect/overlay/temp/hierophant/chaser/Initialize(mapload, new_caster, new_target, new_speed, is_friendly_fire) +/obj/effect/temp_visual/hierophant/chaser/Initialize(mapload, new_caster, new_target, new_speed, is_friendly_fire) . = ..() target = new_target friendly_fire_check = is_friendly_fire @@ -489,14 +489,14 @@ Difficulty: Hard speed = new_speed addtimer(CALLBACK(src, .proc/seek_target), 1) -/obj/effect/overlay/temp/hierophant/chaser/proc/get_target_dir() +/obj/effect/temp_visual/hierophant/chaser/proc/get_target_dir() . = get_cardinal_dir(src, targetturf) if((. != previous_moving_dir && . == more_previouser_moving_dir) || . == 0) //we're alternating, recalculate var/list/cardinal_copy = GLOB.cardinal.Copy() cardinal_copy -= more_previouser_moving_dir . = pick(cardinal_copy) -/obj/effect/overlay/temp/hierophant/chaser/proc/seek_target() +/obj/effect/temp_visual/hierophant/chaser/proc/seek_target() if(!currently_seeking) currently_seeking = TRUE targetturf = get_turf(target) @@ -523,33 +523,32 @@ Difficulty: Hard moving-- sleep(speed) targetturf = get_turf(target) -/obj/effect/overlay/temp/hierophant/chaser/proc/make_blast() - var/obj/effect/overlay/temp/hierophant/blast/B = new(loc, caster, friendly_fire_check) - B.damage = damage - B.monster_damage_boost = monster_damage_boost -/obj/effect/overlay/temp/hierophant/telegraph +/obj/effect/temp_visual/hierophant/chaser/proc/make_blast() + new /obj/effect/temp_visual/hierophant/blast(loc, caster, friendly_fire_check) + +/obj/effect/temp_visual/hierophant/telegraph icon = 'icons/effects/96x96.dmi' icon_state = "hierophant_telegraph" pixel_x = -32 pixel_y = -32 duration = 3 -/obj/effect/overlay/temp/hierophant/telegraph/diagonal +/obj/effect/temp_visual/hierophant/telegraph/diagonal icon_state = "hierophant_telegraph_diagonal" -/obj/effect/overlay/temp/hierophant/telegraph/cardinal +/obj/effect/temp_visual/hierophant/telegraph/cardinal icon_state = "hierophant_telegraph_cardinal" -/obj/effect/overlay/temp/hierophant/telegraph/teleport +/obj/effect/temp_visual/hierophant/telegraph/teleport icon_state = "hierophant_telegraph_teleport" duration = 9 -/obj/effect/overlay/temp/hierophant/telegraph/edge +/obj/effect/temp_visual/hierophant/telegraph/edge icon_state = "hierophant_telegraph_edge" duration = 40 -/obj/effect/overlay/temp/hierophant/blast +/obj/effect/temp_visual/hierophant/blast icon_state = "hierophant_blast" name = "vortex blast" light_range = 1 @@ -561,7 +560,7 @@ Difficulty: Hard var/friendly_fire_check = FALSE var/bursting = FALSE //if we're bursting and need to hit anyone crossing us -/obj/effect/overlay/temp/hierophant/blast/Initialize(mapload, new_caster, friendly_fire) +/obj/effect/temp_visual/hierophant/blast/Initialize(mapload, new_caster, friendly_fire) . = ..() friendly_fire_check = friendly_fire if(new_caster) @@ -571,7 +570,7 @@ Difficulty: Hard M.gets_drilled(caster) INVOKE_ASYNC(src, .proc/blast) -/obj/effect/overlay/temp/hierophant/blast/proc/blast() +/obj/effect/temp_visual/hierophant/blast/proc/blast() var/turf/T = get_turf(src) if(!T) return @@ -582,12 +581,12 @@ Difficulty: Hard sleep(1.3) //slightly forgiving; the burst animation is 1.5 deciseconds bursting = FALSE //we no longer damage crossers -/obj/effect/overlay/temp/hierophant/blast/Crossed(atom/movable/AM) +/obj/effect/temp_visual/hierophant/blast/Crossed(atom/movable/AM) ..() if(bursting) do_damage(get_turf(src)) -/obj/effect/overlay/temp/hierophant/blast/proc/do_damage(turf/T) +/obj/effect/temp_visual/hierophant/blast/proc/do_damage(turf/T) for(var/mob/living/L in T.contents - hit_things) //find and damage mobs... hit_things += L if((friendly_fire_check && caster && caster.faction_check_mob(L)) || L.stat == DEAD) @@ -634,7 +633,7 @@ Difficulty: Hard INVOKE_ASYNC(H, /obj/item/weapon/hierophant_club.proc/prepare_icon_update) if(do_after(user, 50, target = src)) playsound(src,'sound/magic/Blind.ogg', 200, 1, -4) - new /obj/effect/overlay/temp/hierophant/telegraph/teleport(get_turf(src), user) + new /obj/effect/temp_visual/hierophant/telegraph/teleport(get_turf(src), user) to_chat(user, "You collect [src], reattaching it to the club!") H.beacon = null user.update_action_buttons_icon() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm index 0a0ff6bdd3..9b8e037d61 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm @@ -8,7 +8,7 @@ maxHealth = 1000 a_intent = INTENT_HARM sentience_type = SENTIENCE_BOSS - environment_smash = 3 + environment_smash = ENVIRONMENT_SMASH_RWALLS obj_damage = 400 light_range = 3 faction = list("mining", "boss") diff --git a/code/modules/mob/living/simple_animal/hostile/mimic.dm b/code/modules/mob/living/simple_animal/hostile/mimic.dm index 16df9e4c7a..da45e31d1e 100644 --- a/code/modules/mob/living/simple_animal/hostile/mimic.dm +++ b/code/modules/mob/living/simple_animal/hostile/mimic.dm @@ -203,7 +203,7 @@ GLOBAL_LIST_INIT(protected_objects, list(/obj/structure/table, /obj/structure/ca if(..()) emote_see = list("aims menacingly") obj_damage = 0 - environment_smash = 0 //needed? seems weird for them to do so + environment_smash = ENVIRONMENT_SMASH_NONE //needed? seems weird for them to do so ranged = 1 retreat_distance = 1 //just enough to shoot minimum_distance = 6 diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm index a68ccc4884..e3e4e37396 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs.dm @@ -4,7 +4,7 @@ faction = list("mining") weather_immunities = list("lava","ash") obj_damage = 30 - environment_smash = 2 + environment_smash = ENVIRONMENT_SMASH_WALLS minbodytemp = 0 maxbodytemp = INFINITY response_help = "pokes" @@ -215,7 +215,7 @@ ranged_cooldown = 0 ranged_cooldown_time = 20 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE retreat_distance = 3 minimum_distance = 3 pass_flags = PASSTABLE @@ -334,7 +334,7 @@ attack_sound = 'sound/weapons/pierce.ogg' throw_message = "falls right through the strange body of the" obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE pass_flags = PASSTABLE del_on_death = 1 @@ -595,7 +595,7 @@ aggro_vision_range = 9 idle_vision_range = 5 mob_size = MOB_SIZE_SMALL - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE var/wumbo = 0 var/inflate_cooldown = 0 loot = list(/obj/item/asteroid/fugu_gland{layer = ABOVE_MOB_LAYER}) @@ -640,7 +640,7 @@ minimum_distance = 1 move_to_delay = 6 transform *= 2 - environment_smash = 2 + environment_smash = ENVIRONMENT_SMASH_WALLS mob_size = MOB_SIZE_LARGE speed = 1 addtimer(CALLBACK(src, .proc/Deflate), 100) @@ -660,7 +660,7 @@ move_to_delay = 2 transform /= 2 inflate_cooldown = 4 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE mob_size = MOB_SIZE_SMALL speed = 0 @@ -800,11 +800,12 @@ del_on_death = 1 stat_attack = 1 robust_searching = 1 + var/can_infest_dead = FALSE /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/Life() if(isturf(loc)) for(var/mob/living/carbon/human/H in view(src,1)) //Only for corpse right next to/on same tile - if(H.stat == UNCONSCIOUS) + if(H.stat == UNCONSCIOUS || (can_infest_dead && H.stat == DEAD)) infest(H) ..() @@ -818,6 +819,58 @@ H.forceMove(L) qdel(src) +//Advanced Legion is slightly tougher to kill and can raise corpses (revive other legions) + +/mob/living/simple_animal/hostile/asteroid/hivelord/legion/advanced + stat_attack = 2 + maxHealth = 120 + health = 120 + brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/advanced + icon_state = "dwarf_legion" + +/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/advanced + stat_attack = 2 + can_infest_dead = TRUE + +//Legion that spawns Legions + +/mob/living/simple_animal/hostile/spawner/legion + name = "legion" + desc = "One of many." + icon = 'icons/mob/lavaland/dragon.dmi' + icon_state = "legion" + icon_living = "legion" + icon_dead = "legion" + health = 450 + maxHealth = 450 + max_mobs = 3 + spawn_time = 200 + spawn_text = "peels itself off from" + melee_damage_lower = 20 + melee_damage_upper = 20 + anchored = FALSE + AIStatus = AI_ON + stop_automated_movement = FALSE + wander = TRUE + maxbodytemp = INFINITY + layer = MOB_LAYER + del_on_death = TRUE + sentience_type = SENTIENCE_BOSS + loot = list(/obj/item/organ/hivelord_core/legion = 3, /obj/effect/mob_spawn/human/corpse/damaged = 5) + move_to_delay = 14 + vision_range = 5 + aggro_vision_range = 9 + idle_vision_range = 5 + speed = 3 + faction = list("mining") + weather_immunities = list("lava","ash") + obj_damage = 30 + environment_smash = ENVIRONMENT_SMASH_STRUCTURES + see_in_dark = 8 + lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE + +//Organ + /obj/item/organ/hivelord_core/legion name = "legion's soul" desc = "A strange rock that still crackles with power... its \ @@ -871,7 +924,7 @@ speak_chance = 1 turns_per_move = 8 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE move_to_delay = 15 response_help = "pets" response_disarm = "gently pushes aside" diff --git a/code/modules/mob/living/simple_animal/hostile/mushroom.dm b/code/modules/mob/living/simple_animal/hostile/mushroom.dm index d82a332027..125f96384b 100644 --- a/code/modules/mob/living/simple_animal/hostile/mushroom.dm +++ b/code/modules/mob/living/simple_animal/hostile/mushroom.dm @@ -20,7 +20,7 @@ attacktext = "chomps" attack_sound = 'sound/weapons/bite.ogg' faction = list("mushroom") - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE stat_attack = 2 mouse_opacity = 1 speed = 1 diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm index 3eb8e85c93..57d016ae68 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/bat.dm @@ -22,7 +22,7 @@ faction = list("hostile") attack_sound = 'sound/weapons/bite.ogg' obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE ventcrawler = VENTCRAWLER_ALWAYS mob_size = MOB_SIZE_TINY movement_type = FLYING diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm index f0029af0d3..fb365aeb87 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm @@ -23,7 +23,7 @@ attacktext = "attacks" attack_sound = 'sound/items/bikehorn.ogg' obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE del_on_death = 1 loot = list(/obj/effect/mob_spawn/human/clown/corpse) diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index 4a8c99a111..563c5a3d03 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -20,6 +20,6 @@ attacktext = "hits" attack_sound = 'sound/weapons/punch1.ogg' obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE del_on_death = 0 diff --git a/code/modules/mob/living/simple_animal/hostile/stickman.dm b/code/modules/mob/living/simple_animal/hostile/stickman.dm index 3f4267e164..15dfd7ad9d 100644 --- a/code/modules/mob/living/simple_animal/hostile/stickman.dm +++ b/code/modules/mob/living/simple_animal/hostile/stickman.dm @@ -14,7 +14,7 @@ speed = 0 stat_attack = 1 robust_searching = 1 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE maxHealth = 100 health = 100 harm_intent_damage = 5 @@ -52,7 +52,7 @@ /mob/living/simple_animal/hostile/stickman/Initialize(mapload, var/wizard_summoned) ..() - new /obj/effect/overlay/temp/paper_scatter(src) + new /obj/effect/temp_visual/paper_scatter(src) summoned_by_wizard = wizard_summoned /mob/living/simple_animal/hostile/stickman/death() diff --git a/code/modules/mob/living/simple_animal/hostile/syndicate.dm b/code/modules/mob/living/simple_animal/hostile/syndicate.dm index 20724fe179..b7b8b5aa85 100644 --- a/code/modules/mob/living/simple_animal/hostile/syndicate.dm +++ b/code/modules/mob/living/simple_animal/hostile/syndicate.dm @@ -131,7 +131,7 @@ minimum_distance = 10 retreat_distance = 10 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE /mob/living/simple_animal/hostile/syndicate/civilian/Aggro() ..() @@ -150,7 +150,7 @@ melee_damage_lower = 15 melee_damage_upper = 15 obj_damage = 0 - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE attacktext = "cuts" attack_sound = 'sound/weapons/bladeslice.ogg' faction = list("syndicate") diff --git a/code/modules/mob/living/simple_animal/simple_animal.dm b/code/modules/mob/living/simple_animal/simple_animal.dm index 831058a284..31aa1ea589 100644 --- a/code/modules/mob/living/simple_animal/simple_animal.dm +++ b/code/modules/mob/living/simple_animal/simple_animal.dm @@ -51,7 +51,7 @@ var/attacktext = "attacks" var/attack_sound = null var/friendly = "nuzzles" //If the mob does no damage with it's attack - var/environment_smash = 0 //Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls + var/environment_smash = ENVIRONMENT_SMASH_NONE //Set to 1 to allow breaking of crates,lockers,racks,tables; 2 for walls; 3 for Rwalls var/speed = 1 //LETS SEE IF I CAN SET SPEEDS FOR SIMPLE MOBS WITHOUT DESTROYING EVERYTHING. Higher speed is slower, negative speed is faster @@ -249,7 +249,7 @@ /mob/living/simple_animal/gib_animation() if(icon_gib) - new /obj/effect/overlay/temp/gib_animation/animal(loc, icon_gib) + new /obj/effect/temp_visual/gib_animation/animal(loc, icon_gib) /mob/living/simple_animal/say_mod(input, message_mode) if(speak_emote && speak_emote.len) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index c6680a28f0..b890208d2b 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -293,14 +293,14 @@ if(!src || !isturf(src.loc) || !(A in view(src.loc))) return 0 - if(istype(A, /obj/effect/overlay/temp/point)) + if(istype(A, /obj/effect/temp_visual/point)) return 0 var/tile = get_turf(A) if (!tile) return 0 - new /obj/effect/overlay/temp/point(A,invisibility) + new /obj/effect/temp_visual/point(A,invisibility) return 1 diff --git a/code/modules/mob/mob_movement.dm b/code/modules/mob/mob_movement.dm index f9d1f59717..e85dca9cad 100644 --- a/code/modules/mob/mob_movement.dm +++ b/code/modules/mob/mob_movement.dm @@ -242,12 +242,12 @@ L.loc = locate(locx,locy,mobloc.z) var/limit = 2//For only two trailing shadows. for(var/turf/T in getline(mobloc, L.loc)) - new /obj/effect/overlay/temp/dir_setting/ninja/shadow(T, L.dir) + new /obj/effect/temp_visual/dir_setting/ninja/shadow(T, L.dir) limit-- if(limit<=0) break else - new /obj/effect/overlay/temp/dir_setting/ninja/shadow(mobloc, L.dir) + new /obj/effect/temp_visual/dir_setting/ninja/shadow(mobloc, L.dir) L.loc = get_step(L, direct) L.setDir(direct) if(3) //Incorporeal move, but blocked by holy-watered tiles and salt piles. @@ -295,8 +295,12 @@ return A else var/atom/movable/AM = A - if(AM == buckled) //Kind of unnecessary but let's just be sure + if(AM == buckled) continue + if(ismob(AM)) + var/mob/M = AM + if(M.buckled) + continue if(!AM.CanPass(src) || AM.density) if(AM.anchored) return AM diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index 9e5e86836b..58db8cb848 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -36,7 +36,7 @@ cut_overlays() invisibility = INVISIBILITY_MAXIMUM - new /obj/effect/overlay/temp/monkeyify(loc) + new /obj/effect/temp_visual/monkeyify(loc) sleep(22) var/mob/living/carbon/monkey/O = new /mob/living/carbon/monkey( loc ) @@ -186,7 +186,7 @@ icon = null cut_overlays() invisibility = INVISIBILITY_MAXIMUM - new /obj/effect/overlay/temp/monkeyify/humanify(loc) + new /obj/effect/temp_visual/monkeyify/humanify(loc) sleep(22) var/mob/living/carbon/human/O = new( loc ) for(var/obj/item/C in O.loc) diff --git a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm index 1f5fdc6ea0..619ae359d3 100644 --- a/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm +++ b/code/modules/ninja/suit/n_suit_verbs/energy_net_nets.dm @@ -72,7 +72,7 @@ It is possible to destroy the net by the occupant or someone else. M.dropItemToGround(W) playsound(M.loc, 'sound/effects/sparks4.ogg', 50, 1) - new /obj/effect/overlay/temp/dir_setting/ninja/phase/out(get_turf(M), M.dir) + new /obj/effect/temp_visual/dir_setting/ninja/phase/out(get_turf(M), M.dir) visible_message("[M] suddenly vanishes!") M.forceMove(pick(GLOB.holdingfacility)) //Throw mob in to the holding facility. @@ -86,7 +86,7 @@ It is possible to destroy the net by the occupant or someone else. spark_system.start() playsound(M.loc, 'sound/effects/phasein.ogg', 25, 1) playsound(M.loc, 'sound/effects/sparks2.ogg', 50, 1) - new /obj/effect/overlay/temp/dir_setting/ninja/phase(get_turf(M), M.dir) + new /obj/effect/temp_visual/dir_setting/ninja/phase(get_turf(M), M.dir) qdel(src) else//And they are free. diff --git a/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm b/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm index 42f1af6c0e..74dcec12ce 100644 --- a/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm +++ b/code/modules/ninja/suit/n_suit_verbs/ninja_teleporting.dm @@ -27,7 +27,7 @@ Contents: if(destination && isturf(mobloc))//So we don't teleport out of containers playsound(H.loc, "sparks", 50, 1) - new /obj/effect/overlay/temp/dir_setting/ninja/phase/out(get_turf(H), H.dir) + new /obj/effect/temp_visual/dir_setting/ninja/phase/out(get_turf(H), H.dir) handle_teleport_grab(destination, H) H.loc = destination @@ -35,7 +35,7 @@ Contents: spark_system.start() playsound(H.loc, 'sound/effects/phasein.ogg', 25, 1) playsound(H.loc, "sparks", 50, 1) - new /obj/effect/overlay/temp/dir_setting/ninja/phase(get_turf(H), H.dir) + new /obj/effect/temp_visual/dir_setting/ninja/phase(get_turf(H), H.dir) destination.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf s_coold = 1 @@ -55,7 +55,7 @@ Contents: var/turf/mobloc = get_turf(H.loc)//To make sure that certain things work properly below. if(!T.density && isturf(mobloc)) playsound(H.loc, "sparks", 50, 1) - new /obj/effect/overlay/temp/dir_setting/ninja/phase/out(get_turf(H), H.dir) + new /obj/effect/temp_visual/dir_setting/ninja/phase/out(get_turf(H), H.dir) handle_teleport_grab(T, H) H.forceMove(T) @@ -63,7 +63,7 @@ Contents: spark_system.start() playsound(H.loc, 'sound/effects/phasein.ogg', 25, 1) playsound(H.loc, "sparks", 50, 1) - new /obj/effect/overlay/temp/dir_setting/ninja/phase(get_turf(H), H.dir) + new /obj/effect/temp_visual/dir_setting/ninja/phase(get_turf(H), H.dir) T.phase_damage_creatures(20,H)//Paralyse and damage mobs and mechas on the turf s_coold = 1 diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index b6c6ab5d9e..976e48707b 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -26,7 +26,7 @@ var/info //What's actually written on the paper. var/info_links //A different version of the paper which includes html links at fields and EOF var/stamps //The (text for the) stamps on the paper. - var/fields //Amount of user created fields + var/fields = 0 //Amount of user created fields var/list/stamped var/rigged = 0 var/spam_flag = 0 @@ -44,8 +44,8 @@ ..() -/obj/item/weapon/paper/New() - ..() +/obj/item/weapon/paper/Initialize() + . = ..() pixel_y = rand(-8, 8) pixel_x = rand(-9, 9) update_icon() diff --git a/code/modules/paperwork/paperbin.dm b/code/modules/paperwork/paperbin.dm index cf7c28d2ba..0818c7c32f 100644 --- a/code/modules/paperwork/paperbin.dm +++ b/code/modules/paperwork/paperbin.dm @@ -110,7 +110,7 @@ papers.Add(P) total_paper++ update_icon() - else if(istype(I, /obj/item/weapon/pen)) + else if(istype(I, /obj/item/weapon/pen) && !bin_pen) var/obj/item/weapon/pen/P = I if(!user.transferItemToLoc(P, src)) return diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 7f4777e300..866041d883 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -53,8 +53,8 @@ desc = "A strangely translucent and iridescent crystal that looks like it used to be part of a larger structure." icon = 'icons/obj/supermatter.dmi' icon_state = "darkmatter_shard" - density = 1 - anchored = 0 + density = TRUE + anchored = FALSE light_range = 4 resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF @@ -74,7 +74,7 @@ var/emergency_alert = "CRYSTAL DELAMINATION IMMINENT." var/explosion_point = 900 - var/emergency_issued = 0 + var/emergency_issued = FALSE var/explosion_power = 12 var/temp_factor = 30 @@ -116,12 +116,12 @@ var/common_channel = null //for logging - var/has_been_powered = 0 - var/has_reached_emergency = 0 + var/has_been_powered = FALSE + var/has_reached_emergency = FALSE // For making hugbox supermatter - var/takes_damage = 1 - var/produces_gas = 1 + var/takes_damage = TRUE + var/produces_gas = TRUE var/obj/effect/countdown/supermatter/countdown /obj/machinery/power/supermatter_shard/make_frozen_visual() @@ -385,7 +385,7 @@ /obj/machinery/power/supermatter_shard/bullet_act(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 + return FALSE // 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(!istype(Proj.firer, /obj/machinery/power/emitter)) investigate_log("has been hit by [Proj] fired by [Proj.firer]", "supermatter") @@ -394,10 +394,10 @@ if(!has_been_powered) investigate_log("has been powered for the first time.", "supermatter") message_admins("[src] has been powered for the first time [ADMIN_JMP(src)].") - has_been_powered = 1 + has_been_powered = TRUE else if(takes_damage) damage += Proj.damage * config_bullet_energy - return 0 + return FALSE /obj/machinery/power/supermatter_shard/singularity_act() var/gain = 100 @@ -409,7 +409,7 @@ M << 'sound/effects/supermatter.ogg' //everyone goan know bout this to_chat(M, "A horrible screeching fills your ears, and a wave of dread washes over you...") qdel(src) - return(gain) + return gain /obj/machinery/power/supermatter_shard/blob_act(obj/structure/blob/B) if(B && !isspaceturf(loc)) //does nothing in space @@ -450,7 +450,7 @@ user.visible_message("\The [user] reaches out and touches \the [src], inducing a resonance... [user.p_their()] 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.") - + investigate_log("has been attacked (hand) by [user]", "supermatter") playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1) Consume(user) @@ -464,11 +464,11 @@ if(!istype(W) || (W.flags & ABSTRACT) || !istype(user)) return 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.") - + investigate_log("has been attacked ([W]) by [user]", "supermatter") + Consume(W) playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1) radiation_pulse(get_turf(src), 1, 1, 150, 1) @@ -517,15 +517,15 @@ // When you wanna make a supermatter shard for the dramatic effect, but // don't want it exploding suddenly /obj/machinery/power/supermatter_shard/hugbox - takes_damage = 0 - produces_gas = 0 + takes_damage = FALSE + produces_gas = FALSE /obj/machinery/power/supermatter_shard/crystal name = "supermatter crystal" desc = "A strangely translucent and iridescent crystal." base_icon_state = "darkmatter" icon_state = "darkmatter" - anchored = 1 + anchored = TRUE gasefficency = 0.15 explosion_power = 35 diff --git a/code/modules/projectiles/ammunition.dm b/code/modules/projectiles/ammunition.dm index f873ef6083..18eb546b6c 100644 --- a/code/modules/projectiles/ammunition.dm +++ b/code/modules/projectiles/ammunition.dm @@ -16,7 +16,7 @@ var/randomspread = 0 //Randomspread for automatics var/delay = 0 //Delay for energy weapons var/click_cooldown_override = 0 //Override this to make your gun have a faster fire rate, in tenths of a second. 4 is the default gun cooldown. - var/firing_effect_type = /obj/effect/overlay/temp/dir_setting/firing_effect //the visual effect appearing when the ammo is fired. + var/firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect //the visual effect appearing when the ammo is fired. /obj/item/ammo_casing/New() diff --git a/code/modules/projectiles/ammunition/caseless.dm b/code/modules/projectiles/ammunition/caseless.dm index 9ba066ef95..0480476a74 100644 --- a/code/modules/projectiles/ammunition/caseless.dm +++ b/code/modules/projectiles/ammunition/caseless.dm @@ -45,7 +45,7 @@ icon_state = "s-casing-live" projectile_type = /obj/item/projectile/beam fire_sound = 'sound/weapons/Laser.ogg' - firing_effect_type = /obj/effect/overlay/temp/dir_setting/firing_effect/energy + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/energy /obj/item/ammo_casing/caseless/laser/gatling projectile_type = /obj/item/projectile/beam/weak diff --git a/code/modules/projectiles/ammunition/energy.dm b/code/modules/projectiles/ammunition/energy.dm index ba4770ebba..7da945a5b8 100644 --- a/code/modules/projectiles/ammunition/energy.dm +++ b/code/modules/projectiles/ammunition/energy.dm @@ -6,7 +6,7 @@ var/e_cost = 100 //The amount of energy a cell needs to expend to create this shot. var/select_name = "energy" fire_sound = 'sound/weapons/Laser.ogg' - firing_effect_type = /obj/effect/overlay/temp/dir_setting/firing_effect/energy + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/energy /obj/item/ammo_casing/energy/chameleon projectile_type = /obj/item/projectile/energy/chameleon diff --git a/code/modules/projectiles/ammunition/special.dm b/code/modules/projectiles/ammunition/special.dm index 16ec87e043..bd57d7c07a 100644 --- a/code/modules/projectiles/ammunition/special.dm +++ b/code/modules/projectiles/ammunition/special.dm @@ -2,7 +2,7 @@ name = "magic casing" desc = "I didn't even know magic needed ammo..." projectile_type = /obj/item/projectile/magic - firing_effect_type = /obj/effect/overlay/temp/dir_setting/firing_effect/magic + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect/magic /obj/item/ammo_casing/magic/change projectile_type = /obj/item/projectile/magic/change @@ -89,4 +89,4 @@ select_name = "spraydown" fire_sound = 'sound/weapons/gunshot_smg.ogg' e_cost = 20 - firing_effect_type = /obj/effect/overlay/temp/dir_setting/firing_effect + firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect diff --git a/code/modules/projectiles/boxes_magazines/external_mag.dm b/code/modules/projectiles/boxes_magazines/external_mag.dm index 11112ec974..8733cd2e1e 100644 --- a/code/modules/projectiles/boxes_magazines/external_mag.dm +++ b/code/modules/projectiles/boxes_magazines/external_mag.dm @@ -13,6 +13,21 @@ max_ammo = 8 multiple_sprites = 2 +/obj/item/ammo_box/magazine/m10mm/rifle + name = "rifle magazine (10mm)" + desc = "A well-worn magazine fitted for the surplus rifle." + icon_state = "75-8" + origin_tech = "combat=2" + ammo_type = /obj/item/ammo_casing/c10mm + caliber = "10mm" + max_ammo = 10 + +/obj/item/ammo_box/magazine/m10mm/rifle/update_icon() + if(ammo_count()) + icon_state = "75-8" + else + icon_state = "75-0" + /obj/item/ammo_box/magazine/m10mm/fire name = "pistol magazine (10mm incendiary)" desc = "A gun magazine. Loaded with rounds which ignite the target." @@ -52,16 +67,31 @@ /obj/item/ammo_box/magazine/wt550m9/wtap name = "wt550 magazine (Armour Piercing 4.6x30mm)" + icon_state = "46x30mmtA-20" ammo_type = /obj/item/ammo_casing/c46x30mmap +/obj/item/ammo_box/magazine/wt550m9/wtap/update_icon() + ..() + icon_state = "46x30mmtA-[round(ammo_count(),4)]" + /obj/item/ammo_box/magazine/wt550m9/wttx name = "wt550 magazine (Toxin Tipped 4.6x30mm)" + icon_state = "46x30mmtT-20" ammo_type = /obj/item/ammo_casing/c46x30mmtox +/obj/item/ammo_box/magazine/wt550m9/wttx/update_icon() + ..() + icon_state = "46x30mmtT-[round(ammo_count(),4)]" + /obj/item/ammo_box/magazine/wt550m9/wtic name = "wt550 magazine (Incindiary 4.6x30mm)" + icon_state = "46x30mmtI-20" ammo_type = /obj/item/ammo_casing/c46x30mminc +/obj/item/ammo_box/magazine/wt550m9/wtic/update_icon() + ..() + icon_state = "46x30mmtI-[round(ammo_count(),4)]" + /obj/item/ammo_box/magazine/uzim9mm name = "uzi magazine (9mm)" icon_state = "uzi9mm-32" diff --git a/code/modules/projectiles/boxes_magazines/internal_mag.dm b/code/modules/projectiles/boxes_magazines/internal_mag.dm index 3e7112ffed..9476d728a6 100644 --- a/code/modules/projectiles/boxes_magazines/internal_mag.dm +++ b/code/modules/projectiles/boxes_magazines/internal_mag.dm @@ -109,6 +109,11 @@ ammo_type = /obj/item/ammo_casing/shotgun/buckshot max_ammo = 6 +/obj/item/ammo_box/magazine/internal/shot/com/compact + name = "compact combat shotgun internal magazine" + ammo_type = /obj/item/ammo_casing/shotgun/buckshot + max_ammo = 4 + /obj/item/ammo_box/magazine/internal/shot/dual name = "double-barrel shotgun internal magazine" max_ammo = 2 diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm index 1ffdaf0d29..0235bbe84d 100644 --- a/code/modules/projectiles/guns/ballistic/automatic.dm +++ b/code/modules/projectiles/guns/ballistic/automatic.dm @@ -375,8 +375,29 @@ pin = /obj/item/device/firing_pin/implant/pindicate origin_tech = "combat=7;syndicate=6" +// Old Semi-Auto Rifle // +/obj/item/weapon/gun/ballistic/automatic/surplus + name = "Surplus Rifle" + desc = "One of countless obsolete ballistic rifles that still sees use as a cheap deterrent. Uses 10mm ammo and its bulky frame prevents one-hand firing." + origin_tech = "combat=3;materials=2" + icon_state = "surplus" + item_state = "moistnugget" + weapon_weight = WEAPON_HEAVY + mag_type = /obj/item/ammo_box/magazine/m10mm/rifle + fire_delay = 30 + burst_size = 1 + can_unsuppress = 1 + can_suppress = 1 + w_class = WEIGHT_CLASS_HUGE + slot_flags = SLOT_BACK + actions_types = list() +/obj/item/weapon/gun/ballistic/automatic/surplus/update_icon() + if(magazine) + icon_state = "surplus" + else + icon_state = "surplus-e" // Laser rifle (rechargeable magazine) // diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm index 6ce52748ec..ac3c56b88a 100644 --- a/code/modules/projectiles/guns/ballistic/revolver.dm +++ b/code/modules/projectiles/guns/ballistic/revolver.dm @@ -344,6 +344,15 @@ slung = 0 update_icon() +/obj/item/weapon/gun/ballistic/revolver/doublebarrel/improvised/sawn + name = "sawn-off improvised shotgun" + desc = "A single-shot shotgun, better not miss" + icon_state = "ishotgun" + item_state = "gun" + w_class = WEIGHT_CLASS_NORMAL + sawn_state = SAWN_OFF + slot_flags = SLOT_BELT + /obj/item/weapon/gun/ballistic/revolver/reverse //Fires directly at its user... unless the user is a clown, of course. clumsy_check = 0 diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm index 7195afd146..5f376370d4 100644 --- a/code/modules/projectiles/guns/ballistic/shotgun.dm +++ b/code/modules/projectiles/guns/ballistic/shotgun.dm @@ -192,6 +192,14 @@ mag_type = /obj/item/ammo_box/magazine/internal/shot/com w_class = WEIGHT_CLASS_HUGE +/obj/item/weapon/gun/ballistic/shotgun/automatic/combat/compact + name = "compact combat shotgun" + desc = "A compact version of the semi automatic combat shotgun. For close encounters." + icon_state = "cshotgunc" + origin_tech = "combat=4;materials=2" + mag_type = /obj/item/ammo_box/magazine/internal/shot/com/compact + w_class = WEIGHT_CLASS_BULKY + //Dual Feed Shotgun /obj/item/weapon/gun/ballistic/shotgun/automatic/dual_tube diff --git a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm index 0a886a76d1..0f108fcc76 100644 --- a/code/modules/projectiles/guns/energy/kinetic_accelerator.dm +++ b/code/modules/projectiles/guns/energy/kinetic_accelerator.dm @@ -198,7 +198,7 @@ if(ismineralturf(target_turf)) var/turf/closed/mineral/M = target_turf M.gets_drilled(firer) - var/obj/effect/overlay/temp/kinetic_blast/K = new /obj/effect/overlay/temp/kinetic_blast(target_turf) + var/obj/effect/temp_visual/kinetic_blast/K = new /obj/effect/temp_visual/kinetic_blast(target_turf) K.color = color for(var/obj/item/borg/upgrade/modkit/M in kinetic_modules) if(QDELETED(M)) //whoever shot this was very, very unfortunate. @@ -358,7 +358,7 @@ /obj/item/borg/upgrade/modkit/aoe/projectile_strike(obj/item/projectile/kinetic/K, turf/target_turf, atom/target) if(stats_stolen) return - new /obj/effect/overlay/temp/explosion/fast(target_turf) + new /obj/effect/temp_visual/explosion/fast(target_turf) if(turf_aoe) for(var/T in RANGE_TURFS(1, target_turf) - target_turf) if(ismineralturf(T)) @@ -370,7 +370,6 @@ L.apply_damage(K.damage*modifier, K.damage_type, K.def_zone, armor) to_chat(L, "You're struck by a [K.name]!") - /obj/item/borg/upgrade/modkit/aoe/turfs name = "mining explosion" desc = "Causes the kinetic accelerator to destroy rock in an AoE." @@ -392,11 +391,11 @@ //Indoors /obj/item/borg/upgrade/modkit/indoors name = "decrease pressure penalty" - desc = "Increases the damage a kinetic accelerator does in a high pressure environment." + desc = "A syndicate modification kit that increases the damage a kinetic accelerator does in a high pressure environment." modifier = 2 denied_type = /obj/item/borg/upgrade/modkit/indoors maximum_of_type = 2 - cost = 40 + cost = 35 /obj/item/borg/upgrade/modkit/indoors/modify_projectile(obj/item/projectile/kinetic/K) K.pressure_decrease *= modifier diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm index b938e399df..b3e55f2423 100644 --- a/code/modules/projectiles/guns/energy/pulse.dm +++ b/code/modules/projectiles/guns/energy/pulse.dm @@ -5,7 +5,7 @@ item_state = null w_class = WEIGHT_CLASS_BULKY force = 10 - modifystate = TRUE + modifystate = TRUE flags = CONDUCT slot_flags = SLOT_BACK ammo_type = list(/obj/item/ammo_casing/energy/laser/pulse, /obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser) @@ -40,7 +40,7 @@ w_class = WEIGHT_CLASS_NORMAL slot_flags = SLOT_BELT icon_state = "pulse_carbine" - item_state = null + item_state = null cell_type = "/obj/item/weapon/stock_parts/cell/pulse/carbine" can_flashlight = 1 flight_x_offset = 18 diff --git a/code/modules/projectiles/guns/medbeam.dm b/code/modules/projectiles/guns/medbeam.dm index 32646ee1e8..37d576a8ff 100644 --- a/code/modules/projectiles/guns/medbeam.dm +++ b/code/modules/projectiles/guns/medbeam.dm @@ -113,7 +113,7 @@ /obj/item/weapon/gun/medbeam/proc/on_beam_tick(var/mob/living/target) if(target.health != target.maxHealth) - new /obj/effect/overlay/temp/heal(get_turf(target), "#80F5FF") + new /obj/effect/temp_visual/heal(get_turf(target), "#80F5FF") target.adjustBruteLoss(-4) target.adjustFireLoss(-4) return diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 3dedaa9ae1..3dbadc85c5 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -90,9 +90,9 @@ if(starting) splatter_dir = get_dir(starting, target_loca) if(isalien(L)) - new /obj/effect/overlay/temp/dir_setting/bloodsplatter/xenosplatter(target_loca, splatter_dir) + new /obj/effect/temp_visual/dir_setting/bloodsplatter/xenosplatter(target_loca, splatter_dir) else - new /obj/effect/overlay/temp/dir_setting/bloodsplatter(target_loca, splatter_dir) + new /obj/effect/temp_visual/dir_setting/bloodsplatter(target_loca, splatter_dir) if(prob(33)) L.add_splatter_floor(target_loca) else if(impact_effect_type) @@ -224,7 +224,7 @@ pixel_y_offset += 32 old_pixel_y += 32 new_y-- - + pixel_x = old_pixel_x pixel_y = old_pixel_y step_towards(src, locate(new_x, new_y, z)) @@ -237,7 +237,7 @@ animate(src, pixel_x = pixel_x_offset, pixel_y = pixel_y_offset, time = max(1, (delay <= 3 ? delay - 1 : delay)), flags = ANIMATION_END_NOW) old_pixel_x = pixel_x_offset old_pixel_y = pixel_y_offset - + if(original && (original.layer>=2.75) || ismob(original)) if(loc == get_turf(original)) if(!(original in permutated)) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 6dbd01d372..766d8b5e39 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -9,7 +9,7 @@ hitsound_wall = 'sound/weapons/effects/searwall.ogg' flag = "laser" eyeblur = 2 - impact_effect_type = /obj/effect/overlay/temp/impact_effect/red_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser light_color = LIGHT_COLOR_RED /obj/item/projectile/beam/laser @@ -25,7 +25,7 @@ var/mob/living/carbon/M = target M.IgniteMob() else if(isturf(target)) - impact_effect_type = /obj/effect/overlay/temp/impact_effect/red_laser/wall + impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser/wall /obj/item/projectile/beam/weak damage = 15 @@ -48,7 +48,7 @@ irradiate = 30 range = 15 forcedodge = 1 - impact_effect_type = /obj/effect/overlay/temp/impact_effect/green_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser light_color = LIGHT_COLOR_GREEN /obj/item/projectile/beam/disabler @@ -59,14 +59,14 @@ flag = "energy" hitsound = 'sound/weapons/tap.ogg' eyeblur = 0 - impact_effect_type = /obj/effect/overlay/temp/impact_effect/blue_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser light_color = LIGHT_COLOR_BLUE /obj/item/projectile/beam/pulse name = "pulse" icon_state = "u_laser" damage = 50 - impact_effect_type = /obj/effect/overlay/temp/impact_effect/blue_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser light_color = LIGHT_COLOR_BLUE /obj/item/projectile/beam/pulse/on_hit(atom/target, blocked = 0) @@ -94,7 +94,7 @@ damage = 30 legacy = 1 animate_movement = SLIDE_STEPS - impact_effect_type = /obj/effect/overlay/temp/impact_effect/green_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser light_color = LIGHT_COLOR_GREEN /obj/item/projectile/beam/emitter/singularity_pull() @@ -108,7 +108,7 @@ damage_type = STAMINA flag = "laser" var/suit_types = list(/obj/item/clothing/suit/redtag, /obj/item/clothing/suit/bluetag) - impact_effect_type = /obj/effect/overlay/temp/impact_effect/blue_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser light_color = LIGHT_COLOR_BLUE /obj/item/projectile/beam/lasertag/on_hit(atom/target, blocked = 0) @@ -122,7 +122,7 @@ /obj/item/projectile/beam/lasertag/redtag icon_state = "laser" suit_types = list(/obj/item/clothing/suit/bluetag) - impact_effect_type = /obj/effect/overlay/temp/impact_effect/red_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser light_color = LIGHT_COLOR_RED /obj/item/projectile/beam/lasertag/bluetag @@ -134,17 +134,17 @@ icon_state = "purple_laser" damage = 200 damage_type = BURN - impact_effect_type = /obj/effect/overlay/temp/impact_effect/purple_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/purple_laser light_color = LIGHT_COLOR_PURPLE /obj/item/projectile/beam/instakill/blue icon_state = "blue_laser" - impact_effect_type = /obj/effect/overlay/temp/impact_effect/blue_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser light_color = LIGHT_COLOR_BLUE /obj/item/projectile/beam/instakill/red icon_state = "red_laser" - impact_effect_type = /obj/effect/overlay/temp/impact_effect/red_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser light_color = LIGHT_COLOR_RED /obj/item/projectile/beam/instakill/on_hit(atom/target) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index cceb77bee1..73355cd326 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -6,7 +6,7 @@ nodamage = 0 flag = "bullet" hitsound_wall = "ricochet" - impact_effect_type = /obj/effect/overlay/temp/impact_effect + impact_effect_type = /obj/effect/temp_visual/impact_effect /obj/item/projectile/bullet/weakbullet //beanbag, heavy stamina damage damage = 5 @@ -190,7 +190,7 @@ name = "dart" icon_state = "cbbolt" damage = 6 - var/piercing = FALSE + var/piercing = FALSE /obj/item/projectile/bullet/dart/New() ..() @@ -201,15 +201,15 @@ if(iscarbon(target)) var/mob/living/carbon/M = target if(blocked != 100) // not completely blocked - if(M.can_inject(null, FALSE, def_zone, piercing)) // Pass the hit zone to see if it can inject by whether it hit the head or the body. + if(M.can_inject(null, FALSE, def_zone, piercing)) // Pass the hit zone to see if it can inject by whether it hit the head or the body. ..() reagents.reaction(M, INJECT) reagents.trans_to(M, reagents.total_volume) - return TRUE + return TRUE else blocked = 100 - target.visible_message("\The [src] was deflected!", \ - "You were protected against \the [src]!") + target.visible_message("\The [src] was deflected!", \ + "You were protected against \the [src]!") ..(target, blocked) reagents.set_reacting(TRUE) @@ -240,28 +240,28 @@ nodamage = 1 . = ..() // Execute the rest of the code. -/obj/item/projectile/bullet/dnainjector - name = "\improper DNA injector" - icon_state = "syringeproj" - var/obj/item/weapon/dnainjector/injector - -/obj/item/projectile/bullet/dnainjector/on_hit(atom/target, blocked = 0) - if(iscarbon(target)) - var/mob/living/carbon/M = target - if(blocked != 100) - if(M.can_inject(null, FALSE, def_zone, FALSE)) - if(injector.inject(M, firer)) - QDEL_NULL(injector) - return TRUE - else - blocked = 100 - target.visible_message("\The [src] was deflected!", \ - "You were protected against \the [src]!") - return ..() - -/obj/item/projectile/bullet/dnainjector/Destroy() - QDEL_NULL(injector) - return ..() +/obj/item/projectile/bullet/dnainjector + name = "\improper DNA injector" + icon_state = "syringeproj" + var/obj/item/weapon/dnainjector/injector + +/obj/item/projectile/bullet/dnainjector/on_hit(atom/target, blocked = 0) + if(iscarbon(target)) + var/mob/living/carbon/M = target + if(blocked != 100) + if(M.can_inject(null, FALSE, def_zone, FALSE)) + if(injector.inject(M, firer)) + QDEL_NULL(injector) + return TRUE + else + blocked = 100 + target.visible_message("\The [src] was deflected!", \ + "You were protected against \the [src]!") + return ..() + +/obj/item/projectile/bullet/dnainjector/Destroy() + QDEL_NULL(injector) + return ..() //// SNIPER BULLETS diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index cfa7727186..f82fcca3e3 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -135,7 +135,7 @@ damage = 20 damage_type = CLONE irradiate = 10 - impact_effect_type = /obj/effect/overlay/temp/impact_effect/green_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser /obj/item/projectile/energy/dart //ninja throwing dart name = "dart" @@ -164,7 +164,7 @@ /obj/item/projectile/energy/tesla name = "tesla bolt" icon_state = "tesla_projectile" - impact_effect_type = /obj/effect/overlay/temp/impact_effect/blue_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser var/chain /obj/item/projectile/energy/tesla/fire(setAngle) diff --git a/code/modules/projectiles/projectile/plasma.dm b/code/modules/projectiles/projectile/plasma.dm index 50d96cc7b9..b5d8958f64 100644 --- a/code/modules/projectiles/projectile/plasma.dm +++ b/code/modules/projectiles/projectile/plasma.dm @@ -7,7 +7,6 @@ obj/item/projectile/energy/plasmabolt damage_type = BURN hitsound = 'sound/weapons/sear.ogg' hitsound_wall = 'sound/weapons/effects/searwall.ogg' - impact_effect_type = /obj/effect/overlay/temp/impact_effect/green_laser light_range = 3 light_color = LIGHT_COLOR_GREEN diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index f5df46cb7b..57b339178f 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -5,7 +5,7 @@ damage_type = BURN nodamage = 1 flag = "energy" - impact_effect_type = /obj/effect/overlay/temp/impact_effect/ion + impact_effect_type = /obj/effect/temp_visual/impact_effect/ion /obj/item/projectile/ion/on_hit(atom/target, blocked = 0) @@ -202,7 +202,8 @@ damage = 5 range = 3.5 //works as 4, but doubles to 7 dismemberment = 20 - impact_effect_type = /obj/effect/overlay/temp/impact_effect/purple_laser + impact_effect_type = /obj/effect/temp_visual/impact_effect/purple_laser + var/mine_range = 3 //mines this many additional tiles /obj/item/projectile/plasma/Initialize() . = ..() @@ -215,24 +216,27 @@ if(pressure < 60) name = "full strength [name]" damage *= 4 - range *= 2 /obj/item/projectile/plasma/on_hit(atom/target) . = ..() if(ismineralturf(target)) var/turf/closed/mineral/M = target M.gets_drilled(firer) - Range() + if(mine_range) + mine_range-- + range++ if(range > 0) return -1 /obj/item/projectile/plasma/adv damage = 7 range = 5 + mine_range = 5 /obj/item/projectile/plasma/adv/mech damage = 10 - range = 6 + range = 9 + mine_range = 3 /obj/item/projectile/plasma/turret //Between normal and advanced for damage, made a beam so not the turret does not destroy glass @@ -270,7 +274,7 @@ A.throw_at(throwtarget,power+1,1) thrown_items[A] = A for(var/turf/F in range(T,power)) - new /obj/effect/overlay/temp/gravpush(F) + new /obj/effect/temp_visual/gravpush(F) /obj/item/projectile/gravityattract name = "attraction bolt" @@ -300,7 +304,7 @@ A.throw_at(T, power+1, 1) thrown_items[A] = A for(var/turf/F in range(T,power)) - new /obj/effect/overlay/temp/gravpush(F) + new /obj/effect/temp_visual/gravpush(F) /obj/item/projectile/gravitychaos name = "gravitational blast" @@ -330,5 +334,5 @@ A.throw_at(get_edge_target_turf(A, pick(GLOB.cardinal)), power+1, 1) thrown_items[A] = A for(var/turf/Z in range(T,power)) - new /obj/effect/overlay/temp/gravpush(Z) + new /obj/effect/temp_visual/gravpush(Z) diff --git a/code/modules/reagents/chemistry/holder.dm b/code/modules/reagents/chemistry/holder.dm index 2c8ef5e065..55a59bed61 100644 --- a/code/modules/reagents/chemistry/holder.dm +++ b/code/modules/reagents/chemistry/holder.dm @@ -453,14 +453,14 @@ /datum/reagents/proc/check_ignoreslow(mob/M) if(istype(M, /mob)) - if(M.reagents.has_reagent("morphine")||M.reagents.has_reagent("ephedrine")) + if(M.reagents.has_reagent("morphine")) return 1 else M.status_flags &= ~IGNORESLOWDOWN /datum/reagents/proc/check_gofast(mob/M) if(istype(M, /mob)) - if(M.reagents.has_reagent("unholywater")||M.reagents.has_reagent("nuka_cola")||M.reagents.has_reagent("stimulants")) + if(M.reagents.has_reagent("unholywater")||M.reagents.has_reagent("nuka_cola")||M.reagents.has_reagent("stimulants")||M.reagents.has_reagent("ephedrine")) return 1 else M.status_flags &= ~GOTTAGOFAST diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index 5a73c5dcf4..481704ac41 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -1,285 +1,183 @@ /obj/machinery/computer/pandemic name = "PanD.E.M.I.C 2200" desc = "Used to work with viruses." - density = 1 - anchored = 1 + density = TRUE + anchored = TRUE icon = 'icons/obj/chemical.dmi' icon_state = "mixer0" circuit = /obj/item/weapon/circuitboard/computer/pandemic - use_power = 1 + use_power = TRUE idle_power_usage = 20 resistance_flags = ACID_PROOF - var/temp_html = "" - var/wait = null - var/obj/item/weapon/reagent_containers/beaker = null + var/wait + var/obj/item/weapon/reagent_containers/beaker /obj/machinery/computer/pandemic/Initialize() . = ..() update_icon() -/obj/machinery/computer/pandemic/proc/GetVirusByIndex(index) - if(beaker && beaker.reagents) - if(beaker.reagents.reagent_list.len) - var/datum/reagent/blood/BL = locate() in beaker.reagents.reagent_list - if(BL) - if(BL.data && BL.data["viruses"]) - var/list/viruses = BL.data["viruses"] - return viruses[index] - return null +/obj/machinery/computer/pandemic/Destroy() + QDEL_NULL(beaker) + return ..() -/obj/machinery/computer/pandemic/proc/GetResistancesByIndex(index) - if(beaker && beaker.reagents) - if(beaker.reagents.reagent_list.len) - var/datum/reagent/blood/BL = locate() in beaker.reagents.reagent_list - if(BL) - if(BL.data && BL.data["resistances"]) - var/list/resistances = BL.data["resistances"] - return resistances[index] - return null +/obj/machinery/computer/pandemic/proc/get_by_index(thing, index) + if(!beaker || !beaker.reagents) + return + var/datum/reagent/blood/B = locate() in beaker.reagents.reagent_list + if(B && B.data[thing]) + return B.data[thing][index] -/obj/machinery/computer/pandemic/proc/GetVirusTypeByIndex(index) - var/datum/disease/D = GetVirusByIndex(index) +/obj/machinery/computer/pandemic/proc/get_virus_id_by_index(index) + var/datum/disease/D = get_by_index("viruses", index) if(D) return D.GetDiseaseID() - return null -/obj/machinery/computer/pandemic/proc/replicator_cooldown(waittime) - wait = 1 +/obj/machinery/computer/pandemic/proc/get_viruses_data(datum/reagent/blood/B) + . = list() + if(!islist(B.data["viruses"])) + return + var/list/V = B.data["viruses"] + var/index = 1 + for(var/virus in V) + var/datum/disease/D = virus + if(!istype(D) || D.visibility_flags & HIDDEN_PANDEMIC) + continue + + var/list/this = list() + this["name"] = D.name + if(istype(D, /datum/disease/advance)) + var/datum/disease/advance/A = SSdisease.archive_diseases[D.GetDiseaseID()] + if(A.name == "Unknown") + this["can_rename"] = TRUE + this["name"] = A.name + this["is_adv"] = TRUE + this["resistance"] = A.totalResistance() + this["stealth"] = A.totalStealth() + this["stage_speed"] = A.totalStageSpeed() + this["transmission"] = A.totalTransmittable() + this["symptoms"] = list() + for(var/symptom in A.symptoms) + var/datum/symptom/S = symptom + var/list/this_symptom = list() + this_symptom["name"] = S.name + this["symptoms"] += list(this_symptom) + this["index"] = index++ + this["agent"] = D.agent + this["description"] = D.desc || "none" + this["spread"] = D.spread_text || "none" + this["cure"] = D.cure_text || "none" + + . += list(this) + +/obj/machinery/computer/pandemic/proc/get_resistance_data(datum/reagent/blood/B) + . = list() + if(!islist(B.data["resistances"])) + return + var/list/resistances = B.data["resistances"] + for(var/id in resistances) + var/list/this = list() + var/datum/disease/D = SSdisease.archive_diseases[id] + if(D) + this["id"] = id + this["name"] = D.name + . += list(this) + +/obj/machinery/computer/pandemic/proc/reset_replicator_cooldown() + wait = FALSE update_icon() - spawn(waittime) - wait = null - update_icon() - playsound(src.loc, 'sound/machines/ping.ogg', 30, 1) + playsound(loc, 'sound/machines/ping.ogg', 30, 1) /obj/machinery/computer/pandemic/update_icon() if(stat & BROKEN) icon_state = (beaker ? "mixer1_b" : "mixer0_b") return - icon_state = "mixer[(beaker)?"1":"0"][(powered()) ? "" : "_nopower"]" - + icon_state = "mixer[(beaker) ? "1" : "0"][powered() ? "" : "_nopower"]" if(wait) cut_overlays() else add_overlay("waitlight") -/obj/machinery/computer/pandemic/Topic(href, href_list) +/obj/machinery/computer/pandemic/proc/eject_beaker() + beaker.forceMove(get_turf(src)) + beaker = null + update_icon() + +/obj/machinery/computer/pandemic/ui_interact(mob/user, ui_key = "main", datum/tgui/ui, force_open = FALSE, datum/tgui/master_ui, datum/ui_state/state = GLOB.default_state) + ui = SStgui.try_update_ui(user, src, ui_key, ui, force_open) + if(!ui) + ui = new(user, src, ui_key, "pandemic", name, 575, 500, master_ui, state) + ui.open() + +/obj/machinery/computer/pandemic/ui_data(mob/user) + var/list/data = list() + data["is_ready"] = !wait + if(beaker) + data["has_beaker"] = TRUE + if(!beaker.reagents.total_volume || !beaker.reagents.reagent_list) + data["beaker_empty"] = TRUE + var/datum/reagent/blood/B = locate() in beaker.reagents.reagent_list + if(B) + data["has_blood"] = TRUE + data["blood"] = list() + data["blood"]["dna"] = B.data["blood_DNA"] || "none" + data["blood"]["type"] = B.data["blood_type"] || "none" + data["viruses"] = get_viruses_data(B) + data["resistances"] = get_resistance_data(B) + + return data + +/obj/machinery/computer/pandemic/ui_act(action, params) if(..()) return - - usr.set_machine(src) - if(!beaker) return - - if (href_list["create_vaccine"]) - if(!src.wait) - var/obj/item/weapon/reagent_containers/glass/bottle/B = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc) - if(B) - B.pixel_x = rand(-3, 3) - B.pixel_y = rand(-3, 3) - var/path = GetResistancesByIndex(text2num(href_list["create_vaccine"])) - var/vaccine_type = path - var/vaccine_name = "Unknown" - - if(!ispath(vaccine_type)) - if(SSdisease.archive_diseases[path]) - var/datum/disease/D = SSdisease.archive_diseases[path] - if(D) - vaccine_name = D.name - vaccine_type = path - else if(vaccine_type) - var/datum/disease/D = new vaccine_type(0, null) - if(D) - vaccine_name = D.name - - if(vaccine_type) - - B.name = "[vaccine_name] vaccine bottle" - B.reagents.add_reagent("vaccine", 15, list(vaccine_type)) - replicator_cooldown(200) - else - temp_html = "The replicator is not ready yet." - updateUsrDialog() - return - else if (href_list["create_virus_culture"]) - if(!wait) - var/type = GetVirusTypeByIndex(text2num(href_list["create_virus_culture"]))//the path is received as string - converting - var/datum/disease/D = null - if(!ispath(type)) - D = GetVirusByIndex(text2num(href_list["create_virus_culture"])) - var/datum/disease/advance/A = SSdisease.archive_diseases[D.GetDiseaseID()] - if(A) - D = new A.type(0, A) - else if(type) - if(type in SSdisease.diseases) // Make sure this is a disease - D = new type(0, null) - if(!D) - return - var/name = stripped_input(usr,"Name:","Name the culture",D.name,MAX_NAME_LEN) - if(name == null || wait) - return - var/obj/item/weapon/reagent_containers/glass/bottle/B = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc) - B.icon_state = "bottle3" - B.pixel_x = rand(-3, 3) - B.pixel_y = rand(-3, 3) - replicator_cooldown(50) - var/list/data = list("viruses"=list(D)) - B.name = "[name] culture bottle" - B.desc = "A small bottle. Contains [D.agent] culture in synthblood medium." - B.reagents.add_reagent("blood",20,data) - updateUsrDialog() - else - temp_html = "The replicator is not ready yet." - updateUsrDialog() - return - else if (href_list["empty_beaker"]) - beaker.reagents.clear_reagents() - updateUsrDialog() - return - else if (href_list["eject"]) - beaker.forceMove(get_turf(loc)) - beaker = null - icon_state = "mixer0" - updateUsrDialog() - return - else if (href_list["emptyeject_beaker"]) - beaker.reagents.clear_reagents() - beaker.forceMove(get_turf(loc)) - beaker = null - icon_state = "mixer0" - updateUsrDialog() - return - else if(href_list["clear"]) - temp_html = "" - updateUsrDialog() - return - else if(href_list["name_disease"]) - var/new_name = stripped_input(usr, "Name the Disease", "New Name", "", MAX_NAME_LEN) - if(!new_name) - return - if(..()) - return - var/id = GetVirusTypeByIndex(text2num(href_list["name_disease"])) - if(SSdisease.archive_diseases[id]) + switch(action) + if("eject_beaker") + eject_beaker() + . = TRUE + if("empty_beaker") + beaker.reagents.clear_reagents() + . = TRUE + if("empty_eject_beaker") + beaker.reagents.clear_reagents() + eject_beaker() + . = TRUE + if("rename_disease") + var/id = get_virus_id_by_index(text2num(params["index"])) var/datum/disease/advance/A = SSdisease.archive_diseases[id] - A.AssignName(new_name) - for(var/datum/disease/advance/AD in SSdisease.processing) - AD.Refresh() - updateUsrDialog() - - - else - usr << browse(null, "window=pandemic") - updateUsrDialog() - return - - add_fingerprint(usr) - return - -/obj/machinery/computer/pandemic/attack_hand(mob/user) - if(..()) - return - user.set_machine(src) - var/dat = "" - if(temp_html) - dat = "[src.temp_html]

Main Menu" - else if(!beaker) - dat += "Please insert beaker.
" - dat += "Close" - else - var/datum/reagents/R = beaker.reagents - var/datum/reagent/blood/Blood = null - for(var/datum/reagent/blood/B in R.reagent_list) - if(B) - Blood = B - break - if(!R.total_volume||!R.reagent_list.len) - dat += "The beaker is empty
" - else if(!Blood) - dat += "No blood sample found in beaker." - else if(!Blood.data) - dat += "No blood data found in beaker." - else - dat += "

Blood sample data:

" - dat += "Blood DNA: [(Blood.data["blood_DNA"]||"none")]
" - dat += "Blood Type: [(Blood.data["blood_type"]||"none")]
" - - - if(Blood.data["viruses"]) - var/list/vir = Blood.data["viruses"] - if(vir.len) - var/i = 0 - for(var/datum/disease/D in Blood.data["viruses"]) - i++ - if(!(D.visibility_flags & HIDDEN_PANDEMIC)) - - if(istype(D, /datum/disease/advance)) - - var/datum/disease/advance/A = D - D = SSdisease.archive_diseases[A.GetDiseaseID()] - if(D && D.name == "Unknown") - dat += "Name Disease
" - - if(!D) - CRASH("We weren't able to get the advance disease from the archive.") - - dat += "Disease Agent: [D?"[D.agent] - Create virus culture bottle":"none"]
" - dat += "Common name: [(D.name||"none")]
" - dat += "Description: [(D.desc||"none")]
" - dat += "Spread: [(D.spread_text||"none")]
" - dat += "Possible cure: [(D.cure_text||"none")]

" - if(istype(D, /datum/disease/advance)) - var/datum/disease/advance/A = D - dat += "Stealth: [(A.totalStealth())]
" - dat += "Resistance: [(A.totalResistance())]
" - dat += "Stage Speed: [(A.totalStageSpeed())]
" - dat += "Transmission: [(A.totalTransmittable())]

" - dat += "Symptoms: " - var/english_symptoms = list() - for(var/datum/symptom/S in A.symptoms) - english_symptoms += S.name - dat += english_list(english_symptoms) - - else - dat += "No detectable virus in the sample." - else - dat += "No detectable virus in the sample." - - dat += "
Contains antibodies to: " - if(Blood.data["resistances"]) - var/list/res = Blood.data["resistances"] - if(res.len) - dat += "
    " - var/i = 0 - for(var/type in Blood.data["resistances"]) - i++ - var/disease_name = "Unknown" - - if(!ispath(type)) - var/datum/disease/advance/A = SSdisease.archive_diseases[type] - if(A) - disease_name = A.name - else - var/datum/disease/D = new type(0, null) - disease_name = D.name - - dat += "
  • [disease_name] - Create vaccine bottle
  • " - dat += "

" - else - dat += "nothing
" - else - dat += "nothing
" - dat += "
Eject beaker[((R.total_volume&&R.reagent_list.len) ? "-- Empty beaker":"")]" - dat += "[((R.total_volume&&R.reagent_list.len) ? "-- Empty and Eject beaker":"")]
" - dat += "Close" - - user << browse("[src.name]
[dat]", "window=pandemic;size=575x400") - onclose(user, "pandemic") - return - + if(A) + var/new_name = stripped_input(usr, "Name the disease", "New name", "", MAX_NAME_LEN) + if(!new_name || ..()) + return + A.AssignName(new_name) + for(var/datum/disease/advance/AD in SSdisease.processing) + AD.Refresh() + . = TRUE + if("create_culture_bottle") + var/id = get_virus_id_by_index(text2num(params["index"])) + var/datum/disease/advance/A = new(FALSE, SSdisease.archive_diseases[id]) + var/list/data = list("viruses" = list(A)) + var/obj/item/weapon/reagent_containers/glass/bottle/B = new(get_turf(src)) + B.name = "[A.name] culture bottle" + B.desc = "A small bottle. Contains [A.agent] culture in synthblood medium." + B.reagents.add_reagent("blood", 20, data) + wait = TRUE + update_icon() + addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 50) + . = TRUE + if("create_vaccine_bottle") + var/index = params["index"] + var/datum/disease/D = SSdisease.archive_diseases[index] + var/obj/item/weapon/reagent_containers/glass/bottle/B = new(get_turf(src)) + B.name = "[D.name] vaccine bottle" + B.reagents.add_reagent("vaccine", 15, list(index)) + wait = TRUE + update_icon() + addtimer(CALLBACK(src, .proc/reset_replicator_cooldown), 200) + . = TRUE /obj/machinery/computer/pandemic/attackby(obj/item/I, mob/user, params) if(istype(I, /obj/item/weapon/reagent_containers) && (I.container_type & OPENCONTAINER)) - . = 1 //no afterattack + . = TRUE //no afterattack if(stat & (NOPOWER|BROKEN)) return if(beaker) @@ -288,15 +186,15 @@ if(!user.drop_item()) return - beaker = I - beaker.loc = src + beaker = I + beaker.forceMove(src) to_chat(user, "You add the beaker to the machine.") - updateUsrDialog() - icon_state = "mixer1" + update_icon() else return ..() /obj/machinery/computer/pandemic/on_deconstruction() if(beaker) - beaker.loc = get_turf(src) - ..() \ No newline at end of file + beaker.forceMove(get_turf(src)) + beaker = null + . = ..() \ No newline at end of file diff --git a/code/modules/reagents/chemistry/reagents/blob_reagents.dm b/code/modules/reagents/chemistry/reagents/blob_reagents.dm index 948da607f8..9b1117bcc5 100644 --- a/code/modules/reagents/chemistry/reagents/blob_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/blob_reagents.dm @@ -298,7 +298,7 @@ var/initial_volume = reac_volume reac_volume = ..() if(reac_volume >= 10) //if it's not a spore cloud, bad time incoming - var/obj/effect/overlay/temp/explosion/fast/E = new /obj/effect/overlay/temp/explosion/fast(get_turf(M)) + var/obj/effect/temp_visual/explosion/fast/E = new /obj/effect/temp_visual/explosion/fast(get_turf(M)) E.alpha = 150 for(var/mob/living/L in orange(get_turf(M), 1)) if("blob" in L.faction) //no friendly fire diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index f359a1fc37..b30207eaf3 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -378,7 +378,7 @@ if(N.w_uniform) M.visible_message(pick("[M]'s collar pops up without warning.", "[M] flexes [M.p_their()] arms.")) else - M.visible_message("[M] [M.p_their()] their arms.") + M.visible_message("[M] flexes [M.p_their()] arms.") if(prob(10)) M.say(pick("Check these sweet biceps bro!", "Deal with it.", "CHUG! CHUG! CHUG! CHUG!", "Winning!", "NERDS!", "My name is John and I hate every single one of you.")) ..() diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm index 28e8550b45..72e42b500f 100644 --- a/code/modules/recycling/conveyor2.dm +++ b/code/modules/recycling/conveyor2.dm @@ -104,11 +104,12 @@ if(!operating) return use_power(100) - affecting = loc.contents - src // moved items will be all in loc - sleep(1) + addtimer(CALLBACK(src, .proc/convey, affecting), 1) + +/obj/machinery/conveyor/proc/convey(list/affecting) for(var/atom/movable/A in affecting) - if(A.loc == loc) + if((A.loc == loc) && A.has_gravity()) A.ConveyorMove(movedir) // attack with item, place item on conveyor diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm index 834b79d4dc..cb00bf6ea1 100644 --- a/code/modules/research/designs.dm +++ b/code/modules/research/designs.dm @@ -249,16 +249,6 @@ other types of metals and chemistry for reagents). build_path = /obj/item/borg/upgrade/modkit/range category = list("Mining Designs", "Cyborg Upgrade Modules") -/datum/design/superaccelerator - name = "Kinetic Accelerator Pressure Mod" - desc = "A modification kit which allows Kinetic Accelerators to do more damage while indoors." - id = "indoormod" - req_tech = list("materials" = 5, "powerstorage" = 4, "engineering" = 4, "magnets" = 4, "combat" = 3) - build_type = PROTOLATHE | MECHFAB - materials = list(MAT_METAL = 2000, MAT_GLASS = 1500, MAT_SILVER = 2000, MAT_URANIUM = 2000) - build_path = /obj/item/borg/upgrade/modkit/indoors - category = list("Mining Designs", "Cyborg Upgrade Modules") - /datum/design/hyperaccelerator name = "Kinetic Accelerator Mining AoE Mod" desc = "A modification kit for Kinetic Accelerators which causes it to fire AoE blasts that destroy rock." diff --git a/code/modules/shuttle/ripple.dm b/code/modules/shuttle/ripple.dm index ca49f50ae5..a757a86430 100644 --- a/code/modules/shuttle/ripple.dm +++ b/code/modules/shuttle/ripple.dm @@ -1,4 +1,4 @@ -/obj/effect/overlay/temp/ripple +/obj/effect/temp_visual/ripple name = "hyperspace ripple" desc = "Something is coming through hyperspace, you can see the \ visual disturbances. It's probably best not to be on top of these \ @@ -13,10 +13,10 @@ duration = 3 * SHUTTLE_RIPPLE_TIME -/obj/effect/overlay/temp/ripple/Initialize(mapload, time_left) +/obj/effect/temp_visual/ripple/Initialize(mapload, time_left) . = ..() animate(src, alpha=255, time=time_left) addtimer(CALLBACK(src, .proc/stop_animation), 8, TIMER_CLIENT_TIME) -/obj/effect/overlay/temp/ripple/proc/stop_animation() +/obj/effect/temp_visual/ripple/proc/stop_animation() icon_state = "medi_holo_no_anim" diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index a5d60b1e8d..96db9d0ac3 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -404,7 +404,7 @@ /obj/docking_port/mobile/proc/create_ripples(obj/docking_port/stationary/S1, animate_time) var/list/turfs = ripple_area(S1) for(var/t in turfs) - ripples += new /obj/effect/overlay/temp/ripple(t, animate_time) + ripples += new /obj/effect/temp_visual/ripple(t, animate_time) /obj/docking_port/mobile/proc/remove_ripples() for(var/R in ripples) @@ -764,6 +764,6 @@ if(T in block(T0,T1)) return TRUE return FALSE - + #undef DOCKING_PORT_HIGHLIGHT diff --git a/code/modules/shuttle/special.dm b/code/modules/shuttle/special.dm index aa28f2402c..72e7b5bb3f 100644 --- a/code/modules/shuttle/special.dm +++ b/code/modules/shuttle/special.dm @@ -254,7 +254,7 @@ /mob/living/simple_animal/hostile/bear/fightpit name = "fight pit bear" desc = "This bear's trained through ancient Russian secrets to fear the walls of its glass prison." - environment_smash = 0 + environment_smash = ENVIRONMENT_SMASH_NONE /obj/effect/decal/hammerandsickle name = "hammer and sickle" diff --git a/code/modules/spells/spell_types/construct_spells.dm b/code/modules/spells/spell_types/construct_spells.dm index b6898afdef..c8a7c387ee 100644 --- a/code/modules/spells/spell_types/construct_spells.dm +++ b/code/modules/spells/spell_types/construct_spells.dm @@ -128,8 +128,8 @@ action_icon_state = "phaseshift" action_background_icon_state = "bg_demon" jaunt_in_time = 12 - jaunt_in_type = /obj/effect/overlay/temp/dir_setting/wraith - jaunt_out_type = /obj/effect/overlay/temp/dir_setting/wraith/out + jaunt_in_type = /obj/effect/temp_visual/dir_setting/wraith + jaunt_out_type = /obj/effect/temp_visual/dir_setting/wraith/out /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/jaunt_steam(mobloc) return @@ -256,7 +256,7 @@ S.add_atom_colour("#990000", FIXED_COLOUR_PRIORITY) S.faction = list("cult") playsound(get_turf(S), 'sound/effects/ghost.ogg', 100, 1) - new /obj/effect/overlay/temp/cult/sac(get_turf(S)) + new /obj/effect/temp_visual/cult/sac(get_turf(S)) /obj/effect/proc_holder/spell/targeted/dominate/can_target(mob/living/target) if(!isanimal(target) || target.stat) @@ -267,5 +267,5 @@ /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/golem charge_max = 800 - jaunt_in_type = /obj/effect/overlay/temp/dir_setting/cult/phase - jaunt_out_type = /obj/effect/overlay/temp/dir_setting/cult/phase/out \ No newline at end of file + jaunt_in_type = /obj/effect/temp_visual/dir_setting/cult/phase + jaunt_out_type = /obj/effect/temp_visual/dir_setting/cult/phase/out \ No newline at end of file diff --git a/code/modules/spells/spell_types/ethereal_jaunt.dm b/code/modules/spells/spell_types/ethereal_jaunt.dm index f1e959fd6f..940967adeb 100644 --- a/code/modules/spells/spell_types/ethereal_jaunt.dm +++ b/code/modules/spells/spell_types/ethereal_jaunt.dm @@ -13,8 +13,8 @@ nonabstract_req = 1 var/jaunt_duration = 50 //in deciseconds var/jaunt_in_time = 5 - var/jaunt_in_type = /obj/effect/overlay/temp/wizard - var/jaunt_out_type = /obj/effect/overlay/temp/wizard/out + var/jaunt_in_type = /obj/effect/temp_visual/wizard + var/jaunt_out_type = /obj/effect/temp_visual/wizard/out action_icon_state = "jaunt" /obj/effect/proc_holder/spell/targeted/ethereal_jaunt/cast(list/targets,mob/user = usr) //magnets, so mostly hardcoded diff --git a/code/modules/spells/spell_types/wizard.dm b/code/modules/spells/spell_types/wizard.dm index b8296a1da5..f62259f67b 100644 --- a/code/modules/spells/spell_types/wizard.dm +++ b/code/modules/spells/spell_types/wizard.dm @@ -257,7 +257,7 @@ selection_type = "view" sound = 'sound/magic/Repulse.ogg' var/maxthrow = 5 - var/sparkle_path = /obj/effect/overlay/temp/gravpush + var/sparkle_path = /obj/effect/temp_visual/gravpush action_icon_state = "repulse" @@ -300,7 +300,7 @@ range = 2 cooldown_min = 150 invocation_type = "none" - sparkle_path = /obj/effect/overlay/temp/dir_setting/tailsweep + sparkle_path = /obj/effect/temp_visual/dir_setting/tailsweep action_icon_state = "tailsweep" action_background_icon_state = "bg_alien" diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index 2bc650656f..9a787f9fda 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -83,14 +83,18 @@ //sometimes we want to ignore that we don't have the required amount of legs. /mob/proc/get_leg_ignore() - return 0 + return FALSE /mob/living/carbon/alien/larva/get_leg_ignore() - return 1 + return TRUE /mob/living/carbon/human/get_leg_ignore() if(movement_type & FLYING) - return 1 + return TRUE + var/obj/item/weapon/tank/jetpack/J = get_jetpack() + if(J && J.on && !has_gravity()) + return TRUE + return FALSE /mob/living/proc/get_missing_limbs() return list() diff --git a/code/modules/uplink/uplink_item.dm b/code/modules/uplink/uplink_item.dm index 3f5b4b4ca4..667742afc4 100644 --- a/code/modules/uplink/uplink_item.dm +++ b/code/modules/uplink/uplink_item.dm @@ -914,8 +914,8 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. cost = 3 /datum/uplink_item/device_tools/military_belt - name = "Military Belt" - desc = "A robust seven-slot red belt that is capable of holding all manner of tatical equipment." + name = "Chest Rig" + desc = "A robust seven-slot set of webbing that is capable of holding all manner of tatical equipment." item = /obj/item/weapon/storage/belt/military cost = 1 exclude_modes = list(/datum/game_mode/nuclear) @@ -1282,7 +1282,7 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. cost = 10 item = /obj/item/weapon/pneumatic_cannon/pie/selfcharge restricted_roles = list("Clown") - surplus = 0 //No fun unless you're the clown! + surplus = 0 //No fun unless you're the clown! /datum/uplink_item/role_restricted/ancient_jumpsuit name = "Ancient Jumpsuit" @@ -1298,8 +1298,8 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. item = /obj/item/toy/eightball/haunted cost = 2 restricted_roles = list("Curator") - limited_stock = 1 // please don't spam deadchat - + limited_stock = 1 //please don't spam deadchat + /datum/uplink_item/role_restricted/modified_syringe_gun name = "Modified Syringe Gun" desc = "A syringe gun that fires DNA injectors instead of normal syringes." @@ -1307,6 +1307,14 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once. cost = 14 restricted_roles = list("Geneticist", "Chief Medical Officer") +/datum/uplink_item/role_restricted/pressure_mod + name = "Kinetic Accelerator Pressure Mod" + desc = "A modification kit which allows Kinetic Accelerators to do greatly increased damage while indoors. Occupies 35% mod capacity." + item = /obj/item/borg/upgrade/modkit/indoors + cost = 5 //you need two for full damage, so total of 10 for maximum damage + limited_stock = 2 //you can't use more than two! + restricted_roles = list("Shaft Miner") + // Pointless /datum/uplink_item/badass category = "(Pointless) Badassery" diff --git a/code/modules/vehicles/speedbike.dm b/code/modules/vehicles/speedbike.dm index 15337d8a28..7cd2839b4b 100644 --- a/code/modules/vehicles/speedbike.dm +++ b/code/modules/vehicles/speedbike.dm @@ -19,7 +19,7 @@ /obj/vehicle/space/speedbike/Move(newloc,move_dir) if(has_buckled_mobs()) - new /obj/effect/overlay/temp/dir_setting/speedbike_trail(loc,move_dir) + new /obj/effect/temp_visual/dir_setting/speedbike_trail(loc,move_dir) . = ..() /obj/vehicle/space/speedbike/red diff --git a/code/world.dm b/code/world.dm index b8fbd4eddf..566c9e213c 100644 --- a/code/world.dm +++ b/code/world.dm @@ -16,6 +16,33 @@ /world/New() log_world("World loaded at [time_stamp()]") + SetupExternalRSC() + + GLOB.config_error_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl + + make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once) + + config = new + + SetRoundID() + + SetupLogs() + + GLOB.revdata.DownloadPRDetails() + + load_motd() + load_admins() +// load_mentors() + load_menu() + if(config.usewhitelist) + load_whitelist() + LoadBans() + + GLOB.timezoneOffset = text2num(time2text(0,"hh")) * 36000 + + Master.Initialize(10, FALSE) + +/world/proc/SetupExternalRSC() #if (PRELOAD_RSC == 0) external_rsc_urls = world.file2list("config/external_rsc_urls.txt","\n") var/i=1 @@ -25,10 +52,8 @@ else external_rsc_urls.Cut(i,i+1) #endif - GLOB.config_error_log = file("data/logs/config_error.log") //temporary file used to record errors with loading config, moved to log directory once logging is set bl - make_datum_references_lists() //initialises global lists for referencing frequently used datums (so that we only ever do it once) - config = new - GLOB.log_directory = "data/logs/[time2text(world.realtime, "YYYY/MM/DD")]/round-" + +/world/proc/SetRoundID() if(config.sql_enabled) if(SSdbcore.Connect()) log_world("Database connection established.") @@ -38,10 +63,14 @@ query_feedback_max_id.Execute() if(query_feedback_max_id.NextRow()) GLOB.round_id = query_feedback_max_id.item[1] - GLOB.log_directory += "[GLOB.round_id]" else log_world("Your server failed to establish a connection with the database.") - if(!GLOB.round_id) + +/world/proc/SetupLogs() + GLOB.log_directory = "data/logs/[time2text(world.realtime, "YYYY/MM/DD")]/round-" + if(GLOB.round_id) + GLOB.log_directory += "[GLOB.round_id]" + else GLOB.log_directory += "[replacetext(time_stamp(), ":", ".")]" GLOB.world_game_log = file("[GLOB.log_directory]/game.log") GLOB.world_attack_log = file("[GLOB.log_directory]/attack.log") @@ -54,27 +83,10 @@ if(fexists(GLOB.config_error_log)) fcopy(GLOB.config_error_log, "[GLOB.log_directory]/config_error.log") fdel(GLOB.config_error_log) - + if(GLOB.round_id) log_game("Round ID: [GLOB.round_id]") - GLOB.revdata.DownloadPRDetails() - load_mode() - load_motd() - load_admins() - load_menu() - if(config.usewhitelist) - load_whitelist() -//disabled to prevent runtimes until it's fixed -// load_mentors() - LoadBans() - - GLOB.timezoneOffset = text2num(time2text(0,"hh")) * 36000 - - GLOB.data_core = new /datum/datacore() - - Master.Initialize(10, FALSE) - #define IRC_STATUS_THROTTLE 50 /world/Topic(T, addr, master, key) if(config && config.log_world_topic) @@ -200,99 +212,21 @@ if(PRcounts[id] > PR_ANNOUNCEMENTS_PER_ROUND) return -#define CHAT_PULLR 64 //defined in preferences.dm, but not available here at compilation time + var/final_composed = "PR: [announcement]" for(var/client/C in GLOB.clients) - if(C.prefs && (C.prefs.chat_toggles & CHAT_PULLR)) - C << "PR: [announcement]" -#undef CHAT_PULLR + C.AnnouncePR(final_composed) -#define WORLD_REBOOT(X) log_world("World rebooted at [time_stamp()]"); ..(X); return; - -/world/Reboot(var/reason, var/feedback_c, var/feedback_r, var/time) - if (reason == 1) //special reboot, do none of the normal stuff +/world/Reboot(reason = 0, fast_track = FALSE) + if (reason || fast_track) //special reboot, do none of the normal stuff if (usr) log_admin("[key_name(usr)] Has requested an immediate world restart via client side debugging tools") message_admins("[key_name_admin(usr)] Has requested an immediate world restart via client side debugging tools") to_chat(world, "Rebooting World immediately due to host request") - WORLD_REBOOT(1) - var/delay - if(time) - delay = time else - delay = config.round_end_countdown * 10 - if(SSticker.delay_end) - to_chat(world, "An admin has delayed the round end.") - return - to_chat(world, "Rebooting World in [delay/10] [(delay >= 10 && delay < 20) ? "second" : "seconds"]. [reason]") - var/round_end_sound_sent = FALSE - if(SSticker.round_end_sound) - round_end_sound_sent = TRUE - for(var/thing in GLOB.clients) - var/client/C = thing - if (!C) - continue - C.Export("##action=load_rsc", SSticker.round_end_sound) - sleep(delay) - if(SSticker.delay_end) - to_chat(world, "Reboot was cancelled by an admin.") - return - OnReboot(reason, feedback_c, feedback_r, round_end_sound_sent) - WORLD_REBOOT(0) -#undef WORLD_REBOOT - -/world/proc/OnReboot(reason, feedback_c, feedback_r, round_end_sound_sent) - SSblackbox.set_details("[feedback_c]","[feedback_r]") - log_game("Rebooting World. [reason]") - SSblackbox.set_val("ahelp_unresolved", GLOB.ahelp_tickets.active_tickets.len) - Master.Shutdown() //run SS shutdowns - RoundEndAnimation(round_end_sound_sent) - kick_clients_in_lobby("The round came to an end with you in the lobby.", 1) //second parameter ensures only afk clients are kicked - to_chat(world, "Rebooting world...") - for(var/thing in GLOB.clients) - var/client/C = thing - if(C && config.server) //if you set a server location in config.txt, it sends you there instead of trying to reconnect to the same world address. -- NeoFite - C << link("byond://[config.server]") - -/world/proc/RoundEndAnimation(round_end_sound_sent) - set waitfor = FALSE - var/round_end_sound - if(SSticker.round_end_sound) - round_end_sound = SSticker.round_end_sound - if (!round_end_sound_sent) - for(var/thing in GLOB.clients) - var/client/C = thing - if (!C) - continue - C.Export("##action=load_rsc", round_end_sound) - else - round_end_sound = pick(\ - 'sound/roundend/newroundsexy.ogg', - 'sound/roundend/apcdestroyed.ogg', - 'sound/roundend/bangindonk.ogg', - 'sound/roundend/leavingtg.ogg', - 'sound/roundend/its_only_game.ogg', - 'sound/roundend/yeehaw.ogg', - 'sound/roundend/disappointed.ogg'\ - ) - - for(var/thing in GLOB.clients) - var/obj/screen/splash/S = new(thing, FALSE) - S.Fade(FALSE,FALSE) - - world << sound(round_end_sound) - -/world/proc/load_mode() - var/mode = trim(file2text("data/mode.txt")) - if(mode) - GLOB.master_mode = mode - else - GLOB.master_mode = "extended" - log_game("Saved mode is '[GLOB.master_mode]'") - -/world/proc/save_mode(the_mode) - var/F = file("data/mode.txt") - fdel(F) - F << the_mode + to_chat(world, "Rebooting world...") + Master.Shutdown() //run SS shutdowns + log_world("World rebooted at [time_stamp()]"); + ..() /world/proc/load_motd() GLOB.join_motd = file2text("config/motd.txt") + "
" + GLOB.revdata.GetTestMergeInfo() @@ -346,4 +280,4 @@ if (features) s += ": [jointext(features, ", ")]" - status = s + status = s \ No newline at end of file diff --git a/config/game_options.txt.rej b/config/game_options.txt.rej deleted file mode 100644 index bb860ac94d..0000000000 --- a/config/game_options.txt.rej +++ /dev/null @@ -1,10 +0,0 @@ -diff a/config/game_options.txt b/config/game_options.txt (rejected hunks) -@@ -482,7 +482,7 @@ Space_Budget 16 - #Must be at least 30 to not break parallax I recommended at least 55 to be visually/aurally appropriate - ARRIVALS_SHUTTLE_DOCK_WINDOW 55 - --#Set this to 1 to prevent late join players from spawning if the arrivals shuttle is depressurized -+#Uncomment to prevent late join players from spawning if the arrivals shuttle is depressurized - #ARRIVALS_SHUTTLE_REQUIRE_SAFE_LATEJOIN - - # How many wirechewing rodents you want to spawn on exposed maintenane wires at the start of the round. You may wish to set this to 0 if you're testing powernets. diff --git a/html/changelogs/AutoChangeLog-pr-1086.yml b/html/changelogs/AutoChangeLog-pr-1086.yml new file mode 100644 index 0000000000..456e844980 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1086.yml @@ -0,0 +1,5 @@ +author: "Joan" +delete-after: True +changes: + - tweak: "There is now a buffer zone between the mining base and lavaland where megafauna will not spawn." + - tweak: "Ruins will no longer spawn directly in front of the mining base." diff --git a/html/changelogs/AutoChangeLog-pr-1087.yml b/html/changelogs/AutoChangeLog-pr-1087.yml new file mode 100644 index 0000000000..c94c89bed0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1087.yml @@ -0,0 +1,4 @@ +author: "Lzimann" +delete-after: True +changes: + - rscadd: "Pandemic is now tgui!" diff --git a/html/changelogs/AutoChangeLog-pr-1091.yml b/html/changelogs/AutoChangeLog-pr-1091.yml new file mode 100644 index 0000000000..b8d5699997 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1091.yml @@ -0,0 +1,5 @@ +author: "Joan" +delete-after: True +changes: + - tweak: "Resonator fields now visually show how long they have until they burst." + - bugfix: "Hitting a legion skull with a resonator will now produce a field." diff --git a/html/changelogs/AutoChangeLog-pr-1094.yml b/html/changelogs/AutoChangeLog-pr-1094.yml new file mode 100644 index 0000000000..50058e02f3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1094.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Nanotrasen decided to remove the integrated jet engines from jetpacks. They can no longer be used successfully indoors." diff --git a/html/changelogs/AutoChangeLog-pr-1096.yml b/html/changelogs/AutoChangeLog-pr-1096.yml new file mode 100644 index 0000000000..fff14de59e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1096.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - rscadd: "The Warden's Cycler Shotgun has been replaced with a Compact Combat Shotgun. A unique weapon, it can fit in armour slots but at the sacrifice of a smaller ammo capacity of four shells." diff --git a/html/changelogs/AutoChangeLog-pr-1101.yml b/html/changelogs/AutoChangeLog-pr-1101.yml new file mode 100644 index 0000000000..f57bf23e13 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1101.yml @@ -0,0 +1,4 @@ +author: "CitadelStationBot" +delete-after: True +changes: + - bugfix: "Spessmen seems to have stopped suffering from the mental condition that makes them believe they can't move fast if they have only one leg, even if they're in space and using a jetpack!" diff --git a/html/changelogs/AutoChangeLog-pr-1109.yml b/html/changelogs/AutoChangeLog-pr-1109.yml new file mode 100644 index 0000000000..f1c4acbc0e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1109.yml @@ -0,0 +1,6 @@ +author: "Joan, Repukan" +delete-after: True +changes: + - rscadd: "Traitor miners can now buy up to 2 KA Pressure Mods for 5 TC each. +balance: KA Pressure Mods now only take up 35 mod capacity each, allowing traitor miners to use 2 and have space for 1 other mod." + - rscdel: "R&D can no longer build KA Pressure Mods." diff --git a/html/changelogs/AutoChangeLog-pr-1112.yml b/html/changelogs/AutoChangeLog-pr-1112.yml new file mode 100644 index 0000000000..dcd84158cc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1112.yml @@ -0,0 +1,4 @@ +author: "Joan" +delete-after: True +changes: + - tweak: "Ripleys will collect all ore in front of them when they move with a clamp and stored ore box." diff --git a/html/changelogs/AutoChangeLog-pr-1116.yml b/html/changelogs/AutoChangeLog-pr-1116.yml new file mode 100644 index 0000000000..d63e6e64ba --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1116.yml @@ -0,0 +1,4 @@ +author: "ma44" +delete-after: True +changes: + - rscadd: "Reports of syndicate base on lavaland has been outfitted with a state of the art donksoft toy weapon dispenser." diff --git a/html/changelogs/AutoChangeLog-pr-1117.yml b/html/changelogs/AutoChangeLog-pr-1117.yml new file mode 100644 index 0000000000..a5cdcb8039 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1117.yml @@ -0,0 +1,4 @@ +author: "Joan" +delete-after: True +changes: + - tweak: "Chasms will glow dimly, like lava." diff --git a/html/changelogs/AutoChangeLog-pr-1119.yml b/html/changelogs/AutoChangeLog-pr-1119.yml new file mode 100644 index 0000000000..e41fb408be --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1119.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - rscadd: "Auto Rifle alt ammo mags (AP, Incendiary, Uranium Tipped) now have a coloured stripe to denote them." diff --git a/html/changelogs/AutoChangeLog-pr-1121.yml b/html/changelogs/AutoChangeLog-pr-1121.yml new file mode 100644 index 0000000000..18f8cc544e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1121.yml @@ -0,0 +1,6 @@ +author: "Joan" +delete-after: True +changes: + - rscdel: "Nanotrasen has taken a lower bid for their meson suppliers, and meson scanners will no longer display terrain layouts while on the planet." + - tweak: "However, they have discovered that, with some tweaks, mineral scanners will no longer actually require you to be wearing mesons." + - tweak: "The cheaper mesons will not completely remove reliance on light." diff --git a/html/changelogs/AutoChangeLog-pr-1129.yml b/html/changelogs/AutoChangeLog-pr-1129.yml new file mode 100644 index 0000000000..695dc0b148 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1129.yml @@ -0,0 +1,4 @@ +author: "That Really Good Soda Flavor" +delete-after: True +changes: + - bugfix: "Fixed a bug where paper bins could swallow up pens into the void." diff --git a/html/changelogs/AutoChangeLog-pr-1130.yml b/html/changelogs/AutoChangeLog-pr-1130.yml new file mode 100644 index 0000000000..c7dacb5662 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1130.yml @@ -0,0 +1,10 @@ +author: "Robustin" +delete-after: True +changes: + - rscadd: "Gang influence is now decentralized, each gangster has their own influence that they can increase by spraying (and protecting) their tags and new influence-enhancing bling." + - rscadd: "Gang uniforms are now created based on your gang's color and can be purchased by any gang member. They will increase the wearer's influence and provide protection, but will make it fairly obvious which gang you belong to." + - rscadd: "Gangs have access to a new surplus rifle; it is a semi-automatic rifle that is very bulky and has a very low rate of fire. Gang members can buy this gun for just 8 influence." + - rscadd: "Gangs have access to the new machine gun turret; it unleashes a volley of bullets with an extended view range. It does not run out of ammo, but a significant delay between volleys and its stationary nature leaves the gunner vulnerable to flanking and return fire. Holding down the trigger will allow you to aim the gun while firing. It will cost gangs 50 influence." + - rscadd: "The sawn-off improvised shotgun is now available to gangs for 6 influence. With buckshot shells being easy to produce or purchase, this gun gives the most \"bang for your buck\" but its single-shell capacity will leave you vulnerable during a pitched gunfight." + - rscadd: "The Wetwork boots give gangs access to a lightly armored noslip variant." + - tweak: "The armored gang outfits are now slightly more resistant to ballistic and bomb damage" diff --git a/icons/effects/fields.dmi b/icons/effects/fields.dmi index 5eadb96a1a..f87e1f3975 100644 Binary files a/icons/effects/fields.dmi and b/icons/effects/fields.dmi differ diff --git a/icons/effects/ore_visuals.dmi b/icons/effects/ore_visuals.dmi new file mode 100644 index 0000000000..30a05b043a Binary files /dev/null and b/icons/effects/ore_visuals.dmi differ diff --git a/icons/mob/belt.dmi b/icons/mob/belt.dmi index b9ddf04153..8fbd06a23b 100644 Binary files a/icons/mob/belt.dmi and b/icons/mob/belt.dmi differ diff --git a/icons/mob/lavaland/dragon.dmi b/icons/mob/lavaland/dragon.dmi index 911d7288d1..2a5e20a671 100644 Binary files a/icons/mob/lavaland/dragon.dmi and b/icons/mob/lavaland/dragon.dmi differ diff --git a/icons/mob/lavaland/lavaland_monsters.dmi b/icons/mob/lavaland/lavaland_monsters.dmi index c45d49fdc5..7c41752024 100644 Binary files a/icons/mob/lavaland/lavaland_monsters.dmi and b/icons/mob/lavaland/lavaland_monsters.dmi differ diff --git a/icons/mob/neck.dmi b/icons/mob/neck.dmi index 53bc261686..de13308f37 100644 Binary files a/icons/mob/neck.dmi and b/icons/mob/neck.dmi differ diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi index 87d4e5ed22..33149a3e2e 100644 Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ diff --git a/icons/obj/clothing/belts.dmi b/icons/obj/clothing/belts.dmi index 263e51400a..441f334ca7 100644 Binary files a/icons/obj/clothing/belts.dmi and b/icons/obj/clothing/belts.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index fd078d775c..48f37887cf 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 7a3c416b94..c0f2d46f62 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi index 90e4ee5332..d936e41df4 100644 Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi index dfb1f4c51b..611a27e6a7 100644 Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ diff --git a/icons/obj/turrets.dmi b/icons/obj/turrets.dmi index c4077b6601..b186c3f224 100644 Binary files a/icons/obj/turrets.dmi and b/icons/obj/turrets.dmi differ diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index 8e08060f0d..c7b9bbcdc8 100644 Binary files a/icons/obj/vending.dmi and b/icons/obj/vending.dmi differ diff --git a/icons/turf/areas.dmi b/icons/turf/areas.dmi index 7ea043497e..ca1ab0794d 100644 Binary files a/icons/turf/areas.dmi and b/icons/turf/areas.dmi differ diff --git a/icons/turf/mining.dmi b/icons/turf/mining.dmi index 66c07a8146..8770f77cd9 100644 Binary files a/icons/turf/mining.dmi and b/icons/turf/mining.dmi differ diff --git a/icons/turf/smoothrocks.dmi b/icons/turf/smoothrocks.dmi index a7e9864617..ba2bbce955 100644 Binary files a/icons/turf/smoothrocks.dmi and b/icons/turf/smoothrocks.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 1d35b890da..154540e10d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -14,7 +14,6 @@ // BEGIN_INCLUDE #include "_maps\basemap.dm" -#include "_maps\loadallmaps.dm" #include "_maps\tgstation2.dm" #include "code\_compile_options.dm" #include "code\world.dm" diff --git a/tgui/assets/tgui.css.rej b/tgui/assets/tgui.css.rej deleted file mode 100644 index bc960c1251..0000000000 --- a/tgui/assets/tgui.css.rej +++ /dev/null @@ -1,6 +0,0 @@ -diff a/tgui/assets/tgui.css b/tgui/assets/tgui.css (rejected hunks) -@@ -1 +1 @@ --@charset "utf-8";body,html{box-sizing:border-box;height:100%;margin:0}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif;font-size:12px;color:#fff;background-color:#2a2a2a;background-image:linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2a2a2a',endColorstr='#ff202020',GradientType=0)}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4{display:inline-block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}body.clockwork{background:linear-gradient(180deg,#b18b25 0,#5f380e);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffb18b25',endColorstr='#ff5f380e',GradientType=0)}body.clockwork .normal{color:#b18b25}body.clockwork .good{color:#cfba47}body.clockwork .average{color:#896b19}body.clockwork .bad{color:#5f380e}body.clockwork .highlight{color:#b18b25}body.clockwork main{display:block;margin-top:32px;padding:2px 6px 0}body.clockwork hr{height:2px;background-color:#b18b25;border:none}body.clockwork .hidden{display:none}body.clockwork .bar .barText,body.clockwork span.button{color:#b18b25;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.clockwork .bold{font-weight:700}body.clockwork .italic{font-style:italic}body.clockwork [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.clockwork div[data-tooltip],body.clockwork span[data-tooltip]{position:relative}body.clockwork div[data-tooltip]:after,body.clockwork span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #170800;background-color:#2d1400}body.clockwork div[data-tooltip]:hover:after,body.clockwork span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.clockwork div[data-tooltip].tooltip-top:after,body.clockwork span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-bottom:after,body.clockwork div[data-tooltip].tooltip-top:hover:after,body.clockwork span[data-tooltip].tooltip-bottom:after,body.clockwork span[data-tooltip].tooltip-top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:after,body.clockwork span[data-tooltip].tooltip-bottom:after{top:100%;left:50%}body.clockwork div[data-tooltip].tooltip-bottom:hover:after,body.clockwork span[data-tooltip].tooltip-bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-left:after,body.clockwork span[data-tooltip].tooltip-left:after{top:50%;right:100%;-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-left:hover:after,body.clockwork div[data-tooltip].tooltip-right:after,body.clockwork span[data-tooltip].tooltip-left:hover:after,body.clockwork span[data-tooltip].tooltip-right:after{-webkit-transform:translateX(-8px) translateY(-50%);-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:after,body.clockwork span[data-tooltip].tooltip-right:after{top:50%;left:100%}body.clockwork div[data-tooltip].tooltip-right:hover:after,body.clockwork span[data-tooltip].tooltip-right:hover:after{-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #170800;background:#2d1400}body.clockwork .bar .barText{position:absolute;top:0;right:3px}body.clockwork .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#b18b25}body.clockwork .bar .barFill.good{background-color:#cfba47}body.clockwork .bar .barFill.average{background-color:#896b19}body.clockwork .bar .barFill.bad{background-color:#5f380e}body.clockwork span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #170800}body.clockwork span.button .fa{padding-right:2px}body.clockwork span.button.normal{transition:background-color .5s;background-color:#5f380e}body.clockwork span.button.normal.active:focus,body.clockwork span.button.normal.active:hover{transition:background-color .25s;background-color:#704211;outline:0}body.clockwork span.button.disabled{transition:background-color .5s;background-color:#2d1400}body.clockwork span.button.disabled.active:focus,body.clockwork span.button.disabled.active:hover{transition:background-color .25s;background-color:#441e00;outline:0}body.clockwork span.button.selected{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.selected.active:focus,body.clockwork span.button.selected.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.toggle{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.toggle.active:focus,body.clockwork span.button.toggle.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.caution{transition:background-color .5s;background-color:#be6209}body.clockwork span.button.caution.active:focus,body.clockwork span.button.caution.active:hover{transition:background-color .25s;background-color:#cd6a0a;outline:0}body.clockwork span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.clockwork span.button.danger.active:focus,body.clockwork span.button.danger.active:hover{transition:background-color .25s;background-color:#abaf00;outline:0}body.clockwork span.button.gridable{width:125px;margin:2px 0}body.clockwork span.button+span:not(.button),body.clockwork span:not(.button)+span.button{margin-left:5px}body.clockwork div.display{width:100%;padding:4px;margin:6px 0;background-color:#2d1400;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400);background-color:rgba(45,20,0,.9);box-shadow:inset 0 0 5px rgba(0,0,0,.3)}body.clockwork div.display header,body.clockwork div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#cfba47;border-bottom:2px solid #b18b25}body.clockwork div.display header .buttonRight,body.clockwork div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.clockwork div.display article,body.clockwork div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.clockwork input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#b18b25;background-color:#cfba47;border:1px solid #272727}body.clockwork input::-webkit-input-placeholder{color:#999}body.clockwork input::-moz-placeholder{color:#999}body.clockwork input:-ms-input-placeholder{color:#999}body.clockwork input::placeholder{color:#999}body.clockwork input::-ms-clear{display:none}body.clockwork svg.linegraph{overflow:hidden}body.clockwork div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#2d1400;font-weight:700;font-style:italic;background-color:#000;background-image:repeating-linear-gradient(-45deg,#000,#000 10px,#170800 0,#170800 20px)}body.clockwork div.notice .label{color:#2d1400}body.clockwork div.notice .content:only-of-type{padding:0}body.clockwork div.notice hr{background-color:#896b19}body.clockwork div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #5f380e;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.clockwork section .content,body.clockwork section .label,body.clockwork section .line,body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.clockwork section{display:table-row;width:100%}body.clockwork section:not(:first-child){padding-top:4px}body.clockwork section.candystripe:nth-child(even){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.clockwork section .label{width:1%;padding-right:32px;white-space:nowrap;color:#b18b25}body.clockwork section .content:not(:last-child){padding-right:16px}body.clockwork section .line{width:100%}body.clockwork div.subdisplay{width:100%;margin:0}body.clockwork header.titlebar .close,body.clockwork header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#cfba47}body.clockwork header.titlebar .close:hover,body.clockwork header.titlebar .minimize:hover{color:#d1bd50}body.clockwork header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#5f380e;border-bottom:1px solid #170800;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.clockwork header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.clockwork header.titlebar .title{position:absolute;top:6px;left:46px;color:#cfba47;font-size:16px;white-space:nowrap}body.clockwork header.titlebar .minimize{position:absolute;top:6px;right:46px}body.clockwork header.titlebar .close{position:absolute;top:4px;right:12px}body.nanotrasen{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCA0MjUgMjAwIiBvcGFjaXR5PSIuMzMiPgogIDxwYXRoIGQ9Im0gMTc4LjAwMzk5LDAuMDM4NjkgLTcxLjIwMzkzLDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTM0LDYuMDI1NTUgbCAwLDE4Ny44NzE0NyBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgNi43NjEzNCw2LjAyNTU0IGwgNTMuMTA3MiwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTAxLjU0NDAxOCA3Mi4yMTYyOCwxMDQuNjk5Mzk4IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA1Ljc2MDE1LDIuODcwMTYgbCA3My41NTQ4NywwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM1LC02LjAyNTU0IGwgMCwtMTg3Ljg3MTQ3IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzNSwtNi4wMjU1NSBsIC01NC43MTY0NCwwIGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNi43NjEzMyw2LjAyNTU1IGwgMCwxMDIuNjE5MzUgTCAxODMuNzY0MTMsMi45MDg4NiBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgLTUuNzYwMTQsLTIuODcwMTcgeiIgLz4KICA8cGF0aCBkPSJNIDQuODQ0NjMzMywyMi4xMDg3NSBBIDEzLjQxMjAzOSwxMi41MDE4NDIgMCAwIDEgMTMuNDc3NTg4LDAuMDM5MjQgbCA2Ni4xMTgzMTUsMCBhIDUuMzY0ODE1OCw1LjAwMDczNyAwIDAgMSA1LjM2NDgyMyw1LjAwMDczIGwgMCw3OS44NzkzMSB6IiAvPgogIDxwYXRoIGQ9Im0gNDIwLjE1NTM1LDE3Ny44OTExOSBhIDEzLjQxMjAzOCwxMi41MDE4NDIgMCAwIDEgLTguNjMyOTUsMjIuMDY5NTEgbCAtNjYuMTE4MzIsMCBhIDUuMzY0ODE1Miw1LjAwMDczNyAwIDAgMSAtNS4zNjQ4MiwtNS4wMDA3NCBsIDAsLTc5Ljg3OTMxIHoiIC8+Cjwvc3ZnPgo8IS0tIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciBhIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiAtLT4KPCEtLSBodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS1zYS80LjAvIC0tPgo=") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff2a2a2a',endColorstr='#ff202020',GradientType=0)}body.nanotrasen .normal{color:#40628a}body.nanotrasen .good{color:#537d29}body.nanotrasen .average{color:#be6209}body.nanotrasen .bad{color:#b00e0e}body.nanotrasen .highlight{color:#8ba5c4}body.nanotrasen main{display:block;margin-top:32px;padding:2px 6px 0}body.nanotrasen hr{height:2px;background-color:#40628a;border:none}body.nanotrasen .hidden{display:none}body.nanotrasen .bar .barText,body.nanotrasen span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.nanotrasen .bold{font-weight:700}body.nanotrasen .italic{font-style:italic}body.nanotrasen [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.nanotrasen div[data-tooltip],body.nanotrasen span[data-tooltip]{position:relative}body.nanotrasen div[data-tooltip]:after,body.nanotrasen span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.nanotrasen div[data-tooltip]:hover:after,body.nanotrasen span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.nanotrasen div[data-tooltip].tooltip-top:after,body.nanotrasen span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:after,body.nanotrasen div[data-tooltip].tooltip-top:hover:after,body.nanotrasen span[data-tooltip].tooltip-bottom:after,body.nanotrasen span[data-tooltip].tooltip-top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:after,body.nanotrasen span[data-tooltip].tooltip-bottom:after{top:100%;left:50%}body.nanotrasen div[data-tooltip].tooltip-bottom:hover:after,body.nanotrasen span[data-tooltip].tooltip-bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-left:after,body.nanotrasen span[data-tooltip].tooltip-left:after{top:50%;right:100%;-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-left:hover:after,body.nanotrasen div[data-tooltip].tooltip-right:after,body.nanotrasen span[data-tooltip].tooltip-left:hover:after,body.nanotrasen span[data-tooltip].tooltip-right:after{-webkit-transform:translateX(-8px) translateY(-50%);-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:after,body.nanotrasen span[data-tooltip].tooltip-right:after{top:50%;left:100%}body.nanotrasen div[data-tooltip].tooltip-right:hover:after,body.nanotrasen span[data-tooltip].tooltip-right:hover:after{-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #40628a;background:#272727}body.nanotrasen .bar .barText{position:absolute;top:0;right:3px}body.nanotrasen .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#40628a}body.nanotrasen .bar .barFill.good{background-color:#537d29}body.nanotrasen .bar .barFill.average{background-color:#be6209}body.nanotrasen .bar .barFill.bad{background-color:#b00e0e}body.nanotrasen span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.nanotrasen span.button .fa{padding-right:2px}body.nanotrasen span.button.normal{transition:background-color .5s;background-color:#40628a}body.nanotrasen span.button.normal.active:focus,body.nanotrasen span.button.normal.active:hover{transition:background-color .25s;background-color:#4f78aa;outline:0}body.nanotrasen span.button.disabled{transition:background-color .5s;background-color:#999}body.nanotrasen span.button.disabled.active:focus,body.nanotrasen span.button.disabled.active:hover{transition:background-color .25s;background-color:#a8a8a8;outline:0}body.nanotrasen span.button.selected{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.selected.active:focus,body.nanotrasen span.button.selected.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.toggle{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.toggle.active:focus,body.nanotrasen span.button.toggle.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.caution{transition:background-color .5s;background-color:#9a9d00}body.nanotrasen span.button.caution.active:focus,body.nanotrasen span.button.caution.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.nanotrasen span.button.danger{transition:background-color .5s;background-color:#9d0808}body.nanotrasen span.button.danger.active:focus,body.nanotrasen span.button.danger.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.nanotrasen span.button.gridable{width:125px;margin:2px 0}body.nanotrasen span.button+span:not(.button),body.nanotrasen span:not(.button)+span.button{margin-left:5px}body.nanotrasen div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000);background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5)}body.nanotrasen div.display header,body.nanotrasen div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #40628a}body.nanotrasen div.display header .buttonRight,body.nanotrasen div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.nanotrasen div.display article,body.nanotrasen div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.nanotrasen input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#000;background-color:#fff;border:1px solid #272727}body.nanotrasen input::-webkit-input-placeholder{color:#999}body.nanotrasen input::-moz-placeholder{color:#999}body.nanotrasen input:-ms-input-placeholder{color:#999}body.nanotrasen input::placeholder{color:#999}body.nanotrasen input::-ms-clear{display:none}body.nanotrasen svg.linegraph{overflow:hidden}body.nanotrasen div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}body.nanotrasen div.notice .label{color:#000}body.nanotrasen div.notice .content:only-of-type{padding:0}body.nanotrasen div.notice hr{background-color:#272727}body.nanotrasen div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.nanotrasen section{display:table-row;width:100%}body.nanotrasen section:not(:first-child){padding-top:4px}body.nanotrasen section.candystripe:nth-child(even){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.nanotrasen section .label{width:1%;padding-right:32px;white-space:nowrap;color:#8ba5c4}body.nanotrasen section .content:not(:last-child){padding-right:16px}body.nanotrasen section .line{width:100%}body.nanotrasen div.subdisplay{width:100%;margin:0}body.nanotrasen header.titlebar .close,body.nanotrasen header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#8ba5c4}body.nanotrasen header.titlebar .close:hover,body.nanotrasen header.titlebar .minimize:hover{color:#9cb2cd}body.nanotrasen header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.nanotrasen header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.nanotrasen header.titlebar .title{position:absolute;top:6px;left:46px;color:#8ba5c4;font-size:16px;white-space:nowrap}body.nanotrasen header.titlebar .minimize{position:absolute;top:6px;right:46px}body.nanotrasen header.titlebar .close{position:absolute;top:4px;right:12px}body.syndicate{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjAiIHZpZXdCb3g9IjAgMCAyMDAgMjg5Ljc0MiIgb3BhY2l0eT0iLjMzIj4KICA8cGF0aCBkPSJtIDkzLjUzNzY3NywwIGMgLTE4LjExMzEyNSwwIC0zNC4yMjAxMzMsMy4xMTE2NCAtNDguMzIzNDg0LDkuMzM0MzcgLTEzLjk2NTA5Miw2LjIyMTY3IC0yNC42MTI0NDIsMTUuMDcxMTQgLTMxLjk0MDY1MSwyNi41NDcxIC03LjE4OTkzOTgsMTEuMzM3ODkgLTEwLjMwMTIyNjYsMjQuNzQ5MTEgLTEwLjMwMTIyNjYsNDAuMjM0NzggMCwxMC42NDY2MiAyLjcyNTAwMjYsMjAuNDY0NjUgOC4xNzUxMTE2LDI5LjQ1MjU4IDUuNjE1Mjc3LDguOTg2ODYgMTQuMDM4Mjc3LDE3LjM1MjA0IDI1LjI2ODgyMSwyNS4wOTQzNiAxMS4yMzA1NDQsNy42MDUzMSAyNi41MDc0MjEsMTUuNDE4MzUgNDUuODMwNTE0LDIzLjQzNzgyIDE5Ljk4Mzc0OCw4LjI5NTU3IDM0Ljg0ODg0OCwxNS41NTQ3MSA0NC41OTI5OTgsMjEuNzc2MzggOS43NDQxNCw2LjIyMjczIDE2Ljc2MTcsMTIuODU4NSAyMS4wNTU3MiwxOS45MDk1MSA0LjI5NDA0LDcuMDUyMDggNi40NDE5MywxNS43NjQwOCA2LjQ0MTkzLDI2LjEzNDU5IDAsMTYuMTc3MDIgLTUuMjAxOTYsMjguNDgyMjIgLTE1LjYwNjczLDM2LjkxNjgyIC0xMC4yMzk2LDguNDM0NyAtMjUuMDIyMDMsMTIuNjUyMyAtNDQuMzQ1MTY5LDEyLjY1MjMgLTE0LjAzODE3MSwwIC0yNS41MTUyNDcsLTEuNjU5NCAtMzQuNDMzNjE4LC00Ljk3NzcgLTguOTE4MzcsLTMuNDU2NiAtMTYuMTg1NTcyLC04LjcxMTMgLTIxLjgwMDgzOSwtMTUuNzYzMyAtNS42MTUyNzcsLTcuMDUyMSAtMTAuMDc0Nzk1LC0xNi42NjA4OCAtMTMuMzc3ODk5LC0yOC44MjgxMiBsIC0yNC43NzMxNjI2MjkzOTQ1LDAgMCw1Ni44MjYzMiBDIDMzLjg1Njc2OSwyODYuMDc2MDEgNjMuNzQ5MDQsMjg5Ljc0MjAxIDg5LjY3ODM4MywyODkuNzQyMDEgYyAxNi4wMjAwMjcsMCAzMC43MTk3ODcsLTEuMzgyNyA0NC4wOTczMzcsLTQuMTQ3OSAxMy41NDI3MiwtMi45MDQzIDI1LjEwNDEsLTcuNDY3NiAzNC42ODMwOSwtMTMuNjg5MyA5Ljc0NDEzLC02LjM1OTcgMTcuMzQwNDIsLTE0LjUxOTUgMjIuNzkwNTIsLTI0LjQ3NDggNS40NTAxLC0xMC4wOTMzMiA4LjE3NTExLC0yMi4zOTk1OSA4LjE3NTExLC0zNi45MTY4MiAwLC0xMi45OTc2NCAtMy4zMDIxLC0yNC4zMzUzOSAtOS45MDgyOSwtMzQuMDE0NiAtNi40NDEwNSwtOS44MTcyNSAtMTUuNTI1NDUsLTE4LjUyNzA3IC0yNy4yNTE0NiwtMjYuMTMxMzMgLTExLjU2MDg1LC03LjYwNDI3IC0yNy45MTA4MywtMTUuODMxNDIgLTQ5LjA1MDY2LC0yNC42ODAyMiAtMTcuNTA2NDQsLTcuMTkwMTIgLTMwLjcxOTY2OCwtMTMuNjg5NDggLTM5LjYzODAzOCwtMTkuNDk3MDEgLTguOTE4MzcxLC01LjgwNzUyIC0xOC42MDc0NzQsLTEyLjQzNDA5IC0yNC4wOTY1MjQsLTE4Ljg3NDE3IC01LjQyNjA0MywtNi4zNjYxNiAtOS42NTg4MjYsLTE1LjA3MDAzIC05LjY1ODgyNiwtMjQuODg3MjkgMCwtOS4yNjQwMSAyLjA3NTQxNCwtMTcuMjEzNDUgNi4yMjM0NTQsLTIzLjg1MDMzIDExLjA5ODI5OCwtMTQuMzk3NDggNDEuMjg2NjM4LC0xLjc5NTA3IDQ1LjA3NTYwOSwyNC4zNDc2MiA0LjgzOTM5Miw2Ljc3NDkxIDguODQ5MzUsMTYuMjQ3MjkgMTIuMDI5NTE1LDI4LjQxNTYgbCAyMC41MzIzNCwwIDAsLTU1Ljk5OTY3IGMgLTQuNDc4MjUsLTUuOTI0NDggLTkuOTU0ODgsLTEwLjYzMjIyIC0xNS45MDgzNywtMTQuMzc0MTEgMS42NDA1NSwwLjQ3OTA1IDMuMTkwMzksMS4wMjM3NiA0LjYzODY1LDEuNjQwMjQgNi40OTg2MSwyLjYyNjA3IDEyLjE2NzkzLDcuMzI3NDcgMTcuMDA3MywxNC4xMDM0NSA0LjgzOTM5LDYuNzc0OTEgOC44NDkzNSwxNi4yNDU2NyAxMi4wMjk1MiwyOC40MTM5NyAwLDAgOC40ODEyOCwtMC4xMjg5NCA4LjQ4OTc4LC0wLjAwMiAwLjQxNzc2LDYuNDE0OTQgLTEuNzUzMzksOS40NTI4NiAtNC4xMjM0MiwxMi41NjEwNCAtMi40MTc0LDMuMTY5NzggLTUuMTQ0ODYsNi43ODk3MyAtNC4wMDI3OCwxMy4wMDI5IDEuNTA3ODYsOC4yMDMxOCAxMC4xODM1NCwxMC41OTY0MiAxNC42MjE5NCw5LjMxMTU0IC0zLjMxODQyLC0wLjQ5OTExIC01LjMxODU1LC0xLjc0OTQ4IC01LjMxODU1LC0xLjc0OTQ4IDAsMCAxLjg3NjQ2LDAuOTk4NjggNS42NTExNywtMS4zNTk4MSAtMy4yNzY5NSwwLjk1NTcxIC0xMC43MDUyOSwtMC43OTczOCAtMTEuODAxMjUsLTYuNzYzMTMgLTAuOTU3NTIsLTUuMjA4NjEgMC45NDY1NCwtNy4yOTUxNCAzLjQwMTEzLC0xMC41MTQ4MiAyLjQ1NDYyLC0zLjIxOTY4IDUuMjg0MjYsLTYuOTU4MzEgNC42ODQzLC0xNC40ODgyNCBsIDAuMDAzLDAuMDAyIDguOTI2NzYsMCAwLC01NS45OTk2NyBjIC0xNS4wNzEyNSwtMy44NzE2OCAtMjcuNjUzMTQsLTYuMzYwNDIgLTM3Ljc0NjcxLC03LjQ2NTg2IC05Ljk1NTMxLC0xLjEwNzU1IC0yMC4xODgyMywtMS42NTk4MSAtMzAuNjk2NjEzLC0xLjY1OTgxIHogbSA3MC4zMjE2MDMsMTcuMzA4OTMgMC4yMzgwNSw0MC4zMDQ5IGMgMS4zMTgwOCwxLjIyNjY2IDIuNDM5NjUsMi4yNzgxNSAzLjM0MDgxLDMuMTA2MDIgNC44MzkzOSw2Ljc3NDkxIDguODQ5MzQsMTYuMjQ1NjYgMTIuMDI5NTEsMjguNDEzOTcgbCAyMC41MzIzNCwwIDAsLTU1Ljk5OTY3IGMgLTYuNjc3MzEsLTQuNTkzODEgLTE5LjgzNjQzLC0xMC40NzMwOSAtMzYuMTQwNzEsLTE1LjgyNTIyIHogbSAtMjguMTIwNDksNS42MDU1MSA4LjU2NDc5LDE3LjcxNjU1IGMgLTExLjk3MDM3LC02LjQ2Njk3IC0xMy44NDY3OCwtOS43MTcyNiAtOC41NjQ3OSwtMTcuNzE2NTUgeiBtIDIyLjc5NzA1LDAgYyAyLjc3MTUsNy45OTkyOSAxLjc4NzQxLDExLjI0OTU4IC00LjQ5MzU0LDE3LjcxNjU1IGwgNC40OTM1NCwtMTcuNzE2NTUgeiBtIDE1LjIyMTk1LDI0LjAwODQ4IDguNTY0NzksMTcuNzE2NTUgYyAtMTEuOTcwMzgsLTYuNDY2OTcgLTEzLjg0Njc5LC05LjcxNzI2IC04LjU2NDc5LC0xNy43MTY1NSB6IG0gMjIuNzk3MDQsMCBjIDIuNzcxNSw3Ljk5OTI5IDEuNzg3NDEsMTEuMjQ5NTggLTQuNDkzNTQsMTcuNzE2NTUgbCA0LjQ5MzU0LC0xNy43MTY1NSB6IG0gLTk5LjExMzg0LDIuMjA3NjQgOC41NjQ3OSwxNy43MTY1NSBjIC0xMS45NzAzODIsLTYuNDY2OTcgLTEzLjg0Njc4MiwtOS43MTcyNiAtOC41NjQ3OSwtMTcuNzE2NTUgeiBtIDIyLjc5NTQyLDAgYyAyLjc3MTUsNy45OTkyOSAxLjc4NzQxLDExLjI0OTU4IC00LjQ5MzU0LDE3LjcxNjU1IGwgNC40OTM1NCwtMTcuNzE2NTUgeiIgLz4KPC9zdmc+CjwhLS0gVGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIGEgQ3JlYXRpdmUgQ29tbW9ucyBBdHRyaWJ1dGlvbi1TaGFyZUFsaWtlIDQuMCBJbnRlcm5hdGlvbmFsIExpY2Vuc2UuIC0tPgo8IS0tIGh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LXNhLzQuMC8gLS0+Cg==") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#750000 0,#340404);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff750000',endColorstr='#ff340404',GradientType=0)}body.syndicate .normal{color:#40628a}body.syndicate .good{color:#73e573}body.syndicate .average{color:#be6209}body.syndicate .bad{color:#b00e0e}body.syndicate .highlight{color:#000}body.syndicate main{display:block;margin-top:32px;padding:2px 6px 0}body.syndicate hr{height:2px;background-color:#272727;border:none}body.syndicate .hidden{display:none}body.syndicate .bar .barText,body.syndicate span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.syndicate .bold{font-weight:700}body.syndicate .italic{font-style:italic}body.syndicate [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.syndicate div[data-tooltip],body.syndicate span[data-tooltip]{position:relative}body.syndicate div[data-tooltip]:after,body.syndicate span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-webkit-transform:translateX(-50%);-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.syndicate div[data-tooltip]:hover:after,body.syndicate span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.syndicate div[data-tooltip].tooltip-top:after,body.syndicate span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-bottom:after,body.syndicate div[data-tooltip].tooltip-top:hover:after,body.syndicate span[data-tooltip].tooltip-bottom:after,body.syndicate span[data-tooltip].tooltip-top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:after,body.syndicate span[data-tooltip].tooltip-bottom:after{top:100%;left:50%}body.syndicate div[data-tooltip].tooltip-bottom:hover:after,body.syndicate span[data-tooltip].tooltip-bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-left:after,body.syndicate span[data-tooltip].tooltip-left:after{top:50%;right:100%;-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-left:hover:after,body.syndicate div[data-tooltip].tooltip-right:after,body.syndicate span[data-tooltip].tooltip-left:hover:after,body.syndicate span[data-tooltip].tooltip-right:after{-webkit-transform:translateX(-8px) translateY(-50%);-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:after,body.syndicate span[data-tooltip].tooltip-right:after{top:50%;left:100%}body.syndicate div[data-tooltip].tooltip-right:hover:after,body.syndicate span[data-tooltip].tooltip-right:hover:after{-webkit-transform:translateX(8px) translateY(-50%);-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #000;background:#272727}body.syndicate .bar .barText{position:absolute;top:0;right:3px}body.syndicate .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#000}body.syndicate .bar .barFill.good{background-color:#73e573}body.syndicate .bar .barFill.average{background-color:#be6209}body.syndicate .bar .barFill.bad{background-color:#b00e0e}body.syndicate span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.syndicate span.button .fa{padding-right:2px}body.syndicate span.button.normal{transition:background-color .5s;background-color:#397439}body.syndicate span.button.normal.active:focus,body.syndicate span.button.normal.active:hover{transition:background-color .25s;background-color:#4a964a;outline:0}body.syndicate span.button.disabled{transition:background-color .5s;background-color:#363636}body.syndicate span.button.disabled.active:focus,body.syndicate span.button.disabled.active:hover{transition:background-color .25s;background-color:#545454;outline:0}body.syndicate span.button.selected{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.selected.active:focus,body.syndicate span.button.selected.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.toggle{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.toggle.active:focus,body.syndicate span.button.toggle.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.caution{transition:background-color .5s;background-color:#be6209}body.syndicate span.button.caution.active:focus,body.syndicate span.button.caution.active:hover{transition:background-color .25s;background-color:#eb790b;outline:0}body.syndicate span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.syndicate span.button.danger.active:focus,body.syndicate span.button.danger.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.syndicate span.button.gridable{width:125px;margin:2px 0}body.syndicate span.button+span:not(.button),body.syndicate span:not(.button)+span.button{margin-left:5px}body.syndicate div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000);background-color:rgba(0,0,0,.5);box-shadow:inset 0 0 5px rgba(0,0,0,.75)}body.syndicate div.display header,body.syndicate div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #272727}body.syndicate div.display header .buttonRight,body.syndicate div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.syndicate div.display article,body.syndicate div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.syndicate input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#fff;background-color:#9d0808;border:1px solid #272727}body.syndicate input::-webkit-input-placeholder{color:#999}body.syndicate input::-moz-placeholder{color:#999}body.syndicate input:-ms-input-placeholder{color:#999}body.syndicate input::placeholder{color:#999}body.syndicate input::-ms-clear{display:none}body.syndicate svg.linegraph{overflow:hidden}body.syndicate div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}body.syndicate div.notice .label{color:#000}body.syndicate div.notice .content:only-of-type{padding:0}body.syndicate div.notice hr{background-color:#272727}body.syndicate div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-webkit-transform:rotate(1turn);-ms-transform:rotate(1turn);transform:rotate(1turn)}body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.syndicate section{display:table-row;width:100%}body.syndicate section:not(:first-child){padding-top:4px}body.syndicate section.candystripe:nth-child(even){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.syndicate section .label{width:1%;padding-right:32px;white-space:nowrap;color:#fff}body.syndicate section .content:not(:last-child){padding-right:16px}body.syndicate section .line{width:100%}body.syndicate div.subdisplay{width:100%;margin:0}body.syndicate header.titlebar .close,body.syndicate header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#e74242}body.syndicate header.titlebar .close:hover,body.syndicate header.titlebar .minimize:hover{color:#eb5e5e}body.syndicate header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.syndicate header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.syndicate header.titlebar .title{position:absolute;top:6px;left:46px;color:#e74242;font-size:16px;white-space:nowrap}body.syndicate header.titlebar .minimize{position:absolute;top:6px;right:46px}body.syndicate header.titlebar .close{position:absolute;top:4px;right:12px}.no-icons header.titlebar .statusicon{font-size:20px}.no-icons header.titlebar .statusicon:after{content:"O"}.no-icons header.titlebar .minimize{top:-2px;font-size:20px}.no-icons header.titlebar .minimize:after{content:"—"}.no-icons header.titlebar .close{font-size:20px}.no-icons header.titlebar .close:after{content:"X"} -\ No newline at end of file -+@charset "utf-8";body,html{box-sizing:border-box;height:100%;margin:0}html{overflow:hidden;cursor:default}body{overflow:auto;font-family:Verdana,Geneva,sans-serif;font-size:12px;color:#fff;background-color:#2a2a2a;background-image:linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff2a2a2a",endColorstr="#ff202020",GradientType=0)}*,:after,:before{box-sizing:inherit}h1,h2,h3,h4{display:inline-block;margin:0;padding:6px 0}h1{font-size:18px}h2{font-size:16px}h3{font-size:14px}h4{font-size:12px}body.clockwork{background:linear-gradient(180deg,#b18b25 0,#5f380e);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffb18b25",endColorstr="#ff5f380e",GradientType=0)}body.clockwork .normal{color:#b18b25}body.clockwork .good{color:#cfba47}body.clockwork .average{color:#896b19}body.clockwork .bad{color:#5f380e}body.clockwork .highlight{color:#b18b25}body.clockwork main{display:block;margin-top:32px;padding:2px 6px 0}body.clockwork hr{height:2px;background-color:#b18b25;border:none}body.clockwork .hidden{display:none}body.clockwork .bar .barText,body.clockwork span.button{color:#b18b25;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.clockwork .bold{font-weight:700}body.clockwork .italic{font-style:italic}body.clockwork [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.clockwork div[data-tooltip],body.clockwork span[data-tooltip]{position:relative}body.clockwork div[data-tooltip]:after,body.clockwork span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #170800;background-color:#2d1400}body.clockwork div[data-tooltip]:hover:after,body.clockwork span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.clockwork div[data-tooltip].tooltip-top:after,body.clockwork span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-top:hover:after,body.clockwork span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:after,body.clockwork span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.clockwork div[data-tooltip].tooltip-bottom:hover:after,body.clockwork span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.clockwork div[data-tooltip].tooltip-left:after,body.clockwork span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-left:hover:after,body.clockwork span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:after,body.clockwork span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.clockwork div[data-tooltip].tooltip-right:hover:after,body.clockwork span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.clockwork .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #170800;background:#2d1400}body.clockwork .bar .barText{position:absolute;top:0;right:3px}body.clockwork .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#b18b25}body.clockwork .bar .barFill.good{background-color:#cfba47}body.clockwork .bar .barFill.average{background-color:#896b19}body.clockwork .bar .barFill.bad{background-color:#5f380e}body.clockwork span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #170800}body.clockwork span.button .fa{padding-right:2px}body.clockwork span.button.normal{transition:background-color .5s;background-color:#5f380e}body.clockwork span.button.normal.active:focus,body.clockwork span.button.normal.active:hover{transition:background-color .25s;background-color:#704211;outline:0}body.clockwork span.button.disabled{transition:background-color .5s;background-color:#2d1400}body.clockwork span.button.disabled.active:focus,body.clockwork span.button.disabled.active:hover{transition:background-color .25s;background-color:#441e00;outline:0}body.clockwork span.button.selected{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.selected.active:focus,body.clockwork span.button.selected.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.toggle{transition:background-color .5s;background-color:#cfba47}body.clockwork span.button.toggle.active:focus,body.clockwork span.button.toggle.active:hover{transition:background-color .25s;background-color:#d1bd50;outline:0}body.clockwork span.button.caution{transition:background-color .5s;background-color:#be6209}body.clockwork span.button.caution.active:focus,body.clockwork span.button.caution.active:hover{transition:background-color .25s;background-color:#cd6a0a;outline:0}body.clockwork span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.clockwork span.button.danger.active:focus,body.clockwork span.button.danger.active:hover{transition:background-color .25s;background-color:#abaf00;outline:0}body.clockwork span.button.gridable{width:125px;margin:2px 0}body.clockwork span.button+span:not(.button),body.clockwork span:not(.button)+span.button{margin-left:5px}body.clockwork div.display{width:100%;padding:4px;margin:6px 0;background-color:#2d1400;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#e62d1400,endColorStr=#e62d1400);background-color:rgba(45,20,0,.9);box-shadow:inset 0 0 5px rgba(0,0,0,.3)}body.clockwork div.display header,body.clockwork div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#cfba47;border-bottom:2px solid #b18b25}body.clockwork div.display header .buttonRight,body.clockwork div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.clockwork div.display article,body.clockwork div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.clockwork input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#b18b25;background-color:#cfba47;border:1px solid #272727}body.clockwork input::-webkit-input-placeholder{color:#999}body.clockwork input:-ms-input-placeholder{color:#999}body.clockwork input::placeholder{color:#999}body.clockwork input::-ms-clear{display:none}body.clockwork svg.linegraph{overflow:hidden}body.clockwork div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#2d1400;font-weight:700;font-style:italic;background-color:#000;background-image:repeating-linear-gradient(-45deg,#000,#000 10px,#170800 0,#170800 20px)}body.clockwork div.notice .label{color:#2d1400}body.clockwork div.notice .content:only-of-type{padding:0}body.clockwork div.notice hr{background-color:#896b19}body.clockwork div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #5f380e;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.clockwork section .content,body.clockwork section .label,body.clockwork section .line,body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.clockwork section{display:table-row;width:100%}body.clockwork section:not(:first-child){padding-top:4px}body.clockwork section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.clockwork section .label{width:1%;padding-right:32px;white-space:nowrap;color:#b18b25}body.clockwork section .content:not(:last-child){padding-right:16px}body.clockwork section .line{width:100%}body.clockwork div.subdisplay{width:100%;margin:0}body.clockwork header.titlebar .close,body.clockwork header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#cfba47}body.clockwork header.titlebar .close:hover,body.clockwork header.titlebar .minimize:hover{color:#d1bd50}body.clockwork header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#5f380e;border-bottom:1px solid #170800;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.clockwork header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.clockwork header.titlebar .title{position:absolute;top:6px;left:46px;color:#cfba47;font-size:16px;white-space:nowrap}body.clockwork header.titlebar .minimize{position:absolute;top:6px;right:46px}body.clockwork header.titlebar .close{position:absolute;top:4px;right:12px}body.nanotrasen{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4wIiB2aWV3Qm94PSIwIDAgNDI1IDIwMCIgb3BhY2l0eT0iLjMzIj4NCiAgPHBhdGggZD0ibSAxNzguMDAzOTksMC4wMzg2OSAtNzEuMjAzOTMsMCBhIDYuNzYxMzQyMiw2LjAyNTU0OTUgMCAwIDAgLTYuNzYxMzQsNi4wMjU1NSBsIDAsMTg3Ljg3MTQ3IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCA2Ljc2MTM0LDYuMDI1NTQgbCA1My4xMDcyLDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIDYuNzYxMzUsLTYuMDI1NTQgbCAwLC0xMDEuNTQ0MDE4IDcyLjIxNjI4LDEwNC42OTkzOTggYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIDUuNzYwMTUsMi44NzAxNiBsIDczLjU1NDg3LDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIDYuNzYxMzUsLTYuMDI1NTQgbCAwLC0xODcuODcxNDcgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTM1LC02LjAyNTU1IGwgLTU0LjcxNjQ0LDAgYSA2Ljc2MTM0MjIsNi4wMjU1NDk1IDAgMCAwIC02Ljc2MTMzLDYuMDI1NTUgbCAwLDEwMi42MTkzNSBMIDE4My43NjQxMywyLjkwODg2IGEgNi43NjEzNDIyLDYuMDI1NTQ5NSAwIDAgMCAtNS43NjAxNCwtMi44NzAxNyB6IiAvPg0KICA8cGF0aCBkPSJNIDQuODQ0NjMzMywyMi4xMDg3NSBBIDEzLjQxMjAzOSwxMi41MDE4NDIgMCAwIDEgMTMuNDc3NTg4LDAuMDM5MjQgbCA2Ni4xMTgzMTUsMCBhIDUuMzY0ODE1OCw1LjAwMDczNyAwIDAgMSA1LjM2NDgyMyw1LjAwMDczIGwgMCw3OS44NzkzMSB6IiAvPg0KICA8cGF0aCBkPSJtIDQyMC4xNTUzNSwxNzcuODkxMTkgYSAxMy40MTIwMzgsMTIuNTAxODQyIDAgMCAxIC04LjYzMjk1LDIyLjA2OTUxIGwgLTY2LjExODMyLDAgYSA1LjM2NDgxNTIsNS4wMDA3MzcgMCAwIDEgLTUuMzY0ODIsLTUuMDAwNzQgbCAwLC03OS44NzkzMSB6IiAvPg0KPC9zdmc+DQo8IS0tIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciBhIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiAtLT4NCjwhLS0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvNC4wLyAtLT4NCg==") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#2a2a2a 0,#202020);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff2a2a2a",endColorstr="#ff202020",GradientType=0)}body.nanotrasen .normal{color:#40628a}body.nanotrasen .good{color:#537d29}body.nanotrasen .average{color:#be6209}body.nanotrasen .bad{color:#b00e0e}body.nanotrasen .highlight{color:#8ba5c4}body.nanotrasen main{display:block;margin-top:32px;padding:2px 6px 0}body.nanotrasen hr{height:2px;background-color:#40628a;border:none}body.nanotrasen .hidden{display:none}body.nanotrasen .bar .barText,body.nanotrasen span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.nanotrasen .bold{font-weight:700}body.nanotrasen .italic{font-style:italic}body.nanotrasen [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.nanotrasen div[data-tooltip],body.nanotrasen span[data-tooltip]{position:relative}body.nanotrasen div[data-tooltip]:after,body.nanotrasen span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.nanotrasen div[data-tooltip]:hover:after,body.nanotrasen span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.nanotrasen div[data-tooltip].tooltip-top:after,body.nanotrasen span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-top:hover:after,body.nanotrasen span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:after,body.nanotrasen span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.nanotrasen div[data-tooltip].tooltip-bottom:hover:after,body.nanotrasen span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.nanotrasen div[data-tooltip].tooltip-left:after,body.nanotrasen span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-left:hover:after,body.nanotrasen span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:after,body.nanotrasen span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.nanotrasen div[data-tooltip].tooltip-right:hover:after,body.nanotrasen span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.nanotrasen .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #40628a;background:#272727}body.nanotrasen .bar .barText{position:absolute;top:0;right:3px}body.nanotrasen .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#40628a}body.nanotrasen .bar .barFill.good{background-color:#537d29}body.nanotrasen .bar .barFill.average{background-color:#be6209}body.nanotrasen .bar .barFill.bad{background-color:#b00e0e}body.nanotrasen span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.nanotrasen span.button .fa{padding-right:2px}body.nanotrasen span.button.normal{transition:background-color .5s;background-color:#40628a}body.nanotrasen span.button.normal.active:focus,body.nanotrasen span.button.normal.active:hover{transition:background-color .25s;background-color:#4f78aa;outline:0}body.nanotrasen span.button.disabled{transition:background-color .5s;background-color:#999}body.nanotrasen span.button.disabled.active:focus,body.nanotrasen span.button.disabled.active:hover{transition:background-color .25s;background-color:#a8a8a8;outline:0}body.nanotrasen span.button.selected{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.selected.active:focus,body.nanotrasen span.button.selected.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.toggle{transition:background-color .5s;background-color:#2f943c}body.nanotrasen span.button.toggle.active:focus,body.nanotrasen span.button.toggle.active:hover{transition:background-color .25s;background-color:#3ab84b;outline:0}body.nanotrasen span.button.caution{transition:background-color .5s;background-color:#9a9d00}body.nanotrasen span.button.caution.active:focus,body.nanotrasen span.button.caution.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.nanotrasen span.button.danger{transition:background-color .5s;background-color:#9d0808}body.nanotrasen span.button.danger.active:focus,body.nanotrasen span.button.danger.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.nanotrasen span.button.gridable{width:125px;margin:2px 0}body.nanotrasen span.button+span:not(.button),body.nanotrasen span:not(.button)+span.button{margin-left:5px}body.nanotrasen div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#54000000,endColorStr=#54000000);background-color:rgba(0,0,0,.33);box-shadow:inset 0 0 5px rgba(0,0,0,.5)}body.nanotrasen div.display header,body.nanotrasen div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #40628a}body.nanotrasen div.display header .buttonRight,body.nanotrasen div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.nanotrasen div.display article,body.nanotrasen div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.nanotrasen input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#000;background-color:#fff;border:1px solid #272727}body.nanotrasen input::-webkit-input-placeholder{color:#999}body.nanotrasen input:-ms-input-placeholder{color:#999}body.nanotrasen input::placeholder{color:#999}body.nanotrasen input::-ms-clear{display:none}body.nanotrasen svg.linegraph{overflow:hidden}body.nanotrasen div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#bb9b68;background-image:repeating-linear-gradient(-45deg,#bb9b68,#bb9b68 10px,#b1905d 0,#b1905d 20px)}body.nanotrasen div.notice .label{color:#000}body.nanotrasen div.notice .content:only-of-type{padding:0}body.nanotrasen div.notice hr{background-color:#272727}body.nanotrasen div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.nanotrasen section .content,body.nanotrasen section .label,body.nanotrasen section .line,body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.nanotrasen section{display:table-row;width:100%}body.nanotrasen section:not(:first-child){padding-top:4px}body.nanotrasen section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.nanotrasen section .label{width:1%;padding-right:32px;white-space:nowrap;color:#8ba5c4}body.nanotrasen section .content:not(:last-child){padding-right:16px}body.nanotrasen section .line{width:100%}body.nanotrasen div.subdisplay{width:100%;margin:0}body.nanotrasen header.titlebar .close,body.nanotrasen header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#8ba5c4}body.nanotrasen header.titlebar .close:hover,body.nanotrasen header.titlebar .minimize:hover{color:#9cb2cd}body.nanotrasen header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.nanotrasen header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.nanotrasen header.titlebar .title{position:absolute;top:6px;left:46px;color:#8ba5c4;font-size:16px;white-space:nowrap}body.nanotrasen header.titlebar .minimize{position:absolute;top:6px;right:46px}body.nanotrasen header.titlebar .close{position:absolute;top:4px;right:12px}body.syndicate{background:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmVyc2lvbj0iMS4wIiB2aWV3Qm94PSIwIDAgMjAwIDI4OS43NDIiIG9wYWNpdHk9Ii4zMyI+DQogIDxwYXRoIGQ9Im0gOTMuNTM3Njc3LDAgYyAtMTguMTEzMTI1LDAgLTM0LjIyMDEzMywzLjExMTY0IC00OC4zMjM0ODQsOS4zMzQzNyAtMTMuOTY1MDkyLDYuMjIxNjcgLTI0LjYxMjQ0MiwxNS4wNzExNCAtMzEuOTQwNjUxLDI2LjU0NzEgLTcuMTg5OTM5OCwxMS4zMzc4OSAtMTAuMzAxMjI2NiwyNC43NDkxMSAtMTAuMzAxMjI2Niw0MC4yMzQ3OCAwLDEwLjY0NjYyIDIuNzI1MDAyNiwyMC40NjQ2NSA4LjE3NTExMTYsMjkuNDUyNTggNS42MTUyNzcsOC45ODY4NiAxNC4wMzgyNzcsMTcuMzUyMDQgMjUuMjY4ODIxLDI1LjA5NDM2IDExLjIzMDU0NCw3LjYwNTMxIDI2LjUwNzQyMSwxNS40MTgzNSA0NS44MzA1MTQsMjMuNDM3ODIgMTkuOTgzNzQ4LDguMjk1NTcgMzQuODQ4ODQ4LDE1LjU1NDcxIDQ0LjU5Mjk5OCwyMS43NzYzOCA5Ljc0NDE0LDYuMjIyNzMgMTYuNzYxNywxMi44NTg1IDIxLjA1NTcyLDE5LjkwOTUxIDQuMjk0MDQsNy4wNTIwOCA2LjQ0MTkzLDE1Ljc2NDA4IDYuNDQxOTMsMjYuMTM0NTkgMCwxNi4xNzcwMiAtNS4yMDE5NiwyOC40ODIyMiAtMTUuNjA2NzMsMzYuOTE2ODIgLTEwLjIzOTYsOC40MzQ3IC0yNS4wMjIwMywxMi42NTIzIC00NC4zNDUxNjksMTIuNjUyMyAtMTQuMDM4MTcxLDAgLTI1LjUxNTI0NywtMS42NTk0IC0zNC40MzM2MTgsLTQuOTc3NyAtOC45MTgzNywtMy40NTY2IC0xNi4xODU1NzIsLTguNzExMyAtMjEuODAwODM5LC0xNS43NjMzIC01LjYxNTI3NywtNy4wNTIxIC0xMC4wNzQ3OTUsLTE2LjY2MDg4IC0xMy4zNzc4OTksLTI4LjgyODEyIGwgLTI0Ljc3MzE2MjYyOTM5NDUsMCAwLDU2LjgyNjMyIEMgMzMuODU2NzY5LDI4Ni4wNzYwMSA2My43NDkwNCwyODkuNzQyMDEgODkuNjc4MzgzLDI4OS43NDIwMSBjIDE2LjAyMDAyNywwIDMwLjcxOTc4NywtMS4zODI3IDQ0LjA5NzMzNywtNC4xNDc5IDEzLjU0MjcyLC0yLjkwNDMgMjUuMTA0MSwtNy40Njc2IDM0LjY4MzA5LC0xMy42ODkzIDkuNzQ0MTMsLTYuMzU5NyAxNy4zNDA0MiwtMTQuNTE5NSAyMi43OTA1MiwtMjQuNDc0OCA1LjQ1MDEsLTEwLjA5MzMyIDguMTc1MTEsLTIyLjM5OTU5IDguMTc1MTEsLTM2LjkxNjgyIDAsLTEyLjk5NzY0IC0zLjMwMjEsLTI0LjMzNTM5IC05LjkwODI5LC0zNC4wMTQ2IC02LjQ0MTA1LC05LjgxNzI1IC0xNS41MjU0NSwtMTguNTI3MDcgLTI3LjI1MTQ2LC0yNi4xMzEzMyAtMTEuNTYwODUsLTcuNjA0MjcgLTI3LjkxMDgzLC0xNS44MzE0MiAtNDkuMDUwNjYsLTI0LjY4MDIyIC0xNy41MDY0NCwtNy4xOTAxMiAtMzAuNzE5NjY4LC0xMy42ODk0OCAtMzkuNjM4MDM4LC0xOS40OTcwMSAtOC45MTgzNzEsLTUuODA3NTIgLTE4LjYwNzQ3NCwtMTIuNDM0MDkgLTI0LjA5NjUyNCwtMTguODc0MTcgLTUuNDI2MDQzLC02LjM2NjE2IC05LjY1ODgyNiwtMTUuMDcwMDMgLTkuNjU4ODI2LC0yNC44ODcyOSAwLC05LjI2NDAxIDIuMDc1NDE0LC0xNy4yMTM0NSA2LjIyMzQ1NCwtMjMuODUwMzMgMTEuMDk4Mjk4LC0xNC4zOTc0OCA0MS4yODY2MzgsLTEuNzk1MDcgNDUuMDc1NjA5LDI0LjM0NzYyIDQuODM5MzkyLDYuNzc0OTEgOC44NDkzNSwxNi4yNDcyOSAxMi4wMjk1MTUsMjguNDE1NiBsIDIwLjUzMjM0LDAgMCwtNTUuOTk5NjcgYyAtNC40NzgyNSwtNS45MjQ0OCAtOS45NTQ4OCwtMTAuNjMyMjIgLTE1LjkwODM3LC0xNC4zNzQxMSAxLjY0MDU1LDAuNDc5MDUgMy4xOTAzOSwxLjAyMzc2IDQuNjM4NjUsMS42NDAyNCA2LjQ5ODYxLDIuNjI2MDcgMTIuMTY3OTMsNy4zMjc0NyAxNy4wMDczLDE0LjEwMzQ1IDQuODM5MzksNi43NzQ5MSA4Ljg0OTM1LDE2LjI0NTY3IDEyLjAyOTUyLDI4LjQxMzk3IDAsMCA4LjQ4MTI4LC0wLjEyODk0IDguNDg5NzgsLTAuMDAyIDAuNDE3NzYsNi40MTQ5NCAtMS43NTMzOSw5LjQ1Mjg2IC00LjEyMzQyLDEyLjU2MTA0IC0yLjQxNzQsMy4xNjk3OCAtNS4xNDQ4Niw2Ljc4OTczIC00LjAwMjc4LDEzLjAwMjkgMS41MDc4Niw4LjIwMzE4IDEwLjE4MzU0LDEwLjU5NjQyIDE0LjYyMTk0LDkuMzExNTQgLTMuMzE4NDIsLTAuNDk5MTEgLTUuMzE4NTUsLTEuNzQ5NDggLTUuMzE4NTUsLTEuNzQ5NDggMCwwIDEuODc2NDYsMC45OTg2OCA1LjY1MTE3LC0xLjM1OTgxIC0zLjI3Njk1LDAuOTU1NzEgLTEwLjcwNTI5LC0wLjc5NzM4IC0xMS44MDEyNSwtNi43NjMxMyAtMC45NTc1MiwtNS4yMDg2MSAwLjk0NjU0LC03LjI5NTE0IDMuNDAxMTMsLTEwLjUxNDgyIDIuNDU0NjIsLTMuMjE5NjggNS4yODQyNiwtNi45NTgzMSA0LjY4NDMsLTE0LjQ4ODI0IGwgMC4wMDMsMC4wMDIgOC45MjY3NiwwIDAsLTU1Ljk5OTY3IGMgLTE1LjA3MTI1LC0zLjg3MTY4IC0yNy42NTMxNCwtNi4zNjA0MiAtMzcuNzQ2NzEsLTcuNDY1ODYgLTkuOTU1MzEsLTEuMTA3NTUgLTIwLjE4ODIzLC0xLjY1OTgxIC0zMC42OTY2MTMsLTEuNjU5ODEgeiBtIDcwLjMyMTYwMywxNy4zMDg5MyAwLjIzODA1LDQwLjMwNDkgYyAxLjMxODA4LDEuMjI2NjYgMi40Mzk2NSwyLjI3ODE1IDMuMzQwODEsMy4xMDYwMiA0LjgzOTM5LDYuNzc0OTEgOC44NDkzNCwxNi4yNDU2NiAxMi4wMjk1MSwyOC40MTM5NyBsIDIwLjUzMjM0LDAgMCwtNTUuOTk5NjcgYyAtNi42NzczMSwtNC41OTM4MSAtMTkuODM2NDMsLTEwLjQ3MzA5IC0zNi4xNDA3MSwtMTUuODI1MjIgeiBtIC0yOC4xMjA0OSw1LjYwNTUxIDguNTY0NzksMTcuNzE2NTUgYyAtMTEuOTcwMzcsLTYuNDY2OTcgLTEzLjg0Njc4LC05LjcxNzI2IC04LjU2NDc5LC0xNy43MTY1NSB6IG0gMjIuNzk3MDUsMCBjIDIuNzcxNSw3Ljk5OTI5IDEuNzg3NDEsMTEuMjQ5NTggLTQuNDkzNTQsMTcuNzE2NTUgbCA0LjQ5MzU0LC0xNy43MTY1NSB6IG0gMTUuMjIxOTUsMjQuMDA4NDggOC41NjQ3OSwxNy43MTY1NSBjIC0xMS45NzAzOCwtNi40NjY5NyAtMTMuODQ2NzksLTkuNzE3MjYgLTguNTY0NzksLTE3LjcxNjU1IHogbSAyMi43OTcwNCwwIGMgMi43NzE1LDcuOTk5MjkgMS43ODc0MSwxMS4yNDk1OCAtNC40OTM1NCwxNy43MTY1NSBsIDQuNDkzNTQsLTE3LjcxNjU1IHogbSAtOTkuMTEzODQsMi4yMDc2NCA4LjU2NDc5LDE3LjcxNjU1IGMgLTExLjk3MDM4MiwtNi40NjY5NyAtMTMuODQ2NzgyLC05LjcxNzI2IC04LjU2NDc5LC0xNy43MTY1NSB6IG0gMjIuNzk1NDIsMCBjIDIuNzcxNSw3Ljk5OTI5IDEuNzg3NDEsMTEuMjQ5NTggLTQuNDkzNTQsMTcuNzE2NTUgbCA0LjQ5MzU0LC0xNy43MTY1NSB6IiAvPg0KPC9zdmc+DQo8IS0tIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciBhIENyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24tU2hhcmVBbGlrZSA0LjAgSW50ZXJuYXRpb25hbCBMaWNlbnNlLiAtLT4NCjwhLS0gaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvNC4wLyAtLT4NCg==") no-repeat fixed 50%/70% 70%,linear-gradient(180deg,#750000 0,#340404);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#ff750000",endColorstr="#ff340404",GradientType=0)}body.syndicate .normal{color:#40628a}body.syndicate .good{color:#73e573}body.syndicate .average{color:#be6209}body.syndicate .bad{color:#b00e0e}body.syndicate .highlight{color:#000}body.syndicate main{display:block;margin-top:32px;padding:2px 6px 0}body.syndicate hr{height:2px;background-color:#272727;border:none}body.syndicate .hidden{display:none}body.syndicate .bar .barText,body.syndicate span.button{color:#fff;font-size:12px;font-weight:400;font-style:normal;text-decoration:none}body.syndicate .bold{font-weight:700}body.syndicate .italic{font-style:italic}body.syndicate [unselectable=on]{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}body.syndicate div[data-tooltip],body.syndicate span[data-tooltip]{position:relative}body.syndicate div[data-tooltip]:after,body.syndicate span[data-tooltip]:after{position:absolute;display:block;z-index:2;width:250px;padding:10px;-ms-transform:translateX(-50%);transform:translateX(-50%);visibility:hidden;opacity:0;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";white-space:normal;text-align:left;content:attr(data-tooltip);transition:all .5s;border:1px solid #272727;background-color:#363636}body.syndicate div[data-tooltip]:hover:after,body.syndicate span[data-tooltip]:hover:after{visibility:visible;opacity:1;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"}body.syndicate div[data-tooltip].tooltip-top:after,body.syndicate span[data-tooltip].tooltip-top:after{bottom:100%;left:50%;-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-top:hover:after,body.syndicate span[data-tooltip].tooltip-top:hover:after{-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:after,body.syndicate span[data-tooltip].tooltip-bottom:after{top:100%;left:50%;-ms-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}body.syndicate div[data-tooltip].tooltip-bottom:hover:after,body.syndicate span[data-tooltip].tooltip-bottom:hover:after{-ms-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}body.syndicate div[data-tooltip].tooltip-left:after,body.syndicate span[data-tooltip].tooltip-left:after{top:50%;right:100%;-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-left:hover:after,body.syndicate span[data-tooltip].tooltip-left:hover:after{-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:after,body.syndicate span[data-tooltip].tooltip-right:after{top:50%;left:100%;-ms-transform:translateX(-8px) translateY(-50%);transform:translateX(-8px) translateY(-50%)}body.syndicate div[data-tooltip].tooltip-right:hover:after,body.syndicate span[data-tooltip].tooltip-right:hover:after{-ms-transform:translateX(8px) translateY(-50%);transform:translateX(8px) translateY(-50%)}body.syndicate .bar{display:inline-block;position:relative;vertical-align:middle;width:100%;height:20px;line-height:17px;padding:1px;border:1px solid #000;background:#272727}body.syndicate .bar .barText{position:absolute;top:0;right:3px}body.syndicate .bar .barFill{display:block;height:100%;transition:background-color 1s;background-color:#000}body.syndicate .bar .barFill.good{background-color:#73e573}body.syndicate .bar .barFill.average{background-color:#be6209}body.syndicate .bar .barFill.bad{background-color:#b00e0e}body.syndicate span.button{display:inline-block;vertical-align:middle;min-height:20px;line-height:17px;padding:0 5px;white-space:nowrap;border:1px solid #272727}body.syndicate span.button .fa{padding-right:2px}body.syndicate span.button.normal{transition:background-color .5s;background-color:#397439}body.syndicate span.button.normal.active:focus,body.syndicate span.button.normal.active:hover{transition:background-color .25s;background-color:#4a964a;outline:0}body.syndicate span.button.disabled{transition:background-color .5s;background-color:#363636}body.syndicate span.button.disabled.active:focus,body.syndicate span.button.disabled.active:hover{transition:background-color .25s;background-color:#545454;outline:0}body.syndicate span.button.selected{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.selected.active:focus,body.syndicate span.button.selected.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.toggle{transition:background-color .5s;background-color:#9d0808}body.syndicate span.button.toggle.active:focus,body.syndicate span.button.toggle.active:hover{transition:background-color .25s;background-color:#ce0b0b;outline:0}body.syndicate span.button.caution{transition:background-color .5s;background-color:#be6209}body.syndicate span.button.caution.active:focus,body.syndicate span.button.caution.active:hover{transition:background-color .25s;background-color:#eb790b;outline:0}body.syndicate span.button.danger{transition:background-color .5s;background-color:#9a9d00}body.syndicate span.button.danger.active:focus,body.syndicate span.button.danger.active:hover{transition:background-color .25s;background-color:#ced200;outline:0}body.syndicate span.button.gridable{width:125px;margin:2px 0}body.syndicate span.button+span:not(.button),body.syndicate span:not(.button)+span.button{margin-left:5px}body.syndicate div.display{width:100%;padding:4px;margin:6px 0;background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#80000000,endColorStr=#80000000);background-color:rgba(0,0,0,.5);box-shadow:inset 0 0 5px rgba(0,0,0,.75)}body.syndicate div.display header,body.syndicate div.subdisplay header{display:block;position:relative;width:100%;padding:0 4px;margin-bottom:6px;color:#fff;border-bottom:2px solid #272727}body.syndicate div.display header .buttonRight,body.syndicate div.subdisplay header .buttonRight{position:absolute;bottom:6px;right:4px}body.syndicate div.display article,body.syndicate div.subdisplay article{display:table;width:100%;border-collapse:collapse}body.syndicate input{display:inline-block;vertical-align:middle;height:20px;line-height:17px;padding:0 5px;white-space:nowrap;color:#fff;background-color:#9d0808;border:1px solid #272727}body.syndicate input::-webkit-input-placeholder{color:#999}body.syndicate input:-ms-input-placeholder{color:#999}body.syndicate input::placeholder{color:#999}body.syndicate input::-ms-clear{display:none}body.syndicate svg.linegraph{overflow:hidden}body.syndicate div.notice{margin:8px 0;padding:4px;box-shadow:none;color:#000;font-weight:700;font-style:italic;background-color:#750000;background-image:repeating-linear-gradient(-45deg,#750000,#750000 10px,#910101 0,#910101 20px)}body.syndicate div.notice .label{color:#000}body.syndicate div.notice .content:only-of-type{padding:0}body.syndicate div.notice hr{background-color:#272727}body.syndicate div.resize{position:fixed;bottom:0;right:0;width:0;height:0;border-style:solid;border-width:0 0 45px 45px;border-color:transparent transparent #363636;-ms-transform:rotate(1turn);transform:rotate(1turn)}body.syndicate section .content,body.syndicate section .label,body.syndicate section .line{display:table-cell;margin:0;text-align:left;vertical-align:middle;padding:3px 2px}body.syndicate section{display:table-row;width:100%}body.syndicate section:not(:first-child){padding-top:4px}body.syndicate section.candystripe:nth-child(2n){background-color:#000;-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000)";filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=#33000000,endColorStr=#33000000);background-color:rgba(0,0,0,.2)}body.syndicate section .label{width:1%;padding-right:32px;white-space:nowrap;color:#fff}body.syndicate section .content:not(:last-child){padding-right:16px}body.syndicate section .line{width:100%}body.syndicate div.subdisplay{width:100%;margin:0}body.syndicate header.titlebar .close,body.syndicate header.titlebar .minimize{display:inline-block;position:relative;padding:7px;margin:-7px;color:#e74242}body.syndicate header.titlebar .close:hover,body.syndicate header.titlebar .minimize:hover{color:#eb5e5e}body.syndicate header.titlebar{position:fixed;z-index:1;top:0;left:0;width:100%;height:32px;background-color:#363636;border-bottom:1px solid #161616;box-shadow:0 3px 3px rgba(0,0,0,.1)}body.syndicate header.titlebar .statusicon{position:absolute;top:4px;left:12px;transition:color .5s}body.syndicate header.titlebar .title{position:absolute;top:6px;left:46px;color:#e74242;font-size:16px;white-space:nowrap}body.syndicate header.titlebar .minimize{position:absolute;top:6px;right:46px}body.syndicate header.titlebar .close{position:absolute;top:4px;right:12px}.no-icons header.titlebar .statusicon{font-size:20px}.no-icons header.titlebar .statusicon:after{content:"O"}.no-icons header.titlebar .minimize{top:-2px;font-size:20px}.no-icons header.titlebar .minimize:after{content:"—"}.no-icons header.titlebar .close{font-size:20px}.no-icons header.titlebar .close:after{content:"X"} -\ No newline at end of file diff --git a/tgui/assets/tgui.js b/tgui/assets/tgui.js index d7b7e7f257..c609f0d32b 100644 --- a/tgui/assets/tgui.js +++ b/tgui/assets/tgui.js @@ -1,16 +1,16 @@ -require=function t(e,n,a){function r(o,s){if(!n[o]){if(!e[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(i)return i(o,!0);var p=Error("Cannot find module '"+o+"'");throw p.code="MODULE_NOT_FOUND",p}var c=n[o]={exports:{}};e[o][0].call(c.exports,function(t){var n=e[o][1][t];return r(n?n:t)},c,c.exports,t,e,n,a)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o2?p[2]:void 0,l=Math.min((void 0===c?o:r(c,o))-u,o-s),f=1;for(s>u&&u+l>s&&(f=-1,u+=l-1,s+=l-1);l-- >0;)u in n?n[s]=n[u]:delete n[s],s+=f,u+=f;return n}},{76:76,79:79,80:80}],6:[function(t,e,n){"use strict";var a=t(80),r=t(76),i=t(79);e.exports=[].fill||function(t){for(var e=a(this),n=i(e.length),o=arguments,s=o.length,u=r(s>1?o[1]:void 0,n),p=s>2?o[2]:void 0,c=void 0===p?n:r(p,n);c>u;)e[u++]=t;return e}},{76:76,79:79,80:80}],7:[function(t,e,n){var a=t(78),r=t(79),i=t(76);e.exports=function(t){return function(e,n,o){var s,u=a(e),p=r(u.length),c=i(o,p);if(t&&n!=n){for(;p>c;)if(s=u[c++],s!=s)return!0}else for(;p>c;c++)if((t||c in u)&&u[c]===n)return t||c;return!t&&-1}}},{76:76,78:78,79:79}],8:[function(t,e,n){var a=t(17),r=t(34),i=t(80),o=t(79),s=t(9);e.exports=function(t){var e=1==t,n=2==t,u=3==t,p=4==t,c=6==t,l=5==t||c;return function(f,d,h){for(var m,v,g=i(f),b=r(g),y=a(d,h,3),x=o(b.length),_=0,w=e?s(f,x):n?s(f,0):void 0;x>_;_++)if((l||_ in b)&&(m=b[_],v=y(m,_,g),t))if(e)w[_]=v;else if(v)switch(t){case 3:return!0;case 5:return m;case 6:return _;case 2:w.push(m)}else if(p)return!1;return c?-1:u||p?p:w}}},{17:17,34:34,79:79,80:80,9:9}],9:[function(t,e,n){var a=t(38),r=t(36),i=t(83)("species");e.exports=function(t,e){var n;return r(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!r(n.prototype)||(n=void 0),a(n)&&(n=n[i],null===n&&(n=void 0))),new(void 0===n?Array:n)(e)}},{36:36,38:38,83:83}],10:[function(t,e,n){var a=t(11),r=t(83)("toStringTag"),i="Arguments"==a(function(){return arguments}());e.exports=function(t){var e,n,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(n=(e=Object(t))[r])?n:i?a(e):"Object"==(o=a(e))&&"function"==typeof e.callee?"Arguments":o}},{11:11,83:83}],11:[function(t,e,n){var a={}.toString;e.exports=function(t){return a.call(t).slice(8,-1)}},{}],12:[function(t,e,n){"use strict";var a=t(46),r=t(31),i=t(60),o=t(17),s=t(69),u=t(18),p=t(27),c=t(42),l=t(44),f=t(82)("id"),d=t(30),h=t(38),m=t(65),v=t(19),g=Object.isExtensible||h,b=v?"_s":"size",y=0,x=function(t,e){if(!h(t))return"symbol"==typeof t?t:("string"==typeof t?"S":"P")+t;if(!d(t,f)){if(!g(t))return"F";if(!e)return"E";r(t,f,++y)}return"O"+t[f]},_=function(t,e){var n,a=x(e);if("F"!==a)return t._i[a];for(n=t._f;n;n=n.n)if(n.k==e)return n};e.exports={getConstructor:function(t,e,n,r){var c=t(function(t,i){s(t,c,e),t._i=a.create(null),t._f=void 0,t._l=void 0,t[b]=0,void 0!=i&&p(i,n,t[r],t)});return i(c.prototype,{clear:function(){for(var t=this,e=t._i,n=t._f;n;n=n.n)n.r=!0,n.p&&(n.p=n.p.n=void 0),delete e[n.i];t._f=t._l=void 0,t[b]=0},"delete":function(t){var e=this,n=_(e,t);if(n){var a=n.n,r=n.p;delete e._i[n.i],n.r=!0,r&&(r.n=a),a&&(a.p=r),e._f==n&&(e._f=a),e._l==n&&(e._l=r),e[b]--}return!!n},forEach:function(t){for(var e,n=o(t,arguments.length>1?arguments[1]:void 0,3);e=e?e.n:this._f;)for(n(e.v,e.k,this);e&&e.r;)e=e.p},has:function(t){return!!_(this,t)}}),v&&a.setDesc(c.prototype,"size",{get:function(){return u(this[b])}}),c},def:function(t,e,n){var a,r,i=_(t,e);return i?i.v=n:(t._l=i={i:r=x(e,!0),k:e,v:n,p:a=t._l,n:void 0,r:!1},t._f||(t._f=i),a&&(a.n=i),t[b]++,"F"!==r&&(t._i[r]=i)),t},getEntry:_,setStrong:function(t,e,n){c(t,e,function(t,e){this._t=t,this._k=e,this._l=void 0},function(){for(var t=this,e=t._k,n=t._l;n&&n.r;)n=n.p;return t._t&&(t._l=n=n?n.n:t._t._f)?"keys"==e?l(0,n.k):"values"==e?l(0,n.v):l(0,[n.k,n.v]):(t._t=void 0,l(1))},n?"entries":"values",!n,!0),m(e)}}},{17:17,18:18,19:19,27:27,30:30,31:31,38:38,42:42,44:44,46:46,60:60,65:65,69:69,82:82}],13:[function(t,e,n){var a=t(27),r=t(10);e.exports=function(t){return function(){if(r(this)!=t)throw TypeError(t+"#toJSON isn't generic");var e=[];return a(this,!1,e.push,e),e}}},{10:10,27:27}],14:[function(t,e,n){"use strict";var a=t(31),r=t(60),i=t(4),o=t(38),s=t(69),u=t(27),p=t(8),c=t(30),l=t(82)("weak"),f=Object.isExtensible||o,d=p(5),h=p(6),m=0,v=function(t){return t._l||(t._l=new g)},g=function(){this.a=[]},b=function(t,e){return d(t.a,function(t){return t[0]===e})};g.prototype={get:function(t){var e=b(this,t);return e?e[1]:void 0},has:function(t){return!!b(this,t)},set:function(t,e){var n=b(this,t);n?n[1]=e:this.a.push([t,e])},"delete":function(t){var e=h(this.a,function(e){return e[0]===t});return~e&&this.a.splice(e,1),!!~e}},e.exports={getConstructor:function(t,e,n,a){var i=t(function(t,r){s(t,i,e),t._i=m++,t._l=void 0,void 0!=r&&u(r,n,t[a],t)});return r(i.prototype,{"delete":function(t){return o(t)?f(t)?c(t,l)&&c(t[l],this._i)&&delete t[l][this._i]:v(this)["delete"](t):!1},has:function(t){return o(t)?f(t)?c(t,l)&&c(t[l],this._i):v(this).has(t):!1}}),i},def:function(t,e,n){return f(i(e))?(c(e,l)||a(e,l,{}),e[l][t._i]=n):v(t).set(e,n),t},frozenStore:v,WEAK:l}},{27:27,30:30,31:31,38:38,4:4,60:60,69:69,8:8,82:82}],15:[function(t,e,n){"use strict";var a=t(29),r=t(22),i=t(61),o=t(60),s=t(27),u=t(69),p=t(38),c=t(24),l=t(43),f=t(66);e.exports=function(t,e,n,d,h,m){var v=a[t],g=v,b=h?"set":"add",y=g&&g.prototype,x={},_=function(t){var e=y[t];i(y,t,"delete"==t?function(t){return m&&!p(t)?!1:e.call(this,0===t?0:t)}:"has"==t?function(t){return m&&!p(t)?!1:e.call(this,0===t?0:t)}:"get"==t?function(t){return m&&!p(t)?void 0:e.call(this,0===t?0:t)}:"add"==t?function(t){return e.call(this,0===t?0:t),this}:function(t,n){return e.call(this,0===t?0:t,n),this})};if("function"==typeof g&&(m||y.forEach&&!c(function(){(new g).entries().next()}))){var w,k=new g,E=k[b](m?{}:-0,1)!=k,S=c(function(){k.has(1)}),C=l(function(t){new g(t)});C||(g=e(function(e,n){u(e,g,t);var a=new v;return void 0!=n&&s(n,h,a[b],a),a}),g.prototype=y,y.constructor=g),m||k.forEach(function(t,e){w=1/e===-(1/0)}),(S||w)&&(_("delete"),_("has"),h&&_("get")),(w||E)&&_(b),m&&y.clear&&delete y.clear}else g=d.getConstructor(e,t,h,b),o(g.prototype,n);return f(g,t),x[t]=g,r(r.G+r.W+r.F*(g!=v),x),m||d.setStrong(g,t,h),g}},{22:22,24:24,27:27,29:29,38:38,43:43,60:60,61:61,66:66,69:69}],16:[function(t,e,n){var a=e.exports={version:"1.2.6"};"number"==typeof __e&&(__e=a)},{}],17:[function(t,e,n){var a=t(2);e.exports=function(t,e,n){if(a(t),void 0===e)return t;switch(n){case 1:return function(n){return t.call(e,n)};case 2:return function(n,a){return t.call(e,n,a)};case 3:return function(n,a,r){return t.call(e,n,a,r)}}return function(){return t.apply(e,arguments)}}},{2:2}],18:[function(t,e,n){e.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},{}],19:[function(t,e,n){e.exports=!t(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},{24:24}],20:[function(t,e,n){var a=t(38),r=t(29).document,i=a(r)&&a(r.createElement);e.exports=function(t){return i?r.createElement(t):{}}},{29:29,38:38}],21:[function(t,e,n){var a=t(46);e.exports=function(t){var e=a.getKeys(t),n=a.getSymbols;if(n)for(var r,i=n(t),o=a.isEnum,s=0;i.length>s;)o.call(t,r=i[s++])&&e.push(r);return e}},{46:46}],22:[function(t,e,n){var a=t(29),r=t(16),i=t(31),o=t(61),s=t(17),u="prototype",p=function(t,e,n){var c,l,f,d,h=t&p.F,m=t&p.G,v=t&p.S,g=t&p.P,b=t&p.B,y=m?a:v?a[e]||(a[e]={}):(a[e]||{})[u],x=m?r:r[e]||(r[e]={}),_=x[u]||(x[u]={});m&&(n=e);for(c in n)l=!h&&y&&c in y,f=(l?y:n)[c],d=b&&l?s(f,a):g&&"function"==typeof f?s(Function.call,f):f,y&&!l&&o(y,c,f),x[c]!=f&&i(x,c,d),g&&_[c]!=f&&(_[c]=f)};a.core=r,p.F=1,p.G=2,p.S=4,p.P=8,p.B=16,p.W=32,e.exports=p},{16:16,17:17,29:29,31:31,61:61}],23:[function(t,e,n){var a=t(83)("match");e.exports=function(t){var e=/./;try{"/./"[t](e)}catch(n){try{return e[a]=!1,!"/./"[t](e)}catch(r){}}return!0}},{83:83}],24:[function(t,e,n){e.exports=function(t){try{return!!t()}catch(e){return!0}}},{}],25:[function(t,e,n){"use strict";var a=t(31),r=t(61),i=t(24),o=t(18),s=t(83);e.exports=function(t,e,n){var u=s(t),p=""[t];i(function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})&&(r(String.prototype,t,n(o,u,p)),a(RegExp.prototype,u,2==e?function(t,e){return p.call(t,this,e)}:function(t){return p.call(t,this)}))}},{18:18,24:24,31:31,61:61,83:83}],26:[function(t,e,n){"use strict";var a=t(4);e.exports=function(){var t=a(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},{4:4}],27:[function(t,e,n){var a=t(17),r=t(40),i=t(35),o=t(4),s=t(79),u=t(84);e.exports=function(t,e,n,p){var c,l,f,d=u(t),h=a(n,p,e?2:1),m=0;if("function"!=typeof d)throw TypeError(t+" is not iterable!");if(i(d))for(c=s(t.length);c>m;m++)e?h(o(l=t[m])[0],l[1]):h(t[m]);else for(f=d.call(t);!(l=f.next()).done;)r(f,h,l.value,e)}},{17:17,35:35,4:4,40:40,79:79,84:84}],28:[function(t,e,n){var a=t(78),r=t(46).getNames,i={}.toString,o="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],s=function(t){try{return r(t)}catch(e){return o.slice()}};e.exports.get=function(t){return o&&"[object Window]"==i.call(t)?s(t):r(a(t))}},{46:46,78:78}],29:[function(t,e,n){var a=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=a)},{}],30:[function(t,e,n){var a={}.hasOwnProperty;e.exports=function(t,e){return a.call(t,e)}},{}],31:[function(t,e,n){var a=t(46),r=t(59);e.exports=t(19)?function(t,e,n){return a.setDesc(t,e,r(1,n))}:function(t,e,n){return t[e]=n,t}},{19:19,46:46,59:59}],32:[function(t,e,n){e.exports=t(29).document&&document.documentElement},{29:29}],33:[function(t,e,n){e.exports=function(t,e,n){var a=void 0===n;switch(e.length){case 0:return a?t():t.call(n);case 1:return a?t(e[0]):t.call(n,e[0]);case 2:return a?t(e[0],e[1]):t.call(n,e[0],e[1]);case 3:return a?t(e[0],e[1],e[2]):t.call(n,e[0],e[1],e[2]);case 4:return a?t(e[0],e[1],e[2],e[3]):t.call(n,e[0],e[1],e[2],e[3])}return t.apply(n,e)}},{}],34:[function(t,e,n){var a=t(11);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==a(t)?t.split(""):Object(t)}},{11:11}],35:[function(t,e,n){var a=t(45),r=t(83)("iterator"),i=Array.prototype;e.exports=function(t){return void 0!==t&&(a.Array===t||i[r]===t)}},{45:45,83:83}],36:[function(t,e,n){var a=t(11);e.exports=Array.isArray||function(t){return"Array"==a(t)}},{11:11}],37:[function(t,e,n){var a=t(38),r=Math.floor;e.exports=function(t){return!a(t)&&isFinite(t)&&r(t)===t}},{38:38}],38:[function(t,e,n){e.exports=function(t){return"object"==typeof t?null!==t:"function"==typeof t}},{}],39:[function(t,e,n){var a=t(38),r=t(11),i=t(83)("match");e.exports=function(t){var e;return a(t)&&(void 0!==(e=t[i])?!!e:"RegExp"==r(t))}},{11:11,38:38,83:83}],40:[function(t,e,n){var a=t(4);e.exports=function(t,e,n,r){try{return r?e(a(n)[0],n[1]):e(n)}catch(i){var o=t["return"];throw void 0!==o&&a(o.call(t)),i}}},{4:4}],41:[function(t,e,n){"use strict";var a=t(46),r=t(59),i=t(66),o={};t(31)(o,t(83)("iterator"),function(){return this}),e.exports=function(t,e,n){t.prototype=a.create(o,{next:r(1,n)}),i(t,e+" Iterator")}},{31:31,46:46,59:59,66:66,83:83}],42:[function(t,e,n){"use strict";var a=t(48),r=t(22),i=t(61),o=t(31),s=t(30),u=t(45),p=t(41),c=t(66),l=t(46).getProto,f=t(83)("iterator"),d=!([].keys&&"next"in[].keys()),h="@@iterator",m="keys",v="values",g=function(){return this};e.exports=function(t,e,n,b,y,x,_){p(n,e,b);var w,k,E=function(t){if(!d&&t in A)return A[t];switch(t){case m:return function(){return new n(this,t)};case v:return function(){return new n(this,t)}}return function(){return new n(this,t)}},S=e+" Iterator",C=y==v,P=!1,A=t.prototype,O=A[f]||A[h]||y&&A[y],T=O||E(y);if(O){var R=l(T.call(new t));c(R,S,!0),!a&&s(A,h)&&o(R,f,g),C&&O.name!==v&&(P=!0,T=function(){return O.call(this)})}if(a&&!_||!d&&!P&&A[f]||o(A,f,T),u[e]=T,u[S]=g,y)if(w={values:C?T:E(v),keys:x?T:E(m),entries:C?E("entries"):T},_)for(k in w)k in A||i(A,k,w[k]);else r(r.P+r.F*(d||P),e,w);return w}},{22:22,30:30,31:31,41:41,45:45,46:46,48:48,61:61,66:66,83:83}],43:[function(t,e,n){var a=t(83)("iterator"),r=!1;try{var i=[7][a]();i["return"]=function(){r=!0},Array.from(i,function(){throw 2})}catch(o){}e.exports=function(t,e){if(!e&&!r)return!1;var n=!1;try{var i=[7],o=i[a]();o.next=function(){return{done:n=!0}},i[a]=function(){return o},t(i)}catch(s){}return n}},{83:83}],44:[function(t,e,n){e.exports=function(t,e){return{value:e,done:!!t}}},{}],45:[function(t,e,n){e.exports={}},{}],46:[function(t,e,n){var a=Object;e.exports={create:a.create,getProto:a.getPrototypeOf,isEnum:{}.propertyIsEnumerable,getDesc:a.getOwnPropertyDescriptor,setDesc:a.defineProperty,setDescs:a.defineProperties,getKeys:a.keys,getNames:a.getOwnPropertyNames,getSymbols:a.getOwnPropertySymbols,each:[].forEach}},{}],47:[function(t,e,n){var a=t(46),r=t(78);e.exports=function(t,e){for(var n,i=r(t),o=a.getKeys(i),s=o.length,u=0;s>u;)if(i[n=o[u++]]===e)return n}},{46:46,78:78}],48:[function(t,e,n){e.exports=!1},{}],49:[function(t,e,n){e.exports=Math.expm1||function(t){return 0==(t=+t)?t:t>-1e-6&&1e-6>t?t+t*t/2:Math.exp(t)-1}},{}],50:[function(t,e,n){e.exports=Math.log1p||function(t){return(t=+t)>-1e-8&&1e-8>t?t-t*t/2:Math.log(1+t)}},{}],51:[function(t,e,n){e.exports=Math.sign||function(t){return 0==(t=+t)||t!=t?t:0>t?-1:1}},{}],52:[function(t,e,n){var a,r,i,o=t(29),s=t(75).set,u=o.MutationObserver||o.WebKitMutationObserver,p=o.process,c=o.Promise,l="process"==t(11)(p),f=function(){var t,e,n;for(l&&(t=p.domain)&&(p.domain=null,t.exit());a;)e=a.domain,n=a.fn,e&&e.enter(),n(),e&&e.exit(),a=a.next;r=void 0,t&&t.enter()};if(l)i=function(){p.nextTick(f)};else if(u){var d=1,h=document.createTextNode("");new u(f).observe(h,{characterData:!0}),i=function(){h.data=d=-d}}else i=c&&c.resolve?function(){c.resolve().then(f)}:function(){s.call(o,f)};e.exports=function(t){var e={fn:t,next:void 0,domain:l&&p.domain};r&&(r.next=e),a||(a=e,i()),r=e}},{11:11,29:29,75:75}],53:[function(t,e,n){var a=t(46),r=t(80),i=t(34);e.exports=t(24)(function(){var t=Object.assign,e={},n={},a=Symbol(),r="abcdefghijklmnopqrst";return e[a]=7,r.split("").forEach(function(t){n[t]=t}),7!=t({},e)[a]||Object.keys(t({},n)).join("")!=r})?function(t,e){for(var n=r(t),o=arguments,s=o.length,u=1,p=a.getKeys,c=a.getSymbols,l=a.isEnum;s>u;)for(var f,d=i(o[u++]),h=c?p(d).concat(c(d)):p(d),m=h.length,v=0;m>v;)l.call(d,f=h[v++])&&(n[f]=d[f]);return n}:Object.assign},{24:24,34:34,46:46,80:80}],54:[function(t,e,n){var a=t(22),r=t(16),i=t(24);e.exports=function(t,e){var n=(r.Object||{})[t]||Object[t],o={};o[t]=e(n),a(a.S+a.F*i(function(){n(1)}),"Object",o)}},{16:16,22:22,24:24}],55:[function(t,e,n){var a=t(46),r=t(78),i=a.isEnum;e.exports=function(t){return function(e){for(var n,o=r(e),s=a.getKeys(o),u=s.length,p=0,c=[];u>p;)i.call(o,n=s[p++])&&c.push(t?[n,o[n]]:o[n]);return c}}},{46:46,78:78}],56:[function(t,e,n){var a=t(46),r=t(4),i=t(29).Reflect;e.exports=i&&i.ownKeys||function(t){var e=a.getNames(r(t)),n=a.getSymbols;return n?e.concat(n(t)):e}},{29:29,4:4,46:46}],57:[function(t,e,n){"use strict";var a=t(58),r=t(33),i=t(2);e.exports=function(){for(var t=i(this),e=arguments.length,n=Array(e),o=0,s=a._,u=!1;e>o;)(n[o]=arguments[o++])===s&&(u=!0);return function(){var a,i=this,o=arguments,p=o.length,c=0,l=0;if(!u&&!p)return r(t,n,i);if(a=n.slice(),u)for(;e>c;c++)a[c]===s&&(a[c]=o[l++]);for(;p>l;)a.push(o[l++]);return r(t,a,i)}}},{2:2,33:33,58:58}],58:[function(t,e,n){e.exports=t(29)},{29:29}],59:[function(t,e,n){e.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},{}],60:[function(t,e,n){var a=t(61);e.exports=function(t,e){for(var n in e)a(t,n,e[n]);return t}},{61:61}],61:[function(t,e,n){var a=t(29),r=t(31),i=t(82)("src"),o="toString",s=Function[o],u=(""+s).split(o);t(16).inspectSource=function(t){return s.call(t)},(e.exports=function(t,e,n,o){"function"==typeof n&&(n.hasOwnProperty(i)||r(n,i,t[e]?""+t[e]:u.join(e+"")),n.hasOwnProperty("name")||r(n,"name",e)),t===a?t[e]=n:(o||delete t[e],r(t,e,n))})(Function.prototype,o,function(){return"function"==typeof this&&this[i]||s.call(this)})},{16:16,29:29,31:31,82:82}],62:[function(t,e,n){e.exports=function(t,e){var n=e===Object(e)?function(t){return e[t]}:e;return function(e){return(e+"").replace(t,n)}}},{}],63:[function(t,e,n){e.exports=Object.is||function(t,e){return t===e?0!==t||1/t===1/e:t!=t&&e!=e}},{}],64:[function(t,e,n){var a=t(46).getDesc,r=t(38),i=t(4),o=function(t,e){if(i(t),!r(e)&&null!==e)throw TypeError(e+": can't set as prototype!")};e.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(e,n,r){try{r=t(17)(Function.call,a(Object.prototype,"__proto__").set,2),r(e,[]),n=!(e instanceof Array)}catch(i){n=!0}return function(t,e){return o(t,e),n?t.__proto__=e:r(t,e),t}}({},!1):void 0),check:o}},{17:17,38:38,4:4,46:46}],65:[function(t,e,n){"use strict";var a=t(29),r=t(46),i=t(19),o=t(83)("species");e.exports=function(t){var e=a[t];i&&e&&!e[o]&&r.setDesc(e,o,{configurable:!0,get:function(){return this}})}},{19:19,29:29,46:46,83:83}],66:[function(t,e,n){var a=t(46).setDesc,r=t(30),i=t(83)("toStringTag");e.exports=function(t,e,n){t&&!r(t=n?t:t.prototype,i)&&a(t,i,{configurable:!0,value:e})}},{30:30,46:46,83:83}],67:[function(t,e,n){var a=t(29),r="__core-js_shared__",i=a[r]||(a[r]={});e.exports=function(t){return i[t]||(i[t]={})}},{29:29}],68:[function(t,e,n){var a=t(4),r=t(2),i=t(83)("species");e.exports=function(t,e){var n,o=a(t).constructor;return void 0===o||void 0==(n=a(o)[i])?e:r(n)}},{2:2,4:4,83:83}],69:[function(t,e,n){e.exports=function(t,e,n){if(!(t instanceof e))throw TypeError(n+": use the 'new' operator!");return t}},{}],70:[function(t,e,n){var a=t(77),r=t(18);e.exports=function(t){return function(e,n){var i,o,s=r(e)+"",u=a(n),p=s.length;return 0>u||u>=p?t?"":void 0:(i=s.charCodeAt(u),55296>i||i>56319||u+1===p||(o=s.charCodeAt(u+1))<56320||o>57343?t?s.charAt(u):i:t?s.slice(u,u+2):(i-55296<<10)+(o-56320)+65536)}}},{18:18,77:77}],71:[function(t,e,n){var a=t(39),r=t(18);e.exports=function(t,e,n){if(a(e))throw TypeError("String#"+n+" doesn't accept regex!");return r(t)+""}},{18:18,39:39}],72:[function(t,e,n){var a=t(79),r=t(73),i=t(18);e.exports=function(t,e,n,o){var s=i(t)+"",u=s.length,p=void 0===n?" ":n+"",c=a(e);if(u>=c)return s;""==p&&(p=" ");var l=c-u,f=r.call(p,Math.ceil(l/p.length));return f.length>l&&(f=f.slice(0,l)),o?f+s:s+f}},{18:18,73:73,79:79}],73:[function(t,e,n){"use strict";var a=t(77),r=t(18);e.exports=function(t){var e=r(this)+"",n="",i=a(t);if(0>i||i==1/0)throw RangeError("Count can't be negative");for(;i>0;(i>>>=1)&&(e+=e))1&i&&(n+=e);return n}},{18:18,77:77}],74:[function(t,e,n){var a=t(22),r=t(18),i=t(24),o=" \n\x0B\f\r  ᠎              \u2028\u2029\ufeff",s="["+o+"]",u="​…",p=RegExp("^"+s+s+"*"),c=RegExp(s+s+"*$"),l=function(t,e){var n={};n[t]=e(f),a(a.P+a.F*i(function(){return!!o[t]()||u[t]()!=u}),"String",n)},f=l.trim=function(t,e){return t=r(t)+"",1&e&&(t=t.replace(p,"")),2&e&&(t=t.replace(c,"")),t};e.exports=l},{18:18,22:22,24:24}],75:[function(t,e,n){var a,r,i,o=t(17),s=t(33),u=t(32),p=t(20),c=t(29),l=c.process,f=c.setImmediate,d=c.clearImmediate,h=c.MessageChannel,m=0,v={},g="onreadystatechange",b=function(){var t=+this;if(v.hasOwnProperty(t)){var e=v[t];delete v[t],e()}},y=function(t){b.call(t.data)};f&&d||(f=function(t){for(var e=[],n=1;arguments.length>n;)e.push(arguments[n++]);return v[++m]=function(){s("function"==typeof t?t:Function(t),e)},a(m),m},d=function(t){delete v[t]},"process"==t(11)(l)?a=function(t){l.nextTick(o(b,t,1))}:h?(r=new h,i=r.port2,r.port1.onmessage=y,a=o(i.postMessage,i,1)):c.addEventListener&&"function"==typeof postMessage&&!c.importScripts?(a=function(t){c.postMessage(t+"","*")},c.addEventListener("message",y,!1)):a=g in p("script")?function(t){u.appendChild(p("script"))[g]=function(){u.removeChild(this),b.call(t)}}:function(t){setTimeout(o(b,t,1),0)}),e.exports={set:f,clear:d}},{11:11,17:17,20:20,29:29,32:32,33:33}],76:[function(t,e,n){var a=t(77),r=Math.max,i=Math.min;e.exports=function(t,e){return t=a(t),0>t?r(t+e,0):i(t,e)}},{77:77}],77:[function(t,e,n){var a=Math.ceil,r=Math.floor;e.exports=function(t){return isNaN(t=+t)?0:(t>0?r:a)(t)}},{}],78:[function(t,e,n){var a=t(34),r=t(18);e.exports=function(t){return a(r(t))}},{18:18,34:34}],79:[function(t,e,n){var a=t(77),r=Math.min;e.exports=function(t){return t>0?r(a(t),9007199254740991):0}},{77:77}],80:[function(t,e,n){var a=t(18);e.exports=function(t){return Object(a(t))}},{18:18}],81:[function(t,e,n){var a=t(38);e.exports=function(t,e){if(!a(t))return t;var n,r;if(e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;if("function"==typeof(n=t.valueOf)&&!a(r=n.call(t)))return r;if(!e&&"function"==typeof(n=t.toString)&&!a(r=n.call(t)))return r;throw TypeError("Can't convert object to primitive value")}},{38:38}],82:[function(t,e,n){var a=0,r=Math.random();e.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++a+r).toString(36))}},{}],83:[function(t,e,n){var a=t(67)("wks"),r=t(82),i=t(29).Symbol;e.exports=function(t){return a[t]||(a[t]=i&&i[t]||(i||r)("Symbol."+t))}},{29:29,67:67,82:82}],84:[function(t,e,n){var a=t(10),r=t(83)("iterator"),i=t(45);e.exports=t(16).getIteratorMethod=function(t){return void 0!=t?t[r]||t["@@iterator"]||i[a(t)]:void 0}},{10:10,16:16,45:45,83:83}],85:[function(t,e,n){"use strict";var a,r=t(46),i=t(22),o=t(19),s=t(59),u=t(32),p=t(20),c=t(30),l=t(11),f=t(33),d=t(24),h=t(4),m=t(2),v=t(38),g=t(80),b=t(78),y=t(77),x=t(76),_=t(79),w=t(34),k=t(82)("__proto__"),E=t(8),S=t(7)(!1),C=Object.prototype,P=Array.prototype,A=P.slice,O=P.join,T=r.setDesc,R=r.getDesc,M=r.setDescs,j={};o||(a=!d(function(){return 7!=T(p("div"),"a",{get:function(){return 7}}).a}),r.setDesc=function(t,e,n){if(a)try{return T(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(h(t)[e]=n.value),t},r.getDesc=function(t,e){if(a)try{return R(t,e)}catch(n){}return c(t,e)?s(!C.propertyIsEnumerable.call(t,e),t[e]):void 0},r.setDescs=M=function(t,e){h(t);for(var n,a=r.getKeys(e),i=a.length,o=0;i>o;)r.setDesc(t,n=a[o++],e[n]);return t}),i(i.S+i.F*!o,"Object",{getOwnPropertyDescriptor:r.getDesc,defineProperty:r.setDesc,defineProperties:M});var L="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(","),N=L.concat("length","prototype"),D=L.length,F=function(){var t,e=p("iframe"),n=D,a=">";for(e.style.display="none",u.appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write("
[G.name] Gang: [round((G.territory.len/GLOB.start_state.num_territories)*100, 1)]% Control