Hacked By AnonymousFox

Current Path : /opt/imunify360/venv/lib/python3.11/site-packages/docutils/parsers/rst/directives/__pycache__/
Upload File :
Current File : //opt/imunify360/venv/lib/python3.11/site-packages/docutils/parsers/rst/directives/__pycache__/tables.cpython-311.pyc

�

i��f]����dZdZddlZddlmZddlZddlmZmZm	Z	m
Z
ddlmZddl
mZddl
mZdd	lmZdd
lmZd�ZGd�d
e��ZGd�de��ZGd�de��ZGd�de��ZdS)z 
Directives for table elements.
�reStructuredText�N)�Path)�io�nodes�statemachine�utils)�SystemMessagePropagation)�	Directive)�
directives)�urlopen)�URLErrorc�,�tj|d��S)N)�left�center�right)r�choice)�arguments ��/builddir/build/BUILD/imunify360-venv-2.3.5/opt/imunify360/venv/lib/python3.11/site-packages/docutils/parsers/rst/directives/tables.py�alignrs����X�'B�C�C�C�c��eZdZdZdZdZejeje	ej
ejdej��d�Z
dZd�Zd�Zd�Zd	�Zed
���Zd�Zd�Zd
S)�Tablez#
    Generic table base class.
    �T)�auto�grid)�class�namer�width�widthsc��|jrp|jd}|j�||j��\}}t	j|dg|�R�}|j�|j��\|_|_	nd}g}||fS)Nr�)
�	arguments�state�inline_text�linenor�title�
state_machine�get_source_and_line�source�line)�self�
title_text�
text_nodes�messagesr&s     r�
make_titlezTable.make_title,s����>�		����*�J�#'�:�#9�#9�*�:>�+�$G�$G� �J���K�
�B�<��<�<�<�E��-�A�A�$�+�N�N�
�U�\�
�Z�Z��E��H��h��rc��|j�|jdz
��}g}d}d|jvr�t	j��5t	jd��|���}ddd��n#1swxYwY|�|jd�	d��||��\}}|�
|��||fS)Nrr�header�ignore�
)r'�
get_sourcer%�options�warnings�catch_warnings�simplefilter�
HeaderDialect�parse_csv_data_into_rows�split�extend)r+r)�
table_head�max_header_cols�header_dialect�rowss      r�process_header_optionzTable.process_header_option9s���#�.�.�t�{�Q��?�?���
����t�|�#�#��(�*�*�
6�
6��%�h�/�/�/�!%�!3�!3�!5�!5��
6�
6�
6�
6�
6�
6�
6�
6�
6�
6�
6����
6�
6�
6�
6�%)�$A�$A���X�&�,�,�T�2�2�N��%�%�!�D�/�
���d�#�#�#��?�*�*s�)A8�8A<�?A<c	��t|��|kri|j�|�dt|���d|j�d�t	j|j|j��|j���}t|���t|��|cxkrdkrjnng|j�dt|���d|j�d�t	j|j|j��|j���}t|���|D�]}t|��|kri|j�|�d	t|���d
|j�d�t	j|j|j��|j���}t|���t|��|cxkrdkrjn��|j�dt|���d|j�d�t	j|j|j��|j���}t|�����dS)Nz" header row(s) specified but only z row(s) of data supplied ("z
" directive).�r*rzInsufficient data supplied (z9 row(s)); no data remaining for table body, required by "z" directive.z# stub column(s) specified but only z columns(s) of data supplied ("z= columns(s)); no data remaining for table body, required by ")	�len�reporter�errorrr�
literal_block�
block_textr%r	)r+r@�header_rows�stub_columnsrF�rows      r�check_table_dimensionszTable.check_table_dimensionsLsM���t�9�9�{�"�"��M�'�'��;�;��D�	�	�	�	�4�9�9�9�)6��#�D�O�T�_�E�E��[�	(�"�"�E�
+�5�1�1�1��t�9�9��'�'�'�'�a�'�'�'�'�'��M�'�'�8�s�4�y�y�8�8� $�	�8�8�8��#�D�O�T�_�E�E��[�(�"�"�E�+�5�1�1�1��	6�	6�C��3�x�x�,�&�&��
�+�+�#�2�2� #�C���2�2���2�2�2��'�����I�I���,�&�&��/�u�5�5�5��3�x�x�<�+�+�+�+�!�+�+�+�+�+��
�+�+�+�-0��H�H�H�H�d�i�i�i�A��'�����I�I���,�&�&��/�u�5�5�5�,�	6�	6rc�V�d|jvr|j�d��|d<dSdS)Nr�r5�get)r+�
table_nodes  r�set_table_widthzTable.set_table_widthns7���d�l�"�"�"&�,�"2�"2�7�";�";�J�w����#�"rc�8�|j�dd��S)Nrr!rN)r+s rrzTable.widthsrs���|����"�-�-�-rc���t|jt��rzt|j��|krZ|j�d|j�d|�d�tj|j	|j	��|j
���}t|���|j}nZ|r
d|zg|z}nN|j�dtj|j	|j	��|j
���}t|���|S)N�"z6" widths do not match the number of columns in table (�).rC�dz#No table data detected in CSV file.)�
isinstancer�listrDrErFrrrGrHr%r	)r+�n_colsrF�
col_widthss    r�get_column_widthszTable.get_column_widthsvs����d�k�4�(�(�	2��4�;���6�)�)��
�+�+�+�:>�)�)�)�V�V�V�-M��'�����I�I���,�&�&��/�u�5�5�5���J�J�
�	2���-��6�1�J�J��M�'�'�(M��#�D�O�T�_�E�E��[�(�"�"�E�+�5�1�1�1��rc	��|D]G}|D]B}t|��|kr-|�dddgfg|t|��z
z���C�HdS)Nr)rDr<)r+�columns�parts�partrKs     r�"extend_short_rows_with_empty_cellsz(Table.extend_short_rows_with_empty_cells�st���	G�	G�D��
G�
G���s�8�8�g�%�%��J�J��A�q�"�
��'�C��H�H�2D�E�F�F�F��
G�	G�	GrN)�__name__�
__module__�__qualname__�__doc__�optional_arguments�final_argument_whitespacer�class_option�	unchangedr� length_or_percentage_or_unitless�value_or�positive_int_list�option_spec�has_contentr/rArLrQ�propertyrr[r`�rrrrs����������� $��&�3�%�/�!�&�G�0�Z�0�1A�1;�1M�O�O�	P�P�K��K����+�+�+�& 6� 6� 6�D<�<�<��.�.��X�.����&G�G�G�G�Grrc��eZdZdZd�ZdS)�RSTTablez�
    Class for the `"table" directive`__ for formal tables using rST syntax.

    __ https://docutils.sourceforge.io/docs/ref/rst/directives.html
    c��|jsJ|j�d|jzt	j|j|j��|j���}|gS|���\}}t	j	��}|j
�|j|j|��t|��dks t|dtj��sJ|j�d|jzt	j|j|j��|j���}|gS|d}|dxx|j�dg��z
cc<|�|��d|jvr|j�d��|d<t|jt*��rv|d}	|�|d	��}n%#t.$r}	|	jdgcYd}	~	Sd}	~	wwxYwd
�|jD��}
t5|
|��D]
\}}||d<�|jdkr|dxxd
gz
cc<n|jr|dxxdgz
cc<|�|��|r|�d|��|g|zS)Nz:Content block expected for the "%s" directive; none found.rCrrzOError parsing content block for the "%s" directive: exactly one table expected.�classesrr�colsc�(�g|]}|jdk�
|��S)�colspec)�tagname)�.0�childs  r�
<listcomp>z RSTTable.run.<locals>.<listcomp>�s.��7�7�7�%� �=�I�5�5��5�5�5r�colwidthr�colwidths-auto�colwidths-given)�contentrE�warningrrrGrHr%r/�Elementr#�nested_parse�content_offsetrDrW�tablerFr5rOrQrrXr[r	�args�children�zip�add_name�insert)
r+rr&r.�noderFrP�tgrouprZ�detail�colspecsrv�	col_widths
             r�runzRSTTable.run�s����|�	��m�+�+�-6�8<�	�-B��#�D�O�T�_�E�E��[�,�"�"�G��9���/�/�+�+���x��}�����
�����d�.A�4�H�H�H��t�9�9��>�>��D��G�U�[�!A�!A�>��M�'�'�)>�@D�	�)J��#�D�O�T�_�E�E��[�(�"�"�E��7�N��!�W�
��9������!1�!1�'�2�!>�!>�>�������Z�(�(�(��d�l�"�"�"&�,�"2�"2�7�";�";�J�w���d�k�4�(�(�		0���]�F�
(�!�3�3�F�6�N�C�C�
�
��+�
(�
(�
(���A��'�'�'�'�'�'�'�����
(����7�7�6�?�7�7�7�H�&)�(�J�&?�&?�
0�
0�"���&/��
�#�#��;�&� � ��y�!�!�!�&6�%7�7�!�!�!�!�
�[�	9��y�!�!�!�&7�%8�8�!�!�!��
�
�j�!�!�!��	(����a��'�'�'��|�h�&�&s�.G
�

G,�
G'�!G,�'G,N)rarbrcrdr�rorrrqrq�s-��������&'�&'�&'�&'�&'rrqc�|�eZdZejejejejejdej��ej	ej
ejejeje
ejejejejd�ZGd�dej��ZGd�dej��Zed���Zd�Zd	�Zed
���Zed���Zd�Zd
S)�CSVTable�r)�header-rows�stub-columnsr1rr�file�url�encodingrrr�delim�	keepspace�quote�escapec�H��eZdZdZdZdZdZdZdZdZ	e
jZ�fd�Z
�xZS)�CSVTable.DocutilsDialectz&CSV dialect for `csv_table` directive.�,rTTr3c����d|vr
|d|_d|vrd|_d|vr
|d|_d|vrd|_|d|_t�����dS)Nr�r�Fr�r�)�	delimiter�skipinitialspace�	quotechar�doublequote�
escapechar�super�__init__)r+r5�	__class__s  �rr�z!CSVTable.DocutilsDialect.__init__�s����'�!�!�!(��!1����g�%�%�(-��%��'�!�!�!(��!1����7�"�"�#(�� �")�(�"3����G�G�������r)rarbrcrdr�r�r�r��strict�lineterminator�csv�
QUOTE_MINIMAL�quotingr��
__classcell__�r�s@r�DocutilsDialectr��se�������4�4��	��	����������#��
	�
	�
	�
	�
	�
	�
	�
	�
	rr�c�L��eZdZdZdZdZdZdZdZdZ	dZ
ejZ
�fd�Z�xZS)	�CSVTable.HeaderDialectzw
        CSV dialect used for the "header" option data.

        Deprecated. Will be removed in Docutils 0.22.
        r�rT�\FTr3c���tjdtd���t�����dS)Nz8CSVTable.HeaderDialect will be removed in Docutils 0.22.���
stacklevel)r6�warn�PendingDeprecationWarningr�r�)r+r�s �rr�zCSVTable.HeaderDialect.__init__sH����M�.�3��
C�
C�
C�
C�
�G�G�������r)rarbrcrdr�r�r�r�r�r�r�r�r�r�r�r�r�s@rr9r��sp�������	�	�&�	��	��
����������#��	�	�	�	�	�	�	�	�	rr9c�>�tjdtd���dS)NzaCSVTable.check_requirements() is not required with Python 3 and will be removed in Docutils 0.22.r�r��r6r��DeprecationWarningrorr�check_requirementszCSVTable.check_requirementss1���
�?�)�Q�	8�	8�	8�	8�	8�	8rc���	|jjjjs\d|jvs	d|jvrJ|j�d|jztj	|j
|j
��|j���}|gS|���\}}|�
��\}}|���\}}|�||�|j��|��\}}	t#|	|��}	|j�dd��}
|j�dd��}|�||
|��|�|d|
���||
d�}|�|	��}
|�|	||f��n�#t.$r}|jdgcYd}~Sd}~wt2j$rf}t7|��}|j�d|j�d	|��tj	|j
|j
��|j���}|gcYd}~Sd}~wwxYw|
||f}|j�||j||j�
��}|dxx|j�dg��z
cc<d
|jvr|j�d
��|d
<|� |��|�!|��|r|�"d|��|g|zS)Nr�r�z9File and URL access deactivated; ignoring "%s" directive.rCr�rr�zError with CSV data in "z
" directive:
)rrsrr)#r#�document�settings�file_insertion_enabledr5rErrrrGrHr%r/�get_csv_datarAr:r��maxrOrLr<r[r`r	r�r��Error�strrF�build_tabler�rrQr�r�)r+rr&r.�csv_datar)r=r>r@�max_colsrIrJ�
table_bodyrZr��messagerFr�rPs                   rr�zCSVTable.runsP��	��J�'�0�G�
!��t�|�+�+����-�-��-�/�/�1<�>B�i�1H��'�����I�I���0�&�&�� �y� �"�o�o�/�/�O�E�8�#�0�0�2�2��H�f�*.�*D�*D�*F�*F�'�J��!�:�:��$�.�.�t�|�<�<�f�F�F�N�D�(��8�_�5�5�H��,�*�*�=�!�<�<�K��<�+�+�N�A�>�>�L��'�'��k�<�H�H�H����d�<�K�<�0�1�1�1��k�l�l�+�J��/�/��9�9�J��3�3�H�5?��4L�
N�
N�
N�
N��'�	$�	$�	$��K��N�#�#�#�#�#�#�#������y�	�	�	��&�k�k�G��M�'�'�'�-1�Y�Y�Y���)A��#�D�O�T�_�E�E��[�(�"�"�E��7�N�N�N�N�N�N�����
	�����Z��4���Z�+�+�E�4�3F�,8���,�N�N�
��9������!1�!1�'�2�!>�!>�>�����d�l�"�"�"&�,�"2�"2�7�";�";�J�w�����Z�(�(�(��
�
�j�!�!�!��	(����a��'�'�'��|�h�&�&s8�A1F�4D(F�
H2�'
F:�4H2�:H2�AH-�'H2�-H2c
���|j�d|jjjj��}|jjjj}|jr�d|jvs	d|jvrV|j�	d|j
ztj|j
|j
��|j���}t|���|j�d��}|j}�n
d|jv�r|d|jvrV|j�	d|j
ztj|j
|j
��|j���}t|���|jd}t#|jjj��j}t)jd||z��}	t-j|||�	��}|������}|jjjj�|���n�#t8$r_}|j�d
|j
�d|�d�tj|j
|j
��|j���}t|���d}~wwxYwd|jv�r$|jd}	t=|��5}	|	���}
ddd��n#1swxYwYn�#t>t8t@f$rm}|j�d
|j
�d
|jd�d|�d�tj|j
|j
��|j���}t|���d}~wwxYwt-j!|
|||jjjj���}|������}nV|j�"d|j
ztj|j
|j
��|j���}t|���||fS)zr
        Get CSV data from the directive content, from an external
        file, or from a URL reference.
        r�r�r�zF"%s" directive may not both specify an external file and have content.rCrzXThe "file" and "url" options may not be simultaneously specified for the "%s" directive.N)�source_pathr��
error_handlerzProblems with "z" directive path:
�.z" directive URL "z":
)r)r�r�r�z3The "%s" directive requires content; none supplied.)#r5rOr#r�r��input_encoding�input_encoding_error_handlerr~rErFrrrGrHr%r	r)r�current_source�parentr�
relative_pathr�	FileInput�read�
splitlines�record_dependencies�add�OSError�severerr
�
ValueError�StringInputr)r+r�r�rFr)r��_base�csv_filer��response�csv_texts           rr�zCSVTable.get_csv_dataFs&��
�<�#�#���
�+�4�C�E�E���
�+�4�Q�
��<�<	2����%�%��$�,�)>�)>��
�+�+�-A�CG�9�-M��'�����I�I���,�&�&��/�u�5�5�5��\�(�(��+�+�F��|�H�H�
�t�|�
#�
#����$�$��
�+�+�-.�04�	�-:��'�����I�I���	,�&�&��
/�u�5�5�5��\�&�)�F����,�;�<�<�C�E��(��u�V�|�<�<�F�

M��<�F�19�6C�E�E�E��$�=�=�?�?�5�5�7�7���
�#�,�@�D�D�V�L�L�L�L���
7�
7�
7���-�-�-��y�y�y�%�%�%�)��'�����I�I���	.�&�&��
/�v�6�6�6�����

7�����d�l�
"�
"��\�%�(�F�	
7��V�_�_�/��'�}�}���H�/�/�/�/�/�/�/�/�/�/�/����/�/�/�/����g�z�2�
7�
7�
7���-�-�-�����D�L��$7�$7�$7����@��)�$�/�4�?�K�K��;�	.�(�(��
/�v�6�6�6�����

7�����~��V�h�#�z�2�;�;�>�>�>�H� �}�}���1�1�3�3�H�H��M�)�)�E��)���#�D�O�T�_�E�E��[�	*�"�"�E�
+�5�1�1�1����sV�
=G2�2
I�<AI�I�6J2�J&�J2�&J*�*J2�-J*�.J2�2L6�	A(L1�1L6c�>�tjdtd���|S)NzgCSVTable.decode_from_csv() is not required with Python 3 and will be removed in Docutils 0.21 or later.r�r�r���ss r�decode_from_csvzCSVTable.decode_from_csv��/���
�D�%��	4�	4�	4�	4��rc�>�tjdtd���|S)NzgCSVTable.encode_from_csv() is not required with Python 3 and will be removed in Docutils 0.21 or later.r�r�r�r�s r�encode_for_csvzCSVTable.encode_for_csv�r�rc	�P�tjd�|D��|���}g}d}|D]|}g}|D]C}	dddtj|	���|���f}
|�|
���D|�|��t
|t|����}�}||fS)Nc3� K�|]	}|dzV��
dS)r3Nro)rxr*s  r�	<genexpr>z4CSVTable.parse_csv_data_into_rows.<locals>.<genexpr>�s&���� B� B����� B� B� B� B� B� Br)�dialectr)r))r��readerr�
StringListr��appendr�rD)r+r�r�r)�
csv_readerr@r�rK�row_data�cell�	cell_datas           rr:z!CSVTable.parse_csv_data_into_rows�s����Z� B� B�� B� B� B�(/�1�1�1�
������	/�	/�C��H��
+�
+����1�l�&=��O�O�%�%�f�'6�'6�'6�7�	����	�*�*�*�*��K�K��!�!�!��8�S��X�X�.�.�H�H��X�~�rN)rarbrcr�nonnegative_intrhrirjrk�path�urir�rgr�$single_char_or_whitespace_or_unicode�flag�single_char_or_unicoderlr��Dialectr�r9�staticmethodr�r�r�r�r�r:rorrr�r��sh������",�"<�#-�#=�'�1�&�G�0�Z�0��1;�1M�O�O�%�?�$�.�)�2�&�3�%�/�!�&�K� *��&�=�'�>�'@�@�K�*�����#�+����0!�!�!�!�!���!�!�!�F�8�8��\�8�+'�+'�+'�ZE �E �E �N����\������\��
�
�
�
�
rr�c��eZdZdZejejejejdej��ej	ej
ed�Zd�Z
d�Zd�ZdS)�	ListTablez�
    Implement tables whose data is encoded as a uniform two-level bullet list.
    For further ideas, see
    https://docutils.sourceforge.io/docs/dev/rst/alternatives.html#list-driven-tables
    r�)r�r�rrrrrc���|jsJ|j�d|jzt	j|j|j��|j���}|gS|���\}}t	j	��}|j
�|j|j|��	|�
|��\}}d�|dD��}|j�dd��}|j�dd��}	|�|||	��n%#t"$r}
|
jdgcYd}
~
Sd}
~
wwxYw|�||||	��}d|jvr|j�d��|d<|dxx|j�d	g��z
cc<|�|��|�|��|r|�d|��|g|zS)
Nz.The "%s" directive is empty; content required.rCc�2�g|]}d�|dD����S)c��g|]	}|j��
Sro)r�)rx�items  rrzz,ListTable.run.<locals>.<listcomp>.<listcomp>�s��A�A�A�T�4�=�A�A�Arrro)rx�row_lists  rrzz!ListTable.run.<locals>.<listcomp>�s;��3�3�3�&�B�A�X�a�[�A�A�A�3�3�3rrr�r�rrsr)r~rErFrrrGrHr%r/r�r#r�r��check_list_contentr5rOrLr	r��build_table_from_listrQr�r�)r+rFr&r.r��num_colsrZ�
table_datarIrJr�rPs            rr�z
ListTable.run�s!���|�	��M�'�'�)$�&*�i�)0��#�D�O�T�_�E�E��[�(�"�"�E��7�N��/�/�+�+���x��}�����
�����d�.A�4�H�H�H�	$�#'�#:�#:�4�#@�#@� �H�j�3�3�*.�q�'�3�3�3�J��,�*�*�=�!�<�<�K��<�+�+�N�A�>�>�L��'�'�
�K��N�N�N�N��'�	$�	$�	$��K��N�#�#�#�#�#�#�#�����	$�����/�/�
�J�0;�\�K�K�
��d�l�"�"�"&�,�"2�"2�7�";�";�J�w���9������!1�!1�'�2�!>�!>�>�������Z�(�(�(��
�
�j�!�!�!��	(����a��'�'�'��|�h�&�&s�#A7D�
D=�%
D8�2D=�8D=c��t|��dks t|dtj��sV|j�d|jztj|j|j��|j	���}t|���|d}d}tt|����D�]C}||}t|��dks t|dtj��s]|j�d|j�d|dz�d�tj|j|j��|j	���}t|���|r�t|d��|krv|j�d|j�d|dz�d	t|d���d
|�d�	tj|j|j��|j	���}t|�����.t|d��}��E|�|��}||fS)NrrzUError parsing content block for the "%s" directive: exactly one bullet list expected.rCz%Error parsing content block for the "z5" directive: two-level bullet list expected, but row z- does not contain a second-level bullet list.z=" directive: uniform two-level bullet list expected, but row z5 does not contain the same number of items as row 1 (z vs rU)
rDrWr�bullet_listrErFrrGrHr%r	�ranger[)r+r�rF�	list_noder�
item_indexr�rZs        rrzListTable.check_list_content�s���t�9�9��>�>��D��G�U�5F�!G�!G�>��M�'�'�4�6:�i�@��#�D�O�T�_�E�E��[�	(�"�"�E�
+�5�1�1�1���G�	�����I���/�/�	(�	(�J��Z�(�D��4�y�y�A�~�~�Z��Q���9J�%K�%K�~��
�+�+�+��y�y�y�*�q�.�.�.�2��'�����I�I���
,�&�&��/�u�5�5�5��
(��t�A�w�<�<�8�+�+� �M�/�/�/�
 �9�9�9�j�1�n�n�n�c�$�q�'�l�l�l�l�H�H�H�	N�
�+�D�O�T�_�M�M�!�[�0�*�*�E�3�5�9�9�9�,��t�A�w�<�<����+�+�H�5�5�
���#�#rc���tj��}|jdkr|dxxdgz
cc<n|jr|dxxdgz
cc<tjt	|�����}||z
}|D]7}tj��}|�
||jd<|rd|jd<|dz}||z
}�8g}	|D]L}
tj��}|
D]}tj��}
|
|z
}
||
z
}� |	�	|���M|r5tj
��}|�|	d|���||z
}tj��}|�|	|d���||z
}|S)	Nrrsr|r})rtr{r�stub)
rr�rr�rDrv�
attributesrK�entryr��theadr<�tbody)r+rrZrIrJr�r�r�rvr@rK�row_noder�rr
rs                rrzListTable.build_table_from_lists�����
�
���;�&� � ��)����!1� 2�2�����
�[�	4��)����!2� 3�3������3�z�?�?�3�3�3��
����#�	�	�I��m�o�o�G��$�1:��"�:�.��
"�-.��"�6�*���!���g��F�F����	"�	"�C��y�{�{�H��
"�
"����
�
����
���E�!����K�K��!�!�!�!��	��K�M�M�E��L�L��l�{�l�+�,�,�,��e�O�F���
�
��
���T�+�,�,�'�(�(�(��%����rN)rarbrcrdrr�rirjrkrgrhrrlr�rrrorrr�r��s���������#-�"<�#-�#=�&�G�0�Z�0��1;�1M�O�O�&�3�%�/�!�#�#�K�'�'�'�<$$�$$�$$�L � � � � rr�)rd�
__docformat__r��pathlibrr6�docutilsrrrr�docutils.utilsr	�docutils.parsers.rstr
r�urllib.requestr�urllib.errorr
rrrqr�r�rorr�<module>rs���
��#�
��
�
�
�����������3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�*�*�*�*�*�*�+�+�+�+�+�+�"�"�"�"�"�"�!�!�!�!�!�!�D�D�D�qG�qG�qG�qG�qG�I�qG�qG�qG�h-'�-'�-'�-'�-'�u�-'�-'�-'�`j�j�j�j�j�u�j�j�j�Zu�u�u�u�u��u�u�u�u�ur

Hacked By AnonymousFox1.0, Coded By AnonymousFox