3 œäL]‚ã@s4ddlmZmZmZddlmZGdd„deƒZdS)é)Úabsolute_importÚdivisionÚprint_function)Úutilsc@sJeZdZdd„Zdd„Zdd„Zdd„Zd d „Zed d „ƒZ e j d ƒZ dS)ÚObjectIdentifierc Csº||_|jjdƒ}g}xD|D]<}y|jt|dƒƒWqtk rVtd|jƒ‚YqXqWt|ƒdkrvtd|jƒ‚|ddkrtd|jƒ‚|ddkr¶|ddkr¶td |jƒ‚dS) NÚ.rz%Malformed OID: %s (non-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ÚappendÚintÚ ValueErrorÚlen)ÚselfÚ dotted_stringZnodesZintnodesÚnode©rúB/tmp/pip-install-wfra5znf/cryptography/cryptography/hazmat/_oid.pyÚ__init__ s,      zObjectIdentifier.__init__cCst|tƒstS|j|jkS)N)Ú isinstancerÚNotImplementedr)rÚotherrrrÚ__eq__+s zObjectIdentifier.__eq__cCs ||k S)Nr)rrrrrÚ__ne__1szObjectIdentifier.__ne__cCsdj|j|jƒS)Nz#)ÚformatrÚ_name)rrrrÚ__repr__4szObjectIdentifier.__repr__cCs t|jƒS)N)Úhashr)rrrrÚ__hash__:szObjectIdentifier.__hash__cCsddlm}|j|dƒS)Nr)Ú _OID_NAMESz Unknown OID)Zcryptography.x509.oidr!Úget)rr!rrrr=s zObjectIdentifier._namer N) Ú__name__Ú __module__Ú __qualname__rrrrr ÚpropertyrrZread_only_propertyrrrrrr s  rN)Ú __future__rrrZ cryptographyrÚobjectrrrrrÚs