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

�Ke�%����ddlZddlmZGd�dej��ZGd�dej��ZejGd�dej����Zed	krej	��dSdS)
�N)�supportc�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TestMROEntryc����g�Gd�d��}G��fd�d������}|��g��Gd�d||��}|��d||ff��|��di��dS)	Nc��eZdZdS)�0TestMROEntry.test_mro_entry_signature.<locals>.BN��__name__�
__module__�__qualname__���@/usr/local/apps/python3/lib/python3.11/test/test_genericclass.py�Br��������rrc���eZdZ��fd�ZdS)�0TestMROEntry.test_mro_entry_signature.<locals>.Cc�8����||g���fS�N��extend)�self�args�kwargs�C�testeds   ��r�__mro_entries__z@TestMROEntry.test_mro_entry_signature.<locals>.C.__mro_entries__
s ����
�
�t�V�n�-�-�-��t�rN�r
rrr�rrs��rrr	�3�������
�
�
�
�
�
�
�
rrc��eZdZdS)�0TestMROEntry.test_mro_entry_signature.<locals>.DNr	r
rr�Dr"rrr#r�)�assertEqual)rr�cr#rrs    @@r�test_mro_entry_signaturez%TestMROEntry.test_mro_entry_signatures���������������	�	�	�	�	�	�	�	�	�	�	�
�A�C�C�������$�$�$�������1����������a��V�I�.�.�.�������B�'�'�'�'�'rc�`��g�Gd�d��}Gd�d��}G�fd�d��}|��}|��g��Gd�d|||��}|��d	|||f��|�|j|||f��|�|j|||f��|�|j||||tf��|��}Gd
�d|��}|��d	|f��|�|j|f��dS)Nc��eZdZdS)�&TestMROEntry.test_mro_entry.<locals>.ANr	r
rr�Ar*rrr+c��eZdZdS)�&TestMROEntry.test_mro_entry.<locals>.BNr	r
rrrr-rrrc���eZdZ�fd�ZdS)�&TestMROEntry.test_mro_entry.<locals>.Cc�>����|��|jfSr)�append�	__class__�r�basesrs  �rrz6TestMROEntry.test_mro_entry.<locals>.C.__mro_entries__s ����
�
�e�$�$�$���(�(rNr�rs�rrr/s.�������
)�
)�
)�
)�
)�
)�
)rrc��eZdZdS)�&TestMROEntry.test_mro_entry.<locals>.DNr	r
rrr#r7rrr#���c��eZdZdS)�&TestMROEntry.test_mro_entry.<locals>.ENr	r
rr�Er:#rrr;�r%�	__bases__�__orig_bases__�__mro__�object)	rr+rrr&r#�dr;rs	        @r�test_mro_entryzTestMROEntry.test_mro_entrysw���������������������	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�
�A�C�C�������$�$�$�������1�a����������a��A�Y�/�/�/������q�!�Q�i�0�0�0�����)�A�q�!�9�5�5�5������Q��1�a��$8�9�9�9�
�A�C�C�����������������a�T�*�*�*������q�d�+�+�+�+�+rc����g�Gd�d��}Gd�d��}G�fd�d��}|��}|��g��Gd�d|||��}|��d	|||f��|�|j||f��|�|j|||f��|�|j|||tf��Gd
�d|��}|��d	|f��|�|jtf��|�|j|f��|�|j|tf��dS)Nc��eZdZdS)�+TestMROEntry.test_mro_entry_none.<locals>.ANr	r
rrr+rE)rrr+c��eZdZdS)�+TestMROEntry.test_mro_entry_none.<locals>.BNr	r
rrrrG*rrrc���eZdZ�fd�ZdS)�+TestMROEntry.test_mro_entry_none.<locals>.Cc�2����|��dS�Nr
�r1r3s  �rrz;TestMROEntry.test_mro_entry_none.<locals>.C.__mro_entries__,s����
�
�e�$�$�$��rrNrr5s�rrrI+s.�������
�
�
�
�
�
�
rrc��eZdZdS)�+TestMROEntry.test_mro_entry_none.<locals>.DNr	r
rrr#rN1rrr#r8c��eZdZdS)�+TestMROEntry.test_mro_entry_none.<locals>.ENr	r
rrr;rP6rrr;r<)rr+rrr&r#r;rs       @r�test_mro_entry_nonez TestMROEntry.test_mro_entry_none's����������������������	�	�	�	�	�	�	�	�	�	�
�A�C�C�������$�$�$�������1�a����������a��A�Y�/�/�/������q�!�f�-�-�-�����)�A�q�!�9�5�5�5������Q��1�f�$5�6�6�6����������������a�T�*�*�*������v�i�0�0�0�����)�A�4�0�0�0������Q��K�0�0�0�0�0rc���g�Gd�d��}G�fd�d��}|��}|��g��Gd�d||��}|��d||f��|�|j|tf��|�|j||f��|�|j||tt
f��dS)Nc��eZdZdS)�4TestMROEntry.test_mro_entry_with_builtins.<locals>.ANr	r
rrr+rT>rrr+c���eZdZ�fd�ZdS)�4TestMROEntry.test_mro_entry_with_builtins.<locals>.Cc�>����|��tfSr)r1�dictr3s  �rrzDTestMROEntry.test_mro_entry_with_builtins.<locals>.C.__mro_entries__@s����
�
�e�$�$�$��w�rNrr5s�rrrV?s.�������
�
�
�
�
�
�
rrc��eZdZdS)�4TestMROEntry.test_mro_entry_with_builtins.<locals>.DNr	r
rrr#rZErrr#r8)r%r=rXr>r?r@)rr+rr&r#rs     @r�test_mro_entry_with_builtinsz)TestMROEntry.test_mro_entry_with_builtins<s�������������	�	�	�	�	�	�	�	�	�	�
�A�C�C�������$�$�$�������1����������a��V�,�,�,������q�$�i�0�0�0�����)�A�q�6�2�2�2������Q��4��$8�9�9�9�9�9rc����g�G��fd�d������}|��g��Gd�d|t��}|��d|tf��|�|j�tf��|�|j|tf��|�|j|�tt
f��dS)Nc���eZdZ��fd�ZdS)�6TestMROEntry.test_mro_entry_with_builtins_2.<locals>.Cc�4����|���fSrrL)rr4rrs  ��rrzFTestMROEntry.test_mro_entry_with_builtins_2.<locals>.C.__mro_entries__Ns����
�
�e�$�$�$��t�rNrrs��rrr^Mr rrc��eZdZdS)�6TestMROEntry.test_mro_entry_with_builtins_2.<locals>.DNr	r
rrr#raSrrr#r8)r%rXr=r>r?r@)rr&r#rrs   @@r�test_mro_entry_with_builtins_2z+TestMROEntry.test_mro_entry_with_builtins_2Ks�������	�	�	�	�	�	�	�	�	�	�	�
�A�C�C�������$�$�$�������4����������a��Y�/�/�/������q�$�i�0�0�0�����)�A�t�9�5�5�5������Q��4��$8�9�9�9�9�9rc�d�Gd�d��}|��}|�t��5Gd�d|��}ddd��n#1swxYwYGd�d��}|��}|�t��5Gd�d|��}ddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�6TestMROEntry.test_mro_entry_errors.<locals>.C_too_manyc��dSrKr
)rr4�	something�others    rrzFTestMROEntry.test_mro_entry_errors.<locals>.C_too_many.__mro_entries__[����rrNrr
rr�
C_too_manyreZ�#������
�
�
�
�
rrjc��eZdZdS��-TestMROEntry.test_mro_entry_errors.<locals>.DNr	r
rrr#rn_rrr#c��eZdZd�ZdS)�5TestMROEntry.test_mro_entry_errors.<locals>.C_too_fewc��dSrKr
�rs rrzETestMROEntry.test_mro_entry_errors.<locals>.C_too_few.__mro_entries__arirNrr
rr�	C_too_fewrp`rkrrsc��eZdZdSrmr	r
rrr#z-TestMROEntry.test_mro_entry_errors.<locals>.Derr��assertRaises�	TypeError)rrjr&r#rsrAs      r�test_mro_entry_errorsz"TestMROEntry.test_mro_entry_errorsYss��	�	�	�	�	�	�	�	�
�J�L�L��
�
�
�y�
)�
)�	�	��O�O�O�O�A�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�
�I�K�K��
�
�
�y�
)�
)�	�	��O�O�O�O�A�O�O�O�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�#�A
�
A�A�	B%�%B)�,B)c�d�Gd�d��}|��}|�t��5Gd�d|��}ddd��n#1swxYwYGd�d��}|��}|�t��5Gd�d|��}ddd��dS#1swxYwYdS)Nc��eZdZdZdS)�<TestMROEntry.test_mro_entry_errors_2.<locals>.C_not_callable�	Surprise!Nrr
rr�C_not_callabler|hs������)�O�O�Orr~c��eZdZdS��/TestMROEntry.test_mro_entry_errors_2.<locals>.DNr	r
rrr#r�lrrr#c��eZdZd�ZdS)�9TestMROEntry.test_mro_entry_errors_2.<locals>.C_not_tuplec��tSr)r@rrs rrzITestMROEntry.test_mro_entry_errors_2.<locals>.C_not_tuple.__mro_entries__ns���
rNrr
rr�C_not_tupler�ms#������
�
�
�
�
rr�c��eZdZdSr�r	r
rrr#z/TestMROEntry.test_mro_entry_errors_2.<locals>.Drrrru)rr~r&r#r�s     r�test_mro_entry_errors_2z$TestMROEntry.test_mro_entry_errors_2gss��	*�	*�	*�	*�	*�	*�	*�	*��N����
�
�
�y�
)�
)�	�	��O�O�O�O�A�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�
�K�M�M��
�
�
�y�
)�
)�	�	��O�O�O�O�A�O�O�O�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	ryc�~���g�G�fd�dt��}Gd�d���G�fd�d��}|��}Gd�d||�	��}|��d
|��|��dd��|��d�f��|��d
dd��|�|j�f��|�|j|f��|�|j|�t
f��|�|j|��dS)Nc�"���eZdZ��fd�Z�xZS)�3TestMROEntry.test_mro_entry_metaclass.<locals>.Metac�~����||||g��t���||||��Sr)r�super�__new__)�mcls�namer4�nsr2�	meta_argss    ��rr�z;TestMROEntry.test_mro_entry_metaclass.<locals>.Meta.__new__ws<���� � �$��e�R�!8�9�9�9��w�w���t�T�5�"�=�=�=r)r
rrr��
__classcell__)r2r�s@�r�Metar�vs>��������
>�
>�
>�
>�
>�
>�
>�
>�
>�
>rr�c��eZdZdS)�0TestMROEntry.test_mro_entry_metaclass.<locals>.ANr	r
rrr+r�zrrr+c���eZdZ�fd�ZdS)�0TestMROEntry.test_mro_entry_metaclass.<locals>.Cc�
���fSrr
)rr4r+s  �rrz@TestMROEntry.test_mro_entry_metaclass.<locals>.C.__mro_entries__|s
����t�rNr)r+s�rrr�{s.�������
�
�
�
�
�
�
rrc��eZdZdZdS)�0TestMROEntry.test_mro_entry_metaclass.<locals>.Dr$N)r
rr�xr
rrr#r�s�������A�A�Arr#��	metaclassrr$��r�)�typer%r=r>r?r@r2)rr�rr&r#r+r�s     @@r�test_mro_entry_metaclassz%TestMROEntry.test_mro_entry_metaclassts������	�	>�	>�	>�	>�	>�	>�	>�4�	>�	>�	>�	��������	�	�	�	�	�	�	�	�	�	�
�A�C�C��	�	�	�	�	��T�	�	�	�	�����1��t�,�,�,�����1��s�+�+�+�����1���t�,�,�,�����1��c�*�A�.�.�.������q�d�+�+�+�����)�A�4�0�0�0������Q��6�N�3�3�3������d�+�+�+�+�+rc��Gd�d��}|��}|�td��5td|fi��ddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�0TestMROEntry.test_mro_entry_type_call.<locals>.Cc��dSrKr
)rr4s  rrz@TestMROEntry.test_mro_entry_type_call.<locals>.C.__mro_entries__�rirNrr
rrrr��rkrrz+MRO entry resolution; use types.new_class()�Bad)�assertRaisesRegexrwr�)rrr&s   r�test_mro_entry_type_callz%TestMROEntry.test_mro_entry_type_call�s���	�	�	�	�	�	�	�	�
�A�C�C��
�
#�
#�I�%<�=�=�	"�	"�
����b�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"s�A�A�AN)r
rrr'rBrQr[rbrxr�r�r�r
rrrrs�������(�(�(�,�,�,�(1�1�1�*
:�
:�
:�:�:�:�������,�,�,�,	"�	"�	"�	"�	"rrc�V�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�TestClassGetitemc����g�G�fd�d��}|ttf|��d|ttff��|��di��dS)Nc���eZdZ�fd�ZdS)�.TestClassGetitem.test_class_getitem.<locals>.Cc�6����||g��dSrr)rr�getitem_argss  �r�__class_getitem__z@TestClassGetitem.test_class_getitem.<locals>.C.__class_getitem__�s ����#�#�T�6�N�3�3�3��trN�r
rrr�)r�s�rrr��s.�������
�
�
�
�
�
�
rrrr$)�int�strr%)rrr�s  @r�test_class_getitemz#TestClassGetitem.test_class_getitem�s������	�	�	�	�	�	�	�	�	�	�	
�#�s�(�������a��1�s�C�j�/�:�:�:�����a��"�-�-�-�-�-rc��Gd�d��}|�|td��|�||d��dS)Nc��eZdZd�ZdS)�5TestClassGetitem.test_class_getitem_format.<locals>.Cc��d|j�d�S)NzC[�]�r
��cls�items  rr�zGTestClassGetitem.test_class_getitem_format.<locals>.C.__class_getitem__�s��,�D�M�,�,�,�,rNr�r
rrrr���#������
-�
-�
-�
-�
-rr�C[int]zC[C]�r%r�)rrs  r�test_class_getitem_formatz*TestClassGetitem.test_class_getitem_format�sf��	-�	-�	-�	-�	-�	-�	-�	-�	
����3���*�*�*�����1��v�&�&�&�&�&rc��Gd�d��}Gd�d|��}|�|td��|�||d��dS)Nc��eZdZd�ZdS)�:TestClassGetitem.test_class_getitem_inheritance.<locals>.Cc�&�|j�d|j�d�S�N�[r�r�r�s  rr�zLTestClassGetitem.test_class_getitem_inheritance.<locals>.C.__class_getitem__�����,�9�9���9�9�9�9rNr�r
rrrr���#������
:�
:�
:�
:�
:rrc��eZdZdS)�:TestClassGetitem.test_class_getitem_inheritance.<locals>.DNr	r
rrr#r��rrr#�D[int]�D[D]r��rrr#s   r�test_class_getitem_inheritancez/TestClassGetitem.test_class_getitem_inheritance�sy��	:�	:�	:�	:�	:�	:�	:�	:�	�������������3���*�*�*�����1��v�&�&�&�&�&rc��Gd�d��}Gd�d|��}|�|td��|�||d��dS)Nc��eZdZd�ZdS)�<TestClassGetitem.test_class_getitem_inheritance_2.<locals>.Cc��dS)NzShould not see thisr
r�s  rr�zNTestClassGetitem.test_class_getitem_inheritance_2.<locals>.C.__class_getitem__�s��,�,rNr�r
rrrr��r�rrc��eZdZd�ZdS)�<TestClassGetitem.test_class_getitem_inheritance_2.<locals>.Dc�&�|j�d|j�d�Sr�r�r�s  rr�zNTestClassGetitem.test_class_getitem_inheritance_2.<locals>.D.__class_getitem__�r�rNr�r
rrr#r��r�rr#r�r�r�r�s   r� test_class_getitem_inheritance_2z1TestClassGetitem.test_class_getitem_inheritance_2�s���	-�	-�	-�	-�	-�	-�	-�	-�	:�	:�	:�	:�	:��	:�	:�	:�	
����3���*�*�*�����1��v�&�&�&�&�&rc��Gd�d��}Gd�d|��}|�|td��|�||d��dS)Nc�$�eZdZed���ZdS)�:TestClassGetitem.test_class_getitem_classmethod.<locals>.Cc�&�|j�d|j�d�Sr�r�r�s  rr�zLTestClassGetitem.test_class_getitem_classmethod.<locals>.C.__class_getitem__�s���,�9�9���9�9�9�9rN)r
rr�classmethodr�r
rrrr��s-������
�
:�
:��[�
:�
:�
:rrc��eZdZdS)�:TestClassGetitem.test_class_getitem_classmethod.<locals>.DNr	r
rrr#r��rrr#r�r�r�r�s   r�test_class_getitem_classmethodz/TestClassGetitem.test_class_getitem_classmethod�sy��	:�	:�	:�	:�	:�	:�	:�	:�	�������������3���*�*�*�����1��v�&�&�&�&�&rc��Gd�d��}Gd�d|��}|�|td��|�||d��dS)Nc��eZdZd�ZdS)�6TestClassGetitem.test_class_getitem_patched.<locals>.Cc�4�d�}t|��|_dS)Nc�&�|j�d|j�d�Sr�r�r�s  rr�zcTestClassGetitem.test_class_getitem_patched.<locals>.C.__init_subclass__.<locals>.__class_getitem__�s��!�l�=�=�T�]�=�=�=�=r)r�r�)r�r�s  r�__init_subclass__zHTestClassGetitem.test_class_getitem_patched.<locals>.C.__init_subclass__�s(��>�>�>�(3�4E�(F�(F��%�%�%rN)r
rrr�r
rrrr��s(������
G�
G�
G�
G�
Grrc��eZdZdS)�6TestClassGetitem.test_class_getitem_patched.<locals>.DNr	r
rrr#r��rrr#r�r�r�r�s   r�test_class_getitem_patchedz+TestClassGetitem.test_class_getitem_patched�s���	G�	G�	G�	G�	G�	G�	G�	G�
	�������������3���*�*�*�����1��v�&�&�&�&�&rc���Gd�dt��}Gd�d|��}|�|jd��|t|�|jt��dS)Nc��eZdZdZd�ZdS)�<TestClassGetitem.test_class_getitem_with_builtins.<locals>.ANc��||_dSr)�called_withr�s  rr�zNTestClassGetitem.test_class_getitem_with_builtins.<locals>.A.__class_getitem__�s
��"&����r)r
rrr�r�r
rrr+r��s(�������K�
'�
'�
'�
'�
'rr+c��eZdZdS)�<TestClassGetitem.test_class_getitem_with_builtins.<locals>.BNr	r
rrrr����������Drr)rX�assertIsr�r�)rr+rs   r� test_class_getitem_with_builtinsz1TestClassGetitem.test_class_getitem_with_builtins�s���	'�	'�	'�	'�	'��	'�	'�	'�
	�	�	�	�	��	�	�	��
�
�a�m�T�*�*�*�	�#����
�
�a�m�S�)�)�)�)�)rc�8�Gd�d��}|�t��5|tddd��n#1swxYwYGd�d��}|�t��5|tddd��dS#1swxYwYdS)Nc��eZdZd�ZdS)�=TestClassGetitem.test_class_getitem_errors.<locals>.C_too_fewc��dSrr
)r�s rr�zOTestClassGetitem.test_class_getitem_errors.<locals>.C_too_few.__class_getitem__�����trNr�r
rrrsr���#������
�
�
�
�
rrsc��eZdZd�ZdS)�>TestClassGetitem.test_class_getitem_errors.<locals>.C_too_manyc��dSrr
)r��one�twos   rr�zPTestClassGetitem.test_class_getitem_errors.<locals>.C_too_many.__class_getitem__�r�rNr�r
rrrjr��r�rrj)rvrwr�)rrsrjs   r�test_class_getitem_errorsz*TestClassGetitem.test_class_getitem_errors�sI��	�	�	�	�	�	�	�	��
�
�y�
)�
)�	�	��c�N�N�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	��
�
�y�
)�
)�	�	��s�O�O�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A�	A�4B�B�Bc��Gd�d��}|�t��5|��tddd��n#1swxYwYGd�d��}|��}d�|_|�t��5|tddd��n#1swxYwYGd�d��}|�t��5|tddd��n#1swxYwYGd�d	t��}|�td	��5|tddd��dS#1swxYwYdS)
Nc��eZdZd�ZdS)�7TestClassGetitem.test_class_getitem_errors_2.<locals>.Cc��dSrr
r�s  rr�zITestClassGetitem.test_class_getitem_errors_2.<locals>.C.__class_getitem__�r�rNr�r
rrrr�r�rrc��eZdZdS)�7TestClassGetitem.test_class_getitem_errors_2.<locals>.ENr	r
rrr;r�rrr;c��dS)NzThis will not workr
r�s  r�<lambda>z>TestClassGetitem.test_class_getitem_errors_2.<locals>.<lambda>�s��0D�rc��eZdZdZdS)�DTestClassGetitem.test_class_getitem_errors_2.<locals>.C_not_callabler}Nr�r
rrr~r�s������ +���rr~c��eZdZdZdS)�?TestClassGetitem.test_class_getitem_errors_2.<locals>.C_is_noneNr�r
rr�	C_is_noner
�s������ $���rr)rvrwr�r��tupler�)rrr;�er~rs      r�test_class_getitem_errors_2z,TestClassGetitem.test_class_getitem_errors_2�s���	�	�	�	�	�	�	�	��
�
�y�
)�
)�	�	�
�A�C�C��H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	��������
�A�C�C��D�D���
�
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	,�	,�	,�	,�	,�	,�	,�	,�
�
�
�y�
)�
)�	 �	 ��3���	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	%�	%�	%�	%�	%��	%�	%�	%�
�
#�
#�I�{�
;�
;�	�	��c�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sG�A
�
A�A�B(�(B,�/B,�C4�4C8�;C8�-E�E�Ec�n�Gd�dt��}|�|td��dS)Nc��eZdZd�ZdS)�;TestClassGetitem.test_class_getitem_metaclass.<locals>.Metac�&�|j�d|j�d�Sr�r�r�s  rr�zMTestClassGetitem.test_class_getitem_metaclass.<locals>.Meta.__class_getitem__�r�rNr�r
rrr�r�r�rr�z	Meta[int]�r�r%r�)rr�s  r�test_class_getitem_metaclassz-TestClassGetitem.test_class_getitem_metaclass�sN��	:�	:�	:�	:�	:�4�	:�	:�	:�	
����c��K�0�0�0�0�0rc��Gd�dt��}Gd�d|���}|�|td��dS)Nc��eZdZdS)�@TestClassGetitem.test_class_getitem_with_metaclass.<locals>.MetaNr	r
rrr�rrrr�c��eZdZd�ZdS)�=TestClassGetitem.test_class_getitem_with_metaclass.<locals>.Cc�&�|j�d|j�d�Sr�r�r�s  rr�zOTestClassGetitem.test_class_getitem_with_metaclass.<locals>.C.__class_getitem__r�rNr�r
rrrrr�rrr�r�r�rr�rs   r�!test_class_getitem_with_metaclassz2TestClassGetitem.test_class_getitem_with_metaclasssm�������4����	:�	:�	:�	:�	:�$�	:�	:�	:�	:�	
����3���*�*�*�*�*rc��Gd�dt��}Gd�d|���}|�|td��dS)Nc��eZdZd�ZdS)�ATestClassGetitem.test_class_getitem_metaclass_first.<locals>.Metac��dS)N�from metaclassr
r�s  r�__getitem__zMTestClassGetitem.test_class_getitem_metaclass_first.<locals>.Meta.__getitem__s��'�'rN)r
rrr"r
rrr�rs#������
(�
(�
(�
(�
(rr�c��eZdZd�ZdS)�>TestClassGetitem.test_class_getitem_metaclass_first.<locals>.Cc��dS)Nzfrom __class_getitem__r
r�s  rr�zPTestClassGetitem.test_class_getitem_metaclass_first.<locals>.C.__class_getitem__s��/�/rNr�r
rrrr$s#������
0�
0�
0�
0�
0rrr�r!rrs   r�"test_class_getitem_metaclass_firstz3TestClassGetitem.test_class_getitem_metaclass_first
s~��	(�	(�	(�	(�	(�4�	(�	(�	(�	0�	0�	0�	0�	0�$�	0�	0�	0�	0�	
����3��!1�2�2�2�2�2rN)r
rrr�r�r�r�r�r�r�r�rrrr&r
rrr�r��s�������.�.�.�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�
*�
*�
*�������.1�1�1�+�+�+�3�3�3�3�3rr�c��eZdZd�ZdS)�CAPITestc��ddlm}m}|�|�t
��|��|t
}|�t|��|��|�|�	d��t
f��Gd�d|��}|�|j
t
f��|�|j|f��|�|j|t
tf��dS)Nr)�Generic�GenericAliasr
c��eZdZdS)� CAPITest.test_c_class.<locals>.CNr	r
rrrr-r�rr)�	_testcapir*r+�assertIsInstancer�r�r�r�r%rr=r>r?r@)rr*r+�
IntGenericrs     r�test_c_classzCAPITest.test_c_classs
��3�3�3�3�3�3�3�3����g�7�7��<�<�l�K�K�K��S�\�
��
�
�d�:�&�&��5�5�5�����3�3�B�7�7�#��@�@�@�	�	�	�	�	�
�	�	�	������s�f�-�-�-�����)�J�=�9�9�9������Q��V�$4�5�5�5�5�5rN)r
rrr1r
rrr(r(s#������6�6�6�6�6rr(�__main__)
�unittest�testr�TestCaserr��cpython_onlyr(r
�mainr
rr�<module>r8s�������������N"�N"�N"�N"�N"�8�$�N"�N"�N"�b{3�{3�{3�{3�{3�x�(�{3�{3�{3�|	��
6�
6�
6�
6�
6�x� �
6�
6���
6� �z����H�M�O�O�O�O�O��r