File: //lib64/python3.6/encodings/__pycache__/zlib_codec.cpython-36.pyc
3
  \�  �               @   s�   d Z ddlZddlZddd�Zddd�ZG dd	� d	ej�ZG d
d� dej�ZG dd
� d
ej�ZG dd� deej�ZG dd� deej	�Z	dd� Z
dS )z�Python 'zlib_codec' Codec - zlib compression encoding.
This codec de/encodes from bytes to bytes.
Written by Marc-Andre Lemburg (mal@lemburg.com).
�    N�strictc             C   s   |dkst �tj| �t| �fS )Nr   )�AssertionError�zlib�compress�len)�input�errors� r	   �,/usr/lib64/python3.6/encodings/zlib_codec.py�zlib_encode
   s    r   c             C   s   |dkst �tj| �t| �fS )Nr   )r   r   �
decompressr   )r   r   r	   r	   r
   �zlib_decode   s    r
   c               @   s    e Zd Zddd�Zddd�ZdS )	�Codecr   c             C   s
   t ||�S )N)r   )�selfr   r   r	   r	   r
   �encode   s    zCodec.encodec             C   s
   t ||�S )N)r
   )r   r   r   r	   r	   r
   �decode   s    zCodec.decodeN)r   )r   )�__name__�
__module__�__qualname__r   r   r	   r	   r	   r
   r      s   
r   c               @   s(   e Zd Zd
dd�Zddd�Zdd� Zd	S )�IncrementalEncoderr   c             C   s    |dkst �|| _tj� | _d S )Nr   )r   r   r   �compressobj)r   r   r	   r	   r
   �__init__   s    zIncrementalEncoder.__init__Fc             C   s.   |r| j j|�}|| j j�  S | j j|�S d S )N)r   r   �flush)r   r   �final�cr	   r	   r
   r   !   s    zIncrementalEncoder.encodec             C   s   t j� | _d S )N)r   r   )r   r	   r	   r
   �reset(   s    zIncrementalEncoder.resetN)r   )F)r   r   r   r   r   r   r	   r	   r	   r
   r      s   
r   c               @   s(   e Zd Zd
dd�Zddd�Zdd� Zd	S )�IncrementalDecoderr   c             C   s    |dkst �|| _tj� | _d S )Nr   )r   r   r   �
decompressobj)r   r   r	   r	   r
   r   ,   s    zIncrementalDecoder.__init__Fc             C   s.   |r| j j|�}|| j j�  S | j j|�S d S )N)r   r   r   )r   r   r   r   r	   r	   r
   r   1   s    zIncrementalDecoder.decodec             C   s   t j� | _d S )N)r   r   )r   r	   r	   r
   r   8   s    zIncrementalDecoder.resetN)r   )F)r   r   r   r   r   r   r	   r	   r	   r
   r   +   s   
r   c               @   s   e Zd ZeZdS )�StreamWriterN)r   r   r   �bytes�charbuffertyper	   r	   r	   r
   r   ;   s   r   c               @   s   e Zd ZeZdS )�StreamReaderN)r   r   r   r   r    r	   r	   r	   r
   r!   >