From 26e1bfdaf181516bf4397cfb3618f695cf74615e Mon Sep 17 00:00:00 2001 From: Tastyfish Date: Wed, 30 Nov 2011 18:34:43 -0500 Subject: [PATCH] Added vending charges, removed clown/mime from main joblist, sec belts fixed --- code/defines/obj/supplypacks.dm | 85 +++++++++++ code/defines/obj/vending.dm | 153 ++++++++++++++++++- code/game/jobs/access.dm | 2 +- code/game/jobs/jobs.dm | 2 - code/game/machinery/vending.dm | 21 ++- code/game/objects/storage/belt.dm | 23 ++- code/modules/chemical/Chemistry-Machinery.dm | 23 ++- icons/obj/vending.dmi | Bin 47267 -> 49728 bytes 8 files changed, 283 insertions(+), 26 deletions(-) diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm index 1eb51b8a0e7..ac332053453 100644 --- a/code/defines/obj/supplypacks.dm +++ b/code/defines/obj/supplypacks.dm @@ -15,6 +15,89 @@ containername = "Special Ops crate" hidden = 1 +/datum/supply_packs/charge + cost = 10 + containertype = "/obj/structure/crate" + +/datum/supply_packs/charge/medical + name = "Medical Charge" + contains = list("/obj/item/weapon/vending_charge/medical") + containername = "Medical charge crate" + +/datum/supply_packs/charge/chemistry + name = "Chemistry Charge" + contains = list("/obj/item/weapon/vending_charge/chemistry") + containername = "Chemistry charge crate" + +/* removed these for now, as to not confuse people (the machines are in the tg map) +/datum/supply_packs/charge/toxins + name = "Toxins Research Charge" + contains = list("/obj/item/weapon/vending_charge/toxins") + containername = "Toxins Reasearch charge crate" + +/datum/supply_packs/charge/genetics + name = "Genetics Research Charge" + contains = list("/obj/item/weapon/vending_charge/genetics") + containername = "Genetics charge crate" + +/datum/supply_packs/charge/robotics + name = "Robotics Charge" + contains = list("/obj/item/weapon/vending_charge/robotics") + containername = "Robotics charge crate" +*/ + +/datum/supply_packs/charge/bar + name = "Bar Charge" + contains = list("/obj/item/weapon/vending_charge/bar") + containername = "Bar charge crate" + +/datum/supply_packs/charge/kitchen + name = "Kitchen Charge" + contains = list("/obj/item/weapon/vending_charge/kitchen") + containername = "Kitchen charge crate" + +/datum/supply_packs/charge/engineering + name = "Engineering Charge" + contains = list("/obj/item/weapon/vending_charge/engineering") + containername = "Engineering charge crate" + +/datum/supply_packs/charge/security + name = "Security Charge" + contains = list("/obj/item/weapon/vending_charge/security") + containername = "Security charge crate" + +/datum/supply_packs/charge/coffee + name = "Coffee Charge" + contains = list("/obj/item/weapon/vending_charge/coffee") + containername = "Coffee charge crate" + +/datum/supply_packs/charge/snack + name = "Snack Charge" + contains = list("/obj/item/weapon/vending_charge/snack") + containername = "Snack charge crate" + +/* +/datum/supply_packs/charge/cart + name = "PDA Cart Charge" + contains = list("/obj/item/weapon/vending_charge/cart") + containername = "PDA Cart charge crate" +*/ + +/datum/supply_packs/charge/cigarette + name = "Cigarette Charge" + contains = list("/obj/item/weapon/vending_charge/cigarette") + containername = "Cigarette charge crate" + +/datum/supply_packs/charge/soda + name = "Soda Charge" + contains = list("/obj/item/weapon/vending_charge/soda") + containername = "Soda machine charge crate" + +/datum/supply_packs/charge/hydroponics + name = "Hydroponics Charge" + contains = list("/obj/item/weapon/vending_charge/hydroponics") + containername = "Hydroponics charge crate" + /datum/supply_packs/food name = "Food crate" contains = list("/obj/item/weapon/reagent_containers/food/snacks/flour", @@ -559,4 +642,6 @@ contains = tempContains ..() + + //SUPPLY PACKS \ No newline at end of file diff --git a/code/defines/obj/vending.dm b/code/defines/obj/vending.dm index 37b67c6cda3..b632013ac2d 100644 --- a/code/defines/obj/vending.dm +++ b/code/defines/obj/vending.dm @@ -34,17 +34,19 @@ var/panel_open = 0 //Hacking that vending machine. Gonna get a free candy bar. var/wires = 15 var/obj/item/weapon/coin/coin + var/charge_type /obj/machinery/vending/boozeomat name = "Booze-O-Mat" desc = "A technological marvel, supposedly able to mix just the mixture you'd like to drink the moment you ask for one." icon_state = "boozeomat" //////////////18 drink entities below, plus the glasses, in case someone wants to edit the number of bottles product_paths = "/obj/item/weapon/reagent_containers/food/drinks/bottle/gin;/obj/item/weapon/reagent_containers/food/drinks/bottle/whiskey;/obj/item/weapon/reagent_containers/food/drinks/bottle/tequilla;/obj/item/weapon/reagent_containers/food/drinks/bottle/vodka;/obj/item/weapon/reagent_containers/food/drinks/bottle/vermouth;/obj/item/weapon/reagent_containers/food/drinks/bottle/rum;/obj/item/weapon/reagent_containers/food/drinks/bottle/wine;/obj/item/weapon/reagent_containers/food/drinks/bottle/cognac;/obj/item/weapon/reagent_containers/food/drinks/bottle/kahlua;/obj/item/weapon/reagent_containers/food/drinks/beer;/obj/item/weapon/reagent_containers/food/drinks/ale;/obj/item/weapon/reagent_containers/food/drinks/bottle/orangejuice;/obj/item/weapon/reagent_containers/food/drinks/bottle/tomatojuice;/obj/item/weapon/reagent_containers/food/drinks/bottle/limejuice;/obj/item/weapon/reagent_containers/food/drinks/bottle/cream;/obj/item/weapon/reagent_containers/food/drinks/tonic;/obj/item/weapon/reagent_containers/food/drinks/cola;/obj/item/weapon/reagent_containers/food/drinks/sodawater;/obj/item/weapon/reagent_containers/food/drinks/drinkingglass;/obj/item/weapon/reagent_containers/food/drinks/ice" - product_amounts = "5;5;5;5;5;5;5;5;5;6;6;4;4;4;4;8;8;8;30;" + product_amounts = "5;5;5;5;5;5;5;5;5;6;6;4;4;4;4;8;8;8;30;10" vend_delay = 15 product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/tea" product_hideamt = "10" product_slogans = "I hope nobody asks me for a bloody cup o' tea...;Alcohol is humanity's friend. Would you abandon a friend?;Quite delighted to serve you!;Is nobody thirsty on this station?" + charge_type = "bar" /obj/machinery/vending/assist product_amounts = "5;3;4;1;4" @@ -62,6 +64,7 @@ vend_delay = 34 product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/ice" product_hideamt = "10" + charge_type = "coffee" /obj/machinery/vending/snack name = "Getmore Chocolate Corp" @@ -72,7 +75,7 @@ product_slogans = "Try our new nougat bar!;Twice the calories for half the price!" product_hidden = "/obj/item/weapon/reagent_containers/food/snacks/syndicake" product_hideamt = "10" - + charge_type = "snack" /obj/machinery/vending/cola name = "Robust Softdrinks" @@ -83,6 +86,19 @@ product_slogans = "Robust Softdrinks: More robust then a toolbox to the head!" product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/thirteenloko" product_hideamt = "5" + charge_type = "soda" + +/obj/machinery/vending/cart + name = "PTech" + desc = "Cartridges for PDAs" + icon_state = "cart" + icon_deny = "cart-deny" + product_paths = "/obj/item/weapon/cartridge/medical;/obj/item/weapon/cartridge/engineering;/obj/item/weapon/cartridge/security;/obj/item/weapon/cartridge/janitor;/obj/item/weapon/cartridge/signal/toxins;/obj/item/device/pda/heads;/obj/item/weapon/cartridge/captain;/obj/item/weapon/cartridge/quartermaster" + product_amounts = "10;10;10;10;10;10;3;10" + product_slogans = "" + product_hidden = "" + product_hideamt = "" + charge_type = "cart" /obj/machinery/vending/cigarette name = "cigarette machine" @@ -96,6 +112,7 @@ product_hideamt = "4" product_coin = "/obj/item/clothing/mask/cigarette/cigar/havanian" product_coin_amt = "2" + charge_type = "cigarette" /obj/machinery/vending/medical name = "NanoMed Plus" @@ -107,6 +124,7 @@ product_amounts = "4;4;4;4;4;12;5;4;2" product_hidden = "/obj/item/weapon/reagent_containers/pill/tox;/obj/item/weapon/reagent_containers/pill/stox;/obj/item/weapon/reagent_containers/pill/antitox" product_hideamt = "3;4;6" + charge_type = "medical" /obj/machinery/vending/wallmed1 name = "NanoMed" @@ -119,6 +137,7 @@ product_hidden = "/obj/item/weapon/reagent_containers/syringe/antitoxin;/obj/item/weapon/reagent_containers/syringe/antiviral;/obj/item/weapon/reagent_containers/pill/tox" product_hideamt = "4;4;1" density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude + charge_type = "medical" /obj/machinery/vending/wallmed2 name = "NanoMed" @@ -131,6 +150,7 @@ product_hidden = "/obj/item/weapon/reagent_containers/pill/tox" product_hideamt = "3" density = 0 //It is wall-mounted, and thus, not dense. --Superxpdude + charge_type = "medical" /obj/machinery/vending/security name = "SecTech" @@ -142,6 +162,7 @@ product_amounts = "8;4;5;12" product_hidden = "/obj/item/clothing/glasses/sunglasses;/obj/item/kitchen/donut_box" product_hideamt = "2;2" + charge_type = "security" /obj/machinery/vending/hydronutrients name = "NutriMax" @@ -153,6 +174,7 @@ product_slogans = "Aren't you glad you don't have to fertilize the natural way?;Now with 50% less stink!;Plants are people too!" product_hidden = "/obj/item/weapon/reagent_containers/glass/bottle/ammonia;/obj/item/weapon/reagent_containers/glass/bottle/diethylamine" product_hideamt = "10;5" + charge_type = "hydroponics" /obj/machinery/vending/hydroseeds name = "MegaSeed Servitor" @@ -163,6 +185,7 @@ product_slogans = "THIS'S WHERE TH' SEEDS LIVE! GIT YOU SOME!;Hands down the best seed selection on the station!;Also certain mushroom varieties available, more for experts! Get certified today!" product_hidden = "/obj/item/seeds/amanitamycelium;/obj/item/seeds/glowshroom;/obj/item/seeds/libertymycelium;/obj/item/seeds/nettleseed;/obj/item/seeds/plumpmycelium" product_hideamt = "2;2;2;2;2" + charge_type = "hydroponics" /obj/machinery/vending/magivend name = "MagiVend" @@ -185,7 +208,7 @@ //product_amounts = "8;5;4" Old totals product_hidden = "/obj/item/weapon/kitchen/utensil/spoon;/obj/item/weapon/kitchen/utensil/knife;/obj/item/weapon/kitchen/rollingpin;/obj/item/weapon/butch" product_hideamt = "2;2;2;2" - + charge_type = "kitchen" /obj/machinery/vending/sovietsoda name = "BODA" @@ -196,3 +219,127 @@ //product_amounts = "8;5;4" Old totals product_hidden = "/obj/item/weapon/reagent_containers/food/drinks/drinkingglass/cola" product_hideamt = "20" + charge_type = "soda" + +/obj/machinery/vending/genetics + name = "Genetics Dispenser" + desc = "Medical drug dispenser." + icon_state = "med" + icon_deny = "med-deny" + req_access_txt = "5" + product_paths = "/obj/item/clothing/suit/storage/labcoat;/obj/item/clothing/under/rank/geneticist;/obj/item/weapon/reagent_containers/glass/bottle/antitoxin;/obj/item/weapon/reagent_containers/glass/bottle/inaprovaline;/obj/item/weapon/reagent_containers/glass/bottle/stoxin;/obj/item/weapon/reagent_containers/glass/bottle/toxin;/obj/item/weapon/reagent_containers/syringe" + product_amounts = "4;4;6;6;6;6;4" + //product_prices = "1;1;2;2;2;2;1" + product_hidden = "" + product_hideamt = "" + charge_type = "genetics" + +/obj/machinery/vending/toxins + name = "Toxins dispenser" + desc = "Medical drug dispenser." + icon = 'objects.dmi' + icon_state = "dispenser" + //icon_deny = "med-deny" + req_access_txt = "7" + product_paths = "/obj/item/clothing/under/rank/scientist;/obj/item/clothing/suit/bio_suit;/obj/item/clothing/head/bio_hood;/obj/item/weapon/screwdriver;/obj/item/weapon/wrench;/obj/item/weapon/tank/oxygen;/obj/item/weapon/tank/plasma;/obj/item/device/transfer_valve;/obj/item/device/igniter;/obj/item/device/timer;/obj/item/device/prox_sensor;/obj/item/device/radio/signaler;/obj/item/weapon/chem_grenade" + product_amounts = "4;4;4;6;6;4;4;8;8;8;8;8;8" + //product_prices = "1;2;2;1;1;1;2;3;2;2;2;2;2" + product_hidden = "" + product_hideamt = "" + charge_type = "toxins" + +/obj/machinery/vending/engineering + name = "Robco Tool Maker" + desc = "Everything you need for do-it-yourself ship repair." + icon_state = "engi" + icon_deny = "engi-deny" + req_access_txt = "10" + product_paths = "/obj/item/clothing/under/rank/chief_engineer;/obj/item/clothing/under/rank/engineer;/obj/item/clothing/shoes/orange;/obj/item/clothing/head/helmet/hardhat;/obj/item/weapon/storage/belt/utility;/obj/item/clothing/glasses/meson;/obj/item/clothing/gloves/yellow;/obj/item/weapon/screwdriver;/obj/item/weapon/crowbar;/obj/item/weapon/wirecutters;/obj/item/device/multitool;/obj/item/weapon/wrench;/obj/item/device/t_scanner;/obj/item/weapon/CableCoil/power;/obj/item/weapon/circuitry;/obj/item/weapon/cell;/obj/item/weapon/weldingtool;/obj/item/clothing/head/helmet/welding;/obj/item/weapon/light/tube;/obj/item/clothing/suit/fire" + product_amounts = "4;4;4;4;4;4;4;12;12;12;12;12;12;8;4;8;8;8;10;4" + //product_prices = "1;1;1;2;2;1;2;1;1;2;2;1;1;1;2;2;1;1;1;2" + product_hidden = "" + product_hideamt = "" + charge_type = "engineering" + + +/obj/item/weapon/vending_charge + name = "Vending Charge" + var/charge_type = "generic" + icon = 'vending.dmi' + icon_state = "generic-charge" + +/obj/item/weapon/vending_charge/medical + name = "Medical Charge" + charge_type = "medical" + icon_state = "medical-charge" + +/obj/item/weapon/vending_charge/chemistry + name = "Chemistry Charge" + charge_type = "chemistry" + icon_state = "chemistry-charge" + var/charge_amt = 25 // only used by chemistry now + +/obj/item/weapon/vending_charge/genetics + name = "Genetics Charge" + charge_type = "genetics" + icon_state = "generic-charge" + +/obj/item/weapon/vending_charge/toxins + name = "Toxins Charge" + charge_type = "toxins" + icon_state = "toxins-charge" + +/obj/item/weapon/vending_charge/robotics + name = "Robotics Charge" + charge_type = "robotics" + icon_state = "robotics-charge" + +/obj/item/weapon/vending_charge/bar + name = "Bar Charge" + charge_type = "bar" + icon_state = "bar-charge" + +/obj/item/weapon/vending_charge/kitchen + name = "Kitchen Charge" + charge_type = "kitchen" + icon_state = "kitchen-charge" + +/obj/item/weapon/vending_charge/engineering + name = "Engineering Charge" + charge_type = "engineering" + icon_state = "engineering-charge" + +/obj/item/weapon/vending_charge/security + name = "Security Charge" + charge_type = "security" + icon_state = "security-charge" + +/obj/item/weapon/vending_charge/coffee + name = "Coffee Charge" + charge_type = "coffee" + icon_state = "coffee-charge" + +/obj/item/weapon/vending_charge/snack + name = "Snack Charge" + charge_type = "snack" + icon_state = "snack-charge" + +/obj/item/weapon/vending_charge/cart + name = "Cart Charge" + charge_type = "cart" + icon_state = "cart-charge" + +/obj/item/weapon/vending_charge/cigarette + name = "Cigarette Charge" + charge_type = "cigarette" + icon_state = "cigarette-charge" + +/obj/item/weapon/vending_charge/hydroponics + name = "Hydroponics Charge" + charge_type = "hydroponics" + icon_state = "hydroponics-charge" + +/obj/item/weapon/vending_charge/soda + name = "Soda Charge" + charge_type = "soda" + icon_state = "soda-charge" diff --git a/code/game/jobs/access.dm b/code/game/jobs/access.dm index c9770ba2529..0cbb3d48be3 100644 --- a/code/game/jobs/access.dm +++ b/code/game/jobs/access.dm @@ -473,7 +473,7 @@ /proc/get_all_jobs() return list("Assistant", "Station Engineer", "Shaft Miner", "Detective", "Medical Doctor", "Captain", "Security Officer", "Warden", "Geneticist", "Scientist", "Head of Security", "Head of Personnel", "Atmospheric Technician", - "Chaplain", "Bartender", "Chemist", "Janitor", "Clown", "Mime", "Chef", "Roboticist", "Quartermaster", + "Chaplain", "Bartender", "Chemist", "Janitor", "Chef", "Roboticist", "Quartermaster", "Chief Engineer", "Research Director", "Botanist", "Librarian", "Lawyer", "Virologist", "Cargo Technician", "Chief Medical Officer") /proc/get_all_centcom_jobs() diff --git a/code/game/jobs/jobs.dm b/code/game/jobs/jobs.dm index 230d702cb78..fc90968815e 100644 --- a/code/game/jobs/jobs.dm +++ b/code/game/jobs/jobs.dm @@ -98,8 +98,6 @@ var/list/civilian_positions = list( "Shaft Miner", "Lawyer", "Chaplain", - "Clown", - "Mime", "Assistant" ) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 2a34d1a4c83..34e0fc4d058 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -10,6 +10,7 @@ var/product_name = "generic" var/product_path = null var/amount = 0 + var/charge_amount = 0 var/display_color = "blue" /obj/machinery/vending/New() @@ -33,6 +34,7 @@ //Add hidden inventory src.build_inventory(temp_hidden,temp_hideamt, 1) src.build_inventory(temp_coin,temp_coin_amt, 0, 1) + power_change() return @@ -76,17 +78,14 @@ R.product_name = capitalize(temp.name) R.product_path = path_list[p] R.display_color = pick("red","blue","green") -// R.amount = text2num(amt_list[p]) -// src.product_records += R + R.amount = text2num(amt_list[p]) + R.charge_amount = R.amount if(hidden) - R.amount = text2num(amt_list[p]) src.hidden_records += R else if(req_coin) - R.amount = text2num(amt_list[p]) src.coin_records += R else - R.amount = text2num(amt_list[p]) src.product_records += R del(temp) @@ -193,9 +192,21 @@ coin = W user << "\blue You insert the [W] into the [src]" return + else if(istype(W,/obj/item/weapon/vending_charge/)) + DoCharge(W,user) else ..() +/obj/machinery/vending/proc/DoCharge(obj/item/weapon/vending_charge/V as obj, mob/user as mob) + if(charge_type == V.charge_type) + var/datum/data/vending_product/R + for(var/i=1, i<=product_records.len, i++) + R = product_records[i] + R.amount += R.charge_amount + product_records[i] = R + del(V) + user << "You insert the charge into the machine." + /obj/machinery/vending/attack_paw(mob/user as mob) return attack_hand(user) diff --git a/code/game/objects/storage/belt.dm b/code/game/objects/storage/belt.dm index 1a07a187309..84267da77cd 100644 --- a/code/game/objects/storage/belt.dm +++ b/code/game/objects/storage/belt.dm @@ -5,7 +5,8 @@ icon_state = "utilitybelt" item_state = "utility" flags = FPRINT | TABLEPASS | ONBELT - + max_w_class = 3 + max_combined_w_class = 21 proc/can_use() if(!ismob(loc)) return 0 @@ -104,7 +105,7 @@ desc = "Can hold security gear like handcuffs and flashes." icon_state = "securitybelt" item_state = "security"//Could likely use a better one. - storage_slots = 4 + //storage_slots = 6 can_hold = list( "/obj/item/weapon/flashbang", "/obj/item/weapon/handcuffs", @@ -113,5 +114,21 @@ "/obj/item/ammo_casing/shotgun", "/obj/item/ammo_magazine", "/obj/item/weapon/reagent_containers/food/snacks/donut", - "/obj/item/weapon/reagent_containers/food/snacks/jellydonut" + "/obj/item/weapon/reagent_containers/food/snacks/jellydonut", + + "/obj/item/device/radio", + "/obj/item/device/detective_scanner", + "/obj/item/device/pda", + "/obj/item/weapon/gun/projectile/revolver", + "/obj/item/weapon/gun/energy/taser", + "/obj/item/weapon/gun/energy/stunrevolver", + "/obj/item/weapon/gun/energy/laser", + "/obj/item/weapon/gun/energy", + "/obj/item/weapon/gun/projectile", + "/obj/item/weapon/melee/baton", + "/obj/item/weapon/melee/classic_baton", + "/obj/item/weapon/camera_test", + "/obj/item/weapon/cigpacket", + "/obj/item/weapon/zippo", + "/obj/item/device/taperecorder" ) \ No newline at end of file diff --git a/code/modules/chemical/Chemistry-Machinery.dm b/code/modules/chemical/Chemistry-Machinery.dm index 09d6ce86357..4e0f26aca4c 100644 --- a/code/modules/chemical/Chemistry-Machinery.dm +++ b/code/modules/chemical/Chemistry-Machinery.dm @@ -13,16 +13,6 @@ var/amount = 30 var/beaker = null 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","acid",) - proc - recharge() - if(stat & BROKEN) return - if(energy != max_energy) - energy++ - use_power(2000) // This thing uses up alot of power (this is still low as shit for creating reagents from thin air) - spawn(200) recharge() - - New() - recharge() ex_act(severity) switch(severity) @@ -111,10 +101,19 @@ src.add_fingerprint(usr) return - attackby(var/obj/item/weapon/reagent_containers/glass/B as obj, var/mob/user as mob) - if(!istype(B, /obj/item/weapon/reagent_containers/glass)) + attackby(var/obj/item/weapon/W as obj, var/mob/user as mob) + if (istype(W,/obj/item/weapon/vending_charge/chemistry)) + var/obj/item/weapon/vending_charge/chemistry/C = W + energy += C.charge_amt + del(C) + user << "You load the charge into the machine." return + if(!istype(W, /obj/item/weapon/reagent_containers/glass)) + return + + var/obj/item/weapon/reagent_containers/glass/B = W + if(src.beaker) user << "A beaker is already loaded into the machine." return diff --git a/icons/obj/vending.dmi b/icons/obj/vending.dmi index b0ad1e9d6e5b40707a55c629af5512606bc8dbce..aec6c507ae68f75373d2efe76ee085f3057cd1e4 100644 GIT binary patch delta 13511 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 N57hP4%2lkx{s&ETzO?`V delta 11030 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⁢7s%975JKJf%xQ4iPGx6A*SNLY+?m6N{& z66zl)_v)#pqY?96&4h8olR1yW?niJD_6#SVm#bJQ+~HY!62{f+p>CdjIq$vnGR5ea z*xJcz^NOnXZ3k5B;#tb}Wl9mMW13&(0C6&3Y+eoRGY&DF1JFc(_Bhh}c6QIHvn^GQ zs&iX-IkahcV8@vsc7vbPaloZ`Yg>h@`~4o(vPgW%Kd=68G0**VhLi0Eq3WZJQmZ?t qA?zAnnc?H&sKq}EGR4y3l)C*sUAX*2u@c(JzXoWCul@(1Cbr`M