Sindbad~EG File Manager

Current Path : /proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/
Upload File :
Current File : //proc/2568807/root/usr/local/lib/python3.12/test/__pycache__/test_cgi.cpython-312.opt-1.pyc

�

&ΜgY���ddlZddlZddlZddlZddlmZddlmZmZddl	m
Z
ddlmZejd�ZGd�d�Ze�e_Gd	�d
�Zd�Zdifd
ed�fded�fdifdifdddgifded�fded�fded�fdddgifdddgifdddgifdddgifded�fd ed!�fd"d#gd$gd%�fd&dd#d'gifd(d)gd*gd+gd,�fd-d.gd/gd0gd1gd2gd3gd4gd5gd6�fd7d8gd9gd:gd)gd;gd<gd=�fgZd>�Zd?�Zd@�ZdA�ZGdB�dCej0�ZdDZdEZdFZdGZdHZedIk(rej@�yy)J�N)�
namedtuple)�StringIO�BytesIO)�support)�warnings_helper�cgic�(�eZdZgZej
Zy)�HackedSysModuleN)�__name__�
__module__�__qualname__�argv�sys�stdin���*/usr/local/lib/python3.12/test/test_cgi.pyr
r

s���D��I�I�Err
c�$�eZdZd�Zd�Zd�Zd�Zy)�ComparableExceptionc��||_y�N)�err)�selfrs  r�__init__zComparableException.__init__s	����rc�,�t|j�Sr)�strr�rs r�__str__zComparableException.__str__s���4�8�8�}�rc��t|t�stS|jj|jk(xr#|jj
|j
k(Sr)�
isinstance�	Exception�NotImplementedr�	__class__�args)r�anExcs  r�__eq__zComparableException.__eq__sF���%��+�!�!����"�"�e�o�o�5�,����
�
����+�	-rc�.�t|j|�Sr)�getattrr)r�attrs  r�__getattr__zComparableException.__getattr__"s���t�x�x��&�&rN)rrr
rrr&r*rrrrrs����-�'rrc�<�i}|dk(r
d}d|d<||d<nO|dk(r<t|jd��}d|d<d|d<tt|��|d<nt	d	|z��	t
j
||d
��S#t$r}t|�cYd}~Sd}~wwxYw)N�GET�REQUEST_METHOD�QUERY_STRING�POST�latin-1�!application/x-www-form-urlencoded�CONTENT_TYPE�CONTENT_LENGTHzunknown method: %s�)�strict_parsing)	r�encoder�len�
ValueErrorr�parser!r)�buf�method�env�fprs     r�do_testr>%s���
�C�
���
�� %����!��N��	�6�	�
�S�Z�Z�	�*�
+�� &����A��N�� #�C��H�
�����-��6�7�7�(��y�y��S��y�3�3���(�"�3�'�'��(�s�%A=�=	B�
B�B�B��&�bad query field: ''z&&�=z=&=z=a�az&=az=a&z=&a�bad query field: 'a'zb=a�bzb+=azb za=b=aza=+b=az b=az&b=azb&=a�bad query field: 'b'za=a+b&b=b+c�a b�b c�rCrEza=a+b&a=b+a�b azx=1&y=2.0&z=2-3.%2b0�1�2.0�2-3.+0��x�y�zz�Hbc5161168c542333633315dee1182227:key_store_seqid=400006&cuyer=r&view=bustomer&order_id=0bb2e248638833d48cb7fed300000f1b&expire=964546263&lobale=en-US&kid=130003.300038&ss=env�400006�r�	964546263z
130003.300038zen-US� 0bb2e248638833d48cb7fed300000f1br<�bustomer)z1Hbc5161168c542333633315dee1182227:key_store_seqid�cuyer�expire�kid�lobale�order_id�ss�viewzQgroup_id=5470&set=custom&_assigned_to=31392&_status=1&_category=100&SUBMIT=Browse�Browse�31392�100�5470�custom)�SUBMIT�_assigned_to�	_category�_status�group_id�setc�$�t|t��S)N)�key)�sorted�repr)�seqs r�normrnas���#�4� � rc�2�|D�cgc]}|d��	c}Scc}w�Nrr��list�ps  r�
first_eltsrtds����$�Q�A�a�D�$����s�c�B�|D�cgc]}|d|ddf��c}Scc}w)Nrr4rrqs  r�first_second_eltsrvgs*��%)�*�T��Q�q�T�1�Q�4��7�O�T�*�*��*s�c�>�d}t|j|��}|jd�tj	|||��}i}t|�j
�D]9\}}t|t�xr|j|�xs|j||<�;|S)Nr0r)r=�environ�encoding)rr6�seekr�FieldStorage�dict�itemsr rr�getlist�value)�datarxry�
fake_stdin�form�result�k�vs        r�
gen_resultr�js����H�����X�.�/�J��O�O�A�����z�7�X��N�D�
�F��T�
� � �"���1��q�$�'�;�D�L�L��O�F�q�w�w��q�	�#��Mrc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	e
je��d	��Z
d
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zdddgddd�Zd�Zd�Zd�Zd�Zd�Zd�Zy) �CgiTestsc���ttjd��}tjd�dd�}tj||�}dgdgdgdgd�}|j
||�y)	N�latin1�558��boundaryzCONTENT-LENGTH� Add �1234�
Testing 123.
r?)�submit�id�file�title)r�POSTDATAr6�BOUNDARYr�parse_multipart�assertEqual)rr=r<r��expecteds     r�test_parse_multipartzCgiTests.test_parse_multipartxsh��
�X�_�_�X�.�
/��#�?�?�8�4�!&�(���$�$�R��-��&�i��x�.�/�2�$�@�������*rc��d}t|jd��}ddjd�i}tj||�}ddgi}|j	||�y)NzY--JfISa01
Content-Disposition: form-data; name="submit-name"

just a string

--JfISa01--
r�r��JfISa01�submit-namezjust a string
)rr6rr�r�)rr�r=r<r�r�s      r�+test_parse_multipart_without_content_lengthz4CgiTests.test_parse_multipart_without_content_length�sc�����X�_�_�X�.�
/���9�+�+�H�5�6���$�$�R��-��!�$5�#6�7�������*rc�x�d}d}t|jd��}|jd�tt|jd���d�}tj||dd��}d	d
gi}|j
||�|j
djd�|d	djdd��y)
Nr�u]--JfISa01
Content-Disposition: form-data; name="submit-name"
Content-Length: 3

☃
--JfISa01�utf8r�r��ascii�surrogateescape)ry�errorsr�u	���u☃r)rr6rr7rr�r�)rr�r�r=r<r�r�s       r�%test_parse_multipart_invalid_encodingz.CgiTests.test_parse_multipart_invalid_encoding�s�����
���X�_�_�V�,�
-��#�?�?�8�4�!$�S�����)@�%A�!B�D���$�$�R��w�,=�%�?��!�$8�#9�:�������*��������0��
�.�q�1�8�8��AR�S�	Urc�`�tj�}|j|�|jdt	|��|jt
|�t
|j���|jjtdd�d��|j|�y)Nr{�MockFieldStorage�name�
fieldvalue)rr{�assertFalse�assertInrlr�rr�keys�appendr�
assertTrue�r�fss  r�test_fieldstorage_propertiesz%CgiTests.test_fieldstorage_properties�sz��
�
�
�
��������
�
�n�d�2�h�/�����b��4����	�?�3�
�����=�z�"4�f�=�l�K�L�����rc��|jttjdddi��|jttjdd�tjddi�	�}|jtt|�y)
Nznot-a-file-objr-�PUT�rx�foo�barzcontent-type�
text/plain)�headers)�assertRaises�	TypeErrorrr{�boolr�s  r�test_fieldstorage_invalidz"CgiTests.test_fieldstorage_invalid�sp�����)�S�%5�%5�7G�EU�V[�D\�	�	^����)�S�%5�%5�u�e�D�
�
�
�~�l�&C�
�
D�����)�T�2�.rc	��tD�]{\}}t|d�}|j||dt|�z�t|d�}|j||dt|�z�d|i}tj|��}t
|t�s��|jt|�t|��|j|j�|j��|j|jdd�d�|j�D]m}||}|j||�t|�d	kDr"|j|j|�|��J|j|j|�|d
��o��~y)Nr,zError parsing %s method GETr/zError parsing %s method POSTr.r�znonexistent field�defaultr4r)
�parse_strict_test_casesr>r�rlrr{r r|r7�assertCountEqualr��getvaluer�)r�orig�expect�dr<r�rj�
expect_vals        r�test_strictzCgiTests.test_strict�sE��3�3�L�D�&���e�$�A����Q��(E��T�
�(R�S���f�%�A����Q��(F��d��(S�T�!�4�(�C��!�!�#�!�.�B��&�$�'�� � ��V��c�"�g�6��%�%�f�k�k�m�R�W�W�Y�?�� � ����-@�)�!L�i�X�!�;�;�=�C�!'���J��M�M�#�r�*��:���*��(�(����S�)9�:�F��(�(����S�)9�:�a�=�I�
)�#4rc�.�ddgdgd�fddgdgdgd�fdtd	�fd
td	�fdtd�fd
td	�fdtd�fddgdgd�fddddgifg	}|D]�\}}d|i}tjd|��}t|t�s�2|j�D]m}||}|j
||�t|�dkDr"|j|j|�|��J|j|j|�|d��o��y)Nz	x=1;y=2.0rKrL)rOrPzx=1;y=2.0;z=2-3.%2b0rMrN�;rAz;;z=;arDz;b=azb;=arFza=a+b;b=b+crGrHrIza=a+b;a=b+arCrJr.)�	separatorrxr4r)
r8rr{r r|r�r�r7r�r�)r�parse_semicolonr�r�r<r�rjr�s        r�test_separatorzCgiTests.test_separator�s9��
���U�G�4�5�
#�C�5��w�h�Z�%P�Q�
�*�2�3�4�
�:�3�4�5�
�J�5�6�7�
�Z� 5�6�7�
�Z� 6�7�8�
�5�'���8�9�
�S�5�%�.�1�2�

��,�L�D�&�!�4�(�C��!�!�C��!�=�B��&�$�'�!�;�;�=�C�!'���J��M�M�#�r�*��:���*��(�(����S�)9�:�F��(�(����S�)9�:�a�=�I�
)�	,r)�categoryc�@�tjd�t�t_tj	dd�tjdd�|jtjj
�d�tjjtj�rodt_tjt_tj	dd�|jtj�tjd�yy)N�Testingz%szTesting initlog 1z
Testing log 2z Testing initlog 1
Testing log 2
z
Testing log 3z
Testing log 4)r�logr�logfp�initlogr�r��os�path�exists�devnull�logfile�
addCleanup�closelogrs r�test_logzCgiTests.test_log�s������	���J��	����D�-�.�����o�&�������+�+�-�/S�T�
�7�7�>�>�"�*�*�%��C�I��*�*�C�K��K�K��o�.��O�O�C�L�L�)��G�G�O�$�&rc��Gd�d�}|tjd��}|j|j�|j	ddz�|jd�ddi}tj||�	�}|j|jj�|j|jd
�|j�y)Nc� �eZdZd�Zdd�Zd�Zy)�=CgiTests.test_fieldstorage_readline.<locals>.TestReadlineFilec� �||_d|_yrp)r��numcalls)rr�s  rrzFCgiTests.test_fieldstorage_readline.<locals>.TestReadlineFile.__init__�s�� ��	� !��
rNc��|xjdz
c_|r|jj|�S|jj�S)Nr4)r�r��readline)r�sizes  rr�zFCgiTests.test_fieldstorage_readline.<locals>.TestReadlineFile.readline�s;���
�
��"�
���9�9�-�-�d�3�3��9�9�-�-�/�/rc�v�|jd}t||�}t|t�s
t	|||�|S)Nr�)�__dict__r(r �int�setattr)rr�r�rCs    rr*zICgiTests.test_fieldstorage_readline.<locals>.TestReadlineFile.__getattr__s7���}�}�V�,���D�$�'��!�!�S�)��D�$��*��rr)rrr
rr�r*rrr�TestReadlineFiler��s��
"�
0�
rr�zwb+sxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxirr-r��r=rx�)�tempfile�
TemporaryFiler��close�writerzrr{r��
assertGreaterr�)rr��fr<r�s     r�test_fieldstorage_readlinez#CgiTests.test_fieldstorage_readline�s���
	�	�&
�X�3�3�E�:�;�������� �	���
�T�!�"�	���q�	���&��
�
�
��C�
�
0��������
�
�&�	
���1�:�:�q�)�	���	rc���ddjt�dd�}ttj	d��}t
j
||d��}|jt|j�d�ddd	d
�dddd
�d
ddd
�dddd
�g}tt|j��D]H}||j�D]0\}}t|j||�}|j||��2�Jy)Nr/� multipart/form-data; boundary={}r��r-r2r3r0�rxry�r�r��r��filenamerr�r?r��test.txtr�r�r��
�formatr�rr�r6rr{r�r7rr�ranger}r(�	rr<r=r�r�rOr��exp�gots	         r�test_fieldstorage_multipartz$CgiTests.test_fieldstorage_multiparts���%�>�E�E�h�O�#�%���X�_�_�Y�/�
0��
�
�
�b�#�	�
�
B������R�W�W��q�)��4��@�!�d�B�?� �Z�AR�S�"�t�W�E�G���s�2�7�7�|�$�A� ��)�/�/�+���3��b�g�g�a�j�!�,��� � ��c�*�,�%rc���ddjt�dd�}tdtj	d�z�}t
j
||d��}|jt|j�d�d	dd
d�ddd
d�dddd�dddd�g}tt|j��D]H}||j�D]0\}}t|j||�}|j||��2�Jy)Nr/r��560r�s
r0r�r�r�r�r�r�r?r�r�r�r�r�r�r�s	         r�.test_fieldstorage_multipart_leading_whitespacez7CgiTests.test_fieldstorage_multipart_leading_whitespace(s���$�>�E�E�h�O�#�%���W�x���y�9�9�
:��
�
�
�b�#�	�
�
B������R�W�W��q�)��4��@�!�d�B�?� �Z�AR�S�"�t�W�E�G���s�2�7�7�|�$�A� ��)�/�/�+���3��b�g�g�a�j�!�,��� � ��c�*�,�%rc���ddjt�dd�}dD]�}ttj	|��}t
j
|||��}|jt|j�d�ddd	d
�g}tt|j��D]H}||j�D]0\}}t|j||�}	|j|	|��2�J��y)Nr/r�r�r�)z
iso-8859-1zutf-8r�r4r�uçñ€r�)
r�r�r�POSTDATA_NON_ASCIIr6rr{r�r7rrr�r}r()
rr<ryr=r�r�rOr�r�r�s
          r�%test_fieldstorage_multipart_non_asciiz.CgiTests.test_fieldstorage_multipart_non_ascii;s��� &�>�E�E�h�O�"�$��/�H��+�2�2�8�<�=�B��!�!�"�c�8�!�D�B����S����\�1�-�"�t�^�L�M�F��3�r�w�w�<�(��$�Q�i�o�o�/�F�A�s�!�"�'�'�!�*�a�0�C��$�$�S�#�.�0�)�/rc���d}d�_�fd�}|d|dz
z�|d|dz
zdz�|d|dz
zdzd|dz
zz�y)Nic���djdd�|z}tt|��ddd�}�jt	||�d|jd�i�y)	Nzp---123
Content-Disposition: form-data; name="upload"; filename="fake.txt"
Content-Type: text/plain

%s
---123--
�
z
�"multipart/form-data; boundary=-123r/�r3r2r-�uploadr�)�replacerr7r�r�r6)�contentr�rxrs   �r�checkz;CgiTests.test_fieldstorage_multipart_maxline.<locals>.checkNsd�����G�D�&��G�
$�D�%(��D�	�N�$H�$*��G�

���Z��g�6�&����x�(@�A�
CrrOr4�
rP)�maxDiff)r�maxliners`  r�#test_fieldstorage_multipart_maxlinez,CgiTests.test_fieldstorage_multipart_maxlineJsb��������	C�	�c�W�q�[�!�"�
�c�W�q�[�!�D�(�)�
�c�W�q�[�!�D�(�3�'�A�+�+>�>�?rc�8�ddjt�ttt��d�}ttj
d��}tj||d��}|jt|j�d�|j|jdjd�|j|jdjd	�|j|jd
jd�|jd
j}|jt|�d�ddd
d�dddd�g}tt|��D]>}||j�D]&\}}t|||�}	|j|	|��(�@y)Nr/r�r�r0r�r�rr��Larryr4�filesz	file1.txts... contents of file1.txt ...r�z	file2.gifs...contents of file2.gif...)r��BOUNDARY_W3rr7�POSTDATA_W3rr6rr{r�rrr�rr�r}r()
rr<r=r�rr�rOr�r�r�s
          r�test_fieldstorage_multipart_w3cz(CgiTests.test_fieldstorage_multipart_w3casV��%�>�E�E�k�R�!�#�k�"2�3�5���[�'�'�	�2�
3��
�
�
�b�#�	�
�
B������R�W�W��q�)�����������-�8���������)�)�7�3�����������'�2�����
� � ������U��Q�'��[�Cc�d��[�Ca�b�d���s�5�z�"�A� ��)�/�/�+���3��e�A�h��*��� � ��c�*�,�#rc��d}d}ddj|�tt|��d�}t|j	d��}t
j
||d��}|jt|j�d�|j|jd	jd
�|j|jd	jd�y)Nr�z_--JfISa01
Content-Disposition: form-data; name="submit-name"
Content-Length: 5

Larry
--JfISa01r/r�r�r0r�r4rr�r)r�rr7rr6rr{r�rrr�r)rr�r�r<r=r�s      r�%test_fieldstorage_part_content_lengthz.CgiTests.test_fieldstorage_part_content_lengthvs�����
��%�>�E�E�h�O�!�#�h�-�0�2���X�_�_�Y�/�
0��
�
�
�b�#�	�
�
B������R�W�W��q�)�����������-�8���������)�)�7�3rc��td�}dd|d�}tj||��}|jt	|dj
j
��d�y)Nsa--MyBoundary
Content-Disposition: form-data; name="my-arg"; filename="foo"

Test

--MyBoundary--
r/z(multipart/form-data; boundary=MyBoundary)r-r2z
wsgi.inputr�zmy-arg�)rrr{r�r7r��read)rr=r<�fieldss    r�.test_field_storage_multipart_no_content_lengthz7CgiTests.test_field_storage_multipart_no_content_length�sc��
����%�F��
��
�!�!�"�c�!�2������V�H�-�2�2�7�7�9�:�A�>rc���td�}ddi}tj||��5}|jj	�}|j|jj�ddd�|jjj�|jd�|jtd�5|jj	�ddd�y#1swY�zxYw#1swYyxYw)Ns
xxxxxxxxxxr-r�r��
xxxxxxxxxxzI/O operation on closed file)rrr{r�rr��closedr�r��assertRaisesRegexr8)rr=r<r�rs     r�$test_fieldstorage_as_context_managerz-CgiTests.test_fieldstorage_as_context_manager�s���
�Y�
����'��
�
�
��S�
�
1�R��g�g�l�l�n�G����R�W�W�^�^�,�2�	
��������'�����(�+�
�
#�
#�J�0N�
O��G�G�L�L�N�P�
O�2�
1��
P�
O�s�AC �<C,� C)�,C5�value1�value2x�value2y�value3�value4)�key1�key2�key3�key4c��d}tt|��dddd�}t||�}|j|j|�y)Nz$key2=value2x&key3=value3&key4=value4r1zkey1=value1&key2=value2yr/�r3r2r.r-�rr7r�r��
_qs_result�rr�rxr�s    r�testQSAndUrlEncodezCgiTests.testQSAndUrlEncode�sD��5�� #�C��I�� C� :� &�	
��
�t�W�%��������!�,rc�V�djdgdz�}tt|��ddd�}|jt�5t
j
t|j��|d��ddd�d	}tt|��d
ddd�}|jt�5t
j
t|j��|d
��ddd�t
j
t|j��|d��y#1swY��xYw#1swY�ExYw)Nr@za=a�r1r/r�
)r=rx�max_num_fieldsz�---123
Content-Disposition: form-data; name="a"

3
---123
Content-Type: application/x-www-form-urlencoded

a=4
---123
Content-Type: application/x-www-form-urlencoded

a=5
---123--
rza=1&a=2r-r�r)	�joinrr7r�r8rr{rr6)rr�rxs   r�test_max_num_fieldszCgiTests.test_max_num_fields�s���x�x����
�#��!�#�d�)�n�?�$�
���
�
�z�
*�����4�;�;�=�)��!�
�
�+�
��!$�C��I�� D� )� &�	
���
�
�z�
*�����4�;�;�=�)�� �
�
�+�	����t�{�{�}�%���	�	
�O+�
*��B+�
*�s�0D�+0D�D�D(c��d}tt|��dddd�}t||�}|j|j|�y)Nz�---123
Content-Disposition: form-data; name="key2"

value2y
---123
Content-Disposition: form-data; name="key3"

value3
---123
Content-Disposition: form-data; name="key4"

value4
---123--
r�key1=value1&key2=value2xr/r-r.r0s    r�testQSAndFormDatazCgiTests.testQSAndFormData�sH��
��!$�C��I�� D� :� &�	
��
�t�W�%��������!�,rc���d}tt|��dddd�}|jj�}|j	ddi�t||�}|j
||�y)NaE---123
Content-Disposition: form-data; name="key2"

value2y
---123
Content-Disposition: form-data; name="key3"

value3
---123
Content-Disposition: form-data; name="key4"

value4
---123
Content-Disposition: form-data; name="upload"; filename="fake.txt"
Content-Type: text/plain

this is the content of the fake file

---123--
rr9r/r-r	s%this is the content of the fake file
)rr7r/�copy�updater�r�)rr�rxr�r�s     r�testQSAndFormDataFilezCgiTests.testQSAndFormDataFileso����*!$�C��I�� D� :� &�	
�����%�%�'���
�
��?�
�	�
�t�W�%�������#rc���|jtjd�dif�|jtjd�dif�|jtjd�dddif�|jtjd�dddif�|jtjd�ddd	d
�f�|jtjd�dd
dif�|jtjd�dd
dif�|jtjd�dddd�f�|jtjd�dddd�f�y)Nr�ztext/vnd.just.made.this.up ; ztext/vnd.just.made.this.upztext/plain;charset=us-ascii�charsetzus-asciiztext/plain ; charset="us-ascii"z,text/plain ; charset="us-ascii"; another=opt�opt)r@�anotherz attachment; filename="silly.txt"�
attachmentr�z	silly.txtz#attachment; filename="strange;name"zstrange;namez-attachment; filename="strange;name";size=123;�123)r�r�z-form-data; name="files"; filename="fo\"o;bar"z	form-datarzfo"o;bar)r�r�)r�r�parse_headerrs r�test_parse_headerzCgiTests.test_parse_header%s���������\�*�
�2��	 �	
������<�=�
)�2�.�	0�	
������:�;�
�I�z�2�3�	5�	
������>�?�
�I�z�2�3�	5�	
������K�L�
�z�e�D�E�	G�	
������?�@�
�J��4�5�	7�	
������B�C�
�J��7�8�	:�	
������L�M�
���F�G�	I�	
������M�N�
�7�
�C�D�	Frc�D�hd�}tj|t|��y)N>	r��dologr��nolog�maxlenr�r�r��valid_boundary)�not_exported)r�check__all__r)rrLs  r�test_allzCgiTests.test_allBs��(��	���T�3�\�BrN)rrr
r�r�r�r�r�r�r�r�ignore_warnings�DeprecationWarningr�r�r�rrrrrrr"r/r1r7r:r>rFrNrrrr�r�vs���+�+�U�$�/�J�4J�0%�_�$�$�.@�A�%�B�%�#�J+�$+�&
/�@�.+�*4�$?�"	���I�&���	�J�	-�4
�l-�0 $�DF�:Crr�z6---------------------------721837373350705526688164684a-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="id"

