File: //lib/python3/dist-packages/cryptography/hazmat/__pycache__/_oid.cpython-310.pyc
o
�)%aD � @ s d dl mZ G dd� de�ZdS )� )�utilsc @ sP e Zd Zdefdd�Zdd� Zdd� Zdd � Zd
d� Ze dd
� �Z
e�d�Z
dS )�ObjectIdentifier�
dotted_stringc C s� || _ | j �d�}g }|D ](}zt|d�}W n ty$ td| j ��w |dk r0td| j ��|�|� q
t|�dk rCtd| j ��|d dkrPtd| j ��|d dk rc|d d
kretd| j ��d S d S )N�.�
z%Malformed OID: %s (non-integer nodes)r z*Malformed OID: %s (negative-integer nodes)� z0Malformed OID: %s (insufficient number of nodes)z2Malformed OID: %s (first node outside valid range)� �( z3Malformed OID: %s (second node outside valid range))�_dotted_string�split�int�
ValueError�append�len)�selfr �nodes�intnodes�node�
node_value� r �:/usr/lib/python3/dist-packages/cryptography/hazmat/_oid.py�__init__
sN ������������zObjectIdentifier.__init__c C s t |t�stS | j|jkS �N)�
isinstancer �NotImplementedr �r �otherr r r �__eq__4 s
zObjectIdentifier.__eq__c C s
| |k S r r r r r r �__ne__: �
zObjectIdentifier.__ne__c C s d� | j| j�S )Nz#<ObjectIdentifier(oid={}, name={})>)�formatr �_name�r r r r �__repr__= s �zObjectIdentifier.__repr__c C s
t | j�S r )�hashr r"