U §Ãq`D ã@s ddlmZGdd„deƒZdS)é)Úutilsc@sPeZdZedœdd„Zdd„Zdd„Zdd „Zd d „Ze d d „ƒZ e   d¡Z dS)ÚObjectIdentifier)Ú dotted_stringc CsÐ||_|j d¡}g}|D]V}zt|dƒ}Wn"tk rNtd|jƒ‚YnX|dkrftd|jƒ‚| |¡qt|ƒdkrŒtd|jƒ‚|ddkr¦td|jƒ‚|ddkrÌ|d d krÌtd |jƒ‚dS) NÚ.é z%Malformed OID: %s (non-integer nodes)rz*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)ÚselfrZnodesZintnodesÚnodeZ node_value©rú?/tmp/pip-target-nv4zd3e_/lib/python/cryptography/hazmat/_oid.pyÚ__init__ sJ ÿÿ ÿÿ  ÿÿ ÿÿÿÿzObjectIdentifier.__init__cCst|tƒstS|j|jkS©N)Ú isinstancerÚNotImplementedr©rÚotherrrrÚ__eq__4s zObjectIdentifier.__eq__cCs ||k SrrrrrrÚ__ne__:szObjectIdentifier.__ne__cCsd |j|j¡S)Nz#)ÚformatrÚ_name©rrrrÚ__repr__=sÿzObjectIdentifier.__repr__cCs t|jƒSr)ÚhashrrrrrÚ__hash__BszObjectIdentifier.__hash__cCsddlm}| |d¡S)Nr)Ú _OID_NAMESz Unknown OID)Zcryptography.x509.oidr"Úget)rr"rrrrEs zObjectIdentifier._namer N)Ú__name__Ú __module__Ú __qualname__Ústrrrrrr!ÚpropertyrrZread_only_propertyrrrrrr s* rN)Z cryptographyrÚobjectrrrrrÚs