<?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 5.4.2
*/namespace
Adminer;const
VERSION="5.4.2";error_reporting(24575);set_error_handler(function($oc,$qc){return!!preg_match('~^Undefined (array key|offset|index)~',$qc);},E_WARNING|E_NOTICE);$Kc=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($Kc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$ti=filter_input_array(constant("INPUT$X"),FILTER_UNSAFE_RAW);if($ti)$$X=$ti;}}if(function_exists("mb_internal_encoding"))mb_internal_encoding("8bit");function
connection($g=null){return($g?:Db::$instance);}function
adminer(){return
Adminer::$instance;}function
driver(){return
Driver::$instance;}function
connect(){$vb=adminer()->credentials();$L=Driver::connect($vb[0],$vb[1],$vb[2]);return(is_object($L)?$L:null);}function
idf_unescape($v){if(!preg_match('~^[`\'"[]~',$v))return$v;$je=substr($v,-1);return
str_replace($je.$je,$je,substr($v,1,-1));}function
q($xh){return
connection()->quote($xh);}function
escape_string($X){return
substr(q($X),1,-1);}function
idx($sa,$z,$k=null){return($sa&&array_key_exists($z,$sa)?$sa[$z]:$k);}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(array$Hi,$Kc=false){$L=array();foreach($Hi
as$z=>$X)$L[stripslashes($z)]=(is_array($X)?remove_slashes($X,$Kc):($Kc?$X:stripslashes($X)));return$L;}function
bracket_escape($v,$_a=false){static$gi=array(':'=>':1',']'=>':2','['=>':3','"'=>':4');return
strtr($v,($_a?array_flip($gi):$gi));}function
min_version($Ki,$xe="",$g=null){$g=connection($g);$ch=$g->server_info;if($xe&&preg_match('~([\d.]+)-MariaDB~',$ch,$C)){$ch=$C[1];$Ki=$xe;}return$Ki&&version_compare($ch,$Ki)>=0;}function
charset(Db$f){return(min_version("5.5.3",0,$f)?"utf8mb4":"utf8");}function
ini_bool($Kd){$X=ini_get($Kd);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}function
ini_bytes($Kd){$X=ini_get($Kd);switch(strtolower(substr($X,-1))){case'g':$X=(int)$X*1024;case'm':$X=(int)$X*1024;case'k':$X=(int)$X*1024;}return$X;}function
sid(){static$L;if($L===null)$L=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$L;}function
set_password($Ji,$P,$V,$H){$_SESSION["pwds"][$Ji][$P][$V]=($_COOKIE["adminer_key"]&&is_string($H)?array(encrypt_string($H,$_COOKIE["adminer_key"])):$H);}function
get_password(){$L=get_session("pwds");if(is_array($L))$L=($_COOKIE["adminer_key"]?decrypt_string($L[0],$_COOKIE["adminer_key"]):false);return$L;}function
get_val($J,$m=0,$lb=null){$lb=connection($lb);$K=$lb->query($J);if(!is_object($K))return
false;$M=$K->fetch_row();return($M?$M[$m]:false);}function
get_vals($J,$c=0){$L=array();$K=connection()->query($J);if(is_object($K)){while($M=$K->fetch_row())$L[]=$M[$c];}return$L;}function
get_key_vals($J,$g=null,$fh=true){$g=connection($g);$L=array();$K=$g->query($J);if(is_object($K)){while($M=$K->fetch_row()){if($fh)$L[$M[0]]=$M[1];else$L[]=$M[0];}}return$L;}function
get_rows($J,$g=null,$l="<p class='error'>"){$lb=connection($g);$L=array();$K=$lb->query($J);if(is_object($K)){while($M=$K->fetch_assoc())$L[]=$M;}elseif(!$K&&!$g&&$l&&(defined('Adminer\PAGE_HEADER')||$l=="-- "))echo$l.error()."\n";return$L;}function
unique_array($M,array$x){foreach($x
as$w){if(preg_match("~PRIMARY|UNIQUE~",$w["type"])&&!$w["partial"]){$L=array();foreach($w["columns"]as$z){if(!isset($M[$z]))continue
2;$L[$z]=$M[$z];}return$L;}}}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(array$Z,array$n=array()){$L=array();foreach((array)$Z["where"]as$z=>$X){$z=bracket_escape($z,true);$c=escape_key($z);$m=idx($n,$z,array());$Hc=$m["type"];$L[]=$c.(JUSH=="sql"&&$Hc=="json"?" = CAST(".q($X)." AS JSON)":(JUSH=="pgsql"&&preg_match('~^json~',$Hc)?"::jsonb = ".q($X)."::jsonb":(JUSH=="sql"&&is_numeric($X)&&preg_match('~\.~',$X)?" LIKE ".q($X):(JUSH=="mssql"&&strpos($Hc,"datetime")===false?" LIKE ".q(preg_replace('~[_%[]~','[\0]',$X)):" = ".unconvert_field($m,q($X))))));if(JUSH=="sql"&&preg_match('~char|text~',$Hc)&&preg_match("~[^ -@]~",$X))$L[]="$c = ".q($X)." COLLATE ".charset(connection())."_bin";}foreach((array)$Z["null"]as$z)$L[]=escape_key($z)." IS NULL";return
implode(" AND ",$L);}function
where_check($X,array$n=array()){parse_str($X,$Ra);remove_slashes(array(&$Ra));return
where($Ra,$n);}function
where_link($t,$c,$Y,$sf="="){return"&where%5B$t%5D%5Bcol%5D=".urlencode($c)."&where%5B$t%5D%5Bop%5D=".urlencode(($Y!==null?$sf:"IS NULL"))."&where%5B$t%5D%5Bval%5D=".urlencode($Y);}function
convert_fields(array$d,array$n,array$O=array()){$L="";foreach($d
as$z=>$X){if($O&&!in_array(idf_escape($z),$O))continue;$ta=convert_field($n[$z]);if($ta)$L
.=", $ta AS ".idf_escape($z);}return$L;}function
cookie($E,$Y,$re=2592000){header("Set-Cookie: $E=".rawurlencode($Y).($re?"; expires=".gmdate("D, d M Y H:i:s",time()+$re)." GMT":"")."; path=".preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]).(HTTPS?"; secure":"")."; HttpOnly; SameSite=lax",false);}function
get_settings($rb){parse_str($_COOKIE[$rb],$gh);return$gh;}function
get_setting($z,$rb="adminer_settings",$k=null){return
idx(get_settings($rb),$z,$k);}function
save_settings(array$gh,$rb="adminer_settings"){$Y=http_build_query($gh+get_settings($rb));cookie($rb,$Y);$_COOKIE[$rb]=$Y;}function
restart_session(){if(!ini_bool("session.use_cookies")&&(!function_exists('session_status')||session_status()==1))session_start();}function
stop_session($Pc=false){$Ci=ini_bool("session.use_cookies");if(!$Ci||$Pc){session_write_close();if($Ci&&@ini_set("session.use_cookies",'0')===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($Ji,$P,$V,$j=null){$zi=remove_from_uri(implode("|",array_keys(SqlDriver::$drivers))."|username|ext|".($j!==null?"db|":"").($Ji=='mssql'||$Ji=='pgsql'?"":"ns|").session_name());preg_match('~([^?]*)\??(.*)~',$zi,$C);return"$C[1]?".(sid()?SID."&":"").($Ji!="server"||$P!=""?urlencode($Ji)."=".urlencode($P)."&":"").($_GET["ext"]?"ext=".urlencode($_GET["ext"])."&":"")."username=".urlencode($V).($j!=""?"&db=".urlencode($j):"").($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($J,$B,$D,$yg=true,$vc=true,$Dc=false,$Th=""){if($vc){$th=microtime(true);$Dc=!connection()->query($J);$Th=format_time($th);}$oh=($J?adminer()->messageQuery($J,$Th,$Dc):"");if($Dc){adminer()->error
.=error().$oh.script("messagesPrint();")."<br>";return
false;}if($yg)redirect($B,$D.$oh);return
true;}class
Queries{static$queries=array();static$start=0;}function
queries($J){if(!Queries::$start)Queries::$start=microtime(true);Queries::$queries[]=(driver()->delimiter!=';'?$J:(preg_match('~;$~',$J)?"DELIMITER ;;\n$J;\nDELIMITER ":$J).";");return
connection()->query($J);}function
apply_queries($J,array$T,$rc='Adminer\table'){foreach($T
as$R){if(!queries("$J ".$rc($R)))return
false;}return
true;}function
queries_redirect($B,$D,$yg){$tg=implode("\n",Queries::$queries);$Th=format_time(Queries::$start);return
query_redirect($tg,$B,$D,$yg,false,!$yg,$Th);}function
format_time($th){return
lang(0,max(0,microtime(true)-$th));}function
relative_uri(){return
str_replace(":","%3a",preg_replace('~^[^?]*/([^?]*)~','\1',$_SERVER["REQUEST_URI"]));}function
remove_from_uri($Lf=""){return
substr(preg_replace("~(?<=[?&])($Lf".(SID?"":"|".session_name()).")=[^&]*&~",'',relative_uri()."&"),0,-1);}function
get_file($z,$Gb=false,$Mb=""){$Jc=$_FILES[$z];if(!$Jc)return
null;foreach($Jc
as$z=>$X)$Jc[$z]=(array)$X;$L='';foreach($Jc["error"]as$z=>$l){if($l)return$l;$E=$Jc["name"][$z];$bi=$Jc["tmp_name"][$z];$nb=file_get_contents($Gb&&preg_match('~\.gz$~',$E)?"compress.zlib://$bi":$bi);if($Gb){$th=substr($nb,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$th))$nb=iconv("utf-16","utf-8",$nb);elseif($th=="\xEF\xBB\xBF")$nb=substr($nb,3);}$L
.=$nb;if($Mb)$L
.=(preg_match("($Mb\\s*\$)",$nb)?"":$Mb)."\n\n";}return$L;}function
upload_error($l){$Fe=($l==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($l?lang(1).($Fe?" ".lang(2,$Fe):""):lang(3));}function
repeat_pattern($Yf,$pe){return
str_repeat("$Yf{0,65535}",$pe/65535)."$Yf{0,".($pe%65535)."}";}function
is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\0-\x8\xB\xC\xE-\x1F]~',$X));}function
format_number($X){return
strtr(number_format($X,0,".",lang(4)),preg_split('~~u',lang(5),-1,PREG_SPLIT_NO_EMPTY));}function
friendly_url($X){return
preg_replace('~\W~i','-',$X);}function
table_status1($R,$Ec=false){$L=table_status($R,$Ec);return($L?reset($L):array("Name"=>$R));}function
column_foreign_keys($R){$L=array();foreach(adminer()->foreignKeys($R)as$p){foreach($p["source"]as$X)$L[$X][]=$p;}return$L;}function
fields_from_edit(){$L=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,true);$L[$E]=array("field"=>$E,"privileges"=>array("insert"=>1,"update"=>1,"where"=>1,"order"=>1),"null"=>1,"auto_increment"=>($z==driver()->primary),);}return$L;}function
dump_headers($wd,$Ue=false){$L=adminer()->dumpHeaders($wd,$Ue);$If=$_POST["output"];if($If!="text")header("Content-Disposition: attachment; filename=".adminer()->dumpFilename($wd).".$L".($If!="file"&&preg_match('~^[0-9a-z]+$~',$If)?".$If":""));session_write_close();if(!ob_get_level())ob_start(null,4096);ob_flush();flush();return$L;}function
dump_csv(array$M){$mi=$_POST["format"]=="tsv";foreach($M
as$z=>$X){if(preg_match('~["\n]|^0[^.]|\.\d*0$|'.($mi?'\t':'[,;]|^$').'~',$X))$M[$z]='"'.str_replace('"','""',$X).'"';}echo
implode(($_POST["format"]=="csv"?",":($mi?"\t":";")),$M)."\r\n";}function
apply_sql_function($r,$c){return($r?($r=="unixepoch"?"DATETIME($c, '$r')":($r=="count distinct"?"COUNT(DISTINCT ":strtoupper("$r("))."$c)"):$c);}function
get_temp_dir(){$L=ini_get("upload_tmp_dir");if(!$L){if(function_exists('sys_get_temp_dir'))$L=sys_get_temp_dir();else{$o=@tempnam("","");if(!$o)return'';$L=dirname($o);unlink($o);}}return$L;}function
file_open_lock($o){if(is_link($o))return;$q=@fopen($o,"c+");if(!$q)return;@chmod($o,0660);if(!flock($q,LOCK_EX)){fclose($q);return;}return$q;}function
file_write_unlock($q,$Ab){rewind($q);fwrite($q,$Ab);ftruncate($q,strlen($Ab));file_unlock($q);}function
file_unlock($q){flock($q,LOCK_UN);fclose($q);}function
first(array$sa){return
reset($sa);}function
password_file($h){$o=get_temp_dir()."/adminer.key";if(!$h&&!file_exists($o))return'';$q=file_open_lock($o);if(!$q)return'';$L=stream_get_contents($q);if(!$L){$L=rand_string();file_write_unlock($q,$L);}else
file_unlock($q);return$L;}function
rand_string(){return
md5(uniqid(strval(mt_rand()),true));}function
select_value($X,$A,array$m,$Sh){if(is_array($X)){$L="";if(array_filter($X,'is_array')==array_values($X)){$ce=array();foreach($X
as$W)$ce+=array_fill_keys(array_keys($W),null);foreach(array_keys($ce)as$be)$L
.="<th>".h($be);foreach($X
as$W){$L
.="<tr>";foreach(array_merge($ce,$W)as$Fi)$L
.="<td>".select_value($Fi,$A,$m,$Sh);}}else{foreach($X
as$be=>$W)$L
.="<tr>".($X!=array_values($X)?"<th>".h($be):"")."<td>".select_value($W,$A,$m,$Sh);}return"<table>$L</table>";}if(!$A)$A=adminer()->selectLink($X,$m);if($A===null){if(is_mail($X))$A="mailto:$X";if(is_url($X))$A=$X;}$L=adminer()->editVal(driver()->value($X,$m),$m);if($L!==null){if(!is_utf8($L))$L="\0";elseif($Sh!=""&&is_shortable($m))$L=shorten_utf8($L,max(0,+$Sh));else$L=h($L);}return
adminer()->selectVal($L,$A,$m,$X);}function
is_blob(array$m){return
preg_match('~blob|bytea|raw|file~',$m["type"])&&!in_array($m["type"],idx(driver()->structuredTypes(),lang(6),array()));}function
is_mail($fc){$ua='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$Ub='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$Yf="$ua+(\\.$ua+)*@($Ub?\\.)+$Ub";return
is_string($fc)&&preg_match("(^$Yf(,\\s*$Yf)*\$)i",$fc);}function
is_url($xh){$Ub='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return
preg_match("~^((https?):)?//($Ub?\\.)+$Ub(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$xh);}function
is_shortable(array$m){return!preg_match('~'.number_type().'|date|time|year~',$m["type"]);}function
host_port($P){return(preg_match('~^(\[(.+)]|([^:]+)):([^:]+)$~',$P,$C)?array($C[2].$C[3],$C[4]):array($P,''));}function
count_rows($R,array$Z,$Ud,array$s){$J=" FROM ".table($R).($Z?" WHERE ".implode(" AND ",$Z):"");return($Ud&&(JUSH=="sql"||count($s)==1)?"SELECT COUNT(DISTINCT ".implode(", ",$s).")$J":"SELECT COUNT(*)".($Ud?" FROM (SELECT 1$J GROUP BY ".implode(", ",$s).") x":$J));}function
slow_query($J){$j=adminer()->database();$Uh=adminer()->queryTimeout();$kh=driver()->slowQuery($J,$Uh);$g=null;if(!$kh&&support("kill")){$g=connect();if($g&&($j==""||$g->select_db($j))){$de=get_val(connection_id(),0,$g);echo
script("const timeout = setTimeout(() => { ajax('".js_escape(ME)."script=kill', function () {}, 'kill=$de&token=".get_token()."'); }, 1000 * $Uh);");}}ob_flush();flush();$L=@get_key_vals(($kh?:$J),$g,false);if($g){echo
script("clearTimeout(timeout);");ob_flush();flush();}return$L;}function
get_token(){$wg=rand(1,1e6);return($wg^$_SESSION["token"]).":$wg";}function
verify_token(){list($ci,$wg)=explode(":",$_POST["token"]);return($wg^$_SESSION["token"])==$ci;}function
lzw_decompress($Fa){$Rb=256;$Ga=8;$Za=array();$Hg=0;$Ig=0;for($t=0;$t<strlen($Fa);$t++){$Hg=($Hg<<8)+ord($Fa[$t]);$Ig+=8;if($Ig>=$Ga){$Ig-=$Ga;$Za[]=$Hg>>$Ig;$Hg&=(1<<$Ig)-1;$Rb++;if($Rb>>$Ga)$Ga++;}}$Qb=range("\0","\xFF");$L="";$Ti="";foreach($Za
as$t=>$Ya){$ec=$Qb[$Ya];if(!isset($ec))$ec=$Ti.$Ti[0];$L
.=$ec;if($t)$Qb[]=$Ti.$ec[0];$Ti=$ec;}return$L;}function
script($mh,$fi="\n"){return"<script".nonce().">$mh</script>$fi";}function
script_src($_i,$Jb=false){return"<script src='".h($_i)."'".nonce().($Jb?" defer":"")."></script>\n";}function
nonce(){return' nonce="'.get_nonce().'"';}function
input_hidden($E,$Y=""){return"<input type='hidden' name='".h($E)."' value='".h($Y)."'>\n";}function
input_token(){return
input_hidden("token",get_token());}function
target_blank(){return' target="_blank" rel="noreferrer noopener"';}function
h($xh){return
str_replace("\0","&#0;",htmlspecialchars($xh,ENT_QUOTES,'utf-8'));}function
nl_br($xh){return
str_replace("\n","<br>",$xh);}function
checkbox($E,$Y,$Ta,$fe="",$rf="",$Xa="",$he=""){$L="<input type='checkbox' name='$E' value='".h($Y)."'".($Ta?" checked":"").($he?" aria-labelledby='$he'":"").">".($rf?script("qsl('input').onclick = function () { $rf };",""):"");return($fe!=""||$Xa?"<label".($Xa?" class='$Xa'":"").">$L".h($fe)."</label>":$L);}function
optionlist($vf,$Xg=null,$Di=false){$L="";foreach($vf
as$be=>$W){$wf=array($be=>$W);if(is_array($W)){$L
.='<optgroup label="'.h($be).'">';$wf=$W;}foreach($wf
as$z=>$X)$L
.='<option'.($Di||is_string($z)?' value="'.h($z).'"':'').($Xg!==null&&($Di||is_string($z)?(string)$z:$X)===$Xg?' selected':'').'>'.h($X);if(is_array($W))$L
.='</optgroup>';}return$L;}function
html_select($E,array$vf,$Y="",$qf="",$he=""){static$fe=0;$ge="";if(!$he&&substr($vf[""],0,1)=="("){$fe++;$he="label-$fe";$ge="<option value='' id='$he'>".h($vf[""]);unset($vf[""]);}return"<select name='".h($E)."'".($he?" aria-labelledby='$he'":"").">".$ge.optionlist($vf,$Y)."</select>".($qf?script("qsl('select').onchange = function () { $qf };",""):"");}function
html_radios($E,array$vf,$Y="",$bh=""){$L="";foreach($vf
as$z=>$X)$L
.="<label><input type='radio' name='".h($E)."' value='".h($z)."'".($z==$Y?" checked":"").">".h($X)."</label>$bh";return$L;}function
confirm($D="",$Yg="qsl('input')"){return
script("$Yg.onclick = () => confirm('".($D?js_escape($D):lang(7))."');","");}function
print_fieldset($u,$oe,$Ni=false){echo"<fieldset><legend>","<a href='#fieldset-$u'>$oe</a>",script("qsl('a').onclick = partial(toggle, 'fieldset-$u');",""),"</legend>","<div id='fieldset-$u'".($Ni?"":" class='hidden'").">\n";}function
bold($Ia,$Xa=""){return($Ia?" class='active $Xa'":($Xa?" class='$Xa'":""));}function
js_escape($xh){return
addcslashes($xh,"\r\n'\\/");}function
pagination($G,$yb){return" ".($G==$yb?$G+1:'<a href="'.h(remove_from_uri("page").($G?"&page=$G".($_GET["next"]?"&next=".urlencode($_GET["next"]):""):"")).'">'.($G+1)."</a>");}function
hidden_fields(array$rg,array$zd=array(),$kg=''){$L=false;foreach($rg
as$z=>$X){if(!in_array($z,$zd)){if(is_array($X))hidden_fields($X,array(),$z);else{$L=true;echo
input_hidden(($kg?$kg."[$z]":$z),$X);}}}return$L;}function
hidden_fields_get(){echo(sid()?input_hidden(session_name(),session_id()):''),(SERVER!==null?input_hidden(DRIVER,SERVER):""),input_hidden("username",$_GET["username"]);}function
file_input($Md){$Ae="max_file_uploads";$Be=ini_get($Ae);$xi="upload_max_filesize";$yi=ini_get($xi);return(ini_bool("file_uploads")?$Md.script("qsl('input[type=\"file\"]').onchange = partialArg(fileChange, "."$Be, '".lang(8,"$Ae = $Be")."', ".ini_bytes("upload_max_filesize").", '".lang(8,"$xi = $yi")."')"):lang(9));}function
enum_input($U,$va,array$m,$Y,$ic=""){preg_match_all("~'((?:[^']|'')*)'~",$m["length"],$ze);$kg=($m["type"]=="enum"?"val-":"");$Ta=(is_array($Y)?in_array("null",$Y):$Y===null);$L=($m["null"]&&$kg?"<label><input type='$U'$va value='null'".($Ta?" checked":"")."><i>$ic</i></label>":"");foreach($ze[1]as$X){$X=stripcslashes(str_replace("''","'",$X));$Ta=(is_array($Y)?in_array($kg.$X,$Y):$Y===$X);$L
.=" <label><input type='$U'$va value='".h($kg.$X)."'".($Ta?' checked':'').'>'.h(adminer()->editVal($X,$m)).'</label>';}return$L;}function
input(array$m,$Y,$r,$za=false){$E=h(bracket_escape($m["field"]));echo"<td class='function'>";if(is_array($Y)&&!$r)$r="json";$Zd=($r=="json"||preg_match('~^jsonb?$~',$m["type"]));if($Zd&&$Y!=''&&(JUSH!="pgsql"||$m["type"]!="json"))$Y=json_encode(is_array($Y)?$Y:json_decode($Y),128|64|256);$Gg=(JUSH=="mssql"&&$m["auto_increment"]);if($Gg&&!$_POST["save"])$r=null;$Yc=(isset($_GET["select"])||$Gg?array("orig"=>lang(10)):array())+adminer()->editFunctions($m);$nc=driver()->enumLength($m);if($nc){$m["type"]="enum";$m["length"]=$nc;}$va=" name='fields[$E]".($m["type"]=="enum"||$m["type"]=="set"?"[]":"")."'".($za?" autofocus":"");echo
driver()->unconvertFunction($m)." ";$R=$_GET["edit"]?:$_GET["select"];if($m["type"]=="enum")echo
h($Yc[""])."<td>".adminer()->editInput($R,$m,$va,$Y);else{$kd=(in_array($r,$Yc)||isset($Yc[$r]));echo(count($Yc)>1?"<select name='function[$E]'>".optionlist($Yc,$r===null||$kd?$r:"")."</select>".on_help("event.target.value.replace(/^SQL\$/, '')",1).script("qsl('select').onchange = functionChange;",""):h(reset($Yc))).'<td>';$Md=adminer()->editInput($R,$m,$va,$Y);if($Md!="")echo$Md;elseif(preg_match('~bool~',$m["type"]))echo"<input type='hidden'$va value='0'>"."<input type='checkbox'".(preg_match('~^(1|t|true|y|yes|on)$~i',$Y)?" checked='checked'":"")."$va value='1'>";elseif($m["type"]=="set")echo
enum_input("checkbox",$va,$m,(is_string($Y)?explode(",",$Y):$Y));elseif(is_blob($m)&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$E'>";elseif($Zd)echo"<textarea$va cols='50' rows='12' class='jush-js'>".h($Y).'</textarea>';elseif(($Rh=preg_match('~text|lob|memo~i',$m["type"]))||preg_match("~\n~",$Y)){if($Rh&&JUSH!="sqlite")$va
.=" cols='50' rows='12'";else{$N=min(12,substr_count($Y,"\n")+1);$va
.=" cols='30' rows='$N'";}echo"<textarea$va>".h($Y).'</textarea>';}else{$oi=driver()->types();$He=(!preg_match('~int~',$m["type"])&&preg_match('~^(\d+)(,(\d+))?$~',$m["length"],$C)?((preg_match("~binary~",$m["type"])?2:1)*$C[1]+($C[3]?1:0)+($C[2]&&!$m["unsigned"]?1:0)):($oi[$m["type"]]?$oi[$m["type"]]+($m["unsigned"]?0:1):0));if(JUSH=='sql'&&min_version(5.6)&&preg_match('~time~',$m["type"]))$He+=7;echo"<input".((!$kd||$r==="")&&preg_match('~(?<!o)int(?!er)~',$m["type"])&&!preg_match('~\[\]~',$m["full_type"])?" type='number'":"")." value='".h($Y)."'".($He?" data-maxlength='$He'":"").(preg_match('~char|binary~',$m["type"])&&$He>20?" size='".($He>99?60:40)."'":"")."$va>";}echo
adminer()->editHint($R,$m,$Y);$Lc=0;foreach($Yc
as$z=>$X){if($z===""||!$X)break;$Lc++;}if($Lc&&count($Yc)>1)echo
script("qsl('td').oninput = partial(skipOriginal, $Lc);");}}function
process_input(array$m){$v=bracket_escape($m["field"]);$r=idx($_POST["function"],$v);$Y=idx($_POST["fields"],$v);if($Y===null)return
false;if($m["type"]=="enum"||driver()->enumLength($m)){$Y=idx($Y,0);if($Y=="orig"||!$Y)return
false;if($Y=="null")return"NULL";$Y=substr($Y,4);}if($m["auto_increment"]&&$Y=="")return
null;if($r=="orig")return(preg_match('~^CURRENT_TIMESTAMP~i',$m["on_update"])?idf_escape($m["field"]):false);if($r=="NULL")return"NULL";if($m["type"]=="set")$Y=implode(",",(array)$Y);if($r=="json"){$r="";$Y=json_decode($Y,true);if(!is_array($Y))return
false;return$Y;}if(is_blob($m)&&ini_bool("file_uploads")){$Jc=get_file("fields-$v");if(!is_string($Jc))return
false;return
driver()->quoteBinary($Jc);}return
adminer()->processInput($m,$Y,$r);}function
search_tables(){$_GET["where"][0]["val"]=$_POST["query"];$ah="<ul>\n";foreach(table_status('',true)as$R=>$S){$E=adminer()->tableName($S);if(isset($S["Engine"])&&$E!=""&&(!$_POST["tables"]||in_array($R,$_POST["tables"]))){$K=connection()->query("SELECT".limit("1 FROM ".table($R)," WHERE ".implode(" AND ",adminer()->selectSearchProcess(fields($R),array())),1));if(!$K||$K->fetch_row()){$ng="<a href='".h(ME."select=".urlencode($R)."&where[0][op]=".urlencode($_GET["where"][0]["op"])."&where[0][val]=".urlencode($_GET["where"][0]["val"]))."'>$E</a>";echo"$ah<li>".($K?$ng:"<p class='error'>$ng: ".error())."\n";$ah="";}}}echo($ah?"<p class='message'>".lang(11):"</ul>")."\n";}function
on_help($eb,$ih=0){return
script("mixin(qsl('select, input'), {onmouseover: function (event) { helpMouseover.call(this, event, $eb, $ih) }, onmouseout: helpMouseout});","");}function
edit_form($R,array$n,$M,$wi,$l=''){$Fh=adminer()->tableName(table_status1($R,true));page_header(($wi?lang(12):lang(13)),$l,array("select"=>array($R,$Fh)),$Fh);adminer()->editRowPrint($R,$n,$M,$wi);if($M===false){echo"<p class='error'>".lang(14)."\n";return;}echo"<form action='' method='post' enctype='multipart/form-data' id='form'>\n";$cc=false;if(!$n)echo"<p class='error'>".lang(15)."\n";else{echo"<table class='layout'>".script("qsl('table').onkeydown = editingKeydown;");$za=!$_POST;foreach($n
as$E=>$m){echo"<tr><th>".adminer()->fieldName($m);$k=idx($_GET["set"],bracket_escape($E));if($k===null){$k=$m["default"];if($m["type"]=="bit"&&preg_match("~^b'([01]*)'\$~",$k,$Eg))$k=$Eg[1];if(JUSH=="sql"&&preg_match('~binary~',$m["type"]))$k=bin2hex($k);}$Y=($M!==null?($M[$E]!=""&&JUSH=="sql"&&preg_match("~enum|set~",$m["type"])&&is_array($M[$E])?implode(",",$M[$E]):(is_bool($M[$E])?+$M[$E]:$M[$E])):(!$wi&&$m["auto_increment"]?"":(isset($_GET["select"])?false:$k)));if(!$_POST["save"]&&is_string($Y))$Y=adminer()->editVal($Y,$m);if(($wi&&!isset($m["privileges"]["update"]))||$m["generated"])echo"<td class='function'><td>".select_value($Y,'',$m,null);else{$cc=true;$r=($_POST["save"]?idx($_POST["function"],$E,""):($wi&&preg_match('~^CURRENT_TIMESTAMP~i',$m["on_update"])?"now":($Y===false?null:($Y!==null?'':'NULL'))));if(!$_POST&&!$wi&&$Y==$m["default"]&&preg_match('~^[\w.]+\(~',$Y))$r="SQL";if(preg_match("~time~",$m["type"])&&preg_match('~^CURRENT_TIMESTAMP~i',$Y)){$Y="";$r="now";}if($m["type"]=="uuid"&&$Y=="uuid()"){$Y="";$r="uuid";}if($za!==false)$za=($m["auto_increment"]||$r=="now"||$r=="uuid"?null:true);input($m,$Y,$r,$za);if($za)$za=false;}echo"\n";}if(!support("table")&&!fields($R))echo"<tr>"."<th><input name='field_keys[]'>".script("qsl('input').oninput = fieldChange;")."<td class='function'>".html_select("field_funs[]",adminer()->editFunctions(array("null"=>isset($_GET["select"]))))."<td><input name='field_vals[]'>"."\n";echo"</table>\n";}echo"<p>\n";if($cc){echo"<input type='submit' value='".lang(16)."'>\n";if(!isset($_GET["select"]))echo"<input type='submit' name='insert' value='".($wi?lang(17):lang(18))."' title='Ctrl+Shift+Enter'>\n",($wi?script("qsl('input').onclick = function () { return !ajaxForm(this.form, '".lang(19)."…', this); };"):"");}echo($wi?"<input type='submit' name='delete' value='".lang(20)."'>".confirm()."\n":"");if(isset($_GET["select"]))hidden_fields(array("check"=>(array)$_POST["check"],"clone"=>$_POST["clone"],"all"=>$_POST["all"]));echo
input_hidden("referer",(isset($_POST["referer"])?$_POST["referer"]:$_SERVER["HTTP_REFERER"])),input_hidden("save",1),input_token(),"</form>\n";}function
shorten_utf8($xh,$pe=80,$Ah=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{10FFFF}]",$pe).")($)?)u",$xh,$C))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$pe).")($)?)",$xh,$C);return
h($C[1]).$Ah.(isset($C[2])?"":"<i>…</i>");}function
icon($vd,$E,$ud,$Wh){return"<button type='submit' name='$E' title='".h($Wh)."' class='icon icon-$vd'><span>$ud</span></button>";}if(isset($_GET["file"])){if(substr(VERSION,-4)!='-dev'){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");}@ini_set("zlib.output_compression",'1');if($_GET["file"]=="default.css"){header("Content-Type: text/css; charset=utf-8");echo
lzw_decompress("h:Mhgб\"PimcQCa	2ód<fa:;NBqR;1Lf9u7&)l;3J/CQXr2Mai0)e:LuÝh-923li7mZw4њ<-̴!U,Févt2S,a҇FVXaNq)-ǜh:n59Y;j-_9krٓ;.tTqo0{y\rHnGSZh;i^uxWΒC@k=b/A0+(l\\x:\rb8\00!\0F\nB͎(3\r\\Ȅa'I|(i\n\r4Og@4C@@!QB	°c¯q,\r1Eh&2PZiGH9G\"v4rDR\npJ-A|/.cDu:,=R]U5mVkLLQ@-\\@9%SrMPDIa\r(YY\\@Xp:plLC O,\r2]7?m06pTaҥC;_˗yȴd>bnnܣ3X8\r[ˀ-)i>V[Yy&L3#X|	X\\ù`C#H22.#Z`<sÒ\0uh־M_\niZeO/CӒ_`31>=k3R/;/d\0ڵm7/AXq.sL :\$Fw8߾~Hj\"Գ7gSFLίQ_O'W]c=51X~7;i\r*\nJS1ZctAV86fdy;Y]zIpc3Y]}@\$.+1'>ZcpdGL#k8PzYAuv]s9_Aq:\nKhB;XbAHq,CI`jS[ˌ1Vr;pB)#鐉;4H/*<3L;lf\ns\$K`}Ք7jx`d%j]4YHbYJ`GG.KfI)2MfָXRC̱V,~g\0g6:[j1H:AlIqu3\"q|8<9s'Q]J|\0`pjfObq\$1J>RH(ǔq\n#r@e(yVJ0Q҈6P[C:G伞4^PZ\\(\n)~9R%Sj{70_s	z|8H	\"@#9DVL\$H5WJ@zaJ ^	)2\nQv]ՇQp.˵&h2dM1#[[kf,ոΆWq'fLkgn6G;eהECVY{\0D5Rx\"h\"ݟ7W,ňuc31Cxp<If]ѱ^{/H&sρi9\$֒b0َIK\0]IDG}EDVNýmQ31KT3zq|#!\"	҃k/phy-.! 0dmK~au0>\$:\$VMf٨k6:3L@d1zlg֩iX97<׭#a}s\0\\mZXQ'n.9KC9?lXq깗\$M2FqЎKB:bo#KXnMzȤ\r=fm%fi.q;-7x(@#9F)/M-6.V^*g\n!\$(7GxwDWba{1-ԐGw\r9њ (:'%?0Ά)tjHV8}f\$f^wlKl=1ZZEigֺ1Xثbe&,2rk>޲O{-A]mMDȁ>G;ЗgQo:0.7lLשl|:nD탉-K*NY3x.dt>Ў)\$\$9BeeRGwir[62Ǳ9Xk0̱5^PO>C `XOk7\0Klx;48L\$09*9 hNF>\0rPQo<	\\Fd'L:b.4,29@Hnb- #2`Z%.L\rPP\"^.Fh\0\r\0\n`	  no\0\r\r1`0	 	1\n G\0` V\0\n\r\0\nz\n@\0\r\n	 \n@@\r\0'  @ z1\"*P#ApH\r\r%+Q7>\rCqK\r@@ ~\r \0\rd@3QёQ\n píh>\r01qqq#q81<\rQIQ  l@':	\0 	#iE\n\"f.Q\$RQU\r ]crim2sw}1(2\0)1z Q\\\r\r@\nh\n @\0`	@'q)@Z.RGq%p_2e	Q&	ox1'11%f`\0f\0j\nf`	 \n`@\$n=`\0Ҍ nI=\0@d'8./2Y8@q.	42E(\r:\n6	H*@	`\n  	l\rɠ\rHlh\0(d4\0]IL^\\K\0\\}JC\n}EKIB>͈IJtdfht/FbxYEM4oj\"mN@tخ~dJ2U4I`\\AuQU.uh\\MQ؉\"G!TnMtPX#]Q-KTh\$cCDƊ-IbO`Pv^W@tdSS0Sܙ<)gMhF<\rj*\$4'\rH[ɪW-Fh:,\\/ɾJ^ODٍj'\rT-&[DĪN[E B\"`euj_\r`hF\rJV%!MZlP^:o>֯XxC):mei/\n8I2\rp2)oC[mViugh6Zf|DUw\\WC45U\rW6mzؖhcKog6Nd6P`Veo<%t?uf!YU,+e.W%\\\0v8쭖XnUBcfv@iN=u;NlKqwqKQ!v[\\7TO0{yj.`ȡiz%bH\"\"\"h_\$b|j\0f\"tĮ*}\$ZW\"@r(\r` CȂ(0&.`Nk9B\n&#(j@䂯fX^֮ @`I-}C0\nB}B5]|W{ʩb|}\"˅)}gň,=cڪ{&bP/C \0V\r׊틈=BN\\=Kr\$xՌWь8dH'ζ8}==\0\0]\n(7zy+卨\r`DYgŉ~|k3ڠE9CCёe@w,@5|fx࿖JlY%xE=Aj@OG ٚeė֖L\n%/y`ߜ?oyae`tG HJ5׃MY(6_ehtDz&x9jZ*/K:,j5U>ǡߓ\"eqףY<ZuZ{!ezV %,|mxSw㦺=# @:X	+ڻC:5Zt \0rZ!={ 2ñìyǤXfð%csx+8A{/ U9y#1y,.5uke_y\r~{[Z:\0\\83mA9'8:i|Y/+9R ˺ÁX7σ:\r	+^;MAΫ0Y*2<7Y\$ES[Zţ5vp\\iFr1:\">`ɝWϔ<uħx<\\֥fƙۙ`ej?ec(<㣂fCZSDv\r#٦U ");}elseif($_GET["file"]=="dark.css"){header("Content-Type: text/css; charset=utf-8");echo
lzw_decompress("h:Mhgh0LЁd91S!	F!\"-6NbdGg:;Nr)c7\r(Hb81s9k\rc)m8OVAc1c34Of*-P1r416d2ցo#3Bf#	g9Φ،fc\rIb6EC&,bum7aVs#m!hrv\\3\rL:SAdk5naF3e6fSyr!L-K,3L@J˲*J쵣	bc99@H8\\6>`Ŏ;A<T'p&qqE4\rlh<5#pR #I%fBIܲ>ʫ29<Cj27j8jc(n?(a\0@5*3:δ60-AlLP4@ɰ\$H4n311t0͙9WO!rH9Q96F<7\r-xC\n @:\$iضm4Kid{\n6\rxhˋ#^'4V@a<#h0S-c9+pa2cyhBO\$9wiXɔVY9*rHtm	@b|@/l\$z+%p2l.7;&{mXC<l96x9m7R0\\4P)AoxqO#f[;6~P\raTGT0uޟ\n3\\ \\ʎJudCGPZ>d8ҨC?VdLL.(ti>,֜R+9iޞC\$#\"AChVb\n6T2ew\nf6m	!1'c;*eLRn\rG\$2S\$0a'l6&~Ad\$J\$s ȃB4j.RC̔Qj\"7\nXs!6=BȀ}");}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("':̢i11	4Q6a&:OAIe:NFD|!Cym2\"r<̱/C#:DbqSeJ˦Cܺ\n\nǱS\rZH\$RAܞS+XKvtdg:6EvXŞjmҩej2MB&ʮLC3Q0L-x\nDyNaPn:s͐(cL/(5{Qy4g-i4ڃf(bUko7&ä*ACb`.\r\nCh<\r)`إ`7CʒZX<Q1X@0dp9EQfF\r!(h)\np'#ČH(i*r&<#7K~# A:N6l,\rJP3!@2>CrhN](a0M326UE2'!<#3R<XCH7#n+a\$!2P0.wdr:YE!]<j@\\pl_\rZғTͩZs3\"~9j>WeQ:X/\"\$8X硉@4H:tL܌j~#8_Ax\$x{LEJ4'00<8>c(zX^5Dt;#K_v꩕u1\n`jn'\"Ir7U*!Ynjk@Ì+5)̄3CZB2HV`qæk]<{\r9|gr\\襜:B2781͍d=HLU}^NߔC*/|􊾓V`)8z:Rb8WA:\$2\r/BE~8iYtzX6ǰICQ7 3)6\00N\r갦 \r0ѯ 9~'%Dw'cdi'ta&r11?\\CmSɞ\$ж o&R,!.AHG\"tPv-&	30.	裃!iĕkJ7	:sO\0^'7^(`B(0nL9(\0\n[Uec)Fʛq2R5\r܀e}ܱh.iZ:AYED2@s1d<)H`تI1I\rZGRϔ/\$Oc\"*p'7`]@\\4BXzgABTQ3wc-sr_:բS@2 #Ė\nuP!Te6TaM)\0v(sVAZS<av(A%#&: `C)\r]MIC'/	PHXb\r\nYMzJFJP?JdBllDCS+-r1<w]v!)IKP4EslkV-kj,c,fRdC!&n0RJ2[3x3TB-Glls`hsV)W4SvC:nd-x` ®\$AP-kr^sASV?3E2X,KtSAq7\n^+%skG<aw	DdYڇQgbn\0A{濡9ùl.Hg(0TJ\$h-Bzm\nWY`!lc\0ϪÄՆMLxyk*Z3EU L-~?ii4[ iDZP)hZ\n5\"1tŦd/BrJcN[FժxK߭nDQS?Q\rL'!\nͅII%2萵Q;ǘ8mX-zIFF]t.H	r/[!#\r{̫pH\n4&3r*L臜{Ae\0L(*{kؘDJ_C:U2\0I0,\n;|xef0`1N`6>C){)3(t8dèO_DT^`H:c\0f<Y`f\\&x \nd+5U݇Oz{n-iFYb7vo%)Xh '7UIVwSR}dK_4 Wjnτ\0l\r\0.p@\0@Ȅ[PZIXكcbqtg2 \\i9< Z@i,`^N'uGBr'&\$F(/җ*uɄYiO	`ʑn:paPhnrM	\0кML,\$Nw)\0*l7GrlrQ	Os\"46 bXbӄoXbbeg\r `BВRhJ\"g\rTcj>I-zGolvu\rz\r	D9BK\r^\rY@,BЖL`^#\rwHpDJMXQ&lg&I\01 	P5&n0?gTs٠O!)`v X ͐QЂ\r y!'v.\r	fK! {#*/ඡ\0H\0r(Ȉ`SpcmI)8.s#G\"`Ƈx'ŔE)Qo)&\\VRZ@2bʒf'dZ&,U\r\"*4! \rD'G\\VHi1Rpc\$L2\nbToB8Fk\\\rB\r\0-l\n1354\04SHM4Qr2O%6p5/O5:pL5)Pľ%E361\r4I:S\"LeGs\\Q627=C	,	&D)<;\\~2ˮr076.'?52K6sa6R23SVLM@Fr9pț3j@NSӂk:@)B\0N`!e\n'PX\\YqLV&r+c.]锏h2]4 z`q8c6q4 ӓPg>#.)7Ne\$nB`\" 4L~΂\nu.OBN@R&N(uN@:h\n]6*hPXΠ@,P3S6U:鮟H5L-6T6SC0FsRRB~r:TnA/OP2-H:1e]P-'''8;8WUbYe!\r ^)Ȗp]	j.`</\"Uw3ʸb brA`fF_u^McTB	_Se65`\ra)ec]cAa_oa2>B\$@Q<OHJtx\"gZ\$nW@	D#S\0002#VΕB;N1NKPnv1wEl*YnB4IqZ`z\0\rR'\"픚iO	ps|)=fs1s72i-Gf `P%H\nhI\re\0X'\"\$z͉Yex@|~k yse`\$ZRz \\Wx[v`{\"Rwn'to#r*\0D3~^@xB~Ħ@}BUCx| YPXN`	\n\0Rmz+X:qy*X(No^8[fG\$LZ[vr#Xυe׍\$':\0[\nr\0Z}	b\$S|BcrQH)xРNDeMb ewzXswxAd苂LYC`{}q}Ό  4j4bFO7MN.'WS/uL	|\")IՁU%VUՌ^q'K4=c\"PvV7HI!\n`	㛓firH	tXn\$wFHĂP@rBa@W9`~bu>wbw3M~zw\$J<@\r&IX<_,[,eDuWL%\06\r?bLeKe*l;cXkY\0BL@\n@o\0h%lx=RB's2tpDϧ\"Z=\rBcQ2vBr4lv ^g(% \$\rvС\nP\\~U.R%ٯvГzx_e{3!e,{ewco|0EW!8wѶuitNef:\r(DV@\n{}cAâ׃|*!X¶\r\$LL/ELlU-/WƬc\$l\nUTPNŵt羣SY<,44.s	kv۠R+bdFN!rgs\$?BB2?P\$dtU`U\rāT\"搖EJ@oUx:<3SSIxGzD(7~M|Q~b5+Irzv@wf6#E\"-	(җhS*7\$QlvB%+]2Ohˢrod\rw'!C`biH8ώ(\0 @DdB>,4qHү츠Hbd\0`]e\"b w6;I?uMNj\rbS_!޷wdK\\O}{=ttZ\0DxaN 3Re#w^NPzU=!zLy͸@˸c]l٬[p՞XMspq5*W4Xs^\"@r~|>B5g2	N\$gFu\rzTjB2Anyc^vҸv\nOv:v}\0P[A%3@@Ǌ=cXGy)~u>zĜQXW\"wEwt;mJnfa@Oo;O hVVc^\06,#2s*y2{tXo;lث\n\nZc?`(%4\$&GrT!AݡCmj0ԀC\0D[H/{!Ak!N:5q\0MKC.B7/ @`Ip;PGr`+D<C]ǆ+<,%Hl`09-GsV]J\nu^Vi5/	6\r%T肊:\n!@ nS\"&)mt1f%RVXJtX%@=bU\$`z@X2dD^Pqő4p@\\,B~6??2OP6\0U0@	XKpf6 RR,e8񶁄Z\nk.BfB:7]\"I6JU\$Mpa:4_gpǐ/0@K;pÅTI<AD =!C\nj	忉S<e-a?XRA]@r4ӢӁOD%9n9x'O4-ZtpFK&1f^biB\rPKƢ)%'*Age\r.o@,`[	`}+C24.(\nƄlfan*\0Ok!l%Y݄EttƬ(	|@J0\0D4!J\0pe@O.>;Mfk~N2K!h@ 5\06iwzgURXہ 8A[ƧѸ2&8Hf9]r\$j81AY<をx\n/\$h	\0p(Qw@@ZDE`ik#ޯ%G	Ad>B@H=m\$q t\0X@u\0HY<x*F@!<l\rg@U>	ڷP 9B#\nԜ0g.iNIH.=TdGL ܓH3S\0^0F-E\$\$ /\\q)\n@t# qF2od胢uG|Hc9#<~:*;,BMd@t\0j5M펤!uku(|8%'ȀFЦc[C8!1	JAT\$|6vX\\:nlr@#\$2!nC-H62B\0=@>H0>SA&h|u\$C\\`tk\0|r ;\$zGq\"o&C;-[Q zLx	:~6mE0͇̮#r0 <iXKxu#IYH@V[*ǍQG®TiP8*%<\njM\r.AZ&5s3<y:0!%RW**YyUFrHU0Fa,]Ä\"I9pGZ\$L!u3{Y8v	g%Cvw8HY!K7i!3gc=]p7s@nHp2(<ő4d+0!M\\\$8\"\"`dOcyH/bmYǛFK&M,\$3	]C>.F&70`>kSOэNN؟B\0l䀤ADdX:XcD4tJ!B\0%(ԧь2IOrtI=@O\0<ib#Kz&S(:@@21^?W_(bQQ<b,G9=J}މݧEќQհ؈NJ-LHFdz)u\0`zkhDQZt'hO!R Z!F5oI(,d5Fvb'\0&3HCC8<0)l_`53&\\٬QҌ@P@)#94F\n?6b)EOHj&x	Fdm@ce-5M*lct輇JeD4\"u<OAy%/G60] @s5%R+	р(hQ%\r\r3P\0ԴV\"ƍ!94U˅@QOtr\"~&t@`3#nP^D*\0|\0<x؈ZqЪ0B,j}'tU?/\$\nz52*6GPO#bWuNQ t\$\n7d@@9UPtyZmPSRDФR~o	pu1:\"ب:*Z*bI F-&yTLbsWaMh	'e܍hP\$\"kqc5`ԑ\"@S4u3uvk*6ʤț_v\$ևZb&C(%ExEFĎ@;#HtM7Hd.U+8J2fd'aG\\Q7<sW[b8+L.)\0\".Ès|#7jgX,\rY	!\",{bG`ĺԏd7>f剀X56	-%[+VeNbŀ}ddj+^Mϳ(CȦZԀBYppflCdb;YVapIlK,=fE,IdPNҀ.3c (ؕF046+ SZIp -\\H/\"*֍Q']3LKUa[\rŲ8P2\$ÅW*3(\n/EOHض\$}\0.Q((iTa	^C֟Bw4:L`!|_m,-\n\"	DOţf,@XM;J`@P[I!i	Eb&:	O%+Ѯ\n!Kc\"9.ۂr=up`#-D9KAр06i(QBbm'nH`T@QgnN,Hd`~l^<Z>\nu\r0w	f58|&v4搔>צ޷y\0B^@ٞ\0W_Ϊ\\\0x_\$J˥siOIքi>f|'L-ltxP W3e[*(9!\\bn uXjH\"Reы=Z_*`!w\0w|T~8\0ڼ8]/\0d,u)6?/'VڜT)\$j*rUppD|jll~9G<\rZtOq0}XeC2Ȃ-!BJp=P9)!\08tPu4tI'6CeºA@-qʔSkЀP-['8FP{\n0a: I#τ1/AĆsBfr4\0@=x\0=a\rki5Q~@Mhgb^p~Oyb	xy=\$ AdZ7	m!\0x 3	U.y㚰SuԬL\rV3q㦸U|;3NQ[^'4nv`gAVe1TNF{@Цat%L(H<^CGcdL뵬}ip,lXquK)FJZG;@y1vxCuP3)Gβz)\n(>Zˏu=eJ9s=X46^YrqmURa!?ȱ@ ' 6b.*-MZ@R(elI2W6iIUP8V2P*WcE,/@TO<!k /*%clZmJƭgZ&Eh6N+s}o1\$BR\$'uƨmfeAO\0*+X[ WlL3J`Kpl_:iyIz0p>+P!EZ`tM3C;9ɯh\nr	2`@|@S7I`|Oz	\nSp155[?qu\$\rIPDjhAl=F,K@p	p'4&&,(KDTT4kIB٦%\0hA{CJ3#hK6Ά[%`P7Ҭz\n\"{ZЃ/Ht/n].5+cg=^\"\r0 'mB'v]15\"xrc[3.gtyCÓi.G\r_p\"?ѯ+00\0`*\$ \n4ZrQ@L.<@T묓B3d>9%A-\r?@.\nÐ\\9KghIXM^©X9,	:I-\0N؈J2||qY°:82o_k`uzdCtpmE>L\rIPayj92jO`R\rMIH=^Y'0z C(9.6 \nřk/ZǫvuNYɖK|)'e::߰9KKP (iN+Г)t(5|. ),,@'>{?l\rN /:_}?I\"[`v[\0*!頦`?Xz)NvF\\nr\"~N(\rh?|Rޙi]eb=n!.ʗG~N7N@iw`wj\n\\fP%Az@0䫂OeQƮ]R\0A1k]dfd E?ҿvBLַ]FQASKnbv6^-RSo3̯7SimZ@TF \r~(x/>U̝gi\0rX7	%f>kgc<RzV59gvT0oE\rÃ2 Y6rpĹ\\FXxCp?@R%&xU\0ᷓ7Юd\0P[PGHGNN=4V&w;k83y ni!pwb>ksNŵ(@XAJ|ņcntx;%=OL.ZUW}\nZ5	/?v81L|bBYۊq\\zȇWmE?3lMyRbGg8%䘊:\\M\\myI\nC7I\0D'XN98QtHK=̜tXV穩Y%2@.fl<-Cr@Ryt'Up!\n4 9ܿނuHGp__(\0soɾW7ޒe\nY_YftBc-9bjWm?CKNv\0'/gWR􇰛Q#496DVgUdaZ6#MSkCVLַ\r^(P*A\\6\n1(}?wyAp\n:Uqhǋ2=8Dz=<_ڄq~^ne]Rqᗏ/7tzcja(Ӽ[	YcjFX7&Hv0OxHkc\0[p׍,e\0(\rmpc+)/xr@:4\"7{M66 !|ɶ\"qB`/>M\"l,85t6rv9Q_/yMz0HWޔrT]AL>{2ӯRJ}#=Q^2	\0w`-zr9}^@#OЮ`-\0yp3ň-X\"*1*iMlqa/b\"l#A0c޺PtyBhlPд\n\"%H2Ȅdi=aʀwmj\r(\repPL˕Hq(Ą2/U;;At\rHN&:qRɜ`li;MwNS]W1`4.ST*w.T|=tR\r>M{`/s8/\0 -쁹Gt -Ni5b\r1)!;ܟ!`ȡawB\r\$;%uZ420~~S\0g*ÚQ|(?*ˁ_GD|(}ڵGVHٶ\rm&(2bJW}]2p?R?rI/#~\\{׆_upK`?x4@kj0\0VCŒ#\0kpDu{ɺ@.[Ϙ(\0Oc	\0O\0P\0pDp\"F9\$ť>Kߏ(<OZ\rK	D\\6A@%	:(Xp)D\n6Re{)_+,\0@# V\0^A<VҘFcbPj\r0pVr\"r@:y({n5jD#.S[T'2<Ɜ{p]axnkz\"\\@1\\X<@H+;7b	ࡀHWxBDcLY!	31&E7=Z)%tк?Fр	B\"tP[w s;A&~;LsX砭v\\:% xk;)\"?	8!+.P@,P8e0I<^ pu@2i&t\0A(t> 2;/bv-	%P \$vnԀQm=Ӱ<`u>u\r\0BDZ\$|9p	l&7\n {8PjByHŇ\n'  @<R(\"pS~цB74\0");}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo
lzw_decompress("v0F==FS	_6MƳr:ECIo:CXc\r؄J(:=Ea28x?'iSANNxsNBVl0S	Ul(D|҄P>E㩶yHch-3Eb bpEp9.~\n?Kbiw|`d.x8EN!23\rYy6GFmY8o7\n\r0<d4E'\n#\r.C!^t(bqH.s2Nq٤9#{c3nӸ2r:<+9CȨ\n<\r`/b\\!H2SڙF#8ЈI78K*ں!鎑+:+&2|:9:NpA/# 0D\\'12a@+J.c,1@^.Bь`OK=`BP6>(eK%! ^!ϬBHSs8^93O1.Xj+M	#+F:7S\$0V(FQ\r!I*X/̊67=۪X3݆؇^gf#Wg8ߋh7Ek\rŹG)tWe4Vו\rC+8\r\0aRؾ70^v6nxP\\@yAR o`K~f\n{f9ť~!`@C.A޺.9z\nl빨w~\${XHpɉح/Ԥg=ѤcHfd%jc5^cH{\$\n\r!4n6cH[.6`ӥλ\\7Wޔ>}hW^Lژ rY_WV:@v\nøi40BE*`z|ڑ\"C(mΈQ\$XawK- M0՚^?\"\rt\rh }yzɃI? bwA?щAhd6A^2a˃ZR иհ(,>)ޑK2!Cl\"\$!@[fzXHytA'XSʒ%H\n4&4VSZ_3RlMM}\$R:NiՁ@崿,cY2cgp::؁ HhPZ`F8AW^|CH+g\"8G\0t\nt&\n#sԖu'N0ب\$')/`	\$\0\\D056K㲿=A~BEZʖ٤@Y;'nS=D2l'/jxi&{WнY;q\"DA8a^1\r1lx)傄*R:p *P{0ri2fvM3ק!dQ3<\n9No4Sjo6\0D		hKYj=IxU-u\$ܹBn{a\0ra\\ N-\0ᆃCwZ9+T!ª\0Ԡ`!.Z\nrP?lhe>w0A)_!7[0J>TR)x8p牱DM-Epq\"\r\$qTdUzVL|P2§s鉰)=C'pٔE`ʉ\"\\[/N|Foy&Y\"YJ4v{;b>:]9:H	[Cv4hA1?&3ҖgjLI`7ʀZ^:k\05|ՠh'2\$`C!Dm]-@R}< 1uy\r؅`ehcN\r=̴p6.l夘6EDp}ǹURaqւy;Ӽ	p=7A=T^69#6![E\\@:oo#3/^);{K. v8<bm)W\n2sθ]a'o%C{x\\\nYuhG\0hp;|*[8+vj~ȟ|rS˷xLwtwʻ=>v\nL1E\nA! }|H'\0pA	>0¹n*L!B	`l\0B!L\"ͿwE[sf8oPݞAw)E|#\\SsU3&>^{_ϖj/bR//L\nΰδE\$ N@<vzom\0\0p4P.vƬ\$MN:0o6O!.0p̔!\0\rop^c	Z0k\nPPf|b	%m	?P\nPB6.Эn\rP<p pXR`\\_\$M('NA(~jÂL&`Bh\r,O`ck٢)1*eld\0р~fڻƖ`K\rn'qt`¶VWD: ؐ6\r\rҀZq۱xI|FbR%k͆ @*r%\"+!bXrzifIP>\$E&X%>Bm`r^%RbBdm#a!V!d\rˎRO'Χo&S&R@Q9&gqLLcGb{j{g+l@\\<B|b-\"kD&\n\0DΚ(qL8ՒoNv\n	 %fP \rnKt[)Vg\n\"ԽN\$Wd4'r\r#`\0ǲ6@v(\rrb\$@[fk9r7`\\	8 D\"b`E@\$\0RT&\"~0`\nbG)	=@[AJi8ge`dk;`7\"z4F\$n42z7I E)^ь8䝀\rŨNsq0ȎbPA+I:`WNJmIW4<nPJTJLbTJOCJfٔXN=Q9`7LfOOzS5 P\r\$=%4dnX\nXdɋO橧\r)F*hn B5\$jLbsM;+P\"nSw7QӃ8#j\"QDnfgrweW%)dXHWQ\$TK`5qH\"ukVURCH7@1\"\r'SUӒfW4 K0n;=		cTDFfX]澵eLqFE\"xx\r(\$4S\$)F	JtDʕDE(EF&Tv\"*`>|U/QdRv\\ZS\rOaҍ6n.ֱ\remx҃vqPS]\0weOt_Pcw&mjozf@o#omO%g`=3mD?A/]5erk':uj|@wH3s;vtv#k&c_#m^cĲ)nj\\wbဿ_BQR҆==/R+MYx9T\$z9aҲȡ2 7\0&yB\0(l\"*>MX@)xVW}.K`T\r@ Z'-IkH75b?ςl>wdܺ`>\r뀔}xZ8`ɂg]QdgO_FndLv54\"2xwW1[22KuL%8(\r-Ӎw×eA5hW>xf(wzx-v	V'LvR!vV0y-0\rWK]b̖O\\0NjS义Dج\rg3lQYEwdĘLX'LbNǹJȬf2ļ{8Ƞ#xsIdEwtɗ/Ȱ=UTYvGG+uY#RJ\$JP)8د̬JK顅x0z5 c\0n7YT9`Du_Yy#n:%Q9Y8@BiU^9TODڥTz#\$oj󨹛O\n'YFMN*ؗ몶z٧:c:ٖÚz),u0Ă?!ĵ~2	{ %;ȏwV6yk]~Fe|G`ShխZOXշXYKw;L\$p@k*`߳,Z?8˺+ɣ\$ۡ9{zA7-n{١]~x_j۠Vd׎;\rz9l\\WcwexK();{gϟdqJmZ<:`85BK+U#LZIzM|KTZagsTZG]=3X˺%\0ZUZnJ\"X\rX;Ӑ@YȌQ#LV9\0ۛcLp#U=1x)Tu9`Sڀ!@\\߫%c:FU[<<>T;x`O]}9yę?Y3=%2)ls]@KQ`ecէYXE&g\r@例6%=iQ|g|:9*5n~9k+af(\0+5I5޷õq]ietN݌M-5v3sa?e|R>zu駦^qQNۏ{Ξgd\0rȇ~{4~M>>勥_>iwIW>dub?ʬAP\n'r ?@TQpՆKDKMI6@ZMIIa3X	&U\0`VqGvzNO?f+Tn\r<P?cs<?S0\$S'b}`-`!`:OjF~=TڡlL0Ҿ^T5閨.OᩘP-YXK\$9+6	˷\0Љ.MO\0ƿ|l/1V׬:KzS\$F\"?{kjow_PgDLkQ	\$	kLޱ5/Ѻ2ڼ_}B\08\\n\n8Vk\\`?\nEZb-VtS6r_%IiddH^sCI-b̄)[	X6rTj\")`{qB7VYHɆ˙JUA|\\YEj'L*kF	\\#C	OV,!Hហ\"f(Z̀\\gܜ\0pQƎT=.!G8^ltk\nkxZG|І\r_ @X<<\"j#E:=\ng \"OR\0\"~*\0eVIT)az\\?4>xܦ焨е/}Kh@K4xy\nƘ9\rA\n{<`PD-=o7{Ѝr\njT5|dg9͑RGyf3\$x84ag<@b/\r\"~^!5#.pHhsp dq'7їXc595<hF0ƚ.QcTDFz3\0 {F|qmrݸ`@Q+&/4b\nF,я8*@D	=u	(@at\01i\ncB,h<3%b0\nhFw )(*XV\"\0}4Nuq׎Lp[2(1H/.yu54	չ:Ab~vHRD\r#yG\nIjFx*rߏLSJ 8@aJ\$rcX0H_hC\$Yɬ'Rm41smBd0I'cUd\$\0P\"}Ba(/T\$B\n(ND'{|B~\0IT		P,Pth]%+ɓdܜ)ҟ,Y1&_Ihe;Օed@\0@AhA&)]:P!\\k,M\\Lq\0E,PKDBޖO\0*RWHg\$sLav@m4C(LFx=lbh@Pݛ<9U|_@\"@	\\0	E6p\$8R&b@'̼\nP>9f^@\"̬  1\02\"`\n\0LT)/M&isMqZyLe4fg3YLNy馟5ٙf.\\-S5d\nǟ@2'T;bhPP,Yz|ٮzp-M`[82ms{N&hB@Ɓrq)(	1L0	D@P)|:NFo3:6x[k3-\n~)Rf3-a9ȀtGg;\0SisL\0B\0+Oe\0?Y4	 Tz!>0Mr31qc;0'Le`F즜)Nu𰞔f>Ϫws)iPTTgO{\\B)ТXhJPrt2<Ѩ9ɫ¡>P\0O}gC:'P֊3hAO\\U(D>|4Zx9(E\$zӑ&2T)*@&\0AQL`N9B̰O\\l|gkc0>LfR)AR\0/\$XE)`ȅ\\kȮ˸p)GTքGd4E2rp ϪZ6N<]3sґ@l`(P'd!qD	bm8wN Ɯ#<J(\0S\\CuVkZc\n@N*x2\0Xw@aEP.iJ!%D@Pz΢&l=BiP-Ԋc|ZjAS*xi|*2pTcqz@!5/I7ӲƬF,t?U|\04jH6ѩNHtD3p'qS<(,鷗\0[媻jMw<?ux\nY<b\0ꨴE^G)|8Io;-e0\\\n=L'p\0{XU07`,,S9yP|iOh	-DͲLSY[:Ӊv%&v94=OANt1\n\0}TU{^MSR*کBtVR׌Qgkz~@	\0nl脵^Y/YWaQsaʱXĴ]c,E`ZX00mRkX8#[RwP\$HKu\rkB銂uNQP6cF\0\0n r!;/=De4YA5]O*`:Z`fs,~+<\"dU3e\0f%Pw^Hמ1` yYq⚰,^j\nhK#4p1veZb)2l1mUK\$\0nt/nxZ8mEjJp#6F~E(yR凰%B7\nV6eTΈ-jbYj䇐e^B{6U\n@cWnyC`u}yiVt%0bJ,p)g1\rVX@R4;\$V@=sx ƊP̐HH*IȡX1ui;ᕦؐpQq[|(`+G]rǅ\$O9dZlE	NKz5u5_!Wp'Lw|=¬.IlvNOPZ\n]o+?O~'DZ#Sǜ}ڮv*l\$Bi2E]ck]ER\nt)d7fLZ.xiU/`z`/^b5yNvĕ+R%U66TCU;W./lQ`XŮ]|t1\"G6b+W/We\0k{ԍ`e?d@(Nt)\n)a¬R>_!;}Ff3\"\0\$%Ea,R%DgKo!4!gY20_	XX	8rͣXFH `*	Ax#EԝX:S=#)iCL(9T)̙\\a#hP(5T.#q_ZM>Td=\0}	fF12BJC+X#5É2-JP\\+,6aYb3]o@`c}a6Jb\\F&c\$0x1+.Oq_\$W5%M0W7b\rxƆ,,BalX._q8?-X+G,d`q16q<C\$e)VWca 02E'{0:bTG20\$h̝՚a.8,Cdǀ@ZV<#X_1U%ƈ1x\\X72yɰGDY<\$0HӒiVYN(rwX+YFTgPe\\~pX-Ld++3,qK:BYOH`Ox\rŴ2rpx<&]Udb*\0I09x1\"\0.,7D3}bh[2^jьG*.Sx!Ċ0:	(?	^\0x2`ͫ7\$I\"H򴒴ėIq?*PT\0T[c8'RLa\\ Bc\n,\\>g(Ҫ\\[6jނ@0R?uSl:K)͆&%h@\$ Q@DՏU&%uRz*'/	+<04\0L`3wRmPR`Qq5%X\"lY|ɥG:U\"\"Pp!p\n&-f*dil tN,JR2Qp\"\\^\0?m}4mbj@b01N!\rQRN/sOEfQdp\r_/D\nG?'P:j\"5@-E[TN\0VU:½>DFZs\0Yڿ])ȆjK#(mkB(Yct.<s\\'p)Եknīݓfׅ\\^~;tX]yZ\rn=~lQGt؅#~ċkRu=F!x\"#\$C7-׫=`\nfF<D\\	\$\$p)~+g&J]y-h\rҀ+i^#5;9Tsف|\$,pl\n4c\09/&m%٫\nnA,;EGp	+(f{&=n8ۑ(XȚnh;JܠAk8\"wf1ҋ5)WKaP4ne#ƪQj7E-scJ-M;[/ Ŵ\\dV7`tw6=]:x	19[,HP<OZ=3O<@e+y魡xOXߎ\0w4i)\"ap^QpKY K:ujn[S\n.Tyȅˀ%~4\0>@5^Daɀ=p06yJe,RUα7E8k`ykSo)bֱiY\"o\r;ЅK5m@~gm\raW*\rH0/qb^Օ:j/).<޸ʸ2b5JLз{݈DZ3q24rܻ#Xykc德 E}=7u1>3\\m`<Z?7C/s<彿&>gntc&do4\";0t_5FrHr0O1kkiNbvit^pumEoVOF\rZ4_u8	܌ޢ\"\n+nxF=9+؏n槒&~\rt7r9N(^'J0W/*7~\rYG+pRnXˣڞWJMM-sC5K tD\\t8,sE͡W pz]ݎJV\r}3cו0=On}pDw_w@1鈷zh(=O4%m4P7,sl'|7}JO`.}Ϣ\\~3\r?~y޹+=C;=PO\\BV)\0'Bq:xDRvbyK}y.cXrG3&\rC0>|MJ#@ܿLS=\nqב{_\rV\rP}|\0Ds<6-#I6fŪ߭l%@Fb)/FBe4+yzNbaEgT|L7\\ r\n4).!n/ƔըB@ðiL5}G?71F/Wc>|~+\0\0qL]qdANF04N\nsՃ\0`g1:	\n>0n	A*OwN\"Ee]҅G]o,e\"*v7&i{\\4o<_bbI1^ys6U?\$mXf+9I^PA~-{oͼrB.ǕÂ\$d9.n\\+Oa#\0TH7lo~Wx+.YW+K=~}|= tW&dtJ(<ݶ㚑<#T}oJz\\1<%M1mdv=߉\\#~_79a\\R<k9LifI0K8'pz/-D͍wf&&~+~!UdRҋDi\r@cnqB|M(ZB/׏!н#Jp[|	+cMRb*MjwNǲ \"F?#HU`\"hlÄa\0(<Tn?\0c5w\0ژ&\0Ӹ;&5fhZ(k#-\0ae\0a\"?\0[00<lo\0005{`\rB@<7>`	@p(>DT@+|\n5zC.pպkɎTYJr	{,\nVB`^[3^@\$⠴ۮ(dxw@9 4@bqj-	Ļx˷*\\5?,X(iE\$)I30\0R`\$ؔ`'O\r2N&OGTA*R\0=	펤*.\\zk	? f2%j^i@^M%xH%<(.NA.V[N\0B3\0006 (.!;1ʦ>\$k@F#@֓N\$!a\$N`!]X\\䄂RPi^8.L2a}/ 	At#ALc-\\AڮBU	\n\"«|PnAy\n!\"A| AƖtsJ^ЈA~ &\$N`\$;:T\n[w	થ\n\nEJ4_ÉhAʑ\\/IW%pAB:S'bN7i2PB/p]BS	\\%	&PYXB)d\n(p=HP82 Õ:\rzO@%	2pݎUiP(e'\rVBPЋ4vL8\"R0|CT5\0:BxRp%ALpAT>,\0B)Yiy	j60D\":\nÁ&pB4pvD/D@C\\c\"qA`\$`0J\rT-Q	\$>?14COSՂ3IX(@>>0t]\n: C	0\"l;9D%\n(>hxx5׶;@7+\rxB>\"'NxB%nl2;B\0=;g0,	AF0'a&h`6?|ORc5A\0ZP)` )^yQ\0ښ^fS/bLMEY	\n {a\r\r1eE8h],ZtQKE:#ȫoE|\\iL_\0Ec]pF`Qj	X\",l6qś\\ZQsExdؙQ0ź<Q&`;SCdqE\"rFT[1v5{FOM1TQEI0	TRz-*qyF3Z7Ų[`2Hg11\\Ưk`<ObqFZAET`1Em񬀌nхFdoQE8F\0`9GL^1ƩpjơpƭqPExL;Elf4BA	k51=x\r3Ȕ@8\0^/B@T\raFLwQBeVHM48Cq2`3jrd䋀0(>BPov8'Pi8L#ɍQ1&32}*AǈBe6=PO\r\n߀0M&\0`'HX	#e lh	#ڀ(6H<Y`H+2\0 RH\0v\09	!Hz-;AR\$\$\"ii ^#pT	(!G`\0+h2FfH@a/Ⱥ1[#ŀjqиPH0\r@*D0ߪwz@2H\"̊ȰL΅!\$|@)J5D\0\$:<~RQ>4gE04rULM4JM!>4r\$+\0ژ!^f0f!nd6PR\"G h􆦓\\Hn8r ;Z\0#A,J;,(0&\0D/#/@3!2\0vywBKhFhc,\"JNGa霄O+@;H8GZ~;bJ:*<P24a\r)&/)\$fBi)@LRC(83ؘgLɛ!r?DGT)9*\0ҥo!&\"B.q7c2:\0Hy?Tr̙\0ԜdTi>63_+2!`2O|ï+e\$4\r@蕒\$`\0|DZCKx|Gr\$oK}L`-5+>CѩO\"+P2l\n+{@@T\0;#(\"!;<2\$ :?+qqɄ[I|Jv6\r؆\"⻊\nb(ߒbI04J305&.g!+xJ`>9NΞW11UwJ4Jp\r <aH@ TdaT|\$!\$\$FG\"hMRȚ!l:%пF]._/b2Mʬß` Ӄ+ZLܻRK=*:0\ns9+Z!*=,!_ČL0ѳ<43G˻4l 22%_\"7\0HQBB\"3a40\n%3.]4Y3_4հC̴f56\$<|U3|ՁM^teMi(ҺL\rlٲPH/!ӄE0?65Ͳ@,ͳ3`p!D#a`d@<ʩ6547\$U7'>7fp\n͸t\0002DVJ݀ĺpU!Xj\06s8'+*ŧ( IH8UM,\04i	jpC6awҢ'tܟ-.~+Ӑn\n~S%tή^+?	9P醄Da){Aɣ#RY|4j*?,A%\08\0V@;ϵ/+4\r0@[H\n͢\n#L	0<3	Gaiڢ&*\nsY!RB(O@().#)jrhR\nr5W\0t܀x[	\$#/#\0;.Rrk,sӃZ`\n/=I2RO>(\rGϷ=+@)H>z\0+R49\$1v%(\0!BU%\"DPw3i.2ǐeLIOT\n2kjqO)@lIyt6g b%\0ۍ(̅A\0S&Ξ(N(4H~s@-5`3(_ L`FSЁ2SPzdɪ*sw2mjY\r&JRM@s` 3\")B1\0CӮ\"H5B@i\rFz_T-N\"	P2p+Ig )	%\09\nb(AɎ\r|ԧ2!RqY!Z;3aʈO8toʈ1U;!LDma\n\0Gd%BBKO@838Me6S_6C%+FJ.4cDPRZ`)P\$2\$fGN\r]2\0 sp8i05\0<*I DloE3жlsHM\r\\ƑP=)[,l &\$q9ivd~震-J\"(HVi\$*Ԗ+3or\0dAOa K&)YI?Tr1[4ŭh9ғt.Jb:JJIԮ{ItRv%'R,A=K],#RJ68+J,4K lT\".J%04RK9Q0@lTRKtRiK+LĀRLmRK}3!ҍB2R+n\$9t2[#6l2\"(5UD}7!SK8T\0\\\n@E6J0 (	RY8Ĭ2\\}\$0%Sx0TCӴ  %JӇ0w/R@82T!C͎4 ZxQԃ</J7\r6\$eP;tB5A+Q\$9M!\$TL2P -!KD2\$\$\0+eB1͠D<JI\$\rA?rR62_<K#15\rx82Q;A+r[zQӓ^)#7O\\LLn&#=SX`4-&j4Й!U?c&h/H9Xh p\0r/lM& D/a@bN<\$RP	d*B2PzP{0>\$0\n:5\n\0WP?؏f\"cހ)EH\n倦8	'`\\ڦ\no!r\0)zZ4>\08(1 1d,#WD]d.X)%J[TS!eT0|TioJS0R`!\05%@2cϢ* ׀\$E;H2U7\r5RLU5W܅u~Q^9*8%XUU%YlWtJM^WeuNVZ;=e.d6 VqXdLVFi5dr!2PUkUD-V2uxg@< \rE\0x\rM@\rHEi[DuIum;V[v	V[\rV/ekKmW\"E\rrqW,r@9\0Z^BhW\"-`Gt-tAM\\dùO]Y+u^ %WVXQUWi\\YV.p]uuu\n1]ug[]WtsdgY]M^\0(vg]slQ0<`Wd0֬]u~\0;״'w_z]BAHL;WC}M`M~ꃢuvCl\"{a]p?\nu`Vׂъ ^\0006^xj6iR¹e@h\rvWaQ@W5>h9\0qOH xhxuETz焀=UTM !,؃\0<AjebcX`dЯ 7\0b\nJ\rOX\\\r;c͆+\0NS`9Yt\0d-@XT܈\0c5T/}\0v0X5c-@7Y60A9VY<'uP5eh[VW)cVl4YacUU\0e`LSeMaObIfSVZمf afeUG8!CУj4euѓbsŖ7Y֑i^iT),*W^eYwL>\$œ'Z\nmWe[Ge@`(gy=xf \"QOit6͂_6iy%E^E5H8\"\0ZJd1iZwj+U*j֤\0lѡ}ڙi9`\rڍjY6y^E3Xfm65WfݝXť}f%RXkeVOhCGY{kY6ܙ}vYlW|6f U6lPS@1l652n}1ce mV=+\"\rm=VX= 'l6Ofw@7w,xl`6.pP7B[Hmlb*_m%VߵmOn*`:[e5PZly!ۧdUi:P[:\0۵fj[Mub8nv{dSv)7nmVҠv\0E~\rЅd05ٵdb4C\r.uV#5bHftZlc\\\0IWOÌM[nŏ!\\txQ9z`Uڂ+76N[:bZ 115q\\EcE7%YfbWMu\\	MrcAZ<Mpf\r7+\\c/ܟi1),\rBrw9@u\"Usݢ7>sg\0006?bVW\\6V\\tΆl6]ob\\i=cVZt7I@Bܟtu\0=uU̗K}w];eؤ3^mSWu[]|#N\\uUuOuWfj\r \\<\\Wduv]֧Mv7p]wWNNLDMEtY6]Muַݿ\\ytmH]e\0UajE!Xwߡ\r]`x>X^f~CXb]wvArvT\nKqj7g\\\$O\\qqW+\\yWtZ]//藅'C}総ؾ0mUu&K_H6WHiZ~G< )\nh\0#&cU\0A%\0)rb\$<=\0WVo{\ne\$ƛ->){<鲨@	^; 3\0*rfBh\n\0|U^|wD3{`(\0V\n5fvd*\03=f +\0\nCʟ܃\n,-ɲ\03Ѐ!&cVJxarՒ|MKX_}}m7׃E{u:o_{@,7_X&ZJo7MW_|;x`\"]C{eԀt-@\$w{\n\$X)_|0i\0W^}\n	vw_Xe7|93#C~.`6\nlrL\r_e7)}q\0_5_Bp9-\0R^}q~k{2_~0*_@c(u{=x&.(`g)`qfWQXZҀWߢ}wꀋ~a wV.!mW_~xO߱R=w\$dU<c\0VHUxZ\0\0*{\0'V`&W{	l=ac&\0jfXkn\riUy}\ru\0{8\0W@a\r9i\08qa}XYnia}V^5g{#'& *GvQ~d>!X\0X3{xz>Hcx='I~􂷳&V*靧})^=񘒀W^h>P`%wEUz=Ac'pr=e%⑅*X+镏I*>Ub~0Cb^&b勺fxF,Un/8JR(\$=QXbOf%Xb[^2_ˀ^!.bh4؜N08	`iER+bf >\0+pF*`\"&V=&\\Jfb4oa֭%Y  { rǊw)\\׏c,i\$=}=b}~#e)R=3XV5U.H0f0'5=Y	'':iV4\nlx`d%6A8M%J4(*`V\"|}*ۀ4rE.d^\n\n<GCUW_b|Fa~YdRo1QJl ^/xn@d-䝒K8<>Ly-bא-ؖ{ryd=\n~\n*O|@\nd{chPiO`J)Cn-ɽ㟓!Jd34/@e9LenJX#Eh\n]J=iTڦq\ryMzfWcN;X:*%VMc)sWԧ?@\$\"	eUcu~G	X[V)cӨ=~&b^P`j^@	െ-arX\npaݐ*diK	䋓{2oiK.ɖP!\0pC\08=P5^`ښby*O\0ar>= V!w{cg0*Ub8eF1*\0-b6F毚8f\nf7ŀGi*,f.ggxk(pj\0hi@\$\0.pM}\niUgYxܫwAN	\0_>fH<=\n/=&tw߮0!Ruu[}\$a1 vb+*v\0n!j#&皝W'<Jb{秉4`!Xx)d5xH	(\$Uu*U]կ+IVMb%޸ʀy&W~gvF/xu=VMu䷇,=3h,XʷZ\n	Ԫc g\ne'{(8V<c=17H4hy&짷Uӏ{b\0ɻ_XY0x〞=@ch\nXh.Vx.8'E@\$\0}W'\nZ@=fZhLZSƐ:B-|XyXߦb\nĦeCIr	f\0\n0o*{P3@\"J	]n/uLUdO\0孡NyZc`ʠhػiMG_=oH>ZO߈vfYa;߷&泄\$筧w~ehb~0ބ1I'nQaN= >a\0jj3\"i=H-acYgV/u`>J}N@٘{(YbXط'^Bh?M网-X9hYZ8` e`,`}.I6b=N\rVxx6i8	hegzqc)jǈWU]Z<JAZ&bUz7N7yqiگ8d8jIfoZ>g8dxx\0\0ޯ|XS,Oek~xa?\0<͢l8`RO50:^4!6!Ę j\\!!^Ӎ.Pa@ӠT~5gY?(?Nɯ|9:kn`E>NFAN#;%Hz\r\r1lX\r6\nT>l&H~ʂKh!(Xe~0]@AS<6\n:lW/W0;HWb*:_@0JDt/}\\\0`<=cߦ˟8\n`+'N X_?i\0(	hGUZ&*{XhdmIlџZ9fc[7ճHxggel*~lϫ{=W{@Fim]ZߋbP:g%%mkUEtHg\0(Mn!.AO% _Y<`Frc&hfU&`DԲ`K1SN\$bH62\$JrP 0\rvz@H\$(fk @mv^\"\nR#Hg%`aȝINm2@#pZRۇ~	h3Pn`zKj3h.>\05{kD@h\0ƿF!A2H]!tU!ǒ>!@1g 5N˻!HB!T]!e܂`ȃ)eȆ@: D܈MII<@8ș'f\0⍝'ɼz1ykv2®Yduoûɓ(]KǼfҏfMż <QܺzI\"	b%\n93ܖ嶊1AoOmh̉L%1҆g&ҷobEL3	ga;HDn.j\rvYdA);xj[o(0{:EnZk;2&ӱN;o(j}\0%[f.2;̄017[>ovS#3_A＋GHhތ\n9?&l\$k/,/3(ɧ ))yi6F%n6N|>Zy_\0A8p/|\0m7I0\rMa\$bw!lT<([T]@5YOfXf\n@fu|ʵ[@/͹2nT\"\0\rKHWS4@mA\$<:\r\\XiOUR m0*fN.ŧnDIA>`+GDTK}ezG\rFa7%-=<HS>\$0>dMO>\rT\$rM}]\09(XM'qph7o:cI6B7NR0LqN\n5<v	\r6PF3qD:BA7Of4ӗ\"1 oչk:c=9׀C[_r'o Q*%Rl8\rI\0007D\\\0)QijQ@*r8cTo<g׉[rQ(>[WG|KD\rHD%W*HV+j!D8`	m |%[[n;P(rW({/\\{7/2)/\\s	_-ܵܖ̀\r{rE2<̥Qw/|A%|o2<s\rN74sE2l?#a#DPd\r<Ǳn\\li4~sRB'+\$C5=mC7eb=ԮY;]mT>	rA};1R<1}KE)x&_a5CU\\Ϻ%q}]s 7|e0#\nШtAAs8>	<2CNt=1\0>*=!fU#HX|tb	m!C7gG{r8A	E8H7'\0ì:=H7Ijl x!a<!..#'aUsGvaB`N\"V]a҄>BCc!N15=wФZ\\t\r/P!t1_<F`/;@2'P0-*zmtA9{twx=O \nT9I\rOMA=Ot}vMnv0l7UNO`X@\$a>é}5tʨ@}ishSH2u)KI>}%`16rrn_\r0iyGװ}~Yw	5~G׷O}GĜ݆u7cb/d\$\nW5L't3]\0M</qa<K]x,^cegah@4g\0`0T=e}uX׀7=%q0fa7eRwDehnb+ع+}%OO=Avl/Q\\\\wP<֧nVuyifve	<<<p]w\nK^a	kZݡؿ`a`#wbQ6o=~p]gr/u_r~	^orހؽI;OcȆqX1)@\"|KX_ҴjUWhv/@vB+5[P{8}vTǶ%}veݰ/wv. #,]pP/ܽEr.]!\n2Q\\ˍu6bp\"lƱ8v4\rO3u 6v/2[_xlI׭Fwܷ~xH7>YFJ1;2<χZ\" .عtHT?}KudwOt!P}=@1=\0uwqK u?ܵm7xnw`^7P ׎ ș_bWؿ\n)y61]0D/_ݷ	w\nㅩMow~Z-5N-.wHxODٌMؿz!QS\rpȳڪa=T6g\rim5yaJ	yitro\"m\r>mf\r	]/ՆLwr%K/=ucwP]w]-,mw\0!	#k*ϘGwe5]^rs>i5	'ux+JJ@}vͬqa-@\\=ɇ[d\r_\\&o%dP1m97g#}Xyݗ>)87nTف2w\r-t@e[ow-ke;₲ퟭNn⩏{ب\$vOޫ\r﾿muV\\[tx%OPr{4NQ5v	P	:?]!?d2L~K͎J\r;ceV=?,?ѷhH#U{KA6j=7n)į? /O^BU\0齯>m~|l\\Hv<=^/4C?^];KLf,_\$D|Flh^ywy۱`e~|F!>ۏ}%pMU\"S4Tn=}uךv!i~k߷Mc7TR=|{Gn]Me.wsǷ̀{n^}D4tjJ	]^+w󗣥U|_XTWƫT;G vo)0}#w|41'L,6<\rm	ymߧ3{ͯf(Q[K!z7үa.u?]t8e{%?cr	g׿Y\n<ܐ\\}e<C\"T\0*T|Ϩ>^V<b=wxxEjY ]`}b_IRJ^>ɡ1XQ/}ۈpanLnnaFSU* 53f{z{\rY}[=8V?Ns˛ğyYf~[ۀ6\$_R#䝸9ׅp0D߇obf\r7r~OTđ\">LMK\$g쪁~(X8'x'IqݾUVtP?b(vxN	gT֧=j#ƫkQ}Z\$8Js潼?D^uSo\0ɹeLVĩ7?V.jvޠ7uU/ݸy޵)]*ش\n'^T(r~\r~eU)hyi Ril1Ν7?\nDe˺BSsuk@B&`I @");}elseif($_GET["file"]=="logo.png"){header("Content-Type: image/png");echo"PNG\r\n\n\0\0\0\rIHDR\0\0\09\0\0\09\0\0\0~6\0\0\0000PLTE\0\0\0+NvYtssuIJ/.C\0\0\0tRNS\0@f\0\0\0	pHYs\0\0\0\0\0\0\0IDAT8ՔN@El϶p6G.\$=>	w5r}z7>P#\$Kj7ݶ?4mt&~3!00^Af0\",*4oEX(*Y	6	PcOW܊mr0~/L\rXj#mjC]Gm\0}ߑuA9X\n8VY+D#iqnKQ8J1Q6Y0`PbQ\\h~>:pSɀGEQ=I{*327\neLB~/R(\$) HQni6J	<-.wɪjVmm?SHvƩ\0^q)]U92,;Ǎ'p!X˃LD.tæ/wR	wdr2Ƥ4[=E5S+c\0\0\0\0IENDB`";}exit;}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"];define('Adminer\HTTPS',($_SERVER["HTTPS"]&&strcasecmp($_SERVER["HTTPS"],"off"))||ini_bool("session.cookie_secure"));@ini_set("session.use_trans_sid",'0');if(!defined("SID")){session_cache_limiter("");session_name("adminer_sid");session_set_cookie_params(0,preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]),"",HTTPS,true);session_start();}if(function_exists("get_magic_quotes_gpc")&&get_magic_quotes_gpc()){$_GET=remove_slashes($_GET,$Kc);$_POST=remove_slashes($_POST,$Kc);$_COOKIE=remove_slashes($_COOKIE,$Kc);}if(function_exists("get_magic_quotes_runtime")&&get_magic_quotes_runtime())set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set("precision",'15');function
lang($v,$F=null){if(is_string($v)){$fg=array_search($v,get_translations("en"));if($fg!==false)$v=$fg;}$ra=func_get_args();$ra[0]=Lang::$translations[$v]?:$v;return
call_user_func_array('Adminer\lang_format',$ra);}function
lang_format($hi,$F=null){if(is_array($hi)){$fg=($F==1?0:(LANG=='cs'||LANG=='sk'?($F&&$F<5?1:2):(LANG=='fr'?(!$F?0:1):(LANG=='pl'?($F%10>1&&$F%10<5&&$F/10%10!=1?1:2):(LANG=='sl'?($F%100==1?0:($F%100==2?1:($F%100==3||$F%100==4?2:3))):(LANG=='lt'?($F%10==1&&$F%100!=11?0:($F%10>1&&$F/10%10!=1?1:2)):(LANG=='lv'?($F%10==1&&$F%100!=11?0:($F?1:2)):(in_array(LANG,array('bs','ru','sr','uk'))?($F%10==1&&$F%100!=11?0:($F%10>1&&$F%10<5&&$F/10%10!=1?1:2)):1))))))));$hi=$hi[$fg];}$hi=str_replace("'",'’',$hi);$ra=func_get_args();array_shift($ra);$Tc=str_replace("%d","%s",$hi);if($Tc!=$hi)$ra[0]=format_number($F);return
vsprintf($Tc,$ra);}function
langs(){return
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'=>'עברית','hi'=>'हिन्दी','hu'=>'Magyar','id'=>'Bahasa Indonesia','it'=>'Italiano','ja'=>'日本語','ka'=>'ქართული','ko'=>'한국어','lt'=>'Lietuvių','lv'=>'Latviešu','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'=>'Українська','uz'=>'Oʻzbekcha','vi'=>'Tiếng Việt','zh'=>'简体中文','zh-tw'=>'繁體中文',);}function
switch_lang(){echo"<form action='' method='post'>\n<div id='lang'>","<label>".lang(21).": ".html_select("lang",langs(),LANG,"this.form.submit();")."</label>"," <input type='submit' value='".lang(22)."' class='hidden'>\n",input_token(),"</div>\n</form>\n";}if(isset($_POST["lang"])&&verify_token()){cookie("adminer_lang",$_POST["lang"]);$_SESSION["lang"]=$_POST["lang"];redirect(remove_from_uri());}$ba="en";if(idx(langs(),$_COOKIE["adminer_lang"])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$ba=$_COOKIE["adminer_lang"];}elseif(idx(langs(),$_SESSION["lang"]))$ba=$_SESSION["lang"];else{$ga=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$ze,PREG_SET_ORDER);foreach($ze
as$C)$ga[$C[1]]=(isset($C[3])?$C[3]:1);arsort($ga);foreach($ga
as$z=>$I){if(idx(langs(),$z)){$ba=$z;break;}$z=preg_replace('~-.*~','',$z);if(!isset($ga[$z])&&idx(langs(),$z)){$ba=$z;break;}}}define('Adminer\LANG',$ba);class
Lang{static$translations;}Lang::$translations=(array)$_SESSION["translations"];if($_SESSION["translations_version"]!=LANG.
1056077558){Lang::$translations=array();$_SESSION["translations_version"]=LANG.
1056077558;}if(!Lang::$translations){Lang::$translations=get_translations(LANG);$_SESSION["translations"]=Lang::$translations;}function
get_translations($ie){switch($ie){case"en":$e="%(n0Q :\r	@a0p(a<MSl\\;bѨ\\zNb)̅#FCyfn7Y	h5\r1rNQ<ΰC|~\n\$u\rZhsN(fa(L,7&sL \n'CΗt{:Z\rcG 9\0Qf 4N\0;Nl>\"d0!CDFPVG7Efq\nuJ90ar#uDC,/d\n&sSsu9nO4c){WќF}6t80#0!\0t92\"(9(J	{7B6+\"q2\r*'#*c|9(P@;o#/C XЯD49Ax^;́r+3P_'p4I|6)301Cx7.1M޿:C+\rH;fšMM-+s<@MZU\n!bI\ny\\\rhzҵS\"K]7\rDB0O욺3؍.#c@#Ыڰ(2'	\nYD\\%\n1&czm;LHu?c P6X]Cݑey(5Jऱ8Ϊk.BԮ#ltȈƏe\r@R	@Ҡ;+04\rʳq=t-ښ\"jLTn0NER	 ī#b:4\0] \n P2!<`3dd#>q~\r|P7('IGӈgő)I-4Ic(\\vvßqcg{~\0ڼV~EmDYz:*4#p֙ϊ \r8@ )lҽ\nU4	a-%ļd\\hn-~B\nPPi+H^#0tBQ\\֠eK)m.*gP<9&N٢%q[{qs瞃)D{^9@]'PB/wź֌l9?\0EfcI;y\njH666\0a\r+MAtP \n (BeL #ٸdGkM34!f4rfmL\$j%8,6ؼw 9<Y*܃K4=\r\$sjZKTZo01Agc{ӰDI\0npӒbQ&H.Ёm&1n0!#7B@	c/dZ\\DUM3+ fI+M\n}wDq68վ	L*1\r*RStV(Yl1?4xÒ8CFG]l\$DTLSad0bEF3FiG'{PyGԤHp \n@\"@Ux\"_Z\r\n\"R\\310 Poȍ7\0r\r\"f34&âfQ̽ZQD+}~	\nEvb&g/muMI<`5<Zt[4:+u+Wgd_٢wڇ6Hl\"[EdGI,Se4iSwP%`Izåp) 䏯EBY3[=pd!k~%|UƬ.rʯDlꢷT\nKe>ZY=e3@BHpK>Q@\"3#V`\0ffC\"y\$X'u\0UݩDWh]wj\"^v\$VAgtҚ|zT%=(Yl*]Vi2p3%2%W[b s4I\rG7\"\n.IƐδ8ITƀlGv;j{M{{6cC-:E^qưn\$b^8P\0:YB_nygBT5ܲ7ۖ!V&7:\0^:h>׹]RXN{ˈg<+KޮwZ}\nFkzr#-u}xZ|R5=i2޼rUƉ!F_zTtwLފr5la[ҿ[q|K<}\\jbiX^*(UӦFltجcX1aݩ!wb*4QDcBN3&*\rOXU'_YqMe]VE<hBfl@F`PYG /80;>4|?xr|+rpHNP\nV:#+v[\nŉbR\"e0r`+4}\nrk=WLpfpR#jP\no֗AЦm\0uz0l\npP\0}lFpG#\r6p?@\$Cy\0D\"2\0:BPB:	]7#xXjrA얣2w.x*-VpCX|\rqL&:>Z`	hl\$n\nEJ>xo\n \rVʖ#J6gd\rj9b%\nZ8b~LD#%lh%jk \r #2}`OvTe9Ȫ//;D,<(͊?Ze2.,!q!\$Ra7\$V\$*Ml8hi&k&Pp'RM'|brdfY%:gkiO~@@]BҴ`%+\0+F/-H\$&0-rIDǲVqkEDn/iV20ZG\"0!";break;case"ar":$e="%)l*C(Xl\"qd+aN.6d^\"(<elV&,lS\nA#RNd|X\nFC1l7`jR[-sa_Nvf|I7FS	;918+[x]š'\$g)EAxDt\n\"3?C,̅Jٷdj=v=I ,΢A7i6LS:h4NF~.5/LZuJ-xk莿bĔ*xB4:I(FSR2P7\rnH7(9\r&Br٬`7c0((.(@cx5(Y3,2lj\$ɓfJPsfU\$(RĒ(5)sj\"N-37@2\rDD{9#ǣ0c98@0ЎȾT{cJ2\0yL\rC@:tt4D8^2xRTÐI|6ī3Dk4px!~&mLhDZq@HS*D%4MZ2NϣG9	rݖBI)!x+#J(ȈIBthķI\\lczJ#RS P26QC6,(4,2LIU\nJJ2ޗ{1M-fY@V8[ZŬK-j#fcc:( 0[%(@)\"f_xE3SrLtn7mhr(,K\\Ǿz;wFʉKytc7\nyG1:c1N8`^~1E)OYpz\$~VhC\rKh06ݺUvplHP|C\0_BX\$'C\rQlB0vd(٘2+N4tkIeeXB'\$&`\n8'\r0lPF\nU}*Z\$(*󔵃pyU\"337tHtQ(0p{( :PII6CL7fي@*:P9D(AP!*CHdPj*`W\n;}!\0rXKTn@O-t3&Jeap\$C:5JDl^v\$eS\0\$4ÚT<\0^ .{5HfUWjA \\VŁ*J%Chp:(7Gʠbg]TPpDQ!bEȥ	0\r;TP;%\nx66_r剆1\\O1EEH:8#^,VX1d Ʊï.t\0(',H1tIX\$7H@(\$98*br<* 7*ý1'st0SF*hj\"ZGUL5 ;H7ʨJba0:^d_@!0ь\"5Gj]e #fJe0\"I)&B^GBERLdM	)2AL\"-O\nY6>U-I 	\$<%	\"kb/y^Ë9{%D*WZ9Ӹ\$uQBO\naP7R]9#Jg!Ԉ6k*r&(\\gƑYTi2.a\0P	@^fTW^Ϳ&An'=L`#\r3O}H\"\"8DQl\$ԡ3軨A<'\0 A\n5ЈB`Ei-&2S3A\nf4gͥ6qlPMQBZ\"\$r,FI9.,qښLϥXX7Zu5Պ&WqeN+Ud6c@:zeֶ\0q\nл̃qb,-B́rXݳPյY@5-N\rrM\\imW4\r!>YSFCH\n	^yi9tb4f\$Ʀ13C]bؐ^(qS)n]&Kv>C\$XY'G\"RH\$YݮPrG _C[kkx7s?Yy\$:1y:-\\A1\"ٓBaN%83ڋP,g BH\roJ\n4֒s4m۹-\0b{(X_US.ZNYtel3\nӬKMn^\rgq'|DVNؚbf&;\0N_	(`Zo]c-БFN4e>H\n\"K)\"˩jJb#gUb\r:\"bV亢X,:>Nzp*rF=apC\"tBdrx\"H.sp#褰JJ!\"P\"@'сY		OxiP'4萚_о2P'?*zJF]|^fB`D'~ˢdIPOt^lqwܠQ\n>XI섃<+^!\n\r:c:/*\rD>\r\0g\0ځm/X>0֭ngLت!-f1F!t%HPRL\${	p\r؍vՑ16xQno.sk)GlR٫wzl@JOI0/B̂	p1lA3\r0=\\~y\"'\$n!@*JM0flBU\"\$2F\$҅OP.Zj-5\"%2=bu~1\r2^LB[=&dʰt \"2&eߎxDt!O\\_!m,r.%-y ]R@Gir2Ժbr/R굳>sxQ\"=e4Z\r, ЄpCX@IU;\nqu\\Q0s@SX>\r1-66S04\r65.b\\'88D>tξ/6P\0OL\0H:/;&n:s\rs:f.15C*Da5tM,i!]?7@6A4qq1HxQ37(\$JA?+b/@2CC2k#*u&96#X̺hPls*B3N-9Ԩ''3CXKe3+hznbpI(+1G CIqOv'tbJ@k\r3E0fp;Ȏ\r\r ̉E>\$\0{e\nZB/4RF\"1m+b!ԨkJ]	Mfo\rs	q,\0E	M?TJ\nl\$6e/e2<n4A\"B&(fǊ\"j@Ŧ%O/n0]80/,4GsSZQZ`8=@\rN,iZG(r)Nhi\"GT]SP\"A\$-0!g`.#<g80!WKR\0V16\$fpEf>O'*d\r-Z4#Kmהp\$ӖRH`Ft%Mri\"1a@	\0t	@\n`";break;case"bg":$e="%)h-Z(6Q\rA| P\rAtX4P)	EVLh.du\r4eܞ/-O!AH#8:ʥ4lcZ2͠.(\nY(\$\$1`(`1ƃQp9\$+JlYhmrF @#e&a9kG:~drUIzay2ƁѢ^ЦGeS2uJ\\nEW&oI\\qՎ=rBz~̲7Fp0bv%6ڰÈk;\rlJK=/\0X+ĺL=\$\n\r\r63L[ʏ;qlq*oYσhA9sr] ˈƹ\0*X7p@2C9+̤:ǻ,ԍR4\r7#h-C:C1c(Lxs>B	`*\nhD2\$*ZFlCj|# 4Ҡ@2\r(I:pW#Uu 58:#PH2@85+`@WCL3:xq\rERJt3(كh\rURҸ_#x|֩O RH?/;/ϊ^>vbzc4Ccʤ%@г«\nrN\"(+#] (Ȍ1^Қߨb;LV64pJF奄\n\$I6Cr8#o>S*\$h/rJH 9O-nEa&Đ+KZ,<oJzo\\틒;Pr{'S3*1ж)\"b0oʃn{kC*e~PE#X;*u-G8>3E[P>ڄRnGʊObJĐF)Լi=]\"FH.Bz5V˂ Bz%G6rhuLL0sL:WI X#&kQ{6Hg!\$V!&a45\rT7Nk/Vew+k0F(;\$.)!CH\"\"-őRpL5:FJ+\r94PL9%(h6q{E@TYL7'\$ː Q	8 eTqZE6Z4s>F3H~TB@G\\O#T#m+LD325l%rAK0HÁcM228EspV	8H0\nMUk9tTj9- HdTP-`ʶ[ˁq.EBJ]T&Wx\"ԕRmEGn|GԸGP;\$˲K9%SAd\$)4S\$gia	P.UkV\\arz]˶5PW8HF4sbP6o#ЂlӔ<b^YO]HB0-MxD8K1ҿ ݊v(Ti;6@PpJ53ea[+mpl\r,U9ɨPDu'!8sϱA@\$B\rM%`XYݐ>0h\0.ӻf-\0PVIgL5,LpnTXr\r!4\0sZoUquVikR?=Uyc	SO)p>fy36*/VCVa)\\hJY<93Hc\r(^jc02᲍LT%LJm[&#DG*%2+h%\$\"#<-BlN)ՠTsyTIŒSh_&G\"a%S1iW%9)fv(@yL-MfJQP8<*\\gKl 8%,73Pʫ:IY!\nnhf]Vivܸσ>:<m\nCgbM\$,#UeC*-N0TrΔa+hIzC]NAfIb5Cj{\n~X\nKQ)ĪCK)'ˁn>aaځǓp)ͬ;rr[?9lAbBA;yFp\n[_l|M\$Σpa3Z3|OV\\{ѝ\$YXўS]\nYc(ڢ_|9+%mb\"tPAQ@AFRxvc7,6>	#4Po\"qF1:6z6[(sѵ2'z|LF[FJڃ*0HdcOP-㜿` Lp{v\$l(ͼ@kLO\ncLWT@O9☮	'C*\"\$X @c>f1pJ-RGB,D\$\"̓(	O~RFÒh>\"4 \n`\0UEx4*UvV\$J&6\"0Iԃbi@F~DƉ%\0y}-DӇ0\"hLFC1o14Lub!)c?,\0|1RCt\"&f|1Q(8UIqױlt)?/B6'.xu1:0C7:P<½:LMv5ms#|sdDn°LP2DzFiٍ.A\"0Af:(8fKm\\s\rPDhjpxBH(&*&|lmH`jntjc0#n+ZD'P*\\*\nc*O',D JQec*e%2KkfԂjm\0@P-J5cC\$\r Tu1G2xS2Gp'jpds~n	fM,g#0Fn{HQ`\rJ\r\n\r ) nbsLQ&++D.퓔P3bas,\"M-q<3<̰I:;2&9*@q7lFQ)>8'T#4(5Ӯ-*&k;tHPD-3'#4^)cE<=k=SjSwFtCpl1@qCo\0}%fbs\0v 2P+8Q^^2i*dF	pΙ5.n)Gp*/E.Ip6|AMt|ot{FQ&B#B.:4DU-QME2GH&K2.hQoEMtnރ	V);U>U)cUtx|ts)PnCuV\$u'=դw\r.Zi#%)\\	zT&o1@CȁTgSS;>5C@QWXP@uD3EUIG.AoR5a_3U\$	\"bNpTK0EB	^S pjOb\rj*5]O0d6dVlksV`Oggf˝tSf+gfj5VYS}`Tm*%a2lIaRB6Im֩):	[vrFʰVtkV[SЍoăpU'`2!qv69Y0b)`v28~bFިveqFE!E4Eg.'nTFy)wbɎ2S;>1h()	}GJA\0b=B>Q\0qcBMYJc+߅@C0\0\npFx9\\>W9AU*L<sPzTIb&oVMrbmtBw-Np2>G'̓&dEhNPV7Fcd`l8P\$4pSc19T9\nLe.mnq{lsz&ᲓTR߅͎qv#ǏX/p,G#Йsp?uGqrW~A,37\$WR(nr9!m4#Q(N{=eh 8/p.˒G\$\r9y'w7	沿@o.P!vЀ(@lS1*IH\n\0Ĩ^U6rHIaM%vGЪ&";break;case"bn":$e="%)Ut<d sNb\nda\n 6#k:jKMŐD)RA%4}O&S+&e<Jаy#Fj4IjhjV\0B`ULcqؽ2`S4C- dOTSTLZ(JyBHWβt|,G8rgu\$)k2~\n\$g#)eӫf\nVUN(]>uL]	q:jtZut*#w=vp=L˨\r?JtH;:B6cz*\n(:O-*X#ps{BPB/j{BZ-INJGED!QY\$IMV.<SPw@H<ٗxm^&Hۼ4Ě6ش|/\"AjU<#'˒*Io>)2,p,6IQI4ϻAQU8\$XGKpME>]FDGV\rx:\r2a7CZ\0t92ҺD{Dͺ_jxIյ)BSI.N2XR;A-ڹ# 4(=H=de?,eyM+w={Y7jvI+%+'\n_\0x0C3:x聾au3(0; ^,#(QMd^0UƠ>yD\\dZuʧQN 4TײNϋq]A~k욍-tFmh!@PJ2td/\"0\n\$֪_M|XrMXbLKT_KO'8'MOnCNR#u=?Fex'\\>JAْR\$VޙJQeY :r/<=)Cs aT!Xeǧ2Kzt\$9	S\n!0f_\0 ة&LqyJe2#&X9Kn̳D@Q&ė-cQ\$E})]:	C\"\rAyBU!:V@7tEBʁ:WWL])vysy*NO5̒V>/xVsՔc'і-⹦|%6냙wC2t6\nZuj_c8l8J_Y9p6edӰdNl\$`3rNf968fMn%8eu'LپO\$,zQ9͡rQe`-7R]lPＩ8'M4mfE.P\r9ҁe7}~&)Wꗮ V_j4җ#tуҔIr~R03jM;rZ`ʌI]qIFiLMU<{d5R~)1ZA:byKa={P%TiףU\"LL坳~ZEh%vRMQHt\r6a+G\0g[QAP^5\nb7-j+){sU_+n^pmu۹m2v ;nE.f#')\"Q3Dh!4Ɲ\\Sj\\2ՃjhIҋ)EO92^v{dS2%[ϼDu\\Iu'*^kzϨCEI@uj[fEZfj<Yy!CLx}I4d!(2-4!a̩\rvܶ\$(`K+cC`y'1PKL\nj:2KcnUGNQhPAd®XՋbjO!e\n[̛utI~OL1p@RqLN\nXe\\pAW\"Shos\$ԎXZHPpp<?iSy&TKILr%`H(&/kP{lͷ:sn7\0o~m8fэ&-gGD-xS\nmUEc#\$O%rufqˌdbɈO~z`ֲ\n[avd͒e/:HG>Yt5o\\Хs+&w^zJG[/gYQhijG!NreN:Y*1\\ǲU&]Yd(dިI}>ŅآPSlxu,	WzAKrgR%2+OwEދ|zVX?)FQyt\rf2%v]WMno̕tp\n%ƽ'4V,6'Z|Q/tX',t9*,i:k^^5&FR4N,,tm#({LR|SҔ&/^zw\0\n	\\/TS*%N`6m&~ F'8dc0NpD.!HTCtml/Dt(_ĉΘǠ+nyD( }\nw*>zr玘ʾ,\r)0dZ,F_\$ʣjo&_Jp'Q#2\"p䊼sq\r4z	)%Qc\r\r+v\0*%#LjܫlTʮj9h1/ \n`l2/ƥp#TFlN\n`@u`8vFz=b0`Q I@,oC|,OG)fku&\r]\0!H2]]2hm\0'q&*\"&RU)įDv/Roʤ.7#\0^kds\"pDpO+mK+Ҧ-2Lg.r(W2,pQM%(j.LkH\$z>e򄟐9D\nO	3U(\reK'E(5L9d?\$-¶j&%jGTm6̰'%@1M(q,Fsox*,dp[4W3<g4x>·&mon\$`ksS=0R;,	>~El>Ihb1>.A@0VDu\nXx%\r,M2qAR?>5?0Ϋѣ6N(Rsi?\n4CARFqF/T\$sT(4W`>E\"P7ڒ,1Jql	/24nLF4)%(1?M3R=DwA.cT4oZL@ǀјty4\0L/DSo?tEru1p6=-J@PFt,2(G	GGU]TTLuVoqp1YU/OdPӨ<#Uc%>&RC',(C0YdYOZuZMQ*%Gy[-9[j0eqlYS57;XT;X鑹ψ(CU=V=_z=hʌReFGWl,ﵥL\rܪu¸YD+dQ/UȱcYUSMdtcdՅ4&x=RSGA9F6}P(h|rqmWόFA]\"sHXgaV[#5U98+Umg\rV+VՇ, q`џiTF/oep)q,qr=ƵUo5qrr%G4\\՟`W<gNr<7Qdp%3hhd^+ԣwQ4qk,jDVL'__!Y`S*iga39aw\$WY6pՙs(go+6{;ҲI\"S}[{Y~3M}gt5km)OU~~ov[{/\$e\"':)\$EItv,{a{H8?pS|!WS`EכcЊWDIzA\reVsH8WEb#k1yW_H>TNJ3k{tI_q\nH2o,tWq̛r`H)pP'{E1&^Xz*:|<P.'uMg-Rn~>BU޴cH<(TxA]-Oj]{?@V):4\",Jd׻u`l9AH3r-̎\nZ6g\"թVY\$w]^Ӗ3u7G}0NK\nbKfyo(27-p|ٺpQW)3usLd@[7)ЯnLEُwXc#zyYJlP^\r:J(6DQX+gE4?\"bFSv'^ؙWB+V\rgAqk;\".<#b-,q؃GsphZƺ(V\nIAv8'NpE>fm8#nT HV/[cN;r5AS[	1bZPdGMEMR6;*vG?E90I0URH:+z,OAusfYiZ1מ_e+D\nx|<D	:lb";break;case"bs":$e="%(l0FQt7aNg).&0M磱7JdKia20%9IH)7C@iCf4(o9Nqi :igcH* A\"PCIrDqe0	>m7ݤSqA9!PtBaX.	B2w1{=biTe:Eo;i&a1l2̧;F8pȐ3c{1cMYd2wT/cg̒d9\r;P1,&)BM5Қ֍[;\09K\"Cj\r4)׋aҖ9@7h+jFlpׁBbV(=%*[*0Ȣ58*Ir R9%N[|V:1cp3)0(`4m\$#`@%#B3:xIBr3`^8O217\0ڇ#x|	2CJ{*Rt0:C:.㬷bL5W;2Yi'7	K;H¼M(J2F:7]w7w\rHrG`62t# \r9 3#477\\#ռ[/|J<1\r(@3R\$`PP!PŁB<r:جЉב0ֿ1غX됃\n\"`A!(vt:%+hh,6=7R&J[}065]iogjU}Ȣ\"VL\$#H-\\b)ZMGH.+npsXԠA5:f/L+sʣi[\$%N!C2aA'x桬M#E0nda\$7M՗8c¦!3ߠ{^\nbݛCxfФVjo1ʼ72kMNYX0W^aA0RHnI\0T7D*Fx Ky IL\n(ujR*L;U.rSxۓҬ(>\0@ \\G-,YPIb`%&\$\0sOഃ(d&8rRJQKD@bnS>Y4>	-d0P^D;TAPPHX|1(CΒd\$HBh!/Tb)H^C4LjAAɢG;NLLa~24h\rIi'dX\$4@@P%S̔\nN%E4琒@qIe\0ӈqɑ*êcS\rD\0M?Qɒ2Po9P&W9cxn(*Πcƨ3NE#T҅/gaL)fƯZN)ЅHMԐ2^ߐU7*Ek%D	YD	JI{W<Sh0AVC_Èu9i3!T1tΪ9U4YO\naQ^:. P6Y.%X@эvV<Ց,4-I7dSl =rJB0TMܲ9\"'c%F҂Ҩv!W5\0U\n @BX&a2K>\n _@(L`XPU\0?ؗҩnigNN[B5jvnrȄ۵Um_K!\$wA)HT8sp.\r\$v떛&QthrҕZ>0Ӛ]G1dK1\n<yGI`W\n8o\nf5xDFy\rfHڹ̈%-Fu/Ω:}6[(wZD6,!bccnnj[tDA\r:<5xω\ns)P_Iވ0'bMZ)MiJ,@)K2s#\$.r,0(T!\$\"Ǔ)8&zJK%&秅x K/ck\"W<+Y.#Y0\\0nP]	vp.=%	sOu5mmuQ鹋u͹}]A<*>L ^\\פ;Ok~Fz3=;(<a)/y;ߝ7P֨AH=ND\"؈Z1E\"dgK~CB5Be}LUqÂ\0g\"`,\"t1\0PF? Q놞 rz(ߘ	4\0i\"0A0I;C T\n4L4g4̌&(r5#V2p	\04XX?\r Jl\"!-\"C zBVgkFb?}\"/Mr-EW&\r`Cǐ-xf3H\n ɚHɊNZr(8G\\0\"˰,и,&Vs%eln֡1\0'\"1c9΀.p,Q0)cN*ݫ/޾#klfgL,>fF%v_eR\$czf<1\"-Q\n-'1`SeڗВ.>nBRNp&vpBq(QʘXmܑ}v5LQ%-UEBDʩ~1%>t%G<;r%2!##o6\"g2/12=&`IZb7\"OeWdr	 4iP rRC2Fۋd&\"*%8\n<8dR+g*RMcpJ`M7C!X#.\0F9K.:^r#/.ԗ2&.J0*k\"R0)#qTߨ<2)A+>.*5E4cVH.tr+<Arp,N?#P#{6s\$p	5(rJ&*)g6-v\$2M\"\r:.YBpaN^R;&#dkME9]nf^E\$0oq,=@Y\0h7R\n2v4MJ\npBWNΣn.|;>ZnE4b\nO'LvFuW &-vA~n%I#7q D\0N1@t&C@)cgb/\0b;?ѐuE\nNGf/C%Nt^`Etp	Nv-#U:\"quzwf'qXD<FJhЪ'-iJ#WÇĊ\nThJH`_RG4>C F&-=!\"u@6J5t7BQԾ5!o5i&tD c\nCEm\n~}4- ";break;case"ca":$e="%(m8g3IeLa9t<NBQ0 6Lsk\r@x4d	s#q2T\0Bc@n7Ʀ3xCf4(i8hTC`uADZs2Χ!c9L7)I&ZMQ)B>MΒc:N!i3M`(Q4D9pEΦ\r\$0߯Q5M]YbscL<7N	]WcEY!,\nNxmoF[7n絆^4C8)llމ-ޙB26#r*Z;93 4, )NCB:4i!#.@cx5|6kp3P7Ó\0-ȅ'\$H4gLĦ\0BȔhV*Ƴ.1̣pΈ;p=1,; X8D49Ax^;r%8\$As<3^8QT`2\r dɁ^062rܘ(C06[n5rN*kRN6aϠ\r*\n\0<My^Ė6kF-T͋Db#Cs2102̈}4P +/3LbDI8\r7`B}_\0)>\r&ejS!	cB:t*ۍXg/\r^&CxYp[2*(^|ZM._7\"WnR麫H\nT;E,Ea,z,r\"4ǉܢ 8 ڵNԍf郔;5\"0<Ia7#+¼&y(3I4 t%JZ\n&B*\n!4X0X#K(6;pra\"3d()7i15ryQ&A<gB~T{3D׺pP0SY| T5d+2Z( Mʐ9(&~IQNR&J)e0TQ&.H:\r5y>CI\0ғ)3ƍ@\$-MpxڷCUHʬ!jxXC .R\nJ*u2T*/`S*A&+fHzQ`苗tA MM!@@/F\\PPijJB3eD%F&0i*`lB	+'fM#ꗦQ>vPoY5*\"!@\$ 4HBWi㗐Ddtӑ:<\$HSzzf;	y;\n[';(Ϧy\"V\n8*z\rŦ[5\rHc\r):N/7:RԲ%'\$GUѳ.(_*\\L!D5 \0_\$N]^)/G{*u\$HJlJ>;4\0¡LHtNSUu\nR@:IQ4L\"8oɛJ=D-qևnD\0b4\rǹWA\0F\n5/beA|9Fʈɩ,A2La<'\0 A\nЈB`Ei~hW\$V\"]+C#H(Aˁ)ZKIyA#qY5PPR\n+H֛^U	2@ubI+~#BPV./m-Ԅaf=`[syi*JQn];^b#sE\$	;U\n3<cPȁI1%+	+?0/\$ \\Bx@򋶂ygäE(aւVRn˄&I1[aXPCxkN_h#\nߌިK5:*fXr8LW4ELe\\s6#Ssy384#+z2FptkC	֙vi4>^\0\n^Ux_OUB9}byTے㤣Y7pKNRJ]鳘reȝ5\\:^OuIN缠)R_A>YW8^]~RIqvD2*	\$[T1=)υFi(bnhu۶jI ,zP1Chl0ő78Њ|-Ee!cV6o2]|bDVB0{97y-p~E)/.L_ծVC>'Ԅ_c\0R^C)3}3`\"\"`QF;=@#\0/-g\0j3\nHC\\N6Z`\"n'Mr <P`e_\nf#Hl>On&q,pqd`ܫ(#nEZoȰp'/p'̀gV%OV\nВZ#24nBlp0;;pp'f&\$\rMcG0=+4(H'HF::5F2KҎg(v28Wc3\"eK_gк,8 o%##ET5K^&0'<hHv*MFLuFGm>l\nO[mEP[/O	1otNo&Q	\r\nuc5,@-C\\mtE*@(z!,l\$1r)K&ng<j>֌D6UM\$Ep,%->jhIM\rc(@&#''!CHْ5(K%		d!hMC\"2K#Q-\"I\$Ebxm,D6.q2 I\0Q/3-2`	\rrN@DffH}N&oAbxo%39%PTB4\"ZH?\"As(Θcðp vk&KE\0p&,GIp捂&n\${vrz\np#BDKO#SnxFw\n!!/zʼJ'(#fO\0) 7\"Bo6nO2+bI,-^%jl74*@6%nX~h0-kv}4'8r\\o:gˌaN4^ϐh&p<4uFQTr6tb,̨(CX9C2%-8)' tAee2`/\$\"ffM,.`UdBcKԢl&dcFBBNg_ #NF󎏒YF=4kR\0|lPc\01VT(eH@	\0t	@\n`";break;case"cs":$e="%(e8̆*dl7qraNCyo9D	m\r5hv7e6MflTLJs!Ht	PeONY0cAn8Ua:Nf@t< ya;Qhybƨ9:-P2l= bqa27GɌ1Wa1M̈vNBɲ:[t7Ie!;ɲZ-SDκfUFcga;da1l^ߐB͘e64\$\nch=-\0P#[h<KfIcD 0Cz 9&4'*6tC#\0tcX:6B@9\0P52B4B9C*D\03t) h7Djr2F\n'.\ro̐1ICH@1@4Hc`ȋ0z\r8a^\\0̳<F\$8^1ax0cxDQZ1s8̐@X|\nˈ!n70<:(CX:Rh=\rX!2gZ-X2ch0W	B\$0Cvy:20\" :(\n%`:L 7cb^6zY?Lͅ^H:]aI`CX2i!q+NNQ6	;p\"-[ȴ_R`928XKm=@7m=Cz;l-T7혡g.c`%mC1^\r	04nIRb969/@3eD5*LR	#l`وW;bێ;\"@Rj8@6?CUX#w\\WI92v7Hf*kOأBrO9ƈ^HlĖDkF!8R2Ck=\nЉvr+\ni0r42vJL\r!&0f')ȗҙId(<ȜVa1=<[Ȋ2\r=ܙq;`&l1}ACWԓD:%>c\"vzDkbca(dBb0\n^&f1F9Ԅc(]!J\$D|n\"i\rR[kL!UQJ1G)\$NByX|CHs-xr6cd5%6.-R;(%	.|X.+`a;i5A\"R%@\$C2\nC%TzRjT;u2%`rSʀ@nUJԇd\\{nQ!s4\"	2ʖZV+-k6L1LBë7ݛG,(4\$+\"DV/S47J\nm69!a4#Di) }e%A4ŒdсѨd\0*ϫf\nI+\r\$\$5.(Kf!3֦7ON)Cғ0f1fCSR^Ėm2%z%(L O\"h%sES04'̬Ó\"f0Gɶltf)'%64˦!zen(@u\0q\$D׀/ᷝ8_)Q<PD0	6:ezbLcmдטɩ75h(Zi&L`/\">يz\\X,ebp[.SkpǇ'h;\"dTP\\RBNS M+\"I:HiL|ˬL1&-ɤZMeBs=W[e0ŐJ61:S96PGHD\$~=u1_\rb4qI4)<\$Ss\$+jӺ<v>P-\n>r CrIo>{+upz-C(QTt0>0߳vOQ,MVo獉;'Xu͘O׷[bmZЙƚPΙ˚1	-BZ}j ȳkk-CǎblMLPC4B[%tV,VA1ظ4Hl[atGY5A6*X,mrAZdg&<R`p#fA*@ANtʦYXCKiYzHn Ƴ=[R*HdoMWhX.0 5<,CP%sBƋ7k\"o{y'nA'0Oz̍V7FSzy\0>iGir#?o~?]߁_\$a)5tRfL6p x(%LDdJ[ǭ >ʰވJD'by,C\$ 9eX\0pLФ#b#Cp5mY<l<@Cm|\\D<Yn\"J	'}bl;g	\0ݰ\rXY\r\\ZPЄ#\$PpNА=j#ĐPcF8EtdN.<B/Y@'*PeJn 8nH&Bl䂠s/lP. @b[\r\n\0褅ΦVtRiQ,&vm%R\\Ďq\r._	naPхp\roqKK9|C.A'(rř/ϞϯUcA]eQH9uPϯ]1./cODQ32\0nϠLcQ0\"q/\r9\"0/&g^\\\"<\" fx&>%Z'ʊ\\+.\0P*j[(\nΆ\0>''Z6f窏 4j\nHcC\$nw\"2&;.8\"}&-#B(.9frN'e%MlvE/%tL'\\t2\$01S'1%\"2B g\0B636gAM	bK'߆>A:Gr 1э\rs \r/3ӏ8398'6s擨\n[K06sS:ӵ8%--\r5#Q\$S32c99:1-Ύanh08\$F	@.ӗ\rM1?|4\0t5@	3FG-q#\\GPRAB\"E02SA\r,S9.\\2p|BnrHoUI3IIbߏv䆍\"49T!ԝ8\r\"F\"A%ktD IcqI>  J-UN&t/O!OTZO.bY\0c'F|m!.zvPDcLC'\"s@򚤲i`#(\nZEN*!}P3V\$bNԴ1RuUeU\n ϵ !P)we~vr6:4Fcp	u8b-Db:6{3[0F0[1~3\0ajJ͌\r!\$9@bpC4;1EO'vc?Pz8X0a#Evc!c	f@s\nUP q\raXsN*9ΆfeIC0P#P'th1T\nb2t'ހilp6P\$=Bzsk\"oeqFA@C>\"*&Ԅ-,3#k4A1w1chN|b\no42. ";break;case"da":$e="%(u7I:\r	f4is4N2l\"ц9Ü,r	Nd(2e7Lo7C\0(`1ƃQp9GS<y8MDYCQ\$cf2 )RN17&sIl36Me#)bl51#lg6rY&331@a\rI-	rɺ6G2A]	!τĝ4z]Nw?t\"3ob)t3˭YESq7\nn5P<ΐ7s-C.t9+Jnr7H,PX(PldL kx990##~E`H@8.C\0x0Bd3ێt\"ֱ#8^ 3EAxDk3ؤx| 댑p+( 譍c9Fḣ2m^9,f	@P0Cs3(UVecz&BگrʦU`0ܸ:6X260c:4MOB2T40u:XC@Ãkt>nv:-\$2LbCd2\r=wnRfce\n\"`Z5vF7դ+/:`.TaW\"؁B{hΈK1Y3,b)L2YphܚՂC&\0'%U`NL!Tj(	[54cmU-~#1M#s]!UX|<ˣ\\0ĨLpo2	V~h؜dZ:\\*Mu:\n5X!1%Xf^`7\"76J#q:br#񱎲3]zƎsMO#860@(`R\nNU:?tԱ \"5ޜStN<ׁrPaSa \"И,w,FZu\0HK̹VAF0ɑ:(_9.0xOA>\$A#uDK([Y=웹gBLJaI9/8XV0J\$Ӳь|>xD,o`7%N\\~e!_|,l\0Iyu4+&Me dY2ZK͹@\$\0[-CL)\0joc+\0 r\$\$Jm!R~s#aT3*g248g \nWP,(1\$&K@7*gK,;C}1iLJZ띳30FЇvt)(.MG\"\$ʛL aD=&L l\"	\$<Í2RHoItTRdW0@ƽEc\"e/TWi|\n<)Deao@g2S'so.(G0TI~L	i(!Db\\-_9pЖ\0Ai76`!\$-}?aG-zg6)\$nɂxNT(@+IA\"r:GT+j\$D2pc\\ޤJlW޲0jDg@hPhDԅCWFPjK>D\05=}1iFڷpՐGd:|Y)\"t-\$Ø2Kbf\\2:v!O6M(FxF8v?AQ]XFC1r\r*;i!\n跋4im\r&? dd`Ǉ,țv!:F%\\1#%.LlKVi:2r[neĕ\n P1A|#%s2Th\nF-cCX\n31xsi-#X8T!\$\no;!s&X	e\rFGT#ӗDբj1JZ/lc[v!+ p		{n476ۛmKћ4SUhv+c	{ǆN7 \$#}'̑Ua%U\\2&Om	w!.=B2peHY0V\nW9c\r)_`Eq4J>D)ӗ`=9Կ,	N_k}\\`\\f!H۷{vRᑬLJb=xˬAbhPXu/jflkmQl>bRh:NC(u2\nǙ1	Rk)c=\n/\$	.KW6C	#M|9:[uS]GP׋jww	7{OϷKWfh3:ЮjІ\0 @\nm\0pbʇcʯJ\rhBji \0=+M(&FhF8F(M#h)(dI|c({\0\0b2n&L\r06RłThP ژ,\nк꯯'\\lVNоK#pD8lnLm/IL	\nzTlofғUHp/1.P._o>Ħ,Мփ|al#b3TIXm\roI.	h1ڝQh]\\ kd폐Q&Q3\$1m+0!7EOB҂WD1Q?Eвg.Ct4BF V~kEYV\$2KGxZ#)L.qlJe)\$1	eofRCAR\\(NOHX\rݲr T`d٧@8\\_\"~(0AL8\npi?PX6-blr5k-}mb*>W.(\"fDJ;\0:\0Zzq~81?**<(nĐv&TCBƃ\$bC	f!pz]20N.H2f|DoJYViW|fa5y\0Q7Ci8hL6,&(`jN: ,!K6%X	1/\nF/DbhpLk\\\0IiSˆ[+ 1?c8L&S\\4F.GLZ,J&,)%0v\$";break;case"de":$e="%(o1\r! ;C	i9	MQ4x4L&:Xg904@i9S\nI5eLn4NA\0(`1ƃQp9S]\r3jPpv >9M(n1\$\$NқbqX8@a1Gc\\Z\n'X(7[sSa\$NF(X\n\"ڌ5MR\r6e]ͤ<#(@dDM^|z:gCܮvܧDSuﵗ6-l\"䇾*,7m+\râ50 P:c.\"\rc\n\"26J;)CZ<Cjp4\r0(1lh1\0t9x谬n8\n\$BJnB`3RĴ;ˈ#	66OJxHj-3 cꁺk&\r\rHA,r*\n.[3:xQd,`x3 ^(4A31S!^0ѓlI=à:cs,ɺ+)@⾯h6R['h\n7*!({,o06Ȱe,xZl)SV҂7AjH\$ϣ4hΜ:+5/p\n1&\02f S1ZϬ\r\03(:\r;d*#dh9CMz:5ː&^>~}(4T0[m))Ur*ANo\rlʕNƍ\$ո6+n,r\\B6\"6!Yl@9j\r8cZ:V\"Ia7-#=2!N\ny8.o&oOh{'%ף-\r/-6fꊎk}A\0Z6*Tq	\0\"qRG&qr|E\0\0\$!\"5Ĵ9+bA'ɉ2Z#3/`~f{8}/~CM-E	ij%A\0D\nl+%кC A\rT7'@\"B2PˬJ^k'\"26{!(`ȖbnT@Paw*U\\U0T\nR*dCU2\$[<;ZY/TÜ]KL̚Fqg*zFN Tb(P0a0!RYL:\n7\\`e(Nk5M=XM	\0gcA.m8j#H:'ay-ɼW!@\$\0Z8n۾`y-E+K;R\"Exkm1!Cu\rW|ӧ@hXW\nqϕ9#̵!TB\n\n )'#9*!>̺6\ne=c\"Sp\"H9ZGނĒWp	wᔗ-VhOhWcd1:*Z^k'H@F;aF`pgOCgh5LQ_2'XQt&?3P56hI#NI\$\n9>'vfCmb#\$g*h j	\$4gvI~(kփO!ҏ`r|;'Cp*Zi+z+JR}j+Au`Rs*#@ryOOtVȟX:wI3m<1f'\0 A\n2@.k=L	Faw	e\rZZs	_АZ\r7;D\"Us(UvdbtJ/OSyfQ\0lI55ZF:|t֭ڸDC.pا޻P<B*;bu@R)\rຆP.\"ImJ!(SK\r %062\\-#//4.&v5oF҇44 \$YCB8I/D(3xo{x4mpT4LsnGUh(\\b/]̝\"j\rfPPY%K*G2̮yAP 0C,dht}\"EsS4ʪ]}UqN:7̟So*HvS`=,Pp&So.騤=0U)+-gMyalexyP^r\n[D=qFY>B%9Xkf]>a5אQH#rF;02nn 'j71	tqD\\C6c)]@D':il3mLw@o\"Xv4!3TpJ@pTb}հ(Xp0\$HW0V`d =ݨj`f*&.-2#Ƙefw\rHσЧ1f\r'PdlZ\".⨌#<.i@Z-C^1\rt`/i``\"C-/@Fp6>`9TBmu~ӢCPb\nG\"1~/',6PP^1PrQWZ\0O'hlLql\$T0Y_ONRѝ9\rY{C>\n%5ZɈ.<·k,\"'\"2Ä P:Ȍv`E^\$/	RÂ2e\rtC !Q5NF6m冊61%3Z[QB&E'\\'Hs`su#>sF(Pi&()y'k)E(9*r|׃B@Crur(I1U-)Pq.\n|Lв\\^*x06Jn+\$̏-Zu1!p\nGxОhQ/zM`f]3R_c4.m'S5>構/Rn(rmE6)3I)bHxW2Sw6s0sj1\nS꒎(o-gBӣ.ss:})S`0..\noE\0_K\n@\r\">*3>ʈ&z_3DJk_|1Þ%*e\rV	hA5cG!\$#˘J9\np	`}B5I0C0xditmq,І;pe\n\"8#@FäfCJbqC%JcXވBbHEqGC,Cn	C\\OE\rxCbk(QP\0002S7pd2'!-T>q'\rQ[(@\0\0P\$u)>Npoq@A&f\0B|@ƎN18hP'pq#K_VmlCT-.+%dpäUT2@P&f8\$gL.ZU6\r̻scj6ZjxOh.Ex+>*`";break;case"el":$e="%)g-Vrg/x\"ZАzgcLK=[QeDXŢJr͜F1z#@Cf+Y.SD,ZO.DS\nlΜ/*	D+9YXfad3\rFqnFWBWPckx2V'\\Is4ADqe0̶3/tfOj,Q#rDIjI\rQe^DAJuC\"\nΕӗMs7>|w2U:RJ.(E,Z7O\" (b<K42LNpR8:8<,rZ\$39q!j|RbʒZ\rCMrGnS1˔>̂j ĚdڨQo(!r{Lqvg%|<B5x7(9\rQo	N-\"J22p7c0(.@cx5\r0Z%	ړ(Q4tH1\$\"\"Wrx^\rJ|q8!Ӛ%+ۖ8# 4p@2\r(Q#:h}#{w7:#RՎHQ\0@85#H`@a#CN3:x\rxQu\"3(5\rWxԈۅ#x|󮳙wk6/kq@ϙŔ9PܢLjp˳j+n< `)0Cv @1#3{[uBolL5Rtëe:J+ 쌨ڲb*(s\\wܴj(ql0E!lzBo:=s0	M)<*xXlZMׂ@'6@̉I%'rDI[U)P[hL(\rx\rWo\0003x6XS0ސ\"SǓ(<vO꺔rȴ1jee'B#[a1WR\\\\J'YT=^ck)H.HďPDDTd:V>ZȰa-Af@N3@'`C\r\rE+&u,VR(24+N57m0)sEqO؃	bE&o4˩C	Y0TFF6JA2~:%c'JauN[9od<]K<md1\"O!J97>Q7T4ϲA [.,<R7s|e#wCLBk<PtDKm;Z.]\n~.\\ ^^Uj\n^X[z!4&U_wFbMh*{\$kwǃ\r!y2\0@ȃ+\$d̡2\\}fݜãMg`Yv<,] V6<)<QZĝ{֖ԓ.Hu|FA-WE:k,ia%d쥕^ً393te:6m\${PًNkʄLʉT1kRU\$!B&pDW#&e-cҖPEE¥zM:l	]ᝊsxu\n&ٖl\r\\Շ]K!WpXcb`bA7Y&Κ@LlQ=Γ)|	H&(TeEL4HYP:Z%a@\$\0@\n )kЯ8\$8ȁT@\$rm(Crvfd@ÐiY|r7T[TS\\5wt*hQ{Q]*NX;DdMeC묳/)j02Q\$nY&(Urop.\rzTIvΚb0i\\vAVB\"q@rZ-|*0]HArrFKo-DPdБBݥk<rnnD/}YtdQtPTOAxF#.1`҈AKēR.[Y)':pU8Mf3Y>T\"sad`<-@Ҥ)N`dw֮<rO9sbXTt{Hbq2!9%QgZHd3Ll>p3Չ&yMtER I'X~-&juScè,.'^ԃ.gpǜbJ,>K0kN.RᏴy&'S*tM*Lp.I\"|Ȯ!&6T3\r2^*FJtSLM)l5BžJDb\$V,9\$/Nw,MǪ\"x'bD-NN?\0\rd\r	@KTet'7\$Ol2xn*?IHM\"R\0S\"Hohl*Z.YBFe.-Y`1Ux1hrt9OJ#FWn@En 45mn\"81\"NÆw*-\neR#4`\$0xcc\"QtJ*a&\"h\$GEJXo*P2\n 	\0@ Q^48_Ln_\\'Bz*P-lo<>:@G:?8rl?zKDO^q*ܰ>Rt\"\"JDRp{\"2&?&즂(r[(Q(Pto)L))bĠ'R'@d\n.0/bR]h~hi+B]+tBg:&2(,a)r'0+12&37,4lJFI(nt?An	Gb!j\00\\pe8>E@l'*^P)703C41nq8/%6CfYʁ&,B%FW\nHb({|'L-N;l!23A?d<b9I)iϧR8B0t9ARJT(,w0q^?Ô2\"`* >p'SdB1vJ!EU,qzC<GTnyF\"!gFvLo(^.%\"`q5 #g@R\05~|2!䮷tȉ~I'\$BqK,\nb)G thRN( \"b@/\nMC<M\$T\0\\M3H	P&gN3+T5ZAtEUTThgGqWP\$sWTSDϳ#()F]-ĵYFY_Y,JҡZ(|r5c.'%9 WeTiC^Ktlq\"uXuD϶^(v\r_H!sa OQZ~%r6l#a.QU4u>tfʊ@6\\H;b?·Od#&rN9eV=.v-/6^kNv#2bB'GQroBj>mL6tOzq06F5Vuye7t#U9Aw	oh5cHPv!V3rID9poR~!UqgBuwst'Oo)_-u#;tKko'p7*_vH:2#WH=sS+|<C=dlyczT\"1lH\0?[\\7I_MXCwT-Ywj7!famz]:BhW=P\$z˖h\n(Ӹ|kode08GgO1\rk5,XgEL\\X\\E@ˆLƲMowQQj8qaXL1t\$/-GV/wqqwo}:	%1uxw2 yALyTEPE,BUSX	!,v~871-Q#cWsK7cXY(GBc<%O\\.2'I3,5dG-7paަq]y{,A\$ǁ9i*'XFOI+9@իV2חT/T+1\\3^6Nr3 `\r8+U/v%4BgcA7a:.>zXh*NL8\0\np&I[TM{TQCi*'ODaED/~όsd8>p	y\$&Yih91-YMo򄀣2X䑪\ryj7'mѠNb\$h GJ\"S5\nv(, qbr[s4&NzPդJQktXTG#+K91)/U2p'c'xKu	{S\n}8}{cglBl||6RcaN܀y/s{d{#kzZiC<hoGJJ}GS T̧h'\",2ՐlMGtDg(Y4xh>zbxF\rl8Ǳ3Hȫ:k6䥙>kWIîz3 \rQ n:~\n>m37+1`%ϓـ]&";break;case"es":$e="%(oNbi1gBMi;,la6XkA<M\$N;abS\nFE9͎Q 2NgC,@\nFC1l7AECL653MƓ\$:o9FS,i7K_2Χ#xI7FS\rA<MӔia	r8MNfDl4̆gMjE*p2iiN@	:.O~ir2,dQCO&p9H3,0gKvIyfG{[ <\rℶ8ܲJӪP0Β4kR݉-ޔNj,KoǬ:-&10*(2Pݍp7%(1F!c(z!cc!F(0 P7t\n#1K-2x2CCtx|#ƅ##F4o2,{&140c0z\r8a^\\0΋x-8^9@I|+NN6\"Cx!F+9(3s^.-9#ƽͫnܣ0j=m:Ȥ9+2QkǰPJCʘt%R:\"+\0n#`.R(͈@;5W gKQA1޷\"~mK,28P<\"&&M#ʩ`Õ\$d ,%0)\"`λ-67vpL4mD UCla%3m(¨Q[1܌xsSv\"--/St{\"0`9HM7`_)%[Kr½Kc0[x>b@kסSej8~ԙ\$(\rx˃KFZ90#x^yNǸ!ǒ^{4dkI kbO'_)ՉF\"eHxSp bFn\rd,3#؅NH&MKJ}UK6TR`\r&B>3NBTJ\nТ1!FEk:+0aUÆJ[E%T\nRD8bҫilHB-0`YHa};Bz!1<ZLb3B!D&}-ؔ/FA8.BqP.Tѓ	5SJR_i YA+8焜(\0\$-\0POI:.XȉMf	ؘ\"8C!,`8.YHYINd\$4u\r9ĸ^BbPlĊQ+\$\$Qe\$\$ɆR6	R0sw=Q8n҉aL)`@X/4,+.@(Be=~4`P\$/&.ʑSF偡Y.~6HKKE1! Ҟ*yN\\4h{J,!*f1:ROpP	L*&3Mg5!0p\\8d芖NJIYbW\"iLIFg\nBTdZ̛`	3yR Ô3Vh|Z	C/:MOmMA	!h #yxO\nAK\rɕȗbASeU##\rΆ\\I+Ew)}0x3MA<ǧY6B5FrjbGBӖryhʝ(V-~V\\r&LxY-a3^=	*I3 3TPH*:kT!*NzF(/9ȱ\0(98RĵĤyp~{J#\0ᡇ6#P_o`-;!ⱃXjnfm]b_eHE7\".!~6SwٻkԒu兽hHKG됌Z5n/\nVmc؂	a=P<1#agF8x'^G@o_C>`G%&HrHfL\0o]W\$N~rC'!gʢ~fLE((Bu3\\ҧ*.f^;\"!}sA0I|\"e.fV,v|A9-i\$gBBPv\"] }R;,_5/>Ḩe.5h\nC5~].DHޖ_&Ȋ7GUM%fx5XD/FŢ1LN\$G|0b\nXp*dB \r4\r\r_\0\r\nwɲLXĢdml25/hb0b\n,,b =R7nnx0.dZΚ.,ФP JdbHiO\rPƮP=Ɋ7\n2Lڃ&?#4?hAJ&g^! &j8g+A[jKB&l#qبй\n	Rx]tFQ\")1&tPHf\r\riMzdnO7Mel:Mg+-d0Q[NTs&p`sp\$4F\\i#1aBe&,G0.?C\"NNk^G@/r/'5 g 2PR -, \r\"G,Q\"!r2.\"B&dL@Tmq%ܪt2^&qb&c\rڑHݍ( \\Y2zEѼ-2ޯ2(`f!a䨥)2ԥ\nz3obCRjG:qv_2.dYp/B8/y`Wm3#F\nD>p\no|`K@e[\0001I%c*D\0B6&ueS`Z	L,dOn+ kʬ`|7\0JO)F\nBmq)oH\\Y2ΰf\$K6^\rF:&B\\p>.0j\n\"Y>N>GpBx?k!o|qr鎣fi)C)3C@9~g\0׍,!cB\\hn\$^kD,QHVLP(BHފ4NNb\$\0ŠE!	/h[Ks*Cv8LxIJP]`Fdx\0 6&s8MYGDD%^V#";break;case"et":$e="%(a4\r\"e9&!i7D|<@vabQ\\\n&Mg92 3B!G3u92	apIdCf4(a&	\r1Lj:e2\rq!?M3ϦV(6byeWhsygD̀nZhB\n%( i4sYm4'SRNY7D	4n7hI8'S:4ܜ>NSozZW<,5!Z 6N~ޓ0~3?r3̾!Ϋ'\n3R%b52C-x2HX6{94}\r{70#.Ð@cx5+r,4B	#T*2Bʰ	{ 5oؔ<l\$#@2\rC: d[2#ƈ%@̲,J:ڰ9h4.0z\r8a^\\?C\\ƌx7>C ^'a8ƍx\$&5C2	\"i֣&\0о-)@\$R(ˡH aXt>+X5?b?(J*(uh \nC+\rl.7+R<_N6LmM\"# mF#XC&\r*+	ڍb8kH\rkxDM2w64cZp8n\rc1#Ø401gho{*Qj4S|-CV5m[&6a6%%\$p2QJ(BXѻ,@P\"kN8!ihl-Y(\" i#lZB*W@6݇@VځI\0#\rJÓM<5OAT\n3q+'I1%/	Sn? ړè۰(\r:ǌ&0j&qCAr,dXG-hB 7!1\n#\$&@)a\\2thuMI3138sPnB3^\r<PPJ<CCn#'lpY0|dᭂ\0rPڌPDԈwRqa)s`Eª0}qz]6*\nY9c@)ay8͋T9'%'m/) xdQJ1G)\$SM>6u!J:!JJdAV\$~dDlRYidDZt0զ50ÒH\\sё4rB&v93]p@]B^d9pP3!MDC#:lqYG&(\0(i,w@S҉AlY|8ř=r{M\rܴO2iuXoٷ+?Ё:kO&RaB\ra)c\rǨ<SlG\\7ZQ\0C\naH#HV,a+R,;*jL%Hl?k0Q90(lI8I aܥ)5W1GC2\rZ6#*a4PIO\naPtFmV*Kg#瑖ikͻ\$I@peCocZ9ʟ\0Sj0T\nTe0I 6HI\r	\$',P9GiH]	8PT@.\n#.R):#vZ:\$oS)'d\$ G:ŇĒ,`+\$1ԐbICHQ1b&{!&BGi[Kqx̚nI:	F]D\nʀ5\"Qj0%I5;́d*x-[P\"iCzN6KB\0ɦ&c!̃MHJL趡HCP+F2Ls+a-]YQ4DJoByZ(C.vp֐O!䀭8rZp\r)7\nH\$pB\rPw\0%ko@UݿSrj+	୚<C	\0˘lL3]\"	w6Fx wcƳq!q2C2u:>k#f1uỹq)2|q2q]ŭ2I\$]_)OXӈ2! AI\0#3B(Q7=U!m&L(c<KM;v2mX7sn9W5\0uH!6}ZDHgM~uQ'дؑIVG،UlHL@TR'k\\?=,Rwm<!a5i.		\\܏eL)wע%m(&X\0'+x!1pI6\n	<B*NBOd⌞HH|L!K#?ϔnȢ!foȒDqnÒWhP\0\rBbt3\$\r!pLo-Ю\r^pz%7!7*Lfc#`hm\0P?iB̖AH>h]8K6)phUͪ@#?lYeY0d=/%Z`-PSj0\"5C|%ZCHsĐ01>qcOq;P>X =1mrr PtGH\nӂBcR	(nI6c-N<! \"	qmPPlgЋ1b?&%rLF慦<mQ%ln&:i%@2n._MSd	3v,/,Ĩ2-R-@cKʥ,NERRdo/ƈ&\n3(o>ẖ!!2NM\"Gn)0S&+C'W'CB\\G2otC@P	eZr}+mlrUҮg8ֈ B=81*Ϫ\rH/4`pl-Of3.S:Ge\rV\rbKB!'˻!D2Z.ixkkB(^j/[(nN5	\"\0\nh~'cFlO>X',b=,rN#DGb*?ĘZ?\\9&&p;|i\0\nj\\̢LtovԱ*pfiTLt|r7},c\r^b.գ[f[JYReT-D1tp.'T+drɐC.&.\nP\0TFQOb,^F0#oH_\"X%rg\rǌVl9U|@tU\rFr?o.%Qo\0G&	\0@	t\n`";break;case"fa":$e="%)l)\n@T6PD&چ,\"0@@c\$}\rl,\nB\\\n	Nd(z	m*[\nl=NCMK(~B%	2ID6MB\0Sm`ێ,k6ѶmkvᶹBhHA9!d+anپ<W-l'Dqe0̳\nXvC-*UeKY\$v⬅5NWf+PdFZ\\aT綷Jė\\VLã#u\r#He)nZ4Į>N(N죂ͺ猪j(l4{\\)#7lX\$d˨)SCB5x7(9\r,;P\n!b\rx:\r2aA7cX: \n~Bt`'\"_)/-A9j۫f l 2aJ: !T\01s\0<#12,4C\"9h410z\r8a^\\0γ]x7PTAxDlZ4Z6#H7x5NqTDC8zT;1	3iMq－.%PU0P0Cu\$r@Nq{%kҙ܏/[M-|(m(6۰'nc\rQ3\ņMN+6ݼ:˜^#\\&2:>ߘjNUCILL6n\nbϣXO߼L*pCs\"J7\r%2]	_rR{Lp>K(h7	D=htn6\r^!f&A\0:u(d1F9#ͫk5!c03/2% 9cc'ϲGCtW-iVʂW:3hW 1Q?kZ1a]am9!(PtD`8jUv)) H9eXYRnGyDA8efsYe#h	MCDl\0K\"DbTJ8\"\n^v:!̬W\n04 z\n0'DRp4DV*`W=xzGi,\0DRB*jt]aMS/FOQvĝj_b)5M 35\$>W➔U*VbըwVH+U0Ve\"jr<VPo:b9asIan2-[F'eB~Ib7:2ɨyX\r#&TG(0h\"CuQ\n(3ZXxg}]L2dߢ?82`+lr1G&s`iEFNTȐh \n (KvP'S`d\ncQ6^+Xc1ΙA:/7I\0+F\rt9=MS>45+D4Uea!AzJ,I}\$1>槔KE6TL(;C|궖;h!0RNEa9du@.FcľJɞlժtO\"ہxZN1jKC&(\$S̕\0l!>(\0̋l⣢PFOY,MbM4sf #`ݡ(²\$>KPҷTm'G**jNb@C\$7NYB0T|2mA֚0hU\0]DDi[0*\"`\n	8PT+F@.J.16R7Uemv[*.P:	5ɘsJE5/%~?9!4+k[j<(s.UlklD+sX<vN\"\rKq!m!mb'8\nAf) ŷ&R.s(pd\"\$	ih}]lO)GԻA07\$`uA:\0P.yh\"Bڝ}pCB*S9\r+\$n\$38Ty\\ul||8!ABR&NTΒP7NO660[)īd([d\r]FŶά/c%+)`iBHO'jPiyzKDSfy\\',ca\$emO]ɖldx;,\"tXWP?~{jۤT37hfZlLGb\$q9B)&l6HKv*;n /00g`sD:Ƽi*G\"D_%-Oޠ^D.s\n(cvc,T\\kO6]2Њj#o	.#L\\ijӎ@m|m|6eE2~.\r\r\r@@/lCB'N:TiIj./J\rE0\r\0G /PfS	[MȈc\n6Jm\ns혠OL7mir-\no?c{	7a!.wB⛭vwbb4F\"\nu\$'~(Qlkg,!Q\n\rhc1U\0b01x\"r@fOC(v4mc\rFr\rKaRBp)BϦc:6PRPWq\\}%Rba\n{rpl`{&g'/&{'n\no?\n,ptHpR.ܡTK\0jC\n24mn4W4҅ѝ\$](E).)\nr)m.sN^QonC)0r0FFܤ#H^/\ri22+W\r\n`3>O]4Jj3	5@4JsMns:\rҊ2K70g8qpR&.ڂ\$3*L%qs,ĭ2(9r#0F]'B#:42t>rC&Q'BV/W!82\$?h1O/Pk?C1K/П~c`@l><jI-0,.\0\npFqsl:Hl@h0r `%w*/Jl6b'3tDڳdQERƅ(FTB#l=/LƌjԦ8bĲuBEPY+]G#\n#!Ͼ%\r#	RVײDSK\rr/JNDsU55RR<U.o\\U\$j2>zx~6cTmq:bm7AYpO:2mf\rptȡs\nn؇\rVպFuQ_,R/o]LwI< :T^D2\rE@BDh ֑м-K\0d";break;case"fi":$e="%(i2\r3 2Dcy6bHyl;MlegSnGgC@tB\\ 72	aR,#!j6 [\rHyWUy8N|=NFI7FS	 ѧ4y0&~AHk!22p2p(MSQRM:\rf(i9׫hCcRJJrTf!7Y4֣I7uz^\r2ÛO 6ybkOd{%zMs24*6Z݊::cДBR906b>m(ФI(x:\0C1Z%#7\$JTă!kgLH0 	'1<\\ֹö@ژロ12IR`4\0&Po\r&듚6\0xCBh8a^\\N\r]{Ø; ^(a\rx!R+#R#m	;A(9xܯ\rcPzXQT\nJ#`Hj5XJ2Q)C,Ү\r-bH?p\n7VfB4,5~\n3τ80͛3#0NEg#8P<c-؜&Jkq ȪJ7-#%%V+H	BP(j{P𶶅=JSimZ4Lݯr*>09R)9J^%YB7U#ȏSC46:*r[~Kb@xrI5I@#w^4j!#03/^0@Lac#E,m1\r\\]0 P490aP@0+B\r#Rn,06d^%3J#2KE\0he㼃Y&ƨgiA[;\nBb9qqș51g)A=9\0ƔNmVM.&44R>pCput(MZ1'DC`\nnCGWqI,EGP4K\r\$PYd&JK\"*TSjuOyJ9*VB\r[P\rUc/wd\$.OnC^&CΖ ͌Ú-Pp5'r9\"m0]!d<SAN)@\$ZMPC%j9ǎqwnR~,|\ncQq\\CWY&\$ 3u^(lajPF8ÚaP-ItPF,g&av()41}ijsWH\n\0\nmKP` r_ނHMWPTe-R*sN{4<jdxF}@Sɉ:d4񲐟3gZg^AӌRLG}6&AlUwMu700-gp'3a^C%C.ɔqa0ə5\"	!H0\$@[L<Br`(lOȲ)a(]G\"^\"f]{ב)T\nCDpj<'bۃ!0z]442wꦋ`z'Hl`ep.2h(Us]HB=o2Oi1d'\0 A\n\0B`Ei-eraoR*@3hve1/ĵ o 4T&XAgУShl#{:y3~sJ`.nZ!)@K?tmSZZ9N%ڨ5pݗ6aR%),{P7'ii厝/JRa!)xVye5^Zi417kR-UYw[mE\0̺CniTl-K~84'sf60<b_q4\r\n,Hقe>0/~\0rb5#RcCەQKg!@CZǚ_<YLD<Oq.UAx kI]P<\n9XԟF2__d˴B;k\rȉ5aH}Fũ7CJW/Wx{!^8QmYܤ[vt)K\"&ث'꛽N@{9VA\"4amnpeCw'\nH̥ywldms+A]»NRv	;\\΁qO\"=K\0=KVVc\0H2c%b%B(A(b	>\"K	00d #-\0J&X\r-E_\r`'h5`q\0hBX i(/\"23	\n-\np̶ϰcаmPt%9pe\r^pIQpQ N텔ҮBxD1g\rpQƪ4am\0'f,TMk#\r,-)QN_#\"%xj\$*	\"Cҿ}^C#Q,3g}oKnㅰ&%YɕC\nһ#-0rܱ;P\nk'P\r1Qq`!Pz\n	y˞6bT4k*0C>`M\$\r0hY^cf:҆\r !+qpq''Z\$M\"dH	\0ڥ]%!\"S*\r*Z42R\rrwҪ1ͨ@%0z&..Bq!.%	//Q;!2jm=0\r'\n_\"D\"\"?~NQ2q%3\$HC.dC\$IDNٲzq&#1e(#lh~mo}A\r4im̋Ә^Mo \rV<E8ңh62ѣ^ pb'Iq:jxc.\r\$4OiiJ.\"flB\n?h1S5?Nn#K4^G8pBJ4\0.~5gW+=ˋ~zz2VdKG.UѷHp4+Fm^=+dm	Onh, _hb\nX&\07l\"j	\$*;p <NOJsZ[,ArѐEξ\0-4E#p\$QQB̰g}\$Fԩ֘k6\\";break;case"fr":$e="%(m8g3IeAt2c4c\"Q0 :M&xcC);fSF %9ȄzA\"Oqo:0,X\nFC1l7AECj :%f0u9hZvMqM0Pecqe0:N+MޏR5Mj;g*L'S\$yy=W3Rt\"pv2LndNhM@m2)@jF~-N\$\"s93N78-L?O\n77eKzT7@<o0½)03 P\rcr\"L;?t\0ъca\0).\rP7/\0!(\"\0t9BطhBK#&74H+V:\r*ۣ\r5ͳz9205hj5 8I(ļ\rp1	:\01,4 !c(X8ÌD4<Cx[\rA(}H9J\0|8\r22,@px!H é04RVAo64\"KxNBPOr\r863:`(J2I0B6Lȳc#xۃ%L;`r{I\"8Ģe,N4͕0c+>FMȌ3EH<B}6W:梔J 7e9)\0Vp\r]=?I\"#P2UO2j҈\r;b.`aTP(\".3s>Uy#i=.24e4M#A8Β5'FTV2-17(kW ? frdKBT5jǣ.\"Oyл!SRSe0hoZ06|}Z-5SA@fP4na4hb0\"%jc!01\\k+e>!PG3D1q9K98RΐC4Ƽ@ARMy0@P+`Q Tҩɩm'E`ܿCnx1U.107\"R3Es2B߄\\<20)2#@a/\0@ɲ^d1\0xrTĆB4aU:+%hº_,\0xY\0X	\"<!m\0̽8^h:>%d<xjr/PȀmT&UaN'P*ʫUzVj[us&%`rW	dB 1߆.0G]#7FFS*9)fa0X3¢aAkZMT`	!@ϙt&\";L)~X	;U\0QX:)PP	3E{)'iIUw˻iANR\$-&4ʓwZN:EeIK0,BjuSi٪fJkI43GՐ7uh oJfP!0YRE\$jK\"/mUqY)(sKȠu\r>v}HXfr\\;)YMiϋ7[:\\zQpp\0[\$P-D;B\"TaWlMO\naPD@41) ;b/¤r,.;+T'ꙐtɑIG+]@䜳tcFB9#N&%4QASj&:z(3L)Ύ!B#!VxNT(@.XA\"\0Tv5țn6HVԀQOU5mPQ2ܦ	QB3GYِPtqLNaMSS-Pis0yɔ(M)̹gLϝLtzƉ\roSE9\$A2zFbLɮ/\n;;^a'QLG\0j2lz&Sl9	9q	)Vʋ45#Z|W`PPJ;PӋ=grA`[u-CxIl4[-Jځڒ%<6Bh)vzK/#Uy+&QGCMK]x<Җ<-=Muc	HAadBPSݡ\0ﻦז%b[ˋNeK@BH9A(nTJi>aOx>|L@&FebAxP{n~:^ϔ2R*4]ȨGTzK<癦|kp)\"Ov=sZI#Qqf0*BƯཀྵgi͛\\'A{Ů@ˑ4]G#f|`mO\0@(7 E)#(n#\$\\.#h#01C0f\n	 4C<Dx@NVaRN`phj`N\$dFlAdi\"oR2 _b\n-\nM8\$P/d놠P*Nff.}ζgF\nn0`}0fϐlmN\\n_C:\$>L\r44Y8Dl.(0d*\n;Q~\rsMY\")XvS\n*\\-\\%	0*جsoQ\0!BPqa<1-1mooobоʊ\\PΑ#tN?F*J\$Lx5Bl#\nRAT<P,L)fL2cl/)^Pj/Lh*t#O>'5I37SQ#bz(V?&3 n0wJ'>JW&c_\n!0 / mQ\npWҷ \nv\\m{,&GyU 	GaS.0A.r-#f313/SCh%. x`'\0hf*OK\nx2Ma,O/э50\n&gdZC\nZrd\0&M17FR*ӀM*}#҄f|\rh@:\n*sm:&G:D:;\nV[c3\rmHl,ri>;>\06?GAΪfd.G2/E.?0?<ı@S_@C3	>\r8i+ iJo/8\rr}Äpmx&UH%I')#&7&*Z%.4z//Y0Wba#uaJ`)l\r':C-.;útO/Fԉ#(r#D0j\nZ1 \"eIQM\"{+*)w\$Ah\rjJ6fo\rOD\r(E-`,;`j.^)}zf&vsS\"`w#*)\n38 -N,I\nJ\rո5	&p&&ջ\\?UI,?^]@\$C)+-EuJ¨'b{+b\niƤjKua;\r0:cf;@ )\\A\n\nDO`TN>HFsZl7(\\D.-\$'Re}N]CrcI7(棐@\"r.A\0*Fb\nY*rpp&";break;case"gl":$e="%(o7js4Q9'!@f4SI.iXjZ<dH\$RI44r6N\$z 2U:c@59\0(`1ƃQp9\r0  7Q!y<u9cfx(Ys~\n\$g#)	1s|dc4pMBysB02jn0 SvݣF]ɨ9b\rga8ɲ5EA5iÊvUXلA:^Z:n<oU,KVƍPQ<\r/!26	0B	p֪J~I@4#*Z\ni#B:6h-H.t92򽯢:BH`Lr(CICp1NƟ-2(28j: ;9;()81Øʌ`@;C3:xQLڟ̨}>Q^)aCpʥ}6}+56N2`.07<Ul/+Pp;#,TJP-\n\0<@M{_k`rHA2CpJ<08:fPز޷[c3D&#S2͠L!/&),x	i	3vV0P&\rꢥj ܿyLȺ'+P\r_)\"`8[\086m#Pn0:P@#[P{e즲DltY-7,\"dP<t.ƣD0j:RHLP`XIGr9@1 |-CH\"Lیsh!2\n\"P.)BRRB4\\.CC8&[S2Z&H%DyLyjN\\PK-&Za\$܊ERMD\0CL\"eA)`YЍB@A	I	_p@Զނ,*ZI'-&vG	S%%H8#P)bަTڝSQuJUJ7lu@;,@C5+L7T#t.St92Ca\r8FId\$ uMJxЧTJSGKk8k!YW@DAyuڐBR-1b|Pk@%ȆP[<v2CLj\rSdP,\niј]/P/)80dvIC@J(2palP` YADL-@\$\r,3oÙ%D%dxD8e^ ޢav@hf\n(\0U|&K:ñ34mBFcmJ119C!5XP	(!Mb)=1*BBS\nACT8 ԧ	C|'40<A(tr@	1&d[Fde`(E\0C4c,B\\ʩ;\\բ!!ȹ+3d5fܫԱ@'0[liFu<v\rʕk71.RCZa=0i\nuGݒgd	9K x#J,㈋̬4nvPr~l(x\r3\$\$	qi\n@PA%A!@B`IA)T0\0U\n @1P A<),iD0\"PAČi3F0pC8%!2mMJ0ads\"+ZĦCIPp~4	,KL4Ћ3\$\\Erő7	R<h\nO;t:8v.q^/饋=JD)4RJtV\0fAc\rӻf#.PS\nbco2=E7♆<a\$P@4CTŷi'\n(Ih\nb4	h|5=/+(\r`mLL>'z߉B hr4b(Lf~B}3F߫-W8&	Qf^,XÀ#j&1`H\"7byNWY'T`h/^z\roo1xaRKϡMT-K'4Pg1|u48ocU4aa]Rw#d}߼y(GB[{¾;K&Q~%	Vy|)t_r\r0A5EȎSű]#{\"iȍ5, fg !R\$%_w:mtˇ<%<b(J\$@\0b2,duC[ŰmC\0P**z(=< k,CnJÂb#DC`X\$z2M*cK#f(PH#PpXWR9~G\0bc~Oj`\nN ÃIM`B\n.̾(Lh,Y\"PB^.Jg%*m;nM%\0000M0@4bZtG(6\"/ĸO)\"HSOށ:O\02'Pi-pQI6	\0`O(.b	8vⳢ!\$'	;N6\n	+1Jガ.e.'4DB(dJKIF;~@ھgDDq}L[4Mp zt_ >[n	s\"P\r)\"4#RBsÅ榐M&`kcL)\rL4Ԃp(0\$7')!\0!r')#dLn<<yd*9*rw\$!0ce9Ē ֚lN_-JܚCb*y4r֚FP2'ą&r;a)q](3BS#Rq1i1\"323e3c\nT!\$S\r\"@##'Tp?5^/P	\$`:8+]\r_rH>\r8':8b9H0BeD#Cdk:k;/!I`4Ƣī=,PZiCP.(z8L(\nZHM\"/_AO(\"2H\"0M(Y0:k@3|X.@b>ĺHɸNK)3ܳ1[2\"'F֗BM=G&ZA޹9#&͌N.i&\$Ab'я)h-3!CKIKJtkʛ@(.L0Ѵ7HpFEtb<<TPiL!AZↂ/Bn@ޤg%/&cMߤ&IB.\$8 IED.f8/'&#q\rDVGLb8,@.0?e#´2g\nf\\B\r";break;case"he":$e="%)kƺAAvUkb*m(]'mu]2וC!ɘ2\nAB)̅E\"ш6\\׎%b1I|:\nh5\r4-\$L#@'b0T#LIRQ\$c9L'3,.N(	\\aMGXk1UPtfOn1[	SVqClql{Q/CQD#) g+n^U¤VnBi'̱k\"1hDAb;9QӉuvGJ]/)\$Q)\n*fy7Lą2>2x7c0( . @cx5ļO>(6\"Ή-z0֡DriåIz# 4@2\r(?:+#)r`2x:#H@8/c`@LB3:xE&@!t3(΃<z\r\"& 3#x}#{<n(C9]-:5 &3%\"H+#1 (ȷ\$kLC^	\"N-i*%KAf4,\"Uh!h5bj{]!	{)^ #RzĦbOYƴ\$P^Ȓ%Ŕ\"ft]s^\n;&eqˠ:2ulk*ܖ<U{aH:=EyJKZ\"z\$yy<zLG6Q^2^8Ckhc\r>2?05e\\OUH|bH4R݇e)@<U/^{;ϣ	z8YܬKcbd&\"}Z>YȻz}Nŵ8\$tQ3%dd'2F|ږDt!00zW	\$ RTrKIvd|	22QJ2\nԪJL:*.!-Nb[LI%F#%!4ID,%䴕ACKU>DBYP%EuJQK)WxSjKE\"\$ቑyX-%I=F(Έ*%y]ZHPT\r.Thl\r1U(rBl0g{	uKɀ3YVxguI7_]z2E-Clx-IK Z@\0 nIzsA;bjsCIM%@ޗ%Q/#w`W\$\0DUSL:%R=	9Tw\r1/d1P3%	\03_1E\r	Y\$SBAr#R\rLY=5%6OOye]	ZaN\"OIJĉ	-mT5S(QX/ΰAT\$HU\"\$ݑa!Uy]z\"jҶ,WcE1*NJCB<Gmv=(`^ao#ϥTf&{{2Dqm䱡^,CCsp`ĄM(x-*ؒU]xN\0``e:Y\"/7^Rljbm\"Z&,P8gK!P#tSZq]å5h`;q\rMz&/6J+17)!Dq1BBE)p/p5\$9 OML\r:|\0fn f;#T\$QRA\\\"(tJa^ySPF9]r9Inǰ&}fbvW# rIC*#fP%yE_fb\$fϕ>D1<6HH6l18:}gd@ @BH]BTh!w`ȋ@/#W65\"8Hdzۙ*%ĩp7*DOlCӪֱ]ɽ\$0XAKQLC\"{Pcqf/x>^I~OcH|xrJIĳQYr_;cj\n!1,-]nr3aF{s>kKБ:\rdDt,WA5D{(Q݇Ϛ0g-Q)(J8A\r&ѝW\riH\n|_wX\$>a/^0wW{XF%X3{2\\шW;=ew{,-F	swoPo\r״G܁ߙYc\$!\\\rh3B	yH_Ecʄ&(%ϯX[\$Nk<*0xK)bOp#	dWnX\"J-^dβ`Xm׎j.Gfn	\"g	}j>m\$,LkpC@͘-Pi\r+\rpTWF<&P0lNp+ū=~M  օbE,I0.Dq4Ji[# qN?BO4xI\rFt({υ-䱊%H Ȕ0!/??\$\"EQ\0Cfm&l0h\$*%\\:<q[Z;Cxn0.\r4`VHN0<Ȭ;\$x;;\n((#ʼn\nխFDZ\nf9g	hfE42-\nx,Q1[Zv^ڂ@zf!8! !CT˰~Z/0\"PVBJǦ\".+-1!ltˎvN\$,)R>F~#%j,`&.mȃOKRb˺dniO\"jn2ۦl2F-8r莏X%\"p-3p%.qʨ\r@  71Ǣ)̮):B";break;case"hi":$e="%pRX*\n\nAUpUYAX*\n\"baTBtA4!RO_IQ@q*`j:\n	Nd(O)!\"5)RW	|`Rő*?RTDyKR!\nDJ\"cU|\nԳu%g\$I-=a<fHQHAԴ%[M._Dqe0̵GYHsz.K`RC3ue\"#IrU쒮IB#RE#ɿ҆>+Iڧ5)\\/bHhjڥOMh\n+;Ⱥ)HP4J*\rj-O4@#M-H!&1|H\",LD'H?Dz1Ӹ20c+2s50!H(Rj-~dOtŪ\rx:\r2a7CV\0t92+C3:J3}NTԻ8MR\$R!pMI3EGK'/,:-p%	2=e｣d\$j@v	l&VN&Ir&}\r8C@:t\\# 4(V8^2xch2LJʐ\"Ԅ\0x:E74SQ\ryNғo-ϳSR<J7MLȑ*4Sf2]i渋[ZNo&k Oǿ\\-mAxG	E|OKJTO^!u=ݩfCs3Iw/o?~RKtAI0mXw1)WK^ۭoh_tOnO(6=|Tҁ+ݓy5'q0suQfR9{	jo)qrԾX!O](>{Q%_йB8gnj)LOlDG<\r4k8R	3H,3',\r\rSY{-b+p^Qi:<Q#BAR!^m\rMb\"z6pzމH~ń0&ӘXcu\"/ʋcvN8(^Zy-0Wɩr9CLS/!8'@L\\jݚ3n[lNM山y\rl\\(\\M8A:(GHӪRP[ˡqH<=)7\rL}ܦe?a2o8RLqppD͡pfjr(֍\n@\0gjmw9DWEKDdj\"I:+ć2FLS,eݘ3&h͙rgL@ޫCiH%\" ڤʒL|m	>=`Y,q5\r+	ǡDkSv'芐>bGb GKA9ְeW)O\\R4EcaE\".STedlVY{1fl՛vC(x9֦zѤ|1qҦ\\ܚ3Kj2	bTqN0+Ça:ȹE2z-d{H<{LJNarkry_sR肠x壮zL[	A^pb.rΐ@@P`.)k(+@T)LplωfwO]x\"61\"./\$ξjQGxEKK0Eˁ61-maq6jsQӉIVV>Sd^S\nA=bJ`[JIHb1{%8\ncMN\\`ӧB\nҳY]]k޴H(#+d=JHg025ȫ'#A8^SĦOr\rXD&!GW([(*n@{Ya@'0aдv6sFRII/n	ql5Q\nMרA\r-ʁS`}{I\"؂r2?v13_x\n?{DB+c+_\\B#u7|@H,Kghg413hkϐ=qOW\0	ѡ+DzCMMm8x767ѡyѹmL.=͔[*!哿Av-0rtk0>+[GVM> #GάLN[,Rϥh98fy`] mv8ǔl69.ֽ-J|Ҿ\"%*r}\\R66m\"uZ;IL?Vâ7*hOc,e#Fؘ.C/#x\"f4¿&~O#*fok*OM*n0R{.Rz҄ł+ԏ'n\$yLsnn@È\rl\r+q)eBl\0\":h<~\nʞzŌ\r|cGvfm4yﶚF\\jlz\$=\n0RbqAJxvG\$q,P)i\$l<-nd!d\"6Rl8?1<Y)\$^P\"NXj)?CKw/k/@xC:O^	Cm\n(¨\"@ǉ+pKĻѷTZH|QE+ðQOΎџ/k Ѩ,M#r'l\$kHS^^ƜB2+CxT S4(HC(|D҂RD#Qm ?C)n{>\"~	#VOFR#JuþRmVw- 2SrT)`Sl\\%-.\$RoSS#1|DL=[3qBS=2ztȊ^JngږH#n1JI,6;ynr8u9KаADrPD]qt4h46zJH5't3@\n˝\rO\n^K7/)22F2HUe;2\$@M?&4D	4A,tC0e;T\$a)11TyED]/?(Rs8R/nrR\$e@k#2c8d	GTBT/B\$f-C)\0tE|FKLG΄ԿLAT*pYaHHD	ra<\0iҐ|)+	w#\rԮK<PRKBI?UydƮY1\$P2J֓Ȓ\"A%SuMCL`,G#0q#FLS3DC&P s5@9KuBuYZ5CNu^UJN(YSR/]P'O\\M.e7_55Ẇ\\6lJ\\s:?.bl0|PuK,\r-\0@t[\0@k3Y.LeNa3Ke'\\Avv	l=P*K@e.ǉ}M8(val)TsdfZf;k!-9D[UZ[{\"k#j5f	n	Dg+dmC2)	n;ppV*hI %c2t1DMf0ڰ#qhGovKn6u\rʈv6Ag7Zve!hzl*]?^86<OhW#39!M37k\$_j{|ʕY86r1>0/Iw#d68c%=J\nnǬV.	`wikVp'2\nZ(\\:2k𽔬zg\\aɏ,TQ{mI1Zi^l73PkBUz\$-wz,=,H`-OniD:_n~M\n3NEwG7N18pt?+)io#@6)(t􊘈C?ƲQWi/}lt}\0M.x5O0VS;?1@VY.G/&6I.YowuF>y*NX-9}S#GA(7]5>+<2͞1ґ|(hmaT^<jL\$ep\nEF^O8Kf0=kSA	ˊFh'&V(N6Iu4zcy@";break;case"hu":$e="%k\rBs7SN2DC3MF6e7DjD!iMNlNFSK5!Je@n\r5Iz4B\0Pb2ar\n#FQis'jbRI;g:ڊlƣjl&虦7CIiMc*)-q֞kC2Q\rZt4Oh97eEyAc;`i;e:؟Pp2i3D&aҙeD67{ɭWăc>O]\rO@,j).3B:9)lr<C\$,2\np9\r㒄.\rJ趣B:\r2aA1z6,k*Ιe%#Pl C6B(H0ڕ\"㦞n9'1@3s0!\04lꬃ`@\$Bv3:xSEhxHcI|6Ŭ@Ck4px!T*36\"P:C֎65I\nYÛ|0ҤqM\rH\rPf0ZN:755zh2ڷmv3-4 :*+z0\"0:a\$6(%DCr,L12֕:v3^\\PԼ9GWI\"v731E\r5ŪYB׵9r,b9\nyCBHLG;FolKѢ	*mi)p.b\n|jIڃ,tr|c-\nH^gb2\rޗOc2h䯃lˀ<w3H)Wwb )g'\"ޞvL&[c)W93\r#84T\"&C!	`Hz<ܠ)ZNq7BE\r!6ltPL&uˀG\\tFͩ94H%L1&@΢9 'C3()Au,#VM9PTZ  \rfX&3&&(\$&PUX1&SjuOFU8wU*\\p/\",UpBo`֏<)A5A襍ِ>)5,89)\0椔x@\\sSʁQ*ELTjXH\r\$\n}%~|_G5~RZk=!kɞ\ndt)9P\"XT&fa)F-&	B9\ne[mAf\ni~Cf:Og|D~,CQ /lqjiFvk%6\$4j%U@H\nrRQ聁A?6DPgtcH'rFCxw3da7y;f5\$Ye\rźi+IR(c\rC'w5RURrW ) Hr.(Y0lHS[hC!IKh<=4(U=J@_⚤| aH&Qzx\$4RvYhs'(Ҝ-i2h;yHYfIO\naP\0C`ګW=΀&T^jX1F?llzA\nU(b})bJvU*S3&I\$oKᜩP5I=*Es\\6-LdPza2HQNe#pg闶 NdMDU8FP\n	զR6ArEªz`jt).fyoFa8SҤw6cS\rqrcQgaXSd,-\\QPJjb4pV8BX!/aby\r;^vE͗>}o/`Ŗz!DR܉ hׄC(35KPCkBӂuäc@Ixq%r -ZC(\rXhqġjXC8)03\0xeITmH*p;Aa4#/&E'\"c`,H)2|\nP 0.F;'*iNOx\r]~@r`+6r=(#XNɔdPI@N[;o/NOk']Yֻ\\ywg=^||)*ToVXo\ruw:/[jDF\n!r0Q\0MN_1ї#j\n1o)J!F'D@H\r=n2^\r\04ߛvalB1-)Q5ARˉa^:#\nB4Ì\\\\p\0DCAd6-b\$cN%eۍ.P0!0'i*xcRCR\04ȼO4\n>kX)Xg`E0b\ncpX j5E\r,ǌ|̣VMc@)#m?¤^F\\VZQMeڀ[pNJ~pp'< 숝i0#(#GFޤ%&\"7<u82ZO,o0G1/+C\r871=&q^ČL&|h03qz1ߍ\0)A8\$ZM@Ɲ\$a`HdN+#06qf( RI!R1Qv*\n>!\"pdO2LkO`GB\r#5%QQQ4eM&MqrB0Ż0602GrL\"{PCp\$qyMo9\nJL\$)o']BT|]MqrwRy1M@@)\"e\n@627fO8`*,Z68u-QSRK-'^2L	R\r*1&m/frRfr03*G3&\n\\vM\$JO\n0iJ)@:S>,B{>}3ß5BJ&Mj..R\"szNr.sx\$.F\n\n9*BkR',DDRU;nVJFS(/s;ZJ!2%D@myDʜ8jR-2#鑨?%ʿ4?Tci'@~3A@f-#:245\0CxGQ\\ME\"\0tL0Zk		X\nefZy̉%%@	J~\np&%QD~|HB4&T \"B(\"\$d5&\$BI\"٢\r4@C	 .>Рt>C @@T5C)3pi, 6%@+fW*UEC<%c#\\D9I['c/\$4\$,4>f8)PVeW@&\"l5s<%=\"j:6c)8\r5-@N[*@YB\rf`.	5&=PufZDZvOulZe.dF\$?V\0\"3	D\"\\nT\rdih5\$5z@Ո*1i6%?- ?G\0\\a8)?C؉b,&8nf`\0t\r";break;case"id":$e="%(i2MbItL9(g0#)a9D#)rc1M'I>na&ȀJs!H\0Na2)b2ar\n%D2ÄL7ADt&[\nDqegQBe\$i63yiR!s\r6Hqj<PSN|L'f1Ir\"ɼ 4N#q@p9NƓa%kIt4V-K7eLxn5b#q)53򍼈e_Kb)\0AuR`Q-\nmipCxmˣX\r|\nBt8@C@A\0t92=	zz	\05Qh7\"k67\rj!#ƒ#;.M\$5\0;C XhзD49Ax^;ruG3^rܺI|6Kj3@L\n7^0\r(V	^:XУCF̀\"ҍ+s\"7*BX6\r:] SAk`ַqH@'+(0b ;#`2þz1um){\"<:3BE2\n(%R^3(ւ+xugV`@ڢ65z)\"`1EU%hzUC>c7U.f@P&U\"+V.Wr6kMf!C'L4PN9#H\$[(t`4~.ajB\"Ƕ2#(\r,:>`,P2,\"#52رb[[JӤ3<p	xm{]!-R`nxΚr;(רj@HRēBR%BP;\0ǣ1hD}0\$̚RlM;'ArwO!E`b8P̑%Vf1zFd,<D(O9+׋xdɁ1?ΚSZmM9XzqA@ڈp6-\$^}B%|4gIQd*,Gr}I_:XRAO-,GS\"C\$Z\r+V)EG R&w\0P	@\"0i\$c	u\r1crk6 סRXp9;ȂDXY(zBGT4c 9%pp0n=Y-%ZNc#H3RQc[I>NS\nASLBM1\0K\r&6c#ݞfH:4m`<QL0NLɩ\0@XL7pLLUJEp\"W\0W'b%*JWep,LHr'd<UVhcOF&%5r۳x2`J?8X蜫e+@٘Ќ\$&oI#ZWKH\"	#5fLX''@BD!P\"\n E	\0mXZ%u`&;*JF{8`29'RU4)3[snO6U\$[?T\\3pX#\$PbGjlo\$%Rp\\Bґz蹠0QJ°v50#u;oqY[\"a07i CtQl)f\0+fCU=*\rt}[~Q5,,3e'e\$g2[kM;!4!\nydxյ\rmU<O#YheCS@L+\"3X T!\$\nQMõ!o\\*lp@yr`WhhlVJ6%ľM%vgJI\$S(9Gh'ps!1DVMʙGA\0r\n~<d44Q#%Ec:Cڬl\n\$U\rFƹ{O9tko\"\\.D%8dՋJA*c/%`3DwLPӿil:Xfe2]8UHosaEe	ûdI&eR?!\0b~Z\"G3\$DCJ:ܓ~-dqǈ\"Xt:( Z2JC,|U5qMJ1h<TΛ,[7?!U'%VAI+K2pNO_^ds/+zk\0=.aX\$<K<0Y	q0\$߯m8Þ|#;)Fc)~sXmRc{f>Rk?W_ߜaS=kO9&\"o^ib\$F`\0ir	#\nf*\$<A=8ԭh;fB\$/\$P`'#ƌil\0P*yb(]p*6e7\0]pJP+F(g#B0ȀC\0梺0%0\\(Rɐ\r\nf-\0Gɵlg cOW0|ʐʱ\0V>Vb,0ߤD\"nelhU#*G^ЈJP\0܍\rՀDŪTƴf?'M&\"V>e:\rV!e\\C~x`/x\$@mHo\nqc\$M04Q_dE4k\$cѪh*E Fm2,*461:*eEt'WBDPe02'nHR!CAp@\\M=hĮ5*C2%@p\"k]%F\$u%S'F0 Նvg\"('8TG#Dc#Tk@F Ft&&1HJ\$PI kK(3<,3&<XArb)Hҥ! B29 A@%sƴ`sʪ4RrAY\0";break;case"it":$e="%(a9Lfit7S`i6DyA	:fL0č0qL'9t%F#L5@Js!I1Xf7e3M&FC1l7AECI7!li((\n:Q\$c9fq	\"1s0Co&5:bb14߆,&DiG3R>i3dx_!'iH@p҈&|C)yNȃ2bclD8&uLrs<Ix(l̙\nC9.NBD:7z2KsJ;4P-C : C1c(\0-jh(&cPƱ+ HsIxܶ{\$8e!6n\n85<991hR:IHcR4/#0z\r8a^\\028^:i4xD]&R\n:4x\$³?ʉ1ED,ML:..<!IKxVХ.{Ԏx숢|7s!-(CʚV x؎ڻfcxYɯRf\n3 7C*&`dW߭@/-m+Ec5R'O\$Hr'&\\&582st)R욚9X,\\XȈb-P;p|u[1D ɴ{v޵޵J07L(H+/fc\r!O:3~@6#0h9##;Ou!rȻa|9Ҩ0KRt+.+0!u6َjG >pvb8sEHKPL\"++mRs#5e;XrT[<^V2V7Aap*zjD#֐O1|f傥9L>w2\$g42`̊;P:VͰn\rnaK#Kpg@0 .\"p7SuN=iPC^̡#8DS\n\\\r5kAS`aG'aX䘔Ѝ\r	.tʂ*bd๿dSxOI?(*2rR\r8ܫ;o>DRIbƕJN\$hDY*#\$R4!Q0p@ 22D9=S(>V\ny<rl՚ԾfӬl\0 uJ~Y\0POI*mjm02R&ߡɒN7GCIikgٯ-in\"/#gF3@ޣ!'5OCЕIHNT\r褏05@L%2ts)+G@pC0aX\"-H65h	ME24FdbԺa-Lg߲`+\nr)<.0-Q ےVͅ\nvB93D!f2HF0TJpҖBUVKQ_u^BxNT(@(\n \"PnApc.Cc5fx1B>Pp`(1ҾYzCՐsLuAH#PbK8OU1I\$:xb2]rK/@S3\$C\nYԒY[G4I8-Bp-3}KBX~W\nEPFTAIyu]LXiUej1e捏8H\\i0Č4Es^P0V>mWE#Ȥ<f>.)oCl:`wS#^Iv̶iWyJpݑ2`֋Km\n!rIJUVS^z^tmsKV/\0)l¶wo@20-a<\0f6Jf_bm6}̲W,#ع/%y\$gwp\0/ypMqJT/5fӚ<,ɁYv[D&B(@b/&t\"󞕊[GۮmHYX=ѕvYw2)1cϑ܌80wM\rhO[Rsڹ읃bpl}Lifjs.,*\rQy;׎Oቆ^N̻gH\\\\H{8b9\$4PIh\ny6lc#`cǵ5ssSn vt6ZB-i\$=ېM\0O;9}3۞Qj)8vOP>w|ݠs8v@#K\rϜDȈ#\"b?MؕE+dL9;C\"d(i\\=b<2l֔w\0H&2mU)4lO\rē!:&*e*wO:L%/FWf\"\".FN怕% \rE4o @k&\"V־folcD	q% `O\$N^k\r\" -\\}\$FXdT.\"<8\rڠֆfZ!\$~U0:`	\\hEm`QfGc8&E\r8	й-1ŀ/𔬭 B\\w1y& .Y\0ј\0N\rL	fck\"کDXD[1<K4NZqPv/Њo% 3\"24fV.*4BlZ#h[%](c^42:}n\r\"Ln\0=`?|58^E(B0q\0\nZG%m~6M*d[R@4DNRW\$\0001*\"h	3.a\")^b\$\r%&\r0\$:2%c.V\"208HAiHŋ3H#Ns0WsHs@B	4s4b	G25m{5+)43/6\rvJ@j#킌#Pa,sg7LNcT+:f>Gfֵ	~Ur`d:LB\ns97½=h/j0Ƴ^neP\n,Ll\"0Â8";break;case"ja":$e="%:\$\nqҮ4(b*JqTl}!Mn4N I*ADq\$]HU)̄ )dt'*0N*\$1)AJ堡`(`1ƃQp9 b:W&K<^\n2&(z>\n\$g#)eu@xn胐 Qt\"ʊ\\q4\nqCi\"VηT:Shiz1~BAXMWe[WPqI9kG2YaA\"ʅK2zė:\0T9S3P41y_yA	A\$#L+DOHU1z_QiL	T+DR\$MA_*cƆ'9PW%b'y<`P7c0(x:C1c(踮ry<g) F\$93ԘA\\((If sQt(R6#p9)\r\nAT}	C\$-(MGQtm@GB)^_94A@x0C(3:xs\rOTat3(;C ^(Tg9hXx4D_KRe,I&dKZ7\rxНAZH3qSIXus9΃t1H@PJ2)ڤDaAk!(qz!@g9*U%EVt1\$Ds	J^REeBizDtaDvRCJG!q`D\nY*r;-<0BXv QP(aORHd=!Ps9aTT%69Ed&4᭎ӓ?A/Pߩ<@r~[EcGԝhNoKBD-~\$y	sps  BmmEz_BFB%u!Y[5G3h	A\$ԢTRDk㗘:ePKEH`π\$1(@\"pT1/Lʭ+|E&LIx\"wD?DEǸֲ)G0%ǵ\n/ˊ?/)QpX!Q6\"Hi@(6@d)HOsl9,JH,e&hݱ	+Rf,[Cm&Y8 Qړq9EcC)9hBC-EU\n9+RB%8FhXF f0l@s,yM(BAvr[+mn¸*uE70h*\rIfA>MY&|	D%yQ%9D4FrV&AjDe|K}7q!\ny-ʷ\\Ks.4j^+2較^kα\\`EnA\rm:>\"NPpqNmYdS肢bQRF\"1OҸy1\".O)O)#VNHYlǓ8 IUe빴F)Q;\0)EH/Lh(6Q#I3,u+@\"v	\"y\$BXKc*B,G(Pm8GVV٪J͔GDגHj	j-V9Heh	=AsϫbGIB0r>9DhBY|crW\nFI)Wђ^6MC/M@\$:FjYb#]/%+_EQ0&DЧPpd[PD\rCLQA=l?\$M%5LY5&@i)JBQ@-ټg62Te53X|ǐmO\naQ]0Y	%įc\r?EwݞB.,F^^IJP0CK3Hպdg*-MX}IK1)hfH,p]b)n0֠\0('@BD!P\"M(L([٦ī(S=rF1-z%᧧2!2dPj\no(:z\0lN\r'99;`>RTMG\$\\)9yN<IY/&`q	K9`u,cDE%[pj孷eH̎QcM{cNvIf^9p|!ZHEhV|/0I;6nn&qvWjD4!,Q%FB}(s\0T9I6ϵؤ(A{oY,;DzLsm;A\$P;_[q/jffK]!dCB\r5] `Dغy{A60!zkaxo&dIB=B\n/dUŔY+8B)zH0#DƆ|h\0^Va.0Bh	KPF0KNG\\fd??^PQLq.D60'vwlnq\n:a,{dKNg\$;,3c8&.!~!\\ZnHp\$!~wGxw(8l*dp9#.&^F<\"!\ntCoDfc=	҈ e]ff1f)8tx>Qx\$'~cq).l\rF'm*.ƴkȆҨ1d7!u,q<|!mkVE}ρ	:/w!:(&ޱCa(|0\$ :)bInfz12H5%NLLO\$\$,\n`fQbig!Q(!\"\0|CN|*c\$*3Bga'!QM%--F.rRq.D0#DF!(Y! If%pV#}(	@?\0!i!\n:Jv*°2+3(.'P6biѤt.4{-)ѲboQ.r]9I8,RHfR',s:{;p(S8s*Sֹ19<lN0\r~AC^0F\"(	t@7+K<(Bg><1||bB?RLCPR\0INPyLrEO,EӶxR&3<mHHt/{4ԄDD=:mH>0oL4_<)|BM/s8N=ϊ*H>Sd[-!\$Q	..P?2H22|R{:IrA%Slnv;(!3	x@iBCLKE..(-FZk@T	UQVfCI\rVO\"EG\\0r*(t@\np)4 A.Z^],z\"WQ{RkL@nI>n%Ի㼔ƼUZړE*lFlڌI3:aT#oN.,^&46v <sѴΈe9ue\ng2g.tG\\p3gqg+HօjtLlh#6bV\$\$;2Sbn0k2:jCelnf-#jrnLF'*>ng\0 \riai?	meH@0/(+`(VVEfrOg4hU\rX6zN/Zf/(G\nS";break;case"ka":$e="%)RAt5BPt2'K¢:R>5-%A(:<PSsE,I5AdNi=	  2i?cXM\")v@\nFC1l7fT+U	]MJH^x894\${]&?M3s2Ԏuiz3`̞*Z%\"xܢoJitҵTA=D+I? y12EQ~\rux.ue}2T?rNSzhĬ	ZԸH:\0'i.o.ķIă[2Hָ3Ђ\0[W-o:\rp\$H<C'or.+(dɒ.׽\\3)VD+댙9;jȬ:Vץ3Z\rx:\r2a7CO\0t92ܶcխ[P\nItdAƉR̎j3rc(=+Gq1:ILR4'.N6i;[K\r@@ h7[/#btն+S^ \"2¤\rlV@430z\r8a^\\0ٶ}O8^2xώc21!^0RFi5,;qKcvEY%tH+<6(&Uc1Y̛)QOVP\n.k(\\ͲM%B5kS4Z(du\\禉Kk1+ͫGQSzk_uZn/%El\rTTd!7cW\\)AڧVp#3]A0!V++se̷钔SC:eRy2l)s-X>~.gbJ9☢&Zq\$d\\7F7]6ƀĔMqՐhKT@=ǊAsg\r2̟KSzBb#&EvĦ>&P\n[U'\n;[s(ݞe΍j}M6s:5X9@bpaA04	ba7C<L\\ @s߭ET:i6/xxЮBZrF׶[\"92]\\keµb\$\\@\$jLhlɢ:(^;%ӆrR5ʨ;gǽRk{Kf\\՝Vop1+2R\\TJ!\\#V=EVH̭)պF\$D%TFLL\$-&tf2z:'nNjvٰ>تE+wW_k;+a!.bbF^DB2sV<4:.tBkՙQdfo,*1]j6g\0nQrYMhL0wIY\"@7SSFQ֢2%轗_,a<FC	bAΕƸ FNa^28AErԄA+OL3ȭQi\0zKar9)({ҡc̓2Utǀ[-\"ڪ2Y\rk7%]=sqUT&\\\roVu\\}\$]|P.B0Ri|%0JLSm*+CZT+\r@kՂCI<pW)c	~0&7eXeeЌ`tn?pߗo\$`Q>4fR\0C\naH#>P ݛh#YaCֹݝhd*1O+2)b=rHf<\"o3s>P[L<kri	Z@YED^)R,QrԮ}TfWer#:	\\{\$`\\LBO\naRԪIAaPMɔrUl3D)Ʋ绤Nz3.{?)MU~VƿP,M\"MmZjM\r*.;`	Vs\$):\"S9ֵZHJ'.#/d\r|&f~UQ4:ܠQpk-yVD-rF{sNlyd6V2i!ȪBm/ͳ.0>R^}u\n%L~v;/574ʲdБ5ǭԶk%F?]th1'޲+P]ة>xBΣe;N.1W'6y`o`\0C: ZTN׫i嵕}&׮Fn\rD4Ho\rl|į=-mln5^M!k~p1fv\0wjkz3\0@H\$3OO@@yc\"nizbƼ+Ɔ͘[\04&M[/otGOt㉆1JvW \n`|/>b;`X>oO҆lnrQL9\0^-\0nC-ׂ~+p!LV5b2)H.x9+p},\$zHPH1Ti+	NpШu.0\r*\$|~Fv\\vC鮻!(kE3hdcFdl̄qpl\nBXQQNTNؖA,*	Tsna\"mZ4F\np&0ԉސO1'nI2>XpF2\"2㯀ȩnsg煊5Ɔ	\ndpgcD3h\"ԏQbm%Pɥ!@:.\\іאwMD4/쪜, h\r\ng2#H\rAΌ8G઱nh|˫tWm1R=d,4ڑRR<i!tEc0mJ~!\r *IY#)\$RDK4/4H1!S-45U5N\\墅/r>K,6>6TV\$&\"nuKz0\n4nL&b\"&-&m&N\\sUsV-\$¼~49҄4-	W3n;5yibUiG0.NXV.ڱR\r_J!B-k4(A1~(0RB'\09>s#h@Qtf%_-SaE\"G(Jty'7eHEVW/4mԘsGm<yAnQI)KHq/E6X;74̖S[_17O}4')1o%4ԕ'/2XSo1Ǭ-TJ+c72+r\"ntQg2(kFeYRWSSU&U;PD/}kRXX\rH.X}R\03*Ȝ\0bPՂ@XEYUYYa\0@c)U\0>(\r\\\n/Z4(fWKY_peTV=ItqK!	n[UD \"t0~0B16&A`\"?Q\\5u`XRVZ\\Sq-63(֝3KS2eI!1ft(O/(0i3En;`\nn@V3EiF\rWG`TĚ 4\n3s9bHfζVv)\0\nHX7'),6Quj!	vjS5m`<K_e\rH̫\"beŊdǉ\0`?'#̂WQk'kqkkZHG:uHv@1EqN52g6VYyeqFz1#^`qqhji#Jϋ|#eznrRc 9DuD/ ev؎-E_tykM7	3E+o\nl	%}8(ttsģk(o׎+ͣKH <HxSnTk=Qxa#}l<}16xSC^&f8lx8SEh >NKttg0gvxK|jU(oxXUV%_\rZ JCq7P,hXP		#NG";break;case"ko":$e="%b\nv%Ю\nq֓NU)ЈT2;db4V:\0BapbZ;aا;O)Cf4(s2Cs;jGjYJӑiRAU\"K`I7FS\rzsaV/|XTSɇZvHS^+v&kCi=#qA/iHXElKȤ;Fv(=v!ȉVWj)qss])Kq{fv!松i<Ro@Y.H (u3 P0H3kN.\$zKXvEJ7\rcp;9\rVuNXk򊑔0JDB\"ő\rx:\r2aA7cX:DQ!RM#eu1v\rthlo|x\"nޓqL'Qk	NS# -!\07T:8Jc@0c98@0C0LhH\$8@81`@VC3:xk\r-LFQp_`vI|65,3F#md4px!gγJ^ !@vdꚹCKRT4FPi\"/sfZ'IX@/^غ9gX6VLSI+PA(hDC8FuS\0(0e@;#`2x\nA؏%9\"A3TT\"JeXCj<u=2b@P\n.P]h6V0А&@R&P;sEG:iRe9dyv3muJOXaf!o,Qi/gi\0sdY.̽eLeA6Xό@@eyi'|\r\n1a:\$ZxrA<uJBk3C,<!cJ inM[a\$K2Ub2D\n\\KM2BHFOB#VE(\"8g0'\"oDb@ :DUXfj6΅1`f+\n)FjAIER {'ZSHr1*jʴ)U.Jp4E2jK5gVw[+nP-/Si4:/E^h^\roD)N9u6ZhND* r\\VRJy!+	6ȹ74Yrh-%ړ-l/t.CI:A8of0/\$UnKPPɍ2	P5)A))\"UF*b\n[zUi\rD1+z5&R{7!r,jr17r]4T)9[)`ik0v9ʚd\0^=! &rh\"'!P L&\0c\\\0Jr%\rꞝjٝ3BlE\0.	]3-+K\0TEwUXs\\D|<SڣUZhp2RhC01v3Dl@hl\"l0P(0y	E A*FI4&m5<g ^H5I(!u\"Dsz@ojR%@Zu\\Ň20\rvZ)XCm1ȬJO\naQt,rV/iܛwX\0玡b c79x\\@2D`2̑\n(L&\$Sm=މG%L-[>\rѻ7<J{Dz5C::|XfFɎ. :x1ߴ'Y.1duٝd3)W͜vƮ7G=%۬#A!@'/Db]ɍyfL#ڮ`ɘلN'ch(RA9?YE]Z\"=?YX˘:ࣰA됨mջm2>~!`&l͜`o[V6Z\\	%0N9V`iV5\nPşc_ib!6Aw b>g\0FAڸ!D\\VUWw9?`-sPN-*Ɔ *=j)F(kqXPwL(2nwT\n!A&/TeH,q78gǶD5f{ FKmϼ6A䞆OwN8yQιsXo+f|L.Oi_qK}-1YYmG!2OoHB`|%'pJDxA\")J\$jՆ\$b*C\$6m\$leTLjJ6dR\$ \"`a,Opm8#tcd6P:w0(#郪\":eɢ&>LĎ9jZB\$j`0zC0Pp#daa\r.(褤\\d%@\rF%t\rf\r{M0Ht2um-p{u\rmg!z4qL>L'm9NǊGn1	w&yziNzp48A{Ϭ1B 1Nw\nQ	%.neQ#T5p&(\"\")!:&Ɛ\"\\<Zf\"GGd@*J[*sSm'zFbyB)jU!P:Q	Agtg\0iX1Qئ.c-m_&sFancR|e'2fU'RRǸgd4~RaA<7B&4ud ?\"4ctޙ/'GzR*q)/-31\n#fT=l&0p\n\$.dKR1zSP-S13I({3沜c43sQ3@H_4`j22xq.2~ѭ/DpRﳙ0{8҉*3{͘ps.O8cu;h|')	Ryȼ?nlAӢ4ɃzKB	+?)XJ :~{&-++`\"sq\nh\rV+o5pVkEn@WBVtV|\npEH.@|\"#k0}`-9\nĦ(h)PAhc7c{m\r#)vR:V&VJNLIlFv!\$&bI)\"JRANm:n&<!df\nm#&4\$K\$005\"L[	4Pa\\/WQLt;;\nu	qI=\nH(o5\$Z\r.sFwnvr:1(u~ gydmoM ԃ]RQfidCT.\"fjER!fP@d\n]V4.kQici1-cL!!'bMtHmno;D\0";break;case"lt":$e="%(e8NǓY@W̦á@f0Mp(a5&	scb!iDS\n:Fe)zQ: #!j6 t7\rLU+	4Y2?M3te>\"K\$s5Ms:o9LtuY),#)gALEuy&C\\MQp7Cj|eVS{/^4L+R:I'S=fPkʼLnx\nO4DXi:zE?FĲC\n錎*[r;\09LB:)#*Hc&C@1h-C:C1C+\n)ޗ\"\rˬ\n=/\0PĤL\n	Ұ;\$v\r2 6X7r: \$T1	8kDC!#; X`жD49Ax^;Ӂp1̣\\{*д=I|631	\"*7^0:@[2H@)Ho	`UO84(쌏C%γ&ʲc*P++s3(@tW27z\r0t(%C\nL4-*0:U`B35rGkϔHʿz9),M\$\n5\$hpkC\\&\$w2.4Šʲs\0\rc0آ&8r44Ó/Zvba0ɄH4COЧf/Ľr6\$Zqܞ45er|f\n)[H6*\n\"=w*(\"w!SH\0ړ͔m\\C#N0<U;a\\Vr2):\"&c)Ըx2ܑW\r&!]pDOF22Қ{QGg@<)1#V\"B\\xf+L,!P7H~9Po1oEbg1y@ܠ((`J(0erHDdt*dJ\$&(Xc-3(jRaM)<TJS^LjH`\n8rQ(^ˆ\\R>'yTߠp>&vKƣReM?rT?g pIvQ>Ɖ\"^g\"0rE%BQd)3,y\"	yEC	B4c\n&^a3s!xù֠Ca(1Pȸ \0lFK ค\r!PXOi2:N͈KP	A-Q*(&0=O'Ld8ImΛIAMiŮ+4p%s|IE&!)PZ'JSγC1JRwUfI) ].2Rx7#\\\0BlM2HDdbPAJ*税ciݓ\$bPeA&8u>@ItKz\r?M,n	C+2I(-:m3L+AH}9(zғ1:`'0a-_nHTh5jըĽSMO!=M\\MlhD>m=\0\0F\n`y69!D{	dd\$yrECLcdFb,7D)O6K4BikڜHCcT :M\\>&D9I<i\rʕWT\$55\n{ߜ/·%A	1ENXy43ϫ'@g`b&<%\n+DA\n'pQ 1H,T1\$䠗aI%8iJ;D@ (&b,lcbw^۰pN;,!07;IN P我'_lzC7xyDHnq&&h9!uYt@X\n= џD_K\rט,#B4 X*4?)sODWjy7b;yP`E3?Y( @BH?mc8ƠgHmgMA\r.yH_+u5ktQ׋4ڛa.ΰ[LH%b {\\5C&;A\"n[os!åR\$PMgF.H\nuu~vEֻAſ]˯7՚&bؕ!yK?/SQ6NICœ\n(#i_@HV'5K'#;y%n|3rNh/i%_華0Gg|*/\n#,(hJ!\0.Pd.mrxƥkF,f\rb\r@Jl\"B.\"\ncCYP\\\r> ]]P]fǭog.:J'\n9\r&,I\rZ\rL\rnD	PF1\\%c_LޫL>\"͍P0\$M6q%Q!0ЧHZ\nȈ0 Q4]Po>OYؚC\"!0 b@fP.Ku0mj8;*(&sy\",fM\"\rzkHf\"&( ^A\"\n\"2'Z1å1\0hIw.L<`z䢪q{	\"%\"qo\"ܑGqp8\r?GV!,\0J>\"%cOQ(! rI>DJ&@ W˼K&;C,1QPrR#)**N=*eB:	nFNf,`XJ+1\"Z#\$v,tr-سPG&2\rcj/'\"l`#\0FS0Cm2b-1fD\"4\nrO#*4d?%\0Dㄡ#,\0D''2w\"5Hֈ1`jGO/#BG@a5R±(+`ҸB1@ĥYD_#vtc'e,0<mÈX-[<Ra=+6^i:f(	>\$%X-,4@FX\0`/SWczHs#&xĬ\nZ\$-t@0b;B\"(AH.̠\"^qZ+l\"\$  5Gu	@T\n@/\0,#oCR13<ޣ-0X1A+K#7`*[A\n#`-0h٫R\$zB\nP|ƪ}+tc\nvP= \$죏S* ,U3IbCGSP[%0%lCܸG8\nn0CuQT(\nZ\$:f&j\"rd\"1&D\rXƦD# RbP(n`	hLAD\0004@1]4\n@n`RNJ:\",	_cDaHgZB`݆C/I,@T5h.|po+д=@";break;case"lv":$e="%(e4SsLq:I :SHaa@m0fl:ZiBf3AĀJ2WYCf4(:T|i8AEh2q1M~\n\$g#)e\$:bq[8zLL4r4wa:LP\\@n0=))L\\逆X,Pm@n2e6Sm'2	i ǛfS0ƁM3{q[ܾH=q#\n2\rc7;0\0P֒c~\rx02M!Y^\\&jr.;\"L @6h-C>:>C1c+~K5 9\r`5\rSY'(D#ƒ7Ȓ \rP2\rHװ0r\\,\0.r\\\0x\r C@:t3\$9p^80ØόxDò89!Z\"7j@. ǡx!R\$Hi&#A	2LZ3C:D6K\0=&\r%@-H&ݦ6è%/RrK!T4-A(9#w^Jy]	\nd\nB\n%ܱ[	\\p5Û|䧕s]]W:=C]ZK;3=W<5섇BZPw6\r^(M\0%l95x((#pDbRx(\$8L5 F4ߎo3Z͊c=p=IpqCNԵ{+س\\&Kc%HK9\rjR,\r6]sW	02:=@RKt0#R9=pC,9m#gZ3@!@3/15;ù'|1+wጣJ~7>qz ItNVҹKPBCF'ADX*B4H!\"Č0[&jv@kfD9/sDډo侧Pu4rXe	wP܈_0T(PD,%џSèx\$aHQI5B',BVC☓ZE\\8\"g*ˤeFJBTc09QWzeLs~(6Iq:A5@1\$O*S2|[	2*Q*-Fʕ w<+}ҫ&DF7o	Cy2M5, U -iלRZx.R[(%B1G~RØ>	.'1/)R%ݘMӪ|b\"IqFEfMBkh\np(sWm>DSYkSHzij6D\$Oq\$8C-1vtP	@םR\$4@6ZjtL\ngiN\nM#.WfD)6F9SC,[!~=tuBVCdJRRL}\rbgpiO(,20Gz3(TDS\nAV'q\" *H c\$H7BCJ\$0шͥbLY7\"eE(I oNc_<9dȂ\\H\rG掙&گTuG8̺+@dBNo{`'0D!ͥ_ej`.CmƈֈT0w+0f{lVLyKZK5|,F#\r:G	#\$M6aA\0a/X	Yt'ӆK4Dy^t^\n(\n	ffuZGj\rH'A:5Vuc\"\\&8gξAIŔ!a [\r6qLD\"_70Zw\rKqXrUb3ВJNK:|1U1YJG!w;f%p-\0fP		Wx󇨕AZ}!n\$92Vq[\\4oB OmƸ`ph\$\$\$YMoi\"*Xŋ[uH-ZFs]h}^/o>(C0>^/<*y<0<(?5sQ,d6GeX#*iFW:뙛T\n!ckj2YUXK9)gȁ&щ<^/C	~\rm֞(^J;N\"<?|ZfH)A\$\"ZduJW#OEӹW\r2ReO]	P-\$Yc\0ňwLhC#LH\ntr	mgFq2dm>D\$&\"gXC\0\"\"B0c7r7j\nJ*<BHj5\r/oxgR\r.\"Z%@%l.v@ۢZ),C,\nѦ(x.Fr(Aph1\"<&\" &6X&8t\nTt.<c,\\En9%Д \r#ګ\0ijKt{_gJ\r6qt	,iG*Jqlq(ձ_H'4fҒ16/=\$HXsqaQd@m~7Qt!1cq~PTɬ:&05]DlGQJgt2J+R#*\"\0O#ClL\$1062D\rQZ<onFL#1[	Qo#0@ݒ:I#.8HX[Pω,%9&RBFn?}&R0TO8PYҐ{hn#qWZY0gu2Y?&+1sһD@sdɞ[no,%0|?-r.r*K\0eB\$B3H	f:dR~It%3	01\r2,\$0no0!1#h2n\n\0\$Y*^'bs'k5w5rs.rwg5N\$w5@̊wrd Ӧ5Hӓ#f~c\$:qTr(K+\nad!#23nimo.;8/\"fd/\$>&zB\"#z\rE#1tsh%%ҼX˃\r'*`h.\r@b\"c*b2ܥܦ\0\npn9ju#\r]%\0tr3jC3~un7_G~kl:DQA&ť\\C	{?n\"'Ը(L(B OL%RƬo\rG 2JIS\04jgE=C,w60)+	3P4%4ӕuk!?LRqQRȭ,^bwHXcHd>'\re,m X\nBHB&,ε>\nM`6T#:0\$ @/#SNO[p^U&>zHnEbEHHg;V";break;case"ms":$e="%(u0	 3CM9*lpB\$ 6Mg3ImL&8i1a#\\@a2M@Js!FHs;MGS\$dX\nFC1l7AD 8Ls0A7Nl~\n\$g#->9`\\64Ԭ\r pa(bAS\\݌Z*fjSi*4\rfZe;fSsW,[\rfv\$d8NJpƹiɺa6Ӯ`&s=2#*L=<Cm(5x=c99X\n*v3@޶X.X@cxَP2\nX,Z'cbɪv'#&\rkR͡tkxʯS8C0c%];#,:kX9X 4.0z\r8a^(\\IsAc8^8C ^' *(7x#\"4:	l[z92X,xȲi%\r\n⥈(J26}i`P7¸⠶nωi3`0(hAVI,He1iz@!jB\noj\\cω	Ŵ2s\$&RFlX쿎\\:;(O۬)\"`&RH{W5٤/+h觢ifuFxj\r>)M#M\"-Kr5\"rR!8Ma8^`R~=TLYYHR9F3\r+\"Ô'Ȉ#ػqs\nE7\$\r`]Z%͔{Bfň/RP٬K!3:h3U͔\$WV!1 o*\n%/:\$A3z,ا)P24#fR=fHi		-2o\0<&3\r(݆zCӰ O='P\"(䣔dTd\$45.d=dԦlOQ;'Gػ_G|I2Y\"l;SPj;x*bQG\"dcbpS+.0Qў=֨ȩLĐ=wKEzMr6@0c uK|3R&		5]Ù.2è<cc1<띓tHcX(JL0 !D(ĊYO;S-=4O6m^LIc.vr\$S}崖q7',@id't\0'2iL\0C\naH#OR=}@ĂfGFĝs~Wlle	+n6&h><TX8;+d8Q6|~T=LfAEmEM8B#\n}/\0¤zrfnFg\$\$|KxEnZ#Kk؄`3Ωl)hսbXP+喽tPc[L\0U\n @mD0\"T\r\$TC;땊yU\$u)l?Ǯn:[/)I%>q8jg<U(´MUhi2F4O%UvZM@pFv8 .}NȄ\\'Ylleʑ5g`HOݱ\r\04Tem`4Gie&00&/'#j\\Yu8:D9cH\nfAGæ6͜~v \$잼]޻j5cݨCȜ2Beދ\r`*\$oH(TJi|=OZiʋIQ5Z8\0H\nl\"ČQ<#IHU!rXFB!G@vrZ\0m'\0Vך^N3k2\\jJai  \rvjdtU5.XdFuroPB\\ÎU<D-/̍LjUbyW*){\ng3cV%rS[f\rgBW佢Fz@mnq_\0sY[NzVDg;Ep%beLN]C*Hs--&juM^֋VQE̸\0W8iel8l-4	>X6wT/3:a\n`C2RO]iizKToKܜ)y͝8Kָ#}[_oD}a.Zaݕ9TZs5f׮\\\"\$8</Lo\0B^=)	)ov'C&bz/%x:ϾL\rR!\"2֥vk^h&h0pj2ic vF\",=#\rdJJj=\$Jb:/P~\rp]Põv\"1pza2	ZYrm\"ÐW=&_\$¾&*0K	z#-OHt2\"0&0!\0xdq8mTϬ.QtPvhBӱ	bkpUn@\rPH#iؒ3#FlZ*BN(	i`3LƏ'Ll=	d(BPiNMGf\rVc8v6-p0\"cnk~8	 \np#-9<\"l<ێ,^G>hu\"cnQ\"\"Z\npHp~â\$JWn'f~x)ry1,o\"\r6NF8,9+Bb:%~Xlf,j@e^%s71@\0K`,R.>)'B+!3&\nUR<\0*}\"#\"#g@3Ԣ\rLôE,";break;case"nl":$e="%(n6Sak3do0p(a<MSlde1tF'#yNb)̅%!MуqtBK%FC1l7ADs)u4̧)іDf4Xj\\2y8DEs->8 4_F[Q~\n\$g#))UYv?!hv,c4mF\$r47e5čʰ*wEI}Na#fuVlnSoгi@t\r2a1hl -湓6FG5!uYq|P+-c1\"̴7H:\$0:(r&<\nk[9C@ފ\r2aӎ@ӄ7kPAJ9űr\rC \r0 {HHhԁNb'# ՎQ#C΋r2C<JD&`@,3:<^\\cr48^9rh^(^0(x!J*IǶ5ij,:;H<nd[')í4Q*01(q\"7*%F*/(!q{nJp\rd^\r<HN>%(5WXmz`P-h-n\03#.ݰAԧX{fM1☢&F9OL\r#'ΰi>@2=5.n3(C~w P2\0kuD((6cvVphk\0!C^\$	^]BT`b&\r5}b}z\rˀϷ򈡮=ZKV F+>дa\0<& j~;霺Z̺T*eD/#K6Vr\n:j{Qy\rP\"SX3dZK5-)o/mVHp'HqRt)U@K==z\\\0@ ,Z 1@3K6L:6xPhCpk(j;\n-j1G|\"!EԈwRi2)䦔d*4EF-:ԒPz)h\"vJUd!ѠuzKԓʟNzK4b74CBQ*.'\$\"SaMmdtM5BFF[\"芋0T\n<H57\"Kɢl9B	@QK[HB0%@9`{&QBH&L˻w8Rb \n (;,v;0`@\n\n()\$9BR/ɪEL.M/4\$rPNR,IH<3\"B1%ڏ(\$i jOA1@S4 @!) K.,4MUQ+p8GbJII+%FٴMaiC5L뒘l3svbJ2_z)U\"B(nPDwPg\rP	L*Eca@'d@mivEOІF,}u9V)\nEtbE\0k;͓@ς`-LA4+ RzjJ!?LPF4ԓRԈ\0TE6qp`P*[ E	t*#\n~@PL\$lyH(V]C{G\0O\r\"yHTBM1kKdOAy-+	ӳb6xD@l&E\\rPt&\"\$;U#T^Vd9<'Ȥ2Yh	7+,Qe-t6WALVȩuwuiDl@n0&:CxI\"H2z'\"Z8j{CˈƋ\na3#mMPYlƧ\\2btZk+!UoF9\nJau\"\nP 0kw<̜i\"!gr )tA\\\0uIA.(aj(9h-\r?hP6]yIDoU'eVc6ϙ\0)ojDS)\$PS.ڿ蠾#96_'t;g9Q@?\nvUh帑\"P`A6r؉~mfo#%S(I[.C:e߸6p!|Hlհ2QL=obL]&X1,\0N*yy!ӭЈ,{)3 vBzc7{;E^qWYCi|H8:us[Cpb!ٶF.&3-r2ԋrUKR\0+k `ZwJ־^n;0`؜C#iGtL/./hi)MJ0kP0p!d=B|0ԭNm:!b!)l8]?8/eRe\r#n>OPMc#,\"ToQ0PP`f11PO(]\r\\{p\"73C\rb\ne%>mOfQ^1QbJWOf2l.C`^-Xm 4\"'-Jm[#&.|BQ14NWqmvn\nnױP=בYQqL8\0%Ed~AͯdqP/ !!CI/:7\$h'02]<n\"Hfo%\$42m\r<cζdlJ\0|(q^g\rVh't3/D#r6/|r\nZD\\	~!ji#<&C\$!adX\n&\0.ro&B!+!pY%tÍ@&&Og*W\".͖\"\0O2@o*#)6(4k\$'	\n.\"d\r@b5fԱ'ѦdN\"`|j/C%h&p+F=6\0IC93i\"392?/\$-%\"Tc0'^jc8= /#j,JNl^fdүx@8fveDl:!&H|ڢdED)*L@\n	9f(j;D/^T><)xcd4oHjo6#\$E,\$`";break;case"no":$e="%(u7I6NgHYp&p(a5&ө@tNHn&\\FSae92t2Y	'8C!X0cAn8G#<t<'\0,uCkQ\$cġsn,p&=&%GHi3&m'0te2b,e3,	hG#	*\n\"Z\rRs3\r,o&wÜg ahf\$A29:ta3\\TϾͳ3}u8h韡B>\n)%˂kW?Sq7p90<k7cp6t80à7n17B\$ێC#P0鼎\n	V\r8/`P2\rڒ2\r+z!\01rRDJN<a&\04x!\004&c0z\r	X9Ax^;ρsK\"C\\z4šxDkc3եx|ɣ2K`P Һ:x8ð2%`2L'.J\n7/c:\n\0<MeYR7H*,#-6턱3޽i(0c;1cP8#!	M3pu\"&;0͸٦t[B!L	\r`6X62cX\n\"`Z5ܐ8#\".lu\$b1Fu~\rcPՁBz.IN09Z`LS\\7&vΊ=H+>ɵLI@\"shH6jJI<Ӕ;7R4hȇz舣2,='*J24C:'\$\"F|8p(/maΐ2lf!hИ.783\"Fkw^t+hA;DWP	2\nHUt`K0\\41zuJ]!p\r&@RsN;ScPaBtnQ0LHFG@DŒRb4H0TzO?\$Hd4:vȑ)qxie9Æo4ap8j&r|1:2L	Y\rp;<Ì\ndY!ШlҐc)x#Y!36_~:I<hL1IvƄǦ5di-Ɖ)cm2(ft#&؅\0PNIC'&DRhf92bw|}CK]Q>zd0H\0@CaK,T,H\rҘٜePCgJ~`@fM	/C6GQ@ˠLAVЙR`70A=\r!:C'm#ĀBLk#\$рNhr%D+t%q Iª	q^N3 BM[(AoS9}'1򔨍L΂@e;iKHnsa9D9P!'l˘[D]&q|PZ[/\$\nNB1i+\$Pw1	cA\"e,s5)6Jp \n@\"Zm&[֪<aLF؉@Lx|+|;#u%E\"\"\0\\Ræt4LV.\ns>DR	EF!6i=BJ̐S\"1UՐDӧn4;F6rGiGR~T2Pr\r!m9f5]iLf\rVZLsA舏cJV=vTch`ƚbBܕͤ>N	hǆ}ߦQ]Z]`<3f(C.\$T@>Dҗ߳tb1n\$QdRd|~tRC\nP 0+UIN4ִd'!1&1g dY't0bBc,7AY\$BN[z\r7fh'6~PdI&.Li϶<:o2cB_\0[qKDS΁'6KsPr+\0002&Vm\\E\rY!nNoZ!m<ֹ0\$bK f[AK4 \"sͮ\"u` Љn΍6XcI'gf8mRKP\0_\0Y>, VLcTW5)=)\"Q?QjmSCR[M-,\$zaAN[5/	׬O#3Z(XUeavMagn/{L_]ca%r8<6ƀH\ro\r-˜#0!p)n).Â|bhRV'eӐ4`ʉcpm\"))68H* h\$M&/mpxefiMVj p;)f7(P<PB&<&WM&[KA4geNV8TfðpH#:\n,VmpGk](o܂qGF#(ff3gc	vT.d<ĺ2E=%,lQUo	I~EQ#@{n#1rQ)qz&~:C.U[/ք\$8Ѧ1fM=a@]ԭN\nR<PU+n0,qĭ^Ef@[BDDF+2&k BC:QR[@F=(0&c%\$4Lp(d@lQBcZDvDMM\r&\no`7@`d\røɮ(Pb<@\ncE#FnN並+RqW 2<&PP ;\"p;p:++Ð9*#=\nwL3\niĺ[@0e#c(.Lhn/\nePb3ʊ7O,Sn\"o\"1m5)3v<,%VŒ>j'0W\n\njİe+2#M2&>f7=g33i(s\nf!ĄBL\0у.L(sjD@=\nX>`8\rj2\"\$p;-ZE#\0";break;case"pl":$e="%(g9MƓ(l4΢劂7!fSi̢Q4k9Ma ;\rmD\"BdJs!I\n0@i9#f(@\nFC1l7AEC :'Ik0geň\$y;¨\rfwS)3	1iz=M0Q\nkr!c:DCyêI#,d	CA2eӘFաњd	B7N^ qR yW~Xzqu&p7v\nBBR\rh01!	`?(.ǌ ֏Mz(0P2I\rz\r(x:dC1c(\0,K \"@9{;%s1784.<9##4J*7RA:ʪc&CcJ.\r:.0\0x\rC@:t,304ѐ9I|#4dCHx!7DC:cꄺ* 3C+CڼcfF	6 '0u^Z:7e7h׎%`6ڻ}k0P:[­9N6p\r61z^B07\rnS (0Qb5P2Hbh6&-EXRV69x%	K5jQc-K`7j<z.%0uY6[\0(P:6xl8TN (#~*ÍL~)t\0ߌ.\rͬ\nʳB)W:>RDMD7f\"\\P\$fԁB*Qh0YK!V3jh+\rT=1	Ŵko\\=T)#0*cW/canzL/LP=H/ !Bg\"8^sG+fԤ3JIJm,\0X*>FlńStYm`DJiĂ%2w)adW2M!%A\"HGb6{]p\\NA#Ddsފ@&6s6Vjg>*8W\\<q~0ƚ2OF%HN;hR&\nǉi\$r\$SX%tʙ\$O_(u\0bR\nIJ)cte@rSOKi2jdz\$1Yznvh|Cc/2TFf|P`ʢjR*MJyp\$PrWj9҈y]-qzָ~M_zx[LE55KPtFɵ5a\n (By&	ѶIcdELbTh>&@sKn	ڐٟ6as(S&R,UqĦa@>HLc2Q\"jWpQ(A?)})@37%=T)=djpDH\rl	i\"\rLe-	pju)ʽ	TOXؗEQfDIh ibgxA\0C\naH#N\"|ϚMEY'Azh:h9kTDD,l\r&D18\0a  .`GQ̊=R2/i\\LO>JC5OQ\r	sM+*YiLu_d\n}~00Wc#ˣrZ Dl62llkІ!`m\$-WzVr2ҖG־i-L|v6z+vOi	Ȁф>ZeqbkHܘPjtAd]\0j	h,2\n1 \n/FKxlo KѥJ\niycP&kOQT\$wDRhĒpߺOmۜ95	u\r?o?p#zD\rj5KՐ;H\nH9B{qH͑\$Zkd94eNq~1wa2AE%lbtPCYK1Z^m/I1xDn;Gv{%umC3U2+sk&^+hpB2Ug`zR\$\$Z[_t*@ADl;\$BhB+7B=y.LMTzoί(\n&Y.FEbcV<%'^?+,|jX_[콹{)k7?3}iE_\nC{^OL@Oo\0\0iTi&L\"B +(DJ\0Xd`.RqD%D<1\nπ'`B2u-dbx\"f#0j1n;`)zbv˘4P#\"ȧ.,\rO\\-KЮCX\r.^;D5\n2MDs\"HE%\n\rK\n+nP{0Tm\$F \re8bf&NoXdj\"~.`bԳ?bqҦ9q,n%0x)2 l\"``f	Q01,d|DűoKg/r\\(PbndPʌ1uSLۧRY`xq\0/\ntȑ,3OzQ (6 !Qr 2!Orn+Lk\"\$n\$/?2D#\$1RT鮞.Ne\\Jmgm o\"F e2<`\nF\"b#`(V!SqjRYH<9`FD@zP#fIQDH].͒h`r(O o\r`\rZhѲ3&(SZ\r\rG,k`1!qqxZeen+2PGw#/&-5O62q3r1l#nڳ}4Ӏc\"1dA.!AC<B-3J(lĔKSl1u1'3*Ē/1<2=S%71sxYZe	>7=ڇ>_?<Rd{`ޒ`5PnXE20QB'B!=s7>p<4=4oBD%N0.3M6myEE2k'CF8'GbփGm7Hx,gF\"4W2\nDAGThIJ&\r\$Rl=- :Y|8--N\$Z92*,4OOCV7tx\n Iu\r3<,?&2?  u2\\2+Sr#S+Q\0X@n\",<&.k*0\"C'&5-G)Bpg;r\nZHK\0.l?YOg+Yz̋/K7Z!I(z!2[L?PfcVgKFP\"cV^¯)g\00001/	BP^^@U*X&(`*x)NBva	IphFȢwF+#j7v7d+\"\r㬐yY͑<Y/c\$hpfIrec4	ACf¶61P]J'us;\$Nk~%_Yp>\"md	&4Ӷf5K8LF%\\x\r:V@5MN#f262Zf:ǀ%o H̑p+n\$RΑ*@";break;case"pt":$e="%(Q5Ho9jӱ 2Ɠ	A\n3Lf)oihXj\n2H\$RI4* R4K',t2D\0d3\rFqTiC,i؎hQi6OFTe6\"PDqe0̴m,5=.ǋo;]2yg4&6ZiC	-MCNf;7bh<&1N^p|BRY7DV\n8if)b:[NL,hlI]bo7[2XOԸI2>\$P#8\"#kR߉-ޖB<\np7\r܌I8܍\n<\"/&\n{T6tȎ>C1c(Cq.	xFLS.(M4#. ܿ,c{뎈 8Hƾ006fK+ĎcJ2\0x8C@:tL.48^z#I@xDɻ5#3Jx!R)(4lMҟ29-ìhmDj|7i6؜7P+83(CʠWB6Rಋ{/+t6\$\",6O-2f6\0\$4 v~8fy:\r[V	*2߬澿9@QYBV\0 V\\6\"+iv'!\0(SjC;ۗ-Kܖs>-/2K5o%-hYU0Ċ6\"7(.8P\"@Sx\n@6},08mDr#͇b4q\ra^D\nR\"6[4T1l=)f8)J]H	:\n\"3bz}ABb1T\nd\":bxf9_1DE@LIpy\$9TwØfd`V\"!0Pr-0RA*C^a*IPX\"\"įPIU%*ǟYd#\\驥8T;jUZUTc`\"Ѹϡ )%*dA\0f:+`i11)h&?TjSЊR}\$d9l9Ht%5^'	s%!A\$Kd\"kXhLi*\$8(Eͱ/A /dIPlO9fy Y\r\$␠L;\"Mt'&KSbga\0@@PON PPAI)2YȨl%/A93͙;EiCb=(FK\$-Rq<0^pa/`tVjMDF:_eWzTIPoI!004ȔFϩ W쌎îheYP%!DΔlbɑ4&6S g%-xZdP|2	vŞ	\$<Zl\r#f\$*IFKAKǜJBO\naQBWBbHiɕ@ u.d|5B`Շi<'%k4ꖘßc*'Om(0iSl4pV\0@%' llDUSEg%z>V<#h8PT@.J#_v^1a@1E+kS%jAY+5Dx1fMIܽ52犓Ū4\$ɽKLKApmc,\rUWQ&_;.`\0YI6Mq!E=s>i'C-@(A+pߛsAxf50d̫]%fCP\\C2픬\0V8]+ÃyHLxM<<F(w]!\$4Ԇ!0m\$Lb+vhfKح7D}B1kZ_EVPk Ia*هx9b\r]Ӛ5@PPRq+>R%VrBAa 3L}RHQ0%ʛv5/Vxwd *kKyӛCȥyR9cAyc͠ވM`1c@EX4GTyo#df^MbcݔvrR껁vi\"R\n3\$BpX(h[Hw!0nߌAQjbIrCA!xcLǳِu&sGLdM9%>;~*6܌!T/LV/dݻ6_<9SQ7Eٜ՚TvON=hBNawxQ١/Z0\n\rNo-\0\rM#a\08 6bOaoG4BR쪯DBȪ0Ϸoc9\0M%~Nnrb|NP~N8êk^?Ϝ0tJZ'vv:͹(P\\aT( ً@JB#.kĀbn6pRcAId1c\rC:?BSJjt,c^\"Lp\r0jHnea@^/Q^\\PHi#6&tsn'7oBQfј`{G68&ef&\n4M\0DrњCmBg2\"rsGK7oye-CqQue ^@ddF\0D:q6@-`2:#dk\$20I5\$ʴ(<T2P#4 Ey'#Nݑ2{'QE#|ڢD)h.t:ᄬ.nR\n.rJ|1 1 \$ZB<22. HPj\"P2ˣ/0f``\$H#h587j\"\nP1Z`.&~z\rWb\"LH0(w|(l\nZcx^S	pW2S\"|3+\0005'\"M\0 A+ E(&ł5h#R	</̵:.\"\"fĶatdlq!ϖѣf[\n @a&*~M:,-;L>v4Y+0BǽC0k@\r-,Tq't1q~1-p{^ [FH~F'Q(!F g)h\\Ь4MT]d7sADb<Q[l tFM@fP#sŢȈqpm\"L";break;case"pt-br":$e="%(Q5Ho9jӱ 2Ɠ	A\nN\\\n*MqmaOl( 9Hm4\r3x\\4Js!I3@nB3'h5\rAscIEGSbr4EcyUz0Dqe0̢\n<miiQb4(&!Nod?S4L<ي-L,ݒq`S 쪧(o:\r>yxs-s8kjFI{Ct6}c3ܡ\rê:8lܛɭ@ҏ;cp͸K7`P85x7#9>M06r7%C(3#澍pDjƂ\"ɭKKXB+9>`E~#* \0ܟ-#{ 8H!\013ҳ{)2#`@PC3:xOdԟ̀!xDcJ8|36	Zx>PƼǈZj!	An\n:˓8ثK6!6fV}'\rpPв\n\0<Mw^(!`,}Lj1ʅ4,@O0#>V:a4\n\n(:\$ME6\rh	r2-X(¿(8R&<Ϗ8؋1\nb4H?/i4ml\"f*+R6R7j/j8,2\"#zaX\rHVLxhEd#{_`_r3/n2B#r2};`G#:8 擠ڟK ͣa\np!-#Zn+죬1Mg0Py, }TyCfb@\0棐!ǎR9Dj7i3ZI¡D\\hTaGײZ;JMJu24H@n+T|i\"m5G@ςR}^=\$4ȭEDUj*aPzYL)8(*FCV\nʞ(ul.\nIV14D|=jELhChӚVMh4!+(REqPO0F	Wh=L=cQ#c	{Db2+JŢGv@H\n	\n\n8)#Vp0Cʁ\"ĝަy\$ppG.ԂB)P=G-6Jlj0LMT/%ZX*EEcQ9P:SL1%zIE) J\$%6TbLGUPQ@Sic2`L{?\"PAͅ\0A%#FKٺHy;Fd-=Xu:sM6b&Ug\0¢~DHp@*q@bhUuĒC]y\0)XىO>5I#IKi4Nâ\n0^læK\$b Źp \n@\"Y&[AV~.	Bb\"a.f#Ɩ)CY2jUN\ri(x/Kݐ[J.z3\\(JҝcX,eґd[l\0_\"UE%GY \",!EIƗ(-v<.GKx\\Q;69g%&683Yy>98xG_`@L0P^Q%HPaCFpҞ[b!bWkjO maTƶ+#!&b`A[=tgbyXr|q9V]})-h/O 2<˰/*@@ e7]Seym;3`)yΊ\rv񓦖uZjew\\};d6p	<KLfo)㼯Cܜ5rxGy7#yDy䬫(s}u=4t\"ARR1rK=趀Nw VU 3DN3H=6tnl9L'}w<(b.cN.DIYW|\$zN	\n×@٧KIgƀsM4jD7uqnAgMX|\rۤ_3(5\"hMO9ǖV0&CP8<S{#gw ƿO(J8/ch6	ՍjMj%OXC_pZ@6E_@83kV/O_\\`.,rlbȌf1R{TƏ1uPVƯzlM%Cp9#(ot.~c	g	\nU\nb\n\0)@A	#B\$_ʚ플Os\r\rp}._%CEׄRV9{&,QԖ#\"pz\$40\0*KRvRb|#%*2cp׋0o)d׬0\rㆣF\0#[\rpc>	\rb/@\$n`\"`BO1rpznoYQzB=&4@&d!Lj@j<llKHq9P!#\$*.L8i./Q=#erCbJ\\6R٠\rih-|#\"zi&÷'\0'O2|ح&U'F\n|ڒj0p]υ2\rf+o*/o*\re+6#-7e\\\n!Q2B,I0On	\"\r\0\"PLr%,ip<phKxf%f%#3cjL#]\n8h#S@宁`B@k\r&^ Ej!R\\n@Vb\$jGRɂx\npz8d,鐤ON3pLk733P!\"\$B.2Ly-w1~2d8DBDO9fE&j=s\$]ho'BܢbLhatZbhc悉j1)TVԌEĬ\\<B\rrޏ4fl&GG)dYH\"(\0fnl7@.!bYopF,m14.nV3g1\nT&iJl>̰/|\$x5DI?8_t!l5AZYbmml<?'/1\n5`%-S34dhg";break;case"ro":$e="%(uM0r1DcK!2i2a	!;HE4v?!\ra2M'1\0@%9dtˤ!eұ`(`1ƃQp9\r0ӑ@dC&It7AE3ed&3IrE#Q&(r2NrjEDj9M 4ݤ'LqL&V< 1my1&A.Ś2ȦCMeyS\"Dbg3BiMASM7,kYF\\S>t4N;g竔sgA@1B:޲IйlKp9<P6 P\"5xפ#╊i6iBB\rz7!C(.t9206H赭z\n6 P#KB۹#	x\$ÂB*)B{\"J@1\r!3;zرa\0Ǩ481C`@#CC3:xWu:Ar3_LQT2\rLЌˊg+^0ѣ1и9-JZ&\"8@SāW4܏~6\$mk :C?b(74#:\nM(8&#H!x79ᇍ\r##Ͳ(0j@Վ,rXxn Da84*.r6_\n5ȸQlKΛdkޙr.{##r(\0㘎Co9w\r7ضs3ݙo\0\r*gPqN@H\0002(<o.sh2/43gMV)R7/#)]B/g4L(B@<xcy3@P!L^ij\nd:axhHl6u 7#xXbxN߯\$]Pi@̕pdQo#H	+CI\",EȚGfLX+JXN	\$3b؝IXI/}@xSy=g(:A\$3m\\)\no~+2A@s%\rfqPPP)Q\n@@*TTZúOJ[\"rxd@H\0D@Ji!/4b4T-yrC	nSkhu%a4!UEтsU\nV*`ڵV\\_*Xa%ߟV4cJppRy)	9'EԴ\0l2 H\$\0#ĸ#I	ZIHo(rIQ+ډ!&|Lo	QЁ\\]9x?HD\$ւX\0c,ǆ@L'\0E60QsȊHϼ(wI*6tZanj)d(џg]9HV9<#ALS@kς\r6m8u&ESMX`>) 5y&\"-#jf~}\n̑1&dԅb\$rKs\$\"\n̲>P.	Xa40v8i`ņ\n|mx\"\r	Nͩ`Oe0bxS\nE8Rd%T,Yk\rN:dd֩5V\rsO2RY\$)pk\nmz:0T\n&~յc\$9jIfm Dd\r	ib20(|RSI:p%zؚdT43_c`M\\/n(Mȹ@AP\$fIBm/-eL`Y/UPLY43^`fHtdL[\nrRPV푔\0tO\0&5+wʮg~؆/Xf\r\\k2b89H\$(6rD 6cԣ+i5z@U\\tkaq%:FlrK@xtpMe97\$<̀lSP8Asq3Q'<bKMv%e1<)9;LӐܓɈnM2f\$ae[N/%T!\$6H*\r#T0ɉ\r06P/!fXOM:vD뀠!Pv-:)ӺûxP\\z!!㭛޺O_%3oa΁H@hAN{q+a]X4I`2ae~4ė`XR\$zIңPO)h\$*S#	<-L ]RjC/X\$fQ5-fs&#1;}3a_)=_d>N^5W['@,DTwUen2~DJih#E3BFJ.kB-fPF@}Jէ`I(QbO\0t,f<0,0!&M,\"&-*g`P>p\$9HJjưL\"#j̣(bVʄ\nǪ\n\0o:LnD>l0)\\Dt\r*`knteCK\$d< s	.ǶA0P41>CUQ3\rQ^,X/qD\r BOH1z*m\r(Tc\rd #vVbc4 [)\"@ސ^j\r@f\"bcE]O4_\rKc m]b4mnVʥ-fGtNxk̭8Gv1]\0s#\$0j'MHEL.a#	^)!\".`aDC0J\"Zv&\nfxHchB(!3%rEF4ү*1!M%bu\"[^0*x̪u(Rcbb{\"ނaNv ֎v8N@%rI\0'~cVdS;w!D\\߀,\"K%#3BE,\0N2\0W,4w\"3g5/\"\0\n.!4OW8B8[5RI9j%`1G1\09\0Nn*M#F^eCf-\"<	1=a6Nl5Ϣ5n,3OSo~_#s>+1\rV/X<,bENB\$ET%bZlz\nZ:\"CO`\nf\04ptP89!\"'Xp-Dtch)C9pHTӤJ)ƺ],vV֦\nX=MK5@em	)e^^quAn.8g\$N>>PsR5*oܵ ~x;1^\rF(qu0B\"rfXI6,fbdFUr@yv#0.e0a-~j#]BmJ`	JjefMDqLH\n[2Do?`\0WҪ0&l\rfGBg'үk/@	\0t	@\n`";break;case"ru":$e="%)h-D\rAhX4mEFxAf@C#mE#i{a2fAZH^GWqh.ahhh)-IhyL%0q )̅9h(HRDLD)Cf4Ըh/	4&Y9ڡLQcQ\$c9L'3-hKclqu0hʮsizxr#^3KB!A%X֡PTB/G\n>#=Ii\\\"\"\$=i9*JQI`=I3(@n:4<){)h4@F:PD0\r\",fƨIo#4cA%!1c)x%\$*J)G1ۧF딿Ɓ^\00Ŀ̂8@+hڢ-!\"S9S\0\rx:\r2a7CT\0t9210P,#&4\nˠʢ\"#RṢ\r\\OO@4\nj@P2\rH2OUd!{\"|D_EX*E@[P@\0x0Cb3:x\rq\\u@3(\r; ^,UY(R*(0^0CG:N1^ѪnOD.\\ۑ >W#1[Oc26OuȷV]%\$N0e̬()~Kb@I \\ĂëuCRZk8,R2Ja9Z,R\$Iz{q7lfxx:Z\"FE5nZ:q?)գq]zIvhi\nhW^dqӨ+x6W4QhAL(Z* TB1>LU4fVKWpAry+Sl)cA-IX^SL7g.\0LUaCqpڻtƀL@^wHCYm:#_\$(a\nI HFm+B2>u[qO\nL!Qfm!=2Rw,ŤS-9dУE4P	2]\$B^I|m-B\nQ)ud!DP{(Dq\nfBZR)_4,M,\$~񑁕z3]c4I]EȐa&g3\$0s\\8-&y;M7eS4ݑU*6?Nz]Yq{Ӳ.#M\"\$Cgu'	\\X+lлqJ	PX	B39~Q	dlBCFdw5-Hp)94i,0.n[Q\"~ZTb5RW:ngKTO|]3zMzMJ#+(%`X&{s3 [q&\n2#;	d\r]X{blUv2Lt\r7M9#d^I+E/(&YDaSugZzB.%I>fz&ѠNj\$>/vmݣVVØbY18X!da<FD#e͗C@DO\$D&SPRv:d݋\"4ح*#W^\n2qKc.\"1EDx+SP vdʕ[1eD;Dkާc	콉je:N7_Gq?PHi\rJxrn)]k'k\0PYAIh?lfn]emJCű\"^xdCNks3;Vūo-[kf\r\n[kA/\$}\\S5r<K:jXPgIW*c18\0C\naH#oM)vWY`&iHZJYmW;qB֦h[#Ll(Q\\!FrԮs	\\>b\\+69xvf9RGav괃)]<.٘OS( zƬy4 k *4JɨڂHCv4lǰX8'Z-ԟ\"bњ<-|3@i{Q;3P{'O8v\0F\nBsڢf9ix\nR5CÕWz7Gܶ+}=n1hEx庆&|yН7Dpaلx5H\${~8ddM_^0/Itke\$Ưn >INMRBBe</֡XDLoh~XzP:)Jp@	%k*gmBjylEqK^k)4V\"IPB	\0k,3b*աuPf^z ,HK1:lA>{')`'z@q(DMr\"#v\$KBڥc`RZ!I& ƳQ4u-C܀vc\\\r\r `@\rjb^nzTFK'\rA0Ȍ͢M?p:&NPo*18?d3H\\b'1,-0MH2@5\0@o@(`p.X+NjȝnkHF&p?G-6gv \n`f1zi'hN\"le( o^0Fi\"K{'J (m*BplD\"R>m(@2&2q}*B:K*ұ&OMһ)rBD'e,z'\rFr*h_-|\"\"mNns.+IɈ:l,a0Ҳ˓0,\0mC\"p?&Hfs-0s0s5(Gc}@|҈7F7X-%BhRDo7\0ɖ8o>i&OfMsf9\08Sr0M4PP%-N1trZ	tz@!#9ڱB3:q,*k+lJJϖLkF^1JZ8\nuҠ-\r\"|'W.0C@FOjd_OrX(2F\rGXhXmg\$O(gpj1\$j5+LQ6cEger\"B\"(/Mw)ADThf3kK\0\rTT\rb`\r\r EģNT%iRT9D@PQPt%Cn/S.T p&'QeU#SU!SQlLTA?yE*X\"DUw(`nN\"2SU	US.*b5c2V\$nWB3z+U\nXI55XX3ȣrwZADZƄI\\v>|+p+	n^t=YU]u_R\"(\$Ve_mn\$|>g 8P\$C.bPK*vSBHEt\"˿TPz\nR@I6 @(u׃^`_@Ddcl3vhsɦn\nY?lZ)!1kvмT+kll!Sa#mE1E4Į<v^.LhC'k_3q/pvVjHBlBǄn\"3p	kBr&a\rt\"n(vg)4vBFP5[pC9QsYuWX/kkDcxUwQa5X4>xgu;HykH:w\"J}dqo%Vȥ{mTI\"\"-q>*%A%U7ZiW3z\n3{Vx	bQQw-8\"-C3`rש?1o|Q񊤚W'TO0-V8*z?K,VפDÃ))rc-Khl=x7JuEr:/M)2Y	3*8+.X}Pb&C[4&7c׎Ʒ2Br\"&M=4s>exVU**sZy/byZY9Ubݔ55VNlbi\rVSA`_f!FBDČvӵ3X-:saVD|z\$!3m\0\nOfnq(rjXH((ص(FUfs.yלE\$fs֒dfhiW.Mn{knyvٌ`GQ@н3ȊLYuՊ@;!sj\$hZbcbush7G %j;e\0\$ƳPL*gt uZb+=vJ5TEbVPjrŪ%R͞5;zڱF2IȪ9g	TC1IL&lkʭɒlŭ2;#YzNUL=;'MAdJKNǹDҴYC.i5a_~X9Pz\\ʄg[=F݌ZW;&zx5\"/wr/;cRZ\"}0ʉF;޽Sl J#\$hE.`";break;case"sk":$e="%(](!@n2\rC	l7&P\rl25q\$\"r:\rFQ\0B0y%990cAn8U\rZv0&㙭'(a7&(n1!%iAD9ϡf?BKe|i3fRSzi0\"	75d%Stiы&KuqmNemB~Q%b	a6ORj5#'MnqoI{<q\"7)RPcC(p7G)B,CXԦcCh½7\"T6<m1#Ȝ2M4@1¤*6(䚎@PНX2a\$9똆C1c(\nx,BԛB@9\0PB(\"@ؔpL,\n\r3M	# Fj\$2Hj29,ʈ8X@<ĢQ@@4KpXr82D49Ax^;sS=\\z ;c ^(n0aD3!nKx\$\"BZPC|I\r0p:BGrx\r	SpN\rc&h5*иJ2:78\r<,:2sb	c}:%Ȃ:A	(0C\"\\4t&7\r8Z\rȌ:[2;3DErK\rc ʜB-e2=yC\0P\r2x⧼Cg&!߃ʘ\rMc\\.&N4![z@VZ\"70ѓ	B=]҈pPgwYæƍz\r1_Gp먞#R^on::jgª(*#J6rx<v\$O+aw;Yl,ܨ\0:4^J7:*6M573@:^|vP9~K2S(7_J=A3t_A&AP^Za6D#L \n\nAԵQHa\r!&2B8eb8\0ضYD\r3 HBxdN4HY&ԔeHrfrB\nDcQWc\0n+aȡkC(ssL;X[I.\$f&CR.QV+Řb̋28c<H9q-F`G_eLdʤ3PjAgTD\$)g0<lTRf	NB*U*>*`X/rl<WF5_4.a¥~9hYcj/JMx2(IT\r4:U<Tʠ;-UxrV!9LfnWj\$B`ʙjBQ)rr2Jh#89Й gSy~AlgtMǈNYI?qYfu&BJpOqtC7M;\"=M%ypejaӄQPL!zj5ZApT@PQI!d8\0&|LB\rSRqÄ3dvoTeYSڗ\n%aG=#iODZE!K%+!dTkIP!01=ĥE\\c!\"_\$p^HIA*dHp^Ey/V҃¶ĢA7 \rDz.QD@&vbp ӗv\"QcF3X!D'\0TZG)ug?HyK*5LӇ a%Y\nŬ]VPu'(a|Dŋ\$0T\n8;S9a0m!\rd܄]̡޽CNg67(ЀNLQ|оzp}Z(GR\\']k'l6UȖ١K=2.\r-tLHQiBjbd+\0<cLDZjA.o_}7[T?nz@ZBHoAkC7Rxb(|(ӸTwǟh	on[o`o5->SB(sd!FZ!jUܮEohy6_r\"gJFE̹dt396\"H<v&c,Gyur.LSaiV٠6CGAے&\rPeVw]S&JZa^e@BH2@V5C\rKi@SYIv5Frآx\nE%,_=œۇGѻzk\$}o3jtLHEoz\\Wɂ#b!(DV8&AfFΝ7F4An*])^=|쒏)DJphfO`CaC#\0002\"[ lG)Ly#L%dpvMyMC\$G 06\"Xe\"ZBx\r%dF.\r\$dhJYhv#r6lA AĜ'.B^b։CB4j%kФîK\n0\nd9p%Ŷ\r.M\rd&ϵ.J]\r12n\0!-L3jRmX.N}\nBhrɀ\\j.c<\0efZ.b)f%r\$ .gE ذV\rh{F\r Q6O&{jR|p\r1X0E_ȟo\rNhfHt[Ѡ\rFRilϺ(2\ryq__mQB; B QбOt\0Ύ,̎q\$@DL\$	%n\$n>NxBNt\r^!n&lmJTM\"CBxʒf·\".%f|^\n,a\0g2*BSj㋪➁Ck\n.Ò?i%H|-eQ7\"Z2a\"J.F`i!{\n\$f3'uRxgxɓ,G^2\r\\;Ire\rRvyv%f?`?,5Bv73A73`7Z>N:&\"	b<#NBJp2D/D>Ft 04ϑ\r;2!21t S6!q0@hl=k  \r'f>[;*k*;bA%!A6S96ntMOAS;CC3/DN'1=S;=Dds7?4^`#5.D(4:J4zJ\$e24xJ}I35Eg2Z\r<2Ldr:+F>m]L:BM3Ko\"L϶Kp	b0`F\rrFLM0722\"'Dl[`d\$\r 1Ö:kƶa'%.:NmC|)0W)rE,2iv㊈\nZ̪\n9~Hou#5/*\0Yp'~!\"b*ɤfhs\n7G6.	.;a,UJCz9rޭ5?V.daZߣҌB(Z>?jBHfjB\$TNzmkr!8լsКd\rS<\r9B262 s[ʎ\rudHQcjRCPs5Eأc13Z6@]@Qfvvm'I-r\r\$KcĂOGh-gL.6h`C0-r\"V\rm6]yc5M0VFG	Y Ƒ0&M@7+e7[Ǐ0\rtiF2>\": ";break;case"sl":$e="%(eM#)@n0\rUi'Cyk2QF\"	1k7Αv?5B25fA2dB\0Pb2ar\n*!fPsSYPaDqa9Ύr\"tDgNfoBAoB&sL@Vdk1:0v9L&9du2hyr4\rS9 դh4Ε܈h9\\,xAcFQ =ptgtfYyS=bX,ģ)^+Nĳ\npǎ`9H[:І\"\r	\r(@#!a\0t9@:@\nں-B;|B= P%M\"2B5\"\r Ǣ6Z27ͪf9q@0c|9/@C#f;c X[2D49Ax^;Ёs((\\{ͣ8v!Hc3!cj64^0h´ޡ\"3# 7ZUCx݌Xp;6,2ł9+p΂ @1\$lvoVԋܗ\re84\0P7؎X!C \$6LƎ\"O6&x(:ȕ=B0r\\-Xò%0֜I\\hM 7\0V'868b9k<\"&CxȶCүXUۭnU]Xƴe Ѵ=jWH/Uɐ8,K:>.=}o7ϷC!CMQ'hHN\r.-<U\"E:32}ԇ2'ivJwǨ<7LBB46:ނHË0zm|ZQa\\Zj(3%\"D'\"\n{mO\r˄]Kᙅ\$eBsvQ	2\nI?If̕X\"\n8`Z'(\r+'SbC{O@5\nҊQ87bR#._Ap GVxv1\r%?b<Hix#СH0䶞)e3f'xrPJ;dTXrQ=wTs\$6v]!+A&k9? V@\$\$3[#B[z[d\\B-H.մC4k /)( 9LKP .:O\"<1V.ŔcV-R9pД̔@\$\0@\n	)!a\$sd\0S\rY[MѼYӎr󒕒ܸ\rgKR	D6ܐB(9+i/FppME7'-@c@3ŶB9inz lqU!0P\"bb/XZte#\$ȒSNrw	WE!j`!Q}eE^1&:^Ct9 2\r!ж ȑy62C	i/`-X	JO\naR,obY9BUBx	[Oi#yLH37dk\0'qp[H-k`r\$)\"0ud(KlEh1Ym?މppihӢ`[:g&/yhVPՀyM=G\\:˿BduM-3tEQK6VW}l\r<TܚV?ĩރ\$貲NzLNPOdX3F쳹dloYlÓ	-`Ai05:Lkĸ=P3HCW8LƏKo7X\"^Ol^\\Q/@55ˀّ;Q>[z* TP8Afwh\rV!i}%Q(yG.OfPm0rت#jV LZN.B4*@@ ʥ*Ym\r\$i2,ˀj\rSM]<\0jx(eWo#!# ^s-zEBt!)@&pmF)1n2A4:!rjH.䁿qĨ[5j\"椳uxq>*udmbU9VX*A0\rŽyjqXeл#q		WV|<fn	\r`M /`^!(tjG-Ч\rf,É\"vwfJImcf.#B .5ˌTg+We?γã0A䋣\$X\"`.dZn:TɢX6H1`rТ5\".hDz.J: _\\e]D\"L+pB3pPH30, xEӣI<\\ay\0\$cdIA\$tO\$P\0tFj`_/spPipt%˶	b\\i0Di#\rn\0N:N.G\rE\"k?.8ӎi\n Q	*\$E.޶zW8MVիMPN1ʹX1o\0mBZ0;2;f%!\":TiX (%B/>;)ԊfxN)#	PfmO\n.a:Vrkq%pz-LWP\$]EҔ-[PA|1!1\$+\rWo#bĲ\"8j<0QrB|pm=-Lpkσ%B?#&2:B|1^ %ZKadHkoCQI#\$)BoP!P\"*J[\"^lbc&g 1)P&+0Io,),b.mb\rcb/\n^&:oeE.q.~Xr\"(S\0ES/+֭&JMnEEm%j.`DMBҥ-s-4+&4>?,4/FZ@SL(3rQ7\"7qMR.+-3OO|&@:q*Bv~Ф'4E;dlAnf6<}-3ƤPE\rH,vM[3-K+sN3T\r\0oV3AlB/SA4\$Yr`k3	D4'dh*Ǡ!\0J^\np#@Z:pm\rHBl×nQ5o#IC5\rF!ƪ!\0j͔\nC6KfvCA8-4V`\$H!	J+E!,f\$LE2!GGBf%I3mGmop \$B*q4lJ+S&.Fn\nCU+Jd6 \"вn%<\"	!hdkK+fC\\&9՘%՜&c+HoB.\nĸ5jgeb#,rԪ-c?Ď5XuB42c\\&\$,TJ&H<إ#OnzA^";break;case"sr":$e="%)h.i4	|Ez\\4S֊\rh/PHPnv0G h\r\n)EȄ:%9>/M}H`(`1ƃQp9C\nD?!G: 'a%e|Dqe0̢\nm=c/\"mF:D\"Uj8k:]\nHƖHr9a (h_(әHY7D	Fn7#Il2̧1: :4c41?\n+ʆ4I(k+<F\$70)pE0k/쒎x)H3Σ˩ChH2xKʾ\$1*[;\09Cx/\"ˁC@9p6t8KàK\0t92s(l6Î&Ԗ1Rt\r\"h\"BQH<P`P2\r{>	\0Nt0c98@0֐дc=5Ўc2\0yd\rC@:t5e/8^2xjZÐJ|6|3Kl4px!󦝡nzi(U\r]05;(Pql2H/	YH2\$qdne/v.]`&B\"9\r*\n\n\"N&(ai8Bt(U_NM *jSU/aB 3#]: fRBHJC)\rTdmR7]9d[n\\X ΃\".\"&ZRzi2t9ع0GF'RЦ+>)K)v7q5jKJt%HT\$\nbTS22pI<W94úZvⴺxEUKTy9hO\r-biyI W\$L1<g(C!VhO!(%ETcs6!,\"\"\ra;`a_|:VCA<Kl\$3,NƐ#K\"Ag.'䖓r4p< nX\$9\"I)H^#zγ^*lF&w3\\	24ɠUJ7pyJ33`ج1Umd*py9U3v7t|tR0pOV!:@PI[~D&TSXCD*Ī\$g*c2+5z\\Ks.b\rl/Un!z }>X:?Enb)Uf̲%tQłmiBiI60@B#:kUkI Ά:\\uپ^8/H?WI\r'\0\"eNAzS Y-ʅ\n؜tJdItkIdQRa)5AX턂` F8%Haԁ]G,k̴eg c\\H\"o4fx2Z[u;(>*.k(clP@@Pϱ@\n\n)#|AL%L7O0>>'seOu\\zý+d!TK!WkaU\$ni5Cae^-m]5we&!0LlkA)[cp?a{C\rwMtj/7p=Hmq.C	ը\"RMFS6@̙\\thuM@χ2]\rvy+;C4V=-3E1\0¥lD]cڶdm6 zɜb!L^Y\"fşa4p2l7oJC2dXX&VK(Z.Տ^ z^*C0TA(*j!- {rGQ2eUHhH)	8PTމ]|Yբ,H\n`\"Pv܅x!{1,s[5I\0YHcFjŻh,\r:Ҷ=YC|՝(qt\nsä;4\$h\n2jh@r{.ro\ri)dXQkRI2L\$Ũ)7ٟ!BhFE	xXHw9xyzkFZj}c;h鴋jI_B0Ԭa=ӷP>ng\$(7QaL4oL2ea>\$)޻nD,;)ORԂI<Oehלsr@62~{fV~%!>\0A1H?Y^&r~ Ϡ;'C_͝ALf.6\rϚY@Tg\$iE(H'8LO\$ҮۥXC\nc\\\n 	\0@Ķ\r%nhcvz@V(H΀}Pi^i-jiЧh;P(LPF0&&Qų	d#N6\0\\.V,\nc,,ce-bz,eD:P\n\n-\rM\rɝGI0gP+vůCQ0F0\"	\n61JБ0}0=q\"IU:Z1r	V%tK 6\n7vLڏQↇ11tdlJ .\"\njDDU<msvPFdLQP2K\$udPeV\"))HlDjFQA\$mglqV;s\$F!qCQ7REX8!(q%('64<:rF;*(p9yahvn*#ul0ф1@K5vMzf:|NFP-C\nRf@2(Qk0gvU\rKŞ\r\0o`ڎB\r,\$Zv=/%RFk\$\nbF2~n\nR,2wd05	\\93k55u)bv6VZ3^::p6r\r\$8C	#0;O%FG;;\rbw/=c;<CSăkYO\$(a'˅\$m:%{@+Ab)*H H?'bE.]!P408g<!exCE{4`,NT\$:'?0H?Dw''B#HFRHWFӘx'tVCQC'AMALT* 3znCq3Fs>y%BC3t|6.B2O%G)Üqt:@'H؂?7R!(:2StJжuJ|<^t\"Ǟ΂T#,\"vڭO\rrq&70PR95=OUE%)ZUGBr~P1p~gVuXmnTE\rGE]p7B)Dd.RЫ7;\0O4,\0^i-6aC?aav,3&a/N0OP4!CoeZӣPV)vgQSI`pCgVpnDeh#\r\0b\r/d5&r<\$E#v]S5VjfTmkDSwQbg?i8#VDEnx\n\$\\i11IFipp\"hp'kWITio	x<>Tq9&p'1_sb1%<wQ@ޗ@etq/ӗ1b\\˜~WJͪ\np	d~%нPE<_nG!ovM(<1rr)fP	`vT7rHtJӂ9Ngw,0\"bU0I+\$gRR'v(d~rEpp5)4yLG`ѯLrXa050#X]*s>2ȣl؃)bI>5e߆tO?b!i)XpAR\$guN4F7㋲xJLA&Lw\"K0BIs#:q9hk X\03%S;6\n(8wÌWQI,WTGF'5i .ΎƐ005X;\0\0m)\rDfWXR7G\\0f";break;case"sv":$e="%(e:5)@i7	 6ELp&)\\\n\$0s8t!CtrZo9I\rb%9iC7,X\nFC1l7ADqzn\na!CzkDqe0t\n<pō9=N7'L	n%#)HrL×3|+f-5/2p9N\\C*ĝ!7K\\ 2Qч9g6fs+ϦuCS7OenTޝ0֭	Z<(ò\rzZ(.\0\r\rP/Crq6S2B6#rJdt\n6\r`&m <hL9\\&!:\r`ap@#B3t\"d'8^9^()\rH &x|59N+\r#l:C::Ұ8^3<+El#<@MX\n% h\r#a2JT9-@̋NHN#uV4И3JŢTP\\D̪2P2ߪsB<R-(腧9x9r0)\"`Z57>i[T1\n<2ζZhFTC9zܷi#zRԚc(	)0DHO@<m60r@TQy(\0:XF`2(44͔hK\$C=Z2Aj(;s<#8!-ro~=~: P:0kV\r˷.@bPbeJ:' D8o\r6U2\r06I8#oc0I8<ykl9<v̶6EZ\$#>@K4r~?yYpO\0n-iPI~(QI!%s܃z\"8M6!)&ʜtN=t\rS.P*7ȥEt\\-DSjLp8atQ)s𓄀dCDjLi\"DhâuN=ֿPlkj09!g2*y^\n?tB9\$\$4Α;ЬF04c)'l.Ҍ,Lrqe}o fWf9CKtGdOW#(0-&TFL`(\0RO!dbNWZ\\qtoI}ڜĦD8\"AГ&݄98́Ĉ7xɞJd3-ƍP@S,8Eh#&!0o.0fRaՏ8R#*%nLL57ĄȀYixCIR/.A*}fe)L*eϘCDo\0&?*Q̖l#О -L	L\r\0 	AYq9 ]׺Z\"4HѴ⪳ZHe<#*|{[[8yK5ːRM!`a,ҙ0axI*\0TH\$zoXB	H*@uAiR´ݶL\0\\B/cYc<>_\"\\Y¸,Ȅ?u&STԜPhWe6R\\d*,JqO*^*tME\0v>kgB6p0inӥw\$^{-AcrO*Bo\$Y*2ĎMy0ɔ%hUmy̪RYeg[tieeHxg\rBA4e_\r>ۼt3(!ABw>ҶD0GYafw2l4%HDE3\"Cc)LdbAE8.\\I>Y(fvX[bV!\\QN}bH9!Hc~o=f(אƍ~1.fd3h)3!yLY|z%8K8݊M*.%kcr`CkDGq\$LHP̉4E'3KP\n_G\nV~}^haቮ;I_7`2c*x|o{ޅ2t౎֝Ob,A7ڎaZY10sOŵeg-.]r A\rȇ@Ѓܞ x 04sxVݦcݠ!2\"\0&DSc%kZ(N2,6f&6Ͱ\nJPbn\"mr}-l8O*PL='PipXE\rZpnà\"hdh\$l,!`ؼpO=dixj._2Y|j\\\rfK\r,pVPE8W&VNmsHpbNlo-^8m#K\$LX\0\rF\"@37lPsQ\rM`QdQ\"#^RF8pl-#cFUB8֤čzT6>4bOLC8(*8׍|.z|أ-M.1\nM[-lcqq!\r*1b1tr@\r\$\"D!OG7bLnvr<6@hO#c%\"%rD%/#h@qdc\"b&gllCNYq1J%,P|jHxy\\z(l?\$-oT2U,D8)xU\0`{~\"kLO	ڷb3JK\nܤl\$(\"\r+m0NHN24	hz/E\rEnD[qX3_\"<4N@Ph%ii/ω4t{C\"TN\"ņ\nr04n%Q5L-rXtfh,C^l-B{lM;~\r3.s &jO=VL`pB`d4\n@`]8''6@2͓d&.>\$֑DsZ=kxΧ>Hf5eH\"&c4,";break;case"ta":$e="%)J::u>8@#\"\0p6&ALQ\\!_ FKh3Xҽ.B!Pt9_`\$RTmq?5MN%urι@WDS\n4;(pP0cAn8UUɼ_ArªZ.(qg+S\\+5~\n\$g#)eGKN@r|,F,u]FdXGiSTrP+_5ȕʙa^i6OCq)Jj^E.Q@+W@J,W(I{\$#x\r\rx@8CH4(2a\0\$ :74#1EH%!p#%9nҗ@P#x;j\"r\\K<<2Jj2t81Pd2Nx)CH3(Q*ڒŢ2(7L(\npp@2C9HJpSc\rJEL\rYPDcd4\rx0(.@cx5ӲTBI P*S*\r\$MlV=.BtrB4k)2KWw}3:\0P2\r@|`D#<0c`9C8@0~7CNcF2\0y\r\rC@:t㾜%xPp^8g2\rqA#x}\0K:ʎS,ҭ,WIqCP.oK5o~.4N{)0*28\\p¹a45|>Z(1HTx0CvR\"\\aA\\p]LvѢUD\\s\nnG 26cð6/+&\\i\n^: CqIk?IBg3ܬ;<\$Gupi\\a3+I85A\"Mi	d0LQ)㧧Y8{\r`Bx`\nԎLIw46dia7'	syz=\\!!\$컛Iy͠:[@\ruG8:uq%cSøogC\"=Qix	)NIH4\\8QvhtZ8DOTwApAH\n_gCTo6APKt!e);\n\"HT	(I\r:A\\#^3:COSEH#X:v!?[L!/rhuU03hejy [r)6Hg!r)Eq?sY}gO	w@DًW#^%Dd̘X*\na9xOSЋn%JWڗ{UDIY]\$2Sʲ~!>\ro61cvZ	v)Ѐ3k\r@PY+'Π=\nBuG\09?*χ&@\"]^{ZY_IH\nM#+(P`%@Cne@К#Fi\r)4TY52;nl GU+ ܮ'aV6	ZJ/](\"%7z0d\"I<l-\\l坩I4rZ;Iim5CWk-b5QvshU`<dg@\nԤx8*Cp7lw\$C?9woN3*KlAdeO3(ǡ۬WC6c'ظc2GH,En\re4zi|W]ࢗĔy,\0PP	@dz'S)A7qAAlт6njaۼnR,Ebodq47|{MiɥN)R/-Q lŖ6ɩGM74[^x0@(F::J@C\naH#S\$|Rl5}RUsNFԼ=UHI'Ag@K!9&7ǁ}Y/o2t\"S%6)]Oʞ\\\"^	bMysw*-0W֏c)hx\$E0\\\\0ixt5lщ/恆eDmjvmJMt\rq(_βT籡Jq<էd;DLÅ&NDE\rbPMEAQGIE5<tVgd8(QEl#M)0ik+C7Xlzuz0\n	8PT@/_bw*i\$G,م:\0J,O)r-@P\no.&\"Bvʢ\n=N\"hļA6udohf&pJns\\tB∅IpE_%	(<8hzACrX^eVxnzr\$&1\0\$O\nv\"΂*u	̐#؈	OjBx:>I'Z+KB\0xH`ɓBjJ\nFVNw+NRJ>GED\$ҍ\n7%Rkʎ\nQH-bOtt\0~h`Лϸ?vnul{\r J,k4@ZՌO `-h%P\0lŀZxV.PMH\r^{b\$Rl7Rb%grJ鉲\r!AT2=\0ΐtBКO'po\nӱlZb\nchF&֞;ixvPu#(/%i%B4Tfր%B&`2O<O%fhbd5r^\$mDn ]A5pogVD@\n`*6\rrc	M!*ē	*C4ȎgyOyg42(J22.).9	9cf{43 p3lg7/,@\\-'53b\$c(|L-3w4z% 햿Iӭ7\rs`/1qu6Ұ^h:瞚m@?;TؓY26G63n=+c4U2Q61^ɓ[T=쾓VS;Cr	f`@T@Cxy%'^D\$P2=I\r0̖pkߣ[H\"FGGV'sK\"J%ӤPHDB\0CBKqxTg)4(806<o@dZx	ǝ?dJzK}Hw\nr:TwQ@w\0TJ7AӍBRTdV\rDߒ\\UERBn*GP_RtUUq>T7m1(iOC8t4VWIU-45VXUMZI\"@\\ɝLQ3\",0/~'曪83P: Dr5҈\$:LA\r6BeB\r*LO^FnTBE<	o\"3:Yc4\"2\r%*3v<@\nǥd Ff`\rP\r\rN}\\Pg,fh	M0Uu\$RKST+it5\rCFaAX4Ed}9\n6/`TM[69&2%m\rlmXY6aodnjtKVIJAiWo\$3'OԋC9Iq.Wq7q)<Hprs3M;;B:7AX>u?]WiDt%3UsnhvW7	<t4'eudG3jkXoxq)7q/v7_nc[VѤfze;zZBؓr~3!R,Zi5Bwm.\$HQ|~\r6MhhENfUbvV	@O(O	M}f7FxA?W/6HF2kc.!EW^6b F#.ظ2ON%IA{zRY}i!#u{w57ɇ\"0GVreK-x\0pVMoG#uW{VVpԉZr4yz3iANnېOq&q,oUDl`prYmKQ*J&5o[nc*-2Qlu5YAc/)ПkTuw#YS\\?sy|iI\"!W\nHAOiypA،-ӛ#dkmƄ8+pm2?|9eXOٓǎIqQI|d_Jv69Gzv6FݒnP2i8i%{ٴmi&{hDlfcǬ&yb:~2dC˨'Zfڅ''|W}Vz1ygx=Xya6u:7)/-Wͮ׹'ת͎?ҁK+9%ʍVmbiRhq/:\0AD7{@Gb:瑺׶Pѵ}ix\r`6̲W&n91l#ΫM2\rx9@֟\09Fi'~NJ0O{uBW/wY\";ٙ*QoEjYPJtT	I9;{u;w`:avnZ%p7xn\r:fX~G+\r\r ̰f)\0J\0F<-Z>6\\le\"7Q)Ly&iț/dMG\"k:o\\7gw28JH9{@UW\rJvAO:U?	5Vx\r,2៵'|2V'5Nq\0l{Q82yJ!*5b)%j\0lZGռnPqcKtD-_HJ#W@\\UvOiͿ\\%ﳠYL\$GY=t腿_\rl35+,j)M86y͔zuzV\nLF\$BDzSbV㎎,?V8KЁymxq%=~t	˚M%bῩ+~ވ)xf\"\\\06vMAgy-P	\rEq)z_qؙSBcW,)\$]'Iҹ\0ظoe>`vs6sVI!vOCH.R\rz5xHvp}|)B+].3+;^	\0t	@\n`";break;case"th":$e="%OZAS0U/Z\$CDAUPȴqp*\n*\nW	lM1\"T!R4\\K3umpPUq\\-c8UR\n%bh9\\EY*uq2[S\ny8\\E1BH#'\0Pb2as=G\nASZg\\Zsf{2q4\rvuTq,..+h(n1s6t9K'vK֗!AvyOS.lUشt.}pTkp+nC퓴>>Bi\"X *~-h+#\0,@4#7\r\09\r#689R: :8à4ƃ1FK=\n[;I쎷+c:lִp,,C셗\$450=9s?B.jQ@o뚑B`P#pΞϓ.(cOs̅B57NK=j悶FC@9p6t8TT\0t92Mӳ,ҏ+JĐ3oΞ\r,ˮʓUR3O5Q^H)g>Õ}vFN# D!\07aP:q`X1qD\0ÇGrL}QS9 F48C0z\r8a^(\\0XeKRx7_C ^.R8HR\r7^0Fpf\\Ꞗmz*E~9bѪ>=Ba;|\rI7=9|@AP0Cv@9A(Ȃ>\$B3%h-(*?:#{C*D1\$=I@\"0:0tmB,)zM1kj-dOJK̖aiZ (טq=B%\r,(C\\{'5\\iCB. d.}R\$|E	(.gCFT1aN~eC\0Bcq'&2.xbŹ\"#:ep҂ rK%8TTr4VO[*17ka !qO:%rANHR0Sf\r_4ēD`REN;fq`9KOԚ]\0mᚆpuu,OCfm50i2̠|q8\"\$tqi~l,YpC<\r}zBrmhXd\\VAFΠUI7,j4Sg42djXO9!BȎ60Òq/RF&PT\r襰qg`o\$9@amM].THuG9NQ6kTH+~rƔ	TDm5N%B\r!dFY=gPMviaɦ^tlm@ ؔT'H9>tC \\W8z<{ex(Aur2:}\n6m瞴<N\"<JεG_:i8AKl>h\r	4f]U.i9NgY	!8#x֛\nm.C\n˛,P8*já鬈e}rx4Y:YcM2ƾʷ+^C5b}*\rCS#\\8!^'qxA:6}dA%dЌ\n<xwP'-`(At1GEQI\nẻ`@QJ+ETQ@bA`aɶB_6gAԨZ4daͩ1ٲ]\r©2̰j?@3Aq6*{[x-Ìx'Q\0FvhEA;du}/>w楎L-fkJ- ҊSA5%PAVF0CWM|@9Cr?F\nJ#6(mv%>	ɩ#,~ʧ!C\$\nzxpX\rzD*=F2rCK;\"Ѐ-r;D6u_cS/id49k, DPOQ\$	s#S'^o\"}[UB, If[zG}?OVRT^A<'\0 A\nЈB`Ek:Z܆k5j2B)dM,\ny|g)'tjAYeW>FiÁlRQ'=#>܃*75ԧO՛?挒!߯ξT\$S)'zz\0Bs)P台ZFAa2NxĒbOlÏ\0iNL5P.'pl>'?i6+Vp@\r |鞼|\$Fŏ>@\rDufelYL^nu\\ o7E譮Y\"((:yxI0JJMzrrdrgEM&N&zb(HYGXcGlU`ր	;'lVoZqFXdT&T0;\"PK\0PψƉhP}GKPJ^'\0o?3n3R[\n`\rE\"uNΌ60Gph^0%\0ૄ\":bd+z׋NN(\"u(Bz-΄@/nP<͚	J1z^pU#Qyn(ב!!DJ</µ#f\0	e@@T`u:6f:h!Xeb%h\nCN(y.I2(x5%b+_D\"LO._JPbFn8IM-x2\nZgN&H1D\$d'TnG~Ior/:&)y@2\$\"	q1<139/SD_2rJsX63<0r2̶2SvvnC%bOސ/O祽.ǒnO4T`8~'_\"+~C\\'R<H<9sA.ijWiP\r*S3\"I\"\rTT\r\0@|ڝoB#FM,TerO[5ANp،YC/(u5q7-NPNtYE#\"\0000FCG4Z\$Z#rKI3LA\nJCAH<\"\nvgR\\t91&Eڍ&\$:s#(e+dNKp?73GTNQNNO5OwϊqtT#0s&O nIXn(4niUP_P:clIV#\"V'\$5EItn`xd~\"G&T@tJ.NeNo(I	@s'l&wPcmPQust9#l;\\ՉOjQ_nS\\u3`tmO_0):)EubpXZY^_Q(Qt&8OdC`ySOO:t\r.ePWbwf+YgoA:U&N<Ja]Z%R/iR\"-r@e4]OVc3ªV`Gfa_o6IҲJlelfu?Jhl8ocQHEeŉgr:EEFcq/TE3T.vTq4Dci;Tuh7`|1%vw]vW'ax\ncSoQcV7ao^yy\"q87pp@\nr{B]jb>=5m{?p0;R|Y8@vmax	\rtO2+XۂSF_E>+42f?M1,g\"'Ug[ YW1xmjÅ!ki[KRahg36a(ʎ\rV\0vRJhbxҪIx	\nZ@8\0e\$2Jщf(2Ta8\"Eۉs&L@`aDnByUapI]7=xNqhMj'].Tgs-{:'BynkjBGDYq:Dp/iZnR?/eg5ؓacj\n(zG^-AqyzϸYPzU5G@hDMxe>\rF\n7yhߚqT%Q_:\\<bXG}YIT~ϴ6Ozq/9)p*s@O+\r3S\rL\n6B5&Uk(Ht0`U\np6eZAkB'xOvgݝ/ViՖՇ@\0GO7,6-hlR:#X6z-~	\0@	t\n`";break;case"tr":$e="%(o9L\";\rln2NFai<BS`z4hP\"2B!Bu:`Ehr2r	LcAb'\0(`1ƃQp9Φal1N5+b(Bi=Dqe0̳U18t5hZM,4&`(a1\rɮ}d=Iⶓ^a<~xB3|2u2\"SXS8|Ii1gQ̑̚\r;Mno+\$#ӆҙAE>yFqH7ҵ\\Y;H#9:ê\r@7;C(.@cx5ʶ	b\nBJ2B8҉^@:&2-h7@5c8C#V0c\r8@0c:B*28/#`@!cB3:xAAr438_6stI|6KB3#Cl4A^0d+#5%l[ArM6[,٥ɒX [P?HRpXcP:6Ŵ<{472%,C	OX-+&\\9_UP\rkr27Zvܷ`U0\rN1Gl\$i)#7r	J.扬;!X:XG˻m2ͶO%<9&Yz`:C\rWg9q-NQjMk-|ߚq?`=:8A{Z<a9L#n\".	5'852iƬֹj!KVhNc\r,#E} QTKo4\0|'iٯ|<=7-8K.AS&=VCZ[6\r1w@:Z'OJ=#2h5`Wք0=+:kdD7gq4\rX庶B!\r+82CYF.c;h-6B+0\$tZ'dФGoA-5aN;T~P\n	B(h^Qĥ\n,ĥ6৕G,]l\09dyL6@;c7h#-Bbqm,% \\\r8l&3rrČTC=TwPCrxDʕ*(D2 l2+4#Li8THF[-\"6Sܠ,\"**_4!Oc_p\$OKO\$i#8XnHΐd\$A@\$>V	g\$0v\nb#bBCd-+L1QbiIZyZl6!tiFI\$\"a-f'oXl@DN	-;6Oݘp(AI7\0@@io4tKh/tUˆR9Lrt!0@j0:z(8U*\$?B_-/M\$xL\$DKX9xkɒA3(	!\"JYqb&K<³dޜ@Y\rP	L*&[z}>8m\n9r[rD\\<<Dqy#-vmn&gL	m8t办J*a\$LHVjfb(s	Y/M	*\0BE Dh0yQ,b	b0.xt3a MZ{b_'rAt5cOJ6Bq)o\rY,Ü\$[lyy\"t\rcYLI[%!VEު!9rLgdc4lKtW}6լ#Zr)\\rreN`9&Z:C{5p.,3Biv\r+>M{)Xq|`{&{Q9ebdB:lm*fe7S&t]ѰWGhsMU2n\"!Ebf+A<?Dd!}*eDfYe(g.3Nt,d08fL.)':l0C	(\n=!C֢êak^SVD5P?!u:?=SEՂM-j5g`G[.a!:CCKEMkgƬΑżz\$됛\n	<,ꝟ:_u}~cx/.Og~JAw㤟((b آ\${ǯjvZ=lࣸDj*BYUX9GPeBж툳?h̖x<?ʞMV\rn'BflG0]^_k,\".LjF!FP8WgmPςī V\"-IFM``F,C Mu&\r`)&H<CފϤlͨl0c\0)\nfF0\n&Ħkg\\;@@\"h쮪pO\0n0/\nn\n \0f\rPg.(\0y~fz\\eK',,b6\"DNQFJ<ECmX+dSDy\$E|<(V\\Q|ձ,QhfC4߰XL~\\n2Vq*ۭWqίQm-'oQԍ&q1\0pmq5dzf+PW\no\"÷q,5<#?TX!\"\r\r\$f\n>+kk%\"A#GP:bmU*7IP@d=8.%(2.)r)N +0w*!(.20+-N1'QdɃ#.r&\n@;Cn`E	&Q0NF]/0攒\$/E#EX@T2ne[Ƭe+2h[94m\n3LJ+ F[KbǶ\$5NnF+r[ Dv(CzD:&@g\rVcJ_+.L(\npg\"ΕJ,[1P578NFs#6bL:#ǸGZæߤg.71T\\/jH+}r.b\"HGgk=2R)>%=ZbR\\ޅ UmoZpZY@QN6L73QNShcGj-4򺋬iz:fjtc01nEmI!lֻ 	>FF>hZx,)	\rr^a <F\0ĈO|PDbO.|r\rA&.̄p2F\0ޥ@\$\r`Ǻhyʔlұ";break;case"uk":$e="%)h-ZƂh. h-mhĆ& h#˘.(.<h#v_Ps94R\\h%p	NmcL4PҒ\0(`1ƃQp9(;Au\r*u`Cd-|EX~\n\$g#)exZ9 G\"HESXj8R9ֽ|_b#rk:-HB!PńRDiyA	ǖx]5KOcJvf[5{ftk,TIjh0'\rz~8ȋ\$\ry*.#΋4nNƃ4ê*0(r}48죎'plA\rDn<@#)یF^ƭs	X ?V	/傼PRDh\"#OJ#\"JBdrD`P7c0(x:C1c(Mڐt(46OFE̩RNH1rh\n# 4(ZT\$\\)k\rX)n(X@430z\r8a^\\0EQ8^2xc2KmpF\$B\$	Sz\0x=ɩc.H+R'L.ǖ\0¦L\"qR#huA9hr69EI(r*ll5e8M+!{1!Z\$[L3|n0?!nfHLfI9y'Z<\n&Ph~ܑR\$FpeqFk>5?âh3&95o/'N,'nk0rD;&{OP(Z)\"g2<H40),FR\$v)x3đ(JY(>!BI/0hCN-\"gVY\rt_G8 v\0#PCp028\\4168Ed%_x	><b~,a@S,Ch2XA(䴤FBM%d46(BwL'8	(+ifeU\01h_H(VM0)4I``5F)j\nKe=,Jk#@P|_JljXdaŅdI#I:'HF	*\"ETVԕ\r#yFGg5a\\)LBhOŊ>1A1,齪hV9!KBtl#Bh{6&ȚMa7PRrNa:<mgȍN<#%ebk>.sO\nf'7hwBHtV2Y7鉅k6<Q|R{Q{!Q0ASUf4tk|ɑjshxq_-GآHHr]q9|]2%轗_VX;	C@a2Hlu]|,E&]esߑ2MM\\s	&a\"bW9hJQQ\\Ur(ZH]x5_a<F;	bQVb:>~-\r\r\\Θ6ډE-l2X]Xڶ46)C<k]\"߄VxT).q	Ѥ/dljw_*yY}5M7;X)6Nd!}.G㔙\$輐lQ!@\$\0[\\|Ad\noQ<Ԛ#IDC^=F]\nܛX<ݍQ1G6n v595C3M!^t/2NnJ=ZڹV	IsYfԉBI-HC>}M)!) ,rҸe\"Mur3Uhr8LnbtY]zeƃ=8H[;(p\0uid ½^*أ	DF*e!U;%PGA YC3J\0[T\n<@xS\nr^Mj0&qcZw}Z*%rMN<&X넽Hf?w@j	X6a3 ~ڠ@%P}%E7ؑ3{D'_\0@zfSV=@B#D!C@ƉЊ#Ui3YQkB59z\\&.Ko\$YqdPJ*ÇsȢ#=c|J\$\\0&T3ِVԭW\\%{]nZGHy\"o\r(3X}?mQ_(~-8 zgD'?k:k\"dli2r.L+I;jx\0KJ,'d~H\":4o'Jd  î!da\0FVt=\nRdgbc6Pe6Jff#LLD\ni禍	\$.I2\r\r `@\r Ȓ,|Ffh}{.F Lܬ|gĉc*j^L#Ȯ`L@|zDFG'RO\r		\n@kH}m	ѨfШ,\rtp<}h:P\\t㺕%\n 	)f1NY&I&LLM+PsqڞnhF=1ƉʲdF90^y!VA\n9~/D<Q@1*9ƫq=B'Ϡn}(rqHcN51D\"B%\"#YHE&2Qri mrq#'f'@=Z(L-(jJm82UhTnx@F,g(\"en)np(24(\\*d@[J*\$'6ԁGUt\rDЇCMǊ*lÄĐ:L;N\$~!2MFf	/'SFkJriLm&i8SNV(!*1\$P4j[65\$|BG6G 5]\nd\r9G2\0003KN0(iDp((mmG&TG@ϊ\"sؓB3\$L+C.<#?;N#MNU\"4(0'\rs,62o\"([p;\rI\0\rQа\r`\r\r {ro,0D%TNUB.J\n[64nUr;8,6g0pTuHySSԀ+jJs_9U&J4Fhb^sJ`LZN]rxjIK#tʔRMIjK(kyO\"QG5M fR֧PtrdrN'Q*'0TAHʙGJITr8VUTByUTe,V:vMi#B>d\\p}%r\$)BOjBN<Xf52JSC0ȱMO\"˓S/db3\"F`Õ{TPGih\$`WՊ16:	kSXo{b]V+8CbПc3JT'ƇckMj8tKcTT6rdvid#XU]cr|6tj6YsSXtS`dPS\":!I_L0srqXs\$tVPHq<6Af[g҆6NankmV浖X4K\niQv%'V|\\j7o6ghAQ{\r	p[hr/oW\"B좾o\$7,)3Qfu*W9v79ѦWUo_q/1(UK&ZQ*Vyn{yq9yJUpYP172Q6\"!	UfVtvְ-SxuC}csVS8SQVQs7JCf57Mrv		+auOt\$</cR&76U;7u5%\"4N2\$XAn+\$i򏧓&0&'BRl,w?XlLSvANrkGKiP؞xUoT	fX+F)\rW#f&F**zck++/5\\sA\nZ`E5ILf9e(+U;oy`Ծz0tǑ|i{(\"vh43JP2Fnm4\npG읳lc]6Pb9[\rRn ӚSr*'d ű/	5\"C:Y80H7d\08WJ:'dj'9!8ХxNy#+Ţ<qb(睖]Pfu!PgW\0@Sa8Z0DLaJ\roV\n˦~(q+pFgGH8xu/i`}%DK1)OVǋ\$\$VA\$\0m\$ZU9<RRښyTSuJ:H#h1Yopʅ-\"\\";break;case"uz":$e="%(a<\rƑk6LBNl6Lp(a51`u<'Ai6&%4MF`B\"u2Kc'80cAn8!\"n:far Io7X&9 5瑃Hq9L'3(}Aap-rLfqJ֘lX*MF\n%mRp(+7NY>|B:\rY.3\r4Asҙuzah@ti8[-:KZaO7;|kul7*'֊+ɜӉh@<6`5F쌣Kx:\r2a؎هC1it\n\r(##:3=0k[R ޑ#Ȟ\r@8H;Bcd*7ɒ*)')*7Ê,6\"#ZڌHXF2D4=#xI͈p_2c،xDN8HÌ%M^05IkK|\r:IÒT*aOT˷U-֋.2,V77\ntȠPJ}䴁BNUW@ à޼\"#W23r5L8CD<-pҍʑ,TJPkZ5HD\"Ϛǒc@ʈ\r<\r.I~M\\݌J9J\n\"b(:)8q֥N[[skg'Jl2<\\PslZ[e&cdmݶJ(&(j^W#dC(ȳB\\̙\r@ލW6\"=-j*bhW}B5B؂JMeZ>99wr{+Bxun2ο7{rw\$e莊NU|:K7*?_smK`~kA2\\Z \n\r2c1!:Zr	E *QaوFE:-ťARC&d=b)!ogYr|,0&dr!gwvմ!p@\\	.u/)sgK1j+32\"(8ј&)0*%ETwR|4d.4L]clAa[	\"L h\r IPdNg2#fF)%aRYPF \n+ĴPэ84;pê7CrRJQKHPCSp<E:Hr`#[tzP2HyOe?\"tA2&T^4d\$P!r`lI8	\",^?	R5@Njr\r:2^MD}`P @@P>/ŖA>'02:ZAF)(F{!)rr\$䤕DBL#EvRʰmT\$M\"F\r.VrPaܒD\$,6Xa0!01@) ]!VO>PA0E1cf#,M\\L\$tSI%Z\rn\$`o,ޣmMC;RzPs<4WhI67H8[}I\\\n<)J KLp4I\"vjR|-C;ݔ3^ft,t]5&#Jtla^!@\\|a!IKf\"^\n_2BpG	!3|P\n\$pN}DO\0RDf(\$CGC`(+>rfiA.M:iqtߵ:rUHք4D+bIZhjM4:ԓS{9z[ǜ%v_?t,5a+LI܌MG:[Dk t9t:ق1	فn>ORg`%'A&e~c,iɋ88iPsfsZUQYi\\BZ/ռ̑I9-HUoo-ɡÉ*OyB[4CD;|i¦٩C~\\ pΈWT\\^^%d\" ('HvV|h܏KK  @qh9낧`'!VrGkX0r^'ӝTbEňnvള.!OD;)>޸l\rnߤæ\"u)k3mHFuhF{ׇ\$s g;)xL)5gx}\riB\$,4C^LiB^Y&\"n\rhX6.V.AC7U	j\r1(Ҋ<&U¸f]?=u:K&&}3./o#~6eEnf*\0j,,\nf[I(&&_n\$\ndBx/iEf\rni_B-Mf_3omؔ`bb@dB WB,(?I\npd\$L\0M+\nid鐦mpNgpo\0obrb&Rq0&f/\\660n/0r0>wOM0,B07:\np\$g^#>#-#CǬJ\n%*x@PqPQV,L9bBg\n\nt\rg-03>+G6b(KA#.|j-d_QlcN͸1T8o\r#&nes@>@o\r%QC,!-\"RZpBD5Mb\$h(o&{f;)\n%g%%)%!% 2dr'!Q5aQe2t\r4(k&2oT\$F%*ҧ&r';+EmK㒰+d,-n9(AҠ4~zsGhҥ@rg0\rlApG#؎)\n65gZ^!;, SD-3<R5\0.\rnEBz`4`Ze\\\\O;7}B:\n&\$h!i`@h\rV\"d@ZģLCe`ц9=F\0ZZþi6ߓ48F\"PbvjN7*br?:4jdfAY%VUIc\r@?d,l@	-cq\$R%_\0Ěs64lMϐ>8,\0Cδv6rGrM	Z3cM9nH;ͷHQNNހ\\cbQ'\"wFqC_V7/bIGJ,D4D4\$@&'pNKdˑ*e-XbbJM3\$؈f3G@EA~\r\0";break;case"vi":$e="%(ha\rq]Ҍ]c\rTnAjhc,\"	b5H؉q	Nd)	R!/5!PäA&n&0cAn810Lthb*L QCH1b	,Q^cM3s2Nr=v8]&-.c\rF 1XE)C	nz477JqmU`-M@daH9[׵\rH!y i=Yd\$IXWxmmtWjYoqwD:<6\nc4`P7e'@@#hߢ,*X7@9Cx䐉	NA\"l<1N\rx:\r2aA7cX:B<!iJ Nsh((Rf1B\"0]cC! ŵytV\0P8ɜ,66̶Jh4#p lx9c|9~9Kc1c& :#J7@8/`@&B3:xe\rG0p_ZupI|63DmN4px!B,48\$Mk8]/\r#aVڳZ3ɭt+#Q(#aH!2`7NFI:FɳھP0H26Kc6,xpjZL&sV@[_MK-hReٗEz6<@S^HOENZ/9-[@@ӆЁBBn3#Tpa@3<68&Cƈ6<,E*b6Ӡ--b4vy\0A`Wnxs)V`0vj9N/C9&'Wl @6v0:DֻI\n[\rt`e`D\r!T\"Ղ]J\$GC\rʉt7P\r]VؗeAD`у@\nE\\6\nS ) U0!3d)=F5&Ҕh BnE@5U&2lm]F!r(Bƕ,KaB'A-⒉\rjQr @U Q:(%t(iA^|\nXdV|Ij-`ȺW:[WBY!\n4l('䴙/ämzFQ'וY!	e-tm'Xd,#aiUV\$Zt9nˈ\$6\nDakHR\$k,8A\n\$D眺A\rj;ca31Ri\$\n#_dnyr]\rpNMP@ьh.[\n (vW0w@˒WlN\"[Gli@X3V6âjUNѴA[_{шȤ&Z*Rr\rX5jÓ}ΰ3.M)H\0_ԅ LʍMRfA]UXj﹮7 \0eòRb-6yw(NLL5şJcTKaؕm)\$!\$\$t_NKa	&)p\re(+l8.dP	L*FD؛\nն*Yy&!(	=-0黲I0(`ztW8\"Eb?22+Ќ*蘓 L4lg{. y7d^޽ٜ 5&\0z)7(l0.m Fn	NOf`\$N\$eH/6<\0j#FwKS.D^jfg6_(vXCG	\r\"j!c٬mHew/L0@Ua\"[2 &!?fPM9CG	k\$DUKN\r:+6K(s/xTU:#Q	=oTC`KӸ5_n)5x>>e 7#?*0\$P_x\n1恬KRAJb:s[eLy y@Mr:ZAdaH7q5ޭi{4̄=J\r+\0Aa\"2p%'SI4R]MƗ1c/\0).:+z!?\$ۙ2{Dx/RAfoK(A	!x4 )Q8L\\JR\"O/%K[!h'E\n0i̟/FFv!؅ث12h~W>·xf&~kg\"aB ,#l+\r&&mC\0B\"uJt6:2.&klTv0H@=8?EBof*݀D6'@~B\"bA)vl\"Ff2j\nO\nhs\$a.6#PT#j<nbB &\r0\r\rF΁\"ePQH\\FFӐ,\rDAtȺ-ljm9P>tv\"NeO#oQu^\"D8/H7i1QXn`s>\$\"L2Sg̡+ącH%䶘ȡlKWN/>0\$2O3qL\$tF*j)fc<2Ru0ibQkXa#pЏ`5Q!R1pqBzv  N0'_1,\rA(qs-#\$2TK%@RA%/,!_	n?\0B eW@ya:2>DbQG\$RVtQ<\$0mRvz7Roi{n\";&Vi</:ZJ>I/HR߂gLfI21SC\nLD*1Lqn\0<bk4.-һ&P6N?5G&NSD	Q&O\0|-J%4So\"lJ3sI'\rc8#cxIH%;%@Mi BL%I@vJz!>\"0!\$G3ekIR'J\"SM\".NA	\rĚ\nZ\$L^x7x+^4Y;0SLQ5tR?B1@3wA49chkE샒ONFA q #p9!x#./p9cC\"p΂!R\r2,qN ˮ\"6Gd\\ɢp` ͦ%#mJQ_Lpfj=*M\rƟlFKJ,Tm<q\rEm bF}-)&4=\"+DB	;&`(Ѝ>̦l{ƌm2T@>F&hLr(rSP\r4YK@UP^";break;case"zh":$e="%:\$\nr.r/dȻ[8 S8rNT*Ю\\9HHZ1!SVJ@%9Ql]m	FU*qQ;Cf4)ΔT9w:vO\"%CBrixM3s2bV}\n%[L`*9>S؜%yP⣎uYоHQ)\":VdjdK:tRd(t/0Vc5_hIG*\\?M[h9ͣQpCqH\nt+ծB_cS>R\$2AYn(\$QBr%@4\r7#h-C9A7cX:*´[1P(T-&*zJ1H',# 4(tdNR(1(W1\\_\$\\2,k	Y,|\rC@:t2t)p^8.xDωLsd)SC!x)I\0ڑeLյ0_!tg1<B9(\\1M`3+`re_>iLr\$PKR8r,fTTvCG)T=QT+!@VsUa^7aB:H9hQ!vszF\\!uz*>Z/:<V՝j]7\$[1y^a\nT81U(]&rv5gͱ\\D^^7fY֙zrSGCV9PE?p\\G!tx)]=zGUUM9h0780C<0|rØ|!p4A(/K+KF%{|D')bJUӔ>sÔ[g9XS!%nY;Fi+aV 6ƲIt_D4\r\$r *j\$\"i8nMäI #0ŕd\"׈A>:f\$ԞC\rt:ȑ&jXvO	>'\0PD%Axdu:Z7b_:X%PQ'En.T\"&(d-ɿOqN	weN=T!E(CtQ+(.s>y/.6;,\$\$W1,\"r,R(V#|qKIq#Z)0N%QĎq6.%B\nySSk̡O)\"&Ci0@\$\0A:XTEq\n\$x\\<9p\\sm8QPDG!E,L,y +8PpЯ!LQ1^/XL\"t!1HrXԈ@RJ9\"Ye\"16-eD~2NJIZ¸ZNr˸PpМ6Et.P}Uq\0I\"\n;Affǌ4T鰴\nE)=pnG!\"]5ʺ;a!Xh6/	E\0#@`0\\&^tl]=fH%a@xA<'\0 A\nЈB`EmKֱjQJ/a*/pq#9 \\\n. XSi+eMN\\G5{DȳMT[^lFBazaw; \$D2&0'/Op_tvU&Kԓ+JՅxL\r2gJ2dE5eXK,i@3 JirÅ#Ha6\0jt[(	\rl!Su1`מVVBK8qOD.!@-A\0b&0M&H Q.k%hkUn# BH#_~phLuE9'1i\rB]%2A6ͤ6\"g/)]햦 J\rY\0005LS*W)kC,dpD\0毟u'-(Bq\nU݈#c:g;\"Zac{5/tX\\N;V`'hՏ;'^pU괌`\$G/dBְb\\W	&29e4Z^(C`gC4hYhńFpb2 :4NZ5;` Bn-ͺQ\n[3p^#{_:w_f=2ySkKh\\)raB+\nchɰ	MK8N,&!NgֹpqP/\0c(ˢF6Oq<J䮆pb,0plzfo2c	\"}	0W|\n&'\$\"*vW!:Aa^k\\afH.\"9!_FPcЪ'`G\nl\n`180Da=(ԠE\$.8\0̢4\r8Q<sJQH]g!E`/P@\\oSppndB0х#mmq!ol+q1`.\0fdjƣn1tæƮ\"|tA\\(!bjz~ ;}aba>'Ȝb5wv\nZM&nn4!bˆ\0#'fta!(i*!^ò42T,4\rj^E\r>z`zff+^ʌ #@:!\0002p/A\nN3.+XI !m/=x(/:lM8|pϐ\"8La!,-5Ҿ-\"S:tF.{D \r!,#G-tҭ\$\$g.>{/l!\n	Zē98f>LF773\"H-QQ1,`";break;case"zh-tw":$e="%:\$\ns.eUȸE9PK72(Ph)ʅ@:i	aJe R)ܫ{	Nd(vQDCѮUjaʜTOABPb2ar\nr/WtЀBT)*yX^%ӕ\\r|I7FS	99STB\$rNuMТUP)&9G'ܪ{;ds'.̖L9ho^^+ieD:=.RFR%F{A,\\{Xs&֚u\0rzM6U!TDǇEtl6N_'zV~NZRZRGATO\$DЭ8UJt|R)N|rEYYg9jXtШdP\rx:\r2a7CH\0t92pYr2^AQhA2]+X!rB# 4(tDVG1(DU7rQ=4E-ī!\0нD49Ax^;p7N] x79\0I|t(B15%B|\$	psd=LK^sTHWOE*QWm۶}6MiZS @1#aKVhk*ΑgANQ=\0EJ3Mf9zr}M) D0d8!v]!sĔI%UF\$sx*\$o \nKMGg1\nb^%]I&t;!n͟.\\][\rļS:APEhtGA.Ov[#rD9tp?\r|dY=9hl70C<ؖ3a703/00G9L@D	?AK|Dh1PPD#J\n'6s+B'0MIZ%xA]qCu#_*`tF6(p&C%D!od`&pp{9:DF0tq1E>tV	ҲBmM9CV \"vDRJQK)4RENJ^ØFX/.	act%Dr(sr\" Ds#HLJQL	U+jjRaJu2T*-ePcM_AMjaЋYXW!W	2S\"fKIy31d,\"EeN0Ff!9ŉc&s*9a\$V`Ьr1'Ź8&\\ܜq˅OIZQH\nW߬'RRTHIlR`9J9PBREDt\np BZ<9J/G,`W1:;PE~B29D=JLS\nA@ޒq=1Fa2/!5cK\nB-#䄑9p\"Y'0&B\0^X'~g0(ra98bEADZT4؁\0H\\0\"\nQ.'ӪI:(PP	L*)1'M:_Y_fԽ<{6 5P(h3e	ہȋFUTr`% 4Z1@(I	8PT+	\0B`EK҆\$h\$dxGɱN+j-L]5V46J(+⫊|PYB:BRs((L.kuÝӰPhH%g&5h4WBXp\"\r.ia\ri\"Q`!L+DXCRJk?4A7+URAQި*:tPs/AU4jic*\0\\Ypi3 H@Lf.G>څcat\$B~KCk-sj&C\0Ve?ǼZ\r\$f9]K{lmV^1TL\rci1xn+xOmZaBHi\\]//-pO<*b\0/EB\\Ö\0w:G,KQz,GH\ni\"څؤXb%xD<΀ȶyD?X\0N#g\$\$Ew]ێuc@dDy]%\$G@@- !Y*_R+[\"\r֊\"(X<Ƞő:fuORvZbnSAn'{b+y.\"ޱx\"ͨsN VF\0?AF\nYXG!\rn흦*\0, @ՀژjF#ϸg\rI8FD̪\r6\0ːRZ#\"KTr.i.~8hΠOpLaj0l	-\$>\rsAʜD>v	\0Q+IȪp#ͨ=\"+X0݌ة:n9J`i=	\\#DmCW\nL-lHm1Psm	o1^ecO>1f1ttV~Z&3bp!:.D\"%>CngqdrD㑻c0orN^(kOC~N,'\rIE\$/և\0#\0\rRx(2NR 'i\"V\rfޠ0P_@#ZaMerTFQRR`2%'^Fo9M+%hҌ,b㨱(.	\0rPpdFpuD.t@ƛP R EK^DBaz!pc\n.Ϊr;OA6.z@>?b^;F0\n	\"b)AP\nZJtJ!Y\\ذZ+:Bibj3C.HnSDD,(?m4G1hЫ/3#X1Ν\0qC8ϴ-0)\\Te=\0?2p+P	kAJ, :̩\n`ڒ+#>~N`k`\rRSt<,>ɮTj\$=2ALc:g0n#',";break;}$ii=array();foreach(explode("\n",lzw_decompress($e))as$X)$ii[]=(strpos($X,"\t")?explode("\t",$X):$X);return$ii;}abstract
class
SqlDb{static$instance;var$extension;var$flavor='';var$server_info;var$affected_rows=0;var$info='';var$errno=0;var$error='';protected$multi;abstract
function
attach($P,$V,$H);abstract
function
quote($xh);abstract
function
select_db($Cb);abstract
function
query($J,$pi=false);function
multi_query($J){return$this->multi=$this->query($J);}function
store_result(){return$this->multi;}function
next_result(){return
false;}}if(extension_loaded('pdo')){abstract
class
PdoDb
extends
SqlDb{protected$pdo;function
dsn($Zb,$V,$H,array$vf=array()){$vf[\PDO::ATTR_ERRMODE]=\PDO::ERRMODE_SILENT;$vf[\PDO::ATTR_STATEMENT_CLASS]=array('Adminer\PdoResult');try{$this->pdo=new
\PDO($Zb,$V,$H,$vf);}catch(\Exception$tc){return$tc->getMessage();}$this->server_info=@$this->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION);return'';}function
quote($xh){return$this->pdo->quote($xh);}function
query($J,$pi=false){$K=$this->pdo->query($J);$this->error="";if(!$K){list(,$this->errno,$this->error)=$this->pdo->errorInfo();if(!$this->error)$this->error=lang(23);return
false;}$this->store_result($K);return$K;}function
store_result($K=null){if(!$K){$K=$this->multi;if(!$K)return
false;}if($K->columnCount()){$K->num_rows=$K->rowCount();return$K;}$this->affected_rows=$K->rowCount();return
true;}function
next_result(){$K=$this->multi;if(!is_object($K))return
false;$K->_offset=0;return@$K->nextRowset();}}class
PdoResult
extends
\PDOStatement{var$_offset=0,$num_rows;function
fetch_assoc(){return$this->fetch_array(\PDO::FETCH_ASSOC);}function
fetch_row(){return$this->fetch_array(\PDO::FETCH_NUM);}private
function
fetch_array($Se){$L=$this->fetch($Se);return($L?array_map(array($this,'unresource'),$L):$L);}private
function
unresource($X){return(is_resource($X)?stream_get_contents($X):$X);}function
fetch_field(){$M=(object)$this->getColumnMeta($this->_offset++);$U=$M->pdo_type;$M->type=($U==\PDO::PARAM_INT?0:15);$M->charsetnr=($U==\PDO::PARAM_LOB||(isset($M->flags)&&in_array("blob",(array)$M->flags))?63:0);return$M;}function
seek($if){for($t=0;$t<$if;$t++)$this->fetch();}}}function
add_driver($u,$E){SqlDriver::$drivers[$u]=$E;}function
get_driver($u){return
SqlDriver::$drivers[$u];}abstract
class
SqlDriver{static$instance;static$drivers=array();static$extensions=array();static$jush;protected$conn;protected$types=array();var$delimiter=";";var$insertFunctions=array();var$editFunctions=array();var$unsigned=array();var$operators=array();var$functions=array();var$grouping=array();var$onActions="RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT";var$partitionBy=array();var$inout="IN|OUT|INOUT";var$enumLength="'(?:''|[^'\\\\]|\\\\.)*'";var$generated=array();static
function
connect($P,$V,$H){$f=new
Db;return($f->attach($P,$V,$H)?:$f);}function
__construct(Db$f){$this->conn=$f;}function
types(){return
call_user_func_array('array_merge',array_values($this->types));}function
structuredTypes(){return
array_map('array_keys',$this->types);}function
enumLength(array$m){}function
unconvertFunction(array$m){}function
select($R,array$O,array$Z,array$s,array$xf=array(),$_=1,$G=0,$ng=false){$Ud=(count($s)<count($O));$J=adminer()->selectQueryBuild($O,$Z,$s,$xf,$_,$G);if(!$J)$J="SELECT".limit(($_GET["page"]!="last"&&$_&&$s&&$Ud&&JUSH=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$O)."\nFROM ".table($R),($Z?"\nWHERE ".implode(" AND ",$Z):"").($s&&$Ud?"\nGROUP BY ".implode(", ",$s):"").($xf?"\nORDER BY ".implode(", ",$xf):""),$_,($G?$_*$G:0),"\n");$th=microtime(true);$L=$this->conn->query($J);if($ng)echo
adminer()->selectQuery($J,$th,!$L);return$L;}function
delete($R,$ug,$_=0){$J="FROM ".table($R);return
queries("DELETE".($_?limit1($R,$J,$ug):" $J$ug"));}function
update($R,array$Q,$ug,$_=0,$bh="\n"){$Hi=array();foreach($Q
as$z=>$X)$Hi[]="$z = $X";$J=table($R)." SET$bh".implode(",$bh",$Hi);return
queries("UPDATE".($_?limit1($R,$J,$ug,$bh):" $J$ug"));}function
insert($R,array$Q){return
queries("INSERT INTO ".table($R).($Q?" (".implode(", ",array_keys($Q)).")\nVALUES (".implode(", ",$Q).")":" DEFAULT VALUES").$this->insertReturning($R));}function
insertReturning($R){return"";}function
insertUpdate($R,array$N,array$mg){return
false;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}function
slowQuery($J,$Uh){}function
convertSearch($v,array$X,array$m){return$v;}function
value($X,array$m){return(method_exists($this->conn,'value')?$this->conn->value($X,$m):$X);}function
quoteBinary($Pg){return
q($Pg);}function
warnings(){}function
tableHelp($E,$Yd=false){}function
inheritsFrom($R){return
array();}function
inheritedTables($R){return
array();}function
partitionsInfo($R){return
array();}function
hasCStyleEscapes(){return
false;}function
engines(){return
array();}function
supportsIndex(array$S){return!is_view($S);}function
indexAlgorithms(array$Eh){return
array();}function
checkConstraints($R){return
get_key_vals("SELECT c.CONSTRAINT_NAME, CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS c
JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS t ON c.CONSTRAINT_SCHEMA = t.CONSTRAINT_SCHEMA AND c.CONSTRAINT_NAME = t.CONSTRAINT_NAME".($this->conn->flavor=='maria'?" AND c.TABLE_NAME = t.TABLE_NAME":"")."
WHERE c.CONSTRAINT_SCHEMA = ".q($_GET["ns"]!=""?$_GET["ns"]:DB)."
AND t.TABLE_NAME = ".q($R).(JUSH=="pgsql"?"
AND CHECK_CLAUSE NOT LIKE '% IS NOT NULL'":""),$this->conn);}function
allFields(){$L=array();if(DB!=""){foreach(get_rows("SELECT TABLE_NAME AS tab, COLUMN_NAME AS field, IS_NULLABLE AS nullable, DATA_TYPE AS type, CHARACTER_MAXIMUM_LENGTH AS length".(JUSH=='sql'?", COLUMN_KEY = 'PRI' AS `primary`":"")."
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = ".q($_GET["ns"]!=""?$_GET["ns"]:DB)."
ORDER BY TABLE_NAME, ORDINAL_POSITION",$this->conn)as$M){$M["null"]=($M["nullable"]=="YES");$L[$M["tab"]][]=$M;}}return$L;}}class
Adminer{static$instance;var$error='';function
name(){return"<a href='https://www.adminer.org/'".target_blank()." id='h1'><img src='".h(preg_replace("~\\?.*~","",ME)."?file=logo.png&version=5.4.2")."' width='24' height='24' alt='' id='logo'>Adminer</a>";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
connectSsl(){}function
permanentLogin($h=false){return
password_file($h);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
serverName($P){return
h($P);}function
database(){return
DB;}function
databases($Oc=true){return
get_databases($Oc);}function
pluginsLinks(){}function
operators(){return
driver()->operators;}function
schemas(){return
schemas();}function
queryTimeout(){return
2;}function
afterConnect(){}function
headers(){}function
csp(array$wb){return$wb;}function
head($_b=null){return
true;}function
bodyClass(){echo" adminer";}function
css(){$L=array();foreach(array("","-dark")as$Se){$o="adminer$Se.css";if(file_exists($o)){$Jc=file_get_contents($o);$L["$o?v=".crc32($Jc)]=($Se?"dark":(preg_match('~prefers-color-scheme:\s*dark~',$Jc)?'':'light'));}}return$L;}function
loginForm(){echo"<table class='layout'>\n",adminer()->loginFormField('driver','<tr><th>'.lang(24).'<td>',input_hidden("auth[driver]","server")."MySQL / MariaDB"),adminer()->loginFormField('server','<tr><th>'.lang(25).'<td>','<input name="auth[server]" value="'.h(SERVER).'" title="'.lang(26).'" placeholder="localhost" autocapitalize="off">'),adminer()->loginFormField('username','<tr><th>'.lang(27).'<td>','<input name="auth[username]" id="username" autofocus value="'.h($_GET["username"]).'" autocomplete="username" autocapitalize="off">'),adminer()->loginFormField('password','<tr><th>'.lang(28).'<td>','<input type="password" name="auth[password]" autocomplete="current-password">'),adminer()->loginFormField('db','<tr><th>'.lang(29).'<td>','<input name="auth[db]" value="'.h($_GET["db"]).'" autocapitalize="off">'),"</table>\n","<p><input type='submit' value='".lang(30)."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(31))."\n";}function
loginFormField($E,$nd,$Y){return$nd.$Y."\n";}function
login($ue,$H){if($H=="")return
lang(32,target_blank());return
true;}function
tableName(array$Eh){return
h($Eh["Name"]);}function
fieldName(array$m,$xf=0){$U=$m["full_type"];$gb=$m["comment"];return'<span title="'.h($U.($gb!=""?($U?": ":"").$gb:'')).'">'.h($m["field"]).'</span>';}function
selectLinks(array$Eh,$Q=""){$E=$Eh["Name"];echo'<p class="links">';$te=array("select"=>lang(33));if(support("table")||support("indexes"))$te["table"]=lang(34);$Yd=false;if(support("table")){$Yd=is_view($Eh);if($Yd){if(support("view"))$te["view"]=lang(35);}elseif(function_exists('Adminer\alter_table'))$te["create"]=lang(36);}if($Q!==null)$te["edit"]=lang(37);foreach($te
as$z=>$X)echo" <a href='".h(ME)."$z=".urlencode($E).($z=="edit"?$Q:"")."'".bold(isset($_GET[$z])).">$X</a>";echo
doc_link(array(JUSH=>driver()->tableHelp($E,$Yd)),"?"),"\n";}function
foreignKeys($R){return
foreign_keys($R);}function
backwardKeys($R,$Dh){return
array();}function
backwardKeysPrint(array$Aa,array$M){}function
selectQuery($J,$th,$Dc=false){$L="</p>\n";if(!$Dc&&($Pi=driver()->warnings())){$u="warnings";$L=", <a href='#$u'>".lang(38)."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."$L<div id='$u' class='hidden'>\n$Pi</div>\n";}return"<p><code class='jush-".JUSH."'>".h(str_replace("\n"," ",$J))."</code> <span class='time'>(".format_time($th).")</span>".(support("sql")?" <a href='".h(ME)."sql=".urlencode($J)."'>".lang(12)."</a>":"").$L;}function
sqlCommandQuery($J){return
shorten_utf8(trim($J),1000);}function
sqlPrintAfter(){}function
rowDescription($R){return"";}function
rowDescriptions(array$N,array$Rc){return$N;}function
selectLink($X,array$m){}function
selectVal($X,$A,array$m,$Gf){$L=($X===null?"<i>NULL</i>":(preg_match("~char|binary|boolean~",$m["type"])&&!preg_match("~var~",$m["type"])?"<code>$X</code>":(preg_match('~json~',$m["type"])?"<code class='jush-js'>$X</code>":$X)));if(is_blob($m)&&!is_utf8($X))$L="<i>".lang(39,strlen($Gf))."</i>";return($A?"<a href='".h($A)."'".(is_url($A)?target_blank():"").">$L</a>":$L);}function
editVal($X,array$m){return$X;}function
config(){return
array();}function
tableStructurePrint(array$n,$Eh=null){echo"<div class='scrollable'>\n","<table class='nowrap odds'>\n","<thead><tr><th>".lang(40)."<td>".lang(41).(support("comment")?"<td>".lang(42):"")."</thead>\n";$yh=driver()->structuredTypes();foreach($n
as$m){echo"<tr><th>".h($m["field"]);$U=h($m["full_type"]);$cb=h($m["collation"]);echo"<td><span title='$cb'>".(in_array($U,(array)$yh[lang(6)])?"<a href='".h(ME.'type='.urlencode($U))."'>$U</a>":$U.($cb&&isset($Eh["Collation"])&&$cb!=$Eh["Collation"]?" $cb":""))."</span>",($m["null"]?" <i>NULL</i>":""),($m["auto_increment"]?" <i>".lang(43)."</i>":"");$k=h($m["default"]);echo(isset($m["default"])?" <span title='".lang(44)."'>[<b>".($m["generated"]?"<code class='jush-".JUSH."'>$k</code>":$k)."</b>]</span>":""),(support("comment")?"<td>".h($m["comment"]):""),"\n";}echo"</table>\n","</div>\n";}function
tableIndexesPrint(array$x,array$Eh){$Of=false;foreach($x
as$E=>$w)$Of|=!!$w["partial"];echo"<table>\n";$Hb=first(driver()->indexAlgorithms($Eh));foreach($x
as$E=>$w){ksort($w["columns"]);$ng=array();foreach($w["columns"]as$z=>$X)$ng[]="<i>".h($X)."</i>".($w["lengths"][$z]?"(".$w["lengths"][$z].")":"").($w["descs"][$z]?" DESC":"");echo"<tr title='".h($E)."'>","<th>$w[type]".($Hb&&$w['algorithm']!=$Hb?" ($w[algorithm])":""),"<td>".implode(", ",$ng);if($Of)echo"<td>".($w['partial']?"<code class='jush-".JUSH."'>WHERE ".h($w['partial']):"");echo"\n";}echo"</table>\n";}function
selectColumnsPrint(array$O,array$d){print_fieldset("select",lang(45),$O);$t=0;$O[""]=array();foreach($O
as$z=>$X){$X=idx($_GET["columns"],$z,array());$c=select_input(" name='columns[$t][col]'",$d,$X["col"],($z!==""?"selectFieldChange":"selectAddRow"));echo"<div>".(driver()->functions||driver()->grouping?html_select("columns[$t][fun]",array(-1=>"")+array_filter(array(lang(46)=>driver()->functions,lang(47)=>driver()->grouping)),$X["fun"]).on_help("event.target.value && event.target.value.replace(/ |\$/, '(') + ')'",1).script("qsl('select').onchange = function () { helpClose();".($z!==""?"":" qsl('select, input', this.parentNode).onchange();")." };","")."($c)":$c)."</div>\n";$t++;}echo"</div></fieldset>\n";}function
selectSearchPrint(array$Z,array$d,array$x){print_fieldset("search",lang(48),$Z);foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT")echo"<div>(<i>".implode("</i>, <i>",array_map('Adminer\h',$w["columns"]))."</i>) AGAINST"," <input type='search' name='fulltext[$t]' value='".h(idx($_GET["fulltext"],$t))."'>",script("qsl('input').oninput = selectFieldChange;",""),(JUSH=='sql'?checkbox("boolean[$t]",1,isset($_GET["boolean"][$t]),"BOOL"):''),"</div>\n";}$Oa="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"],adminer()->operators())))echo"<div>".select_input(" name='where[$t][col]'",$d,$X["col"],($X?"selectFieldChange":"selectAddRow"),"(".lang(49).")"),html_select("where[$t][op]",adminer()->operators(),$X["op"],$Oa),"<input type='search' name='where[$t][val]' value='".h($X["val"])."'>",script("mixin(qsl('input'), {oninput: function () { $Oa }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});",""),"</div>\n";}echo"</div></fieldset>\n";}function
selectOrderPrint(array$xf,array$d,array$x){print_fieldset("sort",lang(50),$xf);$t=0;foreach((array)$_GET["order"]as$z=>$X){if($X!=""){echo"<div>".select_input(" name='order[$t]'",$d,$X,"selectFieldChange"),checkbox("desc[$t]",1,isset($_GET["desc"][$z]),lang(51))."</div>\n";$t++;}}echo"<div>".select_input(" name='order[$t]'",$d,"","selectAddRow"),checkbox("desc[$t]",1,false,lang(51))."</div>\n","</div></fieldset>\n";}function
selectLimitPrint($_){echo"<fieldset><legend>".lang(52)."</legend><div>","<input type='number' name='limit' class='size' value='".intval($_)."'>",script("qsl('input').oninput = selectFieldChange;",""),"</div></fieldset>\n";}function
selectLengthPrint($Sh){if($Sh!==null)echo"<fieldset><legend>".lang(53)."</legend><div>","<input type='number' name='text_length' class='size' value='".h($Sh)."'>","</div></fieldset>\n";}function
selectActionPrint(array$x){echo"<fieldset><legend>".lang(54)."</legend><div>","<input type='submit' value='".lang(45)."'>"," <span id='noindex' title='".lang(55)."'></span>","<script".nonce().">\n","const indexColumns = ";$d=array();foreach($x
as$w){$zb=reset($w["columns"]);if($w["type"]!="FULLTEXT"&&$zb)$d[$zb]=1;}$d[""]=1;foreach($d
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(array$gc,array$d){}function
selectColumnsProcess(array$d,array$x){$O=array();$s=array();foreach((array)$_GET["columns"]as$z=>$X){if($X["fun"]=="count"||($X["col"]!=""&&(!$X["fun"]||in_array($X["fun"],driver()->functions)||in_array($X["fun"],driver()->grouping)))){$O[$z]=apply_sql_function($X["fun"],($X["col"]!=""?idf_escape($X["col"]):"*"));if(!in_array($X["fun"],driver()->grouping))$s[]=$O[$z];}}return
array($O,$s);}function
selectSearchProcess(array$n,array$x){$L=array();foreach($x
as$t=>$w){if($w["type"]=="FULLTEXT"&&idx($_GET["fulltext"],$t)!="")$L[]="MATCH (".implode(", ",array_map('Adminer\idf_escape',$w["columns"])).") AGAINST (".q($_GET["fulltext"][$t]).(isset($_GET["boolean"][$t])?" IN BOOLEAN MODE":"").")";}foreach((array)$_GET["where"]as$z=>$X){$ab=$X["col"];if("$ab$X[val]"!=""&&in_array($X["op"],adminer()->operators())){$kb=array();foreach(($ab!=""?array($ab=>$n[$ab]):$n)as$E=>$m){$kg="";$jb=" $X[op]";if(preg_match('~IN$~',$X["op"])){$Ad=process_length($X["val"]);$jb
.=" ".($Ad!=""?$Ad:"(NULL)");}elseif($X["op"]=="SQL")$jb=" $X[val]";elseif(preg_match('~^(I?LIKE) %%$~',$X["op"],$C))$jb=" $C[1] ".adminer()->processInput($m,"%$X[val]%");elseif($X["op"]=="FIND_IN_SET"){$kg="$X[op](".q($X["val"]).", ";$jb=")";}elseif(!preg_match('~NULL$~',$X["op"]))$jb
.=" ".adminer()->processInput($m,$X["val"]);if($ab!=""||(isset($m["privileges"]["where"])&&(preg_match('~^[-\d.'.(preg_match('~IN$~',$X["op"])?',':'').']+$~',$X["val"])||!preg_match('~'.number_type().'|bit~',$m["type"]))&&(!preg_match("~[\x80-\xFF]~",$X["val"])||preg_match('~char|text|enum|set~',$m["type"]))&&(!preg_match('~date|timestamp~',$m["type"])||preg_match('~^\d+-\d+-\d+~',$X["val"]))))$kb[]=$kg.driver()->convertSearch(idf_escape($E),$X,$m).$jb;}$L[]=(count($kb)==1?$kb[0]:($kb?"(".implode(" OR ",$kb).")":"1 = 0"));}}return$L;}function
selectOrderProcess(array$n,array$x){$L=array();foreach((array)$_GET["order"]as$z=>$X){if($X!="")$L[]=(preg_match('~^((COUNT\(DISTINCT |[A-Z0-9_]+\()(`(?:[^`]|``)+`|"(?:[^"]|"")+")\)|COUNT\(\*\))$~',$X)?$X:idf_escape($X)).(isset($_GET["desc"][$z])?" DESC":"");}return$L;}function
selectLimitProcess(){return(isset($_GET["limit"])?intval($_GET["limit"]):50);}function
selectLengthProcess(){return(isset($_GET["text_length"])?"$_GET[text_length]":"100");}function
selectEmailProcess(array$Z,array$Rc){return
false;}function
selectQueryBuild(array$O,array$Z,array$s,array$xf,$_,$G){return"";}function
messageQuery($J,$Th,$Dc=false){restart_session();$pd=&get_session("queries");if(!idx($pd,$_GET["db"]))$pd[$_GET["db"]]=array();if(strlen($J)>1e6)$J=preg_replace('~[\x80-\xFF]+$~','',substr($J,0,1e6))."\n…";$pd[$_GET["db"]][]=array($J,time(),$Th);$qh="sql-".count($pd[$_GET["db"]]);$L="<a href='#$qh' class='toggle'>".lang(56)."</a> <a href='' class='jsonly copy'>🗐</a>\n";if(!$Dc&&($Pi=driver()->warnings())){$u="warnings-".count($pd[$_GET["db"]]);$L="<a href='#$u' class='toggle'>".lang(38)."</a>, $L<div id='$u' class='hidden'>\n$Pi</div>\n";}return" <span class='time'>".@date("H:i:s")."</span>"." $L<div id='$qh' class='hidden'><pre><code class='jush-".JUSH."'>".shorten_utf8($J,1e4)."</code></pre>".($Th?" <span class='time'>($Th)</span>":'').(support("sql")?'<p><a href="'.h(str_replace("db=".urlencode(DB),"db=".urlencode($_GET["db"]),ME).'sql=&history='.(count($pd[$_GET["db"]])-1)).'">'.lang(12).'</a>':'').'</div>';}function
editRowPrint($R,array$n,$M,$wi){}function
editFunctions(array$m){$L=($m["null"]?"NULL/":"");$wi=isset($_GET["select"])||where($_GET);foreach(array(driver()->insertFunctions,driver()->editFunctions)as$z=>$Yc){if(!$z||(!isset($_GET["call"])&&$wi)){foreach($Yc
as$Yf=>$X){if(!$Yf||preg_match("~$Yf~",$m["type"]))$L
.="/$X";}}if($z&&$Yc&&!preg_match('~set|bool~',$m["type"])&&!is_blob($m))$L
.="/SQL";}if($m["auto_increment"]&&!$wi)$L=lang(43);return
explode("/",$L);}function
editInput($R,array$m,$va,$Y){if($m["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$va value='orig' checked><i>".lang(10)."</i></label> ":"").enum_input("radio",$va,$m,$Y,"NULL");return"";}function
editHint($R,array$m,$Y){return"";}function
processInput(array$m,$Y,$r=""){if($r=="SQL")return$Y;$E=$m["field"];$L=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$r))$L="$r()";elseif(preg_match('~^current_(date|timestamp)$~',$r))$L=$r;elseif(preg_match('~^([+-]|\|\|)$~',$r))$L=idf_escape($E)." $r $L";elseif(preg_match('~^[+-] interval$~',$r))$L=idf_escape($E)." $r ".(preg_match("~^(\\d+|'[0-9.: -]') [A-Z_]+\$~i",$Y)&&JUSH!="pgsql"?$Y:$L);elseif(preg_match('~^(addtime|subtime|concat)$~',$r))$L="$r(".idf_escape($E).", $L)";elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$r))$L="$r($L)";return
unconvert_field($m,$L);}function
dumpOutput(){$L=array('text'=>lang(57),'file'=>lang(58));if(function_exists('gzencode'))$L['gz']='gzip';return$L;}function
dumpFormat(){return(support("dump")?array('sql'=>'SQL'):array())+array('csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($j){}function
dumpTable($R,$zh,$Yd=0){if($_POST["format"]!="sql"){echo"\xef\xbb\xbf";if($zh)dump_csv(array_keys(fields($R)));}else{if($Yd==2){$n=array();foreach(fields($R)as$E=>$m)$n[]=idf_escape($E)." $m[full_type]";$h="CREATE TABLE ".table($R)." (".implode(", ",$n).")";}else$h=create_sql($R,$_POST["auto_increment"],$zh);set_utf8mb4($h);if($zh&&$h){if($zh=="DROP+CREATE"||$Yd==1)echo"DROP ".($Yd==2?"VIEW":"TABLE")." IF EXISTS ".table($R).";\n";if($Yd==1)$h=remove_definer($h);echo"$h;\n\n";}}}function
dumpData($R,$zh,$J){if($zh){$Ce=(JUSH=="sqlite"?0:1048576);$n=array();$xd=false;if($_POST["format"]=="sql"){if($zh=="TRUNCATE+INSERT")echo
truncate_sql($R).";\n";$n=fields($R);if(JUSH=="mssql"){foreach($n
as$m){if($m["auto_increment"]){echo"SET IDENTITY_INSERT ".table($R)." ON;\n";$xd=true;break;}}}}$K=connection()->query($J,1);if($K){$Nd="";$Ka="";$ce=array();$Zc=array();$Ah="";$Gc=($R!=''?'fetch_assoc':'fetch_row');$sb=0;while($M=$K->$Gc()){if(!$ce){$Hi=array();foreach($M
as$X){$m=$K->fetch_field();if(idx($n[$m->name],'generated')){$Zc[$m->name]=true;continue;}$ce[]=$m->name;$z=idf_escape($m->name);$Hi[]="$z = VALUES($z)";}$Ah=($zh=="INSERT+UPDATE"?"\nON DUPLICATE KEY UPDATE ".implode(", ",$Hi):"").";\n";}if($_POST["format"]!="sql"){if($zh=="table"){dump_csv($ce);$zh="INSERT";}dump_csv($M);}else{if(!$Nd)$Nd="INSERT INTO ".table($R)." (".implode(", ",array_map('Adminer\idf_escape',$ce)).") VALUES";foreach($M
as$z=>$X){if($Zc[$z]){unset($M[$z]);continue;}$m=$n[$z];$M[$z]=($X!==null?unconvert_field($m,preg_match(number_type(),$m["type"])&&!preg_match('~\[~',$m["full_type"])&&is_numeric($X)?$X:q(($X===false?0:$X))):"NULL");}$Pg=($Ce?"\n":" ")."(".implode(",\t",$M).")";if(!$Ka)$Ka=$Nd.$Pg;elseif(JUSH=='mssql'?$sb%1000!=0:strlen($Ka)+4+strlen($Pg)+strlen($Ah)<$Ce)$Ka
.=",$Pg";else{echo$Ka.$Ah;$Ka=$Nd.$Pg;}}$sb++;}if($Ka)echo$Ka.$Ah;}elseif($_POST["format"]=="sql")echo"-- ".str_replace("\n"," ",connection()->error)."\n";if($xd)echo"SET IDENTITY_INSERT ".table($R)." OFF;\n";}}function
dumpFilename($wd){return
friendly_url($wd!=""?$wd:(SERVER?:"localhost"));}function
dumpHeaders($wd,$Ue=false){$If=$_POST["output"];$zc=(preg_match('~sql~',$_POST["format"])?"sql":($Ue?"tar":"csv"));header("Content-Type: ".($If=="gz"?"application/x-gzip":($zc=="tar"?"application/x-tar":($zc=="sql"||$If!="file"?"text/plain":"text/csv")."; charset=utf-8")));if($If=="gz"){ob_start(function($xh){return
gzencode($xh);},1e6);}return$zc;}function
dumpFooter(){if($_POST["format"]=="sql")echo"-- ".gmdate("Y-m-d H:i:s e")."\n";}function
importServerPath(){return"adminer.sql";}function
homepage(){echo'<p class="links">'.($_GET["ns"]==""&&support("database")?'<a href="'.h(ME).'database=">'.lang(59)."</a>\n":""),(support("scheme")?"<a href='".h(ME)."scheme='>".($_GET["ns"]!=""?lang(60):lang(61))."</a>\n":""),($_GET["ns"]!==""?'<a href="'.h(ME).'schema=">'.lang(62)."</a>\n":""),(support("privileges")?"<a href='".h(ME)."privileges='>".lang(63)."</a>\n":"");if($_GET["ns"]!=="")echo(support("routine")?"<a href='#routines'>".lang(64)."</a>\n":""),(support("sequence")?"<a href='#sequences'>".lang(65)."</a>\n":""),(support("type")?"<a href='#user-types'>".lang(6)."</a>\n":""),(support("event")?"<a href='#events'>".lang(66)."</a>\n":"");return
true;}function
navigation($Re){echo"<h1>".adminer()->name()." <span class='version'>".VERSION;$cf=$_COOKIE["adminer_version"];echo" <a href='https://www.adminer.org/#download'".target_blank()." id='version'>".(version_compare(VERSION,$cf)<0?h($cf):"")."</a>","</span></h1>\n";switch_lang();if($Re=="auth"){$If="";foreach((array)$_SESSION["pwds"]as$Ji=>$dh){foreach($dh
as$P=>$Ei){$E=h(get_setting("vendor-$Ji-$P")?:get_driver($Ji));foreach($Ei
as$V=>$H){if($H!==null){$Fb=$_SESSION["db"][$Ji][$P][$V];foreach(($Fb?array_keys($Fb):array(""))as$j)$If
.="<li><a href='".h(auth_url($Ji,$P,$V,$j))."'>($E) ".h("$V@".($P!=""?adminer()->serverName($P):"").($j!=""?" - $j":""))."</a>\n";}}}}if($If)echo"<ul id='logins'>\n$If</ul>\n".script("mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});");}else{$T=array();if($_GET["ns"]!==""&&!$Re&&DB!=""){connection()->select_db(DB);$T=table_status('',true);}adminer()->syntaxHighlighting($T);adminer()->databasesPrint($Re);$ha=array();if(DB==""||!$Re){if(support("sql")){$ha[]="<a href='".h(ME)."sql='".bold(isset($_GET["sql"])&&!isset($_GET["import"])).">".lang(56)."</a>";$ha[]="<a href='".h(ME)."import='".bold(isset($_GET["import"])).">".lang(67)."</a>";}$ha[]="<a href='".h(ME)."dump=".urlencode(isset($_GET["table"])?$_GET["table"]:$_GET["select"])."' id='dump'".bold(isset($_GET["dump"])).">".lang(68)."</a>";}$Bd=$_GET["ns"]!==""&&!$Re&&DB!="";if($Bd&&function_exists('Adminer\alter_table'))$ha[]='<a href="'.h(ME).'create="'.bold($_GET["create"]==="").">".lang(69)."</a>";echo($ha?"<p class='links'>\n".implode("\n",$ha)."\n":"");if($Bd){if($T)adminer()->tablesPrint($T);else
echo"<p class='message'>".lang(11)."</p>\n";}}}function
syntaxHighlighting(array$T){echo
script_src(preg_replace("~\\?.*~","",ME)."?file=jush.js&version=5.4.2",true);if(support("sql")){echo"<script".nonce().">\n";if($T){$te=array();foreach($T
as$R=>$U)$te[]=preg_quote($R,'/');echo"var jushLinks = { ".JUSH.":";json_row(js_escape(ME).(support("table")?"table":"select").'=$&','/\b('.implode('|',$te).')\b/g',false);if(support('routine')){foreach(routines()as$M)json_row(js_escape(ME).'function='.urlencode($M["SPECIFIC_NAME"]).'&name=$&','/\b'.preg_quote($M["ROUTINE_NAME"],'/').'(?=["`]?\()/g',false);}json_row('');echo"};\n";foreach(array("bac","bra","sqlite_quo","mssql_bra")as$X)echo"jushLinks.$X = jushLinks.".JUSH.";\n";if(isset($_GET["sql"])||isset($_GET["trigger"])||isset($_GET["check"])){$Jh=array_fill_keys(array_keys($T),array());foreach(driver()->allFields()as$R=>$n){foreach($n
as$m)$Jh[$R][]=$m["field"];}echo"addEventListener('DOMContentLoaded', () => { autocompleter = jush.autocompleteSql('".idf_escape("")."', ".json_encode($Jh)."); });\n";}}echo"</script>\n";}echo
script("syntaxHighlighting('".preg_replace('~^(\d\.?\d).*~s','\1',connection()->server_info)."', '".connection()->flavor."');");}function
databasesPrint($Re){$i=adminer()->databases();if(DB&&$i&&!in_array(DB,$i))array_unshift($i,DB);echo"<form action=''>\n<p id='dbs'>\n";hidden_fields_get();$Db=script("mixin(qsl('select'), {onmousedown: dbMouseDown, onchange: dbChange});");echo"<label title='".lang(29)."'>".lang(70).": ".($i?html_select("db",array(""=>"")+$i,DB).$Db:"<input name='db' value='".h(DB)."' autocapitalize='off' size='19'>\n")."</label>","<input type='submit' value='".lang(22)."'".($i?" class='hidden'":"").">\n";foreach(array("import","sql","schema","dump","privileges")as$X){if(isset($_GET[$X])){echo
input_hidden($X);break;}}echo"</p></form>\n";}function
tablesPrint(array$T){echo"<ul id='tables'>".script("mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});");foreach($T
as$R=>$uh){$R="$R";$E=adminer()->tableName($uh);if($E!=""&&!$uh["partition"])echo'<li><a href="'.h(ME).'select='.urlencode($R).'"'.bold($_GET["select"]==$R||$_GET["edit"]==$R,"select")." title='".lang(33)."'>".lang(71)."</a> ",(support("table")||support("indexes")?'<a href="'.h(ME).'table='.urlencode($R).'"'.bold(in_array($R,array($_GET["table"],$_GET["create"],$_GET["indexes"],$_GET["foreign"],$_GET["trigger"],$_GET["check"],$_GET["view"])),(is_view($uh)?"view":"structure"))." title='".lang(34)."'>$E</a>":"<span>$E</span>")."\n";}echo"</ul>\n";}function
showVariables(){return
show_variables();}function
showStatus(){return
show_status();}function
processList(){return
process_list();}function
killProcess($u){return
kill_process($u);}}class
Plugins{private
static$append=array('dumpFormat'=>true,'dumpOutput'=>true,'editRowPrint'=>true,'editFunctions'=>true,'config'=>true);var$plugins;var$error='';private$hooks=array();function
__construct($dg){if($dg===null){$dg=array();$Ea="adminer-plugins";if(is_dir($Ea)){foreach(glob("$Ea/*.php")as$o)$this->includeOnce($o);}$od=" href='https://www.adminer.org/plugins/#use'".target_blank();if(file_exists("$Ea.php")){$Cd=$this->includeOnce("$Ea.php");if(is_array($Cd)){foreach($Cd
as$cg)$dg[get_class($cg)]=$cg;}else$this->error
.=lang(72,"<b>$Ea.php</b>",$od)."<br>";}foreach(get_declared_classes()as$Xa){if(!$dg[$Xa]&&(preg_match('~^Adminer\w~i',$Xa)||is_subclass_of($Xa,'Adminer\Plugin'))){$Cg=new
\ReflectionClass($Xa);$mb=$Cg->getConstructor();if($mb&&$mb->getNumberOfRequiredParameters())$this->error
.=lang(73,$od,"<b>$Xa</b>","<b>$Ea.php</b>")."<br>";else$dg[$Xa]=new$Xa;}}}$this->plugins=$dg;$ia=new
Adminer;$dg[]=$ia;$Cg=new
\ReflectionObject($ia);foreach($Cg->getMethods()as$Pe){foreach($dg
as$cg){$E=$Pe->getName();if(method_exists($cg,$E))$this->hooks[$E][]=$cg;}}}function
includeOnce($o){return
include_once"./$o";}function
__call($E,array$Mf){$ra=array();foreach($Mf
as$z=>$X)$ra[]=&$Mf[$z];$L=null;foreach($this->hooks[$E]as$cg){$Y=call_user_func_array(array($cg,$E),$ra);if($Y!==null){if(!self::$append[$E])return$Y;$L=$Y+(array)$L;}}return$L;}}abstract
class
Plugin{protected$translations=array();function
description(){return$this->lang('');}function
screenshot(){return"";}protected
function
lang($v,$F=null){$ra=func_get_args();$ra[0]=idx($this->translations[LANG],$v)?:$v;return
call_user_func_array('Adminer\lang_format',$ra);}}Adminer::$instance=(function_exists('adminer_object')?adminer_object():(is_dir("adminer-plugins")||file_exists("adminer-plugins.php")?new
Plugins(null):new
Adminer));SqlDriver::$drivers=array("server"=>"MySQL / MariaDB")+SqlDriver::$drivers;if(!defined('Adminer\DRIVER')){define('Adminer\DRIVER',"server");if(extension_loaded("mysqli")&&$_GET["ext"]!="pdo"){class
Db
extends
\MySQLi{static$instance;var$extension="MySQLi",$flavor='';function
__construct(){parent::init();}function
attach($P,$V,$H){mysqli_report(MYSQLI_REPORT_OFF);list($sd,$eg)=host_port($P);$sh=adminer()->connectSsl();if($sh)$this->ssl_set($sh['key'],$sh['cert'],$sh['ca'],'','');$L=@$this->real_connect(($P!=""?$sd:ini_get("mysqli.default_host")),($P.$V!=""?$V:ini_get("mysqli.default_user")),($P.$V.$H!=""?$H:ini_get("mysqli.default_pw")),null,(is_numeric($eg)?intval($eg):ini_get("mysqli.default_port")),(is_numeric($eg)?null:$eg),($sh?($sh['verify']!==false?2048:64):0));$this->options(MYSQLI_OPT_LOCAL_INFILE,0);return($L?'':$this->error);}function
set_charset($Qa){if(parent::set_charset($Qa))return
true;parent::set_charset('utf8');return$this->query("SET NAMES $Qa");}function
next_result(){return
self::more_results()&&parent::next_result();}function
quote($xh){return"'".$this->escape_string($xh)."'";}}}elseif(extension_loaded("mysql")&&!((ini_bool("sql.safe_mode")||ini_bool("mysql.allow_local_infile"))&&extension_loaded("pdo_mysql"))){class
Db
extends
SqlDb{private$link;function
attach($P,$V,$H){if(ini_bool("mysql.allow_local_infile"))return
lang(74,"'mysql.allow_local_infile'","MySQLi","PDO_MySQL");$this->link=@mysql_connect(($P!=""?$P:ini_get("mysql.default_host")),($P.$V!=""?$V:ini_get("mysql.default_user")),($P.$V.$H!=""?$H:ini_get("mysql.default_password")),true,131072);if(!$this->link)return
mysql_error();$this->server_info=mysql_get_server_info($this->link);return'';}function
set_charset($Qa){if(function_exists('mysql_set_charset')){if(mysql_set_charset($Qa,$this->link))return
true;mysql_set_charset('utf8',$this->link);}return$this->query("SET NAMES $Qa");}function
quote($xh){return"'".mysql_real_escape_string($xh,$this->link)."'";}function
select_db($Cb){return
mysql_select_db($Cb,$this->link);}function
query($J,$pi=false){$K=@($pi?mysql_unbuffered_query($J,$this->link):mysql_query($J,$this->link));$this->error="";if(!$K){$this->errno=mysql_errno($this->link);$this->error=mysql_error($this->link);return
false;}if($K===true){$this->affected_rows=mysql_affected_rows($this->link);$this->info=mysql_info($this->link);return
true;}return
new
Result($K);}}class
Result{var$num_rows;private$result;private$offset=0;function
__construct($K){$this->result=$K;$this->num_rows=mysql_num_rows($K);}function
fetch_assoc(){return
mysql_fetch_assoc($this->result);}function
fetch_row(){return
mysql_fetch_row($this->result);}function
fetch_field(){$L=mysql_fetch_field($this->result,$this->offset++);$L->orgtable=$L->table;$L->charsetnr=($L->blob?63:0);return$L;}function
__destruct(){mysql_free_result($this->result);}}}elseif(extension_loaded("pdo_mysql")){class
Db
extends
PdoDb{var$extension="PDO_MySQL";function
attach($P,$V,$H){$vf=array(\PDO::MYSQL_ATTR_LOCAL_INFILE=>false);$sh=adminer()->connectSsl();if($sh){if($sh['key'])$vf[\PDO::MYSQL_ATTR_SSL_KEY]=$sh['key'];if($sh['cert'])$vf[\PDO::MYSQL_ATTR_SSL_CERT]=$sh['cert'];if($sh['ca'])$vf[\PDO::MYSQL_ATTR_SSL_CA]=$sh['ca'];if(isset($sh['verify']))$vf[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT]=$sh['verify'];}list($sd,$eg)=host_port($P);return$this->dsn("mysql:charset=utf8;host=$sd".($eg?(is_numeric($eg)?";port=":";unix_socket=").$eg:""),$V,$H,$vf);}function
set_charset($Qa){return$this->query("SET NAMES $Qa");}function
select_db($Cb){return$this->query("USE ".idf_escape($Cb));}function
query($J,$pi=false){$this->pdo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,!$pi);return
parent::query($J,$pi);}}}class
Driver
extends
SqlDriver{static$extensions=array("MySQLi","MySQL","PDO_MySQL");static$jush="sql";var$unsigned=array("unsigned","zerofill","unsigned zerofill");var$operators=array("=","<",">","<=",">=","!=","LIKE","LIKE %%","REGEXP","IN","FIND_IN_SET","IS NULL","NOT LIKE","NOT REGEXP","NOT IN","IS NOT NULL","SQL");var$functions=array("char_length","date","from_unixtime","lower","round","floor","ceil","sec_to_time","time_to_sec","upper");var$grouping=array("avg","count","count distinct","group_concat","max","min","sum");static
function
connect($P,$V,$H){$f=parent::connect($P,$V,$H);if(is_string($f)){if(function_exists('iconv')&&!is_utf8($f)&&strlen($Pg=iconv("windows-1250","utf-8",$f))>strlen($f))$f=$Pg;return$f;}$f->set_charset(charset($f));$f->query("SET sql_quote_show_create = 1, autocommit = 1");$f->flavor=(preg_match('~MariaDB~',$f->server_info)?'maria':'mysql');add_driver(DRIVER,($f->flavor=='maria'?"MariaDB":"MySQL"));return$f;}function
__construct(Db$f){parent::__construct($f);$this->types=array(lang(75)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(76)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(77)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(78)=>array("enum"=>65535,"set"=>64),lang(79)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(80)=>array("geometry"=>0,"point"=>0,"linestring"=>0,"polygon"=>0,"multipoint"=>0,"multilinestring"=>0,"multipolygon"=>0,"geometrycollection"=>0),);$this->insertFunctions=array("char"=>"md5/sha1/password/encrypt/uuid","binary"=>"md5/sha1","date|time"=>"now",);$this->editFunctions=array(number_type()=>"+/-","date"=>"+ interval/- interval","time"=>"addtime/subtime","char|text"=>"concat",);if(min_version('5.7.8',10.2,$f))$this->types[lang(77)]["json"]=4294967295;if(min_version('',10.7,$f)){$this->types[lang(77)]["uuid"]=128;$this->insertFunctions['uuid']='uuid';}if(min_version(9,'',$f)){$this->types[lang(75)]["vector"]=16383;$this->insertFunctions['vector']='string_to_vector';}if(min_version(5.1,'',$f))$this->partitionBy=array("HASH","LINEAR HASH","KEY","LINEAR KEY","RANGE","LIST");if(min_version(5.7,10.2,$f))$this->generated=array("STORED","VIRTUAL");}function
unconvertFunction(array$m){return(preg_match("~binary~",$m["type"])?"<code class='jush-sql'>UNHEX</code>":($m["type"]=="bit"?doc_link(array('sql'=>'bit-value-literals.html'),"<code>b''</code>"):(preg_match("~geometry|point|linestring|polygon~",$m["type"])?"<code class='jush-sql'>GeomFromText</code>":"")));}function
insert($R,array$Q){return($Q?parent::insert($R,$Q):queries("INSERT INTO ".table($R)." ()\nVALUES ()"));}function
insertUpdate($R,array$N,array$mg){$d=array_keys(reset($N));$kg="INSERT INTO ".table($R)." (".implode(", ",$d).") VALUES\n";$Hi=array();foreach($d
as$z)$Hi[$z]="$z = VALUES($z)";$Ah="\nON DUPLICATE KEY UPDATE ".implode(", ",$Hi);$Hi=array();$pe=0;foreach($N
as$Q){$Y="(".implode(", ",$Q).")";if($Hi&&(strlen($kg)+$pe+strlen($Y)+strlen($Ah)>1e6)){if(!queries($kg.implode(",\n",$Hi).$Ah))return
false;$Hi=array();$pe=0;}$Hi[]=$Y;$pe+=strlen($Y)+2;}return
queries($kg.implode(",\n",$Hi).$Ah);}function
slowQuery($J,$Uh){if(min_version('5.7.8','10.1.2')){if($this->conn->flavor=='maria')return"SET STATEMENT max_statement_time=$Uh FOR $J";elseif(preg_match('~^(SELECT\b)(.+)~is',$J,$C))return"$C[1] /*+ MAX_EXECUTION_TIME(".($Uh*1000).") */ $C[2]";}}function
convertSearch($v,array$X,array$m){return(preg_match('~char|text|enum|set~',$m["type"])&&!preg_match("~^utf8~",$m["collation"])&&preg_match('~[\x80-\xFF]~',$X['val'])?"CONVERT($v USING ".charset($this->conn).")":$v);}function
warnings(){$K=$this->conn->query("SHOW WARNINGS");if($K&&$K->num_rows){ob_start();print_select_result($K);return
ob_get_clean();}}function
tableHelp($E,$Yd=false){$we=($this->conn->flavor=='maria');if(information_schema(DB))return
strtolower("information-schema-".($we?"$E-table/":str_replace("_","-",$E)."-table.html"));if(DB=="mysql")return($we?"mysql$E-table/":"system-schema.html");}function
partitionsInfo($R){$Wc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($R);$K=$this->conn->query("SELECT PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_ORDINAL_POSITION $Wc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");$L=array();list($L["partition_by"],$L["partition"],$L["partitions"])=$K->fetch_row();$Uf=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $Wc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$L["partition_names"]=array_keys($Uf);$L["partition_values"]=array_values($Uf);return$L;}function
hasCStyleEscapes(){static$La;if($La===null){$rh=get_val("SHOW VARIABLES LIKE 'sql_mode'",1,$this->conn);$La=(strpos($rh,'NO_BACKSLASH_ESCAPES')===false);}return$La;}function
engines(){$L=array();foreach(get_rows("SHOW ENGINES")as$M){if(preg_match("~YES|DEFAULT~",$M["Support"]))$L[]=$M["Engine"];}return$L;}function
indexAlgorithms(array$Eh){return(preg_match('~^(MEMORY|NDB)$~',$Eh["Engine"])?array("HASH","BTREE"):array());}}function
idf_escape($v){return"`".str_replace("`","``",$v)."`";}function
table($v){return
idf_escape($v);}function
get_databases($Oc){$L=get_session("dbs");if($L===null){$J="SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME";$L=($Oc?slow_query($J):get_vals($J));restart_session();set_session("dbs",$L);stop_session();}return$L;}function
limit($J,$Z,$_,$if=0,$bh=" "){return" $J$Z".($_?$bh."LIMIT $_".($if?" OFFSET $if":""):"");}function
limit1($R,$J,$Z,$bh="\n"){return
limit($J,$Z,1,0,$bh);}function
db_collation($j,array$b){$L=null;$h=get_val("SHOW CREATE DATABASE ".idf_escape($j),1);if(preg_match('~ COLLATE ([^ ]+)~',$h,$C))$L=$C[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$h,$C))$L=$b[$C[1]][-1];return$L;}function
logged_user(){return
get_val("SELECT USER()");}function
tables_list(){return
get_key_vals("SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME");}function
count_tables(array$i){$L=array();foreach($i
as$j)$L[$j]=count(get_vals("SHOW TABLES IN ".idf_escape($j)));return$L;}function
table_status($E="",$Ec=false){$L=array();foreach(get_rows($Ec?"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$M){if($M["Engine"]=="InnoDB")$M["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\1',$M["Comment"]);if(!isset($M["Engine"]))$M["Comment"]="";if($E!="")$M["Name"]=$E;$L[$M["Name"]]=$M;}return$L;}function
is_view(array$S){return$S["Engine"]===null;}function
fk_support(array$S){return
preg_match('~InnoDB|IBMDB2I'.(min_version(5.6)?'|NDB':'').'~i',$S["Engine"]);}function
fields($R){$we=(connection()->flavor=='maria');$L=array();foreach(get_rows("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ".q($R)." ORDER BY ORDINAL_POSITION")as$M){$m=$M["COLUMN_NAME"];$U=$M["COLUMN_TYPE"];$ad=$M["GENERATION_EXPRESSION"];$Bc=$M["EXTRA"];preg_match('~^(VIRTUAL|PERSISTENT|STORED)~',$Bc,$Zc);preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~',$U,$ye);$k=$M["COLUMN_DEFAULT"];if($k!=""){$Xd=preg_match('~text|json~',$ye[1]);if(!$we&&$Xd)$k=preg_replace("~^(_\w+)?('.*')$~",'\2',stripslashes($k));if($we||$Xd){$k=($k=="NULL"?null:preg_replace_callback("~^'(.*)'$~",function($C){return
stripslashes(str_replace("''","'",$C[1]));},$k));}if(!$we&&preg_match('~binary~',$ye[1])&&preg_match('~^0x(\w*)$~',$k,$C))$k=pack("H*",$C[1]);}$L[$m]=array("field"=>$m,"full_type"=>$U,"type"=>$ye[1],"length"=>$ye[2],"unsigned"=>ltrim($ye[3].$ye[4]),"default"=>($Zc?($we?$ad:stripslashes($ad)):$k),"null"=>($M["IS_NULLABLE"]=="YES"),"auto_increment"=>($Bc=="auto_increment"),"on_update"=>(preg_match('~\bon update (\w+)~i',$Bc,$C)?$C[1]:""),"collation"=>$M["COLLATION_NAME"],"privileges"=>array_flip(explode(",","$M[PRIVILEGES],where,order")),"comment"=>$M["COLUMN_COMMENT"],"primary"=>($M["COLUMN_KEY"]=="PRI"),"generated"=>($Zc[1]=="PERSISTENT"?"STORED":$Zc[1]),);}return$L;}function
indexes($R,$g=null){$L=array();foreach(get_rows("SHOW INDEX FROM ".table($R),$g)as$M){$E=$M["Key_name"];$L[$E]["type"]=($E=="PRIMARY"?"PRIMARY":($M["Index_type"]=="FULLTEXT"?"FULLTEXT":($M["Non_unique"]?($M["Index_type"]=="SPATIAL"?"SPATIAL":"INDEX"):"UNIQUE")));$L[$E]["columns"][]=$M["Column_name"];$L[$E]["lengths"][]=($M["Index_type"]=="SPATIAL"?null:$M["Sub_part"]);$L[$E]["descs"][]=null;$L[$E]["algorithm"]=$M["Index_type"];}return$L;}function
foreign_keys($R){static$Yf='(?:`(?:[^`]|``)+`|"(?:[^"]|"")+")';$L=array();$tb=get_val("SHOW CREATE TABLE ".table($R),1);if($tb){preg_match_all("~CONSTRAINT ($Yf) FOREIGN KEY ?\\(((?:$Yf,? ?)+)\\) REFERENCES ($Yf)(?:\\.($Yf))? \\(((?:$Yf,? ?)+)\\)(?: ON DELETE (".driver()->onActions."))?(?: ON UPDATE (".driver()->onActions."))?~",$tb,$ze,PREG_SET_ORDER);foreach($ze
as$C){preg_match_all("~$Yf~",$C[2],$mh);preg_match_all("~$Yf~",$C[5],$Nh);$L[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('Adminer\idf_unescape',$mh[0]),"target"=>array_map('Adminer\idf_unescape',$Nh[0]),"on_delete"=>($C[6]?:"RESTRICT"),"on_update"=>($C[7]?:"RESTRICT"),);}}return$L;}function
view($E){return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU','',get_val("SHOW CREATE VIEW ".table($E),1)));}function
collations(){$L=array();foreach(get_rows("SHOW COLLATION")as$M){if($M["Default"])$L[$M["Charset"]][-1]=$M["Collation"];else$L[$M["Charset"]][]=$M["Collation"];}ksort($L);foreach($L
as$z=>$X)sort($L[$z]);return$L;}function
information_schema($j){return($j=="information_schema")||(min_version(5.5)&&$j=="performance_schema");}function
error(){return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",connection()->error));}function
create_database($j,$cb){return
queries("CREATE DATABASE ".idf_escape($j).($cb?" COLLATE ".q($cb):""));}function
drop_databases(array$i){$L=apply_queries("DROP DATABASE",$i,'Adminer\idf_escape');restart_session();set_session("dbs",null);return$L;}function
rename_database($E,$cb){$L=false;if(create_database($E,$cb)){$T=array();$Mi=array();foreach(tables_list()as$R=>$U){if($U=='VIEW')$Mi[]=$R;else$T[]=$R;}$L=(!$T&&!$Mi)||move_tables($T,$Mi,$E);drop_databases($L?array(DB):array());}return$L;}function
auto_increment(){$ya=" 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)){$ya="";break;}if($w["type"]=="PRIMARY")$ya=" UNIQUE";}}return" AUTO_INCREMENT$ya";}function
alter_table($R,$E,array$n,array$Qc,$gb,$jc,$cb,$xa,$Tf){$pa=array();foreach($n
as$m){if($m[1]){$k=$m[1][3];if(preg_match('~ GENERATED~',$k)){$m[1][3]=(connection()->flavor=='maria'?"":$m[1][2]);$m[1][2]=$k;}$pa[]=($R!=""?($m[0]!=""?"CHANGE ".idf_escape($m[0]):"ADD"):" ")." ".implode($m[1]).($R!=""?$m[2]:"");}else$pa[]="DROP ".idf_escape($m[0]);}$pa=array_merge($pa,$Qc);$uh=($gb!==null?" COMMENT=".q($gb):"").($jc?" ENGINE=".q($jc):"").($cb?" COLLATE ".q($cb):"").($xa!=""?" AUTO_INCREMENT=$xa":"");if($Tf){$Uf=array();if($Tf["partition_by"]=='RANGE'||$Tf["partition_by"]=='LIST'){foreach($Tf["partition_names"]as$z=>$X){$Y=$Tf["partition_values"][$z];$Uf[]="\n  PARTITION ".idf_escape($X)." VALUES ".($Tf["partition_by"]=='RANGE'?"LESS THAN":"IN").($Y!=""?" ($Y)":" MAXVALUE");}}$uh
.="\nPARTITION BY $Tf[partition_by]($Tf[partition])";if($Uf)$uh
.=" (".implode(",",$Uf)."\n)";elseif($Tf["partitions"])$uh
.=" PARTITIONS ".(+$Tf["partitions"]);}elseif($Tf===null)$uh
.="\nREMOVE PARTITIONING";if($R=="")return
queries("CREATE TABLE ".table($E)." (\n".implode(",\n",$pa)."\n)$uh");if($R!=$E)$pa[]="RENAME TO ".table($E);if($uh)$pa[]=ltrim($uh);return($pa?queries("ALTER TABLE ".table($R)."\n".implode(",\n",$pa)):true);}function
alter_indexes($R,$pa){$Pa=array();foreach($pa
as$X)$Pa[]=($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($R).implode(",",$Pa));}function
truncate_tables(array$T){return
apply_queries("TRUNCATE TABLE",$T);}function
drop_views(array$Mi){return
queries("DROP VIEW ".implode(", ",array_map('Adminer\table',$Mi)));}function
drop_tables(array$T){return
queries("DROP TABLE ".implode(", ",array_map('Adminer\table',$T)));}function
move_tables(array$T,array$Mi,$Nh){$Fg=array();foreach($T
as$R)$Fg[]=table($R)." TO ".idf_escape($Nh).".".table($R);if(!$Fg||queries("RENAME TABLE ".implode(", ",$Fg))){$Lb=array();foreach($Mi
as$R)$Lb[table($R)]=view($R);connection()->select_db($Nh);$j=idf_escape(DB);foreach($Lb
as$E=>$Li){if(!queries("CREATE VIEW $E AS ".str_replace(" $j."," ",$Li["select"]))||!queries("DROP VIEW $j.$E"))return
false;}return
true;}return
false;}function
copy_tables(array$T,array$Mi,$Nh){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($T
as$R){$E=($Nh==DB?table("copy_$R"):idf_escape($Nh).".".table($R));if(($_POST["overwrite"]&&!queries("\nDROP TABLE IF EXISTS $E"))||!queries("CREATE TABLE $E LIKE ".table($R))||!queries("INSERT INTO $E SELECT * FROM ".table($R)))return
false;foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")))as$M){$ji=$M["Trigger"];if(!queries("CREATE TRIGGER ".($Nh==DB?idf_escape("copy_$ji"):idf_escape($Nh).".".idf_escape($ji))." $M[Timing] $M[Event] ON $E FOR EACH ROW\n$M[Statement];"))return
false;}}foreach($Mi
as$R){$E=($Nh==DB?table("copy_$R"):idf_escape($Nh).".".table($R));$Li=view($R);if(($_POST["overwrite"]&&!queries("DROP VIEW IF EXISTS $E"))||!queries("CREATE VIEW $E AS $Li[select]"))return
false;}return
true;}function
trigger($E,$R){if($E=="")return
array();$N=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($E));return
reset($N);}function
triggers($R){$L=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")))as$M)$L[$M["Trigger"]]=array($M["Timing"],$M["Event"]);return$L;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($E,$U){$n=get_rows("SELECT
	PARAMETER_NAME field,
	DATA_TYPE type,
	CHARACTER_MAXIMUM_LENGTH length,
	REGEXP_REPLACE(DTD_IDENTIFIER, '^[^ ]+ ', '') `unsigned`,
	1 `null`,
	DTD_IDENTIFIER full_type,
	PARAMETER_MODE `inout`,
	CHARACTER_SET_NAME collation
FROM information_schema.PARAMETERS
WHERE SPECIFIC_SCHEMA = DATABASE() AND ROUTINE_TYPE = '$U' AND SPECIFIC_NAME = ".q($E)."
ORDER BY ORDINAL_POSITION");$L=connection()->query("SELECT ROUTINE_COMMENT comment, ROUTINE_DEFINITION definition, 'SQL' language
FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA = DATABASE() AND ROUTINE_TYPE = '$U' AND ROUTINE_NAME = ".q($E))->fetch_assoc();if($n&&$n[0]['field']=='')$L['returns']=array_shift($n);$L['fields']=$n;return$L;}function
routines(){return
get_rows("SELECT SPECIFIC_NAME, ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = DATABASE()");}function
routine_languages(){return
array();}function
routine_id($E,array$M){return
idf_escape($E);}function
last_id($K){return
get_val("SELECT LAST_INSERT_ID()");}function
explain(Db$f,$J){return$f->query("EXPLAIN ".(min_version(5.1)&&!min_version(5.7)?"PARTITIONS ":"").$J);}function
found_rows(array$S,array$Z){return($Z||$S["Engine"]!="InnoDB"?null:$S["Rows"]);}function
create_sql($R,$xa,$zh){$L=get_val("SHOW CREATE TABLE ".table($R),1);if(!$xa)$L=preg_replace('~ AUTO_INCREMENT=\d+~','',$L);return$L;}function
truncate_sql($R){return"TRUNCATE ".table($R);}function
use_sql($Cb,$zh=""){$E=idf_escape($Cb);$L="";if(preg_match('~CREATE~',$zh)&&($h=get_val("SHOW CREATE DATABASE $E",1))){set_utf8mb4($h);if($zh=="DROP+CREATE")$L="DROP DATABASE IF EXISTS $E;\n";$L
.="$h;\n";}return$L."USE $E";}function
trigger_sql($R){$L="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($R,"%_\\")),null,"-- ")as$M)$L
.="\nCREATE TRIGGER ".idf_escape($M["Trigger"])." $M[Timing] $M[Event] ON ".table($M["Table"])." FOR EACH ROW\n$M[Statement];;\n";return$L;}function
show_variables(){return
get_rows("SHOW VARIABLES");}function
show_status(){return
get_rows("SHOW STATUS");}function
process_list(){return
get_rows("SHOW FULL PROCESSLIST");}function
convert_field(array$m){if(preg_match("~binary~",$m["type"]))return"HEX(".idf_escape($m["field"]).")";if($m["type"]=="bit")return"BIN(".idf_escape($m["field"])." + 0)";if(preg_match("~geometry|point|linestring|polygon~",$m["type"]))return(min_version(8)?"ST_":"")."AsWKT(".idf_escape($m["field"]).")";}function
unconvert_field(array$m,$L){if(preg_match("~binary~",$m["type"]))$L="UNHEX($L)";if($m["type"]=="bit")$L="CONVERT(b$L, UNSIGNED)";if(preg_match("~geometry|point|linestring|polygon~",$m["type"])){$kg=(min_version(8)?"ST_":"");$L=$kg."GeomFromText($L, $kg"."SRID($m[field]))";}return$L;}function
support($Fc){return
preg_match('~^(comment|columns|copy|database|drop_col|dump|indexes|kill|privileges|move_col|procedure|processlist|routine|sql|status|table|trigger|variables|view'.(min_version(5.1)?'|event':'').(min_version(8)?'|descidx':'').(min_version('8.0.16','10.2.1')?'|check':'').')$~',$Fc);}function
kill_process($u){return
queries("KILL ".number($u));}function
connection_id(){return"SELECT CONNECTION_ID()";}function
max_connections(){return
get_val("SELECT @@max_connections");}function
types(){return
array();}function
type_values($u){return"";}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($Rg,$g=null){return
true;}}define('Adminer\JUSH',Driver::$jush);define('Adminer\SERVER',"".$_GET[DRIVER]);define('Adminer\DB',"$_GET[db]");define('Adminer\ME',preg_replace('~\?.*~','',relative_uri()).'?'.(sid()?SID.'&':'').(SERVER!==null?DRIVER."=".urlencode(SERVER).'&':'').($_GET["ext"]?"ext=".urlencode($_GET["ext"]).'&':'').(isset($_GET["username"])?"username=".urlencode($_GET["username"]).'&':'').(DB!=""?'db='.urlencode(DB).'&'.(isset($_GET["ns"])?"ns=".urlencode($_GET["ns"])."&":""):''));function
page_header($Wh,$l="",$Ja=array(),$Xh=""){page_headers();if(is_ajax()&&$l){page_messages($l);exit;}if(!ob_get_level())ob_start('ob_gzhandler',4096);$Yh=$Wh.($Xh!=""?": $Xh":"");$Zh=strip_tags($Yh.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".adminer()->name());echo'<!DOCTYPE html>
<html lang="',LANG,'" dir="',lang(81),'">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>',$Zh,'</title>
<link rel="stylesheet" href="',h(preg_replace("~\\?.*~","",ME)."?file=default.css&version=5.4.2"),'">
';$xb=adminer()->css();if(is_int(key($xb)))$xb=array_fill_keys($xb,'light');$ld=in_array('light',$xb)||in_array('',$xb);$jd=in_array('dark',$xb)||in_array('',$xb);$_b=($ld?($jd?null:false):($jd?:null));$Ie=" media='(prefers-color-scheme: dark)'";if($_b!==false)echo"<link rel='stylesheet'".($_b?"":$Ie)." href='".h(preg_replace("~\\?.*~","",ME)."?file=dark.css&version=5.4.2")."'>\n";echo"<meta name='color-scheme' content='".($_b===null?"light dark":($_b?"dark":"light"))."'>\n",script_src(preg_replace("~\\?.*~","",ME)."?file=functions.js&version=5.4.2");if(adminer()->head($_b))echo"<link rel='icon' href='data:image/gif;base64,R0lGODlhEAAQAJEAAAQCBPz+/PwCBAROZCH5BAEAAAAALAAAAAAQABAAAAI2hI+pGO1rmghihiUdvUBnZ3XBQA7f05mOak1RWXrNq5nQWHMKvuoJ37BhVEEfYxQzHjWQ5qIAADs='>\n","<link rel='apple-touch-icon' href='".h(preg_replace("~\\?.*~","",ME)."?file=logo.png&version=5.4.2")."'>\n";foreach($xb
as$_i=>$Se){$va=($Se=='dark'&&!$_b?$Ie:($Se=='light'&&$jd?" media='(prefers-color-scheme: light)'":""));echo"<link rel='stylesheet'$va href='".h($_i)."'>\n";}echo"\n<body class='".lang(81)." nojs";adminer()->bodyClass();echo"'>\n";$o=get_temp_dir()."/adminer.version";echo
script("mixin(document.body, {onkeydown: bodyKeydown, onclick: bodyClick".(isset($_COOKIE["adminer_version"])?"":", onload: partial(verifyVersion, '".VERSION."')")."});
document.body.classList.replace('nojs', 'js');
const offlineMessage = '".js_escape(lang(82))."';
const thousandsSeparator = '".js_escape(lang(4))."';"),"<div id='help' class='jush-".JUSH." jsonly hidden'></div>\n",script("mixin(qs('#help'), {onmouseover: () => { helpOpen = 1; }, onmouseout: helpMouseout});"),"<div id='content'>\n","<span id='menuopen' class='jsonly'>".icon("move","","menu","")."</span>".script("qs('#menuopen').onclick = event => { qs('#foot').classList.toggle('foot'); event.stopPropagation(); }");if($Ja!==null){$A=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($A?:".").'">'.get_driver(DRIVER).'</a> » ';$A=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1);$P=adminer()->serverName(SERVER);$P=($P!=""?$P:lang(25));if($Ja===false)echo"$P\n";else{echo"<a href='".h($A)."' accesskey='1' title='Alt+Shift+1'>$P</a> » ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ja)))echo'<a href="'.h($A."&db=".urlencode(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> » ';if(is_array($Ja)){if($_GET["ns"]!="")echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> » ';foreach($Ja
as$z=>$X){$Nb=(is_array($X)?$X[1]:h($X));if($Nb!="")echo"<a href='".h(ME."$z=").urlencode(is_array($X)?$X[0]:$X)."'>$Nb</a> » ";}}echo"$Wh\n";}}echo"<h2>$Yh</h2>\n","<div id='ajaxstatus' class='jsonly hidden'></div>\n";restart_session();page_messages($l);$i=&get_session("dbs");if(DB!=""&&$i&&!in_array(DB,$i,true))$i=null;stop_session();define('Adminer\PAGE_HEADER',1);}function
page_headers(){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(adminer()->csp(csp())as$wb){$md=array();foreach($wb
as$z=>$X)$md[]="$z $X";header("Content-Security-Policy: ".implode("; ",$md));}adminer()->headers();}function
csp(){return
array(array("script-src"=>"'self' 'unsafe-inline' 'nonce-".get_nonce()."' 'strict-dynamic'","connect-src"=>"'self' https://www.adminer.org","frame-src"=>"'none'","object-src"=>"'none'","base-uri"=>"'none'","form-action"=>"'self'",),);}function
get_nonce(){static$ef;if(!$ef)$ef=base64_encode(rand_string());return$ef;}function
page_messages($l){$zi=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$Oe=idx($_SESSION["messages"],$zi);if($Oe){echo"<div class='message'>".implode("</div>\n<div class='message'>",$Oe)."</div>".script("messagesPrint();");unset($_SESSION["messages"][$zi]);}if($l)echo"<div class='error'>$l</div>\n";if(adminer()->error)echo"<div class='error'>".adminer()->error."</div>\n";}function
page_footer($Re=""){echo"</div>\n\n<div id='foot' class='foot'>\n<div id='menu'>\n";adminer()->navigation($Re);echo"</div>\n";if($Re!="auth")echo'<form action="" method="post">
<p class="logout">
<span>',h($_GET["username"])."\n",'</span>
<input type="submit" name="logout" value="',lang(83),'" id="logout">
',input_token(),'</form>
';echo"</div>\n\n",script("setupSubmitHighlight(document);");}function
int32($We){while($We>=2147483648)$We-=4294967296;while($We<=-2147483649)$We+=4294967296;return(int)$We;}function
long2str(array$W,$Oi){$Pg='';foreach($W
as$X)$Pg
.=pack('V',$X);if($Oi)return
substr($Pg,0,end($W));return$Pg;}function
str2long($Pg,$Oi){$W=array_values(unpack('V*',str_pad($Pg,4*ceil(strlen($Pg)/4),"\0")));if($Oi)$W[]=strlen($Pg);return$W;}function
xxtea_mx($Vi,$Ui,$Bh,$be){return
int32((($Vi>>5&0x7FFFFFF)^$Ui<<2)+(($Ui>>3&0x1FFFFFFF)^$Vi<<4))^int32(($Bh^$Ui)+($be^$Vi));}function
encrypt_string($wh,$z){if($wh=="")return"";$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($wh,true);$We=count($W)-1;$Vi=$W[$We];$Ui=$W[0];$I=floor(6+52/($We+1));$Bh=0;while($I-->0){$Bh=int32($Bh+0x9E3779B9);$ac=$Bh>>2&3;for($Jf=0;$Jf<$We;$Jf++){$Ui=$W[$Jf+1];$Ve=xxtea_mx($Vi,$Ui,$Bh,$z[$Jf&3^$ac]);$Vi=int32($W[$Jf]+$Ve);$W[$Jf]=$Vi;}$Ui=$W[0];$Ve=xxtea_mx($Vi,$Ui,$Bh,$z[$Jf&3^$ac]);$Vi=int32($W[$We]+$Ve);$W[$We]=$Vi;}return
long2str($W,false);}function
decrypt_string($wh,$z){if($wh=="")return"";if(!$z)return
false;$z=array_values(unpack("V*",pack("H*",md5($z))));$W=str2long($wh,false);$We=count($W)-1;$Vi=$W[$We];$Ui=$W[0];$I=floor(6+52/($We+1));$Bh=int32($I*0x9E3779B9);while($Bh){$ac=$Bh>>2&3;for($Jf=$We;$Jf>0;$Jf--){$Vi=$W[$Jf-1];$Ve=xxtea_mx($Vi,$Ui,$Bh,$z[$Jf&3^$ac]);$Ui=int32($W[$Jf]-$Ve);$W[$Jf]=$Ui;}$Vi=$W[$We];$Ve=xxtea_mx($Vi,$Ui,$Bh,$z[$Jf&3^$ac]);$Ui=int32($W[0]-$Ve);$W[0]=$Ui;$Bh=int32($Bh-0x9E3779B9);}return
long2str($W,true);}$ag=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$X){list($z)=explode(":",$X);$ag[$z]=$X;}}function
add_invalid_login(){$Ca=get_temp_dir()."/adminer.invalid";foreach(glob("$Ca*")?:array($Ca)as$o){$q=file_open_lock($o);if($q)break;}if(!$q)$q=file_open_lock("$Ca-".rand_string());if(!$q)return;$Sd=unserialize(stream_get_contents($q));$Th=time();if($Sd){foreach($Sd
as$Td=>$X){if($X[0]<$Th)unset($Sd[$Td]);}}$Rd=&$Sd[adminer()->bruteForceKey()];if(!$Rd)$Rd=array($Th+30*60,0);$Rd[1]++;file_write_unlock($q,serialize($Sd));}function
check_invalid_login(array&$ag){$Sd=array();foreach(glob(get_temp_dir()."/adminer.invalid*")as$o){$q=file_open_lock($o);if($q){$Sd=unserialize(stream_get_contents($q));file_unlock($q);break;}}$Rd=idx($Sd,adminer()->bruteForceKey(),array());$df=($Rd[1]>29?$Rd[0]-time():0);if($df>0)auth_error(lang(84,ceil($df/60)),$ag);}$wa=$_POST["auth"];if($wa){session_regenerate_id();$Ji=$wa["driver"];$P=$wa["server"];$V=$wa["username"];$H=(string)$wa["password"];$j=$wa["db"];set_password($Ji,$P,$V,$H);$_SESSION["db"][$Ji][$P][$V][$j]=true;if($wa["permanent"]){$z=implode("-",array_map('base64_encode',array($Ji,$P,$V,$j)));$og=adminer()->permanentLogin(true);$ag[$z]="$z:".base64_encode($og?encrypt_string($H,$og):"");cookie("adminer_permanent",implode(" ",$ag));}if(count($_POST)==1||DRIVER!=$Ji||SERVER!=$P||$_GET["username"]!==$V||DB!=$j)redirect(auth_url($Ji,$P,$V,$j));}elseif($_POST["logout"]&&(!$_SESSION["token"]||verify_token())){foreach(array("pwds","db","dbs","queries")as$z)set_session($z,null);unset_permanent($ag);redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(85).' '.lang(86));}elseif($ag&&!$_SESSION["pwds"]){session_regenerate_id();$og=adminer()->permanentLogin();foreach($ag
as$z=>$X){list(,$Wa)=explode(":",$X);list($Ji,$P,$V,$j)=array_map('base64_decode',explode("-",$z));set_password($Ji,$P,$V,decrypt_string(base64_decode($Wa),$og));$_SESSION["db"][$Ji][$P][$V][$j]=true;}}function
unset_permanent(array&$ag){foreach($ag
as$z=>$X){list($Ji,$P,$V,$j)=array_map('base64_decode',explode("-",$z));if($Ji==DRIVER&&$P==SERVER&&$V==$_GET["username"]&&$j==DB)unset($ag[$z]);}cookie("adminer_permanent",implode(" ",$ag));}function
auth_error($l,array&$ag){$eh=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$eh]||$_GET[$eh])&&!$_SESSION["token"])$l=lang(87);else{restart_session();add_invalid_login();$H=get_password();if($H!==null){if($H===false)$l
.=($l?'<br>':'').lang(88,target_blank(),'<code>permanentLogin()</code>');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent($ag);}}if(!$_COOKIE[$eh]&&$_GET[$eh]&&ini_bool("session.use_only_cookies"))$l=lang(89);$Mf=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?:rand_string()),$Mf["lifetime"]);if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);page_header(lang(30),$l,null);echo"<form action='' method='post'>\n","<div>";if(hidden_fields($_POST,array("auth")))echo"<p class='message'>".lang(90)."\n";echo"</div>\n";adminer()->loginForm();echo"</form>\n";page_footer("auth");exit;}if(isset($_GET["username"])&&!class_exists('Adminer\Db')){unset($_SESSION["pwds"][DRIVER]);unset_permanent($ag);page_header(lang(91),lang(92,implode(", ",Driver::$extensions)),false);page_footer("auth");exit;}$f='';if(isset($_GET["username"])&&is_string(get_password())){list(,$eg)=host_port(SERVER);if(preg_match('~^\s*([-+]?\d+)~',$eg,$C)&&($C[1]<1024||$C[1]>65535))auth_error(lang(93),$ag);check_invalid_login($ag);$vb=adminer()->credentials();$f=Driver::connect($vb[0],$vb[1],$vb[2]);if(is_object($f)){Db::$instance=$f;Driver::$instance=new
Driver($f);if($f->flavor)save_settings(array("vendor-".DRIVER."-".SERVER=>get_driver(DRIVER)));}}$ue=null;if(!is_object($f)||($ue=adminer()->login($_GET["username"],get_password()))!==true){$l=(is_string($f)?nl_br(h($f)):(is_string($ue)?$ue:lang(94))).(preg_match('~^ | $~',get_password())?'<br>'.lang(95):'');auth_error($l,$ag);}if($_POST["logout"]&&$_SESSION["token"]&&!verify_token()){page_header(lang(83),lang(96));page_footer("db");exit;}if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);stop_session(true);if($wa&&$_POST["token"])$_POST["token"]=get_token();$l='';if($_POST){if(!verify_token()){$Kd="max_input_vars";$Ge=ini_get($Kd);if(extension_loaded("suhosin")){foreach(array("suhosin.request.max_vars","suhosin.post.max_vars")as$z){$X=ini_get($z);if($X&&(!$Ge||$X<$Ge)){$Kd=$z;$Ge=$X;}}}$l=(!$_POST["token"]&&$Ge?lang(97,"'$Kd'"):lang(96).' '.lang(98));}}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$l=lang(99,"'post_max_size'");if(isset($_GET["sql"]))$l
.=' '.lang(100);}function
print_select_result($K,$g=null,array$Af=array(),$_=0){$te=array();$x=array();$d=array();$Ha=array();$oi=array();$L=array();for($t=0;(!$_||$t<$_)&&($M=$K->fetch_row());$t++){if(!$t){echo"<div class='scrollable'>\n","<table class='nowrap odds'>\n","<thead><tr>";for($y=0;$y<count($M);$y++){$m=$K->fetch_field();$E=$m->name;$_f=(isset($m->orgtable)?$m->orgtable:"");$zf=(isset($m->orgname)?$m->orgname:$E);if($Af&&JUSH=="sql")$te[$y]=($E=="table"?"table=":($E=="possible_keys"?"indexes=":null));elseif($_f!=""){if(isset($m->table))$L[$m->table]=$_f;if(!isset($x[$_f])){$x[$_f]=array();foreach(indexes($_f,$g)as$w){if($w["type"]=="PRIMARY"){$x[$_f]=array_flip($w["columns"]);break;}}$d[$_f]=$x[$_f];}if(isset($d[$_f][$zf])){unset($d[$_f][$zf]);$x[$_f][$zf]=$y;$te[$y]=$_f;}}if($m->charsetnr==63)$Ha[$y]=true;$oi[$y]=$m->type;echo"<th".($_f!=""||$m->name!=$zf?" title='".h(($_f!=""?"$_f.":"").$zf)."'":"").">".h($E).($Af?doc_link(array('sql'=>"explain-output.html#explain_".strtolower($E),'mariadb'=>"explain/#the-columns-in-explain-select",)):"");}echo"</thead>\n";}echo"<tr>";foreach($M
as$z=>$X){$A="";if(isset($te[$z])&&!$d[$te[$z]]){if($Af&&JUSH=="sql"){$R=$M[array_search("table=",$te)];$A=ME.$te[$z].urlencode($Af[$R]!=""?$Af[$R]:$R);}else{$A=ME."edit=".urlencode($te[$z]);foreach($x[$te[$z]]as$ab=>$y){if($M[$y]===null){$A="";break;}$A
.="&where".urlencode("[".bracket_escape($ab)."]")."=".urlencode($M[$y]);}}}$m=array('type'=>($Ha[$z]?'blob':($oi[$z]==254?'char':'')),);$X=select_value($X,$A,$m,null);echo"<td".($oi[$z]<=9||$oi[$z]==246?" class='number'":"").">$X";}}echo($t?"</table>\n</div>":"<p class='message'>".lang(14))."\n";return$L;}function
referencable_primary($Zg){$L=array();foreach(table_status('',true)as$Fh=>$R){if($Fh!=$Zg&&fk_support($R)){foreach(fields($Fh)as$m){if($m["primary"]){if($L[$Fh]){unset($L[$Fh]);break;}$L[$Fh]=$m;}}}}return$L;}function
textarea($E,$Y,$N=10,$db=80){echo"<textarea name='".h($E)."' rows='$N' cols='$db' class='sqlarea jush-".JUSH."' 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
select_input($va,array$vf,$Y="",$qf="",$bg=""){$Mh=($vf?"select":"input");return"<$Mh$va".($vf?"><option value=''>$bg".optionlist($vf,$Y,true)."</select>":" size='10' value='".h($Y)."' placeholder='$bg'>").($qf?script("qsl('$Mh').onchange = $qf;",""):"");}function
json_row($z,$X=null,$rc=true){static$Lc=true;if($Lc)echo"{";if($z!=""){echo($Lc?"":",")."\n\t\"".addcslashes($z,"\r\n\t\"\\/").'": '.($X!==null?($rc?'"'.addcslashes($X,"\r\n\"\\/").'"':$X):'null');$Lc=false;}else{echo"\n}\n";$Lc=true;}}function
edit_type($z,array$m,array$b,array$Sc=array(),array$Cc=array()){$U=$m["type"];echo"<td><select name='".h($z)."[type]' class='type' aria-labelledby='label-type'>";if($U&&!array_key_exists($U,driver()->types())&&!isset($Sc[$U])&&!in_array($U,$Cc))$Cc[]=$U;$yh=driver()->structuredTypes();if($Sc)$yh[lang(101)]=$Sc;echo
optionlist(array_merge($Cc,$yh),$U),"</select><td>","<input name='".h($z)."[length]' value='".h($m["length"])."' size='3'".(!$m["length"]&&preg_match('~var(char|binary)$~',$U)?" class='required'":"")." aria-labelledby='label-length'>","<td class='options'>",($b?"<input list='collations' name='".h($z)."[collation]'".(preg_match('~(char|text|enum|set)$~',$U)?"":" class='hidden'")." value='".h($m["collation"])."' placeholder='(".lang(102).")'>":''),(driver()->unsigned?"<select name='".h($z)."[unsigned]'".(!$U||preg_match(number_type(),$U)?"":" class='hidden'").'><option>'.optionlist(driver()->unsigned,$m["unsigned"]).'</select>':''),(isset($m['on_update'])?"<select name='".h($z)."[on_update]'".(preg_match('~timestamp|datetime~',$U)?"":" class='hidden'").'>'.optionlist(array(""=>"(".lang(103).")","CURRENT_TIMESTAMP"),(preg_match('~^CURRENT_TIMESTAMP~i',$m["on_update"])?"CURRENT_TIMESTAMP":$m["on_update"])).'</select>':''),($Sc?"<select name='".h($z)."[on_delete]'".(preg_match("~`~",$U)?"":" class='hidden'")."><option value=''>(".lang(104).")".optionlist(explode("|",driver()->onActions),$m["on_delete"])."</select> ":" ");}function
process_length($pe){$mc=driver()->enumLength;return(preg_match("~^\\s*\\(?\\s*$mc(?:\\s*,\\s*$mc)*+\\s*\\)?\\s*\$~",$pe)&&preg_match_all("~$mc~",$pe,$ze)?"(".implode(",",$ze[0]).")":preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$pe)));}function
process_type(array$m,$bb="COLLATE"){return" $m[type]".process_length($m["length"]).(preg_match(number_type(),$m["type"])&&in_array($m["unsigned"],driver()->unsigned)?" $m[unsigned]":"").(preg_match('~char|text|enum|set~',$m["type"])&&$m["collation"]?" $bb ".(JUSH=="mssql"?$m["collation"]:q($m["collation"])):"");}function
process_field(array$m,array$ni){if($m["on_update"])$m["on_update"]=str_ireplace("current_timestamp()","CURRENT_TIMESTAMP",$m["on_update"]);return
array(idf_escape(trim($m["field"])),process_type($ni),($m["null"]?" NULL":" NOT NULL"),default_value($m),(preg_match('~timestamp|datetime~',$m["type"])&&$m["on_update"]?" ON UPDATE $m[on_update]":""),(support("comment")&&$m["comment"]!=""?" COMMENT ".q($m["comment"]):""),($m["auto_increment"]?auto_increment():null),);}function
default_value(array$m){if($m["default"]===null)return"";$k=str_replace("\r","",$m["default"]);$Zc=$m["generated"];return(in_array($Zc,driver()->generated)?(JUSH=="mssql"?" AS ($k)".($Zc=="VIRTUAL"?"":" $Zc"):" GENERATED ALWAYS AS ($k) $Zc"):" DEFAULT ".(!preg_match('~^GENERATED ~i',$k)&&(preg_match('~char|binary|text|json|enum|set~',$m["type"])||preg_match('~^(?![a-z])~i',$k))?(JUSH=="sql"&&preg_match('~text|json~',$m["type"])?"(".q($k).")":q($k)):str_ireplace("current_timestamp()","CURRENT_TIMESTAMP",(JUSH=="sqlite"?"($k)":$k))));}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(array$n,array$b,$U="TABLE",array$Sc=array()){$n=array_values($n);$Ib=(($_POST?$_POST["defaults"]:get_setting("defaults"))?"":" class='hidden'");$hb=(($_POST?$_POST["comments"]:get_setting("comments"))?"":" class='hidden'");echo"<thead><tr>\n",($U=="PROCEDURE"?"<td>":""),"<th id='label-name'>".($U=="TABLE"?lang(105):lang(106)),"<td id='label-type'>".lang(41)."<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(107),"<td>".lang(108);if($U=="TABLE")echo"<td id='label-null'>NULL\n","<td><input type='radio' name='auto_increment_col' value=''><abbr id='label-ai' title='".lang(43)."'>AI</abbr>",doc_link(array('sql'=>"example-auto-increment.html",'mariadb'=>"auto_increment/",)),"<td id='label-default'$Ib>".lang(44),(support("comment")?"<td id='label-comment'$hb>".lang(42):"");echo"<td>".icon("plus","add[".(support("move_col")?0:count($n))."]","+",lang(109)),"</thead>\n<tbody>\n",script("mixin(qsl('tbody'), {onclick: editingClick, onkeydown: editingKeydown, oninput: editingInput});");foreach($n
as$t=>$m){$t++;$Bf=$m[($_POST?"orig":"field")];$Sb=(isset($_POST["add"][$t-1])||(isset($m["field"])&&!idx($_POST["drop_col"],$t)))&&(support("drop_col")||$Bf=="");echo"<tr".($Sb?"":" style='display: none;'").">\n",($U=="PROCEDURE"?"<td>".html_select("fields[$t][inout]",explode("|",driver()->inout),$m["inout"]):"")."<th>";if($Sb)echo"<input name='fields[$t][field]' value='".h($m["field"])."' data-maxlength='64' autocapitalize='off' aria-labelledby='label-name'".(isset($_POST["add"][$t-1])?" autofocus":"").">";echo
input_hidden("fields[$t][orig]",$Bf);edit_type("fields[$t]",$m,$b,$Sc);if($U=="TABLE"){echo"<td>".checkbox("fields[$t][null]",1,$m["null"],"","","block","label-null"),"<td><label class='block'><input type='radio' name='auto_increment_col' value='$t'".($m["auto_increment"]?" checked":"")." aria-labelledby='label-ai'></label>","<td$Ib>".(driver()->generated?html_select("fields[$t][generated]",array_merge(array("","DEFAULT"),driver()->generated),$m["generated"])." ":checkbox("fields[$t][generated]",1,$m["generated"],"","","","label-default"));$va=" name='fields[$t][default]' aria-labelledby='label-default'";$Y=h($m["default"]);echo(preg_match('~\n~',$m["default"])?"<textarea$va rows='2' cols='30' style='vertical-align: bottom;'>\n$Y</textarea>":"<input$va value='$Y'>"),(support("comment")?"<td$hb><input name='fields[$t][comment]' value='".h($m["comment"])."' data-maxlength='".(min_version(5.5)?1024:255)."' aria-labelledby='label-comment'>":"");}echo"<td>",(support("move_col")?icon("plus","add[$t]","+",lang(109))." ".icon("up","up[$t]","↑",lang(110))." ".icon("down","down[$t]","↓",lang(111))." ":""),($Bf==""||support("drop_col")?icon("cross","drop_col[$t]","x",lang(112)):"");}}function
process_fields(array&$n){$if=0;if($_POST["up"]){$je=0;foreach($n
as$z=>$m){if(key($_POST["up"])==$z){unset($n[$z]);array_splice($n,$je,0,array($m));break;}if(isset($m["field"]))$je=$if;$if++;}}elseif($_POST["down"]){$Uc=false;foreach($n
as$z=>$m){if(isset($m["field"])&&$Uc){unset($n[key($_POST["down"])]);array_splice($n,$if,0,array($Uc));break;}if(key($_POST["down"])==$z)$Uc=$m;$if++;}}elseif($_POST["add"]){$n=array_values($n);array_splice($n,key($_POST["add"]),0,array(array()));}elseif(!$_POST["drop_col"])return
false;return
true;}function
normalize_enum(array$C){$X=$C[0];return"'".str_replace("'","''",addcslashes(stripcslashes(str_replace($X[0].$X[0],$X[0],substr($X,1,-1))),'\\'))."'";}function
grant($bd,array$qg,$d,$of){if(!$qg)return
true;if($qg==array("ALL PRIVILEGES","GRANT OPTION"))return($bd=="GRANT"?queries("$bd ALL PRIVILEGES$of WITH GRANT OPTION"):queries("$bd ALL PRIVILEGES$of")&&queries("$bd GRANT OPTION$of"));return
queries("$bd ".preg_replace('~(GRANT OPTION)\([^)]*\)~','\1',implode("$d, ",$qg).$d).$of);}function
drop_create($Wb,$h,$Xb,$Qh,$Yb,$B,$Ne,$Le,$Me,$lf,$af){if($_POST["drop"])query_redirect($Wb,$B,$Ne);elseif($lf=="")query_redirect($h,$B,$Me);elseif($lf!=$af){$ub=queries($h);queries_redirect($B,$Le,$ub&&queries($Wb));if($ub)queries($Xb);}else
queries_redirect($B,$Le,queries($Qh)&&queries($Yb)&&queries($Wb)&&queries($h));}function
create_trigger($of,array$M){$Vh=" $M[Timing] $M[Event]".(preg_match('~ OF~',$M["Event"])?" $M[Of]":"");return"CREATE TRIGGER ".idf_escape($M["Trigger"]).(JUSH=="mssql"?$of.$Vh:$Vh.$of).rtrim(" $M[Type]\n$M[Statement]",";").";";}function
create_routine($Mg,array$M){$Q=array();$n=(array)$M["fields"];ksort($n);foreach($n
as$m){if($m["field"]!="")$Q[]=(preg_match("~^(".driver()->inout.")\$~",$m["inout"])?"$m[inout] ":"").idf_escape($m["field"]).process_type($m,"CHARACTER SET");}$Kb=rtrim($M["definition"],";");return"CREATE $Mg ".idf_escape(trim($M["name"]))." (".implode(", ",$Q).")".($Mg=="FUNCTION"?" RETURNS".process_type($M["returns"],"CHARACTER SET"):"").($M["language"]?" LANGUAGE $M[language]":"").(JUSH=="pgsql"?" AS ".q($Kb):"\n$Kb;");}function
remove_definer($J){return
preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\1)',logged_user()).'`~','\1',$J);}function
format_foreign_key(array$p){$j=$p["db"];$ff=$p["ns"];return" FOREIGN KEY (".implode(", ",array_map('Adminer\idf_escape',$p["source"])).") REFERENCES ".($j!=""&&$j!=$_GET["db"]?idf_escape($j).".":"").($ff!=""&&$ff!=$_GET["ns"]?idf_escape($ff).".":"").idf_escape($p["table"])." (".implode(", ",array_map('Adminer\idf_escape',$p["target"])).")".(preg_match("~^(".driver()->onActions.")\$~",$p["on_delete"])?" ON DELETE $p[on_delete]":"").(preg_match("~^(".driver()->onActions.")\$~",$p["on_update"])?" ON UPDATE $p[on_update]":"").($p["deferrable"]?" $p[deferrable]":"");}function
tar_file($o,$ai){$L=pack("a100a8a8a8a12a12",$o,644,0,0,decoct($ai->size),decoct(time()));$Va=8*32;for($t=0;$t<strlen($L);$t++)$Va+=ord($L[$t]);$L
.=sprintf("%06o",$Va)."\0 ";echo$L,str_repeat("\0",512-strlen($L));$ai->send();echo
str_repeat("\0",511-($ai->size+511)%512);}function
doc_link(array$Xf,$Rh="<sup>?</sup>"){$ch=connection()->server_info;$Ki=preg_replace('~^(\d\.?\d).*~s','\1',$ch);$Ai=array('sql'=>"https://dev.mysql.com/doc/refman/$Ki/en/",'sqlite'=>"https://www.sqlite.org/",'pgsql'=>"https://www.postgresql.org/docs/".(connection()->flavor=='cockroach'?"current":$Ki)."/",'mssql'=>"https://learn.microsoft.com/en-us/sql/",'oracle'=>"https://www.oracle.com/pls/topic/lookup?ctx=db".preg_replace('~^.* (\d+)\.(\d+)\.\d+\.\d+\.\d+.*~s','\1\2',$ch)."&id=",);if(connection()->flavor=='maria'){$Ai['sql']="https://mariadb.com/kb/en/";$Xf['sql']=(isset($Xf['mariadb'])?$Xf['mariadb']:str_replace(".html","/",$Xf['sql']));}return($Xf[JUSH]?"<a href='".h($Ai[JUSH].$Xf[JUSH].(JUSH=='mssql'?"?view=sql-server-ver$Ki":""))."'".target_blank().">$Rh</a>":"");}function
db_size($j){if(!connection()->select_db($j))return"?";$L=0;foreach(table_status()as$S)$L+=$S["Data_length"]+$S["Index_length"];return
format_number($L);}function
set_utf8mb4($h){static$Q=false;if(!$Q&&preg_match('~\butf8mb4~i',$h)){$Q=true;echo"SET NAMES ".charset(connection()).";\n\n";}}if(isset($_GET["status"]))$_GET["variables"]=$_GET["status"];if(isset($_GET["import"]))$_GET["sql"]=$_GET["import"];if(!(DB!=""?connection()->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);}if(DB!=""){header("HTTP/1.1 404 Not Found");page_header(lang(29).": ".h(DB),lang(113),true);}else{if($_POST["db"]&&!$l)queries_redirect(substr(ME,0,-1),lang(114),drop_databases($_POST["db"]));page_header(lang(115),$l,false);echo"<p class='links'>\n";foreach(array('database'=>lang(116),'privileges'=>lang(63),'processlist'=>lang(117),'variables'=>lang(118),'status'=>lang(119),)as$z=>$X){if(support($z))echo"<a href='".h(ME)."$z='>$X</a>\n";}echo"<p>".lang(120,get_driver(DRIVER),"<b>".h(connection()->server_info)."</b>","<b>".connection()->extension."</b>")."\n","<p>".lang(121,"<b>".h(logged_user())."</b>")."\n";$i=adminer()->databases();if($i){$Sg=support("scheme");$b=collations();echo"<form action='' method='post'>\n","<table class='checkable odds'>\n",script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});"),"<thead><tr>".(support("database")?"<td>":"")."<th>".lang(29).(get_session("dbs")!==null?" - <a href='".h(ME)."refresh=1'>".lang(122)."</a>":"")."<td>".lang(123)."<td>".lang(124)."<td>".lang(125)." - <a href='".h(ME)."dbsize=1'>".lang(126)."</a>".script("qsl('a').onclick = partial(ajaxSetHtml, '".js_escape(ME)."script=connect');","")."</thead>\n";$i=($_GET["dbsize"]?count_tables($i):array_flip($i));foreach($i
as$j=>$T){$Lg=h(ME)."db=".urlencode($j);$u=h("Db-".$j);echo"<tr>".(support("database")?"<td>".checkbox("db[]",$j,in_array($j,(array)$_POST["db"]),"","","",$u):""),"<th><a href='$Lg' id='$u'>".h($j)."</a>";$cb=h(db_collation($j,$b));echo"<td>".(support("database")?"<a href='$Lg".($Sg?"&amp;ns=":"")."&amp;database=' title='".lang(59)."'>$cb</a>":$cb),"<td align='right'><a href='$Lg&amp;schema=' id='tables-".h($j)."' title='".lang(62)."'>".($_GET["dbsize"]?$T:"?")."</a>","<td align='right' id='size-".h($j)."'>".($_GET["dbsize"]?db_size($j):"?"),"\n";}echo"</table>\n",(support("database")?"<div class='footer'><div>\n"."<fieldset><legend>".lang(127)." <span id='selected'></span></legend><div>\n".input_hidden("all").script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^db/)); };")."<input type='submit' name='drop' value='".lang(128)."'>".confirm()."\n"."</div></fieldset>\n"."</div></div>\n":""),input_token(),"</form>\n",script("tableCheck();");}if(!empty(adminer()->plugins)){echo"<div class='plugins'>\n","<h3>".lang(129)."</h3>\n<ul>\n";foreach(adminer()->plugins
as$cg){$Ob=(method_exists($cg,'description')?$cg->description():"");if(!$Ob){$Cg=new
\ReflectionObject($cg);if(preg_match('~^/[\s*]+(.+)~',$Cg->getDocComment(),$C))$Ob=$C[1];}$Tg=(method_exists($cg,'screenshot')?$cg->screenshot():"");echo"<li><b>".get_class($cg)."</b>".h($Ob?": $Ob":"").($Tg?" (<a href='".h($Tg)."'".target_blank().">".lang(130)."</a>)":"")."\n";}echo"</ul>\n";adminer()->pluginsLinks();echo"</div>\n";}}page_footer("db");exit;}adminer()->afterConnect();class
TmpFile{private$handler;var$size;function
__construct(){$this->handler=tmpfile();}function
write($ob){$this->size+=strlen($ob);fwrite($this->handler,$ob);}function
send(){fseek($this->handler,0);fpassthru($this->handler);fclose($this->handler);}}if(isset($_GET["select"])&&($_POST["edit"]||$_POST["clone"])&&!$_POST["save"])$_GET["edit"]=$_GET["select"];if(isset($_GET["callf"]))$_GET["call"]=$_GET["callf"];if(isset($_GET["function"]))$_GET["procedure"]=$_GET["function"];if(isset($_GET["download"])){$a=$_GET["download"];$n=fields($a);header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$a-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));$O=array(idf_escape($_GET["field"]));$K=driver()->select($a,$O,array(where($_GET,$n)),$O);$M=($K?$K->fetch_row():array());echo
driver()->value($M[0],$n[$_GET["field"]]);exit;}elseif(isset($_GET["table"])){$a=$_GET["table"];$n=fields($a);if(!$n)$l=error()?:lang(11);$S=table_status1($a);$E=adminer()->tableName($S);page_header(($n&&is_view($S)?$S['Engine']=='materialized view'?lang(131):lang(132):lang(133)).": ".($E!=""?$E:h($a)),$l);$Kg=array();foreach($n
as$z=>$m)$Kg+=$m["privileges"];adminer()->selectLinks($S,(isset($Kg["insert"])||!support("table")?"":null));$gb=$S["Comment"];if($gb!="")echo"<p class='nowrap'>".lang(42).": ".h($gb)."\n";if($n)adminer()->tableStructurePrint($n,$S);function
tables_links(array$T){echo"<ul>\n";foreach($T
as$M){$A=preg_replace('~ns=[^&]*~',"ns=".urlencode($M["ns"]),ME);echo"<li><a href='".h($A."table=".urlencode($M["table"]))."'>".($M["ns"]!=$_GET["ns"]?"<b>".h($M["ns"])."</b>.":"").h($M["table"])."</a>";}echo"</ul>\n";}$Jd=driver()->inheritsFrom($a);if($Jd){echo"<h3>".lang(134)."</h3>\n";tables_links($Jd);}if(support("indexes")&&driver()->supportsIndex($S)){echo"<h3 id='indexes'>".lang(135)."</h3>\n";$x=indexes($a);if($x)adminer()->tableIndexesPrint($x,$S);echo'<p class="links"><a href="'.h(ME).'indexes='.urlencode($a).'">'.lang(136)."</a>\n";}if(!is_view($S)){if(fk_support($S)){echo"<h3 id='foreign-keys'>".lang(101)."</h3>\n";$Sc=foreign_keys($a);if($Sc){echo"<table>\n","<thead><tr><th>".lang(137)."<td>".lang(138)."<td>".lang(104)."<td>".lang(103)."<td></thead>\n";foreach($Sc
as$E=>$p){echo"<tr title='".h($E)."'>","<th><i>".implode("</i>, <i>",array_map('Adminer\h',$p["source"]))."</i>";$A=($p["db"]!=""?preg_replace('~db=[^&]*~',"db=".urlencode($p["db"]),ME):($p["ns"]!=""?preg_replace('~ns=[^&]*~',"ns=".urlencode($p["ns"]),ME):ME));echo"<td><a href='".h($A."table=".urlencode($p["table"]))."'>".($p["db"]!=""&&$p["db"]!=DB?"<b>".h($p["db"])."</b>.":"").($p["ns"]!=""&&$p["ns"]!=$_GET["ns"]?"<b>".h($p["ns"])."</b>.":"").h($p["table"])."</a>","(<i>".implode("</i>, <i>",array_map('Adminer\h',$p["target"]))."</i>)","<td>".h($p["on_delete"]),"<td>".h($p["on_update"]),'<td><a href="'.h(ME.'foreign='.urlencode($a).'&name='.urlencode($E)).'">'.lang(139).'</a>',"\n";}echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'foreign='.urlencode($a).'">'.lang(140)."</a>\n";}if(support("check")){echo"<h3 id='checks'>".lang(141)."</h3>\n";$Sa=driver()->checkConstraints($a);if($Sa){echo"<table>\n";foreach($Sa
as$z=>$X)echo"<tr title='".h($z)."'>","<td><code class='jush-".JUSH."'>".h($X),"<td><a href='".h(ME.'check='.urlencode($a).'&name='.urlencode($z))."'>".lang(139)."</a>","\n";echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'check='.urlencode($a).'">'.lang(142)."</a>\n";}}if(support(is_view($S)?"view_trigger":"trigger")){echo"<h3 id='triggers'>".lang(143)."</h3>\n";$li=triggers($a);if($li){echo"<table>\n";foreach($li
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($a).'&name='.urlencode($z))."'>".lang(139)."</a>\n";echo"</table>\n";}echo'<p class="links"><a href="'.h(ME).'trigger='.urlencode($a).'">'.lang(144)."</a>\n";}$Id=driver()->inheritedTables($a);if($Id){echo"<h3 id='partitions'>".lang(145)."</h3>\n";$Pf=driver()->partitionsInfo($a);if($Pf)echo"<p><code class='jush-".JUSH."'>BY ".h("$Pf[partition_by]($Pf[partition])")."</code>\n";tables_links($Id);}}elseif(isset($_GET["schema"])){page_header(lang(62),"",array(),h(DB.($_GET["ns"]?".$_GET[ns]":"")));$Gh=array();$Hh=array();$da=($_GET["schema"]?:$_COOKIE["adminer_schema-".str_replace(".","_",DB)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$da,$ze,PREG_SET_ORDER);foreach($ze
as$t=>$C){$Gh[$C[1]]=array($C[2],$C[3]);$Hh[]="\n\t'".js_escape($C[1])."': [ $C[2], $C[3] ]";}$di=0;$Da=-1;$Rg=array();$Bg=array();$ne=array();$oa=driver()->allFields();foreach(table_status('',true)as$R=>$S){if(is_view($S))continue;$fg=0;$Rg[$R]["fields"]=array();foreach($oa[$R]as$m){$fg+=1.25;$m["pos"]=$fg;$Rg[$R]["fields"][$m["field"]]=$m;}$Rg[$R]["pos"]=($Gh[$R]?:array($di,0));foreach(adminer()->foreignKeys($R)as$X){if(!$X["db"]){$le=$Da;if(idx($Gh[$R],1)||idx($Gh[$X["table"]],1))$le=min(idx($Gh[$R],1,0),idx($Gh[$X["table"]],1,0))-1;else$Da-=.1;while($ne[(string)$le])$le-=.0001;$Rg[$R]["references"][$X["table"]][(string)$le]=array($X["source"],$X["target"]);$Bg[$X["table"]][$R][(string)$le]=$X["target"];$ne[(string)$le]=true;}}$di=max($di,$Rg[$R]["pos"][0]+2.5+$fg);}echo'<div id="schema" style="height: ',$di,'em;">
<script',nonce(),'>
qs(\'#schema\').onselectstart = () => false;
const tablePos = {',implode(",",$Hh)."\n",'};
const em = qs(\'#schema\').offsetHeight / ',$di,';
document.onmousemove = schemaMousemove;
document.onmouseup = partialArg(schemaMouseup, \'',js_escape(DB),'\');
</script>
';foreach($Rg
as$E=>$R){echo"<div class='table' style='top: ".$R["pos"][0]."em; left: ".$R["pos"][1]."em;'>",'<a href="'.h(ME).'table='.urlencode($E).'"><b>'.h($E)."</b></a>",script("qsl('div').onmousedown = schemaMousedown;");foreach($R["fields"]as$m){$X='<span'.type_class($m["type"]).' title="'.h($m["type"].($m["length"]?"($m[length])":"").($m["null"]?" NULL":'')).'">'.h($m["field"]).'</span>';echo"<br>".($m["primary"]?"<i>$X</i>":$X);}foreach((array)$R["references"]as$Oh=>$Dg){foreach($Dg
as$le=>$zg){$me=$le-idx($Gh[$E],1);$t=0;foreach($zg[0]as$mh)echo"\n<div class='references' title='".h($Oh)."' id='refs$le-".($t++)."' style='left: $me"."em; top: ".$R["fields"][$mh]["pos"]."em; padding-top: .5em;'>"."<div style='border-top: 1px solid gray; width: ".(-$me)."em;'></div></div>";}}foreach((array)$Bg[$E]as$Oh=>$Dg){foreach($Dg
as$le=>$d){$me=$le-idx($Gh[$E],1);$t=0;foreach($d
as$Nh)echo"\n<div class='references arrow' title='".h($Oh)."' id='refd$le-".($t++)."' style='left: $me"."em; top: ".$R["fields"][$Nh]["pos"]."em;'>"."<div style='height: .5em; border-bottom: 1px solid gray; width: ".(-$me)."em;'></div>"."</div>";}}echo"\n</div>\n";}foreach($Rg
as$E=>$R){foreach((array)$R["references"]as$Oh=>$Dg){foreach($Dg
as$le=>$zg){$Qe=$di;$Ee=-10;foreach($zg[0]as$z=>$mh){$gg=$R["pos"][0]+$R["fields"][$mh]["pos"];$hg=$Rg[$Oh]["pos"][0]+$Rg[$Oh]["fields"][$zg[1][$z]]["pos"];$Qe=min($Qe,$gg,$hg);$Ee=max($Ee,$gg,$hg);}echo"<div class='references' id='refl$le' style='left: $le"."em; top: $Qe"."em; padding: .5em 0;'><div style='border-right: 1px solid gray; margin-top: 1px; height: ".($Ee-$Qe)."em;'></div></div>\n";}}}echo'</div>
<p class="links"><a href="',h(ME."schema=".urlencode($da)),'" id="schema-link">',lang(146),'</a>
';}elseif(isset($_GET["dump"])){$a=$_GET["dump"];if($_POST&&!$l){save_settings(array_intersect_key($_POST,array_flip(array("output","format","db_style","types","routines","events","table_style","auto_increment","triggers","data_style"))),"adminer_export");$T=array_flip((array)$_POST["tables"])+array_flip((array)$_POST["data"]);$zc=dump_headers((count($T)==1?key($T):DB),(DB==""||count($T)>1));$Wd=preg_match('~sql~',$_POST["format"]);if($Wd){echo"-- Adminer ".VERSION." ".get_driver(DRIVER)." ".str_replace("\n"," ",connection()->server_info)." dump\n\n";if(JUSH=="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';
":"")."
";connection()->query("SET time_zone = '+00:00'");connection()->query("SET sql_mode = ''");}}$zh=$_POST["db_style"];$i=array(DB);if(DB==""){$i=$_POST["databases"];if(is_string($i))$i=explode("\n",rtrim(str_replace("\r","",$i),"\n"));}foreach((array)$i
as$j){adminer()->dumpDatabase($j);if(connection()->select_db($j)){if($Wd){if($zh)echo
use_sql($j,$zh).";\n\n";$Hf="";if($_POST["types"]){foreach(types()as$u=>$U){$nc=type_values($u);if($nc)$Hf
.=($zh!='DROP+CREATE'?"DROP TYPE IF EXISTS ".idf_escape($U).";;\n":"")."CREATE TYPE ".idf_escape($U)." AS ENUM ($nc);\n\n";else$Hf
.="-- Could not export type $U\n\n";}}if($_POST["routines"]){foreach(routines()as$M){$E=$M["ROUTINE_NAME"];$Mg=$M["ROUTINE_TYPE"];$h=create_routine($Mg,array("name"=>$E)+routine($M["SPECIFIC_NAME"],$Mg));set_utf8mb4($h);$Hf
.=($zh!='DROP+CREATE'?"DROP $Mg IF EXISTS ".idf_escape($E).";;\n":"")."$h;\n\n";}}if($_POST["events"]){foreach(get_rows("SHOW EVENTS",null,"-- ")as$M){$h=remove_definer(get_val("SHOW CREATE EVENT ".idf_escape($M["Name"]),3));set_utf8mb4($h);$Hf
.=($zh!='DROP+CREATE'?"DROP EVENT IF EXISTS ".idf_escape($M["Name"]).";;\n":"")."$h;;\n\n";}}echo($Hf&&JUSH=='sql'?"DELIMITER ;;\n\n$Hf"."DELIMITER ;\n\n":$Hf);}if($_POST["table_style"]||$_POST["data_style"]){$Mi=array();foreach(table_status('',true)as$E=>$S){$R=(DB==""||in_array($E,(array)$_POST["tables"]));$Ab=(DB==""||in_array($E,(array)$_POST["data"]));if($R||$Ab){$ai=null;if($zc=="tar"){$ai=new
TmpFile;ob_start(array($ai,'write'),1e5);}adminer()->dumpTable($E,($R?$_POST["table_style"]:""),(is_view($S)?2:0));if(is_view($S))$Mi[]=$E;elseif($Ab){$n=fields($E);adminer()->dumpData($E,$_POST["data_style"],"SELECT *".convert_fields($n,$n)." FROM ".table($E));}if($Wd&&$_POST["triggers"]&&$R&&($li=trigger_sql($E)))echo"\nDELIMITER ;;\n$li\nDELIMITER ;\n";if($zc=="tar"){ob_end_flush();tar_file((DB!=""?"":"$j/")."$E.csv",$ai);}elseif($Wd)echo"\n";}}if(function_exists('Adminer\foreign_keys_sql')){foreach(table_status('',true)as$E=>$S){$R=(DB==""||in_array($E,(array)$_POST["tables"]));if($R&&!is_view($S))echo
foreign_keys_sql($E);}}foreach($Mi
as$Li)adminer()->dumpTable($Li,$_POST["table_style"],1);if($zc=="tar")echo
pack("x512");}}}adminer()->dumpFooter();exit;}page_header(lang(68),$l,($_GET["export"]!=""?array("table"=>$_GET["export"]):array()),h(DB));echo'
<form action="" method="post">
<table class="layout">
';$Eb=array('','USE','DROP+CREATE','CREATE');$Ih=array('','DROP+CREATE','CREATE');$Bb=array('','TRUNCATE+INSERT','INSERT');if(JUSH=="sql")$Bb[]='INSERT+UPDATE';$M=get_settings("adminer_export");if(!$M)$M=array("output"=>"text","format"=>"sql","db_style"=>(DB!=""?"":"CREATE"),"table_style"=>"DROP+CREATE","data_style"=>"INSERT");if(!isset($M["events"])){$M["routines"]=$M["events"]=($_GET["dump"]=="");$M["triggers"]=$M["table_style"];}echo"<tr><th>".lang(147)."<td>".html_radios("output",adminer()->dumpOutput(),$M["output"])."\n","<tr><th>".lang(148)."<td>".html_radios("format",adminer()->dumpFormat(),$M["format"])."\n",(JUSH=="sqlite"?"":"<tr><th>".lang(29)."<td>".html_select('db_style',$Eb,$M["db_style"]).(support("type")?checkbox("types",1,$M["types"],lang(6)):"").(support("routine")?checkbox("routines",1,$M["routines"],lang(64)):"").(support("event")?checkbox("events",1,$M["events"],lang(66)):"")),"<tr><th>".lang(124)."<td>".html_select('table_style',$Ih,$M["table_style"]).checkbox("auto_increment",1,$M["auto_increment"],lang(43)).(support("trigger")?checkbox("triggers",1,$M["triggers"],lang(143)):""),"<tr><th>".lang(149)."<td>".html_select('data_style',$Bb,$M["data_style"]),'</table>
<p><input type="submit" value="',lang(68),'">
',input_token(),'
<table>
',script("qsl('table').onclick = dumpClick;");$lg=array();if(DB!=""){$Ta=($a!=""?"":" checked");echo"<thead><tr>","<th style='text-align: left;'><label class='block'><input type='checkbox' id='check-tables'$Ta>".lang(124)."</label>".script("qs('#check-tables').onclick = partial(formCheck, /^tables\\[/);",""),"<th style='text-align: right;'><label class='block'>".lang(149)."<input type='checkbox' id='check-data'$Ta></label>".script("qs('#check-data').onclick = partial(formCheck, /^data\\[/);",""),"</thead>\n";$Mi="";$Kh=tables_list();foreach($Kh
as$E=>$U){$kg=preg_replace('~_.*~','',$E);$Ta=($a==""||$a==(substr($a,-1)=="%"?"$kg%":$E));$ng="<tr><td>".checkbox("tables[]",$E,$Ta,$E,"","block");if($U!==null&&!preg_match('~table~i',$U))$Mi
.="$ng\n";else
echo"$ng<td align='right'><label class='block'><span id='Rows-".h($E)."'></span>".checkbox("data[]",$E,$Ta)."</label>\n";$lg[$kg]++;}echo$Mi;if($Kh)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'".($a==""?" checked":"").">".lang(29)."</label>",script("qs('#check-databases').onclick = partial(formCheck, /^databases\\[/);",""),"</thead>\n";$i=adminer()->databases();if($i){foreach($i
as$j){if(!information_schema($j)){$kg=preg_replace('~_.*~','',$j);echo"<tr><td>".checkbox("databases[]",$j,$a==""||$a=="$kg%",$j,"","block")."\n";$lg[$kg]++;}}}else
echo"<tr><td><textarea name='databases' rows='10' cols='20'></textarea>";}echo'</table>
</form>
';$Lc=true;foreach($lg
as$z=>$X){if($z!=""&&$X>1){echo($Lc?"<p>":" ")."<a href='".h(ME)."dump=".urlencode("$z%")."'>".h($z)."</a>";$Lc=false;}}}elseif(isset($_GET["privileges"])){page_header(lang(63));echo'<p class="links"><a href="'.h(ME).'user=">'.lang(150)."</a>";$K=connection()->query("SELECT User, Host FROM mysql.".(DB==""?"user":"db WHERE ".q(DB)." LIKE Db")." ORDER BY Host, User");$bd=$K;if(!$K)$K=connection()->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_hidden("db",DB),($bd?"":input_hidden("grant")),"<table class='odds'>\n","<thead><tr><th>".lang(27)."<th>".lang(25)."<th></thead>\n";while($M=$K->fetch_assoc())echo'<tr><td>'.h($M["User"])."<td>".h($M["Host"]).'<td><a href="'.h(ME.'user='.urlencode($M["User"]).'&host='.urlencode($M["Host"])).'">'.lang(12)."</a>\n";if(!$bd||DB!="")echo"<tr><td><input name='user' autocapitalize='off'><td><input name='host' value='localhost' autocapitalize='off'><td><input type='submit' value='".lang(12)."'>\n";echo"</table>\n","</form>\n";}elseif(isset($_GET["sql"])){if(!$l&&$_POST["export"]){save_settings(array("output"=>$_POST["output"],"format"=>$_POST["format"]),"adminer_import");dump_headers("sql");if($_POST["format"]=="sql")echo"$_POST[query]\n";else{adminer()->dumpTable("","");adminer()->dumpData("","table",$_POST["query"]);adminer()->dumpFooter();}exit;}restart_session();$qd=&get_session("queries");$pd=&$qd[DB];if(!$l&&$_POST["clear"]){$pd=array();redirect(remove_from_uri("history"));}stop_session();page_header((isset($_GET["import"])?lang(67):lang(56)),$l);$se='--'.(JUSH=='sql'?' ':'');if(!$l&&$_POST){$q=false;if(!isset($_GET["import"]))$J=$_POST["query"];elseif($_POST["webfile"]){$ph=adminer()->importServerPath();$q=@fopen((file_exists($ph)?$ph:"compress.zlib://$ph.gz"),"rb");$J=($q?fread($q,1e6):false);}else$J=get_file("sql_file",true,";");if(is_string($J)){if(function_exists('memory_get_usage')&&($Je=ini_bytes("memory_limit"))!="-1")@ini_set("memory_limit",max($Je,strval(2*strlen($J)+memory_get_usage()+8e6)));if($J!=""&&strlen($J)<1e6){$I=$J.(preg_match("~;[ \t\r\n]*\$~",$J)?"":";");if(!$pd||first(end($pd))!=$I){restart_session();$pd[]=array($I,time());set_session("queries",$qd);stop_session();}}$nh="(?:\\s|/\\*[\s\S]*?\\*/|(?:#|$se)[^\n]*\n?|--\r?\n)";$Mb=driver()->delimiter;$if=0;$ic=true;$g=connect();if($g&&DB!=""){$g->select_db(DB);if($_GET["ns"]!="")set_schema($_GET["ns"],$g);}$fb=0;$pc=array();$Nf='[\'"'.(JUSH=="sql"?'`#':(JUSH=="sqlite"?'`[':(JUSH=="mssql"?'[':''))).']|/\*|'.$se.'|$'.(JUSH=="pgsql"?'|\$([a-zA-Z]\w*)?\$':'');$ei=microtime(true);$ja=get_settings("adminer_import");while($J!=""){if(!$if&&preg_match("~^$nh*+DELIMITER\\s+(\\S+)~i",$J,$C)){$Mb=preg_quote($C[1]);$J=substr($J,strlen($C[0]));}elseif(!$if&&JUSH=='pgsql'&&preg_match("~^($nh*+COPY\\s+)[^;]+\\s+FROM\\s+stdin;~i",$J,$C)){$Mb="\n\\\\\\.\r?\n";$if=strlen($C[0]);}else{preg_match("($Mb\\s*|$Nf)",$J,$C,PREG_OFFSET_CAPTURE,$if);list($Uc,$fg)=$C[0];if(!$Uc&&$q&&!feof($q))$J
.=fread($q,1e5);else{if(!$Uc&&rtrim($J)=="")break;$if=$fg+strlen($Uc);if($Uc&&!preg_match("(^$Mb)",$Uc)){$Ma=driver()->hasCStyleEscapes()||(JUSH=="pgsql"&&($fg>0&&strtolower($J[$fg-1])=="e"));$Yf=($Uc=='/*'?'\*/':($Uc=='['?']':(preg_match("~^$se|^#~",$Uc)?"\n":preg_quote($Uc).($Ma?'|\\\\.':''))));while(preg_match("($Yf|\$)s",$J,$C,PREG_OFFSET_CAPTURE,$if)){$Pg=$C[0][0];if(!$Pg&&$q&&!feof($q))$J
.=fread($q,1e5);else{$if=$C[0][1]+strlen($Pg);if(!$Pg||$Pg[0]!="\\")break;}}}else{$ic=false;$I=substr($J,0,$fg+($Mb[0]=="\n"?3:0));$fb++;$ng="<pre id='sql-$fb'><code class='jush-".JUSH."'>".adminer()->sqlCommandQuery($I)."</code></pre>\n";if(JUSH=="sqlite"&&preg_match("~^$nh*+ATTACH\\b~i",$I,$C)){echo$ng,"<p class='error'>".lang(151)."\n";$pc[]=" <a href='#sql-$fb'>$fb</a>";if($_POST["error_stops"])break;}else{if(!$_POST["only_errors"]){echo$ng;ob_flush();flush();}$th=microtime(true);if(connection()->multi_query($I)&&$g&&preg_match("~^$nh*+USE\\b~i",$I))$g->query($I);do{$K=connection()->store_result();if(connection()->error){echo($_POST["only_errors"]?$ng:""),"<p class='error'>".lang(152).(connection()->errno?" (".connection()->errno.")":"").": ".error()."\n";$pc[]=" <a href='#sql-$fb'>$fb</a>";if($_POST["error_stops"])break
2;}else{$Th=" <span class='time'>(".format_time($th).")</span>".(strlen($I)<1000?" <a href='".h(ME)."sql=".urlencode(trim($I))."'>".lang(12)."</a>":"");$la=connection()->affected_rows;$Pi=($_POST["only_errors"]?"":driver()->warnings());$Qi="warnings-$fb";if($Pi)$Th
.=", <a href='#$Qi'>".lang(38)."</a>".script("qsl('a').onclick = partial(toggle, '$Qi');","");$xc=null;$Af=null;$yc="explain-$fb";if(is_object($K)){$_=$_POST["limit"];$Af=print_select_result($K,$g,array(),$_);if(!$_POST["only_errors"]){echo"<form action='' method='post'>\n";$gf=$K->num_rows;echo"<p class='sql-footer'>".($gf?($_&&$gf>$_?lang(153,$_):"").lang(154,$gf):""),$Th;if($g&&preg_match("~^($nh|\\()*+SELECT\\b~i",$I)&&($xc=explain($g,$I)))echo", <a href='#$yc'>Explain</a>".script("qsl('a').onclick = partial(toggle, '$yc');","");$u="export-$fb";echo", <a href='#$u'>".lang(68)."</a>".script("qsl('a').onclick = partial(toggle, '$u');","")."<span id='$u' class='hidden'>: ".html_select("output",adminer()->dumpOutput(),$ja["output"])." ".html_select("format",adminer()->dumpFormat(),$ja["format"]).input_hidden("query",$I)."<input type='submit' name='export' value='".lang(68)."'>".input_token()."</span>\n"."</form>\n";}}else{if(preg_match("~^$nh*+(CREATE|DROP|ALTER)$nh++(DATABASE|SCHEMA)\\b~i",$I)){restart_session();set_session("dbs",null);stop_session();}if(!$_POST["only_errors"])echo"<p class='message' title='".h(connection()->info)."'>".lang(155,$la)."$Th\n";}echo($Pi?"<div id='$Qi' class='hidden'>\n$Pi</div>\n":"");if($xc){echo"<div id='$yc' class='hidden explain'>\n";print_select_result($xc,$g,$Af);echo"</div>\n";}}$th=microtime(true);}while(connection()->next_result());}$J=substr($J,$if);$if=0;}}}}if($ic)echo"<p class='message'>".lang(156)."\n";elseif($_POST["only_errors"])echo"<p class='message'>".lang(157,$fb-count($pc))," <span class='time'>(".format_time($ei).")</span>\n";elseif($pc&&$fb>1)echo"<p class='error'>".lang(152).": ".implode("",$pc)."\n";}else
echo"<p class='error'>".upload_error($J)."\n";}echo'
<form action="" method="post" enctype="multipart/form-data" id="form">
';$vc="<input type='submit' value='".lang(158)."' title='Ctrl+Enter'>";if(!isset($_GET["import"])){$I=$_GET["sql"];if($_POST)$I=$_POST["query"];elseif($_GET["history"]=="all")$I=$pd;elseif($_GET["history"]!="")$I=idx($pd[$_GET["history"]],0);echo"<p>";textarea("query",$I,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>";adminer()->sqlPrintAfter();echo"$vc\n",lang(159).": <input type='number' name='limit' class='size' value='".h($_POST?$_POST["limit"]:$_GET["limit"])."'>\n";}else{$gd=(extension_loaded("zlib")?"[.gz]":"");echo"<fieldset><legend>".lang(160)."</legend><div>",file_input("SQL$gd: <input type='file' name='sql_file[]' multiple>\n$vc"),"</div></fieldset>\n";$_d=adminer()->importServerPath();if($_d)echo"<fieldset><legend>".lang(161)."</legend><div>",lang(162,"<code>".h($_d)."$gd</code>"),' <input type="submit" name="webfile" value="'.lang(163).'">',"</div></fieldset>\n";echo"<p>";}echo
checkbox("error_stops",1,($_POST?$_POST["error_stops"]:isset($_GET["import"])||$_GET["error_stops"]),lang(164))."\n",checkbox("only_errors",1,($_POST?$_POST["only_errors"]:isset($_GET["import"])||$_GET["only_errors"]),lang(165))."\n",input_token();if(!isset($_GET["import"])&&$pd){print_fieldset("history",lang(166),$_GET["history"]!="");for($X=end($pd);$X;$X=prev($pd)){$z=key($pd);list($I,$Th,$dc)=$X;echo'<a href="'.h(ME."sql=&history=$z").'">'.lang(12)."</a>"." <span class='time' title='".@date('Y-m-d',$Th)."'>".@date("H:i:s",$Th)."</span>"." <code class='jush-".JUSH."'>".shorten_utf8(ltrim(str_replace("\n"," ",str_replace("\r","",preg_replace("~^(#|$se).*~m",'',$I)))),80,"</code>").($dc?" <span class='time'>($dc)</span>":"")."<br>\n";}echo"<input type='submit' name='clear' value='".lang(167)."'>\n","<a href='".h(ME."sql=&history=all")."'>".lang(168)."</a>\n","</div></fieldset>\n";}echo'</form>
';}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$n=fields($a);$Z=(isset($_GET["select"])?($_POST["check"]&&count($_POST["check"])==1?where_check($_POST["check"][0],$n):""):where($_GET,$n));$wi=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($n
as$E=>$m){if((!$wi&&!isset($m["privileges"]["insert"]))||adminer()->fieldName($m)=="")unset($n[$E]);}if($_POST&&!$l&&!isset($_GET["select"])){$B=$_POST["referer"];if($_POST["insert"])$B=($wi?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$B))$B=ME."select=".urlencode($a);$x=indexes($a);$ri=unique_array($_GET["where"],$x);$vg="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($B,lang(169),driver()->delete($a,$vg,$ri?0:1));else{$Q=array();foreach($n
as$E=>$m){$X=process_input($m);if($X!==false&&$X!==null)$Q[idf_escape($E)]=$X;}if($wi){if(!$Q)redirect($B);queries_redirect($B,lang(170),driver()->update($a,$Q,$vg,$ri?0:1));if(is_ajax()){page_headers();page_messages($l);exit;}}else{$K=driver()->insert($a,$Q);$ke=($K?last_id($K):0);queries_redirect($B,lang(171,($ke?" $ke":"")),$K);}}}$M=null;if($Z){$O=array();foreach($n
as$E=>$m){if(isset($m["privileges"]["select"])){$ta=($_POST["clone"]&&$m["auto_increment"]?"''":convert_field($m));$O[]=($ta?"$ta AS ":"").idf_escape($E);}}$M=array();if(!support("table"))$O=array("*");if($O){$K=driver()->select($a,$O,array($Z),$O,array(),(isset($_GET["select"])?2:1));if(!$K)$l=error();else{$M=$K->fetch_assoc();if(!$M)$M=false;}if(isset($_GET["select"])&&(!$M||$K->fetch_assoc()))$M=null;}}if(!support("table")&&!$n){if(!$Z){$K=driver()->select($a,array("*"),array(),array("*"));$M=($K?$K->fetch_assoc():false);if(!$M)$M=array(driver()->primary=>"");}if($M){foreach($M
as$z=>$X){if(!$Z)$M[$z]=null;$n[$z]=array("field"=>$z,"null"=>($z!=driver()->primary),"auto_increment"=>($z==driver()->primary));}}}if($_POST["save"])$M=(array)$_POST["fields"]+($M?$M:array());edit_form($a,$n,$M,$wi,$l);}elseif(isset($_GET["create"])){$a=$_GET["create"];$Rf=driver()->partitionBy;$Vf=($Rf?driver()->partitionsInfo($a):array());$Ag=referencable_primary($a);$Sc=array();foreach($Ag
as$Fh=>$m)$Sc[str_replace("`","``",$Fh)."`".str_replace("`","``",$m["field"])]=$Fh;$Df=array();$S=array();if($a!=""){$Df=fields($a);$S=table_status1($a);if(count($S)<2)$l=lang(11);}$M=$_POST;$M["fields"]=(array)$M["fields"];if($M["auto_increment_col"])$M["fields"][$M["auto_increment_col"]]["auto_increment"]=true;if($_POST)save_settings(array("comments"=>$_POST["comments"],"defaults"=>$_POST["defaults"]));if($_POST&&!process_fields($M["fields"])&&!$l){if($_POST["drop"])queries_redirect(substr(ME,0,-1),lang(172),drop_tables(array($a)));else{$n=array();$oa=array();$Bi=false;$Qc=array();$Cf=reset($Df);$na=" FIRST";foreach($M["fields"]as$z=>$m){$p=$Sc[$m["type"]];$ni=($p!==null?$Ag[$p]:$m);if($m["field"]!=""){if(!$m["generated"])$m["default"]=null;$sg=process_field($m,$ni);$oa[]=array($m["orig"],$sg,$na);if(!$Cf||$sg!==process_field($Cf,$Cf)){$n[]=array($m["orig"],$sg,$na);if($m["orig"]!=""||$na)$Bi=true;}if($p!==null)$Qc[idf_escape($m["field"])]=($a!=""&&JUSH!="sqlite"?"ADD":" ").format_foreign_key(array('table'=>$Sc[$m["type"]],'source'=>array($m["field"]),'target'=>array($ni["field"]),'on_delete'=>$m["on_delete"],));$na=" AFTER ".idf_escape($m["field"]);}elseif($m["orig"]!=""){$Bi=true;$n[]=array($m["orig"]);}if($m["orig"]!=""){$Cf=next($Df);if(!$Cf)$na="";}}$Tf=array();if(in_array($M["partition_by"],$Rf)){foreach($M
as$z=>$X){if(preg_match('~^partition~',$z))$Tf[$z]=$X;}foreach($Tf["partition_names"]as$z=>$E){if($E==""){unset($Tf["partition_names"][$z]);unset($Tf["partition_values"][$z]);}}$Tf["partition_names"]=array_values($Tf["partition_names"]);$Tf["partition_values"]=array_values($Tf["partition_values"]);if($Tf==$Vf)$Tf=array();}elseif(preg_match("~partitioned~",$S["Create_options"]))$Tf=null;$D=lang(173);if($a==""){cookie("adminer_engine",$M["Engine"]);$D=lang(174);}$E=trim($M["name"]);queries_redirect(ME.(support("table")?"table=":"select=").urlencode($E),$D,alter_table($a,$E,(JUSH=="sqlite"&&($Bi||$Qc)?$oa:$n),$Qc,($M["Comment"]!=$S["Comment"]?$M["Comment"]:null),($M["Engine"]&&$M["Engine"]!=$S["Engine"]?$M["Engine"]:""),($M["Collation"]&&$M["Collation"]!=$S["Collation"]?$M["Collation"]:""),($M["Auto_increment"]!=""?number($M["Auto_increment"]):""),$Tf));}}page_header(($a!=""?lang(36):lang(69)),$l,array("table"=>$a),h($a));if(!$_POST){$oi=driver()->types();$M=array("Engine"=>$_COOKIE["adminer_engine"],"fields"=>array(array("field"=>"","type"=>(isset($oi["int"])?"int":(isset($oi["integer"])?"integer":"")),"on_update"=>"")),"partition_names"=>array(""),);if($a!=""){$M=$S;$M["name"]=$a;$M["fields"]=array();if(!$_GET["auto_increment"])$M["Auto_increment"]="";foreach($Df
as$m){$m["generated"]=$m["generated"]?:(isset($m["default"])?"DEFAULT":"");$M["fields"][]=$m;}if($Rf){$M+=$Vf;$M["partition_names"][]="";$M["partition_values"][]="";}}}$b=collations();if(is_array(reset($b)))$b=call_user_func_array('array_merge',array_values($b));$kc=driver()->engines();foreach($kc
as$jc){if(!strcasecmp($jc,$M["Engine"])){$M["Engine"]=$jc;break;}}echo'
<form action="" method="post" id="form">
<p>
';if(support("columns")||$a==""){echo
lang(175).": <input name='name'".($a==""&&!$_POST?" autofocus":"")." data-maxlength='64' value='".h($M["name"])."' autocapitalize='off'>\n",($kc?html_select("Engine",array(""=>"(".lang(176).")")+$kc,$M["Engine"]).on_help("event.target.value",1).script("qsl('select').onchange = helpClose;")."\n":"");if($b)echo"<datalist id='collations'>".optionlist($b)."</datalist>\n",(preg_match("~sqlite|mssql~",JUSH)?"":"<input list='collations' name='Collation' value='".h($M["Collation"])."' placeholder='(".lang(102).")'>\n");echo"<input type='submit' value='".lang(16)."'>\n";}if(support("columns")){echo"<div class='scrollable'>\n","<table id='edit-fields' class='nowrap'>\n";edit_fields($M["fields"],$b,"TABLE",$Sc);echo"</table>\n",script("editFields();"),"</div>\n<p>\n",lang(43).": <input type='number' name='Auto_increment' class='size' value='".h($M["Auto_increment"])."'>\n",checkbox("defaults",1,($_POST?$_POST["defaults"]:get_setting("defaults")),lang(177),"columnShow(this.checked, 5)","jsonly");$ib=($_POST?$_POST["comments"]:get_setting("comments"));echo(support("comment")?checkbox("comments",1,$ib,lang(42),"editingCommentsClick(this, true);","jsonly").' '.(preg_match('~\n~',$M["Comment"])?"<textarea name='Comment' rows='2' cols='20'".($ib?"":" class='hidden'").">".h($M["Comment"])."</textarea>":'<input name="Comment" value="'.h($M["Comment"]).'" data-maxlength="'.(min_version(5.5)?2048:60).'"'.($ib?"":" class='hidden'").'>'):''),'<p>
<input type="submit" value="',lang(16),'">
';}echo'
';if($a!="")echo'<input type="submit" name="drop" value="',lang(128),'">',confirm(lang(178,$a));if($Rf&&(JUSH=='sql'||$a=="")){$Sf=preg_match('~RANGE|LIST~',$M["partition_by"]);print_fieldset("partition",lang(179),$M["partition_by"]);echo"<p>".html_select("partition_by",array_merge(array(""),$Rf),$M["partition_by"]).on_help("event.target.value.replace(/./, 'PARTITION BY \$&')",1).script("qsl('select').onchange = partitionByChange;"),"(<input name='partition' value='".h($M["partition"])."'>)\n",lang(180).": <input type='number' name='partitions' class='size".($Sf||!$M["partition_by"]?" hidden":"")."' value='".h($M["partitions"])."'>\n","<table id='partition-table'".($Sf?"":" class='hidden'").">\n","<thead><tr><th>".lang(181)."<th>".lang(182)."</thead>\n";foreach($M["partition_names"]as$z=>$X)echo'<tr>','<td><input name="partition_names[]" value="'.h($X).'" autocapitalize="off">',($z==count($M["partition_names"])-1?script("qsl('input').oninput = partitionNameChange;"):''),'<td><input name="partition_values[]" value="'.h(idx($M["partition_values"],$z)).'">';echo"</table>\n</div></fieldset>\n";}echo
input_token(),'</form>
';}elseif(isset($_GET["indexes"])){$a=$_GET["indexes"];$Gd=array("PRIMARY","UNIQUE","INDEX");$S=table_status1($a,true);$Ed=driver()->indexAlgorithms($S);if(preg_match('~MyISAM|M?aria'.(min_version(5.6,'10.0.5')?'|InnoDB':'').'~i',$S["Engine"]))$Gd[]="FULLTEXT";if(preg_match('~MyISAM|M?aria'.(min_version(5.7,'10.2.2')?'|InnoDB':'').'~i',$S["Engine"]))$Gd[]="SPATIAL";$x=indexes($a);$n=fields($a);$mg=array();if(JUSH=="mongo"){$mg=$x["_id_"];unset($Gd[0]);unset($x["_id_"]);}$M=$_POST;if($M)save_settings(array("index_options"=>$M["options"]));if($_POST&&!$l&&!$_POST["add"]&&!$_POST["drop_col"]){$pa=array();foreach($M["indexes"]as$w){$E=$w["name"];if(in_array($w["type"],$Gd)){$d=array();$qe=array();$Pb=array();$Fd=(support("partial_indexes")?$w["partial"]:"");$Dd=(in_array($w["algorithm"],$Ed)?$w["algorithm"]:"");$Q=array();ksort($w["columns"]);foreach($w["columns"]as$z=>$c){if($c!=""){$pe=idx($w["lengths"],$z);$Nb=idx($w["descs"],$z);$Q[]=($n[$c]?idf_escape($c):$c).($pe?"(".(+$pe).")":"").($Nb?" DESC":"");$d[]=$c;$qe[]=($pe?:null);$Pb[]=$Nb;}}$wc=$x[$E];if($wc){ksort($wc["columns"]);ksort($wc["lengths"]);ksort($wc["descs"]);if($w["type"]==$wc["type"]&&array_values($wc["columns"])===$d&&(!$wc["lengths"]||array_values($wc["lengths"])===$qe)&&array_values($wc["descs"])===$Pb&&$wc["partial"]==$Fd&&(!$Ed||$wc["algorithm"]==$Dd)){unset($x[$E]);continue;}}if($d)$pa[]=array($w["type"],$E,$Q,$Dd,$Fd);}}foreach($x
as$E=>$wc)$pa[]=array($wc["type"],$E,"DROP");if(!$pa)redirect(ME."table=".urlencode($a));queries_redirect(ME."table=".urlencode($a),lang(183),alter_indexes($a,$pa));}page_header(lang(135),$l,array("table"=>$a),h($a));$Ic=array_keys($n);if($_POST["add"]){foreach($M["indexes"]as$z=>$w){if($w["columns"][count($w["columns"])]!="")$M["indexes"][$z]["columns"][]="";}$w=end($M["indexes"]);if($w["type"]||array_filter($w["columns"],'strlen'))$M["indexes"][]=array("columns"=>array(1=>""));}if(!$M){foreach($x
as$z=>$w){$x[$z]["name"]=$z;$x[$z]["columns"][]="";}$x[]=array("columns"=>array(1=>""));$M["indexes"]=$x;}$qe=(JUSH=="sql"||JUSH=="mssql");$hh=($_POST?$_POST["options"]:get_setting("index_options"));echo'
<form action="" method="post">
<div class="scrollable">
<table class="nowrap">
<thead><tr>
<th id="label-type">',lang(184);$yd=" class='idxopts".($hh?"":" hidden")."'";if($Ed)echo"<th id='label-algorithm'$yd>".lang(185).doc_link(array('sql'=>'create-index.html#create-index-storage-engine-index-types','mariadb'=>'storage-engine-index-types/',));echo'<th><input type="submit" class="wayoff">',lang(186).($qe?"<span$yd> (".lang(187).")</span>":"");if($qe||support("descidx"))echo
checkbox("options",1,$hh,lang(108),"indexOptionsShow(this.checked)","jsonly")."\n";echo'<th id="label-name">',lang(188);if(support("partial_indexes"))echo"<th id='label-condition'$yd>".lang(189);echo'<th><noscript>',icon("plus","add[0]","+",lang(109)),'</noscript>
</thead>
';if($mg){echo"<tr><td>PRIMARY<td>";foreach($mg["columns"]as$z=>$c)echo
select_input(" disabled",$Ic,$c),"<label><input disabled type='checkbox'>".lang(51)."</label> ";echo"<td><td>\n";}$y=1;foreach($M["indexes"]as$w){if(!$_POST["drop_col"]||$y!=key($_POST["drop_col"])){echo"<tr><td>".html_select("indexes[$y][type]",array(-1=>"")+$Gd,$w["type"],($y==count($M["indexes"])?"indexesAddRow.call(this);":""),"label-type");if($Ed)echo"<td$yd>".html_select("indexes[$y][algorithm]",array_merge(array(""),$Ed),$w['algorithm'],"label-algorithm");echo"<td>";ksort($w["columns"]);$t=1;foreach($w["columns"]as$z=>$c){echo"<span>".select_input(" name='indexes[$y][columns][$t]' title='".lang(40)."'",($n&&($c==""||$n[$c])?array_combine($Ic,$Ic):array()),$c,"partial(".($t==count($w["columns"])?"indexesAddColumn":"indexesChangeColumn").", '".js_escape(JUSH=="sql"?"":$_GET["indexes"]."_")."')"),"<span$yd>",($qe?"<input type='number' name='indexes[$y][lengths][$t]' class='size' value='".h(idx($w["lengths"],$z))."' title='".lang(107)."'>":""),(support("descidx")?checkbox("indexes[$y][descs][$t]",1,idx($w["descs"],$z),lang(51)):""),"</span> </span>";$t++;}echo"<td><input name='indexes[$y][name]' value='".h($w["name"])."' autocapitalize='off' aria-labelledby='label-name'>\n";if(support("partial_indexes"))echo"<td$yd><input name='indexes[$y][partial]' value='".h($w["partial"])."' autocapitalize='off' aria-labelledby='label-condition'>\n";echo"<td>".icon("cross","drop_col[$y]","x",lang(112)).script("qsl('button').onclick = partial(editingRemoveRow, 'indexes\$1[type]');");}$y++;}echo'</table>
</div>
<p>
<input type="submit" value="',lang(16),'">
',input_token(),'</form>
';}elseif(isset($_GET["database"])){$M=$_POST;if($_POST&&!$l&&!$_POST["add"]){$E=trim($M["name"]);if($_POST["drop"]){$_GET["db"]="";queries_redirect(remove_from_uri("db|database"),lang(190),drop_databases(array(DB)));}elseif(DB!==$E){if(DB!=""){$_GET["db"]=$E;queries_redirect(preg_replace('~\bdb=[^&]*&~','',ME)."db=".urlencode($E),lang(191),rename_database($E,$M["collation"]));}else{$i=explode("\n",str_replace("\r","",$E));$_h=true;$je="";foreach($i
as$j){if(count($i)==1||$j!=""){if(!create_database($j,$M["collation"]))$_h=false;$je=$j;}}restart_session();set_session("dbs",null);queries_redirect(ME."db=".urlencode($je),lang(192),$_h);}}else{if(!$M["collation"])redirect(substr(ME,0,-1));query_redirect("ALTER DATABASE ".idf_escape($E).(preg_match('~^[a-z0-9_]+$~i',$M["collation"])?" COLLATE $M[collation]":""),substr(ME,0,-1),lang(193));}}page_header(DB!=""?lang(59):lang(116),$l,array(),h(DB));$b=collations();$E=DB;if($_POST)$E=$M["name"];elseif(DB!="")$M["collation"]=db_collation(DB,$b);elseif(JUSH=="sql"){foreach(get_vals("SHOW GRANTS")as$bd){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\.\*)?~',$bd,$C)&&$C[1]){$E=stripcslashes(idf_unescape("`$C[2]`"));break;}}}echo'
<form action="" method="post">
<p>
',($_POST["add"]||strpos($E,"\n")?'<textarea autofocus name="name" rows="10" cols="40">'.h($E).'</textarea><br>':'<input name="name" autofocus value="'.h($E).'" data-maxlength="64" autocapitalize="off">')."\n".($b?html_select("collation",array(""=>"(".lang(102).")")+$b,$M["collation"]).doc_link(array('sql'=>"charset-charsets.html",'mariadb'=>"supported-character-sets-and-collations/",)):""),'<input type="submit" value="',lang(16),'">
';if(DB!="")echo"<input type='submit' name='drop' value='".lang(128)."'>".confirm(lang(178,DB))."\n";elseif(!$_POST["add"]&&$_GET["db"]=="")echo
icon("plus","add[0]","+",lang(109))."\n";echo
input_token(),'</form>
';}elseif(isset($_GET["call"])){$ca=($_GET["name"]?:$_GET["call"]);page_header(lang(194).": ".h($ca),$l);$Mg=routine($_GET["call"],(isset($_GET["callf"])?"FUNCTION":"PROCEDURE"));$Ad=array();$Hf=array();foreach($Mg["fields"]as$t=>$m){if(substr($m["inout"],-3)=="OUT"&&JUSH=='sql')$Hf[$t]="@".idf_escape($m["field"])." AS ".idf_escape($m["field"]);if(!$m["inout"]||substr($m["inout"],0,2)=="IN")$Ad[]=$t;}if(!$l&&$_POST){$Na=array();foreach($Mg["fields"]as$z=>$m){$X="";if(in_array($z,$Ad)){$X=process_input($m);if($X===false)$X="''";if(isset($Hf[$z]))connection()->query("SET @".idf_escape($m["field"])." = $X");}if(isset($Hf[$z]))$Na[]="@".idf_escape($m["field"]);elseif(in_array($z,$Ad))$Na[]=$X;}$J=(isset($_GET["callf"])?"SELECT ":"CALL ").(idx($Mg["returns"],"type")=="record"?"* FROM ":"").table($ca)."(".implode(", ",$Na).")";$th=microtime(true);$K=connection()->multi_query($J);$la=connection()->affected_rows;echo
adminer()->selectQuery($J,$th,!$K);if(!$K)echo"<p class='error'>".error()."\n";else{$g=connect();if($g)$g->select_db(DB);do{$K=connection()->store_result();if(is_object($K))print_select_result($K,$g);else
echo"<p class='message'>".lang(195,$la)." <span class='time'>".@date("H:i:s")."</span>\n";}while(connection()->next_result());if($Hf)print_select_result(connection()->query("SELECT ".implode(", ",$Hf)));}}echo'
<form action="" method="post">
';if($Ad){echo"<table class='layout'>\n";foreach($Ad
as$z){$m=$Mg["fields"][$z];$E=$m["field"];echo"<tr><th>".adminer()->fieldName($m);$Y=idx($_POST["fields"],$E);if($Y!=""){if($m["type"]=="set")$Y=implode(",",$Y);}input($m,$Y,idx($_POST["function"],$E,""));echo"\n";}echo"</table>\n";}echo'<p>
<input type="submit" value="',lang(194),'">
',input_token(),'</form>

<pre>
';function
pre_tr($Pg){return
preg_replace('~^~m','<tr>',preg_replace('~\|~','<td>',preg_replace('~\|$~m',"",rtrim($Pg))));}$R='(\+--[-+]+\+\n)';$M='(\| .* \|\n)';echo
preg_replace_callback("~^$R?$M$R?($M*)$R?~m",function($C){$Mc=pre_tr($C[2]);return"<table>\n".($C[1]?"<thead>$Mc</thead>\n":$Mc).pre_tr($C[4])."\n</table>";},preg_replace('~(\n(    -|mysql)&gt; )(.+)~',"\\1<code class='jush-sql'>\\3</code>",preg_replace('~(.+)\n---+\n~',"<b>\\1</b>\n",h($Mg['comment']))));echo'</pre>
';}elseif(isset($_GET["foreign"])){$a=$_GET["foreign"];$E=$_GET["name"];$M=$_POST;if($_POST&&!$l&&!$_POST["add"]&&!$_POST["change"]&&!$_POST["change-js"]){if(!$_POST["drop"]){$M["source"]=array_filter($M["source"],'strlen');ksort($M["source"]);$Nh=array();foreach($M["source"]as$z=>$X)$Nh[$z]=$M["target"][$z];$M["target"]=$Nh;}if(JUSH=="sqlite")$K=recreate_table($a,$a,array(),array(),array(" $E"=>($M["drop"]?"":" ".format_foreign_key($M))));else{$pa="ALTER TABLE ".table($a);$K=($E==""||queries("$pa DROP ".(JUSH=="sql"?"FOREIGN KEY ":"CONSTRAINT ").idf_escape($E)));if(!$M["drop"])$K=queries("$pa ADD".format_foreign_key($M));}queries_redirect(ME."table=".urlencode($a),($M["drop"]?lang(196):($E!=""?lang(197):lang(198))),$K);if(!$M["drop"])$l=lang(199);}page_header(lang(200),$l,array("table"=>$a),h($a));if($_POST){ksort($M["source"]);if($_POST["add"])$M["source"][]="";elseif($_POST["change"]||$_POST["change-js"])$M["target"]=array();}elseif($E!=""){$Sc=foreign_keys($a);$M=$Sc[$E];$M["source"][]="";}else{$M["table"]=$a;$M["source"]=array("");}echo'
<form action="" method="post">
';$mh=array_keys(fields($a));if($M["db"]!="")connection()->select_db($M["db"]);if($M["ns"]!=""){$Ef=get_schema();set_schema($M["ns"]);}$_g=array_keys(array_filter(table_status('',true),'Adminer\fk_support'));$Nh=array_keys(fields(in_array($M["table"],$_g)?$M["table"]:reset($_g)));$qf="this.form['change-js'].value = '1'; this.form.submit();";echo"<p><label>".lang(201).": ".html_select("table",$_g,$M["table"],$qf)."</label>\n";if(JUSH!="sqlite"){$Fb=array();foreach(adminer()->databases()as$j){if(!information_schema($j))$Fb[]=$j;}echo"<label>".lang(70).": ".html_select("db",$Fb,$M["db"]!=""?$M["db"]:$_GET["db"],$qf)."</label>";}echo
input_hidden("change-js"),'<noscript><p><input type="submit" name="change" value="',lang(202),'"></noscript>
<table>
<thead><tr><th id="label-source">',lang(137),'<th id="label-target">',lang(138),'</thead>
';$y=0;foreach($M["source"]as$z=>$X){echo"<tr>","<td>".html_select("source[".(+$z)."]",array(-1=>"")+$mh,$X,($y==count($M["source"])-1?"foreignAddRow.call(this);":""),"label-source"),"<td>".html_select("target[".(+$z)."]",$Nh,idx($M["target"],$z),"","label-target");$y++;}echo'</table>
<p>
<label>',lang(104),': ',html_select("on_delete",array(-1=>"")+explode("|",driver()->onActions),$M["on_delete"]),'</label>
<label>',lang(103),': ',html_select("on_update",array(-1=>"")+explode("|",driver()->onActions),$M["on_update"]),'</label>
',(DRIVER==='pgsql'?html_select("deferrable",array('NOT DEFERRABLE','DEFERRABLE','DEFERRABLE INITIALLY DEFERRED'),$M["deferrable"]).' ':''),doc_link(array('sql'=>"innodb-foreign-key-constraints.html",'mariadb'=>"foreign-keys/",)),'<p>
<input type="submit" value="',lang(16),'">
<noscript><p><input type="submit" name="add" value="',lang(203),'"></noscript>
';if($E!="")echo'<input type="submit" name="drop" value="',lang(128),'">',confirm(lang(178,$E));echo
input_token(),'</form>
';}elseif(isset($_GET["view"])){$a=$_GET["view"];$M=$_POST;$Ff="VIEW";if(JUSH=="pgsql"&&$a!=""){$uh=table_status1($a);$Ff=strtoupper($uh["Engine"]);}if($_POST&&!$l){$E=trim($M["name"]);$ta=" AS\n$M[select]";$B=ME."table=".urlencode($E);$D=lang(204);$U=($_POST["materialized"]?"MATERIALIZED VIEW":"VIEW");if(!$_POST["drop"]&&$a==$E&&JUSH!="sqlite"&&$U=="VIEW"&&$Ff=="VIEW")query_redirect((JUSH=="mssql"?"ALTER":"CREATE OR REPLACE")." VIEW ".table($E).$ta,$B,$D);else{$Ph=$E."_adminer_".uniqid();drop_create("DROP $Ff ".table($a),"CREATE $U ".table($E).$ta,"DROP $U ".table($E),"CREATE $U ".table($Ph).$ta,"DROP $U ".table($Ph),($_POST["drop"]?substr(ME,0,-1):$B),lang(205),$D,lang(206),$a,$E);}}if(!$_POST&&$a!=""){$M=view($a);$M["name"]=$a;$M["materialized"]=($Ff!="VIEW");if(!$l)$l=error();}page_header(($a!=""?lang(35):lang(207)),$l,array("table"=>$a),h($a));echo'
<form action="" method="post">
<p>',lang(188),': <input name="name" value="',h($M["name"]),'" data-maxlength="64" autocapitalize="off">
',(support("materializedview")?" ".checkbox("materialized",1,$M["materialized"],lang(131)):""),'<p>';textarea("select",$M["select"]);echo'<p>
<input type="submit" value="',lang(16),'">
';if($a!="")echo'<input type="submit" name="drop" value="',lang(128),'">',confirm(lang(178,$a));echo
input_token(),'</form>
';}elseif(isset($_GET["event"])){$aa=$_GET["event"];$Qd=array("YEAR","QUARTER","MONTH","DAY","HOUR","MINUTE","WEEK","SECOND","YEAR_MONTH","DAY_HOUR","DAY_MINUTE","DAY_SECOND","HOUR_MINUTE","HOUR_SECOND","MINUTE_SECOND");$vh=array("ENABLED"=>"ENABLE","DISABLED"=>"DISABLE","SLAVESIDE_DISABLED"=>"DISABLE ON SLAVE");$M=$_POST;if($_POST&&!$l){if($_POST["drop"])query_redirect("DROP EVENT ".idf_escape($aa),substr(ME,0,-1),lang(208));elseif(in_array($M["INTERVAL_FIELD"],$Qd)&&isset($vh[$M["STATUS"]])){$Qg="\nON SCHEDULE ".($M["INTERVAL_VALUE"]?"EVERY ".q($M["INTERVAL_VALUE"])." $M[INTERVAL_FIELD]".($M["STARTS"]?" STARTS ".q($M["STARTS"]):"").($M["ENDS"]?" ENDS ".q($M["ENDS"]):""):"AT ".q($M["STARTS"]))." ON COMPLETION".($M["ON_COMPLETION"]?"":" NOT")." PRESERVE";queries_redirect(substr(ME,0,-1),($aa!=""?lang(209):lang(210)),queries(($aa!=""?"ALTER EVENT ".idf_escape($aa).$Qg.($aa!=$M["EVENT_NAME"]?"\nRENAME TO ".idf_escape($M["EVENT_NAME"]):""):"CREATE EVENT ".idf_escape($M["EVENT_NAME"]).$Qg)."\n".$vh[$M["STATUS"]]." COMMENT ".q($M["EVENT_COMMENT"]).rtrim(" DO\n$M[EVENT_DEFINITION]",";").";"));}}page_header(($aa!=""?lang(211).": ".h($aa):lang(212)),$l);if(!$M&&$aa!=""){$N=get_rows("SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = ".q(DB)." AND EVENT_NAME = ".q($aa));$M=reset($N);}echo'
<form action="" method="post">
<table class="layout">
<tr><th>',lang(188),'<td><input name="EVENT_NAME" value="',h($M["EVENT_NAME"]),'" data-maxlength="64" autocapitalize="off">
<tr><th title="datetime">',lang(213),'<td><input name="STARTS" value="',h("$M[EXECUTE_AT]$M[STARTS]"),'">
<tr><th title="datetime">',lang(214),'<td><input name="ENDS" value="',h($M["ENDS"]),'">
<tr><th>',lang(215),'<td><input type="number" name="INTERVAL_VALUE" value="',h($M["INTERVAL_VALUE"]),'" class="size"> ',html_select("INTERVAL_FIELD",$Qd,$M["INTERVAL_FIELD"]),'<tr><th>',lang(119),'<td>',html_select("STATUS",$vh,$M["STATUS"]),'<tr><th>',lang(42),'<td><input name="EVENT_COMMENT" value="',h($M["EVENT_COMMENT"]),'" data-maxlength="64">
<tr><th><td>',checkbox("ON_COMPLETION","PRESERVE",$M["ON_COMPLETION"]=="PRESERVE",lang(216)),'</table>
<p>';textarea("EVENT_DEFINITION",$M["EVENT_DEFINITION"]);echo'<p>
<input type="submit" value="',lang(16),'">
';if($aa!="")echo'<input type="submit" name="drop" value="',lang(128),'">',confirm(lang(178,$aa));echo
input_token(),'</form>
';}elseif(isset($_GET["procedure"])){$ca=($_GET["name"]?:$_GET["procedure"]);$Mg=(isset($_GET["function"])?"FUNCTION":"PROCEDURE");$M=$_POST;$M["fields"]=(array)$M["fields"];if($_POST&&!process_fields($M["fields"])&&!$l){$Bf=routine($_GET["procedure"],$Mg);$Ph="$M[name]_adminer_".uniqid();foreach($M["fields"]as$z=>$m){if($m["field"]=="")unset($M["fields"][$z]);}drop_create("DROP $Mg ".routine_id($ca,$Bf),create_routine($Mg,$M),"DROP $Mg ".routine_id($M["name"],$M),create_routine($Mg,array("name"=>$Ph)+$M),"DROP $Mg ".routine_id($Ph,$M),substr(ME,0,-1),lang(217),lang(218),lang(219),$ca,$M["name"]);}page_header(($ca!=""?(isset($_GET["function"])?lang(220):lang(221)).": ".h($ca):(isset($_GET["function"])?lang(222):lang(223))),$l);if(!$_POST){if($ca=="")$M["language"]="sql";else{$M=routine($_GET["procedure"],$Mg);$M["name"]=$ca;}}$b=get_vals("SHOW CHARACTER SET");sort($b);$Ng=routine_languages();echo($b?"<datalist id='collations'>".optionlist($b)."</datalist>":""),'
<form action="" method="post" id="form">
<p>',lang(188),': <input name="name" value="',h($M["name"]),'" data-maxlength="64" autocapitalize="off">
',($Ng?"<label>".lang(21).": ".html_select("language",$Ng,$M["language"])."</label>\n":""),'<input type="submit" value="',lang(16),'">
<div class="scrollable">
<table class="nowrap">
';edit_fields($M["fields"],$b,$Mg);if(isset($_GET["function"])){echo"<tr><td>".lang(224);edit_type("returns",(array)$M["returns"],$b,array(),(JUSH=="pgsql"?array("void","trigger"):array()));}echo'</table>
',script("editFields();"),'</div>
<p>';textarea("definition",$M["definition"],20);echo'<p>
<input type="submit" value="',lang(16),'">
';if($ca!="")echo'<input type="submit" name="drop" value="',lang(128),'">',confirm(lang(178,$ca));echo
input_token(),'</form>
';}elseif(isset($_GET["check"])){$a=$_GET["check"];$E=$_GET["name"];$M=$_POST;if($M&&!$l){if(JUSH=="sqlite")$K=recreate_table($a,$a,array(),array(),array(),"",array(),"$E",($M["drop"]?"":$M["clause"]));else{$K=($E==""||queries("ALTER TABLE ".table($a)." DROP CONSTRAINT ".idf_escape($E)));if(!$M["drop"])$K=queries("ALTER TABLE ".table($a)." ADD".($M["name"]!=""?" CONSTRAINT ".idf_escape($M["name"]):"")." CHECK ($M[clause])");}queries_redirect(ME."table=".urlencode($a),($M["drop"]?lang(225):($E!=""?lang(226):lang(227))),$K);}page_header(($E!=""?lang(228).": ".h($E):lang(142)),$l,array("table"=>$a));if(!$M){$Ua=driver()->checkConstraints($a);$M=array("name"=>$E,"clause"=>$Ua[$E]);}echo'
<form action="" method="post">
<p>';if(JUSH!="sqlite")echo
lang(188).': <input name="name" value="'.h($M["name"]).'" data-maxlength="64" autocapitalize="off"> ';echo
doc_link(array('sql'=>"create-table-check-constraints.html",'mariadb'=>"constraint/",),"?"),'<p>';textarea("clause",$M["clause"]);echo'<p><input type="submit" value="',lang(16),'">
';if($E!="")echo'<input type="submit" name="drop" value="',lang(128),'">',confirm(lang(178,$E));echo
input_token(),'</form>
';}elseif(isset($_GET["trigger"])){$a=$_GET["trigger"];$E="$_GET[name]";$ki=trigger_options();$M=(array)trigger($E,$a)+array("Trigger"=>$a."_bi");if($_POST){if(!$l&&in_array($_POST["Timing"],$ki["Timing"])&&in_array($_POST["Event"],$ki["Event"])&&in_array($_POST["Type"],$ki["Type"])){$of=" ON ".table($a);$Wb="DROP TRIGGER ".idf_escape($E).(JUSH=="pgsql"?$of:"");$B=ME."table=".urlencode($a);if($_POST["drop"])query_redirect($Wb,$B,lang(229));else{if($E!="")queries($Wb);queries_redirect($B,($E!=""?lang(230):lang(231)),queries(create_trigger($of,$_POST)));if($E!="")queries(create_trigger($of,$M+array("Type"=>reset($ki["Type"]))));}}$M=$_POST;}page_header(($E!=""?lang(232).": ".h($E):lang(233)),$l,array("table"=>$a));echo'
<form action="" method="post" id="form">
<table class="layout">
<tr><th>',lang(234),'<td>',html_select("Timing",$ki["Timing"],$M["Timing"],"triggerChange(/^".preg_quote($a,"/")."_[ba][iud]$/, '".js_escape($a)."', this.form);"),'<tr><th>',lang(235),'<td>',html_select("Event",$ki["Event"],$M["Event"],"this.form['Timing'].onchange();"),(in_array("UPDATE OF",$ki["Event"])?" <input name='Of' value='".h($M["Of"])."' class='hidden'>":""),'<tr><th>',lang(41),'<td>',html_select("Type",$ki["Type"],$M["Type"]),'</table>
<p>',lang(188),': <input name="Trigger" value="',h($M["Trigger"]),'" data-maxlength="64" autocapitalize="off">
',script("qs('#form')['Timing'].onchange();"),'<p>';textarea("Statement",$M["Statement"]);echo'<p>
<input type="submit" value="',lang(16),'">
';if($E!="")echo'<input type="submit" name="drop" value="',lang(128),'">',confirm(lang(178,$E));echo
input_token(),'</form>
';}elseif(isset($_GET["user"])){$ea=$_GET["user"];$qg=array(""=>array("All privileges"=>""));foreach(get_rows("SHOW PRIVILEGES")as$M){foreach(explode(",",($M["Privilege"]=="Grant option"?"":$M["Context"]))as$pb)$qg[$pb][$M["Privilege"]]=$M["Comment"];}$qg["Server Admin"]+=$qg["File access on server"];$qg["Databases"]["Create routine"]=$qg["Procedures"]["Create routine"];unset($qg["Procedures"]["Create routine"]);$qg["Columns"]=array();foreach(array("Select","Insert","Update","References")as$X)$qg["Columns"][$X]=$qg["Tables"][$X];unset($qg["Server Admin"]["Usage"]);foreach($qg["Tables"]as$z=>$X)unset($qg["Databases"][$z]);$Ze=array();if($_POST){foreach($_POST["objects"]as$z=>$X)$Ze[$X]=(array)$Ze[$X]+idx($_POST["grants"],$z,array());}$cd=array();$mf="";if(isset($_GET["host"])&&($K=connection()->query("SHOW GRANTS FOR ".q($ea)."@".q($_GET["host"])))){while($M=$K->fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$M[0],$C)&&preg_match_all('~ *([^(,]*[^ ,(])( *\([^)]+\))?~',$C[1],$ze,PREG_SET_ORDER)){foreach($ze
as$X){if($X[1]!="USAGE")$cd["$C[2]$X[2]"][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$M[0]))$cd["$C[2]$X[2]"]["GRANT OPTION"]=true;}}if(preg_match("~ IDENTIFIED BY PASSWORD '([^']+)~",$M[0],$C))$mf=$C[1];}}if($_POST&&!$l){$nf=(isset($_GET["host"])?q($ea)."@".q($_GET["host"]):"''");if($_POST["drop"])query_redirect("DROP USER $nf",ME."privileges=",lang(236));else{$bf=q($_POST["user"])."@".q($_POST["host"]);$Wf=$_POST["pass"];if($Wf!=''&&!$_POST["hashed"]&&!min_version(8)){$Wf=get_val("SELECT PASSWORD(".q($Wf).")");$l=!$Wf;}$ub=false;if(!$l){if($nf!=$bf){$ub=queries((min_version(5)?"CREATE USER":"GRANT USAGE ON *.* TO")." $bf IDENTIFIED BY ".(min_version(8)?"":"PASSWORD ").q($Wf));$l=!$ub;}elseif($Wf!=$mf)queries("SET PASSWORD FOR $bf = ".q($Wf));}if(!$l){$Jg=array();foreach($Ze
as$hf=>$bd){if(isset($_GET["grant"]))$bd=array_filter($bd);$bd=array_keys($bd);if(isset($_GET["grant"]))$Jg=array_diff(array_keys(array_filter($Ze[$hf],'strlen')),$bd);elseif($nf==$bf){$kf=array_keys((array)$cd[$hf]);$Jg=array_diff($kf,$bd);$bd=array_diff($bd,$kf);unset($cd[$hf]);}if(preg_match('~^(.+)\s*(\(.*\))?$~U',$hf,$C)&&(!grant("REVOKE",$Jg,$C[2]," ON $C[1] FROM $bf")||!grant("GRANT",$bd,$C[2]," ON $C[1] TO $bf"))){$l=true;break;}}}if(!$l&&isset($_GET["host"])){if($nf!=$bf)queries("DROP USER $nf");elseif(!isset($_GET["grant"])){foreach($cd
as$hf=>$Jg){if(preg_match('~^(.+)(\(.*\))?$~U',$hf,$C))grant("REVOKE",array_keys($Jg),$C[2]," ON $C[1] FROM $bf");}}}queries_redirect(ME."privileges=",(isset($_GET["host"])?lang(237):lang(238)),!$l);if($ub)connection()->query("DROP USER $bf");}}page_header((isset($_GET["host"])?lang(27).": ".h("$ea@$_GET[host]"):lang(150)),$l,array("privileges"=>array('',lang(63))));$M=$_POST;if($M)$cd=$Ze;else{$M=$_GET+array("host"=>get_val("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)"));$M["pass"]=$mf;if($mf!="")$M["hashed"]=true;$cd[(DB==""||$cd?"":idf_escape(addcslashes(DB,"%_\\"))).".*"]=array();}echo'<form action="" method="post">
<table class="layout">
<tr><th>',lang(25),'<td><input name="host" data-maxlength="60" value="',h($M["host"]),'" autocapitalize="off">
<tr><th>',lang(27),'<td><input name="user" data-maxlength="80" value="',h($M["user"]),'" autocapitalize="off">
<tr><th>',lang(28),'<td><input name="pass" id="pass" value="',h($M["pass"]),'" autocomplete="new-password">
',($M["hashed"]?"":script("typePassword(qs('#pass'));")),(min_version(8)?"":checkbox("hashed",1,$M["hashed"],lang(239),"typePassword(this.form['pass'], this.checked);")),'</table>

',"<table class='odds'>\n","<thead><tr><th colspan='2'>".lang(63).doc_link(array('sql'=>"grant.html#priv_level"));$t=0;foreach($cd
as$hf=>$bd){echo'<th>'.($hf!="*.*"?"<input name='objects[$t]' value='".h($hf)."' size='10' autocapitalize='off'>":input_hidden("objects[$t]","*.*")."*.*");$t++;}echo"</thead>\n";foreach(array(""=>"","Server Admin"=>lang(25),"Databases"=>lang(29),"Tables"=>lang(133),"Columns"=>lang(40),"Procedures"=>lang(240),)as$pb=>$Nb){foreach((array)$qg[$pb]as$pg=>$gb){echo"<tr><td".($Nb?">$Nb<td":" colspan='2'").' lang="en" title="'.h($gb).'">'.h($pg);$t=0;foreach($cd
as$hf=>$bd){$E="'grants[$t][".h(strtoupper($pg))."]'";$Y=$bd[strtoupper($pg)];if($pb=="Server Admin"&&$hf!=(isset($cd["*.*"])?"*.*":".*"))echo"<td>";elseif(isset($_GET["grant"]))echo"<td><select name=$E><option><option value='1'".($Y?" selected":"").">".lang(241)."<option value='0'".($Y=="0"?" selected":"").">".lang(242)."</select>";else
echo"<td align='center'><label class='block'>","<input type='checkbox' name=$E value='1'".($Y?" checked":"").($pg=="All privileges"?" id='grants-$t-all'>":">".($pg=="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(16),'">
';if(isset($_GET["host"]))echo'<input type="submit" name="drop" value="',lang(128),'">',confirm(lang(178,"$ea@$_GET[host]"));echo
input_token(),'</form>
';}elseif(isset($_GET["processlist"])){if(support("kill")){if($_POST&&!$l){$ee=0;foreach((array)$_POST["kill"]as$X){if(adminer()->killProcess($X))$ee++;}queries_redirect(ME."processlist=",lang(243,$ee),$ee||!$_POST["kill"]);}}page_header(lang(117),$l);echo'
<form action="" method="post">
<div class="scrollable">
<table class="nowrap checkable odds">
',script("mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});");$t=-1;foreach(adminer()->processList()as$t=>$M){if(!$t){echo"<thead><tr lang='en'>".(support("kill")?"<th>":"");foreach($M
as$z=>$X)echo"<th>$z".doc_link(array('sql'=>"show-processlist.html#processlist_".strtolower($z),));echo"</thead>\n";}echo"<tr>".(support("kill")?"<td>".checkbox("kill[]",$M[JUSH=="sql"?"Id":"pid"],0):"");foreach($M
as$z=>$X)echo"<td>".((JUSH=="sql"&&$z=="Info"&&preg_match("~Query|Killed~",$M["Command"])&&$X!="")||(JUSH=="pgsql"&&$z=="current_query"&&$X!="<IDLE>")||(JUSH=="oracle"&&$z=="sql_text"&&$X!="")?"<code class='jush-".JUSH."'>".shorten_utf8($X,100,"</code>").' <a href="'.h(ME.($M["db"]!=""?"db=".urlencode($M["db"])."&":"")."sql=".urlencode($X)).'">'.lang(244).'</a>':h($X));echo"\n";}echo'</table>
</div>
<p>
';if(support("kill"))echo($t+1)."/".lang(245,max_connections()),"<p><input type='submit' value='".lang(246)."'>\n";echo
input_token(),'</form>
',script("tableCheck();");}elseif(isset($_GET["select"])){$a=$_GET["select"];$S=table_status1($a);$x=indexes($a);$n=fields($a);$Sc=column_foreign_keys($a);$jf=$S["Oid"];$ka=get_settings("adminer_import");$Kg=array();$d=array();$Vg=array();$yf=array();$Sh="";foreach($n
as$z=>$m){$E=adminer()->fieldName($m);$Xe=html_entity_decode(strip_tags($E),ENT_QUOTES);if(isset($m["privileges"]["select"])&&$E!=""){$d[$z]=$Xe;if(is_shortable($m))$Sh=adminer()->selectLengthProcess();}if(isset($m["privileges"]["where"])&&$E!="")$Vg[$z]=$Xe;if(isset($m["privileges"]["order"])&&$E!="")$yf[$z]=$Xe;$Kg+=$m["privileges"];}list($O,$s)=adminer()->selectColumnsProcess($d,$x);$O=array_unique($O);$s=array_unique($s);$Ud=count($s)<count($O);$Z=adminer()->selectSearchProcess($n,$x);$xf=adminer()->selectOrderProcess($n,$x);$_=adminer()->selectLimitProcess();if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$si=>$M){$ta=convert_field($n[key($M)]);$O=array($ta?:idf_escape(key($M)));$Z[]=where_check($si,$n);$L=driver()->select($a,$O,$Z,$O);if($L)echo
first($L->fetch_row());}exit;}$mg=$ui=array();foreach($x
as$w){if($w["type"]=="PRIMARY"){$mg=array_flip($w["columns"]);$ui=($O?$mg:array());foreach($ui
as$z=>$X){if(in_array(idf_escape($z),$O))unset($ui[$z]);}break;}}if($jf&&!$mg){$mg=$ui=array($jf=>0);$x[]=array("type"=>"PRIMARY","columns"=>array($jf));}if($_POST&&!$l){$Si=$Z;if(!$_POST["all"]&&is_array($_POST["check"])){$Ua=array();foreach($_POST["check"]as$Ra)$Ua[]=where_check($Ra,$n);$Si[]="((".implode(") OR (",$Ua)."))";}$Si=($Si?"\nWHERE ".implode(" AND ",$Si):"");if($_POST["export"]){save_settings(array("output"=>$_POST["output"],"format"=>$_POST["format"]),"adminer_import");dump_headers($a);adminer()->dumpTable($a,"");$Wc=($O?implode(", ",$O):"*").convert_fields($d,$n,$O)."\nFROM ".table($a);$ed=($s&&$Ud?"\nGROUP BY ".implode(", ",$s):"").($xf?"\nORDER BY ".implode(", ",$xf):"");$J="SELECT $Wc$Si$ed";if(is_array($_POST["check"])&&!$mg){$qi=array();foreach($_POST["check"]as$X)$qi[]="(SELECT".limit($Wc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$n).$ed,1).")";$J=implode(" UNION ALL ",$qi);}adminer()->dumpData($a,"table",$J);adminer()->dumpFooter();exit;}if(!adminer()->selectEmailProcess($Z,$Sc)){if($_POST["save"]||$_POST["delete"]){$K=true;$la=0;$Q=array();if(!$_POST["delete"]){foreach($_POST["fields"]as$E=>$X){$X=process_input($n[$E]);if($X!==null&&($_POST["clone"]||$X!==false))$Q[idf_escape($E)]=($X!==false?$X:idf_escape($E));}}if($_POST["delete"]||$Q){$J=($_POST["clone"]?"INTO ".table($a)." (".implode(", ",array_keys($Q)).")\nSELECT ".implode(", ",$Q)."\nFROM ".table($a):"");if($_POST["all"]||($mg&&is_array($_POST["check"]))||$Ud){$K=($_POST["delete"]?driver()->delete($a,$Si):($_POST["clone"]?queries("INSERT $J$Si".driver()->insertReturning($a)):driver()->update($a,$Q,$Si)));$la=connection()->affected_rows;if(is_object($K))$la+=$K->num_rows;}else{foreach((array)$_POST["check"]as$X){$Ri="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($X,$n);$K=($_POST["delete"]?driver()->delete($a,$Ri,1):($_POST["clone"]?queries("INSERT".limit1($a,$J,$Ri)):driver()->update($a,$Q,$Ri,1)));if(!$K)break;$la+=connection()->affected_rows;}}}$D=lang(247,$la);if($_POST["clone"]&&$K&&$la==1){$ke=last_id($K);if($ke)$D=lang(171," $ke");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page":""),$D,$K);if(!$_POST["delete"]){$ig=(array)$_POST["fields"];edit_form($a,array_intersect_key($n,$ig),$ig,!$_POST["clone"],$l);page_footer();exit;}}elseif(!$_POST["import"]){if(!$_POST["val"])$l=lang(248);else{$K=true;$la=0;foreach($_POST["val"]as$si=>$M){$Q=array();foreach($M
as$z=>$X){$z=bracket_escape($z,true);$Q[idf_escape($z)]=(preg_match('~char|text~',$n[$z]["type"])||$X!=""?adminer()->processInput($n[$z],$X):"NULL");}$K=driver()->update($a,$Q," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($si,$n),($Ud||$mg?0:1)," ");if(!$K)break;$la+=connection()->affected_rows;}queries_redirect(remove_from_uri(),lang(247,$la),$K);}}elseif(!is_string($Jc=get_file("csv_file",true)))$l=upload_error($Jc);elseif(!preg_match('~~u',$Jc))$l=lang(249);else{save_settings(array("output"=>$ka["output"],"format"=>$_POST["separator"]),"adminer_import");$K=true;$db=array_keys($n);preg_match_all('~(?>"[^"]*"|[^"\r\n]+)+~',$Jc,$ze);$la=count($ze[0]);driver()->begin();$bh=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$N=array();foreach($ze[0]as$z=>$X){preg_match_all("~((?>\"[^\"]*\")+|[^$bh]*)$bh~",$X.$bh,$_e);if(!$z&&!array_diff($_e[1],$db)){$db=$_e[1];$la--;}else{$Q=array();foreach($_e[1]as$t=>$ab)$Q[idf_escape($db[$t])]=($ab==""&&$n[$db[$t]]["null"]?"NULL":q(preg_match('~^".*"$~s',$ab)?str_replace('""','"',substr($ab,1,-1)):$ab));$N[]=$Q;}}$K=(!$N||driver()->insertUpdate($a,$N,$mg));if($K)driver()->commit();queries_redirect(remove_from_uri("page"),lang(250,$la),$K);driver()->rollback();}}}$Fh=adminer()->tableName($S);if(is_ajax()){page_headers();ob_start();}else
page_header(lang(45).": $Fh",$l);$Q=null;if(isset($Kg["insert"])||!support("table")){$Mf=array();foreach((array)$_GET["where"]as$X){if(isset($Sc[$X["col"]])&&count($Sc[$X["col"]])==1&&($X["op"]=="="||(!$X["op"]&&(is_array($X["val"])||!preg_match('~[_%]~',$X["val"])))))$Mf["set"."[".bracket_escape($X["col"])."]"]=$X["val"];}$Q=$Mf?"&".http_build_query($Mf):"";}adminer()->selectLinks($S,$Q);if(!$d&&support("table"))echo"<p class='error'>".lang(251).($n?".":": ".error())."\n";else{echo"<form action='' id='form'>\n","<div style='display: none;'>";hidden_fields_get();echo(DB!=""?input_hidden("db",DB).(isset($_GET["ns"])?input_hidden("ns",$_GET["ns"]):""):""),input_hidden("select",$a),"</div>\n";adminer()->selectColumnsPrint($O,$d);adminer()->selectSearchPrint($Z,$Vg,$x);adminer()->selectOrderPrint($xf,$yf,$x);adminer()->selectLimitPrint($_);adminer()->selectLengthPrint($Sh);adminer()->selectActionPrint($x);echo"</form>\n";$G=$_GET["page"];$Vc=null;if($G=="last"){$Vc=get_val(count_rows($a,$Z,$Ud,$s));$G=floor(max(0,intval($Vc)-1)/$_);}$Wg=$O;$dd=$s;if(!$Wg){$Wg[]="*";$qb=convert_fields($d,$n,$O);if($qb)$Wg[]=substr($qb,2);}foreach($O
as$z=>$X){$m=$n[idf_unescape($X)];if($m&&($ta=convert_field($m)))$Wg[$z]="$ta AS $X";}if(!$Ud&&$ui){foreach($ui
as$z=>$X){$Wg[]=idf_escape($z);if($dd)$dd[]=idf_escape($z);}}$K=driver()->select($a,$Wg,$Z,$dd,$xf,$_,$G,true);if(!$K)echo"<p class='error'>".error()."\n";else{if(JUSH=="mssql"&&$G)$K->seek($_*$G);$hc=array();echo"<form action='' method='post' enctype='multipart/form-data'>\n";$N=array();while($M=$K->fetch_assoc()){if($G&&JUSH=="oracle")unset($M["RNUM"]);$N[]=$M;}if($_GET["page"]!="last"&&$_&&$s&&$Ud&&JUSH=="sql")$Vc=get_val(" SELECT FOUND_ROWS()");if(!$N)echo"<p class='message'>".lang(14)."\n";else{$Ba=adminer()->backwardKeys($a,$Fh);echo"<div class='scrollable'>","<table id='table' class='nowrap checkable odds'>",script("mixin(qs('#table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true), onkeydown: editingKeydown});"),"<thead><tr>".(!$s&&$O?"":"<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(252)."</a>");$Ye=array();$Yc=array();reset($O);$xg=1;foreach($N[0]as$z=>$X){if(!isset($ui[$z])){$X=idx($_GET["columns"],key($O))?:array();$m=$n[$O?($X?$X["col"]:current($O)):$z];$E=($m?adminer()->fieldName($m,$xg):($X["fun"]?"*":h($z)));if($E!=""){$xg++;$Ye[$z]=$E;$c=idf_escape($z);$td=remove_from_uri('(order|desc)[^=]*|page').'&order%5B0%5D='.urlencode($z);$Nb="&desc%5B0%5D=1";echo"<th id='th[".h(bracket_escape($z))."]'>".script("mixin(qsl('th'), {onmouseover: partial(columnMouse), onmouseout: partial(columnMouse, ' hidden')});","");$Xc=apply_sql_function($X["fun"],$E);$lh=isset($m["privileges"]["order"])||$Xc!=$E;echo($lh?"<a href='".h($td.($xf[0]==$c||$xf[0]==$z?$Nb:''))."'>$Xc</a>":$Xc);$Ke=($lh?"<a href='".h($td.$Nb)."' title='".lang(51)."' class='text'> ↓</a>":'');if(!$X["fun"]&&isset($m["privileges"]["where"])){$Ke
.='<a href="#fieldset-search" title="'.lang(48).'" class="text jsonly"> =</a>';$Ke
.=script("qsl('a').onclick = partial(selectSearch, '".js_escape($z)."');");}echo($Ke?"<span class='column hidden'>$Ke</span>":"");}$Yc[$z]=$X["fun"];next($O);}}$qe=array();if($_GET["modify"]){foreach($N
as$M){foreach($M
as$z=>$X)$qe[$z]=max($qe[$z],min(40,strlen(utf8_decode($X))));}}echo($Ba?"<th>".lang(253):"")."</thead>\n";if(is_ajax())ob_end_clean();foreach(adminer()->rowDescriptions($N,$Sc)as$We=>$M){$ri=unique_array($N[$We],$x);if(!$ri){$ri=array();reset($O);foreach($N[$We]as$z=>$X){if(!preg_match('~^(COUNT|AVG|GROUP_CONCAT|MAX|MIN|SUM)\(~',current($O)))$ri[$z]=$X;next($O);}}$si="";foreach($ri
as$z=>$X){$m=(array)$n[$z];if((JUSH=="sql"||JUSH=="pgsql")&&preg_match('~char|text|enum|set~',$m["type"])&&strlen($X)>64){$z=(strpos($z,'(')?$z:idf_escape($z));$z="MD5(".(JUSH!='sql'||preg_match("~^utf8~",$m["collation"])?$z:"CONVERT($z USING ".charset(connection()).")").")";$X=md5($X);}$si
.="&".($X!==null?urlencode("where[".bracket_escape($z)."]")."=".urlencode($X===false?"f":$X):"null%5B%5D=".urlencode($z));}echo"<tr>".(!$s&&$O?"":"<td>".checkbox("check[]",substr($si,1),in_array(substr($si,1),(array)$_POST["check"])).($Ud||information_schema(DB)?"":" <a href='".h(ME."edit=".urlencode($a).$si)."' class='edit'>".lang(254)."</a>"));reset($O);foreach($M
as$z=>$X){if(isset($Ye[$z])){$c=current($O);$m=(array)$n[$z];if($X!=""&&(!isset($hc[$z])||$hc[$z]!=""))$hc[$z]=(is_mail($X)?$Ye[$z]:"");$A="";if(is_blob($m)&&$X!="")$A=ME.'download='.urlencode($a).'&field='.urlencode($z).$si;if(!$A&&$X!==null){foreach((array)$Sc[$z]as$p){if(count($Sc[$z])==1||end($p["source"])==$z){$A="";foreach($p["source"]as$t=>$mh)$A
.=where_link($t,$p["target"][$t],$N[$We][$mh]);$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($c=="COUNT(*)"){$A=ME."select=".urlencode($a);$t=0;foreach((array)$_GET["where"]as$W){if(!array_key_exists($W["col"],$ri))$A
.=where_link($t++,$W["col"],$W["val"],$W["op"]);}foreach($ri
as$be=>$W)$A
.=where_link($t++,$be,$W);}$ud=select_value($X,$A,$m,$Sh);$u=h("val[$si][".bracket_escape($z)."]");$jg=idx(idx($_POST["val"],$si),bracket_escape($z));$cc=!is_array($M[$z])&&is_utf8($ud)&&$N[$We][$z]==$M[$z]&&!$Yc[$z]&&!$m["generated"];$U=(preg_match('~^(AVG|MIN|MAX)\((.+)\)~',$c,$C)?$n[idf_unescape($C[2])]["type"]:$m["type"]);$Rh=preg_match('~text|json|lob~',$U);$Vd=preg_match(number_type(),$U)||preg_match('~^(CHAR_LENGTH|ROUND|FLOOR|CEIL|TIME_TO_SEC|COUNT|SUM)\(~',$c);echo"<td id='$u'".($Vd&&($X===null||is_numeric(strip_tags($ud))||$U=="money")?" class='number'":"");if(($_GET["modify"]&&$cc&&$X!==null)||$jg!==null){$hd=h($jg!==null?$jg:$M[$z]);echo">".($Rh?"<textarea name='$u' cols='30' rows='".(substr_count($M[$z],"\n")+1)."'>$hd</textarea>":"<input name='$u' value='$hd' size='$qe[$z]'>");}else{$ve=strpos($ud,"<i>…</i>");echo" data-text='".($ve?2:($Rh?1:0))."'".($cc?"":" data-warning='".h(lang(255))."'").">$ud";}}next($O);}if($Ba)echo"<td>";adminer()->backwardKeysPrint($Ba,$N[$We]);echo"</tr>\n";}if(is_ajax())exit;echo"</table>\n","</div>\n";}if(!is_ajax()){if($N||$G){$uc=true;if($_GET["page"]!="last"){if(!$_||(count($N)<$_&&($N||!$G)))$Vc=($G?$G*$_:0)+count($N);elseif(JUSH!="sql"||!$Ud){$Vc=($Ud?false:found_rows($S,$Z));if(intval($Vc)<max(1e4,2*($G+1)*$_))$Vc=first(slow_query(count_rows($a,$Z,$Ud,$s)));elseif(JUSH=='sql'||JUSH=='pgsql')$uc=false;}}$Kf=($_&&($Vc===false||$Vc>$_||$G));if($Kf)echo(($Vc===false?count($N)+1:$Vc-$G*$_)>$_?'<p><a href="'.h(remove_from_uri("page")."&page=".($G+1)).'" class="loadmore">'.lang(256).'</a>'.script("qsl('a').onclick = partial(selectLoadMore, $_, '".lang(257)."…');",""):''),"\n";echo"<div class='footer'><div>\n";if($Kf){$De=($Vc===false?$G+(count($N)>=$_?2:1):floor(($Vc-1)/$_));echo"<fieldset>";if(JUSH!="simpledb"){echo"<legend><a href='".h(remove_from_uri("page"))."'>".lang(258)."</a></legend>",script("qsl('a').onclick = function () { pageClick(this.href, +prompt('".lang(258)."', '".($G+1)."')); return false; };"),pagination(0,$G).($G>5?" …":"");for($t=max(1,$G-4);$t<min($De,$G+5);$t++)echo
pagination($t,$G);if($De>0)echo($G+5<$De?" …":""),($uc&&$Vc!==false?pagination($De,$G):" <a href='".h(remove_from_uri("page")."&page=last")."' title='~$De'>".lang(259)."</a>");}else
echo"<legend>".lang(258)."</legend>",pagination(0,$G).($G>1?" …":""),($G?pagination($G,$G):""),($De>$G?pagination($G+1,$G).($De>$G+1?" …":""):"");echo"</fieldset>\n";}echo"<fieldset>","<legend>".lang(260)."</legend>";$Tb=($uc?"":"~ ").$Vc;$rf="const checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$Tb' : checked); selectCount('selected2', this.checked || !checked ? '$Tb' : checked);";echo
checkbox("all",1,0,($Vc!==false?($uc?"":"~ ").lang(154,$Vc):""),$rf)."\n","</fieldset>\n";if(adminer()->selectCommandPrint())echo'<fieldset',($_GET["modify"]?'':' class="jsonly"'),'><legend>',lang(252),'</legend><div>
<input type="submit" value="',lang(16),'"',($_GET["modify"]?'':' title="'.lang(248).'"'),'>
</div></fieldset>
<fieldset><legend>',lang(127),' <span id="selected"></span></legend><div>
<input type="submit" name="edit" value="',lang(12),'">
<input type="submit" name="clone" value="',lang(244),'">
<input type="submit" name="delete" value="',lang(20),'">',confirm(),'</div></fieldset>
';$Tc=adminer()->dumpFormat();foreach((array)$_GET["columns"]as$c){if($c["fun"]){unset($Tc['sql']);break;}}if($Tc){print_fieldset("export",lang(68)." <span id='selected2'></span>");$If=adminer()->dumpOutput();echo($If?html_select("output",$If,$ka["output"])." ":""),html_select("format",$Tc,$ka["format"])," <input type='submit' name='export' value='".lang(68)."'>\n","</div></fieldset>\n";}adminer()->selectEmailPrint(array_filter($hc,'strlen'),$d);echo"</div></div>\n";}if(adminer()->selectImportPrint())echo"<p>","<a href='#import'>".lang(67)."</a>",script("qsl('a').onclick = partial(toggle, 'import');",""),"<span id='import'".($_POST["import"]?"":" class='hidden'").">: ",file_input("<input type='file' name='csv_file'> ".html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$ka["format"])." <input type='submit' name='import' value='".lang(67)."'>"),"</span>";echo
input_token(),"</form>\n",(!$s&&$O?"":script("tableCheck();"));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["variables"])){$uh=isset($_GET["status"]);page_header($uh?lang(119):lang(118));$Ii=($uh?adminer()->showStatus():adminer()->showVariables());if(!$Ii)echo"<p class='message'>".lang(14)."\n";else{echo"<table>\n";foreach($Ii
as$M){echo"<tr>";$z=array_shift($M);echo"<th><code class='jush-".JUSH.($uh?"status":"set")."'>".h($z)."</code>";foreach($M
as$X)echo"<td>".nl_br(h($X));}echo"</table>\n";}}elseif(isset($_GET["script"])){header("Content-Type: text/javascript; charset=utf-8");if($_GET["script"]=="db"){$Ch=array("Data_length"=>0,"Index_length"=>0,"Data_free"=>0);foreach(table_status()as$E=>$S){json_row("Comment-$E",h($S["Comment"]));if(!is_view($S)||preg_match('~materialized~i',$S["Engine"])){foreach(array("Engine","Collation")as$z)json_row("$z-$E",h($S[$z]));foreach($Ch+array("Auto_increment"=>0,"Rows"=>0)as$z=>$X){if($S[$z]!=""){$X=format_number($S[$z]);if($X>=0)json_row("$z-$E",($z=="Rows"&&$X&&$S["Engine"]==(JUSH=="pgsql"?"table":"InnoDB")?"~ $X":$X));if(isset($Ch[$z]))$Ch[$z]+=($S["Engine"]!="InnoDB"||$z!="Data_free"?$S[$z]:0);}elseif(array_key_exists($z,$S))json_row("$z-$E","?");}}}foreach($Ch
as$z=>$X)json_row("sum-$z",format_number($X));json_row("");}elseif($_GET["script"]=="kill")connection()->query("KILL ".number($_POST["kill"]));else{foreach(count_tables(adminer()->databases())as$j=>$X){json_row("tables-$j",$X);json_row("size-$j",db_size($j));}json_row("");}exit;}else{$Lh=array_merge((array)$_POST["tables"],(array)$_POST["views"]);if($Lh&&!$l&&!$_POST["search"]){$K=true;$D="";if(JUSH=="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"])$K=truncate_tables($_POST["tables"]);$D=lang(261);}elseif($_POST["move"]){$K=move_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$D=lang(262);}elseif($_POST["copy"]){$K=copy_tables((array)$_POST["tables"],(array)$_POST["views"],$_POST["target"]);$D=lang(263);}elseif($_POST["drop"]){if($_POST["views"])$K=drop_views($_POST["views"]);if($K&&$_POST["tables"])$K=drop_tables($_POST["tables"]);$D=lang(264);}elseif(JUSH=="sqlite"&&$_POST["check"]){foreach((array)$_POST["tables"]as$R){foreach(get_rows("PRAGMA integrity_check(".q($R).")")as$M)$D
.="<b>".h($R)."</b>: ".h($M["integrity_check"])."<br>";}}elseif(JUSH!="sql"){$K=(JUSH=="sqlite"?queries("VACUUM"):apply_queries("VACUUM".($_POST["optimize"]?"":" ANALYZE"),$_POST["tables"]));$D=lang(265);}elseif(!$_POST["tables"])$D=lang(11);elseif($K=queries(($_POST["optimize"]?"OPTIMIZE":($_POST["check"]?"CHECK":($_POST["repair"]?"REPAIR":"ANALYZE")))." TABLE ".implode(", ",array_map('Adminer\idf_escape',$_POST["tables"])))){while($M=$K->fetch_assoc())$D
.="<b>".h($M["Table"])."</b>: ".h($M["Msg_text"])."<br>";}queries_redirect(substr(ME,0,-1),$D,$K);}page_header(($_GET["ns"]==""?lang(29).": ".h(DB):lang(266).": ".h($_GET["ns"])),$l,true);if(adminer()->homepage()){if($_GET["ns"]!==""){echo"<h3 id='tables-views'>".lang(267)."</h3>\n";$Kh=tables_list();if(!$Kh)echo"<p class='message'>".lang(11)."\n";else{echo"<form action='' method='post'>\n";if(support("table")){echo"<fieldset><legend>".lang(268)." <span id='selected2'></span></legend><div>",html_select("op",adminer()->operators(),idx($_POST,"op",JUSH=="elastic"?"should":"LIKE %%"))," <input type='search' name='query' value='".h($_POST["query"])."'>",script("qsl('input').onkeydown = partialArg(bodyKeydown, 'search');","")," <input type='submit' name='search' value='".lang(48)."'>\n","</div></fieldset>\n";if($_POST["search"]&&$_POST["query"]!=""){$_GET["where"][0]["op"]=$_POST["op"];search_tables();}}echo"<div class='scrollable'>\n","<table class='nowrap checkable odds'>\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(133);$d=array("Engine"=>array(lang(269).doc_link(array('sql'=>'storage-engines.html'))));if(collations())$d["Collation"]=array(lang(123).doc_link(array('sql'=>'charset-charsets.html','mariadb'=>'supported-character-sets-and-collations/')));if(function_exists('Adminer\alter_table'))$d["Data_length"]=array(lang(270).doc_link(array('sql'=>'show-table-status.html',)),"create",lang(36));if(support('indexes'))$d["Index_length"]=array(lang(271).doc_link(array('sql'=>'show-table-status.html',)),"indexes",lang(136));$d["Data_free"]=array(lang(272).doc_link(array('sql'=>'show-table-status.html')),"edit",lang(37));if(function_exists('Adminer\alter_table'))$d["Auto_increment"]=array(lang(43).doc_link(array('sql'=>'example-auto-increment.html','mariadb'=>'auto_increment/')),"auto_increment=1&create",lang(36));$d["Rows"]=array(lang(273).doc_link(array('sql'=>'show-table-status.html',)),"select",lang(33));if(support("comment"))$d["Comment"]=array(lang(42).doc_link(array('sql'=>'show-table-status.html',)));foreach($d
as$c)echo"<td>$c[0]";echo"</thead>\n";$T=0;foreach($Kh
as$E=>$U){$Li=($U!==null&&!preg_match('~table|sequence~i',$U));$u=h("Table-".$E);echo'<tr><td>'.checkbox(($Li?"views[]":"tables[]"),$E,in_array("$E",$Lh,true),"","","",$u),'<th>'.(support("table")||support("indexes")?"<a href='".h(ME)."table=".urlencode($E)."' title='".lang(34)."' id='$u'>".h($E).'</a>':h($E));if($Li&&!preg_match('~materialized~i',$U)){$Wh=lang(132);echo'<td colspan="6">'.(support("view")?"<a href='".h(ME)."view=".urlencode($E)."' title='".lang(35)."'>$Wh</a>":$Wh),'<td align="right"><a href="'.h(ME)."select=".urlencode($E).'" title="'.lang(33).'">?</a>';}else{foreach($d
as$z=>$c){$u=" id='$z-".h($E)."'";echo($c[1]?"<td align='right'><a href='".h(ME."$c[1]=").urlencode($E)."'$u title='$c[2]'>?</a>":"<td id='$z-".h($E)."'>");}$T++;}echo"\n";}echo"<tr><td><th>".lang(245,count($Kh)),"<td>".h(JUSH=="sql"?get_val("SELECT @@default_storage_engine"):""),"<td>".h(db_collation(DB,collations()));foreach(array("Data_length","Index_length","Data_free")as$z)echo($d[$z]?"<td align='right' id='sum-$z'>":"");echo"\n","</table>\n",script("ajaxSetHtml('".js_escape(ME)."script=db');"),"</div>\n";if(!information_schema(DB)){$Gi="<input type='submit' value='".lang(274)."'> ".on_help("'VACUUM'");$uf="<input type='submit' name='optimize' value='".lang(275)."'> ".on_help(JUSH=="sql"?"'OPTIMIZE TABLE'":"'VACUUM OPTIMIZE'");$ng=(JUSH=="sqlite"?$Gi."<input type='submit' name='check' value='".lang(276)."'> ".on_help("'PRAGMA integrity_check'"):(JUSH=="pgsql"?$Gi.$uf:(JUSH=="sql"?"<input type='submit' value='".lang(277)."'> ".on_help("'ANALYZE TABLE'").$uf."<input type='submit' name='check' value='".lang(276)."'> ".on_help("'CHECK TABLE'")."<input type='submit' name='repair' value='".lang(278)."'> ".on_help("'REPAIR TABLE'"):""))).(function_exists('Adminer\truncate_tables')?"<input type='submit' name='truncate' value='".lang(279)."'> ".on_help(JUSH=="sqlite"?"'DELETE'":"'TRUNCATE".(JUSH=="pgsql"?"'":" TABLE'")).confirm():"").(function_exists('Adminer\drop_tables')?"<input type='submit' name='drop' value='".lang(128)."'>".on_help("'DROP TABLE'").confirm():"");echo($ng?"<div class='footer'><div>\n<fieldset><legend>".lang(127)." <span id='selected'></span></legend><div>$ng\n</div></fieldset>\n":"");$i=(support("scheme")?adminer()->schemas():adminer()->databases());$Ug="";if(count($i)!=1&&JUSH!="sqlite"){echo"<fieldset><legend>".lang(280)." <span id='selected3'></span></legend><div>";$j=(isset($_POST["target"])?$_POST["target"]:(support("scheme")?$_GET["ns"]:DB));echo($i?html_select("target",$i,$j):'<input name="target" value="'.h($j).'" autocapitalize="off">'),"</label> <input type='submit' name='move' value='".lang(281)."'>",(support("copy")?" <input type='submit' name='copy' value='".lang(282)."'> ".checkbox("overwrite",1,$_POST["overwrite"],lang(283)):""),"</div></fieldset>\n";$Ug=" selectCount('selected3', formChecked(this, /^(tables|views)\[/));";}echo"<input type='hidden' name='all' value=''>",script("qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^(tables|views)\[/));".(support("table")?" selectCount('selected2', formChecked(this, /^tables\[/) || $T);":"")."$Ug }"),input_token(),"</div></div>\n";}echo"</form>\n",script("tableCheck();");}echo(function_exists('Adminer\alter_table')?"<p class='links'><a href='".h(ME)."create='>".lang(69)."</a>\n":''),(support("view")?"<a href='".h(ME)."view='>".lang(207)."</a>\n":"");if(support("routine")){echo"<h3 id='routines'>".lang(64)."</h3>\n";$Og=routines();if($Og){echo"<table class='odds'>\n",'<thead><tr><th>'.lang(188).'<td>'.lang(41).'<td>'.lang(224)."<td></thead>\n";foreach($Og
as$M){$E=($M["SPECIFIC_NAME"]==$M["ROUTINE_NAME"]?"":"&name=".urlencode($M["ROUTINE_NAME"]));echo'<tr>','<th><a href="'.h(ME.($M["ROUTINE_TYPE"]!="PROCEDURE"?'callf=':'call=').urlencode($M["SPECIFIC_NAME"]).$E).'">'.h($M["ROUTINE_NAME"]).'</a>','<td>'.h($M["ROUTINE_TYPE"]),'<td>'.h($M["DTD_IDENTIFIER"]),'<td><a href="'.h(ME.($M["ROUTINE_TYPE"]!="PROCEDURE"?'function=':'procedure=').urlencode($M["SPECIFIC_NAME"]).$E).'">'.lang(139)."</a>";}echo"</table>\n";}echo'<p class="links">'.(support("procedure")?'<a href="'.h(ME).'procedure=">'.lang(223).'</a>':'').'<a href="'.h(ME).'function=">'.lang(222)."</a>\n";}if(support("event")){echo"<h3 id='events'>".lang(66)."</h3>\n";$N=get_rows("SHOW EVENTS");if($N){echo"<table>\n","<thead><tr><th>".lang(188)."<td>".lang(284)."<td>".lang(213)."<td>".lang(214)."<td></thead>\n";foreach($N
as$M)echo"<tr>","<th>".h($M["Name"]),"<td>".($M["Execute at"]?lang(285)."<td>".$M["Execute at"]:lang(215)." ".$M["Interval value"]." ".$M["Interval field"]."<td>$M[Starts]"),"<td>$M[Ends]",'<td><a href="'.h(ME).'event='.urlencode($M["Name"]).'">'.lang(139).'</a>';echo"</table>\n";$sc=get_val("SELECT @@event_scheduler");if($sc&&$sc!="ON")echo"<p class='error'><code class='jush-sqlset'>event_scheduler</code>: ".h($sc)."\n";}echo'<p class="links"><a href="'.h(ME).'event=">'.lang(212)."</a>\n";}}}}page_footer();