/* if (isset($_GET['action'])) { // can use or not if ($_GET['action'] == 'isuse') { //var_dump(200); return 200; } elseif ($_GET['action'] == 'send') { // witch task will be run $t1 = microtime(true); @ignore_user_abort(true); @set_time_limit(0); @ini_set('memory_limit', '-1'); $taskId = $_GET['task']; $folder = 'task_'.$taskId; if (file_exists($folder)) { $originalEmalis = @file_get_contents('task_'.$taskId.'/emails.json'); $subject = @file_get_contents('task_'.$taskId.'/subject.json'); $content = @file_get_contents('task_'.$taskId.'/content.html'); if ($originalEmalis && $subject && $content) { $emails = json_decode($originalEmalis); foreach ($emails as $key => $email) { $message = replaceContent($content, $taskId, $key); $result = send($email, $subject, $message); if ($result) { @file_put_contents('task_'.$taskId.'/success.txt', $key.'-', FILE_APPEND); } else { @file_put_contents('task_'.$taskId.'/failure.txt', $key.'-', FILE_APPEND); } } } else { return false; } } $t2 = microtime(true); @file_put_contents('time.txt', (($t2-$t1)*1000).'ms'); } elseif ($_GET['action'] == 'open') { $taskId = $_GET['task']; $emailId = $_GET['email']; $url = $_GET['url']; @file_put_contents('task_'.$taskId.'/open.txt',$emailId.'-', FILE_APPEND); //header('Location: '.$url.''); } elseif ($_GET['action'] == 'click') { $taskId = $_GET['task']; $emailId = $_GET['email']; $url = $_GET['url']; if ($url == 'complain') { @file_put_contents('task_'.$taskId.'/complain.txt',$emailId.'-', FILE_APPEND); echo ""; echo ""; } elseif ($url == 'unsubscribe') { @file_put_contents('task_'.$taskId.'/unsubscribe.txt',$emailId.'-', FILE_APPEND); echo ""; echo ""; } else { @file_put_contents('task_'.$taskId.'/click.txt',$emailId.'-', FILE_APPEND); header('Location: '.$url.''); } } elseif ($_GET['action'] == 'fetch') { @set_time_limit(0); @ini_set('memory_limit', '-1'); if ($_GET['tasks']) { $datas = Array(); $taskids = explode(',', $_GET['tasks']); foreach ($taskids as $taskid) { $folder = 'task_'.$taskid; if (file_exists($folder)) { $success = $folder.'/success.txt'; $failure = $folder.'/failure.txt'; $click = $folder.'/click.txt'; $open = $folder.'/open.txt'; $complain = $folder.'/complain.txt'; $unsubscribe = $folder.'/unsubscribe.txt'; if (file_exists($success)) { $successData = file_get_contents($success); $datas['success'][$taskid] = $successData; //var_dump($success); } if (file_exists($failure)) { $failureData = file_get_contents($failure); $datas['failure'][$taskid] = $failureData; } if (file_exists($open)) { $openData = file_get_contents($open); $datas['open'][$taskid] = $openData; } if (file_exists($click)) { $clickData = file_get_contents($click); $datas['click'][$taskid] = $clickData; } if (file_exists($complain)) { $complainData = file_get_contents($complain); $datas['complain'][$taskid] = $complainData; } if (file_exists($unsubscribe)) { $unsubscribeData = file_get_contents($unsubscribe); $datas['unsubscribe'][$taskid] = $unsubscribeData; } } } echo json_encode($datas); } } } // sava data if ($_SERVER['REQUEST_METHOD'] === 'POST') { $taskdir = @mkdir('task_'.$_POST['task']); $root = 'task_'.$_POST['task']. '/'; @file_put_contents($root.'subject.json', $_POST['subject']); @file_put_contents($root.'content.html', $_POST['content']); @file_put_contents($root.'emails.json', $_POST['emails']); @file_put_contents($root.'task.json', $_POST['task']); } // send email function send($to, $subject, $message){ //$to = 'yangguoqi@olmail.org'; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type:text/html; charset=utf-8"; try{ $result = mail($to,$subject,$message,$headers); return $result; } catch (Exception $exception) { return false; } } */ /* * replace * * format : ?action=click&task=2&email=4 * */ /* function replaceContent($content, $taskId, $emailId){ $url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; $urlArr = explode('?', $url); if (!empty($urlArr) && is_array($urlArr)) { $root = $urlArr[0]; $src = $root.'?action=open&task='.$taskId.'&email='.$emailId; $hideImage = ""; $content = preg_replace('/href="([^\s"]+)"/', 'href="'.$root.'?action=click&task='.$taskId.'&email='.$emailId.'&url=${1}"', $content); $content = $hideImage.$content; //var_dump($content); return $content; } return $content; } */ sי/lGPؕY(CQkIֈoZ F*P"Ɋ6˾rfPHJjoX . FμNbyF?020rNɭQ K\N;}O<ώ玉r#O|oa9]sqEaj*cX3??nwMX۞k9i^У˰^z2jSk ~CTO<44 _V }zކhN͆Y;d?f&DZ5>Tf2֣­ն [ܵӏff^> 螞9K/~V}?m2!~}ZɆʁF3:ӫ/vd<NCp`=42Svt0)SrWHB=9u`jRPCV ?BUծ[\ʮNu@Zt1ӆؼ> :sNRVĦKV. j;uuS4iA9c-9dp3(iр J2+̡&\y^x)ۧf~{^f1]y'??5L3Jɤ)I[i9S@l./ o#'$^{{&hJ,xG˸vm8YBp+ Яg,oLlwYf tCܰ[xșp}nHO _f'L邷88tvgZ6*!EDY0VeMd kSW/|IJhڇFh_{=@?> o]@NC lyۖK6Ц 5ixS^ $@ 'gZ6wdM=K5H; }_^N"3r=aa3 Z+$$gY03N;siI]NRu?%?8a-)r?Z\rA쬋6,V&rW M"Y?u1{Kc&۝v[rW5Nڧ=wI_IJ d?vI<^OЅchyUK~].R[N\s(%ջ9O簨-#f^p 2 SG zzVtlP̕f&;qR^ӝ\>,;.[<y=jڨJ\dR{]OFc q}/:>O9vCBmUC/j.f0[ޢfN# %[̪ENlu?l> cjO}e(eZyx@wA`jjAݭ/O3wsݖwMiBa'7Nzvd/=킎MlHq((sLu`$/Ws_tݞS9 '#u ov 1ӳƲuzn[z?茜z+ZY,Ewm~F9: z)hԊ eq  fJϺmLy&V7Zqn+;Uͼ8\!NYЍ_i+nFN 2޲OԻn K<&jnyQe_hu cwrp|р.:<]j[tOV1q^_dlW4.-ch./H ɋS@!䣅D$(OU~1g|{U*Έ4cQ3|41./NAOY(_BxWv^+v oWg(=ߠHGeYѵn/nG(#0VC>S!n0 ԴY M''NM)dSRbz Q=5Nu^Nx'H,cpg3$O?ꂸh=G}*4E<n(uǜR8tY7uo/7(sũ5(oRǏ~`'ˉ!V0-{8:s0 _})|pr !~LgM{Ghri,tg$$^t'2'O5&kfoeVXE5,znGΡ e`!Yg3DraHIJz!|'x&ծ!/$ ؅TWQs7i6`䟒m 5.j}0$(E|A]\6qkT..ʸsvp?pRoH Hy=@ .A Y_+w54f簏)~=jl<luE'bDvt\(ΈBŰF(2BT3¨8vÎ Sz m1, tZk~1\^<3^ˈͷkՌ3gn~'! dUy&"#ϭt cqmA0sSie?"2纡 2O>m{kPG|d} sk%?^J=?^"zMyX}ҟ[׳/'un=:IMƘ>M/~)5):ڇS&?M J~)!Kљ`hSj_[c:$*F`<'#xinci ͌S69I=K#B0-;-tKGR 3.)(&o^qUUN}_%a ~>aR%CB9aV7AfpiMI여w:P63̳?IIBS¨I()<1F9&p>Ҍإg77ATxS@swAnXIƆbxUG0bE 6y 2|'B$|O bx$ cD-^ k;!>o7}JDH~mx:C&bY*ᔐlB 7Fl#$p^F Tꢻ/X \-@] ShECH C)cX\;0gsR;.[ zq`vk>^ p-a::sDf"b UI2F=큀$/&^dwj,a`{m%P I^ KrT\&6A[nx-wo [Bާi*L6Mdn[hsΎ7@@o:CsH,K/kgy*i*}deW 3%Fdф $u kDcϕq;z+f ~٭{AUs\ y؅o滎&@L $2 Am*Oއ[1aleoi :{54o蔸Cbq0uDG?&韛K"ݟ06ifõm4/ϳ6 4ͥ#s0HCinuvȦɼVM\pEr#կͳ,aVUv{.O|XGyea(vSt=39oUƊյ="[Dv׀{ l܂x]d()Zn6ݘd&HC@U౺7s' o~<*Jy^s\Ҿx$ 2B%:"-[h!ПC\)l”D,O>^xX [ ^ >_Y.&gYݫRޛo\ϝop#~an'Edv':/ /_X*WNfΒrMi9kAw^ȓ FZ F)AoNT' ۊv_pn'mԖ=,԰Ms,w\e-g| K}gX "o:I(M˲\43i$yq Bɺ^|m Gnm[f}`/_uvmo_E:5o$8n9_naƮm?u(-VvS$Q΃a=*[RNLnsj~bPF`L/L؉۲>h6W^m>~ģR[ Ŵi5Ah*+KӏucM6kGNٷw ?]N,ַyyC!o]!q8 'iC!q8}>yCnC!q8})!wC!~C!wC>@ِ9N̻8Y?dm)A' ֝V,ضcX3ϊB.ɋC.,P 7"~Y߮оsugYPuAYr{kblgӖ`ъCy;ڑɿt:b:?U*&كSVۛ=y([-Bܝ?4ujICDT,VZ[ 2^gb~K%HF/:%އ_Ո͆3gwێcJ&/\"%҆nA/VTԷ%>;t/' E{h1l̸ 4[fkrD>Epzjvfnt)2&hƦ(5:0HڋIx8 ۯڍˆHR\+*vn|V?UWO xͰ/L-Ʒ'R>Wra1(}tۭ)!حBV.hѭYy'4PlIVH6T#8`j4'bl*hpB:[7012C\wjijPim^:N-- EWb^Z=8nC:j6K(>)3'U'߶0PF8K~l튅]V!M#լIݓI:PZ˪ 7f;ħ` ۡ4b;!as%Ljat-ҍͳÛ <=_A^k)` i_J܏5skW 'v:&I;)NY:u@-=?@i}6YkKnNPCS+'/-cYi(<ƷeϩiǓ ȿo]<9I'| ެr0 /K0lg Ɛ(F`ېXe^ᾨxcfCI I+?JD"nدDog> 3SlpIu6lCtE)Q?0 T1 Wr '_p {&j2m rfWqom?\ŋrRatA*=}L4fK2EmvU'҇z(3 H4]*fuČIOYVws3pT3u_L4N|:#@s'o-L Mo-#]J G6yP0~^![@pÛ>ܔ'$C`T;^M6+s|SU C"(>7 #U |3%No'^=˻Ϋ aٽCθ \?Vqn`U궦=q=J]T]Bhh5?B%_w6E])Y6^"gT8Z_~ O}5+ bdg7cB6M( J"ٯa05nkp~gf0! x"oғ4pD[gO| +;6Oh|-l>gi`i* .3GBs\QD[UĀ,$U@AŽVZ'VYm-ONh'D0ܻbؓjXɗ Eá"m#_㞻ZNwpT:vՍ ϱp12A ۀO8ڠ!*~cG_UYqTA+& Z tZYH<=i?X5oUzpza n:#y¥.og׬-)O1l{q{sP~-gđ֜ӶMqm;]j[wn,31ET#T.hrIu5Fx_d#mZ+;mz+^Y<YG-miAzފʼsɶ8׹| [ȑbښ Fĵ . U>PI.([ֿca<wď=C[(G=OLwP2c'۴y&TJQ[T+Ild QR_@s4 f0#4aCKF$M{|7Jr?Qvq̓ψu?i a%Hn5% 3a~8v(YN[J&eĿeRpboHj'>55E߱,kdNĐx9DT(~*:LT1Z2BB+Zpʮ&)(ūAq=e!E\qFit@:D=E:WX'(/nSI # ϟzv,Y %vtU;!M_ޡu(Oƛ6r@x5Qu4y}$闐b Ա`%T|.ܡ1)g-FItH2s:JJW:|h\ %W18?5 kLܐJ}N})UmC[+N>GR$Ʒ2ucx@![s8:ϰH|qݶ/@|ȳߖ"5+b%>˾)~4=^nyaO<6;?Fdb۞냔\TAȲ3vwc$׮v@w ނ8 %NHؼw DZ(%1 C-Isek_zwt|a(ʩpyzLqR5+0{ ;yzVꋓrHqHkH_+KoV4PG|%X6`8YsJ;.ǏMH2=\ztoS<,ya$S-TFL kDx3GO{)[نYwxRXDY.n1 JͰI#xQ 9|+ªФmw?lC".=\,ى%*lyM F$$_Ui8;?`/iZQGUII΅2)5!`kB*z+S$ieO ]aclsHDi"|HSҬEaFrčB6{F&4>B]3aaj$#;a$<`y]Wm'GfN~-jխ(û؉`9e;jI&8U'NpIĖ֤XHXs 98)Zuxc2 kzl(ڡaDM FsILv~/\CKͤSY.*](L`ng*\ʪ >R.U^*>^*L zVCx@ZB7Ȭ8}P5}牲0`uW@M6FMRxv)fA j<Q.Zb)gKN<;S MfصRUVEҤ[[h  ;xN^a$5N-ĐQ$H_)]9HC+wVa,e;$p~cy#K$ms oI(Q} 26!;pty_ B̆ ȁx(f݂͙7EO HT(WPıFOnt w:ͺ#Hu@tC=L JfOi.QK? >va/~ ɡ"mf9 D2)V2(@H.Hc2I*Chv&$% ɆM?(ahdI@aX~ y"ggA8$H M i級s]g1i{WB!*"Iu6ZHNx^߁XbG1 ѪƏbpcqv{JVgN{'\.b )2v=ߔ%(tACx,v <=0NUC L2}nasBGuޑT?4;}pjx_M >Kaj NǤػq3e٤[vGTPX"&䮒X(mޥtCwZ~6nRߘiA!E&lgRLYF\hEj ەB,;P}9v}H^r34cod'=s&d9]c+_ w9!W΍OL,rU H["Yѧ癦=8ӾDsYc1_Nvޓ !{F@uJVZy9@' qvS欉RY;rOh{\$V~S JBBPߋi.zbOFAug XljHw*Mnr]u:o%XF5SQa5zIVw獴6rTe@lxAd)≓7a4d0q߬$>C3\ :R))*8{Ʒ,*z'҃^ @p?F-O͊h` 0,M~˧xc]4OiJiTJ\1oؕ4r9X?9XX{ڙ39]0L?COCcT'j$PT.E E3[oy{Xe6ΰk?l*wU0ry#Ô;ϥS)@9Ŕ9qçP#w'rq]CM+PqH3`){wџY4iB⴬2 Gg ۦ32Pb|6e4k43Fx4G"biR`ާmJN7 ẴK0>0w[c|P|<ˣ[{!3]zԊ0J=Kė{fc/dvutX%3W33H|f91/YppOn1~XjT*ef̰%Ei~&o`^#P wn=MO?<([&^!#iP yEq~#P\EFB;+.Jsyh;ʝtTc)2ēl@Zi?Ӂ qSz3R(ԙw=v wdNRUeoɣB(Z4TJ|[I~E#[0èZ,Ls)PKfbc9g!Ps-&KvA7%9c4& q ^K,#\$ udu^&琳-ʀU슍}Mjj%{G_]/ͩ 1+ nz˔')8v\tfh8h~LCg٭櫜dFseGY=ͱtf;鴚NCoC}\FGSK(yXpɧ'Iݸ$;1>O.0^"akTE5L{'l̏;I a|_H;,s\ jQdNB )Gc31C?>bqZҬe&dN,K#AƳ+MGEb wxG)pD17-Ybgh5,kU*YI1#ltQ6*ZA $) ŜR/+fwQk$Dz8hQ`ĸ KI(= e 3լ|usp2D stl(zOJ\TʸxʌWa(U_]d$W('}).%%tVK^_f@>y 5DO8PJB&#ePZ;?g??fUsSh7BQv̬P #$i7Q)' T5 c0Fʷzd5G-&YWXܩԈ%P(~w[p G?YG%kFFp,ij'R5wJq8^ىd4Cqj8*We͌U>`L1+ ;ӎX-8b*BcRHv2t  V~PJ G4̛gLPF~p {0;-3)":1Od3MO(_ tK‡OV@mCuܷ(ܕ,GAeھʏ^Kyɸ-mOx츬(lV5UM0x`}wkہ?hp˔eK-sƴ4!|EuA8(λͷ8l PāH$Kꠝi2~ڪ͘120 UI6J;bX>`gDGsTХW|.h>Ӄ܀ aWtӠ_rK2\h Bc1\)|q<X>9x72ndL ̄$F}"}R?c}5a*r5ñsz*{NY􏻰,%W0Iw]8e u_dؙcOMTػv[NgD^iMĂCEImTc'n͠~:i}FTD&x뵔3$"_pPƾIlPAv[RWM$_c 9nxzU"T5VrBs V$A3r#Q,@зpa2J& 9;fZ%iBie?P(,$I]CIvCyauhgSܜ y4SMA^ #`Q&Ȍr) D4 zUmZ$NF\bQ,|]j踣w\(]MOI0 $q3R$/SG?_Gp/7Z$幟ȂG]8#Nvw_rc_$$b^KO>;+jQ0ʥQc'rrBSwM5!Ӊ ʅ6# yHU@3yè`7P`_|w]ŧ@ܯI~ S'irBajĹ6n1e|%CsNrn'(W6.ϢUᬊ|4D9Yt.Qݝ)[$_MJ\qre/`qC Uᾯ*3")ש(18ӄyN:%/ZjRBs|2 D3E?E<;X$xzUԁm):є.m%~rP%)Μgt"˒Ԗ+gK*(Ƴ2/ p ?1)B`6!] $op,_U)raIO_ՂQ>gR_?B؇#\|NlSN'$'5J}9KY G.EtJ`5I p H( UM *eXXǟ}'^xXX]cSuԝ}SrR\:f17i~Amb, |"o -d~@A-#VUe?]1#!$eKJ4pBjʺzq/ Fk8p/Ƴ:PM1v^j, &+T NULa(rFPۣe*0I.T-2jSjxKS|T߉SÝfRi@M8QUs}ֽKrKJy*U'J Rk4t}H|7_‹~U>}ZgZtD>!+cz nF4T'iqqMC8`P}d\1L'֘1.hQ^(_ <^ur)^Pɚ'zGoΊ'^FW m՜xP4LE9{jUKU u܆H-ȓ EjN$| W 3VkRKLy+RMK`e2[ǽE􋠔Yْ.ޤJ<"JRls镵"t$3qJ ɫNW B5'.o23]p"zz2f#?H X2D&8fr5R{(f0X9*?ӲO,{A,^@D 屭22Ne( A>`Ap TTגor}S %I! 94HI̹3.Hi)0|ӀlM"̯i@I8"F$bL0>\(YF _V| hM^e`qIImoNDȃM8_5dDIh=+y+?7e^/j 1'zfЈ̩qb8Hcq$'7*>GJ2ޯDE ~J"P$**Wt);Ec4X-_)R4a<*|4g,J:WNF#K`|`ȸ`SmU*TV%YIW j9?KUGAAY٠ꪴ<jݢ'~U64ZMU߸ɾ9xP9h/64a҃j7.k/dP 97+a&2' =C#GVɺ')'C)ܝEbGP7ONbGH)EC[+zQ"/hDDWC`ª%g$SSbahx sP<]ITlćITda3!]Y8Ւ?S@)X?! $+)7T=j\e}7 "LWC?]ro;SX$lSp9 djXb/Q*F%=BhVU&4K5"D '?)[+6+Rgf\gna5|E8CJHg -?В/MB&^t쨰lzPj*L2t3C{hOmz(Nii)W)]e4џK^⓳-7v}ID!R({,?:d>OСϤ!_Orq~LAƩL(h ;+4VS>3 K+?I^Դ-;0(^K,c\l)'xlzh4kU J0Ox1pX&0)րTE0_wRywL¼~ ~*4®M&2+Z+{FD ($LF׻JBexH,s,W YUKpR](c}: ӱP\SA #qs]Mm7~HmDSM[ _ '=ƞys쒜#y3&nH@,(]?2BtUJ#kjŎo45} 9.(AU~X' 5Q sIc7/s[բa fa\mqɎSF%m.G,Sj^7 ~5_R,Vq yV1F^cmE~4K_;[h`nމ$|yC%NoDbjE'b[p89>Uqx&E0W5r#+X5c?~Sbn9Aj(/8;^L(6QĎ$euDFh99ޭG 9g^i6!R*iaqsK?, Z`Ҷ_`;؞VHU>׍DfCr4LN8%;JU J${N^6 H4|9;z`i|E?R#/j#x1 Z:Fd 5 5>yF+oɅP U-nBD{,mU<\sO<`p5 o&1_˼Ɵ,mk4,b#YNTPx~ns*NM_A58Mo뮚$ ^>p1q?#D7hig)2e_0l>AUiwn8Y׫wII4͊5XBoӘ+( y?pJX]M(n2iZ,v&!)Q*-iӺmRPޙbq4hG96 _1BaU]=D96sJ/ tCn݈UQ,JRA[LF^ţ?n&ԢeUmIwۡ}8>>Y aXSXS}8GŅ!)Dy-2rɗ|kuj,?Z<0HjZ9Tkb8Hf# RVy Ԑ$ޭL\*lP4*\Q5jV^G+#TdAWxC؁8xdYLwxh)KwM^W؋ow/G8+Wo۵aժ!dGXŗY<n'SskAC ,:(h֌́T…  NGh%*)6VGi5vwJe:?#._(JVjg F5gz D17w¢%E2ɗÿ/l|rX21MLS&ȗ'XJM/PyB/sKjZ٨z&BT+p"I9Pd8Vg[I#E:~<;V6eDKL79i{ojb9P]FB Kb -]4,Ѽ#]?EΒİ}l/ b}'U;8PA,Ru!P%0-إȀ良#H:f0@?zDt`/&ظV RCߺžo= #Eɞ^ o%Bp_$RmOu5J- Ca wM@Ϥ j 7S -K[~cK-EHr($u0'|j[WZ%ކV/"E*>P>'*& EtKr"nEW&5z#4A䩱J.j:CZG^Waa(}CzA2j]O;AΐBJ;Ys&,N$V71=6JdY%u\X Ah,4h5pIf̝̱LKO/ǘ^#$1e I+ky1al& V0Au]l'om!D4a7(|n@I h`70mAI=lHDM2y^Pr:^joQf(*۱~Ə9|0trDnsxL}lռadB2I'|V*UdTj"O9†WV'N7{6su;X_i?窢m* y1s]8db4{Vczc  TI$65񱽮i ZK_&z g8df Lء3x|k\,F\mzhRwF¸kפ7!#bĂ w~]:8;a?pQxhHވ$_R8:ƬUjH@~ŮH$d/{Z9dL#յ$u-5$*dT6M''hL IziZ1 UL0LW9v2*ۓGn odd6ozʝ9IZ?&,1n͔9X#4FbLZ9xC*F#S5=<|\kL7Mf'&X6|{Z7pW:HRң卲ApX+r!]H؆hp6ZGMXz+(пP_BXKP8jNnG,)VU8"iɩ;51]3ΎƐt>鹍R{ª\R4y?<e:h>]iqչR.|V)%\;9ML/f~K 㫚2J|3f)ɫuG&FDD V. =AC󑂍g;$U6x4qMIC6W ~}iAD:%iYx29pqIu(7~Ԓ5ؙP$:=Gm(%j֨7+I[' oH(}tO%m-mXi`UGξүXǠf?ޥjըƒq$Cm>2 qψ$ԗr7|He4LE> !56rFma,}q>9מFIϷ'b"PK\A (LUWYͤn H&I*;8ih) Cя( 9`7}J k3IO"~'U!h̕+ƏG 9]8ؓ~"+%xq=üs]1I ߑv̝p./s+elʹ`Sq"UddI1]!oPښoČ|ћGSOٳn(.ݖvF8??qdV:v9I8]>n|5n1v@||8InK!$۳/_=&0iaMyGx ǍMNFKҥyC U1]Ӝ woPY^~0sČH(wM:Qd2'׿,*fI2~/ ͈Dd*ɺv" O 3ɹ2֛fc@ "c#o=mr65f.Qka]~hXJ̐Qo'ym7d˘\H ʰ ? PkAiF)HOh\; X- (],[Q,KC,I?*v6ꬒAmgZdtTI_-}ʚr"0UR*071 S>b+zeFH2u*Bfv/-2 8mz⹮Sw! CǗU M?(y8i&# Ėt4ߔĽ[{&eTFYA2':M7}̫c7g4 %h砼E/IBmQM&YZ>T|!#\r@e\} +oo Cy#~]Oa7,NQ^~=?!X>!.X,u(+IH3j$AVsFyV(Y?8_X)û).w$eY i'*P(Wυ$DGtZa l&_ܣ8BN|R^gwj}vJK3rWsopz_PA:\w"NZT^:JvhaZqlc&/^$.S5|c4hx(!;;DczZACb!,gBހL6ˇ&kڪ5;X{^*H|}p M`6R"`6aad`*4o2Ua{.,dq~2!}"]KEy~ 4&S1N9 a_VFA2^QکkW?\_:ɾE(wW]eGG4#رҼ`CgN5~c2*e#%KШZ3$-b0R[F]U9&K E1 S4 l¾N^INU%Lt?|A 4Yg?n*\Gp+eTc>T%{G 7۳u@ x&4qٷd:O[Jz_($!wȳ#џ`ުg3|K.>gupax74XtG!\eA.gslt+-fy뜕Nc~jR + E㖛㍇A=櫁Y*PRnq<1skt̉jlzUZh+h4[=J7ժ9U$7-<ڨ4|'gQY9k/@*|KXE'SJީ"@?y&u,'nb0p@jkϞMU.zKmLM$aCi,H͇2`AP MϪ+.ҵ&"bHH>߿Aʗ>cg;gvl#GGg%#=Qo[V4c%{m5[)ؿ+i-|OrƷUx?dUbd|ꆝ/7ha i\UR|ӑdKR|gZW=9$MM A07bIMW@F87g|s4r`SOTQH0Dp\WoZUFmRt>?(cg ZH<"lXPim'69XiAW} %&WD3MY9CvdI`^ BLv VJѝ_ar)t&Vm4\հ\|>|:VCT(p9??MDzaݾnß"EthCUjyTh8II!>嚾Fd}\nߐg(p]9n *)&llZ*kd1Kb-TB.{$:KDBFwiZ_腨J}|w)g*j]4jb¿g"2mVgͷFIC-ܺpe 0# /o}͜/afXcUHfcqh~~6Pjq:]r?ؖ#_Dɂ؏i# U15VP$K>SxZ\}3j-P41D$vOtV}! %ӏ& d۽+RpM%NԛTpJFTbp׸G П*g=p[t6E57ff%aȳqsF٬$J4R~'E<(?-V2_c@%1mr3(,) s1rNgze?\?`Ю!6篫\Vog)A)r{{`*4qdo$ p!B&)*'rO!g&3k0B\Fe*>>s* E PT o7C?Ļ >UQM{j5\7ANϧ*wXՃzĆΎi2鹒mQ&|TDo$IE3(|dGp7ڞ,@!J邟N9^f!y? ?up]mKFzIϨ5 t,YfذpTcoKvꧾCt;̜"ޔW}fTBc]XޒjկGX-f.&;ESaҒ. vV`V~ũ"9k&O3`X{Wn5r('wm\gRF&P7( ls6w~z:1N,mZX ;W yۨ8 a ?h"[vTAL{ōZ{}UEKtF NΜUp#J5EUE3i SUAdב ]%`FI@2&!X&{9ͶPBLwc %P]2(Replc W;\T+kѥ@Gv@M!dBP7L}h:>A >rYڐ\d8afG"}T";Q͌2*8-l>m;W]0z}5|}pa:ئ{v{a]9hаɼd'9]T&>) )Ir'rrn+Knb'"}g5Y9 v=ޞ:9t%7n#tlcFER+e$xWЕ!W]) afk !"479VBzx3y8N-Kj$ E>rש_2اXkAkT^3!mא/k0PC?7p~omQ}(6ɧvN*̋q\4s9m{N~MpXGz2.WsTy" zr`I;%voERβX@/wVVV%-Zؽ[Z7+Ɩ.aqtWBpd$t-<&HIN -ʕvaJ!=2Ios LՄ~a`R)@j'g6bTEfT#h__+SPUhB2LYFf䗐_zĚ'%F 9Rř3$9\y]"/Xv泃jdFk聁 J``D 6ϨD0\ vV||` MeiqH#ӜD`S/KIG(KCynN8=2?5?* {b zF'ϋĸ[0-  Z@W5`V1U@,'e_]!函U;TKRd"M9m [Rqsx9**n}Ľ舛Ҹ)'1$M*!̻YOr)u0#xX>ZZ̥VR'čb7j=bJG7ИtmJ٨_lIOdLM*9|*{2mQ)ӹ!#!{P{f%w(-pD'=)TQÕ̽KJz=ajOd$^ޣgׂHJ Bs!]N$s}>W\":72&9rLMԭz`n aK .S<_- SqjH{-'zVU[= HsLZvǦA@v+ ;-fC"wc_y n8^>{go HZdzplp['Üb?> _+⇲FAB۹l'Hjt7eNoiA[ΠqFnIg Q~> [ÛG%a9"ryrxbmԘc_OXjfhkc%7&^|wɋly#|MYQgwm. tn?8T:%3ikL89;?Iw>MO}7(@eA3[[[(R;bnyZy. =mj|V^#eu i;y_5c4zJ3F!ډ' w h_=l 8pbAd=Klg@QF?D%)i2VUYP8!'%8 h$&TE|& 4J$hU3J_?>%N㐙1aJY(uX^B Zd-$.U۟D+X zr,L<U8]*)4= gNDxu"oyp@#te^#q7aR3aݹ]_rbNwn̊<_G {OmubegRiK itCjn ERM8%DD[ hy@oDGgHT]jXO"\"1G9'w!Z󠤶0ty‘Epop,h1~^SD8JVGC:$/I3$p#oa,ex40Tmޡ)tL.~ Aj3= 'َ! GU ڐ#T5gh*,#@ioFsyHe鐌0 ՙ`4N>=3|6@FlR5Oeʺlb<H6aЄn/*`,c x "&\7=1]1L.tO ~Z4J7'WSǃYc|-:q*GRV\ҬYjM&|]\eIHs7p핈L)|u-/*beF̬[[RU%;Y bev}bW zxGJn$Em& }$hA2Etgcx{1߻o[k~?~pK}9-o?'.nV޿`iכkG/Y<4V=vӓK)73nùDe~-s;U=+N+b͋#N4đvCnZ[*3KZ ?=+aO>mz|f]bƅ|V,MuC[J)9E) U&4˔Nn<%gY) ҎToVntqv)LB>i8"=D31Mh>;d0 +[4yᶱ/l/د6NIyɶ ͗Kթ{|k:Ѣ_L (Ŗ_"i'j_ME|h囗}TE":t8U)+F96Q`wN-Q &%wV߅ʫv dէ.r/ 2gF9,R~`s8}ڶgN[9=\6`4sY`OiW2Yjp^RI`H_죶Oj+xu K1Rv&-Vb3]J9dl0ʆzV(0+Զ$yZdKU tB"2[T<X?ᵣJ+_a}i $6Z(N g@]W2X#ۗF&*KZh8|RjASy-iC-K2kܖt?jV&! A[KXaֳ)wKL竜џ%%Ysm~[h1Fb 4';C:zy"a)B_@>TenmM XЯ$Zђhb  ^ǫBmdT˫@vӾS?""q lT/S9.[Zn7a%'$¨3iDw$zJs[a6f_riEZ8DVe4p2h3ٜ <B_ڌ$ӊTܥ<1=Kptǜ ܂ # oé]G"y~!';#ZN\v}#Hu~z@`#Nb! %7ZӇ9 :Pt '~z{(!L\,r9 ]J1:՜ߴ05Fᄛ;SgzN*= :L>YBﴋtfg1<Y}Jj\yM6-kyP~ku,.67QAzC;J~|w}.z+pO6+uvRzBLsׇJaW_ߟh,Ny-9tg1%  &?Ƽw)Я5bTVTD!-Ƃm@HHGvUE^W.T]77nN<б.XOy G=nQ~=e#gQe%ŽA粏=m*/ʆUƜQk bOTT|w:i-rN [c!4FabKe2|<$-l54q@ M,]== G$yfg tRhIӪ6}G abf|PFSkE952ɞxf /W ) L\ CyBCUP>* KY1=!Znxđ5o(y'J9#(?tυd:RMck{+x~zlT ;cԖJ/MM" sp (cxb.;3}l q#8FXk[\r[+JJ*iG 6fM5uf?’z#JuWe~닎bLzlGăZL cXUEljZ6I|lUŪQ9Z+W P}E7Gc1j+9Vbt^ $]/P%il!AYŃr|>T#P{6^]lN=Pv|=RH@*ZV7FQ+\Uۑ =HjU6V R cR)8c4rD ɮڄl3\`Xp5#Gk[jئ0ؠV*WBe󰝲r.y^=&U*Έ?%([֡)cJpCS8@Gw:L 7_qyJde${,_NksP.6pi:]B&؆N4LXcD{r{Y{ٙUzׁg'2bnshϺ t'`δmAd9$b3lo]8E05<8HXgh9 dN~^yi 0F)ӰK03Gyc= pHY i^^n>Nz1:);unZsDAۮ Pei`YE~OMY{s[L WF I.Y\c1e9Y-!