diff --git a/code/modules/reagents/Chemistry-Machinery.dm b/code/modules/reagents/Chemistry-Machinery.dm index 06f03537c98..1e216767dba 100644 --- a/code/modules/reagents/Chemistry-Machinery.dm +++ b/code/modules/reagents/Chemistry-Machinery.dm @@ -19,8 +19,8 @@ var/hackedcheck = 0 var/list/dispensable_reagents = list("hydrogen","lithium","carbon","nitrogen","oxygen","fluorine", "sodium","aluminum","silicon","phosphorus","sulfur","chlorine","potassium","iron", - "copper","mercury","radium","water","ethanol","sugar","sacid","tungsten","iodine","bromine") - var/list/hacked_reagents = list("plasma","toxin") + "copper","mercury","plasma","radium","water","ethanol","sugar","sacid","tungsten","iodine","bromine") + var/list/hacked_reagents = list("toxin") var/hack_message = "You disable the safety safeguards, enabling the \"Mad Scientist\" mode." var/unhack_message = "You re-enable the safety safeguards, enabling the \"NT Standard\" mode." var/list/broken_requirements = list() @@ -283,7 +283,7 @@ dispensable_reagents = list() var/list/special_reagents = list(list("hydrogen", "oxygen", "silicon", "phosphorus", "sulfur", "carbon", "nitrogen"), list("lithium", "sugar", "sacid", "water", "copper", "mercury", "sodium"), - list("ethanol", "chlorine", "potassium", "aluminium", "radium", "fluorine", "iron")) + list("ethanol", "chlorine", "potassium", "aluminium","plasma", "radium", "fluorine", "iron")) /obj/machinery/chem_dispenser/constructable/New() ..() diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index e1fc9891302..24509dbb0c5 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -526,16 +526,30 @@ datum ticker.mode.remove_all_cult_icons_from_client(M.client) // fixes the deconverted's own client not removing their mob's cult icon for(var/mob/O in viewers(M, null)) O.show_message(text("\blue []'s eyes blink and become clearer.", M), 1) // So observers know it worked. - // Vamps react to this like acid - if(((M.mind in ticker.mode.vampires) || M.mind.vampire) && (!(VAMP_FULL in M.mind.vampire.powers)) && prob(10)) - if(!M) M = holder.my_atom - M.adjustToxLoss(1*REM) - M.take_organ_damage(0, 1*REM) + // Vampires who ingest holy water combust if it's in their system for long enough. + if(((M.mind in ticker.mode.vampires) || M.mind.vampire) && (!(VAMP_FULL in M.mind.vampire.powers)) && prob(80)) + data++ + switch(data) + if(1 to 3) + M << "Something sizzles in your veins!" + M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) + if(4 to 10) + M << "You feel an intense burning inside of you!" + M.adjustFireLoss(1) + M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) + if(11 to INFINITY) + M << "You suddenly ignite in a holy fire!" + for(var/mob/O in viewers(M, null)) + O.show_message(text("[] suddenly bursts into flames!", M), 1) + M.fire_stacks = min(5,M.fire_stacks + 3) + M.IgniteMob() //Only problem with igniting people is currently the commonly availible fire suits make you immune to being on fire + M.adjustFireLoss(3) //Hence the other damages... ain't I a bastard? + M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) holder.remove_reagent(src.id, 10 * REAGENTS_METABOLISM) //high metabolism to prevent extended uncult rolls. - reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with water can help put them out! - // Vamps react to this like acid + reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume) + // Vampires have their powers weakened by holy water applied to the skin. if(ishuman(M)) if((M.mind in ticker.mode.vampires)) var/mob/living/carbon/human/H=M @@ -543,22 +557,12 @@ datum if(H.wear_mask) H << "\red Your mask protects you from the holy water!" return - if(H.head) + else if(H.head) H << "\red Your helmet protects you from the holy water!" return - if(!M.unacidable) - if(prob(15) && volume >= 30) - var/datum/organ/external/affecting = H.get_organ("head") - if(affecting) - if(affecting.take_damage(25, 0)) - H.UpdateDamageIcon() - H.status_flags |= DISFIGURED - H.emote("scream") - else - M.take_organ_damage(min(15, volume * 2)) // uses min() and volume to make sure they aren't being sprayed in trace amounts (1 unit != insta rape) -- Doohl - else - if(!M.unacidable) - M.take_organ_damage(min(15, volume * 2)) + else + M << "Something holy interferes with your powers!" + M.mind.vampire.nullified = max(5, M.mind.vampire.nullified + 2) return serotrotium @@ -1396,27 +1400,6 @@ datum M.adjustToxLoss(3*REM) ..() return - reaction_obj(var/obj/O, var/volume) - src = null - /*if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/egg/slime)) - var/obj/item/weapon/reagent_containers/food/snacks/egg/slime/egg = O - if (egg.grown) - egg.Hatch()*/ - if((!O) || (!volume)) return 0 - var/turf/the_turf = get_turf(O) - var/datum/gas_mixture/napalm = new - var/datum/gas/volatile_fuel/fuel = new - fuel.moles = volume - napalm.trace_gases += fuel - the_turf.assume_air(napalm) - reaction_turf(var/turf/T, var/volume) - src = null - var/datum/gas_mixture/napalm = new - var/datum/gas/volatile_fuel/fuel = new - fuel.moles = volume - napalm.trace_gases += fuel - T.assume_air(napalm) - return reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)//Splashing people with plasma is stronger than fuel! if(!istype(M, /mob/living)) return diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm index 0b0f661a303..06f44cf718a 100644 --- a/code/modules/reagents/Chemistry-Recipes.dm +++ b/code/modules/reagents/Chemistry-Recipes.dm @@ -426,17 +426,6 @@ datum required_reagents = list("sodiumchloride" = 1, "ethanol" = 1, "radium" = 1) result_amount = 3 - plasmasolidification - name = "Solid Plasma" - id = "solidplasma" - result = null - required_reagents = list("iron" = 5, "frostoil" = 5, "plasma" = 20) - result_amount = 1 - on_reaction(var/datum/reagents/holder, var/created_volume) - var/location = get_turf(holder.my_atom) - new /obj/item/stack/sheet/mineral/plasma(location) - return - plastication name = "Plastic" id = "solidplastic" diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 1545683f537..21d20f2df4d 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -21,7 +21,7 @@ return attack(mob/M as mob, mob/user as mob, def_zone) if(M == user) - M << "\blue You [apply_type] [src]." + M << "\blue You [apply_method] [src]." M.unEquip(src) //icon update if(reagents.total_volume) reagents.reaction(M, apply_type) diff --git a/icons/obj/weapons.dmi b/icons/obj/weapons.dmi index 9a0e4ade843..0b6fc99f903 100644 Binary files a/icons/obj/weapons.dmi and b/icons/obj/weapons.dmi differ diff --git a/maps/cyberiad.dmm b/maps/cyberiad.dmm index 477c1225e7e..fbbb2a54233 100644 --- a/maps/cyberiad.dmm +++ b/maps/cyberiad.dmm @@ -5084,7 +5084,7 @@ "bTN" = (/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/apmaint) "bTO" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/apmaint) "bTP" = (/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"bTQ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/maintenance/aft) +"bTQ" = (/obj/structure/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/structure/closet/crate,/turf/simulated/floor/plating,/area/maintenance/apmaint) "bTR" = (/obj/structure/disposalpipe/segment{dir = 8; icon_state = "pipe-c"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,/turf/simulated/floor/plating,/area/maintenance/apmaint) "bTS" = (/obj/machinery/alarm{dir = 8; icon_state = "alarm0"; pixel_x = 24},/turf/simulated/floor/wood,/area/blueshield) "bTT" = (/obj/structure/stool/bed/chair/office/dark,/turf/simulated/floor/carpet,/area/ntrep) @@ -5165,8 +5165,8 @@ "bVq" = (/obj/structure/reagent_dispensers/watertank,/obj/effect/decal/cleanable/dirt,/turf/simulated/floor/plating,/area/maintenance/apmaint) "bVr" = (/obj/machinery/power/apc{dir = 2; name = "Cargo Maintenance APC"; pixel_y = -24},/obj/effect/decal/cleanable/dirt,/obj/structure/cable{icon_state = "0-4"; d2 = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 5},/turf/simulated/floor/plating,/area/maintenance/apmaint) "bVs" = (/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0},/obj/structure/disposalpipe/segment{dir = 1; icon_state = "pipe-c"},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating,/area/maintenance/apmaint) -"bVt" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/turf/simulated/floor/plating,/area/maintenance/aft) -"bVu" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "HoP Office"; sortType = 15},/turf/simulated/floor/plating,/area/maintenance/aft) +"bVt" = (/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 4},/obj/structure/cable{d1 = 4; d2 = 8; icon_state = "4-8"; pixel_x = 0; tag = ""},/obj/structure/disposalpipe/sortjunction{dir = 8; icon_state = "pipe-j1s"; name = "HoP Office"; sortType = 15},/turf/simulated/floor/plating,/area/maintenance/apmaint) +"bVu" = (/obj/structure/table,/obj/item/pod_parts/core,/obj/item/weapon/circuitboard/mecha/pod,/obj/item/clothing/glasses/welding{pixel_y = 12},/turf/simulated/floor,/area/engine/mechanic_workshop) "bVv" = (/obj/structure/disposalpipe/segment{dir = 2; icon_state = "pipe-c"},/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{dir = 9},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = ""},/obj/machinery/light/small{dir = 4},/turf/simulated/floor/plating,/area/maintenance/apmaint) "bVw" = (/obj/machinery/keycard_auth{pixel_x = -24; pixel_y = 0},/obj/machinery/door/window{dir = 1; name = "Desk Door"; req_access_txt = "67"},/turf/simulated/floor/wood,/area/blueshield) "bVx" = (/obj/structure/table/woodentable,/obj/item/ashtray/glass{pixel_x = -4; pixel_y = -4},/obj/item/weapon/lighter/zippo/fluff/li_matsuda_1{pixel_x = 7; pixel_y = 4},/turf/simulated/floor{icon_state = "bcarpet05"},/area/blueshield) @@ -7190,7 +7190,7 @@ "cIn" = (/obj/machinery/atmospherics/trinary/filter{density = 0; dir = 4; filter_type = 1; name = "Gas filter (O2 tank)"; on = 1},/turf/simulated/floor,/area/atmos) "cIo" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 4; level = 2},/turf/simulated/floor,/area/atmos) "cIp" = (/obj/machinery/atmospherics/pipe/simple/visible/green{dir = 9; level = 2},/turf/simulated/floor,/area/atmos) -"cIq" = (/obj/structure/table,/obj/item/pod_parts/core,/obj/item/weapon/circuitboard/mecha/pod,/turf/simulated/floor,/area/engine/mechanic_workshop) +"cIq" = (/obj/machinery/door_control{id = "mechpod"; name = "Mechanic's Inner Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "70"},/obj/structure/table,/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/obj/item/stack/sheet/mineral/plasma{amount = 30},/turf/simulated/floor,/area/engine/mechanic_workshop) "cIr" = (/obj/structure/closet/radiation,/turf/simulated/floor/plating,/area/storage/secure) "cIs" = (/obj/machinery/the_singularitygen{anchored = 0},/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 4},/area/storage/secure) "cIt" = (/obj/machinery/power/port_gen/pacman,/turf/simulated/floor/plating{icon_state = "warnplate"; dir = 8},/area/storage/secure) @@ -13132,14 +13132,13 @@ "eSB" = (/turf/simulated/floor/plating/airless,/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk5"; icon_state = "catwalk5"},/area/solar/auxstarboard) "eSC" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk5"; icon_state = "catwalk5"},/area/solar/auxstarboard) "eSD" = (/turf/simulated/floor/plating/airless,/obj/structure/cable{d1 = 2; d2 = 8; icon_state = "2-8"; tag = ""},/turf/simulated/floor/plating/airless/catwalk{tag = "icon-catwalk14"; icon_state = "catwalk14"},/area/solar/auxstarboard) -"eSE" = (/obj/machinery/door_control{id = "mechpod"; name = "Mechanic's Inner Door Control"; pixel_x = 0; pixel_y = -24; req_access_txt = "70"},/obj/structure/table,/obj/item/stack/sheet/plasteel{amount = 10},/obj/item/stack/sheet/metal{amount = 50},/obj/item/stack/sheet/glass{amount = 50},/obj/item/stack/rods{amount = 50},/turf/simulated/floor,/area/engine/mechanic_workshop) +"eSE" = (/obj/structure/rack{dir = 1},/obj/item/weapon/extinguisher,/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/radio{pixel_y = 6},/turf/simulated/floor,/area/engine/mechanic_workshop) "eSF" = (/obj/machinery/firealarm{dir = 1; pixel_y = -24},/obj/machinery/spod_part_fabricator,/turf/simulated/floor{icon_state = "bot"},/area/engine/mechanic_workshop) "eSG" = (/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/structure/window/reinforced{dir = 8},/obj/machinery/vending/coffee,/turf/simulated/floor{icon_state = "dark"},/area/engine/mechanic_workshop) "eSH" = (/obj/machinery/light_switch{name = "light switch "; dir = 2; pixel_x = 0; pixel_y = -22},/turf/simulated/floor{dir = 5; icon_state = "dark"; tag = "icon-vault (NORTHEAST)"},/area/engine/mechanic_workshop) "eSI" = (/obj/item/device/radio/intercom{name = "Station Intercom (General)"; pixel_y = -29},/obj/machinery/computer/rdconsole/mechanics,/turf/simulated/floor{icon_state = "dark"},/area/engine/mechanic_workshop) "eSJ" = (/turf/simulated/wall,/area/engine/mechanic_workshop) "eSK" = (/obj/structure/grille,/turf/simulated/floor/plating,/area/maintenance/aft) -"eSL" = (/obj/structure/rack{dir = 1},/obj/item/weapon/storage/belt/utility,/obj/item/weapon/storage/toolbox/electrical,/obj/item/weapon/storage/toolbox/mechanical{pixel_x = -2; pixel_y = -1},/obj/item/device/radio{pixel_y = 6},/turf/simulated/floor,/area/engine/mechanic_workshop) "eSM" = (/obj/structure/window/reinforced{dir = 8},/obj/structure/flora/kirbyplants,/turf/simulated/floor{icon_state = "dark"},/area/engine/mechanic_workshop) "eSN" = (/turf/simulated/floor,/area/engine/mechanic_workshop) "eSO" = (/obj/structure/table,/obj/item/weapon/paper_bin{pixel_x = 1; pixel_y = 9},/obj/item/weapon/folder/yellow,/obj/item/weapon/pen,/turf/simulated/floor{icon_state = "dark"},/area/engine/mechanic_workshop) @@ -13295,7 +13294,7 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUbyUby aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaaaaabyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabNSbPibPibPibRabRbbMCbRcbRdbRebMCbPqbRfbRgbIybIybIybIybIybIybRhbOjbRicbXbRmbRkbRkbRkbRocbldrybRnbRnbRnduveMTbRpbRqbRreMUbRsbRtbRubRvbRwbRxeMyeMAbRyeMBbRzbRAbRBbRCbRDeMBbLFbKmbLGbLHbREbRFbRGbRHeMVbRIbRJbRKbRLeMFbRMbRNbROeMWbRPbRQbRRbRSbRTbRUeLueLueLueLueLueMXeMZeMYeLtbRVbQDbQDbRWbQDbRXbRYeNbeNabRZbKSbSabSaeMcbJlbSbbJneKIeMtbcZeMteMteMteMteMteMteMtbSdbSeeMwbSfbSgbSheMwaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacaacbSibQVbQVbSjbQZbQZbQXbQXbSkbQXbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaaaaaaaabyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabMzbPjbPjbPjbMzbSlbSmbSnbSobSpbMCbSqbSrbSsbStbSubSubSubSvbOjbOjbOjbPxbXibRlbRkbSwbRkbSxcblbSybRnbSzbRnbSAcblbSBbSCbSDeMybSEbSFbSGbSHbSIbSJeNdbSKbSLeNebSMbSNbSObSPbSQeMBbNjbKmbKmbSRbREbRFbSSbSTeNfbQibSVbSWbSXeNgbSZbTabTbeNhbTdbTebTfbTfbQrbTgeMGbThbTibTjbTkbTlbTmbTneNbbRVbTobQDbQDbQDbTpbTqeNbeNabTrbKSbSabSaeMcbTsbTtbJneKIbTubTvbTweMtbTxbTybTzbTAbTBbTCbTDeMwbTEbTFbTGeMweMteMteMteMteMteMteMteMtaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaeNibQZbSibQZbQZbQXbQXbQXbQXbQXbQXbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaaaaaaaaaaabyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVbyVaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaabNSbTIbTJbTKbNSbTLbNXbNYbIwbIwbTMbTMbTMbIwbIwbOjbTNbTNbTObTPbOjbTQbTRbXibRlbRkbRkbRkbTScblbSybRnbRnbTTbTUeNjbTVbTWbTXeMyeMyeMyeMyeMyeNkeMyeMybTZbUaeMBeMBeNleMBeMCeMBeMBbUcbUdbUdbUcbUcbUebUfeNmeNnbUibUjbUkbUleNoeNpbUnbTbeNqbUpbUqbUrbUsbUtbUueMGbUvbUwbUxbUybUzbUAbUBeNrbUCeNrbUDbUEbUFeNreNseNreNrbUGbUHbSabSaeMcbUIbSbbJnbUJbUKbULbUMbUNbUObUPbUPbUQbURbUSbUTbUUbUVbUWbUXbUYbUZbVabVbeNtbVcbVdbVeeNuaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaaeMMbQZbVgbVhbVhbQXbQXbQXbQXbQXbQXbQXbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVibMybVjbMybVkbVlaabaaaaaabIwbVmbVnbVobIwaaabOjbVpbVqbVrbVsbVtbVubVvbXibVwbVxbVybRkbRlccZbVzbVAbVBbVCbVDcblbVEbVFbVGbVHbVIbVIbVIbVIbVJbVKbVLbVMbVMbVNbVNbVObVPbVQeMAbUcbVRbVSbVTbVUeNvbRFbVWeNmeNxeNweNybVZeMkeNzeNAbWbbWceNBeNBeNCeNBeNBeNBeNDeMGbWfbWgbWhbWibWjbWkbWleNrbWmbWnbWobWpbWqbWnbWrbWsbWnbWtbWubKTeMceMcbWvbWwbWxacFbWybWzbWAeNEbWBbWCbWDbWEbWFbWGbWHbWIbWJbWKbWJbWLbWKbWKbWKbWMbWNbWObWPeNFaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabQZbQZbWRbQXbQXbQXbQXbQXbQXbQXbQXbQXbQXbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabyUbyUbyUbyUbyUbyUbyUbyUbyUaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabVibMybVjbMybVkbVlaabaaaaaabIwbVmbVnbVobIwaaabOjbVpbVqbVrbVsbSubVtbVvbXibVwbVxbVybRkbRlccZbVzbVAbVBbVCbVDcblbVEbVFbVGbVHbVIbVIbVIbVIbVJbVKbVLbVMbVMbVNbVNbVObVPbVQeMAbUcbVRbVSbVTbVUeNvbRFbVWeNmeNxeNweNybVZeMkeNzeNAbWbbWceNBeNBeNCeNBeNBeNBeNDeMGbWfbWgbWhbWibWjbWkbWleNrbWmbWnbWobWpbWqbWnbWrbWsbWnbWtbWubKTeMceMcbWvbWwbWxacFbWybWzbWAeNEbWBbWCbWDbWEbWFbWGbWHbWIbWJbWKbWJbWLbWKbWKbWKbWMbWNbWObWPeNFaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabQZbQZbWRbQXbQXbQXbQXbQXbQXbQXbQXbQXbQXbQXbQZbQZaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabaabbWSbOjbOjbOjbWTbOjbOjbWUbXibWVbWWbWXbWYbWZcdgbXabXbbXcbXdbXeccZbXfbXgbXhccacepcepcepcepcfyceqcfCeNGbXjeNGeNGbYLbXlbXmbXnbXobXpbXqbXrbXsbXtbXubXvbXwbXxbXybXzbXAbXBbXCbXDbXEbXFbXFbXFbXGbXHbXIbXJbXKeNHeNHbXLeNHeNJeNIeNLeNKeNrbXPbXQbXRbXSbXRbXTbXUbXVbWneMcbXWeMceMcbXXbXYbSbbvqeKIeMtbXZeMteMtbYabYbbYcbYdbYebWKbYfbYgbYhbWDbYhbWDbYibWDbWDeMtbYjbYkbYleNMaabaabaabaabaabaabaabaabaaaaaaaaaaaaaaabQZbQXbQXbQXbQXbQXbQXbYnbQXbYobQXbQXbQXbQXbQXbQZbQZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWSbYpbYqbYrbOjbYsbXibYtbYubYvbRlbYwcfUbYxbSybYybYzbYAcfUbYBbYCbYDcgYcgYbYEbYFbYGbYHbYIciobYJbDgbYKeMAbZXbDgbDgeNOeNNbYNbYObYPbXsbYQbYRbYSbYTbYUbYVbYWbYXbYYbYVbYVbYZbZabZabZabZbbZabZcbZabZdbZebZfbZgbZhbZibZjbZkbZleNrbZmbZnbZobZpbZobZqbZrbXRbZsbZtbZubvqbZvbvqbXYbSbbvqeKIbZwbZxbZyeMteMteMteMteMtbZzbWDbZAbZBbYibWDbZCbWDbSdbWDbZDeMtbZEbZFbZGeMtaabaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaabQZbZHbZHbZHbZHbZHbZHbZIbQXbZJbZHbYobQXbQXbQXbQXbQZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabWSbZKbZLbZMbOjbYscjjcjjcjjcjjcjjcjjcblcblcblcblcblcblcblbZNbZObZPbZQbZRbZSbZTbZTbZUbZVciobDgbDgbZWeMAbXkbDgbDgbDgbZYbZZcaabXqcabeNPcacbZacadcaecafbLJcaecagbXFbXFbXFbXFbXFbXFcaebXFbXFbXFbLJcahcaicajcakcalcamcancaoeNrcapcaqbXRcarbXRcascatcaucavcawcaxcaybvqcazbXYbSbcaAeKIbyOcaBcaCcaDcDsbsabsaeMtcaEcaFcaGcaHcaIcaJcaKcaLcaMcaNcaOeMtcaPcaQcaRcaSaacaacaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaacaTbQVbQVbQVbQVbQVbQVbQVcaUcgpbQXbQXbQXbQXcaVbQYbQZaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa @@ -13310,8 +13309,8 @@ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBRcjXcjYcjZckackackbckgckhckiclgclhckeckfckjckjckjckkcklckmckncknckockpckqckrcksckrckrckrckqckrckrcktckuckvckwbYCbTWckxePeckzcCccgYcDEcCLcDGcDFcDJcDIcDLcDKcDNbDgbDgeONckCckDckEckFckGckHeONckIckGckJckKckEckLeOWbDgbDgbDgckMchwcdMchwckNbDgbDgbDgbDgbDgbDgbDgbDgbDgbDgeOvckRckXckXckXeQLchNchNeQKckXckXckXckXeQOeQNeOlckQeOmePfeQMeQVclZcmfeQSeQQeQReQQeQPeQHciOeQIeQIeQJeOXckZclaclbeOXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBRcjXclccldclecldclfcqfcmscmtcllclkcllclmclnclnclnclnbYCbTXbTXbTXclncloclnclnclnclnclnclnclnclnclnclnclpclqclrclscltcluePgclwclxcGIclyclzclAclBcHKclDclEclFcHLcficlGePhcjLclIclJclKcizclLeONclHcizclKclMciyclNeOWclOePiePiePjclPclQclReOqePkeOHeOHePleOEeOEeOEeOFeOHeOGeOvciQcmacmacmaciTcmccmdeRFcmaeRGcmacmaciVeOvclWclXclYeOleRDeRxcrAcvGcvFeOIcwWcvFeQTeRHcgxeQIeQIeQIeOXePmcmgePoePnaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacBRcmicldcmjcmkcmlcmmcmpclicljcmncmocmqcmrcmucmvcmwcmwcmxccacmyccacmucmzcmucmucmucmucmucmucmucmucmucmucmAclncmBcmCcmDcmEcHPcmGcmHcmIcmJcmKcmLcmMcmNcmOcmPcmQcDIbXlcmRePpcmTcizciycizcizcmUePqcmVcizcizciCciycmWeOWcmXeOEaaaePreOqcmYeOqeOqaaaaaaaaaaabaabaaaaaaaaaaaaaaaeOveOveOvcgrcvEcgyeOleOleOleOleOleOleOleOleOlcmZcnacnbeOleRseRoeRneQUeQXeRreRqcgCeRdcgCciOeRueRveRteOXePvcnfePvaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaMIaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOabAcABcABcABcABcABcABeSLeSNeSNeSMclleSOcABcgXcngcolcolcnhcolcnicolcolcIdcIecolcolcIfcIgcIecolcolcolcolcnkcnlcnmcnncnocnpcnqcnrcnscnrcnrcntcnrcnucnvcnwcnxcnycDNbDgcmXePwcnzcnAcnBcnCcnDcnEeONcnFcnDcnGciCcnHcnIeOWcmXeOEaaaePrcnJcnKcnLeOqaaaaaaaaaaaacnMaaaaaaaaaaaaaaaaaaaaaaaacnMaaaaaaeOlcnNcnOcnPePxcnReRlcnTePycnUeRSeRReOleRieRpeRmeRyeRweRweRJeRIclZeRWeRaeQSeRVeRYeOXePAcnYePAaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuacuacuakqakqacuakqakqakqakUakqakqaabakUcnZaaaaabaabdyqdyqdyqcABcIqeSEeSFeSGeSHeSIeSJeSKcoacIucoccodcoecofcogcohcoicojcokcolcojcomconcoocoocopcolcoqcorcoscotbTWcoucIBcowcoxcoycozcoycoAcoBcoCcoDcoEcoFcDNcDNcmXePweOWeOWcoGeOWeOWePBePDePCePCePCcoHePCePEePCcoIeOEaaaePrcoJcnKcoKeOqePGePFePFePHeOqeOqePJePIePIePKePIePIePKePLaaaaaaeOlcoPcoQcoPcoRcoScoTcoUePyePMcoVePMeOleRzeRBeRAeRAeRCeRweRJeRIeRKcgCciOeRMeRNeRccgqaaacoWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacOabAcABcABcABcABcABcABeSEeSNeSNeSMclleSOcABcgXcngcolcolcnhcolcnicolcolcIdcIecolcolcIfcIgcIecolcolcolcolcnkcnlcnmcnncnocnpcnqcnrcnscnrcnrcntcnrcnucnvcnwcnxcnycDNbDgcmXePwcnzcnAcnBcnCcnDcnEeONcnFcnDcnGciCcnHcnIeOWcmXeOEaaaePrcnJcnKcnLeOqaaaaaaaaaaaacnMaaaaaaaaaaaaaaaaaaaaaaaacnMaaaaaaeOlcnNcnOcnPePxcnReRlcnTePycnUeRSeRReOleRieRpeRmeRyeRweRweRJeRIclZeRWeRaeQSeRVeRYeOXePAcnYePAaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacuacuacuakqakqacuakqakqakqakUakqakqaabakUcnZaaaaabaabdyqdyqdyqcABbVucIqeSFeSGeSHeSIeSJeSKcoacIucoccodcoecofcogcohcoicojcokcolcojcomconcoocoocopcolcoqcorcoscotbTWcoucIBcowcoxcoycozcoycoAcoBcoCcoDcoEcoFcDNcDNcmXePweOWeOWcoGeOWeOWePBePDePCePCePCcoHePCePEePCcoIeOEaaaePrcoJcnKcoKeOqePGePFePFePHeOqeOqePJePIePIePKePIePIePKePLaaaaaaeOlcoPcoQcoPcoRcoScoTcoUePyePMcoVePMeOleRzeRBeRAeRAeRCeRweRJeRIeRKcgCciOeRMeRNeRccgqaaacoWaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaaaaaaaacuaaaaaaaabaabaaaaabaabaaaaaaaabaabaabaaacnZaaaaaaaaaaabaabdyqcABcABcABcABcABcABcABcABcKncoacIQcoZcpacpbcpccpccpccpccpdcpecpfcoocpgcoocoocphcoocpicpjcpkcplcotbTWcpmePNcpncoxcpocppcpqcoxcprcpscptcpucpvcpwcpxcpycpzcpAcpAcpBcpCcpDcpEcpFbXlbXlbXlcpGbDgbDgbVPbDgeOEaaaePrcpHcnKcpIePOcpJcpKcpLcpMcpNcpOcpPcpNcpOcpQcpNcpRcpSePPaaaaaaeOlcoPcoPcoPePQcpUcnScpVcpWcpXcpYciSeOleRLeRAeRAeRAeROeRweRweRweRTciRcgqcgxcgCcgxcgqaaacqbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaaaaacuaaacqccqdcqeaaacqccqdcqeaaacqccqdcqeaabckdaabaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaaaaaaackccoacIQcqgcoocphcqhcoocoocoocqicoocqgcqgcoocoocoocoocqjcIScpjcqlclncqmbTWePNePNcqncoxcqocqpcqqcoxcqrcHKcqscqtcqucqvcITbVQbDgcqwbVQcqwbDgbDgbDgcmXbDgeOEeOFeOHeOHeOHeOGeOEeOEaaaePRcqycqzcqAePScqCchwchwcqDcqEcqFcqGcqEcqFcqGcqEcqFcqGePPaaaaabeOlePyePyePyePycqHcoTcqIcqJcqKcqLcqNeOleSbeRAeSceRAeSdeSfeSeeSheSgciJcgqcgCcgCciIcgqaaacqbaaaaaaaaaaaaaaaaaaaaaaaaaagaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacoXcoXcoXcoXcoXcoXcoXcoXcoXaaaaaaaaaaaaaaaaaaacuaaacqccqQcqeaaacqccqQcqeaaacqccqQcqeaabaabaabaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaabaabcIOcoacIUcqgcqRcoocqScqTcqUcqUcpgcoocqgcqVcoocoocoocoocqWcIVcqYcqZbSCcracrbePTcrdcrecoxcqocrfcrgcoxcrhcHKcDNcIXcDIcIZcIYcJfcJacJucJjcJCcJacJacJacJDcJaeOEaaaaaaaaaaaaaaaaaaaabaaaePrcrlcnKcrmePUcrnchwchwcqDcrocrpcrqcrrcrpcrqcrrcrpcrsePPaabaabeOlcnNcnOcnPePVcrucnScrvcrwcrxcrycjJeOleRAeRAeSieSkeREeRweRweRweRjeRkcgqcjEcjFcjHcgqaaacqbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa