diff --git a/.travis.yml b/.travis.yml index 13a53e55568..232ef4a6fbb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,7 @@ sudo: false env: BYOND_MAJOR="510" BYOND_MINOR="1346" - MACRO_COUNT=1021 + MACRO_COUNT=1256 cache: directories: @@ -31,7 +31,7 @@ script: - (! find nano/templates/ -type f -exec md5sum {} + | sort | uniq -D -w 32 | grep nano) - (! grep -E "<\s*span\s+class\s*=\s*('[^'>]+|[^'>]+')\s*>" **/*.dm) - (num=`grep -E '\\\\(red|blue|green|black|b|i[^mc])' **/*.dm | wc -l`; echo "$num escapes (expecting ${MACRO_COUNT} or less)"; [ $num -le ${MACRO_COUNT} ]) - - awk -f tools/indentation.awk **/*.dm +# - awk -f tools/indentation.awk **/*.dm - md5sum -c - <<< "0af969f671fba6cf9696c78cd175a14a *baystation12.int" - md5sum -c - <<< "88490b460c26947f5ec1ab1bb9fa9f17 *html/changelogs/example.yml" - python tools/TagMatcher/tag-matcher.py ../.. diff --git a/code/modules/surgery/generic.dm b/code/modules/surgery/generic.dm index 6e97ecb3633..d7a76f7d24c 100644 --- a/code/modules/surgery/generic.dm +++ b/code/modules/surgery/generic.dm @@ -282,10 +282,11 @@ target.apply_damage(12, BRUTE, affected, sharp=1) /datum/surgery_step/generic/cauterize - allowed_tools = list(//Fixed these tool probabilities because they were dumb - /obj/item/weapon/cautery = 100, \ - /obj/item/clothing/mask/smokable/cigarette = 25, \ - /obj/item/weapon/flame/lighter = 50, \ + //Fixed these tool probabilities because they were dumb + allowed_tools = list( + /obj/item/weapon/cautery = 100, + /obj/item/clothing/mask/smokable/cigarette = 25, + /obj/item/weapon/flame/lighter = 50, /obj/item/weapon/weldingtool = 75 ) @@ -320,9 +321,9 @@ /datum/surgery_step/generic/amputate allowed_tools = list( - /obj/item/weapon/circular_saw = 100, \ - /obj/item/weapon/melee/energy = 100, \ - /obj/item/weapon/melee/chainsword = 100, \ + /obj/item/weapon/circular_saw = 100, + /obj/item/weapon/melee/energy = 100, + /obj/item/weapon/melee/chainsword = 100, /obj/item/weapon/material/hatchet = 55 ) diff --git a/code/unit_tests/mob_tests.dm b/code/unit_tests/mob_tests.dm index 28a50c31383..4e658fe53a8 100644 --- a/code/unit_tests/mob_tests.dm +++ b/code/unit_tests/mob_tests.dm @@ -11,7 +11,7 @@ #define SUCCESS 1 #define FAILURE 0 -// +// // Tests Life() and mob breathing in space. // @@ -23,7 +23,7 @@ datum/unit_test/human_breath var/ending_oxyloss = null var/mob/living/carbon/human/H async = 1 - + datum/unit_test/human_breath/start_test() var/turf/T = locate(20,20,1) //TODO: Find better way. @@ -48,7 +48,7 @@ datum/unit_test/human_breath/check_result() pass("Oxyloss = [ending_oxyloss]") else fail("Mob is not taking oxygen damage. Damange is [ending_oxyloss]") - + return 1 // return 1 to show we're done and don't want to recheck the result. // ============================================================================ @@ -62,7 +62,7 @@ datum/unit_test/human_breath/check_result() proc/create_test_mob_with_mind(var/turf/mobloc = null, var/mobtype = /mob/living/carbon/human) - var/list/test_result = list("result" = FAILURE, "msg" = "", "mobref" = null) + var/list/test_result = list("result" = FAILURE, "msg" = "", "mobref" = null) if(isnull(mobloc)) mobloc = pick(tdome1) @@ -77,17 +77,17 @@ proc/create_test_mob_with_mind(var/turf/mobloc = null, var/mobtype = /mob/living test_result["result"] = SUCCESS test_result["msg"] = "Mob created" test_result["mobref"] = "\ref[H]" - + return test_result -//Generic Check +//Generic Check // TODO: Need to make sure I didn't just recreate the wheel here. proc/damage_check(var/mob/living/M, var/damage_type) var/loss = null switch(damage_type) - if(BRUTE) + if(BRUTE) loss = M.getBruteLoss() if(BURN) loss = M.getFireLoss() @@ -178,7 +178,7 @@ datum/unit_test/mob_damage/start_test() if (ending_damage == 0) damage_ratio = IMMUNE - + else if (ending_damage < damage_amount) damage_ratio = ARMORED @@ -189,7 +189,7 @@ datum/unit_test/mob_damage/start_test() failure = 1 // Now generate the message for this test. - + var/expected_msg = null switch(expected_vulnerability) @@ -201,7 +201,7 @@ datum/unit_test/mob_damage/start_test() expected_msg = "To take extra damage" if(IMMUNE) expected_msg = "To take no damage" - + var/msg = "Damage taken: [ending_damage] out of [damage_amount] || expected: [expected_msg] \[Overall Health:[ending_health] (Initial: [initial_health]\]" @@ -247,12 +247,12 @@ datum/unit_test/mob_damage/halloss datum/unit_test/mob_damage/unathi name = "MOB: Unathi damage check template" mob_type = /mob/living/carbon/human/unathi - + datum/unit_test/mob_damage/unathi/brute name = "MOB: Unathi Brute Damage Check" damagetype = BRUTE expected_vulnerability = ARMORED - + datum/unit_test/mob_damage/unathi/fire name = "MOB: Unathi Fire Damage Check" damagetype = BURN @@ -289,7 +289,6 @@ datum/unit_test/mob_damage/tajaran/brute datum/unit_test/mob_damage/tajaran/fire name = "MOB: Tajaran Fire Damage Check" damagetype = BURN - expected_vulnerability = EXTRA_VULNERABLE datum/unit_test/mob_damage/tajaran/tox name = "MOB: Tajaran Toxins Damage Check" @@ -342,7 +341,7 @@ datum/unit_test/mob_damage/resomi/halloss damagetype = HALLOSS // ================================================================= -// Skrell +// Skrell // ================================================================= datum/unit_test/mob_damage/skrell @@ -440,6 +439,7 @@ datum/unit_test/mob_damage/diona/clone datum/unit_test/mob_damage/diona/halloss name = "MOB: Diona Halloss Damage Check" damagetype = HALLOSS + expected_vulnerability = IMMUNE // ================================================================= // SPECIAL WHITTLE SNOWFLAKES aka IPC @@ -452,12 +452,12 @@ datum/unit_test/mob_damage/machine datum/unit_test/mob_damage/machine/brute name = "MOB: IPC Brute Damage Check" damagetype = BRUTE - expected_vulnerability = EXTRA_VULNERABLE + expected_vulnerability = ARMORED datum/unit_test/mob_damage/machine/fire name = "MOB: IPC Fire Damage Check" damagetype = BURN - expected_vulnerability = EXTRA_VULNERABLE + expected_vulnerability = ARMORED datum/unit_test/mob_damage/machine/tox name = "MOB: IPC Toxins Damage Check" @@ -477,6 +477,7 @@ datum/unit_test/mob_damage/machine/clone datum/unit_test/mob_damage/machine/halloss name = "MOB: IPC Halloss Damage Check" damagetype = HALLOSS + expected_vulnerability = IMMUNE // ============================================================================== diff --git a/icons/mob/screen1_robot.dmi b/icons/mob/screen1_robot.dmi index 04518a76145..19fcf445a9e 100644 Binary files a/icons/mob/screen1_robot.dmi and b/icons/mob/screen1_robot.dmi differ diff --git a/maps/exodus-1.dmm b/maps/exodus-1.dmm index 0cc71a25bf2..f4bc20d1deb 100644 --- a/maps/exodus-1.dmm +++ b/maps/exodus-1.dmm @@ -831,7 +831,7 @@ "apY" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) "apZ" = (/obj/machinery/atmospherics/unary/outlet_injector{dir = 1; frequency = 1443; icon_state = "on"; id = "air_in"; use_power = 1},/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) "aqa" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/turf/simulated/floor/tiled,/area/security/prison) -"aqb" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 4},/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/obj/structure/cable/green{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/security/prison) +"aqb" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Port Solar Control"; track = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aqc" = (/obj/structure/bed/chair,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/structure/cable/green{d1 = 1; d2 = 4; icon_state = "1-4"},/obj/machinery/atmospherics/pipe/manifold4w/hidden/scrubbers,/obj/machinery/atmospherics/pipe/manifold/hidden/supply{dir = 8},/turf/simulated/floor/tiled,/area/security/prison) "aqd" = (/obj/effect/decal/cleanable/dirt,/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) "aqe" = (/obj/structure/cable/green{d1 = 4; d2 = 8; icon_state = "4-8"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/supply{dir = 4},/turf/simulated/floor/tiled,/area/security/prison) @@ -1385,7 +1385,7 @@ "aAG" = (/obj/machinery/power/apc{dir = 2; name = "south bump"; pixel_y = -24},/obj/structure/flora/pottedplant/random,/obj/structure/cable/green{d2 = 8; icon_state = "0-8"},/obj/effect/floor_decal/corner/grey{tag = "icon-corner_white (SOUTHWEST)"; icon_state = "corner_white"; dir = 10},/turf/simulated/floor/tiled,/area/crew_quarters/sleep) "aAH" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/obj/structure/window/reinforced{dir = 8},/turf/simulated/floor/plating,/area/maintenance/arrivals) "aAI" = (/turf/simulated/wall/r_wall,/area/maintenance/auxsolarport) -"aAJ" = (/obj/machinery/power/solar_control{id = "auxsolareast"; name = "Fore Port Solar Control"; track = 0},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/obj/structure/cable/yellow{d2 = 4; icon_state = "0-4"},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) +"aAJ" = (/obj/effect/floor_decal/corner/pink{tag = "icon-corner_white (NORTHEAST)"; icon_state = "corner_white"; dir = 5},/obj/machinery/atmospherics/unary/vent_scrubber/on,/turf/simulated/floor/tiled/white,/area/medical/ward) "aAK" = (/obj/machinery/access_button{command = "cycle_interior"; frequency = 1379; master_tag = "solar_tool_airlock"; name = "interior access button"; pixel_x = 25; pixel_y = 25; req_access = list(11,13)},/obj/structure/cable/yellow{d1 = 1; d2 = 8; icon_state = "1-8"},/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/obj/machinery/atmospherics/pipe/manifold/visible{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aAL" = (/obj/structure/sign/securearea{desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; layer = 4; name = "EXTERNAL AIRLOCK"; pixel_x = 32; pixel_y = 0},/obj/machinery/portable_atmospherics/canister/air/airlock,/obj/machinery/atmospherics/portables_connector{dir = 8},/turf/simulated/floor/plating,/area/maintenance/auxsolarport) "aAM" = (/obj/structure/grille,/obj/structure/window/reinforced,/obj/structure/window/reinforced{dir = 1},/turf/simulated/floor/plating,/area/maintenance/evahallway) @@ -7456,7 +7456,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaafaafaaaaaaaaaanzaafaafaaaaafaafaaaaaaaamaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhanGaheaheaheaheaheaheanAanBaheaheaheaheanJanCanJamqanLanDanNamqanOanPanQanRanSamvamvamwanEanFamCanIanHankanKanYanManUanTanWanVaoaanZanYaqLambaojaoZaoYapMapaapOabdaafaapaafaacaaaaaaaaaakHakHakHakHakHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaafaobaobaobaobaobaafamGaafaobaobaobaobaobaafaaJaaaahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaafaocaocaocaocaocaafaodaafaocaocaocaocaocaafaaJaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaooaopaoqatragLaosaotaheaoeaofaowaomaolaozaonaovaouaoxaoxaoyaoxaoBaoAaoDaoCaoJaoEamvamvaoGaoFaoHamCaoKaoIankaoLanYaoMaoOaoNaoQaoPaoSaoRanYanYanYanYanYanYanYanYapPabdapbaoTaoUaaaaafaaaaaaakHakHakHakHakHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafamGaaaaaaaaaaafaaaaaaaaaaamaaaahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaJaafaoWaoVaoVaoVaoVaoXaodapcapdapdapdapdapeaafaaJaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaooaooapkaplagLamgapmapgapfapiaphapnapjappapoapoapqapraoxaptapsaoxaoxapuaoxapBapvapwamvamwamvangapxapyanHankapzanYapAapDapCapEapAapFapAapAapGapIapHapJapAapAanYapNattapbapbapTapbapbaaaaaaakHakHakHakHakHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaafamFamFamFamFamFaafamGaafamFamFamFamFamFaafaaJaaaaaaahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaafapKapKapKapKapKaafaodaafapKapKapKapKapKaafaaJaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapVapkaplagLapWapXahealuapLaowapRapQaqbapSaovapUapZapYaqcaqaaqeaqdaqgaqfaqmaqhaqiaoFaqjaoFaqlaqkaqoaqnaqqaqpanYaqraqsapAaquaqtaqvaqtaqwaqwaqwaqwaqwaqwaqwaqCaqEattapbaqxaqIaqyapbaaaaaaakHakHakHakHakHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaafanpanoanoanoanoanqamGanrantantantantanuaafaaJaaaaaaaaaaaaaaaaaaahHahHahHahHahHahHahHahHahHahHahHahHahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaafapKapKapKapKapKaafaodaafapKapKapKapKapKaafaaJaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaapVapkaplagLapWapXahealuapLaowapRapQaozapSaovapUapZapYaqcaqaaqeaqdaqgaqfaqmaqhaqiaoFaqjaoFaqlaqkaqoaqnaqqaqpanYaqraqsapAaquaqtaqvaqtaqwaqwaqwaqwaqwaqwaqwaqCaqEattapbaqxaqIaqyapbaaaaaaakHakHakHakHakHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaafanpanoanoanoanoanqamGanrantantantantanuaafaaJaaaaaaaaaaaaaaaaaaahHahHahHahHahHahHahHahHahHahHahHahHahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaafaodaaaaaaaaaaafaaaaaaaaaaaqaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaqKatsaqMagLaheaheaheaqzalvaheamqamqamqaqAaqFaqBaqHaqGaqJaoxaqOaqNaqQaqPaqYaqRaqTaqSaqVaqUaqWarfaqZaqXaraanianYarbardarcargareariarhapAarjarlarkarmarjapAanYapNattapbarnaruaroapbaaaaaaakHakHakHakHakHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaafaobaobaobaobaobaafamGaafaobaobaobaobaobaafaaJaaaaaaaaaaaaaaaaaaahHahHahHahHahHahHahHahHahHahHahHahHahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaJaafaocaocaocaocaocaafaodaafaocaocaocaocaocaafaaJaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqKarwaqMagLaosarxahearparqaowaomarraozaovarvartarzaryarAaoxarBamqarCarIarJarKarDarMarFarEarGarQarLarHarNamzanYanYarUanYanYanYanYanYanYanYanYanYanYanYanYanYapNattapbapbasaapbapbaaaaaaaaaakHakHakHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaafaaaaaaaaaamGaaaaaaaaaaafaaaaaaaaaaamaaaaaaaaaaaaaaaaaaahHahHahHahHahHahHahHahHahHahHahHahHahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaparOaapaaaaaaaaaaaaaaaaaaaaaaaJaafaoWaoVaoVaoVaoVaoXaodapcapdapdapdapdapeaafaaJaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaqKascaqMagLasdapmarRarParTarSaseasbasfaoxaoxasgasiashasjaoxaskamqasmaslassasnasoarMasqaspasrarQapbapbapbapbapbasyaszasAasBarsasCasCasDarVarWarVarVarXarYarYasEarZasFastasvasuaqDaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaaaaaaaaaaaaaaJaafamFamFamFamFamFaafamGaafamFamFamFamFamFaafaaJaaaaaaaaaaaaaaaaaaahHahHahHahHahHahHahHahHahHahHahHahHahHaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7469,7 +7469,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaujavfaxEaxFaujavfaxGaxFaujavfaxHavfavfavfavfavfavZatIaaaaaaaaJaaJaaJaaaaaaaafaaaaxIaxJaxIaafaafaafaafaaJaaJaaJaafaooaooaooaooaxKaxLaxLaxMaooaooaooaooaxnauqaxOaooaxPaxQaooaooayjaxSaxTaxUaxUaxUaxUaxUaxUaxUaxUaxVaxUaxUaxUaxUaxUaxWaxpaxoaxqaxWayaatnaybaycaydatUaxsaxraxraxtaxwaxuaxyaxxaxravuaxzaxgaxBaxAaxNaxNaxNaxNaxXauKauKaxmatQatQatQatQatQatQatQatQatQatQavdaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafaaaayraysayraaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaytaxYayeaxZayfaxYaygaxZayiayhaykaykaykaykaylavfayCatIaaaaafaafaaaaaaaaaaaaaafaaaayDayEayDaafaaaaafaaaaaaaaaaaaaaaaooayFayGayHayGayGayGayGayIayGayGayJayKayHayLayMaxUaxUaxUaxUaxUaxUayNayOayPayPayPayPayQayPayPayRayPayQayPayPayParMaynaymavsarQayVatnaydayWayXatUaypayoayuayqaywayvaywayxayoayyayAayzaySayBaySaySayUayTayZayYazaazpatQatQatQatQatQatQatQatQatQatQavdaafaaaaaaaaaaaaaaaaaaaaaaaaaafaafazqazrazsaztazuaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazvazbazdazcazfazeazhazgaziazhazkazjazhazhazlavfavZavjaafaafaaaaaaaaaaaaaaaaafazHazIazJazKazLaaaaafaaaaaaaaaaaaaaaaooazMaooazNazOazPazPazPazQazPazPazPazRazNazSazTazTazTazTazTazTazTazUazVayPazmazoaznazxazwazzazyazAazxazBazoazCarMazDaymavsarQayVatnaAiawPauLatUazEaxraxraxraxraxtazGazFazXazWaxvazYazZazZazZazZaAbaAaatxaAcatxatxatQatQatQatQatQatQatQatQatQatQavdaafaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaAvaAdaAfaAeaAvaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafavfaAzaAAaAzaAgazdazdaAhaAzaAAaAzaAjaAlaAkaAmavfavZaviaviaAHavmavmavmavmavnaviaAIaAJaAKaALaAIaooaooaxPaAMaxQaooaooaooazMaANazNaaaaafaaaaafaaaaafaaaaafaaaazNazSazTaAoaAnaAqaApaArazTazUauqayPaAsaAsaAUaAuaAtaAxaAwaAtaAyaBaazoazCarMazDaymaABarQayVatnawGaACaBdaBeaAEaADaAGaAFaAPaAOaAQaBmaBmaARaBmatxaATaASaAWaAVaAYaAXazpaAZaBbaBwatQatQatQatQatQatQatQatQatQatQavdaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaAvaBxaByaBzaAvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafavfaAzaAAaAzaAgazdazdaAhaAzaAAaAzaAjaAlaAkaAmavfavZaviaviaAHavmavmavmavmavnaviaAIaqbaAKaALaAIaooaooaxPaAMaxQaooaooaooazMaANazNaaaaafaaaaafaaaaafaaaaafaaaazNazSazTaAoaAnaAqaApaArazTazUauqayPaAsaAsaAUaAuaAtaAxaAwaAtaAyaBaazoazCarMazDaymaABarQayVatnawGaACaBdaBeaAEaADaAGaAFaAPaAOaAQaBmaBmaARaBmatxaATaASaAWaAVaAYaAXazpaAZaBbaBwatQatQatQatQatQatQatQatQatQatQavdaafaaaaaaaaaaaaaaaaacaaaaaaaafaaaaAvaBxaByaBzaAvaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaBAaujaBBawVaBCaBfaBcaBhaBgaBCawVaBHaBIaBJaBiaBjaBMavZavZavZavZavZavZavZavZaBkaBOaAIaBPaBQaBRaAIaEqaBTayGayGayGayGayGaBUaBVaBWazNaafaBXaBXaBXaBXaBXaBXaBXaafazNazSazTaBnaBlaBpaBoaBnazTazUaCcayPayPayPayPaBqazxaBsaBrazxaBtaCiazoaBuarMazDaymaBvarQaClatnaCmawPaCoatUazEavuatWaBmaBmaBmaBmaBmaBEaBDaBFaBmatxatxatxatxaCsatxatxaBGaBKaCvatQatQatQatQatQatQatQatQatQatQauiaafaDraDraDraDraDraDraaaaaaaafaaaaAvaCwaCxaCyaAvaaaaaaaaaaafaafaaaaaaaaaaaaaafaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazvaAAaCzaCAaCAaCAaCAaCBaAAazvaaaaBJaBLaBNaBMaCEaCEaCEaCEaCEaCEaCEaYYaBYaBSaAIaCHaCIaCJaAIaCKaCLaCKaCKaCKaCKaCKaCKaCKaCKaCMaaaaBXaCaaBZaCdaCbaCeaBXaaaazNazSazTaBnaCfaChaCgaBnazTazUaooayPaCjaCkaAUaCpaCnaCraCqaCuaCtayPayPayParMazDaymavsarQayVatnaDdaCCauLatUaCDavuatWaCFaCNaCGaCOaBmaBEaCPaBFaBmaDlaDmaDnaDoaDpaDqaDratxatxatxaDsatzatzatzatzaDtatzatzatzatzaDuaafaDraCQaCSaCRaCTaDraaaaaaaafaaaaAvaAvaDvaDwaAvaDxaDyaDzaDxaDxaDxaDxaDxaDxaDxaDAaDBaDBaDBaDCaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaDDaDDaDDaDDaDDaDDaDDaaaaaaaaaaaaaaaaaaaaaaaaaaaaCVaCUaDGaCUaCUaDHaDIaCUaCUaDGaCXaCWaBJaCYaCZaBMaDbaDaaDeaDcaDgaDfaCEbdHbdIaviaAIaAIaDUaDVaCMaDhaDjaDiaDEaDkaDJaDFaDLaDKaDMaCMaafaBXaDOaDNaDPaDNaDQaBXaafazNazSazTaDSaDRaDWaDTaDXazTazUaGmayPazmazoaDYazxazxaEaaDZaAtaEbaEwaEcaEcarMazDaymavsarQayVaEyaEyaEyaEyaEyaEeaEdatWaEfaEgaEgaEiaEhaEgaEjaEkaBmaEHaEIaEJaEKaELaEMaDraaaaafaafaafaaaaaaaafaafaafaafaaaaaaaafaafaafaDraElaEnaEmaEoaDraaaaDxaENaEOaDxaEpaEsaEraESaESaESaESaETaEUaEVaEVaEVaEVaEVaEVaEVaEWaEXaEtaafaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -7520,7 +7520,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVxbVwbVwbWvbWwbNVbWxbSsbWybNVaaaaaaaaaaaabNWbWzbWAbWBbWCbWDbPCbOdbVzbVybMUbOdbVibWGbWHbWIbWJbWKbWLbVibWMbWMbWMbWMbWMbUhbVBbVAbVDbVCbVFbVEbVHbVhbVIbVGbVObVLbVObVPbVObVQbVSbVRbVUbVTbVVbVTbVXbVWbWabVYbWcbWbbWfbWdbWibWhbXqbXrbNnbWjbWnbWmbWpbWobWqbWpbWpbWrbWsbBUbWubWtbBWbBWbLcbBWbXCaafbURbWFbWFbWNbWPbWObWRbWEbOUbWSbNubWkbXLbPkbPkbPkbPkbPkaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKTbPMbPMbPMbPMbPMbPMbWTbMtbWUbPMbPMbLpbLpbLpbLpbKTaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabXObXPbXQbXRbSsbXSbXTbXUbXVbNVaaLaaaaaaaaabNWbNWbNWbNWbNWbNWbNWbOdbWWbWVbWXbOdbVibXZbYabYbbYbbYabYcbVibWZbWYbWYbXabWMbYgbDHbDHbXcbXbbXebXdbXgbWQbXhbXfbXjbXibXlbXkbXnbXmbXpbXobXtbXsbXvbXubXxbXwbXzbXybXBbXAbXEbXDbXGbXFbnFbYLbIPbXHbXJbXIbXMbXKbXWbXNbXYbXXbYebYdbALbYfbYhbALbYjbYibZbaafbURbYlbYnbYmbWebYobZgbYkbYpbYqbNubWkbYtbYsbYvbYubUQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKTbLpbLpbLpbLpbLpbLpbSEbMtbRnbLpbLpbLpbLpbLpbKTbKTaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabYwbVwbVwbWvbZnbZobZpbNVbZqbNVbZrbZsbZtbZrbZrbYxbYzbYybYBbYAbZzbYCbYEbYDbYGbYFbZFbYabZGbZHbZIbZJbZKbYHbYJbYIbYMbYKbWMbZQbOqbZRbYObYNbYPbYPbYRbYrbYSbYQbUlbUlbZZbYTbUlbUlbYUcaccadcaebYWbYVbYXcaibYYcaicakcalbYZcalcakbZabnFbNmbIPbZcbZebZdbZhbZfbZjbZibNnbNnbwCbwCbwCbwCbwCbZkbZmbZlbwCbNubNubNubNubNubNubNubNubNubNubNubNucaybZwbZvbZybZxbUQaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaaaaaabKTbKTbRnbLpbLpbLpbLpbLpbLpbLpbLpbLpbLpbLpbKTbKTaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamcaBaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaacaCcaDcaDcaDcaEcaDcaDbZBbZAbZrbZCbZDbZrbZLbZEbZNbZMbZPbZObZTbZSbZVbZUbZXbZWcaVbYabZGcaWcaXbZJcaYbVibWMbWMbWMbWMbWMcaZbOqbDHcaabZYcafcabcahbZucajcagbUlcamcancancaocbmcbncbocbpcaebYXbYVcapcaicarcaqcakcascaucatcakcawbnFbBjbIPcbxcbycbzcbxcbxbIPbIPbIPcFkcGucbCcbDcbEbwCbwCcavbwCbwCcKNcbHcazcbJcbKcbLcbMcbNcbOcbPcbQcbRcbScbTbUQbUQbUQbUQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKSbKTbTzbTxbTxbLpbLpbLpbLpbLpbLpbLpbLpbKTbKTaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaamcaBaamaamaamaamaamaaaaaaaaaaaaaaaaaaaafaafaaacaCcaDcaDcaDcaEcaDcaDbZBbZAbZrbZCbZDbZrbZLbZEbZNbZMbZPbZObZTbZSbZVbZUbZXbZWcaVbYabZGcaWcaXbZJcaYbVibWMbWMbWMbWMbWMcaZbOqbDHcaabZYcafcabcahbZucajcagbUlcamaAJcancaocbmcbncbocbpcaebYXbYVcapcaicarcaqcakcascaucatcakcawbnFbBjbIPcbxcbycbzcbxcbxbIPbIPbIPcFkcGucbCcbDcbEbwCbwCcavbwCbwCcKNcbHcazcbJcbKcbLcbMcbNcbOcbPcbQcbRcbScbTbUQbUQbUQbUQaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafaafbKSbKTbTzbTxbTxbLpbLpbLpbLpbLpbLpbLpbLpbKTbKTaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaafaafcaAcaGcaFcaIcaHcbZcaJcaLcaKbZrcaMcaNbZrbZrcaOcaQcaPcaScaRcckcaTbYEbYDbYGcaUcbabYabYaccoccpbYaccqbVicbccbbbWMcbdbWMbUhccuccuccuccuccuccuccubUlcbecaxbUlcbfcbhcbgcbicbmccBccCccDcaebYXbYVcbjcaicblcbkcakcbqcbscbrcakcbubnFccLccMccNccOccPccQccNctcccSccTccUccVccWccXccUccYcbtcbwcbvcbUcbIcdhcbVcdgcdhcdicdjcdhcdkcdlcdmcdncdocdpcdqcbWbUQbUQbUQbUQaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaaaaaabPlbKTbMDbKTbKTbLpbLpbLpbLpbLpbLpbLpbKTbKTaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaaaaaaaaaaaaaaaaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafcbXcbXcaFccacbYcbZccbccccdxbZrccdccfccecchccgccjcciccmcclcdHccnccsccrccvcctccwcdOcdPcdQcdRcdScdTccxcczccyccEccAbWMbUhccuccFccHccGccJccIccZcbFcdaccKcdccdbcdecddcdfcbmcdtcdscducaebYXbYVcdrcaicdwcdvcakcdzcdBcdAcakcdDbnFbnFcexccNceycezceAccNceBceCceDceEceEceFceGceEceHcdCcdFcdEceHceLceMceNceOceLceLceLceLcePceNceOceLceLceQceRcdIceTcdKcdJceWcdLcdMcdMcdMcdMcdMcdMcdMcdMcdMcdMcdMcdMcdMcdMcdMcdMcdUcdNcdNcdVbKTbKTbLpbLpcdWbLpbLpbKTbKTaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaamaafaaaaaaaaaaaaaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacfdcfdcfdcfdcfdcfdcfdcfecffbZrbZrbZrbZrbZrcfgcfhcficficficfjcdXbYEbYDbYGcdYbZFcdZcebceacedcecceebVicegcefcehcefbWMbUhccuceicejcejcejcekcelbUlcemcdGbUlcbfcbgcenceocbmcerceqcescaebYXbYVbUscaicetcepcakcakcakcakcakcevcewbnFcexccNcfKcfLccNccNceBcfMceDceEceIceuceuceJceHcfQceKcfSceHceSceUceUceUceVceZceYcfaceXcfccfbcfkceLcfncfmcfobUQbUQbUQbUQaaaaafaaaaaaaaaaahaahaahaafaaaaaaaafaaaaaaaafaafaafcfqcfpcfrbMEbKSbKTbKTbLpbLqbLpbKTbKTaafaafaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa