HEX
Server: Microsoft-IIS/10.0
System: Windows NT ITPWINWEBSVR22 10.0 build 20348 (Windows Server 2022) AMD64
User: www.conferencesearch.co.uk (0)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: D:/Python311/Lib/test/__pycache__/test_typing.cpython-311.pyc
�

��Vc���.�ddlZddlZddlmZddlmZmZddlZddlZddlZddl	Z	ddl
Z
ddlZddlm
Z
mZmZmZddlmZddlmZmZddlmZmZmZmZddlmZmZmZdd	lmZmZmZm 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,m-Z-m.Z.m/Z/m0Z0ddlm1Z1m2Z2m3Z3ddlm4Z4ddlm5Z5m6Z6ddlm7Z7ddlm8Z8ddlm9Z9ddlm:Z:m;Z;ddlm<Z<ddlm=Z=m>Z>m?Z?m@Z@ddlmAZAmBZBmCZCddlmDZDmEZEddlmFZFmGZGddlmHZHmIZIddlmJZJddlmKZKmLZLmMZMmNZNddlmOZOddlPZPddlQZQddlZddlRZRddlSZSddlTmUZUmVZVdd lWmXZXdd!lWmYZYeUjZd"d#g�$��Z[eUjZd"d#g�%��Z\Gd&�d'e
��Z]d(�Z^Gd)�d*��Z_Gd+�d,e_��Z`Gd-�d.e_��ZaGd/�d0e`ea��ZbGd1�d2e]��ZcGd3�d4��ZdGd5�d6ede]��ZeGd7�d8ede]��ZfGd9�d:e]��ZgGd;�d<e]��ZhGd=�d>e]��ZiGd?�d@e]��ZjdAekeldBemelekelfdCekenelfdD�ZoGdE�dFe]��ZpGdG�dHe]��ZqGdI�dJe]��ZrGdK�dLe]��ZsGdM�dNe]��ZtGdO�dPe]��ZuGdQ�dRe]��ZvGdS�dT��ZwGdU�dVewe]��ZxGdW�dXewe]��ZyGdY�dZe]��Zzed[ele{��Z|ed\��Z}Gd]�d^e,e|e}f��Z~Gd_�d`e~e|e}f��ZGda�dbe0��Z�e3Gdc�dde�e0����Z�Gde�df��Z�Gdg�dhe0��Z�Gdi�dje0��Z�e3Gdk�dle�e�e0����Z�e3Gdm�dne0����Z�Gdo�dpe���Z�Gdq�dr��Z�Gds�dte=��Z�e3Gdu�dve0����Z�Gdw�dxe]��Z�Gdy�dze]��Z�Gd{�d|e]��Z�Gd}�d~e]��Z�Gd�d�e]��Z�Gd��d�e]��Z�Gd��d�e]��Z�dd�lWm�Z�e:Gd��d�����Z�e:Gd��d�����Z�Gd��d�e]��Z�e��d����Z�Gd��d���Z�Gd��d�e]��Z�dd�lWm�Z�m�Z�m�Z�m�Z�m�Z�ddl�Z�ed���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�e@d�d�elfg��Z�Gd��d�e@��Z�Gd��d�e,e!e@��Z�Gd��d�eYj�d�����Z�Gd��d�eYj�e!d�����Z�Gd��d�e�e���Z�Gd��d�e@d�����Z�Gd��d�e@��Z�Gd��d�e@d�����Z�Gd��d�e@��Z�GdÄd�e@��Z�Gdńd�e@��Z�GdDŽd�eXj���Z�d�ej�e�fdʄZ�	e�e�������d��n%#e�$rZ�e�j�dd�ksJ�YdZ�[�ndZ�[�wwxYwe4Z�Gd̄dͦ�Z�Gd΄d�e]��Z�GdЄd�e
��Z�Gd҄d�e]��Z�GdԄd�e]��Z�Gdքd�e]��Z�Gd؄d�e
��Z�Gdڄdۦ�Z�Gd܄d�e�e]��Z�ee\dަ�Gd߄d�e�e]����Z�Gd�d�e]��Z�Gd�d�e]��Z�Gd�d�e]��Z�Gd�d�e]��Z�Gd�d�e]��Z�Gd�d�e]��Z�Gd�d�e]��Z�Gd�d�e]��Z�Gd�d�e]��Z�Gd�d�e]��Z�Gd��d�e]��Z�ejKd���Z�ejd�e�e�eݦ�Z�Gd��d�e]��Z�Gd��d�e]��Z�Gd��d�e]��Z�Gd���de]��Z�G�d��de]��Z�e�dkre��dSdS(�N)�defaultdict)�	lru_cache�wraps)�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)�mod_generics_cache)�_typed_dict_helper�typing�_typing)�blocked)�freshc�$�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     �$D:\Python311\Lib\test\test_typing.py�assertIsSubclasszBaseTestCase.assertIsSubclass8sX���#�~�.�.�	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 rTrUrXs     r^�assertNotIsSubclassz BaseTestCase.assertNotIsSubclass?sX���c�>�*�*�	1�25�#�#�~�~�F�G��
)��7�S�=�(���'�'��0�0�0�		1�	1r`c�8�tjD]}|���
dS�N)rM�	_cleanups�rY�fs  r^�clear_cacheszBaseTestCase.clear_cachesFs+���!�	�	�A�
�A�C�C�C�C�	�	r`rd)�__name__�
__module__�__qualname__r_rbrh�r`r^rRrR6sK������1�1�1�1�1�1�1�1�����r`rRc�<��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)rYrr�	test_funcs  �r^�wrapperz%all_pickle_protocols.<locals>.wrapperNs�����6�2�Q�6�7�7�	-�	-�E����5��1�1�
-�
-��	�$�e�,�,�,�,�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-�
-����
-�
-�
-�
-��	-�	-s�A�A	�A	)r)rwrxs` r^�all_pickle_protocolsryKs8����9���-�-�-�-���-�
�Nr`c��eZdZdS)�EmployeeN�rirjrkrlr`r^r{r{W��������Dr`r{c��eZdZdS)�ManagerNr|rlr`r^rr[r}r`rc��eZdZdS)�FounderNr|rlr`r^r�r�_r}r`r�c��eZdZdS)�ManagingFounderNr|rlr`r^r�r�cr}r`r�c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�AnyTestsc��|�t��5tdt��ddd��dS#1swxYwYdS�N�*)�assertRaises�	TypeError�
isinstancer
�rYs r^�test_any_instance_type_errorz%AnyTests.test_any_instance_type_erroris���
�
�
�y�
)�
)�	 �	 ��r�3����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 ��>�A�Ac�V�|�tt��d��dS)Nz
typing.Any)�assertEqual�reprr
r�s r^�	test_reprzAnyTests.test_reprms$������c���L�1�1�1�1�1r`c��|�t��5tdt��ddd��n#1swxYwY|�t��5ttddd��dS#1swxYwYdSr�)r�r�rVr
�intr�s r^�test_errorszAnyTests.test_errorsps���
�
�
�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|rlr`r^�Mockr�w��������r`r�c��eZdZdS)�-AnyTests.test_can_subclass.<locals>.SomethingNr|rlr`r^�	Somethingr�{r�r`r�c��eZdZdS)�1AnyTests.test_can_subclass.<locals>.MockSomethingNr|rlr`r^�
MockSomethingr�r�r`r�)r
�
assertTruerV�assertIsInstance�assertFalse�assertNotIsInstance)rYr�r�r��mss     r^�test_can_subclasszAnyTests.test_can_subclassvs1�������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�$�'�'�'�'�'r`c�$�|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��dS#1swxYwYdSrd)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��tjttjttjtdSrd)rMr>r
r=r:r�s r^�test_any_works_with_aliasz"AnyTests.test_any_works_with_alias�s+����S�����s����	�#����r`N)	rirjrkr�r�r�r�r�r�rlr`r^r�r�gsn������ � � �2�2�2����(�(�(� �������r`r�c�P�eZdZUeeed<d�Zd�Zd�Zd�Z	d�Z
d�Zd�Zd	S)
�BottomTypeTestsMixin�bottom_typec��|�|j|j��|�|j|j��|�|jd��dSrd)r�r��assertIs�assertNotEqualr�s r^�
test_equalityz"BottomTypeTestsMixin.test_equality�sW������)�4�+;�<�<�<��
�
�d�&��(8�9�9�9����D�,�d�3�3�3�3�3r`c�V�|�t|j��d��dSrd)r�r,r�r�s r^�test_get_originz$BottomTypeTestsMixin.test_get_origin�s'���
�
�j��!1�2�2�D�9�9�9�9�9r`c��|�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#1swxYwYdSrd)r�r�rVr{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#1swxYwYdSrd)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|rlr`r^�Ar����������r`r�c��eZdZdSr�r|rlr`r^r�z4BottomTypeTestsMixin.test_cannot_subclass.<locals>.A�r�r`�r�r�r�r��rYr�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#1swxYwYdSrdr�r�s r^r�z,BottomTypeTestsMixin.test_cannot_instantiate�s��
�
�
�y�
)�
)�	�	�������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	%�	%�"�D��!�"�"�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s!�<�A�A�!B�B�BN)
rirjrkr$r
�__annotations__r�r�r�r�r�r�r�rlr`r^r�r��s���������#�����4�4�4�
:�:�:�-�-�-�3�3�3�"�"�"����%�%�%�%�%r`r�c�$�eZdZeZd�Zd�Zd�ZdS)�
NoReturnTestsc�V�|�tt��d��dS)N�typing.NoReturn)r�r�rr�s r^r�zNoReturnTests.test_repr�s%������h���):�;�;�;�;�;r`c��dtdtfd�}d	d�}ttd�}||fD]S}|�|���5|�t|��|��ddd��n#1swxYwY�TdS)
N�arg�returnc��dSrdrl�r�s r^�somez/NoReturnTests.test_get_type_hints.<locals>.some�����r`rr�c��dSrdrlr�s r^�some_strz3NoReturnTests.test_get_type_hints.<locals>.some_str�r�r`�r�r���target)r�rr�r�)rrvr��gth�rYr�r��expectedr�s     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��dSrd)r�rrr�s r^�test_not_equalityzNoReturnTests.test_not_equality�s4�����H�e�,�,�,����E�8�,�,�,�,�,r`N)rirjrkrr�r�r�r�rlr`r^r�r��sF�������K�<�<�<�8�8�8�-�-�-�-�-r`r�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�5r`c��dtdtfd�}d	d�}ttd�}||fD]S}|�|���5|�t|��|��ddd��n#1swxYwY�TdS)
Nr�r�c��dSrdrlr�s r^r�z,NeverTests.test_get_type_hints.<locals>.some�r�r`rr�c��dSrdrlr�s r^r�z0NeverTests.test_get_type_hints.<locals>.some_str�r�r`r�r�)r�rr�r�)rrvr�r�r�s     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)rirjrkrr�r�r�rlr`r^r�r��s7�������K�6�6�6�8�8�8�8�8r`r�c��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'r�)
r��AssertionErrorr�assertRaisesRegex�
assertLess�len�	exception�argsrM�_ASSERT_NEVER_REPR_MAX_LENGTH)rY�value�
huge_value�cms    r^�test_exceptionzAssertNeverTests.test_exception�s���
�
�
�~�
.�
.�	�	������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	���
�
#�
#�N�E�
:�
:�	 �	 ������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 ��5�[�
�
�
�
�~�
.�
.�	%�"���$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�������!�!�$�%�%��0�1�4�	
�	
�	
�	
�	
s0�7�;�;�A;�;A?�A?�%C�C�CN)rirjrkr�rlr`r^r�r��s#������
�
�
�
�
r`r�c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�	SelfTestsc��|�tt��|�tt��|�td��dSrd)r�rAr�r�r�s r^r�zSelfTests.test_equality�sH������t�$�$�$��
�
�d�D�!�!�!����D�$�'�'�'�'�'r`c�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��dSrdrlr�s r^�barz&SelfTests.test_basics.<locals>.Foo.bar�r�r`N)rirjrkrArrlr`r^�Foor��s!������&�T�&�&�&�&�&�&r`rc��eZdZdd�ZdS)�%SelfTests.test_basics.<locals>.FooStrr�rAc��dSrdrlr�s r^rz)SelfTests.test_basics.<locals>.FooStr.bar�r�r`N)r�rA�rirjrkrrlr`r^�FooStrr�s������(�(�(�(�(�(r`rc��eZdZdd�ZdS)�+SelfTests.test_basics.<locals>.FooStrTypingr��typing.Selfc��dSrdrlr�s r^rz/SelfTests.test_basics.<locals>.FooStrTyping.bar�r�r`N)r�r	rrlr`r^�FooStrTypingr�s������/�/�/�/�/�/r`rr�r�)rvr�r�rrAr�r,�rYrrrr�s     r^�test_basicszSelfTests.test_basics�sT��	'�	'�	'�	'�	'�	'�	'�	'�	)�	)�	)�	)�	)�	)�	)�	)�	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)Nr	)r�r�rAr�s r^r�zSelfTests.test_reprs$������d���]�3�3�3�3�3r`c��|�t��5ttddd��dS#1swxYwYdSrd)r�r�rAr�r�s r^�test_cannot_subscriptzSelfTests.test_cannot_subscripts���
�
�
�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|rlr`r^�Crr�r`rc��eZdZdSrr|rlr`r^rz)SelfTests.test_cannot_subclass.<locals>.Cr�r`)r�r�r�rA�rYrs  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#1swxYwYdSrd)r�r�rAr�r�s r^�test_cannot_initzSelfTests.test_cannot_inits���
�
�
�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�Nro)r�r�r�rArVr�r�s r^�test_no_isinstancezSelfTests.test_no_isinstances��
�
�
�y�
)�
)�	 �	 ��q�$����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	"�	"��s�D�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"�!�=�A�A�"B
�
B�Bc��tttf}tt}tt}|�t|��ttf��|�t|��tf��|�t|��tf��dSrd)rrArr$r�r-�rY�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�4r`N�rirjrkr�r
r�rr�rrr%rlr`r^r�r��s�������(�(�(�
.�.�.�4�4�4����������"�"�"�5�5�5�5�5r`r�c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�LiteralStringTestsc��|�tt��|�tt��|�td��dSrd)r�rBr�r�r�s r^r�z LiteralStringTests.test_equality+sH������
�6�6�6��
�
�m�]�3�3�3����M�4�0�0�0�0�0r`c�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��dSrdrlr�s r^rz/LiteralStringTests.test_basics.<locals>.Foo.bar2r�r`N)rirjrkrBrrlr`r^rr,1s!������/�]�/�/�/�/�/�/r`rc��eZdZdd�ZdS)�.LiteralStringTests.test_basics.<locals>.FooStrr�rBc��dSrdrlr�s r^rz2LiteralStringTests.test_basics.<locals>.FooStr.bar4r�r`N)r�rBrrlr`r^rr/3s������1�1�1�1�1�1r`rc��eZdZdd�ZdS)�4LiteralStringTests.test_basics.<locals>.FooStrTypingr��typing.LiteralStringc��dSrdrlr�s r^rz8LiteralStringTests.test_basics.<locals>.FooStrTyping.bar6r�r`N)r�r3rrlr`r^rr25s������8�8�8�8�8�8r`rr�r�)rvr�r�rrBr�r,rs     r^r
zLiteralStringTests.test_basics0sT��	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�6rc�V�|�tt��d��dS)Nr3)r�r�rBr�s r^r�zLiteralStringTests.test_repr=s'������m�,�,�.D�E�E�E�E�Er`c��|�t��5ttddd��dS#1swxYwYdSrd)r�r�rBr�r�s r^rz(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|rlr`r^rr:Fr�r`rc��eZdZdSr9r|rlr`r^rz2LiteralStringTests.test_cannot_subclass.<locals>.CIr�r`)r�r�r�rBrs  r^r�z'LiteralStringTests.test_cannot_subclassDsA��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��'�'�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�M�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rc�$�|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��dS#1swxYwYdSrd)r�r�rBr�r�s r^rz#LiteralStringTests.test_cannot_initLs��
�
�
�y�
)�
)�	�	��O�O�O�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	"�	"��D����!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"r�c�.�|�t��5tdt��ddd��n#1swxYwY|�t��5t	t
t��ddd��dS#1swxYwYdSr)r�r�r�rBrVr�r�s r^rz%LiteralStringTests.test_no_isinstanceRs��
�
�
�y�
)�
)�	)�	)��q�-�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
�
�
�y�
)�
)�	+�	+��s�M�*�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+rc��tttf}tt}tt}|�t|��ttf��|�t|��tf��|�t|��tf��dSrd)rrBrr$r�r-r!s    r^r%zLiteralStringTests.test_aliasXs����
�}�4�5���}�%���=�)������'�*�*�]�M�,J�K�K�K�����'�*�*�]�,<�=�=�=�����'�*�*�]�,<�=�=�=�=�=r`Nr&rlr`r^r(r(*s�������1�1�1�
7�7�7�F�F�F�������"�"�"�+�+�+�>�>�>�>�>r`r(c�t�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�ZdS)�TypeVarTestsc��td��}|�||��|�|t��dS�Nr)rr�r��rYrs  r^�test_basic_plainzTypeVarTests.test_basic_plainas?���C�L�L������A�������a��)�)�)�)�)r`c��td��}|�t��5td|��ddd��dS#1swxYwYdS)Nrr�)rr�r�r�rCs  r^� test_typevar_instance_type_errorz-TypeVarTests.test_typevar_instance_type_errorhs����C�L�L��
�
�
�y�
)�
)�	�	��r�1����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ac�B�td��}|�t��5tt|��ddd��n#1swxYwY|�t��5t|t��ddd��dS#1swxYwYdSrB)rr�r�rVr�rCs  r^� test_typevar_subclass_type_errorz-TypeVarTests.test_typevar_subclass_type_errorms���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��rYrJs  r^�test_constrained_errorz#TypeVarTests.test_constrained_errorts���
�
�
�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)NrJ�Y)	rr�r�rr��__args__�__parameters__r��
__origin__)rYrJrOs   r^�test_union_uniquezTypeVarTests.test_union_uniqueys9���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�6r`c��td��}|�|dzt|df��|�d|ztd|f��|�t|dz��|t	d��f��|�td|z��t	d��|f��dS�NrJ�x)rr�rr-r@rKs  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�Ar`c��tdtt��}|�t|tft|��dS�Nr�)r�str�bytesr�rr�s  r^�test_union_constrainedz#TypeVarTests.test_union_constrained�s;���C��e�$�$�����E�!�S�&�M�5��8�4�4�4�4�4r`c��|�tt��d��|�tt��d��|�tt��d��|�tt
��d��t
dd���}|�t|��d��t
d	d�
��}|�t|��d��dS)Nz~Tz~KTz~VTz~AnyStr�T_coT��	covariantz+T_co�T_contra)�
contravariantz	-T_contra)r�r�rrrrr)rYr^ras   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�5r`c��|�td��td����|�tdtt��tdtt����dSrB)r�rr�rZr�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�Kr`c��|�t��5Gd�dtd����}ddd��dS#1swxYwYdS)Nc��eZdZdS)�1TypeVarTests.test_cannot_subclass_vars.<locals>.VNr|rlr`r^�Vrg�r�r`rhr�r�r�r�rYrhs  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>.VNr|rlr`r^rhrn�r�r`rhrirjs  r^�test_cannot_subclass_var_itselfz,TypeVarTests.test_cannot_subclass_var_itself�s���
�
�
�y�
)�
)�	�	�
�
�
�
�
�G�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��<�A�Ac��|�t��5td����ddd��dS#1swxYwYdSrYrir�s r^�test_cannot_instantiate_varsz)TypeVarTests.test_cannot_instantiate_vars�s���
�
�
�y�
)�
)�	�	��G�C�L�L�N�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rMc�@�|�t��5tdt���ddd��n#1swxYwY|�t��5tdtt
t���ddd��dS#1swxYwYdS)NrJ��bound)r�r�rrrZ�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�rY�codes  r^�test_missing__name__z!TypeVarTests.test_missing__name__�s��,��	
�T�2�����r`c��|�t��5tddd���ddd��dS#1swxYwYdS)NrT)r`rb)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��dSrB)r�__typing_subst__r�r�r��listrr
r�rZr)rYr�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�Ar`c��td��}td��}dttftt
t
|tt|ttttttf}|D]�}|�	|���5|�
t��5|j|��ddd��n#1swxYwY|�
t��5t||ddd��n#1swxYwY|�
t��5t||ddd��n#1swxYwYddd��n#1swxYwY��dS)Nr�Prlr�)rrDr�rZrr#r'r%r$rvr�r�r�rr��rYrr��bad_argsr�s     r^�test_bad_var_substitutionz&TypeVarTests.test_bad_var_substitution�s9���C�L�L���c�N�N����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:�E#�E:�#E'�'E:�*E'�+E:�:E>	�E>	N)rirjrkrDrFrHrLrSrWr\r�rdrkrorrrwr}r�r�r�rlr`r^r@r@`s������*�*�*����
������
7�7�7�B�B�B�5�5�5�6�6�6�L�L�L����
���
���5�5�5����=�=�=�B�B�B�!�!�!�!�!r`r@�	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_duplicatesrVs
             r^�template_replacer��sU��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�	7�,�3�3�A�6�6�6��+�+r`c��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��rY�actualr�s   r^�:test_two_templates_two_replacements_yields_correct_renderszSTemplateReplacementTests.test_two_templates_two_replacements_yields_correct_renders&sh��!�+�-=�>�%�v�.�#�X�.���
�
�
��
�
�
��	
�����*�*�*�*�*r`c�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_templates6se��!�+�W�5�%�v�.�#�X�.���
�
�
��
(�&�
��	
�����*�*�*�*�*r`N)rirjrkr�r�rlr`r^r�r�$s2������+�+�+� +�+�+�+�+r`r�c�*�eZdZdZd�Zd�Zd�Zd�ZdS)�GenericAliasSubstitutionTestsa�Tests for type variable substitution in generic aliases.

    Note that the expected results here are tentative, based on a
    still-being-worked-out spec for what we allow at runtime (given that
    implementation of *full* substitution logic at runtime would add too much
    complexity to typing.py). This spec is currently being discussed at
    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|rlr`r^rr�Tr�r`r)rr�rr�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�r�r��	rrr#r�rvr�r��evalr�)rYrr�r�r�generics�tuple_types�tests�alias_template�
args_template�expected_templater��	alias_str�args_str�expected_strs               r^�test_one_parameterz0GenericAliasSubstitutionTests.test_one_parameterOs���C�L�L��
�$�
�
���5�!�!��!�!�!�!�!���
�!�!�!�(�(�(����(��
�
�
��.AF�	�	�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�!Q�"�"�"��6H�	
�	
�1�	�8�\��\�\�	��<�\�X�X���#�{�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|rlr`r^rr��r�r`r)r�dictr r�r))�generic[T1, T2]r�r�)r�r�r�)r�r��generic[int, str])r��[int, str, bool]r�)r�r�r�)r�r�r�)r�z[*tuple_type[int, str, bool]]r�)r�z[int, *tuple_type[str]]r�)r�z[*tuple_type[int], str]r�)r�z$[*tuple_type[int], *tuple_type[str]]r�)r�z([*tuple_type[int, str], *tuple_type[()]]r�)r�z([*tuple_type[()], *tuple_type[int, str]]r�)r�z#[*tuple_type[int], *tuple_type[()]]r�)r�z#[*tuple_type[()], *tuple_type[int]]r�)r�z+[*tuple_type[int, str], *tuple_type[float]]r�)r�z+[*tuple_type[int], *tuple_type[str, float]]r�)r�z1[*tuple_type[int, str], *tuple_type[float, bool]]r�)r�r�r�)r��,[tuple_type[int, ...], tuple_type[str, ...]]�3generic[tuple_type[int, ...], tuple_type[str, ...]])r�r�r�)r�z[int, *tuple_type[str, ...]]r�)r�z[*tuple_type[int, ...], str]r�)r��.[*tuple_type[int, ...], *tuple_type[str, ...]]r�)r�r�r�)r�r�r�)r�r�r�)z"generic[T1, *tuple_type[int, ...]]�[str]�#generic[str, *tuple_type[int, ...]]r�r�r�r�r��rYr�r�r�rr�r�r�r�r�r�r�r�r�r�s               r^�test_two_parametersz1GenericAliasSubstitutionTests.test_two_parameters�s	��
�T�]�]��
�T�]�]��
�$�
�
��&�&�&�&�&���B���&�&�&�(�(�(����(��&
�&
�&
��PAF�	�	�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�!Q�"�"�"��6H�	
�	
�1�	�8�\��\�\�	��<�\�X�X���#�{�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|rlr`r^rr��r�r`rr�r)�generic[T1, bool, T2]r��generic[int, bool, str])r�r�r�r�r�r�r�)rr#r�rvr�r�r�r�)rYr�r�r�rr�r�r�r�r�r�r�r�r�r�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��!�.�.�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� ��.�.�����������������������	
�	�	r�c	�^�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|rlr`r^rr��r�r`r)rr�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�r�r�)r�r�zgeneric[*tuple_type[int, ...]])r�r�r�)r�r�r�)r�r��generic[T, *Ts])r�r��generic[*Ts, T])r�r�r�)r�r�r�)r�r��generic[int, str, bool])�generic[list[T], *Ts]r��generic[list[int]])r�r�zgeneric[list[int], str])r�r�zgeneric[list[int], str, bool])r�r�r�)r�r�r�)r�r�r�)�generic[*Ts, list[T]]r�r�)r�r�zgeneric[int, list[str]])r�r�zgeneric[int, str, list[bool]])r�r�z#generic[int, *tuple_type[int, ...]])r�r�z#generic[*tuple_type[int, ...], int])zgeneric[T1, *Ts, T2]r�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, ...]]r�r�)z&generic[T1, T2, *tuple_type[int, ...]]�[str, bool]z)generic[str, bool, *tuple_type[int, ...]])�&generic[T1, *tuple_type[int, ...], T2]r�r�)r�z[str, bool, float]r�)z!generic[T1, *tuple_type[T2, ...]]r�z#generic[int, *tuple_type[str, ...]])z!generic[*tuple_type[T1, ...], T2]r�z#generic[*tuple_type[int, ...], str])z+generic[T1, *tuple_type[generic[*Ts], ...]]r�z2generic[int, *tuple_type[generic[str, bool], ...]])z+generic[*tuple_type[generic[*Ts], ...], T1]r�z2generic[*tuple_type[generic[int, str], ...], bool]r�r�r�r�r�r�s               r^�test_variadic_parametersz6GenericAliasSubstitutionTests.test_variadic_parameters�s��
�T�]�]��
�T�]�]��
�$�
�
��#�#�#�#�#�������#�#�#�*�*�*����(��0
�0
�0
��dAF�	�	�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�!Q�"�"�"��6H�	
�	
�1�	�8�\��\�\�	��<�\�X�X���#�{�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)rirjrk�__doc__r�r�r�rrlr`r^r�r�Ese��������/�/�/�d@�@�@�D���@L�L�L�L�Lr`r�c�&�eZdZd�Zd�Zd�Zd�ZdS)�UnpackTestsc�@�tttdSrd)rrr�r�s r^�test_accepts_single_typez$UnpackTests.test_accepts_single_type5s���u�S�z����r`c���|�t��5ttttt
fddd��dS#1swxYwYdSrd)r�r�rrr�rZr�s r^�test_rejects_multiple_typesz'UnpackTests.test_rejects_multiple_types8s���
�
�
�y�
)�
)�	+�	+��5��:�u�S�z�)�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s�0A�A�Ac���|�t��5tttttddd��dS#1swxYwYdSrd)r�r�rrr�r�s r^�&test_rejects_multiple_parameterizationz2UnpackTests.test_rejects_multiple_parameterization<s���
�
�
�y�
)�
)�	+�	+��5��:��u�S�z�*�*�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+�	+����	+�	+�	+�	+�	+�	+s�4A�A �#A c��|�t��5t��ddd��dS#1swxYwYdSrd)r�r�rr�s r^�test_cannot_be_calledz!UnpackTests.test_cannot_be_called@s���
�
�
�y�
)�
)�	�	��H�H�H�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��7�;�;N)rirjrkrrr	rrlr`r^rr3sP���������+�+�+�+�+�+�����r`rc���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�Zd�Z d �Z!d!�Z"d"�Z#d#S)$�TypeVarTupleTestsc�j�|�|��s|�d|�d|����dSdS)NzString z does not end with )�endswith�fail)rY�string�tails   r^�assertEndsWithz TypeVarTupleTests.assertEndsWithGsL�����t�$�$�	G��I�I�E��E�E�T�E�E�F�F�F�F�F�	G�	Gr`c��td��}|�|jd��td��}|�|jd��dS)Nr�r�)rr�ri)rYr�r�s   r^�	test_namezTypeVarTupleTests.test_nameKsR��
�$�
�
�������d�+�+�+��5�!�!�������u�-�-�-�-�-r`c�P�td��}|�||��dS�Nr�)rr��rYr�s  r^� test_instance_is_equal_to_itselfz2TypeVarTupleTests.test_instance_is_equal_to_itselfQs+��
�$�
�
������R� � � � � r`c�f�|�td��td����dSr)r�rr�s r^�&test_different_instances_are_differentz8TypeVarTupleTests.test_different_instances_are_differentUs.�����L��.�.��T�0B�0B�C�C�C�C�Cr`c�Z�td��}|�|t��dSr)rr�rs  r^�(test_instance_isinstance_of_typevartuplez:TypeVarTupleTests.test_instance_isinstance_of_typevartupleXs+��
�$�
�
�����b�,�/�/�/�/�/r`c��td��}|�t��5|��ddd��dS#1swxYwYdSr)rr�r�rs  r^�test_cannot_call_instancez+TypeVarTupleTests.test_cannot_call_instance\s���
�$�
�
��
�
�
�y�
)�
)�	�	��B�D�D�D�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�	Ac�|�td��}|�t|t|��dSr)rr�rrs  r^�-test_unpacked_typevartuple_is_equal_to_itselfz?TypeVarTupleTests.test_unpacked_typevartuple_is_equal_to_itselfas3��
�$�
�
��������V�B�Z�0�0�0�0�0r`c�,�td��}|�tt|tt|��|�tt|tt|��dSr)rr�r�rrrs  r^�+test_parameterised_tuple_is_equal_to_itselfz=TypeVarTupleTests.test_parameterised_tuple_is_equal_to_itselfese��
�$�
�
������v�b�z�*�E�&��*�,=�>�>�>�����v�b�z�*�E�&��*�,=�>�>�>�>�>r`c��td��}td��}|�tt|t|ftt|t|f��|�tt|t|ftt|t|f��dS)N�Ts1r�)rr�r�rr)rYr&r�s   r^� tests_tuple_arg_ordering_mattersz2TypeVarTupleTests.tests_tuple_arg_ordering_mattersjs����5�!�!���5�!�!������&��+�v�c�{�*�+��&��+�v�c�{�*�+�	
�	
�	
�	
����&��+�v�c�{�*�+��&��+�v�c�{�*�+�	
�	
�	
�	
�	
r`c��td��}tt|}|�|jt|f��|�|j|f��tt|}|�|jt|f��|�|j|f��dSr)rr�rr�rPrQr)rYr��t1�t2s    r^�*test_tuple_args_and_parameters_are_correctz<TypeVarTupleTests.test_tuple_args_and_parameters_are_correctvs���
�$�
�
��
�6�"�:�
�������v�b�z�m�4�4�4�����*�R�E�2�2�2�
�6�"�:�
�������v�b�z�m�4�4�4�����*�R�E�2�2�2�2�2r`c	�:
�td��}td��}td��}Gd�dtt|��}|tt
fD�]�}|t|}|�|d|d��|�|t|t��|�|ttf|ttf��t|t|}|�|dt|d��|�|tt|t��|�|ttft|ttf��||t||f}|�
t��5|dddd��n#1swxYwY|�
t��5|tddd��n#1swxYwY|�|ttf|ttf��|�|tttf|tttf��|�|ttttf|ttttf��tt||t|t|f}	|�
t��5|	dddd��n#1swxYwY|�
t��5|	tddd��n#1swxYwY|tkr\|�|	ttfttt|dttf��|�|	tttfttt|tttf��|�|	ttttfttt|ttfttf�����dS)Nr�rr�c��eZdZdS)�2TypeVarTupleTests.test_var_substitution.<locals>.GNr|rlr`r^�Gr.�r�r`r/rl)rrr#rrr�r�rvrZrr�r�r�r[)
rYr�rr�r/r��Br�D�Es
          r^r�z'TypeVarTupleTests.test_var_substitutions���
�$�
�
���C�L�L��
�T�]�]��*�*�*�*�*���r�
�#�*�*�*��E�5��	K�	K�A��&��*�
�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�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�#�:��,?�@�@�@��!�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����}�d�2�h�6�7�A��"�"�9�-�-�
�
��"���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��"�"�9�-�-�
�
��%���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��E�z�
G�� � ��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�	KsH�6	H�H	�H	�0I
�
I	�I	�8	N
�
N	�N	�2O�O	�O	c��td��}td��}td��}Gd�dtt|��}|tt
fD]�}||}|�t��5|ttfddd��n#1swxYwY|||f}|�t��5|t|ddd��n#1swxYwY��dS)Nr�rr�c��eZdZdS)�6TypeVarTupleTests.test_bad_var_substitution.<locals>.GNr|rlr`r^r/r5�r�r`r/)
rrr#rrr�r�r�r�rZ�rYr�rr�r/r�r0rs        r^r�z+TypeVarTupleTests.test_bad_var_substitution�sl��
�$�
�
���C�L�L��
�T�]�]��*�*�*�*�*���r�
�#�*�*�*��E�5��	�	�A��"��A��"�"�9�-�-�
�
��#�s�(���
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��!�R�%��A��"�"�9�-�-�
�
��&��*�
�
�
�
�
�
�
�
�
�
�
�
�
����
�
�
�
��
	�	s$�B&�&B*	�-B*	�C5�5C9	�<C9	c�x�td��}td��}td��}Gd�dtt|��}|tfD]�}||t|t
