§
    ¢œÊd„  ã                  ó^   — d Z ddlmZ ddlmZ ddlmZ ddlmZ	 ddlm
Z
mZ ddlmZ dd„ZdS )z<
Exception-compatible adapter from conda_package_streaming.
é    )Úannotations)ÚTarError)Ú
BadZipFile)Ú
exceptions)Úextract_streamÚpackage_streamingé   ÚfilenameÚstrÚdest_dirÚ
componentsú	list[str]c                óä  — t          | ¦  «                             d¦  «        r	|dgk    sJ ‚	 t          | d¦  «        5 }|D ])}t          j        | ||¬¦  «        }t          ||¦  «         Œ*	 ddd¦  «         dS # 1 swxY w Y   dS # t          j        $ r}t          j        | |¦  «        |‚d}~wt          t          t          f$ r+}t          j        | dt          |¦  «        › ¦  «        |‚d}~ww xY w)a  
    Extract .conda or .tar.bz2 package to dest_dir.

    If it's a conda package, components may be ["pkg", "info"]

    If it's a .tar.bz2 package, components must equal ["pkg"]

    Internal. Skip directly to conda-package-streaming if you don't need
    exception compatibility.
    z.tar.bz2ÚpkgÚrb)Ú	componentNzfailed with error: )r   ÚendswithÚopenr   Ústream_conda_componentr   Úcps_exceptionsÚCaseInsensitiveFileSystemErrorr   ÚOSErrorr   r   ÚInvalidArchiveError)r
   r   r   Úfileobjr   ÚstreamÚes          ú@lib/python3.11/site-packages/conda_package_handling/streaming.pyÚ_extractr      su  € õ ˆ8}„}×Ò˜jÑ)Ô)ð %Ø˜e˜WÒ$Ð$Ð$Ð$ð^Ý(˜DÑ!Ô!ð 	1 WØ'ð 1ð 1	å*ÔAØ˜g°ðñ ô õ ˜v xÑ0Ô0Ð0Ð0ð1ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øõ Ô8ð Sð Sð SÝÔ7¸À(ÑKÔKÐQRÐRøøøøÝ•XzÐ*ð ^ð ^ð ^ÝÔ,¨XÐ7UÍSÐQRÉVÌVÐ7UÐ7UÑVÔVÐ\]Ð]øøøøð^øøøsF   ­B ½-A8Á+B Á8A<Á<B Á?A<Â B ÂC/ÂB*Â*C/Ã&C*Ã*C/N)r
   r   r   r   r   r   )Ú__doc__Ú
__future__r   Útarfiler   Úzipfiler   Úconda_package_streaming.extractr   r   r   r   Ú r   © ó    r   ú<module>r'      s§   ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à HÐ HÐ HÐ HÐ HÐ HØ MÐ MÐ MÐ MÐ MÐ MÐ MÐ Mà Ð Ð Ð Ð Ð ð^ð ^ð ^ð ^ð ^ð ^r&   