Current File : //usr/local/apps/python3/lib/python3.11/test/__pycache__/test_exception_group.cpython-311.pyc
�

�Ke���@�ddlZddlZddlZddlZGd�dej��ZGd�dej��ZGd�dej��ZGd�d	ej��Z	d
�Z
Gd�dej��ZGd
�dej��ZGd�de��Z
Gd�de��ZGd�dej��Zd"d�ZGd�dej��Zd�ZGd�de��ZGd�de��ZGd�de��ZGd�d e��Zed!krej��dSdS)#�Nc� �eZdZd�Zd�Zd�ZdS)�TestExceptionGroupTypeHierarchyc��|�ttt����|�ttt����|�ttt
����dS�N)�
assertTrue�
issubclass�ExceptionGroup�	Exception�BaseExceptionGroup�
BaseException��selfs �C/usr/local/apps/python3/lib/python3.11/test/test_exception_group.py�test_exception_group_typesz:TestExceptionGroupTypeHierarchy.test_exception_group_typess^�����
�>�9�=�=�>�>�>����
�>�3E�F�F�G�G�G����
�#5�}�E�E�F�F�F�F�F�c��|�td��5ttddd��dS#1swxYwYdS)Nr
)�assertRaisesRegex�	TypeErrorr
�OSErrorr
s r�"test_exception_is_not_generic_typezBTestExceptionGroupTypeHierarchy.test_exception_is_not_generic_type
s���
�
#�
#�I�{�
;�
;�	�	��g���	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�<�A�Ac��t}|�t|tj��|�t
|tj��dSr)r�assertIsInstancer	�types�GenericAliasr)r�Es  r�$test_exception_group_is_generic_typezDTestExceptionGroupTypeHierarchy.test_exception_group_is_generic_typesJ�������n�Q�/��1C�D�D�D����0��3�U�5G�H�H�H�H�HrN)�__name__�
__module__�__qualname__rrr�rrrrsI������G�G�G�
���I�I�I�I�Irrc�&�eZdZd�Zd�Zd�Zd�ZdS)�BadConstructorArgsc���d}|�t|��5td��ddd��n#1swxYwY|�t|��5ttd��g��ddd��n#1swxYwY|�t|��5tdtd��gtd��g��ddd��dS#1swxYwYdS)Nz8BaseExceptionGroup.__new__\(\) takes exactly 2 argumentsz	no errorszno msg�eg�too�many�rrr	�
ValueError�r�MSGs  r�'test_bad_EG_construction__too_many_argsz:BadConstructorArgs.test_bad_EG_construction__too_many_argss���I��
�
#�
#�I�s�
3�
3�	(�	(��;�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
#�
#�I�s�
3�
3�	3�	3��J�x�0�0�1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
#�
#�I�s�
3�
3�	K�	K��4�*�U�"3�"3�!4�y��7H�7H�6I�J�J�J�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K�	K����	K�	K�	K�	K�	K�	Ks1�:�>�>� B
�
B�B�0.C+�+C/�2C/c�h�d}|�t|��5ttd��t	d����ddd��n#1swxYwY|�t|��5tdtd��g��ddd��dS#1swxYwYdS)Nzargument 1 must be str, not �z
bad syntax)rrr	r(�SyntaxErrorr)s  r�%test_bad_EG_construction__bad_messagez8BadConstructorArgs.test_bad_EG_construction__bad_message!s4��,��
�
#�
#�I�s�
3�
3�	F�	F��:�b�>�>�;�|�+D�+D�E�E�E�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F�	F����	F�	F�	F�	F�
�
#�
#�I�s�
3�
3�	3�	3��4�*�R�.�.�!1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3s#�+A�A�A�;B'�'B+�.B+c��d}|�t|��5tdtd��h��ddd��n#1swxYwY|�t|��5tdd��ddd��n#1swxYwYd}|�t|��5tdg��ddd��dS#1swxYwYdS)Nz1second argument \(exceptions\) must be a sequencezerrors not sequence�*r$z;second argument \(exceptions\) must be a non-empty sequencer'r)s  r�+test_bad_EG_construction__bad_excs_sequencez>BadConstructorArgs.test_bad_EG_construction__bad_excs_sequence(s���B��
�
#�
#�I�s�
3�
3�	D�	D��0�:�b�>�>�2B�C�C�C�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�
�
#�
#�I�s�
3�
3�	'�	'��4��&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�M��
�
#�
#�J��
4�
4�	%�	%��4��$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s5�A	�	A
�A
�/B�B�B�4C�C�Cc�&�d}|�t|��5tdtg��ddd��n#1swxYwY|�t|��5tddg��ddd��dS#1swxYwYdS)NzAItem [0-9]+ of second argument \(exceptions\) is not an exceptionzexpect instance, not typez	bad errorznot an exception)rr(r	rr)s  r�/test_bad_EG_construction__nested_non_exceptionszBBadConstructorArgs.test_bad_EG_construction__nested_non_exceptions3s&��%��
�
#�
#�J��
4�
4�	D�	D��6��	�B�B�B�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�
�
#�
#�J��
4�
4�	>�	>��;�);�(<�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s#�A�A�A�'B�B
�
B
N)rrrr+r/r2r4r rrr"r"sS������K�K�K�3�3�3�	%�	%�	%�>�>�>�>�>rr"c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�InstanceCreationc��td��td��g}|�tt	d|����t��dS)N��r$)r(r�assertIs�typer	�r�excss  r�$test_EG_wraps_Exceptions__creates_EGz5InstanceCreation.test_EG_wraps_Exceptions__creates_EG=sP���1�
�
�y��|�|�,���
�
����d�+�+�,�,��	�	�	�	�	rc��td��td��g}|�tt	d|����t
��dS)Nr8r9�beg)r(rr:r;rr	r<s  r�%test_BEG_wraps_Exceptions__creates_EGz6InstanceCreation.test_BEG_wraps_Exceptions__creates_EGCsQ���1�
�
�y��|�|�,���
�
��#�E�4�0�0�1�1��	�	�	�	�	rc���d}|�t|��5tdtd��t	d��g��}ddd��dS#1swxYwYdS)Nz/Cannot nest BaseExceptions in an ExceptionGroupr$r8r9)rrr	r(�KeyboardInterrupt)rr*r$s   r�-test_EG_wraps_BaseException__raises_TypeErrorz>InstanceCreation.test_EG_wraps_BaseException__raises_TypeErrorIs���
>��
�
#�
#�I�s�
3�
3�	M�	M���z�!�}�}�6G��6J�6J�&K�L�L�B�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M�	M����	M�	M�	M�	M�	M�	Ms�-A�A�Ac��tdtd��td��g��}|�t	|��t��dS)Nr@r8r9)rr(rCr:r;)rr@s  r�)test_BEG_wraps_BaseException__creates_BEGz:InstanceCreation.test_BEG_wraps_BaseException__creates_BEGNsF�� ���A���8I�!�8L�8L�(M�N�N���
�
�d�3�i�i�!3�4�4�4�4�4rc��Gd�dt��}|�t|dtd��t	d��g����|��dS)Nc��eZdZdS)�IInstanceCreation.test_EG_subclass_wraps_non_base_exceptions.<locals>.MyEGN�rrrr rr�MyEGrIS��������DrrKr$r-r1)r	r:r;r(r)rrKs  r�*test_EG_subclass_wraps_non_base_exceptionsz;InstanceCreation.test_EG_subclass_wraps_non_base_exceptionsRsy��	�	�	�	�	�>�	�	�	�	
�
�
����d�Z��^�^�Y�r�]�]�;�<�<�=�=��	�	�	�	�	rc���Gd�dt��}d}|�t|��5|dtd��t	d��g��ddd��dS#1swxYwYdS)Nc��eZdZdS)�MInstanceCreation.test_EG_subclass_does_not_wrap_base_exceptions.<locals>.MyEGNrJr rrrKrP[rLrrK�$Cannot nest BaseExceptions in 'MyEG'r$r-r1)r	rrr(rC�rrK�msgs   r�.test_EG_subclass_does_not_wrap_base_exceptionsz?InstanceCreation.test_EG_subclass_does_not_wrap_base_exceptionsZs���	�	�	�	�	�>�	�	�	�5��
�
#�
#�I�s�
3�
3�	@�	@��D��
�2���(9�"�(=�(=�>�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@s�)A'�'A+�.A+c���Gd�dtt��}d}|�t|��5|dtd��t	d��g��ddd��dS#1swxYwYdS)Nc��eZdZdS)�TInstanceCreation.test_BEG_and_E_subclass_does_not_wrap_base_exceptions.<locals>.MyEGNrJr rrrKrWcrLrrKrQr$r-r1)rr(rrrCrRs   r�5test_BEG_and_E_subclass_does_not_wrap_base_exceptionszFInstanceCreation.test_BEG_and_E_subclass_does_not_wrap_base_exceptionsbs���	�	�	�	�	�%�z�	�	�	�5��
�
#�
#�I�s�
3�
3�	@�	@��D��
�2���(9�"�(=�(=�>�?�?�?�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	@�	@s�)A-�-A1�4A1c�P�Gd�dt��}|�t|dtd��t	d��g����|��|�t|dtd��td��g����|��dS)Nc��eZdZdS)�@InstanceCreation.test_BEG_subclass_wraps_anything.<locals>.MyBEGNrJr rr�MyBEGr[lrLrr\r$r-r1)rr:r;r(rrC)rr\s  r� test_BEG_subclass_wraps_anythingz1InstanceCreation.test_BEG_subclass_wraps_anythingks���	�	�	�	�	�&�	�	�	�	
�
�
����t�j��n�n�i��m�m�<�=�=�>�>��	�	�	�	
�
�
����t�j��n�n�.?��.C�.C�D�E�E�F�F��	�	�	�	�	rN)rrrr>rArDrFrMrTrXr]r rrr6r6<s�������������M�M�M�
5�5�5����@�@�@�@�@�@�	�	�	�	�	rr6c� �eZdZd�Zd�Zd�ZdS)�StrAndReprTestsc	���tdtd��td��g��}|�t	|��d��|�t|��d��td|td��|td��g��}|�t	|��d��|�t|��d��dS)	N�flatr8r9�flat (2 sub-exceptions)z5ExceptionGroup('flat', [ValueError(1), TypeError(2)])�nested�nested (4 sub-exceptions)z�ExceptionGroup('nested', [ExceptionGroup('flat', [ValueError(1), TypeError(2)]), ValueError(1), ExceptionGroup('flat', [ValueError(1), TypeError(2)]), TypeError(2)]))rr(r�assertEqual�str�repr�rr$s  r�test_ExceptionGroupz#StrAndReprTests.test_ExceptionGroupxs���
��Z��]�]�I�a�L�L�1�3�3��	
����R���";�<�<�<�����b���C�	E�	E�	E� ��r�:�a�=�=�"�i��l�l�;�=�=��	
����R���"=�>�>�>�����b���
E�	F�	F�	F�	F�	Frc��tdtd��td��g��}|�t	|��d��|�t|��d��td|td��|g��}|�t	|��d��|�t|��d��dS)	Nrar8r9rbzABaseExceptionGroup('flat', [ValueError(1), KeyboardInterrupt(2)])rcznested (3 sub-exceptions)z�BaseExceptionGroup('nested', [BaseExceptionGroup('flat', [ValueError(1), KeyboardInterrupt(2)]), ValueError(1), BaseExceptionGroup('flat', [ValueError(1), KeyboardInterrupt(2)])]))rr(rCrerfrgrhs  r�test_BaseExceptionGroupz'StrAndReprTests.test_BaseExceptionGroup�s���
��Z��]�]�$5�a�$8�$8�9�;�;��	
����R���";�<�<�<�����b���
9�	:�	:�	:�
 ��r�:�a�=�=�"�-�/�/��	
