
    ;e                         d dl Z d dlZd dlZd dlmZmZmZmZmZm	Z	m
Z
 d dlmZmZ d dlmZ eeej        e         f         Zg dZ G d de j                  Ze G d	 d
e                      Z G d de          ZdS )    N)AnyBinaryIOIterableIteratorNoReturnTextOptional)runtime_checkableProtocol)Union)ResourceReaderTraversableTraversableResourcesc                       e Zd Z	 ej        dedefd            Zej        dedefd            Zej        dede	fd            Z
ej        dee         fd            ZdS )	r   resourcereturnc                     	 t           NFileNotFoundErrorselfr   s     ./usr/lib/python3.11/importlib/resources/abc.pyopen_resourcezResourceReader.open_resource   s    	      c                     	 t           r   r   r   s     r   resource_pathzResourceReader.resource_path   s    	  r   pathc                     	 t           r   r   r   r   s     r   is_resourcezResourceReader.is_resource*   s    	  r   c                     	 t           r   r   r   s    r   contentszResourceReader.contents2   s    9r   N)__name__
__module____qualname__abcabstractmethodr   r   r   r   boolr!   r   strr$    r   r   r   r      s        N	 d 	 x 	  	  	  	  	
 d 
 t 
  
  
  
  	            	 (3-            r   r   )	metaclassc                   :   e Zd Z	 ej        ded          fd            ZdefdZdde	e
         de
fdZej        defd            Zej        defd            Zej        d	edd fd
            Zdedd fdZej        dd            Zej        de
fd            ZdS )r   r   c                     d S r   r,   r#   s    r   iterdirzTraversable.iterdirB       	 	r   c                     	 |                      d          5 }|                                cd d d            S # 1 swxY w Y   d S Nrbopenread)r   strms     r   
read_byteszTraversable.read_bytesH   s    	 YYt__ 	99;;	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   8<<Nencodingc                     	 |                      |          5 }|                                cd d d            S # 1 swxY w Y   d S )N)r:   r5   )r   r:   r8   s      r   	read_textzTraversable.read_textO   s    	 YYY)) 	T99;;	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   9= =c                     d S r   r,   r#   s    r   is_dirzTraversable.is_dirV   r1   r   c                     d S r   r,   r#   s    r   is_filezTraversable.is_file\   r1   r   descendantsc                     d S r   r,   )r   rA   s     r   joinpathzTraversable.joinpathb       	 	r   childc                 .    	 |                      |          S r   )rC   )r   rE   s     r   __truediv__zTraversable.__truediv__l   s    	 }}U###r   rc                     d S r   r,   )r   modeargskwargss       r   r6   zTraversable.openr   rD   r   c                     d S r   r,   r#   s    r   namezTraversable.name|   r1   r   r   )rH   )r%   r&   r'   r(   r)   r   r0   bytesr9   r	   r+   r<   r*   r>   r@   StrPathrC   rG   r6   abstractpropertyrN   r,   r   r   r   r   8   s        	-0    
E     (3- 3     	    
 	    
 	W     $ $] $ $ $ $ 	    	c      r   r   c                       e Zd Z	 ej        dd            Zdedej        fdZ	de
defdZdedefdZdee         fd	Zd
S )r   r   r   c                     d S r   r,   r#   s    r   fileszTraversableResources.files   s    AAr   r   c                 v    |                                                      |                              d          S r3   )rT   rC   r6   r   s     r   r   z"TraversableResources.open_resource   s,    zz||$$X..33D999r   c                      t          |          r   r   r   s     r   r   z"TraversableResources.resource_path   s    )))r   r   c                 t    |                                                      |                                          S r   )rT   rC   r@   r    s     r   r!   z TraversableResources.is_resource   s*    zz||$$T**22444r   c                 b    d |                                                                  D             S )Nc              3   $   K   | ]}|j         V  d S r   )rN   ).0items     r   	<genexpr>z0TraversableResources.contents.<locals>.<genexpr>   s$      ==d	======r   )rT   r0   r#   s    r   r$   zTraversableResources.contents   s*    ==djjll&:&:&<&<====r   N)r   r   )r%   r&   r'   r(   r)   rT   rP   ioBufferedReaderr   r   r   r   r*   r!   r   r+   r$   r,   r   r   r   r      s        
 	B B B B:g :"2C : : : :*c *h * * * *5 5D 5 5 5 5>(3- > > > > > >r   r   )r(   r]   ostypingr   r   r   r   r   r   r	   r
   r   r   r+   PathLikerP   __all__ABCMetar   r   r   r,   r   r   <module>rd      sI   



 				 				 N N N N N N N N N N N N N N N N N N . . . . . . . .       R[%%
&
C
C
C'  '  '  '  ' s{ '  '  '  ' T G G G G G( G G GT> > > > >> > > > > >r   