ó
    F\h‚  ã                   ót   • S SK Jr  S SKJr  SSKJr   " S S5      r " S S5      rSS	 jr " S
 S5      r	S r
g)é    )Úsuppress)ÚTextIOWrapperé   )Úabcc                   ó,   • \ rS rSrSrS 4S jrS rSrg)ÚSpecLoaderAdapteré   z6
Adapt a package spec to adapt the underlying loader.
c                 ó   • U R                   $ ©N)Úloader©Úspecs    Ú4/usr/lib/python3.13/importlib/resources/_adapters.pyÚ<lambda>ÚSpecLoaderAdapter.<lambda>   s   € °$·+²+ó    c                 ó*   • Xl         U" U5      U l        g r   )r   r   )Úselfr   Úadapters      r   Ú__init__ÚSpecLoaderAdapter.__init__   s   € ØŒ	Ù˜d“mˆ�r   c                 ó.   • [        U R                  U5      $ r   )Úgetattrr   ©r   Únames     r   Ú__getattr__ÚSpecLoaderAdapter.__getattr__   s   € Ü�t—y‘y $Ó'Ð'r   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   Ú__static_attributes__© r   r   r   r      s   † ññ &>ô $õ(r   r   c                   ó$   • \ rS rSrSrS rS rSrg)ÚTraversableResourcesLoaderé   z1
Adapt a loader to provide TraversableResources.
c                 ó   • Xl         g r   r   ©r   r   s     r   r   Ú#TraversableResourcesLoader.__init__   ó   € Ø�	r   c                 óH   • [        U R                  5      R                  5       $ r   )ÚCompatibilityFilesr   Ú_nativer   s     r   Úget_resource_readerÚ.TraversableResourcesLoader.get_resource_reader   s   € Ü! $§)¡)Ó,×4Ñ4Ó6Ð6r   r   N)r   r   r    r!   r"   r   r/   r#   r$   r   r   r&   r&      s   † ñòõ7r   r&   c                 óZ   • US:X  a  [        U /UQ70 UD6$ US:X  a  U $ [        SU S35      e)NÚrÚrbzInvalid mode value 'z"', only 'r' and 'rb' are supported)r   Ú
ValueError)ÚfileÚmodeÚargsÚkwargss       r   Ú_io_wrapperr9       s@   € Øˆsƒ{Ü˜TÐ3 DÒ3¨FÑ3Ð3Ø	�‹ØˆÜ
Ð+¨D¨6Ð1SÐTÓ
UÐUr   c                   ó¾   • \ rS rSrSr " S S\R                  5      r " S S\R                  5      r " S S\R                  5      r	S	 r
\S
 5       rS rS rS rSrg)r-   é(   z^
Adapter for an existing or non-existent resource reader
to provide a compatibility .files().
c                   óN   • \ rS rSrSrS rS rS r\rS r	\
S 5       rSS jrS	rg
)ÚCompatibilityFiles.SpecPathé.   zS
Path tied to a module spec.
Can be read and exposes the resource reader children.
c                 ó   • Xl         X l        g r   )Ú_specÚ_reader)r   r   Úreaders      r   r   Ú$CompatibilityFiles.SpecPath.__init__4   s   € ØŒJØ!�Lr   c                 ó–   ^ • T R                   (       d  [        S5      $ [        U 4S jT R                   R                  5        5       5      $ )Nr$   c              3   ód   >#   • U  H%  n[         R                  TR                  U5      v •  M'     g 7fr   )r-   Ú	ChildPathrA   )Ú.0Úpathr   s     €r   Ú	<genexpr>Ú6CompatibilityFiles.SpecPath.iterdir.<locals>.<genexpr>;   s,   øé € ð â3�Dô #×,Ñ,¨T¯\©\¸4×@Ð@Ú3ùs   ƒ-0)rA   ÚiterÚcontents©r   s   `r   ÚiterdirÚ#CompatibilityFiles.SpecPath.iterdir8   s:   ø€ Ø—<—<Ü˜B“x�Üô à ŸL™L×1Ñ1Ô3óó ð r   c                 ó   • g©NFr$   rM   s    r   Úis_fileÚ#CompatibilityFiles.SpecPath.is_file@   ó   € Ør   c                 óŽ   • U R                   (       d  [        R                  U5      $ [        R                  U R                   U5      $ r   )rA   r-   Ú
OrphanPathrF   ©r   Úothers     r   ÚjoinpathÚ$CompatibilityFiles.SpecPath.joinpathE   s1   € Ø—<—<Ü)×4Ñ4°UÓ;Ð;Ü%×/Ñ/°·±¸eÓDÐDr   c                 ó.   • U R                   R                  $ r   )r@   r   rM   s    r   r   Ú CompatibilityFiles.SpecPath.nameJ   s   € à—:‘:—?‘?Ð"r   c                 óT   • [        U R                  R                  S 5      U/UQ70 UD6$ r   )r9   rA   Úopen_resource©r   r6   r7   r8   s       r   ÚopenÚ CompatibilityFiles.SpecPath.openN   s)   € Ü˜tŸ|™|×9Ñ9¸$Ó?ÀÐWÈÒWÐPVÑWÐWr   )rA   r@   N©r2   ©r   r   r    r!   r"   r   rN   rR   Úis_dirrY   Úpropertyr   r`   r#   r$   r   r   ÚSpecPathr=   .   s=   † ñ	ò
	"ò	ò	ð ˆò	Eð
 
ñ	#ó 
ð	#÷	Xr   rf   c                   óP   • \ rS rSrSrS rS rS rS rS r	\
S 5       rSS	 jrS
rg)ÚCompatibilityFiles.ChildPathéQ   z_
Path tied to a resource reader child.
Can be read but doesn't expose any meaningful children.
c                 ó   • Xl         X l        g r   )rA   Ú_name)r   rB   r   s      r   r   Ú%CompatibilityFiles.ChildPath.__init__W   s   € Ø!ŒLØ�Jr   c                 ó   • [        S5      $ ©Nr$   ©rK   rM   s    r   rN   Ú$CompatibilityFiles.ChildPath.iterdir[   ó   € Ü˜“8ˆOr   c                 óL   • U R                   R                  U R                  5      $ r   )rA   Úis_resourcer   rM   s    r   rR   Ú$CompatibilityFiles.ChildPath.is_file^   s   € Ø—<‘<×+Ñ+¨D¯I©IÓ6Ð6r   c                 ó,   • U R                  5       (       + $ r   )rR   rM   s    r   rd   Ú#CompatibilityFiles.ChildPath.is_dira   s   € Ø—|‘|“~Ô%Ð%r   c                 óB   • [         R                  U R                  U5      $ r   )r-   rV   r   rW   s     r   rY   Ú%CompatibilityFiles.ChildPath.joinpathd   s   € Ü%×0Ñ0°·±¸EÓBÐBr   c                 ó   • U R                   $ r   )rk   rM   s    r   r   Ú!CompatibilityFiles.ChildPath.nameg   s   € à—:‘:Ðr   c                 óh   • [        U R                  R                  U R                  5      U/UQ70 UD6$ r   )r9   rA   r^   r   r_   s       r   r`   Ú!CompatibilityFiles.ChildPath.openk   s7   € ÜØ—‘×*Ñ*¨4¯9©9Ó5°tðØ>BòØFLñð r   )rk   rA   Nrb   rc   r$   r   r   rF   rh   Q   s:   † ñ	ò
	ò	ò	7ò	&ò	Cð 
