From a3e8d9a97cbdd3aecade5c2a474b939c383a5032 Mon Sep 17 00:00:00 2001 From: Mykhailo Bykhovtsev Date: Sat, 14 Dec 2019 12:45:42 -0800 Subject: [PATCH] Adding new special pens (#7425) --- code/datums/supplypacks.dm | 3 +- .../stealthy and inconspicuous weapons.dm | 10 +- .../items/weapons/storage/uplink_kits.dm | 15 +- code/modules/paperwork/pen.dm | 566 +++++++++--------- html/changelogs/Sindorman-pens.yml | 44 ++ icons/obj/bureaucracy.dmi | Bin 19645 -> 19795 bytes 6 files changed, 367 insertions(+), 271 deletions(-) create mode 100644 html/changelogs/Sindorman-pens.yml diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 4152a1dd2e9..0f447c8e3d9 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -35,8 +35,9 @@ var/list/all_supply_groups = list("Operations","Security","Hospitality","Enginee /obj/item/grenade/smokebomb, /obj/item/grenade/smokebomb, /obj/item/grenade/smokebomb, - /obj/item/pen/reagent/paralysis, + /obj/item/storage/box/syndie_kit/special_pens, /obj/item/grenade/chem_grenade/incendiary) + cost = 20 containertype = /obj/structure/closet/crate containername = "crate" diff --git a/code/datums/uplink/stealthy and inconspicuous weapons.dm b/code/datums/uplink/stealthy and inconspicuous weapons.dm index a785a4b2405..e6b8eb14f52 100644 --- a/code/datums/uplink/stealthy and inconspicuous weapons.dm +++ b/code/datums/uplink/stealthy and inconspicuous weapons.dm @@ -24,8 +24,14 @@ item_cost = 4 path = /obj/item/cartridge/syndicate +/datum/uplink_item/item/stealthy_weapons/pens + name = "Pen-jector Kit" + desc = "A kit that contains four differently coloured pens. A red poison pen, a blue pacifying pen, a green pen containing healing chemicals, and a yellow hyperzine pen." + item_cost = 6 + path = /obj/item/storage/box/syndie_kit/special_pens + /datum/uplink_item/item/stealthy_weapons/parapen - name = "Paralysis Pen" + name = "Paralysis pen" item_cost = 6 path = /obj/item/pen/reagent/paralysis @@ -37,4 +43,4 @@ /datum/uplink_item/item/stealthy_weapons/sleepy_ring name = "Sleepy Ring" item_cost = 7 - path = /obj/item/clothing/ring/reagent/sleepy \ No newline at end of file + path = /obj/item/clothing/ring/reagent/sleepy diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm index 41a466f479d..1c1e5dace5e 100644 --- a/code/game/objects/items/weapons/storage/uplink_kits.dm +++ b/code/game/objects/items/weapons/storage/uplink_kits.dm @@ -11,7 +11,10 @@ if("stealth") new /obj/item/gun/energy/crossbow(src) - new /obj/item/pen/reagent/paralysis(src) + new /obj/item/pen/reagent/healing(src) + new /obj/item/pen/reagent/pacifier(src) + new /obj/item/pen/reagent/hyperzine(src) + new /obj/item/pen/reagent/poison(src) new /obj/item/device/chameleon(src) return @@ -136,6 +139,16 @@ /obj/item/hand_labeler = 1 ) +/obj/item/storage/box/syndie_kit/special_pens + name = "box (P)" + starts_with = list( + /obj/item/pen/reagent/healing = 1, + /obj/item/pen/reagent/pacifier = 1, + /obj/item/pen/reagent/hyperzine = 1, + /obj/item/pen/reagent/poison = 1 + + ) + /obj/item/storage/box/syndie_kit/spy name = "spy kit" desc = "For when you want to conduct voyeurism from afar." diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 46705b242c9..de391574ac7 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -1,267 +1,299 @@ -/* Pens! - * Contains: - * Pens - * PDA Pens - * Sleepy Pens - * Coloured Pens - * Parapens - * Fountain Pens - */ - - -/* - * Pens - */ -/obj/item/pen - desc = "An instrument for writing or drawing with ink. This one is in black, in a classic, grey casing. Stylish, classic and professional." - name = "pen" - icon = 'icons/obj/bureaucracy.dmi' - icon_state = "pen" - item_state = "pen" - slot_flags = SLOT_BELT | SLOT_EARS - throwforce = 0 - w_class = 1.0 - throw_speed = 7 - throw_range = 15 - matter = list(DEFAULT_WALL_MATERIAL = 10) - var/colour = "black" //what colour the ink is! - drop_sound = 'sound/items/drop/accessory.ogg' - -/obj/item/pen/ispen() - return TRUE - -/* - * PDA Pens - */ - -/obj/item/pen/black - desc = "An instrument for writing or drawing with ink. This one is in black, in a sleek, black casing. Stylish, classic and professional." - icon_state = "pen_black" - -/obj/item/pen/silver - desc = "An instrument for writing or drawing with ink. This one is in black, in a shiny, silver casing. Stylish, classic and professional." - icon_state = "pen_silver" - -/obj/item/pen/white - desc = "An instrument for writing or drawing with ink. This one is in black, in a sterile, white casing. Stylish, classic and professional." - icon_state = "pen_white" - -/* - * Coloured Pens - */ - -/obj/item/pen/blue - desc = "An instrument for writing or drawing with ink. This one is in blue. Ironically used mostly by white-collar workers." - icon_state = "pen_blue" - colour = "blue" - -/obj/item/pen/red - desc = "An instrument for writing or drawing with ink. This one is in red. Favored by teachers and creeps who like to pretend to write in blood." - icon_state = "pen_red" - colour = "red" - -/obj/item/pen/invisible - desc = "An instrument for writing or drawing with ink. This one has invisible ink." - icon_state = "pen" - colour = "white" - -/obj/item/pen/multi - desc = "An instrument for writing or drawing with ink. This one comes with with multiple colors! Push down all three simultaneously to rule the universe." - icon_state = "pen_multi" - var/selectedColor = 1 - var/colors = list("black","blue","red") - -/obj/item/pen/multi/attack_self(mob/user) - if(++selectedColor > 3) - selectedColor = 1 - - colour = colors[selectedColor] - - if(colour == "black") - icon_state = "pen" - else - icon_state = "pen_[colour]" - - to_chat(user, "Changed color to '[colour].'") - -/obj/item/pen/attack(mob/M as mob, mob/user as mob, var/target_zone) - if(!ismob(M)) - return - to_chat(user, "You stab [M] with \the [src].") -// to_chat(M, "\red You feel a tiny prick!" //That's a whole lot of meta!) - M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])") - user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])") - msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (JMP)",ckey=key_name(user),ckey_target=key_name(M)) - return - -/obj/item/pen/attack_self(var/mob/user) - playsound(loc, 'sound/items/penclick.ogg', 50, 1) - -/* - * Fountain Pens - */ - -/obj/item/pen/fountain - name = "fountain pen" - desc = "A traditional fountain pen. Guaranteed never to leak." - icon_state = "pen_fountain" - throwforce = 1 //pointy - colour = "#1c1713" //dark ashy brownish - var/cursive = TRUE - -/obj/item/pen/fountain/attack_self(var/mob/user) - playsound(loc, 'sound/items/penclick.ogg', 50, 1) - to_chat(user, span("notice", "You snap the nib into position to write [cursive ? "normally" : "in cursive"].")) - cursive = !cursive - -/* - * PDA Fountain Pens - */ -/obj/item/pen/fountain/black - desc = "It's an expensive Sleek Black fountain pen. Guaranteed never to leak." - icon_state = "pen_fountain-b" - -/obj/item/pen/fountain/silver - desc = "It's an expensive Shiny Silver fountain pen. Guaranteed never to leak." - icon_state = "pen_fountain-s" - -/obj/item/pen/fountain/white - desc = "It's an expensive Sterile White fountain pen. Guaranteed never to leak." - icon_state = "pen_fountain-w" - -/obj/item/pen/fountain/head - name = "command fountain pen" - desc = "It's an expensive Command Navy Blue fountain pen, embellished with silver. Guaranteed never to leak." - icon_state = "pen_fountain-nb" - -/obj/item/pen/fountain/captain - name = "captain's fountain pen" - desc = "It's an expensive Command Navy Blue fountain pen, embellished with ornate gold detailing. Guaranteed never to leak." - icon_state = "pen_fountain-nbc" - -/* - * Reagent pens - */ - -/obj/item/pen/reagent - flags = OPENCONTAINER - slot_flags = SLOT_BELT - origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) - -/obj/item/pen/reagent/New() - ..() - create_reagents(30) - -/obj/item/pen/reagent/attack(mob/living/M as mob, mob/user as mob) - - if(!istype(M)) - return - - . = ..() - - if(M.can_inject(user,1)) - if(reagents.total_volume) - if(M.reagents) - var/contained_reagents = reagents.get_reagents() - var/trans = reagents.trans_to_mob(M, 30, CHEM_BLOOD) - admin_inject_log(user, M, src, contained_reagents, reagents.get_temperature(), trans) - -/* - * Sleepy Pens - */ -/obj/item/pen/reagent/sleepy - desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\"" - origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) - -/obj/item/pen/reagent/sleepy/New() - ..() - reagents.add_reagent("chloralhydrate", 22) //Used to be 100 sleep toxin//30 Chloral seems to be fatal, reducing it to 22./N - - -/* - * Parapens - */ -/obj/item/pen/reagent/paralysis - origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) - -/obj/item/pen/reagent/paralysis/New() - ..() - reagents.add_reagent("dextrotoxin", 10) -/* - * Chameleon pen - */ -/obj/item/pen/chameleon - var/signature = "" - -/obj/item/pen/chameleon/attack_self(mob/user as mob) - signature = sanitize(input("Enter new signature. Leave blank for 'Anonymous'", "New Signature", signature)) - -/obj/item/pen/proc/get_signature(var/mob/user) - if (user) - if (user.mind && user.mind.signature) - return user.mind.signature - else if (user.real_name) - return "[user.real_name]" - - return "Anonymous" - -/obj/item/pen/chameleon/get_signature(var/mob/user) - return signature ? "[signature]" : "Anonymous" - -/obj/item/pen/chameleon/verb/set_colour() - set name = "Change Pen Colour" - set category = "Object" - - var/list/possible_colours = list ("Yellow", "Green", "Pink", "Blue", "Orange", "Cyan", "Red", "Invisible", "Black") - var/selected_type = input("Pick new colour.", "Pen Colour", null, null) as null|anything in possible_colours - - if(selected_type) - switch(selected_type) - if("Yellow") - colour = COLOR_YELLOW - if("Green") - colour = COLOR_LIME - if("Pink") - colour = COLOR_PINK - if("Blue") - colour = COLOR_BLUE - if("Orange") - colour = COLOR_ORANGE - if("Cyan") - colour = COLOR_CYAN - if("Red") - colour = COLOR_RED - if("Invisible") - colour = COLOR_WHITE - else - colour = COLOR_BLACK - to_chat(usr, "You select the [lowertext(selected_type)] ink container.") - - -/* - * Crayons - */ - -/obj/item/pen/crayon - name = "crayon" - desc = "A colourful crayon. Please refrain from eating it or putting it in your nose." - icon = 'icons/obj/crayons.dmi' - icon_state = "crayonred" - drop_sound = 'sound/items/drop/gloves.ogg' - w_class = 1.0 - attack_verb = list("attacked", "coloured") - colour = "#FF0000" //RGB - var/shadeColour = "#220000" //RGB - var/instant = 0 - var/colourName = "red" //for updateIcon purposes - var/chem_volume = 10 //crayon dust - var/dust = "crayon_dust" - -/obj/item/pen/crayon/New() - name = "[colourName] crayon" - ..() - -/obj/item/pen/crayon/Initialize() - . = ..() - create_reagents(chem_volume) - reagents.add_reagent(dust,chem_volume) \ No newline at end of file +/* Pens! + * Contains: + * Pens + * PDA Pens + * Sleepy Pens + * Coloured Pens + * Parapens + * Fountain Pens + */ + + +/* + * Pens + */ +/obj/item/pen + desc = "An instrument for writing or drawing with ink. This one is in black, in a classic, grey casing. Stylish, classic and professional." + name = "pen" + icon = 'icons/obj/bureaucracy.dmi' + icon_state = "pen" + item_state = "pen" + slot_flags = SLOT_BELT | SLOT_EARS + throwforce = 0 + w_class = 1.0 + throw_speed = 7 + throw_range = 15 + matter = list(DEFAULT_WALL_MATERIAL = 10) + var/colour = "black" //what colour the ink is! + drop_sound = 'sound/items/drop/accessory.ogg' + +/obj/item/pen/ispen() + return TRUE + +/* + * PDA Pens + */ + +/obj/item/pen/black + desc = "An instrument for writing or drawing with ink. This one is in black, in a sleek, black casing. Stylish, classic and professional." + icon_state = "pen_black" + +/obj/item/pen/silver + desc = "An instrument for writing or drawing with ink. This one is in black, in a shiny, silver casing. Stylish, classic and professional." + icon_state = "pen_silver" + +/obj/item/pen/white + desc = "An instrument for writing or drawing with ink. This one is in black, in a sterile, white casing. Stylish, classic and professional." + icon_state = "pen_white" + +/* + * Coloured Pens + */ + +/obj/item/pen/blue + desc = "An instrument for writing or drawing with ink. This one is in blue. Ironically used mostly by white-collar workers." + icon_state = "pen_blue" + colour = "blue" + +/obj/item/pen/red + desc = "An instrument for writing or drawing with ink. This one is in red. Favored by teachers and creeps who like to pretend to write in blood." + icon_state = "pen_red" + colour = "red" + +/obj/item/pen/yellow + desc = "An instrument for writing or drawing with ink. Favored by artists who like to draw using bright colors." + icon_state = "pen_yellow" + colour = "yellow" + +/obj/item/pen/green + desc = "An instrument for writing or drawing with ink. This one is in green. Favored by students who like to have their notes extra organized with colors." + icon_state = "pen_green" + colour = "green" + +/obj/item/pen/invisible + desc = "An instrument for writing or drawing with ink. This one has invisible ink." + icon_state = "pen" + colour = "white" + +/obj/item/pen/multi + desc = "An instrument for writing or drawing with ink. This one comes with with multiple colors! Push down all three simultaneously to rule the universe." + icon_state = "pen_multi" + var/selectedColor = 1 + var/colors = list("black", "blue", "red", "green", "yellow") + +/obj/item/pen/multi/attack_self(mob/user) + if(++selectedColor > 3) + selectedColor = 1 + + colour = colors[selectedColor] + + if(colour == "black") + icon_state = "pen" + else + icon_state = "pen_[colour]" + + to_chat(user, "Changed color to '[colour].'") + +/obj/item/pen/attack(mob/M as mob, mob/user as mob, var/target_zone) + if(!ismob(M)) + return + to_chat(user, "You stab [M] with \the [src].") +// to_chat(M, "\red You feel a tiny prick!" //That's a whole lot of meta!) + M.attack_log += text("\[[time_stamp()]\] Has been stabbed with [name] by [user.name] ([user.ckey])") + user.attack_log += text("\[[time_stamp()]\] Used the [name] to stab [M.name] ([M.ckey])") + msg_admin_attack("[user.name] ([user.ckey]) Used the [name] to stab [M.name] ([M.ckey]) (JMP)",ckey=key_name(user),ckey_target=key_name(M)) + return + +/obj/item/pen/attack_self(var/mob/user) + playsound(loc, 'sound/items/penclick.ogg', 50, 1) + +/* + * Fountain Pens + */ + +/obj/item/pen/fountain + name = "fountain pen" + desc = "A traditional fountain pen. Guaranteed never to leak." + icon_state = "pen_fountain" + throwforce = 1 //pointy + colour = "#1c1713" //dark ashy brownish + var/cursive = TRUE + +/obj/item/pen/fountain/attack_self(var/mob/user) + playsound(loc, 'sound/items/penclick.ogg', 50, 1) + to_chat(user, span("notice", "You snap the nib into position to write [cursive ? "normally" : "in cursive"].")) + cursive = !cursive + +/* + * PDA Fountain Pens + */ +/obj/item/pen/fountain/black + desc = "It's an expensive Sleek Black fountain pen. Guaranteed never to leak." + icon_state = "pen_fountain-b" + +/obj/item/pen/fountain/silver + desc = "It's an expensive Shiny Silver fountain pen. Guaranteed never to leak." + icon_state = "pen_fountain-s" + +/obj/item/pen/fountain/white + desc = "It's an expensive Sterile White fountain pen. Guaranteed never to leak." + icon_state = "pen_fountain-w" + +/obj/item/pen/fountain/head + name = "command fountain pen" + desc = "It's an expensive Command Navy Blue fountain pen, embellished with silver. Guaranteed never to leak." + icon_state = "pen_fountain-nb" + +/obj/item/pen/fountain/captain + name = "captain's fountain pen" + desc = "It's an expensive Command Navy Blue fountain pen, embellished with ornate gold detailing. Guaranteed never to leak." + icon_state = "pen_fountain-nbc" + +/* + * Reagent pens + */ + +/obj/item/pen/reagent + flags = OPENCONTAINER + slot_flags = SLOT_BELT + origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) + var/list/pen_reagents = list() + +/obj/item/pen/reagent/New() + ..() + create_reagents(30) + for (var/i in pen_reagents) + reagents.add_reagent(i, pen_reagents[i]) + +/obj/item/pen/reagent/attack(mob/living/M as mob, mob/user as mob) + + if(!istype(M)) + return + + . = ..() + + if(M.can_inject(user,1)) + if(reagents.total_volume) + if(M.reagents) + var/contained_reagents = reagents.get_reagents() + var/trans = reagents.trans_to_mob(M, 30, CHEM_BLOOD) + admin_inject_log(user, M, src, contained_reagents, reagents.get_temperature(), trans) + +/* + * Sleepy Pens + */ +/obj/item/pen/reagent/sleepy + desc = "It's a black ink pen with a sharp point and a carefully engraved \"Waffle Co.\"" + origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) + pen_reagents = list("chloralhydrate" = 22) + + +/* + * Parapens + */ +/obj/item/pen/reagent/paralysis + origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) + pen_reagents = list("dextrotoxin" = 10) + +/obj/item/pen/reagent/healing + origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) + pen_reagents = list("tricordrazine" = 10, "dermaline" = 5, "bicaridine" = 5) + icon_state = "pen_green" + colour = "green" + +/obj/item/pen/reagent/pacifier + origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) + pen_reagents = list("wulumunusha" = 2, "paxazide" = 15, "cryptobiolin" = 10) + icon_state = "pen_blue" + colour = "blue" + +/obj/item/pen/reagent/hyperzine + origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) + pen_reagents = list("hyperzine" = 10) + icon_state = "pen_yellow" + colour = "yellow" + +/obj/item/pen/reagent/poison + origin_tech = list(TECH_MATERIAL = 2, TECH_ILLEGAL = 5) + pen_reagents = list("cyanide" = 1, "lexorin" = 20) + icon_state = "pen_red" + colour = "red" + +/* + * Chameleon pen + */ +/obj/item/pen/chameleon + var/signature = "" + +/obj/item/pen/chameleon/attack_self(mob/user as mob) + signature = sanitize(input("Enter new signature. Leave blank for 'Anonymous'", "New Signature", signature)) + +/obj/item/pen/proc/get_signature(var/mob/user) + if (user) + if (user.mind && user.mind.signature) + return user.mind.signature + else if (user.real_name) + return "[user.real_name]" + + return "Anonymous" + +/obj/item/pen/chameleon/get_signature(var/mob/user) + return signature ? "[signature]" : "Anonymous" + +/obj/item/pen/chameleon/verb/set_colour() + set name = "Change Pen Colour" + set category = "Object" + + var/list/possible_colours = list ("Yellow", "Green", "Pink", "Blue", "Orange", "Cyan", "Red", "Invisible", "Black") + var/selected_type = input("Pick new colour.", "Pen Colour", null, null) as null|anything in possible_colours + + if(selected_type) + switch(selected_type) + if("Yellow") + colour = COLOR_YELLOW + if("Green") + colour = COLOR_LIME + if("Pink") + colour = COLOR_PINK + if("Blue") + colour = COLOR_BLUE + if("Orange") + colour = COLOR_ORANGE + if("Cyan") + colour = COLOR_CYAN + if("Red") + colour = COLOR_RED + if("Invisible") + colour = COLOR_WHITE + else + colour = COLOR_BLACK + to_chat(usr, "You select the [lowertext(selected_type)] ink container.") + + +/* + * Crayons + */ + +/obj/item/pen/crayon + name = "crayon" + desc = "A colourful crayon. Please refrain from eating it or putting it in your nose." + icon = 'icons/obj/crayons.dmi' + icon_state = "crayonred" + drop_sound = 'sound/items/drop/gloves.ogg' + w_class = 1.0 + attack_verb = list("attacked", "coloured") + colour = "#FF0000" //RGB + var/shadeColour = "#220000" //RGB + var/instant = 0 + var/colourName = "red" //for updateIcon purposes + var/chem_volume = 10 //crayon dust + var/dust = "crayon_dust" + +/obj/item/pen/crayon/New() + name = "[colourName] crayon" + ..() + +/obj/item/pen/crayon/Initialize() + . = ..() + create_reagents(chem_volume) + reagents.add_reagent(dust,chem_volume) diff --git a/html/changelogs/Sindorman-pens.yml b/html/changelogs/Sindorman-pens.yml new file mode 100644 index 00000000000..d00e6a45315 --- /dev/null +++ b/html/changelogs/Sindorman-pens.yml @@ -0,0 +1,44 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: PoZe + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "Added yellow and green pens" + - tweak: "Multi-color pens now also have yellow and green." + - rscadd: "Added 4 special pens. Red pen - poison pen, blue pen - pacifier pen, green pen - healing pen, yellow pen - hyperzine pen." + - tweak: "Added 4 special pens kit to traitor uplink, random kit and special ops cargo." diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi index 9543ca4b57f9e33f5ff2d60f4383a44f1fffa6ae..8278f7e0b3c92cdd1fe700b32717bf7d67e380f8 100644 GIT binary patch literal 19795 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

h2BS>dh9Oip%#1v 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 Zf70+)?;f%~8^u$_lUjdW=e);>_=MeEnU$plbL% zjjV9cod!LRJG{JVPR9?@dr?`hom$PhK!HHSCE*=^#$M^1A2;W{S;hGb*Ay{SQB#mL zhut>|dc*HMu{T+qT0aD{IGC3o*VTob4;re-Ow%W0KI>Zws-}vjTd3LI@ks+hQ{}ey z7PZp=XKbvVV;C{bDJY&by5VGoWT`14cJ;YE+q0(@tsZUdm_8<1I-qMl*LGq{s881J@ou;P;>?J*V9Rzs2QSC*Dsh`B_$=GD48w0 zGE-#>dViGxIrq+lXyztJzWlQ-uDIHqw%1xtAAYzEx59fvFx;@lt9IFguhhF)-q2Dg zi>pa-BJsPS4Z=>{RIpr^K!56WV0Ey7jF$O=P(I}z$*Dz|tPc6vJt6waqCo%WCJiBq zTT|VwDfuK~Sm*xCA0LEJ6GDXmfMfZF_le_Ge1J1)%-H9)k?V-(XhI#CL91IWHi6#L zYL`->GII{=I>{Hlv49)@*}^55oAqvl zHt2cUixpV{7Gds%b%MDLcSo0;V+H+n|HlelW)r`5ikJF@=%aYfc&T*u_1JTkD#EP0 z%-;IP>7_l+(vXA55W!^rVh)E<3AeALphsigCIDHn$>3DAyX(t~=TX0=cI3D_*Unv8 zK77p>{;R>!w9qPT->pY;ZgyQe}5 z1aQLsxeC&Y&k|uX!>97Hgmbf9_Wwy$!XmDvk;TZ<=h|3Xw>_};!G{N92u@mJKR;UB z;|$_Z?Yr$Pgu7qwP_tVId7(#B&2@)ubeBc$o zJV(D`$|!htlPY)-iTmy#3x3f-k9#dDSosg+3QDu#{-PHYEtf|r^#^TD!CrL`F?2{E z@)W?n;F|AjPj@*$Sy&XK4YN^NVS**7sL*sD{tU;ld}576tI7 zPMwt%;JQ<3DRgosytfVA5qTfk+6pDAvPKa6>U~zly?+9jl1YLd#GelHnhAxKU>idC z@}hUd$vIH_hnx5@)4#O#lPDH^jw_{4_b;COzws+dq==P3j*2@;i1i?V;@u?X`4vA! z43v)C{kyaT03hWnoJnY=7Whw3G9aV$)Xz@>m}@!ThN8ys|BM!L!9Y)jzn*9mWE>B7 z(CFK}Ao&-Um>3G$jP-fCxwb0y|GJq~JyV()a5>$z$av^ZNJd5mAml;`Ee@7@>4j}5 z85tSlK7Wn@@5KZ54-VuXXD;J`hRZI*-piuZ^JIJG>LRb5+53eI;0|CNXWHadR>It7 zxSn{$hY8EW95)T$UmJRo`L9610MFI9K0W?~0?D#o_~ij>gY8104ED|mQI5h!gv1qt zhyRl!@r4Q?U=cuZ#e2`Tn787+Ri>mZW7X7V1=+gZ{rzr!H9*__N+2-F>#=~L8~rS&xFVCW8xj|pJgo){Fa8BaoV1sdB07~ zes7_D2=w3Iwnx#awR|gXy%HxVsgmw*-6@*czp9iki2z=lzhr{4bYL&~4z7V{N%nB& z0HtO|Q9BM4z!UGXz0D+fJ?RjBKR@3bl1YFAw{tqs-5VG7{$uVU5Za3xQ=GP)~mZy7P?G42~7iM_ISxz>q~atq3@8yP7cSbRG?o zGnScxl>M19tVUYoKTMDr>(qJnxBOkshKgxdvcXFf$mrK};S<%C<30j%G+38>MM42k zN_UW2Zy}Zl9-29Zix~?m%D^n4Bra6wozdYj8(&anUnVqcJEe|N8NQf)XOs%9v!P^#}Jqp zQL)MO`hc|?2|{izYfYtmQ*;6Pu{B4E`;GIzrk4J`%I{0?%XC_yWM(DgW$Q zs)-AB_p}C4;U$Ag6S3z6^lRo_YVw_KcOZ?Ux~=Qx7h`3-NSX%+2ZPcPZbLPo2TGGTR=O@b`yCnL2)Qedc%hCe5Zw_&*l-SM{kgp7j`IWWS9hoId!SsjD|yQ4^HZAWIH|NlrNCiA~=O$K{nkiY4ZLccUpuU2t@TL46tbNazh z>Qx~1wh2gma~*^(EiKjCoa~@kfl99}Lybd{5ZDhYq&4)DbRei7cIVr~LCyd~^?@2| zt<8zW0GyS)JalMycn~}WWP^fQN*Hw4#e{_c;COQ)6nsKXb~ePiFJth^$6}w}^%oQ$ z-E70#+@5KAU^4*Qoc+!O2!K04AMhP~;D{Rf^Iw-S)nZ z*?T*xw{YiF=+GRGHcIh{iV83%91M~b8vQ8*IC-&V!bRp2AN9ls7kpo4_swF@H~o>a z6|AQ0G_dB!6=8?1Q_jfymaks}fP~j(WQ}z{q33(^D-5~~e!r&?ou60JDWk9-MEK4z zTt9!?j+UF0s%C+X;hs$xsF3EU$EDUfe*RQ3TxXT^gI*qQd(uk{Hn7}0qGa*KlKH~7 z1*j94|2-EVRIIyON0}85;7r-V2byJu&dz>pUKjToazCJwi-Y(C6QDsh&)3Mqqc#?4 zv(Qdw_H(W^G(J8)`2G9$St0*6sDweApH+z|+SgmVL-IpODG7tca$P{o5)H$1_ z9D%dUo^3Hcl!(G_nwE;H^*%*x^Ccms!AmV8)E6~-c3!l5C=J( z0|T_42DlX&+#UXtjWI3L**a&m2>g6F^YR85&`(z8ev{LZkeA1q^@X&@pKtOYMqad;KOyf;ZhZD__{+!Q4i|kw7Dt#ExD|(xV z{Fdy_?Dw`l{OR*rmkF0HZ~4rl4Sd-B-~SxO|7ET5VVe;rNJz1XF!{S8AZ=d)wq7g1Dfzkf z5l%_tAc6oZNR|1fiXbcJB+XF(fC5!%%=r!yeVZ75vDaadUGaMH zS2X=2KjGiMf0vV-B5J}bT^E%Alw;it?KdtMwI%Ar+AKOX>Io&|S{d_9cFE-2<+MVm#_g#X3d{?1Im4_(B9_Ku}E9+J?@jL_k>qBNlXsk@NRs zCHP)DUB$$&A(QWZH$hymjlYD4Q*=-PT2Av7{XUyj9aoP}`tadldWe+vix*sl1Q}de zqEb^ABs<1Z-i)3^GI;hO4L;k#df3KL*6ekpLH#11`3^jo1w12=n10!AM+6R%e++YDZGd2U9E(SHp{)3>FK3u1=L!fDuH^hANx-Gt}FSg z+uG!(0dO?A??cRo?RSq<$8i}(L{(3~sYn7$zK}#reQMqPQO8|>bS{8pt21)hE5Aot zTx;I(P0L&`@P{taaawtm9?SHH`GT06*}owZ9$;+r`fxi09_WRqXxX82BTt$E!B2g& zJ62pq`ttOZ)ahI(U)L@22(DhfC*%D_VV4@bdJBJWm;9p@W)uLuq}P}3pl{ee#m@vT zj_~6)j9(;z>_@hSYR=JzX#(@#f)tVojJV+F2${+li3@=XT(NUq@!O%0m;tPW>gw4|BBw|ss!1Yl}wN;X)+ z40bKgKln^8^UKUs6VQZHD4+bYoW(qmxMvjpERhRhbM2IrcGDSq;Hz6pymP@vqJsJ4 zUSz$lQupbWG6XU=dpO@0_vHFI{`wg6g-TYV1PBG@pds3+z*Tum|9v~(xuB5H-@l;I zYhMuCqy8Ky((f_LtTIlhJYI~gdN>0VM?nfTH9RJeR<_D{#BF6SZnxM4 z8okaTi2=-0u{%cYXuL#mr^ZcZUGIe%u|M&mOeh!|Njh88{s>Gp$hqgOv^6eD9| zeqA7Ok+BeCMXn%YG}#m~fH-;5@Ppfv`r(a;luEZWcfPDpqIFmQoxXi*^$w=^bCmg? zTr!EpYwI^<*3R6gia)1-={i5#+f8b|H#Qo2-X9t>%_K#UiJtULIhW$Z^JV1pYg=TR zcT4#hQ(AUYV{9HiTakc||DKRViW{u#uPs$iaX;rjQ~rexh7uhwfEhKWC-z-&9k_SQ zZ;(eNGD~|%yAt%PRj7F77EJ}_QMhzg@nvn*cb&>hgdW!Rl|NB{x*#C-&2g$=Z7-d7 zB5Kq*W^!`Uz96qCe+bD{`;BD!(#qg9eWu9B#!{G}4C&XouFv7Ar=@yW0tEXzx;3#$-vva1OZ=_0je@0s$mwM zL5WVWh)7%RBz&5sK)GQ#e;CMHCDQd6-J?aeNDX2>t7vJZNIi-ySUOxA)(3sWR&eG< zYvF}{#^;J0z0Ls4i-Ag#8e#ug#Y$e|Lk*&u=mqFC=Ny4{6+WpDUU=PFW}D{=?GR$R ze>u~?J#&P>G!D7Q;QvVm+W*!V`=6z){WmwsA#cor<1H>O=DBl+YJU=$bMf|RW*GTt z!G6X%|C8g0!fLntk18CR8MTYdYJA?e7g)**V=qBsfrJ@o% zKuW-h)Em126t8zu0kU=5GiPY`g1aO|05I+#vsi8h5_?TdDZO{wr@_DySEB0guCCTv z+hNe-=Ro2<&?%nL~A{y4yud(OfIf#yPLx6uZh31N7(41J0yOnl>louW)?w=yc z%kuEA7NEEbY@d#A$*&L4HZh4#pZY4l^HZV6=hAl@gR3^ALgx|%#V3bri8{=cBZJxq z4_9ZIIh5a{204`LH$WYug1<|wUZ633geDXqmZe3oe|YJnO&FJ!b`9X+=l3>PQ3Pe) z_hy04cVmPp@nU0NRB+$HCqIJSFGhGV16*D|Qit(C!B5}XmBB1#rpiC9sxs~C97w7?;X?#Ykgfqi9<1nd<}#y9kd*!kKkt=xdwFrXmxd$$fcZkZtMT_C8@P2@ z$TNwQE+ug2aAm`|-On=aIjb>5JtV4MYf1-pmSLdlJacQw39mUlbXo)9?LP383sv{9 za|Zv94Y}Q*fc6Uv9YHBUWXK4fLaQAl$NVdx^XFPUwiCY-|3?=-sc3rd&d)FS%h5>e zmU9|8$?d=)y5gO;Bs5$qzk;xoH*dZHBhg7IDelbd5}*`{-8*9H8%!iUwuT6Z?%u5@ zr|LDU*Iu8h<6rPUlts4$?(vs?*q|J|k^vzpJ%VMXDOWj`g$Kml4N4vB6&LD^+|UFd z0Oc9E3JO9Pzi&{^8&V0YWXk~=Ty0a+nELv9`)_)BdPIIjS+IWwL(Ut2oyvPy#w+8% z91tEMuD>q!!wx^^&>&hiNxGB@|NI0p0ytPDCi(w5zns=Y6st5*kGFUZ=NF>y9W=tb zYE)NGv|Fq&HP+?v-!}C(J#o8i&jh?%+tSvQ(}Lo*QT^Yy(NXZlye-15Cv)GPleB#H z?fzgc^ueY8*Db=emT}S@Oa2T2m+HY~D`eSzT+Wt{2$Q0}W0;wW!jLhAtqRfTSGr_V zV!3EeQz!$i@Qi{HhfqNPWs5g^Y|C)La6YPWQc_{LYu)p?;a6!(a%(1)EvEIK9gFIG zzmYM)Q=y=SU*}lvyQee?Mbwp73-tVit~I*EOW)B!IMX>ii{33yb8$rdVNMIpUUUP#$VEcWC<%@b&#untR(Q>K~qq1 zne*O}d;a_em{&|p#r2;sI#M7QZcrAvGYCbhsD%>K=p!wlejYn9@f=FBVI&zcdJ!B% z4)wS1Qn7=sBNpj&dJDS15f8qA!bcQWhqpei9}csfGber!>^_Acmk(|=g8jh1tN9uA zwZL6s=_MRKQesOul(ltr-$Wj7HLPDb&2;@^jrjAR zk?e#i*6A)ETww?sKf?WXr55RkWjlJCQg4d;Q)Kz{EPIlR=HuSou>-AWL#{2Olj33g zz9bj1;H#4(sn5g%FTXh8Ngcg<`H~X=(~hc1id=DE#*2QXd9cOWP(B}*%jy7|6P-o- zyPJgPErF|(WlW-ulVPBoT*^qkfIz4XKfbr!v?J{>Sxe$tRb_0CH*DP_u!%;pdKPM0 z3>Rpewrx&;trYJWUY)L&R_xlkKDg@Panu`ojXA9M3X?viX_7Zow5Nbb3(`mX|wbOC#HvvQH(t5%e{tO8{@)3;x+A^ht5YGh5Cx7ybZtb^yz z>o=wxMCDagNx%&LzD${l-&kkxje@vmLBR`qtZKJ`v{62&&~m|a_SMlcrf*I&?@Yh@ zF&HLL!Fl-jl9i$vL10!N8h`NWKS1skXr&k*B@$8m>fM^mwol;`*VYMs1IN(lVN->y zU@giNhg(y0pt9csRh01&n)jYU?DouHt};cE)9ibvnI`*kRvH?PPvWjWV5$i>n3$qK z-)u3yFga)5LF6*&-&p{HbhJI-ff zG1JJjYwnu!06X$30f$BN=$%DdxN9-Vdq$Dp+Q!EBCLBaV z1JTkA4%HNG$j90&n)n^7}4H3jkxPV7#kOtk{~^4cv>3c z$04p<@SWHte$Ah4o(PZe7pK2g0ViEmg3SW|Wv{N8FSffyn&+QeU1V_9T=#x~?;+r| zYMyaE_i!82Y>&5%;g3EiO5VEntKVS8T;ls-OG^@UGQb3NRv`g zU>e+;G{Bym+7j=}LzN_w%4L`i7b-1O0c?z+vczLQoH(-Xm1EbC-KH5R{vW3eU*gF< zA`$>61N8icC7$fFOh5=?%5(IA3uT0!!S~q!6)3-EhPVY_JhjBsw|{=Aw$4Q|Vm)?s zvbE1_g1a(kif^Pljvzj-Kruh{@DOhF-iZOz z8(r2Yv;{#mNdnOF8ApP?(iu?>UEqrYU$-ClpfX>6;4v=1hC%xNFxa1IabyN3Eiggu%GEBhF(HhwU3z7!r7X+!b8%G8+JmhyBm;|OLWu9%2#Ws`1pB|q zL(iFfPHFh++T2m1VUMB$1~bYX>B9M%6aWg;Q$rHDwftsS85pi2KZ(+7Gz$7U`ueNh zkk!2o){`dS#?ybEsP`*|ISQPi73Z&By{ZDsTM#j-fgs%tR`Y>f`+&QLx`0@C|$0}lL4ur8#iv?d#EGH=A7YXi>~LVW{=)S(e-5?FWmuTJ(e5+ z#J4R8{G@ot^i$M)xYHDk=_SOB7+AqQIUV81kt=y!k60BmPW#xuJ#|^$6q%E@o zHuWy1rdD5p`*r|GacW~fg8jA-A1i+ujm-o_z0(J-9^FT#V2Vyg();izItUPW&QJx< zWCo0%U=2s{6eyrK%8*MFoQLn7H#~6`9g0#|t5hq@avon~>_PbsNVDb$dOB<0hBkRU z4)BoN!F;9D4%&QQlGYpDysIR@A*hmh7?}O0_|y?tgdgpSOktRI@KMf@MXMHwoTIO# z+n1CeAsI-W#xRp_LA#hcbtVi0N|+FJ@pQkvEbdSFtD2!PPtt^P$H(=z!h>17o;Q;2 zU7T>0b`K+EhlhU{Y7(?kJ|fi)YguJf0eweldzc}|4}{nD^jkiYM&p|A4Vv}lO0VNU z0X>eg$O>WtHkJs$Po4IpX*++xi)w4hH>8$RNQef^zf@FIe5{lkIWXo=rjP{jwex-y zbm4>IM}ro)GszR7{pZj@4|*P^brSLP02ca3T;>l%2D=3moL8#|*?%BvZ*|FG@>uUp zM+7%|Z&%05d@)dY`yv+s1d_=gzG1P4v6J$QYog32Um4|IcE)prUQP`SJslb&-fokf zf%^5I;#b)E+X<6}u|%->$;XONQW0`C(rDMVB+K2S#Pg+Bi`rl_%xn#$x53sOiEkE> zuFoBzM~RNSXDMg!*$i0+yvY9y@;R|N(>S+1Yh5xraGA|3>D z3~WORA#bPWkwnZy z*m&BnW;m0+r6?x1ssoNlAq?`C9LPCR9FqkCnc~C@M;x-GsAllxFbjvEfimO3_*LWa zKYgGU?THf;6T$g^1!A#=Ioz+F(F_L4ex?*;DzZ@!lZ$I$L9R#BdSx{NE-fEH6 zSo#M)7F(7{3-l^X$D4iKqmC3o(&fGs1*zFdh<~Fj@g3;uOp_S-E%AX(?zO}g!&>3U zc%2_7#b?&iJh4ca_W4j1%?f5^ z6VcJ}t!-+~0d*)5h54qo@f!Xo>p#OGL+ zN7n$bk_8N|aB<}n6%i}t>S*?phG@`e>+AD;T~eMa->HDu=Kt#t|4gIjGZPtY6&c~f zP(eV;xno|0gJmshM32y-W}-*&*;^UHyqkus$cGA|tps+m3N~OV!z~F9VgdpJ7Vhw; z1%uay=t}#qDrdm_-&>JeUQM^ceDPHTVXmta2oTW(e0JxohPNia@@9=GzZ<0}A{>~W zUV7CLGve{?C3q`^Fag_%mT4R$9&+}W7ux9d_u4mSba_`5HoLa=25Zo%Ma>$hSHS9| z`4d;rr@TL_B9F<=Mwc0h-7~2ES>a*00mrNr@|};1oE;8pHLQxI#6(Cp5&k}Bo9;(r z{a4EP6J$gDU?A0C*c=~zD6foW1ygtqRWlE<+^agWcHgfW<ViBLKr&dv0+EcWSnQErd>Ojg9^=(aIY7+flZJv;KsiA0u~<# zpC~bwu>}TUzzN+BDuRo03r=qC?(V9ps_~{eOBvv*x3L#8FeoK9sLupv8g;trWqKlM z$Dj48qDjR}@o;)i14NN+ObIzOIy!p9gZ?E5t3Nxw9;FtT3V8;u*Tk%Vuz|!`Ep^71 zAa8uSdW(@UieihbBdWUG%Zyljs>$_^j;~iln)L8#k6Gk~_v)Mx6VUf*m=6lVe_lm- zkO~>}rU`T+kdM5nJ1~D>G#JC_A=~eR76H&__6(k$p7m=5>CM|X(9H?h21m?|9nEKb z+9nGwT?M9rh`&?_S?IpCa7Z#%;lK1a*aViQQkjNL3uuQ&GDgmlMZzL?+4I7K?^0o5 z$t?fl5U;F|Fh?26PR!m+434}k8^j_7N`-n#@EMR!eg%s&AT6YNlrY;HN*#Fl&m;KQ zL`ZAFwe2>?3i`fZDik*O-!f48@7QZ-L^}k`Tgjq>&dZvm+?G0Nv5(e3)2L1w8^=g^ z*U-#X_V==YrDIqM#P>0;<6y7pKmCyfG0B2-q2JN^h=Wy0X{k}houQL}X(|q-Q}y9e zJ${GTW&@F4(CcU7(#!zY%nm4LRpik+6PVd;Ms%H%G`$))fHTT zMrRwCV+HCwRT=z4tSG|eJCLVE8D_dS1%Q@P2aioMdrFZA{4 z4?~G#WiG|ZlsUml>-2Kwt!q-l~H@lH>VUL-xwDYu{=3FN>|) zvcv}D(n0c(ZEL&=Dj!bT3i6~yR%&5V;H%r(-jN1NtgVLI+uPYVIC2$J*&|0g!KCj> zkF}@QE)>SWHLk7AP0S4%oXMTUkuI>+6Npc!sk&wu?^RbzU5WW@^5Kzv*W`*q(1deZ zO_$BS2bHJ%W(zy^q^Bco)CE$$-cf?elx0^u8aOl5{FlZ=U zmk`QhmB5^!;W95@z1mAbUc4!l9=81Y^jpt6!23hkX2nxz0-U^UT*q*z1qxi{LK3G>(1OCNszM{Z}iCF#RtP} zF4Qq-j~WVr2B;XGAOKf_GD~>ytoDQ@1i85hg3ks`az7`G_pC4X(QGsqdLw6`+NW(L0$b{fCVtCBW{}hfj;m`@5xP*lSl^gT zsz-*npDE$_+rC)p){&xlmA-;Cn|W=YyL}T^c1C8LAOP@vD&JH-MFD` zWVBIjqV}T9kN~)ni_6ivt}z(&{_cPB3yjU}f;koD8>3}u>q5hpD*cHv)qPM-8Xyc^)s+Mq4w51wH?MV#%qs|X+HO_3ac5YC_6WN4^EwI zBDv*?qQF9D-NGnUm6CAkG%Tlb!5b>_eK^sP$@C>w6NWUuT5N!;W7Kh_VTg7 z_jRU}G|uza>2il>5!atXiFJ~m$#ryeMD@Pc?CS1@&XI<1JHK>87ZCI_2WfzA!9ktY zx2{&x!y^i!P9QQ1O#e?fml^b>Cb+JE5IW7v%d2-7e%DFCxsCai&qZP*$U2MpOj*YI zTbqWGit^rozuy_@RLX}BH%E2du2N$E{>?5bQqjW{8?nYc0c&)g%ETETW=dW#ZmJAR zQGi{nfu)~vOGgykS0)r#4V6$)7Zc4Srm0C6!!X#{Y_D;%0g$1NoHy?D7+%uSLF^b1ykqLGkyQBUlad{IxMj(iY-uSuA*y z@Z(nO?{kCyC!z&i`hS3y`pkHSt$xTwf7t4WG(Z2;tq({@8iJytBB#Cr^UZIX0Kz9M`1^y>1QHSwR0+PjcJ0EhUAxen5x56__IGNc3~v6kKby^FWM^lq*8DJR z^+Q0?5WqMZ$cu26gsr2TJM$vA=||3=FYBLt#DJ|C>pZ4cQ~%_i3qV>i%=SkSnPqA^ zU*%`g5ZMUT)(=;x4}b_5hr=N+dol;L0gBYAk`mO1})&#tb-( zfUUcKs)f~Rm7Y8N8Y26*a|ZwS<~WVuQe%GXkD|!9lDodS>`@@g1asM=D8fpZ?T_N* z>I*Qtbr81{<5H6(2YqIMWjmaPlx1?R13=jh6kSsP{KFYC0KzMtO8*Xr15e!_gRXZ^ zHh4<&(MKP793d2>z9Ba^*JCY$83C(xxCee_3@v>?&b?z1Xg=t(bu~(#a??vhJ7@5V zHUUW+olQYWZ_2^XJgSQ`KpIzSr~gz_CMh{rZe`&f`CpgQBwD zFu&(qje-8G*y$aH(~; z8-ZGZUx_lfizr>1&1N7e#~J)`%nYJU zjoV+4OXg~0Hk+L_jQ1Xe`LP_}W<_3p*ny%;&%!*q3(N~gsebO^4)p;L0TY*S7mj_o zlMJnc{H8PTvi$t8!)XGFnuzM>&pNt|qk-ZVoadS}#AyO- zJ2M0OqtyN%0Av7!-^9nqYDXSds1D(gyKgtOGmO8PepaXyr_a1`>M?(9s`_?caD zue#bye@3zM*rVnH3r9KinE@SLfb86LC^D`@Uc_7KpMTj76d6|{dr3XAOYTKVN{W1* z*}3abRMy*>kF;WSb#(ys0T5pC)V{AY0k*CrAt3>uefAmdyYIdhPYscqn=8$jF+=X) z_0_rSsk4|3MQw=@`6|t_K&K3N+qZ8A(DElwS?PEC_U%B*N^D=U9l$!5DG;(7o znaIx0MoLNwwl_Q@=RtM-#+n9h7~*Va-@YB$x$B(4c*%CKwA=9vpoRYS?bkf`mEG`+ ztecXOg6!;UKqY;>;L`xCR;$D=q;gp#tu0TjEk8W))yB?(KhQK^P)m$J`D}r&X|LTo zi?RIBoChXJwK{VyMTE-KozI$3N_1)20Uk@}}14vCxl>oqM zwKkWO8?7x*BJ#rmTS7vDYQru)5y&VX_Ypb_)?Od1wsPH{ziIrG{QVnm7>!2Q?RNPS z@caxwc6K(5Mq{ut9`O{&+~>g8a-JK#>+6MP4M4399W`lfc@mKyo-cq=24YVEUfC>@ zo0}^!BVd8QB`>Vu{dY<%77GB^5-|I&S+fIMXKA&>J<#zEe0tXpM+`Qb&FfD0*$-R8 z1#fM6YHj(^8c%KQo`P+lCHGK(N}%C~$z&3p1)=yf0D>Tha7OP2K*K-@f*^DX82~{L zgiav?AP9ocDP#ZyK@d8H41gdALZ^@c5ClQ!l>ZNtv-^2nOz~F$0000