ó
    wñ:iQ  ã                  óZ  • S SK Jr  S SKJr  S SKrS SKJr  S SKrS SKJ	r	J
r
Jr  S SKrS SKJr  S SKJrJr  S SKJr  S S	KJr  S S
KJr  \
(       a  S SKJr  S SKJrJrJr  \      SS j5       r\SS j5       r\ S     SS jj5       r \SS j5       r!\SSS jj5       r"SS jr#SS jr$g)é    )Úannotations)ÚcontextmanagerN)ÚPath)ÚIOÚTYPE_CHECKINGÚAny)Úusing_copy_on_write)ÚPYPYÚWARNING_CHECK_DISABLED)ÚChainedAssignmentError)Ú
set_option)Ú
get_handle)Ú	Generator)Ú
BaseBufferÚCompressionOptionsÚFilePathc              #  ót   #   • [        U SUSS9 nUR                  v •  SSS5        g! , (       d  f       g= f7f)zú
Open a compressed file and return a file object.

Parameters
----------
path : str
    The path where the file is read from.

compression : {'gzip', 'bz2', 'zip', 'xz', 'zstd', None}
    Name of the decompression to use

Returns
-------
file object
ÚrbF)ÚcompressionÚis_textN)r   Úhandle)Úpathr   r   s      Ú[/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/pandas/_testing/contexts.pyÚdecompress_filer   $   s-   é € ô& 
�D˜$¨KÀÒ	GÈ6Ø�m‰mÒ÷ 
H×	GÖ	Güs   ‚8�'ž	8§
5±8c              #  ó¨   ^#   • SSK mSU4S jjn[        R                  R                  S5      nU" U 5         Sv •  U" U5        g! U" U5        f = f7f)a|  
Context manager for temporarily setting a timezone.

Parameters
----------
tz : str
    A string representing a valid timezone.

Examples
--------
>>> from datetime import datetime
>>> from dateutil.tz import tzlocal
>>> tzlocal().tzname(datetime(2021, 1, 1))  # doctest: +SKIP
'IST'

>>> with set_timezone('US/Eastern'):
...     tzlocal().tzname(datetime(2021, 1, 1))
...
'EST'
r   Nc                ó¼   >• [        TS5      (       a:  U c   [        R                  S	 g U [        R                  S'   TR	                  5         g g ! [         a     g f = f)NÚtzsetÚTZ)ÚhasattrÚosÚenvironÚKeyErrorr   )ÚtzÚtimes    €r   ÚsetTZÚset_timezone.<locals>.setTZS   sX   ø€ Ü�4˜×!Ñ!Ø‰zðÜŸ
™
 4Ñ(ð $&”—
‘
˜4Ñ Ø—
‘
•ð "øô  ó Ùðús   —A Á
AÁAr   )ÚreturnÚNone)r$   r    r!   Úget)r#   r%   Úorig_tzr$   s      @r   Úset_timezoner+   ;   sA   øé € ó, ÷	ô �j‰j�n‰n˜TÓ"€GÙ	ˆ"„IðÛáˆg�ø‰ˆg�üs   ƒ4A¸A ¼	AÁ
AÁAc              +  ó   #   • [        [        R                  " 5       5      nU c  Sn [        [        R
                  " 5       5      U -   n X0-  nUR                  5         [        U5      nUR                  SS5      nU(       a.  UR                  SS5        Uc  SUS   ;  a  Sn[        U4SU0UD6n Uv •  [        U[        5      (       d  UR                  5         UR                  5       (       a  UR                  5         gg! [        U[        5      (       d  UR                  5         UR                  5       (       a  UR                  5         f f = f7f)aB  
Gets a temporary path and agrees to remove on close.

This implementation does not use tempfile.mkstemp to avoid having a file handle.
If the code using the returned path wants to delete the file itself, windows
requires that no program has a file handle to it.

Parameters
----------
filename : str (optional)
    suffix of the created file.
return_filelike : bool (default False)
    if True, returns a file-like which is *always* cleaned. Necessary for
    savefig and other functions which want to append extensions.
**kwargs
    Additional keywords are passed to open().

NÚ ÚencodingÚmodezw+bÚbzutf-8)r   ÚtempfileÚ
gettempdirÚstrÚuuidÚuuid4ÚtouchÚpopÚ
setdefaultÚopenÚ
isinstanceÚcloseÚis_fileÚunlink)ÚfilenameÚreturn_filelikeÚkwargsÚfolderr   Úhandle_or_strr.   s          r   Úensure_cleanrC   f   s  é € ô, ”(×%Ò%Ó'Ó(€FàÑØˆÜ”4—:’:“<Ó  8Ñ+€HØÑ€Dà‡J�J„Lä! $›i€MØ�z‰z˜* dÓ+€HÞØ×Ñ˜& %Ô(ØÑ ¨6°&©>Ó 9ØˆHÜ˜TÑ?¨HÐ?¸Ñ?ˆðØÒä˜-¬×-Ñ-Ø×ÑÔ!Ø�<‰<�>‰>Ø�K‰K�Mð øô ˜-¬×-Ñ-Ø×ÑÔ!Ø�<‰<�>‰>Ø�K‰K�Mð üs    ‚B+EÂ.C> Â2AEÃ>AEÅEc              +  óº   #   • SSK n1 SknX;   a  [        S5      eUR                  " U 40 UD6   Sv •  UR                  U 5        g! UR                  U 5        f = f7f)a=  
Context manager to temporarily register a CSV dialect for parsing CSV.

Parameters
----------
name : str
    The name of the dialect.
kwargs : mapping
    The parameters for the dialect.

Raises
------
ValueError : the name of the dialect conflicts with a builtin one.

See Also
--------
csv : Python's CSV library.
r   N>   ÚunixÚexcelú	excel-tabz Cannot override builtin dialect.)ÚcsvÚ
ValueErrorÚregister_dialectÚunregister_dialect)Únamer@   rH   Ú_BUILTIN_DIALECTSs       r   Úwith_csv_dialectrN   –   sY   é € ó( â6ÐàÓ ÜÐ;Ó<Ð<à×Ò˜Ñ( Ò(ð%Ûà×Ñ˜tÕ$øˆ×Ñ˜tÕ$üs   ‚,A¯A ³AÁAÁAc              #  óæ   #   • SSK Jn  Uc  UR                  nUR                  nUR                  n[	        SU 5        Xl         S v •  XBl        [	        SU5        g ! XBl        [	        SU5        f = f7f)Nr   )Úexpressionszcompute.use_numexpr)Úpandas.core.computationrP   Ú_MIN_ELEMENTSÚUSE_NUMEXPRr   )ÚuseÚmin_elementsÚexprÚolduseÚoldmins        r   Úuse_numexprrY   ¸   sm   é € å;àÑØ×)Ñ)ˆà×Ñ€FØ×Ñ€FÜÐ$ cÔ*Ø%Ôð2Ûà#ÔÜÐ(¨&Õ1øð $ÔÜÐ(¨&Õ1üs   ‚A A1ÁA ÁA1ÁA.Á.A1c                ó~  • SSK Jn  U (       d  SSKJn  U" 5       $ [        (       d  [
        (       a  U(       d  SSKJn  U" 5       $ [        (       d  [
        (       a  U(       a  U" USR                  U5      S9$ [        5       (       a	  [        nSnO[        nSnU(       a  U/UQ7nU" USR                  U/UQ75      S9$ )Nr   ©Úassert_produces_warning©ÚnullcontextÚ|)ÚmatchzYA value is trying to be set on a copy of a DataFrame or Series through chained assignmentr   )
Úpandas._testingr\   Ú
contextlibr^   r
   r   Újoinr	   r   ÚFutureWarning)ÚwarnÚextra_warningsÚextra_matchr\   r^   Úwarningr`   s          r   Úraises_chained_assignment_errorri   Ê   s®   € Ý7æÝ*á‹}ÐçŠ×&Ò&¶Ý*á‹}Ðß
Š$×(Ò(®nÙ&ØØ—(‘(˜;Ó'ñ
ð 	
ô
 × Ñ Ü,ˆGð-ñ ô
 $ˆGà,ˆEÞØÐ0 Ñ0ˆGÙ&ØØ—(‘(˜EÐ0 KÑ0Ó1ñ
ð 	
ó    c                ó|   • SSK Jn  U (       a  [        (       a  SSKJn  U" 5       $ U(       d  SnU" [
        4SU0UD6$ )aI  
Assert that a warning is raised in the CoW warning mode.

Parameters
----------
warn : bool, default True
    By default, check that a warning is raised. Can be turned off by passing False.
match : str
    The warning message to match against, if different from the default.
kwargs
    Passed through to assert_produces_warning
r   r[   r]   zSetting a value on a viewr`   )ra   r\   r   rb   r^   rd   )re   r`   r@   r\   r^   s        r   Úassert_cow_warningrl   î   s8   € õ 8æ×)Ò)Ý*á‹}ÐæØ+ˆá"¤=ÑH¸ÐHÀÑHÐHrj   )r   zFilePath | BaseBufferr   r   r'   z Generator[IO[bytes], None, None])r#   r3   r'   úGenerator[None, None, None])NF)r?   Úboolr@   r   r'   zGenerator[Any, None, None])rL   r3   r'   rm   )N)r'   rm   )T© ro   )TN)%Ú
__future__r   rb   r   r    Úpathlibr   r1   Útypingr   r   r   r4   Úpandas._configr	   Úpandas.compatr
   r   Úpandas.errorsr   Úpandasr   Úpandas.io.commonr   Úcollections.abcr   Úpandas._typingr   r   r   r   r+   rC   rN   rY   ri   rl   ro   rj   r   Ú<module>rz      sì   ðÝ "å %Û 	Ý Û ÷ñ ó
 å .÷õ 1å å 'æÝ)÷ñ ð ðØ
ðØ.@ðà%óó ðð, ó'ó ð'ðT à+0ð,Ø$(ð,Ø<?ð,àô,ó ð,ð^ ó%ó ð%ðB õ2ó ð2ô"!
õHIrj   