����R���"=�>�>�>�����b���
?�	@�	@�	@�	@�	@rc	���Gd�dt��}|dtd��td��g��}|�t	|��d��|�t|��d��|d|td��|td��g��}|�t	|��d	��|�t|��d
��dS)Nc��eZdZdS)�3StrAndReprTests.test_custom_exception.<locals>.MyEGNrJr rrrKrn�rLrrKrar8r9rbz+MyEG('flat', [ValueError(1), TypeError(2)])rcrdz�MyEG('nested', [MyEG('flat', [ValueError(1), TypeError(2)]), ValueError(1), MyEG('flat', [ValueError(1), TypeError(2)]), TypeError(2)]))r	r(rrerfrg)rrKr$s   r�test_custom_exceptionz%StrAndReprTests.test_custom_exception�s
��	�	�	�	�	�>�	�	�	��T��Z��]�]�I�a�L�L�1�3�3��	
����R���";�<�<�<�����b���#P�Q�Q�Q�
�T��r�:�a�=�=�"�i��l�l�;�=�=��	
����R���"=�>�>�>�����b���'�	)�	)�	)�	)�	)rN)rrrrirkror rrr_r_wsG������F�F�F�(@�@�@�,)�)�)�)�)rr_c��g}		td���#t$r}td��|�d}~wwxYw#t$r}|�|��Yd}~nd}~wwxYw		td���#t$r}t	t
���d}~wwxYw#t$r}|�|��Yd}~nd}~wwxYw		t
d���#t$r}td���d}~wwxYw#t$r}|�|��Yd}~nd}~wwxYw	td|���#t$r}|cYd}~Sd}~wwxYw)Nz#context and cause for ValueError(1)r8zcontext for TypeErrorzcontext for ValueError(2)r9�	simple eg)�MemoryErrorr(�appendrr�int�ImportErrorr	)r=�es  r�create_simple_egrw�s���
�D��	'��C�D�D�D���	'�	'�	'��Q�-�-�Q�&�����	'������������A������������������	!��1�2�2�2���	!�	!�	!��C�.�.� �����	!������������A������������������	 ��9�:�:�:���	 �	 �	 ��Q�-�-������	 ������������A�������������������[�$�/�/�/��������������������s���
3�.�3�6�
A�A�A�$A3�3
B�=B�B�B�
C�#B=�=C�C�
C4� C/�/C4�4C7�7
D �D�D �$D4�4
E
�>E�?E
�E
c��eZdZd�Zd�ZdS)�ExceptionGroupFieldsc��t��}|�|jd��|�|jdd��|�|jdt��|�|jdjt��|�|jdj	t��|�|jdt��|�|jdj��|�|jdj	t��|�|jdt��|�|jdj��|�|jdj	t��tjj}|dz|dz|dz|dzgg}|�|jj|d��|�|jj��t'd	��D]U}|j|j}|�|j��|�|j|d|���VdS)
Nrqrr8r9�����)rwre�message�argsr�
exceptionsr(�	__cause__rr�__context__r�assertIsNonerru�__code__�co_firstlineno�
__traceback__�	tb_lineno�tb_next�range)rr$�line0�
tb_linenos�i�tbs      r�!test_basics_ExceptionGroup_fieldsz6ExceptionGroupFields.test_basics_ExceptionGroup_fields�s+��
�
�
��	
�����[�1�1�1��������[�1�1�1�	
���b�m�A�.�
�;�;�;����b�m�A�.�8�+�F�F�F����b�m�A�.�:�K�H�H�H����b�m�A�.�	�:�:�:����"�-��*�4�5�5�5����b�m�A�.�:�G�D�D�D����b�m�A�.�
�;�;�;����"�-��*�4�5�5�5����b�m�A�.�:�K�H�H�H�!�)�8���b�j��q�y�%�"�*�e�b�j�9�;�
�����)�3�Z��]�C�C�C����"�*�2�3�3�3��q���	=�	=�A���q�!�/�B����b�j�)�)�)����R�\�:�a�=��+;�<�<�<�<�	=�	=rc���tdtd��td��g��}|�t	|j��t��|j|�t��5d|_ddd��n#1swxYwY|j|�t��5td��g|_ddd��dS#1swxYwYdS)Nr$r8r9znew msg�xyz)
r	rrrer;r��tupler��assertRaises�AttributeErrorrhs  r�test_fields_are_readonlyz-ExceptionGroupFields.test_fields_are_readonly�sJ��
�D�9�Q�<�<�����"<�
=�
=������b�m�,�,�e�4�4�4�
�
�
�
�
�
�~�
.�
.�	#�	#�"�B�J�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	�
�
�
�
�
�~�
.�
.�	-�	-�$�U�^�^�,�B�M�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s$�;B�B�B�;C�C"�%C"N)rrrr�r�r rrryry�s2������=�=�=�:-�-�-�-�-rryc��eZdZd�ZdS)�ExceptionGroupTestBasec�l�|�#|�t|��|��t|t��r�|�|t
jj��|�t|j
��t|����t|j
|��D]\}}|�|d|���dS|�|t��|�t|��t|����|�|j|j��dS)a� Assert that the exception matches the template

            A template describes the shape of exc. If exc is a
            leaf exception (i.e., not an exception group) then
            template is an exception instance that has the
            expected type and args value of exc. If exc is an
            exception group, then template is a list of the
            templates of its nested exceptions.
        N)r:r;�
