<?php
/** Adminer Editor - Compact database editor
* @link https://www.adminer.org/
* @author Jakub Vrana, https://www.vrana.cz/
* @copyright 2009 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 6.0.0
*/namespace
Adminer;const
VERSION="6.0.0";error_reporting(24575);set_error_handler(function($Qb,$Sb){return!!preg_match('~^Undefined (array key|offset|index)~',$Sb);},E_WARNING|E_NOTICE);$jc=!preg_match('~^(unsafe_raw)?$~',ini_get("filter.default"));if($jc||ini_get("filter.default_flags")){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$W){$wg=filter_input_array(constant("INPUT$W"),FILTER_UNSAFE_RAW);if($wg)$$W=$wg;}}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(){$fb=adminer()->credentials();$J=Driver::connect($fb[0],$fb[1],$fb[2]);return(is_object($J)?$J:null);}function
idf_unescape($t){if(!preg_match('~^[`\'"[]~',$t))return$t;$zd=substr($t,-1);return
str_replace($zd.$zd,$zd,substr($t,1,-1));}function
q($P){return
connection()->quote($P);}function
idx($oa,$v,$i=null){return($oa&&array_key_exists($v,$oa)?$oa[$v]:$i);}function
number($W){return
preg_replace('~[^0-9]+~','',$W);}function
int_type(){return'(tiny|small|medium|big)?int(eger|\d)?';}function
number_type(){return'(^('.int_type().'|decimal|numeric|real|(binary_|half_|scaled_)?float\d?|(binary_)?double( precision)?|(small)?money)$)';}function
remove_slashes(array$Ig,$jc=false){$J=array();foreach($Ig
as$v=>$W)$J[stripslashes($v)]=(is_array($W)?remove_slashes($W,$jc):($jc?$W:stripslashes($W)));return$J;}function
bracket_escape($t,$va=false){static$lg=array(':'=>':1',']'=>':2','['=>':3','"'=>':4','='=>':5');return
strtr($t,($va?array_flip($lg):$lg));}function
url_escape($P){static$lg=array();if(!$lg){$lg=array(' '=>'+');foreach(str_split("\"'<>#%&+=?".ini_get("arg_separator.input"))as$Fa)$lg[$Fa]=sprintf('%%%02X',ord($Fa));for($r=0;$r<256;$r++){if($r<32||$r>126)$lg[chr($r)]=sprintf('%%%02X',$r);}}return
strtr((string)$P,$lg);}function
min_version($Jg,$Md="",$g=null){$g=connection($g);$zf=$g->server_info;if($Md&&preg_match('~([\d.]+)-MariaDB~',$zf,$z)){$zf=$z[1];$Jg=$Md;}return$Jg&&version_compare($zf,$Jg)>=0;}function
charset(Db$f){return(min_version("5.5.3",0,$f)?"utf8mb4":"utf8");}function
ini_set($xe,$X){return(function_exists('ini_set')?\ini_set($xe,$X):false);}function
ini_bool($dd){$W=ini_get($dd);return(preg_match('~^(on|true|yes)$~i',$W)||(int)$W);}function
ini_bytes($dd){$W=ini_get($dd);switch(strtolower(substr($W,-1))){case'g':$W=(int)$W*1024;case'm':$W=(int)$W*1024;case'k':$W=(int)$W*1024;}return$W;}function
max_input_vars($K,$Be){$Pd=(int)ini_get("max_input_vars");return($Pd?(int)floor(($Pd-$Be)/$K):0);}function
max_input_vars_error(){$dd="max_input_vars";return
lang(0,"<b>$dd = ".ini_get($dd)."</b>");}function
sid(){static$J;if($J===null)$J=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$J;}function
set_password($Y,$N,$U,$F){$_SESSION["pwds"][$Y][$N][$U]=($_COOKIE["adminer_key"]&&is_string($F)?array(encrypt_string($F,$_COOKIE["adminer_key"])):$F);}function
get_password(){$J=get_session("pwds");if(is_array($J))$J=($_COOKIE["adminer_key"]?decrypt_string($J[0],$_COOKIE["adminer_key"]):false);return$J;}function
get_val($H,$k=0,$Ua=null){$Ua=connection($Ua);$I=$Ua->query($H);if(!is_object($I))return
false;$K=$I->fetch_row();return($K?$K[$k]:false);}function
get_vals($H,$d=0){$J=array();$I=connection()->query($H);if(is_object($I)){while($K=$I->fetch_row())$J[]=$K[$d];}return$J;}function
get_key_vals($H,$g=null,$Bf=true){$g=connection($g);$J=array();$I=$g->query($H);if(is_object($I)){while($K=$I->fetch_row()){if($Bf)$J[$K[0]]=$K[1];else$J[]=$K[0];}}return$J;}function
get_rows($H,$g=null,$j="<p class='error'>"){$Ua=connection($g);$J=array();$I=$Ua->query($H);if(is_object($I)){while($K=$I->fetch_assoc())$J[]=$K;}elseif(!$I&&!$g&&$j&&(defined('Adminer\PAGE_HEADER')||$j=="-- "))echo$j.error()."\n";return$J;}function
unique_array($K,array$u){foreach($u
as$ad){if(preg_match("~^(PRIMARY|UNIQUE)$~",$ad["type"])&&!$ad["partial"]){$J=array();foreach($ad["columns"]as$v){if(!isset($K[$v]))continue
2;$J[$v]=$K[$v];}return$J;}}}function
escape_key($v){if(preg_match('(^([\w(]+)('.str_replace("_",".*",preg_quote(idf_escape("_"))).')([ \w)]+)$)',$v,$z))return$z[1].idf_escape(idf_unescape($z[2])).$z[3];return
idf_escape($v);}function
where(array$Z,array$l=array()){$J=array();foreach((array)$Z["where"]as$v=>$W){$v=bracket_escape($v,true);$d=escape_key($v);$k=idx($l,$v,array());$fc=$k["type"];$ld=$k&&(is_blob($k)||preg_match('~binary~',$fc));$J[]=$d.($ld&&!is_utf8($W)?" = ".driver()->quoteBinary($W):(JUSH=="sql"&&$fc=="json"?" = CAST(".q($W)." AS JSON)":(JUSH=="pgsql"&&preg_match('~^jsonb?$~',$k["full_type"])?"::jsonb = ".q($W)."::jsonb":(JUSH=="sql"&&is_numeric($W)&&preg_match('~\.~',$W)?" LIKE ".q($W):(JUSH=="mssql"&&strpos($fc,"datetime")===false?" LIKE ".q(preg_replace('~[_%[]~','[\0]',$W)):" = ".unconvert_field($k,q($W)))))));if(JUSH=="sql"&&preg_match('~char|text~',$fc)&&preg_match("~[^ -@]~",$W))$J[]="$d = ".q($W)." COLLATE ".charset(connection())."_bin";}foreach((array)$Z["null"]as$v)$J[]=escape_key($v)." IS NULL";return
implode(" AND ",$J);}function
where_columns(array$l){$J=array();foreach((array)$_GET["null"]as$v)$J[$v]=true;foreach((array)$_GET["where"]as$v=>$W){$v=bracket_escape($v,true);foreach($l
as$A=>$k){if($v==$A||strpos($v,idf_escape($A))!==false)$J[$A]=true;}}return$J;}function
where_check($W,array$l=array()){parse_str($W,$Ha);remove_slashes(array(&$Ha));return
where($Ha,$l);}function
where_link($r,$d,$X,$ve="="){$ue=($X!==null?$ve:"IS NULL");return"&where[$r][col]=".url_escape($d).($ue!=first(adminer()->operators())?"&where[$r][op]=".url_escape($ue):"")."&where[$r][val]=".url_escape($X);}function
convert_fields(array$e,array$l,array$M=array()){$J="";foreach($e
as$v=>$W){if($M&&!in_array(idf_escape($v),$M))continue;$pa=convert_field($l[$v]);if($pa)$J
.=", $pa AS ".idf_escape($v);}return$J;}function
cookie_path(){return
strtr(preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]),array(";"=>"%3B",","=>"%2C"));}function
cookie($A,$X,$Ed=2592000){header("Set-Cookie: $A=".rawurlencode($X).($Ed?"; expires=".gmdate("D, d M Y H:i:s",time()+$Ed)." GMT":"")."; path=".cookie_path().(HTTPS?"; secure":"").($A=="adminer_import"?"":"; HttpOnly")."; SameSite=lax",false);}function
get_url($Ag,$Xa){$http_response_header=null;$Rb=array();set_error_handler(function($Qb,$j)use(&$Rb){$Rb[]=preg_replace('~^file_get_contents\([^)]*\):\s*~','',$j);return
true;});$J=file_get_contents($Ag,false,$Xa);restore_error_handler();$Mc=(function_exists('http_get_last_response_headers')?http_get_last_response_headers():$http_response_header);return
array($J,(preg_match('~^HTTP/[\d.]+ (\d+)~',idx($Mc,0,''),$z)?$z[1]:''),(array)$Mc,($J===false?implode("\n",$Rb):''),);}function
get_settings($ab){parse_str($_COOKIE[$ab],$Cf);return$Cf;}function
get_setting($v,$ab="adminer_settings",$i=null){return
idx(get_settings($ab),$v,$i);}function
save_settings(array$Cf,$ab="adminer_settings"){$X=http_build_query($Cf+get_settings($ab));cookie($ab,$X);$_COOKIE[$ab]=$X;}function
restart_session(){if(!ini_bool("session.use_cookies")&&(!function_exists('session_status')||session_status()==PHP_SESSION_NONE))session_start();}function
stop_session($oc=false){$Bg=ini_bool("session.use_cookies");if(!$Bg||$oc){session_write_close();if($Bg&&ini_set("session.use_cookies",'0')===false)session_start();}}function&get_session($v){return$_SESSION[$v][DRIVER][SERVER][$_GET["username"]];}function
set_session($v,$W){$_SESSION[$v][DRIVER][SERVER][$_GET["username"]]=$W;}function
auth_url($Y,$N,$U,$h=null){$_g=remove_from_uri(implode("|",array_keys(SqlDriver::$drivers))."|username|ext|".($h!==null?"db|":"").($Y=='mssql'||$Y=='pgsql'?"":"ns|").session_name());preg_match('~([^?]*)\??(.*)~',$_g,$z);return"$z[1]?".(sid()?SID."&":"").($_GET["ext"]?"ext=".url_escape($_GET["ext"])."&":"").($Y!="server"||$N!=""?url_escape($Y)."=".url_escape($N)."&":"")."username=".url_escape($U).($h!=""?"&db=".url_escape($h):"").($z[2]?"&$z[2]":"");}function
is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}function
redirect($Id,$ae=null){if($ae!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($Id!==null?$Id:$_SERVER["REQUEST_URI"]))][]=$ae;}if($Id!==null){if($Id=="")$Id=".";header("Location: $Id");exit;}}function
query_redirect($H,$Id,$ae,$gf=true,$Xb=true,$cc=false,$cg=""){if($Xb){$Nf=microtime(true);$cc=!connection()->query($H);$cg=format_time($Nf);}$Kf=($H?adminer()->messageQuery($H,$cg,$cc):"");if($cc){adminer()->error
.=error().$Kf.script("messagesPrint();")."<br>";return
false;}if($gf)redirect($Id,$ae.$Kf);return
true;}class
Queries{static$queries=array();static$start=0;}function
queries($H){if(!Queries::$start)Queries::$start=microtime(true);Queries::$queries[]=(driver()->delimiter!=';'?$H:(preg_match('~;$~',$H)?"DELIMITER ;;\n$H;\nDELIMITER ":$H).";");return
connection()->query($H);}function
apply_queries($H,array$Xf,$Tb='Adminer\table'){foreach($Xf
as$Q){if(!queries("$H ".$Tb($Q)))return
false;}return
true;}function
queries_redirect($Id,$ae,$gf){$bf=implode("\n",Queries::$queries);$cg=format_time(Queries::$start);return
query_redirect($bf,$Id,$ae,$gf,false,!$gf,$cg);}function
format_time($Nf){return
lang(1,max(0,microtime(true)-$Nf));}function
relative_uri(){return
preg_replace_callback('~^[^?]*~',function($z){return
str_replace(":","%3A",$z[0]);},preg_replace('~^[^?]*/([^?]*)~','\1',$_SERVER["REQUEST_URI"]));}function
remove_from_uri($Fe=""){return
substr(preg_replace("~(?<=[?&])($Fe".(SID?"":"|".session_name()).")=[^&]*&~",'',relative_uri()."&"),0,-1);}function
get_files($v,$ob=false){$m=$_FILES[$v];if(!$m)return
null;foreach($m
as$v=>$W)$m[$v]=(array)$W;$J=array();foreach($m["error"]as$v=>$j){if($j)return$j;$A=$m["name"][$v];$ig=$m["tmp_name"][$v];$Wa=file_get_contents($ob&&preg_match('~\.gz$~',$A)?"compress.zlib://$ig":$ig);if($ob){$Nf=substr($Wa,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$Nf))$Wa=iconv("utf-16","utf-8",$Wa);elseif($Nf=="\xEF\xBB\xBF")$Wa=substr($Wa,3);}$J[]=array($A,$Wa);}return$J;}function
get_file($v,$ob=false,$rb=""){$ic=get_files($v,$ob);if(!is_array($ic))return$ic;$J='';foreach($ic
as$m){$Wa=$m[1];$J
.=$Wa;if($rb)$J
.=(preg_match("($rb\\s*\$)",$Wa)?"":$rb)."\n\n";}return$J;}function
upload_error($j){$Ud=($j==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($j?lang(2).($Ud?" ".lang(3,$Ud):""):lang(4));}function
repeat_pattern($Le,$w){return
str_repeat("$Le{0,65535}",$w/65535)."$Le{0,".($w%65535)."}";}function
is_utf8($W){return(preg_match('~~u',$W)&&!preg_match('~[\0-\x8\xB\xC\xE-\x1F]~',$W));}function
format_number($W){return
strtr(number_format($W,0,".",lang(5)),preg_split('~~u',lang(6),-1,PREG_SPLIT_NO_EMPTY));}function
format_status(array$R,$v){$W=idx($R,$v,'?');if(!is_numeric($W))return
h($W);if($W<0)return'?';$la=($v=="Rows"&&(JUSH=="sqlite"||$R["Engine"]==(JUSH=="pgsql"?"table":"InnoDB")));return($la?"~ ":"").format_number($W);}function
friendly_url($W){return
preg_replace('~\W~i','-',$W);}function
table_status1($Q,$dc=false){$J=table_status($Q,$dc);return($J?reset($J):array("Name"=>$Q));}function
column_foreign_keys($Q){$J=array();foreach(adminer()->foreignKeys($Q)as$sc){foreach($sc["source"]as$W)$J[$W][]=$sc;}return$J;}function
fields_from_edit(){$J=array();foreach((array)$_POST["field_keys"]as$v=>$W){if($W!=""){$W=bracket_escape($W);$_POST["function"][$W]=$_POST["field_funs"][$v];$_POST["fields"][$W]=$_POST["field_vals"][$v];}}foreach((array)$_POST["fields"]as$v=>$W){$A=bracket_escape($v,true);$J[$A]=array("field"=>$A,"full_type"=>"","type"=>"","privileges"=>array("insert"=>1,"update"=>1,"where"=>1,"order"=>1),"null"=>true,"auto_increment"=>($A==driver()->primary),);}return$J;}function
dump_headers($Vc,$je=false){$J=adminer()->dumpHeaders($Vc,$je);$Ce=$_POST["output"];if($Ce!="text"||$J=="tar"){$Sa=($Ce!="text"&&$Ce!="file"&&preg_match('~^[0-9a-z]+$~',$Ce)?".$Ce":"");header("Content-Disposition: attachment; filename=".adminer()->dumpFilename($Vc).".$J$Sa");}session_write_close();if(!ob_get_level())ob_start(null,4096);ob_flush();flush();return$J;}function
dump_csv(array$K){$pg=$_POST["format"]=="tsv";foreach($K
as$v=>$W){if(preg_match('~["\n]|^0[^.]|\.\d*0$|'.($pg?'\t':'[,;]|^$').'~',$W))$K[$v]='"'.str_replace('"','""',$W).'"';}echo
implode(($_POST["format"]=="csv"?",":($pg?"\t":";")),$K)."\r\n";}function
parse_csv($ib,$yf){$J=array();preg_match_all('~(?>"[^"]*"|[^"\r\n]+)+~',$ib,$Nd);foreach($Nd[0]as$K){preg_match_all("~((?>\"[^\"]*\")+|[^$yf]*)$yf~",$K.$yf,$Od);$J[]=$Od[1];}return$J;}function
csv_value($W){return(preg_match('~^".*"$~s',$W)?str_replace('""','"',substr($W,1,-1)):$W);}function
apply_sql_function($p,$d){return($p?($p=="unixepoch"?"DATETIME($d, '$p')":($p=="count distinct"?"COUNT(DISTINCT ":strtoupper("$p("))."$d)"):$d);}function
get_temp_dir(){return
ini_get("upload_tmp_dir")?:sys_get_temp_dir();}function
file_open_lock($n){if(is_link($n))return;$o=@fopen($n,"c+");if(!$o)return;@chmod($n,0660);if(!flock($o,LOCK_EX)){fclose($o);return;}return$o;}function
file_write_unlock($o,$lb){rewind($o);fwrite($o,$lb);ftruncate($o,strlen($lb));file_unlock($o);}function
file_unlock($o){flock($o,LOCK_UN);fclose($o);}function
first(array$oa){return
reset($oa);}function
password_file($db){$n=get_temp_dir()."/adminer.key";if(!$db&&!file_exists($n))return'';$o=file_open_lock($n);if(!$o)return'';$J=stream_get_contents($o);if(!$J){$J=rand_string();file_write_unlock($o,$J);}else
file_unlock($o);return$J;}function
rand_string(){return(function_exists('random_bytes')?bin2hex(random_bytes(16)):md5(uniqid(strval(mt_rand()),true)));}function
select_value($W,$y,array$k,$ag){if(is_array($W)){$J="";if(array_filter($W,'is_array')==array_values($W)){$td=array();foreach($W
as$V)$td+=array_fill_keys(array_keys($V),null);foreach(array_keys($td)as$sd)$J
.="<th>".h($sd);foreach($W
as$V){$J
.="<tr>";foreach(array_merge($td,$V)as$Fg)$J
.="<td>".select_value($Fg,$y,$k,$ag);}}else{foreach($W
as$sd=>$V)$J
.="<tr>".($W!=array_values($W)?"<th>".h($sd):"")."<td>".select_value($V,$y,$k,$ag);}return"<table>$J</table>";}if(!$y)$y=adminer()->selectLink($W,$k);if($y===null){if(is_mail($W))$y="mailto:$W";if(is_url($W))$y=$W;}$W=driver()->value($W,$k);$J=adminer()->editVal($W,$k);if($J!==null){if(!is_utf8($J))$J="\0";elseif($ag!=""&&is_shortable($k))$J=shorten_utf8($J,max(0,+$ag));else$J=h($J);}return
adminer()->selectVal($J,$y,$k,$W);}function
is_blob(array$k){return
preg_match('~blob|bytea|raw|file'.(JUSH=="mssql"?'|binary|image':'').'~',$k["type"])&&!in_array($k["type"],idx(driver()->structuredTypes(),lang(7),array()));}function
is_mail($Jb){$qa='[-a-z0-9!#$%&\'*+/=?^_`{|}~]';$Cb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$Le="$qa+(\\.$qa+)*@($Cb?\\.)+$Cb";return
is_string($Jb)&&preg_match("(^$Le(,\\s*$Le)*\$)i",$Jb);}function
is_url($P){$Cb='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return
preg_match("~^((https?):)?//($Cb?\\.)+$Cb(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i",$P);}function
is_shortable(array$k){return!preg_match('~'.number_type().'|date|time|year~',$k["type"]);}function
host_port($N){return(preg_match('~^(:([^:].*)|(\[(.+)\]|(([^:]+://)?[^:]+))(:(\d+))?)$~',$N,$z)?array($z[4].$z[5],$z[2].$z[8]):array($N,''));}function
count_rows($Q,array$Z,$md,array$q){$H=" FROM ".table($Q).($Z?" WHERE ".implode(" AND ",$Z):"");return($md&&(JUSH=="sql"||count($q)==1)?"SELECT COUNT(DISTINCT ".implode(", ",$q).")$H":"SELECT COUNT(*)".($md?" FROM (SELECT 1$H GROUP BY ".implode(", ",$q).") x":$H));}function
slow_query($H){$h=adminer()->database();$dg=adminer()->queryTimeout();$Ff=driver()->slowQuery($H,$dg);$g=null;if(!$Ff&&support("kill")){$g=connect();if($g&&($h==""||$g->select_db($h))){$ud=get_val(connection_id(),0,$g);echo
script("const timeout = setTimeout(() => { ajax('".js_escape(ME)."script=kill', function () {}, 'kill=$ud&token=".get_token()."'); }, 1000 * $dg);");}}ob_flush();flush();$J=@get_key_vals(($Ff?:$H),$g,false);if($g){echo
script("clearTimeout(timeout);");ob_flush();flush();}return$J;}function
get_token(){$ef=rand(1,1e6);return($ef^$_SESSION["token"]).":$ef";}function
verify_token(){list($jg,$ef)=explode(":",$_POST["token"]);return($ef^$_SESSION["token"])==$jg&&in_array($_SERVER["HTTP_SEC_FETCH_SITE"],array("","same-origin"));}function
compress_alphabet(){return
strtr(implode(range('"','~')),"'\\","!\n");}function
decompress_string($P,$ub=""){$ia=array_flip(str_split(compress_alphabet()));$w=strlen($P);$Hg=($w?13*($w-1)/2-$ia[$P[0]]:0);$c="";$nf=0;$of=0;for($r=1;$r<$w;$r+=2){$nf=($nf<<13)+$ia[$P[$r]]*93+$ia[$P[$r+1]];$of+=13;while($of>=8&&$Hg>=8){$of-=8;$Hg-=8;$c
.=chr($nf>>$of);$nf&=(1<<$of)-1;}}if($c=="")return"";if($ub!=""&&function_exists('inflate_init'))return
inflate_add(inflate_init(ZLIB_ENCODING_RAW,array('dictionary'=>$ub)),$c,ZLIB_FINISH);return($ub==""&&function_exists('gzinflate')?gzinflate($c):inflate($c,$ub));}function
inflate($c,$ub=""){$Bd=array(3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258);$Cd=array(0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0);$xb=array(1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577);$zb=array(0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13);$J=$ub;$G=0;do{$kc=inflate_bits($c,$G,1);$S=inflate_bits($c,$G,2);if(!$S){$G=($G+7)&~7;$w=inflate_bits($c,$G,16);$G+=16;$J
.=substr($c,$G>>3,$w);$G+=$w<<3;}else{if($S==1){$Gd=array_merge(array_fill(0,144,8),array_fill(0,112,9),array_fill(0,24,7),array_fill(0,8,8));$_b=array_fill(0,30,5);}else{$Fd=inflate_bits($c,$G,5)+257;$yb=inflate_bits($c,$G,5)+1;$D=array(16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15);$de=array_fill(0,19,0);$ce=inflate_bits($c,$G,4)+4;for($r=0;$r<$ce;$r++)$de[$D[$r]]=inflate_bits($c,$G,3);$ee=inflate_table($de);$Dd=array();while(count($Dd)<$Fd+$yb){$Tf=inflate_symbol($c,$G,$ee);if($Tf==16)$Dd=array_merge($Dd,array_fill(0,inflate_bits($c,$G,2)+3,end($Dd)));elseif($Tf==17)$Dd=array_merge($Dd,array_fill(0,inflate_bits($c,$G,3)+3,0));elseif($Tf==18)$Dd=array_merge($Dd,array_fill(0,inflate_bits($c,$G,7)+11,0));else$Dd[]=$Tf;}$Gd=array_slice($Dd,0,$Fd);$_b=array_slice($Dd,$Fd);}$Hd=inflate_table($Gd);$Bb=inflate_table($_b);while(($Tf=inflate_symbol($c,$G,$Hd))!=256){if($Tf<256)$J
.=chr($Tf);else{$w=$Bd[$Tf-257]+inflate_bits($c,$G,$Cd[$Tf-257]);$Ab=inflate_symbol($c,$G,$Bb);$re=strlen($J)-$xb[$Ab]-inflate_bits($c,$G,$zb[$Ab]);for($r=0;$r<$w;$r++)$J
.=$J[$re+$r];}}}}while(!$kc);return($ub==""?$J:substr($J,strlen($ub)));}function
inflate_bits($c,&$G,$cb){$J=0;for($r=0;$r<$cb;$r++){$J+=((ord($c[$G>>3])>>($G&7))&1)<<$r;$G++;}return$J;}function
inflate_table(array$Dd){$Q=array();$Ma=0;for($Aa=1;$Aa<=max($Dd);$Aa++){foreach($Dd
as$Tf=>$w){if($w==$Aa){$Q[$Aa][$Ma]=$Tf;$Ma++;}}$Ma<<=1;}return$Q;}function
inflate_symbol($c,&$G,array$Q){$Ma=0;$Aa=0;do{$Ma=($Ma<<1)+inflate_bits($c,$G,1);$Aa++;}while(!isset($Q[$Aa][$Ma]));return$Q[$Aa][$Ma];}function
script($Jf,$kg="\n"){return"<script".nonce().">$Jf</script>$kg";}function
script_src($Ag,$pb=false){return"<script src='".h($Ag)."'".nonce().($pb?" defer":"")."></script>\n";}function
nonce(){return' nonce="'.get_nonce().'"';}function
on($Ub,$Fc,$ma=null){$na=array();foreach(array_slice(func_get_args(),2)as$W)$na[]=json_encode($W,256);return" data-on$Ub='".str_replace(array('&','<',"'"),array('&amp;','&lt;','&#039;'),"$Fc(".implode(", ",$na).")")."'";}function
input_hidden($A,$X=""){return"<input type='hidden' name='".h($A)."' value='".h($X)."'>\n";}function
input_token(){return
input_hidden("token",get_token());}function
target_blank(){return' target="_blank" rel="noreferrer noopener"';}function
h($P){return
str_replace(array('&','<','"',"'","\0"),array('&amp;','&lt;','&quot;','&#039;','&#0;'),$P);}function
nl_br($P){return
str_replace("\n","<br>",$P);}function
checkbox($A,$X,$Ia,$vd="",$b="",$La="",$xd=""){$J="<input type='checkbox' name='$A' value='".h($X)."'".($Ia?" checked":"").($vd==""&&$La?" class='$La'":"").($xd?" aria-labelledby='$xd'":"").$b.">";return($vd!=""?"<label".($La?" class='$La'":"").">$J".h($vd)."</label>":$J);}function
optionlist($C,$wf=null,$Cg=false){$J="";foreach($C
as$sd=>$V){$ye=array($sd=>$V);if(is_array($V)){$J
.='<optgroup label="'.h($sd).'">';$ye=$V;}foreach($ye
as$v=>$W)$J
.='<option'.($Cg||is_string($v)?' value="'.h($v).'"':'').($wf!==null&&($Cg||is_string($v)?(string)$v:$W)===$wf?' selected':'').'>'.h($W);if(is_array($V))$J
.='</optgroup>';}return$J;}function
html_select($A,array$C,$X="",$b="",$xd=""){static$vd=0;$wd="";if(!$xd&&substr($C[""],0,1)=="("){$vd++;$xd="label-$vd";$wd="<option value='' id='$xd'>".h($C[""]);unset($C[""]);}return"<select name='".h($A)."'".($xd?" aria-labelledby='$xd'":"")."$b>".$wd.optionlist($C,$X)."</select>";}function
html_radios($A,array$C,$X="",$yf=""){$J="";foreach($C
as$v=>$W)$J
.="<label><input type='radio' name='".h($A)."' value='".h($v)."'".($v==$X?" checked":"").">".h($W)."</label>$yf";return$J;}function
confirm($ae=""){return
on('click','confirmClick',$ae?:lang(8));}function
print_fieldset($s,$Ad,$Mg=false){echo"<fieldset><legend>","<a href='#fieldset-$s' class='toggle'>$Ad</a>","</legend>","<div id='fieldset-$s'".($Mg?"":" class='hidden'").">\n";}function
bold($Ba,$La=""){return($Ba?" class='active $La'":($La?" class='$La'":""));}function
js_escape($P){return
str_replace("<","\\x3C",addcslashes($P,"\r\n'\\"));}function
js_escape_re($P){return
addcslashes(preg_quote($P,"/"),"\r\n");}function
pagination_href($E){return
remove_from_uri("page|next").($E?"&page=$E".($_GET["next"]!=""?"&next=".url_escape($_GET["next"]):""):"");}function
pagination($E,$jb){return" ".($E==$jb?($E?"<b>".($E+1)."</b>":$E+1):'<a href="'.h(pagination_href($E)).'">'.($E+1)."</a>");}function
hidden_fields(array$Ze,array$Xc=array(),$Ve=''){$J=false;foreach($Ze
as$v=>$W){if(!in_array($v,$Xc)){if(is_array($W))hidden_fields($W,array(),$v);else{$J=true;echo
input_hidden(($Ve?$Ve."[$v]":$v),$W);}}}return$J;}function
hidden_fields_get(){echo(sid()?input_hidden(session_name(),session_id()):''),($_GET["ext"]?input_hidden("ext",$_GET["ext"]):""),(isset($_GET[DRIVER])?input_hidden(DRIVER,SERVER):""),input_hidden("username",$_GET["username"]);}function
file_input($b,$nf=""){$Qd="max_file_uploads";$Rd=ini_get($Qd);$Ud="upload_max_filesize";$Vd=ini_bytes($Ud);$Te=ini_bytes("post_max_size");if($Te&&$Te<$Vd){$Ud="post_max_size";$Vd=$Te;}$Wd=ini_get($Ud);return(ini_bool("file_uploads")?"<input type='file'$b".on('change','fileChange',(int)$Rd,lang(9,"$Qd = $Rd"),$Vd,lang(9,"$Ud = $Wd")).">$nf":lang(10));}function
enum_input($S,$b,array$k,$X,$Mb=""){preg_match_all("~'((?:[^']|'')*)'~",$k["length"],$Nd);$Ve=($k["type"]=="enum"?"val-":"");$Ia=(is_array($X)?in_array("null",$X):$X===null);$J=($k["null"]&&$Ve?"<label><input type='$S'$b value='null'".($Ia?" checked":"")."><i>$Mb</i></label>":"");foreach($Nd[1]as$W){$W=stripcslashes(str_replace("''","'",$W));$Ia=(is_array($X)?in_array($Ve.$W,$X):$X===$W);$J
.=" <label><input type='$S'$b value='".h($Ve.$W)."'".($Ia?' checked':'').'>'.h(adminer()->editVal($W,$k)).'</label>';}return$J;}function
input(array$k,$X,$p,$ua=false,$T=false){$A=h(bracket_escape($k["field"]));echo"<td class='function'>";if(is_array($X)&&!$p)$p="json";$qd=($p=="json"||preg_match('~^jsonb?$~',$k["full_type"]));if($qd&&$X!=''&&(JUSH!="pgsql"||$k["type"]!="json"))$X=json_encode(is_array($X)?$X:json_decode($X),128|64|256);$mf=(JUSH=="mssql"&&$T&&$k["auto_increment"]);if($mf&&!$_POST["save"])$p=null;$zc=(isset($_GET["select"])||$mf?array("orig"=>lang(11)):array())+adminer()->editFunctions($k);$Pb=driver()->enumLength($k);if($Pb){$k["type"]="enum";$k["length"]=$Pb;}$b=" name='fields[$A]".($k["type"]=="enum"||$k["type"]=="set"?"[]":"")."'".($ua?" autofocus":"");echo
driver()->unconvertFunction($k)." ";$Q=$_GET["edit"]?:$_GET["select"];if($k["type"]=="enum")echo
h($zc[""])."<td>".adminer()->editInput($Q,$k,$b,$X);else{$Ic=(in_array($p,$zc)||isset($zc[$p]));$lc=0;foreach($zc
as$v=>$W){if($v===""||!$W)break;$lc++;}echo(count($zc)>1?"<select name='function[$A]'".on('change','functionChange').on_help_value('^SQL$').">".optionlist($zc,$p===null||$Ic?$p:"")."</select>":h(reset($zc)))."<td".($lc&&count($zc)>1?on('input','skipOriginal',$lc):"").">";$fd=adminer()->editInput($Q,$k,$b,$X);if($fd!="")echo$fd;elseif(preg_match('~bool~',$k["type"]))echo"<input type='hidden'$b value='0'>"."<input type='checkbox'".(preg_match('~^(1|t|true|y|yes|on)$~i',$X)?" checked":"")."$b value='1'>";elseif($k["type"]=="set")echo
enum_input("checkbox",$b,$k,(is_string($X)?explode(",",$X):$X));elseif(is_blob($k)&&ini_bool("file_uploads"))echo"<input type='file' name='fields-$A'>";elseif($qd)echo"<textarea$b cols='50' rows='12' class='jush-json'>".h($X).'</textarea>';elseif(($Zf=preg_match('~text|lob|memo~i',$k["type"]))||preg_match("~\n~",$X)){if($Zf&&JUSH!="sqlite")$b
.=" cols='50' rows='12'";else{$L=min(12,substr_count($X,"\n")+1);$b
.=" cols='30' rows='$L'";}echo"<textarea$b>".h($X).'</textarea>';}else{$rg=driver()->types();$Xd=(!preg_match('~int~',$k["type"])&&preg_match('~^(\d+)(,(\d+))?$~',$k["length"],$z)?((preg_match("~binary~",$k["type"])?2:1)*$z[1]+($z[3]?1:0)+($z[2]&&!$k["unsigned"]?1:0)):($rg[$k["type"]]?$rg[$k["type"]]+($k["unsigned"]?0:1):0));if(JUSH=='sql'&&min_version(5.6)&&preg_match('~time~',$k["type"]))$Xd+=7;echo"<input".((!$Ic||$p==="")&&preg_match('~^'.int_type().'$~',$k["type"])&&!preg_match('~\[]~',$k["full_type"])?" type='number'":"")." value='".h($X)."'".($Xd?" data-maxlength='$Xd'":"").(preg_match('~char|binary~',$k["type"])&&$Xd>20?" size='".($Xd>99?60:40)."'":"")."$b>";}echo
adminer()->editHint($Q,$k,$X),(count($zc)>1?script("fire(qs('select', qsl('td').previousSibling), 'change');",""):"");}}function
process_input(array$k){$t=bracket_escape($k["field"]);$p=idx($_POST["function"],$t);if($p=="orig")return(preg_match('~^CURRENT_TIMESTAMP~i',$k["on_update"])?idf_escape($k["field"]):false);if($p=="NULL")return"NULL";if(is_blob($k)&&ini_bool("file_uploads")){$m=get_file("fields-$t");if(!is_string($m))return
false;return
driver()->quoteBinary($m);}$X=idx($_POST["fields"],$t);if($X===null)return
false;if($k["type"]=="enum"||driver()->enumLength($k)){$X=idx($X,0);if($X=="orig"||!$X)return
false;if($X=="null")return"NULL";$X=substr($X,4);}if($k["auto_increment"]&&$X=="")return
null;if($k["type"]=="set")$X=implode(",",(array)$X);if($p=="json"){$X=json_decode($X,true);if(!is_array($X))return
false;return$X;}return
adminer()->processInput($k,$X,$p);}function
search_tables(){$_GET["where"][0]["val"]=$_POST["query"];$xf="<ul>\n";foreach(table_status('',true)as$Q=>$R){$A=adminer()->tableName($R);if(isset($R["Engine"])&&$A!=""&&(!$_POST["tables"]||in_array($Q,$_POST["tables"]))){$I=connection()->query("SELECT".limit("1 FROM ".table($Q)," WHERE ".implode(" AND ",adminer()->selectSearchProcess(fields($Q),array())),1));if(!$I||$I->fetch_row()){$Xe="<a href='".h(ME."select=".url_escape($Q)."&where[0][op]=".url_escape($_GET["where"][0]["op"])."&where[0][val]=".url_escape($_GET["where"][0]["val"]))."'>$A</a>";echo"$xf<li>".($I?$Xe:"<p class='error'>$Xe: ".error())."\n";$xf="";}}}echo($xf?"<p class='message'>".lang(12):"</ul>")."\n";}function
on_help($Zf,$Df=0){return
on('mouseover','helpMouseover',$Zf,$Df).on('mouseout','helpMouseout');}function
on_help_value($if="",$lf=""){return
on('mouseover','helpValueMouseover',$if,$lf).on('mouseout','helpMouseout');}function
edit_form($Q,array$l,$K,$T,$j=''){$Wf=adminer()->tableName(table_status1($Q,true));page_header(($T?lang(13):lang(14)),$j,array("select"=>array($Q,$Wf)),$Wf);adminer()->editRowPrint($Q,$l,$K,$T);if($K===false){echo"<p class='error'>".lang(15)."\n";return;}echo"<form action='' method='post' enctype='multipart/form-data' id='form'>\n";$Ib=false;$Qg=($T&&!isset($_GET["select"])?where_columns($l):array());$Ya=(count($Qg)!=count($l));if(!$Ya)$Qg=array();if(!$l)echo"<p class='error'>".lang(16)."\n";else{echo"<table class='layout nowrap'".on('keydown','editingKeydown').">\n";$ua=!$_POST;foreach($l
as$A=>$k){echo"<tr".($Qg[$A]?on('change','whereChange'):"")."><th>".adminer()->fieldName($k);$i=idx($_GET["set"],bracket_escape($A));if($i===null){$i=$k["default"];if($k["type"]=="bit"&&preg_match("~^b'([01]*)'\$~",$i,$jf))$i=$jf[1];if(JUSH=="sql"&&preg_match('~binary~',$k["type"]))$i=bin2hex($i);}$X=($K!==null?($K[$A]!=""&&JUSH=="sql"&&preg_match("~enum|set~",$k["type"])&&is_array($K[$A])?implode(",",$K[$A]):(is_bool($K[$A])?+$K[$A]:$K[$A])):(!$T&&$k["auto_increment"]?"":(isset($_GET["select"])?false:$i)));if(!$_POST["save"]&&is_string($X))$X=adminer()->editVal($X,$k);if(($T&&!isset($k["privileges"]["update"]))||$k["generated"])echo"<td class='function'><td>".select_value($X,'',$k,null);else{$Ib=true;$p=($_POST["save"]?idx($_POST["function"],bracket_escape($A),""):($T&&preg_match('~^CURRENT_TIMESTAMP~i',$k["on_update"])?"now":($X===false?null:($X!==null?'':'NULL'))));if(!$_POST&&!$T&&$X==$k["default"]&&preg_match('~^[\w.]+\(~',$X))$p="SQL";if(preg_match("~time~",$k["type"])&&preg_match('~^CURRENT_TIMESTAMP~i',$X)){$X="";$p="now";}if($k["type"]=="uuid"&&$X=="uuid()"){$X="";$p="uuid";}if($ua!==false)$ua=($k["auto_increment"]||$p=="now"||$p=="uuid"?null:true);input($k,$X,$p,$ua,$T);if($ua)$ua=false;}}if(!fields($Q)&&driver()->primary!="")echo"<tr>"."<th><input name='field_keys[]'".on('input','fieldChange').">"."<td class='function'>".html_select("field_funs[]",adminer()->editFunctions(array("null"=>isset($_GET["select"]))))."<td><input name='field_vals[]'>";echo"</table>\n";}echo"<p>\n";if($Ib){echo"<input type='submit' value='".lang(17)."'>\n";if(!isset($_GET["select"])&&$Ya){$vb=($Qg&&($j!=""||adminer()->error!="")?" disabled":"");echo"<input type='submit' name='insert' value='".($T?lang(18):lang(19))."' title='Ctrl+Shift+Enter'$vb".($T?on('click','ajaxForm',lang(20)):"").">\n";}}echo($T?"<input type='submit' name='delete' value='".lang(21)."'".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($P,$w=80,$Rf=""){if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{10FFFF}]",$w).")($)?)u",$P,$z))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$w).")($)?)",$P,$z);return
h($z[1]).$Rf.(isset($z[2])?"":"<i>…</i>");}function
icon($Uc,$A,$Tc,$eg,$b=""){return"<button ".($A?"type='submit' name='$A'":"draggable='true' tabindex='-1'")." title='".h($eg)."' class='icon icon-$Uc".($A?"":" jsonly")."'$b><span>$Tc</span></button>";}function
copy_icon(){$bb=lang(22);return"<a href='' class='jsonly icon-copy' title='$bb'><span>$bb</span></a>";}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
decompress_string('"c01e=<Wb2N?hU-XG)-5X.j3aFaIeR2@G19p}9$bRAi!B?LCVu<HO.XAn1nBXh1a+5;Is5?;+?F@1L3w;Sw>JfE`s_3vFuf4K`9Y]j(G)?FN>W[-LOmhRU6Oq1Jpx(h+Zsiqb4vUwV}:)2}TEy&E,7VT=%El:4}-lrM`}XOQEIlHS
CgQ(:<+UaKL)nUHsX-a*
p
[c8REDEN(<vPeYISepv^I$00Gl&SseDBFXDx4;qZXN1F/$_Nl`MV8r;_edL)(U9RL+%egZ"fTf9=SL_iV9^?:FjIWS/M_[@m[%>708PHf2<*,/U?k9$.d-K)^DTidk+zG[YnDPup[9@a()O%@F/?[V.]G1y[WZWWiB"sSg#jYKun<
KjD^@"R*ahh|e/^PJc3&a82-@DahDx:0qKngGpC+gi??*.KfXe;t+H](J(a0$@mDE,NcDh&EFwR(D(=HkjK(h`T?<]$qQoiI-g8N`(;e6b&eDb`JlGI!<K_qlP0_JVJ?*`FwsV"GRZle@C8n6KJLCqMnH~
*Q@2"GuE1S,$"0Us]TORzPI]5uTprXo$24z*?ZyS@A<"qtdGdU%AF-2bnbBHuei8.%)3&h_2ukv1UWKM!(:D}7V7*m2vg8wHM)mlK`5D{fZ%/LuBoHmWap<lL/{-E!jlO)8kB%0.n3gUc5DT(%DMzs4%=0,m[Prp/%IZQ@qs
<h7(Ex,R:w6@0LUL;RBNE%Hx9%i<7NPXfZfPf[61Rp)Imp,jBsK:0_:;Y)P5AN!tdt.cJT#H;tx]42Gz="8.qb$:,rV.:xHBHKbz@MXNP<_:gs:"l`LP.L"iS]lKX8<v4+Jm,&n,rX`dUQpq0u?_LP4/4+N0^jniic`pqN.d!X)gt-d%<0=V=,cU2hQg]EXO*a?
wE[f*C1EAnNyN9?;nFZWF%NjgJ$
-j:2u<l
.32gx+_~=f+iE];USHPq1?:0F@9Rlh=eD
P[?ZmT4L`M?6lNFaz%g")}DH4/DrWF69[THF1T`0/F=<8z?BBuhvTBLu2.EIc]/`.UcOk4UF.oR^.YaAb&-wcwoj!dZKjr*YMKX9:;+|kYCo1J,y$kKJZS"OPAl6s!Xn^_#CwC+mU"*v]0
oplZ[FZ;LBgd*$!
,Jh&.9IY+vx
@vRAj03%PT3"irSTn(>Ttx.k-/Xf_ll/n%?&"H==KhtUj/(gA1+s#ruq"6GBD9W`y&9;MSjOM4m;6oz!
M%s>FeHbQ!o`#l_ZL/?ri0Tx!Wa@`g=9l=HYJESE(k8MBL[OA_bx4n*&eCCi44Di3r2[WC`>,8j[^@P-+??-?6:qD).IA<q@Zy]69EE[kIh2*CZ+U,Fo]pIE_R.7=oWt."(x?&-XhY;Eq,JBFzYQGHwRP6V
4e&RpRa`,6+y:Re{93xaIM1}N8Um/J]0Q)/2)BCoQhfC1SBeLXr.4)"J1:a`6..+LpV0T;*8jg1xOP&IlufEezj}:!^(v;]JKx.wIfimR"_>X/ONGN<BXjC%$}#nKn[A@[!e8T*J#f`p#P47Z-<~l"s;Z+F:Q{mjT%!eW?d?YrF&LjDhb7RDU"J]%k8}_-eB+9[PO:JXIW3~;tqN@ollho:tR:OOuNBG6pT?2&+qCV._1Rk5%l8io3D"kAA#mQ9UH|UoPeA(shRL>@4oB(ZCh&M#a2*X%OoDHnZlKxuQp7M?($g)(Ao.@lVO#K#Isi5E(tCF^^#+&?`sZU:,r;pP96$$/*2bZx>_>5_j&lI=&~ilgw;jO+KFW+$/4pj)j8=Fm7AS,G8qEZ%K:NTkWpZt$eI
i9-pK;iPTTpLV@-$mDk:>gb~PCG*A1P/TYQb*LDB4de/:adI.SBu5ES)(af*&PDsRt:14PlY!Fgg,?g9lfO$c2An[_n}=40MWgkn)_/=#&OGlm!`.bNFBy4m1-?3R2gZYbnbCE4b&*jT4=OQ;m$bxnFIU20QRq8yY_@g*KwAH}b^>7-w=vuotei~BfFI7]PS;^wWDs"~luE;NB)I6i*GP|&AC^aH>QgDaE18N;[emESal>lRKd(!C6b=b$(m)>TBG"<]`P)*[N`[5z(`.G70OY@VL}9dAv,@Vl>wj4ha(pF14L#CNYo5i^k|OqQ1XP/"e@QuhkV~T|R^xp;5XQ^@E(UNdhnMYIyZ7CG%<D"9NwjZ]Dr%.:=x/d#3vj&8^p85f$3Dep4b??gb^~`|[}Z|mGZ]dA$+A4cmkrS;0hyXQi6cDKu,r6Wy%Si~*8WoH
UQ]4@.-+>K#a*wABq~"1XU%@m4e~<SO<-(p7Lo9=eo5
OaS|OJhat/WA@#0At~0t+?"|oGpCwK)wCF1Qs-:lPZmsV
52BQ>mse@^@~J5]DpDHg-C$3[V%4G|$(f8D,!.MMwkLAf_9cLw->Dxe4R.xr6uN%o#nU,Phb7Vb
wo?vq-
ewL?NL#HR5Zo8M>l>C}^JeGxY1-L{:_oj^LugYmx"h2l}TeV{Y$g0
~"zW`i6ufq^tWi&[fuzMA_w+LkXS+ey7VUSElo}WhGBG[4KXG!)@)wNTUhlsSg.3z]SWCvuUD1UB=iPtv+]ua<s8BBzH[B$to2g_m-~])LQt|j&oDynEa(LhRS[?g!>wxpk@N<[RiTruCM
nOh!:%D$7hSzR0qWaa$Rx~%QdYi4V1R,LQi{"4L%dy64n#!%M*d$:Ktfl*rQM@!jR(fu^:p!/`
h3R+x0Mu;dE7YqUS,dEZE&X-R#qH:+yG79SXfBJY,s/-H+7U
*5.51kcnkA_37A"G<8l<8"sbVlwzT_HL6yI)_un#Pua+u^cxs")cjiLB4qv.fWk6nPE!74pEc%<li`WoeF
!^WXcw_.$py?hkN*,tBmiMNh-Mz:_-(ahMbclQusmi&MrjWSd,wuZd#l{e|A>QjI&A&s#%Ik#iX=Lg>c!F<L
QtYl3$R,mDE)p
`UZ?0Ef?l(l!aefX=D39(y0XUE5]pp0VMXx83yyr+10G:%Gl67RxU=cm*)CuTnQc%}EXUgbuN`VQe[jK`M"y010qL{5X%g5ch(f`
W/Oc%Z)wV#6ZfAOsw.Xd7ALMW^4->`m,c.N6fpzWq)@XTbmCWev"`
)Y|n
y
o[
$1rq4<$9PmFu%W:Se1Tc49>uACW,8GO:a>Q.uo!C?WGd5t~VTKeF9nil4<32Jp9MAM2L@L":+_bsusvXXb0*0K-P{J=Rvu?k94M-pTE2sdrR$#Ky<qwX^wf=K>86!7O@"B}O+hf6dW~Tb6S<z8pMu<#X$+{0}8IS3UM+f1#`e.?O8]_J{,IO8:&[!7v_?<Qd^=3sj_yIo#I)*>gR)5BH/YfwB');}elseif($_GET["file"]=="dark.css"){header("Content-Type: text/css; charset=utf-8");echo
decompress_string('$OsX)b3V?$d0U7vY9-;!Qq>3cgt$UfPgAljQVK{O:.VPRl*1@6^xaIf[3n=hlcd(Db..),$]BW]<X8*%o<p>`@b<R>H==<<`@/q>O@gwK#>3i?]0#lfy|9$&p%6.Y*e,:SKB;766eRmgF?RO-63UTkW%*l@kY6Z3I)H3!
mj=A$Y`#|M_N!/|lxFG=TuW:1kFeE<Dh%WvDv*"U!u@iQh-#$0Ic_o/6^C)KwjXbb0(=70%][(h)g+r9~P
M/ZR$#%U5h?%Ey;diyOF
Sv,-RBsjp5Ac%.a0Ji<f9(^h)7"etoCfBxp/L+W@
n[JI[4;En&j@$=h]3lx<#CiR1#6eM2MiwxfX6S6
:v%b_hD)At,:e6Ugr?&/9A
;aN:TrU;T=$v9bLNg-U[2ZtlO8[$5&#""qe2x-tUatRa;(-vOqv!|Xa0>aC:QXXS5Wi__DuW1qPY-fW
&Lc3T9m06SQ9!)O*3+u%ce=j}UI.Jpb%y[z3yRL<=7S<m`E>*[PvB)KtgP%)<hFY80;KN:Vjg]f`Asd=C1lh.Mh9Z4I:{"m$?r,)@0K/)<,Mx=i-:[@acN,bmqL!:(9ST%:LcK|h{D*ZS3p/TsHp8fqAYGl4f::48g=p
emRfGVQB(-ju)n^TDuB.M+5&-nM"mdwhn]P1Q1>0b7`PXgyF*`udh.H.DE2mc3qS<acsvdVc)7r][Z=/4FB>(od^3ZVB(mQ+cWC:Qo#k5WJnR$jkNjVFa_[:I^&<-&An6AAyv[@YCy=9v.HKisgB$)G6[-"VqEWw>j:zYk:4v$fmJoO<c`utyTLQe`en3!nXH[6%K*t41+');}elseif($_GET["file"]=="functions.js"){header("Content-Type: text/javascript; charset=utf-8");echo
decompress_string('#X/GfnsWL2O6ulK74$36$>gxJsSD:yLYu_RbXTlp8Xa6fgjsi$sF>YP(FWxM!d!n#5+#E[JneKCA#P,C+d4,C3%>{Fyc/qH?44=@%EulrC|)`tVb@]aE`^;)@Q9Qwm_lx1[vL).&UvEjSUC].>87{xMFkmV-Yn9uotN*f,~MCjs
C9ct/u8t,gg:d8Z8J2Tx|s1@&DWXmw-2[z$x%M|XRJs*#63T
a$ljNl"T=HB-Ec*]JV^jC[<#Vy^96}k=-h+XPg.Pt>OswC)N8G]l

mNMaC$d-LATBryl?
:X:g4LTJLo7E>Kc*H,/g9=or6@#4X/@H]gPj95
kTVq
#4tcZktB[E[y^u@,{UqFOUOn6Fn%2cY@V8O4+hud]kV
_(NW>0#E4B&^<`+e`Duy1Ed0Ut,/uAJ6!V,E5?(yre>?^e$U[`R3EO[].WE[4`bF}O?Z)SLro6J^Nw`CB49=FS,xPL/`tv
nuyrSPs^xScLANufuuLG1ZrPhq,mw@)zk-hMMLug)Pd&xl=kq<Tu@4Wh8^cZ5b!^n_frd/Fyn2ms%d"1Y&wulQL&(}h:m3THT?@n1YHOs2qSDGyJi
,zM#*-%}y$PEtmL<g#V;d0UnS2R@*[t=6[UW0aKT2$.Yff(.`K0.Fv$V%52DA6KgIa)=8&FLVFfuUgjapncY7ARI,6
(cZ$i;S:+dOf`UGfB
4Z}MJW6UxGPRH4_<j8<A|cY7^5L4a@78^WMINXl,SB46}oc=$_nuZTnAC]X@s1KD#E!Ncq%AYP)_I0Cg-f<g2VPrW6v58*1eWgts6KpE78-HGp<E8oE`H#Gp*"`UJM"`~@xVQhlAy^$c/
)SUyp*K
zR)-8b-y>bHj07S@E+H.:Yb
fE6uHJ2ujpP%BbP6;$K9<ju$9`8r1o8Fy
R^4^"^mMkX8Q@m!/54$v:R<v|X8gfb"kAe[gsg7hWR-hm;w"Z96aYe%.y:}#OFTR#n]6iLTUFbYvC]&B7FDFc?aF!?:>?*%.J^Ew*NgLtS`XC;Te]n69X[:_@e17lvU>Fr*?csDOwiG
~-![_(~O84OH1RMu$"^z(M"z$A!b[uHq{-Sm(]qQ+qp!24%*I*ZR|xRhc!Xo(ClDa?),!#2c}DW"4*W`&H$J.%u2yJFaD@[7[)VHFIp$dss8OG2nG0U26QLi9"e0599@au@v<sAE;j}p?6fd@`Ajaa:B5XsPj
[7Z?Mg`=8ZM>Es:IuJa@Vy#oQv(huNl
e3hB
fPXn
@)<J[jhVC;[ee0y7_ZY]{"Wf[iZ(6k}#=VC$2%AOmiCm`?Q>Zv31%&wDMDG2g
Rn<&}hX@X;Tey.6]mU@:}q!4A;uZUT%z"QNKqvcm.4sxct(3[c83S^3?*-X`Uf059m$ToX0s~9"+@(K1Yd^F0dhr!bkm!`a%tRUD(&/BN2H!OM%!(=VTc2~E7*tYm6l>bUth5Kt+#cqJZH()IW?
IQ=-<q+pMGC#ZA@l~r/Fln+l.UKrA=Z$yIGP{&]4.4orrQwp.#T(Mkc?2m[Q:B98)*q
ic=7Fi)n`/~9KA[A,L)iC$Yl9Wb`kuIT4VAFnk%vCI^46^tk+g=(aLU7&xAe0m*LPwKoxHvVVaj7Uo^!!j+XkBW-r"0KhtMdL"?2=sRE~=lep8C^[C#8RgaIb0MR5-^-5%,,8HU@{uYB
9A]k?H<@m5#ZgW(}pEy.V*L_`4M;ae$fZ-xaPw&M@](H+PKoc:n|26s=u8-S+T&KvVq
)IIcPWJ_DS_0z$mjLmr*J~b@ezqj(hI}
SeI$=m-GBqhe34}4sGpnA+4CmA/qgZ1F&a9,V4=4K
1^p>O,~fB0gr5EP#)EEIZK^Z9Q,NyH
:N+"*;>Gb8]X$(pFpc/*Yl`
:@9=Woks3|71P:e&-$tyi/-E.Gjg(i=Ut|j@HO+$DPG?M5.b4&U`0carDza*I96<T!/DOt!BBu6i66oHs6iDQOg.<27$=MdsNld)8$*Z(wVc)]t^*KJ,$Dl7WRD*#g0e!C^
63;j_"I?d]5CEaxmPD=/#wv?q=%]4!-=H@;9J?5:WHA(RE`"@-OOWN&+x4M@]]1.w<GJg!X&J
*%lPfJD]J@u43$M^2ldLPM!^U7d5a>@Sjfmib-iv+6i!i;2*!g,+CI1t3li=hE&ml/i.0SU)$EZYAfKeRD:DS$_NLxL]$I@/c=H*rL28Cq_Fni=36Vk:`<!d[=>&5p.P?Y93Mz6*=6`P+EG2>x>g/R-$_75<&+%--Mj
a&ftm2m*/ccN%sj-&bn9ED+FSS.[_Bl:2*H^$I6W,C;^R#m%5WA{+_P@+liE,s(8cL=1+^iud`aT<j#b<;Q[xg(:ro0]D|"ext;pNnD7b?#a]36mz#pC?u#.!zC=(*U6H,8%hvY~tEyGu5qE,%CmJ]XV*z`
LZV^+=y#.J/Nk?YZc[nlZWhmK7i1h?p^ak/QA^9,Fjl{d,pcj8;]7-Y4kit9>>tODs:IIw/KAa/F$+qVwqZ1.q12@TW]>6i)@a^0$;NVPZ${Y[^1--DgHUcRwf,T,!qI[FI8!IM#1rfd2~rz`Xsz"q8VK^syPepX[}8rXwx$Eh!;7fPfe-Ts&TLT<;J0DP]i(?a$aC:}LN#]5
poK[ptNd6egugT0vOx&e0Lj^(hn=D%5J%ED7)ZN)MYY{p1B[t,)w*|W>FfyYe._x<>kr"77ZS00lP{jxQe20OfSq-7)V"ZwV]?Ncn$HoxJ0<#Om9a`in<eb"M]$reu8xI0s_JuYe.+vD,(:K3MMU]+(u8Yj;;0"|tz6r`Dt46BH&t]51>P<_
`!6tY`aU4J-eB]|&}sS0/
;Y[!+Ui!Dpv%pB(fFyHU"so^2YcIPH7pG^}4s84xL
uXjB$31%$B3E$eq*`kVP`;G1UZ@oDapl`==WeKEK:n`u+[)MfI`w*--K0)efO2;In6;/CRf5^4]bA)7+Xy[J`4e@>mep`
?J*>!F6Bx[1$wK?#dCBW3W,6B4O(J`yRmyEN$#To7=r
fg@YCpP)[o,eFvF.=FsnD3:YT^WlV=7so"];W6#>{9cvfH35`!1%PT2;%CM%M3<(%5{iIL6kdS~:OQ7hJMfZL#oEL1SaQ4nA?+0]6;7&/!EewjZ
#(~D4fIxgM//a=QI
fQO3i(vZ-}_a&4=)`HsCpf"TTYV(iJwI+}KU7v7KRa;-f30Ric04C#llcJt*=3kErs6`Zbo*CUro+3v`@=?E!v%7Rtg*m/o_ZXD%W}Py4sH_6^wAp;ggOOC=CFnGO(?wcwSQ)1%?Vlr.IHX)KH$HaM3/5M)3AFKZ
}Lt*G!t[CBFhc0et5!bG)&<D5?<IX;,inWnYW=a:pDt^h<7ww0u[Kx]K*u(n:YZbY1HBSat5[H?P,#lG%[3M6[@qyg6O-/2+FDa>NeB^Pst+
sA9isqF~Z`+-G"@*b7H.?o(f&_*BDIZLVjK=WXnWaKudG)OwNWWJtOM4*)Mn6%adBia`_3%gM[7ix9v3:[ehEHij2<
qvPYm^El/3>tz_.l9V[`l.r%w78nMGTOe9wqh/0n|+yEm##n)PIt[r~#0r$,Xk}YA+sBX]Vu)+"AT:lc4-n(Lrg!=,U4X@/m<#uKK1@HIg@s
_MD2&!DIFurU<2&YC:y17RU;3cFj_|AEBz3<bDr)h[O,1khS
Kl.LRsS/ya69x]$Jd#)Xs+nI5Fd?B`T1/"@Jr:cFM"VN6b0`9j`QV&s`)M@c=D!!=?u(R1ClQD[>m&6QTw(VM:8mFFa-FbXPkLGE6SlCOs$RICNr(+:)$*pIya$p&No
"3}Lj8qkIL$
Amj`)878.f1CZ9>@.0GK<S7*"fy9NE;K|xFsa:itoXFHSNUysWn;{v!P(:pI4!9@yYnuP^Ut_^SbA)m%Mk6]*2"(w0W<D%k!C)$HV-vqaN#(kk"Q25H0Zj0S<-+6@=P$m/Nrp?6!7#Ad,N,Yz&OpS@o.+BU`g,cQY2p.K
%,8m_Psc,TbAxmi_RYsJA5UF(]0RCE_"Tv%(e`lV%(HC6<=O[v/.&(XCZ/o$Dit*44l)_]cy]-Q_N1_4bt
@<iq#DbX0)E?04dOL>?{aq
M0H%
EH(l.H#40H>i`6gN+w(F3DkWHVQA&sE4H^]$2kUdld5MafF"X0gBB0Pdy*pEf`&S`:dv2-=<L^+V$3""[ch}jf9f5?<gji3m72[5&.hI]a5U+1)Mw][vfKn~+L>l?we0S1)=7H-6/e`|o7%OgJFb_R5Gs^kn#i#<L0`MMuFeIl*nn")
t~j=yZr%nbNp!"h5Mg2kSC"3hB_[R=r<v.NAAr3q*pMH7!HLy"*nNb;`46adRIs{b5%?whjt-s@>BN^%UI>bq!d3>-dhS{N(q`j_!!Q0c_+U/]-cOTnz15o`SVy[1KHyYeZu4`:FelVt"C`W:9-i%I#[PLp$P"rD!KrI(VI2+&*_T[Cz`/`O7T!Uj$v1uOx?M^@%YGr^Rte<eMH{]d65pkH6[[1%67JDsPKNj@q*^haw#,743).>0R!u^5k^"we<VFZU8QkDBwepe]1?I6qX]&SJx1UBKHt%L}Eg5}!LCc/+GK$l]8*x2[<<MWs:g$YSnKo7ov!=+-v-A!l=pd7lNnUx3$p029^D5,S49j<{xZ
MOEyi]?9QcAhyVfkL-y*g)iK|exuu8!"xhj;pajUMg{sYlwDH5tQpwX5uAj:uMbf#mJdGDa8Q55YLskkxH__Z#vQ?E1dIJ_sfGfQ6%yPJ,x8K,:b(k8Ft,w?[sP[!5)nZ?]BVR49SPh,t<Y`R?ST4)0S=jB3PKv.pos8d%0f.yA<<h0&@$Fds?)8Ho*O`-ZyCxcH#<FBy"Di8NVE9WUWH?O<N!HW<d~Wp5U@#vv+P-rk>sZm<ZG*wu%9hux"W!eM&vFIY-R-&+g(7$OE//l(wm7y6B}ulrUtS]$wk7q*;C/:aKhTHME25XRTA]S%d.rs3#O#[%MU%J`C4=Dt42<twZ+$X(+=+
;U>$bMD[NsnZ1$7csj&lb0(A&a{)^xCx"OSJ)8Em&I=OfA<W#69"1arc=CH?!*rbr]<>Y1a^&-!VJ
./V#ZpG1N@A1O3};YUp4^QD
8_feAEY`YGyuiga/VZ`?W(faT<qD)!>=1v@jY!P
#[(8W]W!xi{/=w+X]GEF%M/H(p[lLGMa&rCCZWS1/<f.(L8OBSIJ$F;rCNVep2?fZ*
&.uGR^8=BHJcH;sTB{S$o^QNsxK4>"p.c*Tl)Z[[DCQ}*S!!kXTe@A$OSs6r;JOc.,ZqF.G^bMhY)2Z:cjn3X^(<i&ofriQY,4=dq(*oR9CU)#kg?BR`f*Ac#{mj3BZsYt^cpuJ^&77<!#wIROf!bY`j#Ya4^@Y@O+k5^3K6bo&F]EMb#i*4$P,dw_RXVe)FsUG86
24bvk1.?!Yv2:jgnfQ`.ttgjcCO/=Yrj))w*C&0yN.wl_.x*6*DrU)D1S_ef("0t331msC23?^(7FOd_*d$
#Nl_%
E?[_fF0-)*p1Y@TG+P5<!#;C[fe1s.9#GY^XaUCM7TQ>Z.epWZlgZh"Iy7n%dVd}r{qn2n^X;Fe@uewu
curPN6:rR"e%>+]1bW*Ja#i7Bwu9^mxLQ
gX|AyKm:J^srxK=[hZNML/H_32J.rBy2`GU/nO"Mey/y/yw,o")7:w^,#TtDTM~Kl08n>7CVMd`bxs(;[gr&Je
P9#mdl3y>QlQ2SLd`i`:EG5j.abt(0&#"gd;l"cifDFe"5fTf2/_*Ee*n`*ex%W>TRI<*{atR<5mKun|;ep++@F.@`rMd^>6smgMOjdM&LF*#?qT`*1l@>hbQX)}?k[T=KaMuheLKe#b
@*{-?eUYu&}LB`X0V9rbXEdpFv4gP:$_S:-e]6,en[9=md+re/Lr>oNCUd;+">g9E%d5i7BkNu<r.C4b1rd2I!@pC5!+tK[4sVU%VJje[-eqCvi4RBUT,4E8=a^6TE/,QahP^CdK2+!D-mQC`:!"Zxv^$qs"0/~qB2r/rr#SWVedS5NdD.DR4;qew86YaROsz#Cw0sOS<lBTEXs"t-S>zgenmapL4EdBSyf*b_ANV-=DKI>*I1efpE<EcN.kZv[hTi_4se51>e
W|Tm8Qv]d4>pZY#ZW[(tV1_|3
?Z2RJbf(seJ1B#W-mBl3aOtoR&3/pT9mmj%KN8/wD^0NMZc=3II.!5IZ$us;q+_B/J^A8u_@XWKZy5;~i4jPX`ye@%R&l74<pe(p>(u/n6w(yX7}U>2Ndh?ofgHeFQ3*2RgB)Wdn-vU4F_Ra:zH]sSh`t(I/DY[.nPc#Y%!n2w8f7=.$)^pQ[EAtf(ePQ</|N{Fy3/:O1Vw0L
y{V22(fHgG*(@>FLa:H,Mv`nYmy}T6&)?*i,M|XKs_-VezF-vvt}edEK1yGrj<tPNlA/5BgOLV2`oyq131b<8$ZQ+D30Jc$FY".YFW/_FX2!nS$Q.by2nTo2v))NVM4XK_c_Q*l?QVU=y1JFy+e~+z_#d>XBBf[LC?cg/ouTnHg7)JX;u+j`NRlS7_
Xq89q"Se(ovsLP>>Bp*SW>aMO:)-$9yej5un!9$U0Fw<liG7,0<*]cJRgd@kkK@-|<1=&;|5[EKt&>:&
G-<n,
.lpE)F!9GTc5f|dZdZ=0+4$I678~6<,UtDU-&s7wR,5@/9-i5&ofl]K?@jxH(R5tAT)wejV`r6
;WQdwSgF;Xb/ILrIlBuP!g/-/p/5j-gD+-;,!HFppKOxl/8LZGzs~&`C^SaWG"c,QR$Mqm2U3Sd;8F*%4Jm(R]oF|dKnz6WbFw
vogd*Pv:9cV4S/4.@HprIL7g5&-mAVZ=Kcm)c62;H@Bjx:yF+_#KHwnx^::JPwxb)SIgm(mPn
T_qG&)x_TZn}D|dRCDWUfkIb"Dgtkustt
');}elseif($_GET["file"]=="jush.js"){header("Content-Type: text/javascript; charset=utf-8");echo
decompress_string('');}elseif($_GET["file"]=="logo.png"){header("Content-Type: image/png");echo
base64_decode('iVBORw0KGgoAAAANSUhEUgAAADkAAAA5BAMAAAB+Np62AAAAMFBMVEUAAACDl60rTnZZdJNziaOerr60vszI0tr8jZH8c3X8SUr309T8Ly78Bgf8r7H6/PpDBKXXAAAAAXRSTlMAQObYZgAAAAlwSFlzAAALEwAACxMBAJqcGAAAAbRJREFUOI3VlM1OwkAQx/sGG0Xh7GwTz7b1AaRwNhqIRy4kPRKjpcc+geEJDHc1chYPfYJ6N7I+gJFQE+UjJIyzS6FqqzeN/A/dtr/Mzsx/PzRtlYSI0fd0Ju5+wDMhHjCTMIqaXoS9QWYw3iLlvRHtLMrwKqDnNLyM4m+lReizCOjXWCgqWdPzvLgJNgnvUGNPV6IVyc7cim2SrHKDMMN+L6DhTKgBDVhqCyPWFW3KwfpqwEOAXUembeYAtn0W3ssErN+RdbxBOcBYowrU2Di8VrEdWcQrx0QjqGlx3m5LUThK4DFRNhGy5lkwp2CVHZ9Qs2ICUY1cGmiUfj7zOnBTyYAdo6a8otjzR0X1UT3uSc97kiqfFzPrMqM39woVZcoUTOhCin7QL1IoJLAOKcrniyCXwUhRboBplTYPSrYJPJ3XLS6Wd8fJqmrqVm2r6vxtvz9T3kigm3bDzPvxxqmn3QDg1l7VcasbtgEpqg+X2133ixlVuTky0Sw7/8eNF+4ncPi1oyFYy4Pk2tz/TPFELrt0w6aX/S93FMPT5OwXUvcbnQl3rWTT1nIy78akqjRbPb0DRTX3Uyvxl2MAAAAASUVORK5CYII=');}exit;}if(preg_match('~^/[-\w.]~',$_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');ini_set("arg_separator.output","&");if(!defined("SID")){session_cache_limiter("");session_name("adminer_sid");session_set_cookie_params(0,cookie_path(),"",HTTPS,true);session_start();}if(function_exists("get_magic_quotes_gpc")&&get_magic_quotes_gpc()){$_GET=remove_slashes($_GET,$jc);$_POST=remove_slashes($_POST,$jc);$_COOKIE=remove_slashes($_COOKIE,$jc);}if(function_exists("get_magic_quotes_runtime")&&get_magic_quotes_runtime())set_magic_quotes_runtime(false);if(function_exists('set_time_limit'))set_time_limit(0);ini_set("precision",'16');function
lang($t,$B=null){$na=func_get_args();$na[0]=Lang::$translations[$t]?:$t;return
call_user_func_array('Adminer\lang_format',$na);}function
lang_format($mg,$B=null){if(is_array($mg)){$G=($B==1?0:(LANG=='cs'||LANG=='sk'?($B&&$B<5?1:2):(LANG=='fr'?(!$B?0:1):(LANG=='pl'?($B%10>1&&$B%10<5&&$B/10%10!=1?1:2):(LANG=='sl'?($B%100==1?0:($B%100==2?1:($B%100==3||$B%100==4?2:3))):(LANG=='lt'?($B%10==1&&$B%100!=11?0:($B%10>1&&$B/10%10!=1?1:2)):(LANG=='lv'?($B%10==1&&$B%100!=11?0:($B?1:2)):(in_array(LANG,array('bs','hr','ru','sr','uk'))?($B%10==1&&$B%100!=11?0:($B%10>1&&$B%10<5&&$B/10%10!=1?1:2)):1))))))));$mg=$mg[$G];}$mg=str_replace("'",'’',$mg);$na=func_get_args();array_shift($na);$uc=str_replace("%d","%s",$mg);if($uc!=$mg)$na[0]=format_number($B);return
vsprintf($uc,$na);}function
langs(){return
array('en'=>'English','id'=>'Bahasa Indonesia','ms'=>'Bahasa Melayu','bs'=>'Bosanski','ca'=>'Català','cs'=>'Čeština','da'=>'Dansk','de'=>'Deutsch','et'=>'Eesti','es'=>'Español','fr'=>'Français','gl'=>'Galego','hr'=>'Hrvatski','it'=>'Italiano','lv'=>'Latviešu','lt'=>'Lietuvių','ro'=>'Limba Română','hu'=>'Magyar','nl'=>'Nederlands','no'=>'Norsk','uz'=>'Oʻzbekcha','pl'=>'Polski','pt'=>'Português','pt-br'=>'Português (Brazil)','sk'=>'Slovenčina','sl'=>'Slovenski','fi'=>'Suomi','sv'=>'Svenska','vi'=>'Tiếng Việt','tr'=>'Türkçe','bg'=>'Български','el'=>'Ελληνικά','ru'=>'Русский','sr'=>'Српски','uk'=>'Українська','he'=>'עברית','ar'=>'العربية','fa'=>'فارسی','hi'=>'हिन्दी','bn'=>'বাংলা','ta'=>'த‌மிழ்','th'=>'ภาษาไทย','ka'=>'ქართული','ja'=>'日本語','zh'=>'简体中文','zh-tw'=>'繁體中文','ko'=>'한국어',);}function
switch_lang(){echo"<form action='' method='post'>\n<div id='lang'>","<label>".lang(23).": ".html_select("lang",langs(),LANG,on('change','formSubmit'))."</label>"," <input type='submit' value='".lang(24)."' 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());}$aa="en";if(idx(langs(),$_COOKIE["adminer_lang"])){cookie("adminer_lang",$_COOKIE["adminer_lang"]);$aa=$_COOKIE["adminer_lang"];}elseif(idx(langs(),$_SESSION["lang"]))$aa=$_SESSION["lang"];else{$ca=array();preg_match_all('~([-a-z]+)(;q=([0-9.]+))?~',str_replace("_","-",strtolower($_SERVER["HTTP_ACCEPT_LANGUAGE"])),$Nd,PREG_SET_ORDER);foreach($Nd
as$z)$ca[$z[1]]=(isset($z[3])?$z[3]:1);arsort($ca);foreach($ca
as$v=>$af){if(idx(langs(),$v)){$aa=$v;break;}$v=preg_replace('~-.*~','',$v);if(!isset($ca[$v])&&idx(langs(),$v)){$aa=$v;break;}}}define('Adminer\LANG',$aa);class
Lang{static$translations;}Lang::$translations=(array)$_SESSION["translations"];if($_SESSION["translations_version"]!=LANG.
1044917459){Lang::$translations=array();$_SESSION["translations_version"]=LANG.
1044917459;}if(!Lang::$translations){Lang::$translations=get_translations(LANG);$_SESSION["translations"]=Lang::$translations;}function
get_compressed($yd){switch($yd){case"en":return'+X.gVhAW2$eA~YT3HiO(6I7
2QIZST`m}-L0C^]CX#>S~iAm;/L_D6EKY;le,xnBz?`:W6-R503u&)vG/baM9nb
wL-m9x3jp;57j*O4Wl]F)#!g./$b7(A5}?h1D%.;i,>@HT#2w.@m<#ey#A*>A/Nnq4TjdAerd.{g0o$[S!~WHmcXeo7Z^b^-jaT[+CH8J[6>h.-o(S:jOuxw?qN4wQ0Nq#-qt2|g15z&)*YEzMHpR(C_LYovCNy[C9hI{SIe`I0={GHQHxgwl<`:xo0BGff,1iS#zm@
5861#dUmhd*^iTUAc#_tZJH
V-@Pk(-?@E(]!gh(hX]tt+@SYrO#}LmA^^%Bqu#n8U$(gsl$mLuA=]
(B(bbRp+ax.KoQC,YH*2)=AA/5APq?C~AnOaT)%`R}T@mbXv*uF0?nQ`IN.Wr,7eD*d=yVQsR,J97(SHg7qCPvv)FUE=-UO6lu#iWn:0)T3:#1i!iFC1vC6:B#7`c4Gvuy3(u(LcyVf[`I
Jk,$*@Q9x%1B9R{*7>?LbZmk}igH$Qc2pB+L*^}unG|bo@p!Ru>r|)&IWAT^k$c+AL4RuP"q7F0w?S<5R0YF3R1k=g4cyD`HE3g(0+dg$;@
$HK!,I>3J+etZx&(9[S/|d5E;PstxBl@E&tjK:[:E"rf}h8]/je+gD/I>]{5{Dknfx(O(Kbb(*]LBnpo|R[]p0-u#VHR
)O@THfg{mS.P7XZIsy.Jd(Rve~hlZq?~8w;!Kqh:.r#L(I1
&jKC2T*}Ra&-hnYJG@.Bk&9zBg4b/AYW!F*oLHef3j3x:#LuAos]w~nJrd*%rDXat2pqQz6q%@.lx;KQ_enop6x{8zZv1{(U+r]Z3E7Q-pi#If<Fef.kQ0!WrZu2]zklYHwuM"D->R`]*{Q&L@eQiLl7VZa,83Znlma^WpH*eB+}j{8+k_bkZa$
NMiGLPD}xum@:@Qw-p4IXoRACH%eqXg(3K8xf?Px_RVgy.
/fPVIlViW8174K39SMh/[Md[`=pY{fPyYq)]i;(1{D]OKV%2n.6w;>;o]p^op?dIV@deIx@Lp1j"7COD]Qb4AHH*m1oLl5I]Mm~K~
JbMAsqGZ4iGu|61xaK=D0E#<)t{VE+BmExPh(llol?u2gQpZR,}>(M,MEHEtH*puq_Ofh2Rt<3N=bn`?LTnMZg3%u.[c)x[9JPm
x<7G7_62pkAq;>v"CJtUlM^@dh`2XfexxvLgjAKGC*+Fu:d+L6g*D79smOg<9tPI7+:We],x"1~GAt[<|5RDR7AH:n-U}S"#!!4kQMD?//!cFUGd/cj9cff^m[fwHQ|4S"gw2DymmlBkvUvnUw^KDa/s"vi))LUh7K}I!gx.Anacb)K9jB7(X5O_e1}Cvp`lgS8$I.yK/2R;qh~B4#aXo(f?(<"9DOR.hxGw94z!uedsa7#8:/H[S4At]I*ibvtAIGmC/UIoGeq9*pAyJQkB6aUp.%#bNs
1Di$VodRgieUI:y<Ptaxt#8^(42T[V4S
_IpFIo!D]pVEzfNy"tX';case"id":return'*]]x)b0-#fgh~nM;8co,V
$0&.s-ncM"E4hw."*Dz]!y&@{DMjO?N>PV5Hb)qs.sSVeL}6[6~Qie}i7JR@BBj"=.lF-Ak"*#hMK]G!raqKTV{;-jkKcQx7n.Z9|EK0L)3e9V#NAk"dPKZ8v<FIUb0W;b.1/hbTovbFeG7P@h^7HIzeimly)/k[t
BM3AYc*w;Ly,%erN)J/Y:T7ZfPa#U4E%/C6]?!TE9Vfn+;[W?VWhwTuZ|0"krdwGROU6+%`";8MTKb}d>Fk_nS[+U/^MA4;)6C3saFiy(>@Eb.@(IbUA}xGrCUATZyjBFp{99V=Ete)%FW/HaiX`VYKVd
=gU>)Mk$<,]XJM9>
(l3Ra6c=)5"UF6)<g0yuL:LU3m(!f`GFgG$b=On:S:08?Hr4_^n+Gc!<5dx7h}1)EK$:-cGFRdj4ZvywGGiQt3,k!h3U/Z)/e#XJo$$B,Fml3#HM=|u?8k5<%>/DgLsF4CVjq:pWcH-t6Ok?wY-;hPPN=L"?XymU^2+#.w8<8l<jfend$pb%$Jt6gvH|GNH$gK]ptjY;P=l~drYcGQ31VT.?4FY`O-sS-u@<q7+Y"%eXCR@$6eDdhnY=r-/jr|$&*#Z0sF]N?1B(a>D"P.RR<`qZF5$93zo^:/V2HEZ;VVi_ds`oEDN+d`1WBq6L,rV=d]a0
m1jNB8Fmh5#
(AF?U+cH7b[kLe)QRHdo%Vcg8t>lAEh+j]fm7<c21B9Nu-;wtA0>/Cee$eN@2I,,6Rcr5X9/@]~`G^)o5W%M7;sP.B8:e&LoBb@GM%|qhM=n:F^]St=p9n;"x:Ti<S44&WB*:,C)/`KHy4eAM-U0D2&P?*C,j.M]ljmEZ!5VqTZa9TH3k)jm1^y_J7uaIj
v>]/yHZ~j:A,i~H^[2]0uj@B#]X,w96=
xKGC0`*=MPfeDb=!`_;=x>{ywPt#Zs[%~i$3h8/$`L8HSP]7okWRe"61gY9ae+AE
OB[SZ8D0j%+(s4(j"!&`%NcO/qgHMroY3GIdp
3ZS70*E)($md]-P
$9
Is^yiycnrU/cdZfAgVR3`VCLB^pW+u$K:2)de?l#gN+g%iChnEvSTFy5ab6cQ>d`ant"N1;bW.Z.C0;2e;@@TkND1)8=U@>N[>wV?Pn:YtVWe)M
$o<$0w6q>R8A);,^ibS3eZK4>w$fK&&jQD=Y_Eve*AA7Z!-ZB`=3Fh47y_.fuicnzP`E-JkGEy/GSP5K"9`4_<ZuE2;"qvm)dY:NjtUSxa8UD5"Kml@';case"ms":return'#hfxYbOV>fyo&9jjz1lx$5
e|C
#rBZ$"J]
*lI]4F#lzB:Hy6Km<KsJ&>SpLku_"THyxt^rbp!(vfV,_(p8,$Hco>lR(+8yIM-R@)j*jFPl|-h6zO2U}dk?ov0N+0"%JZ-ceA,JBNmv(l:#TQoh(BOc/VI&:n9S:Z`Y:yPLJW]dS^13U8wI|a(ScqD=t92$:&+@!dzr{ng=YgNQbw6$+[h
2K2u!p
t3La<rWO?O9olXyb6ML(%/F5=vp43)$.dW8o-
=DEE)qv@=[5hxH:`0uj00njybjCW+*uPeJ-mb9k|Ag$]RKjnQ55UgOlAL;H_ct=c<ZvHo3pPB@*Rb{]NMUh+5tmy<(r|!(h78W33K;HhN*3O<(*a<=iYGNOe()
?P~"P,<8.$<;Z386
aoo|=C5%@(^H1mmM[TD%Oy-c1lNs?x[LjU>|bjF"I/I25mordNZj;7Ud[_W:l2X{9<"g)w.
ewSy;`@k[zYV:8ZoZO$+2
T+3?r2)
!X%[Mk?l#|AA<H;&8{mgk_g7;"f|)EKnJFmn#_6?F-#2*O#[&MJzv.jr]()[ORvnY?G<F>/|*g2J!ihT*cAifs_cy9+[kR.iP!`njP*"!WT~!#]|92Sq.]4EuJ(``as+2E!-<7uo*1OdP:Y|WA"meF^]Nb+u@CrGjEKMNwsiNVr8IfZmQDfJbKHaPWhSo
IM35hgo*W5JWt.IVTS.%4JG1/QjVlDi&sJqixp$1Iob5bEhKmcvmDXaIwf_eWYojKDT]Gx#,I$XIJ!92D$,0j~=aXCM$1hH{Cj7u0}8{(&qsC+[?U/S(ieRYvYEcYke2Yz1H`70(K
L{/Ua*hVD*L;!Iv@D:17L(r2"v1/C|eD7CWyb9mUMK=UFy*WVg@Bs1xW7f!QB!mxFU&~yJ,rV>x.&)5lnyaF1|Jy8c7
5*HuU$LH,?H}:OGk!OV^D/SP>wI2EFrvsSX7Zv1GE,XTx,l.!T<z=v:RpwkRT1/>PK;Pc5Vu0,4$Y[82g$+yT&*s[-VEgnawVGlM7$bOrSsI]XVD6v9ku)PW4dFo]Wh,DjejU"yDsXiMS?i$M$]v3*=,%{A{chS~mnd"pg1e=rLi`Co/';case"bs":return'*]f%@bP.!$s^OQ
f>39-c!}O>!iHv@Vmk6yA;2_an6<(Xa!A=d-E(gSAwOv46wnr|4q//HzgYjcP[xY>pv[AnHZjcAu3WFvCRF$UOjHqGwH@,!DWQ<
[Xs9qLZsYc=1c]4vwEu:gw]!9rM]4R;WLhV?V<_RMAG:boO?
2V9`hv&&A*VyFC>&en0(^1^k{!U"I@K3fI)nz0kH$0IRuy=aV_o2-%{(qIV!&d/,Q9zd$t5at>gxX[;_8x`lp)#e6Lk?d_UJ_GJVy@
(:VQI$Tj#<O4LlK#C.f)PZ7;:HEUrcS9@j?}w=C%tLod$qx,deck/p
JdfqUX4N5t}8=n$ymk~Rqr94c@^EZ(7Q:&pr5oG%yAHMJm_+zWx3Sb@t<g=iUD4s((k.w7<lvJlajQ?V$Ewu3!"bCR=Y`H{MbX)WU!I-_la8QU*O3U<6=cLl_!mmS`3Spu>@gq&v07](>_C$Bb]u%H#e|a~({#6d*xE^A$[/pru]fSND90/bp+U54KMG(Cn_Dy/=>-H9X^n1IR|RoljgEGc.*c)<$%E=jbJZ;As(8wB/@9Km~=9,;a0KCQg:n8XN]ZuRQ#M9ppd?0L~J6R@-_A1g*H.Niv5WD<{]f1fWkR$3pt;ZS.dqX)j
!vO
l7N#/8PLD,o.{Q^OfP{F9?{7}bjMGLBC;wD$05icH.qyTLcr@^_wbm#!nEu!K?N*"lx?[2uRg$X+?=1`Yi7
+!bgp6m@aa2IRJ1ywZV7y&xg%91yP9yo%)m;<qR&dJ!NX_X;/?"^ly!bqa^qy;5kehXuS*M*TRc(GmD5xHm#zx)f0VV:(hO:*:EEM>c`WyO]9pU+Z<vT}@n9.Y-6,9{Ap<uQJn?Dni?-`G{kQe6N1=>B$o11Ty+s7"zHhG+Fnq5&ofNj$<>Qa_"_C`M3I"R1j(|Xj;a0Fqi<>d1,1[*8V^$v0=X"54R.b?06&Q36_tL`!Pos7
IYRnp+tXp&Tjgv3GT*R%e5cT;l0vQ<3v{s],(dh,^67Qo7BPja$pfH7:6ZYkX/}J():XL
!>r6}$R]&ZoWL:Mv8*EXYcb(}x_iYq;q1^>fd5_Yv5~kPxw9q<82
<S=m#v<p6#W.d
MR?0BY_NR<H>A@_ju^Q]Fw
Wo1a04BaN/9mNnst%9]k+dH;Z^6PTg3B|/9+.)?x^o7AWq(hIKzI7!4<o?2c#K>#0vM+hd,u1L4paZtm&##PM%5JsvW:G?yt/C.$uG7Y3$fT#[~,KQkH?&J`0I=Q"LlLE6*Jr<+JJxN"e1VrkiG
I9eSC.B",BNB^!~5,Ls[y2;tuTfT9RkB7;7R_BD`_rm$r:t#dh3-Mb?1CQbN/7$`2f:/IguV[t^R_sL(ofSRGTW$:"S[eUB1:yP0zqSVTO`qON_]NwQ/pEbr|+q>X$@*
lc=-1g"Ei1j:!na)L#bGZnq_de)XW@@yK.!9=r%SHbH/NueKJ[1|3OR3PwkS8YwQ+VB$w1=qY%eFDp:<3=58H}wA';case"ca":return'.]ewvaQ+.:u^@FK:/Y2gEQQ117)/JS}A%;_(48iho03s_,rkKI<MCjXT35L-U-3F9xp>giMadKc!kHzCGW&l/_vcCpz^@s#Z2Xx2ina."l.HP0h@CiY04)Ys3mpqEY34Z.oJ|Q3fpQ[O<7]"wi?GlJTEf]i!o`&8b<ZWL^j?e&!=6Pf4vY~S*E:LD6bAYx[x)AysmB|:ACPR:5-]Jp.NbRg",nl]0B/enUAk?D`2SM@*2Dwg}aXp+dX>=2/D&-v%fPY=bGNdkFw.Z(,U+d[m/a.H@)/n[=0&81qSZS?o:?Q.n!7X3$y`>%o7P"Y2z,{?@qKH&`=J4MvD:snUElBC#%BroBWigSRQ/^6<k`PH!^SD$s;`TYYM-,dv;B,;wD1K}DV+*=SJ}bs%1=k<UXKNx[le*s)&``.(d5kbk<}.5,RH|6aTxCP9"7aa!g/)4V8vZx@Aj@/ro^JR
[I#;(fORTfv~Hm;jW&@+75R,
6cIfw^?7_N+&a;]]+ai9?f9^-J|/a59Lkhq"EoTk40nb.x<G1?#"0lz"Ed=B^@0dou0<jkrT
XJ)o?qopnGvkh`f=jl.s5r?:Xcvom!cSUuER<GDy9npep)Y*X<j8i9lt]R>)x[.)uCr#xoc!p
yr,0hAUo
Vfilg%zS#*fcW2e<nHkj[00.er81b4}VI*4G*]`vcr@YrDO=n7BqtR*P4w"3bCu_w3:fRkdK:sW9Fo]s<!>u"N_]5qM$yD7M*P?=qAE1@bZ/cVb.%>:I3`Q4;omIP^+d|km2!Z.):<5"h93]g-nxq3=@*rpn%C^d,)h(=A?"PgOV:9`
s@g:LeAU<0e:JPk$WX!K?mY<KF{$HNzfd8tM&FkVba~B(h`9JCvGfQ@$(HaU)h]29JX0kDqp)r:ld1ekWATYhiYI9a=(r)T/E6VFw<[lD-J%LIby]Ua-u"!<HR4SW(FLl7?+L>PyJaDEL@7K="6WJ!.3n4QTj6<=
uEfHDSQoO~j9AoeYNPyDBgAV8&6`p(]b@#2fB.8B<a57GUr0fQL0=oUhI}BC=w:,&T%ty&S<v,UWHAw&de@|);EytT3KRQ1P;kBUVce,UZywWyo]h6C-TB5cJkO$_~_Gp(7O7=Nyt2MGZ#fm!a7/v}3kBT2)T#qY%wlG#["H/Y.^gi?KdS1d=h!<c-8(++D2b"uo.a+UOGpd[X3Q#IEafzhcZ/k-9~g6J(5Xu(Y|,gt;NB`ux@;p)xJk1:Q[%Du~F#[,JRebxFmB+o?@#9oqHiJAskO.iJn?.bvoSY6[dQ<Zp|89Ja2n)hW,!Pj,o7DL<i<8L
N+rAm]mld"1jS",M5R<|rNNv>o"oao#$E6ea0DxtU
w%N{6Xk][sh!#gB#sUQ|fWVKYxJH)X_m`k?4ZM4m9K+rF;[!uxFQ<
Q0*Qp*hCe<5e;5]F-yU{Z<p|fo4FBr
F$40J@eTJP9ygO|4er!X$_*3^VMMjtgN&';case"cs":return',]ew6bSZ+&<l<g^_i6.5;)7sU#X)O.,d.WoLdO+ZoeL
4Uo!p%}*v85`leu@P
PNzZKG1l2BgN"EB-x[[&w1tb@Hvf<iPy%7przREaav;i@X`+W>Jk3ael]iZp!B.xNvONh!&W*J{$|=)t5a#`g^(,:/NbP?%pWYVH|;Q9tn"s+1D@a=x>.K{MkH4
g.
/D)s?j3)EkJb*8$<E0s_&b9JLP<#bl1AEC[!mEHs?y^/D^4mK51RT$WQ`i^qalWh9:QV
#_^PM!X4&keS5B^G+s?e^upE~RL7S#/Sz(2/IhRAHP[@>%FGs[!+V[1DVmafW<WWg?Z8n0bWZG3`qo?yjwg80i3d%3rkpuH^2>]It0^8K^F^fKwd_7BJjTz(2[#I8Tpj>n25W`,XAV!`R%nc-Pj#}P=dB$YA1rAp|RpR3davG.,5;v/AGG}9puka<T
F3e/q2w/@j93SU^*RH"H1R7(TKBQ2QkyKIJz4zDJ$?nvmBMEG/yHWgbz@B!sIbgA!S6(WEUv-XxV0^2aKt<Ee*kP#<0;@:Vc$$0uwNI1yvnMhPtt!(+dhZ.ZoZrbi7n/M5Ggm5RQ0ehv96Zq;#@13qj0r]H*bu2{iF32;>auI%DR0V3YNkxWjd!28KQ^k?UQccyB990/Q-y5CFxPgq*1[RBoJ[e~oiN2
x=Lb(egXAvF_<$X^NfhnHxyXHK/t<e3eN`#.TkR-~_]m0jdSZ`7Qt#~!RYCT3>,:<ml:=i]aD@7r#7?O(:sO8K-A-pJrwcs9`qKKMhfor9Y.HoRSg^ybdV0c
tQ&~^Qs%R=dS5Ifh%v;hZ5gstugT.]rCb_#0jAvB^.r3vZA^qFm9en[P[>.#H1S:4m+|bLh`mlteToU3(}!hnKSgIH<7_RIx+S$@mM?D({P+1rY4;__G&&N#V,3_S?aD>?r$?26P)_.ucpN=F[.
F)h`f{r|=#rG8h6XoSD,s2,n8z1aQn(~@<:UgeJ9u;xrM2(qLR"?j.t/lGCIu8(!Ap>pnG!71)5-(Tr`,?0C4hr;%!!

aXsi;w?`|md".>;=TY./{74Gn(MQWS(sr1W57Crj
E1lX6f7WGaN{uL$SS20(<b
[A^Knmc@tu>mIBJ%@/Wqxu*uV$s<4*gI<uD_Jen-CU(;]bUT[1AD}-Z(">Keaj+iAmt:5w~qPuV1pv.qT:wmd5e_b@OZ0S}%74&M4pX4=k5L0
5L.
k<N]VNz
H;s7av+F>%Wu~rT,D3?V1]yqp+Du*f@"LFkQECNP
5FEpHZrlmSZYZh>Mqj<5?VHM8HWz;>^:9_s.5},SZl,#L{S8A@eT1E4A?,"jCinOgmr`@Fa,qQwZU8Z9UyM4?+!VO/1_Z(5v3yy)S4!&pNZ]
#lg
[&RXThDX=ol<uX~^~H1y*30Z,A"l|KsP(6m;@o]w{MGV0mT"/S-Cz=8KAS&AtZQ=$fY>UD~qlWd>[L#I.7StHlRR{IzgmL*4a:==cy@l<gC-&ktZS`1SfyG[wl?AragiCP7toEi9,W_ob%1Dp3W^"G8v>!}dcp`,e%<>WO;a7FYn/r?"&d[Sbv.S;I%"_ytXzQs//a%M,m=^;,EorI<psCG6Q$#ou^W2Xh5ijl+F>M+_kN-l7Jg]^4N/S@EI4vTepYI+!yhC%';case"da":return'(Z|wvaHVO:u^T%Xo1h*Or%O!"0QEu*L+F5,!gRjjk3kEOI/g:2J(`T_q~m[3.l#maEm-mO$.rMJyexYgp7DL<VD?C7dvUcWefS(0I]nE7+.2@X}D=EXG/>zH|gm]Qwf`JWdC(,);X<HKXCFGJ-l<|HQp=%di0C]<ao@n!3:Yyb0J.nVIPtPK7!Q-8Tzb#V*#vlEK.<?hp%%h%PCT{[IyuRdQ8NXejF`@gw-a4X/!S>LVa76*!=9578"ed6%1jke3@iL<ERt>kQ;4_(8n.xNG%eJ;{L~q_SBIw5Z+*4<
HVv2:lht"2)vI;RB0pjHaUxau=^$G-IA5[Y0yX0,*@UAf?/vh]3pG3)M^q=X)VJ**d|lqR,K<+u"ZO5)s=;*j&`4mJnC~cl&(yre[a."l?FUv
``P1elGePNN"*ke8&B:G_tsaDI6wk8(t{"dc"HRUvx07|r`,Ho>Y6(g:.DfRx$_)oFf$*eD&2=DJBs84$+In1r{hTL)h5Z[W!j1_FoA^]^&^[qY"cTsX9juIO.+$hT^_)h:.q-U%nYH9Wgn";?
Ce_J;4,rQH3uDDiF/_9wt(ZvPm<iD"yg%M0r<]#[)Yoe"bj=`VZ,WhOJ^oh/utqsO+[7H9FeR"5l^y:r^a>1[y,O&TasOnw
(a;r[6ihn~RRdc6f*hLP1Ltr:_Z&?2aqlU5E./Jlla[<WXW}jF-*i#8rdf,gwyUus>WD0~.jpg-@Kjn/8Iie:I
oiid>/!SdZd9?!Q2C#)p}q!hTd%#==xb+_T4,PrasNx1gaStk8W"+e<
fK9:`Os(cmHSVWTPbm~O47,hB]Q7s3=2nh1&Nv*0-%RS`Uf0?-l1Ae=cGnO>#swf4x{$Iw]CU"F4QfY_!3^P0L"dSOf5NL2T^=A7JpTFYZYmJh7x2IU!vuHd5/lTMHfB&DT/5w|OS@C`[&.eh.Qsfu{i`M.eg1"UsBi8HgknYIH1z%n+8i`)8lC1J!5dKZ,vlMSgGfZ(DNkQp)*->M}ZHtF@YwbZZ?vejAg$QaPhT,v>TB/I=#UR~:
`L
6A:QIq}r*%y@7eV+?38L`*:Fb$)<"Qh:K+p`/-!]=TE[f)^@agU#v)@"rjm50RW(3NS&;cV,;*[!Q9TkEMBrC]#BOxFv~Z0Gh3h6p2;,kbm
)Fy5+Ea[Ej#/,EEHfpHX{QS^$1o1ZD/([]IWmw^$TD:e$kTXEqPXt7VO*mt8rK0#?A@cXVHi02>a$o6Km[IpFU3F
SG&Y#DmXdDkiP"yb($&rJRn,kvtz8LrAW~WHA[imKtI+nnN$2Oj,ceO-#Hrl?mhB(6OiNh8^7;-Dr|cd-%`AXw4jO$IWK][:FL^.<p';case"de":return'-]f*obOZ+:u^O?3C&K)oN-Kb+(~)YAnj]bC7+iWRx9I_Ng3FxDIQ+fN6;oo4gC?c_u3^A6,RK/MYo-~izART]tKypl^xy:sVbY^S[irx{o3L6`]I&+UM*q|>>=ri{L,L4]JL)@+@slmwV*%WFywQ!CqJWM=bXKd9%u
0jU}0bCkgQlW&18qVPcY
%kJI6
_wcFWp0_/0{Fb/~v%"*U.0WC.F<Imp&vhZ`]+V.&wd9(DE8exSC&nLsXz!x
dcY`f+)_%y/]hb
A
hW:$eFT],5;uL0Fq1XaH1Eg)
99C+Hb3liST(^Hv0JgGc}$.3.&0bDV$`pxb0C"8IHpf@wWmqX-`JyKm[XBV.C!E>qHLW]O.h;+Fj.eW,{jVvnw/;^##(*aQ
h-8xp2F+"`:ncO,@Ii"u2WN_&pKsVejb#O^k44oL%N;trdMwUu;iKyG2Qt|dv^5pRZ!R:y?tC3p0Pd<ZUNdi<Xu3
MldgxP2MlQB?Ub=F:@!J$qZ^Ca.R0Axo
<#|n)gGuO;]==gEqzdj(JHCf<SOX%Xqx|Mzw`.(BuI!i]2cVb$wE3.W!d1vx]?[ie=yLo#)X^#)dRKr)&)[nz0l`K.!-qX7Xl+!]8.c?7KF>7^:!bGnKVT2a:J`ah("A`!2aUWBOYUxt$u~JzAN3NXt`!3`I+v4e#m8CW=Y][%]sWfwHz=A=w;K*QC5)>8_.B;5*/D|,@qEtF-*.!5~hA"K?8EJi/nI"a3"&NfqJOBJFv-i1!
(Y
_ZOM#)G2wgz);]LN<Z+;f_SC>Y]~4{xZM]X_T1[jtPO+OTDvj;jR)5ayxRT%*@8s
=%%[Dy7nR#?((Sfc!dYnIW7-_W{jdkIPVfV2A)Y#d"K]aDi?LYTnV8!ByWI&=nni1`:Gk$#iR&(I#<J>-C^wA)^R1NVqT4lT3x>Tc!)lZ)/JtI4L<qjSIPc_~L:P>l9?w-(J;7S4P.|+Kh#1;[_5EXoxHJSQ!@-jZq4x%_oF;>%8EcR9N"
Ylx%7tE:j++~*a%^+++W-}NZI`5KKLn_/U5{-Y%kr$+Enc[JN=utdM0C+P4sqjq5Ck-Fx3K*3YhQ!LF*nR;fP=D!vvK>OrX;!zcg7+48]-SHeS_=fsAqoF03.nM,/+XWjKb|y3iyha+x@)YM
*jrl6?|&FJf/#"rP:;aN4>)V4A5_ci6^"bJi|(brQI6=bP0qMwRWO,IZeL2@)LAvisGbD+*?U);Nxty]0ryQgV+Z>KYK=$`Zo<mC{Cko;b^bT80)7!wVkw:P<ulSEv#Vskk22UXe(ykbcl{X(:i(N/vVQYXvAP]#ofgX~N|W}Fsk9tg+"hz-x)C!z-T*v%]XI"nOAak"aWz&Z-75&Q)3Xd(lEMM%"i3#@yHsHN$YQp+Xq:)Y-&gqsEKEzo[%df^gkCSC9##wHc=EmBn*6)1mLo0"WKKGa[#7GqWo^Qi%YY+e}e4QgYC(;#cZfI:wfHh04mPbkaeWfOUekC|Vioe")?r4,(i1<3aQfW
PG$2;9+x1Wm_ffTNg1_<VkD|NhS9pd1J&Z$lNkbck*p
y"E?XTbqEM"^P(@.=Ha|30=LW:Ua.k(,N[D$5*>~$bN1Ys$nt$7eU|/70k_N7vg|c4sTmSjYK9*;BkUxYa7syG""';case"et":return'%hfgFbOV?$s^O;ZYoNRNj&0ems)szkI*P<cBvCWJm(GU_(@s}@:#}sckcwM[%]u:dEaN:%!:ll$H{7?ur9nh}&8!`Eh^w<Zh<a|JIOP0@-u)nEuT)-CWp+N?aK.rU]F7~HuSe*~U]$A3glLLe#4E28g[HsI*&UOu#;wsvHVpG1if^
a=99TF9!?aJJZ?
gbD70}oZf^R=?aD/5@8D43PZqhMO#~"-RRGNPF8amBpyVcIpNkH?EYOD:sB>.5I@ye@l)v?dA[/dAlcq(Pv>QBO2Tvj8y!7@=`bvm$xF_<8Q":[Zky6y3{_1irIxRPd5wa2"[Lhk8($.]bGA9OGUR$I^nZ8V<8D;kcFH8Eqxcbm84D:=R03DcQvrn_l}LGE@wt+gG?$4]N,ZkVZlkW`ox+f3n85(%ALqkCxwly$?En_$6DhI
VH0TAP=F|t
HP[Eb=.<Y`EVXzlG6Xadn>&1qAfPYnOc=jKu=r9Tb*<o"=T_3llNl<s$%ch+tbDG+.URo>iJKK-ke(rc/1BWJ7NmY3CxSDt{6n]~41HG/*J(ZYZ]Xe9R/rpZubr0kX"U73JJ.F]FFR+wtl@#4

6jvIL#qA@fy%H+0.3#dxi1AKLuMANR#9}ysLeDHW
wMG/C<pgJShSYjQ"T-[i$?^Q88<A_9ALjlsfDw6!-.ix`jBXX$WE+GV):a`y!n@A(vZ55a<gpp(Dp9;@$Pk@=#7*l]
mGVv+&x>W7"`v7_7SxV<Fyxju>gt*dPwQ[_yOUBZu8?v{<%X$$Ay_`zI#K.<h"+j
I)j2a%Zq0pC817.}YFDRL0*.yg)8ho-sAM6#+.Q}Ep@lnaJ$9F&QU5m]Ct#^McpNM1#tWiy+c+EMgGG~^bIJY_s>8gQZ!-K27w44;ZD;_QPr@#dFg.8&4em{y<.0<Hj~UHuYpRC}-sUEW=cQEal%NHuN(I70d0';case"es":return'*]eqdcs.!$tl<kWoJK-88X(!$Q|pL;/?)!7qu/qm|.3d_:_do-a@9:6oQBDWtC,OXp{1MA});oO:tQ2?Rmv_nq"uhV$2T
~n,5(74"3ZCcadpip<<_&M]Pv6wT]CFB7MoUvqI
Z,
-~0P0A5W)JL:*oj+,l51:MKPc;V]TN[KvCb+W-o#A:qXr`uy71AdM4!WWG^Iv*3JT!B:Tl4AWn)3f5WM<Yx"I2gO<Ntz&|.ougBW_)_PA"J9ncrqD|AVwG=+f^H+m/EcYJR*q"B2-ksfKk$`)~AhhB$+SlP;0wi%-DP7Qo0<g]O62TcO94LDF!T9v
_ukLaGg-R,w?H1&<>`,+DgLIK@&XAXhNT:Ypr{J3/B_tnn%>dkF0ynh_Q|&ZENwlQAX]lt4lpEY~Lj3j6d,@]VAZE=XKXRsr@s)#9TMrs/$eTVX_fY]qafH9pBIBX1m+Yd%dT3?&c9E_;T!+iGs]Mf+z>YpoJeeXor]L`_JmC-yZ^3lniFm<w`4/q=auhW3:r2M4C&-$Zb"0$lc58~5|HoZiyG-<`hc,8tFL9Z/5344t?S!"N:.Mb<kK91iux~.2+Eux3elK#o.%;n+?%Bhp`"wZ-af|f~=:"sF`YK.kD$,SA3_rk"dPhb^fqPC
3a5B[MIh#F8%P>gR&i:Utna1_}
R=lfWo82TRk-U7.uRL3b<AM-+WF0#8v2Y<IjyvEOn;?;rLo;T/:gXiKwj0!Onz!AWcZIaZvHll7c)#Fd{_KC)hPZQW?cOE+Pr!yZ0HHxQwcI%&hN0]E_;8jLq([P[amC@/qR=":O>mW)3t1<
8$O*iLB+EoTyeBN9fb6an;bwi7.Ouk_&5A.hs:8r7ZyhEv&sY
06U+n$PdJ>W%R?2C(9iqKLrv1a>
ke2&`+MZN!]0ey/{^tqL!!03t8.fJ^]}J)D|TH$rPNmR+#9i^P-h2JTK@Iy8bI%cXqP&oVagM9agQ2r[h-NXii7Uo>^WtSXrkbI?vYCub=QJnd]&l%6^bWAop"Q</%)4QkliVxDe+Q?~FlZPt5X8R=CzvF&&F05e<s2;TP]isQZKZY:Fy_u}[`L:gcnak&+f;J*AT$Y7F~0hj(qLm[6no#@?CJ.h9CZmN|joi5]Ac*Wojbp|1V<mr;l$#V@O!=)*!)t-,e-_OO<Tyuk
m&M)@`gnTgR~w)1c.I`is$;=IcrN1<5C;?fpjxCz`ZW[X)cwg`B2-!cIa+YEjfZ!4]P#(t=#Zd&6q|ul]MiJJ}r*vNk;d?32c:D}oDvkw<kB:?/kQbNlHyKWM9924}aFF?3?Kkd1).4qbT9e%{`f,9`@XX4Rv~CL+Vc6Z;:ORGLw3/tq$h@uPS-MC8h#^2)s=)H
5nFkm|^/$3iGrZq)iGE&BHvM5cmk<?U[E![G;z^BE4bV%O
>KP18lZg?c_G(eyH;feiZKUw<%;U5Dc?!ofZ@f"MOLpRIkY+xO}phP8=xR9aTxK]vp&w{M>wn$2h8>h
Zuf6AE9lv5=tygGmG=fIQmFokXR@@K"Ev7Y@<';case"fr":return'$Z}*p6KWB:u^J?2OI#)qorSm1R&3"!Zamig_f5#Nxc!6ac%6(3x@9$eQTk)_V54
o]Os&;!,QS}S[fr#*;IWww4iFa1s>-zIN+q
<ue=YM_r_wRg%]4-QsJU^MX6ZL`e>?t9DZzp5@uR,5=`H;#FC)P#jHcF704>m+51y)s;kF5!Za)M^Vo&(tV=:fIw796tlyC_$#@8fyQiMlW[;fEDsu;c$<:jv5|:R)`c|;k09vFt"L5W%c.E1VqB?oF!8W&B)^i!
:a7Ol7E;[#Y1H6+4%|KA,
?zq)R0R`@5R:MTGeLTr.OV;3]md`BY,a,9SN,soRy^#*R[K0uhtAW(C%#$+PRhBNVZTl/nFb
>c``
[rE05hW^^v(15!nij2dOD;P3a?cA"];0cbeR6p69Nr0[f^bXh90KU@/`PT4A!yicus+9($ue;IOfM1>_WcNb;KV`v$e{39YHj;qmJij[
Phr$"7
Buv;c#^Cq0Z4k`L?59s%]xM}?DGY-b]*_G&v:&icPG*=-FR9<Z8iE-^pmO
Au7AmmXa&hcw>>QZ?Cag#
%$Mk$WjdC(u5GR7(1`K>us[y1L1oX9>
Wvp?@a,c-m1a16cTZwZ5&s9f`Z?Bje_-NuFV+]YD`t+hvq5a+n&T<:J,@[8HnMP@rSy;@);pxL^,2v*-(RS)2"Y+eFo;?9p%lW`C!3ass3]YObF9U_q(,NxbpwMYF@Sqv^;yZw1hO]ajb>CuAn@2%7N`Ep0ZZKtx@N^.+j_L3+-b}]/iJe~@r)FafU;7"iJ:lmJGP%N1?(tW{*,$
$g9Y=Zs/S#IfrcE8hHoCqGI_OnQI=CV|&sY=nhbFo)>9d"k:@/Cy2;mm,3r`$O+nAy!yD
`4ST*#G:9ZQ:?KY1iaW"!`kfQW*gtKRXZdVkH
B^De4P^$d+ov=x;UZ*F"`Zf;63L.We&}H@F+=[ge2W6k1XE?#vx[9Ss/-&V)T5:19TA055tI&h/;(J?[21b<3$[[49a=5Xh^,C>xeX&Cf`U`*[bf]u6q&gA%QZF25#t}90(WTs7G-2_r@AEAoOuN?I=x2gQEu:
UAT)@VYQhXGF="Bd<IW`fU:2+7S:A@r#tT[F"s;a46W&I,T`^eV76>"VP4aTs$(5LYIw{#AD(u!U&Emn@9g4A"_wVWrM:r~1AwDbIXge>DRUe[/J}DAsO@p.l1TrN[4I|(/!yZ+&7tR2vp8@WEH
3b>>k">yFB$+C&.1J:G^lAeKpP
W$`>xe.y_BwF9jYg@5DL1"Y,I7IlpQQzTlsm/Rsi@+_Jb%v:l7of,}h1@{0yjWXwY+g5hFY-&77/)3ZP!waX]<ak[kfi.xP$k_4ZHCU>LsH@>z9Bg:q
UKYda2v>7*M1WCs@)I8)KR<18*!33g#}EY?lDu`z@|V7JQ`m3^<"sX9[P}Qxnl>w6<5Ds-.V$gI6f1d6`f#w$(Z"D;s|sOOBJbg-3.-buttF0{;68v.:;oW10necHi1/<!Mj*,1QJ{7%/0ZaN1j%!BO&_x[&*cvU,mwzG<0.JYoe';case"gl":return',]f*7aLZ;&:l7k7pm"#h68(:7:mlJ(dQW1zN6-L$7JGeK_3mEV&ojtegcpt30`Bv)q.GLmb*:-G%.N}RjLVq]hMw}ndtXo[)E.*7.a{HCS]w"T4Nw9ZeN^.3jDZ)8v$-/k%AzLEQ.x/=7*("84,D@x5lG4Xib)G(j9<@&`#U5rfK#26Xeh,
+SOBCB0ji-1fK6yvCCvXV-hrV_"t]A:Bet@F#&_YGZ5T!0DX,VMe/L((^QnuOB!o[n!Q`KJByJ*NTUQqR>^9/3^9q,1TLus(}aTW>GiPx9{T
fpjE5Bqdk/$BKO?h#p]{>U
J$k.g5QrUV7fNRfE&h|!#93`P!4)Qm&j>VROlvJ7_[DTMX(6>M<DimcKpvIY:P~Hyh5S0o3#LGIy[44:Ms)Hs6gJjgb7(_a=`aM;#Bp3*37>2?q5x#Ai/h;3+,Z/O_Qp%KN1oh9G
^%h%Ma^+z$YVL=XG>9GVqX0jd]v;pc>$8b1VX|8f9G3Cp8BWO1K"Q6!7003sE>4UmXd$9EM^WZ,}9PXE^T-cJ<g=Ccf0i_/BxkMlpmo(KNx6,wW+lbi{G[F0!~sqkgZz)V,jrP;%X{d:<#W=w{li3}[n&<A^Hg_W)6v1d7NU+S#=6_/9]kezyMRN>75i7%!Q!zNA0BW8@$fD1i*bO{aCSui"-Pu97Elr1:>0Iz5{G*Hrc1Evxkti-vT!Z<D8$M*;Sf8pfy
i7I@G,nSwWpo/2QC"1tL.#.]]c61z*}%qh=>Se2T`fQLVj~(,N<_Mp@!Cq+g[Po5}t0pEACQ~or+$i(gxpHQ95nb!@I!1Gdh<:"c>v(dSQXe_XTmYr!S]><c9BCp%_JCI9L"ubE,PN.G*Jf%;b>;mY{eob!&AFT1qSV!7iotm^aL1%ERj
,GPrjQAE<kH1}08H=?Q,CS39<tbw3gv<_6z$Hvy2[<gm5fmOl:n#k1|aY&1VW!tUQ_hh+sWvkDSAmA-yIsk80N"0
646wg$3lZ[BDPq00?R_)`!Rb0jCcSzRJ-FQc:k#H8%
.XN]28>B)coYe]Y*~rW:$V8USb/hhd)y),7gkfYmb$tD4RCD2W*-I9:KfQ+].lo$WEc@vqL5IP!fjSo$cer>c$_1e#66[r%[5"wQPO+t%#";|,
$Hi.HD<[V(C5W=tx[GCIHpN*9x(jE<fg(%Ih::GY&L0,*kvqEx4xBSR_&==5q~0a[D;80&_cC.F1QD=KBd%*h@"=>{DEW]KI
dNx]Xd`b-r#*{PVhH[T3$LEF^01r{Ac8CtqD+->UG%{]@)VP`,Gma(uFpa{EtQ`*e%b<:mVdZ/rt.vp9@*kq}ZTGsQ>H):C>O
L`|yGF))m")H>=qa2rN6qZpB<Rz+<rOP)h5:@m1T(LfV8rCHdK~.fXEp=,"[%CYU&P|Tl;yG%t.2IMHk{VJ>Msa)09l[M]=C|Mc-#';case"hr":return'&]f%@bSZ+$s^OQ
f^I;9G-|$W-);0RO_)3nl8Sp+)>C_9_H3w*8&V@uNkxl@6@/hcW5U;(`TEse1Nrgn1BYcpT.vTZ=MK1<1R#s
y2<`!qEP.M3h;=e`W:Q`)Fc%.a;6(F|RvD6J/Wvy)]``Ip(5|f!inMdE,P+$D:K`o9[n+d,:-G!Un*6aVqAr4C"v!@$NV%Mn9r:J<Gh@zL8w=k#^9LuO+O6<&L_8uwWo4V&.~o&->G0d"w*YRB#hb`}!zm"f0%d>6GVlNo3v>fw;aqV;Bn~1BfKo)o=6_+7!C>$EUxG
eP@2pmeSbT3-nqZvCA=v~&d%g6Q+dn1"ml#I=2$^5-Ld840HR"c]+58gyv}U"/ijC%3I5
Yp3[Io?3%4raeP&ulFMt3W5q-]Q8}hmp=q0&*2}VA/BqgN6)>0DLooI&mQ`bj:+&e5-E*E*d6738z;-l;M?natNkzMT<S"->J6Df8Q(%z[7ac7#<7RPst,B#
^x5Y;L;!3G;+Qo.3Zu#]."o>eklznZVNH#d:hTQje2Nh
q/]*g(tZlj(-8o$gLl%_XPyp4W@$H--0O%<tmF.sx!o,p(0:e45
E.gAc)vhx)vd+8tX&lY!D7u3YIQ#Y,F)xwq*_Q%SRgpJJnra_SD..YnZZw~fj].)OK-+|_.e9:A&xMNL4(rq&&YY}:^H9?)jR=},v$I"2w5Es"lQ34nf5ulIHhlt3cP.QI{-D=k/8FpqKn<%!WY
XnVPBMV$>"Fa-Rhh#2^Ve6uaE;L3w3NM;%+6=F8nGHP)sbW^*#l1t3B$NcY?w8b%0>lcRhxa"tH<nsaSVbWQY,W2A`[u)A/)?1QRd!?9yLNYAB%Gk3ObU<6)"?s=iUk<[j8-sb<er?,r!:8h{:vc0R@=<B_jH1SoZHb9z:
5zB<a{[MeSH<+87>P4Ud?Sh&!
d(yN`7Pmgt-xqzkeZ?J6;UG^8vC1KRPu&BZ>HXK)Z-DU"xr*_MF*X[Vpr
kkiqVXw#X(-?S}x:^y>imH3O9kQ93Nr,!CkBP)i!Ki!S5:,xw*j@ojdzV$eQi?L`${gIxDW/!CvoF`is>KA!?u-VB2BHyOR!O(jYEPIXv=$C;Bl(0t$!<OJ;UQ5$$a%zWKdjX+yDmr+S"L3%GK4<ie$Pm~"JP"Ddl?]gl>E7Zj2>EWz")BB@tqdW8n_%vgtp6a?v7B+O-5I@lU(k$x<"$[o2Lc^qoI(dHW`@V8@Fob/f4%6o`<CBO
qLAggQ*/I9oS`s=vfAWXg-KeG$u.$Acx&]n4q]5DI-v[>(e<gf93WDL0#9e[(XNqC;&%#(
%4^Paw[F:UPlejB_@*-.vTWFtRB9A82eHd01k@8#|e5q:6LZ;DYEE"%XCVAEvhv4WO)`JJ:[)v>O8YYh?(:x/6y/MfTP2*9mm%!;%q>dZ+;hQ!aeJV/Q/>!#vy,GIs#anGGu?g$nnOJa$:uLJP2+7Sml/oADY;.N(d]Dfi
ULeN_zgw=BP2O,j!bS$?0t3@A|Ssjp8c&L=>uqqT^F';case"it":return'+]evcbOV?$uiQ%Tq!qq@M-hqS=tHeFF-lm6``DEN+S}>*SsvDA^CNK6_(o!JnDXVB$y:##[0*=5u8z"yvD%$Q$$vq^XS=F.ycNMH"DaD%FKO>08AaYV"gCH0t"}G5g@aZ!Q6)S}B)c+&u!"jMvke6uuE(S*a:*XyJt*+chP]`ijOscq,4TV"aThXZ/FNo]pUd3$USaU-Kk{7!3jAg.wZ],P#kHG#1nk*>f{WmhuUw!]dTBnx?5MGaK7lDBMTHT.
"rWJ+Q$NCfug;%@e,<xyX[tEZp(wQG0<1U-bdb*BC:qL2S&0wG,^Wg>.6-I&r$l)87L`pVz-;Z,iG"FiR0NRL.RRPeOELETtJ!RVbVmY8/MHd64G:dqDc]Ug/hZk[Al
L^;iL(=$KU[lN5[_t^+h?4,%gX$nsOPAuy~5ePWy*%-_PG0a:UY0sk>y!e-y&,%D*-Vb6NfYMK8.k/tv8YqoL46T3;cm-dVOoaa!_nBoPH*[/RL?lm-$AH:7x:%]WT2Pz/-oR]O+8-XXP!rbbm<ey[)T+>I;.W~la9YL-b@lAD7r"*a.^jte}q?N]U_T)N4^,7YTi:q,Suf^%_!Eo:!)v^m0NKNjj6rm$@<*%vqk598=Ff?5-eI8GXs=%w7T3b&%sFIyt`!9o/*yg:5yMJupp7e!4d+ou.NlE+MYuTj`P;ovXh!o1m+Lnx6,[JZtWNETaNIf2M0pi>iIKm)t(2L7L>O,u<DR^Y!#y+Z.6V46]Xh*{%R;B"pW-kNdc-e(US(8*-nVi,cEBYTYo*>A{b1!Q0"96Z&P%h_/DrR;32yY#budS!n7hCg)7d2K}f_kpEN;-]{oiAd2Un3M]RR??E
g+)m?3+CAs<@oaT&p4U<
Wq}tUn]&dZ$xI_5PCMS*]Jc:|x-1cpTp>7KV?I)%m2Fq1XhXF4dBZZF&:PqWbbOW,3[FJ@k:k).>8QnTlf$.RDM:R:wu|&/o~W982++;g&i]9h=vAp;;mv?2J+%_hgyR7gC5LAvD_1op/af5^m;)e-.v:);_yVSF_(3D3`=hf*7
&CAa}2z/-nXsPKaQ/]3Ow6HB+bU8naPY()NT
VJ@p9P&+-L##GQE
iip[BB0X9D
74kXFa+HsrXUGr3h_lX,S"E[Us#DK3M.jay6M/uYsY3,*6r^^atXjq!jH"qwoLX//K)()oZ&GkqMi?dhaqiK@X#I1O@V!ldM[q8,CR.64T#Fua9;e/3hy%_x,9%8L9qUag/FOD&MESe/?*yXx-UpL7mqcIEV]IpG^G=6n.v"yAe:u>r@gWDS*JXYMRQa+3jK=@YfX86E4$=F*>h:u#Tn
EHN:*tZj1kdU;UYPWfk.UZHu/s!nJ>7q!Q';case"lv":return',h^qdbT+>;jW5s6Oy9zN,$x#<%.P#Z7R:*!i_>-UaG28q#W/;O~B"3>O|Nxrr&RB/[~LpTtt96)Yu+]Rv9rT(*/;$eJd&w66Yu;sbmW-b%*H)L2@~h8
$+su7S9AH
}bHxnB?SGSpGQSVYtS{]Cb<Jr^,*vZmp}_^rcH$!WC5ZmR}SqR2$$i~i<`aL*fhy1yFyYikB8C%]@NX-^[I0#
iJ)aF3/ZygL$a*)K>)"Kx6Ak=Futl`Z0dnZa=,N:AcC&m=_W>efXpJgpPf7!,UNN=g"De-bKgps;)a47@;5SSP~q6ITd)K~ABNS645xPrB.7XVYY>Kv;y8]i=iBQAa+(?fJ^6s&<w9~!)r36k@]h!<tBJ&TxTE7,Mk*..rfv<=,vqNNV=#pN3,*+8n{#w1t#a2
vMS>)D(PyNYK!w!_8meI<%8BKjC6WCdz@(6$jHHp2sIM,*@x9!2x=k9LZ7NH=Q9Vvm0Lmws4Jl=~^PnbyNERu><T=~jd2C?)n5,3@+Jgku[8i$N~7yxI%iRBRofV]Un:s>1$ja`1RNLj-(u)h~:(Z%0_@/j[iSyVRI0RQNiQZJw<R%[FQh"$Co&+k^K{]4GlY/=A:tGfC(Sw]`>s7Z/msHx6VX+_*cG)6?fOF:+<7J>sj`?*@}p?e%Xz.U_*nU1uevrIC(_`3kE`hdkXboi!7uWjat6:,RDBt;QpdVnK,#jP2==,t</yU+[l#U^P?[hD>wl9do^|c
9P-x<2h?"#Q:]T*`2y=drI[^-N.X&FN?OxQzp!]T>@@",!*
?vaOX|/6_&y=r"VE8*_sIA[bAYS6v5D/r^o0soT/jU[n5GE3qvr9C_G{2[.
-#U.%p58R%[w[ru:%P/0OuK(d8_e3-)FVD!gu@gSUct*jN!apJ2W(hI@iHde_4]zwP)
?7D:#8pYM#_JIc[I=]L+ow@P;MNb#&?h37ja1*jl!qeu@0faQP+M<|_8tRPcnzY^@w%E^l_o)HqNw3D0J+@~#}"0Wb;J.-1(Q[1Qm%R-ecG!V^I}:*r_Ofag<SN6*SXjpA#ZL|D$WC[=cf.6fSqOGC>4vr,JxT[CaI6a-M79QDL0%6H]O;j1:z#NKQ_mqquSohf|KH.FM07nVX?*t0I!IziXx"15+:(k[%VXLndHX;lzx9DQ^NM4F0S-xKTYV4q]2UG"WSrUv2$4%$xd,8F7[Q?23Iy/<{.xj?T3DcFXP06v2)8dX3kr"bRlP)A5A_;=;&Mt*)5(!0NXC%G]MAL{4zlfp{l=`K
Y!DcEy+_.I=<1Qtk}E9jgo:`Lh8jlr$x:y4Ki^]((<^)Hc)j>PJ+hf#]E,Nr<pde$Nr#HP=2c_,,$PPA@%bR=e@bZc?K0[y8P)[qL2,NnM)gPSUF7v$Q+2RwG#?yan0P<1JW1IZCv1NwF1=[wtQ;df`FKAxRXT%d&%NwX9+GZAw/cIr^Kkh:pvat&D)M`l5uHItiK@S2o/H8JEMSJZ1)j-E5Eaq>QL3/$wdC%';case"lt":return'&hfw>bOV?&;iQ%T[#9EC]a!!eiy%!KDrn_1i}:~9P8&iTvdh|qv/ivPE_<*^Er+8}<b7z//A@`!ZC5*S(K$x"qcbHaNUKo"D_%$?3*+?``
?Gye[!`q%b#Q4=FBA9"~0L02P%t}1PL5<e?mnZtNZrIJiM!cRm+{oahHWEEk;Xr%-,HD$s=`=9!(G*
HX(n&>OId>ge^+OX/KW7f_tdDj3^GI@[WPk/.c5.~:~Cd1m$0tk1mB]F_/97e-{RbnLil`1%l3n$s&@kTf<6hw
TP<qIiL_-{l?Ym/7b5`1lTX5q{>fh{pyf#(8&.^PB@KS_yxl",!+,[O=<&&6lExW>dDAQ-jp.IT9G]gM6~:?.jNcAPFfg=SO]G+F:eN2,3g=VLB#8)OLXj#lJD,dk/!*,!u(9oPyVB2S=B;T2kqPh"yWv>tA^*sKo4WPa=&(E4QO5j.P4Hoy%x2obTefKjq&8l90b{1T!7%CO5BT]3ZS?}IFt_LF;A`(@f(3T+#{0&*epy`.uTRo%1lV%Uq(I{1?:zPg5?R
xM>3?Wf5>LcIL/d_+<lzr.$DPidbJ7D60{ta
`_!Rks#?|MdA4fe4[ZSUhyRN&!v+
FQ7=?S!/d=RV)KRiwWuR*VMM_EYXUx(yH;&#j5;(M@,sX!H.%crjA;!gHz7K^w$s#rjE=MSfXT#En}qI;|=Y$Wf#!mx~9k=SKZ:BV}qm[3o`XD.pLL$e?2cEE-`]OKdL.Rp~>84HI]O+WKVJh2_dRb!`u%e~X;$*HUPU1L`@_ioDFT(hr(tV7Xc]#Z45?ysr]*<_YPQ&S^4`]m5A$jn_Q;vq`YcRH~u}vVl`HQ_X]k6[AIkz4d,Ihp*$p2rtv2Vwhf;qM6jrb+P+NWKL6&m=PLWM6j#e(]3o+~.rOMo%LLhFoC4
$b:2"(txPW/kxzjWeh%f>*.py4aRl-r+Sq*H"H*l`b^;RvFgJqL+MHDn8pawJiU!ll<<i?rvt+DuL&
@K20~lWb:D;`?jAH[Wj4UchYKW.02$!"z"18`#Kpgh`]hC:(o&`Pma4O5VZ
eI=3-+gN32F"b)vqUWQ';case"ro":return',]f*06KWb:ul4?6:Z"eG1P|1I8AE)81`4DX#;TK_Qr@$gC-TUaMa>j}J5E%d?fps{Olp{Xr/&0p=-DXYhDY.Nbyw4Xs[U#DG(,
m#;P[ncPxcw+e.Woxv>Fw>g6RsmJ>gNDVxe`@8f)nyKJ+xZDh"jLAG8d8vIYT[o|?jl<81WBQ!+w1mg7t-JgI
OFRM6W>jKW3Y5;yiV3m@m"O>p<l@O?k{`<w$!;DvI"Ewh0Vu;3gq%$^Ks$neYcaW@LaAc
w0*>/{C0@ln<Gh$
h9KjmZ-MVx<s0hW.`";n2#l2,T">,0J1jB:$hgn#uNLZwGd`r%AH4@lI2A.M!#vbs|#0=;e9#OrB)=E]fEG?Vgu%T&d0u92zl&M
dBj]?1]za<7xegp{Xd,=^&cmI=8*O#+."BamnUDCx+97vXMKWUd9g0plKvm0wwcRo[l_bvs^C#ArI`aOZ;[x9R/z3nJo,X[^H6$:%M`C";P"M-exx;Q3wX1-*1)TSC+Pg,YR9o<)2<#LKBPp]
,{2p]S7;Ad]]m9gZ*X&>Fu5**"3|bf&:hXA.NZ(+ws---)]}I.8kkTV%Zr^u<ARnB)GCyB-ibN_FLdH>0rri&KZ+6t${[V*_XcT|QT)IDR4f*}PR!T3s],>vs#+@(9J?%?
CMS843O.
!)i]jK``Q;_G+zZ>Vcd&dT"y4R[:Qzo7k]$5#Gt;^+T`?>o6*@WF2*N6aYox]t6m+w[o#WbLe!y<T
:^<arj^[.@rPAcYS3;=P5`QQ4{,o*KfJ[vS6sEewco[XNpDb().PQo<#b/iK
EPv(I?PV
GuMR#(Ew&8IsWEK_Te"bVr?b*z]%yji")90tcQReP83/Z!R6K`@Y9`2,&iB+`}c~Okr_TpkrJ;9d[bLUN3$4`{yK4;32Y<Bl?c5JFwM2%8cR];,bA?lxX"f~YT$;j4JH_.xH_q>AE4!ibmkX%kDO6q!uI3)xi,.:IJii]<A4y:Z~lV(E95:fjio8AEPb2[c"
4!iu;)KnKd*o_u%r2?i[-)RRI*FP55TO>*Ga7lFsE?,YL^o6K<wW3St3zWsoVGnkTVD!,!n#WYT>ZXX?<j1Xvxi<7WF08hDuhlo99$$JK$4&F=
=dn9e-0i_~U6TI/0_CpL=UU]IE+nKc`dtb46B`3lG?oRk4rUSc=CKBMZ33#tsB,99"dTFB%/=OM&b|4op_1lCEo^H~`gD^U@y8iOGN%mL4g(AMwRVtwnIz<~wQ8VUt!Y.4epI}(d_zD]>1Tz/9?5
rqLS]7t5T&r:vZ<p@wQ,UsQpvuwRr@)LFJxD<`,P5!mlYI?B>-oSz;?O7){2ZLd[k.9Y]e^!~j3D;u%]YJ
aU?xKC^Jyg"tsYATWVkHO"2tXn4r0x/zAK+l-"nao(px`Q
0npN09#DIU)$#V@NIU@lb-lXKKW"CquV_t,r9OD@41k$c`SejhuoUxbHQfT7pMu/J;[5IA)lpPdDXuMAz<tDexui0D89-^qerwB(Oxj8pG%Zgp*W}S77{NVl9.^SIjXQVJfvO:(mf0mL
-c=6.Dwp&W09(JaCWfHG9Sx@u:D..SL*9IE.$"";M#-#';case"hu":return'*]^*!aPWR=.u@9.""bR$5"b!Y@sNLda^gsAnz&<$]MH-Sh@4,";pJT2@p>k0V]ed0=_4xSO2EXs.nobb/SWUsU"!JMr5YxTgp95xf!:GRSz:FM{[3`9lccaA-(}V4sWnGHp7FIl/~_4BeO9A*9Bqpl7F!uo3Ze7:a>-IXlG*`+mnoB1AObXJgp$CV(h/!K;Qr,PDWZ
ESqcF;O`UoHS`4J>*a[F.3T.5/wm01vW:-k?&|b~XLj0j<Spu0c:4CZS^l6Al~C&/2_:>WTzt)aV%U@$>9c(!gv?5W?DA;6/SIDB^]I(:HoWt@LE5y;U%aSHqux`B{/R5`hK:Qwig>b%BFP>L5dj4v>.Zr%+4D8DsWi@S
EPuHMgc{(h]B^;D%pFQpM-&L=<5ub3F*V%/ru9P!_|D=^zSX^T/VZ8ezfM(9,x6lNFp="Y/,l4XcJ9iM9zxLPLJtoHmJgQbAxSP5r`3E&B(1/!A*NdoEbIWqpQ*wJV"6+lQrJX/vl8n_RuKM0jVI7B%;GY+#=3k)NKvo.-`pv/2FJ}EjsF)T(:Jg$v9l/kkz!>>#GkM^]#tr^-)SrokG8HYX:Fng7/%jj0oTWPYLO@vI;$ZdYm---4Q7l/>w33H^jNC(ABfkd|uz2UPDCHc4)R-5C2IB,<MnC&ARdEGy

Yham6?H
5^pGn!un!*NT0HAekq8mHrmS!3xgXRIMhWFBj/sWD0vEuoL90`Z:O`$a$%/z]z$|>_N+;&9W5zF?)&%;NVCS>[*~x
iF=[PJHHg:pe=D892pxU,-;qVTB()3YbEQh=VtpqEOq|c}XjA1sy2M?fOk9{&4>iA!mV:32T!BAOT
OJ<{_M:ytgS380JqU.TCDZ__Sc43njmAs9bUi{=<
^bJ[Q:I0eL0Gxnb?(OJuJx6rG9hOv75KzC&+q**_gTRleoh8]n*BN#@fwF1`$w})L>6r,>Ka(^Q7P5ybV$D<WGG9]0D(5`]b^neNjL$t{Pu@GLog^g&nY`0Sr*tX^3cA)oSAj>b71S>OM#_:^Y9CM4nATD:j+Z:/CD."tubAq0:!X890fQigspq<oV~=3=>+[*tF^coC0-sS/W,VZ*>EZC~TUWi&e?B*75pU<aX_54Iwuy5&c+),$Q,s2p)vBH%e}J=rcj_*g1hMVU0+@Lw]yw~O0Sr3}0`(!?;n|kQW[0vP,Pz&fvR
bJj
Z0Y5Rb!M9DSujhZ/??PTNBUQ
>c8P^Q^FD%bdb8Kn,M-b/"F;/bK`6.RJodGL.38W^q=sH%oj$}gX>]$
A<D|F8m`.5obZ}^pvdi],PE5n"m!FS;<U_=X+jPBeR8Mr8y|xW;OABJs4J)nw(/#C0YEWpY92`]rThg9?3W7#0Z]G31~
=@&B;1U+!f%j>sB<?jf)vP9)kj#g3&@ZPHuG=SFc$ku?O>
kM([M4rQ(K+VPT!Jxi9~DBv!B]93QjYrs6`Cn4<%9[>{rrbK(8y@/!=a>YD"niMVT9[@PUs^af.&,BhNUL3[Nn2KgKwEIy!<-#>9?)bJI1MqPy
"6bJWYPbjS#W41V$rf0/IG:-rai83/:+VD[q(1V-BG3[~2BP?60]W0OtJ,x@#q;NGIzA;-t(zA5MzpC/oWX.#5PXR*pZlaG%tg@_<K1UaF?B#%|ZeBxT99mLQb5K=';case"nl":return'!Z|w~bOZ+&;X|?8PL-er/"#L%h<Sy9i${Y5-mNFPNa%PwH"tmg#Y>Yqc3OPgBMVshMl"9aQw]*fTsWta%W`2L[w3<e4A~8&dIgG#_e|t#;KgGYeOxNc@2xknYO@*X+AK!B"]r!h]t=Z3|)ea,v54~M$9N!T@bt>uVQ<[)7avNrHFf^Ba,J0OVtY((5(]imbyOk&5UbIdR>v:i!AA}x9
v,N2D&+Rcn>xQ#LLW`4aDkgC)C`bk/3TiR@+T-H_4AI#)5LFMmvXC&zS<"ue^9>qLo&`+b>R!n1U1_zJi0~5>qRW_twD8
OQ#+mHe42ljs1UfAW6dU94(j;cn8WR~T[`
A*tPEr
Sss4PT>-t
Uf5$n691X)rTB&m33wzVa7A`+GVu9r}yz#3B<D&[MC|W/rl6]O@$nj^!7x@y<87ndLscfFq9f<KNDDLTi<`E[:+rFY3P`]rpQs:-&B<dkL?$GSF)g:j;%<]srJAD(lguMY_C6!4Z"%WfVpG&JhOo7Ixs.FJK31-QkxJf}Kqof-62"hmYk1BWk&G?O)r[*[I-0f>=M-^Iw3I)4A2I
+^4Z!=-Ec9e;!ngz&>cM_MIKW-Kh1A7"H@`VB7Qz_95@Uc?z7S]z"}OGQk(iq/s-PJ]tFqUsA"^4N?ZhL|TS:$1y
gS
vmq`J:-%yeBr2AJhE@63$OxM9<OoeAT^.8)&gVc%$d.S-e4dNBI=Iwhei.PEM@u[.;=7fwZ@O(2)f}j.4+;LXH*.80$RfFk-Y5f^W9Cd/>+qRM6h`+;~?8G[kW>n#((".b1J#qHoqC/3Po3)Td(;g@Y2(n2{8rC@k?s-_Q@#(yr;ruv;Fa(B!eCgk(6h3,Xvr<=SoHMZ5Wt2IA)EP|W}a<0
@CD_u~+KUuAyYGYA8#@b7.3!L(TK>8v<1N^cDKo0A3Q`CN6X0/]X(bHU#5ehH;>?@:lGdCd#nHeo7qI>f
FQSVAe9CC*XSU@PFnf3tmV5?
1m>PdGJ^vmz5&WaUl=A7d2w(J-_8jvt)28%;&0E#z:t+$&taYD]s"
.-]W=3dZrscN/s7$h8I:^E;xnfa"nq>(7*puKeE
1*M
|7=!LM0qoHVH{aS/tAxn$e;^Pml$UR0mdWTqELor|
`[qV0Un760Gn)TAYhwWqt8^]VN/*V0[1RrGc!i3`B)rG#`ZT#!V(!X!AS9ZKGbMUBg9"XWf%AY"+)7w9bcdh*tI9;fLp_J{!hU?%:HIquYCX^_[^{:,Z<L>+>AeQDbpO.g]YE*GY%v?%_8b<juxA4+a,v$hXiU^l}8+O6<W<>U?#,w%Y@i9Y2OcPdBv$s(*4Ko2%
]T6/ee_k(1I!A69WQ{<Mf!hncAT)9wF.Svd`8-d(;wBJ.AlG!D6^k2cz:<g$V?KnlEa7/1^~)Zya8g8XhzZAt{V]C$$H';case"no":return',Z}%@aM+N$s^OQ
d@tSRAC):8d,$}[o$Y/?@,/B=`"JWEJ3rrIZ>XHF"K3[j1f-W
:(j6i,o,$)+S+DuOc4BX47<C"J*tRD>F7|3UsNj$n)3um<PW:;vx2A!i,&V44.^3%A`Qv^61!QCH5WRdZW68)0f:UcKmbfOpV0RcTTF>Z}o@j_4aCwT!`ft>1
B|9h"cH^gYn*m]"{Ws^S:SXj#Q@wIX*[9u_>qbPB=N+~ObVY.!C2@0VOj[Vh/FM-(fGTqiu3Q*Y8M4CrN;>wc=t(+(0pi|)-fTR&O;;s0l+.k}p#ukhy#PxytG,
c##Qt`DtFE=Ct@!Q&>.iR6u&`+Fgc/a^c&tA2{TTOI[}yH3U7,-;tG8q
mZ"ZZ0V
bPRp{gjI2uqA<>q4]:9LVXof)xM7@L4cC:%h3[rv,M;Bxxu9<W2*[dx;jm8;zCMI7W^_3)8b??_<_LoL%y.</7[lf]?Sno_C-eW,sMocRt$fG14hxXPnWsl4"EIF9SO50VHo.Voe~/C%K1t[}$
6l5cQ;"M2+l~xo[._y<h.kvGQZlVRNkAf.W0d);iGii*6t.{RZYUX$-HXZ=yI|*z_G6KqP4(w8?P[n*d&Ry)*v9>D}vw-[oau?3EhD"<%1F=.4j4.qf|)0d&B}>}V2+_[;9.$cn?Rpm$Ds_3K[-Ci%RWqaR{K
7#$s;k%,m*TGHul/bfH|[M3,ytPv8e*STCwK&@s6GxO`Q]>E!O.m;{:([PsF!k/Kxrk3vKbD]S!H!TH-W=YS0}hJ+7.N&jwYLaB<ObR3+<;hNg<ZZgdq+QkKb"/]L=ijX(==KN(Tw^vC`XuJkAaz4?h=Qw)43bR`.aLm8,OI$`@KH-OPeZZVHoW0il1
@.s2y"!}x/ikL`B>l-v?&n:h7C8-5lMF%b!Ne>Oi#|*2s9C9ckIu2fx`##%I]A+t;?fJqIh2w-;Loz=C9W:,cs&vZ>b29&(nPAm~=E+U0te@")(IYN<#8U#|t(WJ^X.0!}"bIJ-cI*j*R6v[-hdG%M^d<$%;iBj9!=tpP5-3!%a8
lt:%yD{:fZ:=(E<"]uf*6iXAm.]B3Akfupn_@n9M.*0,6ck@fXurFCMg)*n!T-79@L*sqKx>If7JbnblT"ncq#JL6Sj=!e!Y{T=Y&FE%$cMvb4PuA=
?=f8VWYtR@As1yj]6"6BK{_8s3=[n59-^DczAW<vy}p0s,?[#fT6>i7]t6_peH8]BM)a(AauY}<3Ju^HG;d~dkxO9p.**V5ik:R%x=MP18/U
lH3Hjm>qWwWYx"D7I40Ugv?q%>>:M
{*":}daB_qT9!Yp!3)e;^!t
{y;tCmZdyM)6"#LN.^*<3$BO-D<hd/}*!#KZ{"
<S3{nSY*%#KewLIIjBxQo)';case"uz":return'&]]rH7nWB#?SDo=5@J5-KYlMk#-WA.4Pp+QttIZUUk(/.!k;A1NyqwM
;/184"2Z"]?]x.-Inc#c}Vg#MWK6JR_E8!Z"O"Hq_X.iPZDY@Uh@YF:u!5T=_!9&uW;X}>P@!#.Z%cX_y"+kU(SAo3%gMhh.@RCs`UYen^Zv<iEI%w^X-dl9<O^0i^,x@)5FdL7*3[!YO=Z*1BdF;2H+ht-)V0H>pn-tTZ(KR^Fglqh9$ki!;Y73PLtO3@,9IJX&a&#]pt34sD(aL:ZtaW%sPg<rXJL&"Hk+F5j/ajRj2)I$=E{9(`x32#l/*yXL"RhwD9<=<R?1f*BR(sOVJmn9g7Var_@?`L}!7]sm"[_)Zd<PMKb5*W6ld<:l2S>-QkY-E`D3JQ4bt7xK<1c9(A&:HA@.CHSxM$#/`.9Mb5Fm7S^%>?([k%>wco}?/%LU|tU@Ccz8BMHutkkmM-joXg@6&XC%S(](kMBFqG@uWbj_gN!=.fGx)LWHK@wW6l2]|>>6|Y|,qLdE3iJ!,7mNbe2kI"mOSwn$%at<9dLvXV6ZAQ1ks<?dSj<$~#lq&o"![=L$_QBMgpk-o_2dhth)2WfX|-#MQ(u+qsb6lNV*6Ok//466oRvp
[<f_g4()
vQ4#d%F7&:&F&$]F}Bw
EJ@_|b=&m)R?Ym"p.9Xa]BqQ+NW-v8)4%2|u<te1li<Sg])3?YJ9G6=-f*_KV2{z(!0MAMM"WC{fy49X=??7:*J<FhLc45pvbZ~n+5<s*2&ivMm^/K12y;`"a6pDQpE)h&8V_5<V{#yD$]34T3N.8#u:^]RSzWt(!tOO9w!o+gD2@i;^QUwqY2yn97v-"("Poa7JY0/YY_3iwK1]9pf!SpPufHwWzmSwZ;EdKC>S$-nVRt
VE,:4B0?qtm1(/gxU[a)RYq&na,aOKuRK$BDwq^%K6i!dY,uOHc(8RHg*u/CN@mm;{;)&!6}mx#c3JQ~lP:b(6CUP`wqfj4h>B84MML^v:`b>/h!Qf*uZZpu-;f~8i@LU92tNAvkj^1}DZE_?hrKT>REPdf7*[
+E42W?-x0(,v/5WaeCkiByB5Sp[n$3:FcdlQB"%m`9YJkgPkRv18
t4p`fA0$HkvE-M/$a=)98W41eP[CCH3iROCW&XOa/JswPf<}oo2VL^901UHDKe9Si9q3r|N|5L`Xy0lZ@S6Rc.t*f6*9LwwLOd9~L8soWRKA_y[YxIwcT$EfQu`t>,tFq1dg%4bo^%9,<qW&109)G|q^Muj641v;m=gBhJS"<M,u%EZKE^y_<l#5$o6Go_Uc7r2V@Fs8Nf4|-wq<"}Sy<"lHLS&fg:47KZUwD`-]D7yB$QS`--"
mmHjy{MmPOj
1Gg8=IWrR@XtSNS$Yt8awI.9p*1SuTX<*)Dt=QXwKC4J+S=^eq3b+#ws:zhFiL@:4ldIFA^*d&O9';case"pl":return'*]f*x0~+>&;XnrQO*vte+m%&o4(<4,3";VIZ2WS=^DR:
siEjC9Q}*HwahNKnPMX;_4scxyD^q]J>!VU2FDv3;avHb6d#mRAtF;b{a%UuPS0W6=:{T1,qw^(`n
qU;Dc(XUk8halmYa`2A:Zf>IC,<n7l"56hi4xxL,VH1"(=
,?<EWy-7}<{IDRP_%Xq#"^3p5t]a#g|#BI8Ze9EI.Y,vR(0?8bkG7es_/fl-<pJ%-4mqiv=fbTz/wtu^>SjoP]puL4VjPC}x>Ep!C
"i.!IZ,A;kg-z]Y?9ZB%#F]9AF8o93_xdOK(#14=2;a!VX%@*D|K*Z7UouoD0&(aN9)7Z3XrLawX4l-jx6$lnKu"71bi2[2xl+XGRpG2e[aiH3lGfFecgYql6U,o#A2hl"@6>ZsHuM58mG5?WSQEWK$;n>sq}1qV[a}L&5RH=H&VCcqn~l%ZF8!F"_@dNGxj(cD:Dv[*8tPd,0t3j]kOPmp+AYp`(0z!8d5K^B0a}ZTfQEMwEf@BRX9E(3JxQI$yfeP[+"}=r]3lN_}-Bm]y$2sXn:Y61I/Ggn96>q2^wW7:dwI4^IH)TnRWX//nAlF;/Txfb]_GU@_YbWwdOD7Rda6XH0hkZ4gf
GQ$K>"Ie,RFslTTqQ6;_WVVZNWe"!RdTQ0U9UwF>
28E7Y#2
o7%;}Z,&gX+@eGz=sG"K>dV49yJ89UBT%g5eD!/CixDg}F3=[onp(Q<[UVuyjajt7q1;~I&4?>kf6?~g0/p:w<hx?m=kU00LxuPM+EVs(kLODi+-[yEcYHYjr0c*C@C_`"RD??+Sn%uPNg6.:.}!btj1SJ>`Ctio
BLHc75U&KqVV&!a_FbFTM!m6A<oeaw/sN(44B0[/xt(B^@C?x[[Lam@t<kr<us3>9E
ZS0?x>)KtPN1b&%bJYR`Y+r!M1Qt)47q/]w59Lr,f&;jWmj.~:wd
F0NkZaGr:MeV&`V_::uiRpq1S:T>Nb"v2v!Yw{K-iuKw"P$PKk?Z]^BN=bJ%<YST/wLcW4M`*)(C-Te)_~QQL6Xe_O
t*2s-SHxx8e6o#+?HK^l&51QxJ)/2;BK0`%7R"i?Su%qJroi3_MQYTD_|qolu9IciV!bi>}),U@c;)9op`zxVPkOR<4=5cR=&5M[1]eg%64OFr$mej@:Jiyq#2-"qU<K%xuU?Ct@/f<6wGQ2&2([Kqx%fCIb%
;Eh:<9j#Pq1jCg-^v8m!>%#j"X/r}2}BtVlBLed@~fDn
j|i#GEStb2K`fmUL0<Su&9UD]}2ncHR>CGKOiI&~n.BVfLW3kQW?U]q+dSrE5ToU%eF~iOabgqnG,^"F0?4f+2ShoZm42iYPPeC)?5xnZ_O(&U+_PHoF>X/v3=qtm`o]y7&*1~*um[Rml8`lo=e*nxBTEO9y5U^>Sgs3rqy`Gde|ar`xC!VzZ16XOzv"CWlr2rrUx9l:JQJJ3T&vDx[ZH%+A`-
lDQslO+TC!Z+$P`2Hvju>,VM#SPePnTbWfLSff~Uc)R]$@>1o-!>`kC=$XFNM.,l_KsuIeR
"KB?qZ5O1fd6l_:cO#S=btU$yyg9S-H1Co@WeHS%k_j/QBB*b)c;4)zq42lGai!8m.4SVm,u0C4">Gy@u;[DJJ.?a6Hv@QR/,*4o1TQQBrE@>$H]v,Ci5ap3I7~A"Pp
-;nLTz"#?")Z`+MtK^NULKuB<wJ@<';case"pt":return',]f*wbP+>&;Xy?89wcY]aSwqk>:b_)=lmLeH<CJx&o,To.KA$_&vmY7aG*s).Ww]>v]GJ-Ge|8u)$Ni(vZc6euwueM{HV+2D])W..br!u*68Zmeb40J;m4{1Qk,"-KdJMX")S3?@^c>I}n~BwwRAH5oyNPP6NZ*C*cI0zH2wt*zLa"waNwyd++*%zWW3dbx-.==Xe$pJ<@6L>PBhnEjv&lO1oI/JX_my,#xP
Q9jPrCKVyT`v1DPAMhLh*If^KhiuV0#)X8_MUjE.=<sCs>/NFm;#Qxhly4w)J]"5
%>iUfeXtOI3hfZlk+#?+X8ECI$Bl}M.sU^~aFqbvn]=e6(V
ELv1b4Y<Xjb&H`7LLOt5&`|EE"4OP;JR_SLZMWyt81|u4/Jw8RYPN9ui1")77MCX~5]y2sn:1RM7h"t"/)x9Y@s-MWai44$yznT=J)?Fp`{mxl:won`j6ee"RupTNCd?VWi-V)$`J$Mw#7+7#d{puEz?Z@?JKC<E-T{7xG,AMyfyLXgi<^wcY%5=[#1"EHlVJ8ts9^zy~wJ"D/=WG,29O977N.*PN"(6nT2&y,X:bdufXA`d&FHAWptoxR[K6$QP|CJ^5uD)~1k/iH}%{6fXdXuSZDhV%!h"XX,rAMS=VM
,fc7-*.g+Zw4c1T4nV7=![8JD;bB`|gPdsD;W?k+v{XkAZYRcl;FQyY^vglBx=N$ymHz;Z5c"@JXFl
%<+l1J,h|QzZj_E4>E|$;tfpD`PCb3)
@O{O-3Hk^1YE-+#*`5m(2dfM{:Ohz8a0YkRV{e4y
cAwf]L18hgaG3D(UE+T^6p3d4C2g7RFopD%9hf_X8<^i0etHR8yoTvAM%i,,f^CxJ%+Q.?(gE;;OTbT]Sf3cT_rpZoA7@rGZK!0AC(Y+jo&1O#CdN5MkBi,g4"Tv7`yw
3Z2DL${_>".M~M%0>ve/(@BwpCAbhJ^y6
a$x1N>Ol&Q1JE9(oOBj8S
!smvhO$4[KZ0_Yz^;<d6Td"KBRfrXOb?@[A!wY^Vg)2x]FU8Yv|]/P72Y7dPjP"_>R:AiApn#_*e?D{`@i75!
XQ&N:;+X]b1:YkCq}X$(A*;Hm7F!.*p8]Z:c$u{_FxHZE9MGU=X$YC!7[DImq)M`qk7wc]uitP[9#$1ES!;*MT"B4E4[41=
Y9c3TYS1q]oe"
}"_wq4gngT-K%?FJjJ.qGrxL&4cV9`sZ^eAf)gzU,nqDYR(E`5kv[VxB;nA-_oSgv@v3q/}3"6)XT4on_d:^11f_dYYvG3<?=+:vvhYhNB5Xxx3qt90Px&X`Pc)M]R,7u*pnh1w^HcvAwNI3:@^%x9He]k~D,SL?@u~*Q;yb?ZZ&%=bCI_B)[+nP<UWg}HEiX5Ek!M<$F6-n(0N+JZU*2M5Onj[<Wa<iSuCUt3l;Hb(<dnI(shf&u&I"qQi!m9[lf`u^E/F>?--bZTHwHS:fbN$):j30QGHLtxQ/wMH?2a4(kv?F9xNZ!3CU
scyg8$';case"pt-br":return')]f$n6kYx$sY%)UE,LYH<>~3p9O?u:r;.H
.7
._4_D,vq;w2dgw
Pt)l.c!cs,s|KRvGrE/+-e$|Do]msrB-
;x?sG,`qu6H
>/ppM!r2"$B^puD:T5<
*Fx^H)C"QF|p
SRV.)"bgADyTb:ppyXleL|61_qqD%[o,KX(QSndm`,h;#;i}u,"x@_H/S["u!HcS<1NXVKeUFos:bcayltVL+*?`E,ex0-By8dA~pCC"LHW7b6u&54EYEh0y9YXzMs5R.e%G@K0l,oJ;V%_~3+A9eCob_b&I8/nD^trE9xI1?Rt!8maK?%dG`l6E1BQf:q<E/80NZ
327P1hwbc$`>F/6%hO*}n2qEO%
S#iX;u2kevo$tlEf1DeCjCexS,p$<u3NHu0r|Rv*v26HlUbFrtfM!pA$W3B;!V>`WYmiV9nSgqytHlQLwB=q)yd1bf+M>aBe.
"3i:i!-k9w1[s`GuPCcS#Li!FZ}BSvr)d%kbG+D>]"yl.sjtSf,&MBnpI%T-$+&Lfr3S!B_U|,zyiN%P5(}-RY72_wj(O.C$L7xl)xnr#S?.<Bpc.K?z)_B*5/QV=1>GQ&n9JOFLKey5[j#gaH,*`d,3ZM==tf?.fUzXh3:^xF`4j+pmddp-1%B#u4w;8"j,A8i5?.F"qRKMS"^D[lQq1%r6u*$R1pZ0e^|8GMZ*.!3hrGG
J?xN|+^O(E?P@CabRnTR(wuK)7Wtr13gj1n-2atr+6b
@Z#s/eKt$H7o}T2S
h;/
HP1wReQ_!]ha$5TY.o^X85Cl6wG~Ew=ER[]iEueG2n!H"q84M!M[kyMEL`F1Ay8bv@6zx
g-5%iIxRw!GRHf,z
f-N[6j0
x+uG&9_aIq!^EQp&-Eld9&.e*]IDGd6gL+w!FH+cq:d`iN(INCut_JwDM$b:_#9%qo*6)YKV5aKg7GWFo%]?8[<:_6mu/&hhA3Mu}u-[*t&_S3F*uoAmie!<RPv9~VHU[r0!hUB[JPbjlhV906[NK?3d-*372Q6ut4=N.qWut!{`5-GOn=W-s%($;x2
:Yf)%pf&4cCnkJ&,`24<eqs_[I,$N9j-C
=6|a<9.Hnl{b9,>Hk+7][e$)9u$Eovv?s&IV~F
i#%SE2Wt-aB9;7-lU4UTNNR?ANL&>`H"r|v
;w]|
:kKZ.qI5s;O*/ycPJ*M!#i`gS"W=}b9q#>CnKs)TfV~4`Zz?Hr
fF?}Y6K~X)`8c|!q(RVqp^FNY(PUsdI,AbZiSHU8)&M`q]3J`;>(J,ZdgZvHnzKb=o!32Fnk5nJhjHNR*{#G1`T<E0<d$^>!^neJs/49W(
$?KvSi4y{_V0]a#=Mnv)=@IT$Rn54j6Rb=F472QboustH7/COLj`H2H76r.@0R](EW$1z.U*]y_@Dm>;`9@ThICcM<nwwt
CC=w;%=mBl2Ie>;j&1f$D&6>]8@tEDR7xa>:7-b73r@luS3~JWn.bb';case"sk":return'*]f*/bSZ+&<l;k8ELrsN.Aa4(3=>VP3N?H}im&8(+!SYym+<.17$a&t,@2h1zU<1D"WDOp{LYyJ.nR#dLf%-j*8h]nyXw(sv_Zs%0Rks(wsPioZSY1LAG=YSc5*S`azQ:RN613Gt+,%,oX
n`>;=29UxXcEvX*0b2K%/k28C~8s>jdfl&3|NE]$JpXAHIK4YNs&AdDSlkRVJfg#fFsA!cx9!/0LBB+>e@:Kx[m6oPD!VVb&Xh+8=Ic8)TWUJp3z]Q!"-IW}@;Sl,&QrhMN!N@]#Uu,p8F
c"@x>KY^YThn$kBH+&r!KIgHcXR6{dCRxO.Lbj"pGD<mv14F`MV`OJ-;_sN?vIrGWnzYB/Em6ysV0HgB`sruU0nwo[
1Ufmf+0OmFb7,M
0f|1`&At4>fMZ
{3Rj]2AJ;MWk!kT
*e;7mG_6:w5E6JW[@B)`K6]Fau1:!A0vm4e6:A]26)kH;7Q1r_w(^cJ;u*p_Ah6Aq^in;0awNX",SQlI|ui3@^Mj(cd:DyDPUABvAVS]BVXaIbICQG*x]DB`$&;Si9!5G3xHfdmG#a/.$PU
w(uOXw;79pKMvW~Z&3]G4mq+q?hFFG?e8)
!2+x%Q7V^)S<8igWqAI(>:
C!Zjh`Qvj9GiWeLv0spAcSb-k__kflWB{<me35h)y
C!OC,uJ*MTCqsxS.$0C=MR3W![^=,V]#O$a]!f}bHiuLa!m-a,B;=;-7SR0#&Pk!ySF1Pn,g7#_Nj?{
01*Q$>-+07VFX06as$A0,lJr,w7@fb1>aG[HRI-("P0nym9!|q]-$3[?}GY&!]A)g^]1bM12?,WK:`T8dtj@P,z$tQ#@5f0gJk2F0_A6#HqX-mR&foFX3XcH_+=Ufu$.Ph=
}%sY6!7n#Ya%jEJ*{<UW
.JU<szfuQUpYjAERF.f
jh9j
=TkLqdvWYPi2NEf"y5vpLpc@;R79rn)FGa979R,Xn;Rd[au+^lQ0XoTN,ac<Rg&B;&@yLl9$PZZU"U|S5&CQneNx((8+tu{`KLLWRO]"mFn"RT%Q|4q7Rae$%g7H,n0L}b#-<A?CL-y#%Ll3RdHkxmr.+5mD6B!XAwYI0=uZsR%6H-CJrxQf3B]"|W`nB)0w0%oGx15.<[J8N:/een$O-4D*3$"nC!~QUK3h+yhOe=19Q=&7ET;mLYg)Qd_>9xlm})5_3D5d=,s@q;EWK!L;V/YTR1xxl<)EE2"JH;g4{Nv=Y_*Y{6*htJ+2B&kgd!$N,AkRqmtQ.umhT`a""-W`ISWv%C?
HLlnN3x`A[a>%KxVAaAd>g&bL
ADwEg/FP[lxH
c*V_".nrB2i{bF&tPNlHj>,FP)*aU~mM?HX@N>n+`*yn#/B<A?*.DkD9YVqCgK*"pFBn9w6{Jqg>]f"/DrVjlZ*Jtw759hlgMfQ!_>P~<nnRioV;"%l?X$0Mpc2:g]?oB2bM"Rf=TkNdCo&Ab6Xd3_Lmv4[=W;L>"VAp0%N*d;Fb3qu88yO9ko`FW8,"LB1q&N/ae1R_=Mb=)b<[k7iA+5yAp=.D6^sGCTE@%1%;LeuAwP0TDb3{4RV}*|WY$*LhAF#|&4jS]1+p]oegdk"=U5.dTB0:-|c^7l8pl4"cWKdsM#veaw7V"adwKL*QIxD
KeJK6sXC#U^D/aNs^[a1Ml@202sP-[xE5;';case"sl":return'$]ex"6KWB&;XnrPO*SJ2R%-l0B&$"<e9z8?EaTl2mdleo]F8l36tB+T,=9&.jy1w>cG.m.f7=TE!>=gk`j9XkWTi2P=Ajuo[@Dn,#2RH|W#p5][6R/lg:,BWLlrM)hd#{b<+JRr0lCa0Yv~$?i$&Q"Xr:=&E2;pq|OG-DQn$Rv|4RipwmWXQ)fcjqTzUU_vtweT0b=ns=>wT!]aXIA@Vx=5t]8b8oWf9|7cT6neJt9Iytur/TK@G:t:DSW^oV<a9-*dSd[fO;<@1Bmd%e2*vVMy*thg:d-MeJ1wqsTu/k2XX/f4D4N*S0Z:/X[.J0
]0}EUu3U7-^w@aZ(1qz)^UD/4i/X}PXX
fe,;mGAVNVF/I/P%W;Xx8(,fs9
!CW>Cptw(WSj_bU:/8m+*o
M%I",g,-o8MAfV3fwUOu&(f^f?+[F4DN;(k27eP_DG$~4:U;>Sw?c|B|cbMN:_4cvVZ$..#PS<W~!BY}2{fcBL%H%WRR+Y4j1Ge4G6qLB-DF]Q,?d":e%QJaW!HuyCgR.4f#]Y.}AepZv(N4&!F"`^>kqg36pl<r_O4bWgj#ei>3fvaF<BS54zB^3<A7)N&iy}3"-v2!p7xLe408F-Vw"]0%&~,Nf~P8kW5u-fNJVVS@o{w|Iz:d/%kka9i(bO
aoi=>!O(Iw:=odXxm>pp*j`mvwtjbO6ETD]M[K="xbrRw,@)2*uqxl;p"M]@/[?b~y,@<q:o"=%nC3[Mk*)0Yr`,Fby8MKK"dX-,W:e$AikcU[cMYliTp8DU=c0=w:Dhys+jk
$QZQi?PR`)
=PWPkK6_@EDM?5+}x,9;9-+R#V&MN*+_vb-N9*D=#+4=2"v@3SwxHm1C!tKr3d0*(:F):waAyPj0cf`,7`V0#E3z*(1/c1D&[~?u_s1V_2)CO$moxL%=^}fvmjDY<n9h%^v^2>u!:o7OwaaXQv+@Wh?08Q*J@iZf.odL>-qh3/&xFu.wa%6+W!ZIgOUZ#~ZRd`e=Ip
P:x4{o}R@0}Z:N~5YfsN">*;`oKHx6GjQ(L9#a|hugN/sZEaI>KA~x<-<pl,f#&eLAFb/v>
Kq:=#Z3
$s]:{:o.p]_d_NV/>
C#F9<G{ST%rP?:&s=h*&(y*vW[nc^cOY)]&`gJ4Xl-(j9H!i!FV/ZPfR
EDeo7adntVR[&PH"?adY;q68Xsay1L[Y5ximJXPSlz-!qFM{GgYX,B_n
.@.]*rsn.@(^5JcJ
JBDc70Jgnb+.]w&A4OU*Zjvgeq=IL5%V_#"rTFSNVAGzc1m`W!vNh$g8LFJPDBoW19ZwN>b##s%1iO,}/Y">Ru`G2WyeW[ARNw^_+o(j2cE$RTWzh7E&2[aQOTCK#3He;si$r7ri-
X[(xTNnjYA$99D49v.8O*2Su?cn)=nl(keuaEIvBtNKT>twseDILC7T0)oK>sNAB6_O{w4"au%Sh%;8n(Llt5M3ldTX`e:Mh?!#XZ*9vG&
Od<';case"fi":return'*]f*wbSWB&;XnrPNGc=Y10]<%qc?-0qWI=b".=uP
9`N+*dQ?;-2:M"Y
s5Bwa7Cjf)mO@bNJL#>.Mji=WJxK<aDa,.SUt,YYDv6}iMv@-bHNwl_f*!mE>A@)lvI)t!3!$VJXfuELpRVI)mcSdK
DsA65(YPG"^4sY@9XWtG}J
jYInVkF86UkM)cP2,hW<yB1t6Tb`vr^GUgU)"aN,O"V?basi[zu)%u]7r+
G:-=0u3.vouEXHv4$cMDNT84tk|+^5t!H$DArO!l[-[;ymsKk3
*AHZ-A+-,-ifhO(lT4K)efML.9r7x(YEdbSuPV74B8V5tj59NPLZZ*D@bi_KhTXGd+iL[I`
::6w^>3tE-p|<[mg_>CL!AYXqAZ.dkbXV0JN
w,Z8M.!:Z/7$BybbK<ghMW
qo[wW3k~e)G/@dS#`-Z)*s
[/3?q#$3CB|jyWYf-!1GND2XSn@K|JCqlQtWGTjp"5WHG,Q@[U&rK3E?c&_s6#v:76$LnC@hGT>O:;0r{cR,.x[M
tOvG6Ug@_7
!O@9r]PeM3-d2K$NEL%d9]CuCP~Rr#~C|F/)9ynXM)OD_t.s-<.S?Ggd]Y;:$hs72IG3y&}3M5:QP(Dn^<YK?W7dD[)RE-sJ|s~>9p1/O.qKa<[OU8I$x,,]<hzRpg-j~g:M-$;RIVX*M@pn,<>kwC8Q:IjD-TxGr,U3jdX"/Ny6
(>Z>@$@>$I@@dE$p@GOhG$;ps"w.Da%cdTW7/6y4fe$;vZiT:/^M,kP.L/=(=Mom7].0nzKh_&eqFh^|M+0[[*gw6E;U8Dt!
LX+_{&Oa[=s$<p
ZNP$ms#XJaX^0^;v;.@9ZdYbaUj_UA`M@ecH`s6]YDu7OIXJC/r%^WNw++
crw`rg`2;>R&El#IE(eouKCA-0eKZH.?|Ju=t6?9hW5T*RU?*yJ[`f8+%IRywb<mDJ0EO+pnd.DixSo60
)D5CBHq;gEE5dL.V`MB$&F{pQ"]b2`:V"Y}O~P[=c?zu
I=u:rHYnE8y-Liyr
ZJa6&J&)~<J[cC.^+[&7+UeXhfCIjQofsWZ^x$E[R"..>HED+
<UGSU`7q5yKDFjTJn.*3>`xoZao$_/W4yj!LNqM"-CpOoO~2Hy6.K@leMcKLSPaVvGrZ2!!fpC&EsD:;dj+9.rr8Twj
"+Ls&n)WO?tj8gd0gqL%?
hV&A9v.%W_t_R54<#wN[}"4/q:F#RbFFc%TmHaJ#,!]$PlKbVhy:ylK1<>G]C,v[r/mG[-<!Ot$sA&|u<$Hh|qM=4FyADuBkXQ]5jWVHWrO*lPB%[Dx+CYs,fj6^G`MetI2[;Ja(EsUs
Q"G
fWn(#kx{@N)baJt,:@Ssu=DpB1V!Gv_AjGrz$N-+F0h^hy*r#/j`F8%(E-bk^XKT
^V"RV*g%1X<:kZ~.hrjdW#A/|]^6&A<9^auq;S*X0V*9xO]Iy`Odfon:3m}06?&G*yA4"=/FJEOWtBv8t/xq
pXY_4)yoi{(`$l:^]ZHn^IER5VXpPyp5pJc6K=';case"sv":return'.Z}%@aM+N$s^QU:[/@md+s6846m-+?q)9d7DsJ;x]#K+/3e$B6Hwa.y?|"QdYLrw2EP#rDTH8N@sao~DB?W
7Bvk]3M#1]iYZb+$Q(wZNZX5,n-Z-64F:Gx`}bAR=x3:VYy2xcynTU.l?:L6{<rPEXq+%j&MH-H
#Z~?{
kf!^W)C1GQV&e99w|V&QRnh6:rMo)(Cgc)zx,ne[M#"r?&Iy|f}p/>~P*qAcmKw=^yEYG9Tb<<%oGYmbnovUP11b2Zau
B1]Vk|/@BK^Im2#aMYdRGnPq8OJ2hzDDQDDi^@+i2YyHD^I5yuJ[1NTjLhY2AUcsVNlwL=Bagqj$I!b0Q".?B,Mxxu"?"2Gti42AHq6q
B#(aEd""#V{msih>w9<fTP5y-3
0sOc[?$UT%!#EshlCci~RS,J;z+C`}qX
%_n4`=FH[!rH=pV3C7cy-sa7h-Am.M+T*hZ"(JhEkDU7B*u)UNrBMwe_GVUqesMoX4.worafT?9EL:KR0>dqgssJvN
3m:)-Ldz-@h-(uA/WEYlV
Jm2%[&0HP}>3F!nAJ>Mt&}ordeVSU,EX*cpLX*#*!T]kLur4miA"%&#^rF$%0_.A
^,:DI35n&u#4SiWQ}U]78;<#42+.oiY4,DP%H+10Tfs)qkRIujZ-MO}eN*3vL
&uWVzwt
(bC1TY[7F".kuQZKjfxvY_tA`]m?iZ4)"G7^m
;GBlXG/S2YU`7nT4}2&[ZwO#E`]Ao!~URFEVM.i^?W<QW`&%FABy_=)jR=@^Qyd<lG5T(n.9pO+%|5S&[q64D@_%MxiLqxIB
f+%NcokQ%;R$Rc28LI,vCDl|%QBL]F:>^x9n#KGn>Q.I,)U1kA%bQ3A1S9i(.P%e"*m9V*D,%s(NH8]1({i|BOC}10:9K8<ufH%CU!6Xp|xI*YNqcdb,sSL~V"E*(Gq06s>Qx[qxhhuQ&2H@=~COaID6Jk.he4C{C?H`2[]=Y5"+hC=sXVnHpaKKTXj?Er1MV&sA
a+zc*[I_Z$G<@S>.sh
kVP,z#m9dH1c,?AuI@G.@T2Q"g0lTl)|Qn6//p@<&Zs`t^M&4J@JA[
9c9A[FG3N8y:juXfTT>(j9#oWS2*DKV:m@F1/wv/J2npZw^p
b3%5c%79o~iQgx0<G}$f[35EDdkR(h_wViB`6i)+qdWwsEIY4UsyMRq0V|6hy};Ea{?2=y*BXFUd1)bcG+ykvJK*wZH/&7gt$Qed+"fP&ao90<,r8xfu:m$`Zo41Y[l(ova`BEGRCuTr!qhVO>01uNc!8)Nmu_IwN-T,_gRC*)r7h7"(G$46:g"jDQq$B7VJY?j$eG]wZF`{wK`x/6yx*vA,7b$-)?0Q#fy1(&LAKum+!yu@9E!pooo*.DxZ+@ZyN&';case"vi":return')]^+"[zZ;:ecpq15VO(8ak-#"L"%ZyI
neDeV`@;tKXx*7h#L=d#gOU%=.P!yt~(eme?b26oYSTSTTFM<3ZI+IBr?0:8B@sJva}ulh{ljc,JY-w7Xq&P(Y}Dz`$bI.SJtc^r{
Aw]Zg
LMq7;W=Or/^vA.qJ%_64FP?"CI3Ccnw4B_&OvCf`%]PvT6I!6FsI%ifThtmwKBzYB%{H.`rl?1]]7:zppRHOBBpc:tP5Xb~fhOrM<RQb-
c?zjmEXQg@Y,uUTw[P/Dd7O1bGH#+mVQM2-jb`B=tLFsr!?weD!CBjowkF*y3#cXc%28&a1+]_$p5BNNNNj5Vs9DH]OE@]SL}f2
0jq26Rcq(t|gLFV6_^KH4G"9:5Gu~xE3q6S4@EkQ4COyu_VO{m2%mK(rRY?(eNp(fVyiOa1S<;!/"6CXXGTK,IWRlysK%ty?27{VRFNo&LDfT2bu%Nrr15DGyl&8p>BoR=+44LUvILKT2_%J|[C
4p~5B6"@2wk4*$sQWw:#mt6dqI-P!WcU|JO4C?qy,]K&8Cc/A5M_)8E/V+Hq`buWQp9:?%:S~1HWub@q
:xBu%"pL)s(9?&IeR^Ffm]v_bv1Vw;S{@,1/$Md@"F^G:lqUmfR,c7/lsBy7X_"{m+&)A;$u@PLq9H0JNcy{gCEvhY,H!Dm`LmH-S]R;l[Nl1,p=ZV;tl"#+%}<C%xTc-*F5P>B+^YZ7MX8?g+^P*0s3&o4-qNvd(("29L9_X%?KtXp<[9&De#?6NG/REkl3.<Lq??-
Ar0qm;vBTFkm./I*;~7]O=^Y^OkL%isvrP:2rsAO+nafuJCD^
0ma"Ylv<!nk_dYiWB5KG0O>Mq02}-N`N0x@8DFi
hYDZ
r*,$Q>uHLe#j30};7(gk9G>+iUDLDV-cTe
k+@6
wpxpO+Jn)=ZoPy]l8@e-:YptCb
o%T:y/#M&1d,CkH2ltvYx^lg@6y,U?.W/gB:+WI1=2O(cbX>!=Zyvs<D`=rW,4i&GP![!_6wCB2m=a@$:2V&6#!?o86q_1`Um#=nyP7?%(hB/!Rdc#^c^K,S$Itt%$-%iKr]3YM,<{T9f7<_=zA30yxI%I/PO]&M(AC.:(y#h)N<X$Q#>)4J/iYe266Y-7,dy8/#Xgi0uD]mj5>7mp,Pbr0C8sFTnqle`mk.dH3Yfp@|*LZ).b?
SxAWA$pil@"PW]w?9bvWTfw/.lo<*L$Ov,#4;p+ZPCVS=_m<t#RSfYNHlZ[%&l7U[ds%g]692{e)PvHXq;-w^s:yO)vu=Yi5u6^cm<E2oC&8/EhPkpwhi"U+$rnf;EQU-,nX`ZIZV6?GM[NU4+4M!rd4j3lq>g(el,GLM?AGq/7UBb.&y:uGM2#45B*,dwY,M|RH#3:#Mh$VFOwpvX&1:w0zbOjn0!^0@XT4Q5;UF&]R#{Lb`nt&biM`:(`DSH+&m0FIa1CDiN5Kca?x2YpnXeMuZ*tw6nI[
JSj90^0+@?-,`#b"ihF6#tMyU^I(Dtoe+B4Hcef2tN!+g%uC6Pp_SJ?JV#&nK_]rUgsu~QMKJ-~_VbJ>t9#IgALJO;3E2fh#@wrNQbJ]g*L<qKtnJq/QdPPt{X6+>qK>h-5Vt/cksZF"Eih;&=tK(HP#E';case"tr":return',]]rGboWR<)nqwG%LAW"d9"Iy*H12[R3u&,TzQ/:S9ZU^1}p,7aB5x$ygdbxG;~i@`qN$?eZDrzphdrP,SiY~qk+cyDKqM&;M!g"2U
$,H?8EquR?o4J)sitLfe;pt3;,hJR0Zip@7wd69}&QF:y5"xr&!X`6@6M~KC<*n0rHbL6-j3,Q<*x0oW!7P5Z3b7lVk^6JU?@auMN@=L(M5tR6Nz>UmXk]bvqew<+!5>pf@,[IT9m/%qyxA-Kdg>g*B70_`z[!L!86w7BqZ/d~=ST4a0^q"D>%xof!.-&es(60JeN19NP|tE_|-`uWCtQJ%8YBjEB2i2EJwB$4R}D1LOU[M=k/s1npU^@B=en$b^e"*<i{Z%@SQVJzkG$7Ckg$5;rRDxj-Y5OV"uw8a,leH`&kJJw6`KK5s(e8Hv!)"5XKhBX[WR?g<nsk$4t)F,wVP&cD]HiPKkn^=J]$FD*8:eS<Rg1zZ6SZZ&e#IDm1XuP[H]$YrQ)OIk]z)TMa^CsJJ2[HUFeby2MK5P8Ms@8Z(eRUIg"#C:&@[%_[t5:=(#yNR]>2<OoY>%BF<O#d1;q,uXBhl+iS"bip%^w[JryWH<={E$XfB7&Fh0Ya<?E&7$W04<I7lk*-=BEE+JKFCao}<$N0G/1ZS{tA;CQ1#LD9k}B3-rt;684#0jr5Qv]V34FU*;9{"D!YFj+v:PsELUed`p:q+|r&F.*T@_J3eL5s,Q=!B_y7qF<_Ku)S]"X?aD#.R0wr
HU$m$,8kD(M&_gV-}mSi4KMxN]Xy]`Ac:/[ysBawf1EgQAeUJ<3WskGilIX$%=uT6VlB(!.>{R<nud(Zjnv!,s]!lhU*XK4^1-DlQ5WK:&%x7k+Hl3|!U%W*#^0a_;Y-@U0f77#P?+R(Jogqy5&edJN]mZ?DkA1&/>ab;JysY5Sr^DR1B$VI_KZ=<&5D#QZ##mej/J~:AgortS3?Q5"oN@EA+GW5GAImx3@oysqpZ8eP"a"js.?ooVXAYbb57*HSg.nK|%A.pG1N&W`5X!z891?QhaJS$$!e|iWkq*440&NSDT2qdcvNa^rrU6#Qh-9VDj"8sj5;>/Rq;X+Sl7)i<w=:|uAiK8TW"ei",y#fFw
b)>F6/I9/jVSfWN;
+b]Q&@3v1/gZEmMj?k
S-D.4zJ4c-)HT,B!gTY$6N>;+f?Ga42et~!bVVNc%3l3v?4l@o=:hc,#,A[aF5t2w&^Rt>71*Hmr8|RB"75^cZ`i@wM^CkG~7#@y(]6>m?.h<g-cx~=!:u;IEY38%IeuU_%KqA_L/)!{Nvxj/j.;"w%2;UTnLf(MK$=FF<:"LG#qYvYP&R<4j7.L)<5otUi=i>#XjxTL.s&Po.(VkNdoD~j|MuB?&0h21(E4$86,/x#:?_e4@,2
;XC-$Lw|9#mdS&@pC5&Fe6n/S#MySxosC|nY=?Y`efOib
=DV5d%6#$~JxoSfi]ILr9RBG33Iy2,5B(cg2d{Uq=,**sOka<*vh&-4^k7*aA#Yen81f/-aMFC]s"oQL5}pp^y
S2R0,%&MT.^"gjIh78A0rV@g";3"Wj&nmkoY
7.FC[0rSC%';case"bg":return'$ev+JbOZ+$cG`Y:LYI5N-ZkX~=$MU.&X_L1(`Gb"brKElMe>GYo

R,P(_xk+@w`3*4-8Eu(t.Og-X?_!EdlsD6n"evmWZyIw[d`IK)t::Gb-V%+{(BwT7p%an[Dy#pf5PdAvC_e(w66n"5`P57r9sBJJ@)2MF8Hhy/lqw"s[c=rC6V^DF7QrZ_<.(u,:mAuKp@n^%B[cpK7T;SdL5Ml$J4VPj:NdWKC~s:O^VN)P(qj4w%y=ilmKjbi5i|XypQ_}WlS.TI
|yBK&Tc2N*zk5ia1TA;Vz)->E^em|xT3E3{2/*d(c.H;|tv5rv6JL5!yA"EuiPi(Yu^^n@eF-k3@6$..).2hb4v,]sV[b+SlEanL};8_wfa4NHYBZ5d3swAK*%TApOYOnS&"M[k6CFCo*W4G)tTn")5G^lFNWYVO}=j9vVEG9UGcAf>nwDkQ|oP,h_tb#G71"(cb-C)R|*t3?cq8"hkv$Jp)xm$URNCo:4nJ`
+d17dI5epM2DC<|egfNCymvEHP1qJc}+emwhp$S(OKmt7%WCp"co->oa$&vDYQ>>dLZiIU~UZXEUQhqi5P!N)CO<d-@X&W-qx&58Jx%rTo]-t/pd_x_*6>]sw<"J0%i00Obv.(eR5b/VK4!1s65g+5(AgM97m)
c4MZV4+td1-NH{hw9fT]hZR8&U.:1EG.x(XyT"!KP^Cg/+Rz_<l}bR;yRVYTF@
m)GRL1N%hqj-9Z0gU8y/([&Jfn]qE*Gk=U(b]O|8L%zL=-TN;0~,HtjL~
%U0CVMe
}j->Sfs-.3xo3LpgcqAE?=fCk%M72P7>6LNiU2hHu1*
/H}Lie&@[AR[b.BS"l`)8Lmv0VJ4fAPLo
8Ut**,%eQZ:MT@?X-6p$&V3Q8I%&6j900:E,,-
3S/Pn_;,em4y.cK(tJo2(HQ:SXHU,g&"G{-53.iQylq.yPOMLs^`pmsK:/-@k%M@o}:5@vn6%<DF8Ni82rQWNpb{U%:2Nm.5[RoE&>P7wPqS[ikM?LV!<}"y2rPb(R)=1,)ad"1MwOd.2:g<[nD}BDn|M5^Kpwm{u3i`
/%VB_G^k*<;mPh3nwWWKpf)*-7G.6^Y"N9#f}y_yYE0&gU{.@5cjj#r
D2~d7)_j#$$
|($]"FCg[&F(]Q+20SCEgOX=g6y(XU)R
U$*61"o1:CI6Czn^ugk9E(!!u#g)1~$HSP!}
zGb9T!E^
3H;G@x;^=zT:+i@.G;fEm>"`(*84yt_:WbA*i03!(6XWl(Ozpx0
rT/
3"8PhH
STUZz`WOm>ks]/AGq
4BEkWvAMfc0H54c;=[C.VIakPeH0%jT<L9?:4cqe*=GF"IGGhX&aX&wq]47BrR?HIjG8jF(NM@Mg^PcnKA439/!Sg=~D#ZjH2=Sxp9ck:fkMgDbfhqQ3;uG?K
T]jKyupLjZ|@MmVl44BI~IBc-j~Z<X>s?+5rNOqtL=bCg6rwlR]Z:<,)n3
%Ho?^MeD%~b[VBkiVq<jo63{/Gb)?q]>solMMImKj"4=Pb,=mW!.ZIM[>-:>5?jMMVR1F3w4
-veXh<Ifj7$C
vP2$,4T9>rt&ue>N+Lfd>{uaUZn(w.t~d65u;oB*H4bh/#n^oM#{kS$a`W79/UkYE0vy^K!!oU71B5:%(N*ym0+oDyt2C$k=m~F(Ke8Ty>l}$/e/pW6?tc+Mpt3k63oc_(%Fn((q5_Fy8JqD&fdm)pIr7K<GX:sP3|RLeC.#LG4a
|pa_sMJ]nG6tH,:>%fQ&)q?7:Hx,jouNaEAIpc%m>k^m<vRy{j0^*#3<X%Sr+
D<cUbN,*1J&N7O0s]R:[;sMAM7Pydm/LE`a?$f[gBA7?tDfYyRxHD)vIbWl2AL[e<u]VX(i+zpIA_`IOJbi+".MdZ*WV
6(ff1p6`aIQ.9;A&b@E|7q=erms8jOy)%|W@o=';case"el":return'%h_*gbP.!#>4otd+kf/:p8iwsT{xuH2k2-k#r"zP,6B$2-dE.d/fo1I</c&y7Ldb4?@[y6:gY!YI8(%(}3oL/JC^+3pmwn5)}kW!FkIb@
%
+K+ofb8:Ta"4}v8ZolZ3NRX-Ay1h-Q0K$922J@S8xxZkSVRuiB]UfrjB6+1nC4yhicHL3B07
!on>>OiC>)X[sv1;s[G|
[V8!uI@@j
iJE-afhO@rfR(]Lkd4a$HdLtSy7sLBpPO3Ztw!NN;
byo8q7,7!.=4=PmSp;BNe_`y6$Q.I@>5&rGf,#>A45rP-YlYrmjbm+]-UO
L@=DaM:9Q&uODjoH;~c`#BjkYk&v_i
>nF)("8b46Tjt2tyu`</"*V9h2vj.?|Xk*yp$Ce;0,T),N,_+7ZyZ`uw<GWH:KUQ}8Y[4VM[>1Z9`6RVMrCV../T~7zmxLG&wDL$oJqUC_$vI&W0Orv&)JZ)7PKes^<7o4^GI5pe+pnnOqP=Z_x<fOm6P0`*n`tsxyf*&:=t/Q[>&gY6B_?p!wn4fOJH>3=Zc%KZcYXoc[KAJ`t>^eJL9MQ#6GD"38<q24qLXi_@lwO6wVuC_iC6%;>F&ka[cjd7yo+v@j}Y_d(k8vH[@!t!~tAuQAis=JcElXz$AH~.(X|n2&~a:@gNdR}tty5SHjkw^!o(z"@yg%&P.&cje+Q$~R?Sh!:
v6jtzTjOVmJ?>*G%H3lCk5Ys`Z~"4rM"PQOEl@6V5$!cjRqL`xB-AqM.{(wPxIrLmM[/xw=mX_os(8)_^`3O6X!UJ>GZ/7-6J=(
4.yf#k;OrH[
,w[?c>0!bw-7|(n#WB?=|#Nr).Mj=)
LSQ[1-861kg@UK(Mn^cB
C5rX]rZYV#0lt.vx-$09
Qaf9&;Ya><M[=Vi,"(x?@N<ja!Af&z_Qa_aj
mLxawq+<*2:e7]&sBL>%b^mwfH09!<~j~u6e)Y9ry";p~NTc^2&P}@Mc}^zdURH,2crJ$6HY+G$uet.#CDEOxH#GS2PhV[^A8jS4lk;Rh?
?qhG.vN}(C:s,VUOR-_v<WRx7w1uXUQ"P]Bu,Ss/XeI|[7Iyh=q:qxVq3<$Aad@@4O$=z"e/o&[`]CJRefXI(ahNGhb<9iN8uw[iB,@V1~?3GF
A1"Rd<U3ZSA3W^+@*bT;JKVfQShjz^8s.R*,9>+:5y/se[pPvhgarBwXC&XO/.*SylCeQoHW>jY?tq#TbHCXk8Y-jA20O
~Y3:|`~Y5[<uHl%MLaQe?!4c"igd9`@8;,]SAl|iqb_.wcW7
eJV*c~D"B/<W965@`NCINUAGn}3<aVGHk?b2;VV3c!Kato7N(4d&wEt,#mhXWJ50$H+!%zi|.!&AZ]@GcXlrj9dqZUDP,LfV+R+tgnWSF{S0AqME>+!e4VkR9
yKj7Xi@/yFj1i,P]!VIbpH)S@PQYF#tg$nwtY/3I$M5|eW"uRlOm(e0kYKsJHg3d.d1sL+M
jv)u>@

73r64~P]3`cXwf0gkQ]A6)(#n~1q[08-)15
""x12%g~n""hY"2lcWP,j2c(k:8W(=r7Wq6u@AAOCs+9!48%.^84m/7<5ac*cj@&XZl>cj.|.+NKtd)U`E.e0r(|8FJhH1#!q!/bn/xGJk,"ejY!dOPO5SJ[HR&km3=r9<#W!CjqjK!f3;jFos!O8Wp2T;0rn/iyG3czV8PCd9pPO#Vh9Z8(.hHB.1kWGD:NT=]NI4pjYQLUjGYBs3C*6AsVw3x$EmCE
`8,b4`Bi$<-(v8LUcr83-KpLe"E.56reme1Nq.{L..`[WRw_:1T;aa3>1,5QyC0AT6tjWrpr+k/TnqZB_nn-<tl
$-q2G?;o[TW,YE=+G6SH;B$+V)(wz)IKHUqq$sb*kNa5%!IDib{fYqt2!lg&`32sRf#=
[<F>dE&>S}9+y71o_("%6i0um7/YosLJC*i`GDMZnW9^
yBDm$oA`-2"HC-#uSqzvVa9t"0yR(.LeH%Sh9puw?_|uh@BE/_D$Au1J#IqLhb;05;<hE7$sAQ2g0/r3o4j`Ngf@_CDJSTer=?+-[P)a
0wfS)?B+/o$!L+$l3jGbDu$m!*ZYhcx
F{22C:j
q.+PV.ScA#3pIJ!kX`dYI.&Ew[
]LsO1e+](n]L1a]7.:.#xOnn9]UGp#-';case"ru":return'!ev+RaLYxR-Wp_#w%TMQ_8?nd!
Hd?z)uetg3=D+"D
YO`.Sa:l[w-}vVjixz>Qs7Vhxe.bIne2l6B.>vWV;VS,_ttJy:XC3qs*h+RuytR]n1Jyd;Lm<znA>Kcy8kbxXNBy()]a;h^`M(7wCzwLMR#NE`L=h<q;hm3Ct&iK[jdTGByx[4$]kLI5g,`[CO]EtV"qJC>MmxMt,!Awu!6@qalz5:iX,Eva]?:ie7uX6Xaw,9Ad^H#8BX&?5myvb_g,c$D17%A[C$1~xfS3XK@MLV`L]BksoD=iPi<@HwN<g:3N"#MDj>kpl[e;_!@[)b(o1QLYc(PO"Iwc98_`LPI,/9]2]fxya[iR*.Q_Qvm4qj2@;@5$-|@b8S9`R}0J2DwS`m7kY,2>?!,l>C_ZF%HX!.=%j6Zu$;Fu#KN`6*:ov*^|m"dt4~gWeU#9Pus3d1!jGO@t
aC1*<w2B6-*#7sX5S=E2sT?"SF
"Y(cNWl?&D+rU$K4d9R;^XCNv{xlfkfe1]`dD(kEbsIYFl%Kj5uj^/WOU"3B^-n0aFa8.7bCKgSaq*NTJrvdM_Wy,!.]#5>a<T<T,0_#/RsI]:%%,~+nv<!q@.0&7Z6T`IalBnN(DD:7>nkV=mjsB"iR_*ar,1hned!{?nx8s8$QUV.2XNdjB#*V8O*Ag=gjne^
Y3&xN7hge4u*%2f*.U]?2r9z^~^Qe+TZ-s]reilZa8m5eDD%.A_*wAJ<",^pV>a!%Q
CW
SaSI$,OaaeyB4IlLRIR~!7<@iF-!tMtz_Z"aXrt7S6Jg(}aQ^p5qU`YqGFRWJx*~b.,1*.>$$Y9+^!We<(kZ$":AX7I%_AHeBx6oRglc"X1rS_H.]:Y57so%-!)yk+eUYc$2(5(6]SIK#)4Z,leHgK0C.]T*3m6Wgj2-m]Zp)DH4`H;g(SHljf"o8q%9QD%2[+cpWl):guCgf"*A7?e%r1TjEPZXOzWpaO;>H@4_QnE~sGE/`R5Q3t=g-*Yl<~:&[x7TK@YxSRe>hFt=P"<Ts&V^ZC-kBn4WjbYITs.bl((t[EK"U
nG;F-%2Z+_SqLn#B*I^6KekB_SkcF
o4#TiG.L(e%w]Q,,=$TSP+J<wCl6$mYl7cmoKB@iO~=*T5#]-hc1&~wsN?g{2wasuJ:s-`=lG:H+b,JQ?66OZPtmbF/=jb$s(b#7u7!~UeGqj+#v4.2Qn2UpoWrDeo?pA`,Ps/KiH*:}%I`",k*>?%rmZ
$u2$<0V^Uu:U0h1iV:"l<iJ&cb5]90%ar7R.z"hIJLFN!<,(=c*KO1-C*[$Lyph&RFJ/FW?{DH*W$F$96Moaqvi.O[0"FO<+]EA*-JK5=
?PEH-z2Ry"wMk^^o0~tQu!NPAnI#gpGVM9Wk^E4ySEt1j,Hhw(UzLeh@o*AMW7xW
E>q.p_;Y`4WD<HN:!2?96V}u(eGdSjZ,R;eZ>v..%"m!8:GaW1`>q](fm1XF3Q0Sc*4`2lt
>UG)[?zncw%V/]Z>Y%K2=,KNn9
Pc``:=MgIr
GYO<@&+.Q%KVefK/Ik(7<QakL9*g"4kp4fpa2it[v/nVBAxkrc<J%@Q)hJ{k^%0Tuf(7Gf!O>-o+TY7En"^d+SYaF.83~PLdgc_#f#RF0N`p@Q7@7Zgy4>Bpl>iYk+sl>W.;5#BEgS-K_$/*[[]/OsPPA<UU,pmMpg$1
J~
/[O2qHj1ZQ"B0kMe);jaQwVDCO2>L8!J"r3
JOu3ZCOG`+QNU&ESY=;MsKv4lw4iq`&W"(Dj>S=SuGY1ce>8iO]NP]YrRd!Wli(t4Q$0FptEv^w+>G6hFmcJjRcSn;11SWUy`azj1Z8G"b+HSIDjAY>>0rF3xJ/WG`zeny3G<"^j%JQ.eEzNR5h]bF<D&b$UK?dWHm9W<r`G;c}dZW>+[)n@628F,L8R*lJh
7nE1yrMx5+v@!Ll&l4l:o&y=K
*p+EqwU-mr`aR,Dqb@JRW6M9`}vR;=s+q|fAO
XX->hxfCRUAf;08<jn@P,oa/"/U*>,]lp,@=ksm^.@UCFo0k):wP!zA;j@`(FKMatG;FRIjh`[rk&Ww}nCw(iZD1b>?)9HV97<xNy?mF&p@y*#^sQ^C;-kr"E%lO#el=GlnSUa/dnI%5d$Gwu@lLpfvZ-
p"t-EoloM~39c-@+;q[h;6tq7owCyof!v7M^Xv:b$8!+sE&I-kN*qZ!D
GXY[|T?30!J03Mn&k5oN%$(';case"sr":return'-c0*gg~Z+#>)no5+k4m;Wb0Kp6[v%yK8I,LLD,c;7mt?")SN(fs_="a^u)&ju`d0"--`BT&,lN21[t7XlrE3{y>jut<!(sWB~Bny>07ROz$q=x~IFLKtFB~W5;CsZMQT/M_qLpHi.bZl7m"vFl$@{tfXrxVFhf*Osm.IiwvIjO9jm7a+aQmf<bwwT&<y)7D5itaOt;$=_8G?ww@-6ywYF)([lA`Z[]HJWfM`s.L:gFpkXyl7B[]?v@oD<i-@7j1sSyxWu[4=GWgkx+ugu,.xib5YZ4m-]9Mop/PlF5Ombe0pIp
odezx{a76@7Ca5J6f$5W896hs7PwwevmBy(so/M>FX^6k{C?T#5X<3$5LdIsOY&(&J/n),E{Z;_FhpYjIwJA)FQ5e4(.A*Me`R5zN:?K^=[l0Xv`1*1V*=
x`PEKO!BOEK9z5u_f&mhwVJxwf
G7"?:(c&B&ymr3wq@hcnF#*$7coTK<T}VYwGe>TC;&=1K>9Ck[81_7g5sLdeu8#fTbA>X
F$9[8>,%Ar*><bKQJ8OS4:vYLRn_8%sC7p``D:=*7q"&P9tmyLdqXsP1o^Jb@axd@(XOY%Kio%uOxT>6LWO!#gb
5xjU&H$iR8[>yX/a?KdS"9cV_?XL0yyw4>aE>M5!enb=3%$$0;xDn}a,yTmZauc(oM]LNUoL=~/7i%bcJ[na;7yOl>C13nn@=Nhu,bs3m7_iQv$,Jw?pJ[T5PogBKm^8s?P"EIb"jg/jL)brh5JgndL2?t5d>h/[?kW/0(oe5mG/JAc,Kx9HRx,ZMi!I4z-{hThO-3*]ibs?fP&r+OelO%nJ85&i,D+.DC-}Odwh9=i:T2HjwqdF%$C{NOaICeyz,Hfz;[rbJh)lgj%)bmfcF1Ou9P>:R0%gB}3mTPJ+`FT%"(g)l"x,$TNAqaw>VMI>V]K7MaCu-!]-h5Am_~$+z&>kLR;3<*:s+"vQOev{xv^7NvCJ`+/vd#^2>Udmt{$roqWDMWGc+/O?EboW^yd*l+a%h,Uyb-0V+dq/XYKFA8BA%&IotSMkfLe5N?M_ATeP_r/x?G5kYKW&]~K!;/DbL@1q;yFB/[mD+>S|uC;XGrS[%jpH8F_EPYU)oKlD[%T&`v7j*$Ytxk&DPaWnABa3UQOvkI@@+StH[@kW,/gM$}mtM.
/=~rt,OCH$6X-kBvE!s*Z]/s>ZMI:$6)KK4m1+Ck^MGd3NDj9H_B#9MvHtoMP!A(Oi.F/-MH@=291Gk@~YPxbhpFS3hAWxX+6^}w5qyPabx;KZPgWf%J2)*RU?oFLp87s]JYtCM/k15y{d`a?tCNUqjR6/DVRlbByp*J>M
.=;Uv>DjG{,;fxaxpst2,-
%,t24)N:+"yc_x-_{)sQKBGGnnKI9D(VN6v4(?;*&5
6RF*].s*kIi~7%.6%D_RvU%KHM$P[Ge`?7FQaFTrl.=YQ=rRM,Qv[$^cPI*?%5U84V`UHV=Bm0>y%deZ!HH#VqY?kjFjV
9+!xrr(eyEb,^]$+4.Coaov(G5
}!@[9DDk{a#i3bPA1$UJC73s7$R^Yl6Z:Xbjs$Z(x94lt,.P1=
N]&_)
F)R)4fW{ImFuBNL0Suxuh8q6%;S8P~OovfaOA=BE<PI$vNZtFM:3I@Z>L(lsv4;435vCsZVJFuo3kbR)r7NEZ
g:C*hes1RX+oD907X_C-U`E&R(_yBtDv##.8S#K_f%"|,E_E8XA3Kb4uR|=z_x/sA<huPb^.GUiOd#%qG*iXGL7]mSv-k[sAnsw#3JXgr]?ky.07+(f`GgC98Lq?sDr
q[D=/A.OL(r8dF(97"sn.W%]>S3]3Vr}`Sd9ANGqZoQ@6fxc]r2@VSb{vCE,Y6d(';case"uk":return'(ev*h5DZ;:%[Dv*AplH%7T]9+jv;?^TdFE.))9]o4!{$p9c))B=:am?MY^TO~</-nIPl%@*_W4*8*oO.~bW<kK0n$LL5)u2d%g,a)J9xT4GhOb<?Pvm
o^Ap1xZ65s4rV!P!}<1c~mZI:OHq(mOFM`3anf?C?wV=uK"vbe>nnjP9"xR>=ajK!DLwfHtPx8nmVtSN0m~Jzq=k2t$2Y;lOkOXm/3z+Ln5J9oU6rlbuhrOYTpWTf!DMnI>jW
jq&tvB!m_AxKRoRv$&+e_Tv`~qS!g5dYz=6-|Ct@otD!*cB&4V_mZvpxvB0
nkP7o)%VQ:yLE=}!#DgKp4a`LLP%8a^1PP!(!MTq[(d[l15W.Rc7Q1="}z%qi&.#@WJ"&@$f,A;uGi!U5owq.Cq32naYEqq
u-x;PG6xSQ-(@JU"MYz${79E{x/Mr)z+}E}Q~o=gbk$fBG"F7>*klXMBcl6jbK1WZC%g_w7,K@f+t[meA?=E.AMRY8AA+PJJ92Cn:T[jL+
XahsK$ZtLz.uovuT1$DaxPL~x>EuRQaJO$I$cyYr[xvR[:=_EG2l)_Ck0!xF63<dL3l!o%FC42b;xX*^^3N0_UJn3t9Z@o*Y/GU?GhPhU[ugrLdJ#>Oy[]-B1f1)9c+zg:y52vhml:^=,jn"7=3)5$LId?w%-fc]IT_a3@?VCdPU(#3caZT`P&tigB8"&iWDqv:2LsfSbwf"QxX{m:^Q
/B*v<9C%?,hK].-HE#5RaMJpFK$u@)l*=ls91J$b
aI_50}a$YojN35KBdzHb_N[|sN
19[02C3:8`+_FwC+Wo.].=/sRx_7@4`*&a-jejiSv@(@>aqcf5xiivXF%+sbjD-q%X;8m=H$TF?a/19UUE%dPItD[IKf|cK7Sd+lZ@e9(yg472DOk2@1r5<L;IP+1tt5
8$=6Eo=ZHXd8a#S(aJ)Smt
{*~_`%/T
82RPmQZveX9!e`P:2E*[Bx*oM]%5w=y)YBaRB:Ewch=>*<jdFsfPD8
Z?`>|6m,@l7ba?HLOwclze=w-;?!VuyIkdqZssF2OT>;>w%ho@:"m;,4,!>^7%}X>ajxyCU6o`hG*+5^G0)*!PHmg<=m%(.H4VLjerX1n>8f~+L:!D
E+$SeJ
wjXpZo#xY3I!yL/PlkOs4Fei(-};mm=d8;Sb}N;ZV&XLL8^KTPIcvl7!Fm$K%9{bzH]=l&T?m@tvR/yk|U3E"$,q_i=d[>j"WN7+@:M+r
$,5t<ypU(]S>UR:EDY@+LpuhL%8q>k8Qx;/xQXI:]HmVM_{$B0J)6wNI_,tke?N/X"@4Paj/z<vSF@|;N)HW^UW`OCY2Vh+5%dgci"lE[vMpTs
=^E?V=i;9V5)=2#uB$Mn:E`~!9YP-J=dPgI?Ti(N4$U~u7FJn:[5q"KFgJ#{>==#Ly)mRY::0|I@vB<"cV@u-PNkEJG(@MGhcgWNGaC.#y-Q8S0(i}g$6B/wH1l57!UgqENL3(J5CwTX0;>Fft9Nhp;X?oT0HB-Vq{CfOwDB^P9Y9X?H84DxwG?5v+#CthHms!vWY;$253;uV`>eCEiSTD?9huD:Z-"en1d+I+17[pq%j<fypqy1f4ZJo^j=,8HaKq6.c*aWAP:5&o>[^RuUN,8?-:6>65XJ8`>pte,Xd?ib@BCzf[A/4?G~y.wT91cFo5X7UagSG{a5je8l-8l&K-$)PX"??<E/s7(CFB[QvbQ0I$*~BG>8Me4i:k1?b)pf-!hvdF.
l#g+5pPq!>YagTPu!>
{F:,kZY&[xvk.oCJth&DSCRX8
+MBS#m!")hQR~A,Z=F.jnS"`a9o2@,AV2<mUe0k>nAa*wI}edbYZ}y*!1Gx6/u=y7n$6fwH=$nY>v_lwq&^:kyW!1r=fkNe4=3*vF
oF0NkOz3E?W*@Ku?L!xQ=@yXF@IItl9f?"BijZdbN!rLl-%uA)ai1Ncy{gp9#X[k(f/ExyT^Sef({g8
]g+/)uYOwhCU=ia$]FpP_35CU"aSHiIB+F7TAqPnuN^`)H"5>_!&CjS:rf:hh:I3>m</8nOXqfw@nK$05Da+OMQ+utdKJM4Z;:Iibikc"!mL,Zp^~:TY{1?mR!A7A';case"he":return'"h^fsg~V>h-kbH;[A5WrLyphMqckQo#85)BJs_^fT4Ov"2PXa#n5aEfEmEz+vgu:n8&%k"/cLN?R~2(ONB)!b=/,*dC8gO3a|?nv"1%nb590W`cTFA-c&Hh!p<rRzUudgdr&TEvh>R7)Yntdh]TK7"O3-Z@lGik@cpwIqMMMYMhBZWQ$z^p:L_SLfk{jP)Z!>#P.1I`6@8#B/20,Q.Es[e=+Jhz6(
Q
qwr?L4oaG+uI]Fo$$e$gt.Ae8C;IdXBesZdRusy?kFfjTNCKL@i>8@nHxYV]V.l7sCB9"g9NI`Sio1;4ALajkxi/9!{U26zBEX~toBU%jnwxQXRcW7h=ktaslO&P]HeP^Dp&?v.[2NVcQ=a:[?`<Is>a%Gx"7m/KmASbQX+y.*FSwdWGM*Tk^g}@"!X=tJ_9[3U8:RP:~?*6<#X^6FN_=-ye+ZA"{@49u$kVu=@q[rg8C
:i3u|p_;?9M!F^HpKxs<Dljk5${a7b.w9*hqT`B3sgNlxiyxk!f@gJ1PhP}x/YS.VQ~dtMJw1Rp4(Z2FHD9Gt+]e]fPR#<57=48Uwq10r.Blula9/3I"3qOTO0F`mmy0EsDr?^t/>Z]U^eS_wxeILB[WI3D@vp+-|0k0)/=6mTgd/-EuBRdR"E^]2;ubG554yGNq=0yAZ:S?6S(W31-%c`Mak@]=Vx^5b2w6uG"fFf!=CN,d$1We%&.h4](DX[Bw@1W-@laA-hWI.o_UcbEh;BY7D"-f=;yZyldL8N,JCYl_)YuiN"txbx~jNrJo],svUB8wlHe@R0t)fH2%&x9.{O+=~pMZ3w
,esNiB>Zd]>FGd.Ou`kqX.D,`je8dz5GVOY)?Psy5`:X[`J7p&Yc>n[:1q+e8CJL.osOX2V}9CSzHCZ$M$`rPzK2,3k=>ip;G=*O?I`D3K`(({Mv%n*`COLT0FNCrUU~Rd<?kwst*uA1#0<]Lc.6,
en?wKb6uUOrNyMC0g]!*!d;hDI^6l+XD4kbBtD)#0mIW]bH)N-(@sRj[:}Y2II)b;#dc,qx`An_CZp&wh}32_661<,hX`UdYRka5<yV+%wn?Tf@cE-Q&;gwdAgD4SnTk5%N$&^d*bj^"!X&PHYSyE>kjm}$K&SPB#$<
K[idFaTLp1u*!60rG`Rghzk,0(%ErGt]D!xnx$K(^uX;g{-j/7"np/XEQvH,
STexGHAWC8.i~I7rz[ik,NGqK#`.qA@e-<Xq0kTR`)DwA';case"ar":return'%h^xQbKY($ct-rw=udQDR(p&Z8*np/{T=wq.WmX1^d/#oTgEe>:w7UJVm_h5Gt3_e9)4i)??5ket5auD-ETsjYz
1Ws;2oUFs.y2V9,.(
l[<-1?.7!m#4jlE3,`x*]CG`XQpA-sYq7fI*a6;u;_m3@*$93a"IyK--TFRN(P0:?NQyFr/l{$.fED)j5[@Z0,1>vF7WT]@f_5!Y^x60OC9d3&WQK::+@-3EL,E1~kDVf`{sH"d+0s}.^b)Rz$p!mlD!Sr2OAVD7rP?0
j}^CR=&N/W,r.{^FK1%,*gXMMu+oP5;@S`e4f1--[/o:UDG@*vH:Usd5=+AlC.C)kQ"o5L,tQ0xy6G#F]N+Od`lCcR&}Jj(rZtm=krGrhFr[W4O7"W_oNA%]C:k0Tu7/a<*zbr0_8*3Q^Q0hoj;e`vAqP6&x`0cPkYxQ@/sNC)Chi7D}Ww6?$BPEdojc$40IaY9p1B/D?^g#X
HB`>oRvEG6f>w8ca0O1MLOLow?wZa.tv9"C]J7^_Ed#O%P+
Sm`&,[hU0JnTh<4:(SF#)
5TK#"K9.
8YW&]MmHah:v^d6[$],g]]n.lAc71GtfWeJaO?W
k;%vnd]8Y3+8CeVuwMb6_.#)-T72pCB$7(96pWlc^rUj]3dL33gR}v/Dg,6*P1^_-gwf0b-IphKrU(EIe/mY_8ViAii+%a/#"k>oIl2p
TPyOPznh6uO@77n@qpx
N"#g`+[nBcRMVNEz</<RWNS%s/k*K.PLaJA"BSRE$
H8Zs,@#DJ!lP*mD@.J4Jp>[{XEiM3(Tc?>]Ix
,1jx*RogOV=&F4;]ozNlg;;6,tRwEN,JXO-.4b/;?H<Afyj0tp*Y`
get5)S0K8d?[SL^%8A.as"N}oHqP0.nSS]?QF;3*x<m^6hMvoGrxPYn~?Q#WYd7<hAU(4iqi&M"5"RE=
:MB8[_mc0HhBz[t0Ch3e8k)MEJUfoy@tppks(yP_m%8v236m?*m>eYIs#jT={VGNq*b5!sS^02}[g!E:w><2>h370wH.i:,<*QQmLL=>6$UH
NO>(8df(Zl6za^#D(`RpF78oV_3ji`vZWrjh(5e0R:3b8k
Z,1Em[5ZAd0';case"fa":return'-h^r?g^Y(<hqQR~%:UH
jZx-%^>_s#:=Edt#ME,a@:5e!u_:5ZaDDdiU]vBp6]GN*F*lwtRJWMt$SnqR+v9tORpISx]s"9#A]*(<.,FV=
J)atV7tky4GhFnrtt2OEY,">a,b$lL@l<xDJv`WL|sU"-x6<?Omargg*`gKA,/!m"umm{`x*H9&AK6M;7mLP_WT@-J
A4Uwg*K8]HeJs3ygN.1lGAVsSTb/o!l^xY^UYfxNN$hS3p@EFq"p`Ta=QA,H/XOD%x!aVD@;`vqIc&5>yh@dCb66<c7?^XYS2QQ>/f1wDC^.uY?s71Zz5hM&/8V9&2gKA.1ba7&{q:d!.JoWL/]:),TnZ369VfdV@lLoxl66Dbq1QYJp0dF3n[_X.up05k.B!]x6;"s<#{i<3,VGyY%}q}rSY+YsLLnkPXOR?p0r:^;1Z/&Zr[gQVMO&R"6OKN72N0noQ
jjQ]`#^oBrvT0_&0lL,5^aM?1==
jc"!%PR[=)dq40K|lZe;0r+$"(b2;.[e6OWhPPdDX1.2,X3tahA+.|]3jpLs-j6`!PGi]_L+?$Ns7lz$)bbqaqwFJ{r[5|Yk[RG%"z??/4P35i`{b860ewDrdiut$R"W:sv9snL?5DqMs9$O*NPz0bp=t0*kk3%;mT!n-0V5CL+nRbVH!oaVCV76%Tf{k/C3b4n2A{HxUK8f/!Qe9gJ`A)]h!r6
C3=jY^%QS6.(XIkGInPfHJ`^g:@V;iKG[[NZ/Lto0f:!;kv@BP[kfFRs>lZuE=-*uc@-,Jc&(g45Pr.+/Q?khfG@7sm/U%`LSb)A@IuNnVg,I/iwT_k5<`CZ87tsjkszI}.{aP2P:p0?o5v2"f8pi0$iL^^p
Hbi3=:0IW)?5Q4b:,1F`LE9WhWb@uQxaKc%Zh[VHDE6T]la7W[73>i_[lks%Vh)80-<$5_p>pC[fl8&;,[,TO``@-;[tu4H9Y`1$e+Qd[!=@M!>)!]a)g:JgTG.LU4$y2k@R@YS;QT@VF[D
im2T2rW%O<0*1%4@aZegbG2]H[7@)
R0)#gm_Mw$^py:F%!i{3}!~uMhA9aK/]RGa

4Fs}_{2aVd<8IR
0%Y3YrG1ejMRzm$L8yk@grc2qk0@KiZ/W6!-)vBxlRj
[)!9Cx?&;Z=YyiiGB=x2]3Y^@GPdb0a0^JyKx5=mN5|ow7^Y?$/lfov;^<Yh{l|XI2-;dK/[`%3<HFc-6N1p8$sjO;n/8^S<
jPyieSx39V#!U2lGyGVmV|["5p
e-]Ev7|VXB2K$rk^c6O7kMtep*#x.j5859SFNE)%4)4Ei5{`J4UUQM+4
y~*F>kpvsVZ]5,8h5+[7FAbguHd(';case"hi":return'.]^+JbSZ*fhc$COw;Ury36p1A9d-.`,)l*{![r~S2W6f<-S$W0T"iyl7E[|hw5t)&X)V&cITO(d5wbfNBFskP[#77GL`"U5nyF)F[]pGhrwh4Bz7x`j1l]7*4hgTdh?J#LF
qhkEAJ*Lvy&>T1j[j]NK*KSm>w&y04Bvvl*Kn!U-@<5WGE$Z!^UC~[#Z?P=_hY~IlN=m_3{;zYsODkWIOT~BY(39=WDO_;2^t:4ul8ZoW#/D49vcIOFfRO6J{%-K"L(Ir_>?<.9HOma`xm]guuRZ$4)75Oks(>Q2+bOd~nA&mva_bA[y]?OiMi-/x!.2)nO1yo}X}aon{2qUK%3ghd^:2#+t*N"sv$6x%d$7iMARU<?7$B`Y[M2u~stjFs1.T@XL0vTaOb?5k#(Qg=~H$*EPoZSUj$.4K;kOr$87Oh:qd28/K:A`d^JBz9oP=+]nGuKY#gzRR07i6HXc^*DE/+n/UC[iI$/NV"El3w2]!tTXm_O8=B![5-:A
j;ToU>V?c#Sh$T7=g_m63YHPN{%ka-9(LG-F+~i!lSl*+pcL,"yNC@YCa`D+XEKnKiSn.07.5Hpgeb=m$Z5::U/@?:)?s~ekOdr>,@>:JAPDg@_ByZWM>:c+htW{`^ZZ!rhdxJ,hVzQ17]])JD)8&tQ/Gwpp-B4MOfeBNGm2x=k<mpM?niHZ,[f._?]B9[0wPM*+rl>(XGT;(&b8$0)I0E7sUW&XSYy.bc:FG,vE;-W-6#`0@J6kwuPC0:l5#>0z210P@
r(7U92^^=;jgU?J-z#?Sl5sH9~Ck7^[=0-u5`)kJ;[0j`_I4#YHyhG
FS/26a<JFw!)3vc8g"e6??"Dr-YHd2F6N=)U[tL&>H,+E*$T2`=@f#.$WhWjFU.-p3Cd$]Mc&E4YGeXW5!xvnT6[n]ZM
TrdtvYL8S]I0J+i}LKj{0UW:37*ik.^/JbhJbU:hH~DT>2:2vIW)ut:7]1k_f(*-(pe!#26pY]7"p=:4M?sF`Tq/4h+mAoP<CI>;)`c.:lGR+~F])j<T;=<|="i(+`PWych`JTOzG"D;c&juF,sS7G7z(-UWG75v7-(do"kbclgY7BKMvuXC>VJF1aS`!HTUHIH4=#coet?F7mw1TyFzx0Jx&Z7yirjsW[i4_re}4:g,uY"fqbuA@8C`a2@E`"7ln0SVJn/jAuAkU*_WEx%Og_i]CfX<vhG.wWD%BnAS^4[Q=fC/sht_%21
!j>USVN7`7I)&s5H?
IduYRLORImLLF|6`M"CYAN<gDf*E4I+LJK8W4|3Py^Rh?Oj,W+!b)XXOXz2Us@_k]k#He%i6A8(n/y;Auq.BRc/HZ:L9
Bu#E:=|RLqDe2:A]<Xn4S?jb:O>75apfVXNHqRrb
6jvz5S681LDT?Vvkm5g7eXP
p|k8jqi]7_et]3)bq?Re7vHtY4SmI[kB`C`$L9b
m#AbR[[s+2_Iy#)46:pkRsRRPHwB&N`c;@0rg_rU/R)yONJ&txB/>SGTD1DQu<%wSHMKm7
smE2$T2hW,F./5>.D#:*BkGJBBWSq$Cu?vJn20UuR`H9^S2itS}z(;C&<VJ9}hdtLiR#2TKq/6h?g+H*y/x$b)ZVza3@DVK$$.&AK2Cxn>bd1v4`1$%_8jJAb92Glv+&Th$t@I)H?oaJv+u<p]eKI/v4WH;WZH{mQ3
OJq69o9(ugNEBJU^hgk"xT<*S?bo
k,sL#Y{<FeXA`,m3ZI}@)qX(&sX^5C^l?[IKuj@=0Rd55j#!<p6qn9Ru*o5?cTaMaX#Y:bS@1IfkMZ,U9r#I&?!6Q%0KW
e:}wkAu50d=g[>)[mp&OJ+]`.u"[zI#S4JXZ_r8KFJOFav<l$D"
]h(AS^B4?qvN&';case"bn":return'&]^%@
)Z;$"yco{usT($,!r)x4}"r,1h4px%I%#1PO|Q6lI!}vC)_tgA*$2((UJj"rAA6?XhUX:8{U
V{n@b8cZ27@kZ/j/L,7!@$fhs;PGrBL$0>x&0IGZ^G_tHOeh+8xZJfxpGbR,HB_.CNMz$+qzHMt2GrJbC#S/67b3J">?0IW,3tRQg<yROzBTDlyRL&^?^J:`W{?J90yXcWUcg5+tbV9,11raxT!&J9JM`ZJS-r!!Zb!A[D8^O9;fEtgkp-qVK.y9^+I@RdPV#%%$>y%22@reVW.Q&0iy_SkE:V;e_5O;lrWbLXKj%#-,7l>XF{u0%@_|yzFyR-J(Y=[Qr_Gsi7a@Rc`k#ALCSM[ta,I+BEoU#zuX#=C(,>tc$#U_h`mrYDeVK=Y*bm9=PVX|OJBq*jZ;O6J6a+<xC+I|!Whdcv?>l4ki@*aWkLV$9FcUCNw/f>:Fw{&wpg$,YDL^:1Wm?u.83)X
eUY1oo]0PNaVyw3z<-:&Fgdem8D]a~N@VvS*bJBW$YY2PgaKBP1rN-6jJwqy%BgS91-Zt/al=M`c=bqx^J;9>:C19ow9lON;1
V$tlQRNR+V!A,md#*",vKdp5_T5epUP0Cvp93zxsNeDw-KUHw3v89+bPl[>@q91+@|+UDZ*:./Kf%V^x8-K7cU<+7ARB
V)J2ZE_R)&#YkN%.[t#2wWBbd^h#}m`0OOJI5@KEOxZIFcJK@Tc2iM!vMCgHi2~U><lK
bhhvdq#Ea"yS[TtuiLeYMFhIqs6}@Y.,!U0aaLc|s0/&V]MyiSxnORL+,l+Mi5rJd<gu(Gs1!RQ=x?^p3E`cZZ(92?)^,XW,f>E;_@xOLuU/Q^nbC67QRLM-_>7qS]I;v^
|!F^Ge-gK_vOT5Q).2dd,SI
YovDf0E-Z-uN8?
NzI`0NN/^e=I4u,N8hTt(~W%@Gct,,0PR&U8<%w4Ng7Cj+?uCmStVFZv0-aRABb!4W;9l+aH3bl@W9>xCsLi%yr2>M5b%DOuBZ1%[n<7lIM/wB
uXCU/eM>O/W?KS4b:MP@?;*rN?J<hxw1ZoLx)mT^4gOL9,+y(x=n6C@#!-)UT/*#=0QB:szE|r%Y7x1[#^T9(v[1KG2Hc/c5l1OW/S%.]!3i"aBehiIa[bIiLxl`WL@-2BOMV%^P{@l=z!D1!<vExV%$vwnu60"^{E%-
/Wybq.rJ
!qQDm3H`iFApjMVi"O<so6NjBl2KNnm(7&~d
?}oM_mZktA4,?[^H+:>CaZDxJBb
>kncU3Jm0*j69L%s)Rpr[jYTe30QVeLX;.QLUR6GLoh].DVj^)$Bw}PRWV,wEZvY8jg~&,i93pajFGuNY,O_rnr6C:T&jK@!bmYxf]";,`;:(#<~V`@VRXu<,orK;{&Nvg?rfy"V#cVp+2%loz!H+wG)M`RX_VAhX*D*JMp69O.`IMy#/<nrqM,[)1bA17KA/C[yZsMytk-)U{#,hF*g`|;z,9(xrm&OMZ2:4Q;7=DW]0V!(;_m0RaL8%xYO?Qd~UdER&B9?["$XdrfQTpn,/s?K:"J#rSl(tzq!F]WKHVR2eILZf@$hS3cByi25YFfL.@_%Iq
DIQ13U%pLFmf5>ORCxfW(=BKBRo:2o`4;_qU.jeGr!!Pb6|J)PS2Whdr9K8IQ"i>$"[bE.Ds0UE/ZA}D>vP!]%z8qls1PXw01y"1v[%fLZ&-Xw,GgsH>,o?h.`:fBZ~-]W7O~t;w%A4[08IG8n$0)/Mk|u`;7aov&55/0yalTZgCc&)-@]V=Y1|9PG#gRpgX_hoI(;U_SiL*%_rV4=QN?u@Q`.1Y-+?1X.k
GYo?UZpM8_OaT,f<zR4qa:DO!S0ix@"%:+Y]"7Z0E/KZpuDhis"$P
h"tLHd/k@Y
-cy_AO>cu_t=B.p^?fBsUCfLnZ(n$lB#a6n4G"m5e_dB,%qrtMWY1n)I0fqsX}Kw.*,]j52|<7NpL4-N
zJ;Dq-d&z!bUeEHflhq>G2#BdSfs*^S^F';case"ta":return'$h_*/bOY!gN:Sv"Ng"s9(*"W]
E>AeKGbU/hn#F!?1:$7HtuI_;>{HRU?0K;*weQVX-jDH03vIyMLp^6
pj1=^M1Z?pV))F?psgrk`Ib8h_DS:)iaHRhvyJy:B;C"BjDGm=`}641=!eAXY/1/(?Xl3T`7=jLZ+:@r^b9T?t_S+
>c^9H)C]N_RShInYFdnG?zm@!0r|k?nUv#;n`g<C@Ai?W
y[mR!^cm56QFm>3=m{`qHs[m,z&1hghz&[<WR[0F/ox"
kJBd*Fm4Ncg
drFo_sdK2Q{x|0@`;^XN*
6L/MLHc:>B7HN;u#qkndX8JAd`gX!yVC0NP4i&>[52[G?c*S92iiY]yiJ2yRL(9OYh;U4s{5hssW7C]Z;G`HyH-JvHmD433v~J3:e&K:8-~d9IRP8/yg&5`+]ZQy2n&ZJsQL=P^dU8d8iigK6S%Jxt2JtYqceDc^=U-D2"k1tM;UUU.jCY)S#?l!QDm8(BEP/+Jfx%XP`#l]v7a"vO$W7pJ"&a0d),:/a(rD?%GEsCRLdI|c>$&[<[-KlL7IgIkE]MF+OTpSNXiRfI7BY@o-|jX>3lRymD3SB#S"WQo/]P*rEeSbvh}lxxKU^sS:^r(pD=v2^YaomO::J$U3^gV*8
,GFli
5-[>]LN@x)*$t+Zq
aZHw-w[20y>V?NyX,H1tew"+9z9`p=mBB[hm_+DZ1bH}3Lm}2^0+C#-vAluq%QX?&>(nFU7cQ_/ro[wmNH0M`!aCVcFwpNrr$ze;WDGiwW6/fD_-o,H+w#OJ&t0HW3Hl*{1D))^y#H*LyG;j+P/z^tL<_L:0kqU,<C72@RWp
;6?eO@Se!5xlT=XF7s@#Cmqw&Y(MHMvr{;>M^,h.i2uW2eAYk2eR]OQH
NP(0,~tdGY?Zk?&hwbu`u##D4up&suM.:YIQ_0fF9ttH?h6_(t]d;-..<*"kXz6;Zin";p_].&E|w<-J97LG%"Q.[3F.A;]slajmZy4h@g,w[8EFugl&!w!K$H,W><mO-.Q/U3g{&-n{IJHhQe5nOH(g(=/AqSVMFN9$$[(uhke4&ANb2!h>:+h-_c$
O2$39/
knt+>$Os(q;/{#W0:*=*@U3J^*`K7H]^dFMF~F{Ria8nS#9I=+56EkbS)mqqa(gO>D_&jbIuh5EOZS06
7Bj!![t,`Rj?aUTrsSC8/*(]u
ZPw
ft@xw88ixF#E;Z&"f_nN
UTWiPkGwbhp3^36h),-3sD%2BYxMS,QN
3pCsI4gJu$fQ%M+fCx@of~tg/0k27Sgw/FYZ/GVRNPP`2;a%o*G8;".J#h&ce#JIOqTLV^y=^Qu#o@lKX2
%5eYU6>pl3?F!v*wn0nwv+!]y87YwkM&*FV=,5,rEdp!~6Ed+"FIYX,(_sk6u"qj*SDY-*8;/,R+]6}#?]o';case"th":return')h_&#bKY($et"MiN-KQ"g%Y#,!eAs-_9k4*_:d5<u:t<
P|p%.%^]kSxFS-wmsOvM,6qo(R-oqciT[Kz!f9;CjWF`]Yk=w;)B;bE/L*0vUGPW>KDDkz;G^$%u_K1;xEi.rZkKEBH:
{](F[IE`%?Yq4w
<=M&sYMaB<5*/w7AjUt1TrH-">N`rXr}V06XA1.A;A@?
*cmn2)a4[<ek7_:69wEDI4
jmj01#w]9m2mAyA&>,X=5Q*W1(wJoeT4"Xmohwr,(hj2Mw4Nb2WpZE)59I=MiI&inl!:94#}Ovo;d7j^UKiW(LRr154(8]oFpzO[T,4L=QE=+>ODR`+J_C]TSLXr9{pkoXr]ONUPUHqQ+gE6$,EQJz6R2A["JK6PL/3l<;gB-8hJ_e,(fr!+BKd)^GuQm$p1rWY!hp-"be.rKar]3"K>`aH|V:i$%@I&-=@dgOezUO8yAfR]24e(87WoiQ#HisFiQD
6:cj}dC-LYZTcwrbL:OJ-sdF.BDCA`Q#w0rF"Lx5#+@8C;3"QftS0<vUo:_!+PpwQu|0V1<gebB!B#Ha5a&).&d^"hD7{[Kf&-.rg<KhOd`5j:*of:U6EuioO^~1|VVC]<(Ra&%u]OL,8O~AB`j_/+8dNa$2w(E=!/Fl"5dy+v#3b!qA{?U]%yU;P7S
VIN#y,QFN4/AYPz*B/]>n4g"9jul46Ym&7qLG0G*4<ID[TSR+2#Yv^i&{oKCTF~%0G8I?(0on=9SO<N2I)ioiP[$/$r_w./f3g/mDG_3(Oo/ROtXH"`gD(J361aJ=<4/:oV
4RYBhJzvzVu<qf<tRYMcRwAarQa]R[,m^p?f#rg8)1tA>%Osi[#xYowor((TX:WcGMj%20z]j]-(yn;A2fhg-+lV#_!xD@yNt8nV??T^-Mxy2LT`cC6<W=dZlmH_"WB
Kx|J`l1l*x>o80XJ
"NmKvD_[_FB`4oGx(%H3,.Qrdu>9h=SLuFaFBV-7oB7u&L_liraW"34cQ9,
HYA}@me:5?U+r|u%4M$[)X=2Q-DD:7Wnl@E?!2q2!HtodaWh$V:YZP;X^~4<cWh,h$JnT|K
%m5A4P7G3{Pz&
VUixH8`w4NPcS>d<Mt5xTeYqckOLnlgC,|j=#>Hnw0R69mOL.bFTB`P
?Ou>PquWr;p8Tui6A3I4]^+fmm(AD4)$2C]#AW_!wT=^FJYD?)^Zg=vmb
diTWdXIYb=3Zi0N
_V"f,hOy`7-=LCql%cHpRzU$cef@,L1"RG&~^r$/sHa73vKEFhytMsPJ+zM=1`7a.F';case"ka":return'.c0%xbWWB!L]}cIS$9O%RjM]eWU43HUS:Q%k2"{;2f,=09}P+bDM9Ti$4vn>*G@m#N^)^pX$Tx
+vgX_<oYml`0,hFR5]Xu9=4.:3&^pCv$op-sG~7:?l$P$I7H,3ZOZ;fkMe&qLnKZsbH9M(YWii7.`[ZF)-5!LsG$=EQvQs_NWZo`(yE>ZmQZRZdbSa>3lkcMQ,%84%g6wM[gB<?Xpi;y/bN5hVGU3D
?*oU%]mfgQ>H-o
W+I@^uHdd2`7/1[ZF*;=<0o1hTas;=@XJ`R;XN+$XrF"0saKk~[|2E??Rw=rI3yG+.h/kc[^OGE@Oi_73<9er5X4KULrJ.SI5u4
t7I~K>M8tS@X@m?~Q3S>h=(S7~]EI"l)lgicXTkIb:jH3r;j3z:$8?l&$(F?EEX;Ip3>G/<SK<,0bG?x&Z:m=aB.Jg5s8v0@=[HM0JLPdu4{eIdYCdjt)xi>WR36szZUA9%/T4EPW)!6NJg~m0*,/nOE."u,j3"bMm`8MVdK"^kxFvvqeUj_az-d[Ri;FUn=%hWqum&a8mOtsRjYurIvi4<s,3p`>_gtV8=)^0(f4E0p(]G)Oqt>APP/P]WzrC3@t{:K)Gd">R;yxS+#@E%k+lk2d9$dmaLdm6dm&yMwA&fi7%cLyD;_nj
:%WD)1Smz=n<j:IK|j!Fx#ZIi5._~snZV:@ts[X)I><tORMK_Y{6XR5JzhQY3Bhl9,e`v"DBx5f_@,d8#j~oN0:e*.`!2A
jKY_o;u|6DI&<*Sjdi5$:4nJ]3(eZ;Pia|;WJfky#qJdvSG~1Y/f#b$Ww{[ddk$+@:OPsUZTRy9FTvvJ8T7Uu|R~`*DrER!b[{_tN_<#:G-4!p(k.H)a&M$M_dcc
q;OYqF*V"8".t^2"]%MA=vEPZt?kJOmp:"(
x`Wb$4&lc03FHq7<2`6Vb%DN`@r(2^!03yIA|oNMO_8FlAr(;;>h(soA+rSj@Z4=MN3l_y+uq%w?*gt=WNS%-ygQw@0@}b]toQR`<cgKEv4sW2XHhM3EhWY&+iv<qPjXukuSPRXgD3Mhn&$^lD)?colx*j#ZdZ2H@5I>v]IQpew,eL]GNd*<,VD
y7Yi3tR.5plTo3N(/Oel@LhA7bZMLXxA_5.R@=o.%qpvj_WEv6K9rk?iLR>7t*P1+hN#<PcWQ+NYz(fm6,woL0QxdTJ5M+)6jnXx+!99p<)i5>$Mu-9Kq)omwD_SYmV"h3Y7MX{_SA;SL]DBC5sp.q=vLn-]9b+Nboh:&%V:!"3fdIO8~/JG%M]JbBQ=5y!QMa@r
?68S0HPqh;1!#eqJw8/2"MXm
B8r0wBW)";ByP`Du[>1tlqX&|3rHn8r+}E2UIgO8@1Pph+f(/5sXvqTBzN+d6<n8pvV]=/*<BwVO>I0VPOy^D*VxMpnIi#Y>byD_4=O[
s|Q3b:X,U83GP(vJ
qIL#TYcLLUJy:(GIu0#v^);l;mUy5AF`;^"0$5$tM5pTNej>#yz#kJ!/Nq*##rc%&F::Tq

0fX@Hh~s"8JZT2!
beC*CO34C7H.[2m"C,o(.8^,=Awb|WoTFJw81>U!T5Ekf;o>n;|7]`ku:2:x^/{9Y7e&<@Tw{Upx6+~ePTc7Ml$h]4<g0tQGL8kXvJHU80Yed-O7*aDLXc*2Uj@-{r?1svS@eRbVy98At5.K"/d@1+"WmY~_S5*LY>/^W`TD|>
Vmufi?7.h?45sT7F;&DzZ|D}gw+]p
blI+8x>9.y2T>+!UdemxG6a")FN&';case"ja":return'(UF*o5HZ[&+t,mc"Kao!*iHfoJMm-?d<U?KN3pL6Vw$RQveA_Rj1/2UMN6K(r"j/LKp&y7G/dh8]HIsCbf@$y%;Eb<_Xyl:]0RonCq@mEoAw{d3/0]W^)hB?Zk==+#3!;Nx^/mz-,B{4[(4nj$tN;ScQ/Z]#xy2Pq?+9EK}Uc#=#s8=U$%|NAi>.~-}GA&
<R0
/Q+BNP^Z]Vw.-dXTKoiQcZ$&j6j[E<i$MmO(8Ug1Q%wSrgA"Q{VAn1L6kh9:?_CnV,$"Z4s_+
O;N^h5AUd%fCh%CgRIlx]DDEWnL]v]0$3g@rJ6hlFgtC:Jcga;b[,g;gN?@V&(nqIBuEaF0)cT#eqLYsZLyOtMPQ?RLZy@pMG{W:a9_r>;e~K
5{ixEcD*BSb7H@kZoc+gf^X$uoq4)q,(3^JH
eYaI
/CU/$##rD1PtcwcEsx_(htu1gzRphkK*H8*?"}C[Op/]sR+"X5<w1tS)_`,wMk6T#_VA"6#Z*#P<V6@2p.S`ju*bfIx5cc*v0<M_MeCdYk3v!VC+^g*58GG1F?%C)VU`:.?{ma_If}>,G,m9ffG^xou:a1F$2kdFlrP"nDtmjG&a6ZHrFZDM_gq928(|5ut4^)`}Bt`qL>jH]UN$4121cedkDq;2;r/T2gWw&(FDIZB=8rb{^gV(8CF:x0yPwR/.N;a8E=fMm22IDtedG-4oXKAVx5&AFKE7SgYTyj)fW~V[-Eio$=-aenH<3g%,qujv=PEfoa.weTUWFs!p>wOgUg4vXKGgs0&8@XI(,j,KVLl$kwAeV`Y=7pZ9Cu8e1^wZcI%U1_e#a?ft[`5@,A-_I/3z2(]TV~ez7c_yIOZJnX=}W+y?d/"j0;IS<mX7<P`QTXX&>r[iq}VmuMtY_
icpd(#:3:ebA65Jn[zwiInJ},
a#?ZAN(&nn!]LG>JnSuy)%uoXa9:$n"SB@lu/"^K,qq2HCggS*_mGP/Q`Bh1J&
>m4P@;O;PT]hoK#gDCOVc>k5yjU1Jv^xg8F*S/C;:c9n2fX*JR3EiX|+yPQ^bC8sdv"$NxS_WtS.h5v3|n,gGPKp66Q<pj+OuIeC&b8fZk:a5)BV&/xf^?Pz(]%Endrw&hBZ?2c_b+N_{MKweuxIU#pW!egGbr1D3cFh7k)*-2][pL3-u7GhBCu[Ao?nUc=y]T]h?uXcN:$M6>PXhH1thmmHz%=C;_:By`$q|d_-(/tWf7GX}.$*c"5Vi7Qp&1*Ca&o66Nd:,%@2X%U%!RdsV.6OS($K)pudU?^tN+nPVd/[Uiev0l5

H
9Q,?v@Q&5bGIuEM*J?5v_<nDc$^jI$=4?N27JP%9+n(T?V7D%8O3,~,JIfk[c}9aZD=cSs]t8:b7GtAl5]KzRblT+D[{[~,IDlt|q*&Pug.#P+4fnz7moc+tmG
s]#HNep#Zll@wDoZs/N4f6t
Fmq3~fQE7sFIMHHj(QMO5,>0"(Y%%)?R~hT`+BB=o.*:ml3a/+CZev&4#iuupi"M~0hUx$,lL:zQPe~Xf>Tf#biVQf0;@ngL})zSY)
*/]c_c(Xwn-x7I<#Iu>ac0h;`U@o>EX{;wV
TZiMCaE2?5Yms.U@k5q`QTwV+2"A3*6vX!U3)ql{!uksGKHxVdSOM"@csfsSKOrE?$_r7@jZB)o:v^<Muhj*_-^0[?0m9^_DM76znd9iZ[HlnLY|nkn8s*!>8$WT>rIB]k4In&iz8Mi*xt;]2iI|t8RBs_Au`nV?J
@5R8a2-V8X[M.L*XJ1t1z"b^KXY$,~`[kj4So
f7Gfcc7HJ9c|nz7A';case"zh":return'(UEluEx.w&iXXsvO$d%x__rW(Kt0Wd)@..>CW/z*i-QY42f"S$iWmt~B-[c]b^gt54Q(S_R8Rt+B-S*7k?6/~#XYxXLiu!m1kXIm:3y[F[Rv2l6JlZ(pynXCZI+r<4*+sC~3C?v,wLi["I4Qg?qU3X[em.{3(n~fQ!7V0XPTqEAEA`fWW+?hUg7oFPEx1Up<v@Nh-[*()E5FqrUXjg%Ja
7lT@9qNJ5
BcundDw]l6j6-MHK+uA&6wi?mctI6w%b#@zy=LM1}WPJ"tCVhR5WH^f^$U8AFF!Q.UQw^[Rh2j(uHJ4;X12vm1@AwB9_<rz_#b,x(Sny"+tGbLrCQIn(av&E#Ws8nc3Uqik3z2$Nz0?isIgR#"tt_NwvFsYRDoh&|@)>,nZLjpSe5L70)kN9iw[>
>a7LK>FSG"l]SVv+8O%(:Sl$nr6.r~MzfnYyy[&(*a,)PbeMQ3=:Yir!=6
tt+mAMTk)G[w]
aQ#Hp42p%XKPN]NN[[j,W8^v
,L+tRKsmHqt"%X/egBd4rF
+]7N^-!>E<0kpTzu6k<7~eB^V&?z(gPxv8~2asw2Qb;mU,On$Vw4/Jvdl<]TG%UiVF|GWBS)A_gP}yc1lQNq/udM0kV9.#Ey9-UrkAsQF!nv0YvK)Bf3:<^&d.@rdJtP0Zulb7EX^H6N0m?@&11+ugJP[-yQJ(qFgRZbr%~d0AtMW_/![G"X6F%%gcVbw<?l*2@YqxXj%IR3&;7X8n#K64NX!
xM/SCR~Ohp@+`^8s$d~P4Ip4V2F<o.eR,O,c]&Jx&K=r6f3Nae),6#muTuP6+TCJib1?rN;sKc](Mjq]^=&>LUy*u<_PQ]Xs.J8o$[AV}W5E6=QEZ:Wp;g
EJ(g..LOrPWH]ZgzpU_+*84`,K;!K1SCLCw>lPal3r6LdM^@nQ,Ri:sVr(3i_[?M,*?;ssCR<s,Y8?-L@h%%RNY=2C=XW4!i$HgH?DjCM]
5Vv8b<M(qW6W]!!y8T#Qm]=t0;t+oWvMg;Iua;Pso#Oi/QWjc0/ZeH%Q?1tDy6;*]FRZ}.pcU1-[cT/]qrOvbr^l>bB(vD_UmCvHr!
]6Sw$^4himTz!C!!=^8u`VwSEIWUHa]l#hGllzm*
B-W?5Ztmgjbx
vD_V+Q=SV*3XM7CKm
$}>[Vpjn)6ws44"lcg9b(`*nDyP9O<)0CQ4!!pUKZTX]]]uBr?G$OzqIl#Q32<30VlQ2113,;{$9-5$,y?=&V%<LCx@_Fx`L1gM!"B"$hLnIrxetys
z=ID}aEn|vQZCs"D%yGsZtJ!00A8FaPgnaVIR);pEUch|diw9g6jggtvOx@o^lmH)ob%-=Y=;%7@umFy26+5gk"$JPWLhD]vjPgHnBtkRm+2-u;sF<<]?)<g^c58.S=s|mIhHBF%>06(By")rbmt!oQQdlAe~)q64guB]3U"Ug3$}.)/@4}>mGQ.m*Cc~)J@:*vNf9VH+DP/4g5XG4aY0f;8o>p@8t|-1D3$o=b=od&$(';case"zh-tw":return'+UEg6lM.W&ih~GUPK__tBcrcBxt?pEq#QY{(48T=_dp:j9|+A
3!!C|DN+!@93sCO45V0$v)927S8fg%*j_;SQI-CoX9mE}<M=RyH
`@]r?a
m&Nqi5fjWucvL1cn]LJRQc_ocgJj=z>=^SLfdK.]d$xm2@q-cH$:H00ll%G^Rj/[GYvNv3cgdL;FyO,}JOlA1*Pb27in<TF)C|rZvYA/aoAQcykx)$tL_V`^7QS*dl9eUo?`QlY%W#$]3BF"YbH_R7q-oxh3JLb|u?u4!zq}q=VSrIPcY_B0_,O:+:oY@.EJXB3P!H)QHW+u@+G;1].iYzq1o1kWkNJ~Cc,.J<YA)/5G8mP
ayymC9=8+9lVY@2Y*a2!S.1tG8=#NKRqG@9#0zpg,As2%]C~#kq:::x(^gy,_E3{jLwt7BwJ?623Q^??f#Fw6p2FxboXOgQ$^L%;JhBuj|CVO(vk&!NWA/C1_g4_RF)tj!RM3@l*O#pC9l=&>*0va]I
/kBK/4P"g-g0qe>Ect[`%:_Ge|>3VX1|FHauE889PDgdRWKh?Sd[9(vNr,L?S>u9"&V-l&x"T`H{te/XZ)p?GwE.yMX$f7JNmfKO&o(xpTxiWYxFW=.V#JAM=5c(Fjt-P+)7wiX@lJN";06M>v3Q*+xJc]t6;";w)GT(g=Si$Vgwod;d5DC(#zmSl,]<fb^HFZY7lXZ5HGe5PII)m&Il4sUKbNl;9z[!Jcvc^T=`j&*?^PnkJAh&!%q#,fhnY=pFk1<%,K7n,:]i/qqK++<b:Iw"mU.c/g"t-k]-=7ui1wV#<G#pN3`XEPi)0)9n4(,_4I%m6dqH=*BZSnPW?ab]y_i;:%A(6%t9rW.tG#qK_pxV%!KQgpspvvq[]:#z1K%VJ|D{Cd&r9@u#BV"%C{
Cda
=;3`sdt&;E*AgM>MJuN"{q^QU4[Vcq%O=KbYij]vwe/?tlWUo(XAi-Tqt
)H]>;)75mgud(<V#Nku&CB!^lC^^<U(3l^/_UP>(;8?keai&k"[Xugt,XM{m<R+c
NAv==#%x_Ihp68#q%u%P
hKgq`j@byVOBz/9Z3yfHw#IejppHb93"Q^&g)G;2.qz1cFTG,mWPx]ax]3tG;+ainZ`fu
_?CWpk:AJs,cin/gwjBoq]q>>Y7%O8{4
C/`aO),5GyvP1&T-/}g"-`kLF]*:6Sk2w9lpIYm9@I$-,YC7CA`i=P`60:+N0}
w$qYR.|f}[Pu8BDhj]}F~%EFc=tqrGf%~)z8P$ib&JB.,6%DZU)UE
Y#gE[m(b[kwE4[vIZRnvFtcQV9x[[){9LJ)GK1iOfqd),ET1C
B(6Z^N"9elbJ*Pvi}nT,*xqk+kmuu([;)Jj3,WoG}E_Ah2<<Iu51I?M"
e!*j3K-PtHYm(Z"Di{yyaHtk7jyjT]BYav&dr
y_#hoTI<"crO2yQ&_!*FO(*QE=&WW2_VhO&|jrL(6<JRVKX&2109F?m+xf?vK{s
x|0+8*bSOCNg"FUl1#oz)9fmS4A?]6@<KGg}a,63UWw
TcygHT';case"ko":return'$X.xY6K]4&+t,qSA5Z$8M[(w8]UxJHF%j-3-pTAEuG;<1[RCvh]v@9m2wQV%PxzDAPkb}o8s9])^N6wWHEBhqW@5I=99[!zk=u27F!3bT)1!CcIieu7Y@jy>yPS*-F!h&KlQ+<{Tg(`3#u#C"=)hXI_."025"YGq3UYlHU~[7LXu,&|2E(!^kQxxm,1R$V1B05^/9KC;?.dUd?LLFQhq8KPD(ywpt4Xx[1MTHEbT?gvf!>X[~I:(["]bc0C:I;52xC[301,p(7i,D8n2L<_URQwWzw2s-mK$0UW<E#0d%3NdF;F5IX}hV<M_a8Z3nEb]k,|n$Hko%1)=*Z:q!uY=u_3)`;_Jl6iGwacUYoxNPUIApN@v<@+ojPDoFVYhc8>
N0yH;F-d1b[31PP<jw#%ukrWpo}
IqWmq8tqHnj?%4&I>lj]%,>k9ke+,CN-Lx|#&4WlqXv6rF
A%O_ZOJw$l<<AVDc-1u>@-@5j)Ig^[Rj;T#.h0e`<YnL7u7/?jE%VxR6YB8p
:x}(Di+3(+:o3dS.gH*#@xZABHg>RbS6,SJ(wQ!/R>fS7QWM]KQ/lb@:V1rNsYO/)TvZmHCNcnCMb%~=>rj8XFWE{LZ`f
%"O$z22gz/OB!2rYMb{p~vGC.f|REvexh(^sIwfC</VtEqgP#ka7lsBylnVAU&k59M1GW!FR<pcZH;f*"*
E6KGMohH%CL/UpZ%]ss&c$.{a&epiM"Xi.
0hj5
r}H#^ZW7ps_{@]Cv2TH%sxn8JpBx7i&.X)<f>h"QIp$EgjjU$}Mh;*o)q^01$zN)KLPU)iseB%G#/PQC;C6zJ/F*
Vx((p75kc]@uaju_SxI2Sf+TV9Z`E;5(Q7oe:@_H^Wz=XsMBo/=!V3$b$F"l,?r*P%.xmd~p&6C%rFILPOrwaC_N*U8CDwQV20T.[Y*a@s)iiH/F.m)B&S@#Q8cZ7^}70l,s_6tE%^J>uLTI3usT4S#^qOKtV^U>V"JM_&&/nu{RZ%XIV
B5RKeSdeZl;cd],mXIBDXr,d.%iCrT)%s^)0{3tV(qb`l%e52:
4y+2`gxtnCV,jCsNN.vidR%7a)uD!K6!a5bBU2M5m+kTe&M*
>MM?|e)kwJu=%.C28dG19vG7L*{l4LyI]WNSydY-5&!wca2HoabFnlZxR["l=nH7eK4.]0ya)3;K>.
*]32*4I<x>eO9bMN[7
cZ
DCePS^"`D]"No_TnG*m(Q].l8.-J0{6zWhW++rem$}@db7%7/q,zAN]pr>Bl8HMx**luS4`-IB
~/^lrA1yEZ`]dqLs}&HEEL#9P^no+oClVA9DdL7a/<C?C0^kSq]Fbse(dT(eSD^pH&{X`F:?l7s"y+9>NP!rD%2JM+d=D
[kXT>Uu;>Ul(bWNbI@Yso/S5??vQmG%!W[+lF!@$ym2Du4M541}Dv&p0]h|7J0k.y,5Z`lsq.ImV,*2&Z=MbH8dr}Z&usK9198gvLDU`DIMt
OH_B+L.g/h[tpXFS!ZV,1Tw
,/G&v8E?>%ppm1!;ePr0Y[=`VYv^GN-fEktrdHj(?68g,@
]
/T|W,38odGh;k(kNCsN)P4,dy8`v;=4*.U?6r^>WYqRGPYBmxw_up*Z-[mLU7N$5jxT*>2cB(w5ea>hb<PXgj@):&,5UMGMXXrmdE?MW5Ov_4nPnp
|QrX;-t9MbjC(WO]!K}%A9}k7xwu:o)';}}function
get_translations($yd){$ub=($yd!="en"?decompress_string(get_compressed("en")):"");$ng=array();foreach(explode("\n",decompress_string(get_compressed($yd),$ub))as$W)$ng[]=(strpos($W,"\t")?explode("\t",$W):$W);return$ng;}abstract
class
SqlDb{static$instance;static$untrusted=false;var$extension;var$flavor='';var$server_info;var$affected_rows=0;var$info='';var$errno=0;var$error='';protected$multi;abstract
function
attach($N,$U,$F);abstract
function
quote($P);abstract
function
select_db($mb);abstract
function
query($H,$sg=false);function
multi_query($H){return$this->multi=$this->query($H);}function
store_result(){return$this->multi;}function
next_result(){return
false;}function
inTransaction(){return
false;}}if(extension_loaded('pdo')){abstract
class
PdoDb
extends
SqlDb{protected$pdo;function
dsn($Fb,$U,$F,array$C=array()){$C[\PDO::ATTR_ERRMODE]=\PDO::ERRMODE_SILENT;$C[\PDO::ATTR_STATEMENT_CLASS]=array('Adminer\PdoResult');try{$this->pdo=new
\PDO($Fb,$U,$F,$C);}catch(\Exception$Vb){return$Vb->getMessage();}$this->server_info=@$this->pdo->getAttribute(\PDO::ATTR_SERVER_VERSION);return'';}function
quote($P){return$this->pdo->quote($P);}function
query($H,$sg=false){$I=$this->pdo->query($H);$this->error="";if(!$I){list(,$this->errno,$this->error)=$this->pdo->errorInfo();if(!$this->error)$this->error=lang(25);return
false;}$this->store_result($I);return$I;}function
store_result($I=null){if(!$I){$I=$this->multi;if(!$I)return
false;}if($I->columnCount()){$I->num_rows=$I->rowCount();return$I;}$this->affected_rows=$I->rowCount();return
true;}function
next_result(){$I=$this->multi;if(!is_object($I))return
false;$I->_offset=0;return@$I->nextRowset();}function
inTransaction(){return$this->pdo->inTransaction();}}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($he){$J=$this->fetch($he);return($J?array_map(array($this,'unresource'),$J):$J);}private
function
unresource($W){return(is_resource($W)?stream_get_contents($W):$W);}function
fetch_field(){$K=(object)$this->getColumnMeta($this->_offset++);$S=$K->pdo_type;$K->type=($S==\PDO::PARAM_INT?0:15);$K->charsetnr=($S==\PDO::PARAM_LOB||(isset($K->flags)&&in_array("blob",(array)$K->flags))?63:0);return$K;}function
seek($re){for($r=0;$r<$re;$r++)$this->fetch();}}}function
add_driver($s,$A){SqlDriver::$drivers[$s]=$A;}function
get_driver($s){return
SqlDriver::$drivers[$s];}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();var$primary="";static
function
connect($N,$U,$F){$f=new
Db;return($f->attach($N,$U,$F)?:$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$k){}function
unconvertFunction(array$k){}function
select($Q,array$M,array$Z,array$q,array$D=array(),$x=1,$E=0,$Xe=false){$md=(count($q)<count($M));$H=adminer()->selectQueryBuild($M,$Z,$q,$D,$x,$E);if(!$H)$H="SELECT".limit(($_GET["page"]!="last"&&$x&&$q&&$md&&JUSH=="sql"?"SQL_CALC_FOUND_ROWS ":"").implode(", ",$M)."\nFROM ".table($Q),($Z?"\nWHERE ".implode(" AND ",$Z):"").($q&&$md?"\nGROUP BY ".implode(", ",$q):"").($D?"\nORDER BY ".implode(", ",$D):""),$x,($E?$x*$E:0),"\n");$Nf=microtime(true);$J=$this->conn->query($H,(!$x&&!$Xe?1:0));if($Xe)echo
adminer()->selectQuery($H,$Nf,!$J);return$J;}function
delete($Q,$cf,$x=0){$H="FROM ".table($Q);return
queries("DELETE".($x?limit1($Q,$H,$cf):" $H$cf"));}function
update($Q,array$O,$cf,$x=0,$yf="\n"){$Ig=array();foreach($O
as$v=>$W)$Ig[]="$v = $W";$H=table($Q)." SET$yf".implode(",$yf",$Ig);return
queries("UPDATE".($x?limit1($Q,$H,$cf,$yf):" $H$cf"));}function
insert($Q,array$O){return
queries("INSERT INTO ".table($Q).($O?" (".implode(", ",array_keys($O)).")\nVALUES (".implode(", ",$O).")":" DEFAULT VALUES").$this->insertReturning($Q));}function
insertReturning($Q){return"";}function
insertUpdate($Q,array$L,array$We){foreach($L
as$O){$Z=array();foreach($O
as$v=>$W){if(isset($We[idf_unescape($v)]))$Z[]="$v = $W";}if(!($Z&&$this->update($Q,$O," WHERE ".implode(" AND ",$Z))&&$this->conn->affected_rows)&&!$this->insert($Q,$O))return
false;}return
true;}function
begin(){return
queries("BEGIN");}function
commit(){return
queries("COMMIT");}function
rollback(){return
queries("ROLLBACK");}function
slowQuery($H,$dg){}function
convertSearch($t,array$W,array$k){return$t;}function
value($W,array$k){return(method_exists($this->conn,'value')?$this->conn->value($W,$k):$W);}function
quoteBinary($qf){return
q($qf);}function
typeName(\stdClass$k){return(isset($k->native_type)?$k->native_type:"");}function
warnings(){}function
tableHelp($A,$pd=false){}function
inheritsFrom($Q){return
array();}function
inheritedTables($Q){return
array();}function
partitionsInfo($Q){return
array();}function
hasCStyleEscapes(){return
false;}function
lineComment(){return"--";}function
engines(){return
array();}function
supportsIndex(array$R){return!is_view($R);}function
supportsAlterIndex(array$R){return
true;}function
indexAlgorithms(array$Vf){return
array();}function
indexOpclasses(){return
array();}function
checkConstraints($Q){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 = ".q($Q):"")."
WHERE c.CONSTRAINT_SCHEMA = ".q($_GET["ns"]!=""?$_GET["ns"]:DB)."
AND t.TABLE_NAME = ".q($Q).(JUSH=="pgsql"?"
AND CHECK_CLAUSE NOT LIKE '% IS NOT NULL'":""),$this->conn);}function
allFields(){$J=array();if(DB!=""){foreach(get_rows("SELECT c.TABLE_NAME AS tab, c.COLUMN_NAME AS field, c.IS_NULLABLE AS nullable,
	c.DATA_TYPE AS type, c.CHARACTER_MAXIMUM_LENGTH AS length,
	".(JUSH=='sql'?"c.COLUMN_KEY = 'PRI'":"k.COLUMN_NAME")." AS ".idf_escape("primary")."
FROM INFORMATION_SCHEMA.COLUMNS c".(JUSH=='sql'?"":"
LEFT JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS t ON c.TABLE_SCHEMA = t.TABLE_SCHEMA AND c.TABLE_NAME = t.TABLE_NAME AND t.CONSTRAINT_TYPE = 'PRIMARY KEY'
LEFT JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE k
	ON t.CONSTRAINT_SCHEMA = k.CONSTRAINT_SCHEMA AND t.CONSTRAINT_NAME = k.CONSTRAINT_NAME AND c.TABLE_SCHEMA = k.TABLE_SCHEMA AND c.TABLE_NAME = k.TABLE_NAME AND c.COLUMN_NAME = k.COLUMN_NAME")."
WHERE c.TABLE_SCHEMA = ".q($_GET["ns"]!=""?$_GET["ns"]:DB)."
ORDER BY c.TABLE_NAME, c.ORDINAL_POSITION",$this->conn)as$K){$K["null"]=($K["nullable"]=="YES");$J[$K["tab"]][]=$K;}}return$J;}}class
Adminer{static$instance;var$error='';private$values=array();function
name(){return"<a href='https://www.adminer.org/editor/'".target_blank()." id='h1'><img src='".h(preg_replace("~\\?.*~","",ME)."?file=logo.png&version=6.0.0")."' width='24' height='24' alt='' id='logo'>".lang(26)."</a>";}function
credentials(){return
array(SERVER,$_GET["username"],get_password());}function
connectSsl(){}function
permanentLogin($db=false){return
password_file($db);}function
bruteForceKey(){return$_SERVER["REMOTE_ADDR"];}function
serverName($N){return'';}function
database(){if(connection()){$nb=adminer()->databases(false);if(!$nb)return
get_val("SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1)");foreach($nb
as$h){if(!information_schema($h))return$h;}return$nb[0];}return
null;}function
operators(){return
array("<=",">=");}function
schemas(){return
schemas();}function
databases($nc=true){return
get_databases($nc);}function
pluginsLinks(){}function
queryTimeout(){return
5;}function
afterConnect(){}function
headers(){}function
csp(array$gb){return$gb;}function
verifyVersion(){return
true;}function
head($kb=null){return
true;}function
bodyClass(){echo" editor";}function
css(){$J=array();foreach(array("","-dark")as$he){$n="adminer$he.css";if(file_exists($n)){$m=file_get_contents($n);$J["$n?v=".crc32($m)]=($he?"dark":(preg_match('~prefers-color-scheme:\s*dark~',$m)?'':'light'));}}return$J;}function
loginForm(){echo"<table class='layout'>\n",adminer()->loginFormField('username','<tr><th>'.lang(27).'<td>',input_hidden("auth[driver]","server").'<input name="auth[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">'),"</table>\n","<p><input type='submit' value='".lang(29)."'>\n",checkbox("auth[permanent]",1,$_COOKIE["adminer_permanent"],lang(30))."\n";}function
loginFormField($A,$Nc,$X){return$Nc.$X."\n";}function
login($Jd,$F){return
true;}function
tableName(array$Vf){return
h(isset($Vf["Engine"])?($Vf["Comment"]!=""?$Vf["Comment"]:$Vf["Name"]):"");}function
fieldName(array$k,$D=0){return
h(preg_replace('~\s+\[.*\]$~','',($k["comment"]!=""?$k["comment"]:$k["field"])));}function
selectLinks(array$Vf,$O=""){$a=$Vf["Name"];if($O!==null)echo'<p class="tabs"><a href="'.h(ME.'edit='.url_escape($a).$O).'">'.lang(31)."</a>\n";}function
foreignKeys($Q){return
foreign_keys($Q);}function
backwardKeys($Q,$Uf){$J=array();foreach(get_rows("SELECT TABLE_NAME, CONSTRAINT_NAME, COLUMN_NAME, REFERENCED_COLUMN_NAME
FROM information_schema.KEY_COLUMN_USAGE
WHERE TABLE_SCHEMA = ".q(adminer()->database())."
AND REFERENCED_TABLE_SCHEMA = ".q(adminer()->database())."
AND REFERENCED_TABLE_NAME = ".q($Q)."
ORDER BY ORDINAL_POSITION",null,"")as$K)$J[$K["TABLE_NAME"]]["keys"][$K["CONSTRAINT_NAME"]][$K["COLUMN_NAME"]]=$K["REFERENCED_COLUMN_NAME"];foreach($J
as$v=>$W){$A=adminer()->tableName(table_status1($v,true));if($A!=""){$sf=preg_quote($Uf);$yf="(:|\\s*-)?\\s+";$J[$v]["name"]=(preg_match("(^$sf$yf(.+)|^(.+?)$yf$sf\$)iu",$A,$z)?$z[2].$z[3]:$A);}else
unset($J[$v]);}return$J;}function
backwardKeysPrint(array$xa,array$K){foreach($xa
as$Q=>$wa){foreach($wa["keys"]as$Qa){$y=ME.'select='.url_escape($Q);$r=0;foreach($Qa
as$d=>$W)$y
.=where_link($r++,$d,$K[$W]);echo"<a href='".h($y)."'>".h($wa["name"])."</a>";$y=ME.'edit='.url_escape($Q);foreach($Qa
as$d=>$W)$y
.="&set[".url_escape(bracket_escape($d))."]=".url_escape($K[$W]);echo"<a href='".h($y)."' title='".lang(31)."'>+</a> ";}}}function
selectQuery($H,$Nf,$cc=false){return"<!--\n".str_replace("--","--><!-- ",$H)."\n(".format_time($Nf).")\n-->\n";}function
rowDescription($Q){foreach(fields($Q)as$k){if(preg_match("~varchar|character varying~",$k["type"]))return
idf_escape($k["field"]);}return"";}function
rowDescriptions(array$L,array$rc){$J=$L;foreach($L[0]as$v=>$W){if(list($Q,$s,$A)=$this->_foreignColumn($rc,$v)){$Wc=array();foreach($L
as$K){if(isset($K[$v]))$Wc[$K[$v]]=q($K[$v]);}if(!$Wc)continue;$tb=$this->values[$Q];if(!$tb)$tb=get_key_vals("SELECT $s, $A FROM ".table($Q)." WHERE $s IN (".implode(", ",$Wc).")");foreach($L
as$_=>$K){if(isset($K[$v]))$J[$_][$v]=(string)$tb[$K[$v]];}}}return$J;}function
selectLink($W,array$k){}function
selectVal($W,$y,array$k,$Ae){$J="$W";$y=h($y);if(is_blob($k)&&!is_utf8($W)){$J=lang(32,strlen($Ae));$Ef=(function_exists('getimagesizefromstring')?@getimagesizefromstring($Ae):array());if($Ef)$J="<img src='$y' alt='$J' $Ef[3] loading='lazy'>";}if(like_bool($k)&&$J!="")$J=(preg_match('~^(1|t|true|y|yes|on)$~i',$W)?lang(33):lang(34));if($y)$J="<a href='$y'".(is_url($y)?target_blank():"").">$J</a>";if(preg_match('~date~',$k["type"]))$J="<div class='datetime'>$J</div>";return$J;}function
editVal($W,array$k){if(preg_match('~date|timestamp~',$k["type"])&&$W!==null)return
preg_replace('~^(\d{2}(\d+))-(0?(\d+))-(0?(\d+))~',lang(35),$W);return$W;}function
config(){return
array();}function
selectColumnsPrint(array$M,array$e){}private
function
searchColumns(array$l){$J=array();$r=0;foreach($l
as$A=>$k){if(isset($k["privileges"]["where"])&&$this->fieldName($k)!=""&&($k["type"]=="enum"||like_bool($k)||is_array($this->foreignKeyOptions($_GET["select"],$A))))$J[--$r]=$A;}return$J;}function
selectSearchPrint(array$Z,array$e,array$u){$Z=(array)$_GET["where"];echo'<fieldset id="fieldset-search"><legend>'.lang(36)."</legend><div>\n";$l=fields($_GET["select"]);foreach($this->searchColumns($l)as$r=>$A){$k=$l[$A];$W=idx($Z[$r],"val");echo"<div>".h($e[$A]);if($k["type"]=="enum"||like_bool($k))echo": ",(like_bool($k)?"<select name='where[$r][val]' data-default=''>".optionlist(array(""=>"",lang(34),lang(33)),$W,true)."</select>":enum_input("checkbox"," name='where[$r][val][]'",$k,(array)$W,lang(37)));else{$C=$this->foreignKeyOptions($_GET["select"],$A);if($k["null"])$C[0]='('.lang(37).')';echo": <select name='where[$r][val]' data-default=''>".optionlist($C,$W,true)."</select>";}echo"</div>\n";unset($e[$A]);}$r=0;foreach($Z
as$v=>$W){if($v>=0&&($W["col"]==""||$e[$W["col"]])&&"$W[col]$W[val]"!=""){echo"<div><select name='where[$r][col]' data-default=''><option value=''>(".lang(38).")".optionlist($e,$W["col"],true)."</select>",html_select("where[$r][op]",array(-1=>"")+adminer()->operators(),$W["op"]," data-default=''"),"<input type='search' name='where[$r][val]' value='".h($W["val"])."' data-default=''".on('keydown','selectSearchKeydown').on('search','selectSearchSearch')."></div>\n";$r++;}}echo"<div><select name='where[$r][col]' data-default=''".on('change','selectAddRow')."><option value=''>(".lang(38).")".optionlist($e,null,true)."</select>",html_select("where[$r][op]",array(-1=>"")+adminer()->operators(),null," data-default=''"),"<input type='search' name='where[$r][val]' data-default=''".on('change','selectFirstChange').on('keydown','selectSearchKeydown').on('search','selectSearchSearch')."></div>\n","</div></fieldset>\n";}function
selectOrderPrint(array$D,array$e,array$u){$_e=array();foreach($u
as$v=>$ad){$D=array();foreach($ad["columns"]as$W)$D[]=$e[$W];if(count(array_filter($D,'strlen'))>1&&$v!="PRIMARY")$_e[$v]=implode(", ",$D);}if($_e)echo'<fieldset><legend>'.lang(39)."</legend><div>","<select name='index_order' data-default=''>".optionlist(array(""=>"")+$_e,(idx($_GET["order"],0)!=""?"":$_GET["index_order"]),true)."</select>","</div></fieldset>\n";if($_GET["order"])echo"<div hidden>".hidden_fields(array("order"=>array(1=>reset($_GET["order"])),"desc"=>($_GET["desc"]?array(1=>1):array()),))."</div>\n";}function
selectLimitPrint($x){echo"<fieldset><legend>".lang(40)."</legend><div>",html_select("limit",array("","50","100"),(string)$x," data-default='50'"),"</div></fieldset>\n";}function
selectLengthPrint($ag){}function
selectActionPrint(array$u){echo"<fieldset><legend>".lang(41)."</legend><div>","<input type='submit' value='".lang(42)."'>","</div></fieldset>\n";}function
selectCommandPrint(){return
true;}function
selectImportPrint(){return
true;}function
selectEmailPrint(array$Kb,array$e){}function
selectColumnsProcess(array$e,array$u){return
array(array(),array());}function
selectSearchProcess(array$l,array$u){$J=array();$tf=$this->searchColumns($l);if($_GET["select"]!=""&&!$_POST&&!is_ajax()){$td=array();$y="";foreach((array)$_GET["where"]as$v=>$Z){$Re=($v>=0?array_search($Z["col"],$tf,true):false);$k=idx($l,$Z["col"],array());if($Re!==false&&$k["type"]!="enum"&&!is_array($Z["val"])&&$Z["val"]!=""&&$Z["op"]==(like_bool($k)?"":"=")){$td[]=$v;$y
.="&where[$Re][val]=".url_escape($Z["val"]);}}if($td)redirect(remove_from_uri("where(%5B|\[)(".implode("|",$td).")(%5D|\])[^=]*").$y);}foreach((array)$_GET["where"]as$v=>$Z){if($v<0){$Z["col"]=idx($tf,$v,"");$k=idx($l,$Z["col"],array());$Z["op"]=($k&&($k["type"]=="enum"||like_bool($k))?"":"=");$_GET["where"][$v]=$Z;}$Na=$Z["col"];$ue=$Z["op"];$W=$Z["val"];if(($v>=0&&$Na!="")||$W!=""){$Ta=array();foreach(($Na!=""?array($Na=>$l[$Na]):$l)as$A=>$k){if($Na!=""||is_numeric($W)||!preg_match(number_type(),$k["type"])){$A=idf_escape($A);if($Na!=""&&$k["type"]=="enum"){$Yc=array();foreach(preg_grep('~^val-~',$W)as$Gg)$Yc[]=q(substr($Gg,4));$Ta[]=(in_array("null",$W)?"$A IS NULL OR ":"").($Yc?"$A IN (".implode(", ",$Yc).")":"0");}else{$bg=preg_match('~char|text|enum|set~',$k["type"]);$X=adminer()->processInput($k,(!$ue&&$bg&&preg_match('~^[^%]+$~',$W)?"%$W%":$W));$Ta[]=driver()->convertSearch($A,$Z,$k).($X=="NULL"?" IS".($ue==">="?" NOT":"")." $X":(in_array($ue,adminer()->operators())||$ue=="="?" $ue $X":($bg?" LIKE $X":" IN (".($X[0]=="'"?str_replace(",","', '",$X):$X).")")));if($v<0&&$W=="0")$Ta[]="$A IS NULL";}}}$J[]=($Ta?"(".implode(" OR ",$Ta).")":"1 = 0");}}return$J;}function
selectOrderProcess(array$l,array$u){$bd=$_GET["index_order"];if($bd!="")unset($_GET["order"][1]);if($_GET["order"])return
array(idf_escape(reset($_GET["order"])).($_GET["desc"]?" DESC":""));foreach(($bd!=""?array($u[$bd]):$u)as$ad){if($bd!=""||$ad["type"]=="INDEX"){$Hc=array_filter($ad["descs"]);$sb=false;foreach($ad["columns"]as$W){if(preg_match('~date|timestamp~',$l[$W]["type"])){$sb=true;break;}}$J=array();foreach($ad["columns"]as$v=>$W)$J[]=idf_escape($W).(($Hc?$ad["descs"][$v]:$sb)?" DESC":"");return$J;}}return
array();}function
selectLimitProcess(){return(isset($_GET["limit"])?intval($_GET["limit"]):50);}function
selectLengthProcess(){return"100";}function
selectEmailProcess(array$Z,array$rc){return
false;}function
selectQueryBuild(array$M,array$Z,array$q,array$D,$x,$E){return"";}function
messageQuery($H,$cg,$cc=false){return" <span class='time'>".@date("H:i:s")."</span><!--\n".str_replace("--","--><!-- ",$H)."\n".($cg?"($cg)\n":"")."-->";}function
editRowPrint($Q,array$l,$K,$T){}function
editFunctions(array$k){$J=array();if($k["null"]&&preg_match('~blob~',$k["type"]))$J["NULL"]=lang(37);$J[""]=($k["null"]||$k["auto_increment"]||like_bool($k)?"":"*");if(preg_match('~date|time~',$k["type"]))$J["now"]=lang(43);if(preg_match('~_(md5|sha1)$~i',$k["field"],$z))$J[]=strtolower($z[1]);return$J;}function
editInput($Q,array$k,$b,$X){if($k["type"]=="enum")return(isset($_GET["select"])?"<label><input type='radio'$b value='orig' checked><i>".lang(11)."</i></label> ":"").enum_input("radio",$b,$k,$X,lang(37));$C=$this->foreignKeyOptions($Q,$k["field"],$X);if($C!==null){if(!$k["null"]&&is_array($C))unset($C[""]);return(is_array($C)?"<select$b>".optionlist($C,(string)$X,true)."</select>":"<input value='".h($X)."'$b class='hidden'>"."<input value='".h($C)."' class='jsonly'".on('input','whisper',ME."script=complete&source=".url_escape($Q)."&field=".url_escape($k["field"])."&value=").">"."<div".on('click','whisperClick')."></div>");}if(like_bool($k))return'<input type="checkbox" value="1"'.(preg_match('~^(1|t|true|y|yes|on)$~i',$X)?' checked':'')."$b>";$Pc="";if(preg_match('~time~',$k["type"]))$Pc=lang(44);if(preg_match('~date|timestamp~',$k["type"]))$Pc=lang(45).($Pc?" [$Pc]":"");if($Pc)return"<input value='".h($X)."'$b> ($Pc)";if(preg_match('~_(md5|sha1)$~i',$k["field"]))return"<input type='password' value='".h($X)."'$b>";return'';}function
editHint($Q,array$k,$X){return(preg_match('~\s+(\[.*\])$~',($k["comment"]!=""?$k["comment"]:$k["field"]),$z)?h(" $z[1]"):'');}function
processInput(array$k,$X,$p=""){if($p=="now")return"$p()";$J=$X;if(preg_match('~date|timestamp~',$k["type"])&&preg_match('(^'.str_replace('\$1','(?P<p1>\d*)',preg_replace('~(\\\\\\$([2-6]))~','(?P<p\2>\d{1,2})',preg_quote(lang(35)))).'(.*))',$X,$z))$J=($z["p1"]!=""?$z["p1"]:($z["p2"]!=""?($z["p2"]<70?20:19).$z["p2"]:gmdate("Y")))."-$z[p3]$z[p4]-$z[p5]$z[p6]".end($z);$J=q($J);if($X==""&&like_bool($k))$J="'0'";elseif($X==""&&($k["null"]||!preg_match('~char|text~',$k["type"])))$J="NULL";elseif(preg_match('~^(md5|sha1)$~',$p))$J="$p($J)";return
unconvert_field($k,$J);}function
dumpOutput(){return
array();}function
dumpFormat(){return
array('csv'=>'CSV,','csv;'=>'CSV;','tsv'=>'TSV');}function
dumpDatabase($h){}function
dumpTable($Q,$Qf,$pd=0){echo"\xef\xbb\xbf";}function
dumpData($Q,$Qf,$H){$I=connection()->query($H,1);if($I){while($K=$I->fetch_assoc()){if($Qf=="table"){dump_csv(array_keys($K));$Qf="INSERT";}dump_csv($K);}}}function
dumpFilename($Vc){return
friendly_url($Vc);}function
dumpHeaders($Vc,$je=false){$Yb="csv";header("Content-Type: text/csv; charset=utf-8");return$Yb;}function
dumpFooter(){}function
importServerPath(){return'';}function
homepage(){return
true;}function
navigation($ge){echo"<h1>".adminer()->name()." <span class='version'>".VERSION;$ne=$_COOKIE["adminer_version"];echo" <a href='https://www.adminer.org/editor/#download'".target_blank()." id='version'>".(version_compare(VERSION,$ne)<0?h($ne):"").version_iframe()."</a>","</span></h1>\n";switch_lang();if($ge=="auth"){$lc=true;foreach((array)$_SESSION["pwds"]as$Y=>$_f){foreach($_f[""]as$U=>$F){if($F!==null){if($lc){echo"<ul id='logins'".on('mouseover','menuOver').on('mouseout','menuOut').">";$lc=false;}echo"<li><a href='".h(auth_url($Y,"",$U))."'>".($U!=""?h($U):"<i>".lang(37)."</i>")."</a>\n";}}}}else{adminer()->databasesPrint($ge);$da=adminer()->menuActions(array(),$ge);echo($da?"<p class='links'>\n".implode("\n",$da)."\n":"");if($ge!="db"&&$ge!="ns"){$R=table_status('',true);if(!$R)echo"<p class='message'>".lang(12)."\n";else
adminer()->tablesPrint($R);}}}function
syntaxHighlighting(array$Xf){}function
databasesPrint($ge){}function
menuActions(array$da,$ge){return$da;}function
tablesPrint(array$Xf){echo"<ul id='tables'".on('mouseover','menuOver').on('mouseout','menuOut').">";foreach($Xf
as$K){echo'<li>';$A=adminer()->tableName($K);if($A!="")echo"<a href='".h(ME).'select='.url_escape($K["Name"])."'".bold($_GET["select"]==$K["Name"]||$_GET["edit"]==$K["Name"],"select")." title='".lang(46)."'>$A</a>\n";}echo"</ul>\n";}function
_foreignColumn(array$rc,$d){foreach((array)$rc[$d]as$qc){if(count($qc["source"])==1){$A=adminer()->rowDescription($qc["table"]);if($A!=""){$s=idf_escape($qc["target"][0]);return
array($qc["table"],$s,$A);}}}}private
function
foreignKeyOptions($Q,$d,$X=null){if(list($Yf,$s,$A)=$this->_foreignColumn(column_foreign_keys($Q),$d)){$J=&$this->values[$Yf];if($J===null){$R=table_status1($Yf);$J=($R["Rows"]>1000?"":array(""=>"")+get_key_vals("SELECT $s, $A FROM ".table($Yf)." ORDER BY 2"));}if(!$J&&$X!==null)return
get_val("SELECT $A FROM ".table($Yf)." WHERE $s = ".q($X));return$J;}}}class
Plugins{private
static$append=array('dumpFormat'=>true,'dumpOutput'=>true,'editRowPrint'=>true,'editFunctions'=>true,'config'=>true);var$plugins;var$drivers=array();var$driverFiles=array();var$error='';private$hooks=array();function
__construct($Pe){$Eb=SqlDriver::$drivers;$Oc=" href='https://www.adminer.org/plugins/#use'".target_blank();if($Pe===null){$Pe=array();$_a="adminer-plugins";if(is_dir($_a)){foreach(glob("$_a/*.php")as$n){$gc=SqlDriver::$drivers;$this->includeOnce($n);foreach(array_diff_key(SqlDriver::$drivers,$gc)as$s=>$A)$this->driverFiles[$s]=$n;}}if(file_exists("$_a.php")){$Zc=$this->includeOnce("$_a.php");if(is_array($Zc)){foreach($Zc
as$v=>$Oe)$Pe[is_object($Oe)?get_class($Oe):$v]=$Oe;}else$this->error
.=lang(47,"<b>$_a.php</b>",$Oc)."<br>";}foreach(get_declared_classes()as$La){if(!$Pe[$La]&&(preg_match('~^Adminer\w~i',$La)||is_subclass_of($La,'Adminer\Plugin'))){$hf=new
\ReflectionClass($La);$Va=$hf->getConstructor();if($Va&&$Va->getNumberOfRequiredParameters())$this->error
.=lang(48,$Oc,"<b>$La</b>","<b>$_a.php</b>")."<br>";else$Pe[$La]=new$La;}}}$id=array_filter($Pe,function($Oe){return!is_object($Oe);});if($id){$this->error
.=lang(49,$Oc)."<br>";$Pe=array_diff_key($Pe,$id);}$this->drivers=array_diff_key(SqlDriver::$drivers,$Eb);$this->plugins=$Pe;$ea=new
Adminer;$Pe[]=$ea;$hf=new
\ReflectionObject($ea);foreach($hf->getMethods()as$fe){foreach($Pe
as$Oe){$A=$fe->getName();if(method_exists($Oe,$A))$this->hooks[$A][]=$Oe;}}}function
includeOnce($n){return
include_once"./$n";}static
function
checksum($n){$m=str_replace("\r","",file_get_contents($n));$m=preg_replace('~\n\tprotected \$translations = array\(.*?\n\t\);~s','',$m);return
dechex(crc32($m));}function
checksums(){$hc=array_values($this->driverFiles);foreach($this->plugins
as$Oe){$hf=new
\ReflectionObject($Oe);$hc[]=$hf->getFileName();}$J=array();foreach($hc
as$n)$J[basename($n,'.php')]=self::checksum($n);return$J;}static
function
officialChecksums(){return
array('adminer.js'=>'a0599090','backward-keys'=>'afce3b7d','before-unload'=>'48618ca0','config'=>'f49cc617','dark-switcher'=>'3d490dea','database-hide'=>'90c6c0dc','designs'=>'56f1c186','dump-alter'=>'d078b2db','dump-bz2'=>'f0d0e336','dump-date'=>'adc7f1c7','dump-json'=>'767dd321','dump-xml'=>'9f039895','dump-zip'=>'93817d96','edit-foreign'=>'8c874a58','edit-textarea'=>'a24c3cc','editor-setup'=>'a7dc3a37','editor-views'=>'5c12b185','enum-option'=>'a2563959','file-upload'=>'235eaa7a','foreign-system'=>'ebb4c654','frames'=>'b0e1d11a','highlight-codemirror'=>'f1a34275','highlight-monaco'=>'6a92cc58','highlight-prism'=>'4c12cf3','import-csv'=>'1d174088','login-ip'=>'b4766b62','login-otp'=>'62c517c0','login-passkey'=>'f69f2f06','login-password-less'=>'97c37010','login-reverse-proxy'=>'7bb63f11','login-servers'=>'f9ac2f28','login-ssl'=>'6ed147bc','login-table'=>'7b15c3cd','menu-links'=>'f1f86a60','remote-color'=>'33a766c2','row-numbers'=>'eec8698c','select-email'=>'ead22272','select-image'=>'f55c0231','slugify'=>'4d5adde6','sql-gemini'=>'fabc3537','sql-log'=>'b4355039','table-indexes-structure'=>'a90cc0c9','table-structure'=>'a8458e02','tables-filter'=>'f8f51976','timeout'=>'90597366','version-github'=>'497af47b','version-noverify'=>'966937e9','clickhouse'=>'5bb80dfb','elastic'=>'f7017c4','firebird'=>'5499d1a','igdb'=>'170d083','imap'=>'ac143217','mongo'=>'c3b8f5a4','redis'=>'12f1a73b','simpledb'=>'79488f8b',);}function
__call($A,array$Ge){$na=array();foreach($Ge
as$v=>$W)$na[]=&$Ge[$v];$J=null;foreach($this->hooks[$A]as$Oe){$X=call_user_func_array(array($Oe,$A),$na);if($X!==null){if(!self::$append[$A])return$X;$J=$X+(array)$J;}}return$J;}}abstract
class
Plugin{protected$translations=array();function
description(){return$this->lang('');}function
screenshot(){return"";}protected
function
lang($t,$B=null){$na=func_get_args();$na[0]=idx($this->translations[LANG],$t)?:$t;return
call_user_func_array('Adminer\lang_format',$na);}}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($N,$U,$F){mysqli_report(MYSQLI_REPORT_OFF);list($Rc,$Qe)=host_port($N);$Mf=adminer()->connectSsl();$Dg=($Mf&&($Mf['key']||$Mf['cert']||$Mf['ca']||isset($Mf['verify'])));if($Dg)$this->ssl_set($Mf['key'],$Mf['cert'],$Mf['ca'],'','');$J=@$this->real_connect(($N!=""?$Rc:ini_get("mysqli.default_host")),($N.$U!=""?$U:ini_get("mysqli.default_user")),($N.$U.$F!=""?$F:ini_get("mysqli.default_pw")),null,(is_numeric($Qe)?intval($Qe):ini_get("mysqli.default_port")),(is_numeric($Qe)?null:$Qe),($Dg?($Mf['verify']!==false?MYSQLI_CLIENT_SSL:64):0));$this->options(MYSQLI_OPT_LOCAL_INFILE,0);return($J?'':$this->error);}function
set_charset($Ga){if(parent::set_charset($Ga))return
true;parent::set_charset('utf8');return$this->query("SET NAMES $Ga");}function
next_result(){return
self::more_results()&&parent::next_result();}function
quote($P){return"'".$this->escape_string($P)."'";}function
inTransaction(){return
false;}}}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($N,$U,$F){if(ini_bool("mysql.allow_local_infile"))return
lang(50,"'mysql.allow_local_infile'","MySQLi","PDO_MySQL");$this->link=@mysql_connect(($N!=""?$N:ini_get("mysql.default_host")),($N.$U!=""?$U:ini_get("mysql.default_user")),($N.$U.$F!=""?$F: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($Ga){return
mysql_set_charset($Ga,$this->link)||mysql_set_charset('utf8',$this->link);}function
quote($P){return"'".mysql_real_escape_string($P,$this->link)."'";}function
select_db($mb){return
mysql_select_db($mb,$this->link);}function
query($H,$sg=false){$I=@($sg?mysql_unbuffered_query($H,$this->link):mysql_query($H,$this->link));$this->error="";if(!$I){$this->errno=mysql_errno($this->link);$this->error=mysql_error($this->link);return
false;}if($I===true){$this->affected_rows=mysql_affected_rows($this->link);$this->info=mysql_info($this->link);return
true;}return
new
Result($I);}}class
Result{var$num_rows;private$result;private$offset=0;function
__construct($I){$this->result=$I;$this->num_rows=mysql_num_rows($I);}function
fetch_assoc(){return
mysql_fetch_assoc($this->result);}function
fetch_row(){return
mysql_fetch_row($this->result);}function
fetch_field(){$J=mysql_fetch_field($this->result,$this->offset++);$J->orgtable=$J->table;$J->charsetnr=($J->blob?63:0);return$J;}}}elseif(extension_loaded("pdo_mysql")){class
Db
extends
PdoDb{var$extension="PDO_MySQL";function
attach($N,$U,$F){$C=array(\PDO::MYSQL_ATTR_LOCAL_INFILE=>false);if(isset($_GET["select"]))$C[\PDO::MYSQL_ATTR_MULTI_STATEMENTS]=false;$Mf=adminer()->connectSsl();if($Mf){if($Mf['key'])$C[\PDO::MYSQL_ATTR_SSL_KEY]=$Mf['key'];if($Mf['cert'])$C[\PDO::MYSQL_ATTR_SSL_CERT]=$Mf['cert'];if($Mf['ca'])$C[\PDO::MYSQL_ATTR_SSL_CA]=$Mf['ca'];if(isset($Mf['verify']))$C[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT]=$Mf['verify'];}list($Rc,$Qe)=host_port($N);return$this->dsn("mysql:charset=utf8".($Rc!=""?";host=$Rc":'').($Qe?(is_numeric($Qe)?";port=":";unix_socket=").$Qe:""),$U,$F,$C);}function
set_charset($Ga){return$this->query("SET NAMES $Ga");}function
select_db($mb){return$this->query("USE ".idf_escape($mb));}function
query($H,$sg=false){$this->pdo->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,!$sg);return
parent::query($H,$sg);}}}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");var$partitionBy=array("HASH","LINEAR HASH","KEY","LINEAR KEY","RANGE","LIST");static
function
connect($N,$U,$F){$f=parent::connect($N,$U,$F);if(is_string($f)){if(function_exists('iconv')&&!is_utf8($f)&&strlen($qf=iconv("windows-1252","utf-8//IGNORE",$f))>strlen($f))$f=$qf;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(51)=>array("tinyint"=>3,"smallint"=>5,"mediumint"=>8,"int"=>10,"bigint"=>20,"decimal"=>66,"float"=>12,"double"=>21),lang(52)=>array("date"=>10,"datetime"=>19,"timestamp"=>19,"time"=>10,"year"=>4),lang(53)=>array("char"=>255,"varchar"=>65535,"tinytext"=>255,"text"=>65535,"mediumtext"=>16777215,"longtext"=>4294967295),lang(54)=>array("enum"=>65535,"set"=>64),lang(55)=>array("bit"=>20,"binary"=>255,"varbinary"=>65535,"tinyblob"=>255,"blob"=>65535,"mediumblob"=>16777215,"longblob"=>4294967295),lang(56)=>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(53)]["json"]=4294967295;if(min_version('',10.7,$f)){$this->types[lang(53)]["uuid"]=128;$this->insertFunctions['uuid']='uuid';}if(min_version('',10.5,$f)){$this->types[lang(57)]["inet6"]=39;if(min_version('','10.10',$f))$this->types[lang(57)]["inet4"]=15;}if(min_version(9,11.7,$f))$this->types[lang(51)]["vector"]=16383;if(min_version(5.7,10.2,$f))$this->generated=array("STORED","VIRTUAL");}function
unconvertFunction(array$k){return(preg_match("~binary~",$k["type"])?"<code class='jush-sql'>UNHEX</code>":($k["type"]=="bit"?doc_link(array('sql'=>'bit-value-literals.html'),"<code>b''</code>"):($k["type"]=="vector"?"<code class='jush-sql'>".($this->conn->flavor=='maria'?"VEC_FromText":"STRING_TO_VECTOR")."</code>":(preg_match("~geometry|point|linestring|polygon~",$k["type"])?"<code class='jush-sql'>GeomFromText</code>":""))));}function
insert($Q,array$O){return($O?parent::insert($Q,$O):queries("INSERT INTO ".table($Q)." ()\nVALUES ()"));}function
insertUpdate($Q,array$L,array$We){$e=array_keys(reset($L));$Ve="INSERT INTO ".table($Q)." (".implode(", ",$e).") VALUES\n";$Ig=array();foreach($e
as$v)$Ig[$v]="$v = VALUES($v)";$Rf="\nON DUPLICATE KEY UPDATE ".implode(", ",$Ig);$Ig=array();$w=0;foreach($L
as$O){$X="(".implode(", ",$O).")";if($Ig&&(strlen($Ve)+$w+strlen($X)+strlen($Rf)>1e6)){if(!queries($Ve.implode(",\n",$Ig).$Rf))return
false;$Ig=array();$w=0;}$Ig[]=$X;$w+=strlen($X)+2;}return
queries($Ve.implode(",\n",$Ig).$Rf);}function
slowQuery($H,$dg){if(min_version('5.7.8','10.1.2')){if($this->conn->flavor=='maria')return"SET STATEMENT max_statement_time=$dg FOR $H";elseif(preg_match('~^(SELECT\b)(.+)~is',$H,$z))return"$z[1] /*+ MAX_EXECUTION_TIME(".($dg*1000).") */ $z[2]";}}function
convertSearch($t,array$W,array$k){return(preg_match('~char|text|enum|set~',$k["type"])&&!preg_match("~^utf8~",$k["collation"])&&preg_match('~[\x80-\xFF]~',$W['val'])?"CONVERT($t USING ".charset($this->conn).")":$t);}function
typeName(\stdClass$k){$rg=array("decimal","tinyint","smallint","int","float","double",7=>"timestamp","bigint","mediumint","date","time","datetime","year",15=>"varchar","bit",242=>"vector",245=>"json","decimal","enum","set","tinytext","mediumtext","longtext","text","varchar","char","geometry",);$J=idx($rg,$k->type,"");return
parent::typeName($k)?:($k->charsetnr==63?str_replace(array("text","varchar","char"),array("blob","varbinary","binary"),$J):$J);}function
quoteBinary($qf){return"X".q(bin2hex($qf));}function
warnings(){$I=$this->conn->query("SHOW WARNINGS");if($I&&$I->num_rows){ob_start();print_select_result($I);return
ob_get_clean();}}function
tableHelp($A,$pd=false){$Ld=($this->conn->flavor=='maria');if(information_schema(DB))return
strtolower(str_replace("_","-",DB)."-".($Ld?"$A-table/":str_replace("_","-",$A)."-table.html"));if(DB=="sys")return($Ld?"sys-schema/":strtolower("sys-".str_replace("_","-",preg_replace('~^x\$~','',$A)).".html"));if(DB=="mysql")return($Ld?"mysql$A-table/":"system-schema.html");}function
partitionsInfo($Q){$wc="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($Q);$I=$this->conn->query("SELECT PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_ORDINAL_POSITION $wc ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");$K=($I?$I->fetch_row():null);if(!$K)return
array();$J=array();list($J["partition_by"],$J["partition"],$J["partitions"])=$K;$Je=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $wc AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$J["partition_names"]=array_keys($Je);$J["partition_values"]=array_values($Je);return$J;}function
hasCStyleEscapes(){static$Da;if($Da===null){$Lf=get_val("SHOW VARIABLES LIKE 'sql_mode'",1,$this->conn);$Da=(strpos($Lf,'NO_BACKSLASH_ESCAPES')===false);}return$Da;}function
lineComment(){return"#|-- ";}function
engines(){$J=array();foreach(get_rows("SHOW ENGINES")as$K){if(preg_match("~YES|DEFAULT~",$K["Support"]))$J[]=$K["Engine"];}return$J;}function
indexAlgorithms(array$Vf){return(preg_match('~^(MEMORY|NDB)$~',$Vf["Engine"])?array("HASH","BTREE"):array());}}function
idf_escape($t){return"`".str_replace("`","``",$t)."`";}function
table($t){return
idf_escape($t);}function
get_databases($nc){$J=get_session("dbs");if($J===null){$H="SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME";$Nf=microtime(true);$J=($nc?slow_query($H):get_vals($H));if(microtime(true)-$Nf>0.1){restart_session();set_session("dbs",$J);stop_session();}}return$J;}function
limit($H,$Z,$x,$re=0,$yf=" "){return" $H$Z".($x?$yf."LIMIT $x".($re?" OFFSET $re":""):"");}function
limit1($Q,$H,$Z,$yf="\n"){return
limit($H,$Z,1,0,$yf);}function
db_collation($h,array$Pa){$J=null;$db=get_val("SHOW CREATE DATABASE ".idf_escape($h),1);if(preg_match('~ COLLATE ([^ ]+)~',$db,$z))$J=$z[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$db,$z))$J=$Pa[$z[1]][-1];return$J;}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$nb){$J=array();foreach($nb
as$h)$J[$h]=count(get_vals("SHOW TABLES IN ".idf_escape($h)));return$J;}function
table_status($A="",$dc=false){$J=array();foreach(get_rows($dc?"SELECT TABLE_NAME AS Name, ENGINE AS Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ".($A!=""?"AND TABLE_NAME = ".q($A):"ORDER BY Name"):"SHOW TABLE STATUS".($A!=""?" LIKE ".q(addcslashes($A,"%_\\")):""))as$K){if($K["Engine"]=="InnoDB")$K["Comment"]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\1',$K["Comment"]);if(!isset($K["Engine"]))$K["Comment"]="";if($A!="")$K["Name"]=$A;$J[$K["Name"]]=$K;}return$J;}function
is_view(array$R){return$R["Engine"]===null;}function
fk_support(array$R){return
preg_match('~InnoDB|IBMDB2I'.(min_version(5.6)?'|NDB':'').'~i',$R["Engine"]);}function
parse_type($xc){preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~',$xc,$z);return
array($z[1],$z[2],ltrim($z[3].$z[4]));}function
fields($Q){$Ld=(connection()->flavor=='maria');$J=array();foreach(get_rows("SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ".q($Q)." ORDER BY ORDINAL_POSITION")as$K){$k=$K["COLUMN_NAME"];$S=$K["COLUMN_TYPE"];$Ac=$K["GENERATION_EXPRESSION"];$bc=$K["EXTRA"];preg_match('~^(VIRTUAL|PERSISTENT|STORED)~',$bc,$_c);list($qg,$w,$yg)=parse_type($S);$i=$K["COLUMN_DEFAULT"];if($i!=""){$od=preg_match('~text|json~',$qg);if(!$Ld&&$od)$i=preg_replace("~^(_\w+)?('.*')$~",'\2',stripslashes($i));if($Ld||$od){$i=($i=="NULL"?null:preg_replace_callback("~^'(.*)'$~",function($z){return
stripslashes(str_replace("''","'",$z[1]));},$i));}if(!$Ld&&preg_match('~binary~',$qg)&&preg_match('~^0x(\w*)$~',$i,$z))$i=pack("H*",$z[1]);}$J[$k]=array("field"=>$k,"full_type"=>$S,"type"=>$qg,"length"=>$w,"unsigned"=>$yg,"default"=>($_c?($Ld?$Ac:stripslashes($Ac)):$i),"null"=>($K["IS_NULLABLE"]=="YES"),"auto_increment"=>($bc=="auto_increment"),"on_update"=>(preg_match('~\bon update (\w+)~i',$bc,$z)?$z[1]:""),"collation"=>$K["COLLATION_NAME"],"privileges"=>array_flip(explode(",","$K[PRIVILEGES],where,order")),"comment"=>$K["COLUMN_COMMENT"],"primary"=>($K["COLUMN_KEY"]=="PRI"),"generated"=>($_c[1]=="PERSISTENT"?"STORED":$_c[1]),);}return$J;}function
indexes($Q,$g=null){$J=array();foreach(get_rows("SHOW INDEX FROM ".table($Q),$g)as$K){$A=$K["Key_name"];$J[$A]["type"]=($A=="PRIMARY"?"PRIMARY":($K["Index_type"]=="FULLTEXT"?"FULLTEXT":($K["Non_unique"]?(preg_match('~^(SPATIAL|VECTOR)$~',$K["Index_type"])?$K["Index_type"]:"INDEX"):"UNIQUE")));$J[$A]["columns"][]=$K["Column_name"];$J[$A]["lengths"][]=($K["Index_type"]=="SPATIAL"?null:$K["Sub_part"]);$J[$A]["descs"][]=null;$J[$A]["algorithm"]=$K["Index_type"];}return$J;}function
foreign_keys($Q){static$Le='(?:`(?:[^`]|``)+`|"(?:[^"]|"")+")';$J=array();$eb=get_val("SHOW CREATE TABLE ".table($Q),1);if($eb){preg_match_all("~CONSTRAINT ($Le) FOREIGN KEY ?\\(((?:$Le,? ?)+)\\) REFERENCES ($Le)(?:\\.($Le))? \\(((?:$Le,? ?)+)\\)(?: ON DELETE (".driver()->onActions."))?(?: ON UPDATE (".driver()->onActions."))?~",$eb,$Nd,PREG_SET_ORDER);foreach($Nd
as$z){preg_match_all("~$Le~",$z[2],$Jf);preg_match_all("~$Le~",$z[5],$Yf);$J[idf_unescape($z[1])]=array("db"=>idf_unescape($z[4]!=""?$z[3]:$z[4]),"table"=>idf_unescape($z[4]!=""?$z[4]:$z[3]),"source"=>array_map('Adminer\idf_unescape',$Jf[0]),"target"=>array_map('Adminer\idf_unescape',$Yf[0]),"on_delete"=>($z[6]?:"RESTRICT"),"on_update"=>($z[7]?:"RESTRICT"),);}}return$J;}function
view($A){return
array("select"=>preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU','',get_val("SHOW CREATE VIEW ".table($A),1)));}function
collations(){$J=array();foreach(get_rows("SHOW COLLATION")as$K){if($K["Default"])$J[$K["Charset"]][-1]=$K["Collation"];else$J[$K["Charset"]][]=$K["Collation"];}ksort($J);foreach($J
as$v=>$W)sort($J[$v]);return$J;}function
information_schema($h,$rf=""){return($h=="information_schema")||(min_version(5.5)&&$h=="performance_schema");}function
error(){return
h(preg_replace('~^You have an error.*syntax to use~U',"Syntax error",connection()->error));}function
create_database($h,$Oa){return
queries("CREATE DATABASE ".idf_escape($h).($Oa?" COLLATE ".q($Oa):""));}function
drop_databases(array$nb){$J=apply_queries("DROP DATABASE",$nb,'Adminer\idf_escape');restart_session();set_session("dbs",null);return$J;}function
rename_database($A,$Oa){$J=false;if(create_database($A,$Oa)){$Xf=array();$Lg=array();foreach(tables_list()as$Q=>$S){if($S=='VIEW')$Lg[]=$Q;else$Xf[]=$Q;}$J=(!$Xf&&!$Lg)||move_tables($Xf,$Lg,$A);drop_databases($J?array(DB):array());}return$J;}function
auto_increment(){$ta=" PRIMARY KEY";if($_GET["create"]!=""&&$_POST["auto_increment_col"]){foreach(indexes($_GET["create"])as$ad){if(in_array($_POST["fields"][$_POST["auto_increment_col"]]["orig"],$ad["columns"],true)){$ta="";break;}if($ad["type"]=="PRIMARY")$ta=" UNIQUE";}}return" AUTO_INCREMENT$ta";}function
alter_table($Q,$A,array$l,array$pc,$Ra,$Nb,$Oa,$sa,$Ie){$ja=array();foreach($l
as$k){if($k[1]){$i=$k[1][3];if(preg_match('~ GENERATED~',$i)){$k[1][3]=(connection()->flavor=='maria'?"":$k[1][2]);$k[1][2]=$i;}$ja[]=($Q!=""?($k[0]!=""?"CHANGE ".idf_escape($k[0]):"ADD"):" ")." ".implode($k[1]).($Q!=""?$k[2]:"");}else$ja[]="DROP ".idf_escape($k[0]);}$ja=array_merge($ja,$pc);$Of=($Ra!==null?" COMMENT=".q($Ra):"").($Nb?" ENGINE=".q($Nb):"").($Oa?" COLLATE ".q($Oa):"").($sa!=""?" AUTO_INCREMENT=$sa":"");if($Ie){$Je=array();if($Ie["partition_by"]=='RANGE'||$Ie["partition_by"]=='LIST'){foreach($Ie["partition_names"]as$v=>$W){$X=$Ie["partition_values"][$v];$Je[]="\n  PARTITION ".idf_escape($W)." VALUES ".($Ie["partition_by"]=='RANGE'?"LESS THAN":"IN").($X!=""?" ($X)":" MAXVALUE");}}$Of
.="\nPARTITION BY $Ie[partition_by]($Ie[partition])";if($Je)$Of
.=" (".implode(",",$Je)."\n)";elseif($Ie["partitions"])$Of
.=" PARTITIONS ".(+$Ie["partitions"]);}elseif($Ie===null)$Of
.="\nREMOVE PARTITIONING";if($Q=="")return
queries("CREATE TABLE ".table($A)." (\n".implode(",\n",$ja)."\n)$Of");if($Q!=$A)$ja[]="RENAME TO ".table($A);if($Of)$ja[]=ltrim($Of);return($ja?queries("ALTER TABLE ".table($Q)."\n".implode(",\n",$ja)):true);}function
alter_indexes($Q,$ja){$Ea=array();foreach($ja
as$W)$Ea[]=($W[2]=="DROP"?"\nDROP INDEX ".idf_escape($W[1]):"\nADD $W[0] ".($W[0]=="PRIMARY"?"KEY ":"").($W[1]!=""?idf_escape($W[1])." ":"")."(".implode(", ",$W[2]).")");return
queries("ALTER TABLE ".table($Q).implode(",",$Ea));}function
truncate_tables(array$Xf){return
apply_queries("TRUNCATE TABLE",$Xf);}function
drop_views(array$Lg){return
queries("DROP VIEW ".implode(", ",array_map('Adminer\table',$Lg)));}function
drop_tables(array$Xf){return
queries("DROP TABLE ".implode(", ",array_map('Adminer\table',$Xf)));}function
move_tables(array$Xf,array$Lg,$Yf){$kf=array();foreach($Xf
as$Q)$kf[]=table($Q)." TO ".idf_escape($Yf).".".table($Q);if(!$kf||queries("RENAME TABLE ".implode(", ",$kf))){$qb=array();foreach($Lg
as$Q)$qb[table($Q)]=view($Q);connection()->select_db($Yf);$h=idf_escape(DB);foreach($qb
as$A=>$Kg){if(!queries("CREATE VIEW $A AS ".str_replace(" $h."," ",$Kg["select"]))||!queries("DROP VIEW $h.$A"))return
false;}return
true;}return
false;}function
copy_tables(array$Xf,array$Lg,$Yf){queries("SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'");foreach($Xf
as$Q){$A=($Yf==DB?table("copy_$Q"):idf_escape($Yf).".".table($Q));if(($_POST["overwrite"]&&!queries("\nDROP TABLE IF EXISTS $A"))||!queries("CREATE TABLE $A LIKE ".table($Q))||!queries("INSERT INTO $A SELECT * FROM ".table($Q)))return
false;foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$K){$og=$K["Trigger"];if(!queries("CREATE TRIGGER ".($Yf==DB?idf_escape("copy_$og"):idf_escape($Yf).".".idf_escape($og))." $K[Timing] $K[Event] ON $A FOR EACH ROW\n$K[Statement];"))return
false;}}foreach($Lg
as$Q){$A=($Yf==DB?table("copy_$Q"):idf_escape($Yf).".".table($Q));$Kg=view($Q);if(($_POST["overwrite"]&&!queries("DROP VIEW IF EXISTS $A"))||!queries("CREATE VIEW $A AS $Kg[select]"))return
false;}return
true;}function
trigger($A,$Q){if($A=="")return
array();$L=get_rows("SHOW TRIGGERS WHERE `Trigger` = ".q($A));return
reset($L);}function
triggers($Q){$J=array();foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")))as$K)$J[$K["Trigger"]]=array($K["Timing"],$K["Event"]);return$J;}function
trigger_options(){return
array("Timing"=>array("BEFORE","AFTER"),"Event"=>array("INSERT","UPDATE","DELETE"),"Type"=>array("FOR EACH ROW"),);}function
routine($A,$S){$L=get_rows("SELECT PARAMETER_NAME, DTD_IDENTIFIER, PARAMETER_MODE, CHARACTER_SET_NAME
FROM information_schema.PARAMETERS
WHERE SPECIFIC_SCHEMA = DATABASE() AND ROUTINE_TYPE = '$S' AND SPECIFIC_NAME = ".q($A)."
ORDER BY ORDINAL_POSITION");$l=array();foreach($L
as$K){$xc=$K["DTD_IDENTIFIER"];list($qg,$w,$yg)=parse_type($xc);$l[]=array("field"=>$K["PARAMETER_NAME"],"type"=>$qg,"length"=>$w,"unsigned"=>$yg,"null"=>true,"full_type"=>$xc,"inout"=>($S=="FUNCTION"?"":$K["PARAMETER_MODE"]),"collation"=>$K["CHARACTER_SET_NAME"],);}$J=connection()->query("SELECT
	ROUTINE_COMMENT comment,
	CONCAT(IF(IS_DETERMINISTIC = 'YES', 'DETERMINISTIC\\n', ''), IF(SQL_DATA_ACCESS != 'CONTAINS SQL', CONCAT(SQL_DATA_ACCESS, '\\n'), ''), ROUTINE_DEFINITION) definition,
	'SQL' language
FROM information_schema.ROUTINES
WHERE ROUTINE_SCHEMA = DATABASE() AND ROUTINE_TYPE = '$S' AND ROUTINE_NAME = ".q($A))->fetch_assoc();if($l&&$l[0]['field']=='')$J['returns']=array_shift($l);$J['fields']=$l;return$J;}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($A,array$K){return
idf_escape($A);}function
last_id($I){return
get_val("SELECT LAST_INSERT_ID()");}function
explain(Db$f,$H){return$f->query("EXPLAIN ".(min_version(5.7)?"":"PARTITIONS ").$H);}function
found_rows(array$R,array$Z){return($Z||$R["Engine"]!="InnoDB"?null:$R["Rows"]);}function
create_sql($Q,$sa,$Qf){$J=get_val("SHOW CREATE TABLE ".table($Q),1);if(!$sa)$J=preg_replace('~(\n\)[^\n]*?) AUTO_INCREMENT=\d+~','\1',$J);return$J;}function
truncate_sql($Q){return"TRUNCATE ".table($Q);}function
use_sql($mb,$Qf=""){$A=idf_escape($mb);$J="";if(preg_match('~CREATE~',$Qf)&&($db=get_val("SHOW CREATE DATABASE $A",1))){set_utf8mb4($db);if($Qf=="DROP+CREATE")$J="DROP DATABASE IF EXISTS $A;\n";$J
.="$db;\n";}return$J."USE $A";}function
trigger_sql($Q){$J="";foreach(get_rows("SHOW TRIGGERS LIKE ".q(addcslashes($Q,"%_\\")),null,"-- ")as$K)$J
.="\nCREATE TRIGGER ".idf_escape($K["Trigger"])." $K[Timing] $K[Event] ON ".table($K["Table"])." FOR EACH ROW\n$K[Statement];;\n";return$J;}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$k){if(preg_match("~binary~",$k["type"]))return"HEX(".idf_escape($k["field"]).")";if($k["type"]=="bit")return"BIN(".idf_escape($k["field"])." + 0)";if($k["type"]=="vector")return(connection()->flavor=='maria'?"VEC_ToText":"VECTOR_TO_STRING")."(".idf_escape($k["field"]).")";if(preg_match("~geometry|point|linestring|polygon~",$k["type"]))return(min_version(8)?"ST_":"")."AsWKT(".idf_escape($k["field"]).")";}function
unconvert_field(array$k,$J){if(preg_match("~binary~",$k["type"]))$J="UNHEX($J)";if($k["type"]=="bit")$J="CONVERT(b$J, UNSIGNED)";if($k["type"]=="vector")$J=(connection()->flavor=='maria'?"VEC_FromText":"STRING_TO_VECTOR")."($J)";if(preg_match("~geometry|point|linestring|polygon~",$k["type"])){$Ve=(min_version(8)?"ST_":"");$J=$Ve."GeomFromText($J, $Ve"."SRID($k[field]))";}return$J;}function
support($ec){return
preg_match('~^(comment|columns|copy|database|drop_col|dump|event|indexes|kill|privileges|move_col|procedure|processlist|routine|sql|status|table|trigger|variables|view'.(min_version(8)?'|descidx':'').(min_version('8.0.16','10.2.1')?'|check':'').(min_version(8,99)?'|fast_status':'').')$~',$ec);}function
kill_process($s){return
queries("KILL ".number($s));}function
connection_id(){return"SELECT CONNECTION_ID()";}function
max_connections(){return
get_val("SELECT @@max_connections");}function
types($ac=false){return
array();}function
type_values($s){return"";}function
type_definition($s){return
array("kind"=>"","definition"=>"");}function
schemas(){return
array();}function
get_schema(){return"";}function
set_schema($rf,$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.'&':'').($_GET["ext"]?"ext=".url_escape($_GET["ext"]).'&':'').(isset($_GET[DRIVER])?DRIVER."=".url_escape(SERVER).'&':'').(isset($_GET["username"])?"username=".url_escape($_GET["username"]).'&':'').(DB!=""?'db='.url_escape(DB).'&'.(isset($_GET["ns"])?"ns=".url_escape($_GET["ns"])."&":""):''));function
page_header($eg,$j="",$Ca=array(),$fg=""){page_headers();if(is_ajax()&&$j){page_messages($j);exit;}if(!ob_get_level())ob_start('ob_gzhandler',4096);$gg=$eg.($fg!=""?": $fg":"");$hg=strip_tags($gg.(SERVER!=""&&SERVER!="localhost"?h(" - ".SERVER):"")." - ".adminer()->name());echo'<!DOCTYPE html>
<html lang=\'',LANG,'\' dir=\'',lang(58),'\' class=\'',lang(58),' nojs\'>
<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>',$hg,'</title>
<link rel="stylesheet" href="',h(preg_replace("~\\?.*~","",ME)."?file=default.css&version=6.0.0"),'">
';$hb=adminer()->css();if(is_int(key($hb)))$hb=array_fill_keys($hb,'light');$Jc=in_array('light',$hb)||in_array('',$hb);$Gc=in_array('dark',$hb)||in_array('',$hb);$kb=($Jc?($Gc?null:false):($Gc?:null));$Yd=" media='(prefers-color-scheme: dark)'";if($kb!==false)echo"<link rel='stylesheet'".($kb?"":$Yd)." href='".h(preg_replace("~\\?.*~","",ME)."?file=dark.css&version=6.0.0")."'>\n";echo"<meta name='color-scheme' content='".($kb===null?"light dark":($kb?"dark":"light"))."'>\n",script_src(preg_replace("~\\?.*~","",ME)."?file=functions.js&version=6.0.0");if(adminer()->head($kb))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=6.0.0")."'>\n";foreach($hb
as$Ag=>$he){$b=($he=='dark'&&!$kb?$Yd:($he=='light'&&$Gc?" media='(prefers-color-scheme: light)'":""));echo"<link rel='stylesheet'$b href='".h($Ag)."'>\n";}echo"\n<body class='";adminer()->bodyClass();echo"'>\n",script((isset($_COOKIE["adminer_version"])||!adminer()->verifyVersion()?"":"onload = partial(verifyVersion, '".VERSION."');\n")."
const offlineMessage = '".js_escape(lang(59))."';
const thousandsSeparator = '".js_escape(lang(5))."';
const urlSeparators = '".js_escape(ini_get("arg_separator.input"))."';"),"<div id='help' class='jush-".JUSH." jsonly hidden'".on('mouseover','helpKeep').on('mouseout','helpMouseout')."></div>\n","<div id='content'>\n","<span id='menuopen' class='jsonly'".on('click','menuToggle')."><button title='".lang(60)."' class='icon icon-move' aria-expanded='false'></button></span>\n";if($Ca!==null){$y=substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1);echo'<p id="breadcrumb"><a href="'.h($y?:".").'">'.get_driver(DRIVER).'</a> » ';$y=substr(preg_replace('~\b(db|ns)=[^&]*&~','',ME),0,-1);$N=adminer()->serverName(SERVER);$N=($N!=""?$N:lang(61));if($Ca===false)echo"$N\n";else{echo"<a href='".h($y)."' accesskey='1' title='Alt+Shift+1'>$N</a> » ";if($_GET["ns"]!=""||(DB!=""&&is_array($Ca)))echo'<a href="'.h($y."&db=".url_escape(DB).(support("scheme")?"&ns=":"")).'">'.h(DB).'</a> » ';if(is_array($Ca)){if($_GET["ns"]!="")echo'<a href="'.h(substr(ME,0,-1)).'">'.h($_GET["ns"]).'</a> » ';foreach($Ca
as$v=>$W){$sb=(is_array($W)?$W[1]:h($W));if($sb!="")echo"<a href='".h(ME."$v=").url_escape(is_array($W)?$W[0]:$W)."'>$sb</a> » ";}}echo"$eg\n";}}echo"<h2>$gg</h2>\n","<div id='ajaxstatus' role='status' class='jsonly'></div>\n";restart_session();page_messages($j);$nb=&get_session("dbs");if(DB!=""&&$nb&&!in_array(DB,$nb,true))$nb=null;stop_session();define('Adminer\PAGE_HEADER',1);ob_flush();flush();}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$gb){$Lc=array();foreach($gb
as$v=>$W)$Lc[]="$v $W";header("Content-Security-Policy: ".implode("; ",$Lc));}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"=>"https://www.adminer.org","object-src"=>"'none'","base-uri"=>"'none'","form-action"=>"'self'",),);}function
design_checksums(){$Eg=array();foreach(array_keys(adminer()->css())as$Ag)$Eg[preg_replace('~\?.*~','',$Ag)]=true;$J=array();foreach(array("adminer.css","adminer-dark.css")as$n){if($Eg[$n]&&file_exists($n)){preg_match('~^/\* Adminer design ([-\w]+) \*/~',file_get_contents($n),$z);$J[$n]=array((string)$z[1],Plugins::checksum($n));}}return$J;}function
official_design_checksums(){return
array('adminer-border/adminer-dark.css'=>'b2527e3','adminer-border/adminer.css'=>'430977ad','adminer-dark/adminer-dark.css'=>'a26bcd7b','brade/adminer.css'=>'be4161f0','bueltge/adminer.css'=>'1a8f00b4','dracula/adminer-dark.css'=>'cfaf61dd','esterka/adminer.css'=>'1f805f36','flat/adminer.css'=>'49a61af9','galkaev/adminer-dark.css'=>'16c46f94','haeckel/adminer.css'=>'147a3565','hever/adminer.css'=>'78b8cd43','konya/adminer.css'=>'3cc606c5','lavender-light/adminer.css'=>'bf03f5d7','lucas-sandery/adminer.css'=>'6596353','mancave/adminer-dark.css'=>'e1ac813d','mvt/adminer.css'=>'ebd3afdc','nette/adminer.css'=>'5ab360e7','ng9/adminer.css'=>'488583cf','nicu/adminer.css'=>'ecb9bd1e','pappu687/adminer.css'=>'b58d128c','paranoiq/adminer.css'=>'64d27e5','pepa-linha/adminer.css'=>'baf25f0','pokorny/adminer.css'=>'ee9eea6d','price/adminer.css'=>'b3c939b2','rmsoft/adminer.css'=>'391d54ad','rmsoft_blue-dark/adminer.css'=>'17714d77','rmsoft_blue/adminer.css'=>'c0f192ea','win98/adminer.css'=>'e82d63c3',);}function
version_iframe(){return(isset($_COOKIE["adminer_version"])||!adminer()->verifyVersion()?"":"<noscript><iframe sandbox src='https://www.adminer.org/version/?current=".VERSION."&amp;noscript=1'></iframe></noscript>");}function
get_nonce(){static$pe;if(!$pe)$pe=base64_encode(rand_string());return$pe;}function
page_messages($j){$_g=preg_replace('~^[^?]*~','',$_SERVER["REQUEST_URI"]);$be=idx($_SESSION["messages"],$_g);if($be){echo"<div class='message'>".implode("</div>\n<div class='message'>",$be)."</div>".script("messagesPrint();");unset($_SESSION["messages"][$_g]);}if($j)echo"<div class='error'>$j</div>\n";if(adminer()->error)echo"<div class='error'>".adminer()->error."</div>\n";}function
page_footer($ge=""){echo"</div>\n\n<div id='foot' class='foot'>\n<div id='menu'>\n";adminer()->navigation($ge);echo"</div>\n";if($ge!="auth")echo'<form action="" method="post">
<p class="logout">
<span title="',lang(27),'">',h($_GET["username"])."\n",'</span>
<input type=\'submit\' name=\'logout\' value=\'',lang(62),'\' id=\'logout\'>
',input_token(),'</form>
';echo"</div>\n\n",script("setupSubmitHighlight(document);");}function
int32($_){while($_>=2147483648)$_-=4294967296;while($_<=-2147483649)$_+=4294967296;return(int)$_;}function
long2str(array$V,$Ng){$qf='';foreach($V
as$W)$qf
.=pack('V',$W);if($Ng)return
substr($qf,0,end($V));return$qf;}function
str2long($qf,$Ng){$V=array_values(unpack('V*',str_pad($qf,4*ceil(strlen($qf)/4),"\0")));if($Ng)$V[]=strlen($qf);return$V;}function
xxtea_mx($Tg,$Sg,$Sf,$sd){return
int32((($Tg>>5&0x7FFFFFF)^$Sg<<2)+(($Sg>>3&0x1FFFFFFF)^$Tg<<4))^int32(($Sf^$Sg)+($sd^$Tg));}function
encrypt_string($Pf,$v){if($Pf=="")return"";$v=array_values(unpack("V*",pack("H*",md5($v))));$V=str2long($Pf,true);$_=count($V)-1;$Tg=$V[$_];$Sg=$V[0];$af=floor(6+52/($_+1));$Sf=0;while($af-->0){$Sf=int32($Sf+0x9E3779B9);$Gb=$Sf>>2&3;for($De=0;$De<$_;$De++){$Sg=$V[$De+1];$ke=xxtea_mx($Tg,$Sg,$Sf,$v[$De&3^$Gb]);$Tg=int32($V[$De]+$ke);$V[$De]=$Tg;}$Sg=$V[0];$ke=xxtea_mx($Tg,$Sg,$Sf,$v[$De&3^$Gb]);$Tg=int32($V[$_]+$ke);$V[$_]=$Tg;}return
long2str($V,false);}function
decrypt_string($Pf,$v){if($Pf=="")return"";if(!$v)return
false;$v=array_values(unpack("V*",pack("H*",md5($v))));$V=str2long($Pf,false);$_=count($V)-1;$Tg=$V[$_];$Sg=$V[0];$af=floor(6+52/($_+1));$Sf=int32($af*0x9E3779B9);while($Sf){$Gb=$Sf>>2&3;for($De=$_;$De>0;$De--){$Tg=$V[$De-1];$ke=xxtea_mx($Tg,$Sg,$Sf,$v[$De&3^$Gb]);$Sg=int32($V[$De]-$ke);$V[$De]=$Sg;}$Tg=$V[$_];$ke=xxtea_mx($Tg,$Sg,$Sf,$v[$De&3^$Gb]);$Sg=int32($V[0]-$ke);$V[0]=$Sg;$Sf=int32($Sf-0x9E3779B9);}return
long2str($V,true);}$Ne=array();if($_COOKIE["adminer_permanent"]){foreach(explode(" ",$_COOKIE["adminer_permanent"])as$W){list($v)=explode(":",$W);$Ne[$v]=$W;}}function
add_invalid_login(){$za=get_temp_dir()."/adminer-invalid";foreach(glob("$za*")?:array($za)as$n){$o=file_open_lock($n);if($o)break;}if(!$o)$o=file_open_lock("$za-".rand_string());if(!$o)return;$jd=json_decode(stream_get_contents($o),true);$cg=time();if($jd){foreach($jd
as$kd=>$W){if($W[0]<$cg)unset($jd[$kd]);}}$id=&$jd[adminer()->bruteForceKey()];if(!$id)$id=array($cg+30*60,0);$id[1]++;file_write_unlock($o,json_encode($jd));}function
check_invalid_login(array&$Ne){$jd=array();foreach(glob(get_temp_dir()."/adminer-invalid*")as$n){$o=file_open_lock($n);if($o){$jd=json_decode(stream_get_contents($o),true);file_unlock($o);break;}}$v=adminer()->bruteForceKey();$id=idx($jd,$v,array());$oe=($id[1]>29?$id[0]-time():0);if($oe>0){$j=lang(63,ceil($oe/60));if($_SERVER["HTTP_X_FORWARDED_FOR"]!=""&&$v==$_SERVER["REMOTE_ADDR"])$j
.='<br>'.lang(64,'<b>login-reverse-proxy</b>'," href='https://www.adminer.org/plugins/?version=".VERSION."'".target_blank());auth_error($j,$Ne);}}function
password_required(){static$J;if($J===null){$J=(bool)get_session("password_required");if(!$J){$fb=adminer()->credentials();$J=!is_object(Driver::connect($fb[0],$fb[1],""));if($J)set_session("password_required",true);}}return$J;}$ra=$_POST["auth"];if($ra){session_regenerate_id();$Y=$ra["driver"];$N=$ra["server"];$U=$ra["username"];$F=(string)$ra["password"];$h=$ra["db"];set_password($Y,$N,$U,$F);$_SESSION["db"][$Y][$N][$U][$h]=true;if($ra["permanent"]){$v=implode("-",array_map('base64_encode',array($Y,$N,$U,$h)));$Ye=adminer()->permanentLogin(true);$Ne[$v]="$v:".base64_encode($Ye?encrypt_string($F,$Ye):"");cookie("adminer_permanent",implode(" ",$Ne));}if(count($_POST)==1||DRIVER!=$Y||SERVER!=$N||$_GET["username"]!==$U||DB!=$h)redirect(auth_url($Y,$N,$U,$h));}elseif($_POST["logout"]&&(!$_SESSION["token"]||verify_token())){foreach(array("pwds","db","dbs","queries")as$v)set_session($v,null);unset_permanent($Ne);redirect(substr(preg_replace('~\b(username|db|ns)=[^&]*&~','',ME),0,-1),lang(65).' '.lang(66));}elseif($Ne&&!$_SESSION["pwds"]){session_regenerate_id();$Ye=adminer()->permanentLogin();foreach($Ne
as$v=>$W){list(,$Ka)=explode(":",$W);list($Y,$N,$U,$h)=array_map('base64_decode',explode("-",$v));set_password($Y,$N,$U,decrypt_string(base64_decode($Ka),$Ye));$_SESSION["db"][$Y][$N][$U][$h]=true;}}function
unset_permanent(array&$Ne){foreach($Ne
as$v=>$W){list($Y,$N,$U,$h)=array_map('base64_decode',explode("-",$v));if($Y==DRIVER&&$N==SERVER&&$U==$_GET["username"]&&$h==DB)unset($Ne[$v]);}cookie("adminer_permanent",implode(" ",$Ne));}function
auth_error($j,array&$Ne){$Af=session_name();if(isset($_GET["username"])){header("HTTP/1.1 403 Forbidden");if(($_COOKIE[$Af]||$_GET[$Af])&&!$_SESSION["token"])$j=lang(67);else{restart_session();add_invalid_login();$F=get_password();if($F!==null){if($F===false)$j
.=($j?'<br>':'').lang(68,target_blank(),'<code>permanentLogin()</code>');set_password(DRIVER,SERVER,$_GET["username"],null);}unset_permanent($Ne);}}if(!$_COOKIE[$Af]&&$_GET[$Af]&&ini_bool("session.use_only_cookies"))$j=lang(69);$Ge=session_get_cookie_params();cookie("adminer_key",($_COOKIE["adminer_key"]?:rand_string()),$Ge["lifetime"]);if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);page_header(lang(29),$j,null);echo"<form action='' method='post'>\n","<div>";if(hidden_fields($_POST,array("auth")))echo"<p class='message'>".lang(70)."\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($Ne);page_header(lang(71),lang(72,implode(", ",Driver::$extensions)),false);page_footer("auth");exit;}$f='';if(isset($_GET["username"])&&is_string(get_password())){list($Rc,$Qe)=host_port(SERVER);if(preg_match('~[^-\w.:/]~',$Rc.$Qe))auth_error(lang(73),$Ne);if(preg_match('~^-?\d+~',$Qe,$z)&&($z[0]<1024||$z[0]>65535))auth_error(lang(74),$Ne);check_invalid_login($Ne);$fb=adminer()->credentials();$f=Driver::connect($fb[0],$fb[1],$fb[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)));}}$Jd=null;if(!is_object($f)||($Jd=adminer()->login($_GET["username"],get_password()))!==true){$j=(is_string($f)?nl_br(h($f)):(is_string($Jd)?$Jd:lang(75))).(preg_match('~^ | $~',get_password())?'<br>'.lang(76):'');auth_error($j,$Ne);}if($_POST["logout"]&&$_SESSION["token"]&&!verify_token()){page_header(lang(62),lang(77));page_footer("db");exit;}if(!$_SESSION["token"])$_SESSION["token"]=rand(1,1e6);stop_session(true);if($ra&&$_POST["token"])$_POST["token"]=get_token();$j='';if($_POST){if(!verify_token())$j=lang(77).' '.lang(78);}elseif($_SERVER["REQUEST_METHOD"]=="POST"){$j=lang(79,"<b>post_max_size</b>'");if(isset($_GET["sql"]))$j
.=' '.lang(80);}function
doc_link(array$Ke,$Zf=""){return"";}function
like_bool(array$k){return$k["type"]=="bool"||(preg_match('~bit|tinyint~',$k["type"])&&$k["length"]==1);}connection()->select_db(adminer()->database());adminer()->afterConnect();add_driver(DRIVER,lang(29));if(isset($_GET["select"])&&($_POST["edit"]||$_POST["clone"])&&!$_POST["save"])$_GET["edit"]=$_GET["select"];if(isset($_GET["download"])){$a=$_GET["download"];$l=fields($a);header("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=".friendly_url("$a-".implode("_",$_GET["where"])).".".friendly_url($_GET["field"]));$M=array(idf_escape($_GET["field"]));$I=driver()->select($a,$M,array(where($_GET,$l)),$M);$K=($I?$I->fetch_row():array());echo
driver()->value($K[0],$l[$_GET["field"]]);exit;}elseif(isset($_GET["edit"])){$a=$_GET["edit"];$l=fields($a);$Z=(isset($_GET["select"])?($_POST["check"]&&count($_POST["check"])==1?where_check($_POST["check"][0],$l):""):where($_GET,$l));$T=(isset($_GET["select"])?$_POST["edit"]:$Z);foreach($l
as$A=>$k){if((!$T&&!isset($k["privileges"]["insert"]))||adminer()->fieldName($k)=="")unset($l[$A]);}if($_POST&&!$j&&!isset($_GET["select"])){$Id=$_POST["referer"];if($_POST["insert"])$Id=($T?null:$_SERVER["REQUEST_URI"]);elseif(!preg_match('~^.+&select=.+$~',$Id))$Id=ME."select=".url_escape($a);$u=indexes($a);$ug=unique_array($_GET["where"],$u);$df="\nWHERE $Z";if(isset($_POST["delete"]))queries_redirect($Id,lang(81),driver()->delete($a,$df,$ug?0:1));else{$O=array();foreach($l
as$A=>$k){$W=process_input($k);if($W!==false&&$W!==null)$O[idf_escape($A)]=$W;}if($T){if(!$O)redirect($Id);queries_redirect($Id,lang(82),driver()->update($a,$O,$df,$ug?0:1));if(is_ajax()){page_headers();page_messages($j);exit;}}else{$I=driver()->insert($a,$O);$_d=($I?last_id($I):0);queries_redirect($Id,lang(83,($_d?" $_d":"")),$I);}}}$K=null;if($Z){$M=array();foreach($l
as$A=>$k){if(isset($k["privileges"]["select"])){$pa=($_POST["clone"]&&$k["auto_increment"]?"''":convert_field($k));$M[]=($pa?"$pa AS ":"").idf_escape($A);}}$K=array();if(!support("table"))$M=array("*");if($M){$I=driver()->select($a,$M,array($Z),$M,array(),(isset($_GET["select"])?2:1));if(!$I)$j=error();else{$K=$I->fetch_assoc();if(!$K)$K=false;}if(isset($_GET["select"])&&(!$K||$I->fetch_assoc()))$K=null;}}if(!$l&&driver()->primary!=""){if(!$Z){$I=driver()->select($a,array("*"),array(),array("*"));$K=($I?$I->fetch_assoc():false);if(!$K)$K=array(driver()->primary=>"");}if($K){foreach($K
as$v=>$W){if(!$Z)$K[$v]=null;$l[$v]=array("field"=>$v,"null"=>($v!=driver()->primary),"auto_increment"=>($v==driver()->primary));}}}if($_POST["save"]){$Se=array();foreach((array)$_POST["fields"]as$v=>$W)$Se[bracket_escape($v,true)]=$W;$K=$Se+($K?$K:array());}edit_form($a,$l,$K,$T,$j);}elseif(isset($_GET["select"])){$a=$_GET["select"];$R=table_status1($a);$u=indexes($a);$l=fields($a);$tc=column_foreign_keys($a);$se=$R["Oid"];$fa=get_settings("adminer_import");$pf=array();$e=array();$tf=array();$ze=array();$ag=null;foreach($l
as$v=>$k){$A=adminer()->fieldName($k);$le=html_entity_decode(strip_tags($A),ENT_QUOTES);if(isset($k["privileges"]["select"])&&$A!=""){$e[$v]=$le;if(is_shortable($k))$ag=adminer()->selectLengthProcess();}if(isset($k["privileges"]["where"])&&$A!="")$tf[$v]=$le;if(isset($k["privileges"]["order"])&&$A!="")$ze[$v]=$le;$pf+=$k["privileges"];}list($M,$q)=adminer()->selectColumnsProcess($e,$u);$M=array_unique($M);$q=array_unique($q);$md=count($q)<count($M);$Z=adminer()->selectSearchProcess($l,$u);$D=adminer()->selectOrderProcess($l,$u);$x=adminer()->selectLimitProcess();if($_GET["val"]&&is_ajax()){header("Content-Type: text/plain; charset=utf-8");foreach($_GET["val"]as$vg=>$K){$pa=convert_field($l[key($K)]);$M=array($pa?:idf_escape(key($K)));$Z[]=where_check(bracket_escape($vg,true),$l);$J=driver()->select($a,$M,$Z,$M);if($J)echo
first($J->fetch_row());}exit;}$We=$xg=array();foreach($u
as$ad){if($ad["type"]=="PRIMARY"){$We=array_flip($ad["columns"]);$xg=($M?$We:array());foreach($xg
as$v=>$W){if(in_array(idf_escape($v),$M))unset($xg[$v]);}break;}}if($se&&!$We){$We=$xg=array($se=>0);$u[]=array("type"=>"PRIMARY","columns"=>array($se));}if($_POST&&!$j){$Pg=$Z;if(!$_POST["all"]&&is_array($_POST["check"])){$Ja=array();foreach($_POST["check"]as$Ha)$Ja[]=where_check($Ha,$l);$Pg[]="((".implode(") OR (",$Ja)."))";}$Rg=$Pg;$Pg=($Pg?"\nWHERE ".implode(" AND ",$Pg):"");if($_POST["export"]){save_settings(array("output"=>$_POST["output"],"format"=>$_POST["format"]),"adminer_import");dump_headers($a);adminer()->dumpTable($a,"");$vf=($M?:array("*"));$Za=convert_fields($e,$l,$M);if($Za)$vf[]=substr($Za,2);$H="";if(is_array($_POST["check"])&&!$We){$wc=implode(", ",$vf)."\nFROM ".table($a);$Cc=($q&&$md?"\nGROUP BY ".implode(", ",$q):"").($D?"\nORDER BY ".implode(", ",$D):"");$tg=array();foreach($_POST["check"]as$W)$tg[]="(SELECT".limit($wc,"\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($W,$l).$Cc,1).")";$H=implode(" UNION ALL ",$tg);}adminer()->dumpData($a,"table",$H,$vf,$Rg,($md?$q:array()),$D);adminer()->dumpFooter();exit;}if(!adminer()->selectEmailProcess($Z,$tc)){if($_POST["save"]||$_POST["delete"]){$I=true;$ga=0;$O=array();if(!$_POST["delete"]){foreach($l
as$A=>$W){$t=bracket_escape($A);if(isset($_POST["fields"][$t])||$_FILES["fields-$t"]){$W=process_input($l[$A]);if($W!==null&&($_POST["clone"]||$W!==false))$O[idf_escape($A)]=($W!==false?$W:idf_escape($A));}}}if($_POST["delete"]||$O){$H=($_POST["clone"]?"INTO ".table($a)." (".implode(", ",array_keys($O)).")\nSELECT ".implode(", ",$O)."\nFROM ".table($a):"");if($_POST["all"]||($We&&is_array($_POST["check"]))||$md){$I=($_POST["delete"]?driver()->delete($a,$Pg):($_POST["clone"]?queries("INSERT $H$Pg".driver()->insertReturning($a)):driver()->update($a,$O,$Pg)));$ga=connection()->affected_rows;if(is_object($I))$ga+=$I->num_rows;}else{foreach((array)$_POST["check"]as$W){$Og="\nWHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check($W,$l);$I=($_POST["delete"]?driver()->delete($a,$Og,1):($_POST["clone"]?queries("INSERT".limit1($a,$H,$Og)):driver()->update($a,$O,$Og,1)));if(!$I)break;$ga+=connection()->affected_rows;}}}$ae=lang(84,$ga);if($_POST["clone"]&&$I&&$ga==1){$_d=last_id($I);if($_d)$ae=lang(83," $_d");}queries_redirect(remove_from_uri($_POST["all"]&&$_POST["delete"]?"page|next":""),$ae,$I);if(!$_POST["delete"]){$Se=(array)$_POST["fields"];edit_form($a,array_intersect_key($l,$Se),$Se,!$_POST["clone"],$j);page_footer();exit;}}elseif(!$_POST["import"]){$I=true;$ga=0;foreach((array)$_POST["val"]as$vg=>$K){$O=array();foreach($K
as$v=>$W){$v=bracket_escape($v,true);$O[idf_escape($v)]=(preg_match('~char|text~',$l[$v]["type"])||$W!=""?adminer()->processInput($l[$v],$W):"NULL");}$I=driver()->update($a,$O," WHERE ".($Z?implode(" AND ",$Z)." AND ":"").where_check(bracket_escape($vg,true),$l),($md||$We?0:1)," ");if(!$I)break;$ga+=connection()->affected_rows;}queries_redirect(remove_from_uri(),lang(84,$ga),$I);}elseif(!is_string($m=get_file("csv_file",true)))$j=upload_error($m);elseif(!preg_match('~~u',$m))$j=lang(85);else{save_settings(array("output"=>$fa["output"],"format"=>$_POST["separator"]),"adminer_import");$Qa=array_keys($l);$yf=($_POST["separator"]=="csv"?",":($_POST["separator"]=="tsv"?"\t":";"));$ib=parse_csv($m,$yf);$ga=count($ib);driver()->begin();$L=array();foreach($ib
as$v=>$Ig){if(!$v&&!array_diff($Ig,$Qa)){$Qa=$Ig;$ga--;}else{$O=array();foreach($Ig
as$r=>$Na)$O[idf_escape($Qa[$r])]=($Na==""&&$l[$Qa[$r]]["null"]?"NULL":q(csv_value($Na)));$L[]=$O;}}$I=(!$L||driver()->insertUpdate($a,$L,$We));if($I)driver()->commit();queries_redirect(remove_from_uri("page|next"),lang(86,$ga),$I);driver()->rollback();}}}$Wf=adminer()->tableName($R);if(is_ajax()){page_headers();ob_start();}else
page_header(lang(42).": $Wf",$j);$O=null;if(isset($pf["insert"])||!support("table")){$O="";foreach((array)$_GET["where"]as$W){$X=$W["val"];if(is_array($X))$X=(count($X)==1&&preg_match('~^val-(.*)~s',reset($X),$z)?$z[1]:"");if($W["col"]!=""&&$X!=""&&($W["op"]=="="||(!$W["op"]&&(is_array($W["val"])||!preg_match('~[_%]~',$X)))))$O
.="&set[".url_escape(bracket_escape($W["col"]))."]=".url_escape($X);}}adminer()->selectLinks($R,$O);if(!$e&&support("table"))echo"<p class='error'>".lang(87).($l?".":": ".error())."\n";else{echo"<form action='' id='form'>\n","<div hidden>";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($M,$e);adminer()->selectSearchPrint($Z,$tf,$u);adminer()->selectOrderPrint($D,$ze,$u);adminer()->selectLimitPrint($x);if($ag!==null)adminer()->selectLengthPrint($ag);adminer()->selectActionPrint($u);echo"</form>\n";foreach((array)$_GET["where"]as$W){if($W["op"]=="SQL"&&!in_array($_SERVER["HTTP_SEC_FETCH_SITE"],array("","same-origin"))){echo"<p class='error'>".lang(77).' '.lang(78)."\n";page_footer();exit;}}$E=$_GET["page"];$vc=null;if($E=="last"){$vc=get_val(count_rows($a,$Z,$md,$q));$E=floor(max(0,intval($vc)-1)/$x);}$uf=$M;$Bc=$q;if(!$uf){$uf[]="*";$Za=convert_fields($e,$l,$M);if($Za)$uf[]=substr($Za,2);}foreach($M
as$v=>$W){$k=$l[idf_unescape($W)];if($k&&($pa=convert_field($k)))$uf[$v]="$pa AS $W";}if(JUSH=="pgsql"||JUSH=="mssql"){foreach((array)$_GET["columns"]as$v=>$W){if(isset($uf[$v])&&$W["fun"])$uf[$v].=" AS ".idf_escape(apply_sql_function($W["fun"],($W["col"]!=""?$W["col"]:"*")));}}if(!$md&&$xg){foreach($xg
as$v=>$W){$uf[]=idf_escape($v);if($Bc)$Bc[]=idf_escape($v);}}$I=driver()->select($a,$uf,$Z,$Bc,$D,$x,$E,true);if(!is_object($I))echo"<p class='error'>".(error()?:lang(25))."\n";else{if(JUSH=="mssql"&&$E)$I->seek($x*$E);$Lb=array();$L=array();while($K=$I->fetch_assoc()){if($E&&JUSH=="oracle")unset($K["RNUM"]);$L[]=$K;}$Kc=($x&&(support("cursor")?$_GET["next"]!="":count($L)>=$x));if(is_ajax()&&$Kc)header("X-Next-Page: ".pagination_href($E+1));if($_GET["modify"]&&$L){$Td=max_input_vars(count($L[0])+1,20);echo($Td&&count($L)>$Td?"<p class='error'>".max_input_vars_error()."\n":"");}echo"<form action='' method='post' enctype='multipart/form-data'>\n";if($_GET["page"]!="last"&&$x&&$q&&$md&&JUSH=="sql")$vc=get_val(" SELECT FOUND_ROWS()");if(!$L)echo"<p class='message'>".lang(15)."\n";else{$ya=adminer()->backwardKeys($a,$Wf);echo"<div class='scrollable'>","<table id='table' class='nowrap checkable odds'".on('click','tableClick').on('dblclick','tableClick').on('keydown','editingKeydown').">\n","<thead><tr>".(!$q&&$M?"":"<td class='hover check'><input type='checkbox' id='all-page' class='jsonly' title='".lang(88)."'".on('click','formCheck','^check').">");$me=array();$zc=array();reset($M);$ff=1;foreach($L[0]as$v=>$W){if(!isset($xg[$v])){$W=idx($_GET["columns"],key($M))?:array();$k=$l[$M?($W?$W["col"]:current($M)):$v];$A=($k?adminer()->fieldName($k,$ff):($W["fun"]?"*":h($v)));if($A!=""){$ff++;$me[$v]=$A;$d=idf_escape($v);$Sc=remove_from_uri('(order|desc)[^=]*|page|next').'&order[0]='.url_escape($v);$sb="&desc[0]=1";$Gf=preg_replace('~ DESC( NULLS LAST)?$~','',$D[0]);$If=($Gf==$d||$Gf==$v);echo"<th id='th[".h(bracket_escape($v))."]'".($If?" aria-sort='".($Gf==$D[0]?"ascending":"descending")."'":"").">";$yc=apply_sql_function($W["fun"],$A);$Hf=isset($k["privileges"]["order"])||$yc!=$A;echo($Hf?"<a href='".h($Sc.($If&&$Gf==$D[0]?$sb:''))."'>$yc</a>":$yc);$Zd=($Hf?"<a href='".h($Sc.$sb)."' title='".lang(89)."' class='text'> ↓</a>":'');if(!$W["fun"]&&isset($k["privileges"]["where"]))$Zd
.="<a href='#fieldset-search' title='".lang(36)."' class='text jsonly'".on('click','selectSearch',$v)."> =</a>";echo($Zd?"<span class='column'>$Zd</span>":"");}$zc[$v]=$W["fun"];next($M);}}$Dd=array();if($_GET["modify"]){foreach($L
as$K){foreach($K
as$v=>$W)$Dd[$v]=max($Dd[$v],min(40,strlen(utf8_decode($W))));}}echo($ya?"<th>".lang(90):"")."<tbody>\n";if(is_ajax())ob_end_clean();foreach(adminer()->rowDescriptions($L,$tc)as$_=>$K){$ug=unique_array($L[$_],$u);if(!$ug){$ug=array();reset($M);foreach($L[$_]as$v=>$W){if(!preg_match('~^(COUNT|AVG|GROUP_CONCAT|MAX|MIN|SUM)\(~',current($M)))$ug[$v]=$W;next($M);}}$vg="";foreach($ug
as$v=>$W){$k=(array)$l[$v];$ld=is_blob($k);if((JUSH=="sql"||JUSH=="pgsql")&&($ld||preg_match('~char|text|enum|set~',$k["type"]))&&strlen($W)>64){$v=(strpos($v,'(')?$v:idf_escape($v));$v="MD5(".($ld||JUSH!='sql'||preg_match("~^utf8~",$k["collation"])?$v:"CONVERT($v USING ".charset(connection()).")").")";$W=md5($ld?(string)driver()->value($W,$k):$W);}$vg
.="&".($W!==null?"where[".url_escape(bracket_escape($v))."]=".url_escape($W===false?"f":$W):"null[]=".url_escape($v));}echo"<tr>".(!$q&&$M?"":"<td class='hover check'>".($md||information_schema(DB)?"":"<a href='".h(ME."edit=".url_escape($a).$vg)."' class='edit'>".lang(91)."</a> ").checkbox("check[]",substr($vg,1),in_array(substr($vg,1),(array)$_POST["check"])));reset($M);foreach($K
as$v=>$W){if(isset($me[$v])){$d=current($M);$k=(array)$l[$v];if($W!=""&&(!isset($Lb[$v])||$Lb[$v]!=""))$Lb[$v]=(is_mail($W)?$me[$v]:"");$y="";if(is_blob($k)&&$W!="")$y=ME.'download='.url_escape($a).'&field='.url_escape($v).$vg;if(!$y&&$W!==null){foreach((array)$tc[$v]as$sc){if(count($tc[$v])==1||end($sc["source"])==$v){$y="";foreach($sc["source"]as$r=>$Jf)$y
.=where_link($r,$sc["target"][$r],$L[$_][$Jf]);$y=($sc["db"]!=""?preg_replace('~([?&]db=)[^&]+~','\1'.url_escape($sc["db"]),ME):ME).'select='.url_escape($sc["table"]).$y;if($sc["ns"])$y=preg_replace('~([?&]ns=)[^&]+~','\1'.url_escape($sc["ns"]),$y);if(count($sc["source"])==1)break;}}}if($d=="COUNT(*)"){$y=ME."select=".url_escape($a);$r=0;foreach((array)$_GET["where"]as$V){if(!array_key_exists($V["col"],$ug))$y
.=where_link($r++,$V["col"],$V["val"],$V["op"]);}foreach($ug
as$sd=>$V)$y
.=where_link($r++,$sd,$V);}$Tc=select_value($W,$y,$k,$ag);$t=bracket_escape($vg);$s=h("val[$t][".bracket_escape($v)."]");$Ue=idx(idx($_POST["val"],$t),bracket_escape($v));$T=idx($k["privileges"],"update");$Ib=!is_array($K[$v])&&!is_blob($k)&&is_utf8($W)&&$L[$_][$v]==$W&&!$zc[$v]&&!$k["generated"]&&$T;$S=(preg_match('~^(AVG|MIN|MAX)\((.+)\)~',$d,$z)?$l[idf_unescape($z[2])]["type"]:$k["type"]);$Zf=preg_match('~text|json|lob~',$S);$nd=preg_match(number_type(),$S)||preg_match('~^(CHAR_LENGTH|ROUND|FLOOR|CEIL|TIME_TO_SEC|COUNT|SUM)\(~',$d);echo"<td id='$s'".($nd&&($W===null||is_numeric(strip_tags($Tc))||$S=="money")?" class='number'":"");if(($_GET["modify"]&&$Ib&&$W!==null)||$Ue!==null){$Ec=h($Ue!==null?$Ue:$W);echo">".($Zf?"<textarea name='$s' cols='30' rows='".(substr_count($W,"\n")+1)."'>$Ec</textarea>":"<input name='$s' value='$Ec' size='$Dd[$v]'>");}else{$Kd=strpos($Tc,"<i>…</i>");echo($T?" data-text='".($Kd?2:($Zf?1:0))."'".($Ib?"":" data-warning='".lang(92)."'"):"").">$Tc";}}next($M);}if($ya)echo"<td>";adminer()->backwardKeysPrint($ya,$L[$_]);echo"</tr>\n";}if(is_ajax())exit;echo"</table>\n","</div>\n";}if(!is_ajax()){if($L||$E||$Kc){$Wb=true;if($_GET["page"]!="last"){if(!$x||(count($L)<$x&&($L||!$E)))$vc=($E?$E*$x:0)+count($L);elseif(JUSH!="sql"||!$md){$vc=($md?false:found_rows($R,$Z));if(intval($vc)<max(1e4,2*($E+1)*$x))$vc=first(slow_query(count_rows($a,$Z,$md,$q)));elseif(JUSH=='sql'||JUSH=='pgsql')$Wb=false;}}if(!support("cursor"))$Kc=(($vc===false?count($L)+1:$vc-$E*$x)>$x);$Ee=($x&&($Kc||$E));if($Ee)echo($Kc?'<p><a href="'.h(pagination_href($E+1)).'" class="loadmore"'.on('click','selectLoadMore',lang(93)).'>'.lang(94).'</a>':''),"\n";echo"<div class='footer'><div>\n";if($Ee){$Sd=($vc===false?$E+($L?(count($L)>=$x?2:1):0):floor(($vc-1)/$x));echo"<fieldset><legend>".lang(95)."</legend>";if(!support("cursor")){echo
pagination(0,$E).($E>5?" …":"");for($r=max(1,$E-4);$r<min($Sd,$E+5);$r++)echo
pagination($r,$E);if($Sd>0)echo($E+5<$Sd?" …":""),($Wb&&$vc!==false?pagination($Sd,$E):" <a href='".h(remove_from_uri("page")."&page=last")."' title='~$Sd'>".lang(96)."</a>");}else
echo
pagination(0,$E).($E>1?" …":""),($E?pagination($E,$E):""),($Kc?pagination($E+1,$E)." …":"");echo"</fieldset>\n";}echo"<fieldset>","<legend>".lang(97)."</legend>";$wb=($Wb?"":"~ ").$vc;$vd=($vc!==false?($Wb?"":"~ ").lang(98,$vc):"");echo
checkbox("all",1,0,$vd,on('click','countRows',$wb))."\n","</fieldset>\n";if(adminer()->selectCommandPrint())echo'<fieldset',($_GET["modify"]?'':" title='".lang(99)."'"),'>
<legend><a href=\'',h($_GET["modify"]?remove_from_uri("modify"):relative_uri()."&modify=1"),'\'>',lang(100),'</a></legend><div>
<input type=\'submit\' id=\'save\' value=\'',lang(17),'\'',($_GET["modify"]?'':" class='jsonly' disabled"),'>
</div></fieldset>

<fieldset><legend>',lang(101),' <span id="selected"></span></legend><div>
<input type=\'submit\' name=\'edit\' value=\'',lang(13),'\'>
<input type=\'submit\' name=\'clone\' value=\'',lang(102),'\'>
<input type=\'submit\' name=\'delete\' value=\'',lang(21),'\'',confirm(),'>
</div></fieldset>
';$uc=adminer()->dumpFormat();foreach((array)$_GET["columns"]as$d){if($d["fun"]){unset($uc['sql']);break;}}if($uc){print_fieldset("export",lang(103)." <span id='selected2'></span>");$Ce=adminer()->dumpOutput();echo($Ce?html_select("output",$Ce,$fa["output"])." ":""),html_select("format",$uc,$fa["format"])," <input type='submit' name='export' value='".lang(103)."'>\n","</div></fieldset>\n";}adminer()->selectEmailPrint(array_filter($Lb,'strlen'),$e);echo"</div></div>\n";}if(adminer()->selectImportPrint())echo"<p>","<a href='#import' class='toggle'>".lang(104)."</a>","<span id='import'".($_POST["import"]?"":" class='hidden'").">: ",file_input(" name='csv_file'"," ".html_select("separator",array("csv"=>"CSV,","csv;"=>"CSV;","tsv"=>"TSV"),$fa["format"])." <input type='submit' name='import' value='".lang(104)."'>"),"</span>";echo
input_token(),"</form>\n",(!$q&&$M?"":script("tableCheck();"));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET["script"])){if($_GET["script"]=="kill")connection()->query("KILL ".number($_POST["kill"]));elseif(list($Q,$s,$A)=adminer()->_foreignColumn(column_foreign_keys($_GET["source"]),$_GET["field"])){$x=11;$I=connection()->query("SELECT $s, $A FROM ".table($Q)." WHERE ".(preg_match('~^[0-9]+$~',$_GET["value"])?"$s = $_GET[value] OR ":"")."$A LIKE ".q("$_GET[value]%")." ORDER BY 2 LIMIT $x");for($r=1;($K=$I->fetch_row())&&$r<$x;$r++)echo"<a href='".h(ME."edit=".url_escape($Q)."&where[".url_escape(bracket_escape(idf_unescape($s)))."]=".url_escape($K[0]))."'>".h($K[1])."</a><br>\n";if($K)echo"...\n";}exit;}else{page_header(lang(61),"",false);if(adminer()->homepage()){echo"<form action='' method='post'>\n","<p>".lang(105).": <input type='search' name='query' value='".h($_POST["query"])."'> <input type='submit' value='".lang(36)."'>\n";if($_POST["query"]!="")search_tables();echo"<div class='scrollable'>\n","<table class='nowrap checkable odds'".on('click','tableClick').on('dblclick','tableClick').">\n",'<thead><tr class="wrap">','<td class="hover"><input id="check-all" type="checkbox" class="jsonly"'.on('click','formCheck','^tables\[').'>','<th>'.lang(106),'<td>'.lang(107),"<tbody>\n";foreach(table_status()as$Q=>$K){$A=adminer()->tableName($K);if($A!="")echo'<tr><td class="hover">'.checkbox("tables[]",$Q,in_array($Q,(array)$_POST["tables"],true)),"<th><a href='".h(ME).'select='.url_escape($Q)."'>$A</a>","<td align='right'><a href='".h(ME."edit=").url_escape($Q)."'>".format_status($K,"Rows")."</a>";}echo"</table>\n","</div>\n","</form>\n",script("tableCheck();");adminer()->pluginsLinks();}}page_footer();