ó
    F\hÕ  ã                   ó<  • S SK r S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
JrJrJr  SSKJrJr  \\R"                  \4   r\rS r\SS\\   S\4S jj5       rS	\R"                  S\\   4S
 jr\R0                  S\\   S\R"                  4S j5       r\R4                  S\S\R"                  4S j5       r\R4                  SSS\R"                  4S j5       rS rS	\R"                  4S jr\R<                   S\ R>                  S.S jj5       r S r!S\S\"4S jr#\R0                  S 5       r$\$R5                  \RJ                  5      \R<                  S 5       5       r\R<                  S\RL                  4S j5       r'\R<                  S 5       r(S r)g)é    N)ÚUnionÚOptionalÚcasté   )ÚResourceReaderÚTraversablec                 óf   ^ ^• [        5       m[        R                  " T 5      TT4U U4S jj5       nU$ )a  
Replace 'package' parameter as 'anchor' and warn about the change.

Other errors should fall through.

>>> files('a', 'b')
Traceback (most recent call last):
TypeError: files() takes from 0 to 1 positional arguments but 2 were given

Remove this compatibility in Python 3.14.
c                 ó”   >• UTLa/  U TLa  T" X5      $ [         R                  " S[        SS9  T" U5      $ U TL a  T" 5       $ T" U 5      $ )Nz/First parameter to files is renamed to 'anchor'é   )Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarning)ÚanchorÚpackageÚfuncÚ	undefineds     €€Ú2/usr/lib/python3.13/importlib/resources/_common.pyÚwrapperÚ"package_to_anchor.<locals>.wrapper!   sX   ø€ à˜)Ò#Ø˜YÒ&Ù˜FÓ,Ð,Ü�MŠMØAÜ"Øòñ
 ˜“=Ð Ø�yÒ Ù“6ˆMÙ�F‹|Ðó    )ÚobjectÚ	functoolsÚwraps)r   r   r   s   ` @r   Úpackage_to_anchorr      s3   ù€ ô “€Iä‡_‚_�TÓØ ¨)÷ ó ðð €Nr   r   Úreturnc                 ó*   • [        [        U 5      5      $ )z+
Get a Traversable resource for an anchor.
)Úfrom_packageÚresolve)r   s    r   Úfilesr    3   s   € ô
 œ ›Ó(Ð(r   r   c                 ót   • U R                   n[        UR                  SS5      nUc  gU" UR                  5      $ )z7
Return the package's loader if it's a ResourceReader.
Úget_resource_readerN)Ú__spec__ÚgetattrÚloaderÚname)r   ÚspecÚreaders      r   r"   r"   ;   s9   € ð ×Ñ€DÜ�T—[‘[Ð"7¸Ó>€FØ�~ØÙ�$—)‘)ÓÐr   Úcandc                 ó6   • [        [        R                  U 5      $ ©N)r   ÚtypesÚ
ModuleType©r)   s    r   r   r   K   s   € ä”× Ñ  $Ó'Ð'r   c                 ó.   • [         R                  " U 5      $ r+   )Ú	importlibÚimport_moduler.   s    r   Ú_r2   P   s   € ä×"Ò" 4Ó(Ð(r   c                 óB   • [        [        5       R                  S   5      $ )NÚ__name__)r   Ú_infer_callerÚ	f_globalsr.   s    r   r2   r2   U   s   € ä”=“?×,Ñ,¨ZÑ8Ó9Ð9r   c                  ó¸   • S n S n[         R                  " U [        R                  " 5       5      n[         R                  " X5      n[	        U5      R
                  $ )zK
Walk the stack and find the frame of the first caller not in this module.
c                 ó(   • U R                   [        :H  $ r+   )ÚfilenameÚ__file__©Ú
frame_infos    r   Úis_this_fileÚ#_infer_caller.<locals>.is_this_file_   s   € Ø×"Ñ"¤hÑ.Ð.r   c                 ó    • U R                   S:H  $ )Nr   )Úfunctionr;   s    r   Ú
is_wrapperÚ!_infer_caller.<locals>.is_wrapperb   s   € Ø×"Ñ" iÑ/Ð/r   )Ú	itertoolsÚfilterfalseÚinspectÚstackÚnextÚframe)r=   rA   Únot_this_fileÚcallerss       r   r5   r5   Z   sF   € ò
/ò0ô ×)Ò)¨,¼¿º»ÓH€Mä×#Ò# JÓ>€GÜ�‹=×ÑÐr   c                 óˆ   • SSK Jn  U" U 5      nUR                  R                  UR                  5      nUR                  5       $ )z5
Return a Traversable object for the given package.

r   )Ú	wrap_spec)Ú	_adaptersrL   r%   r"   r&   r    )r   rL   r'   r(   s       r   r   r   k   s5   € õ %á�WÓ€DØ�[‰[×,Ñ,¨T¯Y©YÓ7€FØ�<‰<‹>Ðr   )Ú
_os_removec             #   ót  #   • [         R                  " US9u  p4  [        R                  " X0" 5       5        [        R                  " U5        A [
        R                  " U5      v •   U" U5        g ! [        R                  " U5        f = f! [         a     g f = f!  U" U5        f ! [         a     f f = f= f7f©N)Úsuffix)ÚtempfileÚmkstempÚosÚwriteÚcloseÚpathlibÚPathÚFileNotFoundError)r(   rQ   rN   ÚfdÚraw_paths        r   Ú	_tempfiler\   x   s�   é € ô ×#Ò#¨6Ñ2�L€Bðð	Ü�HŠH�R˜›Ô"ä�HŠH�RŒLØÜ�lŠl˜8Ó$Ò$ð	Ù�xÕ øô �HŠH�R�Lûô !ó 	Ùð	ûð	Ù�xÕ øÜ ó 	Ùð	ÿso   ‚B8›A/ ¶/B Á&B
 Á.B8Á/BÂB Â

BÂB8ÂBÂB8ÂB5ÂB%Â$B5Â%
B2Â/B5Â1B2Â2B5Â5B8c                 ó>   • [        U R                  U R                  S9$ rP   )r\   Ú
read_bytesr&   ©Úpaths    r   Ú
_temp_filera   “   s   € Ü�T—_‘_¨T¯Y©YÑ7Ð7r   r`   c                 óŒ   • [         R                  " [        5         U R                  5       sSSS5        $ ! , (       d  f       g= f)zí
Some Traversables implement ``is_dir()`` to raise an
exception (i.e. ``FileNotFoundError``) when the
directory doesn't exist. This function wraps that call
to always return a boolean and only return True
if there's a dir and it exists.
NF)Ú
contextlibÚsuppressrY   Úis_dirr_   s    r   Ú_is_present_dirrf   —   s+   € ô 
×	Ò	Ô.Õ	/Ø�{‰{‹}÷ 
0×	/Ö	/àús	   ›5µ
Ac                 óN   • [        U 5      (       a  [        U 5      $ [        U 5      $ )zi
Given a Traversable object, return that object as a
path on the local file system in a context manager.
)rf   Ú	_temp_dirra   r_   s    r   Úas_fileri   ¤   s"   € ô .¨d×3Ñ3Œ9�T‹?ÐI¼ÀDÓ9IÐIr   c              #   ó   #   • U v •  g7f)z/
Degenerate behavior for pathlib.Path objects.
N© r_   s    r   r2   r2   ­   s   é € ð ƒJùs   ‚Údirc              #   ót   #   • U  n[         R                  " U5      v •  SSS5        g! , (       d  f       g= f7f)z<
Wrap tempfile.TemporyDirectory to return a pathlib object.
N)rW   rX   )rl   Úresults     r   Ú
_temp_pathro   ¶   s$   é € ñ
 
�Ü�lŠl˜6Ó"Ò"÷ 
�Žüs   ‚8…'ž	8§
5±8c              #   óÄ   #   • U R                  5       (       d   e[        [        R                  " 5       5       n[	        X5      v •  SSS5        g! , (       d  f       g= f7f)zh
Given a traversable dir, recursively replicate the whole tree
to the file system in a context manager.
N)re   ro   rR   ÚTemporaryDirectoryÚ_write_contents)r`   Útemp_dirs     r   rh   rh   ¿   s@   é € ð �;‰;�=‰=Ðˆ=Ü	”H×/Ò/Ó1Ô	2°hÜ˜hÓ-Ò-÷ 
3×	2Ö	2üs   ‚6A ¸AÁ	A Á
AÁA c                 ó  • U R                  UR                  5      nUR                  5       (       a4  UR                  5         UR	                  5        H  n[        X#5        M     U$ UR                  UR                  5       5        U$ r+   )Újoinpathr&   re   ÚmkdirÚiterdirrr   Úwrite_bytesr^   )ÚtargetÚsourceÚchildÚitems       r   rr   rr   Ê   sf   € Ø�O‰O˜FŸK™KÓ(€EØ‡}�}‡�Ø�‰ŒØ—N‘NÖ$ˆDÜ˜EÖ(ñ %ð €Lð 	×Ñ˜&×+Ñ+Ó-Ô.Ø€Lr   r+   )Ú )*rT   rW   rR   r   rc   r,   r0   rE   r   rC   Útypingr   r   r   Úabcr   r   r-   ÚstrÚPackageÚAnchorr   r    r"   Úsingledispatchr   Úregisterr2   r5   r   ÚcontextmanagerÚremover\   ra   Úboolrf   ri   rX   rq   ro   rh   rr   rk   r   r   Ú<module>rˆ      s  ðÛ 	Û Û Û Û Û Û Û Û Û ç (Ñ (ß ,à
�× Ñ  #Ð%Ñ
&€Ø	€òð@ ñ)�(˜6Ñ"ð )¨kô )ó ð)ð ×!1Ñ!1ð °h¸~Ñ6Nô ð  ×Ñð(�(˜6Ñ"ð ( u×'7Ñ'7ó (ó ð(ð 	×Ñð)ˆCð )�E×$Ñ$ó )ó ð)ð 	×Ñð:ˆDð :�U×%Ñ%ó :ó ð:òð"
˜%×*Ñ*ô 
ð ×Ñð ðð �y‰yõó ðò48ð
˜+ð 
¨$ô 
ð ×ÑñJó ðJð 	×Ñ�'—,‘,ÓØ×Ññó ó  ðð ×Ñð#�H×/Ñ/ó #ó ð#ð ×Ññ.ó ð.ór   