File: //opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/Util/__pycache__/asn1.cpython-310.pyc
o
�N�gm� � @ s� d dl Z d dlmZmZmZ d dlmZmZ g d�Zddd�Z G dd � d e
�ZG d
d� de
�ZG dd
� d
e�Z
G dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZdS )� N)�byte_string�bchr�bord)�
long_to_bytes�
bytes_to_long) � DerObject�
DerInteger�
DerBoolean�DerOctetString�DerNull�DerSequence�DerObjectId�DerBitString�DerSetOfFc C s4 d}z| | }W n
t y Y dS w | p| dkS )Nr F)� TypeError)�x�only_non_negative�test� r �H/opt/saltstack/salt/lib/python3.10/site-packages/Cryptodome/Util/asn1.py�
_is_number( s �r c @ s@ e Zd ZdZdd� Zdd� Zdd� Zdd � Zd
d� Zdd
� Z dS )�BytesIO_EOFzeThis class differs from BytesIO in that a ValueError exception is
raised whenever EOF is reached.c C s || _ d| _d | _d S �Nr )�_buffer�_index� _bookmark)�selfZ
initial_bytesr r r �__init__5 s
zBytesIO_EOF.__init__c C s | j | _d S �N)r r �r r r r �set_bookmark: � zBytesIO_EOF.set_bookmarkc C s | j d usJ �| j| j | j� S r )r r r r r r r �data_since_bookmark= s zBytesIO_EOF.data_since_bookmarkc C s t | j�| j S r )�lenr r r r r r �remaining_dataA � zBytesIO_EOF.remaining_datac C sH | j | }|t| j�krtd|t| j�f ��| j| j |� }|| _ |S )Nz@Not enough data for DER decoding: expected %d bytes and found %d)r r# r �
ValueError)r �lengthZ new_index�resultr r r �readD s
zBytesIO_EOF.readc C s t | �d�d �S )N� r )r r) r r r r � read_byteM � zBytesIO_EOF.read_byteN)
�__name__�
__module__�__qualname__�__doc__r r r"