PHP Malware Analysis

Back to list

Filename: yo.php

Tags

Encoding
  • base64_decode
  • base64_encode
URLs
Title
  • ',$Mg,'
Input
  • _GET
  • _POST
  • _FILES
Environment
  • set_time_limit
  • error_reporting
Files
  • file_get_contents

Deobfuscated code

No debofuscation yet...

Original code

<?php
/** Adminer - Compact database management
* @link https://www.adminer.org/
* @author Jakub Vrana, https://www.vrana.cz/
* @copyright 2007 Jakub Vrana
* @license https://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
* @license https://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)
* @version 4.8.1
*/function
adminer_errors($cc,$ec){return!!preg_match('~^(Trying to access array offset on value of type null|Undefined array key)~',$ec);}error_reporting(6135);set_error_handler('adminer_errors',E_WARNING);$wc=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($wc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$fh=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($fh)$$X=$fh;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");function
connection(){global$g;return$g;}function
adminer(){global$c;return$c;}function
version(){global$fa;return$fa;}function
idf_unescape($v){if(!preg_match('~^[`\'"]~',$v))return$v;$wd=substr($v,-1);return
str_replace($wd.$wd,$wd,substr($v,1,-1));}function
escape_string($X){return
substr(q($X),1,-1);}function
number($X){return
preg_replace('~[^0-9]+~','',$X);}function
number_type(){return'((?<!o)int(?!er)|numeric|real|float|double|decimal|money)';}function
remove_slashes($kf,$wc=false){if(function_exists("get_magic_quotes_gpc")&&get_magic_quotes_gpc()){while(list($z,$X)=each($kf)){foreach($X
as$od=>$W){unset($kf[$z][$od]);if(is_array($W)){$kf[$z][stripslashes($od)]=$W;$kf[]=&$kf[$z][stripslashes($od)];}else$kf[$z][stripslashes($od)]=($wc?$W:stripslashes($W));}}}}function
bracket_escape($v,$_a=false){static$Sg=array(':'=>':1',']'=>':2','['=>':3','"'=>':4');return
strtr($v,($_a?array_flip($Sg):$Sg));}function
min_version($uh,$Id="",$h=null){global$g;if(!$h)$h=$g;$Sf=$h->server_info;if($Id&&preg_match('~([\d.]+)-MariaDB~',$Sf,$C)){$Sf=$C[1];$uh=$Id;}return(version_compare($Sf,$uh)>=0);}function
charset($g){return(min_version("5.5.3",0,$g)?"utf8mb4":"utf8");}function
script($bg,$Rg="\n"){return"<script".nonce().">$bg</script>$Rg";}function
script_src($kh){return"<script src='".h($kh)."'".nonce()."></script>\n";}function
nonce(){return' nonce="'.get_nonce().'"';}function
target_blank(){return' target="_blank" rel="noreferrer noopener"';}function
h($lg){return
str_replace("\0","�",htmlspecialchars($lg,ENT_QUOTES,'utf-8'));}function
nl_br($lg){return
str_replace("\n","<br>",$lg);}function
checkbox($E,$Y,$Na,$sd="",$te="",$Ra="",$td=""){$K="<input type='checkbox' name='$E' value='".h($Y)."'".($Na?" checked":"").($td?" aria-labelledby='$td'":"").">".($te?script("qsl('input').onclick = function () { $te };",""):"");return($sd!=""||$Ra?"<label".($Ra?" class='$Ra'":"").">$K".h($sd)."</label>":$K);}function
optionlist($xe,$Nf=null,$oh=false){$K="";foreach($xe
as$od=>$W){$ye=array($od=>$W);if(is_array($W)){$K.='<optgroup label="'.h($od).'">';$ye=$W;}foreach($ye
as$z=>$X)$K.='<option'.($oh||is_string($z)?' value="'.h($z).'"':'').(($oh||is_string($z)?(string)$z:$X)===$Nf?' selected':'').'>'.h($X);if(is_array($W))$K.='</optgroup>';}return$K;}function
html_select($E,$xe,$Y="",$se=true,$td=""){if($se)return"<select name='".h($E)."'".($td?" aria-labelledby='$td'":"").">".optionlist($xe,$Y)."</select>".(is_string($se)?script("qsl('select').onchange = function () { $se };",""):"");$K="";foreach($xe
as$z=>$X)$K.="<label><input type='radio' name='".h($E)."' value='".h($z)."'".($z==$Y?" checked":"").">".h($X)."</label>";return$K;}function
select_input($wa,$xe,$Y="",$se="",$Xe=""){$_g=($xe?"select":"input");return"<$_g$wa".($xe?"><option value=''>$Xe".optionlist($xe,$Y,true)."</select>":" size='10' value='".h($Y)."' placeholder='$Xe'>").($se?script("qsl('$_g').onchange = $se;",""):"");}function
confirm($D="",$Of="qsl('input')"){return
script("$Of.onclick = function () { return confirm('".($D?js_escape($D):lang(0))."'); };","");}function
print_fieldset($u,$Ad,$xh=false){echo"<fieldset><legend>","<a href='#fieldset-$u'>$Ad</a>",script("qsl('a').onclick = partial(toggle, 'fieldset-$u');",""),"</legend>","<div id='fieldset-$u'".($xh?"":" class='hidden'").">\n";}function
bold($Ga,$Ra=""){return($Ga?" class='active $Ra'":($Ra?" class='$Ra'":""));}function
odd($K=' class="odd"'){static$t=0;if(!$K)$t=-1;return($t++%2?$K:'');}function
js_escape($lg){return
addcslashes($lg,"\r\n'\\/");}function
json_row($z,$X=null){static$xc=true;if($xc)echo"{";if($z!=""){echo($xc?"":",")."\n\t\"".addcslashes($z,"\r\n\t\"\\/").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\/").'"':'null');$xc=false;}else{echo"\n}\n";$xc=true;}}function
ini_bool($cd){$X=ini_get($cd);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}function
sid(){static$K;if($K===null)$K=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$K;}function
set_password($th,$O,$V,$G){$_SESSION["pwds"][$th][$O][$V]=($_COOKIE["adminer_key"]&&is_string($G)?array(encrypt_string($G,$_COOKIE["adminer_key"])):$G);}function
get_password(){$K=get_session("pwds");if(is_array($K))$K=($_COOKIE["adminer_key"]?decrypt_string($K[0],$_COOKIE["adminer_key"]):false);return$K;}function
q($lg){global$g;return$g->quote($lg);}function
get_vals($I,$d=0){global$g;$K=array();$J=$g->query($I);if(is_object($J)){while($L=$J->fetch_row())$K[]=$L[$d];}return$K;}function
get_key_vals($I,$h=null,$Vf=true){global$g;if(!is_object($h))$h=$g;$K=array();$J=$h->query($I);if(is_object($J)){while($L=$J->fetch_row()){if($Vf)$K[$L[0]]=$L[1];else$K[]=$L[0];}}return$K;}function
get_rows($I,$h=null,$m="<p class='error'>"){global$g;$fb=(is_object($h)?$h:$g);$K=array();$J=$fb->query($I);if(is_object($J)){while($L=$J->fetch_assoc())$K[]=$L;}elseif(!$J&&!is_object($h)&&$m&&defined("PAGE_HEADER"))echo$m.error()."\n";return$K;}function
unique_array($L,$x){foreach($x
as$w){if(preg_match("~PRIMARY|UNIQUE~",$w["type"])){$K=array();foreach($w["columns"]as$z){if(!isset($L[$z]))continue
2;$K[$z]=$L[$z];}return$K;}}}function
escape_key($z){if(preg_match('(^([\w(]+)('.str_replace("_",".*",preg_quote(idf_escape("_"))).')([ \w)]+)$)',$z,$C))return$C[1].idf_escape(idf_unescape($C[2])).$C[3];return
idf_escape($z);}function
where($Z,$o=array()){global$g,$y;$K=array();foreach((array)$Z["where"]as$z=>$X){$z=bracket_escape($z,1);$d=escape_key($z);$K[]=$d.($y=="sql"&&is_numeric($X)&&preg_match('~\.~',$X)?" LIKE ".q($X):($y=="mssql"?" LIKE ".q(preg_replace('~[_%[]~','[\0]',$X)):" = ".unconvert_field($o[$z],q($X))));if($y=="sql"&&preg_match('~char|text~',$o[$z]["type"])&&preg_match("~[^ -@]~",$X))$K[]="$d = ".q($X)." COLLATE ".charset($g)."_bin";}foreach((array)$Z["null"]as$z)$K[]=escape_key($z)." IS NULL";return
implode(" AND ",$K);}function
where_check($X,$o=array()){parse_str($X,$Ma);remove_slashes(array(&$Ma));return
where($Ma,$o);}function
where_link($t,$d,$Y,$ue="="){return"&where%5B$t%5D%5Bcol%5D=".urlencode($d)."&where%5B$t%5D%5Bop%5D=".urlencode(($Y!==null?$ue:"IS NULL"))."&where%5B$t%5D%5Bval%5D=".urlencode($Y);}function
convert_fields($e,$o,$N=array()){$K="";foreach($e
as$z=>$X){if($N&&!in_array(idf_escape($z),$N))continue;$ua=convert_field($o[$z]);if($ua)$K.=", $ua AS ".idf_escape($z);}return$K;}function
cookie($E,$Y,$Dd=2592000){global$ba;return
header("Set-Cookie: $E=".urlencode($Y).($Dd?"; expires=".gmdate("D, d M Y H:i:s",time()+$Dd)." GMT":"")."; path=".preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]).($ba?"; secure":"")."; HttpOnly; SameSite=lax",false);}function
restart_session(){if(!ini_bool("session.use_cookies"))session_start();}function
stop_session($zc=false){$nh=ini_bool("session.use_cookies");if(!$nh||$zc){session_write_close();if($nh&&@ini_set("session.use_cookies",false)===false)session_start();}}function&get_session($z){return$_SESSION[$z][DRIVER][SERVER][$_GET["username"]];}function
set_session($z,$X){$_SESSION[$z][DRIVER][SERVER][$_GET["username"]]=$X;}function
auth_url($th,$O,$V,$k=null){global$Kb;preg_match('~([^?]*)\??(.*)~',remove_from_uri(implode("|",array_keys($Kb))."|username|".($k!==null?"db|":"").session_name()),$C);return"$C[1]?".(sid()?SID."&":"").($th!="server"||$O!=""?urlencode($th)."=".urlencode($O)."&":"")."username=".urlencode($V).($k!=""?"&db=".urlencode($k):"").($C[2]?"&$C[2]":"");}function
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
redirect($B,$D=null){if($D!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($B!==null?$B:$_SERVER["REQUEST_URI"]))][]=$D;}if($B!==null){if($B=="")$B=".";header("Location: $B");exit;}}function
query_redirect($I,$B,$D,$sf=true,$jc=true,$qc=false,$Gg=""){global$g,$m,$c;if($jc){$hg=microtime(true);$qc=!$g->query($I);$Gg=format_time($hg);}$dg="";if($I)$dg=$c->messageQuery($I,$Gg,$qc);if($qc){$m=error().$dg.script("messagesPrint();");return
false;}if($sf)redirect($B,$D.$dg);return
true;}function
queries($I){global$g;static$nf=array();static$hg;if(!$hg)$hg=microtime(true);if($I===null)return
array(implode("\n",$nf),format_time($hg));$nf[]=(preg_match('~;$~',$I)?"DELIMITER ;;\n$I;\nDELIMITER ":$I).";";return$g->query($I);}function
apply_queries($I,$S,$fc='table'){foreach($S
as$Q){if(!queries("$I ".$fc($Q)))return
false;}return
true;}function
queries_redirect($B,$D,$sf){list($nf,$Gg)=queries(null);return
query_redirect($nf,$B,$D,$sf,false,!$sf,$Gg);}function
format_time($hg){return
lang(1,max(0,microtime(true)-$hg));}function
relative_uri(){return
str_replace(":","%3a",preg_replace('~^[^?]*/([^?]*)~','\1',$_SERVER["REQUEST_URI"]));}function
remove_from_uri($Le=""){return
substr(preg_replace("~(?<=[?&])($Le".(SID?"":"|".session_name()).")=[^&]*&~",'',relative_uri()."&"),0,-1);}function
pagination($F,$qb){return" ".($F==$qb?$F+1:'<a href="'.h(remove_from_uri("page").($F?"&page=$F".($_GET["next"]?"&next=".urlencode($_GET["next"]):""):"")).'">'.($F+1)."</a>");}function
get_file($z,$yb=false){$uc=$_FILES[$z];if(!$uc)return
null;foreach($uc
as$z=>$X)$uc[$z]=(array)$X;$K='';foreach($uc["error"]as$z=>$m){if($m)return$m;$E=$uc["name"][$z];$Og=$uc["tmp_name"][$z];$gb=file_get_contents($yb&&preg_match('~\.gz$~',$E)?"compress.zlib://$Og":$Og);if($yb){$hg=substr($gb,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$hg,$yf))$gb=iconv("utf-16","utf-8",$gb);elseif($hg=="\xEF\xBB\xBF")$gb=substr($gb,3);$K.=$gb."\n\n";}else$K.=$gb;}return$K;}function
upload_error($m){$Od=($m==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($m?lang(2).($Od?" ".lang(3,$Od):""):lang(4));}function
repeat_pattern($Ue,$Bd){return
str_repeat("$Ue{0,65535}",$Bd/65535)."$Ue{0,".($Bd%65535)."}";}function
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\0-\x8\xB\xC\xE-\x1F]~',$X));}function
shorten_utf8($lg,$Bd=80,$pg=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{10FFFF}]",$Bd).")($)?)u",$lg,$C))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$Bd).")($)?)",$lg,$C);return
h($C[1]).$pg.(isset($C[2])?"":"<i>…</i>");}function
format_number($X){return
strtr(number_format($X,0,".",lang(5)),preg_split('~~u',lang(6),-1,PREG_SPLIT_NO_EMPTY));}function
friendly_url($X){return
preg_replace('~[^a-z0-9_]~i','-',$X);}function
hidden_fields($kf,$Yc=array(),$df=''){$K=false;foreach($kf
as$z=>$X){if(!in_array($z,$Yc)){if(is_array($X))hidden_fields($X,array(),$z);else{$K=true;echo'<input type="hidden" name="'.h($df?$df."[$z]":$z).'" value="'.h($X).'">';}}}return$K;}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($Q,$rc=false){$K=table_status($Q,$rc);return($K?$K:array("Name"=>$Q));}function
column_foreign_keys($Q){global$c;$K=array();foreach($c->foreignKeys($Q)as$p){foreach($p["source"]as$X)$K[$X][]=$p;}return$K;}function
enum_input($U,$wa,$n,$Y,$Yb=null){global$c;preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$Jd);$K=($Yb!==null?"<label><input type='$U'$wa value='$Yb'".((is_array($Y)?in_array($Yb,$Y):$Y===0)?" checked":"")."><i>".lang(7)."</i></label>":"");foreach($Jd[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$Na=(is_int($Y)?$Y==$t+1:(is_array($Y)?in_array($t+1,$Y):$Y===$X));$K.=" <label><input type='$U'$wa value='".($t+1)."'".($Na?' checked':'').'>'.h($c->editVal($X,$n)).'</label>';}return$K;}function
input($n,$Y,$r){global$ah,$c,$y;$E=h(bracket_escape($n["field"]));echo"<td class='function'>";if(is_array($Y)&&!$r){$ta=array($Y);if(version_compare(PHP_VERSION,5.4)>=0)$ta[]=JSON_PRETTY_PRINT;$Y=call_user_func_array('json_encode',$ta);$r="json";}$_f=($y=="mssql"&&$n["auto_increment"]);if($_f&&!$_POST["save"])$r=null;$Gc=(isset($_GET["select"])||$_f?array("orig"=>lang(8)):array())+$c->editFunctions($n);$wa=" name='fields[$E]'";if($n["type"]=="enum")echo
h($Gc[""])."<td>".$c->editInput($_GET["edit"],$n,$wa,$Y);else{$Pc=(in_array($r,$Gc)||isset($Gc[$r]));echo(count($Gc)>1?"<select name='function[$E]'>".optionlist($Gc,$r===null||$Pc?$r:"")."</select>".on_help("getTarget(event).value.replace(/^SQL\$/, '')",1).script("qsl('select').onchange = functionChange;",""):h(reset($Gc))).'<td>';$ed=$c->editInput($_GET["edit"],$n,$wa,$Y);if($ed!="")echo$ed;elseif(preg_match('~bool~',$n["type"]))echo"<input type='hidden'$wa value='0'>"."<input type='checkbox'".(preg_match('~^(1|t|true|y|yes|on)$~i',$Y)?" checked='checked'":"")."$wa value='1'>";elseif($n["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$Jd);foreach($Jd[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$Na=(is_int($Y)?($Y>>$t)&1:in_array($X,explode(",",$Y),true));echo" <label><input type='checkbox' name='fields[$E][$t]' value='".(1<<$t)."'".($Na?' checked':'').">".h($c->editVal($X,$n)).'</label>';}}elseif(preg_match('~blob|bytea|raw|file~',$n["type"])&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$E'>";elseif(($Eg=preg_match('~text|lob|memo~i',$n["type"]))||preg_match("~\n~",$Y)){if($Eg&&$y!="sqlite")$wa.=" cols='50' rows='12'";else{$M=min(12,substr_count($Y,"\n")+1);$wa.=" cols='30' rows='$M'".($M==1?" style='height: 1.2em;'":"");}echo"<textarea$wa>".h($Y).'</textarea>';}elseif($r=="json"||preg_match('~^jsonb?$~',$n["type"]))echo"<textarea$wa cols='50' rows='12' class='jush-js'>".h($Y).'</textarea>';else{$Qd=(!preg_match('~int~',$n["type"])&&preg_match('~^(\d+)(,(\d+))?$~',$n["length"],$C)?((preg_match("~binary~",$n["type"])?2:1)*$C[1]+($C[3]?1:0)+($C[2]&&!$n["unsigned"]?1:0)):($ah[$n["type"]]?$ah[$n["type"]]+($n["unsigned"]?0:1):0));if($y=='sql'&&min_version(5.6)&&preg_match('~time~',$n["type"]))$Qd+=7;echo"<input".((!$Pc||$r==="")&&preg_match('~(?<!o)int(?!er)~',$n["type"])&&!preg_match('~\[\]~',$n["full_type"])?" type='number'":"")." value='".h($Y)."'".($Qd?" data-maxlength='$Qd'":"").(preg_match('~char|binary~',$n["type"])&&$Qd>20?" size='40'":"")."$wa>";}echo$c->editHint($_GET["edit"],$n,$Y);$xc=0;foreach($Gc
as$z=>$X){if($z===""||!$X)break;$xc++;}if($xc)echo
script("mixin(qsl('td'), {onchange: partial(skipOriginal, $xc), oninput: function () { this.onchange(); }});");}}function
process_input($n){global$c,$l;$v=bracket_escape($n["field"]);$r=$_POST["function"][$v];$Y=$_POST["fields"][$v];if($n["type"]=="enum"){if($Y==-1)return
false;if($Y=="")return"NULL";return+$Y;}if($n["auto_increment"]&&$Y=="")return
null;if($r=="orig")return(preg_match('~^CURRENT_TIMESTAMP~i',$n["on_update"])?idf_escape($n["field"]):false);if($r=="NULL")return"NULL";if($n["type"]=="set")return
array_sum((array)$Y);if($r=="json"){$r="";$Y=json_decode($Y,true);if(!is_array($Y))return
false;return$Y;}if(preg_match('~blob|bytea|raw|file~',$n["type"])&&ini_bool("file_uploads")){$uc=get_file("fields-$v");if(!is_string($uc))return
false;return$l->quoteBinary($uc);}return$c->processInput($n,$Y,$r);}function
fields_from_edit(){global$l;$K=array();foreach((array)$_POST["field_keys"]as$z=>$X){if($X!=""){$X=bracket_escape($X);$_POST["function"][$X]=$_POST["field_funs"][$z];$_POST["fields"][$X]=$_POST["field_vals"][$z];}}foreach((array)$_POST["fields"]as$z=>$X){$E=bracket_escape($z,1);$K[$E]=array("field"=>$E,"privileges"=>array("insert"=>1,"update"=>1),"null"=>1,"auto_increment"=>($z==$l->primary),);}return$K;}function
search_tables(){global$c,$g;$_GET["where"][0]["val"]=$_POST["query"];$Qf="<ul>\n";foreach(table_status('',true)as$Q=>$R){$E=$c->tableName($R);if(isset($R["Engine"])&&$E!=""&&(!$_POST["tables"]||in_array($Q,$_POST["tables"]))){$J=$g->query("SELECT".limit("1 FROM ".table($Q)," WHERE ".implode(" AND ",$c->selectSearchProcess(fields($Q),array())),1));if(!$J||$J->fetch_row()){$gf="<a href='".h(ME."select=".urlencode($Q)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$E</a>";echo"$Qf<li>".($J?$gf:"<p class='error'>$gf: ".error())."\n";$Qf="";}}}echo($Qf?"<p class='message'>".lang(9):"</ul>")."\n";}function
dump_headers($Xc,$Xd=false){global$c;$K=$c->dumpHeaders($Xc,$Xd);$Ie=$_POST["output"];if($Ie!="text")header("Content-Disposition: attachment; filename=".$c->dumpFilename($Xc).".$K".($Ie!="file"&&preg_match('~^[0-9a-z]+$~',$Ie)?".$Ie":""));session_write_close();ob_flush();flush();return$K;}function
dump_csv($L){foreach($L
as$z=>$X){if(preg_match('~["\n,;\t]|^0|\.\d*0$~',$X)||$X==="")$L[$z]='"'.str_replace('"','""',$X).'"';}echo
implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$L)."\r\n";}function
apply_sql_function($r,$d){return($r?($r=="unixepoch"?"DATETIME($d, '$r')":($r=="count distinct"?"COUNT(DISTINCT ":strtoupper("$r("))."$d)"):$d);}function
get_temp_dir(){$K=ini_get("upload_tmp_dir");if(!$K){if(function_exists('sys_get_temp_dir'))$K=sys_get_temp_dir();else{$vc=@tempnam("","");if(!$vc)return
false;$K=dirname($vc);unlink($vc);}}return$K;}function
file_open_lock($vc){$q=@fopen($vc,"r+");if(!$q){$q=@fopen($vc,"w");if(!$q)return;chmod($vc,0660);}flock($q,LOCK_EX);return$q;}function
file_write_unlock($q,$sb){rewind($q);fwrite($q,$sb);ftruncate($q,strlen($sb));flock($q,LOCK_UN);fclose($q);}function
password_file($i){$vc=get_temp_dir()."/adminer.key";$K=@file_get_contents($vc);if($K||!$i)return$K;$q=@fopen($vc,"w");if($q){chmod($vc,0660);$K=rand_string();fwrite($q,$K);fclose($q);}return$K;}function
rand_string(){return
md5(uniqid(mt_rand(),true));}function
select_value($X,$A,$n,$Fg){global$c;if(is_array($X)){$K="";foreach($X
as$od=>$W)$K.="<tr>".($X!=array_values($X)?"<th>".h($od):"")."<td>".select_value($W,$A,$n,$Fg);return"<table cellspacing='0'>$K</table>";}if(!$A)$A=$c->selectLink($X,$n);if($A===null){if(is_mail($X))$A="mailto:$X";if(is_url($X))$A=$X;}$K=$c->editVal($X,$n);if($K!==null){if(!is_utf8($K))$K="\0";elseif($Fg!=""&&is_shortable($n))$K=shorten_utf8($K,max(0,+$Fg));else$K=h($K);}return$c->selectVal($K,$A,$n,$X);}function
is_mail($Vb){$va='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$Jb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$Ue="$va+(\\.$va+)*@($Jb?\\.)+$Jb";return
is_string($Vb)&&preg_match("(^$Ue(,\\s*$Ue)*\$)i",$Vb);}function
is_url($lg){$Jb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return
preg_match("~^(https?)://($Jb?\\.)+$Jb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$lg);}function
is_shortable($n){return
preg_match('~char|text|json|lob|geometry|point|linestring|polygon|string|bytea~',$n["type"]);}function
count_rows($Q,$Z,$kd,$s){global$y;$I=" FROM ".table($Q).($Z?" WHERE ".implode(" AND ",$Z):"");return($kd&&($y=="sql"||count($s)==1)?"SELECT COUNT(DISTINCT ".implode(", ",$s).")$I":"SELECT COUNT(*)".($kd?" FROM (SELECT 1$I GROUP BY ".implode(", ",$s).") x":$I));}function
slow_query($I){global$c,$T,$l;$k=$c->database();$Hg=$c->queryTimeout();$Zf=$l->slowQuery($I,$Hg);if(!$Zf&&support("kill")&&is_object($h=connect())&&($k==""||$h->select_db($k))){$qd=$h->result(connection_id());echo'<script',nonce(),'>
var timeout = setTimeout(function () {
	ajax(\'',js_escape(ME),'script=kill\', function () {
	}, \'kill=',$qd,'&token=',$T,'\');
}, ',1000*$Hg,');
</script>
';}else$h=null;ob_flush();flush();$K=@get_key_vals(($Zf?$Zf:$I),$h,false);if($h){echo
script("clearTimeout(timeout);");ob_flush();flush();}return$K;}function
get_token(){$qf=rand(1,1e6);return($qf^$_SESSION["token"]).":$qf";}function
verify_token(){list($T,$qf)=explode(":",$_POST["token"]);return($qf^$_SESSION["token"])==$T;}function
lzw_decompress($Da){$Gb=256;$Ea=8;$Ta=array();$Af=0;$Bf=0;for($t=0;$t<strlen($Da);$t++){$Af=($Af<<8)+ord($Da[$t]);$Bf+=8;if($Bf>=$Ea){$Bf-=$Ea;$Ta[]=$Af>>$Bf;$Af&=(1<<$Bf)-1;$Gb++;if($Gb>>$Ea)$Ea++;}}$Fb=range("\0","\xFF");$K="";foreach($Ta
as$t=>$Sa){$Ub=$Fb[$Sa];if(!isset($Ub))$Ub=$Ch.$Ch[0];$K.=$Ub;if($t)$Fb[]=$Ch.$Ub[0];$Ch=$Ub;}return$K;}function
on_help($Za,$Xf=0){return
script("mixin(qsl('select, input'), {onmouseover: function (event) { helpMouseover.call(this, event, $Za, $Xf) }, onmouseout: helpMouseout});","");}function
edit_form($Q,$o,$L,$ih){global$c,$y,$T,$m;$ug=$c->tableName(table_status1($Q,true));page_header(($ih?lang(10):lang(11)),$m,array("select"=>array($Q,$ug)),$ug);$c->editRowPrint($Q,$o,$L,$ih);if($L===false)echo"<p class='error'>".lang(12)."\n";echo'<form action="" method="post" enctype="multipart/form-data" id="form">
';if(!$o)echo"<p class='error'>".lang(13)."\n";else{echo"<table cellspacing='0' class='layout'>".script("qsl('table').onkeydown = editingKeydown;");foreach($o
as$E=>$n){echo"<tr><th>".$c->fieldName($n);$zb=$_GET["set"][bracket_escape($E)];if($zb===null){$zb=$n["default"];if($n["type"]=="bit"&&preg_match("~^b'([01]*)'\$~",$zb,$yf))$zb=$yf[1];}$Y=($L!==null?($L[$E]!=""&&$y=="sql"&&preg_match("~enum|set~",$n["type"])?(is_array($L[$E])?array_sum($L[$E]):+$L[$E]):(is_bool($L[$E])?+$L[$E]:$L[$E])):(!$ih&&$n["auto_increment"]?"":(isset($_GET["select"])?false:$zb)));if(!$_POST["save"]&&is_string($Y))$Y=$c->editVal($Y,$n);$r=($_POST["save"]?(string)$_POST["function"][$E]:($ih&&preg_match('~^CURRENT_TIMESTAMP~i',$n["on_update"])?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(!$_POST&&!$ih&&$Y==$n["default"]&&preg_match('~^[\w.]+\(~',$Y))$r="SQL";if(preg_match("~time~",$n["type"])&&preg_match('~^CURRENT_TIMESTAMP~i',$Y)){$Y="";$r="now";}input($n,$Y,$r);echo"\n";}if(!support("table"))echo"<tr>"."<th><input name='field_keys[]'>".script("qsl('input').oninput = fieldChange;")."<td class='function'>".html_select("field_funs[]",$c->editFunctions(array("null"=>isset($_GET["select"]))))."<td><input name='field_vals[]'>"."\n";echo"</table>\n";}echo"<p>\n";if($o){echo"<input type='submit' value='".lang(14)."'>\n";if(!isset($_GET["select"])){echo"<input type='submit' name='insert' value='".($ih?lang(15):lang(16))."' title='Ctrl+Shift+Enter'>\n",($ih?script("qsl('input').onclick = function () { return !ajaxForm(this.form, '".lang(17)."…', this); };"):"");}}echo($ih?"<input type='submit' name='delete' value='".lang(18)."'>".confirm()."\n":($_POST||!$o?"":script("focus(qsa('td', qs('#form'))[1].firstChild);")));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="',$T,'">
</form>
';}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");header("Cache-Control: immutable");if($_GET["file"]=="favicon.ico"){header("Content-Type: image/x-icon");echo
lzw_decompress("\0\0\0` \0\0\n @\0C\"\0`EQ?tvM'Jdd\\b0\0\"fӈs5AXPaJ08#RTz`#.cXȀ?-\0Im?.M\0ȯ(̉/(%\0");}elseif($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo
lzw_decompress("\n1ٌ̇l7B14vb0fsn2Bѱ٘n:#(b.\rDc)a7Elñi1̎s-4f	i7t4yZf4iATVVf:Ϧ,:1Qݼb2`#>:7G1sLXD*bv<܌#e@:4!fot:<咾o\ni',a_:iBv|N4.5Nfivphl֚O= OFQk\$id2Tp6-Z6h:a,2#8А#6nJht4O42ok*r@p@!?6r[L:2Bj!HbP=!1V\"0\nSD7DڛC!!Gʌ +=tC.C:+=%c1MR/EȒ42䱠`8(ӹ[W=ySb=-ܹBS+ɯ@pL4Ydq63ĬAc܌Ψk[&>Zpkm]u-c:Ntδpҝ8=#[.ޯ~myPP|I֛Q9v[Q\nr'g+T2Vz48(	Ey*#j2]R)[NR\$<>:>\$;>\rHT\nwN wأ<Gw\\Y_Rt^>\r}S\rz4=\nL%J\",Z8i0u?s3#ى:㽖E]xs^8K^*0w~:iv2w^77cu+U%{P*4̼LX./!1Cqx!HFdLĠ`65fĆ=Hl V1\0a2;6_ه\0&ZSd)KE'n[X\0ZɊF[Pޘ@!Y,`\"ڷ0Ee9yF>9bF5:\0}Ĵ(\$37H MA6R{Mq7GCCm2(Ct>[-t/&C]etG̬4@r><Sq/QhmL#K|6fKP\r%tV=\"SH\$} )w,W\0Fu@b9\rr2#DXyOI>nǢ%'_t\rτz\\1hl]Q5Mp6kqh\$H~|!*4`SS tPP\\g7\n-:袪plB7Өc(wO0\\:wp4{TjO6HÊrq\n%%y']\$aZ.fcq*-FWkzjlg:\$\"N\r#dÂsc̠\"j\rՒPh1/DA)[knp76YR{MP@\n-a6[zJH,dlBho+#Dr^^eE ĜaPJGzt2XVȳB_%K=Eb弾§kU(.!ܮ8I.@Kxn:P32mH		C*:vT\nR0uҧ]P/JQd{L޳:Y2bT 34cV=L4r!BY6MeLio9< GƕЙMhm^UNTr5HiM/n흳T[-<__3/Xr(<uҖGNX20\r\$^:'9O;kfN'ab,V1HI!%6@\$EGڜ1(mUrս`iN+Ü)0lf0[UV-:I^\$sb\reugh~9߈bf+0 hXrݬ!\$e,w+3_Ak\nkrʛcuWdY\\={.čgp8t\rRZvJ:>Y|+@Ct\rjt6%?ǎ>/9F`וv~KRWzlmwL9Y*qxzSeݛ~Dxɟi72Oݻ_{53t_z3d)C\$?KӪP%T&&\0PNA^~p Ϝ\r\$b*+D6궦ψJ\$(olh&KBS>;zxoz>oZ\nʋ[vȜ2OxِV0f2Blbk6ZkhXcd0*KTH=πp0lV\rnm)((:#E:CC\rG\ré0i:`Z1Q\n:\r\0q:`-M#}1;q#|ShlD\0fiDpL``0y1\r=MQ\\%oq\01211 ќbi:\r/Ѣ `)0@›I1NCOZ1q1 ,\rdIǦvj1 tB⁒0:01A2V0%fi3!&QRc%q&w%\rV#Qw`% m*ry&i+r{*(rg(#(2()R@i- 1\"\0R.e.r,ry(2Cb!Bޏ3%ҵ,R1&tba\rL-3\0Bp194O'R3*=\$[^iI;/3i5&}17# ѹ8\"789*23!!1\\\08rk9;S23ړ*:q]5S<#383#e=>~9S螳r)T*a@іbes:-*;,ؙ3!iLҲ#1 +n *@3i71_FS;3F\rA3>x: \r0@-/w7SJ3 .F\$OB%4+t'gLq\rJtJM2\r7T@)ⓣd2P>ΰFi಴\nr\0bk(DKQ1\"2tP\r,\$KCt5#)P#Pi.U2C~\"");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("f:gCI\n83)781x:\nOg#)r7\n\"`|2gSiH)NS\r\"0@)`(\$s6O!V/=' T4=iS6IOG#XVCsZ1.hp8,[H~Cz2lc3sIb4\nF8TIU*fzr0EyfY.:I(c΋!_l^^(N{S)rqYl٦33\n+GyixV3wuh^ra۔c\r(.ˆCh<\r)ѣ`743'm5\nP:2Pq C}ī38B0hRr(0b\\0Hr44B!p\$rZZ2܉.Ƀ(\\5|\nC(\"P.NRTΓ>HN8HP\\7Jp~2%OC1.C8·H*jS(/6KU<2pOI`ⳈdOH5-4pX25-Ңۈz7\"(P\\32:]U߅!]<Aۤiڰl\r\0v#J8wmɤ<ɠ%m;p#`XDiZN09占`wJD29t*yNiIh\\9:xﭵyl*ȈY8W?ޛ3!\"6n[\r*\$Ƨnzx9\r|*3ףpﻶ:(p\\;mz9Œ8Nj2\rHH&(z7ik cet2:SHȠ/)x@tri98yҷV+^WڦkZYlʣ4Ƌ\\E{7\0pDi-T0l%=˃9(5\n\nn,4\0a}܃.Rs\02B\\b1S\0003,XPHJspdK CA!2*W2\$+f^\n1zE Iv\\2.*AE(db܄9Dh&?HsQ2x~nÁJT2&eRGQTwݑP\\)6sh\\3\0R	'\r+*;RH.!['~%t< pK#‘!lLe,&\$	`CXӆ0֭:Mh	ڜG!&3D<!23?hJe h\rmNiNHl7vWI.-5֧ey\rEJ\ni*\$@RU0,\$UEªu)@(tSJkp!~d`>\n;#\rp9jɹ]&Nc(rTQUS\08n`ybLO5,>xf䴒+\"I{kM[\r%[	ea1! ԮF@b)R720\nWLܜҮtd+0wgl0n@ɢiM\nAM5n\$EױNl%1 AkriFBol,muNx-_֤C( fl\r1p[9x(iBҖzQl8C	XU TbI`p+V\0;CbX+ϒs]H[kxG*]awn!6mSIK~/ӥ7eeNS/;dA>}l~ %^fآpڜDEat\nx=kЎ*dTj2j\n ,e=M84aj@Tsnf\n6\rd0Y'%ԓ~	Ҩ<AHG8΃\$z{u2*a>(wK.bP{o´z#28=8>A,e+Cx*-b=m,alzk\$W,mJiʧ+0[.RsKXZL2`(CvZ\$׹,D?HNxX)M\$,*\nѣ\$<qşh!SxsA!:K}RA2kXp\n<l3VV}g&Yݍ!+;<YYE3rَCo5ճkkۣtU)[}ul:D+Ϗ _oh1400bK㬒lG#|UdIK7^@O\0HHi6\r\\cg\02B*e\n	zr!nWz& {H'\$X w@8DGr*H'p#Į\nd,,;g~\0#E\rI`'%E.]`Л%&m\r%4Sv#\nfH\$%-#qBQ-c2&] qh\rl]sh7n#-jEFrl&dzF6\"|s@z)0rpڏ\0X\0|DL<!o*D{.B<E0nB( |\r\n^ h!r\$(^~/pqBO,\\#RR%dHj`̭ V bSdiEohr<i/k\$-\$o+ŋlO&evƒijMPA'u'( M(h/+WDSo.n.n((\"h&p//1D̊j娸E&⦀,'l\$/.,dWbbO3BsH:J`!.,F7(Կ1ls ҎŢqX\r~R鰱`ҞY*:RrJ%L+n\"\r͇H!qb2Li%Wj#9ObE.I:67\06+%.a7E8VS?(DGӳB%;/<\r >M@HDsZ[tHEnx(Rx@GkjW>#T/8c8Q0_IIGII!YEdE^tdth`DV!C8\rb3!3@33N}ZB3	330M(>}\\tffI\r337 X\"td,\nbtNO`P;ܕҭ\$\nZѭ5U5WU^hotPM/5K4EjKQ&53GXXx)<5D\rV\nr5b܀\\J\">1S\r[-Du\r)00Yˢk{\n#\r^|uܻU_nU4U~Yt\rI@䏳R 3:uePMS0TwWXDKOU;U\nOYYQ,M[\0_DWJ*\rg(]\r\"ZC6u+YY6ô0q(8}3AX3Th9jjfMtPJbqMP5>Yk%&\\1dE4 Yn\$<U]Ӊ1mbֶ^\"NVppeMWܢ\\)\n \nf7\n2r8=Ek7tV7PLa6v@'6ij&>;`a	\0pڨ(J)\\nĬm\02eqJPtfj\"[\0X,<\\+md~s%omn),ׄԇ\r48\rmEH]HWM0D߀~ˁKE}|f^\r>-z]2sxDd[stS\0Qf-K`twT9Z	\nB9 Nb<BI5ooJpJNd\rhލ2\"xHCݍ:9Yn16zr+z\\m T @Y2lQ<2O+%.Ӄh0AZ2R1/hH\rXaNB& M@[xʮ8&LV͜v*jۚGH\\ٮ	&s\0Q\\\"b	\rBsw	BN`7Co(\nè19*E SU0U t'|m?h[\$.#5	 	pyB@R]@|{P\0x/ w%EsBdCU~O׷P@X]Z31{eLYڐ\\(*R`	\nQCF*霬pX|`N\$[@UZ`Zd\"\\\")I:toD\0[-g*`hu%,I7īHm6}Nͳ\$MUYf&1e]pzImG/ w !\\#54IdEhqѬkx|kqDbz?>:[LƬZX:jw5	Y0 “\$\0CdSg{@\n`	C M# t}xN{۰)CFKZj\0PFYBpFk0<>D<JEg\r.28U@*5fkJD4TDU76/@K+J@=WIOD85MN\$R\05\r_EIϳNly\\qUQ\n@ۺpP۱7ԽN\rR{*qm\$\0RԓqÈ+U@BOf*CˬMC`_ ˵NT5٦C׻ \\We&_X_؍hB3%FW|Gޛ'[łV#^\rGRPFgYi z\n+^/\\6bdmh@qAh),JWcmem]ӏekZb0Y]ymfeB;OwapDW{\0-2/bNsֽ޾RaϮh&qt\n\"iRmhzeFS7PP䖤:BsmY d7}3?*tlT}~=c	3;TL5*	~#Asx-7f5`#\"NbG@e[s-M6qq he5\0Ң*bISFή9}p-`{ɖkP0T<Z90<՚\r;!g\r\nK\n\0*\nb7(_@,e2\r]K+\0p C\\Ѣ,0^MЧ@;X\r?\$\rj+/BPJ{\"a6䉜|\n\0\\5	156 .[Uد\0d8Y:!=X.uC!SopB7ůRh\\hE=y:< :u280siTsB@\$ @u	Q.T0M\\/d+ƃ\n=dA)\r@@h38.eZa|.7Ykc'D#Y@Xq=M44B AMdU\"Hw4(>8C?e_`X:A9øpGGy6FXrl1ػBÅ9RzhB{\0^-0%D5F\"\"™i`nAf \"tDZ\"_V\$!/Dᚆ٦̀F,25jTy\0Nx\rYl#Eq\nB2\n64!/\nQ*;)bRZ0\0CDo˞48e\nS%\\PIk(0u/G\\}4FpG_G?)got[v\0?b;`(یNS)\nx=+@7j0,1Åz>0GcLVX%Q+oFܶ>Q-clwz5G@(hcHr?Nb@lx3U`rwUt8=l#l䨉8E\"O6\n1e`\\hKfV/зPaYKO x	Ojr7F;B̒>ЦV\rĖ|'Jz#PBY5\0NC^\n~LrR[̟RìgeZ\0x^i<Q/)%@ʐfBHf{%P\"\"@)DE(iM2S*yS\"e̒1ט\n4`ʩ>Q*ynTu~%+WXKQ[ʔlPYy#D٬D<FL@6']Ƌ\rF`!%\n0c˩%c8WrpG.TDoUL2*|\$:Xt5XYIp# ^\n:#D@1\r*K7@D\0CCxBhEnK,1\"*y[#!יٙl_/x\05Z4\0005Jh\"2%Yaa1SO4%niPߴq_ʽ6~I\\ddD3g^@^6_HD.ksL@ɈnI~\rb@ӀNt\0s]:uXb@^1\02?T6dLNe+\0:Ёlz6q=̺xN6O,%@s0\n\\)L<C|PbA>I\"	^K4gIXi@PjE&/1@f	Nx0coaߧ,C'y#6F@РH0{z3t|cXMJ.*B)ZDQ\0T-vXa*,*<b#xјdPKG8 yK	\\#=)gȑh&8])C\nô9zW\\gM 7!,9\$T\",%.F!˚ A--g\0002R>KE'U_I9˼j(Q@@4/7'J.RT\0]KSDAp5\rH0!´e	d@Rҝิ9S;7HBbxJ_viU`@SAMXGXiU*':VWJvDN'\$zh\$d_yZ]Y8ؔ]P*h֧e;pe\$kw*7NDTx_ԧGi&PԆt͆b\\EH\$iE\"cr0l?>C(W@322aI{B`ڳiŸGo^6E\rGMp1iIX\00032Kzl&ֆ'IL\\\"7>j(>jFG_& 10IA31=h q\0Fķ_JԳVΖ܆q՚	(/dOC_sm<gx\0\"\n@EkH\0J8(km[S4\nY40+L\n#Bӫb%R֖׭R:<\$!ۥr;	%|ʨ(|H\0]cҡ=0Z\"\"=X)fN6V}F=[ৢhu-\0tbW~QiJL5׭q#kbWnQT!encS[+ִE<-a]ŃYb\n\nJ~|JɃ8 Lpo NܨJ.ŃS2c9jy-`a\0*ֈ@\0+mg61Me\0Q _}!IGLf)Xo,Shx\0000\"h+LM јZ	j\0/\$>u*Z9Ze+JtzRKԯDyq0C-fmBI|HBsQlX.|c[ZhZlx@'mlKrQ26]ҷnd[񎩇d\"GJ9uBoZߖan@nlW|*gX\nn2F|x`DkuPP!Q\rr`W/	1[-o,71bUsN7Gq.\\Q\"CCT\"*?uts]٩Pz[[YFϹFD3\"]u۝)wz:#Iiwpɛ{o0n;\\x\0qm&~79[HqdLO2v|Bt\\ƤHdH\" N\n\0GgFF}\"&QEK{}\ryǎrכt7Nuó[Agh;S.Ҡ¥|y[Ն_bȨ!+RZX@0NP%jD¯z	[U\"{e8>EL4Jн07 d Q^`0`]c<g@hy8p.ef\nehaXmSjBژQ\"\rK3=>ǪAX[,,\"'<%aӴ.\$\0%\0sVpM\$@j>}Ve\$@̈́#(3:`UYu@V#EG/XD\$havxS\"]k18aя9dJROӊs`EJUom{lB8(\n}eib, ;N͇Q\\ǸI5yR\$!>\\ʉguj*?nM޲h\r%U(dNd#}pA:-\\A*42I\r֣ 0h@\\Ե83rq]d8\"Qƙ:cy4	ᑚda€Π6>UA:@2\$eh2FəN+\rԀ(Ard*\0[#cj>!(SLeTM	9\0W:BD3J_@srue +'B}\"B\"z2rlxF[L˲Ea9cdb^,UC=/2/\$C#8}D6`^;6B0U7_=	,1j1V[.	H9(1ҏLzC	\$.Afh㖫DrY	He~or19م\\߄P)\"Q,eLw0\0;wXǝqo~>9>}dc\0gfq&9-J#3^4m/\0\0006n8>䈴.ӗcph_A@[7|9\$pMh>5KE=hAt^V	\"	cB;iQҠt@,\n)s`;4Iy-0yeʨUBv3HPG5s|\r\$01l3(*oF~PK.,'J/Ӳtd:n\njYz(wZ#Z	Io@1λ\$=VWz	nBaAq@Ip	@5ӖlH{UoXfӿ\\z.,-\\ڗ^y n^BqzX㉡\$*J72D4.!M0DFGLmc*mcI5Ɍ^tjl7替SQ.ihLڱB6Ԅh&Jl\\Wecf%kj pR=i@.(2klHUW\"ojp!S5pL'`\0O *Q3X“lJ\08\n\r*a떞r`<&XBh8!x&Bht\$]n߆cL[Ƶd<`\0ςawO%;BCQ\r̭pPQZZAu=N&ia\nmK6I}n	t\nd)bp\"g'07u&@78XNx\$BZB/MgBiѧ\\mmIĀ;5=#&4PՍqA\\,qcޟ\ncBw\0BgjD@;=0mk\rIJ`'5k-{\0_Mu2׆q>)9W\nd+ԧG\rn4O:581:Κ?(yGgWK\r7m5.eHhJAk#L..\\=UЄ:>7W+^yDbGOZ4r(|xPr,y8qaܩO2kn#p2Ljؔ.cUcłj\$8Ĭ~7ZR:׆89Ψw(aL%-,쿌#f%8|c%XW\n}6H˞#&J,'zMMຑ܆ /y6YQںdәd:Ep2gg/,Ո'8^;UWN{OCziKXڔNdGRCJYiy#>zSMUcRORԾ0)0]:=Ϟt'\$srF67	=\$B!qs	1\"v%Il<b!ۮ6(Cd-^<H`~2KzKٜԱy,qA*\0}Cpb\\S5'(|MW5;\$5T|;kt@;9);i.;_F=DM`H\0	 N @%wdPb\$H|k[dCI!:l,<utNeϝW^w'6Dfu ihIZ:~ϣrz3+uoCs2buaXwWK	HԶ27>WyMJrpTL|`f:Atd|i[wjW 7aueA5Q' ʐ\03Ҿ\$\rk)a;H=֐~IGI<\"I1'蠙Gcm\0P\nw#>xB\"Em|2\$}<3PYXgod߶<qE\"`4g8r]\n:qVbTm9K&ғĤm7)@Qz=ߵűH\n}Oi}\r٣.vpJW&u550	5PI\nl\0O5*=	P-H\0f%tぺ*S:tϛ?ȂHq4K@Ԭ܂.O(Z\$]onzA!t85<WR2[8n5\$I浕Z]'}ET\n.&7V@_Do&J64ij\$ELut+IТأ~SSZTXPYz\"\$V_]M(7t_S/tĂmH:\05- _Z'#1P,}(~\0!Җ`-P\ney (`9O!;5\n\${UA7![ YF濴>8&!CLH(\0'Ǐ2d\r%;k抐4_O>5@DҼ\0VA6' AYSrԾ4+h@bOM\0r̛@\rJm0\08O;kӠA(6|	`8 \0&EV\0VwkNKxdpsALAXku\0t Ԣ.>(NK'fldA?++N~kPR\0xʑBK]bU\\̛d\0S@Q͉b\0\0b\0_\\@\nNOAPfԏAj M4<9+`S w3T7XT!\0ePAIb 1!\04' @!8\0/!:K,CASXfeM.::t._d81v`B\"!.^*N.^\n&\r(.O0@Pnjڗ#&rH< !3(i @Aa{ ¬#S6𨘶F@Y[O(./B)L02B؈-ƀqpJ<.Б\0\n\0/@8C4P\r	P•)F\$q.]\"B#	#\\84\$s:.(*Oi>|#T'`Bua/CTKaX8`p\0`\0");}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("v0F==FS	_6MƳr:ECIo:CXc\r؄J(:=Ea28x?'iSANNxsNBVl0S	Ul(D|҄P>E㩶yHch-3Eb bpEp9.~\n?Kbiw|`d.x8EN!23\rYy6GFmY8o7\n\r0\0Dbc!Q7Шd8~N)Eг`Ns`S)O/<x9o3n2!r:;+9CȨ\n<`b\\?`4\r#`<BeB#N \r.D`j4par㢺>8\$c1cc{n7ANRLi\r1!(j´+62X8+.\r!xh'6S\0RO\n1(W07q:NE:68n+մ5_(s\r/m6P@EQ9\nV-\".:J8weq|؇X]Y XezW 7Z1hQfuj4Z{p\\AUJ<k@ɍ@}&L7UwuYh2@u P7Ah3ÛXEͅZ]l@Mplv) HWy>Y-Y/hC[*F#~!`\r#0PC˝f\\^%B<\\fޱ&/OL\\jFjZ1\\:ƴ>NXaFAfh{\"s\n64?8^p\"띰ȸ\\e(PNq[gr&}PhW*r_sPh\nom#.\0@pdW \$ҺQ۽Tl0 HdH)ۏ)PHgUBe\rt:\0)\"t,[(DO\nR8!Ƭ֚lAV4hSq<@}gK]]=90'wA<a~WD|A2XU2yŊ=p)\0P	sn3rf\0FvGI@%+_I`\r.NKI[ʖSJaUfSzM%\"Q|9Bcaq\08#<a:z1Uf>Zle5#U@iUG‚n%Ұs;gxLpP?BQ\\b龒Q=7:ݡQ\r:t:y( \nd)\nX;CaA\rPGH!@9\n\nAl~HV\nsիƯbBr3\rP%ф\r}b/Α\$5PC\"wB_UgAt夅^QUjBvh졄4)+)<j^<L4U*Bg*nʖ-	9O\$طzyM3\\9.oE(i7	tߚ-&\nj!\ryyD1g]yR7\"~)TZ0E9MYZtXe!f@{Ȭyl	8;R{8Įe+UL'F18PE5-	_!7[2J;HRǹ8p痲݇@0,ծpsK0\r4\$sJ4DZI'\$cLRMpY&iz3GzҚJ%P-[/xT{pzCv:V'\\KJaM&Ӿ\"eo^Q+h^iT1ORl,5[ݘ\$)jLƁU`S`Z^|r=n登TU	1Hykt+\0vD\r	<ƙjGt*3%kYܲT*|\"ClhE(\r8r{0D_.6и;rBjO'ۜ>\$`^69#4Xmh8:c0;/ԉ;\\'(t'+̷^]Nv#,vOiϖ><SA\\\\!3*tl`u\0p'7P9bs{v{7\"{ra(^Eg/U9g/`\nL\n)(Aa\" 	&P@O\n師0(M&FJ'! 0<H*|*OZm*n/b/.o\0dn)i:RP2m\0/vOXFʳψ\"000bgj\$n0}	@=MƂ0nP/pot.̽g\0)o\n0\rFbio}\n̯	NQ'xFaJL\r\r0'd	oep4Dʐq(~ \rEprQVFHlKjN&j!H`_bh\r1n!Ɏz\\\r`V_k\"\\ׂ'V\0ʾ`ACV`\r%\rk@NB횙 !\n\0Z6\$d,%%laH\n#S\$!\$@2I\$r{!J2HZM\\hb,'||cj~gr`ļ\$+A1E <L\$Y%-FDdL焳\n@bVf;2_(Lп<%@ڜ,\"dNer\0`Z4'ld9-#`Ŗj6ƣvN͐f@܆&B\$(Z&278I P\rk\\2`\rdLb@E2`P( B'0&{:dB1^؉*\r\0c<K|5sZ`O35=@5C>@W*	=\0N<g6s67Sm7u?	{<&L.3~D\rŚx),rin/O\0o{0k]3>m1\0I@9T34+ԙ@eGFMC\rE3Etm!#1D @H(n <g,V`R]@3Cr7s~GIi@\0v5\rV'P\r\$<b%(DdPWbfO x\0} lb&vj4LSִԶ5&dsF M4\".HM01uL\"/J`{xǐYu*\"U.I53Q3QJg5s&jьu٭ЪGQMTmGBtl-c*\rZ7*hs/RUVBNˈԊiLk.t龩rYi-S3\\TOM^G>ZQj\"iMsSS\$Ib	fu:SB|iY¦8	v#D4`.^HM_ռuUz`ZJ	e@Cea\"mb6ԯJRT?ԣXMZІpQvjjV{C\r7Tʞ 5{P]\r?QAA2񾠓V)Ji-N99fl Jm;u@<FѠejĦI<+CW@Zl1<2iF7`KG~L&+NYtWH飑w	ls'gq+LzbizŢ.ЊzW zdW(y)vE4,\0\"d\$B{!)1U5bp#}m=@w	P\0\r`O|	ɍYJՂEOu_\n`F`}M.#1f*ա  zuc xf8kZRs2ʂ-Z2+ʷ(sUcDѷX!u&-vPر\0'LX Lo	>Վ\r@P\rxFEȭ%=5N֜?7NÅw`hX98 qzd%6̂t/Ll,KaN~,'ǀM\rf9w!xx[ϑG8;xA-I&5\$D\$%xѬ´]&o-39Lzy6;uzZ 8_ɐx\0D?X7yOY.#38ǀeQ=؀*Gwm Y]YOYF)z#\$e)/z?z;^FZg`^e#?eM3u偃0>\"?@חXv\"*Ԣ\r6v~OV~&ר^gđٞ'f6:-Z~O6;zx;&!+{9Mٳd \r,9Wݭ:\rٜ@睂+]-[gۇ[s[iiqyx+|7{7|w}EWWk|J؁xmq xwyj#e(ߞþ {ڏyM@ɂY(g͚-J(@;y#SYp@%so9;+	;ZNٯº kVu[x|qON?	`u6||Xس|Ox!:ϗY]c\rh9n8'\rS.1USȸX+z]ɵ?C\r\\\$`)U|ˤ|Ѩx'՜<̙e|ͳLMy(ۧlкO]{ѾFD}yuĒ,XL\\x;UWtv\\OxWJ9ȒR5WiMi[Kf(\0dĚ迩\rM7;6KʦI\rxv\rV3ɱ.R|^2^0߾\$Q[Dܣ>1'^X~t1\"6L+AeI~@pM>m<SK-HT76SMfg=GPʰP\r>2Sb\$C[()%Q#G`uGwp\rkKezhjzi(rOT=7~4\"ef~dVZU-b'VJZ7)T8.<RM\$'by\n5_wU`ei޿JbguS?`+ Mg7`\0_-_?F\0X[J8&~D#{P4ܗ\"\0@ғ\0F ?*^wО:u3xK^w߯y[Ԟ(#/zr_g?\0?1wMR&M?StT]ݴG:I)B v1<t6:W{x:=ޚ:!!\0xq&0}z\"]ozjw6JP۞[\\ }`S\0qHM/7BP]FT8S5/I\r\n O0aQ\n>2j;=ڬdA=pVL)X\n¦`e\$TƦQJk7*O .ġ\r\$#pWT>!v|}נ.%,;f*?焘\0pD! #:MRcB/06	7@\0VvghZ\nR\"@F	+ʚEI\n8&2bXPĬͤ=h[+ʉ\r:F\0:*\r}#!\"c;hŦ/0ޒEj]Z\0@iW_h;VRbP%!b]SBUl	r\r-\0\"Q=Ih	 FLFxRэ@\0*j5k\00'	@ElOHCx@\"G41`ϼP(G91\0\"f:Qʍ@`'>7ȎdR41>rIHGt\nRH	bҏ71fh)D8B`(V<Q8c? 2E4j\09\r͐@\0'FD,!H=*E(?Ѫ&xd_HǢE6~uG\0RXZ~P'U=@l+A\nhIiƔPGZ`\$P.;E\0} Q%jAWإ\$!3r1 {Ӊ%i=IfK!e\$80!h#\\HF|i8tl\$lli*(GL	 \$x.q\"Wzs{8d`&W\0&E15jWbćVR-#{\0Xig*7VF3`妏p@#7	0[Ү[éh˖\\o{T]Ŧᑀ8l`f@reh\nW2*@\0`K(L̷\0vT\0c'L: 0@L1T0bhW|\\-DN\ns3\"`Ǣ肒2&\rU+^ReSni0u˚b	J2sps^n<♱Fla\0\0mA2`|؟6	nr\0Dټ7&mߧ-)\\݌\n=;*b蓈Ty7c|o/:tP<Y:K&C'G/@Q*8v/&W6p.\0u3Bq:(eOPp	駲\r0(ac>N|	t\n6v_e;y6fgQ;yβ[S	gǰOuddHH=Z\r'qC*)gEO \"!k('`\nkhT*s5REa\n#!1\0;Siȼ@(lI v\rnj~63ΈI:h\n.2pl9Bt0\$bp+ǀ*tJsJQ8;4P(ҧѶ!.Ppk@)65!(\n+{`=H,Ɂ\\Ѵ4\"[C1-luo4[E%\"w] ( ʏTe)KAE={ \n`;?-G5I.%q%EsgFs	KGn4i/,i0ux)73SzgV[hDp'L<TMjP*o≴\nH\n4M-WNA/@8mHRptpV=h*0	1;\0uGT6@s\0)6ƣT\\(\"U,C:5iKlۧE*\"r.@jRJQ/L@SZP)(jjJL*\0\r-Q*Qڜg9~P@H\n-e\0Qw%^ ET< 2H@޴e\0 e#;ITl+A+C*Yh/D\\!鬚8»3AЙEE/}0tJ|1Qmn%(p!\n±U)\rsEX5u%B- w]*E)<+qyV@mFH BN#]YQ1:V#\$<&Xxt@]GԶj)-@qL\ncIY?qC\rv(@X\0Ov<R3XQJ99lxCuīd vTZkl\rJ\\o&?o6Eq\r'3ɪJ6'Y@6FZ50VTyC`\0VS!&66rDf`ꛨJvqzF@ݵ҅Z.\$kXkJ\\\"\"֝i:E\roX\0>PPmi]\0aV=I6jK3ZQmEb0:32V4N6!l^ڦ@hhU>:	E>j0g\\|Sh7yބ\$,5aė7&:[WX4q Jׂc8!HVDĎ+D:9,DUa!X\$ЯڋG܌Bt9-+otL}ĭqKx6&%xtR\"πRIWA`c}l6~*0vkp68z+qXw*EIN*qPKFO\0,(|k *YF5;<6@QU\"\rbOAXÎvv)Ho`STpbj1+ŋe ʀQx8@5\\Q,ĉNޘb#YHp1kB8NoX3,#Uک'\"销eeH#zq^rG[:\rmng5V]-(W0~kh\\Z`lk ojW!.hF[tAweM૫3!nK_SFj-S[r̀w0^hf-?X5/IY V7ad 8bqbn\n1YRvT,+!NT2I߷K`K\"O)\nY4!}K^D@na\$@ \$Aj\\D[=	bHpSOAGho!F@lU`Xn\$\\͈_˘`HB]2\"z0i1\\w.fy޻K) p0XS>1	*,]\r\"<cQ\$tq.	<+t,]L!{gX\$6v %GHEX*0ۊ)qnC)I\"툳`KF@d5Ap{\\pɾNr'S(+5Њ+\"ĀU0iː!nMbrK6úr|a@x|ka9WR4\"?5pۓkrĘߒ7—Hp5YpWG#rʶAWD+`=\"}@H\\pЀߋ)C3!sO:)_F/\r4<A\nn/T3f7P16OYлϲq;؁aXtS<9nwsx@1Ξxs?3Ş@54oȃ0pR\0yqL&S^:Q>\\4OInZnv33+PL(.x\$«CCnAkc:L6rwhnrZ==jђ6}MGu~3bg4s6sQ#:3g~v3<+<a}ϧ=e8'n)ӞcCz4L=h{iJ^~wgDjL^=6ΧNӔ\\DNE?h:S*>+uhh҅WE1jxt't[wS9T[,jvtA#T枂9jK-ޠYiQe?4Ӟ_Wz@JkWYhpuj|z4	im	O5\0>|9ז轠gVyu=}gs_Vsծ{k@r^(wH'a=iN4_{6tϨϗe[h-Ul?J0O\0^Hl\0.Zxu\"<	/7 i:\nǠ;!3_0`\0H`2\0H#h[P<עgm@~(\0ߵkYv#>\nz\n@Q\n(G\n'k5n5ۨ@_`Ї_l1wpPw\0coEl{ݾ7o0Ibϝnz﷛ {8w=|/y3a߼#xq@ka!\08dmR[wvNjRGp8v\$Zmtǽuop`2m|;#xmn~;VE3O\r,~ow[N} clyO;?~^j\"Wz:'xW.	u(Ýq<gvhWq\\;ߟ8)M\\5vڷx=hib-|bpyDЕHh\rcey7pxG@D= 1!4Ra\r9!\0'Y@>iS>oofsO 9.\"Fl20E!QːD9dBW4\0y`RoF>Fa00	2<IP'\\I\0\$\n RaU.sЄ\"1ІeY砢Zq1|#G!PP\0|HFnp>W:`YP%ď\na8P>`]4`<r\0Îz484`mh:ΪHDj+p>*8ՠ08A:с]wúz>9\n+:iiPoG01)ZږneR֖gMgsLCr8Ѐ!3R)00sIJVPpK\n|9e[ˑD0z4ϑo,N8ns#{蓷z3>BS\";e5VD0[\$7z0=8	T 3Q'RnLyŋ'\0o,\0:[}(|X>xvqW?tBE1wG;!݋5΀|0JI@#uņI\\p8!']߮l-lSB,ӗ]1ԕHN8%%	/;FGSh\\لct2|W\$t<hO+#BaN1{yw2\\Z&)db',Xxm~H@:d	>=-lK܏J\0́@rϥ@\"(AZ7h>\\#>\0XrYYxŝq=:Թ\rlomgbD_TxC0.yR]_ZǻWIG	Mɪ(|@\0SOs {@k}FXSb8=_l\0=g{HyG s_J\$hkFqd4ω'>vϏ!_7Vq@1zuSejKdyuS.2\"{K?s˦hRd`:yGھ\nQow'hS>LX}eG@9퟈W|Ϲ@_uZ=,!}\0I@#\"'Y`\\?p,Gל_'G	T#oH\r\"o}?O鼔7|'=8MQyaH?߮ \0bUd67I O\"-2_0\r?hO׿t\0\0002~° 4K,oh	Pcz`@\"H; ,='S.bSCc욌R,~X@ '8Z0&(np<pȣ32(.@R3@^\r+@,\$	ϟEtB,⪀ʰh\r><6]#;C.Ҏ8P3;@L,+>p(#-f1z,8ߠƐP:9R۳)e\0ڢR!\nr{eGA@*nD6N\rR8QK0颽>PNIQ=r<;&fNGJ;UAAP&`);!s\0pp\rn(@%&	SdYuC,8O#oRv,#|7\"CpB`jX3~R@v9B#@\n0>T-5/= E\nˆd\"!;p*nZ\08/jX\r>F	Pϐe>OLO0\0)k㦃[	ϳ'L	1 1\0C1T`RʐzĚp< .>5\0> Bnˊ<\"he>кîs!H{ܐ!\r\r\"|>R1d\"U@D63>o\rvL:K2+0쾁>\0 B{!r*Hy;`8\0دd\r02A?+\0Å\0AwSl\r[ԡ6co=0z/J+ꆌW[~C0e30HQPDPY}4#YDp)	|@&-/F	T	aH5#H.A>0;.Yġ	*D2=3	pBnuDw\n!zCQ \0HQ4D*7\0J%ıpuD(O=!>u,71TM+31:\"PRQ?P+11= M\$ZlT7,Nq%E!S2&U*>GDS&ozh8881\\:Z0hT C+#ʱA%D!\0XDA3\0!\\#h9bT!dYj2S\nA+ͽHwD`(AB*+%EX.ˠB#ȿ&XeEo\"|r8W2@8Da|NhJ8[۳Wz{Z\"L\0\0Ȇ8x۶X@ Eh;af1;nhZ3E0| 옑AtB,~W8^Ǡ׃<2/	8+۔O+%P#ή\n?߉?e˔O\\]7(#D۾(!c)NMFE#DXg)0A\0:rB``  QH>!\rB\0V%ceHFHm2B2I`#D>n\n:L9C0\0x(ޏ(\nL\"G\n@`[\ni'\0)y)&(p\0N	\"N:8.\r!'4|ל~ʀ\"cDlt0c5kQQר+ZGk!Fc4Rx@&>z=\$(?(\n쀨>	ҵCqیt-}G,tGW xqHfb\0\0zT9zwЅDmn'ccbH\0z3! HHz׀Iy\",-\0\"<2'#H`d-#cljĞ`i(_dgȎǂ*j\r\0> 662kj<Cq9ĐI\r\$CAI\$x\rH78 ܀ZpZrR_U\0l\rIRXi\0<r~xS%^%j@^T33ɀGHz&\$(q\0f&8+\rɗ%2hCxIlbɀ(hSY&B`fxvn.L+/\"=I0d\$47rA(42gJ(D=F(-'ĠXG29Z=,r`);x\"8;>&',@2pl:0lI\rrJDhAz22p`O2h8HĄwtBFg`72{,Kl߰%C%om+X41򹸎\n2p	ZB!=VܨȀ+H6*\0k%< K',3rI;8\0Z+Eܭ`+lW+Yҵ-tfbQ_-Ӏޅ+ 95LjJ.Gʩ,\\ԅ.\$2J\\-1-cˇ.lfxBqK,dˀ8AKo-3Kr/|/\\r,HϤ!Y10@.„&|+J\00P3J-ZQ	\r&\nL*jĉ|#Ծ\"˺A/8)1#7\$\"6\n>\n7L1h9\0BZd#b:\0+A22'̕\nt̜O2lʳ.LHC\02+L\\rKk+˳.ꌒ;(Dƀ1sds9P4쌜@.AnhJ13K03J\$\02Lk3Q;3n\0\0,sI@u/VA1UM<Le4D2V% Ap\nȬ235A-Tu53۹1+fL~\n	-> ҡM4XLSdٲ͟*\\@ͨYkSDM5 XfDsUs%	̱p+K6/ݒ8Xނ=K6pH%3ͫ7lIK0LDu`P\rSO͙&(;L@ψN>S28(`JErF	2SEMM\$qE\$ã/I\$\\ID\"\n䱺w.tS	ђP#\nW-\0Cҵ:jR^S8;d`5ԪaʖE+(XrM;3;B,*1&2XS)< L9;RSNgIs+ӰK<sLY-Z:A<OO*2vW7+|˻<T9hy\$<#ρ;v\$O\0 ,Hk-Ϛ\rϣ;O>7>3@O{.4pO?Tb..~O4S>1SS*4Pȣ>3\0W>2><P?4@t\nNAxp%=P@C@R˟?x\n0NwO?TJC@#	.dMt&=\\4A:L\$N:\rI'Arግ;\r/CBӮi>L7:9|C\$)z@tl:>C\nBi0G,\0FD%p)o\0\n>`)QZIKG%M\0#\0DQ.H'\$E\n \$ܐ%4ID3o:L\$m 0	B\\(8通hDCsDX4TK{x`\n,\nE:p\n'>o\0tI` -\0D/KP`/H\$\n=>UFP0UG}4B\$?E%TWD} *H0T\0t\"!o\0E7R.tfRFu!ԐD\n\0F-4VQH%40uN\0DQRuE	)I\n&Qm)ǚm #\\D(\$̓x4WFM&ԜR5H%q[F+IF \nTR3DLoy4TQ/E[ў<t^F)Q+4QI#IF'TiѪX!ѱF*nR>5pKm+sIRE+ԩM\0(R?+HҀJ\"TD\$	4wQ}Tz\0G8|xR6R	4XR6\n4ymNQNM&RH&2Q/7#қ{'ҍ,|\n	.\0>{o#1D;?UҕJ9*jFNщJ #~%-?CL3@EP{`>QȔ%O)4R%I@%,\"I<\$ԉTP>\n\0QP5DkOFTY<oQ=T\0x	5D,0?i?x  mE}>|[\0&RLHS9GI1䀖M4VHoT-S)QGF [TQRjN#x]N(U8\nuU\n?5,TmԞ??@U\nu-R9U/S \nU3IEStQYJu.QFo\$&i	KPC6>5G\0uRu)U'R0ЀDuIUJ@	:V8*Rf%&\\RMU9RfUAU[TUQSe[\0KeZUaUhmS<,Rs`&Tj@G!\\x^0>\0&p΂QQ)TUPs@%\0W	`\$(1Q?\$CQp\nOJX#V7Xu;!YBSc+V#MUWHURDžU-+VmY}\\OKM\$SeToVHT!!<{RZA5R!=3U({@*Ratz\0)QP5H؏հN5+P[9V%\"\nGSL9l\rVؤ[ouUIYR_TYp5O֧\\q`U[Bu'Uw\\mRUԭ\\Es5K\\V\\S{AZ%O\$F>5EWVm`Wd]& \$Ό!RZ}ԅ]}v5ZUgQ^y` !^=FR^vUKex@+r5#@?=uΓsץYNsS!^c5\$.u`\0XE~19JUZ@#1_[4J2\n\$VI4n\0?4aR!U~)&B>tRI0_EkTUS|Uk_8&E(‘?@J5JUBQT}HVjQx\neVsU=VN4ղؗ\\xR34GD\":	KQ>[\rY_#!#][j<6خX	c#KL}>`'\05XcU[\0(Wt|tR]p/]H2IQO1SQjZHm)d^SXCY\rtu@Jp%M?UQ\n=Rar:ԿE-G\0\$d]meh*QWtc`AY=S\r	m-=MwH]J\"䴏f\"{#9TeMcNIDU6g2ݝeaLQ&&uTX51Y>S֊Q#Ij\0WP?ub5FULn)V5R@\$!%oP'EUP-Bp\nF\$S4tUF|{qȓ0Umjs\$ڛjcڐ֫aZI5Xj26&>v\n\r)2_kGTJeQ-cZVMֽz>]acc`tHj6+kM\0>##3l='^6\0èvZ9Se\"bΡB>)/T=9\0`P\$\0]/0ڪ䵏k-6{k[F\r|SѿJMQD=/WXVa'atol冶Xj}C@\"KPom3\0#HVv~{?gx	n|[?U[rhG`3#Gk%L\0I`CD	 \"\0ŧ#cN6ڹfzێ;ѤeeF7/N\r:QG9	\$Iռ]TWGsdWMIfBcۤ!#cnu&(S_wSf&TZ:0CSLN`ܳYj=>ŲZ!=rV]g	ӣrXl-.U'uJuJ\0sJ'W%\\>?BVj4J}I/-ҝrRLS3\0,RgqӭTf>1\0_\\V8Ztc耆<^\\llj\0T]CwΓzIZwNpVWjvY>2	o\$|UWL%{toX3_RJ5~6\"Zl}`kceR=^UԎ1ѽw7edvb=\0f,m)Gp-Ӽ)9L>| \"@5`:\0,t@xlJb6aA\0ػAR[A0\$qoAS@<@y\"as.V^讥^\0H[H@bK)z\r=^zB\0No<̇t<x\0ڬ0*RI{^E:{KՐ1E0Y/c\"\04F7'\n0`UT?MPl4r(	Z|&t\"ILw+m}Wi\r>U__u63y[8T-V}x_~%7{jMo_E~]P\$JCaXG9\0007Ń5A#\0.\r˴_%\n\r#<MxJ|2\0;o^a+F笀Lk;_#M\\pr@õOR~zANEYO	(1N׉R8Cn?O)1ADo\0\rǢ?kJ\",OFa-b6]PS)ƙ5xC=@jLL:\"胻Ίl#Bk@N:>|B9	:N\$S CB:j6ΉJkuK_W͢ØI=@Tv\n0^o\\Ӡ?/&u._\rC+c~Jb6e\0yѡ\0wxh8j%SVH@N'\\ۯN`n\runKqUB+f>G\r=@Gd\n)FO hʷÈfCɅX|I]3auyUi^9y\no^rt\r8͇#N	VY;c*%V<#h9r\rxcv(\ra(xja`g0V̼Qx(glհ{gh`sW<Kj';)Gnq\$p+Ɍ_d^& Dx!bv!EjPV'(=b\r\"bL\0bt\n>J1;ۈ4^sQp`fr`7xE<l	8s'PTֺ˃z_T[>:`1.;7@[>6!*\$`\0`,@?m>>\0LCǸRn/+`;C\0*<F+q M;1K\n:b3j1l:c>Yhގ#;3ֺ85:\\\0XH…aM1\\L[YCvN\0+\0t#\$!@*l	FdhdF&Ƙf)=04x\0004ED6K䢣\0nN];q4sj-=-8\0sǨDf5p4J^'Ӕ[H^NR FKwz EgF|!codbx\0-6,E_3up /wz(exRaHYce59d\00@2@ҐYfeyYcMוh[ez\rv\\0e\\cʃ[ueNY`ۖ]9h姗~^Yqe]qe_|6!u`fJ{7M{YهjeCS6\0DuasFL}\$ȇ(MbƤ,0Buίт2gxFљ{an:i\rPjerrGBYM+qiYd˙`0,>6fo0o Xf\0VL!fl6 /1e\0>kbf\r!uf<%(r˛a&	Y!mBg=@\r; \r5phI9bm\$BYˋgx#@QEOm90\"!tˉЇO* \0>%\$orN&s9f4g~jMfwygy\\`X1y5x^z_,& k|1xA6 \no蔻&xgg{r?緛-|t3}gHgK9J<CC197gh6!0HcdyfDA;9T0\0p! 6^.S²?E(PΈ .5hEPJv.+\$5>P+?~g6\rhpz(W`•\"y:FadŬ6:fi\0A;e^wf >y`-\r\0hr\rr8i\"_	9CIfXˈ2\"ŢhL~\"%V:!%xyizygvx]}qgZi|`+ _g٣譞6PAʀ\$=9h|p!.!i^iˢ8zVCZ\"(9U)!DgU\0j?`4LTo@BNa{r:\n̟E8æ&=E*Z:\n?g̊h.N5(Shi2*cf@7z\"|rP.ǀL8T'k:(q2&ED2~ر9v8@^X=X`qZQ֮`9j5^@竸nqv3(I6jdT\\ 3,hk3(3PuV|\0阮Uk;JQ.	:J\r1nBI\r\0ɬh@?N\nsh\";r~7O\$(5R	ʽjFYFܔ~x޾f\"vۓo˨º#aP<h-3麝/Gxni@\"G?,ZpxX`v4X[I7åXc	!b}j_95qti6fٞ5FƹiѱpX'2r0ƺD,#GU2؏I\rl( 챣=Aa쩳-8dbS4~H;06b{޺Rs3zNބ`ˆ+4<^ay	}ryk&4@?~cE@LS@z^qqN</Hj^sC`sbgGy^\nN\n:GN}c\n +=p1NTB[dЋܹ`noj;jěwhc9p̡[y405͋N+ο`Xda/zn*P#t赸~9W	V~=#n)	2;j:JkC!>x5==2.|'[';v;:SA	&[men˵<6ma=Y.神:g腀;I߻x[IJ\0~zaYwT\\`V\n~P)zJQ@[{rʉDBv|i-EK;^n{:Nh;2ƀpѴ6罘99XhQ~iA@D j}ozLVѳ~	8B?#F}FTdezcFg7Η 6#.E££S.J35KɥJ;n5:ySCvoս.{	d\\0?W\0!)'Eg;+\0YNtbp+c\0B=\"cT:BcPIDV0!ROlON~aF|%ߺ)O	WoQw:ٟl0h@:օ8Q&[nFp,æ@JTw9(<{ƐO\r	ڂ\$m/HnP\$o^U\"{Ė<.nq8\r\0;n硟+޳3n{D\$7,Ez7\0l!{8x҂.s8PAFxrQۮ1̅p+@d9OP5lK/\\msqvQ/	!z7oEdž:qV5?GHOO\$l+,\r;~Ač錳{`7|Ăr'Ji\rc+|#+<&қ<W,>^P&nJhe%dCizXA'D>ΈEk@Bw(.\n99AhNckNd`p`%2\0");}else{header("Content-Type: image/gif");switch($_GET["file"]){case"plus.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0!M*)o) qe#L\0;";break;case"cross.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0##\naFo~y._wa1JGL6]\0\0;";break;case"up.gif":echo"GIF89a\0\0\0001\0\0\0\0\0!\0\0\0,\0\0\0\0\0\0 MQN\n}a8yaŶ\0\0;";break;case"down.gif":echo"GIF89a\0\0\0001\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\0iӲ޻\0\0;";break;}}exit;}if($_GET["script"]=="version"){$q=file_open_lock(get_temp_dir()."/adminer.version");if($q)file_write_unlock($q,serialize(array("signature"=>$_POST["signature"],"version"=>$_POST["version"])));exit;}global$c,$g,$l,$Kb,$Rb,$bc,$m,$Gc,$Lc,$ba,$dd,$y,$a,$vd,$re,$We,$mg,$Qc,$T,$Ug,$ah,$hh,$fa;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]";if($_SERVER["HTTP_X_FORWARDED_PREFIX"])$_SERVER["REQUEST_URI"]=$_SERVER["HTTP_X_FORWARDED_PREFIX"].$_SERVER["REQUEST_URI"];$ba=($_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off"))||ini_bool("session.cookie_secure");@ini_set("session.use_trans_sid",false);if(!defined("SID")){session_cache_limiter("");session_name("adminer_sid");$Me=array(0,preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]),"",$ba);if(version_compare(PHP_VERSION,'5.2.0')>=0)$Me[]=true;call_user_func_array('session_set_cookie_params',$Me);session_start();}remove_slashes(array(&$_GET,&$_POST,&$_COOKIE),$wc);if(function_exists("get_magic_quotes_runtime")&&get_magic_quotes_runtime())set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set("zend.ze1_compatibility_mode",false);@ini_set("precision",15);$vd=array('en'=>'English','ar'=>'العربية','bg'=>'Български','bn'=>'বাংলা','bs'=>'Bosanski','ca'=>'Català','cs'=>'Čeština','da'=>'Dansk','de'=>'Deutsch','el'=>'Ελληνικά','es'=>'Español','et'=>'Eesti','fa'=>'فارسی','fi'=>'Suomi','fr'=>'Français','gl'=>'Galego','he'=>'עברית','hu'=>'Magyar','id'=>'Bahasa Indonesia','it'=>'Italiano','ja'=>'日本語','ka'=>'ქართული','ko'=>'한국어','lt'=>'Lietuvių','ms'=>'Bahasa Melayu','nl'=>'Nederlands','no'=>'Norsk','pl'=>'Polski','pt'=>'Português','pt-br'=>'Português (Brazil)','ro'=>'Limba Română','ru'=>'Русский','sk'=>'Slovenčina','sl'=>'Slovenski','sr'=>'Српски','sv'=>'Svenska','ta'=>'த‌மிழ்','th'=>'ภาษาไทย','tr'=>'Türkçe','uk'=>'Українська','vi'=>'Tiếng Việt','zh'=>'简体中文','zh-tw'=>'繁體中文',);function
get_lang(){global$a;return$a;}function
lang($v,$ie=null){if(is_string($v)){$Ze=array_search($v,get_translations("en"));if($Ze!==false)$v=$Ze;}global$a,$Ug;$Tg=($Ug[$v]?$Ug[$v]:$v);if(is_array($Tg)){$Ze=($ie==1?0:($a=='cs'||$a=='sk'?($ie&&$ie<5?1:2):($a=='fr'?(!$ie?0:1):($a=='pl'?($ie%10>1&&$ie%10<5&&$ie/10%10!=1?1:2):($a=='sl'?($ie%100==1?0:($ie%100==2?1:($ie%100==3||$ie%100==4?2:3))):($a=='lt'?($ie%10==1&&$ie%100!=11?0:($ie%10>1&&$ie/10%10!=1?1:2)):($a=='bs'||$a=='ru'||$a=='sr'||$a=='uk'?($ie%10==1&&$ie%100!=11?0:($ie%10>1&&$ie%10<5&&$ie/10%10!=1?1:2)):1)))))));$Tg=$Tg[$Ze];}$ta=func_get_args();array_shift($ta);$Cc=str_replace("%d","%s",$Tg);if($Cc!=$Tg)$ta[0]=format_number($ie);return
vsprintf($Cc,$ta);}function
switch_lang(){global$a,$vd;echo"<form action='' method='post'>\n<div id='lang'>",lang(19).": ".html_select("lang",$vd,$a,"this.form.submit();")," <input type='submit' value='".lang(20)."' class='hidden'>\n","<input type='hidden' name='token' value='".get_token()."'>\n";echo"</div>\n</form>\n";}if(isset($_POST["lang"])&&verify_token()){cookie("adminer_lang",$_POST["lang"]);$_SESSION["lang"]=$_POST["lang"];$_SESSION["translations"]=array();redirect(remove_from_uri());}$a="en";if(isset($vd[$_COOKIE["adminer_lang"]])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$a=$_COOKIE["adminer_lang"];}elseif(isset($vd[$_SESSION["lang"]]))$a=$_SESSION["lang"];else{$ka=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$Jd,PREG_SET_ORDER);foreach($Jd
as$C)$ka[$C[1]]=(isset($C[3])?$C[3]:1);arsort($ka);foreach($ka
as$z=>$H){if(isset($vd[$z])){$a=$z;break;}$z=preg_replace('~-.*~','',$z);if(!isset($ka[$z])&&isset($vd[$z])){$a=$z;break;}}}$Ug=$_SESSION["translations"];if($_SESSION["translations_version"]!=1579331192){$Ug=array();$_SESSION["translations_version"]=1579331192;}function
get_translations($ud){switch($ud){case"en":$f="A9Dy@s:G(ff	:Sa2\"1..L'Im#s,KOP#I@%9i4o2ύ,9%Pb2ar\n2NC(r41C`(:Eb9Ai:&㙔yFY\r\n 8ZS=\$A`=܌0\ndF	n:Zΰ)QmwOmfpQ΂qaį#qw7SX3Q/ӗJ6g2qs_foE2<B6k@ZΦ#ƤnEcЂŒ>`@\$cB3:x߻8xJ\0|63,bׇx481Dc:CΎA&2,.(N'N78cC:EB6%Ш<\r=\$6-\n:ƀӫˌ3#94N)\0#t403WaAc@#пU2)0XIkl*8\00030[T6431@&\ru8>#}2m48C{C4 W>Ws2Y(	/˂\\b /d\"'~,r)s([3\\E\n%C˥z:PA,873B7B\rA Cx3\rJP *\r7(5BhU@OwjI~GF5!1ܐˎ[K06 gU%Ҥ:.hAGT/M8ŌT_qoc{2!Ȫ:)+`}Xl-˯mbJ2EH7N	S8l㇤\\[QmGQ}ޅk_&I؟^X>em2HL\rd𦩐R<O8׹\") VY\"\\e A s=\$0e[hsq\rDe\n=+ҫL1,~̈`qB@Pzu@\n\n\0)\$Dg \r(RA߫wLfi2d\\ʒO&\$魇b~'Č9t.aR\n>#os<@C4q<:@˜R\\7U\$*g!)I+%3֣&4pOz&.ZzD!.9TM&̨CLC'd16	G2ur1BxS\n0MST8̖91u%KV45es\$l1N82d#HlMO43MxCJ%q2'@BD!P\"j E	)&Ma='AT\nA[kv5\$879W\rQG;\0*{'lLGоŒ5L\0 cdɅ0CMb8\n\n\nˈtt0H0a3b6y\0H+lfǓ4\$YɯI~'Z,S}ą9P/ST4Qh k@)P훿bmJ=-*x-YqʞSkV*rҩ`cM@>liIAa M/d\\1	Pvkx5C\0^00%Mz	}S{DqA~m%?DA%0`Wsg6Jw;'c^&\r8C&~ˮToUL-#Ģ9D[XAl=AgIA\\2,򂉼PIZѕ^FC2;%&C	f;CY(C画^01dr#I&(IjG,QnNsZZ켔vK^ZSudbY6*%栓kJr/&VBY/=D66/Ի1{d-}fvE<)u3Qm; պ\nKuNa5lM]\rn7VTsoᚳRli`#|St-JD~Cɑ5&G͍	劁m'NoF#J 4R}?Q}V~=޺5ZC2vm1RM*F>f]LVmd\n]-bQ)*zVS=*w^EeJjycM΍\\t(W#W^#Lܿg*HW3@>\0S} A_,΂&k=,>r[̉Ir+}xnJ)(\"wp4.mlOnc\" +VEAN\rb0/d%N&t\0lf/\nyO#8%an%\0=>/7SJ4+\$΂0#pЦ,C_	t;\"2.\"	päPzq\nt-nR\$\rV`D6b0l\r m\"(lI,\0\npe\\.JB®rLՊ6/\"fT3JVCN	V\r,/0v)jɄ.AFfJ)财@Z:(*,Dbp \"Mf@ξM1.qKi|5Q}q6\$'mƆckoXͫ4\0e` `@4X0B%Kl@\"vR%VHldVfHN*rP,/-t_\0c)fZ?MI*L(R";break;case"ar":$f="CPl*\r,&\nA(J.0Se\\\rb@0,\nQ,l)µAj_1CMeS\ng@OgXDM)0cAn8e*y#au4 Ir*;rSUdJ	}*zU@X;ai1l(n[ydu'c(oFe3Nbp2NSӳ:LZzP\\bu.[Q`u	!Jy&2(gTSњMx5g5KK¦0ʀ(7\rm87(9\r㒞€B+\\cY*+\"	)\"XؐeJT*IPFt\"et~&M# @\07M0:#m1C38CҎKz˭L9H4C(C@:t2tA#8^2x9ΣJ`|6-+3A#kt4px!򞐖&m?2XnjP<+!u11ڂHn\"@P0CtƎ\$^#%|\"e͖\$Y\\ERR<:0knB,BةZժjlkR<J#XZjY<ؽl<HƖiKk/#`ch50к@d(@)\"bԇYn1dFVf6>\r!o1lkȦmEڼyddy=sdyZ>l;s ZBE,VMpWP*A0(ΩmCόv7LUH{ٕnjLv^q_P1h1C3ҍ06J+!k&%`*\rEL7!\03`\07P<C8a=@@pu7`9\nR\n9|%^cKl*\$\0l r}Ɉ2xn4D\n}OAUTZ\n@9)%(қJ }U9UjR!J'獁U3oVDAGj߂K8\$TLjj7pK4蝐(x>@\\S2P\n	B(eQ\"ԫun\"C\rP:D|`8eMpXE^\"%'!	Fp4TH M#K(Ô!k0h֖_n~M鴖l00@㬔\r,ןaH PR_\n+1}urjC@pe4C\\*ӝΓL!Y:ja6q%lVK7zSۣ!GR38UI)D:TDfj]0@DoUn)9F2aΠFTS9\r@!0 UA[IJpYA7d~OlV(V8Q0&k{h2VץGZqBP)G>G,AFr9JG:UŇJLI&})B\$FԤ7>fAH4L c~iQ.lkY\r?d{˜T!dEgLchX|Gũ&Jڴ~CQ^;qZ`1|rja@\$;c6FZO;IZ0T\n	7. \$6n#HiFTVrpBWŵp \n@\"p~&\\.s!v'dEQh{bؠ Pv]p#:P1Hl/qA-n⪧H%dX2jօ~2}kK*6SB+][ѧfQ.L̾Bnț#ABhσ0J9ld#g\n\$r̵QVu<JNtL[d2%M@L4@d\n`L2	Cq\"%\0*4ƹ55;\"-;l\nG\rvZlWk-\\T@tr;\\\n\\;.Q58CzBhߖn>3 E#CȽξm̨1qkvp8d`T\n!Ae0iJ^LJ4( (̈F(}G-x \"ˈ'׾D%'X+Nx~!OTybڋ0RS&^W^\\zyfJ#۲ҊM:?Hs\$\0ۻOqwi lv/n ;Mag9>ܾ\\O2\\2 &<KSNv[̒?9hx2?I\"hvG yb01ͺȣ9B\nCCc<<䡋uX=}V.f,D	'dM\nipŠqo?FpqOLh.OdD&ŀ]j:ƭZ2l*B(lLňW̜C0g+zvp1ˤE+\"Vpx\"\\\0Pń&/lOF͌HbB FyH\nPp㏧\nMkPoPq̤8baBOVk1)hP8=\0%Q&ݯVl)'12 DʴC\nb>/POb/e0ob#f^ȐOtCdj?Ԭd4lpάb/XDqVq,F,<L1la\"^mm;\rG!&0qoq\"\r,*!n7!Y-r&q45!\r!‚s0{8:rHՑI2R9E\"o\"/fiØ ‚f2/\nEh7\0rc(A2+2\$ҌPsvf\"2C\"c(,%r&ς&ΟҨC/xߧo(tއ&G\rR'-*-,/pWJGY\nDC@*K11җ2D>k&W(R.Ec+*V16Ҭk&qmC*bEl`M\"rt.O:.DNB6`g\rV@`tL`x}@Mf\rK\n`\nptHW;Ngo	Fj#0FF3ؓ;ZN_%u*29X\0EdtL{BƦ_&`\rTLI>.Rv`-!F/c3s0+ǃ#0{{H\0-hI\n:6cD4(t\0d\$YCq8DL+2*XblsqIԅDK &Z.e\0BNې{Ls\"Q^bF'Krh .^8lf*:Oq~l|Fƹ\"悬l6\rV7s@qª]Kc~x\"a\$	\0@	t\n`";break;case"bg":$f="P\rE@4!AwhZ(&~\nfaN`D4\"]4\r;Ae2a.arp@ד|.W.X4FP\$hRs}@ЗpДB4sE΢7f&E,iX\nFC1l7cMEo)_G_<Gӭ},k놊qPX}F+97iZ贚iQ_aZ*n^S9YV~]X\\R6}j}	l4v=3	\0@D|¤[^]#s.3d\0*X7p@2C9.(+z>PKƁ>B\"vi>H%(Ypܚ\$*Z@*pBb6#tPx9莎1c300c(@;#7@8P`@O@2D49Ax^;p1̱@]x7IRxDlWCL4V6H7x.1ےГ8S)K;+\"%Ixږ˳{pHKr<Y-b+#=(ȆKJ&BIF4!Jxܥ\$KV #䃶\\Ij3	5yBHh(JrA%Vr䖎76tZa%hE0FVf>QF\"4\$ҩf(?)Ax/R>ؿ7hK\\\"⛝\$,+ye> \nb9+2z\$il]ȳ<J\\]:/rFm/(hNv'sv}N4;-zdswiz<~򵩒?gB #6PpAwScA<Ef8s9˜n:	+EO3=\"H~&\$W\$%Kp\0pd6PK4!E\r%TJE]L<J#ADCNI\"ێ:+Ir~8bH./5D%΢)^%%⃣6UEt@|FIŤd`x}1%TI\"aV3*ˆSb@:ܟdLK8C\"gS\0M)<Tʠ;Y*xrV*2@c,YNVZ-/GсI 솔i\"7eN/#(vq䛓ɭ!WĈp\\6d)u2T*RuRRV\nZ@HDW5~ё6d8=W p&mw97g‚\n gmSTw^Q\\/FܩтKTPd,uC`lCQ(he`3@iFêwO!: :e(( jnXCd\n8G8I4m{^\rb=GBYH\n& (-ba1*(\rc`2%=m\r<9T(gJ=:&Czu(@'x{Xۉ@kЊlOH'AZu\rF\"Ó40 gTMC]e(e匯|J\r`'t#hqEII}Pdvn]ɚV(h)Gن<E;_SZbnk*8Eo,`}\$QxDl|SjjY/ *VRQʦ\r|F^+2(5 \n%27ĂJX),Q+*ez`Fcg`\"?;XfwGB옚w˩U˓Zɡ!*Y;#/)t2g44FnŞpY[Cߺjb\nv4R&^%njoRA^ofɍ\\BԏzJ0T{ljKʦ/=knҢrD+?2@X.Z'-S^B*	I[iᎣ=,7\"s(rMຆH͚s3KV9Tʝ@uG4X6Fɳ,am#1!Xd]rG!^|6F&vZ\r\\ԹϷb+9i3(qpc△vkx!tn>Ml*+n\$B0).w:J|[2؆QqHC^'\\g&_53KVb׷DX.X<NsM#8.w\\9lU-(4!*@@ !֟TݸM9'K{r('RnZ&a^0`\0|s>,*Lj`R\0<Ȋp+PdIB[r+01Cdn<p9΋\n @ǐNë\"olQД) p6D0`H&|\"ЇD&&pߣPi65,|.!</dndfm<-\"?*Z\r\r.^.H \"H0PJ#b?ҧόJBr@Bj&%Bc+f𐜈XBL_4|N,0ejco/mB!|%hR|l\"N:0p1䢍|'!G),txEffjGj(zJb~}T\n8\"6%-q#'?#Av!\$F\"fB!#7!gm|%Hu-1:#+,,P0P\0RڦI)M.2})*1*mp+VwlȒ}n+^d,W+r*QU2\"#=\"rq/,?/&PV4,fp@IS93u-1*b[SZa+Pd+#jYˏ쐎5*T-o5)\0Se&XGqw-d{.(1Pqi\$x+<\r8j~:n@l/pH<*d|,Βz90q.ҏx2)8\"8o_l%튞/K#juCݓb,+xij|ўu7*	6+DS'E{S'.\",~Dr8|pp648T<t􈒲tY9,?͆~7@MEHfͦ](R:arJ;7i6JB֊d%<gA/6tJNm3_8CONORJ2ލ&d+ef|U\rT^\nO4&CoKFu;P4*,zod*D2/yEUIt5Eh=T]C49<pB' %6fipfOUwGDĈÍK\$4Q	j^3u[^4cYv#K\$!GaQU@b iACpZ/8\$?	11:U,/(E\n	\rM.~hHQkkG92TMcVh_vm7n.ur+&:j@\0b:bchtj +h#_U'\r,.\"<~4@\nZ4pY1	\rVlL0CV+Ֆ|2sţUg1ruA/&^R%jP6N42`pW6?u04D1rGPZ(FkP|Krvw/b*TATRke5jTS&vtN ꑿ M-ck*r7zn{zFh@w;i6I}Tc㮤L|׽>yC[Gl.|WfA)FAv3_;OͻBJ\0Bn@Z3\$4BH\"צl%dhFD4	%8vt!/^Y[	\"4Ex6\\[Fe!/玊uq[0>x\rE\0^5Q00%N5TGĸ&u,N8";break;case"bn":$f="S)\nt]\0_ 	XD)L@4l5BQp 9\n\0,hSE0ba%. H\0.b2nDe*DM,OJÐvх\$:IKg5U4L	Nd!u>&a\\@'JxS4PDz.SE<OSkbOafhb\0Br)QWE{KPP~9\\l*_W	7ɼ 4NQ 8'cIg2O9d0<CA:#ܺ%35!nnJmk,q@ᭋ(n+L9xkI2L\0I#Vܦ#`B4: ,X2,(_)7*\npp@2C9@0F+z3Ҟ22KW5bIm*yBQ8|NK2C*S\n^SS̐ l6 x>Ä[#r`5\0#;/^=H; X(90z\r8a^H\\0յ|7x7ㅥjC ^.A7`77^0ӊP}+r\"ej}RPF4S4|0/_B:Nss%P,>.ʞ J4#]INU@B9\rBv/NN7٦tˣSFTP@SRSEqP:y5\"ª\"[6V6.~OzF0J,jAyO10j\0H4L+ԺQ8<]a	Lw)q}.k%DtU1R1nÍ\$7I\"R.rFDF)ԛJTcDg! P)#0g!#ˆ݌fO“V)HsAzaSA'vLlR,Kbest`L'znGJ{5iIB|\\S1P<&q>Qz.P~ra8G8F(%JSzz#Y\r4ʅ3؏Gw\$Y{pJ	(s@rGt0f\r8\0K2(*Cpy4U|37tָtR0p“kj7S\n)T	D_;X\"\"RN0*|rk&Y1bq4E`O[ˁq.E̺R9/Ք`z }@X2MaL26w0^3!ƀ=BC#r^ּ؇IUbIJ\$@Ւ~kMjJl-\n\\tuֻCrly/H#U_\$6Wt`1\n5nd45\"d%EQ d7AW\rb<9NCf\nW9beMK0;H\rXUc:qnR{!%\0ъRQ6\n]\n/QeH1\rT@-b='Ur+Uybxw%s4R7j=P);\0	X{+\rc-fw?4U Vx> 겓[h\rp@˜RٚK-,WF_`Yxd(\nl4WR,(ޖb0)3I2XY@шל4ID5xB;f,BLk!VHy;vb@	>Kp82n\r+YVzc]BQ(\r!7˜T!ϕR	KHO	Rl+ i1|Qgb=Vd\n!-پfU\\JRѾ9WUzXK\0\0f,P-j4wG8gxlb+LD6d2)6G5[!PJ;)H#dxRd`6zmᣉ[,)+	DI0҈ɪɳx\r@^IaÊ7Ph]t<)\rͳh%FFhETxc]8#.dcK3ZwB苇\"<),@Nb)q~gPĵ巷9ֿ;2yr>]9[&a2)e*k{luOݜS\r!]J1pS:r>SO&U=;x\"b	۱ r/`W<oDHiB@qSZ4df87s!`N=ie(T#nu.8((CNJ0@*)l0J-nNGnQ()O`e:3N(~RNzO<w\$\"H \n`MV,W%vkj}n~t݌\\鎀#fA\n~kF@8}\"c	F֯8LbIO\nh)ꉶO1	h8Pp}p(0t' \nnfZd*S\0|#*)͞|=ê,OB\n,|n\0S	\$zΚb(gGoe	Y@M\$'*0KRR1Sނ,,f(خ<olQljTG(QibOJm.Oc\"LFzƅQ-ĭ-(E!L\$2lr-5N!4-tt3pP@ja&07(0F.\"J,ꮂfQxU\n-6(w#\nLk)Rv~d90R(pf(#5(*+,%)҈nvH/*.nflN(p\\T	##QD\"c2j#140U6SmguLi/H/0ԯ21/g'5g&bŠPyLd(Ȗ-?-8i0PҺhs-8sg	k3<ѕ<&?9>cae#(=/!:stwi@pCJ&AsΤ2ăuH=sD+Da@,jk^2/JB %	,s@,M,hcZ	4.TcK%>7(?(l*f+X&	.'UAT!^ƃRCNj0f/!GIGNB;xYMBKb؇d\rPb\\!Ok*	!Sϣ5BHdoA\nP~N@m<mⅎ=8/EHNXCHR>@Ue30/)[R}?U3QI<ABLU]c]TY2o[^B^:GAYεUY{A-Ua1a#i8O%a~I\$'Z-+c\"cq!!j; uԵZc!EpGZR^Ƥ{fJ\rYRY9/QC`0m_U@U.naO_6)DD*&(k䤒_\$hLG#e\\v'k#O&\0\0R\0JZH4O^Qxi4kghU@W#mvJ7ilkqhqpeqrul`G_TDs'(2IVq`;u=kvsVg.Pe4`cW`@GUh~4pgSQlaGDEa7oYmz5n0WCw{pG{#{ƪ5~*.FtgQBWNztRh'zGG{o԰@@m\r \rhMEqG?iN\r\r ̕E.`ni\nZx>I74;{7҆NLBK|8Fï|uG-N	JqS)N̎,dO츮(Q\0@7Dduv̇Q3FWhH!1#jvb2(jL7ga	j[@\0XHRf~W\n2-o@m>r!QY02rb8V;S\rjFeWqv	VÉRmrxߔuf[f)C<#@^h\nUϒN2튕&C\\07y>uurp-=2T%2mn S9T)MdTε)f @W汷4urSY6('{+5\$s:#`)N/R\$%=5	=h_{Ogg'[Gup&z@܀=CtYoR.v̑DEd@	\0t	@\n`";break;case"bs":$f="D0\reLS?	E34S6MƨAt7ptp@u9xN0V\"d7dp؈LAHa)̅.RL	p7LX\nFC1l7AGn7(UlbeēѴ>4)yFY\n,΢Af -e3Nw|H\r]ŧ43XݣwA!D6eo7Y>9q\$iMpVtbq\$٤\n%LITk)乷/6f9>(c[Z4P *0‚53*-R 29({T\$((8+#j((0h@4Lw`@ #C&3:x3Zr3p^8J22\r˘ڏ#x|KCHFCpb9X]0\r1+D78Q%L%u7*;B¸†C\"2b:!-a\rKcuE\rڟcHr#@kkҿ7 3#֋Qˠ#ünH(cM3Z3?bN:D\"쾪nDV5.5hv0Ahӱ͍Ӣ∘e<HQ5=3thun=0B#PU.P@QP@h,\"')h*cʝ')x¶9+gP#lb4Ѭ\"6N)'(< tCipr;C&@K솮\"87]pC2h@3	LCm7)?\$:\0u UB9ߋ*+]o@ªR2*6:t`HAY?\r.a,3ܺ\ncL;֋prN	Ȝ術>K\$\$@	2\rde+\"A+`.ԐAтtiI*)],优dLɡ5?@`XnN.@98>	,ӭ5n46XGd9<3!is#>jaG5\n`er#~Xl\rc\0a<f,Y%\"(a113Iwr@Ĉr#/!/i\r\0(e9_ă#r4K*8h)5+CVmOA;â^L;u8'D~\ro\$\rCrt!'L])\$鰥 ) ;CdD\nԗ!O&Pa 0CF-d;	rfMVa\$4Qх!`)dÈu5H39'1ē%t54TɔAO\naQS*UA B)T,%Qp  7bC*ɩILsG}ԑ*C\nlWgiHF\nݝV\\\\L\$nX\r lL̓hv#f~\0\0U\n @A l2f	 Z@(L[)WIB:VBKh\ncyjNdbDޥb.t|ų5bgn!B-͂\\36=қP[UhcDs7D>'>*ȀENIS)\"SE'd@ߍJmŷϑL{Sj̱Dl7á0YsmezP\nP0e*)<&ՃS;qw1iޣAlPFPN	7<P%(FRRm#()-xAarKզAD8PBHG7kNr8YABU	9I@̑Y{Dm9<T8GdC8Py:m`7%g'}`\0I'|P(Xz;MFsym˄fQgo./E	\$p=of&ۇ|nMǶ\\p^8(Imx%HaZԊTO*ѵBIF)sugP;#Sd8\\EC(b0QI?\\T!j}u ]-N:*UFyIw=A>H̄|I4%=!z89w'Y[W},a=q|+h~뮬+zk{^#\"aa|V~jhk耠'ΔpXOCZ鐬x0(uLΆ\n'%BY^F/@C/n<&Pr+'N\0%8M\rap,(M\"Fy0D/1VL,Z&p'KA(pAicHd.Lb^zeOJ3f\n>\$>~(вZb0 \" /q\rhԓ ȕâF9\nkBP|\r\nkooPp\rBalX#	%0i~ͥU		\"`h-P`f8#lXp|*\rS\00%i'faN\"	MTa>J\",cNHH`2KQj#a'^T1~D?~e8(dCTI@@#A	 ÃC+!jT?#t\$#Q7i%Z6_qm#`A\\=I	\rj\nH1+cJFm,\r)O*)T:(f8eE:FBX`~{#W1+El*cr=#6\rVrxo+\$v#\\MbPGc\0\0\npqNj\r2T73N24U6F^\$nLT/'\\b10&b 816V3+nH@\rä8D@:B@	\"֡dumi`ʐTE\\2i#&\rbv*;K>*LG-@0\0T	>è+21*,`1iP3pk\n>(0\rl#BID B',8^F\r<nB_0;D;Ib98Zt13@.ԄG,\nMN2P:U";break;case"ca":$f="E9je3NCP\\33ADis9LF(d5MC	@e6Ɠrd`gIhpL9Q*K5L S,W-\r<e4&\"Pb2ar\n1eyg4&Q:h4\rC MXa+\\>RLK&v3épt0Y\$l1\"P d\$Ě`o9>U^y==\n)n+OoM|*uNr9]f%3M)pȺh@2:H!0pP:\n0ȍ#Қ1h2e1KV#s:BțFI4+cڢÔ|0cX70@;CI!p; XD49Ax^;́r?%r3^8J2\r:˪|B!^0P2ȣL\"&&\r:M2h 5(S1\"hılKGNp>\0<\0MaX 6j\nHADg#)\\c o`猣0Gò:Z9H`PDP> B^I\r87#`7b|27(pah&B+G`Kp<F\r#LVD03\n7Xp&.(CuaTģRL4%<9c+!DcҀi:7BZס& \"ը\\r\\<@S<T⠂:!ƌ#ɈJP6\\K &\r,!/62F\rѴ*:77K8\nU *\r}	\"3N\r%-C<3+ˌXż2Sގ}'w~R	\"b*0oBSFӀ-ʌIL	2&dК`wMܼCp/@eDADL;)Ff4t8&ungE^\"JQ/D&CpIOKS(r\\K\r1TΚSZmM4@MRPY?@GSt͙5!A:3r4֨{ITU:.Uh: O51\n!Fs	z/i(0a(Fn4FcYM~sfL!o\$p8\0P	AAQ(ezo}ol*mސPo%I+\rҡ&<\$g%nZq<`h&2,#s&*\n7@7C˜Rjnx+qFrR\r?`%fK(tsН\nxy\" ֻ&!\$I/\n=DRK(H	*?(}ofc6A@'0AI'`/cI\0R+ʓ-y[M:Sei]M.*&yIAVnR5*KDbIn83SLA0A.<?Db/I}\0U\n @m\0D0\"d*#Y=͵R(N	1#PB):d)j݊ѡSk	He4D=A1#jxĬXHh5ĺy,ݽY8!F#\\dT\0\$+P,8:h1)<䢒.)ZjL3ga,=Vk2BY⊂uR=.Y:j\0]2vO,5|4Uk(wh7S 0kr-WcC+FX#!hqLlj\"0P:%ɏb@a{sj#\"FE˝M̆]Ј)-)\$h|\"6ܞJ[*#j.L|Ãn8]Ac@CV4ckˮNĚ9 }	n%	5ʭ\$:^+G&*ϸ\ns t>UYO{\",wۻ*nկu7on욍MdOhܐ\"IAXDȟPղ[W)R6Q+Nry41I+.5^Ibsbne\nSzMO/?<mLhVMߥ.B;N`aH٣@yo?Gu\\pEU=؋E/x[:y֨Y&fFV0QaVڔKR[o0TK\"TH`F6VqE2\nra\$VO!tyNyh%EjŜMCI:@R|kX7t7~_3hƆ#-W/?in}*Vj#p\n8ebڠEa\0#\0m\r2keͤ&o0\n-P0L͐R`6G~2@N.C>u,^4)&7\n=dDfk\" 3DS//O%㴅˾~0lr'\0-xlo\$=\n,^mfiVː&	p0\0@UMaKfɏ\$ڰ,4S..Aj`X;Ṃ\nhMظ-@*2\$	\0QHpч\n1D̍`yɮi*25+9/1jqH[	0h)kN,?Q2N.Rk%QQ1qM1\nL',AD.1!J\$5!	(zѰ@-).IHGŏ\$OqD/\r%XF둁P\$m(&&/T e4\rV\$BIF]O<@ZarljAD|\nZwI&M(\\8HR\0fЄ&Z ޾BLf C?=c1m\$§/qcP&h6F2;1e'BiNfO'0ZcdV(hNP4~781Sɣ| 5	&̌}8\"+_(^Sʏ6&F:@kof8f>`Nc, gJ!E)XSdj/GK2 i3p2\0003Z\\3*Vv%6l8>n: .q\"D.j[Rdh	\0@	t\n`";break;case"cs":$f="O8'c!~\nfaN2\rC2i6Qh90'Hib7ii6ȍA;͆Y@v2\r&yHsJGQ8%9e:L:e2Zt@\nFC1l7AP4Tت;j\nbdWeHa1M̬Ne^/J-{JplPDle2bcu:F\rbʻP77LDn[?j1F7I61T7r{FE3iǓ^0bbp@c4{53T9(5	(持B#Z-((\"H#z9¤0i.6#tC\"\$ɻ.Vc@5f!\02A\0\rX@2D49Ax^;p0\\x99cR2ɨƎF#2Rix!V+2ۏ! P74>:)c[^x6szCmE3Mӭf\rcռ(p5Ѣ9UL05HK\\U<h8*Q P7 P#BH1C-71b^k%\"cp޿S#p=C=3P@P2\";@HFMBb`ȈCd7,(K\\q*U(2wvŰNsQӍ+{FR&yRâsFFz4\0\$-[#lnňƿh]6VPP!C9X1P@*Cҳ\rn9Ҡ:4bFMx\$>ەQD9V8jqp0030̡FIX2E0#ejm4#HR9aC[M'^^؄V<s\r̓l	xy~okz_`a_\";|㼓^`y̹\r=Bk\\?@ Mՠb4lce̢%lTVGoȐu:K\\\"êOJ))pTR]K1rTRl@>D\\9H*Pt.rrC0CjOp47\n)5spXqFII4Wܼ֒e (&䠔VK	i.%dFQ9&<a:v	5b-șL*	<o?„tpg<X\$\"RJ{HՂG]ESHvohQ4!qPVR-|l8a|^IFN#H\n\0yQ[=(*\0:\$H4b0C=\\h^єޘw#Ijt.خ,u(͆c>9	9))&ŪH.qO\0C\naH#HgvN;oI9\$!˘*8`8L]+EW9NM7gS\\h_1錁ThQRiB{ &R@5`5q \n<!@'0P\\h(l\$nywˆ0iټjW\n؂8 \nlrO}@oDx*C|*P~L\$\"		XC\r!uk\\Y)5d<b*4֑ryo=\ndI	T7DUS,\\ʰBBd7&\$^H\$dU\"|qVl5W;JZم=\$6sCJ:-*LVui.ˁ/ + 7TӇ\"кh*6S[o9'*C*6	uD(njBj_XOt54Y-AN_E_;e,VMKzu*AZ2/s	g(C8J\\;\nfkj.d7z	EE	LoaA%.gT!\${I69@ߓNDK/U?^W(`bf_\nV'5O4pBm\r%ƕJO51]mU|&leڝf|e1z1\nuN[s	s~6arٹE=uhRz;f2t	]yxW=:׀s'Sؒ0\$i?iYH`'yrEUd0*דW1ij#ᔔx7!Ɣh(ߚ>?(\"&pJ1)u}nE\$^oxCΕY7PF0P'_0O<4~(:m^NcK\0\n:J 6HLTeI7\n]ظjz*\nE4H(JwxFUfڄ'`U@]eMb+)\\i\\殔%eGp+/\\YE`@\re`,)K\0&2з\rELIT#P7\"Vn\0=@\n P<\0dDpOp\0VĜ0#JgD C=n4k;yк Fp@C1MZ`plyx\r08\"3.Yi]bbAI»\$UX`I<dI2H:F*28ۣ̤LBi}#N+CbA1x1\\ٍxEjd<fi\0lQYXQuܱf0;\"!\rцƘ8\rZ\n\0/\0PQA\"O\$Z\$#gHg\$'Lf:=FE	b*2kӅ<A-%0P+0&+?lo\r^ÚFULl{-.ɇUP&BZ\$Dg#-1\0\".4ͯ2΢.-'M2:r?&R7D5\"g%R&@5\nw5;6-/r5\r	5q<Qp\"n˰mЭ:nw9I]9ӑ0Ȁ#S4s%`#*=d\\C9#9G:;ξm:n5f1Q?7?N?.(\rV;†aƆI,@i?oNj1BQ	9hl\nZ\nऱS@I]F ntt#TqGEl3@T\$j\".D@FlURhB? YbE#/{]ņ8\r\r(N}KCo,Fj˴k,\n<@RVAPV(+O!{O6nnC@-̣	\rQ@4Oe1({\"jVS#Ss!Q5H<CT5BF\0eEE*D?\0a5BG(rN`,2O\nt\"1Y`2\"UoܾE#'U(rk^&QRr:4zȦ?]6S?[\"4BD1p<!C\\Q ";break;case"da":$f="E9Qk5NCP\\33AADeA\"o0#cI\\\n&Mpci :IMJs:0#sBS\nNFM,8PFY80cAn8h(r4&	I7S	|lIFS%o7l51r(6n713/)@a:0\n]te8g:`	hB\rgЛ)03h\n!pQTk7WX')jR(Vñ&oY̘ BcbȢsBO2\rZ2\r(<-掎\r>1p1?4@:#@8?\0y\r	CC.8a^H\\(γzƃl\r:0\"px!N+0cj2?P5d3HH;ϓҎ|	B\"P0Cr3hhTp:\"Xޏ(*#US\r|J/`7ƞL0264#:SaM7B2+<\r3+0*U:R;@쳎k#4m`U	L\"\njp64c:D	6RmM-PZ9l)\"`Z5D)>PM8hK\"	\rc(a\nE-K6ãk=^jd,SEET\"S):ZZ :<&r\r2oD.Tb\\b#A\\8v؄^dk@bOb^ϴx3_O6*\r<DC5AX`3+[rl`2S\n\"c:\$%m:m&QǮ\r) HC#IT	I㔣)‹d7K!R<DV <5\\.Zp7_C#,BN[2YG:} #|EH\$; rPJOas̏>i2D횪L&|ІrtiIUɈACyXλ4޸ EfNfNzuL9)h֡WfmL9spT\\A\"0\"pN@\$\0[	>(@R.ğN)d4fˊIrSlD2gY/*pK@fԶMF*\$e E|7`Ѫ7Jl;D\$-)\n&İҠ3Fkɂ)Jn(Ja.3b|	#&:o_[?p	8I\"!彗7'EО?1%L@)BO\naQ\"=T3nHm^9RRjZc\rĐ3i <H!9s'\r90Hg\n2P(CjܳF[RB2'(\\s(6!K'@BD!P\"\n(L<OPRC)-r\ncjgP&46([g,?a534%EEPHQ\r\"jmM蝌mre5s=5TS\\4}6H\"0Q	.OV.uo@S)J8p*(qsCHzURA:4dW2~KPmST`	+/ E_Y%^4aR݅ګ\$mZlʨ*of#Ĥ	Ae5!Y1`ֲDhC*hYd(5ꀘPp7)@ʲ7,6b1Oa,\r	١	-,cP!Ȅ\0L\0h=BBE#\n[V+\nAyT3H_X.Vgɤ'	p\0Xo)xBI-Nl\\l:!GU9OU\$C'ͱ%`8OərsBᬊmо\nyc-*K\0(\".\rdvܓxph%Fp`ո@͸ܹәn﵎Iwyn5.q/\"`&C,S6EU(L^=>TOe3QǓ:*^ R,E|NhAm#\$홡f@q\$C96vyBxFOBϹJvM]ts\$oMBG|eóoIFv&*7ۊsJ}?=윗2C+80\rucŞ,qjKUr9xDhpr98\0Cx\n=BbJUa<TXSdh ٠1780;POpNeHO<Q\0L\n\"N	g=\$<J\r2ͫ|40M\0~`F(RȚX/0|BP)qo'pDH\$ezìD\"R6О|LgêOET/dfάUlj.c{ZZ-,aiТƐ/NO`x0\"]l>0OOڕ3C\r	T/2P1b`\$Pl,KFqHDBuQOU,e-^ <qvQzpd\rV\re\rmFL(PE\rL)oʇK\n	;RN2OO(Bfܷ#	|'ʎI7;|!@Zp1mOU1->+ڄN.\ni9'0EFT2.Ta2Z>k`f;6_'NaRl+'0E)'N\"b2+)&H6Pe2[jڦʁ	%r^ҨB:r\0Ccd2\"س\nJǢFzOqo&{<_BƴTҊ/P@-7#\n:ԞQ>?p&";break;case"de":$f="S4@s4S%pQ \n6LSpo'C)@f2\rs)0aii6Mddb\$RCI[0cI S:y7at\$tCf4(e*,t\n%Mbe6[@rdQfa&7n9ԇCіg/* )aRA`m+G;=DY:֎QK\nc\n|j']C\\<,:\r٨U;Izdg#7%_,aa#\\\np7\r:Cx\$h0H \r;.,(3(#;C&\r:1J j6#zZ@x:fij7b\n;C@IÄcC#Z-3:t#QC8^E.xDl\r4J@}1mIS:Cz::b;Kԥ%NBp:nj摏@Pë`懠b!-abtU#\rhڎ8 xZ\$NBѺC){&˄b\$\0PR03w:eVJ*.RT}\r̙T6Tez7Zރp(hh(߅b)-1<7E#][WNBsuL(c۱D 5Zr5-X	#ls8OX<jJLG\$Fl18]XAIݸ۞Zi0C\r-m{lTVBC8h´Sڴ(3dv#6#l`9PX7Y\rh`X\\r:8A8. bj \" )== gr3}~^#*7Hz\"C\ry:\0<w2e5GF<&(p\"L`LA2&gSZmM@䝈/~#PXG\nQΈ(b%Z^T\n/ia:bD'PܡF\0000XhLi3„؛pG0'XdS#7'\0Co[yD }1o1d&ԬFkG92ըM9`\$\0BdXM='T(BJ^d68oK+d0BcQ\$膖>_PT20`	%`N\0B֘ g\rبtL;9#C %8:8KٱGOC\"gsIGAAQ 0h3dˢCo%ڮ0Q,Y)\0007ځf,ID6(XmU\rW;2WC !,'dNh+ru4֛QP0 \n\nF/))E~(Ƞ@<0QHgGM!5T:2rM\n'\0RA\"_ÓM.*?AH!f+\"MuPޓVEOMNdHh\$S3\0 -],8JS50 =5l]G(\$J!}ô~DO\";cW1PDv2\nQT035ܽ(FQlG*BEQ4K\rW\"5dKoF[x04@BD!P\"҄B`E‹*´Վ(u'[ja<8K	=&L'^5{sѭZR?Ԓ) wSŻ#X>GB50;SYKM+gQ<˄ÆrWkD1@}tBLK]&XMlMY B~\n#8TlpEAo%TRqf1fgTgHQV[ڡ\r9X,@U/0\0Py`<\ndpA;LF3&.;@ëmє)a\rf6PWU`%ug#2,reL*\0qݜ:8#]+ȔuS3YFybj\\,Rќj|S) KLjung*BtB`Ag(2<q]L1A.O\0@֒kƒęO6/a';\\ρ\0[ԏ<wsyʝb/,7K30_ֻ\$y`3CH_\nYnt+ˍ> RLTr&RLj<B+ږSņW()4XuFx\\xHiCs}¦h>+(6Y.;7G%?og/+ro[PƳf|`whr1_)A]]}.Ī'[\\B1EDIH0^t+f[lGXN֦*Y8( P	T,BgOɬ~PF5>B̲B0Flrϓ%\\n=`nnVzoj/dd0~?P\r	N#\r6w/\r%P0l0rp\r,0\0V\r~0\0KO:#>6pBfYh #ZGZDC,Jzpbr y{R >+'-M|vBlFhf-f9Q4 Ͱ٣1DIppU\nTpPq̮\"є0q-(j7C*7̮\ne\\#`	Ijlt*[\0hۯ1g!pM\n	1e^\\`AR:@R?\$RH:T1.6 2 \reWCil-+{(4ˏ(y\$ҒG^æP܍)Cy(+nE'(&CR,R#q\"B!`\"܊=`\r&S(X\r,=/rFIOq/&`wfiֳ>DR`kL'pne0\rW1j֓`0I+\$m,1& \np4ޑK6&p|p0n@ɓP' O%T+2m؃RpO`;/*?nD\$\"73J0b먲3U'bfH#'bEkB-:EsI:X̒:b PSdH/H@wAp)Co@\0PBM]Dɓ\0Q\$u)~\ng4=M@x2\"Hkjl\$x0!N`5Ţp\nR'D&225\$.	4S B\0Ÿ7e_5NB4,!FT&N=fWC\rjg\"M2vO@BY@b84\nB  ";break;case"el":$f="J=Z &r͜gY{=;	E30\ng\$YH9zXňUJfz2'gakxc7C!(@˥jk9sVz8UYzMI!U>PT-N'DS\nΤTH}k-(KTJח4j0b2as ]`株t0sOjC;3TA]ҺaOr4vOxB-wJ`#k4L[_\"h-2_ɡUk]ôu*\"Mn?O3)\\̮(R\nB\\\nhg6ʣp7kZ~A@ٝL&.WB\"@I1H@&tg:0Z'1vgʃCB5x7(9\rQjA\"╷њO9¦sLJ錆M8l(]43\$%ΊOazᗩF,⸓‰YnRa,# 4@2\r(K<:[#Yu`5x:#9\04@:ׁ\0ec2\0yb3:xw\rUVLAt3(㝳m\r-V(c#x|5pvg)Qz\$PX/;oD;:d4e\\fSV)B@N꼇8RBg%B9\r>\0<(jeKNv/!N]<Mg…B+Z6-DF2C\n,!ZQ5b=VA0\$Qq7rBŶo6'l⬔|)IuBg۾Elm9%H<P%C=x7lBf[V5ԧр(=<@K kɗPQEȋ˝} ܊8H\"SP/\09}~PUq&/(sCQs &\0jt-3XJPa J12>ϋ9سK L7Dh\\IᬆÃwE'B+>\"	r_'ܧi \$BJJT3ܘVBA:\"@\$	D̄{MQSM_|Tm8FWS0ܘ;HJ\"EԜΈ)n@&\$[̸c#\$z:FėV&OO([/xRJ*hY5R,)M˙vԾMr5L1Lb ː|n1eJ	((x@Rڳa!UUj9-HdU|.ƹW:]kwuK}aC\r_`RD.^!	H\n})EVODlI:ϩjc.D{(i/J5F|K!ݏ* \\ˡu.ܼ^|b3`pvgǐR)e>*@2qpL**SvDEqV1VEB`͹M\nJ5%a:	)!Cl'?\$(j\nj,9g	Cfk409U|0u7uYqV Z+6\"@\r0ȲH\")%qٕb#䝾\$5eay4dBF-_~8P	@\nIr>Qp\"JK)7n[`Õhc4BHv3՜DV^\\tsءID3/:\$דoVk9u~.8-Erj4+y\r%(\$CFE|044MІ\$Q4vzN3)9Q`rurT@VL뭵L.cr@^DJv){ݕSP+B.a?nR4c&LQ%EOy&fy&7	~Yb\\Va:20 \n<)Hh=PoU[R`ڢ}eZβP:C_Ƨu<PJ3DJ&N^wM{͒L\00lEVKbSx׿/{gX6Sp\rv\"Q{use H.\$N9\$p%\"XgS&\\8.mtgAP	=1A)g)Y뉈4'?7gTm!]՘h-IW|d`k<e)hJ!fP)).~.	q?iHЀ`bY7S|NA \\c~<|RJɏ[_C1)'`\"h,(]>`ot,)9ǨoLN\rǖh>v,BH#m2!axQ/\08x&DIJqKV;+\\poDf{JG>Q~k`E'ydڄ4\"ws^~cj/nhE;t&D7h|30<BdtgT(T_	z}pnO\"IvhGcYа|㢔hOf\n@\n 	\0@ L@VE\\LvV˪W%vINF)/D4JyF@#&9b90BBJ-G卐5\\4h|„Eozb,kO	5q+Ѵ.q9@\n5gbo*1'ì\"	&~&ȔbZk aQ)qnޒ\$)-affyE~BnX0T/\"Zb%r4.24O\n~Rh\$G?B'⒘v=Ҷ%xU!'ȸ@NCVF\r0h:OV\$s(kO.*M/00|3!-쬏ns3K(D2,\"IriPI.\r,B!\nw5pC5Q(GfAk6:i0DIi9v=,J\$>j~Ӆ6S|Ӝs'7:;e:1hX?ӕ;l<#&iNIө)\n,&pP0{.'@h291)V-p\$NBCT<;ς~}/MɩD¢^3|s6isiF>؛=N%n0Q\$d7=g7T~oC\0w5R2xe؅В*_\$&KuKL-\$!~.#1tM4Pq/MBct5rPp>)gtIw1hw-U0U;DSi9i	ÈEؤ	BfqKN%oH*ó2@MCȨɸ\$&4q<yx5eEz&ЗWUBeHR-TN3T\nITpROuL5QsCH1FAh8\$MQfew\nuVgO[RCVDTCJ_Hf)QHU!KUc&yUhE]IPbPby,)\"M&tp5R6qbAJԛ!g1gfYe5eyh=@ai\$6ehZUgbm\r҅\rB(?#3&/&-+CQ'*y+hy×d&4g{GTNWSgS[6pUil=R';n1(!=3@Ѐn|kt6<ctM@WeW?l7NS<p6T<*/1YuL3g\rd@:pH3b8SyO)Yw-qj~+P'ƒVk+v(+56OOĭ2	ywdv71.չqc69]w<m<#%wRz\$Ɉ^yn'䪍J@C/oNjr!j+1O\$I	JFR5&*N\nL534O/\$\"8SqCx5IO\nó	i\n\rV`֞B\"\\\$mh<Ҏ2BfRAx&H \np(IܮlfHIqMw󍒓zE|1ÄR\"J.\r|o7Î6.DzBFCsJ|.o0c0c\riRwcCGYn-.	EҤ'\niz%c56URGv+*oBe-NyRF@Nj\"!t0On.Y_0&΍V>t8m'UHSޚ?u6z#EYCCJwJ+\rwG_= .ESfOD><=gof:R6v5v]J\"x(34aPq\$ژw	6PYDΎ 5h+RG73ob1\$ۇ3\nwHjڣ	s@q%\r*DGoR[Z*ę',IN0㗜ltJ.S]:15@`k03ZS+˝bH/Rb J1cqg׈}\n";break;case"es":$f="_NgF@s2Χ#x%pQ8 2yb6Dlpt0h4QY(6Xk\nxE̒)te	Nd)\nrb蹖2\0d3\rFqn4U@Qi3L&ȭVt24&̆1)L(N\"-DˌMQvU#vBgSx#WЎu@R <fqӸprq߼n3t\"OB7(%vI U7{є9`\rKpKD>+ݽ@n 9@IP&\r7SˆD,Čj?{R;XF1(Ԗx\0\04C7k; X:D49Ax^;́p3^8IҀ2\rrDrr8^0ɠ4m=7:9S7&:c,\nåM*N0L#߶:8++B\$\0<\0Ms]<\"6hJ8B#kP7le'B 3[Cdj;.ue\$l@:ڐx܌,[XN#1&gjDB|漱\n9ۊ2+-R@]?11Wx؛i\nvh☢&S(ݨOTT3\"N8ՏXR2hp5P4Մ<\$rP݈ph-Q\$j 2/p*Dn*z<3τ\"ugnb0ʗ\nb5!<ֈ2C,&aݳLR\r0^iBR_7[xQ1z3`#	#0.A_u2R\nh>0=38@a*\nOP\04^cU*`LI;g}rkM^>(%ӵ8IL>I&G%l3=%ZLԑ~/84Lp\r&02䨕BXu/ƙS;с)78bv`Bä<,`P '!=P}8q#\$F\$>5\nӳ^DeWF4IJ7Vr!g}\rx#b\n8Pfy818꽲*xWV?8(FH\n73\\FAJ% cho/9\0&-d+pFD-?dr\rZ\\<.Qj(2.ZNq>dFGI\$M]r`KpK\0Oh6\nv01|`l]	\0S~#lH6hxGU(i5n;]#Q9\"㌾!P?II\"a͟e49hƖ@	\r^&hxS\n!rG91l^z0䬽ɒtO-XpRc\$( J&X:@oŗBA*K:H'\$h3U`B̜&'%*  U\$-blB	H)\\bCj6b{ta`P%\$/>q('q2 TJa2ĵ\0M*7lR)uaRH)z1<q\rj7f4t:	U C'*\nA rJV>ubR)1az?YB18G7|iT07۩LB\na=1>ߌni>yEBvø\nPꎅ60k\rݠA.pbs1Ƣkg+O!8!DzW%RFLFOubyNl pϰf%Sh	\0R6lSQI`e\rN=mIAW@ezW[]Y/1{4%=6-Ӯv;3ͶF[RFd+zlU`=U+VcqnGÀweG:/8{ԍN&l!M}'5<Uk%jIEE<,<6uQn1%@&i.^VoLfiؑ_qvu\n?b?\$+[#-媃yVD[=T\nwC>آe0Y}\r1x5OoZ0B-t.Jʥrr<`p;-o3V%> ?v54x\neEeJfIj9}luR(xlVc0#<>@y\$)*O7yVpaL\rg.(yBe2ݭN,&Fm#\\jXX0p,cmJVl|&.>-/CaH(/Cd/e\r(i\n*bk,/O0D;Xu8\nې\nK	̅P.'|KiƊTD7mLXZL8l;Fo8u,mS./g A\$!0ZBмB-%|%\$Bkee>J\rV.NE0kq&*hG^/op8lt1іa8.]Rj -i4Ҥ/%--NUAeq7eimhAPE q/.LZvW?Ce.6L\r#!#%t2C%\\QW%BViP͵&h-&(Y&\rV+Bi0xbh@\rF\ny\npÆ0b&\0,oߣ5\"8#/̜K\r8G/-2j-NDBD2r~D2O/BHKLj\nDD.qE(/Q-QJ<9R#G ).\"0J>Èf/&/J=62d\"7C5J\$E̪TBPrhK?vbb&b0\$PGjKΥ>\0@X{ɂJ!7e^ңvI<J1<XB(t1\0޽-1B5j>XO2v: 	\0@	t\n`";break;case"et":$f="K0a 5MC)~\nfaF0M\ry9&!\n2IIنcfp(a53#tΧS%9pNS\$X\nFC1l7AGH\n7&xT\n*LP| j\n)NfS9f\\U}:Rɼ 4NғqUj;F| :/IIR7aýatpAߚ'#<{Л]a	U7spr9ZfYb΍~=(L3|7\$80( B`޶\"	Nx AP9 ҳ*ԥc\\0c;A~ծH\nR;CC-H;# X90z\r8a^\\:x\\x7ㄍ\$C ^)(P̴4px!j+\$mPM\nj~\$,\\\nH++߶(j9GB~CP\nd\"**@MtW+<N#Ã7A{fP(J\$2P(#2C`Y.:#tA%ZL Pw,M%Ic\0zų):B4K23T4cZ4v.#\\CcL 0cx1a6ncxrJq4,%VBQU(~	H\rQJy\$Jμ!.O	?6bPW6IJ>A KHAX7]\"k#M'n`wԸ6㜄!լ/Km#cŢ+0̍-% .;7:Ʊq/9z/0څo\n@nvyS\n:Z\np*rNBLRX>HdQ&XKIq/&N΢fM'OL?h} g͆uUZj\\Ǵ6<Hٗ;C&\$2RnaOzE1)0.I9%4[K/4ę RfpI¦Y\n@\rӻQpp=䞬.b`%ABxu?ij@\rxưO!\"LKcДGi'4C{\r̚RSx#)2\0_0iz*((L;\0PCO1sC4FܝH-GQ7xrk-)AH|T_iU(ԍ5Ĥ:Iܳ0qKZUXH6dmxb&%L04!&K~\r	òx4p~q=\\xu*1ZPڶRz\r𚄒(L)q@i2\$%RP0c_FE8J`MF\0 -mjhܚ[\n GF\"P2\\LzڬmLR3ja,n73\0ɟa\\`-:uk0>~EP\nbXdʂ^rp(}<3֦U	d2Ĺ\0U\n @@D0\"冱L\$%I7NZ	a,QeLʣ:'Lꒅ\$t\r2\$WP\0ʞCa~.)	iI.~YG*PBv]b[ t-H]Etb-J0H0h¤U1	\n,{FKyq|g0@bcw3;OLlAe\rB[I'.}C	ʉ1!CfUTW3Z6-lgXLR<ň8(u%CMp89=zI\"%BE:vɻyxP'9WkR\"`ST(B@߳PQA@օ@@ lҺhQxp_6!(%^-W^^MFIa\rݟqTD_I1k5C\n_|HFQou:.>!܋7HI\$׃8St'\nA4j\r52}`fl#Y4ZWߢ4~xPK܎.<kKß&sALɸjBw_9|[=`k\$%h>y8wbnR\\t72!lu|a۽*h8|;_ԸvnA?gΌrH:x?C\"Ahȩa4o<^ɧ4H,[=:5v[QߙG,5/M=Cv*QNZٷf@D5qq|O-ψ;EU-{U'M}(tD401.i.+mWjjbNbN0p\0K0Ê/)\0*θJ	J.'D3cޖhčh``Drk\r\$èf= č7ͭBG#BqL4i%buO/+.,ZhVk\\;eS)zS>0\r*<S<T.0%0\rK1T\0\$\"2߀*&Q%\rqƆq9~sʿH4 @Pӭ>\nF\\΅jC	'B_ZÀ8E\$iJQKߌRpd]0&+\$QDg],,1&)-L\n1梨l͌b0AH\\0VVOJ1ʬ!l e%R%P\rЍA9qY,@7.\$Wq=ߒX2Q̔ P	_`cgK\r#R	zWG+1h2)W `Yo~ۆ+bl2VdqM{FFe#9&  @h`&eNs\")k\\\nZ\r\$M#~`f\\|F鍢\"`@\0r \"9d}l03Z9-%\$y6;`ݢ>;pf\nT4Ļɂ7f>oZ/VQ5l,`rl.:!\0ތFߒs<\rB@34%\"L\$2L PSX^Ej)LϮ\"RˊOi.b9B.Pq\nOɀ(f	\$Ŋ,&E.O 6a;L<Cx5eAfYsU@@-CXA|1e>C&_c<`	\0t	@\n`";break;case"fa":$f="B™6P텛aTF6(J.0SeSěaQ\n\$6Ma+X!(At^.2[\"S-\\J)Cfh!(i2o	D6\nsRXĨ\0Sm`ۘk6Ѷmkvᶹ6	C!ZQdJɊX+<NCiWQMb\"*5o#dv\\%ZA#g+>mc[Pvrs\rZUs/Hr%)NƓqGXU+)6\r*<7\rcp;\09Cx.*Fɖ(%I&Т:_+k	qBk,`Xk2B\"68@2\r(@C6:##!o`1:#9\04@:Ɂ\0-c2\0y*3:x?wpPp_3sLJ|6R3ACl4px!BSj	,Z;d\$jB̻^ϳM<\$kᐌ	DΈ\"9\rҒ8%~U6dBOӆ\02k\"V_k\rκ?}X+ImtԵ:LZUqq{\$D#Yc\r::55S\r<,#(0(/o%e@^ma\n&0)RBYcvVNz__C=*bWVWwvMj\"'B[zȆ*Z0%w^Hɲ즊i񵅎K?x!_TB 9#dT7rs(:Q2:9KIir:hR@<^\0'esª 5\";gh^\$8H>C(fC6I)D&&OBYVFq\\,\nǐ(SXn*2DF(VA&WMJ[{Ww>Pwƥ'3hoŴߋ~9r?9-s_DǜQXI][{ (*€@:<\r67NC\">M84{O;(rP\$8@+)ڧ	[Bmޙ;*HWUFM!7ZX[66'dh@E1,k#\n[cz!Bo\\6q\"D|OAC2QNMHX!)leW䒪%h굒\nױn\rXTc![h84HT	*3ԛ^\r!6\0ėCA2P\$3a'%\0fl\rM\n]r4CtX!8W̡Q|H5ڙK:eBhUUo(\"3>Ʉ\0((`ku6(\\ac:IrrdܚD\r2n 9ʨcւ5\r%j ARRsL>YYCdLɡ5%@ia#Ν]0PPS\nA|֢_	'Ԓ3uFdd\$\rS&eePp`[Bcƒ&t<	\$h<4*RFKjuHI3 \"z>(1\$>+CLv\r.J#nX¦KMhQEVJ]HKW0(I\\(ڥ%.qfMzK~=g磌)m(CϘ#J?TynHxڙ/QNn?»U38~ ('@BD!P\"|(L)Z\n еLd2?\nUTIhǑuH%-bAg~I\$3n|DiJ̤+q7iEGTmGDvtкUVʾF+щ1ttz<p\\J:oR1I!k*#+k\"F/@ aD.[mJQVsT},|.3Uܬ,gSD6Kjv-ؙQ`l4g\$`cK7Nɺ-cCH1Z-80/l\\|Lğ5>G{~K Aa \\RT#S8LjZbF_wNBhcp)7YԲŇ).BÉ/3%}b^Mu5[]SC\r'kU2vIʹY;JM1Q4<٪\n IbBcq%o?<{'zL`;zn'_l=W|;f|Gu䢛22~`JK\n+\$/8sGZϿٻݚ><B#a}D80gV\$j PPYm\0\r–ihC&[!\0P\"n, gFހ,Em8~3~ql-4φ;8X\$ong\nϮڕ4涳ϰ.C\n(L0,Te\"WOŘ\\¯W0#lJKopF-rkDPT2è^A\nlAN{?'\0lϢG(d\\?l&lLƸ01,[΃%	Ў]hm~Em䅙qQm;]PPMe)Nn0^,D@\"CpBcLpPЬ-O)Rqui~'ώoPl<)-\$:,C)zm`PpR%Q	&CE#1'bw\nvNY#)(kqv7Bk):7qo\$<kM,JDcBV<bwn,\n\rDx1&+:3\"Jdœ0W-~5poCN2 ‚r-	\rV\rie\rP3f\npV35\\/)*TJ۱O\nKEjf%BS%㺘\\ }!CM:7\"^\\0l@ELFɞ\r1b~O0#&ZoDBVmd:'ؑ??	r#	q7\nw6\r4	@ҌѪj;@7hT0zSwlcVz=T\"`,dÈJ0GFˬnPi}~h*fؗݓq;@j\n3D%\0-7GeTA	JBFc@t6Mxo'H,s)et\\@";break;case"fi":$f="O6Nxa9L#P\\33`d7Άi&H\$:GNal4ep(u:&蔲`t:DHb4oABbv?Kd3\rFqt<\rL5 *Xk:+dndj0IZAa\r';e KjINw}G\r,k2h@Ʃ(våap1I݈*mMqzaMC^mv;c㞄凃PFKuҡt2£s1e#Q4p%ɂSɍɈқ%0,{4:BBX'9-p0\r2@29(c\rLP(\n%0@4Ry	Лn0:h*R94lj90z\r\n\09Ax^;́rOap9zc;c ^)ֶ\rXx!j+%;%@a7c(Hܶ\rc魴R׶,@:k/T`(#[:!#^;HK]%5)@#8AX-.%p V{.hV!XѲ4#=Z7c80vD#\r43ZX	Ӿ\n挨:5Wp2\$Jӧ&Cu2SVr/f\roKb6 BR6EL0ĈiNeK	);\r/!Y'1\\=bX}+6ϡ.P%H:~O0KZ[#Mr׳y)eÿXmiJ@0K4Je'g\\\n\r-߄>	ҀނvԧN#z1([â30l&2č#L6ʴzR)j44U=Z-tW(.DP-II((:c_tMK'4w4hQcacϡ~?hp/όمPF^Z-h]#a䤥\r` FiĢ:\\KɁ1&D̚Rl`䜓v\ru2LZuVՊGI5	/R~Q;2\0w0HH Z*lΗsRHIu%˜(tL5\ruN<\0ܫJbP,L)ؠsȍB@uIK&-*xvT\n)EB6L<3*C[\n'dlGwR47x;*(/)EךwIedvV,'zeXri~o0@@Pq8()w3O=K\0S(e-,Dh\r(!4>\0ܝ|~Q\nGM=`مd8}ɜtESQWaY*|BfQ(Qm(D[DQt}Q(˜Rp 	XBvdMδR\nK'l Դ]C?f<jKBDS9\$Oɜ .6UJOTMTr|<6liD9`iW˒pN8O\naP)D\"s@uЎb: n3D	FnXII&2VOnJL*\0tO39B%kD^JjsZ4pAb\\a<'\0 A\n^ЈB`EhAKyYz:Q̂\0XA[A:堓gr ĉd9PlG\$&ґ/%f̩3cE)%EUZ\"gfuSHllƘCk%D#9Lnz%ޙ\"+ydKfN)A,I^frsX0&Ì.nębT`)IMcɱA\$71GѲt23Uniis8>rVb6TmuZwՏ)GlD\\aJNm	Zep\0KZ@C(s3HZRD<풮PNC>mhc/\nKY үё\r9r+0i㻉	{{}%{曀پР͛T'Wsp^x5ϻiliC	p<vk?htE((̾j\"VKn2fo*p|s;roQmstw#̡\nHrV+4L+tӮ#*e+~(^\nLocHwАB\rQ0xH9<Pc0|K2Nbt\r/[7VֶDT\\rhPu*>r>u}lcLp2NvuKxRq	 Wk\$Bk צWlܣB_Rz=dHj(YV	n9'}]fiF/˳~Noo	cDRפ|\$ȮߧN-xP.|p-#N.<\\B}o>gOʦ6 6E4F \$vکlp-YLv|U\$`:'o\$|p йN%(J#=E\n<BP`@f8D\n,_pxX\nWoTNF/AUOZ\" -!OVr)\0X+ɎQ0Ft,g `bhb&	 	D&|#%P&R&z1op:\0]%֜BG~\".ѠqCr\$\"E4w\0c\rZq^T\0K)PYp\$1J a1'lqm5\$p:<h\0/MrD@>Avʯ{##.Q%\$_`g4q;&\rnp6ft?ʺRŀU`*`@cnL8FtHx)2R\n	&2r];&MH[!/P fQB0q\"+0)'f5,/cX5\\\"R61+,Ww\"d[,cmnPB-ClSXm/cDn^f \"7G/7p∙Q4L7TepDDvP/̆	(ثa\"o\"&QV(l1<\\F\$L6J7,ąC6J-<<*=LLf(>8\0%h%(w`@qХq*,NG0\\";break;case"fr":$f="E1iu9fSi7\n\0%(m8g3IeIcIiDi6Lİ22@sY2:JeS\ntLM&Ӄ PsLeCf4(iƓ<B\n LgStgMCL7j?7Y3:NxINa;OB',f&BuLK^\rfΈ9g!uzc7'z\\ήknM<303P퍏*X7P<PBHcR@P#0P-c\\9P%(̚2Ljk\r/Gڵ;-bR j ETB<4XЃ)Zpz420z\r\r9Ax^;p&\\3_5sh2\rrPr^0Ђ`;QQ6':7K1\roTBr2&62o\n7KJ2xƁMlm:!da܃m͕6t8\"2222ok	Yc-+#;8[U\">W&{LJa P9+VTc{9/6H:(0)yM	E`9N5~eVD)\"b:C>O_)z1LquRT{mf Pz&\"9޻4n>E<_@P.aP3hBLjqt8En\$\"C8@[*qhJ]ثpbiІ4&\\£012%4oZoKB;'|kp3FYZ3Mz§B#&a,c0.'ee8UN`MR8-P#1!+}'jZ\0K'\rG[x\0j \"\rQ3*A , U\$?&@a\$)%u9SxOI?(\0#D^‘`<	S1ڇ(Րg9l0`UBDFzϣ2:#Ĕ}OABgȰ\"r^E|؁\0m{)M%&FT7(يA4L5vJ)H.;id`1J\rؔƖØf372Q>Fp0eJJ9(;i*K	ck\r5:S3@\$8R.E\r1_1̐Cܗ;a7P+[8DIAA2B␑ڜ؃\"tr!*֐6n&ܙ	6%<C\r6)-7pS\nAT\nRNV\0\r\0%3SFyxT2E%P )<5dS3`U#iҚsRjY^\r\\ɐvȌP|EJhzSG%#ȍk}.|\0¡>~ \0R;OR66ql]d'94wYa;K}\0&0P4F,sW>2ne\"VɃT	`=36ZKet	{7gXH`cV2p \n@\"o&\\W~'as>!Y#<5Q\nzNC<8)Vp}Y=iO[e9DhHp\$\\Ɉk?((8lr21d?*gVe\$FИts\n7&Fcl3;r /PHS4>X)HH:vܞY&%v(ҏQvU_A@=wl脔'gK-[G0a\nJ2e){	a\nv|LhΨ*N<RC\nmJ\rnDblqD\nI}=E/pM'i.^Tq83+9\$HbitГ!U+m>vT\n!AAJZD)GNr2{b_\"`VL_8e[aw-dLTdMHc=4R4`O;+EӘۇawZc|p9,\$oԺ?5+tP]9%+>J\"r9cٚNJ϶e!22|0Fr[M굘\$6ckp@(bȻ3-؂tζQ:quA!'Oُ\nPA:Y/\nu\\*gW}O~XҸ&tlN+?jL2&OA\0E2pxL%\0dRO_N+efYb\"ZC`g\rha)TMPTS_|3N]DZ%iZg§0*g#p֧\0L)\0\0\"xmbp\$]ФllUқ!0	p\n\0\$Ysn`\0\niԋp bmfb!PP̅(/Q\r\roS\nB…8'kd.eRʮެL2&(P6@.en3t!1d}htCT\rEE<\"q'1*MJuB\$Rof.2ͲbQ\0E{P\r̷my(rr1]\0.RfPϹ/\n!Rc'\",\r6:G\$!FͶ32K\"NYݒ_#<nDDPw\\\"º_L!EO\0Q\nIY	%9)p\$2Ყ%%\0002Xie2e+=V^2g%b0e,n,2^%]f2Cek+1\n\$r}ms0D[03%C˦ݲ0ݒ0.\nO`R=&/ᭀy -41ҩ13ZC`_\$`?f-+RY4 ʌpd9\"F|%3s)C1径!X3^I7%\$N[*0\$S,@k_c5q-\n8iA\0r'bg|jJ3@Z6@N>0CbUBtqD\$TD+^hdcE`@@nE\\iM\0EG\0DG81w!|pvZGFqT!U;C<4;o)PvQ}9;&\"!4Delu\0LN;D\rM:5tM)L¢Th&;dIآ):cF:\\O\". KҶpT\"c͞#5͂y#ɋĦh\0\rŽBt=/c@qNlddz\n\rpYC\\1ޗ e	\\BZ=>`A`";break;case"gl":$f="E9jg:P\\33AADy@Tl2\r&a9\r1h2aBQ<A'6XkYx̒lc\nNFId1\0BM	h,@\nFC1l7AF#\n74u&e7B\rƃb7fS%6P\n\$ף]EFS'M\"cr5z;djQ0·[(p% \n#	ˇ)A`Y'7T8N6BiRhGcKz&Q\nrǓ;T*uZ\n9M\nf\$)MJʽΠh#.Jᎈ+dNJ\nRsjP@1@#\"*L(8\$cph0º9#4\rlG#2\0xC@:t㼼1SxrSJ|6.3/)ʜx?C*@1p:03ޔX!-7+pԷ@U/Lx\"cxC(BP\r]\0<Mi[W.7ھBҍXܓO#\"1vT+Hz|P +.5o(c4L@\n07PfQ;630:c0߉3\0Ǩw\0c(&ej֪nU\r4p_PW\$dX(T~WM4PC	0s#U76z6:r24X5KE)\"fcjC-Dz P!H5C7#\nR>\r+%Ci0H1UTXDaoOENQBk^߳G\$2cT:2;ڈB;zX֪ɾ0I\nS(wڠOzꇃ~\"Cv\$hAkQ]5\"_	c|F#ޚ\n#)_\"VRk#@C*SJ],?)4^T{BzqɅITxr[3NJQeeQc\r(Td\$䠔VK	i.%,L30`N	ɰ@)ĨRXMgJÂ<J(a1\rƬR`\r	6D9RCUj0cJr8a\09ؒiުa8^C,x'a.@\0\rF\0PUL eLvG\"o Gт<;ç,'g/|.vH-)v\r<?`f~i#I#pH!6&	ph3elHC_O!BS\nAPC@ ֮1+xd4glƲQ='K)e\raZNF\np}i6\$a_aPdH.CPR#QS'0bbɖȚu6AS\\V|4^% .UPSΆ#e(䭗a\r a'\$S\n:툓-֨tI	+2hs4_EEP՝\"I+	Ȩ)Q 0BL	!h )p \n@\"nA&' yo=&[veYa,LM( jF\"u(d8YLץ9GuLAz.zC^ Ehdz\$+E<1Vv\n;(i()U,mt3|Тm&S|Uf*#,|W.:pPSce`-c̒~1f1b^lUԺbXȝ.]C@2\rallH\nx§mM[zqb0i%RuR8&<0z@NշEs]7-S^޾F495eORLvL!ͮ堀!fJ*0*KN/F<ތL4ls\"_a3]@!ԖNjt\"C4aIĆ.<LqR*0!yL,46Zkvw+0+\\ε|eiV>\"Sr~3Q'FC}!Ӧ\$?lڢ[ePڼ~!\\kzr2h!)u^\r;'4\"(QwC]m3TJcrcbZU]S#;&DɰASô]gM41&7oӢKw<xtP{MȅC<hȰ U.0dVA3+GcoXfJ| )\$\0uh/mƀQBhUol	m00\"n@D 0r2BP`nXЎ^ƎBpE	)N82T>9#\n\"BBE0gB]Fq\".3p\n@v%\\ij\"&3&I	<,PBe\"\"±05%ذG#m	>XF1,bj?\rL10RP8\$ЙkO~SmIj܄+	7QʅOUg\nf%1{ V%Nc@deR7>+4ިb{hI?QFʑM\\gjcq%#f޲NET>͘C!͌=#(٭/2\$h#R,# UE%[P\r2;	qi%Rf3`@B\"`F\"2TxWr\0j|\rj(b4.)#Z\")ʨq1v*\$w+oR{^Dxpw@A``Ơ`ƙ@ġj\\t1N+.\"Ɯ;	%4bd@Z\n\$i1NBDz.#\"6#9FozeE-0\\E/f=nmڂ/l-/-;4ˢC 87<gl~3>(3PL<,(n]#	PoicC;;=:	)˜sy=;G@_r>.FbPPbo BޚtB.1>l1A;!B(+:bd1.Ĩ^HV=LH)E~\n2>@/C-j:#~\".lJEB\r";break;case"he":$f="J5\rtU@ ak(ffP<=R\rt]SFRd~kT-t^q `z\02nI&A-yZV\r%S`(`1ƃQp9'K&cu4Q K*u\ruIЌ4 MH㖩|Bjs=5.-uF}D 3~G=`1:F9k)\\N5%(n5spr9Blwq-m^|_|mzS;Iʡn,c0N(fLקJ# 4@2\r(;C2:#\rp0:#9\04@:ā\0c2\0y3:x+%\n;s3(㜃!\rk\n#x|@kzHJס[H2	Ѩl#n↠jjTB9\rR4[AZkEt(\nfL947\ri\"k?S/s-p}'U2A;dA㠿).\$'Hm\"	i--zI@B&Y\\5Ԫp?TшS']!rin3qEPuYMZ)6ki6y.ԻLlB 9#dj7i:\\7i(:LQL9ω4yUpȂ^Qlս6)5u6C[[2 O)OL'vs:}\"Y sH52ko\ra'm@2^\rP*9W]ug޲4%It)Jˏ0pƠ:ND&rLN:p ( u<3,N:\nIjOJ)M*pRK0&\$M)SIأ|c^JwLŘrDl濘`3Q˄rN{\nWi\r\$jqA2a\"b`l\r\nDr5iP4!ѯ4!5@B(\0P	@\na{(!d*nEa7CJ*F:\r%Arh:Kə+'!ކhsGFX/CppG \$ Ch\r!4&|MF1㝄\naC?rDthRHwؚԵr!ݙ%o	\")ftBT<~C\0Z^#ZI;+h\\&O1HN('\$8P2DAё>\\ُ<zRӿRBb%I/E<Y:Κu6 \$@=\nH9-sI5Ǹ*{L('\rv,es)uB&b`M=X&(djʖ\\HxlH@g\r-g`nZ*6ؽ5!6zOv	VW!XnIi %GkArF%n!\nZZ JOI{#ds9Mҏ\$ȣV*AAbHޥT[bJ1lż,cXՎs\rzX0U,ə+!ciN 5v2ҮYU1nC7F\$\\T\"!P*sg\\H<>19\"ERňcmzs0j	=%dᚐyI8el㙏ٝ!d쉃P\\R:!^i]5Yϩch,)/7#q@-DViEmUv19aCi5\rhۻUD	7\0[{k=EJGlpݷؘ@WGĆ H4Ēz`w^,6oxgTDQ-rk\rjB!(93ZpD׌{*fEZp%@p~\nr9UƤrKPQz)gݞ́2s[QmQ\\%7DttI*dBU<rpU9asL	8Â\\Vm~;+?}vnfk쫗	k-+N.3{'WMbnO{8@k_53*toS=Bif;\0.B!`XZM0R,['^߶-N?3I>0?8}{f?Z0H_Z:t\\|#{FMQjv|݆_UR?LԵK.PPэ74X%p0 \$bP<6V9>M/pDn\0.sF-lR#gԮ'z%J80xʐ|Ȭ\0ߥ9m :h/&k9^k-n<='e5Z0@v6nL-(Hd~n1clVl4횄žh.bGq,䨆R*YK/\0E1r0*@]\r]-q&2Eh,!^nE&3l:1n0'l^\\#ȯh0ƾpϥ -[ލ݂<XqĊِWP~gFG`4ؽ1몺[!Oo:xnjY2E-QIg#b baD!(<#k	C2\0BY>@Ef?g\r;#b+\$^*>n @";break;case"hu":$f="B4e7P\\33\r5	d8NF0Q8mC|e6kiL  0CT\\\n Č'LMBl4fjMRr2X)\no9D:OF\\@\nFC1l7AL5 \nLLtn1eJ7)F)\n!aOL5xLsTV\r*DAq2QǙdu'c-L 8'cI'Χ!!4Pd&nMJ6Ap<W>do6N\n\"a}c1=]\n*JUn\\t(;1(6B5x737J{z:H(XCTf	IC\r'|\"PlBP\"=A\0\r(ڻAH@Pݎb0c\n9Ʉ|8Z;,O#; XФD49Ax^;pǐl3@^8KR2\rcZ`\r#x|퍉()5Lk'*i /n/QUUaCRB0\0K\rr2h:6%YTN5PS#^Vɲ8žcm*i[X- 3#R:PٿB0cL<58Τ+}.5[CCMb\r˝)X\r5Ch7S&Ԡ3b7ZCc0آ&K#LʺK<&Cգ3[SjU(%j➴ˋ1{BN%EBd>8:и@6ȴh+lFѬNzvY=h\"(.#lc>7sMjs<+#tGl[5~ZP\"\"(\$2db(-8ʒ-3QK5x3(Ro}k*\r}ф\$c5\rU/ӣ`3+AYQq@\n\"YEEJPI:wh0șBjM8tH.N7H2P Ԃ85\$BQ\rO:%*mr3Fю9+!,4L\r% 2gM)6ߴ!iӺW	Ts8hn!>sHe@ф~e('rJy؄ʁ\$8 I-FR9r*d\0J@X'`JJDHcr&%\"s/%C4p\ri2@1CW1\0%R4eL1ϘdɾVQt3>|H \n (LX2ˑE2G2>M!R&ǃblͩX\$L%\".DaW  Wdq~d43J7-bw8!4 Axi?\0FY010J95qgYl\rbVL4>a\"I>(DG5JTR*G`J+J3@t	I\"!ӣvkJ,@(jfs\$1xS\n@Xdg\$9P\\j* CV':2ʳW\"<H\rڙNi81Q@2+`\0&@XDze] (\$9\"Zi4ɕ\\\nj-T-ѻIjT)n*Z+zBPHf!i\n.iҜ\r\0z/%\$P;['jX؊\n\nqbfSN\0)2ZmMĶpUpF;Mv1b̈́1)*\$!=Wb_aC\$MfM`/LIEF\n-)-(\n\$50\nX2r:Y\\/1yxkYVd\0CgW-sMкD`\r\n#GLU ٛQ=GCp.cD[[CK<*@@ =\n+g4m]cD\"d]ǹYmƓ!np´_Nz͗rAp	dż*oþ6(n8.y ⷸt%/s7	bq\rQ*m-\rݬ|S9'U b:T:I2%09D\"/lO4TYL`=E&ڵ&0jGFO61m\\ ޅUCxO8.a1GN'\nwx	Xl5kg~Q^Fcq/jAϫp̂/+YUŰ[p^቉'B3Kڪa*bfQarC\\G7`R-XGK-+^v@IϺ-;妦kR'0D/ޱcv9+2jCbV58oj&2`3%A!ZFnLnP\0UnJ<l-P]zH0j6Pn \0pS	 ؘhHpM\n%\"z+\ni&tHjd3Uaul[\n\rd&0&t Z/%\r#!P\r8%l^AA+I6H+\n&M	V&&~ÒmBrEMl)0hrW|TSZqqhF{'l)#O|Gl;q`;+@N|#\"EBN2>3+o&S[`Fe)KX`F`gTU\rv\$o R\ro,^k'\"/1E\\\n˲C(%*-:G\nS>ѩe'\${!E)&h#&|=+w\"ֱ4o&7D:rkҢd8 + *mz*g(?7E^Q\0>?R5oaQ#ƨrP\"ƅq2r03/R	r@%odX1YO:gNOS3Ђ-3	AE:\rVoȰI^Z\nJnv\r)H~@\nps#7H^&h~fH-sps/󢸓'R#@\$BH\$J_h^&/dv\"v\0EaB 0+kH:\rM#Vj	%R҈\"(mn	޶e\n)x NcC7\0\\cUd>S*N\\nUp\rJ-1ζNv6Th+v|\"5For%*8(5cZ GlG\rFb<sHtxcF	@fnMfmf{%F5Ah\nĐ𾴞^?#\"hR	CVUuE2-atp<t~+-cUQт*\r.d+\"\r9\$wc:ۢl t\r";break;case"id":$f="A7\"Ʉi7BQp 9A8Nig:@e9'1p(e9NRiD0I*70#d@%9L@tAP)l`1ƃQp93||+6bUt0͒Ҝf)NfS+Դo:\r@n7#Il2:c>㘺Mp*4Sq7hA]l7c''D\$H4U7zo9jNznQ9<)LdBjV:p	@ڜP2\rBP l#c1tVKFCV9@4C(C@:t㼌(pܔ@z29^)1@Aj|ҒĠP5H9@J5l<˂t4ɐ\nޢ!(ȓENh7{%#K+\$1BxM#T#؍:4B2B3ppvO8nZ*΃\n\\%or5'#:2h&lrQ6>P.	((P9agTK6	(5Z\\:8>a^͢(3r\$oE	po#wP}U	\"@P]B\"ӱ@@hl2\rܽc]C\0Ε\"VGv JNو3TIrd-42UfJd\r0̴ihuᏈ70[t\$0?Օ7@NcʄI#Cn2RZvad[›雪ބ|FBqq r,\$OL(\rxȲի,w3̓2QXĽFe(	rI|r2ѬoG!H0\$B̚9I򎁡h9f6\0ԚYl!\" E~lX{1J(@h1y15#.	9%6hIzD	Q2a1):A[4`_-H\n()\0IJKBeIa\$̹MBniPB\rd;ƲZW	*\0BJ\"e8hn:9dt|M!َjō9\nC\naH#EI(K\r&P6hbe:\"JfzlTSZ5R*-OI9|H93CHk(𖄒LA;RqōviQqWc+]3%157ɹ3PQl\0˜T[ȢrhLOH 	inJP䞀rʁ,A3A3`H0fM<JBRy{A a*E3r#hrr {b\$!D*X*	8PT*\0B`E@('CPTȺf`ݩH|Xѡ2M\$Mi:YK9c.N]sM\n퉲Ӊ`v\"Be0AXղd(\\:\rER3զ\rx{M5^[,zW1ոf#\$k:'N (aMRfX2vMMPj.HE\"%6@zxP>hD1wJ2	-,‹\n*dFPR6!B[cP#N(\$Aa N%f9\ra\r!:N%Z(Dh&ʿh/x2؇X_ʑnУdN(bs)HGe\0oB\$lr\"xF9y~H3&0cr{GR|q	i~\0:G0]	C\r-L^A~.1\"XԎ\\еIjPUqKK(jS`NVꞶrؚ44Kjd(*Pajgx\"pPP&EB\r-Ez-[Ef=յ)je\0ӱFVSykh\0(5p{ll1pޤɞ݈-z|Kֿ0NW_o}X~5{ZqOXaV?wޞ';n|qݍ{lH۔\0C7u	{x\n	N܎A\0jub*z&=b\rצ;ӫPtmZ:st+6d6\"sX-(`^m9&>;yƜI|yt\nGt;u0e \$Uз6Gc*0W_-\\/pA龨ϥ6/N>X-cQ]y2vGo<O	0e^{}-^W\\︅KQ QoX\\>Fo;\"hDTΣ(iůփ/,Ќ%/UbdӐd|\rRkBN~d\rV\"ʤEjVDnEBZPȅ'\nZrК#&8%Biް	%U\0C-8,ö>2k pxb,7\"@`%)\rBKdr(c:Bn4o6rvق,ʯ׎e1Pn&&1UnSP\$ـA`Qr8O@@X잠Hy[eJ'M\", b^E&Cjl/\0V\"/\"b^@0nS,\$N\$%\\5m\r(4,(fd I jjO";break;case"it":$f="S4Χ#x%(a9@L&)ol2\rp\"u91qp(ab㙦I!6NsYf7Xj\0BcH 2NgC,Z0cAn8S|\\o&N&(܂ZM7\r1Ib2Ms:\$Ɠ9ZY7D	C#\"'j	 !4NzSfʠ 1c0x-TE% \n\"&V3Nw⩸#;pPCS2u,˳TAE	h2k vI	zԒs P2\r[F:!C1p@4V4212`4C(C@:t㼔0,8^h\rC7Brݤ^0h7=E\r35h7\n\0/K`*sMb6\r60\rr\0<M9OT\n7\"\nL?S\0004+XC{#6C`\nt\n/3c03ǬmlcpaB|lKRP\ns3,*5YTe#X_C\"0)\"`0L+\r@Q1ݯP8Iƒ6ΰHK9V.2Rc!NAf/#T֤*0@*`ĦZ&2jo3]x\"/ۭUtN#z)2HB73+	V\r<DFÌATcpoeG\naJZ%K{7).'czZ*2W0Mj7'0QB]ltDZ!Ȳ<%ɽ9JRLtysa3M4Jrl0IbR6*lƴ8\r1G1{ HR\$\$IC;y/94R&Y=@|QM[gF\ntГpP\rH=JИHN;@)0a!.d|bj'o58]ɂuQNP'n8Gh5nW)-EbI		GPaJ(.xVA\0P	A[\0((Ȯ	-j24LhX)\$yNVjr!Q;N8F:G4էi%)|8 f-5,P!U؇!ģ7\np(C\naH#I@A%\nA`L[\r+*	!}d.^D]J RHXy2\$N\rDGmx]\0B򌒆5RpIJyFS\r\$(& rn\"HF겛 #ԆMz7t\nm̒5RQ:1€Sf0 R6/Cwp{cѩ9@\$ʌ+'@BD!P\"ڜ(LPhR9DӔb]naB\n\r+C@PR&J@ŸT\"̿NXyFΛ̚dc`\0nLtb!@5ȳc\nFhj	9(_M	\",Z\\{K*8kӺlҕtRA⅝)sTZ/ḽ)*||xsHvL@I`y0\\-84`6+L2bce0[T Aa N\"g1H!fxa,x  tEcUn:5R!o<%Ge0\0@Co.\\b'pvbhڱ_`@G/Ty?h@St?,m\nI]_tA!7͔]FDf#1jZ}BEAZ~çpŕ!Xotd{y\03-y/\n(+aXO\r])\nr}Dܖwovp!,U;,Y\r\\>	vMzIO(f>VTCk%vg}Jw`w[Jeyoa'NkIT\nialdGSyt@HH#tsp:/MEAo PPRĨuy0-y֐\n\r1ba9̪BLf{tI7zoPo藻 ==xh?F\\\"r4TΦiH’}\"aTtsFDD<s\"ȩ5sv[)\$vw})Clx/>y\niZ0fG5^g>3bq>\"+|<.co-C/!k+L@#v&Ďp%\"O꙯bGpZ DOf:Yp>5hɆO4\0AY/\n&Bpx.fcƧ[Nۯ\nKP\nЦ	t]ꎚ6c\ne\"ZGF#͸ִ̰DJP\"Tg\"-\0})~#W\\kn=	B&W,)C1<&k̋(Hc\rV8BI[ U.@%	a \nphr/G`%1ħR̍-(b&H(]pfL\"N0T,e~;#qZ߬1nZi*b0X\$ޥf%Þ>/&B##\$1_H#\n4,b΂] ( \$3.g!3\"\"\"r;^@5c(\"\"vB~oQZbD&\r&EEN6\n(\$HG\r\"k+JD@j庢dN\$-+\"L8cg!T\0ޯGF-OЏr>[\"] e2PD\$^\nq\$T	\0@	t\n`";break;case"ja":$f="W'\nc/ɘ2-޼Oᙘ@SN4UƂPԑ\\}%QGqB\r[^G0e<	&0S8r&#APKY}t Q\$I+ܪÕ8B0<h5\rSR9P:aKI T\n\n>Ygn4\nT:Shi1zRxL&g`ɼ 4NQ 8'cIg2Myd05CAtt0S~9s=O\\t\\mtTBЪOsW:QP\npp@2C99E8i\\A\\t/>B ЁlrjH8WA#	ʨEYp\$r?( h7A\07-h:|8Ar1m)\0+8.H94a7c2\0y53:xG)t3(9xDlJc46#H7xAkNE\$ЎhKJ	se*WXEt)M1\\rDDb9\r@DK\$E8wvץJI.Q @>gI\\StJ\0S\$CEiR9hQ9vs}^72FڌD:K6J1*dNB06\rےK7B&#='&X,E3Pt!	p-V)Ic7З\$=hj?&;y_'ARq8N7AFģfDoFЈXf6*!:u}H<8CtWna͚{fJs,r8UnڨH*A?w㜷6HMTT3e)ZǒbRADP7`<l:̓0ͣ`ҘsOuR  t N(`\$PGj\nTg\rɥ(@C\r!*P\"Q\n)F( 2ReMwZr@*FU\rBz YOF^1qbš(@(fa57(@CyOh<\0Ҡ .O(UTZQH4SJe)o I\r4\"@>uK'Eo\$a\rj.J(I1>'JAλ]@86k@U94@dP~K.r]	8NG݆X<IpCc',PQx-G0 B\r:aIf'@\$9dtOB\"\n&s؏ʲV༬%,˙{>MCUP1Fny6fۆUҘt7G-&&ý&9FaZ(3ԋ5|~bkju2q@nA;>CaNΡ9Ûӌ0TL5!0F|9D3,qЁK+¤r_Ag'\0< qI+a-45ORI(!	#xԼH4,_\0dt.>qM҂!ܥ̂h RTpNxS\n!)PI&bHd[sWU.\0cT\nh,mگ%˺i?\$=V\rH&\0IMa*Hii[mCAR	a [x.SZ9E&	8PT+\0B`EK\"#xϏhczQB%b+r>2-Fm@{b,Ep9&t,5j^3ٟ<7fT%&!s}0ĖQq-0^eEugqZr	(y^^*%Q+\"lXXrdzěy˨gg9\0;Tʢk\r\n&0Ay_VkZLFȅMyMeeOV#{R<7-ixEū2o[hk0&Ƚ̘7HBv4\"1&@@ h#ok\rr\\K”(i`Hg*I\0u#7:wF鍁6 DH_T.{0Y=iuas Dw0s(;{QJ4?Egʵ<dA\$ qBN-nșبt,A\\2+}m( U1f\"1ΡdQk \" ER,^YC[#Z زZqbBG]\"+Qk-bY'vG\$oib20\0/>rm\0nr%g(ɏL\n`^VF\"#*pM@%?)^IM\rmP5B\"ݭ[G^frgBE\"0b\\\nLּsE-&mbOΫ-[1\rЧ0\"ق*o.OP찠ZPPnp\$\08	Kη1Sb>e'>/>E]\nh\"E*0@,Fpm\n0b3p+107XXH؍omg+,ʮ\"m܎GXQ?_X]X1@2\r11\nFfaWbt26?\"\00|0Vkce.K7&+M'8b\$ߍv8mF([rs/+D,#ѡ{NN qC215\"r-\n!P+../#E/x 'jl3BM#1e*	ޛ&҆pG[Aa0=ap'')!ȳEj&IHŊnec\$RH/qn\$c+3i7&`y\$m%\0000g\rV\0`uDM`x	8\rdNc \rKj\npuRHF9gn3a#g\$ +F9\\G*c1&֎6q%B\"2nڽ4&,B^W#DEB=9Dm<'9/O <h<bm'~Ɯ8R@H6vIp?Iƪ#)/R	J+\"0'\"`tt5#V%4u@nHtYΕ 	:8ݴ>^o'0U\r%qpu.лC4 @L`G\0aKe\rH2(iZZ.I]ņFn#h\"Jgtܠ@6Cm>'!c*f\0xҍU!";break;case"ka":$f="A 	n\0%`	jᙘ@s@1#		(0\0T0V4]AC%PjXP\n9=A`hJs!O­AG	,I# 	itAg\0Pb2as@U\\)]'V@h]'I.%ڳ:Bă UM@TzƕduS*wyyOd(OƐNo<ht2>\\r֥;7HP<6%Imswi\\:\rP3ZH>{A:P\"9 jt>Ms<.ΚJl*-:%/(iZd€bMR#3\njsZ=1hAM܇\$ˬ:N[pD6D̓j*SS.# 4(\rI0)(„'r<J3Z\$Ԣ,\0x0@2D49Ax^;ցpAP0\\7C8^2x0c^xD\n?)^0\n=tjǮT/\r1R?-9Dd;*Űe]sy5ףO7Q+v#v8\"J˨z>_Ҕ'1L@A3202	;[,*U;J]s,CFq#dW<BĈy)m]A\0/OKN(\rċ+(y;oBJy=j6nH.+3Шr}D)\"ފrwh,{+*|)\"e'z(kw3zo*cNsqeBzwSk-'v'ގNEü)3%)m-\$dI-=>|Ŝfzb?;w}T堿亼9i,\"UK2+NP1f.@ӱtADaG3vn~7P+-@wi9K+I-fM%2IeoG3N0:fzsXH*Iɩ*DrZqT@&0ޥJ2K!`>BNy^bD\0r̢;]OPrweNω c)tJPjCHcʪ@2\n8E4Qd(1?ܡGTjSVUzVj[ȵt7LYK6'hQgMIj##rm5NOl̏F&a9J	4bgeKn|J|ApG'RA1uS*TrVJ;eq#ڽW2X+,9ȈubYYvs`SV{9w5?c6(9F|u^(h 	4qfg9W1ʫD&TWMq9ʪ[oHw2׼k%ڛ:\$	F>ɅRElM>@2i% A_&2/yj|ZnIxVbi&ШNu'kt%/gu֩thtkSd^G6XM܄Ey@NP{iƴWkK%6eL˜RΎ߲&##J4=Rĭr80'99\n\"bK(;-3BIi,˩h7͇9KE|܋1vH(0i0W_trs6#\\zcZ\"c:4(*kCRudV85Hg8TsvAQT25lgU,ZfC8X/m0n96@_٧\rwIi#fǾ*b0T\n3u/JMg]R	^*><0ehsx,JOi  _(\rg<߳n96P2N)^hnl!7]g/X^mBloE#lk;GmXK#u9d3OEqR^f>Y%u̳=r0tKmRAF0NO\07au7']A'2#W+l16-!9z3lFg(i.a[e]*z(wv9A{rG{Hy2{vd\$5'3Cq5tDE#l{}gKj-tzз_bJ\nTQܟ<];[=`RP?{\n.+z؄Yt\nu>=J։BT!\$:8{&^AYyG=8sX.#\"y|ͳjMl\nEJA(#\rn{J)\\fYå%d^\r}CN0^Fwo&>'ȎsMϪL@**ܮ;N|,Ӱ&nnGЧ\\φ\"`/@GN+72@LC(\\ԬvВ/1	kHx(K1>L\0|̦nJ2Iu4iZ5O-,m\rsZf\rւ'szpxJ\\9\0PZ>hf昏)/8utn\n]K§\",ާ^=h;	0멖(EmjR{NΦkOoꀧΔc\"\nק10|`x30_\$ͧdO/oq/ѳ\0,ޢr w^hεfMnJ<H)RFEQOp,\$MbQj4JAJV+t\0007khm'N&)Ҏ'\"hipy)qBARdrxpl'\r>}7ZRV\$ZҺi*|rq*څ	OT΂zdl+&0N}rJ) .|sE%}cNO\"Hhg~o56p4O7k7\\Q 	7'='M9:Cvߤ: V{fhu'mDP	r.0W	m]!>2%8%!ș92@\$\"\$:S72d(R;6d@A<p2#B~y'<?C!	.CQBio/+Qwn*@Q]9qİAR/55Ө4WH;TF^n3GJEBqFb2dS)ӱkVHC52M3+aBQ&2wLMEM1IQJ!f{@A\\N0@DYyQ78#X:4І)(b5=ϻ2ї9E#&|GCF욑|\\Bh^\rVN?A<mSS0gRQ-aXJg u\n`pU\${/K(q!1rO,OFȨo,\$r{K>tێP^PH[աcS4oSYK2y;ff,V|L%BYJ-kS ^akRO0ppϐLv0\$@)~H+&5=|E΄J~@PMref,쏪`&	,HLUfo55)M\\D?XLg)Ri)LMSU6F+jdrfk,SgcK]_(3)G'NPi;|Z'm(n:({gl5b'=^7Msq6pDWu}2Q=h-(>4ݵ{hefDLu\0\r* qr\0dTZk܂DQQU.\$6jf4";break;case"ko":$f="EdHڕL@؊ZhR?	E30شDc:!#t+BuӐd<LJN\$HiBvrZ2X\\,S\n%ɖ\n؞VA*zc*D0cAn8k#-^O\"\$S6u\$-ah\\%+SLAv:G\n^в(&Mؗ-V*vֲ\$O-F+NR6u-tQ}K槔'Rπlq#Ԩ9NӤ#d`'cIϟV	*[6aM P7\rcp;\09Cx䠝mvBZ!\"L:dB@0R\rM/d!DAL1pt45E6Nga0@EP'a8^%ɜ\"X2\rx9Pc8BS81s\00#1#H4\r;C X90z\r8a^\\0˒'	x7HEѡxDl%?4\$6#H7xBy<BiNHE€IBj/Eh*LI\0cټŝY](9ZuEKSIr[P###X6y\$E0PBDqaG(LNπJ#3:%gDPv'+:cA+TT&8JeX’?N)+tec6OEJL> H #c`A=Cd9c\"cU%sjncX4}\r\$T=s].vE!Smtû=ok߸G{3+۰Alݰ8~dqt7]l|wB|ȔPeH=ʜ	Aw?䌣Uu\niQcO\\Xڏtaz،S\"V>90JFJ̐5nT#,6AB\rPܚSrxϨsQ9@@	h\$0eDde-H5FYk@؃ZdWA3A<1 \nMJu2T!QP܃rUJ0`试`\"u^e3bV:\$K\"zrJ \$(BtDZZ\\&ןrL	\0ҥ .R\nIJ)e0T\nRD%NJUO9FdHm\rx6€!A \rj3\0tiCMH	r%R&PП|_W\0004ƴPV :h%W\rP*\rteh rBWDD'HkH\nPUIv0:~+e|B<YAj+8ˆA5XlA2;tAt4.*JldND6T\rC(\$Z\r1C:zS=H0F ft'l4Gj.cZD)%-vvܚ4GLJ2RaFDțuGƐw\n	H)v\\u.)X:T*`3-dRŒ4mY/r~DxS\n`O0-b׈{5kC4F`/u2 w4PP\"im=VW`@)(oȦ`/=s ӊVKIy1DKrEĜ@f'x&EExϚqߞa*aNtuvGpES`Ls,(!/<tF82aD2%|NY/\nu1svhuWQn\$v#~34,߬dCZ3zջ~Z8\ry(QFAJ/EBhXIT%􅿄h9Zv2׬Pl\"),\0dl<䅐6Lpmע&ؒybD x\\.U4=]\"-Hvp7bN?IE)U流qPnD^bvE7%\"#{_*@@ <44-MiQ~-EL0@=́Q6tx]qx\nd갱/^&W%;i4;Xh	jתYiҮ~ш\$aDsDU\nDtKZ@|0R	rt9oUnxhٜ	fLٝe+z|^K̓,Hc7<fNu45蜭c̏ksgr`hJ4sTEP4\$|=\$v\"#F8a7H*KN*ɡa-֨poʊ}~5R5:FghΏXюɋA|3h`PwkHZp0C{n3n6/NF䢼0'- J,N,V ΃pJ\r\r\np\n0\r\npc4<–ס%p)&\"8v'DD8/̚/xM, =\"<fpq&+,!*<p\0]M Pp\rF1-PIK	gY5eѭpJ0؍.PLylq<3BZ,nd\$0/\"clmåNHWk0 ~l\nTM^8\"\"GG\\K	#r@t`\rT'.>DBD7M%&Ihl22%\nzr9%S&!G5\\Ef&0'hҙdTbRs!pΩ*CO2	 Prㆱl-,nemL J\nK.=B?b=H-Ů1!jb>g50+0%O0Jh(\rV\n\rgAd&FORV\r ̀( \rLȃ@\npx56<#%1Ou/YmƲ,4\rpge;D;2psg#_<A\")i+\0kXno\$%2Ft#<3(+Ȋ;@Nfg&8dfpk<\0@v#Ɍb:6IA\\!QE:s+E/0k2LnVy@#F#QIStQ.G&Ff/\0p`ϧ&fC`0d?2&QtQDmTraj[0rgJETF/ftly\n!\nMf6F))Fin\\Ak)a00Fe<!a`F\n&";break;case"lt":$f="T4FH%(e8NǓY@W̦á@f\rQ4k9MaŌ!^-	Nd)!BaS9lt:F 0cAn8Ui0#InP!D@l2Kg\$)L=&:\nb+ulF0jo:\r#(8Yƛ/:E@t4MHI'S9P춛hb&Nq|JPVuo^<k49`\$g,#H(,1XI3&U7spr9X:9V>B94-\nc`8	_\r\")#jHBȔC\nB;%2\r1+-B6@l4c:1K\"c\"l0\0;c XD49Ax^;p#\\z#.t\r*Vpx!H \nPR.bckx 2T=T.6͜kP8Ά\$:B#b*	eK;@8.j>|4@ЄH1*@:bX:U)K/4L5qކ#;3ъ\$*c9B4*W	RTh5\"bTBʔ\\̆*9hm6\r[Zʎc7;%4c.f<BtC8hr4?اQa&Ž\rv<>K;\r,;!H!APoKAj3nK݂'_(5roћa:>7%4hdB)JrtA^׼5.JR91ʍ06G4D:*\rV7:P:Hx-zK,fGu2R	U\"^-bRpuLortSHGI&D̚RlM;\$PxOAУ!`\"йOٟo\0=B	z尔@ 	44+FIQR:O9,`/Q&5JkM88+\nCyOq]Ӻbp.BB4xt.!D8D]k,Ӱ<!#eR40	M!+  zX33~ß*~|ԑ>6\r;`!\r^`\rԱi\r!^Gq\"2DB*PP	A8.GV\nJc=4g\n!zE.٠ol</%BWeTl?DRC>C~KVM8OK*Ήpe\$<P\0C\naH#G4ZX LĦp]E]#)jH d @o\"ɣ\$ZK˃HBeh6ӆCahI5>'dʓ^BɐGm!\$D15G8CGmpPQ&H{6'0OdFll\\_zmdmB\r,\$PzRaՒ(YU!_cYsf:3hsI\0ψU`5)oi\r\$@^Hb>漮7A)'x@*Dt-ՍsJȼˬ)j0ʭW8~osxlVCr,\"Ȭ&;'n17\$}Eqj`4G?\"K9ԙY[y\$mK^DKC.P)}eVŪ᱆G^,qء\\\" ޒn	\nlh'\\K@AtdGsV`:N20Bw˽~PLjݸoo\0	^z(JiuTW9&gt\0(	d@\0 ԕn SgH;g<	,yS\njpy2\$(P]fJ)܌%_\0W3qYq8U\rJ;a*@@ \rڐ-ܗК s)KfVM(A^p8Ng3dt3B5~>zQ\nu`\$*V)Ӯ@Aw\$\\qIcq]*X+y4| tOyO7+3{_\\39UF9ՑCّ1:a=KO#KPdɺ,0WpΆ&% VdxŀMg#}N0*F-ZN,/gTazOz۞,_/=o\"t;r-0bYYD{Z_k\$zS>^{ؼ_zb\"Y/f5Il;|p%peŃwFg /6bP\":58%8\r%[ @T&RƯ+2q#\\TLm\\@/P8a.W\0&\$	,0t%K^7}\0[0?-Q욐pł%rB\"e<jJQ=\r\rlxp\rpdRxi7:հT\"i,:\"<\\\"#z#}^jg#`x=DӮ7C@(bRK'σ,.r-d킪V@ϑ\rҰMQUP^zc0-/pۢ)PRUn#\rDNjX <RdZi=Џ\nі	1\nw ѠoHkbc\"\0R!PTÙm|\";2#8o׍PR`@prm,8ؑ#ҁ'Mi;X@)NABdj Ғ*\"Hҹ-R\n g0,>TBY3\$d(% r!M<#X8~*6q]!DXȘa	0Q_P1s\"0,>\r31261ne*\rV\0`tCE2Pj;\"z@*:~ \nps0@\$,^l)!3#Ӕ.~s`#[İrppϥ\0@B&\"\"v8Rb,b/dp8@Uc\0B3Cڲ96\n٪`޷E\nJd48B%\"O|FXs^3n:kh!BB)\0R?.*\$J4UF/ LBƀs\$z2dtD dm\0`/:E[l\naUqF1fe@hd	'\\T Db^4RnҀ\r	G6=-N'bGl&Ɩ\nME\rd>]:\"KeJlv\$CQ<\ri=͒>,%\"@! ٣\n2)O8";break;case"ms":$f="A7\"t4BQp 9S	@n0Mb4d 3d&p(=G#is4Nn30r5h	Nd))WFSQ%h5\rQs7PcaT4 f\$RH\n*(1A7[0!i9`JXe6鱤@k2!)Bɝ/Bk4C%A4Js.g@	œoF6sBe9NyCJ|y`J#h(GuH>Tk7rf\0633Pj0؊;IΠ::`ޜ+	B6AP2\rK\r(拍賔8z,0cL'\nu/CH4\r^ Ø`@ c@2D49Ax^;ˁr΀\\z|\$\r|vԌzZ-!^0(4Dh* KÇ\"Pɽ\rb	.zhP0MRp#\n<MKS舖7蔟10\"Z|7Bu\022PK#8	\$RzC0\"@'ibn0j0:L\\\$(ڮ„^	-ݿpROv)\"`ߨ R`0+(wRj@%)cȉ4zţ~[MJV! \"YՒ@1\rڔ=wiQ>Þ7&K:'V޷]<)5w٪~-n0Pٮ\n7I3l’Q*n#o1YU	NR6')\nG%&\n0A/V*D(2s}sP0\$S5`(HARW\$ͯY@74HܘI҄*Jĵ.0\$7\"Ҋ+L8'#Se2z@X|22-LB?`)GrKI=(4[K}&0S;Uje&0:5@94j3T`\rwtL#q`hGh<z=!:#8f9ȈTb0u#	xB?GaޣƓs.!o\rRD<@@P&(\nIшeҤU\n~:0AtFJ'\$/('l\r\$'4N*255K7RGJ;B!Qȕew0\0F:UAfA7Bq<ra(؝>P4IJTrQ6&!8:”IBQ dJ\r&vI0!l}0\"7C>uQ-g9B\"<)H'tPe\r8gBԤ@I,lT'D敻IJLF\n#&jz2xdCF5`Qh\n	8PT@-rX0,+V49Sb\nRI@ %GQl@X\nh@ك%ў8	VCj78J肙媟SAhD&zq6~>T+AXDqZ6GBn)H]!R6!\r7b0Hb/E:H\n	Lpi`%~PEpk:9lkYI 0؈j_r\nd̞OKlؤej\"#cdA\rn9>ټAI!a8i3\\tQ@<S'erJ 8HZ8\\܁KـIJNPe.6BA2#yFUWmX>Hv	UmЩ)\"dVY#Ԃw6PnfʔJ^?66kx\r9#@֋^`j{W%^YLT#L'~'5K	\ruK^7R߼0G;~ԥ	݆6IOӼ_m-OB.GϤB4\"<FrHx˜d^~'XW+g!LʼnKji\rvLZv#)\rz.Ќ'5\\>ڎyN&ON؇czkxt]_x±{me(Ki\"yz}~E`'>&(\":1BF<ș3*yͲq0A7dB9yQ sН#ʩW@]Mk\$tA}}&{_wnTtߑ|7\\O'W\rK(Oa:^wá%ONgi(ڙ[B>FT(viO\$2D2RNʌϲ1\08lɰ\rȌ%F-ֹ\"ZQ\0YϦP<\\p5DN\nC\\ƐZkul Yw.Qǂ\"Y0b/̢lh@s		khMnBUp8(0%VG@ƅGD:*|!GNB\$k`-r(5B2\$@\"%c8\$nlު\np\$6\\DBvi#m8	mL8H0++\"Q\"30X켂Xʝb\$(RB\\\n2pROn_[\"b1\0oNl.5mУQ6&n*6REJfu\"hf`\r,'*BbO!`@l8ʈĞF\0`?##z_V;4-?\"\$z;Q&8Np@\r:\00l㒶`Pm@";break;case"nl":$f="W2N)~\nfaO7Ms)j5FSn2X!o0p(a<MSle2tI&#y+Nb)̅5!Qq;9`1ƃQp9 &pQi3M`(ɤf˔Y;M`@߰\n,ঃ	Xn7s4'S,:*R	5't)<_uFĜ'5>2žvt+CN6DϾG#U7~	ʘr({S	H<\nhk=oj9n4OP7%;ãR(ڎP2\r'@m` pƒn@<m5O8x3(:7A^\\+zft2#R7˰ڡ+x!j	.CW+9jĊe:++üͣF67S'+í44p(JCVilBXޗb8C6crLEëT\rV0̮0b;#`j,#uq1uȋI	!3%\"PÌ#!i(@Œ\\]sח#6`1&{Z9BP}28OT	ܐKMeSߐP+ P2j\$<6cȈƃG22.E5\"ڮJ	*‰ Cj*`#\$04k	K4\n7\".K3(+\r5&YtpA=	OCHϿҨ̶paO+ˣn@78ɵ<㬃|ʆ#4JĴ˲;qe3SL2,S8C:;O<**|Gːt2Jc2\0uJFpdR[{1&GBj\rɩ(dӐs%%>kNlJV{L*\$\r9f	~͓*~xZ0T \rs!!Yt.9PEI!E0`cJeڌlGPC#.@\$#\"!#a5SAUw@)cb4aҚx(hS6h!@b^E(A\"dx2*Q6\$T	\n4m+`V\$g) OX.E(q9dv-Q5&䝓P,8D+6l6#mh(Lz@Rg\rSJo S	|s(2^͉Mp\0 -iԨ=k.Nșc_=nFx)4kazI)TI@^Leb/\01@ia:*HbTZ<`z!52C\0\nzF\0U\n @ED0\"ez:@a@G`3`tܿxۥFm7\"synD4k3P0qK4f!4Rb(i0(FI*:bM7!2f6,I:*E9g1'1cVcq;IE/2Q\$\\yNa7Qq؏RiC(wRf4<XCVHB)0\"v&9zz]i'f0+80Caʁ%{(`*ކ~:fBaFxwPBH0\$\"9\r\nV\$r\$@AWʙUgCTHc \0C\\&sJ)#b7b_cbf#(pW9#DIgZה\0Z|9MNX:cs\"Q)܋KU10_:K6z!<Z	V\$}\03E }5~;-2?WX\nQ'l`K/,GBRT2FrWxIUAS*e4#mwZ\rKU	_vƱk㷦Xd68#l0SZ!*Oht<:niňB'SaʨW ,5`	(`sGZڦlAΩ?\rvtRs̎J\nd_&͛vqv٘߼}^ø}u_VxVW񝛐\$XkuFt5H[pm#8tQ!L`:DzRY4z>:km?~eo%Y C8X/[5`dT+l6'2\"HW|n4\r#jTfJ9GDnPb<_q:0[B\r#ǎ NYs/\\̱PL[l2S#ip)o&]vê饈L8TĬTn\n\nRe9P\n0]'D;,ADg\niR=LAp\rWP`3 Z\nD!bf/cC\"!eW#G5\rϱb\r\$~!vCTYb\nm_Q>\rNUR*p_ R jT=\$krz&B1C.ʠsg hv@\npn\$R&\r& -J\0#ˏ #4(\">\$/⠶`gb%l<> @Q\r`DbzC6XZ;bj	iPJg#xȦ#(\$Yf:0.B2PRVB%ß#6%HJc%Q(f*c83Œ8Q0'KCS\",]v\"8DRB`k`ΌE&\r, 2t#BE(@k'E*QEì\r.*R%.bV/2l(dlD,r*d;1:\"}(\rZ.e.C|%F	\0@	t\n`";break;case"no":$f="E9Qk5NCP\\33AADeA\"atl\\u6xA%kl9!B)̅)#I̦Zi¨q,@\nFC1l7AGCyo9Lq\n\$?6B%#)\n̳hZr&K(6nWmj4`qe>䶁\rKM7'*\\^w6^MҒa>mv>t4	j	Lw;iy`N-1B9{Sqo;!G+DyٰG#[NQB<ΎC#0<2.[z?Ȣs69k` jءx<p:kC0c>.A\0@2H4\rN`@EB|3Лt㼤1p.9@a|z9qJ(|63-f7^0H\$b\nʂ\n:<#X:+RՎH;T3T@'.#\n7-8憌\0<\0HKPi>%-\nUhڥ/\r`֟V269ò:3B2*S\0)5bn;-̨0~! P#BC\$2\rczc\$\"`Z5:4Â.#C#tz\n5C+\"	-d0D+[\0\$BeLH\0V=A >*r/*#D)z0\r&2	\0܃N@)n8'&\"@~ަp\$e3p#+OǴ	1\\6PA^~RGc5B@R¶0%C+GC(P9)H:B:0iH4^؀c{JT1KȁbI2X&*rĵ.\r|:HD}p%;9NILP\\xpZ0n`*y	nTДj_@\n bCHĜwJe`lM&fxo/@!7Z0٫19Y\$  :lFiճ3p4̢Q4TDb\"nCfo\$:D+v(g\\ٌ9s)D€E'H!P	@GO	i'4E&M톖pKYDƉ?\"\\lOA}wA<Pcwy5<M3&?\"QSF7t@F40\r.=,b.7) Cz)0dfP̒VSy12HؒR~C	k9Eb>d|ҋՉHI\"!C-ʡFE1&/ABТ3f2iik}˞( /vL`nHE࡮O	)hӔV	0gP|s15\"8G\"\$ҜAi&`%`gJS3U)e!`FpܸL\n@\rP*VQc E	ʑ5[)?j<eHYhZ|L8 :\$hI]fJPU#bUYL5 &a\$1>'!h\\12lٕo*Sr9tJJIi*	wk~B;%<䎔ig*jyHzATkPD=݄K\0QJ1>탍1(阼1a	d~L[rҖMa		-P߳,1P d)kԾ\"5]AI>U:f1(eAa Rb#4) R-\r&ŢxPKz\0#2\0%\n4A9<%-b@Q!Ȅh.@JimbTzvC\"yr4e!H&vGG	HK܆4s`wS%\n2:Gԭ[\\U-@P#`L\0Wloʈ\$ފ\0001f%>+j'_(Nɋ3,@RXI81u8_⻌lPlS\"PZ土-/&lZ\n5*h2P`0\"j02\n@]4uOl;u+%-{tVJϪ@\nь-qeTW=]*SSDHứ)vLo@Ps-V\\ۼkY4ڭ‟4Ftbܸz-*vOl9G0c\\O{'Wr7+N*V_+4\0Ŧ~bP/3D\nd-|J\$0&her7,-.ĠoƠQp\$!87Kds\"Sp̬PTBOhd#V&V)n4]@\rt]@T(\r<0.:NB.S2˰n\no6ph#L<?rG( qe+0Z;k/#PV8NbZ\0004Pl0m@z0;쯆%#!.m\n_3,\n^gCȂP)0mV(jPf	e\\T	V EDO`ՍbQ@P\0``\"ycJ4Z5ڂ#Nf\n\r%1m>1\rc&x\"`b)pͮ8J/\"H8qΩ.K:j(m˯\$\ni.KfŎ#\\olDb\nrj#'ضfR&˚'ʘ5†Nr撡)2rf2&!l7FEˮ#2 \rmc#lT_ܥ\$2Ze2Bڶ\nfJ!GuRx]@(#%\n1Ҙ0\0ޡ-+i ș:A}'%!Q`";break;case"pl":$f="C=D)eb)e7BQp 9s\r&ybob\$Gs(M0gin0!Sa`b!29)V%9	Y 4I0cAn8X1b2i<\n!GjC\r6\"'CD78k@r2юFF6ՎZB.j4 Ui'\nv7v;=SF7&A<؉rZpk'z\n*κ\0Q+5Ə&(y7r7,I()h9<	3\$#R7\n7#ݍxcK+5\n5DbȺ+D7`:#13¾Pʡ\r#7c2\0xC@:t1xOx*J̘^*^7p7^0ʘ5)D-˜9[`-.CBCM;@Ϣ2C\"40H\$\0005M{_V}\$	cx:\0*#7B#p[.\rn9)JA6+UHP:-: ( L`P2Hz6(oH0Rz6a\n1‚`Һ:R:=փL 8oCIcorH>n>\r{X(Tn;=]E\0N]'zuZ9ItAf#R>CL6*.^Ao>5@P6w@\"[:*J垍j{S!-YĐ@ˎ\\9s(\r9£\">ph@H:Ԍo3 Ѕ72-.Ce.:Ό2E¸3dniZZ:0jʌA;S_C)jqO	W6,KgEkv\$1_/Pgp5 KG:%hv~CɰDa',Eے\ni-#\nxoGuIsڒ[	t2˜*gM)6dp\rє>4e		apА\"D&H\\(mez2RB%%3\\v,%bL4&/Sz;F7LPnOi1KхH dFT} EA	aA DAVZW@ oEΆ(&R+5!\0hhIh3a&IjA%f {&\$U8%Ikҭax/Q\$=\n6C(s6Ux(7\"^LIvb#S.]pIh'.\\k@)A'bgQJ(4rt,g	b@b	N	ik9DLCiL54l@,R07pÚUJ4]C:bU0[*X3jy) %BƲ;Gºhm*A6\rg‰vNI;ԃ/-La2NP&(_MVdVF E\":Om>A:|ySfX2N 1%pvJs,+C<LK๪jHź#W·jZLd^G,JH#\$wR R|r<D<6`LHK@oX3R!\$|lSn:-?7	ݿ+9h\nw#L1,	}sΨt:fīfgi(2Shfdfq*(Qg *3@5B)gyej\rJƼ)|ү\03PސyiJFBo39!AC\n@oZ&1Gy\n`2Q^t5٦i]BZC\":S#h7!eC#7MXЦN0¡@Q6 ߜP\\xb(}D274\r3=!HϝL#[:|҇P@L_,l˸T|g` @BH#uL{TT?pu\"j冭1E+6}@Gc\$5]_ewz\\2pg{=^C*?;2vv<xLGv{OР;%z>݃7719իy#duF\"F\$ʞ#K8-\n׉T\$zdl*͏CKbΤl'St8\rH)#QI_G, )yw)&0C\"j%&ш8CL>	~4|\n%jsaFfu(0N(DbZp[PaPXpJ\$\"&̞G6\0\ri4h\\\"KV]b\"@W4h+A`004`\n(o@w{ZYZ\"\nV,%D,,ѫlq;pk117x `ڴH9D. JM9M1gmE#&FH{1[peKe0Y*Iq.QܹBlMvFdCal(+4	t\$F_Vjf-dGb%Z]mu4qv#YE\$@)v-R!CK\\@	Pm((llm##	p9%PQaO'k'Jܬ_)Np.U#8Q%q.\\('V6o,2+a+T,,R%,p3-rz&HZZc8c,Ie <K).^n\$vǔ@`nq]Q0-䑛)M3sT\rh&јG*5_6ƾHETჺ{D{N)8a_9mr&Vstl'* \"=R;A@A96q<=(\$*ӟ4.==O9㤀)dgB2њ<\n!EZ3c;AOf/\0/#j!BqB= C#7/Ϛ#6*\"Xi<EC2!8-Fh3qOF#(&R`*>ei\$)ú),L1,FtQ#B\$]imIi\nZlj>%nGtoE@MN2Һ~JM\r\$Bb0B;\$u6㓌`4b3%'Mt9H>FjCMV{0E9d5*\nOFd%#3p;(U\r\$&0zsQ` L0%SX͙WP PXEO_W)-Y-bpEZՎa);{R(In 5v|G6\npP6p__\"'OY,T kcK\\(1Ɛ -u&0mb+\"3Q\n-{XayI4\\GdF#X\0ͣ>e6\"\r W^>l!`qگ|;W ";break;case"pt":$f="T2Dr:OF(J.0Q97js9էc)@e7&2f4SI.&	6'I2dfsXl@%9jTl 7E&Z!8h5\rQz4Fi7MZԞ	&))8&̆X\n\$py1~4נ\"^&aV#'ٞ2Hd0vfβK\$Syx`\\[\rOZxN-&gM[<7ES<n5stL@% L4\r\nh:T8s㫞pȔ4TX.plj\n4n' P2\rT:\"m< c<ܰpP@;#\rIC9430z\r8a^h]#r.8^A,C ^*΄̺'{|B-xƸ0,NLJ\r]21+ѫűU<9T,;#\"<̶P\r:(\0< MaX!`꼧#J=erL΍Ch09\"0:g%J15e7\n	P㋆6`7؟>|\rm(3xbi6jr {\r3157Zܤ&LYRUlGIqEWR焾BWictS#k0\$Z[PŭD@!L>\"#2]N9g.{e%(q:iպocXRKŮ,.%`U4m*Y0I\09N.S&;ޠ'Agc؎c5ak%.<^3+\n42SHy=Øx8曧-;Ph\r=GCs2CLKRL)2tҚhwM9 p/)EAD<1G>xep&0ĆRphb3#]>,BMN.K~D̚RlM@䝓Ì5?\rz9p8@R6o\0005tGH;2[ 'vHW%\$	O4[T&i\nVՂC42}/gR7h\ngP1%ac.\n~!&H@IKqaMƄ|@PH- PTI'+dŇ2<I l'07' s߬[#;ٍ?I\00L9굒7ؙCzA%a ^EpXKI<(],y9WlaL)g6&\"KB]\n\n'I PJE 06R?!A.%uNI&~ٙ7uPM7N()\n\"R7X3`xS\n,\"Rx㔸 譙`@ u!t 3&?M)j@n0gjEM{Ê]7'e\n5@FaȒ i#Sd2(L9('@BD!P\"KL(LtsrB9X0X<d 1jL朣X0řD(ʎ4VAhGiZ0(U7FG43dԻ=nVsZkQ/\nsUVҪJ@\n\nrEs`T)i}`\"VW1F Fb3U@a\"0^+1eW7@nLzKP/F8ո1Ɋh\nܰ!u.^[T~\\*@dj3MDS6FߞH=O\$o<&3ᓨr\\1tALRHsD+-\$7\n!@K>u4)#%%`rcp2Ƃ׊p@CP.knhf/6=U++jBR{|;N<OflfpM|\$9rR60O{	\rߕ3G)\0r)ˣgdȫ-<B120Ɣ0On\"ˣ'*1rfxbqG<q7ɴS>A<NjBsbfc)!|+V4MzdpGtvu`/3o*cxٌwtGn1\0( L\$^>5SiIpqD6c1>OmE0:E2_GVvsBHX\$^ZAEecUyQ%dw;%3򿑀/}QX>vqclp.\rMqBo/\rܔ˚f߮v\$)don5,\0+[nʷn`JC?H3cdb6e\r@/jxbkdTnY\"<#-[ PRj-\0\0:TNƷcUN1 Z\0WZU/jӫ\n},[\0.#0i*	m8 +!Zd̀\$>(܃*J(' :\$'p}9E+/FTp%\r-)cyQL;FZ\nBkq\$oON}br:Q7'OО%F˖b\0\r:q0\"p\nR[]qB}0d=\rJ(XVB|@\rg fRr5H0BX3oJYc\rVca+\n!D|}`P3qTݢN@*k\rH\np\$T/\n0/):š#<I	rFk	Un	th\rqk |bX'\0PdLDΩyjat]#bFh1W26E?rV!'Fe1*Ebk֎'\0006O0\\Dnn~'q(|v:4*\r9rI2U`b`RF/3*0c\n\"ˈoE'Ž@T,Jì#&2:2I6`͂Cbh.i+<4n01+Y+ .6*frM5\$K Xg 5 ";break;case"pt-br":$f="V7jm̧(1?	E30\n'0f\rR 8g6e6㱤rG%oihXj2LSIp6NLv>%9\$\\n 7FZ)\r9h5\rQz4Fi7M&)A9\"*RQ\$sNXHfF[\"MQ'Sfs!\r4g฽䧂fLo7TY|%7RA\\iA_fDIA\$QT*fyܕM83@ij;êBVB¤+92`޿x䞍Z#\"\nKn؎v\01I\r1B\0(j0p; X`ьD49Ax^;́t7ar3X^8IҀ2(7z^031,c\r@P<nCA\r4@%\"7LSTMJpޯM\$\n\nx(CUlہB6\nt45A*7m#jƽ=0:!`CkD:`e9Zבhtuӌt(0I\r	VC6kn:7*W\nw( 6%2ji*&L[>c( ([3F\"B6!}f5Wl4F#lpB(񫲚\\Hlh\"foYC,ϸŏkA3/DX0՞Ӣ#}&;/t*Y+Ў2LmSXx3\r\0,t7)X#6n_)x3/q|2S\$hHS\$ާ\"\\7`:q[4R)Թ/L;wMsh,\rAoJPR)MMɂ2ja\$&4IrVpPV})m.˜*g~i9&I[:	;Pm`t@\nbTP'Ȩoa!`ΩM@ɔ;iCY0h>QwIxpY\$ѡKc#&t43ߡn#L:nn!^&(7\0TYqdbPNUnE!srH\rP6ͫ[?TC0id,d\0P+'Q=(R{	8\$@ҊF8!4D|d/qӺS\nA=C4I CĴ(v!f(E\$Z\"D􊡨A@rp!\$VJ4\"Į%phfƜ= c_\$\$hP	L*3sĉQ3ԇ' #FT˳6|s&		MM'd'ݯ6#d2KK\0F\n|+25ҕ\"N\$`Hc\00\0P*[, E	ΑzXJA`K癇.E.(G*umŰ\"^IGU\"jDt*ͮ\rSm&~3zo]ij5TvQXBIYr'h+<G\n:HS\\c&N*\\.Ct8ͫfa:1f40\njqYi	e3puMH_	e(+Ŋf'CFY#'#\0_j\0m=jL1|护CuRS,T\0s\nlؤN09 IΊqM1TQ`T\n!@3t1#ub\\3JyCzVzUb*%=Z12ǹF>^(g5%F8ybɮbLZbRN1X8` Qu|PC!Z!aӇr/&expQl,nb&黩G\n\n/?ay01DV6 +0ݺ6Ɏ)xecIsX%\08-/_W(db0a>O600}bוO`\rϱ'Fn;)3`fAǗ{xHB]4b8}v,f4f8@&YZ;o8v+j<S>D+n2fUFoh#\0j!fė,kTA\0,Ywg]0o{/⼆,^x|)T3K2(!ۧg.8?Bm^'[KaO6Ω~̩/\0\0,\n(-Wf/%cC\"˦\$\$<.NY(\nXJh*od%D>0>,bPR?#h/oQ\n=+\n̸?hk2Id#6]@&%/ȬOA\rC\n\r3oѥ8>Zλos悌о	:+k@(zDX#8&6e-IP/PfQa,&n,.\"vŒZ*:z0J0\"\nhfžoF̫͂l@gFd&xL\nX&bμBBQ 'd11QbXIbzLш3er\$i%4EQKD*ڥz_#b7#0o<2ra#f\$u&Pc\rV@_B,\rOB9qLۣ2`Z_s>\rFx`\nqŮ2L'-~O\nA	-'ok-%	#<\$D\$\\%#0,HE\0!/\ngBC)I@\"g@[/rDJO\$4=,C\nDatS\"n,6>qIP<N\$ojR\"7oh!gCj71LZk7p!#Dz9^;Ӕ?*,`1\r쌷`{BsJܶ~pxh]\"8a`4slG`꒦;ct3/82X0ĹEBbIS&QW0k@/V*;\$G\$@~/";break;case"ro":$f="S:VBl 9LSBQp	@p:\$\"cfLL#>eL1p(/iiLI@-	Nde9%	@nh|X\nFC1l7AFsyo9B&\rن7F԰82`uZ:LFSazE2`xHx(n9̹gIf;=,foNƜ :nN,h2YYN;΁ Af2r'-K !{:<ٸ\nd& g-(0`PތP7\rcp;)9j6If\rBpK\n@P0`L#1P+>:L7\"p8&j(2L肥i@2\r1À+CƫhKHlS\$0!\0\r\r`@%C3:x;RAr3^8L32\rpŠ:\r.x!6C)<Dh̥C <o-UV\r5sɍ\rbANJ+ăr3h\r:!-hh(k04Q :ۏ\"`hCsm(2\njtm[bF%1,;&bL;V5h|@)E⁏	{2blȌLΐ&9 V415V!ňiSV4-:Ưpʃ(7M˒bH%C:\"魴(i^в@\")ZpZ\ny**rʄRz)	]EiaڔB\$_?qB8smh6F\0Sbր3\r\nz\$*\rt<'̡3Fak(aJm}^5Ҵ枊S^H3~ɚf;npÕRM84úyH	?zD/P(}RRe@M		 !	L>3SEIMK0%ỡ< 3ӂrN<'SP,J>nAʮ\nC'UCZ+H9#hf2 LA%ܼ,Su-ldɸr(egP{ρqheҞCwK4e9),چ\$od9\"KnǨ'乃r;iLn\"oE8r8̐\\SC\nq!ǚܻG#jijߴ˒X!W}FH#څLh4Gy'үBOBS\nA;Gy	F*'L\\\$QJ9m\$`Ffg\r4m\"VHs%_Ry\\<\$V|4!gsyX+AJ<t,✡\rI+50˜Thy)dH;pd!}BRK#\\BlI2vAƨſ']\nl쭳cvK0T\nr>US9FȜ&2Lo%dѕ3ɐ-]vubje]R\00S~n*E't[>IN)8ܭ.gC0H}\rjNțVxAYuK*tmx ta\$\0hʒ~nh>|1iV %8t[ͩ0@!?Dģ/92pGeVk\"=S[mQ\\raj:D2V.lWt:E\\+N`LRa?0 1mJpWm\$R\"A\\2f`KX3SRvs_İJ!!P*?&StpL0x/eQh8A)cXkUgkPQg`)\"3Ը[W.;񻌎*;nwGj-:Wh'z6+}quwweFT VWD\"`q*eoG䥮4&|G:Me's9qPx+\"3OaiEuݨeY/nA[ٽͦg6*0RN)b\n3W6n܇+G22&J`wJ:yyIo|ҺxnS'UJ.\\8y{`΄DJS&յuɊS2唶kMH({!CuBd0i<\rpX*}\\濏L*p5Y\0Ly\0´oG*: lnV,.եD.U\r0.ND-:cU@50D5L(lh:F&cpHoptЏ1,H\n=CP|**>v/¥<,cMc\\\rc;'D[i	pxo.);elFkLGϨ[3VEhoDLej%~,j\rxeaL@lGL OPL.reP<oT)F F[#ƶqBOBB:@aDCob~S\$:c:ZYFaQo:-Yq:-^TQ\r`\$U1WP9%D\"M{F#Jw<E/%\"єzR@o.Dp>Q!#FBBbom%B\\fQnh@(\$n?id\nA)[): 2d'K1:\nr3D\\ NW\$/T?d!b@2,hFqgGcX/Gm!%pdCE.R	S1m\\5F\0m*W p-Fh&z'~fڀb\nZ2\$>.Y䥅x|#,b:#B\$gcGfj̄<#4bOo4\">[B 琬,Vp !bzFbm8xDGw`_bD+Ed_cW0W12, 4loLS(QƥA40T826l2jd Bmgm@/%_NƼӤqF8eRt`b:Ed.XF8/`@ZVp,/:% DJB:nn4\$-0\"fPjt@\r\\mhxQ8\\(`	\0t	@\n`";break;case"ru":$f="I4Qb\rh-Z(KA{ᙘ@s4\$hX4mEFyAg\nQBKW2)RA@apz\0]NKWRiAy-]!&	pCE#yl\n@N'R)\0	Nd*;AEJKF\$V&'AA0@\nFC1l7c+&\"IIз>ĹK,qϴ.u9꠆L,&NsDMe!_ZG*r;i9Xpd'ˌ6ky}V\nPػN3\0\$,:)f(nB>\$e\nmz!0<=S<lP*Ei䦖;(P1WjtEk!S<9DzT\nkX]\$(!y&h02ŠXE4\$n)56d+RC<%NE3# 4(<\$5BϤ>Bnrb_EV֖S MV<*\$xX@4C(C@:t㽜41Mx3(9K|h5ihʵj)*D2\\x.#ӴֹN	a\$̙,dO!iDEdnG&γ!6]C L(IcH9?3Ά7:%VN{օdk⌮~Kʟʆ5 ijt\$;7voL67l~Խ*|۳@\"]bR&){>3zD|꼴.3GNdvJRDcBaOT}6#\nM{m!\\W!%t(9˞ݻYA\nb\\\"#)+\$\\F,/=cwi2	W%Ac؆C%P)0,^4Xx繱VM)ёZpda\"	#`#?9ؠ	˕DV@D\r!0 KsX-k\r;Se趃i\r9^RÊH\0004O!x\nkEM1,hq5&C\\=ki6@,I3M_QTDochsy|yq0=gUQ)F xH#uC*ա#C`RċlP0YBt,*19%℀SN\"Dh%VNO)E!;\",IK#%F7%f9K)	%=3ЋhGs6Q.3uwCb+\"JaNQ~Y#xV>LZ UUK9'(-']BǹSz\nXd֍%ZYl-^\"Xa)m%h>9rx,颙ZTzN(b.mS?L%\$\\=4E&*4\nIGd-QyGUe+Nu\"Y)f,&Z]lEL\\hH]ZsRc\r\$9y:W!GUID|*z\\ldիBQ\0zŒ'XYJ;/e('ĎgMlYHm(I\"weQNۢ싩<DN\$!Sݓ,*\$\\#衪zd(.@?rFnTBzCkcPHLb\$5Gj>}5Q[11+vJ(Y˪\rub}AwJKY.\\ٕGcw^@7 F˜R֥3T9ǧB~\rPQBF\"GdFtJR%tdҫ9K6T(%Q*S\r]r_a@\"	٠IZN]->e\$\$g췑XͧpBFW\0£Uf)\"&*k34DU[@rLRn]{&?Iy^4`8T*kLOq5xu\\&A˧o%]^-b\0O%4ӥlh8[Kvd+_ȝAnVjHg9v!~pA:#zoL̆ER#i*ROd}GJ8]8&~)L!9>.Q[`p1=	J). o3;aPd'Bv\raYڐxXr	d}__ZrP XLyƧBLJ!AA@\$	>\rC:.5z)',Efq̆7:A~CψMp|oJFnO֯ƛCM.6F,c-@bWnd\$'ʸwBa@|pN0gcn(LLΆb|\0H=Bk)&Dj/IzPbKn@/BЁPf0\$e\n]>nH&2bmG^aAp0ATC+n/NelN\n 	&L,QK&NPJs z\$g^1Tʴ\$ک1_#&;H̦&+z\$|˰J\nOt0aqnO	Frzq~1Fre,h}MX\$qѸ8K(#cܖ(*޺Ɲf2\0 /Cur .\$rdFbv@`Ql%&\"XNT/xv!%\"C%b%n/-=J\"¶0晄(2hH`刈vbH‚Lic3F'2P,KdmdJƠ>2ЊA1nG8N,cC2lJ\$%/Co)`E0K3NH0,&.BFNO,R3[3=sB/s4y@*X@bdyfLB)P33FZo,o\$u.B\"ZMOa8tILB>%i-&pLw\">PCN\$\0R3w<&65i/2`lL4JC2JFYAߧU4Sl5BEC=q56pD3i3EfWr0QBsY>TJ	F/!4g\$FÂaAGR&e*TR~t1HtcH7L\$oIaIьG}J\"%DA2l}4m3ΉMMΒHGN\"CN>BU:Ը\$*,.jSk,I8-B%%bbam͸!j!̶P]?0T\$4?LhU0ibmˡåNV>gH00е7FB6<tdЌ!f:딗4L#,:f3A\\r5Au1Jo^;6]]Q\0^c]]z+O h;2]P.0S9bV<)|j\"!A\reBBg0\n˶E@MZKԖgH0VfPgLQ\\A{3+hUK56c&%+puֱ\$DQIV&I6CkBp>olhadNw		RPNt.В!tMpaEpqbcc~[oЪEqq\0VHGO*A/O40!]WRtpi5vN!vworWtK\"ShKtx+2l}Hbыt2k{41{vd\$wfxʷn=jbNuEÛ*sy}hr{qɗLt7w/tw2G{#0dB8h\rVS{º]ae9V,%N{\\Wk,#2'XUp>UVmZ\n`qrl^UBol	ωladXlUjt=ы}{c	.V-wb?ckx'|p6CxWsr\\Wۅn9XF8P`\$hvAv.'e`+5f3&&PL(o>)fl!\$qDƴfOtH;UH4aGbR8q?IQ+-9|y>Y5Ƶ0Z'Y3;8\ru	>r3S6C~MxfNP\"t::\0M>@\n`Ko\0\$u\nDPm\"\0003>Z?OGG.2\0AjGff\$}dPs.a]YHt~j:Btz-SbSZ%n046\nfՑ*TN%";break;case"sk":$f="N0FP%(](a@n2\rC	l7&P\rhl25rxdB\$r:\rFQ\0B18-9H0cAn8)D&sLb\nbM&}0a1g̤k02pQZ@_bԷ0 _0ɾh\rY83Nbp/ƃNbaaWwM\r+o;ICv\0!F\"<lbXjv&g0<zn59\"jeHڇ?\n -~	\rR@n0b<4\rp991	R4D#( j \"x5#Dcp0\0000j`4C=\"E;c XH2D49Ax^;r#\\zrԸ9xDj&.2&H7x%\"8<q*2&7c@:\"\nC6\n\"44'WVmP'hv5â:7<hJ2:6=e6me\rMh!t8*RP7ՃuPPbքH1C-:C :R:T0VL:co`_/P5*#(C҄JŴX\rbkFc^\rc`0	1#r(bV:&|:&Vl6PU=\\#-.J ȧ=z\0 P1bCH!^(>{Z\\;^;R\$\"6ʘ\ns)ZeGGiH2de26q6Ɏ4OI۶K`9.8r.|l꒎x3\rR'qCސcp`#I5\$9/0\n}tu@C\nbCeD;\"f)\nEIIh:\0ibQ0ƙS:iMi7ӲxOAfTzй\ru\"ʊHQw\n_E쬔JЊvRJ)O-J0&%BjM8taBwI=n/8n UTǰCZGp9=r!Tm	yt#\"<MA\$X`6Y/@Xf6DQ>}M*8EU` ^zCL{/`ƼV\"2	ĥtVM|\\\"B^)0\0PCQ`1ԕ#Ԭjͪ=H7v<JBquiD4X1L\"p-8_\">w\ru@w6yt(LgD2\n~'!0:*L \$\"o# o8d^ǢXK2{dj9.N&Wǎ./U#@%9RHXy3\rONVBU+8²2\0vRRQ>R<\$\nO\naQ؜n<4ʊpIU~6h (!30qDhe\rUxt ql@_`b.`)\n<{*A.oו[A%!:@3Y?\",3]Lm8PT@-WEŲj>XIYPet+T}%9@‡S\"+/0\n9h6+tLeP\",C%(eDkg794|F#IŪ5ߎ0-卻PXoHa#1bG@\$\\8g\$Ld\0o9#Fbb\r@\rɸ	mL4e:Avݎ)0X0ʹ}X0mvfNubSD\0J1Bz<8QS#V96#gh4a٠\0PFQjue&<[hU#F,ZI#A#cP\n!A]O1TB\$\0'\r죔|{ygt֑F₵Ah2\0foRT%S\njmQZ!\n&᧓2w+ߗs65XB9Y\rlr	IyF]slHQ3+9˻?<qp&YnϺN\04NQJ\n\n=.jAM9VL\"D%Gu+(Ҡx9f]p8\r(e{BAU̟3\$Pt꿒d쇓@˵x/:Âéгl~/17rdPP>#xIOO,|Z.oFDl@\"~o\nͪ:B6JG\02  F*Ov#eb>m\n#p^Ĥ(@ElnnzRE.Vl[Ɯeo0ʬhp\0Lt-ȐG\\\0жCq\$0pP	n\$\rSt\$ p.HnT̞\0H1/O匞0_m\0quЂ1\0Pmt׋C0HLPU{vURi*% \rExEb,\"[@\"C(&`ڦW.KfYѴFњ\"(Sd.ةT*CVS<\"Ѣ\"®H\$q-~+WBg\0Xm:փ&n9bźӭ>Zp]\"c#nqXo#!#6kҒ.:(BR@ǰC&\r4]&'/\$\r<ˆ|1Tl#)1n48eQb[\$|SӮj'Qt p4B-SW&R'p\r-+҃'f@ɆU)|F/)-\$n\"JZѱDؑU&o#s,b(lM3|Pڱ0%k4m)f5XAgRvrm)A|425\r:ݓrw\$d8D!7s48n4.:A<do1{01TLr,N5Se\$bEH(\$\ndWƚF B9&лeJ\rV\rg?+8\n(\$T&He#\$% 	\"G\np?#cΨB&Zꎄ'nsy3too')(#4#<\$_%Th\nFm^f@	\\6E\$0<\n79L%\0	޸O4c[{!B4bp-0a\nQ=*pRX-\n-G'&(~0,\rnp!23Q[T\$5c@'F''*FuVpGր/K\"'?:#\\\r\n(2~Y'*ɤFT5\nN'K^mp%\$\"g51eJc1LҕR-^,@lF\$\$nlj_4RT2c?#dAg{abvB	\0@	t\n`";break;case"sl":$f="S:Dib#L&H%(6l7WƓ@d0\rY]0XI \r&y'̲%9JnnS鉆^ #!j6 !n7F9<lI/*LQZvccMQ3g#N\0e3Nb	Pp@sNnbf.Pl5MBz67Qfn_T9n3'Q(p]/SqwNG(֫K (a֘y2B;4B0B(0\0*5R<ɍ0d j\${4ȧ>'1C&\n0h\r\\J`@&`3:x'ʹ4Ar43(v9xD\nڔ#x|k(\n[X‘\$֌)+<;.28M.'\r&2#(\n\r:*\0ĘMQUU\r]TcRKY2%C`2`P4\0P7k## 	2OfB\$0bk\r:K:+\0C ::J5Òx8Kb7ڀP4K7&*͟k863.h[?7&-C\"mc]HrMUT=%\"E;9Mu\0AN|P{ZN(\"@P\\K(4K[\0@2MÚ^if)Ay\r#fh#CP*Q!dSÒ[TJ3'J^'bMC{%5=<R3[@9t0_)P9)|\n9<s#=T1)QǸ6w 1,#IT'J7*̶2Md1߂<Գbj*x	cz-ش (	/	\$<l8\0B|i\$úQC/+\$mKM-0Hm]d|TQ	!=N-GO7D`@b\$dkey2J3bHaT:Qcu3F@a?1Hr@޿u9	<2`ICBj)@\0()\0d&Mo%\r7̊2aN'.f* E\\7u8֩vA@ɴb\\g1Q.8pw%R c(h3x4ǘ\\ĴgaL)h	7F Ih5؜L	4X뷂@eAF!dJ1\$IjU@C؊	S4	V6Dɋ\$v]#M! q@az?H)t̼\"\nNIO\$InxS\n-:@u4IvIVo	H14>H\r,UE2 K0#I@BKD̟3J`nGR1Bȝ\0sf̤8!H2|QH'cA4aY(7uuG0R'Enb9~b`f	1MȡfyfgQ]b<2a;CtXz6\0 )#\$R~  cq'Ù3P\0(-Eb2	Y\0\ne` xripN\nȂtI>(8_0TA&^͑nY6y\rLE2bLLܐYk[/{\0l>&%q:qHź\\PFMD>Y^O9>'w<'蝡pC	\0.T>i*#_%N[&j*^Vy0u\\iJP⫁Y㼑Cu@doH+[l⶙F\0uU9Տ 2%u)ϗ6ϊu7Cغc9uR\0k6K{gblcga֛-Is4s\$Ր)/nnzGx*ut\r*8IyN\$d%T8[cbAxs,\"8Jb#يsi*f/BKض>P|2ӥGgϩ؂cCsAH<\"\"0y>/k`K%bND.Ϋ_\r©dSR>1NFk	xtÕ*st–W%nƢJtfLhf)^IV\0OZq:O	HL,9\0^|Ƙ]z6cX hvP_F\$\nyaQk</ONFt@'J(c\"%E~\rm-{x9\$‡lَ-80=Bo0GJNKMm<0e`LMPV0L!/@7p!/Lޏ\0&vNhr̄6K>WҋSL=갨`訣d\$`*b&J6	ғ0δ1*\$Ȱ\rC\$|CKG\r\nlL7~LRlzW傞\\U(\0ť\nC\nQ\\p\rRan(q`oWLv'\0QZlѐ(c%MŀO2fKw\01eGH?/1ؐͱLp\$X]\$*fK\rqr\rejPgq0X#\$)+'p8 =\"k\0q&J;!%p,rL* #Mn/ϑЍ#'RA\$Zx/cb-1!ʉP/8Ɔp~Ǝ+g\0Bn&#؎:3P[,R\$_ܱ\nqKvU+So*rT3,1Ps1,S2gf\rV@'~7(%(i6\npl{bTi/E0vc8ٰT'\r8p7+ӆ#m:c&@X/` \nOY! ΓVr?)7&&k I:\"ܲN0^	ޭ\$ D\\`7>F<\08\$b̢f6B(bBrRKvCϼ':64FPs\n1E#PC2\$4EIQE)*2Oho@Ť/*\\<	7IBt'\\CਫƳL\nLFƷ/\"L\0+5\084B&/#\$ދ*7D\"XON6@2;F;4%pE&i";break;case"sr":$f="J44P-Ak	@6\rh/`P\\33`hEC\\fLJⰦe_DehRƂhQ	jQ*1a1CV9%9P	u6ccUP/ABPb2as\$_TI0.\"uZH-0ՃAcYXZ5V\$Q4Yiqc9m:MQv2\ri;MS9 :q!:\r<˵ɫxbx>DqM|];ٴRTRҔ=q0!/kV֠N)\nS)H3<Ӛƨ2EH2	׊pp@2C9<12?b0QȧsֲσT\$R&ˋ`Ϊ\n|%8	!?/,nLS L l% 8Cx:cg;#p3#;.w>8H;c X(90z\r8a^H\\0ͳ|ix7%JC ^-07^0γʋjh#,!]\\(\0Tl]-򽢂)w¸9\rF#>N(aa,\">S\$_R:^HHH'ixZˈ¾Dd@N#;:ZMyR<C&3܏k+u\\9s',̒wlC;*	sm(̒܏H&fyHYrRsJ]BhX)\"b	5*銥I^̪n+1rqQZ5WI\rIy|J	۴J%޾ԪJ~|zϭ{'gaMB 2Rۼ@AwC\rd2(y!\\[SVQb6\rؔ4c&N(\$Yr7&B)0lMO/4Bo87@`uO\00033`@xgBAK@g(HEFpu:9>5li\r͹B\nB`6E`\r!8)zTJS*T#JYVHR-m2xk_/Iłe!ĂDuザjMJJL)\0\nTTuVCr0Y+H\0\$W\$6Ut I5<%N6`]!!N\"XJi(y(j\r>`l\r1|a!3KEq\"%\"vN\$Ap\00igP!(!ב,6#yq\nH\nӗ#^&4PȚ!H9qA9yNYYD,fnjmLc]),COUZR2\\0vha3(v)Pcf**跍d) 4[04.l[*D\$B;*ZeTJ(;\$湅ZTn*>Q-TzFJ	J%yh(A\$X#k\$Jt<i3# &pȸ1ąJkR9ڣNPHP	L*Tn[?f-1#eIbY;R[)̒ڙ)uܛ%CL<4HUY@@f@P*Xa\r\$4oea#CL]odnäp \n@\"A\0(dK\$CUO\0R@ &\\ߜsZ\"Nb	tDZŤe>+[ZWڲ̸73XІ%k\"68'r2\$2J5\$h:ׅj#5lØ#|RZëX	 P)sHjZKiwt1iEuE?p<1>2Ƒ(U#\$2\\(򰴑]SR`&eIw#zJCS\\Jo:<&ڶcVPxiLشBe9urnƐٯC.vNHei5hǹc `A:HxI\$Lmp,5ɗ\$Ԛ&VmwڛކawF%*O7h{+A@LꤢNv)hZs9LEzXMaP*F:03pӸsO)6Ʃ@@W.a8y'P@ny%\"2Ԍ(	UR?}U%Bیf7Uk*ڏ?k4/n\\@ /x&FOAʢ]4‚~&Rg6M-\"i.ïOIOǃP >O/3Yp^~+aBЀ 	Q@F@\$bJ.,)Nkj.dFOni斠v)\rHo~D 0\nv_!.%rߥέk~,C,C\$?/[0JO*\0ƄBVmK0Lq*d?'.0*n\"ooP#Aqx?Mpbdwl:*#7kc:M*K<ON@F@8ll.@֧%	Dۑ[\$Q&1S/z4p>f d-)lN2g.\rm|t&GͰҧ%*ǔvCM&D2k2pm­&''pl.5}(*\\{l\"`>P\$e\0B2q1+0R~pޯ6&(,\\R\$R)o,04<,C%E,n(R!0\$2^Ql\"@DF:.,B>\"q2JRJ*s:*Ve!61 F2ZpFrPLDlۇ`Z!-[7B00/3cN9gfxƷm-pxuHqQ1CIF6֓k4?i3(uO8S)1q2`k\"sB&.QٴB5DGL҃:{LVHcXyG5\$:J}Т>-T1*-3cCyIRJg(fJi/o[5PuJwXhMMl\\vK&@BI.iPC2\"NAMKC\$@Hwt8uI!%\$3BfH\\&u-u[VU^U)\$UR2K>1-JBDnڒAO`Zb\"<_[a.0i3Ԫt\\u=oBҿ./\0pu`u3.CL/`5r`К\rV5~.T*n@`ֲ@Z+BbZa-վ=g_ϣ/+fN]]m)5Nβv]\0\rY>.9)cM:ޏ=_b!/s.>&:j]6{1\$ϳ,dv0_N6\rF2\"֕p{41AvnHf\rqq	d+q~ew;pwO)֍njuSΕ2\$50B\0nEmҕ]CI)8D?83iyt*@OYum'ho3Z6tqj¡=sr)A:/B&v.&E\r464ʠ8Pm~^cPǧSj'";break;case"sv":$f="BCŖ!(J.! 3԰#IeLADd0i6MQ!3Β:3ybkB BS\nhFLqAd3\rFqt7ATSI:a6&<b2&')Hd7#qu]D).hD1ˤr46\\o0\"򳄢?ԍzM\nggfuRh<#mw\r7B'[m0\n*JL[N^4kMhA\n's5dymE8Ye*	(8Ю\0000R:\nX0ɒ.h܎6z(감4((9v֧A*]\n\$9p@%#C3t㼜\$Q*(8^9(^)0,&px!h+!`ԁ\0P4j9X:AC\\\"p/\0l4AM#X7ů<\0UF6&KC<)\r \rt:)o3&2<\$x2ӈè?\r3K ;	/C0VB< 2O(];(:'\"d(O=59p)\"`Z507X;BPiLh1A@RݾMcFBAķBp0&,\$l94ÒQk\" X3:<:B;\ndd N8#ZF3Gx-[K'ckr8<-V2(0\r(x3\r\nh&AL]d3\0ڍ2#2\$52ac<[H9l0#ssSҔ\\\"7#ɔA-7΍ͣ]t=Kl*T)'\\ӱ%\r,].0^ys#E`J]e|)M1!Ȳ8\$rl(tp/YS)6 ʖk2D`h0 }%WUS& :` \r&` B葒BJI8;ȔrJawRaf<``>kH*I3~\$e1hZB紀 Np)4^ܥ9TQ8H,ֶ<T\$BR\n~-\0ZB1\$08H\n\0L\nFꃛ'D2`PSIIy}|H8IED5@eɛ\r&\nOv@b'FRfzs-5޹\$IdyRUQUfa*E\nȮO\$04\r(\0K%&9N*xЌ^c'4Hem9p^PptS	Omve0\n}A[R))A dUX`s\r\$\0 -FSQM#/v@Xέ2%bFd(	0b^ i%!*sY7ʃBFl1rtITB  \n@(@(R	!8#BxR\nP pjjT|0`o]Tp+tO9s{h:Dd;E^HF\\>w'0 PUH&M~woXבFůB\n@X3ܽBP[RDE7%@G!eHmT&rRZUR\$pGk*(.vȮp	p<xM\r.	bA1&aEUIēcr4\\TAȹ:_TIe\$nwEd!*\09QܿB\n#xtL#&cBƑsAQu(;?}_fOmHWaVD<wi\$iH\$1:M1]d#nOj9~Fۻnjj{O\nZQ5rn)^I3Oho5v\n{gϣa,\n)w_A04{	M^{2T\$ɱ5\nqW5\\SySビV[~,h1PE\nF^w{5iH^~a6JEBm9V'Qtq{4\\ϓSߘOm\rhUI׾\\Рd\$嫫oO]0Eb\\/4LW1\r\0x0Rmq:缰EED aUwl|c<\"@\ro'OMB\nYOE=)Ԭ&²[s|S\$ii^{v'v\rù,)񰊤j6)tU!u5}Hv6GNai,ma\\	h.e#kL(MB\$荆&HPϢ/\00FB\"',m0FPH,l\ndZ[\rE\r\"5aJ_4\$v:#20\$/Vϝb}eZc.:@eYI /\0P>WBt\0A0,8V,p;-lXi\0002e\nż<G?q @q#4\"DC\"\$zL|PU\"	2C\nɘ[ؿ0{mB\r3_n2b'j@S	#SnnxQZpR11Aju&O``q*)\"Xg~0\$5)*ڞcP\0\n\rɞթ\nұ&x0NUmƭ\"i\"Ͷ}x#4XN(n:cR\\Ģr	ܥZ Dh@=0j'Bj/-ā'pE@ax1t2Sr*-	\$4.С*7(/\"r=,\n>t>bicM|ib%.2~0c.\\+tɢ:_*|0k+xF\"Th4+2\\*e⒤r1\$'EU\0";break;case"ta":$f="W* iF\\Hd_+BQp 9t\\U@W(<\\@1	|@(:\r	S.WAht]R&\\I`DJ\$:TϠX`*rj1k,Յz@%95|Udߠj䦸Cf4~Lgp:E5e&@.quW[\"+@m\0,-һ[׋&a;Dxr4&)s<!:\r?8\nRl[zR.<\n8N\"0AN*Åq`	&B%0dBBʳ(BֶnK*9QāB4:Nr\$Ţ)20\n*[;\09Cx\0œO2~)#6nzZ*ʜӜSU-I\\BF@92/\n)IJ6l\"D,mEȌM%YVAC&E\"lUB/N l3 cx(#g#r@6K4@;/˹j<;C X90z\r8a^\\tMC8^2xu]L\0|6O3MCk4px!\"4\"T)Ju6)M4[5Kcq`GU\\'\rwŐQjSQwM6ʚA8b,62h7[IJ2FZ\\ّNeKQV)m1\".3Ћr)gґmڢ\0T8z#g:R	Nf#p:drB*g1)3Ϗ47g/OF*|ku?#﵌(DEoEh+G찀R'Q,PJywn6{	\0c!\"RK7du^;Os-Aoƀ߁i%7\nm5_NSW֓k.GPѯVؤX-(@#U6MCoF3]ph[>nax|`:=K	T(	&ig?]I\"S!hp.DgUG	DU4hU@왃9`<F\0&Q>VP}h[I|\nt=	%C=q\\:OM^UXE!&;G-EW\r]\"A UQF #PC,5@)Շ vv<A3`رqM6@+\r;VΨ0ΒKq礀AG0S@e44-^\"EQnHR`c1%x*|re\$S:llEN^}/X魄d,PV>Y%M\0[ԅI43w\0%\"\"sAsS d=HdH \n_B\nM\\'ޡ0jf4@`j^|w`k˜c1l6*{(FJ +C[Y3Ы{ZmD(\n@H*V5Y\r/+OAZ2@C⹁ʠC5ZF8E?'\0<\0c4vg|mhLKip@td2c\0\n\n (Kps>锤LfwhSzOYi |Z7|/'3J4nؾszoU=Lh-ֽLHMb-;.i_xPuRx!0A00]:fZ62]!3`úk^jLjӁ#P-2\r-l4WmёVyMEOD_x5~ABXcef*Zi[]uS'Ri I'qdyz\r]v4ڍk5B͉15~rK=vTL\0¢^n4U\$fF<v-	83< 6z&PgC.;<8m:76&RP*Ϲ8 =Kt#LKi;`@uqYg:.o	v P*^ E	¸@y~p^f|͎r5(*Uy,NŦp/^2y[v=ZiB+/y\nE	?]O-!Bd;Hέ=c49IF(c'6D__t'=]yTHxjDv\r ۨo>/.Xm/\\Ƈ\nׄh찐ʐsDNx~\n= JXD%\\%0\\,@5n\\֊snh t#M `@lJhx)d8Rx}#\0l9DA\0^`RPf.\n`GbNgb\n`=~g*8\$oBpnkhG..pLR il(g\":f*.b`B1ujnQ*BoY\r\n8Q	IMNjVrEhx`qf\nJDr+,hRB\$:>R,\$/`./֝PD)-	\"mo=hÌ 	\0@\r%LZ\0ȣ {\"&qCz#fX/apF1A1.ʎ^DCM^GFpD%prlrm.	)`\\,FBS i3q(͗)j)PlHW(y)&Q\" \$r␘ѯ0\rgRRl>;2_+g2,\r,#,*&\$\$/p,F3P5M`r4](28E熒Mr惪'(Ӂ5]88NB(S()MY*K\r%R6O)hm%l&4`ONv3.\rq9[7.fm4*qbe6Q,z)3TseFA4o<&Q~	-eD06bZ\0=PPp-Jeㆉ\00`ORI9m~%5,bsCHҬ唇FIΏ NeQ}IB<q5KCM4/3ԱѶTFiӽ/\rMt\rSGMHVOJM*ΑhǬ =p7؋!NRuns2r M B5@AJ#RZrsUV, %sgQދ[k-)4YNjAHU	Xc*\r4u\0+R	F\\vD\rWUmZ2uoOI+ڭiNM*1OJ2^X\\lmȕO;PN_u_YY]a\rPz+3T]Bs`P1R\",-Ra-JVY:MGv7drmӱ^L]^0f)\"q=\nuCЂHk=%2.&S2nUb`:m6=VAK0UV!btzմbLTIqcXq/ZIfdniZ,adI	g|`@rH#~hA6rP/WGqDgssQq1cLqtw#WV5g4VSO5 dWWj*'ЉFawn1nu)U`?H/.6ׄױx1zt@qivk{V-luyy	`dx1c~#!V)K+LXE0ԧOtbE< b~\rTe7t8-nxsgxv8|ON(umC7\r7}Xi!na##e:w\n渟Y88݋e쭅4hHQO;tr'RP/mhtJ-T|\"QiVe;}vaNL=hi2gӈAfXe*ߏÈ-tXDw|l2&ykWY|fC!!i'r)ٌ%,';%~m;oxŔpTȐ&YYd6ߕыXQa;˅+\r42e0C~/Z!xWqaR\"'Fj>mxUɵP8;qpO>y.xWZ\\ zIekzY\\+MvEF}0IX'O17ٷuAO@l1,B!S.o5ZE6ȱ/E&B&-Epg(:rZ5o8ҝΎ_kM+߲o<ZogUi\rV`֕[Zu ̡+ E<\nZ	^n~I\"ǝ,fW1nNjڽ9P{Cegѻ1:ktNwC{ {3ch-~P<S*)ҰF5VUӷkM,J\"&#}WG#8yA\\3qKȊ7w\"Į?m;	F2[3[ZCT>6K=r7뭮^h Cw(GzR:PƻLۗfkZZU+mmˤؑkٿVՃu݄@C;ϠaZ5uu	ˮQ1y/Q63O,A 	Q?AzI%zQZS.\0^cj)XO\0\rcd'mƆ8x @rG8*0v[LU5yqOj'\\>wI@Iek/P>}/JP\\P`\r>-cзnb=wu}LD	\0t	@\n`";break;case"th":$f="\\! M@0tD\0 \nX:&\0*\n8\0	E30/\0ZB(^\0AK2\0&b8KGn	I?J\\)b.)\\S\"s\0CWJ_6\\+eV6rJé5k]8@%994fv2 #!j65:i\\(zʳyW ej\0MLrS{q\0ק|\\Iq	n[R|馛7;Z4	=j.Y7D	 7i6LS0x4\r/0Oڶp\0@-pBP,JQpXD1jCb2α;󤅗\$3\$\r6мJ+.6Q󄟨1`P#pάP.JV!\00@P7\ro7(9\rĐZԻb8+q1a80¿/\nzL)5''Q  Si'qyJS{J7(\\1圔m<W;CN* l7 >xp813\rALگ94C(C@:t6-9N#8^2xuݣL@|6/|3N#l4px!,,Xy\"mӷJ!riJR\n4`\\;.8/iLƎޣ2<R[Oe=#\$Vr=p+#miȓ9P]@ 	Y,ÉhFP+R+4v3qI%Ɓ\".	ܳY-sm<Y6\nں	@\"^6Y6..B1Gq\\i*ث\\.3:D>%Ǝ|9Vũa%QZ\0Q+5󺞧z:{qcR|浗ZB7F6?ca\rψ\\9*QH \naD&5PR+ZjȈ𩳄WYjQ%0ѫhb\0NJ<TŢ”.cĘ2z{HQC\0	?%l3;#3byQZ8F0\"ވj@s%m\rѴß(x@m2\ni(zHHAH\$x;e3߹ 5*Z8D̃4 rG60f\rVWhh܅@|n :ft`6ΕCaR  `P((`Zp<WJK<֎,pm rbh?p9LEěɹx8C\"^Gzu`,\r6S*9F@A>}+26JV٣/9X\\6\"Kb.%),p̵ST@/x\"ǚvɷQ`&\$?Xxs]6Wdy`;Fp.a,-ǘi	!8&Wu}!,\rxfʪLj8@Tg.[2@CcGÇ)]xa=hLuTS=6.Ts5:^KP#i)LLc-;.s'o\0\0(1\0!HOu%%QU*(!g>G[zAmo^I>Z,ncGo6&l@h7	mCC:W'nBK\\  aL)fuKIX[C˪`cB.UtD=\0\n׽)RnX,-,Wf\nl.eSsNS;^:ICY4#`A^ԇ5m5db4jc2C'h{sEȶBi6yU*\0!ijQh.d`cu|אcZ[֞}\0Sbn<a` uM4E6'(	;;&j8.\\!E2p \n@\"@W\"Gy==Z^sN\n~]YSC\\FBӸkA+.BkXCJCuaK0Aw\"09G[aB<+2\0Kj*YrsѮ㦆ʒWk2Zظ]~wo\$̖;^KTIƖ\rԓb\n#\$'>2.gV\" ׀EV&yzҎ3mCgēwL!^K3CӪp:R~l\0ij,Ko>;MZ-\"L'cWQsP%p	'~òqmef *|਄²B~oO&>?iTDF<'~vo0;DM1Z}hԝ\$^(ÌnEV+q\nn\nlF fKރ 	\0@҄\r%Z D\nHڇj\"1yI\0^3DWbvi	\$&pā8wx;m̃~)~\rL-PZje	&+O(Uo0	E\0	\\@N\0mCh+e}n1p΅K \$	0D5|pplF\nE߅gȑ&1D&*3x 9vBpl~G#-\\6b\039N^!hhfD,9BBk\nZ|)\rbH\$ǦB~-<Vd;\$2b<hychez&rQ\"#\$P/fҁ(82쒌Ro'1r/He1|Fs Ȭvd(oCh+fj{Rb\0PQG/r0\$|E1\0.i(8zSBF)32H|.oJIN*+\\S+j3,ЇK\$e*(.s\r+/6wM`ʦ7S\0hT9899	C2s\\93Gy'i0/h?\"_f;p7 Id.PDUHIN7s;@:T;05ƫBҝ\$@Non&ÍBf\$#Q;N8&Hs,sLDG8{'fɓB3<;jp{w<PH\"3IFPTEsco^ooly=׎	@L4jǶtK)\"4iG&o4xi*h\$DhSPWA;?N7Eu\0;LlTR.14rpxx јE\$ӧ3<\"T4A\$M::3QSwUQ[RRTӬhSVENkuRk5U<\$e|:#h+̂Xjhg\r9Cȗ[5rR`]'uI7Um]]5PӱVW^<ң9tSC7)XU@@ܿC2UVv>[\0ꊰ<\$vEN5cU%9pۂF	4뀩A`ssAumg,aguL3}a-2gEhp*URVah3a8cҥj֕1DGYW5T9	R3<PjB+\0	%Sm3	VJ6Q6gm	\ro=3\nnbzP\\Ek>ĔoW2HB _ 6fmyG8r[s+1a<rG^39?[oI\n`m@\r \rm1S8#Rۧ݀Ɖ\nZ[q=?5\\;bWDmY5&N})5f@	{(^R 9.gyEnhK4UNS9ҨXrVnfN2b+\0\rc[xI{p'gη-,nwC\"t.ua\nh	dDil}sHLg!*;x?6ԋwإK^6}_=`a\n<Xϲh(FP3!]D+vv?Ks75QI({135|qDIhFKn|f\nŬ\r\rONRB^'=Rg#Ṅǩ,lOCE_1r3p58NF/=έ1\"J\r@y&+kU轫vgBr‚\0	\0t	@\n`";break;case"tr":$f="E6M	i=BQp 9 3!i6`'y\\\nb,P!= 2̑Ho<NXbn)̅'b):GX@\nFC1l7ASv*|%4F`(a1\r	!^2Q|%O3vKsfSdkXjyat5XlF:ډix\\Fa63]7F	ӺAE= 4\\KK:L&QTk78K')NgI,n:]gn|c7+%1>ň#(Ħ.80 ܏*#x9\n9Ɏh03.H4\r.8FC`@\"@2D49Ax^;ʁp\nH\\zbǑL~9xDjJ C2J6K| 2`P0	X֏@ȯj*cJ:A+s'IҢ\rlba(ț0CUUR%듸*/h'|J3.uN)υ8#8#Z6OUFc P#떠(=^.4-Hϥ0Rlc8oȦ(P>-;w<<\nP\$OҎO\$VuVOITd˔2RTBR\"ׅ\"I(z6Yٙ䙨OY\"@Tg>S(\r\$[t<=rjB3NeTRք{=ObB-4-ϣP::fhɥ{I?,\r|0\00ObUZ\r. ˥\0\rbUX\r5\"`.<I=P&S=pྨ|05|2ͥfv5utHD&I҄VK\\%ļy3m*P`|@,8'keQ7'Dj\rrfCB\r:bbS#%GK:*#bGw02P\\l>\rZ†	c)%%ԞRUJ\$+p&-&p)L&qA|+ \rЁ:ԉ4&|3`d!&rhCk36r`Gɮz}E|!7,\\S|փy`4C!2mpr4I\rBP	@Ku(\0Rz)82 ʦqXݖGP*E݂\\ưH	q9cG\"\$Q6\$:`plC\\9&fH7M8\0 1a65M08GZzwL0FϜr\r,2a'gvc^Ag3ZYd2BTr\rI<p<<#\$mF1DfW\n<YӈwRy/`(\ri \nsZwEDSK#pC9jGCeMPR^F%ɵqsɳ\"LU>B >=5k#\n.Bv-m)07BRe8+P*YrHyG@@*d\nnu0\"[vC5ۉ8žq5Ve\ncW]B\$阢9(N	×(,[PeA`pbQ OMAmg6@3G\"-CihK(k/j \"GR\"6eԼra39\\,U;αpːnS\$+Uɩ48A5Bp *\r-nQY09KCumLW*\rym8\"͑-r\niJ'BN+k\n(+v\r|	Kg\"v ׍I;6Aa E%M9!t/^UՃ0A}^U]A:75.]\$+0}dw>rQoO3wpcYx\\{ʶ񅐩3RIՃRNJ\r([Ӄ8sy:g35aI&oK>Eⲹ{;y;PDyd#&`Ca+5YE;?yC4 .Y(7\r@I\n2pə^	lf1κ~ʞIUv05~SRYK1g=գR md+`iF^S/(5ɓw?CTHJtx@JjpfuX:0zf^IZ?GJ@d;(lPb[\0D‚%tHp\r*nt`PnBJ-Es?!b:&J&;m\\aOP/@kխ^q+b/h-Fp	\$VPED(iΆȃ:jDD	\$	g?9&ò=\n	\$>ǨТb0BՐdt.F\\eRR\rbQ- Ѱx@\"QkЇ\rpp͖0Q21~ّ/H&U[FÃpN-#p\"Xv(@GaO&YAQW\0J[\">O4\"Dш[C\"WQ=sO@b`\nmlX6MooE(1-gQn;:>mo/02	 hjl}?{D@O22keݣ2crR,wx5F2Ǐ\$4O,?łϰ*UM[0U%Vn>pZo@؇\$#.}c8 c`%.\0re/圭\0Z\$l\nɨa'&)+\$(-8j.ln&\n\"Rh&qlmQ)e0cfUG<}\"|+\\\"Vu/\n+V91on0GVk^W,@O	Ȓ%2	217j^h^e6__8` k\"AB!m(.P7QP	2\$OL\n6O*:Sjo1 ނf8.o|lWR55',#@Ô.@3ig&10xТ(s7-4V?k\0#Rqs^-Ч";break;case"uk":$f="I4ɠh-`&KBQp 9	rh--}[ZH`RdbrbhdZGH\rMs6@Se+ȃE6JTdJsh\$g\$Gfj>Cf4jSdRB\rhSE6\rVG!TIV{ZLʔi%QBvUXhZk7*M)4/55CBhഹ	  HT6\\htvclVYj׶ԮpNUf@;If\r:bibᆭj i%lh%.\n{;y\$CCI,#DĖ\r5X?jвPp`ͶJbDbd*5\"=[ލLZ\r>ɿΩ2\\Jhq\\V^0..P2\rH2K9Ţ^媊yJ:D%rcd-6k2xX@4C(C@:t|4%\rDx3(90K8}1h['B/|\$i\r͈Ħ0'6\nVTM#eijLXtWr4k\0BbK@JRD`J2Tk^LeF%_e,)#hH(D@;K#D>hwf.8l70j0j65^ӻ,|LE\nܬƯ4R5hjsL#lD_h`Zݡ2G2hæ͈~-4\$I&\0J!J.8!zzn&B&k:fA#Nls9mS!Г8'~pOvo.BB )FN^+(T(mi%^#qo\0h=`^*6'1Wz!<ڻpD\r!0 K0s,;#Q%貃i\r9SrЋPӑ2&L@8N~dʝ4iA~vrm'\\CaV6IP9BhIދyTzSs)ɔXWx. ;C46B3(|]`\\^de7qF(pq1\nAP܏=@XZt+A9+-d\$JLfiUFAzRyGiE\$\${~T)E=-EaB %..Y7E\0Q|ƈ5u&r\n\n\rBpGrE̵XV\\+xXSbu\$3!,D1q.].ԐϺ:ͅ0HT\"5B2G\nA)HƜtGLTK,V/JY]<\r:\$cWg4AzVj[vUc,at0Qk\rLB)5#`|A\$g7pxO)>JL|q|7R'I@RTsYM&K9<KNx2&cX|ʍ9EС*lT][zLbHN29 :H[#\nԲTs9b^6h|\n (۱^1pSafqT!UJ( k5[4@\n1-#cRmTTK\rgh_]RP̴(!ICos!R\\عJLH\$^w\"K:T4}6fI>.P01植^R]'	]E-Tm<4C_Pŀ'rA\rf.ﰕ:RWM:-<!-bXip(TM!7B)%qAN9(6U-F##L_O:v.!R;,SN(<5}PtL~%P;hѡp\"qb^:l/JeN;t&=d:%l]\nR7ZxX{wP.oWpՍʕ>d5r%c`RהG24܌r'<4PהԗJ/9Fee*b7r@IZ1)K}Ar|I5!\$ݴ&ۺ\nM]%BZJzٸ-nb=^N}.6^rd4Qf]q?ԔE姿b\nwma,m/d„_cAH7Vu\r~\$җvD.ôg-*s\ry7ĥ\02ʩ7}v;s܆KQ|_;@\raDl\nm\n(`8Outl*2&|RJsOܪcKIhvg:8\$ŬL^&-\\>d*4XZ\$z	Kk5\$\n 	G|:E,G>H\$*w8^FZEaEf#qs\r,A6w)\"N\"⃲g0q\nH	_\"pfjcJkOOВӑgeAq#9և,w~4`'Z1l8P#pӎ\$_koQ>ðVf20sl:챆6067ڗ\r%|mw\r\"b0]Q,qXl>Jm-v'FJf(Q2*D,1>VcHLGGX^\0&f2'4j\\KNF*^&D@DȎ.gN,8K^p&(X#B,b#\n/bo(DRҲfgҐ4DcǰD*Q*nT\"%*\rNf2lFw<>m:D,\$ez#CL&['C+%3,kPoqB2*ǝ)*e2{tǼBd(@Qt)r.m,`IE:(``eIstlģ3||sOms7/87,4NzSӣ+͟'2\05rh1\r.hUq|cd8ϋ43A3ʵi,*=ex8S4<?S?a=k=I;E8Pp2.23't;IC4'QyE*CCY3|SEdlL0k8Gp,)(Fc+S/T)<L8~bHIH~Cp`qJ\0thn72͊rLKlH+>n#EQFE\$^(F{}P#5FL>S4ORF})9RSGkFh\n|\nBKS=DAE1rSA1VmVUJ;HU~XPP5kD*ZhBd>~+ha'{2c?=DE\\!T\0^7V=UTuXST&{&xbyՎ5BrYUV_	`fV6|V\\\$_\0gHE䪤TsE\n]OVQd-WU3T6YUOFM,U{`beϏU/	b-dĮvF=WK6vPiq*tCRT6.?_yT!J>~61_1Q\$+\0G>[\0[Gt\")ooS{	oџp-'pvo8pm.φpgK]N[r11ѽop\$<vkSr>qSF1!BKv^uUB~@ pHl;lQJua67B-b4j4ZQĀ\nqIs`Tu9,(_4P9<7Ps~MCK}5Qq&Ij|.mp\nv\r;J:AdO#t%(rD ED\"ǖ!␊9,@ve`-.,2yLİOxi3.@ՓnR\"Pj<%H1e*88Y,DXԱSZW|5{ы8Ui]I(ҹc>p\0h?oTbyaP_x,LRPǬ%-r\rt~hAoL\$ \\&*-/1&&n\n`X澯%.iP+sLixP{D4=\$j\$qT.:.sMRH#XV8<1u+N,&/NIS#:-#\n^ReLCH";break;case"vi":$f="Bp& *(J.0Q,Z)v@Tf\npjp*VC`]rY<#\$b\$L2@%9IΓ4˅d3\rFqt9N1QE3ڡhj[J;o\n(UbdaI¾RiD\0\0A)X8@q:g!C_#y̸6:ڋ.K;.}FͼS06\\vN5n5x!r7ĊlԶ	;l# \\	Z:\nzT\"Pi>2AQtV\0P<0P6( 4#p k=cx9c|(9ƒ1cc :#9\04x*94C(C@:t2,?#8^2|9^)̮7^0p2oc,6F;r\$V( ƀaHk(jxed_3C+#-(ȼ#aH!#t7%oh&L4h'dH+`=#\n:UVnv'Jv7]2pJG+5%n]7Q7,tWëZ^i\$T2H;FR!	\n(ܙ7(Sd΄[46)8@)\"`<UPYdH!b&WiX©މU\r\\WCx5EXMJ<1TY\nP:P1pwL܈DzH0*?!!vgsیŴ7KU cG8]=~H/A:\nf9@\0a\00\"j23PAḥx3VpʥCq4@xũ\$:RHS1|454vtـnN\\Q4xrJo䣭pPn2\"QSIBRwCZLST]\"F~:7C\"HN<'P;rQD2*ED>QL	pP\rA@tM'eC 'mbEw,JX%5	!D,.\"|(_FnKSwO)>*Q0E䣔xJA0=DP(b>}f>\$_@h\"TH\"ieQ՚Rt4^S(p>6UC2چA+̾HoG3h]  鄿94܄Aj8 --TAvB\n\0	3DxKpI)!R?`0to9C<MQ&;\$f1.9k`>u&0曒 ;s~joN!kx)0gO\"5#mcA2PۀR4++34ЫጡHݺLĎGSbAp d.z7+%\"Dȸ8OuW*e_ 5D˰ܵO&%@~9Qs}[ޙ(\nLMdDB!/d^xS\n,s\"-We틮fGk:'nNäuJ\",V\n#]K\\Ux䀫˃OmA#J\0s+%=D8r]EV5ZMqH\\ŵe(Nb%jr>\0A%MNzaYaF#tE\$	|\\]ԏ@YEs2BeTyd؋[[s\\\$=D1Y,g.-&|&tW^Z?xrw:Ȅqg(\n)ӞW();tK0%itHktZK +\0Fe-a2.kCY\$N9X]iO*H\\try43~\\7N懴&7`%	{t-N7\n ̀()& d![dcn[oǖᆄ`A\nP 0\"K}Υ)Y!\rq@KiZqk\0^rL2IfWC.ʼn;;)[ə5&4A8##YT3^|EjIw ̓5B\"Hb*Vi#!Cȣ}6<ch]n\$PL7RaI\\e|bS;9}ム\r`\nSx7Nލx	S[0(e]2#n0bЊXtMOjK^|umk,Pkng%8D斃*\"G[ϸֽ2~#Vьb[?H T.+ꈘ)va|ot6͜א8\\:Fjz\r%l;f|/Bl0N(nnB\\<\\LaMHm:H%,C:>cO/9_G\r	\0f&<\"'kcb&m*NҰc=rZÐ-,Rd&@!*\$b	ppp&Zm#\"Z˽	HHՅXu	{]0\n@)ls>hGLEkq-^0kWь]mt{!^BlrcGe!,\rm:%zNrEvu	0pMd|?~юq_|cn\$rs o(gϴl9Wy\r,|\\N‡#M	NL*\$T C5N<%h%GHζxANfAL;%Ry&\$(gҀ{\nhА΍ep%PqX00rHN:C̋i|#Ҍ;\$Z)r!<EJb\\	TbИc\$~\$r=,p/O4B\nZN\n&C3\nֽl.U@*R<{6exITm/qGϲϸ6U5Ok5e_5JH#f\\ZF2j&ıU*iw;b7FvrilqRW<E\"|\$pr\\bъ8F_5r-\$4Cl7=\r+*k[BiMBh`!.s@-ttY(Arb\"C\nMx\n'gqP\$,9U#FwH('3ֱ@\r>8{\0003O'6 ɍӔxjI\0";break;case"zh":$f="A*s\\r|%:\$\nr.2r/dȻ[8 S8r!T\\sI4brЀJs!J:2rST⢔\nh5\rSR9Q*-Y(eȗB+΅FZI9PYj^FX9P2s&֒E~yc~#}Krsk|i-r̀)c(Cݦ#*J!AR\nkP/WtZU9WJQ3W5.\".T{D-(Js\nZ1H)tIvrs	Ap2\rH2GIvL&\"s| K̂N'+\0BI1g,\r3:x'1\rCp9x79c2:e1AANI|GI\0DYS,ZZL9H]6\$O\\ZJ3qreR+ZK)v]P+V)\"E! @AA.0Y<řQ9UAUQPrDG0Br=ϥJCMdZHv]\"^9zW%s]Yx:DaJ5	CL!XMrB\rDm)\"eLnI54!P0>D\\C^Y7OTV;dd5SGAM2l.rF]4piP,uOSo91K!%~:ޯ%IXXs22YiUc\nRK]Xմ]^D`!A}\\#`9%	S=T)0\\'Ai5:eUV\$1I-9#e~ҼkXOp^ƐXXC69uyntL*&ed} HR\$\$IRd(J^t+2^2\rp:\r?1LX_!A\"ʼn<\"Z:(`;x&7W-x(TpTN	\nCH\$úQJo=+%(xl9ThzL=6\$eJf+r\n9D`mBB4\$\$0@WHs	1AReUެ>br! @mϻf)˨1EDF΃qD?\0d\$GPJ<	h\"pg•X\"YAWQ(iF\"@S@K0qr˙4%P\nxqjj+WD&&!kR\\qS\nAqI+Q+ueNKa\"v5ݒ-h_dJRlN	Ҭ¸ZRjP5vX1HN#jTS|:,D0B(\0,*@'0Q\0R\nz  (\"E \"ŢtUҺؼNs  P(B(	VP&|kX'&`PǕva@|xA<'\0 A\nЈB`EeVz-Oi	@Y%E:<D:p,7p\".ԖQN.΁է&Nxڗm&h~ࠇ9@o&[	YDQ	J`\"FNӴ}P͡*}з%s8Kk2W2M&rm:2E\$⎐RjT)(4<\\\"KEА,mhAb*W*U('\\1tN+>M&HҨLZ+Ae0H\\%\r5Ab~m0@@<gLQܶ+E<eT\0^3,%|QHyA`wH#ĺ#7H^DQ1\"%լ/uwDF!}ڼH(B\n&_\n|`\n\n1jc)MxHZ-scnr4+W	'B|zHRb=aqmy/e+m:z=Lќܘr+FpwX(Gpp?Q\01go[tRb1D+Z[݌Xh#nZVii{Haay?K*#+sBd]\nhZxYpv갂nዟFT:9xxL~g:gms|#%77B\\\\j:Wn7\$ΥYXF>	,V-Bް|#.GrszFD+;w,kJqrYZ텦bF;fR{`G{>%7aOJ>䤼vϦszWcQvWgݱ's\\w*9?W^G\nZrL`hӌ\\u3Ba<N.|	ŏR4P8ߎzc#K\0p=6p@moB0LpL:£/b	\r\0K2A>-4+-J6+pt!\\'^в\\0m:ϧxag\rzg 4.pIv\nZlh*nb6#~OæՆJa!(4!^Cp;' Cn/riV!^mLHzZ4uFj`I\0\\\"\\&l%Q*2獬yX10BunFѾIt4i[.\nnffNROjɁ\\Vn\r6dn \rn\$1\$Ql4GQb?Z0M\$2FR:`r(q u\"a._.n";break;case"zh-tw":$f="^%ӕ\\r|%:\$\ns.eUȸE9PK72(Ph)ʅ@:i	%cJe R)ܫ{	Nd TP\\Õ8Cf4aS@/%NNd%гCɗBQ+B_MK,\$uowfT9WKʏW2mizX:P	*_/g*eSLKۈι^9H\r7Zz>0)ȿN\nr!U=R\n^JTO](I^ܫ[f]b*\\gA2yOX#vi`\\\nsP h7P	ZģBGTr{4Ǒ0&Q8),ha!\090z\r8a^\\01\\Z\rp^8#;̣ ^)AT\nt[Tex!\\\$	psd<-D%yRP	 s-~WFJQO:(\\1|FMZS\0<(P9*iXB m OgANQD<vEMQd֭TMF9zr}M) D)8!v]!bbsēs'UEs݂8*\$nuq\n/\rG~g1s\nbVI&t˃j5-;#OTԵ1tV,Zx's]%)ϣ\nƞi0WDQTaT)#@sxOTah1PP\$#hVd¦KJ12AfKG#V*\\\\*\r˕I6Q0D<C2\$7%B(J7\$rMIGF')C\$_IF3-'V~Oa:=OdQE)\nW(1H'JZKy0>ƙS:i7L\rN`s.+E,!8H@*\na7A#\"9>CCX\$,1xP?RUJe-L4&\"Cps:߇(7,L2T>D+YZElQ\nح0F†!ʱtO9ێa\$T`vrA'Źvj0W)3]djš5(ě	Q	T&d,MP_\"TQ1,D0a\\p!!B>+eXEr9\0IIϟQ/G0G2Q&,#JrlS\nA@IXFÑ2/\rQ1/ÔK\n-3%ęG9pwY*''YA[i\"q6Aa<'19fl<rD@9äKh\"G4N#,xS\n#DvPLem6V訄q1(@  Q=Wi`	\"e\0,R	Ñqʂg;E\0KA|h)P5p \n@\"@U\"mHHLpd5u\\kXc+yW*sΉ:슋.'htP,yl\" sxmMrzH!1P\"s\nHHB\n3At0MWT#,]Jy{,Swo\n7IH3`	.E\n+[Ӝ2xfxJ	b*\0TXqh(#g'ey8B@+&TҦ7ZKKiM<B\\U;>͙@J<B;/\"\0].g<tضlK0_VtKolɅ\n!|SfZ|Rz>UrJ)5 	-%jf#d	~bA,]I'\r6P.ykSn2 <mAN'DdrrT7a#I9D_:'AX0P8oB#n*NXAo+E.OT	I)MT}&'vSEz`YHlB*]{w~SNbUt֎Z(9Bz<|)\rъ>ȩ1|Eva-@yEF岌l\nǧDo&+!ev{q]rU.'B6\r]1	wa\r>w6}bHnM*͠=<y\\OcNKMj~4ZGfЯBHePk>1엋s9\$\$Bd\"z_VG\"]NY\\ޑ)dzFD6T/&hF|́<GDJT>T%FvlflG3.υ!s\rTYFlf\0S&^\\ {:v*v~l*a!	\r\nPX,S^'\nn됸\\e#qYFΞYڣ\nvpA0΂0\r\0ή(s#MP<	=&T*0q.2M#_\"4fKؖ\rƅX*؏0<AHQF0bi#k3C\\%`)mF gT\r9>'\\[@2bLH6\nZBjiDB2#b:ENd,Q\nF僌068\\&%TC|x#)LjH)q\$&bbhJfDb.z+&0l-n'\nGvE(&o̖ABi]%̮6/B0+2BA,\"+@ \r .\0 ')Nި̸SH):.Q%ƹ&RhQl1Qo_%®,sLA";break;}$Ug=array();foreach(explode("\n",lzw_decompress($f))as$X)$Ug[]=(strpos($X,"\t")?explode("\t",$X):$X);return$Ug;}if(!$Ug){$Ug=get_translations($a);$_SESSION["translations"]=$Ug;}if(extension_loaded('pdo')){class
Min_PDO{var$_result,$server_info,$affected_rows,$errno,$error,$pdo;function
__construct(){global$c;$Ze=array_search("SQL",$c->operators);if($Ze!==false)unset($c->operators[$Ze]);}function
dsn($Ob,$V,$G,$xe=array()){$xe[PDO::ATTR_ERRMODE]=PDO::ERRMODE_SILENT;$xe[PDO::ATTR_STATEMENT_CLASS]=array('Min_PDOStatement');try{$this->pdo=new
PDO($Ob,$V,$G,$xe);}catch(Exception$hc){auth_error(h($hc->getMessage()));}$this->server_info=@$this->pdo->getAttribute(PDO::ATTR_SERVER_VERSION);}function
quote($lg){return$this->pdo->quote($lg);}function
query($I,$bh=false){$J=$this->pdo->query($I);$this->error="";if(!$J){list(,$this->errno,$this->error)=$this->pdo->errorInfo();if(!$this->error)$this->error=lang(21);return
false;}$this->store_result($J);return$J;}function
multi_query($I){return$this->_result=$this->query($I);}function
store_result($J=null){if(!$J){$J=$this->_result;if(!$J)return
false;}if($J->columnCount()){$J->num_rows=$J->rowCount();return$J;}$this->affected_rows=$J->rowCount();return
true;}function
next_result(){if(!$this->_result)return
false;$this->_result->_offset=0;return@$this->_result->nextRowset();}function
result($I,$n=0){$J=$this->query($I);if(!$J)return
false;$L=$J->fetch();return$L[$n];}}class
Min_PDOStatement
extends
PDOStatement{var$_offset=0,$num_rows;function
fetch_assoc(){return$this->fetch(PDO::FETCH_ASSOC);}function
fetch_row(){return$this->fetch(PDO::FETCH_NUM);}function
fetch_field(){$L=(object)$this->getColumnMeta($this->_offset++);$L->orgtable=$L->table;$L->orgname=$L->name;$L->charsetnr=(in_array("blob",(array)$L->flags)?63:0);return$L;}}}$Kb=array();function
add_driver($u,$E){global$Kb;$Kb[$u]=$E;}class
Min_SQL{var$_conn;function
__construct($g){$this->_conn=$g;}function
select($Q,$N,$Z,$s,$ze=array(),$_=1,$F=0,$gf=false){global$c,$y;$kd=(count($s)<count($N));$I=$c->selectQueryBuild($N,$Z,$s,$ze,$_,$F);if(!$I)$I="SELECT".limit(($_GET["page"]!="last"&&$_!=""&&$s&&$kd&&$y=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$N)."\nFROM ".table($Q),($Z?"\nWHERE ".implode(" AND ",$Z):"").($s&&$kd?"\nGROUP BY ".implode(", ",$s):"").($ze?"\nORDER BY ".implode(", ",$ze):""),($_!=""?+$_:null),($F?$_*$F:0),"\n");$hg=microtime(true);$K=$this->_conn->query($I);if($gf)echo$c->selectQuery($I,$hg,!$K);return$K;}function
delete($Q,$of,$_=0){$I="FROM ".table($Q);return
queries("DELETE".($_?limit1($Q,$I,$of):" $I$of"));}function
update($Q,$P,$of,$_=0,$Rf="\n"){$rh=array();foreach($P
as$z=>$X)$rh[]="$z = $X";$I=table($Q)." SET$Rf".implode(",$Rf",$rh);return
queries("UPDATE".($_?limit1($Q,$I,$of,$Rf):" $I$of"));}function
insert($Q,$P){return
queries("INSERT INTO ".table($Q).($P?" (".implode(", ",array_keys($P)).")\nVALUES (".implode(", ",$P).")":" DEFAULT VALUES"));}function
insertUpdate($Q,$M,$ff){return
false;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}function
slowQuery($I,$Hg){}function
convertSearch($v,$X,$n){return$v;}function
value($X,$n){return(method_exists($this->_conn,'value')?$this->_conn->value($X,$n):(is_resource($X)?stream_get_contents($X):$X));}function
quoteBinary($If){return
q($If);}function
warnings(){return'';}function
tableHelp($E){}}class
Adminer{var$operators;function
name(){return"<a href='https://www.adminer.org/'".target_blank()." id='h1'>Adminer</a>";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
connectSsl(){}function
permanentLogin($i=false){return
password_file($i);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
serverName($O){return
h($O);}function
database(){return
DB;}function
databases($yc=true){return
get_databases($yc);}function
schemas(){return
schemas();}function
queryTimeout(){return
2;}function
headers(){}function
csp(){return
csp();}function
head(){return
true;}function
css(){$K=array();$vc="adminer.css";if(file_exists($vc))$K[]="$vc?v=".crc32(file_get_contents($vc));return$K;}function
loginForm(){global$Kb;echo"<table cellspacing='0' class='layout'>\n",$this->loginFormField('driver','<tr><th>'.lang(22).'<td>',html_select("auth[driver]",$Kb,DRIVER,"loginDriver(this);")."\n"),$this->loginFormField('server','<tr><th>'.lang(23).'<td>','<input name="auth[server]" value="'.h(SERVER).'" title="hostname[:port]" placeholder="localhost" autocapitalize="off">'."\n"),$this->loginFormField('username','<tr><th>'.lang(24).'<td>','<input name="auth[username]" id="username" value="'.h($_GET["username"]).'" autocomplete="username" autocapitalize="off">'.script("focus(qs('#username')); qs('#username').form['auth[driver]'].onchange();")),$this->loginFormField('password','<tr><th>'.lang(25).'<td>','<input type="password" name="auth[password]" autocomplete="current-password">'."\n"),$this->loginFormField('db','<tr><th>'.lang(26).'<td>','<input name="auth[db]" value="'.h($_GET["db"]).'" autocapitalize="off">'."\n"),"</table>\n","<p><input type='submit' value='".lang(27)."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(28))."\n";}function
loginFormField($E,$Sc,$Y){return$Sc.$Y;}function
login($Fd,$G){if($G=="")return
lang(29,target_blank());return
true;}function
tableName($tg){return
h($tg["Name"]);}function
fieldName($n,$ze=0){return'<span title="'.h($n["full_type"]).'">'.h($n["field"]).'</span>';}function
selectLinks($tg,$P=""){global$y,$l;echo'<p class="links">';$Ed=array("select"=>lang(30));if(support("table")||support("indexes"))$Ed["table"]=lang(31);if(support("table")){if(is_view($tg))$Ed["view"]=lang(32);else$Ed["create"]=lang(33);}if($P!==null)$Ed["edit"]=lang(34);$E=$tg["Name"];foreach($Ed
as$z=>$X)echo" <a href='".h(ME)."$z=".urlencode($E).($z=="edit"?$P:"")."'".bold(isset($_GET[$z])).">$X</a>";echo
doc_link(array($y=>$l->tableHelp($E)),"?"),"\n";}function
foreignKeys($Q){return
foreign_keys($Q);}function
backwardKeys($Q,$sg){return
array();}function
backwardKeysPrint($Aa,$L){}function
selectQuery($I,$hg,$qc=false){global$y,$l;$K="</p>\n";if(!$qc&&($zh=$l->warnings())){$u="warnings";$K=", <a href='#$u'>".lang(35)."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."$K<div id='$u' class='hidden'>\n$zh</div>\n";}return"<p><code class='jush-$y'>".h(str_replace("\n"," ",$I))."</code> <span class='time'>(".format_time($hg).")</span>".(support("sql")?" <a href='".h(ME)."sql=".urlencode($I)."'>".lang(10)."</a>":"").$K;}function
sqlCommandQuery($I){return
shorten_utf8(trim($I),1000);}function
rowDescription($Q){return"";}function
rowDescriptions($M,$Ac){return$M;}function
selectLink($X,$n){}function
selectVal($X,$A,$n,$Ge){$K=($X===null?"<i>NULL</i>":(preg_match("~char|binary|boolean~",$n["type"])&&!preg_match("~var~",$n["type"])?"<code>$X</code>":$X));if(preg_match('~blob|bytea|raw|file~',$n["type"])&&!is_utf8($X))$K="<i>".lang(36,strlen($Ge))."</i>";if(preg_match('~json~',$n["type"]))$K="<code class='jush-js'>$K</code>";return($A?"<a href='".h($A)."'".(is_url($A)?target_blank():"").">$K</a>":$K);}function
editVal($X,$n){return$X;}function
tableStructurePrint($o){echo"<div class='scrollable'>\n","<table cellspacing='0' class='nowrap'>\n","<thead><tr><th>".lang(37)."<td>".lang(38).(support("comment")?"<td>".lang(39):"")."</thead>\n";foreach($o
as$n){echo"<tr".odd()."><th>".h($n["field"]),"<td><span title='".h($n["collation"])."'>".h($n["full_type"])."</span>",($n["null"]?" <i>NULL</i>":""),($n["auto_increment"]?" <i>".lang(40)."</i>":""),(isset($n["default"])?" <span title='".lang(41)."'>[<b>".h($n["default"])."</b>]</span>":""),(support("comment")?"<td>".h($n["comment"]):""),"\n";}echo"</table>\n","</div>\n";}function
tableIndexesPrint($x){echo"<table cellspacing='0'>\n";foreach($x
as$E=>$w){ksort($w["columns"]);$gf=array();foreach($w["columns"]as$z=>$X)$gf[]="<i>".h($X)."</i>".($w["lengths"][$z]?"(".$w["lengths"][$z].")":"").($w["descs"][$z]?" DESC":"");echo"<tr title='".h($E)."'><th>$w[type]<td>".implode(", ",$gf)."\n";}echo"</table>\n";}function
selectColumnsPrint($N,$e){global$Gc,$Lc;print_fieldset("select",lang(42),$N);$t=0;$N[""]=array();foreach($N
as$z=>$X){$X=$_GET["columns"][$z];$d=select_input(" name='columns[$t][col]'",$e,$X["col"],($z!==""?"selectFieldChange":"selectAddRow"));echo"<div>".($Gc||$Lc?"<select name='columns[$t][fun]'>".optionlist(array(-1=>"")+array_filter(array(lang(43)=>$Gc,lang(44)=>$Lc)),$X["fun"])."</select>".on_help("getTarget(event).value && getTarget(event).value.replace(/ |\$/, '(') + ')'",1).script("qsl('select').onchange = function () { helpClose();".($z!==""?"":" qsl('select, input', this.parentNode).onchange();")." };","")."($d)":$d)."</div>\n";$t++;}echo"</div></fieldset>\n";}function
selectSearchPrint($Z,$e,$x){print_fieldset("search",lang(45),$Z);foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"){echo"<div>(<i>".implode("</i>, <i>",array_map('h',$w["columns"]))."</i>) AGAINST"," <input type='search' name='fulltext[$t]' value='".h($_GET["fulltext"][$t])."'>",script("qsl('input').oninput = selectFieldChange;",""),checkbox("boolean[$t]",1,isset($_GET["boolean"][$t]),"BOOL"),"</div>\n";}}$Ka="this.parentNode.firstChild.onchange();";foreach(array_merge((array)$_GET["where"],array(array()))as$t=>$X){if(!$X||("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators))){echo"<div>".select_input(" name='where[$t][col]'",$e,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".lang(46).")"),html_select("where[$t][op]",$this->operators,$X["op"],$Ka),"<input type='search' name='where[$t][val]' value='".h($X["val"])."'>",script("mixin(qsl('input'), {oninput: function () { $Ka }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"</div>\n";}}echo"</div></fieldset>\n";}function
selectOrderPrint($ze,$e,$x){print_fieldset("sort",lang(47),$ze);$t=0;foreach((array)$_GET["order"]as$z=>$X){if($X!=""){echo"<div>".select_input(" name='order[$t]'",$e,$X,"selectFieldChange"),checkbox("desc[$t]",1,isset($_GET["desc"][$z]),lang(48))."</div>\n";$t++;}}echo"<div>".select_input(" name='order[$t]'",$e,"","selectAddRow"),checkbox("desc[$t]",1,false,lang(48))."</div>\n","</div></fieldset>\n";}function
selectLimitPrint($_){echo"<fieldset><legend>".lang(49)."</legend><div>";echo"<input type='number' name='limit' class='size' value='".h($_)."'>",script("qsl('input').oninput = selectFieldChange;",""),"</div></fieldset>\n";}function
selectLengthPrint($Fg){if($Fg!==null){echo"<fieldset><legend>".lang(50)."</legend><div>","<input type='number' name='text_length' class='size' value='".h($Fg)."'>","</div></fieldset>\n";}}function
selectActionPrint($x){echo"<fieldset><legend>".lang(51)."</legend><div>","<input type='submit' value='".lang(42)."'>"," <span id='noindex' title='".lang(52)."'></span>","<script".nonce().">\n","var indexColumns = ";$e=array();foreach($x
as$w){$rb=reset($w["columns"]);if($w["type"]!="FULLTEXT"&&$rb)$e[$rb]=1;}$e[""]=1;foreach($e
as$z=>$X)json_row($z);echo";\n","selectFieldChange.call(qs('#form')['select']);\n","</script>\n","</div></fieldset>\n";}function
selectCommandPrint(){return!information_schema(DB);}function
selectImportPrint(){return!information_schema(DB);}function
selectEmailPrint($Wb,$e){}function
selectColumnsProcess($e,$x){global$Gc,$Lc;$N=array();$s=array();foreach((array)$_GET["columns"]as$z=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],$Gc)||in_array($X["fun"],$Lc)))){$N[$z]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],$Lc))$s[]=$N[$z];}}return
array($N,$s);}function
selectSearchProcess($o,$x){global$g,$l;$K=array();foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"&&$_GET["fulltext"][$t]!="")$K[]="MATCH (".implode(", ",array_map('idf_escape',$w["columns"])).") AGAINST (".q($_GET["fulltext"][$t]).(isset($_GET["boolean"][$t])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$z=>$X){if("$X[col]$X[val]"!=""&&in_array($X["op"],$this->operators)){$df="";$db=" $X[op]";if(preg_match('~IN$~',$X["op"])){$ad=process_length($X["val"]);$db.=" ".($ad!=""?$ad:"(NULL)");}elseif($X["op"]=="SQL")$db=" $X[val]";elseif($X["op"]=="LIKE %%")$db=" LIKE ".$this->processInput($o[$X["col"]],"%$X[val]%");elseif($X["op"]=="ILIKE %%")$db=" ILIKE ".$this->processInput($o[$X["col"]],"%$X[val]%");elseif($X["op"]=="FIND_IN_SET"){$df="$X[op](".q($X["val"]).", ";$db=")";}elseif(!preg_match('~NULL$~',$X["op"]))$db.=" ".$this->processInput($o[$X["col"]],$X["val"]);if($X["col"]!="")$K[]=$df.$l->convertSearch(idf_escape($X["col"]),$X,$o[$X["col"]]).$db;else{$Ya=array();foreach($o
as$E=>$n){if((preg_match('~^[-\d.'.(preg_match('~IN$~',$X["op"])?',':'').']+$~',$X["val"])||!preg_match('~'.number_type().'|bit~',$n["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||preg_match('~char|text|enum|set~',$n["type"]))&&(!preg_match('~date|timestamp~',$n["type"])||preg_match('~^\d+-\d+-\d+~',$X["val"])))$Ya[]=$df.$l->convertSearch(idf_escape($E),$X,$n).$db;}$K[]=($Ya?"(".implode(" OR ",$Ya).")":"1 = 0");}}}return$K;}function
selectOrderProcess($o,$x){$K=array();foreach((array)$_GET["order"]as$z=>$X){if($X!="")$K[]=(preg_match('~^((COUNT\(DISTINCT |[A-Z0-9_]+\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\)|COUNT\(\*\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$z])?" DESC":"");}return$K;}function
selectLimitProcess(){return(isset($_GET["limit"])?$_GET["limit"]:"50");}function
selectLengthProcess(){return(isset($_GET["text_length"])?$_GET["text_length"]:"100");}function
selectEmailProcess($Z,$Ac){return
false;}function
selectQueryBuild($N,$Z,$s,$ze,$_,$F){return"";}function
messageQuery($I,$Gg,$qc=false){global$y,$l;restart_session();$Tc=&get_session("queries");if(!$Tc[$_GET["db"]])$Tc[$_GET["db"]]=array();if(strlen($I)>1e6)$I=preg_replace('~[\x80-\xFF]+$~','',substr($I,0,1e6))."\n…";$Tc[$_GET["db"]][]=array($I,time(),$Gg);$fg="sql-".count($Tc[$_GET["db"]]);$K="<a href='#$fg' class='toggle'>".lang(53)."</a>\n";if(!$qc&&($zh=$l->warnings())){$u="warnings-".count($Tc[$_GET["db"]]);$K="<a href='#$u' class='toggle'>".lang(35)."</a>, $K<div id='$u' class='hidden'>\n$zh</div>\n";}return" <span class='time'>".@date("H:i:s")."</span>"." $K<div id='$fg' class='hidden'><pre><code class='jush-$y'>".shorten_utf8($I,1000)."</code></pre>".($Gg?" <span class='time'>($Gg)</span>":'').(support("sql")?'<p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($Tc[$_GET["db"]])-1)).'">'.lang(10).'</a>':'').'</div>';}function
editRowPrint($Q,$o,$L,$ih){}function
editFunctions($n){global$Rb;$K=($n["null"]?"NULL/":"");$ih=isset($_GET["select"])||where($_GET);foreach($Rb
as$z=>$Gc){if(!$z||(!isset($_GET["call"])&&$ih)){foreach($Gc
as$Ue=>$X){if(!$Ue||preg_match("~$Ue~",$n["type"]))$K.="/$X";}}if($z&&!preg_match('~set|blob|bytea|raw|file|bool~',$n["type"]))$K.="/SQL";}if($n["auto_increment"]&&!$ih)$K=lang(40);return
explode("/",$K);}function
editInput($Q,$n,$wa,$Y){if($n["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$wa value='-1' checked><i>".lang(8)."</i></label> ":"").($n["null"]?"<label><input type='radio'$wa value=''".($Y!==null||isset($_GET["select"])?"":" checked")."><i>NULL</i></label> ":"").enum_input("radio",$wa,$n,$Y,0);return"";}function
editHint($Q,$n,$Y){return"";}function
processInput($n,$Y,$r=""){if($r=="SQL")return$Y;$E=$n["field"];$K=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$r))$K="$r()";elseif(preg_match('~^current_(date|timestamp)$~',$r))$K=$r;elseif(preg_match('~^([+-]|\|\|)$~',$r))$K=idf_escape($E)." $r $K";elseif(preg_match('~^[+-] interval$~',$r))$K=idf_escape($E)." $r ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+\$~i",$Y)?$Y:$K);elseif(preg_match('~^(addtime|subtime|concat)$~',$r))$K="$r(".idf_escape($E).", $K)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$r))$K="$r($K)";return
unconvert_field($n,$K);}function
dumpOutput(){$K=array('text'=>lang(54),'file'=>lang(55));if(function_exists('gzencode'))$K['gz']='gzip';return$K;}function
dumpFormat(){return
array('sql'=>'SQL','csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($k){}function
dumpTable($Q,$ng,$md=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($ng)dump_csv(array_keys(fields($Q)));}else{if($md==2){$o=array();foreach(fields($Q)as$E=>$n)$o[]=idf_escape($E)." $n[full_type]";$i="CREATE TABLE ".table($Q)." (".implode(", ",$o).")";}else$i=create_sql($Q,$_POST["auto_increment"],$ng);set_utf8mb4($i);if($ng&&$i){if($ng=="DROP+CREATE"||$md==1)echo"DROP ".($md==2?"VIEW":"TABLE")." IF EXISTS ".table($Q).";\n";if($md==1)$i=remove_definer($i);echo"$i;\n\n";}}}function
dumpData($Q,$ng,$I){global$g,$y;$Ld=($y=="sqlite"?0:1048576);if($ng){if($_POST["format"]=="sql"){if($ng=="TRUNCATE+INSERT")echo
truncate_sql($Q).";\n";$o=fields($Q);}$J=$g->query($I,1);if($J){$fd="";$Ia="";$pd=array();$pg="";$tc=($Q!=''?'fetch_assoc':'fetch_row');while($L=$J->$tc()){if(!$pd){$rh=array();foreach($L
as$X){$n=$J->fetch_field();$pd[]=$n->name;$z=idf_escape($n->name);$rh[]="$z = VALUES($z)";}$pg=($ng=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$rh):"").";\n";}if($_POST["format"]!="sql"){if($ng=="table"){dump_csv($pd);$ng="INSERT";}dump_csv($L);}else{if(!$fd)$fd="INSERT INTO ".table($Q)." (".implode(", ",array_map('idf_escape',$pd)).") VALUES";foreach($L
as$z=>$X){$n=$o[$z];$L[$z]=($X!==null?unconvert_field($n,preg_match(number_type(),$n["type"])&&!preg_match('~\[~',$n["full_type"])&&is_numeric($X)?$X:q(($X===false?0:$X))):"NULL");}$If=($Ld?"\n":" ")."(".implode(",\t",$L).")";if(!$Ia)$Ia=$fd.$If;elseif(strlen($Ia)+4+strlen($If)+strlen($pg)<$Ld)$Ia.=",$If";else{echo$Ia.$pg;$Ia=$fd.$If;}}}if($Ia)echo$Ia.$pg;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",$g->error)."\n";}}function
dumpFilename($Xc){return
friendly_url($Xc!=""?$Xc:(SERVER!=""?SERVER:"localhost"));}function
dumpHeaders($Xc,$Xd=false){$Ie=$_POST["output"];$nc=(preg_match('~sql~',$_POST["format"])?"sql":($Xd?"tar":"csv"));header("Content-Type: ".($Ie=="gz"?"application/x-gzip":($nc=="tar"?"application/x-tar":($nc=="sql"||$Ie!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($Ie=="gz")ob_start('ob_gzencode',1e6);return$nc;}function
importServerPath(){return"adminer.sql";}function
homepage(){echo'<p class="links">'.($_GET["ns"]==""&&support("database")?'<a href="'.h(ME).'database=">'.lang(56)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(57):lang(58))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(59)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(60)."</a>\n":"");return
true;}function
navigation($Wd){global$fa,$y,$Kb,$g;echo'<h1>
',$this->name(),' <span class="version">',$fa,'</span>
<a href="https://www.adminer.org/#download"',target_blank(),' id="version">',(version_compare($fa,$_COOKIE["adminer_version"])<0?h($_COOKIE["adminer_version"]):""),'</a>
</h1>
';if($Wd=="auth"){$Ie="";foreach((array)$_SESSION["pwds"]as$th=>$Tf){foreach($Tf
as$O=>$ph){foreach($ph
as$V=>$G){if($G!==null){$xb=$_SESSION["db"][$th][$O][$V];foreach(($xb?array_keys($xb):array(""))as$k)$Ie.="<li><a href='".h(auth_url($th,$O,$V,$k))."'>($Kb[$th]) ".h($V.($O!=""?"@".$this->serverName($O):"").($k!=""?" - $k":""))."</a>\n";}}}}if($Ie)echo"<ul id='logins'>\n$Ie</ul>\n".script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");}else{$S=array();if($_GET["ns"]!==""&&!$Wd&&DB!=""){$g->select_db(DB);$S=table_status('',true);}echo
script_src(preg_replace("~\\?.*~","",ME)."?file=jush.js&version=4.8.1");if(support("sql")){echo'<script',nonce(),'>
';if($S){$Ed=array();foreach($S
as$Q=>$U)$Ed[]=preg_quote($Q,'/');echo"var jushLinks = { $y: [ '".js_escape(ME).(support("table")?"table=":"select=")."\$&', /\\b(".implode("|",$Ed).")\\b/g ] };\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X)echo"jushLinks.$X = jushLinks.$y;\n";}$Sf=$g->server_info;echo'bodyLoad(\'',(is_object($g)?preg_replace('~^(\d\.?\d).*~s','\1',$Sf):""),'\'',(preg_match('~MariaDB~',$Sf)?", true":""),');
</script>
';}$this->databasesPrint($Wd);if(DB==""||!$Wd){echo"<p class='links'>".(support("sql")?"<a href='".h(ME)."sql='".bold(isset($_GET["sql"])&&!isset($_GET["import"])).">".lang(53)."</a>\n<a href='".h(ME)."import='".bold(isset($_GET["import"])).">".lang(61)."</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(62)."</a>\n";}if($_GET["ns"]!==""&&!$Wd&&DB!=""){echo'<a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(63)."</a>\n";if(!$S)echo"<p class='message'>".lang(9)."\n";else$this->tablesPrint($S);}}}function
databasesPrint($Wd){global$c,$g;$j=$this->databases();if(DB&&$j&&!in_array(DB,$j))array_unshift($j,DB);echo'<form action="">
<p id="dbs">
';hidden_fields_get();$vb=script("mixin(qsl('select'), {onmousedown: dbMouseDown, onchange: dbChange});");echo"<span title='".lang(64)."'>".lang(65)."</span>: ".($j?"<select name='db'>".optionlist(array(""=>"")+$j,DB)."</select>$vb":"<input name='db' value='".h(DB)."' autocapitalize='off'>\n"),"<input type='submit' value='".lang(20)."'".($j?" class='hidden'":"").">\n";foreach(array("import","sql","schema","dump","privileges")as$X){if(isset($_GET[$X])){echo"<input type='hidden' name='$X' value=''>";break;}}echo"</p></form>\n";}function
tablesPrint($S){echo"<ul id='tables'>".script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");foreach($S
as$Q=>$ig){$E=$this->tableName($ig);if($E!=""){echo'<li><a href="'.h(ME).'select='.urlencode($Q).'"'.bold($_GET["select"]==$Q||$_GET["edit"]==$Q,"select")." title='".lang(30)."'>".lang(66)."</a> ",(support("table")||support("indexes")?'<a href="'.h(ME).'table='.urlencode($Q).'"'.bold(in_array($Q,array($_GET["table"],$_GET["create"],$_GET["indexes"],$_GET["foreign"],$_GET["trigger"])),(is_view($ig)?"view":"structure"))." title='".lang(31)."'>$E</a>":"<span>$E</span>")."\n";}}echo"</ul>\n";}}$c=(function_exists('adminer_object')?adminer_object():new
Adminer);$Kb=array("server"=>"MySQL")+$Kb;if(!defined("DRIVER")){define("DRIVER","server");if(extension_loaded("mysqli")){class
Min_DB
extends
MySQLi{var$extension="MySQLi";function
__construct(){parent::init();}function
connect($O="",$V="",$G="",$ub=null,$Ye=null,$ag=null){global$c;mysqli_report(MYSQLI_REPORT_OFF);list($Vc,$Ye)=explode(":",$O,2);$gg=$c->connectSsl();if($gg)$this->ssl_set($gg['key'],$gg['cert'],$gg['ca'],'','');$K=@$this->real_connect(($O!=""?$Vc:ini_get("mysqli.default_host")),($O.$V!=""?$V:ini_get("mysqli.default_user")),($O.$V.$G!=""?$G:ini_get("mysqli.default_pw")),$ub,(is_numeric($Ye)?$Ye:ini_get("mysqli.default_port")),(!is_numeric($Ye)?$Ye:$ag),($gg?64:0));$this->options(MYSQLI_OPT_LOCAL_INFILE,false);return$K;}function
set_charset($La){if(parent::set_charset($La))return
true;parent::set_charset('utf8');return$this->query("SET NAMES $La");}function
result($I,$n=0){$J=$this->query($I);if(!$J)return
false;$L=$J->fetch_array();return$L[$n];}function
quote($lg){return"'".$this->escape_string($lg)."'";}}}elseif(extension_loaded("mysql")&&!((ini_bool("sql.safe_mode")||ini_bool("mysql.allow_local_infile"))&&extension_loaded("pdo_mysql"))){class
Min_DB{var$extension="MySQL",$server_info,$affected_rows,$errno,$error,$_link,$_result;function
connect($O,$V,$G){if(ini_bool("mysql.allow_local_infile")){$this->error=lang(67,"'mysql.allow_local_infile'","MySQLi","PDO_MySQL");return
false;}$this->_link=@mysql_connect(($O!=""?$O:ini_get("mysql.default_host")),("$O$V"!=""?$V:ini_get("mysql.default_user")),("$O$V$G"!=""?$G:ini_get("mysql.default_password")),true,131072);if($this->_link)$this->server_info=mysql_get_server_info($this->_link);else$this->error=mysql_error();return(bool)$this->_link;}function
set_charset($La){if(function_exists('mysql_set_charset')){if(mysql_set_charset($La,$this->_link))return
true;mysql_set_charset('utf8',$this->_link);}return$this->query("SET NAMES $La");}function
quote($lg){return"'".mysql_real_escape_string($lg,$this->_link)."'";}function
select_db($ub){return
mysql_select_db($ub,$this->_link);}function
query($I,$bh=false){$J=@($bh?mysql_unbuffered_query($I,$this->_link):mysql_query($I,$this->_link));$this->error="";if(!$J){$this->errno=mysql_errno($this->_link);$this->error=mysql_error($this->_link);return
false;}if($J===true){$this->affected_rows=mysql_affected_rows($this->_link);$this->info=mysql_info($this->_link);return
true;}return
new
Min_Result($J);}function
multi_query($I){return$this->_result=$this->query($I);}function
store_result(){return$this->_result;}function
next_result(){return
false;}function
result($I,$n=0){$J=$this->query($I);if(!$J||!$J->num_rows)return
false;return
mysql_result($J->_result,0,$n);}}class
Min_Result{var$num_rows,$_result,$_offset=0;function
__construct($J){$this->_result=$J;$this->num_rows=mysql_num_rows($J);}function
fetch_assoc(){return
mysql_fetch_assoc($this->_result);}function
fetch_row(){return
mysql_fetch_row($this->_result);}function
fetch_field(){$K=mysql_fetch_field($this->_result,$this->_offset++);$K->orgtable=$K->table;$K->orgname=$K->name;$K->charsetnr=($K->blob?63:0);return$K;}function
__destruct(){mysql_free_result($this->_result);}}}elseif(extension_loaded("pdo_mysql")){class
Min_DB
extends
Min_PDO{var$extension="PDO_MySQL";function
connect($O,$V,$G){global$c;$xe=array(PDO::MYSQL_ATTR_LOCAL_INFILE=>false);$gg=$c->connectSsl();if($gg){if(!empty($gg['key']))$xe[PDO::MYSQL_ATTR_SSL_KEY]=$gg['key'];if(!empty($gg['cert']))$xe[PDO::MYSQL_ATTR_SSL_CERT]=$gg['cert'];if(!empty($gg['ca']))$xe[PDO::MYSQL_ATTR_SSL_CA]=$gg['ca'];}$this->dsn("mysql:charset=utf8;host=".str_replace(":",";unix_socket=",preg_replace('~:(\d)~',';port=\1',$O)),$V,$G,$xe);return
true;}function
set_charset($La){$this->query("SET NAMES $La");}function
select_db($ub){return$this->query("USE ".idf_escape($ub));}function
query($I,$bh=false){$this->pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,!$bh);return
parent::query($I,$bh);}}}class
Min_Driver
extends
Min_SQL{function
insert($Q,$P){return($P?parent::insert($Q,$P):queries("INSERT INTO ".table($Q)." ()\nVALUES ()"));}function
insertUpdate($Q,$M,$ff){$e=array_keys(reset($M));$df="INSERT INTO ".table($Q)." (".implode(", ",$e).") VALUES\n";$rh=array();foreach($e
as$z)$rh[$z]="$z = VALUES($z)";$pg="\nON DUPLICATE KEY UPDATE ".implode(", ",$rh);$rh=array();$Bd=0;foreach($M
as$P){$Y="(".implode(", ",$P).")";if($rh&&(strlen($df)+$Bd+strlen($Y)+strlen($pg)>1e6)){if(!queries($df.implode(",\n",$rh).$pg))return
false;$rh=array();$Bd=0;}$rh[]=$Y;$Bd+=strlen($Y)+2;}return
queries($df.implode(",\n",$rh).$pg);}function
slowQuery($I,$Hg){if(min_version('5.7.8','10.1.2')){if(preg_match('~MariaDB~',$this->_conn->server_info))return"SET STATEMENT max_statement_time=$Hg FOR $I";elseif(preg_match('~^(SELECT\b)(.+)~is',$I,$C))return"$C[1] /*+ MAX_EXECUTION_TIME(".($Hg*1000).") */ $C[2]";}}function
convertSearch($v,$X,$n){return(preg_match('~char|text|enum|set~',$n["type"])&&!preg_match("~^utf8~",$n["collation"])&&preg_match('~[\x80-\xFF]~',$X['val'])?"CONVERT($v USING ".charset($this->_conn).")":$v);}function
warnings(){$J=$this->_conn->query("SHOW WARNINGS");if($J&&$J->num_rows){ob_start();select($J);return
ob_get_clean();}}function
tableHelp($E){$Hd=preg_match('~MariaDB~',$this->_conn->server_info);if(information_schema(DB))return
strtolower(($Hd?"information-schema-$E-table/":str_replace("_","-",$E)."-table.html"));if(DB=="mysql")return($Hd?"mysql$E-table/":"system-database.html");}}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
table($v){return
idf_escape($v);}function
connect(){global$c,$ah,$mg;$g=new
Min_DB;$nb=$c->credentials();if($g->connect($nb[0],$nb[1],$nb[2])){$g->set_charset(charset($g));$g->query("SET sql_quote_show_create = 1, autocommit = 1");if(min_version('5.7.8',10.2,$g)){$mg[lang(68)][]="json";$ah["json"]=4294967295;}return$g;}$K=$g->error;if(function_exists('iconv')&&!is_utf8($K)&&strlen($If=iconv("windows-1250","utf-8",$K))>strlen($K))$K=$If;return$K;}function
get_databases($yc){$K=get_session("dbs");if($K===null){$I=(min_version(5)?"SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME":"SHOW DATABASES");$K=($yc?slow_query($I):get_vals($I));restart_session();set_session("dbs",$K);stop_session();}return$K;}function
limit($I,$Z,$_,$ke=0,$Rf=" "){return" $I$Z".($_!==null?$Rf."LIMIT $_".($ke?" OFFSET $ke":""):"");}function
limit1($Q,$I,$Z,$Rf="\n"){return
limit($I,$Z,1,0,$Rf);}function
db_collation($k,$Xa){global$g;$K=null;$i=$g->result("SHOW CREATE DATABASE ".idf_escape($k),1);if(preg_match('~ COLLATE ([^ ]+)~',$i,$C))$K=$C[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$i,$C))$K=$Xa[$C[1]][-1];return$K;}function
engines(){$K=array();foreach(get_rows("SHOW ENGINES")as$L){if(preg_match("~YES|DEFAULT~",$L["Support"]))$K[]=$L["Engine"];}return$K;}function
logged_user(){global$g;return$g->result("SELECT USER()");}function
tables_list(){return
get_key_vals(min_version(5)?"SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME":"SHOW TABLES");}function
count_tables($j){$K=array();foreach($j
as$k)$K[$k]=count(get_vals("SHOW TABLES IN ".idf_escape($k)));return$K;}function
table_status($E="",$rc=false){$K=array();foreach(get_rows($rc&&min_version(5)?"SELECT TABLE_NAME AS Name, ENGINE AS Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($E!=""?"AND TABLE_NAME = ".q($E):"ORDER BY Name"):"SHOW TABLE STATUS".($E!=""?" LIKE ".q(addcslashes($E,"%_\\")):""))as$L){if($L["Engine"]=="InnoDB")$L["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\1',$L["Comment"]);if(!isset($L["Engine"]))$L["Comment"]="";if($E!="")return$L;$K[$L["Name"]]=$L;}return$K;}function
is_view($R){return$R["Engine"]===null;}function
fk_support($R){return
preg_match('~InnoDB|IBMDB2I~i',$R["Engine"])||(preg_match('~NDB~i',$R["Engine"])&&min_version(5.6));}function
fields($Q){$K=array();foreach(get_rows("SHOW FULL COLUMNS FROM ".table($Q))as$L){preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~',$L["Type"],$C);$K[$L["Field"]]=array("field"=>$L["Field"],"full_type"=>$L["Type"],"type"=>$C[1],"length"=>$C[2],"unsigned"=>ltrim($C[3].$C[4]),"default"=>($L["Default"]!=""||preg_match("~char|set~",$C[1])?(preg_match('~text~',$C[1])?stripslashes(preg_replace("~^'(.*)'\$~",'\1',$L["Default"])):$L["Default"]):null),"null"=>($L["Null"]=="YES"),"auto_increment"=>($L["Extra"]=="auto_increment"),"on_update"=>(preg_match('~^on update (.+)~i',$L["Extra"],$C)?$C[1]:""),"collation"=>$L["Collation"],"privileges"=>array_flip(preg_split('~, *~',$L["Privileges"])),"comment"=>$L["Comment"],"primary"=>($L["Key"]=="PRI"),"generated"=>preg_match('~^(VIRTUAL|PERSISTENT|STORED)~',$L["Extra"]),);}return$K;}function
indexes($Q,$h=null){$K=array();foreach(get_rows("SHOW INDEX FROM ".table($Q),$h)as$L){$E=$L["Key_name"];$K[$E]["type"]=($E=="PRIMARY"?"PRIMARY":($L["Index_type"]=="FULLTEXT"?"FULLTEXT":($L["Non_unique"]?($L["Index_type"]=="SPATIAL"?"SPATIAL":"INDEX"):"UNIQUE")));$K[$E]["columns"][]=$L["Column_name"];$K[$E]["lengths"][]=($L["Index_type"]=="SPATIAL"?null:$L["Sub_part"]);$K[$E]["descs"][]=null;}return$K;}function
foreign_keys($Q){global$g,$re;static$Ue='(?:`(?:[^`]|``)+`|"(?:[^"]|"")+")';$K=array();$lb=$g->result("SHOW CREATE TABLE ".table($Q),1);if($lb){preg_match_all("~CONSTRAINT ($Ue) FOREIGN KEY ?\\(((?:$Ue,? ?)+)\\) REFERENCES ($Ue)(?:\\.($Ue))? \\(((?:$Ue,? ?)+)\\)(?: ON DELETE ($re))?(?: ON UPDATE ($re))?~",$lb,$Jd,PREG_SET_ORDER);foreach($Jd
as$C){preg_match_all("~$Ue~",$C[2],$bg);preg_match_all("~$Ue~",$C[5],$Ag);$K[idf_unescape($C[1])]=array("db"=>idf_unescape($C[4]!=""?$C[3]:$C[4]),"table"=>idf_unescape($C[4]!=""?$C[4]:$C[3]),"source"=>array_map('idf_unescape',$bg[0]),"target"=>array_map('idf_unescape',$Ag[0]),"on_delete"=>($C[6]?$C[6]:"RESTRICT"),"on_update"=>($C[7]?$C[7]:"RESTRICT"),);}}return$K;}function
view($E){global$g;return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU','',$g->result("SHOW CREATE VIEW ".table($E),1)));}function
collations(){$K=array();foreach(get_rows("SHOW COLLATION")as$L){if($L["Default"])$K[$L["Charset"]][-1]=$L["Collation"];else$K[$L["Charset"]][]=$L["Collation"];}ksort($K);foreach($K
as$z=>$X)asort($K[$z]);return$K;}function
information_schema($k){return(min_version(5)&&$k=="information_schema")||(min_version(5.5)&&$k=="performance_schema");}function
error(){global$g;return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",$g->error));}function
create_database($k,$Wa){return
queries("CREATE DATABASE ".idf_escape($k).($Wa?" COLLATE ".q($Wa):""));}function
drop_databases($j){$K=apply_queries("DROP DATABASE",$j,'idf_escape');restart_session();set_session("dbs",null);return$K;}function
rename_database($E,$Wa){$K=false;if(create_database($E,$Wa)){$S=array();$wh=array();foreach(tables_list()as$Q=>$U){if($U=='VIEW')$wh[]=$Q;else$S[]=$Q;}$K=(!$S&&!$wh)||move_tables($S,$wh,$E);drop_databases($K?array(DB):array());}return$K;}function
auto_increment(){$za=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$w){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$w["columns"],true)){$za="";break;}if($w["type"]=="PRIMARY")$za=" UNIQUE";}}return" AUTO_INCREMENT$za";}function
alter_table($Q,$E,$o,$_c,$bb,$Zb,$Wa,$ya,$Qe){$sa=array();foreach($o
as$n)$sa[]=($n[1]?($Q!=""?($n[0]!=""?"CHANGE ".idf_escape($n[0]):"ADD"):" ")." ".implode($n[1]).($Q!=""?$n[2]:""):"DROP ".idf_escape($n[0]));$sa=array_merge($sa,$_c);$ig=($bb!==null?" COMMENT=".q($bb):"").($Zb?" ENGINE=".q($Zb):"").($Wa?" COLLATE ".q($Wa):"").($ya!=""?" AUTO_INCREMENT=$ya":"");if($Q=="")return
queries("CREATE TABLE ".table($E)." (\n".implode(",\n",$sa)."\n)$ig$Qe");if($Q!=$E)$sa[]="RENAME TO ".table($E);if($ig)$sa[]=ltrim($ig);return($sa||$Qe?queries("ALTER TABLE ".table($Q)."\n".implode(",\n",$sa).$Qe):true);}function
alter_indexes($Q,$sa){foreach($sa
as$z=>$X)$sa[$z]=($X[2]=="DROP"?"\nDROP INDEX ".idf_escape($X[1]):"\nADD $X[0] ".($X[0]=="PRIMARY"?"KEY ":"").($X[1]!=""?idf_escape($X[1])." ":"")."(".implode(", ",$X[2]).")");return
queries("ALTER TABLE ".table($Q).implode(",",$sa));}function
truncate_tables($S){return
apply_queries("TRUNCATE TABLE",$S);}function
drop_views($wh){return
queries("DROP VIEW ".implode(", ",array_map('table',$wh)));}function
drop_tables($S){return
queries("DROP TABLE ".implode(", ",array_map('table',$S)));}function
move_tables($S,$wh,$Ag){global$g;$zf=array();foreach($S
as$Q)$zf[]=table($Q)." TO ".idf_escape($Ag).".".table($Q);if(!$zf||queries("RENAME TABLE ".implode(", ",$zf))){$Bb=array();foreach($wh
as$Q)$Bb[table($Q)]=view($Q);$g->select_db($Ag);$k=idf_escape(DB);foreach($Bb
as$E=>$vh){if(!queries("CREATE VIEW $E AS ".str_replace(" $k."," ",$vh["select"]))||!queries("DROP VIEW $k.$E"))return
false;}return
true;}return
false;}function
copy_tables($S,$wh,$Ag){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($S
as$Q){$E=($Ag==DB?table("copy_$Q"):idf_escape($Ag).".".table($Q));if(($_POST["overwrite"]&&!queries("\nDROP TABLE IF EXISTS $E"))||!queries("CREATE TABLE $E LIKE ".table($Q))||!queries("INSERT INTO $E SELECT * FROM ".table($Q)))return
false;foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$L){$Vg=$L["Trigger"];if(!queries("CREATE TRIGGER ".($Ag==DB?idf_escape("copy_$Vg"):idf_escape($Ag).".".idf_escape($Vg))." $L[Timing] $L[Event] ON $E FOR EACH ROW\n$L[Statement];"))return
false;}}foreach($wh
as$Q){$E=($Ag==DB?table("copy_$Q"):idf_escape($Ag).".".table($Q));$vh=view($Q);if(($_POST["overwrite"]&&!queries("DROP VIEW IF EXISTS $E"))||!queries("CREATE VIEW $E AS $vh[select]"))return
false;}return
true;}function
trigger($E){if($E=="")return
array();$M=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($E));return
reset($M);}function
triggers($Q){$K=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$L)$K[$L["Trigger"]]=array($L["Timing"],$L["Event"]);return$K;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($E,$U){global$g,$bc,$dd,$ah;$qa=array("bool","boolean","integer","double precision","real","dec","numeric","fixed","national char","national varchar");$cg="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$Zg="((".implode("|",array_merge(array_keys($ah),$qa)).")\\b(?:\\s*\\(((?:[^'\")]|$bc)++)\\))?\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\"]?([^'\"\\s,]+)['\"]?)?";$Ue="$cg*(".($U=="FUNCTION"?"":$dd).")?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$Zg";$i=$g->result("SHOW CREATE $U ".idf_escape($E),2);preg_match("~\\(((?:$Ue\\s*,?)*)\\)\\s*".($U=="FUNCTION"?"RETURNS\\s+$Zg\\s+":"")."(.*)~is",$i,$C);$o=array();preg_match_all("~$Ue\\s*,?~is",$C[1],$Jd,PREG_SET_ORDER);foreach($Jd
as$Le)$o[]=array("field"=>str_replace("``","`",$Le[2]).$Le[3],"type"=>strtolower($Le[5]),"length"=>preg_replace_callback("~$bc~s",'normalize_enum',$Le[6]),"unsigned"=>strtolower(preg_replace('~\s+~',' ',trim("$Le[8] $Le[7]"))),"null"=>1,"full_type"=>$Le[4],"inout"=>strtoupper($Le[1]),"collation"=>strtolower($Le[9]),);if($U!="FUNCTION")return
array("fields"=>$o,"definition"=>$C[11]);return
array("fields"=>$o,"returns"=>array("type"=>$C[12],"length"=>$C[13],"unsigned"=>$C[15],"collation"=>$C[16]),"definition"=>$C[17],"language"=>"SQL",);}function
routines(){return
get_rows("SELECT ROUTINE_NAME AS SPECIFIC_NAME, ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = ".q(DB));}function
routine_languages(){return
array();}function
routine_id($E,$L){return
idf_escape($E);}function
last_id(){global$g;return$g->result("SELECT LAST_INSERT_ID()");}function
explain($g,$I){return$g->query("EXPLAIN ".(min_version(5.1)&&!min_version(5.7)?"PARTITIONS ":"").$I);}function
found_rows($R,$Z){return($Z||$R["Engine"]!="InnoDB"?null:$R["Rows"]);}function
types(){return
array();}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Kf,$h=null){return
true;}function
create_sql($Q,$ya,$ng){global$g;$K=$g->result("SHOW CREATE TABLE ".table($Q),1);if(!$ya)$K=preg_replace('~ AUTO_INCREMENT=\d+~','',$K);return$K;}function
truncate_sql($Q){return"TRUNCATE ".table($Q);}function
use_sql($ub){return"USE ".idf_escape($ub);}function
trigger_sql($Q){$K="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")),null,"-- ")as$L)$K.="\nCREATE TRIGGER ".idf_escape($L["Trigger"])." $L[Timing] $L[Event] ON ".table($L["Table"])." FOR EACH ROW\n$L[Statement];;\n";return$K;}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($n){if(preg_match("~binary~",$n["type"]))return"HEX(".idf_escape($n["field"]).")";if($n["type"]=="bit")return"BIN(".idf_escape($n["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$n["type"]))return(min_version(8)?"ST_":"")."AsWKT(".idf_escape($n["field"]).")";}function
unconvert_field($n,$K){if(preg_match("~binary~",$n["type"]))$K="UNHEX($K)";if($n["type"]=="bit")$K="CONV($K, 2, 10) + 0";if(preg_match("~geometry|point|linestring|polygon~",$n["type"]))$K=(min_version(8)?"ST_":"")."GeomFromText($K, SRID($n[field]))";return$K;}function
support($sc){return!preg_match("~scheme|sequence|type|view_trigger|materializedview".(min_version(8)?"":"|descidx".(min_version(5.1)?"":"|event|partitioning".(min_version(5)?"":"|routine|trigger|view")))."~",$sc);}function
kill_process($X){return
queries("KILL ".number($X));}function
connection_id(){return"SELECT CONNECTION_ID()";}function
max_connections(){global$g;return$g->result("SELECT @@max_connections");}function
driver_config(){$ah=array();$mg=array();foreach(array(lang(69)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(70)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(68)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(71)=>array("enum"=>65535,"set"=>64),lang(72)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(73)=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),)as$z=>$X){$ah+=$X;$mg[$z]=array_keys($X);}return
array('possible_drivers'=>array("MySQLi","MySQL","PDO_MySQL"),'jush'=>"sql",'types'=>$ah,'structured_types'=>$mg,'unsigned'=>array("unsigned","zerofill","unsigned zerofill"),'operators'=>array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","FIND_IN_SET","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL"),'functions'=>array("char_length","date","from_unixtime","lower","round","floor","ceil","sec_to_time","time_to_sec","upper"),'grouping'=>array("avg","count","count distinct","group_concat","max","min","sum"),'edit_functions'=>array(array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",),array(number_type()=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",)),);}}$eb=driver_config();$cf=$eb['possible_drivers'];$y=$eb['jush'];$ah=$eb['types'];$mg=$eb['structured_types'];$hh=$eb['unsigned'];$ve=$eb['operators'];$Gc=$eb['functions'];$Lc=$eb['grouping'];$Rb=$eb['edit_functions'];if($c->operators===null)$c->operators=$ve;define("SERVER",$_GET[DRIVER]);define("DB",$_GET["db"]);define("ME",preg_replace('~\?.*~','',relative_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"])."&":""):''));$fa="4.8.1";function
page_header($Jg,$m="",$Ha=array(),$Kg=""){global$a,$fa,$c,$Kb,$y;page_headers();if(is_ajax()&&$m){page_messages($m);exit;}$Lg=$Jg.($Kg!=""?": $Kg":"");$Mg=strip_tags($Lg.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".$c->name());echo'<!DOCTYPE html>
<html lang="',$a,'" dir="',lang(74),'">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex">
<title>',$Mg,'</title>
<link rel="stylesheet" type="text/css" href="',h(preg_replace("~\\?.*~","",ME)."?file=default.css&version=4.8.1"),'">
',script_src(preg_replace("~\\?.*~","",ME)."?file=functions.js&version=4.8.1");if($c->head()){echo'<link rel="shortcut icon" type="image/x-icon" href="',h(preg_replace("~\\?.*~","",ME)."?file=favicon.ico&version=4.8.1"),'">
<link rel="apple-touch-icon" href="',h(preg_replace("~\\?.*~","",ME)."?file=favicon.ico&version=4.8.1"),'">
';foreach($c->css()as$pb){echo'<link rel="stylesheet" type="text/css" href="',h($pb),'">
';}}echo'
<body class="',lang(74),' nojs">
';$vc=get_temp_dir()."/adminer.version";if(!$_COOKIE["adminer_version"]&&function_exists('openssl_verify')&&file_exists($vc)&&filemtime($vc)+86400>time()){$uh=unserialize(file_get_contents($vc));$mf="-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwqWOVuF5uw7/+Z70djoK
RlHIZFZPO0uYRezq90+7Amk+FDNd7KkL5eDve+vHRJBLAszF/7XKXe11xwliIsFs
DFWQlsABVZB3oisKCBEuI71J4kPH8dKGEWR9jDHFw3cWmoH3PmqImX6FISWbG3B8
h7FIx3jEaw5ckVPVTeo5JRm/1DZzJxjyDenXvBQ/6o9DgZKeNDgxwKzH+sw9/YCO
jHnq1cFpOIISzARlrHMa/43YfeNRAm/tsBXjSxembBPo7aQZLAWHmaj5+K19H10B
nCpz9Y++cipkVEiKRGih4ZEvjoFysEOdRLj6WiD/uUNky4xGeA6LaJqh5XpkFkcQ
fQIDAQAB
-----END PUBLIC KEY-----
";if(openssl_verify($uh["version"],base64_decode($uh["signature"]),$mf)==1)$_COOKIE["adminer_version"]=$uh["version"];}echo'<script',nonce(),'>
mixin(document.body, {onkeydown: bodyKeydown, onclick: bodyClick',(isset($_COOKIE["adminer_version"])?"":", onload: partial(verifyVersion, '$fa', '".js_escape(ME)."', '".get_token()."')");?>});
document.body.className = document.body.className.replace(/ nojs/, ' js');
var offlineMessage = '<?php echo
js_escape(lang(75)),'\';
var thousandsSeparator = \'',js_escape(lang(5)),'\';
</script>

<div id="help" class="jush-',$y,' jsonly hidden"></div>
',script("mixin(qs('#help'), {onmouseover: function () { helpOpen = 1; }, onmouseout: helpMouseout});"),'
<div id="content">
';if($Ha!==null){$A=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($A?$A:".").'">'.$Kb[DRIVER].'</a> » ';$A=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1);$O=$c->serverName(SERVER);$O=($O!=""?$O:lang(23));if($Ha===false)echo"$O\n";else{echo"<a href='".h($A)."' accesskey='1' title='Alt+Shift+1'>$O</a> » ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ha)))echo'<a href="'.h($A."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> » ';if(is_array($Ha)){if($_GET["ns"]!="")echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> » ';foreach($Ha
as$z=>$X){$Db=(is_array($X)?$X[1]:h($X));if($Db!="")echo"<a href='".h(ME."$z=").urlencode(is_array($X)?$X[0]:$X)."'>$Db</a> » ";}}echo"$Jg\n";}}echo"<h2>$Lg</h2>\n","<div id='ajaxstatus' class='jsonly hidden'></div>\n";restart_session();page_messages($m);$j=&get_session("dbs");if(DB!=""&&$j&&!in_array(DB,$j,true))$j=null;stop_session();define("PAGE_HEADER",1);}function
page_headers(){global$c;header("Content-Type: text/html; charset=utf-8");header("Cache-Control: no-cache");header("X-Frame-Options: deny");header("X-XSS-Protection: 0");header("X-Content-Type-Options: nosniff");header("Referrer-Policy: origin-when-cross-origin");foreach($c->csp()as$ob){$Rc=array();foreach($ob
as$z=>$X)$Rc[]="$z $X";header("Content-Security-Policy: ".implode("; ",$Rc));}$c->headers();}function
csp(){return
array(array("script-src"=>"'self' 'unsafe-inline' 'nonce-".get_nonce()."' 'strict-dynamic'","connect-src"=>"'self'","frame-src"=>"https://www.adminer.org","object-src"=>"'none'","base-uri"=>"'none'","form-action"=>"'self'",),);}function
get_nonce(){static$fe;if(!$fe)$fe=base64_encode(rand_string());return$fe;}function
page_messages($m){$jh=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$Ud=$_SESSION["messages"][$jh];if($Ud){echo"<div class='message'>".implode("</div>\n<div class='message'>",$Ud)."</div>".script("messagesPrint();");unset($_SESSION["messages"][$jh]);}if($m)echo"<div class='error'>$m</div>\n";}function
page_footer($Wd=""){global$c,$T;echo'</div>

';switch_lang();if($Wd!="auth"){echo'<form action="" method="post">
<p class="logout">
<input type="submit" name="logout" value="',lang(76),'" id="logout">
<input type="hidden" name="token" value="',$T,'">
</p>
</form>
';}echo'<div id="menu">
';$c->navigation($Wd);echo'</div>
',script("setupSubmitHighlight(document);");}function
int32($Zd){while($Zd>=2147483648)$Zd-=4294967296;while($Zd<=-2147483649)$Zd+=4294967296;return(int)$Zd;}function
long2str($W,$yh){$If='';foreach($W
as$X)$If.=pack('V',$X);if($yh)return
substr($If,0,end($W));return$If;}function
str2long($If,$yh){$W=array_values(unpack('V*',str_pad($If,4*ceil(strlen($If)/4),"\0")));if($yh)$W[]=strlen($If);return$W;}function
xxtea_mx($Eh,$Dh,$qg,$od){return
int32((($Eh>>5&0x7FFFFFF)^$Dh<<2)+(($Dh>>3&0x1FFFFFFF)^$Eh<<4))^int32(($qg^$Dh)+($od^$Eh));}function
encrypt_string($kg,$z){if($kg=="")return"";$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($kg,true);$Zd=count($W)-1;$Eh=$W[$Zd];$Dh=$W[0];$H=floor(6+52/($Zd+1));$qg=0;while($H-->0){$qg=int32($qg+0x9E3779B9);$Qb=$qg>>2&3;for($Je=0;$Je<$Zd;$Je++){$Dh=$W[$Je+1];$Yd=xxtea_mx($Eh,$Dh,$qg,$z[$Je&3^$Qb]);$Eh=int32($W[$Je]+$Yd);$W[$Je]=$Eh;}$Dh=$W[0];$Yd=xxtea_mx($Eh,$Dh,$qg,$z[$Je&3^$Qb]);$Eh=int32($W[$Zd]+$Yd);$W[$Zd]=$Eh;}return
long2str($W,false);}function
decrypt_string($kg,$z){if($kg=="")return"";if(!$z)return
false;$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($kg,false);$Zd=count($W)-1;$Eh=$W[$Zd];$Dh=$W[0];$H=floor(6+52/($Zd+1));$qg=int32($H*0x9E3779B9);while($qg){$Qb=$qg>>2&3;for($Je=$Zd;$Je>0;$Je--){$Eh=$W[$Je-1];$Yd=xxtea_mx($Eh,$Dh,$qg,$z[$Je&3^$Qb]);$Dh=int32($W[$Je]-$Yd);$W[$Je]=$Dh;}$Eh=$W[$Zd];$Yd=xxtea_mx($Eh,$Dh,$qg,$z[$Je&3^$Qb]);$Dh=int32($W[0]-$Yd);$W[0]=$Dh;$qg=int32($qg-0x9E3779B9);}return
long2str($W,true);}$g='';$Qc=$_SESSION["token"];if(!$Qc)$_SESSION["token"]=rand(1,1e6);$T=get_token();$We=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($z)=explode(":",$X);$We[$z]=$X;}}function
add_invalid_login(){global$c;$q=file_open_lock(get_temp_dir()."/adminer.invalid");if(!$q)return;$id=unserialize(stream_get_contents($q));$Gg=time();if($id){foreach($id
as$jd=>$X){if($X[0]<$Gg)unset($id[$jd]);}}$hd=&$id[$c->bruteForceKey()];if(!$hd)$hd=array($Gg+30*60,0);$hd[1]++;file_write_unlock($q,serialize($id));}function
check_invalid_login(){global$c;$id=unserialize(@file_get_contents(get_temp_dir()."/adminer.invalid"));$hd=($id?$id[$c->bruteForceKey()]:array());$ee=($hd[1]>29?$hd[0]-time():0);if($ee>0)auth_error(lang(77,ceil($ee/60)));}$xa=$_POST["auth"];if($xa){session_regenerate_id();$th=$xa["driver"];$O=$xa["server"];$V=$xa["username"];$G=(string)$xa["password"];$k=$xa["db"];set_password($th,$O,$V,$G);$_SESSION["db"][$th][$O][$V][$k]=true;if($xa["permanent"]){$z=base64_encode($th)."-".base64_encode($O)."-".base64_encode($V)."-".base64_encode($k);$hf=$c->permanentLogin(true);$We[$z]="$z:".base64_encode($hf?encrypt_string($G,$hf):"");cookie("adminer_permanent",implode(" ",$We));}if(count($_POST)==1||DRIVER!=$th||SERVER!=$O||$_GET["username"]!==$V||DB!=$k)redirect(auth_url($th,$O,$V,$k));}elseif($_POST["logout"]&&(!$Qc||verify_token())){foreach(array("pwds","db","dbs","queries")as$z)set_session($z,null);unset_permanent();redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(78).' '.lang(79));}elseif($We&&!$_SESSION["pwds"]){session_regenerate_id();$hf=$c->permanentLogin();foreach($We
as$z=>$X){list(,$Qa)=explode(":",$X);list($th,$O,$V,$k)=array_map('base64_decode',explode("-",$z));set_password($th,$O,$V,decrypt_string(base64_decode($Qa),$hf));$_SESSION["db"][$th][$O][$V][$k]=true;}}function
unset_permanent(){global$We;foreach($We
as$z=>$X){list($th,$O,$V,$k)=array_map('base64_decode',explode("-",$z));if($th==DRIVER&&$O==SERVER&&$V==$_GET["username"]&&$k==DB)unset($We[$z]);}cookie("adminer_permanent",implode(" ",$We));}function
auth_error($m){global$c,$Qc;$Uf=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$Uf]||$_GET[$Uf])&&!$Qc)$m=lang(80);else{restart_session();add_invalid_login();$G=get_password();if($G!==null){if($G===false)$m.=($m?'<br>':'').lang(81,target_blank(),'<code>permanentLogin()</code>');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent();}}if(!$_COOKIE[$Uf]&&$_GET[$Uf]&&ini_bool("session.use_only_cookies"))$m=lang(82);$Me=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?$_COOKIE["adminer_key"]:rand_string()),$Me["lifetime"]);page_header(lang(27),$m,null);echo"<form action='' method='post'>\n","<div>";if(hidden_fields($_POST,array("auth")))echo"<p class='message'>".lang(83)."\n";echo"</div>\n";$c->loginForm();echo"</form>\n";page_footer("auth");exit;}if(isset($_GET["username"])&&!class_exists("Min_DB")){unset($_SESSION["pwds"][DRIVER]);unset_permanent();page_header(lang(84),lang(85,implode(", ",$cf)),false);page_footer("auth");exit;}stop_session(true);if(isset($_GET["username"])&&is_string(get_password())){list($Vc,$Ye)=explode(":",SERVER,2);if(preg_match('~^\s*([-+]?\d+)~',$Ye,$C)&&($C[1]<1024||$C[1]>65535))auth_error(lang(86));check_invalid_login();$g=connect();$l=new
Min_Driver($g);}$Fd=null;if(!is_object($g)||($Fd=$c->login($_GET["username"],get_password()))!==true){$m=(is_string($g)?h($g):(is_string($Fd)?$Fd:lang(87)));auth_error($m.(preg_match('~^ | $~',get_password())?'<br>'.lang(88):''));}if($_POST["logout"]&&$Qc&&!verify_token()){page_header(lang(76),lang(89));page_footer("db");exit;}if($xa&&$_POST["token"])$_POST["token"]=$T;$m='';if($_POST){if(!verify_token()){$cd="max_input_vars";$Pd=ini_get($cd);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$z){$X=ini_get($z);if($X&&(!$Pd||$X<$Pd)){$cd=$z;$Pd=$X;}}}$m=(!$_POST["token"]&&$Pd?lang(90,"'$cd'"):lang(89).' '.lang(91));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$m=lang(92,"'post_max_size'");if(isset($_GET["sql"]))$m.=' '.lang(93);}function
select($J,$h=null,$Be=array(),$_=0){global$y;$Ed=array();$x=array();$e=array();$Fa=array();$ah=array();$K=array();odd('');for($t=0;(!$_||$t<$_)&&($L=$J->fetch_row());$t++){if(!$t){echo"<div class='scrollable'>\n","<table cellspacing='0' class='nowrap'>\n","<thead><tr>";for($nd=0;$nd<count($L);$nd++){$n=$J->fetch_field();$E=$n->name;$Ae=$n->orgtable;$_e=$n->orgname;$K[$n->table]=$Ae;if($Be&&$y=="sql")$Ed[$nd]=($E=="table"?"table=":($E=="possible_keys"?"indexes=":null));elseif($Ae!=""){if(!isset($x[$Ae])){$x[$Ae]=array();foreach(indexes($Ae,$h)as$w){if($w["type"]=="PRIMARY"){$x[$Ae]=array_flip($w["columns"]);break;}}$e[$Ae]=$x[$Ae];}if(isset($e[$Ae][$_e])){unset($e[$Ae][$_e]);$x[$Ae][$_e]=$nd;$Ed[$nd]=$Ae;}}if($n->charsetnr==63)$Fa[$nd]=true;$ah[$nd]=$n->type;echo"<th".($Ae!=""||$n->name!=$_e?" title='".h(($Ae!=""?"$Ae.":"").$_e)."'":"").">".h($E).($Be?doc_link(array('sql'=>"explain-output.html#explain_".strtolower($E),'mariadb'=>"explain/#the-columns-in-explain-select",)):"");}echo"</thead>\n";}echo"<tr".odd().">";foreach($L
as$z=>$X){$A="";if(isset($Ed[$z])&&!$e[$Ed[$z]]){if($Be&&$y=="sql"){$Q=$L[array_search("table=",$Ed)];$A=ME.$Ed[$z].urlencode($Be[$Q]!=""?$Be[$Q]:$Q);}else{$A=ME."edit=".urlencode($Ed[$z]);foreach($x[$Ed[$z]]as$Ua=>$nd)$A.="&where".urlencode("[".bracket_escape($Ua)."]")."=".urlencode($L[$nd]);}}elseif(is_url($X))$A=$X;if($X===null)$X="<i>NULL</i>";elseif($Fa[$z]&&!is_utf8($X))$X="<i>".lang(36,strlen($X))."</i>";else{$X=h($X);if($ah[$z]==254)$X="<code>$X</code>";}if($A)$X="<a href='".h($A)."'".(is_url($A)?target_blank():'').">$X</a>";echo"<td>$X";}}echo($t?"</table>\n</div>":"<p class='message'>".lang(12))."\n";return$K;}function
referencable_primary($Pf){$K=array();foreach(table_status('',true)as$ug=>$Q){if($ug!=$Pf&&fk_support($Q)){foreach(fields($ug)as$n){if($n["primary"]){if($K[$ug]){unset($K[$ug]);break;}$K[$ug]=$n;}}}}return$K;}function
adminer_settings(){parse_str($_COOKIE["adminer_settings"],$Wf);return$Wf;}function
adminer_setting($z){$Wf=adminer_settings();return$Wf[$z];}function
set_adminer_settings($Wf){return
cookie("adminer_settings",http_build_query($Wf+adminer_settings()));}function
textarea($E,$Y,$M=10,$Ya=80){global$y;echo"<textarea name='$E' rows='$M' cols='$Ya' class='sqlarea jush-$y' spellcheck='false' wrap='off'>";if(is_array($Y)){foreach($Y
as$X)echo
h($X[0])."\n\n\n";}else
echo
h($Y);echo"</textarea>";}function
edit_type($z,$n,$Xa,$Bc=array(),$pc=array()){global$mg,$ah,$hh,$re;$U=$n["type"];echo'<td><select name="',h($z),'[type]" class="type" aria-labelledby="label-type">';if($U&&!isset($ah[$U])&&!isset($Bc[$U])&&!in_array($U,$pc))$pc[]=$U;if($Bc)$mg[lang(94)]=$Bc;echo
optionlist(array_merge($pc,$mg),$U),'</select><td><input name="',h($z),'[length]" value="',h($n["length"]),'" size="3"',(!$n["length"]&&preg_match('~var(char|binary)$~',$U)?" class='required'":"");echo' aria-labelledby="label-length"><td class="options">',"<select name='".h($z)."[collation]'".(preg_match('~(char|text|enum|set)$~',$U)?"":" class='hidden'").'><option value="">('.lang(95).')'.optionlist($Xa,$n["collation"]).'</select>',($hh?"<select name='".h($z)."[unsigned]'".(!$U||preg_match(number_type(),$U)?"":" class='hidden'").'><option>'.optionlist($hh,$n["unsigned"]).'</select>':''),(isset($n['on_update'])?"<select name='".h($z)."[on_update]'".(preg_match('~timestamp|datetime~',$U)?"":" class='hidden'").'>'.optionlist(array(""=>"(".lang(96).")","CURRENT_TIMESTAMP"),(preg_match('~^CURRENT_TIMESTAMP~i',$n["on_update"])?"CURRENT_TIMESTAMP":$n["on_update"])).'</select>':''),($Bc?"<select name='".h($z)."[on_delete]'".(preg_match("~`~",$U)?"":" class='hidden'")."><option value=''>(".lang(97).")".optionlist(explode("|",$re),$n["on_delete"])."</select> ":" ");}function
process_length($Bd){global$bc;return(preg_match("~^\\s*\\(?\\s*$bc(?:\\s*,\\s*$bc)*+\\s*\\)?\\s*\$~",$Bd)&&preg_match_all("~$bc~",$Bd,$Jd)?"(".implode(",",$Jd[0]).")":preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$Bd)));}function
process_type($n,$Va="COLLATE"){global$hh;return" $n[type]".process_length($n["length"]).(preg_match(number_type(),$n["type"])&&in_array($n["unsigned"],$hh)?" $n[unsigned]":"").(preg_match('~char|text|enum|set~',$n["type"])&&$n["collation"]?" $Va ".q($n["collation"]):"");}function
process_field($n,$Yg){return
array(idf_escape(trim($n["field"])),process_type($Yg),($n["null"]?" NULL":" NOT NULL"),default_value($n),(preg_match('~timestamp|datetime~',$n["type"])&&$n["on_update"]?" ON UPDATE $n[on_update]":""),(support("comment")&&$n["comment"]!=""?" COMMENT ".q($n["comment"]):""),($n["auto_increment"]?auto_increment():null),);}function
default_value($n){$zb=$n["default"];return($zb===null?"":" DEFAULT ".(preg_match('~char|binary|text|enum|set~',$n["type"])||preg_match('~^(?![a-z])~i',$zb)?q($zb):$zb));}function
type_class($U){foreach(array('char'=>'text','date'=>'time|year','binary'=>'blob','enum'=>'set',)as$z=>$X){if(preg_match("~$z|$X~",$U))return" class='$z'";}}function
edit_fields($o,$Xa,$U="TABLE",$Bc=array()){global$dd;$o=array_values($o);$_b=(($_POST?$_POST["defaults"]:adminer_setting("defaults"))?"":" class='hidden'");$cb=(($_POST?$_POST["comments"]:adminer_setting("comments"))?"":" class='hidden'");echo'<thead><tr>
';if($U=="PROCEDURE"){echo'<td>';}echo'<th id="label-name">',($U=="TABLE"?lang(98):lang(99)),'<td id="label-type">',lang(38),'<textarea id="enum-edit" rows="4" cols="12" wrap="off" style="display: none;"></textarea>',script("qs('#enum-edit').onblur = editingLengthBlur;"),'<td id="label-length">',lang(100),'<td>',lang(101);if($U=="TABLE"){echo'<td id="label-null">NULL
<td><input type="radio" name="auto_increment_col" value=""><acronym id="label-ai" title="',lang(40),'">AI</acronym>',doc_link(array('sql'=>"example-auto-increment.html",'mariadb'=>"auto_increment/",)),'<td id="label-default"',$_b,'>',lang(41),(support("comment")?"<td id='label-comment'$cb>".lang(39):"");}echo'<td>',"<input type='image' class='icon' name='add[".(support("move_col")?0:count($o))."]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.8.1")."' alt='+' title='".lang(102)."'>".script("row_count = ".count($o).";"),'</thead>
<tbody>
',script("mixin(qsl('tbody'), {onclick: editingClick, onkeydown: editingKeydown, oninput: editingInput});");foreach($o
as$t=>$n){$t++;$Ce=$n[($_POST?"orig":"field")];$Hb=(isset($_POST["add"][$t-1])||(isset($n["field"])&&!$_POST["drop_col"][$t]))&&(support("drop_col")||$Ce=="");echo'<tr',($Hb?"":" style='display: none;'"),'>
',($U=="PROCEDURE"?"<td>".html_select("fields[$t][inout]",explode("|",$dd),$n["inout"]):""),'<th>';if($Hb){echo'<input name="fields[',$t,'][field]" value="',h($n["field"]),'" data-maxlength="64" autocapitalize="off" aria-labelledby="label-name">';}echo'<input type="hidden" name="fields[',$t,'][orig]" value="',h($Ce),'">';edit_type("fields[$t]",$n,$Xa,$Bc);if($U=="TABLE"){echo'<td>',checkbox("fields[$t][null]",1,$n["null"],"","","block","label-null"),'<td><label class="block"><input type="radio" name="auto_increment_col" value="',$t,'"';if($n["auto_increment"]){echo' checked';}echo' aria-labelledby="label-ai"></label><td',$_b,'>',checkbox("fields[$t][has_default]",1,$n["has_default"],"","","","label-default"),'<input name="fields[',$t,'][default]" value="',h($n["default"]),'" aria-labelledby="label-default">',(support("comment")?"<td$cb><input name='fields[$t][comment]' value='".h($n["comment"])."' data-maxlength='".(min_version(5.5)?1024:255)."' aria-labelledby='label-comment'>":"");}echo"<td>",(support("move_col")?"<input type='image' class='icon' name='add[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.8.1")."' alt='+' title='".lang(102)."'> "."<input type='image' class='icon' name='up[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=up.gif&version=4.8.1")."' alt='↑' title='".lang(103)."'> "."<input type='image' class='icon' name='down[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=down.gif&version=4.8.1")."' alt='↓' title='".lang(104)."'> ":""),($Ce==""||support("drop_col")?"<input type='image' class='icon' name='drop_col[$t]' src='".h(preg_replace("~\\?.*~","",ME)."?file=cross.gif&version=4.8.1")."' alt='x' title='".lang(105)."'>":"");}}function
process_fields(&$o){$ke=0;if($_POST["up"]){$wd=0;foreach($o
as$z=>$n){if(key($_POST["up"])==$z){unset($o[$z]);array_splice($o,$wd,0,array($n));break;}if(isset($n["field"]))$wd=$ke;$ke++;}}elseif($_POST["down"]){$Dc=false;foreach($o
as$z=>$n){if(isset($n["field"])&&$Dc){unset($o[key($_POST["down"])]);array_splice($o,$ke,0,array($Dc));break;}if(key($_POST["down"])==$z)$Dc=$n;$ke++;}}elseif($_POST["add"]){$o=array_values($o);array_splice($o,key($_POST["add"]),0,array(array()));}elseif(!$_POST["drop_col"])return
false;return
true;}function
normalize_enum($C){return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($C[0][0].$C[0][0],$C[0][0],substr($C[0],1,-1))),'\\'))."'";}function
grant($Hc,$jf,$e,$qe){if(!$jf)return
true;if($jf==array("ALL PRIVILEGES","GRANT OPTION"))return($Hc=="GRANT"?queries("$Hc ALL PRIVILEGES$qe WITH GRANT OPTION"):queries("$Hc ALL PRIVILEGES$qe")&&queries("$Hc GRANT OPTION$qe"));return
queries("$Hc ".preg_replace('~(GRANT OPTION)\([^)]*\)~','\1',implode("$e, ",$jf).$e).$qe);}function
drop_create($Lb,$i,$Mb,$Dg,$Nb,$B,$Td,$Rd,$Sd,$ne,$ce){if($_POST["drop"])query_redirect($Lb,$B,$Td);elseif($ne=="")query_redirect($i,$B,$Sd);elseif($ne!=$ce){$mb=queries($i);queries_redirect($B,$Rd,$mb&&queries($Lb));if($mb)queries($Mb);}else
queries_redirect($B,$Rd,queries($Dg)&&queries($Nb)&&queries($Lb)&&queries($i));}function
create_trigger($qe,$L){global$y;$Ig=" $L[Timing] $L[Event]".(preg_match('~ OF~',$L["Event"])?" $L[Of]":"");return"CREATE TRIGGER ".idf_escape($L["Trigger"]).($y=="mssql"?$qe.$Ig:$Ig.$qe).rtrim(" $L[Type]\n$L[Statement]",";").";";}function
create_routine($Ff,$L){global$dd,$y;$P=array();$o=(array)$L["fields"];ksort($o);foreach($o
as$n){if($n["field"]!="")$P[]=(preg_match("~^($dd)\$~",$n["inout"])?"$n[inout] ":"").idf_escape($n["field"]).process_type($n,"CHARACTER SET");}$Ab=rtrim("\n$L[definition]",";");return"CREATE $Ff ".idf_escape(trim($L["name"]))." (".implode(", ",$P).")".(isset($_GET["function"])?" RETURNS".process_type($L["returns"],"CHARACTER SET"):"").($L["language"]?" LANGUAGE $L[language]":"").($y=="pgsql"?" AS ".q($Ab):"$Ab;");}function
remove_definer($I){return
preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\1)',logged_user()).'`~','\1',$I);}function
format_foreign_key($p){global$re;$k=$p["db"];$ge=$p["ns"];return" FOREIGN KEY (".implode(", ",array_map('idf_escape',$p["source"])).") REFERENCES ".($k!=""&&$k!=$_GET["db"]?idf_escape($k).".":"").($ge!=""&&$ge!=$_GET["ns"]?idf_escape($ge).".":"").table($p["table"])." (".implode(", ",array_map('idf_escape',$p["target"])).")".(preg_match("~^($re)\$~",$p["on_delete"])?" ON DELETE $p[on_delete]":"").(preg_match("~^($re)\$~",$p["on_update"])?" ON UPDATE $p[on_update]":"");}function
tar_file($vc,$Ng){$K=pack("a100a8a8a8a12a12",$vc,644,0,0,decoct($Ng->size),decoct(time()));$Pa=8*32;for($t=0;$t<strlen($K);$t++)$Pa+=ord($K[$t]);$K.=sprintf("%06o",$Pa)."\0 ";echo$K,str_repeat("\0",512-strlen($K));$Ng->send();echo
str_repeat("\0",511-($Ng->size+511)%512);}function
ini_bytes($cd){$X=ini_get($cd);switch(strtolower(substr($X,-1))){case'g':$X*=1024;case'm':$X*=1024;case'k':$X*=1024;}return$X;}function
doc_link($Te,$Eg="<sup>?</sup>"){global$y,$g;$Sf=$g->server_info;$uh=preg_replace('~^(\d\.?\d).*~s','\1',$Sf);$lh=array('sql'=>"https://dev.mysql.com/doc/refman/$uh/en/",'sqlite'=>"https://www.sqlite.org/",'pgsql'=>"https://www.postgresql.org/docs/$uh/",'mssql'=>"https://msdn.microsoft.com/library/",'oracle'=>"https://www.oracle.com/pls/topic/lookup?ctx=db".preg_replace('~^.* (\d+)\.(\d+)\.\d+\.\d+\.\d+.*~s','\1\2',$Sf)."&id=",);if(preg_match('~MariaDB~',$Sf)){$lh['sql']="https://mariadb.com/kb/en/library/";$Te['sql']=(isset($Te['mariadb'])?$Te['mariadb']:str_replace(".html","/",$Te['sql']));}return($Te[$y]?"<a href='".h($lh[$y].$Te[$y])."'".target_blank().">$Eg</a>":"");}function
ob_gzencode($lg){return
gzencode($lg);}function
db_size($k){global$g;if(!$g->select_db($k))return"?";$K=0;foreach(table_status()as$R)$K+=$R["Data_length"]+$R["Index_length"];return
format_number($K);}function
set_utf8mb4($i){global$g;static$P=false;if(!$P&&preg_match('~\butf8mb4~i',$i)){$P=true;echo"SET NAMES ".charset($g).";\n\n";}}function
connect_error(){global$c,$g,$T,$m,$Kb;if(DB!=""){header("HTTP/1.1 404 Not Found");page_header(lang(26).": ".h(DB),lang(106),true);}else{if($_POST["db"]&&!$m)queries_redirect(substr(ME,0,-1),lang(107),drop_databases($_POST["db"]));page_header(lang(108),$m,false);echo"<p class='links'>\n";foreach(array('database'=>lang(109),'privileges'=>lang(60),'processlist'=>lang(110),'variables'=>lang(111),'status'=>lang(112),)as$z=>$X){if(support($z))echo"<a href='".h(ME)."$z='>$X</a>\n";}echo"<p>".lang(113,$Kb[DRIVER],"<b>".h($g->server_info)."</b>","<b>$g->extension</b>")."\n","<p>".lang(114,"<b>".h(logged_user())."</b>")."\n";$j=$c->databases();if($j){$Lf=support("scheme");$Xa=collations();echo"<form action='' method='post'>\n","<table cellspacing='0' class='checkable'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),"<thead><tr>".(support("database")?"<td>":"")."<th>".lang(26)." - <a href='".h(ME)."refresh=1'>".lang(115)."</a>"."<td>".lang(116)."<td>".lang(117)."<td>".lang(118)." - <a href='".h(ME)."dbsize=1'>".lang(119)."</a>".script("qsl('a').onclick = partial(ajaxSetHtml, '".js_escape(ME)."script=connect');","")."</thead>\n";$j=($_GET["dbsize"]?count_tables($j):array_flip($j));foreach($j
as$k=>$S){$Ef=h(ME)."db=".urlencode($k);$u=h("Db-".$k);echo"<tr".odd().">".(support("database")?"<td>".checkbox("db[]",$k,in_array($k,(array)$_POST["db"]),"","","",$u):""),"<th><a href='$Ef' id='$u'>".h($k)."</a>";$Wa=h(db_collation($k,$Xa));echo"<td>".(support("database")?"<a href='$Ef".($Lf?"&ns=":"")."&database=' title='".lang(56)."'>$Wa</a>":$Wa),"<td align='right'><a href='$Ef&schema=' id='tables-".h($k)."' title='".lang(59)."'>".($_GET["dbsize"]?$S:"?")."</a>","<td align='right' id='size-".h($k)."'>".($_GET["dbsize"]?db_size($k):"?"),"\n";}echo"</table>\n",(support("database")?"<div class='footer'><div>\n"."<fieldset><legend>".lang(120)." <span id='selected'></span></legend><div>\n"."<input type='hidden' name='all' value=''>".script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^db/)); };")."<input type='submit' name='drop' value='".lang(121)."'>".confirm()."\n"."</div></fieldset>\n"."</div></div>\n":""),"<input type='hidden' name='token' value='$T'>\n","</form>\n",script("tableCheck();");}}page_footer("db");}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(isset($_GET["import"]))$_GET["sql"]=$_GET["import"];if(!(DB!=""?$g->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;}$re="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";class
TmpFile{var$handler;var$size;function
__construct(){$this->handler=tmpfile();}function
write($hb){$this->size+=strlen($hb);fwrite($this->handler,$hb);}function
send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}$bc="'(?:''|[^'\\\\]|\\\\.)*'";$dd="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"])){$b=$_GET["download"];$o=fields($b);header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$b-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));$N=array(idf_escape($_GET["field"]));$J=$l->select($b,$N,array(where($_GET,$o)),$N);$L=($J?$J->fetch_row():array());echo$l->value($L[0],$o[$_GET["field"]]);exit;}elseif(isset($_GET["table"])){$b=$_GET["table"];$o=fields($b);if(!$o)$m=error();$R=table_status1($b,true);$E=$c->tableName($R);page_header(($o&&is_view($R)?$R['Engine']=='materialized view'?lang(122):lang(123):lang(124)).": ".($E!=""?$E:h($b)),$m);$c->selectLinks($R);$bb=$R["Comment"];if($bb!="")echo"<p class='nowrap'>".lang(39).": ".h($bb)."\n";if($o)$c->tableStructurePrint($o);if(!is_view($R)){if(support("indexes")){echo"<h3 id='indexes'>".lang(125)."</h3>\n";$x=indexes($b);if($x)$c->tableIndexesPrint($x);echo'<p class="links"><a href="'.h(ME).'indexes='.urlencode($b).'">'.lang(126)."</a>\n";}if(fk_support($R)){echo"<h3 id='foreign-keys'>".lang(94)."</h3>\n";$Bc=foreign_keys($b);if($Bc){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(127)."<td>".lang(128)."<td>".lang(97)."<td>".lang(96)."<td></thead>\n";foreach($Bc
as$E=>$p){echo"<tr title='".h($E)."'>","<th><i>".implode("</i>, <i>",array_map('h',$p["source"]))."</i>","<td><a href='".h($p["db"]!=""?preg_replace('~db=[^&]*~',"db=".urlencode($p["db"]),ME):($p["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($p["ns"]),ME):ME))."table=".urlencode($p["table"])."'>".($p["db"]!=""?"<b>".h($p["db"])."</b>.":"").($p["ns"]!=""?"<b>".h($p["ns"])."</b>.":"").h($p["table"])."</a>","(<i>".implode("</i>, <i>",array_map('h',$p["target"]))."</i>)","<td>".h($p["on_delete"])."\n","<td>".h($p["on_update"])."\n",'<td><a href="'.h(ME.'foreign='.urlencode($b).'&name='.urlencode($E)).'">'.lang(129).'</a>';}echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'foreign='.urlencode($b).'">'.lang(130)."</a>\n";}}if(support(is_view($R)?"view_trigger":"trigger")){echo"<h3 id='triggers'>".lang(131)."</h3>\n";$Xg=triggers($b);if($Xg){echo"<table cellspacing='0'>\n";foreach($Xg
as$z=>$X)echo"<tr valign='top'><td>".h($X[0])."<td>".h($X[1])."<th>".h($z)."<td><a href='".h(ME.'trigger='.urlencode($b).'&name='.urlencode($z))."'>".lang(129)."</a>\n";echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'trigger='.urlencode($b).'">'.lang(132)."</a>\n";}}elseif(isset($_GET["schema"])){page_header(lang(59),"",array(),h(DB.($_GET["ns"]?".$_GET[ns]":"")));$vg=array();$wg=array();$da=($_GET["schema"]?$_GET["schema"]:$_COOKIE["adminer_schema-".str_replace(".","_",DB)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$da,$Jd,PREG_SET_ORDER);foreach($Jd
as$t=>$C){$vg[$C[1]]=array($C[2],$C[3]);$wg[]="\n\t'".js_escape($C[1])."': [ $C[2], $C[3] ]";}$Pg=0;$Ca=-1;$Kf=array();$wf=array();$_d=array();foreach(table_status('',true)as$Q=>$R){if(is_view($R))continue;$Ze=0;$Kf[$Q]["fields"]=array();foreach(fields($Q)as$E=>$n){$Ze+=1.25;$n["pos"]=$Ze;$Kf[$Q]["fields"][$E]=$n;}$Kf[$Q]["pos"]=($vg[$Q]?$vg[$Q]:array($Pg,0));foreach($c->foreignKeys($Q)as$X){if(!$X["db"]){$yd=$Ca;if($vg[$Q][1]||$vg[$X["table"]][1])$yd=min(floatval($vg[$Q][1]),floatval($vg[$X["table"]][1]))-1;else$Ca-=.1;while($_d[(string)$yd])$yd-=.0001;$Kf[$Q]["references"][$X["table"]][(string)$yd]=array($X["source"],$X["target"]);$wf[$X["table"]][$Q][(string)$yd]=$X["target"];$_d[(string)$yd]=true;}}$Pg=max($Pg,$Kf[$Q]["pos"][0]+2.5+$Ze);}echo'<div id="schema" style="height: ',$Pg,'em;">
<script',nonce(),'>
qs(\'#schema\').onselectstart = function () { return false; };
var tablePos = {',implode(",",$wg)."\n",'};
var em = qs(\'#schema\').offsetHeight / ',$Pg,';
document.onmousemove = schemaMousemove;
document.onmouseup = partialArg(schemaMouseup, \'',js_escape(DB),'\');
</script>
';foreach($Kf
as$E=>$Q){echo"<div class='table' style='top: ".$Q["pos"][0]."em; left: ".$Q["pos"][1]."em;'>",'<a href="'.h(ME).'table='.urlencode($E).'"><b>'.h($E)."</b></a>",script("qsl('div').onmousedown = schemaMousedown;");foreach($Q["fields"]as$n){$X='<span'.type_class($n["type"]).' title="'.h($n["full_type"].($n["null"]?" NULL":'')).'">'.h($n["field"]).'</span>';echo"<br>".($n["primary"]?"<i>$X</i>":$X);}foreach((array)$Q["references"]as$Bg=>$xf){foreach($xf
as$yd=>$tf){$zd=$yd-$vg[$E][1];$t=0;foreach($tf[0]as$bg)echo"\n<div class='references' title='".h($Bg)."' id='refs$yd-".($t++)."' style='left: $zd"."em; top: ".$Q["fields"][$bg]["pos"]."em; padding-top: .5em;'><div style='border-top: 1px solid Gray; width: ".(-$zd)."em;'></div></div>";}}foreach((array)$wf[$E]as$Bg=>$xf){foreach($xf
as$yd=>$e){$zd=$yd-$vg[$E][1];$t=0;foreach($e
as$Ag)echo"\n<div class='references' title='".h($Bg)."' id='refd$yd-".($t++)."' style='left: $zd"."em; top: ".$Q["fields"][$Ag]["pos"]."em; height: 1.25em; background: url(".h(preg_replace("~\\?.*~","",ME)."?file=arrow.gif) no-repeat right center;&version=4.8.1")."'><div style='height: .5em; border-bottom: 1px solid Gray; width: ".(-$zd)."em;'></div></div>";}}echo"\n</div>\n";}foreach($Kf
as$E=>$Q){foreach((array)$Q["references"]as$Bg=>$xf){foreach($xf
as$yd=>$tf){$Vd=$Pg;$Nd=-10;foreach($tf[0]as$z=>$bg){$af=$Q["pos"][0]+$Q["fields"][$bg]["pos"];$bf=$Kf[$Bg]["pos"][0]+$Kf[$Bg]["fields"][$tf[1][$z]]["pos"];$Vd=min($Vd,$af,$bf);$Nd=max($Nd,$af,$bf);}echo"<div class='references' id='refl$yd' style='left: $yd"."em; top: $Vd"."em; padding: .5em 0;'><div style='border-right: 1px solid Gray; margin-top: 1px; height: ".($Nd-$Vd)."em;'></div></div>\n";}}}echo'</div>
<p class="links"><a href="',h(ME."schema=".urlencode($da)),'" id="schema-link">',lang(133),'</a>
';}elseif(isset($_GET["dump"])){$b=$_GET["dump"];if($_POST&&!$m){$kb="";foreach(array("output","format","db_style","routines","events","table_style","auto_increment","triggers","data_style")as$z)$kb.="&$z=".urlencode($_POST[$z]);cookie("adminer_export",substr($kb,1));$S=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$nc=dump_headers((count($S)==1?key($S):DB),(DB==""||count($S)>1));$ld=preg_match('~sql~',$_POST["format"]);if($ld){echo"-- Adminer $fa ".$Kb[DRIVER]." ".str_replace("\n"," ",$g->server_info)." dump\n\n";if($y=="sql"){echo"SET NAMES utf8;
SET time_zone = '+00:00';
SET foreign_key_checks = 0;
".($_POST["data_style"]?"SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
":"")."
";$g->query("SET time_zone = '+00:00'");$g->query("SET sql_mode = ''");}}$ng=$_POST["db_style"];$j=array(DB);if(DB==""){$j=$_POST["databases"];if(is_string($j))$j=explode("\n",rtrim(str_replace("\r","",$j),"\n"));}foreach((array)$j
as$k){$c->dumpDatabase($k);if($g->select_db($k)){if($ld&&preg_match('~CREATE~',$ng)&&($i=$g->result("SHOW CREATE DATABASE ".idf_escape($k),1))){set_utf8mb4($i);if($ng=="DROP+CREATE")echo"DROP DATABASE IF EXISTS ".idf_escape($k).";\n";echo"$i;\n";}if($ld){if($ng)echo
use_sql($k).";\n\n";$He="";if($_POST["routines"]){foreach(array("FUNCTION","PROCEDURE")as$Ff){foreach(get_rows("SHOW $Ff STATUS WHERE Db = ".q($k),null,"-- ")as$L){$i=remove_definer($g->result("SHOW CREATE $Ff ".idf_escape($L["Name"]),2));set_utf8mb4($i);$He.=($ng!='DROP+CREATE'?"DROP $Ff IF EXISTS ".idf_escape($L["Name"]).";;\n":"")."$i;;\n\n";}}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$L){$i=remove_definer($g->result("SHOW CREATE EVENT ".idf_escape($L["Name"]),3));set_utf8mb4($i);$He.=($ng!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($L["Name"]).";;\n":"")."$i;;\n\n";}}if($He)echo"DELIMITER ;;\n\n$He"."DELIMITER ;\n\n";}if($_POST["table_style"]||$_POST["data_style"]){$wh=array();foreach(table_status('',true)as$E=>$R){$Q=(DB==""||in_array($E,(array)$_POST["tables"]));$sb=(DB==""||in_array($E,(array)$_POST["data"]));if($Q||$sb){if($nc=="tar"){$Ng=new
TmpFile;ob_start(array($Ng,'write'),1e5);}$c->dumpTable($E,($Q?$_POST["table_style"]:""),(is_view($R)?2:0));if(is_view($R))$wh[]=$E;elseif($sb){$o=fields($E);$c->dumpData($E,$_POST["data_style"],"SELECT *".convert_fields($o,$o)." FROM ".table($E));}if($ld&&$_POST["triggers"]&&$Q&&($Xg=trigger_sql($E)))echo"\nDELIMITER ;;\n$Xg\nDELIMITER ;\n";if($nc=="tar"){ob_end_flush();tar_file((DB!=""?"":"$k/")."$E.csv",$Ng);}elseif($ld)echo"\n";}}if(function_exists('foreign_keys_sql')){foreach(table_status('',true)as$E=>$R){$Q=(DB==""||in_array($E,(array)$_POST["tables"]));if($Q&&!is_view($R))echo
foreign_keys_sql($E);}}foreach($wh
as$vh)$c->dumpTable($vh,$_POST["table_style"],1);if($nc=="tar")echo
pack("x512");}}}if($ld)echo"-- ".$g->result("SELECT NOW()")."\n";exit;}page_header(lang(62),$m,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),h(DB));echo'
<form action="" method="post">
<table cellspacing="0" class="layout">
';$wb=array('','USE','DROP+CREATE','CREATE');$xg=array('','DROP+CREATE','CREATE');$tb=array('','TRUNCATE+INSERT','INSERT');if($y=="sql")$tb[]='INSERT+UPDATE';parse_str($_COOKIE["adminer_export"],$L);if(!$L)$L=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($L["events"])){$L["routines"]=$L["events"]=($_GET["dump"]=="");$L["triggers"]=$L["table_style"];}echo"<tr><th>".lang(134)."<td>".html_select("output",$c->dumpOutput(),$L["output"],0)."\n";echo"<tr><th>".lang(135)."<td>".html_select("format",$c->dumpFormat(),$L["format"],0)."\n";echo($y=="sqlite"?"":"<tr><th>".lang(26)."<td>".html_select('db_style',$wb,$L["db_style"]).(support("routine")?checkbox("routines",1,$L["routines"],lang(136)):"").(support("event")?checkbox("events",1,$L["events"],lang(137)):"")),"<tr><th>".lang(117)."<td>".html_select('table_style',$xg,$L["table_style"]).checkbox("auto_increment",1,$L["auto_increment"],lang(40)).(support("trigger")?checkbox("triggers",1,$L["triggers"],lang(131)):""),"<tr><th>".lang(138)."<td>".html_select('data_style',$tb,$L["data_style"]),'</table>
<p><input type="submit" value="',lang(62),'">
<input type="hidden" name="token" value="',$T,'">

<table cellspacing="0">
',script("qsl('table').onclick = dumpClick;");$ef=array();if(DB!=""){$Na=($b!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$Na>".lang(117)."</label>".script("qs('#check-tables').onclick = partial(formCheck, /^tables\\[/);",""),"<th style='text-align: right;'><label class='block'>".lang(138)."<input type='checkbox' id='check-data'$Na></label>".script("qs('#check-data').onclick = partial(formCheck, /^data\\[/);",""),"</thead>\n";$wh="";$yg=tables_list();foreach($yg
as$E=>$U){$df=preg_replace('~_.*~','',$E);$Na=($b==""||$b==(substr($b,-1)=="%"?"$df%":$E));$gf="<tr><td>".checkbox("tables[]",$E,$Na,$E,"","block");if($U!==null&&!preg_match('~table~i',$U))$wh.="$gf\n";else
echo"$gf<td align='right'><label class='block'><span id='Rows-".h($E)."'></span>".checkbox("data[]",$E,$Na)."</label>\n";$ef[$df]++;}echo$wh;if($yg)echo
script("ajaxSetHtml('".js_escape(ME)."script=db');");}else{echo"<thead><tr><th style='text-align: left;'>","<label class='block'><input type='checkbox' id='check-databases'".($b==""?" checked":"").">".lang(26)."</label>",script("qs('#check-databases').onclick = partial(formCheck, /^databases\\[/);",""),"</thead>\n";$j=$c->databases();if($j){foreach($j
as$k){if(!information_schema($k)){$df=preg_replace('~_.*~','',$k);echo"<tr><td>".checkbox("databases[]",$k,$b==""||$b=="$df%",$k,"","block")."\n";$ef[$df]++;}}}else
echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}echo'</table>
</form>
';$xc=true;foreach($ef
as$z=>$X){if($z!=""&&$X>1){echo($xc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$z%")."'>".h($z)."</a>";$xc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(60));echo'<p class="links"><a href="'.h(ME).'user=">'.lang(139)."</a>";$J=$g->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$Hc=$J;if(!$J)$J=$g->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",($Hc?"":"<input type='hidden' name='grant' value=''>\n"),"<table cellspacing='0'>\n","<thead><tr><th>".lang(24)."<th>".lang(23)."<th></thead>\n";while($L=$J->fetch_assoc())echo'<tr'.odd().'><td>'.h($L["User"])."<td>".h($L["Host"]).'<td><a href="'.h(ME.'user='.urlencode($L["User"]).'&host='.urlencode($L["Host"])).'">'.lang(10)."</a>\n";if(!$Hc||DB!="")echo"<tr".odd()."><td><input name='user' autocapitalize='off'><td><input name='host' value='localhost' autocapitalize='off'><td><input type='submit' value='".lang(10)."'>\n";echo"</table>\n","</form>\n";}elseif(isset($_GET["sql"])){if(!$m&&$_POST["export"]){dump_headers("sql");$c->dumpTable("","");$c->dumpData("","table",$_POST["query"]);exit;}restart_session();$Uc=&get_session("queries");$Tc=&$Uc[DB];if(!$m&&$_POST["clear"]){$Tc=array();redirect(remove_from_uri("history"));}page_header((isset($_GET["import"])?lang(61):lang(53)),$m);if(!$m&&$_POST){$q=false;if(!isset($_GET["import"]))$I=$_POST["query"];elseif($_POST["webfile"]){$eg=$c->importServerPath();$q=@fopen((file_exists($eg)?$eg:"compress.zlib://$eg.gz"),"rb");$I=($q?fread($q,1e6):false);}else$I=get_file("sql_file",true);if(is_string($I)){if(function_exists('memory_get_usage'))@ini_set("memory_limit",max(ini_bytes("memory_limit"),2*strlen($I)+memory_get_usage()+8e6));if($I!=""&&strlen($I)<1e6){$H=$I.(preg_match("~;[ \t\r\n]*\$~",$I)?"":";");if(!$Tc||reset(end($Tc))!=$H){restart_session();$Tc[]=array($H,time());set_session("queries",$Uc);stop_session();}}$cg="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)";$Cb=";";$ke=0;$Yb=true;$h=connect();if(is_object($h)&&DB!=""){$h->select_db(DB);if($_GET["ns"]!="")set_schema($_GET["ns"],$h);}$ab=0;$dc=array();$Ne='[\'"'.($y=="sql"?'`#':($y=="sqlite"?'`[':($y=="mssql"?'[':''))).']|/\*|-- |$'.($y=="pgsql"?'|\$[^$]*\$':'');$Qg=microtime(true);parse_str($_COOKIE["adminer_export"],$la);$Pb=$c->dumpFormat();unset($Pb["sql"]);while($I!=""){if(!$ke&&preg_match("~^$cg*+DELIMITER\\s+(\\S+)~i",$I,$C)){$Cb=$C[1];$I=substr($I,strlen($C[0]));}else{preg_match('('.preg_quote($Cb)."\\s*|$Ne)",$I,$C,PREG_OFFSET_CAPTURE,$ke);list($Dc,$Ze)=$C[0];if(!$Dc&&$q&&!feof($q))$I.=fread($q,1e5);else{if(!$Dc&&rtrim($I)=="")break;$ke=$Ze+strlen($Dc);if($Dc&&rtrim($Dc)!=$Cb){while(preg_match('('.($Dc=='/*'?'\*/':($Dc=='['?']':(preg_match('~^-- |^#~',$Dc)?"\n":preg_quote($Dc)."|\\\\."))).'|$)s',$I,$C,PREG_OFFSET_CAPTURE,$ke)){$If=$C[0][0];if(!$If&&$q&&!feof($q))$I.=fread($q,1e5);else{$ke=$C[0][1]+strlen($If);if($If[0]!="\\")break;}}}else{$Yb=false;$H=substr($I,0,$Ze);$ab++;$gf="<pre id='sql-$ab'><code class='jush-$y'>".$c->sqlCommandQuery($H)."</code></pre>\n";if($y=="sqlite"&&preg_match("~^$cg*+ATTACH\\b~i",$H,$C)){echo$gf,"<p class='error'>".lang(140)."\n";$dc[]=" <a href='#sql-$ab'>$ab</a>";if($_POST["error_stops"])break;}else{if(!$_POST["only_errors"]){echo$gf;ob_flush();flush();}$hg=microtime(true);if($g->multi_query($H)&&is_object($h)&&preg_match("~^$cg*+USE\\b~i",$H))$h->query($H);do{$J=$g->store_result();if($g->error){echo($_POST["only_errors"]?$gf:""),"<p class='error'>".lang(141).($g->errno?" ($g->errno)":"").": ".error()."\n";$dc[]=" <a href='#sql-$ab'>$ab</a>";if($_POST["error_stops"])break
2;}else{$Gg=" <span class='time'>(".format_time($hg).")</span>".(strlen($H)<1000?" <a href='".h(ME)."sql=".urlencode(trim($H))."'>".lang(10)."</a>":"");$na=$g->affected_rows;$zh=($_POST["only_errors"]?"":$l->warnings());$_h="warnings-$ab";if($zh)$Gg.=", <a href='#$_h'>".lang(35)."</a>".script("qsl('a').onclick = partial(toggle, '$_h');","");$lc=null;$mc="explain-$ab";if(is_object($J)){$_=$_POST["limit"];$Be=select($J,$h,array(),$_);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n";$he=$J->num_rows;echo"<p>".($he?($_&&$he>$_?lang(142,$_):"").lang(143,$he):""),$Gg;if($h&&preg_match("~^($cg|\\()*+SELECT\\b~i",$H)&&($lc=explain($h,$H)))echo", <a href='#$mc'>Explain</a>".script("qsl('a').onclick = partial(toggle, '$mc');","");$u="export-$ab";echo", <a href='#$u'>".lang(62)."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."<span id='$u' class='hidden'>: ".html_select("output",$c->dumpOutput(),$la["output"])." ".html_select("format",$Pb,$la["format"])."<input type='hidden' name='query' value='".h($H)."'>"." <input type='submit' name='export' value='".lang(62)."'><input type='hidden' name='token' value='$T'></span>\n"."</form>\n";}}else{if(preg_match("~^$cg*+(CREATE|DROP|ALTER)$cg++(DATABASE|SCHEMA)\\b~i",$H)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"<p class='message' title='".h($g->info)."'>".lang(144,$na)."$Gg\n";}echo($zh?"<div id='$_h' class='hidden'>\n$zh</div>\n":"");if($lc){echo"<div id='$mc' class='hidden'>\n";select($lc,$h,$Be);echo"</div>\n";}}$hg=microtime(true);}while($g->next_result());}$I=substr($I,$ke);$ke=0;}}}}if($Yb)echo"<p class='message'>".lang(145)."\n";elseif($_POST["only_errors"]){echo"<p class='message'>".lang(146,$ab-count($dc))," <span class='time'>(".format_time($Qg).")</span>\n";}elseif($dc&&$ab>1)echo"<p class='error'>".lang(141).": ".implode("",$dc)."\n";}else
echo"<p class='error'>".upload_error($I)."\n";}echo'
<form action="" method="post" enctype="multipart/form-data" id="form">
';$jc="<input type='submit' value='".lang(147)."' title='Ctrl+Enter'>";if(!isset($_GET["import"])){$H=$_GET["sql"];if($_POST)$H=$_POST["query"];elseif($_GET["history"]=="all")$H=$Tc;elseif($_GET["history"]!="")$H=$Tc[$_GET["history"]][0];echo"<p>";textarea("query",$H,20);echo
script(($_POST?"":"qs('textarea').focus();\n")."qs('#form').onsubmit = partial(sqlSubmit, qs('#form'), '".js_escape(remove_from_uri("sql|limit|error_stops|only_errors|history"))."');"),"<p>$jc\n",lang(148).": <input type='number' name='limit' class='size' value='".h($_POST?$_POST["limit"]:$_GET["limit"])."'>\n";}else{echo"<fieldset><legend>".lang(149)."</legend><div>";$Mc=(extension_loaded("zlib")?"[.gz]":"");echo(ini_bool("file_uploads")?"SQL$Mc (< ".ini_get("upload_max_filesize")."B): <input type='file' name='sql_file[]' multiple>\n$jc":lang(150)),"</div></fieldset>\n";$Zc=$c->importServerPath();if($Zc){echo"<fieldset><legend>".lang(151)."</legend><div>",lang(152,"<code>".h($Zc)."$Mc</code>"),' <input type="submit" name="webfile" value="'.lang(153).'">',"</div></fieldset>\n";}echo"<p>";}echo
checkbox("error_stops",1,($_POST?$_POST["error_stops"]:isset($_GET["import"])||$_GET["error_stops"]),lang(154))."\n",checkbox("only_errors",1,($_POST?$_POST["only_errors"]:isset($_GET["import"])||$_GET["only_errors"]),lang(155))."\n","<input type='hidden' name='token' value='$T'>\n";if(!isset($_GET["import"])&&$Tc){print_fieldset("history",lang(156),$_GET["history"]!="");for($X=end($Tc);$X;$X=prev($Tc)){$z=key($Tc);list($H,$Gg,$Tb)=$X;echo'<a href="'.h(ME."sql=&history=$z").'">'.lang(10)."</a>"." <span class='time' title='".@date('Y-m-d',$Gg)."'>".@date("H:i:s",$Gg)."</span>"." <code class='jush-$y'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace('~^(#|-- ).*~m','',$H)))),80,"</code>").($Tb?" <span class='time'>($Tb)</span>":"")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(157)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(158)."</a>\n","</div></fieldset>\n";}echo'</form>
';}elseif(isset($_GET["edit"])){$b=$_GET["edit"];$o=fields($b);$Z=(isset($_GET["select"])?($_POST["check"]&&count($_POST["check"])==1?where_check($_POST["check"][0],$o):""):where($_GET,$o));$ih=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($o
as$E=>$n){if(!isset($n["privileges"][$ih?"update":"insert"])||$c->fieldName($n)==""||$n["generated"])unset($o[$E]);}if($_POST&&!$m&&!isset($_GET["select"])){$B=$_POST["referer"];if($_POST["insert"])$B=($ih?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$B))$B=ME."select=".urlencode($b);$x=indexes($b);$dh=unique_array($_GET["where"],$x);$pf="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($B,lang(159),$l->delete($b,$pf,!$dh));else{$P=array();foreach($o
as$E=>$n){$X=process_input($n);if($X!==false&&$X!==null)$P[idf_escape($E)]=$X;}if($ih){if(!$P)redirect($B);queries_redirect($B,lang(160),$l->update($b,$P,$pf,!$dh));if(is_ajax()){page_headers();page_messages($m);exit;}}else{$J=$l->insert($b,$P);$xd=($J?last_id():0);queries_redirect($B,lang(161,($xd?" $xd":"")),$J);}}}$L=null;if($_POST["save"])$L=(array)$_POST["fields"];elseif($Z){$N=array();foreach($o
as$E=>$n){if(isset($n["privileges"]["select"])){$ua=convert_field($n);if($_POST["clone"]&&$n["auto_increment"])$ua="''";if($y=="sql"&&preg_match("~enum|set~",$n["type"]))$ua="1*".idf_escape($E);$N[]=($ua?"$ua AS ":"").idf_escape($E);}}$L=array();if(!support("table"))$N=array("*");if($N){$J=$l->select($b,$N,array($Z),$N,array(),(isset($_GET["select"])?2:1));if(!$J)$m=error();else{$L=$J->fetch_assoc();if(!$L)$L=false;}if(isset($_GET["select"])&&(!$L||$J->fetch_assoc()))$L=null;}}if(!support("table")&&!$o){if(!$Z){$J=$l->select($b,array("*"),$Z,array("*"));$L=($J?$J->fetch_assoc():false);if(!$L)$L=array($l->primary=>"");}if($L){foreach($L
as$z=>$X){if(!$Z)$L[$z]=null;$o[$z]=array("field"=>$z,"null"=>($z!=$l->primary),"auto_increment"=>($z==$l->primary));}}}edit_form($b,$o,$L,$ih);}elseif(isset($_GET["create"])){$b=$_GET["create"];$Oe=array();foreach(array('HASH','LINEAR HASH','KEY','LINEAR KEY','RANGE','LIST')as$z)$Oe[$z]=$z;$vf=referencable_primary($b);$Bc=array();foreach($vf
as$ug=>$n)$Bc[str_replace("`","``",$ug)."`".str_replace("`","``",$n["field"])]=$ug;$Ee=array();$R=array();if($b!=""){$Ee=fields($b);$R=table_status($b);if(!$R)$m=lang(9);}$L=$_POST;$L["fields"]=(array)$L["fields"];if($L["auto_increment_col"])$L["fields"][$L["auto_increment_col"]]["auto_increment"]=true;if($_POST)set_adminer_settings(array("comments"=>$_POST["comments"],"defaults"=>$_POST["defaults"]));if($_POST&&!process_fields($L["fields"])&&!$m){if($_POST["drop"])queries_redirect(substr(ME,0,-1),lang(162),drop_tables(array($b)));else{$o=array();$ra=array();$mh=false;$_c=array();$De=reset($Ee);$pa=" FIRST";foreach($L["fields"]as$z=>$n){$p=$Bc[$n["type"]];$Yg=($p!==null?$vf[$p]:$n);if($n["field"]!=""){if(!$n["has_default"])$n["default"]=null;if($z==$L["auto_increment_col"])$n["auto_increment"]=true;$lf=process_field($n,$Yg);$ra[]=array($n["orig"],$lf,$pa);if(!$De||$lf!=process_field($De,$De)){$o[]=array($n["orig"],$lf,$pa);if($n["orig"]!=""||$pa)$mh=true;}if($p!==null)$_c[idf_escape($n["field"])]=($b!=""&&$y!="sqlite"?"ADD":" ").format_foreign_key(array('table'=>$Bc[$n["type"]],'source'=>array($n["field"]),'target'=>array($Yg["field"]),'on_delete'=>$n["on_delete"],));$pa=" AFTER ".idf_escape($n["field"]);}elseif($n["orig"]!=""){$mh=true;$o[]=array($n["orig"]);}if($n["orig"]!=""){$De=next($Ee);if(!$De)$pa="";}}$Qe="";if($Oe[$L["partition_by"]]){$Re=array();if($L["partition_by"]=='RANGE'||$L["partition_by"]=='LIST'){foreach(array_filter($L["partition_names"])as$z=>$X){$Y=$L["partition_values"][$z];$Re[]="\n  PARTITION ".idf_escape($X)." VALUES ".($L["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$Qe.="\nPARTITION BY $L[partition_by]($L[partition])".($Re?" (".implode(",",$Re)."\n)":($L["partitions"]?" PARTITIONS ".(+$L["partitions"]):""));}elseif(support("partitioning")&&preg_match("~partitioned~",$R["Create_options"]))$Qe.="\nREMOVE PARTITIONING";$D=lang(163);if($b==""){cookie("adminer_engine",$L["Engine"]);$D=lang(164);}$E=trim($L["name"]);queries_redirect(ME.(support("table")?"table=":"select=").urlencode($E),$D,alter_table($b,$E,($y=="sqlite"&&($mh||$_c)?$ra:$o),$_c,($L["Comment"]!=$R["Comment"]?$L["Comment"]:null),($L["Engine"]&&$L["Engine"]!=$R["Engine"]?$L["Engine"]:""),($L["Collation"]&&$L["Collation"]!=$R["Collation"]?$L["Collation"]:""),($L["Auto_increment"]!=""?number($L["Auto_increment"]):""),$Qe));}}page_header(($b!=""?lang(33):lang(63)),$m,array("table"=>$b),h($b));if(!$_POST){$L=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($ah["int"])?"int":(isset($ah["integer"])?"integer":"")),"on_update"=>"")),"partition_names"=>array(""),);if($b!=""){$L=$R;$L["name"]=$b;$L["fields"]=array();if(!$_GET["auto_increment"])$L["Auto_increment"]="";foreach($Ee
as$n){$n["has_default"]=isset($n["default"]);$L["fields"][]=$n;}if(support("partitioning")){$Fc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($b);$J=$g->query("SELECT PARTITION_METHOD, PARTITION_ORDINAL_POSITION, PARTITION_EXPRESSION $Fc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");list($L["partition_by"],$L["partitions"],$L["partition"])=$J->fetch_row();$Re=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $Fc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$Re[""]="";$L["partition_names"]=array_keys($Re);$L["partition_values"]=array_values($Re);}}}$Xa=collations();$ac=engines();foreach($ac
as$Zb){if(!strcasecmp($Zb,$L["Engine"])){$L["Engine"]=$Zb;break;}}echo'
<form action="" method="post" id="form">
<p>
';if(support("columns")||$b==""){echo
lang(165),': <input name="name" data-maxlength="64" value="',h($L["name"]),'" autocapitalize="off">
';if($b==""&&!$_POST)echo
script("focus(qs('#form')['name']);");echo($ac?"<select name='Engine'>".optionlist(array(""=>"(".lang(166).")")+$ac,$L["Engine"])."</select>".on_help("getTarget(event).value",1).script("qsl('select').onchange = helpClose;"):""),' ',($Xa&&!preg_match("~sqlite|mssql~",$y)?html_select("Collation",array(""=>"(".lang(95).")")+$Xa,$L["Collation"]):""),' <input type="submit" value="',lang(14),'">
';}echo'
';if(support("columns")){echo'<div class="scrollable">
<table cellspacing="0" id="edit-fields" class="nowrap">
';edit_fields($L["fields"],$Xa,"TABLE",$Bc);echo'</table>
',script("editFields();"),'</div>
<p>
',lang(40),': <input type="number" name="Auto_increment" size="6" value="',h($L["Auto_increment"]),'">
',checkbox("defaults",1,($_POST?$_POST["defaults"]:adminer_setting("defaults")),lang(167),"columnShow(this.checked, 5)","jsonly"),(support("comment")?checkbox("comments",1,($_POST?$_POST["comments"]:adminer_setting("comments")),lang(39),"editingCommentsClick(this, true);","jsonly").' <input name="Comment" value="'.h($L["Comment"]).'" data-maxlength="'.(min_version(5.5)?2048:60).'">':''),'<p>
<input type="submit" value="',lang(14),'">
';}echo'
';if($b!=""){echo'<input type="submit" name="drop" value="',lang(121),'">',confirm(lang(168,$b));}if(support("partitioning")){$Pe=preg_match('~RANGE|LIST~',$L["partition_by"]);print_fieldset("partition",lang(169),$L["partition_by"]);echo'<p>
',"<select name='partition_by'>".optionlist(array(""=>"")+$Oe,$L["partition_by"])."</select>".on_help("getTarget(event).value.replace(/./, 'PARTITION BY \$&')",1).script("qsl('select').onchange = partitionByChange;"),'(<input name="partition" value="',h($L["partition"]),'">)
',lang(170),': <input type="number" name="partitions" class="size',($Pe||!$L["partition_by"]?" hidden":""),'" value="',h($L["partitions"]),'">
<table cellspacing="0" id="partition-table"',($Pe?"":" class='hidden'"),'>
<thead><tr><th>',lang(171),'<th>',lang(172),'</thead>
';foreach($L["partition_names"]as$z=>$X){echo'<tr>','<td><input name="partition_names[]" value="'.h($X).'" autocapitalize="off">',($z==count($L["partition_names"])-1?script("qsl('input').oninput = partitionNameChange;"):''),'<td><input name="partition_values[]" value="'.h($L["partition_values"][$z]).'">';}echo'</table>
</div></fieldset>
';}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["indexes"])){$b=$_GET["indexes"];$bd=array("PRIMARY","UNIQUE","INDEX");$R=table_status($b,true);if(preg_match('~MyISAM|M?aria'.(min_version(5.6,'10.0.5')?'|InnoDB':'').'~i',$R["Engine"]))$bd[]="FULLTEXT";if(preg_match('~MyISAM|M?aria'.(min_version(5.7,'10.2.2')?'|InnoDB':'').'~i',$R["Engine"]))$bd[]="SPATIAL";$x=indexes($b);$ff=array();if($y=="mongo"){$ff=$x["_id_"];unset($bd[0]);unset($x["_id_"]);}$L=$_POST;if($_POST&&!$m&&!$_POST["add"]&&!$_POST["drop_col"]){$sa=array();foreach($L["indexes"]as$w){$E=$w["name"];if(in_array($w["type"],$bd)){$e=array();$Cd=array();$Eb=array();$P=array();ksort($w["columns"]);foreach($w["columns"]as$z=>$d){if($d!=""){$Bd=$w["lengths"][$z];$Db=$w["descs"][$z];$P[]=idf_escape($d).($Bd?"(".(+$Bd).")":"").($Db?" DESC":"");$e[]=$d;$Cd[]=($Bd?$Bd:null);$Eb[]=$Db;}}if($e){$kc=$x[$E];if($kc){ksort($kc["columns"]);ksort($kc["lengths"]);ksort($kc["descs"]);if($w["type"]==$kc["type"]&&array_values($kc["columns"])===$e&&(!$kc["lengths"]||array_values($kc["lengths"])===$Cd)&&array_values($kc["descs"])===$Eb){unset($x[$E]);continue;}}$sa[]=array($w["type"],$E,$P);}}}foreach($x
as$E=>$kc)$sa[]=array($kc["type"],$E,"DROP");if(!$sa)redirect(ME."table=".urlencode($b));queries_redirect(ME."table=".urlencode($b),lang(173),alter_indexes($b,$sa));}page_header(lang(125),$m,array("table"=>$b),h($b));$o=array_keys(fields($b));if($_POST["add"]){foreach($L["indexes"]as$z=>$w){if($w["columns"][count($w["columns"])]!="")$L["indexes"][$z]["columns"][]="";}$w=end($L["indexes"]);if($w["type"]||array_filter($w["columns"],'strlen'))$L["indexes"][]=array("columns"=>array(1=>""));}if(!$L){foreach($x
as$z=>$w){$x[$z]["name"]=$z;$x[$z]["columns"][]="";}$x[]=array("columns"=>array(1=>""));$L["indexes"]=$x;}echo'
<form action="" method="post">
<div class="scrollable">
<table cellspacing="0" class="nowrap">
<thead><tr>
<th id="label-type">',lang(174),'<th><input type="submit" class="wayoff">',lang(175),'<th id="label-name">',lang(176),'<th><noscript>',"<input type='image' class='icon' name='add[0]' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.8.1")."' alt='+' title='".lang(102)."'>",'</noscript>
</thead>
';if($ff){echo"<tr><td>PRIMARY<td>";foreach($ff["columns"]as$z=>$d){echo
select_input(" disabled",$o,$d),"<label><input disabled type='checkbox'>".lang(48)."</label> ";}echo"<td><td>\n";}$nd=1;foreach($L["indexes"]as$w){if(!$_POST["drop_col"]||$nd!=key($_POST["drop_col"])){echo"<tr><td>".html_select("indexes[$nd][type]",array(-1=>"")+$bd,$w["type"],($nd==count($L["indexes"])?"indexesAddRow.call(this);":1),"label-type"),"<td>";ksort($w["columns"]);$t=1;foreach($w["columns"]as$z=>$d){echo"<span>".select_input(" name='indexes[$nd][columns][$t]' title='".lang(37)."'",($o?array_combine($o,$o):$o),$d,"partial(".($t==count($w["columns"])?"indexesAddColumn":"indexesChangeColumn").", '".js_escape($y=="sql"?"":$_GET["indexes"]."_")."')"),($y=="sql"||$y=="mssql"?"<input type='number' name='indexes[$nd][lengths][$t]' class='size' value='".h($w["lengths"][$z])."' title='".lang(100)."'>":""),(support("descidx")?checkbox("indexes[$nd][descs][$t]",1,$w["descs"][$z],lang(48)):"")," </span>";$t++;}echo"<td><input name='indexes[$nd][name]' value='".h($w["name"])."' autocapitalize='off' aria-labelledby='label-name'>\n","<td><input type='image' class='icon' name='drop_col[$nd]' src='".h(preg_replace("~\\?.*~","",ME)."?file=cross.gif&version=4.8.1")."' alt='x' title='".lang(105)."'>".script("qsl('input').onclick = partial(editingRemoveRow, 'indexes\$1[type]');");}$nd++;}echo'</table>
</div>
<p>
<input type="submit" value="',lang(14),'">
<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["database"])){$L=$_POST;if($_POST&&!$m&&!isset($_POST["add_x"])){$E=trim($L["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(177),drop_databases(array(DB)));}elseif(DB!==$E){if(DB!=""){$_GET["db"]=$E;queries_redirect(preg_replace('~\bdb=[^&]*&~','',ME)."db=".urlencode($E),lang(178),rename_database($E,$L["collation"]));}else{$j=explode("\n",str_replace("\r","",$E));$og=true;$wd="";foreach($j
as$k){if(count($j)==1||$k!=""){if(!create_database($k,$L["collation"]))$og=false;$wd=$k;}}restart_session();set_session("dbs",null);queries_redirect(ME."db=".urlencode($wd),lang(179),$og);}}else{if(!$L["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($E).(preg_match('~^[a-z0-9_]+$~i',$L["collation"])?" COLLATE $L[collation]":""),substr(ME,0,-1),lang(180));}}page_header(DB!=""?lang(56):lang(109),$m,array(),h(DB));$Xa=collations();$E=DB;if($_POST)$E=$L["name"];elseif(DB!="")$L["collation"]=db_collation(DB,$Xa);elseif($y=="sql"){foreach(get_vals("SHOW GRANTS")as$Hc){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\.\*)?~',$Hc,$C)&&$C[1]){$E=stripcslashes(idf_unescape("`$C[2]`"));break;}}}echo'
<form action="" method="post">
<p>
',($_POST["add_x"]||strpos($E,"\n")?'<textarea id="name" name="name" rows="10" cols="40">'.h($E).'</textarea><br>':'<input name="name" id="name" value="'.h($E).'" data-maxlength="64" autocapitalize="off">')."\n".($Xa?html_select("collation",array(""=>"(".lang(95).")")+$Xa,$L["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mariadb'=>"supported-character-sets-and-collations/",)):""),script("focus(qs('#name'));"),'<input type="submit" value="',lang(14),'">
';if(DB!="")echo"<input type='submit' name='drop' value='".lang(121)."'>".confirm(lang(168,DB))."\n";elseif(!$_POST["add_x"]&&$_GET["db"]=="")echo"<input type='image' class='icon' name='add' src='".h(preg_replace("~\\?.*~","",ME)."?file=plus.gif&version=4.8.1")."' alt='+' title='".lang(102)."'>\n";echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["call"])){$ca=($_GET["name"]?$_GET["name"]:$_GET["call"]);page_header(lang(181).": ".h($ca),$m);$Ff=routine($_GET["call"],(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$ad=array();$He=array();foreach($Ff["fields"]as$t=>$n){if(substr($n["inout"],-3)=="OUT")$He[$t]="@".idf_escape($n["field"])." AS ".idf_escape($n["field"]);if(!$n["inout"]||substr($n["inout"],0,2)=="IN")$ad[]=$t;}if(!$m&&$_POST){$Ja=array();foreach($Ff["fields"]as$z=>$n){if(in_array($z,$ad)){$X=process_input($n);if($X===false)$X="''";if(isset($He[$z]))$g->query("SET @".idf_escape($n["field"])." = $X");}$Ja[]=(isset($He[$z])?"@".idf_escape($n["field"]):$X);}$I=(isset($_GET["callf"])?"SELECT":"CALL")." ".table($ca)."(".implode(", ",$Ja).")";$hg=microtime(true);$J=$g->multi_query($I);$na=$g->affected_rows;echo$c->selectQuery($I,$hg,!$J);if(!$J)echo"<p class='error'>".error()."\n";else{$h=connect();if(is_object($h))$h->select_db(DB);do{$J=$g->store_result();if(is_object($J))select($J,$h);else
echo"<p class='message'>".lang(182,$na)." <span class='time'>".@date("H:i:s")."</span>\n";}while($g->next_result());if($He)select($g->query("SELECT ".implode(", ",$He)));}}echo'
<form action="" method="post">
';if($ad){echo"<table cellspacing='0' class='layout'>\n";foreach($ad
as$z){$n=$Ff["fields"][$z];$E=$n["field"];echo"<tr><th>".$c->fieldName($n);$Y=$_POST["fields"][$E];if($Y!=""){if($n["type"]=="enum")$Y=+$Y;if($n["type"]=="set")$Y=array_sum($Y);}input($n,$Y,(string)$_POST["function"][$E]);echo"\n";}echo"</table>\n";}echo'<p>
<input type="submit" value="',lang(181),'">
<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["foreign"])){$b=$_GET["foreign"];$E=$_GET["name"];$L=$_POST;if($_POST&&!$m&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){$D=($_POST["drop"]?lang(183):($E!=""?lang(184):lang(185)));$B=ME."table=".urlencode($b);if(!$_POST["drop"]){$L["source"]=array_filter($L["source"],'strlen');ksort($L["source"]);$Ag=array();foreach($L["source"]as$z=>$X)$Ag[$z]=$L["target"][$z];$L["target"]=$Ag;}if($y=="sqlite")queries_redirect($B,$D,recreate_table($b,$b,array(),array(),array(" $E"=>($_POST["drop"]?"":" ".format_foreign_key($L)))));else{$sa="ALTER TABLE ".table($b);$Lb="\nDROP ".($y=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($E);if($_POST["drop"])query_redirect($sa.$Lb,$B,$D);else{query_redirect($sa.($E!=""?"$Lb,":"")."\nADD".format_foreign_key($L),$B,$D);$m=lang(186)."<br>$m";}}}page_header(lang(187),$m,array("table"=>$b),h($b));if($_POST){ksort($L["source"]);if($_POST["add"])$L["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$L["target"]=array();}elseif($E!=""){$Bc=foreign_keys($b);$L=$Bc[$E];$L["source"][]="";}else{$L["table"]=$b;$L["source"]=array("");}echo'
<form action="" method="post">
';$bg=array_keys(fields($b));if($L["db"]!="")$g->select_db($L["db"]);if($L["ns"]!="")set_schema($L["ns"]);$uf=array_keys(array_filter(table_status('',true),'fk_support'));$Ag=array_keys(fields(in_array($L["table"],$uf)?$L["table"]:reset($uf)));$se="this.form['change-js'].value = '1'; this.form.submit();";echo"<p>".lang(188).": ".html_select("table",$uf,$L["table"],$se)."\n";if($y=="pgsql")echo
lang(189).": ".html_select("ns",$c->schemas(),$L["ns"]!=""?$L["ns"]:$_GET["ns"],$se);elseif($y!="sqlite"){$xb=array();foreach($c->databases()as$k){if(!information_schema($k))$xb[]=$k;}echo
lang(65).": ".html_select("db",$xb,$L["db"]!=""?$L["db"]:$_GET["db"],$se);}echo'<input type="hidden" name="change-js" value="">
<noscript><p><input type="submit" name="change" value="',lang(190),'"></noscript>
<table cellspacing="0">
<thead><tr><th id="label-source">',lang(127),'<th id="label-target">',lang(128),'</thead>
';$nd=0;foreach($L["source"]as$z=>$X){echo"<tr>","<td>".html_select("source[".(+$z)."]",array(-1=>"")+$bg,$X,($nd==count($L["source"])-1?"foreignAddRow.call(this);":1),"label-source"),"<td>".html_select("target[".(+$z)."]",$Ag,$L["target"][$z],1,"label-target");$nd++;}echo'</table>
<p>
',lang(97),': ',html_select("on_delete",array(-1=>"")+explode("|",$re),$L["on_delete"]),' ',lang(96),': ',html_select("on_update",array(-1=>"")+explode("|",$re),$L["on_update"]),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'mariadb'=>"foreign-keys/",)),'<p>
<input type="submit" value="',lang(14),'">
<noscript><p><input type="submit" name="add" value="',lang(191),'"></noscript>
';if($E!=""){echo'<input type="submit" name="drop" value="',lang(121),'">',confirm(lang(168,$E));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["view"])){$b=$_GET["view"];$L=$_POST;$Fe="VIEW";if($y=="pgsql"&&$b!=""){$ig=table_status($b);$Fe=strtoupper($ig["Engine"]);}if($_POST&&!$m){$E=trim($L["name"]);$ua=" AS\n$L[select]";$B=ME."table=".urlencode($E);$D=lang(192);$U=($_POST["materialized"]?"MATERIALIZED VIEW":"VIEW");if(!$_POST["drop"]&&$b==$E&&$y!="sqlite"&&$U=="VIEW"&&$Fe=="VIEW")query_redirect(($y=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($E).$ua,$B,$D);else{$Cg=$E."_adminer_".uniqid();drop_create("DROP $Fe ".table($b),"CREATE $U ".table($E).$ua,"DROP $U ".table($E),"CREATE $U ".table($Cg).$ua,"DROP $U ".table($Cg),($_POST["drop"]?substr(ME,0,-1):$B),lang(193),$D,lang(194),$b,$E);}}if(!$_POST&&$b!=""){$L=view($b);$L["name"]=$b;$L["materialized"]=($Fe!="VIEW");if(!$m)$m=error();}page_header(($b!=""?lang(32):lang(195)),$m,array("table"=>$b),h($b));echo'
<form action="" method="post">
<p>',lang(176),': <input name="name" value="',h($L["name"]),'" data-maxlength="64" autocapitalize="off">
',(support("materializedview")?" ".checkbox("materialized",1,$L["materialized"],lang(122)):""),'<p>';textarea("select",$L["select"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($b!=""){echo'<input type="submit" name="drop" value="',lang(121),'">',confirm(lang(168,$b));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$gd=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$jg=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$L=$_POST;if($_POST&&!$m){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(196));elseif(in_array($L["INTERVAL_FIELD"],$gd)&&isset($jg[$L["STATUS"]])){$Jf="\nON SCHEDULE ".($L["INTERVAL_VALUE"]?"EVERY ".q($L["INTERVAL_VALUE"])." $L[INTERVAL_FIELD]".($L["STARTS"]?" STARTS ".q($L["STARTS"]):"").($L["ENDS"]?" ENDS ".q($L["ENDS"]):""):"AT ".q($L["STARTS"]))." ON COMPLETION".($L["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(197):lang(198)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$Jf.($aa!=$L["EVENT_NAME"]?"\nRENAME TO ".idf_escape($L["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($L["EVENT_NAME"]).$Jf)."\n".$jg[$L["STATUS"]]." COMMENT ".q($L["EVENT_COMMENT"]).rtrim(" DO\n$L[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(199).": ".h($aa):lang(200)),$m);if(!$L&&$aa!=""){$M=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$L=reset($M);}echo'
<form action="" method="post">
<table cellspacing="0" class="layout">
<tr><th>',lang(176),'<td><input name="EVENT_NAME" value="',h($L["EVENT_NAME"]),'" data-maxlength="64" autocapitalize="off">
<tr><th title="datetime">',lang(201),'<td><input name="STARTS" value="',h("$L[EXECUTE_AT]$L[STARTS]"),'">
<tr><th title="datetime">',lang(202),'<td><input name="ENDS" value="',h($L["ENDS"]),'">
<tr><th>',lang(203),'<td><input type="number" name="INTERVAL_VALUE" value="',h($L["INTERVAL_VALUE"]),'" class="size"> ',html_select("INTERVAL_FIELD",$gd,$L["INTERVAL_FIELD"]),'<tr><th>',lang(112),'<td>',html_select("STATUS",$jg,$L["STATUS"]),'<tr><th>',lang(39),'<td><input name="EVENT_COMMENT" value="',h($L["EVENT_COMMENT"]),'" data-maxlength="64">
<tr><th><td>',checkbox("ON_COMPLETION","PRESERVE",$L["ON_COMPLETION"]=="PRESERVE",lang(204)),'</table>
<p>';textarea("EVENT_DEFINITION",$L["EVENT_DEFINITION"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($aa!=""){echo'<input type="submit" name="drop" value="',lang(121),'">',confirm(lang(168,$aa));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["procedure"])){$ca=($_GET["name"]?$_GET["name"]:$_GET["procedure"]);$Ff=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$L=$_POST;$L["fields"]=(array)$L["fields"];if($_POST&&!process_fields($L["fields"])&&!$m){$Ce=routine($_GET["procedure"],$Ff);$Cg="$L[name]_adminer_".uniqid();drop_create("DROP $Ff ".routine_id($ca,$Ce),create_routine($Ff,$L),"DROP $Ff ".routine_id($L["name"],$L),create_routine($Ff,array("name"=>$Cg)+$L),"DROP $Ff ".routine_id($Cg,$L),substr(ME,0,-1),lang(205),lang(206),lang(207),$ca,$L["name"]);}page_header(($ca!=""?(isset($_GET["function"])?lang(208):lang(209)).": ".h($ca):(isset($_GET["function"])?lang(210):lang(211))),$m);if(!$_POST&&$ca!=""){$L=routine($_GET["procedure"],$Ff);$L["name"]=$ca;}$Xa=get_vals("SHOW CHARACTER SET");sort($Xa);$Gf=routine_languages();echo'
<form action="" method="post" id="form">
<p>',lang(176),': <input name="name" value="',h($L["name"]),'" data-maxlength="64" autocapitalize="off">
',($Gf?lang(19).": ".html_select("language",$Gf,$L["language"])."\n":""),'<input type="submit" value="',lang(14),'">
<div class="scrollable">
<table cellspacing="0" class="nowrap">
';edit_fields($L["fields"],$Xa,$Ff);if(isset($_GET["function"])){echo"<tr><td>".lang(212);edit_type("returns",$L["returns"],$Xa,array(),($y=="pgsql"?array("void","trigger"):array()));}echo'</table>
',script("editFields();"),'</div>
<p>';textarea("definition",$L["definition"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($ca!=""){echo'<input type="submit" name="drop" value="',lang(121),'">',confirm(lang(168,$ca));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["trigger"])){$b=$_GET["trigger"];$E=$_GET["name"];$Wg=trigger_options();$L=(array)trigger($E,$b)+array("Trigger"=>$b."_bi");if($_POST){if(!$m&&in_array($_POST["Timing"],$Wg["Timing"])&&in_array($_POST["Event"],$Wg["Event"])&&in_array($_POST["Type"],$Wg["Type"])){$qe=" ON ".table($b);$Lb="DROP TRIGGER ".idf_escape($E).($y=="pgsql"?$qe:"");$B=ME."table=".urlencode($b);if($_POST["drop"])query_redirect($Lb,$B,lang(213));else{if($E!="")queries($Lb);queries_redirect($B,($E!=""?lang(214):lang(215)),queries(create_trigger($qe,$_POST)));if($E!="")queries(create_trigger($qe,$L+array("Type"=>reset($Wg["Type"]))));}}$L=$_POST;}page_header(($E!=""?lang(216).": ".h($E):lang(217)),$m,array("table"=>$b));echo'
<form action="" method="post" id="form">
<table cellspacing="0" class="layout">
<tr><th>',lang(218),'<td>',html_select("Timing",$Wg["Timing"],$L["Timing"],"triggerChange(/^".preg_quote($b,"/")."_[ba][iud]$/, '".js_escape($b)."', this.form);"),'<tr><th>',lang(219),'<td>',html_select("Event",$Wg["Event"],$L["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$Wg["Event"])?" <input name='Of' value='".h($L["Of"])."' class='hidden'>":""),'<tr><th>',lang(38),'<td>',html_select("Type",$Wg["Type"],$L["Type"]),'</table>
<p>',lang(176),': <input name="Trigger" value="',h($L["Trigger"]),'" data-maxlength="64" autocapitalize="off">
',script("qs('#form')['Timing'].onchange();"),'<p>';textarea("Statement",$L["Statement"]);echo'<p>
<input type="submit" value="',lang(14),'">
';if($E!=""){echo'<input type="submit" name="drop" value="',lang(121),'">',confirm(lang(168,$E));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["user"])){$ea=$_GET["user"];$jf=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$L){foreach(explode(",",($L["Privilege"]=="Grant option"?"":$L["Context"]))as$ib)$jf[$ib][$L["Privilege"]]=$L["Comment"];}$jf["Server Admin"]+=$jf["File access on server"];$jf["Databases"]["Create routine"]=$jf["Procedures"]["Create routine"];unset($jf["Procedures"]["Create routine"]);$jf["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$jf["Columns"][$X]=$jf["Tables"][$X];unset($jf["Server Admin"]["Usage"]);foreach($jf["Tables"]as$z=>$X)unset($jf["Databases"][$z]);$be=array();if($_POST){foreach($_POST["objects"]as$z=>$X)$be[$X]=(array)$be[$X]+(array)$_POST["grants"][$z];}$Ic=array();$oe="";if(isset($_GET["host"])&&($J=$g->query("SHOW GRANTS FOR ".q($ea)."@".q($_GET["host"])))){while($L=$J->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$L[0],$C)&&preg_match_all('~ *([^(,]*[^ ,(])( *\([^)]+\))?~',$C[1],$Jd,PREG_SET_ORDER)){foreach($Jd
as$X){if($X[1]!="USAGE")$Ic["$C[2]$X[2]"][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$L[0]))$Ic["$C[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$L[0],$C))$oe=$C[1];}}if($_POST&&!$m){$pe=(isset($_GET["host"])?q($ea)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $pe",ME."privileges=",lang(220));else{$de=q($_POST["user"])."@".q($_POST["host"]);$Se=$_POST["pass"];if($Se!=''&&!$_POST["hashed"]&&!min_version(8)){$Se=$g->result("SELECT PASSWORD(".q($Se).")");$m=!$Se;}$mb=false;if(!$m){if($pe!=$de){$mb=queries((min_version(5)?"CREATE USER":"GRANT USAGE ON *.* TO")." $de IDENTIFIED BY ".(min_version(8)?"":"PASSWORD ").q($Se));$m=!$mb;}elseif($Se!=$oe)queries("SET PASSWORD FOR $de = ".q($Se));}if(!$m){$Cf=array();foreach($be
as$je=>$Hc){if(isset($_GET["grant"]))$Hc=array_filter($Hc);$Hc=array_keys($Hc);if(isset($_GET["grant"]))$Cf=array_diff(array_keys(array_filter($be[$je],'strlen')),$Hc);elseif($pe==$de){$me=array_keys((array)$Ic[$je]);$Cf=array_diff($me,$Hc);$Hc=array_diff($Hc,$me);unset($Ic[$je]);}if(preg_match('~^(.+)\s*(\(.*\))?$~U',$je,$C)&&(!grant("REVOKE",$Cf,$C[2]," ON $C[1] FROM $de")||!grant("GRANT",$Hc,$C[2]," ON $C[1] TO $de"))){$m=true;break;}}}if(!$m&&isset($_GET["host"])){if($pe!=$de)queries("DROP USER $pe");elseif(!isset($_GET["grant"])){foreach($Ic
as$je=>$Cf){if(preg_match('~^(.+)(\(.*\))?$~U',$je,$C))grant("REVOKE",array_keys($Cf),$C[2]," ON $C[1] FROM $de");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(221):lang(222)),!$m);if($mb)$g->query("DROP USER $de");}}page_header((isset($_GET["host"])?lang(24).": ".h("$ea@$_GET[host]"):lang(139)),$m,array("privileges"=>array('',lang(60))));if($_POST){$L=$_POST;$Ic=$be;}else{$L=$_GET+array("host"=>$g->result("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$L["pass"]=$oe;if($oe!="")$L["hashed"]=true;$Ic[(DB==""||$Ic?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'<form action="" method="post">
<table cellspacing="0" class="layout">
<tr><th>',lang(23),'<td><input name="host" data-maxlength="60" value="',h($L["host"]),'" autocapitalize="off">
<tr><th>',lang(24),'<td><input name="user" data-maxlength="80" value="',h($L["user"]),'" autocapitalize="off">
<tr><th>',lang(25),'<td><input name="pass" id="pass" value="',h($L["pass"]),'" autocomplete="new-password">
';if(!$L["hashed"])echo
script("typePassword(qs('#pass'));");echo(min_version(8)?"":checkbox("hashed",1,$L["hashed"],lang(223),"typePassword(this.form['pass'], this.checked);")),'</table>

';echo"<table cellspacing='0'>\n","<thead><tr><th colspan='2'>".lang(60).doc_link(array('sql'=>"grant.html#priv_level"));$t=0;foreach($Ic
as$je=>$Hc){echo'<th>'.($je!="*.*"?"<input name='objects[$t]' value='".h($je)."' size='10' autocapitalize='off'>":"<input type='hidden' name='objects[$t]' value='*.*' size='10'>*.*");$t++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(23),"Databases"=>lang(26),"Tables"=>lang(124),"Columns"=>lang(37),"Procedures"=>lang(224),)as$ib=>$Db){foreach((array)$jf[$ib]as$if=>$bb){echo"<tr".odd()."><td".($Db?">$Db<td":" colspan='2'").' lang="en" title="'.h($bb).'">'.h($if);$t=0;foreach($Ic
as$je=>$Hc){$E="'grants[$t][".h(strtoupper($if))."]'";$Y=$Hc[strtoupper($if)];if($ib=="Server Admin"&&$je!=(isset($Ic["*.*"])?"*.*":".*"))echo"<td>";elseif(isset($_GET["grant"]))echo"<td><select name=$E><option><option value='1'".($Y?" selected":"").">".lang(225)."<option value='0'".($Y=="0"?" selected":"").">".lang(226)."</select>";else{echo"<td align='center'><label class='block'>","<input type='checkbox' name=$E value='1'".($Y?" checked":"").($if=="All privileges"?" id='grants-$t-all'>":">".($if=="Grant option"?"":script("qsl('input').onclick = function () { if (this.checked) formUncheck('grants-$t-all'); };"))),"</label>";}$t++;}}}echo"</table>\n",'<p>
<input type="submit" value="',lang(14),'">
';if(isset($_GET["host"])){echo'<input type="submit" name="drop" value="',lang(121),'">',confirm(lang(168,"$ea@$_GET[host]"));}echo'<input type="hidden" name="token" value="',$T,'">
</form>
';}elseif(isset($_GET["processlist"])){if(support("kill")){if($_POST&&!$m){$rd=0;foreach((array)$_POST["kill"]as$X){if(kill_process($X))$rd++;}queries_redirect(ME."processlist=",lang(227,$rd),$rd||!$_POST["kill"]);}}page_header(lang(110),$m);echo'
<form action="" method="post">
<div class="scrollable">
<table cellspacing="0" class="nowrap checkable">
',script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");$t=-1;foreach(process_list()as$t=>$L){if(!$t){echo"<thead><tr lang='en'>".(support("kill")?"<th>":"");foreach($L
as$z=>$X)echo"<th>$z".doc_link(array('sql'=>"show-processlist.html#processlist_".strtolower($z),));echo"</thead>\n";}echo"<tr".odd().">".(support("kill")?"<td>".checkbox("kill[]",$L[$y=="sql"?"Id":"pid"],0):"");foreach($L
as$z=>$X)echo"<td>".(($y=="sql"&&$z=="Info"&&preg_match("~Query|Killed~",$L["Command"])&&$X!="")||($y=="pgsql"&&$z=="current_query"&&$X!="<IDLE>")||($y=="oracle"&&$z=="sql_text"&&$X!="")?"<code class='jush-$y'>".shorten_utf8($X,100,"</code>").' <a href="'.h(ME.($L["db"]!=""?"db=".urlencode($L["db"])."&":"")."sql=".urlencode($X)).'">'.lang(228).'</a>':h($X));echo"\n";}echo'</table>
</div>
<p>
';if(support("kill")){echo($t+1)."/".lang(229,max_connections()),"<p><input type='submit' value='".lang(230)."'>\n";}echo'<input type="hidden" name="token" value="',$T,'">
</form>
',script("tableCheck();");}elseif(isset($_GET["select"])){$b=$_GET["select"];$R=table_status1($b);$x=indexes($b);$o=fields($b);$Bc=column_foreign_keys($b);$le=$R["Oid"];parse_str($_COOKIE["adminer_import"],$ma);$Df=array();$e=array();$Fg=null;foreach($o
as$z=>$n){$E=$c->fieldName($n);if(isset($n["privileges"]["select"])&&$E!=""){$e[$z]=html_entity_decode(strip_tags($E),ENT_QUOTES);if(is_shortable($n))$Fg=$c->selectLengthProcess();}$Df+=$n["privileges"];}list($N,$s)=$c->selectColumnsProcess($e,$x);$kd=count($s)<count($N);$Z=$c->selectSearchProcess($o,$x);$ze=$c->selectOrderProcess($o,$x);$_=$c->selectLimitProcess();if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$eh=>$L){$ua=convert_field($o[key($L)]);$N=array($ua?$ua:idf_escape(key($L)));$Z[]=where_check($eh,$o);$K=$l->select($b,$N,$Z,$N);if($K)echo
reset($K->fetch_row());}exit;}$ff=$gh=null;foreach($x
as$w){if($w["type"]=="PRIMARY"){$ff=array_flip($w["columns"]);$gh=($N?$ff:array());foreach($gh
as$z=>$X){if(in_array(idf_escape($z),$N))unset($gh[$z]);}break;}}if($le&&!$ff){$ff=$gh=array($le=>0);$x[]=array("type"=>"PRIMARY","columns"=>array($le));}if($_POST&&!$m){$Bh=$Z;if(!$_POST["all"]&&is_array($_POST["check"])){$Oa=array();foreach($_POST["check"]as$Ma)$Oa[]=where_check($Ma,$o);$Bh[]="((".implode(") OR (",$Oa)."))";}$Bh=($Bh?"\nWHERE ".implode(" AND ",$Bh):"");if($_POST["export"]){cookie("adminer_import","output=".urlencode($_POST["output"])."&format=".urlencode($_POST["format"]));dump_headers($b);$c->dumpTable($b,"");$Fc=($N?implode(", ",$N):"*").convert_fields($e,$o,$N)."\nFROM ".table($b);$Kc=($s&&$kd?"\nGROUP BY ".implode(", ",$s):"").($ze?"\nORDER BY ".implode(", ",$ze):"");if(!is_array($_POST["check"])||$ff)$I="SELECT $Fc$Bh$Kc";else{$ch=array();foreach($_POST["check"]as$X)$ch[]="(SELECT".limit($Fc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$o).$Kc,1).")";$I=implode(" UNION ALL ",$ch);}$c->dumpData($b,"table",$I);exit;}if(!$c->selectEmailProcess($Z,$Bc)){if($_POST["save"]||$_POST["delete"]){$J=true;$na=0;$P=array();if(!$_POST["delete"]){foreach($e
as$E=>$X){$X=process_input($o[$E]);if($X!==null&&($_POST["clone"]||$X!==false))$P[idf_escape($E)]=($X!==false?$X:idf_escape($E));}}if($_POST["delete"]||$P){if($_POST["clone"])$I="INTO ".table($b)." (".implode(", ",array_keys($P)).")\nSELECT ".implode(", ",$P)."\nFROM ".table($b);if($_POST["all"]||($ff&&is_array($_POST["check"]))||$kd){$J=($_POST["delete"]?$l->delete($b,$Bh):($_POST["clone"]?queries("INSERT $I$Bh"):$l->update($b,$P,$Bh)));$na=$g->affected_rows;}else{foreach((array)$_POST["check"]as$X){$Ah="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$o);$J=($_POST["delete"]?$l->delete($b,$Ah,1):($_POST["clone"]?queries("INSERT".limit1($b,$I,$Ah)):$l->update($b,$P,$Ah,1)));if(!$J)break;$na+=$g->affected_rows;}}}$D=lang(231,$na);if($_POST["clone"]&&$J&&$na==1){$xd=last_id();if($xd)$D=lang(161," $xd");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$D,$J);if(!$_POST["delete"]){edit_form($b,$o,(array)$_POST["fields"],!$_POST["clone"]);page_footer();exit;}}elseif(!$_POST["import"]){if(!$_POST["val"])$m=lang(232);else{$J=true;$na=0;foreach($_POST["val"]as$eh=>$L){$P=array();foreach($L
as$z=>$X){$z=bracket_escape($z,1);$P[idf_escape($z)]=(preg_match('~char|text~',$o[$z]["type"])||$X!=""?$c->processInput($o[$z],$X):"NULL");}$J=$l->update($b,$P," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($eh,$o),!$kd&&!$ff," ");if(!$J)break;$na+=$g->affected_rows;}queries_redirect(remove_from_uri(),lang(231,$na),$J);}}elseif(!is_string($uc=get_file("csv_file",true)))$m=upload_error($uc);elseif(!preg_match('~~u',$uc))$m=lang(233);else{cookie("adminer_import","output=".urlencode($ma["output"])."&format=".urlencode($_POST["separator"]));$J=true;$Ya=array_keys($o);preg_match_all('~(?>"[^"]*"|[^"\r\n]+)+~',$uc,$Jd);$na=count($Jd[0]);$l->begin();$Rf=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$M=array();foreach($Jd[0]as$z=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$Rf]*)$Rf~",$X.$Rf,$Kd);if(!$z&&!array_diff($Kd[1],$Ya)){$Ya=$Kd[1];$na--;}else{$P=array();foreach($Kd[1]as$t=>$Ua)$P[idf_escape($Ya[$t])]=($Ua==""&&$o[$Ya[$t]]["null"]?"NULL":q(str_replace('""','"',preg_replace('~^"|"$~','',$Ua))));$M[]=$P;}}$J=(!$M||$l->insertUpdate($b,$M,$ff));if($J)$J=$l->commit();queries_redirect(remove_from_uri("page"),lang(234,$na),$J);$l->rollback();}}}$ug=$c->tableName($R);if(is_ajax()){page_headers();ob_start();}else
page_header(lang(42).": $ug",$m);$P=null;if(isset($Df["insert"])||!support("table")){$P="";foreach((array)$_GET["where"]as$X){if($Bc[$X["col"]]&&count($Bc[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&!preg_match('~[_%]~',$X["val"]))))$P.="&set".urlencode("[".bracket_escape($X["col"])."]")."=".urlencode($X["val"]);}}$c->selectLinks($R,$P);if(!$e&&support("table"))echo"<p class='error'>".lang(235).($o?".":": ".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($b).'">',"</div>\n";$c->selectColumnsPrint($N,$e);$c->selectSearchPrint($Z,$e,$x);$c->selectOrderPrint($ze,$e,$x);$c->selectLimitPrint($_);$c->selectLengthPrint($Fg);$c->selectActionPrint($x);echo"</form>\n";$F=$_GET["page"];if($F=="last"){$Ec=$g->result(count_rows($b,$Z,$kd,$s));$F=floor(max(0,$Ec-1)/$_);}$Mf=$N;$Jc=$s;if(!$Mf){$Mf[]="*";$jb=convert_fields($e,$o,$N);if($jb)$Mf[]=substr($jb,2);}foreach($N
as$z=>$X){$n=$o[idf_unescape($X)];if($n&&($ua=convert_field($n)))$Mf[$z]="$ua AS $X";}if(!$kd&&$gh){foreach($gh
as$z=>$X){$Mf[]=idf_escape($z);if($Jc)$Jc[]=idf_escape($z);}}$J=$l->select($b,$Mf,$Z,$Jc,$ze,$_,$F,true);if(!$J)echo"<p class='error'>".error()."\n";else{if($y=="mssql"&&$F)$J->seek($_*$F);$Xb=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$M=array();while($L=$J->fetch_assoc()){if($F&&$y=="oracle")unset($L["RNUM"]);$M[]=$L;}if($_GET["page"]!="last"&&$_!=""&&$s&&$kd&&$y=="sql")$Ec=$g->result(" SELECT FOUND_ROWS()");if(!$M)echo"<p class='message'>".lang(12)."\n";else{$Ba=$c->backwardKeys($b,$ug);echo"<div class='scrollable'>","<table id='table' cellspacing='0' class='nowrap checkable'>",script("mixin(qs('#table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true), onkeydown: editingKeydown});"),"<thead><tr>".(!$s&&$N?"":"<td><input type='checkbox' id='all-page' class='jsonly'>".script("qs('#all-page').onclick = partial(formCheck, /check/);","")." <a href='".h($_GET["modify"]?remove_from_uri("modify"):$_SERVER["REQUEST_URI"]."&modify=1")."'>".lang(236)."</a>");$ae=array();$Gc=array();reset($N);$rf=1;foreach($M[0]as$z=>$X){if(!isset($gh[$z])){$X=$_GET["columns"][key($N)];$n=$o[$N?($X?$X["col"]:current($N)):$z];$E=($n?$c->fieldName($n,$rf):($X["fun"]?"*":$z));if($E!=""){$rf++;$ae[$z]=$E;$d=idf_escape($z);$Wc=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($z);$Db="&desc%5B0%5D=1";echo"<th id='th[".h(bracket_escape($z))."]'>".script("mixin(qsl('th'), {onmouseover: partial(columnMouse), onmouseout: partial(columnMouse, ' hidden')});",""),'<a href="'.h($Wc.($ze[0]==$d||$ze[0]==$z||(!$ze&&$kd&&$s[0]==$d)?$Db:'')).'">';echo
apply_sql_function($X["fun"],$E)."</a>";echo"<span class='column hidden'>","<a href='".h($Wc.$Db)."' title='".lang(48)."' class='text'> ↓</a>";if(!$X["fun"]){echo'<a href="#fieldset-search" title="'.lang(45).'" class="text jsonly"> =</a>',script("qsl('a').onclick = partial(selectSearch, '".js_escape($z)."');");}echo"</span>";}$Gc[$z]=$X["fun"];next($N);}}$Cd=array();if($_GET["modify"]){foreach($M
as$L){foreach($L
as$z=>$X)$Cd[$z]=max($Cd[$z],min(40,strlen(utf8_decode($X))));}}echo($Ba?"<th>".lang(237):"")."</thead>\n";if(is_ajax()){if($_%2==1&&$F%2==1)odd();ob_end_clean();}foreach($c->rowDescriptions($M,$Bc)as$Zd=>$L){$dh=unique_array($M[$Zd],$x);if(!$dh){$dh=array();foreach($M[$Zd]as$z=>$X){if(!preg_match('~^(COUNT\((\*|(DISTINCT )?`(?:[^`]|``)+`)\)|(AVG|GROUP_CONCAT|MAX|MIN|SUM)\(`(?:[^`]|``)+`\))$~',$z))$dh[$z]=$X;}}$eh="";foreach($dh
as$z=>$X){if(($y=="sql"||$y=="pgsql")&&preg_match('~char|text|enum|set~',$o[$z]["type"])&&strlen($X)>64){$z=(strpos($z,'(')?$z:idf_escape($z));$z="MD5(".($y!='sql'||preg_match("~^utf8~",$o[$z]["collation"])?$z:"CONVERT($z USING ".charset($g).")").")";$X=md5($X);}$eh.="&".($X!==null?urlencode("where[".bracket_escape($z)."]")."=".urlencode($X):"null%5B%5D=".urlencode($z));}echo"<tr".odd().">".(!$s&&$N?"":"<td>".checkbox("check[]",substr($eh,1),in_array(substr($eh,1),(array)$_POST["check"])).($kd||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($b).$eh)."' class='edit'>".lang(238)."</a>"));foreach($L
as$z=>$X){if(isset($ae[$z])){$n=$o[$z];$X=$l->value($X,$n);if($X!=""&&(!isset($Xb[$z])||$Xb[$z]!=""))$Xb[$z]=(is_mail($X)?$ae[$z]:"");$A="";if(preg_match('~blob|bytea|raw|file~',$n["type"])&&$X!="")$A=ME.'download='.urlencode($b).'&field='.urlencode($z).$eh;if(!$A&&$X!==null){foreach((array)$Bc[$z]as$p){if(count($Bc[$z])==1||end($p["source"])==$z){$A="";foreach($p["source"]as$t=>$bg)$A.=where_link($t,$p["target"][$t],$M[$Zd][$bg]);$A=($p["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\1'.urlencode($p["db"]),ME):ME).'select='.urlencode($p["table"]).$A;if($p["ns"])$A=preg_replace('~([?&]ns=)[^&]+~','\1'.urlencode($p["ns"]),$A);if(count($p["source"])==1)break;}}}if($z=="COUNT(*)"){$A=ME."select=".urlencode($b);$t=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$dh))$A.=where_link($t++,$W["col"],$W["val"],$W["op"]);}foreach($dh
as$od=>$W)$A.=where_link($t++,$od,$W);}$X=select_value($X,$A,$n,$Fg);$u=h("val[$eh][".bracket_escape($z)."]");$Y=$_POST["val"][$eh][bracket_escape($z)];$Sb=!is_array($L[$z])&&is_utf8($X)&&$M[$Zd][$z]==$L[$z]&&!$Gc[$z];$Eg=preg_match('~text|lob~',$n["type"]);echo"<td id='$u'";if(($_GET["modify"]&&$Sb)||$Y!==null){$Nc=h($Y!==null?$Y:$L[$z]);echo">".($Eg?"<textarea name='$u' cols='30' rows='".(substr_count($L[$z],"\n")+1)."'>$Nc</textarea>":"<input name='$u' value='$Nc' size='$Cd[$z]'>");}else{$Gd=strpos($X,"<i>…</i>");echo" data-text='".($Gd?2:($Eg?1:0))."'".($Sb?"":" data-warning='".h(lang(239))."'").">$X</td>";}}}if($Ba)echo"<td>";$c->backwardKeysPrint($Ba,$M[$Zd]);echo"</tr>\n";}if(is_ajax())exit;echo"</table>\n","</div>\n";}if(!is_ajax()){if($M||$F){$ic=true;if($_GET["page"]!="last"){if($_==""||(count($M)<$_&&($M||!$F)))$Ec=($F?$F*$_:0)+count($M);elseif($y!="sql"||!$kd){$Ec=($kd?false:found_rows($R,$Z));if($Ec<max(1e4,2*($F+1)*$_))$Ec=reset(slow_query(count_rows($b,$Z,$kd,$s)));else$ic=false;}}$Ke=($_!=""&&($Ec===false||$Ec>$_||$F));if($Ke){echo(($Ec===false?count($M)+1:$Ec-$F*$_)>$_?'<p><a href="'.h(remove_from_uri("page")."&page=".($F+1)).'" class="loadmore">'.lang(240).'</a>'.script("qsl('a').onclick = partial(selectLoadMore, ".(+$_).", '".lang(241)."…');",""):''),"\n";}}echo"<div class='footer'><div>\n";if($M||$F){if($Ke){$Md=($Ec===false?$F+(count($M)>=$_?2:1):floor(($Ec-1)/$_));echo"<fieldset>";if($y!="simpledb"){echo"<legend><a href='".h(remove_from_uri("page"))."'>".lang(242)."</a></legend>",script("qsl('a').onclick = function () { pageClick(this.href, +prompt('".lang(242)."', '".($F+1)."')); return false; };"),pagination(0,$F).($F>5?" …":"");for($t=max(1,$F-4);$t<min($Md,$F+5);$t++)echo
pagination($t,$F);if($Md>0){echo($F+5<$Md?" …":""),($ic&&$Ec!==false?pagination($Md,$F):" <a href='".h(remove_from_uri("page")."&page=last")."' title='~$Md'>".lang(243)."</a>");}}else{echo"<legend>".lang(242)."</legend>",pagination(0,$F).($F>1?" …":""),($F?pagination($F,$F):""),($Md>$F?pagination($F+1,$F).($Md>$F+1?" …":""):"");}echo"</fieldset>\n";}echo"<fieldset>","<legend>".lang(244)."</legend>";$Ib=($ic?"":"~ ").$Ec;echo
checkbox("all",1,0,($Ec!==false?($ic?"":"~ ").lang(143,$Ec):""),"var checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$Ib' : checked); selectCount('selected2', this.checked || !checked ? '$Ib' : checked);")."\n","</fieldset>\n";if($c->selectCommandPrint()){echo'<fieldset',($_GET["modify"]?'':' class="jsonly"'),'><legend>',lang(236),'</legend><div>
<input type="submit" value="',lang(14),'"',($_GET["modify"]?'':' title="'.lang(232).'"'),'>
</div></fieldset>
<fieldset><legend>',lang(120),' <span id="selected"></span></legend><div>
<input type="submit" name="edit" value="',lang(10),'">
<input type="submit" name="clone" value="',lang(228),'">
<input type="submit" name="delete" value="',lang(18),'">',confirm(),'</div></fieldset>
';}$Cc=$c->dumpFormat();foreach((array)$_GET["columns"]as$d){if($d["fun"]){unset($Cc['sql']);break;}}if($Cc){print_fieldset("export",lang(62)." <span id='selected2'></span>");$Ie=$c->dumpOutput();echo($Ie?html_select("output",$Ie,$ma["output"])." ":""),html_select("format",$Cc,$ma["format"])," <input type='submit' name='export' value='".lang(62)."'>\n","</div></fieldset>\n";}$c->selectEmailPrint(array_filter($Xb,'strlen'),$e);}echo"</div></div>\n";if($c->selectImportPrint()){echo"<div>","<a href='#import'>".lang(61)."</a>",script("qsl('a').onclick = partial(toggle, 'import');",""),"<span id='import' class='hidden'>: ","<input type='file' name='csv_file'> ",html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ma["format"],1);echo" <input type='submit' name='import' value='".lang(61)."'>","</span>","</div>";}echo"<input type='hidden' name='token' value='$T'>\n","</form>\n",(!$s&&$N?"":script("tableCheck();"));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$ig=isset($_GET["status"]);page_header($ig?lang(112):lang(111));$sh=($ig?show_status():show_variables());if(!$sh)echo"<p class='message'>".lang(12)."\n";else{echo"<table cellspacing='0'>\n";foreach($sh
as$z=>$X){echo"<tr>","<th><code class='jush-".$y.($ig?"status":"set")."'>".h($z)."</code>","<td>".h($X);}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$rg=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$E=>$R){json_row("Comment-$E",h($R["Comment"]));if(!is_view($R)){foreach(array("Engine","Collation")as$z)json_row("$z-$E",h($R[$z]));foreach($rg+array("Auto_increment"=>0,"Rows"=>0)as$z=>$X){if($R[$z]!=""){$X=format_number($R[$z]);json_row("$z-$E",($z=="Rows"&&$X&&$R["Engine"]==($dg=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($rg[$z]))$rg[$z]+=($R["Engine"]!="InnoDB"||$z!="Data_free"?$R[$z]:0);}elseif(array_key_exists($z,$R))json_row("$z-$E");}}}foreach($rg
as$z=>$X)json_row("sum-$z",format_number($X));json_row("");}elseif($_GET["script"]=="kill")$g->query("KILL ".number($_POST["kill"]));else{foreach(count_tables($c->databases())as$k=>$X){json_row("tables-$k",$X);json_row("size-$k",db_size($k));}json_row("");}exit;}else{$zg=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($zg&&!$m&&!$_POST["search"]){$J=true;$D="";if($y=="sql"&&$_POST["tables"]&&count($_POST["tables"])>1&&($_POST["drop"]||$_POST["truncate"]||$_POST["copy"]))queries("SET foreign_key_checks = 0");if($_POST["truncate"]){if($_POST["tables"])$J=truncate_tables($_POST["tables"]);$D=lang(245);}elseif($_POST["move"]){$J=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$D=lang(246);}elseif($_POST["copy"]){$J=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$D=lang(247);}elseif($_POST["drop"]){if($_POST["views"])$J=drop_views($_POST["views"]);if($J&&$_POST["tables"])$J=drop_tables($_POST["tables"]);$D=lang(248);}elseif($y!="sql"){$J=($y=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$D=lang(249);}elseif(!$_POST["tables"])$D=lang(9);elseif($J=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('idf_escape',$_POST["tables"])))){while($L=$J->fetch_assoc())$D.="<b>".h($L["Table"])."</b>: ".h($L["Msg_text"])."<br>";}queries_redirect(substr(ME,0,-1),$D,$J);}page_header(($_GET["ns"]==""?lang(26).": ".h(DB):lang(189).": ".h($_GET["ns"])),$m,true);if($c->homepage()){if($_GET["ns"]!==""){echo"<h3 id='tables-views'>".lang(250)."</h3>\n";$yg=tables_list();if(!$yg)echo"<p class='message'>".lang(9)."\n";else{echo"<form action='' method='post'>\n";if(support("table")){echo"<fieldset><legend>".lang(251)." <span id='selected2'></span></legend><div>","<input type='search' name='query' value='".h($_POST["query"])."'>",script("qsl('input').onkeydown = partialArg(bodyKeydown, 'search');","")," <input type='submit' name='search' value='".lang(45)."'>\n","</div></fieldset>\n";if($_POST["search"]&&$_POST["query"]!=""){$_GET["where"][0]["op"]="LIKE %%";search_tables();}}echo"<div class='scrollable'>\n","<table cellspacing='0' class='nowrap checkable'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),'<thead><tr class="wrap">','<td><input id="check-all" type="checkbox" class="jsonly">'.script("qs('#check-all').onclick = partial(formCheck, /^(tables|views)\[/);",""),'<th>'.lang(124),'<td>'.lang(252).doc_link(array('sql'=>'storage-engines.html')),'<td>'.lang(116).doc_link(array('sql'=>'charset-charsets.html','mariadb'=>'supported-character-sets-and-collations/')),'<td>'.lang(253).doc_link(array('sql'=>'show-table-status.html',)),'<td>'.lang(254).doc_link(array('sql'=>'show-table-status.html',)),'<td>'.lang(255).doc_link(array('sql'=>'show-table-status.html')),'<td>'.lang(40).doc_link(array('sql'=>'example-auto-increment.html','mariadb'=>'auto_increment/')),'<td>'.lang(256).doc_link(array('sql'=>'show-table-status.html',)),(support("comment")?'<td>'.lang(39).doc_link(array('sql'=>'show-table-status.html',)):''),"</thead>\n";$S=0;foreach($yg
as$E=>$U){$vh=($U!==null&&!preg_match('~table|sequence~i',$U));$u=h("Table-".$E);echo'<tr'.odd().'><td>'.checkbox(($vh?"views[]":"tables[]"),$E,in_array($E,$zg,true),"","","",$u),'<th>'.(support("table")||support("indexes")?"<a href='".h(ME)."table=".urlencode($E)."' title='".lang(31)."' id='$u'>".h($E).'</a>':h($E));if($vh){echo'<td colspan="6"><a href="'.h(ME)."view=".urlencode($E).'" title="'.lang(32).'">'.(preg_match('~materialized~i',$U)?lang(122):lang(123)).'</a>','<td align="right"><a href="'.h(ME)."select=".urlencode($E).'" title="'.lang(30).'">?</a>';}else{foreach(array("Engine"=>array(),"Collation"=>array(),"Data_length"=>array("create",lang(33)),"Index_length"=>array("indexes",lang(126)),"Data_free"=>array("edit",lang(34)),"Auto_increment"=>array("auto_increment=1&create",lang(33)),"Rows"=>array("select",lang(30)),)as$z=>$A){$u=" id='$z-".h($E)."'";echo($A?"<td align='right'>".(support("table")||$z=="Rows"||(support("indexes")&&$z!="Data_length")?"<a href='".h(ME."$A[0]=").urlencode($E)."'$u title='$A[1]'>?</a>":"<span$u>?</span>"):"<td id='$z-".h($E)."'>");}$S++;}echo(support("comment")?"<td id='Comment-".h($E)."'>":"");}echo"<tr><td><th>".lang(229,count($yg)),"<td>".h($y=="sql"?$g->result("SELECT @@default_storage_engine"):""),"<td>".h(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$z)echo"<td align='right' id='sum-$z'>";echo"</table>\n","</div>\n";if(!information_schema(DB)){echo"<div class='footer'><div>\n";$qh="<input type='submit' value='".lang(257)."'> ".on_help("'VACUUM'");$we="<input type='submit' name='optimize' value='".lang(258)."'> ".on_help($y=="sql"?"'OPTIMIZE TABLE'":"'VACUUM OPTIMIZE'");echo"<fieldset><legend>".lang(120)." <span id='selected'></span></legend><div>".($y=="sqlite"?$qh:($y=="pgsql"?$qh.$we:($y=="sql"?"<input type='submit' value='".lang(259)."'> ".on_help("'ANALYZE TABLE'").$we."<input type='submit' name='check' value='".lang(260)."'> ".on_help("'CHECK TABLE'")."<input type='submit' name='repair' value='".lang(261)."'> ".on_help("'REPAIR TABLE'"):"")))."<input type='submit' name='truncate' value='".lang(262)."'> ".on_help($y=="sqlite"?"'DELETE'":"'TRUNCATE".($y=="pgsql"?"'":" TABLE'")).confirm()."<input type='submit' name='drop' value='".lang(121)."'>".on_help("'DROP TABLE'").confirm()."\n";$j=(support("scheme")?$c->schemas():$c->databases());if(count($j)!=1&&$y!="sqlite"){$k=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo"<p>".lang(263).": ",($j?html_select("target",$j,$k):'<input name="target" value="'.h($k).'" autocapitalize="off">')," <input type='submit' name='move' value='".lang(264)."'>",(support("copy")?" <input type='submit' name='copy' value='".lang(265)."'> ".checkbox("overwrite",1,$_POST["overwrite"],lang(266)):""),"\n";}echo"<input type='hidden' name='all' value=''>";echo
script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^(tables|views)\[/));".(support("table")?" selectCount('selected2', formChecked(this, /^tables\[/) || $S);":"")." }"),"<input type='hidden' name='token' value='$T'>\n","</div></fieldset>\n","</div></div>\n";}echo"</form>\n",script("tableCheck();");}echo'<p class="links"><a href="'.h(ME).'create=">'.lang(63)."</a>\n",(support("view")?'<a href="'.h(ME).'view=">'.lang(195)."</a>\n":"");if(support("routine")){echo"<h3 id='routines'>".lang(136)."</h3>\n";$Hf=routines();if($Hf){echo"<table cellspacing='0'>\n",'<thead><tr><th>'.lang(176).'<td>'.lang(38).'<td>'.lang(212)."<td></thead>\n";odd('');foreach($Hf
as$L){$E=($L["SPECIFIC_NAME"]==$L["ROUTINE_NAME"]?"":"&name=".urlencode($L["ROUTINE_NAME"]));echo'<tr'.odd().'>','<th><a href="'.h(ME.($L["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($L["SPECIFIC_NAME"]).$E).'">'.h($L["ROUTINE_NAME"]).'</a>','<td>'.h($L["ROUTINE_TYPE"]),'<td>'.h($L["DTD_IDENTIFIER"]),'<td><a href="'.h(ME.($L["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($L["SPECIFIC_NAME"]).$E).'">'.lang(129)."</a>";}echo"</table>\n";}echo'<p class="links">'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(211).'</a>':'').'<a href="'.h(ME).'function=">'.lang(210)."</a>\n";}if(support("event")){echo"<h3 id='events'>".lang(137)."</h3>\n";$M=get_rows("SHOW EVENTS");if($M){echo"<table cellspacing='0'>\n","<thead><tr><th>".lang(176)."<td>".lang(267)."<td>".lang(201)."<td>".lang(202)."<td></thead>\n";foreach($M
as$L){echo"<tr>","<th>".h($L["Name"]),"<td>".($L["Execute at"]?lang(268)."<td>".$L["Execute at"]:lang(203)." ".$L["Interval value"]." ".$L["Interval field"]."<td>$L[Starts]"),"<td>$L[Ends]",'<td><a href="'.h(ME).'event='.urlencode($L["Name"]).'">'.lang(129).'</a>';}echo"</table>\n";$gc=$g->result("SELECT @@event_scheduler");if($gc&&$gc!="ON")echo"<p class='error'><code class='jush-sqlset'>event_scheduler</code>: ".h($gc)."\n";}echo'<p class="links"><a href="'.h(ME).'event=">'.lang(200)."</a>\n";}if($yg)echo
script("ajaxSetHtml('".js_escape(ME)."script=db');");}}}page_footer();