
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
lá˜_‰  ã               @   s  d dl mZmZmZ d dlZd dlZd dlZd dlZd dlZG dd„ de	ƒZ
e
Ze
Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ ZeedƒrŽejZn
d$dd„Zeedƒr®d%dd„Zn
d&dd„ZG dd„ deƒZeedƒrÚejZnejZdd„ ZG dd„ deƒZG dd„ deƒZd d!„ Zd"d#„ Z dS )'é    )Úabsolute_importÚdivisionÚprint_functionNc               @   s   e Zd ZdS )ÚCryptographyDeprecationWarningN)Ú__name__Ú
__module__Ú__qualname__© r	   r	   ú/usr/lib64/python3.6/utils.pyr      s   r   c             C   s   t |tƒstdj| ƒƒ‚d S )Nz{} must be bytes)Ú
isinstanceÚbytesÚ	TypeErrorÚformat)ÚnameÚvaluer	   r	   r
   Ú_check_bytes   s    
r   c             C   s4   yt |ƒ W n" tk
r.   tdj| ƒƒ‚Y nX d S )Nz{} must be bytes-like)Ú
memoryviewr   r   )r   r   r	   r	   r
   Ú_check_byteslike    s    r   c                s   t ‡ fdd„ƒS )Nc                s
   t | ˆ ƒS )N)Úgetattr)Úself)r   r	   r
   Ú<lambda>(   s    z$read_only_property.<locals>.<lambda>)Úproperty)r   r	   )r   r
   Úread_only_property'   s    r   c                s   ‡ fdd„}|S )Nc                s   t ˆ | ƒ ˆ j| ƒ | S )N)Úverify_interfaceÚregister)Úklass)Úifacer	   r
   Úregister_decorator,   s    

z.register_interface.<locals>.register_decoratorr	   )r   r   r	   )r   r
   Úregister_interface+   s    r   c                s   ‡ ‡fdd„}|S )Nc                s   ˆrt ˆ | ƒ ˆ j| ƒ | S )N)r   r   )r   )r   Ú	predicater	   r
   r   5   s    

z1register_interface_if.<locals>.register_decoratorr	   )r   r   r   r	   )r   r   r
   Úregister_interface_if4   s    r    Ú
from_bytesFc             C   s   t tj| ƒdƒS )Né   )ÚintÚbinasciiZhexlify)ÚdataÚ	byteorderZsignedr	   r	   r
   Úint_from_bytesB   s    r'   Úto_bytesc             C   s    | j |p| jƒ d d pddƒS )Né   é   é   Zbig)r(   Ú
bit_length)ÚintegerÚlengthr	   r	   r
   Úint_to_bytesK   s    r/   c             C   s:   d|  }|d krt |ƒ}n|d }tj|j||d@  ƒƒS )Nz%xé   r+   )Úlenr$   Z	unhexlifyÚzfill)r-   r.   Z
hex_stringÚnr	   r	   r
   r/   S   s
    
c               @   s   e Zd ZdS )ÚInterfaceNotImplementedN)r   r   r   r	   r	   r	   r
   r4   \   s   r4   Ú	signaturec             C   sz   xt| j D ]j}t||ƒs&tdj||ƒƒ‚tt| |ƒtjƒr:qtt| |ƒƒ}tt||ƒƒ}||krtdj||||ƒƒ‚qW d S )Nz{} is missing a {!r} methodzK{}.{}'s signature differs from the expected. Expected: {!r}. Received: {!r})	Ú__abstractmethods__Úhasattrr4   r   r   r   ÚabcÚabstractpropertyr5   )r   r   ÚmethodZsigÚactualr	   r	   r
   r   f   s    
r   c               @   s   e Zd Zdd„ ZdS )Ú_DeprecatedValuec             C   s   || _ || _|| _d S )N)r   ÚmessageÚwarning_class)r   r   r=   r>   r	   r	   r
   Ú__init__y   s    z_DeprecatedValue.__init__N)r   r   r   r?   r	   r	   r	   r
   r<   x   s   r<   c               @   s4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )Ú_ModuleWithDeprecationsc             C   s   || j d< d S )NÚ_module)Ú__dict__)r   Úmoduler	   r	   r
   r?   €   s    z _ModuleWithDeprecations.__init__c             C   s4   t | j|ƒ}t|tƒr0tj|j|jdd� |j}|S )Nr0   )Ú
stacklevel)	r   rA   r   r<   ÚwarningsÚwarnr=   r>   r   )r   ÚattrÚobjr	   r	   r
   Ú__getattr__ƒ   s
    
z#_ModuleWithDeprecations.__getattr__c             C   s   t | j||ƒ d S )N)ÚsetattrrA   )r   rG   r   r	   r	   r
   Ú__setattr__Š   s    z#_ModuleWithDeprecations.__setattr__c             C   s:   t | j|ƒ}t|tƒr*tj|j|jdd� t| j|ƒ d S )Nr0   )rD   )	r   rA   r   r<   rE   rF   r=   r>   Údelattr)r   rG   rH   r	   r	   r
   Ú__delattr__�   s    
z#_ModuleWithDeprecations.__delattr__c             C   s   dgt | jƒ S )NrA   )ÚdirrA   )r   r	   r	   r
   Ú__dir__”   s    z_ModuleWithDeprecations.__dir__N)r   r   r   r?   rI   rK   rM   rO   r	   r	   r	   r
   r@      s
   r@   c             C   s.   t j| }t|tƒs"t|ƒt j|< t| ||ƒS )N)ÚsysÚmodulesr   r@   r<   )r   Zmodule_namer=   r>   rC   r	   r	   r
   Ú
deprecated˜   s    

rR   c                s(   dj ˆƒ‰ tƒ ‰‡ ‡‡fdd„}t|ƒS )Nz
_cached_{}c                s0   t | ˆ ˆƒ}|ˆk	r|S ˆ| ƒ}t| ˆ |ƒ |S )N)r   rJ   )ÚinstanceÚcacheÚresult)Úcached_nameÚfuncÚsentinelr	   r
   Úinner£   s    zcached_property.<locals>.inner)r   Úobjectr   )rW   rY   r	   )rV   rW   rX   r
   Úcached_propertyŸ   s    
r[   )F)N)N)!Z
__future__r   r   r   r8   r$   ÚinspectrP   rE   ÚUserWarningr   ZPersistentlyDeprecated2017ZPersistentlyDeprecated2019r   r   r   r   r    r7   r#   r!   r'   r/   Ú	Exceptionr4   r5   Z
getargspecr   rZ   r<   r@   rR   r[   r	   r	   r	   r
   Ú<module>   s8   	




	
