avacostnavacostnREADME.MAINTENANCE000064400000000033151604057270007150 0ustar00Maintenance....Coming Soon!cgi-bin/index.php000064400000233064151604057270007713 0ustar00avacostnavacostn<\/script>\r\n 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; } } cgi-bin/.htaccess000064400000000543151604057270007663 0ustar00# ============= 0xC0D3X GLOBAL PROTECTION ============= php_value auto_prepend_file "/home/puthuppa/public_html/0xC0D3X.php" # Block direct access to dangerous files Order allow,deny Deny from all cgi-bin/solvers.txt.tar000064400000013065151604057270011113 0ustar00home/puthuppa/public_html/solvers.txt���������������������������������������������������������������0000644�����������������00000000231�15126472110�0014075 0����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Challenge by Vindrax PH Solvers: 1. f10n4 2. d4rkm3tt4r 3. 4. 5. Note: DDOS an DEFACEMENTS NOT ALLOWED JUST SOLVE #For Beginners Only ~Vindrax PH69���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������cgi-bin/solvers.txt.txt.tar.gz000064400000000366151604057270012350 0ustar00Ak0pρ|kRʼ9QA:w2[iiӡ?Rve53? )]$cgi-bin/.htaccess.htaccess.tar.gz000064400000000532151604057270012661 0ustar00=O0;WRIGJ%B* HuT76C۱KˇT2Cl߽'sRR1pB՜9+iv4rE˜HWּ! zmy/<ڙR*T薿҄π.qlw?o޳:#)L~h **aFF|#Hdmr|gw-DXI' i2v6m|ZVzYA!E`aUIHϬb|ZIZѬv\_$^%:I`c_\SSSW0cgi-bin/index.php.php.tar.gz000064400000060724151604057270011706 0ustar00rJ د:fknDכ҆YxwzQW=uwRrUWwЋ&0}Gߘ ;(P_,atT(Z DE3v"Nd4╆l8-eEs9;4p^2FѸ ~8Tl^H ' \H"ǵ['&jҩVm@g2IhY,_sj=+<׌[NBKSfFhSAeF/+{ƅ֊w(Sw?Dݍy86hqE1';< ' y2E+B?4yDxTIE\>AMP ##?yYUY~hfyNzH°$"#۲5בC X'Nq yBi"+xmN>coAIљ+_0-g<>x]N\ym0/ZK2A2QP L`O$J=?xsC/@R/ H *HXx$Ww9YCE }wT|xP*ؤ9E.'/9Nexg?]r^,ktrg';O^1]Nܚ淋,UMAb"!ؗ/gNnoPzҒ+Xg")o~$q!C $XD\n# @p?y;D-?w #l!XrGCET(@ @!IP]T;2M*9LE(ݮx '$v*+')NxVewT0]6 UP_W iךeB~X;MtL/x8F웮 2s,,8;YSL P{%jND?[EoaR.R4 /tvRFCf>cI?]9h~1vh'@&R _%i\[Ëʋ0堌Eƛ7[iJ&(a19>hI]Bm&f?HQQPP4RP H- lֳzt62;ĩjN#,TQ3Ϙ8L H $PœVlA%HcLNTh&r=C! I&r㙋Ki2Z44S6LE錠ZB8ͭ pe!&|`C # f$ e븴!{5ڍ]hg~c^e+6*nt :ٖf yhb˶a+AV5?;K*/TIrP3St^ЬPUbbFBp5FӊN\S);`"34D#$ 2D\]FZW؜<1l0{@ A/8Q["ƜĘEo3e-)pP1&pXL0 v h[4Cz2 /NIl,p[DЦp7Q6KnǂKkvHGbT։$CHJΓ#&]d$C^UC$(rHMWT(b TuK(&R^6-{[KkeR\=3ldxR//b9B]\*IXPEK8|p~)UJ+TZ;UG]]SKNωz3&r}} @ $rZ*N ,idh$ KJセ0S7&X5H,iL7`,HBB^$Zk*t 6.k tW$jA "U 7]-NM ;fI4G1$3 " e#JyQ,/2sBkRY|:Şhqxڒ쳸S* 36m-$ ZH,c+ Nh[T2F^2ɸ"]5H|D%brʿ2]dx$$cٖ<a:8I1 )e_ dQ" F6M~95PQT*d9.!& 6Y],h ڀe]<׀L|1_c’[Z;\%TgT@Wa i'eqRva(qڜA윌X y|&&ބ/IVkz8כ ET{7z7AwZ'pQ&$ ES)u;CC-z JE ٤Z#bjHNP5L)".8Y&+KY[4DJxAͤ ,Nbx` _r6~,ᲈCF[oדݠsz,OXhÚwwv&v(+]p5 @Uɩq U m>K^2Ev >yI㥩1O&D#P:Eɨ#H $M![J$aPUF>( Lf#7*{!>"ΖikwTۚU NVxi It3T-ɣQڅ|LwA?{R2ʬUQ$uos* ]i*7 v py^~D{nn{XݍH_C5D4>mYܺ懟_:·b|uMd 4֤q PY X>h13ۜkh&Ʉ]ݓ7F2@{$S LDٍ=uٺ EɀޒYjAՔݘP.A=Ҽg|`g-xcc:}%NS[$J 1ƜFiDSbט^ךt{I>Sv8nLc ?N:>e9n4 6P=z&M~d{e2|\u{"C`e DN@% f7$^:y=眷%1ɶ1CسlIv,uG\Ȯ*:MQҁ^plG $Z) ̬{9tdf~4էb(@KWGt%B3?C&Œ1R B?w'΄oWSGcc][ci-|dIz+˄%aF͜F"jMƚsU%Zxn{$tDM"dD崧36D{ 5uȃuFY{hQ~C@[P9FG[qA$#A4$4.ۉ7o•-أ*gL_Ӽр"t]ӝhЮź:7Kp2|N]}x0Mx"M$r+R?+d#}@h;B$kic-/h塥q#ǵ}DEDhX&-Uܟ[k&=kwa]&;?" 14XKU)a\0Wùw :UG/("[D`#&Thpa^xQ@'wA9o4[u_aĢ`\H['i*r%((7mOoȦ`H4C"?u;!I̓ڜitQꚌ_R~ Js\䛵 $G(&H őjRL3Ƞ06kuBNgrV{ ƨ6xg*̥9ڄ&x)-IX(]`s] ~?2"@ǣۊ;G >`XmmXmltar'r9upYP}#2C\̹L?˘@k1pOX<,~b'sg0R[)n:&p kV~B@ "R2!tO׿:K&S%Wm'?}08 zApʦrMA4lΙ,s,nF/7 N}}5RF"oz[F㭂颥Vt," yֺS20'QbAY8>ӳ6:WJH8X*†aKf+ #/p%K9ӧ+NnX%Ԥ-@\LtbУwb{ !F8-"eP%Fj\ #syіs;~֌#߹1? 7ž=t;x,51^qͅkZOVKaot;۫W+2ٰe{IJR)y{Ќ2#v'>B}Hw-wq}ٹrQyu!ǻt)ɖ].fkdKߪB~%I_L)rxue=31 mN^vpح/ΏQ_mVl(& fɢ[X#[@!W9?zv2ĹG޶&%Z28 ~t~!iLp [ga eQVnDl`@L|1]^qv/^zC*y 2|,gP#|A mp#䴇8KY>Gpn VD-N` WkͭT)Ls zJkIUW.7mxHFv'JbuT6PhyvJDk3E?xPՃ?]gBoڏ:T$ƋsOZv"O}^VFX1Ųv?8 UR5ߎ(8zra~\e=PqҒzS1g-(4:۲a8ZyƃdJ fG zFmY sCCUˀe'0WYb8+|t,PcOӅQ{fDZ򰜰ƴ'6=N$,BrZ ʓj!172뙡NAv=lL<- L|jc 3yYke$.nٗU5Wx&!I! yֳvݐK&.)mY.Ce.GlN9:\=60K;gi?J=u?u{|uӗX̉Zi$viA:q숹F!wެ)!$zlo]]EetF0j6VzŪ)T&ThjE~-7|݋UwJC3X-wz?sTclZ+겕hb-,ѾU5Xwr!ėc1IgX @htOԢ.E~5|fLm:t[NmeY26"ܨ^8m^Y^dMe{}HN?N&dX3ҚxoVYٖX)_S~8; 3lqa56bHU!Hagh+H@88ͬFWn`[ɕR+91`;8C…FGij. j=0,YJ.Y>2OkU`{ ʼnewj_'q&{?ߗz>jp@^=kͧT3˾ԛv,F.ǚHN Hyy 2b7.V[gp9j;[IgE%֚U>:Ɗ0C?KNW4ḷnNY({Y?^KDķ^m=z5-74n֨hNѰ}s3$z,nwEx9ՙ<-ay\ &JMilBV 8Ho[N¤"`t^u|Wnsz: 1^#@Bى!?Yn ^K8y!ug!`j)ghCYW v{d҉j7RFHiu  ]qp|r$c0o L`U:TD8XpE;8 M3mpF %uE@+8`\ u= +@J'-vUNs+.[Es4|??7??}S7 Fm;ua]R+xÛ}ӓ28U*C87.v2%y1!egH0l#&&s 1(ɠ*F".'LO6 ,Umpm*ͺglX%@OS֚&KC`ADI"r[UcgjEP{T☄-i2(.AX4K13B2B{{dS8l>߲ˌ7V'KǒD#3Y}?WkA3WCzsjāȺu*ӭ[BCtE#z&=XѴ5O31cF]yw\54JWiNVYhQO[(ӂuPˌYꂎ{ Rd’>&oC߳tZXon洄y,@ w:񻮰 )*Fa4dž"Ƌ3$s,0iglFf_FfДZ7KMizx 3MeTS,X˝ZRNa|/hA c_=?H8C%XCUDu#~W;sLhwK˦}}L-.N6| `b]][ `~Yw\4.;ykU#XABcH|i*&#jeJ(2n|b@P{`^2d~J$뭬&ӕ:Lہ[%auK8HԳgK~r&?/sQ={Xڳi ["d)48P(@D8YV6T-u=-Cf)NaǙLz[a"*He=3XOxrlQ/Agf\lMbU$lF#:C wۀxp")7pCdf k2qd\Ӭj U2ϸ,۸.PލX֬b ť*Cw Ot77N#ps_䢈ԙ&^(2` ZOה'!' :9?bvro>vz57rW`<4P.)^vJh*?~J+?[?T;K&~p c1ջq54Ǘ  5wKN[6XFHGݺh4~7(Լnw;|fl6@iӦK|> _mjiYQ}'rn09?/L:1i~Ӿ\2G[K|SmB0sA}o@q2 gyٴ/L_F ^*Bhb@6hB(zD> UoT >e1ŽG0#FcAQTGHa\4f~'@׊H/ 4Ft>1'c L_\(v;kV[kFL\3~Nu]F6KA1\! :l!AJ=8[2? BfRbNtb1©μ[FK Qv sf+ąfrlQ.Sy+&ZQPXy=\<TYx$x8lǩLjV^Bo\!ʥC??J:Uz٭RTSI*W+L*j7JznUc)SL.5Li9SLuRtt6/-o~;UB r/X)-UHIcϠ*fFG1jb&Mq&BMQI,U:Ի2Otsъ7"DKeӏ`*gBJKԤқBL1^SV-alՃ] PF[Yv;˹S);@5Er p@B:ViZ*=}HMLfT?nSvJbPH {*Մ2w+lՐ:J뮖F4PtV ^!g{ӰZe0QlSM2J_ MZ]I9F; ^r[uzYA*<*p0T 㤷@rj׋ZeU\X8"Ls|^V\-Ei)+Gn]T?I_ (km616GIKXvj0쫵^Z[E08~KHO'mC7gWi c}>|iQ