|f}|�t��5|tt|fddd��n#1swxYwY||t|t
|f}|�t��5|tt|t|fddd��n#1swxYwY��dS)Nr�rr�c��eZdZdS)�1TypeVarTupleTests.test_repr_is_correct.<locals>.GNr|rlr`r^r/r9�r�r`r/)	rrr#rrrZr�r�r�r6s        r^�test_repr_is_correctz&TypeVarTupleTests.test_repr_is_correct�s���
�$�
�
���C�L�L��
�T�]�]��*�*�*�*�*���r�
�#�*�*�*��E��	/�	/�A��!�V�B�Z��b�(�)�A��"�"�9�-�-�
#�
#��#�v�b�z�/�"�"�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#�
#����
#�
#�
#�
#��!�V�B�Z��b�(�)�A��"�"�9�-�-�
/�
/��#�v�b�z�6�"�:�-�.�.�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/�
/����
/�
/�
/�
/��	/�	/s$�B:�:B>	�B>	�;'D.�.D2	�5D2	c��td��}|�t|��d��|�tt|��d��|�ttt|��d��|�tt
t|��d��|�tttt|��d��|�ttt
t|��d��dS)Nr�z*Tsz
tuple[*Ts]ztyping.Tuple[*Ts]z*tuple[*Ts]z*typing.Tuple[*Ts])rr�r�rr�rrs  r^r:z&TypeVarTupleTests.test_repr_is_correct�s���
�$�
�
������b���4�(�(�(�����f�R�j�)�)�5�1�1�1�����e�F�2�J�/�0�0�,�?�?�?�����e�F�2�J�/�0�0�2E�F�F�F�����f�U�6�"�:�%6�7�8�8�-�H�H�H�����f�U�6�"�:�%6�7�8�8�:N�O�O�O�O�Or`c
���td��}Gd�dtt|��}|�t	|d��d��|�t	|t
��d��|�t	|t
tf��d��|�t	|tttdf��d	��|�t	|t
tttdff��d
��|�t	|tttdftf��d��|�t	|t
tttdftf��d��dS)
Nr�c��eZdZdS)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.ANr|rlr`r^r�r>�r�r`r�rl�A[()]�A[float]�
A[float, str].zA[*tuple[int, ...]]zA[float, *tuple[int, ...]]zA[*tuple[int, ...], str]zA[float, *tuple[int, ...], str])	rr#rrr�rvrZr�r�)rYr�r�s   r^�#test_variadic_class_repr_is_correctz5TypeVarTupleTests.test_variadic_class_repr_is_correct�s���
�$�
�
��*�*�*�*�*���r�
�#�*�*�*����D��2��K�K��1�1�1����D��5��N�N�J�7�7�7����D��5�#�:��/�/��A�A�A����D��6�%��S��/�#:�!;�<�<�1�	3�	3�	3����D��5�&��s�C�x��*A�#A�!B�C�C�8�	:�	:�	:����D��6�%��S��/�#:�C�#?�!@�A�A�6�	8�	8�	8����D��5�&��s�C�x��*A�3�#F�!G�H�H�=�	?�	?�	?�	?�	?r`c�t�td��}Gd�dtt|��}|t|}|�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��|tt|f}|�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��|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|rlr`r^r�rE�r�r`r�zA[*Ts]rlr?r@rAzA[*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, ...]])	rr#rrr�rvrZr�r�)rYr�r�r0rr1r2�Fs        r^�)test_variadic_class_alias_repr_is_correctz;TypeVarTupleTests.test_variadic_class_alias_repr_is_correct�s1��
�$�
�
��*�*�*�*�*���r�
�#�*�*�*�
�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�
�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�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�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�
�f�R�j�&��s�C�x��1�1�2�����D��G�G�%?�@�@�@����D��2��K�K�)>�?�?�?����D��5��N�N�,H�I�I�I����D��5�#�:��/�/�1R�S�S�S�S�Sr`c��|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�7TypeVarTupleTests.test_cannot_subclass_class.<locals>.CNr|rlr`r^rrJr�r`r)r�r�rrs  r^�test_cannot_subclass_classz,TypeVarTupleTests.test_cannot_subclass_class�s���
�
�
�y�
)�
)�	(�	(�'�'�'�'�'�L�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�	(�	(rpc�<�td��}|�t��5Gd�d|��}ddd��n#1swxYwY|�t��5Gd�dt|��}ddd��dS#1swxYwYdS)Nr�c��eZdZdS��:TypeVarTupleTests.test_cannot_subclass_instance.<locals>.CNr|rlr`r^rrOr�r`rc��eZdZdSrNr|rlr`r^rz:TypeVarTupleTests.test_cannot_subclass_instance.<locals>.Cr�r`)rr�r�r�rYr�rs   r^�test_cannot_subclass_instancez/TypeVarTupleTests.test_cannot_subclass_instances(��
�$�
�
��
�
�
�y�
)�
)�	�	������B����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	&�	&�%�%�%�%�%�F�2�J�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&s#�A�A	�A	�*B�B�Bc�R�td��}td��}Gd�dtt|��}|d}|�|jd��|t}|�|jtf��|ttf}|�|jttf��||}|�|j|f��|t|}|�|jt|f��||t|f}	|�|	j|t|f��|t||f}
|�|
jt||f��dS)Nrr�c��eZdZdS)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.ANr|rlr`r^r�rUr�r`r�rl)rrr#rr�rPr�rZ)rYrr�r�r0rr1r2rFr/�Hs           r^�$test_variadic_class_args_are_correctz6TypeVarTupleTests.test_variadic_class_args_are_correct	sb���C�L�L��
�$�
�
��*�*�*�*�*���r�
�#�*�*�*�
�b�E�������R�(�(�(�
�c�F�������c�V�,�,�,�
�c�3�h�K�������c�3�Z�0�0�0�
�a�D�������a�T�*�*�*�
�f�R�j�M�������f�R�j�]�3�3�3�
�a����m��������a����_�5�5�5�
�f�R�j�!�m��������f�R�j�!�_�5�5�5�5�5r`c�\�td��}Gd�dtt|��}|�|tj|��|�|tj|��|�|t|j|��dS)Nr�c��eZdZdS)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.DNr|rlr`r^r1rZr�r`r1)rr#rr�r�rRr)rYr�r1s   r^�%test_variadic_class_origin_is_correctz7TypeVarTupleTests.test_variadic_class_origin_is_corrects���
�$�
�
��*�*�*�*�*���r�
�#�*�*�*��
�
�a��f�'��+�+�+��
�
�a��d�o�q�)�)�)��
�
�a��r�
�m�.��2�2�2�2�2r`c���td��}|�tt|jt|f��|�t
t|jt|f��|�tt|tfjt|tf��|�t
t|tfjt|tf��|�ttt|fjtt|f��|�t
tt|fjtt|f��|�ttt|tfjtt|tf��|�t
tt|tfjtt|tf��|�tt|tfjt|tf��|�t
t|jt|f��dSr)rr�r�rrPrr�rZrs  r^�test_tuple_args_are_correctz-TypeVarTupleTests.test_tuple_args_are_correct#s���
�$�
�
������v�b�z�*�3�f�R�j�]�C�C�C�����v�b�z�*�3�f�R�j�]�C�C�C�����v�b�z�3��/�8�6�"�:�s�:K�L�L�L�����v�b�z�3��/�8�6�"�:�s�:K�L�L�L�����s�F�2�J��/�8�3��r�
�:K�L�L�L�����s�F�2�J��/�8�3��r�
�:K�L�L�L�����s�F�2�J��3�4�=��v�b�z�3�/�	1�	1�	1�����s�F�2�J��3�4�=��v�b�z�3�/�	1�	1�	1�	
����v�b�z�3��/�8�6�"�:�s�:K�L�L�L�����v�b�z�*�3�f�R�j�]�C�C�C�C�Cr`c	��td��}td��}td��}tt|gdf}|�|jt|td��f��ttt|gdf}|�|jtt|td��f��tt|tgdf}|�|jt|ttd��f��ttt|tgdf}|�|jtt|ttd��f��tdgt|f}|�|jtd��t|f��tdgttt|ff}	|�|	jtd��ttt|ff��tdgtt|tff}
|�|
jtd��tt|tff��tdgttt|tff}|�|jtd��ttt|tff��tt|gt|f}|�|jt|t|f��tt|gt|f}
|�|
jt|t|f��dS)Nr�r&r�)	rr"rr�rPr�r�rZr�)rYr�r&r�r��b�c�d�erg�g�h�i�js              r^�test_callable_args_are_correctz0TypeVarTupleTests.test_callable_args_are_correct7s���
�$�
�
���5�!�!���5�!�!��
�f�R�j�\�4�'�(�������f�R�j�$�t�*�*�%=�>�>�>��c�6�"�:�&��,�-�������c�6�"�:�t�D�z�z�%B�C�C�C��f�R�j�#�&��,�-�������f�R�j�#�t�D�z�z�%B�C�C�C��c�6�"�:�s�+�T�1�2�������c�6�"�:�s�D��J�J�%G�H�H�H�
�d�V�V�B�Z�'�(�������d�4�j�j�&��*�%=�>�>�>��d�V�U�3��r�
�?�3�3�4�������d�4�j�j�%��V�B�Z��2H�%I�J�J�J��d�V�U�6�"�:�s�?�3�3�4�������d�4�j�j�%��r�
�C��2H�%I�J�J�J��d�V�U�3��r�
�C�#7�8�8�9�������d�4�j�j�%��V�B�Z��8L�2M�%N�O�O�O�
�f�R�j�\�6�"�:�-�.�������f�R�j�&��*�%=�>�>�>��f�S�k�]�F�3�K�/�0�������f�S�k�6�#�;�%?�@�@�@�@�@r`c
���td��}td��}|�t��5Gd�dtt|t|f��}ddd��n#1swxYwY|�t��5Gd�dtt|t|t|f��}ddd��dS#1swxYwYdS)Nr&r�c��eZdZdS��STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.CNr|rlr`r^rrkdr�r`rc��eZdZdSrjr|rlr`r^rzSTypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.Cfr�r`)rr�r�r#r)rYr&r�rs    r^�6test_variadic_class_with_duplicate_typevartuples_failszHTypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails`so���5�!�!���5�!�!��
�
�
�y�
)�
)�	=�	=�<�<�<�<�<�G�F�3�K����4�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�	Js#�2A7�7A;�>A;�>C'�'C+�.C+c�l�td��}Gd�dtt|��}|tt|f|t|tf|tt|tf|tt
t|ttfdS)Nr�c��eZdZdS)�]TypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeeds.<locals>.CNr|rlr`r^rrpjr�r`r)rr#rr�rZ�boolrvrQs   r^�@test_type_concatenation_in_variadic_class_argument_list_succeedszRTypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeedshs���
�$�
�
��*�*�*�*�*���r�
�#�*�*�*�	�#�v�b�z�/���	�&��*�c�/���	�#�v�b�z�3�
���	�#�t�V�B�Z���
+�,�,�,�,r`c�t�td��}ttt|ftt|tfttt|tfttt
t|ttfttt|ftt|tfttt|tfttt
t|ttfdSr)rr�r�rrZrqrvrrs  r^�7test_type_concatenation_in_tuple_argument_list_succeedszITypeVarTupleTests.test_type_concatenation_in_tuple_argument_list_succeedsps���
�$�
�
��
�c�6�"�:�o���
�f�R�j�#�o���
�c�6�"�:�s�"�#�#�
�c�4����U�C�/�0�0�
�c�6�"�:�o���
�f�R�j�#�o���
�c�6�"�:�s�"�#�#�
�c�4����U�C�/�0�0�0�0r`c��td��}|�t��5Gd�dt|��}ddd��dS#1swxYwYdS)Nr�c��eZdZdS)�[TypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_fails.<locals>.CNr|rlr`r^rrw�r�r`r)rr�r�r#rQs   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�dtt|t
f��}ddd��dS#1swxYwYdS)Nr�c��eZdZdS)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.ENr|rlr`r^r2r{�r�r`r2)rr�r�r#rr�)rYr�r2s   r^�9test_variadic_class_definition_using_concrete_types_failszKTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails�s���
�$�
�
��
�
�
�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'c	��td��}td��}td��}Gd�dt||t|f��}|tt
f|tt
tf|tt
ttfGd�dt|t||f��}|tt
f|tt
tf|tt
ttfGd�d	tt|||f��}|tt
f|tt
tf|tt
ttfdS)
Nr�r�r�c��eZdZdS)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ANr|rlr`r^r�r�r�r`r�c��eZdZdS)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.BNr|rlr`r^r0r��r�r`r0c��eZdZdS)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.CNr|rlr`r^rr��r�r`r)rrr#rr�rZrvrq)rYr�r�r�r�r0rs       r^�:test_variadic_class_with_2_typevars_accepts_2_or_more_argszLTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args�s?��
�$�
�
��
�T�]�]��
�T�]�]��2�2�2�2�2���B��r�
�*�+�2�2�2�	�#�s�(���	�#�s�E�/���	�#�s�E�4�
� � �2�2�2�2�2���F�2�J��*�+�2�2�2�	�#�s�(���	�#�s�E�/���	�#�s�E�4�
� � �2�2�2�2�2���r�
�B��*�+�2�2�2�	�#�s�(���	�#�s�E�/���	�#�s�E�4�
� � � � r`c��td��}dt|fd�}|�|jdt|i��dS)Nr�r�c��dSrdrl�r�s r^rgzGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.f�r�r`)rrr�r�)rYr�rgs   r^�*test_variadic_args_annotations_are_correctz<TypeVarTupleTests.test_variadic_args_annotations_are_correct�sL��
�$�
�
��&�V�B�Z�&�&�&�&�����*�V�V�B�Z�,@�A�A�A�A�Ar`c��td��}dtttdffd�}|�|jdtttdfi��dtttdffd�}|�|jdtttdfi��dS)Nr�r�.c��dSrdrlr�s r^r�zUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.a�r�r`c��dSrdrlr�s r^r_zUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.b�r�r`)rrr�r�r�r�r)rYr�r�r_s    r^�8test_variadic_args_with_ellipsis_annotations_are_correctzJTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct�s���
�$�
�
��3�V�E�#�s�(�O�,�3�3�3�3�����*� �&��s�C�x��"9�:�	<�	<�	<�	4�V�E�#�s�(�O�,�3�3�3�3�����*� �&��s�C�x��"9�:�	<�	<�	<�	<�	<r`c��td��}dtttt|ffd�}|�|jdtttt|fi��dttt|tffd�}|�|jdttt|tfi��dtttt|tffd�}|�|jdtttt|tfi��dttttt|ttffd�}|�|jdttttt|ttfi��dtttt|ffd�}|�|jdtttt|fi��dttt|tffd�}|�|jdttt|tfi��dtttt|tffd	�}|�|jdtttt|tfi��dttttt|ttffd
�}	|�|	jdttttt|ttfi��dS)Nr�r�c��dSrdrlr�s r^r�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.a�r�r`c��dSrdrlr�s r^r_zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.b�r�r`c��dSrdrlr�s r^r`zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.c�r�r`c��dSrdrlr�s r^razXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.d�r�r`c��dSrdrlr�s r^rbzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.e�r�r`c��dSrdrlr�s r^rgzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.f�r�r`c��dSrdrlr�s r^rczXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.g�r�r`c��dSrdrlr�s r^rdzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.h�r�r`)
rrr�r�r�r�rZrqrvr)
rYr�r�r_r`rarbrgrcrds
          r^�;test_concatenation_in_variadic_args_annotations_are_correctzMTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct�s-��
�$�
�
��	;�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�	
�	
�	
�	;�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�	
�	
�	
�	
�	
r`c���td��}Gd�dtt|��}|�|t|t��td��}td��}|�|t||t|��|�|t|t|f|t|t|f��|�|tt|t|f|tt|t|f��dS)Nr�c��eZdZdS)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.CNr|rlr`r^rr��r�r`rr&r�)rr#rr�r��rYr�rr&r�s     r^�0test_variadic_class_same_args_results_in_equaltyzBTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty�s.��
�$�
�
��*�*�*�*�*���r�
�#�*�*�*�����3���3��(�(�(��5�!�!���5�!�!�����
�f�S�k�N�
�f�S�k�N�	
�	
�	
�	
���
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
�	
�	
�	
���
�c�6�#�;��s��+�,�
�c�6�#�;��s��+�,�	
�	
�	
�	
�	
r`c��td��}Gd�dtt|��}|�|tt
f|t
tf��td��}td��}|�|t|t|f|t|t|f��dS)Nr�c��eZdZdS)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.CNr|rlr`r^rr��r�r`rr&r�)rr#rr�r�rZr�s     r^�(test_variadic_class_arg_ordering_mattersz:TypeVarTupleTests.test_variadic_class_arg_ordering_matters�s���
�$�
�
��*�*�*�*�*���r�
�#�*�*�*����
�c�3�h�K�
�c�3�h�K�	
�	
�	
�
�5�!�!���5�!�!�����
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
�	
�	
�	
�	
r`c��td��}Gd�dtt|��}td��}td��}|�|t||t|��dS)Nr�c��eZdZdS)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.CNr|rlr`r^rr�	r�r`rr&r�)rr#rr�r�s     r^�5test_variadic_class_arg_typevartuple_identity_matterszGTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matterssx��
�$�
�
��*�*�*�*�*���r�
�#�*�*�*��5�!�!���5�!�!�����A�f�S�k�N�A�f�S�k�N�;�;�;�;�;r`N)$rirjrkrrrrrr r"r$r'r+r�r�r:rBrGrKrRrWr[r]rgrmrrrtrxr|r�r�r�r�r�r�r�rlr`r^rrEs1������G�G�G�.�.�.�!�!�!�D�D�D�0�0�0����
1�1�1�?�?�?�


�

�

�3�3�3�%K�%K�%K�N
�
�
�/�/�/�P�P�P�?�?�?�  T� T� T�D(�(�(�&�&�&�6�6�6�&3�3�3�D�D�D�('A�'A�'A�RJ�J�J�-�-�-�1�1�1�'�'�'�
4�4�4�
!�!�!�(B�B�B�
	<�	<�	<�5
�5
�5
�n
�
�
�*
�
�
� <�<�<�<�<r`rc�P�eZdZed���Zed���Zed���ZdS)�TypeVarTuplePicklingTestsc��td��atjtjt|����}|�t|��dS)N�
global_Ts1)rr�rt�loads�dumpsr�)rYrr�
global_Ts2s   r^�6test_pickling_then_unpickling_results_in_same_identityzPTypeVarTuplePicklingTests.test_pickling_then_unpickling_results_in_same_identitysF��"�,�/�/�
��\�&�,�z�5�"A�"A�B�B�
��
�
�j�*�-�-�-�-�-r`c���td��att}tjtj||����}|�||��dS)N�	global_Ts)rr�rrtr�r�r�)rYrr�	unpacked1�	unpacked2s    r^�?test_pickling_then_unpickling_unpacked_results_in_same_identityzYTypeVarTuplePicklingTests.test_pickling_then_unpickling_unpacked_results_in_same_identitysP��!��-�-�	��9�%�	��L���i��!?�!?�@�@�	��
�
�i��+�+�+�+�+r`c�z�td��atd��att
t}t
jt
j||����}|�	||��ttt
tf}t
jt
j||����}|�	||��ttt
tf}t
jt
j||����}|�	||��dS)N�global_Tr�)rr�rr�rrrtr�r�r�rr�)rYrr�a1�a2s    r^�>test_pickling_then_unpickling_tuple_with_typevartuple_equalityzXTypeVarTuplePicklingTests.test_pickling_then_unpickling_tuple_with_typevartuple_equality$s���
�:�&�&�� ��-�-�	�
�6�)�$�
%��
�\�&�,�r�5�1�1�
2�
2������R� � � �
�1�f�Y�'�'�
(��
�\�&�,�r�5�1�1�
2�
2������R� � � �
�3��y�)�)�
*��
�\�&�,�r�5�1�1�
2�
2������R� � � � � r`N)rirjrkryr�r�r�rlr`r^r�r�sh�������.�.���.��,�,���,��!�!���!�!�!r`r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�ZdS)�
UnionTestsc�n�tttf}|�|t��dSrd)rr�rvr��rY�us  r^r
zUnionTests.test_basics;s,���#�u�*������A�u�%�%�%�%�%r`c���|�t��5ttt��ddd��n#1swxYwY|�t��5ttt��ddd��n#1swxYwY|�t��5tttt
ft��ddd��dS#1swxYwYdSrd)r�r�rVr�rrZr�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��dSrd)rr
r�r��objectr�)rYr��u1�u2�u3s     r^�test_union_anyzUnionTests.test_union_anyGs����#�J������C� � � �
�3��8�_��
�3��8�_��
�3��;�
������R� � � ����B��$�$�$����B��$�$�$����B��$�$�$�$�$r`c�\�tt}|�|t��tttf}tttf}|�||��|�|t��|�|t��dSrd)rr�r�r�r�)rYr�r�r�s    r^�test_union_objectzUnionTests.test_union_objectRs����&�M������F�#�#�#�
�3��;�
��
�6�3�;�
������R� � � ����B��'�'�'����B��'�'�'�'�'r`c��tttf}tttf}|�||��dSrd)rr�rvr�)rYr�r�s   r^�test_unorderedzUnionTests.test_unordered[s:��
�3��:�
��
�5�#�:�
������R� � � � � r`c�`�tt}|�|t��dSrd)rr{r�)rY�ts  r^�test_single_class_disappearsz'UnionTests.test_single_class_disappears`s%���(�O���
�
�a��"�"�"�"�"r`c���tttf}|�|t��|�t|j��|�t|j��dSrd)rr{rr��assertInrPr�s  r^�test_base_class_keptzUnionTests.test_base_class_keptdsY���(�G�#�$�����A�x�(�(�(��
�
�h��
�+�+�+��
�
�g�q�z�*�*�*�*�*r`c���tttf}t|tf}|�|ttttf��dSrd)rr�rvr{r�)rYr��vs   r^�test_union_unionzUnionTests.test_union_unionjsF���#�u�*����!�X�+�������E�#�u�h�"6�7�8�8�8�8�8r`c��|�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�rirrr�r�rZrvr)rYr�rs   r^r�zUnionTests.test_repros�������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�9r`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|rlr`r^rr��r�r`rc��eZdZdSr�r|rlr`r^rz*UnionTests.test_cannot_subclass.<locals>.C�r�r`c��eZdZdSr�r|rlr`r^rz*UnionTests.test_cannot_subclass.<locals>.C�r�r`)r�r�rr�r�rZrs  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#1swxYwYdSrd)r�r�rr�r�rvr�s  r^r�z"UnionTests.test_cannot_instantiate�s���
�
�
�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��dSrd)r�rrZrM�Iterabler�r�rPr�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�Vr`c���|�tt��|�tt��|�tt��|�t
t��|�dgt
��|�t
tj��|�t
tjt��dSrd)	r�rr�r
r$rrM�Mappingr!r�s r^�test_union_compare_otherz#UnionTests.test_union_compare_other�s������E�6�*�*�*����E�3�'�'�'����H�e�,�,�,����H�e�,�,�,����T�F�H�-�-�-����H�f�n�5�5�5����H�V�%:�;�U�C�C�C�C�Cr`c�~�tt}ttdf}|�||��dSrd)rr�rr�)rY�or�s   r^�
test_optionalzUnionTests.test_optional�s5���S�M���#�t�)�������A�����r`c��|�t��5tdddd��dS#1swxYwYdS�Nrl)r�r�rr�s r^�
test_emptyzUnionTests.test_empty�s���
�
�
�y�
)�
)�	�	��"�I�I�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	��6�:�:c��tttf}d|fd�}|�t	|��d|��dS)NrVc��dSrdrl�rVs r^rgz(UnionTests.test_no_eval_union.<locals>.f�r�r`)rr�rZr�r+)rYr�rgs   r^�test_no_eval_unionzUnionTests.test_no_eval_union�sG���#�s�(�O���������
�
�n�Q�'�'��,�a�0�0�0�0�0r`c��dtfd�}|�tt|tf��d��dS)Nr�c��dSrdrlrlr`r^�funz0UnionTests.test_function_repr_union.<locals>.fun�r�r`ztyping.Union[fun, int])r�r�r�r)rYr�s  r^�test_function_repr_unionz#UnionTests.test_function_repr_union�s@���S���������e�C��H�o�.�.�0H�I�I�I�I�Ir`c�<�tttf}|dSrd)rrZr=r�s  r^�test_union_str_patternz!UnionTests.test_union_str_pattern�s���#�w�,���	���r`c�n��ddlm�t�tf�fd�}t|tfdS)Nr)�Elementc����|�Srdrl)r�r�s �r^�Elemz#UnionTests.test_etree.<locals>.Elem�s����7�D�>�!r`)�xml.etree.ElementTreer�rrZ)rYr�r�s  @r^�
test_etreezUnionTests.test_etree�sV���	2�1�1�1�1�1�
�g�s�l���	"�	"�	"�	"�	"�	�d�C�i����r`N)rirjrkr
r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rlr`r^r�r�9s:������&�&�&�-�-�-�	%�	%�	%�(�(�(�!�!�!�
#�#�#�+�+�+�9�9�9�
:�:�:�2	�	�	�	�	�	�W�W�W�D�D�D����
���1�1�1�
J�J�J�
�
�
�

�
�
�
�
r`r�c�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|rlr`r^�TPr��r�r`r�)r�r�rVrr�rZr�r_)rYr�s  r^r
zTupleTests.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_equality�s�������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�8r`c���Gd�dt��}|�|t��|�tt��|�tt��dS)Nc��eZdZdS)�/TupleTests.test_tuple_subclass.<locals>.MyTupleNr|rlr`r^�MyTupler����������Dr`r)r�r_r)rYrs  r^�test_tuple_subclasszTupleTests.test_tuple_subclass�st��	�	�	�	�	�e�	�	�	����g�u�-�-�-����e�U�+�+�+����e�U�+�+�+�+�+r`c���|�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_error�s���
�
�
�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.Tuplerlztyping.Tuple[()]ztyping.Tuple[int, float].ztyping.Tuple[int, ...]ztyping.Tuple[list[int]])r�r�rr�rvr�r�s r^r�zTupleTests.test_repr�s�������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�Kr`c�:�|�t��5tdt��ddd��n#1swxYwY|�t��5tdtt��ddd��dS#1swxYwYdSr�)r�r�rVrr�r�s r^r�zTupleTests.test_errors�s��
�
�
�y�
)�
)�	"�	"��r�5�!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	'�	'��r�5��:�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	's!�=�A�A�"!B�B�BN)	rirjrkr
r�rrr�r�rlr`r^r�r��sq������)�)�)�9�9�9�,�,�,�-�-�-�
L�L�L�'�'�'�'�'r`r�c�z�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�ZdS)�BaseCallableTestsc�>�|j}|�t��5ttj|tgtf��ddd��n#1swxYwY|�tj|��|�||��dSrd)r"r�r�rV�types�FunctionTyper�r_�rYr"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)Nro.)r"r�r�r�r�rZ)rYr"rs   r^�test_eq_hashzBaseCallableTests.test_eq_hashs'���=���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�(�(�(�(�(r`c�T�|j}|�t��5|��ddd��n#1swxYwY|�t��5t|����ddd��n#1swxYwY|tgt
f}|�t��5|��ddd��n#1swxYwY|�t��5t|����ddd��dS#1swxYwYdSrd)r"r�r�r�r�rZ)rYr"r`s   r^r�z)BaseCallableTests.test_cannot_instantiates���=��
�
�
�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#1swxYwYdSrd)r"r�r�r�rs  r^�test_callable_wrong_formsz+BaseCallableTests.test_callable_wrong_formss����=��
�
�
�y�
)�
)�	�	��S�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�=�A�Ac�r�|j}d�}|�||��|�d|��dS)Nc��dSrdrlrlr`r^rgz9BaseCallableTests.test_callable_instance_works.<locals>.f%����Dr`)r"r�r��rYr"rgs   r^�test_callable_instance_worksz.BaseCallableTests.test_callable_instance_works#sJ���=��	�	�	����a��*�*�*�� � ��x�0�0�0�0�0r`c��|j}d�}|�t��5|�||gdf��ddd��n#1swxYwY|�t��5|�||gtf��ddd��n#1swxYwY|�t��5|�d|gdf��ddd��n#1swxYwY|�t��5|�d|gtf��ddd��dS#1swxYwYdS)Nc��dSrdrlrlr`r^rgz>BaseCallableTests.test_callable_instance_type_error.<locals>.f,rr`)r"r�r�r�r
r�rs   r^�!test_callable_instance_type_errorz3BaseCallableTests.test_callable_instance_type_error*sG���=��	�	�	�
�
�
�y�
)�
)�	9�	9��!�!�!�X�b�$�h�%7�8�8�8�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9�	9����	9�	9�	9�	9�
�
�
�y�
)�
)�	8�	8��!�!�!�X�b�#�g�%6�7�7�7�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8�	8����	8�	8�	8�	8�
�
�
�y�
)�
)�	?�	?��$�$�T�8�B��H�+=�>�>�>�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?�	?����	?�	?�	?�	?�
�
�
�y�
)�
)�	>�	>��$�$�T�8�B��G�+<�=�=�=�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>�	>����	>�	>�	>�	>�	>�	>sG�A�A�A�5$B%�%B)�,B)�
C5�5C9�<C9�$E�E�Ec��|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"rjrqr�r�rZrvr�r�)rYr"�fullname�ct0�ct2�ctv�ct3s       r^r�zBaseCallableTests.test_repr7s����=���)�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�Kr`c���|j}d|dtffd�}|�t|t	��t����d|dtfi��dS)Nr�.c��dSrdrl�r�s r^�fooz:BaseCallableTests.test_callable_with_ellipsis.<locals>.fooErr`)r"rr�r+�globals�locals)rYr"r%s   r^�test_callable_with_ellipsisz-BaseCallableTests.test_callable_with_ellipsisCsx���=��	�8�C��F�#�	�	�	�	�	
�����W�Y�Y����A�A��x��Q��/�0�	2�	2�	2�	2�	2r`c�R�|j}tj|dtfdSr�)r"rMrrZrs  r^�test_ellipsis_in_genericz*BaseCallableTests.test_ellipsis_in_genericKs%���=����H�S�#�X�&�'�'�'�'r`c���|j}|�|tzt|tf��|�t|ztt|f��dSrd)r"r�rrrs  r^�test_or_and_rorz!BaseCallableTests.test_or_and_rorPsW���=������E�)�5��5��+A�B�B�B������)�5����+A�B�B�B�B�Br`c��|j}|ttgtf}|tjjur |�|tj��|�	|j
tjj��|�|jtttf��|�|j
d��dSr�)r"r�rZrv�collections�abcr�r
�GenericAliasr�rRr�rPrQ�rYr"r�s   r^�
test_basiczBaseCallableTests.test_basicUs����=���#�s��U�*�+���{��/�/�	=��!�!�%��);�<�<�<��
�
�e�&���(@�A�A�A������#�s�E�):�;�;�;�����-�r�2�2�2�2�2r`c��|j}|ttgtf}|�tj|����|��dSrd)r"r�rZrvr��weakref�refr1s   r^�test_weakrefzBaseCallableTests.test_weakref^sK���=���#�s��U�*�+�����+���U�+�+�-�-�u�5�5�5�5�5r`c��|j}|ttgtf}t	t
jdz��D]�}tj||��}tj|��}|�	|j
|j
��|�	|j|j��|�	|j|j����dSr)
r"r�rZrvrsrtrur�r�r�rRrPrQ)rYr"r�rr�s�loadeds      r^�test_picklezBaseCallableTests.test_picklecs����=���#�s��U�*�+���6�2�Q�6�7�7�	J�	J�E���U�E�*�*�A��\�!�_�_�F����U�-�v�/@�A�A�A����U�^�V�_�=�=�=����U�1�6�3H�I�I�I�I�	J�	Jr`c��|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"rjr�rrrr�rZr�rvrr�r�rMrr�)rYr"r�C1�C2�C3�C4�C5s        r^r�z'BaseCallableTests.test_var_substitutionms"���=���)�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�	Tr`c��|j}Gd�d|��}|tgtf}|�|��j|��|�|��j|tgtf��dS)Nc��eZdZd�ZdS)�/BaseCallableTests.test_type_erasure.<locals>.C1c��dSrdrlr�s r^�__call__z8BaseCallableTests.test_type_erasure.<locals>.C1.__call__�����tr`N)rirjrkrErlr`r^r<rC�s#������
�
�
�
�
r`r<)r"r�rr��	__class__r��__orig_class__)rYr"r<r�s    r^�test_type_erasurez#BaseCallableTests.test_type_erasure�s����=��	�	�	�	�	��	�	�	�
��u�a�x�L���
�
�a�a�c�c�m�R�(�(�(��������+�R���q��\�:�:�:�:�:r`c���|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)	Nrr��P2.z[~P, ~T]z[[int, str], str]z	[~P, int]z[[int, str], int])r"rjrDrr�r�rZrEr�r�r�)rYr"rr�rKr<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)Nrrr�rKz![typing.Concatenate[int, ~P], ~T].z"[typing.Concatenate[int, ~P], int])
r"rjrrDrEr�r�r�rZrv)rYr"rrr�rKrs       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�Fr`c�"�|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�rZrvr�r�rDr)rYr"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)rirjrkr
rr�rrrr�r(r*r,r2r6r:r�rIrLrNr�rlr`r^rr�s5������2�2�2�
)�
)�
)�
�
�
����
1�1�1�>�>�>�
L�
L�
L�2�2�2�(�(�(�
C�C�C�
3�3�3�6�6�6�
J�J�J�T�T�T�0;�;�;� M� M� M�DG�G�G�6
�
�
�
�
r`rc�"�eZdZejZd�ZdS)�TypingCallableTestsc�X�tjttgtf}t
jjttgtf}|�|j|j��|�t|j��t|j����dSrd)
rMr"r�rZr�r.r/r�rP�hash)rY�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���,=�,=�>�>�>�>�>r`N)rirjrkrMr"rXrlr`r^rSrS�s*��������H�?�?�?�?�?r`rSc�&�eZdZejjZdS)�CollectionsCallableTestsN)rirjrkr.r/r"rlr`r^rZrZ�s��������'�H�H�Hr`rZc�V�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
S)�LiteralTestsc��tdtdtdtdtdtdttdtdftddS)	Nro�ror��)rV�y�zT)ro�2F�ror����)sfoor)rr�s r^r
zLiteralTests.test_basics�sg����
�
������
�����
�
���
�
��
������
�w�t�}�,�-�-������r`c��tttdtddd�ttdS)N)y@@.rlr_re�r%r)rr�rr�s r^�3test_illegal_parameters_do_not_raise_runtime_errorsz@LiteralTests.test_illegal_parameters_do_not_raise_runtime_errors�s8��	������ � ���!�$�$�%�%���
�
�
�
r`c�f�ttdttddS)Nr^)r%r�baz)rrr�s r^� test_literals_inside_other_typesz-LiteralTests.test_literals_inside_other_types�s)���W�W�
����W�*�
+�,�,�,�,r`c�,�|�ttd��d��|�ttd��d��|�ttt��d��|�tt��d��|�ttd��d��|�ttd��d	��dS)
Nroztyping.Literal[1])roTr%ztyping.Literal[1, True, 'foo']ztyping.Literal[int]ztyping.Literalztyping.Literal[None]�ror�r_r_ztyping.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�Nr`c�X�|�t��5t��ddd��n#1swxYwY|�t��5td��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5ttd����ddd��dS#1swxYwYdSr)r�r�rr�r�s r^rzLiteralTests.test_cannot_inits���
�
�
�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#1swxYwYdSr)r�r�r�rr�rVr�s r^� test_no_isinstance_or_issubclassz-LiteralTests.test_no_isinstance_or_issubclasss��
�
�
�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|rlr`r^rrtr�r`rroc��eZdZdS)�-LiteralTests.test_no_subclassing.<locals>.BarNr|rlr`r^�Barrvr�r`rw�r�r�r)rYrrws   r^�test_no_subclassingz LiteralTests.test_no_subclassings��
�
�
�y�
)�
)�	(�	(�'�'�'�'�'�g�a�j�'�'�'�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(�	(����	(�	(�	(�	(�
�
�
�y�
)�
)�	%�	%�$�$�$�$�$�g�$�$�$�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%�	%����	%�	%�	%�	%�	%�	%s#�A�A�A�&B�B�Bc��|�t��5tddddd��dS#1swxYwYdSrrxr�s r^�test_no_multiple_subscriptsz(LiteralTests.test_no_multiple_subscripts!s���
�
�
�y�
)�
)�	�	��A�J�q�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rpc��|�tdtd��|�tdtd��|�tdtd��|�tdtd��|�tdtd��|�tdtd	��|�tdtd��|�tdtd
��|�tdtd��dS)
NrFTror�)roT)rororc�Tr��r�ror^rn)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�:�+>�?�?�?�?�?r`c��|�ttd��ttd����|�ttd��ttd����|�ttd��ttd����dS)Nrorcr~r^rn)r�rUrr�s r^�	test_hashzLiteralTests.test_hash0s�������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�Kr`c�p�|�tdjd��|�tdjd��|�tdtdtdfjd��|�tggfjggf��dS)Nr^rnror�)r_re)ror�r_re)r�rrPr�s r^�	test_argszLiteralTests.test_args5s��������)�2�I�>�>�>������,�5�y�A�A�A������G�A�J���
�!=�>�G��V�V�V������R���1�B��8�<�<�<�<�<r`c�T�ttdtdtdf}ttddf}ttd}|||fD]>}|�|td��|�|jd���?dS)Nror�r_rcr^)rr�rP)rY�l1�l2�l3�ls     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�	4r`N)rirjrkr
rirlr�rrqryr{rr�r�r�rlr`r^r\r\�s�������	 �	 �	 ����-�-�-�O�O�O����(�(�(�%�%�%����	@�	@�	@�L�L�L�
=�=�=�4�4�4�4�4r`r\�XK�XVc�D�eZdZdedefd�Zdedefd�Zd	dededefd�ZdS)
�
SimpleMapping�keyr�c��dSrdrl�rYr�s  r^�__getitem__zSimpleMapping.__getitem__K����r`r�c��dSrdrl�rYr�r�s   r^�__setitem__zSimpleMapping.__setitem__Nr�r`N�defaultc��dSrdrl�rYr�r�s   r^�getzSimpleMapping.getQr�r`rd)rirjrkr�r�r�r�r�rlr`r^r�r�Is��������r��b������r��"�������r��B��"������r`r�c�:�eZdZd�Zdefd�Zdefd�Zddefd�ZdS)�MySimpleMappingc��i|_dSrd��storer�s r^�__init__zMySimpleMapping.__init__Ws
����
�
�
r`r�c��|j|Srdr�r�s  r^r�zMySimpleMapping.__getitem__Zs���z�#��r`c��||j|<dSrdr�r�s   r^r�zMySimpleMapping.__setitem__]s����
�3���r`Nc�B�	|j|S#t$r|cYSwxYwrd)r��KeyErrorr�s   r^r�zMySimpleMapping.get`s7��	��:�c�?�"���	�	�	��N�N�N�	���s���rd)rirjrkr�rZr�r�r�rlr`r^r�r�Usy����������s����� �s� � � � ���s������r`r�c�$�eZdZUeed<eed<dS)�
CoordinaterVr`N�rirjrkr�r�rlr`r^r�r�g�"�������
�F�F�F�
�F�F�F�F�Fr`r�c��eZdZUeed<dS)�Point�labelN�rirjrkrZr�rlr`r^r�r�ks��������J�J�J�J�Jr`r�c�.�eZdZUeed<eed<eed<dS)�MyPointrVr`r�N�rirjrkr�r�rZrlr`r^r�r�os+�������
�F�F�F�
�F�F�F��J�J�J�J�Jr`r�c��eZdZUeed<dS)�XAxisrVNr�rlr`r^r�r�t��������
�F�F�F�F�Fr`r�c��eZdZUeed<dS)�YAxisr`Nr�rlr`r^r�r�wr�r`r�c��eZdZdS)�PositionNr|rlr`r^r�r�zs�������Dr`r�c�*�eZdZUeed<dedefd�ZdS)�Proto�attrr�r�c��dSrdrl�rYr�s  r^�methz
Proto.meth�r�r`N)rirjrkr�r�rZr�rlr`r^r�r�~sA�������

�I�I�I����������r`r�c��eZdZdS)�ConcreteNr|rlr`r^r�r��r}r`r�c�.�eZdZUdZeed<dedefd�ZdS)�Otherror�r�r�c��|dkrdSdS)N�thisrorrlr�s  r^r�z
Other.meth�s���&�=�	��1��qr`N)rirjrkr�r�r�rZr�rlr`r^r�r��sE��������D�#�M�M�M����������r`r�c�$�eZdZUeed<eed<dS)�NTrVr`Nr�rlr`r^r�r��r�r`r�c�$�eZdZUejed<dS)�HasCallProtocolrEN)rirjrkrMr"r�rlr`r^r�r��s ��������o�����r`r�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%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1S)2�
ProtocolTestsc��tGd�dt����}Gd�d��}Gd�d��}d�}|�||��|�|��|��|�||��|�|��|��|�tj|��|�||��dS)Nc��eZdZd�ZdS)�,ProtocolTests.test_basic_protocol.<locals>.Pc��dSrdrlr�s r^r�z1ProtocolTests.test_basic_protocol.<locals>.P.meth�����r`N�rirjrkr�rlr`r^r�r���#������
�
�
�
�
r`r�c��eZdZdS)�,ProtocolTests.test_basic_protocol.<locals>.CNr|rlr`r^rr��r�r`rc��eZdZd�ZdS)�,ProtocolTests.test_basic_protocol.<locals>.Dc��dSrdrlr�s r^r�z1ProtocolTests.test_basic_protocol.<locals>.D.meth�r�r`Nr�rlr`r^r1r���#������
�
�
�
�
r`r1c��dSrdrlrlr`r^rgz,ProtocolTests.test_basic_protocol.<locals>.f�rr`)r*r'r_r�rbr�r
r)rYr�rr1rgs     r^�test_basic_protocolz!ProtocolTests.test_basic_protocol�s��	�	�	�	�	�	��	�	�
�	�	�	�
�
�
�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	
���a��#�#�#����a�a�c�c�1�%�%�%�� � ��A�&�&�&�� � �����a�(�(�(�� � ��!3�Q�7�7�7�� � ��A�&�&�&�&�&r`c�:�tGd�dt����}Gd�d��}d�}ttt|t
jfD]}|�||���t��ddt|fD]}|�	||���dS)Nc��eZdZdS)�FProtocolTests.test_everything_implements_empty_protocol.<locals>.EmptyNr|rlr`r^�Emptyr����������Dr`r�c��eZdZdS)�BProtocolTests.test_everything_implements_empty_protocol.<locals>.CNr|rlr`r^rr��rr`rc��dSrdrlrlr`r^rgzBProtocolTests.test_everything_implements_empty_protocol.<locals>.f�rr`rorl)
r*r'r�r�r�r
rr_rMr�)rYr�rrg�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�	0r`c�B�d�}|�|t��dS)Nc��dSrdrlrlr`r^rgz:ProtocolTests.test_function_implements_protocol.<locals>.f�rr`)r�r�rfs  r^�!test_function_implements_protocolz/ProtocolTests.test_function_implements_protocol�s/��	�	�	�	
���a��1�1�1�1�1r`c��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|rlr`r^rr��r�r`rc��eZdZdS)�:ProtocolTests.test_no_inheritance_from_nominal.<locals>.BPNr|rlr`r^�BPr��r�r`r�c��eZdZdS��9ProtocolTests.test_no_inheritance_from_nominal.<locals>.PNr|rlr`r^r�r��r�r`r�c��eZdZdSr�r|rlr`r^r�z9ProtocolTests.test_no_inheritance_from_nominal.<locals>.P�r�r`c��eZdZdSr�r|rlr`r^r�z9ProtocolTests.test_no_inheritance_from_nominal.<locals>.P�r�r`c��eZdZdS)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.DNr|rlr`r^r1r��r�r`r1c��eZdZdS)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.ENr|rlr`r^r2r��r�r`r2)r'r�r�r�)rYrr�r�r1r2s      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|rlr`r^r�r��r�r`r�c��eZdZdS)�.ProtocolTests.test_no_instantiation.<locals>.CNr|rlr`r^rr��r�r`rr�rc��eZdZdS)�/ProtocolTests.test_no_instantiation.<locals>.PGNr|rlr`r^�PGr��r�r`r�c��eZdZdS)�/ProtocolTests.test_no_instantiation.<locals>.CGNr|rlr`r^�CGr��r�r`r�)r'r�r�r�rr�)rYr�rrr�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>.PrVr�Nc��||_dSrdr��rYrVs  r^r�zUProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.P.__init__��
������r`�rirjrkr�r�r�rlr`r^r�r��A��������F�F�F�
�#�
�$�
�
�
�
�
�
r`r�c��eZdZdS)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.CNr|rlr`r^rr	�r�r`rro)r'r�r�rV�rYr�rr`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� � � � � r`c��Gd�dt��}Gd�d|��}|d��}|�||��|�|jd��dS)Nc�*�eZdZUeed<deddfd�ZdS)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.PrVr�Nc��||_dSrdr�rs  r^r�zSProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.P.__init__rr`rrlr`r^r�rrr`r�c��eZdZdS)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.CNr|rlr`r^rrr�r`rro)r'r�r�rVr
s    r^�1test_concrete_class_inheriting_init_from_protocolz?ProtocolTests.test_concrete_class_inheriting_init_from_protocols���	�	�	�	�	��	�	�	�
	���������
