
    .Ph                        d Z ddlmZmZ ddlZddlZddlZddlZddlm	Z	 ej
                            dd          Zedk    rI ej                    dv rdd	lT d
Zn ej                    dv rdd	lT dZnm	 dd	lT d
Zne# e$ r	 dd	lT dZY nXw xY wedk    r	 dd	lT d
ZnF# e$ r	 dd	lT dZY n9w xY wedk    rdd	lT dZn(ed
k    rdd	lT d
Znedk    rdd	lT dZn edez            dZdZdZdZ	 	 	 	 	 	 	 ddZdde	dedefdZdde	dedefdZdS )z=Python interface to the Zstandard (zstd) compression library.    )absolute_importunicode_literalsN)
ByteStringPYTHON_ZSTANDARD_IMPORT_POLICYdefault)CPython   )*cext)PyPycfficffi_fallbackrustzKunknown module import policy: %s; use default, cffi_fallback, cext, or cffiz0.23.0   rbc                 (   |                     dd          }|dv r|pt                      }d}	d}
nU|dv r/|pt                      }d}	|}
|
                    d          s|
dz   }
n"t	          d	                    |                    t          t          d
          rt          t          t          j
        f}nt          t          f}t          | |          rt          j        | |
          }d}nAt          | d          st          | d          r| }t          |          }nt          d          |	dk    r|                    ||          }n-|	dk    r|                    ||          }nt%          d          d|vrt'          j        ||||          S |S )a  Create a file object with zstd (de)compression.

    The object returned from this function will be a
    :py:class:`ZstdDecompressionReader` if opened for reading in binary mode,
    a :py:class:`ZstdCompressionWriter` if opened for writing in binary mode,
    or an ``io.TextIOWrapper`` if opened for reading or writing in text mode.

    :param filename:
       ``bytes``, ``str``, or ``os.PathLike`` defining a file to open or a
       file object (with a ``read()`` or ``write()`` method).
    :param mode:
       ``str`` File open mode. Accepts any of the open modes recognized by
       ``open()``.
    :param cctx:
       ``ZstdCompressor`` to use for compression. If not specified and file
       is opened for writing, the default ``ZstdCompressor`` will be used.
    :param dctx:
       ``ZstdDecompressor`` to use for decompression. If not specified and file
       is opened for reading, the default ``ZstdDecompressor`` will be used.
    :param encoding:
        ``str`` that defines text encoding to use when file is opened in text
        mode.
    :param errors:
       ``str`` defining text encoding error handling mode.
    :param newline:
       ``str`` defining newline to use in text mode.
    :param closefd:
       ``bool`` whether to close the file when the returned object is closed.
        Only used if a file object is passed. If a filename is specified, the
        opened file is always closed when the returned object is closed.
    t )rr   r   r   )wwbaabxxbr   bzInvalid mode: {!r}PathLikeTreadwritez6filename must be a str, bytes, file or PathLike object)closefdz2logic error in zstandard.open() handling open mode)encodingerrorsnewline)replaceZstdDecompressorZstdCompressorendswith
ValueErrorformathasattrosstrbytesr   
isinstancebuiltinsopenbool	TypeErrorstream_readerstream_writerRuntimeErrorioTextIOWrapper)filenamemodecctxdctxr!   r"   r#   r    normalized_mode	open_moderaw_open_modetypesinner_fhfhs                 R/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/zstandard/__init__.pyr0   r0   Z   s   R ll3++O+%%)'))		=	=	='~''	'%%c** 	0)C/M-44T::;;;r: eR[)e(E"" 	
==99	6	"	" 
gh&@&@ 
w--D
 
 	
 C'::	c		'::OPPP
/!!&'
 
 
 	
 	       datalevelreturnc                 L    t          |          }|                    |           S )a  Compress source data using the zstd compression format.

    This performs one-shot compression using basic/default compression
    settings.

    This method is provided for convenience and is equivalent to calling
    ``ZstdCompressor(level=level).compress(data)``.

    If you find yourself calling this function in a tight loop,
    performance will be greater if you construct a single ``ZstdCompressor``
    and repeatedly call ``compress()`` on it.
    )rF   )r&   compress)rE   rF   r:   s      rB   rI   rI      s&     &&&D==rC   max_output_sizec                 L    t                      }|                    | |          S )a  Decompress a zstd frame into its original data.

    This performs one-shot decompression using basic/default compression
    settings.

    This method is provided for convenience and is equivalent to calling
    ``ZstdDecompressor().decompress(data, max_output_size=max_output_size)``.

    If you find yourself calling this function in a tight loop, performance
    will be greater if you construct a single ``ZstdDecompressor`` and
    repeatedly call ``decompress()`` on it.
    )rJ   )r%   
decompress)rE   rJ   r;   s      rB   rL   rL      s%     D??4?AAArC   )r   NNNNNN)rD   )r   )__doc__
__future__r   r   r/   r6   r+   platformtypingr   environget_module_policypython_implementation	backend_cbackendbackend_cffiImportErrorbackend_rust__version___MODE_CLOSED
_MODE_READ_MODE_WRITEr0   intr-   rI   rL    rC   rB   <module>r`      s   D C 8 8 8 8 8 8 8 8  				 				         @)LLY%x%''<77    	'	'	)	)Y	6	6####	$$$$GG 	 	 	''''GGG	 &&       #### vGGvGGvGG
+	(	)   

 
		T T T Tn : c %    $B BZ B# Be B B B B B Bs$   3A: :BBB B'&B'