
    f+                       S SK Jr  S SKJrJr  S SKJr  S SKJrJ	r	  S SK
JrJrJrJrJrJr  \" S\SS9r\" S	\S
9r\" S\SS9r\" S\S
9r\" SSS
9r\" SSS
9r      SS jr    SS jrS r " S S\\\   5      r " S S\\   \5      rg)    )annotations)CallableSequence)partial)getmroisclass)TYPE_CHECKINGGenericTypeTypeVarcastoverload_BaseExceptionT_coT)bound	covariant_BaseExceptionT)r   _ExceptionT_co_ExceptionT_ExceptionGroupSelfExceptionGroup_BaseExceptionGroupSelfBaseExceptionGroupc                P    [        U R                  5      S S  H
  nX!;   d  M
    g   g)NTF)r   	__class__)excparentsclss      </usr/lib/python3/dist-packages/exceptiongroup/_exceptions.pycheck_direct_subclassr       s+     cmm$Sb)> *     c                X   [        U 5      (       a9  [        [        [        [           U 5      [        5      (       a  [        [        U 4S9$ [        U [        5      (       a&  [        S U  5       5      (       a  [        [        U S9$ O[        U 5      (       a  [        SU 5      $ [        S5      e)N)r   c              3  f   #    U  H'  n[        U5      =(       a    [        U[        5      v   M)     g 7fN)r   
issubclassBaseException).0xs     r   	<genexpr>'get_condition_filter.<locals>.<genexpr>%   s#     NIqwqz:jM::Is   /1zCallable[[BaseException], bool]z?expected a function, exception type or tuple of exception types)r   r%   r   r   r&   r   r    
isinstancetupleallcallable	TypeError)	conditions    r   get_condition_filterr1      s    
 yjT- ),m  ,ylCC	Iu	%	%NINNN0)DD O	)		5yAA
U
VVr!   c                    U R                  U5      nU R                  Ul        U R                  Ul        U R                  Ul        [	        U S5      (       a  [        U R                  5      Ul        U$ )N	__notes__)derive	__cause____context____traceback__hasattrlistr3   )selfexcsegs      r   _derive_and_copy_attributesr=   -   sX    	T	B>>BL%%BN))Bt[!!DNN+Ir!   c                    ^  \ rS rSrSr        SU 4S jjrSS jr\SS j5       r\  SS j5       r	\
    SS j5       r\
    SS j5       r\
    SS	 j5       r    SS
 jr\
    SS j5       r\
    SS j5       r\
    SS j5       r    S S jr\
S!S j5       r\
    S"S j5       r    S"S jrSS jrSS jrSrU =r$ )#r   8   z/A combination of multiple unrelated exceptions.c                x  > [        U[        5      (       d  [        S[        U5       35      e[        U[        5      (       d  [        S5      eU(       d  [        S5      e[        U5       H)  u  p4[        U[        5      (       a  M  [        SU S35      e   U [        L a  [        S U 5       5      (       a  [        n [        U [        5      (       aK  U HE  n[        U[        5      (       a  M  U [        L a  [        S5      e[        SU R                  < 35      e   [        TU ]=  XU5      nXl        X%l        U$ )	Nzargument 1 must be str, not z/second argument (exceptions) must be a sequencez9second argument (exceptions) must be a non-empty sequencezItem z4 of second argument (exceptions) is not an exceptionc              3  B   #    U  H  n[        U[        5      v   M     g 7fr$   )r+   	Exception)r'   r   s     r   r)   -BaseExceptionGroup.__new__.<locals>.<genexpr>P   s     F#:c9--s   z/Cannot nest BaseExceptions in an ExceptionGroupzCannot nest BaseExceptions in )r+   strr/   typer   
ValueError	enumerater&   r   r-   r   r%   rB   __name__super__new___message_exceptions)r   _BaseExceptionGroup__message_BaseExceptionGroup__exceptionsir   instancer   s         r   rJ   BaseExceptionGroup.__new__;   s.   
 )S)):4	?:KLMM,11MNNK   -FAc=11 A3RS  . $$FFFF$c9%%#!#y11n,'M  (<S\\<LM  $ 7?3<@%+r!   c                    [        U[        5      (       d&  [        SU< S[        U5      R                   S35      e[        U S5      (       d  / U l        U R                  R                  U5        g )NzExpected a string, got note=z (type )r3   )r+   rD   r/   rE   rH   r8   r3   append)r:   notes     r   add_noteBaseExceptionGroup.add_noted   sb    $$$.thgd4j>Q>Q=RRST  t[))(*DNd#r!   c                    U R                   $ r$   )rK   r:   s    r   messageBaseExceptionGroup.messageo   s    }}r!   c                ,    [        U R                  5      $ r$   )r,   rL   rY   s    r   
exceptionsBaseExceptionGroup.exceptionss   s     T%%&&r!   c                    g r$    r:   _BaseExceptionGroup__conditions     r   subgroupBaseExceptionGroup.subgroupy   s     .1r!   c                    g r$   r`   ra   s     r   rc   rd   ~   s     69r!   c                    g r$   r`   ra   s     r   rc   rd      s     9<r!   c                l   [        U5      nSnU" U 5      (       a  U $ / nU R                   Hi  n[        U[        5      (       a/  UR	                  U5      nUb  UR                  U5        XeLa  SnME  MG  U" U5      (       a  UR                  U5        Mg  SnMk     U(       d  U $ U(       a  [        X5      nU$ g )NFT)r1   r]   r+   r   rc   rT   r=   )r:   rb   r0   modifiedr]   r   rc   groups           r   rc   rd      s     )5	T??K*,
??C#122<<4'%%h/&#H '3!!#& # K/AELr!   c                    g r$   r`   ra   s     r   splitBaseExceptionGroup.split        r!   c                    g r$   r`   ra   s     r   rk   rl      rm   r!   c                    g r$   r`   ra   s     r   rk   rl      s     r!   c                   [        U5      nU" U 5      (       a  U S 4$ / n/ nU R                   H  n[        U[        5      (       a?  UR	                  U5      u  pgUb  UR                  U5        Ub  UR                  U5        MU  MW  U" U5      (       a  UR                  U5        Mw  UR                  U5        M     S nU(       a  [        X5      nS n	U(       a  [        X5      n	X4$ r$   )r1   r]   r+   r   rk   rT   r=   )
r:   rb   r0   matching_exceptionsnonmatching_exceptionsr   matchingnonmatchingmatching_groupnonmatching_groups
             r   rk   rl      s    & )5	T??:3568??C#122(+		)(<%''..x8**11+> +3#**3/&--c2 # :>8SN<@! ;! 00r!   c                    g r$   r`   r:   _BaseExceptionGroup__excss     r   r4   BaseExceptionGroup.derive   s    TWr!   c                    g r$   r`   rx   s     r   r4   rz      s     /2r!   c                .    [        U R                  U5      $ r$   )r   rZ   rx   s     r   r4   rz      s     "$,,77r!   c                    [        U R                  5      S:X  a  SOSnU R                   S[        U R                  5       SU S3$ )N    sz (z sub-exceptionrS   )lenrL   rZ   )r:   suffixs     r   __str__BaseExceptionGroup.__str__  sD    4++,1s,,r#d&6&6"7!8vhaPPr!   c                l    U R                   R                   SU R                  < SU R                  < S3$ )N(z, rS   )r   rH   rZ   rL   rY   s    r   __repr__BaseExceptionGroup.__repr__  s3    ..))*!DLL+;2d>N>N=QQRSSr!   )r3   )r   ztype[_BaseExceptionGroupSelf]rM   rD   rN   zSequence[_BaseExceptionT_co]returnr   )rU   rD   r   None)r   rD   )r   zGtuple[_BaseExceptionT_co | BaseExceptionGroup[_BaseExceptionT_co], ...])rb   1type[_ExceptionT] | tuple[type[_ExceptionT], ...]r   "ExceptionGroup[_ExceptionT] | None)rb   9type[_BaseExceptionT] | tuple[type[_BaseExceptionT], ...]r   *BaseExceptionGroup[_BaseExceptionT] | None)rb   >Callable[[_BaseExceptionT_co | _BaseExceptionGroupSelf], bool]r   z-BaseExceptionGroup[_BaseExceptionT_co] | None)rb   zztype[_BaseExceptionT] | tuple[type[_BaseExceptionT], ...] | Callable[[_BaseExceptionT_co | _BaseExceptionGroupSelf], bool]r   r   )rb   r   r   zXtuple[ExceptionGroup[_ExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None])rb   r   r   z`tuple[BaseExceptionGroup[_BaseExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None])rb   r   r   zctuple[BaseExceptionGroup[_BaseExceptionT_co] | None, BaseExceptionGroup[_BaseExceptionT_co] | None])rb   `type[_BaseExceptionT] | tuple[type[_BaseExceptionT], ...] | Callable[[_BaseExceptionT_co], bool]r   a!  tuple[ExceptionGroup[_ExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None] | tuple[BaseExceptionGroup[_BaseExceptionT] | None, BaseExceptionGroup[_BaseExceptionT_co] | None] | tuple[BaseExceptionGroup[_BaseExceptionT_co] | None, BaseExceptionGroup[_BaseExceptionT_co] | None])ry   zSequence[_ExceptionT]r   zExceptionGroup[_ExceptionT])ry   zSequence[_BaseExceptionT]r   z#BaseExceptionGroup[_BaseExceptionT])rH   
__module____qualname____firstlineno____doc__rJ   rV   propertyrZ   r]   r   rc   rk   r4   r   r   __static_attributes____classcell__r   s   @r   r   r   8   s   9'*'' 3' 
!	'R	$   '	P' '
 1L1	+1 1 9T9	39 9 <S< 
7< <
I
 
4B L
  T
  S
 01/01	
01d W W2/2	,2 28/8	,8
QT Tr!   c                    ^  \ rS rSr        SU 4S jjr\(       ad  \  SS j5       r\    SS j5       r	\    SS j5       r	    SU 4S jjr	\    SS j5       r
\    SS j5       r
      SU 4S	 jjr
S
rU =r$ S
rU =r$ )r   i
  c                $   > [         TU ]  XU5      $ r$   )rI   rJ   )r   _ExceptionGroup__message_ExceptionGroup__exceptionsr   s      r   rJ   ExceptionGroup.__new__  s    
 ws|<<r!   c                    g r$   r`   rY   s    r   r]   ExceptionGroup.exceptions  s	     KNr!   c                    g r$   r`   r:   _ExceptionGroup__conditions     r   rc   ExceptionGroup.subgroup  s     25r!   c                    g r$   r`   r   s     r   rc   r     s     58r!   c                "   > [         TU ]  U5      $ r$   )rI   rc   r:   r   r   s     r   rc   r   #  s     7#K00r!   c                    g r$   r`   r   s     r   rk   ExceptionGroup.split+      
 r!   c                    g r$   r`   r   s     r   rk   r   2  r   r!   c                "   > [         TU ]  U5      $ r$   )rI   rk   r   s     r   rk   r   9  s     7=--r!   r`   )r   ztype[_ExceptionGroupSelf]r   rD   r   zSequence[_ExceptionT_co]r   r   )r   z;tuple[_ExceptionT_co | ExceptionGroup[_ExceptionT_co], ...])r   r   r   r   )r   6Callable[[_ExceptionT_co | _ExceptionGroupSelf], bool]r   z%ExceptionGroup[_ExceptionT_co] | None)r   Ttype[_ExceptionT] | tuple[type[_ExceptionT], ...] | Callable[[_ExceptionT_co], bool]r   r   )r   r   r   zPtuple[ExceptionGroup[_ExceptionT] | None, ExceptionGroup[_ExceptionT_co] | None])r   r   r   Stuple[ExceptionGroup[_ExceptionT_co] | None, ExceptionGroup[_ExceptionT_co] | None])r:   r   r   r   r   r   )rH   r   r   r   rJ   r	   r   r]   r   rc   rk   r   r   r   s   @r   r   r   
  s'   =&== /= 
	= 		NH	N 
	N 
	5P	5/	5 
	5 
	8U	82	8 
	8	1/	1
 0	1 
	P	
	 
	 
	U	
	 
		.%	./	.

	. 	.O r!   N)r   r&   r   ztuple[type[BaseException]]r   bool)r0   r   r   z$Callable[[_BaseExceptionT_co], bool])
__future__r   collections.abcr   r   	functoolsr   inspectr   r   typingr	   r
   r   r   r   r   r&   r   r   rB   r   r   r   r   r    r1   r=   r   r   r`   r!   r   <module>r      s    " .  # H H1RVW +=A)dKm953;KL !";CWX 	!;	W+W *	W$OT0B(C OTd7.'7 7.r!   