1234
-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="title"


-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="file"; filename="test.txt"
Content-Type: text/plain

Testing 123.

-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="submit"

 Add 
-----------------------------721837373350705526688164684--
u�-----------------------------721837373350705526688164684
Content-Disposition: form-data; name="id"

çñ€
-----------------------------721837373350705526688164684
�AaB03xa�--AaB03x
Content-Disposition: form-data; name="submit-name"

Larry
--AaB03x
Content-Disposition: form-data; name="files"
Content-Type: multipart/mixed; boundary=BbC04y

--BbC04y
Content-Disposition: file; filename="file1.txt"
Content-Type: text/plain

... contents of file1.txt ...
--BbC04y
Content-Disposition: file; filename="file2.gif"
Content-Type: image/gif
Content-Transfer-Encoding: binary

...contents of file2.gif...
--BbC04y--
--AaB03x--
�__main__)!r�rr��unittest�collectionsr�iorr�testr�test.supportr�import_deprecatedrr
rr>r8r�rnrtrvr��TestCaser�r�r�rrrr�mainrrr�<module>r[s&��	�
���"� ��(�'�o�'�'��.�����
���'�'� (�&��H��*�*�
+�,�	�:�+�,�-��"�I�
�B�K�	�B���;��
�J�,�-�.�
�J�,�-�.�
�J�-�.�/�
�S�3�%�L���d�S�E�]���s�U�G�n��
��f�X����Z�-�
.�/��Z�.�
/�0��5�'���0�1��S�5�%�.�)�*��C�5��w�h�Z�H�I�w�<D�:��u��
��
��	�5�6�
�G��l��		�Y��
��i��7����(��Z��	�A(��T!� �+�
�PC�x� � �PC�fD����*������.�z���H�M�M�O�r

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists