§
    `Štj+ž  ã                   óè  — d Z ddlZddlZddlmZ ddlmZmZ ddlZddl	Z
ddlmZ ddlmZmZmZ d„ Zej                             dg d	¢¦  «        d
„ ¦   «         Zd„ Zej                             dg d¢¦  «        d„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zej                             dd¦  «        d„ ¦   «         Zej                             dd¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         Zej                             dg d¢¦  «        d„ ¦   «         Zej                             dd ¦  «        d!„ ¦   «         Z d"„ Z!ej                             d#e"e#f¦  «        d$„ ¦   «         Z$ej         %                    eoej&        j'        d%k    d&¬'¦  «        ej                             d# e
j(        d(¦  «         e
j(        d)¦  «        f¦  «        d*„ ¦   «         ¦   «         Z)d+„ Z*d,„ Z+d-„ Z,d.„ Z-d/„ Z.ej                             d0g d1¢¦  «        ej                             d2g d1¢¦  «        d3„ ¦   «         ¦   «         Z/d4„ Z0d5„ Z1d6„ Z2d7„ Z3ej                             d#d8¦  «        d9„ ¦   «         Z4ej                             d:d; e
j(        d<¦  «        fd= e
j(        d>¦  «        fg¦  «        d?„ ¦   «         Z5d@„ Z6dA„ Z7ej         %                    eoej&        j'        d%k    d&¬'¦  «        ej                             d#e
j8        dB         ¦  «        ej         9                    dC¦  «        dD„ ¦   «         ¦   «         ¦   «         Z:ej         %                    eoej&        j'        d%k    d&¬'¦  «        ej                             d#e
j8        dB         ¦  «        ej         9                    dC¦  «        dE„ ¦   «         ¦   «         ¦   «         Z;ej                             d#e
j<        e
j=        f¦  «        ej                             dFdG¦  «        dH„ ¦   «         ¦   «         Z>dI„ Z?dJ„ Z@dK„ ZAej         %                    e dL¬'¦  «        dM„ ¦   «         ZBej         %                    eoej&        j'        d%k    d&¬'¦  «        dN„ ¦   «         ZCej                             dOde"gdPf¦  «        dQ„ ¦   «         ZDej         %                    eoej&        j'        d%k    d&¬'¦  «        dR„ ¦   «         ZEej                             dSdT¦  «        dU„ ¦   «         ZFdV„ ZGej                             dWdX¦  «        dY„ ¦   «         ZHej                             dWdX¦  «        dZ„ ¦   «         ZId[„ ZJej         %                    eoej&        j'        d%k    d&¬'¦  «        d\„ ¦   «         ZKd]„ ZLd^„ ZMd_„ ZNd`„ ZOda„ ZPej                             dbdc¦  «        ej                             ddde¦  «        ej                             dfddgg¦  «        dh„ ¦   «         ¦   «         ¦   «         ZQej                             ddi¦  «        dj„ ¦   «         ZRej                             d#dkgdldmdndodpdqdrdsdtdudv eSdw¦  «        fdxdy eSdz¦  «        fd{g¦  «        ej                             d|d}d~g¦  «        d„ ¦   «         ¦   «         ZTej                             d#e
j8        dB         d€z   d�z   ¦  «        d‚„ ¦   «         ZUej                             d#dƒ¦  «        d„„ ¦   «         ZVej         %                    eoej&        j'        d%k    d&¬'¦  «        ej                             d#dƒ¦  «        ej                             d…g d†¢¦  «        d‡„ ¦   «         ¦   «         ¦   «         ZWej         %                    eoej&        j'        d%k    d&¬'¦  «        ej                             d#e
j8        dB         dˆz   d�z   ¦  «        d‰„ ¦   «         ¦   «         ZXej         %                    eoej&        j'        d%k    d&¬'¦  «        ej                             d#e
j8        dB         dˆz   d�z   ¦  «        dŠ„ ¦   «         ¦   «         ZYej                             dbd‹dŒgd‹d�gg¦  «        dŽ„ ¦   «         ZZej                             dbd‹d�gd‹d�gd‹d‘gd‹d’gg¦  «        d“„ ¦   «         Z[ej                             d”g d•¢¦  «        d–„ ¦   «         Z\d—„ Z]d˜„ Z^ G d™„ dš¦  «        Z_d›„ Z`dœ„ Zad�„ Zbdž„ Zcej                             dd ¦  «        dŸ„ ¦   «         Zdej                             d d¡¦  «        d¢„ ¦   «         Zeej                             d£d¤d¥g¦  «        ej                             d¦d§¦  «        d¨„ ¦   «         ¦   «         Zfd©„ Zgej         %                    eoej&        j'        d%k    d&¬'¦  «        dª„ ¦   «         Zhd«„ Ziej         9                    d¬¦  «        d­„ ¦   «         Zjej                             d®d¯¦  «        d°„ ¦   «         Zkej                             d±d²¦  «        d³„ ¦   «         ZldS )´z�
Tests specific to `np.loadtxt` added during the move of loadtxt to be backed
by C code.
These tests complement those found in `test_io.py`.
é    N)ÚStringIO)ÚNamedTemporaryFileÚmkstemp)Úassert_equal)ÚHAS_REFCOUNTÚIS_PYPYÚassert_array_equalc                  ó¬   — t          d¦  «        } t          j        g d¢g d¢g d¢g d¢g¦  «        }t          t          j        | d¬¦  «        |¦  «         dS )	z0Test that both 'e' and 'E' are parsed correctly.zE1.0e-1,2.0E1,3.0
4.0e-2,5.0E-1,6.0
7.0e-3,8.0E1,9.0
0.0e-4,1.0E-1,2.0)çš™™™™™¹?g      4@ç      @)g{®Gáz¤?ç      à?é   )gyé&1¬|?g      T@é	   )r   r   é   ú,©Ú	delimiterN)r   ÚnpÚarrayr	   Úloadtxt)ÚdataÚexpecteds     úZ/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/lib/tests/test_loadtxt.pyÚtest_scientific_notationr      sl   € åð ñô €Dõ ŒxØ	ˆˆ˜.˜.˜.¨/¨/¨/¸;¸;¸;ÐGñô €Hõ •r”z $°#Ð6Ñ6Ô6¸ÑAÔAÐAÐAÐAó    Úcomment)z..z//z@-zthis is a comment:c                 ó°   — d}t          |                     d| ¦  «        ¦  «        }t          j        |d| ¬¦  «        }t	          |ddgddgd	d
gg¦  «         d S )Nz,# IGNORE
1.5, 2.5# ABC
3.0,4.0# XXX
5.5,6.0
ú#r   ©r   Úcommentsç      ø?ç      @r   ç      @ç      @ç      @)r   Úreplacer   r   r   )r   ÚcontentÚtxtÚas       r   Útest_comment_multiple_charsr*   #   sa   € à@€GÝ
�7—?’? 3¨Ñ0Ô0Ñ
1Ô
1€CÝ
Œ
�3 #°Ð8Ñ8Ô8€AÝ��c˜3�Z # s ¨c°3¨ZÐ8Ñ9Ô9Ð9Ð9Ð9r   c                  óÒ   — t          d¦  «        } t          j        dt          j        fdt          j        fddt          j        fg¦  «        }t          j        g d¢|¬¦  «        }| ||fS )z~
    Function providing heterogeneous input data with a structured dtype, along
    with the associated structured array.
    zo1000;2.4;alpha;-34
2000;3.1;beta;29
3500;9.9;gamma;120
4090;8.1;delta;0
5001;4.4;epsilon;-99
6543;7.8;omega;-1
Úf0Úf1©Úf2ÚS7Úf3©)iè  g333333@ÚalphaiÞÿÿÿ)iÐ  gÍÌÌÌÌÌ@Úbetaé   )i¬  gÍÌÌÌÌÌ#@Úgammaéx   )iú  g333333 @Údeltar   )i‰  gš™™™™™@Úepsiloni�ÿÿÿ)i�  g333333@Úomegaéÿÿÿÿ©Údtype)r   r   r=   Úuint16Úfloat64Úint8r   )r   r=   r   s      r   Úmixed_types_structuredrA   +   s†   € õ
 ð"ñ	ô 	€Dõ ŒHØ
•”	Ð	˜T¥2¤:Ð.°¸tÅRÄW¸oÐNñô €Eõ Œxð	
ð 	
ð 	
ð ð
ñ 
ô 
€Hð �˜Ð Ð r   Úskiprows)r   é   r   é   c                 óŠ   — t          ¦   «         \  }}}t          j        ||d| ¬¦  «        }t          ||| d …         ¦  «         d S )Nú;)r=   r   rB   ©rA   r   r   r	   )rB   r   r=   r   r)   s        r   Ú1test_structured_dtype_and_skiprows_no_empty_linesrH   K   sK   € å2Ñ4Ô4Ñ€Dˆ%�Ý
Œ
�4˜u°¸hÐGÑGÔG€AÝ�q˜( 8 9 9Ô-Ñ.Ô.Ð.Ð.Ð.r   c                  ó  — t          ¦   «         \  } }}t          j        | |dd¬¦  «        \  }}}}t          ||d         ¦  «         t          ||d         ¦  «         t          ||d         ¦  «         t          ||d         ¦  «         d S )NrF   T)r=   r   Úunpackr,   r-   r/   r1   rG   )r   r=   r   r)   ÚbÚcÚds          r   Útest_unpack_structuredrN   R   sŠ   € Ý2Ñ4Ô4Ñ€Dˆ%�å”˜D¨¸ÀTÐJÑJÔJ�J€A€qˆ!ˆQÝ�q˜( 4œ.Ñ)Ô)Ð)Ý�q˜( 4œ.Ñ)Ô)Ð)Ý�q˜( 4œ.Ñ)Ô)Ð)Ý�q˜( 4œ.Ñ)Ô)Ð)Ð)Ð)r   c                  óÊ   — t          j        ddg¦  «        } t          d¦  «        }t          j        ddg| ¬¦  «        }t	          t          j        |d| ¬¦  «        |¦  «         d S )	N)r)   Úu1r   )rK   rP   r   z0,1,2,3
6,7,8,9
©©r   rC   ©r   rD   ))r   é   )é   r   r<   r   ©r   r=   ©r   r=   r   r   r	   r   ©r=   r   r   s      r   Ú test_structured_dtype_with_shaperY   \   sf   € ÝŒH�n nÐ5Ñ6Ô6€EÝÐ(Ñ)Ô)€DÝŒxÐ)Ð+;Ð<ÀEÐJÑJÔJ€HÝ•r”z $°#¸UÐCÑCÔCÀXÑNÔNÐNÐNÐNr   c                  óÄ   — t          j        dg¦  «        } t          d¦  «        }t          j        dg| ¬¦  «        }t	          t          j        || ¬¦  «        |¦  «         d S )N)r)   rP   )r   r   z0 1 2 3
)rQ   r<   rW   rX   s      r   Ú&test_structured_dtype_with_multi_shaper[   c   s_   € ÝŒHÐ)Ð*Ñ+Ô+€EÝ�KÑ Ô €DÝŒxÐ,Ð-°UÐ;Ñ;Ô;€HÝ•r”z $¨eÐ4Ñ4Ô4°hÑ?Ô?Ð?Ð?Ð?r   c                  ó6  — t          j        dt          fdt          fg¦  «        } t          j        dt          fd| dfg¦  «        }t	          d¦  «        }t          j        ddd	gfd
ddgfg|¬¦  «        }t          t          j        ||d¬¦  «        |¦  «         d S )NÚxÚyÚcodeÚpoints)r   z100,1,2,3,4
200,5,6,7,8
éd   )ç      ð?ç       @)r   r#   éÈ   )ç      @r%   )g      @g       @r<   r   ©r=   r   )r   r=   ÚfloatÚintr   r   r	   r   )ÚpointÚdtr   r   s       r   Útest_nested_structured_subarrayrk   j   s®   € åŒH�s�E�l S­% LÐ1Ñ2Ô2€EÝ	Œ�F�C�= 8¨U°DÐ"9Ð:Ñ	;Ô	;€BÝÐ0Ñ1Ô1€DÝŒxà�8˜XÐ&Ð'Ø�8˜XÐ&Ð'ð	
ð ðñ ô €Hõ •r”z $¨b¸CÐ@Ñ@Ô@À(ÑKÔKÐKÐKÐKr   c                  óÊ   — t          j        dd¬¦  «        } t          d¦  «        }t          j        ddg| ¬¦  «        }t	          t          j        |d| ¬	¦  «        |¦  «         d S )
Nzi1, i4, i1, i4, i1, i4T©Úalignz1,2,3,4,5,6
7,8,9,10,11,12
)rC   r   rD   é   é   r   )rT   rU   r   é
   é   é   r<   r   rV   rW   )rj   r   r   s      r   Útest_structured_dtype_offsetsrt   y   sg   € å	ŒÐ*°$Ð	7Ñ	7Ô	7€BÝÐ3Ñ4Ô4€DÝŒxÐ+Ð-BÐCÈ2ÐNÑNÔN€HÝ•r”z $°#¸RÐ@Ñ@Ô@À(ÑKÔKÐKÐKÐKr   Úparam)rB   Úmax_rowsc                 ó”   — t          j        t          d¬¦  «        5  t          j        di | di¤Ž ddd¦  «         dS # 1 swxY w Y   dS )z;skiprows and max_rows should raise for negative parameters.zargument must be nonnegative©Úmatchúfoo.baréýÿÿÿN©rz   ©ÚpytestÚraisesÚ
ValueErrorr   r   ©ru   s    r   Ú"test_exception_negative_row_limitsr‚   �   s˜   € õ 
Œ•zÐ)GÐ	HÑ	HÔ	Hð -ð -Ý
Œ
Ð,Ð, ¨ Ð,Ð,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð -ð -ó   œ=½AÁAc                 ó”   — t          j        t          d¬¦  «        5  t          j        di | di¤Ž d d d ¦  «         d S # 1 swxY w Y   d S )Nzargument must be an integerrx   rz   rb   r|   ©r~   r   Ú	TypeErrorr   r   r�   s    r   Ú$test_exception_noninteger_row_limitsr‡   ˆ   s–   € å	Œ•yÐ(EÐ	FÑ	FÔ	Fð .ð .Ý
Œ
Ð-Ð- ¨ Ð-Ð-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð .ð .rƒ   zdata, shape)z
1 2 3 4 5
)rC   rp   )z
1
2
3
4
5
)rp   rC   c                 ó  — t          j        g d¢¦  «        }|                     |¦  «        }t          t          j        t          | ¦  «        t          ¬¦  «        |¦  «         t          t          j        t          | ¦  «        t          d¬¦  «        |¦  «         t          t          j        t          | ¦  «        t          d¬¦  «        |¦  «         t          t          j        t          | ¦  «        t          d¬¦  «        |¦  «         d S )N)rC   r   rD   ro   rp   r<   r   )r=   ÚndminrC   r   )r   r   Úreshaper	   r   r   rh   )r   ÚshapeÚarrÚarr2ds       r   Útest_ndmin_single_row_or_colrŽ   Ž   sÈ   € õ Œ(�?�?�?Ñ
#Ô
#€CØ�KŠK˜ÑÔ€Eå•r”z¥(¨4¡.¤.½Ð<Ñ<Ô<¸cÑBÔBÐBÝ•r”z¥(¨4¡.¤.½À1ÐEÑEÔEÀsÑKÔKÐKÝ•r”z¥(¨4¡.¤.½À1ÐEÑEÔEÀsÑKÔKÐKÝ•r”z¥(¨4¡.¤.½À1ÐEÑEÔEÀuÑMÔMÐMÐMÐMr   Úbadval)r;   rD   Nzplate of shrimpc                 óš   — t          j        t          d¬¦  «        5  t          j        d| ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzIllegal value of ndmin keywordrx   rz   )r‰   r}   )r�   s    r   Útest_bad_ndminr‘   Ÿ   s‘   € å	Œ•zÐ)IÐ	JÑ	JÔ	Jð ,ð ,Ý
Œ
�9 FÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   œA Á AÁAÚws)ú ú	u   â€ƒõ   Â u   ã€€c                 óÚ   — t          d| › d| › d| › d| › d| › d�¦  «        }t          j        g d¢g d¢g d	¢g d
¢g¦  «        }t          t          j        |t
          d d¬¦  «        |¦  «         d S )Nz1 2z30

z
4 5 60z
  z  
7 8 z 90
  # comment
3 2 1©rC   r   é   ©ro   rp   é<   ©rT   rU   éZ   ©rD   r   rC   r   ©r=   r   r    ©r   r   r   r   r   rh   )r’   r(   r   s      r   Útest_blank_lines_spaces_delimitr    ¥   sº   € õ ð	ˆbð 	ð 	˜ð 	ð 	Øð	ð 	Øð	ð 	àð	ð 	ð 	ñô €Cõ Œx˜˜˜ Z Z Z°°°¸Y¸Y¸YÐGÑHÔH€HÝÝ
Œ
�3�c¨T¸CÐ@Ñ@Ô@À(ñô ð ð ð r   c                  óº   — t          d¦  «        } t          j        g d¢g d¢g d¢g d¢g¦  «        }t          t          j        | t
          dd¬¦  «        |¦  «         d S )	Nz&1,2,30

4,5,60

7,8,90
# comment
3,2,1r—   r™   r›   r�   r   r   rž   rŸ   )r(   r   s     r   Ú!test_blank_lines_normal_delimiterr¢   ¿   sl   € Ý
ÐAÑ
BÔ
B€CÝŒx˜˜˜ Z Z Z°°°¸Y¸Y¸YÐGÑHÔH€HÝÝ
Œ
�3�c¨S¸3Ð?Ñ?Ô?Àñô ð ð ð r   r=   c                 óÒ   — t          d¦  «        }t          j        || dd¬¦  «        }t          |j        | ¦  «         t          |t          j        ddgddgg| ¬	¦  «        ¦  «         d S )
Nz1.5,2.5
3.0,4.0
5.5,6.0r   r   ©r=   r   rv   z1.5z2.5z3.0z4.0r<   )r   r   r   r   r=   r   ©r=   r(   Úress      r   Útest_maxrows_no_blank_linesr§   Ç   sl   € å
Ð.Ñ
/Ô
/€CÝ
Œ*�S °¸qÐ
AÑ
AÔ
A€CÝ�”˜EÑ"Ô"Ð"Ý�•b”h ¨ °¸°Ð?ÀuÐMÑMÔMÑNÔNÐNÐNÐNr   )rT   rD   rU   zPyPy bug in error formatting)ÚreasonÚf8Úi2c                 óÆ   — t          d¦  «        }d| › d�}t          j        t          |¬¦  «        5  t	          j        || d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz1,2
3,XXX
5,6z"could not convert string 'XXX' to z at row 1, column 2rx   r   rf   ©r   r~   r   r€   r   r   )r=   r(   Úmsgs      r   Ú!test_exception_message_bad_valuesr®   Ï   s²   € õ Ð$Ñ
%Ô
%€CØ
I¨uÐ
IÐ
IÐ
I€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 4ð 4Ý
Œ
�3˜e¨sÐ3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s   ±AÁAÁAc                  óà   — t          d¦  «        } dd„ i}t          j        ddgdt          j        gddgg¦  «        }t          j        | t          j        d	|¬
¦  «        }t          ||¦  «         d S )Nz1.5,2.5
3.0,XXX
5.5,6.0r;   c                 óD   — | dk    rt           j        nt          | ¦  «        S ©NÚXXX©r   Únanrg   ©Úss    r   ú<lambda>z2test_converters_negative_indices.<locals>.<lambda>Û   ó   €  A¨¢J J�"œ&˜&µE¸!±H´H€ r   r!   r"   r   r$   r%   r   ©r=   r   Ú
converters)r   r   r   r´   r   r?   r   ©r(   Úconvr   r¦   s       r   Ú test_converters_negative_indicesr½   Ù   sr   € Ý
Ð.Ñ
/Ô
/€CØÐ<Ð<Ð=€DÝŒx˜#˜s˜ c­2¬6 ]°S¸#°JÐ?Ñ@Ô@€HÝ
Œ*�S¥¤
°cÀdÐ
KÑ
KÔ
K€CÝ��hÑÔÐÐÐr   c                  óf  — t          d¦  «        } dd„ i}t          j        ddgdt          j        gddgg¦  «        }t          j        | t          j        d	|d
dg¬¦  «        }t          ||¦  «         t          j        t          d¦  «        d	d
dgdd„ i¬¦  «        }t          |d
dgd
dgg¦  «         d S )Nz$1.5,2.5,3.5
3.0,4.0,XXX
5.5,6.0,7.5
r;   c                 óD   — | dk    rt           j        nt          | ¦  «        S r±   r³   rµ   s    r   r·   z?test_converters_negative_indices_with_usecols.<locals>.<lambda>ã   r¸   r   r!   g      @r   r$   g      @r   r   )r=   r   rº   Úusecolsz0,1,2
0,1,2,3,4c                 ó   — dS )Nr;   © )r]   s    r   r·   z?test_converters_negative_indices_with_usecols.<locals>.<lambda>ð   s   € À€ r   )r   rÀ   rº   )r   r   r   r´   r   r?   r   r	   r»   s       r   Ú-test_converters_negative_indices_with_usecolsrÃ   á   sÚ   € Ý
Ð<Ñ
=Ô
=€CØÐ<Ð<Ð=€DÝŒx˜#˜s˜ c­2¬6 ]°S¸#°JÐ?Ñ@Ô@€HÝ
Œ*ØÝŒjØØØ�B�ðñ ô €Cõ ��hÑÔÐõ Œ*•XÐ4Ñ5Ô5ÀØ ˜W°"°|°|Ð1EðGñ Gô G€Cå�s˜a ˜W q¨" gÐ.Ñ/Ô/Ð/Ð/Ð/r   c                  ó¢   — g d¢} t          j        t          d¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)ú1,2,3rÅ   z4,3,2,1z2the number of columns changed from 3 to 4 at row 3rx   r   r   r}   )Úrowss    r   Útest_ragged_errorrÇ   ô   s¥   € Ø(Ð(Ð(€DÝ	Œ•zØFð
Hñ 
Hô 
Hð (ð (å
Œ
�4 3Ð'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s    AÁAÁAc                  ó€  — t          d¦  «        } t          j        ddgddgddgg¦  «        }t          j        | t          dddg¬¦  «        }t          ||¦  «         t          d¦  «        } t          j        t          d¬¦  «        5  t          j        | t          dddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	Nú$0,0,XXX
0,XXX,0,XXX
0,XXX,XXX,0,XXX
r   r   éþÿÿÿ©r=   r   rÀ   z0,0,XXX
0
0,XXX,XXX,0,XXX
z/invalid column index -2 at row 2 with 1 columnsrx   )	r   r   r   r   rg   r   r~   r   r€   ©r(   r   r¦   s      r   Útest_ragged_usecolsrÍ   û   s"  € å
Ð<Ñ
=Ô
=€CÝŒx˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ñ1Ô1€HÝ
Œ*�S¥°¸qÀ"¸gÐ
FÑ
FÔ
F€CÝ��hÑÔÐå
Ð2Ñ
3Ô
3€CÝ	Œ•zØGð
Iñ 
Iô 
Ið Eð Eõ 	Œ
�3�e¨s¸QÀ¸GÐDÑDÔDÐDðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð Eð Es   Â B3Â3B7Â:B7c                  óÐ   — t          d¦  «        } t          j        | t          j        g ¦  «        dg ¬¦  «        }|j        dk    sJ ‚|j        t          j        g ¦  «        k    sJ ‚d S )NrÉ   r   rË   )rD   )r   r   r   r=   r‹   ©r(   r¦   s     r   Útest_empty_usecolsrÐ   	  sd   € Ý
Ð<Ñ
=Ô
=€CÝ
Œ*�S¥¤¨¡¤¸ÀRÐ
HÑ
HÔ
H€CØŒ9˜ÒÐÐÐØŒ9�œ ™œÒ$Ð$Ð$Ð$Ð$Ð$r   Úc1)r)   u   ã�®u   ðŸ«•Úc2c                 óT  — t          d| › d|› d�¦  «        }t          j        |t          j        d¦  «        d¬¦  «        }t          j        d| › d�                     d¦  «        d|› d�                     d¦  «        gt          j        d¦  «        ¬	¦  «        }t          ||¦  «         d S )
Nza,z	,c,1.0
e,z,2.0,gÚU12r   rf   z,c,1.0ze,r<   )r   r   r   r=   r   Úsplitr   )rÑ   rÒ   r(   r¦   r   s        r   Útest_large_unicode_charactersrÖ     s°   € õ Ð0˜Ð0Ð0 bÐ0Ð0Ð0Ñ
1Ô
1€CÝ
Œ*�S¥¤¨¡¤¸3Ð
?Ñ
?Ô
?€CÝŒxØ	ˆbˆˆˆ×	Ò	˜sÑ	#Ô	# _¨" _ _ _×%:Ò%:¸3Ñ%?Ô%?Ð@ÝŒh�u‰oŒoðñ ô €Hõ ��hÑÔÐÐÐr   c                  óÞ   — t          d¦  «        } dd„ i}t          j        | t          j        d¦  «        |dd ¬¦  «        }t          j        ddgd	d
gddgg¦  «        }t          ||¦  «         d S )Nu   cat,dog
Î±Î²Î³,Î´ÎµÎ¶
abc,def
r   c                 ó*   — |                       ¦   «         S ©N©Úupperrµ   s    r   r·   z-test_unicode_with_converter.<locals>.<lambda>  s   € ˜Ÿš™œ€ r   rÔ   r   ©r=   rº   r   ÚencodingÚCATÚdogu   Î‘Î’Î“u   Î´ÎµÎ¶ÚABCÚdef)r   r   r   r=   r   r   ©r(   r¼   r¦   r   s       r   Útest_unicode_with_converterrã     s†   € Ý
Ð6Ñ
7Ô
7€CØÐ"Ð"Ð#€DÝ
Œ*ØÝŒh�u‰oŒoØØØðñ ô €Cõ Œx˜% ˜¨(°HÐ)=ÀÀu¸~ÐNÑOÔO€HÝ��hÑÔÐÐÐr   c                  ó  — t          d¦  «        } t          j        dt          j        fdt          j        fdg¦  «        }d„ d„ dœ}t          j        | |d|¬	¦  «        }t          j        g d
¢|¬¦  «        }t          ||¦  «         d S )Nz$1.5,2.5,Abc
3.0,4.0,dEf
5.5,6.0,ghI
ÚmÚr)r_   ÚU8c                 ó@   — t          dt          | ¦  «        z  ¦  «        S )Nrq   )rh   rg   rµ   s    r   r·   z6test_converter_with_structured_dtype.<locals>.<lambda>.  s   € �˜R¥%¨¡(¤(™]Ñ+Ô+€ r   c                 ó*   — |                       ¦   «         S rÙ   rÚ   rµ   s    r   r·   z6test_converter_with_structured_dtype.<locals>.<lambda>.  s   € ¸1¿7º7¹9¼9€ r   )r   r;   r   r¹   ))é   r"   rà   )r˜   r#   ÚDEF)é7   r%   ÚGHIr<   )r   r   r=   Úint32Úfloat32r   r   r   )r(   rj   r¼   r¦   r   s        r   Ú$test_converter_with_structured_dtyperð   +  s˜   € Ý
Ð<Ñ
=Ô
=€CÝ	Œ�C�œ�? S­"¬*Ð$5°~ÐFÑ	GÔ	G€BØ+Ð+Ð1DÐ1DÐEÐE€DÝ
Œ*�S ¨c¸dÐ
CÑ
CÔ
C€CÝŒxØ>Ð>Ð>Àbðñ ô €Hõ ��hÑÔÐÐÐr   c                  óæ   — t          d¦  «        } t          j        }t          j        | t          j        d¦  «        |dd¬¦  «        }t          j        ddgdd	gg¦  «        }t          ||¦  «         d
S )aD  
    With the 'bytes' encoding, tokens are encoded prior to being
    passed to the converter. This means that the output of the converter may
    be bytes instead of unicode as expected by `read_rows`.

    This test checks that outputs from the above scenario are properly decoded
    prior to parsing by `read_rows`.
    zabc,def
rst,xyzÚU3r   ÚbytesrÜ   rà   rë   ÚRSTÚXYZN)r   ró   rÛ   r   r   r=   r   r   râ   s       r   Ú!test_converter_with_unicode_dtyperö   6  sw   € õ Ð%Ñ
&Ô
&€CÝŒ;€DÝ
Œ*Ø•r”x ‘~”~°$À#Øðñ ô €Cõ Œx˜% ˜¨%°¨Ð8Ñ9Ô9€HÝ��hÑÔÐÐÐr   c                  óÐ   — ddz  } | d d…         dz   } t          | dz  ¦  «        }t          j        |dt          ¬¦  «        }t	          |t          j        dd	gd
¦  «        ¦  «         d S )Nz	1.5, 2.5,éPÃ  r;   ú
r   r   rV   r!   r"   )r   rø   )r   r   r   rg   r   Útile)Úrowr(   r¦   s      r   Útest_read_huge_rowrü   H  sj   € Ø
˜Ñ
€CØ
ˆcˆrˆcŒ(�T‰/€CÝ
�3˜‘7Ñ
Ô
€CÝ
Œ*�S C­uÐ
5Ñ
5Ô
5€CÝ�•b”g˜s C˜j¨*Ñ5Ô5Ñ6Ô6Ð6Ð6Ð6r   ÚedfgFDGc                 ó¢   — d}t          j        | ¦  «        } t          j        |g| ¬¦  «        d         }||                      d¦  «        k    sJ ‚d S )Naò  0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.123456789r<   rÂ   z0.123456789)r   r=   r   Útype)r=   ÚfieldÚvalues      r   Útest_huge_floatr  P  sT   € ð &€EÝŒH�U‰OŒO€EÝŒJ˜�w eÐ,Ñ,Ô,¨RÔ0€EØ�E—J’J˜}Ñ-Ô-Ò-Ð-Ð-Ð-Ð-Ð-r   )Úgiven_dtypeÚexpected_dtypeÚSÚS5ÚUÚU5c                 óÚ   — t          d¦  «        }t          j        || d¬¦  «        }t          j        ddgddgdd	gg|¬
¦  «        }t	          ||¦  «         t	          |j        |¦  «         dS )z­
    The given dtype is just 'S' or 'U' with no length. In these cases, the
    length of the resulting dtype is determined by the longest string found
    in the file.
    zAAA,5-1
BBBBB,0-3
C,4-9
r   rf   ÚAAAz5-1ÚBBBBBz0-3ÚCz4-9r<   N)r   r   r   r   r   r=   )r  r  r(   r¦   r   s        r   Útest_string_no_length_givenr  Y  s�   € õ Ð0Ñ
1Ô
1€CÝ
Œ*�S °sÐ
;Ñ
;Ô
;€CÝŒxØ
�ˆ˜' 5Ð)¨C°¨<Ð8Àðñ ô €Hõ ��hÑÔÐÝ�”˜NÑ+Ô+Ð+Ð+Ð+r   c                  óÖ   — g d¢} t          d                     | ¦  «        ¦  «        }t          j        |¦  «        }t          j        d„ | D ¦   «         ¦  «        }t          ||¦  «         dS )zá
    Some tests that the conversion to float64 works as accurately as the
    Python built-in `float` function. In a naive version of the float parser,
    these strings resulted in values that were off by an ULP or two.
    )z0.9999999999999999z9876543210.123456z5.43215432154321e+300z0.901z0.333rù   c                 ó,   — g | ]}t          |¦  «        ‘ŒS rÂ   )rg   )Ú.0r¶   s     r   ú
<listcomp>z)test_float_conversion.<locals>.<listcomp>~  s   € Ð3Ð3Ð3 a�˜q™œÐ3Ð3Ð3r   N)r   Újoinr   r   r   r   )Ústringsr(   r¦   r   s       r   Útest_float_conversionr  o  so   € ðð ð €Gõ �4—9’9˜WÑ%Ô%Ñ
&Ô
&€CÝ
Œ*�S‰/Œ/€CÝŒxÐ3Ð3¨7Ð3Ñ3Ô3Ñ4Ô4€HÝ��hÑÔÐÐÐr   c                  ó  — t          d¦  «        } t          j        | t          d¬¦  «        }|j        t          k    sJ ‚t          |ddgddgg¦  «         t          |                     t          j        ¦  «        ddgddgg¦  «         d S )Nz1, 0
10, -1r   rf   TFrC   r   )r   r   r   Úboolr=   r	   ÚviewÚuint8rÏ   s     r   Ú	test_boolr  ‚  s†   € å
�>Ñ
"Ô
"€CÝ
Œ*�S¥°Ð
4Ñ
4Ô
4€CØŒ9�ÒÐÐÐÝ�s˜d E˜]¨T°4¨LÐ9Ñ:Ô:Ð:å�s—x’x¥¤Ñ)Ô)¨Q°¨F°Q¸°FÐ+;Ñ<Ô<Ð<Ð<Ð<r   Ú
AllIntegerz0error:.*integer via a float.*:DeprecationWarningc                 óê  — t          j        | ¦  «        } t          j        dg| ¬¦  «        dk    sJ ‚| j        dk    rIt	          j        t          ¦  «        5  t          j        dg| ¬¦  «         d d d ¦  «         n# 1 swxY w Y   nt          j        dg| ¬¦  «        dk    sJ ‚dD ]M}t	          j        t          ¦  «        5  t          j        |› d	�g| ¬¦  «         d d d ¦  «         n# 1 swxY w Y   ŒNd S )
Nz+2r<   r   Úuz-1
z-2
rÊ   )z++z+-z--z-+z2
)r   r=   r   Úkindr~   r   r€   )r=   Úsigns     r   Útest_integer_signsr  Œ  s}  € õ
 ŒH�U‰OŒO€EÝŒ:�t�f EÐ*Ñ*Ô*¨aÒ/Ð/Ð/Ð/Ø„z�SÒÐÝŒ]�:Ñ&Ô&ð 	.ð 	.ÝŒJ˜�x uÐ-Ñ-Ô-Ð-ð	.ð 	.ð 	.ñ 	.ô 	.ð 	.ð 	.ð 	.ð 	.ð 	.ð 	.øøøð 	.ð 	.ð 	.ð 	.øõ Œz˜6˜(¨%Ð0Ñ0Ô0°BÒ6Ð6Ð6Ð6à(ð 4ð 4ˆÝŒ]�:Ñ&Ô&ð 	4ð 	4ÝŒJ˜4˜˜˜�~¨UÐ3Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4øð4ð 4s$   ÁA:Á:A>ÂA>Ã C'Ã'C+	Ã.C+	c                 ó¶   — t          d¦  «        }t          j        t          ¦  «        5  t	          j        || d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz1.0, 2.1, 3.7
4, 5, 6r   rf   r¬   )r=   r(   s     r   Ú%test_implicit_cast_float_to_int_failsr!  ž  s�   € õ
 Ð+Ñ
,Ô
,€CÝ	Œ•zÑ	"Ô	"ð 4ð 4Ý
Œ
�3˜e¨sÐ3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s   ©AÁAÁAÚwith_parens)FTc                 ó  — d}|s*|                      dd¦  «                              dd¦  «        }t          j        t          |¦  «        | d¬¦  «        }t          j        g d¢g d¢g| ¬	¦  «        }t          ||¦  «         d S )
Nz*(1.0-2.5j),3.75,(7+-5.0j)
(4),(-19e2j),(0)ú(Ú ú)r   rf   )y      ð?      Àg      @y      @      À)r#   y       €     °�Àr   r<   )r&   r   r   r   r   r   )r=   r"  r¶   r¦   r   s        r   Útest_complex_parsingr'  §  s•   € ð 	6€AØð 0Ø�IŠI�c˜2ÑÔ×&Ò& s¨BÑ/Ô/ˆå
Œ*•X˜a‘[”[¨¸Ð
=Ñ
=Ô
=€CÝŒxØ	#Ð	#Ð	#Ð%5Ð%5Ð%5Ð6¸eðñ ô €Hõ ��hÑÔÐÐÐr   c                  ó´   — d„ } t          j         | ¦   «         t          d¬¦  «        }t          j        g d¢g d¢g d¢g d¢g¦  «        }t	          ||¦  «         d S )Nc               3   óR   K  — t          d¦  «        D ]} | › dd| z  › d| dz  › �V — Œd S )Nro   r   r   ©Úrange©Úis    r   Úgenz%test_read_from_generator.<locals>.gen¶  sR   è è € Ý�q‘”ð 	(ð 	(ˆAØÐ'Ð'˜˜Q™Ð'Ð'  A¡Ð'Ð'Ð'Ð'Ð'Ð'ð	(ð 	(r   r   rf   )r   r   r   )rC   r   rC   )r   ro   ro   )rD   r   r   )r   r   rh   r   r   ©r.  r¦   r   s      r   Útest_read_from_generatorr0  µ  sm   € ð(ð (ð (õ Œ*�S�S‘U”U¥#°Ð
5Ñ
5Ô
5€CÝŒx˜˜˜ I I I¨y¨y¨y¸)¸)¸)ÐDÑEÔE€HÝ��hÑÔÐÐÐr   c                  óš   — d„ } t          j         | ¦   «         dd¬¦  «        }t          j        g d¢d¬¦  «        }t          ||¦  «         d S )Nc               3   óF   K  — t          d¦  «        D ]} | › d| dz  › �V — Œd S )NrD   r“   ro   r*  r,  s    r   r.  z/test_read_from_generator_multitype.<locals>.genÀ  sB   è è € Ý�q‘”ð 	!ð 	!ˆAØ�.�.˜˜Q™�.�.Ð Ð Ð Ð ð	!ð 	!r   zi, dr“   rf   ))r   g        )rC   g      Ð?)r   r   r<   )r   r   r   r   r/  s      r   Ú"test_read_from_generator_multityper3  ¿  s`   € ð!ð !ð !õ Œ*�S�S‘U”U &°CÐ
8Ñ
8Ô
8€CÝŒxÐ7Ð7Ð7¸vÐFÑFÔF€HÝ��hÑÔÐÐÐr   c                  ó²   — d„ } t          j        t          d¬¦  «        5  t          j         | ¦   «         dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc               3   ó   K  — g d¢E d {V —† d S )N)z1,2s   3, 5iÂ1  rÂ   rÂ   r   r   r.  z)test_read_from_bad_generator.<locals>.genÊ  s*   è è € Ø*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*Ð*r   ú&non-string returned while reading datarx   zi, ir   rf   r…   )r.  s    r   Útest_read_from_bad_generatorr7  É  s´   € ð+ð +ð +õ 
ŒÝÐFð
Hñ 
Hô 
Hð 7ð 7å
Œ
�3�3‘5”5 °#Ð6Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s   Ÿ AÁAÁAzPython lacks refcountsc                  ó0  ‡‡— t          ¦   «         ŠdŠˆˆfd„} t          ddz  ¦  «        }t          j        t          d¬¦  «        5  t          j        |t           d| i¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ‰¦  «        dk    sJ ‚d S )	Nr   c                 ó<   •— ‰dk    rt          d¦  «        ‚‰dz  Š‰S )Ni‡  zfailed half-way through!rC   )r€   )r]   Úalready_readÚsentinels    €€r   r¼   z/test_object_cleanup_on_read_error.<locals>.conv×  s,   ø€ à˜$ÒÐÝÐ7Ñ8Ô8Ð8Ø˜ÑˆØˆr   zx
é'  zat row 5000, column 1rx   ©r=   rº   r   )	Úobjectr   r~   r   r€   r   r   ÚsysÚgetrefcount)r¼   r(   r:  r;  s     @@r   Ú!test_object_cleanup_on_read_errorrA  Ò  sì   øø€ å‰xŒx€HØ€Lðð ð ð ð ð õ �5˜5‘=Ñ
!Ô
!€Cå	Œ•zÐ)@Ð	AÑ	AÔ	Að <ð <Ý
Œ
�3�f°!°T°Ð;Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <õ Œ?˜8Ñ$Ô$¨Ò)Ð)Ð)Ð)Ð)Ð)s   ÁA1Á1A5Á8A5c                  ó´   — t          d¦  «        } t          j        t          ¦  «        5  t	          j        | d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z9Test exception when a character cannot be encoded as 'S'.u   â€“r  r<   Nr¬   )r   s    r   Ú#test_character_not_bytes_compatiblerC  æ  s˜   € õ �E‰?Œ?€DÝ	Œ•zÑ	"Ô	"ð %ð %Ý
Œ
�4˜tÐ$Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   ©AÁAÁAr¼   r%  c                 ó¸   — d}t          j        t          |¬¦  «        5  t          j        t          d¦  «        | ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz\converters must be a dictionary mapping columns to converter functions or a single callable.rx   ú1 2
3 4©rº   ©r~   r   r†   r   r   r   )r¼   r­   s     r   Útest_invalid_converterrH  ï  s¤   € ð	*ð õ 
Œ•y¨Ð	,Ñ	,Ô	,ð :ð :Ý
Œ
•8˜JÑ'Ô'°DÐ9Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :s   ž$AÁAÁAc                  ó~  — t          j        t          d¬¦  «        5  t          j        t          d¦  «        dt          i¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        t          d¦  «        dt          id¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzkeys of the converters dictrx   rE  r)   rF  r   )rº   rÀ   )r~   r   r†   r   r   r   rh   rÂ   r   r   Ú+test_converters_dict_raises_non_integer_keyrJ  ù  sR  € õ 
Œ•yÐ(EÐ	FÑ	FÔ	Fð @ð @Ý
Œ
•8˜JÑ'Ô'°S½#°JÐ?Ñ?Ô?Ð?ð@ð @ð @ñ @ô @ð @ð @ð @ð @ð @ð @øøøð @ð @ð @ð @å	Œ•yÐ(EÐ	FÑ	FÔ	Fð Kð KÝ
Œ
•8˜JÑ'Ô'°S½#°JÈÐJÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kð Kð Ks#   œ+AÁAÁAÁ9,B2Â2B6Â9B6Úbad_col_ind)rD   r{   c                 óÆ   — t          d¦  «        }t          j        t          d¬¦  «        5  t	          j        || t          i¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrE  zconverter specified for columnrx   rF  )r   r~   r   r€   r   r   rh   )rK  r   s     r   Ú'test_converters_dict_raises_non_col_keyrM    s£   € å�JÑÔ€DÝ	Œ•zÐ)IÐ	JÑ	JÔ	Jð 8ð 8Ý
Œ
�4 [µ#Ð$6Ð7Ñ7Ô7Ð7ð8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8s   «AÁAÁAc                  ó¸   — t          j        t          d¬¦  «        5  t          j        t          d¦  «        ddi¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz4values of the converters dictionary must be callablerx   rE  r   rC   rF  rG  rÂ   r   r   Ú,test_converters_dict_raises_val_not_callablerO  	  s¦   € Ý	Œ•yØLð
Nñ 
Nô 
Nð <ð <å
Œ
•8˜JÑ'Ô'°Q¸°FÐ;Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   œ&AÁAÁAÚq)ú"ú'ú`c                 ó  — t          | › d| › d| › d| › d| › d| › d�¦  «        }t          j        ddt          j        fg¦  «        }t          j        g d	¢|¬
¦  «        }t          j        ||d| ¬¦  «        }t          ||¦  «         d S )Núalpha, xz, 2.5
úbeta, yz, 4.5
úgamma, zz, 5.0
©r,   rç   r-   ©)rU  r"   )rV  g      @)rW  re   r<   r   ©r=   r   Ú	quotechar©r   r   r=   r?   r   r   r	   ©rP  r(   r=   r   r¦   s        r   Útest_quoted_fieldr^    s³   € å
ØÐIÐI�aÐIÐI ÐIÐI¨!ÐIÐI°AÐIÐI¸qÐIÐIÐIñô €Cõ ŒH�l T­2¬:Ð$6Ð7Ñ8Ô8€EÝŒxØ@Ð@Ð@Èðñ ô €Hõ Œ*�S °ÀÐ
BÑ
BÔ
B€CÝ�s˜HÑ%Ô%Ð%Ð%Ð%r   c                 ó  — t          | › d| › d| › d| › d| › d| › d�¦  «        }t          j        ddt          j        fg¦  «        }t          j        g d	¢|¬
¦  «        }t          j        ||d | ¬¦  «        }t          ||¦  «         d S )NrU  z	     2.5
rV  z 4.5
rW  z   5.0
rX  r-   rY  r<   rZ  r\  r]  s        r   Ú*test_quoted_field_with_whitepace_delimiterr`    s³   € å
ØÐLÐL�aÐLÐL 1ÐLÐL¨QÐLÐL°aÐLÐLÀÐLÐLÐLñô €Cõ ŒH�l T­2¬:Ð$6Ð7Ñ8Ô8€EÝŒxØ@Ð@Ð@Èðñ ô €Hõ Œ*�S °ÀÐ
CÑ
CÔ
C€CÝ�s˜HÑ%Ô%Ð%Ð%Ð%r   c                  ó¾  — t          d¦  «        } t          j        ddt          j        fdt          j        fg¦  «        }t	          j        t          d¬¦  «        5  t          j        | |d¬¦  «         d	d	d	¦  «         n# 1 swxY w Y   |                      d
¦  «         t          j	        dg|¬¦  «        }t          j        | |dd¬¦  «        }t          ||¦  «         d	S )z1Support for quoted fields is disabled by default.z"lat,long", 45, 30
)r,   ÚU24r-   r/   z.the dtype passed requires 3 columns but 4 wererx   r   rf   Nr   )zlat,longg     €F@g      >@r<   rQ  rZ  )r   r   r=   r?   r~   r   r€   r   Úseekr   r	   )r(   r=   r   r¦   s       r   Útest_quote_support_defaultrd  +  s  € å
Ð)Ñ
*Ô
*€CÝŒH�m d­B¬JÐ%7¸$ÅÄ
Ð9KÐLÑMÔM€Eå	Œ•zØBð
Dñ 
Dô 
Dð 4ð 4å
Œ
�3˜e¨sÐ3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð
 ‡H‚HˆQ�K„K€KÝŒxÐ/Ð0¸Ð>Ñ>Ô>€Hå
Œ*�S °ÀÐ
DÑ
DÔ
D€CÝ�s˜HÑ%Ô%Ð%Ð%Ð%s   ÁA>Á>BÂBc                  ó¾   — t          d¦  «        } d}t          j        t          |¬¦  «        5  t	          j        | dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nú1,2
3,4z,.*must be a single unicode character or Nonerx   r   z''©r   r[  ©r   r~   r   r†   r   r   )r(   r­   s     r   Útest_quotechar_multichar_errorri  <  s¦   € õ �:Ñ
Ô
€CØ
9€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð 7ð 7Ý
Œ
�3 #°Ð6Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s   ­AÁAÁAc                  ó´  — t          d¦  «        } d}t          j        t          |¬¦  «        5  t	          j        | ddd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          j        | ddd	gd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        | dd
d¬¦  «        }t          |ddgddgg¦  «         d S )Nrf  zWwhen multiple comments or a multi-character comment is given, quotes are not supported.rx   r   Ú123rQ  )r   r    r[  r   ú%)r   rR  rC   r   rD   ro   )r   r~   r   r€   r   r   r   )r(   r­   r¦   s      r   Ú'test_comment_multichar_error_with_quoterm  E  s„  € Ý
�:Ñ
Ô
€Cð	$ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð Fð FÝ
Œ
�3 #°ÀÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Få	Œ•z¨Ð	-Ñ	-Ô	-ð Kð KÝ
Œ
�3 #°°c°
ÀcÐJÑJÔJÐJðKð Kð Kñ Kô Kð Kð Kð Kð Kð Kð Køøøð Kð Kð Kð Kõ Œ*�S C°&ÀCÐ
HÑ
HÔ
H€CÝ�˜˜1�v  1˜vÐ&Ñ'Ô'Ð'Ð'Ð's#   ­AÁAÁAÁ8BÂB#Â&B#c                  ó  — t          d¦  «        } t          j        dt          j        fdt          j        fddt          j        fg¦  «        }t          j        g d¢|¬¦  «        }t          j        | |dd	¬
¦  «        }t          ||¦  «         d S )Nz{1000;2.4;'alpha';-34
2000;3.1;'beta';29
3500;9.9;'gamma';120
4090;8.1;'delta';0
5001;4.4;'epsilon';-99
6543;7.8;'omega';-1
r,   r-   r.   r1   r2   r<   rF   rR  rZ  )	r   r   r=   r>   r?   r@   r   r   r	   )r   r=   r   r¦   s       r   Ú!test_structured_dtype_with_quotesro  U  s¥   € Ýð$ñ	ô 	€Dõ ŒHØ
•”	Ð	˜T¥2¤:Ð.°¸tÅRÄW¸oÐNñô €Eõ Œxð	
ð 	
ð 	
ð ð
ñ 
ô 
€Hõ Œ*�T °#ÀÐ
EÑ
EÔ
E€CÝ�s˜HÑ%Ô%Ð%Ð%Ð%r   c                  ó¤   — t          d¦  «        } t          j        g d¢d¬¦  «        }t          j        | ddd¬¦  «        }t	          ||¦  «         d S )Nz	1

"4"
""©Ú1Ú4r%  ÚU1r<   r   rQ  ©r   r=   r[  ©r   r   r   r   r   rÌ   s      r   Útest_quoted_field_is_not_emptyrw  r  sU   € Ý
�>Ñ
"Ô
"€CÝŒx˜˜˜¨dÐ3Ñ3Ô3€HÝ
Œ*�S C¨t¸sÐ
CÑ
CÔ
C€CÝ��hÑÔÐÐÐr   c                  ó¤   — t          d¦  «        } t          j        g d¢d¬¦  «        }t          j        | ddd¬¦  «        }t	          ||¦  «         d S )Nz1

"4"
"rq  rt  r<   r   rQ  ru  rv  rÌ   s      r   Ú(test_quoted_field_is_not_empty_nonstrictry  x  sW   € õ �=Ñ
!Ô
!€CÝŒx˜˜˜¨dÐ3Ñ3Ô3€HÝ
Œ*�S C¨t¸sÐ
CÑ
CÔ
C€CÝ��hÑÔÐÐÐr   c                  ó    — t          d¦  «        } t          j        dd¬¦  «        }t          j        | ddd¬¦  «        }t	          ||¦  «         d S )Nz"Hello, my name is ""Monty""!"zHello, my name is "Monty"!ÚU40r<   r   rQ  rZ  rv  rÌ   s      r   Ú"test_consecutive_quotechar_escapedr|  €  sS   € Ý
Ð3Ñ
4Ô
4€CÝŒxÐ4¸EÐBÑBÔB€HÝ
Œ*�S °ÀÐ
DÑ
DÔ
D€CÝ��hÑÔÐÐÐr   r   )r%  z


z# 1 2 3
# 4 5 6
r‰   )r   rC   r   rÀ   ©rC   r   rD   c                 óH  — |�d}n|dk    rd}nd}t          | ¦  «        }t          j        t          d¬¦  «        5  t	          j        |||¬¦  «        }ddd¦  «         n# 1 swxY w Y   |j        |k    sJ ‚t          d	¬
¦  «        5 }|                     | ¦  «         | 	                    d¦  «         t          j        t          d¬¦  «        5  t	          j        |||¬¦  «        }ddd¦  «         n# 1 swxY w Y   |j        |k    sJ ‚	 ddd¦  «         dS # 1 swxY w Y   dS )zDCheck that a UserWarning is emitted when no data is read from input.N)r   rD   r   rR   )r   úinput contained no datarx   )r‰   rÀ   Úw)Úmoder   )
r   r~   ÚwarnsÚUserWarningr   r   r‹   r   Úwriterc  )r   r‰   rÀ   Úexpected_shaper(   r¦   Úfhs          r   Útest_warn_on_no_datar‡  ‡  sý  € ð
 ÐØˆˆØ	�!ŠˆØˆˆàˆå
�4‰.Œ.€CÝ	Œ•kÐ)BÐ	CÑ	CÔ	Cð <ð <ÝŒj˜ E°7Ð;Ñ;Ô;ˆð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <àŒ9˜Ò&Ð&Ð&Ð&å	 Ð	%Ñ	%Ô	%ð +¨Ø
�Š�‰ŒˆØ
�Š�‰
Œ
ˆ
ÝŒ\�+Ð-FÐGÑGÔGð 	@ð 	@Ý”*˜S¨°wÐ?Ñ?Ô?ˆCð	@ð 	@ð 	@ñ 	@ô 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@øøøð 	@ð 	@ð 	@ð 	@àŒy˜NÒ*Ð*Ð*Ð*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +sH   »AÁA#Á&A#ÂADÃC1Ã%DÃ1C5	Ã5DÃ8C5	Ã9DÄDÄDrS   c                 ó¼   — d}t          |¦  «        }t          j        t          d¬¦  «        5  t	          j        || ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz1 2 3
4 5 6r  rx   )rB   )r   r~   r‚  rƒ  r   r   )rB   r   r(   s      r   Útest_warn_on_skipped_datar‰  Ÿ  s¡   € à€DÝ
�4‰.Œ.€CÝ	Œ•kÐ)BÐ	CÑ	CÔ	Cð +ð +Ý
Œ
�3 Ð*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   ­AÁAÁAr  )rª   rC   )Úu2rC   )Úi4é )Úu4rŒ  )Úi8ì   
 )Úu8r�  )Úfloat16g#È÷{ ?)rï   g‚Æ.  7)Ú	complex64y‚Æ.  7ü‰³`F$:)r?   g»Ú
complex128ywfUD3":»)Ú
longdoubler�  Úclongdoubleyp`P@0 ðB ²B)ÚU2u   ð�ˆƒò ¬ŒÚswapTFc                 ó@  — t          j        | ¦  «        } d|› d�g}|r|                      ¦   «         } t          j        dd| fgd¬¦  «        }|j        d         d         dk    sJ ‚t          j        ||dd¬	¦  «        }|d         |                      |¦  «        k    sJ ‚d S )
Nzx,rù   )r)   ÚS1rK   Frm   rC   r   r¤   )r   r=   ÚnewbyteorderÚfieldsr   rÿ   )r=   r  r—  r   Úfull_dtr¦   s         r   Útest_byteswapping_and_unalignedr�  §  sº   € õ( ŒH�U‰OŒO€EØ�ˆNˆNˆNÐ€DØð %Ø×"Ò"Ñ$Ô$ˆÝŒh˜ c¨5 \Ð2¸%Ð@Ñ@Ô@€GàŒ>˜#Ô˜qÔ! QÒ&Ð&Ð&Ð&Ý
Œ*�T °CØð!ñ !ô !€CàˆsŒ8�u—z’z %Ñ(Ô(Ò(Ð(Ð(Ð(Ð(Ð(r   ÚefdFDú?c                 óÂ   — t          d¦  «        }t          j        || dd¬¦  «        }t          |t          j        ddg¦  «                             | ¦  «        ¦  «         d S )Nu    3 ,"â€¯2
"r   rQ  rZ  rD   r   )r   r   r   r	   r   Úastyper¥   s      r   Ú!test_unicode_whitespace_strippingr¢  Ç  s\   € õ Ð$Ñ
%Ô
%€CÝ
Œ*�S °ÀÐ
DÑ
DÔ
D€CÝ�s�BœH a¨ VÑ,Ô,×3Ò3°EÑ:Ô:Ñ;Ô;Ð;Ð;Ð;r   ÚFDc                 ó¸   — d}||                      dd¦  «        g}t          j        || d¬¦  «        }t          |t          j        g d¢gdz  ¦  «        ¦  «         d S )Nz0 1 , 2+3j , ( 4+5j ), ( 6+-7j )  , 8j , ( 9j ) 
r“   u   â€¯r   rf   )rC   y       @      @y      @      @y      @      Ày               @y              "@r   )r&   r   r   r	   r   )r=   Úliner   r¦   s       r   Ú)test_unicode_whitespace_stripping_complexr¦  Ó  sf   € ð ?€DØ�$—,’,˜s HÑ-Ô-Ð.€DÝ
Œ*�T °#Ð
6Ñ
6Ô
6€CÝ�s�BœHÐ&IÐ&IÐ&IÐ%JÈQÑ%NÑOÔOÑPÔPÐPÐPÐPr   r   )z1 +2jz1+ 2jz1+2 jz1+-+3z(1jz(1z(1+2jz1+2j)c                 ó    — t          j        t          ¦  «        5  t          j        |dz   g| d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrù   r   rf   r}   )r=   r   s     r   Útest_bad_complexr¨  Ý  s•   € õ 
Œ•zÑ	"Ô	"ð ?ð ?Ý
Œ
�E˜D‘L�>¨¸#Ð>Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?s   šAÁAÁ
AÚefgdFDGc                 óô   — |                       ¦   «         dk    rt          j        d¦  «         t          j        t          ¦  «        5  t          j        dg| dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚgz0longdouble/clongdouble assignment may misbehave.ú1 r   rQ  rZ  )Úlowerr~   Úxfailr   r€   r   r   r<   s    r   Útest_nul_character_errorr¯  ç  sË   € ð ‡{‚{�}„}˜ÒÐÝŒÐGÑHÔHÐHÝ	Œ•zÑ	"Ô	"ð Ið IÝ
Œ
�G�9 E°SÀCÐHÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið Ið Is   ÁA-Á-A1Á4A1c                 óz  — | dk    rt          j        d¦  «         | dv rt          j        d¦  «         t          d¦  «        t	          d¦  «        cxk    rt          d¦  «        cxk    rdk    sn J ‚t          j        t          ¦  «        5  t          j	        dg| ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	NÚez5half assignment currently uses Python float converterÚeGz2clongdouble assignment is buggy (uses `complex`?).Ú1_1rr   z1_1
r<   )
r~   Úskipr®  rh   rg   Úcomplexr   r€   r   r   r<   s    r   Útest_no_thousands_supportr¶  ô  s  € ð �‚|€|ÝŒÐKÑLÔLÐLØ�€}€}ÝŒÐIÑJÔJÐJåˆu‰:Œ:�˜u™œÐ=Ð=Ò=Ð=­°©¬Ð=Ð=Ò=Ð=¸2Ò=Ð=Ð=Ð=Ð=Ð=Ý	Œ•zÑ	"Ô	"ð +ð +Ý
Œ
�G�9 EÐ*Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   ÂB0Â0B4Â7B4z1,2
z2
,3
z2,3
c                 óž   — d}t          j        t          |¬¦  «        5  t          j        | d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz7Found an unquoted embedded newline within a single linerx   r   r   r}   )r   r­   s     r   Útest_bad_newline_in_iteratorr¸    s˜   € ð D€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð (ð (Ý
Œ
�4 3Ð'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   žAÁAÁ	Az2,3
z'2
',3
z'2',3
z'2
',3
c                 ó`   — t          j        | dd¬¦  «        }t          |ddgddgg¦  «         d S )Nr   rR  rg  rb   rc   r   )r   r   r	   )r   r¦   s     r   Útest_good_newline_in_iteratorrº    s=   € õ Œ*�T S°CÐ
8Ñ
8Ô
8€CÝ�s˜b "˜X¨¨B xÐ0Ñ1Ô1Ð1Ð1Ð1r   Únewline)rù   úú
c                 ó    ‡ — g d¢}ˆ fd„|D ¦   «         }t          j        |t          dd¬¦  «        }t          |dd‰ › �gdd	‰ › d�gg¦  «         d S )
N)z1,"2
"
z3,"4
z1"
c                 ó<   •— g | ]}|                      d ‰¦  «        ‘ŒS )rù   )r&   )r  rû   r»  s     €r   r  z2test_universal_newlines_quoted.<locals>.<listcomp>$  s'   ø€ Ð7Ð7Ð7¨3ˆC�KŠK˜˜gÑ&Ô&Ð7Ð7Ð7r   r   rQ  rZ  rr  Ú2Ú3rs  )r   r   r>  r	   )r»  r   r¦   s   `  r   Útest_universal_newlines_quotedrÂ    st   ø€ ð
 +Ð*Ð*€DØ7Ð7Ð7Ð7°$Ð7Ñ7Ô7€DÝ
Œ*�T¥°3À#Ð
FÑ
FÔ
F€CÝ�s˜c = w = =Ð1°C¸¸W¸¸¸Ð3HÐIÑJÔJÐJÐJÐJr   c                  óÞ   — t          j        ddgd¬¦  «        } t          | g d¢g d¢g¦  «         t          j        ddgd	t          ¬
¦  «        } |                      ¦   «         g d¢g d¢gk    sJ ‚d S )Nz1 2 3
z4 5 6ú r   r}  )ro   rp   r   z1 ,2 ,3
z4 ,5 ,6r   rV   )r¬  z2 rÁ  )z4 z5 Ú6)r   r   r	   r>  Útolist)r¦   s    r   Útest_null_characterrÇ  )  s�   € å
Œ*�o }Ð5ÀÐ
HÑ
HÔ
H€CÝ�s˜Y˜Y˜Y¨	¨	¨	Ð2Ñ3Ô3Ð3õ Œ*Ð'¨Ð9Ø"­&ð2ñ 2ô 2€Cà�:Š:‰<Œ<Ð3Ð3Ð3Ð5LÐ5LÐ5LÐMÒMÐMÐMÐMÐMÐMr   c                  óÐ   —  G d„ d¦  «        } t          j        t          d¬¦  «        5  t          j         | ¦   «         t
          d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú:test_iterator_fails_getting_next_line.<locals>.BadSequencec                 ó   — dS )Nra   rÂ   ©Úselfs    r   Ú__len__zBtest_iterator_fails_getting_next_line.<locals>.BadSequence.__len__6  s   € Ø�3r   c                 ó@   — |dk    rt          d¦  «        ‚|› d|dz   › �S )Né2   úBad things happened!z, rC   )ÚRuntimeError)rÍ  Úitems     r   Ú__getitem__zFtest_iterator_fails_getting_next_line.<locals>.BadSequence.__getitem__9  s2   € Ø�rŠzˆzÝ"Ð#9Ñ:Ô:Ð:ØÐ(Ð(˜d Q™hÐ(Ð(Ð(r   N)Ú__name__Ú