ñ	ó 
ð	÷	r   rF   c                   óN   • \ rS rSrSrS rS rS r\rS r	\
S 5       rSS jrS	rg
)ÚCompatibilityFiles.OrphanPathép   zv
Orphan path, not tied to a module spec or resource reader.
Can't be read and doesn't expose any meaningful children.
c                 óD   • [        U5      S:  a  [        S5      eXl        g )Nr   z/Need at least one path part to construct a path)Úlenr4   Ú_path)r   Ú
path_partss     r   r   Ú&CompatibilityFiles.OrphanPath.__init__v   s   € Ü�:‹ Ó"Ü Ð!RÓSÐSØ#�Jr   c                 ó   • [        S5      $ rn   ro   rM   s    r   rN   Ú%CompatibilityFiles.OrphanPath.iterdir{   rq   r   c                 ó   • grQ   r$   rM   s    r   rR   Ú%CompatibilityFiles.OrphanPath.is_file~   rT   r   c                 óF   • [         R                  " / U R                  QUP76 $ r   )r-   rV   r‚   rW   s     r   rY   Ú&CompatibilityFiles.OrphanPath.joinpathƒ   s   € Ü%×0Ò0ÐD°$·*±*ÐD¸eÒDÐDr   c                 ó    • U R                   S   $ )Néÿÿÿÿ©r‚   rM   s    r   r   Ú"CompatibilityFiles.OrphanPath.name†   s   € à—:‘:˜b‘>Ð!r   c                 ó   • [        S5      e)NzCan't open orphan path)ÚFileNotFoundErrorr_   s       r   r`   Ú"CompatibilityFiles.OrphanPath.openŠ   s   € Ü#Ð$<Ó=Ð=r   r�   Nrb   rc   r$   r   r   rV   r~   p   s<   † ñ	ò
	$ò
	ò	ð ˆò	Eð 
ñ	"ó 
ð	"÷	>r   rV   c                 ó   • Xl         g r   r   r)   s     r   r   ÚCompatibilityFiles.__init__�   r+   r   c                 óÈ   • [        [        5         U R                  R                  R	                  U R                  R
                  5      sS S S 5        $ ! , (       d  f       g = fr   )r   ÚAttributeErrorr   r   r/   r   rM   s    r   rA   ÚCompatibilityFiles._reader�   s6   € ä”nÕ%Ø—9‘9×#Ñ#×7Ñ7¸¿	¹	¿¹ÓG÷ &×%×%ús   �9AÁ
A!c                 óD   • U R                   n[        US5      (       a  U$ U $ )z2
Return the native reader if it supports files().
Úfiles)rA   Úhasattr)r   rB   s     r   r.   ÚCompatibilityFiles._native•   s$   € ð —‘ˆÜ  ¨×1Ñ1ˆvÐ;°tÐ;r   c                 ó.   • [        U R                  U5      $ r   )r   rA   )r   Úattrs     r   r   ÚCompatibilityFiles.__getattr__œ   s   € Ü�t—|‘| TÓ*Ð*r   c                 óV   • [         R                  U R                  U R                  5      $ r   )r-   rf   r   rA   rM   s    r   r˜   ÚCompatibilityFiles.filesŸ   s   € Ü!×*Ñ*¨4¯9©9°d·l±lÓCÐCr   r   N)r   r   r    r!   r"   r   ÚTraversablerf   rF   rV   r   re   rA   r.   r   r˜   r#   r$   r   r   r-   r-   (   se   † ñô
!X�3—?‘?ô !XôF�C—O‘Oô ô>>�S—_‘_ô >ò:ð ñHó ðHò<ò+õDr   r-   c                 ó6   • [        U R                  [        5      $ )zT
Construct a package spec with traversable compatibility
on the spec/loader/reader.
)r   Ú__spec__r&   )Úpackages    r   Ú	wrap_specr¤   £   s   € ô
 ˜W×-Ñ-Ô/IÓJÐJr   Nrb   )Ú
contextlibr   Úior   Ú r   r   r&   r9   r-   r¤   r$   r   r   Ú<module>r¨      s=   ðÝ Ý å ÷
(ñ 
(÷	7ñ 	7ôV÷xDñ xDóvKr   