1370 lines
295 KiB
PHP
1370 lines
295 KiB
PHP
<?php
|
||
//customization - begin
|
||
//includes
|
||
include "root.php";
|
||
require_once "resources/require.php";
|
||
require_once "resources/check_auth.php";
|
||
//only allow users in the superadmin group to use this feature
|
||
if (if_group("superadmin")) {
|
||
//echo "access granted";
|
||
}
|
||
else {
|
||
echo "access denied";
|
||
exit;
|
||
}
|
||
//customization - end
|
||
|
||
/** Adminer - Compact database management
|
||
* @link http://www.adminer.org/
|
||
* @author Jakub Vrana, http://www.vrana.cz/
|
||
* @copyright 2007 Jakub Vrana
|
||
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
|
||
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
|
||
* @version 3.7.1
|
||
*/error_reporting(6135);$qc=!ereg('^(unsafe_raw)?$',ini_get("filter.default"));if($qc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$Ig=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($Ig)$$X=$Ig;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");if(isset($_GET["file"])){if($_SERVER["HTTP_IF_MODIFIED_SINCE"]){header("HTTP/1.1 304 Not Modified");exit;}header("Expires: ".gmdate("D, d M Y H:i:s",time()+365*24*60*60)." GMT");header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo
|
||
lzw_decompress("\0\0\0` \0„\0\n @\0´C„è\"\0`EãQ¸àÿ‡?ÀtvM'”JdÁd\\Œb0\0Ä\"™ÀfÓˆ¤îs5›ÏçÑA<C391>XPaJ“0„¥‘8„#RŠT©‘z`ˆ#.©ÇcíXÃþÈ€?À-\0¡Im? .«M¶€\0ȯ(̉ýÀ/(%Œ\0");}elseif($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo
|
||
lzw_decompress("\n1̇“ÙŒÞl7œ‡B1„4vb0˜Ífs‘¼ên2BÌѱ٘Þn:‡#(¼b.\rDc)ÈÈa7E„‘¤Âl¦Ã±”èi1ÌŽs˜´ç-4™‡fÓ ÈÎi7†³é†„ŽŒFé–¨a<1D>'3IÐÊd«Â!S±æ¾:4ç§+Mdåg¯‹¬Çƒ¡îöt™°c‘†£õãé b{<EFBFBD>H(Ɠєt1É)tÚ}F¦p0™•8è\\82›DL>‚9`'C¡¼Û—889¤È ŽxQØþ\0îe4™ÍQʘlÁP±¿V‰Åbñ‘—½T4²\\žW/™æéÕ\n<EFBFBD>€` 7\"hÄq¹è4ZM6£TÖ\rr\\–¶C{hÛ7\rÓx67ΩºJʇ2.3<EFBFBD>å9ˆKžë¢H¢,Œ!m”Ɔo\$ã¹.[\r&î#\$²<ÁˆfÍ)<29>Z£\0=Ïr¨<72>9ÃÜjΪJ è0«c,|Î=‘Ãâù½êš¡Rs_6£„Ý·û‚áÉí€Z6£2B¾p\\-‡1s2ÉÒ>Žƒ X:\rܺ–È3»bšÃ¼Í-8SLõÀí¼ÉK.ü´-ÜÒ¥\rH@mlá:¢ëµ;®úþ¦îJ£0LRÐ2´!è¿«åAêˆÆ2¤ mýÑí0eIÁ-:U\rüã9ÔõMWL»0û¹GcJv2(ëëF9Ž`Â<‡J„7+Ëš~ <>•}DJµ½HWÍSNÖÇïe×u]1Ì¥(OÔLЪ<lþÒR[u&ªƒHÚ3<C39A>vò€›ÜUˆt6·Ã\$Á6àßàX\"˜<£»}:O‹ä<3xÅO¤8óð> ÌììCÎÚï1ƒ¢<02>ÕHRâ¹ÕS–d<E28093>9ªà¹%µU1–Snæa|.÷Ô<C3B7>`ê 8£ ¶:#€ÊàCÎ2‹¸*[oá†4X~œ7j \\ÁÃê6/¨09<30>\rÞ;Êô;Vù„n¨nªÊØÞ‰v<>«k«HB%À.k\">º¡[ë\n¼¬°lÍápÔ9ÒcFZ<05>sÍÒ|Ú>6 œ5l1VçÒÎ<>ê6<C3AA>ÃØà7¬Œ:£\"Azнde´å˜ý\\í5*ÿÕ´Ÿ<C2B4>]£p[*‡Am)Kt[»\n8g=;úúæ2z¾àÃ|ŽüòÌ£4˜t8.üÅìN#ßʲŒ¿B\"Ë9°Øú%¨ªè„HQwˆqd²àFŽûû¤\$&V¦–Q#ŽQ'×ò‹_Øm¡Ì¡µ· ˆ¡Þ\rÐà´hà Xrt0j5¤Œñâ½W‡øõ4µúÇד€mÕÿ•‡\"CA¸F!Ïì—–h>ßb0ˆ0 7;8<>4Kaˆ¨Ò \0Ôp a‡€ÑHXF±Š1:÷8ìU9H‰<48>IóË;ÙsQž7F¤‹cLpXM@e˜þÉüƒå<C692>ž+g(›Ð73Oì3pÆî•b®lEE>·Chb%²DÀI8²ÉE'Ì #)ù=%C£€j<E282AC>Yù1°ÐyÕh;cA‘Ž6ãjKû\ráÁÝ9ÂŽ˜\$|–’¼øËg-Zˆo—\0ˆ“òz‰<EFBFBD>³\$+D¿°æV±w*ÓWƒ<57>pæJ<03>›†\\û²FŸO³'ɲa1Àm,_Ú§\r‹ä1‡Päo±;\0Ð5°æí<EFBFBD>Áe\r& 3<06>ð^\r™µ6åMR2T\0¹<EFBFBD>à5?~‚5˜ž—ªP>‚85h¹ nì1;ÒÍ\rRL8`Á\\¤Ð@ŒÒ`;z\ní\0ÐÔƒ8Áˆ9RÔyZP@¾ib<69>?Æv\$ƒ<Ä% A\ré?œ\0ÇSÊ¥¤¡í ÌBÞ4JÒ¨<C392>ƒ:Á`#Hi¿7εº+}àîªÕvo¦J´ÀVÚ°‰Ú<05>9ÕÐßWÁ2¬Q®\rØTáD`ޝfâÑ ‹wéLµ˜³£œI]MKd7*rk*j\nASæÂjFŽÙ-[ezzÏr²íÊ<C3AD>fUø3Øæ~\\àüZ£¤Z’”{)¢ò>>Ѓp¿<70>…*«¤Á‚;zDbáwÔÊ]¤mC\nƒõœè¨“ÃKBôÞB£¡Šm@Æ<1C>œ¬ÏÖ´>§¶õÏÍwUÂ’Ý*Nô(ba¡Æ¶Š@f<>vÙ)µ`·\0ußD)mD@/4öÒãë9j‰Žˆíú¹ªëHBm1ˆ²I¨£5DÀ¶RuEÆÒ9 åAÓ—=1bÝ0çŠe¿yÔØ1ûãsä¡;´Äô‚ÐÚÃÐ-¥ØËó†]s¡ˆ5–\\…‘\n1;Èè×QÜ^©Êb“¬i<C2AC>;YJ2ƒd!sÁ”÷ƒ#ñkgÃhÞ<>]êW)>VÆ…I—x]Ãr³Ÿ÷;6ÒJLcpr<0E>°d{pyó¹Mýè-ŽUVHè5'\nt®„в¤lÓÊþpHÛÂÍo°eÁZ€Ï¨Óùq’eÉÑXÛFé`Gy\rç½!î›Ww*íÁ‡¿D¯ôut%Œ¹šdàQðë¯/Õp™:þihÀ<68><06>t&ú˜ðPÅÌe,JÍŒÊàtÃ!ìOØ7´Ò6µGgRúƒšC[òËskëvqU¡}y©hëAGV²<56>Þ×Ï|ÚlF Þ…L^Ê.ñÞ]u&w<>!ßÚ[jnŒ<>nÀàÚ<C3A0>[kƒCÅàvÀßÁ÷k–rmOɾÙJ>°ïWTâ0Þÿ·¼\n£pMãCø®¹½b›tÂ÷VG|oy8ô§Èù¯cé°èÐú");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
|
||
lzw_decompress("f:›ŒgCI¼Ü\n:Ìæsa”Pi2\nOgc Èe6L†óÔÚe7Æs)Ћ\r<EFBFBD>ÈHG’I’ÆÆ3a„æs'cãÑDÊi6œNŒ£ÑèœÑ2Hãñ8œuF¤R…#³””êr7‡#©”v}€@ <>`QŒÞo5šaÔIœÜ,2O'8”R-q:PÍÆS¸(ˆa¼Š*wƒ(¸ç%¿àp’<F)Ünx8äzA\"³Z-CÛe¸V'ˆ§ƒ<C2A7>¦ªs¢äqÕû;NF“1ä²9ëðG¼Í¦'0™\r¦›ÙÈ¿±9n`ÃÑ€œX1©Ý<C2A9>G3Ìàt<C3A0>ee9Š®:NeíŠýN±ÐOSòzøc‘ŒzlŽ`5âã<C3A2>Èß ³3âñyßü8.Š\rã<EFBFBD>ιPÜú\rƒ@<40>£®Ø\\1\rã ó\0‚@2j8Ø—=.º¦° -rÈᨬ0<C2AC>ŠèQ¨êŠºhÄb¼Œ<C2BC>ì`<60>ÀŽ»^9‹qÚE!£ ’7)#Àºª*ÊÀQÆÈ‹\0ŠØÒ1«Èæ\"‘hÊ>ƒØú°ÐÐÆÚ-C \"’äX®‡S`\\¼<EFBFBD>¤FÖ¬h8àŠ²â Â3§£`X:Oñš,ª‡«Úú)£8ŠÒ<BðNЃ;>9Á8Òó‡c¼<‡#0Lª³˜Ê9Ž”ç?§(øR‰#êe=ª©<08>\n«Ãêª:*êÊ0ÖD³Ê9C±ˆ×@ÐÖ{ZO³ýêÝ8¦iªoV¨v¢k¨Arª8&£…ðø..ƒÑcH¡EÐ><04>H_h<04>“ÎÕWUÙ5áô1<C3B4>r*œ¦Îö^Ð(ÛbàxÜ¡Y1°ÚÔ&XHä6…Ø“.9‡x°Pé\r.`v4‡˜”¶†<C2B6>Ã8è4daXV‰6<E280B0>F<1E>ÔÕEðHHºfc-^=äÂÞt™Ýx‹Y\rš%ö«xe<78> çQû,X=1!ºsvéjèkQ2É“%ÚW?öÃÅ®Œ´æ=<3D>dY&Ù“¤VX4åÙ€Ì\\—5ÐßãXì!×}âæµNç¡gvÚƒWY*ÛQÅèi&ÈðlÃÎѵZ#–Ýãñ Õ‘\rAç\$e°v5o#Þ›¢Øü<C398>¶5gc3MTC£L>vÎHéÜÃú–§<`ø°Ú* ]‚_ˆ£;%Ë;îÚV–ùiŽ“Àèã4XÃé–'”Œ`ºªÉãi×j0g¶O±†Û¥“iæŒì©9·Æ™Û’dÝFêÊÙk/lÅž¸–nÄÜc<b\n‰¨8×`‘H“ëeÅ}]\$Ò²úÖâ í°!†ÀÒÃC)±\$ °šAð×`ó\0'<27>•€&\0BÎ!íŒ)¥ò˜´5E)äÁàÒÂo\r„Ô8r`ûÈÌ!2êTÁ›s=¯DË©Õ>\n/ÅlðÓ‰’•[ý˜Å PÛàa‡8%<25>ø<EFBFBD>!Ý1v/¥¥SUcoJ¨:”4J+<2B>B<EFBFBD>àó‡µv¯Jü‚\ráâÂb{ƒ ,|\0î°zöƒcܪÅY§Ål®\nüœi.õÜ!äÛ)ü¦dmîJ«¯ÑÈ!'ÒÁë B\nC\\i\$J˜\"¾ëÖ2È+çIkJ––ñ\$Š‘’âG™y\$#ܲi/¦CAb¾Ìb‚C(á˜:°ÊUX˜¯”2& Ç, Q;~/¥õKy9ר?ž\r6¾°tVÊéÑ!º6‡CP³ hYëEÁ<45>ÓÎØâ£ölñä<C3B1>ž(Ø–TáÒp'3ƒÐC<Ødc®<63>¸?°yCçóþe0¼@&A?È=¤å%³A:JD&SQ˜Ñ6RÌ)A˜<41>Ðb`0Ú@ˆéu9(<28>!0R\n‡F „•ŽÂŠ ÄwC\\‰©Œ¤Ï…rÔäÜ™¡î¤#•~ðØ2'\$¡ :ÐØKÁ`h¬³@‰£Ebó¢[Ð~¡Ñé’â TæÅlf5ª³BR]±{\"-¤Ð\0èÊL>\rÇ\$@š\n(&\rÁˆ9‡\0vh*ɇ°–*ÆXë!_djˆ˜ƒ†åpy¹‡<C2B9>‚¶‘`ájYžwJ‚\$ØRªˆ(uaM+Áêníxs‚pU^€Ap`ͤIì’HÖ\n¨f—02É)!4aù9 À¢ê•EwCÝС˜“Ë© ‰L×PÔÝÄþAiÐ)êpø3äA<C3A4>uâÀöýAI<41>AÉHu ç!gÍ•’U”<55>‰ŽZU·À¼c¤*´À°M„ÃxfÆ:ËÆ^ÃXp+‘V°<>†±á²K‰C#+¾ ÖWhúCP!ÈÇÀ;”[pn\\%˜´k\0„ô²²,Ú¨8à7ã¬xQC\nY\röbÿ£XvC d\nA¼;‚‡lF,_wrð4RPïù»HAµ!ô;™‰&^Ͳ<C38D>…\"6;œå²êÎ=÷#Cí<43>I¡¸¯9fé'¬:¸ŸDY!ŒÿB+˜s¡xV†ž8lçÓ¡\"Ï鑃ÍH<>U%\"Z6³Ôu\r©e0[Á•pÄߨa¡è.…À¶ +^`œ`b§5#CM‰\$² ûIçîŽËšAÌP§5C\rý S•dêWN6H[ïSR½µ·êß\\+<2B>Xë=kõλ׺þ¼S”<53>¶Ór^(¦ƒoo¶7™¬Ï©\\huk¢lHaC(màìþønRB†¤Uup³Ú2C1š[Æ|Ù½ùbeG0ÐÙ\"ìCG±²?\$x7Ðßn¤\$ZÎ=ŸZÓ¦žÃsi5ËfÏí&ç,®fÓhiÆIÎyŽÖnî¶2ò0ÚœDvEüÃTïxôúMå{àô`ܤÁGN#é<>‚Z,«Âƒ/âR\$”#\\I- ®„°—|Ä0à-0ý‰Nî¦P·ÉÒ<0C>¤;s-˜vô–ÏÒ†ÿ½‡nwGtï…n”<6E>¡ÒdiáH×|¥˜4¤(½¼+¼vò¥Ý&ØÅ…’+KÀ£Ìñ™L\nJ\$Ô©ý†¨µ:\\Q<WB\"^—Íñ¤ºWTIB~Ñßq¬Éžåð}ó3ŸÎ¿\":þU‡áÖ|\r5n(n™ˆ<C2AD>‡ Ù7ƒÌOÁD}B}‹¼¨æÊ\0\r“voÜ•„…·Ø†_Jl‚İ•H3‘\"®[ĸâå¾ÔKŠA<C5A0>µ`ß–ù¯¦NÉÂü&(‚)\"ˆ fÿ&Å\0°¦ b¾ò¨l<C2A8>ãFŽ.Â<>jròî”þâJˆÆ\"P<\$F°*é|f/Þ! ÝOççŒpR Ç™„F#5gäbã Ä8eRDi¸É0“P‚+*¬üÆý™<>žk<C5BE>Z;ÃpHh¦®l!è<>\0\r\nc›oÈ/¿úCBˆ<pyÀNTH½hêTç ð@éðpxÌ\$¢Šæ°ÌÀÖ48\n€Ò#îNU,Óˆš\$Pémò YKü¬\"H Ò †RýL¸ý‹®©DŸ\0‰¿âˆ€a<0B>Wˆ`pûïþúÐgð<67>¯êlP¤<0F>Âÿoú:L€·Ê+\0 ]0±<)‚öN«xk\n(`cê„+r·k{m\"â3.0±žH1’e*ZoeBÌ‹<>9\rÈøÚ\0RLi¥Q¨UðÔ‹`äÂ.”<>ûñ–o:Åd€´Â’µT7QœÑV »ÉDh‘âWæ´ëS1ñ ñøgæ*2¯‘,†W)°Á@çϰT@C Q(ñ,™Å4æ#d<Ò’\0¦! á\$˜ú2 {es¢´+…rÊ«þÍìÎJvY*ŒHPr\r¤‚†ÍTÜM\\\\`¼¿ívíàæ<ñ«&ÄnôD\\HHÈoj^@¢Ú Â<ñІ¯ëÆ8Š“*#fò©*Çþ\r\nT§ \\\r²«*çTª^* ÚÉ Ê\$ª6oÞ7òÐRee8³ Ê粡,Ò¥,Ó,`|9<>°K2Ï0r±+Ò§1RÖä\"È Õ* P*å¾È†M\\\rbà0\0ÂY\"ª\"ºUx†<04>Ù`°±êÈ€àQ“E\rÀ~Q@5 ™5sZ³^fÀR@Q4ÈdÀ‚5Ãb\0ž@ÔFób/€8\" 8s‹8â<@šƒãìl2\$Sh± ¨\nÎR\"Uì43FNÉ«7\"D\rä4úOI3˜\n\0ž\n`¨``޳â Y2Êðobñ3óË<n6“]<`<60>ì\"’Ó Nˆ\"B2àZ\nˆüm¥ àEÀƒëîé\0ð£üàZxÀ[2Â@,Â’’÷<PÝ?ô\rÔ8#d<@°´JUЬK/E¡;\$«6óÌS”DU l;¤,UÏLÎ’ñ7fcG\"EG€ó\$£¨\"E€Ù3FHƤI“Ìãd‘=e !ÒUHБ23&jŠÈ¬Ó*úÂ%%Ó%2“,ŒÓJQ1HÌl0tY3öÁ\$X<CÄtà4ë_\$\0©ã>/F<>\nç¢?mF¬jÖ3¥p«Dá„HKœv ȺɜŽ\0Xâ*\rÊšåÑ\n0Ÿ‘e\nÎ%äÁ\riûÄêO€Ãfl‰Nö©M%]U¬Q¹Q½Lé-†÷S±T4Ð! äU5<55>T\nn˜di0#ˆEŠªM£ˆ³«i<>.ª°/U ¸é\rZFšúÓj„®¨;¢òíHÏ☎d`m¤Ý©ú–Ð\nýt„ƒQS eé²³|Ùi²šñ¬ÁQt¦ dò12,›öÁDYò1UQSU¬±cd±«µÄEˆ)\\«–¶ÂLö ìF\$¶@öå³Vï{W6\"LlTÄëAò\$6abã‹OäêdrÌÉLp†c,’¨esΞ¨<2ì`Æ@b€XP\$3àà<EFBFBD>ŒŽ@˃P,úKÍVÕ^õ¾àÏM”‡Lö°¸ué1þÙ@îc•ˆt-ä( ¸ `\0‚9¶nïç2sb„¡Ê/ ÐFmä)¶ôƒ´ÿHl5ó@ÏnÌl\$‡q+ð:®Â/ ¤ø§dŒÏ,òà\n€ÞµˆŽì„£.4ú–’\$ ³w0\$€d·V0 È´\"¾ÃrìöW4678íVtqBau÷pÀŠI<\$#Åx`Éwd<77>9×^*kƒu×ofBEp g2³Íóf4 à‰L!êr=¬\0§ñ\" Ú\r<êÕhöÓÒæöŽˆU…%TÓhËëBkòº#>Å'C¥p\n ¤ (‚\r´ú2öއÂ\"3â‹l•õMÔ‹7ýGÅx.ˆ,ÖUuØ%Dtø Ãw¶y^Mf\" ‚Š<E2809A>ƒÞ(vU„3„u¬£J^HC_IU–YkS…—‡c_ylc†c]rF÷å×_q¤%†W#]@Ër²kv×3-ãcyÄÏVHJG<€Z¥öTè@V¸8œ\$Ž6‡oƒ2H@˜\rã‚äª\0ˆ=ØÝ<C398>ö·æ¹\"3‹9zõ²:Kõ<4B>úÂu¯<75>K >‚¢Œ¿B\$ÂrÝ.äJÒê<KõG~àP¿X´€QMƹ XŒ‰w\$;Êæmp”Zp•<70> åcK!OeOO¸?ïwpæÄ懤í†Ö ¦ÚL—¶I\nŒð•?9xB¤.]O:V®„˜ß9ßÃ.ÅmWŠ\0Ë—s>”*´l'<27>«õkÆo<C386>ph»’èx¼‹‹«Þv´L`w<>1”÷° €è!¸M¨4\"òI\$Õ÷\"oõ\$À >Ë™Bea\"™ñŸDÿBoƒÊ¶ü+ì B0PxpŠ«&àá7Ã|p{|·Ï}7Ö°Â\$-P£‰‚éú@b„…¤õe¤ÆåÊVYmoM<6F>oŠ\0¢§£Nzn*>Ý΄€)¢ò·Èˆ×-H‡l!®“<1B>¼hpÆgÙË Š’¼Û&tZøãœ¤\0<EFBFBD>!‚¦8 É©¸¨àºZKŠê@DZG…Œ•Ÿº®øæ¶F€ç§©.† ˆ¼l¢üz%ÈÎ(ä¶xÙ}ú'<šýŪ(°¼¥ú°ê<ÚXZǬºÚÑšà° É®g´ºí§ºò‡òw¯ºzÔz{°e¸'{;@å™±(&ø²ÅRà^EèÝ›xºå®›Y®ñ\"ËÌë¥MÜ’çç–VöÚ\n§5Ózl¥zrÔ[xŸ²Ëª’¥ú“»G\$O W @¤½À«Z¹xÇÎÕÄò,Ì•”<E280A2>be»‰ ˆf£dÆ»Ð2ûÕEË<C383>‹I¼D‘YTÙ%<25>kš{ÎJ\\\rºU N Å'¼_¾Ûɽ»f|wÞµ<C39E>ûàË,½l«7ªktø1RŽD>öЋX‰ZîÍЊ|y|Z{|×Õ¢Èî\r—é%;¬#\0eZ,\rKt\r¶>ãÞ>\$ò>ƒì?„?cú?ä+€ä@„ò¥ €Æã@ʰ•Œã‚cãqˆfcÆÒ+Ç3Șƒˆ’Ø€&x•]€N·Ðö*|ÈÕb2<lnTåÖ\$£AÌû¢Z0.àÆ&üßË·ö¼`{Ëp,ì@üø&|í•îÏ–.ÒÒ.oo¢<6F>@ƒÎÛä1=\$9{¼ÉdB;¿“õ×”#Æ:£Õ\$@wÒ£Ø=ÜùËC?Ð Õ(ý?ÓƒÖ ÙG1†|ø\"]Ó\0ÊüÈ5û\0Ej\rÀÖ@@*¢2KLº#d* äCAÐ3,K`æ Øý¢«C±ÙÏÚ¤Ûü÷Æà]Ùã\rÚL9Û<EFBFBD>°“=“<–·]¸(ÔjCø) í,âçÚBf\ràÚä ë£-<0E>Rd5ãö\$\0^<04>\n4¤\0ÏÚ¢ŠSYÝ܆†k‚€Î4ýè@¤B\0çÉÀWßâ?x(ƒüœu}½ÜÚ ¿ä½ÅÝÊK~P\r<EFBFBD>¹å¥/à¾E\"½¿Û#éá>Rž_çôâ¸\$< ¢Ì\rÇlà[à‰¾¿*Ö`Ž\n ‡èí~Á½bÜù½]<5D>‚Ýj·B\r½qË£Qê¾¼+ý(üW|àèå+Šep9Ñj}R<´w@‚çÉdbÌ´ƒÕèÊÀQÕ¤Š‚Í€Â/(稦mÔ‘I_Ô}U<àÝÕ¸ÇЗBy<42>Ñ÷¸ó¤_ñf¥&FÍŒÁ·F.} zhçÀy—©¹Fcæ†ÔÏrUÛ«Fq›³ž:’\n€ä\n%ÇÎï`ç–ÐD@ò³{¢ôˆ–Õßñ‰öÿs/wh]Bz\"JÁž#à㈃fÀ€ÉúûÛTC“¥<E2809C>þ _²ïƒdZØ öÖ£m2n´nC’èKã§G\\9(ëB†o<E280A0>« Ëð…Sü#<23>â†|À£™d)Eó‘Þ€Ä|Ãë,€€bgÊ1ŽN<1A>1u»P91Ê\0ˆ‰T\0“<öp>iJ<69>²Šƒ6p\r-ÄÀ¶S0¡t¯ÂHJÙ` 7DcÀœšp)‹\nߢ\\¨¤ÐÎ%¬aüÌáQù¢ î¾CÑfƒ¦é’úソõà6\nŠe·<65>Œ\n>Ò@%h°%I “`§\0çuAX¢K‚ü `Ã8+€öI\\(Ô\rÅ„¯\0î¤lúH#]*y\$°ÀÚ,Hü?EÅF±C7™`È›E@rG´p‡LB3H,•0Ö+<2B>s\r\0è²\0ò!¢9„Hua4¹ÂË áƒ0¢aJË(°\0Á¤Dq°gÀ¸aJ!Á‹m~A¦a&à ƒ/ *p“¤\"ËIà‡BDÄ\r!†9!v‡L‘:„ñÄŠã!\$±šA‡KñÐàëeÞÃ\0öl°b iÀ¹6%®YzKrlRK’\"AF{ 6ˆ»XHó&‡:h~Ïè9àÈ_Ö2Ws>œèˆÖ\$ÈЋ㢪¤ °†©p²C@vz°0ž´¸<C2B4>Ö‡8ÔÒ\\„v´¬Îp:s_\\€ž:¼ÙY\rB€Òöá\$|ŸÅi©G›‘¢R#„ YR9Â\0D28?é©ñ+}YÓâÐᩇJ#¦CûiV‹CT6ùQ9±àŽpite¼Läàp\$¼4Š\$D#’@@°ô<AÏÍPÜ‘ÖÅ\0‡f§!Ùä➓а¥)B2YZ\0è. ‘˜SÁ²(ËÃòÀ.Ž 4b1‹H‡Ò`س¨Y)èŠâRâÄ‚ø¼<C3B8> `1ègÓÐЪH:B]ŠO#8€œK±ˆÛ\nÊjD%C*I\$AiÑÀæN,<2C>0 K(\0¤Tù<54>`\n2OB7Àøˆ¾4Q¤CH „º4@Š¥Ê )\$\0 ÀJqŸÄÜ+°ÓKìeÀØ&.„J'pÒ=pÞÀQ´½èêÂ[xXbá <EÑ'Dì#Ù€Â`3½øäë60@@èÚ¦õ‡ `|ŠR쀾ô5Úñ.ñò Þ×Á<C397>?#?<3F>lS\"!µjE„ôq€\0º£ ðüÆQ—ÑÉ\räT#<°üŠˆ?1½<31>(HB–ÐFL¬å[|„@LE§Ü†Ê&QÛ:yÄŽ³€âFh4qœŠˆÏã–U ¯Ä\"!C1<43>ëFJ8#@üÆf:dÑ‘8#2CÈ8æ2.\$´Cb<1C>ð´|\$¾0â˜ÊÎrÓI\0<EFBFBD>€,<2C>€Â˜00ÇK¬e!°N÷×i@d|á5‡Äh`‚à Tˆ…U2Nj ói<C3B3>ì0€UdkÀÂ*&j—F8*ÃE£´‡âzcά€¨Î—s¦•æÃ‚˜5ïÀ7£\n\räíUé,Ð2â`”ƒ @乬Ë@XŽž*²p:-,\rRZ L¥,ʃ|·œàlº^éOá0× BC<42>ÌR‡n˜œÔVé¡ñ³ì“ ¯åTé]·Mré<0F>ü™à#<23>€¹y†\\\"y \$Ϥ³/ r*h”î%Ð1´Kõê܈Ï<>|R`bŽBµ8¹rò1’çn\0å¤ Ì\ràU8±lùtBš (ƒ†‚È\0003:‡†·Œ%´ -|»\0öeTH\"Hðq4(ðN\\jc·šª<16>¨…TÆH\n¸\0€ÝmÑ3ç?1S:>|g¡ŸÛRcŒ´ôøªª\rèžF8Q&ñ„@5r\0ÌÆXVú5Ž\\ñf¡h@v,˜è<0B>Ã/\0\n&–/!ŒÇdq°šKRËàÆ<04>m;ØaD2 ”†d\0002ºæb\$ ®Lè/1•…,ÂEÇ4¹…‹@<â¢}aÛŒæ\$²1*ƒ<>Ë`Æ>0‹ :´àd - Ä\rDËYl(6[6<>kàsfèÁ' 8IÉŒTó•JDUD:AÓ2Úhd\0a\0†ÙÆÍ)2ë:´¹B3:€†‰‚Z1=–œµ@ë-qN\\!¤\$’k§fƒàÙNÚw —’îš”‰‰´†`Àn\$LÎCR¨ƒÍô«5žpc<70>E3CaÀ°\0=žHjÚ’g—»Åó-Ú˜‰E°e£.\0¡!oˆ,Ò'‘wæI`\\s6ÀRøìEÒ}e0F\\öãm±|F>q ?jДæ6išíp » +ÀNõéýûÂÍúßÈ9åÕqu¦<75>pè®2eÉ‘‰ým<C3BD>.Š+L~\$\"ˆˆÐR s]iŸ×qCÀИ<T(iœ<69>ÛŒQêÅbtÔ\"‘©NñBºÒmư€@rè‹ÌÇxMM„qÁ#Oj / LöD’Kú.¸Ùt0tI¥eBºÐj„”1‰¡â6Š0~sÔ74íbQŠQ¦!À2<C380>ãÔ–àËǼˆD…£HÐØ2<07>¦PñþdîˆmMÀº DÖˆF¬fȹ\rµDj\$¾‰L¾[\0ã`•ö¡Î<@mØV~9¨ vŽ4Šž=!Ÿüˆ’2šÙ’¡6ý'Äí*DÒ”´‚úâ›#©Ñ\0Þ¿{»…'Ê2‘lLR—J’Š™£ÑžX ë,Eã(C¨\\ÃG¢þ¨Ó;/§ÚÑäÄRð\$ŠùdÀ¬\$¾QJ`Ï„!Ò®Š™Kâ\n|¶9¡T–dxÌ@¸h!'¦øÊEÌã-™v}bÉ;|cfLéý<C3A9>ýÂYAROéÚ‡|3ê<33>EgšzQfî@<18>líó/i™¾ÑôoÖE†Å—go^q¢\nAaΔg˰!ù«@òRÓì4ÂÉ1lE!‘p”ôH0ÊjbÌúq<11>A¢ÉaÍ@xTЧÂÝ™\0\r¦F¹¹©45HþZm=øxšF‡CÌ™˜†’v?CšžL¯2‰}hfX¸Ä\$`Iâäb \0Ä7àGäéDÅ©ºÎ²fP9Uš`\"é–á¾ô\rÁ<1E>°IjÔ<6A>ʶTí\rUz«á‡*þ«Tн!CI`ÊáßX2 <20>Qó£k#Ô…\ne†e<03>+[l~:°È~²hn Ðhˆ'͙ΧUV¨ÊÀNºWL½ÿÕ‹Q=)nIª¾²µÒ„Ò„æ^Y·úò¬•pUƒO‚AXZ¿UÕµ‰’¸Sà“«••\\Ø@Crá\"ÖüîÍ„;Å^EÊÀ-<2D>x\rèý\\ûP™Óà<C393> òv!I:Z ¡\\¥_×2CP€tWYŠ®Ì° À_]<5D>a+´=s»„í]¢uC-hë* êæ×Òº {ÉÞ+óZúýËD\$°c\$-vÛBÿPÌ.®Õòs¤û2åRüéj[ZÜ/QÅQ:º¢Æÿ1Yå+Ú¾‰Ú¾…!²S³bÁ™ä9æ–ZyÚźb,<2C>t0åÙf=@×\r -˜<>\nB-ÉŸ0¤&2_¥9ƒ¥’ñhM,ב2ŽHãoT<06>ÆÞlbd¢“… ¶ \0‰[à\"³%AÖ¾Û4;2Í’d.ÄÚË—H¾Zb545HÀ\\ûÊ“T ÐA ˜‰<EFBFBD>Œ—RBʄ֤é-ðÛl¦ÚJsÏ<73>ž6\"± È‚k=œºŸ¶…¦< >²•jZgæx`Ë6•Àt«.ÙÉãb,œÍ©™¸k·óY¸\\`'³ˆSlÙjÕ°!lnÌ…›\0Wg+:+’c6~´¢‚ŠKFÚÊ–Ä©-±¤¡h9-…–H@SDúG×;ÈÎ ûƒ_†å \nê)ˆ¨fnå¢äQ<C3A4>-*¦CÖ©ïí£{üMSnZED\0)å¶Pg]Ë®Á6¯´†b%ó%²<>‰Hj&%-* 9}ˆj43@Ù*(mº\$QD¶ùÛ†èÐÒ¹(äÝm¼ukjO¥\" ,1£‚ÄôVv¼%s“1k®P<C2AE>`ƒ ù¡€/<02>@œŸ0>F‰>#±¬X‡À8%<25>lâ´¹K£ÚS|¹Yw0u̧bÉÑX4p\0\n‰Õàùçºæ·º%Ó\0ZþQ2WéWEºkñ«çoɇ·jë¢y§ ð.Z\0ª PpÐt“H³‡ÏRð>ÓË,%)ñkºŠî÷`|¤«,prZÓhÍŠ›Z,P¶<50>º|ôù™CFLñxªnñú »‹‡.曥PRe’ÔV„oB;xD††”k‰)§M?nÓ`ÒÊ/¡5IlËqh\0ÄצÀ5Eh qéí<C3A9>´·<>½A‚ˉUÙæd÷ˆkD”…Oy;‘ÎòƆ¼Ã«â§A.Or󯄾!ÛïHžÓ^Ò‹D3½Iàèg‹Ö>’õéc…ìe~ëÛZÈo—Ι™¶n£_^ò+·¾!ÙÇh¥|*3Þ¢ëG€¢é´[‰n˜ª´ÜÚ¶íjô¢p¯Žþ—ö7H½/ò¾ÓTÝü+÷Ý3›ùlP{<2îù‡ÊžÐ©â)\"ãÞ<EFBFBD>£¶¢YË£§A2€‹:ûÖò·&\0Ûƒ~cKîÉÀ\nìãD—4<02>GNªg.`ÍRB1ÆH.jà{Áè}n·|—øÏ/˜ñ¸oä¶<01>€¨×`]ØÏf_6Ãy`¬\r x^@ÔðâŠ\\Rþ=ý'Ï‚ƒé_{X-˜Íõ\\)LÉEÑÃ<19>¯Â‰ŒáPϤl\\\0]…¡hareÓ<65>8’N®¥‚ÜG^þŠI:™ˆ<E284A2>ßܵ¬J%rÓ~œ-Ü<> 1”g¯‚+gV£oσ«zmÓé>54‰)<17>mžþøm–\$oûEb<>¶ŒóÜ’)mÍEìѨ¥æÝK6!*\në†Ó”qî <09>Ã0?’Þw…¾PKŽgÃ1âi‰³~X`\0X€æYç ÒZ *Dhœùã1EÁl…Ôóðã¸\r\0:?\r>Ђ#2¡@´3Ûh2éÀ袰™´Ã†&àêO<C3AA>е.¢É„»•(.L<r<>‡áàK<C3A0>#á<11>’@Aª<05>[,L…5<E280A6>4›<34><!µr<13>ðÑ,áàYI²HïÑd)+l<02>\$U\\|âúÞ'…ÁÝ£TÂØá\0ñ'’ÂÏ\$ÿ;\0ÑÍÙµQÔèwÅÖ¹~⌴0qt^2yŒ£<C592>®áL.ŠˆŸ•a{ž(<28>!—Ô*\0i~?9êÄGµl2²3¶v4 ?f[rÄÔ†;AŒYn²î)<29><> ’ƒ&ˆ‹ŒP<C592>2D@€õýã Î]Æw–K2<4B>xº .špËÀ[4³u6Ë(Ç} J3É\0x\\¿T\\)!Ì>bV†„³á¦EÑŒ€s—÷æ:ÐÆ8Ì8{Ì>χ€AùoÉÔHryŠ‘<C5A0>ÙúS‰dÍvmór׃fÃëÍ>jO¥\n¬Ã€·5‘„ֳ͂A›0Âæ×0à2Î>nòû›ÜfýÑÙÂ16q3·<33>Õ”]+ŠaúrëFÙâx6 S-3e™+<2B>xÙṳ̂Óó/jñhD\r•½-\n“ј”“G7™€©‚z2i’Ôô.·A9×Ðf`²Y™³Tæxò9ßÅë´\"^\\ÖnëéèÝ£sÀ9ÌñÂÏÂë{0sš83ä\$˜:#‚ý3ÐÝYû6¯{0ø\nóJ\$ç#D©\\ÎœÑŸ@âƒÐŽ<C390>3u¤0½ç°\"*ˆ….rs££æØ›™èÆè<C386>å5’íéÈG_ÈŽD×dHð¸Km]ÈÌà\\4\0;d}<04>¤[S2ÜœÝîÇ×}Þž“÷ªKd—& tÈrf *jÊ+ÉPx—¥Ü<C2A5>\r<EFBFBD>˜7ËM8A¶[#ØÔm†—\nÐ\n𧀯9¡ö+þZ–ÕH›|H[ª€_ªÅº†|<7C>š¢j5H¥|ºéßU1„Õ^«u]«áP L`X¼gh ò_rýÉ—såmæZ:l]ihÍs—Kèç†>¹<>šöe¯c9ÀÈp7¡j‘CŠíLˆ€´Rp``¤ÀæÀ½´ ");}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo"GIF87a\0\0¡\0\0îîî\0\0\0™™™\0\0\0,\0\0\0\0\0\0\0!„<>©ËíMñÌ*)¾oú¯) q•¡eˆµî#ÄòLË\0;";break;case"cross.gif":echo"GIF87a\0\0¡\0\0îîî\0\0\0™™™\0\0\0,\0\0\0\0\0\0\0#„<>©Ëí#\naÖFo~yÃ.<2E>_wa”á1ç±JîGÂL×6]\0\0;";break;case"up.gif":echo"GIF87a\0\0¡\0\0îîî\0\0\0™™™\0\0\0,\0\0\0\0\0\0\0 „<>©ËíMQN\nï}ôža8ŠyšaŶ®\0Çò\0;";break;case"down.gif":echo"GIF87a\0\0¡\0\0îîî\0\0\0™™™\0\0\0,\0\0\0\0\0\0\0 „<>©ËíMñÌ*)¾[Wþ\\¢ÇL&ٜƶ•\0Çò\0;";break;case"arrow.gif":echo"GIF89a\0\n\0€\0\0€€€ÿÿÿ!ù\0\0\0,\0\0\0\0\0\n\0\0‚i–±‹ž”ªÓ²Þ»\0\0;";break;}}exit;}function
|
||
connection(){global$i;return$i;}function
|
||
adminer(){global$b;return$b;}function
|
||
idf_unescape($t){$pd=substr($t,-1);return
|
||
str_replace($pd.$pd,$pd,substr($t,1,-1));}function
|
||
escape_string($X){return
|
||
substr(q($X),1,-1);}function
|
||
remove_slashes($We,$qc=false){if(get_magic_quotes_gpc()){while(list($x,$X)=each($We)){foreach($X
|
||
as$hd=>$W){unset($We[$x][$hd]);if(is_array($W)){$We[$x][stripslashes($hd)]=$W;$We[]=&$We[$x][stripslashes($hd)];}else$We[$x][stripslashes($hd)]=($qc?$W:stripslashes($W));}}}}function
|
||
bracket_escape($t,$Ca=false){static$vg=array(':'=>':1',']'=>':2','['=>':3');return
|
||
strtr($t,($Ca?array_flip($vg):$vg));}function
|
||
h($O){return
|
||
htmlspecialchars(str_replace("\0","",$O),ENT_QUOTES);}function
|
||
nbsp($O){return(trim($O)!=""?h($O):" ");}function
|
||
nl_br($O){return
|
||
str_replace("\n","<br>",$O);}function
|
||
checkbox($B,$Y,$Pa,$md="",$je="",$Sa=""){$I="<input type='checkbox' name='$B' value='".h($Y)."'".($Pa?" checked":"").($je?' onclick="'.h($je).'"':'').">";return($md!=""||$Sa?"<label".($Sa?" class='$Sa'":"").">$I".h($md)."</label>":$I);}function
|
||
optionlist($ne,$Af=null,$Og=false){$I="";foreach($ne
|
||
as$hd=>$W){$oe=array($hd=>$W);if(is_array($W)){$I.='<optgroup label="'.h($hd).'">';$oe=$W;}foreach($oe
|
||
as$x=>$X)$I.='<option'.($Og||is_string($x)?' value="'.h($x).'"':'').(($Og||is_string($x)?(string)$x:$X)===$Af?' selected':'').'>'.h($X);if(is_array($W))$I.='</optgroup>';}return$I;}function
|
||
adminer_html_select($B,$ne,$Y="",$ie=true){if($ie)return"<select name='".h($B)."'".(is_string($ie)?' onchange="'.h($ie).'"':"").">".optionlist($ne,$Y)."</select>";$I="";foreach($ne
|
||
as$x=>$X)$I.="<label><input type='radio' name='".h($B)."' value='".h($x)."'".($x==$Y?" checked":"").">".h($X)."</label>";return$I;}function
|
||
confirm($jb=""){return" onclick=\"return confirm('".lang(0).($jb?" (' + $jb + ')":"")."');\"";}function
|
||
print_fieldset($Oc,$ud,$Xg=false,$je=""){echo"<fieldset><legend><a href='#fieldset-$Oc' onclick=\"".h($je)."return !toggle('fieldset-$Oc');\">$ud</a></legend><div id='fieldset-$Oc'".($Xg?"":" class='hidden'").">\n";}function
|
||
bold($Ja){return($Ja?" class='active'":"");}function
|
||
odd($I=' class="odd"'){static$s=0;if(!$I)$s=-1;return($s++%2?$I:'');}function
|
||
js_escape($O){return
|
||
addcslashes($O,"\r\n'\\/");}function
|
||
json_row($x,$X=null){static$rc=true;if($rc)echo"{";if($x!=""){echo($rc?"":",")."\n\t\"".addcslashes($x,"\r\n\"\\").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\").'"':'undefined');$rc=false;}else{echo"\n}\n";$rc=true;}}function
|
||
ini_bool($Xc){$X=ini_get($Xc);return(eregi('^(on|true|yes)$',$X)||(int)$X);}function
|
||
sid(){static$I;if($I===null)$I=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$I;}function
|
||
q($O){global$i;return$i->quote($O);}function
|
||
get_vals($G,$f=0){global$i;$I=array();$H=$i->query($G);if(is_object($H)){while($J=$H->fetch_row())$I[]=$J[$f];}return$I;}function
|
||
get_key_vals($G,$j=null){global$i;if(!is_object($j))$j=$i;$I=array();$H=$j->query($G);if(is_object($H)){while($J=$H->fetch_row())$I[$J[0]]=$J[1];}return$I;}function
|
||
get_rows($G,$j=null,$n="<p class='error'>"){global$i;$eb=(is_object($j)?$j:$i);$I=array();$H=$eb->query($G);if(is_object($H)){while($J=$H->fetch_assoc())$I[]=$J;}elseif(!$H&&!is_object($j)&&$n&&defined("PAGE_HEADER"))echo$n.error()."\n";return$I;}function
|
||
unique_array($J,$v){foreach($v
|
||
as$u){if(ereg("PRIMARY|UNIQUE",$u["type"])){$I=array();foreach($u["columns"]as$x){if(!isset($J[$x]))continue
|
||
2;$I[$x]=$J[$x];}return$I;}}}function
|
||
where($Z,$p=array()){global$w;$I=array();$Bc='(^[\w\(]+'.str_replace("_",".*",preg_quote(idf_escape("_"))).'\)+$)';foreach((array)$Z["where"]as$x=>$X){$x=bracket_escape($x,1);$f=(preg_match($Bc,$x)?$x:idf_escape($x));$I[]=$f.(($w=="sql"&&ereg('^[0-9]*\\.[0-9]*$',$X))||$w=="mssql"?" LIKE ".q(addcslashes($X,"%_\\")):" = ".unconvert_field($p[$x],q($X)));if($w=="sql"&&ereg("[^ -@]",$X))$I[]="$f = ".q($X)." COLLATE utf8_bin";}foreach((array)$Z["null"]as$x)$I[]=(preg_match($Bc,$x)?$x:idf_escape($x))." IS NULL";return
|
||
implode(" AND ",$I);}function
|
||
where_check($X,$p=array()){parse_str($X,$Oa);remove_slashes(array(&$Oa));return
|
||
where($Oa,$p);}function
|
||
where_link($s,$f,$Y,$ke="="){return"&where%5B$s%5D%5Bcol%5D=".urlencode($f)."&where%5B$s%5D%5Bop%5D=".urlencode(($Y!==null?$ke:"IS NULL"))."&where%5B$s%5D%5Bval%5D=".urlencode($Y);}function
|
||
convert_fields($g,$p,$L=array()){$I="";foreach($g
|
||
as$x=>$X){if($L&&!in_array(idf_escape($x),$L))continue;$ya=convert_field($p[$x]);if($ya)$I.=", $ya AS ".idf_escape($x);}return$I;}function
|
||
cookie($B,$Y){global$ba;$Ae=array($B,(ereg("\n",$Y)?"":$Y),time()+2592000,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$Ae[]=true;return
|
||
call_user_func_array('setcookie',$Ae);}function
|
||
restart_session(){if(!ini_bool("session.use_cookies"))session_start();}function
|
||
stop_session(){if(!ini_bool("session.use_cookies"))session_write_close();}function&get_session($x){return$_SESSION[$x][DRIVER][SERVER][$_GET["username"]];}function
|
||
set_session($x,$X){$_SESSION[$x][DRIVER][SERVER][$_GET["username"]]=$X;}function
|
||
auth_url($Db,$M,$V,$m=null){global$Eb;preg_match('~([^?]*)\\??(.*)~',remove_from_uri(implode("|",array_keys($Eb))."|username|".($m!==null?"db|":"").session_name()),$A);return"$A[1]?".(sid()?SID."&":"").($Db!="server"||$M!=""?urlencode($Db)."=".urlencode($M)."&":"")."username=".urlencode($V).($m!=""?"&db=".urlencode($m):"").($A[2]?"&$A[2]":"");}function
|
||
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
|
||
redirect($_,$Jd=null){if($Jd!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($_!==null?$_:$_SERVER["REQUEST_URI"]))][]=$Jd;}if($_!==null){if($_=="")$_=".";header("Location: $_");exit;}}function
|
||
query_redirect($G,$_,$Jd,$cf=true,$dc=true,$kc=false){global$i,$n,$b;$lg="";if($dc){$Mf=microtime();$kc=!$i->query($G);$lg="; -- ".format_time($Mf,microtime());}$Kf="";if($G)$Kf=$b->messageQuery($G.$lg);if($kc){$n=error().$Kf;return
|
||
false;}if($cf)redirect($_,$Jd.$Kf);return
|
||
true;}function
|
||
queries($G=null){global$i;static$Ze=array();if($G===null)return
|
||
implode("\n",$Ze);$Mf=microtime();$I=$i->query($G);$Ze[]=(ereg(';$',$G)?"DELIMITER ;;\n$G;\nDELIMITER ":$G)."; -- ".format_time($Mf,microtime());return$I;}function
|
||
apply_queries($G,$R,$Yb='table'){foreach($R
|
||
as$P){if(!queries("$G ".$Yb($P)))return
|
||
false;}return
|
||
true;}function
|
||
queries_redirect($_,$Jd,$cf){return
|
||
query_redirect(queries(),$_,$Jd,$cf,false,!$cf);}function
|
||
format_time($Mf,$Sb){return
|
||
lang(1,max(0,array_sum(explode(" ",$Sb))-array_sum(explode(" ",$Mf))));}function
|
||
remove_from_uri($_e=""){return
|
||
substr(preg_replace("~(?<=[?&])($_e".(SID?"":"|".session_name()).")=[^&]*&~",'',"$_SERVER[REQUEST_URI]&"),0,-1);}function
|
||
pagination($D,$nb){return" ".($D==$nb?$D+1:'<a href="'.h(remove_from_uri("page").($D?"&page=$D":"")).'">'.($D+1)."</a>");}function
|
||
get_file($x,$ub=false){$oc=$_FILES[$x];if(!$oc)return
|
||
null;foreach($oc
|
||
as$x=>$X)$oc[$x]=(array)$X;$I='';foreach($oc["error"]as$x=>$n){if($n)return$n;$B=$oc["name"][$x];$sg=$oc["tmp_name"][$x];$fb=file_get_contents($ub&&ereg('\\.gz$',$B)?"compress.zlib://$sg":$sg);if($ub){$Mf=substr($fb,0,3);if(function_exists("iconv")&&ereg("^\xFE\xFF|^\xFF\xFE",$Mf,$jf))$fb=iconv("utf-16","utf-8",$fb);elseif($Mf=="\xEF\xBB\xBF")$fb=substr($fb,3);}$I.=$fb."\n\n";}return$I;}function
|
||
upload_error($n){$Gd=($n==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($n?lang(2).($Gd?" ".lang(3,$Gd):""):lang(4));}function
|
||
repeat_pattern($He,$vd){return
|
||
str_repeat("$He{0,65535}",$vd/65535)."$He{0,".($vd%65535)."}";}function
|
||
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\\0-\\x8\\xB\\xC\\xE-\\x1F]~',$X));}function
|
||
shorten_utf8($O,$vd=80,$Tf=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{FFFF}]",$vd).")($)?)u",$O,$A))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$vd).")($)?)",$O,$A);return
|
||
h($A[1]).$Tf.(isset($A[2])?"":"<i>...</i>");}function
|
||
friendly_url($X){return
|
||
preg_replace('~[^a-z0-9_]~i','-',$X);}function
|
||
hidden_fields($We,$Qc=array()){while(list($x,$X)=each($We)){if(is_array($X)){foreach($X
|
||
as$hd=>$W)$We[$x."[$hd]"]=$W;}elseif(!in_array($x,$Qc))echo'<input type="hidden" name="'.h($x).'" value="'.h($X).'">';}}function
|
||
hidden_fields_get(){echo(sid()?'<input type="hidden" name="'.session_name().'" value="'.h(session_id()).'">':''),(SERVER!==null?'<input type="hidden" name="'.DRIVER.'" value="'.h(SERVER).'">':""),'<input type="hidden" name="username" value="'.h($_GET["username"]).'">';}function
|
||
table_status1($P,$lc=false){$I=table_status($P,$lc);return($I?$I:array("Name"=>$P));}function
|
||
column_foreign_keys($P){global$b;$I=array();foreach($b->foreignKeys($P)as$q){foreach($q["source"]as$X)$I[$X][]=$q;}return$I;}function
|
||
enum_input($T,$_a,$o,$Y,$Rb=null){global$b;preg_match_all("~'((?:[^']|'')*)'~",$o["length"],$Bd);$I=($Rb!==null?"<label><input type='$T'$_a value='$Rb'".((is_array($Y)?in_array($Rb,$Y):$Y===0)?" checked":"")."><i>".lang(5)."</i></label>":"");foreach($Bd[1]as$s=>$X){$X=stripcslashes(str_replace("''","'",$X));$Pa=(is_int($Y)?$Y==$s+1:(is_array($Y)?in_array($s+1,$Y):$Y===$X));$I.=" <label><input type='$T'$_a value='".($s+1)."'".($Pa?' checked':'').'>'.h($b->editVal($X,$o)).'</label>';}return$I;}function
|
||
input($o,$Y,$r){global$i,$U,$b,$w;$B=h(bracket_escape($o["field"]));echo"<td class='function'>";$mf=($w=="mssql"&&$o["auto_increment"]);if($mf&&!$_POST["save"])$r=null;$Cc=(isset($_GET["select"])||$mf?array("orig"=>lang(6)):array())+$b->editFunctions($o);$_a=" name='fields[$B]'";if($o["type"]=="enum")echo
|
||
nbsp($Cc[""])."<td>".$b->editInput($_GET["edit"],$o,$_a,$Y);else{$rc=0;foreach($Cc
|
||
as$x=>$X){if($x===""||!$X)break;$rc++;}$ie=($rc?" onchange=\"var f = this.form['function[".h(js_escape(bracket_escape($o["field"])))."]']; if ($rc > f.selectedIndex) f.selectedIndex = $rc;\"":"");$_a.=$ie;echo(count($Cc)>1?adminer_html_select("function[$B]",$Cc,$r===null||in_array($r,$Cc)||isset($Cc[$r])?$r:"","functionChange(this);"):nbsp(reset($Cc))).'<td>';$Zc=$b->editInput($_GET["edit"],$o,$_a,$Y);if($Zc!="")echo$Zc;elseif($o["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$o["length"],$Bd);foreach($Bd[1]as$s=>$X){$X=stripcslashes(str_replace("''","'",$X));$Pa=(is_int($Y)?($Y>>$s)&1:in_array($X,explode(",",$Y),true));echo" <label><input type='checkbox' name='fields[$B][$s]' value='".(1<<$s)."'".($Pa?' checked':'')."$ie>".h($b->editVal($X,$o)).'</label>';}}elseif(ereg('blob|bytea|raw|file',$o["type"])&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$B'$ie>";elseif(($jg=ereg('text|lob',$o["type"]))||ereg("\n",$Y)){if($jg&&$w!="sqlite")$_a.=" cols='50' rows='12'";else{$K=min(12,substr_count($Y,"\n")+1);$_a.=" cols='30' rows='$K'".($K==1?" style='height: 1.2em;'":"");}echo"<textarea$_a>".h($Y).'</textarea>';}else{$Id=(!ereg('int',$o["type"])&&preg_match('~^(\\d+)(,(\\d+))?$~',$o["length"],$A)?((ereg("binary",$o["type"])?2:1)*$A[1]+($A[3]?1:0)+($A[2]&&!$o["unsigned"]?1:0)):($U[$o["type"]]?$U[$o["type"]]+($o["unsigned"]?0:1):0));if($w=='sql'&&$i->server_info>=5.6&&ereg('time',$o["type"]))$Id+=7;echo"<input".(ereg('int',$o["type"])?" type='number'":"")." value='".h($Y)."'".($Id?" maxlength='$Id'":"").(ereg('char|binary',$o["type"])&&$Id>20?" size='40'":"")."$_a>";}}}function
|
||
process_input($o){global$b;$t=bracket_escape($o["field"]);$r=$_POST["function"][$t];$Y=$_POST["fields"][$t];if($o["type"]=="enum"){if($Y==-1)return
|
||
false;if($Y=="")return"NULL";return+$Y;}if($o["auto_increment"]&&$Y=="")return
|
||
null;if($r=="orig")return($o["on_update"]=="CURRENT_TIMESTAMP"?idf_escape($o["field"]):false);if($r=="NULL")return"NULL";if($o["type"]=="set")return
|
||
array_sum((array)$Y);if(ereg('blob|bytea|raw|file',$o["type"])&&ini_bool("file_uploads")){$oc=get_file("fields-$t");if(!is_string($oc))return
|
||
false;return
|
||
q($oc);}return$b->processInput($o,$Y,$r);}function
|
||
search_tables(){global$b,$i;$_GET["where"][0]["op"]="LIKE %%";$_GET["where"][0]["val"]=$_POST["query"];$xc=false;foreach(table_status('',true)as$P=>$Q){$B=$b->tableName($Q);if(isset($Q["Engine"])&&$B!=""&&(!$_POST["tables"]||in_array($P,$_POST["tables"]))){$H=$i->query("SELECT".limit("1 FROM ".table($P)," WHERE ".implode(" AND ",$b->selectSearchProcess(fields($P),array())),1));if(!$H||$H->fetch_row()){if(!$xc){echo"<ul>\n";$xc=true;}echo"<li>".($H?"<a href='".h(ME."select=".urlencode($P)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$B</a>\n":"$B: <span class='error'>".error()."</span>\n");}}}echo($xc?"</ul>":"<p class='message'>".lang(7))."\n";}function
|
||
dump_headers($Pc,$Rd=false){global$b;$I=$b->dumpHeaders($Pc,$Rd);$ye=$_POST["output"];if($ye!="text")header("Content-Disposition: attachment; filename=".$b->dumpFilename($Pc).".$I".($ye!="file"&&!ereg('[^0-9a-z]',$ye)?".$ye":""));session_write_close();ob_flush();flush();return$I;}function
|
||
dump_csv($J){foreach($J
|
||
as$x=>$X){if(preg_match("~[\"\n,;\t]~",$X)||$X==="")$J[$x]='"'.str_replace('"','""',$X).'"';}echo
|
||
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$J)."\r\n";}function
|
||
apply_sql_function($r,$f){return($r?($r=="unixepoch"?"DATETIME($f, '$r')":($r=="count distinct"?"COUNT(DISTINCT ":strtoupper("$r("))."$f)"):$f);}function
|
||
password_file($k){$Ab=ini_get("upload_tmp_dir");if(!$Ab){if(function_exists('sys_get_temp_dir'))$Ab=sys_get_temp_dir();else{$pc=@tempnam("","");if(!$pc)return
|
||
false;$Ab=dirname($pc);unlink($pc);}}$pc="$Ab/adminer.key";$I=@file_get_contents($pc);if($I||!$k)return$I;$zc=@fopen($pc,"w");if($zc){$I=md5(uniqid(mt_rand(),true));fwrite($zc,$I);fclose($zc);}return$I;}function
|
||
is_mail($Ob){$za='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$Cb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$He="$za+(\\.$za+)*@($Cb?\\.)+$Cb";return
|
||
preg_match("(^$He(,\\s*$He)*\$)i",$Ob);}function
|
||
is_url($O){$Cb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return(preg_match("~^(https?)://($Cb?\\.)+$Cb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$O,$A)?strtolower($A[1]):"");}function
|
||
is_shortable($o){return
|
||
ereg('char|text|lob|geometry|point|linestring|polygon',$o["type"]);}function
|
||
slow_query($G){global$b,$S;$m=$b->database();if(support("kill")&&is_object($j=connect())&&($m==""||$j->select_db($m))){$kd=$j->result("SELECT CONNECTION_ID()");echo'<script type="text/javascript">
|
||
var timeout = setTimeout(function () {
|
||
ajax(\'',js_escape(ME),'script=kill\', function () {
|
||
}, \'token=',$S,'&kill=',$kd,'\');
|
||
}, ',1000*$b->queryTimeout(),');
|
||
</script>
|
||
';}else$j=null;ob_flush();flush();$I=@get_key_vals($G,$j);if($j){echo"<script type='text/javascript'>clearTimeout(timeout);</script>\n";ob_flush();flush();}return
|
||
array_keys($I);}function
|
||
lzw_decompress($Ga){$_b=256;$Ha=8;$Ua=array();$nf=0;$of=0;for($s=0;$s<strlen($Ga);$s++){$nf=($nf<<8)+ord($Ga[$s]);$of+=8;if($of>=$Ha){$of-=$Ha;$Ua[]=$nf>>$of;$nf&=(1<<$of)-1;$_b++;if($_b>>$Ha)$Ha++;}}$zb=range("\0","\xFF");$I="";foreach($Ua
|
||
as$s=>$Ta){$Nb=$zb[$Ta];if(!isset($Nb))$Nb=$bh.$bh[0];$I.=$Nb;if($s)$zb[]=$bh.$Nb[0];$bh=$Nb;}return$I;}global$b,$i,$Eb,$Lb,$Vb,$n,$Cc,$Hc,$ba,$Yc,$w,$ca,$od,$he,$Ie,$Qf,$S,$xg,$U,$Kg,$ia;if(!$_SERVER["REQUEST_URI"])$_SERVER["REQUEST_URI"]=$_SERVER["ORIG_PATH_INFO"];if(!strpos($_SERVER["REQUEST_URI"],'?')&&$_SERVER["QUERY_STRING"]!="")$_SERVER["REQUEST_URI"].="?$_SERVER[QUERY_STRING]";$ba=$_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off");@ini_set("session.use_trans_sid",false);if(!defined("SID")){session_name("adminer_sid");$Ae=array(0,preg_replace('~\\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$Ae[]=true;call_user_func_array('session_set_cookie_params',$Ae);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$qc);if(function_exists("set_magic_quotes_runtime"))set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set("zend.ze1_compatibility_mode",false);@ini_set("precision",20);$od=array('en'=>'English','ar'=>'العربية','bn'=>'বাংলা','ca'=>'Català ','cs'=>'ÄŒeÅ¡tina','de'=>'Deutsch','es'=>'Español','et'=>'Eesti','fa'=>'Ù<>ارسی','fr'=>'Français','hu'=>'Magyar','id'=>'Bahasa Indonesia','it'=>'Italiano','ja'=>'日本語','ko'=>'한êµì–´','lt'=>'Lietuvių','nl'=>'Nederlands','pl'=>'Polski','pt'=>'Português','ro'=>'Limba Română','ru'=>'РуÑ<C692>Ñ<EFBFBD>кий Ñ<>зык','sk'=>'SlovenÄ<6E>ina','sl'=>'Slovenski','sr'=>'СрпÑ<C2BF>ки','ta'=>'த‌மிழà¯<C3A0>','tr'=>'Türkçe','uk'=>'УкраїнÑ<C2BD>ька','zh'=>'ç®€ä½“ä¸æ–‡','zh-tw'=>'ç¹<C3A7>體䏿–‡',);function
|
||
get_lang(){global$ca;return$ca;}function
|
||
lang($t,$Zd=null){if(is_string($t)){$Ke=array_search($t,get_translations("en"));if($Ke!==false)$t=$Ke;}global$ca,$xg;$wg=($xg[$t]?$xg[$t]:$t);if(is_array($wg)){$Ke=($Zd==1?0:($ca=='cs'||$ca=='sk'?($Zd&&$Zd<5?1:2):($ca=='fr'?(!$Zd?0:1):($ca=='pl'?($Zd%10>1&&$Zd%10<5&&$Zd/10%10!=1?1:2):($ca=='sl'?($Zd%100==1?0:($Zd%100==2?1:($Zd%100==3||$Zd%100==4?2:3))):($ca=='lt'?($Zd%10==1&&$Zd%100!=11?0:($Zd%10>1&&$Zd/10%10!=1?1:2)):($ca=='ru'||$ca=='sr'||$ca=='uk'?($Zd%10==1&&$Zd%100!=11?0:($Zd%10>1&&$Zd%10<5&&$Zd/10%10!=1?1:2)):1)))))));$wg=$wg[$Ke];}$xa=func_get_args();array_shift($xa);$wc=str_replace("%d","%s",$wg);if($wc!=$wg)$xa[0]=number_format($Zd,0,".",lang(8));return
|
||
vsprintf($wc,$xa);}function
|
||
switch_lang(){global$ca,$od;echo"<form action='' method='post'>\n<div id='lang'>",lang(9).": ".adminer_html_select("lang",$od,$ca,"this.form.submit();")," <input type='submit' value='".lang(10)."' class='hidden'>\n","<input type='hidden' name='token' value='$_SESSION[token]'>\n";echo"</div>\n</form>\n";}if(isset($_POST["lang"])&&$_SESSION["token"]==$_POST["token"]){cookie("adminer_lang",$_POST["lang"]);$_SESSION["lang"]=$_POST["lang"];$_SESSION["translations"]=array();redirect(remove_from_uri());}$ca="en";if(isset($od[$_COOKIE["adminer_lang"]])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$ca=$_COOKIE["adminer_lang"];}elseif(isset($od[$_SESSION["lang"]]))$ca=$_SESSION["lang"];else{$pa=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$Bd,PREG_SET_ORDER);foreach($Bd
|
||
as$A)$pa[$A[1]]=(isset($A[3])?$A[3]:1);arsort($pa);foreach($pa
|
||
as$x=>$F){if(isset($od[$x])){$ca=$x;break;}$x=preg_replace('~-.*~','',$x);if(!isset($pa[$x])&&isset($od[$x])){$ca=$x;break;}}}$xg=&$_SESSION["translations"];if($_SESSION["translations_version"]!=2121441971){$xg=array();$_SESSION["translations_version"]=2121441971;}function
|
||
get_translations($nd){switch($nd){case"en":$h="A9D“yÔ@s:ÀGà¡(¸ffƒ‚Š¦ã ˆÙ:ÄS<>°Þa2\"1¦..L'ƒI´êm‘#Çs,†KƒšOP#IÌ@%9<>¥i4Èo2Ï<32>Æó €Ë,9<>%SiÀèyÎF“9¦(l£GH¬\\ç(‰†qœêa3™bG;‘B.aºFï&ótß: Tó¡”Üs4ß'Ô\n<16>P:YîfS<66>‚®p¤Øeæ,¡ÌD0ádFé Ò[r)<29>+vÜñ\n¼a9V ÆS¡Þ´k̦ónÓcjžäAE3ÍF©Ãʲ™3”Sz\n(^{c‘“?¡ŠÞ.DÃ}tÝÐÊm˜jl{½È‹˜é¦NÇÐo;ÁõG_T&äA6ar§cI”î?Ó,²®M›â4°£h\"<EFBFBD>(Æ:°°XÉ!‰Ä<° HKCȦ2½# #£sÔİð\0Î3 #;C9\r€Æ4K`ò;°H†DC\"’1°ÐšÚà\r° ¨ÂºÚÀÀ:ùŽ©”‹ C˜Æ¶8bˆ˜mãÄÒ+,þ9Œ.T\0ü²<EFBFBD>زNÔÏJÌÄhC*Æj ÂëÍŽÒ<Îb‚¶þ\"ë‹<\$ª±ã>—ŽSº‚ÄS¨Ë;„ëã6\"àTÖ쮀Tã=SÑ?#<23>\$<EFBFBD>ðÂ6\r)†)ŠB3,7<>l0\\Cí#,Á\$ŠÒ`¸*òPîô‚úH˜æ3J)D?eE8à8G<38>\\¨„✊Jƒ%œ¤±ã8\r(Èí&¼¼ÊòEXU=SUÕ²åÌò\r5[\$•8̨àé:‰\nŸr\\Õ¸x‘<EFBFBD>Ì„C@è:Ð^Žø¨\\<EFBFBD>H«èä+C8^ÃcãÃ\nÃÅxEŽKˆé†è²Ø5„Aõu7£pèã|Ÿ§Íë7´¨ÓÅZ„EÒð¼y²P±1ùÂï¬Kè@¿×rª9jL*B( †šÃiéðP )‘UI4”%Ib\\˜\rÌÜÓªUišj’?£`ÈŸ)òjšÖëµÖžDÓ²òÆB Þ<C2A0>Jà@( ☩5;¸¤š¾ˆÅyMêlª¼1ðÜÒ K‹âJ·Q}Å 1;””(,¸¶#hê><3E>¤|hÏ\\K[Âpþ\$b0©¯-‰\n[¬)º0Ì97ˆ;’Ê%EUV\$4ÜÚº%\rúº'ÃDÊ<44>3Œ4ÕæZ|ÑQòžÚåIR”·ÓN.¾e’ŸUŠˆ+6̨Ï5-êg<C3AA>!ÊM<3Åvó¨g\r=®µöH¸ŠŽEmܼ@X\"åÞYIF<EFBFBD>7“'Tw¢3Áò5\0žÞ’ô\$*|ñ4²4ó¹’Åh2•ÀÜ©ÅIvdžÂp \n¡@\"¨@T@\"„À‹Ó¤%ðÜçS`YòiŠ®\$<™‚Ôaƒ:L åYà‚„Ò¨tPòðʃ\nQ)¯L:™˜8Yª\"!<21><>—ÖDJCyÊv²Apîwܸm<C2B8>%È+ÓÿR¤Q\r‘My#ä“Cž4…=Pä<50>I°eI¼åDzm\r!´8¥`*¸'\0Ð|2Ò¸¸ª` Òë6I%xÜ Ç‘P€pB<08>_”<>^3!å3hF{_a¢ç,\"‡'™&<26>\0qަý\r‚`†‰03ÁFm‡“ƒ<>ƒw á-tMØ`Hƒ0fTn\0ÎC)9¤âk@‚uÎÙÂ| ðaž3Ío4—cÃÅ'ÄfsÏ ÊJ&ìÚžô6t’Ö§Ù›gõ¾ ÚE‚Y<E2809A>'p<>Fc©#· -<2D> ¦Eº³ˆÈpjpÜÊMsÜ|)˜lŸXàŒó <09>tPpʪwÎŒÏ\$KRÀPH8%h¬2î©‚*)ÕS <53>@÷‰óá†èø‹µ§£W«Ù¯ˆŽ&·ÌPK¤5‰¢˜s)Y—•BDNă=éR×Jƒ(ªY»ZÜ®ÉêS\$ç\rïØÉñ]+6+ÑÔ§U«@¬<>^¯JTÂFêÊ\\¤<EFBFBD>8®u®±¾C1Am ´o‰UŸ§ÍjjùxOŠ5§z4H”)QJÅ‚å&QÐ6šCt/pšÊŒ·\"â-¶þ\$™™UX¤Û]-i”òl<\0©_\\R\r°Ü\$¨ÂIa·Éñø[Ãio|´í^ÛW\rÈU¾‡aëÚ«e]-x¾·ö÷[8ovX*tNƉë&à§ ð-t–™ó`ôäÂ/ýðÀ8W_rck½\\™Bea4ÝI¬þ›Ôâ<C394>O#Õ=1¦jXy+“,ROçü1žº¼C2*aÎ&|XNùZr‡*<7È8{>l}\rrLªœØÓáY<<3C>\r¥”FÑÒÉ;ÆÏ_ùM¯ÎˆƒÛçÞe¯è07ikfÔh묖¦mU”2¬»è\nºaWi7w8µÊiO89ås(YN\\SïÓï,¡ä”‘§û!`y2ù´™ñÃÙù’<C3B9>3¥W²“¯àÃü‚ænbÃ9\nPY˜y5MÕÚ§Paº\n€SHeÕ8+Q=vÿZÊL¼ß„øoBUŰ%%çÌy“Œõ]¥È¯›â\\™¥è.ÕÚ¾Úe]o&I\"%IÇ\\/çäæÖ¤YˆšâëÅ(78d>ÓÚ˜neÍ@e¢Y÷PiÌŒr7ÞXÊšö‚¡þ¶æ–Ä£r¼î»<>tá÷|ÌoÝZJ8§ÀÚ†ÛpÍÁ¾8<C2BE>¼&Z&<26>7Åù!\\–ºÇlqŽJex”†TÕr£—©9¬¯q&ŸTFЫP¸¶Ó ¼ÿ“m?vº@æ5à\$ƒu¶Ñro@ì”ÝÞ½ùê\0ÖIˆºÞ£=mùÝ\\ÇÆúþ6¶äx¾¡Zê¬Ë!` }ƒ· ‚©¬h/ìSw»×º÷øÞ- „ !š Ø\nìa¯9’8èF@\r!šs ŠD@´o]ÁT*`ZÚ]HAžˆc<CB86>@ñÑäô<C3A4>Ôë>áêËæ\"h—DC<44>4X\n&¨QˆÈ>gº%•hʰ7xÊ\"<EFBFBD>Ÿ”±ûÇ’ƒ¢\\@W¾~Çp<C387>àΣ‰Ö†<C396>¼#ˆ:@ˆ ?6ì³zÞ6|Ñ72µ=þëß rD\"üØùßâþÿ<C3BE>ðßÖ¿ùvzè¾CLH¢vþïʲ\rL†\$b“ès…ÜÑc<¢Ú¸+ê\0˜Œ˜ºbŸ<02>,F<>&§êÖÙÐ\"¾\"v‰(É\0MAÃpråþ\\®HÜDî<EFBFBD><EFBFBD> jlÖ2¬S š‘h¢°àÈêϧøO-äS ‚)¢º™£,牺 Z<BLÔèiJ3 <09>œ\r<EFBFBD>ØõÇÅ\n\"¤";break;case"ar":$h="ÙC¶P‚Â<>²†l*„\r”,&\nÙA¶í„ø(J.™„0T2]6QM…ŒO<02>!bù#eØ\\É¥¤\$¸\\\nl+[\nÈdÊk4—O¡è&ÂÕ²‰…ÀQ)Ì…7lIçò„‚E\$…Ê‘¶Ím_7—Td<54>…Ô⥢ÊQÔ%Fª®ÎâPEdJ£]<5D>MÅ–iEµtØTß'í…œ9sBGeHh\\½m(AÁ¸L6#%9‰QèJXd:&§»hCªaΡRÄPcÕ¹åzÀ†¸Ìnø<*©°®Ì¡g\n9††%‚‡h5ut.—³¼QS…œ\nÅÍĶp{š¯<C5A1>l-\nˆ†;„Dð¸Ê\nã ën¹…ÅßÕgÜhðÌwk0ÄGPs<û:á«eŠ:¢4ÊìT ŽâF“¡\rpÛ0©á<14>(H™\\¼:0‚¹ k´.DB<44>óÒœ@ʼn°[(PRï¡1\"Ç6hs†ý¤eC¼Ã30â Äð{zùÇQŠêùÄ‹„ªÂå 7èJ—*å„}H,2A+ºFå››p¸Ai#<23>\"6qòx•\$eÊq'EZ:@¤I‘¬»°d}LÜê4’Ôœ'Ezp[Ãô‘@%¨‹#£`؃Ä6¨ØÆ0<C386>ÉÃ&û°ëjNB„˜¢&Mèq[@,%ħÂ<>*Å*?±ŒU,Rãm*\$QP†·¹°[ÓN£´Ð*Ëo_×ìU<C3AC>_ìm_Å*½iF,â<ϵ4ÊO13åI2d‡B5Ì:ø%cwa2èÌÈ·|™AUÐ- íÚSäZäW–E<E28093>SG-øä:\r€P†)ŠB0@*\rãXÊ7 <20><><EFBFBD>SÓ£°±é«\"´JŒ¼LªLݸθLÀ†¶K; ÷dÑ\"Ôˆ-ë:<3A>m>¡'‹n@„ªâ¸èNpç<fÁ‹YØÎaŽ.w\$7]9д0°%å¥[8Nzt%¨-º”Š›‰£æ:£<>@8lC˜î7ŽRÀÊ<Hä2Œ˜¨x0„Fæ3¡Ð:ƒ€t…ã¿# Ú4<C39A>Û(]¶á~É Ü9<C39C>#xÜ„T€Â9ã(龋ô<E280B9>05„Að’6Ž Û‡Ž<E280A1>à^0‡Í(A׎ƒ@ß,ƒn0áÁ\0Ò:lû(ÛLvë:Û3újB‘¤Z¸¯X6»}æ¡C€Ð8?Èj&ÃÄl²*þеéÀëj¢ëzä“«e–…Ölbƒ(Š2<C5A0>¾§/.¦BÞ<42>\\)Äá’òbGŒaMdçàš¾j€O\naP…‘T‰ŸC*,Uÿ*¶“<C2B6>15\$bÔ‚¤Î÷`ax!¦ˆ‚b—RÊ~L\$M?ä&ø<>²Pk(]0çæÈB€H\nÜ,†ðê»®´7¸<37>@Þiê…Q‚\0ÌT Á¥¼`¨\"xnK¥Ö6Ljðâ°r\rá´<EFBFBD>¶Pìã<EFBFBD>φˆ%|¢Â±Í¾Ìµ'Aât,\rQæ+kÙûuf¾…S=XæÙè D~¬d4u[D<„¥ÜXd\"±<EFBFBD>ñÚ8žƒ:øË9“.°øP§–ù \nÔ'Eœì‚aMÂ) €ÒK3ðcAÃBbÉJw›!P¤AŒ5=Áä4Ö×;Q6ꩲ{1LMÈÉ'#RqŸ‚V3\0@ŸUú³R½WìD±G§Ô[’q¬.gPÛ‚vÉäÄÕ'0´®„U+NtŒžB ðœ¨P<08>*Yû? E <09>‚³›‹9‡|ê .˜Bz¿sÏLG¬Øœ‘IÄ<,Pù[\r‡äIÉö.¬ê’#êy¡¼<C2A1>9Æp—Ï£@cÉØVì¼A-±l]É| Ÿ' µ¤øBBÉ©m7Št£‘ÓaQßá¼9©ÀÄŸbr‹‘0¶šëÂmQ\"ãEØØ‡d±En«&Iƒ¬gj’MâŠ]—¨h'În£„ªtL<74>?\$õ:SRÄ+g¡<žÔ¹§äXö)õ@V6±/B¶Q‹kãy§¥›eÂùVÙ¸‡Â°àbF_çÁm@VDx Kn3µ2-F}Y\"Æ>æàù›¢\0Ÿ\\âf58U¹rWž†_.2á1’y/0¢Á‘)ܧÁaLK>`T£)qaB¸²3œS³Ôý¡s,z5%'°6<05>P¸ìÆó%šeTôϺgp„S@+Ap <09>·²^‹ßNïŒ+h@–ù<E28093>KìNJ„& К×[Ö—Nq¶\$¶=Ò¨J„.ÅVBTbøÔ qs‘_\n5¶<EFBFBD><11>g7“ŠØ¥ˆ° ABbVÔÅHrbç!ò¢æ¡Mk“—áTGÇâ,£\n©ë²æ?ÇíÑxþP_¡ÔI\"ÆõQzÏ]ÊGùRb™r'fòÎR\$<EFBFBD>*J–!B¢,G\r†7‚\0Ür\r1mJ:æ¤ôK<0C>…²)\0Ðsº‘Ra”¨\nÕR¶ô1/ã+ P²ºæšê§FaË„Ë<íOõ[\$`üžUR\\™Vc#ü•¨R!y˺ZØ\r…‹ªšÁÒú¹y!ŠŽÎrCÖÔ`<60>#<jQ(|t<>w]é•\\si<EFBFBD>®¢ÔB|ìur{ÉE0>—ï\$¤ÃZóN60£lW<13>WŠð Æ<><C386> Rp&qêÓ×¢@Ç*d[dÞ˜¯ÌÉ cä¬P<C2AC>§+:LÔ-á\$<EFBFBD>¤—ºÍb¯Y¿—‘jªÙ¬8Fñà:ËVð^½ø’ûÝsrN!oÃ-zÃÖ”c<E2809D>pÍ#µ<>ç%¡ÆxÞ¬MV¦ùföäežÑ¦tn¡BªRæì™›#t<>93,3¶y¿yëÂYŠ Ó„ •:ý}ù×GA]%÷+„9Ó&÷C¯ýFÁt<C381>©ÈK¤ëpÎÇ:0¸JÁ]?ÕÌÕ2ê*!i,.íK‹èXEš†67D«öþâÅПt#öݳ;·mãY©}—w<E28094>3‡<‘áQÚ\"bêÌÏï};dÊ\\w2ðÅß9}8×§ôSy×PQÀ×KÆŒ_]]w7hŸ(n›ƒù;\\7µg<EFBFBD>i̲‹ùìÓàqNE«ñF]÷ÈÆÔ\n¾M©¹Amù¿‚/§ìu?ÍøÙ›9¦dѱÄÚ[ÇrâVttHØÑrݦÊÙùuv«Óåš«‘\róú·ºþ¨Oûòÿ„æcœÿb½O ÷C>9Êu\0ªÒ¢©FÌ϶Âp²0äiD¬¯âIâ¶e-¾«ë*ÉÍØÔTh<54>úŽ*(FVeaRÿ\nÑÐD»o°H0O&ÕðcM¨þj90HøîõP^U£a0f!p‚&åℱƒåL°°¥ô+ïüú°œ°ðÿ\$; Dšì'\nÀ%@9C€ûPo Z!Ëh!<21>˜Ôê¶cso¹£má\nÊþ¥\"q\0AÆ©ÅÅ‚/Ðç+}¥ˆ<C2A5>äbL¨Â v¨Êè\nœ2<EFBFBD>\\¸L:£Î£±^¢\\EÂ&º¯Ø4¦ç£æçën)l&à†€ä\r€V`Ø\r Æ\r`@sHž‹@Â\r€êR§zvçv\r Ì'„‚nȰR Ú¦Æ\0ÄR§ \0¨ÀZ\0@aàÇ Üâ ~®¢¸„•\riÒ,hç1Æ)Q.„%Cö—¼žC„g\rE䌹îKŽ`§bhþ‚ÄFÅšN‡:¨p¬)-ØãüÚGÄ*Œ%ât´\"ФH0@˜‰ Èq€Ï!’æöR1O\"ꆢ\"Sðd¿e\\WÐ4-©°Ö2@©ïu\$¦¾ùI^6ñÕ\0òWn8Õï%`¨RE(ÎìÖͱŽañ^\0茀ÒFè餗&¥Zò/ˆ´j´ƒäÚñ2_)¢¬-z\"™ŠÂ@ÅL)*ïXÚêÈË<C388>ʾíÞ3èѰ¸Çú„I´6ÂtÙT¢t¥¶²\nþŽ2DÛJŽÂjn.ìÎ2ŽìV%¡/D¬:‰`8V4¡E^*åèkŒUÂ3«PP@<40> \0t š@¦\n`";break;case"bn":$h="àS)\nt]\0_ˆ XD)L¨„@Ð4l5€<>ÁBQpÌÌ 9‚ \n¸ú\0‡€,¡ÈhªSEÀ0èb™a%‡. ÑH¶\0¬‡.bÓÅ2n‡‡DÒe*’D¦<44>M¨ŠÉ,OJÃ<4A>°„v§˜©”Ñ…\$:IK“Êg5U4¡Lœ Nd!u>Ï&¶ËÔöå„Òa\\@'Jx¬ÉS¤Ñí4ÚzZز„SåØHÝMS àè]þOâ”ÕE2þÕ\\¶J1‚Ê|úЦ[ÉiõL¢™_?€Pµë\n~b¨‡#óªm\r/ƒ<>ÚÔt7½Bš'Ÿ¹C¶˜]¾<>sl¾ðæö2G©ÓÔ¶ÐæŠ<C3A6>Ìï^TȘs±¢ìñ<\neU>¢‚€c¶½Uõ>Ý£³ŽëÄÖS ïL^>Ê#–²Í4\nÙ¾jRñ©êêÜâ’hªòÀ\r©*§½ÏÚÙÂOù~ÿ1êÃdÁ#\nåÅt°t.§ÏbÞ÷¹‰³×ÆÉjبå;‹¨…\nžP’[q “Š{ SëJ¶¥*«% d+Ë/QQÒó÷!ÂNÛ\nÒ/»>í&\n|ÊP0Ç ±Íy&Ö£Lƒ¶©s^±¡éÄè°)ñ£pÒ¼*<2A>ÂÐËÅC,Ú‚Îp\$\$ØÌ\$eM ‘½'#PóË.Êα„¢R³Óšþ„£#¤ù“àMk[µðÝ]B?1sLÒ\n“k8(rÛ¾×Ø.{<EFBFBD>_ v\r†¯ËÁ>‡PЊv×”lk=NJ°òŽ¿;”íG4<34>Ôn¼=ÍzºE·ª#-¨M«,¼ám¿¨U¹7ò=‘cjL(…}ã{#ûd#£`؃Ä6©\0Æ0<EFBFBD>ÀP¦(‰<>k<EFBFBD>˜Ì4B@[×,¯~ª‚Ë3+bS[©”¢¶6‹ráhP«e/å±1—ÖÅYb´“u5N¦®ÝáhV.ˆ‡ E>cLT^žSJ\r|¤ëJ‹^£ hŒ•äŒ5Г!*4W̵²k”â)î\0ª;Ž\rÊÈÊ–=wõ‰ªÓ–{å ´›V¨<56>êîÞ³UØÚÞ»kg\rà °©®É )Sj¦¶NS8Ø:Jz·°jå8@!Šb<C5A0>ŒÐ3ÌÂ܈)«6öƒ%t|/£5óÄüî³…4È€põ¯žR<C5BE>CkÃ^·ûÎÕx,ÝgP}½Ñs9†ò/Ï‹âQèžL†=>’%t¾u·aÔ:ñ-źƒqAo2Žw0'v—Ë×ÓTÙ¨=\$ø¯<'x¾IkíÍ(ÀšC˜t¡È øoJØ2‡€àC<>e€¸ÀÂD!Àô€è€:à¼;ÃP\\C m\r!º ‚è4Áxe\rÑ<A ÜÃHoˆ`‰ŠäÃ(t…<74>}‹±ÀÖ<08>ðI\r¡ÁŒØ„à/ ø¸‡0Aƒ h\rêØ:øÎC[\r!Ò\nÁ0ÚÇ\"ùudj©»3\\¿ÊQÏ/voÁ\0P Aê¬c\n—–)e ô¢£E L\0(.@¦À’’Èqü“é¼=Lò”â„,*!»eŠÚÌ)3’fU·5<C2B7>)ŠºÅ+*¹`Ÿ£¨¢…3§EOe£ŠçºvÊC~~Ç¢ILQ2˜bÂHÂ<48>—¹ó/U¹™VFÖ\\<EFBFBD>•á^)S…GµÑy\"BxS\n„9ɯâªíY³^˜Þb0dÌ,Í€€À½tá6J,èI2¤Ä‚õkž6©íéÍ“4XŠ\$ݘéÔ,†ðêØnÖ.øp!8b\r!œ1ð˜0ic\0€;˜N‚¤ŒcŠØ4Ÿ5#<23>(A¼6’&¡ê€€¤ªx¹C^ÎOlᨳº£¹fx´ŸT(«Œï¤VüÐQåH/>¥5ÆoS[\r zÒÝÐÑ5s\\\"ª<EFBFBD>§Ê°3§Õ˜3<CB9C>Ÿmn|4wÌTY¯JèHš²Ää•ɪ’Z&å.#6W×€G\n¸à u_ÁÑ‘R2Y·xÿ%ß:‰H'Å•tÖ¬”ƒ%än3uŠTKÃ9Ls)®õ´)‰# ëÅá;D³”i¢q/òÁMKWÔãÏvÕYV¹ƒ†æÊ\\§uY±9–‡;Þ ¾UV¡£Íå¯jég™\n¨Ì2ƒ†Ú˲³)œ€:wà2PH\"~å8fºÚˆÅì»è<C2BB>ô«2Ù™2LH—Å ÉI}êd¥%¥=‚=f~îR†·\rA7¿D@°cñâBH~‡M³7Ry,òÁ<C3B2>/¸SÐI]Ÿ)Lê#u‚m×*í¼Žú0i“qž¼ƒ}Ôÿ›Ç”¾Å1/w4€Id»Š&5Á*ºý3QLÚH\0‰·. Œ+hÊðAX8ë[Õ¤—2ša©æåê³ÕSuÙaìâ8Á7Û-=°CÈU\nYY—l]w\nÄæ{Vf¶ƒî¬GsºhÐC±œ—)ÎFÂãÒØÃ…;<3B>¯l¸…·YêÞLós¾B™âÔÃ&§4<C2A7>»³Rü×¶å<C2B6>¦ÁJÊÖüõ@Gfƒ²ÚÂÃ3Ê䥤|»_Ù†®\rc;Hy?aÙ:¤ÅðNTM(@*áŒWyê«¥m±0–]Êñí’éÊãíëÉËï3[Õ·î\\v;-@•£Mt£åi×´[\0Åг3Â\nÙùwifÅ:ófX‡²;fêl™¦ö²;•’/ÏqÕ9˜©•ƒ>ÐkÞZ-¹ôg¤!nt0‰_òòc)3\"`“tÊ-h«°Ù=r¸ï5bÝ6ª·†Ö/{’²%t¶kôÙú¤\\ ~3¾knìU‹<>mRÜóóu؀σ<C38F>^eÎp;×üôÏK+®§Ê&µøQ:ny°^U{PâÝc&[›^/MHÖªn¨Sßœ³Ò¤¶u.¬ºž Û“l·'ÒðŸöCsÛéC\$dSàUºî%¹Ÿî–‰Qrè\0‡'\"ñ”7p=SiiÕÖHõª®&ºûhæ»@…¼Šž \n€âšEÎá*Œ¸UW¬LCÍ÷+ÁÓ^qGùõ6þoI¢xîA{ïÇ<EFBFBD>êP¢ÅõŠ‹ Õ-F°´ãÐM1£½ù¥¿z†&Ð%‡\0ª+EÃ@a¨\0€7FààƒM-cB3FÚ6 a‚LP4ŸºÅ˜ÄzÛSW3³<<3C>=ýÙÙšD\rÇU<EFBFBD>̬]Åî,ñOàfˆfggx2Æ’÷ø,PùŒ>¸\rÈã‹`4KÀÉbÜÓM|P‹‚ë«bô®œøïnßìù,šæN<ÝÏ0鯌ôð&”ÐJÜÂj§Î0XöÍâ«¥ÿJß°kP1Kj³nH¤Ì(…ÚBLVÿ-\$#\nëÎèUã^³Í8}f̱jØBL'¬ê«Æ¾¬ÀÊ&ˆ9¯~Zl¤(må<>Pÿ&(0\\ßÐaìrL.\$—#,ÈÏ&Dà@ ·Ã\nÀã¨%ˆ/Œf¾©Þô0;<02>><>ZæÐ^«±ãfu”%:<3A>°¥\ráF¢páPå‹JjÜT<C39C>|®O‹Eq*£Û\rnÿpnÜPGÑJlNÖQRЧ ¹<0F><03>^¸pA*³'Êé+Ÿ0hº±AÏÿq’leùM¦˜ßÉ¢%+\\ªP¼øŽ…1XõöÞg`ím´¿BÍ´Xr“<72>îhîæÓI›. Üí>©<>”{}‘lÞ1Ñ„<1D>úå‘äżßMÃQ¸ç+¶ø<C2B6>~UïEÐ,ôÑDù%—\"'ÿÑÞà1¯\rÑW 1Z»,ß\"G®.ö’0ùpjä’¯êeÑÒ Ã\nK+×Ëé‰(-©Ø±jKAT!Ì|8fªÅãtg'ðÀ''7'K÷#ë|øì_'®ªlL³\"fìþÂ\".þXÍN`&¹'ëÖÏì’UÎ’R!5êú#H|M8|‡‚»I.\\„Ä·0±)Ì:pðL•ð®µðÆ<>\"r˜Éxùj’YN`BEÿgrY2]“É1oIËG‚Éתãó;hP3E%jæGŽ4H.h8“3Q‰3’IÐæ-ÍLyDgÐUG!ÒJ=3p³jörTqÓI6³=5<>ó5Ä7<>/7ÍKSrãóaG΀£¶.\0005êê0ÃJ¿\rðìÏ„-ÄFZÀÈ*°C±Ž7pø06°ó3»…USe3kk2‘n«³ï+¦+íÛ:2D{ÓK#Q÷@E;8ò= <13>6ÒLY‹Ç:õ2SWcÄ*\$\$½é=\n/+”/:FœðdB³±5F®†ÎÛT:#Ü>4\"t2ÂR˜‘ÅTkâÜ>«Ê™ìÎ^sbôp*¸‘Có‚x+̪N”wRB3’ñ±£4Ô‘GÔ–A-\r¯<EFBFBD>BuJ4I(J³*TDtD´z³E9LSIÓ´Žƒ(p%?t‡ª±K’_MÒ…MrÙ2q´~´<>/Tß\"10lGTÍOÕNy;2X¬çßý>ãHQ?±#2°æÝ+^ ®ÏD0ØVtŸïSB1S<31>£FqUA•JL—RõS´òÔÉK4WU¬òµ%QtU:r¤Òs‡9Ó‹9<E280B9>_,Ò)¬_Rª¯UtG³Ö5=24I%³ÿ8RÎGõsUC#4î^œUÄœ`ÎÕ Dìlëó7GVè¼\"6Û2¯CC,®áq ò¤ZRÓB”Tw´#3ÎI •ÜjÝ^1ݵêÔ/79õõTS,Â.}1‚¢–¾,#Šm±\$WUïa^\r‡%xéBóÐ-ºßê,”(àgH\r€V`Ø\r Æ\r`@‰J@¥€Â\r€êc/¼\r¨Ö\r Ì @ŽbêÊTc Ú¨\"\0ÄŽJ4\n ¨ÀZ\0@ˆ@ÇgàÜâëcµÛq<>`b¿^‚ë’&3‹[50xûcÎöÛ–Á\"–Ämé§lÕóO–S2ÐwêÅGôY2:<RŽŸ¯äÊ5Ÿ\$&Yp¦ç=!LnÌ_e:[5zÃþCNÎÅFJõ@„\$.’›-84ƒtÖ*æ«£&¡õð }pêÇ;gâ@˜£Àȇ`Ïu×`Œè4c/Âb®\0g²¦nq>YoÃp‚óN„(Ã^íIKmoxpxÁ’ÚÇìe0<65>£KL!ðcx‘þUz”<7A>BCÓo)_\rU'\"Ô‰Rõ¦)À¨ý\0ʌϢúvšˆVj\0è¦ ÒHDýWÀqK++Ž4X³^mI\"ôÅãô,%Àó\"ÜÐ<>Ô-V¨ÍbÀ¶ùD=9‚”½SÑ&K*>8 nx\$6ÄÐMC©6,\"z#ß<p….X`æhÈtqÆu0,´ý¦€}oŠàŸxÂñy \rLó^ò~Õ‹R©Ð)-'ÐȤ>4kˆŒ<CB86>ˆÕ‰j8e\rbé<EFBFBD>M ê^s¾}£Ë8M!MðQÌ™«{ \0<EFBFBD>@š t\n`¦";break;case"ca":$h="E9<EFBFBD>j˜€æe3<65>NCðP”\\33A<EFBFBD>D“iÀÞs9šLFÃ(€Âd5MÇC È@e6Æ“¡àÊr‰†´Òdš`gƒI¶hp—›L§9¡’Q*–K¤Ì5LŒ œÈS,¦W-—ˆ\rÆù<òe4ž&&#¬°o9Læ“q„Ø\n'W\r‘¢hc0œC©°Ã1D̆“|øU:M’ÃÑ„Sº`§ñÔX :âqgLnbÚ §Ç ¦SÁÐÊnŒ›õ<03>RI¬š¦šCM~Ã1*N-tØ'Éd¦›†Är¡‚ˆ† ‚èh´cˆqý?\$…lá‚‹SÆ8Že™N–œq3_9ãöºl1N^v›Ú8¦Ý\0ç´‚ˆz¯†7,p„ÿ#ªzp£=\"HÜ4ŒcJh¿ Ê2a–l|\$4Â<EFBFBD>€9'ÃsN:BÈàǵJ+¨ô‰¨»ú7êÆ:Œc¢ÇE,V¼E‰£à€Æƒ|mA颸¿8£ªNŽ(I\"¥Ã2ǬH†Œ<E280A0>\0Ä<´ÀHK*Êí3Ò÷DQ\"ÚÉÄôˆ#;<3B>3Œ0l(ý%ëÀš.؃ŽÃzR6\rƒxÆ ã’<C3A3>1ÁOAÄa†V¦ÔKTµÆRªŒ”´Í( ÄpÄ+2Ï‹ØÂ<C398>££šð7P<13>\nbˆ˜³¸ã(G±üqP#zÐDàTj4ÆðxN¡Î£+!¹ ¢D“Žv€YJ+|šV¨=o¹\"‚Òø#‹\\Šœ˜‹R˜ˆ¡ŒmT=ºV+<š+c´„0¯¬u£ÀµÍ€:ØLtÖõ¹HØñ<C398>B Þ5´á\0†)ŠB3œ7È2Á93íž\$Ê8Ì´\r·ŠÒ˜ÜuÌÚC7(ää] ‹¦”Ø6C„®<E2809E>ÚtT ûx§ èÃÔ&)œ#<23>C+²º8\r#“˜ËŽ‹F+…Á˜À[]yS‘AÁ«r\n¶a¥Ö×OóL“ðæ;«I¢jxˆxš\r@Ì„C@è:Ð^ŽûÈ\\<EFBFBD>¦Ðò`´á{OÁ4;R7á<9ïà/£cÜ5„Aò(ÊXPøxŒ!óXš¼N„«¤¦£ç<0E>ÒƒÉCùRò®´ÍE4â®®zï×´*aÃgh( \$\n0ßp9‘8@*!K@Ú¢Ð]@˜Ša>…±OIdŽ8Õ:tP'<27>¢ž¼\"hAnD’æª9ïujwÂx¦* Ð ÝÒ£ ¤ÕÉ|B<>Ê2_XúÞ1\\-<2D>•Ì’4‚òÙA‰]ÊÝr†âVBZ2nf°˜…<CB9C>Þ‘•˜2<CB9C>¼<EFBFBD>‘ä¬Z•Bª)ph‚£ÁrITž®Rõƒ0r0¨D9b^LPÒ@Ϭ0ân_Ì{ÒrD:‡Ò£_ù^e9z ‡ J*™D©Y[C´~—Q\"]<5D>¾¯5¦®O1ëYÈj(b0EÀPV8j|Ñ\$´xˆ±/BpL¨ƒ§>ChbEŠý»\$2SÝûÁ*'é‘®‡R¹Clv<6C>oê®C¤a[ k-°I€¯Úâ,G,â7,Ù:¾ ók,<˜—j]]¹z_dä2£*AXÛFCǦDI±%xNT(@‚*€—A\"„À‹0š·B”6PژˋÞ(í„92„xÕq¹7g¤óTØN\0pLäL7@GÎGŒÉ… f%?ƤúŒ™Y(Áš(šiùÎÈAžŽ5ÿrƼCêêÁâp¿è\"FZ„°˜ù2OdÜiŒRUxÈI›3Ìpḣ„P<E2809E>•â@HäEÑÃHzB1ü9H¹EÐEdc§Ñ“k¬3*JŽŠcS(<28>–„Ñ>éšÇM´ð2 Š“àab<>Õ!ÇX’–úÝ1ÁMnÃôÈÇ`\n\nFd¶<1C>‹\r‰é9q]bUŒüÎ Ù¬œ´wç2ÍQ÷_æ9-‚ W6ÒU®ëöB‚úsM\$QIäâš–ˆù—®µìކÚ@¯C .'î¿W2»`‰%„dÖóتôB㺱Լ:5æ^¤D+'åfÀ¤âHL¥…²¶&Ø2ïa§ˆ\$vJºÀÚä—¬½®xÖnܾrbI\"9««”¢d Ã%Éœªi[ÜØäˈ½(ˆÄ4®âqqÑ“FÅî+RL±É|2TVE²tSi'“Á%¿9ü{Ï<EFBFBD>ëÆÀ“zJH<5¿ €;†PÄ’í€5åbõ„ƒÖ0Å‘ä¡ÑˆPÔ¢K-:ì7¢¢Ð<C2A2>¼F‰µ\$:Ø‚ôÑŠv1‡2=Å<0B>‰É¡lÀ\$‘ÔâH\nLäÀ4F\$bí\ržÄd»¦*™WIIÁ¦/eÏ#FÀÊÈ\nŽd8Å<08>šfþðÂJÊg9…ã¹û€E rc\n*‡É¦!ˆïY\$8<EFBFBD>š <>HÕw¯¡©ªÅΊ{;EŠÍM3tÉ49Õ\"Xæ“~<7E>ÔÔ<C394>Ž÷*× .‹ÑÓFeý\"ÓS|î§ØÁùÚ:B^I(¤‚¶“Qãpn™¸'¤´v‹Lã>\nènRÔ2“çŒ\"&eÍ”.DÒ‡<C392>Ú£„Ú„”•¹¤Žb¦½W;\\@LX\"®¾k™ÃOY\r‘¢¶¿ÏÕŸ^/M–rs†j'¹±_¬™A›óÆÎÆ»•fìsœµ-ÜËå©Ulàùaþ{Up¶Ùêíh%e<>Þ2ÉorÓ’vFû1;ô¨Yõµ6.ÕÎ{O<n,F]é¼±r[¡¡q-ã2øÍ9ã…ß=lŠl¼)IJˆ1ÝLÍ\\î‹Aj`¥Ñ![*›8žEŸgübfÙ—®\\ÏóU*ª.\$¬.Ž‘ü¨h¶ùmļӵTÎ:I^16À!òUE‚¥‚´ý9#à¥êþ‹V¢U<ñǶz:Œ[»\\æ¼öŽÉ'tÝ[#¼D\nË·!-Ü4?«úÁduÇpÝa—Ã÷®J‹|m.ÓêûÆP>þg‰?‡žæž¥Óð{,ಘw1—ç-Hå¯×[]×mùÈó<C388>¤á>¿ÇVmõí<’½Ù™3;5weËŸmÓOytÓ—Xñ?|:6<>áÈÐå·q_ ëH8q #T]?aÞЇÙûuª÷O²?¼ûŸx˜ûúEøC/Úý_‘|^×ú[Uõ_b½Pâ<50>‚䢎è\$ý®zð=/”~pÿmtÝj†»ªz¶\r¨àp »‹¼-jÙàO02¶ÜVp;&þÇçÐJ\n…„Ò«ìÆúÐ<1E>jÒcïÐd>ã‡m×`Ò& <20>?ÀÐj´õàédDôO&טFgR®¯˜b˜5 ÍN¼,Y\n„ŒëLÖ*èlÐâÜRð±¯d®¬\\u°ªˆM;ÐÐĪÂ& ŒwEŽcÆ\r€V¦ÄƒÅŽ]ÉÞ©¯bò`ä¤ûLˆ&£\$u Ä#¢Ø—`¨ÀZ\nÜ\\£ÖNè…ª¥ î´.\rƒœ[…Ã16à&¸râ.#%@B\$Âgn–Í©,1̰Jgô/ÉÆ1ÅlZ©ü©n’0h%à\$ÀÂX\"„¢ÝM/Å\$£<EFBFBD>hÂdƒ‘*ñžƒ«Tì’1Æ’´«â_ªþ9„¿É:ƧtHmµ\nË´2Š”íŸ©-ñ<\\¦‰¬š/±à.Çæõ‘É£D7œ ¬~#±`§†1\"lG÷Ñìjï=àDp}‹ÆêÌ£ííd%<25>h™H\0Šà˜Qò4RC|ÕMHÕ‚\0l\"èO€Ò!E\\¿hÚ\"Ú3cœ2ÅhÒ%ï&«@Êš„ TBòóªVqÔó°øb¥þ¼M°ÚRƒ(qØ?L!d,þOò\r#’ ¢? ‚óœêŠú€ \0<EFBFBD>@š t\n`¦";break;case"cs":$h="O8Œ'c!Ô~\n‹†faÌN2œ\ræC2i6á¦Q¸Âh90Ô'Hi¼êb7œ…À¢i„ði6È<36>†æ´A;͆Y¢„@v2›\r&³yÎHs“JGQª8%9<>¥e:L¦:e2ËèÇZt®\"=&Š<>QÁНœØ¦ ¦*öEjTˆ†ÔØk<ÊÄ\0¢Q„ôy5‚ŠÇ“è\n(¨³SlÞLÅ_MGHå:ÅL=(†ã¾€kT*uS<75>‚²i×AE\\<EFBFBD>¤ìaÊf¶Äèy8ALDdÔæl0‚ˆ›®4 b#L0æ*`Êtb&ÏF3((„ižœ¦ŠÐQNjÅR‚ˆæSy·žr4õJfSÔxÛº)žhÛSotÊr µzÝ~Ä\$øÞá6¢ÀꊰÒ4\r‰æ4¨î¨¨ü0jâ³\"ðbDb”)âÖÁŽ›`\"‹˜-\rì*ý!£¢–5Žƒª–Ä\rãÐÚè<EFBFBD>Ñb%£\$iGb溮ãªÏ\$Lr2È\rn\$*3V€ p‚2ÂÉ<C382>!,±-2cÌ»/Ëc¢ÎÁ7#£pÖêBÎ9£8Ã80qäJ\rc Ê¢(C³ì‹#\$¬9À1ˆà7: P˜˜JÂ#j»¸ì ñ3óŒßK8Æ4\"a©.K¢ì¼;¢ˆ˜›¢É¬š=C{(;U¥k»\rík(F±¹7¤‘,P<>CL_Xm>ú8,èœÁJ=–T<E28093>®§iÚ±\$\n1@àR\0<EFBFBD>”#µ_bHÚ‰L8Š<]8ž2CEÃÙÖ‚.’\rÌòMRȃ\\<EFBFBD>a[–#ª9Ûí4¶\0PÙ!è‹€:&…êä7<C3A4>ià@!Šb<C5A0>ŒxË'l @3%#jí\r“!ÚÏ©]ßxÃ<78>òl€Å.Œ<18>ÌuZPŒ—ò§\0ÁãxÜ›±VBÆdÚk,˜eêHœ'PñSŸŽz‡ƒ 9‹€U<>Ë<EFBFBD>dTFˆÅ•¬nV;e¸há‡èðį”,ô菱eÒ(Õ\nbŠ’Aˆ·PDà'íÅ;¸àxã¤(Ì„C@è:Ð^ŽüÈ]B<>®Ãî%#8^1Žaz²Ê\rÚ°^T£<54>ÎçòøÄàMÁ}smc+Ì7F,˜Êã}¤9蚘¨k‹ ò›áèÂ4ù”)ÚV¶ú;=CŽù3™a®ÜI½Ž´[j2¯ÆÌ¢C%ѹb4ø@( €Aëû%j-™B ¥bòê1G%‹-R^L^‹Þj툘èÓÉÑ5c<35>iƒ¶8ÍSe4!Ì• ‘2MJ'åÚà ˜T[EÎ »¶bÈ–W%ª\n’28¨²)†l3<06>ÎŒƒ É{Ê:#\\òÍ‚„<E2809A>45TII9V\r¥œÈò8G‰\"‚´7†6–‚£ò8äÁv·&øFƒÑQàû¶’ Êúá'°aÆ’VpÒK/ýå‘2Œ@—n/)¡,¶X2õW+ÜŽ¯¢˜À\$Aö=¡„ƳC¨Ó:OhÆÔî—5<15>¼iƒ`ê\rÀæûß‹óF¯Õû½â bS0C5‰)%xOKä;%exb—\"Äˆí€ ¨©‹¹º]ñü0¬ºÁXlp\\¸°@г™ng<6E><1D>³ÙÃHziaŠØYIIž'³PÌX<YRÈQ³¼†YÅ;KXN@ìå>á>˜9„<>d\\‘‚¡¸8JM&˜\"t<18>ÐA¡Ð<C2A1>“8<E2809C>Úôiª}´¸p¾M¸\n g”žFQ,º%[A±úÒ„›I2ø#ä¥#Aê^¾h›ß¥Še<C5A0>HThž¦4È¡¡LŒ¾ÊÀUOÁàÝ+Ä€¯ÑaØ©fè-C€PC„<08>dKäJƒáœs”äÌcÐÝxr©µ}¢è}Zk1¯A¬H‰ªðº×i‚i¥l8\0 ŒÉbш1GP‚Ö @qÃ2mSf¬2&ö±£ÂÍ+>E¢Àê\r<EFBFBD>A:¡4CŽÎC\"²/É/>H>Ïúc´Å¼¼Z©ºäʵUíŒ13h@¤]¬rˆ@\nŸ M\nXžòL6‚à•q~¶–ØŸ³«NÏmÜ{\r<EFBFBD>.ߣˆ‘p‹î/7Ù\\¦imDÚ¹¤J×Ý{'’¿#V–ážâÏ6_2»¥üÍ8S71 ’Wk·%ô«ÁxÅå¸Ö•_Ç—wí³ËÀ7=ŸZ¬\n+Uyg¹w„ŒÞ;rÏñ#ë<>ŒÂv˜Wà›aâ•„ƒsø<73>dð7’°´räò:AJŠÎÞNŠHÅ‚ÖQ)ó U#Q÷?)ªaùJG<4A>\0w¤¢aB7˜SÔ£\"ÌLJOù¨¢‡ ê˜3“–’°UJ’ô’+D:<3A>X¾I·Hã‡9í1'Jç5{zqå²1B³…\$NÜãš3¢M*°Ÿæ’yŸÂ¶iJÄB2 ßW8ihõFbåDÈÒCTí¤*裧s¢,8äH5<48>#“¥™Î”.u„Õéë¡u†¥‚„µ…9ìÂf:ýÎÏüãÇä]3QÆ×*Ÿ]¸Kª¯öBض~ɯmJäRÑ_šl‡Ï½§2@SuÑM<C391>F…\$j‰B‚<01><>àÉcEmÓÚ´=Ð0H\"t€ÝT¢²òííÔ½2•Ð<E280A2>à*‘YÈ•8TwócEJ”;®4¨+\"ÀewÝ¡’fHÿÃã×C”5;¼úG£¼‡`ZƒÙI[ÅùדÅl¡³l¬†<C2AC>+c-y®µ6)×ÒbÙŸÍÖÍçp¼™í¯’¦Án•èå·«2tÂR}„ˆ=täŸãÿåŠý\\Uvd¥Æê(÷©ñ.ªNz¹ë7Oȯ×Ö%ÚìV².©Õ³‡ké]rõuëÛ%/}Y¬DÚrS“t¸ŸG®pN/ YoˆØá»Æx35ä<G%ÙÞQÕ`Þ’†¯‹Û§ÐÏÐàuFTidÅ[\"Þ9Q*HbFÜ85Â<–=˜bõÎ<C3B5>Þ X}Li<>98ã±Çø\0n©z¾º—çØ’a‹IÒejŠß+㼿†µfgݯCBÕ]Wu°£ðJ<C3B0>OÉÚ_ë^O9'¯Îö¿ý¿§Ìó [Ëú\":\rõ\0*Ø×¢omþ,%oú±ÂŒê<C592>öÏð\nÿðâO4‘mžXä‚\$€êÿÂ2JM¢‘<EFBFBD>+\0ÃÅã’‹Dþ¤F„üà–\"¡|±¡zSäh{ã6€‡¼êª8?«‹®êÙo×ðn¤îÎÍ(:î‹Ðäì\\üFF±MXü0&lpvHÐ2E‹MÍY æŸdHÊ\0ÃöBä¡CÖ\rb€3‚8âPåÃíxõþΊÏð¿0Ôåo&Ïê<C38F>Å\r8‘0ØÊÄÿŒßÏÞâ<C39E>pñiŒ7êè‚xÎK~HJ\n<EFBFBD>º¯¤&ãï/þJÍCJ·®Û‘\"'P†è°‹ jÝÃõÑJ®x9kƒö2#ú(1)q,5‘`³(OÙã]ónš\r*n#^,pu¤hí¬ÅèJê£È\0°Z¦,ÀŽèƒ€—F…ÎÞ’Ä»q #Q¸Q‘¨_.½ 0âV b2—†´¥Fb£ê\n±¦JÑ Ý ìP+€½ŽÀ¸±²<C2B1>‘õ‹¬ïÑÿGþçQö5ɽk°î/вEÀØiÈ(eÆdL<64>\"O (†¸Fî|e>:†E`è4lŒúBl[<5B>ˆg#hkB<6B>‡¼\n ¨ÀZúëHÈ%/ª˜’\r\"N\0\\òxãîÞïãÞ¸ÑÇ(hË&Rîˆð\" }\"*\"ì*lF°MO¾HÇ LÈ0@ô.k:¤B8Øâä6ª(p-æVL1ã\"wÎ&¶rºJ²N“¬8¡¢\$7äz˜¬B‹%ÂI%ÃRüÖGꎀTh˜÷rôOÃØi’ºLpÂÀ,K¬ßª„ßã`æMª&<26>s/ eBˆj˜ ‰3Ó/40ÊWóP_³0í<30>‚`Ï`õ(Ó-5Í^GoÒ7Dòý\$F†&rÓBî\$PTa4ÛbFQ©@(B‰\0ä÷9b‡\0Î\nÂthïX(Ä9«XLà‚#˧6°d dZ¢…<FC6EÌç<lÆJÄ@\\™Êm3jpX\"4\rC°|i `J]>ÊbDóG4¨ÍðàAÒ0E´<45>£“ŒR";break;case"de":$h="S4›Œ‚”@s4˜ÍS<>€~\n‹†fh8(<28>o…&C)¸@v7Lj†¡”Ò 3MÃ9”ç0ËMÂàQ4Âx4›L&Á24u1ID9)¤ÎraŽg81¤æt Nd)¥M=œSÍ0Ê<30>ºh:M\r†X`(žr£@g`¢\\˜Ý*LFSeŽf\nŠg‘†e£§S¡èên3àM'Jº: ŽCjسÉÃR\\ÍØCÔv«\$«™k'JÙÊ¡/4Hf˜,Þ-Ž :ZS+Œ2½Åêmò\"Ԙ鹓_ÍÆ³.3pB€°Ô‡ Q;šz;Ã\r`¢9”ÞmæÚ0Êt”Ü\n«ŒF\\óO2›oPõ—Yœ²”4³¹¿Lô4SØí‰ƒx΀<C38E>OÓøÿ4ì²¾†<ïH@0Ž£˜îé7<C3A9>8¦:C¨Ö:¨kØÎ¨ÍÀ¬Žá¤<>B\0Râ¹®¨4Vȼî°ê†(pæ’@Pƒ\nŒÆx4MÁ†BEƒ“Î bò’<C3B2>2`A'\$£œ\0ó\"d<EFBFBD>¤ PŒÃÃãJBÜ*8Ê3¤“ß\r®P+cŒ³C\$Ö.O„J<E2809E>03<Š70ÌD\\уdV–ÇÓ»/®¡\0è¹,h8Æö/Bˆ˜Š1¸ä<ÏL™Jé5C=±œZ)¯éÔTRI1¨ËŽh%R0Ôo[–Ô>5 ¤2¡I(\$<EFBFBD>£„Ò·(ña?âÄð\rˆå]„zè±Ö°õY<C3B5>RÓp6C€P†)ŠB5¢7¹ˆó3ÈVâŒJlZ„2+a\0Œÿ\r£ª5:À)ì•WªÊ„Ü©¥•f—=ô3\rédН¦ˆs±ãl„¥±ãÂ;6ˆ:݆±tÎ9Œ<39>¤p¹%©úR7ŒÍ܃Bä&7`Œð*±KH–„`º#<23>h’7a’tÒLkºlø!£ƒ÷?ÈD8\r2(ÉvƒA\"£0z, àáxï±…ÈØÚ€¡<E282AC>sü3…èîÚ<<ÈBB„TpÂ9%£¦¶/ŒHÓ–Ö\0à±¼pèã|¨Ö/\0èÔ c Þ'N`@Å„¶„ö#«\nØÇ(äì±hf <20> *zv66œþÐÈG:J9)ò,\n@ ô]'gÓ„B¤òê|¸9\reœªÞ)Òp<C392>'‰ô( ÙÐôݧŽ<18>žG,T^.}¢´9É<39>Úçq—ÐФ¡k¸ 'Šb£ ’jÌ0@£<>ê]Ù]à£ÕˆGˆ)<29>^!¤¢˜pNõoŠ\$¢¼Vp \nåqô<EFBFBD>`CBY!6A<36>¦“T‚Èo <>I®gÈÚeAœ‚)bPT‹jÁ*^@ÉÊÈ*`3#¾Æƒ”\n3ç™[°@¹Ù²ëZ§,ǹÒR’œñ鈨M\n¡qH†Nª¯ ÑIk|gJ[¬>\0(+7pÒ¤\rÂ\$ˆV2ÆäGŠ<47>:qŒ¥³•rîÝéÆtÆ!Æ#ã|^âý\r<EFBFBD>Î9%ˆ ÙNëy„‘¦ˆyÖ’1<áÃDôîªY:Zòe«åzýâHg&…µ×ž’h’(m†¡CÆ(d<>ƒÇœ'„à@B€D!P\"–il(L²ð½4¥¸GCpa<Veb8¬OÑ}qѹP9€ áÂG¦CÙñË•.v26²äNɦ Ĥ§–5ACk…QçP\$<0C>Eâ Åø453TGpËJ²ÓΉçB.œèÆb“µ|Ïׄ`Wä4ÆV«Y›´/‹œÜ•¹`‘èĨ>2¬Œ±2˜ODö³áPBÐÉiԥصzUK\rë\"y„3;0@yX\nXÐêEº\"ZŠòV^nlãÅàÞgX*¨L,3Ô’˜¨âÊšJf×G¶ol8aMKÕ•I‰€JG¥˜T¢@ëaÒ5Èø1V†p…™-Ÿ :2šÖŽ‘á™<!¼32p\\k9}®èV½\$*ù_«‚:®FvÁ!Ë a<>qžè<>92ANÑaw¬Š]L<>ÀòÁØJf+ñR¼µ›i¬:R´jaMµbCC\n93ö¼XÔ‡l '‡+†‡qú\\\$F€‘æHKˆU9¦¬«ÕòƈƒsɘèÕ¯\"UuÙzÚ<ë\0‚BËÃLˆ(àÉÇÛÛ^+ÝRž¥<ÿ)É(¡K%R(Æ‹£EG[CÓ÷.…\$ÔE\0ap¦¸±ŠR ¾îzzá\npyá#y'Ôç&_K<18>ĹG90ê Bqå9»7ÐÊÃPqISÝ¡\n@Ýò8.mܹºT5ŒH\\0ä7\"|öžé P_y,n\$Š‘‰ÈAÏeKpVU¡yIÚRê瑱pËl³.3q>ÏZ9Œš†÷\$u&‰¤‘ïþ#Ÿ,âbÓVg™¹«;ÈðçU¢8“,*Ã\"ç¨<EFBFBD>¢¦Ø8PÙŽðf¬% ¦fL¸¸{rœPˆdv)›ó4{6›T‘7e幨¢ž…I9‚-#˜ˆµ¤Â¹Ý‘Ì¡ŠR½&™…XëU©V›ž×Í[UhvJÐë'–3Åå9;Gk-õ<>*6E¸Øçe¬)ž6ofÂЙ´-u¿¯»OWÐçdÈ6ׇÛd»Ò)U+)1t'´M%éSI ^ñ'›®J}ï¼%u'_GÃ/ã¤G¦|·£HtÄ+†ìˆZ£Ø‘‰pH\0g,h>åž`èeXÑe<Q\nðêC`<60>.<2E>Îc%‚Ü4Hx+—:põàA’,O#¯ø®ô%ÅX¡4\\ÒâîÝÿIx´°åKs6Rü^î•6ÂÙ1\"Œ¡·ìdêÚgPõ©ÑÀõ6¬Z!ì %TÔýIÞaÒK9çEÚqfü¸¼£v®Í©ûGuŘ*IÕNí™{<j?òPŽ\0 ”|,û '\r‡;âÁˆeÚ<È&/ø‹»×õNªw¹yŸ+T{Á”é‚GßÔ[æ¼±\rï•dƒ%󗟳 õFj‡ ’Ba49Ò•O˜qFê[àMuë//Âç~‡‚ü‡€|ë\r¿+âz¿bþŸÏö¿\\–i£>gxü¯ðw|¡K鯘ûÿ¡}]ûowÊ¿ÃÓc:gLÆJ¥}PóœSHï*ª)Äú5£:þ-èë£î«®®Õk©\0ÄpþBh ö!`È@¤0†Ðªb~Ÿà¬!„ä9£pJOP)l¾€à›‹b pJ€â[T-€Øh¢ ‡\0ܵ¤v\r£ŽgO%b#L\r#˜'<27>Ô²ædd8\r€V\rgX÷d²7ê¶ÇˆôáHЪ”è` ÅêxÂærâ<\n ¨ÀZ\ræc„ )EËë¸p‚ߪß\rm΃\\Ömj1ðÜ4޲ñ î{ÔÊÂP»ð^&@õev‘Ìò<ð3¨\0‚¨Œ0Àñðè¨%Ðªç æúGJBÆvãÆ…àPD\n… Ú?Éœ~ƒ¸%É”vjŽ©*Fì âiÇ,h(?¤ê1àPCƒRbJ/¾Ìb<<3C>CP\rã5qd1íib<\r`Þj²ÊÂ=¨\"ó‚ˆ|…\"ÆV,6Ý\"È#Ñ¢4†Îª”ÌÅÌ @@섬\ndÚ!p¼Íq–<àšÍÃüTbŽÀŠ®æ1ö€Ã\0¤CJ«f!KþÝü'cÞ‘i·É‹Ä„ÙEviCĪKï“®\0ÊÒ†~†ë‹\rh§Åþ°<<3C>ÒJŸè3J¤û¨G¯ükÆü7+º=‚Z¨â:1òb\"À<EFBFBD>@š t\n`¦";break;case"es":$h="E9<EFBFBD>jÌÊg:œ<>ãðP”\\33AADãx€Ês\rç3IˆØeM±£‘ÐÂrIÌfƒIØÞ.&Ó\rc6ÀÏ(©’A*–K¢Ñ<C2A2>)Ì…0 œ¥rØ©º*e<>ÀL³q¤Üga®©À£yÈÒg«M‘:}Dèe7\$Ñã Î` L†“|ÐU9ÉÁE\nè€Ìa—J°aÔÜaO„ËlXñg7G\ræè¸‚‹H¥Pb§œE@ÓR˜\r1¨ÄøÍV4™\"²H±³\ns:Éî‘:É´Ë\n9‚ˆÆY^ ò 4WL ¢†}‡¬5ãx(¤e2ˆæ[©”èra«xdÌü›rM7<4D>/¸£¶AŠ2|[’žÜí©®Ýö.i'×óM¸d/6'Îõ#`P˜7¬s¤ØŽOJP1¾ã“òX¸b³>Ø<>ƒHô“„`ÜÈ>\0SÀ€ÁÉB.뎣脸oæÓŒpÃÞ€Å#|V4Ž#ªAŽQ,O\"q²„笚\"<EFBFBD>Màê“Pôd4Å‹ÐJ2ò³<C3B2>2|£)¢òT@½Ì0ƺ2<C2BA>È‚3ŽH8Ã/²rËì7.rù†YÀÍTØ<54> ΟÒ|9ŒkBæ´,ðD4Ž<34>&°Dòƒ³±îh‚1ÍÓƒt:<3A><>rÖ<72> ±lû&“b*)Š\"`6£oÄ’ )’Tg¥ãô@ü—&ÄCœj2®ÂË\"õºì€WÌCÈþÖZö¯=èúÁ\0‰)»\$B(ð’P°Î7ÈñèÊ;1»†òÕïý<C3AF>^ÆË´Ë ºðØë¦#xÖ´¦)ÉÜ; p«T´l6[‰J-{<EFBFBD>0ÀØ<EFBFBD>±5‹ü×ÊèÛJ>‰€¦±5,êvõŒ)€ˆ2ŒW„G\rÄ4©3ÒŒ1ˆÂÉL8’.4ÍëJ 8\r0sÒ#+êþÀÞÓ\"/:°Ë;<é\0Ý%닎:IƒL[4-*µðPßXÌ<¶¬é@à¶Žcº»(fy«¡~Œ@Ñ2ŒÁèD4ƒ àáxï¹…Î0Ú«6árº3…ëFúÇ`^-I8ÎëmBúØ7\ra}fŽûm\r‡<EFBFBD>xÂ2ÈÃl:82ƒÄ&—zB:#-½;@&£€0·êƒ!–\"j²Ã¿Ì[×p3*( ‚\n7ÚŽ3(¡J†<4A> ‹˜æ<CB9C>*¨ò¦â0Þ+Ð'I„<>E¶r08tÔ#àŒ*êæÕ-Áø”gkèÂ:òk?2˜\nx¦*a)3üš#Ž2+2z)õøsà uH´Ö¸RhMˆ©}o´<6F>ÃØ‘1-zèdÉšrƒ”‰i2à(,„2ôL+‘\rç<19>20Î\0L/Ì<><C38C>ó‚£¾¤…gWF_ˆPm §¹¼œ•ˆ¸˜CR_,T˜*ã*±X@eBÜòv\\GÔ‚`CÚž•ŒJºe0<65>m˜…ÀÑ_ª;ˆÁÚ‡ŸCš\nÆÉ‘ór@1Í\nÆÜŽ32œË?àTšTnà‹0N™Þ¹•áßÔT‘࢜àÊ¢Ò¬8<C2AC>¼ÆA’cKjщg-h«eÊpÖŸ^ÍM}4—TgŠ‘i\\çtÜ\0†ÐÌ«\r;„ÊI”%d á8P T *]‚\0ˆB`E˜E<CB9C>6†\$Êíe»ì9RfÌó 9sd(˜š3š€Êº„§D'‡ –bÀcL¯¶\$rê@ÚbQƒÅ¢2™IóY‰<59>èÜ©Å\0}\0Rc\\åèð4BPIÊñåIT”žPÔ<50>äÙ‡I(I’d[\$˜lšG,&Ô²Ššj¬^Ôxܧr¾Z\0S %XæÒi@YðgCŽXâº@å©1+Á<>Ç\$ÅLPÁ×+ôõh†é*Hàrtèl2¦³ËÓj¦é‡ ŽßƒP\"´D6€B\"±8Šì”„lÂ(r!Hˆ´¡£`ºÎV•i *¥\næºgé“ïØ2¤PÆ‘Þ8®DV@ Ìo#ˆ.)®½™Úý`¹–®Ö!€ÃaÑ4üu\$U<EFBFBD>›ô§MQ\$ö9#\$‚`•ˆ5L\rÉ|Ä+c]_m+‚•ªÄ5\0Të¬;µV±•_cÙ1<C399>A–ÒÌÀÂ`ä*…3*¦äTÏ.]ª¨%Ñø9²<É#ú~޶AøÒíM½kKJ™ß˜ÈE«Q]K4¨Å`ä{ÍRI)%,¡^ÓÜ| @wc’\"[Q|ÌÐ\n t®‡™çsËÐE.i µ#\$<02>,)Pq5¤á„è›N»R9t¢Š½¯u‰¦\r\$ÁÖ‚ÈZ )ÓÜ–ÂÇFøuX<>9Ã>á^q0è! rN‚<4E>ž>åYlÿNn;Çêó|xfàE¢%ê‹Àè•„Þ¡“aUå™.[Ê»=2º²cƒ3&t`<60>ËyQžã6 +NŠMk7’yâî<C3A2>ÌÔÍ.×8gvc<76>ç¬èM<C3A8>8ʪLºù\rÞv§gA§Ú3FÁ\0(`ó…D‚œÐ™aòáŒ/ƒ)æ=3\"³L¥:jåè©Ä꺚鼹HròºÕj·Vêß'•Á<E280A2>Ó&PëœÃª×Ü<C397>X:½&ì™y‹ÕŒR•òàX\$+¹\n%6bÄØºõ²í%¸6\nÉáÖeí®ˆ8”ÕÜ'i•çÞž•æ?µ—i¡µ†êÜŽs<18>U—‚eÂ’”n?»IËI¿Om3“æ:Zost}R©¼Î84;¬Ô–<C382>G˜×<>»ê<C2BB>Ó<1F>w¥™í*Ú\r¹hµ–‡ˆ˜î&¥vóÝÇ*Á>DVév¾Uï¾<„NéˆÞ«QJù§z/A×úÇ2¢òL´jóŸÝ‡`ÕÚ·±0×Uê\$W{ìsHºµ_¬zÌvÄ\\Jªh7EYèšk¬û‘:Èb33ûÞ^‚„g:j¯á-ÒÒ{ÍXïmß«ô>³à;Ñsð<73>÷®´ž¾†í«—*«X5¯ß;>²C™/y?5弊\r5nn‘§j·'«µ\\ñhæžÚÿʘ/~ê<>[×#o%½³´HÞáa”[§¼y( Þ¿Ûö41ðýµ¼ô¥?]èŸMãI‡ÁáÄk㆙õ¥;§¾Ë\n´múÇ¿i?f¡þ¡å ü”ðÛâ4ÌJ?]D4Jãêvc›Y<E280BA>§ÜÃàæ~ö>oúüà<C3BC>- Ð9ÄŽ,)&µc ý§ ïd’JÈÌðK¾Ÿ\"Ð>ô<>(üC<C3BC>Ä•ã&IÆÀ-#Ä\$ÂÆcc ý¤¬;\"·MÀ³%ö·%W+¨â-È:àØjhiÇ~Ïh”P/¦¶AÌŒ» ä`â`ÈXtt†:^Éz\n€Œ p`d.b®´íºÂ\"Dx0^°m¼#ºª\rÄ”ç¶#b:SŠ `ź“Úˤ’9épM#r\n¦˜B¤ú€¢Ð¨çjðÊEcWd*BâP`íR&fF#gà d\n8b²]bxPÃŒvQ(JHšÃÔ8h´ÛBî\">ìîj#¸åg†D‹V=@Ê&\\ÃÞ6ã&vÌ`“mh(f‡…±hÿHœËèÜulRc¥àx˜nàôlq|1£~éÉ2C¤Ml`lÌ“#À<D’œœhª¬Q°œE\$.Љ:kdÐ1b:Ó,¯\n0ñ\n/Iˤ,Ù\"ë#Ë`ËJ&Á’ ¯À1 ‹Íj¬QøI#í’ö¯x§äü8`‚8„?Éôöl \0t š@¦\n`";break;case"et":$h="K0œÄóa”È 5šMÆC)°~\n‹†faÌF0šM†‘\ry9›&!¤Û\n2ˆIIÙ†µ“cf±p(ša5œæ3#t¤Í<19>œÎ§S‘Ö%9<>¦±ˆÔpË‚šN‡S\$Ôé4AFó‘¤Ï\n‘›EC ŠOƒÓÄ<1A>T,̰یêt0‚Š#©ºv¼GW†ƒ¥®2e…ÑŽ†Sž‘K \rGS„@eœšq·:éŠk\0¡^\rFºò<b4™Dã©´Å] Á®43ƒ\rHe;d²Æ¸lˆÂe3ØóÝH(…`0œ<30>EiyÈÖ ON‡zá¬R\n#™MæÛ™Ò»y&fŽœR/¹•€É<E282AC>æó¥pS2œŽß®„ã7I«W³—®ÄòŒ<C3B2>:F‹ ƒz¾Š³C˜Ê M³“¡a¸†¡ŽZFÀŒ/2ÐÕ¶Ê“,ƨ£Z¦¢+Bj†22òF†0¡@¬\$ˆ¢»¯*Œ²ð³#h«¼:ÄJº<#›v4ŽCT%ã´<›DëÈJƒ²ª<C2B2>'„‹ÆÙÅHºû'O[òÕ<*”!‰ã¢tEC@ÊÂ¥h+Þ®1oŠ´5Œ#D2Ü&C¢ô4ȋȨá¼iPÒ5<C392>j3„3·0Œ:<3A>ƒ`A ¨¨Ç½âˆ˜Š\r²º78#t:Àµã\n<EFBFBD>9\"ÒØù±¬²~¦<>ËÌiÌ2½=_ÇqìI =qÔC¹Pô¢àÊ6<C38A>F*¯TmP’6¥c’J©Í£iÀ°:\\R\r<EFBFBD>x7„\n®••‡R×6\0BË#c½7µkH:„¦)ÁbT¾/É[ˆ¼Q\0ì®\r·êÆ<i«™n4cdý'¨éj7'¬jŒš¾œº7ËéPÊ0ÅH:Yy-l¥æ·c8ÚýŽV.úª_C…øµáø\n‡„#‰Ö42¦¢+*5«ƒ“13 ÕŒ4·&ìØå}ãN¥¤Ë<C2A4>„ˆƒÁ\0xË\rÌ„L è8Ax^;ì<>rI1ŽAr¸3…ìFÚ<1ctº7áäѦ¸/ŒIÜ5„Aõž8 ®àÜ:<07>xÂ\nD%5<>zöÂIÂR©cÕäžðùê §¬0ÒÄŒSÞø¾jê6¥*ý³^N\n@¡ÑtŒVè)Jj›³7’x–¶ÖêH”¹-Ê<‚¯nª½<C2AA>‹ê+tƒÇ¯Bx¦*·4Ö”ÞL\"¿#cLó騞~gmÍH_äCMN—ç>§Ýëõc@àÁ^8èMBÈo^ŠL¿WÉ\"±J¥x5,1%¯˜`¨íÕ<C3AD> \$ËD¹€ÌX*\n>GÄš…Bú€W›FVjÔš¬%h€ß“, Èñó¨V,óJ£\n&Dqï+U¾Áˆ=@eèþ´F4jIIù;„%£B¦hÍPS/Ì‹8çRÊ<52>Ó<EFBFBD>ké:gBí]¸m=n”6E’<45>{ÐI)aÅ|¶Æb,X;î,fÙ5.BÄYÁÅ f(»—˜¤¯Ñòð&%Mb—5äÆ#Jt!m8\"pêÈXQ/9¤¸Z‡C¸AÁ@f+…<3—ãxN¹W‘Ô²—@ž<13>\0U\n …@Š¥8 <08>&Y\\rÌâô‰Gìä†&wˆä»Žf˜^ö¡0V‡jÕîvк\n]Ï¡¡Ðì…”ú'OÌR)¢¦‚<C2A6>PK;n)œ¤‚eƒRšé<> 'ÀÏL %d²v¬Ä0£CóMÁc“\$P…<EFBFBD>\"~”¥ˆ+ÂdY™5JÞ\rP”yjƒ 1 Â4“¬íHOÌZÉ2^•ÔÌ݇f €Ô@r:óœ•cmI€T\nA\$#„pŠŽº™„è<E2809E>·õ¨µŠâÓakv‘v…â!ìœøâ…2<y–iСX\"„à¨Î¼.L\nõqóì·©\n›<EFBFBD>䯂’ƒ:N åvÖØ“a}Ò^dÞk³<C2B3>Ö3ä‘HÎ|<7C>*†Pš¥Cj)+—t©Òi†´’‡žrS ö±{\r,m<>‡¸¦#—–c\rñ%<25>–v\$O@ŠØ<C5A0>)e‹‘<âôÇËj)cæ\\<EFBFBD>ÒO4’Â)#\$ùšK`†Ï„#uIêΑWP©#qq³J¨ \0 ‚ÃC¬ï/AÕ;*š0¬,q0!&ÎËâQ\\X¬ß&±Áê¦;Á\\ÙŸH‰ÇC+ùÊ'‘*ë@è<><C3A8>˜ \rË€8Ô”ATBã\\µVWe ¬`™*‚ð{ðk<08>¡'D\$Pä±âÂ\nŸ ¢Öf°¥ˆ<C2A5>d¢î<kã²ö0ÂÃlM|‹‡<>C<Y…Ê¢k‡8Åc[ß4Øs’Çh”fîŽ1á\r˜'èD#Ó<18>aî?‡<>3”½/–TeG)•,·~²c›Ë4P‚fp3ÞdEû>vnûvf8dpÒ‘é<E28098>AO<41>p\rJd3®²d.V¸úÌbØùfájÐw»B˜#\\|sÜÑ;E = <09>ò¥-Ú\n+äx°æoE˜—×&-zaý]ÉÄZ?éô}¥á®‡Æµ]4½¦#;Ö‹XM0Ú‰ñÕ~¹u%¢:Rˆ£Ðê,)Øü:WZï]\r{¯²FŽ‹SåGÈæ·Ö7v×Í«µä©Ü…R_^˜]Žvì’ÚÒP®îVi<56>‹pLކ,áâta™ñ*Œy<C592>@œæfÓ“\$4d\ry2D„Éöu˜¡¥}opé¾C”ï!Š881ðÄ@Ü)–®Ôˆ9;2™ÈùSŒ >`]÷š·ã!2æg€Ùr÷VàJáL4˜@[®¹àÄ\nƒPtz1;»s¢Ìw2ž?@FËwbí¡ÑÑY)EÝ/¡í¬<C3AD>®w<C2AE>\\ÈÈ«¤õ>„{êzÈÝ[CmÍuØuú\nÜm²0g«kªp¼ª¶éœwCŸhT}¬âäH€E{ÑNª…J²ôn¶ò¼W„šÒ<C5A1> Œ»ÓHÉ ä?àUŠ<55>1›¥ì~ÛÓ´˜Pˆ¾wvòŽÛÑv 5ôU*ùìÙ³7~šwé6%¼«•ùÉ*ô~µ÷꺽³*Õ9þúÍŒr‹%iÔü*c¢He¼þ²µß9Xw^°M~§Ðõú7ÔZê½ü;tߥŽÂ¡ü¿[x{4k²&#R‡ÿ0½RêFxÎÑìź<C385>Òÿð^<5E>LûlnÔL`ŽVþÊ`ý<>d÷+ÿÅ\0â«l‹\0êD¦\0P¦Jh¦Êp¹Ã€ìäìB,4úàoôÅë]CD2ÐÅgÎû¬wîûPXÈ@µÀ<C2B5>¥â²t P M@ȧ/vøí(U¥¨Ÿ دvcMÜâªDžwÀ™B6t/ŠˆÂt“Ÿ k`Æ\0–È Ü. Þ™\núµê&Íž³b½bÐÚn`㉾|0¶ã†^£¼\r€V\rbfg#z!¢–‚L.1¤ªrâü\n ¨ÀZ.\rÀÆrJÞ&§¨\"¤#„¨€Â„¬d`Hv¼È^Ô«ÂPΊ<C38E>ôœÚÌnÔÜì2ABr«ÉáËn§¢& ˜¤Ô±Â>8\$”&\"zW‚Hñt èÄh@@À¤üC¬”¤¢¦p¬É\nCRßhì†0|ãJ\rŒÎ¡\nq˜ÆL×c\n|©ÞÒlP#q²Í«\rî*NMº‡gC±Âö@Æð\$\0@¿R,à `à<bNF¨É1ÀÃθ1cTL©¶h ÞíejÃGp£y¯„…Ìψl̪#’ ™\"Ê2Š5¢´\nQ–Ò‚dýJv+@ŸâL3‚´œG?ª\"/IzŽOÒ0q¦Ÿääl)îÔÕbµ&hûÊGﲓ(âc«#FN„²<§C(ê7‚Ä \0<EFBFBD>@š t\n`¦";break;case"fa":$h="ÙB¶ð™²†6Pí…›aTÛF6í„ø(J.™„0SeØSÄ›aQ\n’ª\$6ÔMa+X¶QP”‚dÙBBPÓ(d:x¯§2•[\"S¶Pm…\\ŽKICR)CfkIEN#µy¼å²ˆl++ñ)ÕIc6Ód\$BÓ!ZÎ-Ö•~䌄Ø,V}–'!³Ð•”šl†·ÏUUiZ¾B@±ŠqA´©ˆSêp•ô2íQÇBÔùšœB<C593>#<23>SàðëTQ:‚HTÚk퓈N!([îÉ+†ªð{…r ËÌ0ËJæ¥@Ö`4ÊëÌ–©¨ZlëIò¢´ã¯•ø…ϸ¨ËãáZ¸šÏÕmˆðaRO¹Š€}dv>f®’B¡*[\0å¦Héœ A°ç\$ëúΫ jlï9ïT±¨¢U5©_\n<EFBFBD>èêvì4Å¢J†¤+\\8À-*9`«6\"\"Z#¤CL³´qšJV.¤B´lM3\0.…{hÄÇ‘Äk¤*,2%2j\"U!, ÃG(t4Ö-pòÒŬô/¬(!r´ÇŽÊD#¨YbäÇ…::€¬ðã^ä°(<D©®Ï„æl(ï%!-(|¯ ,[Á/‚VáèØ6 Â1\rƒ*61Œ#sÂüAÌÑg\0¦äCTB-)RBª)sÍ—•Éâc®Ï¼pžDÆÌ ™BJL(¿®µ¤lˆÇ,N•ÅI‚ÞÓN-üPÖÅiõº*ut›Uì`4.žUt|jå/³ÂëE˰Bf¥5uÐý¯VZ#f¯²,ûÐhŠ<68>kÂ+ý¶Æ±éí©h¹Œ<¸×C<>è6OoüÖ%I#€‡É-U?p¢\\³/IÚ Þ5Œ£p@!Šb<C5A0><62>Tµ0L|@£ÉáT’ËAX’»Œsï}³®ãûÕN\"f•–K+¸àÊ*Ãñu¦®r’œÂL\nÐÕèès9l0èK¬Z¼'’¯‹,xÅf¼Ü™Åj´%ntì˜DíZÅuª8vÜå<C39C>BhÂ9Žƒ(䨿;<3B>ã” 2<C2A0>€Ò9£&*!\0ÑÆÁèD4ƒ àáxïÏ…ÃÈ6<C388>#vüp£8_’õcÆú7cHÞ7á*0ŽC8Ê:rÂý1N<31>a|\$<EFBFBD>£…26ä£ xŒ!ò„9„@è4\rò€è7ú#H\r#§¿\r´ï’#¬ëÝ4.íˆZZ¿Îö3<C3B6>!Nm!ÓH‰âOkX³Ôh;LÒAC\$•帋JAÉ)¤<>‚,ÖŠU<C5A0>É‘4)HÝ—EVf<56>;mgIжØÍ±¨2‡%_\r„L°R:€L©n ¤ŠRQ,âÈ–ª&(Q¡[`yvBXNhIùÕ\\ì<>gžIQÄ:<3A>‚ø›ªÒL{ ‘ª&¦¥CóÖÎß Y\ráÔ)ÆL^0ot@<40>Ȇ ÒÁ\0S\n!0`Ò¦A\0v\r.D#@¡rP\r/½ç»C<>o\r¤m¿gNùVÂÚWðíõ&g؃äJþ‘d† ™HT‹Ä]Ͱ¨0t<Õ×ê‡RQ€¥•é(ä’”k|3¦¦! ãH1…œQs@ŸÐàºVGÍ91l£¹Â5d5X<35>ãl¢9>,lª‹çäý‰x(kŒ˜—ÂR‚…ÉÄL\$dM4°ŸÜOI<>[’cr “B=A‚K•e¦´SžF<>îÄOÔå&dÞ¡‚ü¹\0QéQÒTÒ3RÎ+šœ¢¢s€ ž<13>\0U\n …@‹C¨€D¡0\"Ñf@:`OGú<47>/ÈDAáý'e<>3™%bQQ¦@d„áh¦”¡34C‘i ’?%¼Ñ§2Ìld¿/<2F>08dÖj®t£‹œ<E280B9>1tüÝDô(ÐLŠr`ÕL¶Mxx„(ŒOS´@¢#b“—µ/T<15>žÃ’{<EFBFBD>äX”âÖÓA[åâs5d©3Ÿ3Yk”\"\rq>2@™fÔ\$‘™gñ^iµ…©ÏîÇ-#”ÛÉ·•dB˜”ÔZÑÁa-6‚~Î:ÈvŽ,ë>‹ÀÚC»WQ\r8”ðôÔOƒ[9d³øT…€S¹Æ•–<úJ©\\†Ï¤Xíé1hd…\$š˜M\nÄ Fž\\“ul€Wkä\$GÉ´6\"¶ÕÍ2“ökÊp\nUȷ׆I¦X`‘/0DÉ•ÛÞK q0Š#b]]sÓª©!85\$`H˜‘k·n\"Ù£ˆvÃ4ºp–Ar{SNa¶¾¥d¯>CpÅfÂÝ\\•Ì8™/™÷Ò ¤ˆ;°«‘ª²k\näC ›b<EFBFBD>R<EFBFBD> ¬—¹ \$,tÄKE5Á<>—‹žP!8'б›cÇñh¢Ô\\\r†C\0Üö€r\r1ÉL»§ õÁ`<0C>…¾©PÐrú—S7iX#v›V!UTÆ4›Èx°ì3-9ÁŒ<C381>\\Xjzù<7A>btž*ª‹°;9ЫÞÀ¬Tu‘ôZ‡)ë0ÆãÉM¥kIZ¤‰heP˦U–%E¬óžÃH˜ è·eš’'šs\\[®?5¨ÒŸÔn¼«p©3ƈ¼¤Ä³ ôTÚAzN±W}t,ÏÕ\"!\0¢—€SGìêü•2‰C‰1{´Ü¨[2«jšËú¬±{SW{oj[T}å><3E>Ú[‘_J³B^q”UÒÚRJm©»˜\nÏY3Óé å¾Í>—Þ»û}-Xž4u9ßÂÔ¤eÏj&Ù^©‹\"ÔäY5tn\nÖQ\$®É ¼*íDE<TÒ3ž1ªxÒÕãºBÄ/¬\$€èFFÑg–\n’îoè1aŸœ\"º^î[ÎW1Ø<31>XßèªA QˆFð<46>ðÅëw&¼Kü‡rYÍX¡æ5HŒ`ZÊͨ/±b3H›ªý;¶õa²ÖªXjBgñ=Ѽ÷u\">éÌöÇv×ýtônY0}tâ·<>÷<EFBFBD>ý5|'€ç<E282AC>ïÃØ¹ß4ÆÁñkÖ/£¼º\"õñZJ‘E&,¦T<C2A6>0TzD,(ÆLl†ê릵5§ímÛ=§fòz?£{’sl¼‹S÷|)h×Ä—\\ü`²I™Xço1º~*cøåW?™<>Xj%\"(?ZWô‹<C3B4>4ðÝðùù‡sñžK_yOÃóôÇïØG~ì¿ý;úõýŸ!c?àÞ¯ü²<C3BC>j/l掌¥+*àïÚ÷†Ù·O¦è¯…oˆ±°ímè7ðj#6*Æócž@Ôb0\nÛ¶¥¬GÅlÆc<C386>Éé\\_pN,ðHkúm‚Në,t¹E `*šgêØaìl)tTÅØÆÐâij+'Ò¥ìÀÐ\r¨Öê¼\$¥)Êã\rý0<C3BD>–ÂиzÇ\$\0¥84ær¸bJÉD†‚¥¢åm`è@Ø`Æ\r€Ò`ÖfŒˆâ Ø¥4Ì\0Úz ÒÀò{€è|€Œ<E282AC>å4\r êo€@E4tª\"\n€Œ pJq\rÀÎ|<7C>¼¸°Rm,<2C>ÎPàñDØ*~Á¦«kCí:ÑŒŠ1DŽýJд\"T n²µh..â2ízÿ<7A>»äsìòáJ숂>X\$ÀB|*éXcÈRü%\0`/>´Ü ˆÄ‡JàÇ'ÆRÄÚÆÂÊEe˜ì©`êF\"6„g.¼Ó1ֹʤˆ¯jÛ±à–ñä—ƒ<E28094>æÉœÈÑòm‘^Pñøþ¥Î-\0¨Í@Êz¦Ê± d°ð\0è<EFBFBD>`ÒG»RµKÇŽôÕã¾µdÒ5‚ö~éQä¯BÀÕ\nPʪ¶\n^ä¤×\"SéHB†¦P,Ÿ&2µd8±xU\n¬7\"vcFˆ.k¾‹›/RX޾,dV%Ì]Ķ«‘ïã+\0aR”*ݺHÐ.`±êª…P=1ÿ¥Ú¬oʲ®`ÂNÕÎÈOŒ ~©í(BÞcÃ>";break;case"fr":$h="ÃE§1iØÞu9ˆfS‘ÐÂi7à¡(¸ffÁD“iÀÞs9šLFÃ(€È'4ÇMðØ`‚H 3LfƒL0\\\n&DãI²^m0ž%&y’0™M!<21>˜ÒM%œÈSrd–c3šœ„Ñ@èrƒ<72>Œ23,Üìi£¥f“<Bˆ\n <20>LgSt–d›‹'qœêeN“ÓIÎ\n+N³Ù!è@uÁ›0²Ó`žé%£S#t„ß<E2809E>Tj•jMf·B9À¦åCÉÂ<C389><C382>ÂÌ0#©ÈN7›LG((‰³’™iÆŒVðC4Xjë¬h…n4ï#E&§a:‚ˆý]ÏV¿5œa`Q¢™çRÃTp8aÛ‹<C39B>ÈáxPQ4ßN£\0„þ3Ã>7:êâ:8ƒs«¶cK>¸2L™A¬ûô†(¬À#2®â+I\"2@p*5Ãì¢tÔŽK<C5BD>èÚ°°È4¦)k.Ëûê7Æq¬B<C2AC>.é#n°Œ£`@ê<>Ž«ÕB(ðê®hmFŠÊ(2xÆ<78>€HK,KRãÉ\"Œ²Ø#3òÜή8äêŒð¨Ü\nS,@™°ãrP•%’Ɇ\\<EFBFBD>B å+’‚À¶R`˜”<CB9C>(pϯÎ*L:§c+7MPxŒ:§ÉÚÆ—Žcù:£ˆêa•H@)Š\"bÔ:ŽÔl2<6C>ÍâÛ0ò¤|—'C\0§¤Ñ)RÞ×M5@™ÉC<0B>7ØjÒèŒÙJ€\nvŠ<EFBFBD>`\r•í~üăt a£B…³É%@ÎÞ£ˆòXÛI×T¤ßJ-5Ùp-œº„tˆŸ.Ôû_0Ö»o·µÑd<C391>L2I3\rŠý7<>u @!Šb<C5A0>Œ®<C592>Ë\$£ÁÅߌu™Z ÃË(«%cm8‡·‰ºâ7ˆ3¢,CƬpÃ5=Ñ\nŽÃ\$X曽š-KŒ\nG¾C èK±V<>šZa”̈ìeÐŽ«*ÔL-(\r<\n›‰¯ä¤ý?ƒ˜î•ËC¢2Œ˜èx<C3A8>\r\ràÌ„C@è:Ð^Žü(\\0Œƒj ›%c8_Zqô»;5…á<9\\ã¦ø/¤kàÖ×JI%Ž<>à^0‡Í\nõAâv7„\n\"®©ÍpåꩼœÎ3ÈŠ¼°Vô ¹ßËOÞhA\0 \$\nÈê8]Ñ0@*!Mò«‘˜æ<CB9C>\rÉHÑëMÓyب)Hê6Ø ˜ÂŽ©<C5BD>JLê¿i«ŽãùÆt:Œý\"ZÑ7ÖŽxS\n„ì°\0@›‹á™c§PT†CaŒrÙSÌà§¢7üBH8 ;媳•xŽ\n\"’?%D“ƒŸ&%ø9'%€òÂ<C3B2>70eQž{ˆƒ@€1ÅV«JA/,äè#G›Jê|)Ê4˜Ðaƒ“=&çý€È.ÆÑh,¤à£°<02>–óÒ3å8ïWœômDÍ\$&VÄ·‘T<[h\n0®ê³Lzø‹Ì\nžR€HHp,,<2C>ƒTþ<„9‡Fl<1C>êÀ„€éÕ#€ÒNŒª–yZ:¤ ÕRUŒÌH‡ @©‰,”*)Ð0†hZrÊÁ¶ (l95²]\"<EFBFBD>‘KQçÈ\"RaÖ«ZK*`¬˜°Q\"Ó]xŒÀê‡59# ¸CI'Y#Š’¾_9è:@(¯ÉlÛC,¹ á8P T *q‚\0ˆB`E<>I\rô˜PáÄpžŠM¶BØÔ*\nù€5†¹G—Òþ}xp<78>èœÈ; Íä¹\nЄÚÈûÅHfjgܺFX‡Qmd¾A%£’D€©d…•¦{ É)É2¦•³²[KÉq%` 5Scl‘ÐTxA|/\"6Š0xGhõcr!RV¡–¦\0!½äb<C3A4>©‡4„È#eñ-£1Þ…¥ömP%×<<3C>.qµ¬ó¿Z:‹bNÙÜ\$ÅÚJ×xS¯<07>4;sf<73>)‹#CD‡cÐ]]!‘ô!²5îcω²6‹°9Ãk M7Š™T(ä¾K‹auKÉ`Ésš©,â©8)<T¥<06>pcyÁŒ1ž€æÓ,ý¥_¶¬ÎS©UJY(^m<>³¶¢¢ÛšIhJ=¼©‘á£xRPÉùkžâ¥\"ogìÚ§µWrÖÜe‡l-ʶÀºÑ³Kx<4B>äµË‚ô[)<29>m/Y‰Ux¤Šâž×t.?(|Ó=™šÎ̆XlºÊÙÒZÄ•#{T÷Ÿdo\nцS“…ªÓ’™…(©¾¡ÂÓ’2{OxF4¯í©H {¬¸W¡‰&ÚÄ¢ÉïéJ6Á ñ¹QO(Õ-aæAØÛÔ¬:HIXt<58>FQSåôj%S\$Š™¦é!ÞNÈ·O)“Œ«•Ú¬\$ɳZ3\0æuVa7–yœTá€Ô¡É=Íhý.2zW9 ŽÁç†C€Nɦz_ÎéZçƒÅ›‚*µc§…F2 _ÊÑÕFq½&袷Ìîh%´•õR€‹Or9SÅ“,æLžug/zŒ—æ0é®”¢Áz ’]]¨<>ÕÕV5{G•úY'ÜöH\nÞY0\$Aƒ<EFBFBD>åÔ³m²j<>h[’Á-<2D>²—¥\$˜†YÔœ·¬š<1A>5¦`”T…-G'ÊøåH›PS=5\\{Œ©M]_“æth%:«Qo(é½5.÷½ËêìoŵwûÒÖù?\\Šž\r¸BÁŽ¥…íû}¬õäxFûû‰oH¸´&×â»ç(¿>>Á¦7ἘªòS½µ†FäÁè&Cm¨žƒ_Vâ^]îmÅÏ´Ä—XñrÊyÅ<79>ç|ÃSãkÍÐ.u èn¯™.¨N«O¬Sb²ðGªuž¢ë;ڱ͑Pøø¯E\r<?±õºÉÙõ·L!K3~xSºbù%uH…évSKtoX!¤÷Jk:øàs±U¨<>î6˜O|N6À7³5ŸSÔ³ÎgÄ'»¯\$G 9Ô.ш‹Ž½%˜´Ðn¶·ÑxL:¼ãørš3O²uÎá.µ!gÍ•^¦UªÙW‰/<2F>ŸZ‰÷µÚ¸ÅëÚŸ°E¿ˆ_þ_s×\\bÇkäp޲Aհ¢ÄdÎåÉ#O,Ê¿oîÊnÓÕr§Ú°øsów.W—V-üý_söHî3ü…Oäþ´¤ aCl\n„0qcl9\0ÂÇêˆ3¬P+EL‰®¥lœÕnrqo¢ü\röì\"u.–øîªùÐ.éOŒÔϤáÍfþ\$~&ÒÒ<C392>Hƒí8ÒD`Žï<C5BD>ÏTÒ<54>î^âKhª@+ÜÏcèÔLØ•U‚2:°€ï®Tî<54>-áS 0„æ,¸‹pR‚P~/ðƒÐi Ð ãàèÜp&—¯ÂË®[ã\\ú/ÞmŒÇ̪<C38C>ªÍÇÊÎ0ÂßL¤|\nß<0E>ÎË<C38E>ñb[ o§\rOz±ðò÷ÊD¿‘\nÿé°¯Ö—,<2C>6\$²E\$çŽÀÊ‘\$>K&ú/‘ƒ,²#æ+QBn v˜K\0006ê;JÆ‘Äê Æ\"JìêKB™ÍêËIMåR~kÚÓ‘j!²ðÐA+:™¯f3ã³ã°uâ\r‚àÁ«T6Ë>ÉE¤ûÐ5‹Û‹(É:Ü †+àØil\r)P1É<31>f4RB<²è\$íBlLìîv\")ÀÄ\$¢ œ ¨ÀZ¶õJ°/«¾èP3Rz,½«t(èÆîR¯¨]\">\$-H?,Øam–Ž-jQà6Äê[*>bƒÂ^2F\$R:rÑÚ+R:!C„UQÖ6¢nÙÎBŒGº¬¥q òvKxñfYE˜™Æ6qþ0jâ(íjƒ„àB¾3ë8êȸÐBÉ)ѺàE\n¥JXº‚«*ÏI!¬´…&“+Ò˜‘Q¸îMPÈ+¨¨R®ä§@Êb@Þ¡EFè5rÐÑ<C390>Š:dì›Ä@³\na,ˆ>ãÞ … â´xÆDÊ\nݳÚʪ\0Š{jlc2̓Âêbà\rˆ<á#qH 1Ы2<~ 0å*M ¦ŠX¦â–úƦ|n91¨ì‡á60.¤¬\np‘ @<40>%j>A†òȬ°<C2AC>D 0³ˆ \0t š@¦\n`";break;case"hu":$h="B4žŽ†ó˜€Äe7Œ£ðP”\\33\r¬5 ÌÞd8NF0Q8Êm¦C|€Ìe6kiL Ò 0ˆÑCT¤\\\n ÄŒ'ƒLMBl4Áfj¬MRr2<72>X)\no9¡ÍD©±†©:OF“\\݆¼¤ÁQ£)’’iŽšMÆ8,©Bb6fâéæPv'3Ѻ(l¼Þï·óTÄÂ(=\nipSY¦²r5o’¥IÌéO™M\r‚\nµbµ\\›‘¥Œú~ÃYËåJÓ<4A>ÖÄS=E\r ¢\$RE «ÁM&F*D°•<C2B0>Œ¦pTLr ÞoúƒÑ„è\n#™d´žA„L <4C>:Ä'8ÅëÏQ®È¢6i/šj²ÌJ”_5ŽéÓ¾¡ðñes†ä\"<EFBFBD>¬èÖA\0äÙB Â9;CbJߎƒ<C5BD>ê5¥EÐäë ʻƥ\"ešH9˜ejÜ9ºÂ¢(¸&0ì?Än±†M\rI\n®¬°²®3©\r Ôç¶ÔÉ¡£\"š€HK!>ñÜ<C3B1>\$H€P–4ŽËû¼ã¨Ü5ŒcKP5§<pá¹h¬œ²D¨ûŽC@ÞÀ\ncxä1&*@ܳ632Ø•<C398>pÜÞ<C39C>C\\Ü«1ãb[8C8A5kà&˜¥‹„6)2¨ØÍ»K€ÊcÂ77∘]6¶Ck†7,uJ„9îã¼ð((“QÄH¤HߪãlSY ‘elë\nuÊbÎÂ#,ÔØ¢®Ûêû¼4Å„\n@ì4³£8Ò:<3A>£|¸\$<EFBFBD>£„Ü·PŠ<[Ðd±Iìëû3EñŠÝC\r—X,S-u>Ê“'[IKÌa‘#”¢TÕ¢b˜¤#&ÐÞ7Wµ©fZ¾6’†]\rP¾Q£’ão2íú¹2mÔܳl¬5Œ52¬<>hPÖ›\$9<EFBFBD>8{„ë*®6.ÃÓ…”¥Ý „<>#*n&åùФ³ƒ(ÔŠA<C5A0>`@Èéc¤=@¨8A<38>ã«<C3A3>€`J¾\n”`÷“<C3B7>miëÛP/c˜ï7HC-È4©&(&#B<>3¡Ð:ƒ€t…ã¿^CjÔ<6A>ÓpΡÀð¬<C3B0>Ùæ„I Žœ(¿Já}n†d:<07>xÂ1h’“5HHu„u@<40>WHPÝ’‰ËRÙ”±ÈÓ#}ÌÞ*Ö‚¸cÈ@ý¨ãB’ÞÆE\r²3íü@@( ‡<>Çùhsœ)ŒVt6å©Úz¿Ö50ôÞ¾^ÐÞ¥z<C2A5>bËŠC4\"P<EFBFBD>•2†+A•‡@tbɺ&Fl‹3rbxS\n„Àú‚ˆ²yU<79>Í!\nÛ<EFBFBD>áW)P:5 ìC;Ò/ÏùŒjAËùVV¤U’…<E28099>ÞAš\rÀ€:ºÐÞ¼¡pb\r*)©âdµºÓ&!*>%6<>‰êå)Nø3\"J¦#”lì<05>¶¶—yø(%=yÆ' Æxb„ñ’0¬Ó”IúSWí<57>Fì½:k,Å·¥ÄlOȱipaˆ&Y!\r §”šˆSÓà\n<±'¨”<ç!D«äÌaI8FP±\"bÞ àE<C3A0>‰\\\n•îÚ\"èy`Ðí{6gœñà\\!±ëG°Y!FUÜ\$–fƒÃXu\rŠ‘èÊ\"’¢©AD\nÔʧãÌJ…³\"73Xòøƒƒ<C692>S§ h*\"ŒÜÈTäDưג¢‚xpK)lœR®ƒ¡\\5ÅLà½BÄY\"F<EFBFBD>Ȥ”ªUÐ\\ §È”êº'ë^+Oac¬…åÏA'3§\\2Ñ¢®ÉIÉ_&\$2*PÚ DåÆnÍðÞ\0PINmêSf’b(¶<‡\$˜‚CQjòi¥IŠpØ<É™dŠÑu’‚NB^#UB!´ä¡Ã{`\"•9[„„ s“òÈ\\K‘o¤âzÔÎxFMÄøÛ€ ¥=‹RÚ?ﵓès<C3A8>9£4§,YÕŠ´(jáÖ«ÉÂ)\0ד¡¹ êq#©„Ü’ìpr²XóÈ b\nÓçgˆ°°v—ÑÐt„íjÆÙFÆQËQYq\0¸ÙkQìI•SžÎû>ŽC\n;´e-!ZhEjh-¬µÖb‡Û;8d¬ò7·è0ÚKz›9Èxw´¼ðAmÖ5¹†<>•WÕB…Þy7´¶ÐÉ5[^ˆs4&h™‰±HL¨e'd¢º5{å#Uºêl<C3AA>KDÙ¬1¹RÀb‚\$<EFBFBD>Ê4ŸvnËŽÕ<G¬<08>#z`¸eEò,Õr¢fÊaç½<C3A7>š{a扦ÎR8¢m.Á,¢OÃ<>ɾkã|á!(FSd•†Ã„f1Íö“•ȤdgŒÙ>HZ5Ÿ¬–y¡´84<38>ˆ*¥ m\rðð8U/vÕŠ•R\r=Vêðß=š<xÐÉcb…±5OÌ÷ç4±ÃœA³k<ذÎÏ÷²Šœ«É¤åw—r‡æS%Дa£2<C2A3>Õŵ«¥RŸF•„sVq>ŒŸ‚¤¼-’y‚‚Ÿ)e‡®w¦Ø DåA<C3A5>¦yÈ=U¨ÒÕ}<7D>7É´JN)j,Áâ;`Ï MY;Ev›k´e;¼ÞaÓ„hF\nHéW/ÆUšÿãNƒÚ«Ê;ÆfÆ u›FiÚâ;,Åb±4y+Ò[Sr¯MA4LlÛ«7t,m1SÖ®ÀZ ³o•tg4sVÝL—+ºt÷Š‹8a¡—Šß>p/á¶îÒÝtíX áå«_pÁZ¸¥Ïªü^Õ~5\\8ˆgãÜ‚æÛË#tn’¨ó”̧<C38C>¶#Sfæu'›TU¼ µ1˜Üò¥ð\r-À´ŽŠ&IºŸ<C2BA>WÎÚ <20>êp- Ü`sbµšÔ@.ºÃU…-L5µ¢cÔI›ê}U›ëªhKYº<59>ìlÙ>wWÚõY~å*u~âŒÊÐni!IÌN‡29îê:ëGý‚@«ÆÊœú‹HæNKõ(jœÿ„t0†š§8Ðzm\rôe‹¤4•'ô»Õcùtr&ÒôM›v{\në»üîŠõõÑ‚=-ëê(E÷Š£ÜRUoðˆÿ·õ›Ý[„²´\0R6-Eöå9%‰9‘¡ó[_ÐäVïšâ’s“1ø¸çœá\$çôC¿ÀÍ/Õ¿üpØÕÅMþ”ð#-bôÍ.¬C¬•OðÿO—\0O¢šCš2„2¢^ áRK„ÚŠÐü<>²ß¤Ü«,îýî’&ð'HBàîð*ó<>ŒX3°Ó-‘ÏÌ¥P[\0ìš<EFBFBD>n¼ÿpY°V©íª*ÏFB*ª#OpýbC<07>…<03>\$\n<EFBFBD>ŒªðLþ¤K p\0ÞИ¤øùb¾j4=C4êúöc1*÷<0B>†óËÚ=0Â=°¢øn/@æzÏ ãe8 Üh/,í&Š?À@¤cL,KÈô<C388>‚”RbEˆÖ²\0h‘j±\nDQñŸ'èd¿ân cÚb\0ôlálÆ<0B>‡dŽ£‘9ëÈ.`ãM¯\0003nH¸+!ÑZÒ@†B Ø`Æ(\0Æfæ…ÈN\r€êËì¶[ È\r ÌzC4(<28>\"C\\)FÄ〪\n€Œ pzbÖ\"âÔëÄäGz[¥¾/ñH£¢î_%Íil#âB\$h®<EFBFBD>åôò…Í\n6ÀÆlj9à¤?aBÕ£=bþƒ¥0Íqî|àÐï\nÂVÇð<hw¨<>Œ\"…Ž&äÖ;£\0žÄÖDÜ ˆpæ:ò6\"DÜRãêEÑ:Ç o¯bC‰ì9Ï.Ïí£Bø\$àòÑlÉL.(fãlzƈ+L‹&éPÛàè'Â,ÇÒl¥rsÒm&E ©<>öRâ`ê^Ÿ'\$<füÒrp2t¶O2CjjùÂÂîÒ]'\$àS€š~äܨbŽR*dØÅQE\\)Rc&jZêŠ^¤>¡éº¨\"€Y\0•F–ûÒô PöEŠò\r’æ¢äDlá»bQëe(‚¸Ý¨ÌN2{`šVÊHLPH<50>¦Î‚²\r²ô¡g¸\$‡¼7cz±fÎi\r Ú";break;case"id":$h="A7\"É„Öi7„¢á™˜@s\r0#X‚p0<70>Ó)¸Îu<C38E>Ì&<26>ˆÊr5˜NbàQÊs0œ¤²yIÎa<>E<EFBFBD>&“Ô\"Rn`FÉ€K61N†dºQ*\"piÑÐÊm:Ï决yÌßÎF“œ ÂlˆšhP:\\˜Ù,¦ÈåFQAœ‰ ÀA7^(\n\$’`t:ˆ¦³<C2A6>XÝe£Jå³J<C2B3>Ìë’Z儨í<C2A8>@pŽ™ðHžSœh¬ñiÀ€ïÄŠgK€…“‚‰SDŠG2›ã›CH(ˆa3RÎ[+%XÛ²“<C2B2>·%\r<0E>e82qHR¬ô\n–\n&Ê«>W@r6Î# ¢<C2A0>¤Øi’w®„Ï„f´¬â9eS–6Žròþ?Ã\nÜ£sˆ’¦#«t³§ ü쎈PÈ’©K£Ú÷<C39A>\0PŒ<EFBFBD>ë( Œã<C592>Ê‘DBx;(Úp<C39A>Ž \0*ŽCª–„£ƒpë¡/ Ú¥=‰ÀÔÔª,Z ‰ ,Ø„ CJ££`@64)Hàö\$èB–’\nbˆ˜JÊè²Àú’?«*lùFs:5ªë „:¾Ãœàô¶Sº4»¨Ì4±ŽÏr^2<>BL\0±A`áD rŒèåÎo²Û(Á‘¬ÀîMsð;N TCchˆ<68>ó‚€!Šb<C5A0>Œ!²Î‰…Á\0–4¬ch@:¨‰È̱+x䦤ãC¹)Ne–ŠÌ@ÖŽi|<7C>aF©³`4ŒÉ`§g’9…ˆ|ŸÅ̲*¢ãJX ±‰}X7UÏxÈ–<,jNÏ¥C˜î±Bã(ñ\0Ä×x@ cDL3¡Ð:ƒ€t…ã¾(QøÜ“…ËΣ¸ÀðÇ,ªø^Iã<49>Î2Ž˜(¾1W#XDPÄ©Ž<>à^0‡ÌŠ7’\r|.:\rñtáV#O;Ó‰ÁI`ŠÆc’r¤ŠH£•šì®š=äÇÉ€<C382>(&é˲2YIÈP£…*Š¦ŠªÚp˨3c¨Ú„ª ô±ƒJ±[ ºÒvž<76>׳*5ê•b½ŽKè@À<>#]À£Ùð@( ☩¦¨–2f˜Wõ”vÔÉÏ’‚¥±/:MÊ3í\nø’+ƒpÌ4£ü!ÄBÈÞÄŒmhë—\rêƒáº&<¨P(Œ*kÅYCŽHÒ•ÞŽNèâ‰m0Ö)w]ÛXzSW©=Ø6uaF,”6øAžÔÙH£Så3ê¿´³Žä¦,ÿ›f¢³y(-\rš2:þ©?VÁÓ6Žˆ \$f’âÚ¹‘<‹‰çŸÒD` G:ˆ§<CB86><C2A7>–Ê\"\"\n<EFBFBD>à½×øžTèSOOYW®òÒZÔ©d%<25>,<2C>4œw\\ƒ''„à@B€D!P\"€¨j E <09>\0 œOH †G\n#D„`_Ke7Ftˆ„jaðpDJ5Â.\0žÏ\"‰dˆÈ 'Ó^^`»0&& 6¦åšUŒ(n ±5‘vŒ‹Ûá<C39B>Š|¼Á´ÃdL \$#&ÒŠ“\$(SmD˜å…2æàHJC°n6”P×aye,´1 é(›<><0C>5ØÖ´#ÔBZ’‹9eì²–€Œ¯È\n\nHØ„%‚ÆcCI¯8Êiô:B]ÀR<C380>0…È 8‘ƒªYBФˆBIJLҕ«t¡wÚg›) #È44Â%\n:Z(¤€ÄS²<53>ÙI8%“VdLù4<>q:<3A>Fu#2BQda5Ky%„P'ÉP;1„¢:T— Q(—¡ ÿc‘l‰\n}p' ‡CÎ9cyáÈé)(M–m^aÜ2†(nçM\0£òÊ\\†\n…Jqe\rH\"¡GžVŠ\n£S½ï—Àÿ5:Œ¯vV“§<ƒW2¨EhO¤vSPi)–J¤„<C2A4>q‰XGIÁ³Ðà #&Ìñ[‡¼Jˆh›*-fäFMUL³Ö¶WøÍÈógHʸÃUª™n®ä¢KXóãò”§•ŸAã%bR•‹ž'd:¦y¼þ*m=\r)„Œ”ÔèF”™hˆñ&Ѐ¢9&’ɪÕâ;¡Xj‘£‰öÀâ„èÈ¡d!Œ³604ÙRFfâ <20>pÆL0ó<30>EpHdxÄÔðvß3вU<ú¾ãt_eD²n œ'®º}»3FÍYÀéx_[ܼ–òßMÒ[gß-â.<2E>‰8Û»·OÌ•ô‰7L<37>^eï唲É<04> \",Ê‘@Žì×D{¦¤Ö7•Œ“ͨ(fè Á!\"¶ÌjW(lÂ31¦ái¹0dÁA“Nç\0ÝZ<EFBFBD>Št.ÅFöû]KÛ\nñL0Å—jê_ë<EFBFBD> U±–<C2B1>«Ì<C2AB>9kV…w#ˆü÷<C3BC>p@®š°d>ð++<2B><>r9@É\$Û%žç\n“¤EºÈ¯m¶‡PÔ˜²Ò\rZDc2oMAnÊŽQ38Ø›¢YÏ’‘ò•^»·<C2BB>ãÞÆ¯~ÇYt ±n>—§ÿ>Kc›Kt<1D>ºÚ:\\ý#opÔ–åKKh›>K\$“¡Ót¶÷ŸiÃ¥K MW„ât¨L5k\$-I_M%¹é‘“ªQ¡§\rçÚ<EFBFBD>¡4ž½Òúaië;!‰ fD‹PÕòºÙÑÞ¥#[(<28>\"){³š~Ñ3<C391>¸ÏÜš^B!'dš^ü,<2C>ÄúqåýÓçsì<¨`&¦Ãx²H§·\nFéÒX¿míÝõf÷^¡Êãidø¨’äîäм ÄâÝ'8nÿÇÛ44Ê-¯ÅPpW6;Mhùtu%ù<>áZO<5A>\"ï»üûäÜ‹c^x:ÃCgRÊZ’œq`Ùc\rs/l.¬[ÌPS…ž¡ì\$©ØÏ\nYh ¡™ÙAèÔÙtHÖ÷3hXc=ጊ•÷n»fIQg¡µ<C2A1>-@òÐ `FPDmþn…×\r F àÅcÊG§^–ú^·–\"YÑ R˨q' zô…B’Q;…Ô»®8<>ÌU6œ…f¼ôÝ·,*ë©%ì¢40ÙH5j9a1Ú<31>’Áé·dDÏlè,n¨¶Vq±[ü®â=Al†—@)&™Ï_s‹L!²ùËŸð¿¿Ãxp*G¤6{‹1˜ôfHª<48>9©Œ(MYÄ&+ë–îN9ßû¿~á[’!øH.M/J[¢3{ÓTYùe<EFBFBD> qÓ†‰9ýË÷Ûbò=¯x¢ªÐ}LȰ¯¸I‚FBI=âÜ-äAàÈ5âЊÊ5àÖ1š1Ãb\rÀÞ";break;case"it":$h="S4˜Î§#xü%̘(†a9@L&Ó)¸èo¦Á˜Òl2ˆ\rÆóp‚\"u9˜Í1qp(˜aŒšb†ã™¦I!6˜NsYÌf7<1D>ÈXj<58>\0”æB–’c‘éŠH 2ÍNgC,´ìu7ÅÁFø‰œÒn0ÈDèÁÐÂb<C382>È%²Òe|Îu0‚Ч;<3B>Î`u°O<C2B0>”Ú<E2809D>Ri67h§:M.ƒP©Uæ‚ZT4œ0Q¨öé“°›ç[õRÆuŠDADC\rš ®\\JgH‰¸Îh2‚ˆUø<EFBFBD>¤R2çˆæS|SXi¸Ûj{r\n)™NGnUË;±(NŽgzá“G¥³Î¶\$äW.c0ž°a¾½%8r§&îöĬi9Ü\r†“Ñê`dÒí½ÿÓì†5Œàè<C3A0>®\"hÞ2\r(óÀÏ‚Ì@ÐD˜,ËBö¸‰ÊÀìŒ#c*f£˜Ê·¶ÐŒ‰ ã @1* ÅQb¨†¹)Ä’.\"2ñ° P‚3Œã”Fð¼hs”ð+j¸Ü8Žˆž9A\0%(ª4‹<‰’Vò/\rxÊú‹èßG<>Œt½„ªš”Œ#rÞÍ£\"0)Š\"`0Ž\rè6Ð,ÁoÄ*íBü&†mƒŽ!ÈI‚SE5TL<û»(\"0j@¯BHÚ8+<2B>xˆÐ\0TB•!ÔjE\rB‹:Ò¸ÐNÌDQô<51>iÇ‹ˆØÖB Þ5¢¡\0†)ŠB2œ’ϯœä\r¿¦b`ˆÑ#Jú0¥«šTÓ£0ÌÜÀnÀ@1©ïˆÆ1ª#˜Þ¶\$1vÀ2c,6‘±„,èúVÒª®EÒñÑÈÎ!eðî¢È<C2A2>䚦5Xß\r¥´`Ë+¼Oí<4F>?¨ÒZ&§J ä“©(*Ã%!–`x˜\rÌ„C@è:Ð^ŽùÈ]<5D>\rªû”+ƒ8^ŠècÂüš¤<C5A1>xE4¢;s˜ã¤7\ra}O >ã|Á„\rðÑÍ(Âs` ^@õM®ò[è÷†/<ª.ól']+Ãî´¤+ê+¤0!\0 \$\n`ê8T’ÌÅ\n0R˜Žu1(,z Ä0O>4Ù‚ƒ”ŽŒ0Ýî0´ò <20>¨Ü°ßÌ#/ÌàpBx¦*Y‚<59>Ó<EFBFBD>ŽW»0˵<?Ó„’c!fcLû†Üƒr<·ŽR\"nÁ¥¢ÈÞ:ÜshAÃ<41>ƒ~|EcHÎN‚b€¦Ú\0Œ*p³ŽÓOÔ;HèŽ ƒjå9ƒ’ZÒPq/dö÷[®þ[éóg¥€Ë’Ôj—Ì”€\n¤2“\0܆ˆÂ±RÊÌ\"’\0ܹ]¼cj¾O™ÈqiŒ+§\0ê˜:l•¿÷žàÜ)FGÌ ïšR0¹¤*†Hü¯Ä¤ÃzLªõW³cRÒR\njHãĵ þØËþoí½g¼¶ph84Ä1ãØ—\$BH¡<'\0ª A\n<EFBFBD>F@@(L±¬±›ÒCI\"R,„Q<E2809E>&nH\"½2)Œ&%Ó`˜#hpG†ØîvÓÒ„…„®&èe\nù+6Ñ\0006É\$|<7C>J]0E„Ö&0¦¨\nšŽ§\"Tb½*ݰmCG鉛`©V’o{!¹)<04>Ü‚B&På~``¦ÐOlmr‹<72>ã&9„Š!ä¡5Æ3ÀÊ÷‰*À*ô®´àå'å|ÓM3tæ–Ö¨ÚÑë™(…Ä ÷l|UÜ6A®’´ž™—‹áæ0—ÿ&ÕT4ˆîæk%^aÊ›hÂ+p‹ÑQ]6\n™\$Ê^ž Aäð–Á¨a]&}<7D>.“°€J!´Y€¤/Bm£´|¢Ñ¼l\$}%'kð–Å3âIaÁëNN´Ä\"0êR-¡”jŽ7THižK†\\ë¥uÑ\naBª-OŽë”:Õ2vÿˆzÔ<7A>äXŒÃcXH”’|d…*BöK!«pÅB‚\$%\nTÞiˆ\$`3Ÿ:èA\r¤#‹Ùú€ ®C„sõ˜ÁÑJ<C391>5\n\rqZ‰Œ(SæJQ*†\"I¥&8*‡Žò€FÒ¸YúÔe>†Í½Z<12>#×±+ÒúØÙ€ôž ht\$…z'—ŒPZpsl¯\\8(\"B\"ÕÂMKô)–úr.q0«l&š«¢iÊýµ%O\\’ÊI q–èYḓIâ%ä&¶ÍÌcåÁ0j6÷ÀÅ[z£¬|Bª¼^Â/]Ž‹Š><3E>&t\0¬eä]ù\$,‡D8<öM¾˜†öŸ“ ä|À¬õî^\0P\$2_>À§?õe\0o=pž+;Ê”©Ú\\wÑÿb¸&N0pbP+œˆ™tÑ9Iã8\\2!=½ˆH‰c¨´DËŒø3ŒùqäùìÁi\r¤ia!S»Þr”úŽùXìR\nl—©ÉʤÅP–ÏD…6Ú*ôf鮿Èe£™-@gYœ3•óÈñ`&U¹v{+ÐriÉ`Ó‘¢¦m(¹^hp<68>æª0F_M8b;¯˜½t±xÃ\$vÙg…0ë\rÑÓéçh<EFBFBD>JîÌ.ÍA¹ŠÀYçŸóÆqÏW¦ƒ†ù–ñPÙ\"nP¸ÍD¸ðâR?f›>!;ë²ò)‹C#^ŒvëåJ¦Ÿ²:ób÷ý?-É—»oí¸o<C2B8>Þ*šûn»B§L\n7žlú6ç‰GôÁyuú:so>r¦Ý´‘c0åM›“x'\0Ñ\nôLô‘ÚEáÄÁ<†õÐîŽ×âÑ\"í~+ÅÐ!·7\$’‡@òzWõ Ö›GŃ“Ê<E2809C>ÿ¾¼½&ò½ÅŸo¯~|ÃŒª¤EÏ\$ 'ÆVÙ:ÒöfÎ~sÅ/øÈt)0e ‰™é·j×teúrÝ“28ütz»zÄë]C£®¾'#àY Ë=é½ÍöwLí=Uÿu~ÓØ;ºO6¶{v^“ÚíYÎêœr-ž“ÌŸðH'FÀëpX¾ç§LÌäHm\$PÎ?U3MfuWËA¥ÿæH#Åb2ì¸Ð¾ÙK1b—Ìyø™%:GŒð„{ ¿œ9–Pì’¥*+{(míI!ôô3Ü·lÚLC5<43>°†3æÃ]sÔK&‚ž–?áƒÙͦY4Wð‰(U\n<EFBFBD>ƒ‚¡Óù®©Yž‘¾ÇIêµø_¹ÅÜÅqKh=û¥äŒ’’{0Aï°äE¤Á\"ìm\"8>iÎû Ðî\$**b0úŠ’ÀËP6€²Ã.8ãÊ`BÜ%Ç´EKØ^åbJH9B0ö00žM\ni‹È]¢HÓê!‚®+*x%ËŽ—\\^‰R1G\"\rðv_°VÿD×ä\0_<EFBFBD><EFBFBD>2Pk0p¯Pu/\0Í‹Ò\$„·M>-‚up2>†&¾Z4ä8dŒD=ˆ<>†øP«þKƒ\\<EFBFBD>ãþPIÄ\$ÀÔeПç‚\r\"Ð4GlKÄ|,æ‘\0žx¦z‘€\"ÂBãn2(ü9fAéOÃLôë¼ê(²ˆ<10>å.j>Ì8Bd|M\$<èFè•'(>b´ \0<EFBFBD>@š t\n`¦";break;case"ja":$h="åW'Ý\nc<>—ƒ/ ɘ2-Þ¼O‚„¢á™˜@çS¤<53>N4UÆ‚PÇÔ‘Å\\}%QGqÈB\r[^G0e< ƒ&ãé0S™8€r©&±Øü…#AÉPKY}t œÈQº\$‚›Iƒ+ܪÔÕ8¨ƒB0¤é<sªW@§*TCL#‰i\$\n<EFBFBD>AGÑS‹,íÆ€A…€§B¡\0èU'<27>NEêýΔTFÐ(H2j?wEÁ•ÎdZ…ʼZ¹•0\$öMŒ_Á”pe4PA£Ù:<3A>Ω«Qî¨c™/)@ªëuÚý†ø™ªkPsÚa\0M9×Ê—*y=J¬+iyê]JæLà\\Éd?mʈîG{Ú\rUT› åh4Dq_rAVºÑ´â>U#‰èŽN«¯#åÊ8D*„;ðÔ<C3B0>hc—œåA\\t”,R>¦Bd 俱ÊHª¡#¾Ë‘DÁ°z9 9…ʨ—<C2A8>E‚®Y§¥<C2A7>ps–Ή4Ê8(äi7DpŽAЙ_§¥9t<>¨I£…+ðI(\$IÌM–‹„Tº+ ],ËréÒP§96W3La8sú\0<EFBFBD> €QÎ[•I6C\"C @õ*ðaÒ@—1Å\$±Ds; TôCDpaÌR‡9hQ1eÙvs„{øÓC´2FÌóãÎ[RÄ\"zò<ÏC4t’¥»d¶d¬ÜèØ6 Â1\rƒ(@9ŒcÜ\nbˆ˜<EFBFBD>–há<ŽY±]K3\$\r<räë‡ÉP„aRÁI-K<>äA%ðé=2\\·Ò˜<C392>dñÐ_—§))Òt¡|IÒLÃñº8NÅPb8@Z df<64>ȉIå`ÄãÌ\nQ%7N \$¹–óñ]ÑUBPÌPØ:LYpFœÅkV@•B¦)Ð[ðûÈËùr<>Õ!\0@Û \nÖ5̓dƒUR”#øƒø]¥HýdA¨vmŸ7´ èd[khÄg¤<67>Zƒå©#š«4Ÿ÷ù óÁÄ\nÀiQ®ƒÍE£<45>¯h¤c±iVY— Ð]¥È±Àš0Žc Ê9‡9Žãxå?£Àà4ŽC(ÈàÂ\rèÌ„C@è:Ð^Žýˆ\\0ŒƒhÒ7qáw,3…ã(ÝÞ<C39D>pÜ9<C39C>#~W£ä3Œ£§P/Ø0ÖÂHÚ8X#o|:<07>xÂ6¡´:\r|ü:\rÿÂ5ØCHéÈñãm<C3A3>í…Éë:Ï´-ÐÒ®È2ò ‹Ùc'\$ì\0<EFBFBD>[÷4ˆÒÒ\"\n‰&fð<66>¶cæ}D)lⱂî×Òd,Äðè#¨#Å{û4ÌÀŸ„G\rÁ«C¤•¨Äˆ\$‡@¶€'Ö5Ñ>ΊŠ\\#”Q<10><04>_5íù£™6uBxS\n‰!‚MD 7\$0@ˆãŽÎ¢¢ÝCe4A¢L9E„K6q,†%ª\"ß …§B3Âø²ßbK}oíŒ<05>ÞAÅ\rÀ€:½€Þí£A¤3‚’\0f\r+`ÒèÂ0T\n\$7'àÒõܳï}ÒD9ðÚ°Üxvw. –²÷ÇûIL<49><4C>¢ä\"Çã8‰Kü‘µÒÈXˆŒac¨¾\\.¡T;{‰M†>1`:4K†’Á%ÌIfiÅêoN%P–£F …ÈäS\nrظá²vBØsS®TTJ?ÍQhñ5<ø €Á@Îèþ<>)µahÖ{¨áˆðƒ<15>DA51J<31>„(§R*”r‹¥<Gšðb¥²]KÅÌG×zÎNÂϦ¶€' dF‚?Òð^‹ä#œâXtˆ2Àº …¢B@DQJ,‚xNT(@‚-@¨A\"„À‹RaèDh”rˆñ\rª™l?jÁY6#*#˜®J8@\n1Î%O|Ðç@rˆHŠZ(1y¯UîÊ„S*:òð ‰d¦•iÍKä’¨<E28099>Å,(Œø•NÊ^Ä™¥Ø—Hú F'ñÁdÔO¤ç\\‰v¾ÓZoHW\ru^ÉI›â?BÎYT>¶˜AZ‚b˜w#ˆ<>uÃã\\ÐC9?'ò›ŸzR Ø\"¡-‚]/a6[툔\\¬!Ñ´áHBUÍn1Ô@’Žrácl<>ÛâÁi<C381>šb#÷|TÓ<54>JŸˆŒ?—zܜİ@oK{—ä˜Î/ŒC<C592> rù7²\"œïŒ[#ædA-žÎQ].ð@KïwoíŒ÷–ËëümÊ)WbÍ2\rÍÔT‹!†H¤–ñA›1‡<31>샞’5¢hBíá¼·…1Šh¤JÈå)¼V©Œ\" ñ<>¯M‚_<>1P9Å!kŒhtõÞÖp¥ê\ná”1dµá“MÁF)®<>bs–ðšt½C”X<E2809D>ñZ—G0¶”G³%ئNéå=¨äК“dC£¢f^–+æ HŠgM)¬“&Y<>añz<hQ/ËjVÂÚ\$shý#cû¤2¨çÒ<03>i’Ëæ5zúd(d.9^†€Ó©•òÀ¯Õl-¢¸bÖÉÙHðL£ÊÇNöÅ)\\÷[ì.¹ê]çÍ0öÊ+êÍìûé´hÖËbóeŒím¶žÚ»ljŒî“VqûVžiAÛEà\\D«¡¦è[4U¼7“Sj¨›{‘ýó½5Yµ¾ÃØÝ¨™vñà¢ðÙ¦3öyļ«†Ê ÄHF…Õ–3YË<>›ŸKæÐ˜\\n[ÍtÅTö17Ú„gùƒ-c%ã·kn'Ʀ¯2\\‹jé>EÌ&:¥<Òm0‡HW<48>—œÝ<C593>Û[B½-LèìŠ:óÜý…Ç(‘ƒ–â©\r…Ï·Ice›f@½·ƒßÎ}µìí6¥I),l~oÜlúW±ýÜRSNåN;¦ãêVIoeHý—ƒpñ1ªáV„<56>w<1C>% l^Ì2'nDyˆLKótç6ZÌf¿*øY³.ø,¿ö)¨jb±\\+Å<>® æ‹¿<E280B9>¥2–xŸ_{˜¼Ü<0E>Øû\nI¶%i[ºw¾ß·ÈâTù}ë»|þ_ô¾eîð_[å}™±Ñhçï<>[<5B>í·ÕôOÆÜkLEŽTœ<54>…¨‚‚é>a^#‡(›1D\0Þ§ÊÂîm€Öâê¹Æè†2ëäTìF¬ç„ËPìoÖQ%;+¿k ƒ†êjc˜žf^Lp0Zp*ó¡\\ýbYcñÄÚæ¤>N ¾N±Ãöm”0\\îêüO¹ƒ™Ëu\rˆêP8#ð|jÐpùÏÐäMç°nøÐy<08>oÁ9C˜9Ö„£¦ò͘épw\ndB9êĄд‡ ^î™Ë±£# ÐÑ\n°ÕC\nKV¥\\éM<EFBFBD>°ê´îõÏkZJðƒD,i\rÑäÄýcÀE'‚®ºdºðálù‚>»0]°ß/¿ <20>q€ÐsÐ ì+ ÅúmÄÚa0œA'±R`á,Í(x;ŒGl®v3ánTáÎþ/æ.0v?&”C¤pR#\n ‚Ø‘~QOèO¨„MÏ; -®fP\r€V`Ø\r Æ\r`@xÉ’ Â\r€êXGÐ|GÌ\r Ì @}ÇêÉ&X@Ú§\0Ä}©\n ¨ÀZ\0@wÀÇ Üçê¾ëò\$ç`fíÊø<C38A>´˜æJòè´Á¢ÎNÄðQðD[·&¬·Á\$Îe!l*ƒ,žBz'ñ‚0 ˜<>àÈvàÎRf‘\0ÚrÅ„ÕE|-<2D>\nÈájÌÁ8øf*\$ÆP ÜX§\"‹ÚrNáv¥k*\r¤Ãl\n#<23>(.P»\"²“Î@í\r®\n…~X-L\r\r6XQþwÑÎ\0è“àÒG<~’Û\$»ﰰ.€ãf®R‹%HÜÆ+tÝnp긱k”³-(Ì‹*X7¥<á\r(°Z'å:<3A>¯Â8¹á(bV·e°Lc¦@¨R™)Àʪ-\$M’úç%¾¥%#ªV¤í*’¬±E™+‹ p{ê>Pl?«\0†bzƒÊ¬Q<ìÝ u2€t#\$";break;case"ko":$h="ìE©©dH<64>Ú•L@Ž¥’<C2A5>ØŠZºÑh‡Rå? EÃ30<33>Ø´D<02>¨Äc±:¼“!#Ét+Bœu¤Ó<C2A4>dª‚<ˆLJÐÐøŒN\$¤H¤’iBvrìZ̈2Xê\\,S™\n…%“É–‘å\nÑØžVAá*zc±*ŠžD‘ú\r‰ÖŠL<02>‰´ƒ=qv¡kGZá)Z<>Zgвä–\\;ËK’ XìM*dP‡Z\nFƒ&Rµõ(‚ °·©e1ìvASb€+aNÄÂ’¦s«Ñ0§Z½qO\"0V¼&7‘¯¤#ÊÞaÚ˜JÜ‘\n¾\rÉX!Nµf%<<3C>v%ñ•§bŸ¤ëB@‘X”Ú1ÛNƒrYû§’ëU*eÉÞš5aZv¡4Þâ+\\ã³d[èv‰<>dé<1D>+€ë¶…3¾\\<EFBFBD>‡Y`@e‘ã—«îN–<4E>Ëö‡CˆyHé¥çQnÄ“°ËX@<40>E«P'a8^%ÉœkEÉÖû?Ó×… `é–e£>e™\0†©ôÚ/ÒD•&2ekàTÉ9˜”Œûœ<C3BB> ‰Ä”äŠ22I‚ÿ¯äBiú åAØœ.S*É!„ØA‘.™TT&%äâeX¹íQNPäâÍ&ºŽ³°í\$ÉÊ¡;h\n@ˆÃ¨Ø6 Â1\rƒ(@9ŒcÜ\nbˆ™\$Ii@\\ÑŽÙA?Å,5Ãïë]\$Ée”›¤Hu”äD¥bØïõ“eÙ¨ñlJPœ~ÇÈOYló´…³?\r»Y.ª/ªJ;ñ,N³‹™'/ké),Ëd<C38B>Ñ!ÇpÜ:ýB±¼ÿ.V••f\$0\$ã9<EFBFBD>C`è9.K»à]<5D>d‚f!Šb<C5A0>ŒƒÓ‰XÒB…JKá¯iAÕ9÷:ƒÝäâMÞp#B²éTß´èCRÕµªlvgÁÖQ‘™\n’fËQ•è\n\"Lbx¬mwG Pš0Žc Ê9†¸9Žãxå4£Àà4ŽC(É<>‡ƒ@4m£0z\r è8Ax^;ðpÂ2\r£Hݯ…Û0ÎŒ£w<kÃpæ4<C3A6>üpERŒ#<23>Î2Ž›¸¿TUÃXD #háT<C3A1>¼hèã|ׄHè4\ró@è7ö#×U\r#¦Ã¯<C383>µwT¶³Lã<¨´-™.<2E>¢RØ\n@ ̳uè@*<2A>MÆ<4D><'asªKÜ7K\"<³·~yØâS,ô&Ð éš<C3A9>¥)ˆ<\"™&ú¡J^#ÉÔ,Åá7O4Á”^:ßÚH.¬Sö ËZÐ áL*\$„x›ÓÛ<¬V³Î/^q„‚ËùÒžò Hì‹Å¡bh³°@‚‘õœRT[Ú¤\rgðA©<05>ÞA\rÀ€:ºpÞàÁrA¤3‚b¬Ã0iU €;–ä‚£ÓUÉ 4ºfÌï<C38C>è ÁÈ7†ÕV×óˆjmU‹B5€ÀV_%°—Áuþ°Q þ<>ñš¡@' é7«ö7ŸÈò²áJpNBu§²Å%SúÎ<C3BA><C38E>b<05†–’â^«±´3ü<0F>¡>‹;—þ S’<53>*‰!¾²TU` z/Lv¼W¬U!Dà€òä ËY/3Â̇‘P¡Äª‰Qeåz—㔂È`ë65Ц)f’Ô\$*}å<Âzo<1A>ì\"àu‹g겦DÊA<'\0ª A\n<EFBFBD>uÎЈB`Ežjä<6A>!È‚<05>‰HD¬V\nH<EFBFBD>R›+I¾F\"]Dx™‚˜N®3Öò˜¸[\"H¹Ñ(:ÅH˜M¨©kÑiN\\™‘v”Ñþq#¤‹&’|þ™Çdí¨LŠ‘J;(‰g¥AØ!‰+NKO¤E \\§åœò\">RUµHàaO…äˆñÕ\\T‡eNÈL\"Ä\\–eAN:l<>\$²dŒºjÉ0\nù\0 F(Å@ígn#ÄŽ£²7Ƙà´eô—‡`¿F<C2BF>èÌ.x\\A*hSåÊÁUöG”ñ<04>0p2Aˆ!£X‰2ÉÍ÷ÕdDI&Ò•òõïA”H¹›² ©Y{`è,)´vµ\"FV#à˜ °6M2NJÉi/&'@²±)¬ÅHH—€vxÞØaJeÔÒÆ2`R »Vîq9Y‚0ƒ \$sÓz^\"\\ì [ ˜W¡‰î^\"\roŸä¸¶æÈN³«@£\rQŽ™ïH\$ɰíLgu3t¬|M}¿–Ò:%T®hÖÍ;iÄK\\»jPe^Á÷ÔÒØåƒ,©<>ÃÂzƒÃè€i¹Ü\0äbª©saÍR»ˆŠ^T¡ 4ãELª+BWfqC«ÁJXŸù6ëÄCÜŠg2DÄdPÐN’[ȵ–ÂÚÁQýz%Ö΄ÐÄ>feë4”Ö6c7¹–™eúý\r.U¬-´Ä¾%·&WNlÎ«Ý <>._ÎñW®GÝœh!¡Á\$Ðm£ÏäzÅ…¦ôéXû7šp®r.TäFÓ¹>€'à(¡Hpé²ù£äœwŽÇ幦l£ÏÕ({UÉgÛŸlÒjBøÄçc ëË\0<EFBFBD>Ò[KI…ôvp¶\rÖ{ <09>iX¥Åîjj[.JÓÌï_ëC›Z·0à½as'Úa¶m&…¸–n–ÍGoáz<C3A1>bf1ӮȯaÄ1Zw1S±Vgm\rÍ»êQ`ð¦?Õ}ÿKx\nÓÝKCƒÔ™ÍÀªfoÙh¹—Z2šDzH)rœ•ïR˜:è‰D~1ºJêÜwYf€\"TùGI@;nñtO’Œ¯¤ôê\"œ\\`‹¶<>Jñ` åxJò¾[ˆxGZyw6Ôj|v²Å¬¦…ÙÍÛ²©|(<28>›v?ïþ§Ö¸–¾Ü¼[•-®¾ïß]êø‡v½e±³†É훬é÷\0ËDòf‚ˆ–´Žê²ÐµH^\"X<>a6β½ÞUƹæô¼Ñüa[Ú/zxìò%S±8}¾LÕ«ºz±ŒŸ™»]Ú´2ß=Ùüx°¤BdœÖÔs¤\0€OÑ낸_ÁÎxíö[:¦å‘ÁÔz&?uü%y¼ç¹÷rÔV„*kì5}¾¸Nàž¹«û“êùÿEöc‘ÉðåY÷Üí<>s†q}oß@^}cþS…ô¾ò¾Y!Õyõoöý»5Õ_î4ˆá<CB86>ø¶ÏüªP\0÷¥Æßïí\0ÏØª‰Èÿïèö²A\nê®êöAoÞúð.úÌó<C38C>Ý <20>k€ÐmÏ(®e¼\\lœÃ²QaÔ[îF<1D>nNÊ€Lâ“‚^“Î\"[#6<>â<KgÂâm~Úaf«ø.AhþkÒv~P|ï˱ì\" (û#zf\r€V`Ø\r Æ\r`@r¨’Š€Â\r€êUGnv'j\r Ì @w¢‚ȤU@Ú¦º\0Äwˆ†\n ¨ÀZ\0@q Ç\r`Üì0ßaÂ&}eÌ\"ÿl晬ÜaI´Gò01 LDÈLÁÔ„–c¾ê‚ÀdÊLC.+ÂÈî§ÊB<C38A>NP ˜ˆàÈpÀÎQb‰\0ÚlÅTÇLPKþÉAdçÈ\0éŒö4f ÜU¦½Lè^Ì\\!‚Q,õÍû¦vÚQ‰ÌÀÌP( ¨TåRÆŒPÅPòq°Â\0è‹ ÒFÝ,¼çønÊWîJO¤þP#²Ð¾ç§ŽS<C5BD>6œŽr“íF;a.1á8PËœ¯@b’}iQÂDx¤RH<52>jE¥\n€å”£¦ (6í¨Ö*˜Ch¢-Lä3\"ÆvötödF6Jºèj² AžRB>\0";break;case"lt":$h="T4šÎFHü%̘(œe8NÇ“Y¼@ÄWšÌ¦Ã¡¤@f‚\râàQ4Âk9šM¦aÔç<1F>ÅŒ‡“!¦^- Nd)!Ba—›Œ¦S9êlt:›ÍF%!Š¡b#M&Q¼äi3šMÒÊ9ˆ—<CB86>ˆ\r†SqÒ6ib¬ä‚\0Q.XbªŒ'S!¾;¹ÝMf›0€ìi²1¢B„@p6Wã¦ëBÎrsžÏåôJ1ΑJ¦ŠÆ‘ÒíJ´ˆ#±H(¦k‚TjzR!„èa¬PMD4¨e”ká¤C±”Ôe×Ö¦À¨¸Öl®‘̦óo¯KÓ` tø&šŽe•錧-í^›ÎçépÒŸ á¯b¯<62>ó]Ý'šnÐÜUðQC¼i5MÆ{¹B€ÏÉsû¿/ÚT®ˆ#¢®ã#¡\0È÷,ޤõ<C2A4>0k,9£Xèb•c“\nC(È0ŒêL; ƒÐÉÄ1J»#ËÊ<>˜„Êð:¼h¹^é”*謊&k¼[DÍ(J2‚ø 2<’‚è\$›\$IPÙfA0\\4ÒˆÏÐÖ1¿z Œã’ˆ0Ì€’2©èªî¿Žc¨å #LŠ%oJ¾5%H°éM@&%R[lÜ2ȰÒ6+.øÊ€ŽiZ.<2E>ƒcD0ŒK1Œ#sL(‰<>\0êô¸ë˜æª5ÃLF9B+SŽ£<aDR\$aBƒùF«mË#ØÆ4;ø§ÎPµ‡b<E280A1> P‰\\¾#æK¥öˆì¾ÃJþ±«#TÄ #hà«7@PŠ”\\lìï¥0+øÒØã]’<>+qñ,‹3AîbÉhÚ`U¬ìURµ-<2D>H俇¬É²µ(¥â¦)ÍÞ<>+l€@!S©šö¾¥+M€<4D>ªÃlÅ\\_Ìb_U„\rC:Á\$‚T8—µ×kô3±C(@7)(c¯“2ÕÚТ.B<ÒMä<>PäŒ]ÍÒH)Œ·nO(<28>ƒJ•¥òVqj\r!pAlæÎ2ù<32>0¹Úço\$˜e‡£Ã„ ›Ï¹CÞ<è)3,í°ê\0æ;ªÒ@Ê<LÌ2lAã`4LÃ0z\r è8Ax^;ópÂ2\rªÓ¶*Ã8^²tcÂÌ7%#xÜ„T¸ä3¸x¿LÓ£XD\\,C±|‡<>xÂ1áš:\r^-á\$û@èûiZ„²íªúÂÄ1CN´¯,\r‚„<EFBFBD>/ë%§ïº2*6´\"€<EFBFBD>(0ìI.ű¡\0P<EFBFBD>) Ã)ðª<C3B0>ä%:Z—¬uSÒTß!Ž2ÁÔ6ÎhKÙ¸&͈ÿRjÙ‹é:\$<EFBFBD>A¾\"5bØÂxS\n<EFBFBD>Ù– @±ÓȾ`íž+¦Z`Yp¸7ØËé\rÁ˜¬!šY;<2ƹ¤/x\$‚Èo <>NåDb{›…i\$¬Aõ@GÔ[:/æÀ#GÐÇL\"â\\†å†`äsaÛ;´à6óöléï`|’,öSÖ£}+iÔ²¦(&P3A±¦¤óæ<C3B3>—ŠómKØÁÇÈL¯±ö\rá<EFBFBD>ªšætƒ Ô!¡,÷:o<>(Bfe<66>ª¢üv×haO'Ìú£ë+P¨<50>Væ~Ñ©/5¥Êô°ª|,¦”&’²c’ƒ_(ÑjY\"<EFBFBD>ZÌ»4Ë,ì¶æÔÚ×3!9é0<>I\$ %<«\":_)‚‚eÉZS¡ÑpöVË)¦)³‘b\"Š {\\˜Ä\ráÅöû>'1] D†„•pÂq.5áѤP‚Lð !¸1¦cß; )á´¯’ò\"ÖÝ/©>QÅšÙI¯ d5l¢¹U ₊<04>´ñ^_Ÿ ¡-'Ôí‘¢8G<38>IØ*xÿI’]ÌØiEEt&L7Õ< \$k47EuR/A¥j«‚\\†( %<25>°Û)<03>CjÊw¥¯TÂMÄ\n§\r1Y¡P«»®uk]/`ÕØŒLe_é V=eQs‡5Ò¹fØ¡7«I²S\\WdTŒ<0C>ÙoŒA\\DËÙÕ<EFBFBD>ÍÜò,ƒ:÷áž3Á©„¶ŒˆÕ¤9¸¥R’&¼ÇI‰:Ø<>@Ò”ÑÔØJáVÕ*i¬+ìÂA)<29><>ä”wïmݲ2\0&ÞåJKýÁ~Ð2â²;<3B><> .¹–öè#«¤kî¡¸ÄæØ\\’Ÿ6^Áa¸'0Ъ;<3B>jÃ<6A>èI׺çª{¼<EFBFBD>.<2E>¸¾—Á“‘‹¿¯Õܾ&:ÿ_‹À‰ò‹\"Äb‰v³0pHl480¯à÷îaZ‰@jt)L\$<Õg[-´õa\n Ò:ñDtð8ÄvÞ¾¸ä½´â㹌yšÀÄx<C384>(´>TIÏ*–%ÅZrE§ ĆÙk±<6B>'rj@+'\\¦ûx¡ÛAʲJO'ägpÖTÈó#Ć“:\rÓØ«²ˆÕ^8uŒ¾¼Bl¥ÔÈe›E=X+\"ïbsê·pÆŠX ׉‘*Çùð¹çâ= í¨¡U´Á×I+/*q_oµJ™ššŒßVWWøO¯5—–I™<49>6}|j{©f%\"Nn€<EFBFBD>Õ\0@j™¦/aÈËi:>K5Ó†f0êš}„c'¶³Ÿ3Œ†º7GWUªíÆê‘Ùµ´‰B~–…t)Ï:¥<>ÁB‹Q ¦cP €WlÜ}W‚^9M;V‚»ZZjRîlºd>óÝš£0oß¼–ž¢¸Øo/ǽã•èS™†ÀˆéÂ˪¸Y³Ø…M.ß–;•Ò-Ck£<6B>®×ÊÄG,5 dxêãá®á6.Em¸¾Öäñ~ÉqëïË.<2E>ä·3¢mS3bfë*œœÝi¹‘§Z@AyÞ¸¿~I¨óJ8D¿¦^'˜k\rc8J(Ùbpç2s¼ž•M¥t’Óˆõ\"\$w80Þ\rf›Ç4†mâ6Mÿei<65>¢A—R–ÒjåWƆÊC7Žô¡GH¹ìPô™Ñ(r\rÚija/1¹)¥¯([»‘^f‘N+æ9†¤Ô½eòŸ¥ô[ó)ê´OèPý–³ß†ô~–¬¹öœûÜ{>Ás\riVøùÿ\\G¾%}>Îmÿ•Cü׊¡nɾç–?ô«ôj³åO•tbY»øß5û½?<3F>þRX}a™ z<>%äÓiUú[@|sî!å›ñÈÿî?‰·hüä>ïìé€ÛJ;CPûÊŽÕCp6ÒjpôbHýbŽX#pÿŽÈR®m¶ôïlÊj~ïÒh0(dcG êæ®¬aϾöâHÒÊì÷nJÌ0e®\$øHýƒE„<øÏû¢°;jú ƒh+¯d÷C¾´#ÄÂì¢éå ‹F&ErðÏÈX¢<+GN®h*Â\r(¼DË ÿïê*…Ža¦A#¨C\"îIÆäã…N(* pØÃKq\réTåébæKkµ\rÏþÀjBAPúÀëLuDîIÆÒNr¡1 \r<EFBFBD>4÷ŽtÒ0ì?Ï3kÌG¦Âäñ\$åêt-@d\r€Vf²lPuH–È êgJ\"dÂjÀò‹‚zŠ'„¡D’mŒ\n ¨ÀZ¢ƒÖaâIÇîÁŠj)‹q<12><>#*kq<Âqœ#‰¦¢0yØ6\\KDòbM«CJ\n@ò)ãV!¬+äFs©ÀV±Åª4*8.úbèI-dË‹äV¨&%ÃÌ8j^JÈPh’<68>àÏ È”dÄÌAËDà~äÌH¡j˜Ó(â@êǾ\"<EFBFBD>#É*ŽÉ„ÕÈ┪|3Æ‚ÖÕB*p£ò3òS#\\¨òD\n…0,b^Í{\"È\0Þ<å\nDD\$’T££b/ÏB:¤ÖM¥n<C2A5>ÃCÒVµÃÀ׆ßBÜC†¢jºe âÂm#‚^{²PÌK°4 ‚+f³\"…f ò€s²Ø?¥R M.˜Ã‚lŽ\n…G\$ ”¦rO(<28>®‘\nx¦Š~-²~?îj‚*!°(h6¢NLJˆgÄ Dbà@";break;case"nl":$h="W2™N‚¨€ÑŒ¦³)È~\n‹†faÌO7Mæs)°Òj5ˆFS™ÐÂn2†X!ÀØo0™¦áp(ša<M§Sl¨ÞeŽ2³tŠI&”Ìç#y¼é+Nb)Ì…5!Qäò“q¦;å9©²gÎF“9¤Ý6ˆð,šFl³MSR¡„Ãq¹˜ŽGSI®äeÁa\$#ÚO<C39A>7›#–1”ñD9׎cª¡Î±Z”Q¤·èÊdÏañ8Xm(Ë23[<5B>,5\\6e*<œ\$˜y5âf\n\"Pç™[¬|È\n*Bä ¢¸ÂiÓ#– œX<C593>;Ãp×3y¶k2‚‰‘ù.ÿƒv0œä‡Ÿ)”Ú\n)ÃNÐÝVXr9›¯Þò¹„Æ4ƒºš98ï8Â1=/’7%ã;&æ#ÃR(¿\rÈã¼68뛨7*oRÌ1¥m0Üä)ª*JÁĨê9B²¼;„ àô½Qú»Æ)<f9Æ Pœ¯±€Ò•½â¬†°¡ú²ìŽL0J”ŒCÊVÉé¤Ý‰lÐ#£tA-\nŠrþß‹Iú<11>ï˜ä¿¾TB߈#2^Ý%`ÊÝI®C”<43>¯#:V2ûw./ T³\"£Nø\n\"`@7Ž\$ÖÿŽ‹LèßÒš…EÀÐCÕ<1C>ÑÜz)¿ïpÂèøô¶7õ\"6Ôõ„Îà(p<DÕã)´£~\$<EFBFBD>£„Ý\$Äb(ñaI[é#<0E>lŒ²\nX»# PÉZÓÏçRÖ\0P×-\rƒ¤XŒ(#\"Øb˜¤#'Ó8\\\nÍhéH23-IÚ<†Ñã‚»hŽé™g&n’IMŒã\"jøÇŒÐ@<40> X*8ÿƒKæÛ!(úô*ÆV–*Lj9¬<39>ç}¾wíÿ ª+ªY‚/W\";s#<23>·:c+ç&©»ËzÔPÊØîƒ_w‡•8ÐÓÁèE\0ƒ€t…㾬&#j܆…ËPΦ{.ê<>+^PÃ’8:iÂøÄ¡\rÃXDX sÜ™Ž<E284A2>à^0‡Ìî<1E>\rzR:\røx†*(ñX-ãpèš®x+,Ì+Ì>%™Õ<E284A2>\0 \$\n'(’4Oû7¨Pª…9êp<C3AA>8p£{‘C*FÓ0¼}à†ð(Û:šŠx¦*¶ºL¨ªj‚–¦ö׌š³-ÁoÀçK‚4¥>N7¢“Wr3ùÉbªkb3Åj¼š‹#zE(£ª\\˜%58ÅsŠth@ØÑ°ÓSˆÂ§:VÊŠÁMÎ%û”Âzzƒ’j&¬É9—¬¶Iª<49>A%M5*<2A>ÔL<C394>\$[\nÝ+ÔÞˆÖ‚ÒyÐlõ\0 S<ŠT+:Wö]Õi&^dY念2Lãß;Ä\r͹×&Ùñ\$<EFBFBD>34bÙ<>E¤5•<35>”F̉Bb§…‘ÒóÔƒ\nµn+¨Í¦rаÔYÙj¥°¢<C2B0>ÃØŸ x|ň‹„à@B€D!P\"ÇP@(L±ð³\"wOÐa=áAÒȦ\"¤Iï\n†äð„ÂfŸ<EFBFBD>ON!Wq<;Å\nŸ<02>µÝ))åùø N󎕈´È™3náÑ?Aá<6½².XDX‹K¢ó<C2A2><C3B3>Ö¬†%罓 ð¯ËÏ(¨É\$¢˜ˆÂ!?.1\rPÍTF£Tl¹P+#~Z5§\"t‘Åê…'2#\n5Æ7†^[Œ2ÆY|,Ä<>‹'\0rVBƒ^ŠÍØEgaЋ cêb—äðpæþpIæZˆu!¡äˆ˜Ì•(ñ7áF<C3A1> òA`'èJB˜2kpî<ÒJ7J¥*6Ôµ*Æg/Lƒ[<5B>rÅH)#ü€)„ eBÆ„«Fi¸s¡Ž‡2Â)Å:ƒ4‚ŒRSØEj<45>Uªõf\\›dìhÍî%äÅ%dû_}l(¬†¥Å¶(šan8'BDGß»êR¡¸‘Û'˜+„q¨´ÇÀ„Ôˆ\0b±Ëð‘Ö‚RUk<§§5—:îW«yR²I„|TÉLVa%\"2(²q<C2B2>±5µ‡¹PÄwP˜m{òâ<EFBFBD>0’øOÒB}\$¼2<C2BC>ÜáC<C3A1>kEš»âZð–˜hd%س@°à¦<C3A0>¡ºêl¢°TÕ\n5ª7òjìz[*\$‚§—ß¼©†ˆ¦:8‚¶Âß…-±é¨QV¬_…MLËäÈ¿¤žxß`Ù\$@T—kp™Ò±V*X–\"ýÁ‹%!¥©…\"œ ?vBVVð3LµµN÷êÙMpn¤,‡' ¡>’°R<C2B0>°ÜS÷ÎÛhzù’ü6°¬n”ýþ u\rc‚Y¾EÈQ4F«•5®½øû(+E<>êUTär*»}?R=+7ðœ7Â<37>ÉB+\$ÿ”ò—Óý‘\0NdÌÙ¢ºÖZYK£-\"(³»7Ô*Ã<m´ŸAŒ}ŸçäÉ’4»M8ôWÏ¥bk‚Óˆó¦ÐkÅRŇ“òˆcLy„(6cnõ±9,Ua¨7RÕøÄd-Ó8Ñc¤ëÓD*6é·%wW®°¦\$t¡<EFBFBD>[Þ•ÖÅëDhøÜp&ÒÔ./(ÌI”wIõeAè¸2£\rII®ÜFn-%€&.Ýœ¹8P¦ðªÆä¾»¹Ço‡·êô i1øÄKÿ‘7mT\nˆßï֬™&Y2™Haó^’S´«DXhÈ.šYÅÌ´èï,}œ¸æLB¸<42>pq¬ætr“KiuAp9½É¹.G”S–aš\$¬ùgå5Y«Åç\$5IðµA/Î<Âú軟€‰\nX6]-™S¤“>¡Ô<C2A1>Né]CÉ3u”¯¦>ë܉r®ÆªR¬FÒQÃ+9Ð['w`Ʒ׷Ω߿²LìîGe‚ù;{äÝæhÛÀwr3»¡:<;ꇟ~å¡£«!žüòS}¼ŸL¨Eμ2q•‚Ái„…“;‚×ViVäñ²§]«å4õ”Á°bJ¤*DA¦ŸDªó\\&¶.<%H'J:âm¦øÕq!žâ§ò€PC\\A°†²<HuÄd•r¤–m‚dB‰Q,µ'j4`Ò¢ Ù%(Ô\\*…@ŒAÁÄ|+™\n“Z{`7ãb¾,<2C>ŒaJ¸§ÂŠß‡.ÿoúYKê#4(\">\$-¤ü\"*#¨<˜<>ÆO%xŠD´òã×\"<n @P*nE'¯¾%<25>¶Øâ ëБ‚Ú?@SjOà˜~3bbÓ£¢zÀªâÌŒLªEÂ4Œ/-ìæ,€ìL<08>(¤Ô%ÃHä ˆZp–`VÏbR¼ÆËù ƒl»ÂÊlmç@¸¯ÄŒ<C384>p'@Ò!P”.ðˆ»Ä^\"ÄÊôªæ(¨A-ÚB¬@Æl’äþÄ\0ñ¤*Oðø\nÈÌWlôPô\rƒØØË´b¥`#ÃÔ>ˆ q™ X äZ©,Ûb\n†*i<12>âÇ(H<'•\nÅ à+ËàëN¬7l ÌâÌ»LDCbT8À \0<EFBFBD>@š t\n`¦";break;case"pl":$h="C=D£)Ìèeb¦Ä)ÜÒe7ÁBQpÌÌ 9‚Šæs‘„Ý…›\r&³¨€Äyb <62>âù”Úob¯\$Gs(¸M0šÎg“i„Øn0ˆ!ÆSa®`›b!ä29)ÒV%9<>¦Å ®Y 4Á¥°I±Àë2‚ŒFSЀôm4Ç<34>D(íXèa±›&Â\0Q)ˆ™€šãG“<äzFó™êî :ÌO4˜”Èn2™åv\\ë\ne¿Âƒ¡B§U<C2A7>âW‚\nÉÒ·5'ˆòt£ãæ³(œu6æ&3Ö@D0Ûô‚\rá†2T2ΩÓKY¦€rßáô<C3A1>QÊoÜ<6F>V<>Q3Jy<14>æCÑ„Õ&0ÀAE<ÄÐä\n*â¶ý”ŒHãJMö¿MÈ<>7c@-'ÃxÎ:¼ã˜Ò»Àcà0ºß £T(\rí¢b?î‹´:<3A>c ꎄzâ4ÀkC4…³š<10>#¼-EF) ®\n\$'>ˆää<C3A4>ã<EFBFBD>Ƚ¨Ê\0Ô£#_\"c#Ð5€HK'O0è<ÊR¤¬a–c¸8C#\nbèÜ5Œh £ŒˆÃ4¬\"˜õ<ÀPÎò!ê0Ø¡¯BœƒHéèØ2ÂÄ(Æý»Ë@èߥ#«\$„±ˆ;”:<3A>H\0ò7\rÊ;¨+§ƒÎ ¡‰K É!lÈæÚS#º<´Ç<Ö-éh@)Š\"`7Žƒ¼¸¿<C2B8>O(ର¢=13@aEc<45>”—8/…s]¬¶pÑhQb<51>žžŽ–*À/€à޾¨…X×>o¨×.KÂHÛ0TXŠ<58>^]86@Ò`«i–kúXú„-[+ûd\r×\rlKìÈÎ6`/üŽ6;M²qŒ(pÈýèœ5¢\0†)ŠB0]YÜràÅ(CÈæ”Œ,`Í <20>£¨Ø0ßÓR–¦×¼ú#É\\À6¥Ú~‡ç´í> 1¨0@7ŒYyG(#œ*4¨A\0 \$\n ³Ø9<C398>J;OêCX³@°<ØùÓéžbÃ.1<EFBFBD>cƒ.»_•T<E280A2>Œ)²p°H[Œ9Žòœ2<C593>ü~2dáâ‚4Gã0z\r è8Ax^;ó<>pÂ2-€äH#8^ˆtãÂ7ACxÜ„QÀä3Œ£§&/ŒY¼Î×páA·#pèã|ÎŽa²4<q*Vžä\r%º†Ië!á&Ëbr2¬»3¾F)wϲ7¸7²ÃÓ1õXšØ Ä%éŠf´Ð£…¦Þ\\Û´aË*U0Ì p, @\n\n€)*íØ‚4àÈa¡w@©™<C2A9>Ö`Íã®yää<C3A4>¨ ÜÀA\"7<EFBFBD>ˆÃ‡¸\\<EFBFBD>\0Z!ÅÜ<C385>S<`U30S%˜“ÐÈh‰\\\r<0C>³\nÓÃ%9H¨uC¨b,ЬLÂÒÌŠ”Ä H¡˜4 r:ýƒT`P¼,†òJÈñˆwá½Ï‚‚_C:³V ‚*(0@•`F\n<EFBFBD>¼<EFBFBD>\$àÒ»ÓûÒ<EFBFBD>†6‘ƒ0ŒÁ6 Ä€Þ“âÈ`ÒÞaìž•¾²CAf‚ ˆAÐæ™›ai%õõ¬S–’º_¥•TÂ'ä<>Ý4ª‚UØŠHz˜N%½<11>®‹[È3…A´?‚^áPAå 0’NC|»#!=<3D>‰²†˜ÐÀr]Œ%½ÈB€ºÒé©G*øItlzÖÚÑ<C39A>mÉr–6J˜éœ!Ñì–׸<C397>ì&Á,6Wùa^Mª¶í!fÂ^\nꔀ ðÈI\"yia\$j‚·?B\nü˜.áŒîãÒª<C392>z7.‹ª0ƒÈéÙJPÕÔÔyHà('‡àšÃ©N\$74~ðW³8ˆ‚nŠ!ðÑIùa g`ˆõxæ%‡‰˜&xê›ÈÜ;‚\0ήк¦15Q%ÂS7jÙ<6A>E¨½+ª©´\\MCž¡´ \0ªhI;–¬çWtx(¹šBÎsŸ°†Q+œß©JŒÏSy>œ£Äù7¾£RO;±lÜÞ<1A>䪉I\$I<EFBFBD>\$/DþxK#6–‰‘š-çÌ7D ¬dÌšRœ?ï|î}`êRè6&ÌÚ„\"RÄZʾ5êJ%9ÞQ’Y¸î,\\dr\$¯@ŠÂ2ÔŠG›³C¨µ³–yc\"!<21>Ξ0Ý;†¬˜í×|·h„´pËwb…à)é:çÜÀ]yPuç\$¥×]‰}vÈ}ð»ò&ñ] äŃ>º×õ¾:{o@y½WÍ´]FxPÃDÂï `Ì)p•‰i¾øg\0007køP/\nNÄ ˆB3Ò9u]ùL#Dr~«,c@ZjÝc¶ýC§\\j!Ú \$öÈÐÚ\rB¿0ÜÀ¦6•Ê)+É/ë%ž\0µ¬¹˜6¥P‘¼Š—–uŽ\n´<EFBFBD>e‡Í<E280A1>Ô H4©î)ÃxÑN¢IIvD²ã`CíÐ’DJ‰.GÐ<47>y&ÁJñç²ÞJ[B!¤ø4ãæ÷ ³Ë†—˜û>hˆ¸ µ¸Hïh«VæKV\$8݆¦°AÏ:&(ˆ¢é¬\n€~®k +†àêË5\"iFh;YSëP4¡aV©ÖrˆPt¦‡Eˆè†ßv37ÐÒSd_úM‚¤ÛÙM˜…r<E280A6>qñ@&ËîQ/íTÄ-£<1B>*vaæ©a\nëRÁâ`w¥/ÝJƒ|êb5NŠ=Áº»½§fhJæÇû`ÕšN \\T¥j£eNu¦„8)6Ô^Þ°x<C2B0>²v¦~¢[>AqÉÇöæËá\$kŸÃË\"à7 Û´Å—þZ¸ô<C2B8>àüªïpÅ(V¤žXò<58>m-u¹ÎùÎJízuôŽi¸v<>è«c¤sÞXÂwdy<64>¶ZƒˆöÞ•åHŽ{u»ÀÙ¹]ò3·Òñâ9[j»ÊÙ<C38A>hìv|ϰ¥õHZvþÁÎûŸeî·÷»õ~óxð<ôžÅ•¨?n<>ŸäÎ<C3A4>ñVÆ<>.d »OQžvÆ/åö÷5Ü:B¼×ºûFÄŸ+âŒQªØPY©…”Æ,¥uHÐ<>‘%i\\¯6tÀC‰hn4…h锪ë\\rÿª(‡ÑBQ<42>ßZÕ’A=/(¯À?†i¾+w<>á˜Ì±\0W“ó¯ÛhŸî½ë\rªÌ°VCç}/XÎMeî<‡«vr§ü…òû3È!- \nðþO\0ô. çíÈè'¨EÏâF\$¶Fp}EdòâVÙ©25¶‰þå#&ÚÏÁð <20><>5\0ŽlüÔª€ò¶p>,0”f[úÉ£x`%\$ü'\\!àÆH‡\\e…n*28ÆXc°\\o‡ð ‡j3B˜ ÒR‹Nµ.þÿn’“/þïÄI Ïêå°–ëð¦å-˜ÛðFÚJ<>‹^×FåÆëËTA<54>V_Ë\\LðÄèY°˜Dfè®@J5cÖ9\"h¦©s Ð(ÿƽO½°µMÂÚØ\rpöM/æÛ°ªçð¾jÑpÐ_…ýQˆCRá¯Aè†Ò\nJéиôbmïy\rÍÍUK(,±:ÿ±>i+&±®«<03>!k°ñ;o4°0Mk+\r\"ʲQX±¥*<©mðãâƒ^·l»îFécà>Q *ÏAí!±žmñ¢å-|@J Ð8ǘomå\nCj\n>»ñÖªhÄ\\<EFBFBD>‚;Š¢=¦‚íb…C’íÇÔ²ñî¸Äd¬ï‘ìÅ1ó JÓ-<*¤™ 07ñ«.\r+\"é¨ŸÊæðÑðïKÈY’4À«ì¼°8ðìK¢lc´\r€V\rbª#ë\"àŠlâà E\nÔd”9fbâlÀÒ<C380>Ïb[¢ÆáÀ@\n ¨ÀZ\rF¦£Æ9ÀÎ&Ò@HNª(î^©Šï’žINvòÒ¤<C392>☢j¹R8]Žv2r·*<2A>YI\$\0ê?ãô#Ø\0Ä#£ãæ\$@Ô…\0´(MQ¸<ë6¡\rrÔÈÌ\$îÒR#URºˆ¦¼;KúVìøû4Íïä%³\" \$&(FØŸ#Δ:“…üìê ÀÖÏ\r².02ìB\ræRbbêãQ4¢‰4í” EÇ'Zü`<60>Ï. EO5I\r°›sd’‰-s_8R²’@àJåѲ½83L8p¬„b±&\\Nch²,M4,î€ÍÎMä\n`ÖÝð<C39D>,#Ä»Æpæ<âÑ=/Ž'I^\nïž|¤T\rEœ,#¼„bƒ,)²\"€\$DæHê[9<>@#Önf6N6njY5s[\"ˆa\"ÁCœ2΀Ia%•B'ú!0hWä™12,#ðz¨4Åî¸ é<16>£ŠABÂ% ";break;case"pt":$h="E9<EFBFBD>jÌÊg:œ<>ãðP”\\33AADæŒÞ aªDyÌæÃV<C383>Œ¦Á”Üv4˜NB¼¨âu4<75><34>âàQPÂm0›<30>slði6ÅÌ’Ó”¾cŒˆ§2ЃE˜L„è¬\\Ë?€™f‡c èÒoÎF“9¤Üa6Dê²ZÁÐÊm&)„ç4‰&JüàU9Ê<39>E€Ìa™JΰaÖp 2]–ãt}je9Ò®àª}¤j<C2A4>Û\r5™¡PÓÌ™¦k1¦‡‘ÅñgXŽÁ]L°£˜(ˆa¹ID³‘„C0ê¬à¢›k_Œº QÊoÝ,|bfŽå½&›Î˜]P€…v2ä=9ô§»”PÎWóžÑC¶{ç\\o>3Êö# PŠ7;L¦´+‰[ô48ÏxØ2ŒjúΕÀ;¥lô:ŽˆKŒð¯<C3B0>`Æ• B<0F>ñÓÃ(åCȘީ:K,\\°£Ä!0Q\0Ó0A(ÈCÊÜÈR\$ŒÌ?)! 0B0êªæ.Þˆ+á‡*Êì1ÃÏš^´%íØ@6\rñÒ'ŽNSÕc“01¤Ëpî<>£Lì›' Ò„ôÃÃÆÎKj¨)\r‰\"ä1Aè,F78îÂr׊bˆ˜(1sÀ<>Šä-E<>3Ðõ2LHlÊ¿nÝT:î2UŒ5#úõ½u3z(,i@ØŒ¬°’6£ƒ’äùÇ6-ŽüŒ#Kæ'Fuº<>CFÿ×@S1ZS”lí@#c´š<C2B4>ãZLb˜¤#0ì<30><C3AC><EFBFBD>rf@iDH‹ŒËÚ:<3A>‰R¾©Ú-ÔY<C2AD>ujº.¬è¾2) ˆ2¤K„5AƒÓx®L‹2É Èô¬Ì&<26>~<‹-ƒ…œäŒ!b6°ìJKNH(ëZˆpbER\rÑšf½9C¤Œ4.Iw^2h&®ËrV8.Øî±Hj¾M9<0C>p@V£Dä3¡Ð:ƒ€t…ã¾Ì93ÈÜÝ…ËΤۅ“p<>^.)PÎ2Žšè¿F'#XDXc„<1F><0E>à^0‡ÌÐ@ì§rÇÇŒ75Ú:6”û:¦ˆ¦H44*»)º<>ô€œ“\ruk<75>2{¦>ÌŠ@¡™YYC2)aJJ€´+àæŽ\rÉŠFš\n9œ ƒ<©éBŸ±ï,Gb#¼ÌóŸ=«fy.á•å¬(ÂÇN¯J–š\nx¦*T®Tœnµ0@3¸£sU«:C ê=V¨ºå>§i`êûˆ=.g7ÂbêÏHct¦°„V„Eß\n!½ÿ¨óáƒyÉ€ ²*3=+Ø`¨ìÔšíz˘bÂOƒl9‹]\\½Vˆ(W‹\r†luR!RJ¼[S¶d)9ºTHáêÙU¤¤•³’¸‘!¢¥=©Üï@‚6—ÌÀs@!Y2DhÐ'(`(+²>É\nX:qÇ\0â®ñRjU«¢ȗػ2–<EFBFBD>Ãxg}Ð( ƨîPéh\r/àù„0Þ¿`y5.eÔÞ<C394>\"‚H–@s[ŠÍXøoYÛž*Å´·‚¼w<C2BC>á4f¦ ÌbÄ@ÛYvP)Dœ\$‚xNT(@‚,°–A\"„À‹.‘ºT ‚V%3Œ´&å\n¨aŠ#²B‰©§, 𜓹`*] !¹8–ôêEÂ\n;\rŸ@¨ÈZ¥\rQ¾¸ƒä3ˆ9å<39>,¢´ ÒÈSÌ,†H@\"_§âf.k4< ŒÍÜd4lÍxÈI]ê‘\r“1ü‘ZLU\r\0•’\n0<EFBFBD>\rêl,…¼ß!¢Í>ÑK?E†p¾DT&º±é_!ÊTSŒgoaÉ,RÙî\\iÍ;0s¸œ§TÎYƒZÔù r@dT:ú8<05>^&“¦P&ù½¤‰ <t³>³Í\"TÕ¬\n2«ð¹Ô‡'ѺHäP \rZ×qGI<47>Œ²’•\\Öýg!™¾*`\\k¹õ¯%±×ÖT’k‚àcvŒ‘×:êtÄROÈ‹´Ã‹c+á*&‰&µX£ƒ\$‰!W±¬¢ÍVk\0¬=¤t¶™ŽS^Ñã¬<C3A3>V¹ý¾háKÇ€@£—¨V\\ z¤%ÅE蚣£ºze<0F>•\"I:ˆâÒ¤7s@ð©¢W %¬ÕxÌR<1C>‰b3—©ûÏzIXw¡ˆÍT«VJÌíÌA ï1fXç2x³È¾9‚ÐZQu‡å\0³Xc£]»<>¥)\0¡“L<12>ÊZí2¦íy[ü6XÏœôÅ€Erc›Ù™raÔ8Ü\\CA£o*1‚ u:<3A><>EÖ³O7343<34>T™`ÆÈ\$ákγŸòà3<C3A0>2=2mD#Œ@Á°ë'—\\\$¨.<2E>ÊÉĔè–‰<16>™\nçB‚xÏœËXÓÚ#4»Õš™ôÙI™Žaç\0Ó\"bâhNFö‹QùJPrÁí4³IRQêZe\\‡˜À€?¹ªÁLÁÑ!l=RGƒ<:Ò<>Õè§&rn²Î›ŠOG.j£´*Ë9|•ê\$+U¦<0B>ìîJ+ˆvð®°’ª×TáFw(ÉÄ…¶u²½Z³#cì\n°v\nØ<EFBFBD>‡bíU¡ØõþOa%\0,¢º”X’9\"Ϭ²˜aÛr‘Öííy„Ú^Û<>Ïsk|»¸Œá™˜¥œÔž’ÅHÃq¹Ìùœž¦\"AS1¯7AÌ —¤Ê<C2A4>S7*ç{\$Y<EFBFBD>\rFYyÚ€{ËEoH{I·îöÚ¶‹µ³vI<76>‹îá'§…<C2A7><15>¸øVì9yU~ñ~LÎ@U¥sÖ—\"Mæq‚´UÊúªs”O¸4ÎðçÇRåꉫm[›ýtª»Îõñ4éÎO¢³¾d‰:™`Õ‹Ò®(9¶H\"*‡(”Â/5…Ÿ`ø*ªõÜAVÊZe<5A>öú¯Üz†éî±`¾wŽªÑ÷B¡JIQCuyñU»ìß8õ„3%9Öç_ˆ«vh‘ÅHW3Ò¤[Ùï!R^0ÅTÜ%=2ÿ?èyîË>˜Úz<C39A>G¯wNððÜÓú#<23>ÖÈ7µä&ôÓym/¬ô–ïüÇÀæ ¥ââg#„Ö ¦o”ÙÝ8,”ï¼¢=sô©Òfø~ÏìT.iOþí \n…¿åõ“è}<7D>·¤gfô/ÿaõ¿]c>ëÿá„‚ì‰âÁªFn:pª®>d’ò*@»&”ø\näŠê¬#Ç£\0ï 3`†M&ÌJ<bä-,ÔH\$†OI:Ùk*¶06tm°Ù‹,8ã´\r€VeâL¤J ô”¨´Fb\"ï00«<Ž,€¤Ð&€Œ„G1g0.Œ4–`¨ÀZ^<5E>Bø\rÀδm’Â\"€vš²\r¬7ˆU\nPJ“B0#CPn¢D\$‚Aîj%ej僌ýã:IK„˜\n¦|¡®4^ Ü\roªD<EFBFBD>n€Ä7kD0b,£–at\\B€,\0˜ƒ0–èðƒB‚f,\\8Ìö؃^íPpÌÅD^›‡lÑ„7Ü\"œ31*”Ê. `Ã6Éä3,H.…Î<E280A6>FL:cJ‘eú3/žè1N.qR8mÉ<15>ò\rààgÄóæªËQf8N<38>•@„1eB‡Î-¯ˆÍ „þÔox&íСZÏÈÂi„¶\"ãºÄäÁî8KΡ£ ñ€<C3B1>cŒ¢ÆU,ì<>êV \"V‚„\nTCüÓ„,’\"\0òI¯t%\$°ogä8À‚8bÄ<EFBFBD>è Ï! ";break;case"ro":$h="Ed&N†‘Àäe1šNcðP”\\33`¢qÔ@a6ÁN§HØ<48>†®7؈3‘ŒÂ 3`&“)Èêl‚™bRÓ´´\\\n#J“2ÉtÀÚa<c&!¶ ˆ§2|܃“ÊerѺ,e œÎ’9¹œÞlÎF“9¤Üa°0ÑÆáˆÂz“™&FC ÒeV‰MÇAÐÂb2›³q`(™B·ˆ8#9–q_7œåI¸%êãfNFÙÐÞaƒà„‹±»%¥Íç59è‚äj“Ö!U´Ü¨i8f —,ÌØi¸g¬qC®rH\n\"]dò»ís`d&\r0}tÊLr0˜îÐpVÜám³hE#+!6e0‚ˆæSy´Êt±ã°õ¬qOfeŸ‚ŠsIoÜê·£K~à¬@P Ð+ïH„·®+šêÇ +Øä‘°ÃxÎÐ&C‚ZŸ<5A>Ã*÷\n?l´ôP ‚ì6ˆ“à:»LÓÒ&<26>ã Ò”¤D@ƒ Ã(õ/ÎäaF‰ú¿°)xµ4Ãâê\rÃxë\n£Â<10>Ê’ì·Â<C2B7>(È\rñèËRäFó\r/Ó„Jñ)œ/CÉ2ˆ#:»‚F<>Ã\nƽ.OÒűË<C2B1>ç%´;°ê0èÃ/K+Ü“®ÃÂ86³„ÜÊ/LpŒ—¦ðÄÑPcÜý\n\"`@8Ž©hòPCÐ4Ï£šÐšË\\<19>1ªÛ@¢ìVòmA<6D>ÃÒ! õ¬¸‰UÏÄAf§õÜvÝÁÕø ±¦¬`Ó2‰#há?‚#Š8Hw:Ù3T†À&hê-Ë…{<07>V%<25>zÌñj\r<EFBFBD>€!Šb<C5A0>Œ¾<C592>ã\\<9̈Ò1@Ap@ò>\nÒ»%~§L<C2A7>V¾h°çt*ný²KÔ™>(ÅJ¦Cœ„”Ã+݉°n뜗¦y.f‚6#Àà鮡do\"R(6BÖ(ôݳrnнÍx<>ÀNê±\"C\n,8Acbú“Ê<E2809C>¶‰¸š0¾ƒ’´cºÅ-«ú2aÁâN4 ã0z\r è8Ax^;ð<>rˆ£C£<43>\\±á|=ÇRPó\$7<EFBFBD>ÁxE!ŽLh齋ôýD5„Aõº80Oröã|¥aÜ:\rŽ ×86¾CLÝEiê¾ÀÒrIcˆÑìì4¯ð…™¡6_€Ó%‹Í¾9/ÑHP¥…=ëŒÖ§ê\n2Þ#òL—¦vþg†4J‹\"¾.«0ç‡lãRÄ0ã-M<>BŒ#Vp( ☨ñ¢9\$äüƒ°à¨XÔQå2ŽÐ‚”ȇMrk\$Yí™8hÁï5¡<35>Ê<12>΋“ ei„í’jjx\n)8bØ]!ŸKd<4B>†p@Õ)(dà<64>ã’pŒ<02>\rÉm„½GnJ‘í&aÈš¸ ‚×Q¼.PH³bЬ\näO-åÍj“&´ÅJÐ 'l9³SLjÒA°E_¬„H<E2809E>ƒzÒHQJ .ä(|Ëñ‰,†2´€ä‚± y ú¨ \0KYÑèu€éÖBÒ®ä^<5E>'\n\" ”³ÆK1ð.°´0ÈÉ,Z–ôI|¦v7¦°†‚S#”O!Q\" tNÙ<4E>?K@ô…5 <35>‹4„<>•á±òöG‰ƒ|dÜ!¬PÒn<C392>‘HtAƽ*K:É0Ð\r«ƒ®|ŽY%¦4îD<qNœŠ™Æ}¦V ™ÛYØuäõJ³eÈiB1ÁKÌy™£-‘MhÏói AŸY,!™¦BÐ…%;¦G³Å@êÒáF«\0<EFBFBD>+§Â^H˜M¢´D<C2B4>äDå„Û1Ç‘£²÷*åjÿ2\n‰\n!ä”–ÕXT—ŸS4Ë“\\¶\rë‘`«”MC¨‚6Y¤àL³ºXÃ<Üžu£T‰¹CH=8&.é¡ôÖ”^š‹9,PÞ69ÂcÝÒ‹Zét2†I<E280A0>s2mMíd6Ee~I«3¡F:˜èܲš¢jñü\"Ä”10b¨UD5-¾„O*`°³%ÄÊUHr3%)½V„˜l5<6C>ŸNº™+’êW\0M<EFBFBD>UVQŽÙb•bߎ³‰Ïgz^eütÍ-\0‹*]Iºa°VJÒ'€è¬R§²!äÌ‹mi`“/!Ž>t<>uÕÑR'dµ#\\òFIPÁQ'V\"?@e&IkK§Ü'£™òÑÍ<C391>~;ˆžÏ£`É@› &2Íâcâi8»wP˜»ïbaýJ6U—߸þJÑbyüÍ3̹*V”¬E¤„ælÎÁÔ}Q†|šÆ‘Ë^+Xf/FøøRk‹8Z4a‹³°Ù|}Ķö“t#€%,*…<>¡ãxâA¡3'1®´Ï<19>௙B¯È…üÁ25gŽBžOYG2²Ì“ѵebwdýe%Ôs ùÆk¥\nR2c¥bìgÆ1M å\nsJE&°6ÙÒMoÎìÍxš¬œñ]×Rž0'\"o”j ”¢”L¤\rrJ¸õ©LŒ›Bm\r\"£,õdɕΨ4»éu¶}\$X3>»W5<57>y¶7à³Rò_;e;H¥ˆØ)@Ü£<C39C>@)fÁÑJE¥å¦lù¾,Å×’¾|nz]}±à–lP˜×g¯=ƒŸ3¬Îñg@\$%ã´ü¶X«GaM¬=wÆÙ:–0í9yºw&ØÎÛP ¡£¾Â|¸öù!jÉY<C389>˜ƒ²ö¢ÃÙ¼é¼Û( ß;°¾o·«¿cÝeÁ¼\nÓØ\nXȾ¤ÔÛgTZåÿ1¦IÛ-›–2LNAQyòÛVã<56>Â.BKyOϧ£?Ò´:ú[S)ed©<16>ŽÊg#O<>M26\0eh\\é–4\\²Vjä7<>ä––aŠ(ÒÌ/TЬ_yÆîÚð-êògnry”¨ó‹^Y”î˜íª~Öª-æÈR’zL ?år󺣤yvw^¦Øx¾÷´³öÜ̈Ùwnþw+‚žEï=ó)ó›É¿‘®HóÊñ¾æk<C3A6>“R~0”Dî…óÅ=WA—ÐÐ¥þAðŸ¬òN¿ÊnTXSÃQ&7~ˆByÊ5· Ö`á<>Yš²;•<><E280A2>ðóŸ<YùœHìzBùǦÔú;ës=©ê™}j2ˆ¿;q\rþ‹½~\$†þ••¿¾o<13>Ìàƒ‘É—uÖØ\nB¯L×Ì!„oºú-œÿoúCÏÿ\0/ºÝȳ\0ÂÿÁ7\0ïN:‹/ÀFÐp \$pýÅÕ06p:6íVÎo ÍÈRÛ¤lÑ‚ªIÆÌü°V7<hÃq¤Ê€âÈ›<C388>:Ã<>P6Êœ¿<C593>ºû[Ðsæ<>^íÐWèÿBû †l[ÅÊõ¤x@ª7Ƭ8Pv/<2F>.…0®j¤5°(û,ñêõPLæMÜ&à<>mŠ„â.\0B€ CfhD\";f–d#Ï‚Rù)6L/àdNãHÃâ‚Qâ(ʘ†<CB9C>C¥öI(-N;°ì\rÄLåP*FË0±„–0qPÈ&Q:µ.ª˜ƒà\r€Vc~`Ö¾èâŠÍd:„4BB,\$èãBL5Hv\r êŒ#\0 €@\n ¨ÀZF\$)ªÖërK`ä|(ˆ[Äþ·ƒâ@àÅG¨Õ'†#4#‚ø<E2809A>¤Ð..¤3\rL´<4C>ÃÈ™ã(L©fb‚BRÔðÈHK”\"6,Fpec<*Í÷P8bn@âÊ,à%â? ˜†BÌä*(‹8:…|=#</Ží!BêHÎÒ<C38E>¿\rN&ÿî=#FÛ|f²H‹ÑcŠvy%.3èÉ%˜P @Ç‚j- Ê`êw!c€¬£l•¢d9<64>ïʬ8`†ŸŠ8-<2D>Íe),¬z©é%þTB*HÖÕ«l?F¸Ò`@7ã\0<EFBFBD>ä<EFBFBD>âäà,äÇ+Ë'Äv_iNBB¾Ç*H4\n\$!6B€šJ„l¢âÐE%âŽhºXð¥F~_oö?p5ϪÆNB0ö£š[Æpc¢/` \0<EFBFBD>@š t\n`¦";break;case"ru":$h="ÐI4QbŠ\r ²h-Z(KA{‚„¢á™˜@s4°˜\$hÐX4móEÑFyAg‚ÊÚ†Š\nQBKW2)RöA@Âapz\0]NKWRi›Ay-]Ê!Ð&‚æ <0C>èp¤D6}EÕjòÙe>€œN¤Sñh€Js!QÚ\n*T’]\$´Ègr5„ö9&‚´Q4):\n1… ®KüIšIзhý‚«IJ–6HãB?!¯Àš([ö& †<>æäsD5AWÊꋬÅQcCXMe”Å1v¨£6PeÌ×:¾ÏC¯Õ¼Æši7\nìÒµå.,Vû’’Ô»Ž´×ù:„ã,±[•ÓµŒ<C2B5>´7üŽË‘Üá»>Âæ2S¦jbF_#\$¢@ã/©šTõ:êq¢G£%t†9Òg¨ŽBhCªk\n¬è>PŠ„›ˆÉ&†¹4'\0Â<06>Bù@*,\\CC´ñ±΢,íäG¥OšD©%<25>¼ýHqi?Â’Jh,äϹKFÌ.Î+\ró\0Ô(<28>ÊPÀH:<3A>¸ÎÂÌÚ¬-º°ÝIò\\+)N\n&˜©i³Ì@ ±òʯ@1\$‚³ÒúZ„?ŽÊ?)ÔiAAƒU\0<EFBFBD>Óê4»?zT–\$-û\"Ý \n¤„‘§Ô}@P!²¤ó\0É´ÌH‰ŒÒtš<74>!-cIVmEk[³kÓŒûÍ”“§Wš\"bŸ)d2›. uYÀöRi%.̉ ÚLÒ\\E)TTDZK>Kj<1C>1Iï›ÂÛ¬/òh‘ÈÉ6¦©ô|0Õ¹KìÓkÐÅ„0þÐѵ#£`؃Ä6¨¸Æ0<C386>ÀP¦(‰”ÚZÆB‰22’°Ê\\øEÎ\0R˜’<EFBFBD>Åßb ’Í“¦õ²‚¥R£C<C2A3>´fWRά'5RÈÝÏMgHjŸEÍ„ŸåÍ“ã™C²¹¡9-iôR’0å§)ïš`AC ³`ËP¼\\»%Œüêå>ì Ó¥´›YKW©”¦–ær¾ƒ5\$ËÕ6ØmØØ:HÊ6ì#ø_o«,«b˜¤#m“›°^…ÉT¼Ãc=¿§7A¥HQh’+²¹ (+›D‚»FjšÕÌôü<C3B4>^ «”^…\$ê´\\f.ųM¢Bʉª«ÈusZþôÅ“?x¦xD<>]‰êbñêS>¥0ÁrË¡ö´6xA®\\å“`\\RìZ¥N×q2Ôr%1#¡ªŒÊv<C38A>¢07)4à”pšC˜t¡ÈøoJÄ2‡€àC<>eŽT@ Èf ˆ4@èÐ/áÞàÂhi\rÐ,A ÎÃ(n‡âàæC|:L 0‡ ÎC¤#ì-ˆ°D‚Hm06Ã<36>èxaŸ9‚ª@oV!Ð7ÅàÂØhi<0E>6†Ö!Ÿj#tÇQV(ã.¥ß¡É\$¦˜›÷ÂvIQÈ2¥ÙhèæIΪ„gü•ºùrQÙã;K¹ž3@@\nx).H=¢ CÏ1†<31>Ê4<C38A>”·})sh3¤°Ÿ”8äÊlyBÇÑ\0ÊöÒü<>OHÁ+Da-ë•<02>´6˜ÏÔ\\wSh•ÙfS•‘ôLetäbìmÄSB@'…0¨NI i¢a')›3&J<>rsL¦Íc‘6&ÔáJ¦Š_@LHAû–³ ΛøKQQ6-\\»òrv‰z{Z%4äô²ðN±\rUrL<EFBFBD>L Cxu<7\0ëÃ|/x1<06>ΛÁ¥†\0ì`ðF\n<EFBFBD>B‘†åbb”<12>q¨`äÃi<17>aÚ”–€Ú1¹LÅN<Å/K’Qeí-ºN3•I`uÙ¾’–’V<E28099>òn¬Õ±œ†Ê‘Ùkã=G™µÕöaX§\"SÌ<EFBFBD>è¾ö2²ž¹AX\r<¢´y`e—\rePÄ”G¨«\$Š+ØSE¼EÂ<45>6Â@P§NDGY`v“T\\M<EFBFBD>”’•Ø…¥-<2D>-ädO+ŠÔ U9\r’SBº5£HTBŽAädº™˜¥DY˜•bÔ\$ô\$Îå#‚!®fØ×åR“µÀhqÄÓ7\$`µ¦\nX'εR™×’¼b4P–¬^&s‘k”<6B>±²öͧ”7³;åUâQIpOÞdì¹JÅë¸Ee0Øi’o™2]×V<ÏæM@MÅ´)¢ý{”ÙZ¿Ê¬·³efž©E)ƒÌw”ä_ÛÌtÌ—Qc@K¯œ\$»ßÁx&%>i!ÉÄMˆÐEا³ty£¼œi.!ãº,6’ÑÛxzë•ã<E280A2>‰òL+&8P‹ãÕ-íÔò5l†ò Ñh¿J%Y–8\nÛdµ”Ñ1\\´¡´¢2’|áWá'·#A”§ûÆñÎÖ_¢F1›ÓIPåÕ[™þªË:™bOÆMÇ2Òtç=Õš×]åˆ{iŒ‚Ð,ä ^‹Š©‰J+¡Ý×ÉtÕ,-¹1»@FEna—ím64i`*tó,6ï9æ†MHÈ¥d×UÜjµ]ÕI<C395>cïÔœ,uø´›/<2F>ï5ÝU†ö2lÏüœ\$Š˜\\MäKÇU\\ZÑsœÌ{ªÂ÷½@®öêMF{<EFBFBD>/íâ3‡Têæ\$ÌZâ貺äÞéÌÏM|–ån§.y€€¸áÆ/º„ìG„Ãw<C383>íâv³1Ê<31>d\r[p*æï·æþÝ,g€Üì~Ÿ8(½àì©@K \rÃvÂ1!¢ææRU3ÚÊ<16>ÿ µD𷤋(üƒ|m<>ÖaË\n£áD8Ž›â„WZ–üæ›ÿŠ4†÷/ÚŠ€<C5A0>άßÝBIз¿Dj•élô~uÌqæ(=7@ôýÎKIz| ijH’ªO7©LG|_¯’ÂLIfÖ\$ä½³î_—ÑAíe‡³Ï,<05>rKÖ¾ôÛÝn‚š¦Ô3hZÀ—I¤p¥œ<C2A5>œçkÅì¬Pø»yX§~ÇoYŠmûט¯¶t>þµ‘I¿s;æòÁátZ—š²†ÒeT8B•„Umh«Ç¨“‰Û¾I>‘#ÅA@xÃÙmè´ùKãq/€J{Å,%ó—xKÕ+jßÖ·´^ŒÁðÃQ\0nŒ¡À9š^Ã\"<]Œ”x8@Ø@h\r?©…0É–É5ŸÛ°L–ø³ŒÐðé–‰\$g,œöëàlNÙ¨ÿŠªì¯÷‹Âð„Ã\$\"M.üX‹jW¬iØ-eôøbBùƒÚm«o‚¨ú<C2A8>äfï‹lªR<C2AA>Lúb~®ŠÎœOšÙ0fg\$ÀmÁ¢R¡¿\"X¿ibm<EFBFBD>ZmërDP¾ŒÀÉm˜1ð<31>3<EFBFBD>–Ñ….¾<>€³LÙGúóD–Ÿæ¼Db`Í®TÍlÄ~®8–cߌÔ; LóL²îÔÚÀP9%ð• SËê¿‚2ªFäÕ*ÆúP<ªïˆð\n¢JPüªÅ…ë„~Ε\"A«ènjžž‘\0ú<EFBFBD>d®›Šš® {æ<>á\rçeÅÐVF^¬&˜—°*¹PcבKo<´í62F<32>¦ŒoPUEB,0~÷P÷îŒ*‘‡<06>mr¡A`{®†S¤Ð«Ð;|ã¥òâ!#Äèñ’óÎl¯Ñ ê1¤Zdz£—ðÌmµŽ]Q!mÕLŸ<1C>ìáÎD?±@”qØçn‚ºN~QM[F«ñ\"¼u룵 §• ñíþæ2Ѐ<>®O Á!2fBå\rä/—\"Ö|\n*^<5E>¼«ÉÍ\"êm-mÒSièÞ!d,c°¬œ÷ÔïâÄÂ<C384>àY;\$ÂF<g&úFÏ%ÌÀ”Íã&<26>m…5%F´\\‰pxRPuCÊïéngäI\"òÐR7\"-\r òr&#ƒ'ŠØ<í70J˰ÊÏ-Æp\$™òFY,½¬œÊ¯2&@pÈá.°Âå/\rrûL¥\nÒúë,”éSPŒŸ0Èì<C388>1Ôén©’¬±Llç2p’õ+\r¥ØD%Η¥0S@Ø“2rÿn<þñ4Qú»ÑMÆl¶E ê“BKp¬ÉÂg3u5L6#i\\ø„ÅJ\n(A#,V\$#ÆÉíV¨Î§.âéμd€dcFÿ/fɦ©Íuñ&+y\$³ÁÑA²Þë›<ñ™3“Õ1.òl‘4.LïNÊîm|Y\$Å3ó7[1š&{3nR ?±˜Åg7í™´\nìD±7Ä@ã\$)*,PŒA„m,@ES\r¢8F¤Ü¡CÁ<‘4i„Å5CíF(%\$Å\\δLêdáEB<EFBFBD>F‰ÍFÔG+”tmQES[ô\\Ì“ÚðÔhµÓ=Gø?b¥DèùE!wEïtŸ:toD„<44>~It%TÀPÓE’rsa2Âý&97<39>?›?táKQOC¢æÑ\r(!r=4ÒÐâÒmO’ûI1°r•\0)ï•#æéNS\0ðÍ\$.õíõR£jA§ï5&A7‹jêÙôsJ‘©ò3ÕÒÉST”¦IÒ50c€T‰TÒ=2ªÄ.AK j\"\\æÐ¨Ô%>LU‘†–“ºô³6õŸo§:«ã1ò®Ó¾=ð`”mñ:Î2/A@Šó-ûYÎíZ\rÜt‡][õ†Ó…1\$2‚޲¸TïBîãàÈ÷õ¸ÿUÉÔšð¦æ±§[ <09>PÑÚ,þbîD/Õe`µ½Ï€äbŽg\0\r€V …ðBÅJ‘Æ,•¬>g{¦ªWñt5ë`Œò(àŒ¥†\r ê<EFBFBD> @HÒ£ ª\n€Œ prhĆ@ÏNF²j’©Wñç-ÊÜUÅI–‚\\oqÒV6Žvfâ&Sif·^!^ÍÂv™U*<2A>ø+î*#Ìö'<27>)Ã:á…E(Ñ“\0Ö°UËSJ<EFBFBD>A¦Å@,Îõ#ž”V:@é^¾Å9ÀÄN*HLH0DÆmm9ÄgK”A\"«{GÐ* P†‰J¾!öæB\0˜¤ ÉgÀsjD\r¨\$a¯Üa&ô=\r\"A²u,ãPÖçŒ%1Ô¼ë³'Ê´Ê–Õ‘@{1¯×ly×qKpLéž®or4<17>uð‡weÇ<>MUx\0¨þ Ê‹ ÐûæfHr\0Þ\0è§\0ÒH5—syƒãw“3³¼† ZÁt}#xD¬ƒÜD\$ºXA]»Éè´—ñPÔ’\rD¯d^!ÐÔçæ[ÃДW\"ÜÁ Y©Z˜Âeh–àIëJ1“x^¸&z+XOrGsºÍÕ¨Ñì˜ö´ÿL…S˜RnP®Å^¥á‡ñX¯Œr<C592>OdÉ<64>ßxÔÀ7t<37>KÔ†ÚÃJ´xKtË ãrënE+†˜0õ8¼„\0àt’˜ªEáB";break;case"sk":$h="N0›ÏFPü%̘(¦Ã]<18>ç(a„@n2œ\ræC ÈÒl7ÅÌ&ƒ‘…Š¥‰¦Á¤ÚÃP›\rÑhÑØÞl2›¦±•ˆ¾5›ÎrxdB\$r:ˆ\rFQ\0”æB”Ãâ18¹”Ë-9<>´¹IÀå0=#\0¨™¤Îi<EFBFBD>LALUé¤Ãb¦&#¬üÖy”ˆD£ èòk<15>&),œP9P˜jÓlóe9)”»\$ô ›Œfó±¤Êk¦œê4j¥\\ÓY™e%V*ûv0ä§ç3[\rR :N<07>S‹9› ¢\$µ<EFBFBD>‹1¦iHË'¾˜Ì ¢¢`r±”óØb9”Þm2<6D>#Ü2Ô\nfmÞÏ5<C38F>±¶<1D>žœ°æó®·_±Ÿ/<2F>Dƒ/Þâ6+šÀá±HÐ6&˜Ò¢n¨96Cn¯@ÐAB9§,óÝ8 1JŽ3È7°‹ì˜¥Ä:<3A>c¢ ¤BÓÀ7Dá44'ë|cÆ«’è» PœÎ'hÒ@Ö<>nÌÃÀPª¯,ëŒ<>\0Ä‚€L©+K̵*ÊãPèÎCc„:ÃèÜ5ŒpЂ3ŽC(ΘM²PóË|š5ŒŒøÞŸ§¬Êñ3Ã\$NJ´8,bb\\4ŽŽ!ˆ]I³\$<Lc° Í‹p4<>ƒcp¹§`Æ0<C386>Èp¢&FÊù[\$<EFBFBD>K è›#Ì0ë#—Ô<e¨ˆä|°H\"‚AƒÐöÈ,f²Ø¶9R6È\"<EFBFBD>Œö¢ÕôP¯ÀPž¯&²18bHÚ<48>2 PŠ<\\”ˆž2@ðMeV‘¨Ý\"U~ H6°Å<01>C<EFBFBD>§g¸c´8VÁ¬0ØñHHË„:'Eëp7<70>iÈ@!Šb<C5A0>ŒXß<14>”‚˜3\"v„,ŠW›`”Ýwl/©ŠðÊ1°:B;FË*Þ5Žª‹û\rãuZ2ÆiÓohAH°Ä<¨‰ªnœ¶ÙÐçžgؽŒ.YV°K\$ŠÕ¬Sd¬à”‰ØSc¡k;™±Mªb Ž+‰S˜É\"ƒƒ˜9Žèœª«ŽLâ2câ,’£0z\r è8Ax^;òrÞ6€\\‰ŒázsÍS Î „Uä3¼<8¾18SXD\\C‚qŽ<>à^0‡Í@ðƒB7‡öã\"R³ 6Õ È蔋rà1#ÔRÅÎ1£¦'3ÊR˜2QCÛ\ro”Œl¨ÉrlXm<58>æ ^y[è±a\0P§)H„›çã[åi˜wˆ–¥éˆÜY«øŒÔ›‡Ìª¬`-a†/QK[+ÍxÆ”âRb[E\$ðü›SnxS\nˆ<EFBFBD>@ÄfŠXô\$EDYª²òB tEE1Ý ÞVŒÃ=Ř:’Wð‘~3è¸V°#BJBÉô\n<EFBFBD>Ÿ=¢@[ÁF,À€)ª°AÕ)<29>\"Á*¢’©.]/†ccPÂrÌ\$9ÁB·–ª_ka± ~¶ c €<C2A0>•’¾(VûMCh•^Ç%€†ÖZµC예\" ¶ åd¡„ÆÁ3¤Ó!ˆhå¡â䦂±<E2809A>E¸Ðƒ§ltŒ¸P yæ¾§¢õJq‡#Ì©0Ø¢Pe4± ቓ(u„bVòÝUh*2êP\râë<EFBFBD>ÄÁe¤³ž# uÍ<75>î/é¡^Io|Œ2rRèd”e05“ò þ\0Sä˜1¾a<EFBFBD>0ž<13>\0U\n …@ж§€D¡0\"Ïd„XáŠL8*yþ¶(v\$®à’€ ¨n”’”( )?‹æŽ¦Ãªc\$Í'```zÆ#sŒCUæn@PK;ïëË ÒG\n ÄíUõK#úšˆ<C5A1>DwIÆ›:p¥ûØ\r‰<05>HAJ|ÓÂ:˜«Ý\$ÉêC\n£‰ô<Åw3Pùhª•X2<18>Ô‚ž'èí^TtLøcœ!éöÎS\\.ŽU#Á<>Ò#yYÐñ¸®uÔü7Š˜d<0F>“t¾®eÐDÔˆV<CB86>æ 8)öBq¥<71>o:H„]WdœG Y\r'H…âÒO¡öˆ§áÖ\0Ð`ȳ4{È=4·7‚_y<5F>(»Û)¸PTÔUåõŸ³t¨™¢ä¶<C3A4>իǦÀŒßÉMJµ±lp\\mÒ°·¬Åú\\m7JLz\r7œ´Ãn–îd“=>èÛÆ]o®«5¶÷d›Âû‘îS`,œÎ<‚Û6™j®V\0™˜ä˜ôŸ•Õ/ìõTX\$·jËíÏ~qí<71>_÷¹<C3B7>á¹}/\0'³<L—Õ!2JôŠ)SF\0’-Ù˜õC™¤˜]ꔸÒÚ)MÍ(£T)í;0F(<28>’Ê2ˆR¾80uX<75>Æ“â´qS¶¿¡ÞhÐ|…›\naÀ:Ù¤Š<>Ù§EÂÌñ¡³•–”:O\$©I‡dRxJ óW %+{R^!-0^ö©\\Úp¥¹Zj¡¥D›çš˜Ý)ÙÞÔ«†˜(IHVW\n\$”<EFBFBD>ДJbóktœ:@æïÒ¾.! Ó¯bpjôY†\nº…“F!„kb(ŒÐˆ%(V2NÔ‘Džk:eM ‹Geõ&Ô¹<C394>›#Ñ<16>§ŠfhrS¯‹³FÍ×r@èŠ1¶N„1Ò'cY嘇Ñö¿H!:€3M²]<5D>áÑfÐÿ…\"Ÿ`Ò#A’Ò®µCa¼Û”!š½ßPÏÙ¤æò©•xòMîØz½ò\n‡‡<07>\nºÑ bè8UÝ»(’I4>Çe®@ö–Ã<E28093>û4”„IÆ6?Fo”˜qÞ?²³ÃÚ™ÿ<E284A2>G~A²øÝÏëÃkÈî\\´WûÄã!’eÈ\r«3Ö¦ÒåJÓŸóžPE¹<EFBFBD>F)G7cdƒ-”\$»H<EFBFBD>À\\\n(n+ôé7&ð_9)yM“Eý°tÇRL:Ì{ëm£®ÜÙ)„úb²½“ªæâÓÚow2¤0#¶Þ,98'mœÕÀFç{Ïd½›õ¯ÁVó•á»\\ñ~V™<56>ãî7C\"oçUÐÞ’!·\"Í´ŸúA“·Ê²‘âI€LÍ«Wɇ<1B>àÕÉšUô‚ûÚ9OOÃ?¾h<C2BE>µ£«×\nZ9#«E_ZµaÉ\rº!…~©¢‚LVuQ(¬3ÊÖéÎ#kb÷š½{kóȱ+1ÿ†Õ…RSZà~*¤#Ÿâ¨¸ÖÅa¹Óøxo4}<7D>èæ‰f¯à²æª(Bˆä/òçÌþ\n«1>ä/\"ÙÐ\0â‡-–ÿíªÌLj(‰ÃÃ\r\0Dkë20ÌfËãbb\nRg£<ª –\$Á|D!zÖ%„D g§ð'O* jD6\"î.¢ìnvñ\r«¤îŽÙÐ<C399>NCLþªäjÄÔS©\"ýºîDaB‰\nDÖM¥’)ÆÎÃ+*Ûeº\$¥2°Ol=àÖ'£4”<34>ç<>‰ŽK\r<EFBFBD>ÜN®…ˆÏà¦3ðïa ,èé\$jCÚ'0¼ÚÐÐþH.\nðÐñ-Ž7OýO6ÿc炉\rp´Û\n AâÌ®±!N6óŠå# òæØê÷/3Ð\0ÆP¬PŠè2G±Z>C|9<>\rªÌ´#\\´cdÑG‘0XCë0|?1TïOéEb®VòN–ÑäRú#3ŽÇ|@cÁ`@E<>p®¸J©,?¬àÊ30rÁñÕ`æÂl+ñÎ'ÎKqÖ“\0ì% –\$LI¤¶:@Ø(#Ü\n±à¥ŒêW#>ÎâB3‡\\%½@ЛãÄ\r€V\rf:\rdhkkúHÃ9B‚jäZ\"g¸Xäkq4û@Œ#â˜hˆfž ¨ÀZ¬3B6-\0ÎÀ%DŒKù+â¼+œÂ‘Ý(ƒ\"úŽëËÇ)B@xÇ(¬üïržíÀÚÃ<C39A><C383>_¸#\rÖ#¢>ÂÄÌ`„š{LÆ]眢F®äâÙ‚’2DÄ\$*L†è\0#Q’…/œ·’ѯ´\npæMc†#C‚ê&@˜\râß(1D«+rÞZÀ ˆ3\n{+<>#t<>âÂéS4ì†\\§ÀÜ£0ë3Mþ<EFBFBD>mÉ,©€À¡RØí ¢p‡0-ª©bpÒí'¤¬*Æ|\ràà…µ§\0Ùꘀ\rLþx0Oà¯/¤.Bxü¢ìN€Ð¡Ê ”\"íT±(;;–’¢¦ÐrƒúL`\nKh7€‚&mâϤš[s€x†;=‰œ3#Ľ£`0Å·-0C3¢À,I|N3H§*‚\$'*ˆô,ܦât¨W5<57>³ÑSÀ BÅR\nÊU8¹#•€<> \0t š@¦\n`";break;case"sl":$h="S:D‘–ib#L&ãHü%̘(<28>6›à¦Ñ¸Âl7±WÆ“¡¤@d0<64>\rðY”]0šŽÆXI¨Â ™›\r&³yÌé'”Ê̲Ѫ%9<>¥äJ²nn<6E>ÌS鉆_0ž<30>ÆðThÒg4Ç<34>‘i1ÐÂb2›%â\0Q(Êz<C38A>‚Š§ÕœÒ\n(§¦“h°@uº®Ð– g››Ì’|T¦xvR)tÚ&§f›KîwS1Š¡5ÙM'»A;M†U0èuŽXD“Tœi¸ˆV Ê\n&Ád[ò9”Þm2<6D>P<>ùNß6ÝÊf™ñ”Ú\n€p—ÐÃ]ËgÏh\râá”Å9È7U<37>eäÓ6ÔÅ<ÅLª=9{Ì'ma\$ô´?(:%«ÀÞ5Œ)L=ìÈ1+‚šë0É2è3<C3A8>ƒ(ÈìBnB,ËCÔ'\rì„&29 ÿ&c\"î* ±rÅŒIˆè„±¤l0ÇÐÔ’Ç¡kı[þ2¿ PŒ:<3A>ÃXÆ÷¼ÂÐÈ9°SQ³èJî5¨Ã’x<E28099>;ÒJú<4A>C€Â”\rCzó ‹âHÖƒxÙ>éb¨ÖŒ©°Ü£IC¨Ø6D<2ŠhZåA\0¦(‰Šèȃ<C388>C˜ÐÁ9°ì+!+0<>-ÒN²¸*§ÏäN£.ÀÐë&ñ¨ôó//ØÒ1¼Â¨ì7·1eh»‰ã#à“u<>BÞ¤ÊÝg@ÄJåTÖT<C396>cq\0.ãc”‹©ËàÃD=¨!Šb<C5A0>Œ‚BP<42>ƒRH<52>ÈÐÛ?7¡><3E>0Ã[:%ïsà›Ž£˜à2³èõâÅ;á\0ô›×ª0@Œ°RH“8ãxÏ5¬2¬ìO)¾º%<25>]¸¼¯hÊüºXJÛäü?MJ—¢ö“ö¨?u`—‰ª9 m¨æ;£LXÊ<4‘<34>¸&ô˜Ê3¡Ð:ƒ€t…ã¾”LîŠ 9ÈÐÎ°Ú ð€<C3B0>ØÒ7<C392>ÁxE@ŽC;“ ‹ãW&„Að’6ŽÌ<:<07>xÂ2#žä<>U«<55>Œ*\"H<EFBFBD>ÉjÃ^\rÒDŒ<44>‹*V¦ôºQã’J41‰D ßɸ \$\n\0P¤(í‚›Öwß’&)šj<C5A1>3íCTññ=*Œ†r‹¥Â<C2A5>bh-z‘0Ý=º½kXÔÕ!QúŽ9Þ(*r<>¼|ƒÌ_öèž)Š–àµÁOlümÖ=rArÌx@<40>ÂÑ*iâ°ˆò©‘Z<Îê—‹#xêP£rÿ¶<C3BF>ó?ǃôU1ª F¤›„`¨çHY‹/†Ÿ·ðÌ^ˆâ½Dͨ-L<1D>ºÇ%á¬<> æx×øvNð¨óü³ÀzSêý\0¬#ƪ<C386>‰Ï\$p‚õaò#fp†<70>ì<EFBFBD>HO<>Y\$lÝAÓu?\rØ8¢nô\\Û<EFBFBD>)àüŸný‰àt‰1L'‡2f‚€PZA¥J'À¨YËJQ?aÈÜ…5Nà ±i>Ýd²BM‰ò¯%áP:® @×uK@(ÿÆH„yˆ:ƒä¡³' ÔS*Gä9Ä) Úàñ*\r<EFBFBD>ÁB¢³<EFBFBD>ÌL)0@(*3Zœ“¡¬ ¤„í“ÒJv!™ŠO,xº<E£!â¤>Uf!¢·@PK8îÞÊtÐGMª‰ì2˜ˆ¨ªZaaÊg¸)¢IœIcW\$ùJu¼†ÑwŒèˆÖä½Ã+\rÁ<EFBFBD>¡µ¨t…ùa<C3B9><61>^¤eg5ª\rS½tã1Íxj<78>ò„éXjŽäþ1´ {¤áxp.7òt“g²·HÍäŸtüY‹2J\\Ä¥àÞ\r§aa’”ç‹áa&0pîÀœS2'Ü\"ØÆŒÉÀr<EFBFBD>* Ç‚J“ê-B¨á–¤Ô4\rOPÒ5cì z¯uòxê€d5eú†ÏfÄŠ9‹¨Ê¼«\0•½Vj’½(¤\nª¯<EFBFBD>BǪÍ[\"ŠmÙ«ÂÌdkJUá¤V`ßZ¸‹Ú·W\0ô‹k•]CÎÎ4sPj.¯Ö©Ø:[êŇCV&º!W(À¬}cqØ¿¨‡ MëC§.V«ÙXþ×\r¡«¯òÍ úʨ,»*Œ|žëbI¬ytðÛ‹\nxàý¼¶)AÜÿmKE}¸Ö¶µ0+{llq‹¸WAÔP Q,+”ÜÕ˜‰™x\nk`<60>®)æšÊÙš}l 1LŠs7<73>: \$dRXßfúy”LÜ_l<>§)N££m9%Bœ¬wœSWéK¹kÒWÕ+D¦ñ%©€Qq?#匼¡¤SzÖ\\”!o'›Ö]\$YRŠø±’‘zóëÆ`(+_0ü_˜h?d\nZ“R†[v%OÝË è¢ÄC\$¾7MÕM7O#ö#Ä¢@Ð%H,Ž:Ù\\…’ceŽK1ñNȪŸ“?8£E²`P†‹æó<>`®pîf/©IžoZõŠŠ¯ß-°!i+’cD¡”Êšâ0Aêv¤¤ŠÎ•\$„ÎO#¿¥N›<ÁYËù^g\\íW—\"Î<EFBFBD>ÈöhòÌó’§bMN‡=6eH)&ÂÁÇ£œã\\\$aúû=!3ʰˆ^Ã=šhSׯàöaêƒCÉ%2©•EëΛ*Füõ ´&wÛ\nõØ£\r³–ô€!4»„²týo\\cPÀ•/p×W6•ë´5éB×ÝÝY³ÞR+z”=ñŸ+©®ûî¡ÜMÿ¼8ªà”Ÿƒgº¼a¬m³´VK‡<4B>½ãÄ·§ÞüZÅÙíõ^j{<EFBFBD>´G<><47>µ°s°nåT\n@rѹuo3å’›ÕMša¡5‡#SÅû\$õ§5¨elºžDS™£Ëàyð`Ѹ̹U\$½1‚Ï)Û2¤úvœ*s¤÷(lŠ‘T&Ým‚ÆAC2H0Ç1òÒþuÍyà\nŸ=›¢Ó9TÝ\n˜ôšMô¤\r8[ÜÙõ}øŽ_¡'<27>™[3j»=¨Ÿ/ˆ¥RÊõl!ÌJ^<5E>ž|ã„t7èù÷•ôÈK>M<>DPí^ÕõÔ¯Øa4ÖK&\rí<EFBFBD>8æÿ g3ÞHk~a½IæZKÁ|éÛ~ƒãò/IÅù—ÍÞÞSpýY< 0fI‰8÷©¯[Ä÷·±óí¤ôÓø´G!ü:<3A>0Û>ICƒ\rdÌ7(_<1F>wÎþfX}CzÙÏôþ<C3B4>úñM¤Ê„:S‚‡\0HVöCäÿoê+‰Jîò)HÖRú°ûïàýoX ê 'kÖ1I¸<49>stª;<3B>žä°N¡ÂG/’/Ïp@¢-¨üjââ<18>6¯Nö60C;Fƒ•Ã4;ð‹/òü¦<C2BC>Œ°oTú,&'„\\R‚¸[ÊLü\$ât¥p€ìUc¢÷+|!N¬#ð†ÀÊy\0˜PÎÙ.&ë‚/Hn¬°à6…8»0Ö†î¹lʳðÔ†¨nD¢^ÝÆ¸<C386>Éö\no„LÊG0Ì6‘Õ®N‰lj^\0úðX`»DbE*ËMÎR듬Z\$ªûLú\r1¶dNE1ïC”\r€VÝKÔ>éz™i\\}ÌÀb)˜%àŒ€FÐD„ Cd\n ¨ÀZä\\\rÀÎ3EfØQ*´Konb®Ðèå\nޏ…d•Ž0\"<EFBFBD>øãk¥L´¸<>E 냬<ƒþ]âÊÎ#ͤd\nNþüÀæ¥0†0jØÌ)xbÞÈgܱBÂÌD@€mJ•ÊøÖ…(Œ\$ÎOcX ‡óàÎR\$F G,5…`P\r&£êHœhÓB(]Âb{HJÏäDã\$:o¬ú%ÒU\$k’'†rplñ%rHùn1&ä2nÌ„&qŠqÀà\$£¢U`É&òF6D.™Bî \$²a®¤@<40><<nü5`Ððí\"ˆ‚t'‚}*'+G™+®¼žƒÚqG0†ªL-<2D>H©À‚,Cq@ ò†MÂàLŒJ‚‹ð+R;L\rG´ŸlJšÄ>2¦¦…0¶#r\\ݪO.ÿ…b7Âã0‡#ƒhi Ò‚b";break;case"sr":$h="ÐJ4‚í ¸4P-Ak @ÁÚ6Š\r¢€h/`ãðP”\\33`¦‚†h¦¡ÐE¤¢¾†Cš©\\fÑLJâ°¦‚þe_¤‰ÙDåeh¦àRÆ‚ù ·hQæ ™”jQŸÍÐñ*µ1a1˜CV³9Ôæ%9<>¨P u6ccšUãPùíº/œAíkø¼\nŸ6_I&…ÄN¹~]É3%¼&°h,k+\n²HˆÆD—RIVowƒÉ”Ù>yšg—©Ž®Å ³4%¹ìœ´‚Uµ˜úÆBâ ´Zà5ûÅŠÉW£i0IôÃA0œ®-yÛî®#ÕÖæ<C396><C3A6>mÖ<6D>G\\b¯½ 'hiàðE•öƼ‡IS%ÖÆ#X‚sÜhÈHI¦JsàåNªòX\$ŠS¬·¤‰4ã<17>Š<EFBFBD>Œ9(»8·0‰ã°h»JjÓ>&‚”§**4¸¾ì‚ «¹’Úß@F<>?',‚<>ú¯§*ê{/ÑÚHœÅìŒ.õ»Ñ“ˆ²©\$nÂ8ðÖÝ¢ïCë¢Ä*’oúZ„I¥šN±–“Å+·Œ’Æ]Ëæ‚ˆï©mÜŠãÈëûÛ/3 ¡\$=*«BŒˆ#% !€M C(©‰aEP²U—·³Ì“7:©!HôEf‰›¬Ð³|ô/Š¢¾•J1³Üó£„Í2L*€‚LÉmROÊA\$¢°K« Ù§ Ú•T’qúlÕÓñá(ô@1Têã>xH&tõA¤Ïª0±ÃõjRšµ4\n|ƒA ²GIS{â)Š\"cPÒ>\r¤œÁ&*•2ž+ä;ѧU·L”:žŠ¹<C5A0>%€ÞE†„ÃÌhK0÷Î%%rø5vñ1‡&EäâTc*]\$¿®‘Ž¿a(P¬)×\$Á”)ò<í:?)!<ÙAtªlÈ/•j±2?jŽ tMÈ,ã<>Eø+oÏŽ@ÇŒ-/%¼#`è9(i”w+9Pp@!Šb<C5A0><62>w¶ár )®Ó>\0·èÌP„<50>˜š*µÌ(Š|å3ošÇk[FÏIë¤Ò\"ˆ´Öí%¤²Ì>¤ ¢§ŽR\"Õ¬Ë]v¯³žrªÍÎË‚NXŽd‰&í´çª’Ö¢,z¼¬¦©nN©Lêš0Žc Ê9‡p9ŽãxåBŒ£Àà4ŽC(ɱƒ@4y#0z\r è8Ax^;û<>pÂ2\r£HÝÝ…ÞÎŒ£wÐ<wCpæ4<C3A6>ÿPDƒä3Œ£§¦/ŒC`ƒX\"Á\$6‡\0ØCké€ð†|p˜ <20>!Ð4õ\n|!¬2‚\0Òë»\r¯þ³XÌj2hé=#ˆæSA~6¬Â—Ô¼<>X…@\$™\n×A¿Xåäº;\$° Õñ-m<>÷’†–mb!^+UÇ´ÂNv1ã'ý=⨷ ¼:;ÃES6#úi1¦!1!”¥&JÎ\nR?ç\$Ò–BxS\nޤ¨ÌÞÑûhIÄA¦-ó\\MY}Df•´ÆÕkÙó0í°‘¢ÛL+<2B><>*|”âæS©ô;§& ²Ã¨ oüXÞø yÁˆ4†p@»pf\r0`Òó‚0T‡ÏýB†˜\nð¡˜9ðÚH<C39A>Øv|<7C>T±<54>d†ÎŠ:BhŒzDÂÃ<C382> ‹ð·%1òoóX∑P((ˆ¯!jZÔ<01>SvH4DâQÂÆ<äÒÙÑ=§D݈+`ºÍc|èˆÁ0Sî9¶Fþ·#!9(EGr, Hì+(Œ\"” ƒi>ÀM°Hy¡RN&3™Í–ˆä‡QË;<3B>…и”ÚAK†€ž'‘ÑfÑI±!<21>êßU'Îy•R 'ZO¤‘ŽDÔySZdü†q¹O¦o8!A ’LÀµŠY’aõ\$ìºÓBIgÕ@_Š ðœ¨P<08>*P@\n&¹<12>%‘jvL¡½A%BÀÖÚÞ(LµÖ»×•df—„YC³µoØFª‹¨”•(šË—ó\n,˜)ù/ȯ£ÃæaEùåY‡á™\$99 <20>'d¼Øé\"(¨˜JLcN(<28><>Íêæ=‰¬ý§dügT\r1èh¶D.O\"2v ù\\Pó«?\nºf3ÊÝx5±S\n,–lì[²œ™®ŠiG¥ù <C3B9>dyr/\"5H7J*VvL˜i‡V×Ö£ÅÓI17+úüVvMJ®ywXÑajÖ2,!íiÛ¥Em?`u€ÅÍ&XAÈærÊ<PÐ[²æägÔÓ%Ä<>P[3ªp:¯.L¼ÝFK–²~ŸåÒ&CS;:xm´£<C2B4>ã]¢ÄuB¦%!V°*<2A>Qi˜2²|k<><6B>:¢åÕº TÞF[އ)°Ì²È\\nWkp\0›Å•Èfg<EFBFBD>dñ¹äc÷—äŽb#9“&É',Bèi&®«æáG’„r'xŸ.çyÓžb~|ÊŘg\$Ëš”A>õf¾Eb5~Z.<2E>Ì.VÁâ…”âFpÑ1GEåÌ숵‡*¹·Th„ë 3žŒÕâû<j5e2z¤t®k-gB<67>ÝuƒNÒf®¹ú„W‹oÈL̹¨Î°´ÎŠ\"7»gÒ£Š}k䢋®‰÷c£ªá=DS\"¸„JÙ-5·Ñm|mehª÷r©\$Ùý%¡•ZyKiaÜ´HL@XÅ<58>3/»ú†á“ÿƒ. ÄL2÷FC’ 3æµK\\•<EFBFBD>!(<28>h7…–]•RLý`2”S‘äx££í\"¨ªü±;—ËÝ–ÞÜ,®ÒÛË)åHh3Hè2<03>i—ÐüA1+C€d.éú€ÓÓƒý»5|¯µxIIBú<42>…Ý„í<E2809E>sžEÍu Q\"¼<>;)èç¼~è`WagR\n©w®¢®§,æô( ÜϾ.—?¥¶W1×客xkÝ¥–Ñ2”+Ë•§\"üÎS¹ÜM¤þ{Î2Ð*1\$´‚°l£ …Q¶7]I<>æÞkéxIÊ<07>‹©T‰+ˆ]¸â&×íh¥}qÌ\nG2;0‰ù§åíCl¤ÒÚðá¢BÍföÝ tZ_ц7œ»ºr|<7C>å'˜û1„}Êä¸ó©å_‡ìNJß×ÿò~Åþ/Ýù‡Ý/þ*0yV\$3Æ(ÃÅEÆI¦F…ª˜c¯òÏÞ¢¬-j ^/ þLça¡/Ìø”øP,º¢þNŒlvnTÑD¼\"ÂYÇ@8ú¿\r,F+´ÆmfÍÐ<ÌFÕ<46>J;¢¬ÒDÖÏðÍ0ÿ¬Úõ0Dò<44>HÅÐQJ¶7°ZÐP`Œ\r4äP*ÇÈȬ<C388>/ð<1A>¨”å<E2809D>¢5¦Áðª*ù0 gL¬P¨åï\"š¬žü/©>Jë^*<2A>Þ\\+â.ŠFÃÐ\nV'ãe(cø¢t,r¢\$…<0E>šcÐîU¥<18>äÈYÏxs**ñ\r£ôYëØ2h¤W-øWèl-¯XûJVäž!0â\\ʺ´®>ÁªÈÀfðþï§>ã«€¼«šÁ4ù¤ãËÑŽ^ñ/‚Öo]dÑã\"ûðÅFÌ7Ñ<02>Èuo.ªÑ>¼ñ’à¤+ìh¹ï\0ûË&†C„Í1¬ì‘zÿq~Í‘¨0Ѿî–_ïæ¦àMdÈç,eë:óÐ¥1âëëªãEÊ7Ã8ÃÄ,jã¶\$<EFBFBD>Ç‚0Y¦ŒqdŠÖEÊq,YÑ].óoÁ!°L?‰0\"<EFBFBD>q0Ò&ðÉËî†#¸…8Z«^â¡À’Düê¿w¬S\0=H‰;\$æ\"ÅO&‹jó%¤Ñ%ñrŸ©çÄØø¦ªiщ\nñ¹(ñFÕ†Û&Q×Ò‘\"’¨PÅ\$&\0ªFZòÉò›˜;¶´â{)1<>€;¯<>/%\rrU+2Ðà”“†O°þµ\"\"L7,’%FfÃNÃ\"ñÇ/ˆìÂp'RØaQÜ6ÓÃrb/°bÓ/Åò\$<EFBFBD>l_ï±îH–ÈÀRôå#h:eršÓ;07\nù3ƒ50²×¢H<>&eä?Œ[\"°Q°hù„üfdb*@É’XZÇÑH‘CcŒŸ'³„_ góŠZð<5A>9/1'Ó˜Õ“ž†\08M„<EFBFBD>1üKM„Îåes<65>8Î+JͤÐoØ%¥<Ât÷ð}=HÀ<48>óØÜÈí sÓ ³²@†j`ØkÇ5q\\’,\n¸¢ï!%J b„Évƒ Ú§r\0ă§Ä®\0¨ÀZ\0@} Æ‚ÇÄíOq‡:Ê6k”Ø,ý9§ëÂÆuí\n̬\nÒ´L§<EFBFBD>˜š‘2ÚéÐ6lðï£þ4ï@MäãÈÁ7de@ÊÎ:‹'hè·ÔÏg\0¤è.„÷@¯qñNA2>Gƒšî²~°dÔ“ìôôÂØgHôì²&þæH@S„DCþ·Æ„¹a>Q.ö”XªŒx@¬.o‰ÉO*ò‰¦è)%<04>ôíPß9Åg´aOÕñÕ<16>µ4MR+ÛRs/<2F>NP-”f.ðµ2û¦ÓF\0¥â‘KBý Ð-¢h\\ôZónüiƒD)H‡°=+Tú2-U¯¶YKW޾<C5BD>zG‚L³c\$hí OðÅ”ffŨ*Èê£Æ,µµ8\"F(`b,·ET¡*6S0…OcÀÄÔö*h‰’ª4¹Gd²‰\0uµM<EFBFBD>[¦:qÏrÐãáQÊÎ…ð>guœ+ìN»cdLçMy@•\$‚æ";break;case"ta":$h="àW* øiÀ¯FÁ\\Hd_†«•Ðô+ÁBQpÌÌ 9‚¢Ðt\\U„«¤êô@‚W¡à(<É\\±”@1 | @(:œ\r†ó <09>S.WA•èhtå]†R&Êùœñ\\µ<EFBFBD>ÌéÓI`ºD®JÉ\$Ôé:º®TÏ X’³`«*ªÉúrj1k€,êÕ…z@%9<>«Ò5|–Udƒß j䦸ˆÁÕàôɾ&{,Ÿ™M§¡äS_¶RjØÝéÓ^êÊ8<·ZÔ+±õáe~`Š€- uôLšTÂÈìÕõ&þ÷‰¤R²œ MºûHI@ˆbÍÒ·õ¬öœÆ2x:MÇ3I¼ÝG€oe[û‚ßaØÅá<C385>\\´JQ‘øa¥r™^)\\õjrôù•ÎqÈ®P\" ˆ%r*W@h‹¦„)ª¬ø²\0¡\nù€5<E282AC>Œ6”8‰ªÚ<C2AA>©r¬œ61aË‘ªB˜ºJ²`F«ë´XFÉðP)Žƒ<C5BD>Ò7ìúÆ– J¬é¸hfÊ4éJøÜКRøGªæì¸îºžÑÇÂ8Ê7<C38A>£,‚Ï+ðJ#(´Ë|ØK*JÞ\\)Äü{\nGãÈæð<EFBFBD>²2®«Š±2§,+2~)Œ£<C592>íDÏÓR«A°|\"ìO¨çF+ï”Ö㯨*êƒÊ<C692>\"ÛµP#QÀ”›íÉÏ«t–+è½@‘››%ǰt4¨Õ´é]WÃ2ü¾Eõ\\ââÀ”ÔµS5ªCœ›JÏ£ŸO)jmX¸@“a];@‰…‚ýÈísÝ]Ñø÷Дå‹Ä®+ªÎs›f§·\$X”ÅÍ-·:Ô¨ŒC`¸'{)×Ì<C397>bÒô¤=P<>‹p=vËwj9scG_uõ寷l¨ø(ØÈ¤%v¢„¹Ã6¶-=‹eB&9h)Ö#’ÉÚÑÀŒ:<3A>Ãèò¼q-g¶9°P Œã8ä2Œã~óOÖ~Y<> ù]A¾(¢›/;—^e×êÔÃÖx™\\›'p&±+¾©†_\\ÁòR¯ÂÑÜïsã¯M)qFdó»Ç9Å„ˆ´™ØØ6 Â1\rƒ*@1Œ#p)Š\"b‘˜[Vâ#Ï´‘œhûI»“~ÎG7x©Îv]÷Ã}[Ò>ñ¯WÑfzt<7A>}î<>vkÅWo±öÝàI\ny†¾®´,0š§Lˆæ¯ ÖÃk¹\\Ðö¬>.êUv/u]ózüuë×ÐÇȼ§Á~o/t¶ìKÞîaN;D/Bm½e\nI›\ráÈ:ðˆLÛtpH…\"eÞô<EFBFBD>ê'aOhй—P¹MjÖ\\O1_<ãÛËÓ}iýf<15>êÛ×{<EFBFBD>eï;s.ø<>jíf<C3AD>ð¦rƒbAA)… ŒR\r9†za68llŠÛ°@À¹’%´¼õ˜âó3]¿A†ZÛ[¡k¯Éˆ‘ˆŒ‰|2ŽüÊ¥æ`‹Aç1\nÀ´Ý‰Ä\r\\…Qø0Sdb8·R\rŒÊBtj°ßSh‰10æ£k£\\ÍN0:#)<1E>!ÜF' “EÉ,o\\Š_ÆÔ½<05>\$KE\$*ȶ2î\$™Uб7™'Œ}ÑÊK“MÅí£|Ý›RéU-ŒÆD’º‚haOj\$ „üda”<\0ÒÒÃ\$L<07>„†–<19>è\"\rÐ:\0tÁxwœ@¸¢†Ô†¢Atà¼ñNÃÀx<C380>!æà‰Ä†äÓ4Ùî1Ȇ°D B3Gˆ:À^Añ`<60>2‡@ÐÙt\rô00†·C¤ÅQ!µÈÐHÂ[ÒaghÓ0ðž3^+މh%¡³º˜<C2BA>f\0PP @¤GÖß¶J§dú¿t|`)d½6&Í}E²\$ÿ‹<Cf-²Ø)ªIq©¤¥ó¹sÛ!©ê#k<><6B>«JcYŸäSUqUøÂÙnš×䡎ë8ãH¦œ–«Ê„Ç ïôW¥z®µÉqTQÚè<C39A>”⼈Ó\"Àì\0Œ)ø÷·’F€O\naR¶:u†Å¬5•z<E280A2>\\ÇÕgs*RêF.—'Xsëܘ.‘=;¼G¾f@c<Á˜4†pêšs@’g†V|T],<2C>O!|Z%ŒW‚Èo <>Èà@PJEP1[P@åµ´q €;™¨‚¥4r,Œ4À((À ÁÉ2¢Ã‘‘<E28098>Ñe¾…nª[¹É–QɸÁ%Nlˆ…òT–^ʛ檛\\#ÊRAøGS”W-â`8½fSUα5*w\r+|G9‰¤ú×õ¯!ô„—Û¡O Ú”X°x÷5˜B_*Á§Õm\nVvXJmX¿6ÎÂ8–y-b_bx\nÓÚï8ÀÊÓò²É\nü§e#`KQûŠ<0E>×(º<17>¤Ê^«ôP§5®Pg\r\0‚™SJI<-Ñ€M5¶\"®H•³.r~re_U‡þƒ-ëÉá¡?CŸ:IkðV´át¿ÕŽ\rư<EFBFBD>éB·“˜ÝÄ0V îéˆ^ò‰§wòÇÊ1€\nŒ\0\rÁØ0†ÀÒȘc\rh0‚˜Ã~Ë9J\\UÇÚ>èã\".“ÚæÐ4Dã¡<C3A3><C2A1>6ÔRHðœ¨P<08>*]›³Â E <09>jéâ˯«ôØ<C3B4>&:¶ÆJØ<C398>…XhˆÁ>_<>@PžÁ††¨ÆHà¥jVn’\rΫثbÒ&Ò› â}Dv\nÍ+â=ä5åÈÜ£K_@\n<EFBFBD>SÚÃ* øDÐ!„:Û…R\"æî§ÈQLŸ\\‹È^Û‘™òû‘\\ÍÝÑÒpŽ/¬l†èÊà‡FXYJE(¤ô<C2A4>„UUüéVâ®dÆóãÒo¸;½#œa¸O6xRƒƒ¢b¯RƒÍ×S~ò¬U&)\\ÁHø\$†àÉ3\n:úz½n¸;»aÙ{8x¸Y¼=\"` Ь)=åêq|†Áo)džì>¹Ì!œ J÷€çÎñ²%Ôü<C394>c<EFBFBD>Á)Éo×PkÄsÝ\"ÙeUsJ¥K«iwŠô¸c±áµÚµ:XÄû h¯Š¬¸¯ˆ2ƹ9’*Â(ÄhG )_BiQÌé)\$<þSUõQOÆm<C386>…l·U¥éÅŒJÕ#»ÛÆGÒM÷ï¸vìáo1¶kpÀü’JURdHW¶k¦Pʱ^âìX©ü@¦¹øqípÝ8².ò¾<C3B2>¾l \nœÃa‚þþÀóGx¸oT&ââ,Ц50ÀûíJúOÆbŽ¥Éħ°<C2A7>° ÷p\$åÃ\0ÆRý‹KÏ6þ†ÇŽ£\0,p.<2E>\rð³šÂ&ëj¥zå§/%¶hŒthŽ0¤ëþ¨<C3BE>OÌ&À‹ìæ÷Š›(Mæ/4c„ýï\r p0—GÊÿ,DÔð:cPtä0¬R(0ƒôx§^çàî¢~ºˆ(Ï‘\rNP}-Œ”pÜØìXÐâ(Pæ-?%“ÐÍINüﱄ-å€)RŒ<52>:ljRÊÐSLHKÅ€ìjÄ÷Pò+\nªÅÈ”ÂÊ©1•ÉP‘Îzü®ÂúoHÝð{®#ö¿MÔJIdÿ#óâüÏLk\rg¾Ç<EFBFBD>wnfëè°ZîÀL\0éÃê4ì°gžÄü‹HXÿéYìT¢7<C2A2>¶¬ÆÈÈ,öN˜©pCðdé#\"ƒ†¤ÚPÌö@ÎP¬ñÍ<10>H/±Ó°`_gþ \$ø¥‚”ñ1Ç\nƒùð&ćÓÌ8d+’¹`Ð%\0Ü¢`àHKºq©ð¡j\$¹àà†œqÊ\r24qg‡F±D&ËŠ'TÞçà<C3A7>cü9Æ>>±öåæ8øŠnZQRZ’T-ïÿ ’\\ÜÏòÑ<EFBFBD>É\nl6\\NE!N~ÛȪ©NS(Œ€‚åÿ2›ñöê<C3B6>°22¡ã*eêwÆ ŒÁ+Ð_RÈ“¼?ñºÆ‹C«¯,®¦Ñ¯Ê_ï8oQ`2OºÆÍ+1í.¨Y¤<> ì>N&¬Ï›(O¨â¤½'ð \"Ï®jò“ þRõ1Mî®-òkñ<ªy„â4.×-ÇivOà™Œžîo\0¸²Ü\\æ3*2xSFBP¬I0C5 ð\0¨ ଢpMÀþ-G4¢~ßÑFå±nú7 Š\\Àëó9Q‹’ß²â‰s æ<C2A0>O:Žõ33JÉG5¢u,Oû61Ï;Œ[6³¦{3Ã/û‡Ÿ*ÑÙ=Rÿ.LS=ϦťTFóË,á5òÇ.“ô¾sø¿óÁì`ûRó-<2D>¼ëÍ:ôñwR© t =2É=”%04(|-AAÓç/Sëq½seäv”<µí3D2¾ð<C2BE>C4Q=hî_E€øQµ?NŠ©%4Hʇ“-Ú1x>§ñn!Ðý°î”â2†e…‚VÌZ‰p*ÃïˆN¯<4E>ìxQ7:óÑF±f#bUT—\0ðQ6ÐTسN•0]´.g“JΓL\\’0Ò•ÆÑ”×T/LTi ÔT×ôúð*Þ§UF0¬²¯@Ô8ðuó4Ú¬QÕ>”1H³³/Ó·FðŒ<C3B0>m).²ƒ´œÜ<C593>Ä‹3½4<C2BD>ÕNâãäá1Bz'<27>OPrà{TK¯Æ\r\0Å<@ƦFÚ`¨*Xf0ÌTŒyç´†p¤å¤à‘.K‹\n‰ƒ.ñëLÅžåpR¦®õªZ‰®|·Lµ»4¦·3Úÿ RµD¹< QX€ƒ7À²\n\0Š¥ŠSGèËYŒQYÕ3ZOK QPÔdØTþêî½,ãVwƒT·Q•`éSˆ§5JíÍB<C38D>ÎeH’tFÚêå´ vTOP’³cö:¯C*´MQðP¶QQ¶URôIS1éS‹OEf9då†8Æ4vœ„1,f–Z<E28093>˜àŠQ`Ü€µc–KVóf•Oœ@–Ž®’“ Qij 5”d–]E6N诔Sãb Ö•i–<69>>G›hP½LvM?VŠPÍk/9kvÕkÖå6çjÖêSÏb˹iªYf”!/†=ìé®nX±ÀtOÊR/„¥Gfq±Ú,ôì¾lL¥Oósè”âÒ÷V« 'tµS”ºÿ.—PU5 ¶¥f)Kh¯W=NG<õm;VÇu4<75>vÏ<76>mˆ;mÖ[>ô7Fævg¦ž¹Ö\$î±Tpj\\xåßcof;y+~<ÔEm·Kb/ôg4+õ--wˆÒ‡=¤n`ôÖ0Ž»]/çzT-:Ö¡l4m\r÷UNÛ|7Çh7ºÅWé?5#b÷ôuóÍFw_@¶_w·Ý4Azrîw·¬zXwá|V<>Dw|ÏË7@P3³‚¥—[~w<>R=8Ø9ƒÓ…{w‡³±vµg-oµMB…õRlnߘp×Ë{Üòõ¨?Õw˜C>Õ7G˜`]¸<>v¸…6ø k÷u€ô5„—ìc˜—`<60>·QrÕ”KtÖo‰§‡öjx³‚׫‡˜ø¯Œ–T×÷ƒ{q…zZlˆGjâ•k,æAWBöt¸ÎÑs%„XŽø¯p–ÀŽƒ¹<C692>Ì\$RYŒð_„yç¤Î˜ûuYøTÆxã…¸lRÊ „Ö`ÉGA_v‘AGÍt%Öä f'KŽŒ6çö‘JäG“OŒ¯}j_“„½6¨sò”Å´ÉS±ñNÊô€ü¢¹—ÌŒlq,EÒXÅ9‹\r2!Pç•ÉkQ <Ó„æä©Ðý÷î}<19>Z8ìüÖ|é/×xQ×<51>¤Qy´¢õ<C2A2>J§[+9‘‹tGQö«÷q€ªË3¦3žÒŒAŒ(d‚\r€Vm\\`Ö´š<C2B4>X\r€ë\$\n&\rª \r Ì+Ђ¼ÀÒ»`ÚËŠ2J.¹Àª\n€Œ p<15>£\$ˆ+Ùs‚vŠ1Ư[kJ€v×{ùo—ÿ˜Ð³¦x<05>òXdÒ™èªv¼ÚzÄBœ•ºƒrÍ@ÒÑŒÆgqQ ×ÀppõqÄÜK¹ž¨v&W¼=JË2póW€Ê\r‹r<̺¤÷6{Zs¬ý(XŸe\"\0ÒoVTN<EFBFBD>/JµÓa¯ú£Ú“–m Ì ñ§0…–ÐÈ@™d†à²k¥£–·fœ71HGpwn®‘š§ˆC+sóªêÄd\rA±:ƒg8jFxrÂ(Òµg¤ŠÆù›N<E280BA>¶£…ö§µW+«@üì\\b¹Tf^ˆ[%Ù\rC›…*X‰<58>x<EFBFBD>…Ûqf\0©\$Œžš² qÚL<Z 3‹Ê\r õX[oŒ¥.Ú<>\\BÊAîd/“M÷QW;r³´é”U´ZÇ'Fö<46>xÓlâÞøö¶H‰Îj9´“<19>u³þD“yP<C ‰³ @Æ–¹Ë2ÐW2…zX¤C¹qÜÃ(IˆÖñŽ\$Áõ—¦ãž\0Ÿ¼Iͼ¥T£¯øö\"%_\nCý½¯=¯Ô,\0©¶F{#äý MƒWÈ\$ý9mT\$<EFBFBD>·™ï!ecÊ9)nŠP¥E8Ñ[‚ŽMaE\n’ªŸ½\0Ón›VbÏ1Ðvô9eA“<ú` \0<EFBFBD>@š t\n`¦";break;case"tr":$h="E6šM Îi=ÁBQpÌÌ 9‚ˆ†ó™ä 3°ÖÆã!”äi6`'“yÈ\\\nb,P!Ú= 2ÀÌ‘H°€Äo<<3C>N‡XƒbnŸ§Â)Ì…'‰ÅbæÓ)ØÇ:GX‰ùžnÅO‚¤¦“TÂl&#a¼A\$5ÉÄ)\0(–u6&èYÌ@u=\\Γë•\n~d¹Í<C2B9>1óq¤@k¸\\¨úDÒ/y:L`”ÚyÒOo¸ÜçÆ:ц¼9Hc࢙„ó|0œ¬:“I¢Ze^M·;aèÎe”,\rrH(ƒȘúaÓFL4œò:-''\"mÒMÇZ}»šXç ¢†¤ßr¥â‹±ÁÁšk\0¢Çh0ÞÖ:‡Æs2°Ôà¢É„àŸ4åŠ0<C5A0>9Hó‚<C3B3>LøÜÏ<C39C>¬ú¢2ªoQ>:0mZÈœ'Š’¨¬B<C2AC>P²÷0í2|:F¯§Ð₉3ãÒb<C392>¡c\"lÓ€HK<ÃÌH)¿/ØŒ7<C592>ÃZ’\rËêÝ©\n˜ßO¨Ð4¿C³£ÈëH «ï¨Â¼±@PæŸ1pô¶¡¯<0E>Ø:ªc¨\"<EFBFBD>2SV6„¢Æ²Î-HÂÙ´‚ˆ˜Ã¸‰ÔÔ0¿@PÖÓ#±#Ä<>ί3ÅÁðŒ9\n˜¤òE@PÔ%<0E>T<EFBFBD>&;ã¬8:µT;\r9QJ±IËîÚR•Ȱ2Rý<b×95B\"45Á‘)Ÿ\rqJ³°´LéNÓíR]DT<44>=O<?Øã81ê<ƒA\0P!Šb<C5A0>Œ„PÊ:H¨\\Gã<47>Úž2#\\š9,îú䓈C\n°ÔÀ<0B>@ýW•òÎÿ/ƒ\"|“‰éØä:Îì„ûv<C3BB>»í˜ØŸ_Ïž<01>`ˆƒ>9¨2¢ïŒƒ¨X\rŒøè32WMÖŒ=*Åöÿ±–<C2B1>`9ZŒ8Ò6<C392>ƒJÒ £vÐæ;¤±<C2A4>Ê<Ê2\\aâ.4c0z\r è8Ax^;ëpÂ2 #r<\$£8^˜ìcÃ\"7 Ò\0^N£“n:iâúȹ<C388>a|\$<EFBFBD>£„”˜Ž<EFBFBD>à^0‡Ê\"ìâ<EFBFBD>|ep ƒÖØ\r# @8#Íž¼72ÀPª¼òŠÐ‰c7JCÉ„€<>(a#_?\n4H:<3A>…\n-¹'Ê/K&§*°Ø“ÕieŽ˜ l<>Í-ÞÒÊ9Ò•HAy÷íþ ™H<>¨´i><3E>u6Rù/ÃrO\rãZlÏ<EFBFBD>,ÿ¼( ☨ףè6?Ý<>,4¶¯¾HjÀp^:-v|(Ú<Û ÖêC9ÒS…õÅ2³PG\n\n`\$ád7“ÀÆ`C«z\rím㘠Κz˜˜ÐÒEÂ0Tt…Í30àI\\s<EFBFBD>ƒaÈâ<±É9ÂeìÅݨ“°IÕÉH«ÑfjGL8<p衬Óö°45ˆˆ b!5@nJÂJd9Œ›Ðˆ„ØŸqjµZª]X± A€éÁ1÷¢è<C2A2> etÍðä˜baúv{Á<EFBFBD>”‰ø,Cc\$å‰#\0–jJÁ¨EGÍ<RÊ‘‚™mSIâ\nu¦BË&]J8âÐRÑs-DÔ¤e¤xya<ðœ¨P<08>*U¬8eˤÃGô㢺ŽBg¥š³\0Ê\n@T¦\"„À‹+e|±–qªZÉX0o,¾˜,癩ÄNâv8¬bk“âÂÅܰzLÁÔ5šE¤×£Yª`'ø³`@C“Ø<&¥â ôž¢<06>Œè#¤`@I®•™É¬¡7ËÌ©™×‘7¤I`è!+™ËtÕ.<2E>„#™Gc©zJ]\nË`Üâ€T°#¡™ÎK¥0\$Í'“‹²5#\0¨·Ù±Ì¦èQïSSqØyÙ(g˜©˜£äD•õVJÑ]+ÊŽ’€§fgñ §tŒË’m5'ØÑ™ƒfÊM`F‘°‡Wè|’1D2Ý#&¶·ëZ#¬<>¸žeæ_ªÒ÷è XÈ2ýIôfʸ‹Â<>àdˆ \$)ÖTg]ש?Uò¿<¡c`¦½pPrÝ„‡CvçìSÛDõÊÊ(÷ƒZ}’Ït“£r!c«°Ÿ‡•æÉÚD'cÄz¶eÇ;`ò-šö¶ªùìYcR<>#ªÔÇ\\’8KÈ\r<EFBFBD>at<EFBFBD>ÛÒ“âEâj x…F'šR:Í…hK%úä³²NΑԬÆÑè‡pʈ…é)á͘åRDŒr¯VRÛŸ6\\)È ë¦ä=SdEEáQE¨¾ŸÌè|ê¢ n™Äd^ëÀ\\I<EFBFBD>¡ÂRÝèÓè€IÂ,kª„ðøà@‹0p#áØ˜?ÄâY ‰€2)Å'—eHHd yP¸nÂb`É‚ÕiL&ÀއdïgqåpÄÖø7\$Öa©ñÍ,\\ˆM5•²<>#ñçåJÅ£ÊâBË\r3¬\\ÆYšÜÞ\r¡½p©ütáÛßÌ„^3CpˆÖtÎÙ»< ɺvåËÓ4(<1A>Qâ=HòÑ ÃZ<14>…F.gèÉeu‰•\"¦<EFBFBD>>f\0A•qQ–3±•aþTPÙE¦\0@rnŽY—yoQD=<£2ûÌ1 djò‡ª<E280A1>îŠÂ:Ž%À5=<13>T‹\"ø?©•\$lõòÅ.t“ì-ªõÕ¢46ÿO³\0œ,™S¯ìFÌV÷fÑÒ±6/kd}²'öÝ<C3B6>(ˆËpXmÅh0<68>0¯±ÚMS=A„\$ÆóxôÉZlýs—7Ë*Þ»÷Xì¼ÅI .&\r)>i\"úý”dJÑøTŽÀ6º¸]+á©\0¾¿K« ±p:\\]bkb³<01>†¥1Ú8æ_8ôß•n•K%…F4\r\$5SSIPCqDŲ ¹û\\KÌ5Ð:λßbôŒœ8.³@ý§ì<C2A7><C3AC>0jÏLÃU`Óoî<6F>„zàyêÌS©vo9×XëºÄö<ƒÁcK¤°]†ÈÚ#f͹µ3ñ<33>MíÊœ6&ïý{VaÔv`\nG銆•Ãáár„ˆÃtSUâÒiH<69>Ž'…Ÿ\$süáª8J#‘³>ÊŒôb†ÔÃxãG})ÃËmXû|†…ô3|Ðu¬ºÅý<C385>RÑÞ«È|5ÙÛ)ÜîõÑîœ=ïkÀÍø>'ä°<C3A4>-ó)ç»]äºv¬fLYÚ÷Æ\\ëþÏKºÿäü‚&f]<5D>쮲æ.f*lwóùb‡þözfØüµÄ\$ŠL˜þ‹pÿÀ\\·m¼Ôè¢\$K^‡h>kŒ£ à\"ÃÀ\\ôÈän¬<6E>b#TµÍÚ°ïøÞµÐíÞÃ,\"ªØCCÆò˜{Ê¢%Œ0ƒ`cŒ\r€V>GLR‡´ñH:\\ã”&Ç `ª\n€Œ pa,,pÂëZ݉œª#ÆqEh¸Ð°<>M\nE\nˆy\0ÌÎ…Ãô&˜±@ÇáxEÅZ7&j+>Ј±®ÐËP^ÔðÂ&L€odf¨¢ô'ÅRQƒýfZ4 òwä¼H\"ˆÖ0¢HV©6\"ç~À¢.†§Ã`õ/\0\\%¢î*ëdYð#CR¡'’/åþÌîµ0&xHõÑBùqX¦‚è cà\$\"0§\n<EFBFBD>dæŽ%ØÄÂ2ꎆΪun;0¦I¦pÍ‚JÓ‰PœM*M/Y‘œLñ @ÞeEDÃdFHÄL#@ôA„`±b€£`mä*Šæ¼ŠlN䦤IÅæYîÛ\r‘ŒÖ¥J'â.NJ,Jš‘R<\r`Öņh7¥Dsãbûƒ\0Cà@ ä";break;case"uk":$h="ÐI4‚É ¿h-`ì&ÑKÁBQpÌÌ 9‚š Ørñ ¾h-š¸-}[´¹Zõ¢‚•H`Rø<10>¢„˜®dbèÒrbºh d±éZí¢Œ†Gà‹Hü¢ƒ Í\rõMs6@Se+ȃE6œJçTd€Jsh\$g<EFBFBD>\$æG†fÉj> ”µÂÕêlŠ]H_F¯M<ªhº¦ÁªÑ¨ä*‰6˜JÖ29š<1A><Oq2¨Òy ±¾,*Q¤<51>= ´£Á\$š*!`,‚bš‹ÝeqQ˜HZeÌÒåM¦\\eŠÓE3¬Â¯öc<C3B6>®Ûb·×hRë½E%„@öqûæÝ/ÓA´Hx„4§™Ðµq¤¦#s›au‘¥Æ™ˆ\\{ ¾YÖÓöK3Eªø…\$E‚4I¡É=JòºG£E\nô»oÉ¡ ;Íò¨• „Šb”»OjZ™<5A>°Š¾ Ð\0<EFBFBD>NãlÜ<,1<0E>ì2²<32>(ÄcIÃ<>:b†¶ñ) Q¿æƒz˜BѪV^扚4RBl¡@NúèG#H\n¦Ð+2Šk%¨„h¦µÆ‚S/ q<>\0Ó(j¡5<C2A1>hÑ.ª<²¤Ø¤¥šG'4ó”èK)-¼¥(3ì£nËKÛ6«% ‹² Ë)+ü†Í¢¦%eœcJ„£\"ɬIxNÓéÌ¡QÓÔ-CЕ#-´-ØÓ!ª,ºèÑ hSNMxÃVòtƽ‘b4Ðm:ŽÇŬLÚ¼KÅY/Rœ&•Ó\nJ]D³Ìœ™9H| h=Òd©ÒŒ‚ ;ósÙ<07>B0ê6\r<EFBFBD>\0è0ŒC`ÊŒcÜ\nbˆ™F¥ty<04>7tîîÖIK'!ÔÔ‘?+”í)US2ž¥Çñ&):¦t¾B£ª|\"š Í®Bšª9#“BæŽ]\r–*Wc‘ƒ;²*IW&<26>\r\r°s\\Ü–VQ‰WÈÕ‘C”EÙ[´†·XÝɤ”9£DÔ4{lÎÑ.Z޳ˆ]a.´c`è91”»øºÈ0@!Šb<C5A0><62>u\$C” ˆå°®¸ê2é‘‹¢®,¦‰„¸™º×-OÊH“ìÚo/–ö´2˜1È× Jªé.‚/\\ª—ÔúŸ;ÇÉS”²ŽR!ÏÄò´<C3B2>‚6s«’µj‰Ø3í3Q²<C382>c¶×¦Ö“ùepmJÍ7*˯j<C2AF>Ùµ±ªt»ÊÇ(S0{ÍŽdà)éàš0Žc Ê9‡Ð9ŽãxåO£Àà4ŽC(ɾƒ@Èf ˆ4@èÐ/áÞàÂhi\rϬ? ÎÃ(nƒáõàæC|KØ0‡ ÎC¤ëå°D‚Hmè6Á<36>èxaÇ0CPèzž<0E>¾†Ö¾ÃHt}¯¬6¯èlö#5/ޏã‚_ÈÒ€\$Æ&`@@P±M<C2B1>sn¯ŽX(,à¤Ø8¢”S˜Qà6ÉШãÀ#\nˆ<EFBFBD>x Ö£’B‰k\\±å_<EFBFBD>D A\n#¹(END½ÕÒîTÝ(Ñv¼â˜^ä¬P,ÉÒ×A[áixO9ÞšÒTðqåG'®¸C˜ZÓš#oæå<¦²…[‘M)4ö‹È¾Â˜TY<54><59>Jæ·ÉrÅy¯<10>K±£/H!’<>ò¦H”yY2äé¢{h.91Èκʓf‡‡l<EFBFBD>âpTÔÒoXˆž<05>ÞAý\rÀ€:Ã0ßÁþA¤3‚ÀÃ0i_@€;—ü‚ PŸ!¹O˜dü¢TI˜9ðÚFXv‚‹\r_Ë&l×™«àl%3t¿1ªY-e<7%Ý™<C39D>x-¡Œ5ÑnÆéf\$Á”°Æ0õMÛÓ¦Ôâ”3\$ÆÄ%±åN’)<29>†èUkbÏy“™¢¤'MnØGœÀu8ÜÌ`ŒQ’›Æd¶“ä¾,ê½ä¤SzåÓH<C393>6u~µ<>=P’&ç”Ý®ÒbA™ýh\\g^i5šœ˜ªÍ.&6‰³fQi\na%ñt¶7:,\"…—+ ñ…ªÙ`fÝDUuÄhìyu¯jµè’»×c>¢`‚'2|ÐÈà†¶CBÚU‘0¹‚»c@J¨«rÛi1âJdÑsW³,¸Ûó^¹K\\С´hHÑ×*büý.bDº)ž¹Î‰]³rÍ\n“»<EFBFBD>“Q=ÇƒŽ¸IrãNjQÝßoHÁj§‘i1ÛâUaM™ A <0B>Ïs,qk8h#Z<>TVL†c=-ãƒjÓµVޝ ¨ÌÓ)z‚ M1=jä-.É1kUa\rZŽ\njµl†”»1Иìƒ&š§<C5A1>¤R›°Gè‘Tƒ(`F€¦•E©I»¹S¬%+šÐœwQ.m+[0—ež§¦ …²‚˜NñÉ<Õ¥†Œ:<3A>†E¼\\‡q\$RZij#ÊpHƒ9ª…±ÃžäüÃë>E|/hîTõ•:’KäWé0àfŸOŽ=´šF?4ƒåG\n©”5ÆÅÜ0dÄ©v'LŠ¢Íê#ñ©5\n>’g›(æCKg!IDd<44>Õ”+Whˆü¨Oå%p’}@šõyÀ'V°]^åT›Ö…C[8’/µÓ×›<³)íR}ÜöÄ–(MAk\r“¬ÞMªÙÍSh²\r{µu.ª¯–ešiÖC_ã”6[~ÁÅIH6á/ÛØÇenš]2±Ø{Ý3ïœ:T÷£TßÑÃ\\îªx.žU»îrïÝkÃ8OÖ¹¨K¿˜Ë\nF\$|l–ó\"¸,†:|Y;ƒ&ʸªá²ÀÓœœz^u{6Òu;Ë<0F>‘«yCêo1ªËÚ…yâ*d<>ü'%¬ÄMØÏœ®qÈôRðR¢(«V#m×½™zT!,dhËWå ]žwnn¼<6E>êB–ÌéiLºàκziVGÖ¿^ÙýŒw»Ë“Q»H¸ìþý¾D gð1¾¾¨K_ßRÍlÆŽwO\0ÐhÐ \rÑ8 ÓAWÔ'kÚ\"OPÈ_Rö\r§Ñ¯uòlþ€WÌK§?dÄsßçG\0Íñõ¯»ŽBtø·Ûa’í1óâ¯ÜsI=CÌÓౘæÂ([¢<^ò\$½óÃb›\neQêÈx¾sk#Š”5‡«¯•¡Ç£OcA*síA•i&¯úTEȺ_»“â¶´µ\$àšäŒRÇ\\y<EFBFBD>Òcõ\0†¼5 \"Ç+¢uïÜFðÉl.¾dd¶âì‚’ÈØøEÄû/Ȫo ´ âçiÀ;ì.Ñã6!2Ç\nZ!k¾Ö@RÿP @ÂÒèg¦¨¡*û†¨¤<C2A8>xÏFÃ\\@cÊ™6ÖpˆfêˆcªRýŽôýæ£jJcP{\nI9\n<EFBFBD>k϶4§bL§Ä¾¨p¶gJŒ±Ç¥eNdë§ÄðP¬ePFiðæ¨CMâ¶ü°†i‹JRLBÃJýªBÞexíd©„n©ÆÜ<C386>G<EFBFBD>à<EFBFBD>\\ð¼šmvð°†Ø‘üm‘dÊ‘ïv/m5\$6(ïâê;PëÂï±9¤{Io\${q îVK±Pâ**.'ç)ðDûZÊ<5A>Æ?<3F>&´Ã \r϶±pijñ<EFBFBD>à¼Ëö´ð<C2B4><18>§1Ž!l«¢®;q˜ðAêÏ<1B>X¹®~é#døg¾(ŽŠ)¢®.¤–\$±æIL§\$‚<EFBFBD>¥nèæªu'£Eo‚KÊTu‘pÇðS §ÂÏ*D\"öýÊä’nygŠËG<08>2¼F:Bìîg<OѦ´Q•L´Fl’Éc\0%…Ôûæ´¾Q2í¬Ã«–¼â\r 0`Ä„öÄñ³&0Fú,J³‘œ±B‹2tÄÃOªüþ<12>’˜ù£e(,N£<4E>kr†úRšè'™*Ñ…1·,0‹bºÒ”þ‘Ï,vªošt²ªQ0Y)òÑF¶Ìã乃fE<66>̰ätÅÂúÙå~É?#ÌLw¢MkÞå&¼öïŽVSñKpéOµ(‡cÓб\"AÐøý±‡'Ó,©³Mó#3’k¯ãrÒæäÒ…hw%‚Q3Rbä¿C3J«4Ƥ,ZVÒÇ6òáA3\$àÅ+¶<>§r‡K0xŽèòÌãÔÎë@:Hï*ðán‚.©>’ñ½:I]+±Í4â×:óžaS¢’“§+°ÁÑ&2Ö;“Çb´)+/rÞÒ<C39E>=Ä÷<’G>s‰1[2r±pJòÊÒñÓc7)»’<C2BB>>ÆYLº«S©BdU'±_Ô\$Žl¼+Ô7GA/ìA´<ÌÔþ®‹C¼<ã2¨^ùEI2ÒÏÃ2N÷BÑŒÅæF¥¦>T5=PÇG„_GÐ.¤3ÿ4²™aJDãŽ\\Ífg“8FÊÊ ÆzäŽ^Œ“eÔpß\nŠÎÞóhv†”SIL·0îL“‚J³MõMDT•„=M¥SLª ”rr>Zf&Þï%l*䔬Ó<C2AC>Jdª4”¿Q4)QRñϰý3ÔðÝýN5)Ô„Ý\rðQäO€†m`ØrLP´3º‘âR¾ƒ\n¾Ò8ã?+Ôº ‚t\$*'€Œ Eö\r ê} @H<>ž`ª\n€Œ p2h‚‚@ÎÞͬØf©s¼P<h²ì<OÕ¤ÛYG–ÎD&Í”áíÒ³§ŸZ¦ˆEÕ³\\«\"Cb@\$Ine-`K’hþï¯.jÎø+úRZDš®BR髜”{[#x7Ò*Í£Vå(Ü™µiAJžQµ]œþcrÀ¢’5Â4“ød ‰î•œVDŸ\0Ú~Eöôåîa4pªÎ¦êVšÊ¬Î<C2AC>ªÿÑ×=ö0£nÁt8ýò{ô’BlŒ..ëgò]g6‡`bšµnEJ<16>úÌYhQd;PßGGPüö“ q.;B@¯qðÚL¦ä¶²ûÖ¤ÿãàr²¤GÄ,Ù&’{î[_XIä„V™P®Ã>—‚©Êt[¶ü—ÆA‘€Õ<E282AC>%%Mx‘¤©ã賉 Õ…vR“óR@BËÄœ6Äè‹ÁÊβd^±¯¢÷o˜VNÕg‡£K,1h¬4c /é’;‡Fc&qP×sÏât+?Ín×/9×+;Sã=ÃÀÀÃë\0±[³pwcæ{À";break;case"zh":$h="ä^¨ês•\\šr¤îõâ|%ÌÂ:<3A>\$\nr.®„ö2Šr/d²È»[8Ð S™8€r©!T¡\\¸s¦<EFBFBD>’I4¢b§r¬ñ•ЀJs!Kd²u´eåV¦©ÅDªXçT®<54>NTr}ʧEËVJr%СªÊÁBÀS¡^t*…êýΔT[UëxÚðè_¦\\‹¤Û™©r¬R±•lå @FUPÄÕJžœ«u•B¥TËÝÕdBÝα]¹SÖ2UaPKËRêYr}Ì—[:RëJÚµ.çV)£+(Âé€M¹Q`S<>z‘s®Ó•´:‚\0•r¦×ÎUꊶˆKÙï.ušï£—SÑJ*gÇxÒ-á(ÚÚ½çP eºç26\n]ni2Ô—¤ª0_“§1@œð¹\$seKZX?¥rZLÇ9H]:\$™ÌO‰i6ZÄ¡rtä3²_DÑDTñ)Myv]% r–‘%:ÎF9¥á,tÄŠ2\r<EFBFBD>ÐE%<25>Œ'\nº…ì.\$Ü\\H i N壼“—g1¡—¤k<C2A4>\rÄq\$r—D|¨L©ólÞH ÄÓ0—‡I*_Í…2¶E¦#£`؃Ä6¡\0æ1Œ#p)Š\"aÊH£ÅÙIg)x¹œ<C2B9>C=Å%Ì/Í<> ÍÔ§1Pö“s”äÆõua7TïõRsÄÐS?G1:A<>\$É ú—‡)\nRÙ)Å™Pt’‹<E28099>frÖ¤±aW/ýUWÓÓt<C393>\n PØ:M’FJ‘\0†)ŠB0@“”‡9F*ÇIF¤<46>yHÂ)ªÐr‘¤«/hÚv«I:Dû.<2E>“Kq:r—ä,r]<5D>V„•í^b%~&Î0;j†8ëÝõ~[Pl ƒ-M½ÖDYÅl2ˉ£æ:£<>@8gC˜î7ŽR@Ê<Hä2Œ<32>p@!\0Ñ¥ŒÁèD4ƒ àáx﯅ÃÈ6<C388>#vzhƒ8^2<>ÛXñž\rØÒ7í¡0ŽC8Ê:jÂýH<>a|\$<EFBFBD>£…6íƒ xŒ!òŒ9„@è4\rò@è7ò#×F<C397>#¦ž<7F>´<EFBFBD>,K!9 °ìLs,k,RWÁPbt\n@ 0ÌCr‘øêð†\n:D²çAlBä©r`™YIªnÇ61\\ZÂ÷Ñ«-Ï‘DO¤QADzé‰TŸ±Ý ž)Š<>Ãøÿ*Öq ’6ëI!<21>)Ëíû¾úŽ\$,Ì/H*˜^†\\,†ðê€nÕÃöĈb\r!œ)@˜0iQ€€;–¢‚£·R) 4¸VˆçœìA¼6¨æz›:ê5¢!nª—ÂgÈ¢S .¸Ð¬=@+]l¡‡Ö·‹h¿cœT³”xKA[âaëÑ-‡0€?Oí{CA8+£ûB,D_ˆwhí<68>é1N=2ò‰C™ßëô–ŠØ+ÑÚ4‡0ì–®b•èžZ\"U[.ë]:?|\"<EFBFBD>K-Dч,xA<'\0ª A\n<EFBFBD>IÉPˆB`E“g|KŸ8¤ <20>¼¦4æ¤Õ¥DöŸR¢G1äC¾5\0ýÄôU\"ìLaH9D\0¼%«I}¢Z-ÍKÞ#\",È\"0.Qs<EÍ#š)ÅÚÅSh±¢ÛbyÍKÊyÕªÄT—aмubécŽq6+‡0 ê‘Ly’( Œ<>ˆi\ngx\$Oiyˆ‚ê~ÏúVÄØºN£¤I‹äÒ³\$ŠÉYå´_)Ú'<VL*B&Dää`æa(?h`ÿõhˆ<0F>¥%¢|R–èt³Ö ™Hà<48>£Ä|(D`楔¸'„¶P RB?w’”^‹Ê\$Äl‡tÂ%K©‘Ha©ºø-UÜ ÒÉNÅ|:3Œ-î›d{\"™‰K%|<7C>Š0S+!\"c\"¬s¬<Z–r8‚dÛ™¡'0KâìBŽd8‡«<E280A1>™-¼–‰Ú[-OKÝ=‡¸pʬIë \$ð¦FÃ\0\$ý”¤Eqóˆ9…Ã*ls¤\$‰@*ÓtΡA6¥œîÐÜY*´P¶Œï¶ƒ˜G¦µ—nEq–f6õe,ÈÃ@a†\0€79€àƒLQ<>éÈ9x agŠ 4›ª¢”c¤T,L¨ {ÈT…ȶ:\"œè˜ÛL‘o1ž·¦Þ[áK2æh¸G~×Ú2·ÄégŠÝÎdVZ-¥À•ÀDRthx¥4äÂLGô\\#¨5E„åarµ‡G.Â3ÿÛ\\\r:'!¡œsªUá¹HðÒ|B™á•± ™…8°Ä±ì^CÈ<43>\r«<EFBFBD>œeu4ùÄ,ƒVÀºÈÙ#%M<>áö¤ñàw!UŽGÊqùëäËl«rãÅÑÚ9S`<60>c£1š*PiÅk;•¤d{û/ädŽÀ¹:|笙@óìû`ó²'ŽQ\$#-”ñúбu•Ý<î'D¥»‹M[(*b£DÏ(žGØ£)…Óß‘UŠ'Uó)¢àJNCDc¡®<C2A1>ÔwÈÐWó>ÎlïÑKs·ð÷§ ›Éª–n\"ûi<EFBFBD>0-ØÙÿ\$#}ŠvŸÍ ›*ol-‘H\nf{T»`”e¬“· K1ÀÛ‚“mñuHNbž&€æ‹´D'O@¯VBºœˆ„è\$uãT{[+cÚ7GsNÚE[ÿ4&ݼ<C39D>ø%ˤ³/ð1”<>tôEq–Žî^ÃÒž\nâ‘6\$êÑ6'´ÆÀ4ÄþB“o&ËØ’žË9IàâÜ¡÷ó-ù€¹'ç;‹'rgϹ¼; «þ€ð\$V)ç÷D=ÜŸ¡Ð—Ï6'H Ö3u.”^k©º7›“ ãÓD|z7_4¼ê”‹s.Ðhi™›€'\$Ó\r[B~mS3\$r(ík:0Ò½±\n\"ÇHšÝøX“aBQƒ&íï‡zª+<2B>PÎQ¯¨µ¤– †º`+a°4†0Ö¤ƒ<>„6Uuƒk•\r!˜<‚:é4Q¡´:³°@œä\n\n¡P#Ðp`cõA¸3ºJ©Ph¯Y+-‡‘¢8/b\0©-Ô¶(ÚT‡|P³J*È l!}Õ÷½€PÚ°¯¸¿žÌWŠY€/!ø¡£¤N<C2A4>ç”Bp¨L<C2A8>Á‘²†pÿHõ&–²Q\$xÊD\$F:m„´\n+\nÁ˜z‰¤ÁbXÂZ‚ž9mŽß¬BX\n‹À§ ¹+–÷Øô\0àˆJ\r ôi‡HÂ\rÙä`ÓcÄ1<C384>ÌKiÐ[¢¶<C2A2>L&Â¥ºÆ)`Õ+Œf¤d3t8‹2â,:DeŽ\$\"¤<11>,%¡G\nX@â‚Z´0 -°*šO\"YC4Ì|¤ˆ‘<02>,›·ƒ”Ý.b6,Øi`ÓdÑbë#v@<40> \0t š@¦\n`";break;case"zh-tw":$h="ä^¨ê%Ó•\\šr¥ÑÎõâ|%ÌÎu:HçB(\\Ë4«‘pŠr –neRQÌ¡D8Ð S•\n<EFBFBD>t*.tÒI&”G‘N”ÊAʤS¹V÷: t%9<><39>Sy:\"<<3C>r«STâ¢.©‚ ’Ôr}ʧEÒÖI'2qèY¡ÜÉdË¡B¨•K€§B©=1@ ÷:R¬èU¢ïwÕDyåD%åËhò¶<€r b)àèe7Í&óp‚‘q¥Éi®UºÊ£Sªè0wçB\néP§œ©ë™*¸¨¥éiu-•>æL <4C>)dœµZ—s«Ñå•étŒt 4È…´]l²t-ÕòÕÊú\0•–âm×ûM2å]*Üë5Û<35>j±½/VZ‚f¬å\\,Ý ˜s•^C jÚе-<2D>AV‹“%Ú\\R©e<EFBFBD>pr\$)ÏÁ`QÒ@—1&CÀo2.S²9t÷2À¥“e¡ÌJ)!DtijÇEQd:¶FkY`r—eÑÒP©i>[Äb.[•Axí„£ @1,¸P9…0´1\réi^¶ÅÄ,M<>Ç) D)d<>8¡,'!v]œÄ!€§9zW)dq\$ôð±2¨ÅTôŸ àP¨ÊŽ<C38A>ÒJ–ïAL–‘hézNB0ê6\r<EFBFBD>\0è0ŒC`ÊcÂ7B˜¢&¤‰{5ŠYI¸k ÊB4Ê”i—1»ÎôÖq³Ë-ñ\$MWG§;[<uôO[@Ç1<[WêYX<59>§©iWª…ö±ËAU¹Dlub-ë¥w[À÷!Qc,0¼3\r<EFBFBD>C`è9\"èËlD&„ @!Šb<C5A0><62>K\rã[0¸°YÒC‘±Ô&^:)‚Þr’ÅsA ÛÏ™ŸDû@)Œ£›4Î)~×”AÐQg)*O°˜Þ;<3B>³!e‘ÍòF`¸>K¤‰ÞÄðšœÄ1\"t¤K@&Œ#›.9†š9Žãxå'2£€Ò9£ \\ƒ@4kƒ0z\r è8Ax^;îpÂ2\r£HÜ2ŽAv¬3…ìÆúË3€^RÃä3Œ£¦Î/Ó4øÖÂHÚ8SCk0:<07>xÂ3ØA˃@ß'ƒ>0àA\0ÓBŽÀÛOòárIJ,Á4Z%Ä)ÌT/q Ù¬¤LÔ]»ñY^så¥ò( ‡oÜ÷}éjB!„B<E2809E>†iIZè[5äjN2\"—¦)šjÜœÅqk.àä~Àœ¥dEÿ´( ☨Y!TOÅ9qÂàM”&޹Ç0ˆFF¹ø¿1@çAù&\"´ƒ‚´hÈo <>OÐêå{s\rˆ1<06>ÎL˜4© @ƒKbÁP(B0Ü“ƒK“jÊÕ°äÃjœoÙ¼;\"0Fš\\èÐ,ƒÒÌŒ@ª'‚<>Ð.ä±<13>:àXB-qĵptE<74>çñ.QÐ+„R]\"â,@a\nXJ@ç\" ²ŠÂ&ŠB†=š<Çœ\$ÝÀ…wNñß9Õº:D`„(¢ê;”„,¼(Ts\nBP„jæ@…µr‘ã~(Ýúê]‹Ö\$41 (…ª%,€s7‚‘M?äF‹R—%¤À\n á8P T²ê^@Š,Â<&(HI‘Ê#Ä]LIÄ™!cbl×jˆQIX\\#ô‚:;ÿQ°4r¿D,(„2(T±Ð)ÅKg<4B>4Ãó\"šHùeè\\¹ô‡ÅÜS4(½£5Õ2ȸ´C”^ÌŠU ç¡T0ðA|!‡0º\\MŠçv&UȹžHíùK)i-§x¸ac”ûÕ‚°Å=*\"ò–ã<C38C><C692>¯ñÐG ÁÊ´ÖØº.‚ðÜ-É+MâyŒF]'‘È.Œ»:ªÚ—./Ká¬5Å,OŠQÐ*hZ\"‘ 02\$T„‘ŒÕv¯Š žÙºMH³<ÅÑb:Dø¿x™Rªqv)&zÔHrÁí3\$~˜D@©¶´™ä<E284A2>=ë]^¬°Ñ’>HE™¡':Ë’&Nz…0<E280A6>e¶±-3€ ‡(<28>ƒ˜VŠ\"Z Íx¡ãœR#å¦]E!1<>\"íŽQ|'‡!ò>”Ôë31@ n ó‡ÔTÂQ!¬]hVU2ZÅ#Îl5âeTŽt<C5BD>’– …¤A—ñSq<53>•fV~(Ð&eCÑS<›ÃžŽËJò¸…·ÎŽ¿bY~¬ƒa 0Ä@@<1B>0pA¦)§ç<>( ƒá<C692>0™u,NS\niÙ*õb&п¦œ<C2A6>\naÎ.Eàç9÷y\$¤²Z¬1 ¸ØýOQpd‘áŠWp–šQÎ-„<>í»‹ª&®sÇ{è‚,Ȳo#ß|’.e<>/kªƒdf3cð¢ˆhGÂ#D°6FÓ/\\Á™sÓ%¥k‹+áDh<44>\rbyÄJæ)±2Þª‡Q\"èS=‚[–&¬XŠ#ÅK\niYÒ:¯³N,_cM”´n‡ÍÙ?H’È´°âôY4¹\nÜåe×*UþŽÒùOO.Í›ÕÖLWº‚UØQ#Mz©iâõ²‹¢‘k<E28098>e7²»WŠõ ô-&–ºŸ'ì!k¨²–Æ•”hÄ¡\$#/¥œÄ²&H\" p·x7ÐÜ \r Ñ\rºYØÚ3r¨ºèíÙ¤ëk#øèY§±’¢T.†âR<%(¡„_)wqnÖJi÷<±’ÎZÑͤ[tõ!¤p5dœÛªhª ˆÈ·èé<9¥.FP¸i-Gƨ/°¹K<C2B9>qÌÛÅåOª\"Ûb#QsÊ“W,ãÙK˜U)Y“ù©ÕÔ|å c‰Õð<C395>!ØW§<57>ÎA«S·Â0rb#OÉÅÄŸ‘Q<E28098><rÕhTD†³©»\"«uŽ´ûž×[ipÛÒiRê¬[ìq«Q£ò|TºùtûàM‰íÈ«´Þ„Šq8‡S0Ã/\\‹}ó¿ïÕ‘g„ïþ°äÿáƒ/i0>?ÀfÝ9Ýü<11>ó7—w\$Á¦¾df\\¢SÓV}¼BµôÔΚùœ§ê駨óŠÒ”úsï¤=…Ä´çâóÏGÔxÀ„5i\$×zŸ†kD/®øÿ톚éê•5:ÇEŸK…I¬„É\0¡üt¿ÆP{„¬µÃ R!ÁF/H¸¸¤¸XØï¸XGê!á’{ßÁ\\®ƒGmz¯#@eæ\r€V`Ø\r Æ\r`@dÄÀÂ\rŽü`>t`ÒÀòu@èv@Œ…¥6\r êiÄžSfì— ¨ÀZ(ðÐ0\rÀÎvJä( ®¿F€#B8ŠÄ6«ã°á,X¼,á8x/J°ßK¾Ic¢dH¢Áéª<ÉG´Gá)gÀéc\nÀ ˆB†ìð»ð.k€@Â….UHÚ,Å|Å ½ápBB°È<C2B0>\$z)õ‚X<jŽfL~oØýÏà÷î¤<c@\nŒ6c¦ÆÀ¥6@Ê3\0è‡ ÒFºvEÔžä¤fÜè°ÄÌMZ¡¬¸“CÌÏI¶Þj)ùÂØâ°8b,H®Ø\n0Ê6Uçþ<11>, k\"Ä/þÁR)pã\n…Ððäv¡l Á‹ééÿ!ÐýåB®úñ`æ.<2E>Té¶ÜáÌ<11>‚¯v8€ \0<EFBFBD>@š t\n`¦";break;}$xg=array();foreach(explode("\n",lzw_decompress($h))as$X)$xg[]=(strpos($X,"\t")?explode("\t",$X):$X);return$xg;}if(!$xg)$xg=get_translations($ca);if(extension_loaded('pdo')){class
|
||
Min_PDO
|
||
extends
|
||
PDO{var$_result,$server_info,$affected_rows,$errno,$error;function
|
||
__construct(){global$b;$Ke=array_search("SQL",$b->operators);if($Ke!==false)unset($b->operators[$Ke]);}function
|
||
dsn($Ib,$V,$E,$cc='auth_error'){set_exception_handler($cc);parent::__construct($Ib,$V,$E);restore_exception_handler();$this->setAttribute(13,array('Min_PDOStatement'));$this->server_info=$this->getAttribute(4);}function
|
||
query($G,$Eg=false){$H=parent::query($G);$this->error="";if(!$H){list(,$this->errno,$this->error)=$this->errorInfo();return
|
||
false;}$this->store_result($H);return$H;}function
|
||
multi_query($G){return$this->_result=$this->query($G);}function
|
||
store_result($H=null){if(!$H){$H=$this->_result;if(!$H)return
|
||
false;}if($H->columnCount()){$H->num_rows=$H->rowCount();return$H;}$this->affected_rows=$H->rowCount();return
|
||
true;}function
|
||
next_result(){if(!$this->_result)return
|
||
false;$this->_result->_offset=0;return@$this->_result->nextRowset();}function
|
||
result($G,$o=0){$H=$this->query($G);if(!$H)return
|
||
false;$J=$H->fetch();return$J[$o];}}class
|
||
Min_PDOStatement
|
||
extends
|
||
PDOStatement{var$_offset=0,$num_rows;function
|
||
fetch_assoc(){return$this->fetch(2);}function
|
||
fetch_row(){return$this->fetch(3);}function
|
||
fetch_field(){$J=(object)$this->getColumnMeta($this->_offset++);$J->orgtable=$J->table;$J->orgname=$J->name;$J->charsetnr=(in_array("blob",(array)$J->flags)?63:0);return$J;}}}$Eb=array();$Eb["sqlite"]="SQLite 3";$Eb["sqlite2"]="SQLite 2";if(isset($_GET["sqlite"])||isset($_GET["sqlite2"])){$Ne=array((isset($_GET["sqlite"])?"SQLite3":"SQLite"),"PDO_SQLite");define("DRIVER",(isset($_GET["sqlite"])?"sqlite":"sqlite2"));if(class_exists(isset($_GET["sqlite"])?"SQLite3":"SQLiteDatabase")){if(isset($_GET["sqlite"])){class
|
||
Min_SQLite{var$extension="SQLite3",$server_info,$affected_rows,$errno,$error,$_link;function
|
||
Min_SQLite($pc){$this->_link=new
|
||
SQLite3($pc);$Ug=$this->_link->version();$this->server_info=$Ug["versionString"];}function
|
||
query($G){$H=@$this->_link->query($G);$this->error="";if(!$H){$this->errno=$this->_link->lastErrorCode();$this->error=$this->_link->lastErrorMsg();return
|
||
false;}elseif($H->numColumns())return
|
||
new
|
||
Min_Result($H);$this->affected_rows=$this->_link->changes();return
|
||
true;}function
|
||
quote($O){return(is_utf8($O)?"'".$this->_link->escapeString($O)."'":"x'".reset(unpack('H*',$O))."'");}function
|
||
store_result(){return$this->_result;}function
|
||
result($G,$o=0){$H=$this->query($G);if(!is_object($H))return
|
||
false;$J=$H->_result->fetchArray();return$J[$o];}}class
|
||
Min_Result{var$_result,$_offset=0,$num_rows;function
|
||
Min_Result($H){$this->_result=$H;}function
|
||
fetch_assoc(){return$this->_result->fetchArray(SQLITE3_ASSOC);}function
|
||
fetch_row(){return$this->_result->fetchArray(SQLITE3_NUM);}function
|
||
fetch_field(){$f=$this->_offset++;$T=$this->_result->columnType($f);return(object)array("name"=>$this->_result->columnName($f),"type"=>$T,"charsetnr"=>($T==SQLITE3_BLOB?63:0),);}function
|
||
__desctruct(){return$this->_result->finalize();}}}else{class
|
||
Min_SQLite{var$extension="SQLite",$server_info,$affected_rows,$error,$_link;function
|
||
Min_SQLite($pc){$this->server_info=sqlite_libversion();$this->_link=new
|
||
SQLiteDatabase($pc);}function
|
||
query($G,$Eg=false){$Od=($Eg?"unbufferedQuery":"query");$H=@$this->_link->$Od($G,SQLITE_BOTH,$n);$this->error="";if(!$H){$this->error=$n;return
|
||
false;}elseif($H===true){$this->affected_rows=$this->changes();return
|
||
true;}return
|
||
new
|
||
Min_Result($H);}function
|
||
quote($O){return"'".sqlite_escape_string($O)."'";}function
|
||
store_result(){return$this->_result;}function
|
||
result($G,$o=0){$H=$this->query($G);if(!is_object($H))return
|
||
false;$J=$H->_result->fetch();return$J[$o];}}class
|
||
Min_Result{var$_result,$_offset=0,$num_rows;function
|
||
Min_Result($H){$this->_result=$H;if(method_exists($H,'numRows'))$this->num_rows=$H->numRows();}function
|
||
fetch_assoc(){$J=$this->_result->fetch(SQLITE_ASSOC);if(!$J)return
|
||
false;$I=array();foreach($J
|
||
as$x=>$X)$I[($x[0]=='"'?idf_unescape($x):$x)]=$X;return$I;}function
|
||
fetch_row(){return$this->_result->fetch(SQLITE_NUM);}function
|
||
fetch_field(){$B=$this->_result->fieldName($this->_offset++);$He='(\\[.*]|"(?:[^"]|"")*"|(.+))';if(preg_match("~^($He\\.)?$He\$~",$B,$A)){$P=($A[3]!=""?$A[3]:idf_unescape($A[2]));$B=($A[5]!=""?$A[5]:idf_unescape($A[4]));}return(object)array("name"=>$B,"orgname"=>$B,"orgtable"=>$P,);}}}}elseif(extension_loaded("pdo_sqlite")){class
|
||
Min_SQLite
|
||
extends
|
||
Min_PDO{var$extension="PDO_SQLite";function
|
||
Min_SQLite($pc){$this->dsn(DRIVER.":$pc","","");}}}if(class_exists("Min_SQLite")){class
|
||
Min_DB
|
||
extends
|
||
Min_SQLite{function
|
||
Min_DB(){$this->Min_SQLite(":memory:");}function
|
||
select_db($pc){if(is_readable($pc)&&$this->query("ATTACH ".$this->quote(ereg("(^[/\\\\]|:)",$pc)?$pc:dirname($_SERVER["SCRIPT_FILENAME"])."/$pc")." AS a")){$this->Min_SQLite($pc);return
|
||
true;}return
|
||
false;}function
|
||
multi_query($G){return$this->_result=$this->query($G);}function
|
||
next_result(){return
|
||
false;}}}function
|
||
idf_escape($t){return'"'.str_replace('"','""',$t).'"';}function
|
||
table($t){return
|
||
idf_escape($t);}function
|
||
connect(){return
|
||
new
|
||
Min_DB;}function
|
||
get_databases(){return
|
||
array();}function
|
||
limit($G,$Z,$y,$C=0,$Cf=" "){return" $G$Z".($y!==null?$Cf."LIMIT $y".($C?" OFFSET $C":""):"");}function
|
||
limit1($G,$Z){global$i;return($i->result("SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')")?limit($G,$Z,1):" $G$Z");}function
|
||
db_collation($m,$Xa){global$i;return$i->result("PRAGMA encoding");}function
|
||
engines(){return
|
||
array();}function
|
||
logged_user(){return
|
||
get_current_user();}function
|
||
tables_list(){return
|
||
get_key_vals("SELECT name, type FROM sqlite_master WHERE type IN ('table', 'view') ORDER BY (name = 'sqlite_sequence'), name",1);}function
|
||
count_tables($l){return
|
||
array();}function
|
||
table_status($B=""){global$i;$I=array();foreach(get_rows("SELECT name AS Name, type AS Engine FROM sqlite_master WHERE type IN ('table', 'view') ".($B!=""?"AND name = ".q($B):"ORDER BY name"))as$J){$J["Oid"]=1;$J["Auto_increment"]="";$J["Rows"]=$i->result("SELECT COUNT(*) FROM ".idf_escape($J["Name"]));$I[$J["Name"]]=$J;}foreach(get_rows("SELECT * FROM sqlite_sequence",null,"")as$J)$I[$J["name"]]["Auto_increment"]=$J["seq"];return($B!=""?$I[$B]:$I);}function
|
||
is_view($Q){return$Q["Engine"]=="view";}function
|
||
fk_support($Q){global$i;return!$i->result("SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')");}function
|
||
fields($P){$I=array();foreach(get_rows("PRAGMA table_info(".table($P).")")as$J){$T=strtolower($J["type"]);$vb=$J["dflt_value"];$I[$J["name"]]=array("field"=>$J["name"],"type"=>(eregi("int",$T)?"integer":(eregi("char|clob|text",$T)?"text":(eregi("blob",$T)?"blob":(eregi("real|floa|doub",$T)?"real":"numeric")))),"full_type"=>$T,"default"=>(ereg("'(.*)'",$vb,$A)?str_replace("''","'",$A[1]):($vb=="NULL"?null:$vb)),"null"=>!$J["notnull"],"auto_increment"=>eregi('^integer$',$T)&&$J["pk"],"privileges"=>array("select"=>1,"insert"=>1,"update"=>1),"primary"=>$J["pk"],);}return$I;}function
|
||
indexes($P,$j=null){$I=array();$Qe=array();foreach(fields($P)as$o){if($o["primary"])$Qe[]=$o["field"];}if($Qe)$I[""]=array("type"=>"PRIMARY","columns"=>$Qe,"lengths"=>array());$Lf=get_key_vals("SELECT name, sql FROM sqlite_master WHERE type = 'index' AND tbl_name = ".q($P));foreach(get_rows("PRAGMA index_list(".table($P).")")as$J){$B=$J["name"];if(!ereg("^sqlite_",$B)){$I[$B]["type"]=($J["unique"]?"UNIQUE":"INDEX");$I[$B]["lengths"]=array();foreach(get_rows("PRAGMA index_info(".idf_escape($B).")")as$vf)$I[$B]["columns"][]=$vf["name"];$I[$B]["descs"]=array();if(eregi('^CREATE( UNIQUE)? INDEX '.quotemeta(idf_escape($B).' ON '.idf_escape($P)).' \((.*)\)$',$Lf[$B],$jf)){preg_match_all('/("[^"]*+")+( DESC)?/',$jf[2],$Bd);foreach($Bd[2]as$X)$I[$B]["descs"][]=($X?'1':null);}}}return$I;}function
|
||
foreign_keys($P){$I=array();foreach(get_rows("PRAGMA foreign_key_list(".table($P).")")as$J){$q=&$I[$J["id"]];if(!$q)$q=$J;$q["source"][]=$J["from"];$q["target"][]=$J["to"];}return$I;}function
|
||
view($B){global$i;return
|
||
array("select"=>preg_replace('~^(?:[^`"[]+|`[^`]*`|"[^"]*")* AS\\s+~iU','',$i->result("SELECT sql FROM sqlite_master WHERE name = ".q($B))));}function
|
||
collations(){return(isset($_GET["create"])?get_vals("PRAGMA collation_list",1):array());}function
|
||
information_schema($m){return
|
||
false;}function
|
||
error(){global$i;return
|
||
h($i->error);}function
|
||
check_sqlite_name($B){global$i;$jc="db|sdb|sqlite";if(!preg_match("~^[^\\0]*\\.($jc)\$~",$B)){$i->error=lang(11,str_replace("|",", ",$jc));return
|
||
false;}return
|
||
true;}function
|
||
create_database($m,$e){global$i;if(file_exists($m)){$i->error=lang(12);return
|
||
false;}if(!check_sqlite_name($m))return
|
||
false;$z=new
|
||
Min_SQLite($m);$z->query('PRAGMA encoding = "UTF-8"');$z->query('CREATE TABLE adminer (i)');$z->query('DROP TABLE adminer');return
|
||
true;}function
|
||
drop_databases($l){global$i;$i->Min_SQLite(":memory:");foreach($l
|
||
as$m){if(!@unlink($m)){$i->error=lang(12);return
|
||
false;}}return
|
||
true;}function
|
||
rename_database($B,$e){global$i;if(!check_sqlite_name($B))return
|
||
false;$i->Min_SQLite(":memory:");$i->error=lang(12);return@rename(DB,$B);}function
|
||
auto_increment(){return" PRIMARY KEY".(DRIVER=="sqlite"?" AUTOINCREMENT":"");}function
|
||
alter_table($P,$B,$p,$tc,$bb,$Tb,$e,$Aa,$Ee){$Ng=($P==""||$tc);foreach($p
|
||
as$o){if($o[0]!=""||!$o[1]||$o[2]){$Ng=true;break;}}$c=array();$we=array();$Re=false;foreach($p
|
||
as$o){if($o[1]){if($o[1][6])$Re=true;$c[]=($Ng?" ":"ADD ").implode($o[1]);if($o[0]!="")$we[$o[0]]=$o[1][0];}}if($Ng){if($P!=""){queries("BEGIN");foreach(foreign_keys($P)as$q){$g=array();foreach($q["source"]as$f){if(!$we[$f])continue
|
||
2;$g[]=$we[$f];}$tc[]=" FOREIGN KEY (".implode(", ",$g).") REFERENCES ".table($q["table"])." (".implode(", ",array_map('idf_escape',$q["target"])).") ON DELETE $q[on_delete] ON UPDATE $q[on_update]";}$v=array();foreach(indexes($P)as$id=>$u){$g=array();foreach($u["columns"]as$f){if(!$we[$f])continue
|
||
2;$g[]=$we[$f];}$g="(".implode(", ",$g).")";if($u["type"]!="PRIMARY")$v[]=array($u["type"],$id,$g);elseif(!$Re)$tc[]=" PRIMARY KEY $g";}}$c=array_merge($c,$tc);if(!queries("CREATE TABLE ".table($P!=""?"adminer_$B":$B)." (\n".implode(",\n",$c)."\n)"))return
|
||
false;if($P!=""){if($we&&!queries("INSERT INTO ".table("adminer_$B")." (".implode(", ",$we).") SELECT ".implode(", ",array_map('idf_escape',array_keys($we)))." FROM ".table($P)))return
|
||
false;$Bg=array();foreach(triggers($P)as$_g=>$mg){$yg=trigger($_g);$Bg[]="CREATE TRIGGER ".idf_escape($_g)." ".implode(" ",$mg)." ON ".table($B)."\n$yg[Statement]";}if(!queries("DROP TABLE ".table($P)))return
|
||
false;queries("ALTER TABLE ".table("adminer_$B")." RENAME TO ".table($B));if(!alter_indexes($B,$v))return
|
||
false;foreach($Bg
|
||
as$yg){if(!queries($yg))return
|
||
false;}queries("COMMIT");}}else{foreach($c
|
||
as$X){if(!queries("ALTER TABLE ".table($P)." $X"))return
|
||
false;}if($P!=$B&&!queries("ALTER TABLE ".table($P)." RENAME TO ".table($B)))return
|
||
false;}if($Aa)queries("UPDATE sqlite_sequence SET seq = $Aa WHERE name = ".q($B));return
|
||
true;}function
|
||
index_sql($P,$T,$B,$g){return"CREATE $T ".($T!="INDEX"?"INDEX ":"").idf_escape($B!=""?$B:uniqid($P."_"))." ON ".table($P)." $g";}function
|
||
alter_indexes($P,$c){foreach(array_reverse($c)as$X){if(!queries($X[2]=="DROP"?"DROP INDEX ".idf_escape($X[1]):index_sql($P,$X[0],$X[1],$X[2])))return
|
||
false;}return
|
||
true;}function
|
||
truncate_tables($R){return
|
||
apply_queries("DELETE FROM",$R);}function
|
||
drop_views($Wg){return
|
||
apply_queries("DROP VIEW",$Wg);}function
|
||
drop_tables($R){return
|
||
apply_queries("DROP TABLE",$R);}function
|
||
move_tables($R,$Wg,$fg){return
|
||
false;}function
|
||
trigger($B){global$i;if($B=="")return
|
||
array("Statement"=>"BEGIN\n\t;\nEND");preg_match('~^CREATE\\s+TRIGGER\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*([a-z]+)\\s+([a-z]+)\\s+ON\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*(?:FOR\\s*EACH\\s*ROW\\s)?(.*)~is',$i->result("SELECT sql FROM sqlite_master WHERE name = ".q($B)),$A);return
|
||
array("Timing"=>strtoupper($A[1]),"Event"=>strtoupper($A[2]),"Trigger"=>$B,"Statement"=>$A[3]);}function
|
||
triggers($P){$I=array();foreach(get_rows("SELECT * FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($P))as$J){preg_match('~^CREATE\\s+TRIGGER\\s*(?:[^`"\\s]+|`[^`]*`|"[^"]*")+\\s*([a-z]+)\\s*([a-z]+)~i',$J["sql"],$A);$I[$J["name"]]=array($A[1],$A[2]);}return$I;}function
|
||
trigger_options(){return
|
||
array("Timing"=>array("BEFORE","AFTER","INSTEAD OF"),"Type"=>array("FOR EACH ROW"),);}function
|
||
routine($B,$T){}function
|
||
routines(){}function
|
||
routine_languages(){}function
|
||
begin(){return
|
||
queries("BEGIN");}function
|
||
insert_into($P,$N){return
|
||
queries("INSERT INTO ".table($P).($N?" (".implode(", ",array_keys($N)).")\nVALUES (".implode(", ",$N).")":"DEFAULT VALUES"));}function
|
||
insert_update($P,$N,$Qe){return
|
||
queries("REPLACE INTO ".table($P)." (".implode(", ",array_keys($N)).") VALUES (".implode(", ",$N).")");}function
|
||
last_id(){global$i;return$i->result("SELECT LAST_INSERT_ROWID()");}function
|
||
explain($i,$G){return$i->query("EXPLAIN $G");}function
|
||
found_rows($Q,$Z){}function
|
||
types(){return
|
||
array();}function
|
||
schemas(){return
|
||
array();}function
|
||
get_schema(){return"";}function
|
||
set_schema($zf){return
|
||
true;}function
|
||
create_sql($P,$Aa){global$i;$I=$i->result("SELECT sql FROM sqlite_master WHERE type IN ('table', 'view') AND name = ".q($P));foreach(indexes($P)as$B=>$u){if($B=='')continue;$I.=";\n\n".index_sql($P,$u['type'],$B,"(".implode(", ",array_map('idf_escape',$u['columns'])).")");}return$I;}function
|
||
truncate_sql($P){return"DELETE FROM ".table($P);}function
|
||
use_sql($qb){}function
|
||
trigger_sql($P,$Rf){return
|
||
implode(get_vals("SELECT sql || ';;\n' FROM sqlite_master WHERE type = 'trigger' AND tbl_name = ".q($P)));}function
|
||
show_variables(){global$i;$I=array();foreach(array("auto_vacuum","cache_size","count_changes","default_cache_size","empty_result_callbacks","encoding","foreign_keys","full_column_names","fullfsync","journal_mode","journal_size_limit","legacy_file_format","locking_mode","page_size","max_page_count","read_uncommitted","recursive_triggers","reverse_unordered_selects","secure_delete","short_column_names","synchronous","temp_store","temp_store_directory","schema_version","integrity_check","quick_check")as$x)$I[$x]=$i->result("PRAGMA $x");return$I;}function
|
||
show_status(){$I=array();foreach(get_vals("PRAGMA compile_options")as$me){list($x,$X)=explode("=",$me,2);$I[$x]=$X;}return$I;}function
|
||
convert_field($o){}function
|
||
unconvert_field($o,$I){return$I;}function
|
||
support($mc){return
|
||
ereg('^(view|trigger|variables|status|dump|move_col|drop_col)$',$mc);}$w="sqlite";$U=array("integer"=>0,"real"=>0,"numeric"=>0,"text"=>0,"blob"=>0);$Qf=array_keys($U);$Kg=array();$le=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL","SQL");$Cc=array("hex","length","lower","round","unixepoch","upper");$Hc=array("avg","count","count distinct","group_concat","max","min","sum");$Lb=array(array(),array("integer|real|numeric"=>"+/-","text"=>"||",));}$Eb["pgsql"]="PostgreSQL";if(isset($_GET["pgsql"])){$Ne=array("PgSQL","PDO_PgSQL");define("DRIVER","pgsql");if(extension_loaded("pgsql")){class
|
||
Min_DB{var$extension="PgSQL",$_link,$_result,$_string,$_database=true,$server_info,$affected_rows,$error;function
|
||
_error($Wb,$n){if(ini_bool("html_errors"))$n=html_entity_decode(strip_tags($n));$n=ereg_replace('^[^:]*: ','',$n);$this->error=$n;}function
|
||
connect($M,$V,$E){global$b;$m=$b->database();set_error_handler(array($this,'_error'));$this->_string="host='".str_replace(":","' port='",addcslashes($M,"'\\"))."' user='".addcslashes($V,"'\\")."' password='".addcslashes($E,"'\\")."'";$this->_link=@pg_connect("$this->_string dbname='".($m!=""?addcslashes($m,"'\\"):"postgres")."'",PGSQL_CONNECT_FORCE_NEW);if(!$this->_link&&$m!=""){$this->_database=false;$this->_link=@pg_connect("$this->_string dbname='postgres'",PGSQL_CONNECT_FORCE_NEW);}restore_error_handler();if($this->_link){$Ug=pg_version($this->_link);$this->server_info=$Ug["server"];pg_set_client_encoding($this->_link,"UTF8");}return(bool)$this->_link;}function
|
||
quote($O){return"'".pg_escape_string($this->_link,$O)."'";}function
|
||
select_db($qb){global$b;if($qb==$b->database())return$this->_database;$I=@pg_connect("$this->_string dbname='".addcslashes($qb,"'\\")."'",PGSQL_CONNECT_FORCE_NEW);if($I)$this->_link=$I;return$I;}function
|
||
close(){$this->_link=@pg_connect("$this->_string dbname='postgres'");}function
|
||
query($G,$Eg=false){$H=@pg_query($this->_link,$G);$this->error="";if(!$H){$this->error=pg_last_error($this->_link);return
|
||
false;}elseif(!pg_num_fields($H)){$this->affected_rows=pg_affected_rows($H);return
|
||
true;}return
|
||
new
|
||
Min_Result($H);}function
|
||
multi_query($G){return$this->_result=$this->query($G);}function
|
||
store_result(){return$this->_result;}function
|
||
next_result(){return
|
||
false;}function
|
||
result($G,$o=0){$H=$this->query($G);if(!$H||!$H->num_rows)return
|
||
false;return
|
||
pg_fetch_result($H->_result,0,$o);}}class
|
||
Min_Result{var$_result,$_offset=0,$num_rows;function
|
||
Min_Result($H){$this->_result=$H;$this->num_rows=pg_num_rows($H);}function
|
||
fetch_assoc(){return
|
||
pg_fetch_assoc($this->_result);}function
|
||
fetch_row(){return
|
||
pg_fetch_row($this->_result);}function
|
||
fetch_field(){$f=$this->_offset++;$I=new
|
||
stdClass;if(function_exists('pg_field_table'))$I->orgtable=pg_field_table($this->_result,$f);$I->name=pg_field_name($this->_result,$f);$I->orgname=$I->name;$I->type=pg_field_type($this->_result,$f);$I->charsetnr=($I->type=="bytea"?63:0);return$I;}function
|
||
__destruct(){pg_free_result($this->_result);}}}elseif(extension_loaded("pdo_pgsql")){class
|
||
Min_DB
|
||
extends
|
||
Min_PDO{var$extension="PDO_PgSQL";function
|
||
connect($M,$V,$E){global$b;$m=$b->database();$O="pgsql:host='".str_replace(":","' port='",addcslashes($M,"'\\"))."' options='-c client_encoding=utf8'";$this->dsn("$O dbname='".($m!=""?addcslashes($m,"'\\"):"postgres")."'",$V,$E);return
|
||
true;}function
|
||
select_db($qb){global$b;return($b->database()==$qb);}function
|
||
close(){}}}function
|
||
idf_escape($t){return'"'.str_replace('"','""',$t).'"';}function
|
||
table($t){return
|
||
idf_escape($t);}function
|
||
connect(){global$b;$i=new
|
||
Min_DB;$mb=$b->credentials();if($i->connect($mb[0],$mb[1],$mb[2])){if($i->server_info>=9)$i->query("SET application_name = 'Adminer'");return$i;}return$i->error;}function
|
||
get_databases(){return
|
||
get_vals("SELECT datname FROM pg_database ORDER BY datname");}function
|
||
limit($G,$Z,$y,$C=0,$Cf=" "){return" $G$Z".($y!==null?$Cf."LIMIT $y".($C?" OFFSET $C":""):"");}function
|
||
limit1($G,$Z){return" $G$Z";}function
|
||
db_collation($m,$Xa){global$i;return$i->result("SHOW LC_COLLATE");}function
|
||
engines(){return
|
||
array();}function
|
||
logged_user(){global$i;return$i->result("SELECT user");}function
|
||
tables_list(){return
|
||
get_key_vals("SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = current_schema() ORDER BY table_name");}function
|
||
count_tables($l){return
|
||
array();}function
|
||
table_status($B=""){$I=array();foreach(get_rows("SELECT relname AS \"Name\", CASE relkind WHEN 'r' THEN 'table' ELSE 'view' END AS \"Engine\", pg_relation_size(oid) AS \"Data_length\", pg_total_relation_size(oid) - pg_relation_size(oid) AS \"Index_length\", obj_description(oid, 'pg_class') AS \"Comment\", relhasoids::int AS \"Oid\", reltuples as \"Rows\"
|
||
FROM pg_class
|
||
WHERE relkind IN ('r','v')
|
||
AND relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())
|
||
".($B!=""?"AND relname = ".q($B):"ORDER BY relname"))as$J)$I[$J["Name"]]=$J;return($B!=""?$I[$B]:$I);}function
|
||
is_view($Q){return$Q["Engine"]=="view";}function
|
||
fk_support($Q){return
|
||
true;}function
|
||
fields($P){$I=array();$va=array('timestamp without time zone'=>'timestamp','timestamp with time zone'=>'timestamptz',);foreach(get_rows("SELECT a.attname AS field, format_type(a.atttypid, a.atttypmod) AS full_type, d.adsrc AS default, a.attnotnull::int, col_description(c.oid, a.attnum) AS comment
|
||
FROM pg_class c
|
||
JOIN pg_namespace n ON c.relnamespace = n.oid
|
||
JOIN pg_attribute a ON c.oid = a.attrelid
|
||
LEFT JOIN pg_attrdef d ON c.oid = d.adrelid AND a.attnum = d.adnum
|
||
WHERE c.relname = ".q($P)."
|
||
AND n.nspname = current_schema()
|
||
AND NOT a.attisdropped
|
||
AND a.attnum > 0
|
||
ORDER BY a.attnum")as$J){$T=$J["full_type"];if(ereg('(.+)\\((.*)\\)$',$J["full_type"],$A))list(,$T,$J["length"])=$A;$J["type"]=($va[$T]?$va[$T]:$T);$J["full_type"]=$J["type"].($J["length"]?"($J[length])":"");$J["null"]=!$J["attnotnull"];$J["auto_increment"]=eregi("^nextval\\(",$J["default"]);$J["privileges"]=array("insert"=>1,"select"=>1,"update"=>1);if(preg_match('~^(.*)::.+$~',$J["default"],$A))$J["default"]=($A[1][0]=="'"?idf_unescape($A[1]):$A[1]);$I[$J["field"]]=$J;}return$I;}function
|
||
indexes($P,$j=null){global$i;if(!is_object($j))$j=$i;$I=array();$Zf=$j->result("SELECT oid FROM pg_class WHERE relnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema()) AND relname = ".q($P));$g=get_key_vals("SELECT attnum, attname FROM pg_attribute WHERE attrelid = $Zf AND attnum > 0",$j);foreach(get_rows("SELECT relname, indisunique::int, indisprimary::int, indkey, indoption FROM pg_index i, pg_class ci WHERE i.indrelid = $Zf AND ci.oid = i.indexrelid",$j)as$J){$kf=$J["relname"];$I[$kf]["type"]=($J["indisprimary"]?"PRIMARY":($J["indisunique"]?"UNIQUE":"INDEX"));$I[$kf]["columns"]=array();foreach(explode(" ",$J["indkey"])as$Uc)$I[$kf]["columns"][]=$g[$Uc];$I[$kf]["descs"]=array();foreach(explode(" ",$J["indoption"])as$Vc)$I[$kf]["descs"][]=($Vc&1?'1':null);$I[$kf]["lengths"]=array();}return$I;}function
|
||
foreign_keys($P){global$he;$I=array();foreach(get_rows("SELECT conname, pg_get_constraintdef(oid) AS definition
|
||
FROM pg_constraint
|
||
WHERE conrelid = (SELECT pc.oid FROM pg_class AS pc INNER JOIN pg_namespace AS pn ON (pn.oid = pc.relnamespace) WHERE pc.relname = ".q($P)." AND pn.nspname = current_schema())
|
||
AND contype = 'f'::char
|
||
ORDER BY conkey, conname")as$J){if(preg_match('~FOREIGN KEY\s*\((.+)\)\s*REFERENCES (.+)\((.+)\)(.*)$~iA',$J['definition'],$A)){$J['source']=array_map('trim',explode(',',$A[1]));$J['table']=$A[2];if(preg_match('~(.+)\.(.+)~',$A[2],$Ad)){$J['ns']=$Ad[1];$J['table']=$Ad[2];}$J['target']=array_map('trim',explode(',',$A[3]));$J['on_delete']=(preg_match("~ON DELETE ($he)~",$A[4],$Ad)?$Ad[1]:'NO ACTION');$J['on_update']=(preg_match("~ON UPDATE ($he)~",$A[4],$Ad)?$Ad[1]:'NO ACTION');$I[$J['conname']]=$J;}}return$I;}function
|
||
view($B){global$i;return
|
||
array("select"=>$i->result("SELECT pg_get_viewdef(".q($B).")"));}function
|
||
collations(){return
|
||
array();}function
|
||
information_schema($m){return($m=="information_schema");}function
|
||
error(){global$i;$I=h($i->error);if(preg_match('~^(.*\\n)?([^\\n]*)\\n( *)\\^(\\n.*)?$~s',$I,$A))$I=$A[1].preg_replace('~((?:[^&]|&[^;]*;){'.strlen($A[3]).'})(.*)~','\\1<b>\\2</b>',$A[2]).$A[4];return
|
||
nl_br($I);}function
|
||
create_database($m,$e){return
|
||
queries("CREATE DATABASE ".idf_escape($m).($e?" ENCODING ".idf_escape($e):""));}function
|
||
drop_databases($l){global$i;$i->close();return
|
||
apply_queries("DROP DATABASE",$l,'idf_escape');}function
|
||
rename_database($B,$e){return
|
||
queries("ALTER DATABASE ".idf_escape(DB)." RENAME TO ".idf_escape($B));}function
|
||
auto_increment(){return"";}function
|
||
alter_table($P,$B,$p,$tc,$bb,$Tb,$e,$Aa,$Ee){$c=array();$Ze=array();foreach($p
|
||
as$o){$f=idf_escape($o[0]);$X=$o[1];if(!$X)$c[]="DROP $f";else{$Rg=$X[5];unset($X[5]);if(isset($X[6])&&$o[0]=="")$X[1]=($X[1]=="bigint"?" big":" ")."serial";if($o[0]=="")$c[]=($P!=""?"ADD ":" ").implode($X);else{if($f!=$X[0])$Ze[]="ALTER TABLE ".table($P)." RENAME $f TO $X[0]";$c[]="ALTER $f TYPE$X[1]";if(!$X[6]){$c[]="ALTER $f ".($X[3]?"SET$X[3]":"DROP DEFAULT");$c[]="ALTER $f ".($X[2]==" NULL"?"DROP NOT":"SET").$X[2];}}if($o[0]!=""||$Rg!="")$Ze[]="COMMENT ON COLUMN ".table($P).".$X[0] IS ".($Rg!=""?substr($Rg,9):"''");}}$c=array_merge($c,$tc);if($P=="")array_unshift($Ze,"CREATE TABLE ".table($B)." (\n".implode(",\n",$c)."\n)");elseif($c)array_unshift($Ze,"ALTER TABLE ".table($P)."\n".implode(",\n",$c));if($P!=""&&$P!=$B)$Ze[]="ALTER TABLE ".table($P)." RENAME TO ".table($B);if($P!=""||$bb!="")$Ze[]="COMMENT ON TABLE ".table($B)." IS ".q($bb);if($Aa!=""){}foreach($Ze
|
||
as$G){if(!queries($G))return
|
||
false;}return
|
||
true;}function
|
||
alter_indexes($P,$c){$k=array();$Fb=array();$Ze=array();foreach($c
|
||
as$X){if($X[0]!="INDEX")$k[]=($X[2]=="DROP"?"\nDROP CONSTRAINT ".idf_escape($X[1]):"\nADD".($X[1]!=""?" CONSTRAINT ".idf_escape($X[1]):"")." $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").$X[2]);elseif($X[2]=="DROP")$Fb[]=idf_escape($X[1]);else$Ze[]="CREATE INDEX ".idf_escape($X[1]!=""?$X[1]:uniqid($P."_"))." ON ".table($P)." $X[2]";}if($k)array_unshift($Ze,"ALTER TABLE ".table($P).implode(",",$k));if($Fb)array_unshift($Ze,"DROP INDEX ".implode(", ",$Fb));foreach($Ze
|
||
as$G){if(!queries($G))return
|
||
false;}return
|
||
true;}function
|
||
truncate_tables($R){return
|
||
queries("TRUNCATE ".implode(", ",array_map('table',$R)));return
|
||
true;}function
|
||
drop_views($Wg){return
|
||
queries("DROP VIEW ".implode(", ",array_map('table',$Wg)));}function
|
||
drop_tables($R){return
|
||
queries("DROP TABLE ".implode(", ",array_map('table',$R)));}function
|
||
move_tables($R,$Wg,$fg){foreach($R
|
||
as$P){if(!queries("ALTER TABLE ".table($P)." SET SCHEMA ".idf_escape($fg)))return
|
||
false;}foreach($Wg
|
||
as$P){if(!queries("ALTER VIEW ".table($P)." SET SCHEMA ".idf_escape($fg)))return
|
||
false;}return
|
||
true;}function
|
||
trigger($B){if($B=="")return
|
||
array("Statement"=>"EXECUTE PROCEDURE ()");$K=get_rows('SELECT trigger_name AS "Trigger", condition_timing AS "Timing", event_manipulation AS "Event", \'FOR EACH \' || action_orientation AS "Type", action_statement AS "Statement" FROM information_schema.triggers WHERE event_object_table = '.q($_GET["trigger"]).' AND trigger_name = '.q($B));return
|
||
reset($K);}function
|
||
triggers($P){$I=array();foreach(get_rows("SELECT * FROM information_schema.triggers WHERE event_object_table = ".q($P))as$J)$I[$J["trigger_name"]]=array($J["condition_timing"],$J["event_manipulation"]);return$I;}function
|
||
trigger_options(){return
|
||
array("Timing"=>array("BEFORE","AFTER"),"Type"=>array("FOR EACH ROW","FOR EACH STATEMENT"),);}function
|
||
routines(){return
|
||
get_rows('SELECT p.proname AS "ROUTINE_NAME", p.proargtypes AS "ROUTINE_TYPE", pg_catalog.format_type(p.prorettype, NULL) AS "DTD_IDENTIFIER"
|
||
FROM pg_catalog.pg_namespace n
|
||
JOIN pg_catalog.pg_proc p ON p.pronamespace = n.oid
|
||
WHERE n.nspname = current_schema()
|
||
ORDER BY p.proname');}function
|
||
routine_languages(){return
|
||
get_vals("SELECT langname FROM pg_catalog.pg_language");}function
|
||
begin(){return
|
||
queries("BEGIN");}function
|
||
insert_into($P,$N){return
|
||
queries("INSERT INTO ".table($P).($N?" (".implode(", ",array_keys($N)).")\nVALUES (".implode(", ",$N).")":"DEFAULT VALUES"));}function
|
||
insert_update($P,$N,$Qe){global$i;$Lg=array();$Z=array();foreach($N
|
||
as$x=>$X){$Lg[]="$x = $X";if(isset($Qe[idf_unescape($x)]))$Z[]="$x = $X";}return($Z&&queries("UPDATE ".table($P)." SET ".implode(", ",$Lg)." WHERE ".implode(" AND ",$Z))&&$i->affected_rows)||queries("INSERT INTO ".table($P)." (".implode(", ",array_keys($N)).") VALUES (".implode(", ",$N).")");}function
|
||
last_id(){return
|
||
0;}function
|
||
explain($i,$G){return$i->query("EXPLAIN $G");}function
|
||
found_rows($Q,$Z){global$i;if(ereg(" rows=([0-9]+)",$i->result("EXPLAIN SELECT * FROM ".idf_escape($Q["Name"]).($Z?" WHERE ".implode(" AND ",$Z):"")),$jf))return$jf[1];return
|
||
false;}function
|
||
types(){return
|
||
get_vals("SELECT typname
|
||
FROM pg_type
|
||
WHERE typnamespace = (SELECT oid FROM pg_namespace WHERE nspname = current_schema())
|
||
AND typtype IN ('b','d','e')
|
||
AND typelem = 0");}function
|
||
schemas(){return
|
||
get_vals("SELECT nspname FROM pg_namespace ORDER BY nspname");}function
|
||
get_schema(){global$i;return$i->result("SELECT current_schema()");}function
|
||
set_schema($yf){global$i,$U,$Qf;$I=$i->query("SET search_path TO ".idf_escape($yf));foreach(types()as$T){if(!isset($U[$T])){$U[$T]=0;$Qf[lang(13)][]=$T;}}return$I;}function
|
||
use_sql($qb){return"\connect ".idf_escape($qb);}function
|
||
show_variables(){return
|
||
get_key_vals("SHOW ALL");}function
|
||
process_list(){global$i;return
|
||
get_rows("SELECT * FROM pg_stat_activity ORDER BY ".($i->server_info<9.2?"procpid":"pid"));}function
|
||
show_status(){}function
|
||
convert_field($o){}function
|
||
unconvert_field($o,$I){return$I;}function
|
||
support($mc){return
|
||
ereg('^(comment|view|scheme|processlist|sequence|trigger|type|variables|drop_col)$',$mc);}$w="pgsql";$U=array();$Qf=array();foreach(array(lang(14)=>array("smallint"=>5,"integer"=>10,"bigint"=>19,"boolean"=>1,"numeric"=>0,"real"=>7,"double precision"=>16,"money"=>20),lang(15)=>array("date"=>13,"time"=>17,"timestamp"=>20,"timestamptz"=>21,"interval"=>0),lang(16)=>array("character"=>0,"character varying"=>0,"text"=>0,"tsquery"=>0,"tsvector"=>0,"uuid"=>0,"xml"=>0),lang(17)=>array("bit"=>0,"bit varying"=>0,"bytea"=>0),lang(18)=>array("cidr"=>43,"inet"=>43,"macaddr"=>17,"txid_snapshot"=>0),lang(19)=>array("box"=>0,"circle"=>0,"line"=>0,"lseg"=>0,"path"=>0,"point"=>0,"polygon"=>0),)as$x=>$X){$U+=$X;$Qf[$x]=array_keys($X);}$Kg=array();$le=array("=","<",">","<=",">=","!=","~","!~","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$Cc=array("char_length","lower","round","to_hex","to_timestamp","upper");$Hc=array("avg","count","count distinct","max","min","sum");$Lb=array(array("char"=>"md5","date|time"=>"now",),array("int|numeric|real|money"=>"+/-","date|time"=>"+ interval/- interval","char|text"=>"||",));}$Eb["oracle"]="Oracle";if(isset($_GET["oracle"])){$Ne=array("OCI8","PDO_OCI");define("DRIVER","oracle");if(extension_loaded("oci8")){class
|
||
Min_DB{var$extension="oci8",$_link,$_result,$server_info,$affected_rows,$errno,$error;function
|
||
_error($Wb,$n){if(ini_bool("html_errors"))$n=html_entity_decode(strip_tags($n));$n=ereg_replace('^[^:]*: ','',$n);$this->error=$n;}function
|
||
connect($M,$V,$E){$this->_link=@oci_new_connect($V,$E,$M,"AL32UTF8");if($this->_link){$this->server_info=oci_server_version($this->_link);return
|
||
true;}$n=oci_error();$this->error=$n["message"];return
|
||
false;}function
|
||
quote($O){return"'".str_replace("'","''",$O)."'";}function
|
||
select_db($qb){return
|
||
true;}function
|
||
query($G,$Eg=false){$H=oci_parse($this->_link,$G);$this->error="";if(!$H){$n=oci_error($this->_link);$this->errno=$n["code"];$this->error=$n["message"];return
|
||
false;}set_error_handler(array($this,'_error'));$I=@oci_execute($H);restore_error_handler();if($I){if(oci_num_fields($H))return
|
||
new
|
||
Min_Result($H);$this->affected_rows=oci_num_rows($H);}return$I;}function
|
||
multi_query($G){return$this->_result=$this->query($G);}function
|
||
store_result(){return$this->_result;}function
|
||
next_result(){return
|
||
false;}function
|
||
result($G,$o=1){$H=$this->query($G);if(!is_object($H)||!oci_fetch($H->_result))return
|
||
false;return
|
||
oci_result($H->_result,$o);}}class
|
||
Min_Result{var$_result,$_offset=1,$num_rows;function
|
||
Min_Result($H){$this->_result=$H;}function
|
||
_convert($J){foreach((array)$J
|
||
as$x=>$X){if(is_a($X,'OCI-Lob'))$J[$x]=$X->load();}return$J;}function
|
||
fetch_assoc(){return$this->_convert(oci_fetch_assoc($this->_result));}function
|
||
fetch_row(){return$this->_convert(oci_fetch_row($this->_result));}function
|
||
fetch_field(){$f=$this->_offset++;$I=new
|
||
stdClass;$I->name=oci_field_name($this->_result,$f);$I->orgname=$I->name;$I->type=oci_field_type($this->_result,$f);$I->charsetnr=(ereg("raw|blob|bfile",$I->type)?63:0);return$I;}function
|
||
__destruct(){oci_free_statement($this->_result);}}}elseif(extension_loaded("pdo_oci")){class
|
||
Min_DB
|
||
extends
|
||
Min_PDO{var$extension="PDO_OCI";function
|
||
connect($M,$V,$E){$this->dsn("oci:dbname=//$M;charset=AL32UTF8",$V,$E);return
|
||
true;}function
|
||
select_db($qb){return
|
||
true;}}}function
|
||
idf_escape($t){return'"'.str_replace('"','""',$t).'"';}function
|
||
table($t){return
|
||
idf_escape($t);}function
|
||
connect(){global$b;$i=new
|
||
Min_DB;$mb=$b->credentials();if($i->connect($mb[0],$mb[1],$mb[2]))return$i;return$i->error;}function
|
||
get_databases(){return
|
||
get_vals("SELECT tablespace_name FROM user_tablespaces");}function
|
||
limit($G,$Z,$y,$C=0,$Cf=" "){return($C?" * FROM (SELECT t.*, rownum AS rnum FROM (SELECT $G$Z) t WHERE rownum <= ".($y+$C).") WHERE rnum > $C":($y!==null?" * FROM (SELECT $G$Z) WHERE rownum <= ".($y+$C):" $G$Z"));}function
|
||
limit1($G,$Z){return" $G$Z";}function
|
||
db_collation($m,$Xa){global$i;return$i->result("SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'");}function
|
||
engines(){return
|
||
array();}function
|
||
logged_user(){global$i;return$i->result("SELECT USER FROM DUAL");}function
|
||
tables_list(){return
|
||
get_key_vals("SELECT table_name, 'table' FROM all_tables WHERE tablespace_name = ".q(DB)."
|
||
UNION SELECT view_name, 'view' FROM user_views
|
||
ORDER BY 1");}function
|
||
count_tables($l){return
|
||
array();}function
|
||
table_status($B=""){$I=array();$_f=q($B);foreach(get_rows('SELECT table_name "Name", \'table\' "Engine", avg_row_len * num_rows "Data_length", num_rows "Rows" FROM all_tables WHERE tablespace_name = '.q(DB).($B!=""?" AND table_name = $_f":"")."
|
||
UNION SELECT view_name, 'view', 0, 0 FROM user_views".($B!=""?" WHERE view_name = $_f":"")."
|
||
ORDER BY 1")as$J){if($B!="")return$J;$I[$J["Name"]]=$J;}return$I;}function
|
||
is_view($Q){return$Q["Engine"]=="view";}function
|
||
fk_support($Q){return
|
||
true;}function
|
||
fields($P){$I=array();foreach(get_rows("SELECT * FROM all_tab_columns WHERE table_name = ".q($P)." ORDER BY column_id")as$J){$T=$J["DATA_TYPE"];$vd="$J[DATA_PRECISION],$J[DATA_SCALE]";if($vd==",")$vd=$J["DATA_LENGTH"];$I[$J["COLUMN_NAME"]]=array("field"=>$J["COLUMN_NAME"],"full_type"=>$T.($vd?"($vd)":""),"type"=>strtolower($T),"length"=>$vd,"default"=>$J["DATA_DEFAULT"],"null"=>($J["NULLABLE"]=="Y"),"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),);}return$I;}function
|
||
indexes($P,$j=null){$I=array();foreach(get_rows("SELECT uic.*, uc.constraint_type
|
||
FROM user_ind_columns uic
|
||
LEFT JOIN user_constraints uc ON uic.index_name = uc.constraint_name AND uic.table_name = uc.table_name
|
||
WHERE uic.table_name = ".q($P)."
|
||
ORDER BY uc.constraint_type, uic.column_position",$j)as$J){$Sc=$J["INDEX_NAME"];$I[$Sc]["type"]=($J["CONSTRAINT_TYPE"]=="P"?"PRIMARY":($J["CONSTRAINT_TYPE"]=="U"?"UNIQUE":"INDEX"));$I[$Sc]["columns"][]=$J["COLUMN_NAME"];$I[$Sc]["lengths"][]=($J["CHAR_LENGTH"]&&$J["CHAR_LENGTH"]!=$J["COLUMN_LENGTH"]?$J["CHAR_LENGTH"]:null);$I[$Sc]["descs"][]=($J["DESCEND"]?'1':null);}return$I;}function
|
||
view($B){$K=get_rows('SELECT text "select" FROM user_views WHERE view_name = '.q($B));return
|
||
reset($K);}function
|
||
collations(){return
|
||
array();}function
|
||
information_schema($m){return
|
||
false;}function
|
||
error(){global$i;return
|
||
h($i->error);}function
|
||
explain($i,$G){$i->query("EXPLAIN PLAN FOR $G");return$i->query("SELECT * FROM plan_table");}function
|
||
found_rows($Q,$Z){}function
|
||
alter_table($P,$B,$p,$tc,$bb,$Tb,$e,$Aa,$Ee){$c=$Fb=array();foreach($p
|
||
as$o){$X=$o[1];if($X&&$o[0]!=""&&idf_escape($o[0])!=$X[0])queries("ALTER TABLE ".table($P)." RENAME COLUMN ".idf_escape($o[0])." TO $X[0]");if($X)$c[]=($P!=""?($o[0]!=""?"MODIFY (":"ADD ("):" ").implode($X).($P!=""?")":"");else$Fb[]=idf_escape($o[0]);}if($P=="")return
|
||
queries("CREATE TABLE ".table($B)." (\n".implode(",\n",$c)."\n)");return(!$c||queries("ALTER TABLE ".table($P)."\n".implode("\n",$c)))&&(!$Fb||queries("ALTER TABLE ".table($P)." DROP (".implode(", ",$Fb).")"))&&($P==$B||queries("ALTER TABLE ".table($P)." RENAME TO ".table($B)));}function
|
||
foreign_keys($P){return
|
||
array();}function
|
||
truncate_tables($R){return
|
||
apply_queries("TRUNCATE TABLE",$R);}function
|
||
drop_views($Wg){return
|
||
apply_queries("DROP VIEW",$Wg);}function
|
||
drop_tables($R){return
|
||
apply_queries("DROP TABLE",$R);}function
|
||
begin(){return
|
||
true;}function
|
||
insert_into($P,$N){return
|
||
queries("INSERT INTO ".table($P)." (".implode(", ",array_keys($N)).")\nVALUES (".implode(", ",$N).")");}function
|
||
last_id(){return
|
||
0;}function
|
||
schemas(){return
|
||
get_vals("SELECT DISTINCT owner FROM dba_segments WHERE owner IN (SELECT username FROM dba_users WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX'))");}function
|
||
get_schema(){global$i;return$i->result("SELECT sys_context('USERENV', 'SESSION_USER') FROM dual");}function
|
||
set_schema($zf){global$i;return$i->query("ALTER SESSION SET CURRENT_SCHEMA = ".idf_escape($zf));}function
|
||
show_variables(){return
|
||
get_key_vals('SELECT name, display_value FROM v$parameter');}function
|
||
process_list(){return
|
||
get_rows('SELECT sess.process AS "process", sess.username AS "user", sess.schemaname AS "schema", sess.status AS "status", sess.wait_class AS "wait_class", sess.seconds_in_wait AS "seconds_in_wait", sql.sql_text AS "sql_text", sess.machine AS "machine", sess.port AS "port"
|
||
FROM v$session sess LEFT OUTER JOIN v$sql sql
|
||
ON sql.sql_id = sess.sql_id
|
||
WHERE sess.type = \'USER\'
|
||
ORDER BY PROCESS
|
||
');}function
|
||
show_status(){$K=get_rows('SELECT * FROM v$instance');return
|
||
reset($K);}function
|
||
convert_field($o){}function
|
||
unconvert_field($o,$I){return$I;}function
|
||
support($mc){return
|
||
ereg("view|scheme|processlist|drop_col|variables|status",$mc);}$w="oracle";$U=array();$Qf=array();foreach(array(lang(14)=>array("number"=>38,"binary_float"=>12,"binary_double"=>21),lang(15)=>array("date"=>10,"timestamp"=>29,"interval year"=>12,"interval day"=>28),lang(16)=>array("char"=>2000,"varchar2"=>4000,"nchar"=>2000,"nvarchar2"=>4000,"clob"=>4294967295,"nclob"=>4294967295),lang(17)=>array("raw"=>2000,"long raw"=>2147483648,"blob"=>4294967295,"bfile"=>4294967296),)as$x=>$X){$U+=$X;$Qf[$x]=array_keys($X);}$Kg=array();$le=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$Cc=array("length","lower","round","upper");$Hc=array("avg","count","count distinct","max","min","sum");$Lb=array(array("date"=>"current_date","timestamp"=>"current_timestamp",),array("number|float|double"=>"+/-","date|timestamp"=>"+ interval/- interval","char|clob"=>"||",));}$Eb["mssql"]="MS SQL";if(isset($_GET["mssql"])){$Ne=array("SQLSRV","MSSQL");define("DRIVER","mssql");if(extension_loaded("sqlsrv")){class
|
||
Min_DB{var$extension="sqlsrv",$_link,$_result,$server_info,$affected_rows,$errno,$error;function
|
||
_get_error(){$this->error="";foreach(sqlsrv_errors()as$n){$this->errno=$n["code"];$this->error.="$n[message]\n";}$this->error=rtrim($this->error);}function
|
||
connect($M,$V,$E){$this->_link=@sqlsrv_connect($M,array("UID"=>$V,"PWD"=>$E,"CharacterSet"=>"UTF-8"));if($this->_link){$Wc=sqlsrv_server_info($this->_link);$this->server_info=$Wc['SQLServerVersion'];}else$this->_get_error();return(bool)$this->_link;}function
|
||
quote($O){return"'".str_replace("'","''",$O)."'";}function
|
||
select_db($qb){return$this->query("USE ".idf_escape($qb));}function
|
||
query($G,$Eg=false){$H=sqlsrv_query($this->_link,$G);$this->error="";if(!$H){$this->_get_error();return
|
||
false;}return$this->store_result($H);}function
|
||
multi_query($G){$this->_result=sqlsrv_query($this->_link,$G);$this->error="";if(!$this->_result){$this->_get_error();return
|
||
false;}return
|
||
true;}function
|
||
store_result($H=null){if(!$H)$H=$this->_result;if(sqlsrv_field_metadata($H))return
|
||
new
|
||
Min_Result($H);$this->affected_rows=sqlsrv_rows_affected($H);return
|
||
true;}function
|
||
next_result(){return
|
||
sqlsrv_next_result($this->_result);}function
|
||
result($G,$o=0){$H=$this->query($G);if(!is_object($H))return
|
||
false;$J=$H->fetch_row();return$J[$o];}}class
|
||
Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
|
||
Min_Result($H){$this->_result=$H;}function
|
||
_convert($J){foreach((array)$J
|
||
as$x=>$X){if(is_a($X,'DateTime'))$J[$x]=$X->format("Y-m-d H:i:s");}return$J;}function
|
||
fetch_assoc(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_ASSOC,SQLSRV_SCROLL_NEXT));}function
|
||
fetch_row(){return$this->_convert(sqlsrv_fetch_array($this->_result,SQLSRV_FETCH_NUMERIC,SQLSRV_SCROLL_NEXT));}function
|
||
fetch_field(){if(!$this->_fields)$this->_fields=sqlsrv_field_metadata($this->_result);$o=$this->_fields[$this->_offset++];$I=new
|
||
stdClass;$I->name=$o["Name"];$I->orgname=$o["Name"];$I->type=($o["Type"]==1?254:0);return$I;}function
|
||
seek($C){for($s=0;$s<$C;$s++)sqlsrv_fetch($this->_result);}function
|
||
__destruct(){sqlsrv_free_stmt($this->_result);}}}elseif(extension_loaded("mssql")){class
|
||
Min_DB{var$extension="MSSQL",$_link,$_result,$server_info,$affected_rows,$error;function
|
||
connect($M,$V,$E){$this->_link=@mssql_connect($M,$V,$E);if($this->_link){$H=$this->query("SELECT SERVERPROPERTY('ProductLevel'), SERVERPROPERTY('Edition')");$J=$H->fetch_row();$this->server_info=$this->result("sp_server_info 2",2)." [$J[0]] $J[1]";}else$this->error=mssql_get_last_message();return(bool)$this->_link;}function
|
||
quote($O){return"'".str_replace("'","''",$O)."'";}function
|
||
select_db($qb){return
|
||
mssql_select_db($qb);}function
|
||
query($G,$Eg=false){$H=mssql_query($G,$this->_link);$this->error="";if(!$H){$this->error=mssql_get_last_message();return
|
||
false;}if($H===true){$this->affected_rows=mssql_rows_affected($this->_link);return
|
||
true;}return
|
||
new
|
||
Min_Result($H);}function
|
||
multi_query($G){return$this->_result=$this->query($G);}function
|
||
store_result(){return$this->_result;}function
|
||
next_result(){return
|
||
mssql_next_result($this->_result);}function
|
||
result($G,$o=0){$H=$this->query($G);if(!is_object($H))return
|
||
false;return
|
||
mssql_result($H->_result,0,$o);}}class
|
||
Min_Result{var$_result,$_offset=0,$_fields,$num_rows;function
|
||
Min_Result($H){$this->_result=$H;$this->num_rows=mssql_num_rows($H);}function
|
||
fetch_assoc(){return
|
||
mssql_fetch_assoc($this->_result);}function
|
||
fetch_row(){return
|
||
mssql_fetch_row($this->_result);}function
|
||
num_rows(){return
|
||
mssql_num_rows($this->_result);}function
|
||
fetch_field(){$I=mssql_fetch_field($this->_result);$I->orgtable=$I->table;$I->orgname=$I->name;return$I;}function
|
||
seek($C){mssql_data_seek($this->_result,$C);}function
|
||
__destruct(){mssql_free_result($this->_result);}}}function
|
||
idf_escape($t){return"[".str_replace("]","]]",$t)."]";}function
|
||
table($t){return($_GET["ns"]!=""?idf_escape($_GET["ns"]).".":"").idf_escape($t);}function
|
||
connect(){global$b;$i=new
|
||
Min_DB;$mb=$b->credentials();if($i->connect($mb[0],$mb[1],$mb[2]))return$i;return$i->error;}function
|
||
get_databases(){return
|
||
get_vals("EXEC sp_databases");}function
|
||
limit($G,$Z,$y,$C=0,$Cf=" "){return($y!==null?" TOP (".($y+$C).")":"")." $G$Z";}function
|
||
limit1($G,$Z){return
|
||
limit($G,$Z,1);}function
|
||
db_collation($m,$Xa){global$i;return$i->result("SELECT collation_name FROM sys.databases WHERE name = ".q($m));}function
|
||
engines(){return
|
||
array();}function
|
||
logged_user(){global$i;return$i->result("SELECT SUSER_NAME()");}function
|
||
tables_list(){return
|
||
get_key_vals("SELECT name, type_desc FROM sys.all_objects WHERE schema_id = SCHEMA_ID(".q(get_schema()).") AND type IN ('S', 'U', 'V') ORDER BY name");}function
|
||
count_tables($l){global$i;$I=array();foreach($l
|
||
as$m){$i->select_db($m);$I[$m]=$i->result("SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES");}return$I;}function
|
||
table_status($B=""){$I=array();foreach(get_rows("SELECT name AS Name, type_desc AS Engine FROM sys.all_objects WHERE schema_id = SCHEMA_ID(".q(get_schema()).") AND type IN ('S', 'U', 'V') ".($B!=""?"AND name = ".q($B):"ORDER BY name"))as$J){if($B!="")return$J;$I[$J["Name"]]=$J;}return$I;}function
|
||
is_view($Q){return$Q["Engine"]=="VIEW";}function
|
||
fk_support($Q){return
|
||
true;}function
|
||
fields($P){$I=array();foreach(get_rows("SELECT c.*, t.name type, d.definition [default]
|
||
FROM sys.all_columns c
|
||
JOIN sys.all_objects o ON c.object_id = o.object_id
|
||
JOIN sys.types t ON c.user_type_id = t.user_type_id
|
||
LEFT JOIN sys.default_constraints d ON c.default_object_id = d.parent_column_id
|
||
WHERE o.schema_id = SCHEMA_ID(".q(get_schema()).") AND o.type IN ('S', 'U', 'V') AND o.name = ".q($P))as$J){$T=$J["type"];$vd=(ereg("char|binary",$T)?$J["max_length"]:($T=="decimal"?"$J[precision],$J[scale]":""));$I[$J["name"]]=array("field"=>$J["name"],"full_type"=>$T.($vd?"($vd)":""),"type"=>$T,"length"=>$vd,"default"=>$J["default"],"null"=>$J["is_nullable"],"auto_increment"=>$J["is_identity"],"collation"=>$J["collation_name"],"privileges"=>array("insert"=>1,"select"=>1,"update"=>1),"primary"=>$J["is_identity"],);}return$I;}function
|
||
indexes($P,$j=null){$I=array();foreach(get_rows("SELECT i.name, key_ordinal, is_unique, is_primary_key, c.name AS column_name, is_descending_key
|
||
FROM sys.indexes i
|
||
INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id
|
||
INNER JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id
|
||
WHERE OBJECT_NAME(i.object_id) = ".q($P),$j)as$J){$B=$J["name"];$I[$B]["type"]=($J["is_primary_key"]?"PRIMARY":($J["is_unique"]?"UNIQUE":"INDEX"));$I[$B]["lengths"]=array();$I[$B]["columns"][$J["key_ordinal"]]=$J["column_name"];$I[$B]["descs"][$J["key_ordinal"]]=($J["is_descending_key"]?'1':null);}return$I;}function
|
||
view($B){global$i;return
|
||
array("select"=>preg_replace('~^(?:[^[]|\\[[^]]*])*\\s+AS\\s+~isU','',$i->result("SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = SCHEMA_NAME() AND TABLE_NAME = ".q($B))));}function
|
||
collations(){$I=array();foreach(get_vals("SELECT name FROM fn_helpcollations()")as$e)$I[ereg_replace("_.*","",$e)][]=$e;return$I;}function
|
||
information_schema($m){return
|
||
false;}function
|
||
error(){global$i;return
|
||
nl_br(h(preg_replace('~^(\\[[^]]*])+~m','',$i->error)));}function
|
||
create_database($m,$e){return
|
||
queries("CREATE DATABASE ".idf_escape($m).(eregi('^[a-z0-9_]+$',$e)?" COLLATE $e":""));}function
|
||
drop_databases($l){return
|
||
queries("DROP DATABASE ".implode(", ",array_map('idf_escape',$l)));}function
|
||
rename_database($B,$e){if(eregi('^[a-z0-9_]+$',$e))queries("ALTER DATABASE ".idf_escape(DB)." COLLATE $e");queries("ALTER DATABASE ".idf_escape(DB)." MODIFY NAME = ".idf_escape($B));return
|
||
true;}function
|
||
auto_increment(){return" IDENTITY".($_POST["Auto_increment"]!=""?"(".(+$_POST["Auto_increment"]).",1)":"")." PRIMARY KEY";}function
|
||
alter_table($P,$B,$p,$tc,$bb,$Tb,$e,$Aa,$Ee){$c=array();foreach($p
|
||
as$o){$f=idf_escape($o[0]);$X=$o[1];if(!$X)$c["DROP"][]=" COLUMN $f";else{$X[1]=preg_replace("~( COLLATE )'(\\w+)'~","\\1\\2",$X[1]);if($o[0]=="")$c["ADD"][]="\n ".implode("",$X).($P==""?substr($tc[$X[0]],16+strlen($X[0])):"");else{unset($X[6]);if($f!=$X[0])queries("EXEC sp_rename ".q(table($P).".$f").", ".q(idf_unescape($X[0])).", 'COLUMN'");$c["ALTER COLUMN ".implode("",$X)][]="";}}}if($P=="")return
|
||
queries("CREATE TABLE ".table($B)." (".implode(",",(array)$c["ADD"])."\n)");if($P!=$B)queries("EXEC sp_rename ".q(table($P)).", ".q($B));if($tc)$c[""]=$tc;foreach($c
|
||
as$x=>$X){if(!queries("ALTER TABLE ".idf_escape($B)." $x".implode(",",$X)))return
|
||
false;}return
|
||
true;}function
|
||
alter_indexes($P,$c){$u=array();$Fb=array();foreach($c
|
||
as$X){if($X[2]=="DROP"){if($X[0]=="PRIMARY")$Fb[]=idf_escape($X[1]);else$u[]=idf_escape($X[1])." ON ".table($P);}elseif(!queries(($X[0]!="PRIMARY"?"CREATE $X[0] ".($X[0]!="INDEX"?"INDEX ":"").idf_escape($X[1]!=""?$X[1]:uniqid($P."_"))." ON ".table($P):"ALTER TABLE ".table($P)." ADD PRIMARY KEY")." $X[2]"))return
|
||
false;}return(!$u||queries("DROP INDEX ".implode(", ",$u)))&&(!$Fb||queries("ALTER TABLE ".table($P)." DROP ".implode(", ",$Fb)));}function
|
||
begin(){return
|
||
queries("BEGIN TRANSACTION");}function
|
||
insert_into($P,$N){return
|
||
queries("INSERT INTO ".table($P).($N?" (".implode(", ",array_keys($N)).")\nVALUES (".implode(", ",$N).")":"DEFAULT VALUES"));}function
|
||
insert_update($P,$N,$Qe){$Lg=array();$Z=array();foreach($N
|
||
as$x=>$X){$Lg[]="$x = $X";if(isset($Qe[idf_unescape($x)]))$Z[]="$x = $X";}return
|
||
queries("MERGE ".table($P)." USING (VALUES(".implode(", ",$N).")) AS source (c".implode(", c",range(1,count($N))).") ON ".implode(" AND ",$Z)." WHEN MATCHED THEN UPDATE SET ".implode(", ",$Lg)." WHEN NOT MATCHED THEN INSERT (".implode(", ",array_keys($N)).") VALUES (".implode(", ",$N).");");}function
|
||
last_id(){global$i;return$i->result("SELECT SCOPE_IDENTITY()");}function
|
||
explain($i,$G){$i->query("SET SHOWPLAN_ALL ON");$I=$i->query($G);$i->query("SET SHOWPLAN_ALL OFF");return$I;}function
|
||
found_rows($Q,$Z){}function
|
||
foreign_keys($P){$I=array();foreach(get_rows("EXEC sp_fkeys @fktable_name = ".q($P))as$J){$q=&$I[$J["FK_NAME"]];$q["table"]=$J["PKTABLE_NAME"];$q["source"][]=$J["FKCOLUMN_NAME"];$q["target"][]=$J["PKCOLUMN_NAME"];}return$I;}function
|
||
truncate_tables($R){return
|
||
apply_queries("TRUNCATE TABLE",$R);}function
|
||
drop_views($Wg){return
|
||
queries("DROP VIEW ".implode(", ",array_map('table',$Wg)));}function
|
||
drop_tables($R){return
|
||
queries("DROP TABLE ".implode(", ",array_map('table',$R)));}function
|
||
move_tables($R,$Wg,$fg){return
|
||
apply_queries("ALTER SCHEMA ".idf_escape($fg)." TRANSFER",array_merge($R,$Wg));}function
|
||
trigger($B){if($B=="")return
|
||
array();$K=get_rows("SELECT s.name [Trigger],
|
||
CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(s.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(s.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],
|
||
CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing],
|
||
c.text
|
||
FROM sysobjects s
|
||
JOIN syscomments c ON s.id = c.id
|
||
WHERE s.xtype = 'TR' AND s.name = ".q($B));$I=reset($K);if($I)$I["Statement"]=preg_replace('~^.+\\s+AS\\s+~isU','',$I["text"]);return$I;}function
|
||
triggers($P){$I=array();foreach(get_rows("SELECT sys1.name,
|
||
CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],
|
||
CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing]
|
||
FROM sysobjects sys1
|
||
JOIN sysobjects sys2 ON sys1.parent_obj = sys2.id
|
||
WHERE sys1.xtype = 'TR' AND sys2.name = ".q($P))as$J)$I[$J["name"]]=array($J["Timing"],$J["Event"]);return$I;}function
|
||
trigger_options(){return
|
||
array("Timing"=>array("AFTER","INSTEAD OF"),"Type"=>array("AS"),);}function
|
||
schemas(){return
|
||
get_vals("SELECT name FROM sys.schemas");}function
|
||
get_schema(){global$i;if($_GET["ns"]!="")return$_GET["ns"];return$i->result("SELECT SCHEMA_NAME()");}function
|
||
set_schema($yf){return
|
||
true;}function
|
||
use_sql($qb){return"USE ".idf_escape($qb);}function
|
||
show_variables(){return
|
||
array();}function
|
||
show_status(){return
|
||
array();}function
|
||
convert_field($o){}function
|
||
unconvert_field($o,$I){return$I;}function
|
||
support($mc){return
|
||
ereg('^(scheme|trigger|view|drop_col)$',$mc);}$w="mssql";$U=array();$Qf=array();foreach(array(lang(14)=>array("tinyint"=>3,"smallint"=>5,"int"=>10,"bigint"=>20,"bit"=>1,"decimal"=>0,"real"=>12,"float"=>53,"smallmoney"=>10,"money"=>20),lang(15)=>array("date"=>10,"smalldatetime"=>19,"datetime"=>19,"datetime2"=>19,"time"=>8,"datetimeoffset"=>10),lang(16)=>array("char"=>8000,"varchar"=>8000,"text"=>2147483647,"nchar"=>4000,"nvarchar"=>4000,"ntext"=>1073741823),lang(17)=>array("binary"=>8000,"varbinary"=>8000,"image"=>2147483647),)as$x=>$X){$U+=$X;$Qf[$x]=array_keys($X);}$Kg=array();$le=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","IN","IS NULL","NOT LIKE","NOT IN","IS NOT NULL");$Cc=array("len","lower","round","upper");$Hc=array("avg","count","count distinct","max","min","sum");$Lb=array(array("date|time"=>"getdate",),array("int|decimal|real|float|money|datetime"=>"+/-","char|text"=>"+",));}$Eb=array("server"=>"MySQL")+$Eb;if(!defined("DRIVER")){$Ne=array("MySQLi","MySQL","PDO_MySQL");define("DRIVER","server");if(extension_loaded("mysqli")){class
|
||
Min_DB
|
||
extends
|
||
MySQLi{var$extension="MySQLi";function
|
||
Min_DB(){parent::init();}function
|
||
connect($M,$V,$E){mysqli_report(MYSQLI_REPORT_OFF);list($Mc,$Je)=explode(":",$M,2);$I=@$this->real_connect(($M!=""?$Mc:ini_get("mysqli.default_host")),($M.$V!=""?$V:ini_get("mysqli.default_user")),($M.$V.$E!=""?$E:ini_get("mysqli.default_pw")),null,(is_numeric($Je)?$Je:ini_get("mysqli.default_port")),(!is_numeric($Je)?$Je:null));if($I){if(method_exists($this,'set_charset'))$this->set_charset("utf8");else$this->query("SET NAMES utf8");}return$I;}function
|
||
result($G,$o=0){$H=$this->query($G);if(!$H)return
|
||
false;$J=$H->fetch_array();return$J[$o];}function
|
||
quote($O){return"'".$this->escape_string($O)."'";}}}elseif(extension_loaded("mysql")&&!(ini_get("sql.safe_mode")&&extension_loaded("pdo_mysql"))){class
|
||
Min_DB{var$extension="MySQL",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
|
||
connect($M,$V,$E){$this->_link=@mysql_connect(($M!=""?$M:ini_get("mysql.default_host")),("$M$V"!=""?$V:ini_get("mysql.default_user")),("$M$V$E"!=""?$E:ini_get("mysql.default_password")),true,131072);if($this->_link){$this->server_info=mysql_get_server_info($this->_link);if(function_exists('mysql_set_charset'))mysql_set_charset("utf8",$this->_link);else$this->query("SET NAMES utf8");}else$this->error=mysql_error();return(bool)$this->_link;}function
|
||
quote($O){return"'".mysql_real_escape_string($O,$this->_link)."'";}function
|
||
select_db($qb){return
|
||
mysql_select_db($qb,$this->_link);}function
|
||
query($G,$Eg=false){$H=@($Eg?mysql_unbuffered_query($G,$this->_link):mysql_query($G,$this->_link));$this->error="";if(!$H){$this->errno=mysql_errno($this->_link);$this->error=mysql_error($this->_link);return
|
||
false;}if($H===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
|
||
true;}return
|
||
new
|
||
Min_Result($H);}function
|
||
multi_query($G){return$this->_result=$this->query($G);}function
|
||
store_result(){return$this->_result;}function
|
||
next_result(){return
|
||
false;}function
|
||
result($G,$o=0){$H=$this->query($G);if(!$H||!$H->num_rows)return
|
||
false;return
|
||
mysql_result($H->_result,0,$o);}}class
|
||
Min_Result{var$num_rows,$_result,$_offset=0;function
|
||
Min_Result($H){$this->_result=$H;$this->num_rows=mysql_num_rows($H);}function
|
||
fetch_assoc(){return
|
||
mysql_fetch_assoc($this->_result);}function
|
||
fetch_row(){return
|
||
mysql_fetch_row($this->_result);}function
|
||
fetch_field(){$I=mysql_fetch_field($this->_result,$this->_offset++);$I->orgtable=$I->table;$I->orgname=$I->name;$I->charsetnr=($I->blob?63:0);return$I;}function
|
||
__destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
|
||
Min_DB
|
||
extends
|
||
Min_PDO{var$extension="PDO_MySQL";function
|
||
connect($M,$V,$E){$this->dsn("mysql:host=".str_replace(":",";unix_socket=",preg_replace('~:(\\d)~',';port=\\1',$M)),$V,$E);$this->query("SET NAMES utf8");return
|
||
true;}function
|
||
select_db($qb){return$this->query("USE ".idf_escape($qb));}function
|
||
query($G,$Eg=false){$this->setAttribute(1000,!$Eg);return
|
||
parent::query($G,$Eg);}}}function
|
||
idf_escape($t){return"`".str_replace("`","``",$t)."`";}function
|
||
table($t){return
|
||
idf_escape($t);}function
|
||
connect(){global$b;$i=new
|
||
Min_DB;$mb=$b->credentials();if($i->connect($mb[0],$mb[1],$mb[2])){$i->query("SET sql_quote_show_create = 1, autocommit = 1");return$i;}$I=$i->error;if(function_exists('iconv')&&!is_utf8($I)&&strlen($wf=iconv("windows-1250","utf-8",$I))>strlen($I))$I=$wf;return$I;}function
|
||
get_databases($sc){global$i;$I=get_session("dbs");if($I===null){$G=($i->server_info>=5?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA":"SHOW DATABASES");$I=($sc?slow_query($G):get_vals($G));restart_session();set_session("dbs",$I);stop_session();}return$I;}function
|
||
limit($G,$Z,$y,$C=0,$Cf=" "){return" $G$Z".($y!==null?$Cf."LIMIT $y".($C?" OFFSET $C":""):"");}function
|
||
limit1($G,$Z){return
|
||
limit($G,$Z,1);}function
|
||
db_collation($m,$Xa){global$i;$I=null;$k=$i->result("SHOW CREATE DATABASE ".idf_escape($m),1);if(preg_match('~ COLLATE ([^ ]+)~',$k,$A))$I=$A[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$k,$A))$I=$Xa[$A[1]][-1];return$I;}function
|
||
engines(){$I=array();foreach(get_rows("SHOW ENGINES")as$J){if(ereg("YES|DEFAULT",$J["Support"]))$I[]=$J["Engine"];}return$I;}function
|
||
logged_user(){global$i;return$i->result("SELECT USER()");}function
|
||
tables_list(){global$i;return
|
||
get_key_vals("SHOW".($i->server_info>=5?" FULL":"")." TABLES");}function
|
||
count_tables($l){$I=array();foreach($l
|
||
as$m)$I[$m]=count(get_vals("SHOW TABLES IN ".idf_escape($m)));return$I;}function
|
||
table_status($B="",$lc=false){global$i;$I=array();foreach(get_rows($lc&&$i->server_info>=5?"SELECT TABLE_NAME AS Name, Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($B!=""?"AND TABLE_NAME = ".q($B):"ORDER BY Name"):"SHOW TABLE STATUS".($B!=""?" LIKE ".q(addcslashes($B,"%_\\")):""))as$J){if($J["Engine"]=="InnoDB")$J["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\\1',$J["Comment"]);if(!isset($J["Engine"]))$J["Comment"]="";if($B!="")return$J;$I[$J["Name"]]=$J;}return$I;}function
|
||
is_view($Q){return$Q["Engine"]===null;}function
|
||
fk_support($Q){return
|
||
eregi("InnoDB|IBMDB2I",$Q["Engine"]);}function
|
||
fields($P){$I=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($P))as$J){preg_match('~^([^( ]+)(?:\\((.+)\\))?( unsigned)?( zerofill)?$~',$J["Type"],$A);$I[$J["Field"]]=array("field"=>$J["Field"],"full_type"=>$J["Type"],"type"=>$A[1],"length"=>$A[2],"unsigned"=>ltrim($A[3].$A[4]),"default"=>($J["Default"]!=""||ereg("char|set",$A[1])?$J["Default"]:null),"null"=>($J["Null"]=="YES"),"auto_increment"=>($J["Extra"]=="auto_increment"),"on_update"=>(eregi('^on update (.+)',$J["Extra"],$A)?$A[1]:""),"collation"=>$J["Collation"],"privileges"=>array_flip(explode(",",$J["Privileges"])),"comment"=>$J["Comment"],"primary"=>($J["Key"]=="PRI"),);}return$I;}function
|
||
indexes($P,$j=null){$I=array();foreach(get_rows("SHOW INDEX FROM ".table($P),$j)as$J){$I[$J["Key_name"]]["type"]=($J["Key_name"]=="PRIMARY"?"PRIMARY":($J["Index_type"]=="FULLTEXT"?"FULLTEXT":($J["Non_unique"]?"INDEX":"UNIQUE")));$I[$J["Key_name"]]["columns"][]=$J["Column_name"];$I[$J["Key_name"]]["lengths"][]=$J["Sub_part"];$I[$J["Key_name"]]["descs"][]=null;}return$I;}function
|
||
foreign_keys($P){global$i,$he;static$He='`(?:[^`]|``)+`';$I=array();$kb=$i->result("SHOW CREATE TABLE ".table($P),1);if($kb){preg_match_all("~CONSTRAINT ($He) FOREIGN KEY \\(((?:$He,? ?)+)\\) REFERENCES ($He)(?:\\.($He))? \\(((?:$He,? ?)+)\\)(?: ON DELETE ($he))?(?: ON UPDATE ($he))?~",$kb,$Bd,PREG_SET_ORDER);foreach($Bd
|
||
as$A){preg_match_all("~$He~",$A[2],$If);preg_match_all("~$He~",$A[5],$fg);$I[idf_unescape($A[1])]=array("db"=>idf_unescape($A[4]!=""?$A[3]:$A[4]),"table"=>idf_unescape($A[4]!=""?$A[4]:$A[3]),"source"=>array_map('idf_unescape',$If[0]),"target"=>array_map('idf_unescape',$fg[0]),"on_delete"=>($A[6]?$A[6]:"RESTRICT"),"on_update"=>($A[7]?$A[7]:"RESTRICT"),);}}return$I;}function
|
||
view($B){global$i;return
|
||
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\\s+AS\\s+~isU','',$i->result("SHOW CREATE VIEW ".table($B),1)));}function
|
||
collations(){$I=array();foreach(get_rows("SHOW COLLATION")as$J){if($J["Default"])$I[$J["Charset"]][-1]=$J["Collation"];else$I[$J["Charset"]][]=$J["Collation"];}ksort($I);foreach($I
|
||
as$x=>$X)asort($I[$x]);return$I;}function
|
||
information_schema($m){global$i;return($i->server_info>=5&&$m=="information_schema")||($i->server_info>=5.5&&$m=="performance_schema");}function
|
||
error(){global$i;return
|
||
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$i->error));}function
|
||
error_line(){global$i;if(ereg(' at line ([0-9]+)$',$i->error,$jf))return$jf[1]-1;}function
|
||
create_database($m,$e){set_session("dbs",null);return
|
||
queries("CREATE DATABASE ".idf_escape($m).($e?" COLLATE ".q($e):""));}function
|
||
drop_databases($l){restart_session();set_session("dbs",null);return
|
||
apply_queries("DROP DATABASE",$l,'idf_escape');}function
|
||
rename_database($B,$e){if(create_database($B,$e)){$lf=array();foreach(tables_list()as$P=>$T)$lf[]=table($P)." TO ".idf_escape($B).".".table($P);if(!$lf||queries("RENAME TABLE ".implode(", ",$lf))){queries("DROP DATABASE ".idf_escape(DB));return
|
||
true;}}return
|
||
false;}function
|
||
auto_increment(){$Ba=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$u){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$u["columns"],true)){$Ba="";break;}if($u["type"]=="PRIMARY")$Ba=" UNIQUE";}}return" AUTO_INCREMENT$Ba";}function
|
||
alter_table($P,$B,$p,$tc,$bb,$Tb,$e,$Aa,$Ee){$c=array();foreach($p
|
||
as$o)$c[]=($o[1]?($P!=""?($o[0]!=""?"CHANGE ".idf_escape($o[0]):"ADD"):" ")." ".implode($o[1]).($P!=""?$o[2]:""):"DROP ".idf_escape($o[0]));$c=array_merge($c,$tc);$Nf="COMMENT=".q($bb).($Tb?" ENGINE=".q($Tb):"").($e?" COLLATE ".q($e):"").($Aa!=""?" AUTO_INCREMENT=$Aa":"").$Ee;if($P=="")return
|
||
queries("CREATE TABLE ".table($B)." (\n".implode(",\n",$c)."\n) $Nf");if($P!=$B)$c[]="RENAME TO ".table($B);$c[]=$Nf;return
|
||
queries("ALTER TABLE ".table($P)."\n".implode(",\n",$c));}function
|
||
alter_indexes($P,$c){foreach($c
|
||
as$x=>$X)$c[$x]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"").$X[2]);return
|
||
queries("ALTER TABLE ".table($P).implode(",",$c));}function
|
||
truncate_tables($R){return
|
||
apply_queries("TRUNCATE TABLE",$R);}function
|
||
drop_views($Wg){return
|
||
queries("DROP VIEW ".implode(", ",array_map('table',$Wg)));}function
|
||
drop_tables($R){return
|
||
queries("DROP TABLE ".implode(", ",array_map('table',$R)));}function
|
||
move_tables($R,$Wg,$fg){$lf=array();foreach(array_merge($R,$Wg)as$P)$lf[]=table($P)." TO ".idf_escape($fg).".".table($P);return
|
||
queries("RENAME TABLE ".implode(", ",$lf));}function
|
||
copy_tables($R,$Wg,$fg){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($R
|
||
as$P){$B=($fg==DB?table("copy_$P"):idf_escape($fg).".".table($P));if(!queries("DROP TABLE IF EXISTS $B")||!queries("CREATE TABLE $B LIKE ".table($P))||!queries("INSERT INTO $B SELECT * FROM ".table($P)))return
|
||
false;}foreach($Wg
|
||
as$P){$B=($fg==DB?table("copy_$P"):idf_escape($fg).".".table($P));$Vg=view($P);if(!queries("DROP VIEW IF EXISTS $B")||!queries("CREATE VIEW $B AS $Vg[select]"))return
|
||
false;}return
|
||
true;}function
|
||
trigger($B){if($B=="")return
|
||
array();$K=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($B));return
|
||
reset($K);}function
|
||
triggers($P){$I=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($P,"%_\\")))as$J)$I[$J["Trigger"]]=array($J["Timing"],$J["Event"]);return$I;}function
|
||
trigger_options(){return
|
||
array("Timing"=>array("BEFORE","AFTER"),"Type"=>array("FOR EACH ROW"),);}function
|
||
routine($B,$T){global$i,$Vb,$Yc,$U;$va=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$Dg="((".implode("|",array_merge(array_keys($U),$va)).")\\b(?:\\s*\\(((?:[^'\")]*|$Vb)+)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s]+)['\"]?)?";$He="\\s*(".($T=="FUNCTION"?"":$Yc).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$Dg";$k=$i->result("SHOW CREATE $T ".idf_escape($B),2);preg_match("~\\(((?:$He\\s*,?)*)\\)\\s*".($T=="FUNCTION"?"RETURNS\\s+$Dg\\s+":"")."(.*)~is",$k,$A);$p=array();preg_match_all("~$He\\s*,?~is",$A[1],$Bd,PREG_SET_ORDER);foreach($Bd
|
||
as$_e){$B=str_replace("``","`",$_e[2]).$_e[3];$p[]=array("field"=>$B,"type"=>strtolower($_e[5]),"length"=>preg_replace_callback("~$Vb~s",'normalize_enum',$_e[6]),"unsigned"=>strtolower(preg_replace('~\\s+~',' ',trim("$_e[8] $_e[7]"))),"null"=>1,"full_type"=>$_e[4],"inout"=>strtoupper($_e[1]),"collation"=>strtolower($_e[9]),);}if($T!="FUNCTION")return
|
||
array("fields"=>$p,"definition"=>$A[11]);return
|
||
array("fields"=>$p,"returns"=>array("type"=>$A[12],"length"=>$A[13],"unsigned"=>$A[15],"collation"=>$A[16]),"definition"=>$A[17],"language"=>"SQL",);}function
|
||
routines(){return
|
||
get_rows("SELECT ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
|
||
routine_languages(){return
|
||
array();}function
|
||
begin(){return
|
||
queries("BEGIN");}function
|
||
insert_into($P,$N){return
|
||
queries("INSERT INTO ".table($P)." (".implode(", ",array_keys($N)).")\nVALUES (".implode(", ",$N).")");}function
|
||
insert_update($P,$N,$Qe){foreach($N
|
||
as$x=>$X)$N[$x]="$x = $X";$Lg=implode(", ",$N);return
|
||
queries("INSERT INTO ".table($P)." SET $Lg ON DUPLICATE KEY UPDATE $Lg");}function
|
||
last_id(){global$i;return$i->result("SELECT LAST_INSERT_ID()");}function
|
||
explain($i,$G){return$i->query("EXPLAIN ".($i->server_info>=5.1?"PARTITIONS ":"").$G);}function
|
||
found_rows($Q,$Z){return($Z||$Q["Engine"]!="InnoDB"?null:$Q["Rows"]);}function
|
||
types(){return
|
||
array();}function
|
||
schemas(){return
|
||
array();}function
|
||
get_schema(){return"";}function
|
||
set_schema($yf){return
|
||
true;}function
|
||
create_sql($P,$Aa){global$i;$I=$i->result("SHOW CREATE TABLE ".table($P),1);if(!$Aa)$I=preg_replace('~ AUTO_INCREMENT=\\d+~','',$I);return$I;}function
|
||
truncate_sql($P){return"TRUNCATE ".table($P);}function
|
||
use_sql($qb){return"USE ".idf_escape($qb);}function
|
||
trigger_sql($P,$Rf){$I="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($P,"%_\\")),null,"-- ")as$J)$I.="\n".($Rf=='CREATE+ALTER'?"DROP TRIGGER IF EXISTS ".idf_escape($J["Trigger"]).";;\n":"")."CREATE TRIGGER ".idf_escape($J["Trigger"])." $J[Timing] $J[Event] ON ".table($J["Table"])." FOR EACH ROW\n$J[Statement];;\n";return$I;}function
|
||
show_variables(){return
|
||
get_key_vals("SHOW VARIABLES");}function
|
||
process_list(){return
|
||
get_rows("SHOW FULL PROCESSLIST");}function
|
||
show_status(){return
|
||
get_key_vals("SHOW STATUS");}function
|
||
convert_field($o){if(ereg("binary",$o["type"]))return"HEX(".idf_escape($o["field"]).")";if($o["type"]=="bit")return"BIN(".idf_escape($o["field"])." + 0)";if(ereg("geometry|point|linestring|polygon",$o["type"]))return"AsWKT(".idf_escape($o["field"]).")";}function
|
||
unconvert_field($o,$I){if(ereg("binary",$o["type"]))$I="UNHEX($I)";if($o["type"]=="bit")$I="CONV($I, 2, 10) + 0";if(ereg("geometry|point|linestring|polygon",$o["type"]))$I="GeomFromText($I)";return$I;}function
|
||
support($mc){global$i;return!ereg("scheme|sequence|type".($i->server_info<5.1?"|event|partitioning".($i->server_info<5?"|view|routine|trigger":""):""),$mc);}$w="sql";$U=array();$Qf=array();foreach(array(lang(14)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(15)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(16)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(20)=>array("enum"=>65535,"set"=>64),lang(17)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(19)=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),)as$x=>$X){$U+=$X;$Qf[$x]=array_keys($X);}$Kg=array("unsigned","zerofill","unsigned zerofill");$le=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");$Cc=array("char_length","date","from_unixtime","lower","round","sec_to_time","time_to_sec","upper");$Hc=array("avg","count","count distinct","group_concat","max","min","sum");$Lb=array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",),array("(^|[^o])int|float|double|decimal"=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",));}define("SERVER",$_GET[DRIVER]);define("DB",$_GET["db"]);define("ME",preg_replace('~^[^?]*/([^?]*).*~','\\1',$_SERVER["REQUEST_URI"]).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):''));$ia="3.7.1";class
|
||
Adminer{var$operators;function
|
||
name(){return"<a href='http://www.adminer.org/' id='h1'>Adminer</a>";}function
|
||
credentials(){return
|
||
array(SERVER,$_GET["username"],get_session("pwds"));}function
|
||
permanentLogin($k=false){return
|
||
password_file($k);}function
|
||
database(){return
|
||
DB;}function
|
||
databases($sc=true){return
|
||
get_databases($sc);}function
|
||
queryTimeout(){return
|
||
5;}function
|
||
headers(){return
|
||
true;}function
|
||
head(){return
|
||
true;}function
|
||
loginForm(){global$Eb;echo'<table cellspacing="0">
|
||
<tr><th>',lang(21),'<td>',adminer_html_select("auth[driver]",$Eb,DRIVER,"loginDriver(this);"),'<tr><th>',lang(22),'<td><input name="auth[server]" value="',h(SERVER),'" title="hostname[:port]" placeholder="localhost" autocapitalize="off">
|
||
<tr><th>',lang(23),'<td><input name="auth[username]" id="username" value="',h($_GET["username"]),'" autocapitalize="off">
|
||
<tr><th>',lang(24),'<td><input type="password" name="auth[password]">
|
||
<tr><th>',lang(25),'<td><input name="auth[db]" value="',h($_GET["db"]);?>" autocapitalize="off">
|
||
</table>
|
||
<script type="text/javascript">
|
||
var username = document.getElementById('username');
|
||
focus(username);
|
||
username.form['auth[driver]'].onchange();
|
||
</script>
|
||
<?php
|
||
|
||
echo"<p><input type='submit' value='".lang(26)."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(27))."\n";}function
|
||
login($zd,$E){return
|
||
true;}function
|
||
tableName($Xf){return
|
||
h($Xf["Name"]);}function
|
||
fieldName($o,$pe=0){return'<span title="'.h($o["full_type"]).'">'.h($o["field"]).'</span>';}function
|
||
selectLinks($Xf,$N=""){echo'<p class="tabs">';$yd=array("select"=>lang(28),"table"=>lang(29));if(is_view($Xf))$yd["view"]=lang(30);else$yd["create"]=lang(31);if($N!==null)$yd["edit"]=lang(32);foreach($yd
|
||
as$x=>$X)echo" <a href='".h(ME)."$x=".urlencode($Xf["Name"]).($x=="edit"?$N:"")."'".bold(isset($_GET[$x])).">$X</a>";echo"\n";}function
|
||
foreignKeys($P){return
|
||
foreign_keys($P);}function
|
||
backwardKeys($P,$Wf){return
|
||
array();}function
|
||
backwardKeysPrint($Da,$J){}function
|
||
selectQuery($G){global$w,$S;return"<form action='".h(ME)."sql=' method='post'><p><span onclick=\"return !selectEditSql(event, this, '".lang(33)."');\">"."<code class='jush-$w'>".h(str_replace("\n"," ",$G))."</code>"." <a href='".h(ME)."sql=".urlencode($G)."'>".lang(34)."</a>"."</span><input type='hidden' name='token' value='$S'></p></form>\n";}function
|
||
rowDescription($P){return"";}function
|
||
rowDescriptions($K,$uc){return$K;}function
|
||
selectLink($X,$o){}function
|
||
selectVal($X,$z,$o){$I=($X===null?"<i>NULL</i>":(ereg("char|binary",$o["type"])&&!ereg("var",$o["type"])?"<code>$X</code>":$X));if(ereg('blob|bytea|raw|file',$o["type"])&&!is_utf8($X))$I=lang(35,strlen(html_entity_decode($X,ENT_QUOTES)));return($z?"<a href='".h($z)."'>$I</a>":$I);}function
|
||
editVal($X,$o){return$X;}function
|
||
selectColumnsPrint($L,$g){global$Cc,$Hc;print_fieldset("select",lang(36),$L);$s=0;$Ac=array(lang(37)=>$Cc,lang(38)=>$Hc);foreach($L
|
||
as$x=>$X){$X=$_GET["columns"][$x];echo"<div>".adminer_html_select("columns[$s][fun]",array(-1=>"")+$Ac,$X["fun"]),"(<select name='columns[$s][col]' onchange='selectFieldChange(this.form);'><option>".optionlist($g,$X["col"],true)."</select>)</div>\n";$s++;}echo"<div>".adminer_html_select("columns[$s][fun]",array(-1=>"")+$Ac,"","this.nextSibling.nextSibling.onchange();"),"(<select name='columns[$s][col]' onchange='selectAddRow(this);'><option>".optionlist($g,null,true)."</select>)</div>\n","</div></fieldset>\n";}function
|
||
selectSearchPrint($Z,$g,$v){print_fieldset("search",lang(39),$Z);foreach($v
|
||
as$s=>$u){if($u["type"]=="FULLTEXT"){echo"(<i>".implode("</i>, <i>",array_map('h',$u["columns"]))."</i>) AGAINST"," <input type='search' name='fulltext[$s]' value='".h($_GET["fulltext"][$s])."' onchange='selectFieldChange(this.form);'>",checkbox("boolean[$s]",1,isset($_GET["boolean"][$s]),"BOOL"),"<br>\n";}}$_GET["where"]=(array)$_GET["where"];reset($_GET["where"]);$Na="this.nextSibling.onchange();";for($s=0;$s<=count($_GET["where"]);$s++){list(,$X)=each($_GET["where"]);if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators))){echo"<div><select name='where[$s][col]' onchange='$Na'><option value=''>(".lang(40).")".optionlist($g,$X["col"],true)."</select>",adminer_html_select("where[$s][op]",$this->operators,$X["op"],$Na),"<input type='search' name='where[$s][val]' value='".h($X["val"])."' onchange='".($X?"selectFieldChange(this.form)":"selectAddRow(this)").";' onsearch='selectSearchSearch(this);'></div>\n";}}echo"</div></fieldset>\n";}function
|
||
selectOrderPrint($pe,$g,$v){print_fieldset("sort",lang(41),$pe);$s=0;foreach((array)$_GET["order"]as$x=>$X){if(isset($g[$X])){echo"<div><select name='order[$s]' onchange='selectFieldChange(this.form);'><option>".optionlist($g,$X,true)."</select>",checkbox("desc[$s]",1,isset($_GET["desc"][$x]),lang(42))."</div>\n";$s++;}}echo"<div><select name='order[$s]' onchange='selectAddRow(this);'><option>".optionlist($g,null,true)."</select>",checkbox("desc[$s]",1,false,lang(42))."</div>\n","</div></fieldset>\n";}function
|
||
selectLimitPrint($y){echo"<fieldset><legend>".lang(43)."</legend><div>";echo"<input type='number' name='limit' class='size' value='".h($y)."' onchange='selectFieldChange(this.form);'>","</div></fieldset>\n";}function
|
||
selectLengthPrint($kg){if($kg!==null){echo"<fieldset><legend>".lang(44)."</legend><div>","<input type='number' name='text_length' class='size' value='".h($kg)."'>","</div></fieldset>\n";}}function
|
||
selectActionPrint($v){echo"<fieldset><legend>".lang(45)."</legend><div>","<input type='submit' value='".lang(36)."'>"," <span id='noindex' title='".lang(46)."'></span>","<script type='text/javascript'>\n","var indexColumns = ";$g=array();foreach($v
|
||
as$u){if($u["type"]!="FULLTEXT")$g[reset($u["columns"])]=1;}$g[""]=1;foreach($g
|
||
as$x=>$X)json_row($x);echo";\n","selectFieldChange(document.getElementById('form'));\n","</script>\n","</div></fieldset>\n";}function
|
||
selectCommandPrint(){return!information_schema(DB);}function
|
||
selectImportPrint(){return!information_schema(DB);}function
|
||
selectEmailPrint($Pb,$g){}function
|
||
selectColumnsProcess($g,$v){global$Cc,$Hc;$L=array();$Fc=array();foreach((array)$_GET["columns"]as$x=>$X){if($X["fun"]=="count"||(isset($g[$X["col"]])&&(!$X["fun"]||in_array($X["fun"],$Cc)||in_array($X["fun"],$Hc)))){$L[$x]=apply_sql_function($X["fun"],(isset($g[$X["col"]])?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$Hc))$Fc[]=$L[$x];}}return
|
||
array($L,$Fc);}function
|
||
selectSearchProcess($p,$v){global$w;$I=array();foreach($v
|
||
as$s=>$u){if($u["type"]=="FULLTEXT"&&$_GET["fulltext"][$s]!="")$I[]="MATCH (".implode(", ",array_map('idf_escape',$u["columns"])).") AGAINST (".q($_GET["fulltext"][$s]).(isset($_GET["boolean"][$s])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$db=" $X[op]";if(ereg('IN$',$X["op"])){$Rc=process_length($X["val"]);$db.=" (".($Rc!=""?$Rc:"NULL").")";}elseif($X["op"]=="SQL")$db=" $X[val]";elseif($X["op"]=="LIKE %%")$db=" LIKE ".$this->processInput($p[$X["col"]],"%$X[val]%");elseif(!ereg('NULL$',$X["op"]))$db.=" ".$this->processInput($p[$X["col"]],$X["val"]);if($X["col"]!="")$I[]=idf_escape($X["col"]).$db;else{$Ya=array();foreach($p
|
||
as$B=>$o){$ed=ereg('char|text|enum|set',$o["type"]);if((is_numeric($X["val"])||!ereg('(^|[^o])int|float|double|decimal|bit',$o["type"]))&&(!ereg("[\x80-\xFF]",$X["val"])||$ed)){$B=idf_escape($B);$Ya[]=($w=="sql"&&$ed&&!ereg('^utf8',$o["collation"])?"CONVERT($B USING utf8)":$B);}}$I[]=($Ya?"(".implode("$db OR ",$Ya)."$db)":"0");}}}return$I;}function
|
||
selectOrderProcess($p,$v){$I=array();foreach((array)$_GET["order"]as$x=>$X){if(isset($p[$X])||preg_match('~^((COUNT\\(DISTINCT |[A-Z0-9_]+\\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\\)|COUNT\\(\\*\\))$~',$X))$I[]=(isset($p[$X])?idf_escape($X):$X).(isset($_GET["desc"][$x])?" DESC":"");}return$I;}function
|
||
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"50");}function
|
||
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
|
||
selectEmailProcess($Z,$uc){return
|
||
false;}function
|
||
selectQueryBuild($L,$Z,$Fc,$pe,$y,$D){return"";}function
|
||
messageQuery($G){global$w;restart_session();$Kc=&get_session("queries");$Oc="sql-".count($Kc[$_GET["db"]]);if(strlen($G)>1e6)$G=ereg_replace('[\x80-\xFF]+$','',substr($G,0,1e6))."\n...";$Kc[$_GET["db"]][]=array($G,time());return" <span class='time'>".@date("H:i:s")."</span> <a href='#$Oc' onclick=\"return !toggle('$Oc');\">".lang(47)."</a><div id='$Oc' class='hidden'><pre><code class='jush-$w'>".shorten_utf8($G,1000).'</code></pre><p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($Kc[$_GET["db"]])-1)).'">'.lang(34).'</a></div>';}function
|
||
editFunctions($o){global$Lb;$I=($o["null"]?"NULL/":"");foreach($Lb
|
||
as$x=>$Cc){if(!$x||(!isset($_GET["call"])&&(isset($_GET["select"])||where($_GET)))){foreach($Cc
|
||
as$He=>$X){if(!$He||ereg($He,$o["type"]))$I.="/$X";}if($x&&!ereg('set|blob|bytea|raw|file',$o["type"]))$I.="/SQL";}}return
|
||
explode("/",$I);}function
|
||
editInput($P,$o,$_a,$Y){if($o["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$_a value='-1' checked><i>".lang(6)."</i></label> ":"").($o["null"]?"<label><input type='radio'$_a value=''".($Y!==null||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$_a,$o,$Y,0);return"";}function
|
||
processInput($o,$Y,$r=""){if($r=="SQL")return$Y;$B=$o["field"];$I=q($Y);if(ereg('^(now|getdate|uuid)$',$r))$I="$r()";elseif(ereg('^current_(date|timestamp)$',$r))$I=$r;elseif(ereg('^([+-]|\\|\\|)$',$r))$I=idf_escape($B)." $r $I";elseif(ereg('^[+-] interval$',$r))$I=idf_escape($B)." $r ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+$~i",$Y)?$Y:$I);elseif(ereg('^(addtime|subtime|concat)$',$r))$I="$r(".idf_escape($B).", $I)";elseif(ereg('^(md5|sha1|password|encrypt)$',$r))$I="$r($I)";return
|
||
unconvert_field($o,$I);}function
|
||
dumpOutput(){$I=array('text'=>lang(48),'file'=>lang(49));if(function_exists('gzencode'))$I['gz']='gzip';return$I;}function
|
||
dumpFormat(){return
|
||
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
|
||
dumpDatabase($m){}function
|
||
dumpTable($P,$Rf,$fd=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($Rf)dump_csv(array_keys(fields($P)));}elseif($Rf){if($fd==2){$p=array();foreach(fields($P)as$B=>$o)$p[]=idf_escape($B)." $o[full_type]";$k="CREATE TABLE ".table($P)." (".implode(", ",$p).")";}else$k=create_sql($P,$_POST["auto_increment"]);if($k){if($Rf=="DROP+CREATE"||$fd==1)echo"DROP ".($fd==2?"VIEW":"TABLE")." IF EXISTS ".table($P).";\n";if($fd==1)$k=remove_definer($k);echo"$k;\n\n";}}}function
|
||
dumpData($P,$Rf,$G){global$i,$w;$Dd=($w=="sqlite"?0:1048576);if($Rf){if($_POST["format"]=="sql"){if($Rf=="TRUNCATE+INSERT")echo
|
||
truncate_sql($P).";\n";$p=fields($P);}$H=$i->query($G,1);if($H){$ad="";$La="";$jd=array();$Tf="";$nc=($P!=''?'fetch_assoc':'fetch_row');while($J=$H->$nc()){if(!$jd){$Sg=array();foreach($J
|
||
as$X){$o=$H->fetch_field();$jd[]=$o->name;$x=idf_escape($o->name);$Sg[]="$x = VALUES($x)";}$Tf=($Rf=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$Sg):"").";\n";}if($_POST["format"]!="sql"){if($Rf=="table"){dump_csv($jd);$Rf="INSERT";}dump_csv($J);}else{if(!$ad)$ad="INSERT INTO ".table($P)." (".implode(", ",array_map('idf_escape',$jd)).") VALUES";foreach($J
|
||
as$x=>$X){$o=$p[$x];$J[$x]=($X!==null?unconvert_field($o,ereg('(^|[^o])int|float|double|decimal',$o["type"])&&$X!=''?$X:q($X)):"NULL");}$wf=($Dd?"\n":" ")."(".implode(",\t",$J).")";if(!$La)$La=$ad.$wf;elseif(strlen($La)+4+strlen($wf)+strlen($Tf)<$Dd)$La.=",$wf";else{echo$La.$Tf;$La=$ad.$wf;}}}if($La)echo$La.$Tf;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$i->error)."\n";}}function
|
||
dumpFilename($Pc){return
|
||
friendly_url($Pc!=""?$Pc:(SERVER!=""?SERVER:"localhost"));}function
|
||
dumpHeaders($Pc,$Rd=false){$ye=$_POST["output"];$hc=(ereg('sql',$_POST["format"])?"sql":($Rd?"tar":"csv"));header("Content-Type: ".($ye=="gz"?"application/x-gzip":($hc=="tar"?"application/x-tar":($hc=="sql"||$ye!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($ye=="gz")ob_start('gzencode',1e6);return$hc;}function
|
||
homepage(){echo'<p>'.($_GET["ns"]==""?'<a href="'.h(ME).'database=">'.lang(50)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(51):lang(52))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(53)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(54)."</a>\n":"");return
|
||
true;}function
|
||
navigation($Qd){global$ia,$S,$w,$Eb;echo'<h1>
|
||
',$this->name(),' <span class="version">',$ia,'</span>
|
||
<a href="http://www.adminer.org/#download" id="version">',(version_compare($ia,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'</a>
|
||
</h1>
|
||
';if($Qd=="auth"){$rc=true;foreach((array)$_SESSION["pwds"]as$Db=>$Ff){foreach($Ff
|
||
as$M=>$Qg){foreach($Qg
|
||
as$V=>$E){if($E!==null){if($rc){echo"<p id='logins' onmouseover='menuOver(this, event);' onmouseout='menuOut(this);'>\n";$rc=false;}$tb=$_SESSION["db"][$Db][$M][$V];foreach(($tb?array_keys($tb):array(""))as$m)echo"<a href='".h(auth_url($Db,$M,$V,$m))."'>($Eb[$Db]) ".h($V.($M!=""?"@$M":"").($m!=""?" - $m":""))."</a><br>\n";}}}}}else{echo'<form action="" method="post">
|
||
<p class="logout">
|
||
';if(DB==""||!$Qd){echo"<a href='".h(ME)."sql='".bold(isset($_GET["sql"]))." title='".lang(55)."'>".lang(47)."</a>\n";if(support("dump"))echo"<a href='".h(ME)."dump=".urlencode(isset($_GET["table"])?$_GET["table"]:$_GET["select"])."' id='dump'".bold(isset($_GET["dump"])).">".lang(56)."</a>\n";}echo'<input type="submit" name="logout" value="',lang(57),'" id="logout">
|
||
<input type="hidden" name="token" value="',$S,'">
|
||
</p>
|
||
</form>
|
||
';$this->databasesPrint($Qd);if($_GET["ns"]!==""&&!$Qd&&DB!=""){echo'<p><a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(58)."</a>\n";$R=table_status('',true);if(!$R)echo"<p class='message'>".lang(7)."\n";else{$this->tablesPrint($R);$yd=array();foreach($R
|
||
as$P=>$T)$yd[]=preg_quote($P,'/');echo"<script type='text/javascript'>\n","var jushLinks = { $w: [ '".js_escape(ME)."table=\$&', /\\b(".implode("|",$yd).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X)echo"jushLinks.$X = jushLinks.$w;\n";echo"</script>\n";}}}}function
|
||
databasesPrint($Qd){global$i;$l=$this->databases();echo'<form action="">
|
||
<p id="dbs">
|
||
';hidden_fields_get();$rb=" onmousedown='dbMouseDown(event, this);' onchange='dbChange(this);'";echo($l?"<select name='db'$rb>".optionlist(array(""=>"(".lang(59).")")+$l,DB)."</select>":'<input name="db" value="'.h(DB).'" autocapitalize="off">'),"<input type='submit' value='".lang(10)."'".($l?" class='hidden'":"").">\n";if($Qd!="db"&&DB!=""&&$i->select_db(DB)){if(support("scheme")){echo"<br><select name='ns'$rb>".optionlist(array(""=>"(".lang(60).")")+schemas(),$_GET["ns"])."</select>";if($_GET["ns"]!="")set_schema($_GET["ns"]);}}echo(isset($_GET["sql"])?'<input type="hidden" name="sql" value="">':(isset($_GET["schema"])?'<input type="hidden" name="schema" value="">':(isset($_GET["dump"])?'<input type="hidden" name="dump" value="">':""))),"</p></form>\n";}function
|
||
tablesPrint($R){echo"<p id='tables' onmouseover='menuOver(this, event);' onmouseout='menuOut(this);'>\n";foreach($R
|
||
as$P=>$Nf){echo'<a href="'.h(ME).'select='.urlencode($P).'"'.bold($_GET["select"]==$P||$_GET["edit"]==$P).">".lang(61)."</a> ",'<a href="'.h(ME).'table='.urlencode($P).'"'.bold(in_array($P,array($_GET["table"],$_GET["create"],$_GET["indexes"],$_GET["foreign"],$_GET["trigger"])))." title='".lang(29)."'>".$this->tableName($Nf)."</a><br>\n";}}}$b=(function_exists('adminer_object')?adminer_object():new
|
||
Adminer);if($b->operators===null)$b->operators=$le;function
|
||
page_header($ng,$n="",$Ka=array(),$og=""){global$ca,$b,$i,$Eb;header("Content-Type: text/html; charset=utf-8");if($b->headers()){header("X-Frame-Options: deny");header("X-XSS-Protection: 0");}$pg=$ng.($og!=""?": ".h($og):"");$qg=strip_tags($pg.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$b->name());echo'<!DOCTYPE html>
|
||
<html lang="',$ca,'" dir="',lang(62),'">
|
||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||
<meta http-equiv="Content-Script-Type" content="text/javascript">
|
||
<meta name="robots" content="noindex">
|
||
<title>',$qg,'</title>
|
||
<link rel="stylesheet" type="text/css" href="',h(preg_replace("~\\?.*~","",ME))."?file=default.css&version=3.7.1",'">
|
||
<script type="text/javascript" src="',h(preg_replace("~\\?.*~","",ME))."?file=functions.js&version=3.7.1",'"></script>
|
||
';if($b->head()){echo'<link rel="shortcut icon" type="image/x-icon" href="',h(preg_replace("~\\?.*~","",ME))."?file=favicon.ico&version=3.7.1",'">
|
||
<link rel="apple-touch-icon" href="',h(preg_replace("~\\?.*~","",ME))."?file=favicon.ico&version=3.7.1",'">
|
||
';if(file_exists("adminer.css")){echo'<link rel="stylesheet" type="text/css" href="adminer.css">
|
||
';}}echo'
|
||
<body class="',lang(62),' nojs" onkeydown="bodyKeydown(event);" onclick="bodyClick(event);" onload="bodyLoad(\'',(is_object($i)?substr($i->server_info,0,3):""),'\');',(isset($_COOKIE["adminer_version"])?"":" verifyVersion();"),'">
|
||
<script type="text/javascript">
|
||
document.body.className = document.body.className.replace(/ nojs/, \' js\');
|
||
</script>
|
||
|
||
<div id="content">
|
||
';if($Ka!==null){$z=substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($z?$z:".").'">'.$Eb[DRIVER].'</a> » ';$z=substr(preg_replace('~(db|ns)=[^&]*&~','',ME),0,-1);$M=(SERVER!=""?h(SERVER):lang(22));if($Ka===false)echo"$M\n";else{echo"<a href='".($z?h($z):".")."' accesskey='1' title='Alt+Shift+1'>$M</a> » ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ka)))echo'<a href="'.h($z."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> » ';if(is_array($Ka)){if($_GET["ns"]!="")echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> » ';foreach($Ka
|
||
as$x=>$X){$xb=(is_array($X)?$X[1]:$X);if($xb!="")echo'<a href="'.h(ME."$x=").urlencode(is_array($X)?$X[0]:$X).'">'.h($xb).'</a> » ';}}echo"$ng\n";}}echo"<h2>$pg</h2>\n";restart_session();$Mg=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$Nd=$_SESSION["messages"][$Mg];if($Nd){echo"<div class='message'>".implode("</div>\n<div class='message'>",$Nd)."</div>\n";unset($_SESSION["messages"][$Mg]);}$l=&get_session("dbs");if(DB!=""&&$l&&!in_array(DB,$l,true))$l=null;stop_session();if($n)echo"<div class='error'>$n</div>\n";define("PAGE_HEADER",1);}function
|
||
page_footer($Qd=""){global$b;echo'</div>
|
||
|
||
';switch_lang();echo'<div id="menu">
|
||
';$b->navigation($Qd);echo'</div>
|
||
<script type="text/javascript">setupSubmitHighlight(document);</script>
|
||
';}function
|
||
int32($Td){while($Td>=2147483648)$Td-=4294967296;while($Td<=-2147483649)$Td+=4294967296;return(int)$Td;}function
|
||
long2str($W,$Yg){$wf='';foreach($W
|
||
as$X)$wf.=pack('V',$X);if($Yg)return
|
||
substr($wf,0,end($W));return$wf;}function
|
||
str2long($wf,$Yg){$W=array_values(unpack('V*',str_pad($wf,4*ceil(strlen($wf)/4),"\0")));if($Yg)$W[]=strlen($wf);return$W;}function
|
||
xxtea_mx($dh,$ch,$Uf,$hd){return
|
||
int32((($dh>>5&0x7FFFFFF)^$ch<<2)+(($ch>>3&0x1FFFFFFF)^$dh<<4))^int32(($Uf^$ch)+($hd^$dh));}function
|
||
encrypt_string($Pf,$x){if($Pf=="")return"";$x=array_values(unpack("V*",pack("H*",md5($x))));$W=str2long($Pf,true);$Td=count($W)-1;$dh=$W[$Td];$ch=$W[0];$F=floor(6+52/($Td+1));$Uf=0;while($F-->0){$Uf=int32($Uf+0x9E3779B9);$Kb=$Uf>>2&3;for($ze=0;$ze<$Td;$ze++){$ch=$W[$ze+1];$Sd=xxtea_mx($dh,$ch,$Uf,$x[$ze&3^$Kb]);$dh=int32($W[$ze]+$Sd);$W[$ze]=$dh;}$ch=$W[0];$Sd=xxtea_mx($dh,$ch,$Uf,$x[$ze&3^$Kb]);$dh=int32($W[$Td]+$Sd);$W[$Td]=$dh;}return
|
||
long2str($W,false);}function
|
||
decrypt_string($Pf,$x){if($Pf=="")return"";if(!$x)return
|
||
false;$x=array_values(unpack("V*",pack("H*",md5($x))));$W=str2long($Pf,false);$Td=count($W)-1;$dh=$W[$Td];$ch=$W[0];$F=floor(6+52/($Td+1));$Uf=int32($F*0x9E3779B9);while($Uf){$Kb=$Uf>>2&3;for($ze=$Td;$ze>0;$ze--){$dh=$W[$ze-1];$Sd=xxtea_mx($dh,$ch,$Uf,$x[$ze&3^$Kb]);$ch=int32($W[$ze]-$Sd);$W[$ze]=$ch;}$dh=$W[$Td];$Sd=xxtea_mx($dh,$ch,$Uf,$x[$ze&3^$Kb]);$ch=int32($W[0]-$Sd);$W[0]=$ch;$Uf=int32($Uf-0x9E3779B9);}return
|
||
long2str($W,true);}$i='';$S=$_SESSION["token"];if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);$Ie=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($x)=explode(":",$X);$Ie[$x]=$X;}}$d=$_POST["auth"];if($d){session_regenerate_id();$_SESSION["pwds"][$d["driver"]][$d["server"]][$d["username"]]=$d["password"];$_SESSION["db"][$d["driver"]][$d["server"]][$d["username"]][$d["db"]]=true;if($d["permanent"]){$x=base64_encode($d["driver"])."-".base64_encode($d["server"])."-".base64_encode($d["username"])."-".base64_encode($d["db"]);$Te=$b->permanentLogin(true);$Ie[$x]="$x:".base64_encode($Te?encrypt_string($d["password"],$Te):"");cookie("adminer_permanent",implode(" ",$Ie));}if(count($_POST)==1||DRIVER!=$d["driver"]||SERVER!=$d["server"]||$_GET["username"]!==$d["username"]||DB!=$d["db"])redirect(auth_url($d["driver"],$d["server"],$d["username"],$d["db"]));}elseif($_POST["logout"]){if($S&&$_POST["token"]!=$S){page_header(lang(57),lang(63));page_footer("db");exit;}else{foreach(array("pwds","db","dbs","queries")as$x)set_session($x,null);unset_permanent();redirect(substr(preg_replace('~(username|db|ns)=[^&]*&~','',ME),0,-1),lang(64));}}elseif($Ie&&!$_SESSION["pwds"]){session_regenerate_id();$Te=$b->permanentLogin();foreach($Ie
|
||
as$x=>$X){list(,$Ra)=explode(":",$X);list($Db,$M,$V,$m)=array_map('base64_decode',explode("-",$x));$_SESSION["pwds"][$Db][$M][$V]=decrypt_string(base64_decode($Ra),$Te);$_SESSION["db"][$Db][$M][$V][$m]=true;}}function
|
||
unset_permanent(){global$Ie;foreach($Ie
|
||
as$x=>$X){list($Db,$M,$V,$m)=array_map('base64_decode',explode("-",$x));if($Db==DRIVER&&$M==SERVER&&$V==$_GET["username"]&&$m==DB)unset($Ie[$x]);}cookie("adminer_permanent",implode(" ",$Ie));}function
|
||
auth_error($bc=null){global$i,$b,$S;$Gf=session_name();$n="";if(!$_COOKIE[$Gf]&&$_GET[$Gf]&&ini_bool("session.use_only_cookies"))$n=lang(65);elseif(isset($_GET["username"])){if(($_COOKIE[$Gf]||$_GET[$Gf])&&!$S)$n=lang(66);else{$E=&get_session("pwds");if($E!==null){$n=h($bc?$bc->getMessage():(is_string($i)?$i:lang(67)));if($E===false)$n.='<br>'.lang(68,'<code>permanentLogin()</code>');$E=null;}unset_permanent();}}page_header(lang(26),$n,null);echo"<form action='' method='post'>\n";$b->loginForm();echo"<div>";hidden_fields($_POST,array("auth"));echo"</div>\n","</form>\n";page_footer("auth");}if(isset($_GET["username"])){if(!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header(lang(69),lang(70,implode(", ",$Ne)),false);page_footer("auth");exit;}$i=connect();}if(is_string($i)||!$b->login($_GET["username"],get_session("pwds"))){auth_error();exit;}$S=$_SESSION["token"];if($d&&$_POST["token"])$_POST["token"]=$S;$n='';if($_POST){if($_POST["token"]!=$S){$Xc="max_input_vars";$Hd=ini_get($Xc);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$x){$X=ini_get($x);if($X&&(!$Hd||$X<$Hd)){$Xc=$x;$Hd=$X;}}}$n=(!$_POST["token"]&&$Hd?lang(71,"'$Xc'"):lang(63));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$n=lang(72,"'post_max_size'");if(isset($_GET["sql"]))$n.=' '.lang(73);}if(!ini_bool("session.use_cookies")||@ini_set("session.use_cookies",false)!==false){session_cache_limiter("");session_write_close();}function
|
||
connect_error(){global$b,$i,$S,$n,$Eb;$l=array();if(DB!=""){header("HTTP/1.1 404 Not Found");page_header(lang(25).": ".h(DB),lang(74),true);}else{if($_POST["db"]&&!$n)queries_redirect(substr(ME,0,-1),lang(75),drop_databases($_POST["db"]));page_header(lang(76),$n,false);echo"<p><a href='".h(ME)."database='>".lang(77)."</a>\n";foreach(array('privileges'=>lang(54),'processlist'=>lang(78),'variables'=>lang(79),'status'=>lang(80),)as$x=>$X){if(support($x))echo"<a href='".h(ME)."$x='>$X</a>\n";}echo"<p>".lang(81,$Eb[DRIVER],"<b>$i->server_info</b>","<b>$i->extension</b>")."\n","<p>".lang(82,"<b>".h(logged_user())."</b>")."\n";$hf="<a href='".h(ME)."refresh=1'>".lang(83)."</a>\n";$l=$b->databases();if($l){$zf=support("scheme");$Xa=collations();echo"<form action='' method='post'>\n","<table cellspacing='0' class='checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);'>\n","<thead><tr><td> <th>".lang(25)."<td>".lang(84)."<td>".lang(85)."</thead>\n";foreach($l
|
||
as$m){$rf=h(ME)."db=".urlencode($m);echo"<tr".odd()."><td>".checkbox("db[]",$m,in_array($m,(array)$_POST["db"])),"<th><a href='$rf'>".h($m)."</a>","<td><a href='$rf".($zf?"&ns=":"")."&database=' title='".lang(50)."'>".nbsp(db_collation($m,$Xa))."</a>","<td align='right'><a href='$rf&schema=' id='tables-".h($m)."' title='".lang(53)."'>?</a>","\n";}echo"</table>\n","<script type='text/javascript'>tableCheck();</script>\n","<p><input type='submit' name='drop' value='".lang(86)."'".confirm("formChecked(this, /db/)").">\n","<input type='hidden' name='token' value='$S'>\n",$hf,"</form>\n";}else
|
||
echo"<p>$hf";}page_footer("db");if($l)echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=connect');</script>\n";}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(!(DB!=""?$i->select_db(DB):isset($_GET["sql"])||isset($_GET["dump"])||isset($_GET["database"])||isset($_GET["processlist"])||isset($_GET["privileges"])||isset($_GET["user"])||isset($_GET["variables"])||$_GET["script"]=="connect"||$_GET["script"]=="kill")){if(DB!=""||$_GET["refresh"]){restart_session();set_session("dbs",null);}connect_error();exit;}if(support("scheme")&&DB!=""&&$_GET["ns"]!==""){if(!isset($_GET["ns"]))redirect(preg_replace('~ns=[^&]*&~','',ME)."ns=".get_schema());if(!set_schema($_GET["ns"])){header("HTTP/1.1 404 Not Found");page_header(lang(87).": ".h($_GET["ns"]),lang(88),true);page_footer("ns");exit;}}function
|
||
select($H,$j=null,$Nc="",$se=array()){$yd=array();$v=array();$g=array();$Ia=array();$U=array();$I=array();odd('');for($s=0;$J=$H->fetch_row();$s++){if(!$s){echo"<table cellspacing='0' class='nowrap'>\n","<thead><tr>";for($gd=0;$gd<count($J);$gd++){$o=$H->fetch_field();$B=$o->name;$re=$o->orgtable;$qe=$o->orgname;$I[$o->table]=$re;if($Nc)$yd[$gd]=($B=="table"?"table=":($B=="possible_keys"?"indexes=":null));elseif($re!=""){if(!isset($v[$re])){$v[$re]=array();foreach(indexes($re,$j)as$u){if($u["type"]=="PRIMARY"){$v[$re]=array_flip($u["columns"]);break;}}$g[$re]=$v[$re];}if(isset($g[$re][$qe])){unset($g[$re][$qe]);$v[$re][$qe]=$gd;$yd[$gd]=$re;}}if($o->charsetnr==63)$Ia[$gd]=true;$U[$gd]=$o->type;$B=h($B);echo"<th".($re!=""||$o->name!=$qe?" title='".h(($re!=""?"$re.":"").$qe)."'":"").">".($Nc?"<a href='$Nc".strtolower($B)."' target='_blank' rel='noreferrer' class='help'>$B</a>":$B);}echo"</thead>\n";}echo"<tr".odd().">";foreach($J
|
||
as$x=>$X){if($X===null)$X="<i>NULL</i>";elseif($Ia[$x]&&!is_utf8($X))$X="<i>".lang(35,strlen($X))."</i>";elseif(!strlen($X))$X=" ";else{$X=h($X);if($U[$x]==254)$X="<code>$X</code>";}if(isset($yd[$x])&&!$g[$yd[$x]]){if($Nc){$P=$J[array_search("table=",$yd)];$z=$yd[$x].urlencode($se[$P]!=""?$se[$P]:$P);}else{$z="edit=".urlencode($yd[$x]);foreach($v[$yd[$x]]as$Va=>$gd)$z.="&where".urlencode("[".bracket_escape($Va)."]")."=".urlencode($J[$gd]);}$X="<a href='".h(ME.$z)."'>$X</a>";}echo"<td>$X";}}echo($s?"</table>":"<p class='message'>".lang(89))."\n";return$I;}function
|
||
referencable_primary($Bf){$I=array();foreach(table_status('',true)as$Yf=>$P){if($Yf!=$Bf&&fk_support($P)){foreach(fields($Yf)as$o){if($o["primary"]){if($I[$Yf]){unset($I[$Yf]);break;}$I[$Yf]=$o;}}}}return$I;}function
|
||
textarea($B,$Y,$K=10,$Ya=80){echo"<textarea name='$B' rows='$K' cols='$Ya' class='sqlarea' spellcheck='false' wrap='off' onkeydown='return textareaKeydown(this, event);'>";if(is_array($Y)){foreach($Y
|
||
as$X)echo
|
||
h($X[0])."\n\n\n";}else
|
||
echo
|
||
h($Y);echo"</textarea>";}function
|
||
edit_type($x,$o,$Xa,$vc=array()){global$Qf,$U,$Kg,$he;echo'<td><select name="',$x,'[type]" class="type" onfocus="lastType = selectValue(this);" onchange="editingTypeChange(this);">',optionlist((!$o["type"]||isset($U[$o["type"]])?array():array($o["type"]))+$Qf+($vc?array(lang(90)=>$vc):array()),$o["type"]),'</select>
|
||
<td><input name="',$x,'[length]" value="',h($o["length"]),'" size="3" onfocus="editingLengthFocus(this);"><td class="options">';echo"<select name='$x"."[collation]'".(ereg('(char|text|enum|set)$',$o["type"])?"":" class='hidden'").'><option value="">('.lang(91).')'.optionlist($Xa,$o["collation"]).'</select>',($Kg?"<select name='$x"."[unsigned]'".(!$o["type"]||ereg('((^|[^o])int|float|double|decimal)$',$o["type"])?"":" class='hidden'").'><option>'.optionlist($Kg,$o["unsigned"]).'</select>':''),(isset($o['on_update'])?"<select name='$x"."[on_update]'".($o["type"]=="timestamp"?"":" class='hidden'").'>'.optionlist(array(""=>"(".lang(92).")","CURRENT_TIMESTAMP"),$o["on_update"]).'</select>':''),($vc?"<select name='$x"."[on_delete]'".(ereg("`",$o["type"])?"":" class='hidden'")."><option value=''>(".lang(93).")".optionlist(explode("|",$he),$o["on_delete"])."</select> ":" ");}function
|
||
process_length($vd){global$Vb;return(preg_match("~^\\s*(?:$Vb)(?:\\s*,\\s*(?:$Vb))*\\s*\$~",$vd)&&preg_match_all("~$Vb~",$vd,$Bd)?implode(",",$Bd[0]):preg_replace('~[^0-9,+-]~','',$vd));}function
|
||
process_type($o,$Wa="COLLATE"){global$Kg;return" $o[type]".($o["length"]!=""?"(".process_length($o["length"]).")":"").(ereg('(^|[^o])int|float|double|decimal',$o["type"])&&in_array($o["unsigned"],$Kg)?" $o[unsigned]":"").(ereg('char|text|enum|set',$o["type"])&&$o["collation"]?" $Wa ".q($o["collation"]):"");}function
|
||
process_field($o,$Cg){return
|
||
array(idf_escape(trim($o["field"])),process_type($Cg),($o["null"]?" NULL":" NOT NULL"),(isset($o["default"])?" DEFAULT ".((ereg("time",$o["type"])&&eregi('^CURRENT_TIMESTAMP$',$o["default"]))||($o["type"]=="bit"&&ereg("^([0-9]+|b'[0-1]+')\$",$o["default"]))?$o["default"]:q($o["default"])):""),($o["type"]=="timestamp"&&$o["on_update"]?" ON UPDATE $o[on_update]":""),(support("comment")&&$o["comment"]!=""?" COMMENT ".q($o["comment"]):""),($o["auto_increment"]?auto_increment():null),);}function
|
||
type_class($T){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$x=>$X){if(ereg("$x|$X",$T))return" class='$x'";}}function
|
||
edit_fields($p,$Xa,$T="TABLE",$vc=array(),$cb=false){global$i,$Yc;echo'<thead><tr class="wrap">
|
||
';if($T=="PROCEDURE"){echo'<td> ';}echo'<th>',($T=="TABLE"?lang(94):lang(95)),'<td>',lang(96),'<textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;" onblur="editingLengthBlur(this);"></textarea>
|
||
<td>',lang(97),'<td>',lang(98);if($T=="TABLE"){echo'<td>NULL
|
||
<td><input type="radio" name="auto_increment_col" value=""><acronym title="',lang(99),'">AI</acronym>
|
||
<td>',lang(100),(support("comment")?"<td".($cb?"":" class='hidden'").">".lang(101):"");}echo'<td>',"<input type='image' class='icon' name='add[".(support("move_col")?0:count($p))."]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&version=3.7.1' alt='+' title='".lang(102)."'>",'<script type="text/javascript">row_count = ',count($p),';</script>
|
||
</thead>
|
||
<tbody onkeydown="return editingKeydown(event);">
|
||
';foreach($p
|
||
as$s=>$o){$s++;$te=$o[($_POST?"orig":"field")];$Bb=(isset($_POST["add"][$s-1])||(isset($o["field"])&&!$_POST["drop_col"][$s]))&&(support("drop_col")||$te=="");echo'<tr',($Bb?"":" style='display: none;'"),'>
|
||
',($T=="PROCEDURE"?"<td>".adminer_html_select("fields[$s][inout]",explode("|",$Yc),$o["inout"]):""),'<th>';if($Bb){echo'<input name="fields[',$s,'][field]" value="',h($o["field"]),'" onchange="',($o["field"]!=""||count($p)>1?"":"editingAddRow(this); "),'editingNameChange(this);" maxlength="64" autocapitalize="off">';}echo'<input type="hidden" name="fields[',$s,'][orig]" value="',h($te),'">
|
||
';edit_type("fields[$s]",$o,$Xa,$vc);if($T=="TABLE"){echo'<td>',checkbox("fields[$s][null]",1,$o["null"],"","","block"),'<td><label class="block"><input type="radio" name="auto_increment_col" value="',$s,'"';if($o["auto_increment"]){echo' checked';}?> onclick="var field = this.form['fields[' + this.value + '][field]']; if (!field.value) { field.value = 'id'; field.onchange(); }"></label><td><?php
|
||
echo
|
||
checkbox("fields[$s][has_default]",1,$o["has_default"]),'<input name="fields[',$s,'][default]" value="',h($o["default"]),'" onchange="this.previousSibling.checked = true;">
|
||
',(support("comment")?"<td".($cb?"":" class='hidden'")."><input name='fields[$s][comment]' value='".h($o["comment"])."' maxlength='".($i->server_info>=5.5?1024:255)."'>":"");}echo"<td>",(support("move_col")?"<input type='image' class='icon' name='add[$s]' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&version=3.7.1' alt='+' title='".lang(102)."' onclick='return !editingAddRow(this, 1);'> "."<input type='image' class='icon' name='up[$s]' src='".h(preg_replace("~\\?.*~","",ME))."?file=up.gif&version=3.7.1' alt='^' title='".lang(103)."'> "."<input type='image' class='icon' name='down[$s]' src='".h(preg_replace("~\\?.*~","",ME))."?file=down.gif&version=3.7.1' alt='v' title='".lang(104)."'> ":""),($te==""||support("drop_col")?"<input type='image' class='icon' name='drop_col[$s]' src='".h(preg_replace("~\\?.*~","",ME))."?file=cross.gif&version=3.7.1' alt='x' title='".lang(105)."' onclick='return !editingRemoveRow(this);'>":""),"\n";}}function
|
||
process_fields(&$p){ksort($p);$C=0;if($_POST["up"]){$pd=0;foreach($p
|
||
as$x=>$o){if(key($_POST["up"])==$x){unset($p[$x]);array_splice($p,$pd,0,array($o));break;}if(isset($o["field"]))$pd=$C;$C++;}}elseif($_POST["down"]){$xc=false;foreach($p
|
||
as$x=>$o){if(isset($o["field"])&&$xc){unset($p[key($_POST["down"])]);array_splice($p,$C,0,array($xc));break;}if(key($_POST["down"])==$x)$xc=$o;$C++;}}elseif($_POST["add"]){$p=array_values($p);array_splice($p,key($_POST["add"]),0,array(array()));}elseif(!$_POST["drop_col"])return
|
||
false;return
|
||
true;}function
|
||
normalize_enum($A){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($A[0][0].$A[0][0],$A[0][0],substr($A[0],1,-1))),'\\'))."'";}function
|
||
grant($Dc,$Ve,$g,$ge){if(!$Ve)return
|
||
true;if($Ve==array("ALL PRIVILEGES","GRANT OPTION"))return($Dc=="GRANT"?queries("$Dc ALL PRIVILEGES$ge WITH GRANT OPTION"):queries("$Dc ALL PRIVILEGES$ge")&&queries("$Dc GRANT OPTION$ge"));return
|
||
queries("$Dc ".preg_replace('~(GRANT OPTION)\\([^)]*\\)~','\\1',implode("$g, ",$Ve).$g).$ge);}function
|
||
drop_create($Fb,$k,$Gb,$ig,$Hb,$_,$Md,$Kd,$Ld,$de,$Wd){if($_POST["drop"])query_redirect($Fb,$_,$Md);elseif($de=="")query_redirect($k,$_,$Ld);elseif($de!=$Wd){$lb=queries($k);queries_redirect($_,$Kd,$lb&&queries($Fb));if($lb)queries($Gb);}else
|
||
queries_redirect($_,$Kd,queries($ig)&&queries($Hb)&&queries($Fb)&&queries($k));}function
|
||
create_trigger($ge,$J){global$w;$mg=" $J[Timing] $J[Event]";return"CREATE TRIGGER ".idf_escape($J["Trigger"]).($w=="mssql"?$ge.$mg:$mg.$ge).rtrim(" $J[Type]\n$J[Statement]",";").";";}function
|
||
create_routine($sf,$J){global$Yc;$N=array();$p=(array)$J["fields"];ksort($p);foreach($p
|
||
as$o){if($o["field"]!="")$N[]=(ereg("^($Yc)\$",$o["inout"])?"$o[inout] ":"").idf_escape($o["field"]).process_type($o,"CHARACTER SET");}return"CREATE $sf ".idf_escape(trim($J["name"]))." (".implode(", ",$N).")".(isset($_GET["function"])?" RETURNS".process_type($J["returns"],"CHARACTER SET"):"").($J["language"]?" LANGUAGE $J[language]":"").rtrim("\n$J[definition]",";").";";}function
|
||
remove_definer($G){return
|
||
preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\\1)',logged_user()).'`~','\\1',$G);}function
|
||
tar_file($pc,$rg){$I=pack("a100a8a8a8a12a12",$pc,644,0,0,decoct($rg->size),decoct(time()));$Qa=8*32;for($s=0;$s<strlen($I);$s++)$Qa+=ord($I[$s]);$I.=sprintf("%06o",$Qa)."\0 ";echo$I,str_repeat("\0",512-strlen($I));$rg->send();echo
|
||
str_repeat("\0",511-($rg->size+511)%512);}function
|
||
ini_bytes($Xc){$X=ini_get($Xc);switch(strtolower(substr($X,-1))){case'g':$X*=1024;case'm':$X*=1024;case'k':$X*=1024;}return$X;}$he="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";class
|
||
TmpFile{var$handler;var$size;function
|
||
TmpFile(){$this->handler=tmpfile();}function
|
||
write($gb){$this->size+=strlen($gb);fwrite($this->handler,$gb);}function
|
||
send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}$Vb="'(?:''|[^'\\\\]|\\\\.)*+'";$Yc="IN|OUT|INOUT";if(isset($_GET["select"])&&($_POST["edit"]||$_POST["clone"])&&!$_POST["save"])$_GET["edit"]=$_GET["select"];if(isset($_GET["callf"]))$_GET["call"]=$_GET["callf"];if(isset($_GET["function"]))$_GET["procedure"]=$_GET["function"];if(isset($_GET["download"])){$a=$_GET["download"];$p=fields($a);header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$a-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));echo$i->result("SELECT".limit(idf_escape($_GET["field"])." FROM ".table($a)," WHERE ".where($_GET,$p),1));exit;}elseif(isset($_GET["table"])){$a=$_GET["table"];$p=fields($a);if(!$p)$n=error();$Q=table_status1($a,true);page_header(($p&&is_view($Q)?lang(106):lang(107)).": ".h($a),$n);$b->selectLinks($Q);$bb=$Q["Comment"];if($bb!="")echo"<p>".lang(101).": ".h($bb)."\n";if($p){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(108)."<td>".lang(96).(support("comment")?"<td>".lang(101):"")."</thead>\n";foreach($p
|
||
as$o){echo"<tr".odd()."><th>".h($o["field"]),"<td title='".h($o["collation"])."'>".h($o["full_type"]).($o["null"]?" <i>NULL</i>":"").($o["auto_increment"]?" <i>".lang(99)."</i>":""),(isset($o["default"])?" [<b>".h($o["default"])."</b>]":""),(support("comment")?"<td>".nbsp($o["comment"]):""),"\n";}echo"</table>\n";if(!is_view($Q)){echo"<h3 id='indexes'>".lang(109)."</h3>\n";$v=indexes($a);if($v){echo"<table cellspacing='0'>\n";foreach($v
|
||
as$B=>$u){ksort($u["columns"]);$Se=array();foreach($u["columns"]as$x=>$X)$Se[]="<i>".h($X)."</i>".($u["lengths"][$x]?"(".$u["lengths"][$x].")":"").($u["descs"][$x]?" DESC":"");echo"<tr title='".h($B)."'><th>$u[type]<td>".implode(", ",$Se)."\n";}echo"</table>\n";}echo'<p><a href="'.h(ME).'indexes='.urlencode($a).'">'.lang(110)."</a>\n";if(fk_support($Q)){echo"<h3 id='foreign-keys'>".lang(90)."</h3>\n";$vc=foreign_keys($a);if($vc){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(111)."<td>".lang(112)."<td>".lang(93)."<td>".lang(92).($w!="sqlite"?"<td> ":"")."</thead>\n";foreach($vc
|
||
as$B=>$q){echo"<tr title='".h($B)."'>","<th><i>".implode("</i>, <i>",array_map('h',$q["source"]))."</i>","<td><a href='".h($q["db"]!=""?preg_replace('~db=[^&]*~',"db=".urlencode($q["db"]),ME):($q["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($q["ns"]),ME):ME))."table=".urlencode($q["table"])."'>".($q["db"]!=""?"<b>".h($q["db"])."</b>.":"").($q["ns"]!=""?"<b>".h($q["ns"])."</b>.":"").h($q["table"])."</a>","(<i>".implode("</i>, <i>",array_map('h',$q["target"]))."</i>)","<td>".nbsp($q["on_delete"])."\n","<td>".nbsp($q["on_update"])."\n",($w=="sqlite"?"":'<td><a href="'.h(ME.'foreign='.urlencode($a).'&name='.urlencode($B)).'">'.lang(113).'</a>');}echo"</table>\n";}if($w!="sqlite")echo'<p><a href="'.h(ME).'foreign='.urlencode($a).'">'.lang(114)."</a>\n";}if(support("trigger")){echo"<h3 id='triggers'>".lang(115)."</h3>\n";$Bg=triggers($a);if($Bg){echo"<table cellspacing='0'>\n";foreach($Bg
|
||
as$x=>$X)echo"<tr valign='top'><td>$X[0]<td>$X[1]<th>".h($x)."<td><a href='".h(ME.'trigger='.urlencode($a).'&name='.urlencode($x))."'>".lang(113)."</a>\n";echo"</table>\n";}echo'<p><a href="'.h(ME).'trigger='.urlencode($a).'">'.lang(116)."</a>\n";}}}}elseif(isset($_GET["schema"])){page_header(lang(53),"",array(),DB.($_GET["ns"]?".$_GET[ns]":""));$ag=array();$bg=array();$B="adminer_schema";$ea=($_GET["schema"]?$_GET["schema"]:$_COOKIE[($_COOKIE["$B-".DB]?"$B-".DB:$B)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$ea,$Bd,PREG_SET_ORDER);foreach($Bd
|
||
as$s=>$A){$ag[$A[1]]=array($A[2],$A[3]);$bg[]="\n\t'".js_escape($A[1])."': [ $A[2], $A[3] ]";}$tg=0;$Fa=-1;$yf=array();$gf=array();$td=array();foreach(table_status('',true)as$P=>$Q){if(is_view($Q))continue;$Ke=0;$yf[$P]["fields"]=array();foreach(fields($P)as$B=>$o){$Ke+=1.25;$o["pos"]=$Ke;$yf[$P]["fields"][$B]=$o;}$yf[$P]["pos"]=($ag[$P]?$ag[$P]:array($tg,0));foreach($b->foreignKeys($P)as$X){if(!$X["db"]){$rd=$Fa;if($ag[$P][1]||$ag[$X["table"]][1])$rd=min(floatval($ag[$P][1]),floatval($ag[$X["table"]][1]))-1;else$Fa-=.1;while($td[(string)$rd])$rd-=.0001;$yf[$P]["references"][$X["table"]][(string)$rd]=array($X["source"],$X["target"]);$gf[$X["table"]][$P][(string)$rd]=$X["target"];$td[(string)$rd]=true;}}$tg=max($tg,$yf[$P]["pos"][0]+2.5+$Ke);}echo'<div id="schema" style="height: ',$tg,'em;" onselectstart="return false;">
|
||
<script type="text/javascript">
|
||
var tablePos = {',implode(",",$bg)."\n",'};
|
||
var em = document.getElementById(\'schema\').offsetHeight / ',$tg,';
|
||
document.onmousemove = schemaMousemove;
|
||
document.onmouseup = function (ev) {
|
||
schemaMouseup(ev, \'',js_escape(DB),'\');
|
||
};
|
||
</script>
|
||
';foreach($yf
|
||
as$B=>$P){echo"<div class='table' style='top: ".$P["pos"][0]."em; left: ".$P["pos"][1]."em;' onmousedown='schemaMousedown(this, event);'>",'<a href="'.h(ME).'table='.urlencode($B).'"><b>'.h($B)."</b></a>";foreach($P["fields"]as$o){$X='<span'.type_class($o["type"]).' title="'.h($o["full_type"].($o["null"]?" NULL":'')).'">'.h($o["field"]).'</span>';echo"<br>".($o["primary"]?"<i>$X</i>":$X);}foreach((array)$P["references"]as$gg=>$if){foreach($if
|
||
as$rd=>$df){$sd=$rd-$ag[$B][1];$s=0;foreach($df[0]as$If)echo"\n<div class='references' title='".h($gg)."' id='refs$rd-".($s++)."' style='left: $sd"."em; top: ".$P["fields"][$If]["pos"]."em; padding-top: .5em;'><div style='border-top: 1px solid Gray; width: ".(-$sd)."em;'></div></div>";}}foreach((array)$gf[$B]as$gg=>$if){foreach($if
|
||
as$rd=>$g){$sd=$rd-$ag[$B][1];$s=0;foreach($g
|
||
as$fg)echo"\n<div class='references' title='".h($gg)."' id='refd$rd-".($s++)."' style='left: $sd"."em; top: ".$P["fields"][$fg]["pos"]."em; height: 1.25em; background: url(".h(preg_replace("~\\?.*~","",ME))."?file=arrow.gif) no-repeat right center;&version=3.7.1'><div style='height: .5em; border-bottom: 1px solid Gray; width: ".(-$sd)."em;'></div></div>";}}echo"\n</div>\n";}foreach($yf
|
||
as$B=>$P){foreach((array)$P["references"]as$gg=>$if){foreach($if
|
||
as$rd=>$df){$Pd=$tg;$Fd=-10;foreach($df[0]as$x=>$If){$Le=$P["pos"][0]+$P["fields"][$If]["pos"];$Me=$yf[$gg]["pos"][0]+$yf[$gg]["fields"][$df[1][$x]]["pos"];$Pd=min($Pd,$Le,$Me);$Fd=max($Fd,$Le,$Me);}echo"<div class='references' id='refl$rd' style='left: $rd"."em; top: $Pd"."em; padding: .5em 0;'><div style='border-right: 1px solid Gray; margin-top: 1px; height: ".($Fd-$Pd)."em;'></div></div>\n";}}}echo'</div>
|
||
<p><a href="',h(ME."schema=".urlencode($ea)),'" id="schema-link">',lang(117),'</a>
|
||
';}elseif(isset($_GET["dump"])){$a=$_GET["dump"];if($_POST&&!$n){$ib="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$x)$ib.="&$x=".urlencode($_POST[$x]);cookie("adminer_export",substr($ib,1));$R=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$hc=dump_headers((count($R)==1?key($R):DB),(DB==""||count($R)>1));$dd=ereg('sql',$_POST["format"]);if($dd)echo"-- Adminer $ia ".$Eb[DRIVER]." dump
|
||
|
||
".($w!="sql"?"":"SET NAMES utf8;
|
||
".($_POST["data_style"]?"SET foreign_key_checks = 0;
|
||
SET time_zone = ".q(substr(preg_replace('~^[^-]~','+\0',$i->result("SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP)")),0,6)).";
|
||
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
|
||
":"")."
|
||
");$Rf=$_POST["db_style"];$l=array(DB);if(DB==""){$l=$_POST["databases"];if(is_string($l))$l=explode("\n",rtrim(str_replace("\r","",$l),"\n"));}foreach((array)$l
|
||
as$m){$b->dumpDatabase($m);if($i->select_db($m)){if($dd&&ereg('CREATE',$Rf)&&($k=$i->result("SHOW CREATE DATABASE ".idf_escape($m),1))){if($Rf=="DROP+CREATE")echo"DROP DATABASE IF EXISTS ".idf_escape($m).";\n";echo"$k;\n";}if($dd){if($Rf)echo
|
||
use_sql($m).";\n\n";$xe="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$sf){foreach(get_rows("SHOW $sf STATUS WHERE Db = ".q($m),null,"-- ")as$J)$xe.=($Rf!='DROP+CREATE'?"DROP $sf IF EXISTS ".idf_escape($J["Name"]).";;\n":"").remove_definer($i->result("SHOW CREATE $sf ".idf_escape($J["Name"]),2)).";;\n\n";}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$J)$xe.=($Rf!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($J["Name"]).";;\n":"").remove_definer($i->result("SHOW CREATE EVENT ".idf_escape($J["Name"]),3)).";;\n\n";}if($xe)echo"DELIMITER ;;\n\n$xe"."DELIMITER ;\n\n";}if($_POST["table_style"]||$_POST["data_style"]){$Wg=array();foreach(table_status('',true)as$B=>$Q){$P=(DB==""||in_array($B,(array)$_POST["tables"]));$ob=(DB==""||in_array($B,(array)$_POST["data"]));if($P||$ob){if($hc=="tar"){$rg=new
|
||
TmpFile;ob_start(array($rg,'write'),1e5);}$b->dumpTable($B,($P?$_POST["table_style"]:""),(is_view($Q)?2:0));if(is_view($Q))$Wg[]=$B;elseif($ob){$p=fields($B);$b->dumpData($B,$_POST["data_style"],"SELECT *".convert_fields($p,$p)." FROM ".table($B));}if($dd&&$_POST["triggers"]&&$P&&($Bg=trigger_sql($B,$_POST["table_style"])))echo"\nDELIMITER ;;\n$Bg\nDELIMITER ;\n";if($hc=="tar"){ob_end_flush();tar_file((DB!=""?"":"$m/")."$B.csv",$rg);}elseif($dd)echo"\n";}}foreach($Wg
|
||
as$Vg)$b->dumpTable($Vg,$_POST["table_style"],1);if($hc=="tar")echo
|
||
pack("x512");}}}if($dd)echo"-- ".$i->result("SELECT NOW()")."\n";exit;}page_header(lang(118),$n,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),DB);echo'
|
||
<form action="" method="post">
|
||
<table cellspacing="0">
|
||
';$sb=array('','USE','DROP+CREATE','CREATE');$cg=array('','DROP+CREATE','CREATE');$pb=array('','TRUNCATE+INSERT','INSERT');if($w=="sql")$pb[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$J);if(!$J)$J=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($J["events"])){$J["routines"]=$J["events"]=($_GET["dump"]=="");$J["triggers"]=$J["table_style"];}echo"<tr><th>".lang(119)."<td>".adminer_html_select("output",$b->dumpOutput(),$J["output"],0)."\n";echo"<tr><th>".lang(120)."<td>".adminer_html_select("format",$b->dumpFormat(),$J["format"],0)."\n";echo($w=="sqlite"?"":"<tr><th>".lang(25)."<td>".adminer_html_select('db_style',$sb,$J["db_style"]).(support("routine")?checkbox("routines",1,$J["routines"],lang(121)):"").(support("event")?checkbox("events",1,$J["events"],lang(122)):"")),"<tr><th>".lang(85)."<td>".adminer_html_select('table_style',$cg,$J["table_style"]).checkbox("auto_increment",1,$J["auto_increment"],lang(99)).(support("trigger")?checkbox("triggers",1,$J["triggers"],lang(115)):""),"<tr><th>".lang(123)."<td>".adminer_html_select('data_style',$pb,$J["data_style"]),'</table>
|
||
<p><input type="submit" value="',lang(118),'">
|
||
<input type="hidden" name="token" value="',$S,'">
|
||
|
||
<table cellspacing="0">
|
||
';$Pe=array();if(DB!=""){$Pa=($a!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$Pa onclick='formCheck(this, /^tables\\[/);'>".lang(85)."</label>","<th style='text-align: right;'><label class='block'>".lang(123)."<input type='checkbox' id='check-data'$Pa onclick='formCheck(this, /^data\\[/);'></label>","</thead>\n";$Wg="";$dg=tables_list();foreach($dg
|
||
as$B=>$T){$Oe=ereg_replace("_.*","",$B);$Pa=($a==""||$a==(substr($a,-1)=="%"?"$Oe%":$B));$Se="<tr><td>".checkbox("tables[]",$B,$Pa,$B,"checkboxClick(event, this); formUncheck('check-tables');","block");if($T!==null&&!eregi("table",$T))$Wg.="$Se\n";else
|
||
echo"$Se<td align='right'><label class='block'><span id='Rows-".h($B)."'></span>".checkbox("data[]",$B,$Pa,"","checkboxClick(event, this); formUncheck('check-data');")."</label>\n";$Pe[$Oe]++;}echo$Wg;if($dg)echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=db');</script>\n";}else{echo"<thead><tr><th style='text-align: left;'><label class='block'><input type='checkbox' id='check-databases'".($a==""?" checked":"")." onclick='formCheck(this, /^databases\\[/);'>".lang(25)."</label></thead>\n";$l=$b->databases();if($l){foreach($l
|
||
as$m){if(!information_schema($m)){$Oe=ereg_replace("_.*","",$m);echo"<tr><td>".checkbox("databases[]",$m,$a==""||$a=="$Oe%",$m,"formUncheck('check-databases');","block")."\n";$Pe[$Oe]++;}}}else
|
||
echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}echo'</table>
|
||
</form>
|
||
';$rc=true;foreach($Pe
|
||
as$x=>$X){if($x!=""&&$X>1){echo($rc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$x%")."'>".h($x)."</a>";$rc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(54));$H=$i->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$Dc=$H;if(!$H)$H=$i->query("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host");echo"<form action=''><p>\n";hidden_fields_get();echo"<input type='hidden' name='db' value='".h(DB)."'>\n",($Dc?"":"<input type='hidden' name='grant' value=''>\n"),"<table cellspacing='0'>\n","<thead><tr><th>".lang(23)."<th>".lang(22)."<th> </thead>\n";while($J=$H->fetch_assoc())echo'<tr'.odd().'><td>'.h($J["User"])."<td>".h($J["Host"]).'<td><a href="'.h(ME.'user='.urlencode($J["User"]).'&host='.urlencode($J["Host"])).'">'.lang(34)."</a>\n";if(!$Dc||DB!="")echo"<tr".odd()."><td><input name='user' autocapitalize='off'><td><input name='host' value='localhost' autocapitalize='off'><td><input type='submit' value='".lang(34)."'>\n";echo"</table>\n","</form>\n",'<p><a href="'.h(ME).'user=">'.lang(124)."</a>";}elseif(isset($_GET["sql"])){if(!$n&&$_POST["export"]){dump_headers("sql");$b->dumpTable("","");$b->dumpData("","table",$_POST["query"]);exit;}restart_session();$Lc=&get_session("queries");$Kc=&$Lc[DB];if(!$n&&$_POST["clear"]){$Kc=array();redirect(remove_from_uri("history"));}page_header(lang(47),$n);if(!$n&&$_POST){$zc=false;$G=$_POST["query"];if($_POST["webfile"]){$zc=@fopen((file_exists("adminer.sql")?"adminer.sql":"compress.zlib://adminer.sql.gz"),"rb");$G=($zc?fread($zc,1e6):false);}elseif($_FILES&&$_FILES["sql_file"]["error"][0]!=4)$G=get_file("sql_file",true);if(is_string($G)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($G)+memory_get_usage()+8e6));if($G!=""&&strlen($G)<1e6){$F=$G.(ereg(";[ \t\r\n]*\$",$G)?"":";");if(!$Kc||reset(end($Kc))!=$F){restart_session();$Kc[]=array($F,time());set_session("queries",$Lc);stop_session();}}$Jf="(?:\\s|/\\*.*\\*/|(?:#|-- )[^\n]*\n|--\n)";$wb=";";$C=0;$Rb=true;$j=connect();if(is_object($j)&&DB!="")$j->select_db(DB);$ab=0;$Xb=array();$xd=0;$Be='[\'"'.($w=="sql"?'`#':($w=="sqlite"?'`[':($w=="mssql"?'[':''))).']|/\\*|-- |$'.($w=="pgsql"?'|\\$[^$]*\\$':'');$ug=microtime();parse_str($_COOKIE["adminer_export"],$qa);$Jb=$b->dumpFormat();unset($Jb["sql"]);while($G!=""){if(!$C&&preg_match("~^$Jf*DELIMITER\\s+(\\S+)~i",$G,$A)){$wb=$A[1];$G=substr($G,strlen($A[0]));}else{preg_match('('.preg_quote($wb)."\\s*|$Be)",$G,$A,PREG_OFFSET_CAPTURE,$C);list($xc,$Ke)=$A[0];if(!$xc&&$zc&&!feof($zc))$G.=fread($zc,1e5);else{if(!$xc&&rtrim($G)=="")break;$C=$Ke+strlen($xc);if($xc&&rtrim($xc)!=$wb){while(preg_match('('.($xc=='/*'?'\\*/':($xc=='['?']':(ereg('^-- |^#',$xc)?"\n":preg_quote($xc)."|\\\\."))).'|$)s',$G,$A,PREG_OFFSET_CAPTURE,$C)){$wf=$A[0][0];if(!$wf&&$zc&&!feof($zc))$G.=fread($zc,1e5);else{$C=$A[0][1]+strlen($wf);if($wf[0]!="\\")break;}}}else{$Rb=false;$F=substr($G,0,$Ke);$ab++;$Se="<pre id='sql-$ab'><code class='jush-$w'>".shorten_utf8(trim($F),1000)."</code></pre>\n";if(!$_POST["only_errors"]){echo$Se;ob_flush();flush();}$Mf=microtime();if($i->multi_query($F)&&is_object($j)&&preg_match("~^$Jf*USE\\b~isU",$F))$j->query($F);do{$H=$i->store_result();$Sb=microtime();$lg=" <span class='time'>(".format_time($Mf,$Sb).")</span>".(strlen($F)<1000?" <a href='".h(ME)."sql=".urlencode(trim($F))."'>".lang(34)."</a>":"");if($i->error){echo($_POST["only_errors"]?$Se:""),"<p class='error'>".lang(125).($i->errno?" ($i->errno)":"").": ".error()."\n";$Xb[]=" <a href='#sql-$ab'>$ab</a>";if($_POST["error_stops"])break
|
||
2;}elseif(is_object($H)){$se=select($H,$j);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n","<p>".($H->num_rows?lang(126,$H->num_rows):"").$lg;$Oc="export-$ab";$gc=", <a href='#$Oc' onclick=\"return !toggle('$Oc');\">".lang(118)."</a><span id='$Oc' class='hidden'>: ".adminer_html_select("output",$b->dumpOutput(),$qa["output"])." ".adminer_html_select("format",$Jb,$qa["format"])."<input type='hidden' name='query' value='".h($F)."'>"." <input type='submit' name='export' value='".lang(118)."'><input type='hidden' name='token' value='$S'></span>\n";if($j&&preg_match("~^($Jf|\\()*SELECT\\b~isU",$F)&&($fc=explain($j,$F))){$Oc="explain-$ab";echo", <a href='#$Oc' onclick=\"return !toggle('$Oc');\">EXPLAIN</a>$gc","<div id='$Oc' class='hidden'>\n";select($fc,$j,($w=="sql"?"http://dev.mysql.com/doc/refman/".substr($i->server_info,0,3)."/en/explain-output.html#explain_":""),$se);echo"</div>\n";}else
|
||
echo$gc;echo"</form>\n";}}else{if(preg_match("~^$Jf*(CREATE|DROP|ALTER)$Jf+(DATABASE|SCHEMA)\\b~isU",$F)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"<p class='message' title='".h($i->info)."'>".lang(127,$i->affected_rows)."$lg\n";}$Mf=$Sb;}while($i->next_result());$xd+=substr_count($F.$xc,"\n");$G=substr($G,$C);$C=0;}}}}if($Rb)echo"<p class='message'>".lang(128)."\n";elseif($_POST["only_errors"]){echo"<p class='message'>".lang(129,$ab-count($Xb))," <span class='time'>(".format_time($ug,microtime()).")</span>\n";}elseif($Xb&&$ab>1)echo"<p class='error'>".lang(125).": ".implode("",$Xb)."\n";}else
|
||
echo"<p class='error'>".upload_error($G)."\n";}echo'
|
||
<form action="" method="post" enctype="multipart/form-data" id="form">
|
||
<p>';$F=$_GET["sql"];if($_POST)$F=$_POST["query"];elseif($_GET["history"]=="all")$F=$Kc;elseif($_GET["history"]!="")$F=$Kc[$_GET["history"]][0];textarea("query",$F,20);echo($_POST?"":"<script type='text/javascript'>focus(document.getElementsByTagName('textarea')[0]);</script>\n"),"<p>".(ini_bool("file_uploads")?lang(130).': <input type="file" name="sql_file[]" multiple'.($_FILES&&$_FILES["sql_file"]["error"][0]!=4?'':' onchange="this.form[\'only_errors\'].checked = true;"').'> (< '.ini_get("upload_max_filesize").'B)':lang(131)),'<p>
|
||
<input type="submit" value="',lang(33),'" title="Ctrl+Enter">
|
||
',checkbox("error_stops",1,$_POST["error_stops"],lang(132))."\n",checkbox("only_errors",1,$_POST["only_errors"],lang(133))."\n";print_fieldset("webfile",lang(134),$_POST["webfile"],"document.getElementById('form')['only_errors'].checked = true; ");echo
|
||
lang(135,"<code>adminer.sql".(extension_loaded("zlib")?"[.gz]":"")."</code>"),' <input type="submit" name="webfile" value="'.lang(136).'">',"</div></fieldset>\n";if($Kc){print_fieldset("history",lang(137),$_GET["history"]!="");for($X=end($Kc);$X;$X=prev($Kc)){$x=key($Kc);list($F,$lg)=$X;echo'<a href="'.h(ME."sql=&history=$x").'">'.lang(34)."</a> <span class='time' title='".@date('Y-m-d',$lg)."'>".@date("H:i:s",$lg)."</span> <code class='jush-$w'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$F)))),80,"</code>")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(138)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(139)."</a>\n","</div></fieldset>\n";}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$p=fields($a);$Z=(isset($_GET["select"])?(count($_POST["check"])==1?where_check($_POST["check"][0],$p):""):where($_GET,$p));$Lg=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($p
|
||
as$B=>$o){if(!isset($o["privileges"][$Lg?"update":"insert"])||$b->fieldName($o)=="")unset($p[$B]);}if($_POST&&!$n&&!isset($_GET["select"])){$_=$_POST["referer"];if($_POST["insert"])$_=($Lg?null:$_SERVER["REQUEST_URI"]);elseif(!ereg('^.+&select=.+$',$_))$_=ME."select=".urlencode($a);$v=indexes($a);$Gg=unique_array($_GET["where"],$v);$af="\nWHERE $Z";if(isset($_POST["delete"])){$G="FROM ".table($a);query_redirect("DELETE".($Gg?" $G$af":limit1($G,$af)),$_,lang(140));}else{$N=array();foreach($p
|
||
as$B=>$o){$X=process_input($o);if($X!==false&&$X!==null)$N[idf_escape($B)]=($Lg?"\n".idf_escape($B)." = $X":$X);}if($Lg){if(!$N)redirect($_);$G=table($a)." SET".implode(",",$N);query_redirect("UPDATE".($Gg?" $G$af":limit1($G,$af)),$_,lang(141));}else{$H=insert_into($a,$N);$qd=($H?last_id():0);queries_redirect($_,lang(142,($qd?" $qd":"")),$H);}}}$Yf=$b->tableName(table_status1($a,true));page_header(($Lg?lang(34):lang(143)),$n,array("select"=>array($a,$Yf)),$Yf);$J=null;if($_POST["save"])$J=(array)$_POST["fields"];elseif($Z){$L=array();foreach($p
|
||
as$B=>$o){if(isset($o["privileges"]["select"])){$ya=convert_field($o);if($_POST["clone"]&&$o["auto_increment"])$ya="''";if($w=="sql"&&ereg("enum|set",$o["type"]))$ya="1*".idf_escape($B);$L[]=($ya?"$ya AS ":"").idf_escape($B);}}$J=array();if($L){$K=get_rows("SELECT".limit(implode(", ",$L)." FROM ".table($a)," WHERE $Z",(isset($_GET["select"])?2:1)));$J=(isset($_GET["select"])&&count($K)!=1?null:reset($K));}}if($J===false)echo"<p class='error'>".lang(89)."\n";echo'
|
||
<form action="" method="post" enctype="multipart/form-data" id="form">
|
||
';if(!$p)echo"<p class='error'>".lang(144)."\n";else{echo"<table cellspacing='0' onkeydown='return editingKeydown(event);'>\n";foreach($p
|
||
as$B=>$o){echo"<tr><th>".$b->fieldName($o);$vb=$_GET["set"][bracket_escape($B)];if($vb===null){$vb=$o["default"];if($o["type"]=="bit"&&ereg("^b'([01]*)'\$",$vb,$jf))$vb=$jf[1];}$Y=($J!==null?($J[$B]!=""&&$w=="sql"&&ereg("enum|set",$o["type"])?(is_array($J[$B])?array_sum($J[$B]):+$J[$B]):$J[$B]):(!$Lg&&$o["auto_increment"]?"":(isset($_GET["select"])?false:$vb)));if(!$_POST["save"]&&is_string($Y))$Y=$b->editVal($Y,$o);$r=($_POST["save"]?(string)$_POST["function"][$B]:($Lg&&$o["on_update"]=="CURRENT_TIMESTAMP"?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(ereg("time",$o["type"])&&$Y=="CURRENT_TIMESTAMP"){$Y="";$r="now";}input($o,$Y,$r);echo"\n";}echo"</table>\n";}echo'<p>
|
||
';if($p){echo"<input type='submit' value='".lang(145)."'>\n";if(!isset($_GET["select"]))echo"<input type='submit' name='insert' value='".($Lg?lang(146):lang(147))."' title='Ctrl+Shift+Enter'>\n";}echo($Lg?"<input type='submit' name='delete' value='".lang(148)."' onclick=\"return confirm('".lang(0)."');\">\n":($_POST||!$p?"":"<script type='text/javascript'>focus(document.getElementById('form').getElementsByTagName('td')[1].firstChild);</script>\n"));if(isset($_GET["select"]))hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));echo'<input type="hidden" name="referer" value="',h(isset($_POST["referer"])?$_POST["referer"]:$_SERVER["HTTP_REFERER"]),'">
|
||
<input type="hidden" name="save" value="1">
|
||
<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["create"])){$a=$_GET["create"];$Ce=array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST');$ff=referencable_primary($a);$vc=array();foreach($ff
|
||
as$Yf=>$o)$vc[str_replace("`","``",$Yf)."`".str_replace("`","``",$o["field"])]=$Yf;$ve=array();$Q=array();if($a!=""){$ve=fields($a);$Q=table_status($a);if(!$Q)$n=lang(7);}$J=$_POST;$J["fields"]=(array)$J["fields"];if($J["auto_increment_col"])$J["fields"][$J["auto_increment_col"]]["auto_increment"]=true;if($_POST&&!process_fields($J["fields"])&&!$n){if($_POST["drop"])query_redirect("DROP TABLE ".table($a),substr(ME,0,-1),lang(149));else{$p=array();$wa=array();$Ng=false;$tc=array();ksort($J["fields"]);$ue=reset($ve);$ua=" FIRST";foreach($J["fields"]as$x=>$o){$q=$vc[$o["type"]];$Cg=($q!==null?$ff[$q]:$o);if($o["field"]!=""){if(!$o["has_default"])$o["default"]=null;if($x==$J["auto_increment_col"])$o["auto_increment"]=true;$Xe=process_field($o,$Cg);$wa[]=array($o["orig"],$Xe,$ua);if($Xe!=process_field($ue,$ue)){$p[]=array($o["orig"],$Xe,$ua);if($o["orig"]!=""||$ua)$Ng=true;}if($q!==null)$tc[idf_escape($o["field"])]=($a!=""&&$w!="sqlite"?"ADD":" ")." FOREIGN KEY (".idf_escape($o["field"]).") REFERENCES ".table($vc[$o["type"]])." (".idf_escape($Cg["field"]).")".(ereg("^($he)\$",$o["on_delete"])?" ON DELETE $o[on_delete]":"");$ua=" AFTER ".idf_escape($o["field"]);}elseif($o["orig"]!=""){$Ng=true;$p[]=array($o["orig"]);}if($o["orig"]!=""){$ue=next($ve);if(!$ue)$ua="";}}$Ee="";if(in_array($J["partition_by"],$Ce)){$Fe=array();if($J["partition_by"]=='RANGE'||$J["partition_by"]=='LIST'){foreach(array_filter($J["partition_names"])as$x=>$X){$Y=$J["partition_values"][$x];$Fe[]="\n PARTITION ".idf_escape($X)." VALUES ".($J["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$Ee.="\nPARTITION BY $J[partition_by]($J[partition])".($Fe?" (".implode(",",$Fe)."\n)":($J["partitions"]?" PARTITIONS ".(+$J["partitions"]):""));}elseif(support("partitioning")&&ereg("partitioned",$Q["Create_options"]))$Ee.="\nREMOVE PARTITIONING";$Jd=lang(150);if($a==""){cookie("adminer_engine",$J["Engine"]);$Jd=lang(151);}$B=trim($J["name"]);queries_redirect(ME."table=".urlencode($B),$Jd,alter_table($a,$B,($w=="sqlite"&&($Ng||$tc)?$wa:$p),$tc,$J["Comment"],($J["Engine"]&&$J["Engine"]!=$Q["Engine"]?$J["Engine"]:""),($J["Collation"]&&$J["Collation"]!=$Q["Collation"]?$J["Collation"]:""),($J["Auto_increment"]!=""?+$J["Auto_increment"]:""),$Ee));}}page_header(($a!=""?lang(31):lang(152)),$n,array("table"=>$a),$a);if(!$_POST){$J=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($U["int"])?"int":(isset($U["integer"])?"integer":"")))),"partition_names"=>array(""),);if($a!=""){$J=$Q;$J["name"]=$a;$J["fields"]=array();if(!$_GET["auto_increment"])$J["Auto_increment"]="";foreach($ve
|
||
as$o){$o["has_default"]=isset($o["default"]);$J["fields"][]=$o;}if(support("partitioning")){$_c="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($a);$H=$i->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $_c ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($J["partition_by"],$J["partitions"],$J["partition"])=$H->fetch_row();$Fe=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $_c AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$Fe[""]="";$J["partition_names"]=array_keys($Fe);$J["partition_values"]=array_values($Fe);}}}$Xa=collations();$Ub=engines();foreach($Ub
|
||
as$Tb){if(!strcasecmp($Tb,$J["Engine"])){$J["Engine"]=$Tb;break;}}echo'
|
||
<form action="" method="post" id="form">
|
||
<p>
|
||
',lang(153),': <input name="name" maxlength="64" value="',h($J["name"]),'" autocapitalize="off">
|
||
';if($a==""&&!$_POST){?><script type='text/javascript'>focus(document.getElementById('form')['name']);</script><?php }echo($Ub?adminer_html_select("Engine",array(""=>"(".lang(154).")")+$Ub,$J["Engine"]):""),' ',($Xa&&!ereg("sqlite|mssql",$w)?adminer_html_select("Collation",array(""=>"(".lang(91).")")+$Xa,$J["Collation"]):""),' <input type="submit" value="',lang(145),'">
|
||
<table cellspacing="0" id="edit-fields" class="nowrap">
|
||
';$cb=($_POST?$_POST["comments"]:$J["Comment"]!="");if(!$_POST&&!$cb){foreach($J["fields"]as$o){if($o["comment"]!=""){$cb=true;break;}}}edit_fields($J["fields"],$Xa,"TABLE",$vc,$cb);echo'</table>
|
||
<p>
|
||
',lang(99),': <input type="number" name="Auto_increment" size="6" value="',h($J["Auto_increment"]),'">
|
||
',checkbox("defaults",1,true,lang(100),"columnShow(this.checked, 5)","jsonly");if(!$_POST["defaults"]){echo'<script type="text/javascript">editingHideDefaults()</script>';}echo(support("comment")?"<label><input type='checkbox' name='comments' value='1' class='jsonly' onclick=\"columnShow(this.checked, 6); toggle('Comment'); if (this.checked) this.form['Comment'].focus();\"".($cb?" checked":"").">".lang(101)."</label>".' <input name="Comment" id="Comment" value="'.h($J["Comment"]).'" maxlength="'.($i->server_info>=5.5?2048:60).'"'.($cb?'':' class="hidden"').'>':''),'<p>
|
||
<input type="submit" value="',lang(145),'">
|
||
';if($_GET["create"]!=""){echo'<input type="submit" name="drop" value="',lang(86),'"',confirm(),'>';}if(support("partitioning")){$De=ereg('RANGE|LIST',$J["partition_by"]);print_fieldset("partition",lang(155),$J["partition_by"]);echo'<p>
|
||
',adminer_html_select("partition_by",array(-1=>"")+$Ce,$J["partition_by"],"partitionByChange(this);"),'(<input name="partition" value="',h($J["partition"]),'">)
|
||
',lang(156),': <input type="number" name="partitions" class="size" value="',h($J["partitions"]),'"',($De||!$J["partition_by"]?" class='hidden'":""),'>
|
||
<table cellspacing="0" id="partition-table"',($De?"":" class='hidden'"),'>
|
||
<thead><tr><th>',lang(157),'<th>',lang(158),'</thead>
|
||
';foreach($J["partition_names"]as$x=>$X){echo'<tr>','<td><input name="partition_names[]" value="'.h($X).'"'.($x==count($J["partition_names"])-1?' onchange="partitionNameChange(this);"':'').' autocapitalize="off">','<td><input name="partition_values[]" value="'.h($J["partition_values"][$x]).'">';}echo'</table>
|
||
</div></fieldset>
|
||
';}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$Tc=array("PRIMARY","UNIQUE","INDEX");$Q=table_status($a,true);if(eregi("MyISAM|M?aria".($i->server_info>=5.6?"|InnoDB":""),$Q["Engine"]))$Tc[]="FULLTEXT";$v=indexes($a);if($w=="sqlite"){unset($Tc[0]);unset($v[""]);}$J=$_POST;if($_POST&&!$n&&!$_POST["add"]){$c=array();foreach($J["indexes"]as$u){$B=$u["name"];if(in_array($u["type"],$Tc)){$g=array();$wd=array();$yb=array();$N=array();ksort($u["columns"]);foreach($u["columns"]as$x=>$f){if($f!=""){$vd=$u["lengths"][$x];$xb=$u["descs"][$x];$N[]=idf_escape($f).($vd?"(".(+$vd).")":"").($xb?" DESC":"");$g[]=$f;$wd[]=($vd?$vd:null);$yb[]=$xb;}}if($g){$ec=$v[$B];if($ec){ksort($ec["columns"]);ksort($ec["lengths"]);ksort($ec["descs"]);if($u["type"]==$ec["type"]&&array_values($ec["columns"])===$g&&(!$ec["lengths"]||array_values($ec["lengths"])===$wd)&&array_values($ec["descs"])===$yb){unset($v[$B]);continue;}}$c[]=array($u["type"],$B,"(".implode(", ",$N).")");}}}foreach($v
|
||
as$B=>$ec)$c[]=array($ec["type"],$B,"DROP");if(!$c)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),lang(159),alter_indexes($a,$c));}page_header(lang(109),$n,array("table"=>$a),$a);$p=array_keys(fields($a));if($_POST["add"]){foreach($J["indexes"]as$x=>$u){if($u["columns"][count($u["columns"])]!="")$J["indexes"][$x]["columns"][]="";}$u=end($J["indexes"]);if($u["type"]||array_filter($u["columns"],'strlen')||array_filter($u["lengths"],'strlen')||array_filter($u["descs"]))$J["indexes"][]=array("columns"=>array(1=>""));}if(!$J){foreach($v
|
||
as$x=>$u){$v[$x]["name"]=$x;$v[$x]["columns"][]="";}$v[]=array("columns"=>array(1=>""));$J["indexes"]=$v;}echo'
|
||
<form action="" method="post">
|
||
<table cellspacing="0" class="nowrap">
|
||
<thead><tr><th>',lang(160),'<th>',lang(161),'<th>',lang(162),'</thead>
|
||
';$gd=1;foreach($J["indexes"]as$u){echo"<tr><td>".adminer_html_select("indexes[$gd][type]",array(-1=>"")+$Tc,$u["type"],($gd==count($J["indexes"])?"indexesAddRow(this);":1))."<td>";ksort($u["columns"]);$s=1;foreach($u["columns"]as$x=>$f){echo"<span>".adminer_html_select("indexes[$gd][columns][$s]",array(-1=>"")+$p,$f,($s==count($u["columns"])?"indexesAddColumn":"indexesChangeColumn")."(this, '".js_escape($w=="sql"?"":$_GET["indexes"]."_")."');"),($w=="sql"||$w=="mssql"?"<input type='number' name='indexes[$gd][lengths][$s]' class='size' value='".h($u["lengths"][$x])."'>":""),($w!="sql"?checkbox("indexes[$gd][descs][$s]",1,$u["descs"][$x],lang(42)):"")," </span>";$s++;}echo"<td><input name='indexes[$gd][name]' value='".h($u["name"])."' autocapitalize='off'>\n";$gd++;}echo'</table>
|
||
<p>
|
||
<input type="submit" value="',lang(145),'">
|
||
<noscript><p><input type="submit" name="add" value="',lang(102),'"></noscript>
|
||
<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["database"])){$J=$_POST;if($_POST&&!$n&&!isset($_POST["add_x"])){restart_session();$B=trim($J["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(163),drop_databases(array(DB)));}elseif(DB!==$B){if(DB!=""){$_GET["db"]=$B;queries_redirect(preg_replace('~db=[^&]*&~','',ME)."db=".urlencode($B),lang(164),rename_database($B,$J["collation"]));}else{$l=explode("\n",str_replace("\r","",$B));$Sf=true;$pd="";foreach($l
|
||
as$m){if(count($l)==1||$m!=""){if(!create_database($m,$J["collation"]))$Sf=false;$pd=$m;}}queries_redirect(ME."db=".urlencode($pd),lang(165),$Sf);}}else{if(!$J["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($B).(eregi('^[a-z0-9_]+$',$J["collation"])?" COLLATE $J[collation]":""),substr(ME,0,-1),lang(166));}}page_header(DB!=""?lang(50):lang(167),$n,array(),DB);$Xa=collations();$B=DB;if($_POST)$B=$J["name"];elseif(DB!="")$J["collation"]=db_collation(DB,$Xa);elseif($w=="sql"){foreach(get_vals("SHOW GRANTS")as$Dc){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\\.\\*)?~',$Dc,$A)&&$A[1]){$B=stripcslashes(idf_unescape("`$A[2]`"));break;}}}echo'
|
||
<form action="" method="post">
|
||
<p>
|
||
',($_POST["add_x"]||strpos($B,"\n")?'<textarea id="name" name="name" rows="10" cols="40">'.h($B).'</textarea><br>':'<input name="name" id="name" value="'.h($B).'" maxlength="64" autocapitalize="off">')."\n".($Xa?adminer_html_select("collation",array(""=>"(".lang(91).")")+$Xa,$J["collation"]):"");?>
|
||
<script type='text/javascript'>focus(document.getElementById('name'));</script>
|
||
<input type="submit" value="<?php echo
|
||
lang(145),'">
|
||
';if(DB!="")echo"<input type='submit' name='drop' value='".lang(86)."'".confirm().">\n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo"<input type='image' name='add' src='".h(preg_replace("~\\?.*~","",ME))."?file=plus.gif&version=3.7.1' alt='+' title='".lang(102)."'>\n";echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["scheme"])){$J=$_POST;if($_POST&&!$n){$z=preg_replace('~ns=[^&]*&~','',ME)."ns=";if($_POST["drop"])query_redirect("DROP SCHEMA ".idf_escape($_GET["ns"]),$z,lang(168));else{$B=trim($J["name"]);$z.=urlencode($B);if($_GET["ns"]=="")query_redirect("CREATE SCHEMA ".idf_escape($B),$z,lang(169));elseif($_GET["ns"]!=$B)query_redirect("ALTER SCHEMA ".idf_escape($_GET["ns"])." RENAME TO ".idf_escape($B),$z,lang(170));else
|
||
redirect($z);}}page_header($_GET["ns"]!=""?lang(51):lang(52),$n);if(!$J)$J["name"]=$_GET["ns"];echo'
|
||
<form action="" method="post">
|
||
<p><input name="name" id="name" value="',h($J["name"]);?>" autocapitalize="off">
|
||
<script type='text/javascript'>focus(document.getElementById('name'));</script>
|
||
<input type="submit" value="<?php echo
|
||
lang(145),'">
|
||
';if($_GET["ns"]!="")echo"<input type='submit' name='drop' value='".lang(86)."'".confirm().">\n";echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["call"])){$da=$_GET["call"];page_header(lang(171).": ".h($da),$n);$sf=routine($da,(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Rc=array();$xe=array();foreach($sf["fields"]as$s=>$o){if(substr($o["inout"],-3)=="OUT")$xe[$s]="@".idf_escape($o["field"])." AS ".idf_escape($o["field"]);if(!$o["inout"]||substr($o["inout"],0,2)=="IN")$Rc[]=$s;}if(!$n&&$_POST){$Ma=array();foreach($sf["fields"]as$x=>$o){if(in_array($x,$Rc)){$X=process_input($o);if($X===false)$X="''";if(isset($xe[$x]))$i->query("SET @".idf_escape($o["field"])." = $X");}$Ma[]=(isset($xe[$x])?"@".idf_escape($o["field"]):$X);}$G=(isset($_GET["callf"])?"SELECT":"CALL")." ".idf_escape($da)."(".implode(", ",$Ma).")";echo"<p><code class='jush-$w'>".h($G)."</code> <a href='".h(ME)."sql=".urlencode($G)."'>".lang(34)."</a>\n";if(!$i->multi_query($G))echo"<p class='error'>".error()."\n";else{$j=connect();if(is_object($j))$j->select_db(DB);do{$H=$i->store_result();if(is_object($H))select($H,$j);else
|
||
echo"<p class='message'>".lang(172,$i->affected_rows)."\n";}while($i->next_result());if($xe)select($i->query("SELECT ".implode(", ",$xe)));}}echo'
|
||
<form action="" method="post">
|
||
';if($Rc){echo"<table cellspacing='0'>\n";foreach($Rc
|
||
as$x){$o=$sf["fields"][$x];$B=$o["field"];echo"<tr><th>".$b->fieldName($o);$Y=$_POST["fields"][$B];if($Y!=""){if($o["type"]=="enum")$Y=+$Y;if($o["type"]=="set")$Y=array_sum($Y);}input($o,$Y,(string)$_POST["function"][$B]);echo"\n";}echo"</table>\n";}echo'<p>
|
||
<input type="submit" value="',lang(171),'">
|
||
<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$B=$_GET["name"];$J=$_POST;if($_POST&&!$n&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){if($_POST["drop"])query_redirect("ALTER TABLE ".table($a)."\nDROP ".($w=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($B),ME."table=".urlencode($a),lang(173));else{$If=array_filter($J["source"],'strlen');ksort($If);$fg=array();foreach($If
|
||
as$x=>$X)$fg[$x]=$J["target"][$x];query_redirect("ALTER TABLE ".table($a).($B!=""?"\nDROP ".($w=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($B).",":"")."\nADD FOREIGN KEY (".implode(", ",array_map('idf_escape',$If)).") REFERENCES ".table($J["table"])." (".implode(", ",array_map('idf_escape',$fg)).")".(ereg("^($he)\$",$J["on_delete"])?" ON DELETE $J[on_delete]":"").(ereg("^($he)\$",$J["on_update"])?" ON UPDATE $J[on_update]":""),ME."table=".urlencode($a),($B!=""?lang(174):lang(175)));$n=lang(176)."<br>$n";}}page_header(lang(177),$n,array("table"=>$a),$a);if($_POST){ksort($J["source"]);if($_POST["add"])$J["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$J["target"]=array();}elseif($B!=""){$vc=foreign_keys($a);$J=$vc[$B];$J["source"][]="";}else{$J["table"]=$a;$J["source"]=array("");}$If=array_keys(fields($a));$fg=($a===$J["table"]?$If:array_keys(fields($J["table"])));$ef=array_keys(array_filter(table_status('',true),'fk_support'));echo'
|
||
<form action="" method="post">
|
||
<p>
|
||
';if($J["db"]==""&&$J["ns"]==""){echo
|
||
lang(178),':
|
||
',adminer_html_select("table",$ef,$J["table"],"this.form['change-js'].value = '1'; this.form.submit();"),'<input type="hidden" name="change-js" value="">
|
||
<noscript><p><input type="submit" name="change" value="',lang(179),'"></noscript>
|
||
<table cellspacing="0">
|
||
<thead><tr><th>',lang(111),'<th>',lang(112),'</thead>
|
||
';$gd=0;foreach($J["source"]as$x=>$X){echo"<tr>","<td>".adminer_html_select("source[".(+$x)."]",array(-1=>"")+$If,$X,($gd==count($J["source"])-1?"foreignAddRow(this);":1)),"<td>".adminer_html_select("target[".(+$x)."]",$fg,$J["target"][$x]);$gd++;}echo'</table>
|
||
<p>
|
||
',lang(93),': ',adminer_html_select("on_delete",array(-1=>"")+explode("|",$he),$J["on_delete"]),' ',lang(92),': ',adminer_html_select("on_update",array(-1=>"")+explode("|",$he),$J["on_update"]),'<p>
|
||
<input type="submit" value="',lang(145),'">
|
||
<noscript><p><input type="submit" name="add" value="',lang(180),'"></noscript>
|
||
';}if($B!=""){echo'<input type="submit" name="drop" value="',lang(86),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["view"])){$a=$_GET["view"];$J=$_POST;if($_POST&&!$n){$B=trim($J["name"]);$ya=" AS\n$J[select]";$_=ME."table=".urlencode($B);$Jd=lang(181);if(!$_POST["drop"]&&$a==$B&&$w!="sqlite")query_redirect(($w=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($B).$ya,$_,$Jd);else{$hg=$B."_adminer_".uniqid();drop_create("DROP VIEW ".table($a),"CREATE VIEW ".table($B).$ya,"DROP VIEW ".table($B),"CREATE VIEW ".table($hg).$ya,"DROP VIEW ".table($hg),($_POST["drop"]?substr(ME,0,-1):$_),lang(182),$Jd,lang(183),$a,$B);}}if(!$_POST&&$a!=""){$J=view($a);$J["name"]=$a;if(!$n)$n=$i->error;}page_header(($a!=""?lang(30):lang(184)),$n,array("table"=>$a),$a);echo'
|
||
<form action="" method="post">
|
||
<p>',lang(162),': <input name="name" value="',h($J["name"]),'" maxlength="64" autocapitalize="off">
|
||
<p>';textarea("select",$J["select"]);echo'<p>
|
||
<input type="submit" value="',lang(145),'">
|
||
';if($_GET["view"]!=""){echo'<input type="submit" name="drop" value="',lang(86),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$bd=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$Of=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$J=$_POST;if($_POST&&!$n){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(185));elseif(in_array($J["INTERVAL_FIELD"],$bd)&&isset($Of[$J["STATUS"]])){$xf="\nON SCHEDULE ".($J["INTERVAL_VALUE"]?"EVERY ".q($J["INTERVAL_VALUE"])." $J[INTERVAL_FIELD]".($J["STARTS"]?" STARTS ".q($J["STARTS"]):"").($J["ENDS"]?" ENDS ".q($J["ENDS"]):""):"AT ".q($J["STARTS"]))." ON COMPLETION".($J["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(186):lang(187)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$xf.($aa!=$J["EVENT_NAME"]?"\nRENAME TO ".idf_escape($J["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($J["EVENT_NAME"]).$xf)."\n".$Of[$J["STATUS"]]." COMMENT ".q($J["EVENT_COMMENT"]).rtrim(" DO\n$J[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(188).": ".h($aa):lang(189)),$n);if(!$J&&$aa!=""){$K=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$J=reset($K);}echo'
|
||
<form action="" method="post">
|
||
<table cellspacing="0">
|
||
<tr><th>',lang(162),'<td><input name="EVENT_NAME" value="',h($J["EVENT_NAME"]),'" maxlength="64" autocapitalize="off">
|
||
<tr><th title="datetime">',lang(190),'<td><input name="STARTS" value="',h("$J[EXECUTE_AT]$J[STARTS]"),'">
|
||
<tr><th title="datetime">',lang(191),'<td><input name="ENDS" value="',h($J["ENDS"]),'">
|
||
<tr><th>',lang(192),'<td><input type="number" name="INTERVAL_VALUE" value="',h($J["INTERVAL_VALUE"]),'" class="size"> ',adminer_html_select("INTERVAL_FIELD",$bd,$J["INTERVAL_FIELD"]),'<tr><th>',lang(80),'<td>',adminer_html_select("STATUS",$Of,$J["STATUS"]),'<tr><th>',lang(101),'<td><input name="EVENT_COMMENT" value="',h($J["EVENT_COMMENT"]),'" maxlength="64">
|
||
<tr><th> <td>',checkbox("ON_COMPLETION","PRESERVE",$J["ON_COMPLETION"]=="PRESERVE",lang(193)),'</table>
|
||
<p>';textarea("EVENT_DEFINITION",$J["EVENT_DEFINITION"]);echo'<p>
|
||
<input type="submit" value="',lang(145),'">
|
||
';if($aa!=""){echo'<input type="submit" name="drop" value="',lang(86),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["procedure"])){$da=$_GET["procedure"];$sf=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$J=$_POST;$J["fields"]=(array)$J["fields"];if($_POST&&!process_fields($J["fields"])&&!$n){$hg="$J[name]_adminer_".uniqid();drop_create("DROP $sf ".idf_escape($da),create_routine($sf,$J),"DROP $sf ".idf_escape($J["name"]),create_routine($sf,array("name"=>$hg)+$J),"DROP $sf ".idf_escape($hg),substr(ME,0,-1),lang(194),lang(195),lang(196),$da,$J["name"]);}page_header(($da!=""?(isset($_GET["function"])?lang(197):lang(198)).": ".h($da):(isset($_GET["function"])?lang(199):lang(200))),$n);if(!$_POST&&$da!=""){$J=routine($da,$sf);$J["name"]=$da;}$Xa=get_vals("SHOW CHARACTER SET");sort($Xa);$tf=routine_languages();echo'
|
||
<form action="" method="post" id="form">
|
||
<p>',lang(162),': <input name="name" value="',h($J["name"]),'" maxlength="64" autocapitalize="off">
|
||
',($tf?lang(9).": ".adminer_html_select("language",$tf,$J["language"]):""),'<table cellspacing="0" class="nowrap">
|
||
';edit_fields($J["fields"],$Xa,$sf);if(isset($_GET["function"])){echo"<tr><td>".lang(201);edit_type("returns",$J["returns"],$Xa);}echo'</table>
|
||
<p>';textarea("definition",$J["definition"]);echo'<p>
|
||
<input type="submit" value="',lang(145),'">
|
||
';if($da!=""){echo'<input type="submit" name="drop" value="',lang(86),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["sequence"])){$fa=$_GET["sequence"];$J=$_POST;if($_POST&&!$n){$z=substr(ME,0,-1);$B=trim($J["name"]);if($_POST["drop"])query_redirect("DROP SEQUENCE ".idf_escape($fa),$z,lang(202));elseif($fa=="")query_redirect("CREATE SEQUENCE ".idf_escape($B),$z,lang(203));elseif($fa!=$B)query_redirect("ALTER SEQUENCE ".idf_escape($fa)." RENAME TO ".idf_escape($B),$z,lang(204));else
|
||
redirect($z);}page_header($fa!=""?lang(205).": ".h($fa):lang(206),$n);if(!$J)$J["name"]=$fa;echo'
|
||
<form action="" method="post">
|
||
<p><input name="name" value="',h($J["name"]),'" autocapitalize="off">
|
||
<input type="submit" value="',lang(145),'">
|
||
';if($fa!="")echo"<input type='submit' name='drop' value='".lang(86)."'".confirm().">\n";echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["type"])){$ga=$_GET["type"];$J=$_POST;if($_POST&&!$n){$z=substr(ME,0,-1);if($_POST["drop"])query_redirect("DROP TYPE ".idf_escape($ga),$z,lang(207));else
|
||
query_redirect("CREATE TYPE ".idf_escape(trim($J["name"]))." $J[as]",$z,lang(208));}page_header($ga!=""?lang(209).": ".h($ga):lang(210),$n);if(!$J)$J["as"]="AS ";echo'
|
||
<form action="" method="post">
|
||
<p>
|
||
';if($ga!="")echo"<input type='submit' name='drop' value='".lang(86)."'".confirm().">\n";else{echo"<input name='name' value='".h($J['name'])."' autocapitalize='off'>\n";textarea("as",$J["as"]);echo"<p><input type='submit' value='".lang(145)."'>\n";}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$B=$_GET["name"];$Ag=trigger_options();$zg=array("INSERT","UPDATE","DELETE");$J=(array)trigger($B)+array("Trigger"=>$a."_bi");if($_POST){if(!$n&&in_array($_POST["Timing"],$Ag["Timing"])&&in_array($_POST["Event"],$zg)&&in_array($_POST["Type"],$Ag["Type"])){$ge=" ON ".table($a);$Fb="DROP TRIGGER ".idf_escape($B).($w=="pgsql"?$ge:"");$_=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($Fb,$_,lang(211));else{if($B!="")queries($Fb);queries_redirect($_,($B!=""?lang(212):lang(213)),queries(create_trigger($ge,$_POST)));if($B!="")queries(create_trigger($ge,$J+array("Type"=>reset($Ag["Type"]))));}}$J=$_POST;}page_header(($B!=""?lang(214).": ".h($B):lang(215)),$n,array("table"=>$a));echo'
|
||
<form action="" method="post" id="form">
|
||
<table cellspacing="0">
|
||
<tr><th>',lang(216),'<td>',adminer_html_select("Timing",$Ag["Timing"],$J["Timing"],"if (/^".preg_quote($a,"/")."_[ba][iud]$/.test(this.form['Trigger'].value)) this.form['Trigger'].value = '".js_escape($a)."_' + selectValue(this).charAt(0).toLowerCase() + selectValue(this.form['Event']).charAt(0).toLowerCase();"),'<tr><th>',lang(217),'<td>',adminer_html_select("Event",$zg,$J["Event"],"this.form['Timing'].onchange();"),'<tr><th>',lang(96),'<td>',adminer_html_select("Type",$Ag["Type"],$J["Type"]),'</table>
|
||
<p>',lang(162),': <input name="Trigger" value="',h($J["Trigger"]),'" maxlength="64" autocapitalize="off">
|
||
<p>';textarea("Statement",$J["Statement"]);echo'<p>
|
||
<input type="submit" value="',lang(145),'">
|
||
';if($B!=""){echo'<input type="submit" name="drop" value="',lang(86),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["user"])){$ha=$_GET["user"];$Ve=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$J){foreach(explode(",",($J["Privilege"]=="Grant option"?"":$J["Context"]))as$hb)$Ve[$hb][$J["Privilege"]]=$J["Comment"];}$Ve["Server Admin"]+=$Ve["File access on server"];$Ve["Databases"]["Create routine"]=$Ve["Procedures"]["Create routine"];unset($Ve["Procedures"]["Create routine"]);$Ve["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$Ve["Columns"][$X]=$Ve["Tables"][$X];unset($Ve["Server Admin"]["Usage"]);foreach($Ve["Tables"]as$x=>$X)unset($Ve["Databases"][$x]);$Vd=array();if($_POST){foreach($_POST["objects"]as$x=>$X)$Vd[$X]=(array)$Vd[$X]+(array)$_POST["grants"][$x];}$Ec=array();$ee="";if(isset($_GET["host"])&&($H=$i->query("SHOW GRANTS FOR ".q($ha)."@".q($_GET["host"])))){while($J=$H->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$J[0],$A)&&preg_match_all('~ *([^(,]*[^ ,(])( *\\([^)]+\\))?~',$A[1],$Bd,PREG_SET_ORDER)){foreach($Bd
|
||
as$X){if($X[1]!="USAGE")$Ec["$A[2]$X[2]"][$X[1]]=true;if(ereg(' WITH GRANT OPTION',$J[0]))$Ec["$A[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$J[0],$A))$ee=$A[1];}}if($_POST&&!$n){$fe=(isset($_GET["host"])?q($ha)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $fe",ME."privileges=",lang(218));else{$Xd=q($_POST["user"])."@".q($_POST["host"]);$Ge=$_POST["pass"];if($Ge!=''&&!$_POST["hashed"]){$Ge=$i->result("SELECT PASSWORD(".q($Ge).")");$n=!$Ge;}$lb=false;if(!$n){if($fe!=$Xd){$lb=queries(($i->server_info<5?"GRANT USAGE ON *.* TO":"CREATE USER")." $Xd IDENTIFIED BY PASSWORD ".q($Ge));$n=!$lb;}elseif($Ge!=$ee)queries("SET PASSWORD FOR $Xd = ".q($Ge));}if(!$n){$pf=array();foreach($Vd
|
||
as$ae=>$Dc){if(isset($_GET["grant"]))$Dc=array_filter($Dc);$Dc=array_keys($Dc);if(isset($_GET["grant"]))$pf=array_diff(array_keys(array_filter($Vd[$ae],'strlen')),$Dc);elseif($fe==$Xd){$ce=array_keys((array)$Ec[$ae]);$pf=array_diff($ce,$Dc);$Dc=array_diff($Dc,$ce);unset($Ec[$ae]);}if(preg_match('~^(.+)\\s*(\\(.*\\))?$~U',$ae,$A)&&(!grant("REVOKE",$pf,$A[2]," ON $A[1] FROM $Xd")||!grant("GRANT",$Dc,$A[2]," ON $A[1] TO $Xd"))){$n=true;break;}}}if(!$n&&isset($_GET["host"])){if($fe!=$Xd)queries("DROP USER $fe");elseif(!isset($_GET["grant"])){foreach($Ec
|
||
as$ae=>$pf){if(preg_match('~^(.+)(\\(.*\\))?$~U',$ae,$A))grant("REVOKE",array_keys($pf),$A[2]," ON $A[1] FROM $Xd");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(219):lang(220)),!$n);if($lb)$i->query("DROP USER $Xd");}}page_header((isset($_GET["host"])?lang(23).": ".h("$ha@$_GET[host]"):lang(124)),$n,array("privileges"=>array('',lang(54))));if($_POST){$J=$_POST;$Ec=$Vd;}else{$J=$_GET+array("host"=>$i->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$J["pass"]=$ee;if($ee!="")$J["hashed"]=true;$Ec[(DB==""||$Ec?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'<form action="" method="post">
|
||
<table cellspacing="0">
|
||
<tr><th>',lang(22),'<td><input name="host" maxlength="60" value="',h($J["host"]),'" autocapitalize="off">
|
||
<tr><th>',lang(23),'<td><input name="user" maxlength="16" value="',h($J["user"]),'" autocapitalize="off">
|
||
<tr><th>',lang(24),'<td><input name="pass" id="pass" value="',h($J["pass"]),'">
|
||
';if(!$J["hashed"]){echo'<script type="text/javascript">typePassword(document.getElementById(\'pass\'));</script>';}echo
|
||
checkbox("hashed",1,$J["hashed"],lang(221),"typePassword(this.form['pass'], this.checked);"),'</table>
|
||
|
||
';echo"<table cellspacing='0'>\n","<thead><tr><th colspan='2'><a href='http://dev.mysql.com/doc/refman/".substr($i->server_info,0,3)."/en/grant.html#priv_level' target='_blank' rel='noreferrer' class='help'>".lang(54)."</a>";$s=0;foreach($Ec
|
||
as$ae=>$Dc){echo'<th>'.($ae!="*.*"?"<input name='objects[$s]' value='".h($ae)."' size='10' autocapitalize='off'>":"<input type='hidden' name='objects[$s]' value='*.*' size='10'>*.*");$s++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(22),"Databases"=>lang(25),"Tables"=>lang(107),"Columns"=>lang(108),"Procedures"=>lang(222),)as$hb=>$xb){foreach((array)$Ve[$hb]as$Ue=>$bb){echo"<tr".odd()."><td".($xb?">$xb<td":" colspan='2'").' lang="en" title="'.h($bb).'">'.h($Ue);$s=0;foreach($Ec
|
||
as$ae=>$Dc){$B="'grants[$s][".h(strtoupper($Ue))."]'";$Y=$Dc[strtoupper($Ue)];if($hb=="Server Admin"&&$ae!=(isset($Ec["*.*"])?"*.*":".*"))echo"<td> ";elseif(isset($_GET["grant"]))echo"<td><select name=$B><option><option value='1'".($Y?" selected":"").">".lang(223)."<option value='0'".($Y=="0"?" selected":"").">".lang(224)."</select>";else
|
||
echo"<td align='center'><label class='block'><input type='checkbox' name=$B value='1'".($Y?" checked":"").($Ue=="All privileges"?" id='grants-$s-all'":($Ue=="Grant option"?"":" onclick=\"if (this.checked) formUncheck('grants-$s-all');\""))."></label>";$s++;}}}echo"</table>\n",'<p>
|
||
<input type="submit" value="',lang(145),'">
|
||
';if(isset($_GET["host"])){echo'<input type="submit" name="drop" value="',lang(86),'"',confirm(),'>';}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["processlist"])){if(support("kill")&&$_POST&&!$n){$ld=0;foreach((array)$_POST["kill"]as$X){if(queries("KILL ".(+$X)))$ld++;}queries_redirect(ME."processlist=",lang(225,$ld),$ld||!$_POST["kill"]);}page_header(lang(78),$n);echo'
|
||
<form action="" method="post">
|
||
<table cellspacing="0" onclick="tableClick(event);" ondblclick="tableClick(event, true);" class="nowrap checkable">
|
||
';$s=-1;foreach(process_list()as$s=>$J){if(!$s){echo"<thead><tr lang='en'>".(support("kill")?"<th> ":"");foreach($J
|
||
as$x=>$X)echo"<th>".($w=="sql"?"<a href='http://dev.mysql.com/doc/refman/".substr($i->server_info,0,3)."/en/show-processlist.html#processlist_".strtolower($x)."' target='_blank' rel='noreferrer' class='help'>$x</a>":$x);echo"</thead>\n";}echo"<tr".odd().">".(support("kill")?"<td>".checkbox("kill[]",$J["Id"],0):"");foreach($J
|
||
as$x=>$X)echo"<td>".(($w=="sql"&&$x=="Info"&&ereg("Query|Killed",$J["Command"])&&$X!="")||($w=="pgsql"&&$x=="current_query"&&$X!="<IDLE>")||($w=="oracle"&&$x=="sql_text"&&$X!="")?"<code class='jush-$w'>".shorten_utf8($X,100,"</code>").' <a href="'.h(ME.($J["db"]!=""?"db=".urlencode($J["db"])."&":"")."sql=".urlencode($X)).'">'.lang(226).'</a>':nbsp($X));echo"\n";}echo'</table>
|
||
<script type=\'text/javascript\'>tableCheck();</script>
|
||
<p>
|
||
';if(support("kill")){echo($s+1)."/".lang(227,$i->result("SELECT @@max_connections")),"<p><input type='submit' value='".lang(228)."'>\n";}echo'<input type="hidden" name="token" value="',$S,'">
|
||
</form>
|
||
';}elseif(isset($_GET["select"])){$a=$_GET["select"];$Q=table_status1($a);$v=indexes($a);$p=fields($a);$vc=column_foreign_keys($a);$be="";if($Q["Oid"]){$be=($w=="sqlite"?"rowid":"oid");$v[]=array("type"=>"PRIMARY","columns"=>array($be));}parse_str($_COOKIE["adminer_import"],$ra);$qf=array();$g=array();$kg=null;foreach($p
|
||
as$x=>$o){$B=$b->fieldName($o);if(isset($o["privileges"]["select"])&&$B!=""){$g[$x]=html_entity_decode(strip_tags($B),ENT_QUOTES);if(is_shortable($o))$kg=$b->selectLengthProcess();}$qf+=$o["privileges"];}list($L,$Fc)=$b->selectColumnsProcess($g,$v);$cd=count($Fc)<count($L);$Z=$b->selectSearchProcess($p,$v);$pe=$b->selectOrderProcess($p,$v);$y=$b->selectLimitProcess();$_c=($L?implode(", ",$L):"*".($be?", $be":"")).convert_fields($g,$p,$L)."\nFROM ".table($a);$Gc=($Fc&&$cd?"\nGROUP BY ".implode(", ",$Fc):"").($pe?"\nORDER BY ".implode(", ",$pe):"");if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$Hg=>$J){$ya=convert_field($p[key($J)]);echo$i->result("SELECT".limit($ya?$ya:idf_escape(key($J))." FROM ".table($a)," WHERE ".where_check($Hg,$p).($Z?" AND ".implode(" AND ",$Z):"").($pe?" ORDER BY ".implode(", ",$pe):""),1));}exit;}if($_POST&&!$n){$ah=$Z;if(is_array($_POST["check"]))$ah[]="((".implode(") OR (",array_map('where_check',$_POST["check"]))."))";$ah=($ah?"\nWHERE ".implode(" AND ",$ah):"");$Qe=$Jg=null;foreach($v
|
||
as$u){if($u["type"]=="PRIMARY"){$Qe=array_flip($u["columns"]);$Jg=($L?$Qe:array());break;}}foreach((array)$Jg
|
||
as$x=>$X){if(in_array(idf_escape($x),$L))unset($Jg[$x]);}if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($a);$b->dumpTable($a,"");if(!is_array($_POST["check"])||$Jg===array())$G="SELECT $_c$ah$Gc";else{$Fg=array();foreach($_POST["check"]as$X)$Fg[]="(SELECT".limit($_c,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$p).$Gc,1).")";$G=implode(" UNION ALL ",$Fg);}$b->dumpData($a,"table",$G);exit;}if(!$b->selectEmailProcess($Z,$vc)){if($_POST["save"]||$_POST["delete"]){$H=true;$sa=0;$G=table($a);$N=array();if(!$_POST["delete"]){foreach($g
|
||
as$B=>$X){$X=process_input($p[$B]);if($X!==null){if($_POST["clone"])$N[idf_escape($B)]=($X!==false?$X:idf_escape($B));elseif($X!==false)$N[]=idf_escape($B)." = $X";}}$G.=($_POST["clone"]?" (".implode(", ",array_keys($N)).")\nSELECT ".implode(", ",$N)."\nFROM ".table($a):" SET\n".implode(",\n",$N));}if($_POST["delete"]||$N){$Za="UPDATE";if($_POST["delete"]){$Za="DELETE";$G="FROM $G";}if($_POST["clone"]){$Za="INSERT";$G="INTO $G";}if($_POST["all"]||($Jg===array()&&is_array($_POST["check"]))||$cd){$H=queries("$Za $G$ah");$sa=$i->affected_rows;}else{foreach((array)$_POST["check"]as$X){$H=queries($Za.limit1($G,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$p)));if(!$H)break;$sa+=$i->affected_rows;}}}$Jd=lang(229,$sa);if($_POST["clone"]&&$H&&$sa==1){$qd=last_id();if($qd)$Jd=lang(142," $qd");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$Jd,$H);}elseif(!$_POST["import"]){if(!$_POST["val"])$n=lang(230);else{$H=true;$sa=0;foreach($_POST["val"]as$Hg=>$J){$N=array();foreach($J
|
||
as$x=>$X){$x=bracket_escape($x,1);$N[]=idf_escape($x)." = ".(ereg('char|text',$p[$x]["type"])||$X!=""?$b->processInput($p[$x],$X):"NULL");}$G=table($a)." SET ".implode(", ",$N);$Zg=" WHERE ".where_check($Hg,$p).($Z?" AND ".implode(" AND ",$Z):"");$H=queries("UPDATE".($cd||$Jg===array()?" $G$Zg":limit1($G,$Zg)));if(!$H)break;$sa+=$i->affected_rows;}queries_redirect(remove_from_uri(),lang(229,$sa),$H);}}elseif(!is_string($oc=get_file("csv_file",true)))$n=upload_error($oc);elseif(!preg_match('~~u',$oc))$n=lang(231);else{cookie("adminer_import","output=".urlencode($ra["output"])."&format=".urlencode($_POST["separator"]));$H=true;$Ya=array_keys($p);preg_match_all('~(?>"[^"]*"|[^"\\r\\n]+)+~',$oc,$Bd);$sa=count($Bd[0]);begin();$Cf=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));foreach($Bd[0]as$x=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$Cf]*)$Cf~",$X.$Cf,$Cd);if(!$x&&!array_diff($Cd[1],$Ya)){$Ya=$Cd[1];$sa--;}else{$N=array();foreach($Cd[1]as$s=>$Va)$N[idf_escape($Ya[$s])]=($Va==""&&$p[$Ya[$s]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Va))));$H=insert_update($a,$N,$Qe);if(!$H)break;}}if($H)queries("COMMIT");queries_redirect(remove_from_uri("page"),lang(232,$sa),$H);queries("ROLLBACK");}}}$Yf=$b->tableName($Q);if(is_ajax())ob_start();page_header(lang(36).": $Yf",$n);$N=null;if(isset($qf["insert"])){$N="";foreach((array)$_GET["where"]as$X){if(count($vc[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!ereg('[_%]',$X["val"]))))$N.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}$b->selectLinks($Q,$N);if(!$g)echo"<p class='error'>".lang(233).($p?".":": ".error())."\n";else{echo"<form action='' id='form'>\n","<div style='display: none;'>";hidden_fields_get();echo(DB!=""?'<input type="hidden" name="db" value="'.h(DB).'">'.(isset($_GET["ns"])?'<input type="hidden" name="ns" value="'.h($_GET["ns"]).'">':""):"");echo'<input type="hidden" name="select" value="'.h($a).'">',"</div>\n";$b->selectColumnsPrint($L,$g);$b->selectSearchPrint($Z,$g,$v);$b->selectOrderPrint($pe,$g,$v);$b->selectLimitPrint($y);$b->selectLengthPrint($kg);$b->selectActionPrint($v);echo"</form>\n";$D=$_GET["page"];if($D=="last"){$yc=$i->result("SELECT COUNT(*) FROM ".table($a).($Z?" WHERE ".implode(" AND ",$Z):""));$D=floor(max(0,$yc-1)/$y);}$G=$b->selectQueryBuild($L,$Z,$Fc,$pe,$y,$D);if(!$G)$G="SELECT".limit((+$y&&$Fc&&$cd&&$w=="sql"?"SQL_CALC_FOUND_ROWS ":"").$_c,($Z?"\nWHERE ".implode(" AND ",$Z):"").$Gc,($y!=""?+$y:null),($D?$y*$D:0),"\n");echo$b->selectQuery($G);$H=$i->query($G);if(!$H)echo"<p class='error'>".error()."\n";else{if($w=="mssql"&&$D)$H->seek($y*$D);$Qb=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$K=array();while($J=$H->fetch_assoc()){if($D&&$w=="oracle")unset($J["RNUM"]);$K[]=$J;}if($_GET["page"]!="last")$yc=(+$y&&$Fc&&$cd?($w=="sql"?$i->result(" SELECT FOUND_ROWS()"):$i->result("SELECT COUNT(*) FROM ($G) x")):count($K));if(!$K)echo"<p class='message'>".lang(89)."\n";else{$Ea=$b->backwardKeys($a,$Yf);echo"<table id='table' cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);' onkeydown='return editingKeydown(event);'>\n","<thead><tr>".(!$Fc&&$L?"":"<td><input type='checkbox' id='all-page' onclick='formCheck(this, /check/);'> <a href='".h($_GET["modify"]?remove_from_uri("modify"):$_SERVER["REQUEST_URI"]."&modify=1")."'>".lang(234)."</a>");$Ud=array();$Cc=array();reset($L);$bf=1;foreach($K[0]as$x=>$X){if($x!=$be){$X=$_GET["columns"][key($L)];$o=$p[$L?($X?$X["col"]:current($L)):$x];$B=($o?$b->fieldName($o,$bf):"*");if($B!=""){$bf++;$Ud[$x]=$B;$f=idf_escape($x);$Nc=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($x);$xb="&desc%5B0%5D=1";echo'<th onmouseover="columnMouse(this);" onmouseout="columnMouse(this, \' hidden\');">','<a href="'.h($Nc.($pe[0]==$f||$pe[0]==$x||(!$pe&&$cd&&$Fc[0]==$f)?$xb:'')).'">';echo(!$L||$X?apply_sql_function($X["fun"],$B):h(current($L)))."</a>";echo"<span class='column hidden'>","<a href='".h($Nc.$xb)."' title='".lang(42)."' class='text'> ↓</a>";if(!$X["fun"])echo'<a href="#fieldset-search" onclick="selectSearch(\''.h(js_escape($x)).'\'); return false;" title="'.lang(39).'" class="text jsonly"> =</a>';echo"</span>";}$Cc[$x]=$X["fun"];next($L);}}$wd=array();if($_GET["modify"]){foreach($K
|
||
as$J){foreach($J
|
||
as$x=>$X)$wd[$x]=max($wd[$x],min(40,strlen(utf8_decode($X))));}}echo($Ea?"<th>".lang(235):"")."</thead>\n";if(is_ajax()){if($y%2==1&&$D%2==1)odd();ob_end_clean();}foreach($b->rowDescriptions($K,$vc)as$Td=>$J){$Gg=unique_array($K[$Td],$v);if(!$Gg){$Gg=array();foreach($K[$Td]as$x=>$X){if(!preg_match('~^(COUNT\\((\\*|(DISTINCT )?`(?:[^`]|``)+`)\\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\\(`(?:[^`]|``)+`\\))$~',$x))$Gg[$x]=$X;}}$Hg="";foreach($Gg
|
||
as$x=>$X){if(strlen($X)>64){$x="MD5(".(strpos($x,'(')?$x:idf_escape($x)).")";$X=md5($X);}$Hg.="&".($X!==null?urlencode("where[".bracket_escape($x)."]")."=".urlencode($X):"null%5B%5D=".urlencode($x));}echo"<tr".odd().">".(!$Fc&&$L?"":"<td>".checkbox("check[]",substr($Hg,1),in_array(substr($Hg,1),(array)$_POST["check"]),"","this.form['all'].checked = false; formUncheck('all-page');").($cd||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($a).$Hg)."'>".lang(234)."</a>"));foreach($J
|
||
as$x=>$X){if(isset($Ud[$x])){$o=$p[$x];if($X!=""&&(!isset($Qb[$x])||$Qb[$x]!=""))$Qb[$x]=(is_mail($X)?$Ud[$x]:"");$z="";$X=$b->editVal($X,$o);if($X!==null){if(ereg('blob|bytea|raw|file',$o["type"])&&$X!="")$z=ME.'download='.urlencode($a).'&field='.urlencode($x).$Hg;if($X==="")$X=" ";elseif($kg!=""&&is_shortable($o))$X=shorten_utf8($X,max(0,+$kg));else$X=h($X);if(!$z){foreach((array)$vc[$x]as$q){if(count($vc[$x])==1||end($q["source"])==$x){$z="";foreach($q["source"]as$s=>$If)$z.=where_link($s,$q["target"][$s],$K[$Td][$If]);$z=($q["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\\1'.urlencode($q["db"]),ME):ME).'select='.urlencode($q["table"]).$z;if(count($q["source"])==1)break;}}}if($x=="COUNT(*)"){$z=ME."select=".urlencode($a);$s=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$Gg))$z.=where_link($s++,$W["col"],$W["val"],$W["op"]);}foreach($Gg
|
||
as$hd=>$W)$z.=where_link($s++,$hd,$W);}}if(!$z&&($z=$b->selectLink($J[$x],$o))===null){if(is_mail($J[$x]))$z="mailto:$J[$x]";if($Ye=is_url($J[$x]))$z=($Ye=="http"&&$ba?$J[$x]:"$Ye://www.adminer.org/redirect/?url=".urlencode($J[$x]));}$Oc=h("val[$Hg][".bracket_escape($x)."]");$Y=$_POST["val"][$Hg][bracket_escape($x)];$Ic=h($Y!==null?$Y:$J[$x]);$_d=strpos($X,"<i>...</i>");$Mb=is_utf8($X)&&$K[$Td][$x]==$J[$x]&&!$Cc[$x];$jg=ereg('text|lob',$o["type"]);echo(($_GET["modify"]&&$Mb)||$Y!==null?"<td>".($jg?"<textarea name='$Oc' cols='30' rows='".(substr_count($J[$x],"\n")+1)."'>$Ic</textarea>":"<input name='$Oc' value='$Ic' size='$wd[$x]'>"):"<td id='$Oc' onclick=\"selectClick(this, event, ".($_d?2:($jg?1:0)).($Mb?"":", '".h(lang(236))."'").");\">".$b->selectVal($X,$z,$o));}}if($Ea)echo"<td>";$b->backwardKeysPrint($Ea,$K[$Td]);echo"</tr>\n";}if(is_ajax())exit;echo"</table>\n",(!$Fc&&$L?"":"<script type='text/javascript'>tableCheck();</script>\n");}if(($K||$D)&&!is_ajax()){$ac=true;if($_GET["page"]!="last"&&+$y&&!$cd&&($yc>=$y||$D)){$yc=found_rows($Q,$Z);if($yc<max(1e4,2*($D+1)*$y))$yc=reset(slow_query("SELECT COUNT(*) FROM ".table($a).($Z?" WHERE ".implode(" AND ",$Z):"")));else$ac=false;}if(+$y&&($yc===false||$yc>$y||$D)){echo"<p class='pages'>";$Ed=($yc===false?$D+(count($K)>=$y?2:1):floor(($yc-1)/$y));echo'<a href="'.h(remove_from_uri("page"))."\" onclick=\"pageClick(this.href, +prompt('".lang(237)."', '".($D+1)."'), event); return false;\">".lang(237)."</a>:",pagination(0,$D).($D>5?" ...":"");for($s=max(1,$D-4);$s<min($Ed,$D+5);$s++)echo
|
||
pagination($s,$D);if($Ed>0){echo($D+5<$Ed?" ...":""),($ac&&$yc!==false?pagination($Ed,$D):" <a href='".h(remove_from_uri("page")."&page=last")."' title='~$Ed'>".lang(238)."</a>");}echo(($yc===false?count($K)+1:$yc-$D*$y)>$y?' <a href="'.h(remove_from_uri("page")."&page=".($D+1)).'" onclick="return !selectLoadMore(this, '.(+$y).', \''.lang(239).'\');">'.lang(240).'</a>':'');}echo"<p>\n",($yc!==false?"(".($ac?"":"~ ").lang(126,$yc).") ":""),checkbox("all",1,0,lang(241))."\n";if($b->selectCommandPrint()){echo'<fieldset><legend>',lang(34),'</legend><div>
|
||
<input type="submit" value="',lang(145),'"',($_GET["modify"]?'':' title="'.lang(230).'" class="jsonly"'),'>
|
||
<input type="submit" name="edit" value="',lang(34),'">
|
||
<input type="submit" name="clone" value="',lang(226),'">
|
||
<input type="submit" name="delete" value="',lang(148),'" onclick="return confirm(\'',lang(0);?> (' + (this.form['all'].checked ? <?php echo$yc,' : formChecked(this, /check/)) + \')\');">
|
||
</div></fieldset>
|
||
';}$wc=$b->dumpFormat();foreach((array)$_GET["columns"]as$f){if($f["fun"]){unset($wc['sql']);break;}}if($wc){print_fieldset("export",lang(118));$ye=$b->dumpOutput();echo($ye?adminer_html_select("output",$ye,$ra["output"])." ":""),adminer_html_select("format",$wc,$ra["format"])," <input type='submit' name='export' value='".lang(118)."'>\n","</div></fieldset>\n";}}if($b->selectImportPrint()){print_fieldset("import",lang(55),!$K);echo"<input type='file' name='csv_file'> ",adminer_html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ra["format"],1);echo" <input type='submit' name='import' value='".lang(55)."'>","</div></fieldset>\n";}$b->selectEmailPrint(array_filter($Qb,'strlen'),$g);echo"<p><input type='hidden' name='token' value='$S'></p>\n","</form>\n";}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$Nf=isset($_GET["status"]);page_header($Nf?lang(80):lang(79));$Tg=($Nf?show_status():show_variables());if(!$Tg)echo"<p class='message'>".lang(89)."\n";else{echo"<table cellspacing='0'>\n";foreach($Tg
|
||
as$x=>$X){echo"<tr>","<th><code class='jush-".$w.($Nf?"status":"set")."'>".h($x)."</code>","<td>".nbsp($X);}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Vf=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$B=>$Q){$Oc=js_escape($B);json_row("Comment-$Oc",nbsp($Q["Comment"]));if(!is_view($Q)){foreach(array("Engine","Collation")as$x)json_row("$x-$Oc",nbsp($Q[$x]));foreach($Vf+array("Auto_increment"=>0,"Rows"=>0)as$x=>$X){if($Q[$x]!=""){$X=number_format($Q[$x],0,'.',lang(8));json_row("$x-$Oc",($x=="Rows"&&$X&&$Q["Engine"]==($Kf=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($Vf[$x]))$Vf[$x]+=($Q["Engine"]!="InnoDB"||$x!="Data_free"?$Q[$x]:0);}elseif(array_key_exists($x,$Q))json_row("$x-$Oc");}}}foreach($Vf
|
||
as$x=>$X)json_row("sum-$x",number_format($X,0,'.',lang(8)));json_row("");}elseif($_GET["script"]=="kill")$i->query("KILL ".(+$_POST["kill"]));else{foreach(count_tables($b->databases())as$m=>$X)json_row("tables-".js_escape($m),$X);json_row("");}exit;}else{$eg=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($eg&&!$n&&!$_POST["search"]){$H=true;$Jd="";if($w=="sql"&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$H=truncate_tables($_POST["tables"]);$Jd=lang(242);}elseif($_POST["move"]){$H=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Jd=lang(243);}elseif($_POST["copy"]){$H=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$Jd=lang(244);}elseif($_POST["drop"]){if($_POST["views"])$H=drop_views($_POST["views"]);if($H&&$_POST["tables"])$H=drop_tables($_POST["tables"]);$Jd=lang(245);}elseif($w!="sql"){$H=($w=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$Jd=lang(246);}elseif(!$_POST["tables"])$Jd=lang(7);elseif($H=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($J=$H->fetch_assoc())$Jd.="<b>".h($J["Table"])."</b>: ".h($J["Msg_text"])."<br>";}queries_redirect(substr(ME,0,-1),$Jd,$H);}page_header(($_GET["ns"]==""?lang(25).": ".h(DB):lang(87).": ".h($_GET["ns"])),$n,true);if($b->homepage()){if($_GET["ns"]!==""){echo"<h3 id='tables-views'>".lang(247)."</h3>\n";$dg=tables_list();if(!$dg)echo"<p class='message'>".lang(7)."\n";else{echo"<form action='' method='post'>\n","<p>".lang(248).": <input type='search' name='query' value='".h($_POST["query"])."'> <input type='submit' name='search' value='".lang(39)."'>\n";if($_POST["search"]&&$_POST["query"]!="")search_tables();echo"<table cellspacing='0' class='nowrap checkable' onclick='tableClick(event);' ondblclick='tableClick(event, true);'>\n",'<thead><tr class="wrap"><td><input id="check-all" type="checkbox" onclick="formCheck(this, /^(tables|views)\[/);">','<th>'.lang(107),'<td>'.lang(249),'<td>'.lang(84),'<td>'.lang(250),'<td>'.lang(251),'<td>'.lang(252),'<td>'.lang(99),'<td>'.lang(253),(support("comment")?'<td>'.lang(101):''),"</thead>\n";foreach($dg
|
||
as$B=>$T){$Vg=($T!==null&&!eregi("table",$T));echo'<tr'.odd().'><td>'.checkbox(($Vg?"views[]":"tables[]"),$B,in_array($B,$eg,true),"","formUncheck('check-all');"),'<th><a href="'.h(ME).'table='.urlencode($B).'" title="'.lang(29).'">'.h($B).'</a>';if($Vg){echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($B).'" title="'.lang(30).'">'.lang(106).'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($B).'" title="'.lang(28).'">?</a>';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(31)),"Index_length"=>array("indexes",lang(110)),"Data_free"=>array("edit",lang(32)),"Auto_increment"=>array("auto_increment=1&create",lang(31)),"Rows"=>array("select",lang(28)),)as$x=>$z)echo($z?"<td align='right'><a href='".h(ME."$z[0]=").urlencode($B)."' id='$x-".h($B)."' title='$z[1]'>?</a>":"<td id='$x-".h($B)."'> ");}echo(support("comment")?"<td id='Comment-".h($B)."'> ":"");}echo"<tr><td> <th>".lang(227,count($dg)),"<td>".nbsp($w=="sql"?$i->result("SELECT @@storage_engine"):""),"<td>".nbsp(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$x)echo"<td align='right' id='sum-$x'> ";echo"</table>\n","<script type='text/javascript'>tableCheck();</script>\n";if(!information_schema(DB)){echo"<p>".(ereg('^(sql|sqlite|pgsql)$',$w)?($w!="sqlite"?"<input type='submit' value='".lang(254)."'> ":"")."<input type='submit' name='optimize' value='".lang(255)."'> ":"").($w=="sql"?"<input type='submit' name='check' value='".lang(256)."'> <input type='submit' name='repair' value='".lang(257)."'> ":"")."<input type='submit' name='truncate' value='".lang(258)."'".confirm("formChecked(this, /tables/)")."> <input type='submit' name='drop' value='".lang(86)."'".confirm("formChecked(this, /tables|views/)").">\n";$l=(support("scheme")?schemas():$b->databases());if(count($l)!=1&&$w!="sqlite"){$m=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p>".lang(259).": ",($l?adminer_html_select("target",$l,$m):'<input name="target" value="'.h($m).'" autocapitalize="off">')," <input type='submit' name='move' value='".lang(260)."'>",(support("copy")?" <input type='submit' name='copy' value='".lang(261)."'>":""),"\n";}echo"<input type='hidden' name='token' value='$S'>\n";}echo"</form>\n";}echo'<p><a href="'.h(ME).'create=">'.lang(152)."</a>\n";if(support("view"))echo'<a href="'.h(ME).'view=">'.lang(184)."</a>\n";if(support("routine")){echo"<h3 id='routines'>".lang(121)."</h3>\n";$uf=routines();if($uf){echo"<table cellspacing='0'>\n",'<thead><tr><th>'.lang(162).'<td>'.lang(96).'<td>'.lang(201)."<td> </thead>\n";odd('');foreach($uf
|
||
as$J){echo'<tr'.odd().'>','<th><a href="'.h(ME).($J["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($J["ROUTINE_NAME"]).'">'.h($J["ROUTINE_NAME"]).'</a>','<td>'.h($J["ROUTINE_TYPE"]),'<td>'.h($J["DTD_IDENTIFIER"]),'<td><a href="'.h(ME).($J["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($J["ROUTINE_NAME"]).'">'.lang(113)."</a>";}echo"</table>\n";}echo'<p>'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(200).'</a> ':'').'<a href="'.h(ME).'function=">'.lang(199)."</a>\n";}if(support("sequence")){echo"<h3 id='sequences'>".lang(262)."</h3>\n";$Df=get_vals("SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema()");if($Df){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(162)."</thead>\n";odd('');foreach($Df
|
||
as$X)echo"<tr".odd()."><th><a href='".h(ME)."sequence=".urlencode($X)."'>".h($X)."</a>\n";echo"</table>\n";}echo"<p><a href='".h(ME)."sequence='>".lang(206)."</a>\n";}if(support("type")){echo"<h3 id='user-types'>".lang(13)."</h3>\n";$Pg=types();if($Pg){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(162)."</thead>\n";odd('');foreach($Pg
|
||
as$X)echo"<tr".odd()."><th><a href='".h(ME)."type=".urlencode($X)."'>".h($X)."</a>\n";echo"</table>\n";}echo"<p><a href='".h(ME)."type='>".lang(210)."</a>\n";}if(support("event")){echo"<h3 id='events'>".lang(122)."</h3>\n";$K=get_rows("SHOW EVENTS");if($K){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(162)."<td>".lang(263)."<td>".lang(190)."<td>".lang(191)."<td></thead>\n";foreach($K
|
||
as$J){echo"<tr>","<th>".h($J["Name"]),"<td>".($J["Execute at"]?lang(264)."<td>".$J["Execute at"]:lang(192)." ".$J["Interval value"]." ".$J["Interval field"]."<td>$J[Starts]"),"<td>$J[Ends]",'<td><a href="'.h(ME).'event='.urlencode($J["Name"]).'">'.lang(113).'</a>';}echo"</table>\n";$Zb=$i->result("SELECT @@event_scheduler");if($Zb&&$Zb!="ON")echo"<p class='error'><code class='jush-sqlset'>event_scheduler</code>: ".h($Zb)."\n";}echo'<p><a href="'.h(ME).'event=">'.lang(189)."</a>\n";}if($dg)echo"<script type='text/javascript'>ajaxSetHtml('".js_escape(ME)."script=db');</script>\n";}}}page_footer();
|