__module__Ú__qualname__rÎ  rÔ  rÂ   r   r   ÚBadSequencerÊ  5  s2   € € € € € ð	ð 	ð 	ð	)ð 	)ð 	)ð 	)ð 	)r   rØ  rÑ  rx   r   rf   )r~   r   rÒ  r   r   rh   )rØ  s    r   Ú%test_iterator_fails_getting_next_linerÙ  4  sÃ   € ð)ð )ð )ð )ð )ñ )ô )ð )õ 
Œ•|Ð+AÐ	BÑ	BÔ	Bð <ð <Ý
Œ
�;�;‘=”=­°sÐ;Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   ©%AÁAÁ"Ac                   ó~   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Ze	j
                             dg d¢¦  «        d	„ ¦   «         Zd
S )ÚTestCReaderUnitTestsc                 óø   — t          j        t          d¬¦  «        5  t          j        j                             t          ¦   «         t          j        d¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz.*readrx   r-  T©r=   Úfilelike)	r~   r   ÚAttributeErrorr   Ú_coreÚ_multiarray_umathÚ_load_from_fileliker>  r=   rÌ  s    r   Útest_not_an_filelikez)TestCReaderUnitTests.test_not_an_filelikeE  s°   € ÝŒ]�>°Ð:Ñ:Ô:ð 	>ð 	>ÝŒHÔ&×:Ò:Ý‘”¥¤¨¡¤¸ð ;ñ >ô >ð >ð	>ð 	>ð 	>ñ 	>ô 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ð 	>øøøð 	>ð 	>ð 	>ð 	>ð 	>ð 	>ó   œAA/Á/A3Á6A3c                 ó
  —  G d„ d¦  «        }t          j        t          d¬¦  «        5  t          j        j                              |¦   «         t          j        d¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdZd„ ZdS )úBTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLiker   c                 óZ   — | xj         dz  c_         | j         dk    rt          d¦  «        ‚dS )NrC   é   úBad bad bad!z1,2,3
)ÚcounterrÒ  ©rÍ  Úsizes     r   ÚreadzGTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLike.readQ  s2   € Ø�” Ñ!�”Ø”< "Ò$Ð$Ý& ~Ñ6Ô6Ð6Ø �yr   N©rÕ  rÖ  r×  rë  rî  rÂ   r   r   ÚBadFileLikerç  N  s(   € € € € € ØˆGð!ð !ð !ð !ð !r   rð  rê  rx   r-  TrÝ  )r~   r   rÒ  r   rà  rá  râ  r=   ©rÍ  rð  s     r   Útest_filelike_read_failsz-TestCReaderUnitTests.test_filelike_read_failsJ  só   € ð	!ð 	!ð 	!ð 	!ð 	!ñ 	!ô 	!ð 	!õ Œ]�<¨~Ð>Ñ>Ô>ð 	Cð 	CÝŒHÔ&×:Ò:Ø�‘”¥R¤X¨c¡]¤]¸Tð ;ñ Cô Cð Cð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð 	Cð 	Có   ©AA8Á8A<Á?A<c                 ó
  —  G d„ d¦  «        }t          j        t          d¬¦  «        5  t          j        j                              |¦   «         t          j        d¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó   — e Zd ZdZd„ ZdS )ú@TestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLiker   c                 ó   — dS )NiÒ  rÂ   rì  s     r   rî  zETestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLike.readc  s   € Ø�tr   Nrï  rÂ   r   r   rð  rö  `  s(   € € € € € ØˆGðð ð ð ð r   rð  r6  rx   r-  TrÝ  )r~   r   r†   r   rà  rá  râ  r=   rñ  s     r   Útest_filelike_bad_readz+TestCReaderUnitTests.test_filelike_bad_read[  sý   € ð
	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	õ Œ]�9ØBðDñ Dô Dð 	Cð 	CåŒHÔ&×:Ò:Ø�‘”¥R¤X¨c¡]¤]¸Tð ;ñ Cô Cð Cð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cró  c                 óø   — t          j        t          d¬¦  «        5  t          j        j                             t          ¦   «         t          j        d¦  «        d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz/error reading from object, expected an iterablerx   r-  FrÝ  ©	r~   r   r†   r   rà  rá  râ  r>  r=   rÌ  s    r   Útest_not_an_iterz%TestCReaderUnitTests.test_not_an_iterk  sº   € ÝŒ]�9ØKðMñ Mô Mð 	?ð 	?åŒHÔ&×:Ò:Ý‘”¥¤¨¡¤¸ð ;ñ ?ô ?ð ?ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð 	?ð 	?rä  c                 óÔ   — t          j        t          d¬¦  «        5  t          j        j                             t          ¦   «         dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzinternal error: dtype mustrx   r-  FrÝ  )r~   r   r†   r   rà  rá  râ  r>  rÌ  s    r   Útest_bad_typez"TestCReaderUnitTests.test_bad_typeq  s©   € ÝŒ]�9Ð,HÐIÑIÔIð 	5ð 	5ÝŒHÔ&×:Ò:Ý‘” ¨eð ;ñ 5ô 5ð 5ð	5ð 	5ð 	5ñ 	5ô 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5ð 	5øøøð 	5ð 	5ð 	5ð 	5ð 	5ð 	5s   œ4AÁA!Á$A!c                 óú   — t          j        t          d¬¦  «        5  t          j        j                             t          ¦   «         t          j        d¦  «        dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzencoding must be a unicoderx   r-  Fé{   )r=   rÞ  rÝ   rú  rÌ  s    r   Útest_bad_encodingz&TestCReaderUnitTests.test_bad_encodingv  sÊ   € ÝŒ]�9Ð,HÐIÑIÔIð 	Mð 	MÝŒHÔ&×:Ò:Ý‘”¥¤¨¡¤¸Èð ;ñ Mô Mð Mð	Mð 	Mð 	Mñ 	Mô 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Mð 	Møøøð 	Mð 	Mð 	Mð 	Mð 	Mð 	Ms   œAA0Á0A4Á7A4r»  )r¼  rù   r½  c                 ó
  — t          d                     d|¦  «        d¬¦  «        }t          j        j                             |t          j        d¦  «        dddd	¬
¦  «        }t          |d d …df         dd|› �ddg¦  «         d S )Nz0
1
"2
"
3
4 #
rù   r%  )r»  ÚU10TrQ  r   rC   )r=   rÞ  Úquoter   Ú	skiplinesr   rr  rÀ  rÁ  z4 )r   r&   r   rà  rá  râ  r=   r	   )rÍ  r»  r   r¦   s       r   Útest_manual_universal_newlinesz3TestCReaderUnitTests.test_manual_universal_newlines{  s˜   € õ Ð/×7Ò7¸¸gÑFÔFØ "ð$ñ $ô $ˆõ ŒhÔ(×<Ò<Ø�œ ™œ°$Ø˜s¨að =ñ 1ô 1ˆõ 	˜3˜q˜q˜q !˜tœ9 s¨M°¨M¨M¸3ÀÐ&EÑFÔFÐFÐFÐFr   N)rÕ  rÖ  r×  rã  rò  rø  rû  rý  r   r~   ÚmarkÚparametrizer  rÂ   r   r   rÛ  rÛ  B  s±   € € € € € ð>ð >ð >ð
Cð Cð Cð"Cð Cð Cð ?ð ?ð ?ð5ð 5ð 5ð
Mð Mð Mð
 „[×Ò˜YÐ(<Ð(<Ð(<Ñ=Ô=ðGð Gñ >Ô=ðGð Gð Gr   rÛ  c                  ó¶   — t          j        t          d¬¦  «        5  t          j        t          d¦  «        dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nú".*control characters.*incompatiblerx   ú1, 2, 3r   r   rG  rÂ   r   r   Ú'test_delimiter_comment_collision_raisesr  ‹  s¯   € Ý	Œ•yÐ(LÐ	MÑ	MÔ	Mð Eð EÝ
Œ
•8˜IÑ&Ô&°#ÀÐDÑDÔDÐDðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð Eð Eó   œ%AÁAÁAc                  ó¶   — t          j        t          d¬¦  «        5  t          j        t          d¦  «        dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr	  rx   r
  r   rg  rG  rÂ   r   r   Ú)test_delimiter_quotechar_collision_raisesr  �  s¯   € Ý	Œ•yÐ(LÐ	MÑ	MÔ	Mð Fð FÝ
Œ
•8˜IÑ&Ô&°#ÀÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð Fð Fr  c                  ó¶   — t          j        t          d¬¦  «        5  t          j        t          d¦  «        dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr	  rx   ú1 2 3r   )r    r[  rG  rÂ   r   r   Ú'test_comment_quotechar_collision_raisesr  •  s¯   € Ý	Œ•yÐ(LÐ	MÑ	MÔ	Mð Cð CÝ
Œ
•8˜GÑ$Ô$¨s¸cÐBÑBÔBÐBðCð Cð Cñ Cô Cð Cð Cð Cð Cð Cð Cð Cøøøð Cð Cð Cð Cð Cð Cr  c                  óº   — t          j        t          d¬¦  «        5  t          j        t          d¦  «        dddg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz0Comment characters.*cannot include the delimiterrx   r
  r   r   r   rG  rÂ   r   r   Ú5test_delimiter_and_multiple_comments_collision_raisesr  š  s¼   € Ý	ŒÝÐKð
ñ 
ô 
ð Lð Lõ 	Œ
•8˜IÑ&Ô&°#ÀÀcÀ
ÐKÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lð Lð Ls   œ'AÁAÁAc                 ó”  — t          j        t          d¬¦  «        5  t          j        t          d| › d| › d| › d| › d�	¦  «        | ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        t          d| › d| › d| › d| › d�	¦  «        | ¬	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nr	  rx   rr  rÀ  z3
4Ú5z6
©r    ©r[  rG  )r’   s    r   Ú,test_collision_with_default_delimiter_raisesr  ¡  s�  € õ 
Œ•yÐ(LÐ	MÑ	MÔ	Mð Ið IÝ
Œ
•8Ð9 Ð9Ð9 RÐ9Ð9¨RÐ9Ð9°"Ð9Ð9Ð9Ñ:Ô:ÀRÐHÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Iå	Œ•yÐ(LÐ	MÑ	MÔ	Mð Jð JÝ
Œ
•8Ð9 Ð9Ð9 RÐ9Ð9¨RÐ9Ð9°"Ð9Ð9Ð9Ñ:Ô:ÀbÐIÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jð Jð Js#   œ1AÁAÁ AÁ?1B=Â=CÃCÚnl)rù   r¼  c                 ó  — t          d| › d| › d| › | › d| › d| › d| › | › �¦  «        }d}t          j        t          |¬¦  «        5  t	          j        || ¬	¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          j        || ¬
¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t	          j        || ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrr  rÀ  rÁ  rs  r  rÅ  z&control character.*cannot be a newlinerx   r   r  r  rh  )r  r(   r­   s      r   Ú%test_control_character_newline_raisesr  ²  sÛ  € å
Ð<�rÐ<Ð<˜BÐ<Ð< Ð< RÐ<Ð<¨"Ð<Ð<¨rÐ<Ð<°BÐ<¸Ð<Ð<Ñ
=Ô
=€CØ
2€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð &ð &Ý
Œ
�3 "Ð%Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &å	Œ•y¨Ð	,Ñ	,Ô	,ð %ð %Ý
Œ
�3 Ð$Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å	Œ•y¨Ð	,Ñ	,Ô	,ð &ð &Ý
Œ
�3 "Ð%Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s6   ÁA&Á&A*Á-A*ÂB/Â/B3Â6B3ÃC9Ã9C=Ä C=)Úgeneric_dataÚ
long_datumÚunitless_dtyper  )z2012-03z
2013-01-15ÚM8zM8[D])ú
spam-a-lotÚtis_but_a_scratchr  ÚU17Únrows)rq   rø   é`ê  c           	      óf  — | g|z  |gz   }t          j        ||¬¦  «        }t          |¦  «        |dz   k    sJ ‚t          |¦  «        t          |¦  «        k    sJ ‚t          d                     |¦  «        ¦  «        }t          j        ||¬¦  «        }t          |¦  «        t          |¦  «        k    sJ ‚|j        |j        k    sJ ‚t          ||¦  «         t          ¦   «         \  }	}
t          j
        |	¦  «         t          |