�A�a�D�D�����a��#�#�#������a� � � � � r`c�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�rd)�NotImplementedErrorr�s r^�amethz?ProtocolTests.test_cannot_instantiate_abstract.<locals>.P.ameths��)�)r`N)rirjrkr/�abstractmethodr�rrlr`r^r�rs=������
�
�
*�s�
*�
*�
*� �
�
*�
*�
*r`r�c��eZdZdS)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.BNr|rlr`r^r0rrr`r0c��eZdZdefd�ZdS)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Cr�c��dS)N�rlr�s r^rz?ProtocolTests.test_cannot_instantiate_abstract.<locals>.C.ameth����rr`N)rirjrkr�rrlr`r^rrs/������
�s�
�
�
�
�
�
r`r)r*r'r�r�r�)rYr�r0rs    r^� test_cannot_instantiate_abstractz.ProtocolTests.test_cannot_instantiate_abstracts#��	�	*�	*�	*�	*�	*��	*�	*�
�	�	*�
	�	�	�	�	��	�	�	�	�	�	�	�	��	�	�	��
�
�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��dSrdrlr�s r^�meth1z;ProtocolTests.test_subprotocols_extending.<locals>.P1.meth1%r�r`N�rirjrkr&rlr`r^�P1r$$r�r`r(c��eZdZd�ZdS)�5ProtocolTests.test_subprotocols_extending.<locals>.P2c��dSrdrlr�s r^�meth2z;ProtocolTests.test_subprotocols_extending.<locals>.P2.meth2*r�r`N�rirjrkr,rlr`r^rKr*(r�r`rKc��eZdZd�Zd�ZdS)�4ProtocolTests.test_subprotocols_extending.<locals>.Cc��dSrdrlr�s r^r&z:ProtocolTests.test_subprotocols_extending.<locals>.C.meth1.r�r`c��dSrdrlr�s r^r,z:ProtocolTests.test_subprotocols_extending.<locals>.C.meth21r�r`N�rirjrkr&r,rlr`r^rr/-�2������
�
�
�
�
�
�
�
r`rc��eZdZd�ZdS)�5ProtocolTests.test_subprotocols_extending.<locals>.C1c��dSrdrlr�s r^r&z;ProtocolTests.test_subprotocols_extending.<locals>.C1.meth15r�r`Nr'rlr`r^r<r54r�r`r<c��eZdZd�ZdS)�5ProtocolTests.test_subprotocols_extending.<locals>.C2c��dSrdrlr�s r^r,z;ProtocolTests.test_subprotocols_extending.<locals>.C2.meth29r�r`Nr-rlr`r^r=r88r�r`r=�r'r*r�rbr�r_)rYr(rKrr<r=s      r^�test_subprotocols_extendingz)ProtocolTests.test_subprotocols_extending#s{��	�	�	�	�	��	�	�	�
�	�	�	�	�	��X�	�	�
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
� � �����r�*�*�*�� � �����r�*�*�*�� � ��R�(�(�(�� � ��R�(�(�(����a�a�c�c�2�&�&�&����a��$�$�$�$�$r`c��Gd�dt��}Gd�dt��}tGd�d||t����}Gd�d��}Gd	�d
��}Gd�d��}|�|��|��|�|��|��|�||��|�||��|�|��|��|�||��dS)
Nc��eZdZd�ZdS)�3ProtocolTests.test_subprotocols_merging.<locals>.P1c��dSrdrlr�s r^r&z9ProtocolTests.test_subprotocols_merging.<locals>.P1.meth1Er�r`Nr'rlr`r^r(r>Dr�r`r(c��eZdZd�ZdS)�3ProtocolTests.test_subprotocols_merging.<locals>.P2c��dSrdrlr�s r^r,z9ProtocolTests.test_subprotocols_merging.<locals>.P2.meth2Ir�r`Nr-rlr`r^rKrAHr�r`rKc��eZdZdS)�2ProtocolTests.test_subprotocols_merging.<locals>.PNr|rlr`r^r�rDLr�r`r�c��eZdZd�Zd�ZdS)�2ProtocolTests.test_subprotocols_merging.<locals>.Cc��dSrdrlr�s r^r&z8ProtocolTests.test_subprotocols_merging.<locals>.C.meth1Qr�r`c��dSrdrlr�s r^r,z8ProtocolTests.test_subprotocols_merging.<locals>.C.meth2Tr�r`Nr2rlr`r^rrFPr3r`rc��eZdZd�ZdS)�3ProtocolTests.test_subprotocols_merging.<locals>.C1c��dSrdrlr�s r^r&z9ProtocolTests.test_subprotocols_merging.<locals>.C1.meth1Xr�r`Nr'rlr`r^r<rJWr�r`r<c��eZdZd�ZdS)�3ProtocolTests.test_subprotocols_merging.<locals>.C2c��dSrdrlr�s r^r,z9ProtocolTests.test_subprotocols_merging.<locals>.C2.meth2\r�r`Nr-rlr`r^r=rM[r�r`r=r:)rYr(rKr�rr<r=s       r^�test_subprotocols_mergingz'ProtocolTests.test_subprotocols_mergingCs���	�	�	�	�	��	�	�	�	�	�	�	�	��	�	�	�
�	�	�	�	�	��B��	�	�
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
� � �����q�)�)�)�� � �����q�)�)�)�� � ��Q�'�'�'�� � ��Q�'�'�'����a�a�c�c�1�%�%�%����a��#�#�#�#�#r`c��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��dS#1swxYwYdS)Nrc��eZdZd�ZdS)�2ProtocolTests.test_protocols_issubclass.<locals>.Pc��dSrdrlr�s r^rVz4ProtocolTests.test_protocols_issubclass.<locals>.P.xkr�r`N�rirjrkrVrlr`r^r�rRi�����������r`r�c��eZdZd�ZdS)�3ProtocolTests.test_protocols_issubclass.<locals>.PGc��dSrdrlr�s r^rVz5ProtocolTests.test_protocols_issubclass.<locals>.PG.xor�r`NrTrlr`r^r�rWmrUr`r�c��eZdZd�ZdS)�5ProtocolTests.test_protocols_issubclass.<locals>.BadPc��dSrdrlr�s r^rVz7ProtocolTests.test_protocols_issubclass.<locals>.BadP.xrr�r`NrTrlr`r^�BadPrZq�����������r`r\c��eZdZd�ZdS)�6ProtocolTests.test_protocols_issubclass.<locals>.BadPGc��dSrdrlr�s r^rVz8ProtocolTests.test_protocols_issubclass.<locals>.BadPG.xur�r`NrTrlr`r^�BadPGr_tr]r`rac��eZdZd�ZdS)�2ProtocolTests.test_protocols_issubclass.<locals>.Cc��dSrdrlr�s r^rVz4ProtocolTests.test_protocols_issubclass.<locals>.C.xxr�r`NrTrlr`r^rrcwr]r`r)rr*r'r_r�r�rVr��rYrr�r�r\rars       r^�test_protocols_issubclassz'ProtocolTests.test_protocols_issubclassfs6���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�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$sl�+D�D�D�3E�E�E�;F�F�F�=G�G�!G�?H"�"H&�)H&�I0�0I4�7I4c��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>.CroNrTrlr`r^rri���������A�A�Ar`rc��eZdZdZdS)�FProtocolTests.test_protocols_issubclass_non_callable.<locals>.PNonCallroNrTrlr`r^�PNonCallrl���������A�A�Ar`rmc��eZdZdS)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.DNr|rlr`r^r1rp�r�r`r1)
r*r'r�r�rVr��registerrbr�r_)rYrrmr1s    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��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��dS#1swxYwYdS)Nrc��eZdZd�ZdS)�2ProtocolTests.test_protocols_isinstance.<locals>.Pc��dSrdrlr�s r^r�z7ProtocolTests.test_protocols_isinstance.<locals>.P.meth�r�r`Nr�rlr`r^r�ru�rUr`r�c��eZdZd�ZdS)�3ProtocolTests.test_protocols_isinstance.<locals>.PGc��dSrdrlr�s r^r�z8ProtocolTests.test_protocols_isinstance.<locals>.PG.meth�r�r`Nr�rlr`r^r�rx�rUr`r�c��eZdZd�ZdS)�5ProtocolTests.test_protocols_isinstance.<locals>.BadPc��dSrdrlr�s r^r�z:ProtocolTests.test_protocols_isinstance.<locals>.BadP.meth�r�r`Nr�rlr`r^r\r{�r]r`r\c��eZdZd�ZdS)�6ProtocolTests.test_protocols_isinstance.<locals>.BadPGc��dSrdrlr�s r^r�z;ProtocolTests.test_protocols_isinstance.<locals>.BadPG.meth�r�r`Nr�rlr`r^rar~�r]r`rac��eZdZd�ZdS)�2ProtocolTests.test_protocols_isinstance.<locals>.Cc��dSrdrlr�s r^r�z7ProtocolTests.test_protocols_isinstance.<locals>.C.meth�r�r`Nr�rlr`r^rr��r]r`r)rr*r'r�r�r�r�res       r^�test_protocols_isinstancez'ProtocolTests.test_protocols_isinstance�sJ���C�L�L��	�	�	�	�	�	��	�	�
�	�	�
�	�	�	�	�	��!��	�	�
�	�	�	�	�	�	�	�8�	�	�	�	�	�	�	�	�H�Q�K�	�	�	�	�	�	�	�	�	�	�	�	
���a�a�c�c�1�%�%�%����a�a�c�c�2�&�&�&�
�
�
�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�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#sH�%D�D�D�5E � E$�'E$�F*�*F.�1F.�G5�5G9�<G9c�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�||_||_||_dSrd�rVr`r�)rYrVr`r�s    r^r�zEProtocolTests.test_protocols_isinstance_py36.<locals>.APoint.__init__�s��������"��
�
�
r`N�rirjrkr�rlr`r^�APointr��s#������
#�
#�
#�
#�
#r`r�c��eZdZdZd�ZdS)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.BPointr0c�"�||_||_dSrd�rVr`)rYrVr`s   r^r�zEProtocolTests.test_protocols_isinstance_py36.<locals>.BPoint.__init__�s���������r`N)rirjrkr�r�rlr`r^�BPointr��s(�������E�
�
�
�
�
r`r�c��eZdZd�Zd�ZdS)�7ProtocolTests.test_protocols_isinstance_py36.<locals>.Cc��||_dSrd�r��rYr�s  r^r�z@ProtocolTests.test_protocols_isinstance_py36.<locals>.C.__init__��
�� ��	�	�	r`c��dS�Nrrlr�s  r^r�z<ProtocolTests.test_protocols_isinstance_py36.<locals>.C.meth�����qr`N)rirjrkr�r�rlr`r^rr��s2������
!�
!�
!�
�
�
�
�
r`rc��eZdZdS)�9ProtocolTests.test_protocols_isinstance_py36.<locals>.BadNr|rlr`r^�Badr��r�r`r�ror�r�r�)	r�r�r�r�r�r�r�r�r�)rYr�r�rr�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�1r`c�F�td��}tGd�dt����}tGd�dt|����}Gd�d��}|�|d��|��|�|d��|��dS)	Nrc��eZdZdZdS)�7ProtocolTests.test_protocols_isinstance_init.<locals>.ProNrTrlr`r^r�r��rnr`r�c��eZdZdZdS)�8ProtocolTests.test_protocols_isinstance_init.<locals>.PGroNrTrlr`r^r�r��rnr`r�c��eZdZd�ZdS)�7ProtocolTests.test_protocols_isinstance_init.<locals>.Cc��||_dSrdr�rs  r^r�z@ProtocolTests.test_protocols_isinstance_init.<locals>.C.__init__�rr`Nr�rlr`r^rr���#������
�
�
�
�
r`rro)rr*r'r�)rYrr�r�rs     r^�test_protocols_isinstance_initz,ProtocolTests.test_protocols_isinstance_init�s����C�L�L��	�	�	�	�	�	��	�	�
�	�	�
�	�	�	�	�	��!��	�	�
�	�	�	�	�	�	�	�	�	�	�	
���a�a��d�d�A�&�&�&����a�a��d�d�B�'�'�'�'�'r`c��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|rlr`r^r�r��r�r`r�c��eZdZdS)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.CNr|rlr`r^rr��r�r`rc��eZdZdS)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other1Nr|rlr`r^�Other1r��r�r`r�c��eZdZdS)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other2Nr|rlr`r^�Other2r�	r�r`r�c��eZdZdS)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D1Nr|rlr`r^�D1r�	r�r`r�c��eZdZdS)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D2Nr|rlr`r^�D2r�	r�r`r�)r'rr
r�rbr�r�r_)	rYr�rr�r��CAr�r��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�!�$�$�$�$�$r`c�n�tGd�dt����}Gd�dt��}Gd�d|��}Gd�d��}|�|��|�|��|�|��|��|�|��|��dS)	Nc��eZdZdZdS)�8ProtocolTests.test_protocols_support_register.<locals>.ProNrTrlr`r^r�r�	rnr`r�c��eZdZd�ZdS)�9ProtocolTests.test_protocols_support_register.<locals>.PMc��dSrdrlr�s r^r�z>ProtocolTests.test_protocols_support_register.<locals>.PM.meth	r�r`Nr�rlr`r^�PMr�	������� � � � � r`r�c��eZdZdS)�8ProtocolTests.test_protocols_support_register.<locals>.DNr|rlr`r^r1r�	r�r`r1c��eZdZdS)�8ProtocolTests.test_protocols_support_register.<locals>.CNr|rlr`r^rr�	r�r`r)r*r'rqr�)rYr�r�r1rs     r^�test_protocols_support_registerz-ProtocolTests.test_protocols_support_register
	s���	�	�	�	�	�	��	�	�
�	�	�	!�	!�	!�	!�	!��	!�	!�	!�	����������
�
�
�
�
�
�
�	�
�
�1�
�
�
�	�
�
�1�
�
�
����a�a�c�c�1�%�%�%����a�a�c�c�1�%�%�%�%�%r`c��tGd�dt����}Gd�d��}Gd�d|��}Gd�d��}|�|��|��|�|��|��dS)	Nc��eZdZdZdS)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.ProNrTrlr`r^r�r�	rnr`r�c��eZdZdZdS)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.AroNrTrlr`r^r�r�#	rjr`r�c��eZdZdZdS)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.BNrTrlr`r^r0r�&	��������A�A�Ar`r0c��eZdZd�ZdS)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.Cc��d|_dSrdr�r�s r^r�zWProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.C.__init__*	�
������r`Nr�rlr`r^rr�)	�#������
�
�
�
�
r`r)r*r'r��rYr�r�r0rs     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�%�%�%�%�%r`c��tGd�dt����}Gd�d��}Gd�d|��}Gd�d��}|�|��|��|�|��|��dS)	Nc��eZdZd�ZdS)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Pc��dSrdrlr�s r^rVzFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.P.x3	r�r`NrTrlr`r^r�r�1	rUr`r�c��eZdZd�ZdS)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Ac��dSrdrlr�s r^rVzFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.A.x6	r�r`NrTrlr`r^r�r�5	r]r`r�c��eZdZdZdS)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.BNrTrlr`r^r0r�8	r�r`r0c��eZdZd�ZdS)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Cc��d|_dSrdr�r�s r^r�zMProtocolTests.test_none_on_callable_blocks_implementation.<locals>.C.__init__<	r�r`Nr�rlr`r^rr�;	r�r`r)r*r'r�r�s     r^�+test_none_on_callable_blocks_implementationz9ProtocolTests.test_none_on_callable_blocks_implementation0	s���	�	�	�	�	�	��	�	�
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��	�	�	�	�	�	�	�	�	�	�	�	
� � �����a�(�(�(�� � �����a�(�(�(�(�(r`c��Gd�dt��}tGd�dt����}Gd�d|��}Gd�d|��}Gd	�d
��}Gd�d��}|�|��|��|�|��|��|�||��|�||��|�|��|��|�||��dS)
Nc��eZdZdZdS)�5ProtocolTests.test_non_protocol_subclasses.<locals>.ProNrTrlr`r^r�r�C	rjr`r�c��eZdZd�ZdS)�6ProtocolTests.test_non_protocol_subclasses.<locals>.PRc��dSrdrlr�s r^r�z;ProtocolTests.test_non_protocol_subclasses.<locals>.PR.methH	r�r`Nr�rlr`r^�PRr�F	������� � � � � r`r�c��eZdZdZdS)�8ProtocolTests.test_non_protocol_subclasses.<locals>.NonProNrTrlr`r^�NonPr�J	rjr`r�c��eZdZdS)�9ProtocolTests.test_non_protocol_subclasses.<locals>.NonPRNr|rlr`r^�NonPRr�M	r�r`r�c��eZdZdZdS)�5ProtocolTests.test_non_protocol_subclasses.<locals>.CroNrTrlr`r^rr�O	rjr`rc��eZdZd�ZdS)�5ProtocolTests.test_non_protocol_subclasses.<locals>.Dc��dSrdrlr�s r^r�z:ProtocolTests.test_non_protocol_subclasses.<locals>.D.methS	r�r`Nr�rlr`r^r1r�R	r�r`r1r:)rYr�r�r�r�rr1s       r^�test_non_protocol_subclassesz*ProtocolTests.test_non_protocol_subclassesB	s���	�	�	�	�	��	�	�	�
�	!�	!�	!�	!�	!��	!�	!�
�	�	!�	�	�	�	�	�1�	�	�	�	�����B����	�	�	�	�	�	�	�	�	!�	!�	!�	!�	!�	!�	!�	!�	
� � �����d�+�+�+�� � �����e�,�,�,�� � ��D�)�)�)�� � ��E�*�*�*����e�e�g�g�r�*�*�*����e�R�(�(�(�(�(r`c�L�Gd�dt��}Gd�d��}Gd�d��}Gd�d|��}|�|��|��|�|��|��|�||��|�||��dS)	Nc��eZdZdZdS)�1ProtocolTests.test_custom_subclasshook.<locals>.ProNrTrlr`r^r�r�]	rjr`r�c��eZdZdS)�7ProtocolTests.test_custom_subclasshook.<locals>.OKClassNr|rlr`r^�OKClassr�`	r�r`r�c��eZdZdZdS)�8ProtocolTests.test_custom_subclasshook.<locals>.BadClassroNrTrlr`r^�BadClassr�b	rjr`rc�$�eZdZed���ZdS)�1ProtocolTests.test_custom_subclasshook.<locals>.Cc�6�|j�d��S�N�OK)ri�
startswith�rZ�others  r^�__subclasshook__zBProtocolTests.test_custom_subclasshook.<locals>.C.__subclasshook__f	s���~�0�0��6�6�6r`N�rirjrk�classmethodr	rlr`r^rre	s-������
�
7�
7��[�
7�
7�
7r`r)r'r�r�r_rb)rYr�r�rrs     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�-�-�-�-�-r`c��tGd�dt����}Gd�d��}|�t��5t	|��|��ddd��dS#1swxYwYdS)Nc��eZdZdZdS)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.ProNrTrlr`r^r�rp	rnr`r�c��eZdZdS)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.CNr|rlr`r^rrt	r�r`r)r*r'r�r�rV�rYr�rs   r^�test_issubclass_fails_correctlyz-ProtocolTests.test_issubclass_fails_correctlyo	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��dSrdrlr�s r^r�z>ProtocolTests.test_defining_generic_protocols.<locals>.PR.meth	r�r`Nr�rlr`r^r�r}	r�r`r�c��eZdZdZdS)�8ProtocolTests.test_defining_generic_protocols.<locals>.ProN�rirjrkr`rlr`r^r�r�	rjr`r�c��eZdZdS)�8ProtocolTests.test_defining_generic_protocols.<locals>.CNr|rlr`r^rr�	r�r`r)rr*r'r�r�r�rZr�)rYrrr�r�rs      r^�test_defining_generic_protocolsz-ProtocolTests.test_defining_generic_protocolsy	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)Nrrc��eZdZd�ZdS)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.PRc��dSrdrlr�s r^r�zHProtocolTests.test_defining_generic_protocols_old_style.<locals>.PR.meth�	r�r`Nr�rlr`r^r�r!�	r�r`r�c��eZdZdZdS)�BProtocolTests.test_defining_generic_protocols_old_style.<locals>.ProNrrlr`r^r�r$�	rjr`r�c� ��eZdZd�defd�ZdS)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1rVr�c��dSrdrlrs  r^rzGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1.bar�	r�r`N�rirjrkrZr�rs�r^r(r&�	�'�������+�Q�+�3�+�+�+�+�+�+r`r(c� ��eZdZd�defd�ZdS)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2rVr�c��dSrdrlrs  r^rzGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2.bar�	r�r`Nr(r)s�r^rKr,�	r*r`rKc��eZdZdZdS)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.PSubroNrTrlr`r^�PSubr/�	rnr`r0c�"�eZdZdZdedefd�ZdS)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.TestrorVr�c��|Srdrlrs  r^rzIProtocolTests.test_defining_generic_protocols_old_style.<locals>.Test.bar�	s���r`N)rirjrkrVrZrrlr`r^�Testr2�	s;�������A�
�S�
�S�
�
�
�
�
�
r`r4)rr*r'r#r�rZr�r�rVr_r�)	rYrr�r�r(rKr0r4rs	        @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|rlr`r^r�r8�	r�r`r�c��eZdZd�ZdS)�)ProtocolTests.test_init_called.<locals>.Cc��d|_dSr��testr�s r^r�z2ProtocolTests.test_init_called.<locals>.C.__init__�	r�r`Nr�rlr`r^rr:�	�#������
!�
!�
!�
!�
!r`rrc��eZdZd�ZdS)�)ProtocolTests.test_init_called.<locals>.Bc��d|_dSrr<r�s r^r�z2ProtocolTests.test_init_called.<locals>.B.__init__�	r�r`Nr�rlr`r^r0r@�	r>r`r0c��eZdZdS)�*ProtocolTests.test_init_called.<locals>.D1Nr|rlr`r^r�rC�	rr`r�c��eZdZdS)�*ProtocolTests.test_init_called.<locals>.D2Nr|rlr`r^r�rE�	rr`r�)rr'r�r�r=)rYrr�rr0r�r�s       r^�test_init_calledzProtocolTests.test_init_called�	sS���C�L�L��"�"�"�"�"����"�"�"�	!�	!�	!�	!�	!��!��	!�	!�	!�	
�����3������-�-�-�	!�	!�	!�	!�	!�	!�	!�	!�	�	�	�	�	��A�a�D�	�	�	�	
�����C������.�.�.�	�	�	�	�	��1��q�	�	�	�	
�����C������.�.�.�.�.r`c��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|rlr`r^r�rI�	r�r`r�c���eZdZ�fd�Z�xZS)�(ProtocolTests.test_new_called.<locals>.Cc�J��t��j|g|�R�}d|_|Sr)�super�__new__r=)rZr�rYrGs   �r^rNz0ProtocolTests.test_new_called.<locals>.C.__new__�	s,���&�u�w�w��s�2�T�2�2�2�� ��	��r`�rirjrkrN�
__classcell__�rGs@r^rrK�	s8�������
�
�
�
�
�
�
�
�
r`rrr�r$)rr'r�r�r=r�r��rYrr�rs    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)Nrrc��eZdZdS��6ProtocolTests.test_protocols_bad_subscripts.<locals>.PNr|rlr`r^r�rW�	r�r`r�c��eZdZdSrVr|rlr`r^r�z6ProtocolTests.test_protocols_bad_subscripts.<locals>.P�	r�r`c��eZdZdSrVr|rlr`r^r�z6ProtocolTests.test_protocols_bad_subscripts.<locals>.P�	r�r`c��eZdZdSrVr|rlr`r^r�z6ProtocolTests.test_protocols_bad_subscripts.<locals>.P�	r�r`)rr�r�r'r�rMr��rYrrr�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)Nrrc��eZdZdS)�4ProtocolTests.test_generic_protocols_repr.<locals>.PNr|rlr`r^r�r_�	r�r`r�z	P[~T, ~S]zP[int, str])rr'r�r�rr�rZr[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�Br`c��td��}td��}Gd�dt||f��}|�||��|�|t|f|t|f��|�|||ft||ftt
f|ttt
fttt
ff��dS)Nrrc��eZdZdS)�2ProtocolTests.test_generic_protocols_eq.<locals>.PNr|rlr`r^r�rc�	r�r`r�)rr'r�r�rrZr[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�;�<�	>�	>�	>�	>�	>r`c�~�td��}Gd�dt|��}|�|j|f��|�|tjd��|�|tjtf��|�|tj|��dS)Nrc��eZdZdS)�DProtocolTests.test_generic_protocols_special_from_generic.<locals>.PNr|rlr`r^r�rg�	r�r`r�rl)rr'r�rQr�rPr�rR)rYrr�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�'��+�+�+�+�+r`c�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>.PRroNrTrlr`r^r�rk
rnr`r�c��eZdZd�ZdS)�EProtocolTests.test_generic_protocols_special_from_protocol.<locals>.Pc��dSrdrlr�s r^r�zJProtocolTests.test_generic_protocols_special_from_protocol.<locals>.P.meth

r�r`Nr�rlr`r^r�rm	
r�r`r�rc��eZdZdZd�ZdS)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PGroc��dSrdrlr�s r^r�zKProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PG.meth
r�r`N)rirjrkrVr�rlr`r^r�rp
s(�������A�
�
�
�
�
r`r�r�rV)r*r'rr��_is_protocolr��_is_runtime_protocolr�r�rM�_get_protocol_attrs�	frozenset)rYr�r�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�	3r`c�`�|�t��5tGd�d����}ddd��n#1swxYwYGd�dt��}|�t��5tGd�d|����}ddd��dS#1swxYwYdS)Nc��eZdZdS)�8ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.CNr|rlr`r^rry"
s�������Tr`rc��eZdZdZdS)�<ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ProtoroNrTrlr`r^r�r{%
rjr`r�c��eZdZdS)�?ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ConcreteNr|rlr`r^r�r})
s�������r`r�)r�r�r*r')rYrr�r�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>.PNrTrlr`r^r�r�.
s�������A�A�Ar`r�c��eZdZdS)�4ProtocolTests.test_none_treated_correctly.<locals>.BNr|rlr`r^r0r�2
r�r`r0c��eZdZdZdS)�4ProtocolTests.test_none_treated_correctly.<locals>.CroNrTrlr`r^rr�6
rjr`rc��eZdZdZdS)�4ProtocolTests.test_none_treated_correctly.<locals>.DNrTrlr`r^r1r�9
r�r`r1c��eZdZd�ZdS)�5ProtocolTests.test_none_treated_correctly.<locals>.CIc��d|_dSrr�r�s r^r�z>ProtocolTests.test_none_treated_correctly.<locals>.CI.__init__@
rr`Nr�rlr`r^r�r�?
r�r`r�c��eZdZd�ZdS)�5ProtocolTests.test_none_treated_correctly.<locals>.DIc��d|_dSrdr�r�s r^r�z>ProtocolTests.test_none_treated_correctly.<locals>.DI.__init__D
r�r`Nr�rlr`r^�DIr�C
r�r`r�)r*r'r�r�r�)rYr�r0rr1r�r�s       r^�test_none_treated_correctlyz)ProtocolTests.test_none_treated_correctly-
s���	�	�	�	�	�	��	�	�
�	�	�	���������� � �����a�(�(�(�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
���a�a�c�c�1�%�%�%����a�a�c�c�1�%�%�%�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	
���a�a�c�c�1�%�%�%����a�a�c�c�1�%�%�%�%�%r`c���Gd�dt��}tjtj|f}tj|tjf}|�||��dS)Nc��eZdZdZdS)�1ProtocolTests.test_protocols_in_unions.<locals>.PNrTrlr`r^r�r�K
r�r`r�)r'rMrr�r�)rYr��Alias�Alias2s    r^�test_protocols_in_unionsz&ProtocolTests.test_protocols_in_unionsJ
sp��	�	�	�	�	��	�	�	���V�_�a�/�0����a���0�1�������'�'�'�'�'r`c��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�roNrTrlr`r^r�r�V
rnr`r�c��eZdZdS)�CPNr|rlr`r^r�r�Z
rr`r�r�r/rorhc��eZdZdZdS)�2ProtocolTests.test_protocols_pickleable.<locals>.EroNrTrlr`r^r2r�j
s���������r`r2)rr*r'r�r�r�r%rrsrtrur�r�r�rV�__dict__r�)	rYrr`rrrarVr8r1r2s	         r^�test_protocols_pickleablez'ProtocolTests.test_protocols_pickleableR
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�)�)�)�)�
	*�
	*r`c��|�ttj��|�t
tj��dSrd)r_r�rM�SupportsIntrbrZr�s r^�test_supports_intzProtocolTests.test_supports_into
s:�����c�6�#5�6�6�6�� � ��f�&8�9�9�9�9�9r`c��|�ttj��|�t
tj��dSrd)r_rvrM�
SupportsFloatrbrZr�s r^�test_supports_floatz!ProtocolTests.test_supports_floats
s:�����e�V�%9�:�:�:�� � ��f�&:�;�;�;�;�;r`c���Gd�d��}|�ttj��|�|tj��|�t
tj��dS)Nc��eZdZd�ZdS)�.ProtocolTests.test_supports_complex.<locals>.Cc��dS)Nyrlr�s r^�__complex__z:ProtocolTests.test_supports_complex.<locals>.C.__complex__z
r r`N)rirjrkr�rlr`r^rr�y
s#������
�
�
�
�
r`r)r_�complexrM�SupportsComplexrbrZrs  r^�test_supports_complexz#ProtocolTests.test_supports_complexw
s}��	�	�	�	�	�	�	�	�	
���g�v�'=�>�>�>����a��!7�8�8�8�� � ��f�&<�=�=�=�=�=r`c���Gd�d��}|�ttj��|�|tj��|�t
tj��dS)Nc��eZdZd�ZdS)�,ProtocolTests.test_supports_bytes.<locals>.Bc��dS�Nr`rlr�s r^�	__bytes__z6ProtocolTests.test_supports_bytes.<locals>.B.__bytes__�
s���sr`N)rirjrkr�rlr`r^r0r��
r�r`r0)r_r[rM�
SupportsBytesrbrZ)rYr0s  r^�test_supports_bytesz!ProtocolTests.test_supports_bytes�
s}��	�	�	�	�	�	�	�	�	
���e�V�%9�:�:�:����a��!5�6�6�6�� � ��f�&:�;�;�;�;�;r`c���|�ttj��|�ttj��|�ttj��dSrd)r_rvrM�SupportsAbsr�rbrZr�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�9r`c�"�tttj��|�ttj��|�t
tj��|�ttj��dSrd)rVrvrM�
SupportsRoundr_r�rbrZr�s r^�test_supports_roundz!ProtocolTests.test_supports_round�
sf���5�&�.�/�/�/����e�V�%9�:�:�:����c�6�#7�8�8�8�� � ��f�&:�;�;�;�;�;r`c��|�ttj��|�t
tj��dSrd)r_r�rM�
Reversiblerbr�r�s r^�test_reversiblezProtocolTests.test_reversible�
s:�����d�F�$5�6�6�6�� � ��f�&7�8�8�8�8�8r`c��|�ttj��|�t
tj��dSrd)r_r�rM�
SupportsIndexrbrZr�s r^�test_supports_indexz!ProtocolTests.test_supports_index�
s:�����c�6�#7�8�8�8�� � ��f�&:�;�;�;�;�;r`c���|�dtj��Gd�dtj��}Gd�d|��}|��}|�||��dS)Nrc��eZdZdefd�ZdS)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C1r�c��dSr�rlr�s r^�__int__zFProtocolTests.test_bundled_protocol_instance_works.<locals>.C1.__int__�
r r`N)rirjrkr�r�rlr`r^r<r��
s/������
��
�
�
�
�
�
r`r<c��eZdZdS)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C2Nr|rlr`r^r=r��
rr`r=)r�rMr�r�)rYr<r=r`s    r^�$test_bundled_protocol_instance_worksz2ProtocolTests.test_bundled_protocol_instance_works�
s������a��!3�4�4�4�	�	�	�	�	��#�	�	�	�	�	�	�	�	��	�	�	��B�D�D�����a��$�$�$�$�$r`c���tGd�dtjjt����}Gd�d��}Gd�d��}|�||��|�||��dS)Nc��eZdZd�ZdS)�@ProtocolTests.test_collections_protocols_allowed.<locals>.Customc��dSrdrlr�s r^�closezFProtocolTests.test_collections_protocols_allowed.<locals>.Custom.close�
r�r`N)rirjrkr�rlr`r^�Customr��
r�r`r�c��eZdZdS)�;ProtocolTests.test_collections_protocols_allowed.<locals>.ANr|rlr`r^r�r��
r�r`r�c��eZdZd�Zd�ZdS)�;ProtocolTests.test_collections_protocols_allowed.<locals>.Bc��gSrdrlr�s r^�__iter__zDProtocolTests.test_collections_protocols_allowed.<locals>.B.__iter__�
s���	r`c��dSr�rlr�s r^r�zAProtocolTests.test_collections_protocols_allowed.<locals>.B.close�
r�r`N)rirjrkr�r�rlr`r^r0r��
s2������
�
�
�
�
�
�
�
r`r0)r*r.r/r�r'r_rb)rYr�r�r0s    r^�"test_collections_protocols_allowedz0ProtocolTests.test_collections_protocols_allowed�
s���	�	!�	!�	!�	!�	!�[�_�-�x�	!�	!�
�	�	!�	�
�
�
�
�
�
�
�	�	�	�	�	�	�	�	�	
���a��(�(�(�� � ��F�+�+�+�+�+r`c���|�t��5Gd�dtt��}ddd��n#1swxYwYGd�dtjt��}dS)Nc��eZdZdS)�EProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomProtocolNr|rlr`r^�CustomProtocolr��
r�r`r�c��eZdZdS)�KProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomContextManagerNr|rlr`r^�CustomContextManagerr��
rr`r�)r�r�rr'rM�ContextManager)rYr�r�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>.PrVNr�rlr`r^r�r��
���������F�F�F�F�Fr`r�z@runtime_checkablero)r'r�r�r��rYr�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>.PrVNr�rlr`r^r�r��
r�r`r�c���eZdZ�fd�Z�xZS)�/ProtocolTests.test_super_call_init.<locals>.Fooc�H��t�����dSrd)rMr�)rYrGs �r^r�z8ProtocolTests.test_super_call_init.<locals>.Foo.__init__�
s������ � �"�"�"�"�"r`�rirjrkr�rPrQs@r^rr��
s8�������
#�
#�
#�
#�
#�
#�
#�
#�
#r`r)r')rYr�rs   r^�test_super_call_initz"ProtocolTests.test_super_call_init�
sg��	�	�	�	�	��	�	�	�	#�	#�	#�	#�	#�!�	#�	#�	#�	������r`N)3rirjrkr�r�r�r�r�rrr!r;rOrfrrr�r�r�r�r�r�r�r�rrrr5rFrSr\r`rdrhrvr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rlr`r^r�r��s�������'�'�'�,0�0�0� 2�2�2�)�)�)�,���:!�!�!�
!�
!�
!�&�&�&�$%�%�%�@!$�!$�!$�F#$�#$�#$�J$�$�$�6#�#�#�>#2�#2�#2�J(�(�(�$%�%�%�"&�&�&�"&�&�&�$)�)�)�$)�)�)�4.�.�.�&���+�+�+�(!,�!,�!,�F/�/�/�2���"
=�
=�
=�C�C�C�	>�	>�	>�,�,�,�3�3�3�8���&�&�&�:(�(�(�*�*�*�::�:�:�<�<�<�>�>�>�<�<�<�:�:�:�
<�<�<�9�9�9�<�<�<�%�%�%�
,�
,�
,�����������r`r�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�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)Nrlr)r�rZr
r�rQr�r�r�r�rVr�rrr�rv)rYrJrO�SM1rs     r^r
zGenericTests.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	�dt
|t|��}ddd��n#1swxYwY|�t��5td
ddd��n#1swxYwYGd�dt|��}|�t��5|d
ddd��dS#1swxYwYdS)Nrrc��eZdZdS��+GenericTests.test_generic_errors.<locals>.CNr|rlr`r^rr��
r�r`rc��eZdZdS)�4GenericTests.test_generic_errors.<locals>.NewGenericNr|rlr`r^�
NewGenericr��
r�r`r�c��eZdZdS��3GenericTests.test_generic_errors.<locals>.MyGenericNr|rlr`r^�	MyGenericr��
r�r`r�c��eZdZdSr�r|rlr`r^r�z3GenericTests.test_generic_errors.<locals>.MyGeneric�
r�r`rlc��eZdZdSr�r|rlr`r^rz+GenericTests.test_generic_errors.<locals>.C�
r�r`)	rr�r�r#r�rr�rVr�)rYrrrr�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�
)�
)�	6�	6�5�5�5�5�5�D��G�W�Q�Z�5�5�5�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6�	6����	6�	6�	6�	6�
�
�
�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)Nrr)rr�r�r#)rYrrs   r^�	test_initzGenericTests.test_init�
s���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�rl)rM�__init_subclass__r�)rZ�kwargsrGs  �r^rz<GenericTests.test_init_subclass.<locals>.X.__init_subclass__	s+���)����)�3�3�F�3�3�3�����r`�rirjrkrrPrQs@r^rJrs8�������
�
�
�
�
�
�
�
�
r`rJc��eZdZdS)�*GenericTests.test_init_subclass.<locals>.YNr|rlr`r^rOr
rr`rOr�ror�c��eZdZdS)�*GenericTests.test_init_subclass.<locals>.ZNr|rlr`r^�Zrrr`r
c��eZdZdS)�*GenericTests.test_init_subclass.<locals>.WNr|rlr`r^�Wrrr`r)rMr#rr�r�r��AttributeErrorr�)rYrJrOr
rs     r^�test_init_subclasszGenericTests.test_init_subclasss���	�	�	�	�	���q�!�	�	�	�	�	�	�	�	��	�	�	�������$�$�$�
�
�
�~�
.�
.�	�	�
�F�F�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�������	�	�	�	�	��	�	�	�	�	�	�	�	��#��	�	�	�������#�#�#�������$�$�$�������$�$�$�$�$s�'A;�;A?�A?c���|�tt��dt�d���|�tt��dt�d���dS)Nz<class 'z.SimpleMapping'>z.MySimpleMapping'>)r�r�r�rir�r�s r^r�zGenericTests.test_reprst������m�,�,�>�H�>�>�>�	@�	@�	@�����o�.�.�@�H�@�@�@�	B�	B�	B�	B�	Br`c�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)Nrrc��eZdZdS)�'GenericTests.test_chain_repr.<locals>.CNr|rlr`r^rr%rr`rz.C[typing.Tuple[str, int]])	rr#rr�r�r�rZr�r)rYrrrrJrOr
s       r^�test_chain_reprzGenericTests.test_chain_repr!s����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�����(�*�*�	+�	+�	+�	+�	+r`c�P�td��}tdd���}td��}|�tt��d��|�tt|��d��|�tt|��d��|�tt||t��d	��|�ttt��d	��dS)
Nr�UTr_rztyping.Listztyping.List[~T]ztyping.List[+U]ztyping.List[int])rr�r�rr�)rYrrrs    r^�
test_new_reprzGenericTests.test_new_repr9s����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���*<�=�=�=�=�=r`c���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�rMr�rrr�)rYrrs   r^�test_new_repr_complexz"GenericTests.test_new_repr_complexDs����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�	
�	
�	
�	
�	
r`c�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|rlr`r^rr Tr�r`r)	rr�r�r#rMr'r r
�__mro__�rYrrs   r^�test_new_repr_barezGenericTests.test_new_repr_barePs����C�L�L������g�a�j�)�)�+?�@�@�@�����f�o�a�0�1�1�3H�I�I�I�+�+�+�+�+���C��H�%�+�+�+��Q�Y�����r`c�@�td��}Gd�dt|��}|��}d|_|�|jddi��Gd�d|t
��}|��}d|_|�|jd	di��dS)
Nrc��eZdZdS)�!GenericTests.test_dict.<locals>.BNr|rlr`r^r0r&[rr`r0r�r%c��eZdZdS)�!GenericTests.test_dict.<locals>.CNr|rlr`r^rr(brr`rr/r)rr#r%r�r�r�r)rYrr0r_rr`s      r^�	test_dictzGenericTests.test_dictXs����C�L�L��	�	�	�	�	���
�	�	�	�
�A�C�C����������e�R�[�1�1�1�	�	�	�	�	��#��	�	�	�
�A�C�C����������e�U�^�4�4�4�4�4r`c��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�defNrTrlr`r^rr,ks�������A�A�Ar`rr-�changed�newc��eZdZdS)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.DNr|rlr`r^r1r1yrr`r1zfrom derived zzfrom derived x)	rr#r�r�rVrZrrar�rYrrr1s    r^�$test_subscripted_generics_as_proxiesz1GenericTests.test_subscripted_generics_as_proxiesis*���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�4r`c�l�td��}Gd�dtjjt|��}|�t��|�d|��|t|�d|��|���|�	��dS)Nrc��eZdZdS)�.GenericTests.test_abc_registry_kept.<locals>.CNr|rlr`r^rr6�r�r`rro)
rr.r/r�r#rqr�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��#�#�#�	������	�������r`c��Gd�dtttf��}|�i|��|�t|��dS)Nc��eZdZdS)�5GenericTests.test_false_subclasses.<locals>.MyMappingNr|rlr`r^�	MyMappingr<�r�r`r=)r!rZr�rbr�)rYr=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�1r`c��Gd�dtttf��}|�����|�|��tjj��|�|��t��|�|��t��|�i|��dS)Nc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�'GenericTests.test_abc_bases.<locals>.MMc��dSrdrl�rY�ks  r^r�z3GenericTests.test_abc_bases.<locals>.MM.__getitem__�rFr`c��dSrdrl�rYrDr�s   r^r�z3GenericTests.test_abc_bases.<locals>.MM.__setitem__�r�r`c��dSrdrlrCs  r^�__delitem__z3GenericTests.test_abc_bases.<locals>.MM.__delitem__�r�r`c� �td��Sr���iterr�s r^r�z0GenericTests.test_abc_bases.<locals>.MM.__iter__��
���B�x�x�r`c��dSr�rlr�s r^�__len__z/GenericTests.test_abc_bases.<locals>.MM.__len__�r�r`N�rirjrkr�r�rHr�rNrlr`r^�MMrA��_������
�
�
�
�
�
�
�
�
�
 �
 �
 �
�
�
�
�
r`rP)r!rZ�updater�r.r/r�r)rYrPs  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�(�(�(�(�(r`c�<�Gd�dtttftjj��}Gd�dtjjtttf��}|�|jtjjtf��dS)Nc��eZdZdS)�-GenericTests.test_multiple_bases.<locals>.MM1Nr|rlr`r^�MM1rV�rr`rWc��eZdZdS)�-GenericTests.test_multiple_bases.<locals>.MM2Nr|rlr`r^�MM2rY�rr`rZ)r!rZr.r/r��	__bases__r#)rYrWrZs   r^�test_multiple_basesz GenericTests.test_multiple_bases�s���	�	�	�	�	�.��c��*�K�O�,J�	�	�	�	�	�	�	�	�+�/�0�.��c��2J�	�	�	��������)G��(Q�R�R�R�R�Rr`c���td��}Gd�dtjt|f��}|�|jtjt|ff��dS)Nrc��eZdZdS)�'GenericTests.test_orig_bases.<locals>.CNr|rlr`r^rr_�r�r`r)rrMr rZr��__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�Br`c��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��(dSrd)r�)�.0rDr�rrs   ��r^�	<genexpr>zSGenericTests.test_naive_runtime_checks.<locals>.naive_dict_check.<locals>.<genexpr>�sT���������1��q�"�%�%�;�*�Q��*;�*;������r`)r�rQrrP�allr�)�obj�tprrs  @@r^�naive_dict_checkz@GenericTests.test_naive_runtime_checks.<locals>.naive_dict_check�s������2�$�%�%��)�
*�)�)��{�
�����B������� #�	�	���������
�
r`rVroc�F�t|d��st�|j|kS)NrH)�hasattrrrH�rhris  r^�naive_generic_checkzCGenericTests.test_naive_runtime_checks.<locals>.naive_generic_check�s)���3� 0�1�1�
*�)�)��%��+�+r`c��eZdZdS)�4GenericTests.test_naive_runtime_checks.<locals>.NodeNr|rlr`r^�Noderp�r�r`rqr^c�:��t�fd�|D����S)Nc3�d�K�|]*}t|�jdjd��V��+dS)rN)r�r`rP)rerVris  �r^rfzXGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check.<locals>.<genexpr>�sQ�����%�%��"�!�R�%6�q�%9�%B�1�%E�F�F�%�%�%�%�%�%r`)rgrms `r^�naive_list_base_checkzEGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check�s;����%�%�%�%� #�%�%�%�%�%�
%r`c��eZdZdS)�1GenericTests.test_naive_runtime_checks.<locals>.CNr|rlr`r^rrv�r�r`rr�r_)r�rMr rZr�r�r�rrr#r)rYrjrnrqrtrs      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)	Nrrrhc��eZdZdS)�.GenericTests.test_multi_subscr_base.<locals>.CNr|rlr`r^rrz�r�r`rc��eZdZdS)�.GenericTests.test_multi_subscr_base.<locals>.DNr|rlr`r^r1r|�r�r`r1rl)
rrr�rQr�rPr[r�r#r`)rYrrrhrr1s      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�!�}�+=�>�>�>�>�>r`c��td��}Gd�dt��}|�t|t|��|�t|t
f|t|t
f��|�td|fjt|f��dS)Nrc��eZdZdS)�.GenericTests.test_subscript_meta.<locals>.MetaNr|rlr`r^�Metar��r�r`r�.)	rr�r�r4rr�r"rP�Ellipsis)rYrr�s   r^�test_subscript_metaz GenericTests.test_subscript_meta�s����C�L�L�������4��������d��T�$�Z�0�0�0�����q�#�v��t�,�e�D�#�I�.>�?�?�?�����#�t�)�,�5��$�7G�H�H�H�H�Hr`c��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|rlr`r^r�r����������Cr`r�c�6�eZdZGd�dee��ZdS)�+GenericTests.test_generic_hashes.<locals>.Bc��eZdZdS)�-GenericTests.test_generic_hashes.<locals>.B.ANr|rlr`r^r�r����������r`r�N)rirjrkr#rr�rlr`r^r0r��sB������
�
�
�
�
�G�A�J�
�
�
�
�
r`r0z<locals>.A[str]]z<locals>.B.A[str]]zmod_generics_cache.A[str]]zmod_generics_cache.B.A[str]])r#rr�rKr�rZr0r�rr
r�rrrM�	FrozenSetr�r�r�rYr�r0s   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�	Cr`c�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)	Nrrrlc��eZdZdS)�9GenericTests.test_extended_generic_rules_eq.<locals>.BaseNr|rlr`r^�Baser�"r�r`r�c��eZdZdS)�<GenericTests.test_extended_generic_rules_eq.<locals>.DerivedNr|rlr`r^�Derivedr�#r�r`r�.)
rr�rr�rMr�r�r�rrZr"rr)rYrrr�r�s     r^�test_extended_generic_rules_eqz+GenericTests.test_extended_generic_rules_eqs$���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.�zUnion[Tuple, Callable]zUnion[Tuple, Tuple[int]].zCallable[..., Optional[int]]zCallable[[], List[int]])
rr�r�rrr"r�r�rrrCs  r^� test_extended_generic_rules_reprz-GenericTests.test_extended_generic_rules_repr(s(���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�	4r`c��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)NrV�CCc��dSrdrlr�s r^�foobarz5GenericTests.test_generic_forward_ref.<locals>.foobar4r�r`c��dSrdrlr�s r^�foobar2z6GenericTests.test_generic_forward_ref.<locals>.foobar25r�r`zCC | intc��dSrdrlr�s r^�foobar3z6GenericTests.test_generic_forward_ref.<locals>.foobar36r�r`c��eZdZdS)�1GenericTests.test_generic_forward_ref.<locals>.CCNr|rlr`r^r�r�7r�r`r.c��dSrdrlr�s r^�barfooz5GenericTests.test_generic_forward_ref.<locals>.barfooGr�r`c��dSrdrlr�s r^�barfoo2z6GenericTests.test_generic_forward_ref.<locals>.barfoo2Jr�r`)rr�r@r�r�r+r&r'rrr�r")
rYr�r�r�r�r�ATr��CTr�s
          r^�test_generic_forward_refz%GenericTests.test_generic_forward_ref3s���,�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�Lr`c
���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<r�N�rirjrkr�r�rlr`r^r<r�Ps��������D�z�M�M�M�M�Mr`r<r�c�N�eZdZUedeeedfed<dS)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C2r<r=r�N)rirjrkr�r�rr�rlr`r^r=r�Ws6��������D�$�t�D��J�/�0�0�1�1�1�1�1�1r`r=zf
        from __future__ import annotations
        class C3:
            a: List[list["C2"]]
        r>zList[list['C2']]rJrVc��dSrdrlr�s r^rgz7GenericTests.test_generic_pep585_forward_ref.<locals>.fnr�r`)r�r+r&r'r�r�rrz�textwrap�dedentr�r@)rYr<r=�scoper>rJrgs       r^�test_generic_pep585_forward_refz,GenericTests.test_generic_pep585_forward_refMs���	�	�	�	�	�	�	�	�����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�,�-�.�	
�	
�	
�	
�	
r`c��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|rlr`r^r�r�ur�r`r�c��eZdZdS)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T2Nr|rlr`r^r�r�vr�r`r�.c��eZdZd�ZdS)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.C1c��dS)NFrl)rY�items  r^�__contains__zMGenericTests.test_extended_generic_rules_subclassing.<locals>.C1.__contains__xs���ur`N)rirjrkr�rlr`r^r<r�ws#������
�
�
�
�
r`r<�.���zC1[int])rrrrM�	Containerr�rQr�rZrPrRr��splitr�r.r/r_r�r�r�rV�Sequencer�)rYr�r�r<s    r^�'test_extended_generic_rules_subclassingz4GenericTests.test_extended_generic_rules_subclassingt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#1swxYwYdSrd)r�r�rrrrr$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#1swxYwYdSrB)rr�r�rr#rrMr'rCs  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|rlr`r^�MyTupr��r�r`r�c��eZdZdS)�6GenericTests.test_type_erasure_special.<locals>.MyDictNr|rlr`r^�MyDictr��r�r`r�c��eZdZdS)�5GenericTests.test_type_erasure_special.<locals>.MyDefNr|rlr`r^�MyDefr��r�r`r�c��eZdZdS)�7GenericTests.test_type_erasure_special.<locals>.MyChainNr|rlr`r^�MyChainr��r�r`r�)
rrhrr�r�rGr�rHrMr �DefaultDictrZ�ChainMap)rYrr�r�r�r�s      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�Er`c�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��dSrd)�getattrrM)re�els  r^rfz4GenericTests.test_all_repr_eq_any.<locals>.<genexpr>�s,����=�=�����#�#�=�=�=�=�=�=r`r�rQro)rM�__all__r�r�r�r�r�rrQr�r�r
rPr�r!)rY�objsrh�bases    r^�test_all_repr_eq_anyz!GenericTests.test_all_repr_eq_any�s4��=�=�f�n�=�=�=���	1�	1�C�����S�	�	�2�.�.�.����S�#�&�&�&���-�t�4�4�
<�&�s�F�N�;�;�
<�"�3�#5�u�=�=�
<��C�.�/�/�1�4�
<�� � ��S��!2�S�F�;�;�;��#�t�$�$�
1��K�1�1�D��'�'��T�
�
�B�7�7�7��$�$�T�4�0�0�0�0��	1�	1r`c
��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|rlr`r^r0r��rr`r0c��eZdZdS)rNr|rlr`r^rr�rr`rr�r/rorh.rl)rr#r�rr%rrsrtrur�r�r�r�r
rrr"r$rZrr[rMr�r�r�r4r��AbstractSet)
rYrr0r`rrrarV�samplesr8�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�&�&�&�&�
'�	'�	'r`c���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|rlr`r^rqr��r�r`rqrl.)rr)rr#rr�rr"r
rMr�r rZr$rr�r�rr)rYrrq�thingsr�s     r^�test_copy_and_deepcopyz#GenericTests.test_copy_and_deepcopy�sM���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�����,�,�,�,�	-�	-r`c��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��TPBrt�TPV�PP)r�ro�TL�TLB�TLV�PL)rr�r�r�r[rZr�rDr�rrMr�r$r�rr
rr"rvr�rrrsrtrur�r�)rYrJrrr�r�r�r�s       r^�$test_immutability_by_copy_and_picklez1GenericTests.test_immutability_by_copy_and_pickle�sz���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>.Cr�r�Nc��||_dSrdr�r�s  r^r�z<GenericTests.test_copy_generic_instances.<locals>.C.__init__
r�r`r�r)s�r^rr�
s7�������
!�Q�
!�4�
!�
!�
!�
!�
!�
!r`rr�ro)	rr#r�rr�r�assertIsNotr�rH)rYrr`�cirs    @r^�test_copy_generic_instancesz(GenericTests.test_copy_generic_instances
s�����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�3r`c	���td��}tt|tftd|ft
ttfttttj	ttftjttj
dg}|D]2}|�tj|����|���3dS)Nr.�whatever)rr
rr�r"rrrrMr�rZr>r[r�r�r4r5)rYrr�r�s    r^�test_weakref_allzGenericTests.test_weakref_all)
s����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�	2r`c���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�rirjrk�	__slots__rlr`r^rr3
s������#�I�I�Ir`rrrVc��dSrdrlr�s r^r%z2GenericTests.test_parameterized_slots.<locals>.foo@
r�r`)
rr#r�rr�r�tomator�r+r&r'rr)rYrrr`�c_intr%s      r^�test_parameterized_slotsz%GenericTests.test_parameterized_slots1
s����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�Nrrlr`r^r1rF
s������!�2��I�I�Ir`r1�yes�no)rr#r�rr�rr�)rYrr1ra�d_ints     r^�test_parameterized_slots_dictz*GenericTests.test_parameterized_slots_dictD
sT���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|rlr`r^rrW
r�r`r)r�r�r�r�r
r#)rYr0rs   r^r�zGenericTests.test_errorsS
s���
�
�
�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|rlr`r^rr[
rr`rrr�r�zC[int]c��eZdZdS)�#GenericTests.test_repr_2.<locals>.YNr|rlr`r^rOre
rr`rOr)	r#rr�rjrirkr�r�r�)rYrrJrOs    r^�test_repr_2zGenericTests.test_repr_2Z
s0��	�	�	�	�	���
�	�	�	�	
�����x�0�0�0������>�	@�	@�	@�
�c�F�������x�0�0�0�����a�����s�+�+�B�/��:�:�:�	�	�	�	�	��#��	�	�	�	
�����x�0�0�0������>�	@�	@�	@�	@�	@r`c��|�tt��|�tttt��|�tttt
��dSrd)r�r#rr�rrr�s r^�	test_eq_1zGenericTests.test_eq_1l
sZ������'�*�*�*�������W�Q�Z�0�0�0����G�B�K����5�5�5�5�5r`c��Gd�dtt��}Gd�dtt��}|�||��|�||��|�|t|t��|�|t|t��dS)Nc��eZdZdS)�!GenericTests.test_eq_2.<locals>.ANr|rlr`r^r�r!s
rr`r�c��eZdZdS)�!GenericTests.test_eq_2.<locals>.BNr|rlr`r^r0r#v
rr`r0)r#rr�r�r�s   r^�	test_eq_2zGenericTests.test_eq_2q
s���	�	�	�	�	���
�	�	�	�	�	�	�	�	���
�	�	�	�	
����A�������A�q�!�!�!�����1��q��t�$�$�$����A�a�D�!�A�$�'�'�'�'�'r`c	��Gd�dtttf��}Gd�dtttf��}Gd�d|ttfttttf|ttf��}|�|jtttf��dS)Nc��eZdZdS)�1GenericTests.test_multiple_inheritance.<locals>.ANr|rlr`r^r�r'�
rr`r�c��eZdZdS)�1GenericTests.test_multiple_inheritance.<locals>.BNr|rlr`r^r0r)�
rr`r0c��eZdZdS)�1GenericTests.test_multiple_inheritance.<locals>.CNr|rlr`r^rr+�
rr`r)r#rrrr�rQ)rYr�r0rs    r^�test_multiple_inheritancez&GenericTests.test_multiple_inheritance~
s���	�	�	�	�	���2���	�	�	�	�	�	�	�	���A���	�	�	�	�	�	�	�	��!�R�%��'�"�a��)�,�a��A��h�	�	�	�	
����)�B��2�;�7�7�7�7�7r`c���td��}Gd�dt|��}Gd�dtt|��}|�|j|t|ttf��dS)Nrc��eZdZdS)�9GenericTests.test_multiple_inheritance_special.<locals>.BNr|rlr`r^r0r/�
r�r`r0c��eZdZdS)�9GenericTests.test_multiple_inheritance_special.<locals>.CNr|rlr`r^rr1�
r�r`r)rr#rr�r�r!r�r�)rYrr0rs    r^�!test_multiple_inheritance_specialz.GenericTests.test_multiple_inheritance_special�
st���C�L�L�� � � � � ���
� � � �"�"�"�"�"��S�	�1�"�"�"������Q��a��&�$A�B�B�B�B�Br`c����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|rlr`r^�FinalExceptionr5�
rr`r6c�&���eZdZd���fd�Z�xZS)�;GenericTests.test_init_subclass_super_called.<locals>.Finalr�Nc���|jD]!}|�urt|���r�|����"t��jdi|��dSr�)r[rVrMr)rZrr�r%r6rGs   ���r^rzMGenericTests.test_init_subclass_super_called.<locals>.Final.__init_subclass__�
sf����M�3�3�D��5�(�3�Z��e�-D�-D�3�,�n�T�2�2�2��)����)�3�3�F�3�3�3�3�3r`)r�Nr)rGr%r6s@��r^r%r8�
sH��������
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4�
4r`r%c��eZdZdS)�:GenericTests.test_init_subclass_super_called.<locals>.TestNr|rlr`r^r4r;�
rr`r4c��eZdZdS��>GenericTests.test_init_subclass_super_called.<locals>.SubclassNr|rlr`r^�Subclassr>�
r�r`r?c��eZdZdSr=r|rlr`r^r?z>GenericTests.test_init_subclass_super_called.<locals>.Subclass�
r�r`)�	Exceptionr#rr�r�)rYr4r?r%r6s   @@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�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�~�
.�
.�	�	�
�
�
�
�
�4��9�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	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>.VisitorNr�c��||_dSrdr$�rYr�s  r^�setz-GenericTests.test_nested.<locals>.Visitor.set�
rr`c��|jSrdr$r�s r^r�z-GenericTests.test_nested.<locals>.Visitor.get�
�	���v�
r`r�c��|jSrdr$r�s r^�visitz/GenericTests.test_nested.<locals>.Visitor.visit�
rJr`)rirjrkr�rrHr�rLrlr`r^�VisitorrE�
s^�������A�
�Q�
�
�
�
�
�
�
�
�q�
�
�
�
�
�
r`rMc��eZdZdefd�ZdS)�0GenericTests.test_nested.<locals>.IntListVisitorrVc�:�|j�|��dSrd)r�r�rs  r^r�z7GenericTests.test_nested.<locals>.IntListVisitor.append�
s����
�
�a� � � � � r`N)rirjrkr�r�rlr`r^�IntListVisitorrO�
s/������
!��
!�
!�
!�
!�
!�
!r`rQror�)	r#rrMrr�rHr�r�r�)rYr/rMrhrQr�s      r^�test_nestedzGenericTests.test_nested�
s�����	�	�	�	�	�a��d�	�	�	�
�F�K��$�%��	!�	!�	!�	!�	!�Q�	!�	!�	!�

