§
    dŠtj
  ã                   óº   — d Z ddlZddlZddlZddlmZ ddlmZmZ  G d„ dej        ¦  «        Z	 G d„ d	e¦  «        Z
 G d
„ de¦  «        Z G d„ dee	¦  «        ZdS )z+
Interface adapters for low-level readers.
é    N)ÚBinaryIOé   )ÚTraversableÚTraversableResourcesc                   óì   — e Zd ZdZeej        defd„¦   «         ¦   «         Zej        de	d          fd„¦   «         Z
ej        de	e         fd„¦   «         Zej        dedefd„¦   «         Zed„ ¦   «         Zd	S )
ÚSimpleReaderzQ
    The minimum, low-level interface required from a resource
    provider.
    Úreturnc                 ó   — dS )zP
        The name of the package for which this reader loads resources.
        N© ©Úselfs    úX/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/importlib_resources/simple.pyÚpackagezSimpleReader.package   ó   € € € ó    c                 ó   — dS )zo
        Obtain an iterable of SimpleReader for available
        child containers (e.g. directories).
        Nr   r   s    r   ÚchildrenzSimpleReader.children   r   r   c                 ó   — dS )zL
        Obtain available named resources for this virtual package.
        Nr   r   s    r   Ú	resourceszSimpleReader.resources!   r   r   Úresourcec                 ó   — dS )z:
        Obtain a File-like for a named resource.
        Nr   )r   r   s     r   Úopen_binaryzSimpleReader.open_binary'   r   r   c                 óB   — | j                              d¦  «        d         S )Nú.éÿÿÿÿ)r   Úsplitr   s    r   ÚnamezSimpleReader.name-   s   € àŒ|×!Ò! #Ñ&Ô& rÔ*Ð*r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚpropertyÚabcÚabstractmethodÚstrr   Úlistr   r   r   r   r   r   r   r   r   r      sÿ   € € € € € ðð ð
 ØÔð˜ð ð ð ñ Ôñ „Xðð
 	Ôð˜$˜~Ô.ð ð ð ñ Ôðð 	Ôð˜4 œ9ð ð ð ñ Ôðð
 	Ôð Cð ¨Hð ð ð ñ Ôðð
 ð+ð +ñ „Xð+ð +ð +r   r   c                   ó6   — e Zd ZdZdefd„Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚResourceContainerzI
    Traversable container for a package's resources via its reader.
    Úreaderc                 ó   — || _         d S ©N)r)   )r   r)   s     r   Ú__init__zResourceContainer.__init__7   s   € ØˆŒˆˆr   c                 ó   — dS ©NTr   r   s    r   Úis_dirzResourceContainer.is_dir:   ó   € Øˆtr   c                 ó   — dS ©NFr   r   s    r   Úis_filezResourceContainer.is_file=   ó   € Øˆur   c                 ó¶   ‡ — ˆ fd„‰ j         j        D ¦   «         }t          t          ‰ j                              ¦   «         ¦  «        }t          j        ||¦  «        S )Nc              3   ó8   •K  — | ]}t          ‰|¦  «        V — Œd S r+   )ÚResourceHandle)Ú.0r   r   s     €r   ú	<genexpr>z,ResourceContainer.iterdir.<locals>.<genexpr>A   s-   øè è € ÐNÐN°•  dÑ+Ô+ÐNÐNÐNÐNÐNÐNr   )r)   r   Úmapr(   r   Ú	itertoolsÚchain)r   ÚfilesÚdirss   `  r   ÚiterdirzResourceContainer.iterdir@   sQ   ø€ ØNÐNÐNÐN¸¼Ô8MÐNÑNÔNˆÝÕ$ d¤k×&:Ò&:Ñ&<Ô&<Ñ=Ô=ˆÝŒ˜u dÑ+Ô+Ð+r   c                 ó   — t          ¦   «         ‚r+   )ÚIsADirectoryError)r   ÚargsÚkwargss      r   ÚopenzResourceContainer.openE   s   € ÝÑ!Ô!Ð!r   N)
r   r   r    r!   r   r,   r/   r3   r?   rD   r   r   r   r(   r(   2   su   € € € € € ðð ð˜|ð ð ð ð ðð ð ðð ð ð,ð ,ð ,ð
"ð "ð "ð "ð "r   r(   c                   ó<   — e Zd ZdZdedefd„Zd„ Zd„ Zdd„Z	d	„ Z
d
S )r7   z9
    Handle to a named resource in a ResourceReader.
    Úparentr   c                 ó"   — || _         || _        d S r+   )rF   r   )r   rF   r   s      r   r,   zResourceHandle.__init__N   s   € ØˆŒØˆŒ	ˆ	ˆ	r   c                 ó   — dS r.   r   r   s    r   r3   zResourceHandle.is_fileR   r0   r   c                 ó   — dS r2   r   r   s    r   r/   zResourceHandle.is_dirU   r4   r   Úrc                 ó€   — | j         j                             | j        ¦  «        }d|vrt	          j        |g|¢R i |¤Ž}|S )NÚb)rF   r)   r   r   ÚioÚTextIOWrapper)r   ÚmoderB   rC   Ústreams        r   rD   zResourceHandle.openX   sJ   € Ø”Ô#×/Ò/°´	Ñ:Ô:ˆØ�dˆ?ˆ?ÝÔ% fÐ>¨tÐ>Ð>Ð>°vÐ>Ð>ˆFØˆr   c                 ó    — t          d¦  «        ‚)NzCannot traverse into a resource)ÚRuntimeError)r   r   s     r   ÚjoinpathzResourceHandle.joinpath^   s   € ÝÐ<Ñ=Ô=Ð=r   N)rJ   )r   r   r    r!   r(   r%   r,   r3   r/   rD   rS   r   r   r   r7   r7   I   s‚   € € € € € ðð ðÐ0ð ¸ð ð ð ð ðð ð ðð ð ðð ð ð ð>ð >ð >ð >ð >r   r7   c                   ó   — e Zd ZdZd„ ZdS )ÚTraversableReaderzÄ
    A TraversableResources based on SimpleReader. Resource providers
    may derive from this class to provide the TraversableResources
    interface by supplying the SimpleReader interface.
    c                 ó    — t          | ¦  «        S r+   )r(   r   s    r   r=   zTraversableReader.filesi   s   € Ý  Ñ&Ô&Ð&r   N)r   r   r    r!   r=   r   r   r   rU   rU   b   s-   € € € € € ðð ð'ð 'ð 'ð 'ð 'r   rU   )r!   r#   rM   r;   Útypingr   r   r   ÚABCr   r(   r7   rU   r   r   r   ú<module>rY      s  ððð ð €
€
€
Ø 	€	€	€	Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð à 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2ð"+ð "+ð "+ð "+ð "+�3”7ñ "+ô "+ð "+ðJ"ð "ð "ð "ð "˜ñ "ô "ð "ð.>ð >ð >ð >ð >�[ñ >ô >ð >ð2'ð 'ð 'ð 'ð 'Ð,¨lñ 'ô 'ð 'ð 'ð 'r   