d¦  «        5 }|                     d                     |¦  «        dz   ¦  «         ddd¦  «         n# 1 swxY w Y   t          j        |
|¬¦  «        }t          |¦  «        t          |¦  «        k    sJ ‚|j        |j        k    sJ ‚t          ||¦  «         t          j        |
|t          |dz  ¦  «        ¬¦  «        }t          j        |
¦  «         t          |¦  «        t          |dz  ¦  «        k    sJ ‚t          ||dt          |dz  ¦  «        …         ¦  «         dS )z€Check that the correct unit (e.g. month, day, second) is discovered from
    the data when a user specifies a unitless datetime.r<   rC   rù   r€  Nr   )r=   rv   )r   r   Úlenr   r  r   r=   r   r   ÚosÚcloseÚopenr„  rh   Úremove)r  r  r  r  r#  r   r   r(   r)   ÚfdÚfnamer†  s               r   Útest_parametric_unit_discoveryr-  ¾  sC  € ð ˆ>˜EÑ! Z LÑ0€DÝŒx˜ NÐ3Ñ3Ô3€HÝˆt‰9Œ9˜ ™	Ò!Ð!Ð!Ð!Ýˆt‰9Œ9�˜H™œÒ%Ð%Ð%Ð%õ �4—9’9˜T‘?”?Ñ
