B \`@s ddlmZmZmZddlZddlZddlZddlZddlZGddde Z e Z e Z e Z ddZddZd d Zd d Zeed rejZn d$ddZeedrd%ddZn d&ddZGdddeZeedrejZnejZddZddZGdddeZGdddeZd d!Z d"d#Z!dS)')absolute_importdivisionprint_functionNc@s eZdZdS)CryptographyDeprecationWarningN)__name__ __module__ __qualname__r r E/opt/alt/python37/lib64/python3.7/site-packages/cryptography/utils.pyrsrcCst|tstd|dS)Nz{0} must be bytes) isinstancebytes TypeErrorformat)namevaluer r r _check_bytess rcstfddS)Ncs t|S)N)getattr)self)rr r "z$read_only_property..)property)rr )rr read_only_property!srcsfdd}|S)Ncst|||S)N)verify_interfaceregister)klass)ifacer r register_decorator&s  z.register_interface..register_decoratorr )rrr )rr register_interface%s rcsfdd}|S)Ncsrt|||S)N)rr)r)r predicater r r.s  z1register_interface_if..register_decoratorr )rrrr )rrr register_interface_if-sr from_bytesFcCs$|dks t|rttt|dS)Nbig)AssertionErrorintbinasciiZhexlify)data byteordersignedr r r int_from_bytes9s r)to_bytescCs ||p|ddpddS)Nr!)r* bit_length)integerlengthr r r int_to_bytesAsr1cCs:d|}|dkrt|}n|d}t|||d@S)Nz%xr-)lenr%Z unhexlifyzfill)r/r0Z hex_stringnr r r r1Fs  c@s eZdZdS)InterfaceNotImplementedN)rrrr r r r r6Osr6 signaturecCszxt|jD]j}t||s&td||tt||tjr:qtt||}tt||}||krtd||||qWdS)Nz{0} is missing a {1!r} methodzO{0}.{1}'s signature differs from the expected. Expected: {2!r}. Received: {3!r}) __abstractmethods__hasattrr6rr rabcabstractpropertyr7)rrmethodZsigactualr r r rYs  rcCs|S)N)r.)xr r r r.osr.c@seZdZddZdS)_DeprecatedValuecCs||_||_||_dS)N)rmessage warning_class)rrr@rAr r r __init__tsz_DeprecatedValue.__init__N)rrrrBr r r r r?ssr?c@s4eZdZddZddZddZddZd d Zd S) _ModuleWithDeprecationscCs||jd<dS)N_module)__dict__)rmoduler r r rB{sz _ModuleWithDeprecations.__init__cCs4t|j|}t|tr0tj|j|jdd|j}|S)Nr2) stacklevel) rrDr r?warningswarnr@rAr)rattrobjr r r __getattr__~s   z#_ModuleWithDeprecations.__getattr__cCst|j||dS)N)setattrrD)rrJrr r r __setattr__sz#_ModuleWithDeprecations.__setattr__cCs:t|j|}t|tr*tj|j|jddt|j|dS)Nr2)rG) rrDr r?rHrIr@rAdelattr)rrJrKr r r __delattr__s  z#_ModuleWithDeprecations.__delattr__cCsdgt|jS)NrD)dirrD)rr r r __dir__sz_ModuleWithDeprecations.__dir__N)rrrrBrLrNrPrRr r r r rCzs rCcCs.tj|}t|ts"t|tj|<t|||S)N)sysmodulesr rCr?)rZ module_namer@rArFr r r deprecateds  rUcs(dtfdd}t|S)Nz _cached_{0}cs0t|}|k r|S|}t|||S)N)rrM)instancecacheresult) cached_namefuncsentinelr r inners   zcached_property..inner)robjectr)rZr\r )rYrZr[r cached_propertys r^)F)N)N)"Z __future__rrrr:r%inspectrSrH UserWarningrZPersistentlyDeprecatedZDeprecatedIn21ZDeprecatedIn23rrrrr9r$r r)r1 Exceptionr6r7Z getargspecrr.r]r?rCrUr^r r r r s: