web/lib/Zend/Queue/Stomp/Client/ConnectionInterface.php
author Raphael Velt <raph.velt@gmail.com>
Tue, 01 Oct 2013 16:51:32 +0200
changeset 956 883d0724ffd0
parent 807 877f952ae2bd
child 1230 68c69c656a2c
permissions -rw-r--r--
Small bugfix
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     1
<?php
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     2
/**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     3
 * Zend Framework
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     4
 *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     5
 * LICENSE
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     6
 *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     7
 * This source file is subject to the new BSD license that is bundled
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     8
 * with this package in the file LICENSE.txt.
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
     9
 * It is also available through the world-wide-web at this URL:
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    10
 * http://framework.zend.com/license/new-bsd
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    11
 * If you did not receive a copy of the license and are unable to
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    12
 * obtain it through the world-wide-web, please send an email
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    13
 * to license@zend.com so we can send you a copy immediately.
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    14
 *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    15
 * @category   Zend
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    16
 * @package    Zend_Queue
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    17
 * @subpackage Stomp
807
877f952ae2bd update Zend and twitter oauth end point
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents: 207
diff changeset
    18
 * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
0
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    19
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
807
877f952ae2bd update Zend and twitter oauth end point
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents: 207
diff changeset
    20
 * @version    $Id: ConnectionInterface.php 24593 2012-01-05 20:35:02Z matthew $
0
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    21
 */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    22
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    23
/**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    24
 * The Stomp client interacts with a Stomp server.
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    25
 *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    26
 * @category   Zend
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    27
 * @package    Zend_Queue
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    28
 * @subpackage Stomp
807
877f952ae2bd update Zend and twitter oauth end point
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents: 207
diff changeset
    29
 * @copyright  Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
0
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    30
 * @license    http://framework.zend.com/license/new-bsd     New BSD License
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    31
 */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    32
interface Zend_Queue_Stomp_Client_ConnectionInterface
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    33
{
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    34
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    35
     * @param  string  $scheme ['tcp', 'udp']
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    36
     * @param  string  host
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    37
     * @param  integer port
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    38
     * @param  string  class - create a connection with this class; class must support Zend_Queue_Stomp_Client_Connection_Interface
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    39
     * @return boolean
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    40
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    41
    public function open($scheme, $host, $port);
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    42
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    43
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    44
     * @param  boolean $destructor
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    45
     * @return void
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    46
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    47
    public function close($destructor = false);
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    48
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    49
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    50
     * Check whether we are connected to the server
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    51
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    52
     * @return true
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    53
     * @throws Zend_Queue_Exception
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    54
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    55
    public function ping();
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    56
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    57
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    58
     * write a frame to the stomp server
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    59
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    60
     * example: $response = $client->write($frame)->read();
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    61
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    62
     * @param  Zend_Queue_Stomp_FrameInterface $frame
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    63
     * @return $this
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    64
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    65
    public function write(Zend_Queue_Stomp_FrameInterface $frame);
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    66
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    67
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    68
     * tests the socket to see if there is data for us
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    69
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    70
    public function canRead();
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    71
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    72
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    73
     * reads in a frame from the socket or returns false.
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    74
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    75
     * @return Zend_Queue_Stomp_Frame|false
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    76
     * @throws Zend_Queue_Exception
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    77
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    78
    public function read();
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    79
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    80
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    81
     * Set the frame class to be used
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    82
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    83
     * This must be a Zend_Queue_Stomp_FrameInterface.
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    84
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    85
     * @param  string $class
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    86
     * @return Zend_Queue_Stomp_Client_ConnectionInterface;
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    87
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    88
    public function setFrameClass($class);
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    89
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    90
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    91
     * Get the frameClass
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    92
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    93
     * @return string
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    94
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    95
    public function getFrameClass();
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    96
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    97
    /**
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    98
     * create an empty frame
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
    99
     *
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   100
     * @return Zend_Queue_Stomp_FrameInterface class
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   101
     */
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   102
    public function createFrame();
4eba9c11703f first import
Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com>
parents:
diff changeset
   103
}
奔fxT:")pԹ2o+7嬼9{nG85^FMu0Ҧ֡iLLԮ? KlU!^oUJ+mHIyr~j TQۧIsܹw:x /}f)xH`JU,IVcĐ!T<ߏWB{-~I|piԊyMb(xo% !켑Ŷ[;0`W/Q-Q_&fC -).kTœ_)}@L]&'5̯fwb!_h򌰰t%,&[ߓO$MXl!T-剄n\M-7ϮHF*STmrAXƈO )o]k#Y1AyPh؉_zE\"o2WF8I7n$$ E։S9(J.[x;ߦG&Q(%,t )mAׇ]ǁ]GYՑ5M{ ⅔ sj 6ѷhj燧vnT6 Ǵ,˭dA"GҶMEy[XTM>j4J}R{"}4tJb]ӧpM;P+eO ,KaaSLRܡec9`6Ndl(lXhSTqL Ʋ4T!̌L`ޚ'4n5d L oCvDX p:yD QNdQr$$1Cһ JR.%@7x$5!\$R]M- LJ#]PI R4bX2*5LUlj ۖP*Dp'"+Jb~pp$¤t&L1iE  yhZU2JtөjBiCFö TbiJ`@df!(ɵL[*UkiY{붫ܣ1`">{ܲ}u@Rk@@a 0^5 D+`*W?>qpñ}!O5vxq4vv$N80kx/c#s"+hMQwWƑ=Tq$ݨs_MDM"*Nd,Y,R,*%3 *xؾ/ 1C|{滍 "P\>&WCdWD|l=~cX! 8@*'n)'Z:Tqa&HxB($M&##j2LD CN;\.0Ȕq "uNF,I+f7h˟mĵ)! :ɨUxK\/pyD9.6% J@KdBirf٥ I5&Ŝ-0t;+ sw86mPYf1&a !OUI#j4/h 'KS8u a'}#U&H4v"IFCj㤦ҒmH}ytSkc9|=g.5+oѕ{C"k' X‰mIM6xr&bnfz&?J1EX1!x;?&>p;~wӒiDV(=_~Cia xǼ&&أv%`noIjb2|@1,Cؘ"4mQ1IȎ >?I%C3IZcP dž}㉭0' |f &BHd D6d+l/fNyO7%lb0U,@%`Raʚ}0U(!"}s!Ȗ*`%ڇOI4JU C!jC*UjB- S 1əH^ k-+enEuFoStWDm&y ̟NޮAܴ$)B T s7wV(Ү3 FѻjM¨J6XXTjKH Q BZ S;--"%)V\dxO:wcBߤozบ|5$~xďt^уcs17OP x.ϙ9˰ښ2s07 ~N0$OXZ o:.b4&[ifJmhJMam&F J#&)@H./i%?fd?(OM*l xbcyÑԩENHdlM41 +!fh'>#U8!HLREvjjRA 0CI #ɂi Y"G>1'i'4B3}6f$f<8ITKP%i_?'( JJjJ)*X!F$R%FX6̶jL[-%$ҥR$jRT%K-ZRRVJ"=z7M]\+Ll0bTwwh'b&HuatɖpZtP(mvI h>%e_?Tx6c~Ӳ3zL],?NUw3n7?f] .D85k*i%S'UCW1`f5 9%LfEc?6j~Ⱦp@ j>OӁ;0;4p]j Re9l KaY  Ocu18$ظ 9:68IF!JN >32Y4QmeY84?T?([h;G&4%HT"ę`Q;[ж(`DȘ?\ )cYlMU%#7 }8XAe 4c8&HRy#F|wd" a^3qUBo;;iMTvRQ(_1 JR ptQa)ey&m-DoBI,+t\DuB vF1u.YfҒ ye(e+5<&1 ʔ1 $+8f`֢a:XwwNPi }R{,2_p2>p< *Yb#ƗRO¤[$!NbTIl~ni6f Z|wƏTЕm.A ^h>_}/pM9N5H=+J)Ģ<`M U(ʌ`a2 |Jq0 (zT[fSb`اmZi2N#܅4^ 4#׳_?32U|E6ݵlbyA[8ҋ8}U(v'HԴp1/ h!Ĩ|hXU)uIAv0'!  $:xȔv3➱ҟٍ)qJ3HB~S BdGCôZ$$򠡿'"%J}KB$Ǭc_FKKc=Чs%p1J~^qG,¨$f<˺Gb ) I#XG?=lzMZʩ:L=|b}? IlS_>?Mѩn X{xV[trL}?oz+/Mmܦڃ!1콮dJ̅6cէKFɬpe_͞rT٩Y-JtI AmTγ_FqF?6zr@pv(4l,3!-tƌC' soMb8f vwXiw39/^Vd;vhC_t:ߓ::3?Fxi&u,)򫸈{rWOkN8e{Q-yeH ]$xOƝ~TI?k"y^ !_*> gu/ɾKo}qtqH4ٲ9 @!0Mໟn~YbXdfd)_wX9[ ~@ǤcHOccEa4PuczI`JbQ"&dȁQL2~] LD(^Vr&PlY6a-UvIRhv馬QQEmd4jKl͡*D"%3lp89`:[ s*>ClGjvֽ^q\|mRp-LS T$k`A`8v.:Gs9Kq,>s@t<ғUNS.jn!`PMxRQɔJygѼnXee̳£R(2IT)A UNU}i`Oɧy鴚}wSa玱4.1 TlҲ {&MkXSח=(&dU=S0ٴf ݭXx{y~!?I"D"Eu"(B!FHbf›Ut.FKʨTvy̯4̐'gP7xfվɤmf|=QH8 $d)L|O~=G>n1\pᰅ -h5V cru 2) Zᨐh&IRmQ2췰*O"P޳|=~c]jLWP<2TwFQL-\0ْY\1i QSÈ_Nt \K2"YT<Ǟ0s,yb|}Son<ߙxƆ|GZ2pDbZILWOM˖XhS4P[`1b45r6\5f;mn`mHؽKjA8%=~ ^9Jk ۇĉhov'3W?e'Qځij C?OЍڧET"LX=S]\lZfWWD%d^oG_Fw\oVtvJK>d`|1~?ɭ0|u,II@E2tbH,HlQd) fVhRY/:ұx6h>+yѤ@DZvTE@R56̲)ZY {'q1UZZ#YRHIڕ442J%JԖ6Kpd .}Ȅs(pLA>~2b"E bt4zЏ1TOO@()(o;00L(!Ow;c&1u+mB g D1cYeVUeQFiMmJJBT J8ZS:re,NmJQ!e1zp1u;5N0cN֗huKxjѹ/0seLIkfK^œ--<,Q"2wH KW=TV<֡s , Icu:κkZhp;o*L 5ub~2T}='*.?|Žhv/⒖A2D!J*/R z N`O=?{u_ 'mz~̸ MahNWJt]x. :3){17 **X/|4>Cq0nU9{?No2JZ!-Oҧ"k{3F7c$R_!\j !{ lߕI#FԥLa$].߭/fJ~O_;P⇐p#L Wa&iqW&FWiY(J*d-_znӳ=s˓zVySJD-׬I 璼kEװ,L*ya@3 ,&f2K[kIKOgc `HR (WTv5݀Ik*ON{Y׽1ێJSFkL4֘|fGIk+ l)EcwWn3[aO})23ם^6 !cM'`{I{x79u XZ38Zm(ScBmM+p4ml&%lӭَ3Y96w dhkzGY@Z_0MoqxH`$d`U+Yy.*ԶS d/ wlkz5 E|1RK`U"ۆT9.V1 }C7U V؞yBݽݚd*=/b5RMinP;Tm4Íɐ ^5%f2pb'ș᳦1q%;tk2*L۫JT_Hv߸z |Z^32ŖjIs]4RShNo'e4>8#?N;%j=>JmzJ}(UI>5_D.s6 Hed@s|4 gleUPc{C<2eŭW{h }GRa"QokN8DHzf0m" Jτvh/M!ufAVLt6pr6iL+E:^Pp?|q b;f+˻ˋޠYto73(g4U!R%!jI5s kWDI^ k5fcR9P \*Bz dV(_Hhf5&UX_.D,vŤc"Di-vv&:1|5tQ&m sQAK~<0e,S׼_W6)蜱|΋v׬ޅ bF}/R4gDh8BA{Oe(yeʲgr~+g7CS#U`|IBxnlZKBiju0["`pwe+_,J\4ٴ"v@^Y1"9~bgD43퐜4J("^FтR4c~H\iѮmYj~oeL<!i=9RQI蝥7zg߷i)F /]~GnHHVQJh_nަ 6ثEJA I_NJ<ckpt(t?{b?]Nk )СS5W<*9)(! LQV7٫P7EV^kOK형 T"EFˉQJb~-6eAS5gJ -4ڨ䜀wNw'-cM` j@ ܨ+dIim&s#X0rףͧ7N;{놥݁@ ~,9*UWӸת5Ơo(-0c5fiSm$mpdKqṖA I¿H1{pUP6817abP8^O= Z g֓ X ] S)F?:a6|oV/3L@LCq.qҊ3.n*ɪ3ĠToJ6>>kR{?½o )TBimt^+i& ]y }TzPdl,Qe8eYCTXJ,W㢨~qaji~YՄcTlzٶ̟^W.QX(fQ%Bb' UwYva*=N$ U!P׹Ĩ8pp§_lΐh m{b-4ᅢQ1$<ލT7/{z#Ɛwޟ"N3'-Bs+n1ѫV9Bw㻶.-lXu`ae)+t-a5$J#E}X\VsAZDGs[rk0҈%x Z(H]ͺEF5&'JDQV-<TI#8$T$At$&j `eC{N_ިx `PbpAzz,#M@`wdt[UkXq$ƩhSAi%v#G|&WdmM ^dI |Uau+l v' ۑU!!6RGtt Rjf#ѸheI}sy礈j<ټ5< Tg N Gj4mb}crYwcIU9ahb՘Uyr D?lY`}Ϩpod޴])߷mI<'^1 ^u(el lzz}XhkeIn9:or;Ԭ䵤SzWA9SΒHCjCP2,ʏoC{ϝ{o;{Z֤I~јvlCa'lgI1UO4X,ܓp1;3Y Rz1&c;m⊆)jдn(a`H9#%Cki& ,}G0Sx~΂k R_ޒhluO ?R1"~H|?k{1tmu)ae?5A4wK4JeqcTr ؈[=eķ-о=el:8jֳLl'~/O<sK8/UЪ׶91h[A"@ lJ!_%%`AgqȢH/I`&v Ʉ펇&u,P>> P^)v!S*v.qz2t##jUgλgVZf$D'}N3)X: uzo9za3%~8f0 ݨJ26.uEj˹*ɘA%˶E L ,TUR 1`M8O =PqfX´XM j6_*Q&т樤iҕLn Z0ƆKU&Bp4Ck`:5Ėq iCw4r\%ׂCѡ45LF-QkBib @!b>c& LñiaC`[*r"[Dm?~t?\#4D~4HFBL=f'SӃN `%2lrT}20R[ RLM10h`a)CCIh\`q(hi16  ֟# JUT+76'4;>&yAY=䃫݆EГ>ֵ޷F`(8Ow2VmDنW7w*>w |E14-)*@"3-T8'dB/]<55ac5ۘwtf'8``C_ؙ$FWIzjOB`:Г vQjϩs>28Sjߔh?oF` 0@.VF%.*fi,^TK1&w1&;;1n=r)@1b/ך;x/ =}AY_{aIyYjYgeu~Q:ݻv?{GiW v|}_*z8u_zHDO*0ET=Pj ٦1i5ÌGhPs(ӄΫ'qudv'JJ}SS3ҏ8P(Mn|ĐjGCelMc^R5s˦ё8` @ljL6xk S/I)廊J4!qo;v$|->e-F(ZpoSG`w33Xc_ήk%`?'uM *I68/ӿB_"`8x^S]>;RfwY=Ǻs7ڣnF8卖wa=V!}PrTRNw*;1B,iA#4y(Ѻ}}=on{4m:w|LyGb#"&Tr i1Cݏj_S,wk&R1TWZ0èRXxTΡ!wE܇ Ť8&'r?n'9Ilѱ+F͛2Dh ;EQ'( 'v.}_=^72ֆB4H)o  `@3Qݤ`&2oxc;O|njJzZŦ&4"-\ ƛh%wl:_Уa!hճpMJTIgGG6(AQ׎ROLZ Q>X}^rHޓMg01⌤H{d~ψT03bQN'ˑ2M>,U} 9p37͗߳nx_p>_ؔ&N9I5.|']q#)Nc/DNabA;>NsxB5d'AbKVCK2IGOŢ;_/==ۮ " 33^ݝqP+'A1u.GVLxcfeOT[zpynٍQegػ٫wE], !z*ҒDg$S$qȤY Ӥ\Ś?e4mI'@j@l2xY9 <",Ȍ?ܚX2b=rxN;]ўo}`l|̭U,^k66}᱃',MϚGΡ.{AaIPu ]" je@&&um41n4 nZPkZ }Q0낀D.!,gc5E=Z8*ީdՙܤ窻,C{8tP8^y9oRUFOSvf~5VJ1#D1 3anoGX[mbj%{<yA+2TdϑAdζLN=(||mo -sKsh(f .⭫& b gvxm!' a{zm#LG O|~V|[־[w\LoUWx2p7.OFu \«qhc1Lw }s{+v,{g({Ђڹ!nnwo?6WffEg 6PY =bD"/]C#ڄ,47| "جuRY]gR֕DʕV^*$,NKKnj=l{gLfIZ5M2D<8ޛk THm8FO$+;= jb L"jSET7gϷzztj`3꽌lP  מj=v/~24”Fog,3[Ul.s5RV4^=pY酹&WyǦ~{99}W'D I[Eˮ\V!8 +vY`(hbGdvz1 n).@Dbm<U69/e;ӷvi" FVDDdUʁEz?zG/F#%zS %k=Ca .aײ^OP{~0(-Ѣ8GKyyA6-w`gW{~M$``Z!WRZKBԝ$D8wDmxeh(6Uig; ^Ӫro̫P&壑i)Gq\6نm%@p$TQS`y  >|Vq5дDJ܄ԢYdPvCA7Li tl=\ۛMqx];n-7nr<>LFᲨcMa5$d4TP F͛tj(SPٍzoYV ^:*bZ&DtTooPșIAZ$hAkE%N5-nW1JF+tkZ-.7ZE\eQQ)䕵ff$.V10r![ćBEQ]?$8Ho! І l4('E Z_ W( R %= 9y3<'Ud(חD;M8 C\0D@wdO7h\}kֳ~/< eT<*}R_2Re-ݖian6PTD@GݚͰ>v'\u[dl{4[p#gdluF9rg p"4^Y_?}Ȳ8%=U~[ahl{8f;T}tnTMĆ >|fR{Nz5r{7L)%+{xhcfҥkl%A i$ѥHB 1Ӊ  M%ueڗE!266YT8MJX5atЀ5i X!DF R˦dCZ,IATHD6Ǫod@!J=u+uç9 f?٬]y݋HPܛAԢuGs">xBiBnTd1ȁ%PNFN)h-V#bJεvdԀd+jN8a[i4 C:1dN :/D w;woz >/a^O9T+fQIfdЧ%+ky(p (qz:it|7U.YZʿ^Fyz1MsGT( y+?t8"gX,LzHb̶Tԫ#&Z5El͵-S5Ff p8($@"ȣ?/i!/}Ƞ(Ϥr ,'+=8YG @BLL9d%؄⻢(.޿̫Ei2 KR5˗+VY=-m(6Ӵi]nVd5F}.LS{ +c)F!Jx .l:L,.6vr $j6MCTB3v4h%0kd([VZRoS1G7B 1#w&/V1U*<ޫF{o5ITQt2…Lg{b c]8^gK q)MRRƂhw}pG Qj@ll[pЈGm 1,TN!Ĥ" g39F"a"m~ -F QTmIHY(DfIj1ji&UE[HB'rgimŰ]RFidN[Ɋ$ਠx"u<4tbMf9 *Pe)ԎK-RE %M(R+jj"bf3#3FiZ&ٓVmJeU3mQ6JjmcfX``VFQ 4iK4BZTiVQJҕ*ڦ R p;"mQl*3%h-n&ҍo+$$m,G &N9}0).r:y@>f:8F-k:Q̽m%R ~Bp5 )`ofK`^ lV(yw~(ۘIPtCWvo=8&6 wH /|ϗeĐLT$aTJVFr晵 yj6+0f}}~>GE$:S 211aTC=yygz8Fj3 ƒpaXFt}?!~? ji6|ZFEJm3i$62X@ҴJ}Cץ |x:'|x"dnD͹]1ubwQ%]%4ch-y]9Pe0A1d)eVCx8y KbkB: A0SAJɓRI1Lmt.l-ڮ96mj61&eIaY !SRq68ÛbpMQFΚLv&*cIT ?MEyPʜ3rP.l{_MS6W_>m b,]`+LGg'4Lާl>--DªVCCPZJKub30S. M{<$f@$d$aia!eC?:4,B"I~3" FiJR-MniIHe-JS",k[bd>]cΣzS֪RԈQVR-QVP()J H4Y -&Lk@=g->WóI^@#'=1'joq )8= { m"HmI#:nYq%cWOل'GiLTNH4KDd>|y=/ǵoQ$i f _(l{ >3 (U=%{:M{ҷk2òқBē=;x@#M0%<yEK TjjfةH_;$.߄CSǧϻE\#bҁZ8$=_ {gȔ9%%q4P#7`v;<"Ň췸&)1IFT5=['(U;$;;! ݽn|4s'QEr]_<Ǧ]"ϞBi)Tl)Qiqc` ,&I0`3?V`& 02"@"R\0jVέl h(Xn&BhAyxNJyGjN {y1п&>+&wο jO _hJLL*uO31@O1jHLZ~JCFdtIDȐ?/=y'Gp={Jh:yXt_GG(݁#_6q vY49:'JC%@da1 $Kug|scjN;ܘ1cPOBmdž28Dc!24A=@`)<_o7֬W+^OiK[hrg k@JgL>ݘR7IiX4&jAeՓ)f DM?641imj$Dh$[uvÅllݚM1I,v㮧T/Rbr5u wނ?2|*{>S#QHյb|`d9a3,LAdYa%Ҕ6m%mH̲ZEF"@1R؅ImA hW`TlSTSH!5bڕ5ک5hmk5*-(( D ̊MS5-{n'Jr 3D3J@a I)) %12pl?!jk۶ں4;ce: T{e2[} h G?) }ZRN[B&HR(mcӆ5n2,SiDӭWQVIό>l 2i6+e螗mŇ'r$/͸wYʙ(@JS1[ޞG)//Ծ>\-O*)^ d%eYgDyNG>xz%rQ2('Q>0JРMõ2a:Xy#dn1bϘ'Ix ,2ʕ F݆b3j H ughsr) x'2Bm/8`֡=.. 1Z-wwDui"t=~&ufp}V釿353R'lc"Ņ3(<7StqmYɃ~zs0ZCGn Ldg>g%vtI!@Qex۴ʼk5 Kc.2Eĵ/Uw㝝4M'? cb/GndI: 岝`m e޿XW>^]vՏz.v&s\$8=]b|uP~O/ۜBY2˙<%5<81?hˢK}䧏%I)ma T(;_M HYhqC adflnL< q!wnܿC^IA͢m9%tR|Hb%^s1{@Wُ59HպkmS+)RyR&Չΰap:i^Kvx} *UZ|Yb G5(24_y_iͮRH Ѝ= #2Z7:iJ  }% DIIMzNqugzztUx*B;GQYm29ƎCz3ޘWe9bzalbYz!=^ RXDoFhǁ7Ww?|Rb4w!}=7UG=HÆE{D4E}] tkOƷ$I ^~<|W֯Tp 1:[bK(m:_zz:$-N{zSoM=jD1. 'FF}nh@&nk*~|G{ tRq [Ӷ6Q"YBEO|B)?GaW0Ds!&m6-13%dԲM[VV&M1eILI[JZ(д - I,h-h$*%!ڞhύڗ&"$dJ!JX&{,{o$GP<=OCxYgSg9 8C)D5e၊!GPqHEs 1wR!_Ov/\&'T#}Ǻ]SdRU1RlQeHE@O6#D?3!I=4q_Z߯樂l͖3_^`8,_F?~\>2]+B(j$hP?~(tz%2<'Wѷ(8E+ 6r@w1va!0$*5 5<=gp*an<1{y"`7pZ,o 42iQ 80Y*,eQe6e߭.7iL(:uPЭDa!H> @${ppgգWs}=*ح=4h܋6mgOW-zb8#G1wm6y $$$ QJ)E(!`efYe&H$D2ʝ$"ѣF4ҴhѣT#*0H^Lǿy|{0hTY^]7(3RLLdX1Yjm=҇4sAvjjرVsrj܌d#DҙatMK `z,B<ղxS˚ S.ޫ[dږ=k[lMR^%8<(Ӗcv/ckIkyv~ 1atה]hf߻v0^_x)9uSO'Cg9(T>V NmhY>ϖ+㢎?8qb5bVE)'n)NHIėh;},B0di˛k:y/,mÆ^nDPI,?6a4)@#Q]9uHix?|>OJRuC֐JrVixHۏ\+wuu/uޜrW:f_<|\/Mv:%Sl|z=o}}f-5o_\U>q (n]xgg)س_Rbaƾ9C+Ia ˜鳑8}[0)mS3*b"8U_0ingw7{Q w4Fz& ɦ& 56j445=&OS HQ#"bb#AѡF142a4 4ɡ@a"@f~zeHlHH:75fQIFBiޝOrd~>f5L Vfnq :JB G)wͦURFD= R41 ,iʯ&㏣c8~PTeCMAEkE8l8"jPA$X'$,G0b05z'lpV y 0@XpPL"^rW"ߛY5t}ε 21uR޺T$65Zam *'*q$m5ԹAVuʘ#M41MkRt:.m2%A"oI,)Fq/v6$@r^iټW 6p&fFcT!]>t2UMD\(ܝݘ?V| tB4~#͵ՑLD Լb7LHH2]9Rw4NՈ-iv@F+.;OaS5# 18O]vO##p-,jkҺ_*Ӣ'|yk$/$s{~llFLh;i;|9 +W vGuqθt'8hFFnif8BTU*Dڹa`ӣUqX,+/!Aj;{B.`}7loNu-ffҼI+Ϗc d4ޱJ9X $/>o9@T†R&S)!ѢQlP,WmHit7ժsg}$F$`9F ;i6YMCb:|t#du^gF qQ]݅˰SHa"M@XȨ0ܗ2kSbj`2id2 %) W~X,%8QA͵70^{`Lk;Y j N!Cl9"n <.0&o&QgPd:ZŊA$QҠ-m^uRE[+[R`G15S,$w0`MR?c!8Pp3Sz>'H[%SZU\M;mpMh#ct}F+rFLhiC.C,Zuvf$`.0jc]iug"AH44\]@;X$٥1UtIH5BJ%@LE <s{T o_mfg?D lbID`?w (["\$zj8gv:!@(z ˤIi) 8 &7"!66@.#cFr3cD,~?'F3-8f}AkVZDy,4Q9flq[cenV\Bmd9J1*!tAFTuX %#)m fLjжn JRuXI tN rSl9%tH-N3\L]uӭFp ܳ6cF65*k: E#Ϲ龲(&^1c96z_'F/ٓa]BB]o