3 lá˜_‰ã@sddlmZmZmZddlZddlZddlZddlZddlZGdd„de ƒZ e Z e Z dd„Z dd„Zd d „Zd d „Zd d„ZeedƒrŽejZn d$dd„Zeedƒr®d%dd„Zn d&dd„ZGdd„deƒZeedƒrÚejZnejZdd„ZGdd„deƒZGdd„deƒZd d!„Zd"d#„Z dS)'é)Úabsolute_importÚdivisionÚprint_functionNc@s eZdZdS)ÚCryptographyDeprecationWarningN)Ú__name__Ú __module__Ú __qualname__©r r ú/usr/lib64/python3.6/utils.pyrsrcCst|tƒstdj|ƒƒ‚dS)Nz{} must be bytes)Ú isinstanceÚbytesÚ TypeErrorÚformat)ÚnameÚvaluer r r Ú _check_bytess rc Cs4y t|ƒWn"tk r.tdj|ƒƒ‚YnXdS)Nz{} must be bytes-like)Ú memoryviewr r)rrr r r Ú_check_byteslike s rcst‡fdd„ƒS)Ncs t|ˆƒS)N)Úgetattr)Úself)rr r Ú(sz$read_only_property..)Úproperty)rr )rr Úread_only_property'srcs‡fdd„}|S)Ncstˆ|ƒˆj|ƒ|S)N)Úverify_interfaceÚregister)Úklass)Úifacer r Úregister_decorator,s  z.register_interface..register_decoratorr )rrr )rr Úregister_interface+s rcs‡‡fdd„}|S)Ncsˆrtˆ|ƒˆj|ƒ|S)N)rr)r)rÚ predicater r r5s  z1register_interface_if..register_decoratorr )rrrr )rrr Úregister_interface_if4sr Ú from_bytesFcCs&|dks t‚| st‚ttj|ƒdƒS)NÚbigé)ÚAssertionErrorÚintÚbinasciiZhexlify)ÚdataÚ byteorderZsignedr r r Úint_from_bytesBs  r)Úto_bytescCs |j|p|jƒddpddƒS)Nééér")r*Ú bit_length)ÚintegerÚlengthr r r Ú int_to_bytesKsr1cCs:d|}|dkrt|ƒ}n|d}tj|j||d@ƒƒS)Nz%xér-)Úlenr&Z unhexlifyÚzfill)r/r0Z hex_stringÚnr r r r1Ss  c@s eZdZdS)ÚInterfaceNotImplementedN)rrrr r r r r6\sr6Ú signaturecCszxt|jD]j}t||ƒs&tdj||ƒƒ‚tt||ƒtjƒr:qtt||ƒƒ}tt||ƒƒ}||krtdj||||ƒƒ‚qWdS)Nz{} is missing a {!r} methodzK{}.{}'s signature differs from the expected. Expected: {!r}. Received: {!r}) Ú__abstractmethods__Úhasattrr6rr rÚabcÚabstractpropertyr7)rrÚmethodZsigÚactualr r r rfs  rc@seZdZdd„ZdS)Ú_DeprecatedValuecCs||_||_||_dS)N)rÚmessageÚ warning_class)rrr?r@r r r Ú__init__ysz_DeprecatedValue.__init__N)rrrrAr r r r r>xsr>c@s4eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd S) Ú_ModuleWithDeprecationscCs||jd<dS)NÚ_module)Ú__dict__)rÚmoduler r r rA€sz _ModuleWithDeprecations.__init__cCs4t|j|ƒ}t|tƒr0tj|j|jdd�|j}|S)Nr2)Ú stacklevel) rrCr r>ÚwarningsÚwarnr?r@r)rÚattrÚobjr r r Ú __getattr__ƒs   z#_ModuleWithDeprecations.__getattr__cCst|j||ƒdS)N)ÚsetattrrC)rrIrr r r Ú __setattr__Šsz#_ModuleWithDeprecations.__setattr__cCs:t|j|ƒ}t|tƒr*tj|j|jdd�t|j|ƒdS)Nr2)rF) rrCr r>rGrHr?r@Údelattr)rrIrJr r r Ú __delattr__�s  z#_ModuleWithDeprecations.__delattr__cCsdgt|jƒS)NrC)ÚdirrC)rr r r Ú__dir__”sz_ModuleWithDeprecations.__dir__N)rrrrArKrMrOrQr r r r rBs rBcCs.tj|}t|tƒs"t|ƒtj|<t|||ƒS)N)ÚsysÚmodulesr rBr>)rZ module_namer?r@rEr r r Ú deprecated˜s  rTcs(djˆƒ‰tƒ‰‡‡‡fdd„}t|ƒS)Nz _cached_{}cs0t|ˆˆƒ}|ˆk r|Sˆ|ƒ}t|ˆ|ƒ|S)N)rrL)ÚinstanceÚcacheÚresult)Ú cached_nameÚfuncÚsentinelr r Úinner£s   zcached_property..inner)rÚobjectr)rYr[r )rXrYrZr Úcached_propertyŸs r])F)N)N)!Z __future__rrrr:r&ÚinspectrRrGÚ UserWarningrZPersistentlyDeprecated2017ZPersistentlyDeprecated2019rrrrr r9r%r!r)r1Ú Exceptionr6r7Z getargspecrr\r>rBrTr]r r r r Ús8