\n";}
+function bold($Xa,$nb=""){return($Xa?" class='active $nb'":($nb?" class='$nb'":""));}
function odd($I=' class="odd"'){static$t=0;if(!$I)$t=-1;return($t++%2?$I:'');}
function js_escape($P){return addcslashes($P,"\r\n'\\/");}
-function json_row($y,$X=null){static$jd=true;if($jd)echo"{";if($y!=""){echo($jd?"":",")."\n\t\"".addcslashes($y,"\r\n\t\"\\/").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\/").'"':'null');$jd=false;}else{echo"\n}\n";$jd=true;}}
-function ini_bool($be){$X=ini_get($be);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}
+function json_row($y,$X=null){static$kd=true;if($kd)echo"{";if($y!=""){echo($kd?"":",")."\n\t\"".addcslashes($y,"\r\n\t\"\\/").'": '.($X!==null?'"'.addcslashes($X,"\r\n\"\\/").'"':'null');$kd=false;}else{echo"\n}\n";$kd=true;}}
+function ini_bool($ce){$X=ini_get($ce);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}
function sid(){static$I;if($I===null)$I=(SID&&!($_COOKIE&&ini_bool("session.use_cookies")));return$I;}
-function set_password($tj,$M,$V,$F){$_SESSION["pwds"][$tj][$M][$V]=($_COOKIE["adminer_key"]&&is_string($F)?array(encrypt_string($F,$_COOKIE["adminer_key"])):$F);}
+function set_password($uj,$M,$V,$F){$_SESSION["pwds"][$uj][$M][$V]=($_COOKIE["adminer_key"]&&is_string($F)?array(encrypt_string($F,$_COOKIE["adminer_key"])):$F);}
function get_password(){$I=get_session("pwds");if(is_array($I))$I=($_COOKIE["adminer_key"]?decrypt_string($I[0],$_COOKIE["adminer_key"]):false);return$I;}
function q($P){global$g;return$g->quote($P);}
function get_vals($G,$d=0){global$g;$I=array();$H=$g->query($G);if(is_object($H)){while($J=$H->fetch_row())$I[]=$J[$d];}return$I;}
-function get_key_vals($G,$h=null,$Gh=true){global$g;if(!is_object($h))$h=$g;$I=array();$H=$h->query($G);if(is_object($H)){while($J=$H->fetch_row()){if($Gh)$I[$J[0]]=$J[1];else$I[]=$J[0];}}return$I;}
-function get_rows($G,$h=null,$m="
"){global$g;$Fb=(is_object($h)?$h:$g);$I=array();$H=$Fb->query($G);if(is_object($H)){while($J=$H->fetch_assoc())$I[]=$J;}elseif(!$H&&!is_object($h)&&$m&&defined("PAGE_HEADER"))echo$m.error()."\n";return$I;}
+function get_key_vals($G,$h=null,$Hh=true){global$g;if(!is_object($h))$h=$g;$I=array();$H=$h->query($G);if(is_object($H)){while($J=$H->fetch_row()){if($Hh)$I[$J[0]]=$J[1];else$I[]=$J[0];}}return$I;}
+function get_rows($G,$h=null,$m="
"){global$g;$Gb=(is_object($h)?$h:$g);$I=array();$H=$Gb->query($G);if(is_object($H)){while($J=$H->fetch_assoc())$I[]=$J;}elseif(!$H&&!is_object($h)&&$m&&defined("PAGE_HEADER"))echo$m.error()."\n";return$I;}
function unique_array($J,$w){foreach($w as$v){if(preg_match("~PRIMARY|UNIQUE~",$v["type"])){$I=array();foreach($v["columns"]as$y){if(!isset($J[$y]))continue 2;$I[$y]=$J[$y];}return$I;}}}
function escape_key($y){if(preg_match('(^([\w(]+)('.str_replace("_",".*",preg_quote(idf_escape("_"))).')([ \w)]+)$)',$y,$A))return$A[1].idf_escape(idf_unescape($A[2])).$A[3];return idf_escape($y);}
-function where($Z,$o=array()){global$g,$x;$Db=[];foreach((array)$Z["where"]as$y=>$X){$y=bracket_escape($y,1);$d=escape_key($y);if($x=="sql"&&$o[$y]["type"]=="json")$Db[]="$d = CAST(".q($X)." AS JSON)";elseif($x=="sql"&&is_numeric($X)&&strpos($X,".")!==false)$Db[]="$d LIKE ".q($X);elseif($x=="mssql")$Db[]="$d LIKE ".q(preg_replace('~[_%[]~','[\0]',$X));else$Db[]="$d = ".unconvert_field($o[$y],q($X));if($x=="sql"&&preg_match('~char|text~',$o[$y]["type"])&&preg_match("~[^ -@]~",$X))$Db[]="$d = ".q($X)." COLLATE ".charset($g)."_bin";}foreach((array)$Z["null"]as$y)$Db[]=escape_key($y)." IS NULL";return implode(" AND ",$Db);}
-function where_check($X,$o=array()){parse_str($X,$gb);remove_slashes(array(&$gb));return where($gb,$o);}
-function where_link($t,$d,$Y,$Gf="="){return"&where%5B$t%5D%5Bcol%5D=".urlencode($d)."&where%5B$t%5D%5Bop%5D=".urlencode(($Y!==null?$Gf:"IS NULL"))."&where%5B$t%5D%5Bval%5D=".urlencode($Y);}
-function convert_fields($e,$o,$L=array()){$I="";foreach($e as$y=>$X){if($L&&!in_array(idf_escape($y),$L))continue;$Ia=convert_field($o[$y]);if($Ia)$I.=", $Ia AS ".idf_escape($y);}return$I;}
-function cookie($C,$Y,$Fe=2592000){global$ba;return header("Set-Cookie: $C=".urlencode($Y).($Fe?"; expires=".gmdate("D, d M Y H:i:s",time()+$Fe)." GMT":"")."; path=".preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]).($ba?"; secure":"")."; HttpOnly; SameSite=lax",false);}
+function where($Z,$o=array()){global$g,$x;$Eb=[];foreach((array)$Z["where"]as$y=>$X){$y=bracket_escape($y,1);$d=escape_key($y);if($x=="sql"&&$o[$y]["type"]=="json")$Eb[]="$d = CAST(".q($X)." AS JSON)";elseif($x=="sql"&&is_numeric($X)&&strpos($X,".")!==false)$Eb[]="$d LIKE ".q($X);elseif($x=="mssql")$Eb[]="$d LIKE ".q(preg_replace('~[_%[]~','[\0]',$X));else$Eb[]="$d = ".unconvert_field($o[$y],q($X));if($x=="sql"&&preg_match('~char|text~',$o[$y]["type"])&&preg_match("~[^ -@]~",$X))$Eb[]="$d = ".q($X)." COLLATE ".charset($g)."_bin";}foreach((array)$Z["null"]as$y)$Eb[]=escape_key($y)." IS NULL";return implode(" AND ",$Eb);}
+function where_check($X,$o=array()){parse_str($X,$hb);remove_slashes(array(&$hb));return where($hb,$o);}
+function where_link($t,$d,$Y,$Hf="="){return"&where%5B$t%5D%5Bcol%5D=".urlencode($d)."&where%5B$t%5D%5Bop%5D=".urlencode(($Y!==null?$Hf:"IS NULL"))."&where%5B$t%5D%5Bval%5D=".urlencode($Y);}
+function convert_fields($e,$o,$L=array()){$I="";foreach($e as$y=>$X){if($L&&!in_array(idf_escape($y),$L))continue;$Ja=convert_field($o[$y]);if($Ja)$I.=", $Ja AS ".idf_escape($y);}return$I;}
+function cookie($C,$Y,$Ge=2592000){global$ba;return header("Set-Cookie: $C=".urlencode($Y).($Ge?"; expires=".gmdate("D, d M Y H:i:s",time()+$Ge)." GMT":"")."; path=".preg_replace('~\?.*~','',$_SERVER["REQUEST_URI"]).($ba?"; secure":"")."; HttpOnly; SameSite=lax",false);}
function restart_session(){if(!ini_bool("session.use_cookies"))session_start();}
-function stop_session($od=false){$kj=ini_bool("session.use_cookies");if(!$kj||$od){session_write_close();if($kj&&@ini_set("session.use_cookies",false)===false)session_start();}}
+function stop_session($pd=false){$lj=ini_bool("session.use_cookies");if(!$lj||$pd){session_write_close();if($lj&&@ini_set("session.use_cookies",false)===false)session_start();}}
function&get_session($y){return$_SESSION[$y][DRIVER][SERVER][$_GET["username"]];}
function set_session($y,$X){$_SESSION[$y][DRIVER][SERVER][$_GET["username"]]=$X;}
-function auth_url($tj,$M,$V,$k=null){global$tc;preg_match('~([^?]*)\??(.*)~',remove_from_uri(implode("|",array_keys($tc))."|username|".($k!==null?"db|":"").session_name()),$A);return"$A[1]?".(sid()?SID."&":"").urlencode($tj)."=".urlencode($M)."&"."username=".urlencode($V).($k!=""?"&db=".urlencode($k):"").($A[2]?"&$A[2]":"");}
+function auth_url($uj,$M,$V,$k=null){global$uc;preg_match('~([^?]*)\??(.*)~',remove_from_uri(implode("|",array_keys($uc))."|username|".($k!==null?"db|":"").session_name()),$A);return"$A[1]?".(sid()?SID."&":"").urlencode($uj)."=".urlencode($M)."&"."username=".urlencode($V).($k!=""?"&db=".urlencode($k):"").($A[2]?"&$A[2]":"");}
function is_ajax(){return($_SERVER["HTTP_X_REQUESTED_WITH"]=="XMLHttpRequest");}
-function redirect($Ie,$Xe=null){if($Xe!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($Ie!==null?$Ie:$_SERVER["REQUEST_URI"]))][]=$Xe;}if($Ie!==null){if($Ie=="")$Ie=".";header("Location: $Ie");exit;}}
-function query_redirect($G,$Ie,$Xe,$Rg=true,$Uc=true,$dd=false,$zi=""){global$g,$m,$b;if($Uc){$Xh=microtime(true);$dd=!$g->query($G);$zi=format_time($Xh);}$Th="";if($G)$Th=$b->messageQuery($G,$zi,$dd);if($dd){$m=error().$Th.script("messagesPrint();");return false;}if($Rg)redirect($Ie,$Xe.$Th);return true;}
-function queries($G){global$g;static$Lg=array();static$Xh;if(!$Xh)$Xh=microtime(true);if($G===null)return array(implode("\n",$Lg),format_time($Xh));$Lg[]=(preg_match('~;$~',$G)?"DELIMITER ;;\n$G;\nDELIMITER ":$G).";";return$g->query($G);}
-function apply_queries($G,$S,$Qc='table'){foreach($S as$Q){if(!queries("$G ".$Qc($Q)))return false;}return true;}
-function queries_redirect($Ie,$Xe,$Rg){list($Lg,$zi)=queries(null);return query_redirect($Lg,$Ie,$Xe,$Rg,false,!$Rg,$zi);}
-function format_time($Xh){return lang(1,max(0,microtime(true)-$Xh));}
+function redirect($Je,$Ye=null){if($Ye!==null){restart_session();$_SESSION["messages"][preg_replace('~^[^?]*~','',($Je!==null?$Je:$_SERVER["REQUEST_URI"]))][]=$Ye;}if($Je!==null){if($Je=="")$Je=".";header("Location: $Je");exit;}}
+function query_redirect($G,$Je,$Ye,$Sg=true,$Vc=true,$ed=false,$_i=""){global$g,$m,$b;if($Vc){$Yh=microtime(true);$ed=!$g->query($G);$_i=format_time($Yh);}$Uh="";if($G)$Uh=$b->messageQuery($G,$_i,$ed);if($ed){$m=error().$Uh.script("messagesPrint();");return false;}if($Sg)redirect($Je,$Ye.$Uh);return true;}
+function queries($G){global$g;static$Mg=array();static$Yh;if(!$Yh)$Yh=microtime(true);if($G===null)return array(implode("\n",$Mg),format_time($Yh));$Mg[]=(preg_match('~;$~',$G)?"DELIMITER ;;\n$G;\nDELIMITER ":$G).";";return$g->query($G);}
+function apply_queries($G,$S,$Rc='table'){foreach($S as$Q){if(!queries("$G ".$Rc($Q)))return false;}return true;}
+function queries_redirect($Je,$Ye,$Sg){list($Mg,$_i)=queries(null);return query_redirect($Mg,$Je,$Ye,$Sg,false,!$Sg,$_i);}
+function format_time($Yh){return lang(1,max(0,microtime(true)-$Yh));}
function relative_uri(){return str_replace(":","%3a",preg_replace('~^[^?]*/([^?]*)~','\1',$_SERVER["REQUEST_URI"]));}
-function remove_from_uri($dg=""){return substr(preg_replace("~(?<=[?&])($dg".(SID?"":"|".session_name()).")=[^&]*&~",'',relative_uri()."&"),0,-1);}
-function pagination($E,$Wb){return" ".($E==$Wb?$E+1:''.($E+1)."");}
-function get_file($y,$ec=false){$p=$_FILES[$y];if(!$p)return null;foreach($p as$y=>$X)$p[$y]=(array)$X;$I='';foreach($p["error"]as$y=>$m){if($m)return$m;$C=$p["name"][$y];$Gi=$p["tmp_name"][$y];$Kb=file_get_contents($ec&&preg_match('~\.gz$~',$C)?"compress.zlib://$Gi":$Gi);if($ec){$Xh=substr($Kb,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$Xh,$Xg))$Kb=iconv("utf-16","utf-8",$Kb);elseif($Xh=="\xEF\xBB\xBF")$Kb=substr($Kb,3);$I.=$Kb."\n\n";}else$I.=$Kb;}return$I;}
-function upload_error($m){$Te=($m==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($m?lang(2).($Te?" ".lang(3,$Te):""):lang(4));}
-function repeat_pattern($qg,$De){return str_repeat("$qg{0,65535}",$De/65535)."$qg{0,".($De%65535)."}";}
+function remove_from_uri($eg=""){return substr(preg_replace("~(?<=[?&])($eg".(SID?"":"|".session_name()).")=[^&]*&~",'',relative_uri()."&"),0,-1);}
+function pagination($E,$Xb){return" ".($E==$Xb?$E+1:''.($E+1)."");}
+function get_file($y,$fc=false){$p=$_FILES[$y];if(!$p)return null;foreach($p as$y=>$X)$p[$y]=(array)$X;$I='';foreach($p["error"]as$y=>$m){if($m)return$m;$C=$p["name"][$y];$Hi=$p["tmp_name"][$y];$Lb=file_get_contents($fc&&preg_match('~\.gz$~',$C)?"compress.zlib://$Hi":$Hi);if($fc){$Yh=substr($Lb,0,3);if(function_exists("iconv")&&preg_match("~^\xFE\xFF|^\xFF\xFE~",$Yh,$Yg))$Lb=iconv("utf-16","utf-8",$Lb);elseif($Yh=="\xEF\xBB\xBF")$Lb=substr($Lb,3);$I.=$Lb."\n\n";}else$I.=$Lb;}return$I;}
+function upload_error($m){$Ue=($m==UPLOAD_ERR_INI_SIZE?ini_get("upload_max_filesize"):0);return($m?lang(2).($Ue?" ".lang(3,$Ue):""):lang(4));}
+function repeat_pattern($rg,$Ee){return str_repeat("$rg{0,65535}",$Ee/65535)."$rg{0,".($Ee%65535)."}";}
function is_utf8($X){return(preg_match('~~u',$X)&&!preg_match('~[\0-\x8\xB\xC\xE-\x1F]~',$X));}
-function shorten_utf8($P,$De=80,$ei=""){if($P=="")return$ei;if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{10FFFF}]",$De).")($)?)u",$P,$A))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$De).")($)?)",$P,$A);return h($A[1]).$ei.(isset($A[2])?"":"…");}
+function shorten_utf8($P,$Ee=80,$fi=""){if($P=="")return$fi;if(!preg_match("(^(".repeat_pattern("[\t\r\n -\x{10FFFF}]",$Ee).")($)?)u",$P,$A))preg_match("(^(".repeat_pattern("[\t\r\n -~]",$Ee).")($)?)",$P,$A);return h($A[1]).$fi.(isset($A[2])?"":"…");}
function format_number($X){return strtr(number_format($X,0,".",lang(5)),preg_split('~~u',lang(6),-1,PREG_SPLIT_NO_EMPTY));}
function friendly_url($X){return preg_replace('~[^a-z0-9_]~i','-',$X);}
-function hidden_fields($Hg,$Td=array(),$_g=''){$I=false;foreach($Hg as$y=>$X){if(!in_array($y,$Td)){if(is_array($X))hidden_fields($X,array(),$y);else{$I=true;echo'';}}}return$I;}
+function hidden_fields($Ig,$Ud=array(),$Ag=''){$I=false;foreach($Ig as$y=>$X){if(!in_array($y,$Ud)){if(is_array($X))hidden_fields($X,array(),$y);else{$I=true;echo'';}}}return$I;}
function hidden_fields_get(){echo(sid()?'':''),(SERVER!==null?'':""),'';}
-function table_status1($Q,$ed=false){$I=table_status($Q,$ed);return($I?:array("Name"=>$Q));}
+function table_status1($Q,$fd=false){$I=table_status($Q,$fd);return($I?:array("Name"=>$Q));}
function column_foreign_keys($Q){global$b;$I=array();foreach($b->foreignKeys($Q)as$r){foreach($r["source"]as$X)$I[$X][]=$r;}return$I;}
-function enum_input($T,$Ja,$n,$Y,$Hc=null){global$b;$I=($Hc!==null&&!is_strict_mode()?"":"");preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$B);foreach($B[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$ib=(is_int($Y)?$Y==$t+1:(is_array($Y)?in_array($t+1,$Y):$Y===$X));$I.=" ';}return$I;}
-function input($n,$Y,$s){global$U,$b,$x;$C=h(bracket_escape($n["field"]));if(is_array($Y)&&!$s){$Ga=array($Y);if(version_compare(PHP_VERSION,5.4)>=0)$Ga[]=JSON_PRETTY_PRINT;$Y=call_user_func_array('json_encode',$Ga);$s="json";}$bh=($x=="mssql"&&$n["auto_increment"]);if($bh&&!$_POST["save"])$s=null;$xd=(isset($_GET["select"])||$bh?array("orig"=>lang(8)):array())+$b->editFunctions($n);$pc=stripos($n["default"],"GENERATED ALWAYS AS ")===0?" disabled=''":"";$Ja=" name='fields[$C]' $pc";echo"
";if($n["type"]=="enum")echo h($xd[""])." | ".$b->editInput($_GET["edit"],$n,$Ja,$Y,$s);else{$Id=(in_array($s,$xd)||isset($xd[$s]));echo(count($xd)>1?"".help_script_command("value.replace(/^SQL\$/, '')",true).script("qsl('select').onchange = functionChange;",""):h(reset($xd))).' | ';$de=$b->editInput($_GET["edit"],$n,$Ja,$Y,$s);if($de!="")echo$de;elseif(preg_match('~bool~',$n["type"]))echo""."";elseif($n["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$B);foreach($B[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$ib=(is_int($Y)?($Y>>$t)&1:in_array($X,explode(",",$Y),true));echo" ';}}elseif(preg_match('~blob|bytea|raw|file~',$n["type"])&&ini_bool("file_uploads"))echo"";elseif(($wi=preg_match('~text|lob|memo~i',$n["type"]))||preg_match("~\n~",$Y)){if($wi&&$x!="sqlite")$Ja.=" cols='50' rows='12'";else{$K=min(12,substr_count($Y,"\n")+1);$Ja.=" cols='30' rows='$K'";}echo"';}elseif($s=="json"||preg_match('~^jsonb?$~',$n["type"]))echo"';else{$Ve=(!preg_match('~int~',$n["type"])&&preg_match('~^(\d+)(,(\d+))?$~',$n["length"],$A)?((preg_match("~binary~",$n["type"])?2:1)*$A[1]+($A[3]?1:0)+($A[2]&&!$n["unsigned"]?1:0)):($U[$n["type"]]?$U[$n["type"]]+($n["unsigned"]?0:1):0));if($x=='sql'&&min_version(5.6)&&preg_match('~time~',$n["type"]))$Ve+=7;echo"20?" size='40'":"")."$Ja>";}echo$b->editHint($_GET["edit"],$n,$Y);$jd=0;foreach($xd as$y=>$X){if($y===""||!$X)break;$jd++;}echo script("mixin(qsl('td'), {onchange: partial(skipOriginal, $jd), oninput: function () { this.onchange(); }});");}}
+function enum_input($T,$Ka,$n,$Y,$Ic=null){global$b;$I=($Ic!==null&&!is_strict_mode()?"":"");preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$B);foreach($B[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$jb=(is_int($Y)?$Y==$t+1:(is_array($Y)?in_array($t+1,$Y):$Y===$X));$I.=" ';}return$I;}
+function input($n,$Y,$s){global$U,$b,$x;$C=h(bracket_escape($n["field"]));if(is_array($Y)&&!$s){$Ha=array($Y);if(version_compare(PHP_VERSION,5.4)>=0)$Ha[]=JSON_PRETTY_PRINT;$Y=call_user_func_array('json_encode',$Ha);$s="json";}$ch=($x=="mssql"&&$n["auto_increment"]);if($ch&&!$_POST["save"])$s=null;$yd=(isset($_GET["select"])||$ch?array("orig"=>lang(8)):array())+$b->editFunctions($n);$qc=stripos($n["default"],"GENERATED ALWAYS AS ")===0?" disabled=''":"";$Ka=" name='fields[$C]' $qc";echo" | ";if($n["type"]=="enum")echo h($yd[""])." | ".$b->editInput($_GET["edit"],$n,$Ka,$Y,$s);else{$Jd=(in_array($s,$yd)||isset($yd[$s]));echo(count($yd)>1?"".help_script_command("value.replace(/^SQL\$/, '')",true).script("qsl('select').onchange = functionChange;",""):h(reset($yd))).' | ';$ee=$b->editInput($_GET["edit"],$n,$Ka,$Y,$s);if($ee!="")echo$ee;elseif(preg_match('~bool~',$n["type"]))echo""."";elseif($n["type"]=="set"){preg_match_all("~'((?:[^']|'')*)'~",$n["length"],$B);foreach($B[1]as$t=>$X){$X=stripcslashes(str_replace("''","'",$X));$jb=(is_int($Y)?($Y>>$t)&1:in_array($X,explode(",",$Y),true));echo" ';}}elseif(preg_match('~blob|bytea|raw|file~',$n["type"])&&ini_bool("file_uploads"))echo"";elseif(($xi=preg_match('~text|lob|memo~i',$n["type"]))||preg_match("~\n~",$Y)){if($xi&&$x!="sqlite")$Ka.=" cols='50' rows='12'";else{$K=min(12,substr_count($Y,"\n")+1);$Ka.=" cols='30' rows='$K'";}echo"';}elseif($s=="json"||preg_match('~^jsonb?$~',$n["type"]))echo"';else{$We=(!preg_match('~int~',$n["type"])&&preg_match('~^(\d+)(,(\d+))?$~',$n["length"],$A)?((preg_match("~binary~",$n["type"])?2:1)*$A[1]+($A[3]?1:0)+($A[2]&&!$n["unsigned"]?1:0)):($U[$n["type"]]?$U[$n["type"]]+($n["unsigned"]?0:1):0));if($x=='sql'&&min_version(5.6)&&preg_match('~time~',$n["type"]))$We+=7;echo"20?" size='40'":"")."$Ka>";}echo$b->editHint($_GET["edit"],$n,$Y);$kd=0;foreach($yd as$y=>$X){if($y===""||!$X)break;$kd++;}echo script("mixin(qsl('td'), {onchange: partial(skipOriginal, $kd), oninput: function () { this.onchange(); }});");}}
function process_input($n){global$b,$l;if(stripos($n["default"],"GENERATED ALWAYS AS ")===0)return null;$u=bracket_escape($n["field"]);$s=$_POST["function"][$u];$Y=$_POST["fields"][$u];if($n["type"]=="enum"){if($Y==-1)return false;if($Y=="")return"NULL";return+$Y;}if($n["auto_increment"]&&$Y=="")return null;if($s=="orig")return(preg_match('~^CURRENT_TIMESTAMP~i',$n["on_update"])?idf_escape($n["field"]):false);if($s=="NULL")return"NULL";if($n["type"]=="set")return array_sum((array)$Y);if($s=="json"){$s="";$Y=json_decode($Y,true);if(!is_array($Y))return false;return$Y;}if(preg_match('~blob|bytea|raw|file~',$n["type"])&&ini_bool("file_uploads")){$p=get_file("fields-$u");if(!is_string($p))return false;return$l->quoteBinary($p);}return$b->processInput($n,$Y,$s);}
function fields_from_edit(){global$l;$I=array();foreach((array)$_POST["field_keys"]as$y=>$X){if($X!=""){$X=bracket_escape($X);$_POST["function"][$X]=$_POST["field_funs"][$y];$_POST["fields"][$X]=$_POST["field_vals"][$y];}}foreach((array)$_POST["fields"]as$y=>$X){$C=bracket_escape($y,1);$I[$C]=array("field"=>$C,"privileges"=>array("insert"=>1,"update"=>1,"where"=>1,"order"=>1),"null"=>1,"auto_increment"=>($y==$l->primary),);}return$I;}
-function search_tables(){global$b,$g;$_GET["where"][0]["val"]=$_POST["query"];$zh="")."\n";}
-function get_partitions_info($Q){global$g;$wd="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($Q);$H=$g->query("SELECT PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_ORDINAL_POSITION $wd ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");$ae=[];list($ae["partition_by"],$ae["partition"],$ae["partitions"])=$H->fetch_row();$lg=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $wd AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$ae["partition_names"]=array_keys($lg);$ae["partition_values"]=array_values($lg);return$ae;}
-function dump_headers($Sd,$ff=false){global$b;$I=$b->dumpHeaders($Sd,$ff);$Zf=$_POST["output"];if($Zf!="text")header("Content-Disposition: attachment; filename=".$b->dumpFilename($Sd).".$I".($Zf!="file"&&preg_match('~^[0-9a-z]+$~',$Zf)?".$Zf":""));session_write_close();ob_flush();flush();return$I;}
+function search_tables(){global$b,$g;$_GET["where"][0]["val"]=$_POST["query"];$_h="")."\n";}
+function get_partitions_info($Q){global$g;$xd="FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = ".q(DB)." AND TABLE_NAME = ".q($Q);$H=$g->query("SELECT PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_ORDINAL_POSITION $xd ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1");$be=[];list($be["partition_by"],$be["partition"],$be["partitions"])=$H->fetch_row();$mg=get_key_vals("SELECT PARTITION_NAME, PARTITION_DESCRIPTION $xd AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION");$be["partition_names"]=array_keys($mg);$be["partition_values"]=array_values($mg);return$be;}
+function dump_headers($Td,$gf=false){global$b;$I=$b->dumpHeaders($Td,$gf);$ag=$_POST["output"];if($ag!="text")header("Content-Disposition: attachment; filename=".$b->dumpFilename($Td).".$I".($ag!="file"&&preg_match('~^[0-9a-z]+$~',$ag)?".$ag":""));session_write_close();ob_flush();flush();return$I;}
function dump_csv($J){foreach($J as$y=>$X){if(preg_match('~["\n,;\t]|^0|\.\d*0$~',$X)||$X==="")$J[$y]='"'.str_replace('"','""',$X).'"';}echo implode(($_POST["format"]=="csv"?",":($_POST["format"]=="tsv"?"\t":";")),$J)."\r\n";}
function apply_sql_function($s,$d){return($s?($s=="unixepoch"?"DATETIME($d, '$s')":($s=="count distinct"?"COUNT(DISTINCT ":strtoupper("$s("))."$d)"):$d);}
function get_temp_dir(){$I=ini_get("upload_tmp_dir");if(!$I){if(function_exists('sys_get_temp_dir'))$I=sys_get_temp_dir();else{$q=@tempnam("","");if(!$q)return false;$I=dirname($q);unlink($q);}}return$I;}
function open_file_with_lock($q){$p=fopen($q,"c+");if(!$p)return null;chmod($q,0660);if(!flock($p,LOCK_EX)){fclose($p);return null;}return$p;}
-function write_and_unlock_file($p,$Yb){rewind($p);fwrite($p,$Yb);ftruncate($p,strlen($Yb));unlock_file($p);}
+function write_and_unlock_file($p,$Zb){rewind($p);fwrite($p,$Zb);ftruncate($p,strlen($Zb));unlock_file($p);}
function unlock_file($p){flock($p,LOCK_UN);fclose($p);}
function get_private_key($i){$q=get_temp_dir()."/adminer.key";if(!$i&&!file_exists($q))return false;$p=open_file_with_lock($q);if(!$p)return false;$y=stream_get_contents($p);if(!$y){$y=get_random_string();write_and_unlock_file($p,$y);}else unlock_file($p);return$y;}
-function get_random_string($Ta=false){$ab=function_exists('random_bytes')?random_bytes(32):uniqid(mt_rand(),true);return$Ta?$ab:md5($ab);}
-function select_value($X,$_,$n,$yi){global$b;if(is_array($X)){$I="";foreach($X as$oe=>$W)$I.=" | ".($X!=array_values($X)?"".h($oe):"")." | ".select_value($W,$_,$n,$yi);return"";}if(!$_)$_=$b->selectLink($X,$n);if($_===null){if(is_mail($X))$_="mailto:$X";if(is_web_url($X))$_=$X;}$I=$b->editVal($X,$n);if($I!==null){if(!is_utf8($I))$I="\0";elseif($yi!=""&&is_shortable($n))$I=shorten_utf8($I,max(0,+$yi));else$I=h($I);}return$b->selectVal($I,$_,$n,$X);}
+function get_random_string($Ua=false){$bb=function_exists('random_bytes')?random_bytes(32):uniqid(mt_rand(),true);return$Ua?$bb:md5($bb);}
+function select_value($X,$_,$n,$zi){global$b;if(is_array($X)){$I="";foreach($X as$pe=>$W)$I.=" |
".($X!=array_values($X)?"".h($pe):"")." | ".select_value($W,$_,$n,$zi);return"";}if(!$_)$_=$b->selectLink($X,$n);if($_===null){if(is_mail($X))$_="mailto:$X";if(is_web_url($X))$_=$X;}$I=$b->editVal($X,$n);if($I!==null){if(!is_utf8($I))$I="\0";elseif($zi!=""&&is_shortable($n))$I=shorten_utf8($I,max(0,+$zi));else$I=h($I);}return$b->selectVal($I,$_,$n,$X);}
function is_mail($Y){return is_string($Y)&&filter_var($Y,FILTER_VALIDATE_EMAIL);}
-function is_web_url($Y){if(!is_string($Y)||!preg_match('~^https?://~i',$Y))return false;$Bb=parse_url($Y);if(!$Bb)return false;$Jc=array_map('urlencode',explode('/',$Bb['path']));$hj=str_replace($Bb['path'],implode('/',$Jc),$Y);parse_str($Bb['query'],$eg);$hj=str_replace($Bb['query'],http_build_query($eg),$hj);return(bool)filter_var($hj,FILTER_VALIDATE_URL);}
+function is_web_url($Y){if(!is_string($Y)||!preg_match('~^https?://~i',$Y))return false;$Cb=parse_url($Y);if(!$Cb)return false;$Kc=array_map('urlencode',explode('/',$Cb['path']));$ij=str_replace($Cb['path'],implode('/',$Kc),$Y);parse_str($Cb['query'],$fg);$ij=str_replace($Cb['query'],http_build_query($fg),$ij);return(bool)filter_var($ij,FILTER_VALIDATE_URL);}
function is_shortable($n){return preg_match('~char|text|json|lob|geometry|point|linestring|polygon|string|bytea~',$n["type"]);}
-function count_rows($Q,$Z,$je,$Bd){global$x;$G=" FROM ".table($Q).($Z?" WHERE ".implode(" AND ",$Z):"");return($je&&($x=="sql"||count($Bd)==1)?"SELECT COUNT(DISTINCT ".implode(", ",$Bd).")$G":"SELECT COUNT(*)".($je?" FROM (SELECT 1$G GROUP BY ".implode(", ",$Bd).") x":$G));}
-function slow_query($G){global$b,$Ii,$l;$k=$b->database();$_i=$b->queryTimeout();$Mh=$l->slowQuery($G,$_i);if(!$Mh&&support("kill")&&is_object($h=connect())&&($k==""||$h->select_db($k))){$re=$h->result(connection_id());echo'
-';}else$h=null;ob_flush();flush();$I=@get_key_vals(($Mh?$Mh:$G),$h,false);if($h){echo script("clearTimeout(timeout);");ob_flush();flush();}return$I;}
-function get_token(){$Pg=rand(1,1e6);return($Pg^$_SESSION["token"]).":$Pg";}
-function verify_token(){list($Ii,$Pg)=explode(":",$_POST["token"]);return($Pg^$_SESSION["token"])==$Ii;}
-function lzw_decompress($Ta){$oc=256;$Ua=8;$ob=array();$dh=0;$eh=0;for($t=0;$t=$Ua){$eh-=$Ua;$ob[]=$dh>>$eh;$dh&=(1<<$eh)-1;$oc++;if($oc>>$Ua)$Ua++;}}$nc=range("\0","\xFF");$I="";foreach($ob as$t=>$nb){$Ec=$nc[$nb];if(!isset($Ec))$Ec=$Hj.$Hj[0];$I.=$Ec;if($t)$nc[]=$Hj.$Ec[0];$Hj=$Ec;}return$I;}
-function help_script($wi,$Jh=false){return script("initHelpFor(qsl('select, input'), '".h($wi)."', $Jh);","");}
-function help_script_command($wb,$Jh=false){return script("initHelpFor(qsl('select, input'), (value) => { return $wb; }, $Jh);","");}
-function edit_form($Q,$o,$J,$fj){global$b,$x,$Ii,$m;$ki=$b->tableName(table_status1($Q,true));page_header(($fj?lang(10):lang(11)),$m,array("select"=>array($Q,$ki)),$ki);$b->editRowPrint($Q,$o,$J,$fj);if($J===false){echo" ".lang(12)."\n";return;}echo' |