�N����	���b�	�	�	�	�������	���������������1�b�'�*�*�*�*�*r`c�����td���G�fd�dt����d�f���fd�}|d��dS)Nrc�*��eZdZ		dd�ddddfd�ZdS)�,GenericTests.test_type_erasure.<locals>.NodeNr��left�Node[T]�rightc�0�||_||_||_dSrd�r�rVrX)rYr�rVrXs    r^r�z5GenericTests.test_type_erasure.<locals>.Node.__init__�
s��#��
� ��	�"��
�
�
r`�NNr�r)s�r^rqrU�
sK�������+/�,0�
#�
#�a�
#�(�
#� )�
#�
#�
#�
#�
#�
#r`rqrVc�����|��}��|��}�t|��}��t|�������t|�������t|�������|j|����|j|����|j|��dSrd)r
r�r�r�r�)rVr�r_r`rqrrYs    ���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�(�(�(�(�(r`r��rr#)rYr%rqrs` @@r^rIzGenericTests.test_type_erasure�
s�������C�L�L��	#�	#�	#�	#�	#�	#�	#�7�1�:�	#�	#�	#�		)�1�		)�		)�		)�		)�		)�		)�		)�		)�	��B�����r`c��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|rlr`r^rr`�
rr`rc��eZdZdS)�)GenericTests.test_implicit_any.<locals>.DNr|rlr`r^r1rb�
rr`r1rl)rr#r�rQr�rAr�r
r2s    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|rlr`r^r�rf�
rr`r�c���eZdZ�fd�Z�xZS)�*GenericTests.test_new_with_args.<locals>.Bc�X��t���|��}||_|Srd)rMrNr��rZr�rhrGs   �r^rNz2GenericTests.test_new_with_args.<locals>.B.__new__�
s$����g�g�o�o�c�*�*������
r`rOrQs@r^r0rh�
�8�������
�
�
�
�
�
�
�
�
r`r0c��eZdZdS)�*GenericTests.test_new_with_args.<locals>.CNr|rlr`r^rrm�
rr`rr%)r#rr�r��rYr�r0rr`s     r^�test_new_with_argszGenericTests.test_new_with_args�
s���	�	�	�	�	���
�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	��1�	�	�	�
�A�e�H�H��������&�&�&�&�&r`c���Gd�d��}Gd�dtt|��}|d��}|�|jd��|�|jd��dS)Nc���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Ac�V��||_t�����dSrd)�from_arMr��rYr�rGs  �r^r�z4GenericTests.test_new_with_args2.<locals>.A.__init__s&���!������ � �"�"�"�"�"r`r�rQs@r^r�rrs8�������
#�
#�
#�
#�
#�
#�
#�
#�
#r`r�c���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Cc�X��||_t���|��dSrd)�from_crMr�rus  �r^r�z4GenericTests.test_new_with_args2.<locals>.C.__init__	s(���!������ � ��%�%�%�%�%r`r�rQs@r^rrws8�������
&�
&�
&�
&�
&�
&�
&�
&�
&r`rr%)r#rr�rtry)rYr�rr`s    r^�test_new_with_args2z GenericTests.test_new_with_args2�
s���	#�	#�	#�	#�	#�	#�	#�	#�	&�	&�	&�	&�	&���
�A�	&�	&�	&�
�A�e�H�H�������5�)�)�)������5�)�)�)�)�)r`c��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|rlr`r^r�r}rr`r�r%c���eZdZ�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Bc�X��t���|��}d|_|S)Nr_)rMrN�from_b)rZrhrGs  �r^rNz0GenericTests.test_new_no_args.<locals>.B.__new__�$����g�g�o�o�c�*�*�� ��
��
r`rOrQs@r^r0rrkr`r0c�$��eZdZd�Z�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Cc��||_dSrdr�r�s  r^r�z1GenericTests.test_new_no_args.<locals>.C.__init__#s
������r`c�X��t���|��}d|_|S)Nr`)rMrNryrjs   �r^rNz0GenericTests.test_new_no_args.<locals>.C.__new__&r�r`)rirjrkr�rNrPrQs@r^rr�"sG�������
�
�
�
�
�
�
�
�
�
�
�
r`rr_r`)r#rr�r�r�r�r�ryrns     r^�test_new_no_argszGenericTests.test_new_no_argssY��	�	�	�	�	���
�	�	�	��
�
�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)	Nrcr�)r\�^zCannot subclass �$c��eZdZdS)�4GenericTests.test_subclass_special_form.<locals>.FooNr|rlr`r^rr�?��������r`r)r$r�r%rrvrrrErDrHrvr�r��re�escape)rYrhrs   r^�test_subclass_special_formz'GenericTests.test_subclass_special_form1s����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)	Nr^Tr_c��eZdZdS)�2GenericTests.test_complex_subclasses.<locals>.BaseNr|rlr`r^r�r�Er�r`r�rc��eZdZdS)�1GenericTests.test_complex_subclasses.<locals>.SubNr|rlr`r^�Subr�Kr�r`r�r])rYr^r�rr�s     r^�test_complex_subclassesz$GenericTests.test_complex_subclassesBs����v��.�.�.��	�	�	�	�	�7�4�=�	�	�	�
�C�L�L��	�	�	�	�	�$���
�	�	�	�	�	r`c	�>�|�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)rirjrkrrQrlr`r^r�r�Qs�������T�N�N�Nr`r�)r��subz.* is not a generic class)r�rrrQr�r�rrrDr
r0�	UnionTypervr�r�rZ)rYr�r�r_s    r^�test_parameter_detectionz%GenericTests.test_parameter_detectionNs�������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,N)7rirjrkr
r�rrr�rrrr#r)r3r9r>rSr\rarwr}r�r�r�r�r�r�r�r�r�r�r�r:r�r�r�rrrr�rrr$r,r2rBrRrIrcrorzr�r�r�r�rlr`r^r�r��
sE������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�9�9r`r�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
ClassVarTestsc�<�|�t��5tttfddd��n#1swxYwY|�t��5tttddd��dS#1swxYwYdSrd)r�r�r$r�rZr�s r^r
zClassVarTests.test_basicsas��
�
�
�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{ri�rY�cvs  r^r�zClassVarTests.test_reprgsw������h���):�;�;�;�
�c�]������b���#9�:�:�:�
�h�
������b���#A�H�#L�M�M�M�M�Mr`c	�f�|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dttt����}ddd��dS#1swxYwYdS)Nc��eZdZdS��-ClassVarTests.test_cannot_subclass.<locals>.CNr|rlr`r^rr�pr�r`rc��eZdZdSr�r|rlr`r^rz-ClassVarTests.test_cannot_subclass.<locals>.Csr�r`)r�r�r�r$r�rs  r^r�z"ClassVarTests.test_cannot_subclassnsK��
�
�
�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#1swxYwYdSrd)r�r�r$r�rr�r�s r^rzClassVarTests.test_cannot_initv���
�
�
�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#1swxYwYdSr)r�r�r�r$r�rVr�s r^rz ClassVarTests.test_no_isinstance~���
�
�
�y�
)�
)�	)�	)��q�(�3�-�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�
�
�
�y�
)�
)�	&�	&��s�H�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&�#�!A�A�A�-B�B�BN�rirjrkr
r�r�rrrlr`r^r�r�_sb���������N�N�N����,�,�,�&�&�&�&�&r`r�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
FinalTestsc��tt|�t��5tttfddd��n#1swxYwY|�t��5tttddd��n#1swxYwY|�t��5t
ttddd��dS#1swxYwYdSrd)r%r�r�r�rZrr�s r^r
zFinalTests.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{rir�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���#=�>�>�>�>�>r`c	�f�|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dttt����}ddd��dS#1swxYwYdS)Nc��eZdZdS��*FinalTests.test_cannot_subclass.<locals>.CNr|rlr`r^rr��r�r`rc��eZdZdSr�r|rlr`r^rz*FinalTests.test_cannot_subclass.<locals>.C�r�r`)r�r�r�r%r�rs  r^r�zFinalTests.test_cannot_subclass�sK��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��K�K�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��s��$�$�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c���|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5tttt
����ddd��dS#1swxYwYdSrd)r�r�r%r�rr�r�s r^rzFinalTests.test_cannot_init�s���
�
�
�y�
)�
)�	�	��G�G�G�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��K�K�M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	)�	)�&�D��x��}�%�&�&�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)r�c�D�|�t��5tdtt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSr)r�r�r�r%r�rVr�s r^rzFinalTests.test_no_isinstance�s��
�
�
�y�
)�
)�	&�	&��q�%��*�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�
�
�
�y�
)�
)�	#�	#��s�E�"�"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#r�Nr�rlr`r^r�r��s_������!�!�!�?�?�?����)�)�)�#�#�#�#�#r`r�c��eZdZd�Zd�ZdS)�FinalDecoratorTestsc�R�d�}|�|t|����dS)Nc��dSrdrlr�s r^�funcz7FinalDecoratorTests.test_final_unmodified.<locals>.func�r�r`)r�r&�rYr�s  r^�test_final_unmodifiedz)FinalDecoratorTests.test_final_unmodified�s+������
�
�d�E�$�K�K�(�(�(�(�(r`c���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��dSrdrlrlr`r^r�z3FinalDecoratorTests.test_dunder_final.<locals>.func�����Cr`c��eZdZdS)�2FinalDecoratorTests.test_dunder_final.<locals>.ClsNr|rlr`r^�Clsr��s�������3r`r�Tc��eZdZdZd�Zd�ZdS)�6FinalDecoratorTests.test_dunder_final.<locals>.Wrapper�r�c��||_dSrdr�r�s  r^r�z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__init__�r�r`c��|j|i|��Srdr��rYr�rs   r^rEz?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__call__�s�� �t�y�$�1�&�1�1�1r`N)rirjrkrr�rErlr`r^�Wrapperr��s7������!�I�
!�
!�
!�
2�
2�
2�
2�
2r`r�c��dSrdrlrlr`r^�wrappedz6FinalDecoratorTests.test_dunder_final.<locals>.wrapped�s���sr`F�	__final__c�$�eZdZed���ZdS)�3FinalDecoratorTests.test_dunder_final.<locals>.Metac��dS)N�can't set merlr�s r^r�z=FinalDecoratorTests.test_dunder_final.<locals>.Meta.__final__�s��(6�r`N)rirjrk�propertyr�rlr`r^r�r��s#������
�6�6��X�6�6�6r`r�c��eZdZdS)�7FinalDecoratorTests.test_dunder_final.<locals>.WithMetaNr|rlr`r^�WithMetar��s������(+�r`r���	metaclassr�c��eZdZeed�����Zeed�����Zeed�����Z	ee
��d�����ZdS)�6FinalDecoratorTests.test_dunder_final.<locals>.Methodsc��dSrdrl�rZs r^�	clsmethodz@FinalDecoratorTests.test_dunder_final.<locals>.Methods.clsmethod�s�� #�r`c��dSrdrlrlr`r^�stmethodz?FinalDecoratorTests.test_dunder_final.<locals>.Methods.stmethod�����Cr`c��dSrdrlr�s r^�propz;FinalDecoratorTests.test_dunder_final.<locals>.Methods.prop�r�r`c��dSrdrlr�s r^�cachedz=FinalDecoratorTests.test_dunder_final.<locals>.Methods.cached�s��!�cr`N)rirjrkr&rr��staticmethodr�r�r�rr�rlr`r^�Methodsr��s�������
�
�#�#��[��U�#�
�
����\��U���
����U��X��
�
�Y�[�[�!�!��[��U�!�!�!r`r�r�r�)
r&r�r�r�rlr�r�r��inspect�getattr_staticr��fgetr�)rYr�r�r�r�r�r�r�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�5r`N)rirjrkr�r�rlr`r^r�r��s7������)�)�)�B6�B6�B6�B6�B6r`r�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�rvr�r�r
r�rrZrr�s r^r
zCastTests.test_basics�s������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����,�,�,�,�,r`c�F�tdd��tdd��dS�Nr��hello)r)r�s r^r�zCastTests.test_errorss%���R������W�b�����r`N�rirjrkr
r�rlr`r^r�r��s2������-�-�-�����r`r�c��eZdZd�Zd�ZdS)�AssertTypeTestsc�X�d}|�t|t��|��|�t|ttz��|��|�t|t
��|��|�t|d��|��dSr�)r�r(r�rZrvrr�s  r^r
zAssertTypeTests.test_basics
s������
�
�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�2r`c��d}|�t|d��|��|�t|d��|��dSr�)r�r(r�s  r^r�zAssertTypeTests.test_errorssI�����
�
�k�#�r�*�*�C�0�0�0��
�
�k�#�w�/�/��5�5�5�5�5r`Nr�rlr`r^r�r�s2������3�3�3�6�6�6�6�6r`r�)�ann_module8c�&�eZdZejjZdS)�NoTypeCheck_OuterN)rirjrkr�r��Innerrlr`r^r�r�s�������)�/�E�E�Er`r�c��eZdZejZdS)�NoTypeCheck_WithFunctionN)rirjrkr��NoTypeCheck_functionrlr`r^rr"s������&�;���r`rc���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)%�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>.Noder�c�0�||_dx|_|_dSrdrZ)rYr�s  r^r�z2ForwardRefTests.test_basics.<locals>.Node.__init__-s��"��
�)-�-��	�D�J�J�Jr`NrVzOptional[Node[T]]rXrW�stuffc�"�||_||_dSrd)rVrX)rYrVrXr�blahs     r^�add_bothz2ForwardRefTests.test_basics.<locals>.Node.add_both1s��
!��	�"��
�
�
r`�nodec�2�|�|d��dSrd�r�rYrs  r^�add_leftz2ForwardRefTests.test_basics.<locals>.Node.add_left9����
�
�d�D�)�)�)�)�)r`c�2�|�d|��dSrdrrs  r^�	add_rightz3ForwardRefTests.test_basics.<locals>.Node.add_right<rr`)NNNrd)rrW)
rirjrkrr�r�rrrrrlr`r^rqr+s�������
.�a�
.�
.�
.�
.�-1�&*�"�	
#�
#�2�
#� )�
#�!$�
#�
#�
#�
#�
*�X�i�%8�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*�
*r`rqrVrXrr
r)r#rr�r+rr&r'r�r�assertNotInrr)rYrqr��
both_hints�
left_hints�right_hintss      r^r
zForwardRefTests.test_basics)sI��	*�	*�	*�	*�	*�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�6r`c��tjd��}|�t��5t	d|��ddd��dS#1swxYwYdS)Nr�r�)rMr@r�r�r��rY�frs  r^�#test_forwardref_instance_type_errorz3ForwardRefTests.test_forwardref_instance_type_errorLs���
�
�u�
%�
%��
�
�
�y�
)�
)�	�	��r�2����	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��tjd��}|�t��5t	t
|��ddd��dS#1swxYwYdS)Nr�)rMr@r�r�rVr�rs  r^�#test_forwardref_subclass_type_errorz3ForwardRefTests.test_forwardref_subclass_type_errorQs���
�
�u�
%�
%��
�
�
�y�
)�
)�	 �	 ��s�B����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�A�A�Ac��|�t��5tjd��ddd��dS#1swxYwYdSr)r�r�rMr@r�s r^�test_forwardref_only_str_argz,ForwardRefTests.test_forwardref_only_str_argVs���
�
�
�y�
)�
)�	!�	!���a� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�=�A�Ac�&�tjd��}|�|tjd����|�tdtt
��|�|tjdt�����tjdt���}|�|tjdt�����|�|tjdd�����dS)Nr���module�__other_name__)rMr@r�r�rr�ri)rYr�frms   r^�test_forward_equalityz%ForwardRefTests.test_forward_equalityZs���
�
�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�Sr`c��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)Nrc��eZdZdS)�4ForwardRefTests.test_forward_equality_gth.<locals>.CNr|rlr`r^rr(irr`r�r_c��dSrdrl�r�r_s  r^r%z6ForwardRefTests.test_forward_equality_gth.<locals>.fookrr`r*)
rMr@r�r+r&r'rr�rr�)rYrV�c1_gthrW�c2_gthrr%s       r^�test_forward_equality_gthz)ForwardRefTests.test_forward_equality_gthcs���
�
�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��@�@�@�@�@r`c	�<�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�r�r_c��dSrdrlr*s  r^r%z7ForwardRefTests.test_forward_equality_hash.<locals>.foo~rr`r!r#)	rMr@r+r&r'r�rUrir�)rYrVr+rWr,r%�c3�c4s        r^�test_forward_equality_hashz*ForwardRefTests.test_forward_equality_hashxs���
�
�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�Sr`c���Gd�d��}d�}d�}|�|��|����|�|��|����dS)Nc��eZdZdS)�:ForwardRefTests.test_forward_equality_namespace.<locals>.ANr|rlr`r^r�r5�rr`r�c��tjd��}d|fd�}t|t��t	����|S)Nr�rVc��dSrdrlr�s r^r�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace1.<locals>.fun�r�r`�rMr@r+r&r')r�r�s  r^�
namespace1zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace1�sL���!�#�&�&�A�
�q�
�
�
�
��3��	�	�6�8�8�4�4�4��Hr`c��tjd��}Gd�d��}d|fd�}t|t��t	����|S)Nr�c��eZdZdS)�NForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.ANr|rlr`r^r�r<�r�r`rVc��dSrdrlr�s r^r�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.fun�r�r`r8)r�r�r�s   r^�
namespace2zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace2�sv���!�#�&�&�A�
�
�
�
�
�
�
�
�
�q�
�
�
�
�
�3��	�	�6�8�8�4�4�4��Hr`)r�r�)rYr�r9r>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�7r`c	���|�ttd��d��|�tttdd�����d��dS)Nr�ztyping.List[ForwardRef('int')]�modr!z,typing.List[ForwardRef('int', module='mod')])r�r�rr@r�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�	Ir`c��dtdfd�}|�t|t��t	����dtt
i��dttd��tzfd�}|�t|t��t	����dtt
tzi��dS)Nr�rc��dSrdrlr$s r^r%z/ForwardRefTests.test_union_forward.<locals>.foo�rr`c��dSrdrlr$s r^r%z/ForwardRefTests.test_union_forward.<locals>.foo�rr`)	rr�r+r&r'rr�r@r��rYr%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�	0r`c��dtdfd�}|�t|t��t	����dtt
i��dttd��fd�}|�t|t��t	����dtt
i��dS)Nr�rc��dSrdrlr$s r^r%z/ForwardRefTests.test_tuple_forward.<locals>.foo�rr`c��dSrdrlr$s r^r%z/ForwardRefTests.test_tuple_forward.<locals>.foo�rr`)rr�r+r&r'rr�r@rFs  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��	*�	*�	*�	*�	*r`c��dd�}|�t|t��t����dtt
i��dS)Nr��List['int']c��dSrdrlr$s r^r%z0ForwardRefTests.test_double_forward.<locals>.foo�rr`)r�rM)r�r+r&r'rr�rFs  r^�test_double_forwardz#ForwardRefTests.test_double_forward�sZ��	�	�	�	������W�Y�Y����A�A��t�C�y�)�	+�	+�	+�	+�	+r`c��d�}d�}d�}|��}|��}|�||��|�t|||��dS)Nc��tjd��}|}d|fd�}t|t��t	����}|S)Nr�rVc��dSrdrlr�s r^r�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace1.<locals>.fun�r�r`r8�r�r�r��rets    r^r9zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace1��F���!�#�&�&�A��A��q����� ��g�i�i����:�:�C��Hr`c��tjd��}|}d|fd�}t|t��t	����}|S)Nr�rVc��dSrdrlr�s r^r�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace2.<locals>.fun�r�r`r8rSs    r^r>zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace2�rUr`c��||kSrdrl)�o1�o2s  r^�cmpz<ForwardRefTests.test_forward_recursion_actually.<locals>.cmp�s����8�Or`)r�r��RecursionError)rYr9r>r[�r1�r2s      r^�test_forward_recursion_actuallyz/ForwardRefTests.test_forward_recursion_actually�s}��	�	�	�	�	�	�	�	�	��Z�\�\��
�Z�\�\������R� � � ����.�#�r�2�6�6�6�6�6r`c�|���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)rirjrkrr�)ras�r^rrc�s#���������e������r`rc�,��eZdZUe��fed<dS)�7ForwardRefTests.test_union_forward_recursion.<locals>.Dr%N)rirjrkrr��ra�	ValueLists��r^r1re�s)���������u�i�'�(�(�(�(�(�(r`r1c�8��eZdZUee��fed<dS)�7ForwardRefTests.test_union_forward_recursion.<locals>.Er%N�rirjrkrrr�rfs��r^r2ri�s-���������t�E�{�I�-�.�.�.�.�.�.r`r2c�:��eZdZUe�e��fed<dS)�7ForwardRefTests.test_union_forward_recursion.<locals>.Fr%Nrjrfs��r^rFrl�s/���������u�d�5�k�9�4�5�5�5�5�5�5r`rFr%)rrrZr�r+r&r')rYrr1r2rFrargs     @@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�"��	�	�	�	�	r`c���dtdgdffd�}|�t|t��t	����dtt
gt
fi��dS)Nr�rc��dSrdrlr$s r^r%z2ForwardRefTests.test_callable_forward.<locals>.foorr`)r"r�r+r&r'rrFs  r^�test_callable_forwardz%ForwardRefTests.test_callable_forwardsu��	�8�S�E�3�J�'�	�	�	�	�	
�����W�Y�Y����A�A��x���Q��/�0�	2�	2�	2�	2�	2r`c��dd�}|�t|t��t����dtdt
fi��dS)Nr��Callable[..., T]c��dSrdrlr$s r^r%z@ForwardRefTests.test_callable_with_ellipsis_forward.<locals>.foorr`.)r�rr)r�r+r&r'r"rrFs  r^�#test_callable_with_ellipsis_forwardz3ForwardRefTests.test_callable_with_ellipsis_forwardsa��	�	�	�	�	
�����W�Y�Y����A�A��x��Q��/�0�	2�	2�	2�	2�	2r`c���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>.Cre)�
ClassVar[int])r_rfr�)�
Final[int]�constr_r$rVr%r`N)	rirjrkr�r?r�r_rVr`rlr`r^rrwsY�������45�A�y�0�1�5�5�5�23�A�y�.�/�3�3�3��A�z�����A�w�N�N�N�N�Nr`rc�*�eZdZUdZeded<dS)�6ForwardRefTests.test_special_forms_forward.<locals>.CFreryr_N)rirjrkr_rr�rlr`r^�CFr|s'�������$%�A�t�L�!�%�%�%�%�%r`r}r�r_rVr`)r�r+r&r$r�r%r�r�)rYrr}s   r^�test_special_forms_forwardz*ForwardRefTests.test_special_forms_forwards���	�	�	�	�	�	�	�	�	&�	&�	&�	&�	&�	&�	&�	&�	
�����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_error(s���
�
�
�{�
+�
+�	�	��D�M�M�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c��dd�}|�t��5t|��ddd��dS#1swxYwYdS)Nr��Node[Tc��dSrdrlr$s r^r%z6ForwardRefTests.test_delayed_syntax_error.<locals>.foo/rr`)r�r�)r�r�r+rFs  r^�test_delayed_syntax_errorz)ForwardRefTests.test_delayed_syntax_error-s���	�	�	�	��
�
�{�
+�
+�	 �	 ��3����	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �	 �	 s�<�A�Ac��dd�}|�t��5t|t����ddd��dS#1swxYwYdS)Nr��Noode[T]c��dSrdrlr$s r^r%z,ForwardRefTests.test_name_error.<locals>.foo7rr`)r�r�)r��	NameErrorr+r'rFs  r^�test_name_errorzForwardRefTests.test_name_error5s���	�	�	�	��
�
�y�
)�
)�	*�	*��3����)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�	*�	*s�A	�	A
�A
c�z�tdddifd���}t|��}|�|i��dS)Nr��	whateversr�c��dSrdrlr$s r^r%z/ForwardRefTests.test_no_type_check.<locals>.foo?����Dr`)r1r+r�)rYr%�ths   r^�test_no_type_checkz"ForwardRefTests.test_no_type_check=sY��	�	�;�	�2�	�	�	�
��	��C�
 �
 ������R� � � � � r`c���tGd�d����}t|j��}|�|i��t|��j��}|�|i��dS)Nc��eZdZdddifd�ZdS)�3ForwardRefTests.test_no_type_check_class.<locals>.Cr�r�r�c��dSrdrlr$s r^r%z7ForwardRefTests.test_no_type_check_class.<locals>.C.fooJr�r`N�rirjrkr%rlr`r^rr�H�6������
�{�
�r�
�
�
�
�
�
r`r)r1r+r%r�)rYr�cth�iths    r^�test_no_type_check_classz(ForwardRefTests.test_no_type_check_classFs���	�	�	�	�	�	�	�	�
��	��Q�U�#�#������b�!�!�!��Q�Q�S�S�W�%�%������b�!�!�!�!�!r`c�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>.CrVc��dSrdrlrs  r^r�z;ForwardRefTests.test_no_type_check_no_bases.<locals>.C.methTr�r`N�rirjrkr�r�rlr`r^rr�Ss!������'�c�'�'�'�'�'�'r`rc���eZdZ�ZdS)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.DN)rirjrkr`�rs�r^r1r�Us��������A�A�Ar`r1rVc��eZdZdefd�ZdS)�:ForwardRefTests.test_no_type_check_no_bases.<locals>.ChildrVc��dSrdrlrs  r^r%z>ForwardRefTests.test_no_type_check_no_bases.<locals>.Child.foo^r�r`N)rirjrkr�r%rlr`r^�Childr�]s!������&�S�&�&�&�&�&�&r`r�)r1r�r+r�r�r%)rYr1r�rs   @r^�test_no_type_check_no_basesz+ForwardRefTests.test_no_type_check_no_basesRs����	(�	(�	(�	(�	(�	(�	(�	(�	�	�	�	�	�	�	�	��	�	�
��	�	
������/�/�#�s��<�<�<�	'�	'�	'�	'�	'�A�	'�	'�	'�	
�����	�2�2�S�#�J�?�?�?�?�?r`c��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�Nr�rlr`r^r�r�dr�r`r�c��eZdZUeed<dS)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Br�Nr�rlr`r^r0r�fr�r`r0c�R�eZdZUeed<Gd�d��ZGd�d��ZeZdS)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Ar�c�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`Nr�rlr`r^rr�ms��������F�F�F�F�Fr`rN)rirjrkr�r�rrlr`r^r0r�ksG��������������������r`r0c��eZdZUeed<dS)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.DraNr�rlr`r^r1r�o�������������r`r1N)rirjrkr�r�r0r1r�rlr`r^r�r�hsp��������F�F�F�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
��E�E�Er`r�)�klass)�not_modified)r1r0rr1rvr��__no_type_check__r�r+r�rr�)rYr�r0r�r�r�s      r^�test_no_type_check_nested_typesz/ForwardRefTests.test_no_type_check_nested_typesbsq��	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�		�		�		�		�		�		�		�
��		����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>.SomerVr�c��dSrdrlr�s r^�stzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.st�s��#&�3r`r`c��dSrdrl)rZr`s  r^�clzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.cl�s��(+�r`N)rirjrkr�r�r�rr�rlr`r^�Somer��sP������
�&�c�&�c�&�&�&��\�&�
�+�3�+�3�+�+�+��[�+�+�+r`r�)r1r�r�r�r�r+r�)rYr�s  r^�+test_no_type_check_class_and_static_methodsz;ForwardRefTests.test_no_type_check_class_and_static_methodss���	�	,�	,�	,�	,�	,�	,�	,�
��	,�	
�����1�2�2�2�������0�0�"�5�5�5������1�2�2�2�������0�0�"�5�5�5�5�5r`c� �|�tj��|�t��5t
jjddd��n#1swxYwY|�t��5t
jjjddd��n#1swxYwY|�tj��|�t��5t
jjddd��dS#1swxYwYdSrd)	r�r�r�r�rr�r�rrr�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��dSrdrlr�s r^r�zBForwardRefTests.test_no_type_check_foreign_functions.<locals>.some�s���Cr`c�@��eZdZ�Ze���Ze���ZdS)�?ForwardRefTests.test_no_type_check_foreign_functions.<locals>.AN)rirjrk�
some_aliasr�
some_classr��some_static)r�s�r^r�r��s2��������J�$��T�*�*�J�&�,�t�,�,�K�K�Kr`r�)r�r�)r�r1r�rr�r�r+)rYr�r�s  @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��|Srdrlr�s r^�<lambda>z=ForwardRefTests.test_no_type_check_lambda.<locals>.A.<lambda>�s��C�r`rN)rirjrkrr"r�r�rlr`r^r�r��s1�������)8��C��3�%��*�%�7�7�7�7�7r`r�)r1r�rr�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�3r`c�.�tt��dSrd)r1r�r�s r^�test_no_type_check_TypeErrorz,ForwardRefTests.test_no_type_check_TypeError�s��	�d�����r`c��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)rirjrkr%rMr$r�r�rlr`r^rr��s)�������()�C����%�)�)�)�)�)r`rc�*�eZdZUdZeeed<dS)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Dr�r%N)rirjrkr%r$r�r�rlr`r^r1r��s&�������!"�C��#��"�"�"�"�"r`r1c��eZdZUdZded<dS)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Er�r�r%N�rirjrkr%r�rlr`r^r2r��s#�������*+�C�'�+�+�+�+�+r`r2c��eZdZUdZded<dS)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Fr�rxr%Nr�rlr`r^rFr��s"�������#$�C��$�$�$�$�$r`rFr%)rMr$r�r�r+)rYrr1r2rF�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�	Er`c���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%Nr�rlr`r^r2r��s#�������;<�C�8�<�<�<�<�<r`r2c�*�eZdZUdZeded<dS)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Fr�rxr%N)rirjrkr%r$r�rlr`r^rFr��s'�������-.�C��/�*�.�.�.�.�.r`rF)r�r�r+)rYr2rFr�s    r^�,test_nested_classvar_fails_forward_ref_checkz<ForwardRefTests.test_nested_classvar_fails_forward_ref_check�s���	=�	=�	=�	=�	=�	=�	=�	=�	/�	/�	/�	/�	/�	/�	/�	/���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��|Srdrlr�s r^�magic_decoratorz@ForwardRefTests.test_meta_no_type_check.<locals>.magic_decorator�s���Kr`r�r�r�r�c��dSrdrlr$s r^r%z4ForwardRefTests.test_meta_no_type_check.<locals>.foo�r�r`c��eZdZdddifd�ZdS)�2ForwardRefTests.test_meta_no_type_check.<locals>.Cr�r�r�c��dSrdrlr$s r^r%z6ForwardRefTests.test_meta_no_type_check.<locals>.C.foo�r�r`Nr�rlr`r^rr��r�r`rr%)r2r�rir+r%)rYr�r%rr�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�!�!�!�!�!r`c��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
rr1)r�r�)rzr+r%r�)rYr|�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�Br`c��|�ttt����dtt��|�ttt����dtt��|�ttt����dt��dS)Nr�)r�r��Loopr&r%r�r�r�s r^�test_final_forward_refz&ForwardRefTests.test_final_forward_ref�s�������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�%�@�@�@�@�@r`c��td��}|�|dzt|df��|�d|ztd|f��dSrU)r@r�rrKs  r^rWzForwardRefTests.test_or�sW���s�O�O������S��%��3��-�0�0�0�����q��%��Q��-�0�0�0�0�0r`N)&rirjrkr
rrrr%r-r2r?rBrGrKrOr_rmrprtr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rWrlr`r^rr'sA������!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�1r`rc��d|z|zS)Nr_rlr�s  r^�cached_funcr��s���q�5�1�9�r`c�@�eZdZed���Zed���Zd�ZdS)�MethodHolderc��dSrdrlr�s r^r�zMethodHolder.clsmethods���r`c��dSrdrlrlr`r^r�zMethodHolder.stmethodr�r`c��dSrdrlr�s r^�methodzMethodHolder.methodr�r`N)rirjrkrr�r�r�r�rlr`r^r�r�s?����������[������\������r`r�c�d�eZdZd�Zd�Zd�Zeded�����d���Zd�Z	dS)	�
OverloadTestsc��|�t��5td���}|��ddd��dS#1swxYwYdS)Nc��dSrdrlrlr`r^r
z/OverloadTests.test_overload_fails.<locals>.blahs���r`)r��RuntimeErrorr�rYr
s  r^�test_overload_failsz!OverloadTests.test_overload_failss���
�
�
�|�
,�
,�	�	�
�
�
��X�
�
�D�F�F�F�
	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�
Ac�@�td���}d�}|��dS)Nc��dSrdrlrlr`r^r
z2OverloadTests.test_overload_succeeds.<locals>.blahr�r`c��dSrdrlrlr`r^r
z2OverloadTests.test_overload_succeeds.<locals>.blahrr`�rr	s  r^�test_overload_succeedsz$OverloadTests.test_overload_succeedss;��	�	�	�
��	�	�	�	�	
������r`c�d�d�}|}t|��d�}|}t|��d�}|||gfS)Nc��dSrdrlrlr`r^r
z,OverloadTests.set_up_overloads.<locals>.blahrr`c��dSrdrlrlr`r^r
z,OverloadTests.set_up_overloads.<locals>.blah%rr`c��dSrdrlrlr`r^r
z,OverloadTests.set_up_overloads.<locals>.blah+rr`r
	)rYr
�	overload1�	overload2s    r^�set_up_overloadszOverloadTests.set_up_overloadsse��	�	�	��	������	�	�	��	������	�	�	��i��+�+�+r`ztyping._overload_registryc�*�tt��Srd)rr�rlr`r^r�zOverloadTests.<lambda>2s��K��-�-�r`c���|�tji��|���\}}|�tji��|�tt
|����|��d�}t|��|}d�}|�tt
|����|g��t��|�tji��|�t
|��g��d�}|�t
|��g��|�tji��dS)Nc��dSrdrlrlr`r^�some_other_funcz=OverloadTests.test_overload_registry.<locals>.some_other_func;r�r`c��dSrdrlrlr`r^r	z=OverloadTests.test_overload_registry.<locals>.some_other_func>r�r`c��dSrdrlrlr`r^�the_only_onez:OverloadTests.test_overload_registry.<locals>.the_only_oneHr�r`)	r�rM�_overload_registryr	r�r�rrr)rY�impl�	overloadsr	�other_overloadr	s      r^�test_overload_registryz$OverloadTests.test_overload_registry1sL��	
����2�B�7�7�7��/�/�1�1���i����F�5�r�:�:�:�����m�D�1�1�2�2�I�>�>�>�#�#�#���!�!�!�(��#�#�#�����m�O�<�<�=�=��?O�P�P�P�	��������2�B�7�7�7�����t�,�,�b�1�1�1�	!� � �����|�4�4�b�9�9�9�����2�B�7�7�7�7�7r`c��td��D]I}|���\}}|�tt	|����|���JdS�Nr�)rsr	r�r�r)rY�_r	r	s    r^�test_overload_registry_repeatedz-OverloadTests.test_overload_registry_repeatedLsc���q���	C�	C�A�"�3�3�5�5�O�D�)����T�-��"5�"5�6�6�	�B�B�B�B�	C�	Cr`N)
rirjrkr	r	r	r
rr	r"	rlr`r^r	r		s�������������,�,�,�&�U�&���-�-�.�.�0�0�8�8�0�0�8�2C�C�C�C�Cr`r	)�
ann_module�ann_module2�ann_module3�ann_module5�ann_module6�T_ac�6�eZdZd�Zdejefd�ZdS)�AwaitableWrapperc��||_dSrd�r��rYr�s  r^r�zAwaitableWrapper.__init__\�
����
�
�
r`r�c#�K�dV�|jSrdr,	r�s r^�	__await__zAwaitableWrapper.__await___s����
�����z�r`N)rirjrkr�rM�Iteratorr(	r0	rlr`r^r*	r*	ZsE����������6�?�3�/������r`r*	c�^�eZdZdejefd�Zdejefd�Zdefd�Z	dS)�AsyncIteratorWrapperr�c��||_dSrdr,	r-	s  r^r�zAsyncIteratorWrapper.__init__er.	r`r�c��|Srdrlr�s r^�	__aiter__zAsyncIteratorWrapper.__aiter__hs���r`c��6K�|j�d{V��}|r|St�rd)r��StopAsyncIteration)rY�datas  r^�	__anext__zAsyncIteratorWrapper.__anext__ks2�����Z���������	%��K�$�$r`N)
rirjrkrMr�r(	r��
AsyncIteratorr6	r:	rlr`r^r3	r3	cst�������f�o�c�2������6�/��4�����%��%�%�%�%�%�%r`r3	c� �eZdZdefd�Zd�ZdS)�ACMr�c��
K�dSr�rlr�s r^�
__aenter__zACM.__aenter__ss�����rr`c��
K�dSrdrl)rY�etyper��tbs    r^�	__aexit__z
ACM.__aexit__us�����tr`N)rirjrkr�r?	rC	rlr`r^r=	r=	rs>�������#���������r`r=	c��eZdZUeed<dS)r�r`N)rirjrkrvr�rlr`r^r�r�xs��������H�H�H�H�Hr`r�c�J�eZdZUdZeeded<eed<eed<dS)r0NrVr`r_)rirjrkrVr$rr�r�rlr`r^r0r0zs;�������!%�A�x���
��%�%�%�
�F�F�F�
�F�F�F�F�Fr`r0c�:�eZdZUe��Zeded<dS)�CSubraN)rirjrkr0rar$r�rlr`r^rG	rG	~s-��������!�#�#�A�x�������r`rG	c�6�eZdZUgZeeeed<dS)r/�lstN)rirjrkrI	r$rrr�rlr`r^r/r/�s+��������C��$�q�'�	�����r`r/c�&�eZdZUeded<dS)r�r�N)rirjrkr%r�rlr`r^r�r��s"�������
��-�����r`r�c�$�eZdZUded<ded<dS)�NoneAndForward�parentN�meaning�rirjrkr�rlr`r^rL	rL	�s%�����������
�M�M�M�M�Mr`rL	c�$�eZdZUeed<eed<dS)�CoolEmployee�name�coolN�rirjrkrZr�r�rlr`r^rQ	rQ	�s"�������

�I�I�I�

�I�I�I�I�Ir`rQ	c�(�eZdZUeed<dZeed<dS)�CoolEmployeeWithDefaultrR	rrS	N)rirjrkrZr�rS	r�rlr`r^rV	rV	�s&�������

�I�I�I��D�#�M�M�M�M�Mr`rV	c� �eZdZUeed<d�ZdS)�XMethrVc��d|jzSr 	r�r�s r^�doublezXMeth.double�s���4�6�z�r`N)rirjrkr�r�rZ	rlr`r^rX	rX	�s.�������
�F�F�F�����r`rX	c�4�eZdZUeed<dZeed<d�Zd�ZdS)�XReprrVror`c�$�|j�d|j��S)Nz -> r�r�s r^�__str__z
XRepr.__str__�s���&�&�&�d�f�&�&�&r`c��dSr�rl�rYrs  r^�__add__z
XRepr.__add__�s���qr`N)rirjrkr�r�r`r^	ra	rlr`r^r\	r\	�sJ�������
�F�F�F�
�A�s�J�J�J�'�'�'�����r`r\	�Labelr�c�$�eZdZUeed<eed<dS)�Point2DrVr`Nr�rlr`r^rd	rd	�r�r`rd	c�$�eZdZUeed<eed<dS)�Point2DGenericr�r_N�rirjrkrr�rlr`r^rf	rf	�s"��������D�D�D��D�D�D�D�Dr`rf	c��eZdZUeed<dS)rwr_Nr�rlr`r^rwrw�r�r`rwF��totalc��eZdZUeed<dS)�
BarGenericr_Nr�rlr`r^rl	rl	�r�r`rl	c��eZdZdS)�LabelPoint2DNr|rlr`r^rn	rn	�r�r`rn	c�$�eZdZUeed<eed<dS)�Options�	log_level�log_pathNr�rlr`r^rp	rp	�s"��������N�N�N��M�M�M�M�Mr`rp	c�0�eZdZUeed<eeed<dS)�
TotalMovie�title�yearN)rirjrkrZr�r6r�rlr`r^rt	rt	�s,��������J�J�J�
�c�
�����r`rt	c�0�eZdZUeeed<eed<dS)�
NontotalMovieru	rv	N)rirjrkr7rZr�r�rlr`r^rx	rx	�s)��������C�=����

�I�I�I�I�Ir`rx	c�\�eZdZUeeedfed<eeedfed<dS)�AnnotatedMovier�ru	��rv	N�	rirjrkr?r7rZr�r6r�rlr`r^rz	rz	�sF��������X�c�]�H�,�-�-�-�-�
�i��T�	�*�
+�+�+�+�+�+r`rz	c�l�eZdZUeeeedfdfed<eeedfed<dS)�DeeplyAnnotatedMovier��
another levelru	r{	rv	Nr|	rlr`r^r~	r~	�sP��������Y�x��}�h�6�7��H�I�I�I�I�
�i��T�	�*�
+�+�+�+�+�+r`r~	c�<�eZdZUeded<eded<dS)�WeirdlyQuotedMovie)z"Annotated[Required[str], "foobar"]r	ru	zAnnotated[int, 2000]rv	N)rirjrkr?r�r6rlr`r^r�	r�	�s6��������J�K�K�K�K�
�,�
-�-�-�-�-�-r`r�	c�$�eZdZUded<ded<dS)�HasForeignBaseClassr\	�
some_xreprzmod_generics_cache.A�other_aNrO	rlr`r^r�	r�	�s*�����������
#�#�#�#�#�#r`r�	�amc��fK�|4�d{V��}|cddd���d{V��S#1�d{V��swxYwYdSrdrl)r�	rVs  r^�g_withr�	�s�������������Q����������������������������������s� �
*�*r�c�l�eZdZejdd���Zejejdd�����ZdS)�
ForRefExamplerYc��dSrdrlr�s r^r�zForRefExample.func�s���r`c��dSrdrlr�s r^�nestedzForRefExample.nested�s	��	
�r`N)rYr�	)rirjrkr#	�decr�r�	rlr`r^r�	r�	�sb�������^�
�
�
��^�
��^��^�
�
�
��^��^�
�
�
r`r�	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�r�r�s r^�(test_get_type_hints_from_various_objectsz9GetTypeHintTests.test_get_type_hints_from_various_objects�sm��
�
�
�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�)rorgrVr`r�)	rr�rZrvr�r�r#	r$	r%	)rY�ann_module_type_hintss  r^�test_get_type_hints_modulesz,GetTypeHintTests.test_get_type_hints_modules�s���$%�E�#�s�(�O�#�C�VY�\a�Va� b� b������Z���*?�@�@�@�����[�)�)�2�.�.�.�����[�)�)�2�.�.�.�.�.r`z	known bugc��ttjttjd�}|�tt��|��dS)N)�	default_a�	default_b)rrKr�r0r�r�)rY�	mgc_hintss  r^�&test_get_type_hints_modules_forwardrefz7GetTypeHintTests.test_get_type_hints_modules_forwardref�sO��
#+�+=�+?�"@�"*�+=�+?�"@�B�B�	�����/�0�0�)�<�<�<�<�<r`c���|�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�)rfrDr`rar�rV)rM	rN	)r�	r�	�some_b)�my_inner_a1�my_inner_a2�
my_outer_a)r�r�r#	rrr��j_classr��Mr�r1rZrOr��h_classrr%rL	r�	r\	rKr�r0rNr�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�);�)=�)?�);�)=�)?�(:�(<�>�>�	?�	?�	?�	?�	?r`c�t�Gd�d��}|�t|��dti��dS)Nc��eZdZUdZeed<dS)�ZGetTypeHintTests.test_get_type_hints_classes_no_implicit_optional.<locals>.WithNoneDefaultN�field)rirjrkr�	r�r�rlr`r^�WithNoneDefaultr�	s"��������E�3�����r`r�	r�	)r�r�r�)rYr�	s  r^�0test_get_type_hints_classes_no_implicit_optionalzAGetTypeHintTests.test_get_type_hints_classes_no_implicit_optionalsT��	�	�	�	�	�	�	�	�	
����_�-�-���~�>�>�>�>�>r`c���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.InnrV�
not a typec��dSrdrlrs  r^r�zKGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Inn.__init__r�r`N)rVr�	r�rlr`r^�Innr�	s������8�8�8�8�8�8r`r�	N)rirjrkr�	rlr`r^�	NoTpCheckr�	s<������
9�
9�
9�
9�
9�
9�
9�
9�
9�
9r`r�	c��eZdZdefd�ZdS)�:GetTypeHintTests.test_respect_no_type_check.<locals>.ABaserVc��dSrdrlr�s r^r�z?GetTypeHintTests.test_respect_no_type_check.<locals>.ABase.meth$r�r`Nr�rlr`r^�ABaser�	#s!������!��!�!�!�!�!�!r`r�	c��eZdZdS)�8GetTypeHintTests.test_respect_no_type_check.<locals>.DerNr|rlr`r^�Derr�	%s�������#r`r�	rV)
r1r�r�r�	r�r�r�r$	�NTCr�r#rr�)rYr�	r�	r�	s    r^�test_respect_no_type_checkz+GetTypeHintTests.test_respect_no_type_checks��	�	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�5r`c�b�|�tt��i��|�tt��i��|�tt��i��|�tt
��i��|�ttj��i��|�tt
��j��i��|�ttj	��i��dSrd)
r�r�r�r��dirr�r�r^	rZ�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����+�+�+�+�+r`c���d�}d|jd<|�t|��dti��dd�}|�t|��dt	d��i��dS)Nc��dSrdrlr�s  r^�testfz6GetTypeHintTests.test_previous_behavior.<locals>.testf4r�r`r�rVc��dSrdrlr�s r^�testgz6GetTypeHintTests.test_previous_behavior.<locals>.testg7r�r`)rVN)r�r�r�r�r�)rYr�	r�	s   r^�test_previous_behaviorz'GetTypeHintTests.test_previous_behavior3sq�����%*���c�"�����U���c�3�Z�0�0�0���������U���c�4��:�:�%6�7�7�7�7�7r`c���Gd�d��}Gd�d��}|��}ddi|_|�t|t����d|i��dS)Nc��eZdZdS)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.ANr|rlr`r^r�r�	;r�r`r�c��eZdZdS)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.BNr|rlr`r^r0r�	<r�r`r0rV)r�r�r�r')rYr�r0r_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�4r`c	���|�ttjtj��dt
jtji��|�ttt����tttttd���|�ttt����tttttttd���|�tt��dttti��dS)N�var)r`rVr_)rar`r_rVrI	)r�r�r$	�CVr�rMr$r0r&r�rrG	r/rrr�s r^�test_get_type_hints_ClassVarz-GetTypeHintTests.test_get_type_hints_ClassVarAs�������[�^�[�-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�'�):�!;�<�<�<�<�<r`c���dti}|�ttj��|��|�ttj��|��dS)NrY)r�	r�r�r�r�	)rY�expectss  r^�,test_get_type_hints_wrapped_decoratored_funcz=GetTypeHintTests.test_get_type_hints_wrapped_decoratored_funcKsT���=�)������]�/�0�0�'�:�:�:�����]�1�2�2�G�<�<�<�<�<r`c�
�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)NrVrJc��dSrdrlr�s r^r�z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobarQr�r`�ro�
T��include_extrasc��dSrdrlr�s r^r�z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobar\r�r`)ror.c��dSrdrlr�s r^r�z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoohr�r`c��dSrdrlr�s r^r�z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoopr�r`rzr`�mutablec��dSrdrlr�s  r^r�z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo2ws��DG�Cr`r�c��dSrdrlr�s r^�barfoo3z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo3r�r`c��dSrdrlr�s r^�barfoo4z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo4�r�r`)rr?r�r�r+r&r'r�r@rrr�rMr"rr�rv)
rYr�rJ�BAr�r��BA2r�	�BA3r�	s
          r^�test_get_type_hints_annotatedz.GetTypeHintTests.test_get_type_hints_annotatedPsk��%�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�	
�	
�	
�	
�	
r`c	�n�dttttdfzfd�}|�t|��dtttzi��|�t|d���dttttdfzi��dS)NrV�metac��dSrdrlr�s r^�
with_unionzKGetTypeHintTests.test_get_type_hints_annotated_in_union.<locals>.with_union�r�r`Tr�	)r�r�r?rZr�r+)rYr�	s  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�	
�	
�	
�	
�	
r`c���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>.MySetr�Const[MySet[T]]r��MySet[T]c��dSrdrlr`	s  r^�__ior__zJGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__ior__�����r`c��dSrdrlr`	s  r^�__iand__zKGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__iand__�r�	r`N)rr�	r�r�	)rirjrkr�	r�	)r�	s�r^�MySetr�	�sP�������
�
�
�
�
�e�J�&7�
�J�
�
�
�
�
�
r`r�	)rr�Tr�	)	r?rr#r�r+r�	r&r'r�	)rYr�	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�	
�	
�	
�	
�	
r`c��ddttdffd�}|�t|��dti��|�t|d���dttdfi��dS)NrVr9	c��dSrdrlr�s r^�annotated_with_none_defaultzeGetTypeHintTests.test_get_type_hints_annotated_with_none_default.<locals>.annotated_with_none_default�r�r`Tr�	rd)r?r�r�r+)rYr�	s  r^�/test_get_type_hints_annotated_with_none_defaultz@GetTypeHintTests.test_get_type_hints_annotated_with_none_default�s���N�N�9�S�&�[�+A�N�N�N�N�����6�7�7�
�#�J�	
�	
�	
�	
����6�t�L�L�L�
�)�C��K�(�)�	
�	
�	
�	
�	
r`c�t�Gd�d��}|�t|��dti��dS)Nc��eZdZUeZded<dS)�IGetTypeHintTests.test_get_type_hints_classes_str_annotations.<locals>.Foor`rVN)rirjrkrZr`r�rlr`r^rr
�s��������A��F�F�F�F�Fr`rrV)r�r+rZ�rYrs  r^�+test_get_type_hints_classes_str_annotationsz<GetTypeHintTests.test_get_type_hints_classes_str_annotations�sT��	�	�	�	�	�	�	�	�	
�����,�,�s�C�j�9�9�9�9�9r`c��Gd�d��}d|_|�dtj��|�t|��i��dS)Nc��eZdZdS)�BGetTypeHintTests.test_get_type_hints_bad_module.<locals>.BadModuleNr|rlr`r^�	BadModuler
�rr`r
�bad)rjr�sys�modulesr�r+)rYr
s  r^�test_get_type_hints_bad_modulez/GetTypeHintTests.test_get_type_hints_bad_module�sn��	�	�	�	�	�	�	�	�$�	��������,�,�,�����	�2�2�B�7�7�7�7�7r`c��Gd�d��}Gd�d|��}dx|_|_|�dtj��|�t|��ttd���dS)Nc��eZdZUeed<dS)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadBaser%N)rirjrkr�r�rlr`r^�BadBaser
�s��������J�J�J�J�Jr`r
c��eZdZUeed<dS)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadTyperNr�rlr`r^�BadTyper
�s��������I�I�I�I�Ir`r
r
rh)rjrr
r	
r�r+r�r�)rYr
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�Nr`c���tt��}|�|dtti��ttj��}|�|dti��dS)NrR	r�)r+r&	r�r%rZ�MyClass)rYr�s  r^�test_forward_ref_and_finalz+GetTypeHintTests.test_forward_ref_and_final�s_���{�+�+��������s�� 4�5�5�5��{�2�3�3�������%� 0�1�1�1�1�1r`c��|�td��5tt��ddd��dS#1swxYwYdS)Nz4typing.ClassVar\[int\] is not valid as type argument)r�r�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��dS)
N)ru	rv	Tr�	r�r{	r	r�r_r`)
r�r+rt	rZr�r6rz	r?r7r~	r�	rL�
VeryAnnotatedr�s r^�test_get_type_hints_typeddictz.GetTypeHintTests.test_get_type_hints_typeddict�sd������
�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
�	�	�	�	�	r`c��td��}dtjjtgtffd�}dtjjdtffd�}dtjj|tffd�}|�t
|��dtjjtgtfi��|�t
|��dtjjdtfi��|�t
|��dtjj|tfi��dS)Nr�rVc��dSrdrlr�s r^rgzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.f	r�r`.c��dSrdrlr�s r^rczHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.g
r�r`c��dSrdrlr�s r^rdzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.hr�r`)rDr.r/r"r�r�r+)rYr�rgrcrds     r^�,test_get_type_hints_collections_abc_callablez=GetTypeHintTests.test_get_type_hints_collections_abc_callables	���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�Tr`N)rirjrkr�	r�	r	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r�	r
r

r
r
r
r
r
rlr`r^r�	r�	�s~���������/�/�/�
�T�+���=�=���=�?�?�?�0?�?�?�6�6�6�,�,�,�8�8�8�5�5�5�=�=�=�=�=�=�
=
�=
�=
�~
�
�
�
�
�
�6

�

�

�:�:�:�8�8�8�O�O�O�2�2�2�(�(�(����<	U�	U�	U�	U�	Ur`r�	c��eZdZd�Zd�ZdS)�GetUtilitiesTestCasec���td��}td��}Gd�dt|��}|�t	|t
��|��|�t	||��|��|�t	t
��d��|�t	tt
��t��|�t	tt
tf��t��|�t	td��t��|�t	ttt
��t��|�t	t��t��|�t	t|��t��|�t	tt||ft
��t��|�t	t|df��t��|�t	t��t��|�t	t��t��|�t	t ��t"jj��|�t	tt
��t��|�t	t��d��|�t	ttz��t&j��|�t	|j��|��|�t	|j��|��|�t	t.t
��t.��|�t	t0t
��t0��dS)Nrr�c��eZdZdS)�/GetUtilitiesTestCase.test_get_origin.<locals>.CNr|rlr`r^rr$
r�r`r�r��+r�)rrDr#r�r,r�r$rrZrr%rrr�r?r�r"r.r/r
r�r�rr7r6rRs    r^r�z$GetUtilitiesTestCase.test_get_origins����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�@�@�@�@�@r`c
��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��dS)Nrc��eZdZdS)�-GetUtilitiesTestCase.test_get_args.<locals>.CNr|rlr`r^rr)
/r�r`rrlr%
.�oner��threer�)rr#r�r-r�r$rrZrr%rrrMr rr"r?r�r.r/rDrEr7r6)rYrrr�s    r^�
test_get_argsz"GetUtilitiesTestCase.test_get_args-st���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�<�<�<�<�<r`N)rirjrkr�r,
rlr`r^r!
r!
s5������A�A�A�4%=�%=�%=�%=�%=r`r!
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�rM�Hashabler�r�s r^�
test_hashablez!CollectionsAbcTests.test_hashableW�8�����b�&�/�2�2�2�� � ��V�_�5�5�5�5�5r`c��|�gtj��|�gtj��|�gtj��|�dtj��|�t
tj��|�t
tj��dSr�)r�rMr�r�r_r�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�4r`c��tg��}|�|tj��|�dtj��dSr�)rKr�rMr1	r�)rY�its  r^�
test_iteratorz!CollectionsAbcTests.test_iteratorfsC��
�"�X�X�����b�&�/�2�2�2�� � ��V�_�5�5�5�5�5r`c��i}tdt��|��|d}|��}|�|tj��|�|tj��|�d��dS)NzPasync def foo() -> typing.Awaitable[int]:
    return await AwaitableWrapper(42)
r%)rzr&r�rM�	Awaitabler��send�rYr�r%rcs    r^�test_awaitablez"CollectionsAbcTests.test_awaitableks���
���
6��I�I�r�	�	�	���i���C�E�E�����a��!1�2�2�2�� � ��f�&6�7�7�7�	���t�����r`c���i}tdt��|��|d}|��}|�|tj��|�t��5t|tjt��ddd��n#1swxYwY|�	|tj��	|�
d��dS#t$rYdSwxYw)Nzasync def foo():
    return
r%)rzr&r�rM�	Coroutiner�r�r�r�r�r:
�
StopIterationr;
s    r^�test_coroutinez"CollectionsAbcTests.test_coroutinews*��
���
��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�)rsr3	r�rM�
AsyncIterabler��rY�base_itr6
s   r^�test_async_iterablez'CollectionsAbcTests.test_async_iterable�sk����)�)��
!�'�
*�
*�����b�&�"6�7�7�7����b�&�"6�7�7�7�� � ��V�%9�:�:�:�:�:r`c���td��}t|��}|�|tj��|�dtj��dSrB
)rsr3	r�rMr;	r�rD
s   r^�test_async_iteratorz'CollectionsAbcTests.test_async_iterator�sR����)�)��
!�'�
*�
*�����b�&�"6�7�7�7�� � ��V�%9�:�:�:�:�:r`c��|�gtj��|�dtj��dSr�)r�rM�Sizedr�r�s r^�
test_sizedzCollectionsAbcTests.test_sized�s8�����b�&�,�/�/�/�� � ��V�\�2�2�2�2�2r`c��|�gtj��|�dtj��dSr�)r�rMr�r�r�s r^�test_containerz"CollectionsAbcTests.test_container�s:�����b�&�"2�3�3�3�� � ��V�%5�6�6�6�6�6r`c�@�|�t��tj��|�t	��tj��|�ttj��|�dtj��dSr�)r�r�rM�
Collectionrur_r�r�r�s r^�test_collectionz#CollectionsAbcTests.test_collection�st�����e�g�g�v�'8�9�9�9����i�k�k�6�+<�=�=�=����d�F�$5�6�6�6�� � ��V�%6�7�7�7�7�7r`c��|�t��tj��|�dtj��dSr�)r�rHrMr�r�r�s r^�test_abstractsetz$CollectionsAbcTests.test_abstractset�s>�����c�e�e�V�%7�8�8�8�� � ��V�%7�8�8�8�8�8r`c��|�t��tj��|�t��tj��dSrd)r�rHrM�
MutableSetr�rur�s r^�test_mutablesetz#CollectionsAbcTests.test_mutableset�sB�����c�e�e�V�%6�7�7�7�� � ����f�.?�@�@�@�@�@r`c��|�itj��|�dtj��dSr�)r�rMr�r�r�s r^�test_mappingz CollectionsAbcTests.test_mapping�s8�����b�&�.�1�1�1�� � ��V�^�4�4�4�4�4r`c��|�itj��|�dtj��dSr�)r�rMr!r�r�s r^�test_mutablemappingz'CollectionsAbcTests.test_mutablemapping�s:�����b�&�"7�8�8�8�� � ��V�%:�;�;�;�;�;r`c��|�gtj��|�dtj��dSr�)r�rMr�r�r�s r^�
test_sequencez!CollectionsAbcTests.test_sequence�r2
r`c��|�gtj��|�dtj��dSr�)r�rM�MutableSequencer�r�s r^�test_mutablesequencez(CollectionsAbcTests.test_mutablesequence�s:�����b�&�"8�9�9�9�� � ��V�%;�<�<�<�<�<r`c��|�dtj��|�td��tj��dSr�)r�rM�
ByteString�	bytearrayr�s r^�test_bytestringz#CollectionsAbcTests.test_bytestring�s@�����c�6�#4�5�5�5����i��n�n�f�.?�@�@�@�@�@r`c�P�|�ttj��dSrd)r_r�rMrr�s r^�	test_listzCollectionsAbcTests.test_list�� �����d�F�K�0�0�0�0�0r`c���|�tjtj��Gd�dtjt
��}|�|��tj��dS)Nc��eZdZdS)�/CollectionsAbcTests.test_deque.<locals>.MyDequeNr|rlr`r^�MyDequerh
�r�r`ri
)r_r.�dequerM�Dequer�r�)rYri
s  r^�
test_dequezCollectionsAbcTests.test_deque�sc�����k�/���>�>�>�-�-�-�-�-�f�l�3�'�-�-�-����g�g�i�i��):�;�;�;�;�;r`c�Z�|�tjtj��dSrd)r_r.�CounterrMr�s r^�test_counterz CollectionsAbcTests.test_counter�s#�����k�1�6�>�B�B�B�B�Br`c��|�ttj��|�t
tj��dSrd)r_rHrM�Setrbrur�s r^�test_setzCollectionsAbcTests.test_set�s8�����c�6�:�.�.�.�� � ��F�J�7�7�7�7�7r`c��|�ttj��|�t
tj��dSrd)r_rurMr�rbrHr�s r^�test_frozensetz"CollectionsAbcTests.test_frozenset�s:�����i��)9�:�:�:�� � ��f�&6�7�7�7�7�7r`c�P�|�ttj��dSrd)r_r�rMr r�s r^r)zCollectionsAbcTests.test_dict�re
r`c�
�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)N�Krh)rr�r rZr�rr�)rYrw
rhs   r^�test_dict_subscribez'CollectionsAbcTests.test_dict_subscribe�s���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�Gr`c���|�t��5tj��ddd��n#1swxYwY|�t��5tjt��ddd��n#1swxYwY|�t��5tjt
��ddd��dS#1swxYwYdSrd)r�r�rMrrr�r�s r^�test_no_list_instantiationz.CollectionsAbcTests.test_no_list_instantiation�s|��
�
�
�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|rlr`r^�MyListr~
�rr`r
)rMrr�r�r�r_r�rb)rYr
r�s   r^�test_list_subclassz&CollectionsAbcTests.test_list_subclass�s���	�	�	�	�	�V�[��%�	�	�	�
�F�H�H�����a��(�(�(����a���1�1�1����f�d�+�+�+�� � ��v�.�.�.�.�.r`c���|�t��5tj��ddd��n#1swxYwY|�t��5tjtt
f��ddd��n#1swxYwY|�t��5tjttf��ddd��dS#1swxYwYdSrd)r�r�rMr rrrZr�r�s r^�test_no_dict_instantiationz.CollectionsAbcTests.test_no_dict_instantiation�s���
�
�
�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|rlr`r^r�r�
�rr`r�)	rMr rZr�r�r!r_r�rb)rYr�ras   r^�test_dict_subclassz&CollectionsAbcTests.test_dict_subclass�s���	�	�	�	�	�V�[��c��*�	�	�	�
�F�H�H�����a��(�(�(����a��!6�7�7�7����f�d�+�+�+�� � ��v�.�.�.�.�.r`c���|�ttj����tj��|�ttjttf����tj��|�ttjttf����tj��dSrd)
r�r�rMr�r.rrrrZr�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�Tr`c��Gd�dtjttf��}|��}|�||��|�|tj��|�tj|��dS)Nc��eZdZdS)�@CollectionsAbcTests.test_defaultdict_subclass.<locals>.MyDefDictNr|rlr`r^�	MyDefDictr�
rr`r�
)	rMr�rZr�r�r_r.rrb)rYr�
�dds   r^�test_defaultdict_subclassz-CollectionsAbcTests.test_defaultdict_subclass
���	�	�	�	�	��*�3��8�4�	�	�	��Y�[�[�����b�)�,�,�,����i��)@�A�A�A�� � ��!8�)�D�D�D�D�Dr`c���|�ttj����tj��|�ttjt
tf����tj��|�ttjttf����tj��dSrd)	r�r�rM�OrderedDictr.rrrZr�r�s r^�test_ordereddict_instantiationz2CollectionsAbcTests.test_ordereddict_instantiationr�
r`c��Gd�dtjttf��}|��}|�||��|�|tj��|�tj|��dS)Nc��eZdZdS)�@CollectionsAbcTests.test_ordereddict_subclass.<locals>.MyOrdDictNr|rlr`r^�	MyOrdDictr�
rr`r�
)rMr�
rZr�r�r_r.rb)rYr�
�ods   r^�test_ordereddict_subclassz-CollectionsAbcTests.test_ordereddict_subclassr�
r`c��|�ttj����tj��|�ttjt
tf����tj��|�ttjttf����tj��Gd�dtjt
tf��}|�t|ttf����|��dS)Nc��eZdZdS)�;CollectionsAbcTests.test_chainmap_instantiation.<locals>.CMNr|rlr`r^�CMr�
,r�r`r�
)	r�r�rMr�r.rrrZr�)rYr�
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�/�/�/�/�/r`c��Gd�dtjttf��}|��}|�||��|�|tj��|�tj|��dS)Nc��eZdZdS)�>CollectionsAbcTests.test_chainmap_subclass.<locals>.MyChainMapNr|rlr`r^�
MyChainMapr�
1rr`r�
)rMr�rZr�r�r_r.rb)rYr�
r�s   r^�test_chainmap_subclassz*CollectionsAbcTests.test_chainmap_subclass/s���	�	�	�	�	����c��2�	�	�	��Z�\�\�����b�*�-�-�-����j�+�*>�?�?�?�� � ��!5�z�B�B�B�B�Br`c�X�|�ttj����tj��|�ttjt����tj��|�ttjt����tj��Gd�dtjt��}|�t|t����|��dS)Nc��eZdZdS)�7CollectionsAbcTests.test_deque_instantiation.<locals>.DNr|rlr`r^r1r�
>r�r`r1)r�r�rMrk
r.rj
rr��rYr1s  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�(�(�(�(�(r`c�X�|�ttj����tj��|�ttjt
����tj��|�ttjt����tj��Gd�dtjt
��}|�t|t����|��dS)Nc��eZdZdS)�9CollectionsAbcTests.test_counter_instantiation.<locals>.CNr|rlr`r^rr�
Er�r`r)r�r�rMrn
r.rr�rs  r^�test_counter_instantiationz.CollectionsAbcTests.test_counter_instantiationAs����
�
�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�(�(�(�(�(r`c��Gd�dtjt��}|��}|�||��|�|tj��|�|tj��dS)Nc��eZdZdS)�JCollectionsAbcTests.test_counter_subclass_instantiation.<locals>.MyCounterNr|rlr`r^�	MyCounterr�
Jrr`r�
)rMrn
r�r�r.)rYr�
ras   r^�#test_counter_subclass_instantiationz7CollectionsAbcTests.test_counter_subclass_instantiationHs���	�	�	�	�	���s�+�	�	�	�
�I�K�K�����a��+�+�+����a���0�0�0����a��!4�5�5�5�5�5r`c���|�t��5tj��ddd��n#1swxYwY|�t��5tjt��ddd��n#1swxYwY|�t��5tjt
��ddd��dS#1swxYwYdSrd)r�r�rMrq
rr�r�s r^�test_no_set_instantiationz-CollectionsAbcTests.test_no_set_instantiationRsx��
�
�
�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|rlr`r^r�	r�
\rr`r�	)rMrq
r�r�)rYr�	ras   r^�test_set_subclass_instantiationz3CollectionsAbcTests.test_set_subclass_instantiationZs[��	�	�	�	�	�F�J�s�O�	�	�	�
�E�G�G�����a��'�'�'�'�'r`c���|�t��5tj��ddd��n#1swxYwY|�t��5tjt��ddd��n#1swxYwY|�t��5tjt
��ddd��dS#1swxYwYdSrd)r�r�rMr�rr�r�s r^�test_no_frozenset_instantiationz3CollectionsAbcTests.test_no_frozenset_instantiationbs���
�
�
�y�
)�
)�	�	������	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	"�	"���Q��!�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	$�	$���S�!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$r{
c��Gd�dtjt��}|��}|�||��dS)Nc��eZdZdS)�NCollectionsAbcTests.test_frozenset_subclass_instantiation.<locals>.MyFrozenSetNr|rlr`r^�MyFrozenSetr�
lrr`r�
)rMr�r�r�)rYr�
ras   r^�%test_frozenset_subclass_instantiationz9CollectionsAbcTests.test_frozenset_subclass_instantiationjs]��	�	�	�	�	�&�*�3�/�	�	�	�
�K�M�M�����a��-�-�-�-�-r`c��|�t��5t��ddd��n#1swxYwY|�t��5tt��ddd��n#1swxYwY|�t��5tt��ddd��dS#1swxYwYdSrd)r�r�rrr�r�s r^�test_no_tuple_instantiationz/CollectionsAbcTests.test_no_tuple_instantiationrso��
�
�
�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�rlrlr`r^r%z/CollectionsAbcTests.test_generator.<locals>.foo{s�����H�H�H�H�Hr`)r_r�rM�	Generator)rYr%rcs   r^�test_generatorz"CollectionsAbcTests.test_generatorzsA��	�	�	��C�E�E�����d�1�g�g�v�'7�8�8�8�8�8r`c��|�t��5tj��ddd��n#1swxYwY|�t��5tjtttf��ddd��n#1swxYwY|�t��5tjt
t
t
f��ddd��dS#1swxYwYdSrd)r�r�rMr�
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
rg)rzr&r_r�rM�AsyncGenerator)rYr�rcs   r^�test_async_generatorz(CollectionsAbcTests.test_async_generator�s[��
����&�y�y�"�	.�	.�	.��B�s�G�I�I�����d�1�g�g�v�'<�=�=�=�=�=r`c���|�t��5tj��ddd��n#1swxYwY|�t��5tjttf��ddd��n#1swxYwY|�t��5tjt
t
f��ddd��dS#1swxYwYdSrd)r�r�rMr�
rr�r�s r^�%test_no_async_generator_instantiationz9CollectionsAbcTests.test_no_async_generator_instantiation�s���
�
�
�y�
)�
)�	$�	$��!�#�#�#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�
�
�
�y�
)�
)�	*�	*��!�!�Q�$�'�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�
�
�
�y�
)�
)�	.�	.��!�#�s�(�+�-�-�-�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.�	.����	.�	.�	.�	.�	.�	.r�
c�D	�Gd�dtj��}|�t��5|��ddd��n#1swxYwYGd�d|��}|�t|����d��t
|j��sJ�|�|��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��|�
t/|��|��dS)
Nc��eZdZdS)�1CollectionsAbcTests.test_subclassing.<locals>.MMANr|rlr`r^�MMAr�
�rr`r�
c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�1CollectionsAbcTests.test_subclassing.<locals>.MMCc��dSrdrlrCs  r^r�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__getitem__�rFr`c��dSrdrlrFs   r^r�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__setitem__�r�r`c��dSrdrlrCs  r^rHz=CollectionsAbcTests.test_subclassing.<locals>.MMC.__delitem__�r�r`c� �td��Sr�rJr�s r^r�z:CollectionsAbcTests.test_subclassing.<locals>.MMC.__iter__�rLr`c��dSr�rlr�s r^rNz9CollectionsAbcTests.test_subclassing.<locals>.MMC.__len__�r�r`NrOrlr`r^�MMCr�
�rQr`r�
rc�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�1CollectionsAbcTests.test_subclassing.<locals>.MMBc��dSrdrlrCs  r^r�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__getitem__�rFr`c��dSrdrlrFs   r^r�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__setitem__�r�r`c��dSrdrlrCs  r^rHz=CollectionsAbcTests.test_subclassing.<locals>.MMB.__delitem__�r�r`c� �td��Sr�rJr�s r^r�z:CollectionsAbcTests.test_subclassing.<locals>.MMB.__iter__�rLr`c��dSr�rlr�s r^rNz9CollectionsAbcTests.test_subclassing.<locals>.MMB.__len__�r�r`NrOrlr`r^�MMBr�
�rQr`r�
c��eZdZdS)�/CollectionsAbcTests.test_subclassing.<locals>.INr|rlr`r^�Ir�
�r�r`r�
c��eZdZdS)�/CollectionsAbcTests.test_subclassing.<locals>.GNr|rlr`r^r/r�
�r�r`r/c3�K�dV�dSr�rlrlr`r^rcz/CollectionsAbcTests.test_subclassing.<locals>.g�s����q�����r`)rMr!r�r�r�r��callablerRr�r�rrrZrbr�r_r.r/rVr�r�r�
r�r�)rYr�
r�
r�
r�
r/rcs       r^�test_subclassingz$CollectionsAbcTests.test_subclassing�sr��	�	�	�	�	�&�'�	�	�	��
�
�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�3-M,�,M0�3M0c��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��dSrdrlr-	s  r^�asendzECollectionsAbcTests.test_subclassing_async_generator.<locals>.G.asend�r�r`Nc��dSrdrl)rY�typ�valrB	s    r^�athrowzFCollectionsAbcTests.test_subclassing_async_generator.<locals>.G.athrow�r�r`r[)rirjrkr�
r�
rlr`r^r/r�
�s7������
�
�
�
�
�
�
�
�
r`r/zasync def g(): yield 0rc)
rMr�
r�rzr&r_rC
r.r/rbr�r�r�)rYr/r�rc�instances     r^� test_subclassing_async_generatorz4CollectionsAbcTests.test_subclassing_async_generator�s���	�	�	�	�	��%�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�&�&�&�&�&r`c�
�Gd�dtj��}Gd�d|��}Gd�d��}Gd�d��}|�||��|�||��|�||��dS)	Nc�$�eZdZed���ZdS)�?CollectionsAbcTests.test_subclassing_subclasshook.<locals>.Basec� �|jdkrdSdS)NrTF)rirs  r^r	zPCollectionsAbcTests.test_subclassing_subclasshook.<locals>.Base.__subclasshook__�s���>�U�*�!��4� �5r`Nr
rlr`r^r�r�
�s-������
�
!�
!��[�
!�
!�
!r`r�c��eZdZdS)�<CollectionsAbcTests.test_subclassing_subclasshook.<locals>.CNr|rlr`r^rr�
�r�r`rc��eZdZdS)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.FooNr|rlr`r^rr�
�r�r`rc��eZdZdS)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.BarNr|rlr`r^rwr�
r�r`rw)rMr�r_rb)rYr�rrrws     r^�test_subclassing_subclasshookz1CollectionsAbcTests.test_subclassing_subclasshook�s���	!�	!�	!�	!�	!�6�?�	!�	!�	!�	����������������������������c�4�(�(�(����c�1�%�%�%�� � ��a�(�(�(�(�(r`c�,�Gd�dtj��}Gd�d|��}Gd�d��}|�|��|�||��|�||��Gd�d��}|�|��|�||��|�||��Gd	�d
��}t
jj�|��|�|tj��dS)Nc��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.ANr|rlr`r^r�rr�r`r�c��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.BNr|rlr`r^r0rr�r`r0c��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.CNr|rlr`r^rr
r�r`rc��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.DNr|rlr`r^r1rr�r`r1c��eZdZdS)�8CollectionsAbcTests.test_subclassing_register.<locals>.MNr|rlr`r^r�	r	r�r`r�	)	rMr�rqr_rbr.r/r!r�)rYr�r0rr1r�	s      r^�test_subclassing_registerz-CollectionsAbcTests.test_subclassing_registers��&�&�&�&�&�� �&�&�&������������������	�
�
�1�
�
�
����a��#�#�#�� � ��A�&�&�&���������	�
�
�1�
�
�
����a��#�#�#����a��#�#�#�����������&�/�/��2�2�2����a���0�0�0�0�0r`c���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|rlr`r^r�	r
r�r`r�	c��eZdZdS)�7CollectionsAbcTests.test_collections_as_base.<locals>.SNr|rlr`r^rrr�r`rc��eZdZdS)�7CollectionsAbcTests.test_collections_as_base.<locals>.INr|rlr`r^r�
r"r�r`r�
c��eZdZdS)�7CollectionsAbcTests.test_collections_as_base.<locals>.ANr|rlr`r^r�r%r�r`r�r�c��eZdZdS)�7CollectionsAbcTests.test_collections_as_base.<locals>.BNr|rlr`r^r0r&r�r`r0)	r.r/r�r_rMr�r]
�ABCMetarq)rYr�	rr�
r�r0s      r^�test_collections_as_basez,CollectionsAbcTests.test_collections_as_bases<��-�-�-�-�-���'�-�-�-����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�0r`c�>�|�tjtjzttjtjf��|�tjtjzttjtjf��dSrd)r�rMrJ
r9
rr>
r0
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�fr`N)7rirjrkr1
r4
r7
r<
r@
rF
rH
rK
rM
rP
rR
rU
rW
rY
r[
r^
rb
rd
rl
ro
rr
rt
r)rx
rz
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
rr,rlr`r^r.
r.
UsD������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�gr`r.
c��eZdZd�Zd�ZdS)�
OtherABCTestsc���tjd���}|��}|�|tj��|�dtj��dS)Nc3�K�dV�dSr�rlrlr`r^�managerz2OtherABCTests.test_contextmanager.<locals>.manager2������H�H�H�H�Hr`r�)�
contextlib�contextmanagerr�rMr�r�)rYrr�s   r^�test_contextmanagerz!OtherABCTests.test_contextmanager1sd��	�	"�	�	�
#�	"�	��W�Y�Y�����b�&�"7�8�8�8�� � ��V�%:�;�;�;�;�;r`c��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|rlr`r^�NotACMr$;rr`r%c3�K�dV�dSr�rlrlr`r^rz8OtherABCTests.test_async_contextmanager.<locals>.manager?rr`r�)r�r=	rM�AsyncContextManagerr�rr r�r�rPr�r�r�rZ)rYr%rr�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)rirjrkr!r(rlr`r^rr/s2������<�<�<�1�1�1�1�1r`rc� �eZdZd�Zd�Zd�ZdS)�	TypeTestsc��Gd�d��}Gd�d|��}Gd�d|��}dt|d|fd	�}||��dS)
Nc��eZdZdS)�'TypeTests.test_type_basic.<locals>.UserNr|rlr`r^�Userr-Pr�r`r.c��eZdZdS)�,TypeTests.test_type_basic.<locals>.BasicUserNr|rlr`r^�	BasicUserr0Qr�r`r1c��eZdZdS)�*TypeTests.test_type_basic.<locals>.ProUserNr|rlr`r^�ProUserr3Rr�r`r4�
user_classr�c��|��Srdrl�r5s r^�new_userz+TypeTests.test_type_basic.<locals>.new_userT����:�<�<�r`r3)rYr.r1r4r8s     r^�test_type_basiczTypeTests.test_type_basicNs�����������#�#�#�#�#��#�#�#�!�!�!�!�!�d�!�!�!�	 ��d��	 ��	 �	 �	 �	 �	�������r`c��Gd�d��}Gd�d|��}Gd�d|��}td|���}d	t|d
|fd�}||��dS)Nc��eZdZdS)�)TypeTests.test_type_typevar.<locals>.UserNr|rlr`r^r.r=[r�r`r.c��eZdZdS)�.TypeTests.test_type_typevar.<locals>.BasicUserNr|rlr`r^r1r?\r�r`r1c��eZdZdS)�,TypeTests.test_type_typevar.<locals>.ProUserNr|rlr`r^r4rA]r�r`r4rrtr5r�c��|��Srdrlr7s r^r8z-TypeTests.test_type_typevar.<locals>.new_userar9r`)rr4)rYr.r1r4rr8s      r^�test_type_typevarzTypeTests.test_type_typevarYs�����������#�#�#�#�#��#�#�#�!�!�!�!�!�d�!�!�!��C�t�$�$�$��	 ��a��	 �Q�	 �	 �	 �	 �	�������r`c���ttt}d|dttfd�}t|t��t��sJ�|d���J�dS)Nr�r�c��|�dS|��Srdrlr$s r^r%z)TypeTests.test_type_optional.<locals>.foois���
��t��q�s�s�
r`)rr4�
BaseExceptionr��KeyboardInterrupt)rYr�r%s   r^�test_type_optionalzTypeTests.test_type_optionalfsv���T�-�(�)��	�1�	��-�0�	�	�	�	��#�#�/�0�0�2C�D�D�D�D�D��s�4�y�y� � � � � r`N)rirjrkr:rCrHrlr`r^r*r*LsA������	�	�	����
!�
!�
!�
!�
!r`r*c�D�eZdZdgZd�Zeed��d���ZdS)�TestModules�_idfuncc�v�|jD]0}|�tt|��jd���1dS�NrM)�
func_namesr�r��	py_typingrj�rY�fnames  r^�test_py_functionszTestModules.test_py_functionsvsG���_�	M�	M�E����W�Y��6�6�A�8�L�L�L�L�	M�	Mr`�requires _typingc�v�|jD]0}|�tt|��jd���1dS)NrN)rNr�r��c_typingrjrPs  r^�test_c_functionszTestModules.test_c_functionszsG���_�	M�	M�E����W�X�u�5�5�@�)�L�L�L�L�	M�	Mr`N)rirjrkrNrRrrUrVrlr`r^rJrJss[��������J�M�M�M��Z��,�-�-�M�M�.�-�M�M�Mr`rJc�v�eZdZd�Zed���Zed���Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
S)�NewTypeTestsc�8�|jjD]}|���
dSrd)r"rerfs  r^�cleanupzNewTypeTests.cleanup�s-����&�	�	�A�
�A�C�C�C�C�	�	r`c���|jtjd<|j�dt��a|j�|jdzt��|_dS)NrM�UserId�	.UserName)	r"r
r	
�NewTyper�r\rkrZ�UserNamer�s r^�
setUpClasszNewTypeTests.setUpClass�sL�� #�
���H����#�#�H�c�2�2���z�)�)�#�*:�[�*H�#�N�N����r`c�4�b|`ttjd<dSrM)r\r_rMr
r	
r�s r^�
tearDownClasszNewTypeTests.tearDownClass�s��
��L� &���H���r`c�.�|���dSrd)rZr�s r^�tearDownzNewTypeTests.tearDown�s���������r`c��|�td��t��|�|�d��t��|�td��dzd��dS)Nrf�Joero�)r�r\r�r_rZr�r�s r^r2zNewTypeTests.test_basic�sf�����f�Q�i�i��-�-�-����d�m�m�E�2�2�C�8�8�8��������Q���*�*�*�*�*r`c�*�|�t��5ttt��ddd��n#1swxYwY|�t��5Gd�dt��}ddd��dS#1swxYwYdS)Nc��eZdZdS)�#NewTypeTests.test_errors.<locals>.DNr|rlr`r^r1rj�r�r`r1)r�r�rVr\r�r�
s  r^r�zNewTypeTests.test_errors�s��
�
�
�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)Nr�)r�r_rvr�r\r"rr-)rYrZs  r^rWzNewTypeTests.test_or�sM�����'�	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\rirkrj�
__supertype__r�r_rGrZ)rYr_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�5r`c���|�tt��t�d���|�t|j��t�d|jj�d���dS)Nz.UserIdr�r])r�r�r\rir_rGrkr�s r^r�zNewTypeTests.test_repr�ss������f���(�';�';�';�<�<�<�����d�m�,�,�$�M�M�t�~�'B�M�M�M�	O�	O�	O�	O�	Or`c��|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�UserAgerorq)r"r^rvrsrtrurvr�r\r�r�r_r��
PicklingError)rYrqrr�pickledr9s     r^r:zNewTypeTests.test_pickle�s����+�%�%�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)
ryr{s  r^r}z!NewTypeTests.test_missing__name__�s��3��	
�T�2�����r`c��|�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|rlr`r^�	ProUserIdrw�r�r`rx)r�r�r�r�r\)rYrxs  r^�#test_error_message_when_subclassingz0NewTypeTests.test_error_message_when_subclassing�s���
�
#�
#���I�=�
�
�
�
�	�	�
�
�
�
�
�F�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�AN)rirjrkrZrr`rbrdr2r�rWrnr�r:r}ryrlr`r^rXrX�s�����������O�O��[�O��'�'��[�'����+�+�+�
���T�T�T�6�6�6�O�O�O�

1�
1�
1����	�	�	�	�	r`rXc��eZdZeZdS)�NewTypePythonTestsN)rirjrkrOr"rlr`r^r{r{�s������
�F�F�Fr`r{rSc��eZdZeZdS)�
NewTypeCTestsN)rirjrkrUr"rlr`r^r}r}�s������
�F�F�Fr`r}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.NestedEmployeerR	rS	NrT	rlr`r^�NestedEmployeer��s"��������	�	�	��	�	�	�	�	r`r�c���tddtfdtfg��}|�|t��|dd��}|dd���}|�||��|�|t��|�|jd��|�|jd��|�|jd��|�|jd��|�|j	d��|�|j
d��|�|jtj
dtfdtfg����dS)	N�EmprR	�idrfr��Jimro�rR	r�)r5rZr�r_r�r�r�rR	r�ri�_fieldsr�r.r�
)rYr��joe�jims    r^r
zNamedTupleTests.test_basics�sZ����&�#���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�	Pr`c��tdd��}|�|t��|�|t��|�|jd��|�|jd��|�tjd��|�tjd��|�tjtj
tt�����dS)N�Timi(#rQ	�rR	rS	)
rQ	r�r�r�rR	rS	rir�r�r.r�
rZr�)rY�tims  r^�test_annotation_usagez%NamedTupleTests.test_annotation_usage�s����5�$�'�'�����c�<�0�0�0����c�5�)�)�)������5�)�)�)������4�(�(�(�����.��?�?�?�����-�/?�@�@�@�����5�$�0�c��D�D�D�	F�	F�	F�	F�	Fr`c�,�td��}|�|t��|�|t��|�|jd��|�|jd��tdd��}|�|jd��|�tjd��|�tjd��|�tjttt�����|�tjtd�����|�
t��5Gd�d	t��}ddd��dS#1swxYwYdS)
N�Jeller�SjoerdrorV	r�)rS	c�(�eZdZUdZeed<eed<dS)�RNamedTupleTests.test_annotation_usage_with_default.<locals>.NonDefaultAfterDefaultr_rVr`N)rirjrkrVr�r�rlr`r^�NonDefaultAfterDefaultr�s&���������3�
�
�
������r`r�)rV	r�r�r�rR	rS	rir�r�r�rZr��_field_defaultsr�r�r5)rY�jelle�cooler_employeer�s    r^�"test_annotation_usage_with_defaultz2NamedTupleTests.test_annotation_usage_with_defaults���'��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)Nror�r�rz42 -> 1r_c� �eZdZUeed<d�ZdS)�DNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBadrVc��dS)Nzno chance for thisrlr�s r^r�zLNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad._fields$s��/�/r`N)rirjrkr�r�r�rlr`r^�XMethBadr�"s.�����������0�0�0�0�0r`r�c� �eZdZUeed<d�ZdS)�ENamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2rVc��dS)Nzno chance for this as wellrlr�s r^�_sourcezMNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2._source*s��7�7r`N)rirjrkr�r�r�rlr`r^�	XMethBad2r�(s.�����������8�8�8�8�8r`r�)	r�rX	rZ	rVrZr\	r�rr5)rYr�r�s   r^�"test_annotation_usage_with_methodsz2NamedTupleTests.test_annotation_usage_with_methodss�������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�dt��}|�t��5Gd�dt|��}ddd��dS#1swxYwYdS)	Nc��eZdZdS)�4NamedTupleTests.test_multiple_inheritance.<locals>.ANr|rlr`r^r�r�.rr`r�c��eZdZUeed<dS��4NamedTupleTests.test_multiple_inheritance.<locals>.XrVNr�rlr`r^rJr�1r�r`rJc��eZdZUeed<dSr�r�rlr`r^rJz4NamedTupleTests.test_multiple_inheritance.<locals>.X4r�r`c��eZdZUeed<dSr�r�rlr`r^rJz4NamedTupleTests.test_multiple_inheritance.<locals>.X7r�r`c��eZdZUeed<dS)r�rVNr�rlr`r^r�z4NamedTupleTests.test_multiple_inheritance.<locals>.A9r�r`c��eZdZUeed<dS)r�r`Nr�rlr`r^rJz4NamedTupleTests.test_multiple_inheritance.<locals>.X<r�r`)r�r�r5r�)rYr�rJs   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>.XrVNrg	rlr`r^rJr�@���������D�D�D�D�Dr`rJc��eZdZUeed<dS)�'NamedTupleTests.test_generic.<locals>.YrVNrg	rlr`r^rOr�Fr�r`rO�r�rlr_)r5r#rr�r[r�r`r!r�rvrQr�r�rRrPr�rVr�r�rZ)rYrJrOr/r�r�s      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>.Groupr��groupN)rirjrkrr�r�rlr`r^�Groupr�^s&��������F�F�F���7�N�N�N�N�Nr`r�rlror�)r5r�r�rRrQrPr�r�)rYr�r�r�s    r^�test_non_generic_subscriptz*NamedTupleTests.test_non_generic_subscript[s���	�	�	�	�	�J�	�	�	�
�#�J�������u�-�-�-�����)�2�.�.�.������c�V�,�,�,�
�A�a�!��I�I���
�
�d�1�g�g�u�%�%�%�����Q���H�%�%�%�%�%r`c�:�tdtt���}|dd��}|�|t��|�|jd��|�|jd��|�|jd��|�|j	ttt�����|�t��5tddtfgt���ddd��dS#1swxYwYdS)N�
LocalEmployee)rR	�age�Nick��NamerV�r`)
r5rZr�r�r�r�rR	rir�r�r�r�r�)rYr��nicks   r^�test_namedtuple_keyword_usagez-NamedTupleTests.test_namedtuple_keyword_usageis@��"�?��#�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�)rZrY�typename�fieldsr�r%r)
r5r�r�rZr�r�rir�r�rZrYr�r�)rYr�r�s   r^�%test_namedtuple_special_keyword_namesz5NamedTupleTests.test_namedtuple_special_keyword_namests���
��$�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�4r`c��td��}Gd�dt��}||fD]�}|�|���5|�|jd��|�|ji��|�|ji��|�|��|��ddd��n#1swxYwY��dS)Nr�c��eZdZdS)�2NamedTupleTests.test_empty_namedtuple.<locals>.CNTNr|rlr`r^�CNTr��rr`r�)�structrl)r5rvr�r�r�r�r�)rYr�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�rR	�_name)r�rR	r�)r�r�r5rNrZrr�r�s r^�test_namedtuple_errorsz&NamedTupleTests.test_namedtuple_errors�sz��
�
�
�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�rR	rS	r��jane�%ro)r5rZr�r�rQ	r�rvrsrtrur�r�r�r�rr)rYrZr�rrra�jane2s      r^�test_copy_and_picklez$NamedTupleTests.test_copy_and_pickle�s�����&�#����
� >�?�?����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)rirjrkr5r�r
r�r�r�r,r�r�r�r�r�r�r�rlr`r^rr�s����������������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�2r`rc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�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��dS�Nr�r�r�rorR	r�T)r8rZr�r_r�rMr!rbr.r/r�r�r�r�rirjr[r��	__total__�rYr�r�s   r^�test_basics_functional_syntaxz,TypedDictTests.test_basics_functional_syntax�sN�����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�������-�-�-�-�-r`c�z�|�t��5tdtt���}ddd��n#1swxYwY|�|t��|�|tj��|�	|tjj��|dd���}|�
t|��t��|�|dd��|�|dd��|�|jd��|�|jt ��|�|jtf��|�|jttd���|�|jd��dSr�)�assertWarns�DeprecationWarningr8rZr�r_r�rMr!rbr.r/r�r�r�r�rirjr[r�r�r�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)rZrYr��	_typenamer�r�r�r%�5rrkrZrYr�r�r�r�)r�r�r8r�r�rZr�r�r�r�rir�r�rH)rYr�r�s   r^�$test_typeddict_special_keyword_namesz3TypedDictTests.test_typeddict_special_keyword_names�s���
�
�
�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�rR	)r�rR	r�)r�r�r8rNrZr�r�s r^�test_typeddict_create_errorsz+TypedDictTests.test_typeddict_create_errors�s���
�
�
�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�rMr�ro�HirVr�)
r8rZr�r�rjr�r�r�rVr�r�s   r^�test_typeddict_errorsz$TypedDictTests.test_typeddict_errors�sD�����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)Nrn	r�Trror�rVr`�hir�)r�rn	rirjr�r�rZr[r�r�rbrMr�rd	)rY�
not_originrs   r^�test_py36_class_syntax_usagez+TypedDictTests.test_py36_class_syntax_usage�s������.��?�?�?�����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���.�.�.�.�.r`c���tdttd���atddd���}t	t
jdz��D]�}tj||��}tj|��}|�	||��|�	|ddd���tjt|��}tj|��}|�	|ddd���|����dS)N�EmpDr�r�r�ro)
r8rZr�r�rsrtrur�r�r�)rYr�rrrar��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�	Hr`c��tdd���}ttjdz��D]�}tj||��}tj|��}|�||��|�|ddd���tjt|��}tj|��}|�|ddd���|����dS)Ng@g@r*ro)rf	rsrtrur�r�r�)rY�pointrrra�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�	Mr`c��tdttd���}|�tj|tjd|f��|�tj|tj	|��dS)Nr�r�)
r8rZr�r�rMrrr�rr)rYr�s  r^r�zTypedDictTests.test_optionalsk����#�S�!9�!9�:�:��������.���T�4�Z�0H�I�I�I����F�K��-�v�|�D�/A�B�B�B�B�Br`c���tddtid���}|�|��i��|�|d���ddi��|�|jd��|�|jt����|�|jdh��|�t��i��|�td���d	di��|�tjd��|�tjt����|�tjd	d
h��dS)Nr1rVFri	ror�r�)rq	rq	rr	)r8r�r�r��__required_keys__ru�__optional_keys__rp	r�
s  r^�
test_totalzTypedDictTests.test_totalsD���c�C��:�U�3�3�3���������b�!�!�!������Q����#�q��*�*�*������e�,�,�,�����,�i�k�k�:�:�:�����,�s�e�4�4�4�������B�'�'�'�����1�-�-�-��Q�/?�@�@�@�����*�E�2�2�2�����2�I�K�K�@�@�@�����2�[�*�4M�N�N�N�N�Nr`c��Gd�dtd���}|jtddg��ksJ�|jtdg��ksJ�dS)Nc��eZdZUeed<dS)�6TypedDictTests.test_optional_keys.<locals>.Point2Dor3DraNr�rlr`r^�Point2Dor3Dr*r�r`rFri	rVr`ra)rd	r�rur�)rYrs  r^�test_optional_keysz!TypedDictTests.test_optional_keys)sy��	�	�	�	�	�'��	�	�	�	��,�	�3��*�0E�0E�E�E�E�E��,�	�3�%�0@�0@�@�@�@�@�@�@r`c�d�Gd�dt��}Gd�d|d���}Gd�d|��}|jtd	g��ksJ�|jtg��ksJ�|jd	t
iksJ�|jtd	g��ksJ�|jtd
dg��ksJ�|jt
tt
d�ksJ�|jtd	d
g��ksJ�|jtd
dg��ksJ�|jt
t
tt
d�ksJ�dS)Nc��eZdZUeed<dS)�8TypedDictTests.test_keys_inheritance.<locals>.BaseAnimalrR	Nr�rlr`r^�
BaseAnimalr1s��������I�I�I�I�Ir`rc�$�eZdZUeed<eed<dS)�4TypedDictTests.test_keys_inheritance.<locals>.Animal�voicerN)rirjrkrZr�rqrlr`r^�Animalr	4s"��������J�J�J��J�J�J�J�Jr`rFri	c��eZdZUeed<dS)�1TypedDictTests.test_keys_inheritance.<locals>.Cat�	fur_colorNr�rlr`r^�Catr
8s��������N�N�N�N�Nr`rrR	rr
)rR	rr
r)rrR	rr
)r8r�rur�r�rZrq)rYrrrs    r^�test_keys_inheritancez$TypedDictTests.test_keys_inheritance0s���	�	�	�	�	��	�	�	�	�	�	�	�	�Z�u�	�	�	�	�	�	�	�	�	�&�	�	�	��+�y�&��/B�/B�B�B�B�B��+�y��}�}�<�<�<�<��)�f�c�]�:�:�:�:��'�9�f�X�+>�+>�>�>�>�>��'�9�f�g�5F�+G�+G�G�G�G�G��%����*
�*
�
�	
�	
�	
��$�	�6�;�2G�(H�(H�H�H�H�H��$�	�6�7�2C�(D�(D�D�D�D�D��"�����	'
�'
�
�	
�	
�	
�	
�	
r`c��|�tjtdh����|�tjtdh����|�t
jtdh����|�t
jtdh����|�tjjt����|�tjjtdh����|�tjtdh����|�tjtdh����|�tjtdh����|�tjtdh����dS)Nru	rv	r�)
r�rx	r�rur�rt	rLr
rz	r�	r�s r^�test_required_notrequired_keysz-TypedDictTests.test_required_notrequired_keysPs�������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�,�,�	.�	.�	.�	.�	.r`c�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*
Nr�rlr`r^�Onerk���������H�H�H�H�Hr`rc��eZdZUeed<dS)�5TypedDictTests.test_multiple_inheritance.<locals>.Two�twoNr�rlr`r^�Twormrr`rc��eZdZUeed<dS)�9TypedDictTests.test_multiple_inheritance.<locals>.Untotal�untotalNr�rlr`r^�Untotalros��������L�L�L�L�Lr`rFri	�Inline�inlinec��eZdZdS)�9TypedDictTests.test_multiple_inheritance.<locals>.RegularNr|rlr`r^�Regularr#rrr`r$c��eZdZUeed<dS)�7TypedDictTests.test_multiple_inheritance.<locals>.Child�childN�rirjrkrqr�rlr`r^r�r&u���������K�K�K�K�Kr`r�)r*
rr'c��eZdZUeed<dS)�CTypedDictTests.test_multiple_inheritance.<locals>.ChildWithOptionalr'Nr(rlr`r^�ChildWithOptionalr+�r)r`r,r*
r'r)r*
rr'c��eZdZUeed<dS)�ETypedDictTests.test_multiple_inheritance.<locals>.ChildWithTotalFalser'Nr(rlr`r^�ChildWithTotalFalser.�r)r`r/c��eZdZUeed<dS)�LTypedDictTests.test_multiple_inheritance.<locals>.ChildWithInlineAndOptionalr'Nr(rlr`r^�ChildWithInlineAndOptionalr1�r)r`r2)r!rr')�basesz=cannot inherit from both a TypedDict type and a non-TypedDictc��eZdZdS)�7TypedDictTests.test_multiple_inheritance.<locals>.WrongNr|rlr`r^�Wrongr5�r�r`r6)r8rqr�r�rur�r�r�rZrvr�r�)
rYrrrr r$r�r,r/r2�wrong_basesr3r6s
             r^r,z(TypedDictTests.test_multiple_inheritancejs���	�	�	�	�	�)�	�	�	�	�	�	�	�	�)�	�	�	�	�	�	�	�	�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��dusJ�ttttf��dusJ�tt����dusJ�dS)NTF)r.rd	rrZr�r�s r^�test_is_typeddictz TypedDictTests.test_is_typeddict�s_���G�$�$��,�,�,�,��E�#�s�(�O�,�,��5�5�5�5��G�I�I�&�&�%�/�/�/�/�/�/r`c��|�tt��tjt
t
d���dS)Nr*)r�r+rwrMrr�r�s r^r�z"TypedDictTests.test_get_type_hints�sA������3����/�#�&�S�1�1�	
�	
�	
�	
�	
r`c�X�|�tt��tjt
td���Gd�dtt��}|�t|��tjt
ttd���dS)Nr*c��eZdZUeed<dS)�ATypedDictTests.test_get_type_hints_generic.<locals>.FooBarGenericr`Nr�rlr`r^�
FooBarGenericr=�r�r`r>�r�r_r`)r�r+rl	rMrrr�rZ)rYr>s  r^�test_get_type_hints_genericz*TypedDictTests.test_get_type_hints_generic�s�������:�&�&��/�!�$�3�/�/�	
�	
�	
�
	�	�	�	�	�J�s�O�	�	�	�	
����=�)�)��/�!�$�3�S�9�9�	
�	
�	
�	
�	
r`c�R�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�ksJ�|�t*��5|tddd��n#1swxYwYGd�dt,ttttf��}|�|jtt
f��|�|jt,ttttff��|�|j|tt
tf��|�|j	ttf��|�|j
d��|�|jt����|�|jtgd�����|jtttd�ksJ�|�|t$tfj|��|�t*��5|t$ddd��n#1swxYwY|�t*��5Gd�dt,ttt��}ddd��dS#1swxYwYdS)Nc��eZdZUeed<dS)�2TypedDictTests.test_generic_inheritance.<locals>.Ar�Nrg	rlr`r^r�rC�r�r`r�rlc��eZdZUeed<dS)�3TypedDictTests.test_generic_inheritance.<locals>.A2r�Nrg	rlr`r^�A2rE�r�r`rFc��eZdZUeed<dS)�2TypedDictTests.test_generic_inheritance.<locals>.Br_N�rirjrkrr�rlr`r^r0rH����������E�E�E�E�Er`r0Fri	r_r�c��eZdZUeed<dS)�2TypedDictTests.test_generic_inheritance.<locals>.Cr`Nr�rlr`r^rrL�r�r`rTr`r?c��eZdZUeed<dS��8TypedDictTests.test_generic_inheritance.<locals>.Point3Dr`NrIrlr`r^�Point3DrOrJr`rPc��eZdZUeed<dSrNrIrlr`r^rPz8TypedDictTests.test_generic_inheritance.<locals>.Point3D's������������r`)r8r#rr�r[r�r`r!r�rQrZrPrr�r�rur�rRr�r�r�r�rf	)rYr�rFr0rrPs      r^�test_generic_inheritancez'TypedDictTests.test_generic_inheritance�sj��	�	�	�	�	�	�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��&����+
�+
�
�	
�	
�	
�
	
