<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
<channel>
    <title>Untitled - Minetest pastebin - Stikked</title>
    <description>Untitled - Minetest pastebin - Stikked</description>
    <atom:link href="http://minetest.wjake.com/stikked/view/rss/fda58a94" rel="self" type="application/rss+xml" />
    <link>http://minetest.wjake.com/stikked/</link>
    <language>en</language>
<item>
    <title>Untitled</title>
    <link>http://minetest.wjake.com/stikked/view/54ff605a</link>
    <pubDate>Mon, 30 Mar 2026 14:09:26 +0200</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <guid isPermaLink="false">http://minetest.wjake.com/stikked/view/54ff605a</guid>
    <description><![CDATA[&lt;?php /** Adminer - Compact database management * @link https://www.adminer.org/ * @author Jakub Vrana, https://www.vrana.cz/ * @copyright 2007 Jakub Vrana * @license https://www.apache.org/licenses/LICENSE-2.0&#8230;]]></description>
    <content:encoded><![CDATA[<div class="text" style="font-family:monospace;"><ol><li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;?php</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">/** Adminer - Compact database management</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">* @link https://www.adminer.org/</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">* @author Jakub Vrana, https://www.vrana.cz/</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">* @copyright 2007 Jakub Vrana</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">* @license https://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">* @license https://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 (one or other)</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">* @version 5.4.1</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">*/namespace</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Adminer;const</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">VERSION=&quot;5.4.1&quot;;error_reporting(24575);set_error_handler(function($Cc,$Ec){return!!preg_match('~^Undefined (array key|offset|index)~',$Ec);},E_WARNING|E_NOTICE);$ad=!preg_match('~^(unsafe_raw)?$~',ini_get(&quot;filter.default&quot;));if($ad||ini_get(&quot;filter.default_flags&quot;)){foreach(array('_GET','_POST','_COOKIE','_SERVER')as$X){$tj=filter_input_array(constant(&quot;INPUT$X&quot;),FILTER_UNSAFE_RAW);if($tj)$$X=$tj;}}if(function_exists(&quot;mb_internal_encoding&quot;))mb_internal_encoding(&quot;8bit&quot;);function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connection($g=null){return($g?:Db::$instance);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">adminer(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Adminer::$instance;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">driver(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Driver::$instance;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connect(){$Fb=adminer()-&gt;credentials();$J=Driver::connect($Fb[0],$Fb[1],$Fb[2]);return(is_object($J)?$J:null);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_unescape($u){if(!preg_match('~^[`\'&quot;[]~',$u))return$u;$Ie=substr($u,-1);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">str_replace($Ie.$Ie,$Ie,substr($u,1,-1));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">q($Q){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connection()-&gt;quote($Q);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">escape_string($X){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">substr(q($X),1,-1);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idx($va,$x,$k=null){return($va&amp;&amp;array_key_exists($x,$va)?$va[$x]:$k);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">number($X){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_replace('~[^0-9]+~','',$X);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">number_type(){return'((?&lt;!o)int(?!er)|numeric|real|float|double|decimal|money)';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">remove_slashes(array$ah,$ad=false){if(function_exists(&quot;get_magic_quotes_gpc&quot;)&amp;&amp;get_magic_quotes_gpc()){while(list($x,$X)=each($ah)){foreach($X</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Ae=&gt;$W){unset($ah[$x][$Ae]);if(is_array($W)){$ah[$x][stripslashes($Ae)]=$W;$ah[]=&amp;$ah[$x][stripslashes($Ae)];}else$ah[$x][stripslashes($Ae)]=($ad?$W:stripslashes($W));}}}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">bracket_escape($u,$Ca=false){static$cj=array(':'=&gt;':1',']'=&gt;':2','['=&gt;':3','&quot;'=&gt;':4');return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">strtr($u,($Ca?array_flip($cj):$cj));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">min_version($Lj,$We=&quot;&quot;,$g=null){$g=connection($g);$Vh=$g-&gt;server_info;if($We&amp;&amp;preg_match('~([\d.]+)-MariaDB~',$Vh,$A)){$Vh=$A[1];$Lj=$We;}return$Lj&amp;&amp;version_compare($Vh,$Lj)&gt;=0;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">charset(Db$f){return(min_version(&quot;5.5.3&quot;,0,$f)?&quot;utf8mb4&quot;:&quot;utf8&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ini_bool($ke){$X=ini_get($ke);return(preg_match('~^(on|true|yes)$~i',$X)||(int)$X);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ini_bytes($ke){$X=ini_get($ke);switch(strtolower(substr($X,-1))){case'g':$X=(int)$X*1024;case'm':$X=(int)$X*1024;case'k':$X=(int)$X*1024;}return$X;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">sid(){static$J;if($J===null)$J=(SID&amp;&amp;!($_COOKIE&amp;&amp;ini_bool(&quot;session.use_cookies&quot;)));return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_password($Kj,$N,$V,$F){$_SESSION[&quot;pwds&quot;][$Kj][$N][$V]=($_COOKIE[&quot;adminer_key&quot;]&amp;&amp;is_string($F)?array(encrypt_string($F,$_COOKIE[&quot;adminer_key&quot;])):$F);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_password(){$J=get_session(&quot;pwds&quot;);if(is_array($J))$J=($_COOKIE[&quot;adminer_key&quot;]?decrypt_string($J[0],$_COOKIE[&quot;adminer_key&quot;]):false);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val($H,$m=0,$tb=null){$tb=connection($tb);$I=$tb-&gt;query($H);if(!is_object($I))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;$K=$I-&gt;fetch_row();return($K?$K[$m]:false);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_vals($H,$d=0){$J=array();$I=connection()-&gt;query($H);if(is_object($I)){while($K=$I-&gt;fetch_row())$J[]=$K[$d];}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_key_vals($H,$g=null,$Yh=true){$g=connection($g);$J=array();$I=$g-&gt;query($H);if(is_object($I)){while($K=$I-&gt;fetch_row()){if($Yh)$J[$K[0]]=$K[1];else$J[]=$K[0];}}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows($H,$g=null,$l=&quot;&lt;p class='error'&gt;&quot;){$tb=connection($g);$J=array();$I=$tb-&gt;query($H);if(is_object($I)){while($K=$I-&gt;fetch_assoc())$J[]=$K;}elseif(!$I&amp;&amp;!$g&amp;&amp;$l&amp;&amp;(defined('Adminer\PAGE_HEADER')||$l==&quot;-- &quot;))echo$l.error().&quot;\n&quot;;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unique_array($K,array$w){foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$v){if(preg_match(&quot;~PRIMARY|UNIQUE~&quot;,$v[&quot;type&quot;])){$J=array();foreach($v[&quot;columns&quot;]as$x){if(!isset($K[$x]))continue</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">2;$J[$x]=$K[$x];}return$J;}}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">escape_key($x){if(preg_match('(^([\w(]+)('.str_replace(&quot;_&quot;,&quot;.*&quot;,preg_quote(idf_escape(&quot;_&quot;))).')([ \w)]+)$)',$x,$A))return$A[1].idf_escape(idf_unescape($A[2])).$A[3];return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($x);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">where(array$Z,array$n=array()){$J=array();foreach((array)$Z[&quot;where&quot;]as$x=&gt;$X){$x=bracket_escape($x,true);$d=escape_key($x);$m=idx($n,$x,array());$Xc=$m[&quot;type&quot;];$J[]=$d.(JUSH==&quot;sql&quot;&amp;&amp;$Xc==&quot;json&quot;?&quot; = CAST(&quot;.q($X).&quot; AS JSON)&quot;:(JUSH==&quot;pgsql&quot;&amp;&amp;preg_match('~^json~',$Xc)?&quot;::jsonb = &quot;.q($X).&quot;::jsonb&quot;:(JUSH==&quot;sql&quot;&amp;&amp;is_numeric($X)&amp;&amp;preg_match('~\.~',$X)?&quot; LIKE &quot;.q($X):(JUSH==&quot;mssql&quot;&amp;&amp;strpos($Xc,&quot;datetime&quot;)===false?&quot; LIKE &quot;.q(preg_replace('~[_%[]~','[\0]',$X)):&quot; = &quot;.unconvert_field($m,q($X))))));if(JUSH==&quot;sql&quot;&amp;&amp;preg_match('~char|text~',$Xc)&amp;&amp;preg_match(&quot;~[^ -@]~&quot;,$X))$J[]=&quot;$d = &quot;.q($X).&quot; COLLATE &quot;.charset(connection()).&quot;_bin&quot;;}foreach((array)$Z[&quot;null&quot;]as$x)$J[]=escape_key($x).&quot; IS NULL&quot;;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">implode(&quot; AND &quot;,$J);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">where_check($X,array$n=array()){parse_str($X,$Wa);remove_slashes(array(&amp;$Wa));return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">where($Wa,$n);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">where_link($s,$d,$Y,$Xf=&quot;=&quot;){return&quot;&amp;where%5B$s%5D%5Bcol%5D=&quot;.urlencode($d).&quot;&amp;where%5B$s%5D%5Bop%5D=&quot;.urlencode(($Y!==null?$Xf:&quot;IS NULL&quot;)).&quot;&amp;where%5B$s%5D%5Bval%5D=&quot;.urlencode($Y);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convert_fields(array$e,array$n,array$M=array()){$J=&quot;&quot;;foreach($e</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if($M&amp;&amp;!in_array(idf_escape($x),$M))continue;$wa=convert_field($n[$x]);if($wa)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;, $wa AS &quot;.idf_escape($x);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">cookie($B,$Y,$Pe=2592000){header(&quot;Set-Cookie: $B=&quot;.urlencode($Y).($Pe?&quot;; expires=&quot;.gmdate(&quot;D, d M Y H:i:s&quot;,time()+$Pe).&quot; GMT&quot;:&quot;&quot;).&quot;; path=&quot;.preg_replace('~\?.*~','',$_SERVER[&quot;REQUEST_URI&quot;]).(HTTPS?&quot;; secure&quot;:&quot;&quot;).&quot;; HttpOnly; SameSite=lax&quot;,false);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_settings($Bb){parse_str($_COOKIE[$Bb],$Zh);return$Zh;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_setting($x,$Bb=&quot;adminer_settings&quot;,$k=null){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idx(get_settings($Bb),$x,$k);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">save_settings(array$Zh,$Bb=&quot;adminer_settings&quot;){$Y=http_build_query($Zh+get_settings($Bb));cookie($Bb,$Y);$_COOKIE[$Bb]=$Y;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">restart_session(){if(!ini_bool(&quot;session.use_cookies&quot;)&amp;&amp;(!function_exists('session_status')||session_status()==1))session_start();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">stop_session($id=false){$Cj=ini_bool(&quot;session.use_cookies&quot;);if(!$Cj||$id){session_write_close();if($Cj&amp;&amp;@ini_set(&quot;session.use_cookies&quot;,'0')===false)session_start();}}function&amp;get_session($x){return$_SESSION[$x][DRIVER][SERVER][$_GET[&quot;username&quot;]];}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_session($x,$X){$_SESSION[$x][DRIVER][SERVER][$_GET[&quot;username&quot;]]=$X;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">auth_url($Kj,$N,$V,$j=null){$zj=remove_from_uri(implode(&quot;|&quot;,array_keys(SqlDriver::$drivers)).&quot;|username|ext|&quot;.($j!==null?&quot;db|&quot;:&quot;&quot;).($Kj=='mssql'||$Kj=='pgsql'?&quot;&quot;:&quot;ns|&quot;).session_name());preg_match('~([^?]*)\??(.*)~',$zj,$A);return&quot;$A[1]?&quot;.(sid()?SID.&quot;&amp;&quot;:&quot;&quot;).($Kj!=&quot;server&quot;||$N!=&quot;&quot;?urlencode($Kj).&quot;=&quot;.urlencode($N).&quot;&amp;&quot;:&quot;&quot;).($_GET[&quot;ext&quot;]?&quot;ext=&quot;.urlencode($_GET[&quot;ext&quot;]).&quot;&amp;&quot;:&quot;&quot;).&quot;username=&quot;.urlencode($V).($j!=&quot;&quot;?&quot;&amp;db=&quot;.urlencode($j):&quot;&quot;).($A[2]?&quot;&amp;$A[2]&quot;:&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_ajax(){return($_SERVER[&quot;HTTP_X_REQUESTED_WITH&quot;]==&quot;XMLHttpRequest&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">redirect($Se,$lf=null){if($lf!==null){restart_session();$_SESSION[&quot;messages&quot;][preg_replace('~^[^?]*~','',($Se!==null?$Se:$_SERVER[&quot;REQUEST_URI&quot;]))][]=$lf;}if($Se!==null){if($Se==&quot;&quot;)$Se=&quot;.&quot;;header(&quot;Location: $Se&quot;);exit;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query_redirect($H,$Se,$lf,$jh=true,$Jc=true,$Sc=false,$Pi=&quot;&quot;){if($Jc){$oi=microtime(true);$Sc=!connection()-&gt;query($H);$Pi=format_time($oi);}$ii=($H?adminer()-&gt;messageQuery($H,$Pi,$Sc):&quot;&quot;);if($Sc){adminer()-&gt;error</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=error().$ii.script(&quot;messagesPrint();&quot;).&quot;&lt;br&gt;&quot;;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}if($jh)redirect($Se,$lf.$ii);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Queries{static$queries=array();static$start=0;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries($H){if(!Queries::$start)Queries::$start=microtime(true);Queries::$queries[]=(preg_match('~;$~',$H)?&quot;DELIMITER ;;\n$H;\nDELIMITER &quot;:$H).&quot;;&quot;;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connection()-&gt;query($H);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries($H,array$T,$Fc='Adminer\table'){foreach($T</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$R){if(!queries(&quot;$H &quot;.$Fc($R)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries_redirect($Se,$lf,$jh){$eh=implode(&quot;\n&quot;,Queries::$queries);$Pi=format_time(Queries::$start);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query_redirect($eh,$Se,$lf,$jh,false,!$jh,$Pi);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">format_time($oi){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">sprintf('%.3f s',max(0,microtime(true)-$oi));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">relative_uri(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">str_replace(&quot;:&quot;,&quot;%3a&quot;,preg_replace('~^[^?]*/([^?]*)~','\1',$_SERVER[&quot;REQUEST_URI&quot;]));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">remove_from_uri($ug=&quot;&quot;){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">substr(preg_replace(&quot;~(?&lt;=[?&amp;])($ug&quot;.(SID?&quot;&quot;:&quot;|&quot;.session_name()).&quot;)=[^&amp;]*&amp;~&quot;,'',relative_uri().&quot;&amp;&quot;),0,-1);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_file($x,$Rb=false,$Xb=&quot;&quot;){$Zc=$_FILES[$x];if(!$Zc)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">null;foreach($Zc</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)$Zc[$x]=(array)$X;$J='';foreach($Zc[&quot;error&quot;]as$x=&gt;$l){if($l)return$l;$B=$Zc[&quot;name&quot;][$x];$Xi=$Zc[&quot;tmp_name&quot;][$x];$yb=file_get_contents($Rb&amp;&amp;preg_match('~\.gz$~',$B)?&quot;compress.zlib://$Xi&quot;:$Xi);if($Rb){$oi=substr($yb,0,3);if(function_exists(&quot;iconv&quot;)&amp;&amp;preg_match(&quot;~^\xFE\xFF|^\xFF\xFE~&quot;,$oi))$yb=iconv(&quot;utf-16&quot;,&quot;utf-8&quot;,$yb);elseif($oi==&quot;\xEF\xBB\xBF&quot;)$yb=substr($yb,3);}$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=$yb;if($Xb)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=(preg_match(&quot;($Xb\\s*\$)&quot;,$yb)?&quot;&quot;:$Xb).&quot;\n\n&quot;;}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">upload_error($l){$gf=($l==UPLOAD_ERR_INI_SIZE?ini_get(&quot;upload_max_filesize&quot;):0);return($l?'Unable to upload a file.'.($gf?&quot; &quot;.sprintf('Maximum allowed file size is %sB.',$gf):&quot;&quot;):'File does not exist.');}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">repeat_pattern($Gg,$y){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">str_repeat(&quot;$Gg{0,65535}&quot;,$y/65535).&quot;$Gg{0,&quot;.($y%65535).&quot;}&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_utf8($X){return(preg_match('~~u',$X)&amp;&amp;!preg_match('~[\0-\x8\xB\xC\xE-\x1F]~',$X));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">format_number($X){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">strtr(number_format($X,0,&quot;.&quot;,','),preg_split('~~u','0123456789',-1,PREG_SPLIT_NO_EMPTY));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">friendly_url($X){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_replace('~\W~i','-',$X);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table_status1($R,$Tc=false){$J=table_status($R,$Tc);return($J?reset($J):array(&quot;Name&quot;=&gt;$R));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">column_foreign_keys($R){$J=array();foreach(adminer()-&gt;foreignKeys($R)as$p){foreach($p[&quot;source&quot;]as$X)$J[$X][]=$p;}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fields_from_edit(){$J=array();foreach((array)$_POST[&quot;field_keys&quot;]as$x=&gt;$X){if($X!=&quot;&quot;){$X=bracket_escape($X);$_POST[&quot;function&quot;][$X]=$_POST[&quot;field_funs&quot;][$x];$_POST[&quot;fields&quot;][$X]=$_POST[&quot;field_vals&quot;][$x];}}foreach((array)$_POST[&quot;fields&quot;]as$x=&gt;$X){$B=bracket_escape($x,true);$J[$B]=array(&quot;field&quot;=&gt;$B,&quot;privileges&quot;=&gt;array(&quot;insert&quot;=&gt;1,&quot;update&quot;=&gt;1,&quot;where&quot;=&gt;1,&quot;order&quot;=&gt;1),&quot;null&quot;=&gt;1,&quot;auto_increment&quot;=&gt;($x==driver()-&gt;primary),);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dump_headers($Qd,$wf=false){$J=adminer()-&gt;dumpHeaders($Qd,$wf);$qg=$_POST[&quot;output&quot;];if($qg!=&quot;text&quot;)header(&quot;Content-Disposition: attachment; filename=&quot;.adminer()-&gt;dumpFilename($Qd).&quot;.$J&quot;.($qg!=&quot;file&quot;&amp;&amp;preg_match('~^[0-9a-z]+$~',$qg)?&quot;.$qg&quot;:&quot;&quot;));session_write_close();if(!ob_get_level())ob_start(null,4096);ob_flush();flush();return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dump_csv(array$K){foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if(preg_match('~[&quot;\n,;\t]|^0.|\.\d*0$~',$X)||$X===&quot;&quot;)$K[$x]='&quot;'.str_replace('&quot;','&quot;&quot;',$X).'&quot;';}echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">implode(($_POST[&quot;format&quot;]==&quot;csv&quot;?&quot;,&quot;:($_POST[&quot;format&quot;]==&quot;tsv&quot;?&quot;\t&quot;:&quot;;&quot;)),$K).&quot;\r\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_sql_function($r,$d){return($r?($r==&quot;unixepoch&quot;?&quot;DATETIME($d, '$r')&quot;:($r==&quot;count distinct&quot;?&quot;COUNT(DISTINCT &quot;:strtoupper(&quot;$r(&quot;)).&quot;$d)&quot;):$d);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_temp_dir(){$J=ini_get(&quot;upload_tmp_dir&quot;);if(!$J){if(function_exists('sys_get_temp_dir'))$J=sys_get_temp_dir();else{$o=@tempnam(&quot;&quot;,&quot;&quot;);if(!$o)return'';$J=dirname($o);unlink($o);}}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">file_open_lock($o){if(is_link($o))return;$q=@fopen($o,&quot;c+&quot;);if(!$q)return;@chmod($o,0660);if(!flock($q,LOCK_EX)){fclose($q);return;}return$q;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">file_write_unlock($q,$Lb){rewind($q);fwrite($q,$Lb);ftruncate($q,strlen($Lb));file_unlock($q);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">file_unlock($q){flock($q,LOCK_UN);fclose($q);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">first(array$va){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">reset($va);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">password_file($h){$o=get_temp_dir().&quot;/adminer.key&quot;;if(!$h&amp;&amp;!file_exists($o))return'';$q=file_open_lock($o);if(!$q)return'';$J=stream_get_contents($q);if(!$J){$J=rand_string();file_write_unlock($q,$J);}else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">file_unlock($q);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rand_string(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">md5(uniqid(strval(mt_rand()),true));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_value($X,$_,array$m,$Oi){if(is_array($X)){$J=&quot;&quot;;foreach($X</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Ae=&gt;$W)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;&lt;tr&gt;&quot;.($X!=array_values($X)?&quot;&lt;th&gt;&quot;.h($Ae):&quot;&quot;).&quot;&lt;td&gt;&quot;.select_value($W,$_,$m,$Oi);return&quot;&lt;table&gt;$J&lt;/table&gt;&quot;;}if(!$_)$_=adminer()-&gt;selectLink($X,$m);if($_===null){if(is_mail($X))$_=&quot;mailto:$X&quot;;if(is_url($X))$_=$X;}$J=adminer()-&gt;editVal($X,$m);if($J!==null){if(!is_utf8($J))$J=&quot;\0&quot;;elseif($Oi!=&quot;&quot;&amp;&amp;is_shortable($m))$J=shorten_utf8($J,max(0,+$Oi));else$J=h($J);}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">adminer()-&gt;selectVal($J,$_,$m,$X);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_blob(array$m){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_match('~blob|bytea|raw|file~',$m[&quot;type&quot;])&amp;&amp;!in_array($m[&quot;type&quot;],idx(driver()-&gt;structuredTypes(),'User types',array()));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_mail($tc){$xa='[-a-z0-9!#$%&amp;\'*+/=?^_`{|}~]';$gc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';$Gg=&quot;$xa+(\\.$xa+)*@($gc?\\.)+$gc&quot;;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_string($tc)&amp;&amp;preg_match(&quot;(^$Gg(,\\s*$Gg)*\$)i&quot;,$tc);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_url($Q){$gc='[a-z0-9]([-a-z0-9]{0,61}[a-z0-9])';return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_match(&quot;~^(https?)://($gc?\\.)+$gc(:\\d+)?(/.*)?(\\?.*)?(#.*)?\$~i&quot;,$Q);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_shortable(array$m){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_match('~char|text|json|lob|geometry|point|linestring|polygon|string|bytea|hstore~',$m[&quot;type&quot;]);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">host_port($N){return(preg_match('~^(\[(.+)]|([^:]+)):([^:]+)$~',$N,$A)?array($A[2].$A[3],$A[4]):array($N,''));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">count_rows($R,array$Z,$ue,array$wd){$H=&quot; FROM &quot;.table($R).($Z?&quot; WHERE &quot;.implode(&quot; AND &quot;,$Z):&quot;&quot;);return($ue&amp;&amp;(JUSH==&quot;sql&quot;||count($wd)==1)?&quot;SELECT COUNT(DISTINCT &quot;.implode(&quot;, &quot;,$wd).&quot;)$H&quot;:&quot;SELECT COUNT(*)&quot;.($ue?&quot; FROM (SELECT 1$H GROUP BY &quot;.implode(&quot;, &quot;,$wd).&quot;) x&quot;:$H));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">slow_query($H){$j=adminer()-&gt;database();$Qi=adminer()-&gt;queryTimeout();$di=driver()-&gt;slowQuery($H,$Qi);$g=null;if(!$di&amp;&amp;support(&quot;kill&quot;)){$g=connect();if($g&amp;&amp;($j==&quot;&quot;||$g-&gt;select_db($j))){$De=get_val(connection_id(),0,$g);echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script(&quot;const timeout = setTimeout(() =&gt; { ajax('&quot;.js_escape(ME).&quot;script=kill', function () {}, 'kill=$De&amp;token=&quot;.get_token().&quot;'); }, 1000 * $Qi);&quot;);}}ob_flush();flush();$J=@get_key_vals(($di?:$H),$g,false);if($g){echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script(&quot;clearTimeout(timeout);&quot;);ob_flush();flush();}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_token(){$hh=rand(1,1e6);return($hh^$_SESSION[&quot;token&quot;]).&quot;:$hh&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">verify_token(){list($Yi,$hh)=explode(&quot;:&quot;,$_POST[&quot;token&quot;]);return($hh^$_SESSION[&quot;token&quot;])==$Yi;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">lzw_decompress($Ia){$cc=256;$Ja=8;$gb=array();$uh=0;$vh=0;for($s=0;$s&lt;strlen($Ia);$s++){$uh=($uh&lt;&lt;8)+ord($Ia[$s]);$vh+=8;if($vh&gt;=$Ja){$vh-=$Ja;$gb[]=$uh&gt;&gt;$vh;$uh&amp;=(1&lt;&lt;$vh)-1;$cc++;if($cc&gt;&gt;$Ja)$Ja++;}}$bc=range(&quot;\0&quot;,&quot;\xFF&quot;);$J=&quot;&quot;;$Uj=&quot;&quot;;foreach($gb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$s=&gt;$fb){$sc=$bc[$fb];if(!isset($sc))$sc=$Uj.$Uj[0];$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=$sc;if($s)$bc[]=$Uj.$sc[0];$Uj=$sc;}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script($fi,$bj=&quot;\n&quot;){return&quot;&lt;script&quot;.nonce().&quot;&gt;$fi&lt;/script&gt;$bj&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script_src($_j,$Ub=false){return&quot;&lt;script src='&quot;.h($_j).&quot;'&quot;.nonce().($Ub?&quot; defer&quot;:&quot;&quot;).&quot;&gt;&lt;/script&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">nonce(){return' nonce=&quot;'.get_nonce().'&quot;';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_hidden($B,$Y=&quot;&quot;){return&quot;&lt;input type='hidden' name='&quot;.h($B).&quot;' value='&quot;.h($Y).&quot;'&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_hidden(&quot;token&quot;,get_token());}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">target_blank(){return' target=&quot;_blank&quot; rel=&quot;noreferrer noopener&quot;';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h($Q){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">str_replace(&quot;\0&quot;,&quot;&amp;#0;&quot;,htmlspecialchars($Q,ENT_QUOTES,'utf-8'));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">nl_br($Q){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">str_replace(&quot;\n&quot;,&quot;&lt;br&gt;&quot;,$Q);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">checkbox($B,$Y,$Za,$Fe=&quot;&quot;,$Wf=&quot;&quot;,$db=&quot;&quot;,$He=&quot;&quot;){$J=&quot;&lt;input type='checkbox' name='$B' value='&quot;.h($Y).&quot;'&quot;.($Za?&quot; checked&quot;:&quot;&quot;).($He?&quot; aria-labelledby='$He'&quot;:&quot;&quot;).&quot;&gt;&quot;.($Wf?script(&quot;qsl('input').onclick = function () { $Wf };&quot;,&quot;&quot;):&quot;&quot;);return($Fe!=&quot;&quot;||$db?&quot;&lt;label&quot;.($db?&quot; class='$db'&quot;:&quot;&quot;).&quot;&gt;$J&quot;.h($Fe).&quot;&lt;/label&gt;&quot;:$J);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">optionlist($bg,$Nh=null,$Dj=false){$J=&quot;&quot;;foreach($bg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Ae=&gt;$W){$cg=array($Ae=&gt;$W);if(is_array($W)){$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.='&lt;optgroup label=&quot;'.h($Ae).'&quot;&gt;';$cg=$W;}foreach($cg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.='&lt;option'.($Dj||is_string($x)?' value=&quot;'.h($x).'&quot;':'').($Nh!==null&amp;&amp;($Dj||is_string($x)?(string)$x:$X)===$Nh?' selected':'').'&gt;'.h($X);if(is_array($W))$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.='&lt;/optgroup&gt;';}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">html_select($B,array$bg,$Y=&quot;&quot;,$Vf=&quot;&quot;,$He=&quot;&quot;){static$Fe=0;$Ge=&quot;&quot;;if(!$He&amp;&amp;substr($bg[&quot;&quot;],0,1)==&quot;(&quot;){$Fe++;$He=&quot;label-$Fe&quot;;$Ge=&quot;&lt;option value='' id='$He'&gt;&quot;.h($bg[&quot;&quot;]);unset($bg[&quot;&quot;]);}return&quot;&lt;select name='&quot;.h($B).&quot;'&quot;.($He?&quot; aria-labelledby='$He'&quot;:&quot;&quot;).&quot;&gt;&quot;.$Ge.optionlist($bg,$Y).&quot;&lt;/select&gt;&quot;.($Vf?script(&quot;qsl('select').onchange = function () { $Vf };&quot;,&quot;&quot;):&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">html_radios($B,array$bg,$Y=&quot;&quot;,$Rh=&quot;&quot;){$J=&quot;&quot;;foreach($bg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;&lt;label&gt;&lt;input type='radio' name='&quot;.h($B).&quot;' value='&quot;.h($x).&quot;'&quot;.($x==$Y?&quot; checked&quot;:&quot;&quot;).&quot;&gt;&quot;.h($X).&quot;&lt;/label&gt;$Rh&quot;;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">confirm($lf=&quot;&quot;,$Oh=&quot;qsl('input')&quot;){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script(&quot;$Oh.onclick = () =&gt; confirm('&quot;.($lf?js_escape($lf):'Are you sure?').&quot;');&quot;,&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">print_fieldset($t,$Ne,$Oj=false){echo&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;,&quot;&lt;a href='#fieldset-$t'&gt;$Ne&lt;/a&gt;&quot;,script(&quot;qsl('a').onclick = partial(toggle, 'fieldset-$t');&quot;,&quot;&quot;),&quot;&lt;/legend&gt;&quot;,&quot;&lt;div id='fieldset-$t'&quot;.($Oj?&quot;&quot;:&quot; class='hidden'&quot;).&quot;&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">bold($La,$db=&quot;&quot;){return($La?&quot; class='active $db'&quot;:($db?&quot; class='$db'&quot;:&quot;&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">js_escape($Q){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">addcslashes($Q,&quot;\r\n'\\/&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pagination($D,$Ib){return&quot; &quot;.($D==$Ib?$D+1:'&lt;a href=&quot;'.h(remove_from_uri(&quot;page&quot;).($D?&quot;&amp;page=$D&quot;.($_GET[&quot;next&quot;]?&quot;&amp;next=&quot;.urlencode($_GET[&quot;next&quot;]):&quot;&quot;):&quot;&quot;)).'&quot;&gt;'.($D+1).&quot;&lt;/a&gt;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hidden_fields(array$ah,array$Ud=array(),$Sg=''){$J=false;foreach($ah</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if(!in_array($x,$Ud)){if(is_array($X))hidden_fields($X,array(),$x);else{$J=true;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_hidden(($Sg?$Sg.&quot;[$x]&quot;:$x),$X);}}}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hidden_fields_get(){echo(sid()?input_hidden(session_name(),session_id()):''),(SERVER!==null?input_hidden(DRIVER,SERVER):&quot;&quot;),input_hidden(&quot;username&quot;,$_GET[&quot;username&quot;]);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">file_input($me){$bf=&quot;max_file_uploads&quot;;$cf=ini_get($bf);$xj=&quot;upload_max_filesize&quot;;$yj=ini_get($xj);return(ini_bool(&quot;file_uploads&quot;)?$me.script(&quot;qsl('input[type=\&quot;file\&quot;]').onchange = partialArg(fileChange, &quot;.&quot;$cf, '&quot;.sprintf('Increase %s.',&quot;$bf = $cf&quot;).&quot;', &quot;.ini_bytes(&quot;upload_max_filesize&quot;).&quot;, '&quot;.sprintf('Increase %s.',&quot;$xj = $yj&quot;).&quot;')&quot;):'File uploads are disabled.');}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">enum_input($U,$ya,array$m,$Y,$wc=&quot;&quot;){preg_match_all(&quot;~'((?:[^']|'')*)'~&quot;,$m[&quot;length&quot;],$Ze);$Sg=($m[&quot;type&quot;]==&quot;enum&quot;?&quot;val-&quot;:&quot;&quot;);$Za=(is_array($Y)?in_array(&quot;null&quot;,$Y):$Y===null);$J=($m[&quot;null&quot;]&amp;&amp;$Sg?&quot;&lt;label&gt;&lt;input type='$U'$ya value='null'&quot;.($Za?&quot; checked&quot;:&quot;&quot;).&quot;&gt;&lt;i&gt;$wc&lt;/i&gt;&lt;/label&gt;&quot;:&quot;&quot;);foreach($Ze[1]as$X){$X=stripcslashes(str_replace(&quot;''&quot;,&quot;'&quot;,$X));$Za=(is_array($Y)?in_array($Sg.$X,$Y):$Y===$X);$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot; &lt;label&gt;&lt;input type='$U'$ya value='&quot;.h($Sg.$X).&quot;'&quot;.($Za?' checked':'').'&gt;'.h(adminer()-&gt;editVal($X,$m)).'&lt;/label&gt;';}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input(array$m,$Y,$r,$Ba=false){$B=h(bracket_escape($m[&quot;field&quot;]));echo&quot;&lt;td class='function'&gt;&quot;;if(is_array($Y)&amp;&amp;!$r){$Y=json_encode($Y,128|64|256);$r=&quot;json&quot;;}$th=(JUSH==&quot;mssql&quot;&amp;&amp;$m[&quot;auto_increment&quot;]);if($th&amp;&amp;!$_POST[&quot;save&quot;])$r=null;$rd=(isset($_GET[&quot;select&quot;])||$th?array(&quot;orig&quot;=&gt;'original'):array())+adminer()-&gt;editFunctions($m);$Bc=driver()-&gt;enumLength($m);if($Bc){$m[&quot;type&quot;]=&quot;enum&quot;;$m[&quot;length&quot;]=$Bc;}$dc=stripos($m[&quot;default&quot;],&quot;GENERATED ALWAYS AS &quot;)===0?&quot; disabled=''&quot;:&quot;&quot;;$ya=&quot; name='fields[$B]&quot;.($m[&quot;type&quot;]==&quot;enum&quot;||$m[&quot;type&quot;]==&quot;set&quot;?&quot;[]&quot;:&quot;&quot;).&quot;'$dc&quot;.($Ba?&quot; autofocus&quot;:&quot;&quot;);echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">driver()-&gt;unconvertFunction($m).&quot; &quot;;$R=$_GET[&quot;edit&quot;]?:$_GET[&quot;select&quot;];if($m[&quot;type&quot;]==&quot;enum&quot;)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h($rd[&quot;&quot;]).&quot;&lt;td&gt;&quot;.adminer()-&gt;editInput($R,$m,$ya,$Y);else{$Dd=(in_array($r,$rd)||isset($rd[$r]));echo(count($rd)&gt;1?&quot;&lt;select name='function[$B]'$dc&gt;&quot;.optionlist($rd,$r===null||$Dd?$r:&quot;&quot;).&quot;&lt;/select&gt;&quot;.on_help(&quot;event.target.value.replace(/^SQL\$/, '')&quot;,1).script(&quot;qsl('select').onchange = functionChange;&quot;,&quot;&quot;):h(reset($rd))).'&lt;td&gt;';$me=adminer()-&gt;editInput($R,$m,$ya,$Y);if($me!=&quot;&quot;)echo$me;elseif(preg_match('~bool~',$m[&quot;type&quot;]))echo&quot;&lt;input type='hidden'$ya value='0'&gt;&quot;.&quot;&lt;input type='checkbox'&quot;.(preg_match('~^(1|t|true|y|yes|on)$~i',$Y)?&quot; checked='checked'&quot;:&quot;&quot;).&quot;$ya value='1'&gt;&quot;;elseif($m[&quot;type&quot;]==&quot;set&quot;)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">enum_input(&quot;checkbox&quot;,$ya,$m,(is_string($Y)?explode(&quot;,&quot;,$Y):$Y));elseif(is_blob($m)&amp;&amp;ini_bool(&quot;file_uploads&quot;))echo&quot;&lt;input type='file' name='fields-$B'&gt;&quot;;elseif($r==&quot;json&quot;||preg_match('~^jsonb?$~',$m[&quot;type&quot;]))echo&quot;&lt;textarea$ya cols='50' rows='12' class='jush-js'&gt;&quot;.h($Y).'&lt;/textarea&gt;';elseif(($Mi=preg_match('~text|lob|memo~i',$m[&quot;type&quot;]))||preg_match(&quot;~\n~&quot;,$Y)){if($Mi&amp;&amp;JUSH!=&quot;sqlite&quot;)$ya</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot; cols='50' rows='12'&quot;;else{$L=min(12,substr_count($Y,&quot;\n&quot;)+1);$ya</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot; cols='30' rows='$L'&quot;;}echo&quot;&lt;textarea$ya&gt;&quot;.h($Y).'&lt;/textarea&gt;';}else{$nj=driver()-&gt;types();$if=(!preg_match('~int~',$m[&quot;type&quot;])&amp;&amp;preg_match('~^(\d+)(,(\d+))?$~',$m[&quot;length&quot;],$A)?((preg_match(&quot;~binary~&quot;,$m[&quot;type&quot;])?2:1)*$A[1]+($A[3]?1:0)+($A[2]&amp;&amp;!$m[&quot;unsigned&quot;]?1:0)):($nj[$m[&quot;type&quot;]]?$nj[$m[&quot;type&quot;]]+($m[&quot;unsigned&quot;]?0:1):0));if(JUSH=='sql'&amp;&amp;min_version(5.6)&amp;&amp;preg_match('~time~',$m[&quot;type&quot;]))$if+=7;echo&quot;&lt;input&quot;.((!$Dd||$r===&quot;&quot;)&amp;&amp;preg_match('~(?&lt;!o)int(?!er)~',$m[&quot;type&quot;])&amp;&amp;!preg_match('~\[\]~',$m[&quot;full_type&quot;])?&quot; type='number'&quot;:&quot;&quot;).&quot; value='&quot;.h($Y).&quot;'&quot;.($if?&quot; data-maxlength='$if'&quot;:&quot;&quot;).(preg_match('~char|binary~',$m[&quot;type&quot;])&amp;&amp;$if&gt;20?&quot; size='&quot;.($if&gt;99?60:40).&quot;'&quot;:&quot;&quot;).&quot;$ya&gt;&quot;;}echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">adminer()-&gt;editHint($R,$m,$Y);$bd=0;foreach($rd</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if($x===&quot;&quot;||!$X)break;$bd++;}if($bd&amp;&amp;count($rd)&gt;1)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script(&quot;qsl('td').oninput = partial(skipOriginal, $bd);&quot;);}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">process_input(array$m){if(stripos($m[&quot;default&quot;],&quot;GENERATED ALWAYS AS &quot;)===0)return;$u=bracket_escape($m[&quot;field&quot;]);$r=idx($_POST[&quot;function&quot;],$u);$Y=idx($_POST[&quot;fields&quot;],$u);if($m[&quot;type&quot;]==&quot;enum&quot;||driver()-&gt;enumLength($m)){$Y=$Y[0];if($Y==&quot;orig&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;if($Y==&quot;null&quot;)return&quot;NULL&quot;;$Y=substr($Y,4);}if($m[&quot;auto_increment&quot;]&amp;&amp;$Y==&quot;&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">null;if($r==&quot;orig&quot;)return(preg_match('~^CURRENT_TIMESTAMP~i',$m[&quot;on_update&quot;])?idf_escape($m[&quot;field&quot;]):false);if($r==&quot;NULL&quot;)return&quot;NULL&quot;;if($m[&quot;type&quot;]==&quot;set&quot;)$Y=implode(&quot;,&quot;,(array)$Y);if($r==&quot;json&quot;){$r=&quot;&quot;;$Y=json_decode($Y,true);if(!is_array($Y))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;return$Y;}if(is_blob($m)&amp;&amp;ini_bool(&quot;file_uploads&quot;)){$Zc=get_file(&quot;fields-$u&quot;);if(!is_string($Zc))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">driver()-&gt;quoteBinary($Zc);}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">adminer()-&gt;processInput($m,$Y,$r);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">search_tables(){$_GET[&quot;where&quot;][0][&quot;val&quot;]=$_POST[&quot;query&quot;];$Qh=&quot;&lt;ul&gt;\n&quot;;foreach(table_status('',true)as$R=&gt;$S){$B=adminer()-&gt;tableName($S);if(isset($S[&quot;Engine&quot;])&amp;&amp;$B!=&quot;&quot;&amp;&amp;(!$_POST[&quot;tables&quot;]||in_array($R,$_POST[&quot;tables&quot;]))){$I=connection()-&gt;query(&quot;SELECT&quot;.limit(&quot;1 FROM &quot;.table($R),&quot; WHERE &quot;.implode(&quot; AND &quot;,adminer()-&gt;selectSearchProcess(fields($R),array())),1));if(!$I||$I-&gt;fetch_row()){$Wg=&quot;&lt;a href='&quot;.h(ME.&quot;select=&quot;.urlencode($R).&quot;&amp;where[0][op]=&quot;.urlencode($_GET[&quot;where&quot;][0][&quot;op&quot;]).&quot;&amp;where[0][val]=&quot;.urlencode($_GET[&quot;where&quot;][0][&quot;val&quot;])).&quot;'&gt;$B&lt;/a&gt;&quot;;echo&quot;$Qh&lt;li&gt;&quot;.($I?$Wg:&quot;&lt;p class='error'&gt;$Wg: &quot;.error()).&quot;\n&quot;;$Qh=&quot;&quot;;}}}echo($Qh?&quot;&lt;p class='message'&gt;&quot;.'No tables.':&quot;&lt;/ul&gt;&quot;).&quot;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">on_help($mb,$bi=0){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script(&quot;mixin(qsl('select, input'), {onmouseover: function (event) { helpMouseover.call(this, event, $mb, $bi) }, onmouseout: helpMouseout});&quot;,&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">edit_form($R,array$n,$K,$wj,$l=''){$_i=adminer()-&gt;tableName(table_status1($R,true));page_header(($wj?'Edit':'Insert'),$l,array(&quot;select&quot;=&gt;array($R,$_i)),$_i);adminer()-&gt;editRowPrint($R,$n,$K,$wj);if($K===false){echo&quot;&lt;p class='error'&gt;&quot;.'No rows.'.&quot;\n&quot;;return;}echo&quot;&lt;form action='' method='post' enctype='multipart/form-data' id='form'&gt;\n&quot;;if(!$n)echo&quot;&lt;p class='error'&gt;&quot;.'You have no privileges to update this table.'.&quot;\n&quot;;else{echo&quot;&lt;table class='layout'&gt;&quot;.script(&quot;qsl('table').onkeydown = editingKeydown;&quot;);$Ba=!$_POST;foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$m){echo&quot;&lt;tr&gt;&lt;th&gt;&quot;.adminer()-&gt;fieldName($m);$k=idx($_GET[&quot;set&quot;],bracket_escape($B));if($k===null){$k=$m[&quot;default&quot;];if($m[&quot;type&quot;]==&quot;bit&quot;&amp;&amp;preg_match(&quot;~^b'([01]*)'\$~&quot;,$k,$qh))$k=$qh[1];if(JUSH==&quot;sql&quot;&amp;&amp;preg_match('~binary~',$m[&quot;type&quot;]))$k=bin2hex($k);}$Y=($K!==null?($K[$B]!=&quot;&quot;&amp;&amp;JUSH==&quot;sql&quot;&amp;&amp;preg_match(&quot;~enum|set~&quot;,$m[&quot;type&quot;])&amp;&amp;is_array($K[$B])?implode(&quot;,&quot;,$K[$B]):(is_bool($K[$B])?+$K[$B]:$K[$B])):(!$wj&amp;&amp;$m[&quot;auto_increment&quot;]?&quot;&quot;:(isset($_GET[&quot;select&quot;])?false:$k)));if(!$_POST[&quot;save&quot;]&amp;&amp;is_string($Y))$Y=adminer()-&gt;editVal($Y,$m);$r=($_POST[&quot;save&quot;]?idx($_POST[&quot;function&quot;],$B,&quot;&quot;):($wj&amp;&amp;preg_match('~^CURRENT_TIMESTAMP~i',$m[&quot;on_update&quot;])?&quot;now&quot;:($Y===false?null:($Y!==null?'':'NULL'))));if(!$_POST&amp;&amp;!$wj&amp;&amp;$Y==$m[&quot;default&quot;]&amp;&amp;preg_match('~^[\w.]+\(~',$Y))$r=&quot;SQL&quot;;if(preg_match(&quot;~time~&quot;,$m[&quot;type&quot;])&amp;&amp;preg_match('~^CURRENT_TIMESTAMP~i',$Y)){$Y=&quot;&quot;;$r=&quot;now&quot;;}if($m[&quot;type&quot;]==&quot;uuid&quot;&amp;&amp;$Y==&quot;uuid()&quot;){$Y=&quot;&quot;;$r=&quot;uuid&quot;;}if($Ba!==false)$Ba=($m[&quot;auto_increment&quot;]||$r==&quot;now&quot;||$r==&quot;uuid&quot;?null:true);input($m,$Y,$r,$Ba);if($Ba)$Ba=false;echo&quot;\n&quot;;}if(!support(&quot;table&quot;)&amp;&amp;!fields($R))echo&quot;&lt;tr&gt;&quot;.&quot;&lt;th&gt;&lt;input name='field_keys[]'&gt;&quot;.script(&quot;qsl('input').oninput = fieldChange;&quot;).&quot;&lt;td class='function'&gt;&quot;.html_select(&quot;field_funs[]&quot;,adminer()-&gt;editFunctions(array(&quot;null&quot;=&gt;isset($_GET[&quot;select&quot;])))).&quot;&lt;td&gt;&lt;input name='field_vals[]'&gt;&quot;.&quot;\n&quot;;echo&quot;&lt;/table&gt;\n&quot;;}echo&quot;&lt;p&gt;\n&quot;;if($n){echo&quot;&lt;input type='submit' value='&quot;.'Save'.&quot;'&gt;\n&quot;;if(!isset($_GET[&quot;select&quot;]))echo&quot;&lt;input type='submit' name='insert' value='&quot;.($wj?'Save and continue edit':'Save and insert next').&quot;' title='Ctrl+Shift+Enter'&gt;\n&quot;,($wj?script(&quot;qsl('input').onclick = function () { return !ajaxForm(this.form, '&quot;.'Saving'.&quot;â€¦', this); };&quot;):&quot;&quot;);}echo($wj?&quot;&lt;input type='submit' name='delete' value='&quot;.'Delete'.&quot;'&gt;&quot;.confirm().&quot;\n&quot;:&quot;&quot;);if(isset($_GET[&quot;select&quot;]))hidden_fields(array(&quot;check&quot;=&gt;(array)$_POST[&quot;check&quot;],&quot;clone&quot;=&gt;$_POST[&quot;clone&quot;],&quot;all&quot;=&gt;$_POST[&quot;all&quot;]));echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_hidden(&quot;referer&quot;,(isset($_POST[&quot;referer&quot;])?$_POST[&quot;referer&quot;]:$_SERVER[&quot;HTTP_REFERER&quot;])),input_hidden(&quot;save&quot;,1),input_token(),&quot;&lt;/form&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">shorten_utf8($Q,$y=80,$ui=&quot;&quot;){if(!preg_match(&quot;(^(&quot;.repeat_pattern(&quot;[\t\r\n -\x{10FFFF}]&quot;,$y).&quot;)($)?)u&quot;,$Q,$A))preg_match(&quot;(^(&quot;.repeat_pattern(&quot;[\t\r\n -~]&quot;,$y).&quot;)($)?)&quot;,$Q,$A);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h($A[1]).$ui.(isset($A[2])?&quot;&quot;:&quot;&lt;i&gt;â€¦&lt;/i&gt;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">icon($Pd,$B,$Od,$Si){return&quot;&lt;button type='submit' name='$B' title='&quot;.h($Si).&quot;' class='icon icon-$Pd'&gt;&lt;span&gt;$Od&lt;/span&gt;&lt;/button&gt;&quot;;}if(isset($_GET[&quot;file&quot;])){if(substr(VERSION,-4)!='-dev'){if($_SERVER[&quot;HTTP_IF_MODIFIED_SINCE&quot;]){header(&quot;HTTP/1.1 304 Not Modified&quot;);exit;}header(&quot;Expires: &quot;.gmdate(&quot;D, d M Y H:i:s&quot;,time()+365*24*60*60).&quot; GMT&quot;);header(&quot;Last-Modified: &quot;.gmdate(&quot;D, d M Y H:i:s&quot;).&quot; GMT&quot;);header(&quot;Cache-Control: immutable&quot;);}@ini_set(&quot;zlib.output_compression&quot;,'1');if($_GET[&quot;file&quot;]==&quot;default.css&quot;){header(&quot;Content-Type: text/css; charset=utf-8&quot;);echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">lzw_decompress(&quot;h:M‡±h´ÄgÌÐ±ÜÍŒ\&quot;PÑiÒm„™cQCa¤é &nbsp; &nbsp; 2Ã³éˆÞd&lt;žÌfóa¼ä:;NBˆqœR;1Lf³9ÈÞu7&amp;)¤l;3ÍÑñÈÀJ/‹†CQXÊr2MÆaäi0›„ƒ)°ìe:LuÃhæ-9ÕÍ23lÈÎi7†³màZw4™†Ñš&lt;-•ÒÌ´¹!†U,—ŒFÃ©”vt2ž‘S,¬äa´Ò‡FêVXúa˜Nqã)“-—ÖÎÇœhê:n5Žû9ÈY¨;jµ”-Þ÷_‘9krùœÙ“;.ÐtTqËo¦0‹³­Öò®{íóyùý\rçHnìGS™ Zh²œ;¼i^ÀuxøWÎ’C@Äö¤©k€Ò=¡Ðb©Ëâì¼/AØà0¤+Â(ÚÁ°lÂÉÂ\\ê Ãxè:\rèÀb8\0æ–0!\0FÆ\nB”ÍŽã(Ò3 \r\\ºÛêÈ„a¼„œ'Iâ|ê(iš\n‹\r©¸ú4Oüg@4ÁC’î¼†º@@†!ÄQB°Ý &nbsp; &nbsp; Â°¸c¤ÊÂ¯Äq,\r1EhèÈ&amp;2PZ‡¦ðiGûH9G’\&quot;vž§ê’¢££¤œ4r”ÆñÍDÐR¤\n†pJë-A“|/.¯cê“Du·£¤ö:,˜Ê=°¢RÅ]U5¥mVÁkÍLLQ@-\\ª¦ËŒ@9Áã%ÚSrÁÎñMPDãÂIa\rƒ(YY\\ã@XõpÃê:£p÷lŽLC —Åñè¸ƒÍÊO,\rÆ2]7œ?m06ä»pÜTÑÍaÒ¥Cœ;_Ë—ÑyÈ´d‘&gt;¨²bnð…«n¼Ü£3÷X¾€ö8\rí[Ë€-)Ûi&gt;V[Yãy&amp;L3¯#ÌX|Õ †X \\Ã¹`ËC§ç˜å#ÑÙHÉÌ2Ê2.# ö‹Zƒ`Â&lt;¾ãs®·¹ªÃ’£º\0uœhÖ¾—¥M²Í_\niZeO/CÓ’_†`3Ýòð1&gt;‹=Ðk3£…‰R/;ä/dÛÜ\0ú‹ŒãÞÚµmùúò¾¤7/«ÖAÎXƒÂÿ„°“Ãq.½sáL£ý— :\$ÉF¢—¸ª¾£‚w‰8óß¾~«HÔj…­\&quot;¨¼œ•¹Ô³7gSõä±âFLéÎ¯çQò_¤’O'WØö]c=ý5¾1X~7;˜™iþ´\rí*\n’¨JS1Z¦™øž£ØÆßÍcå‚tœüAÔVí86fÐdÃy;Y]©õzIÀp¡Ñû§ðc‰3®YË]}Â˜@¡\$.+”1¶'&gt;ZÃcpdàéÒGLæá„#kô8PzœYÒAuÏvÝ]s9‰ÑØ_AqÎÁ„:†ÆÅ\nK€hB¼;­ÖŠXbAHq,âCIÉ`†‚çj¹S[ËŒ¶1ÆVÓrŠñÔ;¶pÞBÃÛ)#é‰;4ÌHñÒ/*Õ&lt;Â3L Á;lfª\n¶s\$K`Ð}ÆôÕ”£Ž¾7ƒjx`d–%j] ¸4œ—Y¤–HbY ØJ`¤GG ’.ÅÜK‚òfÊI©)2ÂŠMfÖ¸ÝX‰RC‰¸Ì±V,©ÛÑ~g\0è‚àg6Ý:õ[jí1H½:AlIq©u3\&quot;™êæq¤æ|8&lt;9s'ãQ]JÊ|Ð\0Â`p ³îƒ«‰jf„OÆbÐÉú¬¨q¬¢\$é©²Ã1J¹&gt;RœH(Ç”q\n#rŠ’à@že(yóVJµ0¡QÒˆ£òˆ6†Pæ[C:·Gä¼ž‘ Ý4©‘Ò^žÓðÃPZŠµ\\´‘è(\nÖ)š~¦´°9R%×Sj·{‰7ä0Þ_šÇs &nbsp; &nbsp; &nbsp; z|8ÅHê&nbsp; &nbsp; &nbsp; &nbsp; \&quot;@Ü#9DVLÅ\$H5ÔWJ@—…z®a¿J Ä^&nbsp; ‘)®2\nQvÀÔ]ëÇ†ÄÁ˜‰j (A¸Ó°BB05´6†bË°][ŒèkªA•wvkgôÆ´öºÕ+k[jm„zc¶}èMyDZií\$5e˜«Ê·°º&nbsp; ”A˜ CY%.W€b*ë®¼‚.­Ùóq/%}BÌXˆ­çZV337‡Ê»a™„€ºòÞwW[áLŽQÊÞ²ü_È2`Ç1IÑi,÷æ›£’Mf&amp;(s-˜ä˜ëÂAÄ°Ø*””DwØÄTNÀÉ»ÅjX\$éxª+;ÐðËFÚ93µJkÂ™S;·§ÁqR{&gt;lž;B1AÈIâb) (6±­r÷\rÝ\rÚ‡’Ú‚ìZ‘R^SOy/“ÞM#ÆÏ9{k„àê¸v\&quot;úKCâJƒ¨rEo\0øÌ\\,Ñ|faÍš†³hI“©/oÌ4Äk^pî1HÈ^“ÍphÇ¡VÁvox@ø`ígŸ&amp;(ùˆ­ü;›ƒ~ÇzÌ6×8¯*°ÆÜ5®Ü‰±E ÁÂp†éâîÓ˜˜¤´3“öÅ†gŸ™rDÑLó)4g{»ˆä½å³©—LŽš&amp;ú&gt;è„»¢ØÚZì7¡\0ú°ÌŠ@×ÐÓÛœffÅRVhÖ²çIŠÛˆ½âðrÓw)‹ ‚„=x^˜,k’Ÿ2ôÒÝ“jàbël0uëž\&quot;¬fp¨¸1ñRI¿ƒz[]¤wpN6dIªzëõån.7X{;ÁÈ3ØË-I &nbsp; &nbsp; &nbsp; ‹âûü7pjÃ¢RŽ#ª,ù_-ÐüÂ[ó&gt;3À\\æêÛWqÞq”JÖ˜uh£‡ÐFbLÁKÔåçyVÄ¾©¦ÃÞÑ•®µªüVœîÃf{K}S ÊÞ…‰Mþ‡·Í€¼¦.M¶\\ªix¸bÁ¡1‡+£Î±?&lt;Å3ê~HýÓ\$÷\\Ð2Û\$î eØ6tÔOÌˆã\$s¼¼©xÄþx•ó§CánSkVÄÉ=z6½‰¡Ê'Ã¦äNaŸ¢Ö¸hŒÜü¸º±ý¯R¤å™£8gŽ‰¢äÊw:_³î­íÿêÒ’IRKÃ¨.½nkVU+dwj™§%³`#,{é†³ËðÊƒY‡ý×õ(oÕ¾Éð.¨c‚0gâDXOk†7®èKäÎlÒÍhx;ÏØ ÝƒLû´\$09*–9 ÜhNrüMÕ.&gt;\0ØrP9ï\$Èg&nbsp; &nbsp; &nbsp; &nbsp; \0\$\\Fó*²d'ÎõLå:‹bú—ð42Àô¢ð9Àð@ÂHnbì-¤óE #ÄœÉÃ êrPY‚ê¨ tÍ Ø\nð5.©àÊâî\$op l€X\n@`\r€Ž &nbsp; àˆ\r€Ð Î ¦ ’ ‚ &nbsp; &nbsp;  ÊàêðÚ Î @Ú@Ú\n ƒ † \0j@ƒQ@™1\rÀ‚@“ ¢&nbsp; &nbsp; &nbsp; \$p &nbsp; &nbsp; &nbsp;V\0ò``\n\0¨\n Ð\n@¨' ìÀ¤\n\0`\rÀÚ ¬&nbsp; &nbsp; &nbsp; &nbsp; à’\rà¤ ´\0Ðr°æÀò&nbsp; &nbsp; \0„`‚ &nbsp; &nbsp; &nbsp; àî { ,ž\&quot;¨È^PŸ0¥\n¬4±\n0·¤ˆ.0ÃpËðÓ\rpÛ\rðãpëðópûñqñQ0ß%€ÑÑ1Q8\n Ô\0ôkÊÈ¼\0^—àÒ\0`àÚ@´àÈ&gt;\nÑo1w±,Y&nbsp; &nbsp; &nbsp; h*=Š¡P¦:Ñ–VƒïÐ¸.q£ÅÍ\rÕ\r‘péÐñ1ÁÑQ &nbsp; ÑÑ1× ƒ`Ññ/17±ëñò\r ^Àä\&quot;y`Ž\nÀŽ Œ# ˜\0ê &nbsp; &nbsp; &nbsp;p\n€ò\n€š`Œ ˆr ”Q†ð¦bç1Ò3\n°¯#°µ#ð¼1¥\$q«\$Ñ±%0å%q½%Ðù&amp;Ç&amp;qÍ ƒ&amp;ñ'1Ú\rR}16&nbsp; &nbsp;ï@b\r`µ`Ü\rÀˆ &nbsp; &nbsp; €ÞÀÌ€dàª€¨&nbsp; j\n¯``À†\n€œ`dcÑP–€,ò1R×Ÿ\$¿rIÒO ‚ Q &nbsp; &nbsp; &nbsp; òY32b1É&amp;‘Ï01ÓÑÙ ’Ó fÀÏ\0ª\0¤ Îf€\0j\n f`â&nbsp; &nbsp;®\n`´@˜\$n=`†\0ÈÒv nIÐ\$ÿP(Âd'Ëðô„Äà·gÉ6‘™-Šƒ-ÒC7Rçà‡ —&nbsp; &nbsp; &nbsp; &nbsp; 4à ô-1Ë&amp;±Ñ2t\rô\&quot;\n &nbsp; &nbsp; &nbsp;H*@Ž &nbsp; ˆ`\n ¤ è &nbsp; &nbsp; àòlÕ2¿,z\rì~È è\r—Fìth‰Šö€Ø ëmõäÄì´z”~¡\0]GÌF\\¥×I€\\¥£}ItC\nÁT„}ªØ×IEJ\rx×ÉûÂ&gt;ÙMp‹„IHô~êäfht„ë¯.b…—xYEìiK´ªoj\nðíÅLÀÞtr×.À~d»H‡2U4©Gà\\Aê‚ç4þ„uPtÞÃÕ½è° òàÍL/¿P× &nbsp; &nbsp; &nbsp; \&quot;G!RîÎMtŸO-Ìµ&lt;#õAPuI‡ëRè\$“c’¹ÃD‹ÆŠ €§¢-‚ÃGâ´O`Pv§^W@tH;Q°µRÄ™Õ\$´©gKèF&lt;\rR*\$4ž®' ó¨ÐÈÊ[í°ÛIªóŽ­UmÑÆh:+þ¼5@/­l¾I¾ªí2¦‚Ž^\0ODøšª¬Ø\rR'Â\rèTÐ­[êÖ÷ÄÄª®«MCëMÃZ4æE B\&quot;æ`ö‚´euNí,ä™¬é]Ïðtú\rª`Ü@hžö*\r¶.Vƒ–%Ú!MBlPF™Ï\&quot;Øï&amp;Õ/@îv\\CÞï©:mMgnò®öÊi8˜I2\rpívjí©Æ÷ï+Z mT©ueõÕfv&gt;f´Ð˜Ö`DU[ZTÏVÐCàµTð\r–¹Uv‹kõ^×¦øLëÙb/¾K¶Sev2÷ubvÇOVDðÖImÕ\$ò%ÖX?udç!W•|,\rø+îµcnUe×ZÆÄÊ–€þöë-~X¯ºûîÀêÔöBGd¶\$i¶çMv!t#Lì3o·UI—O—u?ZweRÏ ëcwª. `È¡iøñ\rb§%©b€â¦H®\&quot;\&quot;\&quot;hí _\$b@ázªä\0f\&quot;ŒérW¨®*ŠæB|\$\$¬BÖ× \&quot;@r¯‚(\r`Ê îC÷¸Ç(0&amp;†.`ÒNk9B\n&amp;#(Äêâ„@ä‚¯Ú«d—ü^÷º®Šü £@²`ÒI-{ƒ0£â\n–B{‚4sG{§ø;z®©b÷{ Ñ{bƒ×¯„){BàÁxKÂÀÅ‡5=cÚª‰«yåî&amp;ìJ£PrÅI/‡ƒÜ \0ÚâV\r¥×‰í‰È=¸£‰‚N\\Ø¦=ÃK‰è}XVíx¹Š—µŠØ¥ŠË‹x²©døÕŠÛŒ*H'¦Î´¸»{XÆ=ØÊ=\0ï8¼\0¾¹…å[É«†J†ÚtÙùOØe…¹ŽØÉ‹èÞ\røýŒ ÊDXý§Å‡Äý}×z°“¾ ù)y'Ù'ÃÑÙIÌ(ù[l(5™`f\\Á`¿”ùe—.lY(¹=z—×”!Y%h€¾O¹+‹ù•—`Ù™\&quot;e“ æçÄ—˜º–Kòù¥þ¿¯£˜¸ÿ– ßšÙ#S™¹EIœYû›.HÖJtG·—œ`¾ŒH¼J5»Í5˜™~ ¸€6C‹¥hø˜§ùXDz\n–x¡‚yshššFK¡c¡zj¢Z€Y8(¹þ%Ù|yŸI«£ß‘Øƒ›Úée¡úY¡X»¡™u¢Ú ´Úiœ]¦Úc¡ÚM¥ú;ŸÈ§‘ùò&gt;Ç¡ƒšQ T©øüú¨ [~Wé~ÙžcÝ‚z›©úµz¥º½¢ú\r¬: &nbsp;\0èrYû¢x)‚Ê!ªúÉ¡¹K¦ú+§z!£šÓ€C+˜š°´Ù®âÃ¯:ÝŽ§ª™¤ú©¢Zgšû~z4f¥¯ &nbsp; &nbsp; &nbsp; ¥:÷£’sºÓª—ê+õxÊÂš%Œ»ž›=³™G–ÛIf3?˜úãŽø¿µ+Y´úq¶@àûGœúá™y¶»oµÙÑ´Ûp\rª~Á{Wœš¶[…·¹é®yè:\0Æ\\»‹·;e¹Û¡¶YI\&quot;·¸zdÂ˜k©Zö|[uš‚uÏ+˜×¹9q¼¹nR Ë®¥B—˜»Ø×z|\rŠá¤„ýk¤^»€î“ª[1ªÛ%‹.“pA­2&lt;›Û=¼Ø¡•è\$é;Ö5œ)³›m¸œ!‹»ÑXXýº‹YÃx¨5vT\\®QÀ%:À¢&gt;ÀàÉ›Û;¸›e’|/·•yÁÅ§ÅW§x× |g®œŠ™ÓÄCÝÆ\\‰›ü‡¼&lt;¼9z\\®#ð.FV;8¡èNÍX7ø×ÊÎ\&quot;8&amp;d5¬P…4Gj?Ê\0Ü?\&quot;=˜­ùHER&quot;);}elseif($_GET[&quot;file&quot;]==&quot;dark.css&quot;){header(&quot;Content-Type: text/css; charset=utf-8&quot;);echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">lzw_decompress(&quot;h:M‡±h´ÄgÆÈh0ÁLÐàd91¢S!¤Û&nbsp; &nbsp; &nbsp; Fƒ!°æ\&quot;-6N‘€ÄbdGgÓ°Â:;Nr£)öc7›\rç(HØb81˜†s9¼¤Ük\rçc)Êm8O•VA¡Âc1”c34Of*’ª- P¨‚1©”r41Ùî6˜Ìd2ŒÖ•®Ûo½ÜÌ#3—‰–BÇf# &nbsp; &nbsp; &nbsp; ŒÖg9Î¦êØŒfc\rÇI™ÐÂb6E‡C&amp;¬Ð,ŽbuÄêm7aŽVã•ÂÁs²#m!ôèhµårùœÞv\\3\rL:SA”Âdk5ÝnÇ·×ìšýÊaF†¸3é˜Òe6fS¦ëy¾óør!ÇLú -ÎK,Ì3Lâ@º“J¶ƒË²¢*J äìµ£¤‚»&nbsp; &nbsp; ¸ð—¹Ášb©cèà9­ˆê9¹¤æ@ÏÔè¿ÃHÜ8£ \\·Ãê6&gt;«`ðÅŽ¸Þ;‡Aˆà&lt;T™'¨p&amp;q´qEˆê4Å\rl­…ÃhÂ&lt;5#pÏÈR Ñ#I„Ý%„êfBIØÞÜ²”¨&gt;…Ê«29&lt;«åCîj2¯î»¦¶7j¬“8jÒìc(nÔÄç?(a\0Å@”5*3:Î´æ6Œ£˜æ0Œã-àAÀlL›•PÆ4@ÊÉ°ê\$¡H¥4 n31¶æ1Ítò0®áÍ™9ŒƒéWO!¨r¼ÚÔØÜÛÕèHÈ†£Ã9ŒQ°Â96èF±¬«&lt;ø7°\rœ-xC\n Üã®@Òø…ÜÔƒ:\$iÜØ¶m«ªË4íKid¬²{\n6\r–…xhË‹â#^'4Vø@aÍÇ&lt;´#h0¦Sæ-…c¸Ö9‰+pŠ«Šaž2Ôcy†h®BO\$Áç9öw‡iX›É”ùVY9*r÷Htm &nbsp; &nbsp; &nbsp; @bÖÑ|@ü/€l’\$z¦­ +Ô%p2l‹˜É.õØúÕÛìÄ7ï;Ç&amp;{ÀËm„€X¨C&lt;l9ðí6x9ïmìò¤ƒ¯À­7RüÀ0\\ê4Î÷PÈ)AÈoÀŽx„ÄÚqÍO#¸¥Èf[;»ª6~PÛ\rŒa¸ÊTGT0„èìu¸ÞŸ¾³Þ\n3ð\\ \\ÊŽƒJ©udªCGÀ§©PZ÷&gt;“³Áûd8ÖÒ¨èéñ½ïåôC?V…·dLðÅL.(tiƒ’­&gt;«,ôƒÖœÃR+9i‡‡ÞžC\$äØ#\&quot;ÎAC€hV’b\nÐÊ6ðT2ƒewá\nf¡À6m&nbsp; &nbsp; &nbsp; !1'cÁä;–Ø*eLRn\rì¾G\$ô2S\$áØ0†Àêa„'«l6†&amp;ø~Ad\$ëJ†\$sœ ¦ÈƒB4òÉéjª.ÁRCÌ”ƒQ•jƒ\&quot;7\nãXs!²6=ÎBÈ€}&quot;);}elseif($_GET[&quot;file&quot;]==&quot;functions.js&quot;){header(&quot;Content-Type: text/javascript; charset=utf-8&quot;);echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">lzw_decompress(&quot;':œÌ¢™Ðäi1ã³1ÔÝ&nbsp; &nbsp; 4›ÍÀ£‰ÌQ6a&amp;ó°Ç:OAIìäe:NFáD|Ý!‘Ÿ†CyŒêm2ËÅ\&quot;ã‰ÔÊr&lt;”Ì±˜ÙÊ/C#‚‘Ùö:DbqSe‰JŽË¦CÜº\n\n¡œÇ±S\rZ“H\$RAÜžS+XKvtdÜg:£í6Ÿ‰EvXÅž³j‘ÉmÒ©ej×2šM§©äúB«Ç&amp;Ê®‹L§C°3„åQ0ÕLÆé-xè\nÓìD‘ÈÂyNaäPn:ç›¼äèsœÍƒ( cLÅÜ/õ£(Æ5{ÞôQy4œøg-–‚ý¢êi4ÚƒfÐÎ(ÕëbUýŽÏk·îo7Ü&amp;ãºÃ¤ô*ACb’¾¢Ø`.‡­ŠÛ\rÎÐÜü»ÏÄú¼Í\n ©ChÒ&lt;\r)`èØ¥`æ7¥CÊ’ŒÈâZùµãXÊ&lt;QÅ1X÷¼‰@·0dp9EQüf¾°ÓFØ\r‰ä!ƒæ‹(hô£)‰Ã\np'#ÄŒ¤£HÌ(i*†r¸æ&amp;&lt;#¢æ7KÈÈ~Œ# È‡A:N6ã°Ê‹©lÕ,§\r”ôJPÎ3£!@Ò2&gt;Cr¾¡¬h°N„á]¦(a0M3Í2”×6…ÔUæ„ãE2'!&lt;·Â#3R&lt;ðÛãXÒæÔCHÎ7ƒ#nä+±€a\$!èÜ2ŽàPˆ0¤.°wd¡r:Yö¨éE²æ…!]„&lt;¹šjâ¥ó@ß\\×pl§_\rÁZ¸€Ò“¬TÍ©ZÉsò3\&quot;²~9À©³jã‰PØ)Q“YbÝ•DëYc¿`ˆzácžµÑ¨ÌÛ'ë#t“BOh¢*2ÿ…&lt;Å’Oêfg-Z£œˆÕ# è8aÐ^Žú+r2b‰ø\\Žá~0©áþ“¥ùàW©¸ÁÞnœÙp!#•`åëZö¸6¶12×Ã@é²kyÈÆ9\rìäB3çƒpÞ…î6°è&lt;£!pïG¯9àn‘o›6s¿ð#FØ3íÙàbA¨Ê6ñ9¦ýÀZ£#ÂÞ6ûÊ%?‡s¨È\&quot;ÏÉ|Ø‚§)þbœJc\r»ŽŒ½NÞsÉÛih8Ï‡¹æÝŸè:Š;èúHåÞŒõu‹I5û@è1îªAèPaH^\$H×vãÖ@Ã›L~—¨ùb9Ž'§ø¿±S?PÐ-¯˜ò˜0Cð\nRòmÌ4‡ÞÓÈ“:ÀõÜÔ¸ï2òÌ4œµh(k\njIŠÈ6\&quot;˜EYˆ#¹W’rª\r‘G8£@tÐážXÔ“âÌBS\nc0Ék‚C I\rÊ°&lt;u`A!ó)ÐÔ2”ÖC¢\0=‡¾ æáäPˆ1‘Ó¢K!¹!†åŸpÄIsÑ,6âdÃéÉi1+°ÈâÔk‰€ê&lt;•¸^&nbsp; á\nŽÉ20´FÔ‰_\$ë)f\0 ¤C8E^¬Ä/3W!×)Œu™*äÔè&amp;\$ê”2Y\n©]’„EkñDV¨\$ïJ²’‡xTse!RY» R™ƒ`=Lò¸ãàÞ«\nl_.!²V!Â\r\nHÐk²\$×`{1 &nbsp; &nbsp; |± °i&lt;jRrPTG|Ž‚w©4b´\r‰¡Ç4d¤,§E¡È6©äÏ&lt;Ãh[N†q@Oi×&gt;'Ñ©\rŠ¥ó—;¦]#“æ}Ð0»ASIšJdÑA/QÁ´â¸µÂ@t\r¥UG‚Ä_Gž&lt;éÍ&lt;y-IÉzò„¤Ð\&quot; PÂàB\0ýíÀÈÁœq`‘ïvAƒˆaÌ¡Jå RäÊ®)Œ…JB.¦TÜñL¡îy¢÷ Cpp\0(7†cYY•a¨M€é1•em4Óc¢¸r£«S)oñÍà‚pæC!I†¼¾SÂœb0mìñŽ(d“EHœøš¸ß³„X‹ª£/¬•™P©èøyÆXŽé85ÈÒ\$+—Ö–»²gdè€öÎÎyÝÜÏ³J×Øë ¢lE“¢urÌ,dCX}e¬ìÅ¥õ«mƒ]ˆÐ2 Ì½È(-z¦‚Zåú;Iöî¼\\Š) ,\n¤&gt;ò)·ž¤æ\rVS\njx*w`â´·SFiÌÓd¯¼,»áÐZÂJFM}ÐŠ À†\\Z¾PìÝ`¹zØZûE]íd¤”ÉŸOëcmÔ]À ¬Á™•‚ƒ%þ\&quot;w4Œ¥\n\$øÉzV¢SQDÛ:Ý6«äG‹wMÔîS0B‰-sÆê)ã¾Zí¤c|Ë^RšïEè8kMïÑÌsŒd¹ka™)h%\&quot;Pà0nn÷†/Áš#;žÖg\rdÈ¸8†ÞF&lt;3\$©,åP);&lt;4`Î¢&lt;2\n”Êõé@w-®áÍ—AÏ0¹ºª“¹LrîYhìXCàa˜&gt;ºæt‹ºLõì2‚yto;2‡ÝQª±tîÊfrmè:§”Aíù‰¡÷ANºÝ\\\&quot;kº5oVëÉƒ=îÀt…7r1ÝpäAv\\+ž9ª„â€{°ç^(iœ‰f¬=·rŠÒºŠuÚÊûtØ]yÓÞ…ÐùCö¶ºÁ³ÒõÝÜgi¥vfÝù+¥Ã˜|Êì;œ€¸Âà]~ÓÊ|\re÷¥ì¿“šÝ‚Ú'ƒíû²‰”¦ä¯²°&nbsp; &nbsp; &nbsp; ½\0+W‡coµw6wd Su¼j¨3@–Œò0!ã÷\n .w€m[8x&lt;²ËcM¬\n9ý²ý'aùÞˆ1&gt;È£’[¶ïµúdïÞux¯à&lt;\&quot;YŽc¸ÞB!i¹¥ê•wÀ}’ô5U¹kººÜØ]­¶¸ÔÒÀ{óI×šR…‰–¥=f W~æ]É(bea®'ubïm‘&gt;ƒ)\$°†P÷á-šƒ6þR*IGu#Æ•UKµAXŒtÑ(Ó`_Âà\&quot; ¾£p¸ &amp;UËËÙIíÉ]ýÁYG6P]Ar!b¡ *Ð™JŠo•µÓ¯åÿ™óïÁòvý½*À Ø!éš~_ªÀÙ4B³_~RB˜iKùŒ’þ`ç‰&amp;JÛ\0­ô®N\0Ð\$àÌþåCÂK œSÐòâjZ¤Ð Ìû0pvMJ bN`Lÿæ­eº/`RO.0Pä82`ê&nbsp; &nbsp; &nbsp; &nbsp; åüÆ¸d Â˜GxÇbPž-(@É¸Ó@æ4¨H%&lt;&amp;–ÀÌZà™Àèp„¬°Š%\0®p€ÐÐ„øêã&nbsp; &nbsp; &nbsp; …¯ &nbsp; àÈ/\&quot;ö¢J³¢\ns†–_ÀÌ\rŒàgŽ`‹œ!käpX &nbsp; &nbsp; èÐ:Ävíç6p\$ú'ðÇ¥RUeZÿ¨d\$ì\nLáBºâ†ó.ÞdŒn€î¤Òtm€&gt;v…jä•í€)‘&nbsp; Mº\r\0Â.àÊŠH’Ñ\&quot;…5‚*!eºZJº‰è’ëãf(dc±¼(xÜÑjg\0\\õ€ÂõÀ¶ Z@ºàê|`^›r)&lt;‹(’ˆ„ˆ†È)ÌëªóÊÐì@YkÂmÌíl3QyÑ@É‘ŒÑfÎìPn„ç¼¨ÐT ò¯N·mRÕq³íâVmvúNÖ‚|úÐ¨Z²„È†Ú(Ypø‰\&quot;„4Ç¨æàò&amp;€î%lÒP`Ä€£Xx bbdÐr0Fr5°&lt;»Cæ²z¨¯6ähe!¤ˆ\rdzàØK;Ät³²\nÙÍ …HÆ‹Qš\$QŸEnn¢n\rÀš©#šT\$°²Ëˆ(ÈŸÑ©|c¤,¼-ú#èÚ\r Üá‰Jµ{dÑE\n\$²ÆBrœiTÔò‘+Å2PED•Be‹}&amp;%Rf²¥\nüƒ^ôˆCàÈZàZ RV“ÅA,Ñ;‘«ç&lt;ÂÄì\0O1éÔêc^\r%‚\r ìë`Òn\0y1èÔ.Âð\r´Ä‚K1æM3H®\r\&quot;û0\0NkXPr¸¯{3 ì} &nbsp; \nSÈd†ˆÚ—Šx.ZñRTñ„’wS;53 .¢s4sO3FºÙ2S~YFpZs¡'Î@Ù‘OqR4\n­6q6@DhÙ6ÍÕ7vE¢l\&quot;Å^;-å(Â&amp;Ïb*²*‹ò.! ä\r’!#çx'G\&quot;€Í†w‰Á\&quot;úÕ È2!\&quot;R(vÀXŒæ|\&quot;DÌvÀ¦)@á,¸zmòAÍwT@ÀÔ &nbsp;Ð\n‚ÖÓðºÐ«hÐ´IDÔP\$m&gt;æ\r&amp;`‡&gt;´4ÈÒA#*ë#’&lt;”w\$T{\$´4@›ˆdÓ´Rem6¯-#Dd¾%E¥DT\\ \$)@Ü´WC¬(t®\&quot;MàÜ#@úTFŸ\r,g¦\rP8Ã~‘´Ö£Jü°c öŒàÄ¹Æ‚ê ÊŽ\&quot;™LªZÔä\r+P4ý=¥¤™Sâ™TõA)Ž0\&quot;¦CDhÇM\nž%FÔpÖÓü|ŽfLNlFtDmH¯ªþ°5å=HÍ\n›ŽÄ¼4ü³õ\$à¾Kñ6\rbZà¨\r\&quot;pEQ%¤wJ´ÿV0Ô’M%ål\&quot;hPFïA¬áAãŒ®ò/G’6 h6]5¥\$€f‹S÷CLiRT?R¨žþC–ñõ£HU§Z¤æYbFþ/æ.êZÜ\&quot;\&quot;^Îy´6R”G ²‹ÌnâúÜŒ\$ªÑå\\&amp;OÖ(v^ ÏKUºÑ®ÎÒam³(\r€Šïº¯¾ü\$_ªæ%ñ+KTtØö.Ù–36\nëcµ”:´@6 újPÃAQõF’/S®k\&quot;&lt;4A„gAÐaU…\$'ëˆÓáfàûQO\&quot;×k~²S;ÅÀ½ó.ïË: ˆk‘¼9­ü²Šóe]`nú¼Ò-7¨˜;îß+VËâ8WÀ©2H¢U‹®YlBívÞöâ¯ŽÖÔ†´°¶ö &nbsp; &nbsp; &nbsp; §ýâîp®ÖÉl¾m\0ñ4Bò)¥XÁ\0ÊÂQßqFSq—4–ÿnFx+pÔò¦EÆSovúGW7o×w×KRW×\r4`|cqîe7,×19·u Ïu÷cqä’\&quot;LC tÀhâ)§\r€àJÀ\\øW@à&nbsp; &nbsp; &nbsp; ç|D#S\rŸ%Œ5læ!%+“+å^‡k^Ê™`/ž7¸‰(z*ñ˜‹€ð“´E€Ý{¦S(Wà×-“XÄ—0V£‘0Ë¥—îÈ=îÍa&nbsp; ~ëfBëË•2Q­êÂru mCÂìë„£tŽr(\0Q!K;xNýWÀúÿ§øÈ?b&lt; @Å`ÖX,º‡`0eºÆ‚N'²Â‘…šœ¤&amp;~‘øt”Óu‡\&quot;| ¬i… ñBå  7¾Rø” ¸›lSu†°8Aû‰dF%(Ôú äúïžó?3@A-oQŠÅº@|~©K†ÀÊ^@xóbšœ~œD¦@Ø³‰˜¸›…TNÅZ€C &nbsp; WˆÒÂix&lt;\0P|Äæ\n\0ž\n`¨¥ Ž¹\&quot;&amp;?st|Ã¯ˆwî%…ˆàèmdêuÀN£^8À[t©9ƒªB\$àð§Ž©ð¦'\&quot;&gt;UŒ~ÿ98‡ é“òÃ”FÄf °¹€u€È°ž/)9‡À™ˆ\0á˜ëAùz\&quot;FWAx¤\$'©jG´(\&quot;Ù ±s%T’HŠîßÀe, Mœ7ï‹b¼ Ç…Øa„ Ë“”Æƒ·&amp;wYÔÏ†3˜°Øø /’\rÏ–ù¯ŸžÙ{›\&quot;ùÝœp{%4b„óŒ`íŒ¤Ôõ~n€åE3&nbsp; •Î ›°9Žå3XÖd›ŽäÕZžÅ9ï'š™@‡¨‡‘l»f¯õØQbP¤*G…oŠåÅ`8•¨‘¯žùA›æB|Àz @¦ &nbsp; &nbsp; àb¡Zn_Íhº'Ñ¢F\$f¬§`öóº†HdDdŒH%4\rsÎAjLRÈ'ÞùfÚ9g IÏØ,R\\·ø”Ê&gt;\n†šH[´\&quot;°Àî©ª\rÓ…ŒÂ•LÌ,%ëFLl8gzLç&lt;0ko\$Çk­á`ÒÃKPÔvå@dÏ'V:V”ØMü%±èÕ@ø6Ç&lt;\ràùT«‹®LE´‰NÔ€S#ö.¶[„x4¾açÌ­´LL‚® ª\n@’£\0Û«tÙ²å\n^F­—º¥ºŠ5`Í R“7ÈlL uµ(™d’º¡¹ Ô\räBf/uCf×4ÿcÒž Bïì€_´nLÔ\0© \$»îaYÆ¦¶¸€~ÀUkïv¥eôË¥¦Ë²\0™Z’aZ—“šœXØ£¦ž|CŠq“¨/&lt;}Ø³¡–ÅÃº²”º¶ Zºž*­w\nOã‡Åz`¼5“®18¶cø™€û®¯­®æÚIÀQ2YsÇK‹˜€æ\n£\\›ž\&quot;›­ Ã°‡c†ò*õB¶€îÌ.éR1&lt;3+õÅµ*ØSé[õ4Ómì­›:Rh‹‘ITdevÎIµHäèÒ-Zw\\Æ%nè56Œ\nÌWÓi\$ÕÅow¬˜+© ºùËrÉ¶&amp;Jq+û}ÒDàø¼Ój«dÅÎ?æU%BBeÇ/M‚¶Nm=Ï„óU·Âb\$HRfªwb|•²x dû2æNiSàóØgÉ@îq@œß&gt;ÎSv „§—•ƒ|ïkrŒx½Œ\0{ÔRƒ=FÿÏÎÎâ®Ï#r½‚8&nbsp; ðˆZàvÈ8*Ê³£{2SÝ+;S¦œ‚Ó¨Æ+yL\$\&quot;_Ûë©Bç8¬Ý\&quot;E¸%ºàºŒ\nø‘ÐÂp¾p''«p‚ówUÒª\&quot;8Ð±I\\ @… Ê¾ ‡LnðŽæ Rß#MäDµþqžLNÆî\n\\’ÌŽ\$`~@`\0uç‰~^@àÕlˆ-{5ñ,@bruÁo[Á²¾¨Õ}é/ñy.×é {é6q‚°R™pàÐ\$¸+1Ž3ÛúÚú+ƒ¨O!D)…® à\nu”&lt;¯,«áñß=‚JdÆ+}µd#©0ÉžcÓ3U3»EY¹û¢\rû¦tj5Ò¥7»e©˜w×„Ç¡úµ¢^‚qß‚¿9Æ&lt;\$}kíÍòŒRI-ø°¸+'_Ne?SÛRíhd*X˜4é®üc}¬è\&quot;@Šˆvi&gt;;5&gt;Dn‰ ˜\räë)bNéuP@YäG&lt;ñ¨6iõ#PB2A½-í0d0+ð…ügKûø¿í?¨néãüdœdøOÀ‚Œ¯åácüi&lt;‹ú‘‹0\0œ\\ù—ëÑgî¦ùæê¡––…NTi'  ·ô;iômjáÜˆÅ÷»¸uÎJ+ªV~À²ù 'ol`ù³¿ó\&quot;,ü†Ì£×ÓFÀå–&nbsp; &nbsp; &nbsp; ýâ{C©¸¤þT aÏNEÛƒQÆp´ p€+?ø\nÆ&gt;„'l½¤* tÉKÎ¬p°(YC\n-qÌ”0å\&quot;*É•Á,#üâ÷7º\&quot;%¨+qÄ¸êB±°=åi.@x7:Å%GcYIÐˆ0*™îÃkÀÛˆ„\\‡·¯ðQ_{¤ ÅÇ#Áý\rç{H³[p¨ &gt;7ÓchënÎÂÔ.œµ£¦S|&amp;JòMÇ¾8´Àm€OhþÄí&nbsp; &nbsp; &nbsp; &nbsp; ÕÑqJ&amp;a€Ý¢¨'‰.bçOpØì\$ö–­Ü€D@°C‚HB–&nbsp; &nbsp; ƒÈ&amp;âÝ¡|\$Ô¬-6°²+Ì+ÂŒ †•Âàœpº…à¬¡AC\r’É“…ì/Î0´ñÂî¢M†ÃiZŠnEœÍ¢j*&gt;™û!Ò¢u%¤©gØ0£à€@ä¿5}r…É+3œ%Â”-m‹¢G‚&lt;”ã¥T;0°¯¨’†DV£dÀgÛ9'lM¶ýHˆ£ F@äP˜‹unütFB%´MÄt'äGÔ2ÅÀ@2¢&lt;«e™”;¢`ˆõ=LXÄ2àÏäX»}oc.LŠ+âxÓŽ†&amp;D¨a’€¡€É«ÁF2\ngLEƒ°.\\xSLýx­;lwÑD=0_QV,a 5Š+Léó+Û|\$Åi­jZ\nê—DÖEÎ,B¾t\\Ï'H0ÁŒ±R~(\\\&quot;¢Ö:”Ðn*ûšÕ(¡×o®1wãÕQí×röÒÃEteÓF•…\$èSÑ’]Ð\rLäyF„‰‘\\BŒiÀh”hdáÿ&amp;áš‡h;fo›¾B-y`ÅÔð0ˆ„JŽlPéxao·\$ŠXq¼,(Ö¡†C*&nbsp; &nbsp; &nbsp; &nbsp; Îë:¤/‚”öé®HG\&quot;‚ðc€ˆC¢¡Q¸\nFÁÔ„Ò#ð¶…8í¢F:Ð£\0œ€Ok¾âDüÆ])›ÏštT8Láð’¨”æn©`ÕÎ±|ªHJ³ˆ€Ö œ˜ \&quot;Ò6ø{‹­ƒÁ?=I&lt;HGc Å¤FÒ@†,C ¼@jì‰\$LŸ·â(‰nEÊ‘P¢æjb¿nãÎ‘«¶äWá \rÀLqé‰èÏÐsPH€ê‰z\\V\$kÄÒtr5‹,¤lšÈØè&lt;ñ'\0^S02¸0f -5\&quot;ac¼\&quot;3U“p£æ“\&quot;Ü˜©%•®\0'Zt\&quot;96‘Ì9_ @Z{™0Iˆç¬DÀZE@ôÎNÃh`¡\&quot;½` \0µ„ˆàÐÉ¹(GÃHâÄCh¥ ™I¼òf`@ZD¹\$)âKá;ZÚø\0ä/éC‘T&gt;r_R@Oå`1r†TÒ¨Ib\0ç*¹8… ÄÇËh\$é_’pùRÄ•\$®¥Ni^ÊªP/O)¸Â.Å¹T6Ü\\’Ù”@T€¾ÑrÄ…`)øöÀT=ân\0Œ€2–œe«+€9Ê¢\\®—@¥äú‚&gt;ÉPH1&nbsp; äŠy#Êô¥rú&lt;°a¸eÜK„Û/cM@_.\09Ëˆ““¨…ÔÐ¬B®ÔÁÙ0i†Žaó\n’ðdea´%|S2ô¿€å#€“¸nˆ»D\$/¹+EÎd‘•øÖ_2PšË\$s,ok¡#ü&lt;‰ &nbsp; &nbsp; &nbsp; ²AÂÄ‘r{B”Ù†A-Q4Ò¤Ù\nª\ryù!Æbä±Ž«ñáOÚö@É¬ÁŽk¤¼ ê±\&quot;§rà*¤Ý‡Œ’YÒ€/ðÈ‘ a0ñÙ%•.gE~ºù&amp;© 89”áÃ#@M_ À”ý7Käƒ¸J`òX)²B\$¯(&nbsp; &nbsp; :Ÿg‰–n*ù|†M6PZ†ªHtêJtq‰Cx†[Ú¼—äá…l=\n•®ÅU3Êf\\Ì”JîP&nbsp; &nbsp; ,™:É}TA»SYH(\n¢¸ØI¶Ù²Ä!t(2U\&quot;Ë\\çX­^sÌ Æ“a!®\nPrˆ`ÉX3fnb¥•©àèJ÷¬Ü&amp;¸zåzQSf £üät¡!T?à9%€(QƒžBø}6B°kP\0ó&gt;õg”&amp;~fhUðœr§,¢ p5HiˆÆpƒ„…¢qÉšügöVçVüÏOg“WEJ8â0GìÔak°Õ@N NMÄä°UÐUxÈª­ßS¦x&nbsp; &nbsp; &nbsp; &nbsp; Áà&nbsp; &nbsp; ðK‚@c 1yê±VlÏ ¦ÂC’“‚ð2Q^rP6|ýI^Mª,¦j%dÝ`Ü«àüF§Ï\\#%³|ÄC–¿­¡7ì‹¢ÔGÚTN–„Šãùi«H™–ÎQ­O¦ÏÁCÌyB’Ñ\$±%T°‹*á&gt;z\rMM KpÓ J7OÛ·é4å%ò•\$¤pŽà’é4”°€”ŠÍ‚£¯EÒª\&quot;Tõ\0O€\0’Õ@&gt;&nbsp; &nbsp; &nbsp; &nbsp; r›O¨]š¡¢xÒ}^¥IÚÖ@Ê Åºqnç…Ý0©Bb¡Èµ‚IÉ(¤M/ý;é¦Ê}RN\n¡C£&lt;b­PÔµu?Â=Pe¹C’™•…L^'ìSÔÎ?}4)ŒÓS-ÕÃð1\r5S«OEóSFœÓ˜©AOR+ÓÞ™+v§å5Â&amp;C)Ù®›KSDBß³N|E\rcÚUôYÊ¾Àê£Väøˆ?H˜)å®Ÿ+sFäákºLPW-ø,üU:’&amp;™ãt{‘®Vo¤·ŠJ”l'¨ðWÈe74Xn GFª'‚®Þ`æÉCcö±%Ilñju6£ßÈÂvÂU³ðZë‹\0*œš¨NÔŸ#ö¤(¼ˆ¨n¥-;|•4«]XÇîÁy'œ °;ÝZÅ‘ñ) s9ÈÀ˜%€R+\$À°&nbsp; &nbsp; &nbsp; &nbsp; ¿‘QÞà(\&quot;¡_kX˜„‘°¦˜\nM#€¦\&quot;!p~:è*úÀ™°\$µ3O‰¸ÄÆŠª6½+•ƒà\nBž{1ðà|H·K&lt;[`3ð#å®F@èÍÇ! |©ØŠ\0àð—&gt;‹Œ®˜ˆ[nrMMý+…á®mO_Ž2¹ÑÈ†Å\0«e^&nbsp; &nbsp; &nbsp; Ì7Z¸&amp;êµBÅJè¤“h7QO%rfÆp žÎâÖž¥mØ¨â¾Ã‡Â4Eàl«úü+•àäV®£iñN SZàWté2WÅ[;ªÀv\&quot;%Å\$^Ö-(I\$ÊÈS@R-&amp;³Tãz¬šk(²– ä%R8ìuY\0[9-¢ÈÎ(õ)E¹è‰8¡=^¹†¡ÁG˜5#Á¼€¾)1V¦Éb\r]”Ne;&amp;ÌY›`r¬êI§ØPÝ±ÜËÁÖ²ª \0Å@Pç7°·â0Hª¨ÃØR­x¾\0000C|än=¨Š`ÐáTT¿Ø\rEhONÈ´Á' Ò&amp;Ütc©K ‡Ü•U5œþÖßÂÎÃõP3\\î‡à2\&quot;\0yó5¢V]¼©6&gt;ÐU!¡@ËhuÌÚ(¼\&quot;E%07B…½6ž¼dáHN±¢–‘µìij';@‚ÕeËMzlSfjKY–Öó­®-uhó‰H–œ¯smL@éÐ\&quot;r×jÊºéj'l7 &nbsp; &nbsp; &nbsp; ò•(u‘u‹ÑEåÂ•·e¥a†@ñ„+K‰:Ó•Â%n«z Vñ·ˆÑ;ä[î_Vz_­•Eàãâ8†&lt;…Sb›¨™‹ÜÍÖ6gÀ¼:cƒÍþÀ7\nµ¨­ì%Q› K¡7óÜ®BÛë‘Úñw¨u¹5©ì0»”ÖšãÊ¹yÃncnK™‰úæ¦T8åÊ™÷s±ºW=+—=K\n_[p¢G¿Ä·C5¢ÁÖÃ'ÛD\&quot;„ÝM&lt;\&quot;:|Mq4¹¹Îf•sÁx&nbsp; &nbsp; qlÍ°›‚QPÓ²aOY×E=ûõî6nTë–’–BtœhÄC\0pÿ×@n£ÎD(aÜP°\&quot;„Šï‹'ZN…äÛ¬¢®\rüLNXŠg±Š&lt;!w•¶¸›Ú[û…B)´§)~½×ãcÂx”àvšiÂ¦ÿqÉø•¶˜a¤@KÕð7s§EQdÃ½˜ïkô÷Ä?\&quot;Ú3ž-\&quot;UÆ|•½ýíÂï|21D&gt;ß³â]Â­&amp;ŠŠŠ\\hèTÆ³5š\0`Tz¢ás -¼N£¹ÉÙ\&quot;†f¸NåLU¹]n(D©(˜ê&amp;%\&quot;e\\¬—OãÉNæInÛ¿¤”\0ÒÐ€ìÆ•±Ø÷@Á€ÑïVä|RˆMYCÛTßÁûÿbÔUHðp)À€ÈSÕsÀ qÓi±–`Z5vtå‰¸*áOO\nñ(…£ÝÖëFà¦Ø58Ã!ax@€{^P¾Õ½¸?«°Àeh}\\³j^2ò„L½,6Á.ØN &nbsp; &nbsp; &nbsp; K…%±•ß–u”„ipÈÈ!?²lŠ‘† -5íw½†K\&quot;VÈØ\\ÃIs¢Ï2!ßð\$4º5v\n’àèògrÃòNÖå}÷£;žÝý­Âú‡‚æW%D(pWaë\0¡v'à±6ú®Vê«ÔÆ¿0WÀñ„E4ÒEUlÂ8ÇLDî„¶EÂ&lt;kOŠñHÉßDUÚ `vS·¬L“Ã!DTMbnWV™ÁCd‡Š)ZeèŸ€¸ö:¾2Çd8š¦KåÞ„þ4®-GübÍ¾wQWæ30\rüf\0Ê,µ`Qhl±ÖÙ0ËPõà0h@\\Ôr·8×ÇT–ðŒâ›œÂ1ð`¤&amp;ÿŒÌw–Xï&gt;ÈF?‘—|P‘*ñM¤qZÑ¯Œ¬}†Ë0k`‰œ#ÀÕ«cò’'[ÇÖ±Ë|sÉIJ˜îž\rÞã¬û¿&lt;OaÆ¼@ÔW‘¬u°TÆÆ:ÑóE^ª²ƒ¾„²!kŠÐÿ„Îa\$È&gt;5ò–u_äâKcCQ¿r-ÑŠä'\rÈiCìŽœŸ§Ù@8ÎS„PSÁ_XglÒ%£&nbsp; Án1r.&lt;…w_aÉºÄ³èGhÒ4\næW×Z“ïaBn,\\\0¬±DU\nbbZ'ŠÒá72ºÍrÛÂ¢®–}¿Y&gt;/Àw\\YÐ`^7J«jŒS‡¢•¯ð¨S.À’o%æJg\0GD,¼Æé&gt;7 ¹’Rî„ˆ¹0á¹¯Æ›ø3¼ß6ø%i\0Sª^Lœ·AÔØ\riòäO&lt;º™Àa phv[¯{œ¥‡\0éE«^xóÜ¼g–YzWÎyGža»ç‹:(”&gt;C½€žöÖe\0ãÖÚ])ô3yts_a€7ç+áæ†BúœC˜eT·Þf‚oÅP€Û¤Õ2E·C¾ÚvÇ&gt;Ùwöl–zÛ*pêY²ýö±q°™öØšQâp\nv[|qõÒ¨E[ÑXi€ó¢ì®=²z(&nbsp; ÈMÛn]7F\r§©Cs4|-} ’˜Ä¿(NU£?,À¥Ú…ý°†âØºq &nbsp; ¸âp†q~ü¬ÿ ¦ê©F–Â% 88·×é¦‡¢\$×Þ°—[¼±µrÄo!3ãý(†°†—g†Æô×¥pJ!éÁ´qÚZ°v?Ñøc­ýÑL£7£Ð6èü\$‡mö’Öq§í8l!Ãù5­Cš;Q,ÔdÞsFõ-O˜§fÃˆø\$äð„6Í%U¨C¸´f\&quot;‚çe(jº\rMtÇFœƒèëR÷x;n¦B\$÷¹SSôx'¢õGöþé™ŠMÓ &nbsp; &nbsp; ˜Ë4Í¬'kš¿~±×#9e´³Yº¢Ö~¢ìë­ˆ;fÞ+Îj¼K„9p¨ÉÔM†'XŒ/rt²\0Õ\\ÍJ%Q¨Ýè·R‡\rÐ²O3¤|‹å¯šù×ÂÏ±³4˜ÝxF–×ðµs5EÈÔ;Ô’WR’ÒJX›Ê¶—Jì\$þÁwzOöÏ&amp;ÇµÁÄzkS×\nœ\nNUPŒâ°.ö»0À”…bdk‚ŸPåÌÚ G6Ö+BÜz‡1ÎŽhQ&gt;sHv³ÃÂÄQÙ EØp‰ÝMä€)›Ø\nŠ\\ŒÑžÜPzÄèí.sÛÍÂ gÅá)a~ÖÆÈ¥Ý!(!Gìhr[²*ª„£ªîÕ¢…`”˜~Í\&quot;!âO’¿‰5¹G3Åž*qkgB—,\$öãÛ**1€c.»n&nbsp; &nbsp; &nbsp; 8¨¥\$d ´±VSne‹MiZ¶íÅ7Å¾g¶Aù5Üˆ½‚Ú\nú`¶,‰2ºÇa¦Ò¯ÿömMkÊ»´ßÉ¯ð²/-Ý6µ@?#`ˆØ)ãÔ€Šha©Â†ñŠ†á)VcÆ]Ò_= Rz\\ïVR§µ=¾Ø·³(-ãotõ\$Ü¥È\n÷¢‰dSm³yµÚfÓ©ÙN\rùm(t;DÍÁÿp¸2¤Ý¶²ÃZRl)Ð9MÌ›À,/“YixªÑkÑ)’.¤2@S^úöuÚådŠ6¤!Ë&gt;VB’à x&lt;•¸Kt06ƒ‰ò@ÈŒ\nG‚AáP°(ûªNbD•ÐK\n•\&quot;µäcN¬´\rÄƒ.põ€¤'2L•‡d…êŸ²µÑß\\Ly§A= &nbsp; &nbsp; &nbsp; õÄDŠƒm3Ÿ%Ä@Œ™±Ùˆ¡¥Á8åqbSP\&quot;âÞ¢™Æ®/ÏDzëC&amp;»OûÇ\0007f€ÂD^1ÅXº/ãƒ,\n„÷vçWx%f)ŒÎ' àDdQ@™„I(Ò‹7Y¾Â|ÉÝºAÿQ±¸D«—Ú e 8×‡7k)_ ñ@\&quot;\&quot;½¼%à}¸&nbsp; &nbsp; &nbsp; ¡(Ìë11Ø§\rõ¡Êãeò†á?-ÉµH&amp;ëÍäõé\rLÛêâ€'»eÛ®0ÔT×]ÍÔC!ÀemNzì&nbsp; &nbsp; &nbsp; UzöñÀÉˆ‰¢S“Üœaf¶7˜Mê^CŠD£õÂ(_ïìÃœãâ#\&quot;ídr5¦9±Ùõ81‰Öhf¨È­áa_—Ã—tZX\0èU¼­†{2nn]¾ ;FRû²!Š}&gt;séƒHiÎy#³´…?\&quot;Å¤¥çžíÀ&gt;{°®Î/?7îF®òY¯°úª?Aj’Á.†Uœ!5`Â‡HÀæŽ\$r\0î'\n¾\&quot;:.ŒûdÔ‚Ù™ÆªíqÙRÕ­ohõÝ&gt;êŸÌ{ç×1‚Ý+ä&gt;èËÉ·t†Íkð%-Dì=9Ê}ÄC@ã8cm’Hr°ï ÁWÀnÊ \0ÄŽ&lt;(ÂRR«8¾ú´YVàÅ`ëppÜ.Uƒe_`®…°¹^¦õìµ›n^ç_ÅR|ßrÎ…p‰7/!M5±ìÅ|…×À\nû&amp;¢Fù±VVz‚‡O­AÖ~Ñˆ|Æ›¶Ð4NÈ’¿¬Õ”ò¸ð”g¿yh-¿\nN\&quot;r\&quot;³ôÕGcôsª‘©€D' XoÙ§¥ø‘O„{¥{Y{¯ÆEø=TŠeìZ‘¸ºú•î{\&quot;;•HÛÑXz¤t±ðwê*-ºÕÞõU¨çè§wú-þ¤\&quot;›¦&lt;A^¿OºÍT ¶]ƒD?:—þùåû©å…íæ&lt;‘‚p„qõ[¿‰È,)©&amp;`Û{xKIÂI`º`ŽÎcþ°0ƒ±ùªDÇy8ö‡ÉqC–­YëCFõ˜çJÍÙnkã[¹8÷É¢ñ:\n^ÛÖ«ÄTØ!X*Mú&lt;”5`\0¯É6Aò2oÐP.µé£aøAH¨¶#x[·—†€â–žïË 'o@¿æO0^äŽê¨óh|ÞPŽ=+Í)ºd[©ÇÈøX-ŽôWÂ!Ÿ…ÓèÃ†”/:\&quot;‰0k#XÇž&lt;ôâ°ôhƒCG‰Ý @Fƒ(éŒk†ö‘¹l¢&amp;H½F0OSz…ÅwæQ—ý3ÝÅÙz|+Žˆ\r9b½TÅ}'Ü¬wA´\r°nFù‹©”Ñ!Èg0Šlp›lÑ1û+ø|¤h‘kz—Ôi&amp;÷ªuëD±{KÖî\\¾ ¢\$t(¶;èÒäÃ¬þªHýr|Bw§D3[Mâ!:(Ý{ŒZ®å(|-ÓHy0ê^“'×½…}ï*£üÒöNKŽ…¯«‘Š5KU›²ájMå\&quot;…Âwá–]%üû–{1qÙÈz †Ÿ)]ÑÅ®[k˜\0O4ßýÒìû“UFÀ\0ócâ“œmZEGt‘sDQZã)n;7&lt;’qhlXx§IÆÂ^ÌVîå&amp;†Í·ÑC–`,É‘%£¡1\&quot;@1Ç|Í)—R¥kßþVÏê}S,Ä#!ÉÍGµôá]ý¤ExåÝýYTüý&lt;%ÿQÑ¿Û@Úíö…mô¤¶Jcææ™B£‹B iœ”âGñÇf2 Š˜¨cDÇänÕ§§=Jü€I_¶ûð‚›šî'ŸÌïóiA &amp;,™Ð{ËùcÃÚ4ºÇoV%„d¡2ýx€e»…‘#s_UÓHåÕ‰W! &nbsp;=Û·ÏOú&lt;(y\0€.À€G¹'Ï\r‰ð‰57äpVòº¶(æ¿Ã¾:îç}ôRRHHy[Òÿ ´²¿ý 1åÂøO\&quot;)ññL¦lÀñ1ÂÿûíÇÞ‰«û¡Š+&lt;~™&nbsp; &nbsp; &nbsp; &nbsp; \0¿Âçsø¯ë?ÐB@¯ô€dÿãýäÍ?nÿ‰~Á&amp;LÐ„­ ?ð«ÿ@:@;ýÈy¾òðQèº&gt;È‰ãÓfü«ù:\0¼tæ+jþszéK,b^áp·ÀýHXÅ?†PÀ\\Dè?v\&quot;£îËü…\&quot;¢&amp;° ?­÷¯»‡tþ›`áV?«\0“úäJ„wC1Oð„“#êÆƒ* &nbsp; &nbsp; ûþ@Ì¿é\0ÃþÁÆ‡‹û¡/#8\&quot;¢OÅ\&quot;¥\0€ã¡ø6NcìÃ¤[ýp@Cóh\0{\0 &nbsp; &nbsp; ¾pDOþÀFt£ÈH/!h@æÿL°;À@ÿì¦wÁôIÔ~CëË€Â¸)îE¡©4+¼¯°)”§áEbç?]«d¤í‘\$ä&lt;¤é‡Ì`o¸¾Ò£îï?}°8Æb¾Ø¸/°Jª§Ùo#ò¼ÚIV,Ac¤´3íXa äÈoîªxiËõ£ð\&quot;æ¤ŒCUÁª‚D°kˆYÈŠé}©\n\r\0,GÆ\0Ê|q»¯ ‚.ÅŠ€ÆÀNqÄpN†Ð”’jBO\$|Cõp}ŸÆÂƒ4`±ðÂÀ\\*4ÖÐbA¤àó+æD_ôòÀƒÄ™X¡\$Œ‚·‹„@œ¢6\n\0\$…~Ë£æ\0À®JbÝ…¡œÂ U…p”XõiD\&quot;üÛŽ…ç lgÑt'£þ‘ ç+xÂ&lt;¨ÓNŽÞ51eà’Â0`ò¿ñB8qÞ\&quot;O-â€Š &nbsp; &nbsp; &nbsp; C!¦ÒšØmÉµƒÞÚÞ*¸¸f@#Ž6…ZÐ›9 ¤”ZRàÇ°ê¸ÅÀã HZL€ eò½¢÷î9Â9œÀ T n€Î?xX\$î”0“´%\0002€\nÁy„!šeà:\$ÈQssAµžnxKÂçl1' €Nz!p¥À¬.á¹†êcép¾“¤1@‹…)mÍ:@PÂ\0á1\nä(CRä5D(¼Š”PÌ1# &nbsp; &nbsp; &nbsp; Ýd7’+\n‚£Buø‘haM &nbsp; &nbsp; aî\0”&gt;¸1W¨ý¡\0að˜¾4 sÒ-×‚'‘jp«‹å\nJmQ¨þ‰È) &quot;);}elseif($_GET[&quot;file&quot;]==&quot;jush.js&quot;){header(&quot;Content-Type: text/javascript; charset=utf-8&quot;);echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">lzw_decompress(&quot;v0œF£©ÌÐ==˜ÎFS ÐÊ_6MÆ³˜èèr:™E‡CI´Êo:C„”Xc‚\ræØ„J(:=ŸE†¦a28¡xð¸?Ä'ƒi°SANN‘ùðxs…NBáÌVl0›ŒçS &nbsp; œËUl(D|Ò„çÊP¦À&gt;šE†ã©¶yHchäÂ-3Eb“å ¸b½ßpEÁpÿ9.Š˜Ì~\nŽ?Kb±iw|È`Ç÷d.¼x8EN¦ã!”Í2™‡3©ˆá\r‡ÑYŽÌèy6GFmYŽ8o7\n\r³0²&lt;d4˜E'¸\n#™\ròˆñ¸è.…C!Ä^tè(õÍbqHïÔ.…›¢sžÿƒ2™N‚qÙ¤Ì9î‹¦÷À#{‡cëÞåµÁì3nÓ¸2»Ár¼:&lt;ƒ+Ì9ˆCÈ¨®‰Ã\n&lt;ô\r`Èö/bè\\š È!HØ2SÚ™F#8ÐˆÇIˆ78ÃK‘«*Úº!ÃÀèéŽ‘ˆæ+¨¾:+¯›ù&amp;2|¢:ã¢9ÊÁÚ:­ÐA,IñÌv4Ç¢ûê†Œ£˜P-«\nÒ¸¯¨ØË%&gt;(à¬c(P‹ƒ¸74c8XÐï`X…âó”:\r£ä¨3Š ÙKIAHH…Èsë\&quot;NÒ8RÅ0HY5GƒD¹W(®Šã¹3¬Œ¯Ut¢Œê &nbsp;PÞ9MˆÂùVdû?Œ4\rCPª…bØ¼2*bà3®T`Üön¨VM•sb ˆ0]pGµ%n\\£EÏ]ð¢8ß‹íhÆ7µ¡E`Ö@PIí¥jV½öTöíz‰\rC+Œ„¸R8\ró\0a‰RØ¾7ŒÃ0æý¸½÷l_¶2dYAxPZAÛ°Š@y°AðR…ôT Èo¨ä^CK~c˜óôéâŠ°{}c¸øèãZ.›…~†!Ð`ö¿Á@C«.ž‡‚Þ’.‡¹ô¨é¹¤ýyô¡\nòlöé9wt\\C\$pÕ¨pÉÙ8æ/Áåª¤eyn_˜³§šæãàHç!fwZôõ%hö…°c5~[ÃH{\$»î\nµ»\r!öô4…¡nÄÿìn6ÍŠ…cHºéçÛJ.6ƒ|`Ó›÷;.“Þ°[—‹ãùpˆÊà¡ÀW›ÝªÝô&gt;ùý\\÷Öî’hWªôZ¾³­ÌOÔÊ7PúöÌxA¾pUWñ)«µ”€ç¹!ˆ/‡pÒiÓ[ÁÀ…´³~‹Xà\nRàôù³â\$Á8?BEÕy!cô†PÚCá¢5.\nH±]=«y*\$Âé–s©ÐÀtš`¡«5¦¼7a¬\r\0è5ÇjÌÜ-gÌÀû˜ºÞ\0õÍ¤#“•êoAÐÃÐî‚\&quot;p´;£‚\nH&lt;•¹ºðÑm!¡Œƒ² ¼dÃ™—K´&gt;+dî ø=¡p)ªpP&nbsp; &nbsp; &nbsp; &nbsp; #À|«&lt;)˜70“Û¬-»ãÀ—á(ek‡þ9HéÊEè9†€¶ÌôŽ’œ.ƒ N¬ä”’ÄJ‡ hL&gt;e&lt;Û¿¼Cš`K´éxVA¿˜ öaPÐA9W”I‚y‹4Wjçp…W«¥ÕÁd²ERÐ2Ëip#)ÑÌÂØÚÝCD?€rºu°‰ªxs—³|Ï¸œAX+?§þl‘Â&lt;H &amp;ÐÖðîñÐT#¤|Ð Q£b ¶-\$°}Ah:t0íPöD¨9!9Sm‚ÂHûi\ro}ˆ¿ˆÆªP_ŽEÑa¿æx­fš¸u’{šÓ²vàâ&lt;)Â/#ÑQC*Üª\0ºrNirêÒtÚGNo¤w&gt;’ØÄÀµMÔÓ¼‡ò DJ†¹Cv`ò`N÷a@]¸(˜U ó¦ýS5{’È=ïØ·‰9N´‰Óç8z™3„^&lt;‡»&nbsp; &nbsp; &nbsp; &nbsp; ë¤Ñ&nbsp;  ðX¢c¥\n=@ü¿s™3&amp;‰êš Šd¥ù˜»Aj%\rÀy\\{&lt;#áš Uš—gÏR`‚¤^Á›K4lå¿!÷t°¼´{…\0žÜW«&amp;ƒ˜|-àƒé¢U¬À/7yU°ÊCº¿ÎÐXªÏR¡6uåH†¤åV‰u|I V§Õ\nq&lt;é¼‡*p÷)ó¾Óüÿ©&amp;N‚øq¡¼/RÙ„\nV &nbsp; &nbsp; ¸8©²•‡úÃáÀ3‡&lt;;†©ÔÁÄø}_¬“ƒŠph\rø ¥ ÓŠpt¢9#%&lt;¨¾2iàd3æR–s¹\náÛøkOfÈÇÓä«9pA•\nÊä¸9ƒ ·‚ú¼ I”ùYÌÈòþC¬c,U„²”2æ^Ì\0í0\$öNÀ®qsJÎ+d¶*ƒ@1:uÂ¶†ë´Ï‡ôúíkÎ†©!Ó4;é@zšZ‘Ç&amp;¤Ìd\n3\$• ÅßÝ C¨]¦¤ú£QÊÝBVwpª.KÌ\\Î¬ÔŒ\$9Ài&lt;2Zp:aŽ`UÔ´ÁïÖS¨3¤Ý|T!¼&amp;PéÊö,c=´Ä0Ó=ˆÇËN‹ÖÛd’ë›­6nÏZyiTTJ¶¨wÚûeSîuÈ'šnÅmí‹¸I¨n\r;—Ý”Ÿ³Â„Ý*)A…ãiŒƒ™1šyQí\rÛ_8?âÕž¾®7¥6–ðÚÁËl1øÇ½‚þùß{ò™½¿±°‚à‡cƒ²†­vrŠãû»{\\ð®Î.—,Û¼»ßeêvù˜kàÛ›eó~L÷^“ç7†…À®\n@.síÿçÝ8t–}É˜8¦C‚-ä›Ñ»ô-ý¸4ßIédO{sÕ»8ä–ä[Ëµòf·;}QÄÁ³¹s^Ý¹×QÚ2[ª(@Ä\nL\n)À†‚(Aòað\&quot; žç˜ &nbsp; &nbsp; Á&amp;„PøÂ@O\nå¸«0†(M&amp;è‚}š'š! …0Š{6žñÞ}ûº•k÷Ê˜@;ðpx6ázgÖ|+œ‚ÌòDòîâ¾+‹øÏ¤ÊyJŠßL#}Îó¬~ûü*/}ñïÍÈ4·Áä|•Awýûó&lt;À„èwOñ¬èäX\0Â€ÄâƒÎÕç~ü®ðþ\rÞÚæÞÝ­ÜþÎZåì¨Ä*¢Ù\nðÏ§\0vä0 ïèäïþ*Íòù/—hDâ?Oú\rnêéðBïPFøoêíÏñ0\\ÿ`ç0fú°kï„ï°rùOïHðp€ÿðhýîxïpqÏÒÖPá‡T b´‰ ¶åOP”Ä¯õ8æ¢æÍÑP ÚOýoÆ.Îí0§Î‡\0Æ\rÀÍ °ªúŽîêPE°Kì®•Í™\rP)\röâoÄðTþèv ê\r‚DÜ¯ý°ŸoâÿíðüMöA(XhC‚L&amp;º›\&quot;h\r,ÒNÂ^qKkb ¶Ø\&quot;‚‘&nbsp; &nbsp; ðÇ}qy\&quot;ïÀRÍ`ú°Ä\0”°¶Ð²º†n›+”´®\rn¡„ò³qH«HLñ®µ\0V›%ŠŸF: ØŽ‚½Œ\$\rñ¬ƒ‚fé¬¶Ñ˜jBçm©Qm£G\\žè•±˜¦„nk«’%\&quot;V½±d¬Âk ‚@ä òª€ç!2+6·Ò%‹ƒ §~”ÈÍÄž%ë r.ÌR[È 2?\&quot;Ì¹#\0¶Ô€w\$ÂU%±#!%²)\$ò&nbsp; \$LÈmA-W¬È{@Ü·¬ß#Ò_&amp;ìÔxÒÜò]\$S'\0ä\r„ò½ã’gÉ@mè¹0¡`dÍfº`G&amp;L\0È':xƒjxç“*Ð¾ìDÈLÇä²êè´Ä¶±º™ÅÞ(±ÀqÅ‹°Â,&amp;ÔžÜïlÀNt* \n ¤&nbsp; &nbsp; &nbsp; &nbsp;†%f(‡£¼ÏÐ¾µkZ˜&nbsp; &nbsp; &nbsp; „¶ˆ%i®n\&quot;.žëÄ»Çæ°®Æ~\0æU@Ä¤d€¾4Äö'r¤\rn#`äì2HÁ ¶ÍgŠ6ë&amp;œ£v ¶ºŒ×'¢\rr€‚S^”\$åš@ÀÌXf&gt;Îƒk6Ãr7`\\ 5ˆV‹'W5à¶\rdTb@Eî£2`P( B'ã€¶€º0 ¶/àôwâ‘sÚ³Þã&amp;r.SVsÑ”9ÉJJòx&amp;—8³Ž´€»ÓvÀÔ!`z4\$k´\0ãÐxš7pIó¤ Ó©Aé9µ;´ª€Î\rÅ~¯è¯4¯ó&gt;~'‡\nPŒŒs0PâíQA+/7`WOåéG1‘Fpæš´\n|í\0P¹G‹GtƒI\&quot;TíiG O@°½FÔV~Gè”2Ø\$»éª%¸«96´,7LÐÖæÑLSoL’hÍóP5Ê¼æÐ£\0¤ Î£PÀÔ\râ\$=Ð%ƒnUjXUÄÜÈkÜÏ‹àN\0æ«ç”\rÀ¾)F€*h“@ök B³”Ú5\$˜«56Lbs|Mo8+8\&quot;õ:ÍóG4³ON“S5‹Î#j²\&quot;ó³Nn§®cçJtå½T¢%(DŸU“SÕ]MÕj\$TK`’5„öo@ú‰è²ÈÌÍ§rYSNR1ERÖ\rÀ¶³‘¾E²ðXrôNJ†7Õ“b‹“gTUx®M5«*î0rÕ:3¦³&nbsp; &nbsp; ô™ &nbsp; •2iœš1QŠøµk¼Få¼Ð0Ž•YZstÍe¼½•¦c\n:oHÊFE£ xu¢Í#„ú4ãS#&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; \$¨t?õ¦E(p•å(êR\&quot;|eB X¦ƒê8 &nbsp; 4Å&gt;\r/´&lt;í\0E,^çD.€ËE{5 ÛaµÜ†*äÐ\rÑàZ‰»gç|ÔÖ~Ö\r:mocÔÑ9õ¨ÍJøv*ŒôÃB´Ò7rTÕ&amp;Ð­nlHŽ¶ÆPVÊ6ÔÇmDwÈ)m ö\rµñCV¨wãú \$ùuŸSô°ÓwS`AD€èL‡S6qˆk³Š)JklŽ'L£hB9h–Œ Jimn&lt;\0Ð &nbsp;‚&lt;æ·\0¾[…¼:\0ìK(¬”~ª•˜Ïs\0÷KÌ’ö¯Y'ÊˆgÙaçÄO‡¦¸‚´Ø(¶—]v‘:¦&amp;!`íPäàxV^w‚²¶ nºÄ¹àø7\0¾&amp;Œg|B\0(ÒÂÓì*,Á×Ä¾×Â²dº˜7â›¬tÇöz’w¥zŒ\n»E\&quot;,\0Ô\&quot;fb¤\$Bã(óh(Í4Õª5b?ÃÎw¦Áq|@Æ˜+‚ëØ€Þ¶×ô¸&amp;ÉŠÛ~Nâ´Žâ•Ì×—øN6&lt;u¦FxWQµÀ^À^¦¿§;P.#/­‚ƒç|WÈƒ8k.ÕÅ/7K/wÈQlÁ8ƒ~QÏˆŠ³\\1Ã\\˜“Ì&amp;\&quot;Ø¦WRï‰Ë/Œ)|¾A5r§µeEƒ@¾Ákµˆ\0OàÍwK&amp;×fØÓ\&quot;'LmŽ¸Üðl@ùøÛ„PZ³ùã÷7ªÈðÄ\r•#‘ožØx†`]ÄbÌ„NzZ@¾0NRè,é†x[P¤¹…øc•²8z“XÈ\r†?ŒóÇÌ?Š9÷2Ãx‡}€LÁÌF'LPðyzÃ°\\Æ™ÇŒTÃÌ Å¤¼¬iNÇæÇ€ÂÇ×ÒTx%…xau’cw’¸#l,‡Œ\&quot;àPˆ£Ûb”*¶›˜g†#ZudÍè,5\$¢D¤ä3]‡Ø›?ˆh~«0\n½yæN7Æb˜´Íùþz‹\0Þa5q•˜Ìk·pÃ÷vŒ“’±Q™µù,D–[œ¹A\\EyK†yP#U¡¹Zk¹óˆ&amp;)˜EŠ9qš¸ÜèÀî¿\&quot;ª7¹³’˜!£€Ú[™ÍQ™ÐMdÛ”šuQšJ#\$oŒ¹]¥jÛ¥¹g‰ÀO¦\n¦XDèÍ6Éê£¢Øe¹·§¶XÇZ£ø§¤:¢åE©:O©šU©ÙbÂz]‘7s–ú«›ØDÃìcƒ£0¹`Â?¢–\\ÖS{Ýyõ¯Èé¯S‰ihÑzÅEiçij&amp;‘®×«e'¼kº­“ŽX’y f6V-Zë„WewÅŠ;G„\$á´×åˆ{S´¸žK—ÎÊ7&nbsp; &nbsp; &nbsp; ³1nº—&gt;@ÌizúÃzÿw«9 ú‰›{ x;Ÿºš\0˜é¸Ú\nIû…¹šíyk‹‰ž[¥ž©7{·Þ»8-~—ÄÓwñ,[lÈŒÄ@Ï·•’ VÔ˜+Šá¹Ó‹˜ŠØ¿û‰½j½Ûc¸Ø¤Íø©\\qÇŠûˆ¹Y¾¼¾ì'¸Æ¤z½£Y»´˜Ý»«»Ëœœ™?ašA:‹QÙ­ãûæ(¥â} ó‡\n¡‡yî#Sóy\0Ï[‡ì?àÎÏÈ/¡š—¡Ù]¼ªÁÕ«™M£y£{Ë£Ü9¬¼=PÚÏ«¹O†šLs\\sWDÁÀØ»¾Ë±‡|7œñjN-ˆE Ë•+‡`užÆ¼¡\rM}×å~¿»ØI™øÕ~i¦Ú´š±Ž|ç—lvÃù}ÏY€ÄL1˜l&gt;\r¹ŠÅÅúñ±9–à,o¢YŸÐ9£}‰¢™ÇÕSgg¿Œ¬…»éŠ¼ÊèóË:…Ëu)ËÜÀE¼ÅÌ€CÌÀøR%»·ë~|Ù~ÌwÍë³Î0]Î|êÇ\\îÃyÏ™ŒÃy˜\\öÂØ¬7Ð¹•ÐìeÑ,m™Ìuš¥Ò7Öý(T],wñˆÎ¸fU=¯…š‚TRW6–&lt;ÖëÒKÖ½¸š¾gÚ;ô³Ë¦||1Æ\0Qy®\&quot;9ùvb\$5·mwö²Î†—o•è\r\0xb€kH˜é|µÉš ÀZ\rëh»ÀWÊœ\\¦«Ô±±Ôö.…ó3Uö\rË½Ø˜\r½Çá&gt;?2)—á©Ÿâ/â=âÞ5Ëþ0@Æ…H×~&lt;ŸÐ½âx·ˆÞ_Šþ/Ë¾3æ~I+~l~H‰YäÉ{åýáÞYâ^]À^aãeè^h•ë^r+&gt;C÷¹ÕbB¯,¶û´«2/LÊè²Á ¼Rý#mµRKI€Kˆ'í”•EöW­1ï]Fµz´_]óTÞÑ%4Ì”\0ÚV=í4á;\$T’ Çæž{Ÿ¯?æ ÷ï¬¼Ôžó3Àùn\r¦z ¼ûX?c§p—\n?ú#ØÐaîd¡î¤ºµÓX´\nÕÇ:zàÌ-‚^Xì! Ò`ø:\0äÇöy,DlãÕJ`û¢A)hÕUõéµúµõÿê+‘ç¼çñËè5+êüÃæç~_É‰ñãþ¿¨–¹+&lt;¹b]&lt;m5Ž~'—óôŸ—ÿ]¹ù')ôÞ¬„šÜº/ú™½Pœ¾rèœ4Óoõ{‹ô_˜ng¿ HFÈpBsÜHû1)žîbó•Þbñ§Ê?•í†¼\&quot;[ÖC&lt;ýU~&lt;0¶Úyã€:õG @}è„¬zØïÞºòw)}¡ú[ê–žôçì&lt;8š&amp;·X\&quot;`ÝB­Ww­µ{Åkù”U²¿½¢€.ûãä§E;À=ÏpQÉ¢³óR)t\0;ø¡Ô¼ÒÎ*­†J›C^ ¤d“ë,ý+d-¨€~¸*¿ðxpn‚œ@û¥Añ?ÎQh{ä„³'A5öP{dX¼`ßH+”‹êsSªÅkX/’”E(3=¨!00˜4¦’\rjÅ‚ÐZaÛôÁÁ&gt;Œmú­Ý4¡»¾À?og3xÆ•úJW\$°EQÀ’è^&amp;ìÉ\nQE©•ßh¯Òj€è•ÃqC„NüÆ ,yáêH™›ÌÎ²\$'@\nð¶ú;\0\\]÷Ï›Ð²(é\n6arÇ©Àu¡Pä/ò;P¼#q1ÀõË\n£PB.à6©õ°„ð`\n×FÙ°ˆÍ’W»»ËÂþ¦ 3dbZUºÄÖœï±=¨ø×ð›xØaö@=®‚ƒfËÀÍZ¦³;B‘kè¬€À–ïÅëmJŽîN™gÌ^¢öÝpér²¹äÙ²¯(Ilc‡¢ƒúøŽ¯p*ö‡ŒAŸÒOá«UÂ7\\D&lt;Tö§Ôf+ THÄËÏ `ŽRÇô‚ÁZq’[`of\\ŸˆÂ\&quot;€Ï€xÒ|E‰Ñf€¢Æ²áºÅ°P/‡S\&quot;²_Î8Å-CöFô]\&quot;jãh®ØFù29Àé!EùÓåìb[‹âóÑøEö*ÐêŒŒMìxÂ\0Œ`9ŒDU_»t½£¹ÑŽq¼^ÄÍ(ÏÅÕñ•‹j!˜ÍÆtX®'›ŠEì_Ø»¥MÆQd^bÁ³|€ò,è{4\\Mò°X°Ffù-¬kN`7,¦ùàBJG5À&amp;ã*1L‰Ì4 &nbsp; &nbsp; &nbsp; #£–-ƒ®üÏÇ`'\n£L?\0)Å|Àr&nbsp; &nbsp; &nbsp; XŒ˜‘|”çe\nJ9@Ê¬¶€È¥À6qÄX\&quot;ÉqE¦&nbsp; &nbsp; &nbsp; PmÑÂ¢N»ˆÒ–7¤}&nbsp; ø¡&lt;I\nªAÍŒj¢£uø÷ÈL+FöÜ'”£CZÈd&amp;Rn›cIÉÅlò\$„ð€»\&quot;‰)|7Ë4hCvcsÉÅ}Âs‘ª”G0~#fÀèeBð°¥í.Š’ràO!&lt;]/dñƒ‘[A\$ ©)šJP’±¾\0Y%žF`&amp;B÷´—ÂvM•II P€*7ÀäÖ2‡Ô&amp;lüžXo€.\0ªKZ”Bq&amp;&lt;Jáp&nbsp; ”•eÿi;\r‡¡0“PBÅÙH…ÒM²•ÀL˜üÄ°=ÉTÞòX„šc1&amp;y-I¨6fN’|¨¤¯&amp;yRÉn0r¨&nbsp; &nbsp; &nbsp; ä—%VÈÀêÊRKR–dÐ€Hžà €´A ü¤Y\nÜè&lt;JÄº’ƒ“L±œúù'~V \&quot;•œœ¥l!dÊè'€`”Šqå´ù«&gt;Iit3:LÉ²\\s%ÐÍª¡E@HC¶˜¡ì”\nf\&quot;¤‡ž‚@ 1Ý1 l¨nÍ†€úª¼îç/X\\‰DK à^-²nÏ|À\&quot;\n‰ƒ8@œ{à)P æ(P(äòs f y0óÀM˜ @°\0&amp;bÊQX¦]3 &nbsp; ™8‰®–&lt;Ãæ#11&lt;Ì.bÓ˜ÔÃf*p'&lt;ó4šÅÏ)1 \0®À)™ÚnÀ~cÈT S˜ ætI11š(\0–P,€‚d\&quot;=üÐ@½6¹²\0‚Àw\\ÕfzY LÖn(›œÝO}5&nbsp; &nbsp; &nbsp; &nbsp; ºÍàW=„ÒæÝ2Y“Í–e@OlÜ€¹7I»Nò“mX\0”ù‹N:n‰ãïB˜ò\0¢kÀ|¨æ,p&gt;Nxnœxh¦í5éÎ˜&nbsp; ÀGšd'€Å3é‰MØS\$HÀ©1i‰NÔ0ó¸œÝ€8¹–MvÓÄ\0P€\\©ÐNHó\0|9ç¦@\0!d€H§NÉ¥L”\nSØžÔØ€š*MQuž@&amp;£7i‹8ò“–œÀ¦)1\0#Ljró3\\àç9HKÎÞdÓ?žhgŸ:&nbsp; îOzvsà”ø§ÈÉóO¢|\0F4ßçÕ&gt;ùöÏ¾pSÕ|õç³&lt;*LBw)ä &lt;è¨?9ìÐ@ &nbsp; 3ç¥è+7ŠÏ²esîœÏ\0@™ÓÐ‚y”\$ž€\n(#BÐ'ÐR‚Ó« Åè5CiðÐ 4: çCÚ Ð¾}4D¡”ã(i&lt;jÌPôQ›üÓ\0AD™ñÏf€´%¡ý¨‡&gt;¹»L”õÓ4ŠT€‰@•I°OáúX¹ÀX ×(”&amp;l–')}\$†eI±fÆN_% Ð4àÆi²\\À±UhðCÒ=D§u“œóàË'@‘àv¢Ò8dBÐ-%(“TŸ%Ò7´óã–¨Ôf\n„X\0mˆ@CÎÐ0ÑòI´±\rÉ½€w&lt;úQ£õhS0‘9@òÚI,t´')Ë¦\0J7°\r‚—Ë\0ž!†‡Æ·W1\0åôù~¶_ÔÆ\rÝ2\nfÜŠŽû§œ@QKÐ9\r†›“\rXi{/¹~ª‚£§¥Ý2Z_ò™ôÑúùÂ2'*o’œ¬&nbsp; &nbsp; &nbsp; UØ³©ê\0¡{Óe(\$§¸œiáM£4T4Ì4í§}6)âº„ËômV}Aê3Q\0Óìl”Ó/=@QZ…:„kµNƒÀÀ|Q­„&amp;¢Õ4J³†»R*iSPÔ¨5„â‡\n—„®t@æœ€Ô_õ)‡•QI€MXoªÞ äk19B7à=ÐÈäÇ\0žÉ·Ì†l€|ŸØ¦¨[aaÓ.§Ô¨°\n\0½49§Î’v@Gš ´€PO'ŒZHÃX'VZ@T²•n›ÜÙgß7ð&gt;âl3c™DÙæÓXZÄÏfj‡Y«í_ËmX)Ê€¢zG¦¡ÅÀ‚à\&quot;P2|\0NàjÏX™†ìƒ‰{º\0ç0dä¢Tl´ž \nq;Ùß:bSŸ¡äÊhfy¨Õø)ŠQ+jSCQàä²˜ySÉÕ¸§0ôH–qà`&nbsp; Ú`ÒF¹„l®pT+ yçÒrºjZÕKªc«¡é¹WmAÖ:¹Çyè5ß\0P&amp;úšúÂzWÇÉZ™)D¢ TùvD«V¸Õ3VºõÔF§È­°RjÖ­û¨p³v®5„)šŠÑ'X&amp;@.°åC@ç`›pTª°lSw_ªâ ¢Á#ßí:!/Ô5¢rrâÐr¿ð;ºF»&amp;«M@À\\C\0\&quot;‹\$Øÿ(TÛX+ŠþÈ\$t+Ór¬Š84Xf¸ÖI•’ì‡dë#&amp;¨€cIPëÓZÒõÓälÁÌ±(l¬ÁZùƒÖÈÌ6^¦è‚œ3•æ¾|¯•sÅ\\Ô=€‚EàŽrçÁœŠ¿3­¯©w+¬(±,Œ Ðc§ÄÀ‹Ð^ª|Ú:`†h[ÛUah÷t¥¤ZÔÀËÔ¶ËO;¡Þqyˆvì\\êùA^°¥„ñx!ýj2VÕ¤Õ´E¢ªd´0ŒØ±õÖ°4H«²±°YHz •¶0+Ø¿Rjžô´ô‰f_k¢µ…¥AJÁjÌà[´©,U\\jXXó=´©°ZDw5uË¤‚ÓÕŸnù&nbsp; &nbsp; &nbsp; %'’£}–&amp;¾p&amp;´ )¾Ò¬q´XÔÖ\0+_9ÝC)õIÛŠ)Rý¬ì§‡`Äµÿ¦@ê†/!+UAfâö–áÃ\0RÐ=ÓAóš´%àr3{”\0`%z0æ®\$ê&gt;Ñ¸‡•=¦hœ¬]/û6š…–§4\0i•_2¶U¶«•eªè¦;:J±NuV|ë@ø &nbsp; ¨€üGºhU§=Qh'Œ(T&gt;,þn‹?#ÊÝts¥žýfç©=cÐVvu`¡U'X)ÖMÒé÷QºpÕp7×¤!a´˜J¨lÙ0@ZFçE•¨=ClJd­›žáóÓíuAJtÈªp˜0’¦W™¼UwŠØëÆ‚ñ÷‘Fa\nišÝ»X‚¢J*»àÙo*6Š†ÚèkÕ8ýN®÷[* /Ñu¯MCUMaJ”Þ²¶V!¶½ìUŸ!+ÛÅ¬´p—xhæà&lt;@B‚íâÀ½] ;€ë &nbsp;íu”®­Ð_2ŽRñL¸ÅÌ:Çßˆ&nbsp; «4½.f1ë@b¬%\0ÇÃä!{ø=MÛ¿°|Š¢`x” &nbsp; &nbsp; &nbsp; \nÑ‚oú!p)_ýtãÈ¾ûŒÝ÷#ˆŽpa¥¿ý±i\\˜ï3D–¸À.ˆ¶ñ¶•Y÷2ÀxÅF„gÑë„ž¹8'(Ñ0BJ¼É@b£Z£n &nbsp; p\&quot;Ee9„ »‚ÁJç0X3ô«„b¸\r; ÅS¢1[yÈ=(73À† &nbsp; &nbsp; &nbsp; Ã‘ƒ‘2œ™”¸*ÀÈl0‚!V¥lr‰Z@&lt;ˆ´‚ŸT¸ÙKmŒáXiF\nUÚ?fTˆ\$i8GS)L\$¬8B±iD!\\B#&lt;4aT–·»+ˆ@®-ü7\\¨Ðx6Âp°¡ƒ¼?Ž\r” N/é»°¨%L+`¸hÀtÂÌ&lt;W‡&gt;á•{¢Í~(@ìü…üáØRä™06ÇžP+˜¾{EsÃ¶\$ñ*Ù¼b‹ &nbsp; &nbsp; &nbsp; ˜&amp;¦#ð¥…Ì[XÌ¯˜—Áþ&amp;†‰ØÞbùïn‚ÎñS…ÌU•¯¸læ,0G~ç}àƒcUf'dCs&lt;m\r;Ø&lt;Æî‚*4”ÎÜÇ¬Ç~±Ç‰oam4¸]/î0ÄÜ2cÈFxw¦H;Ràâ»qïµ¾&amp;&nbsp; &nbsp; kXã?AIÆ Æ\&quot;&gt;†€´¬xÐ?°÷,PÄôbäiÅ«ñ)c&lt;\\+Ù+ ^n3’Å‘ÔÒä|N'!+PG–N5ìT°ÙÁþBK ‘§!ù1\&quot;:¦2bP¤,ä Fy*ÒöNÃ“&lt;a[&amp;Â3ÉÀ²té–‡7žù\$\\Çqß” 2ecInÞTãy•2šc_ &nbsp; @\nuþp Áüx‡ÿ+çXžUq·&lt;®A.ØÂKÊ•ÿÊŽ!2¥?¿8ŠfrË—8ƒ\r8(íôp^±!ë€öÿ×!ŸYÊ=q&gt;´\ràv-Ï€Ù—°¯&nbsp; &nbsp; Ë1âÆgþf,ïõ[ã«,e'ZX:2\\H¡ó ’ƒøy&lt;€1)[Î±Ò;àD|#ð©‰H@ÁŠòLSÑ3€¨&gt;;ô’]2X¬vjï.GEßBi+d®%ƒÞÂ,Qr%Ð¦Â¶*ýŸIÔèà‹5`¦tÑ-És–bª8EÍÛ¾€ƒe\0=ç´2î¿/è¼ùYq9-eZ®„¼1\\ÊçÒ^öU½†ž`&amp;g WJŽËY×hK]8W@;Ðp–ô# âªè#BŠynqÄ•œš\$u™ä¦Y¯ç—!á\$§öŽ)(rX@/+œL8ÉO^‹Ê”p6,¼åÚÑ°wÂ&lt;%MS©S=Z%´‚WèÌ\r…\nHy/¢2+eÚ1¦Eý†É£\\ÊUw &nbsp; &nbsp; (p\n-°ÃØI¶¨Sî“EŒñZiI@1&nbsp; &nbsp; &nbsp; &nbsp; ˜ô¥`ãÆ\$ñ44‰¥´…8íÓ&gt;\0Âäi·MùŒÓˆ4æƒQ jºY½©yÑp#éxú`Óî™“¦m'é¥ZÚ‚6œ¨zaé»S iÑ&amp;´í¨Ê’Rü&gt;z\nöžôÃ{TiÿP:˜Ôöœ—jÝZj“TÁt¦Rïù¨@:à‹¨•Þ­5«h”j{\râfÏÚrñ–½Ð\&quot;‡xœ |¦cxÍ?§ró²àkú¨p†‘Õ.²rÓ&gt;tqÐC¡ªê&nbsp; &nbsp; k5h¯­a†Ž\nó­U:yòÐó¥ã®xW8èk·â×)3Ú!Ò‹kó^ÔtÒ}ôÒ–-x5ï^¸²B(q@±×Qd]Æ´CrØ\&quot;kw[&amp;ÏÊuís‡ÖW:Éê•Nž@îÀ×Ód±ô¸‰¹=°•³+Z9©¤NÄôµ±°„³@ã¾móÏë{-%&gt;çH‚Ã¦·‡R0*”7K/&lt;~œ•áŒ,jsÖÒön§P\09.ÖÍµµ‚þSj\nØË74ŽÝ±,í\$;EÚÎÕŠ-¶†Çmé\0*È»vÔü7µc;u&amp;vÝÖ²¬37íØ¡»y(·ˆtõn;JßÛàA¶ïÚG4¢hfáñù¹R†’@5€)V{[þYÍÅmàb£²©Žè6û¸1Š‘pÛJÝ6ãŠ¸ÍÀîœ;[.ÐÅŠ[r¯–Üb9¤V¹÷0­Ëî´\rwÝ€“÷C·—Ïw×à×VT¤ &amp;=×,âhª•zHä€)êè 8¼õE—sI–t&lt;@e+0yÃé¬njçT¤¤ÞÆ®€w©…~’dÁJÿØÏƒù«@û)c‹±+hñª,íûêŠØ«8pµíL KÏÃ:QîA­ñ‘og™õ×1ÄoŸç»?IÊZ.Æ?Á=~”ß¬¥n¹°¼©kF¬!n%/éEŸt0'Ì”€P&lt;Æµ…GÂqPä´“F¦ÎxAøq¿µêÄ×âƒ«vn‹`,ùºcWÀ{á9Kúß‡{|±+s£&lt;é£÷4Z+×¦¹6ÁP…éPL¿ÈÙÇÀ(L=¼Õ®¡—jf¾h‹Û&gt;)½Aïí˜ ýq–ÿpKÌ†¼˜ÕåÒ ü~À6d0€¥ÔY½#y¿}ütOÆî°RýæCSÆ_²ç‡œßðÈ|bHwë¯s…O%UÐðwâpÙÜNòˆœ¤‰ºY]é•ÆíÞÓU\&quot;rMît¦ù»\0jxoW¦DÁƒË[[ÌM± Øy·ÄTÀò•8üÃ@·9˜àh‡“Öâ˜!šùŸÌ‹r`›ïà‹\\/®4Áu{œdÖ8SÇ¡Ásb¹\&quot;ò ¤Á¬ié;™úji¨Ç¿¬kýj}v£iÖ74ß½­JÃä9=Õ—54ð0'ù?›íÕ(Þ7öŽqgûøà t &nbsp; &nbsp; ôŠ_¶âÝü[§úžízñÓŒ\\wÌ_&gt;sÇÁ“_ÿÞÒg\0¹ç·ú©ŒVœ|\$äpœ¸-½ÞBsðXÜ‡À.ÇÙÈ;ÿ¾3„—¤g²û€PCD¹€êGy1‰ž‚j\0y=MËž;FŸÐm(ÂoD7y³kÇ÷ÁÌbåo”=ç!:’.Ó%C%í¸tß¿‘¹²Xm\$½Ì6&amp;öPÉbjÀëTÞuÑ*ÀTx€\nÀd5¾¼õìÎt^d³(S|²ô×-qËŠøãÑ‘ï«\0©¨Åú(tXYQ!HFî´k‡³÷à·0t«˜ž’æ4H|Š³oNoûÈN•”%°\\†Çw\&quot;0½ÎBq‹µ\$[çŽ™ùÂfŽ|q›Îü7~EyÖíî¥Xº¡ç—qø×¨&gt;|ë Ob*Ñ\nÒÅèImßcËEÐ®ôºeÈÐ6eŸ¦üvËŸLÀÉÕnÉ©äKxx~aú›ÇœÀf)9„ËŸ]F¦!¤sòI‰iNÄh~áÓ”©ƒ×R£úÒÞ.ì÷µœì¯GF½ú÷«Œ8¢ï/†zdC•fð6-“#g|ûÎï½tÛÂŠÐ;¿ÞÖ4™TVô)·kVÞßÓñ/y„ÀC ×ÀƒÐÉ9òÊ07h@œëÜò).Hqã€EÝîñN}üšK¯+›ØY€r¹\nb3@ŒØK1 Ö)†lžAË§Þ=#œ«HiL®ýÍÊ„5‹o¾A€†ïãÍ“—B&gt;Y‹@\n1Hºà·!+â×È£s¼0èGH~^7ÀÙ€ ÐÃÉQrIô8²Íð\0ÃŒÐ`¤‡\nw¦=0A›y¨[QÚ8HÊã¢O¡˜üg m¼–ï#Ê®ukHB§ÿŽ°#°o›uf oÝêk íãŽñ^!ÿñp{À}»š›Ø½4Iv½—ºíÅû?x{¨›äCY¬-åIC×žÐõó»È’&gt;0¤ûl\r¥Ñ\0°Ø|Q×1åÏ5Lö/±öîj¿ù3;›Lï´·^ï{ÆUÞn(}íºÿîÌb½ÍW‘ÈÙ¡Üä+š&gt;æï'¸·‰ðÑ{WsC~qM;PäéR¿vÌ¢×ÆŠº:púàóQšïÕGÀà 7„„a§;Àéá_Ïz‹Üæ)|¿£Á:ðg\0Y‡*Æ/kÄ—\n—Ê&gt;UòÀ0xŸH@ë-=\&quot;0H^U°˜E+Òx+ÿû#Æ;èáª1¯kÅyú’´ƒ£ÍThü:GÛ&amp;ª-Œ!qs‡3^|úÛàxWë-lëƒý!×¸íF°÷X“ôt]ÇîBXY;Q€LÎ‰Ê‹½êé0cIÄojèé„AøQºýŠÆàLþùGGãâˆ%\$(wÒ¹ÐEhÈXKða¹·ïçÑoúºb€¿5ËÎøúÄ…‹sAÕðât/\r‡Ý’`­wÕ7&lt;MP´–*yY¿h&gt;Pî‚r‡Ì=zjW01ÿgùdlþiD/â}^VÉ\&quot;b·À&gt;Ð”›ŸáàX¼€Rn›ÏÝâƒrˆ.0õëüÿôÌ™9@ÌÙÐæ ¥ÜÿÛ®È·Ö;å&amp;³^û2š‚hYXh£(´ÿ¡b ‡\0¦Ø€Á/Ü\0ÊlÆ:0ä÷Ü‚Å?ˆóÃt%¥&gt; À€CG4@Öí­@ËE¯&lt;“ã Àh &nbsp; OŒê0Kä\0‡@rà[ì\&quot;±¾À)›AÎoX4§z¼ è¹NRºÖÌƒ«`ö¼jä€k¬ÈÀ¦PŽ‡” £]OˆlÀ‚÷ë2\nì³ï*»b½5DnÛö€ï…’ã2òˆ(þ\$ÁÓ&lt;)»Hac:¶Ï‹ƒ/Ë8Ài:ùn6:à0;Î&lt;1úLP\$ Ø£âYÂþ‹\$»¡³®Ñ:0›´¢¨µ–ƒð‡‚ŽjIP¾\n“rL!w”Œ¢û’ŠN\0&gt;~/`4É+\0æ¤Á&lt;‰€^RX°U†6¦„É:\0ö–bNÂèŽŒ*€.éN¯Ìpxp_¶Ã 8\0XoÂKbè˜–|Él\0Æ–ÜÂö)\0’°P€Áª:&lt;pl¥\n”@»A½SPP°º¬Æš\\»Ò AÔ×03\0006 ºø(à.ÇØÓpv´}Ø…9©z«ýäµ¦À@N\$Å†?5§ã…Ÿ¼i+Av“8`»€y¨Ÿ ¨‚¦\n;Ô ¹ óêV€…¤pß€ú\&quot;Ïïj¤í•E=ÙxÁ0d\$§PèÐV… &nbsp; &nbsp; xßXñ ëg\\?\0ePaAJ/`ÓpS¤ÁLÐ™Á &nbsp; &nbsp; &nbsp; ¨(PYBqÁÎÐžAï!.bÂVsª¡\$ß &nbsp; |Pf%gzTã£A¥¤ÐkÁ½Ô0l%.Œ¢l¥5I¦É+“8I+¶“’“‘BH¸*©pÂQ\n‘ŽG^B«&nbsp; &nbsp; &nbsp; &nbsp; rLPUBµq hB¼–ÈénBÂ”œ,bè¤Ù4€ºÁÍY×`… &nbsp; &nbsp; |#`.Bæ’Ô.­ÎBïÌ\$ðŸ†6!ì*Ðs\$â”#&lt;ˆB%¡€‹€QÌ*ó”e &nbsp; &nbsp; ‰NÒÂˆ•rLÐÚ\0ÎN1!i+\0·ãÑ¤÷\&quot;Œ60bCgaNÞ\rPUCqä/PÑ\$BNIBÁµ,%#£-÷\r´+e˜³h&amp;pÂÂº/d+ðÄÁ·P²C-ÉBÕD;D…C}&lt;BB“”:0¨Ã¸\rPîCPèÐôBiÌ1À•Ár”£Î &nbsp; &nbsp; à'Ž‚Àìc[Áƒ\r?P•*?ÐæÂ³ü+pñA·,1Q\0ÃL@°qDh.Ð÷½YˆPùÂÃ¨û¤´`0¢@‡ç¤6Q·b\n\r€Þ•¬0‘Ã\r\$1Á­@²ÃØœ=ÄºBÖ”¨ -€têX°ìBù”C1®“,©+BI”ìÏ´%€ù &nbsp; &nbsp; &nbsp; ààÖ³(ÙÐíKT\0ÞÐF@¬/¢7Xá\nDÒØ`€ˆœ`ã[Î•ñ¶p”DÇ¬LÇúDÐ¼Q\0\0îœN`3€^ \n@€°%È&nbsp; 9Áü§ø€„›\0Ø…ó€[ð þ&nbsp; ³LÝÄÏÔMAë¯¤Q“2Q8)”úHWñGDíb€%\np‹ &nbsp; &nbsp; ØSšª …„€(à#¶t–Á‘‹ÚDò’HQq[Éf‘]ƒ\\'(B@€^á(CCvÄúŒV±[Å˜`(ñ^E¡üZc!„7ºÃ‘EÌ*ŒY1mEuìYñ_E¥¤\\`ÿEÊc,[1eÅ×ô]Ñ`Eá°\&quot;ä†¬86 ×ñzÅq¼]±hÅ€xí@†…ÌçOE®™\$O6¥}ÀQq=€›«™!\nÅ&lt;bÑ:µQÜc¢ùOŠ†Æ'„bïÒ\nÜTàÅ(|QqFÅŒR`&amp;E*1ÔRã!L^ÑfÅÙì`Ñ`Å†ñc\0^H!‘“ÆygÑ|Fƒ\rñbFŠ¦€l‘&lt;ÆÌcqeF™äiÑpF¡”hÏ–\0ËÌ]Q¦ÆôhqbÆ¨4O #\$=\$g±®FÏ”kñ¢FŒp.ª&lt;\0å„k`©Æün‘´Æ¦§äO(J ³ä[q¿F»j1»FÖ4¤\\(¼¤’3\\TgÿD-œTÑCA´+ \rà7€ÎíM€€àx¾Á&nbsp; &nbsp; &nbsp; &nbsp; \0Z &nbsp; &nbsp; R›\0005†…p\r1ÕE\nìVIÆ(;R…š~[&gt;`3„6˜¤rp”™ &nbsp; Ô% ÀÚ-°ÁÐ–\0ù dCÃ±ü(9¦ÑøÆA‚x“@2Áþ¤!±Ý*`\0002Ç²~8SñåŒã P¡•AÚŠ/ Æ#æ©‰-§8€1€¤nÁÚt€*\0†#O±øƒ0=0&nbsp; &nbsp; &nbsp; €'\0d €&nbsp; &nbsp; À’( xàGù &nbsp;\$ƒÓ\0 Hôà(¦2Š\n²¦3ø€fïînðâ 7â\nÌƒ`7GþF@&gt;H.á5 &gt;?ÿèB&gt;Ç&lt;ãzò\$`¡À&gt;0ÐR¨útY´…ã¶°+ ÂF®àQÎƒƒ äl@&gt;\0ŠÓÌ…1·0”«\$VòÆ´Kò&amp;\0½¤Š@0µ ûHà&gt;4úäo\0006ÆôŸqî¶8»1ÃP=9Æ\n®ð1°7ê²\0¦D*Ò&lt;€ñ’#H‘\&quot;1|ò#£é!K3Ò=~=nmòHî˜,€ñ#ô…,{I#Út„ÃÉ~)‡ Ö“\r b6òIð!1gàE¢/ì’r\$ä’äÅ)\0ô„…ó€øÈÒ6”ÌŽ'ß0v3g@†É\\ú@\0Â!¹ ‰3!4ä©HdLùfÃ_è°9rŒ,[ŒxëebÐf ÿHHhpf1~ÈD%,„Áa)”0 Ö¥ã%&lt;ƒN´©øc€&gt;½&amp; K!K0Â-Ø€;øÍH0ª¢‚&amp;—Üà¬›.Á|#´‡°.È@3Éá!Kå\0002\0ó!‰07‰Ê¿ƒeJ9h¿²\\=dðTœò\\\0ßQ™DI«d°\r(II 8‰Dr„Z~(;bÝJ8ËÀCŒ¶U!£RH¼\rˆ» 3Iô¦Ä—¡_ãýAÉN#“32™¨æ1ø@äú{¬£@ÿJ+#¨=R}ˆú2à-‰~H.Ê!`:€àÉT—ñ^‚!Kû )„JÐ»(\\…-\&quot;#’¥ÊL0 &nbsp; &nbsp; ’tÊƒ)d…/ï„›!ˆr‹”]8¸„Ñ‹ô.SKÒ\0ŒH\\wGà:Ã)„G÷·Ê˜¼®¯Û5+ÈN &nbsp; ‹”æNà\rŒÊJÌËÒÿò¾t¡0&amp;‚(\náa‹Í!I„sá!!d€1¼ð0‚²ÊDè 2:Ë5¨¬á‰3)°WîµJ%‹½òÁ:0âÅÒË‚²#Z*ŸHë-kç×´æ\rÈR²Ú&lt;-|Z’Ö2§LµÀÖ\0¬ødxæ›KŠAty2v‹®L­A8Ê\0ÉK²²3–+\\¬’Šƒ¼ÿ{eïöƒ¼ë¼  ˆ…äì!Ö²ï¼ÿ\$¬gãIª.Ã¦ÉO#«Êò‚µ)Ø&gt;°\$g!PØ€6KFè#Òq\nÖWØP2NˆzS{)|ˆ/'¿²û±ë(k„òá¥øfQ*ÒìJdJ´»€&gt;­©øÁž!0“2ò\0Ñ0“RbrÊÚ4œ•ÁyJ˜ª \r &lt;Ø^H@‚Ì¸S™©°dÁÁWlTÅóÌ\\¦T¼£è¦TÃF;q!àMCÈx!\$ºÖ9²_ñAy?ù–²z¸2|½I|„Ë.«ì2²)*c´BR€‹+ÜÀ‚Ë2Ô­`K›2û\\RåË›+ÀBó0Ë™L©“4ÌÍ3dÀ )ÌÈß(­ËG,ø„\&quot;´Ìˆô¯Ò’3x¿S?LÕ3&lt;ÎSAM.tÏÒù2³.‹Á !+·%8!ÁJ”HŽ@ˆµK%û±ÌÊÍ4Ãÿ³AÌÙ3“±³NÍ*dÔ,ÊM4ä/Å¿£Zc¦ÍO1¸\r‰\0\0ß(¤¢Á§M&lt;/ÔÖÓQÌå5Ì­38J75äÌS_=5Ü©AŠ-0’:)~HRàQt¬Í‘\0\rsdGsdLº.Ì‚ó´[6@Öâ5—é6È2¥MÌ’ -/ÍÆ &nbsp; &nbsp; &nbsp; \0cóLÍÎ¦ùÌÀäMÈûÿ³e€Ý7x³q‘\0003‡b½4ŒÑÙ4`1.jä­@•H46\$Wà6\0„\rª™²iÎ\n©ôº¡y\0±8h;Éí&gt;ÌÑÛQ_&lt;40?RH10ÛG (LüfQ5/°„xX’†øÝsŒ­¤bL§`&lt;‰Ë8{£r§´ûSìá‘É­9@Bçß½8x6à¯'´ˆN\nžÎRÙQf`ü€Ý8|è¡\n'´ØÔŸï»6T(2^A*/'0E²tÊ*¼xáÉ‡#dËgàHØÒë²RHÙ(B›ó°¶U#`\n \$ÎÌc±â\0(#é9ì§2\r&gt;¤óê‹Ü\nÌ`CrýKòHP ©£ìÁÛeP7ˆ­\$ð8Ò†É6„½ñèðY°6¨|¶T»ØhàÂœº RÐ„,4s³ÇŠ*¬ˆ èKœª)Ds€JVÙÔŸ‚õ5¦\n™MH?í/|õ\0006@.LÀhùË¨À&gt;óÆKv§L™\&quot;!K(\n“ËI´£¤÷¡Ov¤ó)I —Œø“ÌÏv6Ãœ3ã¨é&gt;dò€¥!Œ÷à‡O¦¸f/ÞKºÐŽ¥ÎLvž€…0Â&nbsp; &nbsp; &nbsp; T’\nØ‘,á,ËÇãÈÜ¹Ð6ÈM³|’ºOdð»!'U=ÃC/øJd*¬Ç­F&lt;ÿÓ¸¥±!H; Ú‚;Ñ™A~—^&lt;aSe¸2Ö˜¡=Oõ1• 9L{9è ,:­9Ð ,Ð7™øµ¸-\0`¶\0Ö`¸ Ìu:1| €e1ÌVáL#AŒÆ&nbsp; &nbsp; &nbsp; &nbsp; ÏAp\r“ªú`À©Ì7)ŒÆ@à™,dÄ¡ëÐ{+¯óÜÊÇ5…\0bìÍ`‡°¤Lh¦U\n¥Ð¦e\nSïÎ–}ä‡\0ÖÐJAñø!2\0çA,u\0006PKQ|3ðO &nbsp; &nbsp; &nbsp; PS€68\0%@0É¦\n˜L­ò5.É™ €¤\0',”Ô&lt;€ä)@¢“í†?(P5óJŠ¨ÇgIª\rd—€9\0îùTÌ’´ƒ)ÐBòLA\$c»b)ü¦\r˜ÈXÿèC´O³(ì\$ÂNÑJ „qHV `\&quot;M•8¾tñìÆ\r‹;0»3|QC7Å“XLu1}3X:übO4]©”ëU’çMaEÈ?T=€å%0¤â‚C!ÃT®ÂLŽHøÇ`ÕÑ*P8K‚/\\ÙËK6{ïSY+€“·Íª´àäKQ6@6ôVÍ‘&lt;ƒeI€P¯6CSÔzOÙ\0ÕËPŒf±›€áÈ&gt;¡˜ž80àÂÇôÈaÏ\&quot;gI,gmFû¢çá™”r ®IdŠ|ƒF„R\$ áÈ‹Hñ!“2FÜ¦P †HR¸ î‹²¸ &nbsp; &nbsp; &nbsp; ±8„²aÈ5”•ƒõIh.QLÉ(@;Ó\r³ZÑ3%\0=)@ØBà*ÇíHø?T£\0†#Ÿô¢ÇíI\r”’ÐJpõô•LÉJU%ªeR_Iå&amp;@:R±%Õ&amp;ÔªRq+*‹øR¸Y°?R\&quot;†J…*R¨3ËJ°iÔ¬‚\&quot;ý,ô¸ÒÁF5&amp;jäÌ6ì.¢ˆŠ'KE+Ô£Ë&amp;u)T¶RML)T”°£LD~Ô¹R¶E”ÂSK½&nbsp; &nbsp; Ô¤ÓKÕ1€!ÒÍL„ª 7ÆÅDÀc‘Kê-3ò4ÓD÷‚‰ÓA/x%T@SVÁI±ûS^= À`\r’Ëê\n5#”Û0&nbsp; R2Q‚8ªòT–I#¨%S·Âwº´Þ‚|RÏ7ÓœÁ/EÓÊ\0¸¿´ë…›‡~0A/‚\$ÅÚÓ¿@82L!dšƒ¦ÒÐ˜tY°Oô|7&lt;aœ(¼Ê®6­4d@\r‹O¸;tÔœAÅ?…Q¶iIá¾|&amp;€,’&lt;wÑñŽ˜ŽÀ-¦ä¢“ÁCÂŽ“¤ñ‚\$0Û€ë+ˆ¬åð‚B1”ô­“Pñ\&quot;Šž ¬Ò*¦è#\0ãHþ§­E£JOÊú¬’5Æ\0\rŒ¢ñ]OÑì²ˆ²^\rxzò:ƒ^&nbsp; òÁ_(´—Á6M'%[É-i‡]Fà#Ò“€åNü¿Ë÷\0Ä•ÁLNÅ4²fÕ#i:SˆXÂ@4®÷%ù[´Ê™• Í=ã‡&amp;#e’ªÊHcõ\0Â€€8øf &nbsp;Æp4ƒ\0öag®àÌ/eD,AÚ€@àbE &nbsp; &nbsp; \$PõÄJjÔ2\0ƒ*”:ÑÃ .‰Ãç24à£¨-P@u“È=ô )Ò\n=x )\0‚˜ò”‚€ =è\n`+§ÃH()\0#€˜x÷€&amp; =:kiÓ&amp;¼€)‘H+&gt;UéßÕ‡Chi\0€OZ~@+“Âx&nbsp; &nbsp; &nbsp; €\&quot;À.F?B &nbsp; ôBµmAŽ”üCÉ[¢íDèÕmQuF‡j”µR/4ÁÃT¤uK%‰TÂ“MD–còW!B\0„EÉÁÐ“`É=èªÒ&amp;L=ô€cÏB(\nÌ¨[ÛÐ0âU\n ÉÕO¸ÏŒ1•EUTu]’\rUÝ\\Dé[†¸\r€žGËí`1ðÖ'Xµd€„UÁTæ?C£¼HµsV3WEcuuÕ!Xðëu\$çà‰,Bâ}e5~ÄUµPÄ1Ö.–'••A:&gt;p¾ ‚Ã¨•iÑ\n¤ùúS‘ÝSµ¥E\n1Ð\&quot;±T@µ@#Á³lNà1[(Ã±:³Á¤PQËUÍl4DÕ[%lÑÐ„%[Xðu·Dú5ºb¢&nbsp; &nbsp; &nbsp; ÊkHb×Dµpq“W]p@9\0[R8¡õÅŠÚ(-RÇN©ñ.£Â.UpTW%\\á*UÌ¦)\\áƒ@€ÉC­tUÍŸÞj\&quot;\0&lt;WRc}uuÅu]v3’‚¼Q•sõÕ×!]}§ˆWX]­w“·×.¦muê&lt;I\\ 5•×¹†‡ÍrÕÙŠ˜ dæh×^usMó†ž¸+ 9ÏEuàƒ\njÉÉW¼½y’ã^èÆUòW[_E{õÒ„ãHÐ&gt;µöWÈAõ~Uáƒï_¨: è®k]xÙµþ\0b(ä\\B×\$õ€89\\dàñX4€UÙ…aèH8Wì#esïœ…^é€A?ø+=uóÿ\0×`™Äµê•ÊÕ|\0äz)ýuïžpµÓÓãQ½uàâ)”`£”“é]xOu@6¾ewàðØ`qäÅÈ9‡Æ?½„ ÅW@hñÊv# &nbsp; Ë@m‰\$©X›˜+ &lt;×~(ãf\&quot;Žj§D¢¶×e‹À1XÁ_=rA=¿›W9—\\ 5ØËc=ŒE@Èl€ 1X´Ì: ±^éÆ\0À\$=bM‰sûØ®˜¢FV¯bŠ\$©Y&nbsp; b8WöC…TÝs6%Y •’@Ù(-’Ö)ÙTÚb±/­ŠD…Ø‘d­¶HØœ®LÇ`À@d&nbsp; &nbsp; &nbsp; VGÙ=eU‹ü€ÐÑùøvX\ne•”ÖZWF{­—MMY9eM“Ñ²u 2GN(˜-(Ù+bµ˜Ö &nbsp; K_fX#Öf»9dåŠÖcØvnRb‰Š%4'-—\&quot;Ý\n9\$(J•×W%fÕ™6j@7gvr4ÿd/1ÓÉÏgÕ×€Û[eŒ…}Ó‡c%˜à†ÉÏc¨âN„J\$éøaaÙ¬N…› &nbsp; &nbsp; Y2”dS¸Úb­¡Q›`\0Å ¯WÊ\r…žÂrÚ,Hü®\r†éhÅrQù…æ\&quot;°‚àº‡i\n•ÌFÚKK˜;ö”·iP+Vª™iu¤pÚc3ð]ÖšZ`8j\0Ø-‰¹•×ÚEiØ¥ÑØ+d]Š\&quot;Ù‰hƒ &nbsp; VLÏ¼¦Å•ÕïÙf}¢1ÙÙj¡6¦Æ7dM‰ö\&quot;XYjÀW@Ù¡ A\r…e%¬\0¢ÚÅjªb–tY§:…¡öªZµ˜Ûá§ÚÒe­v¹¦(Õ®6¬ŠdÈA¡Zûk\r¬iŠE¢§Kœ6ÁÚÕl*Ñ&lt;J]hu®ö¼ÚÿÚ ¨®¨¢–6[#lbò;ØóbÕ³v¶dttà7ØJt°A§‚¼Ùˆ¸8ØòÐÞA\nlxÒ–¹Zþ&amp;°!~©Ò˜¥´€•[OmH¶Õ´~µÊ&lt;\0ém«öÚZ™m»ä,×[Gd¶uéŒi-ŸDqZL¼î66[nE¸ Û‡eÌj1Â[l¥“6Þ—J}s‚/[»me¸–Í#èmŽÆÚJ¤¹vòF7n?Jt€[Ró\\6ÐYoŠÖL…±c`à5Úíoý¯Öòëüvm–Xç-ýŒ6µ‰a côöZsl%¡C@£[‰••ŠWa¬ ÔÖí[žõ¼‚W[Mo•¶Åg\\±¬/\0ÅoØ \&quot;µƒsbM 9ƒ«dÍÄ£×À—ãä5Ç8&lt;vÖ#4ÒmÇ,}Ù†ç§V|Ml¥Ÿ‚S\\Îö‚…im;ÿçá†ž»Ûâ+YQrEÈ·%ÚÉrjÆ7Û¯a}¡À¨ZúMrW\&quot;ÜsÊ3ÿØŠ(êB—4ÜÁqà76q¾Co…*µÙ+q­ÆñÜÛhsžv&lt;……oÕ”W-ÛÉrí“7?Ü§t\r· €Øµt-“—&gt;tHá)­rJ7\&quot;@w]Å¬7IY‹pmÒ·7XYt\nG¬Ê]\rp\rÑQ\n8\nÃ2€Ñ°TezPÝ\0î=ÕvÝNEÉ#ÁÜ½uÌ—EÝiu-‚—NÖËsíÔ^Ý.é}È÷CÜ•dË‚2Á]1f½¬.gÝr0é4ÖÀÚx°õ‘&gt;WvEÚ7.]—jÝÛUÇ\\k4qö!ÜõtØwIÝÁF]pwq„5w)\0•ýÝÑqµÒp\0\&quot;\0_az]^Û7v]Å[-Ü—&lt;ÝåvÞ–L7®c]ƒa7?\$¯-Ü7;^w5àvµ]=va¡gÚví¼€¯ k\$w±ÊÜ;Z€!µ©Véql@;Vð0íl÷\\‹[ôv-óÝý`X ·xWõ_½Ò\&quot;øÜnð à&lt;^uwíÙÄ^ew=Ó·›]ÕÄr‰u¹pñá*²urÐZ[]™þÁœGÄ&gt;Ã©5CÇÌ»€òÉ(0*É’€Œ˜µV0W‚Å &nbsp;  ‘ ¦ (\nÕ‚¨[zÈò`)^¸ZkÉ±'ä#Åî\n\n^ä()—·€’šBiW¼ Ê\n°\nƒÝ¦ ˆò7¶ÞÞ&lt;ˆé¥'Ð@  °^Æ:À3\0*«@ºíì\nÐJãÓ&amp;h\nÀ€…|ï Ì¡zõì\0)_\n=ì  _D=h\n5_Z˜Œ’`*\0²ºÈ3Ò.Àº(\nÀ'¦Îã!h'¼(õ`Â«&gt;&lt;ˆ -\0‹{zi /€®L8ò`/¦:øI‹Uv@Z]€†&lt;ì×À_{À0£ËÖ~=õ`ßm{,7ÔE{=í+£c~òl—·ßÇ}5ìWó_²X×É&amp;\$Jk×õ1mü7÷ßO{%üà«8hx`\&quot;¦Àá­û·ý'{}î7°^è¢î÷Ð€t…ò@\$€¢šÕî—ú€™zÐ\n… Vißß±{øi‹&amp;JÅÿWïÞß|Ø\n &nbsp; ¥UZÍþwÏ_€NWþß(»ÿé:_R„R½ß3}æ—þ`&amp;\n²iAh0™Æ\0¸ &nbsp; &nbsp; ¡|EñSÞßŒà¤_%òÃÊ_2Ö ö7Îß¶8ÍýØßÉ|{8%_Y}pcß\0‡}ök¦_k‚ðò©‹_s}Ý÷ «_~Î?€` ×»à{µìùàL™pf8;\0¡^8\0¥†˜_¸E` \&quot;b&lt;úwéóß~@&nbsp; &nbsp; &nbsp; ÷å_˜-ùØJß£ƒÌ€—º_­˜-ƒ‚:fW·_Ã~Mùiôa1~~wéá=€&amp;í_?„Zo÷·ÕuUàò7º|XJ³aUrbõdßðpZ &nbsp; &nbsp; ÞÕ¨&lt;ÖwêÞÐ™0f#ÔU{~@&amp;_æá€ &nbsp; €*€š˜¾£Ô€¯{zwØ_3` #ÞÀ\$(0¸gU¥ƒPX?Î‡Rk`&gt;+\$.8gßÃ†þxà…âlIßaã†Ýü8[Õ{…ÕX8aßæðóIÒá÷†€\n¸\ràc~Þ€aÍ…µWxà?ˆ\rÿ8&amp;°L&gt;!—Â^µ€|÷Út=åa×`=”‡Øß« %ëéˆ  âd &nbsp; &nbsp; ÔâM}x\nW´+|-ì áUãÓx&nbsp; iaC…˜òÕWa†-òs‡ß¯€ØòÉî'f(ZÙ'}‰ªèã×¦\&quot;^'éˆb“Š˜\nxkbª=5ýƒÉßhÒdCÝz=6\$CØ€‚&amp;+¸¦­~ž%8µ\0W‰`ô´â'‰ˆòƒË`‹v&amp;õYà‹µûø\n&amp;0&lt;â€cÍ¨Ô&lt;¸&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;!MØóƒÏ\0¡Šþ,8bÉŠ–\$˜Ä?EíXÉc\nµþªÝU”­&amp;Ahaí€10ØÃã‰8ø¶âV»F2Ø¹âeNIˆbq‹Þ3·À&gt;øÖ\0V..¸Ø€WƒœˆÉ—¦b˜°€#aª=BìêÏ¨[ŠP‰ˆ*=€ &nbsp; ƒÐ*à˜Êè¸‚`7Œö¸q+Hº &nbsp; &nbsp; &nbsp; &nbsp; `\$â‘UØ5k^º=ÐZ&nbsp; &nbsp; äbš=íí²ã»}÷Xóc½.(¸õ¡«†dÃ_3)øŽ_§3ôCÒbÜ\nF1¸±OŒ†,õ…ÕQ‹Åûycõ‹ö.¸#¦c‹Øó &nbsp; &nbsp; &nbsp; ¿ãé.A©¼`&gt;™í5…§LšF9¦:&lt;Æ+u…àß‹\&quot;‰ªä€V•[(=&gt;X%ÒŒ=H\nS9aÌ†xãI‘vE «a[ &amp;2‹£dh=PZVU]U†#ŠÄd^\n¶‰˜ã7‘FG™\&quot;&amp;½èT£&amp;•‘Þàâå‡F?¸ä\0&amp;Hy)bïîK9)ãw;P\nù\$d£æ#øÿbË‰&amp;J³§g€vK#Ê=‘nLXÓã“H*Ø§^Û€ýð *'K“Ž•†á‰n¹,¦`®:Ù:\0Vá  &nbsp; &nbsp; )ï&amp;!|ÎPØ²¦ÁŽVO‚å¦-ÃÔ§}”š{¸·b &nbsp; &nbsp; &nbsp; “ÖPØEe#”æO˜›cgþPÀ+ÕZrtù(O{Øôr®â˜ÎByLN˜î2ø2å(&amp;U&nbsp; &nbsp; ‹ßŽž\0Xêã€ªìk¤MÀf5]Ö˜†VXUU\\&lt;Úp˜íaHÒ#\0˜=öZ˜àXvW &nbsp; &nbsp; &nbsp; ßá¤,Rû`…ŠØ)˜fß•†6Ucá„0Øë,œb…ƒÐÕ¨f'`%á›”Î©ŽeÝ€Þ^8\0Ÿ€þ^‰ú§Ò.\nX__­Š¦P\0)Áé‡.B@«d‘va9)'¹‘þN÷×åþO÷ñ+~¾+À«+€¦XA˜¦-‘€ &nbsp; &nbsp; õj3˜¨&nbsp; &nbsp; &nbsp; &nbsp; ®M˜þaX‚Õ]ƒ\&quot;f)Ù€ª&gt;y:æLà\n÷Å…¡€¸ò˜4€V™½Xø_…’péà0=-ý@Â§zªíUY…b–ØÃ\0¨¸µ‚È¸x\n™&amp;ñš†jXà&amp;“š¨*É‹_r{R7KˆÖi‰—+q3–kw³€±›8f9šÏ{‚6]éaš ê´¤€V›lùb€’›&gt;jy®fï›Þy´‚¬&lt;Åó)—Öœ(\nkfñœj‰Ô«@­X \0Q~¸÷Ø@åŽF8CßÖL0ô@*\0¾›`òÙÎ^Õ~r…x®gDº6t•Tß|ä€x£á# &gt;uÙÒâ &nbsp; &nbsp; e)YÏªÇ®uñú€‡JkyÕçš2èÃÊ&amp;±šeUø{§MŠ;ªÐâi‰žU·âL=êu#×g£X*tÉßä+Œ0×¾Èš  &nbsp; &nbsp; &nbsp;'µœ¥úîUYŠ^)5VÕ“‹®*Xž-UÝa\&quot;ªÇ†¦ÊÒ8`­}aå×•ÕUÙ{gæ­Îùâd¡n-8»\0Ÿ…æt9¦”&lt;æLµ„d«‡h÷ ,€¾=I0ÚhŸ8òú¦\&quot;šò´:€¾Ÿ8 &nbsp; Ô£cØ3h1Œ\0i˜§§zð8„Ö™6„cž’d·¶è8­Á1ÎhiŒÖ†Éß'€õXË9™|«£Ì_–•a‚èK ²´)­ß¯Xn‰9µ¨Z0ò5„\0Œ›Æˆxá\0ž&lt;Ð˜àã¸ àèžÈ\nX½èÀ.U˜à¦WŽicÉà:»:ƒ«´§ºžø &nbsp; &nbsp; &nbsp; ½€þQ&amp;§µ €\nZ\r“&lt;ö„YÇèñ£Öƒ£Íèÿ£ê´9Vgµ‡Rè¸¶®¿‹ªbÊ¨Z«‚bùúä*˜åIŽGþ˜àk¢€©¢Êcš.ª½‡rmP\0³3–Y\0\&quot;'¾ŸÂ…ª2ÞïUj…IùiI¢º´9È ]W`+èèL&gt;ŽÒ-cÈ&lt; ø|\0¿‰–Zç…¥æ\0¸èe¶{©ó€‰ŽNŒ‹£H´˜¶ƒÚ=h+¤&amp;™ú@á1¦¦dºS^¿‡hôy=fWšžØUa3~…úXNè;ŠB‹‰¼+FŸOÚva\&quot;MøÚwgí„†cÈ€˜žÒíšG'Á ðòºGiá¢b)Þçí”@öXC¸f&lt;ö\0¸ÈôØ``¯Ú´:ˆcð&lt;Èšp6&lt;ÆŠcÑaïX^Y„cò=-ax€’žžCRK¨Z&lt;Æ›ÊÒcf%¾?ø‘€ƒ©n,Ù†gç¨®‚š&gt;h/œx÷ÚHç­‘Vyeè‰ÆYWVZ€§}l©ˆ\0±€-ó¹ûj–žO8²_[•0\nY\\§Qª~œ€#€¿n…Z¤€¿Š&gt;wyìà§ªØõY_[¥èöX\rê¶šÞ«¸|egUj·:«Õ£–sË¢a‚À\nZ&amp;È­\r`ŠÒ.«îIÔ`{¦.¹nå†­«ø\næq•Æ–WÉd.Ÿ’´)Òæa–®`&gt;g†šÔÎX‹ä}Ÿ8ò¸‹€²»(ö\nÒ.Í›v{¸T7œˆ€,3£Îd«£g»~0óØ”á¤ô&nbsp; &lt;{Î&lt;}°3§‚\$ÍÏ”)±8ˆ@†R34¨:í•­Úäµ¥]¼à~6U!&lt;–@íjZ ÖºS„‹Ø^ÀŽÓˆ´œB€~ 5ôãÉ³,›S¨,(˜Mó©ëÕ9p 3ìÎX©/ZæÛu'ø:·FÏp\\è)|Æ£¯X\rÀ&lt;‡Y8Xtè„•!`6 4Æó°.¸à6ìÙÐ+ZÿPÛ°€n¡ñÉ&lt;­0˜Ûñ&amp;b”w®0&gt;ÁŠSr&lt;§@6«d\n•ƒzãlO°úFRlO±;H5°Ú*„ºL^x0¶&gt;g6–s /ãqœ‘Ye\0ˆ‹@&lt;§z=\$‹CØ¦•žø\n`+'S£Ž9ëäXõ8«_/‚¾Šiñjöˆ&nbsp; &nbsp; &nbsp; ·Ìh7²5Y\0&amp;†c©êwøÍäa™Ö¡ØEìÉŸ­Xyfu‡Îb{5ìÍ³vGµjgãˆnÎXdìè\n²{ƒÔlÇ«†Í™Š§³~­ìV…¡³è ?¦3´Ì÷·éW}æŠÇR Ch0æ&gt;R½=÷ 7Æ¬”à9µxÝ´&gt;S‰\&quot;Ó‚4zöÓúðÒ´0f\&quot;`ð1½·:æ„¸x:ò³’x;ZÊdÆÖ”íÉeµðK€;Ðð@Òg¶TML´¡7N3R¾k™€¾N(iÔF‰;)€Orn:Ó¶°\&quot;â&gt;Ž^#ëe;nÝ!Q\0 /Ô†fU\0\&quot;ý@Rp6ò ˆ¨ŽBóm•®0€ó&nbsp; &nbsp; ·!ÛYír/T†ÊtŒ1™VÉeOQzBrÑ9,Æ@9mÓ!–Ýt‡¼11;‚\&quot;cmMu,Sæå&lt;Å®W\&quot;ó¶yv¡K)Và»mƒV,ÄÓb¨úkà\&quot;à1¯µhxÅðÈF&amp;…à†È9¹tƒÒ?àÜ„Iq¶ ¤ï\0gø5»MK!,„ò?Áå!PSQGÿe€@šÈa:Àbƒ¾Hd@(: ÝîŸDd†ÔFJ1HÌ‡ 8Èw&amp;þã@â…'i¹VmL E/å¡[R˜RË»ZõnÅfÕ§ÞÙ´_¹Gâ‹hl¤bÅ‡‹»´ŸôlÉ.¦ïÁŽ3%IÎïŽ[c6Žð 3ká,€ID…íçX%›¿JSoxêv„•KøBûq[iDìÊanýO@¼Û±mÚÕ/è|ÌiK¥2RjfVðr±ïZEJ³n™g\0_ºHê;PHDÓnã-ò•ÍiïQº°aÁ)Œ)¯PgÛáëL6»±‹¾%l»±kÕ:†÷s¨kÚ1ÞúS©mÓNF½›ëo¢(žóSJIe:†øÔºJ¯¾=l»ñïFæòÁ)ï²‹\$xàüÍ£¼&gt;óûÃ†9¼X›úo¼&lt;û'ºÊmHf!ñï£D;Ž\0áfÐSA˜ër/ã;Všl&lt;üeðšµ±Š¯œ»Ø»2JÎA\$ü£kœUÀŒ¢çÏÄY¯…š€Ú ³&nbsp; &nbsp; &nbsp; dù\0×»|pP˜!fÅÒðZ\r@â“À¦ã’Oð'_x6;\\4§%´Z6[‚6„tŠ‰ÊKÅ°#Óu1|î2…XOo&amp;Þ6~¥±DqàÖO&lt;Ý&lt;Œ:Ó¶|Ž­–p%%ÌÖ³RÐ&amp;\rÀ*oÊ¡x\0C[Ê¸#¸çõ:lpwªÍ\$KLÈ€;shƒ`äaRnˆzà;Ï”í;·±|8LªÏÜØ=OEÇ¥H†* )š-•Tª/â›²_íH._%›‚öã„ÒHê¯Á7THÙSD5&gt;Šô°SË_µcr~…yÍEì\0Ò*ä^¶ùÿ,ÍŽüFS¸è=†\0é#¨&gt;¦å@c·Eé¢ÅäMA7oØ\r R·ñq½{S©ÜóþÕ´1Ý'ø˜®á'm¹³À{p0f2/¼Ì»&lt;m:-HÆ¸Â˜Œ%N'[P°wd…fÍâ\nÀ5&lt;tˆ¶ &nbsp; &nbsp; &nbsp; &lt;n…š5ðF3ñ¹+¨b¡ð*ÏqÆed›—Æ«0”µ@šS;¸éž’d„°‚ì–À:†;=&gt;Ø=€ÐÖ#¼‡ÅóÈàNÙR2Ï`ÿFÆd›\&quot;‰ƒwQÝµUN«±¦ÀR†€æŽ¯”utvÓ¡\r§'øK#ˆ¶Îþ²O\0É°ì”‘Ïír”×'•rƒHË.| í;O°K.8Èê¿L²€Ü„„HTÀ|srž‹ÌƒIMr¤ú/4&lt;ä¦Þ&lt;”rª®Æ–0ì5nöÆÛÈln,Ûl?ËNÀà¢ƒaËf¸Ü òá!fÆ¹òåo~À|ºòñ°°@2/œ¦À&lt;¹òûËÐ%|³òÉ1~òiL¾ &nbsp; _1 5ì'Ë}½üÅrÜ!ï1´6òÿEo2¼ºsÌÏ.à•óÌ \r¼ÅrûËý7&lt;ÌóÌß2&lt;Çsn;r5*OÔûlLD°F@Øl[Íœ«;ì]Í¦ÆHaGw7¼5¶YÆÌš€®°5HµÕ\$ÅA·ª\\&lt;t|µARQD¤ã!D\\îãI¹qvî€š@à}§ŒùÎØ_þÄlh•(ñ¦ÅáSK‰iÏ)|iwT÷Â’ÆÆÎ¼òO&gt;æ,aÃñô–&gt;T™Îá4|‹sÖd`#y\nuÃ,‹Üò\rÎ·@AŠsØ8=Üüt“dñÜYËw&amp; &nbsp; &nbsp; &nbsp; &nbsp; NßBñhœRãì2ªt %Ÿ»q,TŠýïŽ¡wM˜ñ[!O=ýë²xÝˆNHJ@ƒC6ßFÝƒ¶~øa\n.ÏG»q•\&quot;'(“„ô‹qà\r8CvhJ`9\0ð/ãÀ´|t–&amp;w@á&amp;ÏÒ+ë\0‡‚¼°]ó¹Ëì&lt;bt‰Ð×?œDqO:ÌÝØ&lt;/aÊX‚!8À‰YEÑU”Eñ“½Òl¼Ý7G=ÓÑaLÊtñÓÿ@1^óÛÏÿ&gt;&lt;ôÐ‡QõX°½„âÜ€&nbsp; \0Ç}?CwÔœ©]‚=ÑEWƒŸŒ¥\ríçÑíàäéNR€+½NÔÍ#ß]?õ1ÇoG¬öô}.wG³ïÁ¤}%×6QŸÑèÀ‘#ô²@.åÝh;NÙ &lt;PåÕä 1„Ü8ˆtÏÎâ¡¼þuŸÏ€I¢ÅMÐá!]tUÖ¨DÁ7q&amp;0Ü›Tôz¦þ×\0ÆqHØ‡tI¬|`6lIe°R¢‹Ø¦M¥°ˆŸ^ .õˆ5€Äuóe^†MÝö×_\&quot;½õó7_½'o+Àè0ÑÓs×çQÝ?†FØ€€º«H¡Ý‹uîXR+€Â—JÌ¢O¤\\Â\rÏ7`ŽN¿ÿ|EtÏÐHû½w¼Yã_„Ý»Oa#b@²ìGÒkÕØNÿÀ0ôœ S„½‹¶U„õÈ¸Þµ×h7=\$Œ_Ú0cáxõŒ7e2qtDå¡p–ñ0½€uómÏbÆƒëØ±*]‹^è%À7NÝ?öl/PüZôêwO=·‚ÔgnVÜôóÛÅ¡ vçeÕ©wn1að^]Áö]&lt;p\\úÞœÛàÂöÓÏ&amp;AzX4#§Ý¯7Ø¯_=Ñk`Ð‹}‹!EŒØÁ²õóÁ^ß“ËKØ·t2_÷CØ·\\IX3Ø·ý°Ñ:%Õ‚w/P‹QÐ.Ä™£GÝ¬†A?•[Ó—Ý“‚'Ýwd\n9p)ÁÉƒr7vj[àóýÞ@!õìw^ÙR1ÛÚ¤7[Ö„ÝÝÇe;‘‘qïm[«wkØ´µ°¯/5Ù¢rö, ?bƒ']­Úr§ò[\r‹/5ÚÝ°ª×¯·rÀ.îñ%ÄUáZv-ßl…6~ËÍBõCóã­ÿ×ÈÖý‹Ghø‡½³S ÄougM¶Ñï€p,×O?Ë÷€ÙßD…d½mwà?]²u!Ã R¾4âV×_!§xIwö×^øH9_=&gt;÷}á0ÅìÞ‚½)Üå=ÔHÉÛO_=Ýø€dØ¡Œø†íŽØ ¥Ýdƒ 3÷Þ]¬¹ÝþšØÏ_6:xDx7B‹³Ó¼\0Ô]ð/È=ÖvIµJ&lt;AºÝ×XÎ,M×Ëeô;GÂ›\0002x|&amp;\nÒtS•½×ÎÜc4uÿã}Âøpv]\&quot;9x_ObÜ'S÷K¥½‹(áKØaÞDøðX·‹ÌSmÝÇç…‡áì3€çä§_&lt;;ÏT½þM‚¥äŠ†Mù\rHo‹¾*Ëã_ò“¹Ñèƒö-Þ˜RœÔÍ'NàU:Šô×¬ñÒH‘Úª’%\0¾5¿g-tˆ\riÅk5ÃÂÇ\n¯ù˜`åHsù¡Í¯isû~qOoí”\r^m&gt;\rŒéO÷/fÕ&amp;?wæÔõ &nbsp; ÝùrÔ3*}îtóµ‰Ý&lt;†‹çwOý÷¸\\eÉV&amp;d%}!.ŸßÞå{Jªöf×&amp;Fx°8+Rªï×:š¢€Œù‹Ó,xà€ú\rØ^üšø2uÞÔV]òqOs]ø™x=#C÷I}¬ýeÝîÅ1bÒšõoÒtàJŸIæwP½\$vñ±´î&lt;Fp—&lt;¦–òyN¤\\·\0Ê=ÖÄâÜ+5ÃÂPl›õ\nS»È³ýÿëÓ¾ç©\\6íƒ¿vû»iõÃ9q4Þg#åïª|ùÕÔ¤vìz¨KäÞ½»µtÅ/Ý/ë¯Ü5éÒÊj_IÂöo%!7Iž¸t±¯Q’Äãk‚\nÈMÖwLMë­àé‚pu!0KŽ\n/W¯þº¬]Ú—´æ[åï®´jzý·ƒ¶)™Ô}\\Xí€)ÓOþ¿ö&gt;}ÂÌS•ìÙ8Á@\0Ö1—Gþ{?Þ÷yU÷ÊaíGžÐ/¶/´Kð~¨Kßí‡-œO_7µ}*«Oa¾Ó{z%áó³Ï/¸Á,Ôµí\0#ÝSû…í=¢`…7í¨aZLí°ý»{ŒH^Þ&gt;ÐpµÂ7EOîð\&quot;àüù†©/¸Þé{ÓÈà=TNƒë½…]¦ÖG.Ô ²€øW·¦Ü×ûãé?]ˆOß¿vLVFÊû{åïíÝÁJÈÙïÏTmioÿì÷¨Ô@œéxO¦?zÆ/0OÝYõ|.Pžb|+Û˜»Æ\nðJaW½/ŸÄ+!¯óì?ÎïÅ\\V—_ìWªô|±Õ=¸‘ÇðŠO²ýÊ†\\úF‰habÒúoC¸Ç@ìÉOqç|…û\nzÀ§OÂ2ùñ‡j=EøQò—I—÷éñìþ¹v07‘4ÍˆÍ®7³=­z‹Ýß¿2ØMÈ×Í=)ú²M7[!öåÝßj·ƒ„J &nbsp; §Ë}¼^æwÍÿõ­ómáhzÇx9à{î„Ý¶MŸ½¹×A”Û|ëìÌèö÷ô³&gt;o‚)ô0Öý¹¸\&quot;ßBx}40ßKì(Ü\rmÝ¹ykß§Ð1|ÓOnP–tÓè¬”–{û•¼ŽåÜCqÍÛÖ\\dû1ÒŸÓa.uô·Ÿ]t¿7ˆcnãÈYöDEVÑÛdÇÎ5(}&nbsp; &nbsp; &nbsp; &nbsp; g×½u\ró×ÙåþÙ&lt;TŽ¿\\ý“×\$·cÔ«ó*TûûðþÖœ;•[·«’q{ûÞ×]U}Õ¶ Î_tÉÇã¢ƒ5udÀ”kmq_Þ¾7µKð†Ý&gt;ý+y{„Ý&amp;Ãa?Ô&gt;N,¼Â5ËQö—¦^±ý}ÿÑ¡.}aEr&gt;ç+åÌ§@ÔÍê×ÏÝníãì?ce|X}'oìücñ«e_•voìï{Ê÷}-÷x¿~Så_Æ›Ê=ùwn\0;Ø=¸Á|âË'ì8’öâä']³ÿ{CÃèýnü?æÏ[´uIÿÖ±4ü)~ŸëÒ=…uMáßë=½À1ì]&gt;F\$ðsRšüª¯òOšäã\r‹òåMw{°/I»â]íì?²•5í“ú¼ÒõNµûè“û„íØ6›u“ÃàR¿üyJ‡³ tî×Z\&quot;ÈÙpñŠŸtÓÚÁîÝÙÿV_È©šœ¡¿fþsÛ‡oÏzÖ×óÓf€É¹·óÁ7Ì«¿ûðfVúAY\$ª«ç|óëzÕí[n¦P;¥ü[ý\0ŸÝ[Éú/÷eCÒˆ€¬O)wßòUÈBV¶Wïž\\±üƒçàpÔT‚Ž]ˆåØá™_ëô¨ &nbsp; &nbsp; ¯GáŠú#Ó_v}ŠÛ5^éÐMµ/óõò‡õÞ\nD²¨ÜdÙîK­\0B³Ò\$ûóšQz¨¥j ˜ž³“MD)5Ä‘À4«!V¬¸¤\&quot;®XêÌÈUŽ\$þ\\!W:©2OÊ¦Âp!V\r9bõ†Ê°&nbsp; &nbsp; ôª¤U°‰1J\$à.ªÒè§ ¤‚žpÑ@.â|Ä÷“\0T½˜YÚÔ)ð Œ%ØˆV\0¬õéJËÉf’·s\0RŠ%åfÀp€ƒµ€4\n\0â˜G«€–V´„¦´µjÑ1ÀAq\n¶eÈ¢A¤€tm4­™Š¶”O)ÅAyùâ?\r[ø^tTD¹Ë@^G‰y‡HÅÞ×”@i%­Ðèè\rËYà8¢¡+Ê¸é_ê¾(Ù E,dW&lt;@Wê½ÕÇAr H_\$³ñ;|&nbsp; Q2K„–X¬-àBâËµwàé P®CYD´2¹%´‹WTÀ¥]2sŠÄoÁZþT·@)jurKoè-\\L`èð'Zý/\0…Énƒws¤ŒàaÀ¢z–zøµ½nk h¬lpïUa©KÔWð6&nbsp; &nbsp; \rš¹\nëi¥…ô o®™rVšÂÐÃ×Ð9``:®‰z(.h°×#-€ó–&lt;ÔNÀÀl©¹[P€tK5E¡¯ZxŠd¨p\n ×+%Ü\0&nbsp; &nbsp; &nbsp; @Utix€ý«›X„p¦jº7ÍaOÕÑ‰ZÚh½`NU·‚Å¨)ý4Ò²…ÃˆƒðQk( M¼ ÀYbåÖ-ÃDï\&quot;èé¼¨ü8%@&nbsp; &nbsp; ÔG‡„â¸.dåbÄÂƒÁ¢Ÿ.\n®zŒpËW«9Òg&amp;Ë°ŸCææ\nÐ²^gŠ«Ši7€õ-XÑ—V\0†Ï\nÊ{Ó†,mƒÕ5j¬1Uk†\n²û“£_öÂñ•`-,­ƒÌ5e4Ëõ—°yæ_\n«Ù‚2‡‚¦Ð¹ƒ3…ú¡îÉ“@\$lêÏà™ÈFaŒß ½2 füÂí…ë\&quot;¨,BaÀ-0È'FÈ•.h-¥iW³~UŒÃÚü DÒŠ³Ë`–ÆÑœ!V84Ì’˜\rÁ–+I­’‘5æ&amp;L/X—3_ÄÐ%ž{õüE×Z‡’‚¤Ê%–s(È6¬MQ‹9ƒ†Äq†YtfŒ¨ØºÁ°&amp;\\M¤‰:86\rà¸±ß_A~X\n\nÃX™Áºƒ¨M!ì5þÌ‘àØ1pƒŽÅ&lt;v-egà…5“ƒÔÍÝUk3î\0€%?ƒÞÓ&lt; ò-&lt;/¾dÁ¼&lt;øy@óMàØ0-&amp;ÄžÔ V¡h&nbsp; &nbsp; éÂ\0ª¾|¬c?h6c`÷“Ö+sæ\r°&amp;!0†š²gj_À=ó3‚·P‡ ´Ãƒ»Ù”ÛCE3P{Ø¬€B\\&amp;ªl(7@ÚQ¯›ƒÞÕÞ\rƒ–'0àæB'b eXlöÇëÛÃÙAÛ'N2{Åøm=Úx²éc€Å*ë&gt; l½Zg4GgÚÇ\r)Ã\0 &nbsp; ¬Ñ\0AP„ºAžû%²êÐj\0\&quot;€Ggß &nbsp; ‰’“F/„Ù:Á­dŽÉyŸðyH6Œ—šÂkf2¿ˆœdfKÐr`ÏB=„ìÅº{=F~Ì— ï³bÃaUt¶}š!B²… &nbsp; &nbsp; &nbsp; Ž&amp;ˆ&lt;Ì—šD2^f[µ‚»%è?F&nbsp; ±/ÆcÖÆñ’ô §ÁåY/B &nbsp; &nbsp; …‹ë\0(AmB¡?±ž„\rt*ÖplÈ¡Y\0+„4ÅY’ô!èV°ˆI­B#…wšÛ'˜EIœ¡\\Â„^&amp;‹?(M\&quot;—Ã„…šÉzÓ¸ZZÚ0\0M…jÖ\r¬-HW!4BC_Ã &nbsp; &nbsp;Y;8I—˜Þ%iìÂÁŒ1„ÌaØÀ±‡'z¿]‘;†7LÌ&nbsp; êÂe*ÆÆéœ¢°ø+°la73ö…ñÊ”/è_pXÝAÅc€Æêä¶Ìna}Âƒ¢ÆrÜ(Ø:ÁìÀ«AÙ…UÔ1&amp;&amp;ÌaŒÂ'FÆê3¦‘n¡K³/`®ÆêÜ¨S°X9Aÿcu\nŠ1ˆ_p©¡1¶c?\n±ÐUð„aÂû„(Æê³\0èh†ØÛBºcu\nñ¢3&amp;2lLÕÃG…„Ðê\\4xXÌa!d±¶jîÆêŒ4¦V°gÀ)ÂÕ†­ &nbsp; úÄ-¶6Ð·˜!€+…Á&nbsp; &nbsp; &nbsp; &nbsp; \nk¦7Œ#XÞ¯°6LÝùZFŠm2â´Î(VÀµ—\&quot;ÿEï°uX2²\0c¢UÅ³ƒ5&amp;;,X\0Kl’¾`=32VB¬ÖÚ`ÁgjzÔ4ºë Ð &nbsp; &nbsp; x×¶Ã*ƒù\n~øy†‘„Z“¯h_tÔ5—{/`á\$*È^Ó Q‘\&quot;X™¿4Ÿd„ÃhÖ¤!¢·LíØ&lt;•¸f¤V@šÃvÍe‰¬“[b5Úƒ!¶G¤ÌX^0)„ØÉö&lt;&amp;Hñ†Ã/ƒ¹Æ«Dû0 A.7l‡¨ùFóùTþõŸ!9´Kò§‘¾«~ÀóLÒ‚Ð\0´My„\\=—*[œ0.¸wZá‰šùZkeÌ3Wf¢U˜+8¶UdùÚ2ú_ÖÇøœ“Wæ´-Ó÷SP¶YµP÷­¦…F*mH&nbsp; &nbsp; &nbsp; ,+6fRåÑYÇ3a'åž#&lt;Õa\n«UWB Läô=0–É¼\$—'RÈ­|TVHìæIíA£OzÅóv}LûƒÍÄ4…ÙÙ†»?víµ4÷gîNùŸÌ%V.í\0šD;lzÌ`&lt;‹&nbsp; &nbsp; &nbsp; &nbsp; ØˆÌèÙÐDKgQR\&quot;s9èWQYÞ4lzÎ½›tìç›±€h Õuzó&amp;ècš•¹&amp;\$ÆõªcDöŠ!éš04^‡4M!£35ž%Wh´lbZ]¨ªì?¢bÌýZ{Ú'âÒ1ž\&quot;Ø&gt;Í'Ù£“½iÎ•tº#\$h@IWZR´§.ºÒ¤¡YA&amp;áä™Ò³­_\nÎÉòEÆeL.Y­Ä‡H¸Í,£3N¢tkÜZ|'iúÓðŸ\&quot;f 90H'¾Ôz°¶£0ÒZ‰µ)'¾Ô®LkÍ˜¿“¦‡øÒ²¤BF±a1O\0›ñ¬+ V&amp;áé&nbsp; ˜/š*¾Ö\0žûXfWýšÅ0ˆº] [x?M)¢±2ƒF¬!­f‡­iI«\nôÜ¤,Ô ­ÌÛ™&lt;Ô0Üõ,X]–èÎ›¡\$tî±ñB#t´Õ­Ôì·SHhÈÀ‹„ª€~\\\\*J)ÝnüD¬N“DÑ¼°nTÿ‰¹bA¦æ&nbsp; &nbsp; &nbsp; R¿âî!{uÃÏÎ)Û^¶·mzäE!ÛntÙfœ[{6ßqÖ¤„ü¢yFâÆ€Ž¸Ô/„\n€–Ö\rÂB:&lt;I\&quot;à\\*‚MÀhC—[o&gt;žf #ëp—n&nbsp; &nbsp; &nbsp; CµK¬&nbsp; q&lt;:`6ßŽàEK4\$,Ø©·Ù@ÀÕâwUQ¸4T\0‹mÆÔˆ‚\\ZD1Ù¸3þ%&gt;`J…ñÅ1o‘¹q¥{/ò“|·™krá½cÒk‡Üj|Ÿq¶oXà‘&amp;ˆaF¾±Yç%4‘~+\$&gt;äé;^™ÿ|[1Ûw8«íÜÖÄvzêŒ˜CÁ˜ ¹@Ž7ŠoÈ:Ü HáÅ!Œ”ÅÅ”‹4Ü`\rÊJaD‰Öæ|\&quot;ßM¯XPpÍçßÜ»Ø‹NßYµhX¦æOƒŒR®25¦¡;8){î(¦&gt;0Ø¥*AÇ†\n)„…ÐL½-®ba/wžƒ0ÿ±ÍúJG8.C\&quot;s…1mŠã¨@*×T„Àˆ\$ÿw&gt;÷¸ LÚ!žMƒ®}ß‘6‹ÉàWé´U‘Åè‹ÌØ,l=1!Qhñ¨Ìô/ž-ˆ‘ i“Åð‰\nøÁ&lt;_â6ÀGFïFpàÝ:ë³¿‘‚b²6-ŒÜ‰*€ãøÐ7[V¸ qHâÀ:Gö·ÎFFqJ’àä\nJR—Î-[Õ'¶Ip\$)%ÃŒdÂî˜I¸Év™dÀÀ é‰£ãq@ýLS¢É‡âé/× E p†ü1âÉ€Hÿã¼SN«yÔdMÀ#F=YÚ“ýÅÊ&amp;§i_ÆQ\$ß±ÆZžøÅAŽÜddrÆ¼ld\&quot;Î~£!ë½;nÔëeÙ{…ÐŽQ™Þ Æj &nbsp; &nbsp; &nbsp; €“qïëßFöÎŒsFrwRáÍ¶RïèÎqœQ®áqî**ÏpJnL7 YŒ×Ä'þ± ßÛFnØ†î,^G¾F\\ß(¿×{Võ¹¹sÞ¤âëÀà¼;LüÛ‰hRŠÈÓ‚«£Kº¨Jø’5Ò—´âÄ#C;&gt;Sv5[å¸Õñ©#O–~¿ÍáÜTXÓéŽÇe½Š@ö)Äã4¹ƒ¡Ý¬V‚.Á8LTU˜³ÂöFÂ’†îÐLÙ…cdFÄ|·8Œl÷ó€‹ciÆÎT~¶Ò6ÜkÐíæUqnº4|n7¿¢jRÅEo2®´!Ün–ó)í\0ØÆèÜø!g4@cð6”÷Æ÷ì®Ø',oßÐúÖ=6ñŽ®B8¸ÖÀá^ÿ=àm†20±š£¤§KxF!­ŠTÈ¦„qXâQu!õN–¦ÄdhÝ)ÁÔ?jtB¢2*(å.µÀä½ŽRAH,ZÊ'²QBŽÇ&amp;\0Ö›Š9¡×øæÑÎÝ†½Švé4Ã§x¨°ú£ ºmÊž:=xè¨nÞ«A&amp;Ž†î:[¤gbU£tÇQtNÞÆ:Z—n1Q^Ç[CvpSñ(ç¦®˜“Iÿ8X(ëÍð*ŒŽÀ¸ÛÄTQ•Ž§#”ºÝŽgô/‹«8Ý\&quot;_¿iq;âÄGÊÏÀƒ?Ò‹õ»¤wØðn\$c´&gt;Púmô“ôÈð¥Uã½€dôqÛ¤xÇIñå£ÁG˜ý‰½¼y¸òïÌŸŸ•i&nbsp; …PQæ—9„¹ÑñÀYs¢ƒ´¾d\0¥]&lt;Ç±“Ì)ÓðÀL®cÛAXõö/[p%D@J£Ùu|ziA;Üøöññ£â,u¸øÊ\\|¨÷ÂøÕÊ¥~CB&gt;™8ù`K#æÆ…SPÛ‰zOúQî\0¬‚ÃW*íÝM~EÉ\ncÞÇ¸#ææ&gt;²ðt‹1ûcæGÛø Iêœ}˜û±÷R¶³xø5ñø¢„¼¯SŸT*XM\&quot;n;J\\çLƒé+\$ýXÂ¨Ì­“¥{1kŸä¸IJ\$\&quot;Z@“½u¯ïÕ©8_{÷‰uÄkÅ.âßtÇÝÞ–&gt;³­‹2 &nbsp; &nbsp; ’ÅÇñŠ‘dÔPS QNg·v‚˜ýÇ0¾sû±jd€xþ¼_oäÅv\\¦‰mÄ’Æ¨,FQœ¢¤¥ï|vŸÑ^ÒSY å c\$ÿ|v³}¯m§Ê2Ç»ãm”¸Z9&amp;Áø­ßÛÓ-ŽùB.€2HÔ\0€=&lt;Øü²ë³áàDd3¹bnÀ&amp;™l«Ä×€JâþÅúm&gt;“àØq#Ð ÃýH\\j &nbsp; &nbsp; 4Ø@xžCÆC·z˜Sl„q€IÆ?ê\r &nbsp; &nbsp; &nbsp; '’¦´›ê6GtG!J\\^DkÅ§ð@b‡­ìT£u'÷(È‰&gt;šÄâãýÜªj±R?Ýå¥HQ¾¼ó2Ë´ñÚŸU']Ù±Rl‹¦ý/+ß1º/OÖžâF‡¿®«Ü¦%}òÁÒ:iG&amp;¦”Zà\0nö •û`)`a†ß·\&quot;fQÔ‹úwö6Þó‚~*‹#‚1òŒµ8'¤nù‘¼öx/dc·‘`ÐWQ&gt;Ì÷©îªÐ‡­‰á­äá#äKÀ˜øNé\$N¸!O(¬@G€yÜÀ¾E’\$)F[{!ï•ø»‡ÖàT #ê¥J©|‰•¸¼AüX%øÌo—Þ¼®w|¶±ñÀ¨Q4n“Â`šá‘¨çQëcøeu©s 2¹ñ‘ä#\\“gàIjÕìGjj+Tv§×¯DcˆI*xûü0¢”¦Žó2\$Ë}jŸª?[„tq±_\&quot;€h%±è ;¸W²\nžÀÝ#Dj&amp;™·L°DÏÏßt¾„‚S#F@Ëü'—NžK‹p“²EšèýmÑ\$cIQ’èÛ½‹§—ã/MR,ÉzŽa…4»§˜±¡bäÉO¸ÕÔR{Ïàž)ÇLy‘`sØ±0E#ÜŠ ðýÓËØ)2ò?¾tK| ÀŒ…gOï`Ÿ:E¥&amp;f=ÒÊhî\0RR;uvråâÛ¶è#o«\$¶9I“g#RKd{´òŽž]ÏÉyŽŒÁÙƒ^Y.ÏßÊI±Žð°M;§ù\0ï†¤º'P^à&lt;#Ö6Ô*íÝ·¤|ºøíéËnGYIáSª¯X¬ô•tKŸN·®{2®¶Hb™UD(Þ±Éš˜¶3ôii!o÷‰MID|ü¡ëÖÙRzÞ‘'wúþm­ÈG 5)ÁO?’Zq†P+ùµ§\nF%º?W[\&quot;¦Ph÷¹ W¥\$Iú'¢ˆ™?îäTJ”,þnJ¡÷GàGõÊöè¡ñ\$ØŸÂ@ßÊ*‘¶ÔšT§ñ`ÅR‚‰ÒsÄ&nbsp; &nbsp; îQ‰G8þòeFË”T¸ª¨\$y/Œ]¼^\0âÎR3¤ïoiÏ#Ö))Fü¤—@nÜe)/Y=#RR‘©åÀ+`c7È†TÝä`¸?ÄèiBŸFæv¤¹…éÁ…’ ™%'²Q8Þ@/â*÷ãÏô^½4”æü±Ø¤zâ&nbsp; &nbsp; &nbsp; &nbsp; =\$å¾}\0üMû&lt;ZÙO'ß\$©èmBõûØ0NA\r&gt;š¨øµõ\$žgJod´+îéMÞdr¦Ü2…»Ûù(ÐaÂZ¹Sà”Ÿ‚1q9Ú?ì¢‰BNMRtÊ¨•@øåÔû_‰UÀ”¤8\$ùBX²b?Ì«a¦Í¯\0Œ&gt;»uBžŠU¸ &nbsp; &nbsp; &nbsp; W®n\0©%ÞK ä&gt;RðHN…£4:çI¢Þ8}\&quot;x!uàGçI=•£) ×cØwøÃ”¥U•¡e‹€(±D}@ÆÒJ¬êö4c®LÒ1Òlëvú?W|ŠTÝ•^Éú•ÞéeŠBiÏŽP–Ù“õ)úO´¬ÿ.…SËX-'±0Ð” œ ÉûNó .Xkî™b\rŠ_ïƒØz|œaï¬°Éb’#Ò÷½v@ïNXðÓt¶ª#%ÈöÆƒÕTzµ[¤³à‡B¸ªp–z®2Vd·B!¿VhƒuT”IJÈU|x‰H\0BFð†BÏ€@½\\\n9ÃFfI ¤€¤˜”ÔÂXã!\\è–c,¾Z!-Cteš&nbsp; &nbsp; &nbsp; &nbsp; è–¸¬Ô””È &nbsp; &nbsp; ÒÎÕŸÀ(UýP’Ò´YjRÑ—¥+LDû\\µH\0jÔÕ¦À\\Vå,ÆZ¤È¢FB£2Và¼xxÈQ7PQCË|%Ÿ-ùq`H«ÖË‹”Ø'r¹ VÒZ]ìKv–)_\\¹)qÃûÕê,¡—6oŒ. uvòåžŠïWwî&nbsp; &nbsp; &nbsp; \\¸¸Ý‹%QË“î0,ºÄvräÖm;—e.yÚ\\vË'ŽÀt^?-²ª9¨aI¥ÃÀit#”ºÉq2ñÑÝ;&gt;—{Ê[¸¡Òàå½ËÄ4ŒÉþÉþ•¬+ËeçÁ@^-N^0©y’ò`¤ ^¤ÿü&gt;Ì¸)iÛ¨2„–Ï8HEð-ÎB`c\0N%Œ¿6{°È˜öÃX†9îÄ0Èil—×à1½&amp;pÇŽ|%Ð &nbsp; &nbsp; &nbsp; Ìp„ÄC‡6¬1[\&quot;u…ÒÐC\\eÎV’ÈXwläá4Þ&amp;2Ñ—\0XIÌü¡/2÷eáò3\0µü15W¿Aèa\0ÁaT6V‹Ý0†a0†`ãY†Lf0…U\\Îi…ü0¶rLZXB3¬`y0ùzÿ6ká Ñ±Ð˜.N¥¦Y:’0sX¤3ÐˆAœ˜ë4 ö,eYì3Ú(RÏŽëÀöâL\$ƒÏé£ä,H‹lí¢ÌkgsR\&quot;ÄI˜`o\&quot;0]ˆÄÅ#CÆƒ1S4:hpÑ žì6ÂeÑb41Ãe°™’UØ°¡Z3ŒhÐÅ\&quot;4G†ZWW¾Ó(V•¥1V6!YT5Aˆ}ýƒk+¦¢&amp;¡9Dƒ.ŒU}š;†”-*¶”iº&amp;\$áUø~q'bPDž(ƒ„¢ZFŸ1* &nbsp; œ¤–”=“Pr…q,Yœ5gòÔzc³Q¦°]CÌÌÈdÈZ&amp;Rv®Œ»™0Ã¦VËú#…ó“\rj5‰eP]•CX¸›êË°í+6¤&nbsp; ¸‚Y–À¢¦Ôô¿HH&lt;a´ëjK\&quot;ãT­ÛPX±¨ª‡…?aA\n\$Ä™ú1•&amp;›iÉ;)7ð¨ŒHþ.2'+iT‚©.\&quot;¶™l\nÚ¡È¤VcO3–6ñmhD/3n4Î|Ôæ&gt;XHRÚ}&amp;soÉEi\rR×+l%!»pÖã\$±äù7N¨“¢0ƒ^p¿MÛ O©E-z’gÃ%‚‰Æ1í!k‹G‰Uã¶Ç§s•ª\0lzÇ9ÒÞB.Kë/˜ˆ^=òM7fïLßµƒrFç|&nbsp; lÑ—âîÎÿÉ)OÌüZR#Ö7r#ŠL©¾0)”êÞ'“„ö\&quot;‰^aÔ•ôS*S‰/×í‰JMbu’“qÜ!’Wöß &nbsp; ƒïsÒ”&amp;F¼•Ñ‘Ž£èÆ’8¥Ò3¿õƒÒ(é¾9|ôöfQkîçêŽ*‰·p²ò5þ›²&nbsp; &nbsp; t*íÝÍ©­=3öw\nZOª©­ÄÜ×›S\\äQÅ5›¡NŒhÔþïì#B-›M+®K³Ó•À+K\$=ÿv£6ñæ¢9!€K[NH'ZXíVOD¥;²Ž&amp;ÞM‘ŒBëFnTfçãoôÒKÙ0ûN›Æ¡é´U2¾-’ÍÒD“×û¢ê·Ž›ÆQân\$¹e%ô@—¥-Î\0,\0¤àÕ‰ŽÇ%é-ZYt)f*Ìå+&gt;BÎ8f*¤EÒÓÁwKQ›ë8N&lt;·B\\ÐÐüKv\\;7Ø”tM €2ÐoLGÐNàÉeå2§G@…VèëØ(±Ð@@\0001\0n”˜¤â0à\0€4\0g8¤œâ@\0ÀpZ8ÄÚØP@\r§N\$\0l\0à°YÇ³ŠÀÎ+œ‡8¸ÀyÇ¦Ô\0Î4œ–\0À¤ä™Ç³’@NPœ¦\0Þq¤ä©ÄSŽ'Î@œ¦ml™Êà@N6œF\0âq˜iÌÓŒ@€7\0l\0Âq|å¹Ä€@\0007ZÉ9pœäÊs‰§=Nrœ“9äÄä9ÍæÖç/€7œ£9©€9ÈSŸ§.ÎZœo8˜¸s g?N.\0s9Þq4ä\0S¥'G›PœÃ:.t|âYÄó§'N.\0m8ðZoàÀç8N:œ¯8–sê@\r§6ÎMA:ªudé¹Ö3¨g*NkœI9´¤ê‰×“™'GNg\0`\0Ä´ë¹ÌàgÎ œÏ8Îtœå03¡§RN8\0d\0Ör”çéÎ 'aN*œß:²ryÇS¦'4\0000\0k;:sÃs¹Ïsžg_Nhœ›;vqÄìyÕÓœ§,Nµœ‡:Ns¤îÕ`\rÑ€c6\0Âstì#û3¿ç(ÎÅœÙ:jwäèÉÎÁ§NÇœÑ9ŽsìèùÍ³­'8Î¡Ž\0æuÜê©Í³˜HìÎ~i;ŠrœçYÄÓ¾€N¾\r:Úr¼èiÝŒ€Na\n\0æy\\ïYÜÇ§7O&nbsp; ž-;w„âiÙ€\rgŒ€b\0j’sTóÙ“Ég#ÎÌž9t”ì©Ç\0@NçœÇ:JryS&nbsp; &nbsp; ã³Ä€N.ž+8ŒÚ€Iã“ÛÎíœÓ;’rìóÜ@\r§›NËƒ:bstå&nbsp; &nbsp; &nbsp; &nbsp; á““'ÎSW9æsöÙÞ“Ö§fNCœ;ªsôñ¹Ú³œç0ÏJœM=jrÄòâs—çO{6·=ÒrøIà×\0Ï9œÑ9ºz8 “‰'DNÜžË9²tœòéÖSÇçÉOWž—;|ôâiç“›§pÎEž§;yløéÒ \r'“Nâ\0e&gt;†süèyÏÓÓ'SÏ„Ÿk&lt;zxäåyÉ³Ø'µOvžÉ&lt;š}úÙÍóÑçÎÑŸg:F|ŒèiÜ€g­Näža&gt;Jr&lt;âéêi¿§IO“œO&lt;¦{¬ïIÅ“¦çiN:œm&lt;js°‰òóŸ'n-tý9V|Tóiüä§´NŠž#9œŒóÉùÓÓgŠÏë&nbsp; &gt;ÎqÔúyÇ–'‘«›ŸÏ9Bw4öéÜSÊçÇÎ3¥;Š{Dä‰Ý³°'ñÎTž[9yÝ\0ÙÒ3Žç'ÏZžc9V~„ë)Ç-Îç¿NI%&gt;:u¤úÉËóå§iNÁœm&lt;Dû!óÿçÈO\\žñ:òs„øiÙ³Ã'6Î-ŸÇ:vÚ3ß§q% h\0Î}æ9ñ¤Å'êP@Ÿ™&lt;æ{H\n³ÀP4 A:yý\0ÙË³Ï@Ïdœk=ît‰µ&nbsp; &nbsp; &nbsp; &nbsp; ç3ÖgO³ž›?NuœëZ&nbsp; &nbsp; &nbsp; &nbsp; Sï€Ï Q=ªyìê¹å´çFN†ž?Ærô÷9òsú§YÎ¹œ‹&gt;&amp;s„å9ÒÔ§ÿÎQ}:xÚ„è%4§cÎí };’u¤ýÉï3¸¨Îtžµ=vMYÊ³éHÍÐD\0Å:JrÍÉëSÃè/Pži:^€óùß³¿Í­Î» Ï;~z-ãÓ´è0 »:†qÜý™ê“Æ(\$N4¡U&lt;J‚í9ú3âè/OÆ¡q=j~ý&nbsp; yÉ³'£ÏL U;&lt;Ú„ÿ©ÇÓ§rOü¡›:*‚¤äÙÍ³á§˜()œÇ&gt;¾„´ñùÝó‘èXÐ£œ«=’u½Z4ç&amp;ÐÁ Õ:tª\0“³hSOÿœ“B\&quot;‚¬ôyË´5'’Ï†“9:{Í\n\0”§µÎp ›@sTýÙóS§g8N«¡-?Vv&lt;ÿZSâ¨Î¡¡Y@rÀYô3–'ÖP|ÿ&gt;6ˆµ\rùè“½'oÏªœWCRz­©ÓÓàhŽO\0žM9¾s|ïyüS°“P\0m?:†œí)Ê´2§Îj¡‹@â}õùøóõçzNâž›9îvÄö\n³÷@Nœ?³DØŒÜû &nbsp; &nbsp; ïô-gP7Ÿ!@þq])Ì”='ÊPù¢;~e\0¶çsì'UÐØŸBrvØyë”'¨‚N¬¡×9by4ø\nóÖ§Ïn 9BZqÌù*S’gÑ7¢S9ú„-\0Iæ'/Î— ;9‚{DóÊSœ§&amp;Oý WDÚ|Tøj\&quot;3×¨Pé*a;êƒ4'7ÑdœÏ8þŠõú3¨gÑ“ =2r9¹æ3Õh±Q%çFrs­\0ÙÚtD§—ÏŽžaBòx”ä ØóžèÙN0œó8¶-&nbsp; Üô_çKÑ4œY&gt;Þ…ÄòZ,ôk(UÑžD¾\rŠ0“«hQ²¢E:¶‚ÁS\n3£ÍÐX£= &nbsp; &nbsp; &nbsp; (9ý³Šç´O;Ÿ#;rŠäçZ\0”g­Ð«¡'D–‹ìùÛ”_çÅOhœYGj€™Í“ðè,Nn£O=bx]9üTUPQ@6q\$íz~§IÑžï@^µ &nbsp; &nbsp; &nbsp; içó·(«ÏûŸÃDÊ€})þ4d)P²œTTÂ´ô¹Ò4^§Ð\r¡µ&lt;¦ˆâª)´&gt;ç‘Ný£FÎ‰-!:4N§PÎ.¤&gt;â{”êË‹(ÐwŸýC‚‚­Ií3¦'&amp;R!œcFäóðSè}O“¢Ó&gt;*‘ÔòYèô\rhîÎ—¢XŠq\rZS‰gØN;¢IE–†=!ª3t…ç:PHžÇDž‚Uöçt=§V#³MüÜîr\rYâTKè\0ÑÔ¡o8ªyÜøéüSg®Nù¡WGò‰mºTC¨`P#¹EÂ~} &nbsp; &nbsp; &nbsp; ZMÔ&gt;çKÑz¤…Cr}\$û9ÆsÔÆåO%œë9‘khJQÓ¤g´Q/Ÿ™@ý©ç“ð€’P‚¤#HÊ¼öê\n´Dè”PK5F†€5Š\0%'àQÙ EòsôüÊOóö§SÑúŸ‘&gt;V‹mº;ThÈÍÒ^±B´ &nbsp; &nbsp; -‰Ì4&lt;§ÖQs¥)&gt;Â€ IÍ³î§ñPB£};ž‰¥&amp;Êû§¿NLžgD‚myÐt\\ççÐòœ¡K\&quot;v¤êúS´IiLÒ2Ÿ«@BsE&nbsp; &nbsp; &nbsp; ©õ“£§õÏU¡³:²tUªT¬(ÃÏMœÑCš—„í™âSÆ)kÑø¡‡=ºsE)YÛ”b§vRïœá:*|‰Ô3²)=ÎË¢‡:2|Ð\$³Ï'ÝP¥U=:y¥éþ°i9QÿL\&quot;•¥\nt((|Ò‚¢Ë;\&quot;‹uUÃsR \0¨‹½zÃ&lt;•íçÉ/mbÊ±™Pzeë1XG/ÂfÀÎbã7)„TÐYZ´Å'~½}˜Ã¶^,O™:´»b8ÚJšÊiŒYá&nbsp; &nbsp; ˆbÜÉÙ‰­5i°™Y¯L\&quot;¦¸ÌV‹\&quot;Ø5ÐùËÃõc¬¾ŽR@JlÌÊñ¸É4&lt;›°) ÐÁŸSiMn›;ŠnŒ‘é»CõfŸÜˆ€: S b»lˆ Í5Û/)„LB`¾Ì ‡þÎU~èy õôà@ÌSƒ¬1%\\Æ8Jl¿—õ³ìa &nbsp; &nbsp; &nbsp; Zš½4àZÖ©Ð1_‰‚–&amp;:6”-=˜Ä#§P’^SJ:nñ\r)ÏÂ^_× &nbsp; &nbsp; &nbsp; yŠý7¶~ÔßWî“Œ†t]*étfš\&quot;ÖmINmë4öi”`¢©äºlwÁÔ&lt;Ë¸]ñp¦•kÂ÷4~]PZií4%‚ÒÈôL2FörDâ&nbsp; &nbsp; ¼0‹&amp;KLü,ÇÕûpÂšÂ3’VÂ-X-&gt;¶6S˜°§êV‚&lt;85ÔýZ¥«iƒ312eÐÛƒÓTGîÌØŠ€ÛQû°KbJP3ntäÀÂµÐQb ‘4ª‚DÊÜ±£žæWk’€f+æY¿SaUÙÍ‹yvŠ„pé\0Â¯‰&amp;;P†16.\r™Á˜—jbÅb›§¶·‰;\0\0I§ÎÙ•ƒ4`ÌÇ¡üT=&amp;œLfœ ¥ÚÂÍšâ6\0Â\0ýEmDJ…ìÑ€)°”'ÒÀ’\$83;,B€ÂÔ[`É3™Ô8ÊiØÃÖÃS„`Æn¢Ó¦Œ¦Ù»—\0„Íé›ÈVÊì\&quot;À¤\0skˆ1¼­šŽ@×´Óù„åOíÜs_Uµ…šø…f¶ëò/ƒaf»ÀW˜G²~©¬}5’m#ÙŠÓ§ˆJ&amp;\&quot;HÚ\0aj\rTœ‰MPÒ¤â”jwì#Ø™6cÍC!¥ï¬µ™Þ¯}©#M&gt;¤›\n:•¬‡!¦SV©_Rf¥“Rš•Œÿê]ÃŸe­†ä¸3U&amp;êTÔÀby`šU8¡OCŸë²ó¨úË–\rLBxŒ3iû3f&amp;¡J2'°\nõj;iž›å›&lt;ú}\0çC'8Ë§@‹+J,æ™nC²¦“0á–DW¡§ü\$Ç¥&gt;wÄV‰XVSð°ê|²ÂhÔÌM– V\&quot;ìÛI™'Ä©:VhŸû6ÖŽ,ÊÍ/‹fÚÌØ\n²3Val^¡ß…kMO•€êÅY-/Z¨Ì)bÝÒ\rM&lt;&nbsp; &nbsp; ‡0ñÀÁÚ&amp;añ˜¬Ú£Õƒß\0M_?Q©'p÷´ëªK€C©qTÅ‹p óËîàß´vªVÉš{TZi5OàØ—Ff!U~õCøeURC¯H&nbsp; &nbsp; \n%£ShUU*”ªˆÐ.ª¼†EM) ÇµCª…R©Ã…óÌXÙ5—„P¢\$&amp;†…\r\nª¢0‡QUµK7êŒUJ*¸/jb'ê¢,(öu?Ù‡º_§U†WÆk¬QjÀ4iƒžÉà&lt;ûg\n°¬f™ŸU8^ß0±ƒõXI†[—éÓ]ªÃM5­SxSJ°ZÉ°&lt;…·U³ËfÕþÇª¼Âh«CRUŒ…9ú´ÐªØÐÕDfpMjª#46jŒ¦©ª°d`Àš=Y6ÄÖÊ´abÜÀµV¥[dUpšU±„7Uõ\\ˆDÕVÉôUÊbèÄq¡MUÆõWª1ÔÄ…sVÖ­T*–°ÓÉß©š«‘TÒK1ª–5eØ2€Y&amp;’Í³[¦PQ&amp;\0ÌC…—V~¯SrcQ&amp;%ÕñdL.vµQš°d &nbsp; ¶eXØ^p™!3U\&quot;…çn…BŠ¥Túa}ª´cT½„\r`Ú’Õx@ÓZcuTêûÆŽ«ó*˜BøªƒWVŸ4/¶uQëLª’½ªª]bZhµSIŽ“ÕƒµUF\n•UB|U„fÕX¬UU‰‹{ê¹•WZ€ÕÕ¬ªÐfˆÕ‹=V«Çc y*ÆŒ­j·Sœ¬oY\n«ˆ-\n®lÆ+Ì†¾¾«Åd¶&lt;5a˜Õ}ewMª²}Z:¯uaêÁ°'¬´Æb²äöV•b«0±™ƒ7YefjÌ5ej\&quot;Ã(§EWŠ°ì/µU*² ù/²VYÂ­=eº±‹þk0Ö[V¦´ZÆa}Õ¯¬C0­”'rc÷ªÛ26«qŠ³ Ú·µ¥YC³!f™\r®i–‘Õ£ÙZÂ·­IWù©ug\nÒlMjèÕÍ¬ÃZ®®€ZºAëjêUt­_WbµU3†›Õ©ÃÖÕÜ6Ýa:vž+UUæ&amp;½Ž³ƒªÙ0kdÕð­0\r±ýg\n¾µ³ÙZÕ÷«òY‹…g\n¿µ¡Ú—V\0&amp;V6\r…RjÁ5‘kËì« Âò°{Oxwõ«+aT˜­ˆ¿\n\rÓB˜2m&lt;*°A°¬1TòRÿŠÃ•ºØŽSFª¿TŠ\r…bzxKö+xA¶ªÍU:±p\nÆTÉïV3®\rÅoÊÇc«ÕÓ¬{ZÚ·5q:¬•ŠÝVD«EMjqZ\n­õÃàäVQ¬°Âö¸•fŠÌu—Y\&quot;U~¬Á\\f¹SÈuµd«˜Vb®eV\&quot;©;ªä• «7×;¬Ë0¾¹­gJå0Ù«;ÖFªaÂ³ÝYÕð³¡¶€¨QYº¦%tÖÑu\n3°‹„Àeuh7U£«¡Ö‘«hÄÆ¥µif~•¦+šÖš\rZq|K\&quot;i,ä¡ &nbsp; Õ¼®ÏVþ´õuÚÔ5ÙkQ×C«“\\úš¥\\úÇuÝªå—V­eFµ¥qzÊ•¡+šÖ“¦­]ò»iÊk,+£Â3«Á[º5t:ÙUÞ*ö×C­£]â¶œ\nÚÍ,*ýSB®k[nímØ5•€Wüž‰Ìí3y†CkqC…h6Ì™|%`ŠõÁäëƒ¶}ø@õÀ@\$×º«-X:©sOv\0pwÙWºˆFV9š\r3Ðò0JÇWÃ&amp;Ÿ]|\rDPóHÿ—Â\0V*é0ˆ˜³ö«ôæ˜¬“§0*¥âýÖŒ`WõšáNÜŠ¬\rý~WÓ•©Ìª­¯ÛRž³“9:ûŒ5©Ì±Xa¬~¥;pò-©ÚÂý&amp;½_8˜ÍS€Éˆ³O{NÜe{†?VøØ\0¯‹Nõ†«\rp\nm™aWÊgæOÊÝ€ë\0L’Éœ±\rg÷`v¼œöx,Y Ì¨Y`Š¿ûÌÕ)ÛÓ5°ZÎ¡~}yƒ•YÀ/¯™\0œÕl¬ú1fÇmCÌ38'}_&amp;ÁÛ:9Ž13, ³¨¯.ÎNŸ&nbsp; &nbsp; 4ª£Œ¤˜@Á¸inO@yú`ÜX°›UŒ=õªèXl€G°aP&lt;›&lt;›\nì™hTC°ÁOÅ›†vÌ–k€B°¦ÁÖÃu{š}  ¯ÓÝ¬XOf©˜ÚÂÄÄl;€Y¦aÚ«9=›uÁÀ*X‚&amp;Ñ[É¢½|ÊÈö,@€Y+b\&quot;Ãý&gt;›‹çIìª³ay\\)Uu9\nz½jŠÓÐ&amp;`àuL¦›Q,áÓ÷± &nbsp; &nbsp; &nbsp; aâÄUS\nÈv#lH°Œ®;b6šÕŠ»ZX˜bÇOÕ±å„¦1l\\µ¬«8Ã~Åã&amp;ú÷5˜ÃSî±zÒÞºÃP«0ƒß4À°Â2Æ;)º~\\X°Óüg~Um–u†ö-µòk XÛ°åca”Yv‹PplqXßbÚÅÂÂ°V-¶:J­²Æg%T&lt;Õt›VÃÌUf&amp;L©šOû5``çÄH_§c²ÇãÚðÍSÅWÏ¨FMàûØˆæbcÓº‰vÏî}vsÐ×&nbsp; &nbsp; óÕx°–ÊrÈ“3Ú‹5I¼l²\$¥*ÈõBÒín@1p'Oa½³ë9ö'lñª‡½hèPm2{6¬4€(mOf½¥CV€lç«ö…e,ÎzÆýUVuYT?°J^Ê+:0÷Ìª\&quot;0'¯‘c±‡U•(­WêàÔTh7X&gt;ªµ•eW}I‰5²™eX›1¡éj—YY¨zNÉ\r–{#vZ˜kAù¨\0 Ò\rƒTí5ò¬¸Ù=²àM¢É£¶•±U‚²Å®^¿L %—æ:Ö;ZÙf\$&amp;¯H€öL\n*9U–h9_áºö–¬€àÙÕk[a|A[¦aàÌUhÙvU£\r\&quot;¸6*ùTðª†D‡e«Rr¡3ösì\rÛ@°³RLJÃ}•»5V7ìÙY°„=eæÍu•À\n–;,ÚÙ»²`º ´î’7×o©)Q‚¤ yà\nåªN2~FjÂ=}›-ìÜTž^÷gJÀ\&quot;@J²ÍOZœØ\nj@iŠË;ì2+šAÜ²*Âõ³Å{Û;áê¬³C:„ ¡•L\&quot;kà\0+€D„µ=³Ÿ[LÄØÕ³±¾ªºdË\r†dÌ‰Œ2oe­`æÐ=Š•ŒwjÔ¬`2Ðq5åëðB«E²\nbsR²©=T:–PlØEÄ¸©~ÁN¥ûKfƒ¶YYÉYÊ¦i`Á{Û-f¶blÛÙv³oc|=t ”ð¬gÖ°±ÙA†L†rVŽ+ÿÙ¿´jMâÂ;Xöª’€AYÚ´Ò;[H†Ö\rp°Í«-g¹£öYâm1Æ±‘_©ƒTz‰9XÓÜaÊÉæÀ–’wÄÉ@+2â´Éc^\&quot;. \n¥fÂÆ`{]’¾í¦ÒcØ¬Ús´`Øý¥í¢ëO\0í3n^Ó¦¦»J2mŒëØfÚ‚&amp;ÈÎ¾Ô¨[DÚ-´£²Aj-¨X˜ÖŽªt•Ÿ©ÓU¾Ó5®ŒCj¯g%Sýž—bc¶ ÙÒÚ‰©Û1\n½Ã;ÒbÚY¦V~a1jŠÝP«¬v08`L–§í–’dw*|ÕóiâËµ§‹ìEìk€VYÀÞ(ÞÈ¢06 ‡@!ÚMªkÍ¬‡ -\&quot;ÚG´’\0¡À(PSQ¡W3Ís@0Å­U~ç9\$#ÔÍìA:;*Yhë”à¢Ì*Ù›÷-n[ÉlsÈ â –!5 1ª¥ÀÉ€.#¾èÐÀ3Ö¿ÀÇE«&lt;¬J\\'0ÅÂl¥Â\&quot;¨4¾–¢ØPÌ•å0?\0001€d\0^\nŒœêÀÄ´ƒg&lt;\0\\ðTV@’À…Y&amp;°4¡%š;\&quot;]m“ÉÈ\nÏlªr…²Â¼¶Êö/\0klÊ &nbsp; ½²ëe!KÀ[8“Ml¼)x{gÖÍ-˜\08¶‡lêÙ¨P6ÑÖ[@Ž\0ÂÚbôà½‡açcÛQ6AT&nbsp; &nbsp; )Ô–Ìí¤[XœámX7mµà–Ø-—ÛT¶omnÙÍ´Ûe6Õ-žÛh¶m®õ¶KnQm¹[S¶•mÖÚÀKoaÔÛ{¡múƒ-·‰Õ–Õm·[D·mhYmµËmA{)\$@Œ·m¦ÚúIâÛÛ¶¯I!e¸[k´’-±Ûš·nJ˜·ŠIÛmÇÛo·mÆÜõ¹IÑ­ÔÛ—¶ïn¶Û\rÛjì-—ÏR·nVÝ0ùêVå-–ÛŸž¥nfÝ-´IêVçmàÛ]ž¥mžÞ-»à\$¶é-Ü[Â·Qo&amp;ÜŒõ+u–ô-«ÏR¶—nÒÙISoVöö[Ú·onöÞ·û{€ç7Û„·©m†ß-»ËqVämòÛÀ·›mvß-¼K}öçíòÛÈ·ço²Þ]·‹|¶Ð­ñÛå·§oÞÚ½¾[zöùí—Îo··pÙMÀk{öúî\0Ûâ¸²à5¾ë|gæ[úåpZvE·‰Äöù®\0[a¸7oªÜµÁëevøî\rÛò¸'m†‰À»„6Ëè™Ü ·sDÎà•ÀË…\0In\\2¸Yn†ß;y— &nbsp; &nbsp; îÏ\0¶ñDÎßýÃËe4LîÜ¸opâ5Ä9Ø÷\n®Ü¸’²r­¸‡4îÜ¸§pfâ½¿Ëàî(ÜA¸mq*ŒÅS°÷®&amp;[D 1pºã4òÛ†7\nî%O’¸ÅoÚâÅ&nbsp; õ7®-\\O¸¹&lt;¶âõÆÀ½”2n2Û]¡“q¢ãõÂ;‹t2nÜz\0¿C&amp;ã…ÅûvþmñÐÉ¸ëqÆä8[6îhdÜE¹ mBâEÉ{‰vÞ.L\\€·?rbã]ÉKŠ—#n+\\ƒžqrrv=Èû‘W\$g\\¨¸Ãr’ãË¶çÂ—Ü¹!rÖäõ¹–·(m¢\\µ¹næå­È›×-nÜ«¹kr¨:Èëk6Î.e[_¶Ñs6ä-ÌÛ˜W3nbÜÉYo&gt;Ü­ÌÛ73nK-ÏYcm&gt;æeÍ{o·3îq\\ ¹•qJÜ}Î{š78®iÜâ¹«sžæEÎ{›w8®nÜÖ¹¿rÆçMÍzHw8n{Üæ¹õq®æUÆëœ—=îvÜ÷¹ßsêçÏ«žw=î\&quot;€#\0Ó9Òt0—CºÝœé8–vLók™S«.~,»œápªèÝÏë›ó“nŽši¡ýt”ÒŒêÛ¥À(‚Ý+w&lt;.ép:7Lg8\\õ¹•&gt;*é¤ù;§7H®N.ºss®æüôÛ§7Aî Ý &nbsp; &nbsp; ºƒt.éíÓkšåL.šN:º›tê]Ô£Ó¹î¦ÝDº§uêÔ‹¤ÓÏ.šNoº»t‚æ¼æ««·T.oÏdº»tèôê{«·V.“N?º»u*æüâ{¦“®¹Ý&lt;ºM9bëÕ+®÷Z.»ÝVºïu²éLâ»®w\\.NUºi8–ì=×k¥3ŒîÃÝz»uòì]×ë±w`.–Nh»vé1µ¦“¥îÍÝŠºY:JìÝØë³÷d.ÏÝ’»?vRé|ìË³wf\r(…/ºb’ëËdkîg\\ù»elÆèË°\$—i\0ÝÏ@»iv¢q·K·&amp;š@’]¬&amp;\0 ¦ÝÛk·W8îå]Äœév¾çEÍ•j\nnÑ]½ŸãwBí5Ýk¸ îè]Æ»{sâî•Û+ŸwpîÖÎe»_&gt;¾ï=ÝYÆ3µîóÝÙ»×wntÝÞ{»ÓŒnŽ]ä»Gjí{s»¿7Y.ÝP@»óvòï¥Ý¹Òw~nùÒ²»_têïµÛÙõ—îþ]Äž«xð{À÷vç(Þ¼u2ðLãç÷kî§^Ÿãx6ílâÛÃ—„gÆÞ¸ê\0Œ¨ úHt‹î{]ºœ‹tVñHËÅs®ÖGOñ¼OxÄ\ru\$:÷gl^¼uzðõûµ÷X¯ Þ »ušò\rá­WníÝn¼ƒxë•áë®—”®Ï]½ºñyJïTú+µó›¯-ÝÛ»yJð,ò[µ÷c/Oâ¼ÇxFræ;»wf¯]œ¼ÛyV‘ýäk·³Ó.×Ï0¼ëwºŒÕ«µ³Æ.˜ÛT¼û&lt;¶óýç Ë·n.æšQ;x\0ì=Þã°÷pÃÞz&amp;\0vï\$;¹7xV]ÒC»czVî}á›ÇWŸn\nÞš»¯zzôTâkÓ—£€ÝÒC½#w‚èé[¼w¡oGÝæ½5w¢õ}Þ©Ì·¢'Þ}œëzÚõ eÙÌ6Ë Ÿ†psk¢_]pK]kšÖ6½ŠÎ–}t9 ël×x®¡[‚\rÓªèl:­WWC\0”Ou\rsXe0~áOAþ_]öÜ2¸sðÒWC‡ƒT\rƒHëuÍX½\0Kk']½ZÚï\0Ø¶×]®ÝVù³­{XBuÜï}Á{©Ž¾¾föªïˆ˜\$×x´y_J¼tLjòL(«šÃY¯%[2¼¥tÈ7VàØW™gš¿½ÒFö¨•I!ÃP¯Y]ý˜œ%\nvñ&nbsp; &nbsp; *TBZ.ÝWÅ¡):Zf×Ê%Ù¾YUV¥ïZ¾7±¡:VAfÿh*ùìŠåÎCÌl—U\\íìÊ…U|og×„…)\\Òú;{Úµ|ok“XªˆMŠ©ÔÄš¾7¸aËÞÞ`é\nh›\$)Ëê°Ëor1k®_\n†{!º¨—º˜&gt;Õñ½Û{¾û4Êé@\nàÑ€D°Všù•^KÞ5¢áRµ±eVÆ¥wc•pª†2^‚õ0ž÷ý5Kà7Éa4Ww«Éf‚ø-øp\nÜa\\ÖÆ«ÑW²ød-!•E*ö_«É}.ü¼-¶dÛª¢XG…ÈÉ‚žÑ8–rÊ²^0ƒõZJµõ]êÌ7ÊXúÖp²!Tf³\rìh`·Í—¹X¢†|ê²«+V”×ÏY\rÖy¬k}ömmJç•1%þWñ¿‹&gt;¶s«é·¶a’1…˜~ù•­õKÛ·×:Vv‡+{rdÀFJ5_ë0Þç§Çîû!?*ÐÚ¬yÃ9­ZòñDîõ¦o¼±ž¬\nPÊÔ¿ ¾‡¾¿ÌN8[à—ú!Uç­‘Y†Á¿æv”«eÓôÀ&amp;`ù¦FÇoè2¿¿0¶œ7g,u-KXê‡ˆ!—Ì161Õ°à†6ÂÎ¡ƒjˆ„Ñ,¿_°CQÎÌãE{ä\r˜Ú†T¬³ÿz£L[þ•3¦kß{f²¦¥BRkÑ Ä³ÀrÍÂ¨d‹!ÕYnÃ³ªESá'h&lt;fÕ©ÛVÊ\nt¥éÄò`ƒ)ml…zŠÌ%QÆ£j÷®ÚÒå\$=Àºzió€i/4’[&nbsp; ÅŠÈJjœ2Zöÿ.º’ƒ£oò¤&lt;“s6¾E+_…wàžHZ}•ÎŽ’0;Œ0Àöûà¡-‡¸“É`mÞŸe´¸åÉ#©‹Á²`ˆrþ¨&lt;’‘jpíÙ­g6–‚ HP&amp;ì&amp;\0005àˆq&lt;\\#~ ¢Í¥£-àˆŒ»3#©³¢Ø\$ã2·_ŒÉ¢Ð`(ËÉäŒS¤Ù\0Å'8¤– ª.’Q`pØKÇ«Ì‡j&amp;0N¤Ù~‚…Ãa÷\$›*\&quot;þ¨°Rl0¨°Ûþ¬q™òpŸ¨´îíãP7àÕ’zà\0ø`3ª«È^¶`}ÁÆ%­Ûºyý`x”:«\$•PUS6ýx&lt;FÙ`á¨+Ð~=AVò€\0=6ßƒÉÕ{…ŒÎ¥…u_\&quot;ƒërïÉö\0Â¤lºîôëN@(¸D\rpÈ1+·„@UFÐ7/Mb¿»â.\$¤{®ÿC0‘`õL¤6Œ\$.×KÝ;]‹¨ƒÉm@gkªaï`²ÁPî &nbsp; &nbsp; &nbsp; ˜wÅ MºT6ësˆÛ»PŒp6[à^p\0/‡8ã-°NŒëð\nÈl&amp;AEâšºü!\$øG\n°\$¦üŽ¿#¹¸ATöL¦É#Þþà}vé…Œó‡ŒEã¹ái…Š0;¾,,ï¯p¸F©,Y×á¬@?Ø^[øH3† Ã¸à. JœŽH9Ã_\n“¯Ì*Tó}HFZpÅÿfÇîËðba’‚jŠQ™€ 0¡ÚŸ t~tX²†°äxd‘ÊÄ§†ˆ;æh®¯Œ06E¯Ó†lªºåg—AÀè-û†C\rŠ×ð5©ÆÜOa´Ãdºà`æ'6¸kÆáµ\\ƒª &nbsp; &nbsp; xãÉ8-FÍVp†àab—Øe@ÂÉªo†QÝ0E°f\&quot;BÀ;*nA‡mÐ*p,;øu@×aÛ6R¿qd°ŒáêSL.l=cfðù,˜¨ë…ÈÄQf±Žã!¨-Œg‡ú2„d˜ÉâÍ£&amp;Sw;`iN`æØvâ€â\0ï\&quot;µR– à†ÀvéÌaÕÀì!6eHQOO0êá&gt;ø!Ý¾4X‡bŠûÂ+`¸{ˆŽœ;uwb˜RàÈšT;ñßŽ¦ä€CPòV#Š4)]\réÁ7¸Ól°cˆdb|Bö&gt;—Ä…ˆÎÙKŸìHxbÄˆý\rõãŠ@¬ÇÚÄ—l¦Bè%,8’öbYŠ¼¯IÚæ%KÒÄé3Ä Û&nbsp; öaæöäŽ/q!¸½q\rƒh2^&amp;èÅÎÅ‹bt\0ÚìQ[+ê±8ÃŠpÈ|ÄòYÏN'‘\0À™A6aaÄü²,x%À\$8hAÎây·õq¬nRžAM@áÄð°Òñ¬RôñqCâ\&quot;\n“}&amp;ˆœbðˆwŠòíÍtptvºi¾b²@ÅŽ|¦§&lt;W¬B¡fâ½`ÔÅ?%'tWÌ/í¨°©ÅdÅmŠÑý“›LObÿq`H¤Ä5œÏþ#ìèÞ]ñF\r.èþ+Ž*ÆøoBñ8EÅ¨Ý£&gt;WÁÑ~1O¿ÁŠÙ+&lt;¬ð#²³Àâ¤Ñ\0ôî0ÄØ3Øºƒ`X\r@ñŒÞ00¸]±yœÅÔpD¦Ã«`apRâüŒ[‚ÌÄ+uP Ì@;:û-Î³Ë\0f8¥eÑc‹lU¹v0áe6\0ÜbÜµ±Œ=þ®¬bøÄÖÓ‡4àÑ…­ (¥\$0yšGç‚û0&lt;¼d@›ã+#èAK”o°#.H1œÄjë‘PÜg/ðQ‘G§–S5%VèÒŽb­t…Ÿ–±\0N×‚®TLJÜ±¡ÁÆ‰8JØpÁpEm°„r¼¤5`9öM¶C\0_°ª'¨\$ªÀ#¸–E!\\ŸaÀ)•âs ˜¡Û‚çÒ1¸‹\0¦–—›rìn¤Ïq¦€eÆÕˆž7°\n¯Nt#Yf`˜¡™äÁ@Fq¿­íÆ÷L­z4Ô¼o¸Ñ%õ¨õàÚ[ÚZ¢˜ÄŽ\&quot;ÆgáÆ‹qÔMIVé¿ë¦f)&lt;]¢§Æo!'Ê—@V˜Ï¦ö\0&quot;);}elseif($_GET[&quot;file&quot;]==&quot;logo.png&quot;){header(&quot;Content-Type: image/png&quot;);echo&quot;‰PNG\r\n\n\0\0\0\rIHDR\0\0\09\0\0\09\0\0\0~6ž¶\0\0\0000PLTE\0\0\0ƒ—­+NvYt“s‰£ž®¾´¾ÌÈÒÚü‘üsuüIJ÷ÓÔü/.üü¯±úüúC¥×\0\0\0tRNS\0@æØf\0\0\0&nbsp; pHYs\0\0\0\0\0šœ\0\0´IDAT8Õ”ÍNÂ@ÇûEáìlÏ¶õ¤p6ˆG.\$=£¥Ç&gt;á&nbsp; &nbsp; &nbsp; &nbsp; w5r}‚z7²&gt;€‘På#\$Œ³K¡j«7üÝ¶¿ÌÎÌ?4m•„ˆÑ÷t&amp;î~À3!0“0Šš^„½Af0Þ\&quot;å½í,Êð* ç4¼Œâo¥Eè³è×X(*YÓó¼¸&nbsp; &nbsp; &nbsp; &nbsp; 6 &nbsp; &nbsp; &nbsp; ïPcOW¢ÉÎÜŠm’¬rƒ0Ã~/ áL¨\rXj#ÖmÊÁújÀC€]G¦mæ\0¶}ÞË¬ß‘u¼A9ÀX£\nÔØ8¼V±YÄ+ÇD#¨iqÞnKQ8Jà1Q6²æY0§`•ŸP³bQ\\h”~&gt;ó:pSÉ€£¦¼¢ØóGEõQ=îIÏ{’*Ÿ3ë2£7÷\neÊLèBŠ~Ð/R(\$°)Êç‹ —ÁHQn€i•6J¶&nbsp; &lt;×-.–wÇÉªjêVm«êüm¿?SÞH ›vÃÌûñÆ©§Ý\0àÖ^Õq«¶)ª—Û]÷‹U¹92Ñ,;ÿÇî'pøµ£!XËƒäÚÜÿLñD.»tÃ¦—ý/wÃÓäìR÷ &nbsp; w­dÓÖr2ïÆ¤ª4[=½E5÷S+ñ—c\0\0\0\0IEND®B`‚&quot;;}exit;}if($_GET[&quot;script&quot;]==&quot;version&quot;){$o=get_temp_dir().&quot;/adminer.version&quot;;@unlink($o);$q=file_open_lock($o);if($q)file_write_unlock($q,serialize(array(&quot;signature&quot;=&gt;$_POST[&quot;signature&quot;],&quot;version&quot;=&gt;$_POST[&quot;version&quot;])));exit;}if(!$_SERVER[&quot;REQUEST_URI&quot;])$_SERVER[&quot;REQUEST_URI&quot;]=$_SERVER[&quot;ORIG_PATH_INFO&quot;];if(!strpos($_SERVER[&quot;REQUEST_URI&quot;],'?')&amp;&amp;$_SERVER[&quot;QUERY_STRING&quot;]!=&quot;&quot;)$_SERVER[&quot;REQUEST_URI&quot;].=&quot;?$_SERVER[QUERY_STRING]&quot;;if($_SERVER[&quot;HTTP_X_FORWARDED_PREFIX&quot;])$_SERVER[&quot;REQUEST_URI&quot;]=$_SERVER[&quot;HTTP_X_FORWARDED_PREFIX&quot;].$_SERVER[&quot;REQUEST_URI&quot;];define('Adminer\HTTPS',($_SERVER[&quot;HTTPS&quot;]&amp;&amp;strcasecmp($_SERVER[&quot;HTTPS&quot;],&quot;off&quot;))||ini_bool(&quot;session.cookie_secure&quot;));@ini_set(&quot;session.use_trans_sid&quot;,'0');if(!defined(&quot;SID&quot;)){session_cache_limiter(&quot;&quot;);session_name(&quot;adminer_sid&quot;);session_set_cookie_params(0,preg_replace('~\?.*~','',$_SERVER[&quot;REQUEST_URI&quot;]),&quot;&quot;,HTTPS,true);session_start();}remove_slashes(array(&amp;$_GET,&amp;$_POST,&amp;$_COOKIE),$ad);if(function_exists(&quot;get_magic_quotes_runtime&quot;)&amp;&amp;get_magic_quotes_runtime())set_magic_quotes_runtime(false);@set_time_limit(0);@ini_set(&quot;precision&quot;,'15');function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">lang($u,$Jf=null){$ua=func_get_args();$ua[0]=$u;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">call_user_func_array('Adminer\lang_format',$ua);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">lang_format($dj,$Jf=null){if(is_array($dj)){$Ng=($Jf==1?0:1);$dj=$dj[$Ng];}$dj=str_replace(&quot;'&quot;,'â€™',$dj);$ua=func_get_args();array_shift($ua);$md=str_replace(&quot;%d&quot;,&quot;%s&quot;,$dj);if($md!=$dj)$ua[0]=format_number($Jf);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">vsprintf($md,$ua);}define('Adminer\LANG','en');abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDb{static$instance;var$extension;var$flavor='';var$server_info;var$affected_rows=0;var$info='';var$errno=0;var$error='';protected$multi;abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F);abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quote($Q);abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($Nb);abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query($H,$oj=false);function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">multi_query($H){return$this-&gt;multi=$this-&gt;query($H);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">store_result(){return$this-&gt;multi;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">next_result(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}}if(extension_loaded('pdo')){abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PdoDb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDb{protected$pdo;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dsn($nc,$V,$F,array$bg=array()){$bg[\PDO::ATTR_ERRMODE]=\PDO::ERRMODE_SILENT;$bg[\PDO::ATTR_STATEMENT_CLASS]=array('Adminer\PdoResult');try{$this-&gt;pdo=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\PDO($nc,$V,$F,$bg);}catch(\Exception$Hc){return$Hc-&gt;getMessage();}$this-&gt;server_info=@$this-&gt;pdo-&gt;getAttribute(\PDO::ATTR_SERVER_VERSION);return'';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quote($Q){return$this-&gt;pdo-&gt;quote($Q);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query($H,$oj=false){$I=$this-&gt;pdo-&gt;query($H);$this-&gt;error=&quot;&quot;;if(!$I){list(,$this-&gt;errno,$this-&gt;error)=$this-&gt;pdo-&gt;errorInfo();if(!$this-&gt;error)$this-&gt;error='Unknown error.';return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}$this-&gt;store_result($I);return$I;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">store_result($I=null){if(!$I){$I=$this-&gt;multi;if(!$I)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}if($I-&gt;columnCount()){$I-&gt;num_rows=$I-&gt;rowCount();return$I;}$this-&gt;affected_rows=$I-&gt;rowCount();return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">next_result(){$I=$this-&gt;multi;if(!is_object($I))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;$I-&gt;_offset=0;return@$I-&gt;nextRowset();}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PdoResult</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\PDOStatement{var$_offset=0,$num_rows;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_assoc(){return$this-&gt;fetch_array(\PDO::FETCH_ASSOC);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_row(){return$this-&gt;fetch_array(\PDO::FETCH_NUM);}private</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_array($tf){$J=$this-&gt;fetch($tf);return($J?array_map(array($this,'unresource'),$J):$J);}private</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unresource($X){return(is_resource($X)?stream_get_contents($X):$X);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_field(){$K=(object)$this-&gt;getColumnMeta($this-&gt;_offset++);$U=$K-&gt;pdo_type;$K-&gt;type=($U==\PDO::PARAM_INT?0:15);$K-&gt;charsetnr=($U==\PDO::PARAM_LOB||(isset($K-&gt;flags)&amp;&amp;in_array(&quot;blob&quot;,(array)$K-&gt;flags))?63:0);return$K;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">seek($C){for($s=0;$s&lt;$C;$s++)$this-&gt;fetch();}}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">add_driver($t,$B){SqlDriver::$drivers[$t]=$B;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_driver($t){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDriver::$drivers[$t];}abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDriver{static$instance;static$drivers=array();static$extensions=array();static$jush;protected$conn;protected$types=array();var$insertFunctions=array();var$editFunctions=array();var$unsigned=array();var$operators=array();var$functions=array();var$grouping=array();var$onActions=&quot;RESTRICT|NO ACTION|CASCADE|SET NULL|SET DEFAULT&quot;;var$partitionBy=array();var$inout=&quot;IN|OUT|INOUT&quot;;var$enumLength=&quot;'(?:''|[^'\\\\]|\\\\.)*'&quot;;var$generated=array();static</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connect($N,$V,$F){$f=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db;return($f-&gt;attach($N,$V,$F)?:$f);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct(Db$f){$this-&gt;conn=$f;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">types(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">call_user_func_array('array_merge',array_values($this-&gt;types));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">structuredTypes(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array_map('array_keys',$this-&gt;types);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">enumLength(array$m){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unconvertFunction(array$m){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select($R,array$M,array$Z,array$wd,array$dg=array(),$z=1,$D=0,$Wg=false){$ue=(count($wd)&lt;count($M));$H=adminer()-&gt;selectQueryBuild($M,$Z,$wd,$dg,$z,$D);if(!$H)$H=&quot;SELECT&quot;.limit(($_GET[&quot;page&quot;]!=&quot;last&quot;&amp;&amp;$z&amp;&amp;$wd&amp;&amp;$ue&amp;&amp;JUSH==&quot;sql&quot;?&quot;SQL_CALC_FOUND_ROWS &quot;:&quot;&quot;).implode(&quot;, &quot;,$M).&quot;\nFROM &quot;.table($R),($Z?&quot;\nWHERE &quot;.implode(&quot; AND &quot;,$Z):&quot;&quot;).($wd&amp;&amp;$ue?&quot;\nGROUP BY &quot;.implode(&quot;, &quot;,$wd):&quot;&quot;).($dg?&quot;\nORDER BY &quot;.implode(&quot;, &quot;,$dg):&quot;&quot;),$z,($D?$z*$D:0),&quot;\n&quot;);$oi=microtime(true);$J=$this-&gt;conn-&gt;query($H);if($Wg)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">adminer()-&gt;selectQuery($H,$oi,!$J);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">delete($R,$fh,$z=0){$H=&quot;FROM &quot;.table($R);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;DELETE&quot;.($z?limit1($R,$H,$fh):&quot; $H$fh&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">update($R,array$O,$fh,$z=0,$Rh=&quot;\n&quot;){$Ij=array();foreach($O</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)$Ij[]=&quot;$x = $X&quot;;$H=table($R).&quot; SET$Rh&quot;.implode(&quot;,$Rh&quot;,$Ij);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;UPDATE&quot;.($z?limit1($R,$H,$fh,$Rh):&quot; $H$fh&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insert($R,array$O){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;INSERT INTO &quot;.table($R).($O?&quot; (&quot;.implode(&quot;, &quot;,array_keys($O)).&quot;)\nVALUES (&quot;.implode(&quot;, &quot;,$O).&quot;)&quot;:&quot; DEFAULT VALUES&quot;).$this-&gt;insertReturning($R));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insertReturning($R){return&quot;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insertUpdate($R,array$L,array$G){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">begin(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;BEGIN&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">commit(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;COMMIT&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rollback(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;ROLLBACK&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">slowQuery($H,$Qi){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convertSearch($u,array$X,array$m){return$u;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">value($X,array$m){return(method_exists($this-&gt;conn,'value')?$this-&gt;conn-&gt;value($X,$m):$X);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quoteBinary($Dh){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">q($Dh);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">warnings(){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tableHelp($B,$ye=false){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">inheritsFrom($R){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">inheritedTables($R){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">partitionsInfo($R){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hasCStyleEscapes(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">engines(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">supportsIndex(array$S){return!is_view($S);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">indexAlgorithms(array$yi){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">checkConstraints($R){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_key_vals(&quot;SELECT c.CONSTRAINT_NAME, CHECK_CLAUSE</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS c</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS t ON c.CONSTRAINT_SCHEMA = t.CONSTRAINT_SCHEMA AND c.CONSTRAINT_NAME = t.CONSTRAINT_NAME</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE c.CONSTRAINT_SCHEMA = &quot;.q($_GET[&quot;ns&quot;]!=&quot;&quot;?$_GET[&quot;ns&quot;]:DB).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND t.TABLE_NAME = &quot;.q($R).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND CHECK_CLAUSE NOT LIKE '% IS NOT NULL'&quot;,$this-&gt;conn);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">allFields(){$J=array();if(DB!=&quot;&quot;){foreach(get_rows(&quot;SELECT TABLE_NAME AS tab, COLUMN_NAME AS field, IS_NULLABLE AS nullable, DATA_TYPE AS type, CHARACTER_MAXIMUM_LENGTH AS length&quot;.(JUSH=='sql'?&quot;, COLUMN_KEY = 'PRI' AS `primary`&quot;:&quot;&quot;).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM INFORMATION_SCHEMA.COLUMNS</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE TABLE_SCHEMA = &quot;.q($_GET[&quot;ns&quot;]!=&quot;&quot;?$_GET[&quot;ns&quot;]:DB).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY TABLE_NAME, ORDINAL_POSITION&quot;,$this-&gt;conn)as$K){$K[&quot;null&quot;]=($K[&quot;nullable&quot;]==&quot;YES&quot;);$J[$K[&quot;tab&quot;]][]=$K;}}return$J;}}add_driver(&quot;sqlite&quot;,&quot;SQLite&quot;);if(isset($_GET[&quot;sqlite&quot;])){define('Adminer\DRIVER',&quot;sqlite&quot;);if(class_exists(&quot;SQLite3&quot;)&amp;&amp;$_GET[&quot;ext&quot;]!=&quot;pdo&quot;){abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqliteDb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDb{var$extension=&quot;SQLite3&quot;;private$link;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($o,$V,$F){$this-&gt;link=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\SQLite3($o);$Lj=$this-&gt;link-&gt;version();$this-&gt;server_info=$Lj[&quot;versionString&quot;];return'';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query($H,$oj=false){$I=@$this-&gt;link-&gt;query($H);$this-&gt;error=&quot;&quot;;if(!$I){$this-&gt;errno=$this-&gt;link-&gt;lastErrorCode();$this-&gt;error=$this-&gt;link-&gt;lastErrorMsg();return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}elseif($I-&gt;numColumns())return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result($I);$this-&gt;affected_rows=$this-&gt;link-&gt;changes();return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quote($Q){return(is_utf8($Q)?&quot;'&quot;.$this-&gt;link-&gt;escapeString($Q).&quot;'&quot;:&quot;x'&quot;.first(unpack('H*',$Q)).&quot;'&quot;);}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result{var$num_rows;private$result,$offset=0;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct($I){$this-&gt;result=$I;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_assoc(){return$this-&gt;result-&gt;fetchArray(SQLITE3_ASSOC);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_row(){return$this-&gt;result-&gt;fetchArray(SQLITE3_NUM);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_field(){$d=$this-&gt;offset++;$U=$this-&gt;result-&gt;columnType($d);return(object)array(&quot;name&quot;=&gt;$this-&gt;result-&gt;columnName($d),&quot;type&quot;=&gt;($U==SQLITE3_TEXT?15:0),&quot;charsetnr&quot;=&gt;($U==SQLITE3_BLOB?63:0),);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__destruct(){$this-&gt;result-&gt;finalize();}}}elseif(extension_loaded(&quot;pdo_sqlite&quot;)){abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqliteDb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PdoDb{var$extension=&quot;PDO_SQLite&quot;;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($o,$V,$F){return$this-&gt;dsn(DRIVER.&quot;:$o&quot;,&quot;&quot;,&quot;&quot;);}}}if(class_exists('Adminer\SqliteDb')){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqliteDb{function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($o,$V,$F){parent::attach($o,$V,$F);$this-&gt;query(&quot;PRAGMA foreign_keys = 1&quot;);$this-&gt;query(&quot;PRAGMA busy_timeout = 500&quot;);return'';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($o){if(is_readable($o)&amp;&amp;$this-&gt;query(&quot;ATTACH &quot;.$this-&gt;quote(preg_match(&quot;~(^[/\\\\]|:)~&quot;,$o)?$o:dirname($_SERVER[&quot;SCRIPT_FILENAME&quot;]).&quot;/$o&quot;).&quot; AS a&quot;))return!self::attach($o,'','');return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Driver</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDriver{static$extensions=array(&quot;SQLite3&quot;,&quot;PDO_SQLite&quot;);static$jush=&quot;sqlite&quot;;protected$types=array(array(&quot;integer&quot;=&gt;0,&quot;real&quot;=&gt;0,&quot;numeric&quot;=&gt;0,&quot;text&quot;=&gt;0,&quot;blob&quot;=&gt;0));var$insertFunctions=array();var$editFunctions=array(&quot;integer|real|numeric&quot;=&gt;&quot;+/-&quot;,&quot;text&quot;=&gt;&quot;||&quot;,);var$operators=array(&quot;=&quot;,&quot;&lt;&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;,&quot;&gt;=&quot;,&quot;!=&quot;,&quot;LIKE&quot;,&quot;LIKE %%&quot;,&quot;IN&quot;,&quot;IS NULL&quot;,&quot;NOT LIKE&quot;,&quot;NOT IN&quot;,&quot;IS NOT NULL&quot;,&quot;SQL&quot;);var$functions=array(&quot;hex&quot;,&quot;length&quot;,&quot;lower&quot;,&quot;round&quot;,&quot;unixepoch&quot;,&quot;upper&quot;);var$grouping=array(&quot;avg&quot;,&quot;count&quot;,&quot;count distinct&quot;,&quot;group_concat&quot;,&quot;max&quot;,&quot;min&quot;,&quot;sum&quot;);static</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connect($N,$V,$F){if($F!=&quot;&quot;)return'Database does not support password.';return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">parent::connect(&quot;:memory:&quot;,&quot;&quot;,&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct(Db$f){parent::__construct($f);if(min_version(3.31,0,$f))$this-&gt;generated=array(&quot;STORED&quot;,&quot;VIRTUAL&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">structuredTypes(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array_keys($this-&gt;types[0]);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insertUpdate($R,array$L,array$G){$Ij=array();foreach($L</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$O)$Ij[]=&quot;(&quot;.implode(&quot;, &quot;,$O).&quot;)&quot;;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;REPLACE INTO &quot;.table($R).&quot; (&quot;.implode(&quot;, &quot;,array_keys(reset($L))).&quot;) VALUES\n&quot;.implode(&quot;,\n&quot;,$Ij));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tableHelp($B,$ye=false){if($B==&quot;sqlite_sequence&quot;)return&quot;fileformat2.html#seqtab&quot;;if($B==&quot;sqlite_master&quot;)return&quot;fileformat2.html#$B&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">checkConstraints($R){preg_match_all('~ CHECK *(\( *(((?&gt;[^()]*[^() ])|(?1))*) *\))~',get_val(&quot;SELECT sql FROM sqlite_master WHERE type = 'table' AND name = &quot;.q($R),0,$this-&gt;conn),$Ze);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array_combine($Ze[2],$Ze[2]);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">allFields(){$J=array();foreach(tables_list()as$R=&gt;$U){foreach(fields($R)as$m)$J[$R][]=$m;}return$J;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($u){return'&quot;'.str_replace('&quot;','&quot;&quot;',$u).'&quot;';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table($u){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($u);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_databases($hd){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit($H,$Z,$z,$C=0,$Rh=&quot; &quot;){return&quot; $H$Z&quot;.($z?$Rh.&quot;LIMIT $z&quot;.($C?&quot; OFFSET $C&quot;:&quot;&quot;):&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit1($R,$H,$Z,$Rh=&quot;\n&quot;){return(preg_match('~^INTO~',$H)||get_val(&quot;SELECT sqlite_compileoption_used('ENABLE_UPDATE_DELETE_LIMIT')&quot;)?limit($H,$Z,1,0,$Rh):&quot; $H WHERE rowid = (SELECT rowid FROM &quot;.table($R).$Z.$Rh.&quot;LIMIT 1)&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">db_collation($j,$jb){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;PRAGMA encoding&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">logged_user(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_current_user();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tables_list(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_key_vals(&quot;SELECT name, type FROM sqlite_master WHERE type IN ('table', 'view') ORDER BY (name = 'sqlite_sequence'), name&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">count_tables($i){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table_status($B=&quot;&quot;){$J=array();foreach(get_rows(&quot;SELECT name AS Name, type AS Engine, 'rowid' AS Oid, '' AS Auto_increment FROM sqlite_master WHERE type IN ('table', 'view') &quot;.($B!=&quot;&quot;?&quot;AND name = &quot;.q($B):&quot;ORDER BY name&quot;))as$K){$K[&quot;Rows&quot;]=get_val(&quot;SELECT COUNT(*) FROM &quot;.idf_escape($K[&quot;Name&quot;]));$J[$K[&quot;Name&quot;]]=$K;}foreach(get_rows(&quot;SELECT * FROM sqlite_sequence&quot;.($B!=&quot;&quot;?&quot; WHERE name = &quot;.q($B):&quot;&quot;),null,&quot;&quot;)as$K)$J[$K[&quot;name&quot;]][&quot;Auto_increment&quot;]=$K[&quot;seq&quot;];return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_view($S){return$S[&quot;Engine&quot;]==&quot;view&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fk_support($S){return!get_val(&quot;SELECT sqlite_compileoption_used('OMIT_FOREIGN_KEY')&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fields($R){$J=array();$G=&quot;&quot;;foreach(get_rows(&quot;PRAGMA table_&quot;.(min_version(3.31)?&quot;x&quot;:&quot;&quot;).&quot;info(&quot;.table($R).&quot;)&quot;)as$K){$B=$K[&quot;name&quot;];$U=strtolower($K[&quot;type&quot;]);$k=$K[&quot;dflt_value&quot;];$J[$B]=array(&quot;field&quot;=&gt;$B,&quot;type&quot;=&gt;(preg_match('~int~i',$U)?&quot;integer&quot;:(preg_match('~char|clob|text~i',$U)?&quot;text&quot;:(preg_match('~blob~i',$U)?&quot;blob&quot;:(preg_match('~real|floa|doub~i',$U)?&quot;real&quot;:&quot;numeric&quot;)))),&quot;full_type&quot;=&gt;$U,&quot;default&quot;=&gt;(preg_match(&quot;~^'(.*)'$~&quot;,$k,$A)?str_replace(&quot;''&quot;,&quot;'&quot;,$A[1]):($k==&quot;NULL&quot;?null:$k)),&quot;null&quot;=&gt;!$K[&quot;notnull&quot;],&quot;privileges&quot;=&gt;array(&quot;select&quot;=&gt;1,&quot;insert&quot;=&gt;1,&quot;update&quot;=&gt;1,&quot;where&quot;=&gt;1,&quot;order&quot;=&gt;1),&quot;primary&quot;=&gt;$K[&quot;pk&quot;],);if($K[&quot;pk&quot;]){if($G!=&quot;&quot;)$J[$G][&quot;auto_increment&quot;]=false;elseif(preg_match('~^integer$~i',$U))$J[$B][&quot;auto_increment&quot;]=true;$G=$B;}}$ii=get_val(&quot;SELECT sql FROM sqlite_master WHERE type = 'table' AND name = &quot;.q($R));$u='((&quot;[^&quot;]*+&quot;)+|[a-z0-9_]+)';preg_match_all('~'.$u.'\s+text\s+COLLATE\s+(\'[^\']+\'|\S+)~i',$ii,$Ze,PREG_SET_ORDER);foreach($Ze</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$A){$B=str_replace('&quot;&quot;','&quot;',preg_replace('~^&quot;|&quot;$~','',$A[1]));if($J[$B])$J[$B][&quot;collation&quot;]=trim($A[3],&quot;'&quot;);}preg_match_all('~'.$u.'\s.*GENERATED ALWAYS AS \((.+)\) (STORED|VIRTUAL)~i',$ii,$Ze,PREG_SET_ORDER);foreach($Ze</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$A){$B=str_replace('&quot;&quot;','&quot;',preg_replace('~^&quot;|&quot;$~','',$A[1]));$J[$B][&quot;default&quot;]=$A[3];$J[$B][&quot;generated&quot;]=strtoupper($A[4]);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">indexes($R,$g=null){$g=connection($g);$J=array();$ii=get_val(&quot;SELECT sql FROM sqlite_master WHERE type = 'table' AND name = &quot;.q($R),0,$g);if(preg_match('~\bPRIMARY\s+KEY\s*\((([^)&quot;]+|&quot;[^&quot;]*&quot;|`[^`]*`)++)~i',$ii,$A)){$J[&quot;&quot;]=array(&quot;type&quot;=&gt;&quot;PRIMARY&quot;,&quot;columns&quot;=&gt;array(),&quot;lengths&quot;=&gt;array(),&quot;descs&quot;=&gt;array());preg_match_all('~(((&quot;[^&quot;]*+&quot;)+|(?:`[^`]*+`)+)|(\S+))(\s+(ASC|DESC))?(,\s*|$)~i',$A[1],$Ze,PREG_SET_ORDER);foreach($Ze</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$A){$J[&quot;&quot;][&quot;columns&quot;][]=idf_unescape($A[2]).$A[4];$J[&quot;&quot;][&quot;descs&quot;][]=(preg_match('~DESC~i',$A[5])?'1':null);}}if(!$J){foreach(fields($R)as$B=&gt;$m){if($m[&quot;primary&quot;])$J[&quot;&quot;]=array(&quot;type&quot;=&gt;&quot;PRIMARY&quot;,&quot;columns&quot;=&gt;array($B),&quot;lengths&quot;=&gt;array(),&quot;descs&quot;=&gt;array(null));}}$mi=get_key_vals(&quot;SELECT name, sql FROM sqlite_master WHERE type = 'index' AND tbl_name = &quot;.q($R),$g);foreach(get_rows(&quot;PRAGMA index_list(&quot;.table($R).&quot;)&quot;,$g)as$K){$B=$K[&quot;name&quot;];$v=array(&quot;type&quot;=&gt;($K[&quot;unique&quot;]?&quot;UNIQUE&quot;:&quot;INDEX&quot;));$v[&quot;lengths&quot;]=array();$v[&quot;descs&quot;]=array();foreach(get_rows(&quot;PRAGMA index_info(&quot;.idf_escape($B).&quot;)&quot;,$g)as$Ch){$v[&quot;columns&quot;][]=$Ch[&quot;name&quot;];$v[&quot;descs&quot;][]=null;}if(preg_match('~^CREATE( UNIQUE)? INDEX '.preg_quote(idf_escape($B).' ON '.idf_escape($R),'~').' \((.*)\)$~i',$mi[$B],$qh)){preg_match_all('/(&quot;[^&quot;]*+&quot;)+( DESC)?/',$qh[2],$Ze);foreach($Ze[2]as$x=&gt;$X){if($X)$v[&quot;descs&quot;][$x]='1';}}if(!$J[&quot;&quot;]||$v[&quot;type&quot;]!=&quot;UNIQUE&quot;||$v[&quot;columns&quot;]!=$J[&quot;&quot;][&quot;columns&quot;]||$v[&quot;descs&quot;]!=$J[&quot;&quot;][&quot;descs&quot;]||!preg_match(&quot;~^sqlite_~&quot;,$B))$J[$B]=$v;}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreign_keys($R){$J=array();foreach(get_rows(&quot;PRAGMA foreign_key_list(&quot;.table($R).&quot;)&quot;)as$K){$p=&amp;$J[$K[&quot;id&quot;]];if(!$p)$p=$K;$p[&quot;source&quot;][]=$K[&quot;from&quot;];$p[&quot;target&quot;][]=$K[&quot;to&quot;];}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">view($B){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;select&quot;=&gt;preg_replace('~^(?:[^`&quot;[]+|`[^`]*`|&quot;[^&quot;]*&quot;)* AS\s+~iU','',get_val(&quot;SELECT sql FROM sqlite_master WHERE type = 'view' AND name = &quot;.q($B))));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">collations(){return(isset($_GET[&quot;create&quot;])?get_vals(&quot;PRAGMA collation_list&quot;,1):array());}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">information_schema($j){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">error(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h(connection()-&gt;error);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">check_sqlite_name($B){$Pc=&quot;db|sdb|sqlite&quot;;if(!preg_match(&quot;~^[^\\0]*\\.($Pc)\$~&quot;,$B)){connection()-&gt;error=sprintf('Please use one of the extensions %s.',str_replace(&quot;|&quot;,&quot;, &quot;,$Pc));return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_database($j,$c){if(file_exists($j)){connection()-&gt;error='File exists.';return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}if(!check_sqlite_name($j))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;try{$_=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db();$_-&gt;attach($j,'','');}catch(\Exception$Hc){connection()-&gt;error=$Hc-&gt;getMessage();return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}$_-&gt;query('PRAGMA encoding = &quot;UTF-8&quot;');$_-&gt;query('CREATE TABLE adminer (i)');$_-&gt;query('DROP TABLE adminer');return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_databases($i){connection()-&gt;attach(&quot;:memory:&quot;,'','');foreach($i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$j){if(!@unlink($j)){connection()-&gt;error='File exists.';return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rename_database($B,$c){if(!check_sqlite_name($B))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;connection()-&gt;attach(&quot;:memory:&quot;,'','');connection()-&gt;error='File exists.';return@rename(DB,$B);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">auto_increment(){return&quot; PRIMARY KEY AUTOINCREMENT&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_table($R,$B,$n,$jd,$ob,$xc,$c,$_a,$E){$Bj=($R==&quot;&quot;||$jd);foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){if($m[0]!=&quot;&quot;||!$m[1]||$m[2]){$Bj=true;break;}}$b=array();$og=array();foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){if($m[1]){$b[]=($Bj?$m[1]:&quot;ADD &quot;.implode($m[1]));if($m[0]!=&quot;&quot;)$og[$m[0]]=$m[1][0];}}if(!$Bj){foreach($b</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X){if(!queries(&quot;ALTER TABLE &quot;.table($R).&quot; $X&quot;))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}if($R!=$B&amp;&amp;!queries(&quot;ALTER TABLE &quot;.table($R).&quot; RENAME TO &quot;.table($B)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}elseif(!recreate_table($R,$B,$b,$og,$jd,$_a))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;if($_a){queries(&quot;BEGIN&quot;);queries(&quot;UPDATE sqlite_sequence SET seq = $_a WHERE name = &quot;.q($B));if(!connection()-&gt;affected_rows)queries(&quot;INSERT INTO sqlite_sequence (name, seq) VALUES (&quot;.q($B).&quot;, $_a)&quot;);queries(&quot;COMMIT&quot;);}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">recreate_table($R,$B,array$n,array$og,array$jd,$_a=&quot;&quot;,$w=array(),$jc=&quot;&quot;,$ja=&quot;&quot;){if($R!=&quot;&quot;){if(!$n){foreach(fields($R)as$x=&gt;$m){if($w)$m[&quot;auto_increment&quot;]=0;$n[]=process_field($m,$m);$og[$x]=idf_escape($x);}}$Vg=false;foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){if($m[6])$Vg=true;}$lc=array();foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if($X[2]==&quot;DROP&quot;){$lc[$X[1]]=true;unset($w[$x]);}}foreach(indexes($R)as$Be=&gt;$v){$e=array();foreach($v[&quot;columns&quot;]as$x=&gt;$d){if(!$og[$d])continue</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">2;$e[]=$og[$d].($v[&quot;descs&quot;][$x]?&quot; DESC&quot;:&quot;&quot;);}if(!$lc[$Be]){if($v[&quot;type&quot;]!=&quot;PRIMARY&quot;||!$Vg)$w[]=array($v[&quot;type&quot;],$Be,$e);}}foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if($X[0]==&quot;PRIMARY&quot;){unset($w[$x]);$jd[]=&quot; &nbsp;PRIMARY KEY (&quot;.implode(&quot;, &quot;,$X[2]).&quot;)&quot;;}}foreach(foreign_keys($R)as$Be=&gt;$p){foreach($p[&quot;source&quot;]as$x=&gt;$d){if(!$og[$d])continue</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">2;$p[&quot;source&quot;][$x]=idf_unescape($og[$d]);}if(!isset($jd[&quot; $Be&quot;]))$jd[]=&quot; &quot;.format_foreign_key($p);}queries(&quot;BEGIN&quot;);}$Ua=array();foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){if(preg_match('~GENERATED~',$m[3]))unset($og[array_search($m[0],$og)]);$Ua[]=&quot; &nbsp;&quot;.implode($m);}$Ua=array_merge($Ua,array_filter($jd));foreach(driver()-&gt;checkConstraints($R)as$Wa){if($Wa!=$jc)$Ua[]=&quot; &nbsp;CHECK ($Wa)&quot;;}if($ja)$Ua[]=&quot; &nbsp;CHECK ($ja)&quot;;$Ki=($R==$B?&quot;adminer_$B&quot;:$B);if(!queries(&quot;CREATE TABLE &quot;.table($Ki).&quot; (\n&quot;.implode(&quot;,\n&quot;,$Ua).&quot;\n)&quot;))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;if($R!=&quot;&quot;){if($og&amp;&amp;!queries(&quot;INSERT INTO &quot;.table($Ki).&quot; (&quot;.implode(&quot;, &quot;,$og).&quot;) SELECT &quot;.implode(&quot;, &quot;,array_map('Adminer\idf_escape',array_keys($og))).&quot; FROM &quot;.table($R)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;$kj=array();foreach(triggers($R)as$ij=&gt;$Ri){$hj=trigger($ij,$R);$kj[]=&quot;CREATE TRIGGER &quot;.idf_escape($ij).&quot; &quot;.implode(&quot; &quot;,$Ri).&quot; ON &quot;.table($B).&quot;\n$hj[Statement]&quot;;}$_a=$_a?&quot;&quot;:get_val(&quot;SELECT seq FROM sqlite_sequence WHERE name = &quot;.q($R));if(!queries(&quot;DROP TABLE &quot;.table($R))||($R==$B&amp;&amp;!queries(&quot;ALTER TABLE &quot;.table($Ki).&quot; RENAME TO &quot;.table($B)))||!alter_indexes($B,$w))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;if($_a)queries(&quot;UPDATE sqlite_sequence SET seq = $_a WHERE name = &quot;.q($B));foreach($kj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$hj){if(!queries($hj))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}queries(&quot;COMMIT&quot;);}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">index_sql($R,$U,$B,$e){return&quot;CREATE $U &quot;.($U!=&quot;INDEX&quot;?&quot;INDEX &quot;:&quot;&quot;).idf_escape($B!=&quot;&quot;?$B:uniqid($R.&quot;_&quot;)).&quot; ON &quot;.table($R).&quot; $e&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_indexes($R,$b){foreach($b</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$G){if($G[0]==&quot;PRIMARY&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">recreate_table($R,$R,array(),array(),array(),&quot;&quot;,$b);}foreach(array_reverse($b)as$X){if(!queries($X[2]==&quot;DROP&quot;?&quot;DROP INDEX &quot;.idf_escape($X[1]):index_sql($R,$X[0],$X[1],&quot;(&quot;.implode(&quot;, &quot;,$X[2]).&quot;)&quot;)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_tables($T){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;DELETE FROM&quot;,$T);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_views($Nj){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;DROP VIEW&quot;,$Nj);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_tables($T){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;DROP TABLE&quot;,$T);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">move_tables($T,$Nj,$Ii){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger($B,$R){if($B==&quot;&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;Statement&quot;=&gt;&quot;BEGIN\n\t;\nEND&quot;);$u='(?:[^`&quot;\s]+|`[^`]*`|&quot;[^&quot;]*&quot;)+';$jj=trigger_options();preg_match(&quot;~^CREATE\\s+TRIGGER\\s*$u\\s*(&quot;.implode(&quot;|&quot;,$jj[&quot;Timing&quot;]).&quot;)\\s+([a-z]+)(?:\\s+OF\\s+($u))?\\s+ON\\s*$u\\s*(?:FOR\\s+EACH\\s+ROW\\s)?(.*)~is&quot;,get_val(&quot;SELECT sql FROM sqlite_master WHERE type = 'trigger' AND name = &quot;.q($B)),$A);$Lf=$A[3];return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;Timing&quot;=&gt;strtoupper($A[1]),&quot;Event&quot;=&gt;strtoupper($A[2]).($Lf?&quot; OF&quot;:&quot;&quot;),&quot;Of&quot;=&gt;idf_unescape($Lf),&quot;Trigger&quot;=&gt;$B,&quot;Statement&quot;=&gt;$A[4],);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">triggers($R){$J=array();$jj=trigger_options();foreach(get_rows(&quot;SELECT * FROM sqlite_master WHERE type = 'trigger' AND tbl_name = &quot;.q($R))as$K){preg_match('~^CREATE\s+TRIGGER\s*(?:[^`&quot;\s]+|`[^`]*`|&quot;[^&quot;]*&quot;)+\s*('.implode(&quot;|&quot;,$jj[&quot;Timing&quot;]).')\s*(.*?)\s+ON\b~i',$K[&quot;sql&quot;],$A);$J[$K[&quot;name&quot;]]=array($A[1],$A[2]);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger_options(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;Timing&quot;=&gt;array(&quot;BEFORE&quot;,&quot;AFTER&quot;,&quot;INSTEAD OF&quot;),&quot;Event&quot;=&gt;array(&quot;INSERT&quot;,&quot;UPDATE&quot;,&quot;UPDATE OF&quot;,&quot;DELETE&quot;),&quot;Type&quot;=&gt;array(&quot;FOR EACH ROW&quot;),);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">begin(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;BEGIN&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">last_id($I){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT LAST_INSERT_ROWID()&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">explain($f,$H){return$f-&gt;query(&quot;EXPLAIN QUERY PLAN $H&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">found_rows($S,$Z){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">types(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_sql($R,$_a,$si){$J=get_val(&quot;SELECT sql FROM sqlite_master WHERE type IN ('table', 'view') AND name = &quot;.q($R));foreach(indexes($R)as$B=&gt;$v){if($B=='')continue;$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;;\n\n&quot;.index_sql($R,$v['type'],$B,&quot;(&quot;.implode(&quot;, &quot;,array_map('Adminer\idf_escape',$v['columns'])).&quot;)&quot;);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_sql($R){return&quot;DELETE FROM &quot;.table($R);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">use_sql($Nb,$si=&quot;&quot;){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger_sql($R){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">implode(get_vals(&quot;SELECT sql || ';;\n' FROM sqlite_master WHERE type = 'trigger' AND tbl_name = &quot;.q($R)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">show_variables(){$J=array();foreach(get_rows(&quot;PRAGMA pragma_list&quot;)as$K){$B=$K[&quot;name&quot;];if($B!=&quot;pragma_list&quot;&amp;&amp;$B!=&quot;compile_options&quot;){$J[$B]=array($B,'');foreach(get_rows(&quot;PRAGMA $B&quot;)as$K)$J[$B][1].=implode(&quot;, &quot;,$K).&quot;\n&quot;;}}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">show_status(){$J=array();foreach(get_vals(&quot;PRAGMA compile_options&quot;)as$ag)$J[]=explode(&quot;=&quot;,$ag,2)+array('','');return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convert_field($m){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unconvert_field($m,$J){return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">support($Uc){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_match('~^(check|columns|database|drop_col|dump|indexes|descidx|move_col|sql|status|table|trigger|variables|view|view_trigger)$~',$Uc);}}add_driver(&quot;pgsql&quot;,&quot;PostgreSQL&quot;);if(isset($_GET[&quot;pgsql&quot;])){define('Adminer\DRIVER',&quot;pgsql&quot;);if(extension_loaded(&quot;pgsql&quot;)&amp;&amp;$_GET[&quot;ext&quot;]!=&quot;pdo&quot;){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PgsqlDb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDb{var$extension=&quot;PgSQL&quot;;var$timeout=0;private$link,$string,$database=true;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">_error($Cc,$l){if(ini_bool(&quot;html_errors&quot;))$l=html_entity_decode(strip_tags($l));$l=preg_replace('~^[^:]*: ~','',$l);$this-&gt;error=$l;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){$j=adminer()-&gt;database();set_error_handler(array($this,'_error'));list($Md,$Mg)=host_port(addcslashes($N,&quot;'\\&quot;));$this-&gt;string=&quot;host='$Md'&quot;.($Mg?&quot; port='$Mg'&quot;:&quot;&quot;).&quot; user='&quot;.addcslashes($V,&quot;'\\&quot;).&quot;' password='&quot;.addcslashes($F,&quot;'\\&quot;).&quot;'&quot;;$ni=adminer()-&gt;connectSsl();if(isset($ni[&quot;mode&quot;]))$this-&gt;string</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot; sslmode='&quot;.$ni[&quot;mode&quot;].&quot;'&quot;;$this-&gt;link=@pg_connect(&quot;$this-&gt;string dbname='&quot;.($j!=&quot;&quot;?addcslashes($j,&quot;'\\&quot;):&quot;postgres&quot;).&quot;'&quot;,PGSQL_CONNECT_FORCE_NEW);if(!$this-&gt;link&amp;&amp;$j!=&quot;&quot;){$this-&gt;database=false;$this-&gt;link=@pg_connect(&quot;$this-&gt;string dbname='postgres'&quot;,PGSQL_CONNECT_FORCE_NEW);}restore_error_handler();if($this-&gt;link)pg_set_client_encoding($this-&gt;link,&quot;UTF8&quot;);return($this-&gt;link?'':$this-&gt;error);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quote($Q){return(function_exists('pg_escape_literal')?pg_escape_literal($this-&gt;link,$Q):&quot;'&quot;.pg_escape_string($this-&gt;link,$Q).&quot;'&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">value($X,array$m){return($m[&quot;type&quot;]==&quot;bytea&quot;&amp;&amp;$X!==null?pg_unescape_bytea($X):$X);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($Nb){if($Nb==adminer()-&gt;database())return$this-&gt;database;$J=@pg_connect(&quot;$this-&gt;string dbname='&quot;.addcslashes($Nb,&quot;'\\&quot;).&quot;'&quot;,PGSQL_CONNECT_FORCE_NEW);if($J)$this-&gt;link=$J;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">close(){$this-&gt;link=@pg_connect(&quot;$this-&gt;string dbname='postgres'&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query($H,$oj=false){$I=@pg_query($this-&gt;link,$H);$this-&gt;error=&quot;&quot;;if(!$I){$this-&gt;error=pg_last_error($this-&gt;link);$J=false;}elseif(!pg_num_fields($I)){$this-&gt;affected_rows=pg_affected_rows($I);$J=true;}else$J=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result($I);if($this-&gt;timeout){$this-&gt;timeout=0;$this-&gt;query(&quot;RESET statement_timeout&quot;);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">warnings(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h(pg_last_notice($this-&gt;link));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">copyFrom($R,array$L){$this-&gt;error='';set_error_handler(function($Cc,$l){$this-&gt;error=(ini_bool('html_errors')?html_entity_decode($l):$l);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;});$J=pg_copy_from($this-&gt;link,$R,$L);restore_error_handler();return$J;}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result{var$num_rows;private$result,$offset=0;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct($I){$this-&gt;result=$I;$this-&gt;num_rows=pg_num_rows($I);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_assoc(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pg_fetch_assoc($this-&gt;result);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_row(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pg_fetch_row($this-&gt;result);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_field(){$d=$this-&gt;offset++;$J=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\stdClass;$J-&gt;orgtable=pg_field_table($this-&gt;result,$d);$J-&gt;name=pg_field_name($this-&gt;result,$d);$U=pg_field_type($this-&gt;result,$d);$J-&gt;type=(preg_match(number_type(),$U)?0:15);$J-&gt;charsetnr=($U==&quot;bytea&quot;?63:0);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__destruct(){pg_free_result($this-&gt;result);}}}elseif(extension_loaded(&quot;pdo_pgsql&quot;)){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PgsqlDb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PdoDb{var$extension=&quot;PDO_PgSQL&quot;;var$timeout=0;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){$j=adminer()-&gt;database();list($Md,$Mg)=host_port(addcslashes($N,&quot;'\\&quot;));$nc=&quot;pgsql:host='$Md'&quot;.($Mg?&quot; port='$Mg'&quot;:&quot;&quot;).&quot; client_encoding=utf8 dbname='&quot;.($j!=&quot;&quot;?addcslashes($j,&quot;'\\&quot;):&quot;postgres&quot;).&quot;'&quot;;$ni=adminer()-&gt;connectSsl();if(isset($ni[&quot;mode&quot;]))$nc</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot; sslmode='&quot;.$ni[&quot;mode&quot;].&quot;'&quot;;return$this-&gt;dsn($nc,$V,$F);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($Nb){return(adminer()-&gt;database()==$Nb);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query($H,$oj=false){$J=parent::query($H,$oj);if($this-&gt;timeout){$this-&gt;timeout=0;parent::query(&quot;RESET statement_timeout&quot;);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">warnings(){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">copyFrom($R,array$L){$J=$this-&gt;pdo-&gt;pgsqlCopyFromArray($R,$L);$this-&gt;error=idx($this-&gt;pdo-&gt;errorInfo(),2)?:'';return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">close(){}}}if(class_exists('Adminer\PgsqlDb')){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PgsqlDb{function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">multi_query($H){if(preg_match('~\bCOPY\s+(.+?)\s+FROM\s+stdin;\n?(.*)\n\\\\\.$~is',str_replace(&quot;\r\n&quot;,&quot;\n&quot;,$H),$A)){$L=explode(&quot;\n&quot;,$A[2]);$this-&gt;affected_rows=count($L);return$this-&gt;copyFrom($A[1],$L);}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">parent::multi_query($H);}}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Driver</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDriver{static$extensions=array(&quot;PgSQL&quot;,&quot;PDO_PgSQL&quot;);static$jush=&quot;pgsql&quot;;var$operators=array(&quot;=&quot;,&quot;&lt;&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;,&quot;&gt;=&quot;,&quot;!=&quot;,&quot;~&quot;,&quot;!~&quot;,&quot;LIKE&quot;,&quot;LIKE %%&quot;,&quot;ILIKE&quot;,&quot;ILIKE %%&quot;,&quot;IN&quot;,&quot;IS NULL&quot;,&quot;NOT LIKE&quot;,&quot;NOT ILIKE&quot;,&quot;NOT IN&quot;,&quot;IS NOT NULL&quot;,&quot;SQL&quot;);var$functions=array(&quot;char_length&quot;,&quot;lower&quot;,&quot;round&quot;,&quot;to_hex&quot;,&quot;to_timestamp&quot;,&quot;upper&quot;);var$grouping=array(&quot;avg&quot;,&quot;count&quot;,&quot;count distinct&quot;,&quot;max&quot;,&quot;min&quot;,&quot;sum&quot;);var$nsOid=&quot;(SELECT oid FROM pg_namespace WHERE nspname = current_schema())&quot;;static</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connect($N,$V,$F){$f=parent::connect($N,$V,$F);if(is_string($f))return$f;$Lj=get_val(&quot;SELECT version()&quot;,0,$f);$f-&gt;flavor=(preg_match('~CockroachDB~',$Lj)?'cockroach':'');$f-&gt;server_info=preg_replace('~^\D*([\d.]+[-\w]*).*~','\1',$Lj);if(min_version(9,0,$f))$f-&gt;query(&quot;SET application_name = 'Adminer'&quot;);if($f-&gt;flavor=='cockroach')add_driver(DRIVER,&quot;CockroachDB&quot;);return$f;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct(Db$f){parent::__construct($f);$this-&gt;types=array('Numbers'=&gt;array(&quot;smallint&quot;=&gt;5,&quot;integer&quot;=&gt;10,&quot;bigint&quot;=&gt;19,&quot;boolean&quot;=&gt;1,&quot;numeric&quot;=&gt;0,&quot;real&quot;=&gt;7,&quot;double precision&quot;=&gt;16,&quot;money&quot;=&gt;20),'Date and time'=&gt;array(&quot;date&quot;=&gt;13,&quot;time&quot;=&gt;17,&quot;timestamp&quot;=&gt;20,&quot;timestamptz&quot;=&gt;21,&quot;interval&quot;=&gt;0),'Strings'=&gt;array(&quot;character&quot;=&gt;0,&quot;character varying&quot;=&gt;0,&quot;text&quot;=&gt;0,&quot;tsquery&quot;=&gt;0,&quot;tsvector&quot;=&gt;0,&quot;uuid&quot;=&gt;0,&quot;xml&quot;=&gt;0),'Binary'=&gt;array(&quot;bit&quot;=&gt;0,&quot;bit varying&quot;=&gt;0,&quot;bytea&quot;=&gt;0),'Network'=&gt;array(&quot;cidr&quot;=&gt;43,&quot;inet&quot;=&gt;43,&quot;macaddr&quot;=&gt;17,&quot;macaddr8&quot;=&gt;23,&quot;txid_snapshot&quot;=&gt;0),'Geometry'=&gt;array(&quot;box&quot;=&gt;0,&quot;circle&quot;=&gt;0,&quot;line&quot;=&gt;0,&quot;lseg&quot;=&gt;0,&quot;path&quot;=&gt;0,&quot;point&quot;=&gt;0,&quot;polygon&quot;=&gt;0),);if(min_version(9.2,0,$f)){$this-&gt;types['Strings'][&quot;json&quot;]=4294967295;if(min_version(9.4,0,$f))$this-&gt;types['Strings'][&quot;jsonb&quot;]=4294967295;}$this-&gt;insertFunctions=array(&quot;char&quot;=&gt;&quot;md5&quot;,&quot;date|time&quot;=&gt;&quot;now&quot;,);$this-&gt;editFunctions=array(number_type()=&gt;&quot;+/-&quot;,&quot;date|time&quot;=&gt;&quot;+ interval/- interval&quot;,&quot;char|text&quot;=&gt;&quot;||&quot;,);if(min_version(12,0,$f))$this-&gt;generated=array(&quot;STORED&quot;);$this-&gt;partitionBy=array(&quot;RANGE&quot;,&quot;LIST&quot;);if(!$f-&gt;flavor)$this-&gt;partitionBy[]=&quot;HASH&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">enumLength(array$m){$zc=$this-&gt;types['User types'][$m[&quot;type&quot;]];return($zc?type_values($zc):&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">setUserTypes($nj){$this-&gt;types['User types']=array_flip($nj);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insertReturning($R){$_a=array_filter(fields($R),function($m){return$m['auto_increment'];});return(count($_a)==1?&quot; RETURNING &quot;.idf_escape(key($_a)):&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insertUpdate($R,array$L,array$G){foreach($L</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$O){$wj=array();$Z=array();foreach($O</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$wj[]=&quot;$x = $X&quot;;if(isset($G[idf_unescape($x)]))$Z[]=&quot;$x = $X&quot;;}if(!(($Z&amp;&amp;queries(&quot;UPDATE &quot;.table($R).&quot; SET &quot;.implode(&quot;, &quot;,$wj).&quot; WHERE &quot;.implode(&quot; AND &quot;,$Z))&amp;&amp;$this-&gt;conn-&gt;affected_rows)||queries(&quot;INSERT INTO &quot;.table($R).&quot; (&quot;.implode(&quot;, &quot;,array_keys($O)).&quot;) VALUES (&quot;.implode(&quot;, &quot;,$O).&quot;)&quot;)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">slowQuery($H,$Qi){$this-&gt;conn-&gt;query(&quot;SET statement_timeout = &quot;.(1000*$Qi));$this-&gt;conn-&gt;timeout=1000*$Qi;return$H;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convertSearch($u,array$X,array$m){$Ni=&quot;char|text&quot;;if(strpos($X[&quot;op&quot;],&quot;LIKE&quot;)===false)$Ni</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;|date|time(stamp)?|boolean|uuid|inet|cidr|macaddr|&quot;.number_type();return(preg_match(&quot;~$Ni~&quot;,$m[&quot;type&quot;])?$u:&quot;CAST($u AS text)&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quoteBinary($Dh){return&quot;'\\x&quot;.bin2hex($Dh).&quot;'&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">warnings(){return$this-&gt;conn-&gt;warnings();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tableHelp($B,$ye=false){$Re=array(&quot;information_schema&quot;=&gt;&quot;infoschema&quot;,&quot;pg_catalog&quot;=&gt;($ye?&quot;view&quot;:&quot;catalog&quot;),);$_=$Re[$_GET[&quot;ns&quot;]];if($_)return&quot;$_-&quot;.str_replace(&quot;_&quot;,&quot;-&quot;,$B).&quot;.html&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">inheritsFrom($R){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_vals(&quot;SELECT relname FROM pg_class JOIN pg_inherits ON inhparent = oid WHERE inhrelid = &quot;.$this-&gt;tableOid($R).&quot; ORDER BY 1&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">inheritedTables($R){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_vals(&quot;SELECT relname FROM pg_inherits JOIN pg_class ON inhrelid = oid WHERE inhparent = &quot;.$this-&gt;tableOid($R).&quot; ORDER BY 1&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">partitionsInfo($R){$K=(min_version(10)?$this-&gt;conn-&gt;query(&quot;SELECT * FROM pg_partitioned_table WHERE partrelid = &quot;.$this-&gt;tableOid($R))-&gt;fetch_assoc():null);if($K){$ya=get_vals(&quot;SELECT attname FROM pg_attribute WHERE attrelid = $K[partrelid] AND attnum IN (&quot;.str_replace(&quot; &quot;,&quot;, &quot;,$K[&quot;partattrs&quot;]).&quot;)&quot;);$Oa=array('h'=&gt;'HASH','l'=&gt;'LIST','r'=&gt;'RANGE');return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;partition_by&quot;=&gt;$Oa[$K[&quot;partstrat&quot;]],&quot;partition&quot;=&gt;implode(&quot;, &quot;,array_map('Adminer\idf_escape',$ya)),);}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tableOid($R){return&quot;(SELECT oid FROM pg_class WHERE relnamespace = $this-&gt;nsOid AND relname = &quot;.q($R).&quot; AND relkind IN ('r', 'm', 'v', 'f', 'p'))&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">indexAlgorithms(array$yi){static$J=array();if(!$J)$J=get_vals(&quot;SELECT amname FROM pg_am&quot;.(min_version(9.6)?&quot; WHERE amtype = 'i'&quot;:&quot;&quot;).&quot; ORDER BY amname = '&quot;.($this-&gt;conn-&gt;flavor=='cockroach'?&quot;prefix&quot;:&quot;btree&quot;).&quot;' DESC, amname&quot;);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">supportsIndex(array$S){return$S[&quot;Engine&quot;]!=&quot;view&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hasCStyleEscapes(){static$Qa;if($Qa===null)$Qa=(get_val(&quot;SHOW standard_conforming_strings&quot;,0,$this-&gt;conn)==&quot;off&quot;);return$Qa;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($u){return'&quot;'.str_replace('&quot;','&quot;&quot;',$u).'&quot;';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table($u){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($u);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_databases($hd){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_vals(&quot;SELECT datname FROM pg_database</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE datallowconn = TRUE AND has_database_privilege(datname, 'CONNECT')</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY datname&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit($H,$Z,$z,$C=0,$Rh=&quot; &quot;){return&quot; $H$Z&quot;.($z?$Rh.&quot;LIMIT $z&quot;.($C?&quot; OFFSET $C&quot;:&quot;&quot;):&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit1($R,$H,$Z,$Rh=&quot;\n&quot;){return(preg_match('~^INTO~',$H)?limit($H,$Z,1,0,$Rh):&quot; $H&quot;.(is_view(table_status1($R))?$Z:$Rh.&quot;WHERE ctid = (SELECT ctid FROM &quot;.table($R).$Z.$Rh.&quot;LIMIT 1)&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">db_collation($j,$jb){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT datcollate FROM pg_database WHERE datname = &quot;.q($j));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">logged_user(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT user&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tables_list(){$H=&quot;SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = current_schema()&quot;;if(support(&quot;materializedview&quot;))$H</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">UNION ALL</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SELECT matviewname, 'MATERIALIZED VIEW'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM pg_matviews</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE schemaname = current_schema()&quot;;$H</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY 1&quot;;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_key_vals($H);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">count_tables($i){$J=array();foreach($i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$j){if(connection()-&gt;select_db($j))$J[$j]=count(tables_list());}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table_status($B=&quot;&quot;){static$Fd;if($Fd===null)$Fd=get_val(&quot;SELECT 'pg_table_size'::regproc&quot;);$J=array();foreach(get_rows(&quot;SELECT</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; relname AS \&quot;Name\&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; CASE relkind WHEN 'v' THEN 'view' WHEN 'm' THEN 'materialized view' ELSE 'table' END AS \&quot;Engine\&quot;&quot;.($Fd?&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; pg_table_size(c.oid) AS \&quot;Data_length\&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; pg_indexes_size(c.oid) AS \&quot;Index_length\&quot;&quot;:&quot;&quot;).&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; obj_description(c.oid, 'pg_class') AS \&quot;Comment\&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &quot;.(min_version(12)?&quot;''&quot;:&quot;CASE WHEN relhasoids THEN 'oid' ELSE '' END&quot;).&quot; AS \&quot;Oid\&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; reltuples AS \&quot;Rows\&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &quot;.(min_version(10)?&quot;relispartition::int AS partition,&quot;:&quot;&quot;).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; current_schema() AS nspname</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM pg_class c</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE relkind IN ('r', 'm', 'v', 'f', 'p')</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND relnamespace = &quot;.driver()-&gt;nsOid.&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&quot;.($B!=&quot;&quot;?&quot;AND relname = &quot;.q($B):&quot;ORDER BY relname&quot;))as$K)$J[$K[&quot;Name&quot;]]=$K;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_view($S){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">in_array($S[&quot;Engine&quot;],array(&quot;view&quot;,&quot;materialized view&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fk_support($S){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fields($R){$J=array();$ra=array('timestamp without time zone'=&gt;'timestamp','timestamp with time zone'=&gt;'timestamptz',);foreach(get_rows(&quot;SELECT</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; a.attname AS field,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; format_type(a.atttypid, a.atttypmod) AS full_type,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; pg_get_expr(d.adbin, d.adrelid) AS default,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; a.attnotnull::int,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; col_description(a.attrelid, a.attnum) AS comment&quot;.(min_version(10)?&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; a.attidentity&quot;.(min_version(12)?&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; a.attgenerated&quot;:&quot;&quot;):&quot;&quot;).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM pg_attribute a</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE a.attrelid = &quot;.driver()-&gt;tableOid($R).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND NOT a.attisdropped</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND a.attnum &gt; 0</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY a.attnum&quot;)as$K){preg_match('~([^([]+)(\((.*)\))?([a-z ]+)?((\[[0-9]*])*)$~',$K[&quot;full_type&quot;],$A);list(,$U,$y,$K[&quot;length&quot;],$ka,$va)=$A;$K[&quot;length&quot;].=$va;$Ya=$U.$ka;if(isset($ra[$Ya])){$K[&quot;type&quot;]=$ra[$Ya];$K[&quot;full_type&quot;]=$K[&quot;type&quot;].$y.$va;}else{$K[&quot;type&quot;]=$U;$K[&quot;full_type&quot;]=$K[&quot;type&quot;].$y.$ka.$va;}if(in_array($K['attidentity'],array('a','d')))$K['default']='GENERATED '.($K['attidentity']=='d'?'BY DEFAULT':'ALWAYS').' AS IDENTITY';$K[&quot;generated&quot;]=($K[&quot;attgenerated&quot;]==&quot;s&quot;?&quot;STORED&quot;:&quot;&quot;);$K[&quot;null&quot;]=!$K[&quot;attnotnull&quot;];$K[&quot;auto_increment&quot;]=$K['attidentity']||preg_match('~^nextval\(~i',$K[&quot;default&quot;])||preg_match('~^unique_rowid\(~',$K[&quot;default&quot;]);$K[&quot;privileges&quot;]=array(&quot;insert&quot;=&gt;1,&quot;select&quot;=&gt;1,&quot;update&quot;=&gt;1,&quot;where&quot;=&gt;1,&quot;order&quot;=&gt;1);if(preg_match('~(.+)::[^,)]+(.*)~',$K[&quot;default&quot;],$A))$K[&quot;default&quot;]=($A[1]==&quot;NULL&quot;?null:idf_unescape($A[1]).$A[2]);$J[$K[&quot;field&quot;]]=$K;}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">indexes($R,$g=null){$g=connection($g);$J=array();$Ai=driver()-&gt;tableOid($R);$e=get_key_vals(&quot;SELECT attnum, attname FROM pg_attribute WHERE attrelid = $Ai AND attnum &gt; 0&quot;,$g);foreach(get_rows(&quot;SELECT relname, indisunique::int, indisprimary::int, indkey, indoption, amname, pg_get_expr(indpred, indrelid, true) AS partial, pg_get_expr(indexprs, indrelid) AS indexpr</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM pg_index</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">JOIN pg_class ON indexrelid = oid</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">JOIN pg_am ON pg_am.oid = pg_class.relam</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE indrelid = $Ai</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY indisprimary DESC, indisunique DESC&quot;,$g)as$K){$rh=$K[&quot;relname&quot;];$J[$rh][&quot;type&quot;]=($K[&quot;partial&quot;]?&quot;INDEX&quot;:($K[&quot;indisprimary&quot;]?&quot;PRIMARY&quot;:($K[&quot;indisunique&quot;]?&quot;UNIQUE&quot;:&quot;INDEX&quot;)));$J[$rh][&quot;columns&quot;]=array();$J[$rh][&quot;descs&quot;]=array();$J[$rh][&quot;algorithm&quot;]=$K[&quot;amname&quot;];$J[$rh][&quot;partial&quot;]=$K[&quot;partial&quot;];$ee=preg_split('~(?&lt;=\)), (?=\()~',$K[&quot;indexpr&quot;]);foreach(explode(&quot; &quot;,$K[&quot;indkey&quot;])as$fe)$J[$rh][&quot;columns&quot;][]=($fe?$e[$fe]:array_shift($ee));foreach(explode(&quot; &quot;,$K[&quot;indoption&quot;])as$ge)$J[$rh][&quot;descs&quot;][]=(intval($ge)&amp;1?'1':null);$J[$rh][&quot;lengths&quot;]=array();}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreign_keys($R){$J=array();foreach(get_rows(&quot;SELECT conname, condeferrable::int AS deferrable, pg_get_constraintdef(oid) AS definition</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM pg_constraint</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE conrelid = &quot;.driver()-&gt;tableOid($R).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND contype = 'f'::char</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY conkey, conname&quot;)as$K){if(preg_match('~FOREIGN KEY\s*\((.+)\)\s*REFERENCES (.+)\((.+)\)(.*)$~iA',$K['definition'],$A)){$K['source']=array_map('Adminer\idf_unescape',array_map('trim',explode(',',$A[1])));if(preg_match('~^((&quot;([^&quot;]|&quot;&quot;)+&quot;|[^&quot;]+)\.)?&quot;?(&quot;([^&quot;]|&quot;&quot;)+&quot;|[^&quot;]+)$~',$A[2],$Xe)){$K['ns']=idf_unescape($Xe[2]);$K['table']=idf_unescape($Xe[4]);}$K['target']=array_map('Adminer\idf_unescape',array_map('trim',explode(',',$A[3])));$K['on_delete']=(preg_match(&quot;~ON DELETE (&quot;.driver()-&gt;onActions.&quot;)~&quot;,$A[4],$Xe)?$Xe[1]:'NO ACTION');$K['on_update']=(preg_match(&quot;~ON UPDATE (&quot;.driver()-&gt;onActions.&quot;)~&quot;,$A[4],$Xe)?$Xe[1]:'NO ACTION');$J[$K['conname']]=$K;}}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">view($B){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;select&quot;=&gt;trim(get_val(&quot;SELECT pg_get_viewdef(&quot;.driver()-&gt;tableOid($B).&quot;)&quot;)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">collations(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">information_schema($j){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_schema()==&quot;information_schema&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">error(){$J=h(connection()-&gt;error);if(preg_match('~^(.*\n)?([^\n]*)\n( *)\^(\n.*)?$~s',$J,$A))$J=$A[1].preg_replace('~((?:[^&amp;]|&amp;[^;]*;){'.strlen($A[3]).'})(.*)~','\1&lt;b&gt;\2&lt;/b&gt;',$A[2]).$A[4];return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">nl_br($J);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_database($j,$c){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;CREATE DATABASE &quot;.idf_escape($j).($c?&quot; ENCODING &quot;.idf_escape($c):&quot;&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_databases($i){connection()-&gt;close();return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;DROP DATABASE&quot;,$i,'Adminer\idf_escape');}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rename_database($B,$c){connection()-&gt;close();return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;ALTER DATABASE &quot;.idf_escape(DB).&quot; RENAME TO &quot;.idf_escape($B));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">auto_increment(){return&quot;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_table($R,$B,$n,$jd,$ob,$xc,$c,$_a,$E){$b=array();$eh=array();if($R!=&quot;&quot;&amp;&amp;$R!=$B)$eh[]=&quot;ALTER TABLE &quot;.table($R).&quot; RENAME TO &quot;.table($B);$Sh=&quot;&quot;;foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){$d=idf_escape($m[0]);$X=$m[1];if(!$X)$b[]=&quot;DROP $d&quot;;else{$Hj=$X[5];unset($X[5]);if($m[0]==&quot;&quot;){if(isset($X[6]))$X[1]=($X[1]==&quot; bigint&quot;?&quot; big&quot;:($X[1]==&quot; smallint&quot;?&quot; small&quot;:&quot; &quot;)).&quot;serial&quot;;$b[]=($R!=&quot;&quot;?&quot;ADD &quot;:&quot; &nbsp;&quot;).implode($X);if(isset($X[6]))$b[]=($R!=&quot;&quot;?&quot;ADD&quot;:&quot; &quot;).&quot; PRIMARY KEY ($X[0])&quot;;}else{if($d!=$X[0])$eh[]=&quot;ALTER TABLE &quot;.table($B).&quot; RENAME $d TO $X[0]&quot;;$b[]=&quot;ALTER $d TYPE$X[1]&quot;;$Th=$R.&quot;_&quot;.idf_unescape($X[0]).&quot;_seq&quot;;$b[]=&quot;ALTER $d &quot;.($X[3]?&quot;SET&quot;.preg_replace('~GENERATED ALWAYS(.*) STORED~','EXPRESSION\1',$X[3]):(isset($X[6])?&quot;SET DEFAULT nextval(&quot;.q($Th).&quot;)&quot;:&quot;DROP DEFAULT&quot;));if(isset($X[6]))$Sh=&quot;CREATE SEQUENCE IF NOT EXISTS &quot;.idf_escape($Th).&quot; OWNED BY &quot;.idf_escape($R).&quot;.$X[0]&quot;;$b[]=&quot;ALTER $d &quot;.($X[2]==&quot; NULL&quot;?&quot;DROP NOT&quot;:&quot;SET&quot;).$X[2];}if($m[0]!=&quot;&quot;||$Hj!=&quot;&quot;)$eh[]=&quot;COMMENT ON COLUMN &quot;.table($B).&quot;.$X[0] IS &quot;.($Hj!=&quot;&quot;?substr($Hj,9):&quot;''&quot;);}}$b=array_merge($b,$jd);if($R==&quot;&quot;){$P=&quot;&quot;;if($E){$eb=(connection()-&gt;flavor=='cockroach');$P=&quot; PARTITION BY $E[partition_by]($E[partition])&quot;;if($E[&quot;partition_by&quot;]=='HASH'){$Cg=+$E[&quot;partitions&quot;];for($s=0;$s&lt;$Cg;$s++)$eh[]=&quot;CREATE TABLE &quot;.idf_escape($B.&quot;_$s&quot;).&quot; PARTITION OF &quot;.idf_escape($B).&quot; FOR VALUES WITH (MODULUS $Cg, REMAINDER $s)&quot;;}else{$Ug=&quot;MINVALUE&quot;;foreach($E[&quot;partition_names&quot;]as$s=&gt;$X){$Y=$E[&quot;partition_values&quot;][$s];$zg=&quot; VALUES &quot;.($E[&quot;partition_by&quot;]=='LIST'?&quot;IN ($Y)&quot;:&quot;FROM ($Ug) TO ($Y)&quot;);if($eb)$P</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=($s?&quot;,&quot;:&quot; (&quot;).&quot;\n &nbsp;PARTITION &quot;.(preg_match('~^DEFAULT$~i',$X)?$X:idf_escape($X)).&quot;$zg&quot;;else$eh[]=&quot;CREATE TABLE &quot;.idf_escape($B.&quot;_$X&quot;).&quot; PARTITION OF &quot;.idf_escape($B).&quot; FOR$zg&quot;;$Ug=$Y;}$P</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=($eb?&quot;\n)&quot;:&quot;&quot;);}}array_unshift($eh,&quot;CREATE TABLE &quot;.table($B).&quot; (\n&quot;.implode(&quot;,\n&quot;,$b).&quot;\n)$P&quot;);}elseif($b)array_unshift($eh,&quot;ALTER TABLE &quot;.table($R).&quot;\n&quot;.implode(&quot;,\n&quot;,$b));if($Sh)array_unshift($eh,$Sh);if($ob!==null)$eh[]=&quot;COMMENT ON TABLE &quot;.table($B).&quot; IS &quot;.q($ob);foreach($eh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$H){if(!queries($H))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_indexes($R,$b){$h=array();$ic=array();$eh=array();foreach($b</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X){if($X[0]!=&quot;INDEX&quot;)$h[]=($X[2]==&quot;DROP&quot;?&quot;\nDROP CONSTRAINT &quot;.idf_escape($X[1]):&quot;\nADD&quot;.($X[1]!=&quot;&quot;?&quot; CONSTRAINT &quot;.idf_escape($X[1]):&quot;&quot;).&quot; $X[0] &quot;.($X[0]==&quot;PRIMARY&quot;?&quot;KEY &quot;:&quot;&quot;).&quot;(&quot;.implode(&quot;, &quot;,$X[2]).&quot;)&quot;);elseif($X[2]==&quot;DROP&quot;)$ic[]=idf_escape($X[1]);else$eh[]=&quot;CREATE INDEX &quot;.idf_escape($X[1]!=&quot;&quot;?$X[1]:uniqid($R.&quot;_&quot;)).&quot; ON &quot;.table($R).($X[3]?&quot; USING $X[3]&quot;:&quot;&quot;).&quot; (&quot;.implode(&quot;, &quot;,$X[2]).&quot;)&quot;.($X[4]?&quot; WHERE $X[4]&quot;:&quot;&quot;);}if($h)array_unshift($eh,&quot;ALTER TABLE &quot;.table($R).implode(&quot;,&quot;,$h));if($ic)array_unshift($eh,&quot;DROP INDEX &quot;.implode(&quot;, &quot;,$ic));foreach($eh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$H){if(!queries($H))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_tables($T){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;TRUNCATE &quot;.implode(&quot;, &quot;,array_map('Adminer\table',$T)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_views($Nj){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_tables($Nj);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_tables($T){foreach($T</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$R){$P=table_status1($R);if(!queries(&quot;DROP &quot;.strtoupper($P[&quot;Engine&quot;]).&quot; &quot;.table($R)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">move_tables($T,$Nj,$Ii){foreach(array_merge($T,$Nj)as$R){$P=table_status1($R);if(!queries(&quot;ALTER &quot;.strtoupper($P[&quot;Engine&quot;]).&quot; &quot;.table($R).&quot; SET SCHEMA &quot;.idf_escape($Ii)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger($B,$R){if($B==&quot;&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;Statement&quot;=&gt;&quot;EXECUTE PROCEDURE ()&quot;);$e=array();$Z=&quot;WHERE trigger_schema = current_schema() AND event_object_table = &quot;.q($R).&quot; AND trigger_name = &quot;.q($B);foreach(get_rows(&quot;SELECT * FROM information_schema.triggered_update_columns $Z&quot;)as$K)$e[]=$K[&quot;event_object_column&quot;];$J=array();foreach(get_rows('SELECT trigger_name AS &quot;Trigger&quot;, action_timing AS &quot;Timing&quot;, event_manipulation AS &quot;Event&quot;, \'FOR EACH \' || action_orientation AS &quot;Type&quot;, action_statement AS &quot;Statement&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM information_schema.triggers'.&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$Z</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY event_manipulation DESC&quot;)as$K){if($e&amp;&amp;$K[&quot;Event&quot;]==&quot;UPDATE&quot;)$K[&quot;Event&quot;].=&quot; OF&quot;;$K[&quot;Of&quot;]=implode(&quot;, &quot;,$e);if($J)$K[&quot;Event&quot;].=&quot; OR $J[Event]&quot;;$J=$K;}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">triggers($R){$J=array();foreach(get_rows(&quot;SELECT * FROM information_schema.triggers WHERE trigger_schema = current_schema() AND event_object_table = &quot;.q($R))as$K){$hj=trigger($K[&quot;trigger_name&quot;],$R);$J[$hj[&quot;Trigger&quot;]]=array($hj[&quot;Timing&quot;],$hj[&quot;Event&quot;]);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger_options(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;Timing&quot;=&gt;array(&quot;BEFORE&quot;,&quot;AFTER&quot;),&quot;Event&quot;=&gt;array(&quot;INSERT&quot;,&quot;UPDATE&quot;,&quot;UPDATE OF&quot;,&quot;DELETE&quot;,&quot;INSERT OR UPDATE&quot;,&quot;INSERT OR UPDATE OF&quot;,&quot;DELETE OR INSERT&quot;,&quot;DELETE OR UPDATE&quot;,&quot;DELETE OR UPDATE OF&quot;,&quot;DELETE OR INSERT OR UPDATE&quot;,&quot;DELETE OR INSERT OR UPDATE OF&quot;),&quot;Type&quot;=&gt;array(&quot;FOR EACH ROW&quot;,&quot;FOR EACH STATEMENT&quot;),);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">routine($B,$U){$L=get_rows('SELECT routine_definition AS definition, LOWER(external_language) AS language, *</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM information_schema.routines</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE routine_schema = current_schema() AND specific_name = '.q($B));$J=idx($L,0,array());$J[&quot;returns&quot;]=array(&quot;type&quot;=&gt;$J[&quot;type_udt_name&quot;]);$J[&quot;fields&quot;]=get_rows('SELECT COALESCE(parameter_name, ordinal_position::text) AS field, data_type AS type, character_maximum_length AS length, parameter_mode AS inout</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM information_schema.parameters</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE specific_schema = current_schema() AND specific_name = '.q($B).'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY ordinal_position');return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">routines(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows('SELECT specific_name AS &quot;SPECIFIC_NAME&quot;, routine_type AS &quot;ROUTINE_TYPE&quot;, routine_name AS &quot;ROUTINE_NAME&quot;, type_udt_name AS &quot;DTD_IDENTIFIER&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM information_schema.routines</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE routine_schema = current_schema()</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY SPECIFIC_NAME');}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">routine_languages(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_vals(&quot;SELECT LOWER(lanname) FROM pg_catalog.pg_language&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">routine_id($B,$K){$J=array();foreach($K[&quot;fields&quot;]as$m){$y=$m[&quot;length&quot;];$J[]=$m[&quot;type&quot;].($y?&quot;($y)&quot;:&quot;&quot;);}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($B).&quot;(&quot;.implode(&quot;, &quot;,$J).&quot;)&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">last_id($I){$K=(is_object($I)?$I-&gt;fetch_row():array());return($K?$K[0]:0);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">explain($f,$H){return$f-&gt;query(&quot;EXPLAIN $H&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">found_rows($S,$Z){if(preg_match(&quot;~ rows=([0-9]+)~&quot;,get_val(&quot;EXPLAIN SELECT * FROM &quot;.idf_escape($S[&quot;Name&quot;]).($Z?&quot; WHERE &quot;.implode(&quot; AND &quot;,$Z):&quot;&quot;)),$qh))return$qh[1];}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">types(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_key_vals(&quot;SELECT oid, typname</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM pg_type</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE typnamespace = &quot;.driver()-&gt;nsOid.&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND typtype IN ('b','d','e')</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND typelem = 0&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">type_values($t){$Bc=get_vals(&quot;SELECT enumlabel FROM pg_enum WHERE enumtypid = $t ORDER BY enumsortorder&quot;);return($Bc?&quot;'&quot;.implode(&quot;', '&quot;,array_map('addslashes',$Bc)).&quot;'&quot;:&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">schemas(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_vals(&quot;SELECT nspname FROM pg_namespace ORDER BY nspname&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_schema(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT current_schema()&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_schema($Fh,$g=null){if(!$g)$g=connection();$J=$g-&gt;query(&quot;SET search_path TO &quot;.idf_escape($Fh));driver()-&gt;setUserTypes(types());return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreign_keys_sql($R){$J=&quot;&quot;;$P=table_status1($R);$fd=foreign_keys($R);ksort($fd);foreach($fd</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$ed=&gt;$dd)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;ALTER TABLE ONLY &quot;.idf_escape($P['nspname']).&quot;.&quot;.idf_escape($P['Name']).&quot; ADD CONSTRAINT &quot;.idf_escape($ed).&quot; $dd[definition] &quot;.($dd['deferrable']?'DEFERRABLE':'NOT DEFERRABLE').&quot;;\n&quot;;return($J?&quot;$J\n&quot;:$J);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_sql($R,$_a,$si){$wh=array();$Uh=array();$P=table_status1($R);if(is_view($P)){$Mj=view($R);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rtrim(&quot;CREATE VIEW &quot;.idf_escape($R).&quot; AS $Mj[select]&quot;,&quot;;&quot;);}$n=fields($R);if(count($P)&lt;2||empty($n))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;$J=&quot;CREATE TABLE &quot;.idf_escape($P['nspname']).&quot;.&quot;.idf_escape($P['Name']).&quot; (\n &nbsp; &nbsp;&quot;;foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){$xg=idf_escape($m['field']).' '.$m['full_type'].default_value($m).($m['null']?&quot;&quot;:&quot; NOT NULL&quot;);$wh[]=$xg;if(preg_match('~nextval\(\'([^\']+)\'\)~',$m['default'],$Ze)){$Th=$Ze[1];$hi=first(get_rows((min_version(10)?&quot;SELECT *, cache_size AS cache_value FROM pg_sequences WHERE schemaname = current_schema() AND sequencename = &quot;.q(idf_unescape($Th)):&quot;SELECT * FROM $Th&quot;),null,&quot;-- &quot;));$Uh[]=($si==&quot;DROP+CREATE&quot;?&quot;DROP SEQUENCE IF EXISTS $Th;\n&quot;:&quot;&quot;).&quot;CREATE SEQUENCE $Th INCREMENT $hi[increment_by] MINVALUE $hi[min_value] MAXVALUE $hi[max_value]&quot;.($_a&amp;&amp;$hi['last_value']?&quot; START &quot;.($hi[&quot;last_value&quot;]+1):&quot;&quot;).&quot; CACHE $hi[cache_value];&quot;;}}if(!empty($Uh))$J=implode(&quot;\n\n&quot;,$Uh).&quot;\n\n$J&quot;;$G=&quot;&quot;;foreach(indexes($R)as$ce=&gt;$v){if($v['type']=='PRIMARY'){$G=$ce;$wh[]=&quot;CONSTRAINT &quot;.idf_escape($ce).&quot; PRIMARY KEY (&quot;.implode(', ',array_map('Adminer\idf_escape',$v['columns'])).&quot;)&quot;;}}foreach(driver()-&gt;checkConstraints($R)as$ub=&gt;$wb)$wh[]=&quot;CONSTRAINT &quot;.idf_escape($ub).&quot; CHECK $wb&quot;;$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=implode(&quot;,\n &nbsp; &nbsp;&quot;,$wh).&quot;\n)&quot;;$zg=driver()-&gt;partitionsInfo($P['Name']);if($zg)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;\nPARTITION BY $zg[partition_by]($zg[partition])&quot;;$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;\nWITH (oids = &quot;.($P['Oid']?'true':'false').&quot;);&quot;;if($P['Comment'])$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;\n\nCOMMENT ON TABLE &quot;.idf_escape($P['nspname']).&quot;.&quot;.idf_escape($P['Name']).&quot; IS &quot;.q($P['Comment']).&quot;;&quot;;foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Wc=&gt;$m){if($m['comment'])$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;\n\nCOMMENT ON COLUMN &quot;.idf_escape($P['nspname']).&quot;.&quot;.idf_escape($P['Name']).&quot;.&quot;.idf_escape($Wc).&quot; IS &quot;.q($m['comment']).&quot;;&quot;;}foreach(get_rows(&quot;SELECT indexdef FROM pg_catalog.pg_indexes WHERE schemaname = current_schema() AND tablename = &quot;.q($R).($G?&quot; AND indexname != &quot;.q($G):&quot;&quot;),null,&quot;-- &quot;)as$K)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;\n\n$K[indexdef];&quot;;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rtrim($J,';');}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_sql($R){return&quot;TRUNCATE &quot;.table($R);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger_sql($R){$P=table_status1($R);$J=&quot;&quot;;foreach(triggers($R)as$gj=&gt;$fj){$hj=trigger($gj,$P['Name']);$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;\nCREATE TRIGGER &quot;.idf_escape($hj['Trigger']).&quot; $hj[Timing] $hj[Event] ON &quot;.idf_escape($P[&quot;nspname&quot;]).&quot;.&quot;.idf_escape($P['Name']).&quot; $hj[Type] $hj[Statement];;\n&quot;;}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">use_sql($Nb,$si=&quot;&quot;){$B=idf_escape($Nb);$J=&quot;&quot;;if(preg_match('~CREATE~',$si)){if($si==&quot;DROP+CREATE&quot;)$J=&quot;DROP DATABASE IF EXISTS $B;\n&quot;;$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;CREATE DATABASE $B;\n&quot;;}return&quot;$J\\connect $B&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">show_variables(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows(&quot;SHOW ALL&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">process_list(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows(&quot;SELECT * FROM pg_stat_activity ORDER BY &quot;.(min_version(9.2)?&quot;pid&quot;:&quot;procpid&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convert_field($m){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unconvert_field($m,$J){return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">support($Uc){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_match('~^(check|columns|comment|database|drop_col|dump|descidx|indexes|kill|partial_indexes|routine|scheme|sequence|sql|table|trigger|type|variables|view'.(min_version(9.3)?'|materializedview':'').(min_version(11)?'|procedure':'').(connection()-&gt;flavor=='cockroach'?'':'|processlist').')$~',$Uc);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">kill_process($X){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;SELECT pg_terminate_backend(&quot;.number($X).&quot;)&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connection_id(){return&quot;SELECT pg_backend_pid()&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">max_connections(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SHOW max_connections&quot;);}}add_driver(&quot;oracle&quot;,&quot;Oracle (beta)&quot;);if(isset($_GET[&quot;oracle&quot;])){define('Adminer\DRIVER',&quot;oracle&quot;);if(extension_loaded(&quot;oci8&quot;)&amp;&amp;$_GET[&quot;ext&quot;]!=&quot;pdo&quot;){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDb{var$extension=&quot;oci8&quot;;var$_current_db;private$link;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">_error($Cc,$l){if(ini_bool(&quot;html_errors&quot;))$l=html_entity_decode(strip_tags($l));$l=preg_replace('~^[^:]*: ~','',$l);$this-&gt;error=$l;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){$this-&gt;link=@oci_new_connect($V,$F,$N,&quot;AL32UTF8&quot;);if($this-&gt;link){$this-&gt;server_info=oci_server_version($this-&gt;link);return'';}$l=oci_error();return$l[&quot;message&quot;];}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quote($Q){return&quot;'&quot;.str_replace(&quot;'&quot;,&quot;''&quot;,$Q).&quot;'&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($Nb){$this-&gt;_current_db=$Nb;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query($H,$oj=false){$I=oci_parse($this-&gt;link,$H);$this-&gt;error=&quot;&quot;;if(!$I){$l=oci_error($this-&gt;link);$this-&gt;errno=$l[&quot;code&quot;];$this-&gt;error=$l[&quot;message&quot;];return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}set_error_handler(array($this,'_error'));$J=@oci_execute($I);restore_error_handler();if($J){if(oci_num_fields($I))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result($I);$this-&gt;affected_rows=oci_num_rows($I);oci_free_statement($I);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">timeout($uf){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">oci_set_call_timeout($this-&gt;link,$uf);}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result{var$num_rows;private$result,$offset=1;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct($I){$this-&gt;result=$I;}private</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convert($K){foreach((array)$K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if(is_a($X,'OCILob')||is_a($X,'OCI-Lob'))$K[$x]=$X-&gt;load();}return$K;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_assoc(){return$this-&gt;convert(oci_fetch_assoc($this-&gt;result));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_row(){return$this-&gt;convert(oci_fetch_row($this-&gt;result));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_field(){$d=$this-&gt;offset++;$J=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\stdClass;$J-&gt;name=oci_field_name($this-&gt;result,$d);$J-&gt;type=oci_field_type($this-&gt;result,$d);$J-&gt;charsetnr=(preg_match(&quot;~raw|blob|bfile~&quot;,$J-&gt;type)?63:0);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__destruct(){oci_free_statement($this-&gt;result);}}}elseif(extension_loaded(&quot;pdo_oci&quot;)){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PdoDb{var$extension=&quot;PDO_OCI&quot;;var$_current_db;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){return$this-&gt;dsn(&quot;oci:dbname=//$N;charset=AL32UTF8&quot;,$V,$F);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($Nb){$this-&gt;_current_db=$Nb;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Driver</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDriver{static$extensions=array(&quot;OCI8&quot;,&quot;PDO_OCI&quot;);static$jush=&quot;oracle&quot;;var$insertFunctions=array(&quot;date&quot;=&gt;&quot;current_date&quot;,&quot;timestamp&quot;=&gt;&quot;current_timestamp&quot;,);var$editFunctions=array(&quot;number|float|double&quot;=&gt;&quot;+/-&quot;,&quot;date|timestamp&quot;=&gt;&quot;+ interval/- interval&quot;,&quot;char|clob&quot;=&gt;&quot;||&quot;,);var$operators=array(&quot;=&quot;,&quot;&lt;&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;,&quot;&gt;=&quot;,&quot;!=&quot;,&quot;LIKE&quot;,&quot;LIKE %%&quot;,&quot;IN&quot;,&quot;IS NULL&quot;,&quot;NOT LIKE&quot;,&quot;NOT IN&quot;,&quot;IS NOT NULL&quot;,&quot;SQL&quot;);var$functions=array(&quot;length&quot;,&quot;lower&quot;,&quot;round&quot;,&quot;upper&quot;);var$grouping=array(&quot;avg&quot;,&quot;count&quot;,&quot;count distinct&quot;,&quot;max&quot;,&quot;min&quot;,&quot;sum&quot;);function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct(Db$f){parent::__construct($f);$this-&gt;types=array('Numbers'=&gt;array(&quot;number&quot;=&gt;38,&quot;binary_float&quot;=&gt;12,&quot;binary_double&quot;=&gt;21),'Date and time'=&gt;array(&quot;date&quot;=&gt;10,&quot;timestamp&quot;=&gt;29,&quot;interval year&quot;=&gt;12,&quot;interval day&quot;=&gt;28),'Strings'=&gt;array(&quot;char&quot;=&gt;2000,&quot;varchar2&quot;=&gt;4000,&quot;nchar&quot;=&gt;2000,&quot;nvarchar2&quot;=&gt;4000,&quot;clob&quot;=&gt;4294967295,&quot;nclob&quot;=&gt;4294967295),'Binary'=&gt;array(&quot;raw&quot;=&gt;2000,&quot;long raw&quot;=&gt;2147483648,&quot;blob&quot;=&gt;4294967295,&quot;bfile&quot;=&gt;4294967296),);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">begin(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insertUpdate($R,array$L,array$G){foreach($L</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$O){$wj=array();$Z=array();foreach($O</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$wj[]=&quot;$x = $X&quot;;if(isset($G[idf_unescape($x)]))$Z[]=&quot;$x = $X&quot;;}if(!(($Z&amp;&amp;queries(&quot;UPDATE &quot;.table($R).&quot; SET &quot;.implode(&quot;, &quot;,$wj).&quot; WHERE &quot;.implode(&quot; AND &quot;,$Z))&amp;&amp;$this-&gt;conn-&gt;affected_rows)||queries(&quot;INSERT INTO &quot;.table($R).&quot; (&quot;.implode(&quot;, &quot;,array_keys($O)).&quot;) VALUES (&quot;.implode(&quot;, &quot;,$O).&quot;)&quot;)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hasCStyleEscapes(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($u){return'&quot;'.str_replace('&quot;','&quot;&quot;',$u).'&quot;';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table($u){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($u);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_databases($hd){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_vals(&quot;SELECT DISTINCT tablespace_name FROM (</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SELECT tablespace_name FROM user_tablespaces</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">UNION SELECT tablespace_name FROM all_tables WHERE tablespace_name IS NOT NULL</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">)</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY 1&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit($H,$Z,$z,$C=0,$Rh=&quot; &quot;){return($C?&quot; * FROM (SELECT t.*, rownum AS rnum FROM (SELECT $H$Z) t WHERE rownum &lt;= &quot;.($z+$C).&quot;) WHERE rnum &gt; $C&quot;:($z?&quot; * FROM (SELECT $H$Z) WHERE rownum &lt;= &quot;.($z+$C):&quot; $H$Z&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit1($R,$H,$Z,$Rh=&quot;\n&quot;){return&quot; $H$Z&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">db_collation($j,$jb){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">logged_user(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT USER FROM DUAL&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_current_db(){$j=connection()-&gt;_current_db?:DB;unset(connection()-&gt;_current_db);return$j;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">where_owner($Sg,$rg=&quot;owner&quot;){if(!$_GET[&quot;ns&quot;])return'';return&quot;$Sg$rg = sys_context('USERENV', 'CURRENT_SCHEMA')&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">views_table($e){$rg=where_owner('');return&quot;(SELECT $e FROM all_views WHERE &quot;.($rg?:&quot;rownum &lt; 0&quot;).&quot;)&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tables_list(){$Mj=views_table(&quot;view_name&quot;);$rg=where_owner(&quot; AND &quot;);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_key_vals(&quot;SELECT table_name, 'table' FROM all_tables WHERE tablespace_name = &quot;.q(DB).&quot;$rg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">UNION SELECT view_name, 'view' FROM $Mj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY 1&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">count_tables($i){$J=array();foreach($i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$j)$J[$j]=get_val(&quot;SELECT COUNT(*) FROM all_tables WHERE tablespace_name = &quot;.q($j));return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table_status($B=&quot;&quot;){$J=array();$Kh=q($B);$j=get_current_db();$Mj=views_table(&quot;view_name&quot;);$rg=where_owner(&quot; AND &quot;);foreach(get_rows('SELECT table_name &quot;Name&quot;, \'table\' &quot;Engine&quot;, avg_row_len * num_rows &quot;Data_length&quot;, num_rows &quot;Rows&quot; FROM all_tables WHERE tablespace_name = '.q($j).$rg.($B!=&quot;&quot;?&quot; AND table_name = $Kh&quot;:&quot;&quot;).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">UNION SELECT view_name, 'view', 0, 0 FROM $Mj&quot;.($B!=&quot;&quot;?&quot; WHERE view_name = $Kh&quot;:&quot;&quot;).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY 1&quot;)as$K)$J[$K[&quot;Name&quot;]]=$K;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_view($S){return$S[&quot;Engine&quot;]==&quot;view&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fk_support($S){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fields($R){$J=array();$rg=where_owner(&quot; AND &quot;);foreach(get_rows(&quot;SELECT * FROM all_tab_columns WHERE table_name = &quot;.q($R).&quot;$rg ORDER BY column_id&quot;)as$K){$U=$K[&quot;DATA_TYPE&quot;];$y=&quot;$K[DATA_PRECISION],$K[DATA_SCALE]&quot;;if($y==&quot;,&quot;)$y=$K[&quot;CHAR_COL_DECL_LENGTH&quot;];$J[$K[&quot;COLUMN_NAME&quot;]]=array(&quot;field&quot;=&gt;$K[&quot;COLUMN_NAME&quot;],&quot;full_type&quot;=&gt;$U.($y?&quot;($y)&quot;:&quot;&quot;),&quot;type&quot;=&gt;strtolower($U),&quot;length&quot;=&gt;$y,&quot;default&quot;=&gt;$K[&quot;DATA_DEFAULT&quot;],&quot;null&quot;=&gt;($K[&quot;NULLABLE&quot;]==&quot;Y&quot;),&quot;privileges&quot;=&gt;array(&quot;insert&quot;=&gt;1,&quot;select&quot;=&gt;1,&quot;update&quot;=&gt;1,&quot;where&quot;=&gt;1,&quot;order&quot;=&gt;1),);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">indexes($R,$g=null){$J=array();$rg=where_owner(&quot; AND &quot;,&quot;aic.table_owner&quot;);foreach(get_rows(&quot;SELECT aic.*, ac.constraint_type, atc.data_default</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM all_ind_columns aic</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">LEFT JOIN all_constraints ac ON aic.index_name = ac.constraint_name AND aic.table_name = ac.table_name AND aic.index_owner = ac.owner</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">LEFT JOIN all_tab_cols atc ON aic.column_name = atc.column_name AND aic.table_name = atc.table_name AND aic.index_owner = atc.owner</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE aic.table_name = &quot;.q($R).&quot;$rg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY ac.constraint_type, aic.column_position&quot;,$g)as$K){$ce=$K[&quot;INDEX_NAME&quot;];$lb=$K[&quot;DATA_DEFAULT&quot;];$lb=($lb?trim($lb,'&quot;'):$K[&quot;COLUMN_NAME&quot;]);$J[$ce][&quot;type&quot;]=($K[&quot;CONSTRAINT_TYPE&quot;]==&quot;P&quot;?&quot;PRIMARY&quot;:($K[&quot;CONSTRAINT_TYPE&quot;]==&quot;U&quot;?&quot;UNIQUE&quot;:&quot;INDEX&quot;));$J[$ce][&quot;columns&quot;][]=$lb;$J[$ce][&quot;lengths&quot;][]=($K[&quot;CHAR_LENGTH&quot;]&amp;&amp;$K[&quot;CHAR_LENGTH&quot;]!=$K[&quot;COLUMN_LENGTH&quot;]?$K[&quot;CHAR_LENGTH&quot;]:null);$J[$ce][&quot;descs&quot;][]=($K[&quot;DESCEND&quot;]&amp;&amp;$K[&quot;DESCEND&quot;]==&quot;DESC&quot;?'1':null);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">view($B){$Mj=views_table(&quot;view_name, text&quot;);$L=get_rows('SELECT text &quot;select&quot; FROM '.$Mj.' WHERE view_name = '.q($B));return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">reset($L);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">collations(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">information_schema($j){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_schema()==&quot;INFORMATION_SCHEMA&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">error(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h(connection()-&gt;error);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">explain($f,$H){$f-&gt;query(&quot;EXPLAIN PLAN FOR $H&quot;);return$f-&gt;query(&quot;SELECT * FROM plan_table&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">found_rows($S,$Z){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">auto_increment(){return&quot;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_table($R,$B,$n,$jd,$ob,$xc,$c,$_a,$E){$b=$ic=array();$kg=($R?fields($R):array());foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){$X=$m[1];if($X&amp;&amp;$m[0]!=&quot;&quot;&amp;&amp;idf_escape($m[0])!=$X[0])queries(&quot;ALTER TABLE &quot;.table($R).&quot; RENAME COLUMN &quot;.idf_escape($m[0]).&quot; TO $X[0]&quot;);$jg=$kg[$m[0]];if($X&amp;&amp;$jg){$Nf=process_field($jg,$jg);if($X[2]==$Nf[2])$X[2]=&quot;&quot;;}if($X)$b[]=($R!=&quot;&quot;?($m[0]!=&quot;&quot;?&quot;MODIFY (&quot;:&quot;ADD (&quot;):&quot; &nbsp;&quot;).implode($X).($R!=&quot;&quot;?&quot;)&quot;:&quot;&quot;);else$ic[]=idf_escape($m[0]);}if($R==&quot;&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;CREATE TABLE &quot;.table($B).&quot; (\n&quot;.implode(&quot;,\n&quot;,$b).&quot;\n)&quot;);return(!$b||queries(&quot;ALTER TABLE &quot;.table($R).&quot;\n&quot;.implode(&quot;\n&quot;,$b)))&amp;&amp;(!$ic||queries(&quot;ALTER TABLE &quot;.table($R).&quot; DROP (&quot;.implode(&quot;, &quot;,$ic).&quot;)&quot;))&amp;&amp;($R==$B||queries(&quot;ALTER TABLE &quot;.table($R).&quot; RENAME TO &quot;.table($B)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_indexes($R,$b){$ic=array();$eh=array();foreach($b</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X){if($X[0]!=&quot;INDEX&quot;){$X[2]=preg_replace('~ DESC$~','',$X[2]);$h=($X[2]==&quot;DROP&quot;?&quot;\nDROP CONSTRAINT &quot;.idf_escape($X[1]):&quot;\nADD&quot;.($X[1]!=&quot;&quot;?&quot; CONSTRAINT &quot;.idf_escape($X[1]):&quot;&quot;).&quot; $X[0] &quot;.($X[0]==&quot;PRIMARY&quot;?&quot;KEY &quot;:&quot;&quot;).&quot;(&quot;.implode(&quot;, &quot;,$X[2]).&quot;)&quot;);array_unshift($eh,&quot;ALTER TABLE &quot;.table($R).$h);}elseif($X[2]==&quot;DROP&quot;)$ic[]=idf_escape($X[1]);else$eh[]=&quot;CREATE INDEX &quot;.idf_escape($X[1]!=&quot;&quot;?$X[1]:uniqid($R.&quot;_&quot;)).&quot; ON &quot;.table($R).&quot; (&quot;.implode(&quot;, &quot;,$X[2]).&quot;)&quot;;}if($ic)array_unshift($eh,&quot;DROP INDEX &quot;.implode(&quot;, &quot;,$ic));foreach($eh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$H){if(!queries($H))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreign_keys($R){$J=array();$H=&quot;SELECT c_list.CONSTRAINT_NAME as NAME,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">c_src.COLUMN_NAME as SRC_COLUMN,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">c_dest.OWNER as DEST_DB,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">c_dest.TABLE_NAME as DEST_TABLE,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">c_dest.COLUMN_NAME as DEST_COLUMN,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">c_list.DELETE_RULE as ON_DELETE</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM ALL_CONSTRAINTS c_list, ALL_CONS_COLUMNS c_src, ALL_CONS_COLUMNS c_dest</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE c_list.CONSTRAINT_NAME = c_src.CONSTRAINT_NAME</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND c_list.R_CONSTRAINT_NAME = c_dest.CONSTRAINT_NAME</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND c_list.CONSTRAINT_TYPE = 'R'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">AND c_src.TABLE_NAME = &quot;.q($R);foreach(get_rows($H)as$K)$J[$K['NAME']]=array(&quot;db&quot;=&gt;$K['DEST_DB'],&quot;table&quot;=&gt;$K['DEST_TABLE'],&quot;source&quot;=&gt;array($K['SRC_COLUMN']),&quot;target&quot;=&gt;array($K['DEST_COLUMN']),&quot;on_delete&quot;=&gt;$K['ON_DELETE'],&quot;on_update&quot;=&gt;null,);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_tables($T){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;TRUNCATE TABLE&quot;,$T);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_views($Nj){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;DROP VIEW&quot;,$Nj);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_tables($T){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;DROP TABLE&quot;,$T);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">last_id($I){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">0;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">schemas(){$J=get_vals(&quot;SELECT DISTINCT owner FROM dba_segments WHERE owner IN (SELECT username FROM dba_users WHERE default_tablespace NOT IN ('SYSTEM','SYSAUX')) ORDER BY 1&quot;);return($J?:get_vals(&quot;SELECT DISTINCT owner FROM all_tables WHERE tablespace_name = &quot;.q(DB).&quot; ORDER BY 1&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_schema(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT sys_context('USERENV', 'SESSION_USER') FROM dual&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_schema($Hh,$g=null){if(!$g)$g=connection();return$g-&gt;query(&quot;ALTER SESSION SET CURRENT_SCHEMA = &quot;.idf_escape($Hh));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">show_variables(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows('SELECT name, display_value FROM v$parameter');}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">show_status(){$J=array();$L=get_rows('SELECT * FROM v$instance');foreach(reset($L)as$x=&gt;$X)$J[]=array($x,$X);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">process_list(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows('SELECT</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; sess.process AS &quot;process&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; sess.username AS &quot;user&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; sess.schemaname AS &quot;schema&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; sess.status AS &quot;status&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; sess.wait_class AS &quot;wait_class&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; sess.seconds_in_wait AS &quot;seconds_in_wait&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; sql.sql_text AS &quot;sql_text&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; sess.machine AS &quot;machine&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; sess.port AS &quot;port&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM v$session sess LEFT OUTER JOIN v$sql sql</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ON sql.sql_id = sess.sql_id</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE sess.type = \'USER\'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ORDER BY PROCESS</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">');}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convert_field($m){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unconvert_field($m,$J){return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">support($Uc){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_match('~^(columns|database|drop_col|indexes|descidx|processlist|scheme|sql|status|table|variables|view)$~',$Uc);}}add_driver(&quot;mssql&quot;,&quot;MS SQL&quot;);if(isset($_GET[&quot;mssql&quot;])){define('Adminer\DRIVER',&quot;mssql&quot;);if(extension_loaded(&quot;sqlsrv&quot;)&amp;&amp;$_GET[&quot;ext&quot;]!=&quot;pdo&quot;){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDb{var$extension=&quot;sqlsrv&quot;;private$link,$result;private</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_error(){$this-&gt;error=&quot;&quot;;foreach(sqlsrv_errors()as$l){$this-&gt;errno=$l[&quot;code&quot;];$this-&gt;error</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;$l[message]\n&quot;;}$this-&gt;error=rtrim($this-&gt;error);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){$vb=array(&quot;UID&quot;=&gt;$V,&quot;PWD&quot;=&gt;$F,&quot;CharacterSet&quot;=&gt;&quot;UTF-8&quot;);$ni=adminer()-&gt;connectSsl();if(isset($ni[&quot;Encrypt&quot;]))$vb[&quot;Encrypt&quot;]=$ni[&quot;Encrypt&quot;];if(isset($ni[&quot;TrustServerCertificate&quot;]))$vb[&quot;TrustServerCertificate&quot;]=$ni[&quot;TrustServerCertificate&quot;];$j=adminer()-&gt;database();if($j!=&quot;&quot;)$vb[&quot;Database&quot;]=$j;list($Md,$Mg)=host_port($N);$this-&gt;link=@sqlsrv_connect($Md.($Mg?&quot;,$Mg&quot;:&quot;&quot;),$vb);if($this-&gt;link){$he=sqlsrv_server_info($this-&gt;link);$this-&gt;server_info=$he['SQLServerVersion'];}else$this-&gt;get_error();return($this-&gt;link?'':$this-&gt;error);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quote($Q){$pj=strlen($Q)!=strlen(utf8_decode($Q));return($pj?&quot;N&quot;:&quot;&quot;).&quot;'&quot;.str_replace(&quot;'&quot;,&quot;''&quot;,$Q).&quot;'&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($Nb){return$this-&gt;query(use_sql($Nb));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query($H,$oj=false){$I=sqlsrv_query($this-&gt;link,$H);$this-&gt;error=&quot;&quot;;if(!$I){$this-&gt;get_error();return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return$this-&gt;store_result($I);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">multi_query($H){$this-&gt;result=sqlsrv_query($this-&gt;link,$H);$this-&gt;error=&quot;&quot;;if(!$this-&gt;result){$this-&gt;get_error();return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">store_result($I=null){if(!$I)$I=$this-&gt;result;if(!$I)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;if(sqlsrv_field_metadata($I))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result($I);$this-&gt;affected_rows=sqlsrv_rows_affected($I);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">next_result(){return$this-&gt;result?!!sqlsrv_next_result($this-&gt;result):false;}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result{var$num_rows;private$result,$offset=0,$fields;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct($I){$this-&gt;result=$I;}private</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convert($K){foreach((array)$K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if(is_a($X,'DateTime'))$K[$x]=$X-&gt;format(&quot;Y-m-d H:i:s&quot;);}return$K;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_assoc(){return$this-&gt;convert(sqlsrv_fetch_array($this-&gt;result,SQLSRV_FETCH_ASSOC));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_row(){return$this-&gt;convert(sqlsrv_fetch_array($this-&gt;result,SQLSRV_FETCH_NUMERIC));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_field(){if(!$this-&gt;fields)$this-&gt;fields=sqlsrv_field_metadata($this-&gt;result);$m=$this-&gt;fields[$this-&gt;offset++];$J=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\stdClass;$J-&gt;name=$m[&quot;Name&quot;];$J-&gt;type=($m[&quot;Type&quot;]==1?254:15);$J-&gt;charsetnr=0;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">seek($C){for($s=0;$s&lt;$C;$s++)sqlsrv_fetch($this-&gt;result);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__destruct(){sqlsrv_free_stmt($this-&gt;result);}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">last_id($I){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT SCOPE_IDENTITY()&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">explain($f,$H){$f-&gt;query(&quot;SET SHOWPLAN_ALL ON&quot;);$J=$f-&gt;query($H);$f-&gt;query(&quot;SET SHOWPLAN_ALL OFF&quot;);return$J;}}else{abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">MssqlDb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PdoDb{function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($Nb){return$this-&gt;query(use_sql($Nb));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">lastInsertId(){return$this-&gt;pdo-&gt;lastInsertId();}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">last_id($I){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connection()-&gt;lastInsertId();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">explain($f,$H){}if(extension_loaded(&quot;pdo_sqlsrv&quot;)){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">MssqlDb{var$extension=&quot;PDO_SQLSRV&quot;;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){list($Md,$Mg)=host_port($N);return$this-&gt;dsn(&quot;sqlsrv:Server=$Md&quot;.($Mg?&quot;,$Mg&quot;:&quot;&quot;),$V,$F);}}}elseif(extension_loaded(&quot;pdo_dblib&quot;)){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">MssqlDb{var$extension=&quot;PDO_DBLIB&quot;;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){list($Md,$Mg)=host_port($N);return$this-&gt;dsn(&quot;dblib:charset=utf8;host=$Md&quot;.($Mg?(is_numeric($Mg)?&quot;;port=&quot;:&quot;;unix_socket=&quot;).$Mg:&quot;&quot;),$V,$F);}}}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Driver</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDriver{static$extensions=array(&quot;SQLSRV&quot;,&quot;PDO_SQLSRV&quot;,&quot;PDO_DBLIB&quot;);static$jush=&quot;mssql&quot;;var$insertFunctions=array(&quot;date|time&quot;=&gt;&quot;getdate&quot;);var$editFunctions=array(&quot;int|decimal|real|float|money|datetime&quot;=&gt;&quot;+/-&quot;,&quot;char|text&quot;=&gt;&quot;+&quot;,);var$operators=array(&quot;=&quot;,&quot;&lt;&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;,&quot;&gt;=&quot;,&quot;!=&quot;,&quot;LIKE&quot;,&quot;LIKE %%&quot;,&quot;IN&quot;,&quot;IS NULL&quot;,&quot;NOT LIKE&quot;,&quot;NOT IN&quot;,&quot;IS NOT NULL&quot;);var$functions=array(&quot;len&quot;,&quot;lower&quot;,&quot;round&quot;,&quot;upper&quot;);var$grouping=array(&quot;avg&quot;,&quot;count&quot;,&quot;count distinct&quot;,&quot;max&quot;,&quot;min&quot;,&quot;sum&quot;);var$generated=array(&quot;PERSISTED&quot;,&quot;VIRTUAL&quot;);var$onActions=&quot;NO ACTION|CASCADE|SET NULL|SET DEFAULT&quot;;static</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connect($N,$V,$F){if($N==&quot;&quot;)$N=&quot;localhost:1433&quot;;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">parent::connect($N,$V,$F);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct(Db$f){parent::__construct($f);$this-&gt;types=array('Numbers'=&gt;array(&quot;tinyint&quot;=&gt;3,&quot;smallint&quot;=&gt;5,&quot;int&quot;=&gt;10,&quot;bigint&quot;=&gt;20,&quot;bit&quot;=&gt;1,&quot;decimal&quot;=&gt;0,&quot;real&quot;=&gt;12,&quot;float&quot;=&gt;53,&quot;smallmoney&quot;=&gt;10,&quot;money&quot;=&gt;20),'Date and time'=&gt;array(&quot;date&quot;=&gt;10,&quot;smalldatetime&quot;=&gt;19,&quot;datetime&quot;=&gt;19,&quot;datetime2&quot;=&gt;19,&quot;time&quot;=&gt;8,&quot;datetimeoffset&quot;=&gt;10),'Strings'=&gt;array(&quot;char&quot;=&gt;8000,&quot;varchar&quot;=&gt;8000,&quot;text&quot;=&gt;2147483647,&quot;nchar&quot;=&gt;4000,&quot;nvarchar&quot;=&gt;4000,&quot;ntext&quot;=&gt;1073741823),'Binary'=&gt;array(&quot;binary&quot;=&gt;8000,&quot;varbinary&quot;=&gt;8000,&quot;image&quot;=&gt;2147483647),);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insertUpdate($R,array$L,array$G){$n=fields($R);$wj=array();$Z=array();$O=reset($L);$e=&quot;c&quot;.implode(&quot;, c&quot;,range(1,count($O)));$Pa=0;$ne=array();foreach($O</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$Pa++;$B=idf_unescape($x);if(!$n[$B][&quot;auto_increment&quot;])$ne[$x]=&quot;c$Pa&quot;;if(isset($G[$B]))$Z[]=&quot;$x = c$Pa&quot;;else$wj[]=&quot;$x = c$Pa&quot;;}$Ij=array();foreach($L</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$O)$Ij[]=&quot;(&quot;.implode(&quot;, &quot;,$O).&quot;)&quot;;if($Z){$Rd=queries(&quot;SET IDENTITY_INSERT &quot;.table($R).&quot; ON&quot;);$J=queries(&quot;MERGE &quot;.table($R).&quot; USING (VALUES\n\t&quot;.implode(&quot;,\n\t&quot;,$Ij).&quot;\n) AS source ($e) ON &quot;.implode(&quot; AND &quot;,$Z).($wj?&quot;\nWHEN MATCHED THEN UPDATE SET &quot;.implode(&quot;, &quot;,$wj):&quot;&quot;).&quot;\nWHEN NOT MATCHED THEN INSERT (&quot;.implode(&quot;, &quot;,array_keys($Rd?$O:$ne)).&quot;) VALUES (&quot;.($Rd?$e:implode(&quot;, &quot;,$ne)).&quot;);&quot;);if($Rd)queries(&quot;SET IDENTITY_INSERT &quot;.table($R).&quot; OFF&quot;);}else$J=queries(&quot;INSERT INTO &quot;.table($R).&quot; (&quot;.implode(&quot;, &quot;,array_keys($O)).&quot;) VALUES\n&quot;.implode(&quot;,\n&quot;,$Ij));return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">begin(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;BEGIN TRANSACTION&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tableHelp($B,$ye=false){$Re=array(&quot;sys&quot;=&gt;&quot;catalog-views/sys-&quot;,&quot;INFORMATION_SCHEMA&quot;=&gt;&quot;information-schema-views/&quot;,);$_=$Re[get_schema()];if($_)return&quot;relational-databases/system-$_&quot;.preg_replace('~_~','-',strtolower($B)).&quot;-transact-sql&quot;;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($u){return&quot;[&quot;.str_replace(&quot;]&quot;,&quot;]]&quot;,$u).&quot;]&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table($u){return($_GET[&quot;ns&quot;]!=&quot;&quot;?idf_escape($_GET[&quot;ns&quot;]).&quot;.&quot;:&quot;&quot;).idf_escape($u);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_databases($hd){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_vals(&quot;SELECT name FROM sys.databases WHERE name NOT IN ('master', 'tempdb', 'model', 'msdb')&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit($H,$Z,$z,$C=0,$Rh=&quot; &quot;){return($z?&quot; TOP (&quot;.($z+$C).&quot;)&quot;:&quot;&quot;).&quot; $H$Z&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit1($R,$H,$Z,$Rh=&quot;\n&quot;){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit($H,$Z,1,0,$Rh);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">db_collation($j,$jb){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT collation_name FROM sys.databases WHERE name = &quot;.q($j));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">logged_user(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT SUSER_NAME()&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tables_list(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_key_vals(&quot;SELECT name, type_desc FROM sys.all_objects WHERE schema_id = SCHEMA_ID(&quot;.q(get_schema()).&quot;) AND type IN ('S', 'U', 'V') ORDER BY name&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">count_tables($i){$J=array();foreach($i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$j){connection()-&gt;select_db($j);$J[$j]=get_val(&quot;SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES&quot;);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table_status($B=&quot;&quot;){$J=array();foreach(get_rows(&quot;SELECT ao.name AS Name, ao.type_desc AS Engine, (SELECT value FROM fn_listextendedproperty(default, 'SCHEMA', schema_name(schema_id), 'TABLE', ao.name, null, null)) AS Comment</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM sys.all_objects AS ao</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE schema_id = SCHEMA_ID(&quot;.q(get_schema()).&quot;) AND type IN ('S', 'U', 'V') &quot;.($B!=&quot;&quot;?&quot;AND name = &quot;.q($B):&quot;ORDER BY name&quot;))as$K)$J[$K[&quot;Name&quot;]]=$K;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_view($S){return$S[&quot;Engine&quot;]==&quot;VIEW&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fk_support($S){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fields($R){$qb=get_key_vals(&quot;SELECT objname, cast(value as varchar(max)) FROM fn_listextendedproperty('MS_DESCRIPTION', 'schema', &quot;.q(get_schema()).&quot;, 'table', &quot;.q($R).&quot;, 'column', NULL)&quot;);$J=array();$zi=get_val(&quot;SELECT object_id FROM sys.all_objects WHERE schema_id = SCHEMA_ID(&quot;.q(get_schema()).&quot;) AND type IN ('S', 'U', 'V') AND name = &quot;.q($R));foreach(get_rows(&quot;SELECT c.max_length, c.precision, c.scale, c.name, c.is_nullable, c.is_identity, c.collation_name, t.name type, d.definition [default], d.name default_constraint, i.is_primary_key</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM sys.all_columns c</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">JOIN sys.types t ON c.user_type_id = t.user_type_id</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">LEFT JOIN sys.default_constraints d ON c.default_object_id = d.object_id</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">LEFT JOIN sys.index_columns ic ON c.object_id = ic.object_id AND c.column_id = ic.column_id</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">LEFT JOIN sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE c.object_id = &quot;.q($zi))as$K){$U=$K[&quot;type&quot;];$y=(preg_match(&quot;~char|binary~&quot;,$U)?intval($K[&quot;max_length&quot;])/($U[0]=='n'?2:1):($U==&quot;decimal&quot;?&quot;$K[precision],$K[scale]&quot;:&quot;&quot;));$J[$K[&quot;name&quot;]]=array(&quot;field&quot;=&gt;$K[&quot;name&quot;],&quot;full_type&quot;=&gt;$U.($y?&quot;($y)&quot;:&quot;&quot;),&quot;type&quot;=&gt;$U,&quot;length&quot;=&gt;$y,&quot;default&quot;=&gt;(preg_match(&quot;~^\('(.*)'\)$~&quot;,$K[&quot;default&quot;],$A)?str_replace(&quot;''&quot;,&quot;'&quot;,$A[1]):$K[&quot;default&quot;]),&quot;default_constraint&quot;=&gt;$K[&quot;default_constraint&quot;],&quot;null&quot;=&gt;$K[&quot;is_nullable&quot;],&quot;auto_increment&quot;=&gt;$K[&quot;is_identity&quot;],&quot;collation&quot;=&gt;$K[&quot;collation_name&quot;],&quot;privileges&quot;=&gt;array(&quot;insert&quot;=&gt;1,&quot;select&quot;=&gt;1,&quot;update&quot;=&gt;1,&quot;where&quot;=&gt;1,&quot;order&quot;=&gt;1),&quot;primary&quot;=&gt;$K[&quot;is_primary_key&quot;],&quot;comment&quot;=&gt;$qb[$K[&quot;name&quot;]],);}foreach(get_rows(&quot;SELECT * FROM sys.computed_columns WHERE object_id = &quot;.q($zi))as$K){$J[$K[&quot;name&quot;]][&quot;generated&quot;]=($K[&quot;is_persisted&quot;]?&quot;PERSISTED&quot;:&quot;VIRTUAL&quot;);$J[$K[&quot;name&quot;]][&quot;default&quot;]=$K[&quot;definition&quot;];}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">indexes($R,$g=null){$J=array();foreach(get_rows(&quot;SELECT i.name, key_ordinal, is_unique, is_primary_key, c.name AS column_name, is_descending_key</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM sys.indexes i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">INNER JOIN sys.index_columns ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">INNER JOIN sys.columns c ON ic.object_id = c.object_id AND ic.column_id = c.column_id</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE OBJECT_NAME(i.object_id) = &quot;.q($R),$g)as$K){$B=$K[&quot;name&quot;];$J[$B][&quot;type&quot;]=($K[&quot;is_primary_key&quot;]?&quot;PRIMARY&quot;:($K[&quot;is_unique&quot;]?&quot;UNIQUE&quot;:&quot;INDEX&quot;));$J[$B][&quot;lengths&quot;]=array();$J[$B][&quot;columns&quot;][$K[&quot;key_ordinal&quot;]]=$K[&quot;column_name&quot;];$J[$B][&quot;descs&quot;][$K[&quot;key_ordinal&quot;]]=($K[&quot;is_descending_key&quot;]?'1':null);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">view($B){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;select&quot;=&gt;preg_replace('~^(?:[^[]|\[[^]]*])*\s+AS\s+~isU','',get_val(&quot;SELECT VIEW_DEFINITION FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = SCHEMA_NAME() AND TABLE_NAME = &quot;.q($B))));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">collations(){$J=array();foreach(get_vals(&quot;SELECT name FROM fn_helpcollations()&quot;)as$c)$J[preg_replace('~_.*~','',$c)][]=$c;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">information_schema($j){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_schema()==&quot;INFORMATION_SCHEMA&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">error(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">nl_br(h(preg_replace('~^(\[[^]]*])+~m','',connection()-&gt;error)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_database($j,$c){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;CREATE DATABASE &quot;.idf_escape($j).(preg_match('~^[a-z0-9_]+$~i',$c)?&quot; COLLATE $c&quot;:&quot;&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_databases($i){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;DROP DATABASE &quot;.implode(&quot;, &quot;,array_map('Adminer\idf_escape',$i)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rename_database($B,$c){if(preg_match('~^[a-z0-9_]+$~i',$c))queries(&quot;ALTER DATABASE &quot;.idf_escape(DB).&quot; COLLATE $c&quot;);queries(&quot;ALTER DATABASE &quot;.idf_escape(DB).&quot; MODIFY NAME = &quot;.idf_escape($B));return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">auto_increment(){return&quot; IDENTITY&quot;.($_POST[&quot;Auto_increment&quot;]!=&quot;&quot;?&quot;(&quot;.number($_POST[&quot;Auto_increment&quot;]).&quot;,1)&quot;:&quot;&quot;).&quot; PRIMARY KEY&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_table($R,$B,$n,$jd,$ob,$xc,$c,$_a,$E){$b=array();$qb=array();$kg=fields($R);foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){$d=idf_escape($m[0]);$X=$m[1];if(!$X)$b[&quot;DROP&quot;][]=&quot; COLUMN $d&quot;;else{$X[1]=preg_replace(&quot;~( COLLATE )'(\\w+)'~&quot;,'\1\2',$X[1]);$qb[$m[0]]=$X[5];unset($X[5]);if(preg_match('~ AS ~',$X[3]))unset($X[1],$X[2]);if($m[0]==&quot;&quot;)$b[&quot;ADD&quot;][]=&quot;\n &nbsp;&quot;.implode(&quot;&quot;,$X).($R==&quot;&quot;?substr($jd[$X[0]],16+strlen($X[0])):&quot;&quot;);else{$k=$X[3];unset($X[3]);unset($X[6]);if($d!=$X[0])queries(&quot;EXEC sp_rename &quot;.q(table($R).&quot;.$d&quot;).&quot;, &quot;.q(idf_unescape($X[0])).&quot;, 'COLUMN'&quot;);$b[&quot;ALTER COLUMN &quot;.implode(&quot;&quot;,$X)][]=&quot;&quot;;$jg=$kg[$m[0]];if(default_value($jg)!=$k){if($jg[&quot;default&quot;]!==null)$b[&quot;DROP&quot;][]=&quot; &quot;.idf_escape($jg[&quot;default_constraint&quot;]);if($k)$b[&quot;ADD&quot;][]=&quot;\n $k FOR $d&quot;;}}}}if($R==&quot;&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;CREATE TABLE &quot;.table($B).&quot; (&quot;.implode(&quot;,&quot;,(array)$b[&quot;ADD&quot;]).&quot;\n)&quot;);if($R!=$B)queries(&quot;EXEC sp_rename &quot;.q(table($R)).&quot;, &quot;.q($B));if($jd)$b[&quot;&quot;]=$jd;foreach($b</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if(!queries(&quot;ALTER TABLE &quot;.table($B).&quot; $x&quot;.implode(&quot;,&quot;,$X)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}foreach($qb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$ob=substr($X,9);queries(&quot;EXEC sp_dropextendedproperty @name = N'MS_Description', @level0type = N'Schema', @level0name = &quot;.q(get_schema()).&quot;, @level1type = N'Table', @level1name = &quot;.q($B).&quot;, @level2type = N'Column', @level2name = &quot;.q($x));queries(&quot;EXEC sp_addextendedproperty</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">@name = N'MS_Description',</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">@value = $ob,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">@level0type = N'Schema',</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">@level0name = &quot;.q(get_schema()).&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">@level1type = N'Table',</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">@level1name = &quot;.q($B).&quot;,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">@level2type = N'Column',</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">@level2name = &quot;.q($x));}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_indexes($R,$b){$v=array();$ic=array();foreach($b</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X){if($X[2]==&quot;DROP&quot;){if($X[0]==&quot;PRIMARY&quot;)$ic[]=idf_escape($X[1]);else$v[]=idf_escape($X[1]).&quot; ON &quot;.table($R);}elseif(!queries(($X[0]!=&quot;PRIMARY&quot;?&quot;CREATE $X[0] &quot;.($X[0]!=&quot;INDEX&quot;?&quot;INDEX &quot;:&quot;&quot;).idf_escape($X[1]!=&quot;&quot;?$X[1]:uniqid($R.&quot;_&quot;)).&quot; ON &quot;.table($R):&quot;ALTER TABLE &quot;.table($R).&quot; ADD PRIMARY KEY&quot;).&quot; (&quot;.implode(&quot;, &quot;,$X[2]).&quot;)&quot;))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return(!$v||queries(&quot;DROP INDEX &quot;.implode(&quot;, &quot;,$v)))&amp;&amp;(!$ic||queries(&quot;ALTER TABLE &quot;.table($R).&quot; DROP &quot;.implode(&quot;, &quot;,$ic)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">found_rows($S,$Z){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreign_keys($R){$J=array();$Uf=array(&quot;CASCADE&quot;,&quot;NO ACTION&quot;,&quot;SET NULL&quot;,&quot;SET DEFAULT&quot;);foreach(get_rows(&quot;EXEC sp_fkeys @fktable_name = &quot;.q($R).&quot;, @fktable_owner = &quot;.q(get_schema()))as$K){$p=&amp;$J[$K[&quot;FK_NAME&quot;]];$p[&quot;db&quot;]=$K[&quot;PKTABLE_QUALIFIER&quot;];$p[&quot;ns&quot;]=$K[&quot;PKTABLE_OWNER&quot;];$p[&quot;table&quot;]=$K[&quot;PKTABLE_NAME&quot;];$p[&quot;on_update&quot;]=$Uf[$K[&quot;UPDATE_RULE&quot;]];$p[&quot;on_delete&quot;]=$Uf[$K[&quot;DELETE_RULE&quot;]];$p[&quot;source&quot;][]=$K[&quot;FKCOLUMN_NAME&quot;];$p[&quot;target&quot;][]=$K[&quot;PKCOLUMN_NAME&quot;];}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_tables($T){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;TRUNCATE TABLE&quot;,$T);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_views($Nj){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;DROP VIEW &quot;.implode(&quot;, &quot;,array_map('Adminer\table',$Nj)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_tables($T){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;DROP TABLE &quot;.implode(&quot;, &quot;,array_map('Adminer\table',$T)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">move_tables($T,$Nj,$Ii){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;ALTER SCHEMA &quot;.idf_escape($Ii).&quot; TRANSFER&quot;,array_merge($T,$Nj));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger($B,$R){if($B==&quot;&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();$L=get_rows(&quot;SELECT s.name [Trigger],</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(s.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(s.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">CASE WHEN OBJECTPROPERTY(s.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing],</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">c.text</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM sysobjects s</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">JOIN syscomments c ON s.id = c.id</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE s.xtype = 'TR' AND s.name = &quot;.q($B));$J=reset($L);if($J)$J[&quot;Statement&quot;]=preg_replace('~^.+\s+AS\s+~isU','',$J[&quot;text&quot;]);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">triggers($R){$J=array();foreach(get_rows(&quot;SELECT sys1.name,</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsertTrigger') = 1 THEN 'INSERT' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsUpdateTrigger') = 1 THEN 'UPDATE' WHEN OBJECTPROPERTY(sys1.id, 'ExecIsDeleteTrigger') = 1 THEN 'DELETE' END [Event],</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">CASE WHEN OBJECTPROPERTY(sys1.id, 'ExecIsInsteadOfTrigger') = 1 THEN 'INSTEAD OF' ELSE 'AFTER' END [Timing]</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">FROM sysobjects sys1</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">JOIN sysobjects sys2 ON sys1.parent_obj = sys2.id</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">WHERE sys1.xtype = 'TR' AND sys2.name = &quot;.q($R))as$K)$J[$K[&quot;name&quot;]]=array($K[&quot;Timing&quot;],$K[&quot;Event&quot;]);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger_options(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;Timing&quot;=&gt;array(&quot;AFTER&quot;,&quot;INSTEAD OF&quot;),&quot;Event&quot;=&gt;array(&quot;INSERT&quot;,&quot;UPDATE&quot;,&quot;DELETE&quot;),&quot;Type&quot;=&gt;array(&quot;AS&quot;),);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">schemas(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_vals(&quot;SELECT name FROM sys.schemas&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_schema(){if($_GET[&quot;ns&quot;]!=&quot;&quot;)return$_GET[&quot;ns&quot;];return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT SCHEMA_NAME()&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_schema($Fh){$_GET[&quot;ns&quot;]=$Fh;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_sql($R,$_a,$si){if(is_view(table_status1($R))){$Mj=view($R);return&quot;CREATE VIEW &quot;.table($R).&quot; AS $Mj[select]&quot;;}$n=array();$G=false;foreach(fields($R)as$B=&gt;$m){$X=process_field($m,$m);if($X[6])$G=true;$n[]=implode(&quot;&quot;,$X);}foreach(indexes($R)as$B=&gt;$v){if(!$G||$v[&quot;type&quot;]!=&quot;PRIMARY&quot;){$e=array();foreach($v[&quot;columns&quot;]as$x=&gt;$X)$e[]=idf_escape($X).($v[&quot;descs&quot;][$x]?&quot; DESC&quot;:&quot;&quot;);$B=idf_escape($B);$n[]=($v[&quot;type&quot;]==&quot;INDEX&quot;?&quot;INDEX $B&quot;:&quot;CONSTRAINT $B &quot;.($v[&quot;type&quot;]==&quot;UNIQUE&quot;?&quot;UNIQUE&quot;:&quot;PRIMARY KEY&quot;)).&quot; (&quot;.implode(&quot;, &quot;,$e).&quot;)&quot;;}}foreach(driver()-&gt;checkConstraints($R)as$B=&gt;$Wa)$n[]=&quot;CONSTRAINT &quot;.idf_escape($B).&quot; CHECK ($Wa)&quot;;return&quot;CREATE TABLE &quot;.table($R).&quot; (\n\t&quot;.implode(&quot;,\n\t&quot;,$n).&quot;\n)&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreign_keys_sql($R){$n=array();foreach(foreign_keys($R)as$jd)$n[]=ltrim(format_foreign_key($jd));return($n?&quot;ALTER TABLE &quot;.table($R).&quot; ADD\n\t&quot;.implode(&quot;,\n\t&quot;,$n).&quot;;\n\n&quot;:&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_sql($R){return&quot;TRUNCATE TABLE &quot;.table($R);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">use_sql($Nb,$si=&quot;&quot;){return&quot;USE &quot;.idf_escape($Nb);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger_sql($R){$J=&quot;&quot;;foreach(triggers($R)as$B=&gt;$hj)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=create_trigger(&quot; ON &quot;.table($R),trigger($B,$R)).&quot;;&quot;;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convert_field($m){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unconvert_field($m,$J){return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">support($Uc){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_match('~^(check|comment|columns|database|drop_col|dump|indexes|descidx|scheme|sql|table|trigger|view|view_trigger)$~',$Uc);}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Adminer{static$instance;var$error='';function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">name(){return&quot;&lt;a href='https://www.adminer.org/'&quot;.target_blank().&quot; id='h1'&gt;&lt;img src='&quot;.h(preg_replace(&quot;~\\?.*~&quot;,&quot;&quot;,ME).&quot;?file=logo.png&amp;version=5.4.1&quot;).&quot;' width='24' height='24' alt='' id='logo'&gt;Adminer&lt;/a&gt;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">credentials(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(SERVER,$_GET[&quot;username&quot;],get_password());}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connectSsl(){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">permanentLogin($h=false){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">password_file($h);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">bruteForceKey(){return$_SERVER[&quot;REMOTE_ADDR&quot;];}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">serverName($N){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h($N);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">database(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">DB;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">databases($hd=true){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_databases($hd);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pluginsLinks(){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">operators(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">driver()-&gt;operators;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">schemas(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">schemas();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queryTimeout(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">2;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">afterConnect(){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">headers(){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">csp(array$Gb){return$Gb;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">head($Kb=null){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">bodyClass(){echo&quot; adminer&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">css(){$J=array();foreach(array(&quot;&quot;,&quot;-dark&quot;)as$tf){$o=&quot;adminer$tf.css&quot;;if(file_exists($o)){$Zc=file_get_contents($o);$J[&quot;$o?v=&quot;.crc32($Zc)]=($tf?&quot;dark&quot;:(preg_match('~prefers-color-scheme:\s*dark~',$Zc)?'':'light'));}}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">loginForm(){echo&quot;&lt;table class='layout'&gt;\n&quot;,adminer()-&gt;loginFormField('driver','&lt;tr&gt;&lt;th&gt;'.'System'.'&lt;td&gt;',html_select(&quot;auth[driver]&quot;,SqlDriver::$drivers,DRIVER,&quot;loginDriver(this);&quot;)),adminer()-&gt;loginFormField('server','&lt;tr&gt;&lt;th&gt;'.'Server'.'&lt;td&gt;','&lt;input name=&quot;auth[server]&quot; value=&quot;'.h(SERVER).'&quot; title=&quot;hostname[:port]&quot; placeholder=&quot;localhost&quot; autocapitalize=&quot;off&quot;&gt;'),adminer()-&gt;loginFormField('username','&lt;tr&gt;&lt;th&gt;'.'Username'.'&lt;td&gt;','&lt;input name=&quot;auth[username]&quot; id=&quot;username&quot; autofocus value=&quot;'.h($_GET[&quot;username&quot;]).'&quot; autocomplete=&quot;username&quot; autocapitalize=&quot;off&quot;&gt;'.script(&quot;const authDriver = qs('#username').form['auth[driver]']; authDriver &amp;&amp; authDriver.onchange();&quot;)),adminer()-&gt;loginFormField('password','&lt;tr&gt;&lt;th&gt;'.'Password'.'&lt;td&gt;','&lt;input type=&quot;password&quot; name=&quot;auth[password]&quot; autocomplete=&quot;current-password&quot;&gt;'),adminer()-&gt;loginFormField('db','&lt;tr&gt;&lt;th&gt;'.'Database'.'&lt;td&gt;','&lt;input name=&quot;auth[db]&quot; value=&quot;'.h($_GET[&quot;db&quot;]).'&quot; autocapitalize=&quot;off&quot;&gt;'),&quot;&lt;/table&gt;\n&quot;,&quot;&lt;p&gt;&lt;input type='submit' value='&quot;.'Login'.&quot;'&gt;\n&quot;,checkbox(&quot;auth[permanent]&quot;,1,$_COOKIE[&quot;adminer_permanent&quot;],'Permanent login').&quot;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">loginFormField($B,$Hd,$Y){return$Hd.$Y.&quot;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">login($Te,$F){if($F==&quot;&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">sprintf('Adminer does not support accessing a database without a password, &lt;a href=&quot;https://www.adminer.org/en/password/&quot;%s&gt;more information&lt;/a&gt;.',target_blank());return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tableName(array$yi){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h($yi[&quot;Name&quot;]);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fieldName(array$m,$dg=0){$U=$m[&quot;full_type&quot;];$ob=$m[&quot;comment&quot;];return'&lt;span title=&quot;'.h($U.($ob!=&quot;&quot;?($U?&quot;: &quot;:&quot;&quot;).$ob:'')).'&quot;&gt;'.h($m[&quot;field&quot;]).'&lt;/span&gt;';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectLinks(array$yi,$O=&quot;&quot;){$B=$yi[&quot;Name&quot;];echo'&lt;p class=&quot;links&quot;&gt;';$Re=array(&quot;select&quot;=&gt;'Select data');if(support(&quot;table&quot;)||support(&quot;indexes&quot;))$Re[&quot;table&quot;]='Show structure';$ye=false;if(support(&quot;table&quot;)){$ye=is_view($yi);if(!$ye)$Re[&quot;create&quot;]='Alter table';elseif(support(&quot;view&quot;))$Re[&quot;view&quot;]='Alter view';}if($O!==null)$Re[&quot;edit&quot;]='New item';foreach($Re</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)echo&quot; &lt;a href='&quot;.h(ME).&quot;$x=&quot;.urlencode($B).($x==&quot;edit&quot;?$O:&quot;&quot;).&quot;'&quot;.bold(isset($_GET[$x])).&quot;&gt;$X&lt;/a&gt;&quot;;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">doc_link(array(JUSH=&gt;driver()-&gt;tableHelp($B,$ye)),&quot;?&quot;),&quot;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreignKeys($R){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreign_keys($R);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">backwardKeys($R,$xi){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">backwardKeysPrint(array$Da,array$K){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectQuery($H,$oi,$Sc=false){$J=&quot;&lt;/p&gt;\n&quot;;if(!$Sc&amp;&amp;($Qj=driver()-&gt;warnings())){$t=&quot;warnings&quot;;$J=&quot;, &lt;a href='#$t'&gt;&quot;.'Warnings'.&quot;&lt;/a&gt;&quot;.script(&quot;qsl('a').onclick = partial(toggle, '$t');&quot;,&quot;&quot;).&quot;$J&lt;div id='$t' class='hidden'&gt;\n$Qj&lt;/div&gt;\n&quot;;}return&quot;&lt;p&gt;&lt;code class='jush-&quot;.JUSH.&quot;'&gt;&quot;.h(str_replace(&quot;\n&quot;,&quot; &quot;,$H)).&quot;&lt;/code&gt; &lt;span class='time'&gt;(&quot;.format_time($oi).&quot;)&lt;/span&gt;&quot;.(support(&quot;sql&quot;)?&quot; &lt;a href='&quot;.h(ME).&quot;sql=&quot;.urlencode($H).&quot;'&gt;&quot;.'Edit'.&quot;&lt;/a&gt;&quot;:&quot;&quot;).$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">sqlCommandQuery($H){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">shorten_utf8(trim($H),1000);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">sqlPrintAfter(){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rowDescription($R){return&quot;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rowDescriptions(array$L,array$kd){return$L;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectLink($X,array$m){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectVal($X,$_,array$m,$ng){$J=($X===null?&quot;&lt;i&gt;NULL&lt;/i&gt;&quot;:(preg_match(&quot;~char|binary|boolean~&quot;,$m[&quot;type&quot;])&amp;&amp;!preg_match(&quot;~var~&quot;,$m[&quot;type&quot;])?&quot;&lt;code&gt;$X&lt;/code&gt;&quot;:(preg_match('~json~',$m[&quot;type&quot;])?&quot;&lt;code class='jush-js'&gt;$X&lt;/code&gt;&quot;:$X)));if(is_blob($m)&amp;&amp;!is_utf8($X))$J=&quot;&lt;i&gt;&quot;.lang_format(array('%d byte','%d bytes'),strlen($ng)).&quot;&lt;/i&gt;&quot;;return($_?&quot;&lt;a href='&quot;.h($_).&quot;'&quot;.(is_url($_)?target_blank():&quot;&quot;).&quot;&gt;$J&lt;/a&gt;&quot;:$J);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">editVal($X,array$m){return$X;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">config(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tableStructurePrint(array$n,$yi=null){echo&quot;&lt;div class='scrollable'&gt;\n&quot;,&quot;&lt;table class='nowrap odds'&gt;\n&quot;,&quot;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&quot;.'Column'.&quot;&lt;td&gt;&quot;.'Type'.(support(&quot;comment&quot;)?&quot;&lt;td&gt;&quot;.'Comment':&quot;&quot;).&quot;&lt;/thead&gt;\n&quot;;$ri=driver()-&gt;structuredTypes();foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){echo&quot;&lt;tr&gt;&lt;th&gt;&quot;.h($m[&quot;field&quot;]);$U=h($m[&quot;full_type&quot;]);$c=h($m[&quot;collation&quot;]);echo&quot;&lt;td&gt;&lt;span title='$c'&gt;&quot;.(in_array($U,(array)$ri['User types'])?&quot;&lt;a href='&quot;.h(ME.'type='.urlencode($U)).&quot;'&gt;$U&lt;/a&gt;&quot;:$U.($c&amp;&amp;isset($yi[&quot;Collation&quot;])&amp;&amp;$c!=$yi[&quot;Collation&quot;]?&quot; $c&quot;:&quot;&quot;)).&quot;&lt;/span&gt;&quot;,($m[&quot;null&quot;]?&quot; &lt;i&gt;NULL&lt;/i&gt;&quot;:&quot;&quot;),($m[&quot;auto_increment&quot;]?&quot; &lt;i&gt;&quot;.'Auto Increment'.&quot;&lt;/i&gt;&quot;:&quot;&quot;);$k=h($m[&quot;default&quot;]);echo(isset($m[&quot;default&quot;])?&quot; &lt;span title='&quot;.'Default value'.&quot;'&gt;[&lt;b&gt;&quot;.($m[&quot;generated&quot;]?&quot;&lt;code class='jush-&quot;.JUSH.&quot;'&gt;$k&lt;/code&gt;&quot;:$k).&quot;&lt;/b&gt;]&lt;/span&gt;&quot;:&quot;&quot;),(support(&quot;comment&quot;)?&quot;&lt;td&gt;&quot;.h($m[&quot;comment&quot;]):&quot;&quot;),&quot;\n&quot;;}echo&quot;&lt;/table&gt;\n&quot;,&quot;&lt;/div&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tableIndexesPrint(array$w,array$yi){$yg=false;foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$v)$yg|=!!$v[&quot;partial&quot;];echo&quot;&lt;table&gt;\n&quot;;$Sb=first(driver()-&gt;indexAlgorithms($yi));foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$v){ksort($v[&quot;columns&quot;]);$Wg=array();foreach($v[&quot;columns&quot;]as$x=&gt;$X)$Wg[]=&quot;&lt;i&gt;&quot;.h($X).&quot;&lt;/i&gt;&quot;.($v[&quot;lengths&quot;][$x]?&quot;(&quot;.$v[&quot;lengths&quot;][$x].&quot;)&quot;:&quot;&quot;).($v[&quot;descs&quot;][$x]?&quot; DESC&quot;:&quot;&quot;);echo&quot;&lt;tr title='&quot;.h($B).&quot;'&gt;&quot;,&quot;&lt;th&gt;$v[type]&quot;.($Sb&amp;&amp;$v['algorithm']!=$Sb?&quot; ($v[algorithm])&quot;:&quot;&quot;),&quot;&lt;td&gt;&quot;.implode(&quot;, &quot;,$Wg);if($yg)echo&quot;&lt;td&gt;&quot;.($v['partial']?&quot;&lt;code class='jush-&quot;.JUSH.&quot;'&gt;WHERE &quot;.h($v['partial']):&quot;&quot;);echo&quot;\n&quot;;}echo&quot;&lt;/table&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectColumnsPrint(array$M,array$e){print_fieldset(&quot;select&quot;,'Select',$M);$s=0;$M[&quot;&quot;]=array();foreach($M</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$X=idx($_GET[&quot;columns&quot;],$x,array());$d=select_input(&quot; name='columns[$s][col]'&quot;,$e,$X[&quot;col&quot;],($x!==&quot;&quot;?&quot;selectFieldChange&quot;:&quot;selectAddRow&quot;));echo&quot;&lt;div&gt;&quot;.(driver()-&gt;functions||driver()-&gt;grouping?html_select(&quot;columns[$s][fun]&quot;,array(-1=&gt;&quot;&quot;)+array_filter(array('Functions'=&gt;driver()-&gt;functions,'Aggregation'=&gt;driver()-&gt;grouping)),$X[&quot;fun&quot;]).on_help(&quot;event.target.value &amp;&amp; event.target.value.replace(/ |\$/, '(') + ')'&quot;,1).script(&quot;qsl('select').onchange = function () { helpClose();&quot;.($x!==&quot;&quot;?&quot;&quot;:&quot; qsl('select, input', this.parentNode).onchange();&quot;).&quot; };&quot;,&quot;&quot;).&quot;($d)&quot;:$d).&quot;&lt;/div&gt;\n&quot;;$s++;}echo&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectSearchPrint(array$Z,array$e,array$w){print_fieldset(&quot;search&quot;,'Search',$Z);foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$s=&gt;$v){if($v[&quot;type&quot;]==&quot;FULLTEXT&quot;)echo&quot;&lt;div&gt;(&lt;i&gt;&quot;.implode(&quot;&lt;/i&gt;, &lt;i&gt;&quot;,array_map('Adminer\h',$v[&quot;columns&quot;])).&quot;&lt;/i&gt;) AGAINST&quot;,&quot; &lt;input type='search' name='fulltext[$s]' value='&quot;.h(idx($_GET[&quot;fulltext&quot;],$s)).&quot;'&gt;&quot;,script(&quot;qsl('input').oninput = selectFieldChange;&quot;,&quot;&quot;),checkbox(&quot;boolean[$s]&quot;,1,isset($_GET[&quot;boolean&quot;][$s]),&quot;BOOL&quot;),&quot;&lt;/div&gt;\n&quot;;}$Ta=&quot;this.parentNode.firstChild.onchange();&quot;;foreach(array_merge((array)$_GET[&quot;where&quot;],array(array()))as$s=&gt;$X){if(!$X||(&quot;$X[col]$X[val]&quot;!=&quot;&quot;&amp;&amp;in_array($X[&quot;op&quot;],adminer()-&gt;operators())))echo&quot;&lt;div&gt;&quot;.select_input(&quot; name='where[$s][col]'&quot;,$e,$X[&quot;col&quot;],($X?&quot;selectFieldChange&quot;:&quot;selectAddRow&quot;),&quot;(&quot;.'anywhere'.&quot;)&quot;),html_select(&quot;where[$s][op]&quot;,adminer()-&gt;operators(),$X[&quot;op&quot;],$Ta),&quot;&lt;input type='search' name='where[$s][val]' value='&quot;.h($X[&quot;val&quot;]).&quot;'&gt;&quot;,script(&quot;mixin(qsl('input'), {oninput: function () { $Ta }, onkeydown: selectSearchKeydown, onsearch: selectSearchSearch});&quot;,&quot;&quot;),&quot;&lt;/div&gt;\n&quot;;}echo&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectOrderPrint(array$dg,array$e,array$w){print_fieldset(&quot;sort&quot;,'Sort',$dg);$s=0;foreach((array)$_GET[&quot;order&quot;]as$x=&gt;$X){if($X!=&quot;&quot;){echo&quot;&lt;div&gt;&quot;.select_input(&quot; name='order[$s]'&quot;,$e,$X,&quot;selectFieldChange&quot;),checkbox(&quot;desc[$s]&quot;,1,isset($_GET[&quot;desc&quot;][$x]),'descending').&quot;&lt;/div&gt;\n&quot;;$s++;}}echo&quot;&lt;div&gt;&quot;.select_input(&quot; name='order[$s]'&quot;,$e,&quot;&quot;,&quot;selectAddRow&quot;),checkbox(&quot;desc[$s]&quot;,1,false,'descending').&quot;&lt;/div&gt;\n&quot;,&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectLimitPrint($z){echo&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;.'Limit'.&quot;&lt;/legend&gt;&lt;div&gt;&quot;,&quot;&lt;input type='number' name='limit' class='size' value='&quot;.intval($z).&quot;'&gt;&quot;,script(&quot;qsl('input').oninput = selectFieldChange;&quot;,&quot;&quot;),&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectLengthPrint($Oi){if($Oi!==null)echo&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;.'Text length'.&quot;&lt;/legend&gt;&lt;div&gt;&quot;,&quot;&lt;input type='number' name='text_length' class='size' value='&quot;.h($Oi).&quot;'&gt;&quot;,&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectActionPrint(array$w){echo&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;.'Action'.&quot;&lt;/legend&gt;&lt;div&gt;&quot;,&quot;&lt;input type='submit' value='&quot;.'Select'.&quot;'&gt;&quot;,&quot; &lt;span id='noindex' title='&quot;.'Full table scan'.&quot;'&gt;&lt;/span&gt;&quot;,&quot;&lt;script&quot;.nonce().&quot;&gt;\n&quot;,&quot;const indexColumns = &quot;;$e=array();foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$v){$Jb=reset($v[&quot;columns&quot;]);if($v[&quot;type&quot;]!=&quot;FULLTEXT&quot;&amp;&amp;$Jb)$e[$Jb]=1;}$e[&quot;&quot;]=1;foreach($e</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)json_row($x);echo&quot;;\n&quot;,&quot;selectFieldChange.call(qs('#form')['select']);\n&quot;,&quot;&lt;/script&gt;\n&quot;,&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectCommandPrint(){return!information_schema(DB);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectImportPrint(){return!information_schema(DB);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectEmailPrint(array$uc,array$e){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectColumnsProcess(array$e,array$w){$M=array();$wd=array();foreach((array)$_GET[&quot;columns&quot;]as$x=&gt;$X){if($X[&quot;fun&quot;]==&quot;count&quot;||($X[&quot;col&quot;]!=&quot;&quot;&amp;&amp;(!$X[&quot;fun&quot;]||in_array($X[&quot;fun&quot;],driver()-&gt;functions)||in_array($X[&quot;fun&quot;],driver()-&gt;grouping)))){$M[$x]=apply_sql_function($X[&quot;fun&quot;],($X[&quot;col&quot;]!=&quot;&quot;?idf_escape($X[&quot;col&quot;]):&quot;*&quot;));if(!in_array($X[&quot;fun&quot;],driver()-&gt;grouping))$wd[]=$M[$x];}}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array($M,$wd);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectSearchProcess(array$n,array$w){$J=array();foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$s=&gt;$v){if($v[&quot;type&quot;]==&quot;FULLTEXT&quot;&amp;&amp;idx($_GET[&quot;fulltext&quot;],$s)!=&quot;&quot;)$J[]=&quot;MATCH (&quot;.implode(&quot;, &quot;,array_map('Adminer\idf_escape',$v[&quot;columns&quot;])).&quot;) AGAINST (&quot;.q($_GET[&quot;fulltext&quot;][$s]).(isset($_GET[&quot;boolean&quot;][$s])?&quot; IN BOOLEAN MODE&quot;:&quot;&quot;).&quot;)&quot;;}foreach((array)$_GET[&quot;where&quot;]as$x=&gt;$X){$hb=$X[&quot;col&quot;];if(&quot;$hb$X[val]&quot;!=&quot;&quot;&amp;&amp;in_array($X[&quot;op&quot;],adminer()-&gt;operators())){$sb=array();foreach(($hb!=&quot;&quot;?array($hb=&gt;$n[$hb]):$n)as$B=&gt;$m){$Sg=&quot;&quot;;$rb=&quot; $X[op]&quot;;if(preg_match('~IN$~',$X[&quot;op&quot;])){$Wd=process_length($X[&quot;val&quot;]);$rb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot; &quot;.($Wd!=&quot;&quot;?$Wd:&quot;(NULL)&quot;);}elseif($X[&quot;op&quot;]==&quot;SQL&quot;)$rb=&quot; $X[val]&quot;;elseif(preg_match('~^(I?LIKE) %%$~',$X[&quot;op&quot;],$A))$rb=&quot; $A[1] &quot;.adminer()-&gt;processInput($m,&quot;%$X[val]%&quot;);elseif($X[&quot;op&quot;]==&quot;FIND_IN_SET&quot;){$Sg=&quot;$X[op](&quot;.q($X[&quot;val&quot;]).&quot;, &quot;;$rb=&quot;)&quot;;}elseif(!preg_match('~NULL$~',$X[&quot;op&quot;]))$rb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot; &quot;.adminer()-&gt;processInput($m,$X[&quot;val&quot;]);if($hb!=&quot;&quot;||(isset($m[&quot;privileges&quot;][&quot;where&quot;])&amp;&amp;(preg_match('~^[-\d.'.(preg_match('~IN$~',$X[&quot;op&quot;])?',':'').']+$~',$X[&quot;val&quot;])||!preg_match('~'.number_type().'|bit~',$m[&quot;type&quot;]))&amp;&amp;(!preg_match(&quot;~[\x80-\xFF]~&quot;,$X[&quot;val&quot;])||preg_match('~char|text|enum|set~',$m[&quot;type&quot;]))&amp;&amp;(!preg_match('~date|timestamp~',$m[&quot;type&quot;])||preg_match('~^\d+-\d+-\d+~',$X[&quot;val&quot;]))))$sb[]=$Sg.driver()-&gt;convertSearch(idf_escape($B),$X,$m).$rb;}$J[]=(count($sb)==1?$sb[0]:($sb?&quot;(&quot;.implode(&quot; OR &quot;,$sb).&quot;)&quot;:&quot;1 = 0&quot;));}}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectOrderProcess(array$n,array$w){$J=array();foreach((array)$_GET[&quot;order&quot;]as$x=&gt;$X){if($X!=&quot;&quot;)$J[]=(preg_match('~^((COUNT\(DISTINCT |[A-Z0-9_]+\()(`(?:[^`]|``)+`|&quot;(?:[^&quot;]|&quot;&quot;)+&quot;)\)|COUNT\(\*\))$~',$X)?$X:idf_escape($X)).(isset($_GET[&quot;desc&quot;][$x])?&quot; DESC&quot;:&quot;&quot;);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectLimitProcess(){return(isset($_GET[&quot;limit&quot;])?intval($_GET[&quot;limit&quot;]):50);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectLengthProcess(){return(isset($_GET[&quot;text_length&quot;])?&quot;$_GET[text_length]&quot;:&quot;100&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectEmailProcess(array$Z,array$kd){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">selectQueryBuild(array$M,array$Z,array$wd,array$dg,$z,$D){return&quot;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">messageQuery($H,$Pi,$Sc=false){restart_session();$Jd=&amp;get_session(&quot;queries&quot;);if(!idx($Jd,$_GET[&quot;db&quot;]))$Jd[$_GET[&quot;db&quot;]]=array();if(strlen($H)&gt;1e6)$H=preg_replace('~[\x80-\xFF]+$~','',substr($H,0,1e6)).&quot;\nâ€¦&quot;;$Jd[$_GET[&quot;db&quot;]][]=array($H,time(),$Pi);$ki=&quot;sql-&quot;.count($Jd[$_GET[&quot;db&quot;]]);$J=&quot;&lt;a href='#$ki' class='toggle'&gt;&quot;.'SQL command'.&quot;&lt;/a&gt; &lt;a href='' class='jsonly copy'&gt;ðŸ—&lt;/a&gt;\n&quot;;if(!$Sc&amp;&amp;($Qj=driver()-&gt;warnings())){$t=&quot;warnings-&quot;.count($Jd[$_GET[&quot;db&quot;]]);$J=&quot;&lt;a href='#$t' class='toggle'&gt;&quot;.'Warnings'.&quot;&lt;/a&gt;, $J&lt;div id='$t' class='hidden'&gt;\n$Qj&lt;/div&gt;\n&quot;;}return&quot; &lt;span class='time'&gt;&quot;.@date(&quot;H:i:s&quot;).&quot;&lt;/span&gt;&quot;.&quot; $J&lt;div id='$ki' class='hidden'&gt;&lt;pre&gt;&lt;code class='jush-&quot;.JUSH.&quot;'&gt;&quot;.shorten_utf8($H,1000).&quot;&lt;/code&gt;&lt;/pre&gt;&quot;.($Pi?&quot; &lt;span class='time'&gt;($Pi)&lt;/span&gt;&quot;:'').(support(&quot;sql&quot;)?'&lt;p&gt;&lt;a href=&quot;'.h(str_replace(&quot;db=&quot;.urlencode(DB),&quot;db=&quot;.urlencode($_GET[&quot;db&quot;]),ME).'sql=&amp;history='.(count($Jd[$_GET[&quot;db&quot;]])-1)).'&quot;&gt;'.'Edit'.'&lt;/a&gt;':'').'&lt;/div&gt;';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">editRowPrint($R,array$n,$K,$wj){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">editFunctions(array$m){$J=($m[&quot;null&quot;]?&quot;NULL/&quot;:&quot;&quot;);$wj=isset($_GET[&quot;select&quot;])||where($_GET);foreach(array(driver()-&gt;insertFunctions,driver()-&gt;editFunctions)as$x=&gt;$rd){if(!$x||(!isset($_GET[&quot;call&quot;])&amp;&amp;$wj)){foreach($rd</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Gg=&gt;$X){if(!$Gg||preg_match(&quot;~$Gg~&quot;,$m[&quot;type&quot;]))$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;/$X&quot;;}}if($x&amp;&amp;$rd&amp;&amp;!preg_match('~set|bool~',$m[&quot;type&quot;])&amp;&amp;!is_blob($m))$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;/SQL&quot;;}if($m[&quot;auto_increment&quot;]&amp;&amp;!$wj)$J='Auto Increment';return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">explode(&quot;/&quot;,$J);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">editInput($R,array$m,$ya,$Y){if($m[&quot;type&quot;]==&quot;enum&quot;)return(isset($_GET[&quot;select&quot;])?&quot;&lt;label&gt;&lt;input type='radio'$ya value='orig' checked&gt;&lt;i&gt;&quot;.'original'.&quot;&lt;/i&gt;&lt;/label&gt; &quot;:&quot;&quot;).enum_input(&quot;radio&quot;,$ya,$m,$Y,&quot;NULL&quot;);return&quot;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">editHint($R,array$m,$Y){return&quot;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">processInput(array$m,$Y,$r=&quot;&quot;){if($r==&quot;SQL&quot;)return$Y;$B=$m[&quot;field&quot;];$J=q($Y);if(preg_match('~^(now|getdate|uuid)$~',$r))$J=&quot;$r()&quot;;elseif(preg_match('~^current_(date|timestamp)$~',$r))$J=$r;elseif(preg_match('~^([+-]|\|\|)$~',$r))$J=idf_escape($B).&quot; $r $J&quot;;elseif(preg_match('~^[+-] interval$~',$r))$J=idf_escape($B).&quot; $r &quot;.(preg_match(&quot;~^(\\d+|'[0-9.: -]') [A-Z_]+\$~i&quot;,$Y)&amp;&amp;JUSH!=&quot;pgsql&quot;?$Y:$J);elseif(preg_match('~^(addtime|subtime|concat)$~',$r))$J=&quot;$r(&quot;.idf_escape($B).&quot;, $J)&quot;;elseif(preg_match('~^(md5|sha1|password|encrypt)$~',$r))$J=&quot;$r($J)&quot;;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unconvert_field($m,$J);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dumpOutput(){$J=array('text'=&gt;'open','file'=&gt;'save');if(function_exists('gzencode'))$J['gz']='gzip';return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dumpFormat(){return(support(&quot;dump&quot;)?array('sql'=&gt;'SQL'):array())+array('csv'=&gt;'CSV,','csv;'=&gt;'CSV;','tsv'=&gt;'TSV');}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dumpDatabase($j){}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dumpTable($R,$si,$ye=0){if($_POST[&quot;format&quot;]!=&quot;sql&quot;){echo&quot;\xef\xbb\xbf&quot;;if($si)dump_csv(array_keys(fields($R)));}else{if($ye==2){$n=array();foreach(fields($R)as$B=&gt;$m)$n[]=idf_escape($B).&quot; $m[full_type]&quot;;$h=&quot;CREATE TABLE &quot;.table($R).&quot; (&quot;.implode(&quot;, &quot;,$n).&quot;)&quot;;}else$h=create_sql($R,$_POST[&quot;auto_increment&quot;],$si);set_utf8mb4($h);if($si&amp;&amp;$h){if($si==&quot;DROP+CREATE&quot;||$ye==1)echo&quot;DROP &quot;.($ye==2?&quot;VIEW&quot;:&quot;TABLE&quot;).&quot; IF EXISTS &quot;.table($R).&quot;;\n&quot;;if($ye==1)$h=remove_definer($h);echo&quot;$h;\n\n&quot;;}}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dumpData($R,$si,$H){if($si){$df=(JUSH==&quot;sqlite&quot;?0:1048576);$n=array();$Sd=false;if($_POST[&quot;format&quot;]==&quot;sql&quot;){if($si==&quot;TRUNCATE+INSERT&quot;)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_sql($R).&quot;;\n&quot;;$n=fields($R);if(JUSH==&quot;mssql&quot;){foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){if($m[&quot;auto_increment&quot;]){echo&quot;SET IDENTITY_INSERT &quot;.table($R).&quot; ON;\n&quot;;$Sd=true;break;}}}}$I=connection()-&gt;query($H,1);if($I){$ne=&quot;&quot;;$Na=&quot;&quot;;$Ce=array();$sd=array();$ui=&quot;&quot;;$Vc=($R!=''?'fetch_assoc':'fetch_row');$Cb=0;while($K=$I-&gt;$Vc()){if(!$Ce){$Ij=array();foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X){$m=$I-&gt;fetch_field();if(idx($n[$m-&gt;name],'generated')){$sd[$m-&gt;name]=true;continue;}$Ce[]=$m-&gt;name;$x=idf_escape($m-&gt;name);$Ij[]=&quot;$x = VALUES($x)&quot;;}$ui=($si==&quot;INSERT+UPDATE&quot;?&quot;\nON DUPLICATE KEY UPDATE &quot;.implode(&quot;, &quot;,$Ij):&quot;&quot;).&quot;;\n&quot;;}if($_POST[&quot;format&quot;]!=&quot;sql&quot;){if($si==&quot;table&quot;){dump_csv($Ce);$si=&quot;INSERT&quot;;}dump_csv($K);}else{if(!$ne)$ne=&quot;INSERT INTO &quot;.table($R).&quot; (&quot;.implode(&quot;, &quot;,array_map('Adminer\idf_escape',$Ce)).&quot;) VALUES&quot;;foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if($sd[$x]){unset($K[$x]);continue;}$m=$n[$x];$K[$x]=($X!==null?unconvert_field($m,preg_match(number_type(),$m[&quot;type&quot;])&amp;&amp;!preg_match('~\[~',$m[&quot;full_type&quot;])&amp;&amp;is_numeric($X)?$X:q(($X===false?0:$X))):&quot;NULL&quot;);}$Dh=($df?&quot;\n&quot;:&quot; &quot;).&quot;(&quot;.implode(&quot;,\t&quot;,$K).&quot;)&quot;;if(!$Na)$Na=$ne.$Dh;elseif(JUSH=='mssql'?$Cb%1000!=0:strlen($Na)+4+strlen($Dh)+strlen($ui)&lt;$df)$Na</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;,$Dh&quot;;else{echo$Na.$ui;$Na=$ne.$Dh;}}$Cb++;}if($Na)echo$Na.$ui;}elseif($_POST[&quot;format&quot;]==&quot;sql&quot;)echo&quot;-- &quot;.str_replace(&quot;\n&quot;,&quot; &quot;,connection()-&gt;error).&quot;\n&quot;;if($Sd)echo&quot;SET IDENTITY_INSERT &quot;.table($R).&quot; OFF;\n&quot;;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dumpFilename($Qd){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">friendly_url($Qd!=&quot;&quot;?$Qd:(SERVER?:&quot;localhost&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dumpHeaders($Qd,$wf=false){$qg=$_POST[&quot;output&quot;];$Nc=(preg_match('~sql~',$_POST[&quot;format&quot;])?&quot;sql&quot;:($wf?&quot;tar&quot;:&quot;csv&quot;));header(&quot;Content-Type: &quot;.($qg==&quot;gz&quot;?&quot;application/x-gzip&quot;:($Nc==&quot;tar&quot;?&quot;application/x-tar&quot;:($Nc==&quot;sql&quot;||$qg!=&quot;file&quot;?&quot;text/plain&quot;:&quot;text/csv&quot;).&quot;; charset=utf-8&quot;)));if($qg==&quot;gz&quot;){ob_start(function($Q){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">gzencode($Q);},1e6);}return$Nc;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">dumpFooter(){if($_POST[&quot;format&quot;]==&quot;sql&quot;)echo&quot;-- &quot;.gmdate(&quot;Y-m-d H:i:s e&quot;).&quot;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">importServerPath(){return&quot;adminer.sql&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">homepage(){echo'&lt;p class=&quot;links&quot;&gt;'.($_GET[&quot;ns&quot;]==&quot;&quot;&amp;&amp;support(&quot;database&quot;)?'&lt;a href=&quot;'.h(ME).'database=&quot;&gt;'.'Alter database'.&quot;&lt;/a&gt;\n&quot;:&quot;&quot;),(support(&quot;scheme&quot;)?&quot;&lt;a href='&quot;.h(ME).&quot;scheme='&gt;&quot;.($_GET[&quot;ns&quot;]!=&quot;&quot;?'Alter schema':'Create schema').&quot;&lt;/a&gt;\n&quot;:&quot;&quot;),($_GET[&quot;ns&quot;]!==&quot;&quot;?'&lt;a href=&quot;'.h(ME).'schema=&quot;&gt;'.'Database schema'.&quot;&lt;/a&gt;\n&quot;:&quot;&quot;),(support(&quot;privileges&quot;)?&quot;&lt;a href='&quot;.h(ME).&quot;privileges='&gt;&quot;.'Privileges'.&quot;&lt;/a&gt;\n&quot;:&quot;&quot;);if($_GET[&quot;ns&quot;]!==&quot;&quot;)echo(support(&quot;routine&quot;)?&quot;&lt;a href='#routines'&gt;&quot;.'Routines'.&quot;&lt;/a&gt;\n&quot;:&quot;&quot;),(support(&quot;sequence&quot;)?&quot;&lt;a href='#sequences'&gt;&quot;.'Sequences'.&quot;&lt;/a&gt;\n&quot;:&quot;&quot;),(support(&quot;type&quot;)?&quot;&lt;a href='#user-types'&gt;&quot;.'User types'.&quot;&lt;/a&gt;\n&quot;:&quot;&quot;),(support(&quot;event&quot;)?&quot;&lt;a href='#events'&gt;&quot;.'Events'.&quot;&lt;/a&gt;\n&quot;:&quot;&quot;);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">navigation($sf){echo&quot;&lt;h1&gt;&quot;.adminer()-&gt;name().&quot; &lt;span class='version'&gt;&quot;.VERSION;$Df=$_COOKIE[&quot;adminer_version&quot;];echo&quot; &lt;a href='https://www.adminer.org/#download'&quot;.target_blank().&quot; id='version'&gt;&quot;.(version_compare(VERSION,$Df)&lt;0?h($Df):&quot;&quot;).&quot;&lt;/a&gt;&quot;,&quot;&lt;/span&gt;&lt;/h1&gt;\n&quot;;if($sf==&quot;auth&quot;){$qg=&quot;&quot;;foreach((array)$_SESSION[&quot;pwds&quot;]as$Kj=&gt;$Wh){foreach($Wh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$N=&gt;$Fj){$B=h(get_setting(&quot;vendor-$Kj-$N&quot;)?:get_driver($Kj));foreach($Fj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$V=&gt;$F){if($F!==null){$Qb=$_SESSION[&quot;db&quot;][$Kj][$N][$V];foreach(($Qb?array_keys($Qb):array(&quot;&quot;))as$j)$qg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;&lt;li&gt;&lt;a href='&quot;.h(auth_url($Kj,$N,$V,$j)).&quot;'&gt;($B) &quot;.h(&quot;$V@&quot;.($N!=&quot;&quot;?adminer()-&gt;serverName($N):&quot;&quot;).($j!=&quot;&quot;?&quot; - $j&quot;:&quot;&quot;)).&quot;&lt;/a&gt;\n&quot;;}}}}if($qg)echo&quot;&lt;ul id='logins'&gt;\n$qg&lt;/ul&gt;\n&quot;.script(&quot;mixin(qs('#logins'), {onmouseover: menuOver, onmouseout: menuOut});&quot;);}else{$T=array();if($_GET[&quot;ns&quot;]!==&quot;&quot;&amp;&amp;!$sf&amp;&amp;DB!=&quot;&quot;){connection()-&gt;select_db(DB);$T=table_status('',true);}adminer()-&gt;syntaxHighlighting($T);adminer()-&gt;databasesPrint($sf);$ia=array();if(DB==&quot;&quot;||!$sf){if(support(&quot;sql&quot;)){$ia[]=&quot;&lt;a href='&quot;.h(ME).&quot;sql='&quot;.bold(isset($_GET[&quot;sql&quot;])&amp;&amp;!isset($_GET[&quot;import&quot;])).&quot;&gt;&quot;.'SQL command'.&quot;&lt;/a&gt;&quot;;$ia[]=&quot;&lt;a href='&quot;.h(ME).&quot;import='&quot;.bold(isset($_GET[&quot;import&quot;])).&quot;&gt;&quot;.'Import'.&quot;&lt;/a&gt;&quot;;}$ia[]=&quot;&lt;a href='&quot;.h(ME).&quot;dump=&quot;.urlencode(isset($_GET[&quot;table&quot;])?$_GET[&quot;table&quot;]:$_GET[&quot;select&quot;]).&quot;' id='dump'&quot;.bold(isset($_GET[&quot;dump&quot;])).&quot;&gt;&quot;.'Export'.&quot;&lt;/a&gt;&quot;;}$Xd=$_GET[&quot;ns&quot;]!==&quot;&quot;&amp;&amp;!$sf&amp;&amp;DB!=&quot;&quot;;if($Xd)$ia[]='&lt;a href=&quot;'.h(ME).'create=&quot;'.bold($_GET[&quot;create&quot;]===&quot;&quot;).&quot;&gt;&quot;.'Create table'.&quot;&lt;/a&gt;&quot;;echo($ia?&quot;&lt;p class='links'&gt;\n&quot;.implode(&quot;\n&quot;,$ia).&quot;\n&quot;:&quot;&quot;);if($Xd){if($T)adminer()-&gt;tablesPrint($T);else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">echo&quot;&lt;p class='message'&gt;&quot;.'No tables.'.&quot;&lt;/p&gt;\n&quot;;}}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">syntaxHighlighting(array$T){echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script_src(preg_replace(&quot;~\\?.*~&quot;,&quot;&quot;,ME).&quot;?file=jush.js&amp;version=5.4.1&quot;,true);if(support(&quot;sql&quot;)){echo&quot;&lt;script&quot;.nonce().&quot;&gt;\n&quot;;if($T){$Re=array();foreach($T</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$R=&gt;$U)$Re[]=preg_quote($R,'/');echo&quot;var jushLinks = { &quot;.JUSH.&quot;:&quot;;json_row(js_escape(ME).(support(&quot;table&quot;)?&quot;table&quot;:&quot;select&quot;).'=$&amp;','/\b('.implode('|',$Re).')\b/g',false);if(support('routine')){foreach(routines()as$K)json_row(js_escape(ME).'function='.urlencode($K[&quot;SPECIFIC_NAME&quot;]).'&amp;name=$&amp;','/\b'.preg_quote($K[&quot;ROUTINE_NAME&quot;],'/').'(?=[&quot;`]?\()/g',false);}json_row('');echo&quot;};\n&quot;;foreach(array(&quot;bac&quot;,&quot;bra&quot;,&quot;sqlite_quo&quot;,&quot;mssql_bra&quot;)as$X)echo&quot;jushLinks.$X = jushLinks.&quot;.JUSH.&quot;;\n&quot;;if(isset($_GET[&quot;sql&quot;])||isset($_GET[&quot;trigger&quot;])||isset($_GET[&quot;check&quot;])){$Ei=array_fill_keys(array_keys($T),array());foreach(driver()-&gt;allFields()as$R=&gt;$n){foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m)$Ei[$R][]=$m[&quot;field&quot;];}echo&quot;addEventListener('DOMContentLoaded', () =&gt; { autocompleter = jush.autocompleteSql('&quot;.idf_escape(&quot;&quot;).&quot;', &quot;.json_encode($Ei).&quot;); });\n&quot;;}}echo&quot;&lt;/script&gt;\n&quot;;}echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script(&quot;syntaxHighlighting('&quot;.preg_replace('~^(\d\.?\d).*~s','\1',connection()-&gt;server_info).&quot;', '&quot;.connection()-&gt;flavor.&quot;');&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">databasesPrint($sf){$i=adminer()-&gt;databases();if(DB&amp;&amp;$i&amp;&amp;!in_array(DB,$i))array_unshift($i,DB);echo&quot;&lt;form action=''&gt;\n&lt;p id='dbs'&gt;\n&quot;;hidden_fields_get();$Ob=script(&quot;mixin(qsl('select'), {onmousedown: dbMouseDown, onchange: dbChange});&quot;);echo&quot;&lt;label title='&quot;.'Database'.&quot;'&gt;&quot;.'DB'.&quot;: &quot;.($i?html_select(&quot;db&quot;,array(&quot;&quot;=&gt;&quot;&quot;)+$i,DB).$Ob:&quot;&lt;input name='db' value='&quot;.h(DB).&quot;' autocapitalize='off' size='19'&gt;\n&quot;).&quot;&lt;/label&gt;&quot;,&quot;&lt;input type='submit' value='&quot;.'Use'.&quot;'&quot;.($i?&quot; class='hidden'&quot;:&quot;&quot;).&quot;&gt;\n&quot;;if(support(&quot;scheme&quot;)){if($sf!=&quot;db&quot;&amp;&amp;DB!=&quot;&quot;&amp;&amp;connection()-&gt;select_db(DB)){echo&quot;&lt;br&gt;&lt;label&gt;&quot;.'Schema'.&quot;: &quot;.html_select(&quot;ns&quot;,array(&quot;&quot;=&gt;&quot;&quot;)+adminer()-&gt;schemas(),$_GET[&quot;ns&quot;]).&quot;$Ob&lt;/label&gt;&quot;;if($_GET[&quot;ns&quot;]!=&quot;&quot;)set_schema($_GET[&quot;ns&quot;]);}}foreach(array(&quot;import&quot;,&quot;sql&quot;,&quot;schema&quot;,&quot;dump&quot;,&quot;privileges&quot;)as$X){if(isset($_GET[$X])){echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_hidden($X);break;}}echo&quot;&lt;/p&gt;&lt;/form&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tablesPrint(array$T){echo&quot;&lt;ul id='tables'&gt;&quot;.script(&quot;mixin(qs('#tables'), {onmouseover: menuOver, onmouseout: menuOut});&quot;);foreach($T</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$R=&gt;$P){$R=&quot;$R&quot;;$B=adminer()-&gt;tableName($P);if($B!=&quot;&quot;&amp;&amp;!$P[&quot;partition&quot;])echo'&lt;li&gt;&lt;a href=&quot;'.h(ME).'select='.urlencode($R).'&quot;'.bold($_GET[&quot;select&quot;]==$R||$_GET[&quot;edit&quot;]==$R,&quot;select&quot;).&quot; title='&quot;.'Select data'.&quot;'&gt;&quot;.'select'.&quot;&lt;/a&gt; &quot;,(support(&quot;table&quot;)||support(&quot;indexes&quot;)?'&lt;a href=&quot;'.h(ME).'table='.urlencode($R).'&quot;'.bold(in_array($R,array($_GET[&quot;table&quot;],$_GET[&quot;create&quot;],$_GET[&quot;indexes&quot;],$_GET[&quot;foreign&quot;],$_GET[&quot;trigger&quot;],$_GET[&quot;check&quot;],$_GET[&quot;view&quot;])),(is_view($P)?&quot;view&quot;:&quot;structure&quot;)).&quot; title='&quot;.'Show structure'.&quot;'&gt;$B&lt;/a&gt;&quot;:&quot;&lt;span&gt;$B&lt;/span&gt;&quot;).&quot;\n&quot;;}echo&quot;&lt;/ul&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">processList(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">process_list();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">killProcess($t){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">kill_process($t);}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Plugins{private</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">static$append=array('dumpFormat'=&gt;true,'dumpOutput'=&gt;true,'editRowPrint'=&gt;true,'editFunctions'=&gt;true,'config'=&gt;true);var$plugins;var$error='';private$hooks=array();function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct($Lg){if($Lg===null){$Lg=array();$Ha=&quot;adminer-plugins&quot;;if(is_dir($Ha)){foreach(glob(&quot;$Ha/*.php&quot;)as$o)$Yd=include_once&quot;./$o&quot;;}$Id=&quot; href='https://www.adminer.org/plugins/#use'&quot;.target_blank();if(file_exists(&quot;$Ha.php&quot;)){$Yd=include_once&quot;./$Ha.php&quot;;if(is_array($Yd)){foreach($Yd</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Kg)$Lg[get_class($Kg)]=$Kg;}else$this-&gt;error</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=sprintf('%s must &lt;a%s&gt;return an array&lt;/a&gt;.',&quot;&lt;b&gt;$Ha.php&lt;/b&gt;&quot;,$Id).&quot;&lt;br&gt;&quot;;}foreach(get_declared_classes()as$db){if(!$Lg[$db]&amp;&amp;preg_match('~^Adminer\w~i',$db)){$oh=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\ReflectionClass($db);$xb=$oh-&gt;getConstructor();if($xb&amp;&amp;$xb-&gt;getNumberOfRequiredParameters())$this-&gt;error</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=sprintf('&lt;a%s&gt;Configure&lt;/a&gt; %s in %s.',$Id,&quot;&lt;b&gt;$db&lt;/b&gt;&quot;,&quot;&lt;b&gt;$Ha.php&lt;/b&gt;&quot;).&quot;&lt;br&gt;&quot;;else$Lg[$db]=new$db;}}}$this-&gt;plugins=$Lg;$la=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Adminer;$Lg[]=$la;$oh=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\ReflectionObject($la);foreach($oh-&gt;getMethods()as$qf){foreach($Lg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Kg){$B=$qf-&gt;getName();if(method_exists($Kg,$B))$this-&gt;hooks[$B][]=$Kg;}}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__call($B,array$vg){$ua=array();foreach($vg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)$ua[]=&amp;$vg[$x];$J=null;foreach($this-&gt;hooks[$B]as$Kg){$Y=call_user_func_array(array($Kg,$B),$ua);if($Y!==null){if(!self::$append[$B])return$Y;$J=$Y+(array)$J;}}return$J;}}abstract</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Plugin{protected$translations=array();function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">description(){return$this-&gt;lang('');}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">screenshot(){return&quot;&quot;;}protected</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">lang($u,$Jf=null){$ua=func_get_args();$ua[0]=idx($this-&gt;translations[LANG],$u)?:$u;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">call_user_func_array('Adminer\lang_format',$ua);}}Adminer::$instance=(function_exists('adminer_object')?adminer_object():(is_dir(&quot;adminer-plugins&quot;)||file_exists(&quot;adminer-plugins.php&quot;)?new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Plugins(null):new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Adminer));SqlDriver::$drivers=array(&quot;server&quot;=&gt;&quot;MySQL / MariaDB&quot;)+SqlDriver::$drivers;if(!defined('Adminer\DRIVER')){define('Adminer\DRIVER',&quot;server&quot;);if(extension_loaded(&quot;mysqli&quot;)&amp;&amp;$_GET[&quot;ext&quot;]!=&quot;pdo&quot;){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\MySQLi{static$instance;var$extension=&quot;MySQLi&quot;,$flavor='';function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct(){parent::init();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){mysqli_report(MYSQLI_REPORT_OFF);list($Md,$Mg)=host_port($N);$ni=adminer()-&gt;connectSsl();if($ni)$this-&gt;ssl_set($ni['key'],$ni['cert'],$ni['ca'],'','');$J=@$this-&gt;real_connect(($N!=&quot;&quot;?$Md:ini_get(&quot;mysqli.default_host&quot;)),($N.$V!=&quot;&quot;?$V:ini_get(&quot;mysqli.default_user&quot;)),($N.$V.$F!=&quot;&quot;?$F:ini_get(&quot;mysqli.default_pw&quot;)),null,(is_numeric($Mg)?intval($Mg):ini_get(&quot;mysqli.default_port&quot;)),(is_numeric($Mg)?null:$Mg),($ni?($ni['verify']!==false?2048:64):0));$this-&gt;options(MYSQLI_OPT_LOCAL_INFILE,0);return($J?'':$this-&gt;error);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_charset($Va){if(parent::set_charset($Va))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;parent::set_charset('utf8');return$this-&gt;query(&quot;SET NAMES $Va&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">next_result(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">self::more_results()&amp;&amp;parent::next_result();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quote($Q){return&quot;'&quot;.$this-&gt;escape_string($Q).&quot;'&quot;;}}}elseif(extension_loaded(&quot;mysql&quot;)&amp;&amp;!((ini_bool(&quot;sql.safe_mode&quot;)||ini_bool(&quot;mysql.allow_local_infile&quot;))&amp;&amp;extension_loaded(&quot;pdo_mysql&quot;))){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDb{private$link;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){if(ini_bool(&quot;mysql.allow_local_infile&quot;))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">sprintf('Disable %s or enable %s or %s extensions.',&quot;'mysql.allow_local_infile'&quot;,&quot;MySQLi&quot;,&quot;PDO_MySQL&quot;);$this-&gt;link=@mysql_connect(($N!=&quot;&quot;?$N:ini_get(&quot;mysql.default_host&quot;)),($N.$V!=&quot;&quot;?$V:ini_get(&quot;mysql.default_user&quot;)),($N.$V.$F!=&quot;&quot;?$F:ini_get(&quot;mysql.default_password&quot;)),true,131072);if(!$this-&gt;link)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">mysql_error();$this-&gt;server_info=mysql_get_server_info($this-&gt;link);return'';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_charset($Va){if(function_exists('mysql_set_charset')){if(mysql_set_charset($Va,$this-&gt;link))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;mysql_set_charset('utf8',$this-&gt;link);}return$this-&gt;query(&quot;SET NAMES $Va&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">quote($Q){return&quot;'&quot;.mysql_real_escape_string($Q,$this-&gt;link).&quot;'&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($Nb){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">mysql_select_db($Nb,$this-&gt;link);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query($H,$oj=false){$I=@($oj?mysql_unbuffered_query($H,$this-&gt;link):mysql_query($H,$this-&gt;link));$this-&gt;error=&quot;&quot;;if(!$I){$this-&gt;errno=mysql_errno($this-&gt;link);$this-&gt;error=mysql_error($this-&gt;link);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}if($I===true){$this-&gt;affected_rows=mysql_affected_rows($this-&gt;link);$this-&gt;info=mysql_info($this-&gt;link);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result($I);}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Result{var$num_rows;private$result;private$offset=0;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct($I){$this-&gt;result=$I;$this-&gt;num_rows=mysql_num_rows($I);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_assoc(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">mysql_fetch_assoc($this-&gt;result);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_row(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">mysql_fetch_row($this-&gt;result);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fetch_field(){$J=mysql_fetch_field($this-&gt;result,$this-&gt;offset++);$J-&gt;orgtable=$J-&gt;table;$J-&gt;charsetnr=($J-&gt;blob?63:0);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__destruct(){mysql_free_result($this-&gt;result);}}}elseif(extension_loaded(&quot;pdo_mysql&quot;)){class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Db</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">PdoDb{var$extension=&quot;PDO_MySQL&quot;;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">attach($N,$V,$F){$bg=array(\PDO::MYSQL_ATTR_LOCAL_INFILE=&gt;false);$ni=adminer()-&gt;connectSsl();if($ni){if($ni['key'])$bg[\PDO::MYSQL_ATTR_SSL_KEY]=$ni['key'];if($ni['cert'])$bg[\PDO::MYSQL_ATTR_SSL_CERT]=$ni['cert'];if($ni['ca'])$bg[\PDO::MYSQL_ATTR_SSL_CA]=$ni['ca'];if(isset($ni['verify']))$bg[\PDO::MYSQL_ATTR_SSL_VERIFY_SERVER_CERT]=$ni['verify'];}list($Md,$Mg)=host_port($N);return$this-&gt;dsn(&quot;mysql:charset=utf8;host=$Md&quot;.($Mg?(is_numeric($Mg)?&quot;;port=&quot;:&quot;;unix_socket=&quot;).$Mg:&quot;&quot;),$V,$F,$bg);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_charset($Va){return$this-&gt;query(&quot;SET NAMES $Va&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_db($Nb){return$this-&gt;query(&quot;USE &quot;.idf_escape($Nb));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query($H,$oj=false){$this-&gt;pdo-&gt;setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,!$oj);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">parent::query($H,$oj);}}}class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Driver</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">extends</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SqlDriver{static$extensions=array(&quot;MySQLi&quot;,&quot;MySQL&quot;,&quot;PDO_MySQL&quot;);static$jush=&quot;sql&quot;;var$unsigned=array(&quot;unsigned&quot;,&quot;zerofill&quot;,&quot;unsigned zerofill&quot;);var$operators=array(&quot;=&quot;,&quot;&lt;&quot;,&quot;&gt;&quot;,&quot;&lt;=&quot;,&quot;&gt;=&quot;,&quot;!=&quot;,&quot;LIKE&quot;,&quot;LIKE %%&quot;,&quot;REGEXP&quot;,&quot;IN&quot;,&quot;FIND_IN_SET&quot;,&quot;IS NULL&quot;,&quot;NOT LIKE&quot;,&quot;NOT REGEXP&quot;,&quot;NOT IN&quot;,&quot;IS NOT NULL&quot;,&quot;SQL&quot;);var$functions=array(&quot;char_length&quot;,&quot;date&quot;,&quot;from_unixtime&quot;,&quot;lower&quot;,&quot;round&quot;,&quot;floor&quot;,&quot;ceil&quot;,&quot;sec_to_time&quot;,&quot;time_to_sec&quot;,&quot;upper&quot;);var$grouping=array(&quot;avg&quot;,&quot;count&quot;,&quot;count distinct&quot;,&quot;group_concat&quot;,&quot;max&quot;,&quot;min&quot;,&quot;sum&quot;);static</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connect($N,$V,$F){$f=parent::connect($N,$V,$F);if(is_string($f)){if(function_exists('iconv')&amp;&amp;!is_utf8($f)&amp;&amp;strlen($Dh=iconv(&quot;windows-1250&quot;,&quot;utf-8&quot;,$f))&gt;strlen($f))$f=$Dh;return$f;}$f-&gt;set_charset(charset($f));$f-&gt;query(&quot;SET sql_quote_show_create = 1, autocommit = 1&quot;);$f-&gt;flavor=(preg_match('~MariaDB~',$f-&gt;server_info)?'maria':'mysql');add_driver(DRIVER,($f-&gt;flavor=='maria'?&quot;MariaDB&quot;:&quot;MySQL&quot;));return$f;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct(Db$f){parent::__construct($f);$this-&gt;types=array('Numbers'=&gt;array(&quot;tinyint&quot;=&gt;3,&quot;smallint&quot;=&gt;5,&quot;mediumint&quot;=&gt;8,&quot;int&quot;=&gt;10,&quot;bigint&quot;=&gt;20,&quot;decimal&quot;=&gt;66,&quot;float&quot;=&gt;12,&quot;double&quot;=&gt;21),'Date and time'=&gt;array(&quot;date&quot;=&gt;10,&quot;datetime&quot;=&gt;19,&quot;timestamp&quot;=&gt;19,&quot;time&quot;=&gt;10,&quot;year&quot;=&gt;4),'Strings'=&gt;array(&quot;char&quot;=&gt;255,&quot;varchar&quot;=&gt;65535,&quot;tinytext&quot;=&gt;255,&quot;text&quot;=&gt;65535,&quot;mediumtext&quot;=&gt;16777215,&quot;longtext&quot;=&gt;4294967295),'Lists'=&gt;array(&quot;enum&quot;=&gt;65535,&quot;set&quot;=&gt;64),'Binary'=&gt;array(&quot;bit&quot;=&gt;20,&quot;binary&quot;=&gt;255,&quot;varbinary&quot;=&gt;65535,&quot;tinyblob&quot;=&gt;255,&quot;blob&quot;=&gt;65535,&quot;mediumblob&quot;=&gt;16777215,&quot;longblob&quot;=&gt;4294967295),'Geometry'=&gt;array(&quot;geometry&quot;=&gt;0,&quot;point&quot;=&gt;0,&quot;linestring&quot;=&gt;0,&quot;polygon&quot;=&gt;0,&quot;multipoint&quot;=&gt;0,&quot;multilinestring&quot;=&gt;0,&quot;multipolygon&quot;=&gt;0,&quot;geometrycollection&quot;=&gt;0),);$this-&gt;insertFunctions=array(&quot;char&quot;=&gt;&quot;md5/sha1/password/encrypt/uuid&quot;,&quot;binary&quot;=&gt;&quot;md5/sha1&quot;,&quot;date|time&quot;=&gt;&quot;now&quot;,);$this-&gt;editFunctions=array(number_type()=&gt;&quot;+/-&quot;,&quot;date&quot;=&gt;&quot;+ interval/- interval&quot;,&quot;time&quot;=&gt;&quot;addtime/subtime&quot;,&quot;char|text&quot;=&gt;&quot;concat&quot;,);if(min_version('5.7.8',10.2,$f))$this-&gt;types['Strings'][&quot;json&quot;]=4294967295;if(min_version('',10.7,$f)){$this-&gt;types['Strings'][&quot;uuid&quot;]=128;$this-&gt;insertFunctions['uuid']='uuid';}if(min_version(9,'',$f)){$this-&gt;types['Numbers'][&quot;vector&quot;]=16383;$this-&gt;insertFunctions['vector']='string_to_vector';}if(min_version(5.1,'',$f))$this-&gt;partitionBy=array(&quot;HASH&quot;,&quot;LINEAR HASH&quot;,&quot;KEY&quot;,&quot;LINEAR KEY&quot;,&quot;RANGE&quot;,&quot;LIST&quot;);if(min_version(5.7,10.2,$f))$this-&gt;generated=array(&quot;STORED&quot;,&quot;VIRTUAL&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unconvertFunction(array$m){return(preg_match(&quot;~binary~&quot;,$m[&quot;type&quot;])?&quot;&lt;code class='jush-sql'&gt;UNHEX&lt;/code&gt;&quot;:($m[&quot;type&quot;]==&quot;bit&quot;?doc_link(array('sql'=&gt;'bit-value-literals.html'),&quot;&lt;code&gt;b''&lt;/code&gt;&quot;):(preg_match(&quot;~geometry|point|linestring|polygon~&quot;,$m[&quot;type&quot;])?&quot;&lt;code class='jush-sql'&gt;GeomFromText&lt;/code&gt;&quot;:&quot;&quot;)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insert($R,array$O){return($O?parent::insert($R,$O):queries(&quot;INSERT INTO &quot;.table($R).&quot; ()\nVALUES ()&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">insertUpdate($R,array$L,array$G){$e=array_keys(reset($L));$Sg=&quot;INSERT INTO &quot;.table($R).&quot; (&quot;.implode(&quot;, &quot;,$e).&quot;) VALUES\n&quot;;$Ij=array();foreach($e</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x)$Ij[$x]=&quot;$x = VALUES($x)&quot;;$ui=&quot;\nON DUPLICATE KEY UPDATE &quot;.implode(&quot;, &quot;,$Ij);$Ij=array();$y=0;foreach($L</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$O){$Y=&quot;(&quot;.implode(&quot;, &quot;,$O).&quot;)&quot;;if($Ij&amp;&amp;(strlen($Sg)+$y+strlen($Y)+strlen($ui)&gt;1e6)){if(!queries($Sg.implode(&quot;,\n&quot;,$Ij).$ui))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;$Ij=array();$y=0;}$Ij[]=$Y;$y+=strlen($Y)+2;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries($Sg.implode(&quot;,\n&quot;,$Ij).$ui);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">slowQuery($H,$Qi){if(min_version('5.7.8','10.1.2')){if($this-&gt;conn-&gt;flavor=='maria')return&quot;SET STATEMENT max_statement_time=$Qi FOR $H&quot;;elseif(preg_match('~^(SELECT\b)(.+)~is',$H,$A))return&quot;$A[1] /*+ MAX_EXECUTION_TIME(&quot;.($Qi*1000).&quot;) */ $A[2]&quot;;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convertSearch($u,array$X,array$m){return(preg_match('~char|text|enum|set~',$m[&quot;type&quot;])&amp;&amp;!preg_match(&quot;~^utf8~&quot;,$m[&quot;collation&quot;])&amp;&amp;preg_match('~[\x80-\xFF]~',$X['val'])?&quot;CONVERT($u USING &quot;.charset($this-&gt;conn).&quot;)&quot;:$u);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">warnings(){$I=$this-&gt;conn-&gt;query(&quot;SHOW WARNINGS&quot;);if($I&amp;&amp;$I-&gt;num_rows){ob_start();print_select_result($I);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">ob_get_clean();}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tableHelp($B,$ye=false){$Ve=($this-&gt;conn-&gt;flavor=='maria');if(information_schema(DB))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">strtolower(&quot;information-schema-&quot;.($Ve?&quot;$B-table/&quot;:str_replace(&quot;_&quot;,&quot;-&quot;,$B).&quot;-table.html&quot;));if(DB==&quot;mysql&quot;)return($Ve?&quot;mysql$B-table/&quot;:&quot;system-schema.html&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">partitionsInfo($R){$pd=&quot;FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = &quot;.q(DB).&quot; AND TABLE_NAME = &quot;.q($R);$I=$this-&gt;conn-&gt;query(&quot;SELECT PARTITION_METHOD, PARTITION_EXPRESSION, PARTITION_ORDINAL_POSITION $pd ORDER BY PARTITION_ORDINAL_POSITION DESC LIMIT 1&quot;);$J=array();list($J[&quot;partition_by&quot;],$J[&quot;partition&quot;],$J[&quot;partitions&quot;])=$I-&gt;fetch_row();$Cg=get_key_vals(&quot;SELECT PARTITION_NAME, PARTITION_DESCRIPTION $pd AND PARTITION_NAME != '' ORDER BY PARTITION_ORDINAL_POSITION&quot;);$J[&quot;partition_names&quot;]=array_keys($Cg);$J[&quot;partition_values&quot;]=array_values($Cg);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">hasCStyleEscapes(){static$Qa;if($Qa===null){$li=get_val(&quot;SHOW VARIABLES LIKE 'sql_mode'&quot;,1,$this-&gt;conn);$Qa=(strpos($li,'NO_BACKSLASH_ESCAPES')===false);}return$Qa;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">engines(){$J=array();foreach(get_rows(&quot;SHOW ENGINES&quot;)as$K){if(preg_match(&quot;~YES|DEFAULT~&quot;,$K[&quot;Support&quot;]))$J[]=$K[&quot;Engine&quot;];}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">indexAlgorithms(array$yi){return(preg_match('~^(MEMORY|NDB)$~',$yi[&quot;Engine&quot;])?array(&quot;HASH&quot;,&quot;BTREE&quot;):array());}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($u){return&quot;`&quot;.str_replace(&quot;`&quot;,&quot;``&quot;,$u).&quot;`&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table($u){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($u);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_databases($hd){$J=get_session(&quot;dbs&quot;);if($J===null){$H=&quot;SELECT SCHEMA_NAME FROM information_schema.SCHEMATA ORDER BY SCHEMA_NAME&quot;;$J=($hd?slow_query($H):get_vals($H));restart_session();set_session(&quot;dbs&quot;,$J);stop_session();}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit($H,$Z,$z,$C=0,$Rh=&quot; &quot;){return&quot; $H$Z&quot;.($z?$Rh.&quot;LIMIT $z&quot;.($C?&quot; OFFSET $C&quot;:&quot;&quot;):&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit1($R,$H,$Z,$Rh=&quot;\n&quot;){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">limit($H,$Z,1,0,$Rh);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">db_collation($j,array$jb){$J=null;$h=get_val(&quot;SHOW CREATE DATABASE &quot;.idf_escape($j),1);if(preg_match('~ COLLATE ([^ ]+)~',$h,$A))$J=$A[1];elseif(preg_match('~ CHARACTER SET ([^ ]+)~',$h,$A))$J=$jb[$A[1]][-1];return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">logged_user(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT USER()&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tables_list(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_key_vals(&quot;SELECT TABLE_NAME, TABLE_TYPE FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() ORDER BY TABLE_NAME&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">count_tables(array$i){$J=array();foreach($i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$j)$J[$j]=count(get_vals(&quot;SHOW TABLES IN &quot;.idf_escape($j)));return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">table_status($B=&quot;&quot;,$Tc=false){$J=array();foreach(get_rows($Tc?&quot;SELECT TABLE_NAME AS Name, ENGINE AS Engine, TABLE_COMMENT AS Comment FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() &quot;.($B!=&quot;&quot;?&quot;AND TABLE_NAME = &quot;.q($B):&quot;ORDER BY Name&quot;):&quot;SHOW TABLE STATUS&quot;.($B!=&quot;&quot;?&quot; LIKE &quot;.q(addcslashes($B,&quot;%_\\&quot;)):&quot;&quot;))as$K){if($K[&quot;Engine&quot;]==&quot;InnoDB&quot;)$K[&quot;Comment&quot;]=preg_replace('~(?:(.+); )?InnoDB free: .*~','\1',$K[&quot;Comment&quot;]);if(!isset($K[&quot;Engine&quot;]))$K[&quot;Comment&quot;]=&quot;&quot;;if($B!=&quot;&quot;)$K[&quot;Name&quot;]=$B;$J[$K[&quot;Name&quot;]]=$K;}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">is_view(array$S){return$S[&quot;Engine&quot;]===null;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fk_support(array$S){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_match('~InnoDB|IBMDB2I'.(min_version(5.6)?'|NDB':'').'~i',$S[&quot;Engine&quot;]);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fields($R){$Ve=(connection()-&gt;flavor=='maria');$J=array();foreach(get_rows(&quot;SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = &quot;.q($R).&quot; ORDER BY ORDINAL_POSITION&quot;)as$K){$m=$K[&quot;COLUMN_NAME&quot;];$U=$K[&quot;COLUMN_TYPE&quot;];$td=$K[&quot;GENERATION_EXPRESSION&quot;];$Qc=$K[&quot;EXTRA&quot;];preg_match('~^(VIRTUAL|PERSISTENT|STORED)~',$Qc,$sd);preg_match('~^([^( ]+)(?:\((.+)\))?( unsigned)?( zerofill)?$~',$U,$Ye);$k=$K[&quot;COLUMN_DEFAULT&quot;];if($k!=&quot;&quot;){$xe=preg_match('~text|json~',$Ye[1]);if(!$Ve&amp;&amp;$xe)$k=preg_replace(&quot;~^(_\w+)?('.*')$~&quot;,'\2',stripslashes($k));if($Ve||$xe){$k=($k==&quot;NULL&quot;?null:preg_replace_callback(&quot;~^'(.*)'$~&quot;,function($A){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">stripslashes(str_replace(&quot;''&quot;,&quot;'&quot;,$A[1]));},$k));}if(!$Ve&amp;&amp;preg_match('~binary~',$Ye[1])&amp;&amp;preg_match('~^0x(\w*)$~',$k,$A))$k=pack(&quot;H*&quot;,$A[1]);}$J[$m]=array(&quot;field&quot;=&gt;$m,&quot;full_type&quot;=&gt;$U,&quot;type&quot;=&gt;$Ye[1],&quot;length&quot;=&gt;$Ye[2],&quot;unsigned&quot;=&gt;ltrim($Ye[3].$Ye[4]),&quot;default&quot;=&gt;($sd?($Ve?$td:stripslashes($td)):$k),&quot;null&quot;=&gt;($K[&quot;IS_NULLABLE&quot;]==&quot;YES&quot;),&quot;auto_increment&quot;=&gt;($Qc==&quot;auto_increment&quot;),&quot;on_update&quot;=&gt;(preg_match('~\bon update (\w+)~i',$Qc,$A)?$A[1]:&quot;&quot;),&quot;collation&quot;=&gt;$K[&quot;COLLATION_NAME&quot;],&quot;privileges&quot;=&gt;array_flip(explode(&quot;,&quot;,&quot;$K[PRIVILEGES],where,order&quot;)),&quot;comment&quot;=&gt;$K[&quot;COLUMN_COMMENT&quot;],&quot;primary&quot;=&gt;($K[&quot;COLUMN_KEY&quot;]==&quot;PRI&quot;),&quot;generated&quot;=&gt;($sd[1]==&quot;PERSISTENT&quot;?&quot;STORED&quot;:$sd[1]),);}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">indexes($R,$g=null){$J=array();foreach(get_rows(&quot;SHOW INDEX FROM &quot;.table($R),$g)as$K){$B=$K[&quot;Key_name&quot;];$J[$B][&quot;type&quot;]=($B==&quot;PRIMARY&quot;?&quot;PRIMARY&quot;:($K[&quot;Index_type&quot;]==&quot;FULLTEXT&quot;?&quot;FULLTEXT&quot;:($K[&quot;Non_unique&quot;]?($K[&quot;Index_type&quot;]==&quot;SPATIAL&quot;?&quot;SPATIAL&quot;:&quot;INDEX&quot;):&quot;UNIQUE&quot;)));$J[$B][&quot;columns&quot;][]=$K[&quot;Column_name&quot;];$J[$B][&quot;lengths&quot;][]=($K[&quot;Index_type&quot;]==&quot;SPATIAL&quot;?null:$K[&quot;Sub_part&quot;]);$J[$B][&quot;descs&quot;][]=null;$J[$B][&quot;algorithm&quot;]=$K[&quot;Index_type&quot;];}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreign_keys($R){static$Gg='(?:`(?:[^`]|``)+`|&quot;(?:[^&quot;]|&quot;&quot;)+&quot;)';$J=array();$Db=get_val(&quot;SHOW CREATE TABLE &quot;.table($R),1);if($Db){preg_match_all(&quot;~CONSTRAINT ($Gg) FOREIGN KEY ?\\(((?:$Gg,? ?)+)\\) REFERENCES ($Gg)(?:\\.($Gg))? \\(((?:$Gg,? ?)+)\\)(?: ON DELETE (&quot;.driver()-&gt;onActions.&quot;))?(?: ON UPDATE (&quot;.driver()-&gt;onActions.&quot;))?~&quot;,$Db,$Ze,PREG_SET_ORDER);foreach($Ze</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$A){preg_match_all(&quot;~$Gg~&quot;,$A[2],$fi);preg_match_all(&quot;~$Gg~&quot;,$A[5],$Ii);$J[idf_unescape($A[1])]=array(&quot;db&quot;=&gt;idf_unescape($A[4]!=&quot;&quot;?$A[3]:$A[4]),&quot;table&quot;=&gt;idf_unescape($A[4]!=&quot;&quot;?$A[4]:$A[3]),&quot;source&quot;=&gt;array_map('Adminer\idf_unescape',$fi[0]),&quot;target&quot;=&gt;array_map('Adminer\idf_unescape',$Ii[0]),&quot;on_delete&quot;=&gt;($A[6]?:&quot;RESTRICT&quot;),&quot;on_update&quot;=&gt;($A[7]?:&quot;RESTRICT&quot;),);}}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">view($B){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;select&quot;=&gt;preg_replace('~^(?:[^`]|`[^`]*`)*\s+AS\s+~isU','',get_val(&quot;SHOW CREATE VIEW &quot;.table($B),1)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">collations(){$J=array();foreach(get_rows(&quot;SHOW COLLATION&quot;)as$K){if($K[&quot;Default&quot;])$J[$K[&quot;Charset&quot;]][-1]=$K[&quot;Collation&quot;];else$J[$K[&quot;Charset&quot;]][]=$K[&quot;Collation&quot;];}ksort($J);foreach($J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)sort($J[$x]);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">information_schema($j){return($j==&quot;information_schema&quot;)||(min_version(5.5)&amp;&amp;$j==&quot;performance_schema&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">error(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h(preg_replace('~^You have an error.*syntax to use~U',&quot;Syntax error&quot;,connection()-&gt;error));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_database($j,$c){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;CREATE DATABASE &quot;.idf_escape($j).($c?&quot; COLLATE &quot;.q($c):&quot;&quot;));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_databases(array$i){$J=apply_queries(&quot;DROP DATABASE&quot;,$i,'Adminer\idf_escape');restart_session();set_session(&quot;dbs&quot;,null);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">rename_database($B,$c){$J=false;if(create_database($B,$c)){$T=array();$Nj=array();foreach(tables_list()as$R=&gt;$U){if($U=='VIEW')$Nj[]=$R;else$T[]=$R;}$J=(!$T&amp;&amp;!$Nj)||move_tables($T,$Nj,$B);drop_databases($J?array(DB):array());}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">auto_increment(){$Aa=&quot; PRIMARY KEY&quot;;if($_GET[&quot;create&quot;]!=&quot;&quot;&amp;&amp;$_POST[&quot;auto_increment_col&quot;]){foreach(indexes($_GET[&quot;create&quot;])as$v){if(in_array($_POST[&quot;fields&quot;][$_POST[&quot;auto_increment_col&quot;]][&quot;orig&quot;],$v[&quot;columns&quot;],true)){$Aa=&quot;&quot;;break;}if($v[&quot;type&quot;]==&quot;PRIMARY&quot;)$Aa=&quot; UNIQUE&quot;;}}return&quot; AUTO_INCREMENT$Aa&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_table($R,$B,array$n,array$jd,$ob,$xc,$c,$_a,$E){$b=array();foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){if($m[1]){$k=$m[1][3];if(preg_match('~ GENERATED~',$k)){$m[1][3]=(connection()-&gt;flavor=='maria'?&quot;&quot;:$m[1][2]);$m[1][2]=$k;}$b[]=($R!=&quot;&quot;?($m[0]!=&quot;&quot;?&quot;CHANGE &quot;.idf_escape($m[0]):&quot;ADD&quot;):&quot; &quot;).&quot; &quot;.implode($m[1]).($R!=&quot;&quot;?$m[2]:&quot;&quot;);}else$b[]=&quot;DROP &quot;.idf_escape($m[0]);}$b=array_merge($b,$jd);$P=($ob!==null?&quot; COMMENT=&quot;.q($ob):&quot;&quot;).($xc?&quot; ENGINE=&quot;.q($xc):&quot;&quot;).($c?&quot; COLLATE &quot;.q($c):&quot;&quot;).($_a!=&quot;&quot;?&quot; AUTO_INCREMENT=$_a&quot;:&quot;&quot;);if($E){$Cg=array();if($E[&quot;partition_by&quot;]=='RANGE'||$E[&quot;partition_by&quot;]=='LIST'){foreach($E[&quot;partition_names&quot;]as$x=&gt;$X){$Y=$E[&quot;partition_values&quot;][$x];$Cg[]=&quot;\n &nbsp;PARTITION &quot;.idf_escape($X).&quot; VALUES &quot;.($E[&quot;partition_by&quot;]=='RANGE'?&quot;LESS THAN&quot;:&quot;IN&quot;).($Y!=&quot;&quot;?&quot; ($Y)&quot;:&quot; MAXVALUE&quot;);}}$P</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;\nPARTITION BY $E[partition_by]($E[partition])&quot;;if($Cg)$P</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot; (&quot;.implode(&quot;,&quot;,$Cg).&quot;\n)&quot;;elseif($E[&quot;partitions&quot;])$P</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot; PARTITIONS &quot;.(+$E[&quot;partitions&quot;]);}elseif($E===null)$P</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;\nREMOVE PARTITIONING&quot;;if($R==&quot;&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;CREATE TABLE &quot;.table($B).&quot; (\n&quot;.implode(&quot;,\n&quot;,$b).&quot;\n)$P&quot;);if($R!=$B)$b[]=&quot;RENAME TO &quot;.table($B);if($P)$b[]=ltrim($P);return($b?queries(&quot;ALTER TABLE &quot;.table($R).&quot;\n&quot;.implode(&quot;,\n&quot;,$b)):true);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">alter_indexes($R,$b){$Ua=array();foreach($b</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X)$Ua[]=($X[2]==&quot;DROP&quot;?&quot;\nDROP INDEX &quot;.idf_escape($X[1]):&quot;\nADD $X[0] &quot;.($X[0]==&quot;PRIMARY&quot;?&quot;KEY &quot;:&quot;&quot;).($X[1]!=&quot;&quot;?idf_escape($X[1]).&quot; &quot;:&quot;&quot;).&quot;(&quot;.implode(&quot;, &quot;,$X[2]).&quot;)&quot;);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;ALTER TABLE &quot;.table($R).implode(&quot;,&quot;,$Ua));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_tables(array$T){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">apply_queries(&quot;TRUNCATE TABLE&quot;,$T);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_views(array$Nj){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;DROP VIEW &quot;.implode(&quot;, &quot;,array_map('Adminer\table',$Nj)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_tables(array$T){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;DROP TABLE &quot;.implode(&quot;, &quot;,array_map('Adminer\table',$T)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">move_tables(array$T,array$Nj,$Ii){$sh=array();foreach($T</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$R)$sh[]=table($R).&quot; TO &quot;.idf_escape($Ii).&quot;.&quot;.table($R);if(!$sh||queries(&quot;RENAME TABLE &quot;.implode(&quot;, &quot;,$sh))){$Wb=array();foreach($Nj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$R)$Wb[table($R)]=view($R);connection()-&gt;select_db($Ii);$j=idf_escape(DB);foreach($Wb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$Mj){if(!queries(&quot;CREATE VIEW $B AS &quot;.str_replace(&quot; $j.&quot;,&quot; &quot;,$Mj[&quot;select&quot;]))||!queries(&quot;DROP VIEW $j.$B&quot;))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">copy_tables(array$T,array$Nj,$Ii){queries(&quot;SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'&quot;);foreach($T</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$R){$B=($Ii==DB?table(&quot;copy_$R&quot;):idf_escape($Ii).&quot;.&quot;.table($R));if(($_POST[&quot;overwrite&quot;]&amp;&amp;!queries(&quot;\nDROP TABLE IF EXISTS $B&quot;))||!queries(&quot;CREATE TABLE $B LIKE &quot;.table($R))||!queries(&quot;INSERT INTO $B SELECT * FROM &quot;.table($R)))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;foreach(get_rows(&quot;SHOW TRIGGERS LIKE &quot;.q(addcslashes($R,&quot;%_\\&quot;)))as$K){$hj=$K[&quot;Trigger&quot;];if(!queries(&quot;CREATE TRIGGER &quot;.($Ii==DB?idf_escape(&quot;copy_$hj&quot;):idf_escape($Ii).&quot;.&quot;.idf_escape($hj)).&quot; $K[Timing] $K[Event] ON $B FOR EACH ROW\n$K[Statement];&quot;))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}}foreach($Nj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$R){$B=($Ii==DB?table(&quot;copy_$R&quot;):idf_escape($Ii).&quot;.&quot;.table($R));$Mj=view($R);if(($_POST[&quot;overwrite&quot;]&amp;&amp;!queries(&quot;DROP VIEW IF EXISTS $B&quot;))||!queries(&quot;CREATE VIEW $B AS $Mj[select]&quot;))return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger($B,$R){if($B==&quot;&quot;)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();$L=get_rows(&quot;SHOW TRIGGERS WHERE `Trigger` = &quot;.q($B));return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">reset($L);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">triggers($R){$J=array();foreach(get_rows(&quot;SHOW TRIGGERS LIKE &quot;.q(addcslashes($R,&quot;%_\\&quot;)))as$K)$J[$K[&quot;Trigger&quot;]]=array($K[&quot;Timing&quot;],$K[&quot;Event&quot;]);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger_options(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;Timing&quot;=&gt;array(&quot;BEFORE&quot;,&quot;AFTER&quot;),&quot;Event&quot;=&gt;array(&quot;INSERT&quot;,&quot;UPDATE&quot;,&quot;DELETE&quot;),&quot;Type&quot;=&gt;array(&quot;FOR EACH ROW&quot;),);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">routine($B,$U){$ra=array(&quot;bool&quot;,&quot;boolean&quot;,&quot;integer&quot;,&quot;double precision&quot;,&quot;real&quot;,&quot;dec&quot;,&quot;numeric&quot;,&quot;fixed&quot;,&quot;national char&quot;,&quot;national varchar&quot;);$gi=&quot;(?:\\s|/\\*[\s\S]*?\\*/|(?:#|-- )[^\n]*\n?|--\r?\n)&quot;;$zc=driver()-&gt;enumLength;$mj=&quot;((&quot;.implode(&quot;|&quot;,array_merge(array_keys(driver()-&gt;types()),$ra)).&quot;)\\b(?:\\s*\\(((?:[^'\&quot;)]|$zc)++)\\))?&quot;.&quot;\\s*(zerofill\\s*)?(unsigned(?:\\s+zerofill)?)?)(?:\\s*(?:CHARSET|CHARACTER\\s+SET)\\s*['\&quot;]?([^'\&quot;\\s,]+)['\&quot;]?)?(?:\\s*COLLATE\\s*['\&quot;]?[^'\&quot;\\s,]+['\&quot;]?)?&quot;;$Gg=&quot;$gi*(&quot;.($U==&quot;FUNCTION&quot;?&quot;&quot;:driver()-&gt;inout).&quot;)?\\s*(?:`((?:[^`]|``)*)`\\s*|\\b(\\S+)\\s+)$mj&quot;;$h=get_val(&quot;SHOW CREATE $U &quot;.idf_escape($B),2);preg_match(&quot;~\\(((?:$Gg\\s*,?)*)\\)\\s*&quot;.($U==&quot;FUNCTION&quot;?&quot;RETURNS\\s+$mj\\s+&quot;:&quot;&quot;).&quot;(.*)~is&quot;,$h,$A);$n=array();preg_match_all(&quot;~$Gg\\s*,?~is&quot;,$A[1],$Ze,PREG_SET_ORDER);foreach($Ze</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$ug)$n[]=array(&quot;field&quot;=&gt;str_replace(&quot;``&quot;,&quot;`&quot;,$ug[2]).$ug[3],&quot;type&quot;=&gt;strtolower($ug[5]),&quot;length&quot;=&gt;preg_replace_callback(&quot;~$zc~s&quot;,'Adminer\normalize_enum',$ug[6]),&quot;unsigned&quot;=&gt;strtolower(preg_replace('~\s+~',' ',trim(&quot;$ug[8] $ug[7]&quot;))),&quot;null&quot;=&gt;true,&quot;full_type&quot;=&gt;$ug[4],&quot;inout&quot;=&gt;strtoupper($ug[1]),&quot;collation&quot;=&gt;strtolower($ug[9]),);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(&quot;fields&quot;=&gt;$n,&quot;comment&quot;=&gt;get_val(&quot;SELECT ROUTINE_COMMENT FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = DATABASE() AND ROUTINE_NAME = &quot;.q($B)),)+($U!=&quot;FUNCTION&quot;?array(&quot;definition&quot;=&gt;$A[11]):array(&quot;returns&quot;=&gt;array(&quot;type&quot;=&gt;$A[12],&quot;length&quot;=&gt;$A[13],&quot;unsigned&quot;=&gt;$A[15],&quot;collation&quot;=&gt;$A[16]),&quot;definition&quot;=&gt;$A[17],&quot;language&quot;=&gt;&quot;SQL&quot;,));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">routines(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows(&quot;SELECT SPECIFIC_NAME, ROUTINE_NAME, ROUTINE_TYPE, DTD_IDENTIFIER FROM information_schema.ROUTINES WHERE ROUTINE_SCHEMA = DATABASE()&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">routine_languages(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">routine_id($B,array$K){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">idf_escape($B);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">last_id($I){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT LAST_INSERT_ID()&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">explain(Db$f,$H){return$f-&gt;query(&quot;EXPLAIN &quot;.(min_version(5.1)&amp;&amp;!min_version(5.7)?&quot;PARTITIONS &quot;:&quot;&quot;).$H);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">found_rows(array$S,array$Z){return($Z||$S[&quot;Engine&quot;]!=&quot;InnoDB&quot;?null:$S[&quot;Rows&quot;]);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_sql($R,$_a,$si){$J=get_val(&quot;SHOW CREATE TABLE &quot;.table($R),1);if(!$_a)$J=preg_replace('~ AUTO_INCREMENT=\d+~','',$J);return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">truncate_sql($R){return&quot;TRUNCATE &quot;.table($R);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">use_sql($Nb,$si=&quot;&quot;){$B=idf_escape($Nb);$J=&quot;&quot;;if(preg_match('~CREATE~',$si)&amp;&amp;($h=get_val(&quot;SHOW CREATE DATABASE $B&quot;,1))){set_utf8mb4($h);if($si==&quot;DROP+CREATE&quot;)$J=&quot;DROP DATABASE IF EXISTS $B;\n&quot;;$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;$h;\n&quot;;}return$J.&quot;USE $B&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">trigger_sql($R){$J=&quot;&quot;;foreach(get_rows(&quot;SHOW TRIGGERS LIKE &quot;.q(addcslashes($R,&quot;%_\\&quot;)),null,&quot;-- &quot;)as$K)$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;\nCREATE TRIGGER &quot;.idf_escape($K[&quot;Trigger&quot;]).&quot; $K[Timing] $K[Event] ON &quot;.table($K[&quot;Table&quot;]).&quot; FOR EACH ROW\n$K[Statement];;\n&quot;;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">show_variables(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows(&quot;SHOW VARIABLES&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">show_status(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows(&quot;SHOW STATUS&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">process_list(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_rows(&quot;SHOW FULL PROCESSLIST&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">convert_field(array$m){if(preg_match(&quot;~binary~&quot;,$m[&quot;type&quot;]))return&quot;HEX(&quot;.idf_escape($m[&quot;field&quot;]).&quot;)&quot;;if($m[&quot;type&quot;]==&quot;bit&quot;)return&quot;BIN(&quot;.idf_escape($m[&quot;field&quot;]).&quot; + 0)&quot;;if(preg_match(&quot;~geometry|point|linestring|polygon~&quot;,$m[&quot;type&quot;]))return(min_version(8)?&quot;ST_&quot;:&quot;&quot;).&quot;AsWKT(&quot;.idf_escape($m[&quot;field&quot;]).&quot;)&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unconvert_field(array$m,$J){if(preg_match(&quot;~binary~&quot;,$m[&quot;type&quot;]))$J=&quot;UNHEX($J)&quot;;if($m[&quot;type&quot;]==&quot;bit&quot;)$J=&quot;CONVERT(b$J, UNSIGNED)&quot;;if(preg_match(&quot;~geometry|point|linestring|polygon~&quot;,$m[&quot;type&quot;])){$Sg=(min_version(8)?&quot;ST_&quot;:&quot;&quot;);$J=$Sg.&quot;GeomFromText($J, $Sg&quot;.&quot;SRID($m[field]))&quot;;}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">support($Uc){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_match('~^(comment|columns|copy|database|drop_col|dump|indexes|kill|privileges|move_col|procedure|processlist|routine|sql|status|table|trigger|variables|view'.(min_version(5.1)?'|event':'').(min_version(8)?'|descidx':'').(min_version('8.0.16','10.2.1')?'|check':'').')$~',$Uc);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">kill_process($t){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;KILL &quot;.number($t));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">connection_id(){return&quot;SELECT CONNECTION_ID()&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">max_connections(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_val(&quot;SELECT @@max_connections&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">types(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">type_values($t){return&quot;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">schemas(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_schema(){return&quot;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_schema($Fh,$g=null){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}}define('Adminer\JUSH',Driver::$jush);define('Adminer\SERVER',&quot;&quot;.$_GET[DRIVER]);define('Adminer\DB',&quot;$_GET[db]&quot;);define('Adminer\ME',preg_replace('~\?.*~','',relative_uri()).'?'.(sid()?SID.'&amp;':'').(SERVER!==null?DRIVER.&quot;=&quot;.urlencode(SERVER).'&amp;':'').($_GET[&quot;ext&quot;]?&quot;ext=&quot;.urlencode($_GET[&quot;ext&quot;]).'&amp;':'').(isset($_GET[&quot;username&quot;])?&quot;username=&quot;.urlencode($_GET[&quot;username&quot;]).'&amp;':'').(DB!=&quot;&quot;?'db='.urlencode(DB).'&amp;'.(isset($_GET[&quot;ns&quot;])?&quot;ns=&quot;.urlencode($_GET[&quot;ns&quot;]).&quot;&amp;&quot;:&quot;&quot;):''));function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">page_header($Si,$l=&quot;&quot;,$Ma=array(),$Ti=&quot;&quot;){page_headers();if(is_ajax()&amp;&amp;$l){page_messages($l);exit;}if(!ob_get_level())ob_start('ob_gzhandler',4096);$Ui=$Si.($Ti!=&quot;&quot;?&quot;: $Ti&quot;:&quot;&quot;);$Vi=strip_tags($Ui.(SERVER!=&quot;&quot;&amp;&amp;SERVER!=&quot;localhost&quot;?h(&quot; - &quot;.SERVER):&quot;&quot;).&quot; - &quot;.adminer()-&gt;name());echo'&lt;!DOCTYPE html&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;html lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;meta name=&quot;robots&quot; content=&quot;noindex&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width,initial-scale=1&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;title&gt;',$Vi,'&lt;/title&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;link rel=&quot;stylesheet&quot; href=&quot;',h(preg_replace(&quot;~\\?.*~&quot;,&quot;&quot;,ME).&quot;?file=default.css&amp;version=5.4.1&quot;),'&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';$Hb=adminer()-&gt;css();if(is_int(key($Hb)))$Hb=array_fill_keys($Hb,'light');$Ed=in_array('light',$Hb)||in_array('',$Hb);$Cd=in_array('dark',$Hb)||in_array('',$Hb);$Kb=($Ed?($Cd?null:false):($Cd?:null));$jf=&quot; media='(prefers-color-scheme: dark)'&quot;;if($Kb!==false)echo&quot;&lt;link rel='stylesheet'&quot;.($Kb?&quot;&quot;:$jf).&quot; href='&quot;.h(preg_replace(&quot;~\\?.*~&quot;,&quot;&quot;,ME).&quot;?file=dark.css&amp;version=5.4.1&quot;).&quot;'&gt;\n&quot;;echo&quot;&lt;meta name='color-scheme' content='&quot;.($Kb===null?&quot;light dark&quot;:($Kb?&quot;dark&quot;:&quot;light&quot;)).&quot;'&gt;\n&quot;,script_src(preg_replace(&quot;~\\?.*~&quot;,&quot;&quot;,ME).&quot;?file=functions.js&amp;version=5.4.1&quot;);if(adminer()-&gt;head($Kb))echo&quot;&lt;link rel='icon' href='data:image/gif;base64,R0lGODlhEAAQAJEAAAQCBPz+/PwCBAROZCH5BAEAAAAALAAAAAAQABAAAAI2hI+pGO1rmghihiUdvUBnZ3XBQA7f05mOak1RWXrNq5nQWHMKvuoJ37BhVEEfYxQzHjWQ5qIAADs='&gt;\n&quot;,&quot;&lt;link rel='apple-touch-icon' href='&quot;.h(preg_replace(&quot;~\\?.*~&quot;,&quot;&quot;,ME).&quot;?file=logo.png&amp;version=5.4.1&quot;).&quot;'&gt;\n&quot;;foreach($Hb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$_j=&gt;$tf){$ya=($tf=='dark'&amp;&amp;!$Kb?$jf:($tf=='light'&amp;&amp;$Cd?&quot; media='(prefers-color-scheme: light)'&quot;:&quot;&quot;));echo&quot;&lt;link rel='stylesheet'$ya href='&quot;.h($_j).&quot;'&gt;\n&quot;;}echo&quot;\n&lt;body class='&quot;.'ltr'.&quot; nojs&quot;;adminer()-&gt;bodyClass();echo&quot;'&gt;\n&quot;;$o=get_temp_dir().&quot;/adminer.version&quot;;if(!$_COOKIE[&quot;adminer_version&quot;]&amp;&amp;function_exists('openssl_verify')&amp;&amp;file_exists($o)&amp;&amp;filemtime($o)+86400&gt;time()){$Lj=unserialize(file_get_contents($o));$ch=&quot;-----BEGIN PUBLIC KEY-----</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwqWOVuF5uw7/+Z70djoK</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">RlHIZFZPO0uYRezq90+7Amk+FDNd7KkL5eDve+vHRJBLAszF/7XKXe11xwliIsFs</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">DFWQlsABVZB3oisKCBEuI71J4kPH8dKGEWR9jDHFw3cWmoH3PmqImX6FISWbG3B8</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h7FIx3jEaw5ckVPVTeo5JRm/1DZzJxjyDenXvBQ/6o9DgZKeNDgxwKzH+sw9/YCO</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">jHnq1cFpOIISzARlrHMa/43YfeNRAm/tsBXjSxembBPo7aQZLAWHmaj5+K19H10B</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">nCpz9Y++cipkVEiKRGih4ZEvjoFysEOdRLj6WiD/uUNky4xGeA6LaJqh5XpkFkcQ</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">fQIDAQAB</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">-----END PUBLIC KEY-----</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&quot;;if(openssl_verify($Lj[&quot;version&quot;],base64_decode($Lj[&quot;signature&quot;]),$ch)==1)$_COOKIE[&quot;adminer_version&quot;]=$Lj[&quot;version&quot;];}echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script(&quot;mixin(document.body, {onkeydown: bodyKeydown, onclick: bodyClick&quot;.(isset($_COOKIE[&quot;adminer_version&quot;])?&quot;&quot;:&quot;, onload: partial(verifyVersion, '&quot;.VERSION.&quot;', '&quot;.js_escape(ME).&quot;', '&quot;.get_token().&quot;')&quot;).&quot;});</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">document.body.classList.replace('nojs', 'js');</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">const offlineMessage = '&quot;.js_escape('You are offline.').&quot;';</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">const thousandsSeparator = '&quot;.js_escape(',').&quot;';&quot;),&quot;&lt;div id='help' class='jush-&quot;.JUSH.&quot; jsonly hidden'&gt;&lt;/div&gt;\n&quot;,script(&quot;mixin(qs('#help'), {onmouseover: () =&gt; { helpOpen = 1; }, onmouseout: helpMouseout});&quot;),&quot;&lt;div id='content'&gt;\n&quot;,&quot;&lt;span id='menuopen' class='jsonly'&gt;&quot;.icon(&quot;move&quot;,&quot;&quot;,&quot;menu&quot;,&quot;&quot;).&quot;&lt;/span&gt;&quot;.script(&quot;qs('#menuopen').onclick = event =&gt; { qs('#foot').classList.toggle('foot'); event.stopPropagation(); }&quot;);if($Ma!==null){$_=substr(preg_replace('~\b(username|db|ns)=[^&amp;]*&amp;~','',ME),0,-1);echo'&lt;p id=&quot;breadcrumb&quot;&gt;&lt;a href=&quot;'.h($_?:&quot;.&quot;).'&quot;&gt;'.get_driver(DRIVER).'&lt;/a&gt; Â» ';$_=substr(preg_replace('~\b(db|ns)=[^&amp;]*&amp;~','',ME),0,-1);$N=adminer()-&gt;serverName(SERVER);$N=($N!=&quot;&quot;?$N:'Server');if($Ma===false)echo&quot;$N\n&quot;;else{echo&quot;&lt;a href='&quot;.h($_).&quot;' accesskey='1' title='Alt+Shift+1'&gt;$N&lt;/a&gt; Â» &quot;;if($_GET[&quot;ns&quot;]!=&quot;&quot;||(DB!=&quot;&quot;&amp;&amp;is_array($Ma)))echo'&lt;a href=&quot;'.h($_.&quot;&amp;db=&quot;.urlencode(DB).(support(&quot;scheme&quot;)?&quot;&amp;ns=&quot;:&quot;&quot;)).'&quot;&gt;'.h(DB).'&lt;/a&gt; Â» ';if(is_array($Ma)){if($_GET[&quot;ns&quot;]!=&quot;&quot;)echo'&lt;a href=&quot;'.h(substr(ME,0,-1)).'&quot;&gt;'.h($_GET[&quot;ns&quot;]).'&lt;/a&gt; Â» ';foreach($Ma</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$Yb=(is_array($X)?$X[1]:h($X));if($Yb!=&quot;&quot;)echo&quot;&lt;a href='&quot;.h(ME.&quot;$x=&quot;).urlencode(is_array($X)?$X[0]:$X).&quot;'&gt;$Yb&lt;/a&gt; Â» &quot;;}}echo&quot;$Si\n&quot;;}}echo&quot;&lt;h2&gt;$Ui&lt;/h2&gt;\n&quot;,&quot;&lt;div id='ajaxstatus' class='jsonly hidden'&gt;&lt;/div&gt;\n&quot;;restart_session();page_messages($l);$i=&amp;get_session(&quot;dbs&quot;);if(DB!=&quot;&quot;&amp;&amp;$i&amp;&amp;!in_array(DB,$i,true))$i=null;stop_session();define('Adminer\PAGE_HEADER',1);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">page_headers(){header(&quot;Content-Type: text/html; charset=utf-8&quot;);header(&quot;Cache-Control: no-cache&quot;);header(&quot;X-Frame-Options: deny&quot;);header(&quot;X-XSS-Protection: 0&quot;);header(&quot;X-Content-Type-Options: nosniff&quot;);header(&quot;Referrer-Policy: origin-when-cross-origin&quot;);foreach(adminer()-&gt;csp(csp())as$Gb){$Gd=array();foreach($Gb</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)$Gd[]=&quot;$x $X&quot;;header(&quot;Content-Security-Policy: &quot;.implode(&quot;; &quot;,$Gd));}adminer()-&gt;headers();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">csp(){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(array(&quot;script-src&quot;=&gt;&quot;'self' 'unsafe-inline' 'nonce-&quot;.get_nonce().&quot;' 'strict-dynamic'&quot;,&quot;connect-src&quot;=&gt;&quot;'self'&quot;,&quot;frame-src&quot;=&gt;&quot;https://www.adminer.org&quot;,&quot;object-src&quot;=&gt;&quot;'none'&quot;,&quot;base-uri&quot;=&gt;&quot;'none'&quot;,&quot;form-action&quot;=&gt;&quot;'self'&quot;,),);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">get_nonce(){static$Ff;if(!$Ff)$Ff=base64_encode(rand_string());return$Ff;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">page_messages($l){$zj=preg_replace('~^[^?]*~','',$_SERVER[&quot;REQUEST_URI&quot;]);$pf=idx($_SESSION[&quot;messages&quot;],$zj);if($pf){echo&quot;&lt;div class='message'&gt;&quot;.implode(&quot;&lt;/div&gt;\n&lt;div class='message'&gt;&quot;,$pf).&quot;&lt;/div&gt;&quot;.script(&quot;messagesPrint();&quot;);unset($_SESSION[&quot;messages&quot;][$zj]);}if($l)echo&quot;&lt;div class='error'&gt;$l&lt;/div&gt;\n&quot;;if(adminer()-&gt;error)echo&quot;&lt;div class='error'&gt;&quot;.adminer()-&gt;error.&quot;&lt;/div&gt;\n&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">page_footer($sf=&quot;&quot;){echo&quot;&lt;/div&gt;\n\n&lt;div id='foot' class='foot'&gt;\n&lt;div id='menu'&gt;\n&quot;;adminer()-&gt;navigation($sf);echo&quot;&lt;/div&gt;\n&quot;;if($sf!=&quot;auth&quot;)echo'&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p class=&quot;logout&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;span&gt;',h($_GET[&quot;username&quot;]).&quot;\n&quot;,'&lt;/span&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; name=&quot;logout&quot; value=&quot;Logout&quot; id=&quot;logout&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';echo&quot;&lt;/div&gt;\n\n&quot;,script(&quot;setupSubmitHighlight(document);&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">int32($yf){while($yf&gt;=2147483648)$yf-=4294967296;while($yf&lt;=-2147483649)$yf+=4294967296;return(int)$yf;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">long2str(array$W,$Pj){$Dh='';foreach($W</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X)$Dh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=pack('V',$X);if($Pj)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">substr($Dh,0,end($W));return$Dh;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">str2long($Dh,$Pj){$W=array_values(unpack('V*',str_pad($Dh,4*ceil(strlen($Dh)/4),&quot;\0&quot;)));if($Pj)$W[]=strlen($Dh);return$W;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">xxtea_mx($Wj,$Vj,$vi,$Ae){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">int32((($Wj&gt;&gt;5&amp;0x7FFFFFF)^$Vj&lt;&lt;2)+(($Vj&gt;&gt;3&amp;0x1FFFFFFF)^$Wj&lt;&lt;4))^int32(($vi^$Vj)+($Ae^$Wj));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">encrypt_string($qi,$x){if($qi==&quot;&quot;)return&quot;&quot;;$x=array_values(unpack(&quot;V*&quot;,pack(&quot;H*&quot;,md5($x))));$W=str2long($qi,true);$yf=count($W)-1;$Wj=$W[$yf];$Vj=$W[0];$dh=floor(6+52/($yf+1));$vi=0;while($dh--&gt;0){$vi=int32($vi+0x9E3779B9);$oc=$vi&gt;&gt;2&amp;3;for($sg=0;$sg&lt;$yf;$sg++){$Vj=$W[$sg+1];$xf=xxtea_mx($Wj,$Vj,$vi,$x[$sg&amp;3^$oc]);$Wj=int32($W[$sg]+$xf);$W[$sg]=$Wj;}$Vj=$W[0];$xf=xxtea_mx($Wj,$Vj,$vi,$x[$sg&amp;3^$oc]);$Wj=int32($W[$yf]+$xf);$W[$yf]=$Wj;}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">long2str($W,false);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">decrypt_string($qi,$x){if($qi==&quot;&quot;)return&quot;&quot;;if(!$x)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;$x=array_values(unpack(&quot;V*&quot;,pack(&quot;H*&quot;,md5($x))));$W=str2long($qi,false);$yf=count($W)-1;$Wj=$W[$yf];$Vj=$W[0];$dh=floor(6+52/($yf+1));$vi=int32($dh*0x9E3779B9);while($vi){$oc=$vi&gt;&gt;2&amp;3;for($sg=$yf;$sg&gt;0;$sg--){$Wj=$W[$sg-1];$xf=xxtea_mx($Wj,$Vj,$vi,$x[$sg&amp;3^$oc]);$Vj=int32($W[$sg]-$xf);$W[$sg]=$Vj;}$Wj=$W[$yf];$xf=xxtea_mx($Wj,$Vj,$vi,$x[$sg&amp;3^$oc]);$Vj=int32($W[0]-$xf);$W[0]=$Vj;$vi=int32($vi-0x9E3779B9);}return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">long2str($W,true);}$Ig=array();if($_COOKIE[&quot;adminer_permanent&quot;]){foreach(explode(&quot; &quot;,$_COOKIE[&quot;adminer_permanent&quot;])as$X){list($x)=explode(&quot;:&quot;,$X);$Ig[$x]=$X;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">add_invalid_login(){$Fa=get_temp_dir().&quot;/adminer.invalid&quot;;foreach(glob(&quot;$Fa*&quot;)?:array($Fa)as$o){$q=file_open_lock($o);if($q)break;}if(!$q)$q=file_open_lock(&quot;$Fa-&quot;.rand_string());if(!$q)return;$se=unserialize(stream_get_contents($q));$Pi=time();if($se){foreach($se</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$te=&gt;$X){if($X[0]&lt;$Pi)unset($se[$te]);}}$re=&amp;$se[adminer()-&gt;bruteForceKey()];if(!$re)$re=array($Pi+30*60,0);$re[1]++;file_write_unlock($q,serialize($se));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">check_invalid_login(array&amp;$Ig){$se=array();foreach(glob(get_temp_dir().&quot;/adminer.invalid*&quot;)as$o){$q=file_open_lock($o);if($q){$se=unserialize(stream_get_contents($q));file_unlock($q);break;}}$re=idx($se,adminer()-&gt;bruteForceKey(),array());$Ef=($re[1]&gt;29?$re[0]-time():0);if($Ef&gt;0)auth_error(lang_format(array('Too many unsuccessful logins, try again in %d minute.','Too many unsuccessful logins, try again in %d minutes.'),ceil($Ef/60)),$Ig);}$za=$_POST[&quot;auth&quot;];if($za){session_regenerate_id();$Kj=$za[&quot;driver&quot;];$N=$za[&quot;server&quot;];$V=$za[&quot;username&quot;];$F=(string)$za[&quot;password&quot;];$j=$za[&quot;db&quot;];set_password($Kj,$N,$V,$F);$_SESSION[&quot;db&quot;][$Kj][$N][$V][$j]=true;if($za[&quot;permanent&quot;]){$x=implode(&quot;-&quot;,array_map('base64_encode',array($Kj,$N,$V,$j)));$Xg=adminer()-&gt;permanentLogin(true);$Ig[$x]=&quot;$x:&quot;.base64_encode($Xg?encrypt_string($F,$Xg):&quot;&quot;);cookie(&quot;adminer_permanent&quot;,implode(&quot; &quot;,$Ig));}if(count($_POST)==1||DRIVER!=$Kj||SERVER!=$N||$_GET[&quot;username&quot;]!==$V||DB!=$j)redirect(auth_url($Kj,$N,$V,$j));}elseif($_POST[&quot;logout&quot;]&amp;&amp;(!$_SESSION[&quot;token&quot;]||verify_token())){foreach(array(&quot;pwds&quot;,&quot;db&quot;,&quot;dbs&quot;,&quot;queries&quot;)as$x)set_session($x,null);unset_permanent($Ig);redirect(substr(preg_replace('~\b(username|db|ns)=[^&amp;]*&amp;~','',ME),0,-1),'Logout successful.'.' '.'Thanks for using Adminer, consider &lt;a href=&quot;https://www.adminer.org/en/donation/&quot;&gt;donating&lt;/a&gt;.');}elseif($Ig&amp;&amp;!$_SESSION[&quot;pwds&quot;]){session_regenerate_id();$Xg=adminer()-&gt;permanentLogin();foreach($Ig</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){list(,$cb)=explode(&quot;:&quot;,$X);list($Kj,$N,$V,$j)=array_map('base64_decode',explode(&quot;-&quot;,$x));set_password($Kj,$N,$V,decrypt_string(base64_decode($cb),$Xg));$_SESSION[&quot;db&quot;][$Kj][$N][$V][$j]=true;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">unset_permanent(array&amp;$Ig){foreach($Ig</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){list($Kj,$N,$V,$j)=array_map('base64_decode',explode(&quot;-&quot;,$x));if($Kj==DRIVER&amp;&amp;$N==SERVER&amp;&amp;$V==$_GET[&quot;username&quot;]&amp;&amp;$j==DB)unset($Ig[$x]);}cookie(&quot;adminer_permanent&quot;,implode(&quot; &quot;,$Ig));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">auth_error($l,array&amp;$Ig){$Xh=session_name();if(isset($_GET[&quot;username&quot;])){header(&quot;HTTP/1.1 403 Forbidden&quot;);if(($_COOKIE[$Xh]||$_GET[$Xh])&amp;&amp;!$_SESSION[&quot;token&quot;])$l='Session expired, please login again.';else{restart_session();add_invalid_login();$F=get_password();if($F!==null){if($F===false)$l</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=($l?'&lt;br&gt;':'').sprintf('Master password expired. &lt;a href=&quot;https://www.adminer.org/en/extension/&quot;%s&gt;Implement&lt;/a&gt; %s method to make it permanent.',target_blank(),'&lt;code&gt;permanentLogin()&lt;/code&gt;');set_password(DRIVER,SERVER,$_GET[&quot;username&quot;],null);}unset_permanent($Ig);}}if(!$_COOKIE[$Xh]&amp;&amp;$_GET[$Xh]&amp;&amp;ini_bool(&quot;session.use_only_cookies&quot;))$l='Session support must be enabled.';$vg=session_get_cookie_params();cookie(&quot;adminer_key&quot;,($_COOKIE[&quot;adminer_key&quot;]?:rand_string()),$vg[&quot;lifetime&quot;]);if(!$_SESSION[&quot;token&quot;])$_SESSION[&quot;token&quot;]=rand(1,1e6);page_header('Login',$l,null);echo&quot;&lt;form action='' method='post'&gt;\n&quot;,&quot;&lt;div&gt;&quot;;if(hidden_fields($_POST,array(&quot;auth&quot;)))echo&quot;&lt;p class='message'&gt;&quot;.'The action will be performed after successful login with the same credentials.'.&quot;\n&quot;;echo&quot;&lt;/div&gt;\n&quot;;adminer()-&gt;loginForm();echo&quot;&lt;/form&gt;\n&quot;;page_footer(&quot;auth&quot;);exit;}if(isset($_GET[&quot;username&quot;])&amp;&amp;!class_exists('Adminer\Db')){unset($_SESSION[&quot;pwds&quot;][DRIVER]);unset_permanent($Ig);page_header('No extension',sprintf('None of the supported PHP extensions (%s) are available.',implode(&quot;, &quot;,Driver::$extensions)),false);page_footer(&quot;auth&quot;);exit;}$f='';if(isset($_GET[&quot;username&quot;])&amp;&amp;is_string(get_password())){list(,$Mg)=host_port(SERVER);if(preg_match('~^\s*([-+]?\d+)~',$Mg,$A)&amp;&amp;($A[1]&lt;1024||$A[1]&gt;65535))auth_error('Connecting to privileged ports is not allowed.',$Ig);check_invalid_login($Ig);$Fb=adminer()-&gt;credentials();$f=Driver::connect($Fb[0],$Fb[1],$Fb[2]);if(is_object($f)){Db::$instance=$f;Driver::$instance=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">Driver($f);if($f-&gt;flavor)save_settings(array(&quot;vendor-&quot;.DRIVER.&quot;-&quot;.SERVER=&gt;get_driver(DRIVER)));}}$Te=null;if(!is_object($f)||($Te=adminer()-&gt;login($_GET[&quot;username&quot;],get_password()))!==true){$l=(is_string($f)?nl_br(h($f)):(is_string($Te)?$Te:'Invalid credentials.')).(preg_match('~^ | $~',get_password())?'&lt;br&gt;'.'There is a space in the input password which might be the cause.':'');auth_error($l,$Ig);}if($_POST[&quot;logout&quot;]&amp;&amp;$_SESSION[&quot;token&quot;]&amp;&amp;!verify_token()){page_header('Logout','Invalid CSRF token. Send the form again.');page_footer(&quot;db&quot;);exit;}if(!$_SESSION[&quot;token&quot;])$_SESSION[&quot;token&quot;]=rand(1,1e6);stop_session(true);if($za&amp;&amp;$_POST[&quot;token&quot;])$_POST[&quot;token&quot;]=get_token();$l='';if($_POST){if(!verify_token()){$ke=&quot;max_input_vars&quot;;$hf=ini_get($ke);if(extension_loaded(&quot;suhosin&quot;)){foreach(array(&quot;suhosin.request.max_vars&quot;,&quot;suhosin.post.max_vars&quot;)as$x){$X=ini_get($x);if($X&amp;&amp;(!$hf||$X&lt;$hf)){$ke=$x;$hf=$X;}}}$l=(!$_POST[&quot;token&quot;]&amp;&amp;$hf?sprintf('Maximum number of allowed fields exceeded. Please increase %s.',&quot;'$ke'&quot;):'Invalid CSRF token. Send the form again.'.' '.'If you did not send this request from Adminer then close this page.');}}elseif($_SERVER[&quot;REQUEST_METHOD&quot;]==&quot;POST&quot;){$l=sprintf('Too big POST data. Reduce the data or increase the %s configuration directive.',&quot;'post_max_size'&quot;);if(isset($_GET[&quot;sql&quot;]))$l</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=' '.'You can upload a big SQL file via FTP and import it from server.';}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">print_select_result($I,$g=null,array$hg=array(),$z=0){$Re=array();$w=array();$e=array();$Ka=array();$nj=array();$J=array();for($s=0;(!$z||$s&lt;$z)&amp;&amp;($K=$I-&gt;fetch_row());$s++){if(!$s){echo&quot;&lt;div class='scrollable'&gt;\n&quot;,&quot;&lt;table class='nowrap odds'&gt;\n&quot;,&quot;&lt;thead&gt;&lt;tr&gt;&quot;;for($ze=0;$ze&lt;count($K);$ze++){$m=$I-&gt;fetch_field();$B=$m-&gt;name;$gg=(isset($m-&gt;orgtable)?$m-&gt;orgtable:&quot;&quot;);$fg=(isset($m-&gt;orgname)?$m-&gt;orgname:$B);if($hg&amp;&amp;JUSH==&quot;sql&quot;)$Re[$ze]=($B==&quot;table&quot;?&quot;table=&quot;:($B==&quot;possible_keys&quot;?&quot;indexes=&quot;:null));elseif($gg!=&quot;&quot;){if(isset($m-&gt;table))$J[$m-&gt;table]=$gg;if(!isset($w[$gg])){$w[$gg]=array();foreach(indexes($gg,$g)as$v){if($v[&quot;type&quot;]==&quot;PRIMARY&quot;){$w[$gg]=array_flip($v[&quot;columns&quot;]);break;}}$e[$gg]=$w[$gg];}if(isset($e[$gg][$fg])){unset($e[$gg][$fg]);$w[$gg][$fg]=$ze;$Re[$ze]=$gg;}}if($m-&gt;charsetnr==63)$Ka[$ze]=true;$nj[$ze]=$m-&gt;type;echo&quot;&lt;th&quot;.($gg!=&quot;&quot;||$m-&gt;name!=$fg?&quot; title='&quot;.h(($gg!=&quot;&quot;?&quot;$gg.&quot;:&quot;&quot;).$fg).&quot;'&quot;:&quot;&quot;).&quot;&gt;&quot;.h($B).($hg?doc_link(array('sql'=&gt;&quot;explain-output.html#explain_&quot;.strtolower($B),'mariadb'=&gt;&quot;explain/#the-columns-in-explain-select&quot;,)):&quot;&quot;);}echo&quot;&lt;/thead&gt;\n&quot;;}echo&quot;&lt;tr&gt;&quot;;foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$_=&quot;&quot;;if(isset($Re[$x])&amp;&amp;!$e[$Re[$x]]){if($hg&amp;&amp;JUSH==&quot;sql&quot;){$R=$K[array_search(&quot;table=&quot;,$Re)];$_=ME.$Re[$x].urlencode($hg[$R]!=&quot;&quot;?$hg[$R]:$R);}else{$_=ME.&quot;edit=&quot;.urlencode($Re[$x]);foreach($w[$Re[$x]]as$hb=&gt;$ze){if($K[$ze]===null){$_=&quot;&quot;;break;}$_</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;&amp;where&quot;.urlencode(&quot;[&quot;.bracket_escape($hb).&quot;]&quot;).&quot;=&quot;.urlencode($K[$ze]);}}}elseif(is_url($X))$_=$X;if($X===null)$X=&quot;&lt;i&gt;NULL&lt;/i&gt;&quot;;elseif($Ka[$x]&amp;&amp;!is_utf8($X))$X=&quot;&lt;i&gt;&quot;.lang_format(array('%d byte','%d bytes'),strlen($X)).&quot;&lt;/i&gt;&quot;;else{$X=h($X);if($nj[$x]==254)$X=&quot;&lt;code&gt;$X&lt;/code&gt;&quot;;}if($_)$X=&quot;&lt;a href='&quot;.h($_).&quot;'&quot;.(is_url($_)?target_blank():'').&quot;&gt;$X&lt;/a&gt;&quot;;echo&quot;&lt;td&quot;.($nj[$x]&lt;=9||$nj[$x]==246?&quot; class='number'&quot;:&quot;&quot;).&quot;&gt;$X&quot;;}}echo($s?&quot;&lt;/table&gt;\n&lt;/div&gt;&quot;:&quot;&lt;p class='message'&gt;&quot;.'No rows.').&quot;\n&quot;;return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">referencable_primary($Ph){$J=array();foreach(table_status('',true)as$_i=&gt;$R){if($_i!=$Ph&amp;&amp;fk_support($R)){foreach(fields($_i)as$m){if($m[&quot;primary&quot;]){if($J[$_i]){unset($J[$_i]);break;}$J[$_i]=$m;}}}}return$J;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">textarea($B,$Y,$L=10,$kb=80){echo&quot;&lt;textarea name='&quot;.h($B).&quot;' rows='$L' cols='$kb' class='sqlarea jush-&quot;.JUSH.&quot;' spellcheck='false' wrap='off'&gt;&quot;;if(is_array($Y)){foreach($Y</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h($X[0]).&quot;\n\n\n&quot;;}else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">h($Y);echo&quot;&lt;/textarea&gt;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_input($ya,array$bg,$Y=&quot;&quot;,$Vf=&quot;&quot;,$Jg=&quot;&quot;){$Hi=($bg?&quot;select&quot;:&quot;input&quot;);return&quot;&lt;$Hi$ya&quot;.($bg?&quot;&gt;&lt;option value=''&gt;$Jg&quot;.optionlist($bg,$Y,true).&quot;&lt;/select&gt;&quot;:&quot; size='10' value='&quot;.h($Y).&quot;' placeholder='$Jg'&gt;&quot;).($Vf?script(&quot;qsl('$Hi').onchange = $Vf;&quot;,&quot;&quot;):&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">json_row($x,$X=null,$Fc=true){static$bd=true;if($bd)echo&quot;{&quot;;if($x!=&quot;&quot;){echo($bd?&quot;&quot;:&quot;,&quot;).&quot;\n\t\&quot;&quot;.addcslashes($x,&quot;\r\n\t\&quot;\\/&quot;).'&quot;: '.($X!==null?($Fc?'&quot;'.addcslashes($X,&quot;\r\n\&quot;\\/&quot;).'&quot;':$X):'null');$bd=false;}else{echo&quot;\n}\n&quot;;$bd=true;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">edit_type($x,array$m,array$jb,array$ld=array(),array$Rc=array()){$U=$m[&quot;type&quot;];echo&quot;&lt;td&gt;&lt;select name='&quot;.h($x).&quot;[type]' class='type' aria-labelledby='label-type'&gt;&quot;;if($U&amp;&amp;!array_key_exists($U,driver()-&gt;types())&amp;&amp;!isset($ld[$U])&amp;&amp;!in_array($U,$Rc))$Rc[]=$U;$ri=driver()-&gt;structuredTypes();if($ld)$ri['Foreign keys']=$ld;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">optionlist(array_merge($Rc,$ri),$U),&quot;&lt;/select&gt;&lt;td&gt;&quot;,&quot;&lt;input name='&quot;.h($x).&quot;[length]' value='&quot;.h($m[&quot;length&quot;]).&quot;' size='3'&quot;.(!$m[&quot;length&quot;]&amp;&amp;preg_match('~var(char|binary)$~',$U)?&quot; class='required'&quot;:&quot;&quot;).&quot; aria-labelledby='label-length'&gt;&quot;,&quot;&lt;td class='options'&gt;&quot;,($jb?&quot;&lt;input list='collations' name='&quot;.h($x).&quot;[collation]'&quot;.(preg_match('~(char|text|enum|set)$~',$U)?&quot;&quot;:&quot; class='hidden'&quot;).&quot; value='&quot;.h($m[&quot;collation&quot;]).&quot;' placeholder='(&quot;.'collation'.&quot;)'&gt;&quot;:''),(driver()-&gt;unsigned?&quot;&lt;select name='&quot;.h($x).&quot;[unsigned]'&quot;.(!$U||preg_match(number_type(),$U)?&quot;&quot;:&quot; class='hidden'&quot;).'&gt;&lt;option&gt;'.optionlist(driver()-&gt;unsigned,$m[&quot;unsigned&quot;]).'&lt;/select&gt;':''),(isset($m['on_update'])?&quot;&lt;select name='&quot;.h($x).&quot;[on_update]'&quot;.(preg_match('~timestamp|datetime~',$U)?&quot;&quot;:&quot; class='hidden'&quot;).'&gt;'.optionlist(array(&quot;&quot;=&gt;&quot;(&quot;.'ON UPDATE'.&quot;)&quot;,&quot;CURRENT_TIMESTAMP&quot;),(preg_match('~^CURRENT_TIMESTAMP~i',$m[&quot;on_update&quot;])?&quot;CURRENT_TIMESTAMP&quot;:$m[&quot;on_update&quot;])).'&lt;/select&gt;':''),($ld?&quot;&lt;select name='&quot;.h($x).&quot;[on_delete]'&quot;.(preg_match(&quot;~`~&quot;,$U)?&quot;&quot;:&quot; class='hidden'&quot;).&quot;&gt;&lt;option value=''&gt;(&quot;.'ON DELETE'.&quot;)&quot;.optionlist(explode(&quot;|&quot;,driver()-&gt;onActions),$m[&quot;on_delete&quot;]).&quot;&lt;/select&gt; &quot;:&quot; &quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">process_length($y){$Ac=driver()-&gt;enumLength;return(preg_match(&quot;~^\\s*\\(?\\s*$Ac(?:\\s*,\\s*$Ac)*+\\s*\\)?\\s*\$~&quot;,$y)&amp;&amp;preg_match_all(&quot;~$Ac~&quot;,$y,$Ze)?&quot;(&quot;.implode(&quot;,&quot;,$Ze[0]).&quot;)&quot;:preg_replace('~^[0-9].*~','(\0)',preg_replace('~[^-0-9,+()[\]]~','',$y)));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">process_type(array$m,$ib=&quot;COLLATE&quot;){return&quot; $m[type]&quot;.process_length($m[&quot;length&quot;]).(preg_match(number_type(),$m[&quot;type&quot;])&amp;&amp;in_array($m[&quot;unsigned&quot;],driver()-&gt;unsigned)?&quot; $m[unsigned]&quot;:&quot;&quot;).(preg_match('~char|text|enum|set~',$m[&quot;type&quot;])&amp;&amp;$m[&quot;collation&quot;]?&quot; $ib &quot;.(JUSH==&quot;mssql&quot;?$m[&quot;collation&quot;]:q($m[&quot;collation&quot;])):&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">process_field(array$m,array$lj){if($m[&quot;on_update&quot;])$m[&quot;on_update&quot;]=str_ireplace(&quot;current_timestamp()&quot;,&quot;CURRENT_TIMESTAMP&quot;,$m[&quot;on_update&quot;]);return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">array(idf_escape(trim($m[&quot;field&quot;])),process_type($lj),($m[&quot;null&quot;]?&quot; NULL&quot;:&quot; NOT NULL&quot;),default_value($m),(preg_match('~timestamp|datetime~',$m[&quot;type&quot;])&amp;&amp;$m[&quot;on_update&quot;]?&quot; ON UPDATE $m[on_update]&quot;:&quot;&quot;),(support(&quot;comment&quot;)&amp;&amp;$m[&quot;comment&quot;]!=&quot;&quot;?&quot; COMMENT &quot;.q($m[&quot;comment&quot;]):&quot;&quot;),($m[&quot;auto_increment&quot;]?auto_increment():null),);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">default_value(array$m){$k=$m[&quot;default&quot;];$sd=$m[&quot;generated&quot;];return($k===null?&quot;&quot;:(in_array($sd,driver()-&gt;generated)?(JUSH==&quot;mssql&quot;?&quot; AS ($k)&quot;.($sd==&quot;VIRTUAL&quot;?&quot;&quot;:&quot; $sd&quot;).&quot;&quot;:&quot; GENERATED ALWAYS AS ($k) $sd&quot;):&quot; DEFAULT &quot;.(!preg_match('~^GENERATED ~i',$k)&amp;&amp;(preg_match('~char|binary|text|json|enum|set~',$m[&quot;type&quot;])||preg_match('~^(?![a-z])~i',$k))?(JUSH==&quot;sql&quot;&amp;&amp;preg_match('~text|json~',$m[&quot;type&quot;])?&quot;(&quot;.q($k).&quot;)&quot;:q($k)):str_ireplace(&quot;current_timestamp()&quot;,&quot;CURRENT_TIMESTAMP&quot;,(JUSH==&quot;sqlite&quot;?&quot;($k)&quot;:$k)))));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">type_class($U){foreach(array('char'=&gt;'text','date'=&gt;'time|year','binary'=&gt;'blob','enum'=&gt;'set',)as$x=&gt;$X){if(preg_match(&quot;~$x|$X~&quot;,$U))return&quot; class='$x'&quot;;}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">edit_fields(array$n,array$jb,$U=&quot;TABLE&quot;,array$ld=array()){$n=array_values($n);$Tb=(($_POST?$_POST[&quot;defaults&quot;]:get_setting(&quot;defaults&quot;))?&quot;&quot;:&quot; class='hidden'&quot;);$pb=(($_POST?$_POST[&quot;comments&quot;]:get_setting(&quot;comments&quot;))?&quot;&quot;:&quot; class='hidden'&quot;);echo&quot;&lt;thead&gt;&lt;tr&gt;\n&quot;,($U==&quot;PROCEDURE&quot;?&quot;&lt;td&gt;&quot;:&quot;&quot;),&quot;&lt;th id='label-name'&gt;&quot;.($U==&quot;TABLE&quot;?'Column name':'Parameter name'),&quot;&lt;td id='label-type'&gt;&quot;.'Type'.&quot;&lt;textarea id='enum-edit' rows='4' cols='12' wrap='off' style='display: none;'&gt;&lt;/textarea&gt;&quot;.script(&quot;qs('#enum-edit').onblur = editingLengthBlur;&quot;),&quot;&lt;td id='label-length'&gt;&quot;.'Length',&quot;&lt;td&gt;&quot;.'Options';if($U==&quot;TABLE&quot;)echo&quot;&lt;td id='label-null'&gt;NULL\n&quot;,&quot;&lt;td&gt;&lt;input type='radio' name='auto_increment_col' value=''&gt;&lt;abbr id='label-ai' title='&quot;.'Auto Increment'.&quot;'&gt;AI&lt;/abbr&gt;&quot;,doc_link(array('sql'=&gt;&quot;example-auto-increment.html&quot;,'mariadb'=&gt;&quot;auto_increment/&quot;,'sqlite'=&gt;&quot;autoinc.html&quot;,'pgsql'=&gt;&quot;datatype-numeric.html#DATATYPE-SERIAL&quot;,'mssql'=&gt;&quot;t-sql/statements/create-table-transact-sql-identity-property&quot;,)),&quot;&lt;td id='label-default'$Tb&gt;&quot;.'Default value',(support(&quot;comment&quot;)?&quot;&lt;td id='label-comment'$pb&gt;&quot;.'Comment':&quot;&quot;);echo&quot;&lt;td&gt;&quot;.icon(&quot;plus&quot;,&quot;add[&quot;.(support(&quot;move_col&quot;)?0:count($n)).&quot;]&quot;,&quot;+&quot;,'Add next'),&quot;&lt;/thead&gt;\n&lt;tbody&gt;\n&quot;,script(&quot;mixin(qsl('tbody'), {onclick: editingClick, onkeydown: editingKeydown, oninput: editingInput});&quot;);foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$s=&gt;$m){$s++;$ig=$m[($_POST?&quot;orig&quot;:&quot;field&quot;)];$ec=(isset($_POST[&quot;add&quot;][$s-1])||(isset($m[&quot;field&quot;])&amp;&amp;!idx($_POST[&quot;drop_col&quot;],$s)))&amp;&amp;(support(&quot;drop_col&quot;)||$ig==&quot;&quot;);echo&quot;&lt;tr&quot;.($ec?&quot;&quot;:&quot; style='display: none;'&quot;).&quot;&gt;\n&quot;,($U==&quot;PROCEDURE&quot;?&quot;&lt;td&gt;&quot;.html_select(&quot;fields[$s][inout]&quot;,explode(&quot;|&quot;,driver()-&gt;inout),$m[&quot;inout&quot;]):&quot;&quot;).&quot;&lt;th&gt;&quot;;if($ec)echo&quot;&lt;input name='fields[$s][field]' value='&quot;.h($m[&quot;field&quot;]).&quot;' data-maxlength='64' autocapitalize='off' aria-labelledby='label-name'&quot;.(isset($_POST[&quot;add&quot;][$s-1])?&quot; autofocus&quot;:&quot;&quot;).&quot;&gt;&quot;;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_hidden(&quot;fields[$s][orig]&quot;,$ig);edit_type(&quot;fields[$s]&quot;,$m,$jb,$ld);if($U==&quot;TABLE&quot;)echo&quot;&lt;td&gt;&quot;.checkbox(&quot;fields[$s][null]&quot;,1,$m[&quot;null&quot;],&quot;&quot;,&quot;&quot;,&quot;block&quot;,&quot;label-null&quot;),&quot;&lt;td&gt;&lt;label class='block'&gt;&lt;input type='radio' name='auto_increment_col' value='$s'&quot;.($m[&quot;auto_increment&quot;]?&quot; checked&quot;:&quot;&quot;).&quot; aria-labelledby='label-ai'&gt;&lt;/label&gt;&quot;,&quot;&lt;td$Tb&gt;&quot;.(driver()-&gt;generated?html_select(&quot;fields[$s][generated]&quot;,array_merge(array(&quot;&quot;,&quot;DEFAULT&quot;),driver()-&gt;generated),$m[&quot;generated&quot;]).&quot; &quot;:checkbox(&quot;fields[$s][generated]&quot;,1,$m[&quot;generated&quot;],&quot;&quot;,&quot;&quot;,&quot;&quot;,&quot;label-default&quot;)),&quot;&lt;input name='fields[$s][default]' value='&quot;.h($m[&quot;default&quot;]).&quot;' aria-labelledby='label-default'&gt;&quot;,(support(&quot;comment&quot;)?&quot;&lt;td$pb&gt;&lt;input name='fields[$s][comment]' value='&quot;.h($m[&quot;comment&quot;]).&quot;' data-maxlength='&quot;.(min_version(5.5)?1024:255).&quot;' aria-labelledby='label-comment'&gt;&quot;:&quot;&quot;);echo&quot;&lt;td&gt;&quot;,(support(&quot;move_col&quot;)?icon(&quot;plus&quot;,&quot;add[$s]&quot;,&quot;+&quot;,'Add next').&quot; &quot;.icon(&quot;up&quot;,&quot;up[$s]&quot;,&quot;â†‘&quot;,'Move up').&quot; &quot;.icon(&quot;down&quot;,&quot;down[$s]&quot;,&quot;â†“&quot;,'Move down').&quot; &quot;:&quot;&quot;),($ig==&quot;&quot;||support(&quot;drop_col&quot;)?icon(&quot;cross&quot;,&quot;drop_col[$s]&quot;,&quot;x&quot;,'Remove'):&quot;&quot;);}}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">process_fields(array&amp;$n){$C=0;if($_POST[&quot;up&quot;]){$Ie=0;foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$m){if(key($_POST[&quot;up&quot;])==$x){unset($n[$x]);array_splice($n,$Ie,0,array($m));break;}if(isset($m[&quot;field&quot;]))$Ie=$C;$C++;}}elseif($_POST[&quot;down&quot;]){$nd=false;foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$m){if(isset($m[&quot;field&quot;])&amp;&amp;$nd){unset($n[key($_POST[&quot;down&quot;])]);array_splice($n,$C,0,array($nd));break;}if(key($_POST[&quot;down&quot;])==$x)$nd=$m;$C++;}}elseif($_POST[&quot;add&quot;]){$n=array_values($n);array_splice($n,key($_POST[&quot;add&quot;]),0,array(array()));}elseif(!$_POST[&quot;drop_col&quot;])return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">false;return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">normalize_enum(array$A){$X=$A[0];return&quot;'&quot;.str_replace(&quot;'&quot;,&quot;''&quot;,addcslashes(stripcslashes(str_replace($X[0].$X[0],$X[0],substr($X,1,-1))),'\\')).&quot;'&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">grant($ud,array$Zg,$e,$Sf){if(!$Zg)return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">true;if($Zg==array(&quot;ALL PRIVILEGES&quot;,&quot;GRANT OPTION&quot;))return($ud==&quot;GRANT&quot;?queries(&quot;$ud ALL PRIVILEGES$Sf WITH GRANT OPTION&quot;):queries(&quot;$ud ALL PRIVILEGES$Sf&quot;)&amp;&amp;queries(&quot;$ud GRANT OPTION$Sf&quot;));return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries(&quot;$ud &quot;.preg_replace('~(GRANT OPTION)\([^)]*\)~','\1',implode(&quot;$e, &quot;,$Zg).$e).$Sf);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">drop_create($ic,$h,$kc,$Li,$mc,$Se,$of,$mf,$nf,$Pf,$Bf){if($_POST[&quot;drop&quot;])query_redirect($ic,$Se,$of);elseif($Pf==&quot;&quot;)query_redirect($h,$Se,$nf);elseif($Pf!=$Bf){$Eb=queries($h);queries_redirect($Se,$mf,$Eb&amp;&amp;queries($ic));if($Eb)queries($kc);}else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">queries_redirect($Se,$mf,queries($Li)&amp;&amp;queries($mc)&amp;&amp;queries($ic)&amp;&amp;queries($h));}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_trigger($Sf,array$K){$Ri=&quot; $K[Timing] $K[Event]&quot;.(preg_match('~ OF~',$K[&quot;Event&quot;])?&quot; $K[Of]&quot;:&quot;&quot;);return&quot;CREATE TRIGGER &quot;.idf_escape($K[&quot;Trigger&quot;]).(JUSH==&quot;mssql&quot;?$Sf.$Ri:$Ri.$Sf).rtrim(&quot; $K[Type]\n$K[Statement]&quot;,&quot;;&quot;).&quot;;&quot;;}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">create_routine($_h,array$K){$O=array();$n=(array)$K[&quot;fields&quot;];ksort($n);foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){if($m[&quot;field&quot;]!=&quot;&quot;)$O[]=(preg_match(&quot;~^(&quot;.driver()-&gt;inout.&quot;)\$~&quot;,$m[&quot;inout&quot;])?&quot;$m[inout] &quot;:&quot;&quot;).idf_escape($m[&quot;field&quot;]).process_type($m,&quot;CHARACTER SET&quot;);}$Vb=rtrim($K[&quot;definition&quot;],&quot;;&quot;);return&quot;CREATE $_h &quot;.idf_escape(trim($K[&quot;name&quot;])).&quot; (&quot;.implode(&quot;, &quot;,$O).&quot;)&quot;.($_h==&quot;FUNCTION&quot;?&quot; RETURNS&quot;.process_type($K[&quot;returns&quot;],&quot;CHARACTER SET&quot;):&quot;&quot;).($K[&quot;language&quot;]?&quot; LANGUAGE $K[language]&quot;:&quot;&quot;).(JUSH==&quot;pgsql&quot;?&quot; AS &quot;.q($Vb):&quot;\n$Vb;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">remove_definer($H){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_replace('~^([A-Z =]+) DEFINER=`'.preg_replace('~@(.*)~','`@`(%|\1)',logged_user()).'`~','\1',$H);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">format_foreign_key(array$p){$j=$p[&quot;db&quot;];$Gf=$p[&quot;ns&quot;];return&quot; FOREIGN KEY (&quot;.implode(&quot;, &quot;,array_map('Adminer\idf_escape',$p[&quot;source&quot;])).&quot;) REFERENCES &quot;.($j!=&quot;&quot;&amp;&amp;$j!=$_GET[&quot;db&quot;]?idf_escape($j).&quot;.&quot;:&quot;&quot;).($Gf!=&quot;&quot;&amp;&amp;$Gf!=$_GET[&quot;ns&quot;]?idf_escape($Gf).&quot;.&quot;:&quot;&quot;).idf_escape($p[&quot;table&quot;]).&quot; (&quot;.implode(&quot;, &quot;,array_map('Adminer\idf_escape',$p[&quot;target&quot;])).&quot;)&quot;.(preg_match(&quot;~^(&quot;.driver()-&gt;onActions.&quot;)\$~&quot;,$p[&quot;on_delete&quot;])?&quot; ON DELETE $p[on_delete]&quot;:&quot;&quot;).(preg_match(&quot;~^(&quot;.driver()-&gt;onActions.&quot;)\$~&quot;,$p[&quot;on_update&quot;])?&quot; ON UPDATE $p[on_update]&quot;:&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tar_file($o,$Wi){$J=pack(&quot;a100a8a8a8a12a12&quot;,$o,644,0,0,decoct($Wi-&gt;size),decoct(time()));$bb=8*32;for($s=0;$s&lt;strlen($J);$s++)$bb+=ord($J[$s]);$J</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=sprintf(&quot;%06o&quot;,$bb).&quot;\0 &quot;;echo$J,str_repeat(&quot;\0&quot;,512-strlen($J));$Wi-&gt;send();echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">str_repeat(&quot;\0&quot;,511-($Wi-&gt;size+511)%512);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">doc_link(array$Fg,$Mi=&quot;&lt;sup&gt;?&lt;/sup&gt;&quot;){$Vh=connection()-&gt;server_info;$Lj=preg_replace('~^(\d\.?\d).*~s','\1',$Vh);$Aj=array('sql'=&gt;&quot;https://dev.mysql.com/doc/refman/$Lj/en/&quot;,'sqlite'=&gt;&quot;https://www.sqlite.org/&quot;,'pgsql'=&gt;&quot;https://www.postgresql.org/docs/&quot;.(connection()-&gt;flavor=='cockroach'?&quot;current&quot;:$Lj).&quot;/&quot;,'mssql'=&gt;&quot;https://learn.microsoft.com/en-us/sql/&quot;,'oracle'=&gt;&quot;https://www.oracle.com/pls/topic/lookup?ctx=db&quot;.preg_replace('~^.* (\d+)\.(\d+)\.\d+\.\d+\.\d+.*~s','\1\2',$Vh).&quot;&amp;id=&quot;,);if(connection()-&gt;flavor=='maria'){$Aj['sql']=&quot;https://mariadb.com/kb/en/&quot;;$Fg['sql']=(isset($Fg['mariadb'])?$Fg['mariadb']:str_replace(&quot;.html&quot;,&quot;/&quot;,$Fg['sql']));}return($Fg[JUSH]?&quot;&lt;a href='&quot;.h($Aj[JUSH].$Fg[JUSH].(JUSH=='mssql'?&quot;?view=sql-server-ver$Lj&quot;:&quot;&quot;)).&quot;'&quot;.target_blank().&quot;&gt;$Mi&lt;/a&gt;&quot;:&quot;&quot;);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">db_size($j){if(!connection()-&gt;select_db($j))return&quot;?&quot;;$J=0;foreach(table_status()as$S)$J+=$S[&quot;Data_length&quot;]+$S[&quot;Index_length&quot;];return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">format_number($J);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">set_utf8mb4($h){static$O=false;if(!$O&amp;&amp;preg_match('~\butf8mb4~i',$h)){$O=true;echo&quot;SET NAMES &quot;.charset(connection()).&quot;;\n\n&quot;;}}if(isset($_GET[&quot;status&quot;]))$_GET[&quot;variables&quot;]=$_GET[&quot;status&quot;];if(isset($_GET[&quot;import&quot;]))$_GET[&quot;sql&quot;]=$_GET[&quot;import&quot;];if(!(DB!=&quot;&quot;?connection()-&gt;select_db(DB):isset($_GET[&quot;sql&quot;])||isset($_GET[&quot;dump&quot;])||isset($_GET[&quot;database&quot;])||isset($_GET[&quot;processlist&quot;])||isset($_GET[&quot;privileges&quot;])||isset($_GET[&quot;user&quot;])||isset($_GET[&quot;variables&quot;])||$_GET[&quot;script&quot;]==&quot;connect&quot;||$_GET[&quot;script&quot;]==&quot;kill&quot;)){if(DB!=&quot;&quot;||$_GET[&quot;refresh&quot;]){restart_session();set_session(&quot;dbs&quot;,null);}if(DB!=&quot;&quot;){header(&quot;HTTP/1.1 404 Not Found&quot;);page_header('Database'.&quot;: &quot;.h(DB),'Invalid database.',true);}else{if($_POST[&quot;db&quot;]&amp;&amp;!$l)queries_redirect(substr(ME,0,-1),'Databases have been dropped.',drop_databases($_POST[&quot;db&quot;]));page_header('Select database',$l,false);echo&quot;&lt;p class='links'&gt;\n&quot;;foreach(array('database'=&gt;'Create database','privileges'=&gt;'Privileges','processlist'=&gt;'Process list','variables'=&gt;'Variables','status'=&gt;'Status',)as$x=&gt;$X){if(support($x))echo&quot;&lt;a href='&quot;.h(ME).&quot;$x='&gt;$X&lt;/a&gt;\n&quot;;}echo&quot;&lt;p&gt;&quot;.sprintf('%s version: %s through PHP extension %s',get_driver(DRIVER),&quot;&lt;b&gt;&quot;.h(connection()-&gt;server_info).&quot;&lt;/b&gt;&quot;,&quot;&lt;b&gt;&quot;.connection()-&gt;extension.&quot;&lt;/b&gt;&quot;).&quot;\n&quot;,&quot;&lt;p&gt;&quot;.sprintf('Logged as: %s',&quot;&lt;b&gt;&quot;.h(logged_user()).&quot;&lt;/b&gt;&quot;).&quot;\n&quot;;$i=adminer()-&gt;databases();if($i){$Hh=support(&quot;scheme&quot;);$jb=collations();echo&quot;&lt;form action='' method='post'&gt;\n&quot;,&quot;&lt;table class='checkable odds'&gt;\n&quot;,script(&quot;mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});&quot;),&quot;&lt;thead&gt;&lt;tr&gt;&quot;.(support(&quot;database&quot;)?&quot;&lt;td&gt;&quot;:&quot;&quot;).&quot;&lt;th&gt;&quot;.'Database'.(get_session(&quot;dbs&quot;)!==null?&quot; - &lt;a href='&quot;.h(ME).&quot;refresh=1'&gt;&quot;.'Refresh'.&quot;&lt;/a&gt;&quot;:&quot;&quot;).&quot;&lt;td&gt;&quot;.'Collation'.&quot;&lt;td&gt;&quot;.'Tables'.&quot;&lt;td&gt;&quot;.'Size'.&quot; - &lt;a href='&quot;.h(ME).&quot;dbsize=1'&gt;&quot;.'Compute'.&quot;&lt;/a&gt;&quot;.script(&quot;qsl('a').onclick = partial(ajaxSetHtml, '&quot;.js_escape(ME).&quot;script=connect');&quot;,&quot;&quot;).&quot;&lt;/thead&gt;\n&quot;;$i=($_GET[&quot;dbsize&quot;]?count_tables($i):array_flip($i));foreach($i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$j=&gt;$T){$zh=h(ME).&quot;db=&quot;.urlencode($j);$t=h(&quot;Db-&quot;.$j);echo&quot;&lt;tr&gt;&quot;.(support(&quot;database&quot;)?&quot;&lt;td&gt;&quot;.checkbox(&quot;db[]&quot;,$j,in_array($j,(array)$_POST[&quot;db&quot;]),&quot;&quot;,&quot;&quot;,&quot;&quot;,$t):&quot;&quot;),&quot;&lt;th&gt;&lt;a href='$zh' id='$t'&gt;&quot;.h($j).&quot;&lt;/a&gt;&quot;;$c=h(db_collation($j,$jb));echo&quot;&lt;td&gt;&quot;.(support(&quot;database&quot;)?&quot;&lt;a href='$zh&quot;.($Hh?&quot;&amp;amp;ns=&quot;:&quot;&quot;).&quot;&amp;amp;database=' title='&quot;.'Alter database'.&quot;'&gt;$c&lt;/a&gt;&quot;:$c),&quot;&lt;td align='right'&gt;&lt;a href='$zh&amp;amp;schema=' id='tables-&quot;.h($j).&quot;' title='&quot;.'Database schema'.&quot;'&gt;&quot;.($_GET[&quot;dbsize&quot;]?$T:&quot;?&quot;).&quot;&lt;/a&gt;&quot;,&quot;&lt;td align='right' id='size-&quot;.h($j).&quot;'&gt;&quot;.($_GET[&quot;dbsize&quot;]?db_size($j):&quot;?&quot;),&quot;\n&quot;;}echo&quot;&lt;/table&gt;\n&quot;,(support(&quot;database&quot;)?&quot;&lt;div class='footer'&gt;&lt;div&gt;\n&quot;.&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;.'Selected'.&quot; &lt;span id='selected'&gt;&lt;/span&gt;&lt;/legend&gt;&lt;div&gt;\n&quot;.input_hidden(&quot;all&quot;).script(&quot;qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^db/)); };&quot;).&quot;&lt;input type='submit' name='drop' value='&quot;.'Drop'.&quot;'&gt;&quot;.confirm().&quot;\n&quot;.&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;.&quot;&lt;/div&gt;&lt;/div&gt;\n&quot;:&quot;&quot;),input_token(),&quot;&lt;/form&gt;\n&quot;,script(&quot;tableCheck();&quot;);}if(!empty(adminer()-&gt;plugins)){echo&quot;&lt;div class='plugins'&gt;\n&quot;,&quot;&lt;h3&gt;&quot;.'Loaded plugins'.&quot;&lt;/h3&gt;\n&lt;ul&gt;\n&quot;;foreach(adminer()-&gt;plugins</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Kg){$Zb=(method_exists($Kg,'description')?$Kg-&gt;description():&quot;&quot;);if(!$Zb){$oh=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">\ReflectionObject($Kg);if(preg_match('~^/[\s*]+(.+)~',$oh-&gt;getDocComment(),$A))$Zb=$A[1];}$Ih=(method_exists($Kg,'screenshot')?$Kg-&gt;screenshot():&quot;&quot;);echo&quot;&lt;li&gt;&lt;b&gt;&quot;.get_class($Kg).&quot;&lt;/b&gt;&quot;.h($Zb?&quot;: $Zb&quot;:&quot;&quot;).($Ih?&quot; (&lt;a href='&quot;.h($Ih).&quot;'&quot;.target_blank().&quot;&gt;&quot;.'screenshot'.&quot;&lt;/a&gt;)&quot;:&quot;&quot;).&quot;\n&quot;;}echo&quot;&lt;/ul&gt;\n&quot;;adminer()-&gt;pluginsLinks();echo&quot;&lt;/div&gt;\n&quot;;}}page_footer(&quot;db&quot;);exit;}if(support(&quot;scheme&quot;)){if(DB!=&quot;&quot;&amp;&amp;$_GET[&quot;ns&quot;]!==&quot;&quot;){if(!isset($_GET[&quot;ns&quot;]))redirect(preg_replace('~ns=[^&amp;]*&amp;~','',ME).&quot;ns=&quot;.get_schema());if(!set_schema($_GET[&quot;ns&quot;])){header(&quot;HTTP/1.1 404 Not Found&quot;);page_header('Schema'.&quot;: &quot;.h($_GET[&quot;ns&quot;]),'Invalid schema.',true);page_footer(&quot;ns&quot;);exit;}}}adminer()-&gt;afterConnect();class</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">TmpFile{private$handler;var$size;function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">__construct(){$this-&gt;handler=tmpfile();}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">write($zb){$this-&gt;size+=strlen($zb);fwrite($this-&gt;handler,$zb);}function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">send(){fseek($this-&gt;handler,0);fpassthru($this-&gt;handler);fclose($this-&gt;handler);}}if(isset($_GET[&quot;select&quot;])&amp;&amp;($_POST[&quot;edit&quot;]||$_POST[&quot;clone&quot;])&amp;&amp;!$_POST[&quot;save&quot;])$_GET[&quot;edit&quot;]=$_GET[&quot;select&quot;];if(isset($_GET[&quot;callf&quot;]))$_GET[&quot;call&quot;]=$_GET[&quot;callf&quot;];if(isset($_GET[&quot;function&quot;]))$_GET[&quot;procedure&quot;]=$_GET[&quot;function&quot;];if(isset($_GET[&quot;download&quot;])){$a=$_GET[&quot;download&quot;];$n=fields($a);header(&quot;Content-Type: application/octet-stream&quot;);header(&quot;Content-Disposition: attachment; filename=&quot;.friendly_url(&quot;$a-&quot;.implode(&quot;_&quot;,$_GET[&quot;where&quot;])).&quot;.&quot;.friendly_url($_GET[&quot;field&quot;]));$M=array(idf_escape($_GET[&quot;field&quot;]));$I=driver()-&gt;select($a,$M,array(where($_GET,$n)),$M);$K=($I?$I-&gt;fetch_row():array());echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">driver()-&gt;value($K[0],$n[$_GET[&quot;field&quot;]]);exit;}elseif(isset($_GET[&quot;table&quot;])){$a=$_GET[&quot;table&quot;];$n=fields($a);if(!$n)$l=error()?:'No tables.';$S=table_status1($a);$B=adminer()-&gt;tableName($S);page_header(($n&amp;&amp;is_view($S)?$S['Engine']=='materialized view'?'Materialized view':'View':'Table').&quot;: &quot;.($B!=&quot;&quot;?$B:h($a)),$l);$yh=array();foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$m)$yh+=$m[&quot;privileges&quot;];adminer()-&gt;selectLinks($S,(isset($yh[&quot;insert&quot;])||!support(&quot;table&quot;)?&quot;&quot;:null));$ob=$S[&quot;Comment&quot;];if($ob!=&quot;&quot;)echo&quot;&lt;p class='nowrap'&gt;&quot;.'Comment'.&quot;: &quot;.h($ob).&quot;\n&quot;;if($n)adminer()-&gt;tableStructurePrint($n,$S);function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">tables_links(array$T){echo&quot;&lt;ul&gt;\n&quot;;foreach($T</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$R)echo&quot;&lt;li&gt;&lt;a href='&quot;.h(ME.&quot;table=&quot;.urlencode($R)).&quot;'&gt;&quot;.h($R).&quot;&lt;/a&gt;&quot;;echo&quot;&lt;/ul&gt;\n&quot;;}$je=driver()-&gt;inheritsFrom($a);if($je){echo&quot;&lt;h3&gt;&quot;.'Inherits from'.&quot;&lt;/h3&gt;\n&quot;;tables_links($je);}if(support(&quot;indexes&quot;)&amp;&amp;driver()-&gt;supportsIndex($S)){echo&quot;&lt;h3 id='indexes'&gt;&quot;.'Indexes'.&quot;&lt;/h3&gt;\n&quot;;$w=indexes($a);if($w)adminer()-&gt;tableIndexesPrint($w,$S);echo'&lt;p class=&quot;links&quot;&gt;&lt;a href=&quot;'.h(ME).'indexes='.urlencode($a).'&quot;&gt;'.'Alter indexes'.&quot;&lt;/a&gt;\n&quot;;}if(!is_view($S)){if(fk_support($S)){echo&quot;&lt;h3 id='foreign-keys'&gt;&quot;.'Foreign keys'.&quot;&lt;/h3&gt;\n&quot;;$ld=foreign_keys($a);if($ld){echo&quot;&lt;table&gt;\n&quot;,&quot;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&quot;.'Source'.&quot;&lt;td&gt;&quot;.'Target'.&quot;&lt;td&gt;&quot;.'ON DELETE'.&quot;&lt;td&gt;&quot;.'ON UPDATE'.&quot;&lt;td&gt;&lt;/thead&gt;\n&quot;;foreach($ld</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$p){echo&quot;&lt;tr title='&quot;.h($B).&quot;'&gt;&quot;,&quot;&lt;th&gt;&lt;i&gt;&quot;.implode(&quot;&lt;/i&gt;, &lt;i&gt;&quot;,array_map('Adminer\h',$p[&quot;source&quot;])).&quot;&lt;/i&gt;&quot;;$_=($p[&quot;db&quot;]!=&quot;&quot;?preg_replace('~db=[^&amp;]*~',&quot;db=&quot;.urlencode($p[&quot;db&quot;]),ME):($p[&quot;ns&quot;]!=&quot;&quot;?preg_replace('~ns=[^&amp;]*~',&quot;ns=&quot;.urlencode($p[&quot;ns&quot;]),ME):ME));echo&quot;&lt;td&gt;&lt;a href='&quot;.h($_.&quot;table=&quot;.urlencode($p[&quot;table&quot;])).&quot;'&gt;&quot;.($p[&quot;db&quot;]!=&quot;&quot;&amp;&amp;$p[&quot;db&quot;]!=DB?&quot;&lt;b&gt;&quot;.h($p[&quot;db&quot;]).&quot;&lt;/b&gt;.&quot;:&quot;&quot;).($p[&quot;ns&quot;]!=&quot;&quot;&amp;&amp;$p[&quot;ns&quot;]!=$_GET[&quot;ns&quot;]?&quot;&lt;b&gt;&quot;.h($p[&quot;ns&quot;]).&quot;&lt;/b&gt;.&quot;:&quot;&quot;).h($p[&quot;table&quot;]).&quot;&lt;/a&gt;&quot;,&quot;(&lt;i&gt;&quot;.implode(&quot;&lt;/i&gt;, &lt;i&gt;&quot;,array_map('Adminer\h',$p[&quot;target&quot;])).&quot;&lt;/i&gt;)&quot;,&quot;&lt;td&gt;&quot;.h($p[&quot;on_delete&quot;]),&quot;&lt;td&gt;&quot;.h($p[&quot;on_update&quot;]),'&lt;td&gt;&lt;a href=&quot;'.h(ME.'foreign='.urlencode($a).'&amp;name='.urlencode($B)).'&quot;&gt;'.'Alter'.'&lt;/a&gt;',&quot;\n&quot;;}echo&quot;&lt;/table&gt;\n&quot;;}echo'&lt;p class=&quot;links&quot;&gt;&lt;a href=&quot;'.h(ME).'foreign='.urlencode($a).'&quot;&gt;'.'Add foreign key'.&quot;&lt;/a&gt;\n&quot;;}if(support(&quot;check&quot;)){echo&quot;&lt;h3 id='checks'&gt;&quot;.'Checks'.&quot;&lt;/h3&gt;\n&quot;;$Xa=driver()-&gt;checkConstraints($a);if($Xa){echo&quot;&lt;table&gt;\n&quot;;foreach($Xa</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)echo&quot;&lt;tr title='&quot;.h($x).&quot;'&gt;&quot;,&quot;&lt;td&gt;&lt;code class='jush-&quot;.JUSH.&quot;'&gt;&quot;.h($X),&quot;&lt;td&gt;&lt;a href='&quot;.h(ME.'check='.urlencode($a).'&amp;name='.urlencode($x)).&quot;'&gt;&quot;.'Alter'.&quot;&lt;/a&gt;&quot;,&quot;\n&quot;;echo&quot;&lt;/table&gt;\n&quot;;}echo'&lt;p class=&quot;links&quot;&gt;&lt;a href=&quot;'.h(ME).'check='.urlencode($a).'&quot;&gt;'.'Create check'.&quot;&lt;/a&gt;\n&quot;;}}if(support(is_view($S)?&quot;view_trigger&quot;:&quot;trigger&quot;)){echo&quot;&lt;h3 id='triggers'&gt;&quot;.'Triggers'.&quot;&lt;/h3&gt;\n&quot;;$kj=triggers($a);if($kj){echo&quot;&lt;table&gt;\n&quot;;foreach($kj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)echo&quot;&lt;tr valign='top'&gt;&lt;td&gt;&quot;.h($X[0]).&quot;&lt;td&gt;&quot;.h($X[1]).&quot;&lt;th&gt;&quot;.h($x).&quot;&lt;td&gt;&lt;a href='&quot;.h(ME.'trigger='.urlencode($a).'&amp;name='.urlencode($x)).&quot;'&gt;&quot;.'Alter'.&quot;&lt;/a&gt;\n&quot;;echo&quot;&lt;/table&gt;\n&quot;;}echo'&lt;p class=&quot;links&quot;&gt;&lt;a href=&quot;'.h(ME).'trigger='.urlencode($a).'&quot;&gt;'.'Add trigger'.&quot;&lt;/a&gt;\n&quot;;}$ie=driver()-&gt;inheritedTables($a);if($ie){echo&quot;&lt;h3 id='partitions'&gt;&quot;.'Inherited by'.&quot;&lt;/h3&gt;\n&quot;;$zg=driver()-&gt;partitionsInfo($a);if($zg)echo&quot;&lt;p&gt;&lt;code class='jush-&quot;.JUSH.&quot;'&gt;BY &quot;.h(&quot;$zg[partition_by]($zg[partition])&quot;).&quot;&lt;/code&gt;\n&quot;;tables_links($ie);}}elseif(isset($_GET[&quot;schema&quot;])){page_header('Database schema',&quot;&quot;,array(),h(DB.($_GET[&quot;ns&quot;]?&quot;.$_GET[ns]&quot;:&quot;&quot;)));$Bi=array();$Ci=array();$ca=($_GET[&quot;schema&quot;]?:$_COOKIE[&quot;adminer_schema-&quot;.str_replace(&quot;.&quot;,&quot;_&quot;,DB)]);preg_match_all('~([^:]+):([-0-9.]+)x([-0-9.]+)(_|$)~',$ca,$Ze,PREG_SET_ORDER);foreach($Ze</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$s=&gt;$A){$Bi[$A[1]]=array($A[2],$A[3]);$Ci[]=&quot;\n\t'&quot;.js_escape($A[1]).&quot;': [ $A[2], $A[3] ]&quot;;}$Zi=0;$Ga=-1;$Fh=array();$nh=array();$Me=array();$sa=driver()-&gt;allFields();foreach(table_status('',true)as$R=&gt;$S){if(is_view($S))continue;$Ng=0;$Fh[$R][&quot;fields&quot;]=array();foreach($sa[$R]as$m){$Ng+=1.25;$m[&quot;pos&quot;]=$Ng;$Fh[$R][&quot;fields&quot;][$m[&quot;field&quot;]]=$m;}$Fh[$R][&quot;pos&quot;]=($Bi[$R]?:array($Zi,0));foreach(adminer()-&gt;foreignKeys($R)as$X){if(!$X[&quot;db&quot;]){$Ke=$Ga;if(idx($Bi[$R],1)||idx($Bi[$X[&quot;table&quot;]],1))$Ke=min(idx($Bi[$R],1,0),idx($Bi[$X[&quot;table&quot;]],1,0))-1;else$Ga-=.1;while($Me[(string)$Ke])$Ke-=.0001;$Fh[$R][&quot;references&quot;][$X[&quot;table&quot;]][(string)$Ke]=array($X[&quot;source&quot;],$X[&quot;target&quot;]);$nh[$X[&quot;table&quot;]][$R][(string)$Ke]=$X[&quot;target&quot;];$Me[(string)$Ke]=true;}}$Zi=max($Zi,$Fh[$R][&quot;pos&quot;][0]+2.5+$Ng);}echo'&lt;div id=&quot;schema&quot; style=&quot;height: ',$Zi,'em;&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;script',nonce(),'&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">qs(\'#schema\').onselectstart = () =&gt; false;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">const tablePos = {',implode(&quot;,&quot;,$Ci).&quot;\n&quot;,'};</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">const em = qs(\'#schema\').offsetHeight / ',$Zi,';</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">document.onmousemove = schemaMousemove;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">document.onmouseup = partialArg(schemaMouseup, \'',js_escape(DB),'\');</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;/script&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';foreach($Fh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$R){echo&quot;&lt;div class='table' style='top: &quot;.$R[&quot;pos&quot;][0].&quot;em; left: &quot;.$R[&quot;pos&quot;][1].&quot;em;'&gt;&quot;,'&lt;a href=&quot;'.h(ME).'table='.urlencode($B).'&quot;&gt;&lt;b&gt;'.h($B).&quot;&lt;/b&gt;&lt;/a&gt;&quot;,script(&quot;qsl('div').onmousedown = schemaMousedown;&quot;);foreach($R[&quot;fields&quot;]as$m){$X='&lt;span'.type_class($m[&quot;type&quot;]).' title=&quot;'.h($m[&quot;type&quot;].($m[&quot;length&quot;]?&quot;($m[length])&quot;:&quot;&quot;).($m[&quot;null&quot;]?&quot; NULL&quot;:'')).'&quot;&gt;'.h($m[&quot;field&quot;]).'&lt;/span&gt;';echo&quot;&lt;br&gt;&quot;.($m[&quot;primary&quot;]?&quot;&lt;i&gt;$X&lt;/i&gt;&quot;:$X);}foreach((array)$R[&quot;references&quot;]as$Ji=&gt;$ph){foreach($ph</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Ke=&gt;$kh){$Le=$Ke-idx($Bi[$B],1);$s=0;foreach($kh[0]as$fi)echo&quot;\n&lt;div class='references' title='&quot;.h($Ji).&quot;' id='refs$Ke-&quot;.($s++).&quot;' style='left: $Le&quot;.&quot;em; top: &quot;.$R[&quot;fields&quot;][$fi][&quot;pos&quot;].&quot;em; padding-top: .5em;'&gt;&quot;.&quot;&lt;div style='border-top: 1px solid gray; width: &quot;.(-$Le).&quot;em;'&gt;&lt;/div&gt;&lt;/div&gt;&quot;;}}foreach((array)$nh[$B]as$Ji=&gt;$ph){foreach($ph</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Ke=&gt;$e){$Le=$Ke-idx($Bi[$B],1);$s=0;foreach($e</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Ii)echo&quot;\n&lt;div class='references arrow' title='&quot;.h($Ji).&quot;' id='refd$Ke-&quot;.($s++).&quot;' style='left: $Le&quot;.&quot;em; top: &quot;.$R[&quot;fields&quot;][$Ii][&quot;pos&quot;].&quot;em;'&gt;&quot;.&quot;&lt;div style='height: .5em; border-bottom: 1px solid gray; width: &quot;.(-$Le).&quot;em;'&gt;&lt;/div&gt;&quot;.&quot;&lt;/div&gt;&quot;;}}echo&quot;\n&lt;/div&gt;\n&quot;;}foreach($Fh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$R){foreach((array)$R[&quot;references&quot;]as$Ji=&gt;$ph){foreach($ph</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Ke=&gt;$kh){$rf=$Zi;$ff=-10;foreach($kh[0]as$x=&gt;$fi){$Og=$R[&quot;pos&quot;][0]+$R[&quot;fields&quot;][$fi][&quot;pos&quot;];$Pg=$Fh[$Ji][&quot;pos&quot;][0]+$Fh[$Ji][&quot;fields&quot;][$kh[1][$x]][&quot;pos&quot;];$rf=min($rf,$Og,$Pg);$ff=max($ff,$Og,$Pg);}echo&quot;&lt;div class='references' id='refl$Ke' style='left: $Ke&quot;.&quot;em; top: $rf&quot;.&quot;em; padding: .5em 0;'&gt;&lt;div style='border-right: 1px solid gray; margin-top: 1px; height: &quot;.($ff-$rf).&quot;em;'&gt;&lt;/div&gt;&lt;/div&gt;\n&quot;;}}}echo'&lt;/div&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p class=&quot;links&quot;&gt;&lt;a href=&quot;',h(ME.&quot;schema=&quot;.urlencode($ca)),'&quot; id=&quot;schema-link&quot;&gt;Permanent link&lt;/a&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;dump&quot;])){$a=$_GET[&quot;dump&quot;];if($_POST&amp;&amp;!$l){save_settings(array_intersect_key($_POST,array_flip(array(&quot;output&quot;,&quot;format&quot;,&quot;db_style&quot;,&quot;types&quot;,&quot;routines&quot;,&quot;events&quot;,&quot;table_style&quot;,&quot;auto_increment&quot;,&quot;triggers&quot;,&quot;data_style&quot;))),&quot;adminer_export&quot;);$T=array_flip((array)$_POST[&quot;tables&quot;])+array_flip((array)$_POST[&quot;data&quot;]);$Nc=dump_headers((count($T)==1?key($T):DB),(DB==&quot;&quot;||count($T)&gt;1));$we=preg_match('~sql~',$_POST[&quot;format&quot;]);if($we){echo&quot;-- Adminer &quot;.VERSION.&quot; &quot;.get_driver(DRIVER).&quot; &quot;.str_replace(&quot;\n&quot;,&quot; &quot;,connection()-&gt;server_info).&quot; dump\n\n&quot;;if(JUSH==&quot;sql&quot;){echo&quot;SET NAMES utf8;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SET time_zone = '+00:00';</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">SET foreign_key_checks = 0;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&quot;.($_POST[&quot;data_style&quot;]?&quot;SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&quot;:&quot;&quot;).&quot;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&quot;;connection()-&gt;query(&quot;SET time_zone = '+00:00'&quot;);connection()-&gt;query(&quot;SET sql_mode = ''&quot;);}}$si=$_POST[&quot;db_style&quot;];$i=array(DB);if(DB==&quot;&quot;){$i=$_POST[&quot;databases&quot;];if(is_string($i))$i=explode(&quot;\n&quot;,rtrim(str_replace(&quot;\r&quot;,&quot;&quot;,$i),&quot;\n&quot;));}foreach((array)$i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$j){adminer()-&gt;dumpDatabase($j);if(connection()-&gt;select_db($j)){if($we){if($si)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">use_sql($j,$si).&quot;;\n\n&quot;;$pg=&quot;&quot;;if($_POST[&quot;types&quot;]){foreach(types()as$t=&gt;$U){$Bc=type_values($t);if($Bc)$pg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=($si!='DROP+CREATE'?&quot;DROP TYPE IF EXISTS &quot;.idf_escape($U).&quot;;;\n&quot;:&quot;&quot;).&quot;CREATE TYPE &quot;.idf_escape($U).&quot; AS ENUM ($Bc);\n\n&quot;;else$pg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;-- Could not export type $U\n\n&quot;;}}if($_POST[&quot;routines&quot;]){foreach(routines()as$K){$B=$K[&quot;ROUTINE_NAME&quot;];$_h=$K[&quot;ROUTINE_TYPE&quot;];$h=create_routine($_h,array(&quot;name&quot;=&gt;$B)+routine($K[&quot;SPECIFIC_NAME&quot;],$_h));set_utf8mb4($h);$pg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=($si!='DROP+CREATE'?&quot;DROP $_h IF EXISTS &quot;.idf_escape($B).&quot;;;\n&quot;:&quot;&quot;).&quot;$h;\n\n&quot;;}}if($_POST[&quot;events&quot;]){foreach(get_rows(&quot;SHOW EVENTS&quot;,null,&quot;-- &quot;)as$K){$h=remove_definer(get_val(&quot;SHOW CREATE EVENT &quot;.idf_escape($K[&quot;Name&quot;]),3));set_utf8mb4($h);$pg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=($si!='DROP+CREATE'?&quot;DROP EVENT IF EXISTS &quot;.idf_escape($K[&quot;Name&quot;]).&quot;;;\n&quot;:&quot;&quot;).&quot;$h;;\n\n&quot;;}}echo($pg&amp;&amp;JUSH=='sql'?&quot;DELIMITER ;;\n\n$pg&quot;.&quot;DELIMITER ;\n\n&quot;:$pg);}if($_POST[&quot;table_style&quot;]||$_POST[&quot;data_style&quot;]){$Nj=array();foreach(table_status('',true)as$B=&gt;$S){$R=(DB==&quot;&quot;||in_array($B,(array)$_POST[&quot;tables&quot;]));$Lb=(DB==&quot;&quot;||in_array($B,(array)$_POST[&quot;data&quot;]));if($R||$Lb){$Wi=null;if($Nc==&quot;tar&quot;){$Wi=new</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">TmpFile;ob_start(array($Wi,'write'),1e5);}adminer()-&gt;dumpTable($B,($R?$_POST[&quot;table_style&quot;]:&quot;&quot;),(is_view($S)?2:0));if(is_view($S))$Nj[]=$B;elseif($Lb){$n=fields($B);adminer()-&gt;dumpData($B,$_POST[&quot;data_style&quot;],&quot;SELECT *&quot;.convert_fields($n,$n).&quot; FROM &quot;.table($B));}if($we&amp;&amp;$_POST[&quot;triggers&quot;]&amp;&amp;$R&amp;&amp;($kj=trigger_sql($B)))echo&quot;\nDELIMITER ;;\n$kj\nDELIMITER ;\n&quot;;if($Nc==&quot;tar&quot;){ob_end_flush();tar_file((DB!=&quot;&quot;?&quot;&quot;:&quot;$j/&quot;).&quot;$B.csv&quot;,$Wi);}elseif($we)echo&quot;\n&quot;;}}if(function_exists('Adminer\foreign_keys_sql')){foreach(table_status('',true)as$B=&gt;$S){$R=(DB==&quot;&quot;||in_array($B,(array)$_POST[&quot;tables&quot;]));if($R&amp;&amp;!is_view($S))echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">foreign_keys_sql($B);}}foreach($Nj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Mj)adminer()-&gt;dumpTable($Mj,$_POST[&quot;table_style&quot;],1);if($Nc==&quot;tar&quot;)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pack(&quot;x512&quot;);}}}adminer()-&gt;dumpFooter();exit;}page_header('Export',$l,($_GET[&quot;export&quot;]!=&quot;&quot;?array(&quot;table&quot;=&gt;$_GET[&quot;export&quot;]):array()),h(DB));echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;table class=&quot;layout&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';$Pb=array('','USE','DROP+CREATE','CREATE');$Di=array('','DROP+CREATE','CREATE');$Mb=array('','TRUNCATE+INSERT','INSERT');if(JUSH==&quot;sql&quot;)$Mb[]='INSERT+UPDATE';$K=get_settings(&quot;adminer_export&quot;);if(!$K)$K=array(&quot;output&quot;=&gt;&quot;text&quot;,&quot;format&quot;=&gt;&quot;sql&quot;,&quot;db_style&quot;=&gt;(DB!=&quot;&quot;?&quot;&quot;:&quot;CREATE&quot;),&quot;table_style&quot;=&gt;&quot;DROP+CREATE&quot;,&quot;data_style&quot;=&gt;&quot;INSERT&quot;);if(!isset($K[&quot;events&quot;])){$K[&quot;routines&quot;]=$K[&quot;events&quot;]=($_GET[&quot;dump&quot;]==&quot;&quot;);$K[&quot;triggers&quot;]=$K[&quot;table_style&quot;];}echo&quot;&lt;tr&gt;&lt;th&gt;&quot;.'Output'.&quot;&lt;td&gt;&quot;.html_radios(&quot;output&quot;,adminer()-&gt;dumpOutput(),$K[&quot;output&quot;]).&quot;\n&quot;,&quot;&lt;tr&gt;&lt;th&gt;&quot;.'Format'.&quot;&lt;td&gt;&quot;.html_radios(&quot;format&quot;,adminer()-&gt;dumpFormat(),$K[&quot;format&quot;]).&quot;\n&quot;,(JUSH==&quot;sqlite&quot;?&quot;&quot;:&quot;&lt;tr&gt;&lt;th&gt;&quot;.'Database'.&quot;&lt;td&gt;&quot;.html_select('db_style',$Pb,$K[&quot;db_style&quot;]).(support(&quot;type&quot;)?checkbox(&quot;types&quot;,1,$K[&quot;types&quot;],'User types'):&quot;&quot;).(support(&quot;routine&quot;)?checkbox(&quot;routines&quot;,1,$K[&quot;routines&quot;],'Routines'):&quot;&quot;).(support(&quot;event&quot;)?checkbox(&quot;events&quot;,1,$K[&quot;events&quot;],'Events'):&quot;&quot;)),&quot;&lt;tr&gt;&lt;th&gt;&quot;.'Tables'.&quot;&lt;td&gt;&quot;.html_select('table_style',$Di,$K[&quot;table_style&quot;]).checkbox(&quot;auto_increment&quot;,1,$K[&quot;auto_increment&quot;],'Auto Increment').(support(&quot;trigger&quot;)?checkbox(&quot;triggers&quot;,1,$K[&quot;triggers&quot;],'Triggers'):&quot;&quot;),&quot;&lt;tr&gt;&lt;th&gt;&quot;.'Data'.&quot;&lt;td&gt;&quot;.html_select('data_style',$Mb,$K[&quot;data_style&quot;]),'&lt;/table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;Export&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',input_token(),'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',script(&quot;qsl('table').onclick = dumpClick;&quot;);$Tg=array();if(DB!=&quot;&quot;){$Za=($a!=&quot;&quot;?&quot;&quot;:&quot; checked&quot;);echo&quot;&lt;thead&gt;&lt;tr&gt;&quot;,&quot;&lt;th style='text-align: left;'&gt;&lt;label class='block'&gt;&lt;input type='checkbox' id='check-tables'$Za&gt;&quot;.'Tables'.&quot;&lt;/label&gt;&quot;.script(&quot;qs('#check-tables').onclick = partial(formCheck, /^tables\\[/);&quot;,&quot;&quot;),&quot;&lt;th style='text-align: right;'&gt;&lt;label class='block'&gt;&quot;.'Data'.&quot;&lt;input type='checkbox' id='check-data'$Za&gt;&lt;/label&gt;&quot;.script(&quot;qs('#check-data').onclick = partial(formCheck, /^data\\[/);&quot;,&quot;&quot;),&quot;&lt;/thead&gt;\n&quot;;$Nj=&quot;&quot;;$Fi=tables_list();foreach($Fi</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$U){$Sg=preg_replace('~_.*~','',$B);$Za=($a==&quot;&quot;||$a==(substr($a,-1)==&quot;%&quot;?&quot;$Sg%&quot;:$B));$Wg=&quot;&lt;tr&gt;&lt;td&gt;&quot;.checkbox(&quot;tables[]&quot;,$B,$Za,$B,&quot;&quot;,&quot;block&quot;);if($U!==null&amp;&amp;!preg_match('~table~i',$U))$Nj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;$Wg\n&quot;;else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">echo&quot;$Wg&lt;td align='right'&gt;&lt;label class='block'&gt;&lt;span id='Rows-&quot;.h($B).&quot;'&gt;&lt;/span&gt;&quot;.checkbox(&quot;data[]&quot;,$B,$Za).&quot;&lt;/label&gt;\n&quot;;$Tg[$Sg]++;}echo$Nj;if($Fi)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script(&quot;ajaxSetHtml('&quot;.js_escape(ME).&quot;script=db');&quot;);}else{echo&quot;&lt;thead&gt;&lt;tr&gt;&lt;th style='text-align: left;'&gt;&quot;,&quot;&lt;label class='block'&gt;&lt;input type='checkbox' id='check-databases'&quot;.($a==&quot;&quot;?&quot; checked&quot;:&quot;&quot;).&quot;&gt;&quot;.'Database'.&quot;&lt;/label&gt;&quot;,script(&quot;qs('#check-databases').onclick = partial(formCheck, /^databases\\[/);&quot;,&quot;&quot;),&quot;&lt;/thead&gt;\n&quot;;$i=adminer()-&gt;databases();if($i){foreach($i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$j){if(!information_schema($j)){$Sg=preg_replace('~_.*~','',$j);echo&quot;&lt;tr&gt;&lt;td&gt;&quot;.checkbox(&quot;databases[]&quot;,$j,$a==&quot;&quot;||$a==&quot;$Sg%&quot;,$j,&quot;&quot;,&quot;block&quot;).&quot;\n&quot;;$Tg[$Sg]++;}}}else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">echo&quot;&lt;tr&gt;&lt;td&gt;&lt;textarea name='databases' rows='10' cols='20'&gt;&lt;/textarea&gt;&quot;;}echo'&lt;/table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';$bd=true;foreach($Tg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if($x!=&quot;&quot;&amp;&amp;$X&gt;1){echo($bd?&quot;&lt;p&gt;&quot;:&quot; &quot;).&quot;&lt;a href='&quot;.h(ME).&quot;dump=&quot;.urlencode(&quot;$x%&quot;).&quot;'&gt;&quot;.h($x).&quot;&lt;/a&gt;&quot;;$bd=false;}}}elseif(isset($_GET[&quot;privileges&quot;])){page_header('Privileges');echo'&lt;p class=&quot;links&quot;&gt;&lt;a href=&quot;'.h(ME).'user=&quot;&gt;'.'Create user'.&quot;&lt;/a&gt;&quot;;$I=connection()-&gt;query(&quot;SELECT User, Host FROM mysql.&quot;.(DB==&quot;&quot;?&quot;user&quot;:&quot;db WHERE &quot;.q(DB).&quot; LIKE Db&quot;).&quot; ORDER BY Host, User&quot;);$ud=$I;if(!$I)$I=connection()-&gt;query(&quot;SELECT SUBSTRING_INDEX(CURRENT_USER, '@', 1) AS User, SUBSTRING_INDEX(CURRENT_USER, '@', -1) AS Host&quot;);echo&quot;&lt;form action=''&gt;&lt;p&gt;\n&quot;;hidden_fields_get();echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_hidden(&quot;db&quot;,DB),($ud?&quot;&quot;:input_hidden(&quot;grant&quot;)),&quot;&lt;table class='odds'&gt;\n&quot;,&quot;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&quot;.'Username'.&quot;&lt;th&gt;&quot;.'Server'.&quot;&lt;th&gt;&lt;/thead&gt;\n&quot;;while($K=$I-&gt;fetch_assoc())echo'&lt;tr&gt;&lt;td&gt;'.h($K[&quot;User&quot;]).&quot;&lt;td&gt;&quot;.h($K[&quot;Host&quot;]).'&lt;td&gt;&lt;a href=&quot;'.h(ME.'user='.urlencode($K[&quot;User&quot;]).'&amp;host='.urlencode($K[&quot;Host&quot;])).'&quot;&gt;'.'Edit'.&quot;&lt;/a&gt;\n&quot;;if(!$ud||DB!=&quot;&quot;)echo&quot;&lt;tr&gt;&lt;td&gt;&lt;input name='user' autocapitalize='off'&gt;&lt;td&gt;&lt;input name='host' value='localhost' autocapitalize='off'&gt;&lt;td&gt;&lt;input type='submit' value='&quot;.'Edit'.&quot;'&gt;\n&quot;;echo&quot;&lt;/table&gt;\n&quot;,&quot;&lt;/form&gt;\n&quot;;}elseif(isset($_GET[&quot;sql&quot;])){if(!$l&amp;&amp;$_POST[&quot;export&quot;]){save_settings(array(&quot;output&quot;=&gt;$_POST[&quot;output&quot;],&quot;format&quot;=&gt;$_POST[&quot;format&quot;]),&quot;adminer_import&quot;);dump_headers(&quot;sql&quot;);if($_POST[&quot;format&quot;]==&quot;sql&quot;)echo&quot;$_POST[query]\n&quot;;else{adminer()-&gt;dumpTable(&quot;&quot;,&quot;&quot;);adminer()-&gt;dumpData(&quot;&quot;,&quot;table&quot;,$_POST[&quot;query&quot;]);adminer()-&gt;dumpFooter();}exit;}restart_session();$Kd=&amp;get_session(&quot;queries&quot;);$Jd=&amp;$Kd[DB];if(!$l&amp;&amp;$_POST[&quot;clear&quot;]){$Jd=array();redirect(remove_from_uri(&quot;history&quot;));}stop_session();page_header((isset($_GET[&quot;import&quot;])?'Import':'SQL command'),$l);$Qe='--'.(JUSH=='sql'?' ':'');if(!$l&amp;&amp;$_POST){$q=false;if(!isset($_GET[&quot;import&quot;]))$H=$_POST[&quot;query&quot;];elseif($_POST[&quot;webfile&quot;]){$ji=adminer()-&gt;importServerPath();$q=@fopen((file_exists($ji)?$ji:&quot;compress.zlib://$ji.gz&quot;),&quot;rb&quot;);$H=($q?fread($q,1e6):false);}else$H=get_file(&quot;sql_file&quot;,true,&quot;;&quot;);if(is_string($H)){if(function_exists('memory_get_usage')&amp;&amp;($kf=ini_bytes(&quot;memory_limit&quot;))!=&quot;-1&quot;)@ini_set(&quot;memory_limit&quot;,max($kf,strval(2*strlen($H)+memory_get_usage()+8e6)));if($H!=&quot;&quot;&amp;&amp;strlen($H)&lt;1e6){$dh=$H.(preg_match(&quot;~;[ \t\r\n]*\$~&quot;,$H)?&quot;&quot;:&quot;;&quot;);if(!$Jd||first(end($Jd))!=$dh){restart_session();$Jd[]=array($dh,time());set_session(&quot;queries&quot;,$Kd);stop_session();}}$gi=&quot;(?:\\s|/\\*[\s\S]*?\\*/|(?:#|$Qe)[^\n]*\n?|--\r?\n)&quot;;$Xb=&quot;;&quot;;$C=0;$wc=true;$g=connect();if($g&amp;&amp;DB!=&quot;&quot;){$g-&gt;select_db(DB);if($_GET[&quot;ns&quot;]!=&quot;&quot;)set_schema($_GET[&quot;ns&quot;],$g);}$nb=0;$Dc=array();$wg='[\'&quot;'.(JUSH==&quot;sql&quot;?'`#':(JUSH==&quot;sqlite&quot;?'`[':(JUSH==&quot;mssql&quot;?'[':''))).']|/\*|'.$Qe.'|$'.(JUSH==&quot;pgsql&quot;?'|\$([a-zA-Z]\w*)?\$':'');$aj=microtime(true);$ma=get_settings(&quot;adminer_import&quot;);while($H!=&quot;&quot;){if(!$C&amp;&amp;preg_match(&quot;~^$gi*+DELIMITER\\s+(\\S+)~i&quot;,$H,$A)){$Xb=preg_quote($A[1]);$H=substr($H,strlen($A[0]));}elseif(!$C&amp;&amp;JUSH=='pgsql'&amp;&amp;preg_match(&quot;~^($gi*+COPY\\s+)[^;]+\\s+FROM\\s+stdin;~i&quot;,$H,$A)){$Xb=&quot;\n\\\\\\.\r?\n&quot;;$C=strlen($A[0]);}else{preg_match(&quot;($Xb\\s*|$wg)&quot;,$H,$A,PREG_OFFSET_CAPTURE,$C);list($nd,$Ng)=$A[0];if(!$nd&amp;&amp;$q&amp;&amp;!feof($q))$H</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=fread($q,1e5);else{if(!$nd&amp;&amp;rtrim($H)==&quot;&quot;)break;$C=$Ng+strlen($nd);if($nd&amp;&amp;!preg_match(&quot;(^$Xb)&quot;,$nd)){$Ra=driver()-&gt;hasCStyleEscapes()||(JUSH==&quot;pgsql&quot;&amp;&amp;($Ng&gt;0&amp;&amp;strtolower($H[$Ng-1])==&quot;e&quot;));$Gg=($nd=='/*'?'\*/':($nd=='['?']':(preg_match(&quot;~^$Qe|^#~&quot;,$nd)?&quot;\n&quot;:preg_quote($nd).($Ra?'|\\\\.':''))));while(preg_match(&quot;($Gg|\$)s&quot;,$H,$A,PREG_OFFSET_CAPTURE,$C)){$Dh=$A[0][0];if(!$Dh&amp;&amp;$q&amp;&amp;!feof($q))$H</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=fread($q,1e5);else{$C=$A[0][1]+strlen($Dh);if(!$Dh||$Dh[0]!=&quot;\\&quot;)break;}}}else{$wc=false;$dh=substr($H,0,$Ng+($Xb[0]==&quot;\n&quot;?3:0));$nb++;$Wg=&quot;&lt;pre id='sql-$nb'&gt;&lt;code class='jush-&quot;.JUSH.&quot;'&gt;&quot;.adminer()-&gt;sqlCommandQuery($dh).&quot;&lt;/code&gt;&lt;/pre&gt;\n&quot;;if(JUSH==&quot;sqlite&quot;&amp;&amp;preg_match(&quot;~^$gi*+ATTACH\\b~i&quot;,$dh,$A)){echo$Wg,&quot;&lt;p class='error'&gt;&quot;.'ATTACH queries are not supported.'.&quot;\n&quot;;$Dc[]=&quot; &lt;a href='#sql-$nb'&gt;$nb&lt;/a&gt;&quot;;if($_POST[&quot;error_stops&quot;])break;}else{if(!$_POST[&quot;only_errors&quot;]){echo$Wg;ob_flush();flush();}$oi=microtime(true);if(connection()-&gt;multi_query($dh)&amp;&amp;$g&amp;&amp;preg_match(&quot;~^$gi*+USE\\b~i&quot;,$dh))$g-&gt;query($dh);do{$I=connection()-&gt;store_result();if(connection()-&gt;error){echo($_POST[&quot;only_errors&quot;]?$Wg:&quot;&quot;),&quot;&lt;p class='error'&gt;&quot;.'Error in query'.(connection()-&gt;errno?&quot; (&quot;.connection()-&gt;errno.&quot;)&quot;:&quot;&quot;).&quot;: &quot;.error().&quot;\n&quot;;$Dc[]=&quot; &lt;a href='#sql-$nb'&gt;$nb&lt;/a&gt;&quot;;if($_POST[&quot;error_stops&quot;])break</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">2;}else{$Pi=&quot; &lt;span class='time'&gt;(&quot;.format_time($oi).&quot;)&lt;/span&gt;&quot;.(strlen($dh)&lt;1000?&quot; &lt;a href='&quot;.h(ME).&quot;sql=&quot;.urlencode(trim($dh)).&quot;'&gt;&quot;.'Edit'.&quot;&lt;/a&gt;&quot;:&quot;&quot;);$oa=connection()-&gt;affected_rows;$Qj=($_POST[&quot;only_errors&quot;]?&quot;&quot;:driver()-&gt;warnings());$Rj=&quot;warnings-$nb&quot;;if($Qj)$Pi</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;, &lt;a href='#$Rj'&gt;&quot;.'Warnings'.&quot;&lt;/a&gt;&quot;.script(&quot;qsl('a').onclick = partial(toggle, '$Rj');&quot;,&quot;&quot;);$Lc=null;$hg=null;$Mc=&quot;explain-$nb&quot;;if(is_object($I)){$z=$_POST[&quot;limit&quot;];$hg=print_select_result($I,$g,array(),$z);if(!$_POST[&quot;only_errors&quot;]){echo&quot;&lt;form action='' method='post'&gt;\n&quot;;$If=$I-&gt;num_rows;echo&quot;&lt;p class='sql-footer'&gt;&quot;.($If?($z&amp;&amp;$If&gt;$z?sprintf('%d / ',$z):&quot;&quot;).lang_format(array('%d row','%d rows'),$If):&quot;&quot;),$Pi;if($g&amp;&amp;preg_match(&quot;~^($gi|\\()*+SELECT\\b~i&quot;,$dh)&amp;&amp;($Lc=explain($g,$dh)))echo&quot;, &lt;a href='#$Mc'&gt;Explain&lt;/a&gt;&quot;.script(&quot;qsl('a').onclick = partial(toggle, '$Mc');&quot;,&quot;&quot;);$t=&quot;export-$nb&quot;;echo&quot;, &lt;a href='#$t'&gt;&quot;.'Export'.&quot;&lt;/a&gt;&quot;.script(&quot;qsl('a').onclick = partial(toggle, '$t');&quot;,&quot;&quot;).&quot;&lt;span id='$t' class='hidden'&gt;: &quot;.html_select(&quot;output&quot;,adminer()-&gt;dumpOutput(),$ma[&quot;output&quot;]).&quot; &quot;.html_select(&quot;format&quot;,adminer()-&gt;dumpFormat(),$ma[&quot;format&quot;]).input_hidden(&quot;query&quot;,$dh).&quot;&lt;input type='submit' name='export' value='&quot;.'Export'.&quot;'&gt;&quot;.input_token().&quot;&lt;/span&gt;\n&quot;.&quot;&lt;/form&gt;\n&quot;;}}else{if(preg_match(&quot;~^$gi*+(CREATE|DROP|ALTER)$gi++(DATABASE|SCHEMA)\\b~i&quot;,$dh)){restart_session();set_session(&quot;dbs&quot;,null);stop_session();}if(!$_POST[&quot;only_errors&quot;])echo&quot;&lt;p class='message' title='&quot;.h(connection()-&gt;info).&quot;'&gt;&quot;.lang_format(array('Query executed OK, %d row affected.','Query executed OK, %d rows affected.'),$oa).&quot;$Pi\n&quot;;}echo($Qj?&quot;&lt;div id='$Rj' class='hidden'&gt;\n$Qj&lt;/div&gt;\n&quot;:&quot;&quot;);if($Lc){echo&quot;&lt;div id='$Mc' class='hidden explain'&gt;\n&quot;;print_select_result($Lc,$g,$hg);echo&quot;&lt;/div&gt;\n&quot;;}}$oi=microtime(true);}while(connection()-&gt;next_result());}$H=substr($H,$C);$C=0;}}}}if($wc)echo&quot;&lt;p class='message'&gt;&quot;.'No commands to execute.'.&quot;\n&quot;;elseif($_POST[&quot;only_errors&quot;])echo&quot;&lt;p class='message'&gt;&quot;.lang_format(array('%d query executed OK.','%d queries executed OK.'),$nb-count($Dc)),&quot; &lt;span class='time'&gt;(&quot;.format_time($aj).&quot;)&lt;/span&gt;\n&quot;;elseif($Dc&amp;&amp;$nb&gt;1)echo&quot;&lt;p class='error'&gt;&quot;.'Error in query'.&quot;: &quot;.implode(&quot;&quot;,$Dc).&quot;\n&quot;;}else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">echo&quot;&lt;p class='error'&gt;&quot;.upload_error($H).&quot;\n&quot;;}echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot; id=&quot;form&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';$Jc=&quot;&lt;input type='submit' value='&quot;.'Execute'.&quot;' title='Ctrl+Enter'&gt;&quot;;if(!isset($_GET[&quot;import&quot;])){$dh=$_GET[&quot;sql&quot;];if($_POST)$dh=$_POST[&quot;query&quot;];elseif($_GET[&quot;history&quot;]==&quot;all&quot;)$dh=$Jd;elseif($_GET[&quot;history&quot;]!=&quot;&quot;)$dh=idx($Jd[$_GET[&quot;history&quot;]],0);echo&quot;&lt;p&gt;&quot;;textarea(&quot;query&quot;,$dh,20);echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">script(($_POST?&quot;&quot;:&quot;qs('textarea').focus();\n&quot;).&quot;qs('#form').onsubmit = partial(sqlSubmit, qs('#form'), '&quot;.js_escape(remove_from_uri(&quot;sql|limit|error_stops|only_errors|history&quot;)).&quot;');&quot;),&quot;&lt;p&gt;&quot;;adminer()-&gt;sqlPrintAfter();echo&quot;$Jc\n&quot;,'Limit rows'.&quot;: &lt;input type='number' name='limit' class='size' value='&quot;.h($_POST?$_POST[&quot;limit&quot;]:$_GET[&quot;limit&quot;]).&quot;'&gt;\n&quot;;}else{$_d=(extension_loaded(&quot;zlib&quot;)?&quot;[.gz]&quot;:&quot;&quot;);echo&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;.'File upload'.&quot;&lt;/legend&gt;&lt;div&gt;&quot;,file_input(&quot;SQL$_d: &lt;input type='file' name='sql_file[]' multiple&gt;\n$Jc&quot;),&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;$Vd=adminer()-&gt;importServerPath();if($Vd)echo&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;.'From server'.&quot;&lt;/legend&gt;&lt;div&gt;&quot;,sprintf('Webserver file %s',&quot;&lt;code&gt;&quot;.h($Vd).&quot;$_d&lt;/code&gt;&quot;),' &lt;input type=&quot;submit&quot; name=&quot;webfile&quot; value=&quot;'.'Run file'.'&quot;&gt;',&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;echo&quot;&lt;p&gt;&quot;;}echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">checkbox(&quot;error_stops&quot;,1,($_POST?$_POST[&quot;error_stops&quot;]:isset($_GET[&quot;import&quot;])||$_GET[&quot;error_stops&quot;]),'Stop on error').&quot;\n&quot;,checkbox(&quot;only_errors&quot;,1,($_POST?$_POST[&quot;only_errors&quot;]:isset($_GET[&quot;import&quot;])||$_GET[&quot;only_errors&quot;]),'Show only errors').&quot;\n&quot;,input_token();if(!isset($_GET[&quot;import&quot;])&amp;&amp;$Jd){print_fieldset(&quot;history&quot;,'History',$_GET[&quot;history&quot;]!=&quot;&quot;);for($X=end($Jd);$X;$X=prev($Jd)){$x=key($Jd);list($dh,$Pi,$rc)=$X;echo'&lt;a href=&quot;'.h(ME.&quot;sql=&amp;history=$x&quot;).'&quot;&gt;'.'Edit'.&quot;&lt;/a&gt;&quot;.&quot; &lt;span class='time' title='&quot;.@date('Y-m-d',$Pi).&quot;'&gt;&quot;.@date(&quot;H:i:s&quot;,$Pi).&quot;&lt;/span&gt;&quot;.&quot; &lt;code class='jush-&quot;.JUSH.&quot;'&gt;&quot;.shorten_utf8(ltrim(str_replace(&quot;\n&quot;,&quot; &quot;,str_replace(&quot;\r&quot;,&quot;&quot;,preg_replace(&quot;~^(#|$Qe).*~m&quot;,'',$dh)))),80,&quot;&lt;/code&gt;&quot;).($rc?&quot; &lt;span class='time'&gt;($rc)&lt;/span&gt;&quot;:&quot;&quot;).&quot;&lt;br&gt;\n&quot;;}echo&quot;&lt;input type='submit' name='clear' value='&quot;.'Clear'.&quot;'&gt;\n&quot;,&quot;&lt;a href='&quot;.h(ME.&quot;sql=&amp;history=all&quot;).&quot;'&gt;&quot;.'Edit all'.&quot;&lt;/a&gt;\n&quot;,&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;}echo'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;edit&quot;])){$a=$_GET[&quot;edit&quot;];$n=fields($a);$Z=(isset($_GET[&quot;select&quot;])?($_POST[&quot;check&quot;]&amp;&amp;count($_POST[&quot;check&quot;])==1?where_check($_POST[&quot;check&quot;][0],$n):&quot;&quot;):where($_GET,$n));$wj=(isset($_GET[&quot;select&quot;])?$_POST[&quot;edit&quot;]:$Z);foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$m){if(!isset($m[&quot;privileges&quot;][$wj?&quot;update&quot;:&quot;insert&quot;])||adminer()-&gt;fieldName($m)==&quot;&quot;||$m[&quot;generated&quot;])unset($n[$B]);}if($_POST&amp;&amp;!$l&amp;&amp;!isset($_GET[&quot;select&quot;])){$Se=$_POST[&quot;referer&quot;];if($_POST[&quot;insert&quot;])$Se=($wj?null:$_SERVER[&quot;REQUEST_URI&quot;]);elseif(!preg_match('~^.+&amp;select=.+$~',$Se))$Se=ME.&quot;select=&quot;.urlencode($a);$w=indexes($a);$rj=unique_array($_GET[&quot;where&quot;],$w);$gh=&quot;\nWHERE $Z&quot;;if(isset($_POST[&quot;delete&quot;]))queries_redirect($Se,'Item has been deleted.',driver()-&gt;delete($a,$gh,$rj?0:1));else{$O=array();foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$m){$X=process_input($m);if($X!==false&amp;&amp;$X!==null)$O[idf_escape($B)]=$X;}if($wj){if(!$O)redirect($Se);queries_redirect($Se,'Item has been updated.',driver()-&gt;update($a,$O,$gh,$rj?0:1));if(is_ajax()){page_headers();page_messages($l);exit;}}else{$I=driver()-&gt;insert($a,$O);$Je=($I?last_id($I):0);queries_redirect($Se,sprintf('Item%s has been inserted.',($Je?&quot; $Je&quot;:&quot;&quot;)),$I);}}}$K=null;if($_POST[&quot;save&quot;])$K=(array)$_POST[&quot;fields&quot;];elseif($Z){$M=array();foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$m){if(isset($m[&quot;privileges&quot;][&quot;select&quot;])){$wa=($_POST[&quot;clone&quot;]&amp;&amp;$m[&quot;auto_increment&quot;]?&quot;''&quot;:convert_field($m));$M[]=($wa?&quot;$wa AS &quot;:&quot;&quot;).idf_escape($B);}}$K=array();if(!support(&quot;table&quot;))$M=array(&quot;*&quot;);if($M){$I=driver()-&gt;select($a,$M,array($Z),$M,array(),(isset($_GET[&quot;select&quot;])?2:1));if(!$I)$l=error();else{$K=$I-&gt;fetch_assoc();if(!$K)$K=false;}if(isset($_GET[&quot;select&quot;])&amp;&amp;(!$K||$I-&gt;fetch_assoc()))$K=null;}}if(!support(&quot;table&quot;)&amp;&amp;!$n){if(!$Z){$I=driver()-&gt;select($a,array(&quot;*&quot;),array(),array(&quot;*&quot;));$K=($I?$I-&gt;fetch_assoc():false);if(!$K)$K=array(driver()-&gt;primary=&gt;&quot;&quot;);}if($K){foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if(!$Z)$K[$x]=null;$n[$x]=array(&quot;field&quot;=&gt;$x,&quot;null&quot;=&gt;($x!=driver()-&gt;primary),&quot;auto_increment&quot;=&gt;($x==driver()-&gt;primary));}}}edit_form($a,$n,$K,$wj,$l);}elseif(isset($_GET[&quot;create&quot;])){$a=$_GET[&quot;create&quot;];$Ag=driver()-&gt;partitionBy;$Dg=($Ag?driver()-&gt;partitionsInfo($a):array());$mh=referencable_primary($a);$ld=array();foreach($mh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$_i=&gt;$m)$ld[str_replace(&quot;`&quot;,&quot;``&quot;,$_i).&quot;`&quot;.str_replace(&quot;`&quot;,&quot;``&quot;,$m[&quot;field&quot;])]=$_i;$kg=array();$S=array();if($a!=&quot;&quot;){$kg=fields($a);$S=table_status1($a);if(count($S)&lt;2)$l='No tables.';}$K=$_POST;$K[&quot;fields&quot;]=(array)$K[&quot;fields&quot;];if($K[&quot;auto_increment_col&quot;])$K[&quot;fields&quot;][$K[&quot;auto_increment_col&quot;]][&quot;auto_increment&quot;]=true;if($_POST)save_settings(array(&quot;comments&quot;=&gt;$_POST[&quot;comments&quot;],&quot;defaults&quot;=&gt;$_POST[&quot;defaults&quot;]));if($_POST&amp;&amp;!process_fields($K[&quot;fields&quot;])&amp;&amp;!$l){if($_POST[&quot;drop&quot;])queries_redirect(substr(ME,0,-1),'Table has been dropped.',drop_tables(array($a)));else{$n=array();$sa=array();$Bj=false;$jd=array();$jg=reset($kg);$qa=&quot; FIRST&quot;;foreach($K[&quot;fields&quot;]as$x=&gt;$m){$p=$ld[$m[&quot;type&quot;]];$lj=($p!==null?$mh[$p]:$m);if($m[&quot;field&quot;]!=&quot;&quot;){if(!$m[&quot;generated&quot;])$m[&quot;default&quot;]=null;$bh=process_field($m,$lj);$sa[]=array($m[&quot;orig&quot;],$bh,$qa);if(!$jg||$bh!==process_field($jg,$jg)){$n[]=array($m[&quot;orig&quot;],$bh,$qa);if($m[&quot;orig&quot;]!=&quot;&quot;||$qa)$Bj=true;}if($p!==null)$jd[idf_escape($m[&quot;field&quot;])]=($a!=&quot;&quot;&amp;&amp;JUSH!=&quot;sqlite&quot;?&quot;ADD&quot;:&quot; &quot;).format_foreign_key(array('table'=&gt;$ld[$m[&quot;type&quot;]],'source'=&gt;array($m[&quot;field&quot;]),'target'=&gt;array($lj[&quot;field&quot;]),'on_delete'=&gt;$m[&quot;on_delete&quot;],));$qa=&quot; AFTER &quot;.idf_escape($m[&quot;field&quot;]);}elseif($m[&quot;orig&quot;]!=&quot;&quot;){$Bj=true;$n[]=array($m[&quot;orig&quot;]);}if($m[&quot;orig&quot;]!=&quot;&quot;){$jg=next($kg);if(!$jg)$qa=&quot;&quot;;}}$E=array();if(in_array($K[&quot;partition_by&quot;],$Ag)){foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if(preg_match('~^partition~',$x))$E[$x]=$X;}foreach($E[&quot;partition_names&quot;]as$x=&gt;$B){if($B==&quot;&quot;){unset($E[&quot;partition_names&quot;][$x]);unset($E[&quot;partition_values&quot;][$x]);}}$E[&quot;partition_names&quot;]=array_values($E[&quot;partition_names&quot;]);$E[&quot;partition_values&quot;]=array_values($E[&quot;partition_values&quot;]);if($E==$Dg)$E=array();}elseif(preg_match(&quot;~partitioned~&quot;,$S[&quot;Create_options&quot;]))$E=null;$lf='Table has been altered.';if($a==&quot;&quot;){cookie(&quot;adminer_engine&quot;,$K[&quot;Engine&quot;]);$lf='Table has been created.';}$B=trim($K[&quot;name&quot;]);queries_redirect(ME.(support(&quot;table&quot;)?&quot;table=&quot;:&quot;select=&quot;).urlencode($B),$lf,alter_table($a,$B,(JUSH==&quot;sqlite&quot;&amp;&amp;($Bj||$jd)?$sa:$n),$jd,($K[&quot;Comment&quot;]!=$S[&quot;Comment&quot;]?$K[&quot;Comment&quot;]:null),($K[&quot;Engine&quot;]&amp;&amp;$K[&quot;Engine&quot;]!=$S[&quot;Engine&quot;]?$K[&quot;Engine&quot;]:&quot;&quot;),($K[&quot;Collation&quot;]&amp;&amp;$K[&quot;Collation&quot;]!=$S[&quot;Collation&quot;]?$K[&quot;Collation&quot;]:&quot;&quot;),($K[&quot;Auto_increment&quot;]!=&quot;&quot;?number($K[&quot;Auto_increment&quot;]):&quot;&quot;),$E));}}page_header(($a!=&quot;&quot;?'Alter table':'Create table'),$l,array(&quot;table&quot;=&gt;$a),h($a));if(!$_POST){$nj=driver()-&gt;types();$K=array(&quot;Engine&quot;=&gt;$_COOKIE[&quot;adminer_engine&quot;],&quot;fields&quot;=&gt;array(array(&quot;field&quot;=&gt;&quot;&quot;,&quot;type&quot;=&gt;(isset($nj[&quot;int&quot;])?&quot;int&quot;:(isset($nj[&quot;integer&quot;])?&quot;integer&quot;:&quot;&quot;)),&quot;on_update&quot;=&gt;&quot;&quot;)),&quot;partition_names&quot;=&gt;array(&quot;&quot;),);if($a!=&quot;&quot;){$K=$S;$K[&quot;name&quot;]=$a;$K[&quot;fields&quot;]=array();if(!$_GET[&quot;auto_increment&quot;])$K[&quot;Auto_increment&quot;]=&quot;&quot;;foreach($kg</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$m){$m[&quot;generated&quot;]=$m[&quot;generated&quot;]?:(isset($m[&quot;default&quot;])?&quot;DEFAULT&quot;:&quot;&quot;);$K[&quot;fields&quot;][]=$m;}if($Ag){$K+=$Dg;$K[&quot;partition_names&quot;][]=&quot;&quot;;$K[&quot;partition_values&quot;][]=&quot;&quot;;}}}$jb=collations();if(is_array(reset($jb)))$jb=call_user_func_array('array_merge',array_values($jb));$yc=driver()-&gt;engines();foreach($yc</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$xc){if(!strcasecmp($xc,$K[&quot;Engine&quot;])){$K[&quot;Engine&quot;]=$xc;break;}}echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot; id=&quot;form&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if(support(&quot;columns&quot;)||$a==&quot;&quot;){echo'Table name'.&quot;: &lt;input name='name'&quot;.($a==&quot;&quot;&amp;&amp;!$_POST?&quot; autofocus&quot;:&quot;&quot;).&quot; data-maxlength='64' value='&quot;.h($K[&quot;name&quot;]).&quot;' autocapitalize='off'&gt;\n&quot;,($yc?html_select(&quot;Engine&quot;,array(&quot;&quot;=&gt;&quot;(&quot;.'engine'.&quot;)&quot;)+$yc,$K[&quot;Engine&quot;]).on_help(&quot;event.target.value&quot;,1).script(&quot;qsl('select').onchange = helpClose;&quot;).&quot;\n&quot;:&quot;&quot;);if($jb)echo&quot;&lt;datalist id='collations'&gt;&quot;.optionlist($jb).&quot;&lt;/datalist&gt;\n&quot;,(preg_match(&quot;~sqlite|mssql~&quot;,JUSH)?&quot;&quot;:&quot;&lt;input list='collations' name='Collation' value='&quot;.h($K[&quot;Collation&quot;]).&quot;' placeholder='(&quot;.'collation'.&quot;)'&gt;\n&quot;);echo&quot;&lt;input type='submit' value='&quot;.'Save'.&quot;'&gt;\n&quot;;}if(support(&quot;columns&quot;)){echo&quot;&lt;div class='scrollable'&gt;\n&quot;,&quot;&lt;table id='edit-fields' class='nowrap'&gt;\n&quot;;edit_fields($K[&quot;fields&quot;],$jb,&quot;TABLE&quot;,$ld);echo&quot;&lt;/table&gt;\n&quot;,script(&quot;editFields();&quot;),&quot;&lt;/div&gt;\n&lt;p&gt;\n&quot;,'Auto Increment'.&quot;: &lt;input type='number' name='Auto_increment' class='size' value='&quot;.h($K[&quot;Auto_increment&quot;]).&quot;'&gt;\n&quot;,checkbox(&quot;defaults&quot;,1,($_POST?$_POST[&quot;defaults&quot;]:get_setting(&quot;defaults&quot;)),'Default values',&quot;columnShow(this.checked, 5)&quot;,&quot;jsonly&quot;);$qb=($_POST?$_POST[&quot;comments&quot;]:get_setting(&quot;comments&quot;));echo(support(&quot;comment&quot;)?checkbox(&quot;comments&quot;,1,$qb,'Comment',&quot;editingCommentsClick(this, true);&quot;,&quot;jsonly&quot;).' '.(preg_match('~\n~',$K[&quot;Comment&quot;])?&quot;&lt;textarea name='Comment' rows='2' cols='20'&quot;.($qb?&quot;&quot;:&quot; class='hidden'&quot;).&quot;&gt;&quot;.h($K[&quot;Comment&quot;]).&quot;&lt;/textarea&gt;&quot;:'&lt;input name=&quot;Comment&quot; value=&quot;'.h($K[&quot;Comment&quot;]).'&quot; data-maxlength=&quot;'.(min_version(5.5)?2048:60).'&quot;'.($qb?&quot;&quot;:&quot; class='hidden'&quot;).'&gt;'):''),'&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($a!=&quot;&quot;)echo'&lt;input type=&quot;submit&quot; name=&quot;drop&quot; value=&quot;Drop&quot;&gt;',confirm(sprintf('Drop %s?',$a));if($Ag&amp;&amp;(JUSH=='sql'||$a==&quot;&quot;)){$Bg=preg_match('~RANGE|LIST~',$K[&quot;partition_by&quot;]);print_fieldset(&quot;partition&quot;,'Partition by',$K[&quot;partition_by&quot;]);echo&quot;&lt;p&gt;&quot;.html_select(&quot;partition_by&quot;,array_merge(array(&quot;&quot;),$Ag),$K[&quot;partition_by&quot;]).on_help(&quot;event.target.value.replace(/./, 'PARTITION BY \$&amp;')&quot;,1).script(&quot;qsl('select').onchange = partitionByChange;&quot;),&quot;(&lt;input name='partition' value='&quot;.h($K[&quot;partition&quot;]).&quot;'&gt;)\n&quot;,'Partitions'.&quot;: &lt;input type='number' name='partitions' class='size&quot;.($Bg||!$K[&quot;partition_by&quot;]?&quot; hidden&quot;:&quot;&quot;).&quot;' value='&quot;.h($K[&quot;partitions&quot;]).&quot;'&gt;\n&quot;,&quot;&lt;table id='partition-table'&quot;.($Bg?&quot;&quot;:&quot; class='hidden'&quot;).&quot;&gt;\n&quot;,&quot;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&quot;.'Partition name'.&quot;&lt;th&gt;&quot;.'Values'.&quot;&lt;/thead&gt;\n&quot;;foreach($K[&quot;partition_names&quot;]as$x=&gt;$X)echo'&lt;tr&gt;','&lt;td&gt;&lt;input name=&quot;partition_names[]&quot; value=&quot;'.h($X).'&quot; autocapitalize=&quot;off&quot;&gt;',($x==count($K[&quot;partition_names&quot;])-1?script(&quot;qsl('input').oninput = partitionNameChange;&quot;):''),'&lt;td&gt;&lt;input name=&quot;partition_values[]&quot; value=&quot;'.h(idx($K[&quot;partition_values&quot;],$x)).'&quot;&gt;';echo&quot;&lt;/table&gt;\n&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;}echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;indexes&quot;])){$a=$_GET[&quot;indexes&quot;];$de=array(&quot;PRIMARY&quot;,&quot;UNIQUE&quot;,&quot;INDEX&quot;);$S=table_status1($a,true);$ae=driver()-&gt;indexAlgorithms($S);if(preg_match('~MyISAM|M?aria'.(min_version(5.6,'10.0.5')?'|InnoDB':'').'~i',$S[&quot;Engine&quot;]))$de[]=&quot;FULLTEXT&quot;;if(preg_match('~MyISAM|M?aria'.(min_version(5.7,'10.2.2')?'|InnoDB':'').'~i',$S[&quot;Engine&quot;]))$de[]=&quot;SPATIAL&quot;;$w=indexes($a);$n=fields($a);$G=array();if(JUSH==&quot;mongo&quot;){$G=$w[&quot;_id_&quot;];unset($de[0]);unset($w[&quot;_id_&quot;]);}$K=$_POST;if($K)save_settings(array(&quot;index_options&quot;=&gt;$K[&quot;options&quot;]));if($_POST&amp;&amp;!$l&amp;&amp;!$_POST[&quot;add&quot;]&amp;&amp;!$_POST[&quot;drop_col&quot;]){$b=array();foreach($K[&quot;indexes&quot;]as$v){$B=$v[&quot;name&quot;];if(in_array($v[&quot;type&quot;],$de)){$e=array();$Oe=array();$ac=array();$be=(support(&quot;partial_indexes&quot;)?$v[&quot;partial&quot;]:&quot;&quot;);$Zd=(in_array($v[&quot;algorithm&quot;],$ae)?$v[&quot;algorithm&quot;]:&quot;&quot;);$O=array();ksort($v[&quot;columns&quot;]);foreach($v[&quot;columns&quot;]as$x=&gt;$d){if($d!=&quot;&quot;){$y=idx($v[&quot;lengths&quot;],$x);$Yb=idx($v[&quot;descs&quot;],$x);$O[]=($n[$d]?idf_escape($d):$d).($y?&quot;(&quot;.(+$y).&quot;)&quot;:&quot;&quot;).($Yb?&quot; DESC&quot;:&quot;&quot;);$e[]=$d;$Oe[]=($y?:null);$ac[]=$Yb;}}$Kc=$w[$B];if($Kc){ksort($Kc[&quot;columns&quot;]);ksort($Kc[&quot;lengths&quot;]);ksort($Kc[&quot;descs&quot;]);if($v[&quot;type&quot;]==$Kc[&quot;type&quot;]&amp;&amp;array_values($Kc[&quot;columns&quot;])===$e&amp;&amp;(!$Kc[&quot;lengths&quot;]||array_values($Kc[&quot;lengths&quot;])===$Oe)&amp;&amp;array_values($Kc[&quot;descs&quot;])===$ac&amp;&amp;$Kc[&quot;partial&quot;]==$be&amp;&amp;(!$ae||$Kc[&quot;algorithm&quot;]==$Zd)){unset($w[$B]);continue;}}if($e)$b[]=array($v[&quot;type&quot;],$B,$O,$Zd,$be);}}foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$Kc)$b[]=array($Kc[&quot;type&quot;],$B,&quot;DROP&quot;);if(!$b)redirect(ME.&quot;table=&quot;.urlencode($a));queries_redirect(ME.&quot;table=&quot;.urlencode($a),'Indexes have been altered.',alter_indexes($a,$b));}page_header('Indexes',$l,array(&quot;table&quot;=&gt;$a),h($a));$Yc=array_keys($n);if($_POST[&quot;add&quot;]){foreach($K[&quot;indexes&quot;]as$x=&gt;$v){if($v[&quot;columns&quot;][count($v[&quot;columns&quot;])]!=&quot;&quot;)$K[&quot;indexes&quot;][$x][&quot;columns&quot;][]=&quot;&quot;;}$v=end($K[&quot;indexes&quot;]);if($v[&quot;type&quot;]||array_filter($v[&quot;columns&quot;],'strlen'))$K[&quot;indexes&quot;][]=array(&quot;columns&quot;=&gt;array(1=&gt;&quot;&quot;));}if(!$K){foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$v){$w[$x][&quot;name&quot;]=$x;$w[$x][&quot;columns&quot;][]=&quot;&quot;;}$w[]=array(&quot;columns&quot;=&gt;array(1=&gt;&quot;&quot;));$K[&quot;indexes&quot;]=$w;}$Oe=(JUSH==&quot;sql&quot;||JUSH==&quot;mssql&quot;);$ai=($_POST?$_POST[&quot;options&quot;]:get_setting(&quot;index_options&quot;));echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;div class=&quot;scrollable&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;table class=&quot;nowrap&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;thead&gt;&lt;tr&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;th id=&quot;label-type&quot;&gt;Index Type</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';$Td=&quot; class='idxopts&quot;.($ai?&quot;&quot;:&quot; hidden&quot;).&quot;'&quot;;if($ae)echo&quot;&lt;th id='label-algorithm'$Td&gt;&quot;.'Algorithm'.doc_link(array('sql'=&gt;'create-index.html#create-index-storage-engine-index-types','mariadb'=&gt;'storage-engine-index-types/','pgsql'=&gt;'indexes-types.html',));echo'&lt;th&gt;&lt;input type=&quot;submit&quot; class=&quot;wayoff&quot;&gt;','Columns'.($Oe?&quot;&lt;span$Td&gt; (&quot;.'length'.&quot;)&lt;/span&gt;&quot;:&quot;&quot;);if($Oe||support(&quot;descidx&quot;))echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">checkbox(&quot;options&quot;,1,$ai,'Options',&quot;indexOptionsShow(this.checked)&quot;,&quot;jsonly&quot;).&quot;\n&quot;;echo'&lt;th id=&quot;label-name&quot;&gt;Name</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if(support(&quot;partial_indexes&quot;))echo&quot;&lt;th id='label-condition'$Td&gt;&quot;.'Condition';echo'&lt;th&gt;&lt;noscript&gt;',icon(&quot;plus&quot;,&quot;add[0]&quot;,&quot;+&quot;,'Add next'),'&lt;/noscript&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;/thead&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($G){echo&quot;&lt;tr&gt;&lt;td&gt;PRIMARY&lt;td&gt;&quot;;foreach($G[&quot;columns&quot;]as$x=&gt;$d)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">select_input(&quot; disabled&quot;,$Yc,$d),&quot;&lt;label&gt;&lt;input disabled type='checkbox'&gt;&quot;.'descending'.&quot;&lt;/label&gt; &quot;;echo&quot;&lt;td&gt;&lt;td&gt;\n&quot;;}$ze=1;foreach($K[&quot;indexes&quot;]as$v){if(!$_POST[&quot;drop_col&quot;]||$ze!=key($_POST[&quot;drop_col&quot;])){echo&quot;&lt;tr&gt;&lt;td&gt;&quot;.html_select(&quot;indexes[$ze][type]&quot;,array(-1=&gt;&quot;&quot;)+$de,$v[&quot;type&quot;],($ze==count($K[&quot;indexes&quot;])?&quot;indexesAddRow.call(this);&quot;:&quot;&quot;),&quot;label-type&quot;);if($ae)echo&quot;&lt;td$Td&gt;&quot;.html_select(&quot;indexes[$ze][algorithm]&quot;,array_merge(array(&quot;&quot;),$ae),$v['algorithm'],&quot;label-algorithm&quot;);echo&quot;&lt;td&gt;&quot;;ksort($v[&quot;columns&quot;]);$s=1;foreach($v[&quot;columns&quot;]as$x=&gt;$d){echo&quot;&lt;span&gt;&quot;.select_input(&quot; name='indexes[$ze][columns][$s]' title='&quot;.'Column'.&quot;'&quot;,($n&amp;&amp;($d==&quot;&quot;||$n[$d])?array_combine($Yc,$Yc):array()),$d,&quot;partial(&quot;.($s==count($v[&quot;columns&quot;])?&quot;indexesAddColumn&quot;:&quot;indexesChangeColumn&quot;).&quot;, '&quot;.js_escape(JUSH==&quot;sql&quot;?&quot;&quot;:$_GET[&quot;indexes&quot;].&quot;_&quot;).&quot;')&quot;),&quot;&lt;span$Td&gt;&quot;,($Oe?&quot;&lt;input type='number' name='indexes[$ze][lengths][$s]' class='size' value='&quot;.h(idx($v[&quot;lengths&quot;],$x)).&quot;' title='&quot;.'Length'.&quot;'&gt;&quot;:&quot;&quot;),(support(&quot;descidx&quot;)?checkbox(&quot;indexes[$ze][descs][$s]&quot;,1,idx($v[&quot;descs&quot;],$x),'descending'):&quot;&quot;),&quot;&lt;/span&gt; &lt;/span&gt;&quot;;$s++;}echo&quot;&lt;td&gt;&lt;input name='indexes[$ze][name]' value='&quot;.h($v[&quot;name&quot;]).&quot;' autocapitalize='off' aria-labelledby='label-name'&gt;\n&quot;;if(support(&quot;partial_indexes&quot;))echo&quot;&lt;td$Td&gt;&lt;input name='indexes[$ze][partial]' value='&quot;.h($v[&quot;partial&quot;]).&quot;' autocapitalize='off' aria-labelledby='label-condition'&gt;\n&quot;;echo&quot;&lt;td&gt;&quot;.icon(&quot;cross&quot;,&quot;drop_col[$ze]&quot;,&quot;x&quot;,'Remove').script(&quot;qsl('button').onclick = partial(editingRemoveRow, 'indexes\$1[type]');&quot;);}$ze++;}echo'&lt;/table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;/div&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;database&quot;])){$K=$_POST;if($_POST&amp;&amp;!$l&amp;&amp;!$_POST[&quot;add&quot;]){$B=trim($K[&quot;name&quot;]);if($_POST[&quot;drop&quot;]){$_GET[&quot;db&quot;]=&quot;&quot;;queries_redirect(remove_from_uri(&quot;db|database&quot;),'Database has been dropped.',drop_databases(array(DB)));}elseif(DB!==$B){if(DB!=&quot;&quot;){$_GET[&quot;db&quot;]=$B;queries_redirect(preg_replace('~\bdb=[^&amp;]*&amp;~','',ME).&quot;db=&quot;.urlencode($B),'Database has been renamed.',rename_database($B,$K[&quot;collation&quot;]));}else{$i=explode(&quot;\n&quot;,str_replace(&quot;\r&quot;,&quot;&quot;,$B));$ti=true;$Ie=&quot;&quot;;foreach($i</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$j){if(count($i)==1||$j!=&quot;&quot;){if(!create_database($j,$K[&quot;collation&quot;]))$ti=false;$Ie=$j;}}restart_session();set_session(&quot;dbs&quot;,null);queries_redirect(ME.&quot;db=&quot;.urlencode($Ie),'Database has been created.',$ti);}}else{if(!$K[&quot;collation&quot;])redirect(substr(ME,0,-1));query_redirect(&quot;ALTER DATABASE &quot;.idf_escape($B).(preg_match('~^[a-z0-9_]+$~i',$K[&quot;collation&quot;])?&quot; COLLATE $K[collation]&quot;:&quot;&quot;),substr(ME,0,-1),'Database has been altered.');}}page_header(DB!=&quot;&quot;?'Alter database':'Create database',$l,array(),h(DB));$jb=collations();$B=DB;if($_POST)$B=$K[&quot;name&quot;];elseif(DB!=&quot;&quot;)$K[&quot;collation&quot;]=db_collation(DB,$jb);elseif(JUSH==&quot;sql&quot;){foreach(get_vals(&quot;SHOW GRANTS&quot;)as$ud){if(preg_match('~ ON (`(([^\\\\`]|``|\\\\.)*)%`\.\*)?~',$ud,$A)&amp;&amp;$A[1]){$B=stripcslashes(idf_unescape(&quot;`$A[2]`&quot;));break;}}}echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',($_POST[&quot;add&quot;]||strpos($B,&quot;\n&quot;)?'&lt;textarea autofocus name=&quot;name&quot; rows=&quot;10&quot; cols=&quot;40&quot;&gt;'.h($B).'&lt;/textarea&gt;&lt;br&gt;':'&lt;input name=&quot;name&quot; autofocus value=&quot;'.h($B).'&quot; data-maxlength=&quot;64&quot; autocapitalize=&quot;off&quot;&gt;').&quot;\n&quot;.($jb?html_select(&quot;collation&quot;,array(&quot;&quot;=&gt;&quot;(&quot;.'collation'.&quot;)&quot;)+$jb,$K[&quot;collation&quot;]).doc_link(array('sql'=&gt;&quot;charset-charsets.html&quot;,'mariadb'=&gt;&quot;supported-character-sets-and-collations/&quot;,'mssql'=&gt;&quot;relational-databases/system-functions/sys-fn-helpcollations-transact-sql&quot;,)):&quot;&quot;),'&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if(DB!=&quot;&quot;)echo&quot;&lt;input type='submit' name='drop' value='&quot;.'Drop'.&quot;'&gt;&quot;.confirm(sprintf('Drop %s?',DB)).&quot;\n&quot;;elseif(!$_POST[&quot;add&quot;]&amp;&amp;$_GET[&quot;db&quot;]==&quot;&quot;)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">icon(&quot;plus&quot;,&quot;add[0]&quot;,&quot;+&quot;,'Add next').&quot;\n&quot;;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;scheme&quot;])){$K=$_POST;if($_POST&amp;&amp;!$l){$_=preg_replace('~ns=[^&amp;]*&amp;~','',ME).&quot;ns=&quot;;if($_POST[&quot;drop&quot;])query_redirect(&quot;DROP SCHEMA &quot;.idf_escape($_GET[&quot;ns&quot;]),$_,'Schema has been dropped.');else{$B=trim($K[&quot;name&quot;]);$_</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=urlencode($B);if($_GET[&quot;ns&quot;]==&quot;&quot;)query_redirect(&quot;CREATE SCHEMA &quot;.idf_escape($B),$_,'Schema has been created.');elseif($_GET[&quot;ns&quot;]!=$B)query_redirect(&quot;ALTER SCHEMA &quot;.idf_escape($_GET[&quot;ns&quot;]).&quot; RENAME TO &quot;.idf_escape($B),$_,'Schema has been altered.');else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">redirect($_);}}page_header($_GET[&quot;ns&quot;]!=&quot;&quot;?'Alter schema':'Create schema',$l);if(!$K)$K[&quot;name&quot;]=$_GET[&quot;ns&quot;];echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;&lt;input name=&quot;name&quot; autofocus value=&quot;',h($K[&quot;name&quot;]),'&quot; autocapitalize=&quot;off&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($_GET[&quot;ns&quot;]!=&quot;&quot;)echo&quot;&lt;input type='submit' name='drop' value='&quot;.'Drop'.&quot;'&gt;&quot;.confirm(sprintf('Drop %s?',$_GET[&quot;ns&quot;])).&quot;\n&quot;;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;call&quot;])){$ba=($_GET[&quot;name&quot;]?:$_GET[&quot;call&quot;]);page_header('Call'.&quot;: &quot;.h($ba),$l);$_h=routine($_GET[&quot;call&quot;],(isset($_GET[&quot;callf&quot;])?&quot;FUNCTION&quot;:&quot;PROCEDURE&quot;));$Wd=array();$pg=array();foreach($_h[&quot;fields&quot;]as$s=&gt;$m){if(substr($m[&quot;inout&quot;],-3)==&quot;OUT&quot;&amp;&amp;JUSH=='sql')$pg[$s]=&quot;@&quot;.idf_escape($m[&quot;field&quot;]).&quot; AS &quot;.idf_escape($m[&quot;field&quot;]);if(!$m[&quot;inout&quot;]||substr($m[&quot;inout&quot;],0,2)==&quot;IN&quot;)$Wd[]=$s;}if(!$l&amp;&amp;$_POST){$Sa=array();foreach($_h[&quot;fields&quot;]as$x=&gt;$m){$X=&quot;&quot;;if(in_array($x,$Wd)){$X=process_input($m);if($X===false)$X=&quot;''&quot;;if(isset($pg[$x]))connection()-&gt;query(&quot;SET @&quot;.idf_escape($m[&quot;field&quot;]).&quot; = $X&quot;);}if(isset($pg[$x]))$Sa[]=&quot;@&quot;.idf_escape($m[&quot;field&quot;]);elseif(in_array($x,$Wd))$Sa[]=$X;}$H=(isset($_GET[&quot;callf&quot;])?&quot;SELECT &quot;:&quot;CALL &quot;).($_h[&quot;returns&quot;][&quot;type&quot;]==&quot;record&quot;?&quot;* FROM &quot;:&quot;&quot;).table($ba).&quot;(&quot;.implode(&quot;, &quot;,$Sa).&quot;)&quot;;$oi=microtime(true);$I=connection()-&gt;multi_query($H);$oa=connection()-&gt;affected_rows;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">adminer()-&gt;selectQuery($H,$oi,!$I);if(!$I)echo&quot;&lt;p class='error'&gt;&quot;.error().&quot;\n&quot;;else{$g=connect();if($g)$g-&gt;select_db(DB);do{$I=connection()-&gt;store_result();if(is_object($I))print_select_result($I,$g);else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">echo&quot;&lt;p class='message'&gt;&quot;.lang_format(array('Routine has been called, %d row affected.','Routine has been called, %d rows affected.'),$oa).&quot; &lt;span class='time'&gt;&quot;.@date(&quot;H:i:s&quot;).&quot;&lt;/span&gt;\n&quot;;}while(connection()-&gt;next_result());if($pg)print_select_result(connection()-&gt;query(&quot;SELECT &quot;.implode(&quot;, &quot;,$pg)));}}echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($Wd){echo&quot;&lt;table class='layout'&gt;\n&quot;;foreach($Wd</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x){$m=$_h[&quot;fields&quot;][$x];$B=$m[&quot;field&quot;];echo&quot;&lt;tr&gt;&lt;th&gt;&quot;.adminer()-&gt;fieldName($m);$Y=idx($_POST[&quot;fields&quot;],$B);if($Y!=&quot;&quot;){if($m[&quot;type&quot;]==&quot;set&quot;)$Y=implode(&quot;,&quot;,$Y);}input($m,$Y,idx($_POST[&quot;function&quot;],$B,&quot;&quot;));echo&quot;\n&quot;;}echo&quot;&lt;/table&gt;\n&quot;;}echo'&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Call&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;pre&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';function</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pre_tr($Dh){return</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_replace('~^~m','&lt;tr&gt;',preg_replace('~\|~','&lt;td&gt;',preg_replace('~\|$~m',&quot;&quot;,rtrim($Dh))));}$R='(\+--[-+]+\+\n)';$K='(\| .* \|\n)';echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">preg_replace_callback(&quot;~^$R?$K$R?($K*)$R?~m&quot;,function($A){$cd=pre_tr($A[2]);return&quot;&lt;table&gt;\n&quot;.($A[1]?&quot;&lt;thead&gt;$cd&lt;/thead&gt;\n&quot;:$cd).pre_tr($A[4]).&quot;\n&lt;/table&gt;&quot;;},preg_replace('~(\n( &nbsp; &nbsp;-|mysql)&amp;gt; )(.+)~',&quot;\\1&lt;code class='jush-sql'&gt;\\3&lt;/code&gt;&quot;,preg_replace('~(.+)\n---+\n~',&quot;&lt;b&gt;\\1&lt;/b&gt;\n&quot;,h($_h['comment']))));echo'&lt;/pre&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;foreign&quot;])){$a=$_GET[&quot;foreign&quot;];$B=$_GET[&quot;name&quot;];$K=$_POST;if($_POST&amp;&amp;!$l&amp;&amp;!$_POST[&quot;add&quot;]&amp;&amp;!$_POST[&quot;change&quot;]&amp;&amp;!$_POST[&quot;change-js&quot;]){if(!$_POST[&quot;drop&quot;]){$K[&quot;source&quot;]=array_filter($K[&quot;source&quot;],'strlen');ksort($K[&quot;source&quot;]);$Ii=array();foreach($K[&quot;source&quot;]as$x=&gt;$X)$Ii[$x]=$K[&quot;target&quot;][$x];$K[&quot;target&quot;]=$Ii;}if(JUSH==&quot;sqlite&quot;)$I=recreate_table($a,$a,array(),array(),array(&quot; $B&quot;=&gt;($K[&quot;drop&quot;]?&quot;&quot;:&quot; &quot;.format_foreign_key($K))));else{$b=&quot;ALTER TABLE &quot;.table($a);$I=($B==&quot;&quot;||queries(&quot;$b DROP &quot;.(JUSH==&quot;sql&quot;?&quot;FOREIGN KEY &quot;:&quot;CONSTRAINT &quot;).idf_escape($B)));if(!$K[&quot;drop&quot;])$I=queries(&quot;$b ADD&quot;.format_foreign_key($K));}queries_redirect(ME.&quot;table=&quot;.urlencode($a),($K[&quot;drop&quot;]?'Foreign key has been dropped.':($B!=&quot;&quot;?'Foreign key has been altered.':'Foreign key has been created.')),$I);if(!$K[&quot;drop&quot;])$l='Source and target columns must have the same data type, there must be an index on the target columns and referenced data must exist.';}page_header('Foreign key',$l,array(&quot;table&quot;=&gt;$a),h($a));if($_POST){ksort($K[&quot;source&quot;]);if($_POST[&quot;add&quot;])$K[&quot;source&quot;][]=&quot;&quot;;elseif($_POST[&quot;change&quot;]||$_POST[&quot;change-js&quot;])$K[&quot;target&quot;]=array();}elseif($B!=&quot;&quot;){$ld=foreign_keys($a);$K=$ld[$B];$K[&quot;source&quot;][]=&quot;&quot;;}else{$K[&quot;table&quot;]=$a;$K[&quot;source&quot;]=array(&quot;&quot;);}echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';$fi=array_keys(fields($a));if($K[&quot;db&quot;]!=&quot;&quot;)connection()-&gt;select_db($K[&quot;db&quot;]);if($K[&quot;ns&quot;]!=&quot;&quot;){$lg=get_schema();set_schema($K[&quot;ns&quot;]);}$lh=array_keys(array_filter(table_status('',true),'Adminer\fk_support'));$Ii=array_keys(fields(in_array($K[&quot;table&quot;],$lh)?$K[&quot;table&quot;]:reset($lh)));$Vf=&quot;this.form['change-js'].value = '1'; this.form.submit();&quot;;echo&quot;&lt;p&gt;&lt;label&gt;&quot;.'Target table'.&quot;: &quot;.html_select(&quot;table&quot;,$lh,$K[&quot;table&quot;],$Vf).&quot;&lt;/label&gt;\n&quot;;if(support(&quot;scheme&quot;)){$Gh=array_filter(adminer()-&gt;schemas(),function($Fh){return!preg_match('~^information_schema$~i',$Fh);});echo&quot;&lt;label&gt;&quot;.'Schema'.&quot;: &quot;.html_select(&quot;ns&quot;,$Gh,$K[&quot;ns&quot;]!=&quot;&quot;?$K[&quot;ns&quot;]:$_GET[&quot;ns&quot;],$Vf).&quot;&lt;/label&gt;&quot;;if($K[&quot;ns&quot;]!=&quot;&quot;)set_schema($lg);}elseif(JUSH!=&quot;sqlite&quot;){$Qb=array();foreach(adminer()-&gt;databases()as$j){if(!information_schema($j))$Qb[]=$j;}echo&quot;&lt;label&gt;&quot;.'DB'.&quot;: &quot;.html_select(&quot;db&quot;,$Qb,$K[&quot;db&quot;]!=&quot;&quot;?$K[&quot;db&quot;]:$_GET[&quot;db&quot;],$Vf).&quot;&lt;/label&gt;&quot;;}echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_hidden(&quot;change-js&quot;),'&lt;noscript&gt;&lt;p&gt;&lt;input type=&quot;submit&quot; name=&quot;change&quot; value=&quot;Change&quot;&gt;&lt;/noscript&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;thead&gt;&lt;tr&gt;&lt;th id=&quot;label-source&quot;&gt;Source&lt;th id=&quot;label-target&quot;&gt;Target&lt;/thead&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';$ze=0;foreach($K[&quot;source&quot;]as$x=&gt;$X){echo&quot;&lt;tr&gt;&quot;,&quot;&lt;td&gt;&quot;.html_select(&quot;source[&quot;.(+$x).&quot;]&quot;,array(-1=&gt;&quot;&quot;)+$fi,$X,($ze==count($K[&quot;source&quot;])-1?&quot;foreignAddRow.call(this);&quot;:&quot;&quot;),&quot;label-source&quot;),&quot;&lt;td&gt;&quot;.html_select(&quot;target[&quot;.(+$x).&quot;]&quot;,$Ii,idx($K[&quot;target&quot;],$x),&quot;&quot;,&quot;label-target&quot;);$ze++;}echo'&lt;/table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;label&gt;ON DELETE: ',html_select(&quot;on_delete&quot;,array(-1=&gt;&quot;&quot;)+explode(&quot;|&quot;,driver()-&gt;onActions),$K[&quot;on_delete&quot;]),'&lt;/label&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;label&gt;ON UPDATE: ',html_select(&quot;on_update&quot;,array(-1=&gt;&quot;&quot;)+explode(&quot;|&quot;,driver()-&gt;onActions),$K[&quot;on_update&quot;]),'&lt;/label&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',doc_link(array('sql'=&gt;&quot;innodb-foreign-key-constraints.html&quot;,'mariadb'=&gt;&quot;foreign-keys/&quot;,'pgsql'=&gt;&quot;sql-createtable.html#SQL-CREATETABLE-REFERENCES&quot;,'mssql'=&gt;&quot;t-sql/statements/create-table-transact-sql&quot;,'oracle'=&gt;&quot;SQLRF01111&quot;,)),'&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;noscript&gt;&lt;p&gt;&lt;input type=&quot;submit&quot; name=&quot;add&quot; value=&quot;Add column&quot;&gt;&lt;/noscript&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($B!=&quot;&quot;)echo'&lt;input type=&quot;submit&quot; name=&quot;drop&quot; value=&quot;Drop&quot;&gt;',confirm(sprintf('Drop %s?',$B));echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;view&quot;])){$a=$_GET[&quot;view&quot;];$K=$_POST;$mg=&quot;VIEW&quot;;if(JUSH==&quot;pgsql&quot;&amp;&amp;$a!=&quot;&quot;){$P=table_status1($a);$mg=strtoupper($P[&quot;Engine&quot;]);}if($_POST&amp;&amp;!$l){$B=trim($K[&quot;name&quot;]);$wa=&quot; AS\n$K[select]&quot;;$Se=ME.&quot;table=&quot;.urlencode($B);$lf='View has been altered.';$U=($_POST[&quot;materialized&quot;]?&quot;MATERIALIZED VIEW&quot;:&quot;VIEW&quot;);if(!$_POST[&quot;drop&quot;]&amp;&amp;$a==$B&amp;&amp;JUSH!=&quot;sqlite&quot;&amp;&amp;$U==&quot;VIEW&quot;&amp;&amp;$mg==&quot;VIEW&quot;)query_redirect((JUSH==&quot;mssql&quot;?&quot;ALTER&quot;:&quot;CREATE OR REPLACE&quot;).&quot; VIEW &quot;.table($B).$wa,$Se,$lf);else{$Ki=$B.&quot;_adminer_&quot;.uniqid();drop_create(&quot;DROP $mg &quot;.table($a),&quot;CREATE $U &quot;.table($B).$wa,&quot;DROP $U &quot;.table($B),&quot;CREATE $U &quot;.table($Ki).$wa,&quot;DROP $U &quot;.table($Ki),($_POST[&quot;drop&quot;]?substr(ME,0,-1):$Se),'View has been dropped.',$lf,'View has been created.',$a,$B);}}if(!$_POST&amp;&amp;$a!=&quot;&quot;){$K=view($a);$K[&quot;name&quot;]=$a;$K[&quot;materialized&quot;]=($mg!=&quot;VIEW&quot;);if(!$l)$l=error();}page_header(($a!=&quot;&quot;?'Alter view':'Create view'),$l,array(&quot;table&quot;=&gt;$a),h($a));echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;Name: &lt;input name=&quot;name&quot; value=&quot;',h($K[&quot;name&quot;]),'&quot; data-maxlength=&quot;64&quot; autocapitalize=&quot;off&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',(support(&quot;materializedview&quot;)?&quot; &quot;.checkbox(&quot;materialized&quot;,1,$K[&quot;materialized&quot;],'Materialized view'):&quot;&quot;),'&lt;p&gt;';textarea(&quot;select&quot;,$K[&quot;select&quot;]);echo'&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($a!=&quot;&quot;)echo'&lt;input type=&quot;submit&quot; name=&quot;drop&quot; value=&quot;Drop&quot;&gt;',confirm(sprintf('Drop %s?',$a));echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;event&quot;])){$aa=$_GET[&quot;event&quot;];$qe=array(&quot;YEAR&quot;,&quot;QUARTER&quot;,&quot;MONTH&quot;,&quot;DAY&quot;,&quot;HOUR&quot;,&quot;MINUTE&quot;,&quot;WEEK&quot;,&quot;SECOND&quot;,&quot;YEAR_MONTH&quot;,&quot;DAY_HOUR&quot;,&quot;DAY_MINUTE&quot;,&quot;DAY_SECOND&quot;,&quot;HOUR_MINUTE&quot;,&quot;HOUR_SECOND&quot;,&quot;MINUTE_SECOND&quot;);$pi=array(&quot;ENABLED&quot;=&gt;&quot;ENABLE&quot;,&quot;DISABLED&quot;=&gt;&quot;DISABLE&quot;,&quot;SLAVESIDE_DISABLED&quot;=&gt;&quot;DISABLE ON SLAVE&quot;);$K=$_POST;if($_POST&amp;&amp;!$l){if($_POST[&quot;drop&quot;])query_redirect(&quot;DROP EVENT &quot;.idf_escape($aa),substr(ME,0,-1),'Event has been dropped.');elseif(in_array($K[&quot;INTERVAL_FIELD&quot;],$qe)&amp;&amp;isset($pi[$K[&quot;STATUS&quot;]])){$Eh=&quot;\nON SCHEDULE &quot;.($K[&quot;INTERVAL_VALUE&quot;]?&quot;EVERY &quot;.q($K[&quot;INTERVAL_VALUE&quot;]).&quot; $K[INTERVAL_FIELD]&quot;.($K[&quot;STARTS&quot;]?&quot; STARTS &quot;.q($K[&quot;STARTS&quot;]):&quot;&quot;).($K[&quot;ENDS&quot;]?&quot; ENDS &quot;.q($K[&quot;ENDS&quot;]):&quot;&quot;):&quot;AT &quot;.q($K[&quot;STARTS&quot;])).&quot; ON COMPLETION&quot;.($K[&quot;ON_COMPLETION&quot;]?&quot;&quot;:&quot; NOT&quot;).&quot; PRESERVE&quot;;queries_redirect(substr(ME,0,-1),($aa!=&quot;&quot;?'Event has been altered.':'Event has been created.'),queries(($aa!=&quot;&quot;?&quot;ALTER EVENT &quot;.idf_escape($aa).$Eh.($aa!=$K[&quot;EVENT_NAME&quot;]?&quot;\nRENAME TO &quot;.idf_escape($K[&quot;EVENT_NAME&quot;]):&quot;&quot;):&quot;CREATE EVENT &quot;.idf_escape($K[&quot;EVENT_NAME&quot;]).$Eh).&quot;\n&quot;.$pi[$K[&quot;STATUS&quot;]].&quot; COMMENT &quot;.q($K[&quot;EVENT_COMMENT&quot;]).rtrim(&quot; DO\n$K[EVENT_DEFINITION]&quot;,&quot;;&quot;).&quot;;&quot;));}}page_header(($aa!=&quot;&quot;?'Alter event'.&quot;: &quot;.h($aa):'Create event'),$l);if(!$K&amp;&amp;$aa!=&quot;&quot;){$L=get_rows(&quot;SELECT * FROM information_schema.EVENTS WHERE EVENT_SCHEMA = &quot;.q(DB).&quot; AND EVENT_NAME = &quot;.q($aa));$K=reset($L);}echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;table class=&quot;layout&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;tr&gt;&lt;th&gt;Name&lt;td&gt;&lt;input name=&quot;EVENT_NAME&quot; value=&quot;',h($K[&quot;EVENT_NAME&quot;]),'&quot; data-maxlength=&quot;64&quot; autocapitalize=&quot;off&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;tr&gt;&lt;th title=&quot;datetime&quot;&gt;Start&lt;td&gt;&lt;input name=&quot;STARTS&quot; value=&quot;',h(&quot;$K[EXECUTE_AT]$K[STARTS]&quot;),'&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;tr&gt;&lt;th title=&quot;datetime&quot;&gt;End&lt;td&gt;&lt;input name=&quot;ENDS&quot; value=&quot;',h($K[&quot;ENDS&quot;]),'&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;tr&gt;&lt;th&gt;Every&lt;td&gt;&lt;input type=&quot;number&quot; name=&quot;INTERVAL_VALUE&quot; value=&quot;',h($K[&quot;INTERVAL_VALUE&quot;]),'&quot; class=&quot;size&quot;&gt; ',html_select(&quot;INTERVAL_FIELD&quot;,$qe,$K[&quot;INTERVAL_FIELD&quot;]),'&lt;tr&gt;&lt;th&gt;Status&lt;td&gt;',html_select(&quot;STATUS&quot;,$pi,$K[&quot;STATUS&quot;]),'&lt;tr&gt;&lt;th&gt;Comment&lt;td&gt;&lt;input name=&quot;EVENT_COMMENT&quot; value=&quot;',h($K[&quot;EVENT_COMMENT&quot;]),'&quot; data-maxlength=&quot;64&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;tr&gt;&lt;th&gt;&lt;td&gt;',checkbox(&quot;ON_COMPLETION&quot;,&quot;PRESERVE&quot;,$K[&quot;ON_COMPLETION&quot;]==&quot;PRESERVE&quot;,'On completion preserve'),'&lt;/table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;';textarea(&quot;EVENT_DEFINITION&quot;,$K[&quot;EVENT_DEFINITION&quot;]);echo'&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($aa!=&quot;&quot;)echo'&lt;input type=&quot;submit&quot; name=&quot;drop&quot; value=&quot;Drop&quot;&gt;',confirm(sprintf('Drop %s?',$aa));echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;procedure&quot;])){$ba=($_GET[&quot;name&quot;]?:$_GET[&quot;procedure&quot;]);$_h=(isset($_GET[&quot;function&quot;])?&quot;FUNCTION&quot;:&quot;PROCEDURE&quot;);$K=$_POST;$K[&quot;fields&quot;]=(array)$K[&quot;fields&quot;];if($_POST&amp;&amp;!process_fields($K[&quot;fields&quot;])&amp;&amp;!$l){$ig=routine($_GET[&quot;procedure&quot;],$_h);$Ki=&quot;$K[name]_adminer_&quot;.uniqid();foreach($K[&quot;fields&quot;]as$x=&gt;$m){if($m[&quot;field&quot;]==&quot;&quot;)unset($K[&quot;fields&quot;][$x]);}drop_create(&quot;DROP $_h &quot;.routine_id($ba,$ig),create_routine($_h,$K),&quot;DROP $_h &quot;.routine_id($K[&quot;name&quot;],$K),create_routine($_h,array(&quot;name&quot;=&gt;$Ki)+$K),&quot;DROP $_h &quot;.routine_id($Ki,$K),substr(ME,0,-1),'Routine has been dropped.','Routine has been altered.','Routine has been created.',$ba,$K[&quot;name&quot;]);}page_header(($ba!=&quot;&quot;?(isset($_GET[&quot;function&quot;])?'Alter function':'Alter procedure').&quot;: &quot;.h($ba):(isset($_GET[&quot;function&quot;])?'Create function':'Create procedure')),$l);if(!$_POST){if($ba==&quot;&quot;)$K[&quot;language&quot;]=&quot;sql&quot;;else{$K=routine($_GET[&quot;procedure&quot;],$_h);$K[&quot;name&quot;]=$ba;}}$jb=get_vals(&quot;SHOW CHARACTER SET&quot;);sort($jb);$Ah=routine_languages();echo($jb?&quot;&lt;datalist id='collations'&gt;&quot;.optionlist($jb).&quot;&lt;/datalist&gt;&quot;:&quot;&quot;),'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot; id=&quot;form&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;Name: &lt;input name=&quot;name&quot; value=&quot;',h($K[&quot;name&quot;]),'&quot; data-maxlength=&quot;64&quot; autocapitalize=&quot;off&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',($Ah?&quot;&lt;label&gt;&quot;.'Language'.&quot;: &quot;.html_select(&quot;language&quot;,$Ah,$K[&quot;language&quot;]).&quot;&lt;/label&gt;\n&quot;:&quot;&quot;),'&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;div class=&quot;scrollable&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;table class=&quot;nowrap&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';edit_fields($K[&quot;fields&quot;],$jb,$_h);if(isset($_GET[&quot;function&quot;])){echo&quot;&lt;tr&gt;&lt;td&gt;&quot;.'Return type';edit_type(&quot;returns&quot;,(array)$K[&quot;returns&quot;],$jb,array(),(JUSH==&quot;pgsql&quot;?array(&quot;void&quot;,&quot;trigger&quot;):array()));}echo'&lt;/table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',script(&quot;editFields();&quot;),'&lt;/div&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;';textarea(&quot;definition&quot;,$K[&quot;definition&quot;],20);echo'&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($ba!=&quot;&quot;)echo'&lt;input type=&quot;submit&quot; name=&quot;drop&quot; value=&quot;Drop&quot;&gt;',confirm(sprintf('Drop %s?',$ba));echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;sequence&quot;])){$da=$_GET[&quot;sequence&quot;];$K=$_POST;if($_POST&amp;&amp;!$l){$_=substr(ME,0,-1);$B=trim($K[&quot;name&quot;]);if($_POST[&quot;drop&quot;])query_redirect(&quot;DROP SEQUENCE &quot;.idf_escape($da),$_,'Sequence has been dropped.');elseif($da==&quot;&quot;)query_redirect(&quot;CREATE SEQUENCE &quot;.idf_escape($B),$_,'Sequence has been created.');elseif($da!=$B)query_redirect(&quot;ALTER SEQUENCE &quot;.idf_escape($da).&quot; RENAME TO &quot;.idf_escape($B),$_,'Sequence has been altered.');else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">redirect($_);}page_header($da!=&quot;&quot;?'Alter sequence'.&quot;: &quot;.h($da):'Create sequence',$l);if(!$K)$K[&quot;name&quot;]=$da;echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;&lt;input name=&quot;name&quot; value=&quot;',h($K[&quot;name&quot;]),'&quot; autocapitalize=&quot;off&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($da!=&quot;&quot;)echo&quot;&lt;input type='submit' name='drop' value='&quot;.'Drop'.&quot;'&gt;&quot;.confirm(sprintf('Drop %s?',$da)).&quot;\n&quot;;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;type&quot;])){$ea=$_GET[&quot;type&quot;];$K=$_POST;if($_POST&amp;&amp;!$l){$_=substr(ME,0,-1);if($_POST[&quot;drop&quot;])query_redirect(&quot;DROP TYPE &quot;.idf_escape($ea),$_,'Type has been dropped.');else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">query_redirect(&quot;CREATE TYPE &quot;.idf_escape(trim($K[&quot;name&quot;])).&quot; $K[as]&quot;,$_,'Type has been created.');}page_header($ea!=&quot;&quot;?'Alter type'.&quot;: &quot;.h($ea):'Create type',$l);if(!$K)$K[&quot;as&quot;]=&quot;AS &quot;;echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($ea!=&quot;&quot;){$nj=driver()-&gt;types();$Bc=type_values($nj[$ea]);if($Bc)echo&quot;&lt;code class='jush-&quot;.JUSH.&quot;'&gt;ENUM (&quot;.h($Bc).&quot;)&lt;/code&gt;\n&lt;p&gt;&quot;;echo&quot;&lt;input type='submit' name='drop' value='&quot;.'Drop'.&quot;'&gt;&quot;.confirm(sprintf('Drop %s?',$ea)).&quot;\n&quot;;}else{echo'Name'.&quot;: &lt;input name='name' value='&quot;.h($K['name']).&quot;' autocapitalize='off'&gt;\n&quot;,doc_link(array('pgsql'=&gt;&quot;datatype-enum.html&quot;,),&quot;?&quot;);textarea(&quot;as&quot;,$K[&quot;as&quot;]);echo&quot;&lt;p&gt;&lt;input type='submit' value='&quot;.'Save'.&quot;'&gt;\n&quot;;}echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;check&quot;])){$a=$_GET[&quot;check&quot;];$B=$_GET[&quot;name&quot;];$K=$_POST;if($K&amp;&amp;!$l){if(JUSH==&quot;sqlite&quot;)$I=recreate_table($a,$a,array(),array(),array(),&quot;&quot;,array(),&quot;$B&quot;,($K[&quot;drop&quot;]?&quot;&quot;:$K[&quot;clause&quot;]));else{$I=($B==&quot;&quot;||queries(&quot;ALTER TABLE &quot;.table($a).&quot; DROP CONSTRAINT &quot;.idf_escape($B)));if(!$K[&quot;drop&quot;])$I=queries(&quot;ALTER TABLE &quot;.table($a).&quot; ADD&quot;.($K[&quot;name&quot;]!=&quot;&quot;?&quot; CONSTRAINT &quot;.idf_escape($K[&quot;name&quot;]):&quot;&quot;).&quot; CHECK ($K[clause])&quot;);}queries_redirect(ME.&quot;table=&quot;.urlencode($a),($K[&quot;drop&quot;]?'Check has been dropped.':($B!=&quot;&quot;?'Check has been altered.':'Check has been created.')),$I);}page_header(($B!=&quot;&quot;?'Alter check'.&quot;: &quot;.h($B):'Create check'),$l,array(&quot;table&quot;=&gt;$a));if(!$K){$ab=driver()-&gt;checkConstraints($a);$K=array(&quot;name&quot;=&gt;$B,&quot;clause&quot;=&gt;$ab[$B]);}echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;';if(JUSH!=&quot;sqlite&quot;)echo'Name'.': &lt;input name=&quot;name&quot; value=&quot;'.h($K[&quot;name&quot;]).'&quot; data-maxlength=&quot;64&quot; autocapitalize=&quot;off&quot;&gt; ';echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">doc_link(array('sql'=&gt;&quot;create-table-check-constraints.html&quot;,'mariadb'=&gt;&quot;constraint/&quot;,'pgsql'=&gt;&quot;ddl-constraints.html#DDL-CONSTRAINTS-CHECK-CONSTRAINTS&quot;,'mssql'=&gt;&quot;relational-databases/tables/create-check-constraints&quot;,'sqlite'=&gt;&quot;lang_createtable.html#check_constraints&quot;,),&quot;?&quot;),'&lt;p&gt;';textarea(&quot;clause&quot;,$K[&quot;clause&quot;]);echo'&lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($B!=&quot;&quot;)echo'&lt;input type=&quot;submit&quot; name=&quot;drop&quot; value=&quot;Drop&quot;&gt;',confirm(sprintf('Drop %s?',$B));echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;trigger&quot;])){$a=$_GET[&quot;trigger&quot;];$B=&quot;$_GET[name]&quot;;$jj=trigger_options();$K=(array)trigger($B,$a)+array(&quot;Trigger&quot;=&gt;$a.&quot;_bi&quot;);if($_POST){if(!$l&amp;&amp;in_array($_POST[&quot;Timing&quot;],$jj[&quot;Timing&quot;])&amp;&amp;in_array($_POST[&quot;Event&quot;],$jj[&quot;Event&quot;])&amp;&amp;in_array($_POST[&quot;Type&quot;],$jj[&quot;Type&quot;])){$Sf=&quot; ON &quot;.table($a);$ic=&quot;DROP TRIGGER &quot;.idf_escape($B).(JUSH==&quot;pgsql&quot;?$Sf:&quot;&quot;);$Se=ME.&quot;table=&quot;.urlencode($a);if($_POST[&quot;drop&quot;])query_redirect($ic,$Se,'Trigger has been dropped.');else{if($B!=&quot;&quot;)queries($ic);queries_redirect($Se,($B!=&quot;&quot;?'Trigger has been altered.':'Trigger has been created.'),queries(create_trigger($Sf,$_POST)));if($B!=&quot;&quot;)queries(create_trigger($Sf,$K+array(&quot;Type&quot;=&gt;reset($jj[&quot;Type&quot;]))));}}$K=$_POST;}page_header(($B!=&quot;&quot;?'Alter trigger'.&quot;: &quot;.h($B):'Create trigger'),$l,array(&quot;table&quot;=&gt;$a));echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot; id=&quot;form&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;table class=&quot;layout&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;tr&gt;&lt;th&gt;Time&lt;td&gt;',html_select(&quot;Timing&quot;,$jj[&quot;Timing&quot;],$K[&quot;Timing&quot;],&quot;triggerChange(/^&quot;.preg_quote($a,&quot;/&quot;).&quot;_[ba][iud]$/, '&quot;.js_escape($a).&quot;', this.form);&quot;),'&lt;tr&gt;&lt;th&gt;Event&lt;td&gt;',html_select(&quot;Event&quot;,$jj[&quot;Event&quot;],$K[&quot;Event&quot;],&quot;this.form['Timing'].onchange();&quot;),(in_array(&quot;UPDATE OF&quot;,$jj[&quot;Event&quot;])?&quot; &lt;input name='Of' value='&quot;.h($K[&quot;Of&quot;]).&quot;' class='hidden'&gt;&quot;:&quot;&quot;),'&lt;tr&gt;&lt;th&gt;Type&lt;td&gt;',html_select(&quot;Type&quot;,$jj[&quot;Type&quot;],$K[&quot;Type&quot;]),'&lt;/table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;Name: &lt;input name=&quot;Trigger&quot; value=&quot;',h($K[&quot;Trigger&quot;]),'&quot; data-maxlength=&quot;64&quot; autocapitalize=&quot;off&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',script(&quot;qs('#form')['Timing'].onchange();&quot;),'&lt;p&gt;';textarea(&quot;Statement&quot;,$K[&quot;Statement&quot;]);echo'&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if($B!=&quot;&quot;)echo'&lt;input type=&quot;submit&quot; name=&quot;drop&quot; value=&quot;Drop&quot;&gt;',confirm(sprintf('Drop %s?',$B));echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;user&quot;])){$fa=$_GET[&quot;user&quot;];$Zg=array(&quot;&quot;=&gt;array(&quot;All privileges&quot;=&gt;&quot;&quot;));foreach(get_rows(&quot;SHOW PRIVILEGES&quot;)as$K){foreach(explode(&quot;,&quot;,($K[&quot;Privilege&quot;]==&quot;Grant option&quot;?&quot;&quot;:$K[&quot;Context&quot;]))as$_b)$Zg[$_b][$K[&quot;Privilege&quot;]]=$K[&quot;Comment&quot;];}$Zg[&quot;Server Admin&quot;]+=$Zg[&quot;File access on server&quot;];$Zg[&quot;Databases&quot;][&quot;Create routine&quot;]=$Zg[&quot;Procedures&quot;][&quot;Create routine&quot;];unset($Zg[&quot;Procedures&quot;][&quot;Create routine&quot;]);$Zg[&quot;Columns&quot;]=array();foreach(array(&quot;Select&quot;,&quot;Insert&quot;,&quot;Update&quot;,&quot;References&quot;)as$X)$Zg[&quot;Columns&quot;][$X]=$Zg[&quot;Tables&quot;][$X];unset($Zg[&quot;Server Admin&quot;][&quot;Usage&quot;]);foreach($Zg[&quot;Tables&quot;]as$x=&gt;$X)unset($Zg[&quot;Databases&quot;][$x]);$Af=array();if($_POST){foreach($_POST[&quot;objects&quot;]as$x=&gt;$X)$Af[$X]=(array)$Af[$X]+idx($_POST[&quot;grants&quot;],$x,array());}$vd=array();$Qf=&quot;&quot;;if(isset($_GET[&quot;host&quot;])&amp;&amp;($I=connection()-&gt;query(&quot;SHOW GRANTS FOR &quot;.q($fa).&quot;@&quot;.q($_GET[&quot;host&quot;])))){while($K=$I-&gt;fetch_row()){if(preg_match('~GRANT (.*) ON (.*) TO ~',$K[0],$A)&amp;&amp;preg_match_all('~ *([^(,]*[^ ,(])( *\([^)]+\))?~',$A[1],$Ze,PREG_SET_ORDER)){foreach($Ze</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X){if($X[1]!=&quot;USAGE&quot;)$vd[&quot;$A[2]$X[2]&quot;][$X[1]]=true;if(preg_match('~ WITH GRANT OPTION~',$K[0]))$vd[&quot;$A[2]$X[2]&quot;][&quot;GRANT OPTION&quot;]=true;}}if(preg_match(&quot;~ IDENTIFIED BY PASSWORD '([^']+)~&quot;,$K[0],$A))$Qf=$A[1];}}if($_POST&amp;&amp;!$l){$Rf=(isset($_GET[&quot;host&quot;])?q($fa).&quot;@&quot;.q($_GET[&quot;host&quot;]):&quot;''&quot;);if($_POST[&quot;drop&quot;])query_redirect(&quot;DROP USER $Rf&quot;,ME.&quot;privileges=&quot;,'User has been dropped.');else{$Cf=q($_POST[&quot;user&quot;]).&quot;@&quot;.q($_POST[&quot;host&quot;]);$Eg=$_POST[&quot;pass&quot;];if($Eg!=''&amp;&amp;!$_POST[&quot;hashed&quot;]&amp;&amp;!min_version(8)){$Eg=get_val(&quot;SELECT PASSWORD(&quot;.q($Eg).&quot;)&quot;);$l=!$Eg;}$Eb=false;if(!$l){if($Rf!=$Cf){$Eb=queries((min_version(5)?&quot;CREATE USER&quot;:&quot;GRANT USAGE ON *.* TO&quot;).&quot; $Cf IDENTIFIED BY &quot;.(min_version(8)?&quot;&quot;:&quot;PASSWORD &quot;).q($Eg));$l=!$Eb;}elseif($Eg!=$Qf)queries(&quot;SET PASSWORD FOR $Cf = &quot;.q($Eg));}if(!$l){$xh=array();foreach($Af</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Kf=&gt;$ud){if(isset($_GET[&quot;grant&quot;]))$ud=array_filter($ud);$ud=array_keys($ud);if(isset($_GET[&quot;grant&quot;]))$xh=array_diff(array_keys(array_filter($Af[$Kf],'strlen')),$ud);elseif($Rf==$Cf){$Of=array_keys((array)$vd[$Kf]);$xh=array_diff($Of,$ud);$ud=array_diff($ud,$Of);unset($vd[$Kf]);}if(preg_match('~^(.+)\s*(\(.*\))?$~U',$Kf,$A)&amp;&amp;(!grant(&quot;REVOKE&quot;,$xh,$A[2],&quot; ON $A[1] FROM $Cf&quot;)||!grant(&quot;GRANT&quot;,$ud,$A[2],&quot; ON $A[1] TO $Cf&quot;))){$l=true;break;}}}if(!$l&amp;&amp;isset($_GET[&quot;host&quot;])){if($Rf!=$Cf)queries(&quot;DROP USER $Rf&quot;);elseif(!isset($_GET[&quot;grant&quot;])){foreach($vd</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Kf=&gt;$xh){if(preg_match('~^(.+)(\(.*\))?$~U',$Kf,$A))grant(&quot;REVOKE&quot;,array_keys($xh),$A[2],&quot; ON $A[1] FROM $Cf&quot;);}}}queries_redirect(ME.&quot;privileges=&quot;,(isset($_GET[&quot;host&quot;])?'User has been altered.':'User has been created.'),!$l);if($Eb)connection()-&gt;query(&quot;DROP USER $Cf&quot;);}}page_header((isset($_GET[&quot;host&quot;])?'Username'.&quot;: &quot;.h(&quot;$fa@$_GET[host]&quot;):'Create user'),$l,array(&quot;privileges&quot;=&gt;array('','Privileges')));$K=$_POST;if($K)$vd=$Af;else{$K=$_GET+array(&quot;host&quot;=&gt;get_val(&quot;SELECT SUBSTRING_INDEX(CURRENT_USER, '@', -1)&quot;));$K[&quot;pass&quot;]=$Qf;if($Qf!=&quot;&quot;)$K[&quot;hashed&quot;]=true;$vd[(DB==&quot;&quot;||$vd?&quot;&quot;:idf_escape(addcslashes(DB,&quot;%_\\&quot;))).&quot;.*&quot;]=array();}echo'&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;table class=&quot;layout&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;tr&gt;&lt;th&gt;Server&lt;td&gt;&lt;input name=&quot;host&quot; data-maxlength=&quot;60&quot; value=&quot;',h($K[&quot;host&quot;]),'&quot; autocapitalize=&quot;off&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;tr&gt;&lt;th&gt;Username&lt;td&gt;&lt;input name=&quot;user&quot; data-maxlength=&quot;80&quot; value=&quot;',h($K[&quot;user&quot;]),'&quot; autocapitalize=&quot;off&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;tr&gt;&lt;th&gt;Password&lt;td&gt;&lt;input name=&quot;pass&quot; id=&quot;pass&quot; value=&quot;',h($K[&quot;pass&quot;]),'&quot; autocomplete=&quot;new-password&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',($K[&quot;hashed&quot;]?&quot;&quot;:script(&quot;typePassword(qs('#pass'));&quot;)),(min_version(8)?&quot;&quot;:checkbox(&quot;hashed&quot;,1,$K[&quot;hashed&quot;],'Hashed',&quot;typePassword(this.form['pass'], this.checked);&quot;)),'&lt;/table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',&quot;&lt;table class='odds'&gt;\n&quot;,&quot;&lt;thead&gt;&lt;tr&gt;&lt;th colspan='2'&gt;&quot;.'Privileges'.doc_link(array('sql'=&gt;&quot;grant.html#priv_level&quot;));$s=0;foreach($vd</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Kf=&gt;$ud){echo'&lt;th&gt;'.($Kf!=&quot;*.*&quot;?&quot;&lt;input name='objects[$s]' value='&quot;.h($Kf).&quot;' size='10' autocapitalize='off'&gt;&quot;:input_hidden(&quot;objects[$s]&quot;,&quot;*.*&quot;).&quot;*.*&quot;);$s++;}echo&quot;&lt;/thead&gt;\n&quot;;foreach(array(&quot;&quot;=&gt;&quot;&quot;,&quot;Server Admin&quot;=&gt;'Server',&quot;Databases&quot;=&gt;'Database',&quot;Tables&quot;=&gt;'Table',&quot;Columns&quot;=&gt;'Column',&quot;Procedures&quot;=&gt;'Routine',)as$_b=&gt;$Yb){foreach((array)$Zg[$_b]as$Yg=&gt;$ob){echo&quot;&lt;tr&gt;&lt;td&quot;.($Yb?&quot;&gt;$Yb&lt;td&quot;:&quot; colspan='2'&quot;).' lang=&quot;en&quot; title=&quot;'.h($ob).'&quot;&gt;'.h($Yg);$s=0;foreach($vd</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Kf=&gt;$ud){$B=&quot;'grants[$s][&quot;.h(strtoupper($Yg)).&quot;]'&quot;;$Y=$ud[strtoupper($Yg)];if($_b==&quot;Server Admin&quot;&amp;&amp;$Kf!=(isset($vd[&quot;*.*&quot;])?&quot;*.*&quot;:&quot;.*&quot;))echo&quot;&lt;td&gt;&quot;;elseif(isset($_GET[&quot;grant&quot;]))echo&quot;&lt;td&gt;&lt;select name=$B&gt;&lt;option&gt;&lt;option value='1'&quot;.($Y?&quot; selected&quot;:&quot;&quot;).&quot;&gt;&quot;.'Grant'.&quot;&lt;option value='0'&quot;.($Y==&quot;0&quot;?&quot; selected&quot;:&quot;&quot;).&quot;&gt;&quot;.'Revoke'.&quot;&lt;/select&gt;&quot;;else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">echo&quot;&lt;td align='center'&gt;&lt;label class='block'&gt;&quot;,&quot;&lt;input type='checkbox' name=$B value='1'&quot;.($Y?&quot; checked&quot;:&quot;&quot;).($Yg==&quot;All privileges&quot;?&quot; id='grants-$s-all'&gt;&quot;:&quot;&gt;&quot;.($Yg==&quot;Grant option&quot;?&quot;&quot;:script(&quot;qsl('input').onclick = function () { if (this.checked) formUncheck('grants-$s-all'); };&quot;))),&quot;&lt;/label&gt;&quot;;$s++;}}}echo&quot;&lt;/table&gt;\n&quot;,'&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if(isset($_GET[&quot;host&quot;]))echo'&lt;input type=&quot;submit&quot; name=&quot;drop&quot; value=&quot;Drop&quot;&gt;',confirm(sprintf('Drop %s?',&quot;$fa@$_GET[host]&quot;));echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';}elseif(isset($_GET[&quot;processlist&quot;])){if(support(&quot;kill&quot;)){if($_POST&amp;&amp;!$l){$Ee=0;foreach((array)$_POST[&quot;kill&quot;]as$X){if(adminer()-&gt;killProcess($X))$Ee++;}queries_redirect(ME.&quot;processlist=&quot;,lang_format(array('%d process has been killed.','%d processes have been killed.'),$Ee),$Ee||!$_POST[&quot;kill&quot;]);}}page_header('Process list',$l);echo'</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form action=&quot;&quot; method=&quot;post&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;div class=&quot;scrollable&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;table class=&quot;nowrap checkable odds&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',script(&quot;mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});&quot;);$s=-1;foreach(adminer()-&gt;processList()as$s=&gt;$K){if(!$s){echo&quot;&lt;thead&gt;&lt;tr lang='en'&gt;&quot;.(support(&quot;kill&quot;)?&quot;&lt;th&gt;&quot;:&quot;&quot;);foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)echo&quot;&lt;th&gt;$x&quot;.doc_link(array('sql'=&gt;&quot;show-processlist.html#processlist_&quot;.strtolower($x),'pgsql'=&gt;&quot;monitoring-stats.html#PG-STAT-ACTIVITY-VIEW&quot;,'oracle'=&gt;&quot;REFRN30223&quot;,));echo&quot;&lt;/thead&gt;\n&quot;;}echo&quot;&lt;tr&gt;&quot;.(support(&quot;kill&quot;)?&quot;&lt;td&gt;&quot;.checkbox(&quot;kill[]&quot;,$K[JUSH==&quot;sql&quot;?&quot;Id&quot;:&quot;pid&quot;],0):&quot;&quot;);foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)echo&quot;&lt;td&gt;&quot;.((JUSH==&quot;sql&quot;&amp;&amp;$x==&quot;Info&quot;&amp;&amp;preg_match(&quot;~Query|Killed~&quot;,$K[&quot;Command&quot;])&amp;&amp;$X!=&quot;&quot;)||(JUSH==&quot;pgsql&quot;&amp;&amp;$x==&quot;current_query&quot;&amp;&amp;$X!=&quot;&lt;IDLE&gt;&quot;)||(JUSH==&quot;oracle&quot;&amp;&amp;$x==&quot;sql_text&quot;&amp;&amp;$X!=&quot;&quot;)?&quot;&lt;code class='jush-&quot;.JUSH.&quot;'&gt;&quot;.shorten_utf8($X,100,&quot;&lt;/code&gt;&quot;).' &lt;a href=&quot;'.h(ME.($K[&quot;db&quot;]!=&quot;&quot;?&quot;db=&quot;.urlencode($K[&quot;db&quot;]).&quot;&amp;&quot;:&quot;&quot;).&quot;sql=&quot;.urlencode($X)).'&quot;&gt;'.'Clone'.'&lt;/a&gt;':h($X));echo&quot;\n&quot;;}echo'&lt;/table&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;/div&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;p&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';if(support(&quot;kill&quot;))echo($s+1).&quot;/&quot;.sprintf('%d in total',max_connections()),&quot;&lt;p&gt;&lt;input type='submit' value='&quot;.'Kill'.&quot;'&gt;\n&quot;;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),'&lt;/form&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">',script(&quot;tableCheck();&quot;);}elseif(isset($_GET[&quot;select&quot;])){$a=$_GET[&quot;select&quot;];$S=table_status1($a);$w=indexes($a);$n=fields($a);$ld=column_foreign_keys($a);$Mf=$S[&quot;Oid&quot;];$na=get_settings(&quot;adminer_import&quot;);$yh=array();$e=array();$Lh=array();$eg=array();$Oi=&quot;&quot;;foreach($n</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$m){$B=adminer()-&gt;fieldName($m);$zf=html_entity_decode(strip_tags($B),ENT_QUOTES);if(isset($m[&quot;privileges&quot;][&quot;select&quot;])&amp;&amp;$B!=&quot;&quot;){$e[$x]=$zf;if(is_shortable($m))$Oi=adminer()-&gt;selectLengthProcess();}if(isset($m[&quot;privileges&quot;][&quot;where&quot;])&amp;&amp;$B!=&quot;&quot;)$Lh[$x]=$zf;if(isset($m[&quot;privileges&quot;][&quot;order&quot;])&amp;&amp;$B!=&quot;&quot;)$eg[$x]=$zf;$yh+=$m[&quot;privileges&quot;];}list($M,$wd)=adminer()-&gt;selectColumnsProcess($e,$w);$M=array_unique($M);$wd=array_unique($wd);$ue=count($wd)&lt;count($M);$Z=adminer()-&gt;selectSearchProcess($n,$w);$dg=adminer()-&gt;selectOrderProcess($n,$w);$z=adminer()-&gt;selectLimitProcess();if($_GET[&quot;val&quot;]&amp;&amp;is_ajax()){header(&quot;Content-Type: text/plain; charset=utf-8&quot;);foreach($_GET[&quot;val&quot;]as$sj=&gt;$K){$wa=convert_field($n[key($K)]);$M=array($wa?:idf_escape(key($K)));$Z[]=where_check($sj,$n);$J=driver()-&gt;select($a,$M,$Z,$M);if($J)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">first($J-&gt;fetch_row());}exit;}$G=$uj=array();foreach($w</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$v){if($v[&quot;type&quot;]==&quot;PRIMARY&quot;){$G=array_flip($v[&quot;columns&quot;]);$uj=($M?$G:array());foreach($uj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if(in_array(idf_escape($x),$M))unset($uj[$x]);}break;}}if($Mf&amp;&amp;!$G){$G=$uj=array($Mf=&gt;0);$w[]=array(&quot;type&quot;=&gt;&quot;PRIMARY&quot;,&quot;columns&quot;=&gt;array($Mf));}if($_POST&amp;&amp;!$l){$Tj=$Z;if(!$_POST[&quot;all&quot;]&amp;&amp;is_array($_POST[&quot;check&quot;])){$ab=array();foreach($_POST[&quot;check&quot;]as$Wa)$ab[]=where_check($Wa,$n);$Tj[]=&quot;((&quot;.implode(&quot;) OR (&quot;,$ab).&quot;))&quot;;}$Tj=($Tj?&quot;\nWHERE &quot;.implode(&quot; AND &quot;,$Tj):&quot;&quot;);if($_POST[&quot;export&quot;]){save_settings(array(&quot;output&quot;=&gt;$_POST[&quot;output&quot;],&quot;format&quot;=&gt;$_POST[&quot;format&quot;]),&quot;adminer_import&quot;);dump_headers($a);adminer()-&gt;dumpTable($a,&quot;&quot;);$pd=($M?implode(&quot;, &quot;,$M):&quot;*&quot;).convert_fields($e,$n,$M).&quot;\nFROM &quot;.table($a);$yd=($wd&amp;&amp;$ue?&quot;\nGROUP BY &quot;.implode(&quot;, &quot;,$wd):&quot;&quot;).($dg?&quot;\nORDER BY &quot;.implode(&quot;, &quot;,$dg):&quot;&quot;);$H=&quot;SELECT $pd$Tj$yd&quot;;if(is_array($_POST[&quot;check&quot;])&amp;&amp;!$G){$qj=array();foreach($_POST[&quot;check&quot;]as$X)$qj[]=&quot;(SELECT&quot;.limit($pd,&quot;\nWHERE &quot;.($Z?implode(&quot; AND &quot;,$Z).&quot; AND &quot;:&quot;&quot;).where_check($X,$n).$yd,1).&quot;)&quot;;$H=implode(&quot; UNION ALL &quot;,$qj);}adminer()-&gt;dumpData($a,&quot;table&quot;,$H);adminer()-&gt;dumpFooter();exit;}if(!adminer()-&gt;selectEmailProcess($Z,$ld)){if($_POST[&quot;save&quot;]||$_POST[&quot;delete&quot;]){$I=true;$oa=0;$O=array();if(!$_POST[&quot;delete&quot;]){foreach($_POST[&quot;fields&quot;]as$B=&gt;$X){$X=process_input($n[$B]);if($X!==null&amp;&amp;($_POST[&quot;clone&quot;]||$X!==false))$O[idf_escape($B)]=($X!==false?$X:idf_escape($B));}}if($_POST[&quot;delete&quot;]||$O){$H=($_POST[&quot;clone&quot;]?&quot;INTO &quot;.table($a).&quot; (&quot;.implode(&quot;, &quot;,array_keys($O)).&quot;)\nSELECT &quot;.implode(&quot;, &quot;,$O).&quot;\nFROM &quot;.table($a):&quot;&quot;);if($_POST[&quot;all&quot;]||($G&amp;&amp;is_array($_POST[&quot;check&quot;]))||$ue){$I=($_POST[&quot;delete&quot;]?driver()-&gt;delete($a,$Tj):($_POST[&quot;clone&quot;]?queries(&quot;INSERT $H$Tj&quot;.driver()-&gt;insertReturning($a)):driver()-&gt;update($a,$O,$Tj)));$oa=connection()-&gt;affected_rows;if(is_object($I))$oa+=$I-&gt;num_rows;}else{foreach((array)$_POST[&quot;check&quot;]as$X){$Sj=&quot;\nWHERE &quot;.($Z?implode(&quot; AND &quot;,$Z).&quot; AND &quot;:&quot;&quot;).where_check($X,$n);$I=($_POST[&quot;delete&quot;]?driver()-&gt;delete($a,$Sj,1):($_POST[&quot;clone&quot;]?queries(&quot;INSERT&quot;.limit1($a,$H,$Sj)):driver()-&gt;update($a,$O,$Sj,1)));if(!$I)break;$oa+=connection()-&gt;affected_rows;}}}$lf=lang_format(array('%d item has been affected.','%d items have been affected.'),$oa);if($_POST[&quot;clone&quot;]&amp;&amp;$I&amp;&amp;$oa==1){$Je=last_id($I);if($Je)$lf=sprintf('Item%s has been inserted.',&quot; $Je&quot;);}queries_redirect(remove_from_uri($_POST[&quot;all&quot;]&amp;&amp;$_POST[&quot;delete&quot;]?&quot;page&quot;:&quot;&quot;),$lf,$I);if(!$_POST[&quot;delete&quot;]){$Qg=(array)$_POST[&quot;fields&quot;];edit_form($a,array_intersect_key($n,$Qg),$Qg,!$_POST[&quot;clone&quot;],$l);page_footer();exit;}}elseif(!$_POST[&quot;import&quot;]){if(!$_POST[&quot;val&quot;])$l='Ctrl+click on a value to modify it.';else{$I=true;$oa=0;foreach($_POST[&quot;val&quot;]as$sj=&gt;$K){$O=array();foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$x=bracket_escape($x,true);$O[idf_escape($x)]=(preg_match('~char|text~',$n[$x][&quot;type&quot;])||$X!=&quot;&quot;?adminer()-&gt;processInput($n[$x],$X):&quot;NULL&quot;);}$I=driver()-&gt;update($a,$O,&quot; WHERE &quot;.($Z?implode(&quot; AND &quot;,$Z).&quot; AND &quot;:&quot;&quot;).where_check($sj,$n),($ue||$G?0:1),&quot; &quot;);if(!$I)break;$oa+=connection()-&gt;affected_rows;}queries_redirect(remove_from_uri(),lang_format(array('%d item has been affected.','%d items have been affected.'),$oa),$I);}}elseif(!is_string($Zc=get_file(&quot;csv_file&quot;,true)))$l=upload_error($Zc);elseif(!preg_match('~~u',$Zc))$l='File must be in UTF-8 encoding.';else{save_settings(array(&quot;output&quot;=&gt;$na[&quot;output&quot;],&quot;format&quot;=&gt;$_POST[&quot;separator&quot;]),&quot;adminer_import&quot;);$I=true;$kb=array_keys($n);preg_match_all('~(?&gt;&quot;[^&quot;]*&quot;|[^&quot;\r\n]+)+~',$Zc,$Ze);$oa=count($Ze[0]);driver()-&gt;begin();$Rh=($_POST[&quot;separator&quot;]==&quot;csv&quot;?&quot;,&quot;:($_POST[&quot;separator&quot;]==&quot;tsv&quot;?&quot;\t&quot;:&quot;;&quot;));$L=array();foreach($Ze[0]as$x=&gt;$X){preg_match_all(&quot;~((?&gt;\&quot;[^\&quot;]*\&quot;)+|[^$Rh]*)$Rh~&quot;,$X.$Rh,$af);if(!$x&amp;&amp;!array_diff($af[1],$kb)){$kb=$af[1];$oa--;}else{$O=array();foreach($af[1]as$s=&gt;$hb)$O[idf_escape($kb[$s])]=($hb==&quot;&quot;&amp;&amp;$n[$kb[$s]][&quot;null&quot;]?&quot;NULL&quot;:q(preg_match('~^&quot;.*&quot;$~s',$hb)?str_replace('&quot;&quot;','&quot;',substr($hb,1,-1)):$hb));$L[]=$O;}}$I=(!$L||driver()-&gt;insertUpdate($a,$L,$G));if($I)driver()-&gt;commit();queries_redirect(remove_from_uri(&quot;page&quot;),lang_format(array('%d row has been imported.','%d rows have been imported.'),$oa),$I);driver()-&gt;rollback();}}}$_i=adminer()-&gt;tableName($S);if(is_ajax()){page_headers();ob_start();}else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">page_header('Select'.&quot;: $_i&quot;,$l);$O=null;if(isset($yh[&quot;insert&quot;])||!support(&quot;table&quot;)){$vg=array();foreach((array)$_GET[&quot;where&quot;]as$X){if(isset($ld[$X[&quot;col&quot;]])&amp;&amp;count($ld[$X[&quot;col&quot;]])==1&amp;&amp;($X[&quot;op&quot;]==&quot;=&quot;||(!$X[&quot;op&quot;]&amp;&amp;(is_array($X[&quot;val&quot;])||!preg_match('~[_%]~',$X[&quot;val&quot;])))))$vg[&quot;set&quot;.&quot;[&quot;.bracket_escape($X[&quot;col&quot;]).&quot;]&quot;]=$X[&quot;val&quot;];}$O=$vg?&quot;&amp;&quot;.http_build_query($vg):&quot;&quot;;}adminer()-&gt;selectLinks($S,$O);if(!$e&amp;&amp;support(&quot;table&quot;))echo&quot;&lt;p class='error'&gt;&quot;.'Unable to select the table'.($n?&quot;.&quot;:&quot;: &quot;.error()).&quot;\n&quot;;else{echo&quot;&lt;form action='' id='form'&gt;\n&quot;,&quot;&lt;div style='display: none;'&gt;&quot;;hidden_fields_get();echo(DB!=&quot;&quot;?input_hidden(&quot;db&quot;,DB).(isset($_GET[&quot;ns&quot;])?input_hidden(&quot;ns&quot;,$_GET[&quot;ns&quot;]):&quot;&quot;):&quot;&quot;),input_hidden(&quot;select&quot;,$a),&quot;&lt;/div&gt;\n&quot;;adminer()-&gt;selectColumnsPrint($M,$e);adminer()-&gt;selectSearchPrint($Z,$Lh,$w);adminer()-&gt;selectOrderPrint($dg,$eg,$w);adminer()-&gt;selectLimitPrint($z);adminer()-&gt;selectLengthPrint($Oi);adminer()-&gt;selectActionPrint($w);echo&quot;&lt;/form&gt;\n&quot;;$D=$_GET[&quot;page&quot;];$od=null;if($D==&quot;last&quot;){$od=get_val(count_rows($a,$Z,$ue,$wd));$D=floor(max(0,intval($od)-1)/$z);}$Mh=$M;$xd=$wd;if(!$Mh){$Mh[]=&quot;*&quot;;$Ab=convert_fields($e,$n,$M);if($Ab)$Mh[]=substr($Ab,2);}foreach($M</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$m=$n[idf_unescape($X)];if($m&amp;&amp;($wa=convert_field($m)))$Mh[$x]=&quot;$wa AS $X&quot;;}if(!$ue&amp;&amp;$uj){foreach($uj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$Mh[]=idf_escape($x);if($xd)$xd[]=idf_escape($x);}}$I=driver()-&gt;select($a,$Mh,$Z,$xd,$dg,$z,$D,true);if(!$I)echo&quot;&lt;p class='error'&gt;&quot;.error().&quot;\n&quot;;else{if(JUSH==&quot;mssql&quot;&amp;&amp;$D)$I-&gt;seek($z*$D);$vc=array();echo&quot;&lt;form action='' method='post' enctype='multipart/form-data'&gt;\n&quot;;$L=array();while($K=$I-&gt;fetch_assoc()){if($D&amp;&amp;JUSH==&quot;oracle&quot;)unset($K[&quot;RNUM&quot;]);$L[]=$K;}if($_GET[&quot;page&quot;]!=&quot;last&quot;&amp;&amp;$z&amp;&amp;$wd&amp;&amp;$ue&amp;&amp;JUSH==&quot;sql&quot;)$od=get_val(&quot; SELECT FOUND_ROWS()&quot;);if(!$L)echo&quot;&lt;p class='message'&gt;&quot;.'No rows.'.&quot;\n&quot;;else{$Ea=adminer()-&gt;backwardKeys($a,$_i);echo&quot;&lt;div class='scrollable'&gt;&quot;,&quot;&lt;table id='table' class='nowrap checkable odds'&gt;&quot;,script(&quot;mixin(qs('#table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true), onkeydown: editingKeydown});&quot;),&quot;&lt;thead&gt;&lt;tr&gt;&quot;.(!$wd&amp;&amp;$M?&quot;&quot;:&quot;&lt;td&gt;&lt;input type='checkbox' id='all-page' class='jsonly'&gt;&quot;.script(&quot;qs('#all-page').onclick = partial(formCheck, /check/);&quot;,&quot;&quot;).&quot; &lt;a href='&quot;.h($_GET[&quot;modify&quot;]?remove_from_uri(&quot;modify&quot;):$_SERVER[&quot;REQUEST_URI&quot;].&quot;&amp;modify=1&quot;).&quot;'&gt;&quot;.'Modify'.&quot;&lt;/a&gt;&quot;);$_f=array();$rd=array();reset($M);$ih=1;foreach($L[0]as$x=&gt;$X){if(!isset($uj[$x])){$X=idx($_GET[&quot;columns&quot;],key($M))?:array();$m=$n[$M?($X?$X[&quot;col&quot;]:current($M)):$x];$B=($m?adminer()-&gt;fieldName($m,$ih):($X[&quot;fun&quot;]?&quot;*&quot;:h($x)));if($B!=&quot;&quot;){$ih++;$_f[$x]=$B;$d=idf_escape($x);$Nd=remove_from_uri('(order|desc)[^=]*|page').'&amp;order%5B0%5D='.urlencode($x);$Yb=&quot;&amp;desc%5B0%5D=1&quot;;echo&quot;&lt;th id='th[&quot;.h(bracket_escape($x)).&quot;]'&gt;&quot;.script(&quot;mixin(qsl('th'), {onmouseover: partial(columnMouse), onmouseout: partial(columnMouse, ' hidden')});&quot;,&quot;&quot;);$qd=apply_sql_function($X[&quot;fun&quot;],$B);$ei=isset($m[&quot;privileges&quot;][&quot;order&quot;])||$qd;echo($ei?&quot;&lt;a href='&quot;.h($Nd.($dg[0]==$d||$dg[0]==$x?$Yb:'')).&quot;'&gt;$qd&lt;/a&gt;&quot;:$qd),&quot;&lt;span class='column hidden'&gt;&quot;;if($ei)echo&quot;&lt;a href='&quot;.h($Nd.$Yb).&quot;' title='&quot;.'descending'.&quot;' class='text'&gt; â†“&lt;/a&gt;&quot;;if(!$X[&quot;fun&quot;]&amp;&amp;isset($m[&quot;privileges&quot;][&quot;where&quot;]))echo'&lt;a href=&quot;#fieldset-search&quot; title=&quot;'.'Search'.'&quot; class=&quot;text jsonly&quot;&gt; =&lt;/a&gt;',script(&quot;qsl('a').onclick = partial(selectSearch, '&quot;.js_escape($x).&quot;');&quot;);echo&quot;&lt;/span&gt;&quot;;}$rd[$x]=$X[&quot;fun&quot;];next($M);}}$Oe=array();if($_GET[&quot;modify&quot;]){foreach($L</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$K){foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)$Oe[$x]=max($Oe[$x],min(40,strlen(utf8_decode($X))));}}echo($Ea?&quot;&lt;th&gt;&quot;.'Relations':&quot;&quot;).&quot;&lt;/thead&gt;\n&quot;;if(is_ajax())ob_end_clean();foreach(adminer()-&gt;rowDescriptions($L,$ld)as$yf=&gt;$K){$rj=unique_array($L[$yf],$w);if(!$rj){$rj=array();reset($M);foreach($L[$yf]as$x=&gt;$X){if(!preg_match('~^(COUNT|AVG|GROUP_CONCAT|MAX|MIN|SUM)\(~',current($M)))$rj[$x]=$X;next($M);}}$sj=&quot;&quot;;foreach($rj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){$m=(array)$n[$x];if((JUSH==&quot;sql&quot;||JUSH==&quot;pgsql&quot;)&amp;&amp;preg_match('~char|text|enum|set~',$m[&quot;type&quot;])&amp;&amp;strlen($X)&gt;64){$x=(strpos($x,'(')?$x:idf_escape($x));$x=&quot;MD5(&quot;.(JUSH!='sql'||preg_match(&quot;~^utf8~&quot;,$m[&quot;collation&quot;])?$x:&quot;CONVERT($x USING &quot;.charset(connection()).&quot;)&quot;).&quot;)&quot;;$X=md5($X);}$sj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;&amp;&quot;.($X!==null?urlencode(&quot;where[&quot;.bracket_escape($x).&quot;]&quot;).&quot;=&quot;.urlencode($X===false?&quot;f&quot;:$X):&quot;null%5B%5D=&quot;.urlencode($x));}echo&quot;&lt;tr&gt;&quot;.(!$wd&amp;&amp;$M?&quot;&quot;:&quot;&lt;td&gt;&quot;.checkbox(&quot;check[]&quot;,substr($sj,1),in_array(substr($sj,1),(array)$_POST[&quot;check&quot;])).($ue||information_schema(DB)?&quot;&quot;:&quot; &lt;a href='&quot;.h(ME.&quot;edit=&quot;.urlencode($a).$sj).&quot;' class='edit'&gt;&quot;.'edit'.&quot;&lt;/a&gt;&quot;));reset($M);foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X){if(isset($_f[$x])){$d=current($M);$m=(array)$n[$x];$X=driver()-&gt;value($X,$m);if($X!=&quot;&quot;&amp;&amp;(!isset($vc[$x])||$vc[$x]!=&quot;&quot;))$vc[$x]=(is_mail($X)?$_f[$x]:&quot;&quot;);$_=&quot;&quot;;if(is_blob($m)&amp;&amp;$X!=&quot;&quot;)$_=ME.'download='.urlencode($a).'&amp;field='.urlencode($x).$sj;if(!$_&amp;&amp;$X!==null){foreach((array)$ld[$x]as$p){if(count($ld[$x])==1||end($p[&quot;source&quot;])==$x){$_=&quot;&quot;;foreach($p[&quot;source&quot;]as$s=&gt;$fi)$_</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=where_link($s,$p[&quot;target&quot;][$s],$L[$yf][$fi]);$_=($p[&quot;db&quot;]!=&quot;&quot;?preg_replace('~([?&amp;]db=)[^&amp;]+~','\1'.urlencode($p[&quot;db&quot;]),ME):ME).'select='.urlencode($p[&quot;table&quot;]).$_;if($p[&quot;ns&quot;])$_=preg_replace('~([?&amp;]ns=)[^&amp;]+~','\1'.urlencode($p[&quot;ns&quot;]),$_);if(count($p[&quot;source&quot;])==1)break;}}}if($d==&quot;COUNT(*)&quot;){$_=ME.&quot;select=&quot;.urlencode($a);$s=0;foreach((array)$_GET[&quot;where&quot;]as$W){if(!array_key_exists($W[&quot;col&quot;],$rj))$_</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=where_link($s++,$W[&quot;col&quot;],$W[&quot;val&quot;],$W[&quot;op&quot;]);}foreach($rj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$Ae=&gt;$W)$_</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=where_link($s++,$Ae,$W);}$Od=select_value($X,$_,$m,$Oi);$t=h(&quot;val[$sj][&quot;.bracket_escape($x).&quot;]&quot;);$Rg=idx(idx($_POST[&quot;val&quot;],$sj),bracket_escape($x));$qc=!is_array($K[$x])&amp;&amp;is_utf8($Od)&amp;&amp;$L[$yf][$x]==$K[$x]&amp;&amp;!$rd[$x]&amp;&amp;!$m[&quot;generated&quot;];$U=(preg_match('~^(AVG|MIN|MAX)\((.+)\)~',$d,$A)?$n[idf_unescape($A[2])][&quot;type&quot;]:$m[&quot;type&quot;]);$Mi=preg_match('~text|json|lob~',$U);$ve=preg_match(number_type(),$U)||preg_match('~^(CHAR_LENGTH|ROUND|FLOOR|CEIL|TIME_TO_SEC|COUNT|SUM)\(~',$d);echo&quot;&lt;td id='$t'&quot;.($ve&amp;&amp;($X===null||is_numeric(strip_tags($Od))||$U==&quot;money&quot;)?&quot; class='number'&quot;:&quot;&quot;);if(($_GET[&quot;modify&quot;]&amp;&amp;$qc&amp;&amp;$X!==null)||$Rg!==null){$Ad=h($Rg!==null?$Rg:$K[$x]);echo&quot;&gt;&quot;.($Mi?&quot;&lt;textarea name='$t' cols='30' rows='&quot;.(substr_count($K[$x],&quot;\n&quot;)+1).&quot;'&gt;$Ad&lt;/textarea&gt;&quot;:&quot;&lt;input name='$t' value='$Ad' size='$Oe[$x]'&gt;&quot;);}else{$Ue=strpos($Od,&quot;&lt;i&gt;â€¦&lt;/i&gt;&quot;);echo&quot; data-text='&quot;.($Ue?2:($Mi?1:0)).&quot;'&quot;.($qc?&quot;&quot;:&quot; data-warning='&quot;.h('Use edit link to modify this value.').&quot;'&quot;).&quot;&gt;$Od&quot;;}}next($M);}if($Ea)echo&quot;&lt;td&gt;&quot;;adminer()-&gt;backwardKeysPrint($Ea,$L[$yf]);echo&quot;&lt;/tr&gt;\n&quot;;}if(is_ajax())exit;echo&quot;&lt;/table&gt;\n&quot;,&quot;&lt;/div&gt;\n&quot;;}if(!is_ajax()){if($L||$D){$Ic=true;if($_GET[&quot;page&quot;]!=&quot;last&quot;){if(!$z||(count($L)&lt;$z&amp;&amp;($L||!$D)))$od=($D?$D*$z:0)+count($L);elseif(JUSH!=&quot;sql&quot;||!$ue){$od=($ue?false:found_rows($S,$Z));if(intval($od)&lt;max(1e4,2*($D+1)*$z))$od=first(slow_query(count_rows($a,$Z,$ue,$wd)));else$Ic=false;}}$tg=($z&amp;&amp;($od===false||$od&gt;$z||$D));if($tg)echo(($od===false?count($L)+1:$od-$D*$z)&gt;$z?'&lt;p&gt;&lt;a href=&quot;'.h(remove_from_uri(&quot;page&quot;).&quot;&amp;page=&quot;.($D+1)).'&quot; class=&quot;loadmore&quot;&gt;'.'Load more data'.'&lt;/a&gt;'.script(&quot;qsl('a').onclick = partial(selectLoadMore, $z, '&quot;.'Loading'.&quot;â€¦');&quot;,&quot;&quot;):''),&quot;\n&quot;;echo&quot;&lt;div class='footer'&gt;&lt;div&gt;\n&quot;;if($tg){$ef=($od===false?$D+(count($L)&gt;=$z?2:1):floor(($od-1)/$z));echo&quot;&lt;fieldset&gt;&quot;;if(JUSH!=&quot;simpledb&quot;){echo&quot;&lt;legend&gt;&lt;a href='&quot;.h(remove_from_uri(&quot;page&quot;)).&quot;'&gt;&quot;.'Page'.&quot;&lt;/a&gt;&lt;/legend&gt;&quot;,script(&quot;qsl('a').onclick = function () { pageClick(this.href, +prompt('&quot;.'Page'.&quot;', '&quot;.($D+1).&quot;')); return false; };&quot;),pagination(0,$D).($D&gt;5?&quot; â€¦&quot;:&quot;&quot;);for($s=max(1,$D-4);$s&lt;min($ef,$D+5);$s++)echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">pagination($s,$D);if($ef&gt;0)echo($D+5&lt;$ef?&quot; â€¦&quot;:&quot;&quot;),($Ic&amp;&amp;$od!==false?pagination($ef,$D):&quot; &lt;a href='&quot;.h(remove_from_uri(&quot;page&quot;).&quot;&amp;page=last&quot;).&quot;' title='~$ef'&gt;&quot;.'last'.&quot;&lt;/a&gt;&quot;);}else</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">echo&quot;&lt;legend&gt;&quot;.'Page'.&quot;&lt;/legend&gt;&quot;,pagination(0,$D).($D&gt;1?&quot; â€¦&quot;:&quot;&quot;),($D?pagination($D,$D):&quot;&quot;),($ef&gt;$D?pagination($D+1,$D).($ef&gt;$D+1?&quot; â€¦&quot;:&quot;&quot;):&quot;&quot;);echo&quot;&lt;/fieldset&gt;\n&quot;;}echo&quot;&lt;fieldset&gt;&quot;,&quot;&lt;legend&gt;&quot;.'Whole result'.&quot;&lt;/legend&gt;&quot;;$fc=($Ic?&quot;&quot;:&quot;~ &quot;).$od;$Wf=&quot;const checked = formChecked(this, /check/); selectCount('selected', this.checked ? '$fc' : checked); selectCount('selected2', this.checked || !checked ? '$fc' : checked);&quot;;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">checkbox(&quot;all&quot;,1,0,($od!==false?($Ic?&quot;&quot;:&quot;~ &quot;).lang_format(array('%d row','%d rows'),$od):&quot;&quot;),$Wf).&quot;\n&quot;,&quot;&lt;/fieldset&gt;\n&quot;;if(adminer()-&gt;selectCommandPrint())echo'&lt;fieldset',($_GET[&quot;modify&quot;]?'':' class=&quot;jsonly&quot;'),'&gt;&lt;legend&gt;Modify&lt;/legend&gt;&lt;div&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; value=&quot;Save&quot;',($_GET[&quot;modify&quot;]?'':' title=&quot;'.'Ctrl+click on a value to modify it.'.'&quot;'),'&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;/div&gt;&lt;/fieldset&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;fieldset&gt;&lt;legend&gt;Selected &lt;span id=&quot;selected&quot;&gt;&lt;/span&gt;&lt;/legend&gt;&lt;div&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; name=&quot;edit&quot; value=&quot;Edit&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; name=&quot;clone&quot; value=&quot;Clone&quot;&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input type=&quot;submit&quot; name=&quot;delete&quot; value=&quot;Delete&quot;&gt;',confirm(),'&lt;/div&gt;&lt;/fieldset&gt;</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">';$md=adminer()-&gt;dumpFormat();foreach((array)$_GET[&quot;columns&quot;]as$d){if($d[&quot;fun&quot;]){unset($md['sql']);break;}}if($md){print_fieldset(&quot;export&quot;,'Export'.&quot; &lt;span id='selected2'&gt;&lt;/span&gt;&quot;);$qg=adminer()-&gt;dumpOutput();echo($qg?html_select(&quot;output&quot;,$qg,$na[&quot;output&quot;]).&quot; &quot;:&quot;&quot;),html_select(&quot;format&quot;,$md,$na[&quot;format&quot;]),&quot; &lt;input type='submit' name='export' value='&quot;.'Export'.&quot;'&gt;\n&quot;,&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;}adminer()-&gt;selectEmailPrint(array_filter($vc,'strlen'),$e);echo&quot;&lt;/div&gt;&lt;/div&gt;\n&quot;;}if(adminer()-&gt;selectImportPrint())echo&quot;&lt;p&gt;&quot;,&quot;&lt;a href='#import'&gt;&quot;.'Import'.&quot;&lt;/a&gt;&quot;,script(&quot;qsl('a').onclick = partial(toggle, 'import');&quot;,&quot;&quot;),&quot;&lt;span id='import'&quot;.($_POST[&quot;import&quot;]?&quot;&quot;:&quot; class='hidden'&quot;).&quot;&gt;: &quot;,file_input(&quot;&lt;input type='file' name='csv_file'&gt; &quot;.html_select(&quot;separator&quot;,array(&quot;csv&quot;=&gt;&quot;CSV,&quot;,&quot;csv;&quot;=&gt;&quot;CSV;&quot;,&quot;tsv&quot;=&gt;&quot;TSV&quot;),$na[&quot;format&quot;]).&quot; &lt;input type='submit' name='import' value='&quot;.'Import'.&quot;'&gt;&quot;),&quot;&lt;/span&gt;&quot;;echo</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">input_token(),&quot;&lt;/form&gt;\n&quot;,(!$wd&amp;&amp;$M?&quot;&quot;:script(&quot;tableCheck();&quot;));}}}if(is_ajax()){ob_end_clean();exit;}}elseif(isset($_GET[&quot;variables&quot;])){$P=isset($_GET[&quot;status&quot;]);page_header($P?'Status':'Variables');$Jj=($P?show_status():show_variables());if(!$Jj)echo&quot;&lt;p class='message'&gt;&quot;.'No rows.'.&quot;\n&quot;;else{echo&quot;&lt;table&gt;\n&quot;;foreach($Jj</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$K){echo&quot;&lt;tr&gt;&quot;;$x=array_shift($K);echo&quot;&lt;th&gt;&lt;code class='jush-&quot;.JUSH.($P?&quot;status&quot;:&quot;set&quot;).&quot;'&gt;&quot;.h($x).&quot;&lt;/code&gt;&quot;;foreach($K</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X)echo&quot;&lt;td&gt;&quot;.nl_br(h($X));}echo&quot;&lt;/table&gt;\n&quot;;}}elseif(isset($_GET[&quot;script&quot;])){header(&quot;Content-Type: text/javascript; charset=utf-8&quot;);if($_GET[&quot;script&quot;]==&quot;db&quot;){$wi=array(&quot;Data_length&quot;=&gt;0,&quot;Index_length&quot;=&gt;0,&quot;Data_free&quot;=&gt;0);foreach(table_status()as$B=&gt;$S){json_row(&quot;Comment-$B&quot;,h($S[&quot;Comment&quot;]));if(!is_view($S)||preg_match('~materialized~i',$S[&quot;Engine&quot;])){foreach(array(&quot;Engine&quot;,&quot;Collation&quot;)as$x)json_row(&quot;$x-$B&quot;,h($S[$x]));foreach($wi+array(&quot;Auto_increment&quot;=&gt;0,&quot;Rows&quot;=&gt;0)as$x=&gt;$X){if($S[$x]!=&quot;&quot;){$X=format_number($S[$x]);if($X&gt;=0)json_row(&quot;$x-$B&quot;,($x==&quot;Rows&quot;&amp;&amp;$X&amp;&amp;$S[&quot;Engine&quot;]==(JUSH==&quot;pgsql&quot;?&quot;table&quot;:&quot;InnoDB&quot;)?&quot;~ $X&quot;:$X));if(isset($wi[$x]))$wi[$x]+=($S[&quot;Engine&quot;]!=&quot;InnoDB&quot;||$x!=&quot;Data_free&quot;?$S[$x]:0);}elseif(array_key_exists($x,$S))json_row(&quot;$x-$B&quot;,&quot;?&quot;);}}}foreach($wi</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$x=&gt;$X)json_row(&quot;sum-$x&quot;,format_number($X));json_row(&quot;&quot;);}elseif($_GET[&quot;script&quot;]==&quot;kill&quot;)connection()-&gt;query(&quot;KILL &quot;.number($_POST[&quot;kill&quot;]));else{foreach(count_tables(adminer()-&gt;databases())as$j=&gt;$X){json_row(&quot;tables-$j&quot;,$X);json_row(&quot;size-$j&quot;,db_size($j));}json_row(&quot;&quot;);}exit;}else{$Gi=array_merge((array)$_POST[&quot;tables&quot;],(array)$_POST[&quot;views&quot;]);if($Gi&amp;&amp;!$l&amp;&amp;!$_POST[&quot;search&quot;]){$I=true;$lf=&quot;&quot;;if(JUSH==&quot;sql&quot;&amp;&amp;$_POST[&quot;tables&quot;]&amp;&amp;count($_POST[&quot;tables&quot;])&gt;1&amp;&amp;($_POST[&quot;drop&quot;]||$_POST[&quot;truncate&quot;]||$_POST[&quot;copy&quot;]))queries(&quot;SET foreign_key_checks = 0&quot;);if($_POST[&quot;truncate&quot;]){if($_POST[&quot;tables&quot;])$I=truncate_tables($_POST[&quot;tables&quot;]);$lf='Tables have been truncated.';}elseif($_POST[&quot;move&quot;]){$I=move_tables((array)$_POST[&quot;tables&quot;],(array)$_POST[&quot;views&quot;],$_POST[&quot;target&quot;]);$lf='Tables have been moved.';}elseif($_POST[&quot;copy&quot;]){$I=copy_tables((array)$_POST[&quot;tables&quot;],(array)$_POST[&quot;views&quot;],$_POST[&quot;target&quot;]);$lf='Tables have been copied.';}elseif($_POST[&quot;drop&quot;]){if($_POST[&quot;views&quot;])$I=drop_views($_POST[&quot;views&quot;]);if($I&amp;&amp;$_POST[&quot;tables&quot;])$I=drop_tables($_POST[&quot;tables&quot;]);$lf='Tables have been dropped.';}elseif(JUSH==&quot;sqlite&quot;&amp;&amp;$_POST[&quot;check&quot;]){foreach((array)$_POST[&quot;tables&quot;]as$R){foreach(get_rows(&quot;PRAGMA integrity_check(&quot;.q($R).&quot;)&quot;)as$K)$lf</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;&lt;b&gt;&quot;.h($R).&quot;&lt;/b&gt;: &quot;.h($K[&quot;integrity_check&quot;]).&quot;&lt;br&gt;&quot;;}}elseif(JUSH!=&quot;sql&quot;){$I=(JUSH==&quot;sqlite&quot;?queries(&quot;VACUUM&quot;):apply_queries(&quot;VACUUM&quot;.($_POST[&quot;optimize&quot;]?&quot;&quot;:&quot; ANALYZE&quot;),$_POST[&quot;tables&quot;]));$lf='Tables have been optimized.';}elseif(!$_POST[&quot;tables&quot;])$lf='No tables.';elseif($I=queries(($_POST[&quot;optimize&quot;]?&quot;OPTIMIZE&quot;:($_POST[&quot;check&quot;]?&quot;CHECK&quot;:($_POST[&quot;repair&quot;]?&quot;REPAIR&quot;:&quot;ANALYZE&quot;))).&quot; TABLE &quot;.implode(&quot;, &quot;,array_map('Adminer\idf_escape',$_POST[&quot;tables&quot;])))){while($K=$I-&gt;fetch_assoc())$lf</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">.=&quot;&lt;b&gt;&quot;.h($K[&quot;Table&quot;]).&quot;&lt;/b&gt;: &quot;.h($K[&quot;Msg_text&quot;]).&quot;&lt;br&gt;&quot;;}queries_redirect(substr(ME,0,-1),$lf,$I);}page_header(($_GET[&quot;ns&quot;]==&quot;&quot;?'Database'.&quot;: &quot;.h(DB):'Schema'.&quot;: &quot;.h($_GET[&quot;ns&quot;])),$l,true);if(adminer()-&gt;homepage()){if($_GET[&quot;ns&quot;]!==&quot;&quot;){echo&quot;&lt;h3 id='tables-views'&gt;&quot;.'Tables and views'.&quot;&lt;/h3&gt;\n&quot;;$Fi=tables_list();if(!$Fi)echo&quot;&lt;p class='message'&gt;&quot;.'No tables.'.&quot;\n&quot;;else{echo&quot;&lt;form action='' method='post'&gt;\n&quot;;if(support(&quot;table&quot;)){echo&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;.'Search data in tables'.&quot; &lt;span id='selected2'&gt;&lt;/span&gt;&lt;/legend&gt;&lt;div&gt;&quot;,html_select(&quot;op&quot;,adminer()-&gt;operators(),idx($_POST,&quot;op&quot;,JUSH==&quot;elastic&quot;?&quot;should&quot;:&quot;LIKE %%&quot;)),&quot; &lt;input type='search' name='query' value='&quot;.h($_POST[&quot;query&quot;]).&quot;'&gt;&quot;,script(&quot;qsl('input').onkeydown = partialArg(bodyKeydown, 'search');&quot;,&quot;&quot;),&quot; &lt;input type='submit' name='search' value='&quot;.'Search'.&quot;'&gt;\n&quot;,&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;if($_POST[&quot;search&quot;]&amp;&amp;$_POST[&quot;query&quot;]!=&quot;&quot;){$_GET[&quot;where&quot;][0][&quot;op&quot;]=$_POST[&quot;op&quot;];search_tables();}}echo&quot;&lt;div class='scrollable'&gt;\n&quot;,&quot;&lt;table class='nowrap checkable odds'&gt;\n&quot;,script(&quot;mixin(qsl('table'), {onclick: tableClick, ondblclick: partialArg(tableClick, true)});&quot;),'&lt;thead&gt;&lt;tr class=&quot;wrap&quot;&gt;','&lt;td&gt;&lt;input id=&quot;check-all&quot; type=&quot;checkbox&quot; class=&quot;jsonly&quot;&gt;'.script(&quot;qs('#check-all').onclick = partial(formCheck, /^(tables|views)\[/);&quot;,&quot;&quot;),'&lt;th&gt;'.'Table','&lt;td&gt;'.'Engine'.doc_link(array('sql'=&gt;'storage-engines.html')),'&lt;td&gt;'.'Collation'.doc_link(array('sql'=&gt;'charset-charsets.html','mariadb'=&gt;'supported-character-sets-and-collations/')),'&lt;td&gt;'.'Data Length'.doc_link(array('sql'=&gt;'show-table-status.html','pgsql'=&gt;'functions-admin.html#FUNCTIONS-ADMIN-DBOBJECT','oracle'=&gt;'REFRN20286')),'&lt;td&gt;'.'Index Length'.doc_link(array('sql'=&gt;'show-table-status.html','pgsql'=&gt;'functions-admin.html#FUNCTIONS-ADMIN-DBOBJECT')),'&lt;td&gt;'.'Data Free'.doc_link(array('sql'=&gt;'show-table-status.html')),'&lt;td&gt;'.'Auto Increment'.doc_link(array('sql'=&gt;'example-auto-increment.html','mariadb'=&gt;'auto_increment/')),'&lt;td&gt;'.'Rows'.doc_link(array('sql'=&gt;'show-table-status.html','pgsql'=&gt;'catalog-pg-class.html#CATALOG-PG-CLASS','oracle'=&gt;'REFRN20286')),(support(&quot;comment&quot;)?'&lt;td&gt;'.'Comment'.doc_link(array('sql'=&gt;'show-table-status.html','pgsql'=&gt;'functions-info.html#FUNCTIONS-INFO-COMMENT-TABLE')):''),&quot;&lt;/thead&gt;\n&quot;;$T=0;foreach($Fi</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$B=&gt;$U){$Mj=($U!==null&amp;&amp;!preg_match('~table|sequence~i',$U));$t=h(&quot;Table-&quot;.$B);echo'&lt;tr&gt;&lt;td&gt;'.checkbox(($Mj?&quot;views[]&quot;:&quot;tables[]&quot;),$B,in_array(&quot;$B&quot;,$Gi,true),&quot;&quot;,&quot;&quot;,&quot;&quot;,$t),'&lt;th&gt;'.(support(&quot;table&quot;)||support(&quot;indexes&quot;)?&quot;&lt;a href='&quot;.h(ME).&quot;table=&quot;.urlencode($B).&quot;' title='&quot;.'Show structure'.&quot;' id='$t'&gt;&quot;.h($B).'&lt;/a&gt;':h($B));if($Mj&amp;&amp;!preg_match('~materialized~i',$U)){$Si='View';echo'&lt;td colspan=&quot;6&quot;&gt;'.(support(&quot;view&quot;)?&quot;&lt;a href='&quot;.h(ME).&quot;view=&quot;.urlencode($B).&quot;' title='&quot;.'Alter view'.&quot;'&gt;$Si&lt;/a&gt;&quot;:$Si),'&lt;td align=&quot;right&quot;&gt;&lt;a href=&quot;'.h(ME).&quot;select=&quot;.urlencode($B).'&quot; title=&quot;'.'Select data'.'&quot;&gt;?&lt;/a&gt;';}else{foreach(array(&quot;Engine&quot;=&gt;array(),&quot;Collation&quot;=&gt;array(),&quot;Data_length&quot;=&gt;array(&quot;create&quot;,'Alter table'),&quot;Index_length&quot;=&gt;array(&quot;indexes&quot;,'Alter indexes'),&quot;Data_free&quot;=&gt;array(&quot;edit&quot;,'New item'),&quot;Auto_increment&quot;=&gt;array(&quot;auto_increment=1&amp;create&quot;,'Alter table'),&quot;Rows&quot;=&gt;array(&quot;select&quot;,'Select data'),)as$x=&gt;$_){$t=&quot; id='$x-&quot;.h($B).&quot;'&quot;;echo($_?&quot;&lt;td align='right'&gt;&quot;.(support(&quot;table&quot;)||$x==&quot;Rows&quot;||(support(&quot;indexes&quot;)&amp;&amp;$x!=&quot;Data_length&quot;)?&quot;&lt;a href='&quot;.h(ME.&quot;$_[0]=&quot;).urlencode($B).&quot;'$t title='$_[1]'&gt;?&lt;/a&gt;&quot;:&quot;&lt;span$t&gt;?&lt;/span&gt;&quot;):&quot;&lt;td id='$x-&quot;.h($B).&quot;'&gt;&quot;);}$T++;}echo(support(&quot;comment&quot;)?&quot;&lt;td id='Comment-&quot;.h($B).&quot;'&gt;&quot;:&quot;&quot;),&quot;\n&quot;;}echo&quot;&lt;tr&gt;&lt;td&gt;&lt;th&gt;&quot;.sprintf('%d in total',count($Fi)),&quot;&lt;td&gt;&quot;.h(JUSH==&quot;sql&quot;?get_val(&quot;SELECT @@default_storage_engine&quot;):&quot;&quot;),&quot;&lt;td&gt;&quot;.h(db_collation(DB,collations()));foreach(array(&quot;Data_length&quot;,&quot;Index_length&quot;,&quot;Data_free&quot;)as$x)echo&quot;&lt;td align='right' id='sum-$x'&gt;&quot;;echo&quot;\n&quot;,&quot;&lt;/table&gt;\n&quot;,script(&quot;ajaxSetHtml('&quot;.js_escape(ME).&quot;script=db');&quot;),&quot;&lt;/div&gt;\n&quot;;if(!information_schema(DB)){echo&quot;&lt;div class='footer'&gt;&lt;div&gt;\n&quot;;$Gj=&quot;&lt;input type='submit' value='&quot;.'Vacuum'.&quot;'&gt; &quot;.on_help(&quot;'VACUUM'&quot;);$Zf=&quot;&lt;input type='submit' name='optimize' value='&quot;.'Optimize'.&quot;'&gt; &quot;.on_help(JUSH==&quot;sql&quot;?&quot;'OPTIMIZE TABLE'&quot;:&quot;'VACUUM OPTIMIZE'&quot;);echo&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;.'Selected'.&quot; &lt;span id='selected'&gt;&lt;/span&gt;&lt;/legend&gt;&lt;div&gt;&quot;.(JUSH==&quot;sqlite&quot;?$Gj.&quot;&lt;input type='submit' name='check' value='&quot;.'Check'.&quot;'&gt; &quot;.on_help(&quot;'PRAGMA integrity_check'&quot;):(JUSH==&quot;pgsql&quot;?$Gj.$Zf:(JUSH==&quot;sql&quot;?&quot;&lt;input type='submit' value='&quot;.'Analyze'.&quot;'&gt; &quot;.on_help(&quot;'ANALYZE TABLE'&quot;).$Zf.&quot;&lt;input type='submit' name='check' value='&quot;.'Check'.&quot;'&gt; &quot;.on_help(&quot;'CHECK TABLE'&quot;).&quot;&lt;input type='submit' name='repair' value='&quot;.'Repair'.&quot;'&gt; &quot;.on_help(&quot;'REPAIR TABLE'&quot;):&quot;&quot;))).&quot;&lt;input type='submit' name='truncate' value='&quot;.'Truncate'.&quot;'&gt; &quot;.on_help(JUSH==&quot;sqlite&quot;?&quot;'DELETE'&quot;:&quot;'TRUNCATE&quot;.(JUSH==&quot;pgsql&quot;?&quot;'&quot;:&quot; TABLE'&quot;)).confirm().&quot;&lt;input type='submit' name='drop' value='&quot;.'Drop'.&quot;'&gt;&quot;.on_help(&quot;'DROP TABLE'&quot;).confirm().&quot;\n&quot;;$i=(support(&quot;scheme&quot;)?adminer()-&gt;schemas():adminer()-&gt;databases());echo&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;$Jh=&quot;&quot;;if(count($i)!=1&amp;&amp;JUSH!=&quot;sqlite&quot;){echo&quot;&lt;fieldset&gt;&lt;legend&gt;&quot;.'Move to other database'.&quot; &lt;span id='selected3'&gt;&lt;/span&gt;&lt;/legend&gt;&lt;div&gt;&quot;;$j=(isset($_POST[&quot;target&quot;])?$_POST[&quot;target&quot;]:(support(&quot;scheme&quot;)?$_GET[&quot;ns&quot;]:DB));echo($i?html_select(&quot;target&quot;,$i,$j):'&lt;input name=&quot;target&quot; value=&quot;'.h($j).'&quot; autocapitalize=&quot;off&quot;&gt;'),&quot;&lt;/label&gt; &lt;input type='submit' name='move' value='&quot;.'Move'.&quot;'&gt;&quot;,(support(&quot;copy&quot;)?&quot; &lt;input type='submit' name='copy' value='&quot;.'Copy'.&quot;'&gt; &quot;.checkbox(&quot;overwrite&quot;,1,$_POST[&quot;overwrite&quot;],'overwrite'):&quot;&quot;),&quot;&lt;/div&gt;&lt;/fieldset&gt;\n&quot;;$Jh=&quot; selectCount('selected3', formChecked(this, /^(tables|views)\[/));&quot;;}echo&quot;&lt;input type='hidden' name='all' value=''&gt;&quot;,script(&quot;qsl('input').onclick = function () { selectCount('selected', formChecked(this, /^(tables|views)\[/));&quot;.(support(&quot;table&quot;)?&quot; selectCount('selected2', formChecked(this, /^tables\[/) || $T);&quot;:&quot;&quot;).&quot;$Jh }&quot;),input_token(),&quot;&lt;/div&gt;&lt;/div&gt;\n&quot;;}echo&quot;&lt;/form&gt;\n&quot;,script(&quot;tableCheck();&quot;);}echo&quot;&lt;p class='links'&gt;&lt;a href='&quot;.h(ME).&quot;create='&gt;&quot;.'Create table'.&quot;&lt;/a&gt;\n&quot;,(support(&quot;view&quot;)?&quot;&lt;a href='&quot;.h(ME).&quot;view='&gt;&quot;.'Create view'.&quot;&lt;/a&gt;\n&quot;:&quot;&quot;);if(support(&quot;routine&quot;)){echo&quot;&lt;h3 id='routines'&gt;&quot;.'Routines'.&quot;&lt;/h3&gt;\n&quot;;$Bh=routines();if($Bh){echo&quot;&lt;table class='odds'&gt;\n&quot;,'&lt;thead&gt;&lt;tr&gt;&lt;th&gt;'.'Name'.'&lt;td&gt;'.'Type'.'&lt;td&gt;'.'Return type'.&quot;&lt;td&gt;&lt;/thead&gt;\n&quot;;foreach($Bh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$K){$B=($K[&quot;SPECIFIC_NAME&quot;]==$K[&quot;ROUTINE_NAME&quot;]?&quot;&quot;:&quot;&amp;name=&quot;.urlencode($K[&quot;ROUTINE_NAME&quot;]));echo'&lt;tr&gt;','&lt;th&gt;&lt;a href=&quot;'.h(ME.($K[&quot;ROUTINE_TYPE&quot;]!=&quot;PROCEDURE&quot;?'callf=':'call=').urlencode($K[&quot;SPECIFIC_NAME&quot;]).$B).'&quot;&gt;'.h($K[&quot;ROUTINE_NAME&quot;]).'&lt;/a&gt;','&lt;td&gt;'.h($K[&quot;ROUTINE_TYPE&quot;]),'&lt;td&gt;'.h($K[&quot;DTD_IDENTIFIER&quot;]),'&lt;td&gt;&lt;a href=&quot;'.h(ME.($K[&quot;ROUTINE_TYPE&quot;]!=&quot;PROCEDURE&quot;?'function=':'procedure=').urlencode($K[&quot;SPECIFIC_NAME&quot;]).$B).'&quot;&gt;'.'Alter'.&quot;&lt;/a&gt;&quot;;}echo&quot;&lt;/table&gt;\n&quot;;}echo'&lt;p class=&quot;links&quot;&gt;'.(support(&quot;procedure&quot;)?'&lt;a href=&quot;'.h(ME).'procedure=&quot;&gt;'.'Create procedure'.'&lt;/a&gt;':'').'&lt;a href=&quot;'.h(ME).'function=&quot;&gt;'.'Create function'.&quot;&lt;/a&gt;\n&quot;;}if(support(&quot;sequence&quot;)){echo&quot;&lt;h3 id='sequences'&gt;&quot;.'Sequences'.&quot;&lt;/h3&gt;\n&quot;;$Uh=get_vals(&quot;SELECT sequence_name FROM information_schema.sequences WHERE sequence_schema = current_schema() ORDER BY sequence_name&quot;);if($Uh){echo&quot;&lt;table class='odds'&gt;\n&quot;,&quot;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&quot;.'Name'.&quot;&lt;/thead&gt;\n&quot;;foreach($Uh</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X)echo&quot;&lt;tr&gt;&lt;th&gt;&lt;a href='&quot;.h(ME).&quot;sequence=&quot;.urlencode($X).&quot;'&gt;&quot;.h($X).&quot;&lt;/a&gt;\n&quot;;echo&quot;&lt;/table&gt;\n&quot;;}echo&quot;&lt;p class='links'&gt;&lt;a href='&quot;.h(ME).&quot;sequence='&gt;&quot;.'Create sequence'.&quot;&lt;/a&gt;\n&quot;;}if(support(&quot;type&quot;)){echo&quot;&lt;h3 id='user-types'&gt;&quot;.'User types'.&quot;&lt;/h3&gt;\n&quot;;$Ej=types();if($Ej){echo&quot;&lt;table class='odds'&gt;\n&quot;,&quot;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&quot;.'Name'.&quot;&lt;/thead&gt;\n&quot;;foreach($Ej</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$X)echo&quot;&lt;tr&gt;&lt;th&gt;&lt;a href='&quot;.h(ME).&quot;type=&quot;.urlencode($X).&quot;'&gt;&quot;.h($X).&quot;&lt;/a&gt;\n&quot;;echo&quot;&lt;/table&gt;\n&quot;;}echo&quot;&lt;p class='links'&gt;&lt;a href='&quot;.h(ME).&quot;type='&gt;&quot;.'Create type'.&quot;&lt;/a&gt;\n&quot;;}if(support(&quot;event&quot;)){echo&quot;&lt;h3 id='events'&gt;&quot;.'Events'.&quot;&lt;/h3&gt;\n&quot;;$L=get_rows(&quot;SHOW EVENTS&quot;);if($L){echo&quot;&lt;table&gt;\n&quot;,&quot;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;&quot;.'Name'.&quot;&lt;td&gt;&quot;.'Schedule'.&quot;&lt;td&gt;&quot;.'Start'.&quot;&lt;td&gt;&quot;.'End'.&quot;&lt;td&gt;&lt;/thead&gt;\n&quot;;foreach($L</div></li>
<li style="font-weight: normal; vertical-align:top;"><div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">as$K)echo&quot;&lt;tr&gt;&quot;,&quot;&lt;th&gt;&quot;.h($K[&quot;Name&quot;]),&quot;&lt;td&gt;&quot;.($K[&quot;Execute at&quot;]?'At given time'.&quot;&lt;td&gt;&quot;.$K[&quot;Execute at&quot;]:'Every'.&quot; &quot;.$K[&quot;Interval value&quot;].&quot; &quot;.$K[&quot;Interval field&quot;].&quot;&lt;td&gt;$K[Starts]&quot;),&quot;&lt;td&gt;$K[Ends]&quot;,'&lt;td&gt;&lt;a href=&quot;'.h(ME).'event='.urlencode($K[&quot;Name&quot;]).'&quot;&gt;'.'Alter'.'&lt;/a&gt;';echo&quot;&lt;/table&gt;\n&quot;;$Gc=get_val(&quot;SELECT @@event_scheduler&quot;);if($Gc&amp;&amp;$Gc!=&quot;ON&quot;)echo&quot;&lt;p class='error'&gt;&lt;code class='jush-sqlset'&gt;event_scheduler&lt;/code&gt;: &quot;.h($Gc).&quot;\n&quot;;}echo'&lt;p class=&quot;links&quot;&gt;&lt;a href=&quot;'.h(ME).'event=&quot;&gt;'.'Create event'.&quot;&lt;/a&gt;\n&quot;;}}}}page_footer();</div></li>
</ol></div>]]></content:encoded>
</item>
</channel>
</rss>
