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_bytesFcCstt|dS)N)intbinasciiZhexlify)data byteordersignedr r r int_from_bytes9sr'to_bytescCs ||p|ddpddS)NZbig)r( bit_length)integerlengthr r r int_to_bytesAsr/cCs:d|}|dkrt|}n|d}t|||d@S)Nz%xr+)lenr#Z unhexlifyzfill)r-r.Z hex_stringnr r r r/Fs  c@s eZdZdS)InterfaceNotImplementedN)rrrr r r r r4Osr4 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__hasattrr4rr rabcabstractpropertyr5)rrmethodZsigactualr r r rYs  rcCs|S)N)r,)xr r r r,osr,c@seZdZddZdS)_DeprecatedValuecCs||_||_||_dS)N)rmessage warning_class)rrr>r?r r r __init__tsz_DeprecatedValue.__init__N)rrrr@r r r r r=ssr=c@s4eZdZddZddZddZddZd d Zd S) _ModuleWithDeprecationscCs||jd<dS)N_module)__dict__)rmoduler r r r@{sz _ModuleWithDeprecations.__init__cCs4t|j|}t|tr0tj|j|jdd|j}|S)Nr0) stacklevel) rrBr r=warningswarnr>r?r)rattrobjr r r __getattr__~s   z#_ModuleWithDeprecations.__getattr__cCst|j||dS)N)setattrrB)rrHrr r r __setattr__sz#_ModuleWithDeprecations.__setattr__cCs:t|j|}t|tr*tj|j|jddt|j|dS)Nr0)rE) rrBr r=rFrGr>r?delattr)rrHrIr r r __delattr__s  z#_ModuleWithDeprecations.__delattr__cCsdgt|jS)NrB)dirrB)rr r r __dir__sz_ModuleWithDeprecations.__dir__N)rrrr@rJrLrNrPr r r r rAzs rAcCs.tj|}t|ts"t|tj|<t|||S)N)sysmodulesr rAr=)rZ module_namer>r?rDr r r deprecateds  rScs(dtfdd}t|S)Nz _cached_{0}cs0t|}|k r|S|}t|||S)N)rrK)instancecacheresult) cached_namefuncsentinelr r inners   zcached_property..inner)robjectr)rXrZr )rWrXrYr cached_propertys r\)F)N)N)"Z __future__rrrr8r#inspectrQrF UserWarningrZPersistentlyDeprecatedZDeprecatedIn21ZDeprecatedIn23rrrrr7r"r r'r/ Exceptionr4r5Z getargspecrr,r[r=rArSr\r r r r s: