=')||exit('PHP '.PHP_VERSION.' is not supported');define('a_','document_root');define('b_','query_string');define('c_','request_uri');define('d_','php_self');define('e_','http_accept_language');define('f_','http_user_agent');define('g_','remote_addr');define('h_','server_addr');define('i_','script_filename');define('j_','script_name');define('k_','server_name');define('l_','server_protocol');define('m_','lang');define('n_','password');define('o_','session');define('p_','pass_complexity');define('q_','pass_complexity_js');define('r_','auth_time');define('s_','auth_error_time');define('t_','auth_error_list');define('u_','auth_error_limit');define('v_','auth_lockout_duration');define('w_','auth_session_reset');define('x_','auth_bot_filter');define('y_','code_redraw_delay');define('z_','code_undo_limit');define('A_','code_highlighting');define('_s','visual_ext');define('B_','allowed_ext');define('C_','editable_ext');define('D_','default_file');define('_Q','folder_size');define('E_','document_root');define('F_','url_rewrite');define('G_','logout_to_site');define('K_','site_scripts');define('L_','site_styles');define('M_','update_final');define('N_','update_beta');define('O_','cache');define('_r','filelist');define('P_','system_url');define('Q_','error_limit');define('R_','error_count');define('S_','redraw_delay');define('T_','mode');define('U_','type');define('V_','base');define('W_','code');define('X_','title');define('Y_','version');define('Z_','is_edited');define('_a','post_max_size');define('_b','upload_max_filesize');define('_c','max_file_uploads');define('_d','_checkbox');define('_m','http_ajax');define('_n','source');define('_o','token');define('_p','sha1');define('_q','html');define('_t','404');define('_u','403');define('_v','ip');define('_w','sip');define('_x','url');define('_y','name');define('_z','date');define('_A','size');define('_B','list');define('_C','file');define('_D','error');define('_E','value');define('_F','radio');define('_G','tmp_name');define('_H','language_list');define('_I','','a'=>'
','l'=>'','k'=>'','g'=>'','f'=>'');$this->a['a']=$a;$this->a['b']=$this->g(a_);if(!$this->a['b'])$this->a['b']=$b;$this->a['c']=str_ireplace($this->a['b'],'',$this->a['a']);$this->a['d']=$this->f($a);$this->a['e']=$this->f($this->a['c']);}public function __destruct(){if($this->f)$this->i();}public function a(){return $this->a['b'];}public function b(){return $this->a['a'];}public function c($a=false){return $this->a['c'];}public function d(){return $this->a['d'];}public function e(){return $this->a['e'];}public function f($a){if(substr_count($a,'/')>2)return dirname($a).'/';else return '/';}public function g($a,$b=false){if($b){if(isset($this->d[$b][$a]))return $this->d[$b][$a];}else if(isset($this->d[$a]))return $this->d[$a];}public function h($a,$b,$c=false){if($c){if(isset($this->d[$c])){$this->f=true;return $this->d[$c][$a]=$b;}}else{$this->f=true;return $this->d[$a]=$b;}}private function i(){foreach($this->d as $a=>$b)if(!is_array($b))$c[]=$a.' = '.$b.self::a.self::a;foreach($this->d as $a=>$b){if(is_array($b)){$c[]='['.$a.']'.self::a.self::a;foreach($b as $d=>$e)$c[]="\t".$d.' = '.$e.self::a;$c[]=self::a;}}if($f=fopen($this->a['a'].self::c,'w')){flock($f,LOCK_EX);fwrite($f,implode('',$c));flock($f,LOCK_UN);fclose($f);}}public function j(){return is_writable($this->a['a'].self::c);}public function k($a){if(isset($this->e[$a]))return $this->e[$a];}public function l($a,$b){foreach($b as $c=>$d)$a=str_ireplace('{'.$c.'}',$d,$a);return $a;}public function m($a,$b){preg_match_all('~\{([a-z0-9_]{2,30})\}~i',$a,$c);if($c[1]){$c[1]=array_unique($c[1]);foreach($c[1] as $d)if($e=$this->n($d,$b))$a=str_ireplace('{'.$d.'}',$e,$a);}return $a;}public function n($a,$b){if(isset($this->c[$b][$a]))return $this->c[$b][$a];}}final class d{const a='2.12s';private $a;private $b;private $c;private $d;private $e;public function __construct($a,$b,$c){$this->b=$a;$this->c=$b;$this->a=$c;$this->d=$this->g();$this->e=$this->h();}public function a(){$a=$this->b->d(__.o_,_p);if($a&&$a==$this->a->g(o_))$this->b();else{$b=time();$c=unserialize(urldecode($this->a->g(t_)));$d=$this->a->g(u_);$e=$this->b->c(g_);if($c&&isset($c[$e]))$f=$c[$e];else$f=0;if($this->b->b()&&$this->b->c(_m)){$g=$this->b->b(n_,_p);if($g&&($f<$d||$this->a->g(s_)+($this->a->g(v_)*60)<$b)){$h=$this->a->g(n_);$i=$this->a->g(q_)*1;$j=$this->a->g(p_)*1;$k=$j-$i;for($l=0;$l<$k;$l++)$g=sha1($g);if($h==$g){if($this->a->j()){$this->m();if(isset($c[$e])){unset($c[$e]);$this->a->h(t_,urlencode(serialize($c)));}if($i<5)$this->a->h(q_,15000);else$this->a->h(q_,$i-1);$this->a->h(r_,$b);$this->a->h(O_,'');}else{$this->c->a('X-a:1');$this->c->b(404,$this->a->n(_t,'en'));}}else{$this->a->h(s_,$b);$c[$e]=$f+1;$this->a->h(t_,urlencode(serialize($c)));$this->c->b(404,$this->a->n(_t,'en'));}}else$this->c->b(404,$this->a->n(_t,'en'));}else{if(!$this->a->g(x_)||$this->b->c(e_)&&$this->b->c(f_)&&preg_match('~Chrome|Firefox|Opera|Safari|AppleWebKit|Trident|MSIE~i',$this->b->c(f_))){if($f<$d||$this->a->g(s_)+($this->a->g(v_)*60)<$b){if($this->b->c(c_)===substr($this->a->c(),0,-1))throw new Exception($this->a->c(),307);$m[P_]=$this->a->c();$m[Q_]=$d;$m[R_]=$f;$m[p_]=$this->a->g(q_);$m[Y_]=self::a;$n=$this->a->k('a');$n=$this->a->l($n,$m);$n=$this->a->m($n,$this->d);$this->c->f($n);}else throw new Exception(false,403);}else throw new Exception(false,403);}}}public function b(){$aa=$this->b->a('q');$ab=$this->a->d().$aa;if(!$aa||!preg_match('~\.[a-z]{2,5}$~i',$aa)){if($this->b->c(i_)!=str_replace('\\','/',__FILE__))$this->k();$ac=$this->a->d().$this->a->g(D_);if(!file_exists($ac)&&($ad=$this->j()))throw new Exception($this->a->c().$this->i().$ad,307);else throw new Exception($this->a->c().$this->i().$this->a->g(D_),307);}if(stripos($aa,substr($this->a->c(),strripos(substr($this->a->c(),0,-1),'/')+1))===0)throw new Exception($this->a->c().$this->i().$this->a->g(D_),307);if($this->b->c(_m)){if($this->b->b('reload'))$this->m();else if($this->b->b('logout'))$this->n();else if(($ae=$this->b->b('save'))&&($af=$this->b->b(_o,_p))&&($af==$this->b->d(__._o,_p))){$this->c->e(__._o);$ae=str_replace(_L,_K,base64_decode(str_replace('_','a',$ae)));$ae=str_replace(_J,_I,$ae);if($this->q(strtolower(substr($ab,strripos($ab,'.')+1)))){if(is_writable($ab)&&$ag=fopen($ab,'w')){flock($ag,LOCK_EX);fwrite($ag,$ae);flock($ag,LOCK_UN);fclose($ag);$this->a->h(O_,'');}else{$this->c->a('X-a:1');$this->c->b(404,$this->a->n(_t,'en'));}}else$this->c->b(404,$this->a->n(_t,'en'));}else if($ah=$this->b->b('open')){$ah=rawurldecode($ah);$this->c->f($this->w($ah));}else if(($ah=$this->b->b('upload'))&&($af=$this->b->b(_o,_p))&&($af==$this->b->d(__._o,_p))){$this->c->e(__._o);$ah=rawurldecode($ah);$ai=$this->a->d().substr($ah,strlen($this->a->e()));$aj=$this->b->e(_C);if($ak=count($aj)&&is_dir($ai)){$al='';$am=$this->a->k('b');$an=str_replace(' ','',str_replace(',','|',$this->a->g(C_)));foreach($aj[_G] as $ao=>$ap){if($this->q(strtolower(substr($aj[_y][$ao],strripos($aj[_y][$ao],'.')+1)))){if(!$aj[_D][$ao]){$ab=$ai.$aj[_y][$ao];move_uploaded_file($ap,$ab);$aq[_y]=$aj[_y][$ao];$aq[_z]=filemtime($ab);$aq[_A]=filesize($ab);preg_match('~\.(?:'.$an.')$~i',$aq[_y],$ar);if(isset($ar[0]))$aq[_x]=$this->a->c().$this->i().substr($ah,strlen($this->a->e())).$aq[_y];else$aq[_x]=$ah.$aq[_y];$al.=$this->a->m($this->a->l($am,$aq),$this->d);}else$as=true;}else$at=true;if(isset($al)){$this->a->h(O_,'');$this->c->a('X-b:'.$this->y($ah));$this->c->f($al);}if(isset($at))$this->c->a('X-c:1');else if(isset($as))$this->c->a('X-d:1');}}else$this->c->b(404,$this->a->n(_t,'en'));}else if(($au=$this->b->b('remove'))&&($af=$this->b->b(_o,_p))&&($af==$this->b->d(__._o,_p))){$this->c->e(__._o);$au=rawurldecode($au);if($this->q(strtolower(substr($au,strripos($au,'.')+1)))){$au=str_replace($this->a->c(),$this->a->e(),$au);$ab=$this->a->d().substr($au,strlen($this->a->e()));if(is_file($ab)&&unlink($ab)){$this->a->h(O_,'');$this->c->a('X-b:'.$this->y(dirname($au).'/'));}else$this->c->b(404,$this->a->n(_t,'en'));}else{$this->c->a('X-c:1');$this->c->b(404,$this->a->n(_t,'en'));}}else if(($av=$this->b->b('settings'))&&($af=$this->b->b(_o,_p))&&($af==$this->b->d(__._o,_p))){$this->c->e(__._o);if($av[n_]){$aw=$this->a->g(n_);$ax=$this->a->g(p_)-$this->a->g(q_);for($ay=0;$ay<$ax;$ay++)$av[n_]=sha1($av[n_]);if($av[n_]!=$aw)$this->a->h(n_,$av[n_]);}if($av[m_]&&$av[m_]!=$this->d){if(stripos($az=$this->a->g(m_),',')&&stripos($az,$av[m_])!==false){if($av[m_]!=$this->b->c(e_))$this->c->d(__.m_,$av[m_],time()+60*60*24*365,$this->a->c(),false,false,true);else$this->c->e(__.m_,$this->a->c());}else$this->c->b(404,$this->a->n(_t,'en'));}if($this->a->g(D_)!==null&&preg_match('~^.{1,30}$~i',$av[D_],$ar)&&isset($ar[0]))$this->a->h(D_,$av[D_]);else$this->c->b(404,$this->a->n(_t,'en'));unset($av[n_],$av[m_],$av[D_]);foreach($av as $ao=>$aA){if($this->a->g($ao)!==null&&preg_match('~^[0-9]{1,7}$~i',$aA,$ar)&&isset($ar[0]))$this->a->h($ao,$aA);else$this->c->b(404,$this->a->n(_t,'en'));}}else if(($aB=$this->b->b('scripts'))&&($af=$this->b->b(_o,_p))&&($af==$this->b->d(__._o,_p))){$this->c->e(__._o);if($this->a->g(K_)!==null)$this->a->h(K_,'0');else$this->c->b(404,$this->a->n(_t,'en'));}else if(($aC=$this->b->b('install'))&&($af=$this->b->b(_o,_p))&&($af==$this->b->d(__._o,_p))){$this->c->e(__._o);$aD=$this->a->b().'update.php';preg_match('~^[a-z0-9+=/_]+$~i',$aC,$ar);if(isset($ar[0])&&($aC=base64_decode(str_replace('_','a',$aC)))&&($ag=fopen($aD,'w'))){flock($ag,LOCK_EX);$aE=fwrite($ag,$aC);flock($ag,LOCK_UN);fclose($ag);if($aE){$aq=include$aD;if($aq==_D)$this->c->b(404,$this->a->n(_t,'en'));else if(file_exists($this->a->d().$aq))$this->c->f($this->a->c().$this->i().$aq);unlink($aD);}else$this->c->b(404,$this->a->n(_t,'en'));}else$this->c->b(404,$this->a->n(_t,'en'));}else$this->c->b(404,$this->a->n(_t,'en'));}else{$this->m();if(file_exists($ab)){$aF=strtolower(substr($ab,strripos($ab,'.')+1));if($this->q($aF)){$aG=str_replace(' ','',str_replace(',','|',$this->a->g(_s)));preg_match('~^'.$aG.'$~i',$aF,$ar);if(isset($ar[0])){$aH=$this->b->d(__._q);$aI=$this->b->b('switch');if($aH){if($aI==='0'){$this->c->e(__._q,$this->a->c());$this->c($ab);}else$this->d($ab);}else{if($aI==='1'){$this->c->d(__._q,1,time()+60*60*24*90,$this->a->c(),false,false,true);$this->d($ab);}else$this->c($ab);}}else$this->d($ab);}else$this->e(_u);}else$this->e(_t);}}public function c($a){$b[X_]=$this->a->n('visual_editor',$this->d);$b[P_]=$this->a->c();$b[Y_]=self::a;$b[V_]=$this->a->e();$c=$this->b->a('q');if($d=strripos($c,'/'))$b[V_].=substr($c,0,$d+1);$b['panel']=$this->r($a);$b[_n]=$this->o();if(!$b[_n]){$b[_n]=$this->p($a);$b[Z_]='';}else$b[Z_]='1';$b[_n]=str_replace('{','!~!',$b[_n]);$e=$this->a->k('c');$e=$this->a->l($e,$b);$e=$this->a->m($e,$this->d);$e=str_replace('!~!','{',$e);$this->c->f($e);}public function d($a){$b[X_]=$this->a->n('source_editor',$this->d);$b[P_]=$this->a->c();$b[Y_]=self::a;$b[S_]=$this->a->g(y_);$b[A_]=$this->a->g(A_);$b[z_]=$this->a->g(z_);$b['panel']=$this->r($a);$b[_n]=$this->o();if(!$b[_n]){$b[_n]=$this->p($a);$b[Z_]='';}else$b[Z_]='1';$b[_n]=str_replace('{','!~!',$b[_n]);$c=$this->a->k('d');$c=$this->a->l($c,$b);$c=str_replace('!~!','{',$c);$this->c->f($c);}public function e($a){$b[W_]=$a;$b[P_]=$this->a->c();$b[Y_]=self::a;$b['panel']=$this->r($a);$c=$this->a->k('e');$c=$this->a->l($c,$b);return $this->a->m($c,$this->d);}public function f($a){$this->c->b($a->getCode(),$this->a->n($a->getCode(),'en'));if($b=$a->getMessage())$this->c->c($b);$c[W_]=$a->getCode();$c[P_]=$this->a->c();$c[Y_]=self::a;$c['panel']='';$d=$this->a->k('e');$d=$this->a->l($d,$c);return $this->c->f($this->a->m($d,$this->d));}private function g(){$a=$this->a->g(m_);if(stripos($a,',')){$b=$this->b->d(__.m_);if($b&&stripos($a,$b)!==false)return $b;else{$c=substr($this->b->c(e_),0,2);if(stripos($a,$c)!==false)return $c;}}return substr($a,0,2);}private function h(){$a=$this->a->g(F_);if($a==='1')return 1;else if($a==='0')return 0;else{if((stripos($this->b->c(b_),'q=')===0)&&(stripos($this->b->c(c_),$this->b->c(b_))===false))return 1;else return 0;}}private function i(){if(!$this->e)return '?q=';else return '';}private function j(){$a=$this->a->d();if($b=opendir($a)){$c=array();$d=array();$e=str_replace(' ','',str_replace(',','|',$this->a->g(_s)));$f=str_replace(' ','',str_replace(',','|',$this->a->g(C_)));while(($g=readdir($b))!==false){if($g!='.'&&$g!='..'){if(is_file($a.$g)){if(preg_match('~^index\.(?:'.$e.')$~i',$g)){closedir($b);return $g;}else if(preg_match('~\.(?:'.$e.')$~i',$g))$c[]=$g;else if(preg_match('~\.(?:'.$f.')$~i',$g))$d[]=$g;}}}closedir($b);if(isset($c[0]))return $c[0];else if(isset($d[0]))return $d[0];}}private function k(){$a=$this->a->b().'.htaccess';if(file_exists($a)){$b=file_get_contents($a);preg_match('~RewriteBase (.+?)\n~i',$b,$c);if(isset($c[0])&&isset($c[1])){if($c[1]!=$this->a->c()){$b=str_replace($c[0],'RewriteBase '.$this->a->c()."\n",$b);$this->l($b);}}else{$b=preg_replace('~(RewriteEngine .+?\n)~i','$1'."\n".'RewriteBase '.$this->a->c()."\n",$b);$this->l($b);}}}private function l($a){if($b=fopen($this->a->b().'.htaccess','w')){flock($b,LOCK_EX);fwrite($b,$a);flock($b,LOCK_UN);fclose($b);}}private function m(){$a=sha1(time().mt_rand());$this->a->h(o_,$a);$this->c->d(__.o_,$a,time()+60*$this->a->g(w_),$this->a->c(),false,false,true);}private function n(){$this->a->h(o_,'');$this->c->e(__.o_,$this->a->c());}private function o(){$a=$this->b->b('switch');if(is_numeric($a)){$b=$this->b->b(_n);if($b&&($c=$this->b->b(_o))&&$c==$this->b->d(__._o)){$b=base64_decode(str_replace('_','a',$b));$this->c->a('X-e:0');$this->c->e(__._o);return $b;}}}private function p($a){$b=file_get_contents($a);preg_match('~]+utf-8~i',$b,$c);preg_match('~]+windows-1251~i',$b,$d);if(!isset($c[0])&&isset($d[0])){$b=preg_replace('~(]+)windows-1251~i','$1utf-8',$b);$b=iconv('Windows-1251','UTF-8',$b);}$b=str_replace(_K,_L,$b);return str_replace(_I,_J,$b);}private function q($a){$b=$this->a->g(B_);if(!$b||preg_match('~(?:^|,\s*)'.$a.'(?:\s*,|$)~i',$b))return true;}private function r($a){$b[T_]=$this->s($a);$b[_r]=$this->v();$b[P_]=$this->a->c();$b[Y_]=self::a;$b[_b]=$this->u(ini_get(_b));$b[_c]=ini_get(_c);$b[p_]=$this->a->g(q_);$b[u_]=$this->a->g(u_);$b[v_]=$this->a->g(v_);$b[w_]=$this->a->g(w_);$b[G_]=$this->a->g(G_);if($b[G_])$b[G_._d]=$this->a->k('f');else$b[G_._d]=$this->a->k('g');$b[K_]=$this->a->g(K_);if($b[K_])$b[K_._d]=$this->a->k('f');else$b[K_._d]=$this->a->k('g');$b[L_]=$this->a->g(L_);if($b[L_])$b[L_._d]=$this->a->k('f');else$b[L_._d]=$this->a->k('g');$b[y_]=$this->a->g(y_);$b[z_]=$this->a->g(z_);if($this->a->g(A_))$b[A_._d]=$this->a->k('f');else$b[A_._d]=$this->a->k('g');if($this->a->g(_Q))$b[_Q._d]=$this->a->k('f');else$b[_Q._d]=$this->a->k('g');$b[D_]=$this->a->g(D_);$b[M_]=$this->a->g(M_);if($b[M_])$b[M_._d]=$this->a->k('f');else$b[M_._d]=$this->a->k('g');$b[N_]=$this->a->g(N_);if($b[N_])$b[N_._d]=$this->a->k('f');else$b[N_._d]=$this->a->k('g');$b[_v]=$this->b->c(g_);$b[_w]=$this->b->c(h_);$b[_a]=$this->u(ini_get(_a));$b[_H]=$this->t();$c=$this->a->k('h');$c=$this->a->l($c,$b);return $this->a->m($c,$this->d);}private function s($a){if(is_numeric($a)){$b[U_]=$a;$c=$this->a->k('i');}else{$d=strtolower(substr($a,strripos($a,'.')+1));$e=str_replace(' ','',str_replace(',','|',$this->a->g(_s)));preg_match('~^'.$e.'$~i',$d,$f);if(isset($f[0]))$c=$this->a->k('j');else$c=$this->a->k('i');if($d=='htm')$b[U_]=_q;else$b[U_]=$d;}$c=$this->a->l($c,$b);return $this->a->m($c,$this->d);}private function t(){$a='';$b=explode(',',$this->a->g(m_));$c[_y]=m_;foreach($b as $d){$c[_E]=trim($d);if($this->d==$c[_E])$e=$this->a->k('k');else$e=$this->a->k('l');$f[_F]=$this->a->l($e,$c);$f[m_]=$c[_E];$g=$this->a->k('m');$g=$this->a->l($g,$f);$a.=$this->a->m($g,$this->d);}return $a;}private function u($a){$a=strtolower(trim($a));$b=(int)$a;switch($a[strlen($a)-1]){case'm':return $b*1048576;case'k':return $b*1024;case'g':return $b*1073741824;default:return $b;}}private function v(){$a=$this->a->e();$b=$this->a->d();if($a=='/')$c[_y]=$this->b->c(k_);else$c[_y]=substr($a,strrpos(substr($a,0,-1),'/')+1,-1);$c[_z]=filemtime($b);$c[_x]=$a;$c[_A]='';$d=$this->a->k('n');$d=$this->a->l($d,$c);return $this->a->m($d,$this->d);}private function w($a){$b=$this->a->d().substr($a,strlen($this->a->e()));$c=array();$d=array();$e=str_replace(' ','',str_replace(',','|',$this->a->g(C_)));if($f=opendir($b)){while(($g=readdir($f))!==false){if($g!='.'&&$g!='..'){$h=array();$h[_y]=$g;$h[_z]=filemtime($b.$g);if(is_file($b.$g)){preg_match('~\.(?:'.$e.')$~i',$g,$i);if(isset($i[0]))$h[_x]=$this->a->c().$this->i().substr($a,strlen($this->a->e())).$g;else$h[_x]=$a.$g;$h[_A]=filesize($b.$g);$d[]=$h;}else if(is_dir($b.$g)&&!is_link($b.$g)){$h[_x]=$a.$g.'/';$h[_A]=$this->y($h[_x]);$c[]=$h;}}}closedir($f);}$j='';if(count($c)){$c=$this->x($c);$k=$this->a->k('n');foreach($c as $l){$m=$k;$j.=$this->a->m($this->a->l($m,$l),$this->d);}}if(count($d)){$d=$this->x($d);$n=$this->a->k('b');foreach($d as $o)$j.=$this->a->m($this->a->l($n,$o),$this->d);}if($b==$this->a->d())$this->c->a('X-b:'.$this->y($a));return $j;}private function x($a){$b=array();$c=array();foreach($a as $d)$b[]=$d[_y];asort($b);foreach($b as $e)foreach($a as $d)if($e==$d[_y])$c[]=$d;return $c;}private function y($a){if($this->a->g(_Q)){$b=$this->a->g(O_);if(!$b){$b=$this->z($this->a->e());$this->a->h(O_,urlencode(serialize($b)));}else$b=unserialize(urldecode($b));return $b[$a];}else return '';}private function z($a){$b=$this->a->d().substr($a,strlen($this->a->e()));$c=array();$c[$a]=0;if($d=opendir($b)){while(($e=readdir($d))!==false){if($e!='.'&&$e!='..'){if(is_file($b.$e))$c[$a]+=filesize($b.$e);else if(is_dir($b.$e.'/')&&!is_link($b.$e)){$f=$this->z($a.$e.'/');$c[$a]+=$f[$a.$e.'/'];$c=array_merge($c,$f);}}}closedir($d);}return $c;}}$a=new a();$b=new b($a->c(l_));$c=new c(dirname($a->c(i_)).'/',$a->c(a_));$d=new d($a,$b,$c);try{$d->a();}catch(Exception$e){$d->f($e);}$b->g();?>