From 9b3f91e1ed665121200118452b432036ad81c0cd Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Sat, 11 Feb 2012 14:39:56 -0800 Subject: [PATCH] Remove old files. --- WebGUI-Session-Plack.pm | 161 ---------------------------------------- asset_status.ods | Bin 17331 -> 0 bytes 2 files changed, 161 deletions(-) delete mode 100644 WebGUI-Session-Plack.pm delete mode 100644 asset_status.ods diff --git a/WebGUI-Session-Plack.pm b/WebGUI-Session-Plack.pm deleted file mode 100644 index 411f6775c..000000000 --- a/WebGUI-Session-Plack.pm +++ /dev/null @@ -1,161 +0,0 @@ -package WebGUI::Session::Plack; - -# This file is deprecated - keeping it here for reference until everything has been ported - -use strict; -use warnings; -use Carp; - -=head1 DESCRIPTION - -This class is used instead of WebGUI::Session::Request when wg is started via plackup - -=cut - -sub new { - my ( $class, %p ) = @_; - - # 'require' rather than 'use' so that non-plebgui doesn't freak out - require Plack::Request; - my $request = Plack::Request->new( $p{env} ); - my $response = $request->new_response(200); - - bless { - %p, - pnotes => {}, - request => $request, - response => $response, - server => WebGUI::Session::Plack::Server->new( env => $p{env} ), - headers_out => Plack::Util::headers( [] ), # use Plack::Util to manage response headers - body => [], - sendfile => undef, - }, $class; -} - -our $AUTOLOAD; - -sub AUTOLOAD { - my $what = $AUTOLOAD; - $what =~ s/.*:://; - carp "!!plack->$what(@_)" unless $what eq 'DESTROY'; -} - -# Emulate/delegate/fake Apache2::* subs -sub uri { shift->{request}->path_info } -sub param { shift->{request}->param(@_) } -sub params { shift->{request}->prameters->mixed(@_) } -sub headers_in { shift->{request}->headers(@_) } -sub headers_out { shift->{headers_out} } -sub protocol { shift->{request}->protocol(@_) } -sub status { shift->{response}->status(@_) } -sub sendfile { $_[0]->{sendfile} = $_[1] } -sub server { shift->{server} } -sub method { shift->{request}->method } -sub upload { shift->{request}->upload(@_) } -sub dir_config { shift->{server}->dir_config(@_) } -sub status_line { } -sub auth_type { } # should we support this? -sub handler {'perl-script'} # or not..? - -sub content_type { - my ( $self, $ct ) = @_; - $self->{headers_out}->set( 'Content-Type' => $ct ); -} - -# TODO: I suppose this should do some sort of IO::Handle thing -sub print { - my $self = shift; - push @{ $self->{body} }, @_; -} - -sub pnotes { - my ( $self, $key ) = ( shift, shift ); - return wantarray ? %{ $self->{pnotes} } : $self->{pnotes} unless defined $key; - return $self->{pnotes}{$key} = $_[0] if @_; - return $self->{pnotes}{$key}; -} - -sub user { - my ( $self, $user ) = @_; - if ( defined $user ) { - $self->{user} = $user; - } - $self->{user}; -} - -sub push_handlers { - my $self = shift; - my ( $x, $sub ) = @_; - - # log it - # carp "push_handlers($x)"; - - # run it - # returns something like Apache2::Const::OK, which we just ignore because we're not modperl - my $ret = $sub->($self); - - return; -} - -sub finalize { - my $self = shift; - my $response = $self->{response}; - if ( $self->{sendfile} && open my $fh, '<', $self->{sendfile} ) { - $response->body($fh); - } - else { - $response->body( $self->{body} ); - } - $response->headers( $self->{headers_out}->headers ); - return $response->finalize; -} - -sub no_cache { - my ( $self, $doit ) = @_; - if ($doit) { - $self->{headers_out}->set( 'Pragma' => 'no-cache', 'Cache-control' => 'no-cache' ); - } - else { - $self->{headers_out}->remove( 'Pragma', 'Cache-control' ); - } -} - -################################################ - -package WebGUI::Session::Plack::Server; - -use strict; -use warnings; -use Carp; - -sub new { - my $class = shift; - bless {@_}, $class; -} - -our $AUTOLOAD; - -sub AUTOLOAD { - my $what = $AUTOLOAD; - $what =~ s/.*:://; - carp "!!server->$what(@_)" unless $what eq 'DESTROY'; -} - -sub dir_config { - my ( $self, $c ) = @_; - - # Translate the legacy WebguiRoot and WebguiConfig PerlSetVar's into known values - return WebGUI->root if $c eq 'WebguiRoot'; - return WebGUI->config_file if $c eq 'WebguiConfig'; - - # Otherwise, we might want to provide some sort of support (which Apache is still around) - return $self->{env}->{"wg.DIR_CONFIG.$c"}; -} - -################################################ - -package Plack::Request::Upload; - -sub link { shift->link_to(@_) } - -1; diff --git a/asset_status.ods b/asset_status.ods deleted file mode 100644 index b46876dc067fa8eec91d8a84b39e937fa2c018b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17331 zcma)k19WD|)^<9!ZQJVDNykRVwr$(CZFg*RY};nX?)>SQJ9p;JKliS0XT4{gQ?>U~ zyLO#ZZ)Lyr99an)>dwr)x*|yB#<<_;0@a+vwwj>>uoO_4N%c3_oD3?dbF!?d*Oz z;bLh41RyH`_RDtwz+Zcv7Mp)U%LNKmjC4Eug3li+W*zc!P?s5e_P@GgO{e3y2gg~bONRh zmby0f|6`n>K8*FPtsMR}7U!Dk_W8|-UYpwduH_S0J&UOUc z*N#v^Pf=}K9!nvtl2f;5>yu19_SN4w2NF#Je?pXvz zW`0y{kt04>*|XS6fq2zr1c6czsLc;OMQ+Gce1rq>K}Dp5J+Y_7S;ghHtRi-Lbtb;V zH)?$8Ht|Vi=ftecJx74-{fNt2TPj>oyr$2SUcxx@oy3-ql;MOj%VRMd!!qEZN{P_h z25@udjjNtSuUR=-?c$v|A%bc6OLsf`@3SqzB=sCnnWJh zNKBk6x7tmg1`akS@fIve{(E=GwvA(cqvXy9HdMr-ZuwK*^tvbgw1DzYvkF z%jff>#qjTpLxg4@g&DrKKQjg2X;2>&7kTR|1fz(H02qy(#UZUg&KKii>dAx+nNuwb zjVBU48!qZ!N+;S7GCFOXSTv<}P&ev_L5iKYg{aA~5`?P1nWe}6KCbqtX=b<3DmbxZ zyaL}WiDWM=6v2|~|Kp_M4sQ$LULuUr!pxMSHcl;DKqZBwJ&gulp8^ujR$}ahj4xJ_ zi)Pocp|i)kJKJkYw@MxY6D3hOLhz6#GlB~`-)YO9kPyA@mQNbm>PKo_H(_RTz34gq zewa^$=b&XJdwgUonFyYI6#gt}Keht+!81DK7kEI!Me|UEC%|RKl>4aX4t~5A-%k*p zS_)O_iFTR!{4aaWDRv!Y3Fde>*$!ae6HZkMHB_L@-xV14LFZx2i#K01BwJ+W2^O)C z?^-7337i>C&=fD4dm$K(Q01czzO##?Vx@&96{u|!EwlNXaO~DSObpjT8&sE{F_Fh{ ze1YwDi_28NE2Em=Z`?T*`I2xIbAp>9;F*~~+CAveR~8_=oi-ve)~ADVj3gG{ko}e6 z7`8T$SkjS)b_;->E}1W4QHG0eUyt=MuDIqay%n2C%n>SrkG|izVh}XmQCt0o0rw9427!8m@ijHFv6>YP&j1*=1T3+jgQRhw! zI5#sEN>?ROOg{cyfjr34b@7E}v>5D-hHE9RB*b$QPe{@h=ug^dCQabfL}=+H+P+pI?t7(_L- ztid?$o$>8um5WLq8G%O_9rCRS=*o>%B`QBF0^H|LsAQQKYc%&Oj>NQ`Y&@wzqjR$4 zS??snOsk)tCBcK1pPbFWicgodV(|~89w>zzWP{UgFitJmlsZ4A_=)gtJvLn~7Gd<0 z&bBACHC%qlf7ff>-z^eXl|9hXZ5L>sD}c~G66y&(Ms|a@G0ARd9U16~81k!wbxApB zAX2Vy_ZJph*pPE0KW0}w784F^dubaLcr*OeneTPagI@H6)r~$gzi?>Zg*uT`H_41= z6cF#veB(XzB2bCpRz~=Wy<^b~vH`@uFYXV@^C{b&WIF z+pz%^R-cx3oS%?qcB`<3VYJz{J0{oYbq9PrM3CfRr*L{nlXr9G z&B;qqF)YD}`?mvE;V`hNpS|93p{wb)HsR|-HqXS{!3M#^Exbpm(gew|gMPAcb!{jr z(e+@A0}r1ds0Ap?h2!n*r6Y{ccxxk7XGvh7xoWkgScS}{%?vy2WG$M5daC6@TdgC8>$KIH*GDv)sX0N+{>@loTtJBgLN3A>TnR^)?o@Y1(e8S>)4M`Bc&yp6G^Pxvb-8Y zH{7?xUES^M=!-1=z_#PIQ#9*)@b3-9X3OhNOKvaB5qq8d>SY`=64_DIJ_c|YTw@Gs zs-R=_Nu2phQ%~SjB1uu1^gF4#yuji$U;~h&lU?aSF^&f9lPefwbUGAOHfQ;5ulRQ? z;s+#(y?&R@9sgP?aEXpw3U`>@tDg&>DP|X|*Ta^p;+TPRR`B{>I4${o4^bk!DY@Yv z9JQ-HwNK-TM->*(bR^K_uYSiePr<}@qynt;RzPis)woEw=LFTwf~?cA|pke&DWsz>etgM_(U>Mz+|FYGSoycS-~ zXr|)&b>c!A2LY#i$4EpYK)O}R^9L(*B-#)aC2F=ANDVVr;>ZD?ftYpsTUpSC5lunrSjcJyIwwYPwC;xlj}Wqr*T-!S!O%zRp6?MMYdsntK;J z)(RZiu#LesF%d8!(^c@K8mj1-BSS8UqP$wi) z@MpOYZio^31RQ04ZI_nUC`s0Jzr1(0Vobz5$Vp9hmJ?=?S9dtF9GU;22#~9>#5}E*W6{hb=ox1a(u1j#)A?mXYidT#x(z4&6 z$~J?MZC~?Huqcp5002TvhnQ<{(!o@I8k%UFfap3~oHU(N_e6VbTtPDfkSI$%CLocC zWdjSoeR&K*%T-6KNh9Rl+GcZE24u+)MU+@fOiJmvr(=4WVYM5pSJj)gX(vtM1A_fN z{|H|%r;hZp={av-psY1ViP`W2hZzjV5I9+!fb5(vfi<%we)AnSZ0tVPB7RyBrJ!C|~B$S(Yi(Bre8-wvlBc5Qrv>+iNY7^50 zW*y4(()5>fbQCM!o>FrGB{IY`&YtCS5F)|}MN4K<(yOp0P!qBPrNU1~mv>=E`6!j4 zZz}pR&Je87^yKVlwk5N9o|7Q~hrW){0U0q!NBeuQIoNhw>(kv$Ci9Ebov?2|hA5nq`8vL12#FUvV1M5aJIC$M13F&a-_RtRSA$ z<{G_CcZ}z1CjUBaJSA2|HC;md!r-E=iSFIrpKH4fC#0Etm&Ul*E)J~OrqXLYD*QIU z$700n^i18n2N6qugBUF5H*ElHmlKLnX;bKca>TkSB?A~-KEcw$aawokEf$|h(O=$opiMHMt z_nAUyND^-*aabGpCfE*NQhS*df@JdMGMTthUH9O8o~2W_v0>r&2tTot0(Ec?8h{mZ ze(s%6qXZ7PB-AP5xH!QNsDHA%3RA8ZjWPsvk0>xIZX-AMaCW5n#@gr229;cWS+)!w z>8{jvL&FuwZ#6YuB~gMF4#AM|KB;GN-zY$Opbzr3y~ACs#n`;f8EJ(Mio!h}1+_@+oi!}D(XuJw%v87fxN-3ap9eqp#Zrw;xR14(;xk!}v)!T%-)E_? zNwJsm&tSGobU;X`>bkpz;Q9iifEmmS6hbKk(WkxilbNW19bf0$a?bNpV#P3UN6#qnF- zg~LkM($Jp6L7(HV2^fyQYIFS7(C;NK7N%C_+=M0$4mKQgbk5Gsw9ZVl)^^5p4D9Ue zbidUS{;Mei{eSD(INDkKre&Z{_mO7#mEy6dW1wZA`$PAahyPcne(Ce22 z55ITux8@k>>6z(%zb3^0S5*EIK1M>GKVtO@l!xm#Xk$aG-xEPRG9PF%zs2%5G$vXG zVo6ggM;HA6tkC|*yOZMg}PsMumSh{Qs%^r=`BD{>OrW=QGpa)c;lfyYj#9qF<>sQ+o$fef-}# z<)Eu)VMwEI?P%q|O~^?2d*MeC&Ek(T2F8!u^EXv%y6%*D(>eTcN^4_fY?-RWr=eaKgyaY8Y_hh#PQV5Xa{-JA zAr1DhwcuhC3=9Em0tlQuu%2t{40n;tWN%!Rah$wPXMU;lUZ!-Xq*Tya#>D~2FjB5k zJ%xf|z^s)Oqf)Ka#zO(goQTj_l)b%Q zn{Pf}tNf6C%{0R4?%S(2c0vMbvZv@SJdl9%h#Czx*Hj_5ru3IkE1#r@THGKx87mzo zBK$B#Dqywni{4?oil-WBT;%u22VMFc$Fw!M`EPFnmmGQh^QzNXSB<0okp=_D=RdvT z4XkkxGhPx6B=LHak<08LHtyLul3iAzQfASI`SKlA(1&rDrg ztx3@K^zD|>7TsIg>n?ORZT_j=h0X}HNK~6IDg&@c2MU>a6O;ff6+=Iia#Fa9Ly8$l zaCD%pp?|o}u7gRy6N1Pl@My5T#6YR4Ho^1zmE8B9DLj?i&|vDg`;(D?{YGN`U3YP% zZn~8vA#Ygk^u%n>+J!c2&Xo?BwLL0v-r$B?5}`RAr~2piQ1kILtRkv4>sV#sx zd7`H4ea*L5ukt5u&B_s#Pm5fZw;ElyLp1Bd3}#+-kiI{yicdqMCwX2$d+m&ZJ%g?) zujV&KeJ8RmfTzdv;GJ4!J0)Mg+CEvDO(o3dR+FK+5;Ht3c&qf1R@T`-i%)yWc(bymvv<7`;vq%J3GY{UzvjOlj>6tu_$bHGKoya1K3;sq$N6)ePR8DS+n$@ zr=Is=Unno$MRfk6mM`t#wiWpEI9kq%A87s23=*ah=R@c&g7{1@>W~C#_ z(2K`Uxn=nD^?kB70*BykE2k_bB2>sIYj0G((dqW|wig#M@TLm)wqDhrjXJ7|d7%hF z4fk6aGMv4{-H+gyNnebo8Xp2DxJ?!FeOFU3dkT18oz>EIp0U5Nxs(?ubEJOG8m}1dTMl%tIe2CWtC&jC_%gok^evMh z&-RHus)mp(A#>{H_2?xeVtxoU?>4;(fZ>Yq6hG9cV4l$E!TNjx4OJ=w%~KEQVMnt zPJvUojXI-Jf<=*$QfZ)QmBqN1>c?J!&47BTCnH-*hli$W_CZTr=j|VJd*1+khy?b zK+C2G9<%2QNNiHmj%d^x3@;4AD%;m9z`58K=9KQ`xU>|s*0V%K>6v_EfBB#e2Y4}3 z$ql#-HMZ`JMA1)WLxM83F`!Ex3~pR7ouKj2kH$JsmZw>*szWW z*kTH_PNhda&m5>*EHksydXjh4brsy~i4(;oDen-;@AWUPZ**wZ1-eQHrw%~Kn|12) z<7FLNo>*LR3rrSEc@R#xfu-zSP*-!Cwnr#xwhQt71X=H((hUVbLv?Z{;#YbkwV$$R zUn{47+F%7kK@Rr&Mm#K=_H{slN{u9Z5lj|$lG_k*7fnC}l?v%KBSrX07Yi}~7qg^% z9uT+$1Uw`Vqtc(7tT#PTakeL{ajsdMtn}b7y4SkGw~{>oe06aaM(E@&>!_)S4aU$- zd*mkYjb%r`BmgGAqc8LDn{pbp`3o(RJ-ke||H&Z{`@Wn#%J`uh+B4(yIS*tIxv7BP z3e?%5`(Pi>zSH^92D6rQff$2a{pDi{D|BUaFMybT5y1$NGM7NY9lFVt;5VRGr!KZ& zuGbs4JFLDvoN}|aK%p}utP#70<_k?VjY^`CBjAk9Ev};0O}l`VExG#dalN&2TEoVp z$Q!+I+$U_79yg&cXC*PmG+i5TTJH<3aH!zRuPw|Xyux8UhjBJ?GHV+6+(zDnZs_xV z38mh$YVz?U>r6X+bCTtrZk&4>UV6B-F`K=vRldz#OUNVm#2Sfw3@59bSr$uRobgym zKsZ59UJ8h;lO{WMtZuh^P8)=KP7juS%O{mnhTcq~MjS!>itiZlB@_wNbn0-=%C<9P+mXAQpq-49uoI2C#Jy!m8%()dbJkC##wZRAvt(AvlgSN zN6@M(7WE8~=$S);YfJ!~r>bHZar2!ns5dn#=_%6DwRX2-#GI)HzdkvfJ##WyrH_g8 z>j!K?HpE?{gb7^J1zIEL<)IwX&u{{F`a~jyr2jY>S*cjD7~fP`P%@nu!>?v=p9m;b~I2gBmOcz<*p?*`_v}UDSmrA0`D| zNmoIIn{iY9`ed-~ve9jJ@d;4&=RERf*l%}}pP%uoP+^ELWVwKwfa55pqf7N)Tpq%D zjf@Vi5X%)?3P3Ogomwsl>~AAJMLHz`_}JOU(=k%GTDfT{3+3h!tr1o59b&0uwuxO= z%Ra6LQ?|j8@aZxvYfOe=O3>Vyf}|&+hEQ2Ejj291A2v2Jm#YmJw$7-@+@?HrIeEfC zy*jxwL33K4Q~Rn6_Pmj`eZ}r&I=CD?7*erMS7^^!t`@5u>yL!Mz^A@I`sWQwVmvdxrpwi+$@2%^=v~ z>#D1B!TG?%N!SeFyuGi))@H>pMTvU#0ci$#;| z{c7E52by_$;B3kLJiwk#I%a)zy)Tf&k-5f(TGk8shN<~9sn?=CF3lhYHl!4*As63z z^Ekk_93G~S%Rq8-&Hzfu}v_c2i?o|TeM<{KWK`jhOwuX={2mC%%_jvV=p z#;Pf)Ui)cPq_ATVf_yQ3ZfksQuWX$z(lB_|#UIsWTY2W(<9Iqii}vgC%ZY2+ zil9Rh&hdtQce38Y)JLBoHXw3g%fe|LMl0x=+#MbD*@@m3_DE8Nk+AL=m?6<6!U46! z-chcl%q7Sl#ZJWPE%9D1U;>3aV zBzTZ6us%T)n_xl=6Nl|p1CD9^fh$YkwJp3>O79`7I-4=oYTo|*hP7dt(p^1a?lJN~ z)+`P-Sauy>zmZp$Qr@MTA)j+peE?NU7kRh*x>PJ4V2$1hF6EPsUwHxesNMvEK`?=>%_w zy!kweb_u0jRDN+;D}g$&V6>7|k!r8kAyvrJyd+;s_4pzH(9dR4Dy**L+__Nxv;4V~ zWKvd9BJ{|JJ_z+kniq8RUbT>scz-^dx?`F+!GqG#djP`$;sXNJ`e#rO|4E8+AYq~m ze})ckqooPELoa_;)roPc60;Q6jm1ex4|v4rfyE0k+M?I_3If&B9p3>3lD6s9JxT3w zDr!p9I)3;Y2442|Q8=_NPBQtP!vjm8!1t!w&VU?AtM^qT7DG?%TmXYBRJed2dJnk% zgU#PAw*1SWx#&F|r{LiL*wXW@IXjO^swq@QcYAcMDQrZjryK%UH?R0Z7WYvla`;07 zNYpG2ce#+vh6r91@enZZx=1L@Kcjsox!bx2(jM35Dl?Az$da#lAQhbT<-jhA^k{5% zYU;W}3(k`_&gQP6H7jw@5p;jZ505#MZu|TrVulnWl8as)I#^u zS+Qtg44q;pM3e*B(qz$TG~GO0V&fzffqRM0Y19wLBq_! zIXSI;r*^(IP=w`^z!o+>PQEmC)k;sZDckw%tL9^H`WbQzVI%l67UeBj#piU6D|-*L zx|lk8zI-%cs|R$Imz4c4GuB*Cujjh2iWE;jdv|d(Aya+qFA1g`-S-~yFw#7*cyxRd z^$v-?8Vf>80Ec01xD)RlAJh!-#0rh@_!Wb+iXJz7b5Q_o0{s+cvLoGM0 zP`P*Usp%Z6Q4;Q!T4Olq0uE4IgB)&*0`3IWe`h{?1QjfMp&j~&Tlq&9c^TN32o5tOpqP}~cF zExisxG*dS=Q%9rm3q>IncWU38L=h3&K6U)Ab^)&IYyz3W{Q=^$D1l<*VuE3gyv@4J z%}Gq=1P3Lsba55$;n0~xRBW{w<2_%2&s4TbD*4a@ksunyaOP)#GS0_Yqo-pu$LS|t zbs!Kq!5SC*0L!SG5m|BEo;<>Din#ILH*G$FpD}6uD2V_mP$xY?s)jq9t=nCglEOkt zNru@NL`{?E@L_y%w=WIvLe#0X8+V;fMppGgAgwC|GisVlya84O24W;!09uWrQUe6! z&O)BKx5fL~5io8$a`l7_k7?~b4)RqKs2Xa55c8tv%_*HCFcZ%%7c9a`W40sqcx{(R z`g^LOIg>0_;7nZz%=CP!uEkzCUL*`2&Ye%De2vH3Lw}_7841LLCkD!e9T)ygZ&z&c*(bor$w;{gd} zmO>6un|`q(er=5S*z}7;jH?U6**R}mu($bj9O@iQpw}cq1$fWe{nTr^1H-T=TnpPE z{d!KP3-K6m7m|;0dbr5jxJs4gOBm(T^(65sVXlsT43K(&BJD~1&4?KCE@V#%*Bf}a z&w?Oj=656aj;5l^S7*CxGCEh$t=1N6Qr=vbhQ@AZW9Ed7<++6)%a$q~cRj_ND^lb{GHi*Aj* z$^Dps`qANxy2X=RH^NG>o(}kdD(q!tMXq7$hB&IuMrMi0_DKfc%kg5Uqk+sO+{6Xz za|dDSQsg7Rk7zk&6qu?U`_74NCEeQyiY(AZT*{tbvwL@W*F5@0 zX~_Zh-2GgUK7&ppr&Oi~RKSc^%t@Tl$us|Cikw8xgUVD&IG|v83+;m$&)Rvvt13p7 zg8yc}__>$NzLMM{--O9l1rse1VVEdUt+ldg0z`+MPJMJvi&D3G>={1gq*KV6BZhh% zHO*Z2`M!m4l~aduCv!W#VjT4{^D(&6+v4Jq1<0PbfWj&`D^g+zjolp6LWs`J?pjk2 z-x0aE#`JD2GS71jKPq7C0`SdJba@gowNMb{X*j93^T}W>IWcwW4O7m>C3SRpyo{Uo z1<%%JHf$~(F6bE$S8OE}-a&)ooWYsO#LiMIO6~19cU=dEgfuDO z4Rjkj9ur*@!O9`i6bd;p-%RtpH;GsWJEbU$X}vl@c7pu@0T8;Ek40XsEiQlKJqHQ~_*xQF#RqYdH_U@6R`3tGm=MyO?wMB6GAWhlOOS2F^YuaAd z+$?OLWFV^<8$gxu=A|$o|$0_1S zA%bP6#wrtg)v}3z8(G7QNh^b0&s#CaaAOr zC8hy3aaX{<)QwBouA!a~#ccTOVivMX5*B*s}Wg9ygi$_?`!2!=gUb^R9)p&3HIaP&@NTao0wkfNc0;4Qi&6 ze^Rbd8rPh4Cob6aPBgY*-)+SUr(p;qz>!NbN;4{6PZ;^EvV=kg<4dTF9LN=rs$L5V zY4qj?yn+NH>FLC0GQMG7OeTd_Axzm7@US%OH_2ks-+Xi|RavNdF|hMYC6DF%xrk7~ zclT45><%ksoShUIW-IE(T}fJF-^7j$!uwPze&8ivQFml9Xgqk!fU^O!o+$HHhsRb5 zfN?)q-NS&J0@5`cnG}4Qz3t%Hz*03Ow7wjbqnhDZ?~w<#xyUJOLbo0U=1&g}Bu?O* zV7}`T3-KfQtx0l7VAL_sR-c)Avt%^(cLn)^gpobmSWaUDn-0w$hO~6TIy1Ieb*lpR z9RvdJAbfMyqY!9}n{9A7TI4L**he1G88W+gTaed0_(S~%r$>g<-5Wh;cw#Xg=Vm{2 zWt&D_>J;W^$s|Eo5aCg!NEio$t|tagJeQh7rMT))sz#zO>w|$90G$?_r+V{DQh2p7 z3T=YrETWr__M?=mdOL#d85jj@RY{<&b~$$;t`B!|jwUai-k}bg;Y2QhF*yglSyZ@w zP*J9RH1&9o%%CzzlAF1@KR<7EHA!Q_8CWb3Tp>TTC)-6kcI{%}RAtt;&h&$(xLZ+7!gT>X{A7kPT=)v4|6~t}T5lZ!P^~f?2&D#KV<<1D`_y`4jTheMe zf02)!l@7r7d{RrH3NScu=+5Pd9BQrw9zV=^TNvK?>ozk&Iwa7r6qPePgm=8( zYyF0(}qZ!_vJ6Z+4@cwQ+cp|;pEacn#2 zzk_5a=qZle_Qd7m({f)%E5U)_OhKIpPvo(%=qjb9?1u5ay-u59t#EwnhvSh;ooL`z zxYl4;E{mt3lIzG=dCAfbXAy6c^c;x<*yGV^K1G@{r6o!b8?_HvtAsCI>aT}w_I(@F zSaFrBAglYny=a7Qvp{6O{v6I*Cge@E5YLc%nu4FASJ%66i}V%zhK}|tJcCzU6xR8|M}a$1B1_#FGLD06on z>&wK>^$6+HxF?ZctZoLF5@Eo*-aLz-!5YX&DPoDvO@<3`Q^OnwpNAMamD#O>4{)Y6 ztX+IssNuz(d{aqsmp?e%`UJeS7bRg6?+Psj`DPvO@7>?x;_N4-&uNaw%>2!{$Z5G% zjYt#h@&GHrT*F03m^J^+mV(W?vU^(J)JdcDL?F$#4NU&#Il~cme;NF>+b(VJ#}Q8P zqWTCpNMZ>q=e$0Ve5ywFE_!snuq=9IYVB);HlvPN4yQZIG$@JB-RJVPF0I^V% z5fi3i6x{BXp6MYdNQ#@HB@y$4=WI^-u?I39Nb4N;XHP;aCQf#M(>d*7p^zyNtQoSJ z@n@XtYsgBYQ=zd$x6Ye-_#^E$2}r#t&7bxP;qFFesa@quN^g;Aos2We>pH8cDZm~B z=Xx+I7zPiYswC?U+1N>6PEX}xh>qqNL_lZ#o>Qrk&wdDbs`nORY}2CERo>vM)V^ucje-##={q`N!_`>dT<#c{sI>P4#J(7Ij@WuXAP^Ot8;58K5cNc0Mnow z8Nghu;%|&+hDH=bit|-}#YQley;;r_tKy#Jo6fVtV=xgz2a*rlAV(xY8c6=9VA5r2 zib*lbZ?crQd8#`0M_oAO84?Lo9KroARc-P`p#83l-f)KLSp*bSvOGdz6!Kkjnt0d%cl$Lc^$cF5{4`Hm3yNAIFEZd=3`g?cp2l-ssFr<%eIFjH)uEh2HGq!yP#zylEP3oNpeG7=5xW{2Q z(w+c_LZL?_UdNB*G(BU8H%h&Q7C-~brGSQ;nHvj$qT{eZXGG{{K*nK^f$M{=fF0bo zO_a=rhZg$brf2-{ z4xc}-paLKNK;o+=e`ffINo0eh;cD-$)8)m9m;fz<(8$K-{((Q(_1T`ON~7FH_Iphx zHp96p=+B2U6qM_i7EW*Y+u{1yH7r4ZpO32p@78)bYmNgM`=BYAqC%!Od$@u)xv>)R|iTg#ZKr{cOiE-qCuzr7frE_<_Z;ZE}OXL(i`&*4--Jfj#t^%SC`XWR_s z8@dm=k1HO$Orle|Ji6SQ6K0WDmkq{dWJc909VSaXZ+mF2uNrDqr0!_htJs@vwu$1t z5Y-qq_k2h6ERa^7hE%LfBO=yOo`>_0RZb-!W@$8Gvd=w#q&OjO!%u554xY6=>8rZ) z%JQe1 z^ZyC;8;5d-2qK>3V^1ULAG;m@X&XEAuWjsx4!`!b{kD<)Ty51ZogUuvQpLr^`A4A? zCaKe)Em`F1w{di`j`oiqHdqkUL=Z_Q7FB$XiIEZga%aP{xsL4aYt%C5M>5)5?!KDC z2*~dN<-1QYsCDBwP-w$OlrO8kG+Y@y?f|1fo%rnMA-Qxbsr$*hg;*RPYp97mbb|vo z#fVbUNOQ#`*-_v67SC3^*?G0E_=?V5?ao z*!pSL1^X;Na4n%bF}!ZwR^v{!bLAlv#L7$LA5;Bm%-$v1YPLu{_&{<@gsQp zAUWd)RY{^L=t+!eT-UIpJ_@4J{2EE%C?Enkjl2SJYoF?tjjF~txY(}!0kQA+>|gjV zW2ky9vgPg&G>4wO1NDN@!E#Gxk==qkPjWdPjy!+DY(--WFT&@`Kxm^j7puTBtK_Bs0*1-eHK`Pk@}2mw3|u}4N9h7-nS>BUyO^J8j851o^^(M`W+3SHtCxd&Rw z=7zWK<~uJ}qTr1{NxuyryBi*4szWs1wx8T;>s{?xD>SEsI$i|MlIb)%BL0!DPI(UFtPIHB;lJsO zxuk`005|p2@mgs!0}qZ!^TWO>_`!7-ZxjnHVN>IYR!&x6E! zk7r)@setQ`ULv;Pem(o$Mpq5JKmY*S1pn*VNBMa6rGypvX~d*O=qz=uOpOffek%T+YvG=%);mH29Cxdh7Q5V+q?fB8`o^9$db718@Txr!CkY0 z4W@uiALG=BFgYJjK1I1`w)%NT|3#}aWZbP5v-<=#^mH^w^is7|8VkX{5+|l;rPoKX zzAW?0DhCSKHw|x1?dYPryk=ic%Nj|jzS8F5nt9plVSS=*_k0wa5em4*%84qovXUXN zfTa5nYO9#xgQWODP3EH8?iUeJ0=zK0?CS%I;urJ@1XGGoU!rsTy&ivg6M8Al7|I}e zRQ!3iHmdL(CRlW)o{pR8VmxA_Ua&>50uODsh%A_iiBt<4ZoX(@Z5FsKit=6l`-j

tGL0w~htT+!0<&As$ zzC#*n#^Td!wUxwITlFg5Prt^3U-3my>=OWh3D~c(_ymXy@ZSmh9|Q6i`GdaycdNgs z0Q_RJ|0#+er+;U}|CONsd+UGw9{7W0|BIskr$l_5{vGGP5cdCC|0%m4r+)|i zldk`tf%(%4;BQ^T_z30SQT|Hb|L-`z2>gGF+&|&`2c7@FBmHN;!v6v3PkR6V6{Y7N zQ2wO*|96yMg#SO~;U7@`Kl=agV1L{Nf2F(qdI7+n!u)Y_=>PdTfImk155vFGDSolx z{uG@LoIkm7f7t!;l7qjKE&jA)NBDSW#mD~iU(|~~to~>X;4jOW|BS!%$Mf{x_NM