a b@sddlZddlZddlZddlZddlZddlZddlZGdddeZeZ eZ eZ eZ e eddddZe eddddZejrdd lmZejd ed ZGd d d eZejd dddZd*eejeedddZGdddeZejejdddZ ddeje!e"dddZ#GdddZ$Gd d!d!ej%Z&d+e!e e ej'e(eje e$d"d#d$Z)ej*e+d%d&d'Z,Gd(d)d)ej-Z-dS),Nc@s eZdZdS)CryptographyDeprecationWarningN__name__ __module__ __qualname__rr9/tmp/pip-target-98j97qn4/lib/python/cryptography/utils.pyrsr)namevaluereturncCst|tstd|dS)Nz{} must be bytes) isinstancebytes TypeErrorformatr r rrr _check_bytess rcCs2z t|Wn ty,td|Yn0dS)Nz{} must be bytes-like) memoryviewrrrrrr_check_byteslike#s  r)Protocol_T_class)boundc@s$eZdZddeeedddZdS)_RegisterDecoratorTypeFcheck_annotationsklassrr cCsdSNr)selfrrrrr__call__0sz_RegisterDecoratorType.__call__N)rrrrboolrrrrrr/s r)ifacer cs dddtddfdd}|S)NFrrrcst||d||S)Nr)verify_interfaceregister)rrr rrregister_decorator7s z.register_interface..register_decorator)r)r r$rr#rregister_interface6s r%)integerlengthr cCs ||p|ddpddS)Nbig)to_bytes bit_length)r&r'rrr int_to_bytesAsr.c@s eZdZdS)InterfaceNotImplementedNrrrrrr/Gsr/) signaturer cCstdd|jDS)NcSsg|]}|jtjjdqS)) annotation)replaceinspect Parameterempty).0paramrrr Msz$strip_annotation..)r3 Signature parametersvalues)r0rrrstrip_annotationKs r<Fr)r rrcCs|jD]}t||s$td||tt||tjr8qt t||}t t||}|rf||k}nt |t |k}|std||||qdS)Nz{} is missing a {!r} methodzK{}.{}'s signature differs from the expected. Expected: {!r}. Received: {!r}) __abstractmethods__hasattrr/rr getattrabcabstractpropertyr3r0r<)r rrmethodsigactualokrrrr!Ts$    r!c@seZdZeedddZdS)_DeprecatedValue)r messagecCs||_||_||_dSr)r rG warning_class)rr rGrHrrr__init__msz_DeprecatedValue.__init__N)rrrobjectstrrIrrrrrFlsrFcsjeZdZejdfdd ZeedddZeeddd d Z eddd d Z e j ed ddZ ZS)_ModuleWithDeprecations)modulecst|j||jd<dSN_module)superrIr__dict__)rrM __class__rrrItsz _ModuleWithDeprecations.__init__)attrr cCs4t|j|}t|tr0tj|j|jdd|j}|SN) stacklevel) r?rOr rFwarningswarnrGrHr rrTobjrrr __getattr__xs   z#_ModuleWithDeprecations.__getattr__N)rTr r cCst|j||dSr)setattrrO)rrTr rrr __setattr__sz#_ModuleWithDeprecations.__setattr__cCs:t|j|}t|tr*tj|j|jddt|j|dSrU) r?rOr rFrXrYrGrHdelattrrZrrr __delattr__s  z#_ModuleWithDeprecations.__delattr__r cCsdgt|jSrN)dirrOrrrr__dir__sz_ModuleWithDeprecations.__dir__)rrrtypes ModuleTyperIrKrJr\r^r`typingSequencerd __classcell__rrrRrrLss rL)r module_namerGrHr r cCsJtj|}t|ts&t|tj|<}t|||}|durFt||||Sr)sysmodulesr rLrFr])r rjrGrHr rMZdvrrr deprecateds    rm)funcr cs.dttdfdd }t|S)Nz _cached_{})instancecs0t|}|ur|S|}t|||Sr)r?r])rocacheresultZ cached_namernsentinelrrinners   zcached_property..inner)rrJproperty)rnrtrrrrcached_propertys rvc@s(eZdZedddZedddZdS)EnumracCs d|jjd|jd|jdS)N<.z: >)rSr_name__value_rcrrr__repr__sz Enum.__repr__cCs|jjd|jS)Nry)rSrr{rcrrr__str__sz Enum.__str__N)rrrrKr}r~rrrrrwsrw)N)N).r@enumr3rkrergrX UserWarningrZPersistentlyDeprecated2019ZDeprecatedIn35ZDeprecatedIn36ZDeprecatedIn37rKr rr TYPE_CHECKINGZtyping_extensionsrTypeVartyperrABCMetar%intOptionalr. Exceptionr/r9r<rJrr!rFrfrLTypeWarningrmCallablerurvrwrrrrsL