#Ô
#€CÝ
Œ
�3˜nÐ-Ñ-Ô-€AÝˆq‰6Œ6•S˜‘]”]Ò"Ð"Ð"Ð"ØŒ7�h”nÒ$Ð$Ð$Ð$Ý��HÑÔÐõ ‘	”	�I€BˆÝ„HˆR�L„L€LÝ	ˆe�SÑ	Ô	ð )˜RØ
�Š�—’˜4‘” 4Ñ'Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ 	Œ
�5 Ð/Ñ/Ô/€AÝˆq‰6Œ6•S˜‘]”]Ò"Ð"Ð"Ð"ØŒ7�h”nÒ$Ð$Ð$Ð$Ý��HÑÔÐå
Œ
�5 ½¸UÀQ¹Y¹¼ÐHÑHÔH€AÝ„IˆeÑÔÐÝˆq‰6Œ6•S˜ ™‘^”^Ò#Ð#Ð#Ð#Ý��H˜_�c %¨!¡)™nœn˜_Ô-Ñ.Ô.Ð.Ð.Ð.s   Ä,EÅEÅEc                  ó–  — dgdz  dgz   } t          j        dgdz  dgz   d¬¦  «        }d„ }t          d                     | ¦  «        ¦  «        }t          j        |d	|¬
¦  «        }|j        |j        k    sJ ‚t          ||¦  «         t          ¦   «         \  }}t          j	        |¦  «         t          |d¦  «        5 }|                     d                     | ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |d	|¬
¦  «        }t          j        |¦  «         |j        |j        k    sJ ‚t          ||¦  «         d S )Nr   r$  ÚXXXtis_but_a_scratchr!  r"  r<   c                 ó,   — |                       d¦  «        S r±   )Úremoveprefixrµ   s    r   r·   z>test_str_dtype_unit_discovery_with_converter.<locals>.<lambda>î  s   € �Q—^’^ EÑ*Ô*€ r   rù   r  r=  r€  )r   r   r   r  r   r=   r   r   r'  r(  r)  r„  r*  )r   r   r¼   r(   r)   r+  r,  r†  s           r   Ú,test_str_dtype_unit_discovery_with_converterr2  é  s‹  € Øˆ>˜EÑ!Ð%;Ð$<Ñ<€DÝŒxØ	ˆ˜ÑÐ"5Ð!6Ñ6¸eðñ ô €Hð +Ð*€Dõ �4—9’9˜T‘?”?Ñ
#Ô
#€CÝ
Œ
�3˜c¨dÐ3Ñ3Ô3€AØŒ7�h”nÒ$Ð$Ð$Ð$Ý��HÑÔÐõ ‘	”	�I€BˆÝ„HˆR�L„L€LÝ	ˆe�SÑ	Ô	ð "˜RØ
�Š�—’˜4‘”Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "å
Œ
�5 °Ð5Ñ5Ô5€AÝ„IˆeÑÔÐØŒ7�h”nÒ$Ð$Ð$Ð$Ý��HÑÔÐÐÐs   Â<)C1Ã1C5Ã8C5c                  ó¼  — t          j        t          d¬¦  «        5  t          j        t          d¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        t          d¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        t          d¦  «        d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          j        t          d¦  «        d	dg¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
Nz#Text reading control character mustrx   r  r%  r   r  z"comments cannot be an empty stringr  r   )r~   r   r†   r   r   r   r€   rÂ   r   r   Útest_control_character_emptyr4    s7  € õ 
Œ•yÐ(MÐ	NÑ	NÔ	Nð 4ð 4Ý
Œ
•8˜GÑ$Ô$°Ð3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4å	Œ•yÐ(MÐ	NÑ	NÔ	Nð 4ð 4Ý
Œ
•8˜GÑ$Ô$°Ð3Ñ3Ô3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4å	Œ•zÐ)MÐ	NÑ	NÔ	Nð 3ð 3Ý
Œ
•8˜GÑ$Ô$¨rÐ2Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3å	Œ•zÐ)MÐ	NÑ	NÔ	Nð :ð :Ý
Œ
•8˜GÑ$Ô$°°R¨yÐ9Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :ð :ð :sG   œ$AÁAÁAÁ2$B"Â"B&Â)B&Ã$C8Ã8C<Ã?C<Ä&EÅEÅEc                  ór   — t          j        t          d¦  «        dd¬¦  «        } t          | g d¢¦  «         dS )z<Byte control characters (comments, delimiter) are supported.z#header
1,2,3ó   #ó   ,)r    r   r}  N)r   r   r   r   )r)   s    r   Ú test_control_characters_as_bytesr8    s;   € å
Œ
•8Ð,Ñ-Ô-¸ÈÐMÑMÔM€AÝ��I�I�IÑÔÐÐÐr   zignore::UserWarningc                  ó  — t          j        dgdt          ¬¦  «        } t          | ¦  «        dk    sJ ‚t	          dd¦  «        D ];}t          j        d|z  gdt          d¬¦  «        } t          | ¦  «        |dz   k    sJ ‚Œ<d S )	Nr%  r   rV   r   rC   i   rq   )r   r=   rv   )r   r   ró   r&  r+  )r¦   r-  s     r   Útest_field_growing_casesr:    sŒ   € õ Œ*�b�T SµÐ
6Ñ
6Ô
6€CÝˆs‰8Œ8�qŠ=ˆ=ˆ=ˆ=å�1�d‰^Œ^ð !ð !ˆÝŒj˜# ™'˜¨c½ÈÐLÑLÔLˆÝ�3‰xŒx˜1˜q™5Ò Ð Ð Ð Ð ð!ð !r   Únmax)r<  rø   iØÖ  r$  c                 ó4  — d}dg|z  }t          d                     |¦  «        ¦  «        }t          j        |t          d| ¬¦  «        }t          |¦  «        | k    sJ ‚t          ¦   «         \  }}t          j        |¦  «         t          |d¦  «        5 }| 
                    d                     |¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        |t          d| ¬¦  «        }t          j        |¦  «         t          |¦  «        | k    sJ ‚d S )Nr$  za 0.5 1rù   r“   r¤   r€  )r   r  r   r   Ústrr&  r   r'  r(  r)  r„  r*  )r;  Úfile_lengthr   r(   r¦   r+  r,  r†  s           r   Ú test_maxrows_exceeding_chunksizer?    s<  € ð €Kð ˆ;˜Ñ$€DÝ
�4—9’9˜T‘?”?Ñ
#Ô
#€CÝ
Œ*�S¥¨s¸TÐ
BÑ
BÔ
B€CÝˆs‰8Œ8�tÒÐÐÐõ ‘	”	�I€BˆÝ„HˆR�L„L€LÝ	ˆe�SÑ	Ô	ð "˜RØ
�Š�—’˜4‘”Ñ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "å
Œ*�U¥#°¸tÐ
DÑ
DÔ
D€CÝ„IˆeÑÔÐÝˆs‰8Œ8�tÒÐÐÐÐÐs   Â)CÃCÃCÚnskip)r   r<  i90  rø   i3	 i † c                 óŒ  — d}d                      d„ t          d|dz   ¦  «        D ¦   «         ¦  «        }t          d||z
  ¦  «        }t          j        |dz   |dz   |z   ¦  «                             t          ¦  «        }t          |¦  «        }t          j        |dd|d¬¦  «        }t          |¦  «        |k    sJ ‚t          ||d d …d	f         ¦  «         | d
z  }|                     |¦  «         t          |¦  «        }	t          j        |	dd|d¬¦  «        }t          |¦  «        |k    sJ ‚t          ||d d …d	f         ¦  «         d S )Ni°­ rù   c              3   ó    K  — | ]	}|› d �V — Œ
dS )z a 0.5 1NrÂ   )r  r-  s     r   ú	<genexpr>zEtest_skiprow_exceeding_maxrows_exceeding_chunksize.<locals>.<genexpr>9  s(   è è € ÐGÐG¨˜�^�^�^ÐGÐGÐGÐGÐGÐGr   rC   r$  r=  r“   )r=   r   rB   rv   r   ztest_data.txt)r  r+  Úminr   Úaranger¡  r=  r   r   r&  r	   r„  )
Útmpdirr@  r>  r   Úexpected_lengthr   r(   r¦   Útmp_filer,  s
             r   Ú2test_skiprow_exceeding_maxrows_exceeding_chunksizerI  4  sN  € ð €KØ�9Š9ÐGÐG­U°1°kÀA±oÑ-FÔ-FÐGÑGÔGÑGÔG€DÝ˜% ¨uÑ!4Ñ5Ô5€OÝŒy˜ ™ E¨A¡I°Ñ$?Ñ@Ô@×GÒGÍÑLÔL€Hõ �4‰.Œ.€CÝ
Œ*�S °¸uÈuÐ
UÑ
UÔ
U€CÝˆs‰8Œ8�Ò&Ð&Ð&Ð&å�x  Q Q Q¨ T¤Ñ+Ô+Ð+ð ˜Ñ'€HØ‡N‚N�4ÑÔÐÝ�‰MŒM€EÝ
Œ*�U %°3ÀÐQVÐ
WÑ
WÔ
W€CÝˆs‰8Œ8�Ò&Ð&Ð&Ð&å�x  Q Q Q¨ T¤Ñ+Ô+Ð+Ð+Ð+r   )mÚ__doc__r'  r?  Úior   Útempfiler   r   r~   Únumpyr   Únumpy.ma.testutilsr   Únumpy.testingr   r   r	   r   r  r  r*   rA   rH   rN   rY   r[   rk   rt   r‚   r‡   rŽ   r‘   r    r¢   rg   r>  r§   ÚskipifÚimplementationÚversionr=   r®   r½   rÃ   rÇ   rÍ   rÐ   rÖ   rã   rð   rö   rü   r  r  r  r  Ú	typecodesÚfilterwarningsr  r!  r’  r“  r'  r0  r3  r7  rA  rC  rH  rJ  rM  rO  r^  r`  rd  ri  rm  ro  rw  ry  r|  r‡  r‰  Úreprr�  r¢  r¦  r¨  r¯  r¶  r¸  rº  rÂ  rÇ  rÙ  rÛ  r  r  r  r  r  r  r-  r2  r4  r8  r:  r?  rI  rÂ   r   r   ú<module>rV     s=  ððð ð 
€	€	€	Ø 
€
€
€
Ø Ð Ð Ð Ð Ð Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0à €€€à Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CðBð Bð Bð  „×Ò˜Ð$LÐ$LÐ$LÑMÔMð:ð :ñ NÔMð:ð!ð !ð !ð@ „×Ò˜ \ \ \Ñ2Ô2ð/ð /ñ 3Ô2ð/ð*ð *ð *ðOð Oð Oð@ð @ð @ðLð Lð LðLð Lð Lð „×Ò˜Ð":Ñ;Ô;ð-ð -ñ <Ô;ð-ð „×Ò˜Ð":Ñ;Ô;ð.ð .ñ <Ô;ð.ð
 „×ÒØàØ#ðñô ðNð Nñô ðNð „×Ò˜Ð#CÐ#CÐ#CÑDÔDð,ð ,ñ EÔDð,ð
 „×ÒØðñ	ô 	ðð ñ	ô 	ðð ð ð ð „×Ò˜ 5¨& /Ñ2Ô2ðOð Oñ 3Ô2ðOð „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;à„×Ò˜ 8 2¤8¨D¡>¤>°8°2´8¸D±>´>Ð"BÑCÔCð4ð 4ñ DÔCñ;ô ;ð4ð ð  ð  ð0ð 0ð 0ð&(ð (ð (ðEð Eð Eð%ð %ð %ð „×Ò˜Ð3Ð3Ð3Ñ4Ô4Ø„×Ò˜Ð3Ð3Ð3Ñ4Ô4ð ð  ñ 5Ô4ñ 5Ô4ð ð ð  ð  ð ð  ð  ð ð  ð  ð$7ð 7ð 7ð „×Ò˜ )Ñ,Ô,ð.ð .ñ -Ô,ð.ð „×ÒØ%à	ˆhˆbŒh�t‰nŒnÐØ	ˆhˆbŒh�t‰nŒnÐðñô ð,ð ,ñô ð,ð ð  ð  ð&=ð =ð =ð „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;à„×Ò˜ "¤,¨|Ô"<Ñ=Ô=Ø„×ÒÐNÑOÔOð4ð 4ñ PÔOñ >Ô=ñ;ô ;ð4ð „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;à„×Ò˜ "¤,¨|Ô"<Ñ=Ô=Ø„×ÒÐNÑOÔOð4ð 4ñ PÔOñ >Ô=ñ;ô ;ð4ð
 „×Ò˜ 2¤<°´Ð"?Ñ@Ô@Ø„×Ò˜¨Ñ6Ô6ð	 ð 	 ñ 7Ô6ñ AÔ@ð	 ð ð  ð  ð ð  ð  ð7ð 7ð 7ð „×Ò˜Ð$Ð-EÐÑFÔFð*ð *ñ GÔFð*ð& „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;ð%ð %ñ;ô ;ð%ð „×Ò˜ ! e W¨bÐ!1Ñ2Ô2ð:ð :ñ 3Ô2ð:ð „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;ðKð Kñ;ô ;ðKð „×Ò˜¨Ñ0Ô0ð8ð 8ñ 1Ô0ð8ð<ð <ð <ð „×Ò˜˜oÑ.Ô.ð
&ð 
&ñ /Ô.ð
&ð „×Ò˜˜oÑ.Ô.ð
&ð 
&ñ /Ô.ð
&ð&ð &ð &ð" „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;ð7ð 7ñ;ô ;ð7ð(ð (ð (ð &ð &ð &ð: ð  ð  ð ð  ð  ð ð  ð  ð „×Ò˜Ð!EÑFÔFØ„×Ò˜ )Ñ,Ô,Ø„×Ò˜ T¨9Ð$5Ñ6Ô6ð+ð +ñ 7Ô6ñ -Ô,ñ GÔFð+ð* „×Ò˜ VÑ,Ô,ð+ð +ñ -Ô,ð+ð „×Ò˜' 7Ð+Ø˜ØÐ.Ø"Ð$>àØÐ!KØ+ð 
�t�tÐJÑKÔKÐLð 	)Ø	˜˜ÐGÑHÔHÐIØ&ð!.(ñ )ô )ð" „×Ò˜ $¨ Ñ/Ô/ð)ð )ñ 0Ô/ñ#)ô )ð$)ð „×Ò˜Ø
Œ�\Ô" WÑ,¨sÑ2ñ4ô 4ð<ð <ñ4ô 4ð<ð „×Ò˜ $Ñ'Ô'ðQð Qñ (Ô'ðQð „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;à„×Ò˜ $Ñ'Ô'Ø„×Ò˜ØKÐKÐKñMô Mð?ð ?ñMô Mñ (Ô'ñ;ô ;ð
?ð
 „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;à„×Ò˜ØŒL˜Ô&¨Ñ2°SÑ8ñ:ô :ðIð Iñ:ô :ñ;ô ;ðIð „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;à„×Ò˜Ø
Œ�\Ô" YÑ.°Ñ4ñ6ô 6ð+ð +ñ6ô 6ñ;ô ;ð+ð „×Ò˜ØˆiÐØˆiÐð"ñ ô ð(ð (ñô ð(ð „×Ò˜ØˆiÐØˆkÐØˆkÐØˆmÐð	"ñ ô ð2ð 2ñô ð2ð „×Ò˜Ð$8Ð$8Ð$8Ñ9Ô9ðKð Kñ :Ô9ðKðNð Nð Nð<ð <ð <ðFGð FGð FGð FGð FGñ FGô FGð FGðREð Eð Eð
Fð Fð Fð
Cð Cð Cð
Lð Lð Lð „×ÒØðñ	ô 	ðJð Jñ	ô 	ðJð „×Ò˜˜|Ñ,Ô,ð&ð &ñ -Ô,ð&ð „×ÒØFà0Ø7ðñô ð „×Ò˜Ð"4Ñ5Ô5ð /ð  /ñ 6Ô5ñô ð /ðFð ð ð0 „×Ò�GÐG Ô 2Ô :¸iÒ GØ9ð ñ ;ô ;ð:ð :ñ;ô ;ð:ðð ð ð „×ÒÐ1Ñ2Ô2ð!ð !ñ 3Ô2ð!ð „×Ò˜Ð!=Ñ>Ô>ðð ñ ?Ô>ðð( „×Ò˜Ð"IÑJÔJð,ð ,ñ KÔJð,ð ,ð ,r   