§
    tŠtj¸#  ã                  ó^  — d dl mZ d dlZd dlZd dlmZ d dlmZ d dlm	Z	m
Z
 d dlmZ  G d„ d¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Zej        d„ ¦   «         Zej        d„ ¦   «         ZeZeZeZeZegZeegZ ej        eej        j        ej                              e d¬¦  «        g¬¦  «        gZ!g e¢e¢e!¢Z"dgZ#ddgZ$dgZ%g e$¢e#¢e%¢Z& ej        e"e&¬¦  «        d„ ¦   «         Z' ej        ee$¬¦  «        d„ ¦   «         Z( ej        ee#¬¦  «        d„ ¦   «         Z) ej        e!e%¬¦  «        d„ ¦   «         Z*d „ Z+ ej         e+¦   «         d!          e+¦   «         d"         ¬¦  «        d#„ ¦   «         Z,g d$¢Z-g d%¢Z.d&d'gZ/d(„ e.D ¦   «         Z0 ej        e-¬)¦  «        d*„ ¦   «         Z1 ej        e0¬)¦  «        d+„ ¦   «         Z2 ej        g d,¢¬)¦  «        d-„ ¦   «         Z3ej        d.„ ¦   «         Z4ej        d/„ ¦   «         Z5dS )0é    )ÚannotationsN)ÚHAS_PYARROW)ÚVERSIONS)Úread_csvÚ
read_tablec                  ó`   — e Zd ZU dZded<   dZg Zded<   d„ Zd„ Zddd	œdd„Z	d„ Z
ddœdd„ZdS )Ú
BaseParserNz
str | NoneÚengineTzlist[str | None]Úfloat_precision_choicesc                ór   — |                      ¦   «         }|                     | j        | j        dœ¦  «         |S )N)r
   Ú
low_memory)ÚcopyÚupdater
   r   )ÚselfÚkwargss     ú]/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/pandas/tests/io/parser/conftest.pyÚupdate_kwargszBaseParser.update_kwargs   s2   € Ø—’‘”ˆØ�Š ¤¸D¼OÐLÐLÑMÔMÐMàˆó    c                óD   — |                       |¦  «        }t          |i |¤ŽS ©N)r   r   ©r   Úargsr   s      r   r   zBaseParser.read_csv   s(   € Ø×#Ò# FÑ+Ô+ˆÝ˜Ð( Ð(Ð(Ð(r   )Úraise_on_extra_warningsÚcheck_stacklevelÚ	warn_typeútype[Warning]Úwarn_msgÚstrr   Úboolc               ó¨   — |                       |¦  «        }t          j        ||||¬¦  «        5  t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S )N)Úmatchr   r   )r   ÚtmÚassert_produces_warningr   )r   r   r   r   r   r   r   s          r   Úread_csv_check_warningsz"BaseParser.read_csv_check_warnings    s±   € ð ×#Ò# FÑ+Ô+ˆÝÔ'ØØØ$;Ø-ð	
ñ 
ô 
ð 	-ð 	-õ ˜TÐ, VÐ,Ð,ð	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-ð 	-ð 	-s   ®AÁAÁAc                óD   — |                       |¦  «        }t          |i |¤ŽS r   )r   r   r   s      r   r   zBaseParser.read_table5   s(   € Ø×#Ò# FÑ+Ô+ˆÝ˜4Ð* 6Ð*Ð*Ð*r   )r   c               ó¦   — |                       |¦  «        }t          j        |||¬¦  «        5  t          |i |¤Žcd d d ¦  «         S # 1 swxY w Y   d S )N)r!   r   )r   r"   r#   r   )r   r   r   r   r   r   s         r   Úread_table_check_warningsz$BaseParser.read_table_check_warnings9   s­   € ð ×#Ò# FÑ+Ô+ˆÝÔ'Ø˜XÐ?Vð
ñ 
ô 
ð 	/ð 	/õ ˜tÐ. vÐ.Ð.ð	/ð 	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/ð 	/ð 	/s   ­AÁA
ÁA
)r   r   r   r   r   r   )r   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r
   Ú__annotations__r   r   r   r   r$   r   r'   © r   r   r	   r	      s´   € € € € € € Ø€FÐÐÐÑØ€JØ02ÐÐ2Ð2Ð2Ñ2ðð ð ð)ð )ð )ð !%Ø!%ð-ð -ð -ð -ð -ð -ð*+ð +ð +ð !%ð/ð /ð /ð /ð /ð /ð /ð /r   r	   c                  ó   — e Zd ZdZg d¢ZdS )ÚCParserÚc)NÚhighÚ
round_tripN©r(   r)   r*   r
   r   r,   r   r   r.   r.   K   s!   € € € € € Ø€FØ:Ð:Ð:ÐÐÐr   r.   c                  ó   — e Zd ZdZdS )ÚCParserHighMemoryFN©r(   r)   r*   r   r,   r   r   r4   r4   P   s   € € € € € Ø€J€J€Jr   r4   c                  ó   — e Zd ZdZdS )ÚCParserLowMemoryTNr5   r,   r   r   r7   r7   T   s   € € € € € Ø€J€J€Jr   r7   c                  ó   — e Zd ZdZdgZdS )ÚPythonParserÚpythonNr2   r,   r   r   r9   r9   X   s   € € € € € Ø€FØ#˜fÐÐÐr   r9   c                  ó   — e Zd ZdZdgZdS )ÚPyArrowParserÚpyarrowNr2   r,   r   r   r<   r<   ]   s   € € € € € Ø€FØ#˜fÐÐÐr   r<   c                ó   —  | ddd¦  «        S )zG
    The directory path to the data files needed for parser tests.
    ÚioÚparserÚdatar,   ©Údatapaths    r   Úcsv_dir_pathrD   b   s   € ð
 ˆ8�D˜( FÑ+Ô+Ð+r   c                óX   — t           j                              | ddd¦  «        d¦  «        S )zH
    The path to the data file "test1.csv" needed for parser tests.
    r?   rA   Úcsvz	test1.csv)ÚosÚpathÚjoinrB   s    r   Úcsv1rJ   j   s(   € õ
 Œ7�<Š<˜˜  v¨uÑ5Ô5°{ÑCÔCÐCr   úpyarrow is not installed©Úreason©Úmarksr:   Úc_highÚc_lowr=   ©ÚparamsÚidsc                ó¶   — |                       ¦   «         }|j        dk    r9t          j        dt          d         ¦  «         ddl}|                     d¦  «         |S )z)
    Fixture all of the CSV parsers.
    r=   r   Né   )Úparamr
   ÚpytestÚimportorskipr   r=   Úset_cpu_count)Úrequestr@   r=   s      r   Úall_parsersr\   Œ   sZ   € ð
 �]Š]‰_Œ_€FØ„}˜	Ò!Ð!ÝÔ˜I¥x°	Ô':Ñ;Ô;Ð;ð 	ˆˆˆà×Ò˜aÑ Ô Ð Ø€Mr   c                ó*   — |                       ¦   «         S )z<
    Fixture all of the CSV parsers using the C engine.
    ©rW   ©r[   s    r   Úc_parser_onlyr`   œ   ó   € ð
 �=Š=‰?Œ?Ðr   c                ó*   — |                       ¦   «         S )zA
    Fixture all of the CSV parsers using the Python engine.
    r^   r_   s    r   Úpython_parser_onlyrc   ¤   ra   r   c                ó*   — |                       ¦   «         S )zB
    Fixture all of the CSV parsers using the Pyarrow engine.
    r^   r_   s    r   Úpyarrow_parser_onlyre   ¬   ra   r   c                 óÊ  — g } g }t          t          t          ¦  «        D ]À\  }}t          |d¦  «        r|j        d         }|j        D ]–}|j        dk    r8t          j        j	        t          j         
                    t           d¬¦  «        gnd}t          j         |¦   «         |f|¬¦  «        }|                      |¦  «         |                     |› d|› �¦  «         Œ—ŒÁ| |d	œS )
za
    Return all allowable parser and float precision
    combinations and corresponding ids.
    Úvaluesr   r=   rK   rL   r,   rN   ú-rR   )ÚzipÚ_all_parsersÚ_all_parser_idsÚhasattrrg   r   r
   rX   ÚmarkÚ
single_cpuÚskipifr   rW   Úappend)rS   rT   r@   Ú	parser_idÚ	precisionrm   rW   s          r   Ú,_get_all_parser_float_precision_combinationsrs   ´   s  € ð
 €FØ
€CÝ ¥­Ñ?Ô?ð 3ð 3Ñˆ�	Ý�6˜8Ñ$Ô$ð 	&à”] 1Ô%ˆFØÔ7ð 	3ð 	3ˆIð ”= IÒ-Ð-õ ”KÔ*Ý”K×&Ò&Ý'˜Ð0Jð 'ñ ô ðð ð ð õ ”L & &¡(¤(¨IÐ!6¸dÐCÑCÔCˆEØ�MŠM˜%Ñ Ô Ð Ø�JŠJ˜)Ð1Ð1 iÐ1Ð1Ñ2Ô2Ð2Ð2ð	3ð   SÐ)Ð)Ð)r   rS   rT   c                ó   — | j         S )zR
    Fixture for all allowable combinations of parser
    and float precision
    r^   r_   s    r   Úall_parsers_all_precisionsru   Ò   s   € ð Œ=Ðr   )é   é   é    )Ú rh   Ú_ÚutfÚUTFc                ó0   — g | ]}t           D ]	}|› |› d �‘Œ
ŒS )z{0})Ú_encoding_prefixes)Ú.0ÚsepÚprefixs      r   ú
<listcomp>r‚   ã   sH   € ð ð ð Ø!ÕBTðð Ø8>€vÐˆsÐÐÐðð ð ð r   )rS   c                ó   — | j         S )zE
    Fixture for all possible integer values for a UTF encoding.
    r^   r_   s    r   Ú	utf_valuer„   è   ó   € ð
 Œ=Ðr   c                ó   — | j         S )zD
    Fixture for all possible string formats of a UTF encoding.
    r^   r_   s    r   Úencoding_fmtr‡   ð   r…   r   )*)z-1,0ç      ð¿)z-1,2e0g333333ó¿)z-1e0rˆ   )z+1e0ç      ð?)z+1e+0r‰   )z+1e-1çš™™™™™¹?)z+,1e1r‰   )z+1,e0r‰   )z-,1e1rˆ   )z-1,e0rˆ   )z0,1rŠ   )z1,r‰   )z,1rŠ   )z-,1gš™™™™™¹¿)z1_,r‰   )z1_234,56ç
×£p=J“@)z
1_234,56e0r‹   )rz   rz   )ú-_rŒ   )ú-_1r�   )ú-_1e0rŽ   )Ú_1r�   )ú_1,r�   )ú_1,_r‘   )Ú_1e0r’   )ú1,2e_1r“   )ú1,2e1_0r”   )ú1,_2r•   )ú,1__2r–   )ú,1er—   )ú-,1er˜   )ú1_000,000_000r™   )ú1,e1_2rš   )úe11,2r›   )ú1e11,2rœ   )ú1,2,2r�   )ú1,2_1rž   )ú	1,2e-10e1rŸ   )ú--1,2r    )ú1a_2,1r¡   )z1,2E-1g¸…ëQ¸¾?)z1,2E1g      (@c                ó   — | j         S )z¨
    Fixture for all numeric formats which should get recognized. The first entry
    represents the value to read while the second represents the expected result.
    r^   r_   s    r   Únumeric_decimalr£   ø   s   € ðh Œ=Ðr   c                ó  — d| j         v r|                      d¦  «        }n'd| j         v r|                      d¦  «        d         }ndS |j        dk    r7t          j                             d¬¦  «        }|                      |¦  «         dS dS )z‰
    Fixture that xfails a test if the engine is pyarrow.

    Use if failure is do to unsupported keywords or inconsistent results.
    r\   ru   r   Nr=   zpyarrow doesn't support this.rL   )ÚfixturenamesÚgetfixturevaluer
   rX   rm   ÚxfailÚapplymarker)r[   r@   rm   s      r   Úpyarrow_xfailr©   /  s�   € ð ˜Ô,Ð,Ð,Ø×(Ò(¨Ñ7Ô7ˆˆØ	%¨Ô)=Ð	=Ð	=à×(Ò(Ð)EÑFÔFÀqÔIˆˆàˆØ„}˜	Ò!Ð!ÝŒ{× Ò Ð(GÐ ÑHÔHˆØ×Ò˜DÑ!Ô!Ð!Ð!Ð!ð "Ð!r   c                óÖ   — d| j         v r|                      d¦  «        }n'd| j         v r|                      d¦  «        d         }ndS |j        dk    rt          j        d¬¦  «         dS dS )zƒ
    Fixture that skips a test if the engine is pyarrow.

    Use if failure is do a parsing failure from pyarrow.csv.read_csv
    r\   ru   r   Nr=   z,https://github.com/apache/arrow/issues/38676rL   )r¥   r¦   r
   rX   Úskip)r[   r@   s     r   Úpyarrow_skipr¬   B  s„   € ð ˜Ô,Ð,Ð,Ø×(Ò(¨Ñ7Ô7ˆˆØ	%¨Ô)=Ð	=Ð	=à×(Ò(Ð)EÑFÔFÀqÔIˆˆàˆØ„}˜	Ò!Ð!ÝŒÐIÐJÑJÔJÐJÐJÐJð "Ð!r   )6Ú
__future__r   rG   rX   Úpandas.compatr   Úpandas.compat._optionalr   Úpandasr   r   Úpandas._testingÚ_testingr"   r	   r.   r4   r7   r9   r<   ÚfixturerD   rJ   Ú_cParserHighMemoryÚ_cParserLowMemoryÚ_pythonParserÚ_pyarrowParserÚ_py_parsers_onlyÚ_c_parsers_onlyrW   rm   rn   ro   Ú_pyarrow_parsers_onlyrj   Ú_py_parser_idsÚ_c_parser_idsÚ_pyarrow_parsers_idsrk   r\   r`   rc   re   rs   ru   Ú_utf_valuesÚ_encoding_sepsr~   Ú_encoding_fmtsr„   r‡   r£   r©   r¬   r,   r   r   ú<module>rÁ      s´  ðØ "Ð "Ð "Ð "Ð "Ð "à 	€	€	€	à €€€à %Ð %Ð %Ð %Ð %Ð %Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,ðð ð ð ð ð ð ð ð Ð Ð Ð Ð Ð ð7/ð 7/ð 7/ð 7/ð 7/ñ 7/ô 7/ð 7/ðt;ð ;ð ;ð ;ð ;ˆjñ ;ô ;ð ;ð
ð ð ð ð ˜ñ ô ð ðð ð ð ð �wñ ô ð ð%ð %ð %ð %ð %�:ñ %ô %ð %ð
%ð %ð %ð %ð %�Jñ %ô %ð %ð
 „ð,ð ,ñ „ð,ð „ðDð Dñ „ðDð 'Ð Ø$Ð Ø€Ø€à!�?Ð Ø%Ð'8Ð9€à€F„LØàŒKÔ"ØŒK×Ò ;˜Ð7QÐÑRÔRð
ðñ ô ðÐ ð M�ÐLÐ#3ÐLÐ6KÐL€à�€Ø˜7Ð#€Ø!�{Ð àJ�MÐJ NÐJÐ5IÐJ€ð €„�|¨Ð9Ñ9Ô9ðð ñ :Ô9ðð €„�¨MÐ:Ñ:Ô:ðð ñ ;Ô:ðð €„Ð'¨^Ð<Ñ<Ô<ðð ñ =Ô<ðð €„Ð,Ð2FÐGÑGÔGðð ñ HÔGðð*ð *ð *ð< €„Ø7Ð7Ñ9Ô9¸(ÔCØ4Ð4Ñ6Ô6°uÔ=ðñ ô ðð ñ	ô ðð ˆkˆk€à��€Ø˜U�^Ð ðð Ø%3ðñ ô €ð
 €„�{Ð#Ñ#Ô#ðð ñ $Ô#ðð €„�~Ð&Ñ&Ô&ðð ñ 'Ô&ðð €„ð,ð ,ð ,ð.ñ .ô .ð^ð ñ_.ô .ð^ð „ð"ð "ñ „ð"ð$ „ðKð Kñ „ðKð Kð Kr   