isinstancerr�collections�abc�Sequencere�lenr��zip�assertMatchesTemplaterr�)r�exc�exc_type�templaterv�ts      rr�z,ExceptionGroupTestBase.assertMatchesTemplates�����M�M�$�s�)�)�X�.�.�.��c�-�.�.�	6��!�!�(�K�O�,D�E�E�E����S���0�0�#�h�-�-�@�@�@��C�N�H�5�5�
7�
7���1��*�*�1�d�A�6�6�6�6�
7�
7�
�!�!�(�M�:�:�:����T�#�Y�Y��X���7�7�7����S�X�x�}�5�5�5�5�5rN)rrrr�r rrr�r�s#������6�6�6�6�6rr�c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�ExceptionGroupSubgroupTestsc��t��|_td��tt��td��g|_dS�Nr8r9�rwr$r(rrt�eg_templater
s r�setUpz!ExceptionGroupSubgroupTests.setUp�6��"�$�$���&�q�M�M�9�S�>�>�:�a�=�=�I����rc��dtd��ttgtdfg}|D]�}|�t��5|j�|��ddd��n#1swxYwY|�t��5|j�|��ddd��n#1swxYwY��dS)Nzbad argzinstance not typer1)rrr�r$�subgroup�split)r�bad_args�args   r�(test_basics_subgroup_split__bad_arg_typezDExceptionGroupSubgroupTests.test_basics_subgroup_split__bad_arg_type"s?����/�0�0��i�(��b�M�#���	#�	#�C��"�"�9�-�-�
&�
&��� � ��%�%�%�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&����
&�
&�
&�
&��"�"�9�-�-�
#�
#���
�
�c�"�"�"�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#����
#�
#�
#�
#��	#�	#s$�A,�,A0	�3A0	�B8�8B<	�?B<	c��|j}|�||�t����|�||�t����|�||�t
����|�||�t����dSr)r$r:r�rr
rr	rhs  r�)test_basics_subgroup_by_type__passthroughzEExceptionGroupSubgroupTests.test_basics_subgroup_by_type__passthrough-s���
�W���
�
�b�"�+�+�m�4�4�5�5�5��
�
�b�"�+�+�i�0�0�1�1�1��
�
�b�"�+�+�&8�9�9�:�:�:��
�
�b�"�+�+�n�5�5�6�6�6�6�6rc�j�|�|j�t����dSr)r�r$r�rr
s r�&test_basics_subgroup_by_type__no_matchzBExceptionGroupSubgroupTests.test_basics_subgroup_by_type__no_match4s,�����$�'�*�*�7�3�3�4�4�4�4�4rc���|j}ttd��td��gfttt��gfttf|jfg}|D]�\}}|�|���5|�|��}|�|j|j��|�	|t|��ddd��n#1swxYwY��dS)Nr8r9)�match)r$r(rrtr��subTestr�rer�r�r	)rr$�	testcases�
match_typer��subegs      r�#test_basics_subgroup_by_type__matchz?ExceptionGroupSubgroupTests.test_basics_subgroup_by_type__match7s.��
�W���*�Q�-�-��A���7�8�
��3���(�)��)�
$�d�&6�7�	9�	�%.�	L�	L� �J�����J��/�/�
L�
L����J�/�/��� � ����
�;�;�;��*�*�5�.�(�K�K�K�
L�
L�
L�
L�
L�
L�
L�
L�
L�
L�
L����
L�
L�
L�
L��	L�	Ls�:AC�C	�C	c�n�|�|j|j�d�����dS)Nc��dS�NTr �rvs r�<lambda>z\ExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__passthrough.<locals>.<lambda>Fs��$�r)r:r$r�r
s r�.test_basics_subgroup_by_predicate__passthroughzJExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__passthroughEs0���
�
�d�g�t�w�/�/���?�?�@�@�@�@�@rc�b�|�|j�d�����dS)Nc��dS�NFr r�s rr�zYExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__no_match.<locals>.<lambda>Is��U�r)r�r$r�r
s r�+test_basics_subgroup_by_predicate__no_matchzGExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__no_matchHs.�����$�'�*�*�?�?�;�;�<�<�<�<�<rc�x��|j}ttd��td��gfttt��gfttf|jfg}|D]Y\�}|��fd���}|�|j|j��|�|t|���ZdS)Nr8r9c�$��t|���Sr�r��rvr�s �rr�zVExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__match.<locals>.<lambda>Ts���*�Q�
�*C�*C�r)
r$r(rrtr�r�rer�r�r	)rr$r�r�r�r�s     @r�(test_basics_subgroup_by_predicate__matchzDExceptionGroupSubgroupTests.test_basics_subgroup_by_predicate__matchKs����
�W���*�Q�-�-��A���7�8�
��3���(�)��)�
$�d�&6�7�	9�	�%.�	H�	H� �J���K�K� C� C� C� C�D�D�E����U�]�B�J�7�7�7��&�&�u�n�h�G�G�G�G�	H�	HrN)rrrr�r�r�r�r�r�r�r�r rrr�r�s�������J�J�J�	#�	#�	#�7�7�7�5�5�5�L�L�L�A�A�A�=�=�=�H�H�H�H�Hrr�c�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�ExceptionGroupSplitTestsc��t��|_td��tt��td��g|_dSr�r�r
s rr�zExceptionGroupSplitTests.setUpZr�rc���ttttfD]U}|j�|��\}}|�|t|j��|�|���VdSr)	rr
rr	r$r�r�r�r�)rrr��rests    r�&test_basics_split_by_type__passthroughz?ExceptionGroupSplitTests.test_basics_split_by_type__passthrough^sw����$�n�6�	$�	$�A��'�-�-��*�*�K�E�4��&�&��~�t�'7�
9�
9�
9����d�#�#�#�#�	$�	$rc��|j�t��\}}|�|��|�|t
|j��dSr)r$r�rr�r�r	r��rr�r�s   r�#test_basics_split_by_type__no_matchz<ExceptionGroupSplitTests.test_basics_split_by_type__no_matchfsY���g�m�m�G�,�,���t����%� � � ��"�"��.�$�"2�	4�	4�	4�	4�	4rc��|j}t}t}||d��|d��g|t��gf||t��g|d��|d��gf||f|jdft
|f|d��|d��g|t��gfg}|D]�\}}}|�|��\}}	|�|j|j��|�	|t|��|�=|�|	j|j��|�	|	t|����|�|	����dSr�)r$r(rrtr�rr�rer�r�r	r�)
rr$�VE�TEr�r��match_template�
rest_templater�r�s
          r� test_basics_split_by_type__matchz9ExceptionGroupSplitTests.test_basics_split_by_type__matchlsw��
�W��
��
���"�"�Q�%�%���A����"�"�S�'�'��+�
�"�"�S�'�'��R�R��U�U�B�B�q�E�E�N�+��"�X�t�'��.��r�]�R�R��U�U�B�B�q�E�E�N�R�R��W�W�I�6�
�	�:C�
	(�
	(�5�J��
��(�(�:�.�.�K�E�4����U�]�B�J�7�7�7��&�&��~�~�
7�
7�
7��(�� � ���r�z�:�:�:��*�*��.�-�9�9�9�9��!�!�$�'�'�'�'�
	(�
	(rc��|j�d���\}}|�|t|j��|�|��dS)Nc��dSr�r r�s rr�zVExceptionGroupSplitTests.test_basics_split_by_predicate__passthrough.<locals>.<lambda>�s��d�r)r$r�r�r	r�r�r�s   r�+test_basics_split_by_predicate__passthroughzDExceptionGroupSplitTests.test_basics_split_by_predicate__passthrough�sP���g�m�m�N�N�3�3���t��"�"�5�.�$�:J�K�K�K����$�����rc��|j�d���\}}|�|��|�|t|j��dS)Nc��dSr�r r�s rr�zSExceptionGroupSplitTests.test_basics_split_by_predicate__no_match.<locals>.<lambda>�s��e�r)r$r�r�r�r	r�r�s   r�(test_basics_split_by_predicate__no_matchzAExceptionGroupSplitTests.test_basics_split_by_predicate__no_match�sP���g�m�m�O�O�4�4���t����%� � � ��"�"�4���9I�J�J�J�J�Jrc�$�	�|j}t}t}||d��|d��g|t��gf||t��g|d��|d��gf||f|jdfg}|D]�\�	}}|��	fd���\}}|�|j|j��|�|t|��|�<|�|j|j��|�|t|����dS)Nr8r9c�$��t|���Srr�r�s �rr�zPExceptionGroupSplitTests.test_basics_split_by_predicate__match.<locals>.<lambda>�s���Z��:�-F�-F�r)
r$r(rrtr�r�rer�r�r	)
rr$r�r�r�r�r�r�r�r�s
         @r�%test_basics_split_by_predicate__matchz>ExceptionGroupSplitTests.test_basics_split_by_predicate__match�s9���
�W��
��
���"�"�Q�%�%���A����"�"�S�'�'��+�
�"�"�S�'�'��R�R��U�U�B�B�q�E�E�N�+��"�X�t�'��.�	
�	�:C�	9�	9�5�J��
��(�(�#F�#F�#F�#F�G�G�K�E�4����U�]�B�J�7�7�7��&�&��~�~�
7�
7�
7��(�� � ���r�z�:�:�:��*�*��.�-�9�9�9��	9�	9rN)
rrrr�r�r�r�r�r�r�r rrr�r�Ys�������J�J�J�$�$�$�4�4�4�(�(�(�0 � � �
K�K�K�
9�9�9�9�9rr�c� �eZdZd�Zd�Zd�ZdS)�DeepRecursionInSplitAndSubgroupc�j�td��}td��D]}td|g��}�|S)Nr8i�r$)rr�r	)rrvr�s   r�make_deep_egz,DeepRecursionInSplitAndSubgroup.make_deep_eg�s:���a�L�L���t���	*�	*�A��t�a�S�)�)�A�A��rc���|���}|�t��5|�t��ddd��dS#1swxYwYdSr)r�r��RecursionErrorr�r�rrvs  r�test_deep_splitz/DeepRecursionInSplitAndSubgroup.test_deep_split�s���������
�
�
�~�
.�
.�	�	�
�G�G�I����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��A�A�Ac���|���}|�t��5|�t��ddd��dS#1swxYwYdSr)r�r�r�r�rr�s  r�test_deep_subgroupz2DeepRecursionInSplitAndSubgroup.test_deep_subgroup�s���������
�
�
�~�
.�
.�	"�	"�
�J�J�y�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"r�N)rrrr�r�r�r rrr�r��sA������������
"�"�"�"�"rr�c#��K�|�g}|�|j��t|t��r!|jD]}t||��Ed{V���n||fV�|���dSr)rsr�r�rr��leaf_generator�pop)r��tbsrvs   rr�r��s�����
�{����J�J�s� �!�!�!��#�)�*�*����	.�	.�A�%�a��-�-�-�-�-�-�-�-�-�-�	.��3�h�����G�G�I�I�I�I�Irc��eZdZd�ZdS)�LeafGeneratorTestc���t��}|�d�t|��D��|j��t|��D]'\}}|�||j|jg���(dS)Nc��g|]\}}|��Sr r ��.0rv�_s   r�
<listcomp>z9LeafGeneratorTest.test_leaf_generator.<locals>.<listcomp>�s��.�.�.�4�1�a�Q�.�.�.r)rw�assertSequenceEqualr�r�r�)rr$rvr�s    r�test_leaf_generatorz%LeafGeneratorTest.test_leaf_generator�s���
�
�
��� � �.�.�>�"�-�-�.�.�.��M�	�	�	�%�R�(�(�	:�	:�F�A�s��$�$��b�&���8�
:�
:�
:�
:�	:�	:rN)rrrr�r rrr�r��s#������
	:�	:�	:�	:�	:rr�c���g}		tt���#t$r}td|g���d}~wwxYw#t$r}|�|��Yd}~nd}~wwxYw		t	d���#t$r}td��|�d}~wwxYw#t
$r}|�|��Yd}~nd}~wwxYw	td|���#t$r}|cYd}~Sd}~wwxYw)Nrcz
out of memoryr8�root)r�bytesr	rsrrr()r=rvr$s   r�create_nested_egr�sH��
�D��	0��E�"�"�"���	0�	0�	0� ��A�3�/�/�/�����	0������������A������������������	'��o�.�.�.���	'�	'�	'��Q�-�-�Q�&�����	'������������A�������������������V�T�*�*�*�������	�	�	�	�	�	��������ss��
9�4�9�<�
A%�A � A%�*A9�9
B�B�B�B�
C�%B?�?C�C�
C.�"C)�#C.�)C.c�&�eZdZd�Zd�Zd�Zd�ZdS)�NestedExceptionGroupBasicsTestc��t��}|�|ttt��gtd��g��dS)Nr8)rr�r	rrr(rhs  r�"test_nested_group_matches_templatezANestedExceptionGroupBasicsTest.test_nested_group_matches_template�sN��
�
�
���"�"�������
��A���/�	1�	1�	1�	1�	1rc�$�t��}|�|jdjt��|�|jdjt��|�|jdjt��dS)Nr8r)rrr�r�rrr�rrhs  r�test_nested_group_chainingz9NestedExceptionGroupBasicsTest.test_nested_group_chaining�ss��
�
�
�����b�m�A�.�:�K�H�H�H����b�m�A�.�8�+�F�F�F����b�m�A�.�:�I�F�F�F�F�Frc�n�t��}tjj}|j|dzf|jdj|dzf|jdj|dzf|jdjdj|dzffD]:\}}|�|j|��|�|j���;dS)N�rr|r8r}�)	rr�r�r�r�rer�r�r�)rr$r�r��expecteds     r�&test_nested_exception_group_tracebackszENestedExceptionGroupBasicsTest.test_nested_exception_group_tracebacks�s���
�
�
�� �)�8��
�
�u�r�z�*�
�]�1�
�
+�U�Q�Y�7�
�]�1�
�
+�U�R�Z�8�
�]�1�
�
(��
+�
9�5�1�9�E�	
�	*�	*�N�R��
���R�\�8�4�4�4����b�j�)�)�)�)�	*�	*rc	��t��}|�ttt	|������d��tjj}|dz|dz|dzg|dz|dzgg}tt	|����D].\}\}}|�d�|D��||���/dS)Nr9r	r|r
r}c��g|]	}|j��
Sr �r��r�r�s  rr�zQNestedExceptionGroupBasicsTest.test_iteration_full_tracebacks.<locals>.<listcomp>s��,�,�,�"���,�,�,r)	rrer��listr�r�r��	enumerater�)rr$r��expected_tbsr�r�r�s       r�test_iteration_full_tracebacksz=NestedExceptionGroupBasicsTest.test_iteration_full_tracebacks	s���
�
�
��	
����T�.��"4�"4�5�5�6�6��:�:�:� �)�8���"�*�e�a�i����;��"�*�e�b�j�1�3��'�~�b�'9�'9�:�:�	!�	!�M�Q���C��$�$�,�,��,�,�,��Q��
!�
!�
!�
!�	!�	!rN)rrrrrrrr rrrr�sS������1�1�1�G�G�G�*�*�*�
!�
!�
!�
!�
!rrc��eZdZd�ZdS)�ExceptionGroupSplitTestBasec���|�|t��|�|��\}}|�|��}|��|�|t��t	|��D]\}}|�||���|�|��|�|t��t	|��D]\}}|�||���|�|�|t��d�}|�||��||����||��}	||��}
|�t||����t||����t||����z��||��D] }|�	|o||	v|o||
v���!|||fD]�}|��|�|j
|j
��|�|j|j��|�|j
|j
��|�|j|j��|�t|dd��t|dd������d�}d�}
|||fD]L}||��D]>}|�|
|||����|
|||�������?�M||fS)z5 Split an EG and do some sanity checks on the result Nc�<�|�gnd�t|��D��S)Nc��g|]\}}|��Sr r r�s   rr�zUExceptionGroupSplitTestBase.split_exception_group.<locals>.leaves.<locals>.<listcomp>0s��*L�*L�*L���1�1�*L�*L�*Lr�r�)r�s r�leaveszAExceptionGroupSplitTestBase.split_exception_group.<locals>.leaves/s'����2�2�*L�*L��s�8K�8K�*L�*L�*L�Lr�	__notes__c�@�t|��D]
\}}||ur|cS�dSrr)�leafr$rvr�s    r�tbs_for_leafzGExceptionGroupSplitTestBase.split_exception_group.<locals>.tbs_for_leafLs>��(��,�,�
�
���3���9�9��J�J�J��
�
rc��d�|D��S)Nc� �g|]}|�|j��Sr rrs  rr�zYExceptionGroupSplitTestBase.split_exception_group.<locals>.tb_linenos.<locals>.<listcomp>Rs��5�5�5�R�"�5�B�L�5�5�5rr )r�s rr�zEExceptionGroupSplitTestBase.split_exception_group.<locals>.tb_linenosQs��5�5�3�5�5�5�5r)rrr�r�r��assertIsNotNoner�rer��assertNotEqualr�r:r�r�r��getattr)rr$rr�r��sgrvr�r�match_leaves�rest_leaves�partrr�s              r�split_exception_groupz1ExceptionGroupSplitTestBase.split_exception_groupsf�����b�"4�5�5�5��h�h�u�o�o���t�
�[�[��
�
�����!�!�%�);�<�<�<�%�e�,�,�
0�
0���!��%�%�a��/�/�/�/�� � ��$�$�$��!�!�"�&8�9�9�9�%�b�)�)�
0�
0���!��%�%�a��/�/�/�/����!�!�$�(:�;�;�;�	M�	M�	M�	
� � ��������r�
�
�;�;�;��v�e�}�}���f�T�l�l��������r�
�
�O�O����u�
�
����V�V�D�\�\�!2�!2�2�	4�	4�	4������	+�	+�A�����+�!�|�+��)��k�)�
+�
+�
+�
+�
�D�"�%�	6�	6�D���� � ���T�\�:�:�:��
�
�b�l�D�N�;�;�;��
�
�b�n�d�.>�?�?�?��
�
�b�.��0B�C�C�C�� � ��B��T�2�2��D�+�t�4�4�6�6�6��	�	�	�
	6�	6�	6��D�"�%�	7�	7�D��V�D�\�\�
7�
7���(�(��J�|�|�A�r�2�2�3�3��J�|�|�A�t�4�4�5�5�7�7�7�7�
7�
�d�{�rN)rrrr)r rrrrs(������@�@�@�@�@rrc�&�eZdZd�Zd�Zd�Zd�ZdS)�NestedExceptionGroupSplitTestc��	�
��Gd�dt���	d��d��
�	�
�fd�}	|��n>#t$r1}|�dt|������|}Yd}~nd}~wwxYwtd��t	t
��td��gtd��t	t
��td	��gtd	��gtd��g}td��td��gtd��td	��gtd	��gtd��g}t	t
��gt	t
��ggg}|�|t|��|�|t��\}}|�	|��|�|t|��|�|t��\}}|�|t|��|�	|��|�|ttf��\}}|�|t|��|�	|��|�|t��\}}|�|t|��|�|t|��|�|ttf��\}}|�|t|��|�|t|��|�t��\}}|�||��|�	|��|��	��\}}|�|t|d
g��|�|t|dg��dS)Nc��eZdZdS)�JNestedExceptionGroupSplitTest.test_split_by_type.<locals>.MyExceptionGroupNrJr rr�MyExceptionGroupr.arLrr/c� �t|���r)r()�vs r�raiseVEzANestedExceptionGroupSplitTest.test_split_by_type.<locals>.raiseVEds���Q�-�-�rc� �t|���r)r)r�s r�raiseTEzANestedExceptionGroupSplitTest.test_split_by_type.<locals>.raiseTEgs���A�,�,�rc�H������fd�����fd����fd�}|d��dS)Nc����g}�|f�tf�|dzffD]=\}}	||���#t$r}|�|��Yd}~�6d}~wwxYwtd|���)Nr8�msg1)rtr
rsr	)r�r=�fr�rvr4r2s     ��r�level1zVNestedExceptionGroupSplitTest.test_split_by_type.<locals>.nested_group.<locals>.level1ks������ '��|�g�s�^�g�q��s�^�L�'�'�F�A�s�'���#������$�'�'�'����A�������������'����$�V�T�2�2�2s�)�
A�A
�
Ac���g}�|f�|dzf�|dzffD]=\}}	||���#t$r}|�|��Yd}~�6d}~wwxYw�d|���)Nr8r9�msg2)r
rs)r�r=r8r�rvr/r9r2s     ���r�level2zVNestedExceptionGroupSplitTest.test_split_by_type.<locals>.nested_group.<locals>.level2ts������ &��{�V�Q�q�S�M�G�Q�q�S�>�J�'�'�F�A�s�'���#������$�'�'�'����A�������������'����&�&�v�t�4�4�4s�'�
A�A�Ac���g}�|dzf�|dzffD]=\}}	||���#t$r}|�|��Yd}~�6d}~wwxYwtd|���)Nr8r9�msg3)r
rsr	)r�r=r8r�rvr<r2s     ��r�level3zVNestedExceptionGroupSplitTest.test_split_by_type.<locals>.nested_group.<locals>.level3}s������ &��!��}�w��!��n�=�'�'�F�A�s�'���#������$�'�'�'����A�������������'����$�V�T�2�2�2s�$�
A
�A�A
�r )r?r9r<r/r4r2s @@���r�nested_groupzFNestedExceptionGroupSplitTest.test_split_by_type.<locals>.nested_groupjsw�����
3�
3�
3�
3�
3�
3�
5�
5�
5�
5�
5�
5�
5�
3�
3�
3�
3�
3�
3�
�F�1�I�I�I�I�Irz
the note: r|��rr8)
r	�add_note�idr(rrtr�r)r.r�rr�r:)rrArvr$r��valueErrors_template�typeErrors_templater�r�r/r4r2s         @@@r�test_split_by_typez0NestedExceptionGroupSplitTest.test_split_by_type`s������	�	�	�	�	�~�	�	�	�	 �	 �	 �	�	�	�	�	�	�	�	�	�	�<	��L�N�N�N�N���	�	�	�
�J�J�+�B�q�E�E�+�+�,�,�,��B�B�B�B�B�B�����	�����A���	�#���
�1�
�
�>��A���	�#���
�1�
�
�>��1�
�
�
�

�q�M�M�
���A���
�1�
�
�.��A���
�1�
�
�.��1�
�
�
�

�q�M�M�
 ��"+�3��� 0�9�S�>�>�2B�C�D���"�"�2�~�{�C�C�C��0�0��[�A�A���t����%� � � ��"�"�4���E�E�E��0�0��]�C�C���t��"�"�5�.�+�F�F�F����$�����0�0��j�)�5L�M�M���t��"�"�5�.�+�F�F�F����$�����0�0��Z�@�@���t��"�"�5�.�:N�O�O�O��"�"�4��9L�M�M�M��0�0��i��5M�N�N���t��"�"�5�.�:M�N�N�N��"�"�4��9M�N�N�N��h�h�~�.�.���t��
�
�e�R� � � ����$�����h�h�/�0�0���t��"�"�5�.�;�q�>�:J�K�K�K��"�"�4��+�a�.�9I�J�J�J�J�Js�
0�
A+�'A&�&A+c	�>�d�}	td|td����|td����g���#t$r}|}Yd}~nd}~wwxYw|�|t��\}}|�|��|�|ttd��td��g��|�|ttf��\}}|�|ttd��td��g��|�|��|�|t��\}}|�|ttd��g��|�|ttd��g��|�|t��\}}|�|ttd��g��|�|ttd��g��dS)Nc�:�	|�#t$r}|cYd}~Sd}~wwxYwr)r)�exrvs  rr�zHNestedExceptionGroupSplitTest.test_split_BaseExceptionGroup.<locals>.exc�s:��
���� �
�
�
������������
���s��
���r@r8r9)rr(rCr)rr�r�r	)rr�rvr@r�r�s      r�test_split_BaseExceptionGroupz;NestedExceptionGroupSplitTest.test_split_BaseExceptionGroup�sD��	�	�	�	�$����J�q�M�M�*�*�C�C�0A�!�0D�0D�,E�,E�F�H�H�
H��!�	�	�	��C�C�C�C�C�C�����	�����0�0��i�@�@���t����%� � � ��"�"��$�z�!�}�}�6G��6J�6J�&K�	M�	M�	M��0�0��*�/�0�2�2���t��"�"��%�
�1�
�
�7H��7K�7K�'L�	N�	N�	N����$�����0�0��j�A�A���t��"�"��>�J�q�M�M�?�	4�	4�	4��"�"��$�'8��';�';�&<�	>�	>�	>��0�0��6G�H�H���t��"�"��%�(9�!�(<�(<�'=�	?�	?�	?��"�"��.�:�a�=�=�/�	3�	3�	3�	3�	3s�>A�
A�
A�Ac��tdtd��td��g��}|�d��|�d��t	|j��}|�t��\}}|�|j|��|�|j|��|�|j|��|�|j|j��|�|j|j��|�|j|j��|�d��|�d��|�d��|�|j|dgz��|�|j|dgz��|�|j|dgz��dS)Nr$r8r9�note1�note2r�r�)	r	r(rrDrrr�re�assertIsNot)rr$�
orig_notesr�r�s     r�test_split_copies_notesz5NestedExceptionGroupSplitTest.test_split_copies_notes�s���
�D�:�a�=�=�)�A�,�,�"?�
@�
@��
���G����
���G�����"�,�'�'�
��h�h�y�)�)���t������z�2�2�2������*�5�5�5�������4�4�4������u��7�7�7������t�~�6�6�6������$�.�9�9�9�
���D����
���w�����
�
�f���������z�T�F�':�;�;�;������*��y�*@�A�A�A�������v�h�)>�?�?�?�?�?rc�2�tdtd��td��g��}d|_|�t��\}}|�t
|d����|�t
|d����dS)Nr$r8r9�{r)r	r(rrr��assertFalse�hasattr)rr$r�r�s    r�+test_split_does_not_copy_non_sequence_noteszINestedExceptionGroupSplitTest.test_split_does_not_copy_non_sequence_notes�s����D�:�a�=�=�)�A�,�,�"?�
@�
@������h�h�y�)�)���t�������4�4�5�5�5������{�3�3�4�4�4�4�4rN)rrrrHrLrRrWr rrr+r+^s[������aK�aK�aK�F&3�&3�&3�P@�@�@�(5�5�5�5�5rr+c� �eZdZd�Zd�Zd�ZdS)�%NestedExceptionGroupSubclassSplitTestc�"�Gd�dt��}			td���#t$r}|d|g���d}~wwxYw#|$r5}	td���#t$r}|d||g���d}~wwxYwd}~wwxYw#|$r}|}Yd}~nd}~wwxYw|�||td��td��gg��|�|t
��\}}|�|��|�|ttd��td��gg��|�|ttf��\}}|�|ttd��td��gg��|�|��|�|t��\}}|�|ttd��g��|�|ttd��gg��|�|t��\}}|�|ttd��gg��|�|ttd��g��dS)Nc��eZdZdS)�nNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_no_derive_no_new_override.<locals>.EGNrJr rr�EGr\rLrr]r9rcr8r$)r	rr(r�r)rr�)	rr]�terc�vervr$r�r�s	         r�<test_split_ExceptionGroup_subclass_no_derive_no_new_overridezbNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_no_derive_no_new_overrides���	�	�	�	�	��	�	�	�	�	
1�-�#�A�,�,�&�� �-�-�-��"�X��t�,�,�,�����-������
1�
1�
1�1�$�Q�-�-�'��!�1�1�1��"�T�B��<�0�0�0�����1��������
1�����
�	�	�	��B�B�B�B�B�B�����	����	
�"�"�2�r�J�q�M�M�I�a�L�L�>�+J�K�K�K��0�0��W�=�=���t����%� � � ��"�"��.�:�a�=�=�9�Q�<�<�.�"A�	C�	C�	C��0�0��j�)�5L�M�M���t��"�"��>�J�q�M�M�I�a�L�L�>�#B�	D�	D�	D����$�����0�0��Z�@�@���t��"�"�5�.�:�a�=�=�/�J�J�J��"�"�4��9�Q�<�<�.�9I�J�J�J��0�0��Y�?�?���t��"�"�5�.�I�a�L�L�>�:J�K�K�K��"�"�4��*�Q�-�-��I�I�I�I�IsZ�&�
A�
=�A�A�A?�A�
A7�$A2�2A7�7A:�:A?�?B�B�B�Bc��Gd�dt��}	|dtd��td��gd���#|$r}|}Yd}~nd}~wwxYw|�||td��td��g��|�|t
��\}}|�|��|�|ttd��td��g��|�|ttf��\}}|�|ttd��td��g��|�|��|�|t��\}}|�|ttd��g��|�|ttd��g��|�|t��\}}|�|ttd��g��|�|ttd��g��dS)Nc���eZdZ�fd�Z�xZS)�oNestedExceptionGroupSubclassSplitTest.test_split_BaseExceptionGroup_subclass_no_derive_new_override.<locals>.EGc�J��t���|||��Sr)�super�__new__)�clsr�r=�unused�	__class__s    �rrfzwNestedExceptionGroupSubclassSplitTest.test_split_BaseExceptionGroup_subclass_no_derive_new_override.<locals>.EG.__new__7s���
�w�w���s�G�T�:�:�:r)rrrrf�
__classcell__)ris@rr]rc6s8�������
;�
;�
;�
;�
;�
;�
;�
;�
;rr]r$r8r9rh)rr(rCr�r)rr�r	)rr]rvr$r�r�s      r�=test_split_BaseExceptionGroup_subclass_no_derive_new_overridezcNestedExceptionGroupSubclassSplitTest.test_split_BaseExceptionGroup_subclass_no_derive_new_override5si��	;�	;�	;�	;�	;�#�	;�	;�	;�	��"�T�J�q�M�M�+<�Q�+?�+?�@�(�K�K�K���	�	�	��B�B�B�B�B�B�����	����	
�"�"���Z��]�]�$5�a�$8�$8�9�	;�	;�	;��0�0��W�=�=���t����%� � � ��"�"��$�z�!�}�}�6G��6J�6J�&K�	M�	M�	M��0�0���.�/�1�1���t��"�"��%�
�1�
�
�7H��7K�7K�'L�	N�	N�	N����$�����0�0��Z�@�@���t��"�"�5�.�:�a�=�=�/�J�J�J��"�"��$�'8��';�';�&<�	>�	>�	>��0�0��5F�G�G���t��"�"��%�(9�!�(<�(<�'=�	?�	?�	?��"�"�4��*�Q�-�-��I�I�I�I�Is�)>�A�A
�
Ac�d��G�fd�dt���			td���#t$r}�d|gd���d}~wwxYw#�$r6}	td���#t$r}�d||gd���d}~wwxYwd}~wwxYw#�$r}|}Yd}~nd}~wwxYw|�|�td��td��gg��|�|t
��\}}|�|��|�|�td��td��gg��|�|jd��|�|j	djd��|�|ttf��\}}|�|�td��td��gg��|�|jd��|�|j	djd��|�|��|�|t��\}}|�|�td��g��|�|jd��|�|�td��gg��|�|jd��|�|j	d	jd��|�|t��\}}|�|�td��gg��|�|jd��|�|j	d	jd��|�|�td��g��|�|jd��dS)
Nc�*���eZdZ�fd�Z�fd�Z�xZS)�mNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_derive_and_new_overrides.<locals>.EGc�\��t���|||��}||_|Sr)rerf�code)rgr�r=rp�objris     �rrfzuNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_derive_and_new_overrides.<locals>.EG.__new__as(����g�g�o�o�c�7�D�9�9������
rc�2���|j||j��Sr)r�rp)rr=r]s  �r�deriveztNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_derive_and_new_overrides.<locals>.EG.derivefs����r�$�,��d�i�8�8�8r)rrrrfrsrj)rir]s@�rr]rn`sR��������
�
�
�
�
�

9�
9�
9�
9�
9�
9�
9�
9�
9rr]r9rc�er8r$r1r)
r	rr(r�r)rr�rerpr�)	rr^rcr_rvr$r�r�r]s	        @r�;test_split_ExceptionGroup_subclass_derive_and_new_overrideszaNestedExceptionGroupSubclassSplitTest.test_split_ExceptionGroup_subclass_derive_and_new_overrides_s����	9�	9�	9�	9�	9�	9�	9��	9�	9�	9�	�	
5�2�#�A�,�,�&�� �2�2�2��"�X��t�S�1�1�1�����2������
5�
5�
5�5�$�Q�-�-�'��!�5�5�5��"�T�B��<��4�4�4�����5��������
5�����
�	�	�	��B�B�B�B�B�B�����	����	
�"�"�2�r�J�q�M�M�I�a�L�L�>�+J�K�K�K��0�0��W�=�=���t����%� � � ��"�"�4��j��m�m�i��l�l�^�-L�M�M�M������B�'�'�'�������+�0�#�6�6�6��0�0��j�)�5L�M�M���t��"�"�5�"�z�!�}�}�y��|�|�n�.M�N�N�N������R�(�(�(�����)�!�,�1�3�7�7�7����$�����0�0��Z�@�@���t��"�"�5�"�z�!�}�}�o�>�>�>������R�(�(�(��"�"�4��y��|�|�n�-=�>�>�>������B�'�'�'�������+�0�#�6�6�6��0�0��Y�?�?���t��"�"�5�"�	�!���~�.>�?�?�?������R�(�(�(�����)�!�,�1�3�7�7�7��"�"�4��j��m�m�_�=�=�=������B�'�'�'�'�'s\�)�
A�A�A�A	�	B�A�
A<�(A7�7A<�<A?�?B�B�B�B�BN)rrrr`rkrur rrrYrY	sI������(J�(J�(J�T(J�(J�(J�T6(�6(�6(�6(�6(rrY�__main__r)�collections.abcr��	tracebackr�unittest�TestCaserr"r6r_rwryr�r�r�r�r�r�rrrr+rYr�mainr rr�<module>r|s,������������������
I�
I�
I�
I�
I�h�&7�
I�
I�
I� ">�">�">�">�">��*�">�">�">�J8�8�8�8�8�x�(�8�8�8�v>)�>)�>)�>)�>)�h�'�>)�>)�>)�B���@)-�)-�)-�)-�)-�8�,�)-�)-�)-�X6�6�6�6�6�X�.�6�6�6�29H�9H�9H�9H�9H�"8�9H�9H�9H�xH9�H9�H9�H9�H9�5�H9�H9�H9�V"�"�"�"�"�h�&7�"�"�"�$����:�:�:�:�:��)�:�:�:�"���0(!�(!�(!�(!�(!�%;�(!�(!�(!�VB�B�B�B�B�"8�B�B�B�Jh5�h5�h5�h5�h5�$?�h5�h5�h5�VL(�L(�L(�L(�L(�,G�L(�L(�L(�^�z����H�M�O�O�O�O�O��r