�����c��*�5�w�?�?�?�
�
�
�y�
)�
)�	�	��C�L�L�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�.��+�W�R�[�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s6�2U�U�U� \:�:\>�\>�0^�^ �#^ c��Gd�dttt��}Gd�d|td���}Gd�d|��}|�|jttf��|�|j|tttf��|�|j	d	��|�|j
d
��|�|jtdg����|�|j
tdd
g����|jtttd�ksJ�|�t"��5|t$ddd��dS#1swxYwYdS)Nc��eZdZUeed<dS)�7TypedDictTests.test_implicit_any_inheritance.<locals>.Ar�Nrg	rlr`r^r�rU+r�r`r�c��eZdZUeed<dS)�7TypedDictTests.test_implicit_any_inheritance.<locals>.Br_NrIrlr`r^r0rW.rJr`r0Fri	c��eZdZUeed<dS)�ETypedDictTests.test_implicit_any_inheritance.<locals>.WithImplicitAnyr`Nr�rlr`r^�WithImplicitAnyrY1r�r`rZrlTr_r�r`r?)r8r#rrr�r[r�r!r�rQr�r�rur�r�r�r�r�rZ)rYr�r0rZs    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��.����3
�3
�
�	
�	
�	
�
�
�
�y�
)�
)�	!�	!��C� � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�&F�F�Fc��Gd�dt��}|t}|�|j|��|�|jd��|�|jtf��|d���}|�t|��t��|�|ddi��dS)Nc��eZdZUeed<dS)�5TypedDictTests.test_non_generic_subscript.<locals>.TDr�Nrg	rlr`r^r�r^Fr�r`r�rlror$r�)	r8r�r�rRrQrPr�r�r�)rYr�r�r�s    r^r�z)TypedDictTests.test_non_generic_subscriptCs���	�	�	�	�	��	�	�	��s�G�������r�*�*�*�����)�2�.�.�.������c�V�,�,�,�
�A�!�H�H�H���
�
�d�1�g�g�t�$�$�$�����S�!�H�%�%�%�%�%r`N)rirjrkr�r�r�r�r�r�r:r�r�r�rrrr,r9r�r@rRr[r�rlr`r^r�r��sX������
.�
.�
.�.�.�.� 5�5�5�9�9�9�1�1�1�/�/�/�H�H�H�	M�	M�	M�C�C�C�O�O�O�A�A�A�
�
�
�@.�.�.�4U�U�U�n0�0�0�
�
�
�
�
�
�M�M�M�^!�!�!�2&�&�&�&�&r`r�c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�
RequiredTestsc���|�t��5ttddd��n#1swxYwY|�t��5ttt
fddd��n#1swxYwY|�t��5ttt
ddd��dS#1swxYwYdSrd)r�r�r7r6r�rZr�s r^r
zRequiredTests.test_basicsSsu��
�
�
�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�r7r�r{rir�s  r^r�zRequiredTests.test_repr[s}������h���):�;�;�;�
�c�]������b���#9�:�:�:�
�h�
������b���#J�h�#J�#J�#J�K�K�K�K�Kr`c	��|�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|rlr`r^rrhdr�r`rc��eZdZdSrgr|rlr`r^rz-RequiredTests.test_cannot_subclass.<locals>.Cgr�r`c��eZdZdSrgr|rlr`r^rz-RequiredTests.test_cannot_subclass.<locals>.Cjr�r`c��eZdZdSrgr|rlr`r^rz-RequiredTests.test_cannot_subclass.<locals>.Cmr�r`)r�r�r�r7r�rs  r^r�z"RequiredTests.test_cannot_subclassbsy��
�
�
�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#1swxYwYdSrd)r�r�r7r�rr�r�s r^rzRequiredTests.test_cannot_initpr�r�c�D�|�t��5tdtt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSr)r�r�r�r7r�rVr�s r^rz RequiredTests.test_no_isinstancexr�r�Nr�rlr`r^r`r`Qsb���������L�L�L����,�,�,�&�&�&�&�&r`r`c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�NotRequiredTestsc���|�t��5ttddd��n#1swxYwY|�t��5ttt
fddd��n#1swxYwY|�t��5ttt
ddd��dS#1swxYwYdSrd)r�r�r6r7r�rZr�s r^r
zNotRequiredTests.test_basics�sv��
�
�
�y�
)�
)�	"�	"���!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	"�	"���S��!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�
�
�
�y�
)�
)�	"�	"����S�!�!�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"�	"����	"�	"�	"�	"�	"�	"rbc�<�|�tt��d��tt}|�t|��d��tt}|�t|��dt
�d���dS)Nztyping.NotRequiredztyping.NotRequired[int]ztyping.NotRequired[rd)r�r�r6r�r{rir�s  r^r�zNotRequiredTests.test_repr�s�������k�*�*�,@�A�A�A�
��
������b���#<�=�=�=�
��
"������b���#M��#M�#M�#M�N�N�N�N�Nr`c	��|�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|rlr`r^rrv�r�r`rc��eZdZdSrur|rlr`r^rz0NotRequiredTests.test_cannot_subclass.<locals>.C�r�r`c��eZdZdSrur|rlr`r^rz0NotRequiredTests.test_cannot_subclass.<locals>.C�r�r`c��eZdZdSrur|rlr`r^rz0NotRequiredTests.test_cannot_subclass.<locals>.C�r�r`)r�r�r�r6r�rs  r^r�z%NotRequiredTests.test_cannot_subclass�s}��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��%�%�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��S�)�*�*�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�K�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�K��$�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rlc���|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5tttt
����ddd��dS#1swxYwYdSrd)r�r�r6r�rr�r�s r^rz!NotRequiredTests.test_cannot_init�s���
�
�
�y�
)�
)�	�	��M�M�M�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	 �	 ��D�������	 �	 �	 �	 �	 �	 �	 �	 �	 �	 �	 ����	 �	 �	 �	 �
�
�
�y�
)�
)�	/�	/�,�D��X�c�]�+�,�,�.�.�.�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/�	/����	/�	/�	/�	/�	/�	/r�c�D�|�t��5tdtt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSr)r�r�r�r6r�rVr�s r^rz#NotRequiredTests.test_no_isinstance�s��
�
�
�y�
)�
)�	,�	,��q�+�c�*�+�+�+�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,�	,����	,�	,�	,�	,�
�
�
�y�
)�
)�	)�	)��s�K�(�(�(�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)�	)����	)�	)�	)�	)�	)�	)r�Nr�rlr`r^rprpsb������"�"�"�O�O�O����/�/�/�)�)�)�)�)r`rpc�&�eZdZd�Zd�Zd�Zd�ZdS)�IOTestsc��dtdtfd�}|jd}|�|jtf��dS)Nr�r�c�*�|���Srd��readliner$s r^rzIOTests.test_io.<locals>.stuff�����:�:�<�<�r`)r:rr�r�rQ�rYrr�s   r^�test_iozIOTests.test_io�sT��	 �R�	 �F�	 �	 �	 �	 �
�!�#�&������)�F�9�5�5�5�5�5r`c�z�dtdtfd�}|jd}|�|jd��dS)Nr�r�c�*�|���Srdr�r$s r^rz"IOTests.test_textio.<locals>.stuff�r�r`rl)r;rZr�r�rQr�s   r^�test_textiozIOTests.test_textio�sR��	 �V�	 ��	 �	 �	 �	 �
�!�#�&������)�2�.�.�.�.�.r`c�z�dtdtfd�}|jd}|�|jd��dS)Nr�r�c�*�|���Srdr�r$s r^rz$IOTests.test_binaryio.<locals>.stuff�r�r`rl)r<r[r�r�rQr�s   r^�
test_binaryiozIOTests.test_binaryio�sR��	 �X�	 �%�	 �	 �	 �	 �
�!�#�&������)�2�.�.�.�.�.r`c�J�tjd���5}tjdt���ddlm}m}m}m}m	}|�
|tj��|�
|tj��|�
|tj��|�t|��tgd�����|�|d��|�t|��d	��ddd��dS#1swxYwYdS)
NT��recordr���categoryr)r:r;r<r�rir9z	typing.ioro)�warnings�catch_warnings�filterwarningsr��	typing.ior:r;r<r�rir�rMr�rHr�)rY�wr:r;r<r�ris       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)rirjrkr�r�r�r�rlr`r^r}r}�sP������6�6�6�/�/�/�/�/�/�	(�	(�	(�	(�	(r`r}c�2�eZdZd�Zd�Zd�Zd�Zd�Zd�ZdS)�RETestsc��tjdtj��}|�|jt
��|�t
|��t
��|�|t
��|�d��}|�|jt��|�t
|��t��|�|t��t
tttfttttfdS)Nz[a-z]+z12345abcde.....)
r��compiler�
r_rGr=r�r��searchr>rrZr[)rY�pat�mats   r^r
zRETests.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�� � � � r`c��|�tttt��|�tttt��|�ttt
t��|�ttt��dSrd)r�r=rZr�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�#�.�.�.�.�.r`c�6�ttttf}|�t
��5|tddd��n#1swxYwY|�t
��5t
dtt��ddd��n#1swxYwY|�t
��5ttttt��ddd��dS#1swxYwYdSr�)	r>rrZr[r�r�r�r=rV)rY�ms  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=rZr[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�Cr`c��tjd���5}tjdt���ddlm}m}m}m}|�	|tj��|�	|tj��|�t|��tddg����|�|d	��|�t|��d
��ddd��dS#1swxYwYdS)NTr�r�r�r)r>r=r�rir>r=z	typing.rero)r�r�r�r��	typing.rer>r=r�rir�rMr�rHr�)rYr�r>r=r�ris      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���|�t��5}Gd�dtj��}ddd��n#1swxYwY|�t|j��d��dS)Nc��eZdZdS)�'RETests.test_cannot_subclass.<locals>.ANr|rlr`r^r�r�r�r`r�z.type 're.Match' is not an acceptable base type)r�r�rMr>r�rZr�)rY�exr�s   r^r�zRETests.test_cannot_subclasss���
�
�
�y�
)�
)�	�R�
�
�
�
�
�F�L�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
	
����R�\�*�*�I�	K�	K�	K�	K�	Ks�A�A�AN)	rirjrkr
r�r�r�r�r�rlr`r^r�r��sv������
!�
!�
!�/�/�/�	5�	5�	5�D�D�D�(�(�(�K�K�K�K�Kr`r�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)�AnnotatedTestsc��|�td��5t��ddd��dS#1swxYwYdS)Nz%Type Annotated cannot be instantiated�r�r�r?r�s r^�test_newzAnnotatedTests.test_news���
�
#�
#��3�
�
�	�	�
�K�K�K�		�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�8�<�<c���|�tttddf��d��|�ttttddf��d��dS)Nrerfztyping.Annotated[int, 4, 5]z(typing.Annotated[typing.List[int], 4, 5])r�r�r?r�rr�s r^r�zAnnotatedTests.test_reprst�������3��1�9�%�&�&�)�	
�	
�	
�	
�����4��9�a��?�+�,�,�6�	
�	
�	
�	
�	
r`c��tttdfdf}|�|ttddf��|�|jd��|�|jt��dS)Nrerfrd)r?r�r��__metadata__rRr�s  r^r�zAnnotatedTests.test_flatten%sq���i��Q��'��*�+������I�c�1�a�i�0�1�1�1�������0�0�0������s�+�+�+�+�+r`c���tttdf}tttdf}|�|ttttdf��|�|tjd��|�|tjtt��|�t��5|tddd��n#1swxYwY|�t��5|ttfddd��dS#1swxYwYdS)N�
my decoration)r�)
r?rrr�r�r�rRr�r�rv)rY�L�LIs   r^�test_specializezAnnotatedTests.test_specialize+s����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	��|�tttddfttddfh��d��|�ttddfttddf��|�ttddftt
ddf��|�ttdfttddf��|�ttddfttddfttddfhttddfttddfh��dS�Nrerfro�r�r�r?r�r�rZrr�s r^�test_hash_eqzAnnotatedTests.test_hash_eq6�(������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�	
�	
�	
�	
�	
r`c���G�fd�d���t�df}|d��}�d��}|�||��|�|j|j��|�|j|j��dS)Nc�$��eZdZdZd�Z�fd�ZdS)�*AnnotatedTests.test_instantiate.<locals>.Crec��||_dSrdr�rs  r^r�z3AnnotatedTests.test_instantiate.<locals>.C.__init__Drr`c�R��t|���stS|j|jkSrd)r��NotImplementedrV)rYrrs  �r^�__eq__z1AnnotatedTests.test_instantiate.<locals>.C.__eq__Gs*���!�%��+�+�*�)�)��w�$�&�(�(r`N)rirjrk�classvarr�r�r�s�r^rr�AsB��������H�
�
�
�
)�
)�
)�
)�
)�
)�
)r`r�a decorationrf)r?r�rVr�)rYr�r�r`rs    @r^�test_instantiatezAnnotatedTests.test_instantiate@s����		)�		)�		)�		)�		)�		)�		)�		)�		)�		)�
�a��'�(��
�A�a�D�D��
�A�a�D�D������A���������a�c�"�"�"������Q�Z�0�0�0�0�0r`c���ttjtdf}|�|gd���ddd���|�|t
gd���ddd���dS)Nr�)rererfr�rord)r?rMrn
rr�r�)rY�MyCounts  r^�test_instantiate_genericz'AnnotatedTests.test_instantiate_genericSsv���F�N�1�-��>�?����������+�+��q�\�\�:�:�:��������i�i�i�0�0�a�A�,�,�?�?�?�?�?r`c��td}|�t��5|d��ddd��dS#1swxYwYdS)N)r��rfrgrf)r?r�r�r�s  r^�test_cannot_instantiate_forwardz.AnnotatedTests.test_cannot_instantiate_forwardXs����m�$��
�
�
�y�
)�
)�	�	�
�A�a�D�D�D�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A�A�Ac��ttdf}|�t��5|d��ddd��dS#1swxYwYdS)Nr�rf)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)rfr�)r�rr?rrVr�s r^�test_cannot_getattr_typevarz*AnnotatedTests.test_cannot_getattr_typevarbs���
�
�
�~�
.�
.�	#�	#��a��i� �"�"�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#�	#����	#�	#�	#�	#�	#�	#s�A�A�	Ac��Gd�d��}t|df}|�|jd��d|_|�|jd��dS)Nc��eZdZdZdS)�/AnnotatedTests.test_attr_passthrough.<locals>.CreN)rirjrkr�rlr`r^rr�gs�������H�H�Hr`rr�rerf)r?r�r�rV)rYrr�s   r^�test_attr_passthroughz$AnnotatedTests.test_attr_passthroughfsx��	�	�	�	�	�	�	�	�
�a��'�(�������Q�'�'�'���������a� � � � � r`c�8�Gd�d��}|�t|t����dtt��|�t|t����dt
t��dS)Nc�d�eZdZUdZeeedfed<dZee	edfed<dS)�7AnnotatedTests.test_special_form_containment.<locals>.Crer�r�r�	rzN)
rirjrkr�r?r$r�r�rzr%rlr`r^rr�psN�������AB�H�i���
�~� =�>�B�B�B�45�E�9�U�3�Z��0�1�5�5�5�5�5r`rr�rz)r�r+r&r$r�r%rs  r^�test_special_form_containmentz,AnnotatedTests.test_special_form_containmentos���	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�Kr`c	��|�tttddfttddfh��d��|�ttddfttddf��|�ttddftt
ddf��|�ttdfttddf��|�ttddfttddfttddfhttddfttddfh��dSr�r�r�s r^r�zAnnotatedTests.test_hash_eqwr�r`c��|�td��5Gd�dt��}ddd��dS#1swxYwYdS)NzCannot subclass .*Annotatedc��eZdZdS)�.AnnotatedTests.test_cannot_subclass.<locals>.CNr|rlr`r^rr��r�r`rr�rs  r^r�z#AnnotatedTests.test_cannot_subclass�s���
�
#�
#�I�/L�
M�
M�	�	�
�
�
�
�
�I�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�=�A�Ac��|�t��5tdttdf��ddd��dS#1swxYwYdS)Nrf�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�rVr�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)r�r�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.r�ro)�protocolr�c��eZdZdZdS)�_Annotated_test_GroNrTrlr`r^r�r��rjr`r�zA decorationr�r/)rMr
rr�rZrrr"r[r?rsrtrurvr�r�r�r#rr�r%rrV)
rYr�r�rV�protrs�restoredr/rrras
          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�rr�r�rMr rrrZ)rYr�	�dec2rr�r1�Itr�s        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��}ttt||f}|�|tttt|f��|�|ttfttttf|f��|�t��5tt||fddd��n#1swxYwYtt|t|f|f}|�|tttt|f��|�|ttfttttf|f��|�|tttftttttf|f��|�t��5|dddd��n#1swxYwYttt||f|f}|�|tttt|f��|�|ttfttttf|f��|�|tttftttttf|f��|�t��5|dddd��n#1swxYwYtt|t||f|f}	|�|	ttfttttf|f��|�|	tttftttttf|f��|�|	ttttfttttttf|f��|�t��5|	tddd��n#1swxYwYtd��}
td��}td	��}|	|t|
|f}
|�|
tt|t|
|f|f��|�|
ttfttttf|f��|�|
tttftttttf|f��|�|
ttttfttttttf|f��|�t��5|
tddd��dS#1swxYwYdS)
Nr�r�rr�r�rlr�r��T4)rrr?rrr�r�rZr�r�rvrq)rYr�	r�rr�r�r�r0rr1r�r�r�r2s              r^�test_typevar_substz!AnnotatedTests.test_typevar_subst�sk����
�$�
�
���C�L�L��
�T�]�]��
�T�]�]���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�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�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��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�&��+�r�!�"�����
��e�B��s��R�/�0�#�5�6�	
�	
�	
�	
���
�c�3�h�K��5��c��?�C�#7�8�	
�	
�	
�	
���
�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�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	sZ�D/�/D3�6D3�	I2�2I6�9I6� 	N5�5N9�<N9�
T$�$T(�+T(�[+�+[/�2[/c��tttdf}|�|ttttdf��dS)Nrf)rr?rr�r�rKs  r^�test_annotated_in_other_typesz,AnnotatedTests.test_annotated_in_other_typessB����1�a�4��!������3���i��Q��&7�!8�9�9�9�9�9r`c��Gd�dttdf��}|�|j|ttfd��dS)Nc��eZdZdS)�,AnnotatedTests.test_annotated_mro.<locals>.XNr|rlr`r^rJr�r�r`rJr�	z Annotated should be transparent.)r?r�r�r!r�rKs  r^�test_annotated_mroz!AnnotatedTests.test_annotated_mrosW��-�-�-�-�-�	�#�w�,�'�-�-�-������Q��V�$4�;�	=�	=�	=�	=�	=r`N)rirjrkr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r:r�r�r�r�rlr`r^r�r�sh���������
�
�
�,�,�,�	�	�	�
�
�
�1�1�1�&@�@�@�
���
���
#�#�#�!�!�!�L�L�L�
�
�
����
6�6�6�8�8�8����%�%�%�<���:E�E�E�N:�:�:�=�=�=�=�=r`r�c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
S)�TypeAliasTestsc��t}dSrd�r{�rYr�s  r^�-test_canonical_usage_with_variable_annotationz<TypeAliasTests.test_canonical_usage_with_variable_annotations��#���r`c��t}dSrdr�r�s  r^�&test_canonical_usage_with_type_commentz5TypeAliasTests.test_canonical_usage_with_type_comment"s�����r`c��|�t��5t��ddd��dS#1swxYwYdSrd)r�r�rCr�s r^r�z&TypeAliasTests.test_cannot_instantiate%s���
�
�
�y�
)�
)�	�	��K�K�K�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	rc��|�t��5tdt��ddd��dS#1swxYwYdSr�)r�r�r�rCr�s r^rz!TypeAliasTests.test_no_isinstance)s���
�
�
�y�
)�
)�	&�	&��r�9�%�%�%�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&�	&����	&�	&�	&�	&�	&�	&r�c�t�Gd�d��}|�t|��dti��dS)Nc��eZdZUded<dS)�/TypeAliasTests.test_stringized_usage.<locals>.ArCr�NrO	rlr`r^r�r
.s��������N�N�N�N�Nr`r�r�)r�r+rCr�s  r^�test_stringized_usagez$TypeAliasTests.test_stringized_usage-sS��	�	�	�	�	�	�	�	������*�*�S�)�,<�=�=�=�=�=r`c�8�|�t��5ttt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSrd)r�r�rVr{rCr�s r^�test_no_issubclassz!TypeAliasTests.test_no_issubclass2s��
�
�
�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|rlr`r^rr
;r�r`rc��eZdZdSr
r|rlr`r^rz.TypeAliasTests.test_cannot_subclass.<locals>.C?r�r`)r�r�rCr�rs  r^r�z#TypeAliasTests.test_cannot_subclass9s?��
�
�
�y�
)�
)�	�	�
�
�
�
�
�I�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��O�O�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c�V�|�tt��d��dS)Nztyping.TypeAlias)r�r�rCr�s r^r�zTypeAliasTests.test_reprBs%������i���*<�=�=�=�=�=r`c��|�t��5ttddd��dS#1swxYwYdSrd)r�r�rCr�r�s r^rz$TypeAliasTests.test_cannot_subscriptEs���
�
�
�y�
)�
)�	�	��c�N�N�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�N)rirjrkr�r�r�rr
r
r�r�rrlr`r^r�r�s�������$�$�$�������&�&�&�>�>�>�
,�,�,����>�>�>�����r`r�c�J�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�ZdS)�ParamSpecTestsc��td��}|�||��|�|t��dS)Nr�)rDr�r�r�s  r^rDzParamSpecTests.test_basic_plainLs?���c�N�N������A�������a��+�+�+�+�+r`c���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)	rDrr"r�r�rPrQr.r/�rYr�rr<r=r>r?s       r^�test_valid_useszParamSpecTests.test_valid_usesQs?���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�3r`c�.�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)
rDr�r�	r�r�rFrrGr�rRr�r�r�)rYr�r
s   r^�test_args_kwargszParamSpecTests.test_args_kwargsbs����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�4r`c��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�r�r�r
rr
c��dSrdrlr�s   r^r%z-ParamSpecTests.test_stringized.<locals>.C.fooyr�r`N)r�r
rr
)rirjrkr"r�r�r%rlr`r^rr
ws?��������3��8�$�$�$�$�
�
�
�
�
�
r`rr�)r�r)rDr#r�r�r&r'r"r�r%r�rrs   r^�test_stringizedzParamSpecTests.test_stringizedus����c�N�N��	�	�	�	�	���
�	�	�	�
	
����Q��	�	�6�8�8�4�4�v�x��3��?O�6P�Q�Q�Q�������w�y�y�&�(�(�+�+�a�f���-Q�-Q�	
�	
�	
�	
�	
r`c����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>.XrgrVN�rirjrkr"r�r�)r�rs��r^rJr
�s/����������3�������D�D�D�D�Dr`rJrQrPrl.c�,��eZdZUe�efed<dS)�,ParamSpecTests.test_user_generics.<locals>.ZrgNr 
)r�s�r^r
r"
�s(����������3�������r`r
)rrDr#r�r�rPrQr�r�rZrErqr�rR)
rYr
rJ�G1�G2�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�rKc�F��eZdZUe�efed<e�efed<dS)�CParamSpecTests.test_multiple_paramspecs_in_user_generics.<locals>.XrgrcN)rirjrkr"r�r�rZ)r�rKs��r^rJr-
�s=����������3��������C�� � � � � � r`rJ)rDr#r�rZr[r�r�rP)rYrJr#
r$
r�rKs    @@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�|�&<�=�=�=�=�=r`c��td��}td��}|j}|�|tt
f��tt
f��|�|tt
g��tt
f��|�|dg��t
d��f��|�|d��d��|�||��|��|�|tt|f��tt|f��dS)Nrr�.)	rrDr�r�r�rZr�r�rE)rYrr�r�s    r^r�z$ParamSpecTests.test_var_substitution�s���C�L�L���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�Ir`c���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�)
rrDr�rZrrvr�r�r�rMr"r.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��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�)
rrDr"rr�r�r�rQrZrv)rYrr�r<r#
r$
r%
rs        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��#�
�>�>�>�>�>r`c��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�rKrl.)rDr"r�r�rQrZrrE)rYr�rKr<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�Hr`N)
rirjrkrDr
r
r
r*
r.
r�r�r2
r4
rlr`r^r

r

Js�������,�,�,�
4�4�4�"5�5�5�&

�

�

�4�4�4�l>�>�>�	J�	J�	J�=�=�=�?�?�?�$I�I�I�I�Ir`r

c� �eZdZd�Zd�Zd�ZdS)�ConcatenateTestsc��td��}Gd�d��}t||f}|�|t��dS)Nr�c��eZdZdS)�-ConcatenateTests.test_basics.<locals>.MyClassNr|rlr`r^r
r9
r�r`r
)rDrEr�)rYr�r
r`s    r^r
zConcatenateTests.test_basicssO���c�N�N�������������
�#�����A�{�+�+�+�+�+r`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
)
rDrr"rEr�r�rPrQr.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�3r`c�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�rK.)rrDrEr�r�rZrv)rYrr�rKrs     r^r�z&ConcatenateTests.test_var_substitutions����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�7r`N)rirjrkr
r
r�rlr`r^r6
r6
sA������,�,�,�4�4�4�$8�8�8�8�8r`r6
c�,�eZdZd�Zd�Zd�Zd�Zd�ZdS)�TypeGuardTestsc�X�ttdttfd�}|�t|��dtti��|�t
��5tttfddd��dS#1swxYwYdS)Nr�c��dSrdrlr�s r^r%z'TypeGuardTests.test_basics.<locals>.foo6r�r`)rHr�r�r�r�r�rZrFs  r^r
zTypeGuardTests.test_basics3s����#���+�	�#��+�+�+�+�����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�rHr�r{rir�r�s  r^r�zTypeGuardTests.test_repr<s�������i���*<�=�=�=�
�s�^������b���#:�;�;�;�
�x�
 ������b���#B�X�#M�N�N�N�
�u�S�z�
"������b���#A�B�B�B�B�Br`c	�f�|�t��5Gd�dtt����}ddd��n#1swxYwY|�t��5Gd�dttt����}ddd��dS#1swxYwYdS)Nc��eZdZdS��.TypeGuardTests.test_cannot_subclass.<locals>.CNr|rlr`r^rrD
Gr�r`rc��eZdZdSrC
r|rlr`r^rz.TypeGuardTests.test_cannot_subclass.<locals>.CJr�r`)r�r�r�rHr�rs  r^r�z#TypeGuardTests.test_cannot_subclassEsK��
�
�
�y�
)�
)�	�	�
�
�
�
�
�D��O�O�
�
�
�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��
�
�y�
)�
)�	�	�
�
�
�
�
�D��3��(�(�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	r�c���|�t��5t��ddd��n#1swxYwY|�t��5tt����ddd��n#1swxYwY|�t��5tttt
����ddd��dS#1swxYwYdSrd)r�r�rHr�rr�r�s r^rzTypeGuardTests.test_cannot_initMs���
�
�
�y�
)�
)�	�	��K�K�K�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	�	��D��O�O����	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�
�
�
�y�
)�
)�	-�	-�*�D��8�C�=�)�*�*�,�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-r�c�D�|�t��5tdtt��ddd��n#1swxYwY|�t��5ttt��ddd��dS#1swxYwYdSr)r�r�r�rHr�rVr�s r^rz!TypeGuardTests.test_no_isinstanceUs��
�
�
�y�
)�
)�	*�	*��q�)�C�.�)�)�)�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*�	*����	*�	*�	*�	*�
�
�
�y�
)�
)�	'�	'��s�I�&�&�&�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'�	'����	'�	'�	'�	'�	'�	'r�Nr�rlr`r^r=
r=
2sb������ � � �C�C�C����-�-�-�'�'�'�'�'r`r=
�
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)>Nr�r'r�
rC
r;	r9
r`
r"r�rO
r�r�r>
rn
r�rk
r r�r�
r0
�	ItemsViewr�r1	�KeysViewrr��MappingViewr!r]
rT
r�
r�r�rq
rJ
rr4�
ValuesView.r?r
r$rEr%r@rr^rrrrCrHrrrA�
Annotationrcr}r�rMro)GrMr�r'r�
rC
r;	r9
r`
r"r�rO
r�r�r>
rn
r�rk
r r�r�
r0
rM
r�r1	rN
rr�rO
r!r]
rT
r�
r�r�rq
rJ
rr4rP
r
r?r$rEr%r@rr^rrrrCrHrrrArH
r�rvr�rvr�rirZrkrjrsrtrur�r�r�)rY�cls_to_checkrZrR	rrr8r9s       r^rnz$SpecialAttrsTests.test_special_attrsbs�	��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��5}tj||��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]rirkrMro�TypeNamerS
rI
rH
)rMr@r�rlr�rjrsrtrur�r�r�rK
rU
rirkr�r�rI
rH
)rYrrr�excr8r9s      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��Gd�dtt��}|�dt|t����|�dt|t����dS)Nc��eZdZd�ZdZdS)�4SpecialAttrsTests.test_genericalias_dir.<locals>.Fooc��dSrdrlr�s r^rz8SpecialAttrsTests.test_genericalias_dir.<locals>.Foo.barr�r`r_N)rirjrkrrkrlr`r^rrZ
s"������
�
�
��C�C�Cr`rrrk)r#rr�r�	r�r
s  r^�test_genericalias_dirz'SpecialAttrsTests.test_genericalias_dirst��	�	�	�	�	�'�!�*�	�	�	�	
�
�
�e�S��S��]�]�+�+�+��
�
�e�S��S��]�]�+�+�+�+�+r`N)
rirjrkrnrMr^r
rU
rW
r\
rlr`r^rK
rK
`s\������{/�{/�{/�z�v�~�:�C�@�@�H�01�01�01�d,�,�,�,�,r`rK
c��eZdZd�ZdS)�RevealTypeTestsc��t��}t��5}|�|t|����ddd��n#1swxYwY|�|���d��dS)NzRuntime type is 'object'
)r�rJr�r/r��getvalue)rYrh�stderrs   r^�test_reveal_typez RevealTypeTests.test_reveal_types����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)rirjrkrb
rlr`r^r^
r^
s(������J�J�J�J�Jr`r^
c� �eZdZd�Zd�Zd�ZdS)�DataclassTransformTestsc	�B�ddd�dtdtfd�}tdd���|��}Gd�d	��}|�||��|�|jdddd
id���|�|dd���|��|��dS)NFT��frozen�kw_onlyrg
rh
c��d�S)Nc��|Srdrlr�s r^r�zNDataclassTransformTests.test_decorator.<locals>.create_model.<locals>.<lambda>)s��s�r`rlrf
s  r^�create_modelz<DataclassTransformTests.test_decorator.<locals>.create_model(s
��"�?�"r`)�kw_only_default�
order_defaultc��eZdZUeed<dS)�=DataclassTransformTests.test_decorator.<locals>.CustomerModelr�Nr�rlr`r^�
CustomerModelro
-���������G�G�G�G�Gr`rp
rl��
eq_defaultrm
rl
�field_specifiersr)rqr0r�r��__dataclass_transform__)rYrk
�	decoratedrp
s    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�-�@�@��	
�	
�	
�	
�	
r`c	��Gd�d��}tddd���|��}Gd�d|d���}|�||��|�|jdddd	d
did���|�||��dS)Nc� �eZdZdd�defd�ZdS)�:DataclassTransformTests.test_base_class.<locals>.ModelBaseF�rg
rg
c��dSrdrl)rZrg
s  r^rzLDataclassTransformTests.test_base_class.<locals>.ModelBase.__init_subclass__Br�r`N)rirjrkrqrrlr`r^�	ModelBaserz
As*������9>�D�D�D�$�D�D�D�D�D�Dr`r}
T)rs
rm
�make_everything_awesomec��eZdZUeed<dS)�>DataclassTransformTests.test_base_class.<locals>.CustomerModelr�Nr�rlr`r^rp
r�
Krq
r`rp
r{
Frlr~
rr
)r0r�r�ru
r_)rYr}
�	Decoratedrp
s    r^�test_base_classz'DataclassTransformTests.test_base_class@s��	E�	E�	E�	E�	E�	E�	E�	E�
�'���$(�	
�
�
�
���	�	�	�	�	�	�I�d�	�	�	�	�	
�
�
�i��+�+�+�����-�"�!%�#(�$&�4�d�;�
�
�		
�		
�		
�	
���m�Y�7�7�7�7�7r`c	�V�Gd�d��}Gd�dt��}td|f���|��}Gd�d|�	��}Gd
�d|d�
��}|�||��|�|jddd|fid���|�||��dS)Nc��eZdZdS)�5DataclassTransformTests.test_metaclass.<locals>.FieldNr|rlr`r^�Fieldr�
\r�r`r�
c�*��eZdZdd�def�fd�Z�xZS)�9DataclassTransformTests.test_metaclass.<locals>.ModelMetaT��initr�
c�L��t���||||��Srd)rMrN)rZrR	r3�	namespacer�
rGs     �r^rNzADataclassTransformTests.test_metaclass.<locals>.ModelMeta.__new___s!����w�w���s�D�%��C�C�Cr`)rirjrkrqrNrPrQs@r^�	ModelMetar�
^s_�������=A�
D�
D�
D�6:�
D�
D�
D�
D�
D�
D�
D�
D�
D�
Dr`r�
T)rm
rt
c��eZdZdS)�9DataclassTransformTests.test_metaclass.<locals>.ModelBaseNr|rlr`r^r}
r�
hr�r`r}
r�c��eZdZUeed<dS)�=DataclassTransformTests.test_metaclass.<locals>.CustomerModelr�Nr�rlr`r^rp
r�
jrq
r`rp
Fr�
rr
)r�r0r�r�ru
r�)rYr�
r�
r�
r}
rp
s      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�7r`N)rirjrkrw
r�
r�
rlr`r^rd
rd
&sA������
�
�
�28�8�8�68�8�8�8�8r`rd
c��eZdZdZd�Zd�ZdS)�AllTestszTests for __all__.c�N�ddlm}|�d|��|�d|��|�d|��|�d|��|�d|��|�d|��|�d	|��|�d
|��|�d|��|�d|��|�d
|��|�d|��|�d|��dS)Nr)r�r�rP
r)rr�r'�ior��osr
�Textr�r�)rMr�r�rrGs  r^�test_allzAllTests.test_all~s)��'�'�'�'�'�'��
�
�m�Q�'�'�'��
�
�l�A�&�&�&��
�
�f�a� � � ��
�
�j�!�$�$�$��
�
�&��*�*�*��
�
�+�Q�/�/�/�����q�!�!�!�����q�!�!�!�����q�!�!�!������"�"�"��
�
�f�a� � � ��
�
�o�q�)�)�)��
�
�'��+�+�+�+�+r`c����ttj����fd�tt�����D��}|�|���dS)Nc����h|]p\}}|�vse|�d���|dv�"|�d���7|���|k�Ot|dd��tjk�n|��qS)r!	>r�
r�)r��_contra�_corjN)rr�upperr�rMri)rerDr��
actual_alls   �r^�	<setcomp>z3AllTests.test_all_exported_names.<locals>.<setcomp>�s����

�

�

��!�Q��J��

�
�L�L��%�%�

���%�


��J�J�9�:�:�

��G�G�I�I��N�

���<��.�.�&�/�A�

�
�

�

�

r`)rHrMr��varsr��assertSetEqual)rY�computed_allr�
s  @r^�test_all_exported_namesz AllTests.test_all_exported_names�sj������(�(�
�

�

�

�

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

�

�

��	
���L�*�5�5�5�5�5r`N)rirjrkrr�
r�
rlr`r^r�
r�
{s8��������,�,�,�,6�6�6�6�6r`r�
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 iterabler�)�_UNITERABLE_TYPESrvr�r�rKr�)rY�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���(dSrd)r�
r�r.r/r�)rY�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�	Mr`N)rirjrkr
rrZr�rrrr"r?r�
r�
r�
rlr`r^r�
r�
�s��������
�
�c�3�h��
�c�1�f�
��
����a����!��c�����!�R�%����
�
�
�M�M�M�M�Mr`r�
�__main__)�rr.r�	functoolsrrr�r�rtr�r
r��unittestrrrr	�
unittest.mockr
rrrMr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r4r5r6r7r8r:r;r<r=r>r?r@rArBrCrDrErFrGrHr/r�r4r
�test.supportrIrJr=rKrL�import_fresh_modulerOrUrRryr{rr�r�r�r�r�r�r�r�r(r@r�rZr�r�r�r�r�rrr�r�r�rrSrZr\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�rrr�r�r	r#	r$	r%	r&	r'	�asyncior(	r9
r*	r;	r3	r=	r�r0rG	r/r�rL	rQ	rV	rX	r\	rb	rd	rf	rrw�
FooGenericrl	rn	rp	rt	rx	rz	r~	r�	r�	r'r�r�	r:
r?
rbr�r�r�	r�	r!
r.
rr*rJrXr{r}rr�r`rpr}r�r�r�r

r6
r=
rH
rvr�rI
rK
r^
rd
r�
r�
rirlr`r^�<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�������
�
�
�
�����
�
�
�
���������7�7�7�7�7�7�7�7�#�#�#�#�#�#�#�#�#�#�#�#�
.�M�-�h���L�L�L�	�,�=�,�X�i�[�I�I�I�������8����*	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�	�h�	�	�	�	�	�	�	�	�h�	�	�	�	�	�	�	�	�g�w�	�	�	�)�)�)�)�)�|�)�)�)�X%%�%%�%%�%%�%%�%%�%%�%%�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>�l}!�}!�}!�}!�}!�<�}!�}!�}!�@A,��S�	�A,��c�4��9�n�9M�A,�RV�W\�]`�Wa�Rb�A,�A,�A,�A,�H+�+�+�+�+�|�+�+�+�Bj�j�j�j�j�L�j�j�j�\�����,����$G<�G<�G<�G<�G<��G<�G<�G<�T'!�'!�'!�'!�'!��'!�'!�'!�TU�U�U�U�U��U�U�U�p)'�)'�)'�)'�)'��)'�)'�)'�XX�X�X�X�X�X�X�X�t	?�	?�	?�	?�	?�+�\�	?�	?�	?�(�(�(�(�(�0�,�(�(�(�[4�[4�[4�[4�[4�<�[4�[4�[4�|
�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�tL9�L9�L9�L9�L9�<�L9�L9�L9�\#&�#&�#&�#&�#&�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��<�<�<�<�<�<�<���<�R1�R1�R1�R1�R1�l�R1�R1�R1�j������
�����������GC�GC�GC�GC�GC�L�GC�GC�GC�XP�O�O�O�O�O�O�O�O�O�O�O�O�O�����
�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�����,�,�,�,�,�Y�,�,�,�,�,�,�,�,�9�,�,�,�.�.�.�.�.��.�.�.�$�$�$�$�$�,�.�$�$�$��V�/��4�����
�
�F�3�3�5�5�M�M���t�����������6�!�9��?�������������������
�
�
�
�
�
�
�
�kU�kU�kU�kU�kU�|�kU�kU�kU�\	@=�@=�@=�@=�@=�8�@=�@=�@=�FWg�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�Jb&�b&�b&�b&�b&�\�b&�b&�b&�J
+&�+&�+&�+&�+&�L�+&�+&�+&�\+)�+)�+)�+)�+)�|�+)�+)�+)�\#(�#(�#(�#(�#(�l�#(�#(�#(�L<K�<K�<K�<K�<K�l�<K�<K�<K�~I=�I=�I=�I=�I=�\�I=�I=�I=�X)�)�)�)�)�\�)�)�)�XxI�xI�xI�xI�xI�\�xI�xI�xI�v+8�+8�+8�+8�+8�|�+8�+8�+8�Z''�''�''�''�''�\�''�''�''�T!�� ��1�1�
������U�G�D�D�
�{,�{,�{,�{,�{,��{,�{,�{,�|J�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�&Z7�7[�<[�[