+
    i
  c                   s    R t ^ RIt^ RIt^ RIt^ RIHtHt ^RIHtHt  ! R R]P                  4      t
 ! R R]4      t ! R R	]4      t ! R
 R]]
4      tR# )z+
Interface adapters for low-level readers.
N)BinaryIOList)TraversableTraversableResourcesc                   s   a  ] tR t^t o Rt]]P                  V 3R lR l4       4       t]P                  V 3R lR l4       t	]P                  V 3R lR l4       t
]P                  V 3R lR	 l4       t]R
 4       tRtV tR# )SimpleReaderzE
The minimum, low-level interface required from a resource
provider.
c                    < V ^8  d   QhRS[ /#    return)strZformat__classdict__   "3/usr/lib64/python3.14/importlib/resources/simple.py__annotate__SimpleReader.__annotate__   s           c                    R# )z@
The name of the package for which this reader loads resources.
N self   &r   packageZSimpleReader.package       r   c                s.   < V ^8  d   QhRS[ R,          /# )r   r   r   )r   r
   r   r   r   r      s      $~. r   c                r   )zW
Obtain an iterable of SimpleReader for available
child containers (e.g. directories).
Nr   r   r   r   childrenZSimpleReader.children   r   r   c                s0   < V ^8  d   QhRS[ S[,          /# r   )r   r	   r
   r   r   r   r   "   s      49 r   c                r   )z<
Obtain available named resources for this virtual package.
Nr   r   r   r   	resourcesZSimpleReader.resources!   r   r   c                &   < V ^8  d   QhRS[ RS[/# )r   resourcer   )r	   r    r
   r   r   r   r   (   s      C H r   c                r   )z*
Obtain a File-like for a named resource.
Nr   )r   r      &&r   open_binaryZSimpleReader.open_binary'   r   r   c                sF    V P                   P                  R 4      R,          # )Z.i)r   Zsplitr   r   r   nameZSimpleReader.name-   s    ||!!#&r**r   r   N)__name__
__module____qualname____firstlineno____doc__ZpropertyabcZabstractmethodr   r   r   r   r   __static_attributes____classdictcell__r      @r   r   r      s     
   
 	  	 
 	 
 + +r   r   c                   sN   a  ] tR t^2t o RtV 3R lR ltR tR tR tR t	Rt
V tR	# )
ResourceContainerzA
Traversable container for a package's resources via its reader.
c                r   )r   reader)r   r
   r   r   r   ZResourceContainer.__annotate__7   s      | r   c                s    Wn         R # Nr*   )r   r*   r   r   __init__ZResourceContainer.__init__7   s    r   c                    R # Tr   r   r   r   is_dirZResourceContainer.is_dir:       r   c                r.   Fr   r   r   r   is_fileZResourceContainer.is_file=       r   c                s   a  V 3R  lS P                   P                   4       p\        \        S P                   P	                  4       4      p\
        P                  ! W4      # )c              3   s<   <"   T F  p\        SV4      x  K  	  R # 5ir+   )ResourceHandle)Z.0r   r   s   & r   Z	<genexpr>Z,ResourceContainer.iterdir.<locals>.<genexpr>A   s     N8Md++8Ms   )r*   r   Zmapr)   r   	itertoolsZchain)r   filesZdirss   f  r   iterdirZResourceContainer.iterdir@   s@    N8M8MN$dkk&:&:&<=u++r   c                s    \        4       hr+   )ZIsADirectoryError)r   argskwargss   &*,r   openZResourceContainer.openE   s    !!r   r,   N)r   r    r!   r"   r#   r-   r0   r3   r8   r;   r%   r&   r'   r(   r   r)   r)   2   s-      ,
" "r   r)   c                   sR   a  ] tR t^It o RtV 3R lR ltR tR tR
R ltR t	Rt
V tR	# )r5   z1
Handle to a named resource in a ResourceReader.
c                r   )r   parentr   )r)   r	   r
   r   r   r   ZResourceHandle.__annotate__N   s      0  r   c                s    Wn         W n        R # r+   )r<   r   )r   r<   r   s   &&&r   r-   ZResourceHandle.__init__N   s    	r   c                r.   r/   r   r   r   r   r3   ZResourceHandle.is_fileR   r1   r   c                r.   r2   r   r   r   r   r0   ZResourceHandle.is_dirU   r4   r   c                s    V P                   P                  P                  V P                  4      pR V9  d   \        P
                  ! V.VO5/ VB pV# )Zb)r<   r*   r   r   ioZTextIOWrapper)r   Zmoder9   r:   Zstreams   &&*, r   r;   ZResourceHandle.openX   sF    ##//		:d?%%f>t>v>Fr   c                s    \        R 4      h)zCannot traverse into a resource)ZRuntimeError)r   r   r   r   joinpathZResourceHandle.joinpath^   s    <==r   )r   r<   N)Zr)r   r    r!   r"   r#   r-   r3   r0   r;   r>   r%   r&   r'   r(   r   r5   r5   I   s-      > >r   r5   c                   s*   a  ] tR t^bt o RtR tRtV tR# )TraversableReaderz
A TraversableResources based on SimpleReader. Resource providers
may derive from this class to provide the TraversableResources
interface by supplying the SimpleReader interface.
c                s    \        V 4      # r+   )r)   r   r   r   r7   ZTraversableReader.filesi   s     &&r   r   N)r   r    r!   r"   r#   r7   r%   r&   r'   r(   r   r?   r?   b   s     ' 'r   r?   )r#   r$   r=   r6   Ztypingr    r   r   r   ZABCr   r)   r5   r?   r   r   r   <module>r@      sS     	  ! 2"+377 "+J" ".>[ >2',l 'r   