Your IP : 216.73.216.213


Current Path : /proc/242857/root/opt/alt/python311/lib64/python3.11/test/__pycache__/
Upload File :
Current File : //proc/242857/root/opt/alt/python311/lib64/python3.11/test/__pycache__/test_typing.cpython-311.pyc

�

�0�i�����ddlZddlZddlmZddlmZmZmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlZddlmZmZmZmZddlmZddlmZmZddlmZmZmZmZddlmZmZmZdd	lm Z m!Z!m"Z"m#Z#dd
lm$Z$m%Z%m&Z&ddlm'Z'm(Z(m)Z)ddlm*Z*m+Z+m,Z,m-Z-dd
lm.Z.ddlm/Z/m0Z0m1Z1m2Z2m3Z3ddlm4Z4m5Z5m6Z6ddlm7Z7ddlm8Z8m9Z9ddlm:Z:ddlm;Z;ddlm<Z<ddlm=Z=m>Z>ddlm?Z?ddlm@Z@mAZAmBZBmCZCddlmDZDmEZEmFZFddlmGZGmHZHddlmIZImJZJddlmKZKmLZLddlmMZMddlmNZNmOZOmPZPmQZQddlmRZRddlSZSddlTZTddlZddlUZUddlVZVddlWmXZXmYZYmZZZdd l[m\Z\m]Z]eXj^d!d"g�#��Z_eXj^d!d"g�$��Z`d%ZaGd&�d'e��Zbd(�ZcGd)�d*��ZdGd+�d,ed��ZeGd-�d.ed��ZfGd/�d0eeef��ZgGd1�d2eb��ZhGd3�d4��ZiGd5�d6eieb��ZjGd7�d8eieb��ZkGd9�d:eb��ZlGd;�d<eb��ZmGd=�d>eb��ZnGd?�d@eb��ZodAepeqdBereqepeqfdCepeseqfdD�ZtGdE�dFeb��ZuGdG�dHeb��ZvGdI�dJeb��ZwGdK�dLeb��ZxGdM�dNeb��ZyGdO�dPeb��ZzGdQ�dReb��Z{GdS�dT��Z|GdU�dVe|eb��Z}GdW�dXe|eb��Z~GdY�dZeb��Ze d[eqe���Z�e d\��Z�Gd]�d^e/e�e�f��Z�Gd_�d`e�e�e�f��Z�Gda�dbe3��Z�e6Gdc�dde�e3����Z�Gde�df��Z�Gdg�dhe3��Z�Gdi�dje3��Z�e6Gdk�dle�e�e3����Z�e6Gdm�dne3����Z�Gdo�dpe���Z�Gdq�dr��Z�Gds�dte@��Z�e6Gdu�dve3����Z�Gdw�dxeb��Z�Gdy�dzeb��Z�Gd{�d|eb��Z�Gd}�d~eb��Z�Gd�d�eb��Z�Gd��d�eb��Z�Gd��d�eb��Z�dd�l[m�Z�e=Gd��d�����Z�e=Gd��d�����Z�Gd��d�eb��Z�e��d����Z�Gd��d���Z�Gd��d�eb��Z�dd�l[m�Z�m�Z�m�Z�m�Z�m�Z�e d���Z�Gd��d�ej�e���Z�Gd��d�ej�e���Z�Gd��d���Z�Gd��d���Z�Gd��d�e���Z�Gd��d�e���Z�Gd��d�e/e$��Z�Gd��d���Z�Gd��d���Z�Gd��d�e@��Z�Gd��d�e@��Z�Gd��d�e@��Z�Gd��d�e@��Z�eCd�d�eqfg��Z�Gd��d�eC��Z�Gd��d�e/e$eC��Z�Gd��d�e]j�d�����Z�Gd��d�e]j�e$d�����Z�Gd��d�e�e���Z�Gd��d�eCd�����Z�Gd��d�eC��Z�Gd��d�eCd�����Z�Gd��d�eCd�����Z�GdÄd�e���Z�Gdńd�eC��Z�GdDŽd�e���Z�GdɄd�eC��Z�Gd˄d�eC��Z�Gd̈́d�eC��Z�Gdτd�e\j���Z�d�ej�e�fd҄Z�	e�e�������d��n%#e�$rZ�e�j�dd�ksJ�YdZ�[�ndZ�[�wwxYwe7Z�GdԄdզ�Z�Gdքd�eb��Z�Gd؄d�e��Z�Gdڄd�eb��Z�Gd܄d�eb��Z�Gdބd�eb��Z�Gd�d�e��Z�Gd�d��Z�Gd�d�e�eb��Z�ee`d��Gd�d�e�eb����Z�Gd�d�eb��Z�Gd�d�eb��Z�Gd�d�eb��Z�Gd�d�eb��Z�Gd�d�eb��Z�Gd�d�eb��Z�Gd��d�eb��Z�Gd��d�eb��Z�Gd��d�eb��Z�Gd��d�eb��Z�Gd��d�eb��Z�ejNd���Z�ej �de�e�e��Z�G�d��deb��Z�G�d��deb��Z�G�d��deb��Z�G�d��deb��Z�G�d	��d
eb��Z�d�Z�e�dkre��dSdS(
�N)�defaultdict)�	lru_cache�wraps�reduce)�TestCase�main�
skipUnless�skip)�patch)�copy�deepcopy)�Any�NoReturn�Never�assert_never)�overload�
get_overloads�clear_overloads)�TypeVar�TypeVarTuple�Unpack�AnyStr)�T�KT�VT)�Union�Optional�Literal)�Tuple�List�Dict�MutableMapping)�Callable)�Generic�ClassVar�Final�final�Protocol)�assert_type�cast�runtime_checkable)�get_type_hints)�
get_origin�get_args)�is_typeddict)�reveal_type)�dataclass_transform)�
no_type_check�no_type_check_decorator��Type)�
NamedTuple�NotRequired�Required�	TypedDict��IO�TextIO�BinaryIO)�Pattern�Match)�	Annotated�
ForwardRef)�Self�
LiteralString)�	TypeAlias)�	ParamSpec�Concatenate�
ParamSpecArgs�ParamSpecKwargs)�	TypeGuard)�
import_helper�captured_stderr�cpython_only)�mod_generics_cache�_typed_dict_helper�typing�_typing)�blocked)�freshz&Cannot subclass special typing classesc�$�eZdZdd�Zdd�Zd�ZdS)�BaseTestCaseNc�r�t||��s&|�d|��}|�|d|zz
}|�|���dS)Nz is not a subclass of � : %s��
issubclass�failureException��self�cls�class_or_tuple�msg�messages     �7/opt/alt/python311/lib64/python3.11/test/test_typing.py�assertIsSubclasszBaseTestCase.assertIsSubclass;sU���#�~�.�.�	1�69�c�c�>�>�J�G����7�S�=�(���'�'��0�0�0�		1�	1�c�r�t||��r&|�d|��}|�|d|zz
}|�|���dS)Nz is a subclass of rVrWrZs     r`�assertNotIsSubclassz BaseTestCase.assertNotIsSubclassBsU���c�>�*�*�	1�25�#�#�~�~�F�G����7�S�=�(���'�'��0�0�0�		1�	1rbc�8�tjD]}|���
dS�N)rO�	_cleanups�r[�fs  r`�clear_cacheszBaseTestCase.clear_cachesIs+���!�	�	�A�
�A�C�C�C�C�	�	rbrf)�__name__�
__module__�__qualname__rardrj�rbr`rTrT9sK������1�1�1�1�1�1�1�1�����rbrTc�<��t����fd���}|S)z:Runs `test_func` with various values for `proto` argument.c���ttjdz��D]=}|�|���5�||���ddd��n#1swxYwY�>dS)N�)�pickle_proto��proto)�range�pickle�HIGHEST_PROTOCOL�subTest)r[rt�	test_funcs  �r`�wrapperz%all_pickle_protocols.<locals>.wrapperQs�����6�2�Q�6�7�7�	-�	-�E����5��1�1�
-�
-��	�$�e�,�,�,�,�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-����
-�
-�
-�
-��	-�	-s�A�A	�A	)r)ryrzs` r`�all_pickle_protocolsr{Ns8����9���-�-�-�-���-�
�Nrbc��eZdZdS)�EmployeeN�rkrlrmrnrbr`r}r}Z��������Drbr}c��eZdZdS)�ManagerNr~rnrbr`r�r�^rrbr�c��eZdZdS)�FounderNr~rnrbr`r�r�brrbr�c��eZdZdS)�ManagingFounderNr~rnrbr`r�r�frrbr�c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�AnyTestsc��|�t��5tdt��ddd��dS#1swxYwYdS�N�*)�assertRaises�	TypeError�
isinstancer�r[s r`�test_any_instance_type_errorz%AnyTests.test_any_instance_type_errorls���
�
�
�y�
)�
)�	 �	 ��r�3����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 ��>�A�Ac���|�tt��d��Gd�dt��}|�t|��dt�d���dS)Nz
typing.Anyc��eZdZdS)�AnyTests.test_repr.<locals>.SubNr~rnrbr`�Subr�s��������rbr��<class 'z".AnyTests.test_repr.<locals>.Sub'>)�assertEqual�reprrrk�r[r�s  r`�	test_reprzAnyTests.test_reprpsq������c���L�1�1�1������#���������I�I�C�x�C�C�C�	
�	
�	
�	
�	
rbc��|�t��5tdt��ddd��n#1swxYwY|�t��5ttddd��dS#1swxYwYdSr�)r�r�rXr�intr�s r`�test_errorszAnyTests.test_errorsys���
�
�
�y�
)�
)�	 �	 ��r�3����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	�	���H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s!�=�A�A�"B�B�	Bc�d�Gd�dt��}|�t|t����|�|��|��Gd�d��}|�t|t����|�|��|��Gd�d||��}|�t|t����|��}|�||��|�||��|�||��dS)Nc��eZdZdS)�(AnyTests.test_can_subclass.<locals>.MockNr~rnrbr`�Mockr��r�rbr�c��eZdZdS)�-AnyTests.test_can_subclass.<locals>.SomethingNr~rnrbr`�	Somethingr��r�rbr�c��eZdZdS)�1AnyTests.test_can_subclass.<locals>.MockSomethingNr~rnrbr`�
MockSomethingr��r�rbr�)r�
assertTruerX�assertIsInstance�assertFalse�assertNotIsInstance)r[r�r�r��mss     r`�test_can_subclasszAnyTests.test_can_subclasss1�������3�������
�4��-�-�.�.�.����d�d�f�f�d�+�+�+�������������I�s�3�3�4�4�4�� � �����d�3�3�3�2�2�2�2�2�I�t�2�2�2����
�=�#�6�6�7�7�7�
�]�_�_�����b�-�0�0�0����b�)�,�,�,����b�$�'�'�'�'�'rbc�F�Gd�dt��}|dd���dS)Nc��eZdZd�ZdS)�>AnyTests.test_subclassing_with_custom_constructor.<locals>.Subc��dSrfrn�r[�args�kwargss   r`�__init__zGAnyTests.test_subclassing_with_custom_constructor.<locals>.Sub.__init__�����rbN�rkrlrmr�rnrbr`r�r��s������5�5�5�5�5rbr�r�)�s)rr�s  r`�(test_subclassing_with_custom_constructorz1AnyTests.test_subclassing_with_custom_constructor�sC��	6�	6�	6�	6�	6�#�	6�	6�	6�	��A�������rbc���Gd�d��}Gd�dt|��}|dd��}|�|jd��|�|jd��dS)Nc��eZdZd�ZdS)�HAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Fooc��||_dSrf��x�r[r�s  r`r�zQAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Foo.__init__��
������rbNr�rnrbr`�Foor���#������
�
�
�
�
rbr�c���eZdZ�fd�Z�xZS)�HAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Barc�X��||_t���|��dSrf)�y�superr�)r[r�r��	__class__s   �r`r�zQAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Bar.__init__�s(��������� � ��#�#�#�#�#rb�rkrlrmr��
__classcell__�r�s@r`�Barr��s8�������
$�
$�
$�
$�
$�
$�
$�
$�
$rbr�rq�)rr�r�r�)r[r�r��bs    r`�2test_multiple_inheritance_with_custom_constructorsz;AnyTests.test_multiple_inheritance_with_custom_constructors�s���	�	�	�	�	�	�	�	�	$�	$�	$�	$�	$�#�s�	$�	$�	$�

�C��1�I�I�������a� � � ������a� � � � � rbc�$�|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��dS#1swxYwYdSrf)r�r�r�typer�s r`�test_cannot_instantiatez AnyTests.test_cannot_instantiate�s���
�
�
�y�
)�
)�	�	��E�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��I�I�K�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��6�:�:�B�B	�B	c��tjttjttjtdSrf)rOr?rr>r;r�s r`�test_any_works_with_aliasz"AnyTests.test_any_works_with_alias�s+����S�����s����	�#����rbN)rkrlrmr�r�r�r�r�r�r�r�rnrbr`r�r�js������� � � �
�
�
����(�(�(� ���!�!�!��������rbr�c�P�eZdZUeeed<d�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	S)
�BottomTypeTestsMixin�bottom_typec��|�|j|j��|�|j|j��|�|jd��dSrf)r�r��assertIs�assertNotEqualr�s r`�
test_equalityz"BottomTypeTestsMixin.test_equality�sW������)�4�+;�<�<�<��
�
�d�&��(8�9�9�9����D�,�d�3�3�3�3�3rbc�V�|�t|j��d��dSrf)r�r-r�r�s r`�test_get_originz$BottomTypeTestsMixin.test_get_origin�s'���
�
�j��!1�2�2�D�9�9�9�9�9rbc��|�t��5td|j��ddd��dS#1swxYwYdSr�)r�r�r�r�r�s r`�test_instance_type_errorz-BottomTypeTestsMixin.test_instance_type_error�s���
�
�
�y�
)�
)�	-�	-��r�4�+�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-r�c�8�|�t��5tt|j��ddd��n#1swxYwY|�t��5tt
|j��ddd��dS#1swxYwYdSrf)r�r�rXr}r�rr�s r`�test_subclass_type_errorz-BottomTypeTestsMixin.test_subclass_type_error�s	��
�
�
�y�
)�
)�	3�	3��x��!1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�
�
�
�y�
)�
)�	3�	3��x��!1�2�2�2�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3�	3����	3�	3�	3�	3�	3�	3�#�A�A�	A�'B�B�Bc��|�t��5|jtddd��dS#1swxYwYdSrf)r�r�r�r�r�s r`�test_not_genericz%BottomTypeTestsMixin.test_not_generic�s���
�
�
�y�
)�
)�	"�	"���S�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"�
�;�?�?c�6�|�t��5Gd�d|j��}ddd��n#1swxYwY|�t��5Gd�dt|j����}ddd��dS#1swxYwYdS)Nc��eZdZdS)�4BottomTypeTestsMixin.test_cannot_subclass.<locals>.ANr~rnrbr`�Ar����������rbr�c��eZdZdS)�4BottomTypeTestsMixin.test_cannot_subclass.<locals>.BNr~rnrbr`�Br��r�rbr��r�r�r�r��r[r�r�s   r`�test_cannot_subclassz)BottomTypeTestsMixin.test_cannot_subclass�sG��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D�$�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��)�*�*�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��;�?�?� !B�B�Bc�0�|�t��5|���ddd��n#1swxYwY|�t��5t|j����ddd��dS#1swxYwYdSrfr�r�s r`r�z,BottomTypeTestsMixin.test_cannot_instantiate�s��
�
�
�y�
)�
)�	�	�������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	%�	%�"�D��!�"�"�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s!�<�A�A�!B�B�BN)
rkrlrmr%r�__annotations__r�r�r�r�r�r�r�rnrbr`r�r��s���������#�����4�4�4�
:�:�:�-�-�-�3�3�3�"�"�"����%�%�%�%�%rbr�c�$�eZdZeZd�Zd�Zd�ZdS)�
NoReturnTestsc�V�|�tt��d��dS)N�typing.NoReturn)r�r�rr�s r`r�zNoReturnTests.test_repr�s%������h���):�;�;�;�;�;rbc��dtdtfd�}d	d�}ttd�}||fD]S}|�|���5|�t|��|��ddd��n#1swxYwY�TdS)
N�arg�returnc��dSrfrn�r�s r`�somez/NoReturnTests.test_get_type_hints.<locals>.some�r�rbrr�c��dSrfrnr�s r`�some_strz3NoReturnTests.test_get_type_hints.<locals>.some_str�r�rb�r�r���target)r�rr�r�)rrxr��gth�r[rr�expectedrs     r`�test_get_type_hintsz!NoReturnTests.test_get_type_hints�s���0�h�0�8�0�0�0�0�?�?�?�?�#�x�8�8���X�&�	8�	8�F����V��,�,�
8�
8�� � ��V���h�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8��$A2�2A6	�9A6	c��|�tt��|�tt��dSrf)r�rrr�s r`�test_not_equalityzNoReturnTests.test_not_equality�s4�����H�e�,�,�,����E�8�,�,�,�,�,rbN)rkrlrmrr�r�r	rrnrbr`r�r��sF�������K�<�<�<�8�8�8�-�-�-�-�-rbr�c��eZdZeZd�Zd�ZdS)�
NeverTestsc�V�|�tt��d��dS)N�typing.Never)r�r�rr�s r`r�zNeverTests.test_repr�s$������e���n�5�5�5�5�5rbc��dtdtfd�}d	d�}ttd�}||fD]S}|�|���5|�t|��|��ddd��n#1swxYwY�TdS)
Nr�r�c��dSrfrnr�s r`rz,NeverTests.test_get_type_hints.<locals>.some�r�rbrrc��dSrfrnr�s r`rz0NeverTests.test_get_type_hints.<locals>.some_str�r�rbrr)r�rr�r)rrxr�rrs     r`r	zNeverTests.test_get_type_hints�s���*�e�*��*�*�*�*�9�9�9�9� �E�2�2���X�&�	8�	8�F����V��,�,�
8�
8�� � ��V���h�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8r
N)rkrlrmrr�r�r	rnrbr`rr�s7�������K�6�6�6�8�8�8�8�8rbrc��eZdZd�ZdS)�AssertNeverTestsc��|�t��5td��ddd��n#1swxYwYd}|�t|��5t|��ddd��n#1swxYwYddz}|�t��5}t|��ddd��n#1swxYwY|�t|jjd��tj	dz��dS)Nz
some value�ai'rr�)
r��AssertionErrorr�assertRaisesRegex�
assertLess�len�	exceptionr�rO�_ASSERT_NEVER_REPR_MAX_LENGTH)r[�value�
huge_value�cms    r`�test_exceptionzAssertNeverTests.test_exception�s���
�
�
�~�
.�
.�	�	������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	���
�
#�
#�N�E�
:�
:�	 �	 ������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ��5�[�
�
�
�
�~�
.�
.�	%�"���$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�������!�!�$�%�%��0�1�4�	
�	
�	
�	
�	
s0�7�;�;�A;�;A?�A?�%C�C�CN)rkrlrmr!rnrbr`rr�s#������
�
�
�
�
rbrc�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�	SelfTestsc��|�tt��|�tt��|�td��dSrf)r�rBr�r�r�s r`r�zSelfTests.test_equalitysH������t�$�$�$��
�
�d�D�!�!�!����D�$�'�'�'�'�'rbc�n�Gd�d��}Gd�d��}Gd�d��}|||fD]_}|�|���5|�t|j��dti��ddd��n#1swxYwY�`|�t
t��d��dS)	Nc��eZdZdefd�ZdS)�"SelfTests.test_basics.<locals>.Foor�c��dSrfrnr�s r`�barz&SelfTests.test_basics.<locals>.Foo.barr�rbN)rkrlrmrBr)rnrbr`r�r's!������&�T�&�&�&�&�&�&rbr�c��eZdZdd�ZdS)�%SelfTests.test_basics.<locals>.FooStrr�rBc��dSrfrnr�s r`r)z)SelfTests.test_basics.<locals>.FooStr.barr�rbN)r�rB�rkrlrmr)rnrbr`�FooStrr+s������(�(�(�(�(�(rbr.c��eZdZdd�ZdS)�+SelfTests.test_basics.<locals>.FooStrTypingr��typing.Selfc��dSrfrnr�s r`r)z/SelfTests.test_basics.<locals>.FooStrTyping.barr�rbN)r�r1r-rnrbr`�FooStrTypingr0s������/�/�/�/�/�/rbr3rr�)rxr�rr)rBr�r-�r[r�r.r3rs     r`�test_basicszSelfTests.test_basicssT��	'�	'�	'�	'�	'�	'�	'�	'�	)�	)�	)�	)�	)�	)�	)�	)�	0�	0�	0�	0�	0�	0�	0�	0��F�L�1�	D�	D�F����V��,�,�
D�
D�� � ��V�Z���8�T�2B�C�C�C�
D�
D�
D�
D�
D�
D�
D�
D�
D�
D�
D����
D�
D�
D�
D���
�
�j��&�&��-�-�-�-�-��0B�B	�B	c�V�|�tt��d��dS)Nr1)r�r�rBr�s r`r�zSelfTests.test_repr"s$������d���]�3�3�3�3�3rbc��|�t��5ttddd��dS#1swxYwYdSrf)r�r�rBr�r�s r`�test_cannot_subscriptzSelfTests.test_cannot_subscript%s���
�
�
�y�
)�
)�	�	���I�I�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c�6�|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�)SelfTests.test_cannot_subclass.<locals>.CNr~rnrbr`�Cr<+r�rbr=c��eZdZdS)�)SelfTests.test_cannot_subclass.<locals>.DNr~rnrbr`�Dr?.r�rbr@)r�r�r�rB�r[r=r@s   r`r�zSelfTests.test_cannot_subclass)s?��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��J�J�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�#�!A�A�A�-B�B�Bc�$�|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��dS#1swxYwYdSrf)r�r�rBr�r�s r`�test_cannot_initzSelfTests.test_cannot_init1s���
�
�
�y�
)�
)�	�	��F�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��J�J�L�L�L�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c�.�|�t��5tdt��ddd��n#1swxYwY|�t��5t	t
t��ddd��dS#1swxYwYdS�Nrq)r�r�r�rBrXr�r�s r`�test_no_isinstancezSelfTests.test_no_isinstance7s��
�
�
�y�
)�
)�	 �	 ��q�$����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	"�	"��s�D�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"�!�=�A�A�"B
�
B�Bc��tttf}tt}tt}|�t|��ttf��|�t|��tf��|�t|��tf��dSrf)rrBr r%r�r.�r[�alias_1�alias_2�alias_3s    r`�
test_aliaszSelfTests.test_alias=s�����d�
�#���t�*���4�.������'�*�*�T�4�L�9�9�9�����'�*�*�T�G�4�4�4�����'�*�*�T�G�4�4�4�4�4rbN�rkrlrmr�r5r�r9r�rDrGrNrnrbr`r#r#s�������(�(�(�
.�.�.�4�4�4����������"�"�"�5�5�5�5�5rbr#c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�LiteralStringTestsc��|�tt��|�tt��|�td��dSrf)r�rCr�r�r�s r`r�z LiteralStringTests.test_equalityHsH������
�6�6�6��
�
�m�]�3�3�3����M�4�0�0�0�0�0rbc�n�Gd�d��}Gd�d��}Gd�d��}|||fD]_}|�|���5|�t|j��dti��ddd��n#1swxYwY�`|�t
t��d��dS)	Nc��eZdZdefd�ZdS)�+LiteralStringTests.test_basics.<locals>.Foor�c��dSrfrnr�s r`r)z/LiteralStringTests.test_basics.<locals>.Foo.barOr�rbN)rkrlrmrCr)rnrbr`r�rUNs!������/�]�/�/�/�/�/�/rbr�c��eZdZdd�ZdS)�.LiteralStringTests.test_basics.<locals>.FooStrr�rCc��dSrfrnr�s r`r)z2LiteralStringTests.test_basics.<locals>.FooStr.barQr�rbN)r�rCr-rnrbr`r.rXPs������1�1�1�1�1�1rbr.c��eZdZdd�ZdS)�4LiteralStringTests.test_basics.<locals>.FooStrTypingr��typing.LiteralStringc��dSrfrnr�s r`r)z8LiteralStringTests.test_basics.<locals>.FooStrTyping.barSr�rbN)r�r\r-rnrbr`r3r[Rs������8�8�8�8�8�8rbr3rr�)rxr�rr)rCr�r-r4s     r`r5zLiteralStringTests.test_basicsMsT��	0�	0�	0�	0�	0�	0�	0�	0�	2�	2�	2�	2�	2�	2�	2�	2�	9�	9�	9�	9�	9�	9�	9�	9��F�L�1�	M�	M�F����V��,�,�
M�
M�� � ��V�Z���8�]�2K�L�L�L�
M�
M�
M�
M�
M�
M�
M�
M�
M�
M�
M����
M�
M�
M�
M���
�
�j��/�/��6�6�6�6�6r6c�V�|�tt��d��dS)Nr\)r�r�rCr�s r`r�zLiteralStringTests.test_reprZs'������m�,�,�.D�E�E�E�E�Erbc��|�t��5ttddd��dS#1swxYwYdSrf)r�r�rCr�r�s r`r9z(LiteralStringTests.test_cannot_subscript]s���
�
�
�y�
)�
)�	�	��#���	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c�6�|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�2LiteralStringTests.test_cannot_subclass.<locals>.CNr~rnrbr`r=rbcr�rbr=c��eZdZdS)�2LiteralStringTests.test_cannot_subclass.<locals>.DNr~rnrbr`r@rdfr�rbr@)r�r�r�rCrAs   r`r�z'LiteralStringTests.test_cannot_subclassasA��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��'�'�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�M�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rBc�$�|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��dS#1swxYwYdSrf)r�r�rCr�r�s r`rDz#LiteralStringTests.test_cannot_initis��
�
�
�y�
)�
)�	�	��O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	"�	"��D����!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"r�c�.�|�t��5tdt��ddd��n#1swxYwY|�t��5t	t
t��ddd��dS#1swxYwYdSrF)r�r�r�rCrXr�r�s r`rGz%LiteralStringTests.test_no_isinstanceos��
�
�
�y�
)�
)�	)�	)��q�-�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
�
�
�y�
)�
)�	+�	+��s�M�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+rHc��tttf}tt}tt}|�t|��ttf��|�t|��tf��|�t|��tf��dSrf)rrCr r%r�r.rJs    r`rNzLiteralStringTests.test_aliasus����
�}�4�5���}�%���=�)������'�*�*�]�M�,J�K�K�K�����'�*�*�]�,<�=�=�=�����'�*�*�]�,<�=�=�=�=�=rbNrOrnrbr`rQrQGs�������1�1�1�
7�7�7�F�F�F�������"�"�"�+�+�+�>�>�>�>�>rbrQc�z�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�ZdS)�TypeVarTestsc��td��}|�||��|�|t��|�|jd��|�|jd��|�|jd��|�|jd��|�|jd��dS)NrrnF)	rr�r�rk�__constraints__r��	__bound__�
__covariant__�__contravariant__�r[rs  r`�test_basic_plainzTypeVarTests.test_basic_plain~s����C�L�L������A�������a��)�)�)������S�)�)�)�����*�B�/�/�/��
�
�a�k�4�(�(�(��
�
�a�o�u�-�-�-��
�
�a�)�5�1�1�1�1�1rbc�V�tdt���}|�|jd��|�|jd��|�|jt��tdtt��}|�|jd��|�|jttf��|�|jd��tdd���}|�|jd��|�|jd��|�|j	d��td	d�
��}|�|jd	��|�|jd��|�|j	d��dS)N�T_bound��boundrn�
T_constraints�T_coT��	covariantF�T_contra��
contravariant)
rr�r�rkrkr�rl�strrmrn)r[rrrurvrys     r`�test_attributeszTypeVarTests.test_attributes�sr���)�3�/�/�/������)�9�5�5�5�����0�"�5�5�5��
�
�g�'��-�-�-����c�:�:�
�����/��A�A�A�����6��c�
�C�C�C��
�
�m�-�t�4�4�4��v��.�.�.��������/�/�/��
�
�d�(�$�/�/�/��
�
�d�,�e�4�4�4��:�T�:�:�:������*�J�7�7�7��
�
�h�,�e�4�4�4��
�
�h�0�$�7�7�7�7�7rbc��td��}|�t��5td|��ddd��dS#1swxYwYdS)Nrr�)rr�r�r�ros  r`� test_typevar_instance_type_errorz-TypeVarTests.test_typevar_instance_type_error�s����C�L�L��
�
�
�y�
)�
)�	�	��r�1����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ac�B�td��}|�t��5tt|��ddd��n#1swxYwY|�t��5t|t��ddd��dS#1swxYwYdS�Nr)rr�r�rXr�ros  r`� test_typevar_subclass_type_errorz-TypeVarTests.test_typevar_subclass_type_error�s���C�L�L��
�
�
�y�
)�
)�	�	��s�A����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��q�#����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A�A�1B�B�Bc��|�t��5tdt��}|ddd��dS#1swxYwYdS)N�X)r�r�rr��r[r�s  r`�test_constrained_errorz#TypeVarTests.test_constrained_error�s���
�
�
�y�
)�
)�	�	���S�!�!�A�
�A�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��A�A�Ac�P�td��}td��}|�||��|�t||��|�t|t||f��|�t||f|��|�t|tft|��|�t|tftt��|�t|tfj|tf��|�t|tfj|f��|�t|tfjt��dS)Nr��Y)	rr�r�rr��__args__�__parameters__r��
__origin__)r[r�r�s   r`�test_union_uniquezTypeVarTests.test_union_unique�s9���C�L�L���C�L�L�����A�q�!�!�!�����q��1�%�%�%����E�!�H�e�A�q�D�k�2�2�2�����q�!�t��a�(�(�(����E�!�S�&�M�5��8�4�4�4����E�!�S�&�M�5��:�6�6�6�����q�#�v��/�!�S��:�:�:�����q�#�v��5��t�<�<�<��
�
�e�A�s�F�m�.��6�6�6�6�6rbc��td��}|�|dzt|df��|�d|ztd|f��|�t|dz��|t	d��f��|�td|z��t	d��|f��dS�Nr�r�)rr�rr.rAr�s  r`�test_orzTypeVarTests.test_or�s����C�L�L��	
����S��%��3��-�0�0�0�����q��%��Q��-�0�0�0�����!�c�'�*�*�Q�
�3���,@�A�A�A�����#��'�*�*�Z��_�_�a�,@�A�A�A�A�Arbc��tdtt��}|�t|tft|��dS�Nr�)rr|�bytesr�r�r[r�s  r`�test_union_constrainedz#TypeVarTests.test_union_constrained�s;���C��e�$�$�����E�!�S�&�M�5��8�4�4�4�4�4rbc��|�tt��d��|�tt��d��|�tt��d��|�tt
��d��t
dd���}|�t|��d��t
d	d�
��}|�t|��d��dS)Nz~Tz~KTz~VTz~AnyStrrvTrwz+T_coryrzz	-T_contra)r�r�rrrrr)r[rvrys   r`r�zTypeVarTests.test_repr�s�������a���$�'�'�'�����b���5�)�)�)�����b���5�)�)�)�����f���y�1�1�1��v��.�.�.������d���W�-�-�-��:�T�:�:�:������h����5�5�5�5�5rbc��|�td��td����|�tdtt��tdtt����dSr�)r�rr�r|r�s r`�test_no_redefinitionz!TypeVarTests.test_no_redefinition�sX�����G�C�L�L�'�#�,�,�7�7�7����G�C��c�2�2�G�C��c�4J�4J�K�K�K�K�Krbc��|�t��5Gd�dtd����}ddd��dS#1swxYwYdS)Nc��eZdZdS)�1TypeVarTests.test_cannot_subclass_vars.<locals>.VNr~rnrbr`�Vr��r�rbr�r�r�r�r)r[r�s  r`�test_cannot_subclass_varsz&TypeVarTests.test_cannot_subclass_vars�s���
�
�
�y�
)�
)�	�	�
�
�
�
�
�G�C�L�L�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ac��|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�7TypeVarTests.test_cannot_subclass_var_itself.<locals>.WNr~rnrbr`�Wr��r�rbr�r�)r[r�s  r`�test_cannot_subclass_var_itselfz,TypeVarTests.test_cannot_subclass_var_itself�s���
�
�
�y�
)�
)�	�	�
�
�
�
�
�G�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��<�A�Ac��|�t��5td����ddd��dS#1swxYwYdSr�r�r�s r`�test_cannot_instantiate_varsz)TypeVarTests.test_cannot_instantiate_vars�s���
�
�
�y�
)�
)�	�	��G�C�L�L�N�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c�@�|�t��5tdt���ddd��n#1swxYwY|�t��5tdtt
t���ddd��dS#1swxYwYdS)Nr�rs)r�r�rrr|�floatr}r�s r`�test_bound_errorszTypeVarTests.test_bound_errors�s
��
�
�
�y�
)�
)�	&�	&��C�u�%�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�
�
�y�
)�
)�	5�	5��C��e�8�4�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s!�>�A�A�##B�B�Bc�*�d}t|i��dS)Nz&import typing
T = typing.TypeVar('T')
��exec�r[�codes  r`�test_missing__name__z!TypeVarTests.test_missing__name__�s��,��	
�T�2�����rbc��|�t��5tddd���ddd��dS#1swxYwYdS)NrT)rxr{)r��
ValueErrorrr�s r`�test_no_bivariantzTypeVarTests.test_no_bivariant�s���
�
�
�z�
*�
*�	=�	=��C�4�t�<�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=r�c���td��}|j}|�|t��t��|�|t
t��t
t��|�|tt��tt��|�|t��t��|�|t��t��|�|d��td����|�||��|��|�|ttz��ttz��|�|tttf��tttf��dSr�)r�__typing_subst__r�r�r��listr rr�r|r)r[r�substs   r`�test_var_substitutionz"TypeVarTests.test_var_substitution�sU���C�L�L���"���
�
�e�e�C�j�j�#�&�&�&������t�C�y�)�)�4��9�5�5�5������t�C�y�)�)�4��9�5�5�5������t���d�+�+�+��
�
�e�e�C�j�j�#�&�&�&��
�
�e�e�D�k�k�4��:�:�.�.�.��
�
�e�e�A�h�h��"�"�"������s�3�w����S��1�1�1������u�S�#�X��/�/��s�C�x��A�A�A�A�Arbc���td��}dttfttt|t
t
|ttttttf}|D]�}|�|���5|�	t��5|j|��ddd��n#1swxYwY|�	t��5t||ddd��n#1swxYwY|�	t��5t||ddd��n#1swxYwYddd��n#1swxYwY��dS)Nrrnr�)rr�r|rr$r(r&r%rxr�r�r�r r�)r[r�bad_argsr�s    r`�test_bad_var_substitutionz&TypeVarTests.test_bad_var_substitutions.���C�L�L����c�
�E��W�Q�Z��8�A�;��5��:�x��#��
��
�	!�	!�C����#��&�&�
!�
!��&�&�y�1�1�,�,�&�A�&�s�+�+�+�,�,�,�,�,�,�,�,�,�,�,����,�,�,�,��&�&�y�1�1�!�!���G�C�L�L�!�!�!�!�!�!�!�!�!�!�!����!�!�!�!��&�&�y�1�1�!�!���G�C�L�L�!�!�!�!�!�!�!�!�!�!�!����!�!�!�!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!��	!�	!s~�E+�-C
�>E+�
C�E+�C�E+�/D�E+�D�E+�D�E+�4E�E+�E�E+�E�E+�+E/	�2E/	N)rkrlrmrpr}rr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rnrbr`riri}s+������
2�
2�
2�8�8�8�*���
������
7�7�7�B�B�B�5�5�5�6�6�6�L�L�L����
���
���5�5�5����=�=�=�B�B�B�!�!�!�!�!rbri�	templates�replacementsr�c���g}|���D]8\}}g}|D]}|�||f���|�|���9g}tj|�D]^}g}	|D]5}
|D]\}}|
�||��}
�|	�|
���6|�t|	�����_g}|D]}||vr|�|���|S)a�Renders templates with possible combinations of replacements.

    Example 1: Suppose that:
      templates = ["dog_breed are awesome", "dog_breed are cool"]
      replacements = ["dog_breed": ["Huskies", "Beagles"]]
    Then we would return:
      [
          ("Huskies are awesome", "Huskies are cool"),
          ("Beagles are awesome", "Beagles are cool")
      ]

    Example 2: Suppose that:
      templates = ["Huskies are word1 but also word2"]
      replacements = {"word1": ["playful", "cute"],
                      "word2": ["feisty", "tiring"]}
    Then we would return:
      [
          ("Huskies are playful but also feisty"),
          ("Huskies are playful but also tiring"),
          ("Huskies are cute but also feisty"),
          ("Huskies are cute but also tiring")
      ]

    Note that if any of the replacements do not occur in any template:
      templates = ["Huskies are word1", "Beagles!"]
      replacements = {"word1": ["playful", "cute"],
                      "word2": ["feisty", "tiring"]}
    Then we do not generate duplicates, returning:
      [
          ("Huskies are playful", "Beagles!"),
          ("Huskies are cute", "Beagles!")
      ]
    )�items�append�	itertools�product�replace�tuple)
r�r��replacement_combos�original�possible_replacements�original_replacement_tuples�replacement�rendered_templates�replacement_combo�templates_with_replacements�template� rendered_templates_no_duplicatesr�s
             r`�template_replacer�sS��N��+7�+=�+=�+?�+?�?�?�'��'�&(�#�0�	H�	H�K�'�.�.��+�/F�G�G�G�G��!�!�"=�>�>�>�>���&�.�0B�C�F�F��')�#�!�	9�	9�H�):�
C�
C�%��+�#�+�+�H�k�B�B���'�.�.�x�8�8�8�8��!�!�%�(C�"D�"D�E�E�E�E�(*�$�
�7�7���4�4�4�,�3�3�A�6�6�6��+�+rbc��eZdZd�Zd�ZdS)�TemplateReplacementTestsc�n�tddgddgddgd����}gd	�}|�||��dS)
N�Cats are word1zDogs are word2�small�cute�big�fluffy��word1�word2�r�r�))�Cats are small�Dogs are big)r��Dogs are fluffy)�
Cats are cuter�)r�r��r�r��r[�actualrs   r`�:test_two_templates_two_replacements_yields_correct_renderszSTemplateReplacementTests.test_two_templates_two_replacements_yields_correct_renders\sh��!�+�-=�>�%�v�.�#�X�.���
�
�
��
�
�
��	
�����*�*�*�*�*rbc�n�tddgddgddgd����}d	d
g}|�||��dS)Nr��Dogs!r�r�r�r�r�r�)r�r�)r�r�r�r�s   r`�2test_no_duplicates_if_replacement_not_in_templateszKTemplateReplacementTests.test_no_duplicates_if_replacement_not_in_templateslse��!�+�W�5�%�v�.�#�X�.���
�
�
��
(�&�
��	
�����*�*�*�*�*rbN)rkrlrmr�r�rnrbr`r�r�Zs2������+�+�+� +�+�+�+�+rbr�c�*�eZdZdZd�Zd�Zd�Zd�ZdS)�GenericAliasSubstitutionTestsaKTests for type variable substitution in generic aliases.

    For variadic cases, these tests should be regarded as the source of truth,
    since we hadn't realised the full complexity of variadic substitution
    at the time of finalizing PEP 646. For full discussion, see
    https://github.com/python/cpython/issues/91162.
    c	�X�td��}td��}td��}Gd�dt|��}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
����}|D]�\}}
}|�||
|���5|d
krE|�t��5t||
z��ddd��n#1swxYwYn3|�t||
z��t|����ddd��n#1swxYwY����dS)Nr�Ts�Ts2c��eZdZdS)�;GenericAliasSubstitutionTests.test_one_parameter.<locals>.CNr~rnrbr`r=r��r�rbr=)r=r�r r�r))�
generic[T]�[()]r�)r��[int]�generic[int])r��
[int, str]r�)r��[tuple_type[int, ...]]�generic[tuple_type[int, ...]])r��[*tuple_type[int]]r�)r�z[*tuple_type[()]]r�)r��[*tuple_type[int, str]]r�)r��[*tuple_type[int, ...]]r�)r��[*Ts]r�)r��[T, *Ts]r�)r��[*Ts, T]r�)zC[T, *tuple_type[int, ...]]r�r�)zlist[T, *tuple_type[int, ...]]r�z list[int, *tuple_type[int, ...]])zList[T, *tuple_type[int, ...]]r�r�)zgeneric[*Ts, *Ts2]r�r���generic�
tuple_typer���aliasr�rr��	rrr$r�rxr�r��evalr�)r[rr�r�r=�generics�tuple_types�tests�alias_template�
args_template�expected_templater��	alias_str�args_str�expected_strs               r`�test_one_parameterz0GenericAliasSubstitutionTests.test_one_parameter�s���C�L�L��
�$�
�
���5�!�!��!�!�!�!�!���
�!�!�!�(�(�(����(��
�
�
��.AF�	�	�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�!Q�"�"�"��6H�	
�	
�1�	�8�\��\�\�	��<�\�X�X���#�{�2�2�!�.�.�y�9�9�7�7� ��X�!5�6�6�6�7�7�7�7�7�7�7�7�7�7�7����7�7�7�7���(�(� ��X�!5�6�6� ��.�.�����������������������	
�	�	s6�!D�3C	�D�C
�D�C
�7D�D!�$D!c	�\�td��}td��}td��}Gd�dt||f��}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
����}|D]�\}}
}|�||
|���5|d
krE|�t��5t||
z��ddd��n#1swxYwYn3|�t||
z��t|����ddd��n#1swxYwY����dS)N�T1�T2r�c��eZdZdS)�<GenericAliasSubstitutionTests.test_two_parameters.<locals>.CNr~rnrbr`r=r�r�rbr=)r=�dictr!r�r))�generic[T1, T2]r�r�)rr�r�)rr��generic[int, str])r�[int, str, bool]r�)rr�r�)rr�r)rz[*tuple_type[int, str, bool]]r�)rz[int, *tuple_type[str]]r)rz[*tuple_type[int], str]r)rz$[*tuple_type[int], *tuple_type[str]]r)rz([*tuple_type[int, str], *tuple_type[()]]r)rz([*tuple_type[()], *tuple_type[int, str]]r)rz#[*tuple_type[int], *tuple_type[()]]r�)rz#[*tuple_type[()], *tuple_type[int]]r�)rz+[*tuple_type[int, str], *tuple_type[float]]r�)rz+[*tuple_type[int], *tuple_type[str, float]]r�)rz1[*tuple_type[int, str], *tuple_type[float, bool]]r�)rr�r�)r�,[tuple_type[int, ...], tuple_type[str, ...]]�3generic[tuple_type[int, ...], tuple_type[str, ...]])rr�r�)rz[int, *tuple_type[str, ...]]r�)r�[*tuple_type[int, ...], str]r�)r�.[*tuple_type[int, ...], *tuple_type[str, ...]]r�)rr�r�)rr�r�)rr�r�)z"generic[T1, *tuple_type[int, ...]]�[str]�#generic[str, *tuple_type[int, ...]]r�r�r�r�r��r[rr
r�r=rrrrrrr�rrr	s               r`�test_two_parametersz1GenericAliasSubstitutionTests.test_two_parameters�s��
�T�]�]��
�T�]�]��
�$�
�
��&�&�&�&�&���B���&�&�&�(�(�(����(��%
�%
�%
��NAF�	�	�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�!Q�"�"�"��6H�	
�	
�1�	�8�\��\�\�	��<�\�X�X���#�{�2�2�!�.�.�y�9�9�7�7� ��X�!5�6�6�6�7�7�7�7�7�7�7�7�7�7�7����7�7�7�7���(�(� ��X�!5�6�6� ��.�.�����������������������	
�	�	�6�!D�5C	�D�C
�D�C
�7D�D#�&D#c	�\�td��}td��}td��}Gd�dt|||f��}dg}ddg}dd	g}|D]�\}}	}
t||	|
g||d
����}|D]�\}}
}|�||
|���5|d
krE|�t
��5t
||
z��ddd��n#1swxYwYn3|�t
||
z��t
|����ddd��n#1swxYwY����dS)Nrr
�T3c��eZdZdS)�>GenericAliasSubstitutionTests.test_three_parameters.<locals>.CNr~rnrbr`r=r �r�rbr=r�r)�generic[T1, bool, T2]r��generic[int, bool, str])r!r�r"r�r�r�r�)rr$r�rxr�r�rr�)r[rr
rr=rrrrrrr�rrr	s               r`�test_three_parametersz3GenericAliasSubstitutionTests.test_three_parameters�s��
�T�]�]��
�T�]�]��
�T�]�]��*�*�*�*�*���B��
�#�*�*�*��5����(��
G�
G�
��AF�	�	�<�N�M�+<�!1�)�=�:K�L�)1��M�M�"�"�"��6H�	
�	
�1�	�8�\��\�\�	��<�\�X�X���#�{�2�2�!�.�.�y�9�9�7�7� ��X�!5�6�6�6�7�7�7�7�7�7�7�7�7�7�7����7�7�7�7���(�(� ��X�!5�6�6� ��.�.�����������������������	
�	�	rc	�^�td��}td��}td��}Gd�dtg|�R��}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
����}|D]�\}}
}|�||
|���5|d
krE|�t��5t||
z��ddd��n#1swxYwYn3|�t||
z��t|����ddd��n#1swxYwY����dS)Nrr
r�c��eZdZdS)�AGenericAliasSubstitutionTests.test_variadic_parameters.<locals>.CNr~rnrbr`r=r&r�rbr=)r=r�rr�r)@)�generic[*Ts]r�zgeneric[()])r'r�r�)r'r�r)r'r�r�)r'z[*tuple_type[*Ts]]r')r'r�r)r'z"[str, *tuple_type[int, ...], bool]�)generic[str, *tuple_type[int, ...], bool])r'r�r�)r'rr)r'r�zgeneric[*tuple_type[int, ...]])r'rr�)r'r�r')r'r��generic[T, *Ts])r'r��generic[*Ts, T])r)r�r�)r)r�r�)r)r�r)r)r�generic[int, str, bool])�generic[list[T], *Ts]r�r�)r,r��generic[list[int]])r,r�zgeneric[list[int], str])r,rzgeneric[list[int], str, bool])r*r�r�)r*r�r�)r*r�r)r*rr+)�generic[*Ts, list[T]]r�r�)r.r�r-)r.r�zgeneric[int, list[str]])r.rzgeneric[int, str, list[bool]])�generic[T1, T2, *Ts]r�r�)r/r�r�)r/r�r)r/rr+)r/�[int, str, bool, bytes]�generic[int, str, bool, bytes])�generic[*Ts, T1, T2]r�r�)r2r�r�)r2r�r)r2rr+)r2r0r1)�generic[T1, *Ts, T2]r�r�)r3r�r�)r3r�r)r3rr+)r3r0r1)r)r�z#generic[int, *tuple_type[int, ...]])r)�[str, *tuple_type[int, ...]]r)r)rz(generic[int, *tuple_type[int, ...], str])r*r�z#generic[*tuple_type[int, ...], int])r*r4z(generic[str, *tuple_type[int, ...], int])r*r�#generic[*tuple_type[int, ...], str])r3r�z(generic[int, *tuple_type[int, ...], int])zgeneric[T, str, *Ts]r�z(generic[int, str, *tuple_type[int, ...]])zgeneric[*Ts, str, T]r�z(generic[*tuple_type[int, ...], str, int])r,r�z)generic[list[int], *tuple_type[int, ...]])r.r�z)generic[*tuple_type[int, ...], list[int]])z!generic[T, *tuple_type[int, ...]]rr)z&generic[T1, T2, *tuple_type[int, ...]]�[str, bool]z)generic[str, bool, *tuple_type[int, ...]])�&generic[T1, *tuple_type[int, ...], T2]r6r()r7z[str, bool, float]r�)z!generic[T1, *tuple_type[T2, ...]]r�z#generic[int, *tuple_type[str, ...]])z!generic[*tuple_type[T1, ...], T2]r�r5)z+generic[T1, *tuple_type[generic[*Ts], ...]]rz2generic[int, *tuple_type[generic[str, bool], ...]])z+generic[*tuple_type[generic[*Ts], ...], T1]rz2generic[*tuple_type[generic[int, str], ...], bool]r�r�r�r�r�rs               r`�test_variadic_parametersz6GenericAliasSubstitutionTests.test_variadic_parameterss��
�T�]�]��
�T�]�]��
�$�
�
��#�#�#�#�#�������#�#�#�*�*�*����(��J
�J
�J
��XAF�	�	�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�!Q�"�"�"��6H�	
�	
�1�	�8�\��\�\�	��<�\�X�X���#�{�2�2�!�.�.�y�9�9�7�7� ��X�!5�6�6�6�7�7�7�7�7�7�7�7�7�7�7����7�7�7�7���(�(� ��X�!5�6�6� ��.�.�����������������������	
�	�	s6�!D �6C	�	D �C
�D �C
�7D � D$�'D$N)rkrlrm�__doc__r
rr#r8rnrbr`r�r�{sb��������/�/�/�d?�?�?�B���@d�d�d�d�drbr�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�UnpackTestsc�j�gtt�RtttdSrf)r�r�rrr�s r`�test_accepts_single_typez$UnpackTests.test_accepts_single_type�s&���%��*�����u�S�z����rbc��ttttt����}dD]F}|�|���5|�||��ddd��n#1swxYwY�GdS�N�r�r�r���
required_item)�set�dirrrr�rx�assertIn�r[�	dir_itemsrBs   r`�test_dirzUnpackTests.test_dir�s�����F�5��:�.�/�/�0�0�	�
�	8�	8�M����M��:�:�
8�
8��
�
�m�Y�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8s�A5�5A9	�<A9	c���|�t��5ttttt
fddd��dS#1swxYwYdSrf)r�r�rrr�r|r�s r`�test_rejects_multiple_typesz'UnpackTests.test_rejects_multiple_types�s���
�
�
�y�
)�
)�	+�	+��5��:�u�S�z�)�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s�0A�A�Ac��|�t��5gtt�Rdttddd��n#1swxYwY|�t��5tt
tt
tddd��dS#1swxYwYdS�Nr)r�r�r�r�rrr�s r`�&test_rejects_multiple_parameterizationz2UnpackTests.test_rejects_multiple_parameterization�s��
�
�
�y�
)�
)�	*�	*��e�C�j�N�N�1��e�C�j�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�
�
�
�y�
)�
)�	+�	+��5��:��u�S�z�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s#�2A�A� A�>4B?�?C�Cc��|�t��5t��ddd��dS#1swxYwYdSrf)r�r�rr�s r`�test_cannot_be_calledz!UnpackTests.test_cannot_be_called�s���
�
�
�y�
)�
)�	�	��H�H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��7�;�;N)rkrlrmr=rHrJrMrOrnrbr`r;r;s_���������8�8�8�+�+�+�+�+�+�����rbr;c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$S)%�TypeVarTupleTestsc�j�|�|��s|�d|�d|����dSdS)NzString z does not end with )�endswith�fail)r[�string�tails   r`�assertEndsWithz TypeVarTupleTests.assertEndsWith�sL�����t�$�$�	G��I�I�E��E�E�T�E�E�F�F�F�F�F�	G�	Grbc��td��}|�|jd��td��}|�|jd��dS)Nr�r�)rr�rk)r[r�r�s   r`�	test_namezTypeVarTupleTests.test_name�sR��
�$�
�
�������d�+�+�+��5�!�!�������u�-�-�-�-�-rbc�P�td��}|�||��dS�Nr�)rr��r[r�s  r`� test_instance_is_equal_to_itselfz2TypeVarTupleTests.test_instance_is_equal_to_itself�s+��
�$�
�
������R� � � � � rbc�f�|�td��td����dSr\)r�rr�s r`�&test_different_instances_are_differentz8TypeVarTupleTests.test_different_instances_are_different�s.�����L��.�.��T�0B�0B�C�C�C�C�Crbc�Z�td��}|�|t��dSr\)rr�r]s  r`�(test_instance_isinstance_of_typevartuplez:TypeVarTupleTests.test_instance_isinstance_of_typevartuple�s+��
�$�
�
�����b�,�/�/�/�/�/rbc��td��}|�t��5|��ddd��dS#1swxYwYdSr\)rr�r�r]s  r`�test_cannot_call_instancez+TypeVarTupleTests.test_cannot_call_instance�s���
�$�
�
��
�
�
�y�
)�
)�	�	��B�D�D�D�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�	Ac���td��}|�g|�Rdg|�Rd��|�t|t|��dS)Nr�r)rr�rr]s  r`�-test_unpacked_typevartuple_is_equal_to_itselfz?TypeVarTupleTests.test_unpacked_typevartuple_is_equal_to_itself�s]��
�$�
�
������2�����F�b�F�F�1�I�.�.�.�������V�B�Z�0�0�0�0�0rbc��td��}|�tg|�Rtg|�R��|�tt|tt|��dSr\)rr�r�rrr]s  r`�+test_parameterised_tuple_is_equal_to_itselfz=TypeVarTupleTests.test_parameterised_tuple_is_equal_to_itself�sg��
�$�
�
������s��s�s��U�3�B�3�3�Z�0�0�0�����v�b�z�*�E�&��*�,=�>�>�>�>�>rbc�f�td��}td��}|�tg|�|�Rtg|�|�R��|�tt|t|ftt|t|f��dS)N�Ts1r�)rr�r�rr)r[rjr�s   r`� tests_tuple_arg_ordering_mattersz2TypeVarTupleTests.tests_tuple_arg_ordering_matters�s����5�!�!���5�!�!������*�3�*��*�*���*�3�*��*�*��	
�	
�	
�	
����&��+�v�c�{�*�+��&��+�v�c�{�*�+�	
�	
�	
�	
�	
rbc�n�td��}tg|�R}|�|jg|�R��|�|j|f��t
t|}|�|jt|f��|�|j|f��dSr\)rr�r�r�r�rr)r[r��t1�t2s    r`�*test_tuple_args_and_parameters_are_correctz<TypeVarTupleTests.test_tuple_args_and_parameters_are_correct�s���
�$�
�
��
�3�B�3�3�Z�������f��f�f�-�-�-�����*�R�E�2�2�2�
�6�"�:�
�������v�b�z�m�4�4�4�����*�R�E�2�2�2�2�2rbc	��td��}td��}td��}Gd�dtg|�R��}Gd�dtt|��}||tt
fD�	]M}|g|�R}|�|d|d��|�|t|t��|�|ttf|ttf��|t|}|�|d|d��|�|t|t��|�|ttf|ttf��t|g|�R}	|�|	dt|d��|�|	tt|t��|�|	ttft|ttf��t|t|}
|�|
dt|d��|�|
tt|t��|�|
ttft|ttf��||g|�|�R}|�t��5|dddd��n#1swxYwY|�t��5|tddd��n#1swxYwY|�|ttf|ttf��|�|tttf|tttf��|�|ttttf|ttttf��||t||f}|�t��5|dddd��n#1swxYwY|�t��5|tddd��n#1swxYwY|�|ttf|ttf��|�|tttf|tttf��|�|ttttf|ttttf��t
t||g|�Rt|f}
|�t��5|
dddd��n#1swxYwY|�t��5|
tddd��n#1swxYwY|tkr\|�|
ttft
tt|dttf��|�|
tttft
tt|tttf��|�|
ttttft
tt|ttfttf��tt||t|t|f}|�t��5|dddd��n#1swxYwY|�t��5|tddd��n#1swxYwY|tkr\|�|ttfttt|dttf��|�|tttfttt|tttf��|�|ttttfttt|ttfttf���	�OdS)	Nr�rr
c��eZdZdS)�3TypeVarTupleTests.test_var_substitution.<locals>.G1Nr~rnrbr`�G1rr�r�rbrsc��eZdZdS)�3TypeVarTupleTests.test_var_substitution.<locals>.G2Nr~rnrbr`�G2ru�r�rbrvrn)rrr$rrr�r�r�r|r�r r�r�r�r�)r[r�rr
rsrvr�r�r=r@�E�F�G�H�Is               r`r�z'TypeVarTupleTests.test_var_substitution�s0	��
�$�
�
���C�L�L��
�T�]�]��$�$�$�$�$���"����$�$�$�+�+�+�+�+�����$�+�+�+��R���%�?	K�?	K�A��#�2�#�#��A����Q�r�U�A�b�E�*�*�*����Q�u�X�q��x�0�0�0����Q�u�c�z�]�A�e�S�j�M�:�:�:��&��*�
�A����Q�r�U�A�b�E�*�*�*����Q�u�X�q��x�0�0�0����Q�u�c�z�]�A�e�S�j�M�:�:�:��Q�s��s�s�V��A����Q�r�U�D��2��K�0�0�0����Q�u�X�t�A�e�H�~�6�6�6����Q�u�c�z�]�D��5�#�:��,?�@�@�@��Q�v�b�z�]�#�A����Q�r�U�D��2��K�0�0�0����Q�u�X�t�A�e�H�~�6�6�6����Q�u�c�z�]�D��5�#�:��,?�@�@�@��!�*�b�*�"�*�*�
�A��"�"�9�-�-�
�
��"���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��"�"�9�-�-�
�
��%���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
����Q�u�c�z�]�A�e�S�j�M�:�:�:����Q�u�c�3��/��5�#�s�?�1C�D�D�D����Q�u�c�3��5�6��%��c�5�:P�8Q�R�R�R��!�V�B�Z��#�$�A��"�"�9�-�-�
�
��"���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��"�"�9�-�-�
�
��%���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
����Q�u�c�z�]�A�e�S�j�M�:�:�:����Q�u�c�3��/��5�#�s�?�1C�D�D�D����Q�u�c�3��5�6��%��c�5�:P�8Q�R�R�R��d�1�g�q��"���v�t�B�x�/�0�A��"�"�9�-�-�
�
��"���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��"�"�9�-�-�
�
��%���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��E�z�z�� � ��5�#�:��!&�t�E�{�A�b�E�4��9�'D�!E�G�G�G����Q�u�c�3��/�"�4��;��#���S�	�#A�B�
D�
D�
D����Q�u�c�3��5�6�"�4��;��#�s�(��T�%�[�#H�I�
K�
K�
K��d�1�g�q����}�d�2�h�6�7�A��"�"�9�-�-�
�
��"���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��"�"�9�-�-�
�
��%���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��E�z�z�� � ��5�#�:��!&�t�E�{�A�b�E�4��9�'D�!E�G�G�G����Q�u�c�3��/�"�4��;��#���S�	�#A�B�
D�
D�
D����Q�u�c�3��5�6�"�4��;��#�s�(��T�%�[�#H�I�
K�
K�
K�
K�}?	K�?	Ks��	M2�2M6	�9M6	�N1�1N5	�8N5	�>	S�S	�S	�8T�T	�T	�8	Y
�
Y	�Y	�2Z�Z	�Z	�*	`?�?a	�a	�$a>�>b	�b	c�x�td��}td��}td��}Gd�dtg|�R��}Gd�dtt|��}||tt
fD�]:}||}|�t��5|ttfddd��n#1swxYwY|||f}|�t��5|g|�Rddd��n#1swxYwY|�t��5|t|ddd��n#1swxYwY||g|�t�|�R}|�t��5|tg|�Rddd��n#1swxYwY|�t��5|tg|�|�Rddd��n#1swxYwY||t|t|f}|�t��5|tt|fddd��n#1swxYwY|�t��5|tt|t|fddd��n#1swxYwY��<dS)Nr�rr
c��eZdZdS)�7TypeVarTupleTests.test_bad_var_substitution.<locals>.G1Nr~rnrbr`rsr~&r�rbrsc��eZdZdS)�7TypeVarTupleTests.test_bad_var_substitution.<locals>.G2Nr~rnrbr`rvr�'r�rbrv)
rrr$rrr�r�r�r�r|)	r[r�rr
rsrvr�r�r=s	         r`r�z+TypeVarTupleTests.test_bad_var_substitution"s9��
�$�
�
���C�L�L��
�T�]�]��$�$�$�$�$���"����$�$�$�+�+�+�+�+�����$�+�+�+��R���%�	/�	/�A��"��A��"�"�9�-�-�
�
��#�s�(���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��!�R�%��A��"�"�9�-�-�
�
��#�2�#�#���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��"�"�9�-�-�
�
��&��*�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��!�/�b�/�#�/�r�/�/�"�A��"�"�9�-�-�
�
��#�(��(�(���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��"�"�9�-�-�
!�
!��#�-��-�R�-�-� � �
!�
!�
!�
!�
!�
!�
!�
!�
!�
!�
!����
!�
!�
!�
!��!�V�B�Z��b�(�)�A��"�"�9�-�-�
#�
#��#�v�b�z�/�"�"�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#����
#�
#�
#�
#��"�"�9�-�-�
/�
/��#�v�b�z�6�"�:�-�.�.�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/����
/�
/�
/�
/��)	/�	/s~�#C�C	�C	�3D�D	�D	�0E�E	�E	�
F(�(F,	�/F,	�
G-�-G1	�4G1	�.I�I	�I	�:'J-�-J1	�4J1	c�P�td��}Gd�dtg|�R��}Gd�dtt|��}|�t	|��d��|�t	g|�Rd��d��|�t	t|��d��|�t	t
g|�R��d��|�t	tt|��d	��|�t	t
g|�R�d
��|�t	ttt|��d��dS)Nr�c��eZdZdS)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G1Nr~rnrbr`rsr�Cr�rbrsc��eZdZdS)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G2Nr~rnrbr`rvr�Dr�rbrvr�*Tsz
tuple[*Ts]ztyping.Tuple[*Ts]z*tuple[*Ts]z*typing.Tuple[*Ts])rr$rr�r�r�r)r[r�rsrvs    r`�test_repr_is_correctz&TypeVarTupleTests.test_repr_is_correct@sb��
�$�
�
��$�$�$�$�$���"����$�$�$�+�+�+�+�+�����$�+�+�+�����b���4�(�(�(�����f��f�f�Q�i���%�0�0�0�����f�R�j�)�)�5�1�1�1�����e�C�R�C�C�j�)�)�<�8�8�8�����e�F�2�J�/�0�0�2E�F�F�F�����u�S�b�S�S�z�*�M�:�:�:�����f�U�6�"�:�%6�7�8�8�:N�O�O�O�O�Orbc
�^�td��}Gd�dtg|�R��}Gd�dtt|��}|�t	|d��d��|�t	|d��d��|�t	|t
��d	��|�t	|t
��d
��|�t	|t
tf��d��|�t	|t
tf��d��|�t	|gttd
f�R��d��|�t	|tttd
f��d��|�t	|t
gttd
f�R��d��|�t	|t
tttd
ff��d��|�t	|gttd
f�t�R��d��|�t	|tttd
ftf��d��|�t	|t
gttd
f�t�R��d��|�t	|t
tttd
ftf��d��dS)Nr�c��eZdZdS)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.ANr~rnrbr`r�r�Sr�rbr�c��eZdZdS)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.BNr~rnrbr`r�r�Tr�rbr�rn�A[()]zB[()]�A[float]zB[float]�
A[float, str]z
B[float, str].zA[*tuple[int, ...]]zB[*typing.Tuple[int, ...]]zA[float, *tuple[int, ...]]z!A[float, *typing.Tuple[int, ...]]zA[*tuple[int, ...], str]zB[*typing.Tuple[int, ...], str]zA[float, *tuple[int, ...], str]z&B[float, *typing.Tuple[int, ...], str])
rr$rrXr�r�r|r�r�r)r[r�r�r�s    r`�#test_variadic_class_repr_is_correctz5TypeVarTupleTests.test_variadic_class_repr_is_correctQs!��
�$�
�
��#�#�#�#�#�������#�#�#�*�*�*�*�*���r�
�#�*�*�*����D��2��K�K��1�1�1����D��2��K�K��1�1�1����D��5��N�N�J�7�7�7����D��5��N�N�J�7�7�7����D��5�#�:��/�/��A�A�A����D��5�#�:��/�/��A�A�A����D��#3�E�#�s�(�O�#3�#3�!4�5�5�1�	3�	3�	3����D��6�%��S��/�#:�!;�<�<�8�	:�	:�	:�	
���D��5�#:�5��c��?�#:�#:�!;�<�<�8�	:�	:�	:����D��5�&��s�C�x��*A�#A�!B�C�C�?�	A�	A�	A�	
���D��#8�E�#�s�(�O�#8�S�#8�#8�!9�:�:�6�	8�	8�	8����D��6�%��S��/�#:�C�#?�!@�A�A�=�	?�	?�	?�	
���D��5�#?�5��c��?�#?�C�#?�#?�!@�A�A�=�	?�	?�	?����D��5�&��s�C�x��*A�3�#F�!G�H�H�D�	F�	F�	F�	F�	Frbc��td��}Gd�dtt|��}|g|�R}|�t	|��d��|�t	|d��d��|�t	|t
��d��|�t	|t
tf��d��|t|}|�t	|��d��|�t	|d��d��|�t	|t
��d��|�t	|t
tf��d��|g|�t�R}|�t	|��d	��|�t	|d��d
��|�t	|t
��d��|�t	|t
tf��d��|t|tf}|�t	|��d	��|�t	|d��d
��|�t	|t
��d��|�t	|t
tf��d��|tg|�R}|�t	|��d
��|�t	|d��d
��|�t	|t
��d��|�t	|t
tf��d��|tt|f}|�t	|��d
��|�t	|d��d
��|�t	|t
��d��|�t	|t
tf��d��|tg|�t�R}	|�t	|	��d��|�t	|	d��d��|�t	|	t
��d��|�t	|	t
tf��d��|tt|tf}
|�t	|
��d��|�t	|
d��d��|�t	|
t
��d��|�t	|
t
tf��d��|g|�ttdf�R}|�t	|��d��|�t	|d��d��|�t	|t
��d��|�t	|t
tf��d��|t|tttdff}|�t	|��d��|�t	|d��d��|�t	|t
��d��|�t	|t
tf��d��dS)Nr�c��eZdZdS)�FTypeVarTupleTests.test_variadic_class_alias_repr_is_correct.<locals>.ANr~rnrbr`r�r�sr�rbr�zA[*Ts]rnr�r�r�zA[*Ts, int]zA[int]z
A[float, int]zA[float, str, int]zA[int, *Ts]z
A[int, float]zA[int, float, str]zA[int, *Ts, str]zA[int, str]zA[int, float, str, str].zA[*Ts, *tuple[str, ...]]zA[*tuple[str, ...]]zA[float, *tuple[str, ...]]zA[float, str, *tuple[str, ...]]zA[*Ts, *typing.Tuple[str, ...]]zA[*typing.Tuple[str, ...]]z!A[float, *typing.Tuple[str, ...]]z&A[float, str, *typing.Tuple[str, ...]])
rr$rrXr�r�r|r�r�r)
r[r�r�r�r=r@rwrxryrzr{�J�Ks
             r`�)test_variadic_class_alias_repr_is_correctz;TypeVarTupleTests.test_variadic_class_alias_repr_is_correctqs-��
�$�
�
��*�*�*�*�*���r�
�#�*�*�*�
�c�r�c�c�F�����D��G�G�X�.�.�.����D��2��K�K��1�1�1����D��5��N�N�J�7�7�7����D��5�#�:��/�/��A�A�A�
�f�R�j�M�����D��G�G�X�.�.�.����D��2��K�K��1�1�1����D��5��N�N�J�7�7�7����D��5�#�:��/�/��A�A�A�
�h�r�h�3�h�h�K�����D��G�G�]�3�3�3����D��2��K�K��2�2�2����D��5��N�N�O�<�<�<����D��5�#�:��/�/�1E�F�F�F�
�f�R�j�#�o������D��G�G�]�3�3�3����D��2��K�K��2�2�2����D��5��N�N�O�<�<�<����D��5�#�:��/�/�1E�F�F�F�
�c�h�B�h�h�K�����D��G�G�]�3�3�3����D��2��K�K��2�2�2����D��5��N�N�O�<�<�<����D��5�#�:��/�/�1E�F�F�F�
�c�6�"�:�o������D��G�G�]�3�3�3����D��2��K�K��2�2�2����D��5��N�N�O�<�<�<����D��5�#�:��/�/�1E�F�F�F�
�c�m�B�m��m�m������D��G�G�%7�8�8�8����D��2��K�K��7�7�7����D��5��N�N�,@�A�A�A����D��5�#�:��/�/�1J�K�K�K�
�c�6�"�:�s�"�#�����D��G�G�%7�8�8�8����D��2��K�K��7�7�7����D��5��N�N�,@�A�A�A����D��5�#�:��/�/�1J�K�K�K�
�#�r�#�E�#�s�(�O�#�#�$�����D��G�G�%?�@�@�@����D��2��K�K�)>�?�?�?����D��5��N�N�,H�I�I�I����D��5�#�:��/�/�1R�S�S�S�
�f�R�j�&��s�C�x��1�1�2�����D��G�G�%F�G�G�G����D��2��K�K�)E�F�F�F����D��5��N�N�,O�P�P�P����D��5�#�:��/�/�1Y�Z�Z�Z�Z�Zrbc��|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�7TypeVarTupleTests.test_cannot_subclass_class.<locals>.CNr~rnrbr`r=r��r�rbr=)r�r�r�r[r=s  r`�test_cannot_subclass_classz,TypeVarTupleTests.test_cannot_subclass_class�s���
�
�
�y�
)�
)�	(�	(�'�'�'�'�'�L�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(r�c	�L�td��}|�t��5Gd�d|��}ddd��n#1swxYwY|�tt��5Gd�dtt����}ddd��n#1swxYwY|�tt��5Gd�dt|���}ddd��n#1swxYwY|�tt��5Gd�d	tt|����}ddd��n#1swxYwY|�td
��5Gd�dt��}ddd��n#1swxYwY|�td
��5Gd�dg|�R�}ddd��n#1swxYwY|�td
��5Gd�dt|��}ddd��dS#1swxYwYdS)Nr�c��eZdZdS)�:TypeVarTupleTests.test_cannot_subclass_instance.<locals>.DNr~rnrbr`r@r��r�rbr@c��eZdZdS)�:TypeVarTupleTests.test_cannot_subclass_instance.<locals>.ENr~rnrbr`rwr��r�rbrwc��eZdZdS)�:TypeVarTupleTests.test_cannot_subclass_instance.<locals>.FNr~rnrbr`rxr��r�rbrxc��eZdZdS)�:TypeVarTupleTests.test_cannot_subclass_instance.<locals>.GNr~rnrbr`ryr��r�rbryzCannot subclass typing\.Unpackc��eZdZdS)�:TypeVarTupleTests.test_cannot_subclass_instance.<locals>.HNr~rnrbr`rzr��r�rbrzzCannot subclass \*Tsc��eZdZdS)�:TypeVarTupleTests.test_cannot_subclass_instance.<locals>.INr~rnrbr`r{r��r�rbr{c��eZdZdS)�:TypeVarTupleTests.test_cannot_subclass_instance.<locals>.JNr~rnrbr`r�r��r�rbr�)rr�r�r�CANNOT_SUBCLASS_TYPEr�r)	r[r�r@rwrxryrzr{r�s	         r`�test_cannot_subclass_instancez/TypeVarTupleTests.test_cannot_subclass_instance�s���
�$�
�
��
�
�
�y�
)�
)�	�	������B����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/C�
D�
D�	(�	(�'�'�'�'�'�D��L�L�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
#�
#�I�/C�
D�
D�	%�	%�$�$�$�$�$�D�"�I�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�
�
#�
#�I�/C�
D�
D�	,�	,�+�+�+�+�+�D����$�$�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�
�
#�
#�I�$E�G�G�	"�	"�!�!�!�!�!�F�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"��
#�
#�I�/F�
G�
G�	�	�������R�����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/F�
G�
G�	&�	&�%�%�%�%�%�F�2�J�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s}�A�A	�A	�0!B�B!�$B!�C*�*C.�1C.�'E�E�E�.F�F�F�4G�G�G�2H�H� Hc���td��}td��}Gd�dtg|�R��}Gd�dtt|��}|d}|d}|�|jd��|�|jd��|t}|t}|�|jtf��|�|jtf��|ttf}	|ttf}
|�|	jttf��|�|
jttf��||}||}|�|j|f��|�|j|f��|g|�R}
|t|}|�|
jg|�R��|�|jt|f��||g|�R}||t|f}|�|j|g|�R��|�|j|t|f��|g|�|�R}|t||f}|�|jg|�|�R��|�|jt||f��dS)Nrr�c��eZdZdS)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.ANr~rnrbr`r�r��r�rbr�c��eZdZdS)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.BNr~rnrbr`r�r��r�rbr�rn)rrr$rr�r�r�r|)r[rr�r�r�r=r@rwrxryrzr{r�r��L�M�N�O�Ps                   r`�$test_variadic_class_args_are_correctz6TypeVarTupleTests.test_variadic_class_args_are_correct�s����C�L�L��
�$�
�
��#�#�#�#�#�������#�#�#�*�*�*�*�*���r�
�#�*�*�*�
�b�E��
�b�E�������R�(�(�(������R�(�(�(�
�c�F��
�c�F�������c�V�,�,�,������c�V�,�,�,�
�c�3�h�K��
�c�3�h�K�������c�3�Z�0�0�0������c�3�Z�0�0�0�
�a�D��
�a�D�������a�T�*�*�*������a�T�*�*�*�
�c�r�c�c�F��
�f�R�j�M�������V�r�V�V�,�,�,������f�R�j�]�3�3�3�
�a�f�"�f�f�I��
�a����m��������a�X�"�X�X�.�.�.������a����_�5�5�5�
�f�r�f�1�f�f�I��
�f�R�j�!�m��������X�r�X�1�X�X�.�.�.������f�R�j�!�_�5�5�5�5�5rbc��td��}Gd�dtg|�R��}|�|tj|��|�|t
j|��|�|t|j|��Gd�dtt|��}|�|tj|��|�|t
j|��|�|t|j|��dS)Nr�c��eZdZdS)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.CNr~rnrbr`r=r��r�rbr=c��eZdZdS)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.DNr~rnrbr`r@r��r�rbr@)rr$r�r�r�rr)r[r�r=r@s    r`�%test_variadic_class_origin_is_correctz7TypeVarTupleTests.test_variadic_class_origin_is_correct�s��
�$�
�
��#�#�#�#�#�������#�#�#��
�
�a��f�'��+�+�+��
�
�a��d�o�q�)�)�)��
�
�a��r�
�m�.��2�2�2�*�*�*�*�*���r�
�#�*�*�*��
�
�a��f�'��+�+�+��
�
�a��d�o�q�)�)�)��
�
�a��r�
�m�.��2�2�2�2�2rbc�P�td��}d|\fd�}|�t|��dt|i��dtt
tf\fd�}|�t|��dttt
tfi��Gd�dtg|�R��}d|t
tf\fd�}|�t|��dt|t
tfi��dS)Nr�r�c��dSrfrn�r�s r`�func1zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func1r�rbc��dSrfrnr�s r`�func2zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func2r�rbc��eZdZdS)�LTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.CustomVariadicNr~rnrbr`�CustomVariadicr�r�rbr�c��dSrfrnr�s r`�func3zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func3r�rb�rr�rrr�r�r|r$�r[r�r�r�r�r�s      r`�"test_get_type_hints_on_unpack_argsz4TypeVarTupleTests.test_get_type_hints_on_unpack_args�s��
�$�
�
��#�"�#�#�#�#�#�����U���f�f�R�j�%9�:�:�:�0�%��S��/�0�0�0�0�0�����U���f�f�U�3��8�_�.E�%F�G�G�G�0�0�0�0�0�W�S�b�S�S�\�0�0�0�9�.��c��2�9�9�9�9�9�����U���f�f�^�C��H�5M�.N�%O�P�P�P�P�Prbc��td��}dd�}|�t|d|i���dt|i��d
d�}|�t|��dttt
tfi��Gd�d	tg|�R��}dd�}|�t|d	|i���dt|t
tfi��dS)Nr�r�r�c��dSrfrnr�s r`r�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func1r�rb)�localns�*tuple[int, str]c��dSrfrnr�s r`r�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func2r�rbc��eZdZdS)�STypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.CustomVariadicNr~rnrbr`r�r�r�rbr��*CustomVariadic[int, str]c��dSrfrnr�s r`r�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func3r�rb)r�r�)r�r�)r�r�r�r�s      r`�)test_get_type_hints_on_unpack_args_stringz;TypeVarTupleTests.test_get_type_hints_on_unpack_args_strings��
�$�
�
��%�%�%�%�����U�T�2�J�7�7�7�����,�	.�	.�	.�	3�2�2�2�����U���f�f�U�3��8�_�.E�%F�G�G�G�0�0�0�0�0�W�S�b�S�S�\�0�0�0�;�;�;�;�����U�-=�~�,N�O�O�O� �&���S��)A�"B�C�	E�	E�	E�	E�	Erbc�(�td��}|�tg|�Rjg|�R��|�tt
|jt
|f��|�tg|�t�Rjg|�t�R��|�tt
|tfjt
|tf��|�ttg|�Rjtg|�R��|�ttt
|fjtt
|f��|�ttg|�t�Rjtg|�t�R��|�ttt
|tfjtt
|tf��|�tg|�t�Rjg|�t�R��|�tt
|jt
|f��dSr\)rr�r�r�rrr�r|r]s  r`�test_tuple_args_are_correctz-TypeVarTupleTests.test_tuple_args_are_corrects���
�$�
�
������s��s�s��,�f��f�f�5�5�5�����v�b�z�*�3�f�R�j�]�C�C�C�����x��x�C�x�x��1�:�R�:��:�:�>�>�>�����v�b�z�3��/�8�6�"�:�s�:K�L�L�L�����s�x�R�x�x��1�C�:�"�:�:�>�>�>�����s�F�2�J��/�8�3��r�
�:K�L�L�L�����s�}�R�}��}�}�-�6�����C���	*�	*�	*�����s�F�2�J��3�4�=��v�b�z�3�/�	1�	1�	1�	
����x��x�C�x�x��1�:�R�:��:�:�>�>�>�����v�b�z�*�3�f�R�j�]�C�C�C�C�Crbc	� �td��}td��}td��}tg|�df}tt|gdf}|�|jg|�td���R��|�|jt|td��f��ttg|�df}ttt|gdf}|�|jtg|�td���R��|�|jtt|td��f��tg|�t�df}tt|tgdf}	|�|jg|�t�td���R��|�|	jt|ttd��f��ttg|�t�df}
ttt|tgdf}|�|
jtg|�t�td���R��|�|jtt|ttd��f��tdgg|�R}tdgt|f}
|�|jtd��g|�R��|�|
jtd��t|f��tdgttg|�Rf}tdgttt|ff}|�|jtd��ttg|�Rf��|�|jtd��ttt|ff��tdgtg|�t�Rf}tdgtt|tff}|�|jtd��tg|�t�Rf��|�|jtd��tt|tff��tdgttg|�t�Rf}tdgttt|tff}|�|jtd��ttg|�t�Rf��|�|jtd��ttt|tff��tg|�g|�R}tt|gt|f}|�|jg|�|�R��|�|jt|t|f��tg|�g|�R}tt|gt|f}|�|jg|�|�R��|�|jt|t|f��dS)Nr�rjr�)
rr#rr�r�r�r�r|r�r)r[r�rjr�rr��c�d�eri�g�h�i�j�k�l�m�n�o�p�q�rr��us                        r`�test_callable_args_are_correctz0TypeVarTupleTests.test_callable_args_are_correct/s���
�$�
�
���5�!�!���5�!�!��
�U�r�U�D�[�!���f�R�j�\�4�'�(�������%6�r�%6�4��:�:�%6�%6�7�7�7������f�R�j�$�t�*�*�%=�>�>�>��c�Z�B�Z��%�&���c�6�"�:�&��,�-�������c�%;�B�%;��T�
�
�%;�%;�<�<�<������c�6�"�:�t�D�z�z�%B�C�C�C��Z�r�Z�3�Z��%�&���f�R�j�#�&��,�-�������%;�r�%;�3�%;��T�
�
�%;�%;�<�<�<������f�R�j�#�t�D�z�z�%B�C�C�C��c�_�B�_��_�d�*�+���c�6�"�:�s�+�T�1�2�������c�%@�B�%@��%@�T�$�Z�Z�%@�%@�A�A�A������c�6�"�:�s�D��J�J�%G�H�H�H�
�d�V�[�b�[�[�!���d�V�V�B�Z�'�(�������d�4�j�j�%6�2�%6�%6�7�7�7������d�4�j�j�&��*�%=�>�>�>��d�V�U�3�8��8�8�_�,�-���d�V�U�3��r�
�?�3�3�4�������d�4�j�j�%���b���/�%B�C�C�C������d�4�j�j�%��V�B�Z��2H�%I�J�J�J��d�V�U�8�B�8��8�8�_�,�-���d�V�U�6�"�:�s�?�3�3�4�������d�4�j�j�%����S���/�%B�C�C�C������d�4�j�j�%��r�
�C��2H�%I�J�J�J��d�V�U�3�=��=�S�=�=�1�1�2���d�V�U�3��r�
�C�#7�8�8�9�������d�4�j�j�%��
�b�
�#�
�
�2F�%G�H�H�H������d�4�j�j�%��V�B�Z��8L�2M�%N�O�O�O�
�U�r�U�Z�R�Z�Z� ���f�R�j�\�6�"�:�-�.�������Z�r�Z�B�Z�Z�0�0�0������f�R�j�&��*�%=�>�>�>��V�s�V�\�c�\�\�"���f�S�k�]�F�3�K�/�0�������\�s�\�S�\�\�2�2�2������f�S�k�6�#�;�%?�@�@�@�@�@rbc
�,�td��}td��}|�t��5Gd�dtg|�|�R��}ddd��n#1swxYwY|�t��5Gd�dtt|t|f��}ddd��n#1swxYwY|�t��5Gd�dtg|�|�|�R��}ddd��n#1swxYwY|�t��5Gd	�d
tt|t|t|f��}ddd��dS#1swxYwYdS)Nrjr�c��eZdZdS)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.CNr~rnrbr`r=r�qr�rbr=c��eZdZdS)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.DNr~rnrbr`r@r�sr�rbr@c��eZdZdS)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.ENr~rnrbr`rwr�vr�rbrwc��eZdZdS)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.FNr~rnrbr`rxr�xr�rbrx)rr�r�r$r)r[rjr�r=r@rwrxs       r`�6test_variadic_class_with_duplicate_typevartuples_failszHTypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_failsls����5�!�!���5�!�!��
�
�
�y�
)�
)�	/�	/�.�.�.�.�.�G�J�S�J�3�J�J�'�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�
�
�
�y�
)�
)�	=�	=�<�<�<�<�<�G�F�3�K����4�5�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=��
�
�y�
)�
)�	5�	5�4�4�4�4�4�G�,�S�,�3�,��,�,�-�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
�
�
�y�
)�
)�	J�	J�I�I�I�I�I�G�F�3�K����f�S�k�A�B�I�I�I�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J����	J�	J�	J�	J�	J�	JsG�A$�$A(�+A(�	2C�C�C�,!D�D� D�>>F	�	F
�F
c�,�td��}Gd�dtt|��}|tg|�R|tt|f|g|�t�R|t|tf|tg|�t�R|tt|tf|tt
g|�t�t�R|tt
t|ttfdS)Nr�c��eZdZdS)�]TypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeeds.<locals>.CNr~rnrbr`r=r�|r�rbr=)rr$rr�r|�boolr��r[r�r=s   r`�@test_type_concatenation_in_variadic_class_argument_list_succeedszRTypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeedszs���
�$�
�
��*�*�*�*�*���r�
�#�*�*�*�	�#�(��(�(���	�#�v�b�z�/���	�(�2�(�s�(�(���	�&��*�c�/���	�#�-��-�C�-�-���	�#�v�b�z�3�
���	�#�t�
$�b�
$�%�
$��
$�
$�%�%�	�#�t�V�B�Z���
+�,�,�,�,rbc�4�td��}ttg|�Rtg|�t�Rttg|�t�Rtttg|�t
�t�Rttt|ftt|tfttt|tftttt|t
tfdSr\)rr�r�r|r�r�rrr]s  r`�7test_type_concatenation_in_tuple_argument_list_succeedszITypeVarTupleTests.test_type_concatenation_in_tuple_argument_list_succeeds�s���
�$�
�
��
�c�h�B�h�h���
�h�r�h�3�h�h���
�c�m�B�m��m�m���
�c�4�(�"�(�e�(�S�(�(�)�)�
�c�6�"�:�o���
�f�R�j�#�o���
�c�6�"�:�s�"�#�#�
�c�4����U�C�/�0�0�0�0rbc��td��}|�t��5Gd�dt|��}ddd��dS#1swxYwYdS)Nr�c��eZdZdS)�[TypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_fails.<locals>.CNr~rnrbr`r=r��r�rbr=)rr�r�r$r�s   r`�>test_variadic_class_definition_using_packed_typevartuple_failszPTypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_fails�s���
�$�
�
��
�
�
�y�
)�
)�	'�	'�&�&�&�&�&�G�B�K�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	's�A�A�Ac��td��}|�t��5Gd�dtg|�t�R��}ddd��n#1swxYwY|�t��5Gd�dtt
|tf��}ddd��dS#1swxYwYdS)Nr�c��eZdZdS)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.FNr~rnrbr`rxr�r�rbrxc��eZdZdS)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.ENr~rnrbr`rwr�r�rbrw)rr�r�r$r�r)r[r�rxrws    r`�9test_variadic_class_definition_using_concrete_types_failszKTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails�s@��
�$�
�
��
�
�
�y�
)�
)�	-�	-�,�,�,�,�,�G�H�R�H��H�H�%�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�
�
�
�y�
)�
)�	4�	4�3�3�3�3�3�G�F�2�J��O�,�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s#�$A�A�!A�?,B8�8B<�?B<c	��td��}td��}td��}Gd�dt||g|�R��}|ttf|ttt
f|ttt
tfGd�dt||t|f��}|ttf|ttt
f|ttt
tfGd�d	t|g|�|�R��}|ttf|ttt
f|ttt
tfGd
�dt|t||f��}|ttf|ttt
f|ttt
tfGd�d
tg|�|�|�R��}|ttf|ttt
f|ttt
tfGd�dtt|||f��}	|	ttf|	ttt
f|	ttt
tfdS)Nr�rr
c��eZdZdS)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ANr~rnrbr`r�r�r�rbr�c��eZdZdS)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.BNr~rnrbr`r�r
�r�rbr�c��eZdZdS)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.CNr~rnrbr`r=r�r�rbr=c��eZdZdS)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.DNr~rnrbr`r@r�r�rbr@c��eZdZdS)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ENr~rnrbr`rwr�r�rbrwc��eZdZdS)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.FNr~rnrbr`rxr�r�rbrx)rrr$r�r|r�r�r)
r[r�rr
r�r�r=r@rwrxs
          r`�:test_variadic_class_with_2_typevars_accepts_2_or_more_argszLTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args�sV��
�$�
�
��
�T�]�]��
�T�]�]��+�+�+�+�+���B�����$�+�+�+�	�#�s�(���	�#�s�E�/���	�#�s�E�4�
� � �2�2�2�2�2���B��r�
�*�+�2�2�2�	�#�s�(���	�#�s�E�/���	�#�s�E�4�
� � �+�+�+�+�+����R�����$�+�+�+�	�#�s�(���	�#�s�E�/���	�#�s�E�4�
� � �2�2�2�2�2���F�2�J��*�+�2�2�2�	�#�s�(���	�#�s�E�/���	�#�s�E�4�
� � �+�+�+�+�+�����R�����$�+�+�+�	�#�s�(���	�#�s�E�/���	�#�s�E�4�
� � �2�2�2�2�2���r�
�B��*�+�2�2�2�	�#�s�(���	�#�s�E�/���	�#�s�E�4�
� � � � rbc���td��}dt|fd�}d|\fd�}|�|jdt|i��|�|jdg|�Rdi��dS)Nr�r�c��dSrfrnr�s r`rizGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.f�r�rbc��dSrfrnr�s r`r�zGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.g�r�rbr)rrr�r�)r[r�rir�s    r`�*test_variadic_args_annotations_are_correctz<TypeVarTupleTests.test_variadic_args_annotations_are_correct�s���
�$�
�
��&�V�B�Z�&�&�&�&��b����������*�V�V�B�Z�,@�A�A�A�����*�V�V�r�V�V�A�Y�,?�@�@�@�@�@rbc�d�dttdf\fd�}|�|jdgttdf�Rdi��dtt
tdffd�}|�|jdtt
tdfi��dS)Nr�.c��dSrfrnr�s r`rzUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.a�r�rbrc��dSrfrnr�s r`r�zUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.b�r�rb)r�r�r�r�rr)r[rr�s   r`�8test_variadic_args_with_ellipsis_annotations_are_correctzJTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct�s���,�e�C��H�o�,�,�,�,�,�����*� �"5�E�#�s�(�O�"5�"5�a�"8�9�	;�	;�	;�	4�V�E�#�s�(�O�,�3�3�3�3�����*� �&��s�C�x��"9�:�	<�	<�	<�	<�	<rbc�<�td��}dttg|�R\fd�}|�|jdgttg|�R�Rdi��dtg|�t�R\fd�}|�|jdgtg|�t�R�Rdi��dtt
g|�t�R\fd�}|�|jdgtt
g|�t�R�Rdi��dtttg|�t�t
�R\fd�}|�|jdgtttg|�t�t
�R�Rdi��dtttt|ffd�}|�|jdtttt|fi��dttt|tffd	�}|�|jdttt|tfi��dttt
t|tffd
�}|�|jdttt
t|tfi��dttttt|tt
ffd�}	|�|	jdttttt|tt
fi��dS)Nr�r�c��dSrfrnr�s r`rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.a�r�rbrc��dSrfrnr�s r`r�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.b�r�rbc��dSrfrnr�s r`r�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.c�r�rbc��dSrfrnr�s r`r�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.d�r�rbc��dSrfrnr�s r`r�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.e�r�rbc��dSrfrnr�s r`rizXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.f�r�rbc��dSrfrnr�s r`r�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.gr�rbc��dSrfrnr�s r`r�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.hr�rb)
rr�r�r�r�r|r�r�rr)
r[r�rr�r�r�r�rir�r�s
          r`�;test_concatenation_in_variadic_args_annotations_are_correctzMTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct�sY��
�$�
�
��	-�e�C�H�"�H�H�o�,�,�,�,�,����
��
�(�u�S�X�2�X�X��(�(��+�,�	
�	
�	
�
	-�e�H�R�H��H�H�o�,�,�,�,�,����
��
�(�u�X�b�X�#�X�X��(�(��+�,�	
�	
�	
�
	2�e�C�M�"�M�c�M�M�*�1�1�1�1�1����
��
�-�u�S�]�2�]�s�]�]�+�-�-�a�0�1�	
�	
�	
�
	?�e�C��6��6�E�6�3�6�6�7�>�>�>�>�>����
��
�:�u�S�$�7��7�U�7�C�7�7�8�:�:�1�=�>�	
�	
�	
�	;�V�E�#�v�b�z�/�2�3�:�:�:�:����
��
�V�E�#�v�b�z�/�2�3�4�	
�	
�	
�
	;�V�E�&��*�c�/�2�3�:�:�:�:����
��
�V�E�&��*�c�/�2�3�4�	
�	
�	
�
	@�V�E�#�v�b�z�3�"6�7�8�?�?�?�?����
��
�V�E�#�v�b�z�3�"6�7�8�9�	
�	
�	
�
	M�V�E�#�t�V�B�Z���"C�D�E�L�L�L�L����
��
�V�E�#�t�V�B�Z���"C�D�E�F�	
�	
�	
�	
�	
rbc�x�td��}Gd�dtg|�R��}Gd�dtt|��}|�|t|t��|�|t|t��td��}td��}|�|g|�R|g|�R��|�|t||t|��|�|g|�|�R|g|�|�R��|�|t|t|f|t|t|f��|�|tg|�|�R|tg|�|�R��|�|tt|t|f|tt|t|f��dS)Nr�c��eZdZdS)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.CNr~rnrbr`r=r(r�rbr=c��eZdZdS)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.DNr~rnrbr`r@r*r�rbr@rjr�)rr$rr�r��r[r�r=r@rjr�s      r`�0test_variadic_class_same_args_results_in_equaltyzBTypeVarTupleTests.test_variadic_class_same_args_results_in_equaltys"��
�$�
�
��#�#�#�#�#�������#�#�#�*�*�*�*�*���r�
�#�*�*�*�����3���3��(�(�(�����3���3��(�(�(��5�!�!���5�!�!�����
�d�s�d�d�G�
�d�s�d�d�G�	
�	
�	
�	
���
�f�S�k�N�
�f�S�k�N�	
�	
�	
�
	
���
�j�s�j�S�j�j�M�
�j�s�j�S�j�j�M�	
�	
�	
�	
���
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
�	
�	
�
	
���
�c�o�C�o�#�o�o��
�c�o�C�o�#�o�o��	
�	
�	
�	
���
�c�6�#�;��s��+�,�
�c�6�#�;��s��+�,�	
�	
�	
�	
�	
rbc���td��}Gd�dtg|�R��}Gd�dtt|��}|�|tt
f|t
tf��|�|tt
f|t
tf��td��}td��}|�|g|�|�R|g|�|�R��|�|t|t|f|t|t|f��dS)Nr�c��eZdZdS)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.CNr~rnrbr`r=r/6r�rbr=c��eZdZdS)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.DNr~rnrbr`r@r17r�rbr@rjr�)rr$rr�r�r|r+s      r`�(test_variadic_class_arg_ordering_mattersz:TypeVarTupleTests.test_variadic_class_arg_ordering_matters4sX��
�$�
�
��#�#�#�#�#�������#�#�#�*�*�*�*�*���r�
�#�*�*�*����
�c�3�h�K�
�c�3�h�K�	
�	
�	
�	
���
�c�3�h�K�
�c�3�h�K�	
�	
�	
�
�5�!�!���5�!�!�����
�j�s�j�S�j�j�M�
�j�s�j�S�j�j�M�	
�	
�	
�	
���
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
�	
�	
�	
�	
rbc��td��}td��}td��}Gd�dtg|�R��}Gd�dtt|��}|�|g|�R|g|�R��|�|t||t|��dS)Nr�rjr�c��eZdZdS)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.CNr~rnrbr`r=r5Sr�rbr=c��eZdZdS)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.DNr~rnrbr`r@r7Tr�rbr@)rr$rr�)r[r�rjr�r=r@s      r`�5test_variadic_class_arg_typevartuple_identity_matterszGTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_mattersNs���
�$�
�
���5�!�!���5�!�!��#�#�#�#�#�������#�#�#�*�*�*�*�*���r�
�#�*�*�*����A�d�s�d�d�G�Q�t��t�t�W�-�-�-����A�f�S�k�N�A�f�S�k�N�;�;�;�;�;rbN)&rkrlrmrXrZr^r`rbrdrfrhrkror�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr%r,r2r8rnrbr`rRrR�sP������G�G�G�.�.�.�!�!�!�D�D�D�0�0�0����
1�1�1�
?�?�?�


�

�

�3�3�3�FK�FK�FK�P/�/�/�<P�P�P�"F�F�F�@>[�>[�>[�@(�(�(�&�&�&�$'6�'6�'6�R3�3�3�Q�Q�Q�E�E�E� D�D�D�(;A�;A�;A�zJ�J�J�-�-�-� 1�1�1�'�'�'�
4�4�4�!!�!!�!!�FA�A�A�<�<�<�5
�5
�5
�n$
�$
�$
�L
�
�
�4	<�	<�	<�	<�	<rbrRc�P�eZdZed���Zed���Zed���ZdS)�TypeVarTuplePicklingTestsc��td��atjtjt|����}|�t|��dS)N�
global_Ts1)rr<rv�loads�dumpsr�)r[rt�
global_Ts2s   r`�6test_pickling_then_unpickling_results_in_same_identityzPTypeVarTuplePicklingTests.test_pickling_then_unpickling_results_in_same_identity`sF��"�,�/�/�
��\�&�,�z�5�"A�"A�B�B�
��
�
�j�*�-�-�-�-�-rbc�\�td��agt�Rd}tjtj||����}|�||��tt}tjtj||����}|�||��dS)N�	global_Tsr)rrBrvr=r>r�r)r[rt�	unpacked1�	unpacked2�	unpacked3�	unpacked4s      r`�?test_pickling_then_unpickling_unpacked_results_in_same_identityzYTypeVarTuplePicklingTests.test_pickling_then_unpickling_unpacked_results_in_same_identitygs���!��-�-�	�!�i�M�M�!�$�	��L���i��!?�!?�@�@�	��
�
�i��+�+�+��9�%�	��L���i��!?�!?�@�@�	��
�
�i��+�+�+�+�+rbc	��td��atd��atgt�Rt
ttttgt�Rt
tttfttgt�Rt
tttfg}|D]?}tj
tj||����}|�||���@dS)N�global_TrB)
rrIrrBr�rrrr�rvr=r>r�)r[rt�tuples�trns     r`�>test_pickling_then_unpickling_tuple_with_typevartuple_equalityzXTypeVarTuplePicklingTests.test_pickling_then_unpickling_tuple_with_typevartuple_equalityts���
�:�&�&�� ��-�-�	�
�*�9�*�*���&��#�$��!�-�i�-�-� ��!�V�I�&�&�'��#�/�	�/�/�"��#�v�i�(�(�)�	
���	$�	$�A���f�l�1�e�4�4�5�5�B����Q��#�#�#�#�	$�	$rbN)rkrlrmr{r@rGrLrnrbr`r:r:Zsh�������.�.���.��
,�
,���
,��$�$���$�$�$rbr:c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�
UnionTestsc�n�tttf}|�|t��dSrf)rr�r�r��r[r�s  r`r5zUnionTests.test_basics�s,���#�u�*������A�u�%�%�%�%�%rbc���|�t��5ttt��ddd��n#1swxYwY|�t��5ttt��ddd��n#1swxYwY|�t��5tttt
ft��ddd��dS#1swxYwYdSrf)r�r�rXr�rr|r�s r`�test_subclass_errorzUnionTests.test_subclass_error�s���
�
�
�y�
)�
)�	#�	#��s�E�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
�
�y�
)�
)�	#�	#��u�c�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
�
�y�
)�
)�	-�	-��u�S�#�X���,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s5�A�A�	A�'B�B�B�3-C-�-C1�4C1c���tt}|�|t��tttf}tttf}tttf}|�||��|�|t��|�|t��|�|t��dSrf)rrr�r��objectr�)r[r��u1�u2�u3s     r`�test_union_anyzUnionTests.test_union_any�s����#�J������C� � � �
�3��8�_��
�3��8�_��
�3��;�
������R� � � ����B��$�$�$����B��$�$�$����B��$�$�$�$�$rbc�\�tt}|�|t��tttf}tttf}|�||��|�|t��|�|t��dSrf)rrTr�r�r�)r[r�rUrVs    r`�test_union_objectzUnionTests.test_union_object�s����&�M������F�#�#�#�
�3��;�
��
�6�3�;�
������R� � � ����B��'�'�'����B��'�'�'�'�'rbc��tttf}tttf}|�||��dSrf)rr�r�r�)r[rUrVs   r`�test_unorderedzUnionTests.test_unordered�s:��
�3��:�
��
�5�#�:�
������R� � � � � rbc�`�tt}|�|t��dSrf)rr}r�)r[rKs  r`�test_single_class_disappearsz'UnionTests.test_single_class_disappears�s%���(�O���
�
�a��"�"�"�"�"rbc���tttf}|�|t��|�t|j��|�t|j��dSrf)rr}r�r�rEr�rPs  r`�test_base_class_keptzUnionTests.test_base_class_kept�sY���(�G�#�$�����A�x�(�(�(��
�
�h��
�+�+�+��
�
�g�q�z�*�*�*�*�*rbc���tttf}t|tf}|�|ttttf��dSrf)rr�r�r}r�)r[r��vs   r`�test_union_unionzUnionTests.test_union_union�sF���#�u�*����!�X�+�������E�#�u�h�"6�7�8�8�8�8�8rbc��Gd�dt��}Gd�d|���}Gd�d|���}|�t||fj||f��t||f}|�t
��5t
|��ddd��n#1swxYwYtt|f}|�t
��5t
|��ddd��n#1swxYwYt|tf}|�t
��5t
|��ddd��dS#1swxYwYdS)Nc��eZdZdZdS)�;UnionTests.test_union_of_unhashable.<locals>.UnhashableMetaN�rkrlrm�__hash__rnrbr`�UnhashableMetarf���������H�H�Hrbric��eZdZdS)�.UnionTests.test_union_of_unhashable.<locals>.ANr~rnrbr`r�rl�r�rbr���	metaclassc��eZdZdS)�.UnionTests.test_union_of_unhashable.<locals>.BNr~rnrbr`r�rp�r�rbr�)r�r�rr�r�r��hashr�)r[rir�r��union1�union2�union3s       r`�test_union_of_unhashablez#UnionTests.test_union_of_unhashable�s#��	�	�	�	�	�T�	�	�	�	/�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�����q�!�t��-��1�v�6�6�6��q�!�t���
�
�
�y�
)�
)�	�	���L�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��s�A�v���
�
�
�y�
)�
)�	�	���L�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��q�#�v���
�
�
�y�
)�
)�	�	���L�L�L�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s6�B!�!B%�(B%�C6�6C:�=C:�/E�E�Ec��|�tt��d��tttf}|�t|��dt
z��tttf}|�t|��dt
z��t
d��}t|tft}|�t|��tt����ttttf}|�t|��d��ttttttff}|�t|��d��tttz}|�t|��d��tdtf}|�t|��d��ttdf}|�t|��d��tdttf}|�t|��d	��tt}|�t|��d��dS)
Nztyping.Unionztyping.Union[%s.Employee, int]ztyping.Union[int, %s.Employee]rz#typing.Union[typing.List[int], int]z)typing.Union[list[int], dict[str, float]]ztyping.Union[int, float]ztyping.Optional[str]z typing.Union[NoneType, str, int])
r�r�rr}r�rkrr r�rr|r�r)r[r�rs   r`r�zUnionTests.test_repr�s�������e���n�5�5�5��(�C�-� ������a���"B�X�"M�N�N�N��#�x�-� ������a���"B�X�"M�N�N�N��C�L�L���!�S�&�M�#�������a���$�s�)�)�,�,�,��$�s�)�S�.�!������a���"G�H�H�H��$�s�)�T�#�u�*�-�-�.������a���"M�N�N�N��#��+�������a���"<�=�=�=��$��)�������a���"8�9�9�9��#�t�)�������a���"8�9�9�9��$��S�.�!������a���"D�E�E�E��S�M������a���"8�9�9�9�9�9rbc��tttttf����}dD]F}|�|���5|�||��ddd��n#1swxYwY�GdSr?)rCrDrr|r�rxrErFs   r`rHzUnionTests.test_dir�s�����E�#�s�(�O�,�,�-�-�	�
�	8�	8�M����M��:�:�
8�
8��
�
�m�Y�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8s�A1�1A5	�8A5	c���|�t��5Gd�dt��}ddd��n#1swxYwY|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dttt
f��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�*UnionTests.test_cannot_subclass.<locals>.CNr~rnrbr`r=rz�r�rbr=c��eZdZdS)�*UnionTests.test_cannot_subclass.<locals>.DNr~rnrbr`r@r|�r�rbr@c��eZdZdS)�*UnionTests.test_cannot_subclass.<locals>.ENr~rnrbr`rwr~�r�rbrw)r�r�rr�r�r|)r[r=r@rws    r`r�zUnionTests.test_cannot_subclass�s���
�
�
�y�
)�
)�	�	�
�
�
�
�
�E�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��K�K�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�E�#�s�(�O�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s1�;�?�?� !B
�
B�B�2&C%�%C)�,C)c�`�|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwYttt
f}|�t��5|��ddd��n#1swxYwY|�t��5t|����ddd��dS#1swxYwYdSrf)r�r�rr�r�r�rPs  r`r�z"UnionTests.test_cannot_instantiates���
�
�
�y�
)�
)�	�	��G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��K�K�M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��#�u�*���
�
�
�y�
)�
)�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��G�G�I�I�I�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sB�6�:�:�B�B�B�C�C� C�>D#�#D'�*D'c�v�|�tttjt
ftk��|�tttjt
ftjt
k��|�ttttjt
fj��|�tjt
tttjt
fj��dSrf)r�rr|rO�Iterabler�rEr�r�s r`�test_union_generalizationz$UnionTests.test_union_generalizations�������s�F�O�C�$8�8�9�S�@�A�A�A�����s�F�O�C�$8�8�9�V�_�S�=Q�Q�R�R�R��
�
�c�5��f�o�c�&:�!:�;�D�E�E�E��
�
�f�o�c�*�E�#�v��s�7K�2K�,L�,U�V�V�V�V�Vrbc���|�tt��|�tt��|�tt��|�t
t��|�dgt
��|�t
tj��|�t
tjt��dSrf)	r�rrTrr%rrO�Mappingr"r�s r`�test_union_compare_otherz#UnionTests.test_union_compare_others������E�6�*�*�*����E�3�'�'�'����H�e�,�,�,����H�e�,�,�,����T�F�H�-�-�-����H�f�n�5�5�5����H�V�%:�;�U�C�C�C�C�Crbc�~�tt}ttdf}|�||��dSrf)rr�rr�)r[r�r�s   r`�
test_optionalzUnionTests.test_optionals5���S�M���#�t�)�������A�����rbc��|�t��5tdddd��dS#1swxYwYdS�Nrn)r�r�rr�s r`�
test_emptyzUnionTests.test_empty s���
�
�
�y�
)�
)�	�	��"�I�I�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��6�:�:c��tttf}d|fd�}|�t	|��d|��dS)Nr�c��dSrfrnr�s r`riz(UnionTests.test_no_eval_union.<locals>.f&r�rb)rr�r|r�r,)r[r�ris   r`�test_no_eval_unionzUnionTests.test_no_eval_union$sG���#�s�(�O���������
�
�n�Q�'�'��,�a�0�0�0�0�0rbc��dtfd�}|�tt|tf��d��dS)Nr�c��dSrfrnrnrbr`�funz0UnionTests.test_function_repr_union.<locals>.fun*r�rbztyping.Union[fun, int])r�r�r�r)r[r�s  r`�test_function_repr_unionz#UnionTests.test_function_repr_union)s@���S���������e�C��H�o�.�.�0H�I�I�I�I�Irbc�<�tttf}|dSrf)rr|r>r�s  r`�test_union_str_patternz!UnionTests.test_union_str_pattern-s���#�w�,���	���rbc�n��ddlm�t�tf�fd�}t|tfdS)Nr)�Elementc����|�Srfrn)r�r�s �r`�Elemz#UnionTests.test_etree.<locals>.Elem9s����7�D�>�!rb)�xml.etree.ElementTreer�rr|)r[r�r�s  @r`�
test_etreezUnionTests.test_etree2sV���	2�1�1�1�1�1�
�g�s�l���	"�	"�	"�	"�	"�	�d�C�i����rbc��|�ttdtdfjtdtdf��|�ttdtdftd��|�ttdtdfjtdtdf��|�ttdtdfjtdtdf��ddl}Gd�d|j��}|�tt|jt|jft|j��|�tt|jt|jft|j��|�tt|jt|jfjt|jt|jf��|�ttdt|jtdfjtdt|jtdf��|�ttdt|jtdfjtdt|jtdf��dS)Nrqr�FrTc��eZdZdZdZdS)�/UnionTests.test_union_of_literals.<locals>.IntsrrqN�rkrlrmr�r�rnrbr`�Intsr�J��������A��A�A�Arbr�)r�rrr��enum�IntEnumr�r�)r[r�r�s   r`�test_union_of_literalsz!UnionTests.test_union_of_literals>s�������w�q�z�7�1�:�5�6�?�!�!�*�g�a�j�1�	3�	3�	3�����w�q�z�7�1�:�5�6� ���	%�	%�	%�	
����w�u�~�w�q�z�9�:�C�!�%�.�'�!�*�5�	7�	7�	7�����w�t�}�g�a�j�8�9�B�!�$�-����4�	6�	6�	6�	����	�	�	�	�	�4�<�	�	�	�	
����w�t�v������?�@� ����	*�	*�	*�����w�t�v������?�@� ����	*�	*�	*�	
����w�t�v������?�@�I�!�$�&�/�7�4�6�?�;�	=�	=�	=�	
����w�q�z�7�4�6�?�G�E�N�J�K�T�!�!�*�g�d�f�o�w�u�~�F�	H�	H�	H�����w�q�z�7�4�6�?�G�D�M�I�J�S�!�!�*�g�d�f�o�w�t�}�E�	G�	G�	G�	G�	GrbN)rkrlrmr5rRrXrZr\r^r`rcrur�rHr�r�r�r�r�r�r�r�r�r�r�rnrbr`rNrN�sl������&�&�&�-�-�-�	%�	%�	%�(�(�(�!�!�!�
#�#�#�+�+�+�9�9�9�
���(:�:�:�28�8�8�	�	�	�	�	�	�W�W�W�D�D�D����
���1�1�1�
J�J�J�
�
�
�

�
�
�G�G�G�G�GrbrNc�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�
TupleTestsc��|�t��5ttttt
f��ddd��n#1swxYwY|�t��5ttttt
f��ddd��n#1swxYwYGd�dt��}|�tt��|�|t��dS)Nc��eZdZdS)�"TupleTests.test_basics.<locals>.TPNr~rnrbr`�TPr�dr�rbr�)r�r�rXrr�r|r�ra)r[r�s  r`r5zTupleTests.test_basics^sR��
�
�
�y�
)�
)�	/�	/��u�e�C��H�o�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�
�
�
�y�
)�
)�	/�	/��u�e�C��H�o�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	������������e�U�+�+�+����b�%�(�(�(�(�(s#�-A�A�A�9-B2�2B6�9B6c���|�tttt��|�ttdfttdf��|�tttttf��|�ttttdf��dS�N.)r�rr�r�r�s r`r�zTupleTests.test_equalityhs�������s��U�3�Z�0�0�0�����s�C�x��%��S��/�:�:�:����E�#�J��c�3�h��8�8�8����E�#�J��c�3�h��8�8�8�8�8rbc���Gd�dt��}|�|t��|�tt��|�tt��dS)Nc��eZdZdS)�/TupleTests.test_tuple_subclass.<locals>.MyTupleNr~rnrbr`�MyTupler�o��������Drbr�)r�rar)r[r�s  r`�test_tuple_subclasszTupleTests.test_tuple_subclassnst��	�	�	�	�	�e�	�	�	����g�u�-�-�-����e�U�+�+�+����e�U�+�+�+�+�+rbc���|�t��5tdtttf��ddd��n#1swxYwY|�dt��dS)N)rr)r�r�r�rr�r�r�s r`�test_tuple_instance_type_errorz)TupleTests.test_tuple_instance_type_errorus���
�
�
�y�
)�
)�	0�	0��v�u�S�#�X��/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0����f�e�,�,�,�,�,s�(A�A�Ac��|�tt��d��|�ttd��d��|�ttttf��d��|�tttdf��d��|�ttt
t��d��dS)Nztyping.Tuplernztyping.Tuple[()]ztyping.Tuple[int, float].ztyping.Tuple[int, ...]ztyping.Tuple[list[int]])r�r�rr�r�r�r�s r`r�zTupleTests.test_reprzs�������e���n�5�5�5�����e�B�i���*<�=�=�=�����e�C��J�/�0�0�2L�M�M�M�����e�C��H�o�.�.�0H�I�I�I�����e�D��I�.�/�/�1J�K�K�K�K�Krbc�:�|�t��5tdt��ddd��n#1swxYwY|�t��5tdtt��ddd��dS#1swxYwYdSr�)r�r�rXrr�r�s r`r�zTupleTests.test_errors�s��
�
�
�y�
)�
)�	"�	"��r�5�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	'�	'��r�5��:�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	's!�=�A�A�"!B�B�BN)	rkrlrmr5r�r�r�r�r�rnrbr`r�r�\sq������)�)�)�9�9�9�,�,�,�-�-�-�
L�L�L�'�'�'�'�'rbr�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�BaseCallableTestsc�>�|j}|�t��5ttj|tgtf��ddd��n#1swxYwY|�tj|��|�||��dSrf)r#r�r�rX�types�FunctionTyper�ra�r[r#s  r`�test_self_subclassz$BaseCallableTests.test_self_subclass�s����=��
�
�
�y�
)�
)�	A�	A��u�)�8�S�E�3�J�+?�@�@�@�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A�	A����	A�	A�	A�	A����e�0�(�;�;�;����h��1�1�1�1�1s�.A�A �#A c��|j}|tgtf}|�||tgtf��|�t||tgtfh��d��|�||tgt
f��|�||t
gtf��|�||ttgtf��|�||gtf��|�||dtf��|�||��dS)Nrq.)r#r�r�rr�r|)r[r#r=s   r`�test_eq_hashzBaseCallableTests.test_eq_hash�s'���=���c�U�C�Z� ������H�c�U�C�Z�0�1�1�1�����a��3�%��*�!5�6�7�7��;�;�;����A�x���s�
�3�4�4�4����A�x���s�
�3�4�4�4����A�x��c�
�C��8�9�9�9����A�x��C��0�1�1�1����A�x��S��1�2�2�2����A�x�(�(�(�(�(rbc��|j}tt|dtf����}dD]F}|�|���5|�||��ddd��n#1swxYwY�GdS)N.r@rA)r#rCrDr�rxrE)r[r#rGrBs    r`rHzBaseCallableTests.test_dir�s����=����H�S�#�X�.�/�/�0�0�	�
�	8�	8�M����M��:�:�
8�
8��
�
�m�Y�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8s�A.�.A2	�5A2	c�T�|j}|�t��5|��ddd��n#1swxYwY|�t��5t|����ddd��n#1swxYwY|tgt
f}|�t��5|��ddd��n#1swxYwY|�t��5t|����ddd��dS#1swxYwYdSrf)r#r�r�r�r�r|)r[r#r�s   r`r�z)BaseCallableTests.test_cannot_instantiate�s���=��
�
�
�y�
)�
)�	�	��H�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��N�N����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��c�U�C�Z� ��
�
�
�y�
)�
)�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��G�G�I�I�I�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sC�9�=�=�B�B�	B�<C�C�C�8D�D!�$D!c��|j}|�t��5|tddd��dS#1swxYwYdSrf)r#r�r�r�r�s  r`�test_callable_wrong_formsz+BaseCallableTests.test_callable_wrong_forms�s����=��
�
�
�y�
)�
)�	�	��S�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�=�A�Ac�r�|j}d�}|�||��|�d|��dS)Nc��dSrfrnrnrbr`riz9BaseCallableTests.test_callable_instance_works.<locals>.f�����Drb)r#r�r��r[r#ris   r`�test_callable_instance_worksz.BaseCallableTests.test_callable_instance_works�sJ���=��	�	�	����a��*�*�*�� � ��x�0�0�0�0�0rbc��|j}d�}|�t��5t||gdf��ddd��n#1swxYwY|�t��5t||gtf��ddd��n#1swxYwY|�t��5td|gdf��ddd��n#1swxYwY|�t��5td|gtf��ddd��dS#1swxYwYdS)Nc��dSrfrnrnrbr`riz>BaseCallableTests.test_callable_instance_type_error.<locals>.f�r�rb)r#r�r�r�rr�s   r`�!test_callable_instance_type_errorz3BaseCallableTests.test_callable_instance_type_error�s/���=��	�	�	�
�
�
�y�
)�
)�	.�	.��q�(�2�t�8�,�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�
�
�
�y�
)�
)�	-�	-��q�(�2�s�7�+�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�
�
�
�y�
)�
)�	1�	1��t�X�b�$�h�/�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�
�
�
�y�
)�
)�	0�	0��t�X�b�#�g�.�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�	0�	0sG�A
�
A�A�/B�B� B�>C#�#C'�*C'�D3�3D7�:D7c��|j}|j�d�}|gtf}|�t	|��|�d���|t
tgtf}|�t	|��|�d���|dt
f}|�t	|��|�d���|t
tgttf}|�t	|��|�d���dS)N�	.Callablez
[[], bool]z[[str, float], int].z
[..., str]z[[str, float], list[int]])	r#rlr�r�r�r|r�r�r�)r[r#�fullname�ct0�ct2�ctv�ct3s       r`r�zBaseCallableTests.test_repr�s����=���)�4�4�4���r�4�x� ������c���x�$;�$;�$;�<�<�<���U�|�S�(�)������c���x�$D�$D�$D�E�E�E��s�C�x� ������c���x�$;�$;�$;�<�<�<���U�|�T�#�Y�.�/������c���x�$J�$J�$J�K�K�K�K�Krbc���|j}d|dtffd�}|�t|t	��t����d|dtfi��dS)Nr.c��dSrfrn�rs r`�fooz:BaseCallableTests.test_callable_with_ellipsis.<locals>.foo�r�rb)r#rr�r,�globals�locals)r[r#r�s   r`�test_callable_with_ellipsisz-BaseCallableTests.test_callable_with_ellipsis�sx���=��	�8�C��F�#�	�	�	�	�	
�����W�Y�Y����A�A��x��Q��/�0�	2�	2�	2�	2�	2rbc�R�|j}tj|dtfdSr�)r#rOr r|r�s  r`�test_ellipsis_in_genericz*BaseCallableTests.test_ellipsis_in_generic�s%���=����H�S�#�X�&�'�'�'�'rbc���|j}|�|tzt|tf��|�t|ztt|f��dSrf)r#r�rrr�s  r`�test_or_and_rorz!BaseCallableTests.test_or_and_ror�sW���=������E�)�5��5��+A�B�B�B������)�5����+A�B�B�B�B�Brbc��|j}|ttgtf}|tjjur |�|tj��|�	|j
tjj��|�|jtttf��|�|j
d��dSr�)r#r�r|r��collections�abcr�r��GenericAliasr�r�r�r�r��r[r#r�s   r`�
test_basiczBaseCallableTests.test_basic�s����=���#�s��U�*�+���{��/�/�/��!�!�%��);�<�<�<��
�
�e�&���(@�A�A�A������#�s�E�):�;�;�;�����-�r�2�2�2�2�2rbc��|j}|ttgtf}|�tj|����|��dSrf)r#r�r|r�r��weakref�refr�s   r`�test_weakrefzBaseCallableTests.test_weakref�sK���=���#�s��U�*�+�����+���U�+�+�-�-�u�5�5�5�5�5rbc�J�|j}td��atd��atd��a|ttgtf|ttf|ttf|tttftf|tgt�t�Rtfg}|D]�}ttj
dz��D]�}|�||���5tj||��}tj|��}|�|j|j��|�|j|j��|�|j|j��ddd��n#1swxYwY����bbbdS)N�T_pickle�P_pickle�	TS_picklerq)r�rt)r#rr�rEr�rr�r�r|r�rFrurvrwrxr>r=r�r�r�r�)r[r#�samplesr�rtr��loadeds       r`�test_picklezBaseCallableTests.test_pickle�s����=���:�&�&���Z�(�(�� ��-�-�	�
�c�3�Z��&�'��X�s�]�#��X�x�'�(��[��h��/��4�5��[�!5�)�!5�X�!5�!5�6��;�<�
���	R�	R�E��v�6��:�;�;�
R�
R���\�\��U�\�;�;�R�R���U�E�2�2�A�#�\�!�_�_�F��$�$�U�%5�v�7H�I�I�I��$�$�U�^�V�_�E�E�E��$�$�U�%9�6�;P�Q�Q�Q�R�R�R�R�R�R�R�R�R�R�R����R�R�R�R��
R�
�h�	�	�	s�=B
F�F�Fc��|j}|j�d�}|ttgtf}|ttgt
f}|dtf}|�|t|ttgtf��|�|d|ttd��gtd��f��|�|tttf|ttgtf��|�|t|dtf��|�|t|dtf��|tt
tf}|�t|��|�d���|�t|t��|�d���|�|t|ttgtf��|tjttttft
gtf}|�|tttf|tjttttftgtf��dS)Nr�.z[[int, ~VT], str]z[[int, dict], str])r#rlr�rrrr�r|r�r�rr�rrOr r�)r[r#r��C1�C2�C3�C4�C5s        r`r�z'BaseCallableTests.test_var_substitutions"���=���)�4�4�4��
�s�A�h��k�
"��
�r�1�g�r�k�
"��
�c�1�f�
������C��(�C��:�s�?�";�<�<�<�����D��8�S�$�t�*�*�,=�t�D�z�z�,I�#J�K�K�K�����C���O�,�h��U�|�S�7H�.I�J�J�J�����C��(�3��8�"4�5�5�5�����H��x��X�
�'>�?�?�?���R���
������b���h�#A�#A�#A�B�B�B�����b��h���H�)H�)H�)H�I�I�I�����D��8�S�$�K��,<�#=�>�>�>��v�{�1�~�u�R��U�|�R�8�#�=�
>������C��e�O�,�!�6�;�s�#3�U�3��8�_�e�"L�c�"Q�R�	T�	T�	T�	T�	Trbc���|j}td��}td��}d}|�t|��5|||fdt
fddd��dS#1swxYwYdS)Nr�rzAExpected a list of types, an ellipsis, ParamSpec, or Concatenate.r)r#rErrr�r�)r[r#r�r�pats     r`�test_type_subst_errorz'BaseCallableTests.test_type_subst_error(s����=���c�N�N���C�L�L��Q��
�
#�
#�I�s�
3�
3�	#�	#��Q��T�N�1�c�6�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#s�A(�(A,�/A,c��|j}Gd�d|��}|tgtf}|�|��j|��|�|��j|tgtf��dS)Nc��eZdZd�ZdS)�/BaseCallableTests.test_type_erasure.<locals>.C1c��dSrfrnr�s r`�__call__z8BaseCallableTests.test_type_erasure.<locals>.C1.__call__5����trbN�rkrlrmr�rnrbr`r�r�4s#������
�
�
�
�
rbr�)r#r�rr�r�r��__orig_class__)r[r#r�rs    r`�test_type_erasurez#BaseCallableTests.test_type_erasure2s����=��	�	�	�	�	��	�	�	�
��u�a�x�L���
�
�a�a�c�c�m�R�(�(�(��������+�R���q��\�:�:�:�:�:rbc���|j}|j�d�}td��}td��}||tf}|�|t
gtf|t
gtf��|�|t
tgtf|t
tgtf��|�|gtf|gtf��|�|dtf|dtf��|�||tf||tf��|�|tt
|ftf|tt
|ftf��|�t|��|�d���|�t|t
tgtf��|�d���|�	t��5|t
tfddd��n#1swxYwY||t
f}|�|t
g|t
gt
f��|�|t
tg|t
tgt
f��|�|g|gt
f��|�|d|dt
f��|�||||t
f��|�|tt
|f|tt
|ft
f��|�|t
|t
gt
f��|�|t
tf|t
tgt
f��|�t|��|�d���|�t|t
tf��|�d���dS)	Nr�r��P2.z[~P, ~T]z[[int, str], str]z	[~P, int]z[[int, str], int])r#rlrErr�r�r|rFr�r�r�)r[r#r�r�rr�r�s       r`�test_paramspecz BaseCallableTests.test_paramspec;s����=���)�4�4�4���c�N�N��
�t�_�_��
�a��d�^������S�E�3�J���3�%��*�)=�>�>�>�����S�#�J��O�,�h��S�z�3��.G�H�H�H�����B��G��h�r�3�w�&7�8�8�8�����C��H��x��S��'9�:�:�:�����B��G��h�r�3�w�&7�8�8�8�����K��R��0�#�5�6�!�+�c�2�g�"6��";�<�	>�	>�	>�����b���h�#8�#8�#8�9�9�9�����b�#�s��S��1�2�2�x�4R�4R�4R�S�S�S�
�
�
�y�
)�
)�	�	��s�C�x�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��a��f�
������S�E��H�c�U�C�Z�$8�9�9�9�����S�#�J���3��*�c�/�)B�C�C�C�����B���"�c�'�!2�3�3�3�����C��(�3��8�"4�5�5�5�����B���"�c�'�!2�3�3�3�����K��R��0�1�!�+�c�2�g�"6��";�<�	>�	>�	>�	
����C��(�C�5�#�:�"6�7�7�7�����C��H��x��c�
�C��'@�A�A�A�����b���h�#9�#9�#9�:�:�:�����b��c��l�+�+��-K�-K�-K�L�L�L�L�Ls�&I�I�Ic�d�|j}|j�d�}td��}td��}td��}|tt
|f|f}|�t|��|�d���|�||t
f|tt
|ft
f��|�|ttgt
f|t
ttgt
f��|�|gt
f|t
gt
f��|�|tt|ft
f|tt
t|ft
f��|�|dt
f|tt
dft
f��|tt
|ft
f}|�t|��|�d���|�|||tt
|ft
f��|�|ttg|t
ttgt
f��|�|ttf|t
ttgt
f��|�|g|t
gt
f��|�|tt|f|tt
t|ft
f��|�|d|tt
dft
f��dS)Nr�rr�rz![typing.Concatenate[int, ~P], ~T].z"[typing.Concatenate[int, ~P], int])
r#rlrrErFr�r�r�r|r�)r[r#r�rr�rr=s       r`�test_concatenatez"BaseCallableTests.test_concatenate]s����=���)�4�4�4���C�L�L���c�N�N��
�t�_�_���[��a��(�!�+�,������a���$�G�G�G�	I�	I�	I�����2�s�7��X�k�#�r�'�.B�C�.G�%H�I�I�I�����C��<��,�-�x��c�5�8I�3�8N�/O�P�P�P�����2�s�7��X�s�e�S�j�%9�:�:�:�����;�s�B�w�/��4�5�!�+�c�3��l�";�S�"@�A�	C�	C�	C�����3��8��h�{�3��8�/D�c�/I�&J�K�K�K��[��a��(�#�-�.������a���$�H�H�H�	J�	J�	J�����2����S�"�W�)=�s�)B� C�D�D�D�����C��<��(�C��e�3D�c�3I�*J�K�K�K�����3��:���#�s�E�1B�C�1G�(H�I�I�I�����2���#���� 4�5�5�5�����;�s�B�w�/�0�!�+�c�3��l�";�S�"@�A�	C�	C�	C�����3���+�c�3�h�*?��*D�!E�F�F�F�F�Frbc	�	�|j}td��}td��}td��}td��}td��}Gd�dt||f��}|�|j||f��|t|g|||ff}|�|jt|f|||ff��|�|j||f��|�|ttttgf|ttg|tttgtff��|||gtft|gtf}	|�|	j||gtft|ftf��|�|	j|f��|�|	tt||ttgtftttgtf��||||f|g|f}
|�|
j|||f|f|f��|�|
j||f��|�|
gtf||gtftgtf��|�|
ttgtf||ttgtftgtf��|�|
ttg|ft||ttgtftgtf��||tg|�t�|f|g|f}|�|j|tg|�t�|f|f|f��|�|j||f��|�|tttf||ttttgtftgtf��dS)Nr�rrr
r�c��eZdZdS)�3BaseCallableTests.test_nested_paramspec.<locals>.MyNr~rnrbr`�Myr�r�rbr)r#rErrr$r�r�r�r�r|r�r�r�r�)r[r#r�rrr
r�rr�r�r�r�s            r`�test_nested_paramspecz'BaseCallableTests.test_nested_paramspecxs!���=���c�N�N��
�t�_�_���C�L�L��
�T�]�]��
�$�
�
��	�	�	�	�	���A���	�	�	�	
����*�Q��F�3�3�3�
��b�	�8�B��F�+�+�
,��������R�y�(�2�r�6�2B�&C�D�D�D�����*�R��H�5�5�5�����C�$�s�)�U�!3�3�4��S�#�J��$�s�)�U�1C�S�1H�(I�I�J�	L�	L�	L���2�$��)�$�d�2�h�/��4�
5��������"��s��(;�T�"�X�'F��&L�M�M�M�����*�R�E�2�2�2�����D��I���X�t�C�y�k�3�&6�7��d�3�i��I�3�N�O�	Q�	Q�	Q���"�b�&�!�2�&��*�
+���������R��(8�"�'=�r�&B�C�C�C�����*�R��H�5�5�5�����B��G���X�b�#�g�.��4�c�9�:�	<�	<�	<�����S�$�K��,�-��X�s�D�k�3�&6�7��=�s�B�C�	E�	E�	E�����S�$�K��N�+�C�0��X�s�D�k�3�&6�7��=�s�B�C�	E�	E�	E���3�/��/�S�/�2�-�.��3�R�7�
8��������#����C��"�1D�(E�r�'J�B�&O�P�P�P�����*�R��H�5�5�5�����D�%��.�/��X�s�D�%��&=�u�&D�E�u�M�u�T�U�	W�	W�	W�	W�	Wrbc�"�|j}|ttgtf}|�t
d��5|tddd��n#1swxYwYt
d��}||tf}|�t
d��5|tttfddd��n#1swxYwY|�t
d��5|tddd��dS#1swxYwYdS)Nzis not a generic classr��many arguments for�few arguments for)r#r�r|r�rr�rEr)r[r#r�r�r�s     r`r�zBaseCallableTests.test_errors�s����=���#�s��U�*�+��
�
#�
#�I�/G�
H�
H�	�	��#�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��c�N�N��
�a��d�^��
�
#�
#�I�/C�
D�
D�	�	��s�C��}���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/B�
C�
C�	�	��s�G�G�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s5�A�A�A�C�C�
C�)D�D�DN)rkrlrmr�r�rHr�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr	r�rnrbr`r�r��sc������2�2�2�
)�
)�
)�8�8�8�
�
�
����
1�1�1�0�0�0�
L�
L�
L�2�2�2�(�(�(�
C�C�C�
3�3�3�6�6�6�
*�*�*�2T�T�T�0#�#�#�;�;�;� M� M� M�DG�G�G�6(W�(W�(W�T
�
�
�
�
rbr�c�"�eZdZejZd�ZdS)�TypingCallableTestsc�X�tjttgtf}t
jjttgtf}|�|j|j��|�t|j��t|j����dSrf)
rOr#r�r|rr�r�r�r�rq)r[�c1�c2s   r`�test_consistencyz$TypingCallableTests.test_consistency�s{���_�c�3�Z��-�
.��
�_�
%�s�C�j�$�&6�
7�������b�k�2�2�2�����b�k�*�*�D���,=�,=�>�>�>�>�>rbN)rkrlrmrOr#rrnrbr`rr�s*��������H�?�?�?�?�?rbrc�&�eZdZejjZdS)�CollectionsCallableTestsN)rkrlrmr�r�r#rnrbr`rr�s��������'�H�H�Hrbrc�h�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�ZdS)�LiteralTestsc��tdtdtdtdtdtdttdtdftddS)	Nrq�rqr��)r�r��zT)rq�2F�rqr����)sfoor))rr�s r`r5zLiteralTests.test_basics�sg����
�
������
�����
�
���
�
��
������
�w�t�}�,�-�-������rbc��ddl}Gd�d|j��}|�t|jj|jf��dS)Nrc��eZdZdZdS)�"LiteralTests.test_enum.<locals>.Myr�N)rkrlrmr�rnrbr`rr"�s�������A�A�Arbr)r��Enumr�rr�r�)r[r�rs   r`�	test_enumzLiteralTests.test_enum�sb������	�	�	�	�	���	�	�	�	
�������/�"�$��9�9�9�9�9rbc��tttdtddd�ttdS)N)y@@.rnrr�r�r))rr�rr�s r`�3test_illegal_parameters_do_not_raise_runtime_errorsz@LiteralTests.test_illegal_parameters_do_not_raise_runtime_errors�s8��	������ � ���!�$�$�%�%���
�
�
�
rbc�f�ttdttddS)Nr)r�r)�baz)r rr�s r`� test_literals_inside_other_typesz-LiteralTests.test_literals_inside_other_types�s)���W�W�
����W�*�
+�,�,�,�,rbc�,�|�ttd��d��|�ttd��d��|�ttt��d��|�tt��d��|�ttd��d��|�ttd��d	��dS)
Nrqztyping.Literal[1])rqTr�ztyping.Literal[1, True, 'foo']ztyping.Literal[int]ztyping.Literalztyping.Literal[None]�rqr�rrztyping.Literal[1, 2, 3])r�r�rr�r�s r`r�zLiteralTests.test_repr�s�������g�a�j�)�)�+>�?�?�?�����g�n�5�6�6�8X�Y�Y�Y�����g�c�l�+�+�-B�C�C�C�����g���(8�9�9�9�����g�d�m�,�,�.D�E�E�E�����g�j�1�2�2�4M�N�N�N�N�Nrbc���tttd����}dD]F}|�|���5|�||��ddd��n#1swxYwY�GdS)Nrr@rA)rCrDrrxrErFs   r`rHzLiteralTests.test_dir�s�����G�G�,�-�-�.�.�	�
�	8�	8�M����M��:�:�
8�
8��
�
�m�Y�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8s�A%�%A)	�,A)	c�X�|�t��5t��ddd��n#1swxYwY|�t��5td��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5ttd����ddd��dS#1swxYwYdSrF)r�r�rr�r�s r`rDzLiteralTests.test_cannot_init�s���
�
�
�y�
)�
)�	�	��I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��A�J�L�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��M�M�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D���������	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sB�6�:�:�A<�<B�B�!C
�
C�C�/#D�D#�&D#c��|�t��5tdtd��ddd��n#1swxYwY|�t��5tttd��ddd��n#1swxYwY|�t��5tdtd��ddd��n#1swxYwY|�t��5tttd��ddd��dS#1swxYwYdSrF)r�r�r�rr�rXr�s r`� test_no_isinstance_or_issubclassz-LiteralTests.test_no_isinstance_or_issubclass�s��
�
�
�y�
)�
)�	&�	&��q�'�!�*�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�
�
�y�
)�
)�	(�	(��s�G�A�J�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
�
�y�
)�
)�	&�	&��q�'�!�*�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�
�
�y�
)�
)�	(�	(��s�G�A�J�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(sG�A�A�
A�(!B�B�B�:C"�"C&�)C&�!D5�5D9�<D9c�(�|�t��5Gd�dtd��}ddd��n#1swxYwY|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�-LiteralTests.test_no_subclassing.<locals>.FooNr~rnrbr`r�r3	r�rbr�rqc��eZdZdS)�-LiteralTests.test_no_subclassing.<locals>.BarNr~rnrbr`r�r5	r�rbr��r�r�r)r[r�r�s   r`�test_no_subclassingz LiteralTests.test_no_subclassing	s��
�
�
�y�
)�
)�	(�	(�'�'�'�'�'�g�a�j�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
�
�y�
)�
)�	%�	%�$�$�$�$�$�g�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s#�A�A�A�&B�B�Bc��|�t��5tddddd��dS#1swxYwYdSrFr6r�s r`�test_no_multiple_subscriptsz(LiteralTests.test_no_multiple_subscripts	s���
�
�
�y�
)�
)�	�	��A�J�q�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��|�tdtd��|�tdtd��|�tdtd��|�tdtd��|�tdtd��|�tdtd	��|�tdtd��|�tdtd
��|�tdtd��dS)
NrFTrqr�)rqT)rqrqr�Tr��r�rqrr,)r�rr�r�s r`�
test_equalzLiteralTests.test_equal	s�����G�A�J����7�7�7����G�D�M�7�1�:�6�6�6����G�A�J���
�3�3�3����G�G�,�g�a�j�9�9�9����G�G�,�g�d�m�<�<�<����G�D�M�7�7�+;�<�<�<�������W�Q�Z�0�0�0���������
�6�6�6������)�7�:�+>�?�?�?�?�?rbc��|�ttd��ttd����|�ttd��ttd����|�ttd��ttd����dS)Nrqrr<rr,)r�rqrr�s r`�	test_hashzLiteralTests.test_hash	s�������g�a�j�)�)�4���
�+;�+;�<�<�<�����g�d�m�,�,�d�7�4�=�.A�.A�B�B�B�����g�g�.�/�/��g�j�6I�1J�1J�K�K�K�K�Krbc�p�|�tdjd��|�tdjd��|�tdtdtdfjd��|�tggfjggf��dS)Nrr,rqr�)rr)rqr�rr)r�rr�r�s r`�	test_argszLiteralTests.test_args	s��������)�2�I�>�>�>������,�5�y�A�A�A������G�A�J���
�!=�>�G��V�V�V������R���1�B��8�<�<�<�<�<rbc�T�ttdtdtdf}ttddf}ttd}|||fD]>}|�|td��|�|jd���?dS)Nrqr�rrr)rr�r�)r[�l1�l2�l3r�s     r`�test_flattenzLiteralTests.test_flatten"	s���
�W�Q�Z����W�Q�Z�7�
8��
�W�T�]�A�%�
&��
�W�W�%�
&���R���	4�	4�A����Q��� 0�1�1�1����Q�Z��3�3�3�3�	4�	4rbc��ddl}Gd�d|j��}tt|jt|jtdtdf}|�|j|j|jddf��dS)Nrc��eZdZdZdZdS)�5LiteralTests.test_does_not_flatten_enum.<locals>.Intsrqr�Nr�rnrbr`r�rI,	r�rbr�rqr�)r�r�rr�r�r�r�)r[r�r�r�s    r`�test_does_not_flatten_enumz'LiteralTests.test_does_not_flatten_enum*	s�������	�	�	�	�	�4�<�	�	�	�
��D�F�O��D�F�O��A�J��A�J�
�
��	
�����d�f�d�f�a��%;�<�<�<�<�<rbN)rkrlrmr5r$r'r*r�rHrDr0r7r9r=r?rArFrJrnrbr`rr�s�������	 �	 �	 �:�:�:����-�-�-�O�O�O�8�8�8����(�(�(�%�%�%����	@�	@�	@�L�L�L�
=�=�=�4�4�4�=�=�=�=�=rbr�XK�XVc�D�eZdZdedefd�Zdedefd�Zd	dededefd�ZdS)
�
SimpleMapping�keyr�c��dSrfrn�r[rOs  r`�__getitem__zSimpleMapping.__getitem__?	����rbrc��dSrfrn�r[rOrs   r`�__setitem__zSimpleMapping.__setitem__B	rSrbN�defaultc��dSrfrn�r[rOrWs   r`�getzSimpleMapping.getE	rSrbrf)rkrlrmrKrLrRrVrZrnrbr`rNrN=	s��������r��b������r��"�������r��B��"������rbrNc�:�eZdZd�Zdefd�Zdefd�Zddefd�ZdS)�MySimpleMappingc��i|_dSrf��storer�s r`r�zMySimpleMapping.__init__K	s
����
�
�
rbrOc��|j|Srfr^rQs  r`rRzMySimpleMapping.__getitem__N	s���z�#��rbc��||j|<dSrfr^rUs   r`rVzMySimpleMapping.__setitem__Q	s����
�3���rbNc�B�	|j|S#t$r|cYSwxYwrf)r_�KeyErrorrYs   r`rZzMySimpleMapping.getT	s7��	��:�c�?�"���	�	�	��N�N�N�	���s���rf)rkrlrmr�r|rRrVrZrnrbr`r\r\I	sy����������s����� �s� � � � ���s������rbr\c�$�eZdZUeed<eed<dS)�
Coordinater�r�N�rkrlrmr�r�rnrbr`rere[	�"�������
�F�F�F�
�F�F�F�F�Frbrec��eZdZUeed<dS)�Point�labelN�rkrlrmr|r�rnrbr`riri_	s��������J�J�J�J�Jrbric�.�eZdZUeed<eed<eed<dS)�MyPointr�r�rjN�rkrlrmr�r�r|rnrbr`rmrmc	s+�������
�F�F�F�
�F�F�F��J�J�J�J�Jrbrmc��eZdZUeed<dS)�XAxisr�Nrfrnrbr`rprph	��������
�F�F�F�F�Frbrpc��eZdZUeed<dS)�YAxisr�Nrfrnrbr`rsrsk	rqrbrsc��eZdZdS)�PositionNr~rnrbr`rurun	s�������Drbruc�*�eZdZUeed<dedefd�ZdS)�Proto�attrr�r�c��dSrfrn�r[r�s  r`�methz
Proto.methu	rSrbN)rkrlrmr�r�r|r{rnrbr`rwrwr	sA�������

�I�I�I����������rbrwc��eZdZdS)�ConcreteNr~rnrbr`r}r}x	rrbr}c�.�eZdZUdZeed<dedefd�ZdS)�Otherrqrxr�r�c��|dkrdSdS)N�thisrqrrnrzs  r`r{z
Other.meth}	s���&�=�=��1��qrbN)rkrlrmrxr�r�r|r{rnrbr`rr{	sE��������D�#�M�M�M����������rbrc�$�eZdZUeed<eed<dS)�NTr�r�Nrfrnrbr`r�r��	rgrbr�c�$�eZdZUejed<dS)�HasCallProtocolr�N)rkrlrmrOr#r�rnrbr`r�r��	s ��������o�����rbr�c�d�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:S);�
ProtocolTestsc��tGd�dt����}Gd�d��}Gd�d��}d�}|�||��|�|��|��|�||��|�|��|��|�tj|��|�||��dS)Nc��eZdZd�ZdS)�,ProtocolTests.test_basic_protocol.<locals>.Pc��dSrfrnr�s r`r{z1ProtocolTests.test_basic_protocol.<locals>.P.meth�	����rbN�rkrlrmr{rnrbr`r�r��	�#������
�
�
�
�
rbr�c��eZdZdS)�,ProtocolTests.test_basic_protocol.<locals>.CNr~rnrbr`r=r��	r�rbr=c��eZdZd�ZdS)�,ProtocolTests.test_basic_protocol.<locals>.Dc��dSrfrnr�s r`r{z1ProtocolTests.test_basic_protocol.<locals>.D.meth�	r�rbNr�rnrbr`r@r��	�#������
�
�
�
�
rbr@c��dSrfrnrnrbr`riz,ProtocolTests.test_basic_protocol.<locals>.f�	r�rb)r+r(rar�rdr�r�r�)r[r�r=r@ris     r`�test_basic_protocolz!ProtocolTests.test_basic_protocol�	s��	�	�	�	�	�	��	�	�
�	�	�	�
�
�
�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	
���a��#�#�#����a�a�c�c�1�%�%�%�� � ��A�&�&�&�� � �����a�(�(�(�� � ��!3�Q�7�7�7�� � ��A�&�&�&�&�&rbc�:�tGd�dt����}Gd�d��}d�}ttt|t
jfD]}|�||���t��ddt|fD]}|�	||���dS)Nc��eZdZdS)�FProtocolTests.test_everything_implements_empty_protocol.<locals>.EmptyNr~rnrbr`�Emptyr��	��������Drbr�c��eZdZdS)�BProtocolTests.test_everything_implements_empty_protocol.<locals>.CNr~rnrbr`r=r��	r�rbr=c��dSrfrnrnrbr`rizBProtocolTests.test_everything_implements_empty_protocol.<locals>.f�	r�rbrqrn)
r+r(rTr�r�r�r�rarOr�)r[r�r=ri�things     r`�)test_everything_implements_empty_protocolz7ProtocolTests.test_everything_implements_empty_protocol�	s���	�	�	�	�	�	�H�	�	�
�	�	�	�	�	�	�	�	�	�	�	�	�	��d�E�1�e�.@�A�	0�	0�E��!�!�%��/�/�/�/��h�h��2�v�q�1�	0�	0�E��!�!�%��/�/�/�/�	0�	0rbc�B�d�}|�|t��dS)Nc��dSrfrnrnrbr`riz:ProtocolTests.test_function_implements_protocol.<locals>.f�	r�rb)r�r�rhs  r`�!test_function_implements_protocolz/ProtocolTests.test_function_implements_protocol�	s/��	�	�	�	
���a��1�1�1�1�1rbc��Gd�d��}Gd�dt��}|�t��5Gd�d|t��}ddd��n#1swxYwY|�t��5Gd�dt|��}ddd��n#1swxYwY|�t��5Gd	�d
||t��}ddd��n#1swxYwYGd�d||��}Gd
�d||��}|�|��|��|�|��|��dS)Nc��eZdZdS)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.CNr~rnrbr`r=r��	r�rbr=c��eZdZdS)�:ProtocolTests.test_no_inheritance_from_nominal.<locals>.BPNr~rnrbr`�BPr��	r�rbr�c��eZdZdS)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.PNr~rnrbr`r�r��	r�rbr�c��eZdZdS)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.QNr~rnrbr`�Qr��	r�rbr�c��eZdZdS)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.RNr~rnrbr`�Rr��	r�rbr�c��eZdZdS)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.DNr~rnrbr`r@r��	r�rbr@c��eZdZdS)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.ENr~rnrbr`rwr��	r�rbrw)r(r�r�r�)r[r=r�r�r�r�r@rws        r`� test_no_inheritance_from_nominalz.ProtocolTests.test_no_inheritance_from_nominal�	sj���
�
�
�
�
�
�
� � � � � �� � � �
�
�
�y�
)�
)�	�	�
�
�
�
�
�A�x�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�H�a�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�B��8�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	������A����������2����� � �����a�(�(�(�� � �����a�(�(�(�(�(s5�A�A �#A �B"�"B&�)B&�C)�)C-�0C-c�\�Gd�dt��}|�t��5|��ddd��n#1swxYwYGd�d|��}|�|��|��|�t��5|d��ddd��n#1swxYwYt	d��}Gd�dt|��}|�t��5|��ddd��n#1swxYwY|�t��5|t
��ddd��n#1swxYwY|�t��5||��ddd��n#1swxYwYGd	�d
||��}|�|t
��|��|�t��5|t
d��ddd��dS#1swxYwYdS)Nc��eZdZdS)�.ProtocolTests.test_no_instantiation.<locals>.PNr~rnrbr`r�r��	r�rbr�c��eZdZdS)�.ProtocolTests.test_no_instantiation.<locals>.CNr~rnrbr`r=r��	r�rbr=r�rc��eZdZdS)�/ProtocolTests.test_no_instantiation.<locals>.PGNr~rnrbr`�PGr��	r�rbr�c��eZdZdS)�/ProtocolTests.test_no_instantiation.<locals>.CGNr~rnrbr`�CGr��	r�rbr�)r(r�r�r�rr�)r[r�r=rr�r�s      r`�test_no_instantiationz#ProtocolTests.test_no_instantiation�	s������������
�
�
�y�
)�
)�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	������������a�a�c�c�1�%�%�%�
�
�
�y�
)�
)�	�	�
�A�b�E�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�C�L�L��#�#�#�#�#��!��#�#�#�
�
�
�y�
)�
)�	�	��B�D�D�D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��B�s�G�I�I�I�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��B�q�E�G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	������A��������g�b��g�i�i��,�,�,�
�
�
�y�
)�
)�	�	��B�s�G�B�K�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sk�A�A	�A	�B.�.B2�5B2�;D�D�D�7E�E� E�>F�F�"F�=H!�!H%�(H%c��Gd�dt��}Gd�d��}|��}|�|d��|�|jd��dS)Nc�*�eZdZUeed<deddfd�ZdS)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.Pr�r�Nc��||_dSrfr�r�s  r`r�zUProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.P.__init__�	r�rb�rkrlrmr�r�r�rnrbr`r�r��	�A��������F�F�F�
�#�
�$�
�
�
�
�
�
rbr�c��eZdZdS)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.CNr~rnrbr`r=r��	r�rbr=rq)r(r�r�r��r[r�r=r�s    r`�3test_protocol_defining_init_does_not_get_overriddenzAProtocolTests.test_protocol_defining_init_does_not_get_overridden�	s|��	�	�	�	�	��	�	�	�	�
�
�
�
�
�
�
�
�A�C�C��	�
�
�1�a���������a� � � � � rbc��Gd�dt��}Gd�d|��}|d��}|�||��|�|jd��dS)Nc�*�eZdZUeed<deddfd�ZdS)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.Pr�r�Nc��||_dSrfr�r�s  r`r�zSProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.P.__init__�	r�rbr�rnrbr`r�r��	r�rbr�c��eZdZdS)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.CNr~rnrbr`r=r��	r�rbr=rq)r(r�r�r�r�s    r`�1test_concrete_class_inheriting_init_from_protocolz?ProtocolTests.test_concrete_class_inheriting_init_from_protocol�	s���	�	�	�	�	��	�	�	�
	���������
�A�a�D�D�����a��#�#�#������a� � � � � rbc�2�tGd�dt����}Gd�d|��}Gd�d|��}|�t��5|��ddd��n#1swxYwY|�|��|��dS)Nc�4�eZdZejdefd���ZdS)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Pr�c��t�rf)�NotImplementedErrorr�s r`�amethz?ProtocolTests.test_cannot_instantiate_abstract.<locals>.P.ameth
s��)�)rbN)rkrlrmr��abstractmethodr�r�rnrbr`r�r�
s=������
�
�
*�s�
*�
*�
*� �
�
*�
*�
*rbr�c��eZdZdS)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.BNr~rnrbr`r�r�
r�rbr�c��eZdZdefd�ZdS)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Cr�c��dS)N�rnr�s r`r�z?ProtocolTests.test_cannot_instantiate_abstract.<locals>.C.ameth
����rrbN)rkrlrmr�r�rnrbr`r=r�
s/������
�s�
�
�
�
�
�
rbr=)r+r(r�r�r�)r[r�r�r=s    r`� test_cannot_instantiate_abstractz.ProtocolTests.test_cannot_instantiate_abstract
s#��	�	*�	*�	*�	*�	*��	*�	*�
�	�	*�
	�	�	�	�	��	�	�	�	�	�	�	�	��	�	�	��
�
�y�
)�
)�	�	�
�A�C�C�C�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	����a�a�c�c�1�%�%�%�%�%s�A.�.A2�5A2c���Gd�dt��}tGd�d|t����}Gd�d��}Gd�d��}Gd	�d
��}|�|��|��|�|��|��|�||��|�||��|�|��|��|�||��dS)Nc��eZdZd�ZdS)�5ProtocolTests.test_subprotocols_extending.<locals>.P1c��dSrfrnr�s r`�meth1z;ProtocolTests.test_subprotocols_extending.<locals>.P1.meth1
r�rbN�rkrlrmr�rnrbr`�P1r�
r�rbr�c��eZdZd�ZdS)�5ProtocolTests.test_subprotocols_extending.<locals>.P2c��dSrfrnr�s r`�meth2z;ProtocolTests.test_subprotocols_extending.<locals>.P2.meth2
r�rbN�rkrlrmr�rnrbr`rr�
r�rbrc��eZdZd�Zd�ZdS)�4ProtocolTests.test_subprotocols_extending.<locals>.Cc��dSrfrnr�s r`r�z:ProtocolTests.test_subprotocols_extending.<locals>.C.meth1"
r�rbc��dSrfrnr�s r`r�z:ProtocolTests.test_subprotocols_extending.<locals>.C.meth2%
r�rbN�rkrlrmr�r�rnrbr`r=r�!
�2������
�
�
�
�
�
�
�
rbr=c��eZdZd�ZdS)�5ProtocolTests.test_subprotocols_extending.<locals>.C1c��dSrfrnr�s r`r�z;ProtocolTests.test_subprotocols_extending.<locals>.C1.meth1)
r�rbNr�rnrbr`r�r�(
r�rbr�c��eZdZd�ZdS)�5ProtocolTests.test_subprotocols_extending.<locals>.C2c��dSrfrnr�s r`r�z;ProtocolTests.test_subprotocols_extending.<locals>.C2.meth2-
r�rbNr�rnrbr`r�r�,
r�rbr��r(r+r�rdr�ra)r[r�rr=r�r�s      r`�test_subprotocols_extendingz)ProtocolTests.test_subprotocols_extending
s{��	�	�	�	�	��	�	�	�
�	�	�	�	�	��X�	�	�
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
� � �����r�*�*�*�� � �����r�*�*�*�� � ��R�(�(�(�� � ��R�(�(�(����a�a�c�c�2�&�&�&����a��$�$�$�$�$rbc��Gd�dt��}Gd�dt��}tGd�d||t����}Gd�d��}Gd	�d
��}Gd�d��}|�|��|��|�|��|��|�||��|�||��|�|��|��|�||��dS)
Nc��eZdZd�ZdS)�3ProtocolTests.test_subprotocols_merging.<locals>.P1c��dSrfrnr�s r`r�z9ProtocolTests.test_subprotocols_merging.<locals>.P1.meth19
r�rbNr�rnrbr`r�r�8
r�rbr�c��eZdZd�ZdS)�3ProtocolTests.test_subprotocols_merging.<locals>.P2c��dSrfrnr�s r`r�z9ProtocolTests.test_subprotocols_merging.<locals>.P2.meth2=
r�rbNr�rnrbr`rr<
r�rbrc��eZdZdS)�2ProtocolTests.test_subprotocols_merging.<locals>.PNr~rnrbr`r�r@
r�rbr�c��eZdZd�Zd�ZdS)�2ProtocolTests.test_subprotocols_merging.<locals>.Cc��dSrfrnr�s r`r�z8ProtocolTests.test_subprotocols_merging.<locals>.C.meth1E
r�rbc��dSrfrnr�s r`r�z8ProtocolTests.test_subprotocols_merging.<locals>.C.meth2H
r�rbNr�rnrbr`r=rD
r�rbr=c��eZdZd�ZdS)�3ProtocolTests.test_subprotocols_merging.<locals>.C1c��dSrfrnr�s r`r�z9ProtocolTests.test_subprotocols_merging.<locals>.C1.meth1L
r�rbNr�rnrbr`r�rK
r�rbr�c��eZdZd�ZdS)�3ProtocolTests.test_subprotocols_merging.<locals>.C2c��dSrfrnr�s r`r�z9ProtocolTests.test_subprotocols_merging.<locals>.C2.meth2P
r�rbNr�rnrbr`r�rO
r�rbr�r�)r[r�rr�r=r�r�s       r`�test_subprotocols_mergingz'ProtocolTests.test_subprotocols_merging7
s���	�	�	�	�	��	�	�	�	�	�	�	�	��	�	�	�
�	�	�	�	�	��B��	�	�
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
� � �����q�)�)�)�� � �����q�)�)�)�� � ��Q�'�'�'�� � ��Q�'�'�'����a�a�c�c�1�%�%�%����a��#�#�#�#�#rbc��td��}tGd�dt����}tGd�dt|����}Gd�dt��}Gd�d	t|��}Gd
�d��}|�||��|�||��|�||��|�t
��5t
|||��ddd��n#1swxYwY|�t
��5t
|||��ddd��n#1swxYwY|�t
��5t
||��ddd��n#1swxYwY|�t
��5t
||��ddd��n#1swxYwY|�t
��5t
|||��ddd��n#1swxYwY|�t
��5t
||t��ddd��n#1swxYwYd}|�t
|��5t
d
|��ddd��n#1swxYwY|�t
|��5t
d
|��ddd��n#1swxYwY|�t
|��5t
d
|��ddd��n#1swxYwY|�t
|��5t
d
|��ddd��dS#1swxYwYdS)Nrc��eZdZd�ZdS)�2ProtocolTests.test_protocols_issubclass.<locals>.Pc��dSrfrnr�s r`r�z4ProtocolTests.test_protocols_issubclass.<locals>.P.x_
r�rbN�rkrlrmr�rnrbr`r�r]
�����������rbr�c��eZdZd�ZdS)�3ProtocolTests.test_protocols_issubclass.<locals>.PGc��dSrfrnr�s r`r�z5ProtocolTests.test_protocols_issubclass.<locals>.PG.xc
r�rbNrrnrbr`r�ra
rrbr�c��eZdZd�ZdS)�5ProtocolTests.test_protocols_issubclass.<locals>.BadPc��dSrfrnr�s r`r�z7ProtocolTests.test_protocols_issubclass.<locals>.BadP.xf
r�rbNrrnrbr`�BadPre
�����������rbrc��eZdZd�ZdS)�6ProtocolTests.test_protocols_issubclass.<locals>.BadPGc��dSrfrnr�s r`r�z8ProtocolTests.test_protocols_issubclass.<locals>.BadPG.xi
r�rbNrrnrbr`�BadPGr h
rrbr"c��eZdZd�ZdS)�2ProtocolTests.test_protocols_issubclass.<locals>.Cc��dSrfrnr�s r`r�z4ProtocolTests.test_protocols_issubclass.<locals>.C.xl
r�rbNrrnrbr`r=r$k
rrbr=z$issubclass\(\) arg 1 must be a classrq)	rr+r(rar�r�rXr�r)r[rr�r�rr"r=�only_classes_alloweds        r`�test_protocols_issubclassz'ProtocolTests.test_protocols_issubclassZ
s/���C�L�L��	�	�	�	�	�	��	�	�
�	�	�
�	�	�	�	�	��!��	�	�
�	�	�	�	�	�	�	�8�	�	�	�	�	�	�	�	�H�Q�K�	�	�	�	�	�	�	�	�	�	�	�	
���a��#�#�#����a��$�$�$����d�B�'�'�'�
�
�
�y�
)�
)�	!�	!��q�"�Q�%� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�
�
�y�
)�
)�	!�	!��q�"�Q�%� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�
�
�y�
)�
)�	 �	 ��q�$����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	!�	!��q�%� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�
�
�y�
)�
)�	!�	!��q�"�Q�%� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�
�
�y�
)�
)�	$�	$��r�2�c�7�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$� G��
�
#�
#�I�/C�
D�
D�	�	��q�!����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/C�
D�
D�	�	��q�"����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/C�
D�
D�	 �	 ��q�$����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
#�
#�I�/C�
D�
D�	!�	!��q�%� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s��+D�D�D�3E�E�E�;F�F�F�=G�G�!G�?H"�"H&�)H&�I/�/I3�6I3�J4�4J8�;J8�K7�7K;�>K;�L:�:L>�L>� M>�>N�Nc��tGd�dt����}Gd�dt��}Gd�dt��}Gd�dt��}Gd	�d
t��}Gd�dt��}Gd
�dt��}||||||fD]K}|�|j���5|�||��ddd��n#1swxYwY�LGd�dt��}	Gd�dt��}
|�|	|��|�|
|��Gd�d��}Gd�d��}Gd�d��}
Gd�d��}|�||��|�||��|�|
|��|�||��dS)Nc��eZdZd�ZdS)�ZProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.CallableMembersProtoc��dSrfrnr�s r`r{z_ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.CallableMembersProto.meth�
r�rbNr�rnrbr`�CallableMembersProtor*�
s����������rbr,c��eZdZd�ZdS)�TProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProtoc��dSrfrnr�s r`r{zYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProto.meth�
r�rbNr�rnrbr`�IdenticalProtor.�
s����������rbr0c��eZdZd�Zd�ZdS)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProtoc��dSrfrnr�s r`r{zXProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.meth�
r�rbc��dSrfrnr�s r`r�zYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.meth2�
r�rbN)rkrlrmr{r�rnrbr`�
SupersetProtor2�
s"��������� � � � � rbr5c�*�eZdZUegdfed<dS)�]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersProtoNr{�rkrlrmr#r�rnrbr`�NonCallableMembersProtor7�
�'��������2�t�8�$�$�$�$�$�$rbr9c�H�eZdZUegdfed<eeegefed<dS)�eProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersSupersetProtoNr{r�)rkrlrmr#r�r|r�r�rnrbr`�NonCallableMembersSupersetProtor<�
sA��������2�t�8�$�$�$�$��S�#�J��,�-�-�-�-�-�-rbr=c�0�eZdZUegdfed<d�ZdS)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1Nr{c��dSrfrnr�s r`r�z^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1.meth2�
r�rb)rkrlrmr#r�r�rnrbr`�MixedMembersProto1r?�
�0��������2�t�8�$�$�$�$� � � � � rbrAc�4�eZdZUd�Zeeegefed<dS)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2c��dSrfrnr�s r`r{z]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2.meth�
r�rbr�N)	rkrlrmr{r#r|r�r�r�rnrbr`�MixedMembersProto2rD�
s5�����������S�#�J��,�-�-�-�-�-�-rbrFrsc��eZdZdS)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.EmptyProtocolNr~rnrbr`�
EmptyProtocolrH�
r�rbrIc��eZdZd�ZdS)�WProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocolc��dSrfrnr�s r`�wutz[ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocol.wut�
r�rbN)rkrlrmrMrnrbr`�UnrelatedProtocolrK�
s����������rbrNc�*�eZdZUegdfed<dS)�^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.AnnotatedButNotAProtocolNr{r8rnrbr`�AnnotatedButNotAProtocolrP�
r:rbrQc��eZdZd�ZdS)�gProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclassc��dSrfrnr�s r`r{zlProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass.meth�
r�rbNr�rnrbr`�!NotAProtocolButAnImplicitSubclassrS�
������� � � � � rbrUc�0�eZdZUegdfed<d�ZdS)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2Nr{c��dSrfrnr�s r`r{zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2.meth�
r�rb)rkrlrmr#r�r{rnrbr`�"NotAProtocolButAnImplicitSubclass2rX�
rBrbrZc�T�eZdZUegdfed<eeegefed<d�Zd�Z	dS)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3Nr{r�c��dSrfrnr�s r`r{zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.meth�
r�rbc��dS)NTrn�r[r�r�s   r`r�znProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.meth2�
s��$�$rb)
rkrlrmr#r�r�r|r�r{r�rnrbr`�"NotAProtocolButAnImplicitSubclass3r\�
sS��������2�t�8�$�$�$�$��S�#�J��,�-�-�-�-� � � �.�.�.�.�.rbr`)r+r(rxrkrard)r[r,r0r5r9r=rArFrtrIrNrQrUrZr`s               r`�.test_implicit_issubclass_between_two_protocolsz<ProtocolTests.test_implicit_issubclass_between_two_protocols�
sn��	�	 �	 �	 �	 �	 �8�	 �	 �
�	�	 �	 �	 �	 �	 �	 �X�	 �	 �	 �	!�	!�	!�	!�	!�H�	!�	!�	!�	%�	%�	%�	%�	%�h�	%�	%�	%�	.�	.�	.�	.�	.�h�	.�	.�	.�	!�	!�	!�	!�	!��	!�	!�	!�	.�	.�	.�	.�	.��	.�	.�	.�

�M�+B�+�-?�AS�
�	C�	C�E����E�N��3�3�
C�
C��%�%�e�-A�B�B�B�
C�
C�
C�
C�
C�
C�
C�
C�
C�
C�
C����
C�
C�
C�
C��	+�*�*�*�*�H�*�*�*�	�	�	�	�	��	�	�	�	
� � ��0D�E�E�E�� � �!2�4H�I�I�I�	%�	%�	%�	%�	%�	%�	%�	%�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	/�	/�	/�	/�	/�	/�	/�	/�	
� � �!9�;O�P�P�P����?�AU�V�V�V����@�BV�W�W�W����@�BV�W�W�W�W�Ws�8C�C	�"C	c�`�|�tj��tj��|�t
d��5Gd�dtjjt��}ddd��n#1swxYwY|�
gtjj��dS)Nz/Protocols can only inherit from other protocolsc��eZdZdS)�CProtocolTests.test_isinstance_checks_not_at_whim_of_gc.<locals>.FooNr~rnrbr`r�rd�
r�rbr�)�
addCleanup�gc�enable�disablerr�r�r�r�r(r��r[r�s  r`�(test_isinstance_checks_not_at_whim_of_gcz6ProtocolTests.test_isinstance_checks_not_at_whim_of_gc�
s�������	�"�"�"�
�
����
�
#�
#��=�
�
�	�	�
�
�
�
�
�k�o�-�x�
�
�
�		�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
� � ��[�_�%<�=�=�=�=�=s�$A>�>B�Bc��Gd�d��}tGd�dt����}|�t��5t	||��ddd��n#1swxYwY|�|��|��|�|��|�t��5t	||��ddd��n#1swxYwY|�|��|��Gd�d|��}|�||��|�|��|��|�|��|�	||��|�|��|��|�t��5t	||��ddd��dS#1swxYwYdS)Nc��eZdZdZdS)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.CrqNrrnrbr`r=rm�
��������A�A�Arbr=c��eZdZdZdS)�FProtocolTests.test_protocols_issubclass_non_callable.<locals>.PNonCallrqNrrnrbr`�PNonCallrp�
��������A�A�Arbrqc��eZdZdS)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.DNr~rnrbr`r@rt�
r�rbr@)
r+r(r�r�rXr��registerrdr�ra)r[r=rqr@s    r`�&test_protocols_issubclass_non_callablez4ProtocolTests.test_protocols_issubclass_non_callable�
s���	�	�	�	�	�	�	�	�
�	�	�	�	�	�x�	�	�
�	�	��
�
�y�
)�
)�	$�	$��q�(�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$����a�a�c�c�8�,�,�,����!����
�
�
�y�
)�
)�	$�	$��q�(�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$����a�a�c�c�8�,�,�,�	���������� � ��A�&�&�&�� � �����a�(�(�(�	�
�
�1�
�
�
����a��#�#�#����a�a�c�c�1�%�%�%�
�
�
�y�
)�
)�	$�	$��q�(�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s6�A%�%A)�,A)�=C�C�!C�(G�G
�
G
c�V�
�td��}tGd�dt����}tGd�dt|����}tGd�dt����}tGd�d	t����}Gd
�d���
tG�
fd�d
t����}Gd�dt��}Gd�dt|��}Gd�d��}	Gd�d��}
|	|
fD]c}|||||fD]Y}|�|j|j���5|�|��|��ddd��n#1swxYwY�Z�d|�t��5t|	��||��ddd��n#1swxYwY|�t��5t|	��||	��ddd��n#1swxYwY|�t��5t|	��|��ddd��n#1swxYwY|�t��5t|	��|��ddd��dS#1swxYwYdS)Nrc��eZdZd�ZdS)�2ProtocolTests.test_protocols_isinstance.<locals>.Pc��dSrfrnr�s r`r{z7ProtocolTests.test_protocols_isinstance.<locals>.P.methr�rbNr�rnrbr`r�ry�
rrbr�c��eZdZd�ZdS)�3ProtocolTests.test_protocols_isinstance.<locals>.PGc��dSrfrnr�s r`r{z8ProtocolTests.test_protocols_isinstance.<locals>.PG.methr�rbNr�rnrbr`r�r|rrbr�c��eZdZejZdS)�;ProtocolTests.test_protocols_isinstance.<locals>.WeirdProtoN)rkrlrmr|�	maketransr{rnrbr`�
WeirdProtors�������=�D�D�Drbr�c��eZdZd�ZdS)�<ProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2c��dSrfrn�r�r�s  r`�<lambda>zEProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2.<lambda>
s��4�rbNr�rnrbr`�WeirdProto2r�s������/�/�D�D�Drbr�c��eZdZd�ZdS)�?ProtocolTests.test_protocols_isinstance.<locals>.CustomCallablec��dSrfrnr�s   r`r�zHProtocolTests.test_protocols_isinstance.<locals>.CustomCallable.__call__r�rbNr�rnrbr`�CustomCallabler�r�rbr�c�$��eZdZ���ZdS)�=ProtocolTests.test_protocols_isinstance.<locals>.WeirderProtoNr�)r�s�r`�WeirderProtor�s�������!�>�#�#�D�D�Drbr�c��eZdZd�ZdS)�5ProtocolTests.test_protocols_isinstance.<locals>.BadPc��dSrfrnr�s r`r{z:ProtocolTests.test_protocols_isinstance.<locals>.BadP.methr�rbNr�rnrbr`rr�rrbrc��eZdZd�ZdS)�6ProtocolTests.test_protocols_isinstance.<locals>.BadPGc��dSrfrnr�s r`r{z;ProtocolTests.test_protocols_isinstance.<locals>.BadPG.methr�rbNr�rnrbr`r"r�rrbr"c��eZdZd�ZdS)�2ProtocolTests.test_protocols_isinstance.<locals>.Cc��dSrfrnr�s r`r{z7ProtocolTests.test_protocols_isinstance.<locals>.C.methr�rbNr�rnrbr`r=r�rrbr=c��eZdZd�ZdS)�3ProtocolTests.test_protocols_isinstance.<locals>.C2c��d�|_dS)Nc��dSrfrnrnrbr`r�zNProtocolTests.test_protocols_isinstance.<locals>.C2.__init__.<locals>.<lambda>"s��D�rb)r{r�s r`r�z<ProtocolTests.test_protocols_isinstance.<locals>.C2.__init__!s��(�L��	�	�	rbNr�rnrbr`r�r� s#������
)�
)�
)�
)�
)rbr�)�klassrt)	rr+r(rxrkr�r�r�r�)r[rr�r�r�r�r�rr"r=r�r�rtr�s             @r`�test_protocols_isinstancez'ProtocolTests.test_protocols_isinstance�
s�����C�L�L��	�	�	�	�	�	��	�	�
�	�	�
�	�	�	�	�	��!��	�	�
�	�	�
�	!�	!�	!�	!�	!��	!�	!�
�	�	!�
�	0�	0�	0�	0�	0�(�	0�	0�
�	�	0�	�	�	�	�	�	�	�	�
�	$�	$�	$�	$�	$�	$�	$�8�	$�	$�
�	�	$�	�	�	�	�	�8�	�	�	�	�	�	�	�	�H�Q�K�	�	�	�	�	�	�	�	�	�	�	�	)�	)�	)�	)�	)�	)�	)�	)���U�	:�	:�E��B�
�K��E�
:�
:���\�\���e�n�\�M�M�:�:��)�)�%�%�'�'�5�9�9�9�:�:�:�:�:�:�:�:�:�:�:����:�:�:�:��
:��
�
�y�
)�
)�	#�	#��q�q�s�s�B�q�E�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
�
�y�
)�
)�	#�	#��q�q�s�s�B�q�E�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�
�
�
�y�
)�
)�	"�	"��q�q�s�s�D�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	#�	#��q�q�s�s�E�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#sZ�<E'�'E+�.E+�F9�9F=�F=�H	�	H
�H
�.I�I�I�8J�J"�%J"c	�l���Gd�d��}Gd�d���G�fd�d��}Gd�d|��}Gd	�d
|��}Gd�d��}td
���tGd�dt����}tGd�dt����}tGd�dt�����}tG�fd�dt�����}	||||	fD]�}
||||fD]Y}|�|j|
j���5|�|��|
��ddd��n#1swxYwY�Z|�d|
j���5|�|��|
��ddd��n#1swxYwY��Gd�dt��}Gd�dt��}
Gd�dt���}G�fd�dt���}|�|||	�|	|||
||fD]�}|||||fD]�}|�|j|���5|�t��5t|��|��ddd��n#1swxYwYddd��n#1swxYwY����dS) Nc�$�eZdZed���ZdS)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.Cc��dSr�rnr�s r`rxzRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.C.attr4s���rrbN�rkrlrm�propertyrxrnrbr`r=r�3s-������
�
�
��X�
�
�
rbr=c��eZdZdd�ZdS)�\ProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptorNc��dSr�rn)r[�obj�objtypes   r`�__get__zdProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptor.__get__9r�rbrf)rkrlrmr�rnrbr`�CustomDescriptorr�8s(������
�
�
�
�
�
rbr�c�$��eZdZ���ZdS)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.DN)rkrlrmrx)r�s�r`r@r�<s�������#�#�%�%�D�D�Drbr@c��eZdZdS)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.ENr~rnrbr`rwr�Ar�rbrwc��eZdZdS)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.FNr~rnrbr`rxr�Br�rbrxc��eZdZdS)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.EmptyNr~rnrbr`r�r�Dr�rbr�rc�$�eZdZed���ZdS)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.Pc��dSrfrnr�s r`rxzRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P.attrJ����CrbNr�rnrbr`r�r�H�#������
����X���rbr�c��eZdZUeed<dS)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P1rxNrfrnrbr`r�r�Ms��������I�I�I�I�Irbr�c�$�eZdZed���ZdS)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PGc��dSrfrnr�s r`rxzSProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG.attrSr�rbNr�rnrbr`r�r�Qr�rbr�c���eZdZU�ed<dS)�OProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG1rxN�rkrlrmr��rs�r`�PG1r�Vs���������G�G�G�G�Grbr�)r��protocol_classc�$�eZdZed���ZdS)�PProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPc��dSrfrnr�s r`rxzUProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP.attrfr�rbNr�rnrbr`rr�e�#������
����X���rbrc��eZdZUeed<dS)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP1rxNrfrnrbr`�BadP1r�i���������I�I�I�I�Irbr�c�$�eZdZed���ZdS)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPGc��dSrfrnr�s r`rxzVProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG.attrmr�rbNr�rnrbr`r"r�lr�rbr"c���eZdZU�ed<dS)�RProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG1rxNr�r�s�r`�BadPG1r�ps���������G�G�G�G�Grbr�)r�r�)
rr+r(rxrkr�r�r�r�r�)r[r=r@rwrxr�r�r�r�r�r�r�rr�r"r�r�r�rs                 @@r`�4test_protocols_isinstance_properties_and_descriptorszBProtocolTests.test_protocols_isinstance_properties_and_descriptors2s:����	�	�	�	�	�	�	�	�
	�	�	�	�	�	�	�	�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�
	���������������������������C�L�L��	�	 �	 �	 �	 �	 ��	 �	 �
�	�	 �
�	�	�	�	�	��	�	�
�	�	�
�	 �	 �	 �	 �	 ��!��	 �	 �
�	�	 �
�	�	�	�	�	�	�	�(�1�+�	�	�
�	�	� ��R��n�		B�		B�N��A�q�!��
C�
C���\�\��.�#1�#:�"���C�C��)�)�%�%�'�'�>�B�B�B�	C�C�C�C�C�C�C�C�C�C�C����C�C�C�C�����G�N�<S��T�T�
B�
B��(�(�����.�A�A�A�
B�
B�
B�
B�
B�
B�
B�
B�
B�
B�
B����
B�
B�
B�
B��	 �	 �	 �	 �	 �8�	 �	 �	 �	�	�	�	�	�H�	�	�	�	 �	 �	 �	 �	 �H�Q�K�	 �	 �	 �	�	�	�	�	�	�	�X�a�[�	�	�	��a�5�"�Q�%��Q���Q���u�e�V�K�	1�	1�C��A�q�!�U�*�
1�
1���\�\���C�\�@�@�1�1��*�*�9�5�5�1�1�"�5�5�7�7�C�0�0�0�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1��
1�	1�	1sZ�#E�E�E�6F!�!F%	�(F%	�J'�+J	�J'�J
�J'�J
�J'�'J+�.J+c���tGd�dt����}Gd�d��}Gd�d��}|�|��|��|�|��|��dS)Nc��eZdZUeed<dS)�NProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.HasXr�Nrfrnrbr`�HasXr�z���������F�F�F�F�Frbr�c��eZdZdZd�ZdS)�XProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithX�
c��gSrfrnr�s r`�__dir__z`ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithX.__dir__�����	rbN)rkrlrmr�r�rnrbr`�CustomDirWithXr�~s(�������A�
�
�
�
�
rbr�c��eZdZd�ZdS)�[ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutXc��dgS)Nr�rnr�s r`r�zcProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutX.__dir__�s	���u�rbN)rkrlrmr�rnrbr`�CustomDirWithoutXr���#������
�
�
�
�
rbr�)r+r(r�r�)r[r�r�r�s    r`�2test_protocols_isinstance_not_fooled_by_custom_dirz@ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dirys���	�	�	�	�	�	�8�	�	�
�	�	�	�	�	�	�	�	�	�	�
	�	�	�	�	�	�	�	�	
���n�n�.�.��5�5�5�� � �!2�!2�!4�!4�d�;�;�;�;�;rbc�8�Gd�d��}Gd�d��}Gd�d��}Gd�d��}|�|d	d
d��t��|�|d	d
��t��|�t��t��|�|d	d
��t��|�t��t��|�t��t��|�|d��t��|�|��t��|�|��t��|�|��t��|�|��t��|�t��t��|�td	d
��t��dS)
Nc��eZdZd�ZdS)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.APointc�0�||_||_||_dSrf�r�r�rj)r[r�r�rjs    r`r�zEProtocolTests.test_protocols_isinstance_py36.<locals>.APoint.__init__�s��������"��
�
�
rbNr�rnrbr`�APointr��s#������
#�
#�
#�
#�
#rbr�c��eZdZdZd�ZdS)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.BPointr�c�"�||_||_dSrf�r�r�r_s   r`r�zEProtocolTests.test_protocols_isinstance_py36.<locals>.BPoint.__init__�s���������rbN)rkrlrmrjr�rnrbr`�BPointr��s(�������E�
�
�
�
�
rbr�c��eZdZd�Zd�ZdS)�7ProtocolTests.test_protocols_isinstance_py36.<locals>.Cc��||_dSrf�rx�r[rxs  r`r�z@ProtocolTests.test_protocols_isinstance_py36.<locals>.C.__init__��
�� ��	�	�	rbc��dSrLrnrzs  r`r{z<ProtocolTests.test_protocols_isinstance_py36.<locals>.C.meth�����qrbN)rkrlrmr�r{rnrbr`r=r��s2������
!�
!�
!�
�
�
�
�
rbr=c��eZdZdS)�9ProtocolTests.test_protocols_isinstance_py36.<locals>.BadNr~rnrbr`�Badr��r�rbr�rqr�r�r�)	r�rir�rmrurrwr}r�)r[r�r�r=r�s     r`�test_protocols_isinstance_py36z,ProtocolTests.test_protocols_isinstance_py36�s��	#�	#�	#�	#�	#�	#�	#�	#�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�����������f�f�Q��3�/�/��7�7�7����f�f�Q��l�l�E�2�2�2�� � ����E�2�2�2����f�f�Q��l�l�H�5�5�5����e�g�g�u�-�-�-����h�j�j�%�0�0�0����a�a��e�e�U�+�+�+�� � ������.�.�.�� � ������.�.�.�� � ������1�1�1�� � ������1�1�1�� � ����(�3�3�3����b��A�h�h��1�1�1�1�1rbc�F�td��}tGd�dt����}tGd�dt|����}Gd�d��}|�|d��|��|�|d��|��dS)	Nrc��eZdZdZdS)�7ProtocolTests.test_protocols_isinstance_init.<locals>.PrqNrrnrbr`r�r��rrrbr�c��eZdZdZdS)�8ProtocolTests.test_protocols_isinstance_init.<locals>.PGrqNrrnrbr`r�r��rrrbr�c��eZdZd�ZdS)�7ProtocolTests.test_protocols_isinstance_init.<locals>.Cc��||_dSrfr�r�s  r`r�z@ProtocolTests.test_protocols_isinstance_init.<locals>.C.__init__�r�rbNr�rnrbr`r=r�r�rbr=rq)rr+r(r�)r[rr�r�r=s     r`�test_protocols_isinstance_initz,ProtocolTests.test_protocols_isinstance_init�s����C�L�L��	�	�	�	�	�	��	�	�
�	�	�
�	�	�	�	�	��!��	�	�
�	�	�	�	�	�	�	�	�	�	�	
���a�a��d�d�A�&�&�&����a�a��d�d�B�'�'�'�'�'rbc�
�tGd�dt����}Gd�d��}|��}|�||��d|_|�||��|`|�||��dS)Nc��eZdZUeed<dS)�DProtocolTests.test_protocols_isinstance_monkeypatching.<locals>.HasXr�Nrfrnrbr`r�r�r�rbr�c��eZdZdS)�CProtocolTests.test_protocols_isinstance_monkeypatching.<locals>.FooNr~rnrbr`r�r�r�rbr�r�)r+r(r�r�r�)r[r�r�ris    r`�(test_protocols_isinstance_monkeypatchingz6ProtocolTests.test_protocols_isinstance_monkeypatching�s���	�	�	�	�	�	�8�	�	�
�	�	�	���������C�E�E��� � ��D�)�)�)�������a��&�&�&�
�C�� � ��D�)�)�)�)�)rbc��Gd�dtt��}Gd�d|t��}Gd�d��}Gd�d��}|t}|�|��|��|�||��Gd	�d
|t��}Gd�d|t��}|t
}|�|��|��|�||��dS)
Nc��eZdZdS)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.PNr~rnrbr`r�r�r�rbr�c��eZdZdS)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.CNr~rnrbr`r=r�r�rbr=c��eZdZdS)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other1Nr~rnrbr`�Other1r�r�rbrc��eZdZdS)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other2Nr~rnrbr`�Other2r�r�rbrc��eZdZdS)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D1Nr~rnrbr`�D1r�r�rbrc��eZdZdS)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D2Nr~rnrbr`�D2r�r�rbr)r(rrr�rdr�r�ra)	r[r�r=rr�CArr�CIs	         r`�$test_protocol_checks_after_subscriptz2ProtocolTests.test_protocol_checks_after_subscript�s&��"�"�"�"�"����"�"�"�������!���������������������
�s�V��� � �����1�-�-�-�� � ���+�+�+�������3�����������3�����
�s�V�����b�b�d�d�A�&�&�&����b�!�$�$�$�$�$rbc�n�tGd�dt����}Gd�dt��}Gd�d|��}Gd�d��}|�|��|�|��|�|��|��|�|��|��dS)	Nc��eZdZdZdS)�8ProtocolTests.test_protocols_support_register.<locals>.PrqNrrnrbr`r�r �rrrbr�c��eZdZd�ZdS)�9ProtocolTests.test_protocols_support_register.<locals>.PMc��dSrfrnr�s r`r{z>ProtocolTests.test_protocols_support_register.<locals>.PM.meth�r�rbNr�rnrbr`�PMr"�rVrbr$c��eZdZdS)�8ProtocolTests.test_protocols_support_register.<locals>.DNr~rnrbr`r@r&�r�rbr@c��eZdZdS)�8ProtocolTests.test_protocols_support_register.<locals>.CNr~rnrbr`r=r(�r�rbr=)r+r(rur�)r[r�r$r@r=s     r`�test_protocols_support_registerz-ProtocolTests.test_protocols_support_register�s���	�	�	�	�	�	��	�	�
�	�	�	!�	!�	!�	!�	!��	!�	!�	!�	����������
�
�
�
�
�
�
�	�
�
�1�
�
�
�	�
�
�1�
�
�
����a�a�c�c�1�%�%�%����a�a�c�c�1�%�%�%�%�%rbc��tGd�dt����}Gd�d��}Gd�d|��}Gd�d��}|�|��|��|�|��|��dS)	Nc��eZdZdZdS)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.PrqNrrnrbr`r�r,�rrrbr�c��eZdZdZdS)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.ArqNrrnrbr`r�r.�rnrbr�c��eZdZdZdS)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.BNrrnrbr`r�r0���������A�A�Arbr�c��eZdZd�ZdS)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.Cc��d|_dSrfr�r�s r`r�zWProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.C.__init__��
������rbNr�rnrbr`r=r3��#������
�
�
�
�
rbr=)r+r(r��r[r�r�r�r=s     r`�5test_none_on_non_callable_doesnt_block_implementationzCProtocolTests.test_none_on_non_callable_doesnt_block_implementation�s���	�	�	�	�	�	��	�	�
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	�	
���a�a�c�c�1�%�%�%����a�a�c�c�1�%�%�%�%�%rbc��tGd�dt����}Gd�d��}Gd�d|��}Gd�d��}|�|��|��|�|��|��dS)	Nc��eZdZd�ZdS)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Pc��dSrfrnr�s r`r�zFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.P.xr�rbNrrnrbr`r�r;rrbr�c��eZdZd�ZdS)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Ac��dSrfrnr�s r`r�zFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.A.x	r�rbNrrnrbr`r�r>rrbr�c��eZdZdZdS)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.BNrrnrbr`r�rAr1rbr�c��eZdZd�ZdS)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Cc��d|_dSrfr�r�s r`r�zMProtocolTests.test_none_on_callable_blocks_implementation.<locals>.C.__init__r5rbNr�rnrbr`r=rCr6rbr=)r+r(r�r7s     r`�+test_none_on_callable_blocks_implementationz9ProtocolTests.test_none_on_callable_blocks_implementations���	�	�	�	�	�	��	�	�
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	�	
� � �����a�(�(�(�� � �����a�(�(�(�(�(rbc��Gd�dt��}tGd�dt����}Gd�d|��}Gd�d|��}Gd	�d
��}Gd�d��}|�|��|��|�|��|��|�||��|�||��|�|��|��|�||��dS)
Nc��eZdZdZdS)�5ProtocolTests.test_non_protocol_subclasses.<locals>.PrqNrrnrbr`r�rHrnrbr�c��eZdZd�ZdS)�6ProtocolTests.test_non_protocol_subclasses.<locals>.PRc��dSrfrnr�s r`r{z;ProtocolTests.test_non_protocol_subclasses.<locals>.PR.methr�rbNr�rnrbr`�PRrJ������� � � � � rbrLc��eZdZdZdS)�8ProtocolTests.test_non_protocol_subclasses.<locals>.NonPrqNrrnrbr`�NonPrOrnrbrPc��eZdZdS)�9ProtocolTests.test_non_protocol_subclasses.<locals>.NonPRNr~rnrbr`�NonPRrR r�rbrSc��eZdZdZdS)�5ProtocolTests.test_non_protocol_subclasses.<locals>.CrqNrrnrbr`r=rU"rnrbr=c��eZdZd�ZdS)�5ProtocolTests.test_non_protocol_subclasses.<locals>.Dc��dSrfrnr�s r`r{z:ProtocolTests.test_non_protocol_subclasses.<locals>.D.meth&r�rbNr�rnrbr`r@rW%rVrbr@r�)r[r�rLrPrSr=r@s       r`�test_non_protocol_subclassesz*ProtocolTests.test_non_protocol_subclassess���	�	�	�	�	��	�	�	�
�	!�	!�	!�	!�	!��	!�	!�
�	�	!�	�	�	�	�	�1�	�	�	�	�����B����	�	�	�	�	�	�	�	�	!�	!�	!�	!�	!�	!�	!�	!�	
� � �����d�+�+�+�� � �����e�,�,�,�� � ��D�)�)�)�� � ��E�*�*�*����e�e�g�g�r�*�*�*����e�R�(�(�(�(�(rbc�L�Gd�dt��}Gd�d��}Gd�d��}Gd�d|��}|�|��|��|�|��|��|�||��|�||��dS)	Nc��eZdZdZdS)�1ProtocolTests.test_custom_subclasshook.<locals>.PrqNrrnrbr`r�r\0rnrbr�c��eZdZdS)�7ProtocolTests.test_custom_subclasshook.<locals>.OKClassNr~rnrbr`�OKClassr^3r�rbr_c��eZdZdZdS)�8ProtocolTests.test_custom_subclasshook.<locals>.BadClassrqNrrnrbr`�BadClassra5rnrbrbc�$�eZdZed���ZdS)�1ProtocolTests.test_custom_subclasshook.<locals>.Cc�6�|j�d��S�N�OK)rk�
startswith�r\�others  r`�__subclasshook__zBProtocolTests.test_custom_subclasshook.<locals>.C.__subclasshook__9s���~�0�0��6�6�6rbN�rkrlrm�classmethodrkrnrbr`r=rd8s-������
�
7�
7��[�
7�
7�
7rbr=)r(r�r�rard)r[r�r_rbr=s     r`�test_custom_subclasshookz&ProtocolTests.test_custom_subclasshook/s��	�	�	�	�	��	�	�	�	��������	�	�	�	�	�	�	�	�	7�	7�	7�	7�	7��	7�	7�	7�
	
���g�g�i�i��+�+�+�� � �����Q�/�/�/����g�q�)�)�)�� � ��1�-�-�-�-�-rbc��tGd�dt����}Gd�d��}|�t��5t	|��|��ddd��dS#1swxYwYdS)Nc��eZdZdZdS)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.PrqNrrnrbr`r�rqCrrrbr�c��eZdZdS)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.CNr~rnrbr`r=rsGr�rbr=)r+r(r�r�rX�r[r�r=s   r`�test_issubclass_fails_correctlyz-ProtocolTests.test_issubclass_fails_correctlyBs���	�	�	�	�	�	��	�	�
�	�	�	�
�
�
�
�
�
�
�
�
�
�y�
)�
)�	�	��q�q�s�s�A����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A.�.A2�5A2c�r�td��}td��}tGd�dt||f����}Gd�d|t|ft|��}|�t
��5|tddd��n#1swxYwY|�t
��5|ttfddd��n#1swxYwYGd�d|t|f��}|�|t��|��dS)	Nr�Sc��eZdZd�ZdS)�9ProtocolTests.test_defining_generic_protocols.<locals>.PRc��dSrfrnr�s r`r{z>ProtocolTests.test_defining_generic_protocols.<locals>.PR.methRr�rbNr�rnrbr`rLryPrMrbrLc��eZdZdZdS)�8ProtocolTests.test_defining_generic_protocols.<locals>.PrqN�rkrlrmr�rnrbr`r�r|Trnrbr�c��eZdZdS)�8ProtocolTests.test_defining_generic_protocols.<locals>.CNr~rnrbr`r=r\r�rbr=)rr+r(r�r�r�r|r�)r[rrwrLr�r=s      r`�test_defining_generic_protocolsz-ProtocolTests.test_defining_generic_protocolsLs����C�L�L���C�L�L��	�	!�	!�	!�	!�	!��!�Q�$��	!�	!�
�	�	!�	�	�	�	�	��3��6�
�H�Q�K�	�	�	��
�
�y�
)�
)�	�	��s�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	�
�c�3�h�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	"�!�!�!�!��3��6�
�!�!�!����f�a��f�h�h��*�*�*�*�*s$�B"�"B&�)B&�C(�(C,�/C,c	�p��td���td��}tGd�dtt�|f����}Gd�d|tt
ft��}|�t��5t|tt
f|��ddd��n#1swxYwY|�	||��|�t��5|tddd��n#1swxYwYG�fd�dtt���}G�fd	�d
t�t��}tGd�d|t
t����}Gd
�d��}|�
|��|��dS)Nrrwc��eZdZd�ZdS)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.PRc��dSrfrnr�s r`r{zHProtocolTests.test_defining_generic_protocols_old_style.<locals>.PR.methfr�rbNr�rnrbr`rLr�drMrbrLc��eZdZdZdS)�BProtocolTests.test_defining_generic_protocols_old_style.<locals>.PrqNr}rnrbr`r�r�hrnrbr�c� ��eZdZd�defd�ZdS)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1r�r�c��dSrfrnr�s  r`r)zGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1.barrr�rbN�rkrlrmr|r)r�s�r`r�r�q�'�������+�Q�+�3�+�+�+�+�+�+rbr�c� ��eZdZd�defd�ZdS)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2r�r�c��dSrfrnr�s  r`r)zGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2.barur�rbNr�r�s�r`rr�tr�rbrc��eZdZdZdS)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.PSubrqNrrnrbr`�PSubr�wrrrbr�c�"�eZdZdZdedefd�ZdS)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.Testrqr�r�c��|Srfrnr�s  r`r)zIProtocolTests.test_defining_generic_protocols_old_style.<locals>.Test.bar~s���rbN)rkrlrmr�r|r)rnrbr`�Testr�{s;�������A�
�S�
�S�
�
�
�
�
�
rbr�)rr+r(r$r�r|r�r�rXrar�)	r[rwrLr�r�rr�r�rs	        @r`�)test_defining_generic_protocols_old_stylez7ProtocolTests.test_defining_generic_protocols_old_style`s�����C�L�L���C�L�L��	�	!�	!�	!�	!�	!��7�1�a�4�=�	!�	!�
�	�	!�	�	�	�	�	��3��8��h�	�	�	��
�
�y�
)�
)�	)�	)��r�#�s�(�|�R�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)����a��$�$�$�
�
�
�y�
)�
)�	�	��s�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	,�	,�	,�	,�	,�	,�	,��7�1�:�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����X�	,�	,�	,�
�	�	�	�	�	�2�c�7�H�	�	�
�	�	�	�	�	�	�	�	�	�	�	
���d�d�f�f�d�+�+�+�+�+s$�#B=�=C�C�8D�D�Dc��td��}Gd�dt|��}Gd�d||��}|�|t��jd��Gd�d��}Gd	�d
|||��}|�|t��jd��Gd�d|||��}|�|t��jd��dS)
Nrc��eZdZdS)�)ProtocolTests.test_init_called.<locals>.PNr~rnrbr`r�r��r�rbr�c��eZdZd�ZdS)�)ProtocolTests.test_init_called.<locals>.Cc��d|_dSrf��testr�s r`r�z2ProtocolTests.test_init_called.<locals>.C.__init__�r�rbNr�rnrbr`r=r���#������
!�
!�
!�
!�
!rbr=rgc��eZdZd�ZdS)�)ProtocolTests.test_init_called.<locals>.Bc��d|_dSrfr�r�s r`r�z2ProtocolTests.test_init_called.<locals>.B.__init__�r�rbNr�rnrbr`r�r��r�rbr�c��eZdZdS)�*ProtocolTests.test_init_called.<locals>.D1Nr~rnrbr`rr��r�rbrc��eZdZdS)�*ProtocolTests.test_init_called.<locals>.D2Nr~rnrbr`rr��r�rbr)rr(r�r�r�)r[rr�r=r�rrs       r`�test_init_calledzProtocolTests.test_init_called�sS���C�L�L��"�"�"�"�"����"�"�"�	!�	!�	!�	!�	!��!��	!�	!�	!�	
�����3������-�-�-�	!�	!�	!�	!�	!�	!�	!�	!�	�	�	�	�	��A�a�D�	�	�	�	
�����C������.�.�.�	�	�	�	�	��1��q�	�	�	�	
�����C������.�.�.�.�.rbc��td��}Gd�dt|��}Gd�d||��}|�|t��jd��|�t��5|td��ddd��n#1swxYwY|�t��5|td���ddd��dS#1swxYwYdS)	Nrc��eZdZdS)�(ProtocolTests.test_new_called.<locals>.PNr~rnrbr`r�r��r�rbr�c���eZdZ�fd�Z�xZS)�(ProtocolTests.test_new_called.<locals>.Cc�J��t��j|g|�R�}d|_|Srf)r��__new__r�)r\r�r[r�s   �r`r�z0ProtocolTests.test_new_called.<locals>.C.__new__�s,���&�u�w�w��s�2�T�2�2�2�� ��	��rb�rkrlrmr�r�r�s@r`r=r��s8�������
�
�
�
�
�
�
�
�
rbr=rgr�r�)rr(r�r�r�r�r�)r[rr�r=s    r`�test_new_calledzProtocolTests.test_new_called�s����C�L�L��"�"�"�"�"����"�"�"�	�	�	�	�	��!��	�	�	�	
�����3������-�-�-�
�
�
�y�
)�
)�	�	��A�c�F�2�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��A�c�F�R�L�L�L�L�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�B(�(B,�/B,�
C2�2C6�9C6c���td��}td��}|�t��5Gd�dt||f��}ddd��n#1swxYwY|�t��5Gd�dtt��}ddd��n#1swxYwY|�t��5Gd�dt|t|��}ddd��n#1swxYwY|�t��5Gd	�dt
j||ft|��}ddd��dS#1swxYwYdS)
Nrrwc��eZdZdS)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.PNr~rnrbr`r�r��r�rbr�c��eZdZdS)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.QNr~rnrbr`r�r��r�rbr�c��eZdZdS)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.RNr~rnrbr`r�r��r�rbr�c��eZdZdS)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.SNr~rnrbr`rwr��r�rb)rr�r�r(r�rOr�)r[rrwr�r�r�s      r`�test_protocols_bad_subscriptsz+ProtocolTests.test_protocols_bad_subscripts�sZ���C�L�L���C�L�L��
�
�
�y�
)�
)�	*�	*�)�)�)�)�)�H�Q��T�N�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�
�
�
�y�
)�
)�	)�	)�(�(�(�(�(�H�S�M�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
�
�
�y�
)�
)�	4�	4�3�3�3�3�3�H�Q�K��!��3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�
�
�
�y�
)�
)�	=�	=�<�<�<�<�<�F�N�1�a�4�(�(�1�+�<�<�<�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=sG�A!�!A%�(A%�B1�1B5�8B5�&D�D�D�--E'�'E+�.E+c��td��}td��}Gd�dt||f��}|�t|||f���d����|�t|t
tf���d����dS)Nrrwc��eZdZdS)�4ProtocolTests.test_generic_protocols_repr.<locals>.PNr~rnrbr`r�r��r�rbr�z	P[~T, ~S]zP[int, str])rr(r�r�rTr�r|�r[rrwr�s    r`�test_generic_protocols_reprz)ProtocolTests.test_generic_protocols_repr�s����C�L�L���C�L�L��%�%�%�%�%���A���%�%�%�����Q�q�!�t�W�
�
�.�.�{�;�;�<�<�<�����Q�s�C�x�[�)�)�2�2�=�A�A�B�B�B�B�Brbc��td��}td��}Gd�dt||f��}|�||��|�|t|f|t|f��|�|||ft||ftt
f|ttt
fttt
ff��dS)Nrrwc��eZdZdS)�2ProtocolTests.test_generic_protocols_eq.<locals>.PNr~rnrbr`r�r��r�rbr�)rr(r�r�rr|r�s    r`�test_generic_protocols_eqz'ProtocolTests.test_generic_protocols_eq�s����C�L�L���C�L�L��%�%�%�%�%���A���%�%�%�����A��������3��6��A�c�1�f�I�.�.�.�����1�a�4���q�!�t��-�c�3�h�7��5��c��?�E�#�s�(�O�;�<�	>�	>�	>�	>�	>rbc�~�td��}Gd�dt|��}|�|j|f��|�|tjd��|�|tjtf��|�|tj|��dS)Nrc��eZdZdS)�DProtocolTests.test_generic_protocols_special_from_generic.<locals>.PNr~rnrbr`r�r��r�rbr�rn)rr(r�r�r�r�r�r�)r[rr�s   r`�+test_generic_protocols_special_from_genericz9ProtocolTests.test_generic_protocols_special_from_generic�s����C�L�L��"�"�"�"�"����"�"�"�����)�A�4�0�0�0�����3��.��3�3�3�����3���3�&�1�1�1��
�
�a��f�'��+�+�+�+�+rbc�6�tGd�dt����}Gd�dt��}td��}Gd�dt|��}|�|j��|�|j��|�|j��|�|j��|�|j��|�|tj��|�tj
|��dh��|�tj
|��d	h��|�ttj
|����td	dh����dS)
Nc��eZdZdZdS)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PRrqNrrnrbr`rLr��rrrbrLc��eZdZd�ZdS)�EProtocolTests.test_generic_protocols_special_from_protocol.<locals>.Pc��dSrfrnr�s r`r{zJProtocolTests.test_generic_protocols_special_from_protocol.<locals>.P.meth�r�rbNr�rnrbr`r�r��r�rbr�rc��eZdZdZd�ZdS)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PGrqc��dSrfrnr�s r`r{zKProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PG.meth�r�rbN)rkrlrmr�r{rnrbr`r�r��s(�������A�
�
�
�
�
rbr�r{r�)r+r(rr��_is_protocolr��_is_runtime_protocolr�r�rO�_get_protocol_attrs�	frozenset)r[rLr�rr�s     r`�,test_generic_protocols_special_from_protocolz:ProtocolTests.test_generic_protocols_special_from_protocol�s���	�	�	�	�	�	��	�	�
�	�	�	�	�	�	�	��	�	�	�
�C�L�L��	�	�	�	�	��!��	�	�	�	
�����'�'�'������(�(�(������(�(�(�����/�0�0�0�����/�0�0�0�����3��,�-�-�-�����3�A�6�6���A�A�A�����3�B�7�7�#��?�?�?�����6�#=�b�#A�#A�B�B�"�C��=�1�1�	3�	3�	3�	3�	3rbc�`�|�t��5tGd�d����}ddd��n#1swxYwYGd�dt��}|�t��5tGd�d|����}ddd��dS#1swxYwYdS)Nc��eZdZdS)�8ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.CNr~rnrbr`r=r��s�������Trbr=c��eZdZdZdS)�<ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ProtorqNrrnrbr`rwr��rnrbrwc��eZdZdS)�?ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ConcreteNr~rnrbr`r}r��s�������rbr})r�r�r+r()r[r=rwr}s    r`�test_no_runtime_deco_on_nominalz-ProtocolTests.test_no_runtime_deco_on_nominal�sa��
�
�
�y�
)�
)�	�	�
��M�M�M�M�M�M��
��	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�H�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�
�5�
�
��
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A�	A�:B#�#B'�*B'c��tGd�dt����}Gd�dt��}|�|��|��Gd�d��}Gd�d��}|�|��|��|�|��|��Gd	�d
��}Gd�d��}|�|��|��|�|��|��dS)
Nc��eZdZdZdS)�4ProtocolTests.test_none_treated_correctly.<locals>.PNrrnrbr`r�r�
s�������A�A�Arbr�c��eZdZdS)�4ProtocolTests.test_none_treated_correctly.<locals>.BNr~rnrbr`r�r�
r�rbr�c��eZdZdZdS)�4ProtocolTests.test_none_treated_correctly.<locals>.CrqNrrnrbr`r=r�	
rnrbr=c��eZdZdZdS)�4ProtocolTests.test_none_treated_correctly.<locals>.DNrrnrbr`r@r�
r1rbr@c��eZdZd�ZdS)�5ProtocolTests.test_none_treated_correctly.<locals>.CIc��d|_dSrFr�r�s r`r�z>ProtocolTests.test_none_treated_correctly.<locals>.CI.__init__
r�rbNr�rnrbr`rr�
r�rbrc��eZdZd�ZdS)�5ProtocolTests.test_none_treated_correctly.<locals>.DIc��d|_dSrfr�r�s r`r�z>ProtocolTests.test_none_treated_correctly.<locals>.DI.__init__
r5rbNr�rnrbr`�DIr�
r6rbr�)r+r(rTr�r�)r[r�r�r=r@rr�s       r`�test_none_treated_correctlyz)ProtocolTests.test_none_treated_correctly
s���	�	�	�	�	�	��	�	�
�	�	�	���������� � �����a�(�(�(�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
���a�a�c�c�1�%�%�%����a�a�c�c�1�%�%�%�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
���b�b�d�d�A�&�&�&����b�b�d�d�A�&�&�&�&�&rbc���Gd�dt��}tjtj|f}tj|tjf}|�||��dS)Nc��eZdZdZdS)�1ProtocolTests.test_protocols_in_unions.<locals>.PNrrnrbr`r�r�
r1rbr�)r(rOrr�r�)r[r��Alias�Alias2s    r`�test_protocols_in_unionsz&ProtocolTests.test_protocols_in_unions
sp��	�	�	�	�	��	�	�	���V�_�a�/�0����a���0�1�������'�'�'�'�'rbc��td��}tGd�dt|����aGd�dtt��at��}d|_d|_ttj
dz��D]�}tj||��}tj|��}|�
|jd��|�
|jd��|�
|jd��|�
|jddd	���tjt|��}tj|��}Gd
�d��}|�|��|����dS)Nrc��eZdZdZdS)r�rqNrrnrbr`r�r�)
rrrbr�c��eZdZdS)�CPNr~rnrbr`r�r�-
r�rbr�r�r�rqr&c��eZdZdZdS)�2ProtocolTests.test_protocols_pickleable.<locals>.ErqNrrnrbr`rwr�=
s���������rbrw)rr+r(r�r�r�r�r)rurvrwr>r=r�r��__dict__r�)	r[rr�rtrr�r�r@rws	         r`�test_protocols_pickleablez'ProtocolTests.test_protocols_pickleable%
s����C�L�L��	�	�	�	�	�	����	�	�
�	�	�	�	�	�	�	��3��	�	�	�
�D�D���������6�2�Q�6�7�7�
	*�
	*�E���Q��&�&�A���Q���A����Q�U�B�'�'�'����Q�U�E�*�*�*����Q�S�!�$�$�$����Q�Z��E�)B�)B�C�C�C���Q��&�&�A���Q���A�
�
�
�
�
�
�
�
�
�!�!�!�!�#�#�q�)�)�)�)�
	*�
	*rbc��|�ttj��|�t
tj��dSrf)rar�rO�SupportsIntrdr|r�s r`�test_supports_intzProtocolTests.test_supports_intB
s:�����c�6�#5�6�6�6�� � ��f�&8�9�9�9�9�9rbc��|�ttj��|�t
tj��dSrf)rar�rO�
SupportsFloatrdr|r�s r`�test_supports_floatz!ProtocolTests.test_supports_floatF
s:�����e�V�%9�:�:�:�� � ��f�&:�;�;�;�;�;rbc���Gd�d��}|�ttj��|�|tj��|�t
tj��dS)Nc��eZdZd�ZdS)�.ProtocolTests.test_supports_complex.<locals>.Cc��dS)Nyrnr�s r`�__complex__z:ProtocolTests.test_supports_complex.<locals>.C.__complex__M
r�rbN)rkrlrmrrnrbr`r=rL
s#������
�
�
�
�
rbr=)ra�complexrO�SupportsComplexrdr|r�s  r`�test_supports_complexz#ProtocolTests.test_supports_complexJ
s}��	�	�	�	�	�	�	�	�	
���g�v�'=�>�>�>����a��!7�8�8�8�� � ��f�&<�=�=�=�=�=rbc���Gd�d��}|�ttj��|�|tj��|�t
tj��dS)Nc��eZdZd�ZdS)�,ProtocolTests.test_supports_bytes.<locals>.Bc��dS�Nrbrnr�s r`�	__bytes__z6ProtocolTests.test_supports_bytes.<locals>.B.__bytes__W
s���srbN)rkrlrmrrnrbr`r�r
V
r�rbr�)rar�rO�
SupportsBytesrdr|)r[r�s  r`�test_supports_bytesz!ProtocolTests.test_supports_bytesT
s}��	�	�	�	�	�	�	�	�	
���e�V�%9�:�:�:����a��!5�6�6�6�� � ��f�&:�;�;�;�;�;rbc���|�ttj��|�ttj��|�ttj��dSrf)rar�rO�SupportsAbsr�rdr|r�s r`�test_supports_abszProtocolTests.test_supports_abs^
sS�����e�V�%7�8�8�8����c�6�#5�6�6�6�� � ��f�&8�9�9�9�9�9rbc�"�tttj��|�ttj��|�t
tj��|�ttj��dSrf)rXr�rO�
SupportsRoundrar�rdr|r�s r`�test_supports_roundz!ProtocolTests.test_supports_roundc
sf���5�&�.�/�/�/����e�V�%9�:�:�:����c�6�#7�8�8�8�� � ��f�&:�;�;�;�;�;rbc��|�ttj��|�t
tj��dSrf)rar�rO�
Reversiblerdr�r�s r`�test_reversiblezProtocolTests.test_reversiblei
s:�����d�F�$5�6�6�6�� � ��f�&7�8�8�8�8�8rbc��|�ttj��|�t
tj��dSrf)rar�rO�
SupportsIndexrdr|r�s r`�test_supports_indexz!ProtocolTests.test_supports_indexm
s:�����c�6�#7�8�8�8�� � ��f�&:�;�;�;�;�;rbc���|�dtj��Gd�dtj��}Gd�d|��}|��}|�||��dS)Nrc��eZdZdefd�ZdS)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C1r�c��dSr�rnr�s r`�__int__zFProtocolTests.test_bundled_protocol_instance_works.<locals>.C1.__int__t
r�rbN)rkrlrmr�r#rnrbr`r�r!s
s/������
��
�
�
�
�
�
rbr�c��eZdZdS)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C2Nr~rnrbr`r�r%v
r�rbr�)r�rOrr�)r[r�r�r�s    r`�$test_bundled_protocol_instance_worksz2ProtocolTests.test_bundled_protocol_instance_worksq
s������a��!3�4�4�4�	�	�	�	�	��#�	�	�	�	�	�	�	�	��	�	�	��B�D�D�����a��$�$�$�$�$rbc���tGd�dtjjt����}Gd�d��}Gd�d��}|�||��|�||��dS)Nc��eZdZd�ZdS)�@ProtocolTests.test_collections_protocols_allowed.<locals>.Customc��dSrfrnr�s r`�closezFProtocolTests.test_collections_protocols_allowed.<locals>.Custom.close~
r�rbN)rkrlrmr+rnrbr`�Customr)|
rMrbr,c��eZdZdS)�;ProtocolTests.test_collections_protocols_allowed.<locals>.ANr~rnrbr`r�r.�
r�rbr�c��eZdZd�Zd�ZdS)�;ProtocolTests.test_collections_protocols_allowed.<locals>.Bc��gSrfrnr�s r`�__iter__zDProtocolTests.test_collections_protocols_allowed.<locals>.B.__iter__�
r�rbc��dSrLrnr�s r`r+zAProtocolTests.test_collections_protocols_allowed.<locals>.B.close�
r�rbN)rkrlrmr2r+rnrbr`r�r0�
s2������
�
�
�
�
�
�
�
rbr�)r+r�r�r�r(rard)r[r,r�r�s    r`�"test_collections_protocols_allowedz0ProtocolTests.test_collections_protocols_allowed{
s���	�	!�	!�	!�	!�	!�[�_�-�x�	!�	!�
�	�	!�	�
�
�
�
�
�
�
�	�	�	�	�	�	�	�	�	
���a��(�(�(�� � ��F�+�+�+�+�+rbc���|�t��5Gd�dtt��}ddd��n#1swxYwYGd�dtjt��}dS)Nc��eZdZdS)�EProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomProtocolNr~rnrbr`�CustomProtocolr7�
r�rbr8c��eZdZdS)�KProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomContextManagerNr~rnrbr`�CustomContextManagerr:�
r�rbr;)r�r�rr(rO�ContextManager)r[r8r;s   r`�test_builtin_protocol_allowlistz-ProtocolTests.test_builtin_protocol_allowlist�
s���
�
�
�y�
)�
)�	�	�
�
�
�
�
��8�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�6�#8�(�	�	�	�	�	s�A�A�Ac��Gd�dt��}|�td��5td|��ddd��dS#1swxYwYdS)Nc��eZdZUeed<dS)�CProtocolTests.test_non_runtime_protocol_isinstance_check.<locals>.Pr�Nrfrnrbr`r�r@�
���������F�F�F�F�Frbr�z@runtime_checkablerq)r(rr�r��r[r�s  r`�*test_non_runtime_protocol_isinstance_checkz8ProtocolTests.test_non_runtime_protocol_isinstance_check�
s���	�	�	�	�	��	�	�	��
#�
#�I�/C�
D�
D�	�	��q�!����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��A
�
A�Ac�\�Gd�dt��}Gd�d|��}|��dS)Nc��eZdZUeed<dS)�-ProtocolTests.test_super_call_init.<locals>.Pr�Nrfrnrbr`r�rG�
rArbr�c���eZdZ�fd�Z�xZS)�/ProtocolTests.test_super_call_init.<locals>.Fooc�H��t�����dSrf)r�r�)r[r�s �r`r�z8ProtocolTests.test_super_call_init.<locals>.Foo.__init__�
s������ � �"�"�"�"�"rbr�r�s@r`r�rI�
s8�������
#�
#�
#�
#�
#�
#�
#�
#�
#rbr�)r()r[r�r�s   r`�test_super_call_initz"ProtocolTests.test_super_call_init�
sg��	�	�	�	�	��	�	�	�	#�	#�	#�	#�	#�!�	#�	#�	#�	������rbc���ttGd�dt������}|�t|��|�t	��|��dS)Nc��eZdZdS)�MProtocolTests.test_empty_protocol_decorated_with_final.<locals>.EmptyProtocolNr~rnrbr`rIrN�
s������'*�srbrI)r'r+r(rarTr�)r[rIs  r`�(test_empty_protocol_decorated_with_finalz6ProtocolTests.test_empty_protocol_decorated_with_final�
sg��	�	�*�*�*�*�*�H�*�*�
�	�
��*����f�m�4�4�4����f�h�h�
�6�6�6�6�6rbc�$�ttGd�dt������}|�t|��|�t|��|�d|��|�d|��dS)Nc��eZdZdedefd�ZdS)�]ProtocolTests.test_protocol_decorated_with_final_callable_members.<locals>.ProtocolWithMethodrVr�c��dSrfrn)r[rVs  r`rhzhProtocolTests.test_protocol_decorated_with_final_callable_members.<locals>.ProtocolWithMethod.startswith�
r�rbN)rkrlrmr|r�rhrnrbr`�ProtocolWithMethodrR�
s(������
;��:��:�:�:�:�:�:rbrTr�r�)	r'r+r(rar|rdr�r�r�)r[rTs  r`�3test_protocol_decorated_with_final_callable_memberszAProtocolTests.test_protocol_decorated_with_final_callable_members�
s���	�	�	;�	;�	;�	;�	;��	;�	;�
�	�
��	;�	
���c�#5�6�6�6�� � ��&8�9�9�9����e�%7�8�8�8�� � ��%7�8�8�8�8�8rbc��ttGd�dt������}Gd�d��}d}|�t|��5t||��ddd��n#1swxYwY|�t|��5tt|��ddd��n#1swxYwY|�|��|��|�d|��dS)Nc��eZdZUeed<dS)�kProtocolTests.test_protocol_decorated_with_final_noncallable_members.<locals>.ProtocolWithNonCallableMemberr�Nrfrnrbr`�ProtocolWithNonCallableMemberrX�
s��������F�F�F�F�FrbrYc��eZdZdZdS)�QProtocolTests.test_protocol_decorated_with_final_noncallable_members.<locals>.Foor�Nrrnrbr`r�r[�
s�������A�A�Arbr��<Protocols with non-method members don't support issubclass()r��	r'r+r(rr�rXr�r�r�)r[rYr��only_callable_members_pleases    r`�6test_protocol_decorated_with_final_noncallable_memberszDProtocolTests.test_protocol_decorated_with_final_noncallable_members�
s���	�	�	�	�	�	�	�H�	�	�
�	�
��	�	�	�	�	�	�	�	�	�
L�	%��
#�
#�I�/K�
L�
L�	;�	;��s�9�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;��
#�
#�I�/K�
L�
L�	;�	;��s�9�:�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	
���c�c�e�e�%B�C�C�C�� � ��%B�C�C�C�C�C�$�A5�5A9�<A9�B=�=C�Cc��ttGd�dt������}Gd�d��}d}|�t|��5t||��ddd��n#1swxYwY|�t|��5tt|��ddd��n#1swxYwY|�|��|��|�d|��dS)Nc�"�eZdZUeed<dd�ZdS)�`ProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.ProtocolWithMixedMembersr�r�Nc��dSrfrnr�s r`�methodzgProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.ProtocolWithMixedMembers.method�
r�rb�r�N)rkrlrmr�r�rernrbr`�ProtocolWithMixedMembersrc�
s)��������F�F�F�)�)�)�)�)�)rbrgc��eZdZdZdd�ZdS)�KProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foor�r�Nc��dSrfrnr�s r`rezRProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foo.method�
r�rbrf)rkrlrmr�rernrbr`r�ri�
s!�������A�)�)�)�)�)�)rbr�r\r�r])r[rgr�r^s    r`�0test_protocol_decorated_with_final_mixed_membersz>ProtocolTests.test_protocol_decorated_with_final_mixed_members�
s���	�	�	*�	*�	*�	*�	*�x�	*�	*�
�	�
��	*�	*�	*�	*�	*�	*�	*�	*�	*�

L�	%��
#�
#�I�/K�
L�
L�	6�	6��s�4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6��
#�
#�I�/K�
L�
L�	6�	6��s�4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	
���c�c�e�e�%=�>�>�>�� � ��%=�>�>�>�>�>r`N)<rkrlrmr�r�r�r�r�r�r�r�r�rr'rarjrvr�r�r�r�rr	rr)r8rErYrnrur�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrrrr&r4r=rCrKrOrUr_rkrnrbr`r�r��	s�������'�'�'�,0�0�0� 2�2�2�)�)�)�,���:!�!�!�
!�
!�
!�&�&�&�$%�%�%�@!$�!$�!$�F.!�.!�.!�`HX�HX�HX�T>�>�>�$�$�$�64#�4#�4#�lE1�E1�E1�N<�<�<�"#2�#2�#2�J(�(�(�$*�*�*�%�%�%�"&�&�&�"&�&�&�$)�)�)�$)�)�)�4.�.�.�&���+�+�+�(!,�!,�!,�F/�/�/�2���"
=�
=�
=�C�C�C�	>�	>�	>�,�,�,�3�3�3�8���'�'�'�:(�(�(�*�*�*�::�:�:�<�<�<�>�>�>�<�<�<�:�:�:�
<�<�<�9�9�9�<�<�<�%�%�%�
,�
,�
,����������7�7�7�	9�	9�	9�D�D�D�,?�?�?�?�?rbr�c�R�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7S)8�GenericTestsc�*�tttf}|�|jd��|�t��5|tddd��n#1swxYwY|�t��5|ttfddd��n#1swxYwYtttf}|�|jtf��|t|�t��5|ttfddd��n#1swxYwYtttf}|�t��5t|t��ddd��n#1swxYwY|�
|��t��td��}|�tt|tzj|f��dS)Nrnr)rNr|rr�r�r�r�rKr�rXr�rr r�r�)r[r�r��SM1rs     r`r5zGenericTests.test_basics�
s����#�s�(�#������)�2�.�.�.�
�
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	�
�c�3�h�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��"�c�'�"������)�B�5�1�1�1�	�#���
�
�
�y�
)�
)�	�	�
�c�3�h�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��C��H�%��
�
�
�y�
)�
)�	+�	+��s�M�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+����c�c�e�e�]�3�3�3��C�L�L������d�1�g��o�.�=��t�D�D�D�D�DsH�A)�)A-�0A-�B/�/B3�6B3�D<�<E�E�:F�F �#F c�b�td��}td��}|�t��5t||ddd��n#1swxYwY|�t��5t||ddd��n#1swxYwY|�t��5Gd�dt|t|��}ddd��n#1swxYwY|�t��5t	gt
t��ddd��n#1swxYwY|�t��5ttt
t��ddd��n#1swxYwY|�t��5Gd�dt��}ddd��n#1swxYwY|�t��5Gd�dt|t|��}ddd��n#1swxYwY|�t��5Gd	�d
t
|t|��}ddd��n#1swxYwY|�t��5tdddd��n#1swxYwYGd�d
t|��}|�t��5|dddd��dS#1swxYwYdS)Nrrwc��eZdZdS)�+GenericTests.test_generic_errors.<locals>.CNr~rnrbr`r=rrr�rbr=c��eZdZdS)�4GenericTests.test_generic_errors.<locals>.NewGenericNr~rnrbr`�
NewGenericrtr�rbruc��eZdZdS)�3GenericTests.test_generic_errors.<locals>.MyGenericNr~rnrbr`�	MyGenericrw
r�rbrxc��eZdZdS)�4GenericTests.test_generic_errors.<locals>.MyGeneric2Nr~rnrbr`�
MyGeneric2rzr�rbr{rnc��eZdZdS)�+GenericTests.test_generic_errors.<locals>.DNr~rnrbr`r@r}r�rbr@)	rr�r�r$r�r r�rXr�)r[rrwr=rurxr{r@s        r`�test_generic_errorsz GenericTests.test_generic_errors�
s9���C�L�L���C�L�L��
�
�
�y�
)�
)�	�	��A�J�q�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��A�J�q�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	1�	1�0�0�0�0�0�G�A�J���
�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�
�
�
�y�
)�
)�	&�	&��r�4��9�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�
�
�y�
)�
)�	(�	(��t�T�#�Y�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
�
�y�
)�
)�	+�	+�*�*�*�*�*�W�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�
�
�
�y�
)�
)�	9�	9�8�8�8�8�8�G�A�J���
�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�
�
�
�y�
)�
)�	7�	7�6�6�6�6�6�T�!�W�g�a�j�6�6�6�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7�	7����	7�	7�	7�	7�
�
�
�y�
)�
)�	�	��B�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�!�!�!�!�!���
�!�!�!�
�
�
�y�
)�
)�	�	�
�b�E�E�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��A�A� A�>B�B"�%B"�&C5�5C9�<C9�!E�E�E�,&F�F"�%F"�G#�#G'�*G'�&H:�:H>�H>�&J�J�J�6K�K�K�	L$�$L(�+L(c�J�td��}td��}|�t��5t||fddd��n#1swxYwY|�t��5t|||fddd��dS#1swxYwYdS)Nrrw)rr�r�r$)r[rrws   r`�	test_initzGenericTests.test_inits���C�L�L���C�L�L��
�
�
�y�
)�
)�	�	��A�q�D�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��A�q�!�G���	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A�A�:B�B�Bc��Gd�dtjt��}Gd�d|��}|�|jd��|�t��5|jddd��n#1swxYwYd|_d|_Gd�d	|��}Gd
�d|t��}|�|jd��|�|jd��|�|jd��dS)Nc���eZdZ�fd�Z�xZS)�*GenericTests.test_init_subclass.<locals>.Xc�H��t��jdi|��d|_dS)Nr�rn)r��__init_subclass__rx)r\r�r�s  �r`r�z<GenericTests.test_init_subclass.<locals>.X.__init_subclass__s+���)����)�3�3�F�3�3�3�����rb�rkrlrmr�r�r�s@r`r�r�s8�������
�
�
�
�
�
�
�
�
rbr�c��eZdZdS)�*GenericTests.test_init_subclass.<locals>.YNr~rnrbr`r�r� r�rbr�r�rqr�c��eZdZdS)�*GenericTests.test_init_subclass.<locals>.ZNr~rnrbr`�Zr�'r�rbr�c��eZdZdS)�*GenericTests.test_init_subclass.<locals>.WNr~rnrbr`r�r�)r�rbr�)rOr$rr�rxr��AttributeErrorr�)r[r�r�r�r�s     r`�test_init_subclasszGenericTests.test_init_subclasss���	�	�	�	�	���q�!�	�	�	�	�	�	�	�	��	�	�	�������$�$�$�
�
�
�~�
.�
.�	�	�
�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�������	�	�	�	�	��	�	�	�	�	�	�	�	��#��	�	�	�������#�#�#�������$�$�$�������$�$�$�$�$s�'A;�;A?�A?c���|�tt��dt�d���|�tt��dt�d���dS)Nr�z.SimpleMapping'>z.MySimpleMapping'>)r�r�rNrkr\r�s r`r�zGenericTests.test_repr/st������m�,�,�>�H�>�>�>�	@�	@�	@�����o�.�.�@�H�@�@�@�	B�	B�	B�	B�	Brbc�r�td��}td��}Gd�dt|��}|t||f}|�||t||f��|�||t||f��||t
f}|�|||t
f��|�|||t
f��|�|||tf��|t}|�||t��|�||t
��|�|||��|�t
|���d����dS)Nrrwc��eZdZdS)�'GenericTests.test_chain_repr.<locals>.CNr~rnrbr`r=r�9r�rbr=z.C[typing.Tuple[str, int]])	rr$rr�r�r�r|r�rT)r[rrwr=r�r�r�s       r`�test_chain_reprzGenericTests.test_chain_repr5s����C�L�L���C�L�L��	�	�	�	�	���
�	�	�	�
�e�A�q�D�k�N������A�e�A�q�D�k�N�+�+�+����A�q��q�!�t��~�.�.�.�
�a��f�I������A�a��f�I�&�&�&����A�q��C��y�)�)�)����A�q��C��y�)�)�)�
�c�F������A�c�F�#�#�#����A�q��v�&�&�&����A�q��t�$�$�$�����A�����(�*�*�	+�	+�	+�	+�	+rbc�P�td��}tdd���}td��}|�tt��d��|�tt|��d��|�tt|��d��|�tt||t��d	��|�ttt��d	��dS)
Nr�UTrwrwztyping.Listztyping.List[~T]ztyping.List[+U]ztyping.List[int])rr�r�r r�)r[rr�rws    r`�
test_new_reprzGenericTests.test_new_reprMs����C�L�L���C�4�(�(�(���C�L�L������d���]�3�3�3�����d�1�g���(9�:�:�:�����d�1�g���(9�:�:�:�����d�1�g�a�j��o�.�.�0B�C�C�C�����d�3�i���*<�=�=�=�=�=rbc���td��}td��}|�ttj||f||f��d��|�tt
t||ft|f��d��|�tt
t||ft
t��d��dS)Nr�TSztyping.Mapping[~TS, ~T]z"typing.List[typing.Tuple[int, ~T]]z=typing.List[typing.Tuple[typing.List[int], typing.List[int]]])rr�r�rOr�r rr�)r[rr�s   r`�test_new_repr_complexz"GenericTests.test_new_repr_complexXs����C�L�L��
�T�]�]������f�n�Q��U�3�B��E�:�;�;�=V�W�W�W�����d�5��B��<�0��a��8�9�9�=�	?�	?�	?������e�A�q�D�k�"�4��9�-�.�.�K�	
�	
�	
�	
�	
rbc�b�td��}|�tt|��d��|�ttj|��d��Gd�dtjttf��}t|j��dS)Nrztyping.Generic[~T]ztyping.Protocol[~T]c��eZdZdS)�*GenericTests.test_new_repr_bare.<locals>.CNr~rnrbr`r=r�hr�rbr=)	rr�r�r$rOr(r!r�__mro__�r[rr=s   r`�test_new_repr_barezGenericTests.test_new_repr_bareds����C�L�L������g�a�j�)�)�+?�@�@�@�����f�o�a�0�1�1�3H�I�I�I�+�+�+�+�+���C��H�%�+�+�+��Q�Y�����rbc�@�td��}Gd�dt|��}|��}d|_|�|jddi��Gd�d|t
��}|��}d|_|�|jd	di��dS)
Nrc��eZdZdS)�!GenericTests.test_dict.<locals>.BNr~rnrbr`r�r�or�rbr�r�r�c��eZdZdS)�!GenericTests.test_dict.<locals>.CNr~rnrbr`r=r�vr�rbr=r�r))rr$r�r�r�r�r))r[rr�r�r=r�s      r`�	test_dictzGenericTests.test_dictls����C�L�L��	�	�	�	�	���
�	�	�	�
�A�C�C����������e�R�[�1�1�1�	�	�	�	�	��#��	�	�	�
�A�C�C����������e�U�^�4�4�4�4�4rbc��td��}Gd�dt|��}|�|t��|��dS)Nrc��eZdZd�ZdS)�7GenericTests.test_setattr_exceptions.<locals>.Immutablec� �td���)N�	immutable)�RuntimeErrorrUs   r`�__setattr__zCGenericTests.test_setattr_exceptions.<locals>.Immutable.__setattr__�s��"�;�/�/�/rbN�rkrlrmr�rnrbr`�	Immutabler�s#������
0�
0�
0�
0�
0rbr�)rr$r�r�)r[rr�s   r`�test_setattr_exceptionsz$GenericTests.test_setattr_exceptions}se���C�L�L��	0�	0�	0�	0�	0���
�	0�	0�	0�	
���n�i��n�.�.�	�:�:�:�:�:rbc��td��}Gd�dt|��}|�|tjd��|�||tjd��d||t_|�|jd��|�|t
jd��d|tt
_|�|jd��|�|ttjd��|�|��jd��|�|tt
��jd��Gd�d||��}|�|tjd��|�|jd��d	|_d
|t_|�|jd��|�|tjd��|�|jd
��|�|t
jd	��dS)Nrc��eZdZdZdS)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.C�defNrrnrbr`r=r��s�������A�A�Arbr=r��changed�newc��eZdZdS)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.DNr~rnrbr`r@r��r�rbr@zfrom derived zzfrom derived x)	rr$r�r�r�r|r rr�r[rr=r@s    r`�$test_subscripted_generics_as_proxiesz1GenericTests.test_subscripted_generics_as_proxies�s*���C�L�L��	�	�	�	�	���
�	�	�	�����3���5�)�)�)�����1�S�6���e�,�,�,���!�C�&�	�������i�(�(�(�����3���9�-�-�-���$�s�)��������e�$�$�$�����5��:���%�0�0�0���������	�*�*�*������5��:����*�E�2�2�2�	�	�	�	�	��!��	�	�	�����3���9�-�-�-������e�$�$�$����#��#��������i�(�(�(�����3���5�)�)�)������.�/�/�/�����3���#3�4�4�4�4�4rbc�l�td��}Gd�dtjjt|��}|�t��|�d|��|t|�d|��|���|�	��dS)Nrc��eZdZdS)�.GenericTests.test_abc_registry_kept.<locals>.CNr~rnrbr`r=r��r�rbr=rq)
rr�r�r�r$rur�r��_abc_registry_clear�_abc_caches_clearr�s   r`�test_abc_registry_keptz#GenericTests.test_abc_registry_kept�s����C�L�L��9�9�9�9�9���'����9�9�9�	�
�
�3�������a��#�#�#�	�#������a��#�#�#�	������	�������rbc��Gd�dtttf��}|�i|��|�t|��dS)Nc��eZdZdS)�5GenericTests.test_false_subclasses.<locals>.MyMappingNr~rnrbr`�	MyMappingr��r�rbr�)r"r|r�rdr)r[r�s  r`�test_false_subclassesz"GenericTests.test_false_subclasses�sW��7�7�7�7�7��s�C�x�0�7�7�7�� � ��Y�/�/�/�� � ��y�1�1�1�1�1rbc��Gd�dtttf��}|�����|�|��tjj��|�|��t��|�|��t��|�i|��dS)Nc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�'GenericTests.test_abc_bases.<locals>.MMc��dSrfrn�r[r�s  r`rRz3GenericTests.test_abc_bases.<locals>.MM.__getitem__�r�rbc��dSrfrn�r[r�rbs   r`rVz3GenericTests.test_abc_bases.<locals>.MM.__setitem__�r�rbc��dSrfrnr�s  r`�__delitem__z3GenericTests.test_abc_bases.<locals>.MM.__delitem__�r�rbc� �td��Sr���iterr�s r`r2z0GenericTests.test_abc_bases.<locals>.MM.__iter__��
���B�x�x�rbc��dSrLrnr�s r`�__len__z/GenericTests.test_abc_bases.<locals>.MM.__len__�r�rbN�rkrlrmrRrVr�r2r�rnrbr`�MMr���_������
�
�
�
�
�
�
�
�
�
 �
 �
 �
�
�
�
�
rbr�)r"r|�updater�r�r�r�r )r[r�s  r`�test_abc_baseszGenericTests.test_abc_bases�s���
	�
	�
	�
	�
	���S��)�
	�
	�
	�	������
�
�
����b�b�d�d�K�O�$B�C�C�C����b�b�d�d�N�3�3�3�� � �����t�,�,�,�� � ��R�(�(�(�(�(rbc�<�Gd�dtttftjj��}Gd�dtjjtttf��}|�|jtjjtf��dS)Nc��eZdZdS)�-GenericTests.test_multiple_bases.<locals>.MM1Nr~rnrbr`�MM1r��r�rbr�c��eZdZdS)�-GenericTests.test_multiple_bases.<locals>.MM2Nr~rnrbr`�MM2r��r�rbr�)r"r|r�r�r��	__bases__r$)r[r�r�s   r`�test_multiple_basesz GenericTests.test_multiple_bases�s���	�	�	�	�	�.��c��*�K�O�,J�	�	�	�	�	�	�	�	�+�/�0�.��c��2J�	�	�	��������)G��(Q�R�R�R�R�Rrbc���td��}Gd�dtjt|f��}|�|jtjt|ff��dS)Nrc��eZdZdS)�'GenericTests.test_orig_bases.<locals>.CNr~rnrbr`r=r��r�rbr=)rrOr!r|r��__orig_bases__r�s   r`�test_orig_baseszGenericTests.test_orig_bases�s_���C�L�L��)�)�)�)�)���C��F�#�)�)�)�����)�F�K��Q��,?�+A�B�B�B�B�Brbc��d�}|�|dditjttf����|�|dditjttf����|�t��5|dditjttf��ddd��n#1swxYwYd�}Gd�dtt��}|�||t��|t����|�||t��|t����|�||t��t����|�t��5|gd�|t��ddd��n#1swxYwYd�}Gd	�d
tt��}|�|gd�|����|�|ddg|����dS)
Nc�����t|j��dkrt�|jr8|j\��t	��fd�|���D����SdS)Nrc3�^�K�|]'\}}t|���ot|���V��(dSrf)r�)�.0r�rbrrs   ��r`�	<genexpr>zSGenericTests.test_naive_runtime_checks.<locals>.naive_dict_check.<locals>.<genexpr>�sT���������1��q�"�%�%�;�*�Q��*;�*;������rb)rr�r�r��allr�)r��tprrs  @@r`�naive_dict_checkz@GenericTests.test_naive_runtime_checks.<locals>.naive_dict_check�s������2�$�%�%��)�)�)�)��{�
�����B������� #�	�	���������
�
rbr�rqc�F�t|d��st�|j|kS)Nr�)�hasattrr�r��r�r�s  r`�naive_generic_checkzCGenericTests.test_naive_runtime_checks.<locals>.naive_generic_check�s)���3� 0�1�1�
*�)�)��%��+�+rbc��eZdZdS)�4GenericTests.test_naive_runtime_checks.<locals>.NodeNr~rnrbr`�Noder��r�rbr�rc�:��t�fd�|D����S)Nc3�d�K�|]*}t|�jdjd��V��+dS)rN)r�r�r�)r�r�r�s  �r`r�zXGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check.<locals>.<genexpr>�sQ�����%�%��"�!�R�%6�q�%9�%B�1�%E�F�F�%�%�%�%�%�%rb)r�r�s `r`�naive_list_base_checkzEGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check�s;����%�%�%�%� #�%�%�%�%�%�
%rbc��eZdZdS)�1GenericTests.test_naive_runtime_checks.<locals>.CNr~rnrbr`r=r��r�rbr=rr�)r�rOr!r|r�r�r�r�rr$r )r[r�r�r�r�r=s      r`�test_naive_runtime_checksz&GenericTests.test_naive_runtime_checks�s���		�		�		�	
���(�(�#�q��6�;�s�C�x�3H�I�I�J�J�J����)�)�1�c�(�F�K��S��4I�J�J�K�K�K�
�
�
�2�
3�
3�	<�	<���a��X�v�{�3��6�':�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�	,�	,�	,�
	$�#�#�#�#�7�1�:�#�#�#����+�+�I�D��I�K�K��c��C�C�D�D�D����,�,�Y�T�#�Y�[�[�$�s�)�D�D�E�E�E����,�,�Y�T�#�Y�[�[�$�?�?�@�@�@�
�
�
�2�
3�
3�	6�	6���	�	�	�4��9�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	%�	%�	%�	 ������S�	�������-�-�i�i�i��;�;�<�<�<����.�.��S�z�1�=�=�>�>�>�>�>s$�+C�C�C�G,�,G0�3G0c��td��}td��}td��}Gd�dt|||��}Gd�d|t|||��}|�|j|f��|�|j|f��|�|tjd��|�|tjd��|�|tjtf��|�|tjtf��|�|jttf��|�|j|ttf��|�|j	t|||f��|�|j	|t|||f��dS)	Nrr�r�c��eZdZdS)�.GenericTests.test_multi_subscr_base.<locals>.CNr~rnrbr`r=r��r�rbr=c��eZdZdS)�.GenericTests.test_multi_subscr_base.<locals>.DNr~rnrbr`r@r�r�rbr@rn)
rr r�r�r�r�r�r�r$r�)r[rr�r�r=r@s      r`�test_multi_subscr_basez#GenericTests.test_multi_subscr_base�s����C�L�L���C�L�L���C�L�L��#�#�#�#�#��Q���
�1�
�#�#�#�&�&�&�&�&��4��7�1�:�a�=�&�&�&�����)�A�4�0�0�0�����)�A�4�0�0�0�����3��.��3�3�3�����3��.��3�3�3�����3���3�&�1�1�1�����3���3�&�1�1�1������t�W�o�6�6�6������q�$��&8�9�9�9�����)�D��G�A�J�q�M�+;�<�<�<�����)�A�t�A�w�q�z�!�}�+=�>�>�>�>�>rbc��td��}Gd�dt��}|�t|t|��|�t|t
f|t|t
f��|�td|fjt|f��dS)Nrc��eZdZdS)�.GenericTests.test_subscript_meta.<locals>.MetaNr~rnrbr`�Metarr�rbr.)	rr�r�r5rr�r#r��Ellipsis)r[rrs   r`�test_subscript_metaz GenericTests.test_subscript_metas����C�L�L�������4��������d��T�$�Z�0�0�0�����q�#�v��t�,�e�D�#�I�.>�?�?�?�����#�t�)�,�5��$�7G�H�H�H�H�Hrbc��Gd�dtt��}Gd�dtt��}|�||��|�tjt
tjt
��|�|j|j��|�tjj|jt
tjj|jt
��|�||j��|�|tj��|�|tjj��|�|jtj��|�|jtjj��|�|t
|jt
��|�|tt|jtt��|�|t
tjt
��|�|t
tjjt
��|�|jttjt��|�|jtttjjtt��|�t|t
t|jt
��|�t|ttt|jtt��|�tt
|t
ftt
tjt
f��|�t|t
|t
ft|t
tjt
f��|�tj|t
tjtjjt
��|�t!t|t
���d����|�t!t|jt
���d����|�t!ttjt
���d����|�t!ttjjt
���d����dS)	Nc��eZdZdS)�+GenericTests.test_generic_hashes.<locals>.ANr~rnrbr`r�r��������Crbr�c�6�eZdZGd�dee��ZdS)�+GenericTests.test_generic_hashes.<locals>.Bc��eZdZdS)�-GenericTests.test_generic_hashes.<locals>.B.ANr~rnrbr`r�r��������rbr�N)rkrlrmr$rr�rnrbr`r�rsB������
�
�
�
�
�G�A�J�
�
�
�
�
rbr�z<locals>.A[str]]z<locals>.B.A[str]]zmod_generics_cache.A[str]]zmod_generics_cache.B.A[str]])r$rr�rMr�r|r�r�r rr�rrrO�	FrozenSetr�r�rTr�s   r`�test_generic_hashesz GenericTests.test_generic_hashes
sv��	�	�	�	�	���
�	�	�	�	�	�	�	�	���
�	�	�	�	
����A�������+�-�c�2�4F�4H��4M�N�N�N������a�c�"�"�"����+�-�/���C��9�+�-�/���C��9�	;�	;�	;�	
���A�q�s�#�#�#����A�1�3�4�4�4����A�1�3�5�6�6�6����A�C�!3�!5�6�6�6����A�C�!3�!5�!7�8�8�8����A�c�F�A�C��H�-�-�-����A�d�3�i�L�!�#�d�3�i�.�9�9�9����A�c�F�$6�$8��$=�>�>�>����A�c�F�$6�$8�$:�3�$?�@�@�@����A�C��H�&8�&:�3�&?�@�@�@����A�C��S�	�N�,>�,@�,B�4��9�,M�N�N�N����E�!�C�&�M�5���S��?�;�;�;����E�!�D��I�,�/��q�s�4��9�~�1F�G�G�G����E�#�q��v�+�.��c�;M�;O�PS�;T�6T�0U�V�V�V����E�!�C�&�!�C�&�.�1�!�!�C�&�*<�*>�s�*C�"C�D�	F�	F�	F����F�,�Q�s�V�4�"�,�-?�-A�-C�C�-H�I�	K�	K�	K�	
����U�1�S�6�]�+�+�4�4�5G�H�H�I�I�I�����U�1�3�s�8�_�-�-�6�6�7K�L�L�M�M�M�����U�#5�#7��#<�=�>�>�!��">�?�?�	A�	A�	A�����U�#5�#7�#9�#�#>�?�@�@�!��"@�A�A�	C�	C�	C�	C�	Crbc�2�td��}td��}|�t||fttttf��|�tjt||f|tjt||f��|�t��5t|tfdddd��n#1swxYwY|�t|tftt��|�t||fttttfftttf��Gd�d��}Gd�d|��}|�t||ft||ft||f��|�t|g|ftttgtf��|�tdt|fttdttf��dS)	Nrr�rnc��eZdZdS)�9GenericTests.test_extended_generic_rules_eq.<locals>.BaseNr~rnrbr`�BaserAr�rbrc��eZdZdS)�<GenericTests.test_extended_generic_rules_eq.<locals>.DerivedNr~rnrbr`�DerivedrBr�rbr.)
rr�rr�rOr�r�r�rr|r#rr )r[rr�rrs     r`�test_extended_generic_rules_eqz+GenericTests.test_extended_generic_rules_eq7s$���C�L�L���C�L�L������q�!�t��S�)�5��c��?�;�;�;�������q�!�t��5�a�8�&�/�%�PQ�ST�PT�+�:V�W�W�W�
�
�
�y�
)�
)�	�	��!�S�&�M�"���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����q�#�v��s�+�S�1�1�1�����q�!�t��S�%��S��/�%9�:�E�#�s�(�O�L�L�L��������� � � � � �d� � � �����q�$�w���d�G�m�(<�=�u�T�7�]�?S�T�T�T�����1�#�q�&�)�"�-�x���b��/A�B�B�B�����#�t�A�w�,�/��4�h�s�D��I�~�6N�O�O�O�O�Os�C;�;C?�C?c���td��}|�tttt
f���dd��d��|�tttttf���dd��d��|�tt
dt|ft���dd��d��|�tt
gt|ft���dd��d��dS)	Nrztyping.r�zUnion[Tuple, Callable]zUnion[Tuple, Tuple[int]].zCallable[..., Optional[int]]zCallable[[], List[int]])
rr�r�rrr#r�r�rr ros  r`� test_extended_generic_rules_reprz-GenericTests.test_extended_generic_rules_reprGs(���C�L�L������e�E�8�O�4�5�5�=�=�i��L�L�1�	3�	3�	3�����e�E�5��:�$5�6�7�7�?�?�	�2�N�N�3�	5�	5�	5�����h�s�H�Q�K�'7�8��=�>�>�F�F�y�RT�U�U�7�	9�	9�	9�����h�r�4��7�{�3�C�8�9�9�A�A�)�R�P�P�2�	4�	4�	4�	4�	4rbc��dttdfd�}dtttd��fd�}dttd��tzfd�}Gd�d��}|�t|t
��t����dtt|i��|�t|t
��t����dtt|i��|�t|t
��t����dt|tztzi��td��}t|d	f}d|fd
�}|�
t|t
��t����d|��td	t|f}d|fd�}	|�
t|	t
��t����d|��dS)Nr��CCc��dSrfrnr�s r`�foobarz5GenericTests.test_generic_forward_ref.<locals>.foobarSr�rbc��dSrfrnr�s r`�foobar2z6GenericTests.test_generic_forward_ref.<locals>.foobar2Tr�rbzCC | intc��dSrfrnr�s r`�foobar3z6GenericTests.test_generic_forward_ref.<locals>.foobar3Ur�rbc��eZdZdS)�1GenericTests.test_generic_forward_ref.<locals>.CCNr~rnrbr`rr'Vr�rbr.c��dSrfrnr�s r`�barfooz5GenericTests.test_generic_forward_ref.<locals>.barfoofr�rbc��dSrfrnr�s r`�barfoo2z6GenericTests.test_generic_forward_ref.<locals>.barfoo2ir�rb)r r�rAr�r�r,r�r�rrr�r#)
r[r!r#r%rr�ATr)�CTr+s
          r`�test_generic_forward_refz%GenericTests.test_generic_forward_refRs���,�d�4��:�&�,�,�,�,�9�t�D��D�!1�!1�2�3�9�9�9�9�?�t�J�z�2�2�3�c�9�?�?�?�?��
�
�
�
�
�
�
�����6�7�9�9�f�h�h�7�7�
�$�t�B�x�.�!�	
�	
�	
�	
����7�G�I�I�v�x�x�8�8�
�$�t�B�x�.�!�	
�	
�	
�	
����7�G�I�I�v�x�x�8�8�
�$�r�C�x�.�3�&�'�	
�	
�	
�

�C�L�L��
�1�c�6�]���b������
�
�n�V�W�Y�Y����A�A�#�F��K�K�K�
�c�4��7�l�
#���r������
�
�n�W�g�i�i����B�B�3�G��L�L�L�L�Lrbc
���Gd�d��}|�t|t��t����dt|i��Gd�d��}|�t|t��t����dt
|ttt|fi��i}ttj	d��|��|d}|�|j
dd��|�t|t��t����dtt|i��td	}d
|fd�}|�t|t��t����d
tttd	��i��dS)Nc�&�eZdZUeded<dS)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C1r�rN�rkrlrmr�r�rnrbr`r�r1os��������D�z�M�M�M�M�Mrbr�rc�N�eZdZUedeeedfed<dS)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C2r�r�rN)rkrlrmrr�r r�rnrbr`r�r4vs6��������D�$�t�D��J�/�0�0�1�1�1�1�1�1rbr�zf
        from __future__ import annotations
        class C3:
            a: List[list["C2"]]
        r�zList[list['C2']]r�r�c��dSrfrnr�s r`riz7GenericTests.test_generic_pep585_forward_ref.<locals>.f�r�rb)r�r,r�r�r�rr r��textwrap�dedentr�rA)r[r�r��scoper�r�ris       r`�test_generic_pep585_forward_refz,GenericTests.test_generic_pep585_forward_refls���	�	�	�	�	�	�	�	�����2�w�y�y�&�(�(�3�3�
�$�r�(�O�	
�	
�	
�
	2�	2�	2�	2�	2�	2�	2�	2�����2�w�y�y�&�(�(�3�3�
�$�r�4��T�"�X��/�/�0�1�	
�	
�	
����X�_��
�
��		�	�	�
�4�[������+�C�0�2D�E�E�E�����2�w�y�y�&�(�(�3�3�
�$�t�B�x�.�!�	
�	
�	
�
��I������������1�g�i�i����2�2�
�$�t�J�s�O�O�,�-�.�	
�	
�	
�	
�	
rbc��Gd�dtttf��}Gd�dttdf��}Gd�dtjt��}|�|jttf��|�|ttfj	ttf��|�|ttfj
|��|�|jtf��|�t|t���d��d	d
��|�|jtf��|�
|��tjj��|�|tjj��|�
|��t"��|�|t"��|�t&��5t)ttdftj��ddd��n#1swxYwY|�t&��5t)ttdftj��ddd��dS#1swxYwYdS)Nc��eZdZdS)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T1Nr~rnrbr`rr<�r�rbrc��eZdZdS)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T2Nr~rnrbr`r
r>�r�rbr
.c��eZdZd�ZdS)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.C1c��dS)NFrn)r[�items  r`�__contains__zMGenericTests.test_extended_generic_rules_subclassing.<locals>.C1.__contains__�s���urbN)rkrlrmrCrnrbr`r�r@�r�rbr��.���zC1[int])rrrrO�	Containerr�r�r�r|r�r�r��splitr�r�r�rar�r�r�rX�Sequencer�)r[rr
r�s    r`�'test_extended_generic_rules_subclassingz4GenericTests.test_extended_generic_rules_subclassing�s���#�#�#�#�#��q�"�u��#�#�#�$�$�$�$�$��q�#�v��$�$�$�	�	�	�	�	��!�!�$�	�	�	�	
����*�Q��G�4�4�4�����C��H��.��c�
�;�;�;�����C��F��.��3�3�3�����*�Q�D�1�1�1�	
����b��g���,�,�S�1�1�"�5�y�A�A�A�����*�Q�D�1�1�1����b�b�d�d�K�O�$=�>�>�>����b�+�/�";�<�<�<����b�b�d�d�E�*�*�*����b�%�(�(�(�
�
�
�y�
)�
)�	9�	9��u�S�#�X����8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�
�
�
�y�
)�
)�	9�	9��u�S�#�X����8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9s$�)-I"�"I&�)I&�-K�K�Kc�T�|�t��5ttddd��n#1swxYwY|�t��5tt
ddd��n#1swxYwY|�t��5tttddd��n#1swxYwY|�t��5tttddd��dS#1swxYwYdSrf)r�r�r rrrr%r�r�s r`�test_fail_with_bare_unionz&GenericTests.test_fail_with_bare_union�s���
�
�
�y�
)�
)�	�	���K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��(�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	$�	$��X�c�]�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�
�
�
�y�
)�
)�	 �	 ���#����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 sC�:�>�>�A>�>B�B�#C
�
C�C�2D�D!�$D!c���td��}|�t��5ttddd��n#1swxYwY|�t��5t
t|ddd��n#1swxYwY|�t��5ttjddd��dS#1swxYwYdSr�)rr�r�r r$rrOr(ros  r`�test_fail_with_bare_genericz(GenericTests.test_fail_with_bare_generic�s|���C�L�L��
�
�
�y�
)�
)�	�	���M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��'�!�*���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	"�	"����!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"s5�A	�	A
�A
�.B�B�B�8C�C!�$C!c��td��}|���Gd�dt||f��}|�|t��j|��|�|t��j|t��Gd�dtj	||f��}|�|t��j|��|�|t��j|t��Gd�dtj
t|f��}|�|t��j|��|�|t��j|t��Gd�d	tjt|f��}|�|t��j|��|�|t��j|t��dS)
Nrc��eZdZdS)�5GenericTests.test_type_erasure_special.<locals>.MyTupNr~rnrbr`�MyTuprP�r�rbrQc��eZdZdS)�6GenericTests.test_type_erasure_special.<locals>.MyDictNr~rnrbr`�MyDictrS�r�rbrTc��eZdZdS)�5GenericTests.test_type_erasure_special.<locals>.MyDefNr~rnrbr`�MyDefrV�r�rbrWc��eZdZdS)�7GenericTests.test_type_erasure_special.<locals>.MyChainNr~rnrbr`�MyChainrY�r�rbrZ)
rrjrr�r�r�r�r�rOr!�DefaultDictr|�ChainMap)r[rrQrTrWrZs      r`�test_type_erasure_specialz&GenericTests.test_type_erasure_special�s����C�L�L��������%�%�%�%�%�E�!�Q�$�K�%�%�%��
�
�j�e�C�j�l�l�,�e�4�4�4������s����4�e�C�j�A�A�A�,�,�,�,�,�V�[��A��&�,�,�,��
�
�k�f�S�k�m�m�-�v�6�6�6����������5�v�c�{�C�C�C�4�4�4�4�4�F�&�s�A�v�.�4�4�4��
�
�j�e�C�j�l�l�,�e�4�4�4������s����4�e�C�j�A�A�A�3�3�3�3�3�f�o�c�1�f�-�3�3�3��
�
�l�g�c�l�n�n�.��8�8�8����������6����E�E�E�E�Erbc�t�d�tjD��}|D�]}|�t|��d��|�||��t|dd��rxt
|tj��s^t
|jt��rDt|j��dkr,|�|tjtf��t
|t��rC|jD];}|�t|��d��|�||���<��dS)Nc3�@K�|]}tt|��V��dSrf)�getattrrO)r��els  r`r�z4GenericTests.test_all_repr_eq_any.<locals>.<genexpr>�s,����=�=�����#�#�=�=�=�=�=�=rbr�r�rq)rO�__all__r�r�r�r`r�rr�r�rrr�r�r�)r[�objsr��bases    r`�test_all_repr_eq_anyz!GenericTests.test_all_repr_eq_any�s0��=�=�f�n�=�=�=���	1�	1�C�����S�	�	�2�.�.�.����S�#�&�&�&���-�t�4�4�
<�&�s�F�N�;�;�
<�"�3�#5�u�=�=�
<��C�.�/�/�1�4�4�� � ��S��!2�S�F�;�;�;��#�t�$�$�
1��K�1�1�D��'�'��T�
�
�B�7�7�7��$�$�T�4�0�0�0�0��	1�	1rbc
��td��}Gd�dt|��}Gd�d|t��at��}d|_d|_t
tjdz��D]}tj	||��}tj
|��}|�|jd��|�|jd��|�|jddd	�����tttt t"ttt$ft"t&ttd
ftdt t$gt(ft*jt*jtg}|D]`}t
tjdz��D]A}tj	||��}tj
|��}|�||���B�at&t*jt*jt&tt*jt*jt*jttt$fg}	|	D]`}t
tjdz��D]A}tj	||��}tj
|��}|�||���B�adS)Nrc��eZdZdS)�#GenericTests.test_pickle.<locals>.BNr~rnrbr`r�rh�r�rbr�c��eZdZdS)r=Nr~rnrbr`r=r=�r�rbr=r�r�rqr&.rn)rr$r�r=r�r)rurvrwr>r=r�r�rrrr#r%r|r r�rOr[rr�r5r��AbstractSet)
r[rr�r�rtrr�r�r��more_sampless
          r`r�zGenericTests.test_pickle�s���C�L�L��	�	�	�	�	���
�	�	�	�	�	�	�	�	��#��	�	�	�
�C�C���������6�2�Q�6�7�7�	D�	D�E���Q��&�&�A���Q���A����Q�U�B�'�'�'����Q�U�E�*�*�*����Q�Z��E�)B�)B�C�C�C�C���u�h����c��?�H�T�N�E�#�s�(�O�U�2�Y��S�E�5�L�)��%�v�'7��'<�>���	'�	'�A��v�6��:�;�;�
'�
'���L��E�*�*���L��O�O��� � ��A�&�&�&�&�
'��f�o�v�{�D��I���F�N�3�V�5G��c�SV�h��5X�Z���	'�	'�A��v�6��:�;�;�
'�
'���L��E�*�*���L��O�O��� � ��A�&�&�&�&�
'�	'�	'rbc���td��}Gd�dt|��}t|tft|tftdt
d|ft
tgtftttf|||t|ttj|tjttjttj	ttftj	|tftttt|tdtdtftdtj
dtfg}|tgzD]H}|�|t|����|�|t!|�����IdS)Nrc��eZdZdS)�1GenericTests.test_copy_and_deepcopy.<locals>.NodeNr~rnrbr`r�rn	r�rbr�rn.)rr)rr$rr�rr#rrOr�r!r|r%r r�r�rr
)r[rr��thingsrKs     r`�test_copy_and_deepcopyz#GenericTests.test_copy_and_deepcopysM���C�L�L��#�#�#�#�#�7�1�:�#�#�#���3��-��q�#�v���b�	��3��6�"�H�c�U�C�Z�$8���S��/�4��7�D��I�t�C�y�&�/�RS�BT��/�#�&����(<�f�k�#�s�(�>S��+�a��f�%�x��}�h�t�A�w�6G��x����S��/�4��9�f�n�S�#�X�.F�H���3�%��	-�	-�A����Q��Q���(�(�(����Q�����,�,�,�,�	-�	-rbc��td��atdt���atdtt
��atd��attttttjttj
ttt t"fD]�}|�|���5|�t)|��|��|�t+|��|��t-t.jdz��D]=}|�t/jt/j||����|���>	ddd��n#1swxYwY��bbbbtd��}td	t���}td
tt
��}td��}||||fD]v}|�|���5|�t)|��|��|�t+|��|��ddd��n#1swxYwY�wdS)Nr��TPBrs�TPV�PP)r�rq�TL�TLB�TLV�PL)rr�r�rrr�r|rsrErtr rOr�r%r�rrrr#rxr�rr
rurvrwr=r>)r[r�rtrurvrwrxs       r`�$test_immutability_by_copy_and_picklez1GenericTests.test_immutability_by_copy_and_picklesz���T�]�]���e�3�'�'�'���e�U�C�(�(��
�t�_�_���c�3������&�/���e�X�/�	K�	K�A����A��&�&�
K�
K��
�
�d�1�g�g�q�)�)�)��
�
�h�q�k�k�1�-�-�-�"�6�#:�Q�#>�?�?�K�K�E��M�M�&�,�v�|�A�u�/E�/E�"F�"F��J�J�J�J�K�
K�
K�
K�
K�
K�
K�
K�
K�
K�
K�
K����
K�
K�
K�
K��

��S�"��T�]�]���e�3�'�'�'���e�U�C�(�(��
�t�_�_���c�3��#�	.�	.�A����A��&�&�
.�
.��
�
�d�1�g�g�q�)�)�)��
�
�h�q�k�k�1�-�-�-�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.�
.����
.�
.�
.�
.��	.�	.s&�<B!E*�*E.	�1E.	�'AH:�:H>	�H>	c���td���G�fd�dt���}|d��}|�t|��jd��|�t|��jd��|�t|��|��|�t|��|��d|_|�t|��jd��|�t|��jd��|td��}|�t|��jd��|�t|��jd��|�t|��|��|�t|��|��d|_|�t|��jd��|�t|��jd��|�|j|t��dS)Nrc� ��eZdZd�ddfd�ZdS)�3GenericTests.test_copy_generic_instances.<locals>.Crxr�Nc��||_dSrfr�r�s  r`r�z<GenericTests.test_copy_generic_instances.<locals>.C.__init__3r�rbr�r�s�r`r=r|2s7�������
!�Q�
!�4�
!�
!�
!�
!�
!�
!rbr=r�rq)	rr$r�rrxr
�assertIsNotr�r�)r[r=r��cirs    @r`�test_copy_generic_instancesz(GenericTests.test_copy_generic_instances0s�����C�L�L��	!�	!�	!�	!�	!�	!�	!���
�	!�	!�	!�
�A�b�E�E������a����r�*�*�*�����!���)�2�.�.�.�����a���!�$�$�$�����!���a�(�(�(��������a����q�)�)�)�����!���)�1�-�-�-�
�Q�s�V�B�Z�Z������b�����+�+�+�����"���*�B�/�/�/�����b���2�&�&�&�����"���r�*�*�*��������b�����*�*�*�����"���*�A�.�.�.�����*�A�c�F�3�3�3�3�3rbc	���td��}tt|tftd|ft
ttfttttj	ttftjttj
dg}|D]2}|�tj|����|���3dS)Nr.�whatever)rrrr�r#rrr rOr�r|r?r�r�r�r�r�)r[rrorKs    r`�test_weakref_allzGenericTests.test_weakref_allHs����C�L�L���u�Q��V�}�h�s�A�v�&6��c�3�h���4��9�%�v�~�c�3�h�'?��,�u�%�v��z�'B�D���	2�	2�A����^�W�[��^�^�-�-�q�1�1�1�1�	2�	2rbc���td��}Gd�dt|��}|��}|t��}d|_d|_|�t
��5d|_ddd��n#1swxYwY|�t
��5d|_ddd��n#1swxYwYd|dfd�}|�t|t��t����d||��|�t|t��t|t����dS)Nrc��eZdZdZdS)�0GenericTests.test_parameterized_slots.<locals>.C)�potatoN�rkrlrm�	__slots__rnrbr`r=r�Rs������#�I�I�Irbr=rr�c��dSrfrnr�s r`r�z2GenericTests.test_parameterized_slots.<locals>.foo_r�rb)
rr$r�r�r�r��tomator�r,r�r�rr
)r[rr=r��c_intr�s      r`�test_parameterized_slotsz%GenericTests.test_parameterized_slotsPs����C�L�L��	$�	$�	$�	$�	$���
�	$�	$�	$�
�A�C�C����#�����������
�
�
�~�
.�
.�	�	��A�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	�	��E�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	 �1�S�6����������W�Y�Y����A�A�#�F��!��M�M�M�����a��f���x��#��'7�'7�8�8�8�8�8s$�0B�B�B�)B=�=C�Cc��td��}Gd�dt|��}|��}|t��}d|_d|_|�t
��5d|_ddd��n#1swxYwY|�t
��5d|_ddd��dS#1swxYwYdS)Nrc��eZdZddiZdS)�5GenericTests.test_parameterized_slots_dict.<locals>.D�bananar�Nr�rnrbr`r@r�es������!�2��I�I�Irbr@�yes�no)rr$r�r�r�r�r!)r[rr@r��d_ints     r`�test_parameterized_slots_dictz*GenericTests.test_parameterized_slots_dictcsT���C�L�L��	'�	'�	'�	'�	'���
�	'�	'�	'�
�A�C�C����#�����������
�
�
�~�
.�
.�	�	��A�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�~�
.�
.�	 �	 ��E�L�	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s$�0B�B�B�)B>�>C�Cc���|�t��5tttf}Gd�dt
|��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�#GenericTests.test_errors.<locals>.CNr~rnrbr`r=r�vr�rbr=)r�r�rNrKrr$)r[r�r=s   r`r�zGenericTests.test_errorsrs���
�
�
�y�
)�
)�	�	��b�#�g�&�A�
�
�
�
�
�G�A�J�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�3A�A�"Ac�2�Gd�dtt��}|�|jt��|�|jd��|t}|�|jt��|�t|���d��dd��Gd�d|t��}|�|jt��|�|jd	��dS)
Nc��eZdZdS)�#GenericTests.test_repr_2.<locals>.CNr~rnrbr`r=r�zr�rbr=r�rDrEzC[int]c��eZdZdS)�#GenericTests.test_repr_2.<locals>.YNr~rnrbr`r�r��r�rbr�r�)	r$rr�rlrkrmr�r�rG)r[r=r�r�s    r`�test_repr_2zGenericTests.test_repr_2ys0��	�	�	�	�	���
�	�	�	�	
�����x�0�0�0������>�	@�	@�	@�
�c�F�������x�0�0�0�����a�����s�+�+�B�/��:�:�:�	�	�	�	�	��#��	�	�	�	
�����x�0�0�0������>�	@�	@�	@�	@�	@rbc��|�tt��|�tttt��|�tttt
��dSrf)r�r$rr�rrr�s r`�	test_eq_1zGenericTests.test_eq_1�sZ������'�*�*�*�������W�Q�Z�0�0�0����G�B�K����5�5�5�5�5rbc��Gd�dtt��}Gd�dtt��}|�||��|�||��|�|t|t��|�|t|t��dS)Nc��eZdZdS)�!GenericTests.test_eq_2.<locals>.ANr~rnrbr`r�r��r�rbr�c��eZdZdS)�!GenericTests.test_eq_2.<locals>.BNr~rnrbr`r�r��r�rbr�)r$rr�r�r�s   r`�	test_eq_2zGenericTests.test_eq_2�s���	�	�	�	�	���
�	�	�	�	�	�	�	�	���
�	�	�	�	
����A�������A�q�!�!�!�����1��q��t�$�$�$����A�a�D�!�A�$�'�'�'�'�'rbc	��Gd�dtttf��}Gd�dtttf��}Gd�d|ttfttttf|ttf��}|�|jtttf��dS)Nc��eZdZdS)�1GenericTests.test_multiple_inheritance.<locals>.ANr~rnrbr`r�r��r�rbr�c��eZdZdS)�1GenericTests.test_multiple_inheritance.<locals>.BNr~rnrbr`r�r��r�rbr�c��eZdZdS)�1GenericTests.test_multiple_inheritance.<locals>.CNr~rnrbr`r=r��r�rbr=)r$rrrr�r�)r[r�r�r=s    r`�test_multiple_inheritancez&GenericTests.test_multiple_inheritance�s���	�	�	�	�	���2���	�	�	�	�	�	�	�	���A���	�	�	�	�	�	�	�	��!�R�%��'�"�a��)�,�a��A��h�	�	�	�	
����)�B��2�;�7�7�7�7�7rbc���td��}Gd�dt|��}Gd�dtt|��}|�|j|t|ttf��dS)Nrwc��eZdZdS)�9GenericTests.test_multiple_inheritance_special.<locals>.BNr~rnrbr`r�r��r�rbr�c��eZdZdS)�9GenericTests.test_multiple_inheritance_special.<locals>.CNr~rnrbr`r=r��r�rbr=)rr$r r�r�r�r�rT)r[rwr�r=s    r`�!test_multiple_inheritance_specialz.GenericTests.test_multiple_inheritance_special�st���C�L�L�� � � � � ���
� � � �"�"�"�"�"��S�	�1�"�"�"������Q��a��&�$A�B�B�B�B�Brbc����Gd�dt���G��fd�d���Gd�dtt���}|����5Gd�d|��}ddd��n#1swxYwY|����5Gd	�d
|t��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�DGenericTests.test_init_subclass_super_called.<locals>.FinalExceptionNr~rnrbr`�FinalExceptionr��r�rbr�c�&���eZdZd���fd�Z�xZS)�;GenericTests.test_init_subclass_super_called.<locals>.Finalr�Nc���|jD]!}|�urt|���r�|����"t��jdi|��dSr�)r�rXr�r�)r\r�rdr&r�r�s   ���r`r�zMGenericTests.test_init_subclass_super_called.<locals>.Final.__init_subclass__�sb����M�3�3�D��5�(�(�Z��e�-D�-D�(�,�n�T�2�2�2��)����)�3�3�F�3�3�3�3�3rbrfr�)r�r&r�s@��r`r&r��sH��������
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4rbr&c��eZdZdS)�:GenericTests.test_init_subclass_super_called.<locals>.TestNr~rnrbr`r�r��r�rbr�c��eZdZdS)�>GenericTests.test_init_subclass_super_called.<locals>.SubclassNr~rnrbr`�Subclassr��r�rbr�c��eZdZdS)�?GenericTests.test_init_subclass_super_called.<locals>.Subclass2Nr~rnrbr`�	Subclass2r��r�rbr�)�	Exceptionr$rr�r�)r[r�r�r�r&r�s    @@r`�test_init_subclass_super_calledz,GenericTests.test_init_subclass_super_called�s�����	�	�	�	�	�Y�	�	�	�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	�	�	�	�	�7�1�:�u�	�	�	�
�
�
�~�
.�
.�	�	�
�
�
�
�
�4�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�~�
.�
.�	�	�
�
�
�
�
�D��I�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�A5�5A9�<A9�B<�<C�Cc��t}Gd�d|t��}|tjt}Gd�d|��}|��}|�g��|�d��|�d��|�|���ddg��dS)Nc�0�eZdZdZdefd�Zd�Zdefd�ZdS)�)GenericTests.test_nested.<locals>.VisitorNrc��||_dSrfr��r[rs  r`rCz-GenericTests.test_nested.<locals>.Visitor.set�r�rbc��|jSrfr�r�s r`rZz-GenericTests.test_nested.<locals>.Visitor.get��	���v�
rbr�c��|jSrfr�r�s r`�visitz/GenericTests.test_nested.<locals>.Visitor.visit�r�rb)rkrlrmrrrCrZr�rnrbr`�Visitorr��s^�������A�
�Q�
�
�
�
�
�
�
�
�q�
�
�
�
�
�
rbr�c��eZdZdefd�ZdS)�0GenericTests.test_nested.<locals>.IntListVisitorr�c�:�|j�|��dSrf)rr�r�s  r`r�z7GenericTests.test_nested.<locals>.IntListVisitor.append�s����
�
�a� � � � � rbN)rkrlrmr�r�rnrbr`�IntListVisitorr��s/������
!��
!�
!�
!�
!�
!�
!rbr�rqr�)	r$rrOr r�rCr�r�rZ)r[ryr�r�r�rs      r`�test_nestedzGenericTests.test_nested�s�����	�	�	�	�	�a��d�	�	�	�
�F�K��$�%��	!�	!�	!�	!�	!�Q�	!�	!�	!�

�N����	���b�	�	�	�	�������	���������������1�b�'�*�*�*�*�*rbc�����td���G�fd�dt����d�f���fd�}|d��dS)Nrc�*��eZdZ		dd�ddddfd�ZdS)�,GenericTests.test_type_erasure.<locals>.NodeNrj�left�Node[T]�rightc�0�||_||_||_dSrf�rjr�r�)r[rjr�r�s    r`r�z5GenericTests.test_type_erasure.<locals>.Node.__init__�s��#��
� ��	�"��
�
�
rb�NNr�r�s�r`r�r��sK�������+/�,0�
#�
#�a�
#�(�
#� )�
#�
#�
#�
#�
#�
#rbr�r�c�����|��}��|��}�t|��}��t|�������t|�������t|�������|j|����|j|����|j|��dSrf)rr�r�r�rj)r�rr�r�r�rr[s    ���r`r�z+GenericTests.test_type_erasure.<locals>.foo�s������Q���A���Q���
�
�A���S�	�!���A��M�M�$�q�'�'�4�(�(�(��M�M�$�q�'�'�4�(�(�(��M�M�$�q�'�'�4�(�(�(����Q�W�a�(�(�(����Q�W�a�(�(�(����Q�W�a�(�(�(�(�(rbr��rr$)r[r�r�rs` @@r`r�zGenericTests.test_type_erasure�s�������C�L�L��	#�	#�	#�	#�	#�	#�	#�7�1�:�	#�	#�	#�		)�1�		)�		)�		)�		)�		)�		)�		)�		)�	��B�����rbc��td��}Gd�dt|��}Gd�d|��}|�|jd��|�t
��5|tddd��n#1swxYwY|�t
��5|tddd��n#1swxYwY|�t
��5||ddd��dS#1swxYwYdS)Nrc��eZdZdS)�)GenericTests.test_implicit_any.<locals>.CNr~rnrbr`r=r��r�rbr=c��eZdZdS)�)GenericTests.test_implicit_any.<locals>.DNr~rnrbr`r@r��r�rbr@rn)rr$r�r�r�r�r�rr�s    r`�test_implicit_anyzGenericTests.test_implicit_any�s����C�L�L��	�	�	�	�	���
�	�	�	�	�	�	�	�	��	�	�	�	
����)�2�.�.�.�
�
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	�
�a�D�D�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s6�,B�B
�
B
�+C�C	�C	�*	D�D�Dc���Gd�dtt��}Gd�d��}Gd�d||��}|d��}|�|jd��dS)Nc��eZdZdS)�*GenericTests.test_new_with_args.<locals>.ANr~rnrbr`r�r�
r�rbr�c���eZdZ�fd�Z�xZS)�*GenericTests.test_new_with_args.<locals>.Bc�X��t���|��}||_|Srf)r�r�r��r\r�r�r�s   �r`r�z2GenericTests.test_new_with_args.<locals>.B.__new__s$����g�g�o�o�c�*�*������
rbr�r�s@r`r�r��8�������
�
�
�
�
�
�
�
�
rbr�c��eZdZdS)�*GenericTests.test_new_with_args.<locals>.CNr~rnrbr`r=r�r�rbr=r�)r$rr�r��r[r�r�r=r�s     r`�test_new_with_argszGenericTests.test_new_with_argss���	�	�	�	�	���
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��1�	�	�	�
�A�e�H�H��������&�&�&�&�&rbc���Gd�d��}Gd�dtt|��}|d��}|�|jd��|�|jd��dS)Nc���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Ac�V��||_t�����dSrf)�from_ar�r��r[r�r�s  �r`r�z4GenericTests.test_new_with_args2.<locals>.A.__init__!s&���!������ � �"�"�"�"�"rbr�r�s@r`r�r� s8�������
#�
#�
#�
#�
#�
#�
#�
#�
#rbr�c���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Cc�X��||_t���|��dSrf)�from_cr�r�r�s  �r`r�z4GenericTests.test_new_with_args2.<locals>.C.__init__(s(���!������ � ��%�%�%�%�%rbr�r�s@r`r=r�'s8�������
&�
&�
&�
&�
&�
&�
&�
&�
&rbr=r�)r$rr�r�r�)r[r�r=r�s    r`�test_new_with_args2z GenericTests.test_new_with_args2s���	#�	#�	#�	#�	#�	#�	#�	#�	&�	&�	&�	&�	&���
�A�	&�	&�	&�
�A�e�H�H�������5�)�)�)������5�)�)�)�)�)rbc��Gd�dtt��}|�t��5|d��ddd��n#1swxYwYGd�d��}Gd�d||��}|d��}|�|jd��|�|jd��|�|jd	��dS)
Nc��eZdZdS)�(GenericTests.test_new_no_args.<locals>.ANr~rnrbr`r�r�3r�rbr�r�c���eZdZ�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Bc�X��t���|��}d|_|S)Nr�)r�r��from_b)r\r�r�s  �r`r�z0GenericTests.test_new_no_args.<locals>.B.__new__:�$����g�g�o�o�c�*�*�� ��
��
rbr�r�s@r`r�r	9r�rbr�c�$��eZdZd�Z�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Cc��||_dSrfr�rzs  r`r�z1GenericTests.test_new_no_args.<locals>.C.__init__Bs
������rbc�X��t���|��}d|_|S)Nr�)r�r�r�r�s   �r`r�z0GenericTests.test_new_no_args.<locals>.C.__new__Er	rb)rkrlrmr�r�r�r�s@r`r=r	AsG�������
�
�
�
�
�
�
�
�
�
�
�
rbr=r�r�)r$rr�r�r�r�r	r�r�s     r`�test_new_no_argszGenericTests.test_new_no_args1sY��	�	�	�	�	���
�	�	�	��
�
�y�
)�
)�	�	�
�A�e�H�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��1�	�	�	�
�A�e�H�H��������&�&�&������3�'�'�'������3�'�'�'�'�'s�A�A�Ac
�0�tttttttft
ttdtttd��fttfD]�}|�
|���5|�tdtjd|�����d���5Gd�d|��}ddd��n#1swxYwYddd��n#1swxYwY��dS)	Nrr�)r^�^zCannot subclass �$c��eZdZdS)�4GenericTests.test_subclass_special_form.<locals>.FooNr~rnrbr`r�r	^��������rbr�)r%r�r&rr�rrrFrErIrxrr��re�escape)r[r�r�s   r`�test_subclass_special_formz'GenericTests.test_subclass_special_formPs����S�M��#�J��#�u�*���S�M��D�M���Y�s�^�^�+�,��c�N�
�	�	�C����#��&�&�
�
��+�+�!�#O�r�y�1K�C�1K�1K�'L�'L�#O�#O�#O����������c����������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s6�#5D
�C3�'D
�3C7�7D
�:C7�;D
�
D	�D	c��tdd���}Gd�dt|��}td��}Gd�d|t|��}dS)	NrvTrwc��eZdZdS)�2GenericTests.test_complex_subclasses.<locals>.BaseNr~rnrbr`rr	drrbrrc��eZdZdS)�1GenericTests.test_complex_subclasses.<locals>.SubNr~rnrbr`r�r	jrrbr�r�)r[rvrrr�s     r`�test_complex_subclassesz$GenericTests.test_complex_subclassesas����v��.�.�.��	�	�	�	�	�7�4�=�	�	�	�
�C�L�L��	�	�	�	�	�$���
�	�	�	�	�	rbc	�>�|�ttjtf��|�tttjtf��Gd�d��}ttfD]�}|t
ttttj
tjfD]w}|�||���5|�
td��5||tddd��n#1swxYwYddd��n#1swxYwY�x��|�t|��jtf��|�t|��jtf��dS)Nc��eZdZefZdS)�0GenericTests.test_parameter_detection.<locals>.AN)rkrlrmrr�rnrbr`r�r	ps�������T�N�N�Nrbr�)r��subz.* is not a generic class)r�r rr�r�r�rrrEr�r��	UnionTyperxrr�r|)r[r�rr�s    r`�test_parameter_detectionz%GenericTests.test_parameter_detectionms�������a��/�!��6�6�6�����d�1�g��5��t�<�<�<�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�A���g�|�Y��@R�TY�Tc�d�
"�
"���\�\�!��\�3�3�"�"��/�/�	�;V�W�W�"�"��!��S�	�	�"�"�"�"�"�"�"�"�"�"�"����"�"�"�"�"�"�"�"�"�"�"�"�"�"�"����"�"�"�"��
"�	
����a�a�c�c��1�A�4�8�8�8�����a�a�c�c��1�A�4�8�8�8�8�8s6�D(�1D	�D(�D
�D(�D
�D(�(D,�/D,c
����td���Gd�dt���}G�fd�d��}t||tttt
ttjtj	f
D�]�}ttfD]�}|�||���5|�
||�ft||tf��|�
|�|ft|t|f��||}|�t��5|tddd��n#1swxYwYddd��n#1swxYwY��t t"jjfD]�}|�||���5|�
||g�ft||gtf��|�
|�g|ft|tg|f��||g|f}|�t��5|tddd��n#1swxYwYddd��n#1swxYwY����dS)Nrc��eZdZdS)�2GenericTests.test_non_generic_subscript.<locals>.GNr~rnrbr`ryr!	�r�rbryc���eZdZ�fZdS)�2GenericTests.test_non_generic_subscript.<locals>.AN)rkrlrmr�r�s�r`r�r#	�s��������T�N�N�Nrbr�)r�r	)�callabler	)rr$r�r r�rrEr�r�r	rr�rxr�r�r�r#r�r�)r[ryr�r�rKrr�rs       @r`�test_non_generic_subscriptz'GenericTests.test_non_generic_subscript~s`����C�L�L��	�	�	�	�	���
�	�	�	�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"��q�!�T�4��<���$�e�o�7�	�	�A��E�\�
�
���\�\��q�\�1�1����$�$�Q�q�!�t�W�S�\�1�Q��V�9�=�=�=��$�$�Q�q�!�t�W�S�\�1�S�!�V�9�=�=�=��!��A��*�*�9�5�5����#���������������������	��������������������{��7�7�
�
���\�\�1�!�\�4�4����$�$�Q��s�A�v�Y�s�^�Q��s�C�x�[�A�A�A��$�$�Q��s�A�v�Y�s�^�Q��u�a�x�[�A�A�A��1�#�q�&�	�A��*�*�9�5�5����#���������������������	�������������������
�	�	sn�!BE!�0E
	�>E!�
E
�E!�E
�E!�!E%�(E%�BI%�4I	�I%�I
�I%�I
�I%�%I)�,I)N)9rkrlrmr5r~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr.r9rIrKrMr]rer�rpryr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r		r	r	r	r%	rnrbr`rmrm�
sc������E�E�E�&���2���%�%�%�(B�B�B�+�+�+�0	>�	>�	>�

�

�

����5�5�5�"	;�	;�	;�5�5�5�6���2�2�2�
)�)�)�&S�S�S�C�C�C�
"?�"?�"?�H?�?�?�"I�I�I�(C�(C�(C�TP�P�P� 	4�	4�	4�M�M�M�4%
�%
�%
�N9�9�9�: � � �"�"�"�F�F�F�"
1�
1�
1�"'�"'�"'�H-�-�-�.�.�.�84�4�4�02�2�2�9�9�9�&
 �
 �
 ����@�@�@�$6�6�6�
(�(�(�8�8�8�C�C�C����&+�+�+�<���0���$'�'�'�&*�*�*�&(�(�(�>���"
�
�
�9�9�9�"����rbrmc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
ClassVarTestsc�<�|�t��5tttfddd��n#1swxYwY|�t��5tttddd��dS#1swxYwYdSrf)r�r�r%r�r|r�s r`r5zClassVarTests.test_basics�s��
�
�
�y�
)�
)�	�	��S�#�X���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��S�M�#���	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A�A�&B�B�Bc�:�|�tt��d��tt}|�t|��d��tt}|�t|��dt
z��dS)Nztyping.ClassVar�typing.ClassVar[int]ztyping.ClassVar[%s.Employee])r�r�r%r�r}rk�r[�cvs  r`r�zClassVarTests.test_repr�sw������h���):�;�;�;�
�c�]������b���#9�:�:�:�
�h�
������b���#A�H�#L�M�M�M�M�Mrbc	�f�|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dttt����}ddd��dS#1swxYwYdS)Nc��eZdZdS)�-ClassVarTests.test_cannot_subclass.<locals>.CNr~rnrbr`r=r/	�r�rbr=c��eZdZdS)�-ClassVarTests.test_cannot_subclass.<locals>.DNr~rnrbr`r@r1	�r�rbr@)r�r�r�r%r�rAs   r`r�z"ClassVarTests.test_cannot_subclass�sK��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��N�N�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��#��'�'�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�#�!A�A�A�-,B&�&B*�-B*c���|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5tttt
����ddd��dS#1swxYwYdSrf)r�r�r%r�rr�r�s r`rDzClassVarTests.test_cannot_init����
�
�
�y�
)�
)�	�	��J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��N�N����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	,�	,�)�D��(�3�-�(�)�)�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,�0�6�:�:�B�B�B�)3C)�)C-�0C-c�D�|�t��5tdtt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSrF)r�r�r�r%r�rXr�s r`rGz ClassVarTests.test_no_isinstance����
�
�
�y�
)�
)�	)�	)��q�(�3�-�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
�
�
�y�
)�
)�	&�	&��s�H�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&�#�!A�A�A�-B�B�BN�rkrlrmr5r�r�rDrGrnrbr`r'	r'	�sb���������N�N�N����,�,�,�&�&�&�&�&rbr'	c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
FinalTestsc��tt|�t��5tttfddd��n#1swxYwY|�t��5tttddd��n#1swxYwY|�t��5t
ttddd��dS#1swxYwYdSrf)r&r�r�r�r|rr�s r`r5zFinalTests.test_basics�s~��
�c�
�
�
�
�
�y�
)�
)�	�	��#�s�(�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��#�J�s�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	!�	!��U�3�Z� � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s5�A�A�A�8B"�"B&�)B&�C2�2C6�9C6c��|�tt��d��tt}|�t|��d��tt}|�t|��dt
z��ttt}|�t|��d��dS)Nztyping.Finalztyping.Final[int]ztyping.Final[%s.Employee]ztyping.Final[tuple[int]])r�r�r&r�r}rkr�r+	s  r`r�zFinalTests.test_repr�s�������e���n�5�5�5�
�3�Z������b���#6�7�7�7�
�8�_������b���#>��#I�J�J�J�
�5��:�
������b���#=�>�>�>�>�>rbc	�f�|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dttt����}ddd��dS#1swxYwYdS)Nc��eZdZdS)�*FinalTests.test_cannot_subclass.<locals>.CNr~rnrbr`r=r@	�r�rbr=c��eZdZdS)�*FinalTests.test_cannot_subclass.<locals>.DNr~rnrbr`r@rB	�r�rbr@)r�r�r�r&r�rAs   r`r�zFinalTests.test_cannot_subclass�sK��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��K�K�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��s��$�$�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r2	c���|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5tttt
����ddd��dS#1swxYwYdSrf)r�r�r&r�rr�r�s r`rDzFinalTests.test_cannot_init�s���
�
�
�y�
)�
)�	�	��G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��K�K�M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	)�	)�&�D��x��}�%�&�&�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)r5	c�D�|�t��5tdtt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSrF)r�r�r�r&r�rXr�s r`rGzFinalTests.test_no_isinstance�s��
�
�
�y�
)�
)�	&�	&��q�%��*�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�
�
�y�
)�
)�	#�	#��s�E�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#r8	Nr9	rnrbr`r;	r;	�s_������!�!�!�?�?�?����)�)�)�#�#�#�#�#rbr;	c��eZdZd�Zd�ZdS)�FinalDecoratorTestsc�R�d�}|�|t|����dS)Nc��dSrfrnr�s r`�funcz7FinalDecoratorTests.test_final_unmodified.<locals>.func�r�rb)r�r'�r[rI	s  r`�test_final_unmodifiedz)FinalDecoratorTests.test_final_unmodified�s+������
�
�d�E�$�K�K�(�(�(�(�(rbc���td���}tGd�d����}|�d|j��|�d|j��Gd�d��}t|d�����}|�||��|�dt	|d	����Gd
�dt
��}tGd�d
|�����}|�|jd��tt��|�dt	td	����Gd�d��}|�dtj	|d��j��|�dtj	|d��j��|�d|j
jj��|�d|jj��dS)Nc��dSrfrnrnrbr`rI	z3FinalDecoratorTests.test_dunder_final.<locals>.func�����Crbc��eZdZdS)�2FinalDecoratorTests.test_dunder_final.<locals>.ClsNr~rnrbr`�ClsrP	�s�������3rbrQ	Tc��eZdZdZd�Zd�ZdS)�6FinalDecoratorTests.test_dunder_final.<locals>.Wrapper�rI	c��||_dSrfrT	rJ	s  r`r�z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__init__�r�rbc��|j|i|��SrfrT	r�s   r`r�z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__call__�s�� �t�y�$�1�&�1�1�1rbN)rkrlrmr�r�r�rnrbr`�WrapperrS	�s7������!�I�
!�
!�
!�
2�
2�
2�
2�
2rbrW	c��dSrfrnrnrbr`�wrappedz6FinalDecoratorTests.test_dunder_final.<locals>.wrappeds���srbF�	__final__c�$�eZdZed���ZdS)�3FinalDecoratorTests.test_dunder_final.<locals>.Metac��dS)N�can't set mernr�s r`rZ	z=FinalDecoratorTests.test_dunder_final.<locals>.Meta.__final__s��(6�rbN)rkrlrmr�rZ	rnrbr`rr\	s#������
�6�6��X�6�6�6rbrc��eZdZdS)�7FinalDecoratorTests.test_dunder_final.<locals>.WithMetaNr~rnrbr`�WithMetar`		s������(+�rbra	rmr^	c��eZdZeed�����Zeed�����Zeed�����Z	ee
��d�����ZdS)�6FinalDecoratorTests.test_dunder_final.<locals>.Methodsc��dSrfrn�r\s r`�	clsmethodz@FinalDecoratorTests.test_dunder_final.<locals>.Methods.clsmethods�� #�rbc��dSrfrnrnrbr`�stmethodz?FinalDecoratorTests.test_dunder_final.<locals>.Methods.stmethod����Crbc��dSrfrnr�s r`�propz;FinalDecoratorTests.test_dunder_final.<locals>.Methods.propri	rbc��dSrfrnr�s r`�cachedz=FinalDecoratorTests.test_dunder_final.<locals>.Methods.cached"s��!�crbN)rkrlrmr'rmrf	�staticmethodrh	r�rk	rrm	rnrbr`�Methodsrc	s�������
�
�#�#��[��U�#�
�
����\��U���
����U��X��
�
�Y�[�[�!�!��[��U�!�!�!rbro	rf	rh	)
r'r�rZ	r�r�r�r�r��inspect�getattr_staticrk	�fgetrm	)r[rI	rQ	rW	rY	rra	ro	s        r`�test_dunder_finalz%FinalDecoratorTests.test_dunder_final�s/��	���
���	��������
����
�
�d�D�N�+�+�+��
�
�d�C�M�*�*�*�	2�	2�	2�	2�	2�	2�	2�	2�
�	���
��
������g�w�/�/�/��
�
�e�W�W�k�:�:�;�;�;�	7�	7�	7�	7�	7�4�	7�	7�	7�
�+�+�+�+�+��+�+�+�
��+�����+�^�<�<�<�	�c�
�
�
��
�
�e�W�S�+�6�6�7�7�7�	"�	"�	"�	"�	"�	"�	"�	"�*	
�
�
���"�7�K�8�8�B�	
�	
�	
�	
�
�
���"�7�J�7�7�A�	
�	
�	
�	
�
�
�d�G�L�-�7�8�8�8��
�
�d�G�N�4�5�5�5�5�5rbN)rkrlrmrK	rs	rnrbr`rF	rF	�s7������)�)�)�B6�B6�B6�B6�B6rbrF	c��eZdZd�Zd�ZdS)�	CastTestsc���|�ttd��d��|�ttd��d��|�tttd����t��|�ttd��d��|�ttd��d��|�ttttfd��d��|�ttd��d��|�tdd��d��dSr�)r�r*r�r�r�r�rr�rr|rr�s r`r5zCastTests.test_basics6s������c�2����+�+�+�����e�R���"�-�-�-��
�
�d�4��r�?�?�+�+�S�1�1�1�����c�2����+�+�+�����d�B����,�,�,�����e�C��J�/��4�4�b�9�9�9�����f�b�)�)�2�.�.�.�����d�B����,�,�,�,�,rbc�F�tdd��tdd��dS�Nr��hello)r*r�s r`r�zCastTests.test_errors@s%���R������W�b�����rbN�rkrlrmr5r�rnrbr`ru	ru	4s2������-�-�-�����rbru	c��eZdZd�Zd�ZdS)�AssertTypeTestsc�X�d}|�t|t��|��|�t|ttz��|��|�t|t
��|��|�t|d��|��dSr�)r�r)r�r|r�rrzs  r`r5zAssertTypeTests.test_basicsHs������
�
�k�#�s�+�+�S�1�1�1��
�
�k�#�s�U�{�3�3�S�9�9�9��
�
�k�#�v�.�.��4�4�4��
�
�k�#�t�,�,�c�2�2�2�2�2rbc��d}|�t|d��|��|�t|d��|��dSrx	)r�r)rzs  r`r�zAssertTypeTests.test_errorsOsI�����
�
�k�#�r�*�*�C�0�0�0��
�
�k�#�w�/�/��5�5�5�5�5rbNrz	rnrbr`r|	r|	Fs2������3�3�3�6�6�6�6�6rbr|	)�ann_module8c�&�eZdZejjZdS)�NoTypeCheck_OuterN)rkrlrmr	r�	�Innerrnrbr`r�	r�	Ys�������)�/�E�E�Erbr�	c��eZdZejZdS)�NoTypeCheck_WithFunctionN)rkrlrmr	�NoTypeCheck_functionrnrbr`r�	r�	]s������&�;���rbr�	c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%S)&�ForwardRefTestsc�B�Gd�dtt��}|t}t|jt��t
����}|�|dt|t��|�|d|t��|�|dt��|�	d|��t|j
t��t
����}|�|dt|t��t|jt��t
����}|�|d|t��dS)Nc�X�eZdZdefd�Z			d
dddddefd	�Zd
edfd�Zddd�Z	dS)�)ForwardRefTests.test_basics.<locals>.Noderjc�0�||_dx|_|_dSrfr�)r[rjs  r`r�z2ForwardRefTests.test_basics.<locals>.Node.__init__hs��"��
�)-�-��	�D�J�J�JrbNr�zOptional[Node[T]]r�r��stuffc�"�||_||_dSrf)r�r�)r[r�r�r�	�blahs     r`�add_bothz2ForwardRefTests.test_basics.<locals>.Node.add_bothls��
!��	�"��
�
�
rb�nodec�2�|�|d��dSrf�r�	�r[r�	s  r`�add_leftz2ForwardRefTests.test_basics.<locals>.Node.add_leftt����
�
�d�D�)�)�)�)�)rbc�2�|�d|��dSrfr�	r�	s  r`�	add_rightz3ForwardRefTests.test_basics.<locals>.Node.add_rightwr�	rb)NNNrf)r�	r�)
rkrlrmrr�r�r�	rr�	r�	rnrbr`r�r�	fs�������
.�a�
.�
.�
.�
.�-1�&*�"�	
#�
#�2�
#� )�
#�!$�
#�
#�
#�
#�
*�X�i�%8�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*rbr�r�r�r�	r�	r�	)r$rr�r,r�	r�r�r�r�assertNotInr�	r�	)r[r�rK�
both_hints�
left_hints�right_hintss      r`r5zForwardRefTests.test_basicsdsI��	*�	*�	*�	*�	*�7�1�:�	*�	*�	*�(
��I��#�A�J��	�	�6�8�8�D�D�
�����F�+�X�d�1�g�->�?�?�?�����G�,�d�1�g�6�6�6�����G�,�c�2�2�2������,�,�,�#�A�J��	�	�6�8�8�D�D�
�����F�+�X�d�1�g�->�?�?�?�$�Q�[�'�)�)�V�X�X�F�F������V�,�d�1�g�6�6�6�6�6rbc��tjd��}|�t��5t	d|��ddd��dS#1swxYwYdS)Nr�r�)rOrAr�r�r��r[�frs  r`�#test_forwardref_instance_type_errorz3ForwardRefTests.test_forwardref_instance_type_error�s���
�
�u�
%�
%��
�
�
�y�
)�
)�	�	��r�2����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rDc��tjd��}|�t��5t	t
|��ddd��dS#1swxYwYdS)Nr�)rOrAr�r�rXr�r�	s  r`�#test_forwardref_subclass_type_errorz3ForwardRefTests.test_forwardref_subclass_type_error�s���
�
�u�
%�
%��
�
�
�y�
)�
)�	 �	 ��s�B����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�A�A�Ac��|�t��5tjd��ddd��dS#1swxYwYdSrF)r�r�rOrAr�s r`�test_forwardref_only_str_argz,ForwardRefTests.test_forwardref_only_str_arg�s���
�
�
�y�
)�
)�	!�	!���a� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�=�A�Ac�&�tjd��}|�|tjd����|�tdtt
��|�|tjdt�����tjdt���}|�|tjdt�����|�|tjdd�����dS)Nr���module�__other_name__)rOrAr�r�r r�rk)r[r�	�frms   r`�test_forward_equalityz%ForwardRefTests.test_forward_equality�s���
�
�u�
%�
%������V�.�u�5�5�6�6�6����D��K��c��3�3�3����B�� 1�%�� I� I� I�J�J�J����h�7�7�7������f�/��h�G�G�G�H�H�H����C��!2�5�AQ�!R�!R�!R�S�S�S�S�Srbc��tjd��}tjd��}tjd��}tjd��}Gd�d��}d|d|fd�}|�t|t	��t����||d���|�||��|�||��|�||��|�t|t|��|�t|t|��|�t|t|��|�t||ft|��|�t||tft|tf��dS)Nr=c��eZdZdS)�4ForwardRefTests.test_forward_equality_gth.<locals>.CNr~rnrbr`r=r�	�r�rbrr�c��dSrfrn�rr�s  r`r�z6ForwardRefTests.test_forward_equality_gth.<locals>.foo�r�rbr�	)
rOrAr�r,r�r�r r�rr�)r[r�c1_gthr�c2_gthr=r�s       r`�test_forward_equality_gthz)ForwardRefTests.test_forward_equality_gth�s���
�
�s�
#�
#���"�3�'�'��
�
�s�
#�
#���"�3�'�'��	�	�	�	�	�	�	�	�	�6�	�f�	�	�	�	�	
�����W�Y�Y����A�A��QR�CS�CS�T�T�T�����R� � � �����V�$�$�$������(�(�(�����b��4��<�0�0�0����D��H�d�1�g�.�.�.����D��L�$�q�'�2�2�2�����r�6�z�*�E�"�I�6�6�6�����r�6�3��/��r�3�w��@�@�@�@�@rbc	�<�tjd��}tjd��}tjd��}tjd��}d|d|fd�}t|t��t	����|�t
|��t
|����|�t
|��t
|����|�t
|��t
|����tjdt���}tjdd���}|�t
|��t
|����|�t
|��t
|����|�t
|��t
|����|�t
|��t
tjdt�������dS)Nr�rr�c��dSrfrnr�	s  r`r�z7ForwardRefTests.test_forward_equality_hash.<locals>.foo�r�rbr�	r�	)	rOrAr,r�r�r�rqrkr�)r[rr�	rr�	r��c3�c4s        r`�test_forward_equality_hashz*ForwardRefTests.test_forward_equality_hash�s���
�
�u�
%�
%���"�5�)�)��
�
�u�
%�
%���"�5�)�)��	�6�	�f�	�	�	�	��s�G�I�I�v�x�x�0�0�0�����b���4��8�8�,�,�,�����f���t�F�|�|�4�4�4�����b���4��<�<�0�0�0�
�
�u�X�
6�
6�
6��
�
�u�-=�
>�
>�
>�����D��H�H�d�2�h�h�/�/�/����D��H�H�d�6�l�l�3�3�3����D��H�H�d�2�h�h�/�/�/�����b���4��(9�%��(Q�(Q�(Q�#R�#R�S�S�S�S�Srbc���Gd�d��}d�}d�}|�|��|����|�|��|����dS)Nc��eZdZdS)�:ForwardRefTests.test_forward_equality_namespace.<locals>.ANr~rnrbr`r�r�	�r�rbr�c��tjd��}d|fd�}t|t��t	����|S)Nr�r�c��dSrfrnr�s r`r�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace1.<locals>.fun�r�rb�rOrAr,r�r�)rr�s  r`�
namespace1zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace1�sL���!�#�&�&�A�
�q�
�
�
�
��3��	�	�6�8�8�4�4�4��Hrbc��tjd��}Gd�d��}d|fd�}t|t��t	����|S)Nr�c��eZdZdS)�NForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.ANr~rnrbr`r�r�	�r�rbr�c��dSrfrnr�s r`r�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.fun�r�rbr�	)rr�r�s   r`�
namespace2zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace2�sv���!�#�&�&�A�
�
�
�
�
�
�
�
�
�q�
�
�
�
�
�3��	�	�6�8�8�4�4�4��Hrb)r�r�)r[r�r�	r�	s    r`�test_forward_equality_namespacez/ForwardRefTests.test_forward_equality_namespace�s���	�	�	�	�	�	�	�	�	�	�	�		�		�		�	
�������z�z�|�|�4�4�4����J�J�L�L�*�*�,�,�7�7�7�7�7rbc	���|�ttd��d��|�tttdd�����d��dS)Nr�ztyping.List[ForwardRef('int')]�modr�	z,typing.List[ForwardRef('int', module='mod')])r�r�r rAr�s r`�test_forward_reprz!ForwardRefTests.test_forward_repr�sk������d�5�k�*�*�,L�M�M�M�����d�:�e�E�#B�#B�#B�C�D�D�G�	I�	I�	I�	I�	Irbc��dtdfd�}|�t|t��t	����dtt
i��dttd��tzfd�}|�t|t��t	����dtt
tzi��dS)Nrrc��dSrfrnr�s r`r�z/ForwardRefTests.test_union_forward.<locals>.foo�r�rbc��dSrfrnr�s r`r�z/ForwardRefTests.test_union_forward.<locals>.foo�r�rb)	rr�r,r�r�rr�rAr��r[r�s  r`�test_union_forwardz"ForwardRefTests.test_union_forward�s���	�5��:�	�	�	�	�	
�����W�Y�Y����A�A��u�Q�x��	*�	*�	*�	�5��C���)�C�/�	�	�	�	�	
�����W�Y�Y����A�A��u�Q�x�#�~�.�	0�	0�	0�	0�	0rbc��dtdfd�}|�t|t��t	����dtt
i��dttd��fd�}|�t|t��t	����dtt
i��dS)Nrrc��dSrfrnr�s r`r�z/ForwardRefTests.test_tuple_forward.<locals>.foo�r�rbc��dSrfrnr�s r`r�z/ForwardRefTests.test_tuple_forward.<locals>.foo�r�rb)rr�r,r�r�rr�rAr�	s  r`�test_tuple_forwardz"ForwardRefTests.test_tuple_forward�s���	�5��:�	�	�	�	�	
�����W�Y�Y����A�A��u�Q�x��	*�	*�	*�	�5��C���)�	�	�	�	�	
�����W�Y�Y����A�A��u�Q�x��	*�	*�	*�	*�	*rbc��dd�}|�t|t��t����dtt
i��dS)Nr�List['int']c��dSrfrnr�s r`r�z0ForwardRefTests.test_double_forward.<locals>.foor�rb)rr�	)r�r,r�r�r r�r�	s  r`�test_double_forwardz#ForwardRefTests.test_double_forwardsZ��	�	�	�	������W�Y�Y����A�A��t�C�y�)�	+�	+�	+�	+�	+rbc��d�}d�}d�}|��}|��}|�||��|�t|||��dS)Nc��tjd��}|}d|fd�}t|t��t	����}|S)Nr�r�c��dSrfrnr�s r`r�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace1.<locals>.funr�rbr�	�rr�r��rets    r`r�	zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace1	�F���!�#�&�&�A��A��q����� ��g�i�i����:�:�C��Hrbc��tjd��}|}d|fd�}t|t��t	����}|S)Nr�r�c��dSrfrnr�s r`r�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace2.<locals>.funr�rbr�	r�	s    r`r�	zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace2r�	rbc��||kSrfrn)�o1�o2s  r`�cmpz<ForwardRefTests.test_forward_recursion_actually.<locals>.cmps����8�Orb)r~r��RecursionError)r[r�	r�	r�	�r1�r2s      r`�test_forward_recursion_actuallyz/ForwardRefTests.test_forward_recursion_actuallys}��	�	�	�	�	�	�	�	�	��Z�\�\��
�Z�\�\������R� � � ����.�#�r�2�6�6�6�6�6rbc�|���td�tt�f�G�fd�d��}G��fd�d��}G��fd�d��}G��fd�d	��}|�t	|t��t
����t	|t��t
������|�t	|t��t
����d
tttttttdffi��|�t	|t��t
����d
ttttttdffi��|�t	|t��t
����d
ttttttttdffttttdffi��|�t	|t��t
����d
ttttttdftttttttdfffi��dS)N�Valuec�(��eZdZUe�ed<dS)�7ForwardRefTests.test_union_forward_recursion.<locals>.Cr�N)rkrlrmr r�)r�	s�r`r=r�	%s#���������e������rbr=c�,��eZdZUe��fed<dS)�7ForwardRefTests.test_union_forward_recursion.<locals>.Dr�N)rkrlrmrr��r�	�	ValueLists��r`r@r�	's)���������u�i�'�(�(�(�(�(�(rbr@c�8��eZdZUee��fed<dS)�7ForwardRefTests.test_union_forward_recursion.<locals>.Er�N�rkrlrmrr r�r�	s��r`rwr�	)s-���������t�E�{�I�-�.�.�.�.�.�.rbrwc�:��eZdZUe�e��fed<dS)�7ForwardRefTests.test_union_forward_recursion.<locals>.Fr�Nr�	r�	s��r`rxr�	+s/���������u�d�5�k�9�4�5�5�5�5�5�5rbrxr�)r rr|r�r,r�r�)r[r=r@rwrxr�	r�	s     @@r`�test_union_forward_recursionz,ForwardRefTests.test_union_forward_recursion!s�������M�	��c�9�n�%��	�	�	�	�	�	�	�	�	�	�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	
�����7�9�9�f�h�h�?�?��PQ�SZ�S\�S\�^d�^f�^f�Ag�Ag�h�h�h������7�9�9�f�h�h�?�?���e�C��e�C��g��<N�6O�1P�,P�&Q�!R�S�	U�	U�	U������7�9�9�f�h�h�?�?���s�D��s�D��M�7I�1J�,K�'K�!L�M�	O�	O�	O������7�9�9�f�h�h�?�?���!�%��T�%��T�'�]�8J�2K�-L�(L�"M�N�!�%��T�'�]�(:�";�<�=�"��	�	�	�	
�����7�9�9�f�h�h�?�?��� �!�%��T�'�]�(:�";�<�!�%��T�%��T�'�]�8J�2K�-L�(L�"M�N�O�"��	�	�	�	�	rbc���dtdgdffd�}|�t|t��t	����dtt
gt
fi��dS)Nrrc��dSrfrnr�s r`r�z2ForwardRefTests.test_callable_forward.<locals>.fooCr�rb)r#r�r,r�r�rr�	s  r`�test_callable_forwardz%ForwardRefTests.test_callable_forwardAsu��	�8�S�E�3�J�'�	�	�	�	�	
�����W�Y�Y����A�A��x���Q��/�0�	2�	2�	2�	2�	2rbc��dd�}|�t|t��t����dtdt
fi��dS)Nr�Callable[..., T]c��dSrfrnr�s r`r�z@ForwardRefTests.test_callable_with_ellipsis_forward.<locals>.fooKr�rb.)rr�	)r�r,r�r�r#rr�	s  r`�#test_callable_with_ellipsis_forwardz3ForwardRefTests.test_callable_with_ellipsis_forwardIsa��	�	�	�	�	
�����W�Y�Y����A�A��x��Q��/�0�	2�	2�	2�	2�	2rbc���Gd�d��}Gd�d��}|�t|t����dtt��|�t|t����dt
t��|�t|t����dt��|�t|t����dt
��|�t��5t|t����fddd��dS#1swxYwYdS)	Nc�`�eZdZUdZeded<dZeded<dZded<dZded	<d
S)�5ForwardRefTests.test_special_forms_forward.<locals>.Cr)�
ClassVar[int])rrr)�
Final[int]�constr�r%r�r&r�N)	rkrlrmrr@r�r�r�r�rnrbr`r=r�	SsY�������45�A�y�0�1�5�5�5�23�A�y�.�/�3�3�3��A�z�����A�w�N�N�N�N�Nrbr=c�*�eZdZUdZeded<dS)�6ForwardRefTests.test_special_forms_forward.<locals>.CFrr�	r�N)rkrlrmr�r r�rnrbr`�CFr
Ys'�������$%�A�t�L�!�%�%�%�%�%rbr
rr�r�r�)r�r,r�r%r�r&r�r�)r[r=r
s   r`�test_special_forms_forwardz*ForwardRefTests.test_special_forms_forwardQs���	�	�	�	�	�	�	�	�	&�	&�	&�	&�	&�	&�	&�	&�	
�����7�9�9�5�5�c�:�H�S�M�J�J�J������7�9�9�5�5�c�:�E�#�J�G�G�G������7�9�9�5�5�c�:�H�E�E�E������7�9�9�5�5�c�:�E�B�B�B�
�
�
�y�
)�
)�	+�	+��2�w�y�y�)�)�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s�7E"�"E&�)E&c��|�t��5tdddd��dS#1swxYwYdS)Nz/T)r��SyntaxErrorr$r�s r`�test_syntax_errorz!ForwardRefTests.test_syntax_errorcs���
�
�
�{�
+�
+�	�	��D�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��dd�}|�t��5t|��ddd��dS#1swxYwYdS)Nr�Node[Tc��dSrfrnr�s r`r�z6ForwardRefTests.test_delayed_syntax_error.<locals>.foojr�rb)rr
)r�r
r,r�	s  r`�test_delayed_syntax_errorz)ForwardRefTests.test_delayed_syntax_errorhs���	�	�	�	��
�
�{�
+�
+�	 �	 ��3����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�<�A�Ac�8�tjtjtjtjfD]j}|�|���5|�t��5|dddd��n#1swxYwYddd��n#1swxYwY�kdS)N)�formr�)rOr �Setr5�Dequerxr�r
)r[r
s  r`�test_syntax_error_empty_stringz.ForwardRefTests.test_syntax_error_empty_stringps���[�&�*�f�k�6�<�H�	�	�D����4��(�(�
�
��&�&�{�3�3�����H�H�������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s6�B�"	A7�+B�7A;�;B�>A;�?B�B	�B	c��dd�}|�t��5t|t����ddd��dS#1swxYwYdS)Nr�Noode[T]c��dSrfrnr�s r`r�z,ForwardRefTests.test_name_error.<locals>.fooxr�rb)rr
)r��	NameErrorr,r�r�	s  r`�test_name_errorzForwardRefTests.test_name_errorvs���	�	�	�	��
�
�y�
)�
)�	*�	*��3����)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*s�A	�	A
�A
c�z�tdddifd���}t|��}|�|i��dS)Nr�	whateversr�c��dSrfrnr�s r`r�z/ForwardRefTests.test_no_type_check.<locals>.foo�����Drb)r2r,r�)r[r��ths   r`�test_no_type_checkz"ForwardRefTests.test_no_type_check~sY��	�	�;�	�2�	�	�	�
��	��C�
 �
 ������R� � � � � rbc���tGd�d����}t|j��}|�|i��t|��j��}|�|i��dS)Nc��eZdZdddifd�ZdS)�3ForwardRefTests.test_no_type_check_class.<locals>.Crr
r�c��dSrfrnr�s r`r�z7ForwardRefTests.test_no_type_check_class.<locals>.C.foo�r�rbN�rkrlrmr�rnrbr`r=r
��6������
�{�
�r�
�
�
�
�
�
rbr=)r2r,r�r�)r[r=�cth�iths    r`�test_no_type_check_classz(ForwardRefTests.test_no_type_check_class�s���	�	�	�	�	�	�	�	�
��	��Q�U�#�#������b�!�!�!��Q�Q�S�S�W�%�%������b�!�!�!�!�!rbc�4��Gd�d���tG�fd�d�����}|�t�j��dti��Gd�d|��}|�t|j��dti��dS)Nc��eZdZdefd�ZdS)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.Cr�c��dSrfrnr�s  r`r{z;ForwardRefTests.test_no_type_check_no_bases.<locals>.C.meth�r�rbN�rkrlrmr�r{rnrbr`r=r%
�s!������'�c�'�'�'�'�'�'rbr=c���eZdZ�ZdS)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.DN)rkrlrmr��r=s�r`r@r)
�s��������A�A�Arbr@r�c��eZdZdefd�ZdS)�:ForwardRefTests.test_no_type_check_no_bases.<locals>.Childr�c��dSrfrnr�s  r`r�z>ForwardRefTests.test_no_type_check_no_bases.<locals>.Child.foo�r�rbN)rkrlrmr�r�rnrbr`�Childr,
�s!������&�S�&�&�&�&�&�&rbr.
)r2r�r,r{r�r�)r[r@r.
r=s   @r`�test_no_type_check_no_basesz+ForwardRefTests.test_no_type_check_no_bases�s����	(�	(�	(�	(�	(�	(�	(�	(�	�	�	�	�	�	�	�	��	�	�
��	�	
������/�/�#�s��<�<�<�	'�	'�	'�	'�	'�A�	'�	'�	'�	
�����	�2�2�S�#�J�?�?�?�?�?rbc��Gd�d��}Gd�d��}tGd�d����}||j|jj|jfD]m}|�|���5|�|j��|�t|��i��ddd��n#1swxYwY�n||fD]�}|�|���5|�	t��5|jddd��n#1swxYwY|�t|��i��ddd��n#1swxYwY��dS)	Nc��eZdZUeed<dS)�>ForwardRefTests.test_no_type_check_nested_types.<locals>.Otherr�Nrfrnrbr`rr2
�rArbrc��eZdZUeed<dS)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Br�Nrfrnrbr`r�r4
�rArbr�c�R�eZdZUeed<Gd�d��ZGd�d��ZeZdS)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Arc�4�eZdZUeed<Gd�d��ZdS)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.Br�c��eZdZUeed<dS)�>ForwardRefTests.test_no_type_check_nested_types.<locals>.A.B.Cr�Nrfrnrbr`r=r:
�s��������F�F�F�F�Frbr=N)rkrlrmr�r�r=rnrbr`r�r8
�sG��������������������rbr�c��eZdZUeed<dS)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.Dr�Nrfrnrbr`r@r<
��������������rbr@N)rkrlrmr�r�r�r@rrnrbr`r�r6
�sp��������F�F�F�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��E�E�Erbr�)r�)�not_modified)r2r�r=r@rxr��__no_type_check__r�r,r�r�r�)r[rr�r�r�r>
s      r`�test_no_type_check_nested_typesz/ForwardRefTests.test_no_type_check_nested_types�sq��	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�		�		�		�		�		�		�		�
��		����a�c�e�Q�S�)�	<�	<�E����E��*�*�
<�
<����� 7�8�8�8�� � ���!6�!6��;�;�;�
<�
<�
<�
<�
<�
<�
<�
<�
<�
<�
<����
<�
<�
<�
<��#�A�J�	F�	F�L����<��8�8�
F�
F��&�&�~�6�6�3�3� �2�2�3�3�3�3�3�3�3�3�3�3�3����3�3�3�3��#�#�N�<�$@�$@�"�E�E�E�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F�
F����
F�
F�
F�
F��	F�	FsH�'>B1�1B5	�8B5	�E�4D�<E�D�E�D�&E�E	�	E	c�V�tGd�d����}|�|jj��|�t|j��i��|�|jj��|�t|j��i��dS)Nc�N�eZdZededefd���Zededefd���ZdS)�IForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Somer�r�c��dSrfrnr�s r`�stzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.st�s��#&�3rbr�c��dSrfrn)r\r�s  r`�clzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.cl�s��(+�rbN)rkrlrmrn	r�rE
rmrG
rnrbr`�SomerC
�sP������
�&�c�&�c�&�&�&��\�&�
�+�3�+�3�+�+�+��[�+�+�+rbrH
)r2r�rE
r?
r�r,rG
)r[rH
s  r`�+test_no_type_check_class_and_static_methodsz;ForwardRefTests.test_no_type_check_class_and_static_methods�s���	�	,�	,�	,�	,�	,�	,�	,�
��	,�	
�����1�2�2�2�������0�0�"�5�5�5������1�2�2�2�������0�0�"�5�5�5�5�5rbc� �|�tj��|�t��5t
jjddd��n#1swxYwY|�t��5t
jjjddd��n#1swxYwY|�tj��|�t��5t
jjddd��dS#1swxYwYdSrf)	r�r�	r?
r�r�r	r�	r�	r�	r�s r`�test_no_type_check_other_modulez/ForwardRefTests.test_no_type_check_other_module�s������)�;�<�<�<�
�
�
�~�
.�
.�	<�	<��)�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�
�
�
�~�
.�
.�	B�	B��)�/�A�A�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B�	B����	B�	B�	B�	B�	
���0�B�C�C�C�
�
�
�~�
.�
.�	?�	?��,�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�	?�	?s5�A�A�A�=B � B$�'B$�$D�D�
Dc�6��dtdtfd��tG�fd�d����}|�t��5�jddd��n#1swxYwY|�t
���ttd���dS)Nr�r�c��dSrfrnr�s r`rzBForwardRefTests.test_no_type_check_foreign_functions.<locals>.some�s���Crbc�@��eZdZ�Ze���Ze���ZdS)�?ForwardRefTests.test_no_type_check_foreign_functions.<locals>.AN)rkrlrm�
some_aliasrm�
some_classrn	�some_static)rs�r`r�rO
�s2��������J�$��T�*�*�J�&�,�t�,�,�K�K�Krbr�)r�r�)r�r2r�r�r?
r�r,)r[r�rs  @r`�$test_no_type_check_foreign_functionsz4ForwardRefTests.test_no_type_check_foreign_functions�s���	��	��	�	�	�	�
�	-�	-�	-�	-�	-�	-�	-�	-�	-�
��	-�
�
�
�~�
.�
.�	#�	#��"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#������-�-��s�/K�/K�L�L�L�L�Ls�
A�A"�%A"c���tGd�d����}|�|jj��|�t|j��i��dS)Nc�2�eZdZUd�Zeegefed<dS)�4ForwardRefTests.test_no_type_check_lambda.<locals>.Ac��|Srfrnr�s r`r�z=ForwardRefTests.test_no_type_check_lambda.<locals>.A.<lambda>�s��C�rbr)N)rkrlrmr)r#r�r�rnrbr`r�rV
�s1�������)8��C��3�%��*�%�7�7�7�7�7rbr�)r2r�r)r?
r�r,r�s  r`�test_no_type_check_lambdaz)ForwardRefTests.test_no_type_check_lambda�ss��	�	8�	8�	8�	8�	8�	8�	8�
��	8�	
�����/�0�0�0�������.�.��3�3�3�3�3rbc�.�tt��dSrf)r2rr�s r`�test_no_type_check_TypeErrorz,ForwardRefTests.test_no_type_check_TypeError�s��	�d�����rbc��Gd�d��}Gd�d��}Gd�d��}Gd�d��}d	tjti}||||fD]%}|�t	|��|���&dS)
Nc�4�eZdZUdZejeed<dS)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.C�r�N)rkrlrmr�rOr%r�r�rnrbr`r=r]
�s)�������()�C����%�)�)�)�)�)rbr=c�*�eZdZUdZeeed<dS)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Dr^
r�N)rkrlrmr�r%r�r�rnrbr`r@r`
�s&�������!"�C��#��"�"�"�"�"rbr@c��eZdZUdZded<dS)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Er^
r*	r�N�rkrlrmr�r�rnrbr`rwrb
�s#�������*+�C�'�+�+�+�+�+rbrwc��eZdZUdZded<dS)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Fr^
r�	r�Nrc
rnrbr`rxre
�s"�������#$�C��$�$�$�$�$rbrxr�)rOr%r�r�r,)r[r=r@rwrx�expected_result�clazzs       r`�(test_no_type_check_forward_ref_as_stringz8ForwardRefTests.test_no_type_check_forward_ref_as_string�s���	*�	*�	*�	*�	*�	*�	*�	*�	#�	#�	#�	#�	#�	#�	#�	#�	,�	,�	,�	,�	,�	,�	,�	,�	%�	%�	%�	%�	%�	%�	%�	%�!�&�/�#�"6�7����A�q�\�	E�	E�E����^�E�2�2�O�D�D�D�D�	E�	Erbc���Gd�d��}Gd�d��}||fD]C}|�t��5t|��ddd��n#1swxYwY�DdS)Nc��eZdZUdZded<dS)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Er^
z%typing.ClassVar[typing.ClassVar[int]]r�Nrc
rnrbr`rwrk
s#�������;<�C�8�<�<�<�<�<rbrwc�*�eZdZUdZeded<dS)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Fr^
r�	r�N)rkrlrmr�r%r�rnrbr`rxrm
s'�������-.�C��/�*�.�.�.�.�.rbrx)r�r�r,)r[rwrxrg
s    r`�,test_nested_classvar_fails_forward_ref_checkz<ForwardRefTests.test_nested_classvar_fails_forward_ref_checks���	=�	=�	=�	=�	=�	=�	=�	=�	/�	/�	/�	/�	/�	/�	/�	/���V�	&�	&�E��"�"�9�-�-�
&�
&��u�%�%�%�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&�
&����
&�
&�
&�
&��	&�	&s�A�A	�A	c���td���}|�|jd��|dddifd���}|Gd�d����}|�|jd	��t|��}|�|i��t|j��}|�|i��t|��j��}|�|i��dS)
Nc��|SrfrnrT	s r`�magic_decoratorz@ForwardRefTests.test_meta_no_type_check.<locals>.magic_decorators���Krbrq
rr
r�c��dSrfrnr�s r`r�z4ForwardRefTests.test_meta_no_type_check.<locals>.foor
rbc��eZdZdddifd�ZdS)�2ForwardRefTests.test_meta_no_type_check.<locals>.Crr
r�c��dSrfrnr�s r`r�z6ForwardRefTests.test_meta_no_type_check.<locals>.C.foor�rbNr
rnrbr`r=rt
r
rbr=r�)r3r�rkr,r�)r[rq
r�r=r
r 
r!
s       r`�test_meta_no_type_checkz'ForwardRefTests.test_meta_no_type_check
s+��	 �	�	�
!�	 �	�	
����1�3D�E�E�E�	�	�;�	�2�	�	�	�
��	�
�	�	�	�	�	�	�	�
��	�	
�����u�-�-�-�
�C�
 �
 ������R� � � ��Q�U�#�#������b�!�!�!��Q�Q�S�S�W�%�%������b�!�!�!�!�!rbc��d}i}t||��t|dj��}|�||d|dd���dS)Nz^class C:
    def foo(self, a: 'C') -> 'D': pass
class D:
    def bar(self, b: 'D') -> C: pass
r=r@)rr�)r�r,r�r�)r[r��ns�hintss    r`�test_default_globalsz$ForwardRefTests.test_default_globals&s\��9��
���T�2�����r�#�w�{�+�+������b��g��C�� A� A�B�B�B�B�Brbc��|�ttt����dtt��|�ttt����dtt��|�ttt����dt��dS)Nrx)r�r�Loopr�r&r�r�r�s r`�test_final_forward_refz&ForwardRefTests.test_final_forward_ref1s�������T�7�9�9�-�-�f�5�u�T�{�C�C�C����C��g�i�i�0�0��8�%��*�E�E�E����C��g�i�i�0�0��8�%�@�@�@�@�@rbc��td��}|�|dzt|df��|�d|ztd|f��dSr�)rAr�rr�s  r`r�zForwardRefTests.test_or6sW���s�O�O������S��%��3��-�0�0�0�����q��%��Q��-�0�0�0�0�0rbN)'rkrlrmr5r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r
r
r	
r
r
r
r"
r/
r@
rI
rK
rS
rX
rZ
rh
rn
rv
rz
r}
r�rnrbr`r�	r�	bsP������!7�!7�!7�F���
 � � �
!�!�!�T�T�T�A�A�A�*T�T�T�,8�8�8�0I�I�I�
0�0�0�*�*�*�+�+�+�7�7�7�2���@2�2�2�2�2�2�+�+�+�$���
 � � ����*�*�*�!�!�!�
"�
"�
"�@�@�@� F�F�F�:6�6�6�	?�	?�	?�
M�
M�
M�4�4�4����
E�E�E�&�&�&�"�"�"�2	C�	C�	C�A�A�A�
1�1�1�1�1rbr�	c��d|z|zS)Nrrnr�s  r`�cached_funcr�
=s���q�5�1�9�rbc�@�eZdZed���Zed���Zd�ZdS)�MethodHolderc��dSrfrnre	s r`rf	zMethodHolder.clsmethodCs���rbc��dSrfrnrnrbr`rh	zMethodHolder.stmethodErN	rbc��dSrfrnr�s r`rezMethodHolder.methodGr�rbN)rkrlrmrmrf	rn	rh	rernrbr`r�
r�
Bs?����������[������\������rbr�
c�z�eZdZd�Zd�Zed���Zd�Zede	d�����d���Z
d�Zd	S)
�
OverloadTestsc��|�t��5td���}|��ddd��dS#1swxYwYdS)Nc��dSrfrnrnrbr`r�	z/OverloadTests.test_overload_fails.<locals>.blahOs���rb)r�r�r�r[r�	s  r`�test_overload_failsz!OverloadTests.test_overload_failsLs���
�
�
�2�
3�
3�	�	�
�
�
��X�
�
�D�F�F�F�
	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�
Ac�@�td���}d�}|��dS)Nc��dSrfrnrnrbr`r�	z2OverloadTests.test_overload_succeeds.<locals>.blahVr
rbc��dSrfrnrnrbr`r�	z2OverloadTests.test_overload_succeeds.<locals>.blahZr�rb�rr�
s  r`�test_overload_succeedsz$OverloadTests.test_overload_succeedsUs;��	�	�	�
��	�	�	�	�	
������rbc��tdtd�����5|�tji��tt��tt��|�tjt��g��|�tjt��g��ddd��dS#1swxYwYdS)N�typing._overload_registryc�*�tt��Srf�rrrnrbr`r�zCOverloadTests.test_overload_on_compiled_functions.<locals>.<lambda>bs��{�4�'8�'8�rb)	rrr�rO�_overload_registryr�sum�printrr�s r`�#test_overload_on_compiled_functionsz1OverloadTests.test_overload_on_compiled_functions_s���
�.��8�8�9�9�;�;�	>�	>�
���V�6��;�;�;�
�S�M�M�M��U�O�O�O�
���V�1�#�6�6��;�;�;����V�1�%�8�8�"�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>s�B#C�C�Cc�d�d�}|}t|��d�}|}t|��d�}|||gfS)Nc��dSrfrnrnrbr`r�	z,OverloadTests.set_up_overloads.<locals>.blahor�rbc��dSrfrnrnrbr`r�	z,OverloadTests.set_up_overloads.<locals>.blahur�rbc��dSrfrnrnrbr`r�	z,OverloadTests.set_up_overloads.<locals>.blah{r�rbr�
)r[r�	�	overload1�	overload2s    r`�set_up_overloadszOverloadTests.set_up_overloadsnse��	�	�	��	������	�	�	��	������	�	�	��i��+�+�+rbr�
c�*�tt��Srfr�
rnrbr`r�zOverloadTests.<lambda>�s��K��-�-�rbc�8�|�tji��|���\}}|�tji��|�tt
|����|��d�}t|��|}d�}|�tt
|����|g��d�}|�tt
|����g��t��|�tji��|�t
|��g��d�}|�t
|��g��|�tji��dS)Nc��dSrfrnrnrbr`�some_other_funcz=OverloadTests.test_overload_registry.<locals>.some_other_func�r�rbc��dSrfrnrnrbr`r�
z=OverloadTests.test_overload_registry.<locals>.some_other_func�r�rbc��dSrfrnrnrbr`�not_overloadedz<OverloadTests.test_overload_registry.<locals>.not_overloaded�r�rbc��dSrfrnrnrbr`�the_only_onez:OverloadTests.test_overload_registry.<locals>.the_only_one�r�rb)	r�rOr�
r�
r�r�rrr)r[�impl�	overloadsr�
�other_overloadr�
r�
s       r`�test_overload_registryz$OverloadTests.test_overload_registry�s{��	
����2�B�7�7�7��/�/�1�1���i����F�5�r�:�:�:�����m�D�1�1�2�2�I�>�>�>�#�#�#���!�!�!�(��#�#�#�����m�O�<�<�=�=��?O�P�P�P�"�"�"�����m�N�;�;�<�<�b�A�A�A�	��������2�B�7�7�7�����t�,�,�b�1�1�1�	!� � �����|�4�4�b�9�9�9�����2�B�7�7�7�7�7rbc��td��D]I}|���\}}|�tt	|����|���JdS�Nr�)rur�
r�r�r)r[�_r�
r�
s    r`�test_overload_registry_repeatedz-OverloadTests.test_overload_registry_repeated�sc���q���	C�	C�A�"�3�3�5�5�O�D�)����T�-��"5�"5�6�6�	�B�B�B�B�	C�	CrbN)rkrlrmr�
r�
rLr�
r�
rrr�
r�
rnrbr`r�
r�
Js��������������>�>��\�>�,�,�,�&�U�&���-�-�.�.�0�0�8�8�0�0�8�8C�C�C�C�Crbr�
)�
ann_module�ann_module2�ann_module3�ann_module5�ann_module6�T_ac�6�eZdZd�Zdejefd�ZdS)�AwaitableWrapperc��||_dSrf�r�r[rs  r`r�zAwaitableWrapper.__init__��
����
�
�
rbr�c#�K�dV�|jSrfr�
r�s r`�	__await__zAwaitableWrapper.__await__�s����
�����z�rbN)rkrlrmr�rO�Iteratorr�
r�
rnrbr`r�
r�
�sE����������6�?�3�/������rbr�
c�^�eZdZdejefd�Zdejefd�Zdefd�Z	dS)�AsyncIteratorWrapperrc��||_dSrfr�
r�
s  r`r�zAsyncIteratorWrapper.__init__�r�
rbr�c��|Srfrnr�s r`�	__aiter__zAsyncIteratorWrapper.__aiter__�s���rbc��6K�|j�d{V��}|r|St�rf)r�StopAsyncIteration)r[�datas  r`�	__anext__zAsyncIteratorWrapper.__anext__�s2�����Z���������	%��K�$�$rbN)
rkrlrmrOr�r�
r��
AsyncIteratorr�
r�
rnrbr`r�
r�
�st�������f�o�c�2������6�/��4�����%��%�%�%�%�%�%rbr�
c� �eZdZdefd�Zd�ZdS)�ACMr�c��
K�dSr�rnr�s r`�
__aenter__zACM.__aenter__�s�����rrbc��
K�dSrfrn)r[�etyper�tbs    r`�	__aexit__z
ACM.__aexit__�s�����trbN)rkrlrmr�r�
r�
rnrbr`r�
r�
�s>�������#���������rbr�
c��eZdZUeed<dS)r�r�N)rkrlrmr�r�rnrbr`r�r��s��������H�H�H�H�Hrbr�c�J�eZdZUdZeeded<eed<eed<dS)r�Nr�r�r�)rkrlrmr�r%rr�r�rnrbr`r�r��s;�������!%�A�x���
��%�%�%�
�F�F�F�
�F�F�F�F�Frbr�c�:�eZdZUe��Zeded<dS)�CSubrN)rkrlrmr�rr%r�rnrbr`r�
r�
�s-��������!�#�#�A�x�������rbr�
c�6�eZdZUgZeeeed<dS)ry�lstN)rkrlrmr�
r%r rr�rnrbr`ryry�s+��������C��$�q�'�	�����rbryc�&�eZdZUeded<dS)r|
rxN)rkrlrmr&r�rnrbr`r|
r|
�s"�������
��-�����rbr|
c�$�eZdZUded<ded<dS)�NoneAndForward�parentN�meaningr�rnrbr`r�
r�
�s%�����������
�M�M�M�M�Mrbr�
c�$�eZdZUeed<eed<dS)�CoolEmployee�name�coolN�rkrlrmr|r�r�rnrbr`r�
r�
�s"�������

�I�I�I�

�I�I�I�I�Irbr�
c�(�eZdZUeed<dZeed<dS)�CoolEmployeeWithDefaultr�
rr�
N)rkrlrmr|r�r�
r�rnrbr`r�
r�
�s&�������

�I�I�I��D�#�M�M�M�M�Mrbr�
c� �eZdZUeed<d�ZdS)�XMethr�c��d|jzSr�
r�r�s r`�doublezXMeth.double�s���4�6�z�rbN)rkrlrmr�r�r�
rnrbr`r�
r�
�s.�������
�F�F�F�����rbr�
c�4�eZdZUeed<dZeed<d�Zd�ZdS)�XReprr�rqr�c�$�|j�d|j��S)Nz -> r�r�s r`�__str__z
XRepr.__str__�s���&�&�&�d�f�&�&�&rbc��dSrLrn�r[rjs  r`�__add__z
XRepr.__add__�s���qrbN)rkrlrmr�r�r�r�
r�
rnrbr`r�
r�
�sJ�������
�F�F�F�
�A�s�J�J�J�'�'�'�����rbr�
�Labelrjc�$�eZdZUeed<eed<dS)�Point2Dr�r�Nrfrnrbr`r�
r�
�rgrbr�
c�$�eZdZUeed<eed<dS)�Point2DGenericrr�N�rkrlrmrr�rnrbr`r�
r�
�s"��������D�D�D��D�D�D�D�Drbr�
c��eZdZUeed<dS)r�r�Nrfrnrbr`r�r��rqrbr�F��totalc��eZdZUeed<dS)�
BarGenericr�Nrfrnrbr`r�
r�
rqrbr�
c��eZdZdS)�LabelPoint2DNr~rnrbr`r�
r�
r�rbr�
c�$�eZdZUeed<eed<dS)�Options�	log_level�log_pathNrnrnrbr`r�
r�
s"��������N�N�N��M�M�M�M�Mrbr�
c�0�eZdZUeed<eeed<dS)�
TotalMovie�title�yearN)rkrlrmr|r�r7r�rnrbr`rr	s,��������J�J�J�
�c�
�����rbrc�0�eZdZUeeed<eed<dS)�
NontotalMovierrN)rkrlrmr8r|r�r�rnrbr`rr
s)��������C�=����

�I�I�I�I�Irbrc�&�eZdZUeeed<dS)�ParentNontotalMovierN�rkrlrmr8r|r�rnrbr`rrs"��������C�=�����rbrc�&�eZdZUeeed<dS)�ChildTotalMovierN�rkrlrmr7r�r�rnrbr`r
r
s#�������
�c�
�����rbr
c�F�eZdZUeeeedfdfed<dS)�ParentDeeplyAnnotatedMovier!�
another levelrN)rkrlrmr@r8r|r�rnrbr`r
r
s6��������Y�x��}�h�6�7��H�I�I�I�I�I�Irbr
c�6�eZdZUeeedfed<dS)�ChildDeeplyAnnotatedMovie��rN)rkrlrmr7r@r�r�rnrbr`rrs,�������
�i��T�	�*�
+�+�+�+�+�+rbrc�\�eZdZUeeedfed<eeedfed<dS)�AnnotatedMovier!rrrN�	rkrlrmr@r8r|r�r7r�rnrbr`rrsF��������X�c�]�H�,�-�-�-�-�
�i��T�	�*�
+�+�+�+�+�+rbrc�l�eZdZUeeeedfdfed<eeedfed<dS)�DeeplyAnnotatedMovier!rrrrNrrnrbr`rr!sP��������Y�x��}�h�6�7��H�I�I�I�I�
�i��T�	�*�
+�+�+�+�+�+rbrc�<�eZdZUeded<eded<dS)�WeirdlyQuotedMovie)z"Annotated[Required[str], "foobar"]rrzAnnotated[int, 2000]rN)rkrlrmr@r�r7rnrbr`rr%s6��������J�K�K�K�K�
�,�
-�-�-�-�-�-rbrc�$�eZdZUded<ded<dS)�HasForeignBaseClassr�
�
some_xreprzmod_generics_cache.A�other_aNr�rnrbr`rr)s*�����������
#�#�#�#�#�#rbr�amc��fK�|4�d{V��}|cddd���d{V��S#1�d{V��swxYwYdSrfrn)rr�s  r`�g_withr-s�������������Q����������������������������������s� �
*�*r�c�l�eZdZejdd���Zejejdd�����ZdS)�
ForRefExampler[c��dSrfrnr�s r`rI	zForRefExample.func:s���rbc��dSrfrnr�s r`�nestedzForRefExample.nested>s	��	
�rbN)r[r!)rkrlrmr�
�decrI	r$rnrbr`r!r!9sb�������^�
�
�
��^�
��^��^�
�
�
��^��^�
�
�
rbr!c��eZdZd�Zd�Zed��d���Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�GetTypeHintTestsc��|�t��5td��ddd��n#1swxYwY|�t��5td��ddd��n#1swxYwY|�t��5td��ddd��dS#1swxYwYdS)N�{r�)r�r�rr�s r`�(test_get_type_hints_from_various_objectsz9GetTypeHintTests.test_get_type_hints_from_various_objectsEsm��
�
�
�y�
)�
)�	�	���H�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	���J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	���I�I�I�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s0�7�;�;�A8�8A<�?A<�B:�:B>�B>c�b�dtttfttttzd�}|�tt��|��|�tt��i��|�tt��i��dS)Nr�)rqrir�r�r�)	rr�r|r�r�rr�
r�
r�
)r[�ann_module_type_hintss  r`�test_get_type_hints_modulesz,GetTypeHintTests.test_get_type_hints_modulesNs���$%�E�#�s�(�O�#�C�VY�\a�Va� b� b������Z���*?�@�@�@�����[�)�)�2�.�.�.�����[�)�)�2�.�.�.�.�.rbz	known bugc��ttjttjd�}|�tt��|��dS)N)�	default_a�	default_b)rrMr�r�r�r)r[�	mgc_hintss  r`�&test_get_type_hints_modules_forwardrefz7GetTypeHintTests.test_get_type_hints_modules_forwardrefTsO��
#+�+=�+?�"@�"*�+=�+?�"@�B�B�	�����/�0�0�)�<�<�<�<�<rbc���|�ttj��dttji��|�ttj��t��|�ttj��dtd���|�ttj
��ttttjd���|�ttj��dti��|�ttj��dttji��|�ttj��ttd���|�ttj��dti��|�tt"��t"td��d���|�tt$��t&t(jt(jd	���|�tt&j��ttd���|�tt(j��t(jjt(jjt(jd
���dS)Nr�r))�123r�)r�r�r�rr�r�)r�
r�
)rr�some_b)�my_inner_a1�my_inner_a2�
my_outer_a)r�rr�
r=rr��j_classrr�r�r@r|r�r��h_classrwr�r�
rr�
rMr�r�r�r�s r`�test_get_type_hints_classesz,GetTypeHintTests.test_get_type_hints_classes]sR������Z�\�*�*��x�
��5�6�	8�	8�	8����c�*�"4�5�5�t�<�<�<�����Z�\�*�*�C�d�,C�,C�D�D�D�����Z�\�*�*�"��8�J�L�3I�J�J�	L�	L�	L�����Z�\�*�*�S�#�J�7�7�7�����Z�/�0�0��x�
��5�6�	8�	8�	8�����Z�\�*�*�#�C�,@�,@�A�A�A�����Z�^�,�,�s�C�j�9�9�9�����^�,�,�$2�t�D�z�z�J�J�	L�	L�	L�����0�1�1�(-�:L�:N�$6�$8�:�:�	;�	;�	;�	
����U�]�+�+�"��-�-�	/�	/�	/�����/�1�2�2�);�)=�)?�);�)=�)?�(:�(<�>�>�	?�	?�	?�	?�	?rbc�t�Gd�d��}|�t|��dti��dS)Nc��eZdZUdZeed<dS)�ZGetTypeHintTests.test_get_type_hints_classes_no_implicit_optional.<locals>.WithNoneDefaultN�field)rkrlrmr?r�r�rnrbr`�WithNoneDefaultr>vs"��������E�3�����rbr@r?)r�rr�)r[r@s  r`�0test_get_type_hints_classes_no_implicit_optionalzAGetTypeHintTests.test_get_type_hints_classes_no_implicit_optionalusT��	�	�	�	�	�	�	�	�	
����_�-�-���~�>�>�>�>�>rbc���tGd�d����}|�|j��|�|jjj��|�t
tjj	��i��Gd�dtt��}tGd�d|����}|�t
|j	��dti��dS)Nc�(�eZdZGd�d��ZdS)�>GetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheckc��eZdZdd�ZdS)�BGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Innr��
not a typec��dSrfrnr�s  r`r�zKGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Inn.__init__r�rbN)r�rGr�rnrbr`�InnrF~s������8�8�8�8�8�8rbrIN)rkrlrmrIrnrbr`�	NoTpCheckrD|s<������
9�
9�
9�
9�
9�
9�
9�
9�
9�
9rbrJc��eZdZdefd�ZdS)�:GetTypeHintTests.test_respect_no_type_check.<locals>.ABaser�c��dSrfrnr�s r`r{z?GetTypeHintTests.test_respect_no_type_check.<locals>.ABase.meth�r�rbNr'
rnrbr`�ABaserL�s!������!��!�!�!�!�!�!rbrNc��eZdZdS)�8GetTypeHintTests.test_respect_no_type_check.<locals>.DerNr~rnrbr`�DerrP�s�������#rbrQr�)
r2r�r?
rIr�r�rr�
�NTCr{r$rr�)r[rJrNrQs    r`�test_respect_no_type_checkz+GetTypeHintTests.test_respect_no_type_check{s��	�	9�	9�	9�	9�	9�	9�	9�
��	9�	
���	�3�4�4�4����	�
�.�@�A�A�A�����[�_�1�2�2�B�7�7�7�	"�	"�	"�	"�	"�G�A�J�	"�	"�	"�	������%���
�������U�Z���3��*�5�5�5�5�5rbc�b�|�tt��i��|�tt��i��|�tt��i��|�tt
��i��|�ttj��i��|�tt
��j��i��|�ttj	��i��dSrf)
r�rr�r�rDrrTr�
r|�joinr�s r`� test_get_type_hints_for_builtinsz1GetTypeHintTests.test_get_type_hints_for_builtins�s�������S���2�&�&�&�����T���B�'�'�'�����S���2�&�&�&�����S���2�&�&�&�����V�^�,�,�b�1�1�1�����V�X�X�-�.�.��3�3�3�����S�X����+�+�+�+�+rbc���d�}d|jd<|�t|��dti��dd�}|�t|��dt	d��i��dS)Nc��dSrfrnr�s  r`�testfz6GetTypeHintTests.test_previous_behavior.<locals>.testf�r�rbr�r�c��dSrfrnr�s r`�testgz6GetTypeHintTests.test_previous_behavior.<locals>.testg�r�rb)r�N)r�r�rr�r�)r[rYr[s   r`�test_previous_behaviorz'GetTypeHintTests.test_previous_behavior�sq�����%*���c�"�����U���c�3�Z�0�0�0���������U���c�4��:�:�%6�7�7�7�7�7rbc���Gd�d��}Gd�d��}|��}ddi|_|�t|t����d|i��dS)Nc��eZdZdS)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.ANr~rnrbr`r�r_�r�rbr�c��eZdZdS)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.BNr~rnrbr`r�ra�r�rbr�r�)r�r�rr�)r[r�r�r�s    r`�/test_get_type_hints_for_object_with_annotationsz@GetTypeHintTests.test_get_type_hints_for_object_with_annotations�si������������������
�A�C�C�� �#�J�������Q����)�)�C��8�4�4�4�4�4rbc	���|�ttjtj��dt
jtji��|�ttt����tttttd���|�ttt����tttttttd���|�tt��dttti��dS)N�var)r�r�r�)rr�r�r�r�
)r�rr�
�CVr�rOr%r�r�r�rr�
ryr rr�s r`�test_get_type_hints_ClassVarz-GetTypeHintTests.test_get_type_hints_ClassVar�s�������[�^�[�-A�B�B������!@�A�	C�	C�	C�����Q��	�	�*�*�"��(�1�+�)>�S�I�I�	K�	K�	K�����T�7�9�9�-�-�'��~�C�c�'����4�6�6�	7�	7�	7�	
����Q���%��$�q�'�):�!;�<�<�<�<�<rbc���dti}|�ttj��|��|�ttj��|��dS)Nr[)r!r�rrI	r$)r[�expectss  r`�,test_get_type_hints_wrapped_decoratored_funcz=GetTypeHintTests.test_get_type_hints_wrapped_decoratored_func�sT���=�)������]�/�0�0�'�:�:�:�����]�1�2�2�G�<�<�<�<�<rbc�
�dtdfd�}ttdf}|�t	|t��t
����dtti��|�t	|t��t
��d���dtttdfi��dttd��fd�}ttdf}|�t	|t��t
����dtti��|�t	|t��t
��d���dtttdfi��tttdfd	f}d|fd
�}|�t	|t��t
����dttd	f��|�t	|t��t
��d���d|��tttdfd	f}d|fd�}|�t	|t��t
����dttd	f��|�t	|t��t
��d���d|��dtj
d	tttdffd
tjtttdfffd�}|�t	|t��t
����tj
d	ttftjttfd���tj
d	ttf}d|fd�}|�t	|t��t
��d���d|��tjtt zdf}d|fd�}	|�t	|	t��t
����dtt zi��|�t	|	t��t
��d���dtjtt zdfi��dS)Nr�r�c��dSrfrnr�s r`r!z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobar�r�rb�rqr�T��include_extrasc��dSrfrnr�s r`r!z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobar�r�rb)rqr.c��dSrfrnr�s r`r)z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo�r�rbc��dSrfrnr�s r`r)z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo�r�rbr�	r��mutablec��dSrfrnr�s  r`r+z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo2�s��DG�Crbr�c��dSrfrnr�s r`�barfoo3z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo3�r�rbc��dSrfrnr�s r`�barfoo4z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo4�r�rb)r r@r�r�r,r�r�r�rArrr�rOr#rr�r�)
r[r!r��BAr)r+�BA2ru�BA3rws
          r`�test_get_type_hints_annotatedz.GetTypeHintTests.test_get_type_hints_annotated�sk��%�d�3�i�%�%�%�%��c�7�l�#������6�7�9�9�f�h�h�7�7�
�$�s�)��	
�	
�	
�	
����6�7�9�9�f�h�h�t�L�L�L�
�$�y��g��.�/�0�	
�	
�	
�
	2�d�:�c�?�?�+�1�1�1�1��c�7�l�#������6�7�9�9�f�h�h�7�7�
�$�s�)��	
�	
�	
�	
����6�7�9�9�f�h�h�t�L�L�L�
�$�y��g��.�/�0�	
�	
�	
�
�9�Q��Y�'��,�
-���b�����������	�	�6�8�8�D�D�S�I�5�QR�TW�QW�=�Y�Y�Y�����6�7�9�9�f�h�h�t�L�L�L�S�Q��	
�	
�	
�
�9�Q��Y�'��,�
-���b�����������	�	�6�8�8�D�D�S�I�5�QR�TW�QW�=�Y�Y�Y�����6�7�9�9�f�h�h�t�L�L�L�S�Q��	
�	
�	
�
	H�v��s�I�d�1�g�w�6F�,G�'G�H�	H��|�C��1�i�<�)@�$@�A�	H�	H�	H�	H�����7�G�I�I�v�x�x�8�8��/�#�t�A�w�,�/�f�l�3��6�6J�K�K�	
�	
�	
�
�o�c�4��7�l�+�� �s� � � � ��
�
��7�G�I�I�v�x�x��M�M�M�c�R��	
�	
�	
���s�U�{�G�3�4�� �s� � � � �����7�G�I�I�v�x�x�8�8�
�#��+��	
�	
�	
�	
����7�G�I�I�v�x�x��M�M�M�
�&�"�3��;��#7�8�9�	
�	
�	
�	
�	
rbc	�n�dttttdfzfd�}|�t|��dtttzi��|�t|d���dttttdfzi��dS)Nr��metac��dSrfrnr�s r`�
with_unionzKGetTypeHintTests.test_get_type_hints_annotated_in_union.<locals>.with_union�r�rbTrm)r�r�r@r|r�r,)r[rs  r`�&test_get_type_hints_annotated_in_unionz7GetTypeHintTests.test_get_type_hints_annotated_in_union�s���B�#��Y�s�F�{�%;� <�<�B�B�B�B�����
�3�3�c�3��c��?�5K�L�L�L�����:�d�;�;�;�
�#��Y�s�F�{�3�4�4�5�	
�	
�	
�	
�	
rbc���ttdf�G�fd�dtt��}|�t	|jt
��t����|t|td���|�t	|jt
��t��d����|t|td���|�t	|jt
��t����|t|td���dS)N�Constc�4��eZdZdd�Zd�dddfd�ZdS)	�BGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySetrj�Const[MySet[T]]r��MySet[T]c��dSrfrnr�
s  r`�__ior__zJGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__ior__�����rbc��dSrfrnr�
s  r`�__iand__zKGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__iand__r�rbN)rjr�r�r�)rkrlrmr�r�)r�s�r`�MySetr��sP�������
�
�
�
�
�e�J�&7�
�J�
�
�
�
�
�
rbr�)rjr�Trm)	r@rr$r�r,r�r�r�r�)r[r�r�s  @r`�"test_get_type_hints_annotated_refsz3GetTypeHintTests.test_get_type_hints_annotated_refs�s.����!�W�*�%��	�	�	�	�	�	�	�G�A�J�	�	�	�	
����5�>�7�9�9�f�h�h�?�?��A�h�%��(�3�3�	
�	
�	
�
	
����5�>�7�9�9�f�h�h�t�T�T�T��E�!�H�o��q��:�:�	
�	
�	
�
	
����5�=�'�)�)�V�X�X�>�>��A�h�%��(�3�3�	
�	
�	
�	
�	
rbc��ddttdffd�}|�t|��dti��|�t|d���dttdfi��dS)Nr�r�
c��dSrfrnr�s r`�annotated_with_none_defaultzeGetTypeHintTests.test_get_type_hints_annotated_with_none_default.<locals>.annotated_with_none_defaultr�rbTrmrf)r@r�r�r,)r[r�s  r`�/test_get_type_hints_annotated_with_none_defaultz@GetTypeHintTests.test_get_type_hints_annotated_with_none_defaults���N�N�9�S�&�[�+A�N�N�N�N�����6�7�7�
�#�J�	
�	
�	
�	
����6�t�L�L�L�
�)�C��K�(�)�	
�	
�	
�	
�	
rbc�t�Gd�d��}|�t|��dti��dS)Nc��eZdZUeZded<dS)�IGetTypeHintTests.test_get_type_hints_classes_str_annotations.<locals>.Foor�r�N)rkrlrmr|r�r�rnrbr`r�r� s��������A��F�F�F�F�Frbr�r�)r�r,r|ris  r`�+test_get_type_hints_classes_str_annotationsz<GetTypeHintTests.test_get_type_hints_classes_str_annotationssT��	�	�	�	�	�	�	�	�	
�����,�,�s�C�j�9�9�9�9�9rbc��Gd�d��}d|_|�dtj��|�t|��i��dS)Nc��eZdZdS)�BGetTypeHintTests.test_get_type_hints_bad_module.<locals>.BadModuleNr~rnrbr`�	BadModuler�(r�rbr��bad)rlr�	�sys�modulesr�r,)r[r�s  r`�test_get_type_hints_bad_modulez/GetTypeHintTests.test_get_type_hints_bad_module&sn��	�	�	�	�	�	�	�	�$�	��������,�,�,�����	�2�2�B�7�7�7�7�7rbc��Gd�d��}Gd�d|��}dx|_|_|�dtj��|�t|��ttd���dS)Nc��eZdZUeed<dS)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadBaser�N)rkrlrmr�r�rnrbr`�BadBaser�0s��������J�J�J�J�Jrbr�c��eZdZUeed<dS)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadTyper)Nr2rnrbr`�BadTyper�2s��������I�I�I�I�Irbr�r�r&)rlr�	r�r�r�r,r�r�)r[r�r�s   r`�(test_get_type_hints_annotated_bad_modulez9GetTypeHintTests.test_get_type_hints_annotated_bad_module.s���	�	�	�	�	�	�	�	�	�	�	�	�	�g�	�	�	�27�7���W�/�������,�,�,������0�0�%��2M�2M�N�N�N�N�Nrbc���tt��}|�|dtti��ttj��}|�|dti��dS)Nr�
r)r,r�
r�r&r|�MyClass)r[ry
s  r`�test_forward_ref_and_finalz+GetTypeHintTests.test_forward_ref_and_final8s_���{�+�+��������s�� 4�5�5�5��{�2�3�3�������%� 0�1�1�1�1�1rbc��|�td��5tt��ddd��dS#1swxYwYdS)Nz4typing.ClassVar\[int\] is not valid as type argument)rr�r,r�
r�s r`�test_top_level_class_varz)GetTypeHintTests.test_top_level_class_var@s���
�
#�
#��C�
�
�	(�	(�
�;�'�'�'�		(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(s�>�A�Ac	���|�tt��ttd���|�ttd���tt
td���|�tt��ttd���|�ttd���tttdft
ttdfd���|�tt��ttd���|�ttd���tttddft
ttdfd���|�tt��ttd���|�ttd���tttddft
ttdfd���|�ttj��dti��|�ttjd���dtttddd	fi��|�tt��ttd���|�ttd���ttt
td���|�tt��ttd���|�ttd���tttddft
ttdfd���dS)
N)rrTrmr!rrrr�r�)r�r,rr|r�r7rr@r8rrrN�
VeryAnnotatedr
rr�s r`�test_get_type_hints_typeddictz.GetTypeHintTests.test_get_type_hints_typeddictHsQ������
�3�3�s�C�5P�5P�Q�Q�Q�����
�4�H�H�H����$�K
�K
�	�	�	�
	
�����7�7�3�PS�9T�9T�U�U�U������t�L�L�L��x��}�h�6�7��	�#�t�)� 4�5�O
�O
�	�	�	�
	
����(<�=�=��VY�?Z�?Z�[�[�[�����(<�T�R�R�R��x��}�h��G�H��	�#�t�)� 4�5�U
�U
�	�	�	�
	
����(:�;�;�s�TW�=X�=X�Y�Y�Y�����(:�4�P�P�P��x��}�h��G�H��	�#�t�)� 4�5�S
�S
�	�	�	�
	
����(:�(H�I�I�C�QT�:�V�V�V�����(:�(H�Y]�^�^�^���8�C�=�#�s�C�7�8�a
�	�	�	�	
�����8�8�C�QT�:U�:U�V�V�V�������M�M�M��c�]�K��,<�P
�P
�	�	�	�	
����(A�B�B�c�[^�D_�D_�`�`�`�����(A�RV�W�W�W��x��}�h��G�H��	�#�t�)� 4�5�Z
�Z
�	�	�	�	�	rbc��td��}dtjjtgtffd�}dtjjdtffd�}dtjj|tffd�}|�t
|��dtjjtgtfi��|�t
|��dtjjdtfi��|�t
|��dtjj|tfi��dS)Nr�r�c��dSrfrnr�s r`rizHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.ftr�rb.c��dSrfrnr�s r`r�zHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.gur�rbc��dSrfrnr�s r`r�zHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.hvr�rb)rEr�r�r#r�r�r,)r[r�rir�r�s     r`�,test_get_type_hints_collections_abc_callablez=GetTypeHintTests.test_get_type_hints_collections_abc_callableqs	���c�N�N��;���)�3�%��*�5�;�;�;�;�9���)�#�s�(�3�9�9�9�9�7���)�!�S�&�1�7�7�7�7������*�*�S�+�/�2J�C�5�RU�:�2V�,W�X�X�X������*�*�S�+�/�2J�3�PS�8�2T�,U�V�V�V������*�*�S�+�/�2J�1�c�6�2R�,S�T�T�T�T�TrbN)rkrlrmr*r-r
r2r;rArSrVr\rbrfrir{r�r�r�r�r�r�r�r�r�r�rnrbr`r'r'Ds���������/�/�/�
�T�+���=�=���=�?�?�?�0?�?�?�6�6�6�,�,�,�8�8�8�5�5�5�=�=�=�=�=�=�
=
�=
�=
�~
�
�
�
�
�
�6

�

�

�:�:�:�8�8�8�O�O�O�2�2�2�(�(�(�'�'�'�R	U�	U�	U�	U�	Urbr'c��eZdZd�Zd�ZdS)�GetUtilitiesTestCasec��
�td��}td��}td��}Gd�dt|��}|�t|t��|��|�t||��|��|�tt��d��|�ttt��t��|�ttttf��t��|�ttd��t��|�tttt��t��|�tt��t��|�tt|��t��|�ttt||ft��t��|�tt|df��t��|�tt��t��|�tt��t ��|�tt"��t$jj��|�ttt��t��|�tt��d��|�tttz��t(j��|�t|j��|��|�t|j��|��|�tt0t��t0��|�tt2t��t2��|�tg|�Rd��t4��|�tt4|��t4��|�tgt g|�R�Rd��t ��|�tt4tt4|��t4��dS)	Nrr�r�c��eZdZdS)�/GetUtilitiesTestCase.test_get_origin.<locals>.CNr~rnrbr`r=r��r�rbr=�r��+r�r)rrrEr$r�r-r�r%rr|rr&r rr�r@r�r#r�r�r�r	r�r�r8r7r)r[rr�r�r=s     r`r�z$GetUtilitiesTestCase.test_get_origin~s����C�L�L��
�$�
�
���c�N�N��!�!�!�!�!���
�!�!�!��
�
�j��3��(�(�!�,�,�,��
�
�j��1��&�&��*�*�*��
�
�j��o�o�t�,�,�,��
�
�j��#��/�/��:�:�:��
�
�j��s�C�x��1�1�5�9�9�9��
�
�j����1�1�7�;�;�;��
�
�j��t�C�y�!1�2�2�E�:�:�:��
�
�j��)�)�7�3�3�3��
�
�j����,�,�g�6�6�6��
�
�j��e�A�q�D�k�!2�3�!7�8�8�$�?�?�?��
�
�j��1�g�:�!6�7�7��C�C�C��
�
�j��&�&��-�-�-��
�
�j��'�'��/�/�/��
�
�j��*�*�K�O�,D�E�E�E��
�
�j��c��+�+�T�2�2�2��
�
�j��&�&��-�-�-��
�
�j����,�,�e�o�>�>�>��
�
�j���(�(�!�,�,�,��
�
�j���*�*�A�.�.�.��
�
�j��#��/�/��:�:�:��
�
�j��S�!1�2�2�K�@�@�@��
�
�j��2�����+�+�V�4�4�4��
�
�j����,�,�f�5�5�5��
�
�j��5��"���:����!2�3�3�U�;�;�;��
�
�j���f�R�j�(9�!:�;�;�V�D�D�D�D�Drbc
��td��}Gd�dt|��}|�t|t��tf��|�t||��|f��|�tt��d��|�tt
t��tf��|�ttttf��ttf��|�ttd��d��|�tttt��ttf��|�tttt|tfft��ttttff��|�ttj
tt||fftt��ttttttff��|�ttg|ft��gtf��|�ttdtf��dtf��|�ttttt|dfgtff��ttt|dfgtff��|�tttdf��tdf��|�ttd��d��|�tt |ddd	gf��|ddd	gf��|�tt��d��|�tt��d��|�tt��d��|�tt"t��tf��|�tt"��d��|�tt$jjtgtf��tgtf��|�tt$jjdtf��dtf��|�tt$jjgtf��gtf��|�tt$jjtgtf��tttgtf����t)d
��}|�tt|tf��|tf��|�ttt*t|ftf��t*t|ftf��|�tt"tz��t"tf��|�tt,t��tf��|�tt.t��tf��|�tt0��d��|�tt2t��tf��t5d��}|�t|��d��|�tg|�Rd��|f��|�tt6|��|f��|�tt8g|�R��g|�R��|�tt8t6|��t6|f��|�tgt8g|�R�Rd��g|�R��|�tt6t8t6|��t8t6|f��dS)
Nrc��eZdZdS)�-GetUtilitiesTestCase.test_get_args.<locals>.CNr~rnrbr`r=r��r�rbr=rnr�.�oner��threer�r�r)rr$r�r.r�r%rr|rr&r rrOr!rr#r@r�r�r�rErFr8r7rDrIrrr�)r[rr=r�r�s     r`�
test_get_argsz"GetUtilitiesTestCase.test_get_args�s����C�L�L��!�!�!�!�!���
�!�!�!�����!�C�&�)�)�C�6�2�2�2�����!�A�$���!��.�.�.�����#����+�+�+�����(�3�-�0�0�3�&�9�9�9�����%��S��/�2�2�S�#�J�?�?�?�����'�&�/�2�2�H�=�=�=�����%��S�	�"2�3�3�d�3�i�\�B�B�B�����%��U�1�c�6�]�(:�";�C�"@�A�A��u�S�#�X��/�	1�	1�	1�����&�+�c�5��A��;�.>�"?���
�"N�O�O��u�X�c�]�H�S�M�%A�B�C�	E�	E�	E�����(�2�q�5�/�#�"6�7�7�"�c��C�C�C�����(�3��8�"4�5�5��S�z�B�B�B�����%��X�u�Q��V�}�o�s�6J�-K�(K�"L�M�M��x��q�#�v����(<�=�>�	@�	@�	@�����%��S��/�2�2�S�#�J�?�?�?�����%��)�,�,�b�1�1�1�����)�A�u�a�'��,B�"C�D�D�q�%�QR�U\�T]�F^�_�_�_�����$����,�,�,�����%���"�-�-�-�����(�+�+�R�0�0�0�����$�s�)�,�,�s�f�5�5�5�����$����,�,�,�����+�/�":�C�5�#�:�"F�G�G�3�%�QT��V�V�V�����+�/�":�3��8�"D�E�E��S�z�R�R�R�����+�/�":�2�s�7�"C�D�D�r�3�i�P�P�P�����+�/�":�C�5�#�:�"F�G�G�!�(�C�5�#�:�"6�7�7�	9�	9�	9��c�N�N������(�1�c�6�"2�3�3�a��X�>�>�>�����(�;�s�A�v�+>��+C�"D�E�E�%�c�1�f�-�s�3�	5�	5�	5�����$��*�-�-��c�{�;�;�;�����(�3�-�0�0�3�&�9�9�9�����+�c�"2�3�3�c�V�<�<�<�����)�,�,�b�1�1�1�����)�C�.�1�1�C�6�:�:�:�
�$�
�
������"���r�*�*�*�����&�B�&�&��)�,�,�r�e�4�4�4�����&��*�-�-��u�5�5�5�����%�����*�-�-�v��v�v�6�6�6�����%��r�
�"3�4�4�v�b�z�m�D�D�D�����.�E�#�2�#�#�J�.�.��"3�4�4�f��f�f�=�=�=�����&��v�b�z�):�";�<�<�u�V�B�Z�?P�>R�S�S�S�S�SrbN)rkrlrmr�r�rnrbr`r�r�}s:������E�E�E�>/T�/T�/T�/T�/Trbr�c�F�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5S)6�CollectionsAbcTestsc��|�dtj��|�gtj��dSr�)r�rO�Hashabler�r�s r`�
test_hashablez!CollectionsAbcTests.test_hashable��8�����b�&�/�2�2�2�� � ��V�_�5�5�5�5�5rbc��|�gtj��|�gtj��|�gtj��|�dtj��|�t
tj��|�t
tj��dSr�)r�rOr�r�rar�r�s r`�
test_iterablez!CollectionsAbcTests.test_iterable�s������b�&�/�2�2�2�	
���b�&�/�2�2�2����b�&�/�2�2�2�� � ��V�_�5�5�5����d�F�O�4�4�4����d�F�O�4�4�4�4�4rbc��tg��}|�|tj��|�dtj��dSr�)r�r�rOr�
r�)r[�its  r`�
test_iteratorz!CollectionsAbcTests.test_iterator�sC��
�"�X�X�����b�&�/�2�2�2�� � ��V�_�5�5�5�5�5rbc��i}tdt��|��|d}|��}|�|tj��|�|tj��|�d��dS)NzPasync def foo() -> typing.Awaitable[int]:
    return await AwaitableWrapper(42)
r�)r�r�r�rO�	Awaitabler��send�r[rx
r�r�s    r`�test_awaitablez"CollectionsAbcTests.test_awaitable�s���
���
6��I�I�r�	�	�	���i���C�E�E�����a��!1�2�2�2�� � ��f�&6�7�7�7�	���t�����rbc���i}tdt��|��|d}|��}|�|tj��|�t��5t|tjt��ddd��n#1swxYwY|�	|tj��	|�
d��dS#t$rYdSwxYw)Nzasync def foo():
    return
r�)r�r�r�rO�	Coroutiner�r�r�r�r�r��
StopIterationr�s    r`�test_coroutinez"CollectionsAbcTests.test_coroutine�s*��
���
��I�I�r�	�	�	���i���C�E�E�����a��!1�2�2�2�
�
�
�y�
)�
)�	1�	1��q�&�*�3�/�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�� � ��f�&6�7�7�7�	�
�F�F�4�L�L�L�L�L���	�	�	��D�D�	���s$�,&B�B"�%B"�
C!�!
C/�.C/c��td��}t|��}|�|tj��|�|tj��|�dtj��dS�Nr�r�)rur�
r�rO�
AsyncIterabler��r[�base_itr�s   r`�test_async_iterablez'CollectionsAbcTests.test_async_iterablesk����)�)��
!�'�
*�
*�����b�&�"6�7�7�7����b�&�"6�7�7�7�� � ��V�%9�:�:�:�:�:rbc���td��}t|��}|�|tj��|�dtj��dSr�)rur�
r�rOr�
r�r�s   r`�test_async_iteratorz'CollectionsAbcTests.test_async_iterator	sR����)�)��
!�'�
*�
*�����b�&�"6�7�7�7�� � ��V�%9�:�:�:�:�:rbc��|�gtj��|�dtj��dSr�)r�rO�Sizedr�r�s r`�
test_sizedzCollectionsAbcTests.test_sizeds8�����b�&�,�/�/�/�� � ��V�\�2�2�2�2�2rbc��|�gtj��|�dtj��dSr�)r�rOrFr�r�s r`�test_containerz"CollectionsAbcTests.test_containers:�����b�&�"2�3�3�3�� � ��V�%5�6�6�6�6�6rbc�@�|�t��tj��|�t	��tj��|�ttj��|�dtj��dSr�)r�r�rO�
Collectionr�rarr�r�s r`�test_collectionz#CollectionsAbcTests.test_collectionst�����e�g�g�v�'8�9�9�9����i�k�k�6�+<�=�=�=����d�F�$5�6�6�6�� � ��V�%6�7�7�7�7�7rbc��|�t��tj��|�dtj��dSr�)r�rCrOrjr�r�s r`�test_abstractsetz$CollectionsAbcTests.test_abstractsets>�����c�e�e�V�%7�8�8�8�� � ��V�%7�8�8�8�8�8rbc��|�t��tj��|�t��tj��dSrf)r�rCrO�
MutableSetr�r�r�s r`�test_mutablesetz#CollectionsAbcTests.test_mutableset!sB�����c�e�e�V�%6�7�7�7�� � ����f�.?�@�@�@�@�@rbc��|�itj��|�dtj��dSr�)r�rOr�r�r�s r`�test_mappingz CollectionsAbcTests.test_mapping%s8�����b�&�.�1�1�1�� � ��V�^�4�4�4�4�4rbc��|�itj��|�dtj��dSr�)r�rOr"r�r�s r`�test_mutablemappingz'CollectionsAbcTests.test_mutablemapping)s:�����b�&�"7�8�8�8�� � ��V�%:�;�;�;�;�;rbc��|�gtj��|�dtj��dSr�)r�rOrHr�r�s r`�
test_sequencez!CollectionsAbcTests.test_sequence-r�rbc��|�gtj��|�dtj��dSr�)r�rO�MutableSequencer�r�s r`�test_mutablesequencez(CollectionsAbcTests.test_mutablesequence1s:�����b�&�"8�9�9�9�� � ��V�%;�<�<�<�<�<rbc��|�dtj��|�td��tj��dSr)r�rO�
ByteString�	bytearrayr�s r`�test_bytestringz#CollectionsAbcTests.test_bytestring5s@�����c�6�#4�5�5�5����i��n�n�f�.?�@�@�@�@�@rbc�P�|�ttj��dSrf)rar�rOr r�s r`�	test_listzCollectionsAbcTests.test_list9� �����d�F�K�0�0�0�0�0rbc���|�tjtj��Gd�dtjt
��}|�|��tj��dS)Nc��eZdZdS)�/CollectionsAbcTests.test_deque.<locals>.MyDequeNr~rnrbr`�MyDequer�>r�rbr�)rar��dequerOr
r�r�)r[r�s  r`�
test_dequezCollectionsAbcTests.test_deque<sc�����k�/���>�>�>�-�-�-�-�-�f�l�3�'�-�-�-����g�g�i�i��):�;�;�;�;�;rbc�Z�|�tjtj��dSrf)rar��CounterrOr�s r`�test_counterz CollectionsAbcTests.test_counterAs#�����k�1�6�>�B�B�B�B�Brbc��|�ttj��|�t
tj��dSrf)rarCrOr
rdr�r�s r`�test_setzCollectionsAbcTests.test_setDs8�����c�6�:�.�.�.�� � ��F�J�7�7�7�7�7rbc��|�ttj��|�t
tj��dSrf)rar�rOrrdrCr�s r`�test_frozensetz"CollectionsAbcTests.test_frozensetHs:�����i��)9�:�:�:�� � ��f�&6�7�7�7�7�7rbc�P�|�ttj��dSrf)rarrOr!r�s r`r�zCollectionsAbcTests.test_dictLr�rbc�
�td��}td��}|�t||fttftttf��|�t|tfttttf��|�tt|fttttf��|�t|t
|fttfttt
tf��|�t|t
tftttt
tf��|�t|t|fttfttttf��|�t|ttftttttf��dS)Nr�r�)rr�r!r|r�r r�)r[r�r�s   r`�test_dict_subscribez'CollectionsAbcTests.test_dict_subscribeOs���C�L�L���C�L�L������a��d��C��H�-�t�C��H�~�>�>�>�����a��f��c�*�D��c��N�;�;�;�����c�1�f��c�*�D��c��N�;�;�;�����a��a��j�)�#�s�(�3�T�#�t�C�y�.�5I�J�J�J�����a��c��l�+�C�0�$�s�D��I�~�2F�G�G�G�����a��a��j�)�#�s�(�3�T�#�t�C�y�.�5I�J�J�J�����a��c��l�+�C�0�$�s�D��I�~�2F�G�G�G�G�Grbc���|�t��5tj��ddd��n#1swxYwY|�t��5tjt��ddd��n#1swxYwY|�t��5tjt
��ddd��dS#1swxYwYdSrf)r�r�rOr rr�r�s r`�test_no_list_instantiationz.CollectionsAbcTests.test_no_list_instantiationZs|��
�
�
�y�
)�
)�	�	��K�M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��K��N����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��K������	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�1�;�?�?� B�B�B�0C�C �#C c�8�Gd�dtjt��}|��}|�||��|�|tj��|�|t��|�t|��dS)Nc��eZdZdS)�6CollectionsAbcTests.test_list_subclass.<locals>.MyListNr~rnrbr`�MyListrdr�rbr)rOr r�r�rHrar�rd)r[rrs   r`�test_list_subclassz&CollectionsAbcTests.test_list_subclassbs���	�	�	�	�	�V�[��%�	�	�	�
�F�H�H�����a��(�(�(����a���1�1�1����f�d�+�+�+�� � ��v�.�.�.�.�.rbc���|�t��5tj��ddd��n#1swxYwY|�t��5tjtt
f��ddd��n#1swxYwY|�t��5tjttf��ddd��dS#1swxYwYdSrf)r�r�rOr!rrr|r�r�s r`�test_no_dict_instantiationz.CollectionsAbcTests.test_no_dict_instantiationns���
�
�
�y�
)�
)�	�	��K�M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	"�	"��K��B���!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	$�	$��K��S��!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$�1�;�?�?� &B�B�B�7&C*�*C.�1C.c�F�Gd�dtjttf��}|��}|�||��|�|tj��|�|t��|�t|��dS)Nc��eZdZdS)�6CollectionsAbcTests.test_dict_subclass.<locals>.MyDictNr~rnrbr`rTrxr�rbrT)	rOr!r|r�r�r"rarrd)r[rTr�s   r`�test_dict_subclassz&CollectionsAbcTests.test_dict_subclassvs���	�	�	�	�	�V�[��c��*�	�	�	�
�F�H�H�����a��(�(�(����a��!6�7�7�7����f�d�+�+�+�� � ��v�.�.�.�.�.rbc���|�ttj����tj��|�ttjttf����tj��|�ttjttf����tj��dSrf)
r�r�rOr[r�rrrr|r�r�s r`�test_defaultdict_instantiationz2CollectionsAbcTests.test_defaultdict_instantiation�����
�
�d�6�-�/�/�0�0�+�2I�J�J�J��
�
�d�6�-�b�"�f�5�7�7�8�8�+�:Q�R�R�R��
�
�d�6�-�c�3�h�7�9�9�:�:�K�<S�T�T�T�T�Trbc��Gd�dtjttf��}|��}|�||��|�|tj��|�tj|��dS)Nc��eZdZdS)�@CollectionsAbcTests.test_defaultdict_subclass.<locals>.MyDefDictNr~rnrbr`�	MyDefDictr�r�rbr)	rOr[r|r�r�rar�rrd)r[r�dds   r`�test_defaultdict_subclassz-CollectionsAbcTests.test_defaultdict_subclass����	�	�	�	�	��*�3��8�4�	�	�	��Y�[�[�����b�)�,�,�,����i��)@�A�A�A�� � ��!8�)�D�D�D�D�Drbc���|�ttj����tj��|�ttjt
tf����tj��|�ttjttf����tj��dSrf)	r�r�rO�OrderedDictr�rrr|r�r�s r`�test_ordereddict_instantiationz2CollectionsAbcTests.test_ordereddict_instantiation�rrbc��Gd�dtjttf��}|��}|�||��|�|tj��|�tj|��dS)Nc��eZdZdS)�@CollectionsAbcTests.test_ordereddict_subclass.<locals>.MyOrdDictNr~rnrbr`�	MyOrdDictr'�r�rbr()rOr#r|r�r�rar�rd)r[r(�ods   r`�test_ordereddict_subclassz-CollectionsAbcTests.test_ordereddict_subclass�r!rbc��|�ttj����tj��|�ttjt
tf����tj��|�ttjttf����tj��Gd�dtjt
tf��}|�t|ttf����|��dS)Nc��eZdZdS)�;CollectionsAbcTests.test_chainmap_instantiation.<locals>.CMNr~rnrbr`�CMr-�r�rbr.)	r�r�rOr\r�rrr|r�)r[r.s  r`�test_chainmap_instantiationz/CollectionsAbcTests.test_chainmap_instantiation�s����
�
�d�6�?�,�,�-�-�{�/C�D�D�D��
�
�d�6�?�2�r�6�2�4�4�5�5�{�7K�L�L�L��
�
�d�6�?�3��8�4�6�6�7�7��9M�N�N�N�.�.�.�.�.����R��(�.�.�.��
�
�d�<�2�c�3�h�<�>�>�*�*�B�/�/�/�/�/rbc��Gd�dtjttf��}|��}|�||��|�|tj��|�tj|��dS)Nc��eZdZdS)�>CollectionsAbcTests.test_chainmap_subclass.<locals>.MyChainMapNr~rnrbr`�
MyChainMapr2�r�rbr3)rOr\r|r�r�rar�rd)r[r3r s   r`�test_chainmap_subclassz*CollectionsAbcTests.test_chainmap_subclass�s���	�	�	�	�	����c��2�	�	�	��Z�\�\�����b�*�-�-�-����j�+�*>�?�?�?�� � ��!5�z�B�B�B�B�Brbc�X�|�ttj����tj��|�ttjt����tj��|�ttjt����tj��Gd�dtjt��}|�t|t����|��dS)Nc��eZdZdS)�7CollectionsAbcTests.test_deque_instantiation.<locals>.DNr~rnrbr`r@r7�r�rbr@)r�r�rOr
r�r�rr��r[r@s  r`�test_deque_instantiationz,CollectionsAbcTests.test_deque_instantiation�s����
�
�d�6�<�>�>�*�*�K�,=�>�>�>��
�
�d�6�<��?�,�,�-�-�{�/@�A�A�A��
�
�d�6�<��,�.�.�/�/��1B�C�C�C�%�%�%�%�%���Q��%�%�%��
�
�d�6�1�S�6�8�8�n�n�a�(�(�(�(�(rbc�X�|�ttj����tj��|�ttjt
����tj��|�ttjt����tj��Gd�dtjt
��}|�t|t����|��dS)Nc��eZdZdS)�9CollectionsAbcTests.test_counter_instantiation.<locals>.CNr~rnrbr`r=r<�r�rbr=)r�r�rOrr�rr�r�s  r`�test_counter_instantiationz.CollectionsAbcTests.test_counter_instantiation�s����
�
�d�6�>�+�+�,�,�k�.A�B�B�B��
�
�d�6�>�!�,�.�.�/�/��1D�E�E�E��
�
�d�6�>�#�.�0�0�1�1�;�3F�G�G�G�'�'�'�'�'���q�!�'�'�'��
�
�d�6�1�S�6�8�8�n�n�a�(�(�(�(�(rbc��Gd�dtjt��}|��}|�||��|�|tj��|�|tj��dS)Nc��eZdZdS)�JCollectionsAbcTests.test_counter_subclass_instantiation.<locals>.MyCounterNr~rnrbr`�	MyCounterr@�r�rbrA)rOrr�r�r�)r[rAr�s   r`�#test_counter_subclass_instantiationz7CollectionsAbcTests.test_counter_subclass_instantiation�s���	�	�	�	�	���s�+�	�	�	�
�I�K�K�����a��+�+�+����a���0�0�0����a��!4�5�5�5�5�5rbc���|�t��5tj��ddd��n#1swxYwY|�t��5tjt��ddd��n#1swxYwY|�t��5tjt
��ddd��dS#1swxYwYdSrf)r�r�rOr
rr�r�s r`�test_no_set_instantiationz-CollectionsAbcTests.test_no_set_instantiation�sx��
�
�
�y�
)�
)�	�	��J�L�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��J�q�M�O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��J�s�O����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rc��Gd�dtjt��}|��}|�||��dS)Nc��eZdZdS)�BCollectionsAbcTests.test_set_subclass_instantiation.<locals>.MySetNr~rnrbr`r�rG�r�rbr�)rOr
r�r�)r[r�r�s   r`�test_set_subclass_instantiationz3CollectionsAbcTests.test_set_subclass_instantiation�s[��	�	�	�	�	�F�J�s�O�	�	�	�
�E�G�G�����a��'�'�'�'�'rbc���|�t��5tj��ddd��n#1swxYwY|�t��5tjt��ddd��n#1swxYwY|�t��5tjt
��ddd��dS#1swxYwYdSrf)r�r�rOrrr�r�s r`�test_no_frozenset_instantiationz3CollectionsAbcTests.test_no_frozenset_instantiation�s���
�
�
�y�
)�
)�	�	������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	"�	"���Q��!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	$�	$���S�!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$rc��Gd�dtjt��}|��}|�||��dS)Nc��eZdZdS)�NCollectionsAbcTests.test_frozenset_subclass_instantiation.<locals>.MyFrozenSetNr~rnrbr`�MyFrozenSetrM�r�rbrN)rOrr�r�)r[rNr�s   r`�%test_frozenset_subclass_instantiationz9CollectionsAbcTests.test_frozenset_subclass_instantiation�s]��	�	�	�	�	�&�*�3�/�	�	�	�
�K�M�M�����a��-�-�-�-�-rbc��|�t��5t��ddd��n#1swxYwY|�t��5tt��ddd��n#1swxYwY|�t��5tt��ddd��dS#1swxYwYdSrf)r�r�rrr�r�s r`�test_no_tuple_instantiationz/CollectionsAbcTests.test_no_tuple_instantiation�so��
�
�
�y�
)�
)�	�	��G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��!�H�J�J�J�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��#�J�L�L�L�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s0�6�:�:�B�B�B�&C
�
C�Cc�z�d�}|��}|�t|��tj��dS)Nc3�K�dV�dSr�rnrnrbr`r�z/CollectionsAbcTests.test_generator.<locals>.foo�s�����H�H�H�H�Hrb)rar�rO�	Generator)r[r�r�s   r`�test_generatorz"CollectionsAbcTests.test_generator�sA��	�	�	��C�E�E�����d�1�g�g�v�'7�8�8�8�8�8rbc��|�t��5tj��ddd��n#1swxYwY|�t��5tjtttf��ddd��n#1swxYwY|�t��5tjt
t
t
f��ddd��dS#1swxYwYdSrf)r�r�rOrTrr�r�s r`�test_no_generator_instantiationz3CollectionsAbcTests.test_no_generator_instantiation�s���
�
�
�y�
)�
)�	�	������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	(�	(���Q��1�W�%�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
�
�y�
)�
)�	.�	.���S�#�s�]�+�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.s1�;�?�?� ,B�B�B�=,C6�6C:�=C:c��i}tdt��|��|d��}|�t|��tj��dS)Nzasync def f():
    yield 42
ri)r�r�rar�rO�AsyncGenerator)r[rx
r�s   r`�test_async_generatorz(CollectionsAbcTests.test_async_generators[��
����&�y�y�"�	.�	.�	.��B�s�G�I�I�����d�1�g�g�v�'<�=�=�=�=�=rbc���|�t��5tj��ddd��n#1swxYwY|�t��5tjttf��ddd��n#1swxYwY|�t��5tjt
t
f��ddd��dS#1swxYwYdSrf)r�r�rOrYrr�r�s r`�%test_no_async_generator_instantiationz9CollectionsAbcTests.test_no_async_generator_instantiation	s���
�
�
�y�
)�
)�	$�	$��!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�
�
�
�y�
)�
)�	*�	*��!�!�Q�$�'�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�
�
�
�y�
)�
)�	.�	.��!�#�s�(�+�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.rc�f	�Gd�dtj��}|�t��5|��ddd��n#1swxYwYGd�d|��}|�t|����d��|�t|j����|�	|��tj
��Gd�dtjttf��}|�t|����d��|�t|ttf����d��|�t|ttf����d��|�t|��|�t|��|�|tj
��|�|tj
��|�|tj
��|�	|ttf��tj
��|�	|ttf��t"jj
��|�|t"jj
��|�|t"jj
��|�|t"jj
��|�t��5t'|ttftj
��ddd��n#1swxYwY|�||��Gd�d	tj��}|�t*|��Gd
�dtjt.t.t.f��}d�}|�|tj��|�|tj��|�|t"jj��|�|t"jj��|�t1|��|��dS)
Nc��eZdZdS)�1CollectionsAbcTests.test_subclassing.<locals>.MMANr~rnrbr`�MMAr_r�rbr`c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�1CollectionsAbcTests.test_subclassing.<locals>.MMCc��dSrfrnr�s  r`rRz=CollectionsAbcTests.test_subclassing.<locals>.MMC.__getitem__r�rbc��dSrfrnr�s   r`rVz=CollectionsAbcTests.test_subclassing.<locals>.MMC.__setitem__r�rbc��dSrfrnr�s  r`r�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__delitem__r�rbc� �td��Sr�r�r�s r`r2z:CollectionsAbcTests.test_subclassing.<locals>.MMC.__iter__ r�rbc��dSrLrnr�s r`r�z9CollectionsAbcTests.test_subclassing.<locals>.MMC.__len__"r�rbNr�rnrbr`�MMCrbr�rbrhrc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�1CollectionsAbcTests.test_subclassing.<locals>.MMBc��dSrfrnr�s  r`rRz=CollectionsAbcTests.test_subclassing.<locals>.MMB.__getitem__*r�rbc��dSrfrnr�s   r`rVz=CollectionsAbcTests.test_subclassing.<locals>.MMB.__setitem__,r�rbc��dSrfrnr�s  r`r�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__delitem__.r�rbc� �td��Sr�r�r�s r`r2z:CollectionsAbcTests.test_subclassing.<locals>.MMB.__iter__0r�rbc��dSrLrnr�s r`r�z9CollectionsAbcTests.test_subclassing.<locals>.MMB.__len__2r�rbNr�rnrbr`�MMBrj)r�rbrpc��eZdZdS)�/CollectionsAbcTests.test_subclassing.<locals>.INr~rnrbr`r{rrKr�rbr{c��eZdZdS)�/CollectionsAbcTests.test_subclassing.<locals>.GNr~rnrbr`ryrtNr�rbryc3�K�dV�dSrLrnrnrbr`r�z/CollectionsAbcTests.test_subclassing.<locals>.gOs����q�����rb)rOr"r�r�r�rr�r$	r�r�r�rrr|rdrrar�r�rXr�r�rTr�r�)r[r`rhrpr{ryr�s       r`�test_subclassingz$CollectionsAbcTests.test_subclassingsx��	�	�	�	�	�&�'�	�	�	��
�
�y�
)�
)�	�	��C�E�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
	�
	�
	�
	�
	�#�
	�
	�
	�	
����S�S�U�U���Q�'�'�'�������,�,�-�-�-����c�c�e�e�V�^�4�4�4�
	�
	�
	�
	�
	�&�'��B��/�
	�
	�
	�	
����S�S�U�U���Q�'�'�'�����]�S��c��]�_�_�-�-�q�1�1�1�����[�S��R��[�]�]�+�+�Q�/�/�/�� � ��s�+�+�+�� � ��s�+�+�+����c�6�>�2�2�2����c�6�>�2�2�2����c�6�>�2�2�2����k�c�"�b�&�k�m�m�V�^�<�<�<����k�c�"�b�&�k�m�m�[�_�-D�E�E�E����c�;�?�#:�;�;�;����c�;�?�#:�;�;�;����c�;�?�#:�;�;�;�
�
�
�y�
)�
)�	6�	6��s�3��8�}�f�n�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6����c�3�'�'�'�%�%�%�%�%���%�%�%�� � ��q�)�)�)�5�5�5�5�5�� ��c�3��/�5�5�5�������a��!1�2�2�2����a���1�1�1����a���!:�;�;�;����a���!9�:�:�:�� � ��a���!�,�,�,�,�,s#�A
�
A�A�-M=�=N�Nc��Gd�dtjttf��}i}tdt	��|��|d}|�|tj��|�|tj��|�|tjj��|�|tjj��|�	t|��|��|��}|�|tj��|�|tj��|�|tjj��|�|tjj��|�t|��|��|�||��dS)Nc��eZdZd�Zdd�ZdS)�?CollectionsAbcTests.test_subclassing_async_generator.<locals>.Gc��dSrfrnr�
s  r`�asendzECollectionsAbcTests.test_subclassing_async_generator.<locals>.G.asendXr�rbNc��dSrfrn)r[�typ�valr�
s    r`�athrowzFCollectionsAbcTests.test_subclassing_async_generator.<locals>.G.athrowZr�rbr�)rkrlrmr{rrnrbr`ryryWs7������
�
�
�
�
�
�
�
�
rbryzasync def g(): yield 0r�)
rOrYr�r�r�rar�r�r�rdr�r�r�)r[ryrx
r��instances     r`� test_subclassing_async_generatorz4CollectionsAbcTests.test_subclassing_async_generatorVs���	�	�	�	�	��%�c�3�h�/�	�	�	����
%�w�y�y�"�5�5�5��s�G�����a��!6�7�7�7����a��!5�6�6�6����a���!?�@�@�@����a���!>�?�?�?�� � ��a���!�,�,�,��1�3�3�����h��(=�>�>�>����h��(<�=�=�=����h���(F�G�G�G����h���(E�F�F�F�� � ��a���!�,�,�,�� � ��A�&�&�&�&�&rbc�
�Gd�dtj��}Gd�d|��}Gd�d��}Gd�d��}|�||��|�||��|�||��dS)	Nc�$�eZdZed���ZdS)�?CollectionsAbcTests.test_subclassing_subclasshook.<locals>.Basec� �|jdkrdSdS)Nr�TF)rkris  r`rkzPCollectionsAbcTests.test_subclassing_subclasshook.<locals>.Base.__subclasshook__qs���>�U�*�*��4� �5rbNrlrnrbr`rr�ps-������
�
!�
!��[�
!�
!�
!rbrc��eZdZdS)�<CollectionsAbcTests.test_subclassing_subclasshook.<locals>.CNr~rnrbr`r=r�xr�rbr=c��eZdZdS)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.FooNr~rnrbr`r�r�yr�rbr�c��eZdZdS)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.BarNr~rnrbr`r�r�zr�rbr�)rOr�rard)r[rr=r�r�s     r`�test_subclassing_subclasshookz1CollectionsAbcTests.test_subclassing_subclasshookns���	!�	!�	!�	!�	!�6�?�	!�	!�	!�	����������������������������c�4�(�(�(����c�1�%�%�%�� � ��a�(�(�(�(�(rbc�,�Gd�dtj��}Gd�d|��}Gd�d��}|�|��|�||��|�||��Gd�d��}|�|��|�||��|�||��Gd	�d
��}t
jj�|��|�|tj��dS)Nc��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.ANr~rnrbr`r�r��r�rbr�c��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.BNr~rnrbr`r�r��r�rbr�c��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.CNr~rnrbr`r=r��r�rbr=c��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.DNr~rnrbr`r@r��r�rbr@c��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.MNr~rnrbr`r�r��r�rbr�)	rOrFrurardr�r�r"r�)r[r�r�r=r@r�s      r`�test_subclassing_registerz-CollectionsAbcTests.test_subclassing_registers��&�&�&�&�&�� �&�&�&������������������	�
�
�1�
�
�
����a��#�#�#�� � ��A�&�&�&���������	�
�
�1�
�
�
����a��#�#�#����a��#�#�#�����������&�/�/��2�2�2����a���0�0�0�0�0rbc���Gd�dtjj��}|�|tj��|�|tj��Gd�dtjj��}|�|tj��|�|tj��Gd�dtjj��}|�|tj��Gd�dtjjtj�	��}Gd
�d��}|�|��|�|tj��dS)Nc��eZdZdS)�7CollectionsAbcTests.test_collections_as_base.<locals>.MNr~rnrbr`r�r��r�rbr�c��eZdZdS)�7CollectionsAbcTests.test_collections_as_base.<locals>.SNr~rnrbr`rwr��r�rbrwc��eZdZdS)�7CollectionsAbcTests.test_collections_as_base.<locals>.INr~rnrbr`r{r��r�rbr{c��eZdZdS)�7CollectionsAbcTests.test_collections_as_base.<locals>.ANr~rnrbr`r�r��r�rbr�rmc��eZdZdS)�7CollectionsAbcTests.test_collections_as_base.<locals>.BNr~rnrbr`r�r��r�rbr�)	r�r�r�rarOr�r��ABCMetaru)r[r�rwr{r�r�s      r`�test_collections_as_basez,CollectionsAbcTests.test_collections_as_base�s<��-�-�-�-�-���'�-�-�-����a���0�0�0����a���1�1�1�5�5�5�5�5���/�5�5�5����a��!7�8�8�8����a���1�1�1�.�.�.�.�.���(�.�.�.����a���1�1�1�D�D�D�D�D���'�3�;�D�D�D�D���������	�
�
�1�
�
�
����a���0�0�0�0�0rbc�>�|�tjtjzttjtjf��|�tjtjzttjtjf��dSrf)r�rOr�r�rr�r�r�s r`r�z#CollectionsAbcTests.test_or_and_ror�sh��������(8�8�%���f�N^�@^�:_�`�`�`�����)�F�O�;�U�6�CS�U[�Ud�Cd�=e�f�f�f�f�frbN)7rkrlrmr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr�rr
rrrrr r$r*r/r4r9r=rBrDrHrJrOrQrUrWrZr\rvr�r�r�r�r�rnrbr`r�r��sD������6�6�6�	5�	5�	5�6�6�6�

�
�
����";�;�;�;�;�;�3�3�3�7�7�7�8�8�8�9�9�9�A�A�A�5�5�5�<�<�<�6�6�6�=�=�=�A�A�A�1�1�1�<�<�<�
C�C�C�8�8�8�8�8�8�1�1�1�	H�	H�	H����
/�
/�
/�$�$�$�
/�
/�
/�U�U�U�
	E�	E�	E�U�U�U�
	E�	E�	E�0�0�0�	C�	C�	C�)�)�)�)�)�)�6�6�6����(�(�(�$�$�$�.�.�.����9�9�9�.�.�.�>�>�>�.�.�.�C-�C-�C-�J'�'�'�0)�)�)�"1�1�1�&1�1�1�$g�g�g�g�grbr�c��eZdZd�Zd�ZdS)�
OtherABCTestsc���tjd���}|��}|�|tj��|�dtj��dS)Nc3�K�dV�dSr�rnrnrbr`�managerz2OtherABCTests.test_contextmanager.<locals>.manager�������H�H�H�H�Hrbr�)�
contextlib�contextmanagerr�rOr<r�)r[r�r s   r`�test_contextmanagerz!OtherABCTests.test_contextmanager�sd��	�	"�	�	�
#�	"�	��W�Y�Y�����b�&�"7�8�8�8�� � ��V�%:�;�;�;�;�;rbc��Gd�d��}|�t��tj��|�|��tj��t
jd���}|��}|�|tj��|�tjtj	tf��|�
t��5tdtjt��ddd��n#1swxYwY|�
t��5tjttfddd��dS#1swxYwYdS)Nc��eZdZdS)�7OtherABCTests.test_async_contextmanager.<locals>.NotACMNr~rnrbr`�NotACMr��r�rbr�c3�K�dV�dSr�rnrnrbr`r�z8OtherABCTests.test_async_contextmanager.<locals>.manager�r�rbr�)r�r�
rO�AsyncContextManagerr�r�r�r�r�r�r�r�r�r|)r[r�r�r s    r`�test_async_contextmanagerz'OtherABCTests.test_async_contextmanager�s���	�	�	�	�	�	�	�	����c�e�e�V�%?�@�@�@�� � �����6�+E�F�F�F�	�	"�	�	�
#�	"�	��W�Y�Y��� � ��V�%?�@�@�@�����3�C�8�A�C�6�J�J�J�
�
�
�y�
)�
)�	<�	<��r�6�5�c�:�;�;�;�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<�	<����	<�	<�	<�	<�
�
�
�y�
)�
)�	1�	1��&�s�C�x�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1s$�1&D#�#D'�*D'�E4�4E8�;E8N)rkrlrmr�r�rnrbr`r�r��s2������<�<�<�1�1�1�1�1rbr�c� �eZdZd�Zd�Zd�ZdS)�	TypeTestsc��Gd�d��}Gd�d|��}Gd�d|��}dt|d|fd	�}||��dS)
Nc��eZdZdS)�'TypeTests.test_type_basic.<locals>.UserNr~rnrbr`�Userr��r�rbr�c��eZdZdS)�,TypeTests.test_type_basic.<locals>.BasicUserNr~rnrbr`�	BasicUserr��r�rbr�c��eZdZdS)�*TypeTests.test_type_basic.<locals>.ProUserNr~rnrbr`�ProUserr��r�rbr��
user_classr�c��|��Srfrn�r�s r`�new_userz+TypeTests.test_type_basic.<locals>.new_user�����:�<�<�rbr4)r[r�r�r�r�s     r`�test_type_basiczTypeTests.test_type_basic�s�����������#�#�#�#�#��#�#�#�!�!�!�!�!�d�!�!�!�	 ��d��	 ��	 �	 �	 �	 �	�������rbc��Gd�d��}Gd�d|��}Gd�d|��}td|���}d	t|d
|fd�}||��dS)Nc��eZdZdS)�)TypeTests.test_type_typevar.<locals>.UserNr~rnrbr`r�r��r�rbr�c��eZdZdS)�.TypeTests.test_type_typevar.<locals>.BasicUserNr~rnrbr`r�r��r�rbr�c��eZdZdS)�,TypeTests.test_type_typevar.<locals>.ProUserNr~rnrbr`r�r��r�rbr�r�rsr�r�c��|��Srfrnr�s r`r�z-TypeTests.test_type_typevar.<locals>.new_user�r�rb)rr5)r[r�r�r�r�r�s      r`�test_type_typevarzTypeTests.test_type_typevar�s�����������#�#�#�#�#��#�#�#�!�!�!�!�!�d�!�!�!��C�t�$�$�$��	 ��a��	 �Q�	 �	 �	 �	 �	�������rbc��ttt}d|dttfd�}|�|t��t��|�|d����dS)Nrr�c��|�dS|��Srfrnr�s r`r�z)TypeTests.test_type_optional.<locals>.foo�s���y��t��q�s�s�
rb)rr5�
BaseExceptionr��KeyboardInterrupt�assertIsNone)r[r�r�s   r`�test_type_optionalzTypeTests.test_type_optional�s~���T�-�(�)��	�1�	��-�0�	�	�	�	�	
���c�c�"3�4�4�6G�H�H�H����#�#�d�)�)�$�$�$�$�$rbN)rkrlrmr�r�r�rnrbr`r�r��sA������	�	�	����
%�
%�
%�
%�
%rbr�c�D�eZdZdgZd�Zeed��d���ZdS)�TestModules�_idfuncc�v�|jD]0}|�tt|��jd���1dS�NrO)�
func_namesr�r`�	py_typingrl�r[�fnames  r`�test_py_functionszTestModules.test_py_functions�sG���_�	M�	M�E����W�Y��6�6�A�8�L�L�L�L�	M�	Mrb�requires _typingc�v�|jD]0}|�tt|��jd���1dS)NrP)r�r�r`�c_typingrlr�s  r`�test_c_functionszTestModules.test_c_functions�sG���_�	M�	M�E����W�X�u�5�5�@�)�L�L�L�L�	M�	MrbN)rkrlrmr�r�r	r�r�rnrbr`r�r��s[��������J�M�M�M��Z��,�-�-�M�M�.�-�M�M�Mrbr�c�v�eZdZd�Zed���Zed���Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
S)�NewTypeTestsc�8�|jjD]}|���
dSrf)r�	rgrhs  r`�cleanupzNewTypeTests.cleanup�s-����&�	�	�A�
�A�C�C�C�C�	�	rbc���|jtjd<|j�dt��a|j�|jdzt��|_dS)NrO�UserId�	.UserName)	r�	r�r��NewTyper�r�rmr|�UserNamere	s r`�
setUpClasszNewTypeTests.setUpClass�sL�� #�
���H����#�#�H�c�2�2���z�)�)�#�*:�[�*H�#�N�N����rbc�4�b|`ttjd<dSr�)r�r�rOr�r�re	s r`�
tearDownClasszNewTypeTests.tearDownClasss��
��L� &���H���rbc�.�|���dSrf)r�r�s r`�tearDownzNewTypeTests.tearDown
s���������rbc��|�td��t��|�|�d��t��|�td��dzd��dS)Nr�Joerq�)r�r�r�r�r|r�r�s r`r�zNewTypeTests.test_basicsf�����f�Q�i�i��-�-�-����d�m�m�E�2�2�C�8�8�8��������Q���*�*�*�*�*rbc�*�|�t��5ttt��ddd��n#1swxYwY|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�#NewTypeTests.test_errors.<locals>.DNr~rnrbr`r@r�r�rbr@)r�r�rXr�r�r8s  r`r�zNewTypeTests.test_errorss��
�
�
�y�
)�
)�	$�	$��v�s�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�
�
�
�y�
)�
)�	�	�
�
�
�
�
�F�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s#�A�A�	A�'B�B�Bc�P�t|jfD�]}|�|���5|�t|z|jjt|f��|�|tz|jj|tf��|�|j�t|z��t|f��|�|j�|tz��|tf��ddd��n#1swxYwY��dS)Nre	)r�r�rxr�r�r�	rr.)r[r\s  r`r�zNewTypeTests.test_orsM�����'�	T�	T�C����#��&�&�
T�
T�� � ��#��t�{�/@����/M�N�N�N�� � ��v��t�{�/@��f��/M�N�N�N�� � ���!5�!5�f�s�l�!C�!C�f�c�]�S�S�S�� � ���!5�!5�c�F�l�!C�!C�c�6�]�S�S�S�
T�
T�
T�
T�
T�
T�
T�
T�
T�
T�
T����
T�
T�
T�
T��	T�	Ts�C%D�D	� D	c�.�|�tjd��|�tjd��|�tjt��|�tjt��|j}|�|jd��|�|j|jjdz��|�|jt��|�|jt��dS)Nr�r�r�)
r�r�rkrmrl�
__supertype__r�r�r�r|)r[r�s  r`�test_special_attrszNewTypeTests.test_special_attrs%s��������(�3�3�3�����,�h�7�7�7�����*�H�5�5�5�����-�s�3�3�3��=������*�J�7�7�7�����.���4�{�B�	D�	D�	D�����,�h�7�7�7�����/��5�5�5�5�5rbc���|�tt��t�d���|�t|j��t�d|jj�d���dS)Nz.UserIdrDr�)r�r�r�rkr�r�rmr�s r`r�zNewTypeTests.test_repr2ss������f���(�';�';�';�<�<�<�����d�m�,�,�$�M�M�t�~�'B�M�M�M�	O�	O�	O�	O�	Orbc��|j�dt��}ttjdz��D�]}|�|���5t	jt|��}t	j	|��}|�
|t��t	j|j|��}t	j	|��}|�
||j��|�tj
��5t	j||��ddd��n#1swxYwYddd��n#1swxYwY��dS)N�UserAgerqrs)r�	r�r�rurvrwrxr>r�r=r�r�r��
PicklingError)r[r
rt�pickledr�s     r`r�zNewTypeTests.test_pickle7s����+�%�%�i��7�7���6�2�Q�6�7�7�	1�	1�E����E��*�*�

1�

1� �,�v�u�5�5����g�.�.���
�
�f�f�-�-�-� �,�t�}�e�<�<����g�.�.���
�
�f�d�m�4�4�4��&�&�v�';�<�<�1�1��L��%�0�0�0�1�1�1�1�1�1�1�1�1�1�1����1�1�1�1�

1�

1�

1�

1�

1�

1�

1�

1�

1�

1�

1����

1�

1�

1�

1��	1�	1s7�B2E�D*�E�*D.�.E�1D.�2E�E	�E	c�*�d}t|i��dS)Nz-import typing
NT = typing.NewType('NT', int)
r�r�s  r`r�z!NewTypeTests.test_missing__name__Fs��3��	
�T�2�����rbc��|�ttjd����5Gd�dt��}ddd��dS#1swxYwYdS)NzpCannot subclass an instance of NewType. Perhaps you were looking for: `ProUserId = NewType('ProUserId', UserId)`c��eZdZdS)�CNewTypeTests.test_error_message_when_subclassing.<locals>.ProUserIdNr~rnrbr`�	ProUserIdr
Trrbr
)rr�r	r	r�)r[r
s  r`�#test_error_message_when_subclassingz0NewTypeTests.test_error_message_when_subclassingLs���
�
#�
#���I�=�
�
�
�
�	�	�
�
�
�
�
�F�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�AN)rkrlrmr�rmr�r�r�r�r�r�r�r�r�r�r
rnrbr`r�r��s�����������O�O��[�O��'�'��[�'����+�+�+�
���T�T�T�6�6�6�O�O�O�

1�
1�
1����	�	�	�	�	rbr�c��eZdZeZdS)�NewTypePythonTestsN)rkrlrmr�r�	rnrbr`r

r

Xs������
�F�F�Frbr

r�c��eZdZeZdS)�
NewTypeCTestsN)rkrlrmr�r�	rnrbr`r
r
\s������
�F�F�Frbr
c�r�eZdZGd�de��Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�ZdS)�NamedTupleTestsc�$�eZdZUeed<eed<dS)�NamedTupleTests.NestedEmployeer�
r�
Nr�
rnrbr`�NestedEmployeer
bs"��������	�	�	��	�	�	�	�	rbr
c���tddtfdtfg��}|�|t��|dd��}|dd���}|�||��|�|t��|�|jd��|�|jd��|�|jd��|�|jd��|�|j	d��|�|j
d��|�|jtj
dtfdtfg����dS)	N�Empr�
�idr�r��Jimrq�r�
r
)r6r|r�rar�r�r�r�
r
rk�_fieldsr�r�r#)r[r
�joe�jims    r`r5zNamedTupleTests.test_basicsfsZ����&�#���s�� <�=�=�����c�5�)�)�)��c�%��n�n���c�u��#�#�#�����c�3�'�'�'����c�5�)�)�)������5�)�)�)�������$�$�$������5�)�)�)�������#�#�#������u�-�-�-������n�5�5�5�����,�$�0�6�3�-�$���1M�N�N�	P�	P�	P�	P�	Prbc��tdd��}|�|t��|�|t��|�|jd��|�|jd��|�tjd��|�tjd��|�tjtj
tt�����dS)N�Timi(#r�
�r�
r�
)
r�
r�r�r�r�
r�
rkr
r�r�r#r|r�)r[�tims  r`�test_annotation_usagez%NamedTupleTests.test_annotation_usagevs����5�$�'�'�����c�<�0�0�0����c�5�)�)�)������5�)�)�)������4�(�(�(�����.��?�?�?�����-�/?�@�@�@�����5�$�0�c��D�D�D�	F�	F�	F�	F�	Frbc�,�td��}|�|t��|�|t��|�|jd��|�|jd��tdd��}|�|jd��|�tjd��|�tjd��|�tjttt�����|�tjtd�����|�
t��5Gd�d	t��}ddd��dS#1swxYwYdS)
N�Jeller�Sjoerdrqr�
r
)r�
c�(�eZdZUdZeed<eed<dS)�RNamedTupleTests.test_annotation_usage_with_default.<locals>.NonDefaultAfterDefaultrr�r�N)rkrlrmr�r�r�rnrbr`�NonDefaultAfterDefaultr#
�s&���������3�
�
�
������rbr$
)r�
r�r�r�r�
r�
rkr
r�rr|r��_field_defaultsr�r�r6)r[�jelle�cooler_employeer$
s    r`�"test_annotation_usage_with_defaultz2NamedTupleTests.test_annotation_usage_with_default�s���'��0�0�����e�%<�=�=�=����e�U�+�+�+������W�-�-�-������Q�'�'�'�1�(�A�>�>������-�q�1�1�1����0�9�;T�U�U�U����0�8�:J�K�K�K����0�@��3�S�1�1�1�	3�	3�	3����0�@�$�A�,�,�,�O�O�O�
�
�
�y�
)�
)�	�	�
�
�
�
�
��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�(F	�	F
�F
c���|�td�����d��|�td��jtd��d��|�t	td����d��|�tdd��td��zd��|�t��5Gd�dt��}ddd��n#1swxYwY|�t��5Gd	�d
t��}ddd��dS#1swxYwYdS)Nrqr�r�rz42 -> 1rc� �eZdZUeed<d�ZdS)�DNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBadr�c��dS)Nzno chance for thisrnr�s r`r
zLNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad._fields�s��/�/rbN)rkrlrmr�r�r
rnrbr`�XMethBadr+
�s.�����������0�0�0�0�0rbr-
c� �eZdZUeed<d�ZdS)�ENamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2r�c��dS)Nzno chance for this as wellrnr�s r`�_sourcezMNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2._source�s��7�7rbN)rkrlrmr�r�r1
rnrbr`�	XMethBad2r/
�s.�����������8�8�8�8�8rbr2
)	r�r�
r�
r�r|r�
r�r�r6)r[r-
r2
s   r`�"test_annotation_usage_with_methodsz2NamedTupleTests.test_annotation_usage_with_methods�s�������q�����*�*�A�.�.�.�����r����e�B�i�i��l�3�3�3�����U�2�Y�Y����3�3�3�����q�!���u�Q�x�x�/��3�3�3�
�
�
�~�
.�
.�	0�	0�
0�
0�
0�
0�
0�:�
0�
0�
0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0��
�
�~�
.�
.�	8�	8�
8�
8�
8�
8�
8�J�
8�
8�
8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s$�/D�D�D�4E�E�Ec��Gd�d��}|�t��5Gd�dt|��}ddd��n#1swxYwY|�t��5Gd�dtt��}ddd��n#1swxYwY|�t��5Gd�dtt��}ddd��n#1swxYwYGd	�d
t��}|�t��5Gd�dt|��}ddd��dS#1swxYwYdS)
Nc��eZdZdS)�4NamedTupleTests.test_multiple_inheritance.<locals>.ANr~rnrbr`r�r6
�r�rbr�c��eZdZUeed<dS)�4NamedTupleTests.test_multiple_inheritance.<locals>.Xr�Nrfrnrbr`r�r8
�r=
rbr�c��eZdZUeed<dS)�4NamedTupleTests.test_multiple_inheritance.<locals>.Yr�Nrfrnrbr`r�r:
�r=
rbr�c��eZdZUeed<dS)�4NamedTupleTests.test_multiple_inheritance.<locals>.Zr�Nrfrnrbr`r�r<
�r=
rbr�c��eZdZUeed<dS)�4NamedTupleTests.test_multiple_inheritance.<locals>.Br�Nrfrnrbr`r�r>
�rArbr�c��eZdZUeed<dS)�4NamedTupleTests.test_multiple_inheritance.<locals>.Cr�Nrkrnrbr`r=r@
�r=
rbr=)r�r�r6r�)r[r�r�r�r�r�r=s       r`r�z)NamedTupleTests.test_multiple_inheritance�s���	�	�	�	�	�	�	�	�
�
�
�y�
)�
)�	�	�
�
�
�
�
�J��
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�J��
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�J�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�
�	�	�	�
�
�
�y�
)�
)�	�	�
�
�
�
�
�J��
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sG�A	�	A
�A
�.B�B�B�9C�C#�&C#�D9�9D=�D=c�H�Gd�dttt��}|�|jt
tf��|�|jtttf��|�|j|t
ttf��Gd�dttt��}|�|jtt
f��|�|jtttf��|�|j|tt
tf��||fD�]E}|�	|���5|�|j
tf��|t}|�|j
|��|�|jtf��|�|j
d��|d��}|�t|��|��|�|jd��|�t$��5|tt&fddd��n#1swxYwYddd��n#1swxYwY��GdS)Nc��eZdZUeed<dS)�'NamedTupleTests.test_generic.<locals>.Xr�Nr�
rnrbr`r�rC
����������D�D�D�D�Drbr�c��eZdZUeed<dS)�'NamedTupleTests.test_generic.<locals>.Yr�Nr�
rnrbr`r�rF
�rD
rbr��r�rnr)r6r$rr�r�r�r�r�rTrxr�r�r�r�r�r�r�r�r�r|)r[r�r�ryr�rs      r`�test_genericzNamedTupleTests.test_generic�s���	�	�	�	�	�
�G�A�J�	�	�	������u�g�&6�7�7�7�����)�J���
�+C�D�D�D������Q��w��$?�@�@�@�	�	�	�	�	���
�J�	�	�	������w��&6�7�7�7�����)�G�A�J�
�+C�D�D�D������Q����$?�@�@�@��A��
	 �
	 �A����1��%�%�
 �
 �� � ��!1�A�4�8�8�8��c�F���
�
�a�l�A�.�.�.�� � ���c�V�4�4�4�� � ��!1�2�6�6�6��A�a�D�D���
�
�d�1�g�g�q�)�)�)�� � ���a�(�(�(��&�&�y�1�1� � ��c�3�h�K�K� � � � � � � � � � � ���� � � � �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 �
 ����
 �
 �
 �
 ��
	 �
	 s7�4C)J�I>�2J�>J�J�J�J�J	�J	c��Gd�dt��}|t}|�|j|��|�|jd��|�|jtf��|ddg��}|�t|��|��|�|ddgf��dS)Nc�0�eZdZUeed<eeed<dS)�9NamedTupleTests.test_non_generic_subscript.<locals>.GrouprO�groupN)rkrlrmrr�r�rnrbr`�GrouprK
�s&��������F�F�F���7�N�N�N�N�NrbrM
rnrqr�)r6r�r�r�r�r�r�r�)r[rM
r�rs    r`r%	z*NamedTupleTests.test_non_generic_subscript�s���	�	�	�	�	�J�	�	�	�
�#�J�������u�-�-�-�����)�2�.�.�.������c�V�,�,�,�
�A�a�!��I�I���
�
�d�1�g�g�u�%�%�%�����Q���H�%�%�%�%�%rbc�:�tdtt���}|dd��}|�|t��|�|jd��|�|jd��|�|jd��|�|j	ttt�����|�t��5tddtfgt���ddd��dS#1swxYwYdS)N�
LocalEmployee)r�
�age�Nick��Namer��r�)
r6r|r�r�r�r�r�
rkr
r�rr�r�)r[rO
�nicks   r`�test_namedtuple_keyword_usagez-NamedTupleTests.test_namedtuple_keyword_usage�s@��"�?��#�F�F�F�
��}�V�R�(�(�����d�E�*�*�*������F�+�+�+�����/��A�A�A�����.��@�@�@�����6��#�3�8O�8O�8O�P�P�P�
�
�
�y�
)�
)�	4�	4��v��c�
�|�s�3�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�	4�	4s�# D�D�Dc���tdtttt���}|�|jd��|�|jd��|tdddtfg���}|�|j	t��|�|j
d��|�|jd��|�|jdtfg��dS)Nr�)r\r[�typename�fieldsr�r�r))
r6r�rTr|r�r�rkr
r�r\r[rX
rY
)r[r�rs   r`�%test_namedtuple_special_keyword_namesz5NamedTupleTests.test_namedtuple_special_keyword_names�s���
��$�V�c�$�
O�
O�
O�������d�+�+�+������%J�K�K�K��B�3�R�%�%���8H�I�I�I��������$�$�$�������$�$�$������U�+�+�+������U�E�N�#3�4�4�4�4�4rbc��td��}Gd�dt��}||fD]�}|�|���5|�|jd��|�|ji��|�|ji��|�|��|��ddd��n#1swxYwY��dS)Nr�c��eZdZdS)�2NamedTupleTests.test_empty_namedtuple.<locals>.CNTNr~rnrbr`�CNTr]
�r�rbr^
)�structrn)r6rxr�r
r%
r�r�)r[r�r^
r_
s    r`�test_empty_namedtuplez%NamedTupleTests.test_empty_namedtuple�s(��
��
�
��	�	�	�	�	�*�	�	�	��3�i�	8�	8�F����V��,�,�
8�
8�� � ����4�4�4�� � ��!7��<�<�<�� � ��!7��<�<�<��%�%�f�f�h�h��7�7�7�	
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8s�A0B;�;B?	�B?	c���|�t��5tj��ddd��n#1swxYwY|�t��5t��ddd��n#1swxYwY|�t��5tddtfgd��ddd��n#1swxYwY|�t
��5tddtfg��ddd��n#1swxYwY|�t��5tdtt���ddd��dS#1swxYwYdS)Nr
r�
�_name)rX
r�
r
)r�r�r6r�r|r�r�r�s r`�test_namedtuple_errorsz&NamedTupleTests.test_namedtuple_errorssz��
�
�
�y�
)�
)�	!�	!��� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�
�
�y�
)�
)�	�	��L�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	5�	5��u���}�o�t�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�
�
�
�z�
*�
*�	0�	0��u���~�.�/�/�/�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0�	0����	0�	0�	0�	0�
�
�
�y�
)�
)�	9�	9���C�C�8�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9sU�;�?�?� A;�;A?�A?� C�C
�
C
�+D�D�D�5E�E#�&E#c��tddtfdtfg��att|jfD�]'}|�|���5|dd��}ttj	dz��D]W}tj
||��}tj|��}|�||��|�
||���Xt|��}|�||��|�
||��t|��}|�||��|�
||��ddd��n#1swxYwY��)dS)Nr
r�
r�
re	�jane�%rq)r6r|r�r
r�
r
rxrurvrwr>r=r�r�rr
)r[r\re
rtr�jane2s      r`�test_copy_and_picklez$NamedTupleTests.test_copy_and_pickles�����&�#����
� >�?�?����d�&9�9�	2�	2�C����#��&�&�
2�
2��s�6�2����"�6�#:�Q�#>�?�?�6�6�E���T�5�1�1�A�"�L��O�O�E��$�$�U�D�1�1�1��)�)�%��5�5�5�5��T�
�
��� � ���-�-�-��%�%�e�S�1�1�1� ������ � ���-�-�-��%�%�e�S�1�1�1�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2�
2����
2�
2�
2�
2��	2�	2s�C7E�E	�E	N)rkrlrmr6r
r5r
r(
r3
r�rH
r%	rV
rZ
r`
rc
rh
rnrbr`r
r
as����������������P�P�P� 	F�	F�	F����(8�8�8�$���$ � � �8&�&�&�	4�	4�	4�5�5�5�8�8�8�
9�
9�
9�2�2�2�2�2rbr
c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�TypedDictTestsc� �tdttd���}|�|t��|�|t
j��|�|tj	j
��|dd���}|�t|��t��|�
|dd��|�
|dd��|�
|jd��|�
|jt��|�
|jtf��|�
|jttd���|�
|jd��|�
|jddh��|�|jt*��|�
|jt/����|�|jt*��dS�Nr
r
r
rqr�
r
T)r9r|r�rarrOr"rdr�r�rHr�r�r�rkrlr�r��	__total__�__required_keys__r�r��__optional_keys__rC�r[r
r
s   r`�test_basics_functional_syntaxz,TypedDictTests.test_basics_functional_syntax's������3�7�7�8�8�����c�4�(�(�(����c�6�#8�9�9�9�� � ��k�o�&>�?�?�?��c�u��#�#�#���
�
�d�3�i�i��&�&�&�����V��e�,�,�,�����T��A�&�&�&������u�-�-�-�������2�2�2��������0�0�0�����,�s�#�.F�.F�G�G�G�������-�-�-�����.����?�?�?����c�3�Y�?�?�?�����.����6�6�6����c�3�Y�?�?�?�?�?rbc�z�|�t��5tdtt���}ddd��n#1swxYwY|�|t��|�|tj��|�	|tjj��|dd���}|�
t|��t��|�|dd��|�|dd��|�|jd��|�|jt ��|�|jtf��|�|jttd���|�|jd��dSrl
)�assertWarns�DeprecationWarningr9r|r�rarrOr"rdr�r�rHr�r�r�rkrlr�r�rm
rp
s   r`�test_basics_keywords_syntaxz*TypedDictTests.test_basics_keywords_syntax:s���
�
�
�0�
1�
1�	5�	5��E���4�4�4�C�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5����c�4�(�(�(����c�6�#8�9�9�9�� � ��k�o�&>�?�?�?��c�u��#�#�#���
�
�d�3�i�i��&�&�&�����V��e�,�,�,�����T��A�&�&�&������u�-�-�-�������2�2�2��������0�0�0�����,�s�#�.F�.F�G�G�G�������-�-�-�-�-s�A�A�Ac
�J�|�t��5tdttt
ttt���}ddd��n#1swxYwY|�	|j
d��|�	|jttt
tttd���|t
ddddtfgdth���}|�	|dt
��|�	|d	d��|�	|d
d��|�	|dd��|�	|ddtfg��|�	|d
dth��dS)N�TD)r\r[rX
�	_typenamerY
r
r�r��5r)r)r\r[rX
rx
rY
r
)rs
rt
r9r�rTr|r�r�rr�rkr�r�rC)r[rw
rs   r`�$test_typeddict_special_keyword_namesz3TypedDictTests.test_typeddict_special_keyword_namesJs���
�
�
�0�
1�
1�	p�	p��4�T���PS�\`�jn�o�o�o�B�	p�	p�	p�	p�	p�	p�	p�	p�	p�	p�	p����	p�	p�	p�	p������d�+�+�+�����+�T�6�WZ�il�x|�JN�.O�.O�	P�	P�	P��B�3�R�%�2��u�~�FV�af�hk�`l�m�m�m������5��3�'�'�'�����6��B�'�'�'�����:���.�.�.�����;���,�,�,�����8���u�~�&6�7�7�7�����9���s�|�4�4�4�4�4s�5A�A �#A c�D�|�t��5tj��ddd��n#1swxYwY|�t��5t��ddd��n#1swxYwY|�t��5tddtfgd��ddd��n#1swxYwY|�t��5tdtt
���ddd��dS#1swxYwYdS)Nr
r�
)rx
r�
r
)r�r�r9r�r|r�r�s r`�test_typeddict_create_errorsz+TypedDictTests.test_typeddict_create_errorsWs���
�
�
�y�
)�
)�	 �	 ������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	�	��K�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	4�	4��e�v�s�m�_�d�3�3�3�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4�	4����	4�	4�	4�	4�
�
�
�y�
)�
)�	9�	9���C�C�8�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�	9�	9sC�;�?�?� A;�;A?�A?� C�C
�
C
�+D�D�Dc���tdttd���}|�tjd��|dd���}|�t��5ti|��ddd��n#1swxYwY|�t��5t||��ddd��n#1swxYwY|�t��5tt|��ddd��n#1swxYwY|�t��5tddtfgt���ddd��dS#1swxYwYdS)	Nr
r
rOr
rq�Hir�rT
)
r9r|r�r�rlr�r�r�rXrrp
s   r`�test_typeddict_errorsz$TypedDictTests.test_typeddict_errorsasD�����3�7�7�8�8������-�x�8�8�8��c�u��#�#�#��
�
�
�y�
)�
)�	 �	 ��r�3����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	!�	!��s�C� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�
�
�
�y�
)�
)�	"�	"��t�S�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	1�	1��d�c�3�Z�L�C�0�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�	1�	1sH�%B�B�	B�'C�C�C�)D�D�D�0 E�E!�$E!c��|�tjd��|�tjt��|�tjt
t
td���|�tjtf��|�tj	d��|�
ttj��tdd���}|�|dd��|�|dd��tddd	���}|�|d
d	��dS)Nr�
r�Trrqr�r�r��hirj)r�r�
rkrlr�r�r|r�rrm
rdrOrHr�
)r[�
not_originrjs   r`�test_py36_class_syntax_usagez+TypedDictTests.test_py36_class_syntax_usagens������.��?�?�?�����0�(�;�;�;�����5�S�s�UX�7Y�7Y�Z�Z�Z�����/�$��9�9�9�����/��6�6�6�� � ��v��?�?�?��q�A�&�&�&�
�����C��!�,�,�,�����C��!�,�,�,��q�A�T�2�2�2������w���.�.�.�.�.rbc���tdttd���atddd���}t	t
jdz��D]�}tj||��}tj|��}|�	||��|�	|ddd���tjt|��}tj|��}|�	|ddd���|����dS)N�EmpDr
re
rf
rq)
r9r|r�r�
rurvrwr>r=r�)r[re
rtrrg
�ZZ�EmpDnews       r`r�zTypedDictTests.test_pickle{s�����#�S�!9�!9�:�:���V�2�.�.�/�/���6�2�Q�6�7�7�	H�	H�E���T�5�)�)�A��L��O�O�E����U�D�)�)�)����U�V�2�$>�$>�?�?�?���d�E�*�*�B��l�2�&�&�G����W�W�f�B�%?�%?�@�@�$�G�G�G�G�	H�	Hrbc��tdd���}ttjdz��D]�}tj||��}tj|��}|�||��|�|ddd���tjt|��}tj|��}|�|ddd���|����dS)Ng@g@r�	rq)r�
rurvrwr>r=r�)r[�pointrtr�point2r�
�Point2DGenericNews       r`�test_pickle_genericz"TypedDictTests.test_pickle_generic�s������,�,�,���6�2�Q�6�7�7�	M�	M�E���U�E�*�*�A��\�!�_�_�F����V�U�+�+�+����V�3�S�%9�%9�:�:�:���n�e�4�4�B� &��R� 0� 0�����.�.�S�s�/C�/C�D�D�e�L�L�L�L�	M�	Mrbc��tdttd���}|�tj|tjd|f��|�tj|tj	|��dS)Nr�
r
)
r9r|r�r�rOrrr�r r)r[r�
s  r`r�zTypedDictTests.test_optional�sk����#�S�!9�!9�:�:��������.���T�4�Z�0H�I�I�I����F�K��-�v�|�D�/A�B�B�B�B�Brbc�`�tddtid���}|�|��i��|�|d���ddi��|�|jd��|�|jt����|�|jt
��|�|jdh��|�|jt
��|�t��i��|�td���d	di��|�tjd��|�tjt����|�tjd	d
h��dS)Nr@r�Fr�
rqr�r�)r�
r�
r�
)	r9r�r�rm
rn
r�r�ro
r�
r8s  r`�
test_totalzTypedDictTests.test_total�sv���c�C��:�U�3�3�3���������b�!�!�!������Q����#�q��*�*�*������e�,�,�,�����,�i�k�k�:�:�:����a�1�9�=�=�=�����,�s�e�4�4�4����a�1�9�=�=�=�������B�'�'�'�����1�-�-�-��Q�/?�@�@�@�����*�E�2�2�2�����2�I�K�K�@�@�@�����2�[�*�4M�N�N�N�N�Nrbc�V�Gd�dtd���}|�|jtddg����|�|jt��|�|jtdg����|�|jt��dS)Nc��eZdZUeed<dS)�6TypedDictTests.test_optional_keys.<locals>.Point2Dor3DrNrfrnrbr`�Point2Dor3Dr�
�rArbr�
Fr�
r�r�r)r�
r�rn
r�r�ro
)r[r�
s  r`�test_optional_keysz!TypedDictTests.test_optional_keys�s���	�	�	�	�	�'��	�	�	�	�	
����6�	�3��*�8M�8M�N�N�N����k�;�Y�G�G�G�����6�	�3�%�8H�8H�I�I�I����k�;�Y�G�G�G�G�Grbc�`�Gd�dt��}Gd�d|d���}Gd�d|��}|�|jtd	g����|�|jtg����|�|jd	ti��|�|jtd	g����|�|jtd
dg����|�|jtttd���|�|jtd	d
g����|�|jtd
dg����|�|jttttd���dS)Nc��eZdZUeed<dS)�8TypedDictTests.test_keys_inheritance.<locals>.BaseAnimalr�
Nrkrnrbr`�
BaseAnimalr�
�r�rbr�
c�$�eZdZUeed<eed<dS)�4TypedDictTests.test_keys_inheritance.<locals>.Animal�voicerWN)rkrlrmr|r�r�rnrbr`�Animalr�
�s"��������J�J�J��J�J�J�J�Jrbr�
Fr�
c��eZdZUeed<dS)�1TypedDictTests.test_keys_inheritance.<locals>.Cat�	fur_colorNrkrnrbr`�Catr�
�s��������N�N�N�N�Nrbr�
r�
rWr�
)r�
rWr�
r�
)r�
r�
rWr�
)r9r�rn
r�ro
r�r|r�)r[r�
r�
r�
s    r`�test_keys_inheritancez$TypedDictTests.test_keys_inheritance�s���	�	�	�	�	��	�	�	�	�	�	�	�	�Z�u�	�	�	�	�	�	�	�	�	�&�	�	�	�	
����5�y�&��7J�7J�K�K�K�����5�y��}�}�E�E�E�����3�f�c�]�C�C�C�����1�9�f�X�3F�3F�G�G�G�����1�9�f�g�=N�3O�3O�P�P�P�����/����2
�2
�	�	�	�	
����.�	�6�;�:O�0P�0P�Q�Q�Q�����.�	�6�7�:K�0L�0L�M�M�M�����,�����	/
�/
�	�	�	�	�	rbc��Gd�dtd���}Gd�d|��}|�|jt����|�|jtdg����|�|jtdg����|�|jt����Gd�d	t��}Gd
�d|��}|�|jtdg����|�|jtdg����|�|jtdg����|�|jtdg����dS)
Nc��eZdZUeed<dS)�ETypedDictTests.test_keys_inheritance_with_same_name.<locals>.NotTotalrNrfrnrbr`�NotTotalr�
�rArbr�
Fr�
c��eZdZUeed<dS)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.TotalrNrfrnrbr`�Totalr�
�rArbr�
rc�<�eZdZUeeed<eeed<dS)�ATypedDictTests.test_keys_inheritance_with_same_name.<locals>.Baserr�N)rkrlrmr7r�r�r8rnrbr`rr�
�s3��������3�������}�����rbrc�<�eZdZUeeed<eeed<dS)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.Childrr�N)rkrlrmr8r�r�r7rnrbr`r.
r�
�s3���������}�����3������rbr.
r�)r9r�rn
r�ro
)r[r�
r�
rr.
s     r`�$test_keys_inheritance_with_same_namez3TypedDictTests.test_keys_inheritance_with_same_name�s���	�	�	�	�	�y��	�	�	�	�	�	�	�	�	�H�	�	�	�	
����3�Y�[�[�A�A�A�����3�Y��u�5E�5E�F�F�F�����0�)�S�E�2B�2B�C�C�C�����0�)�+�+�>�>�>�	�	�	�	�	�9�	�	�	�	 �	 �	 �	 �	 �D�	 �	 �	 �	
����/��C�5�1A�1A�B�B�B�����/��C�5�1A�1A�B�B�B�����0�)�S�E�2B�2B�C�C�C�����0�)�S�E�2B�2B�C�C�C�C�Crbc�j�Gd�dt��}Gd�dt��}Gd�d||��}|�|jdtti��|�|jt
dg����|�|jt
����dS)Nc�&�eZdZUeeed<dS)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.Base1rNrrnrbr`�Base1r�
�s#��������3������rbr�
c�&�eZdZUeeed<dS)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.Base2rNrrnrbr`�Base2r�
�s"���������}�����rbr�
c��eZdZdS)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.ChildNr~rnrbr`r.
r�
�r�rbr.
r)r9r�r�r8r|rn
r�ro
)r[r�
r�
r.
s    r`�'test_multiple_inheritance_with_same_keyz6TypedDictTests.test_multiple_inheritance_with_same_key�s���	 �	 �	 �	 �	 �I�	 �	 �	 �	�	�	�	�	�I�	�	�	�	�	�	�	�	�E�5�	�	�	�	
����.��h�s�m�0D�E�E�E�����0�)�S�E�2B�2B�C�C�C�����0�)�+�+�>�>�>�>�>rbc��|�tjtdh����|�tjtdh����|�t
jtdh����|�t
jtdh����|�tjjt����|�tjjtdh����|�tjtdh����|�tjtdh����|�tjtdh����|�tjtdh����|�tjtdh����|�tjtdh����|�tjtdh����|�tjtdh����dS)Nrrr)r�rrn
r�ro
rrNr�rrr
rr�s r`�test_required_notrequired_keysz-TypedDictTests.test_required_notrequired_keys�sj������8�"�G�9�-�-�	/�	/�	/�����8�"�F�8�,�,�	.�	.�	.�	
����5�"�G�9�-�-�	/�	/�	/�����5�"�F�8�,�,�	.�	.�	.�	
���+�9�K�"���	&�	&�	&����+�9�K�"�C�5�)�)�	+�	+�	+�	
����9�"�G�9�-�-�	/�	/�	/�����9�"�F�8�,�,�	.�	.�	.�	
���+�=�"�G�9�-�-�	/�	/�	/����+�=�"�F�8�,�,�	.�	.�	.�	
����:�"�G�9�-�-�	/�	/�	/�����:�"�F�8�,�,�	.�	.�	.�	
���2�D�"�G�9�-�-�	/�	/�	/����2�D�"�F�8�,�,�	.�	.�	.�	.�	.rbc�L�Gd�dt��}Gd�dt��}Gd�dtd���}td	d
ti��}Gd�d��}Gd
�d||��}|�|jt	gd�����|�|jt	g����|�|jtttd���Gd�d||��}|�|jt	ddg����|�|jt	dg����|�|jtttd���Gd�d||d���}|�|jt	dg����|�|jt	ddg����|�|jtttd���Gd�d||��}	|�|	jt	d
dg����|�|	jt	dg����|�|	jtttd���||f||f|||f||f||fg}
|
D]n}|�	|���5|�
td��5Gd�dg|�R�}ddd��n#1swxYwYddd��n#1swxYwY�odS)Nc��eZdZUeed<dS)�5TypedDictTests.test_multiple_inheritance.<locals>.Oner�Nrfrnrbr`�Oner�
���������H�H�H�H�Hrbr�
c��eZdZUeed<dS)�5TypedDictTests.test_multiple_inheritance.<locals>.Two�twoNrkrnrbr`�Twor�
!r�
rbr�
c��eZdZUeed<dS)�9TypedDictTests.test_multiple_inheritance.<locals>.Untotal�untotalNrkrnrbr`�Untotalr�
#s��������L�L�L�L�Lrbr�
Fr�
�Inline�inlinec��eZdZdS)�9TypedDictTests.test_multiple_inheritance.<locals>.RegularNr~rnrbr`�Regularr�
&r�rbr�
c��eZdZUeed<dS)�7TypedDictTests.test_multiple_inheritance.<locals>.Child�childN�rkrlrmr�r�rnrbr`r.
r�
)���������K�K�K�K�Krbr.
)r�r�
r�
c��eZdZUeed<dS)�CTypedDictTests.test_multiple_inheritance.<locals>.ChildWithOptionalr�
Nr�
rnrbr`�ChildWithOptionalr�
8r�
rbr�
r�r�
r�
)r�r�
r�
c��eZdZUeed<dS)�ETypedDictTests.test_multiple_inheritance.<locals>.ChildWithTotalFalser�
Nr�
rnrbr`�ChildWithTotalFalser�
Gr�
rbr�
c��eZdZUeed<dS)�LTypedDictTests.test_multiple_inheritance.<locals>.ChildWithInlineAndOptionalr�
Nr�
rnrbr`�ChildWithInlineAndOptionalr�
Vr�
rbr�
)r�
r�
r�
)�basesz=cannot inherit from both a TypedDict type and a non-TypedDictc��eZdZdS)�7TypedDictTests.test_multiple_inheritance.<locals>.WrongNr~rnrbr`�Wrongr�
rr	rbr�
)r9r�r�rn
r�ro
r�r�r|rxrr�)
r[r�
r�
r�
r�
r�
r.
r�
r�
r�
�wrong_basesr�
r�
s
             r`r�z(TypedDictTests.test_multiple_inheritances���	�	�	�	�	�)�	�	�	�	�	�	�	�	�)�	�	�	�	�	�	�	�	�i�u�	�	�	�	��8�h��%5�6�6��	�	�	�	�	�	�	�	�	�	�	�	�	�C��	�	�	�����#��-�-�-�.�.�	
�	
�	
�	
����#��b�M�M�	
�	
�	
�	
����!���d�3�3�	
�	
�	
�
	�	�	�	�	��W�	�	�	�����/��u�g�&�'�'�	
�	
�	
�	
����/��y�k�"�"�	
�	
�	
�	
����-��C�$�7�7�	
�	
�	
�
	�	�	�	�	�#�w�e�	�	�	�	�����1��u�g���	
�	
�	
�	
����1��y�'�*�+�+�	
�	
�	
�	
����/��C�$�7�7�	
�	
�	
�
	�	�	�	�	��&�	�	�	����&�8��x��)�*�*�	
�	
�	
�	
���&�8��y�k�"�"�	
�	
�	
�	
���&�6���d�;�;�	
�	
�	
��'�N�
�c�N�
�#�w��
�W��
�g��
��!�	�	�E����E��*�*�
�
��+�+��S����������������	������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s6�
L�)L�5L�L�L�L�	L�L	�L	c���|�tt��d��|�tttt
f��d��|�tt����d��t
ddt
i��}|�t|��d��|�t|����d��td���G�fd�dtt���}|�t|��d��|�t|t
��d��|�t|����d��|�tt��d��dS)NTF�
call_basedrrc���eZdZU�ed<dS)�4TypedDictTests.test_is_typeddict.<locals>.BarGenericrNr�r�s�r`r�
r�
s���������D�D�D�D�Drbr�
)	r�r/r�
rr|r�r9rr$)r[r�
r�
rs   @r`�test_is_typeddictz TypedDictTests.test_is_typeddictus{����
�
�l�7�+�+�T�2�2�2��
�
�l�5��c��?�3�3�U�;�;�;��
�
�l�7�9�9�-�-�u�5�5�5��|�c�3�Z�8�8�
��
�
�l�:�.�.��5�5�5��
�
�l�:�:�<�<�0�0�%�8�8�8��C�L�L��	�	�	�	�	�	�	��G�A�J�	�	�	��
�
�l�:�.�.��5�5�5��
�
�l�:�c�?�3�3�U�;�;�;��
�
�l�:�:�<�<�0�0�%�8�8�8�	
�
�
�l�9�-�-�u�5�5�5�5�5rbc��|�tt��tjt
t
d���dS)Nr�	)r�r,r�rOrr�r�s r`r	z"TypedDictTests.test_get_type_hints�sA������3����/�#�&�S�1�1�	
�	
�	
�	
�	
rbc�X�|�tt��tjt
td���Gd�dtt��}|�t|��tjt
ttd���dS)Nr�	c��eZdZUeed<dS)�ATypedDictTests.test_get_type_hints_generic.<locals>.FooBarGenericr�Nrkrnrbr`�
FooBarGenericr�
�rArbr�
�rr�r�)r�r,r�
rOrrr�r|)r[r�
s  r`�test_get_type_hints_genericz*TypedDictTests.test_get_type_hints_generic�s�������:�&�&��/�!�$�3�/�/�	
�	
�	
�
	�	�	�	�	�J�s�O�	�	�	�	
����=�)�)��/�!�$�3�S�9�9�	
�	
�	
�	
�	
rbc��Gd�dttt��}|�|jtt
f��|�|jtttf��|�|j|tt
tf��|�|j	tf��|�|tj	d��|�|tjtf��Gd�dttt��}|�|jtt
f��|�|jtttf��|�|j|tt
tf��|�|j	tf��|�|tj	d��|�|tjtf��Gd�d|td�	��}|�|jtt
f��|�|j|tf��|�|j|tt
tf��|�|j	tf��|�|j
d��|�|jtd
g����|�|jtdg����|�|tj	d��|�|tjtf��|�|tj|��Gd�d
|t$��}|�|jtt
f��|�|j|t$f��|�|j|tt
tf��|�|j	d��|�|j
d��|�|jtd
g����|�|jtddg����|�|jttt$d���|�t*��5|tddd��n#1swxYwYGd�dt,ttttf��}|�|jtt
f��|�|jt,ttttff��|�|j|tt
tf��|�|j	ttf��|�|j
d��|�|jt����|�|jtgd�����|�|jtttd���|�|t$tfj|��|�t*��5|t$ddd��n#1swxYwY|�t*��5Gd�dt,ttt��}ddd��dS#1swxYwYdS)Nc��eZdZUeed<dS)�2TypedDictTests.test_generic_inheritance.<locals>.ArNr�
rnrbr`r�r�
�rD
rbr�rnc��eZdZUeed<dS)�3TypedDictTests.test_generic_inheritance.<locals>.A2rNr�
rnrbr`�A2r�
�rD
rbr�
c��eZdZUeed<dS)�2TypedDictTests.test_generic_inheritance.<locals>.Br�N�rkrlrmrr�rnrbr`r�r�
����������E�E�E�E�Erbr�Fr�
r�rc��eZdZUeed<dS)�2TypedDictTests.test_generic_inheritance.<locals>.Cr�Nrfrnrbr`r=r�
�rArbr=Tr�r�
c��eZdZUeed<dS��8TypedDictTests.test_generic_inheritance.<locals>.Point3Dr�Nr�
rnrbr`�Point3Dr�
�r�
rbr�
c��eZdZUeed<dSr�
r�
rnrbr`r�
z8TypedDictTests.test_generic_inheritance.<locals>.Point3D�s������������rb)r9r$rr�r�rr�r�rTr�r|r�rrm
ro
r�rn
r�r�r�r�r�r�
)r[r�r�
r�r=r�
s      r`�test_generic_inheritancez'TypedDictTests.test_generic_inheritance�sp��	�	�	�	�	�	�7�1�:�	�	�	�	
�����w��o�6�6�6�����)�I�w�q�z�+B�C�C�C������Q���v�$>�?�?�?�����)�A�4�0�0�0�����3��.��3�3�3�����3���3�&�1�1�1�	�	�	�	�	����Y�	�	�	�	
��������7�7�7�����*�W�Q�Z��,C�D�D�D������b�'�4��%@�A�A�A�����*�Q�D�1�1�1�����C��/��4�4�4�����C��)�C�6�2�2�2�	�	�	�	�	��"��U�	�	�	�	�	
�����w��o�6�6�6�����)�A�b�E�8�4�4�4������Q���v�$>�?�?�?�����)�B�5�1�1�1������e�,�,�,�����,�i���.>�.>�?�?�?�����,�i���.>�.>�?�?�?�����3��.��3�3�3�����3���3�&�1�1�1�����3��*�A�.�.�.�	�	�	�	�	��#��	�	�	�	
�����w��o�6�6�6�����)�A�c�F�9�5�5�5������Q���v�$>�?�?�?�����)�2�.�.�.������d�+�+�+�����,�i���.>�.>�?�?�?�����,�i��c�
�.C�.C�D�D�D�����*����-
�-
�	�	�	�
�
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�n�Q�'���B���	�	�	�	
����*�W�d�O�<�<�<�����/�.��2C�W�Q�PR�U�^�1T�U�U�U������7�G�T�6�*J�K�K�K�����/�!�R��9�9�9�����*�D�1�1�1�����2�I�K�K�@�@�@�����2�I�o�o�o�4N�4N�O�O�O�����0����3
�3
�	�	�	�
	
�����c��*�5�w�?�?�?�
�
�
�y�
)�
)�	�	��C�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�.��+�W�R�[�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s6�U�U�!U�<]�]�]�;0^8�8^<�?^<c�8�Gd�dttt��}Gd�d|td���}Gd�d|��}|�|jttf��|�|j|tttf��|�|j	d	��|�|j
d
��|�|jtdg����|�|j
tdd
g����|�|jtttd���|�t"��5|t$ddd��dS#1swxYwYdS)Nc��eZdZUeed<dS)�7TypedDictTests.test_implicit_any_inheritance.<locals>.ArNr�
rnrbr`r�r�
�rD
rbr�c��eZdZUeed<dS)�7TypedDictTests.test_implicit_any_inheritance.<locals>.Br�Nr�
rnrbr`r�r�r�
rbr�Fr�
c��eZdZUeed<dS)�ETypedDictTests.test_implicit_any_inheritance.<locals>.WithImplicitAnyr�Nrfrnrbr`�WithImplicitAnyr�rArbrrnTr�rr�r�
)r9r$rrr�r�rr�rTr�rm
ro
r�rn
r�r�r�r�r|)r[r�r�rs    r`�test_implicit_any_inheritancez,TypedDictTests.test_implicit_any_inheritance�s��	�	�	�	�	�	�7�1�:�	�	�	�	�	�	�	�	��"��U�	�	�	�	�	�	�	�	�	�a�	�	�	�	
����2�W�d�4D�E�E�E�����0�?�G�T�SY�2Z�[�[�[�����7��<�<�<�����2�D�9�9�9�����:�I�s�e�<L�<L�M�M�M�����:�I�s�C�j�<Q�<Q�R�R�R�����8����;
�;
�	�	�	�
�
�
�y�
)�
)�	!�	!��C� � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�4F�F�Fc��Gd�dt��}|t}|�|j|��|�|jd��|�|jtf��|d���}|�t|��t��|�|ddi��dS)Nc��eZdZUeed<dS)�5TypedDictTests.test_non_generic_subscript.<locals>.TDrNr�
rnrbr`rw
rrD
rbrw
rnrqr�r)	r9r�r�r�r�r�r�r�r)r[rw
r�rs    r`r%	z)TypedDictTests.test_non_generic_subscripts���	�	�	�	�	��	�	�	��s�G�������r�*�*�*�����)�2�.�.�.������c�V�,�,�,�
�A�!�H�H�H���
�
�d�1�g�g�t�$�$�$�����S�!�H�%�%�%�%�%rbN)rkrlrmrq
ru
rz
r|
r
r�
r�r�
r�r�
r�
r�
r�
r�
r�
r�r�
r	r�
r�
rr%	rnrbr`rj
rj
&s}������@�@�@�&.�.�.� 5�5�5�9�9�9�1�1�1�/�/�/�H�H�H�	M�	M�	M�C�C�C�O�O�O� H�H�H����@D�D�D�2
?�
?�
?�".�".�".�HU�U�U�n6�6�6�&
�
�
�
�
�
�M�M�M�^!�!�!�2&�&�&�&�&rbrj
c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
RequiredTestsc���|�t��5ttddd��n#1swxYwY|�t��5ttt
fddd��n#1swxYwY|�t��5ttt
ddd��dS#1swxYwYdSrf)r�r�r8r7r�r|r�s r`r5zRequiredTests.test_basicssu��
�
�
�y�
)�
)�	"�	"��[�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	�	��S�#�X���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��S�M�#���	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�1�:�>�>�B�B	�B	�*C�C�Cc�<�|�tt��d��tt}|�t|��d��tt}|�t|��dt
�d���dS)Nztyping.Requiredztyping.Required[int]ztyping.Required[�
.Employee])r�r�r8r�r}rkr+	s  r`r�zRequiredTests.test_reprs}������h���):�;�;�;�
�c�]������b���#9�:�:�:�
�h�
������b���#J�h�#J�#J�#J�K�K�K�K�Krbc	��|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dttt����}ddd��n#1swxYwY|�t��5Gd�dt��}ddd��n#1swxYwY|�t��5Gd�dtt��}ddd��dS#1swxYwYdS)	Nc��eZdZdS)�-RequiredTests.test_cannot_subclass.<locals>.CNr~rnrbr`r=r%r�rbr=c��eZdZdS)�-RequiredTests.test_cannot_subclass.<locals>.DNr~rnrbr`r@r(r�rbr@c��eZdZdS)�-RequiredTests.test_cannot_subclass.<locals>.ENr~rnrbr`rwr+r�rbrwc��eZdZdS)�-RequiredTests.test_cannot_subclass.<locals>.FNr~rnrbr`rxr.r�rbrx)r�r�r�r8r��r[r=r@rwrxs     r`r�z"RequiredTests.test_cannot_subclass#sy��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��N�N�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��#��'�'�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�H�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�H�S�M�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�G�!A�A�A�-,B%�%B)�,B)�
C*�*C.�1C.�D;�;D?�D?c���|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5tttt
����ddd��dS#1swxYwYdSrf)r�r�r8r�rr�r�s r`rDzRequiredTests.test_cannot_init1r4	r5	c�D�|�t��5tdtt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSrF)r�r�r�r8r�rXr�s r`rGz RequiredTests.test_no_isinstance9r7	r8	Nr9	rnrbr`r
r
sb���������L�L�L����,�,�,�&�&�&�&�&rbr
c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�NotRequiredTestsc���|�t��5ttddd��n#1swxYwY|�t��5ttt
fddd��n#1swxYwY|�t��5ttt
ddd��dS#1swxYwYdSrf)r�r�r7r8r�r|r�s r`r5zNotRequiredTests.test_basicsBsv��
�
�
�y�
)�
)�	"�	"���!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	"�	"���S��!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	"�	"����S�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"rc�<�|�tt��d��tt}|�t|��d��tt}|�t|��dt
�d���dS)Nztyping.NotRequiredztyping.NotRequired[int]ztyping.NotRequired[r)r�r�r7r�r}rkr+	s  r`r�zNotRequiredTests.test_reprJs�������k�*�*�,@�A�A�A�
��
������b���#<�=�=�=�
��
"������b���#M��#M�#M�#M�N�N�N�N�Nrbc	��|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dttt����}ddd��n#1swxYwY|�t��5Gd�dt��}ddd��n#1swxYwY|�t��5Gd�dtt��}ddd��dS#1swxYwYdS)	Nc��eZdZdS)�0NotRequiredTests.test_cannot_subclass.<locals>.CNr~rnrbr`r=r"Sr�rbr=c��eZdZdS)�0NotRequiredTests.test_cannot_subclass.<locals>.DNr~rnrbr`r@r$Vr�rbr@c��eZdZdS)�0NotRequiredTests.test_cannot_subclass.<locals>.ENr~rnrbr`rwr&Yr�rbrwc��eZdZdS)�0NotRequiredTests.test_cannot_subclass.<locals>.FNr~rnrbr`rxr(\r�rbrx)r�r�r�r7r�rs     r`r�z%NotRequiredTests.test_cannot_subclassQs}��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��%�%�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��S�)�*�*�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�K�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�K��$�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rc���|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5tttt
����ddd��dS#1swxYwYdSrf)r�r�r7r�rr�r�s r`rDz!NotRequiredTests.test_cannot_init_s���
�
�
�y�
)�
)�	�	��M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	 �	 ��D�������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	/�	/�,�D��X�c�]�+�,�,�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/r5	c�D�|�t��5tdtt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSrF)r�r�r�r7r�rXr�s r`rGz#NotRequiredTests.test_no_isinstancegs��
�
�
�y�
)�
)�	,�	,��q�+�c�*�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�
�
�
�y�
)�
)�	)�	)��s�K�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)r8	Nr9	rnrbr`rr@sb������"�"�"�O�O�O����/�/�/�)�)�)�)�)rbrc�&�eZdZd�Zd�Zd�Zd�ZdS)�IOTestsc��dtdtfd�}|jd}|�|jtf��dS)Nrr�c�*�|���Srf��readliner�s r`r�	zIOTests.test_io.<locals>.stuffr����:�:�<�<�rb)r;rr�r�r��r[r�	rs   r`�test_iozIOTests.test_iopsT��	 �R�	 �F�	 �	 �	 �	 �
�!�#�&������)�F�9�5�5�5�5�5rbc�z�dtdtfd�}|jd}|�|jd��dS)Nrr�c�*�|���Srfr/r�s r`r�	z"IOTests.test_textio.<locals>.stuffzr1rbrn)r<r|r�r�r�r2s   r`�test_textiozIOTests.test_textioxsR��	 �V�	 ��	 �	 �	 �	 �
�!�#�&������)�2�.�.�.�.�.rbc�z�dtdtfd�}|jd}|�|jd��dS)Nrr�c�*�|���Srfr/r�s r`r�	z$IOTests.test_binaryio.<locals>.stuff�r1rbrn)r=r�r�r�r�r2s   r`�
test_binaryiozIOTests.test_binaryio�sR��	 �X�	 �%�	 �	 �	 �	 �
�!�#�&������)�2�.�.�.�.�.rbc�J�tjd���5}tjdt���ddlm}m}m}m}m	}|�
|tj��|�
|tj��|�
|tj��|�t|��tgd�����|�|d��|�t|��d	��ddd��dS#1swxYwYdS)
NT��recordrW��categoryr)r;r<r=rbrkr:z	typing.iorq)�warnings�catch_warnings�filterwarningsrt
�	typing.ior;r<r=rbrkr�rOr�rCr)r[�wr;r<r=rbrks       r`�test_io_submodulezIOTests.test_io_submodule�sW��
�
$�D�
1�
1�
1�	(�Q��#�I�8J�K�K�K�K�I�I�I�I�I�I�I�I�I�I�I�I�I�I��M�M�"�f�i�(�(�(��M�M�&�&�-�0�0�0��M�M�(�F�O�4�4�4����S��\�\�3�/K�/K�/K�+L�+L�M�M�M����X�{�3�3�3����S��V�V�Q�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(s�C5D�D�DN)rkrlrmr3r6r9rDrnrbr`r,r,nsP������6�6�6�/�/�/�/�/�/�	(�	(�	(�	(�	(rbr,c�8�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	dS)	�RETestsc��tjdtj��}|�|jt
��|�t
|��t
��|�|t
��|�d��}|�|jt��|�t
|��t��|�|t��t
tttfttttfdS)Nz[a-z]+z12345abcde.....)
r	�compiler{rar�r>r�r��searchr?rr|r�)r[r��mats   r`r5zRETests.test_basics�s����j��2�4�(�(�����c�m�W�5�5�5����d�3�i�i��1�1�1����c�7�+�+�+��j�j�*�+�+�����c�m�U�3�3�3����d�3�i�i��/�/�/����c�5�)�)�)�	��c�5�j�!�"�"�
�e�E�3�J�� � � � rbc��|�tttt��|�tttt��|�ttt
t��|�ttt��dSrf)r�r>r|r�r�r?r�s r`�test_alias_equalityzRETests.test_alias_equality�s|��������w�s�|�4�4�4����G�C�L�'�%�.�9�9�9����G�C�L�%��*�5�5�5����G�C�L�#�.�.�.�.�.rbc�6�ttttf}|�t
��5|tddd��n#1swxYwY|�t
��5t
dtt��ddd��n#1swxYwY|�t
��5ttttt��ddd��dS#1swxYwYdSr�)	r?rr|r�r�r�r�r>rX)r[r�s  r`r�zRETests.test_errors�s����%��U�
�#�$��
�
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	)�	)��r�7�3�<�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)��
�
�y�
)�
)�	5�	5��w�u�~�w�s�|�4�4�4�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5�	5����	5�	5�	5�	5�	5�	5s5�A�A� A�>!B+�+B/�2B/�1D�D�Dc�>�|�tt��d��|�ttt��d��|�ttt��d��|�tt
��d��|�tt
t��d��|�tt
t��d��dS)Nztyping.Patternztyping.Pattern[str]ztyping.Pattern[bytes]ztyping.Matchztyping.Match[str]ztyping.Match[bytes])r�r�r>r|r�r?r�s r`r�zRETests.test_repr�s�������g���(8�9�9�9�����g�c�l�+�+�-B�C�C�C�����g�e�n�-�-�/F�G�G�G�����e���n�5�5�5�����e�C�j�)�)�+>�?�?�?�����e�E�l�+�+�-B�C�C�C�C�Crbc��tjd���5}tjdt���ddlm}m}m}m}|�	|tj��|�	|tj��|�t|��tddg����|�|d	��|�t|��d
��ddd��dS#1swxYwYdS)NTr;rWr=r)r?r>rbrkr?r>�	typing.rerq)r?r@rArt
�	typing.rer?r>rbrkr�rOr�rCr)r[rCr?r>rbrks      r`�test_re_submodulezRETests.test_re_submodule�s9��
�
$�D�
1�
1�
1�	(�Q��#�I�8J�K�K�K�K�C�C�C�C�C�C�C�C�C�C�C�C��M�M�%���.�.�.��M�M�'�6�>�2�2�2����S��\�\�3���/C�+D�+D�E�E�E����X�{�3�3�3����S��V�V�Q�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(s�CC6�6C:�=C:c���tj��5tjdt���ddlm}|�|jt��|�	|j
d��|�|jtj
��ddd��n#1swxYwY|�t��5|jddd��dS#1swxYwYdS)N�errorr=r)r	rP)r?r@rArt
rOr	r�r9r|r�rkr�r��MappingProxyTypers
r?)r[r	s  r`�test_re_submodule_access_basicsz'RETests.test_re_submodule_access_basics�sm��
�
$�
&�
&�	G�	G��#�G�6H�I�I�I�I�!�!�!�!�!�!��!�!�"�*�c�2�2�2����R�[�+�6�6�6��!�!�"�+�u�/E�F�F�F�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G�	G����	G�	G�	G�	G��
�
�0�
1�
1�	�	��H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�BB"�"B&�)B&�C�C �#C c���|�t��5}Gd�dtj��}ddd��n#1swxYwY|�t|j��d��dS)Nc��eZdZdS)�'RETests.test_cannot_subclass.<locals>.ANr~rnrbr`r�rY�r�rbr�z.type 're.Match' is not an acceptable base type)r�r�rOr?r�r|r)r[�exr�s   r`r�zRETests.test_cannot_subclass�s���
�
�
�y�
)�
)�	�R�
�
�
�
�
�F�L�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
	
����R�\�*�*�I�	K�	K�	K�	K�	Ks�A�A�AN)
rkrlrmr5rLr�r�rRrVr�rnrbr`rFrF�s�������
!�
!�
!�/�/�/�	5�	5�	5�D�D�D�(�(�(�	�	�	�K�K�K�K�KrbrFc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�AnnotatedTestsc��|�td��5t��ddd��dS#1swxYwYdS)Nz%Type Annotated cannot be instantiated�rr�r@r�s r`�test_newzAnnotatedTests.test_new�s���
�
#�
#��3�
�
�	�	�
�K�K�K�		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�8�<�<c���|�tttddf��d��|�ttttddf��d��dS)Nrrztyping.Annotated[int, 4, 5]z(typing.Annotated[typing.List[int], 4, 5])r�r�r@r�r r�s r`r�zAnnotatedTests.test_repr�st�������3��1�9�%�&�&�)�	
�	
�	
�	
�����4��9�a��?�+�,�,�6�	
�	
�	
�	
�	
rbc���ttttdf����}dD]F}|�|���5|�||��ddd��n#1swxYwY�GdS)Nr)r�r�r��__metadata__rA)rCrDr@r�rxrErFs   r`rHzAnnotatedTests.test_dir�s�����I�c�1�f�-�.�.�/�/�	�
�	8�	8�M����M��:�:�
8�
8��
�
�m�Y�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��		8�	8s�	A,�,A0	�3A0	c��tttdfdf}|�|ttddf��|�|jd��|�|jt��dS)Nrrr)r@r�r�rbr�r�s  r`rFzAnnotatedTests.test_flatten�sq���i��Q��'��*�+������I�c�1�a�i�0�1�1�1�������0�0�0������s�+�+�+�+�+rbc���|�tttdftz��ttdftf��|�ttttdftf��ttdftf��|�tttdfttdfztz��ttdfttdftf��|�ttttdfttdftf��ttdfttdftf��|�tttdftt
dfztz��ttdftt
dftf��|�ttttdftt
dftf��ttdftt
dftf��|�ttdfttdfztzttdftz��|�tttdfttdftftttdftf��|�tt
ttifzttt
��fztz��t
ttifttt
��ftf��|�ttt
ttifttt
��ftf��t
ttifttt
��ftf��|�tt
ttifztt
ifztz��t
ttiftt
iftf��|�ttt
ttiftt
iftf��t
ttiftt
iftf��|�tttdft
ztt
ifztz��ttdft
tt
iftf��|�ttttdft
tt
iftf��ttdft
tt
iftf��ddl}|jGd�d����}|dd��}|�ttt|fdz��tt|ftj
f��|�tttt|fdf��tt|ftj
f��|�tttt|f��tt|ftj
f��|�ttifttifztzttiftz��|�ttifttifztztttifz��|�tttifttiftftttiftf��|�tttifttiftfttttiff��dS)Nrqr�rc�$�eZdZUeed<eed<dS)�>AnnotatedTests.test_deduplicate_from_union.<locals>.ValueRange�lor�
Nrfrnrbr`�
ValueRangerf%s"��������G�G�G��G�G�G�G�Grbrh)r�r.r@r�rr|rC�dataclasses�	dataclassr��NoneTyper)r[rirhrbs    r`�test_deduplicate_from_unionz*AnnotatedTests.test_deduplicate_from_unionsf������)�C��F�"3�c�"9�:�:�#�C��F�+�S�1�	3�	3�	3�����%�	�#�q�&�(9�3�(>�"?�@�@�#�C��F�+�S�1�	3�	3�	3�����)�C��F�"3�i��Q��6G�"G�#�"M�N�N�#�C��F�+�Y�s�A�v�->��D�	F�	F�	F�����%�	�#�q�&�(9�9�S�!�V�;L�c�(Q�"R�S�S�#�C��F�+�Y�s�A�v�->��D�	F�	F�	F�����)�C��F�"3�i��Q��6G�"G�#�"M�N�N�#�C��F�+�Y�s�A�v�->��D�	F�	F�	F�����%�	�#�q�&�(9�9�S�!�V�;L�c�(Q�"R�S�S�#�C��F�+�Y�s�A�v�->��D�	F�	F�	F�	
����3��6�*�Y�s�A�v�->�>��D�"�3��6�*�S�0�	2�	2�	2�����y��a��0�)�C��F�2C�S�H�I��y��a��0�#�5�6�	8�	8�	8�	
����#�	�#�r�'�(:�":�Y�s�C�E�E�z�=R�"R�UX�"X�Y�Y��y��b��1�9�S�#�%�%�Z�3H�#�N�	P�	P�	P�����%��Y�s�B�w�-?��3�PS�PU�PU�:�AV�X[�([�"\�]�]��y��b��1�9�S�#�%�%�Z�3H�#�N�	P�	P�	P�����#�	�#�r�'�(:�":�Y�s�B�w�=O�"O�RU�"U�V�V��y��b��1�9�S�"�W�3E�s�K�	M�	M�	M�����%��Y�s�B�w�-?��3�PR�7�AS�UX�(X�"Y�Z�Z��y��b��1�9�S�"�W�3E�s�K�	M�	M�	M�	
����)�C��F�"3�c�"9�I�c�2�g�<N�"N�QT�"T�U�U�#�C��F�+�S�)�C��G�2D�c�J�	L�	L�	L�����%�	�#�q�&�(9�3�	�#�r�'�@R�TW�(W�"X�Y�Y�#�C��F�+�S�)�C��G�2D�c�J�	L�	L�	L�	����	�	�	�	�	�	�	�	�	�
�	�	�
�J�q�!��������)�C��F�"3�d�":�;�;�#�C��F�+�U�^�<�	>�	>�	>�����%�	�#�q�&�(9�4�(?�"@�A�A�#�C��F�+�U�^�<�	>�	>�	>�����(�9�S�!�V�+<�"=�>�>�#�C��F�+�U�^�<�	>�	>�	>�	
����3��7�+�i��R��.@�@�3�F�"�3��7�+�c�1�	3�	3�	3�����3��7�+�i��R��.@�@�3�F��y��b��1�1�	3�	3�	3�����y��b��1�9�S�"�W�3E�s�J�K��y��b��1�3�6�7�	9�	9�	9�����y��b��1�9�S�"�W�3E�s�J�K��s�I�c�2�g�$6�6�7�	9�	9�	9�	9�	9rbc	���ttdftzttifztz}tjt|����D]^}|�|���5|�|ttj
|����ddd��n#1swxYwY�_tttdftttiftf}tjt|����D]Q}|�|���5|�|t|��ddd��n#1swxYwY�RdS)Nrqr�)r@r�r|r��permutationsr.rxr�r�operator�or_r)r[�expr1r��expr2s    r`�test_order_in_unionz"AnnotatedTests.test_order_in_union;s����#�q�&�!�C�'�)�C��G�*<�<�s�B���*�8�E�?�?�;�;�	D�	D�D����4��(�(�
D�
D�� � ���x�|�T�(B�(B�C�C�C�
D�
D�
D�
D�
D�
D�
D�
D�
D�
D�
D����
D�
D�
D�
D���i��Q��'��i��R��.@�#�E�F���*�8�E�?�?�;�;�	5�	5�D����4��(�(�
5�
5�� � ���d��4�4�4�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5�
5����
5�
5�
5�
5��	5�	5s$�3/B.�.B2	�5B2	�2"E � E$	�'E$	c���tttdf}tttdf}|�|ttttdf��|�|tjd��|�|tjtt��|�t��5|tddd��n#1swxYwY|�t��5|ttfddd��dS#1swxYwYdS)N�
my decoration)ru)
r@r rr�r�rbr�r�r�r�)r[r��LIs   r`�test_specializezAnnotatedTests.test_specializeFs����d�1�g��.�/��
�t�C�y�/�1�
2������3���4��9�o�+E�!F�G�G�G�����3��,�.@�A�A�A�����3��*�D��I�6�6�6�
�
�
�y�
)�
)�	�	��s�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	�
�c�5�j�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�3D
�
D�D�2E�E�Ec	�v�|�tttddfttddfh��d��|�ttddfttddf��|�ttddftt
ddf��|�ttdfttddf��|�ttddfttddfttddfhttddfttddfh��ttgf}|�t��5t|��ddd��n#1swxYwYGd�d��}tt|��f}|�t��5t|��ddd��dS#1swxYwYdS)Nrrrqc��eZdZdZdS)�&AnnotatedTests.test_hash_eq.<locals>.ANrgrnrbr`r�rz_rjrbr�)
r�rr@r�r�r|rr�r�rq)r[�a1r��a2s    r`�test_hash_eqzAnnotatedTests.test_hash_eqQsa������i��Q��	�2�I�c�1�a�i�4H�I�J�J�A�N�N�N����I�c�1�a�i�0�)�C��A�I�2F�G�G�G����I�c�1�a�i�0�)�C��A�I�2F�G�G�G����I�c�1�f�-�y��a���/C�D�D�D����
�s�A�q�y�
!�9�S�!�Q�Y�#7��1�a��7�9K�L�
�s�A�q�y�
!�9�Q��1�W�#5�6�	
�	
�	
�
�s�B�w�
��
�
�
�y�
)�
)�	�	���H�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	�
�s�A�A�C�C�x�
 ��
�
�
�y�
)�
)�	�	���H�H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�'G�G�
G�H.�.H2�5H2c���G�fd�d���t�df}|d��}�d��}|�||��|�|j|j��|�|j|j��dS)Nc�$��eZdZdZd�Z�fd�ZdS)�*AnnotatedTests.test_instantiate.<locals>.Crc��||_dSrfr�r�s  r`r�z3AnnotatedTests.test_instantiate.<locals>.C.__init__ir�rbc�R��t|���stS|j|jkSrf)r��NotImplementedr�)r[rjr=s  �r`�__eq__z1AnnotatedTests.test_instantiate.<locals>.C.__eq__ls*���!�%��+�+�*�)�)��w�$�&�(�(rbN)rkrlrm�classvarr�r�r*
s�r`r=r�fsB��������H�
�
�
�
)�
)�
)�
)�
)�
)�
)rbr=�a decorationr)r@r�r�r�)r[r�rr�r=s    @r`�test_instantiatezAnnotatedTests.test_instantiatees����		)�		)�		)�		)�		)�		)�		)�		)�		)�		)�
�a��'�(��
�A�a�D�D��
�A�a�D�D������A���������a�c�"�"�"������Q�Z�0�0�0�0�0rbc���ttjtdf}|�|gd���ddd���|�|t
gd���ddd���dS)Nru)rrrr�rqr)r@rOrrr�r�)r[�MyCounts  r`�test_instantiate_genericz'AnnotatedTests.test_instantiate_genericxsv���F�N�1�-��>�?����������+�+��q�\�\�:�:�:��������i�i�i�0�0�a�A�,�,�?�?�?�?�?rbc�z�Gd�d��}t|df}|�|��|��dS)Nc��eZdZd�ZdS)�4AnnotatedTests.test_instantiate_immutable.<locals>.Cc� �td���)Nzshould be ignored)r�rUs   r`r�z@AnnotatedTests.test_instantiate_immutable.<locals>.C.__setattr__s��� 3�4�4�4rbNr�rnrbr`r=r�~s#������
5�
5�
5�
5�
5rbr=r�)r@r��r[r=r�s   r`�test_instantiate_immutablez)AnnotatedTests.test_instantiate_immutable}s_��	5�	5�	5�	5�	5�	5�	5�	5�
�a��'�(��	
���a�a�c�c�1�%�%�%�%�%rbc��td}|�t��5|d��ddd��dS#1swxYwYdS)N)r��rr�r)r@r�r�r�s  r`�test_cannot_instantiate_forwardz.AnnotatedTests.test_cannot_instantiate_forward�s����m�$��
�
�
�y�
)�
)�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ac��ttdf}|�t��5|d��ddd��dS#1swxYwYdS)Nr�r)r@rr�r�r�s  r`� test_cannot_instantiate_type_varz/AnnotatedTests.test_cannot_instantiate_type_var�s����a��i� ��
�
�
�y�
)�
)�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ac��|�t��5ttdfjddd��dS#1swxYwYdS)N)rr^
)r�r�r@rr�r�s r`�test_cannot_getattr_typevarz*AnnotatedTests.test_cannot_getattr_typevar�s���
�
�
�~�
.�
.�	#�	#��a��i� �"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#s�A�A�	Ac��Gd�d��}t|df}|�|jd��d|_|�|jd��dS)Nc��eZdZdZdS)�/AnnotatedTests.test_attr_passthrough.<locals>.CrN)rkrlrmr�rnrbr`r=r��s�������H�H�Hrbr=r�rr)r@r�r�r�r�s   r`�test_attr_passthroughz$AnnotatedTests.test_attr_passthrough�sx��	�	�	�	�	�	�	�	�
�a��'�(�������Q�'�'�'���������a� � � � � rbc�8�Gd�d��}|�t|t����dtt��|�t|t����dt
t��dS)Nc�d�eZdZUdZeeedfed<dZee	edfed<dS)�7AnnotatedTests.test_special_form_containment.<locals>.Crr�r�r�r�	N)
rkrlrmr�r@r%r�r�r�	r&rnrbr`r=r��sN�������AB�H�i���
�~� =�>�B�B�B�45�E�9�U�3�Z��0�1�5�5�5�5�5rbr=r�r�	)r�r,r�r%r�r&r�s  r`�test_special_form_containmentz,AnnotatedTests.test_special_form_containment�s���	6�	6�	6�	6�	6�	6�	6�	6�	
�����7�9�9�5�5�j�A�8�C�=�Q�Q�Q������7�9�9�5�5�g�>��c�
�K�K�K�K�Krbc��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)NzCannot subclass .*Annotatedc��eZdZdS)�.AnnotatedTests.test_cannot_subclass.<locals>.CNr~rnrbr`r=r��r�rbr=r^r�s  r`r�z#AnnotatedTests.test_cannot_subclass�s���
�
#�
#�I�/L�
M�
M�	�	�
�
�
�
�
�I�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�=�A�Ac��|�t��5tdttdf��ddd��dS#1swxYwYdS)Nr�positive)r�r�r�r@r�r�s r`�test_cannot_check_instancez)AnnotatedTests.test_cannot_check_instance�s���
�
�
�y�
)�
)�	6�	6��q�)�C��O�4�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�	6�	6s�#A�A�Ac��|�t��5ttttdf��ddd��dS#1swxYwYdS)Nr�)r�r�rXr�r@r�s r`�test_cannot_check_subclassz)AnnotatedTests.test_cannot_check_subclass�s���
�
�
�y�
)�
)�	8�	8��s�I�c�:�o�6�7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�	8�	8s�(A�A�Ac��|�td��5ttddd��dS#1swxYwYdS)Nzat least two arguments)rr�r@r�r�s r`�test_too_few_type_argsz%AnnotatedTests.test_too_few_type_args�s���
�
#�
#�I�/G�
H�
H�	�	��c�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�<�A�Ac���tjtjttftjtttdftjtgtfg}|D]�}t|df}ttjdz��D]p}|�
||���5tj||��}tj|��}|�||��ddd��n#1swxYwY�q��Gd�dt"t$��att&tdf}d|_d	|_ttjdz��D]|}tj||��}	tj|	��}|�|jd��|�|jd	��|�|jd���}dS)
N.rrq)�protocolr�c��eZdZdZdS)�_Annotated_test_GrqNrrnrbr`r�r��rnrbr�zA decorationr�r�)rOrrr�r|rrr#r�r@rurvrwrxr>r=r�r$rr�r�r)r�)
r[r�rKr��protr
�restoredryrtrs
          r`r�zAnnotatedTests.test_pickle�s	���:�v�|�C��H�5��?�3�'��s�C�x���?�C�5�%�<�0�2���	2�	2�A��!�S�&�!�A��f�5��9�:�:�
2�
2���\�\�4�a�\�8�8�2�2�$�l�1�d�3�3�G�%�|�G�4�4�H��$�$�Q��1�1�1�2�2�2�2�2�2�2�2�2�2�2����2�2�2�2��
2�	�	�	�	�	���
�	�	�	�
�'��,�n�<�=���������6�2�Q�6�7�7�	%�	%�E���Q��&�&�A���Q���A����Q�U�B�'�'�'����Q�U�E�*�*�*����Q�S�!�$�$�$�$�	%�	%s�:AD�D
�
D
c��d}d}tt|f}|�|ttt|f��|�|tt|ftt||f��ttt|f}|�|tttt|f��|�t��5|ttfddd��n#1swxYwY|�||tttt||f��ttjttf|f}|�|ttfttjttf|f��|�t��5|tddd��n#1swxYwYtt|f}|�t��5|dddd��n#1swxYwY|t}|�t��5|dddd��dS#1swxYwYdS)Nr�zanother decoration)r@rr�r�r r�r�rOr!rrr|)r[r%�dec2rwr�r@�Itrvs        r`�
test_substzAnnotatedTests.test_subst�s����#���a��g�������3���3��9�!5�6�6�6�����9�S�#�X�.�/��3��T�>�1J�K�K�K��d�1�g�s�l�#������3���4��9�c�>�!:�;�;�;�
�
�
�y�
)�
)�	�	�
�c�3�h�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	
����1�S�6��I�d�3�i��d�.B�$C�D�D�D��f�k�"�b�&�)�3�.�/������3��8��i���C��H�0E�s�0J�&K�L�L�L�
�
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��s�C�x�
 ��
�
�
�y�
)�
)�	�	��t�H�H�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��s�V��
�
�
�y�
)�
)�	�	��t�H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sH�D%�%D)�,D)�H%�%H)�,H)�	I3�3I7�:I7�%	J;�;J?�J?c��d}td��}td��}td��}td��}ttg|�R|f}|�|t
ttt
|f��|�|tt
ftttt
f|f��|�t��5tg|�|�Rddd��n#1swxYwYttt||f}|�|t
ttt
|f��|�|tt
ftttt
f|f��|�t��5tt||fddd��n#1swxYwYtt|g|�R|f}|�|t
ttt
|f��|�|t
tfttt
tf|f��|�|t
ttfttt
ttf|f��|�t��5|dddd��n#1swxYwYtt|t|f|f}	|�|	t
ttt
|f��|�|	t
tfttt
tf|f��|�|	t
ttfttt
ttf|f��|�t��5|	dddd��n#1swxYwYttg|�|�R|f}
|�|
t
ttt
|f��|�|
t
tfttt
tf|f��|�|
t
ttfttt
ttf|f��|�t��5|
dddd��n#1swxYwYttt||f|f}|�|t
ttt
|f��|�|t
tfttt
tf|f��|�|t
ttfttt
ttf|f��|�t��5|dddd��n#1swxYwYtt|g|�|�R|f}|�|t
tfttt
tf|f��|�|t
ttfttt
ttf|f��|�|t
tttfttt
tttf|f��|�t��5|t
ddd��n#1swxYwYtt|t||f|f}
|�|
t
tfttt
tf|f��|�|
t
ttfttt
ttf|f��|�|
t
tttfttt
tttf|f��|�t��5|
t
ddd��n#1swxYwYtd��}td��}td	��}||g|�|�R}||t||f}|tt|g|�|�R|ff|tt|t||f|ff|t
tfttt
tf|ff|t
tfttt
tf|ff|t
ttfttt
ttf|ff|t
ttfttt
ttf|ff|t
tttfttt
tttf|ff|t
tttfttt
tttf|fffD]\}}|�||���|�t��5|t
ddd��n#1swxYwY|�t��5|t
ddd��dS#1swxYwYdS)
Nr�r�rrr
rnr�r�T4)
rrr@r�r�r�r|r�r�rrr�r�)r[r%r�rrr
r�r�r=r@rwrxryrzr�rr�r{r�r�r�s                     r`�test_typevar_substz!AnnotatedTests.test_typevar_subst�s�����
�$�
�
���C�L�L��
�T�]�]��
�T�]�]���e�C�R�C�C�j�#�o�&������3���5��:�s�?�!;�<�<�<�����3��8��i��c�3�h���0D�&E�F�F�F�
�
�
�y�
)�
)�	 �	 ��h�r�h�3�h�h���	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�e�F�2�J�'��,�-������3���5��:�s�?�!;�<�<�<�����3��8��i��c�3�h���0D�&E�F�F�F�
�
�
�y�
)�
)�	'�	'��f�R�j�#�o�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�
�e�A�F��F�F�m�S�(�)������3���5��:�s�?�!;�<�<�<�����3��8��i��c�3�h���0D�&E�F�F�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
�	
��
�
�y�
)�
)�	�	�
�b�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�e�A�v�b�z�M�*�C�/�0������3���5��:�s�?�!;�<�<�<�����3��8��i��c�3�h���0D�&E�F�F�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
�	
��
�
�y�
)�
)�	�	�
�b�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�e�F�R�F��F�F�m�S�(�)������3���5��:�s�?�!;�<�<�<�����3��8��i��c�3�h���0D�&E�F�F�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
�	
��
�
�y�
)�
)�	�	�
�b�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�e�F�2�J��M�*�C�/�0������3���5��:�s�?�!;�<�<�<�����3��8��i��c�3�h���0D�&E�F�F�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
�	
��
�
�y�
)�
)�	�	�
�b�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�e�B�K��K�R�K�K�(�#�-�.������3��8��i��c�3�h���0D�&E�F�F�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
�	
�	
���
�c�3��e�#�$��e�C��d�E�1�2�C�7�8�	
�	
�	
��
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�e�B��r�
�B�.�/��4�5������3��8��i��c�3�h���0D�&E�F�F�F����
�c�3��o���e�C��e�O�,�c�1�2�	
�	
�	
�	
���
�c�3��e�#�$��e�C��d�E�1�2�C�7�8�	
�	
�	
��
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�5�!�!��
�T�]�]��
�T�]�]��
�b�l�3�l��l�l�O��
�b�&��+�r�!�"����5���c��2���+>��+C�!D�E�
��5��V�C�[�"�1D�+E�s�+J�!K�L�
�s�C�x�[��5��c��?�C�+?�!@�A�
�s�C�x�[��5��c��?�C�+?�!@�A�
�s�C���
��5��c�5��+A�3�+F�!G�H�
�s�C���
��5��c�5��+A�3�+F�!G�H�
�s�C��u�$�
%�!*�5��c�4��1F�+G��+L�!M�
O�
�s�C��u�$�
%�!*�5��c�4��1F�+G��+L�!M�
O�
�	#�	#�D�A�q�
���Q��"�"�"�"�
�
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s��D�D#�&D#�3H�H�!H�?	M�M�M�	R�R�R�=	W�W�W�	\�\�\�"a<�<b�b�g+�+g/�2g/�'r�r�r�&s�s�sc��tttdf}|�|ttttdf��dS)Nr)r r@rr�r�r�s  r`�test_annotated_in_other_typesz,AnnotatedTests.test_annotated_in_other_typesesB����1�a�4��!������3���i��Q��&7�!8�9�9�9�9�9rbc��Gd�dttdf��}|�|j|ttfd��dS)Nc��eZdZdS)�,AnnotatedTests.test_annotated_mro.<locals>.XNr~rnrbr`r�r�jr�rbr�rlz Annotated should be transparent.)r@r�r�r�rTr�s  r`�test_annotated_mroz!AnnotatedTests.test_annotated_mroisW��-�-�-�-�-�	�#�w�,�'�-�-�-������Q��V�$4�;�	=�	=�	=�	=�	=rbc��Gd�dt��}Gd�dt��}tt|d��f}tt|d��f}|jd}|jd}|�t	|��|��|�||d����|�t	|��|��|�||d����|�t	|��t	|����tt|d��f}tt|d��f}|jd}	|jd}
|�t	|	��|��|�|	|d����|�t	|
��|��|�|
|d����|�t	|	��t	|
����ttdf}ttd	f}ttd
f}
|�t	|jd��t��|�t	|jd��t��|�t	|
jd��t��dS)Nc��eZdZdS)�:AnnotatedTests.test_annotated_cached_with_types.<locals>.ANr~rnrbr`r�r�or�rbr�c��eZdZdS)�:AnnotatedTests.test_annotated_cached_with_types.<locals>.BNr~rnrbr`r�r�pr�rbr�r�rr�rqg�?T)
r|r@rbr�r�r�r~r�r�r�)r[r�r��field_a1�field_a2�a1_metadata�a2_metadata�field_b1�field_b2�b1_metadata�b2_metadata�field_c1�field_c2�field_c3s              r`� test_annotated_cached_with_typesz/AnnotatedTests.test_annotated_cached_with_typesns����������������������S�!�!�C�&�&�[�)���S�!�!�C�&�&�[�)���+�A�.���+�A�.���
�
�d�;�'�'��+�+�+�����a�a��f�f�-�-�-��
�
�d�;�'�'��+�+�+�����a�a��f�f�-�-�-�����k�*�*�D��,=�,=�>�>�>��S�!�!�C�&�&�[�)���S�!�!�C�&�&�[�)���+�A�.���+�A�.���
�
�d�;�'�'��+�+�+�����a�a��f�f�-�-�-��
�
�d�;�'�'��+�+�+�����a�a��f�f�-�-�-�����k�*�*�D��,=�,=�>�>�>��S�!�V�$���S�#�X�&���S�$�Y�'���
�
�d�8�0��3�4�4�c�:�:�:��
�
�d�8�0��3�4�4�e�<�<�<��
�
�d�8�0��3�4�4�d�;�;�;�;�;rbN)rkrlrmr_r�rHrFrlrsrwr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rnrbr`r\r\�s����������
�
�
�8�8�8�,�,�,�99�99�99�v	5�	5�	5�	�	�	����(1�1�1�&@�@�@�
	&�	&�	&����
���
#�#�#�!�!�!�L�L�L����
6�6�6�8�8�8����%�%�%�<���:p�p�p�d:�:�:�=�=�=�
 <� <� <� <� <rbr\c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TypeAliasTestsc��t}dSrf�r}�r[r�s  r`�-test_canonical_usage_with_variable_annotationz<TypeAliasTests.test_canonical_usage_with_variable_annotation�s��#���rbc��t}dSrfr�r�s  r`�&test_canonical_usage_with_type_commentz5TypeAliasTests.test_canonical_usage_with_type_comment�s�����rbc��|�t��5t��ddd��dS#1swxYwYdSrf)r�r�rDr�s r`r�z&TypeAliasTests.test_cannot_instantiate�s���
�
�
�y�
)�
)�	�	��K�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rPc��|�t��5tdt��ddd��dS#1swxYwYdSr�)r�r�r�rDr�s r`rGz!TypeAliasTests.test_no_isinstance�s���
�
�
�y�
)�
)�	&�	&��r�9�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&r�c�t�Gd�d��}|�t|��dti��dS)Nc��eZdZUded<dS)�/TypeAliasTests.test_stringized_usage.<locals>.ArDrNr�rnrbr`r�r��s��������N�N�N�N�Nrbr�r)r�r,rDr�s  r`�test_stringized_usagez$TypeAliasTests.test_stringized_usage�sS��	�	�	�	�	�	�	�	������*�*�S�)�,<�=�=�=�=�=rbc�8�|�t��5ttt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSrf)r�r�rXr}rDr�s r`�test_no_issubclassz!TypeAliasTests.test_no_issubclass�s��
�
�
�y�
)�
)�	,�	,��x��+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,��
�
�y�
)�
)�	,�	,��y�(�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�	,�	,r�c�6�|�t��5Gd�dt��}ddd��n#1swxYwY|�t��5Gd�dtt����}ddd��dS#1swxYwYdS)Nc��eZdZdS)�.TypeAliasTests.test_cannot_subclass.<locals>.CNr~rnrbr`r=r��r�rbr=c��eZdZdS)�.TypeAliasTests.test_cannot_subclass.<locals>.DNr~rnrbr`r@r��r�rbr@)r�r�rDr�rAs   r`r�z#TypeAliasTests.test_cannot_subclass�s?��
�
�
�y�
)�
)�	�	�
�
�
�
�
�I�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��O�O�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c�V�|�tt��d��dS)Nztyping.TypeAlias)r�r�rDr�s r`r�zTypeAliasTests.test_repr�s%������i���*<�=�=�=�=�=rbc��|�t��5ttddd��dS#1swxYwYdSrf)r�r�rDr�r�s r`r9z$TypeAliasTests.test_cannot_subscript�s���
�
�
�y�
)�
)�	�	��c�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�N)rkrlrmr�r�r�rGr�r�r�r�r9rnrbr`r�r��s�������$�$�$�������&�&�&�>�>�>�
,�,�,����>�>�>�����rbr�c�\�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�ZdS)�ParamSpecTestsc��td��}|�||��|�|t��|�|jd��dS)Nr�)rEr�r�rkrBs  r`rpzParamSpecTests.test_basic_plain�sW���c�N�N������A�������a��+�+�+������S�)�)�)�)�)rbc���td��}td��}t|tf}|�|j|tf��|�|j|f��t||f}|�|j||f��|�|j||f��tjj|tf}|�|j|tf��|�|j|f��tjj||f}|�|j||f��|�|j||f��dS�Nr�r)	rErr#r�r�r�r�r�r��r[r�rr�r�r�r�s       r`�test_valid_useszParamSpecTests.test_valid_uses�s?���c�N�N���C�L�L��
�a��f�
�������q�#�h�/�/�/�����*�Q�D�1�1�1�
�a��d�^�������q�!�f�-�-�-�����*�Q��F�3�3�3�
�_�
%�a��f�
-�������q�#�h�/�/�/�����*�Q�D�1�1�1�
�_�
%�a��d�
+�������q�!�f�-�-�-�����*�Q��F�3�3�3�3�3rbc�.�td��}td��}|�dt|����|�dt|����|�|jt
��|�|jt��|�|jj	|��|�|jj	|��|�
|j|j��|�
|j|j��|�|j|j��|�|j|j��|�|j|j��|�|j|j��|�|j|j��|�
t|j��d��|�
t|j��d��dS)Nr��P_2r�r��P.args�P.kwargs)
rErErDr�r�rGr�rHr�r�r�r�r�)r[r�r�s   r`�test_args_kwargszParamSpecTests.test_args_kwargs�s����c�N�N��������
�
�f�c�!�f�f�%�%�%��
�
�h��A���'�'�'����a�f�m�4�4�4����a�h��8�8�8��
�
�a�f�'��+�+�+��
�
�a�h�)�1�-�-�-��������(�(�(������1�8�,�,�,����A�F�C�H�-�-�-����A�H�c�j�1�1�1����A�F�A�H�-�-�-����A�H�a�f�-�-�-����A�F�C�J�/�/�/�����a�f���x�0�0�0�����a�h����4�4�4�4�4rbc��td��}Gd�dt|��}|�t|t	��t����dt|tfi��|�t|jt	��t����|j	|j
d���dS)Nr�c�2�eZdZUedefed<d	d�ZdS)
�)ParamSpecTests.test_stringized.<locals>.Cr�rI	r�r�r�r�c��dSrfrnr�s   r`r�z-ParamSpecTests.test_stringized.<locals>.C.foo�r�rbN)r�r�r�r�)rkrlrmr#r�r�r�rnrbr`r=r��s?��������3��8�$�$�$�$�
�
�
�
�
�
rbr=rI	r�)rEr$r�rr�r�r#r�r�r�r�rts   r`�test_stringizedzParamSpecTests.test_stringized�s����c�N�N��	�	�	�	�	���
�	�	�	�
	
����Q��	�	�6�8�8�4�4�v�x��3��?O�6P�Q�Q�Q�������w�y�y�&�(�(�+�+�a�f���-Q�-Q�	
�	
�	
�	
�	
rbc����td���td���td��}G��fd�dt��f��}|t|f}|�|jt|f��|�|j|f��|�td��5|tddd��n#1swxYwY|�td��5|t|tfddd��n#1swxYwY|ttt|ff}|�|jttt|ff��|�|j|f��|tttgf}|�|jtttff��|�|jd��|td	f}|�|jttf��|�|jd��G�fd
�dt���}|tttg}|�|jtttff��|�|jd��|tttf}	|�|	jtttff��|�|	jd��|�|j|	j��|�|j
|	j
��|�|j|	j��|�||	��|t}
|�|
jtff��|�|
jd��|�td��5|ttgtfddd��n#1swxYwY|�td��5||tfddd��dS#1swxYwYdS)Nrr�r�c�6��eZdZUe�efed<�ed<dS)�,ParamSpecTests.test_user_generics.<locals>.Xrir�N�rkrlrmr#r�r�)r�rs��r`r�r��s/����������3�������D�D�D�D�Drbr�rrrn.c�,��eZdZUe�efed<dS)�,ParamSpecTests.test_user_generics.<locals>.ZriNr�)r�s�r`r�r�s(����������3�������rbr�)rrEr$r�r�r�r�rr�r|rFr�rr�)
r[r�r�rsrv�G3�G4r��G5�G6�G7r�rs
           @@r`�test_user_genericsz!ParamSpecTests.test_user_generics�s	�����C�L�L���c�N�N�������	�	�	�	�	�	�	�	���1��
�	�	�	��s�C�x�[�������s�C�j�1�1�1�����*�S�F�3�3�3�
�
#�
#�I�/B�
C�
C�	�	�
�c�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
#�
#�I�/C�
D�
D�	�	�
�c�3��m���	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��s�K��S��)�)�
*�������s�K��S��,A�&B�C�C�C�����*�S�F�3�3�3�
�s�S�$�K��
 �������s�S�$�K�&8�9�9�9�����*�B�/�/�/�
�s�C�x�[�������s�H�o�6�6�6�����*�B�/�/�/�	 �	 �	 �	 �	 �	 �	 ���
�	 �	 �	 ���S�$��
 ��������S�$�'7�&9�:�:�:�����*�B�/�/�/�
�s�C��~�
��������S�$�'7�&9�:�:�:�����*�B�/�/�/�	
�����b�k�2�2�2�������
�6�6�6�����*�B�,=�>�>�>�����R� � � �
�s�V��������v�i�0�0�0�����*�B�/�/�/�
�
#�
#�I�/C�
D�
D�	 �	 �
�s�C�j�$����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
#�
#�I�/C�
D�
D�	�	�
�c�4�i�L�L�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sH�6C�C�C�6D�D�D�P-�-P1�4P1�Q0�0Q4�7Q4c�����td���td���G��fd�dt��f��}|ttgtgf}|tgttgf}|�||��|�|jttftff��|�|jtfttff��dS)Nr�rc�F��eZdZUe�efed<e�efed<dS)�CParamSpecTests.test_multiple_paramspecs_in_user_generics.<locals>.Xrir�N)rkrlrmr#r�r�r|)r�rs��r`r�r/s=����������3��������C�� � � � � � rbr�)rEr$r�r|r�r�r�r�)r[r�rsrvr�rs    @@r`�)test_multiple_paramspecs_in_user_genericsz8ParamSpecTests.test_multiple_paramspecs_in_user_generics+s������c�N�N��
�t�_�_��	!�	!�	!�	!�	!�	!�	!�	!���2���	!�	!�	!���S�z�E�7�"�
#��
��u�s�E�l�"�
#�����B��#�#�#�������S�z�E�8�&<�=�=�=�������v��U�|�&<�=�=�=�=�=rbc����td���td���G��fd�dtg����R��}|ttgf}|�|jttff��|tttgf}|�|jtttff��|tg}|�|jtff��|g}|�|jd��|�t��5|dddd��n#1swxYwYG��fd�dt�g��R��}|tgtf}|�|jtftf��|tgttf}|�|jtfttf��|tg}|�|jtff��|g}|�|jd��|�t��5|dddd��dS#1swxYwYdS)	Nr�r�c�H��eZdZUe�efed<eg��Red<dS)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.Xrir�N�rkrlrmr#r�r�r�r�r�s��r`r�r=�9����������3�������S�b�S�S�z�M�M�M�M�Mrbr�)rnrnc�H��eZdZUe�efed<eg��Red<dS)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.Yrir�Nr	r
s��r`r�r
Lrrbr�)
rrEr$r�r�r�r�r|r�r�)	r[r�rsrvr�r�r�r�r�s	       @@r`�1test_typevartuple_and_paramspecs_in_user_genericsz@ParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics9s�����
�$�
�
���c�N�N��	�	�	�	�	�	�	�	�����Q����	�	�	��s�U�G�|�_�������s�U�H�o�6�6�6�
�s�C�%�� �
!�������s�C�%��&:�;�;�;�
��w�Z��������x�k�2�2�2�
�r�U�������e�,�,�,�
�
�
�y�
)�
)�	�	�
�b�E�E�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	�	�	�	�	�	�	����B����	�	�	���w��|�_��������x��o�6�6�6�
��w��S� �
!��������x��c�&:�;�;�;�
��w�Z��������x�k�2�2�2�
�r�U�������e�,�,�,�
�
�
�y�
)�
)�	�	�
�b�E�E�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s$�5	E
�
E�E�(	I>�>J�Jc
�2�td��}td��}td��}ttjjfD]�}|�|���5||tg|�Rf}|ttgttf}|�|j
tttttff��ddd��n#1swxYwY��Gd�dt||f��}|tg|�R|f}|ttttgf}|�|j
tttfttff��Gd�dt||f��}||tg|�Rf}|ttgttf}|�|j
ttftttff��dS)	Nr�rr�)r�c��eZdZdS)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.XNr~rnrbr`r�rfr�rbr�c��eZdZdS)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.YNr~rnrbr`r�rmr�rbr�)rErrr#r�r�rxrr�r|r�r�r�r�r$)	r[r�rr�r=r�r�r�r�s	         r`�3test_typevartuple_and_paramspecs_in_generic_aliaseszBParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases[s,���c�N�N���C�L�L��
�$�
�
���;�?�3�3�	N�	N�A����a��(�(�
N�
N��a��s��s�s��m�$���s�C�j�%��.�/��� � ���c�3��e�U�l�8K�-L�M�M�M�
N�
N�
N�
N�
N�
N�
N�
N�
N�
N�
N����
N�
N�
N�
N��
	�	�	�	�	���1��
�	�	�	�
�e�C�R�C�C�j�!�m���
�e�U�S�#�J�&�'�������e�E�5�L�&9�C��;�%G�H�H�H�	�	�	�	�	���1��
�	�	�	�
�a��s��s�s��m���
�s�C�j�%��&�'�������s�C�k�5����3F�%G�H�H�H�H�Hs�A9C#�#C'	�*C'	c�l�td��}|j}|�|ttf��ttf��|�|ttg��ttf��|�|dg��td��f��|�|d��d��|�||��|��|�|tt|f��tt|f��dS)Nr�.)rEr�r�r�r|r�r�rF)r[r�r�s   r`r�z$ParamSpecTests.test_var_substitutionts����c�N�N���"��������S�z�*�*�S�#�J�7�7�7�������S�z�*�*�S�#�J�7�7�7�������v����d���
�6�6�6��
�
�e�e�C�j�j�#�&�&�&��
�
�e�e�A�h�h��"�"�"������{�3��6�2�3�3�[��a��5H�I�I�I�I�Irbc���td��}td��}dtd|ttztttff}|D�]#}|�|���5|�t��5|�|��ddd��n#1swxYwY|�t��5tj
||f|tfddd��n#1swxYwY|�t��5tjj
||f|tfddd��n#1swxYwYddd��n#1swxYwY��%dS)Nrr�r�r�)
rrEr�r|rrxr�r�r�rOr#r�r�)r[rr�r�r�s     r`r�z(ParamSpecTests.test_bad_var_substitution~s?���C�L�L���c�N�N����T�1�c�#�g�u�S�#�X��?���	=�	=�C����#��&�&�
=�
=��&�&�y�1�1�,�,��&�&�s�+�+�+�,�,�,�,�,�,�,�,�,�,�,����,�,�,�,��&�&�y�1�1�4�4��O�A�q�D�)�#�s�(�3�3�4�4�4�4�4�4�4�4�4�4�4����4�4�4�4��&�&�y�1�1�=�=��O�,�Q��T�2�3��8�<�<�=�=�=�=�=�=�=�=�=�=�=����=�=�=�=�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=�
=����
=�
=�
=�
=��	=�	=s~�+E*�B(�E*�(B,�,E*�/B,�0E*�
"C;�/E*�;C?�?E*�C?�E*� 'E�E*�E�E*�E�E*�*E.	�1E.	c�J�td��}td��}td��}td��}td��}Gd�dt|��}||}|�|j|f��|�|j|ff��|�|t|t��||g}|�|j|f��|�|j|ff��|�|t|t��|t|g}	|�|	j|f��|�|	jt|ff��|�|	t|ttg��||t|g}
|�|
j||f��|�|
j|t|ff��|�|
ttf|tttg��|g|�t�}|�|j|f��|�|jg|�t�Rf��|�|ttf|tttg��|tg|�}|�|j|f��|�|jtg|�Rf��|�|ttf|tttg��||g|�}
|�|
j||f��|�|
j|g|�Rf��|�|
tttf|tttg��|||g}|�|j|f��|�|j||ff��|�|t|ttg��||t|g}|�|j|f��|�|j|t|ff��|�|t|tttg��|tg|�Rg|�}|�|j|f��|�|jtg|�Rg|�Rf��|�|ttf|tttfttf��||}|�|j|f��|�|j|f��|�|ttg|ttg��Gd�d	t||f��}|||f}|�|j||f��|�|j||f��|�|ttgtgf|ttgtgf��|�|ggf|ggf��|ttg|f}|�|j|f��|�|jttf|f��|�|ttg|ttgttgf��|�|g|ttggf��||ttgf}|�|j|f��|�|j|ttff��|�|ttg|ttgttgf��|�|g|gttgf��||tgt|gf}|�|j||f��|�|j|tft|ff��|�|ttf|ttgttgf��|g|�t�t|gf}|�|j||f��|�|jg|�t�Rt|ff��|�|tttf|tttgttgf��||tgtg|�f}|�|j||f��|�|j|tftg|�Rf��|�|tttf|ttgtttgf��Gd
�dt||f��}|||f}|�|j||f��|�|j||f��|�|ttgtf|ttgtf��|t|g|f}|�|j|f��|�|jt|f|f��|�|t|ttgtf��|tg|�|f}|�|j||f��|�|jtg|�R|f��|�|tttf|tttgtf��dS)Nrr
r�rr�c��eZdZdS)�DParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.BaseNr~rnrbr`rr�r�rbrc��eZdZdS)�GParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.DoublePNr~rnrbr`�DoublePr�r�rbrc��eZdZdS)�EParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.PandTNr~rnrbr`�PandTr�r�rbr)rrErr$r�r�r�r�r|r�r�rr�r�)r[rr
r�rr�r�A1r�
�A3�A4�A5�A5_2�A6�A7�A8�A9�A10r�B1�B2�B3�B4�B5�B6rr�r�r�s                             r`�'test_type_var_subst_for_other_type_varsz6ParamSpecTests.test_type_var_subst_for_other_type_vars�s�
���C�L�L��
�T�]�]���c�N�N��
�t�_�_��
�$�
�
��	�	�	�	�	�7�1�:�	�	�	��!�W������*�Q�D�1�1�1�������t�g�.�.�.�����C��$�s�)�,�,�,�
�1�#�Y������*�Q�D�1�1�1�������t�g�.�.�.�����C��$�s�)�,�,�,�
�3��(�^������*�Q�D�1�1�1�������Q�x�k�2�2�2�����C��$��S�z�"2�3�3�3�
�1�c�2�,�
������*�Q��G�4�4�4�������3��|�o�6�6�6�����C��I���c�3��-=�(>�?�?�?�
�*�B�*��*�
������*�R�E�2�2�2������z��z�S�z�z�m�4�4�4�����C��I���c�4��-=�(>�?�?�?��S�J�2�J�������,�r�e�4�4�4������#�����
�6�6�6�����c�4�i��$��S�$�/?�*@�A�A�A�
�1�(�r�(�^������*�Q��G�4�4�4�������x�B�x�x�k�2�2�2�����C��d�N�+�T�3��T�2B�-C�D�D�D�
�1�a�&�\������*�Q�D�1�1�1�������1�v�i�0�0�0�����C��$��S�z�"2�3�3�3�
�1�d�1�g�,�
������*�Q�D�1�1�1�������4��7�|�o�6�6�6�����C��$��T�#�Y�'7�"8�9�9�9�
�5��"���:�#��#�
$������*�R�E�2�2�2�������c�r�c�c�
�'8�R�'8�'8�&:�;�;�;�����C��H��t�E�#�s�(�O�S�#�,E�'F�G�G�G��2�h������+�b�U�3�3�3�������u�-�-�-�����c�3�Z��$��S�z�*:�;�;�;�	�	�	�	�	�g�a��e�n�	�	�	��Q��U�^������*�Q��G�4�4�4������q�"�g�.�.�.�����S�#�J���.�/��#���t�f�9L�1M�N�N�N�����B��F��W�R��V�_�5�5�5�
�c�3�Z��^�
$������*�R�E�2�2�2�������S�z�2�&6�7�7�7�����T�4�L�)�7�C�#�;��t��3L�+M�N�N�N�����B���#���b��!9�:�:�:�
�Q��t��_�
%������*�Q�D�1�1�1������q�4��,�&7�8�8�8�����S�#�J���#���t�T�l�1J�)K�L�L�L�����B����d�D�\�)9�!:�;�;�;�
�a��X��b�z�)�
*������*�Q��G�4�4�4�������3�x�$���&<�=�=�=�����C��J���#�s��d�E�]�1J�)K�L�L�L�
�Z�r�Z�3�Z�$���+�
,������*�R��H�5�5�5������z��z�S�z�z�D�"�:�&>�?�?�?�����C���-�.� �#�u�c�!2�T�5�M�!A�B�	D�	D�	D��a��X��{�r�{�*�
+������*�Q��G�4�4�4�������3�x�$�����&=�>�>�>�����C���-�.� �#�s��d�E�5�-A�!A�B�	D�	D�	D�	�	�	�	�	�G�A�q�D�M�	�	�	��1�a�4�[������*�Q��F�3�3�3������q�!�f�-�-�-�����S�#�J��,�-�u�c�3�Z��5E�/F�G�G�G�
�C��8�Q�;�
������*�Q�D�1�1�1�������Q�x��m�4�4�4�����C��%��c�
�C��"8�9�9�9�
�C�:�"�:�q�=�
!������*�R��G�4�4�4�������z�b�z�z�1�o�6�6�6�����C��u�,�-�u�c�3��5E�u�5L�/M�N�N�N�N�Nrbc��td��}td��}t||f}t|}t|}t|t
z}|�|j||f��|�|j||f��|�|j||f��tt
tgtf}|�|t
tgtft|��|�|t
tgtft|��|�|t
tgtft|t
z��dS)Nrr�)
rrEr#r r�r�r�r�r|r�)r[rr�r�rsrvr�r=s        r`�!test_paramspec_in_nested_genericsz0ParamSpecTests.test_paramspec_in_nested_generics s2��
�C�L�L���c�N�N��
�a��d�^��
�"�X��
�"�X��
�"�X��^������*�Q��F�3�3�3�����*�Q��F�3�3�3�����*�Q��F�3�3�3��c�3�Z��&�'������S�#�J��-�.��Q��8�8�8�����S�#�J��-�.��Q��8�8�8�����S�#�J��-�.��Q��#�
�>�>�>�>�>rbc��td��}td��}t|tf}|�|j|f��|�||j|f��|�|t
jd��|�|t
tfjtf��|�|tt
|fj|f��|�|tt|fjt|f��|�|djd��ttt
|ftf}|�|j|f��|�||j|f��|�|t
jd��|�|t
tfjtf��|�|tt
|fj|f��|�|tt|fjt|f��dS)Nr�rrn.)rEr#r�r�r�r|rrF)r[r�rr�r�s     r`�test_paramspec_gets_copiedz)ParamSpecTests.test_paramspec_gets_copied s����c�N�N��
�t�_�_��
�a��f�
������*�Q�D�1�1�1�����B��.���6�6�6�����C��/��4�4�4�����C��F��2�Q�D�9�9�9�����K��R��0�1�@�2�%�H�H�H�����K��2��.�/�>��B��H�H�H�����C��/��4�4�4�
�k�#�q�&�)�3�.�
/������*�Q�D�1�1�1�����B��.���6�6�6�����C��/��4�4�4�����C��F��2�Q�D�9�9�9�����K��R��0�1�@�2�%�H�H�H�����K��2��.�/�>��B��H�H�H�H�HrbN)rkrlrmrpr�r�r�rrrrr�r�r0r2r4rnrbr`r�r��s�������*�*�*�4�4�4�"5�5�5�&

�

�

�4�4�4�l>�>�>� � � �DI�I�I�2J�J�J�=�=�=�wO�wO�wO�r?�?�?�$I�I�I�I�Irbr�c�&�eZdZd�Zd�Zd�Zd�ZdS)�ConcatenateTestsc��td��}Gd�d��}t||f}|�|t��dS)Nr�c��eZdZdS)�-ConcatenateTests.test_basics.<locals>.MyClassNr~rnrbr`r�r9/ r�rbr�)rErFr�)r[r�r�r�s    r`r5zConcatenateTests.test_basics- sO���c�N�N�������������
�#�����A�{�+�+�+�+�+rbc��td��}tttt|f����}dD]F}|�|���5|�||��ddd��n#1swxYwY�GdS)Nr�r@rA)rErCrDrFr�rxrE)r[r�rGrBs    r`rHzConcatenateTests.test_dir3 s����c�N�N����K��Q��/�0�0�1�1�	�
�	8�	8�M����M��:�:�
8�
8��
�
�m�Y�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8��	8�	8s�A;�;A?	�A?	c��td��}td��}ttt|ftf}|�|jtt|ftf��|�|j|f��ttt||f|f}|�|jtt||f|f��|�|j||f��tj	jtt|ftf}|�|jtt|ftf��|�|j|f��tj	jtt||f|f}|�|jtt||f|f��|�|j||f��dSr�)
rErr#rFr�r�r�r�r�r�r�s       r`r�z ConcatenateTests.test_valid_uses< s����c�N�N���C�L�L��
�k�#�q�&�)�3�.�
/�������{�3��6�':�C�&@�A�A�A�����*�Q�D�1�1�1�
�k�#�q�!�)�,�a�/�
0�������{�3��1�9�'=�q�&A�B�B�B�����*�Q��F�3�3�3��_�
%�k�#�q�&�&9�3�&>�
?�������{�3��6�':�C�&@�A�A�A�����*�Q�D�1�1�1�
�_�
%�k�#�q�!�)�&<�a�&?�
@�������{�3��1�9�'=�q�&A�B�B�B�����*�Q��F�3�3�3�3�3rbc�X�td��}td��}td��}t||f}|�|t|ftt|f��|�|tt
tgftt
tf��|�|tgftf��|�|ttt
|ffttt
|f��|�|tdfttdf��tt|f}|�||tt|f��|�|t
tgtt
tf��|�|t
tftt
tf��|�|gtf��|�|tt
|fttt
|f��|�|dttdf��dS)Nrr�r.)rrErFr�r�r|r�)r[rr�rr=s     r`r�z&ConcatenateTests.test_var_substitutionN s����C�L�L���c�N�N��
�t�_�_����1��������3��7��[��b��%9�:�:�:�����3��e��,�-��S�%�/@�A�A�A�����3��7��c�V�,�,�,�����3��C��G� 4�4�5�$�S�#�r�\�2�	4�	4�	4�����3��8��k�#�s�(�&;�<�<�<���Q��������2���C��G� 4�5�5�5�����C��<��3��U�*;�<�<�<�����3��:���c�5�(9�:�:�:�����2����'�'�'�����;�s�B�w�/�0�+�c�3��l�2K�L�L�L�����3���S�#�X�!6�7�7�7�7�7rbN)rkrlrmr5rHr�r�rnrbr`r6r6, sP������,�,�,�8�8�8�4�4�4�$8�8�8�8�8rbr6c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TypeGuardTestsc�X�ttdttfd�}|�t|��dtti��|�t
��5tttfddd��dS#1swxYwYdS)Nr�c��dSrfrnr�s r`r�z'TypeGuardTests.test_basics.<locals>.foof r�rb)rIr�r�rr�r�r|r�	s  r`r5zTypeGuardTests.test_basicsc s����#���+�	�#��+�+�+�+�����S���H�i��n�#=�>�>�>�
�
�
�y�
)�
)�	 �	 ��c�3�h���	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�8B�B#�&B#c��|�tt��d��tt}|�t|��d��tt}|�t|��dt
z��ttt}|�t|��d��dS)Nztyping.TypeGuardztyping.TypeGuard[int]ztyping.TypeGuard[%s.Employee]ztyping.TypeGuard[tuple[int]])r�r�rIr�r}rkr�r+	s  r`r�zTypeGuardTests.test_reprl s�������i���*<�=�=�=�
�s�^������b���#:�;�;�;�
�x�
 ������b���#B�X�#M�N�N�N�
�u�S�z�
"������b���#A�B�B�B�B�Brbc	�f�|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dttt����}ddd��dS#1swxYwYdS)Nc��eZdZdS)�.TypeGuardTests.test_cannot_subclass.<locals>.CNr~rnrbr`r=rDw r�rbr=c��eZdZdS)�.TypeGuardTests.test_cannot_subclass.<locals>.DNr~rnrbr`r@rFz r�rbr@)r�r�r�rIr�rAs   r`r�z#TypeGuardTests.test_cannot_subclassu sK��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��O�O�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��3��(�(�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r2	c���|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5tttt
����ddd��dS#1swxYwYdSrf)r�r�rIr�rr�r�s r`rDzTypeGuardTests.test_cannot_init} s���
�
�
�y�
)�
)�	�	��K�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��O�O����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	-�	-�*�D��8�C�=�)�*�*�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-r5	c�D�|�t��5tdtt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSrF)r�r�r�rIr�rXr�s r`rGz!TypeGuardTests.test_no_isinstance� s��
�
�
�y�
)�
)�	*�	*��q�)�C�.�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�
�
�
�y�
)�
)�	'�	'��s�I�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	'r8	Nr9	rnrbr`r>r>b sb������ � � �C�C�C����-�-�-�'�'�'�'�'rbr>�
SpecialAttrsP�
SpecialAttrsTc�B�eZdZd�Zejde��Zd�Zd�Z	dS)�SpecialAttrsTestsc	��itjd�tjd�tjd�tjd�tjd�tjd�tjd�tjd�tj	d	�tj
d
�tjd�tjd�tj
d
�tjd�tjd�tjd�tjd�itjd�tjd�tjd�tjd�tjd�tjd�tjd�tjd�tjd�tjd�tjd�tjd�tjd�tjd�tj d �tj!d!�tj"d"��itj#d#�tj$d$�tj%d%�tj&d&�tjtNd�tjtNd�tjtNtNfd�tjtNd�tjtNd�tjtNd�tjgtNfd�tjd'tNfd�tj	tNtNfd	�tj
tNd
�tjtNd�tjtNd�tj
tNtNtNfd
��itjtNd�tjtNtNfd�tjtNd�tjtNtNfd�tjtNd�tjtNtNtNfd�tjtNtNfd�tjtNd�tjtNd�tjtNd�tjtNd�tjtNtNfd�tjtNd�tjtNtNfd�tjtNd�tjtNd�tjtNtNfd��itj tNd �tj!tNd!�tj"tNd"�tj$tNd$�tj$tNd'fd$�tj%tNd%�tj&tNd&�tj(d(�tj'd)�tj)d*�tj*d+�tj+d,�tj,d-�tj-d.�tj.d/�tj/d0�tj0d1��itj1d2�tj2d3�tj3d4�tj4d5�tj5d6�tj6d7�tj(tNd8fd(�tj)tNd*�tj*tNtnfd+�tj+tNd,�tj-tNd.�tj-d9d.�tj-d:d.�tj1tNd2�tj3tNd4�tj5tNd)�tj5tptrfd6��}|�:��D�]\}}|�;|�;��5|�<|j=|t}|����|�<|j?|t}|����|�<|j@d<t}|����t�t�jCd=z��D]A}t�jD||��}t�jE|��}|�F||���B	ddd��n#1swxYwY��dS)>Nrjr�rYr�r�
r�r�r#r\r�rFr<r�rr[r
r!rrTr��	ItemsViewr�r�
�KeysViewr r��MappingViewr"r�r�r#rrHr
r�rr5�
ValuesView.r@rr%rFr&rArr�rrrrDrIrrrB�
Annotationrr;re	rOrq)GrOrjr�rYr�r�
r�r�r#r\r�rFr<r�rr[r
r!rrTr�rNr�r�
rOr r�rPr"r�r�r#rrHr
r�rr5rQrr@r%rFr&rArr�rrrrDrIrrrBrIr�r�r�rxr�rkr|rmrlrurvrwr>r=r�)r[�cls_to_checkr\r�
rtr�r�s       r`r�z$SpecialAttrsTests.test_special_attrs� s�	��p
���
�p
�
�&�(=�p
�
�!�#3�	p
�

� �/�p
�
� �/�
p
�
��k�p
�
��|�p
�
�O�Z�p
�
�O�Z�p
�
��|�p
�
��k�p
�
�!�#3�p
�
��k�p
�
�N�I�p
� 
��
�!p
�"
�L�'�#p
�$
�K��%p
�p
�&
��k�'p
�(
��k�)p
�*
�O�Z�+p
�,
��k�-p
�.
�O�Z�/p
�0
�O�Z�1p
�2
�O�Z�3p
�4
�K��5p
�6
�N�I�7p
�8
��
�9p
�:
�!�#3�;p
�<
�"�$5�=p
�>
��|�?p
�@
��
�Ap
�B
��|�Cp
�D
�O�Z�Ep
�F
�J��Gp
�p
�p
�H
�L�'�Ip
�J
�L�'�Kp
�L
�K��Mp
�N
��|�Op
�R
��s�#�]�Sp
�T
�&�s�+�-B�Up
�V
�!�#�s�(�+�-=�Wp
�X
� ��%��Yp
�Z
� ��%��[p
�\
��S�!�;�]p
�^
�O�B��G�$�j�_p
�`
�O�C��H�%�z�ap
�b
�O�C��H�%�z�cp
�d
��c�"�L�ep
�f
��S�!�;�gp
�h
�!�#�&�(8�ip
�j
��S�#�s�]�+�[�kp
�p
�p
�l
�N�3���mp
�n
��s�C�x�(�-�op
�p
�L���w�qp
�r
�K��S��!�6�sp
�t
��S�!�;�up
�v
��S�#�s�]�+�[�wp
�x
��S�#�X�&��yp
�z
�O�C� �*�{p
�|
�O�C� �*�}p
�~
�O�C� �*�p
�@
�K���f�Ap
�B
�N�3��8�$�i�Cp
�D
��s�#�]�Ep
�F
�!�#�s�(�+�-=�Gp
�H
�"�3�'�):�Ip
�J
��c�"�L�Kp
�L
��s�C�x�(�-�Mp
�p
�p
�N
��c�"�L�Op
�P
�O�C� �*�Qp
�R
�J�s�O�U�Sp
�T
�L���w�Up
�V
�L��c��"�G�Wp
�X
�K���f�Yp
�Z
��c�"�L�[p
�^
��k�_p
�`
�J��ap
�b
�O�Z�cp
�d
��
�ep
�f
�L�'�gp
�h
��|�ip
�j
�N�I�kp
�l
�N�I�mp
�n
�O�Z�op
�p
�L�'�qp
�p
�p
�r
�O�Z�sp
�t
��k�up
�v
��k�wp
�x
�N�I�yp
�z
�L�'�{p
�|
�K��}p
�@
��S�,�.�/��Ap
�B
�O�C� �*�Cp
�D
��s�M�1�2�M�Ep
�F
�L���w�Gp
�H
�N�3���Ip
�J
�N�4� �)�Kp
�L
�N�7�#�Y�Mp
�N
�O�C� �*�Op
�P
��S�!�;�Qp
�R
�L���u�Sp
�T
�L��e��$�g�Up
�p
��d&�+�+�-�-�	/�	/�I�C�����#��&�&�
/�
/�� � ���t�S��X�X�>�>�>�� � ��!1�4��S���B�B�B�� � ����3�s�8�8�D�D�D�"�6�#:�Q�#>�?�?�/�/�E���S�%�0�0�A�#�\�!�_�_�F��M�M�#�v�.�.�.�.�/�	
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/����
/�
/�
/�
/��	/�	/s�Cc�c	�c	�SpecialAttrsTests.TypeNamec���tjd��}|�t|d����|�t|d����|�|jd��t
tjdz��D]I}|�	t��5tj||��ddd��n#1swxYwY�J|�tj
jd��|�tj
jd��|�tj
jt��t
tjdz��D]U}tjtj
|��}tj|��}|�tj
|���V|�t$jd��|�tt$d����|�t$jt��t
tjdz��D]K}tjt$|��}tj|��}|�t$|���L|�t&jd	��|�tt&d����|�t&jt��t
tjdz��D]K}tjt&|��}tj|��}|�t&|���LdS)
Nzset[Any]rkrmrOrq�TypeNamerTrJrI)rOrAr�r�r�rlrurvrwr�r�r>rLrVrkrmr=r�rJrI)r[r�	rtr�r�s     r`�test_special_attrs2z%SpecialAttrsTests.test_special_attrs2!s���
�z�
*�
*�������Z�0�0�1�1�1������^�4�4�5�5�5�������1�1�1��6�2�Q�6�7�7�	(�	(�E��"�"�9�-�-�
(�
(���R��'�'�'�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(�
(����
(�
(�
(�
(��	
���*�3�<�j�I�I�I�����&�3�(�	
�	
�	
�	
����&�1��	
�	
�	
�
�6�2�Q�6�7�7�	>�	>�E���.�7��?�?�A��\�!�_�_�F��M�M�+�4�f�=�=�=�=�	
����/��A�A�A�������?�?�@�@�@�����1�8�<�<�<��6�2�Q�6�7�7�	1�	1�E���]�E�2�2�A��\�!�_�_�F��M�M�-��0�0�0�0�����/��A�A�A�������?�?�@�@�@�����1�8�<�<�<��6�2�Q�6�7�7�	1�	1�E���]�E�2�2�A��\�!�_�_�F��M�M�-��0�0�0�0�	1�	1s�.C�C	�C	c�N�Gd�dtt��}tt|t����}dD]F}|�|���5|�||��ddd��n#1swxYwY�G|�d|��dS)Nc��eZdZd�ZdZdZdS)�4SpecialAttrsTests.test_genericalias_dir.<locals>.Fooc��dSrfrnr�s r`r)z8SpecialAttrsTests.test_genericalias_dir.<locals>.Foo.barE!r�rbrrN)rkrlrmr)r)�	__magic__rnrbr`r�rZD!s'������
�
�
��C��I�I�Irbr�)r)r)r�r�r�rAr\)r$rrCrDr�rxrEr�	)r[r�rGrBs    r`�test_genericalias_dirz'SpecialAttrsTests.test_genericalias_dirC!s���	�	�	�	�	�'�!�*�	�	�	���C��H�
�
�&�&�	�
�	8�	8�M����M��:�:�
8�
8��
�
�m�Y�7�7�7�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8�
8����
8�
8�
8�
8������i�0�0�0�0�0s� B�B	�
B	N)
rkrlrmr�rOr�rrVrWr]rnrbr`rLrL� s\������{/�{/�{/�z�v�~�:�C�@�@�H�01�01�01�d1�1�1�1�1rbrLc��eZdZd�ZdS)�RevealTypeTestsc��t��}t��5}|�|t|����ddd��n#1swxYwY|�|���d��dS)NzRuntime type is 'object'
)rTrKr�r0r��getvalue)r[r��stderrs   r`�test_reveal_typez RevealTypeTests.test_reveal_typeW!s����h�h��
�
�
�	1�&��M�M�#�{�3�/�/�0�0�0�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1�	1����	1�	1�	1�	1�������*�*�,H�I�I�I�I�Is�$A
�
A�AN)rkrlrmrcrnrbr`r_r_V!s(������J�J�J�J�Jrbr_c� �eZdZd�Zd�Zd�ZdS)�DataclassTransformTestsc	�B�ddd�dtdtfd�}tdd���|��}Gd�d	��}|�||��|�|jdddd
id���|�|dd���|��|��dS)NFT��frozen�kw_onlyrhric��d�S)Nc��|Srfrnre	s r`r�zNDataclassTransformTests.test_decorator.<locals>.create_model.<locals>.<lambda>a!s��s�rbrnrgs  r`�create_modelz<DataclassTransformTests.test_decorator.<locals>.create_model`!s
��"�?�"rb)�kw_only_default�
order_defaultc��eZdZUeed<dS)�=DataclassTransformTests.test_decorator.<locals>.CustomerModelr
Nrfrnrbr`�
CustomerModelrpe!���������G�G�G�G�Grbrqrn��
eq_defaultrnrm�field_specifiersr�)r�r1r�r��__dataclass_transform__)r[rl�	decoratedrqs    r`�test_decoratorz&DataclassTransformTests.test_decorator_!s
��+0�$�	#�	#�	#�D�	#�4�	#�	#�	#�	#�S�'��E�R�R�R�S_�`�`�	�	�	�	�	�	�	�	�	�	
�
�
�i��.�.�.�����-�"�!&�#'�$&��
�
�		
�		
�		
�	
�
�
�1�I�I�T�5�1�1�1�-�@�@��	
�	
�	
�	
�	
rbc	��Gd�d��}tddd���|��}Gd�d|d���}|�||��|�|jdddd	d
did���|�||��dS)Nc� �eZdZdd�defd�ZdS)�:DataclassTransformTests.test_base_class.<locals>.ModelBaseF�rhrhc��dSrfrn)r\rhs  r`r�zLDataclassTransformTests.test_base_class.<locals>.ModelBase.__init_subclass__z!r�rbN)rkrlrmr�r�rnrbr`�	ModelBaser{y!s*������9>�D�D�D�$�D�D�D�D�D�Drbr~T)rtrn�make_everything_awesomec��eZdZUeed<dS)�>DataclassTransformTests.test_base_class.<locals>.CustomerModelr
Nrfrnrbr`rqr��!rrrbrqr|Frnrrs)r1r�r�rvra)r[r~�	Decoratedrqs    r`�test_base_classz'DataclassTransformTests.test_base_classx!s��	E�	E�	E�	E�	E�	E�	E�	E�
�'���$(�	
�
�
�
���	�	�	�	�	�	�I�d�	�	�	�	�	
�
�
�i��+�+�+�����-�"�!%�#(�$&�4�d�;�
�
�		
�		
�		
�	
���m�Y�7�7�7�7�7rbc	�V�Gd�d��}Gd�dt��}td|f���|��}Gd�d|�	��}Gd
�d|d�
��}|�||��|�|jddd|fid���|�||��dS)Nc��eZdZdS)�5DataclassTransformTests.test_metaclass.<locals>.FieldNr~rnrbr`�Fieldr��!r�rbr�c�*��eZdZdd�def�fd�Z�xZS)�9DataclassTransformTests.test_metaclass.<locals>.ModelMetaT��initr�c�L��t���||||��Srf)r�r�)r\r�
r�
�	namespacer�r�s     �r`r�zADataclassTransformTests.test_metaclass.<locals>.ModelMeta.__new__�!s!����w�w���s�D�%��C�C�Crb)rkrlrmr�r�r�r�s@r`�	ModelMetar��!s_�������=A�
D�
D�
D�6:�
D�
D�
D�
D�
D�
D�
D�
D�
D�
Drbr�T)rnruc��eZdZdS)�9DataclassTransformTests.test_metaclass.<locals>.ModelBaseNr~rnrbr`r~r��!r�rbr~rmc��eZdZUeed<dS)�=DataclassTransformTests.test_metaclass.<locals>.CustomerModelr
Nrfrnrbr`rqr��!rrrbrqFr�rs)r�r1r�r�rvr�)r[r�r�r�r~rqs      r`�test_metaclassz&DataclassTransformTests.test_metaclass�!s6����������	D�	D�	D�	D�	D��	D�	D�	D�
�'��%��
�
�
�
���	�	2�1�1�1�1�)�1�1�1�1�	�	�	�	�	�I�E�	�	�	�	�	
�
�
�i��+�+�+�����-�"�!%�#(�%*�H��
�
�		
�		
�		
�	
���m�Y�7�7�7�7�7rbN)rkrlrmrxr�r�rnrbr`rere^!sA������
�
�
�28�8�8�68�8�8�8�8rbrec��eZdZdZd�Zd�ZdS)�AllTestszTests for __all__.c�N�ddlm}|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��|�d	|��|�d
|��|�d|��|�d|��|�d
|��|�d|��|�d|��dS)Nr)rbrjrQr*rr<r��ior	�osr��Textrr	)rOrbrEr�	r�s  r`�test_allzAllTests.test_all�!s)��'�'�'�'�'�'��
�
�m�Q�'�'�'��
�
�l�A�&�&�&��
�
�f�a� � � ��
�
�j�!�$�$�$��
�
�&��*�*�*��
�
�+�Q�/�/�/�����q�!�!�!�����q�!�!�!�����q�!�!�!������"�"�"��
�
�f�a� � � ��
�
�o�q�)�)�)��
�
�'��+�+�+�+�+rbc����ttj����fd�tt�����D��}|�|���dS)Nc����h|]p\}}|�vse|�d��sR|dvrN|�d��s9|���|ks!t|dd��tjk�n|��qS)r�
>r�r	)r�_contra�_corlN)rhrT�upperr`rOrk)r�r�rb�
actual_alls   �r`�	<setcomp>z3AllTests.test_all_exported_names.<locals>.<setcomp>�!s����

�

�

��!�Q��J����L�L��%�%����%�%��J�J�9�:�:�&��G�G�I�I��N�N���<��.�.�&�/�A�A�
�B�A�Arb)rCrOrb�varsr��assertSetEqual)r[�computed_allr�s  @r`�test_all_exported_namesz AllTests.test_all_exported_names�!sj������(�(�
�

�

�

�

��v�,�,�,�,�.�.�

�

�

��	
���L�*�5�5�5�5�5rbN)rkrlrmr9r�r�rnrbr`r�r��!s8��������,�,�,�,6�6�6�6�6rbr�c
��eZdZeeeeefeeefee	e
e
defe
egefeeedffZd�Z
d�ZdS)�TypeIterationTests.r�c���d}|jD]�}|�|���5|�t|��5t	|��ddd��n#1swxYwY|�t|��5t|��ddd��n#1swxYwY|�t|��5|D]}�	ddd��n#1swxYwYddd��n#1swxYwY��dS)Nzobject is not iterablerG
)�_UNITERABLE_TYPESrxrr�r�r�)r[�expected_error_regex�	test_typer�
s    r`�test_cannot_iteratez&TypeIterationTests.test_cannot_iterate�!s���7���/�	�	�I����9��-�-�
�
��+�+�I�7K�L�L�$�$���O�O�O�$�$�$�$�$�$�$�$�$�$�$����$�$�$�$��+�+�I�7K�L�L�$�$���O�O�O�$�$�$�$�$�$�$�$�$�$�$����$�$�$�$��+�+�I�7K�L�L���&������������������������
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��	�	s|�C,�A�C,�A�C,�!A�"C,�B�C,�B � C,�#B �$C,�C�	C,�C�C,�C�C,�,C0	�3C0	c�d�|jD]'}|�|tjj���(dSrf)r�r�r�r�r�)r[�type_to_tests  r`� test_is_not_instance_of_iterablez3TypeIterationTests.test_is_not_instance_of_iterable�!s@�� �2�	M�	M�L��$�$�\�;�?�3K�L�L�L�L�	M�	MrbN)rkrlrmrrr|r�rr rr#r@r�r�r�rnrbr`r�r��!s��������
�
�c�3�h��
�c�1�f�
��
����a����!��c�����!�R�%����
�
�
�M�M�M�M�Mrbr�c�h�ddl}|�|�t����|SrL)�doctest�addTests�DocTestSuiterO)�loaderr�patternr�s    r`�
load_testsr��!s0���N�N�N�	�N�N�7�'�'��/�/�0�0�0��Lrb�__main__)�r�r�r�	functoolsrrrrp	r�rfrorvr	r�r?�unittestrrr	r
�
unittest.mockrrr
rOrrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r5r6r7r8r9r;r<r=r>r?r@rArBrCrDrErFrGrHrIr�r6r�r��test.supportrJrKrL�test.typinganndatarMrN�import_fresh_moduler�r�r�rTr{r}r�r�r�r�r�r�rrr#rQrir�r|rr�r�r�r�r;rRr:rNr�r�rrrr�rKrLrNr\rerirmrprsrurwr}rr�r�r�rmr'	r;	rF	ru	r|	r	r�	r�	r�	r�
r�
r�
r�
r�
r�
r�
r�
r�
r�r�
r�
r�
r�
r�r�r�
ryr|
r�
r�
r�
r�
r�
r�
r�
r�
r�r��
FooGenericr�
r�
r�
rrrr
r
rrrrrr�r�rr�r�r�r�rr!r'r�r�r�r�r�r�r

r
r
rj
r
rr,rFr\r�r�r6r>rIr�rrJrLr_rer�r�r�rkrnrbr`�<module>r�s����������#�#�#�#�#�#�.�.�.�.�.�.�.�.�.�.���������	�	�	�	�����
�
�
�
�	�	�	�	�
�
�
�
�����5�5�5�5�5�5�5�5�5�5�5�5���������������5�5�5�5�5�5�5�5�5�5�5�5�;�;�;�;�;�;�;�;�;�;�8�8�8�8�8�8�8�8�8�8�8�8�����������+�+�+�+�+�+�+�+�+�+�4�4�4�4�4�4�4�4�4�4�4�4�������<�<�<�<�<�<�<�<�<�<�<�<�<�<�7�7�7�7�7�7�7�7�7�7�!�!�!�!�!�!�'�'�'�'�'�'�'�'�������������&�&�&�&�&�&�9�9�9�9�9�9�9�9�������?�?�?�?�?�?�?�?�?�?�?�?�'�'�'�'�'�'�'�'�'�'�!�!�!�!�!�!�!�!�(�(�(�(�(�(�(�(�&�&�&�&�&�&�&�&�������I�I�I�I�I�I�I�I�I�I�I�I�������
�
�
�
�����
�
�
�
���������E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�E�
.�M�-�h���L�L�L�	�,�=�,�X�i�[�I�I�I��?�������8����*	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�h�	�	�	�	�	�	�	�	�h�	�	�	�	�	�	�	�	�g�w�	�	�	�C�C�C�C�C�|�C�C�C�L%%�%%�%%�%%�%%�%%�%%�%%�P-�-�-�-�-�(�,�-�-�-�(
8�
8�
8�
8�
8�%�|�
8�
8�
8� 
�
�
�
�
�|�
�
�
�&55�55�55�55�55��55�55�55�p4>�4>�4>�4>�4>��4>�4>�4>�lV!�V!�V!�V!�V!�<�V!�V!�V!�rA,��S�	�A,��c�4��9�n�9M�A,�RV�W\�]`�Wa�Rb�A,�A,�A,�A,�H+�+�+�+�+�|�+�+�+�B@�@�@�@�@�L�@�@�@�H�����,����@x
<�x
<�x
<�x
<�x
<��x
<�x
<�x
<�v.$�.$�.$�.$�.$��.$�.$�.$�bNG�NG�NG�NG�NG��NG�NG�NG�b)'�)'�)'�)'�)'��)'�)'�)'�Xd�d�d�d�d�d�d�d�L		?�	?�	?�	?�	?�+�\�	?�	?�	?�(�(�(�(�(�0�,�(�(�(�x=�x=�x=�x=�x=�<�x=�x=�x=�v
�W�T�3������W�T�]�]��	�	�	�	�	�G�B��F�O�	�	�	������m�B��F�+����$���������������J���������������
�����H���������H�����	�	�	�	�	�u�e�X�	�	���	�������H������
	�	�	�	�	�u�	�	�	������������������������h������W?�W?�W?�W?�W?�L�W?�W?�W?�t"r�r�r�r�r�<�r�r�r�j#&�#&�#&�#&�#&�L�#&�#&�#&�J(#�(#�(#�(#�(#��(#�(#�(#�VG6�G6�G6�G6�G6�,�G6�G6�G6�T���������$
6�
6�
6�
6�
6�l�
6�
6�
6�"+�*�*�*�*�*��0�0�0�0�0�0�0���0��<�<�<�<�<�<�<���<�X1�X1�X1�X1�X1�l�X1�X1�X1�v������
�����������YC�YC�YC�YC�YC�L�YC�YC�YC�|���������������g�e�n�n�������v�'��,����
%�
%�
%�
%�
%�6�/��4�
%�
%�
%���������
�
�
�
�
�
�
�
���������������1���� � � � � ���
� � � ����������������������:���������j���������J����
�����J����	�	�'�W�c�N�+�,�,�������i����	�	�	�	�	�W�Q�Z��	�	�	������
�
 �����������#�.�q�1������(�'�'�'�'�7�E�'�'�'������i�u�������������������I�U����������)�5����������)����J�J�J�J�J��J�J�J�,�,�,�,�,� :�,�,�,�,�,�,�,�,�Y�,�,�,�,�,�,�,�,�9�,�,�,�.�.�.�.�.��.�.�.�$�$�$�$�$�,�.�$�$�$��V�/��4�����
�
�F�3�3�5�5�M�M���t�����������6�!�9��?�?�?�?�?�?�?�?�?�����������
�
�
�
�
�
�
�
�vU�vU�vU�vU�vU�|�vU�vU�vU�r	OT�OT�OT�OT�OT�8�OT�OT�OT�dWg�Wg�Wg�Wg�Wg�,�Wg�Wg�Wg�t1�1�1�1�1�L�1�1�1�:$%�$%�$%�$%�$%��$%�$%�$%�N
M�
M�
M�
M�
M�(�
M�
M�
M�[�[�[�[�[�[�[�[�|������|������H�(�)�)������L�,���*�)��B2�B2�B2�B2�B2�l�B2�B2�B2�Ji&�i&�i&�i&�i&�\�i&�i&�i&�X+&�+&�+&�+&�+&�L�+&�+&�+&�\+)�+)�+)�+)�+)�|�+)�+)�+)�\#(�#(�#(�#(�#(�l�#(�#(�#(�LGK�GK�GK�GK�GK�l�GK�GK�GK�Tp<�p<�p<�p<�p<�\�p<�p<�p<�f
)�)�)�)�)�\�)�)�)�XlI�lI�lI�lI�lI�\�lI�lI�lI�^48�48�48�48�48�|�48�48�48�l''�''�''�''�''�\�''�''�''�T!�� ��1�1�
������U�G�D�D�
�C1�C1�C1�C1�C1��C1�C1�C1�LJ�J�J�J�J�l�J�J�J�R8�R8�R8�R8�R8�l�R8�R8�R8�j)6�)6�)6�)6�)6�|�)6�)6�)6�XM�M�M�M�M��M�M�M�@����z����D�F�F�F�F�F��s�&[7�7\�<\�\