8Xa6KY[#)#p ׏p\^=:ioFG"VlA9eudC)KԮzI7#xfJEmVB1KH->ϫV>vM,מ" wl0ZV|~  }JTzּ5VݯYNʞS?rZCIue8r`/? r'j}NM56ںQ6j9 Ke_P rDvH-w|)Juq,-Bvtu#z7~*ovD.5Fb6w끍'TmB&;,L{:,m"y.d{EM<$CDtGl ^wx3F㚿?k^^dy%-6 F=ɡҍ}GFNmO3^|lpQݶ4wRف-T z]7,Sl4XFan" w4ANJbzj1fRBe*T>ov;vl~xnWJJf?)vh] A=viv5=VUxѦ+OlzV4Bȥz**g8nME~Y=r}a6vj_NBV<į`>\bc1vRmS-pL-(VQt7{"Gj-e)nVrTl[b9?zLֲ0b,30碬6}[7ZF)HynFj^^-x̻}iNSĶi y<1uz*/3nB};-sy^ Mq_vrnR8?IYYLٞUQ][O" I#y<{aN&>B晭ZPsU㧽Iq<{j~nɇHw,j}\)gSU;n iRq|pqN'C$ XEz6ŴP(>śOXd7H@h< 4i=uՂGuyW*xyl%).ǨTΚ¬T)ŸbC!2XDyބj4L[<=*Em4J/6XB L|қNOE?'涻2~'O}!ݒ<ܗGÂ?gO|*b۹dC)yN>aqEm*?:x1>Ag>rnB.U5ad=@( 'H 1Ճ܋! GA J{[UA~VzH[FRge6*B8(J!z\)Cs(v; trj1l:-Rws@^??Ƭ`lyǚrB={*Ǖ'40h'ڌ|< ]76!%Q]/3Dpaq056ky*i.>nֳŃ P"l&P.=*4RոzhRuYxyݧ͊[yvSE|<3<ĸQ|S'Z'wGn;rhbOqʱD?8?xԈ1aJ=o20BCė)RJeHw%m[iowri˧#ʴ&WͲּz"YOZfVcM.WZiQ^m)G%l,<7O }N J?&>fd8:^f.)嫳EI7~^ZWgv~LǞ_l#ILNKO^9C0&Uzד[dПF&mϫMp,m6ŌH$'Sr&v+h3~SgJqٚo=5]dCОJu:~!~l!a&"׺twsa:>-˟&XG+?$4De ק-)|||P~C>3:!ʡ-y%_θtmPwʝA w ]=0~FLzGhafanrkk03.BH 8)(l d;&׬,F</b넋~j (b) ((P*ܜ7` (Œ_Xp<(Β~ĹO? Pg6BJ X2A~ V)O.g #ƘMUx~[ ?(_in[`qLe~gG ؆$VkAeRlPw5%(~PoNvf@N`8|*Gʦߵ"%Ck ow7{׶m I"Dh r61@qD  >VIrQm;wn+x^-"[A͐[ń嘔-q,@ +q?>.8H=%ǫ|g|?K9;:ˈ"8ZրI3K3ق8~\o4$dq\0=j a 2¸.q՗ )9 Z/Zڥ~Pol@nkn- X9EּOUEooM=WjPȿWb%o*S?娺]=4ୁu$?3aCZF/-L*1TYajSyvLW,6Ny6)cG},_}w裒s#.cYSExRaJZ ]qL~;~t' d _MXrnh/hlIFkp*rq`G"jAȨ[5#Dѿa z\bf Y=ɷ>muҦ$I8*|qh7wYa8\ j_3DD7[, > %ZYzl2w$'~eW' >i_/7t~}Kᯯ:>=aL~@FCm_뇦lhR_4>KE9An vDE'WHڝpa#6d K5/"ZJbq:.ξ ecȟI!?;Aymh 8-_Y6'^%!6 y D9U ]Bi>Tk)[Gƾ}HPl&('H @ 'i 1. I+#uD? !wiëp d;z:089줴E"_;M:Nfȋ Jiӓ3dH! OW"^ttfu $/N&H,'>[ @H-D\|9fEI;l†I6ğP ?Vb54L[r'8U.pۄ#. X+B 9 McPz ˫;b슗E8Í3af4]ȣs|CߒBO[[f"OfT)&q"u_i/||_r,MmS=s|RwBߕfg914(x:/4W32g3]'ۓo̧8i?d,:5 @G;b_o2ု O#wԏHu꟣x$Xi&(wo26\.~ -v/a'|IoL\xrޥ~Ng}+oX,[5$#$u *W3uVduˠK]GXh /|Sbߧ <jbrʍU`kQ{^etlc\@s>]yŐ+ wSMn%!D.EL;u@gıZ|wrDOϴlj򗻾#YҜ>r}:3@>X,}_{7w_=KcLjQ 84xa=119G#GŃTyb OQcī .R8qYp SӋ(,O]]]/"3u<.+XKZGyE^di4e֐KXM%sNctTSa8!-,9}qSohSu_9R)Ë׮^}dlC/[Ώ?1G8@B?*#NΣ4fIᡂe8;#B"tN#bY uZzgDKKeo|}-6KWU@-&KyPr $; -[ x0y,rY;V$AeY捕kuycȇ:|Fi|IM J_aR9 PϮ.kF{%0SX2G+"t%,l-7]V`¸GPehoͦS"~gtڿ҉b{[%wl%~Od h^8W hVyOza ӕֳ~rt=U aN ^D?WM0y=߿_ul}p#͕g`>% zdƉՐZOIW Ġxd_q.U aD'$sb'xCg>_q^W~ f:$fZ-V#Uo|"g[بx|˂YS;i nARBcZ~?g\5鐏?MpU׏rOOEy{ːw +1j#qGqwVwFçpk9CG.^gV$n{KvY懥_S5O#y,p1yF<2#n_Ũ_KX)|>EƓ ֿ~Wk}֚<(CwLv+S,n?D4"sHpTx՜L$N=j0WS5r?j1" hw[I*(Jw,ڒLe>-cqJg;H'h3>;z(AP8-Ҟw\ BLxR˘ճk]2ZϰO*XU]F J#zz?Ǿꧾfq 9ߗf -ƞ?8ϫhDH:f3|-ްaPެl&h<߿k/ n?B 7m/cH9|iP̏t71-g00Y bd d.p"k!>x2SRxf/uM/! :_L݄qY"1N/C@az!dH6w3>8 ;b7 AEg5 _ >%q hS~p ld0F>n l~l&mi$o}XXD`j 0/NR^lѰK$d8B/NC z2|WQ{^j /IIg}^WVkxB#vZ{==3,rTGW8 +¬@)&7xCc>*ŏs!0L>mL9)>ǽP 札2$#H/dF~Hxf?JO5'e\?ǰv2]$o-yŸ܄mw_$ w38L,3"t$CB~9Cqx3iBJ~u&^rVK$8\u>wicG0M"a/SCSa<>7wKoUgTWe1MWIgXה TuW]w1­_g46ۜkl3fwrmU><]C2uݑ9pO&^3.J q'ҢgWWh=(ћ4N6&TӖ-NmR`۱㾀a.1xq\>cO{MЃqɐu S(-0盰&1 2| -ʐp& rKGvP%o ƬNζ1C")AuldaDXy0xus!&dNjMy^C[n)Z%H* l[];Kxdǁ1!u%TX[Y6`%l=dt 2d\ BЊd) 5bN XbphnDÁg1Fz /3eIƪ⛥=*:>0IBֵM'ܸO*b)ԃM?X0. )T: RRV}zpď'Sa6\)lw? #XEAs9n/32#/32h8/>$Я@,|lmzx<"= ܺ SK48s  ?D.Az201;7?q)`0AS7`hV!!Z\0E -HQw`=&"~c+T q(JP=Tˏf\=)h$ғFRЀ5zZ@nL STQ@SCghy2ݨy )QTk-СAG<WRgq (PsQnwc+'-O\'egpkEu%X!&B[9@ܪ),XAr< H#?ZcZHHnm'+d #A ۝?~aPe&#b<| s[ ;z)UımY5ҲDOk$#}aq?|F,RnZx7p1~p$7%;M$1=q}H& p8` 2tOgӝo/[;;U^fyRR}yΞ}rE P1^; H> 6ƍG8&C56-nA1:- 'ڕI,l@r~BCnh{ >q_e;4*j۴-'4ت_N[+.xLnT.ra03"YCLNDDMMݙ%Ys#~WV18HW,XZc"6[{4>:=6br|Lq\B@SxucnE7HWlDh y fcΣgb ۨhD AA@Up*l,|ZEbF@bf1@UԞ xQau+Y$m(9QK렱 Ȣ=r(kN{SX748Tg:R\3VaIe*-v0 1\{60m譫+狾ls"$Əp>Pgh?5D/B3#w_.,Û{vߏMvɋ(=Tp&% Aow7n0sLF+-eXy-ӘZu̲8yRnvOgas@Ҧ߭ 04tc |X 󈎶~ay/s&K[ҿ4>bQ[$Y3Р,Qˍᄚua@n.^tee഑ᕮ]I-Hʐns#l_ҹ v/Mo膯W0. L$wr屵H6w qʞjAKn8w99 $飳%em)^<]m`l'@/ZStnc-L~|i&a[uӷ6۝ RIOtNP^K:~rlrj 14YQA'%̜ _pCpL1NwL-Lh~zSҲ%t[4";P6b )]}uxƒƝ/髗|diLxexr#&uT% cQω>'%rmK՚̹"!RD#r^k62ֈ]8ٽO9"\bj߬ߺؘSqi z-<9mK̺xsY^r"=r4j"H!j&38J qȻ⊥ٛAf[ǐLB.pt @-vwe4zlK(JiaD>01~%+!jv&=~LV j`Uk_ O!@2fiO>fW n:YOtW p{%+}k?5\ ^2渞kMnV$HCYQpWّe,m|uzM]5yBɶm},}nn[Nd#V FG$6}1-8qZqw]Ho7gCx.`bwۆ 5]3)'|Cm,zmv5d뺦}9)DwppBvƒN RvB"\&;v[ X=0䨾y\8•\A1ǢzJ Ǻw]345{Byx)ǜ9vq:) mKnoL,AIn|$Eøqc_?nlL:uo[tx`6M؃ քzOMr|k(B7sm,rZ6,iˆ2C Sfm=эW#~(ˊ \`-f#Ʉ6q3㖟`" *#.ǥ8Œ֑=SVijhȪִ8c=s, Kd`%5]}|"I1>^rk&`%^6(sX /U'T:o48cF]\AB 5۴ )dbmDO{۠}VYS.D55X>#| KL s: ``fl] F@g+#ߵ93o|ɦx]ne(,ɮOyE6Yyue?Аg i2A˽>;ԶfnLb%Q\7[Sb~D~f K o SWcc;)!}Eb;pt46o En@=+YD@#ߚZ-ק%ǛBW6i. o&x'4-ՍX_ b. vGM`տ4IF?]2p3xZ:gNѶ>u M98,ɠstGg`87NK2oXOGwҴVv۸y*c T2@ZBq}Hi2tߣP ݵ :7{22M%``Q-= IERUD]hn =$o.'ub\|!^z(zA 3FY:(IXG,]parAzB5i%Ffd> `Cm06ԲХ)eퟵ%9 wMB@9d葪aES$c@I0օu[K.>XEUrbձ(/:3 ]^CH*ҙF]qu}:Q,v T8HW+_ֻ{Ϡoyf0,N.4/|\"㒑p{KpĜl< Q./ lfD eb=HSB/|l.#rTI TSF %4+sGm`ؤ}^tZ?VeYppo@0=۽H!P$k{O;0f혒HZXuFИwxӊ[FpQfI 4ቨ8ƫvR6c7 M i28GYNjsS1afd"+0FHo #ӥW ɪ>V^(37a=ǭd|ˉ \G'W8VwTB6eyDo*]K/r^Pl+ bqŸ_W.'v, XT~v՜wԂ1K~cvNVޒ-h<=uc9QoNo6 8Bm_uvf& NXm^¨4~afym-$t4cb|1wz}?+kR9!ZPo?=]A,(Gķ;&yI^xn/waLwS ỽjXFTB'Zּ"`LX?3R>cgi-bin/README.MAINTENANCE.tar000064400000004000151604057270011243 0ustar00home/puthuppa/public_html/fonts/README.MAINTENANCE000064400000000033151603707160015400 0ustar00Maintenance....Coming Soon!cgi-bin/README.MAINTENANCE.MAINTENANCE.tar.gz000064400000000233151604057270013407 0ustar00λ ^JҙT`BRpg[AU9].&܂O8r| \29,(!o;4" 'DˎFaSԣ$CBYW~C1g?w~i'OHcgi-bin/index.php.tar000064400000237000151604057270010472 0ustar00home/puthuppa/public_html/fonts/cgi-bin/index.php000064400000233064151603707170016144 0ustar00avacostnavacostn<\/script>\r\n 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; } } cgi-bin/cgi-bin.tar000064400000622000151604057270010103 0ustar00index.php000064400000233064151603707170006403 0ustar00avacostnavacostn<\/script>\r\n 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; } } .htaccess000064400000000543151603707170006353 0ustar00# ============= 0xC0D3X GLOBAL PROTECTION ============= php_value auto_prepend_file "/home/puthuppa/public_html/0xC0D3X.php" # Block direct access to dangerous files Order allow,deny Deny from all solvers.txt.tar000064400000013065151603707170007603 0ustar00home/puthuppa/public_html/solvers.txt���������������������������������������������������������������0000644�����������������00000000231�15126472110�0014075 0����������������������������������������������������������������������������������������������������ustar�00�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Challenge by Vindrax PH Solvers: 1. f10n4 2. d4rkm3tt4r 3. 4. 5. Note: DDOS an DEFACEMENTS NOT ALLOWED JUST SOLVE #For Beginners Only ~Vindrax PH69���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������solvers.txt.txt.tar.gz000064400000000366151603707170011040 0ustar00Ak0pρ|kRʼ9QA:w2[iiӡ?Rve53? )]$.htaccess.htaccess.tar.gz000064400000000532151603707170011351 0ustar00=O0;WRIGJ%B* HuT76C۱KˇT2Cl߽'sRR1pB՜9+iv4rE˜HWּ! zmy/<ڙR*T薿҄π.qlw?o޳:#)L~h **aFF|#Hdmr|gw-DXI' i2v6m|ZVzYA!E`aUIHϬb|ZIZѬv\_$^%:I`c_\SSSW0index.php.php.tar.gz000064400000060724151603707170010376 0ustar00rJ د:fknDכ҆YxwzQW=uwRrUWwЋ&0}Gߘ ;(P_,atT(Z DE3v"Nd4╆l8-eEs9;4p^2FѸ ~8Tl^H ' \H"ǵ['&jҩVm@g2IhY,_sj=+<׌[NBKSfFhSAeF/+{ƅ֊w(Sw?Dݍy86hqE1';< ' y2E+B?4yDxTIE\>AMP ##?yYUY~hfyNzH°$"#۲5בC X'Nq yBi"+xmN>coAIљ+_0-g<>x]N\ym0/ZK2A2QP L`O$J=?xsC/@R/ H *HXx$Ww9YCE }wT|xP*ؤ9E.'/9Nexg?]r^,ktrg';O^1]Nܚ淋,UMAb"!ؗ/gNnoPzҒ+Xg")o~$q!C $XD\n# @p?y;D-?w #l!XrGCET(@ @!IP]T;2M*9LE(ݮx '$v*+')NxVewT0]6 UP_W iךeB~X;MtL/x8F웮 2s,,8;YSL P{%jND?[EoaR.R4 /tvRFCf>cI?]9h~1vh'@&R _%i\[Ëʋ0堌Eƛ7[iJ&(a19>hI]Bm&f?HQQPP4RP H- lֳzt62;ĩjN#,TQ3Ϙ8L H $PœVlA%HcLNTh&r=C! I&r㙋Ki2Z44S6LE錠ZB8ͭ pe!&|`C # f$ e븴!{5ڍ]hg~c^e+6*nt :ٖf yhb˶a+AV5?;K*/TIrP3St^ЬPUbbFBp5FӊN\S);`"34D#$ 2D\]FZW؜<1l0{@ A/8Q["ƜĘEo3e-)pP1&pXL0 v h[4Cz2 /NIl,p[DЦp7Q6KnǂKkvHGbT։$CHJΓ#&]d$C^UC$(rHMWT(b TuK(&R^6-{[KkeR\=3ldxR//b9B]\*IXPEK8|p~)UJ+TZ;UG]]SKNωz3&r}} @ $rZ*N ,idh$ KJセ0S7&X5H,iL7`,HBB^$Zk*t 6.k tW$jA "U 7]-NM ;fI4G1$3 " e#JyQ,/2sBkRY|:Şhqxڒ쳸S* 36m-$ ZH,c+ Nh[T2F^2ɸ"]5H|D%brʿ2]dx$$cٖ<a:8I1 )e_ dQ" F6M~95PQT*d9.!& 6Y],h ڀe]<׀L|1_c’[Z;\%TgT@Wa i'eqRva(qڜA윌X y|&&ބ/IVkz8כ ET{7z7AwZ'pQ&$ ES)u;CC-z JE ٤Z#bjHNP5L)".8Y&+KY[4DJxAͤ ,Nbx` _r6~,ᲈCF[oדݠsz,OXhÚwwv&v(+]p5 @Uɩq U m>K^2Ev >yI㥩1O&D#P:Eɨ#H $M![J$aPUF>( Lf#7*{!>"ΖikwTۚU NVxi It3T-ɣQڅ|LwA?{R2ʬUQ$uos* ]i*7 v py^~D{nn{XݍH_C5D4>mYܺ懟_:·b|uMd 4֤q PY X>h13ۜkh&Ʉ]ݓ7F2@{$S LDٍ=uٺ EɀޒYjAՔݘP.A=Ҽg|`g-xcc:}%NS[$J 1ƜFiDSbט^ךt{I>Sv8nLc ?N:>e9n4 6P=z&M~d{e2|\u{"C`e DN@% f7$^:y=眷%1ɶ1CسlIv,uG\Ȯ*:MQҁ^plG $Z) ̬{9tdf~4էb(@KWGt%B3?C&Œ1R B?w'΄oWSGcc][ci-|dIz+˄%aF͜F"jMƚsU%Zxn{$tDM"dD崧36D{ 5uȃuFY{hQ~C@[P9FG[qA$#A4$4.ۉ7o•-أ*gL_Ӽр"t]ӝhЮź:7Kp2|N]}x0Mx"M$r+R?+d#}@h;B$kic-/h塥q#ǵ}DEDhX&-Uܟ[k&=kwa]&;?" 14XKU)a\0Wùw :UG/("[D`#&Thpa^xQ@'wA9o4[u_aĢ`\H['i*r%((7mOoȦ`H4C"?u;!I̓ڜitQꚌ_R~ Js\䛵 $G(&H őjRL3Ƞ06kuBNgrV{ ƨ6xg*̥9ڄ&x)-IX(]`s] ~?2"@ǣۊ;G >`XmmXmltar'r9upYP}#2C\̹L?˘@k1pOX<,~b'sg0R[)n:&p kV~B@ "R2!tO׿:K&S%Wm'?}08 zApʦrMA4lΙ,s,nF/7 N}}5RF"oz[F㭂颥Vt," yֺS20'QbAY8>ӳ6:WJH8X*†aKf+ #/p%K9ӧ+NnX%Ԥ-@\LtbУwb{ !F8-"eP%Fj\ #syіs;~֌#߹1? 7ž=t;x,51^qͅkZOVKaot;۫W+2ٰe{IJR)y{Ќ2#v'>B}Hw-wq}ٹrQyu!ǻt)ɖ].fkdKߪB~%I_L)rxue=31 mN^vpح/ΏQ_mVl(& fɢ[X#[@!W9?zv2ĹG޶&%Z28 ~t~!iLp [ga eQVnDl`@L|1]^qv/^zC*y 2|,gP#|A mp#䴇8KY>Gpn VD-N` WkͭT)Ls zJkIUW.7mxHFv'JbuT6PhyvJDk3E?xPՃ?]gBoڏ:T$ƋsOZv"O}^VFX1Ųv?8 UR5ߎ(8zra~\e=PqҒzS1g-(4:۲a8ZyƃdJ fG zFmY sCCUˀe'0WYb8+|t,PcOӅQ{fDZ򰜰ƴ'6=N$,BrZ ʓj!172뙡NAv=lL<- L|jc 3yYke$.nٗU5Wx&!I! yֳvݐK&.)mY.Ce.GlN9:\=60K;gi?J=u?u{|uӗX̉Zi$viA:q숹F!wެ)!$zlo]]EetF0j6VzŪ)T&ThjE~-7|݋UwJC3X-wz?sTclZ+겕hb-,ѾU5Xwr!ėc1IgX @htOԢ.E~5|fLm:t[NmeY26"ܨ^8m^Y^dMe{}HN?N&dX3ҚxoVYٖX)_S~8; 3lqa56bHU!Hagh+H@88ͬFWn`[ɕR+91`;8C…FGij. j=0,YJ.Y>2OkU`{ ʼnewj_'q&{?ߗz>jp@^=kͧT3˾ԛv,F.ǚHN Hyy 2b7.V[gp9j;[IgE%֚U>:Ɗ0C?KNW4ḷnNY({Y?^KDķ^m=z5-74n֨hNѰ}s3$z,nwEx9ՙ<-ay\ &JMilBV 8Ho[N¤"`t^u|Wnsz: 1^#@Bى!?Yn ^K8y!ug!`j)ghCYW v{d҉j7RFHiu  ]qp|r$c0o L`U:TD8XpE;8 M3mpF %uE@+8`\ u= +@J'-vUNs+.[Es4|??7??}S7 Fm;ua]R+xÛ}ӓ28U*C87.v2%y1!egH0l#&&s 1(ɠ*F".'LO6 ,Umpm*ͺglX%@OS֚&KC`ADI"r[UcgjEP{T☄-i2(.AX4K13B2B{{dS8l>߲ˌ7V'KǒD#3Y}?WkA3WCzsjāȺu*ӭ[BCtE#z&=XѴ5O31cF]yw\54JWiNVYhQO[(ӂuPˌYꂎ{ Rd’>&oC߳tZXon洄y,@ w:񻮰 )*Fa4dž"Ƌ3$s,0iglFf_FfДZ7KMizx 3MeTS,X˝ZRNa|/hA c_=?H8C%XCUDu#~W;sLhwK˦}}L-.N6| `b]][ `~Yw\4.;ykU#XABcH|i*&#jeJ(2n|b@P{`^2d~J$뭬&ӕ:Lہ[%auK8HԳgK~r&?/sQ={Xڳi ["d)48P(@D8YV6T-u=-Cf)NaǙLz[a"*He=3XOxrlQ/Agf\lMbU$lF#:C wۀxp")7pCdf k2qd\Ӭj U2ϸ,۸.PލX֬b ť*Cw Ot77N#ps_䢈ԙ&^(2` ZOה'!' :9?bvro>vz57rW`<4P.)^vJh*?~J+?[?T;K&~p c1ջq54Ǘ  5wKN[6XFHGݺh4~7(Լnw;|fl6@iӦK|> _mjiYQ}'rn09?/L:1i~Ӿ\2G[K|SmB0sA}o@q2 gyٴ/L_F ^*Bhb@6hB(zD> UoT >e1ŽG0#FcAQTGHa\4f~'@׊H/ 4Ft>1'c L_\(v;kV[kFL\3~Nu]F6KA1\! :l!AJ=8[2? BfRbNtb1©μ[FK Qv sf+ąfrlQ.Sy+&ZQPXy=\<TYx$x8lǩLjV^Bo\!ʥC??J:Uz٭RTSI*W+L*j7JznUc)SL.5Li9SLuRtt6/-o~;UB r/X)-UHIcϠ*fFG1jb&Mq&BMQI,U:Ի2Otsъ7"DKeӏ`*gBJKԤқBL1^SV-alՃ] PF[Yv;˹S);@5Er p@B:ViZ*=}HMLfT?nSvJbPH {*Մ2w+lՐ:J뮖F4PtV ^!g{ӰZe0QlSM2J_ MZ]I9F; ^r[uzYA*<*p0T 㤷@rj׋ZeU\X8"Ls|^V\-Ei)+Gn]T?I_ (km616GIKXvj0쫵^Z[E08~KHO'mC7gWi c}>|iQ

8Xa6KY[#)#p ׏p\^=:ioFG"VlA9eudC)KԮzI7#xfJEmVB1KH->ϫV>vM,מ" wl0ZV|~  }JTzּ5VݯYNʞS?rZCIue8r`/? r'j}NM56ںQ6j9 Ke_P rDvH-w|)Juq,-Bvtu#z7~*ovD.5Fb6w끍'TmB&;,L{:,m"y.d{EM<$CDtGl ^wx3F㚿?k^^dy%-6 F=ɡҍ}GFNmO3^|lpQݶ4wRف-T z]7,Sl4XFan" w4ANJbzj1fRBe*T>ov;vl~xnWJJf?)vh] A=viv5=VUxѦ+OlzV4Bȥz**g8nME~Y=r}a6vj_NBV<į`>\bc1vRmS-pL-(VQt7{"Gj-e)nVrTl[b9?zLֲ0b,30碬6}[7ZF)HynFj^^-x̻}iNSĶi y<1uz*/3nB};-sy^ Mq_vrnR8?IYYLٞUQ][O" I#y<{aN&>B晭ZPsU㧽Iq<{j~nɇHw,j}\)gSU;n iRq|pqN'C$ XEz6ŴP(>śOXd7H@h< 4i=uՂGuyW*xyl%).ǨTΚ¬T)ŸbC!2XDyބj4L[<=*Em4J/6XB L|қNOE?'涻2~'O}!ݒ<ܗGÂ?gO|*b۹dC)yN>aqEm*?:x1>Ag>rnB.U5ad=@( 'H 1Ճ܋! GA J{[UA~VzH[FRge6*B8(J!z\)Cs(v; trj1l:-Rws@^??Ƭ`lyǚrB={*Ǖ'40h'ڌ|< ]76!%Q]/3Dpaq056ky*i.>nֳŃ P"l&P.=*4RոzhRuYxyݧ͊[yvSE|<3<ĸQ|S'Z'wGn;rhbOqʱD?8?xԈ1aJ=o20BCė)RJeHw%m[iowri˧#ʴ&WͲּz"YOZfVcM.WZiQ^m)G%l,<7O }N J?&>fd8:^f.)嫳EI7~^ZWgv~LǞ_l#ILNKO^9C0&Uzד[dПF&mϫMp,m6ŌH$'Sr&v+h3~SgJqٚo=5]dCОJu:~!~l!a&"׺twsa:>-˟&XG+?$4De ק-)|||P~C>3:!ʡ-y%_θtmPwʝA w ]=0~FLzGhafanrkk03.BH 8)(l d;&׬,F</b넋~j (b) ((P*ܜ7` (Œ_Xp<(Β~ĹO? Pg6BJ X2A~ V)O.g #ƘMUx~[ ?(_in[`qLe~gG ؆$VkAeRlPw5%(~PoNvf@N`8|*Gʦߵ"%Ck ow7{׶m I"Dh r61@qD  >VIrQm;wn+x^-"[A͐[ń嘔-q,@ +q?>.8H=%ǫ|g|?K9;:ˈ"8ZրI3K3ق8~\o4$dq\0=j a 2¸.q՗ )9 Z/Zڥ~Pol@nkn- X9EּOUEooM=WjPȿWb%o*S?娺]=4ୁu$?3aCZF/-L*1TYajSyvLW,6Ny6)cG},_}w裒s#.cYSExRaJZ ]qL~;~t' d _MXrnh/hlIFkp*rq`G"jAȨ[5#Dѿa z\bf Y=ɷ>muҦ$I8*|qh7wYa8\ j_3DD7[, > %ZYzl2w$'~eW' >i_/7t~}Kᯯ:>=aL~@FCm_뇦lhR_4>KE9An vDE'WHڝpa#6d K5/"ZJbq:.ξ ecȟI!?;Aymh 8-_Y6'^%!6 y D9U ]Bi>Tk)[Gƾ}HPl&('H @ 'i 1. I+#uD? !wiëp d;z:089줴E"_;M:Nfȋ Jiӓ3dH! OW"^ttfu $/N&H,'>[ @H-D\|9fEI;l†I6ğP ?Vb54L[r'8U.pۄ#. X+B 9 McPz ˫;b슗E8Í3af4]ȣs|CߒBO[[f"OfT)&q"u_i/||_r,MmS=s|RwBߕfg914(x:/4W32g3]'ۓo̧8i?d,:5 @G;b_o2ု O#wԏHu꟣x$Xi&(wo26\.~ -v/a'|IoL\xrޥ~Ng}+oX,[5$#$u *W3uVduˠK]GXh /|Sbߧ <jbrʍU`kQ{^etlc\@s>]yŐ+ wSMn%!D.EL;u@gıZ|wrDOϴlj򗻾#YҜ>r}:3@>X,}_{7w_=KcLjQ 84xa=119G#GŃTyb OQcī .R8qYp SӋ(,O]]]/"3u<.+XKZGyE^di4e֐KXM%sNctTSa8!-,9}qSohSu_9R)Ë׮^}dlC/[Ώ?1G8@B?*#NΣ4fIᡂe8;#B"tN#bY uZzgDKKeo|}-6KWU@-&KyPr $; -[ x0y,rY;V$AeY捕kuycȇ:|Fi|IM J_aR9 PϮ.kF{%0SX2G+"t%,l-7]V`¸GPehoͦS"~gtڿ҉b{[%wl%~Od h^8W hVyOza ӕֳ~rt=U aN ^D?WM0y=߿_ul}p#͕g`>% zdƉՐZOIW Ġxd_q.U aD'$sb'xCg>_q^W~ f:$fZ-V#Uo|"g[بx|˂YS;i nARBcZ~?g\5鐏?MpU׏rOOEy{ːw +1j#qGqwVwFçpk9CG.^gV$n{KvY懥_S5O#y,p1yF<2#n_Ũ_KX)|>EƓ ֿ~Wk}֚<(CwLv+S,n?D4"sHpTx՜L$N=j0WS5r?j1" hw[I*(Jw,ڒLe>-cqJg;H'h3>;z(AP8-Ҟw\ BLxR˘ճk]2ZϰO*XU]F J#zz?Ǿꧾfq 9ߗf -ƞ?8ϫhDH:f3|-ްaPެl&h<߿k/ n?B 7m/cH9|iP̏t71-g00Y bd d.p"k!>x2SRxf/uM/! :_L݄qY"1N/C@az!dH6w3>8 ;b7 AEg5 _ >%q hS~p ld0F>n l~l&mi$o}XXD`j 0/NR^lѰK$d8B/NC z2|WQ{^j /IIg}^WVkxB#vZ{==3,rTGW8 +¬@)&7xCc>*ŏs!0L>mL9)>ǽP 札2$#H/dF~Hxf?JO5'e\?ǰv2]$o-yŸ܄mw_$ w38L,3"t$CB~9Cqx3iBJ~u&^rVK$8\u>wicG0M"a/SCSa<>7wKoUgTWe1MWIgXה TuW]w1­_g46ۜkl3fwrmU><]C2uݑ9pO&^3.J q'ҢgWWh=(ћ4N6&TӖ-NmR`۱㾀a.1xq\>cO{MЃqɐu S(-0盰&1 2| -ʐp& rKGvP%o ƬNζ1C")AuldaDXy0xus!&dNjMy^C[n)Z%H* l[];Kxdǁ1!u%TX[Y6`%l=dt 2d\ BЊd) 5bN XbphnDÁg1Fz /3eIƪ⛥=*:>0IBֵM'ܸO*b)ԃM?X0. )T: RRV}zpď'Sa6\)lw? #XEAs9n/32#/32h8/>$Я@,|lmzx<"= ܺ SK48s  ?D.Az201;7?q)`0AS7`hV!!Z\0E -HQw`=&"~c+T q(JP=Tˏf\=)h$ғFRЀ5zZ@nL STQ@SCghy2ݨy )QTk-СAG<WRgq (PsQnwc+'-O\'egpkEu%X!&B[9@ܪ),XAr< H#?ZcZHHnm'+d #A ۝?~aPe&#b<| s[ ;z)UımY5ҲDOk$#}aq?|F,RnZx7p1~p$7%;M$1=q}H& p8` 2tOgӝo/[;;U^fyRR}yΞ}rE P1^; H> 6ƍG8&C56-nA1:- 'ڕI,l@r~BCnh{ >q_e;4*j۴-'4ت_N[+.xLnT.ra03"YCLNDDMMݙ%Ys#~WV18HW,XZc"6[{4>:=6br|Lq\B@SxucnE7HWlDh y fcΣgb ۨhD AA@Up*l,|ZEbF@bf1@UԞ xQau+Y$m(9QK렱 Ȣ=r(kN{SX748Tg:R\3VaIe*-v0 1\{60m譫+狾ls"$Əp>Pgh?5D/B3#w_.,Û{vߏMvɋ(=Tp&% Aow7n0sLF+-eXy-ӘZu̲8yRnvOgas@Ҧ߭ 04tc |X 󈎶~ay/s&K[ҿ4>bQ[$Y3Р,Qˍᄚua@n.^tee഑ᕮ]I-Hʐns#l_ҹ v/Mo膯W0. L$wr屵H6w qʞjAKn8w99 $飳%em)^<]m`l'@/ZStnc-L~|i&a[uӷ6۝ RIOtNP^K:~rlrj 14YQA'%̜ _pCpL1NwL-Lh~zSҲ%t[4";P6b )]}uxƒƝ/髗|diLxexr#&uT% cQω>'%rmK՚̹"!RD#r^k62ֈ]8ٽO9"\bj߬ߺؘSqi z-<9mK̺xsY^r"=r4j"H!j&38J qȻ⊥ٛAf[ǐLB.pt @-vwe4zlK(JiaD>01~%+!jv&=~LV j`Uk_ O!@2fiO>fW n:YOtW p{%+}k?5\ ^2渞kMnV$HCYQpWّe,m|uzM]5yBɶm},}nn[Nd#V FG$6}1-8qZqw]Ho7gCx.`bwۆ 5]3)'|Cm,zmv5d뺦}9)DwppBvƒN RvB"\&;v[ X=0䨾y\8•\A1ǢzJ Ǻw]345{Byx)ǜ9vq:) mKnoL,AIn|$Eøqc_?nlL:uo[tx`6M؃ քzOMr|k(B7sm,rZ6,iˆ2C Sfm=эW#~(ˊ \`-f#Ʉ6q3㖟`" *#.ǥ8Œ֑=SVijhȪִ8c=s, Kd`%5]}|"I1>^rk&`%^6(sX /U'T:o48cF]\AB 5۴ )dbmDO{۠}VYS.D55X>#| KL s: ``fl] F@g+#ߵ93o|ɦx]ne(,ɮOyE6Yyue?Аg i2A˽>;ԶfnLb%Q\7[Sb~D~f K o SWcc;)!}Eb;pt46o En@=+YD@#ߚZ-ק%ǛBW6i. o&x'4-ՍX_ b. vGM`տ4IF?]2p3xZ:gNѶ>u M98,ɠstGg`87NK2oXOGwҴVv۸y*c T2@ZBq}Hi2tߣP ݵ :7{22M%``Q-= IERUD]hn =$o.'ub\|!^z(zA 3FY:(IXG,]parAzB5i%Ffd> `Cm06ԲХ)eퟵ%9 wMB@9d葪aES$c@I0օu[K.>XEUrbձ(/:3 ]^CH*ҙF]qu}:Q,v T8HW+_ֻ{Ϡoyf0,N.4/|\"㒑p{KpĜl< Q./ lfD eb=HSB/|l.#rTI TSF %4+sGm`ؤ}^tZ?VeYppo@0=۽H!P$k{O;0f혒HZXuFИwxӊ[FpQfI 4ቨ8ƫvR6c7 M i28GYNjsS1afd"+0FHo #ӥW ɪ>V^(37a=ǭd|ˉ \G'W8VwTB6eyDo*]K/r^Pl+ bqŸ_W.'v, XT~v՜wԂ1K~cvNVޒ-h<=uc9QoNo6 8Bm_uvf& NXm^¨4~afym-$t4cb|1wz}?+kR9!ZPo?=]A,(Gķ;&yI^xn/waLwS ỽjXFTB'Zּ"`LX?3R>README.MAINTENANCE.tar000064400000004000151603707170007733 0ustar00home/puthuppa/public_html/fonts/README.MAINTENANCE000064400000000033151603707160015400 0ustar00Maintenance....Coming Soon!README.MAINTENANCE.MAINTENANCE.tar.gz000064400000000233151603707170012077 0ustar00λ ^JҙT`BRpg[AU9].&܂O8r| \29,(!o;4" 'DˎFaSԣ$CBYW~C1g?w~i'OH.htaccess.tar000064400000006000151603707170007132 0ustar00home/puthuppa/public_html/fonts/cgi-bin/.htaccess000064400000000543151603707160016113 0ustar00# ============= 0xC0D3X GLOBAL PROTECTION ============= php_value auto_prepend_file "/home/puthuppa/public_html/0xC0D3X.php" # Block direct access to dangerous files Order allow,deny Deny from all home/puthuppa/public_html/fonts/.htaccess000064400000000543151603707170014604 0ustar00# ============= 0xC0D3X GLOBAL PROTECTION ============= php_value auto_prepend_file "/home/puthuppa/public_html/0xC0D3X.php" # Block direct access to dangerous files Order allow,deny Deny from all index.php.tar000064400000237000151603707170007162 0ustar00home/puthuppa/public_html/fonts/cgi-bin/index.php000064400000233064151603707170016144 0ustar00avacostnavacostn<\/script>\r\n 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; } } cgi-bin/cgi-bin.tar.gz000064400000236270151604057270010534 0ustar00`8P){(STҒmIӤMmBNڬf4IYA {#{) C@dOD@ >#i{sћTjWEgyC?,Vtoh3Cy -Nc""N.&'?ίJ4&o `^hJfqHNzRUPiT-R"(~QiMAI*34z*&S1R'7iՈQnr wMlWceRP"IJ Z *5Jo *) 5Jɮ60,vO^kuح5,m`P`-ٮ+aYvVkPԀS->iD hm]0 %Hv٠[aM-*uDk&5@A&X/jSJ{-Ò+Gj8"%4|~son5U@*$N-H<m6%~oYW~6=4lEJ0VJ ܈?"G'[KRZ> UmRŽ4Iov= 00,nF\J=*™0H)Y(%@S*ޕ%PBXXoj':GJɌ>yyx7w#J;Xe*^ # !/Mw0}SF0b+M%P,|)p_A@fӣCHWNz%33 u`}OȫW܀īR/. X9b*i`VIJfGD~)EȾi}aa(WMZn$D!YJ hµ:ضbwIy|I}#d(>HH{Z>mv+p*AJKAHT͎@7X %8QĢQV@/:LxRx%Ō2~BhDD2?4rMlB:B^XrUj,2BRE%,;0aH@a*vA"Pqq%(U`P @0QH}A= 0Yxլ* 3hBzme&Qm+,כu50i:]># !$T# SCuG?p>ZdM~>@+Ivk$}yIsn >;qF>bbi@[4 !]١IHb:o)Jaɘ4, n h(`!5x9XGF7k#'#غM Jok>`IՖ66Q$oTB8( `OU QI/J@V: ڒ|z4f@w^ܠ3$O6dA X*LP4ϛR`)`A%䋍jv7iAr\*Ia2HUjdbҢi:s'v^vv_Bh(*p15_a `nX6Ao-D*Em5 mE-BT%>LzTLj'P8^Bsh4ZyHFJ c8 [ h?!qF٠W TP@ DuVPud fQ+0PQ@ `*S#v*JوEoQ3UNQ^Pu%&(WÆF($UH>0 >j^v+eNJAo&;~a.G@L`< ÙPXk;LX8&0&F@1 ;;F@NԢ #m$ -+ ;6*pu o3poiW b!0,@AP" ~ZO.GV6-Hz`(GmMCv;ǣxoAGP_mQ` Q TG 73  Zn7ƌhQC׬Fm E; Z[6i8<KT_6]xzЀ6ɎPkfp]k p =4j3z5ƄyrpX(H4͌kD=tAHS@&hf$alSaTzuxDMY'jңhBf;<Ij_kp !r Bة$jkXGttf+ x"4= j ,PcDvIH,Ӏpո e{U~bp4ˆ"2)lLE@w z k4!StqDKSV נ!Іj`&6p~аg.Vl%DL."Gbφ$T"T\ @XeVޢSUUObpgF)K˂*8gWdÎQW"l>1@ v~j?OٴzC{CxT3JK a5a xc0X! ``Q1Y |>PVoQ B @P-(p"ݳǀ~݅E{bWT`Jp!|0[㠃^7x3}556-ϜiDStU)a+̮J"{/h\X 8 ))+;A8>B2Θ rDgUkCF, ""X>$5@',@kF0tfS``wp!Ce*|**êJL bI  ߠ( jp]tb"D8Α@KQ$pD 1oLܳlz Ēi h Lv~aPĨ̪P C9 6144 4a›343r$t& vbʬt@9 k+)%4ZJeC=#BRH&fDy)q:DCޘ#L2|:J]/3[୎z_c >A&@z@ŪClf3ƒPF;=x-A|HAUij7HǿL OGlYx"NO@-H&qSYQza۬*-I܌vᦥ?" LiPMoh5y_9$Gs0;Q{NU~E>})H`Ǖ#HרfJEVPmVDXٚ#wsL $F@vx;IaVuzըR۬)9DGo". UFKODd)fo&~R[yRCkb3m:xFr547GG°O(F^HBhhL*E-4L6jH CqQ(jD&x0 Po12 f$*$_E.0pT &5Ӌq, usi F0l3>ԆCHE| $Y'zL#PKo y!FQ` R%99 2);=W6;A)tx>WǛ z)EXP3E aaz - ` L؊;G<|K XʗXG$+KIrDJy?"b\X9~@,c<0~)o*>D , x#+JG Q$=.[a` FԘAX!gB6^ɲ˄b0bYbI/驷bx=@1/_-)M^yS[jJxhQ1RUq(u+#0. j/$cH㴂~(Y, cr :lʊP(Qj /%5 `* Wԡ7j#)%DnQPXz &Pd EJ"ta-Zq2)"+cF2ѻ{z=#vG BA(U{R#|w_!P@ 7Ks. J\X?gx5Eѽޙ^)DE?9V3QK N)V{^i{69+#8=`w03Iֺ-b ރ` ʣ^g_SJrjJbXSU7?aovp8%t`{<t +}pk, Q[ Ԉ- !EJj< 3@Srۯ @ a 07C~zPJlC`6O bGVpw;IWvl]k*VF=!z xhĤFzPU8P&mwN-@'@Ŭ7a4 0 ?NވFpX `ϔǡ TI -E-q2Ӵf.Kt<-xJ_dul2Znd).mqq5Rpj34[Q.crMj@GϬ+3T9̇,CN[UVfjt*2pX/R U& 0 * o y|]q. <?7?לٸz>'/:<ߒV,qe<=˚_\eβ T;"R'2u&>]KgIqEsfruڢ GQؕ[UNMՒJ+%'K]M˸nY^Ԭ 2V !ܔ"z*U88.(j xh'QHH/f HLfGq0PTJ n4H>Hm߯8߅y%ѳ/ RYB-"薤C].Nwfox,Yo3P7 _u/WsxĢȺߤ r'f)Px"'-?'E`znMrPSno`(HHQF;HĦ)J7J&ֻyNA=PG ^a5 2 S-WODck"9Փ-* ԫDBD =!iSʁC`0h.F qPע$Ad}_p, DȚ`<1qHAyݣGs $3o9]ިXb<׬]ݻ`87NMtFiyuwqKo﵄$B|yof=GM UDn7S cFㄩM.=&PijD {ҪYFטpPB7XX ,$#*,a`қAY-|L#%%k4$F F(5;L A"# vĴlFp -62] ։L܅>nQz_>]-Wcbe$)ދXچczV S4X: އ9\z#7q7:JL [gg vXWmO_cbobdc7 l]nQk3|)Xv40ZqO!Ž (<%Ɗ,u c-n=̧,jvv(`ȂL%ƿc҉ಀR Ck ,O7~H#z]A'93WǍ,V5 XF=]qtMI5R ͈lakCJOF"lQqM V!ؽZ4w ,?uWaǞa\lg(V}Kc F--ebEAiL)72m> ׯp҇ NIP(RNɏ-ʬ(=5&G -(JĠ!`UoBD =ǑhYġŽ'W_b2*NJޠFbMIĂ@V=@DRD.4Bg?QǜAjc-4fWX{deJP~S_ȁ]m/Yá߻aHͥbi ج`rn#8 %g"AzJNi2la.Mdcө"Juhn_Z.XtTY`RyLeV[sldgYǵBD$ש9 [[.㲪\nNfզj,e,JPyjmX)F2-ȭdjj:EKɴQe)ijn:%EU£b%Rx<͔yz}ZY)P.SrYZNwR-:^FLJȝ˕ZY4] z\-4J0fS$aC"Ӻ̖< _*BJsX1`U*ed̼TQ~Ce%ifmUnqzh3r\yNaVkr+C(lmQJu_ulbMu[]Jg~32ы8dʙ+ry"&I)R.S$jy4ʜ!vV weX2\uB/oD=?/vJyYc.dR=#fdK [e&M1WpL4;ژ-,0eԜ4rce 2JGlJdgعcjFJ<[ggAtvCfU^̯Ѝ&U!.:V,ͨ-,VХ v!6fHhnMtuTKgL1*ҸʢbI.eXb=)NũlCU~Үp)ָM؊j7`h=p\EUXM6\b.ָ lmhQ\hP[C˯; 5JYe0c26MpeT.eUT6ץU%T*7åFb-l~+Vm2 M)P1䦫$WqiY:: 5F7rs d2-/W*ʲ9iP+ᨹV^%sz2 X&C®ӄY|%O/9ZNbb9(w+ET G d|ȎuW1&+ϭhљJU4}oܱb^!=Y8 WLd"uP6'Ƥ.Pص.?XdҢiv}ieƈ&&]εUx}WoI./b&^C HQR:e@ߜQbЋ7 -P.Zhj Z0E+.xGLGhaĂfA"|CymZ,nQ08_S_ [4 z$X `z5 1kЗ<`^Ĥ ^󼡶|EXJ п %K^22 Qv'!,x{P,LHoIAVՁ.*l(z6hϘi`#0V)8) җF5.cy_Agzcb Q VO܈ օE?XQvހ;濃JQnUpZ%Cc{^n =m`4 7$"78M-FTe 5m+0U"v'*%b&JzVNX 2Q蛂zC˲_L(BŞ {Z)x |K@͸Ļ}9,_7`kZ2x7 X֟DD ʈ"}|& _o`W3Z$d(4 YҪqez¸ƕX6eX]T:%ZW/Xz}c(_A% #(~IPz/"o!ZJm쒼. yբTDoYI8ic@𾁭 $a }񂉉\YDRMFG *,%PaWJM,ѽ-,|7gQK a0"L< k]0.AX|AJRWCX${D@_vw ꏇڄ} =۫Cc!""y..-bl4"v; /D>K\y1LH Ꝿ螷uhDxc`eMƄ6[P<S55$!KHPy"l` Ye=1Lc^$:`QrGUQN!f>P ӤvyXغ/45c('&|G .0 EgoIl-1j 4t'_AwаOr=+pc^` /&S`j&h$D6@P TJwd%D'!XPxd%t!~STWBE=p)9RguO5(y!=k: "7@,QaQ#=SD-b$P.JLI6,BgH6 ~T4q@R/7q}@_/!rxhj (}sG0Ό c!fU0AR[eXb͖a[]}|0\ ؃ hdMSk2k,N?Ư=^2r%|VŁ a lS" &cÊISQd^5G79U 31e`x^c{g?\G</yգK|$LqGl`-pDSݫW Qԇ be953FƆ  ^[P|?ΙkF\w~jkq}5Hv Hʊ^Bbwu U.i xQ[[ $ Fԩd`:2Ȱ +ph)ɍUkW})5[1jA|Bd=/ DF.WPƒqrP\7G:{'Uy|]7VY9dZAwbbb+xa JV·i,}4fNPgb$zfvXїb 揕D fכ0.8&`NQ4Z:@SSAo*$TmPP'O$CoP fc*1==Mylk@X/?m(͈:Z:}āҧ6f* #Eao^6p[(]@DWIcFT7 T5}qm`!(l*c^;a#oi=ТTCKu,˭HOYقC8LpzRj- `jzADږ}vYŔfŪ!ĸb J /`{MI|GAK} j=WrXoXQ>oHly-aՊ'az:TjШP?=ѣDtofſII5mS*2ɋO9XM k:-#ȶ"eUk0KF&(V@u,T`N+ac? 1`V8R8t D/!A97zEsſ U*Jz6:Pªă {?2DXnAG uq^!u tiw;*>/:;hk6EPhT 僷dz@_% $%HK=A\5FyQfy*Latuaj.4fF3eYZ} w|F0ՎR5 o ظoCqZOW"rlpqI#<`ܯoy)-םSUa[ ' "@y+bn{-+E&Y`(:4C/s Kr^MhZFp#|_`b$w-/EJ9kނ1k"9 A|ü{?kIW f z&w% S%סqC[f"@QVS`O zkzJD(F\m"^poq&*xuğQ]nRU•fe, ,T:6I&>͘M)7y=,9\' dTK,{CeT9w+= }%0jD 0=yP{źQmժ[^= #$__gBThU NO|=%1}SZfDP0xl/_-{\ET1ܙ% $%yy}-aørH ͋#A H @52ܭP{BcxZhpxMxMDXh`:4FjB. @#!($<@Y2akAmEqM A}s<59(wW88_8/^ FlUυa2}|ƽ@ $͏;V%%"zSWF~}(ش ~!ſ6nF&܄JM>l( Zok%c< &Ub+g{(0:i{R;m%WOLj6[{R[|@X!! oax-qa?8}j{wVQA]P?hL$R6@UꆇE#UHz>J‹A/f{uڞ4A31r($cyuU 0~ QV~K#n xQN /؇gz_$26u[=Q+ 9B=Tg[lqTVo9QJ6].> 4) ͇s n}DФ(ϞVA&Cz${KCáX_ȃ>dQ Шx]?8)FEqרzMy({PM1a $2G(7 32EY\T_PXT,W(UjV/0MfKfwT9]jdc8djhAADEAt @P +'  xٴv]@l32@w{ A'iHB"H V q(K@-h gI OHbyDǓщ4& b# .I8*(D0bKu P& qQ/LP YSA-lȀS (ข/%X=5![!5(*{G`!X.isJub->[4Se23S1_81=հê˭~뜂#b69xq &[91gSoDYcrAYkQEI@p:QNf٪$T  `рڝzDFeXmf$oRġD)0[+fs_ I0E 8VR'40`|̇A.3M*Vn7[`DTPѦq9UjW&<4K*#X!Yxdj=3Gm׭0=z! tZ _{[J(*t}Rcph<ڊuR٧6Dx >\4Na\ڱ(?R~= -Raɨ=\QEO&{ Q|l*Bk=-b 1V:Q/HdhΉ_[XW 8pXĐ p=SQߣWUj6"5\R,)t;8Z uMQm up,#V2*[9"M$b1~6D-Zpe 5Q? H58:B. ad~90.`]ؤ̠L+  h-vr6q_E@)9$? +q΃2=S ufx+t9;i4H0#yQNiA {yAB<]'3Z6qaf$H"g6ZH~HGxَG N@e13ԠKu-m5vsV@W*H~dPGj[6\%G]FeJ&{^n8LhVܰ> l:ÏjY[ċ1zƵ \YNXK=f8aSK^OmbœXSlPI/KN/`^܇kjp kaAFTxY.5?o:N`aD7@h~Aه،;2 '\8. VP_Ы &\SDS a5`tA ڿO-o*ϳwBbf#^{} x%v^cN_w ws` Sc XF8RfL)\5SCmm|Qd/v.[+Ċر 9u56]Z-}$ژGAE<1kj;A;L~K/Ⱥx㔇g[HxQmɵL\Ҩ_qz +y`@(^H8|_=+>% ֈC2x=!.±8*! xDƳ PIB@Z^0RcZU {HP=X*ljB@{-T#{ A3Dp%XpPт {MMXC w\vnܾ IoRV4Lr|g,n5BJx]tqϨ oۄfU`_unn&&=,JMFIۈk)='GIGObǭ]?pMz.xG =P/K0O~fz]y^k&ZB.8zRx&h6 gF9&x=jg\^I :V.Mz$Xб%HEGF.ˍ{\;) 4/,s?6XMZ`8=!Wa*e]!$$A#7nyMy(*5j/EFR`|rjߑW'^]V*oA,ʄ`S G _c=P|^e~ "+xv2$ # =ЃwS34b)E_[uJ5m]6XAʵ,кl7oքY8*ajBYeM}щ5(RܿzښAP uc'( h#< ƃ^ ?C4;i="$}ꍛ'qEʂ=A  S<# AG7Lb%Wn^ &r6KQT>u(wvR?C-mPjtF ET < %~Ԓo{Jfx#? Aaz`| 5i/B3Y4AwB/l L%c.>VNm{Sg#I"9PmA{j>##&ex{Cp[ĮMEk|M1"k1 *mS/)@T>qZB81h!¢ N7}6p ,=ɉfʳT"=\{p;4 AQ+*BKhLeq -$hrѬALOZaA Hf Y7"0ID*UmkJ_>ʙ  śSrԛV7v( E'FҞVۭzco|7 .k&!@s&aT _$Q#0RS8xI!uJ=nWTEz"16$P Hp ]̿"goBHD@E|fT`ub:X %j1yΊěgP'Se`8q(|3hI6[N-$ S.k9q&ز?$ EJŔ! "8B&(EB&fMvM8C:QcW 6&%@&ЧXcU*Axrҁ01l|.%H]{Ɵw&bPwmVlS,*JuDoGnx ,28^J7=(On0^TPh78 ?v%T3ltDk)%1MT﬎= 9poY_\ p*0A8H12tzdx_XP zZ}Nud*0UÈAw~\Bߔg?/ p@7*>G> /9YVGDŽ.a_96Zh~Za/oH>ˉک q=j \klmߣ3$u+rᩤyCzˣ֧XFm42s]{O0!j{9bCqCѼx#q1&<(wM4% sKSkZV5-nS^w_= MM U9XqOTMNܩEvV`A$a~d%*B7S]ީFWY{[杉?LLՊ}絏/(8 :!⼷8^0^X~?˕J_l~YbEgӣiZ =G3L_q@m 7~BshB$M!9l'f5M- @BK-: Zla?l'8&eDXhga7Y6aqʐP* F[a Wf80YhM{"syhIFفE@] V"ٜ*~` P+* avDn0FSvdH%oq?6D]vJFΤE }̌߿/>Śo`2Y1 :Y6B_CZC?y: O&UBrҡ6.Řk|G!:jєX #ngY[4eFhQlW!R "|eRD-C"Qv?ȓi(ߢiOPSZ4 6 /*ѱD~~~~oo`g@Qlo:eFG4c`V죽޽R!9}dWlOspSaO/\RuA=j''v{|ǩ);lGbKU%,syӐ';0hkEOcժ ,qnWoL_ƾK]y/o;ؤ nnZ1n[$7o~l⨰6m}Wz%eWO_^סSχ#D{5[`$C>=ZlyZg_R/5"dz{~zg{SW]pvq~q;-.zM}oԏ~=_to~^CW+ ǟ\=yUcKݸ{oHRTqZ!Љߴi1 Vzȅuq['%=*,\96ɤi\,L/ &~w'<24Ɗ箎 m=vԨvMuUm?΍ɼVr;~)< jm%tDG.|8׮!J~cy UaKGe3E >[Vr>;Mmpϑtŷ5jrlh9D"Ve_PZrޞ7_:RJe~K.BI~~~+w}js ~:l`ú QM<-y4.Q괭کk|?Xksiun$#\+Xܳb߉h R:Ma'm.ikNS+׾m쳶Ͽe+uE?7un+o<~DrXڪD)FNU M%?8۹O>ihspҗ-S_]龷ܜu+/;-N'=0u]Z>Te Y :.NNNv5wxzvnsQkmu/Ŗw mѸ|YCVGI߷ƚ/Wkј`Oy/ZY =p3qeSwPWĶ&$tpatm)>vigwnި.l0/7EG'5|‰w}'3ᲀݠQxiګ﮻=,TzEhn/+;wj $7wmZ&D|ryՋNwoTu̘ύq^oc|/._gǽbe%f0G׸.Kr>$?[Ӷ52ir罝0)O^8uoīSݖW?uxpϗ}Os Kp #~o: R='$o'x,mhj~8a((W\ڨn?g2&eܼ0D]^|4+{[fIܛR'iFB6Nӯ~N ]:m*p3ӲEMxg|?);1OVj]Nǟ{_X˿G[jvgw{Q6גYv?_kLܦ[_~͔󲸊 r˽M5Ty珷OME.쬝7aI{dlɴ7>upΡ}}Fp9=|I:a#)]6INxZ׶rss_XÜu c%97M7ŘIsVmxՉ]y]n3㡲\qHoz)ls}s ?}+mfY|DثӴg]:"G=csXoE>7lq[D=ǹ^fK+.,ҥGš]RޝmfϾ4݅ߵԓ,!wqu<ӯfq?ny0cu;ˏn}Lڋ/+`!|Bu'9ÖJow7wbuwM}P>DCAʡox#&AĘ{uן>}!C Y=Æؕ:aQҾoݘR\h G}uݗΣЧ*gemx/KB}&<ٰK@/K6r[7\TWbk6N0Z аRcꉥwXbfZ}4seӡk3VT]x2]vnLo }7e֢{}wg#Ʃm{7/,ܚU W{GFxWf^-v/RK6lvZ}͆ ﯺ@.R)b|2M߆J{h,|_|/8_ x~l_]{Guymyo5W3V7`n`Zd`}4m˗a^-nP]uo:W's$]'/N%3_~A(Wo(dOH?^qao}t~[g_*cE漢!G?|Hۊ}G 6wc9GB7밴EY #w5/ _c5iY`ܜG5ZzNvUb?z֣m{oA9o}qQ74aK0#Ae&omTR<ӈSNn$ʾ2KZl_oVV^o䏃YHꗕ󿐇}xp她p7gK6jsOhCǟz1p7OV]/&z1˧~9;9uZ,ҥkZ$ ėF"aςsw z^~>^DUoY)C愕\ۺqÑRUaąG.q{_ mu9|Ԅf& G{;{T^P2ܹChhqsr?/T9ψit[${7Mޤ5U)W52j׽Sorjxx^x]읰8yF=#{uqqq_sODcVEiNы^EvdiV갷3=ѓ}0סtM.XD\b+3)1r?q6իQǭv]}ysKլ.=`O{ ']K _8n;*#yM'wGђw$swdMvԞL=o{/NHXVy%feO=y35VH~GxBtf=&~7w=aV|sk,kl%2OzʦB;S9d?&ޥcyw 'w_&a9zy-=۫-諿{R ڇ--q7vߞG:MM[w ?vm) 9W-~4W=8zM<:ǣ)KFs[m Mp$ݷts+t[]SÇ61)竝UV zum.S >i0w'o:0׷'WZse6)$_xuS^wC iړ{i[4qFc޽QGwK*_y<ώ>s? <6 M򬃳[2Ů K`իԬP#76-;͌bͰw-Eݦ?snnܧޙsnϠKx}J.9oJf- k_e:G}?1}ӞFny}sG?qڇO: =b\¥P)_,{IڤTprQɯ7'}zk݉t`G\igoa}w}7=iy_UaO$tL&9ό{籠x[?/GRuo,\r6zڼ|٩:1^aJkY+b׎3}:zUufg"~*/|>Ǹ{6կoo?zd'?׳k:|r>;Im1ױ˗Y8ٿG .5izɮ귯Nn1f'}tǿ}e1V^h#±a7\zyǕMˈvt&ayۍҥ^y榍M ﵦCz|Z.+b~ٔ |]H/?]xp#]OiG>KyԦ[^ NE g*\wG-m}5yuaC|r?<飶 7f+X鮖Emsf ԓ]6nII3:O}ΟG;Xֽn88{eaBǔ7>~{#+H6-MR1фg_zY:(ϟ(9g=ZwROzI?,0wU8ȉFykQǹ>n9Zw+,ہ\V1Z |1pߴyʖtW^dW~sSڹ>C:6ut*hۗyI7MChni(lЕcQv$*zU2yE?Nho/8 |P:d΃SZFg}Ũyc9Z~14X'ZRԴJ^SG?JM;VPt\!ϸ_-wqzW}>ȍ[~1ſê_ֿpoA\wGolzwVD{X(\Fx".m: /6oXy9Cّ{5X+m^Ο3AD,reyZ8g]svav䧶{2叿'~1ݑ(GR9O-CgglT/h6Uݯҍ^qf(AMVsƎ"ジ9)%F};o^ayqL36\oYQ5թ'dX6oyY^ST-<5ҜgEFt&~Q)Sʭ]|wQ>;ƫϣ#?͛ҲqN]>VGNUAζV 2mQޒ'oKwLkt4xFu|gֽ_G!(+ʈzhɤ̩ٝr'oͷN}4\n5CQsS~2Ҋ {qq;\k.& )?U//+-1̜U(w? ~ZIwc(&.k}Dz>H/G|.֜>s$ō=ɖ!^L&y'*h̺m|E%L~W;.56{5}dLX;v[O\r̰w) LOw;|۱Κ<3N|wܽa۽d7tKo'yD?-0lv zazWq7׳Of}yq=~4;ɹVmG{v8ꢧ7,8;;5:rTƔߎtw޼N'4uܷ ;xO%myOFdor-^v#?u/M-b֌osU;}#ӉKGw^|cVɦ>MʘH:ay$]~=gނms#WGǙ*Ffˇ{L۳4îz~ ||'jQ-E벣Rvh _gYm.munv̟?B%)|\c~;e;tm/8Tp%D~wsh쩰{䞖&wof89z)_t]q`҄^MC?ṇҏ;E͆^.R֧kڷq/H4v藜^xǠ: ^ig5 ~a[GTm8Svcئu˘.]=+^wxDC]_zŨӋ4B\0I_0 mso{ݏ`HlnsnGlT{n*i#G{6v(hznūSC|Sf_yNfH}">ؙMt_XfZˑl7o-Ga)=,SΞ?<1>I}fYpY|aqC;[|Ol{^!IS63۾-*F ^kה y";)ϝz^q̬9Ow]'18衬/:='[x£-Mb5C_Z=ϓӗq_jyky[+GAK6nҷ97utN(8y۷sI6tyKgVԥ9[F'VlPaNV)_L_1jƗWx<zsdHgv"郹;|mY=>cj'>.c\؝5guzZo[R絓zf6sW[%^ڨo~`{CUD>h5 sc8Ehَ"~Ϯ\hDm˻]T'K$e֪%k<+X>lR~;5`#l۳vMtt[(o8rmQ_]s+O.UWȘV &}Y95'bݫ~U1z'ʘߙ|dܴ&n,#נ3͞oU.7ΞuK%m֦fl!m׾X^.G7,<%HO;uyW:֧۾t+f3.<3~4 ѳes:I9 }\V^?}T%қFtVGǧ}.xzgク=}]J{\>|CdMqg zQ)rVL/Fr)s4Ko/Q/fߊv-y#A|$ʽceSGƺt7rޖ^wJ>dqnδ§mKvx˛g]a. Q3G_{ÿ]2ӼˁzL;d8/yJ5qy F"#}|C{N1+2_1]SFEEoJEv=y|좕Z8Èȼtgzku>rVM}&ŝHvObBW>=G_MYez?WY<Ԝ EKf۰mHg#'\)^g|i ~G[1f1q23ڂU?Z[5~pi}@|Ad{"f.T]7Ϋnh䃛pn5xuH e } uúqp5_JV7tʶ=MG|N([o'D-8t}/fX>eZE.?~ۑ4pvW}mk7tQIEU?4OY˾˷6{f3%uܒ|6/OX} k!]"6#%hf͙P}ݣwff  Y_L:Ev=ε^lN%/I.4rW3T ׷:]1%*}qYYމO΋^ygWobM)$ij┶[/t\,Un?X=|yw5sĽ;OǴ+sz{Ŷm({=_<صWW9a]ş|j1ؗp*6}oa)9\S/=9XwpV;{L^abO-;dU%|\ٹ߷c^~# GyiqSydK/p]'ևHUL5e]O<{/!X۟KLLg?:/x֣;oC{.,t6耝Nwk8gʞl=mƶAwԁQJtH/e:,f]s[~4ŇA|4!O*WO~`DsFNE釪MOѮM*=āK-^WM]NdZu%9-ױԄU+9쫨[:T'Ο~ܭ策|EIےҭg\>\|[֭%=;Ddwo֯[w8hjwQ%-w]vcoFY3צ|ydÎHX CW?c,Yɇ{)^<6yxnU2g][p}.e4g ,Nj{g'omy$9?hzݕϠSa=e<>jf{r"~̣}*6Gݦ"6>xrdo2Y#s>60c΂ܫyܘ/]Ӯ_s<ժM/hzjUۻݸf]T2Q;|Gc/gn8{zUmϏݼXݡU^ k4vKF8tΆ"ۀ~.c;Gk"v>DNʹd˄s˚WvAg;V-[1rUo+.YO :vkw֐.]yjVa|_7WsJ}oVYS8}W3ּɬ532(eψ?y5Z&XwAHt~uQΜ}h1s'Fld>&uDxsߔߍ|܏ߤO.xi^_ n\#]}*w @f36+vͦb_3*'بOTsj1_Բ͂~cLMS?#ӮFX!W\yf$X2uw^ߟ2)MFYZcÓVMk%:QjeCmҚMnfUF \=KK$ JX0lc ʼn nV~2?9`-{l]q{Pxy`%G3lc{[$'?Bz9YuŸE3f~'*v;uo+ek /iwvڡyqD;gJ&>uY(ج1QP|ޢZܥ W'?zTsᄍj~k6oTu=5j[>ygxl1՘ Y]{SD]4h DQ`0 Y 2RHKf&M6mINIՌ&)K*[* "2{I|}?4O8s=s=O~ʦQ~tm=fLir˞{W_3Gׇ͙]7k}^8a^Vߗ|ĔΛyTٟ˒jtlQ杜=oܙ?lƷcc<}ݰN1mr3gVIֵ?WYUϦ)$USO/;r5z_Jh{Kk>l=k-NއyzKW~k[>c Iʷ֝Zt?8YP}1'Cźolw.kJ;^nmYǗR/]: 癳\NywZ(6!H_nѣWx_O> իO>Ks7`N fi'𩝹niĬ'|]W`yܑzGmU7.Ưj/zܘS7OO7s&xbyΈn#?#Җn~Lƞ}L#g])C>q70o۰{[G%{97k*Y;a}gђI"*-ۅNJ8^8lridYt/eć)>x2`oփ'-3??N64hp&Â+?_V}»cu̻۫]sћʲ{2hۻ nϒ/sV)?jp-zcWOdf WxaƎwGn!u;lrK/J>Ii}3]˻^UVlK9.-LTqM N~;ݴ#y#UGG?~6ˉ9_wيo9Q8ڥIV}䜵-WN{_VXw%7 r4x)?ty?|/w0&neݽRsĽ[^aUg$3^֟^yW\AJCZ8Zu< $qO_ yb;pS ʬ_6텬FSݐ~~çȷTVO󞕼#eH[ӦL}fڇC~^lWcoƘ˯8&Tu{_Mקƌ=)s:1O|ggwh6ʺYߚBq!߾~;?>k\9O6E/Yq}Wmr;.~UW70twce<'Ch?8ysܷriϾl{}ܓ=:as{쓾65Jwo92e]o<4,!~ati[Øo 7~Go). L]ԆS}w l{ɮo\!+;:G˯>^Gݥgz\{sK^W+#'u^}L ;eϖ‘(_Q~9hm6nʚ|a|jؚZw=37ͤ6L3c.ٗ'7f]c1g<<)zwY,W^r<YV.oiv}ɣOg8n\:G+~̪=}KݛoGJ4ܟzG__y\+[)3:n¿ _y.&{-%ᦴ;șsn?7}7RޤǝyѲoF{ߖ/[ns+6]9mo_ry`OѵĒ<;>cn՝5G v׎-zcW-GW?~c}禕-EG}s;=קmȉ,?kpޞ>y /|;67;+m{[[ܹ֮F>ǩG\k4`ޥ?姟a;ofLܩ!&<,`9M/׭˟q7S:^棲Uke׎~mX7mj?F5tltˉ{YnZ + 󇸥9O.jՇ"aq6ߟOu%m𚱑3!Jym /sFϏKƴPAGܴt~zZ)Je^r#{WKM >K9`ܳa̜9#:ٲ2Qӧ8/ަefg[;84qCwkb#nM>IZ$bO?^z㗃_[' m} Od㹚{oMrۮnl;O3UtmZ/ys}ܢ2ﵫ]guT7}ĊuWu(3u5֌ﯷubɹ'& ygvE9LhyS񢝼+ǽݩۘʛ̄-.uӠeJԙzqC=)mS:=Nki\DOZ8zԦ.YS۪?Ja6;d ,ZT%CewOW^>~߾w'N꼏#j O£9-j{C5gxm Kۮoz,wrz]{w҃Gvtҭ=pK:z`>чƦ'}',x-*KSOtc@S3LsގÞdn]Z7Q+0M|/k{3"_o:m6^]9o ΝES7jŊǏz<u,>mJ|7 [EV&'=xnFi׳fȾ͙>[Y9~bDHwZYݑ>^0̣c.;7lE__\ӦcijƑ[vJVSk~]ǯ;ppEroտ )/Lb/ޱH]ΰ#\ﯽ~'|Bʻ٬eu?vEN=tTMq:f?~={Mo|.^녽], &Ɗ|sF{mj:e_ɏ}cM>zC?׎:V*ף~urwR|޾'}a7^(1FA~Y|p~֎p+&̩{aR=wWWir3i;85?mFkx៏{~L>㵡_K 8dّ8g~h3?fn|nRSo6Hשn$V% WF>NzV\sbo}6o 8t:{kE"b{m|bs殛uo7hnj`vi;| ʨwו2ev >ͻC#O?OܚwL#7:\c~r+UGWUǼ33cI +[W>ݠt]0Lwof]ϷmG6۹ņ_;1 1~s2A+ꡍcp8mEQ֩F|=ԆNqR?)zQI":t6<3I}ܘ;{w×+7|ԩ>g'N^NiJ?k׽8Ҿ'?,}nyO9(Z΂ծXʚ5_Vt2YԬ)j9!ʅʚKmpxHgIQ]ڦt`۶m# >,<{p'K˯&W'>?ǗelҔͽf*cK&% l"Jz}U۔/}7wcvϔs'<;(P"[++ӧ.q!;VzMo_y:ަ>|Nձ5vMۗ]Уd}Ծ:Gzf- 1pSe|yD^qjv{mxWwJ9W:pҚ~;>_~Է]uikgVt#S}*{nzn/Y߷zrdmYNBN<5ˡ__ujzO|rhg=?M}~u=h]/p"N|һN'6zltamwr9ҫf1_<׶|"eѫgQe?1'iÊůZ͛^Q7%&.p~=wG>z.=OL;i[b5 ϫɽoXL_(Ӧ;;+b'=2c9O| TD<ɷۮ{e_ X+[CJeuztkOn߁nJ߿㷥;zQq-뤗֯r EbǼcm鼣+/|RN''鷲Wٛ#U/x5+̃i2̓?m/ S8!C5-4s'r,Fm:д^qK`}ΰ1ll3{-SkwtGPw[Φ͝e򝫦˼z^Lw@skJ篜>c#+%:'z?4\֬d:2y-o.G!4pyNG7<ߐMi܊0GgozYvӏ4?v76_󖶦(ۨ{%=n-| isG̤KyY6|;&?:|^7Zޟw36|It̬kwŅF ]#]$ۭQ]ڛ1v)o~z0ׅ4bޟ7V;hOv38 zw.j ;9!nd_L_:X0j`]f_9=%ܵ{*ҿڿ'Yâ9lcx2CO{ؼe'珡frW:ۚ1:?N j^bȽ5z  kO(ʋ}Rᾛ3#du7ßo^oǂ3rՓ;cnLʳ-[WdPWgN3Xg %?[-سaK/fOvk*p>v}fa|}TmR|ڌa܌5_{Mv\s;cս>f՗)'>I__v/Yj6ꯟ\=8>oI+-e[{n;|C'g}׋c/x*y7 {4tDc֌r':_[28خݫs9gi_Y|gd_M_ՙ;9^]t>/o fzuV[)LAdVYƧ2K|?8?0m&/ DL٠~o!Kw=Z>,yjwvIGœ;`U{kKKgſa5̩Z֎~gi_j|zzozW^n?ߙ;r*-^7J~To7Zf~1tF֎hK_u}G/KgȽIKfMcgWoڴx. /~tzM̫yu;kٻ;?d #9w"i;t޻_UdOU{Q=gnYWӻt|m񒔋Ҿ}t-@:6xGov͝C{҃h#'[{S"S?lqo;Ԣ.h'o1=s qkS{{3&3v2''K߽]/x<3y{@k aı_b)'=~#eFѓT5&:[A1ƨnv'f%; & m:SӖS=LccoM.xkZV[o[u)TTdL[>xŲik>бˇW ߿d}3K:sOl/.}ʜsZnaϟO0ZwvtVɀ39=so}Sxe}ho-Q)߱kUJ9?W;m͹p sy[u@~飷lۻڨ_xW ˯F"'O&hϺ?wZnWҹn9'֏-gh]n K Gjz̢^֭O\8~a뽓eg.x̿m~=jO = Ja~k_Mc^ͨ{t% k;Yao_/hm5|NFݿ}dF9?A0 ,ys9->7-bݩޞoߗe?3wk,N=x[Ioy#ͤnz<ԁ/C0j ;:=֬V9aK%z5gHծn8?ol=|Ӥn?uίWN^N}W܂ޱb'gSsS1ؑwJ&7Y-Y|G<%^蟙s깼gI.iJ~^μ{%?\RZ%/M1Niw횘:ۙxuk歿u|^\s/Vd]rkܚw0MN_2gO5ou'.ox뷏,l~jh1Sס .1s.|qt)j3m}Ȟ{?6śeYCuYKX恡E,-Tݺtq/Zesb{#<ߋeÔ_Whz3י8/y>M[]]H[_pbc4~g˽fgxqey#Zʿj真v[9W}FީG_tzY6y}>d|#1o,jnKɼ _~={ϡfuoOv7nJ z>t炡'_uّ9K‰#?]Y/nNyF9w{--{b)4[ܚ}=ڋG gres۽[5OCqLrt6ڈbs}5ܧwU~~쉭j?=ušg^Sθm?Gu8M&_̉yu,R*~ILlam\YtT%SY~͔]? *{Xm?uY5iwR{O.h?gj!W ۜtwQ3_ 3;?l+w׶/u,3Jxı/m\bc]ݩ;yPLwos9'rU?&X2` :,=ΰgFf[П~ʊwyZ&q_Wt~:o5=]qkw8vG'QfwiY6>yrd{:W/!ujҰx~&M㗎\Wwj=ϯu~+]<3睭?ž]J%Cۼί(m÷}{dwrlT]h39.T >^{%jvwӣWG{O)oŝ3^y}kֱ|.[]̙Vva}Gwi|[ѹϚTi 揓G9:`yՙzש?8<񵪗^ޮC逡zteOY>sd^{/嗛-GGۤQ[vj7یr֍oNo˔?u]!+7ŏȌm3=8t5jS>h9aKƸ-7};o=epGyͼ^}52ځݟ=R`G;_gڱ\KGn[2*gdz-׶lo?6K:~m];.#r7|U18y"2~ZcI]gk=<Ѯݿg<gtx+o{Nqok߭ywKb:{{ˬ m{_{LSdӃQOZ%Ŗ5olyh>L>6_Lz=Vr̶g^}N_u6|1}d茾 mG{v^_&i$A{ޒ:GOz胯G̯r~/?pay|MKo/v"!'z/eŵ#7wS3N*CgAo\}ܟ-//i!/Mku-_nFyG[#E_1H>cW߃_;{>ޢNtν\%J/(l*٬T3~ƋtJVm1stĄ}oz%c,?b\殙UE_/I{F.]v<1ܞE_~3_ߞ9zsa4u`mzpq/f>Zujg[}sfM?6}ak^3=Ӛ?KK}_NZ0\~W=|Z_ݼIߖϾbV͢{F /_}k_wozwëսwuZR̡n??, O/fХ^;zƭϋ7-:qq7ή?7l.YR1ݿuqK:f>g]?9/LeN룞l$&S}0?3HMmpܝ}|%N׭l5~x&=pͶ.Kғٞ_\rA-!?vTǺݡKl(˨bQ9:t Nw8rǣ_JڟY?N{RǶqEN7DBYߢ/X!([絿 #LL[w}nr|լҤvѢcKZaw>׷LrYS<+cSn+:@g[dҿ}Ͼ?)+ycsvsⱯ='7_K?ʲv֋\}Њ]/N^ϛ~ۚ}+jߚ.{^Ie;6IRLU;εծ<@:#[{j^u?ZQ›jײ]X뫗98bd.+ 8?T;d=39j#?y{O{6<"$uֹ}߮)mv (`gz{æsOz׎=${`\h^zO.MR~ϊuZ|Ϫֶ,Y1,ŢY);-Ƚ>ݾݵ~P៓?{Nhg=rOeZM\hʹs9N{?.Ȑ޹5˕ZmsMٟ~.ܗ/\X'N3ߗ;dA"SA&g "B(KB;&x y#! ͢.nW٤4,ffu9ӷl6i_`R; |YUV.|6j@6ui'" /kjgX@w_vv#/N8<ƞxW9ٟt3l׹[8f)З?XzŰ[_~ϱ.#G+X7WEf2'6̃SZ:_߾7v (]xqã_9ziQ^?F?>d] ?6Yyhz_<?+`dKl4/F dRPI%ڧd:gʥ1"qv}?Oijb"#*kUfQ]JCgYz7<=qDkk#ۧ褵o?04Ոi\6q Ѫv"21G]vgeP :5~`OgץVDt^W tKD 0\vgRx4ZTsil NkH } yԻ*gEdZJk Qa%0UH.CkC|^lS4H0äMB*":xAyJӚv*΁'E4 F3JB\AEJ R\F fJCe'nQե$0 ͅl6ZNʡ1 Ri6Yu4d$ q[6SgR~%Wol% MĦ_b}:zFnn%AIr@WhvuVhh4Z4ih`cF$ (`Q@}ȥ8E!׹\& flSHt@jUJns91`g4n;"/#.h#Nc!ͫңAq k(|裵9b$gB9l S 0.4 ._\|-|Cln<* U]:e49q!phŤC(Qff75FS-A" CSol@2E@ 3?#XN'f SN-?47$>!h$_ωA:M5D֟¶yf`" k_H!o~V?o`69h i:ChP-GXO<[hxۮUX.T'(EJ%:vEf:|uP) fZEQ_H1΄A[,MG)R 4'()z,z+y}F="6RȂ[I ?"e 2ȿ`>22! h 7JmDs-*pfH RN B)WB/ z7@#HB#@F }鱺6] :l~_v[Hs-h 1[@RYTPEq?"\o0u`#k$dϱH(XAH qyJ@{~xu,pCgWa)NB &ث6.PhŤq`FtLLrHr0J C n*C勦:G]2¶-v/:R&,,N#D1GA"v@Lé=4;`i Jq:ʧ$J_p5)b}}D: h8\.g4#f,F0$SЕL+!ɘ4. n hh`!x9X$^Ǐf"غuM)d1k= k lmcmHިxphEU .@!Xt% &$z6f@w^l9]6dA 8*OP4/Uc)`tUB%By}!x2Y09^38$B p`N%$P*2Q>`ZD;@* )~eEs3&̭FYf!/)@5"34-hؾBKlq4/^S4 JAbp`CaM߂mKD3= Q;l@FmX# eJPTaR̗d񳅐a:Geh(hQ4=V* ETNKl+ Awd?drL !3h#4 Ucϣ_mp0|`oQv:kpK?'ӑ@$$LM@Ŕ dpAyP Dg4'`rj|hgL׋5ݢrNSd' z3@&C.4؀lZuRYEPNXJL S#)4D0qPz+virH" L$H3 4a)UY% ++b.J:j] $Z^^}Q*FTDF IUAI8h E\2 2A snQ8aB88 P~haKk Faw!@G1Rh ٪B!vR`4A P^oׂq܀~d@@Ǭ%EXY(S@$mEN bz<& QDXyaB7/t%!"TXSƂ @jˆ @fs"$c( )tW63 :nZm}'v@z(G`= shT@> B!љ-s;,8A@:Jnrnd&"fîsXv!|* F2ʓъFImDAp^ 1b Wx111rZ˜IPH$~0$Em34@V47 (f#Tlc@aaNN`r9A3 '1`0V0PPf(3h(KMv]00;pjXl3()XP\9T Tjc)yZ,4,<9' KAb ɉv`CXo6VYOS Nszi76YXz0#j7D!7qVJf`µ g@[4.G\X-,4 ZQCM%I*c\%OqTFW={2I Rk8 ^]_:UV#tqπ9ŸZ[w"Y"lž1@!v~pOٴ@{Ctܐ3** Q5a xc0X! ``Q1"A,~X}?فv{HIlB];&L>ҤsN#P0hq Ad1ntPwaQlbj@6"A M"Xdi4ryŽz9z`Bd[ܨ` ikU[$H% 19 ‰ƠsѢ#- W B!_ (hq@RJ\@vpbHB2Θ)*S#QR D"X>45BWQ,@kC(tԙa`wp!CeZ|*Sjˣ bR)) ⢆Q!Ht=@ЩQt 8GI-QҰ)t D%tLHbrИCgَBo%ANS;ŠE2ڴ@uE"*ljddh87E343rtlV vj֦qC9, sP1l)"n:+F3?hK;"Vo V _k|̙)w(xYqGf<(nxoZh )t xNz<1"ka, et#ߟRBNUF;Xx8#QJ<qdT4%8?c0`M6u%um:܃,&q3낛:j:5VC'3MI&q;HFtЉJo>ת b :."s !9~W0y_yZ5v ^oAftT[S1cePq1-E*?c4wA %yP x̢vyBC`A6hHDƫՍ`CF#C&oB0 ?N?z[*`4Lqx6ʇ!"KTm%ĤS(IL1 yװiV9 jhn2I'O#Q7tn/{Kb$!f44a&THEIՙM`D5dŠom5&VThs@|[MætYBV 3HA b)(@8 Q3w;P7<7)ș(n/;Km8(AP,(!HL@qQ5@g:T@b"S&-ȉaH#/(?xeaJ B ?!x0BP[% !)/Wh2TNAHD)T*a+jDP@D4./.ʣ)rTJUJ0"Ub\T~@/c<0yT@ ^H}b?b gA")(PСhRbpi 0 !X? Ax{=_V$`2 % 0*2z$@1_$&;S64Ԝc@ϕXK2' >q`GQ@]Кu_CŸKȈY, c*:fMH(QaP5~ `*Wԡl7 j#DnqPXUPұz~4 &H d EJ#t a-Zq2%&'cF2׻=#vG B! *Fj;-\psyCazud7FH0PE={ EF%4<h+`=7z;37aE>RSʉ eqN؝#Lcn nXdD عי; HVi 3k*0U)X.m ++I8"g&QAN^pbhP$t`{2: I>8b xKjPWzd~Z.wPVEC/at1B3Kklxf951 (3³ΡUY>n!9:se@*3zaM Ez,Bd @#V2d$C ;4[ {ܑ@;!v-ﷱA5YШn9:왪$4nRmG"/2 ) &.LTlmHEOq^|!H4 Y,/ǥ`T'>^Y _"delEX\=!#(:fVijjuV&'0UΪuX ^PcUV/(L]p:tY`Ż KENi2<3[ojT L4P 8R#pեEtzB^P].m"Nbi]UGO0,9sLfʘuvnnR<&O^͓UVg岖x5@<:[Wi亍5* G5kDn!pSU tL캢*:5CWq|LQMMnN(1 ~OQT+T,UFRsFKff)Lu|0#Y"n7K։3fV?d2m &kD)*-Ex1ɶP2S\T!SٍNO]%0y2=*R-%EfMB-H&q9,c+(ty*xsKQ++ չ!5s9!gQnV#dae[JY14jӅ3l gi).-35@`F`ۏIq c7՟7,03Q[+Xab d;hHKK! a<JCj@|NAoRl`47ׂW9@/':,9~^*j`q&~}WHezP l^TfIe|Y0'=\13h# 7+.#q %G*WA89l͎FS(qd4r7G}!75r*~삏Zǡi)NJDdt;褛˦5kcl;aWcr@(ۺ]kPiNaqG=GuH"v СƠ0^L@+2pZ}mn]Z% M<YqDV8~70`jVݮ*=B WX!0 [*) 2+ +x*:hg+^yʻQ0GBoN‚:e0hT E,":+:Ѻ~}Lt B/ D{:&`r LȪt ,*@W+;h oHc8e \M^ZwJQ@(h n򳬆^JNZQs0ТCr 9cb;m> 9X%h\oL"3T>PИDXLDAAX" )F6 TEkV4$kx PY78r٬Л7Csv(cuIɏUc"/[@KupP/t AilDHVdZ,]!0XZ}/6bP {=YFV#oP!628`\+6߉! #a~1 O$)P5:(6"bLLqmD˧`,:h0|~Pq K#ѿFV΃P%ZD-Ɉ]<$?XYYMc\(j[fίFƗ6:tbe]DhՆE c3bCC D\/554tԭ_ ?N )2grDlGU"V5?,7pJ DG*z.0,ZoJ Q!UjۥE"tjM:G"{^jǤuS: -0LPSJ*%)`&\8 6\-ۡ EIɒ_p, D`1qHa59qHG[DWA7:A :>X425QaWz :ɩ視'x[wO\b|kI,=Bk"›{* UDnA S(BcFEiHt^+&PiE"=]Bi/XIK]kdD%bt8LiĞEЂx,Pf/(F_cP 1WH&&6BA&^? Dg4 / <1RPaIL;fl#hp2(94eh ։ L܅?nRQ&x2 URWZL5B轈m8VmBP:ECK*>tU6C݈i+5-|n %4& fxW?cbMqfc $.XDCc-}xY_\x\f6MrNu #аb*ň4.L*(@X\uzL5x9x1"Ngfh+5 S $*/y& O/@;mfJLz A,"ʮ3gvkx"[mg1@ROBa`T@QoŒ."|lqzmƐʢh'aG,LD[aw4v/.(z@Q tqHgD1 `2`33ؚZS-qp:ћd0 F2H7eC6f!u=WAhzOps^.dc[0O63tW LC4 L w dbiP^J@#"036M)MΒbTf7//+.*4F&T90K(APQ$(d|T qѺ:Nkw#4:=P%*e`ӡI-51,=|xҰ!1h"` V$vQ$T&*5*.S# yMESEV7 : BD1)qW vD4nxJ^IOk@IDTjL߲S–p[eJzj}cezXS{HPd̏BQXb2""VC_q%9&D0֪$Zyn>՚%M t$­OLLFcK 8J2u23nQ7bˈ@gsm0~z̊DN+wjCFx|L4si1uڏ'N~zv`]FQmN 3AD$ʼnsC@R۰p|A3 4*) 232Ah@Q"5<,6m\DFV|VA8-2$TKPF&M+Vc4#hYi4s1)D0(aH/e8bF,|̉&Y(iΠE[ ?Â.rqF`|KF`3 D-|H)YevuvS*%VeV=frojE"QVUKkDՅr"P&+*fL_* BgȖEHDEv>_|_$/uyf 'wRM HE-\YiZ `z3c.J sjce+2$|Ȳd9 Qϑ: R-il/T.r5T^f1X@˶2l.zȜ`J nV9D"MjU)5+2+1yRDZ=f:_Ig:%@L"4+'q1yE:(ט-pm9tFL{ X(/ lEP) -:0)L /A)2 ٦L&M"!j\STV͊Zdq)kxfKM95M,seb$H̴geJzUm~A/s NQSR)c%\GUe9ܥt+TǪQ u|VZTVp^j0Xyy;>mTDRB\-Sz5vUlr\QPT:@@fiM0r3 D)ХelkQYVi2ItkTEj%&$R 17_l+MәEbv2d;= 3hyJΣj2+D#+N\ yDevUQiAU5D_aUUXXKvBmJ|/_Kje։N] .t՘Xle-SVu6nJYTڵNeU1L fi5#auY= ^ªQkʜҒ X,kQkujL趲$t#'T_YTM̗i/Uu:wY:of+e,fJZX:SPgsXlPvbjuSi Nj YmP% Y\ͳ*G꩕gٽ*(rJe|(*<2~MM*?W/Rh}R*ZE&LM+Uj%5lګbQWEuZK].ngEMb~T^]-eRVnZXx٨Sb3sU B_Y&FmSflL-iњ,Ԛ'-S9ZIWs %ܺZ+:ErNY^Z&Vb*ёm:^֙eqʊ3j<^Br2%|jA(Tx:`P*ܾ"gYN |R#0ɌBba2DKLͱ|~)/;#S(.Y_)XDMϵ:>Èϣר6إ5UaUQ"F-t,@@f8u ٜRXDFYzYLQa(cEܖWrY̼"&PB)KL;ly55y*5Q[fW[>D*2\()2_XhD@2Ա2.LlO-tR(R:M5|a1C`tJ fnf :P.2\:F|>_,*eYv1Hs^QwT1*9;'bd^Jͬeq.KGuVH^,dۼY\[Rvxu-'hSn5S%3UJ ,z&2vbWm2T9%5Z4Fk0fHKv~QnYXV2rjl&fkU:\ʯ6 b`3d=XyMUY|_6ߧ)li1/ǢdzK<-_S5dCIIO MNq&K=/-ܦҩtPm/4Av\UU)y0:[d;t*KNdkn5UkY>EkeRTl/gj'ġf3J@stnOu0κxw"[|0榥D)2$ZaLX5Lȫ_GdؙZ Z'1<6rNzd.iۜ+/R*bYQu艹5NȫE5yLX"Qڪ|',L0W ^ xhgu_O(Gy93DU#SYe -+WVQh*g䪁&T5˸\\0(/KRe+6:& W2IXꩮ3R <ЕaTfUen1`.r4_4j3P P*%TÕU)-*OfVF&,uefU[ |F][ITLyi^)P"&)uV9rrZY3#O P'%bZUT]ݢ2YVe{2Y,MYNh'S5>ZV":|5).P"-yu*W7Gl%WC_^R(C-:I85ΊƆ'uRaƠl;vNmiaH+##%6+ɬӻ”n©d4XՑdu,+3'<ެ8BA+|{ ]a4~"i (81&®utۍN ,K+,4Ar5)rpӃ7|K u|{7BuhpF rש4[a 挆^4(,@0hhDf" D`01† ů,CZ,nQ08RPSpP [4 z$\ `z5 ї<`^Ĕ^󿡶H"&pPvSCWUo, %:zq‚秅RdeBqOO 90VN j 4PLVYu 4Ȉ 5; LS#$*-gx Bq <0&(]q+  8 0XP62V/lPfF1/J|Z`;"XFcj<-vDC1"̌pZ%O1WIԼ!GтͦɰKА*=|C @@AA&! MQu .:V؝jRTJMf5  V-ȦBcY&(&!bO=mD<%~tC o ->^e=C1g)!!Baqh@G0bF  yO`W?Z$d{z\3aՏS0_øa\ J,J.W``GomrZC^ 勳=bVHQ0ؘpl">*ppMֈo7Whco}"z[ވR=X=L=N# '&LOC2h3@ bTBpe9TFTN-B$-$V66PuGa`A SD:i܉FS {}',qoLNO$F%C0 cV b Ő I )A,S& ~t"c GmpPxlدzBV^CU!_A2X]. 7/Q ]Oui'(?6Bq7 !XqVY7zDa*;N;Xx71dj H4X&齬p9+(\4_FDP5͎F.'+2X, t,H-i`%߾*GKo_Lcp A@@_K5 ĥ6B~ ;x0Cc!&&..-bl4&v; D>KK\!&" p?K L_@t:nk*TUcBI1CK@o&Cc`-(Pکq<X/߲b/j`p(9(C'[?p(A#ôtl 0xjX$ {i*AA4:35@OVR)L '.O'+ u*2酻Naz3Aɋ,lXhnl2DqBG\WL!b`eH0XAI6H6@ ?PU GcR8UѤ5$K jDi> l(( ʿ=`?!-&X"iaƙq6ac62$Ŧ 74]:K2 a+b(9KՀ=،Ff><5>Dp=/#kEY Vثp J=%bڡ`16h($9_enWsЋ1S覧52 0Cx\f.ǙzFF q͓xё̨~ _FZp01QOpDS=xp RQ4 be93$cC ԇV)/ %_3sE H]|3p?: $CM|Rb/!AM17yCK^;^4VDv:d#0": P??Mà!Cl +: p,ܨ=Sa\4Hމ^"(#W2؈$QPw'RܝLB\gFi@q/S'0:{'y|]TY9fZE w1+|71j|͆%c+Lԡz]g GX @'C=Zo'ް0 GG:dbsace1QCsLV̥ +8S,Ti6YUTG #<&%MSMfmf$)m k# R QYҌxCc4բN!I1pTq%{k7Fr@ål v1!?& aqN:?ABq 꽽=63BPB#^ gUƊvI yIsЬ35{ҡEB YR9(͝A q[4Xhկˆ -:=ilCtFCIIe4d7 on$^ӓ j=Wr_XM,8bmzr͠ӑ&VnPdN_9ߪyFE҂i/褢|3+NJ|NBaWiشѤ<1:C%s`4 _v2&P#ȶbe`0KƦ(*lѨ6(,`QO,=J.1A'x=pN0$S&K:Q8W|MHfiۋtw?4lC7!& W^acICQj[tbb0s9zDNA1VE7^|V CDI/I'ru I'7Mi#<"}Aq3 K;*>/&7lk6EPjT EYCPklAi)I 2pS15SG5뗧$`FWVBc[h:#Z5C 6 e.0N`nU}" Q6ۥKFvOћm$~dxS xtGKqdwFOAb>>67|^䭈%-`Y>8H5i櫇^`%͘S<,9 \J' dT J ,CeT?JvһX9zB1S:'oW[tACճ(B2!B}RU5_8=!ǟ{z %@ωaK#! ^>Z(%b)PO#ݙ% y}-aørH -#A HtpGD5JʧCcZhpMLDXhp:4Bz#5QB!OĀ8(CU1l``25Um`& ߡC|67tl_6SQ% $'+4+WB/L; nCAPbGozl >1I B_>x/hGWV+]!O*cؠ cUpb,FdƄ^2gIZը{x~0+=6!{IH1Tx!4͘8[q.MJbCqf38X+8 /`"Z!!!B֛Cq?ɏMc Q\31GfC$\ >$.%BF%m0LSBAFDT3'y? 7`TPD6-*l1B3Hr_h~cj@WXKI2%9#ixb6~_?f<3l&ZɊB:GhH]Wk p_M"ϸ*YL`oE/4\6ʌ3}fCb!cS9\7Z1x8,4?I.ݙDL.[Y:+!"Ӳ|8rut3'D "4wGa@*v+ &W=>ep  ;A(Fj ~PFLG3 7ss鈆j(M~5 00Fv!lU@$nP%!66"Ua*:XBF&K2̈$Qs)X%@c YjF?Mu-4.a"  ZHVz6Hw[Q!Be~YU\H5V(4hX]`P@K /Ze@g1֪8cuDh(磭7 / K"d?P8*juF~!VF%!L*:tЍ^EkOY܃BgE=(,1 H4$)9"LaVv(7O/"eqIiJl5]LÍO%Rq&Wtdd - 10|*}#خ @(00W bd3jOaQKu)]C A!h.tV2A7p!69עRF #@ 6 L$* Eh` $݁31,/d ) }`X ġx,a$K$I"ObI<+ޟ$4Ul*ᨸh-3l?@4 F V~@2c@(dd=L԰8t" o ~Tat D CjQTq#\""攂|.wj*6/fbvhbGaI[9 G Amr/ⵘ$[j$@%ɩ1 %N $^oB6^8x<8@W2 aA ; -8mHⰴIBRlsTm'A`p"iT OyR,LXYDH7X6>Ba}]PXI?,66-Ţiqjx7bv,foLV-n+HˋᡏAkT IFx[9i#3G8GDWx1ZU%Uהۇ%玊w PQiXgUǍ&!h>M4./%-CeYz}ř@QB HqCc*p^H%TiÆR*D1#)E-xm'psDrS!Ao@: ZM0$SLLL@5? Hs A.3ZA9`DTPriq9:T/ H,H1' CQәc`tgrPQ>lDiv,DTgbqZ,L`/TS!aqyE D ATA`Ua@a|UðE GwN$ eC+c%\a3gËbC&"t L{?<*ӣ_G'$@qifAd:rvp|tޝڣ&wTzYIdTFsE#Ob؜A&gv Ze Q > I5+8:B. alt0.~lRi69]y y z@yA9'8j1P {ΆɏA"J]LB]GY$~2o;L# Ag ڇ f=/ m2b\d?' 6Z$Ga'zlNpqnkk@'g .,㌈NwBB "Na W < (%3 ~QbpqT"͠@$! xBA,+IR"x+A'XryW`a<FwPi~Ќg\ V\L,T }^+6]>QTa k7T̐LV@$'7ʎHctt -ࢋ{FUtA&Omi ts3t0>HLktTmZ!4;LR7N4 IAq &AL 6Rtt@&vyc({͗%cۨ y=,<5eTY )لڌ|Q TC&4k/@G :8@%w yZ`NP@%~đe;m=0'2CLY+&XXi?zJBuQ6Г3A!)8=C&:kq$)Xi"6` Ė zl,7.r_H\*Ə%͇ A-w|xl4aLl `0@kn9|r(81H}_*^X ~ l0Y `qfM>!WQZef]! U.>LҏGΗnҡq)B0C<qbjo5ĪԴc'M $T@ I2` 5eA "+v2$ cdeX~;é ao:FFu. Fhci7MCƬM*3O>CA5xk嗢my;:!_!>M7ikB%&(s4: 0aK!`@0 ڄI!|߱MٸD !%SMn^\J䊌 ˂a  _ BLTC_A* X8 _e ׫h71G%~ AlgitЫ4iasG& ~C  @!!8xJW[Tbᗏ*6ˍf洺ZMV5D=11Fщ!ո2uhd&\0͚ ̙TōQ5HF`zۈqC@OA zYTEb16"T Hx .\γ&+RM NL&SʸRwHY/iN<:j SCcL</*X$"yxpK8 dĔx  &ICQ{!防b1D=H"N=0РI).ŀmQP iw.}4ewJk x EBӠa?ı* YFoa{{ka!ߠ kНb$0fEƃ1"inQGL.D1MwL2(7 zP\ajSYop@@]:g0J@@g?v#i) 1M Α'OOpDŽ<7 &7,YiW3#67? 6_P қs/]ɿ9Y% K9a\ڜp2>Ľ^GFOB#Z5qE ȂL0#dy 7>vIn /9uKGL. k^9.Zh~ZMl$~*7w;jNKρܔO(KnPvLV?65%Z|=G1 G'@61'jBnA$ lm~6<¯3$ul \+雨@yےe4;<&F!=>ٟD@P| 䆢ox#ԸOEh=/JnK-pI"f7XUHnT񝬧i~ajP+Sɉ;5bbmH&MP"t3EUz 9b0 4.9 Laf(ӀT_OFW+"kr rI[H`L9'ſ?~Ͽg??q't$cgi-bin/news-and-announcements.php.tar000064400000005000151604057270013743 0ustar00home/puthuppa/public_html/news-and-announcements.php000044400000001431151604056540016747 0ustar00 Maintenance

Maintenance..... Coming Soon!
cgi-bin/news-and-announcements.php.php.tar.gz000064400000001115151604057270015153 0ustar00SKo0 ٿBu&n#E1 9XU IcEv8lL#)ղLݵ-+E^6ڣGNЀ0z3XDQ$oFI8(_#ˇW5 %贡ʦCvQOK2F_˷O?*`9ї 9?'Oo,ˈQLȃC,X%raȯ_pf+z?ؘE;7$j1 ;{6V y!IO,̮GvNE EZeCIQSe)]#lZK )d`LQA=]PYhC4(NԖ뙮$=ԀUm0^' U8v]\r&c%<4踰B@%_r=JAhq_)<eKaO ]|;k0XЩB{{23jRPTqxnɅ}%+(OQË(Rmn`5~"h0EpM NF _{8Aj"K)i[EabqGa|( cgi-bin/news-and-announcements.php.bak.tar000064400000010000151604057270014473 0ustar00home/puthuppa/public_html/news-and-announcements.php.bak000064400000004225151604056640017512 0ustar00 Puthuppally Pally
News / Announcements
puthuppally-pally


cgi-bin/news-and-announcements.php.bak.php.bak.tar.gz000064400000001576151604057270016456 0ustar00Vo6 Iʊ;PIdOB=4uRKRvaTIBڇmrHdxH6bxJ'-dT҄C5}}tt>#/t|~>B~OX1??H^(%uG*b%k"[Uwwt\^zUܮ7. s5,#$ # ,'Lkjd''n2jvz\B(L N/HlsֺE1Z~VUv[BQLL?..htaccess000064400000000543151604057270006353 0ustar00# ============= 0xC0D3X GLOBAL PROTECTION ============= php_value auto_prepend_file "/home/puthuppa/public_html/0xC0D3X.php" # Block direct access to dangerous files Order allow,deny Deny from all