File: //lib64/python3.9/encodings/__pycache__/utf_16.cpython-39.opt-2.pyc
a
    �DOgt  �                   @   st   d dl Z d dlZe jZddd�ZG dd� de j�ZG dd� de j�ZG d	d
� d
e j�ZG dd� de j	�Z	d
d� Z
dS )�    N�strictc                 C   s   t �| |d�S )NT)�codecs�
utf_16_decode)�input�errors� r   �(/usr/lib64/python3.9/encodings/utf_16.py�decode   s    r	   c                   @   s8   e Zd Zddd�Zddd�Zdd� Zd	d
� Zdd� Zd
S )�IncrementalEncoderr   c                 C   s   t j�| |� d | _d S �N)r   r
   �__init__�encoder��selfr   r   r   r   r      s    zIncrementalEncoder.__init__Fc                 C   sN   | j d u r<t�|| j�d }tjdkr0tj| _ ntj| _ |S | � || j�d S )Nr   �little)r
   r   �
utf_16_encoder   �sys�	byteorder�utf_16_le_encode�utf_16_be_encode)r   r   �final�resultr   r   r   �encode   s    
zIncrementalEncoder.encodec                 C   s   t j�| � d | _d S r   )r   r
   �resetr
   �r   r   r   r   r   !   s    zIncrementalEncoder.resetc                 C   s   | j d u rdS dS )N�   r   )r
   r   r   r   r   �getstate%   s    zIncrementalEncoder.getstatec                 C   s,   |rd | _ ntjdkr tj| _ ntj| _ d S �Nr   )r
   r   r   r   r   r   �r   �stater   r   r   �setstate,   s
    
zIncrementalEncoder.setstateN)r   )F)�__name__�
__module__�__qualname__r   r   r   r   r    r   r   r   r   r
      s
   
r
   c                   @   s6   e Zd Zd
dd�Zdd� Zdd� Zdd	� Zd
d� ZdS )�IncrementalDecoderr   c                 C   s   t j�| |� d | _d S r   )r   �BufferedIncrementalDecoderr   �decoderr   r   r   r   r   6   s    zIncrementalDecoder.__init__c                 C   sl   | j d u r\t�||d|�\}}}|dkr2tj| _ n"|dkrDtj| _ n|dkrTtd��||fS | � || j|�S )Nr   ����   r   �%UTF-16 stream does not start with BOM)r&