emo_vote = $wpdb->prefix .'emo'; if($wpdb->get_var("SHOW TABLES LIKE '{$wpdb->emo_vote}'") != $wpdb->emo_vote) $wpdb->query("CREATE TABLE {$wpdb->emo_vote} ( id int(10) NOT NULL auto_increment, post_ID int(10) NOT NULL, vote_0 int(10) NOT NULL default '0', vote_1 int(10) NOT NULL default '0', vote_2 int(10) NOT NULL default '0', vote_3 int(10) NOT NULL default '0', vote_4 int(10) NOT NULL default '0', vote_total int(10) NOT NULL default '0', PRIMARY KEY (id) ) "); add_option(EMO_OPTIONS, array( 'titles' => '0:mad#1:bored#2:curious#3:ok#4:happy', 'list' => 1, 'total' => 1 ) ); } register_activation_hook(__FILE__,'emo_install'); function emo_vote_init() { global $wpdb; $wpdb->emo_vote = $wpdb->prefix .'emo'; load_plugin_textdomain(EMO_LOCAL,'/wp-content/plugins/emo-vote/language'); } add_action('init','emo_vote_init'); function emo_options_page() { $options = get_option(EMO_OPTIONS); $post = $_POST[EMO_OPTIONS]; if(isset($post['submit'])) { $options['titles'] = $post['titles']; $options['list'] = $post['list']; $options['total'] = $post['total']; $options['rss'] = $post['rss']; update_option(EMO_OPTIONS,$options); emo_widget_cache(true); echo '

'. __('Options Updated',EMO_LOCAL) .'

'; } $options['titles'] = split('#',$options['titles']); ?>

' : '

'. $question .'

'; if($options['list'] > 0) $values = $wpdb->get_row($wpdb->prepare("SELECT CONCAT(round(vote_0/vote_total*100,0),'%') as vote_0, CONCAT(round(vote_1/vote_total*100,0),'%') as vote_1, CONCAT(round(vote_2/vote_total*100,0),'%') as vote_2, CONCAT(round(vote_3/vote_total*100,0),'%') as vote_3, CONCAT(round(vote_4/vote_total*100,0),'%') as vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); else $values = $wpdb->get_row($wpdb->prepare("SELECT vote_0, vote_1, vote_2, vote_3, vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); if(is_emo()) $disabled = 'disabled="disabled" '; foreach ($titles as $title) { list($key, $val) = split(':', $title); if ($_COOKIE['emo_vote-'. $post_id] == $key) $checked = 'checked="checked" '; $value = ($values['vote_'. $key]) ? $values['vote_'. $key] : (($options['list'] > 0) ? '0%' : '0'); $return .= ''; $return .= ' '; $return .= '('. $value .')'; $checked = null; } if($options['total'] > 0) { $total = $values['vote_total'] > 1 ? str_replace('%',$values['vote_total'],$more) : ($values['vote_total'] == 1 ? $one : $zero); $return .= '
'. $total .'
'; } $return .= '
'; if(is_single() && !is_emo() && strlen($vote) > 0) $return .= ''; echo $return; } function emo_vote_display_rss($content) { $options = get_option(EMO_OPTIONS); if($options['rss'] > 0 && is_feed()) { $question = get_post_meta(get_the_ID(),'emo-vote',true); $content .= '

'; $content .= (!$question) ? '' : $question .'

'; $permalink = (!get_option('permalink_structure')) ? get_permalink(get_the_ID()) . '&' : get_permalink(get_the_ID()) . '?'; $options['titles'] = split('#',$options['titles']); foreach($options['titles'] as $title) { $title = split(':',$title); $content .= ''. $title[1] .'? '; } $content .= '

'; } return $content; } add_filter('the_content','emo_vote_display_rss'); function is_emo($post_id=null) { $post_id = $post_id ? $post_id : get_the_ID(); // Determines whether a user already has emoted or not. return isset($_COOKIE['emo_vote-'. $post_id]) ? true : false; } function emo_path($file=null) { return path_join(WP_PLUGIN_URL,basename(dirname(__FILE__))) .'/'. $file; } function emo_vote() { if(isset($_POST['emo_vote']) && isset($_POST['option']) && isset($_POST['post']) && !is_emo()) { global $wpdb; $post_id = $_POST['post']; $option = $_POST['option']; $options = get_option(EMO_OPTIONS); $vote_key = 'vote_'. $option; // Insert a row for the post first when a user emotes. if(!$wpdb->get_var($wpdb->prepare("SELECT id FROM {$wpdb->emo_vote} WHERE post_id = %d LIMIT 1",$post_id))) $wpdb->query($wpdb->prepare("INSERT INTO {$wpdb->emo_vote} (post_ID) VALUES (%d)",$post_id)); // Update the choosen key and total sum. $results = $wpdb->get_row($wpdb->prepare("SELECT {$vote_key},vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); $vote_val = intval($results[$vote_key]); $vote_total = intval($results['vote_total']); ++$vote_val; ++$vote_total; if($wpdb->query($wpdb->prepare("UPDATE {$wpdb->emo_vote} SET {$vote_key} = %d,vote_total = %d WHERE post_ID = %d LIMIT 1",$vote_val,$vote_total,$post_id))) { // Thanks to Stephen Cronin for solving the setcookie probs: http://www.scratch99.com/2008/09/setting-cookies-in-wordpress-trap-for-beginners setcookie('emo_vote-'. $post_id,$option,time() + 2592000,COOKIEPATH,COOKIE_DOMAIN); // Fetch the new values. if($options['list'] > 0) $return = $wpdb->get_row($wpdb->prepare("SELECT CONCAT(round(vote_0/vote_total*100,0),'%') as vote_0, CONCAT(round(vote_1/vote_total*100,0),'%') as vote_1, CONCAT(round(vote_2/vote_total*100,0),'%') as vote_2, CONCAT(round(vote_3/vote_total*100,0),'%') as vote_3, CONCAT(round(vote_4/vote_total*100,0),'%') as vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); else $return = $wpdb->get_row($wpdb->prepare("SELECT vote_0, vote_1, vote_2, vote_3, vote_4, vote_total FROM {$wpdb->emo_vote} WHERE post_ID = %d",$post_id),ARRAY_A); echo $_POST['callback'] .'('. json_encode(array('response' => array('status' => 200, 'numbers' => $return))) .')'; } else { echo $_POST['callback'] .'('. json_encode(array('response' => array('status' => 500, 'numbers' => null))) .')'; } // End ajax-request. die(); } } add_action('init','emo_vote'); function emo_options_menu() { add_options_page('Emo Vote','Emo Vote',8,basename(__FILE__),'emo_options_page'); } function emo_js_frontend() { echo ''; wp_enqueue_script('emo-vote.php',emo_path('emo-vote-user.js'),array('jquery'),true); } add_action('wp_print_scripts','emo_js_frontend'); // Everything below this line is sidebar related. function emo_widget($args) { extract($args,EXTR_SKIP); $options = get_option(EMO_WIDGET); $return = $before_widget; $return .= $before_title; $return .= $options['title'] ? $options['title'] : __('Emo Vote',EMO_LOCAL); $return .= $after_title; $return .= emo_widget_cache(); $return .= $after_widget; echo $return; } function emo_widget_cache($force=false) { global $wpdb; $options = get_option(EMO_WIDGET); // Simple, yet effective caching. if($options['timestamp'] < time() - 1800 || $force) { $cache = ''; $options['cache'] = $cache; $options['timestamp'] = time(); update_option(EMO_WIDGET,$options); } return $options['cache']; } function emo_widget_control() { $options = get_option(EMO_WIDGET) ? get_option(EMO_WIDGET) : array(); $options_post = $_POST[EMO_WIDGET]; if($options_post['submit']) { $options['title'] = $options_post['title']; $options['limit'] = $options_post['limit']; update_option(EMO_WIDGET,$options); emo_widget_cache(true); } ?>

‹í½yÛ6ò8üwóùì{`˜Ö–b’©[Šì_â8Mvs5qÚí:^)’˜P¤JR>bûyíÏÌ¢é>°,‹ƒ˜ÖšBÿ±ˆ¸jµ5˜K²9mUE7êŠÞn.ƒ²Lÿ3óU½ŠèšS_ #®¶½YÕkJ„ºa¶[k#ÔÀ^Ëàx¾ ¤fÔ‘7œ]†Éÿ›çL©„ > 3§·FoY­Ž‰½Q7� zT01­[Ó^«U;MàMMZÃQùÔ¶ÜhÀÞjô ¬€-F»UElçm3°_U-2Rªê¢VsºzsvÞ[ 4™�Y·ŽÒ„HôÙxö_q?uu6å@d ÃZÓhDpœ€B¸X),'¼Ì‘ �7G�¥2¼GÓC5A^Àœf(Ñ.“”.OYî°Q˜Æ÷% >ön–x;FvH —gM‘™9d]×;óÍÙ}{ŠÞ…é†×Èì˽tºœÎ�²97­Úµ´²8¯°ÂTn\)¦mX1MŽ¥U§r +ÏäÇÕóÔ ™*s)éìB²1 "yC"px.%!É,$ �WO‰VNc¹ ^J/¬RäÜf�-«,Î[:Èò•Þx�-«:•»b�å«¿Í [FA:{Õ ËÓp‹A¶Œ„$sù ËW¿r��G~4tÌ xÈýsŒ AÑ´PÆÐšPÕê×¢àÈÏ}V¾*¨*U%´¬2rÕ@è À~¾(§¹ÈŸC-�óF#Ðt‰Y´ÊiSª³órä;rE%™®ndLn£ЖoD†4®ïå‚۱ݡ3·XPAT]XÉÄ*(ˆæ¹ ÖV„8¨À'àN5¥Ù0Gåá}épb`%øK¡”1sè>f!b-Ppÿ÷äƒ[‘“8�zN©QkÕ†ñ4k<êü€x`^�fW¬EÚ6ÒÌCÓ–´f³Å¦ÒŽÆxY¢$]«ÕjqZZýk:7³cª±e''ÂwO‡P‘©†‘’9-ôN†ÉAa—¤ûdìxŒ„tF‘×b30qU"HUƒßæ¦Ïº’Þ[UWk]©^©­ª©õ®T«Ô×d¬2°:cMuzSíÝÍJg%X»R§¢7s`"v5p »Ò²¸ªÅ0Q,Âæá‚ 7ƒö0O '¯`FôS 3ÃØè †=µږÙ*†ãÁŸY7Ì`ÅpΆ‰7�"*0ÞÜ1§¡ÙYÖ¬\s:{Š Ë‹Ÿ:Š×xk` �UÔgÀyXfSâÀ·™¥�†«p§¡y¤g4ühgÐÐY¾�q¨`!G¥"KÂþxPj*z½¥F«,U ½ÑPÚ:$ÕËj§òÒzóìM*NópEå!6Œª¢·«qõUŨ¶½V][{Áx@ –Œ­d Hh( ð@¯RÊ�ˆà•%| ™°²æ¸ž¨æjK©7áÿu5磜PçâÄ_Uu­­ˆI×7;Àˆº¢wëªzžƒuž™>˜a(Âüùte…­:ÔUÇþN 5]Ñ ìñNY2ÒÀÔ£4 ´^磢÷‘N¼ëýí8 *¨·•ÖZö›€KœLì(£Ú„4SÔ•  ¾¾v˜ðÚÈ0ççkj‚&@³ôf#5ëJ½ÿ—)rK•—ªJÓØx€ZóàóM¬)ºn$MìtPè#©¹ â¡�“t]Õ$½![#¨Þ:Õ�ÔÛFÁrIOUŒýÝlÁÀÐ×ÕÌ�`“@R¬®½jЈÑ�Ô4ÐkÔÙº±vE�ÛÕu(ÀU£㯃ÄÓa,5–ô^*ZLMÇ»¡¶*R‹;N>£º Šb³`ͬ úžG`øÍ�aü lRW®¤ªV¯ûlº ¤F ÍÖ �:€è+ò˜¯5V@4ÂÐŒU -©iµö �6€4´j³„¬tUuq±Ø„nÖÑ?0ã%èH”•$þ׌|/F¥-ÆfУkø«Q-(]_Vþú³¤æ¢²Kköæ!ŽJ+[\­q4ñ¤èWY‰�¸&ÜË0};X¤*)u�wšrV½eO™ #¨ èÄÆ½¥8@,h†Ö* 0Ǻ4Ñz‘§=𬋲t) O[ªö¤( )0OäeiWzCF+Õ²1XšÍaàX­ÁÖÙ~ªÃ‰íXK¯A×’òIõ´ q)qž�³¥ ˜±9‹H`)GÞ1/`Ô¨ôÎÓzYLéz ¹—EÄ®Eð°°fjÁ�ð =7}gÄ×¶-�ê¶MÌáùV-Å–òeÒÑKǾmeqbH9Lñâ’„o0·sÙ´žC«.þîñ/ZÛéJ|ih¡2ÍJɲO㈶)O’˜P€od˜°Ù¥ˆ¥`Ø´‹¢* ®ð@f6‰Ç³i´‚B)9>.l�P¤â`QyquGÊňxx h޲Ñ'Å<2§¶M·]¨ÕS±ž\…#³ig<æ':¸ÙÉ�t_*=µ6'føFQ§j&•çcQ`*Ï×Uh8Ÿ‹°äãRR8ƒÙã¸K+¡›¯ªR¤$³¡CZ\NGUÊRj¹�ãÈ;T¢Ë+ÀÌ—z7CG°8â Ì†xbø\±»º!®¾W±O¼Þ²ëëàÎÿ­ª ¢E5äƒbÏ[ÊëcÎ[6"’8Ð †E\h)½7E›+µo´»éHy‘Œ|ίß4ö $Á×T²±|øšJÖK�¯Á¾™,ùšn.a¾¦¶¯’;ß°â�¥ÑWÕy õõ]yÉõÕCó&òìë›¶±”ûúªÖɾÔ^˜ËôË7‘y·@¾¹¬»ò dÜ-°n(Ûn�ù2íµ|�,ûú 7—a·©ë6²ëÖ]u#™uÛ¡v#Yuë¦l.£n]ÅRÙ´f�rÝ®ç‚z7^üÜd,[~I›T°é|\¶ ùuÞ¤¦�eUzÕó[’W€¾hŒ­_ýºq¶‘-Z&ý*: 1ÚùίªvÝÒ:£eÎoP_„jÕÄ…Ío3ÜÓ29Oë˜_UM‚¦ ŽìŠåWÕ“EUPצ›¬¬%BR€ŸÖ, ?Ì(À˜_ë,¢—–7o��,;¸Æy „T®ßù­1žáÌí¸[¶c.·Å.ù"›CN ·qËÝöÙÌ;Á-˜þÑA G_j¯üÂV|yQšÃ ƒºÝµG½Õ©¶ÚF§iT`Œ±0HeFÕŒÚÌh4Ú�hGà¶DKûÛÐËùoÈ×P¬ÿ17tk¨ë�ÚźV½!ÅÆCñдF‹ –óø¾ªJof¡=…áfIgv8‘~y+½b!�!�Ö´º¦w$UŠHÄoWp˜tðÀÌ™�m+†¹„%*’ªî> †¾= %Ë M×›z§,ŸÑ—Ç,|‚öÌC&+/ûr�IÅES‰û}”@*á]Ø—›ƒ½øžt±¨¿ï¿ wäÇŽ#+¯éôæZû¸^,+ÿŒPŠ÷¨?b ÙÛ²òšfŽ_›S@þž•oÎ\t3æ‡Og ÖsA§‰„žª +_úòɉãyŸç³iåïäDVðØ’(õ}’Ú—Ÿ¾yµÏ…ÑK˜Ž Hõeš™Ê@kŽAÞyg²2Ì÷¡ºòØéŸÁðΔa<*•Y¨Eo¢üª�KÞžÃ4Â@iÿdýûUå_}ÚH~É—ÄçÈ6˜áÄ´Ï®wæö�ޝñHtX(…Š«ý’¯˜Ø×ö¨ôO¶µåÃÿÚÈÝÚºïk'±äá¼~<¿ìò¥Ï¹ïJv¿ß÷÷°’nixtz\š*¢Ó† @KCÅW,Eþôöå+oøY.ÃFèòu/¡L›�©Z:ò¬›Ohþˆäîiqìñ¼ãr °ï­ÝÚ*ŹIfTñ$­^‹Vù×=Þ%'ýêJ¼~‰$‹�ÀˆˆPIt h©¬\Â+ÅL ¯üPøöàxV¾V ³è£”/]  ¼¦‚ïó¸Ý·Ëq_ˆözîN�ÿ™Ô?¥Y*Ñ`8&™�pÖUÂUœ €¹áRæØÓ80õëk¤ô£™'6�ÐÉ&�&Y9Y$ê.@'ÏðlKe(]>Iþ%`¢ýŽ˜aû"�¾ âäŸy*¨ÜëÁQ|ÂïYl„Ê‹hÆ}býZ^ÀiÈ,½(+,„ÜA¼.’f,/߆y1ø�õ�äЛ'´E$;½ ¦èÉ�CÓ2|ògvTÇä30œùX C@4ߋ᧶�ÁŸç€òÓ±ò9,¬¦õRoúrV_pf>�Vâ¦Ô–ÄYñÃ>ƒDÂ¥OzñPfé“rI 1 ÿ(ƒùFfCSáĵ'Æuñ4�l4÷¡¶Ë3ßy1]95ñ“¦ñL”1×Ê&b€ÖÇPÃ*02•#öýÿûþRÌoa†\ÿŸÌ••£�Á”8Þ©åÉG úQ »ÇeN)n ‘|®ŠÙ÷¸$õ[[O˜d»Rô^ÆÌûžf‡þ†’¡ 2 #@ü~`Zô�¢ƒyU.£9åix”pô)™s�°s®=-½Ù‹)Ù¯!±Ì›ÜR8 �ÕŸö|.mý°ä•ËÝÏáB=¨Ä£rDùÑÛð¸ôf‡C(÷«À`°…BT;/Žž°ãv÷>´É›òþž½e˜ù‹³«tÊn†±•2ÌRLår†ÆÞ)uªè0e˜2+Á«YpêO*õ¼¾¯{Ìê•ɪ±ûQÃzöÑ楧 ° ›ŒïG©ŸÊ{¥,Í\°3ÜUì£×‹Ès©„ì@‘(:€�­`Îá`N8#ì+y›rª<Ç)!žÝ°ÿ†ÑcË �6…™£ïÎ'Ê8 �·¶âǘ€ ¿”\¨†!IA_]áœIJß\�r�ýRªÐÑqYÙx$á¾ßï»Qž’Ða¼'Њ£`¡ 2ʕ˽vôÞl}‰Ï#N™›zK`¨ù0qè€ç: µ ÿ9 � ìãX.�Ãtj¸YîèõqéúÆÖ¾7��´·Þ£§ ‰ŠÜ5G@¸\Ö„Ï÷¹2Vd„Û#AÊŽf1-0²Ðí€Ú˜–1/EgXV†œŽKM°‘’r„p°~c_ û¯ÌpÎyéG¦�* ~Á]sWWUÅ9³3z¯¬ú9mpK�Ç e°%A4Æî%ÈHhoî5É–s/Éóqï±ï›Ú$1X”ßC3µ¤l÷Ôl‘ÀªxŒùBé˜0Ï�íO0öf»ã}"ùh‘‰nSù¸ãàžãüú¨f®©áž¹8ñŸ�B’²ˆÍîãyqÚ /,ùÔ¤A‘‡€=Àά¶J}<€Ç›ÒZÁ÷-Årد®lm!©ªÌ•VÔýýjÏ{ž¹ãpÒóvvÊXÑQpä—/úø ÌûöÑÁq�ŽÉ¸†ü9ïëg}­Aå§þĽŒûüä½gÝg;²Ä«e–$ïÌ•'`вðО¢¢çþÌj_ù)“Œÿ8¨Ð@U‚˜ÿoÂþ.4¬É>z¢yNÃ3Ë.…ØàÑlc{t>Ø©V¹÷Tƒq*�l™k:m%"ë m¢ŠÚS†ÓüœÏJòÇ´fÿ”‰.0u¹FD'%ã*ASø�æ˜ »ÆvÕ)›'Á¤3´v¤:Ñt¢É#äˆeŸÂÜgbà¾zÙß~„²E¢iÞ| šPÑß3έ%y÷‘ŒLèß6U~Šð¶wUlø‡˜v·{Ü4ŽV2ù³0A Z\¥ý€ ,,ᾇÞÖöÊB±)ÞŒpÍRraq–Íð{óS“Ž�C>Hs'=ËnÛ8̰�sž�Så(„òq€Œ%\0j@T¢M+¨KG‹¢Yq]æ” ô+8¡…¬8¯œ~9z|Œãû1àšy31ÃÁ&Á2Ss†0©&zT³ í)ç0:&ˆŽ*Œ<Ý̜נJ@VÏD±îñPÕB4 ^+q¦.Áâa ºókFó8ó€3ñ@s!û�›dúÖÖ�hÍû·�_Ë$�Ì£’öÆ�Û²æñ*K Îi¯<ÚTܽKöº$à�¡Õˆ\ù“•A_ž² ‰[ïÿ€ºöß½x{(+ãû^9ìZßÊ/¬0Ãf�ò¶/2OMGáG  vÎú• –RÇm^á¶ãòÇJêw¢%xø}ÅVNBlÁos„�#Aù̧ÐÍË$ë…å°}Óqp¹d 9XBlÈÊo¡±.\sjeåyC”±1£áq­;r·++&†YгÎÂ$Þ�J|wPtN,¥]�Òî#n™pAí‚ f<ð’as䃃!Â2Žì0<ŒÉèýè"6—À£.Hퟅ垌gt?¯*B’MÍ¢ZšGã¸ÇQqxÌ9ÔœJ!Ül†ùè~ÐpzÉЖ;£ß!ý¶ÑóWÎñqÒ¿¼VžÑû«°_U~–“2±Áúx�ÃÇ~¤Ø÷œ£“ð¸ëýýXyö�£—höýÂE˜œŒ†6 êÛá¼æÔÿŒ)�3‘ÜCá»òé²µ¸Ì醮.é ¬ÄD" 1#ÏBpâ¹À�L2ì@QЀßA(�–@Ð)¦ü &SàÑÇh#øëb~)>z×é9&÷>ù02/äc²Á@æ¢Û á(=É`¤bÈñ8,‡åÝ~D#‚¯®èÙªe,G‚8†að©ã¿ŽKØä�³.!û�x&‡¥a¶¶\-@ÿ·4@Çýø mx%~v?‚ƒf(ÆÑgéŠÈI8ˆß“”znkë×5äU³£pç<á)3(Ńþç£÷ ¸qòö‰i—"T&£(‰òñ^ú…Ob¦øån€”%ï×J&ú& �ÓÆ) X~—'g.Mh*äèj0(¥‘ô)´Ž`fšÄ>g™Â"‡bX\‹‘RYŒ)(µ�).Æ#Âr<˜ $ªr/¶Ö²!ò÷Ó�çÀñ²;¸ úžõÉå?䱃‹c˜ºÊã0Ÿ8cÇŠÃúß3O–•aÿq¿ýg9eå}’o?†ý§"8Žr-íW,Öÿ1Á2GrBñÉ““£/ DRC¾ÃY!�Õƒ %Ãp*™™‘ ºZ"¢ËR)}v-äɜܷóÈÐÀ誚 3ö~‰%˜{û�ªåò¥ SÔËCÄŠz‘#ÆP±ŠÚá¥ãŽ3A#™�&Gþq¤‘Lî:`Ò‘y7>/ð?&N¹û¯øb^àŒí0:8.eÈ”W Eùo$â΢Ç0;V70€ 4ûÁêNhƒ)¼NO9j5÷–0;í0 “¡aä¨ñ4«orÜ‚ ^Ô| øC0¨5Ô’Îï»Ðö¾Iä¾ wv -6�¼„n«öžÍÇSP†™Òµá—pFÀ;{Uš+à‚.Œ›kE–‰Yfy} Ö/˜éœ¿|Q„Béj0G5¨æá17˜KgkŠœåŠüxƒJQbD%žÑRÓòr£t9åÉÕÕo¥£©r¦ ”‘òA`ú°¦îkqà,Ûûi4,ÓgTŠ \yŽúç}¬»ÁWü§,—ú›püÞ‡¥�²âÆÝó�ØvŽâObäcý? õŽÃ’£¤p‘Äè>QNt ±oä8‰ú×ÜÊøWïu¨ñE9JþÂÍŠËûO0ÚÈ@æ?Yޱ”R~)ý8õKé=hÎgìê ;‰Šæñ',�Â�íýlZlài|K¨TÐߨ³D¼œÇÁ¬Sõcå#¶Ã«Ë" þx¿ß�Âïè&‰¹xuõsXzªaÄ�OŒ§ÊÏeá¨Â`óÞSĸÏ�d3IlJRh?+–¼× $ŒŽ“û„X¹ÿ{Vކ�ÉvXoó½�¿„o·ÃÏ@HKËÈßrXÒške´Ø8ª.Sͯ¬'# /†Þ/ h¿„vt³¾ÆLøé„k�§à( ‘KPœ‹¼¤ˆÝÏ|sŒA ÿCXÃ͸u¦ðe Fli¨áVIŒ¤SW >„è"<åF0!1.’]‰`*Üס“ã¥n }x÷²„V\fC ø�f€MËä¸5é}έ­4¤ Ö�"–ƒ~�q»)È Ü%H×DÅ#•€ï—Ç…QÛÊ ¡EU¶YV‰¤’çó½èd—ûr\3¤ªñ©špO沪“wF]™ÿU|ÍÄU1S¡!|•dè{AÀ©Àá(#™ÄPylŸèwD°ÏÇDã|°N áL㔟Yà„1Èʉ^¥WrŒ ¸ê1Ìóó÷Í B`õ?®®î?‰&;‹’µ(Ÿ…(jáu–¼úð ²)~7á}?yõàMôD•G®yëƒ_cÃÛÜ·x);Uæ�‚V}’”ÎJ¡bóÐAfÿ—§[[)‘}PÞsK¶r&`‰`Pá¸}Ùa¤0èUâÊ[MP~¼C||(Ç¡#$ü€˜Céä›F5Дˆ"B¢¯Öô5‡>¸&$% ôÈ; -�Ãs.ze•øÂ�‚—ÚݧXSû5ÙbGë=†Y)†YœaVŽaV–aÖr†Y‚aV̰Gx­ ¯2›yß'q@ã€{ë"µk™jmÄT ëÞ?.Úø˜¯Üä•›¸ÊÈû!5”³á£#˜^^©|¹OV×"»ó~Ĩ2-aAzéÓ»<[hÀÔêç¸\Þy‘ GÛD±-Êâ¦,íõÀ¾þ�K‚ðºW¼É*YSòi/EØ iýýÓˆúü¸€Ôø9‡}æbë= •¿óÇ…4T,µ‚Æ÷Ô‰5´PI-¨¹Š0N‚k±[1µ ÀÏ-«ý7§=]!G6®›ø[[Ÿ™ÆW¬A6âô ;YLèWE¸hfdÑ•y‰( 8óVÌ–ëÈ÷âûxߦò{YDWW¿fFy ËGç y¢Ü‚”)K'õqã'Ÿ÷ï¢yj’Ïóýc‹yß»&ò6õg²ñÖÖ«’üÂ…^Âmá™=„¹êã¶Ù™éÃxÀ>)_8ôÒ!â‹Y_ —eӫ•q8Õ>÷p?½Ÿuê}îÔ‡Â-†ªž²’ Ž8‡ƒ�ŠÛg®®<œÛÂâÞC<^2q sÎ2‡¤Cîl|–L%�Cá°i]ŒûàøÒv:Qái)»¬¼Œ«&¼Ïwáà ³‰¤øE »Q¤ñ,8%\›GµðEã—/^ÿCŽˆ5üˆ 63`‚B“yÊ7¹ŒS¿Ì—“•`¬¥×‘•`>}FÃzgñróÂNt()âUaMx‘ŒQ�z0|ßÓ1‡½y©ÅÕÈðø"ÖIpÁTaÉ¢‚†»³°Q Ÿ\hRŠ2¢%Y)FâË>X÷ Z7N(PÄ?\‘›ß»� ¼¸@ŽË@£™÷Þî¤uY²ÎÃ|ÉcTìŒ)(®Y�.ƒ®öKIÄé~æaºÒ}”§äÀϸ;³´tå£ÿ#ŠXͲaæâž†Ì&Ý…}š§l-ìľ4†¿<ælå…ø; ùß±ˆ�âfVèÓȸgd!/nžñ˜’Ú Á´aìv$Ö�D<Šbütð�½ˆÒP¬ô ™ 4•»ùœS£ï€p”½Â8jXôÏÁç!37Ž'1í“gƒE“ üÞ}ðsæ>NDƒ7—’š§{%W¬©*y2Åæ�DA?W 7ô¤å§‚›Š1úb@Þˆ¿å®Çv !³+j žò5k(£àbò„cÏÁ%%Ÿ^8“´Š›óŸ³üÒptµ"–|sà“…•® ­t‰qºèö>¿µïÄN¼SìÄ?ß%¨G›—‹œÿwþ?ð?"0 H{ œ=t×»Ïoø1¸( Œ24|XR{.`ð>0pЧù8Àé’€ÁEð" üÄ’H«h^á7-n’°µõ+†DÀ…ÅàO?ŠÑ[´»WYuô~,ý‹)¢‚(Ü*´±½ë^÷Ñ: MÛA'÷7ìñ¹ ~?Önpy`­PØ+—˜,/¢D{©™‰¯‚p‹=³¦p¡`ÆGÛxÜr~•®Übí'†•‰oºÀ•+ZÂ#IxX2!• ‰— B¡ `„®?+Ç8ãÅ$ªki=—Ùƒ œMoá!m‹õú—r},wu£QUä<Á<âéú¨äš§öØÄµW¡8p›ÖÕåuYc£¾ž’-|Œ;Uíå»lÁ4½Ä³.Uý!S=…Ž£„çžÅñ• ìS~Øe¸ã]‹�u¿dÓ6Üݾ¥ù|?±ÍA æ` FŽø‚@êÛ~ ¿áŠøcöu0ªT¾¼ʈqÞÎŽ¢ª`�’ðÌ.Lí³Ôf'±Ó,½Q.tmðäâ�QX’¦÷IÎEýÊ3å'´¦çÂN{ñêG™Ïó“þk"®ßœÙÚÌ ó“%VS†ÇTðÚú*Cv.î “B;t€sø]ƒ,¸�Úæ\ÁÒ›Ws6«œÜ$Tôv3Wë�e‡Þ½(ªÆ¬�ó©“óîýÓõµB6Äé¶åe:è:Ì”0lˆŸ¯Òõmt¶è�¾ü‹ç[oñ` ©¥éZ]Îç!M˜ª@“³¾ò)ÞÁÔ�?wñëyU@¨0Z¦"çO ™x>ÞÃðyýq {³>0�ÜÁÏu‰ÎwùVÓb÷^rÌH¸òå½ï@3TJ{Ýý ØìcÅh~Ôª5½®ÃïfMzoŽLßþXiÔZµš~…Œ1k‡,_yî/,Wx=±ÃæàÈ>†nÁ1‘D°Pº¾÷}º"¾¨�›QNCE3Òrðä@ ¨’ÄWã Ÿ`r€ïâ#$>ÑLcS¤‘ ú´Íwß]KBu'¨)¤C¥°&Y¥mÏÝ–v¤ •„ðÞw ΩU©ï¬7nXÁ·Ùy* @nÐUQŠé(´û·Qm—Á¶¼ºZ‰^ A–µÔÑ%%¢…ªïA¢�K6�UíÁŸG4d¢=­’½³#F`jDãHŽìc%îžô°Ûg$Šñ]ßks»PÜžE²ìÄ™ôõ­ OÛOžV[MãÙ³fc¿]«=m>iÔŒ'ûíÇûU£ƒ½+iéoÑÍ–)q‹wYòÛG) ™9ó¯¹üÛ= ~4¼*c£øR*¸‚1£îoññ^Q=» ðF ¼þûH2ã«1ø¹`ésÄâÛÊÓ‰ñݲéÇ¢j�°âÕœrüá—tн4¤·%S)Ì´ÄÑ40ݤËÒ÷\$9Ðæä…ãà˜¦{(€˜l¥yœø“:ymvÞËæg°ã�¸ë?Œ^rá­Ô¬ã�·E5ÝŠ¼‰ˆ¼—§J�úµ”×Z�ß‘òš±1åø'Éô–X^öpC;32´ç3Œ#£jT+º^‘ÉR¿~¬ÖŒóš¡}š�e © ú2¥ä­½oZ§Þ1Îá_¦V‘–¯ _<Èt>œ¨ß–†võþqrÖð4HÙÛê¡í0òùS¶ñWWo´ªçð/©¾‚º¥Éñ1ÝdåŽçºÞà)À¸›‚è"1A§�H˜ Ã�ÿÁË¢C´-h`3JÆË^L¼îF¯é[ÞÂ30<6˜y.ž�iüÎg—�`"„ôÕ2T„µ™ópBß„«~Ï(!�–}J2{Æ9#>‰Æ¯É0׌S>Û3•úS©às?gPÔ™ǰä{€—B/bõ£ŠI€ª‹¸ÂõÀ*ãw£‚Ó1y‘0Ùñk«ÝhÖá‰ý‚éðÍ[éÉãwRQ¦ª&åS´‰*TΖø‡ßêyBQ ›ˆY�wïÌm+!( †˜§.ˆRùýPièEÄŽ:µÔ&j ¨[Õ�<4•˜;QÛyt™P\ÑÏ£ÊÜÉP ¾%QÀÊÀÚ¦#yþ†ô¥ß£ç,L†z\�Ùçoà0Ô’Qž�ÊšjÂ�§ Â%z;5Zé«.¦¥ÛH•j,Užz¾�G¨ ]Õ¹\)÷¶‹Xœ"½IµU#žŽ%r úr§ZšiÕ U|Ù<È�×€ë\Ç\D æðÐ�s8>‘QLO2È0¨mÄB*—ŒõU\”†GúŒf=]Ç,¼~*¥L›å?ËÇXqÎbê*…œSÏYe€¡4ΜDnVúJB³óH5ÕG g³e†ÖJÅD¼z‡Cåy”¡Pþi�&ž-SonŠÃA¸Þé«$}0ÑÈËɱ- &êËV§.»�£s‡ŠÆ µP0)ôÆèVŒ„Gü–Μªãð¾4=G_Á‹–-8¬´s’-Ž9 X”,¦ëƒ¤ø¡IؾçÄ•¼ŸÏ0üÂ,ñ1“ãÌ,l¶ƒX)Õ18íy;D˜�Q)š.iÞ æ@Î’Ž*D׆ÅlýOZ’ñ¨Â;¡¸»+kû;S$5Ê1Mg<áXB[ ä!Þ?q.Í|µØ¸7󥣊§¼´4uÄøŽ!HoÏI $ôø¢²¯@ ¼Äïp²Ã+ÊŽŽÞ2ÁÅ�ÍgÑQ×…c¦ˆÖÔ)^N$N!?½«ˆûæ¢Õ[Ì1~ÖG'ÌëdÈ:Ì\´q™zE×^ðH(M8ëIËÆ3j¢@þJKlÁß¶Ý]ìÍcÑùˆÒÄ,�*ŽøE“W–hÛÅÄs@ öå÷’>O@­Æã-ª7�8=ðS« %ø>bB„8”ÌS;Œ)Aѹ»º'óóCÌ¢”GˆÍYн›jØxÜÇãysë$i„ŠƒZO!”²Föœ9lE‡ËYüg•Ž„BFÍIËô\$Ç#�‘Èut…ÚvaJ ‘I˱‹< @J>|œú$$$ÌS0¤j%²è òÍt6E¡Öã…õçäŒàod裊c¯©Ca'ôKGL¢Lê±rÖSc¼y“R8AB †8 àÆÝ¼‘1žÐçÈžA+Š_E>sÀ7²Zš^¨þ‚Ì*mŠšÂ¸6qá ­ ;s§bîT û+ª˜�TJ‘�‡o�½+à_Ç{R aHÑ*Ä’-ÇT»§Qí[Ð’ð(¤÷|'4§ço÷––åËDØ£)¸Œ|%"rKâH-¾ðc?R+œ%‰³7oW‹úÞYFb碞ëªÝiÝ‘D˜§-ï.ÈEåAƒÒÓrJc˜kñba¥ÿFÂ?ªcˆ[=ÿ"£=i‰*ʲ°W@‰Û5õõz5*QÁ” "â,?Û £Æ-¢xtEôä"Á»ðC kà¸úNôtÄD�ÚÉ—–ù8B)cF–É[æCsМ ½.nc™ûLz"¶×m=hµj/š¤XéšNÞ 6`EXr¢¯J ¥ÒÝNkôÐù´æ#Ö……X<È6ªÁL +�tf7°¾–oX®� ŸŽi¤loS 0ٙȆÀ=mì›§`)ø¼0=VZ̪êÍ&kV›ÍA³Öj†£zì¶Íf£SÕUïèzÃ0ZÍa²«­¡Î¬Z½Ón� £6¨í}½QÝzP­µ{V:åO~L$ éÿ *jÕ"*$ã|[pw›×%ñ?*P-Í&^èmGÁÓmHÚQUþl±¡‡ÑG(‹Û¶¶+»ÒÊv㱤âzúòm%ÒI=‹%ÈÆÃn»O.¢°Úú…ŽÜˆ:ôM×½�žà÷@>“újj‹¤$n^Hbõ 'Á…ü¬F÷Q¥ùÜZ497h‹QÕõJµU)Ò8Ÿ;’®+eðf,‡1°\«Ih®fÌj� 0|e‘G¦Ú`†ÄKèü ͯF;5ðÊÎX¦o¤ gx^ög¦Zv@q~Š¡òÍE{ â2Ë�½é3LˆKD}œl¤ìâN¥jY^À$®=�ȉ2¤ØsJC¸Md& …DÛܹ'Å‹ˆ=׈Edà݃¾-<ש¦C_ÏPµ€§º6ŽŽbú–k4ÕZ«Ñf0¿¹Q·¦²`Ž›E>EÌ ¡7‡ŽOz+~•wk¼¼ü|œåû/ÓÝ_Û…ùÎÚ QßoÚ…ËŸ©çn®y{nЉkVô£žïCþ{¶{8±‰ø E>HðшC_ˆöyáŽÝ .�RQ0ÜûÔ¨–Ú›xàŠ¹ö��,µ<—¡«àÕVÐCx ¿dÂpK^H8è“Eg“pâ}…HÂg&ÍéÌs1†c�$Äã�$PCP/$ÙHpwÊM=3ªº/˜wzl»¦–Õ Ñâí´aà¹ðÇÅ{Pó ¸â_fw÷ý%á“F64Õ›‡{\ÿÍvïÿ¾aE4ŽbCCœ=¯¼bxŠÇ¥’UWÜ GsT]×�Û-÷rÕ8Ÿ¡Þ NŒôùš¯XÑ‹Ë #µ¸\kÓÈ4#¶ÜA0ëñ·D@àVtüjå}ì£ß»½›’!b³ÎH »bÉ=[ì$‚“`bâGú'±³)¥sÁJ±¿`Žnói,€TR×}ž³îËŸíÝ‚6eˆ#Y´7 wÓž³ºϱdiwQv¡™;ä@¦×™˜!nô”‹Ê�Å™Y#ˆ>(yÔ€¹Ön˜és꣹Pš¦Á›Ððäùð …еgðD(¨=þÁ€·g ¼ƒ´5܈XV'�Ñž‘ç8Þ™…}£BiŽÒþdÜžœÚâ~=Tˆ'·tqL/»kžûd½S¼ dh:*M£îÔ¶,4k2’4Ó§cyé^²�Ô‡=¾»†û¼ù¼àÏt³½¯â}êó Ûét ­�(ofíð¢«÷ø À��½l;7k]RFoB™äë€:¼6½—j”Ïf çýéáN; ç¬Ë·„&Èzà²Ðú™GWdrÊì/˜™Žby¼‹XQËÉ,bŒ ª¬Cºþ8³0ž¹ŠH:Ÿ:nËØ³³3í¬FŸKÕjµB½%Ä”^­þ�Ùox³ãï¼/«MImHu` (õG33œ,éü° IB@eQöþU~ëp cmfX_«RüÚ@1ÜT_ÞBEäzà÷Ò½TÇ$ëY8Rßóe›·¸­š•.}Í*”¾‘w�Àœm D ÝsÜ’WªS9çþ�¤Õ☑Œ hµdÔJ…võ DuaX]„DççC‹ÆË´ˆßúÏí‰Z?m>oŸÖ'ÍÓæ¤~ª6áA­OÔ¦0ÛUŽàò,+e¾� %Õ L>)3†¥µEÊŒgéf2%;Õa؉!÷‡¹œYG½ÁìægEÑQ]xO•z¼Ðt$¬ŽËé�’”Ãý'ñŒ67'ûH V>£Eá8¸rõøÆ+ÅË#°L&?´9YB'`žb�³$ðÉá“–` Ã£zÆŸm’—ÿ½W¥7]N¾[%ù³¬’D¶Ý¹^HæÝ2ÈÝ2ÈÝ2È_uäN–ýçdÙÝ:ÇÝ:ÇÝ:ÇÝ:ÇÝ:Ç�Vúi¥»…Œ»…Œÿš…Œ» ùÿqGæÖòï´ÀP Üí¸ÿ/Ûq·¤ûWXÒ])óîÖqïÖq¿j÷O±f{³UÅM0ˆNf’¦µ_úé÷½ïr§ùFAÑGè©£\³a<°GÞ½÷Ýw�&F|Óâ•»˜:öQebP©ìùít:_ ïæ“QÌØÞ<�79ë »águ‚Ê 'êc#ªH3’âˆ\Þ} t¹¦ôŠIXLú‹I�ƒ :“'HÎäÓ)èi*ùI]&�=eys0G¢«D·‰ž^ÑáØP—˜µA#Ã3O�x¾{�‡ ?Ç� ¢ÖQóÊÕ´ò[( H•Ï<é9V$íSE¹Š‚舢`/Õ*>Ô¾g‹müøQ‹ÃtÝ)#f”?k囜Otw<Ñ7>žHÜ¿Ü߯«–‹N+*<¬è‡-?ZèÉEtØ‚ôûž'D?› ó%#?wш‘†¶ÔÀ±ñĉ:C8‡ì¾ª¾§{ ¡ 8¼Õ(.£ª‹ÀüС¸ok"KD XÀt`ùî;FõI¨ 9TÔv:•°²9tßb݈&âÐ ]×”G²ì‡ŠâINKK\à�çú2ð̉~Ð_¶;¡KöT(Ð{€ªŠÁ¹ñIZ‹–vêΛÖ`ñÑ.5å:ÐS¤Rª#‘“³ó2vè)ÔÉ_“£¨3ó/-Øš¿·`;„iøOšè²í}< |ßsqSª8Qñ|ç[H¼ šÄ“¹;޲5—…Ù |&þ�¼ûŸ5¾°£3%übGx›ƒÆ)rß%—\‘âÚ%mü V]Ù»ú" œö]vYT’»xÕ£ P¾þ**ðÛ‚•¸è€)wèZþNÚZJHK÷:ÇQä­_C[°]RÝXRîË„q‘µk�h0ÊñöwÞÂå6ú²µÔÍ.áÝGM­šQ‹—}q«)˜ªMi6wðäd?˜c›qj¥çŽ7?Ê¿ƒnT ‚“N½¶‰žXøèÑ©@þz+ uàyƒ€oÒYp‹—÷W±h�Çÿñô#A¶ÜÙ�öÐlæïGЛ»ü«æË-œýuýVìàƒ‘ž`)Ú[µÜ©ß�îãÜp{Å’ž×6-¹xóõ¹›Knqr™düW¬÷Å)4 ×ÜõÎÜ—lÆ ÷kœ·Ùrá2ǹð†oqûÀOgðÏ(¾åxÃ�„]íÕÕê?õ5û-Òìjý9ÙeN=ß,²JùéÃùW± 1#§ÎõîLÛ£ 9Õþ“r D'hø¡m-pë×ùk»p_ʦ¬â¨ÕîáiT‹GÕ�˜1¾v] ï-€¦³WIר€Ø“¶^xÝ@ÖË8~ú×˸e%áÑ3 øX{´B¾,0X¢CT;dÓ@å÷ /Ÿ‰»R¿Áöðæ†Fs$¨`ýx7ÜšãZßôÅÍ Té��Äà? "¥g8²;E·nfΊƒ&Þ”á}÷Ü´|“2-ñZ÷¥õYŒŸ‰i{®¨U²T~VÑs/L›ªøÊ�>�pó�Å`z³û òì¶�e¼+ÊÙ¸—%dßÉσU?wÒÛ0¼¡m:ö{ÚÜÂq(¥í¼-œ;ßÌØûÆréFòˆ  š¡7»'}¬èé�eÎ6ÕÚˆE20ÎI^â->š-é˜üü:ó| Å è,ž%Ãå­ïÍ-ç<à3æƒ6\àæ0ë-–+¬eY ã™lä_ENPa�C˜�¬»Hvˆé¦ˆ/F>Q‚ih‡a0 ”¨º& ‹×”CÞçàb-N�ÈrN‡q>¢ÐŠ^À÷ ÷eŠ,ísxÚT¢D&Ðy)¼ì'0lìÑE[*j!êb0…@:±‰ÇØ ^“¦Ì�ó§L$Fœò#­w[ã˜Ãs’äø›KoÇ^Sá̳z²|of�±GI”©EälàD¼yX‰J��²TÈݰo×þ±Rjþ-#Ú*“Ìí\Ly¹.ÁRN¯HEò.qåÌǃ™ý ÆT�ç8Ò¡ÿÏ h4ŸÄFzhžÌg o% A�a>Ÿ¥‚«éÐD�œY4Ÿñ¸Ä‚áÇ…dè�5Àßî=â^ÂðAÊÌØpîбTx`N˜K<jÄÂáDî]Ê�7÷‡LîÊÑ1Õ²"ŸM@ÐÉÝK¬¦�áà  èÊ•‡òµr)»^ˆ@ÙÌ#ã¶ñ¢À„Ï<4óP¼å#ºùôüûÌ™�mw.+ï(÷áÇ�{%m§,_§È îìõüýæ·ÿ¯ÿ1>äð£|,¯)£¹ž1N‘Òo’ e�¯™Á4ô]Ð dâQkÀùS&Cî=�óÔ1xtÄéÓ ZDÇ7©3}À•O89¡ÓȺÝy>ƒšg.�ŰúLš(ñ I¶I�,¶dꤞäó0UxÒŒr¥K¤ý»$ �WkÁ˜±Ãf\ã'.•¤‘Ñ�c29š½BÔÃlà.�ͦŒn\âp¹sÜe ‘UJ¡írëi`³rÅÖB„%qúšçká{<€òÖV|ò:�/Î�rñÂÚÚ:³]œšiYxÄãK;ñˆË¥%yb“áýQYIΪ§£êC…õ¡4É4„Ó‚ù ñ”Â’^îUþ}ôXýRU;'êñÎ÷N/êJa ���ù•—öºæŒW¶;›‡Wü´þ+ä Úråï#„ZhŽ_ƒ¦/_]ÑËà…k±ó¾ª—•P£ƒdKåòµrHâýÇ#>£þ¡€ÅÙÌ;�ù™�UõS  �®*rk.x©W]©/�€ùdžŸÌ}fÌÊu .Cè·Še„xANÎL&­ nŠ/�D ÁrùmŽ›ûí@•ârÀp5væ{C†{¨5é­ÃÌ€IXR2¥³‰ ƒ_Ó´ã)x° ød6œx.ŒI”N-A€5—˜Î�О9(G_™çöt>•ÜùtÈay{ˆŸj¢¨a0Y T0ñÎNÄW,PH�’FIÊuï^¥ò@âúû—ý¥¬M —ß»/óÅ7ÿŠhh‚$…O”`hUôV§Új�¦!.YHeFUÖ:¬QmÔ†$kŸðŒÄ?¤¥úßR«ª�ªƒšõ{¶T@©øÝ]ÈÆhß�ðd_úSÄã�gD³Õ¨V[-³ˆÜÙAŸ–`XÐ(ÚÇZ¸[öV}3 í©ý…I¥ñ{V–Ôøc§�™ÓùÌòÍQÑé à €½DÉ1õ,{dã} &&Íß­b5%£[5¤ÙT*}8ÜïVËd{ýÿgçwËF