U
    ‰¾úgì  ã                   @  s€   d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	m
Z
mZ ejdk rZddlmZ erhed ZneZG d	d
„ d
eƒZdS )é    )ÚannotationsN)ÚAbstractContextManager)ÚTracebackType)ÚTYPE_CHECKINGÚOptionalÚTypeÚcast)é   é   é   )ÚBaseExceptionGroupc                   @  s@   e Zd ZdZddœdd„Zddœdd	„Zd
ddddœdd„ZdS )Úsuppressz<Backport of :class:`contextlib.suppress` from Python 3.12.1.ztype[BaseException])Ú
exceptionsc                 G  s
   || _ d S ©N)Ú_exceptions)Úselfr   © r   ú</tmp/pip-unpacked-wheel-9cx8664k/exceptiongroup/_suppress.pyÚ__init__   s    zsuppress.__init__ÚNone)Úreturnc                 C  s   d S r   r   )r   r   r   r   Ú	__enter__   s    zsuppress.__enter__zOptional[Type[BaseException]]zOptional[BaseException]zOptional[TracebackType]Úbool)ÚexctypeÚexcinstÚexctbr   c                 C  sP   |d krdS t || jƒrdS t |tƒrLtt|ƒ | j¡\}}|d krHdS |‚dS )NFT)Ú
issubclassr   r   r   Úsplit)r   r   r   r   ÚmatchÚrestr   r   r   Ú__exit__   s    
zsuppress.__exit__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r    r   r   r   r   r      s   r   )Ú
__future__r   ÚsysÚ
contextlibr   Útypesr   Útypingr   r   r   r   Úversion_infor   r   Z	BaseClassr   r   r   r   r   Ú<module>   s   

