o
    JXhs                     @   sJ   d dl Z d dlZd dlZzd dlZW n ey   dZY nw dddZdS )    NTc                    s   	  fdd  S )Nc                    s|   t  tr. jd}|d u r  fdd} jd |_ j|_n|j}t|}| _ S t	
  fdd}|S )N
setUpClassc                    s   t  |   d S )N)superr   )clsfunc_or_class E/opt/python-3.10.19/usr/lib/python3.10/test/support/hashlib_helper.pyr      s   z:requires_hashdigest.<locals>.decorator.<locals>.setUpClassz.setUpClassc                     s^   zrt d urt j d ntj d W n ty'   td  dw | i |S )N)usedforsecurityzhash digest 'z' is not available.)_hashlibnewhashlib
ValueErrorunittestZSkipTest)argskwargs)
digestnamer   opensslr	   r   r   wrapper&   s   
z7requires_hashdigest.<locals>.decorator.<locals>.wrapper)
isinstancetype__dict__get__qualname__
__module____func__classmethodr   	functoolswraps)r   r   r   	decoratorr   r   r	   r   r   r      s   

z&requires_hashdigest.<locals>.decoratorr   )r   r   r	   r   r   r   requires_hashdigest   s   r    )NT)r   r   r   r
   ImportErrorr    r   r   r   r   <module>   s    