HEX
Server: Apache
System: Linux bd12.noc223.com 4.18.0-553.121.1.lve.el8.x86_64 #1 SMP Thu Apr 30 16:40:41 UTC 2026 x86_64
User: handcraf (1693)
PHP: 8.1.28
Disabled: NONE
Upload Files
File: //opt/alt/python312/lib64/python3.12/test/__pycache__/test_typing.cpython-312.pyc
�

~h�e��n�ddlZddlZddlZddlmZddlmZmZddlZddlZddl	Z	ddl
Z
ddlZddlZddl
Z
ddlmZmZmZddlmZddlmZmZddlmZmZmZmZddlmZmZmZdd	lmZmZm Z m!Z!dd
lm"Z"m#Z#m$Z$ddlm%Z%m&Z&m'Z'ddlm(Z(m)Z)m*Z*m+Z+dd
lm,Z,ddlm-Z-m.Z.m/Z/m0Z0m1Z1ddlm2Z2m3Z3m4Z4ddlm5Z5ddlm6Z6m7Z7ddlm8Z8ddlm9Z9ddlm:Z:ddlm;Z;ddlm<Z<m=Z=ddlm>Z>ddlm?Z?m@Z@mAZAmBZBddlmCZCmDZDmEZEddlmFZFmGZGddlmHZHmIZIddlmJZJmKZKddlmLZLddlmMZMmNZNmOZOmPZPddlmQZQddlRZRddlSZSddlZddlTZTddlUZUdd lVmWZWmXZXdd!lYmZZZm[Z[d"Z\d#Z]d$Z^Gd%�d&e�Z_d'�Z`Gd(�d)�ZaGd*�d+ea�ZbGd,�d-ea�ZcGd.�d/ebec�ZdGd0�d1e_�ZeGd2�d3�ZfGd4�d5efe_�ZgGd6�d7efe_�ZhGd8�d9e_�ZiGd:�d;e_�ZjGd<�d=e_�ZkGd>�d?e_�Zld@emendAeoenemenfdBemepenfdC�ZqGdD�dEe_�ZrGdF�dGe_�ZsGdH�dIe_�ZtGdJ�dKe_�ZuGdL�dMe_�ZvGdN�dOe_�ZwGdP�dQe_�ZxGdR�dS�ZyGdT�dUeye_�ZzGdV�dWeye_�Z{GdX�dYe_�Z|edZene}�Z~ed[�ZGd\�d]e-e~ef�Z�Gd^�d_e�e~ef�Z�Gd`�dae1�Z�e4Gdb�dce�e1��Z�Gdd�de�Z�Gdf�dge1�Z�Gdh�die1�Z�e4Gdj�dke�e�e1��Z�e4Gdl�dme1��Z�Gdn�doe��Z�Gdp�dq�Z�Gdr�dse?�Z�e4Gdt�due1��Z�Gdv�dwe_�Z�Gdx�dye_�Z�Gdz�d{e_�Z�Gd|�d}e_�Z�Gd~�de_�Z�Gd��d�e_�Z�Gd��d�e_�Z�Gd��d�e_�Z�dd�lYm�Z�e<Gd��d���Z�e<Gd��d���Z�Gd��d�e_�Z�e�d���Z�Gd��d��Z�Gd��d�e_�Z�dd�lYm�Z�m�Z�m�Z�m�Z�m�Z�ed��Z�Gd��d�e�jDe��Z�Gd��d�e�jHe��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�eBd�d�enfg�Z�Gd��d�eB�Z�Gd��d�e-e"eB�Z�Gd��d�e[�jhd����Z�Gd��d�e[�jle"d����Z�Gd��d�e�e��Z�Gd��d�eBd����Z�Gd��d�eB�Z�Gd��d�eBd����Z�Gd„d�eBd����Z�GdĄd�e��Z�GdƄd�eB�Z�GdȄd�e��Z�Gdʄd�eB�Z�Gd̄d�eB�Z�Gd΄d�eB�Z�GdЄd�eZ�jN�Z�d�e�j�e�fdӄZ�	e�e����j�d�e5Z�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�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�ej�d��Z�ej<d�e�e�e�Z�Gd��d�e_�Z�Gd���de_�Z�G�d��de_�Z�G�d��de_�Z�G�d��de_�Z�d�Z�e�dk(re�yy#e�$r Z�eɐj�dd�k(sJ�YdZ�[ɐ�jdZ�[�wwxYw(	�N)�defaultdict)�	lru_cache�wraps)�TestCase�main�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)�override)�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)�captured_stderr�cpython_only)�mod_generics_cache�_typed_dict_helperz&Cannot subclass special typing classesz/type 'typing.%s' is not an acceptable base typez!Cannot subclass an instance of %sc�"�eZdZdd�Zdd�Zd�Zy)�BaseTestCaseNc�`�t||�s"|�d|��}|�|d|zz
}|j|��y)Nz is not a subclass of � : %s��
issubclass�failureException��self�cls�class_or_tuple�msg�messages     �7/opt/alt/python312/lib64/python3.12/test/test_typing.py�assertIsSubclasszBaseTestCase.assertIsSubclass;s?���#�~�.�69�>�J�G����7�S�=�(���'�'��0�0�	/�c�`�t||�r"|�d|��}|�|d|zz
}|j|��y)Nz is a subclass of rPrQrTs     rZ�assertNotIsSubclassz BaseTestCase.assertNotIsSubclassBs?���c�>�*�25�~�F�G����7�S�=�(���'�'��0�0�	+r\c�<�tjD]	}|��y�N)�typing�	_cleanups�rU�fs  rZ�clear_cacheszBaseTestCase.clear_cachesIs���!�!�	�A�
�C�	r\r`)�__name__�
__module__�__qualname__r[r^re�r\rZrNrN9s��1�1�r\rNc�.��t���fd��}|S)z:Runs `test_func` with various values for `proto` argument.c���ttjdz�D]'}|j|��5�||��ddd��)y#1swY�4xYw)N�)�pickle_proto��proto)�range�pickle�HIGHEST_PROTOCOL�subTest)rUro�	test_funcs  �rZ�wrapperz%all_pickle_protocols.<locals>.wrapperQsT����6�2�2�Q�6�7�	-�E����5��1�
-��$�e�,�
-�
-�	-�
-�
-�s�A	�	A	�r)rtrus` rZ�all_pickle_protocolsrwNs#����9��-��-�
�Nr\c��eZdZy)�EmployeeN�rfrgrhrir\rZryryZ���r\ryc��eZdZy)�ManagerNrzrir\rZr}r}^r{r\r}c��eZdZy)�FounderNrzrir\rZrrbr{r\rc��eZdZy)�ManagingFounderNrzrir\rZr�r�fr{r\r�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�AnyTestsc�x�|jt�5tdt�ddd�y#1swYyxYw�N�*)�assertRaises�	TypeError�
isinstancer�rUs rZ�test_any_instance_type_errorz%AnyTests.test_any_instance_type_errorls/��
�
�
�y�
)�	 ��r�3��	 �	 �	 ���0�9c��|jtt�d�Gd�dt�}|jt|�dt�d��y)Nz
typing.Anyc��eZdZy)�AnyTests.test_repr.<locals>.SubNrzrir\rZ�Subr�s��r\r��<class 'z".AnyTests.test_repr.<locals>.Sub'>)�assertEqual�reprrrf)rUr�s  rZ�	test_reprzAnyTests.test_reprps@������c��L�1��#�������I��x�j� B�C�	
r\c���|jt�5tdt�ddd�|jt�5ttddd�y#1swY�5xYw#1swYyxYwr�)r�r�rRr�intr�s rZ�test_errorszAnyTests.test_errorsys^��
�
�
�y�
)�	 ��r�3��	 �
�
�
�y�
)�	���H�	�	�	 �	 ��	�	�s�A�A'�A$�'A0c���Gd�dt�}|jt|t��|j|�|�Gd�d�}|j	t|t��|j|�|�Gd�d||�}|jt|t��|�}|j||�|j||�|j||�y)Nc��eZdZy)�(AnyTests.test_can_subclass.<locals>.MockNrzrir\rZ�Mockr��r�r\r�c��eZdZy)�-AnyTests.test_can_subclass.<locals>.SomethingNrzrir\rZ�	Somethingr��r�r\r�c��eZdZy)�1AnyTests.test_can_subclass.<locals>.MockSomethingNrzrir\rZ�
MockSomethingr��r�r\r�)r�
assertTruerR�assertIsInstance�assertFalse�assertNotIsInstance)rUr�r�r��mss     rZ�test_can_subclasszAnyTests.test_can_subclasss����3�����
�4��-�.����d�f�d�+�������I�s�3�4�� � ���d�3�2�I�t�2����
�=�#�6�7�
�_�����b�-�0����b�)�,����b�$�'r\c���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwr`)r�r�r�typer�s rZ�test_cannot_instantiatez AnyTests.test_cannot_instantiate�s]��
�
�
�y�
)�	��E�	�
�
�
�y�
)�	��D��I�K�	�	�	�	��	�	���A�A(�A%�(A1c��tjttjttjtyr`)rar>rr=r:r�s rZ�test_any_works_with_aliasz"AnyTests.test_any_works_with_alias�s%�����S�����s���	�	�#�r\N)	rfrgrhr�r�r�r�r�r�rir\rZr�r�js �� �
��(� �r\r�c�H�eZdZUeeed<d�Zd�Zd�Zd�Z	d�Z
d�Zd�Zy	)
�BottomTypeTestsMixin�bottom_typec���|j|j|j�|j|j|j�|j|jd�yr`)r�r��assertIs�assertNotEqualr�s rZ�
test_equalityz"BottomTypeTestsMixin.test_equality�sN������)�)�4�+;�+;�<��
�
�d�&�&��(8�(8�9����D�,�,�d�3r\c�N�|jt|j�d�yr`)r�r+r�r�s rZ�test_get_originz$BottomTypeTestsMixin.test_get_origin�s���
�
�j��!1�!1�2�D�9r\c��|jt�5td|j�ddd�y#1swYyxYwr�)r�r�r�r�r�s rZ�test_instance_type_errorz-BottomTypeTestsMixin.test_instance_type_error�s5��
�
�
�y�
)�	-��r�4�+�+�,�	-�	-�	-�s�6�?c��|jt�5tt|j�ddd�|jt�5tt
|j�ddd�y#1swY�BxYw#1swYyxYwr`)r�r�rRryr�r
r�s rZ�test_subclass_type_errorz-BottomTypeTestsMixin.test_subclass_type_error�sm��
�
�
�y�
)�	3��x��!1�!1�2�	3�
�
�
�y�
)�	3��x��!1�!1�2�	3�	3�	3�	3��	3�	3�s�A2�A>�2A;�>Bc�~�|jt�5|jtddd�y#1swYyxYwr`)r�r�r�r�r�s rZ�test_not_genericz%BottomTypeTestsMixin.test_not_generic�s3��
�
�
�y�
)�	"����S�!�	"�	"�	"���3�<c	�p�|jtdtjt	|j
��z�5Gd�d|j
�}ddd�|jtt�5Gd�dt|j
��}ddd�y#1swY�KxYw#1swYyxYw)N�Cannot subclass c��eZdZy)�4BottomTypeTestsMixin.test_cannot_subclass.<locals>.ANrzrir\rZ�Ar�����r\r�c��eZdZy)�4BottomTypeTestsMixin.test_cannot_subclass.<locals>.BNrzrir\rZ�Br��r�r\r�)�assertRaisesRegexr��re�escape�strr��CANNOT_SUBCLASS_TYPEr��rUr�r�s   rZ�test_cannot_subclassz)BottomTypeTestsMixin.test_cannot_subclass�s���
�
#�
#�I�"�R�Y�Y�s�4�3C�3C�/D�%E�E�G�	�
�D�$�$�
�	��
#�
#�I�/C�
D�	�
�D��)�)�*�
�	�	�		�	��	�	�s�B �8B,� B)�,B5c��|jt�5|j�ddd�|jt�5t|j��ddd�y#1swY�BxYw#1swYyxYwr`)r�r�r�r�r�s rZr�z,BottomTypeTestsMixin.test_cannot_instantiate�sl��
�
�
�y�
)�	�����	�
�
�
�y�
)�	%�"�D��!�!�"�$�	%�	%�	�	��	%�	%�s�A(�A4�(A1�4A=N)
rfrgrhr#r�__annotations__r�r�r�r�r�r�r�rir\rZr�r��s/���#���4�
:�-�3�"��%r\r�c�"�eZdZeZd�Zd�Zd�Zy)�
NoReturnTestsc�B�|jtt�d�y)N�typing.NoReturn)r�r�r
r�s rZr�zNoReturnTests.test_repr�s������h��):�;r\c���dtdtfd�}dd�}ttd�}||fD]8}|j|��5|jt|�|�ddd��:y#1swY�ExYw)N�arg�returnc��yr`ri�r�s rZ�somez/NoReturnTests.test_get_type_hints.<locals>.some���r\c��yr`rir�s rZ�some_strz3NoReturnTests.test_get_type_hints.<locals>.some_str�r�r\�r�r���target)r�r
r�r�)r
rsr��gth�rUr�r��expectedr�s     rZ�test_get_type_hintsz!NoReturnTests.test_get_type_hints�sl��0�h�0�8�0�?�#�x�8���X�&�	8�F����V��,�
8�� � ��V��h�7�
8�
8�	8�
8�
8���A"�"A+	c�l�|jtt�|jtt�yr`)r�r
rr�s rZ�test_not_equalityzNoReturnTests.test_not_equality�s"�����H�e�,����E�8�,r\N)rfrgrhr
r�r�r�r�rir\rZr�r��s���K�<�8�-r\r�c��eZdZeZd�Zd�Zy)�
NeverTestsc�B�|jtt�d�y)N�typing.Never)r�r�rr�s rZr�zNeverTests.test_repr�s������e��n�5r\c���dtdtfd�}dd�}ttd�}||fD]8}|j|��5|jt|�|�ddd��:y#1swY�ExYw)Nr�r�c��yr`rir�s rZr�z,NeverTests.test_get_type_hints.<locals>.some�r�r\c��yr`rir�s rZr�z0NeverTests.test_get_type_hints.<locals>.some_str�r�r\r�r�)r�rr�r�)rrsr�r�r�s     rZr�zNeverTests.test_get_type_hints�sl��*�e�*��*�9� �E�2���X�&�	8�F����V��,�
8�� � ��V��h�7�
8�
8�	8�
8�
8�r�N)rfrgrhrr�r�r�rir\rZr�r��s���K�6�8r\r�c��eZdZd�Zy)�AssertNeverTestsc���|jt�5td�ddd�d}|jt|�5t|�ddd�ddz}|jt�5}t|�ddd�|j	tjjd�tjdz�y#1swY��xYw#1swY��xYw#1swY�exYw)Nz
some value�ai'r�)
r��AssertionErrorrr��
assertLess�len�	exception�argsra�_ASSERT_NEVER_REPR_MAX_LENGTH)rU�value�
huge_value�cms    rZ�test_exceptionzAssertNeverTests.test_exception�s���
�
�
�~�
.�	����	���
�
#�
#�N�E�
:�	 ����	 ��5�[�
�
�
�
�~�
.�	%�"���$�	%��������!�!�!�$�%��0�0�1�4�	
�	�	��	 �	 ��
	%�	%�s#�C�C�0C �C�C� C)N)rfrgrhr�rir\rZr�r��s��
r\r�c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�	SelfTestsc��|jtt�|jtt�|jtd�yr`)r�rAr�r�r�s rZr�zSelfTests.test_equality�s0������t�$��
�
�d�D�!����D�$�'r\c�6�Gd�d�}Gd�d�}Gd�d�}|||fD]H}|j|��5|jt|j�dti�ddd��J|jt
t�d�y#1swY�txYw)	Nc��eZdZdefd�Zy)�"SelfTests.test_basics.<locals>.Foor�c��yr`rir�s rZ�barz&SelfTests.test_basics.<locals>.Foo.barr�r\N)rfrgrhrArrir\rZ�Foors
��&�T�&r\rc��eZdZdd�Zy)�%SelfTests.test_basics.<locals>.FooStrc��yr`rir�s rZrz)SelfTests.test_basics.<locals>.FooStr.barr�r\N)r�rA�rfrgrhrrir\rZ�FooStrrs��(r\rc��eZdZdd�Zy)�+SelfTests.test_basics.<locals>.FooStrTypingc��yr`rir�s rZrz/SelfTests.test_basics.<locals>.FooStrTyping.barr�r\N)r��typing.Selfr
rir\rZ�FooStrTypingr
s��/r\rr�r�)rsr�r�rrAr�r+�rUrrrr�s     rZ�test_basicszSelfTests.test_basicss���	'�	'�	)�	)�	0�	0��F�L�1�	D�F����V��,�
D�� � ��V�Z�Z��8�T�2B�C�
D�
D�	D�	
�
�
�j��&��-�
D�
D���,B�B	c�B�|jtt�d�y)Nr)r�r�rAr�s rZr�zSelfTests.test_reprs������d��]�3r\c�r�|jt�5ttddd�y#1swYyxYwr`)r�r�rAr�r�s rZ�test_cannot_subscriptzSelfTests.test_cannot_subscripts,��
�
�
�y�
)�	���I�	�	�	���-�6c��|jtt�5Gd�dtt��}ddd�|jtd�5Gd�dt�}ddd�y#1swY�8xYw#1swYyxYw)Nc��eZdZy)�)SelfTests.test_cannot_subclass.<locals>.CNrzrir\rZ�Crr�r\rzCannot subclass typing\.Selfc��eZdZy)�)SelfTests.test_cannot_subclass.<locals>.DNrzrir\rZ�Drr�r\r)r�r�r�r�rA�rUrrs   rZr�zSelfTests.test_cannot_subclassss��
�
#�
#�I�/C�
D�	�
�D��J�
�	��
#�
#�I�/�1�	�
�D�
�	�	�	�	��	�	���A+�A7�+A4�7Bc���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwr`)r�r�rAr�r�s rZ�test_cannot_initzSelfTests.test_cannot_inits]��
�
�
�y�
)�	��F�	�
�
�
�y�
)�	��D��J�L�	�	�	�	��	�	�r�c���|jt�5tdt�ddd�|jt�5t	t
t�ddd�y#1swY�<xYw#1swYyxYw�Nrl)r�r�r�rArRr�r�s rZ�test_no_isinstancezSelfTests.test_no_isinstance%sa��
�
�
�y�
)�	 ��q�$��	 �
�
�
�y�
)�	"��s�D�!�	"�	"�	 �	 ��	"�	"���A"�A.�"A+�.A7c�(�tttf}tt}tt}|j	t|�ttf�|j	t|�tf�|j	t|�tf�yr`)rrArr#r�r,�rU�alias_1�alias_2�alias_3s    rZ�
test_aliaszSelfTests.test_alias+si����d�
�#���t�*���4�.������'�*�T�4�L�9�����'�*�T�G�4�����'�*�T�G�4r\N�rfrgrhr�rr�rr�r"r%r,rir\rZr�r��s*��(�
.�4����"�5r\r�c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
y	)
�LiteralStringTestsc��|jtt�|jtt�|jtd�yr`)r�rBr�r�r�s rZr�z LiteralStringTests.test_equality6s0������
�6��
�
�m�]�3����M�4�0r\c�6�Gd�d�}Gd�d�}Gd�d�}|||fD]H}|j|��5|jt|j�dti�ddd��J|jt
t�d�y#1swY�txYw)	Nc��eZdZdefd�Zy)�+LiteralStringTests.test_basics.<locals>.Foor�c��yr`rir�s rZrz/LiteralStringTests.test_basics.<locals>.Foo.bar=r�r\N)rfrgrhrBrrir\rZrr3<s
��/�]�/r\rc��eZdZdd�Zy)�.LiteralStringTests.test_basics.<locals>.FooStrc��yr`rir�s rZrz2LiteralStringTests.test_basics.<locals>.FooStr.bar?r�r\N)r�rBr
rir\rZrr6>s��1r\rc��eZdZdd�Zy)�4LiteralStringTests.test_basics.<locals>.FooStrTypingc��yr`rir�s rZrz8LiteralStringTests.test_basics.<locals>.FooStrTyping.barAr�r\N)r��typing.LiteralStringr
rir\rZrr9@s��8r\rr�r�)rsr�r�rrBr�r+rs     rZrzLiteralStringTests.test_basics;s���	0�	0�	2�	2�	9�	9��F�L�1�	M�F����V��,�
M�� � ��V�Z�Z��8�]�2K�L�
M�
M�	M�	
�
�
�j��/��6�
M�
M�rc�B�|jtt�d�y)Nr;)r�r�rBr�s rZr�zLiteralStringTests.test_reprHs������m�,�.D�Er\c�r�|jt�5ttddd�y#1swYyxYwr`)r�r�rBr�r�s rZrz(LiteralStringTests.test_cannot_subscriptKs-��
�
�
�y�
)�	��#��	�	�	�rc��|jtt�5Gd�dtt��}ddd�|jtd�5Gd�dt�}ddd�y#1swY�8xYw#1swYyxYw)Nc��eZdZy)�2LiteralStringTests.test_cannot_subclass.<locals>.CNrzrir\rZrr@Qr�r\rz%Cannot subclass typing\.LiteralStringc��eZdZy)�2LiteralStringTests.test_cannot_subclass.<locals>.DNrzrir\rZrrBUr�r\r)r�r�r�r�rBrs   rZr�z'LiteralStringTests.test_cannot_subclassOst��
�
#�
#�I�/C�
D�	�
�D��'�
�	��
#�
#�I�8�:�	�
�M�
�	�	�	�	��	�	�r c���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwr`)r�r�rBr�r�s rZr"z#LiteralStringTests.test_cannot_initXs_��
�
�
�y�
)�	��O�	�
�
�
�y�
)�	"��D���!�	"�	"�	�	��	"�	"�r�c���|jt�5tdt�ddd�|jt�5t	t
t�ddd�y#1swY�<xYw#1swYyxYwr$)r�r�r�rBrRr�r�s rZr%z%LiteralStringTests.test_no_isinstance^sa��
�
�
�y�
)�	)��q�-�(�	)�
�
�
�y�
)�	+��s�M�*�	+�	+�	)�	)��	+�	+�r&c�(�tttf}tt}tt}|j	t|�ttf�|j	t|�tf�|j	t|�tf�yr`)rrBrr#r�r,r(s    rZr,zLiteralStringTests.test_aliasdso���
�}�4�5���}�%���=�)������'�*�]�M�,J�K�����'�*�]�,<�=�����'�*�]�,<�=r\Nr-rir\rZr/r/5s+��1�
7�F���"�+�>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�Zy)�TypeVarTestsc��td�}|j||�|j|t�|j|jd�|j|jd�|j|jd�|j|jd�|j|jd�|j|jd�|j|jt�y)NrriF)rr�r�rf�__constraints__r��	__bound__�
__covariant__�__contravariant__�__infer_variance__rg�rUrs  rZ�test_basic_plainzTypeVarTests.test_basic_plainms����C�L������A�����a��)�������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2�������x�0r\c���i}td||�|d}|j|t�|j|jd�|j|j
d�|j
|jt�|j
|jd�|j
|jd�|j
|jd�|j
|jd�y)Nz9from typing import TypeVar; T = TypeVar("T", bound=float)rriF)
�execr�rr�rfrIr�rJ�floatrKrLrMrg)rU�nsrs   rZ�test_basic_with_execz!TypeVarTests.test_basic_with_exec{s���
���
H�"�b�Q��s�G�����a��)�������S�)�����*�*�B�/��
�
�a�k�k�5�)��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2��
�
�a�l�l�D�)r\c��tdt��}|j|jd�|j|jd�|j|jt�tdtt�}|j|jd�|j|jttf�|j|jd�tdd��}|j|jd�|j|jd�|j|jd�|j|jd�td	d�
�}|j|jd	�|j|jd�|j|jd�|j|jd�tdd��}|j|jd�|j|jd�|j|jd�|j|jd�y)
N�T_bound��boundri�
T_constraints�T_coT��	covariantF�T_contra��
contravariant�T_infer)�infer_variance)rr�r�rfrIr�rJr�rKrLrM)rUrVrYrZr]r`s      rZ�test_attributeszTypeVarTests.test_attributes�s����)�3�/������)�)�9�5�����0�0�"�5��
�
�g�'�'��-����c�:�
�����/�/��A�����6�6��c�
�C��
�
�m�-�-�t�4��v��.���������/��
�
�d�(�(�$�/��
�
�d�,�,�e�4��
�
�d�-�-�u�5��:�T�:������*�*�J�7��
�
�h�,�,�e�4��
�
�h�0�0�$�7��
�
�h�1�1�5�9��)�D�9������)�)�9�5��
�
�g�+�+�U�3��
�
�g�/�/��7��
�
�g�0�0�$�7r\c��td�}|jt�5td|�ddd�y#1swYyxYw)Nrr�)rr�r�r�rNs  rZ� test_typevar_instance_type_errorz-TypeVarTests.test_typevar_instance_type_error�s8���C�L��
�
�
�y�
)�	��r�1��	�	�	�s	�
7�Ac��td�}|jt�5tt|�ddd�|jt�5t|t�ddd�y#1swY�8xYw#1swYyxYw�Nr)rr�r�rRr�rNs  rZ� test_typevar_subclass_type_errorz-TypeVarTests.test_typevar_subclass_type_error�sj���C�L��
�
�
�y�
)�	��s�A��	�
�
�
�y�
)�	��q�#��	�	�	�	��	�	�s�A)�A5�)A2�5A>c�|�|jt�5tdt�}|ddd�y#1swYyxYw)N�X)r�r�rr��rUris  rZ�test_constrained_errorz#TypeVarTests.test_constrained_error�s4��
�
�
�y�
)�	���S�!�A�
�	�	�	�s�2�;c��td�}td�}|j||�|jt||�|jt|t||f�|jt||f|�|jt|tft|�|jt|tftt�|jt|tfj
|tf�|jt|tfj|f�|jt|tfjt�y)Nri�Y)	rr�r�rr��__args__�__parameters__r��
__origin__)rUrirms   rZ�test_union_uniquezTypeVarTests.test_union_unique�s���C�L���C�L�����A�q�!�����q��1�%����E�!�H�e�A�q�D�k�2�����q�!�t��a�(����E�!�S�&�M�5��8�4����E�!�S�&�M�5��:�6�����q�#�v��/�/�!�S��:�����q�#�v��5�5��t�<��
�
�e�A�s�F�m�.�.��6r\c�6�td�}|j|dzt|df�|jd|ztd|f�|jt|dz�|t	d�f�|jtd|z�t	d�|f�y�Nri�x)rr�rr,r@rjs  rZ�test_orzTypeVarTests.test_or�s����C�L��	
����S��%��3��-�0�����q��%��Q��-�0�����!�c�'�*�Q�
�3��,@�A�����#��'�*�Z��_�a�,@�Ar\c�z�tdtt�}|jt|tft|�y�Nr�)rr��bytesr�r�rUr�s  rZ�test_union_constrainedz#TypeVarTests.test_union_constrained�s,���C��e�$�����E�!�S�&�M�5��8�4r\c��|jtt�d�|jtt�d�|jtt�d�|jtt
�d�t
dd��}|jt|�d�t
d	d�
�}|jt|�d�y)Nz~Tz~KTz~VTz~AnyStrrZTr[z+T_cor]r^z	-T_contra)r�r�rrrrr)rUrZr]s   rZr�zTypeVarTests.test_repr�s�������a��$�'�����b��5�)�����b��5�)�����f��y�1��v��.������d��W�-��:�T�:������h���5r\c��|jtd�td��|jtdtt�tdtt��yrf)r�rr�r�r�s rZ�test_no_redefinitionz!TypeVarTests.test_no_redefinition�s<�����G�C�L�'�#�,�7����G�C��c�2�G�C��c�4J�Kr\c��|jttdz�5Gd�dt�}ddd�td�}|jttdz�5Gd�d|�}ddd�y#1swY�FxYw#1swYyxYw)Nrc��eZdZy)�,TypeVarTests.test_cannot_subclass.<locals>.VNrzrir\rZ�Vr��r�r\r�rc��eZdZy)�,TypeVarTests.test_cannot_subclass.<locals>.WNrzrir\rZ�Wr��r�r\r�)r�r��NOT_A_BASE_TYPEr�CANNOT_SUBCLASS_INSTANCE)rUr�rr�s    rZr�z!TypeVarTests.test_cannot_subclass�sw��
�
#�
#�I���/J�
K�	#�"�G�"�	#��C�L��
�
#�
#�I�(�9�4�6�	��A��	�	�	#�	#��	�	�s�A3�A?�3A<�?Bc�x�|jt�5td��ddd�y#1swYyxYwrw)r�r�rr�s rZ�test_cannot_instantiate_varsz)TypeVarTests.test_cannot_instantiate_vars�s0��
�
�
�y�
)�	��G�C�L�N�	�	�	�r�c�t�|jt�5tdt��ddd�|jt�5tdtt
t��ddd�|jtd�5tdd��ddd�y#1swY�oxYw#1swY�BxYw#1swYyxYw)NrirWz%Bound must be a type\. Got \(1, 2\)\.�rlr�)r�r�rrr�rRryr�r�s rZ�test_bound_errorszTypeVarTests.test_bound_errors�s���
�
�
�y�
)�	&��C�u�%�	&�
�
�
�y�
)�	5��C��e�8�4�	5�
�
#�
#�I�$L�N�	'��C�v�&�	'�	'�		&�	&��	5�	5��	'�	'�s#�B�B"�?B.�B�"B+�.B7c� �d}t|i�y)Nz&import typing
T = typing.TypeVar('T')
�rQ�rU�codes  rZ�test_missing__name__z!TypeVarTests.test_missing__name__�s��,��	
�T�2�r\c�t�|jt�5tddd��ddd�y#1swYyxYw)NrT)r\r_�r��
ValueErrorrr�s rZ�test_no_bivariantzTypeVarTests.test_no_bivariant�s1��
�
�
�z�
*�	=��C�4�t�<�	=�	=�	=�s�.�7c���|jt�5tddd��ddd�|jt�5tddd��ddd�y#1swY�6xYw#1swYyxYw)NrT)r\ra)r_rar�r�s rZ�&test_cannot_combine_explicit_and_inferz3TypeVarTests.test_cannot_combine_explicit_and_infer�sj��
�
�
�z�
*�	>��C�4��=�	>�
�
�
�z�
*�	B��C�t�D�A�	B�	B�	>�	>��	B�	B�s�A�A&�A#�&A/c���td�}|j}|j|t�t�|j	|t
t�t
t�|j	|tt�tt�|j	|t�t�|j|t�t�|j|d�td��|j||�|�|j	|ttz�ttz�|j	|tttf�tttf�yrf)r�__typing_subst__r�r�r��listrrr�r�r)rUr�substs   rZ�test_var_substitutionz"TypeVarTests.test_var_substitutions����C�L���"�"���
�
�e�C�j�#�&�����t�C�y�)�4��9�5�����t�C�y�)�4��9�5�����t��d�+��
�
�e�C�j�#�&��
�
�e�D�k�4��:�.��
�
�e�A�h��"�����s�3�w���S��1�����u�S�#�X��/��s�C�x��Ar\c�d�td�}dttfttt|t
t
|ttttttf}|D]�}|j|��5|jt�5|j|�ddd�|jt�5t||ddd�|jt�5t||ddd�ddd���y#1swY�hxYw#1swY�JxYw#1swY�,xYw#1swY��xYw)Nrrir�)rr�r�rr"r&r$r#rsr�r�r�rr�)rUr�bad_argsr�s    rZ�test_bad_var_substitutionz&TypeVarTests.test_bad_var_substitutions���C�L����c�
�E��W�Q�Z��8�A�;��5��:�x��#��
��
�	!�C����#��&�
!��&�&�y�1�,�&�A�&�&�s�+�,��&�&�y�1�!���G�C�L�!��&�&�y�1�!���G�C�L�!�
!�
!�	!�,�,��!�!��!�!��
!�
!�sT�2D&�D�D&�8
D�D&�"
D�/D&�D�D&�D�D&�D#�D&�&D/	c���tttfD]V}|j|��5t	j
�}t
d�D]}|t|��||<�~ddd��Xy#1swY�cxYw)N�rV�
)rDrrrs�weakref�WeakValueDictionaryrpr�)rUrV�valsrts    rZ�test_many_weakrefszTypeVarTests.test_many_weakrefs"su���|�W�5�	�C����#��&�
��2�2�4���r��*�A�!�#�a�&�k�D��G�*��
�
�	�
�
�s�:A,�,A5	c���td��}|j|jd�|j|jd�|j	|j
d�y)Nr)�nameri)rr�rfrIr�rJrNs  rZ�test_constructorzTypeVarTests.test_constructor,sH������������S�)�����*�*�B�/��
�
�a�k�k�4�(r\N)rfrgrhrOrTrbrdrgrkrqrurzr�r}r�r�r�r�r�r�r�r�r�r�rir\rZrGrGlso��1�*�8�:�
��
7�B�5�6�L���'��=�B�B�!� �)r\rG�	templates�replacementsr�c��g}|j�D]2\}}g}|D]}|j||f��|j|��4g}tj|�D]R}g}	|D]/}
|D]\}}|
j	||�}
�|	j|
��1|jt|	���Tg}|D]}||vs�|j|��|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_duplicatesrts
             rZ�template_replacer�3s!��N��+7�+=�+=�+?�?�'��'�&(�#�0�	H�K�'�.�.��+�/F�G�	H��!�!�"=�>�	?���&�.�.�0B�C�F��')�#�!�	9�H�):�
C�%��+�#�+�+�H�k�B��
C�'�.�.�x�8�	9�	�!�!�%�(C�"D�E�F�(*�$�
�7���4�4�,�3�3�A�6�7�
,�+r\c��eZdZd�Zd�Zy)�TemplateReplacementTestsc�\�tddgddgddgd���}gd	�}|j||�y)
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��rU�actualr�s   rZ�:test_two_templates_two_replacements_yields_correct_renderszSTemplateReplacementTests.test_two_templates_two_replacements_yields_correct_rendersysC��!�+�-=�>�%�v�.�#�X�.��
��
��	
�����*r\c�\�tddgddgddgd���}d	d
g}|j||�y)Nr��Dogs!r�r�r�r�r�r�)r�r�)r�r�r�r�s   rZ�2test_no_duplicates_if_replacement_not_in_templateszKTemplateReplacementTests.test_no_duplicates_if_replacement_not_in_templates�sJ��!�+�W�5�%�v�.�#�X�.��
��
(�&�
��	
�����*r\N)rfrgrhr�r�rir\rZr�r�ws��+� +r\r�c�(�eZdZdZd�Zd�Zd�Zd�Zy)�GenericAliasSubstitutionTestsaKTests for type variable substitution in generic aliases.

    For variadic cases, these tests should be regarded as the source of truth,
    since we hadn't realised the full complexity of variadic substitution
    at the time of finalizing PEP 646. For full discussion, see
    https://github.com/python/cpython/issues/91162.
    c	���td�}td�}td�}Gd�dt|�}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j	||
|��5|d
k(r-|jt�5t||
z�ddd�n'|jt||
z�t|��ddd��~��y#1swY�xYw#1swY��xYw)Nr�Ts�Ts2c��eZdZy)�;GenericAliasSubstitutionTests.test_one_parameter.<locals>.CNrzrir\rZrr��r�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�rsr�r��evalr�)rUrr�r�r�generics�tuple_types�tests�alias_template�
args_template�expected_templater��	alias_str�args_str�expected_strs               rZ�test_one_parameterz0GenericAliasSubstitutionTests.test_one_parameter�s!���C�L��
�$�
���5�!��!���
�!�(����(��
��.AF�	�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�	
�1�	�8�\��\�\�	��<�\�X��#�{�2�!�.�.�y�9�7� ��X�!5�6�7�7��(�(� ��X�!5�6� ��.����	
�	�7�7����s$�9C,�C 	�#0C,� C)
�%C,�,C5c	���td�}td�}td�}Gd�dt||f�}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j	||
|��5|d
k(r-|jt�5t||
z�ddd�n'|jt||
z�t|��ddd��~��y#1swY�xYw#1swY��xYw)N�T1�T2r�c��eZdZy)�<GenericAliasSubstitutionTests.test_two_parameters.<locals>.CNrzrir\rZrr��r�r\r)r�dictrr�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��[*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��rUr�r�r�rr�r�r�r�r�r�r�r�r�r�s               rZ�test_two_parametersz1GenericAliasSubstitutionTests.test_two_parameters�s%��
�T�]��
�T�]��
�$�
��&���B���&�(����(��%
��NAF�	�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�	
�1�	�8�\��\�\�	��<�\�X��#�{�2�!�.�.�y�9�7� ��X�!5�6�7�7��(�(� ��X�!5�6� ��.����	
�	�7�7�����$�;C.�C"	�%0C.�"C+
�'C.�.C7c	���td�}td�}td�}Gd�dt|||f�}dg}ddg}dd	g}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j||
|��5|d
k(r-|j	t
�5t
||
z�ddd�n'|jt
||
z�t
|��ddd��~��y#1swY�xYw#1swY��xYw)Nr�r��T3c��eZdZy)�>GenericAliasSubstitutionTests.test_three_parameters.<locals>.CNrzrir\rZrrr�r\rr�r)�generic[T1, bool, T2]r��generic[int, bool, str])rr�rr�r�r�r�)rr"r�rsr�r�r�r�)rUr�r�rrr�r�r�r�r�r�r�r�r�r�s               rZ�test_three_parametersz3GenericAliasSubstitutionTests.test_three_parameterss4��
�T�]��
�T�]��
�T�]��*���B��
�#�*��5����(��
G�
G�
��AF�	�<�N�M�+<�!1�)�=�:K�L�)1��M�"��6H�	
�1�	�8�\��\�\�	��<�\�X��#�{�2�!�.�.�y�9�7� ��X�!5�6�7�7��(�(� ��X�!5�6� ��.����	
�	�7�7����r
c	��td�}td�}td�}Gd�dtg|���}gd�}ddg}gd	�}|D]�\}}	}
t||	|
g||d
���}|D]|\}}
}|j	||
|��5|d
k(r-|jt�5t||
z�ddd�n'|jt||
z�t|��ddd��~��y#1swY�xYw#1swY��xYw)Nr�r�r�c��eZdZy)�AGenericAliasSubstitutionTests.test_variadic_parameters.<locals>.CNrzrir\rZrr9r�r\r)rr�rr�r)@)�generic[*Ts]r�zgeneric[()])rr�r�)rr�r)rr�r�)rz[*tuple_type[*Ts]]r)rr�r)rz"[str, *tuple_type[int, ...], bool]�)generic[str, *tuple_type[int, ...], bool])rr�r�)rrr)rr�zgeneric[*tuple_type[int, ...]])rrr�)rr�r)rr��generic[T, *Ts])rr��generic[*Ts, T])rr�r�)rr�r�)rr�r)rr�generic[int, str, bool])�generic[list[T], *Ts]r�r�)rr��generic[list[int]])rr�zgeneric[list[int], str])rrzgeneric[list[int], str, bool])rr�r�)rr�r�)rr�r)rrr)�generic[*Ts, list[T]]r�r�)rr�r)rr�zgeneric[int, list[str]])rrzgeneric[int, str, list[bool]])�generic[T1, T2, *Ts]r�r�)rr�r�)rr�r)rrr)r�[int, str, bool, bytes]�generic[int, str, bool, bytes])�generic[*Ts, T1, T2]r�r�)r r�r�)r r�r)r rr)r rr)�generic[T1, *Ts, T2]r�r�)r!r�r�)r!r�r)r!rr)r!rr)rr�z#generic[int, *tuple_type[int, ...]])r�[str, *tuple_type[int, ...]]r)rrz(generic[int, *tuple_type[int, ...], str])rr�z#generic[*tuple_type[int, ...], int])rr"z(generic[str, *tuple_type[int, ...], int])rr�#generic[*tuple_type[int, ...], str])r!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])rr�z)generic[list[int], *tuple_type[int, ...]])rr�z)generic[*tuple_type[int, ...], list[int]])z!generic[T, *tuple_type[int, ...]]rr)z&generic[T1, T2, *tuple_type[int, ...]]�[str, bool]z)generic[str, bool, *tuple_type[int, ...]])�&generic[T1, *tuple_type[int, ...], T2]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�r#)z+generic[T1, *tuple_type[generic[*Ts], ...]]rz2generic[int, *tuple_type[generic[str, bool], ...]])z+generic[*tuple_type[generic[*Ts], ...], T1]rz2generic[*tuple_type[generic[int, str], ...], bool]r�r�r�r�r�rs               rZ�test_variadic_parametersz6GenericAliasSubstitutionTests.test_variadic_parameters4s&��
�T�]��
�T�]��
�$�
��#������#�*����(��J
��XAF�	�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�	
�1�	�8�\��\�\�	��<�\�X��#�{�2�!�.�.�y�9�7� ��X�!5�6�7�7��(�(� ��X�!5�6� ��.����	
�	�7�7����s$�<C/�C#	�&0C/�#C,
�(C/�/C8N)rfrgrh�__doc__r�r	rr&rir\rZr�r��s���/�d?�B�@dr\r�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�UnpackTestsc�L�gtt��tttyr`)r�r�rrr�s rZ�test_accepts_single_typez$UnpackTests.test_accepts_single_type�s���%��*���u�S�z�r\c���ttttt��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYw�N�rnrorp��
required_item)�set�dirrrr�rs�assertIn�rU�	dir_itemsr0s   rZ�test_dirzUnpackTests.test_dir�sc����F�5��:�.�/�0�	�
�	8�M����M��:�
8��
�
�m�Y�7�
8�
8�	8�
8�
8�s�A�A%	c��|jt�5ttttt
fddd�y#1swYyxYwr`)r�r�rrr�r�r�s rZ�test_rejects_multiple_typesz'UnpackTests.test_rejects_multiple_types�s:��
�
�
�y�
)�	+��5��:�u�S�z�)�*�	+�	+�	+�s�"A�A
c�2�|jt�5gtt��dttddd�|jt�5tt
tt
tddd�y#1swY�JxYw#1swYyxYw�Nr)r�r�r�r�rrr�s rZ�&test_rejects_multiple_parameterizationz2UnpackTests.test_rejects_multiple_parameterization�s{��
�
�
�y�
)�	*��e�C�j�N�1��e�C�j�)�	*�
�
�
�y�
)�	+��5��:��u�S�z�*�	+�	+�	*�	*��	+�	+�s�"B�#B
�B
�
Bc�l�|jt�5t�ddd�y#1swYyxYwr`)r�r�rr�s rZ�test_cannot_be_calledz!UnpackTests.test_cannot_be_called�s*��
�
�
�y�
)�	��H�	�	�	���*�3c��tdttd��}dt|fd�}|j	t|jd�dt�d��y)N�Movie)r��year�kwargsc��yr`ri)rBs rZ�fooz/UnpackTests.test_usage_with_kwargs.<locals>.foo�r�r\ztyping.Unpack[z.Movie])r8r�r�rr�r�r�rf)rUr@rDs   rZ�test_usage_with_kwargsz"UnpackTests.test_usage_with_kwargs�sK���'�C��#=�>��-�&��-�-�����c�1�1�(�;�<�)�(��7�;�	=r\N)	rfrgrhr+r6r8r;r=rErir\rZr)r)�s ���8�+�+��=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&y%)&�TypeVarTupleTestsc�V�|j|�s|jd|�d|���yy)NzString z does not end with )�endswith�fail)rU�string�tails   rZ�assertEndsWithz TypeVarTupleTests.assertEndsWith�s-�����t�$��I�I���z�)<�T�H�E�F�%r\c��td�}|j|jd�td�}|j|jd�y)Nr�r�)rr�rf)rUr�r�s   rZ�	test_namezTypeVarTupleTests.test_name�s>��
�$�
��������d�+��5�!��������u�-r\c�Z�td�}|j|jt�y�Nr�)rr�rgrf�rUr�s  rZ�test_modulezTypeVarTupleTests.test_module�s ��
�$�
���������1r\c��i}td|�|d}|j|jd�|j|jd�y)Nz8from typing import TypeVarTuple; Ts = TypeVarTuple("Ts")r�)rQr�rfr�rg)rUrSr�s   rZ�	test_execzTypeVarTupleTests.test_exec�sA��
���
G��L�
��X��������d�+��
�
�b�m�m�T�*r\c�>�td�}|j||�yrQ)rr�rRs  rZ� test_instance_is_equal_to_itselfz2TypeVarTupleTests.test_instance_is_equal_to_itself�s��
�$�
������R� r\c�L�|jtd�td��yrQ)r�rr�s rZ�&test_different_instances_are_differentz8TypeVarTupleTests.test_different_instances_are_different�s�����L��.��T�0B�Cr\c�F�td�}|j|t�yrQ)rr�rRs  rZ�(test_instance_isinstance_of_typevartuplez:TypeVarTupleTests.test_instance_isinstance_of_typevartuple�s��
�$�
�����b�,�/r\c�|�td�}|jt�5|�ddd�y#1swYyxYwrQ)rr�r�rRs  rZ�test_cannot_call_instancez+TypeVarTupleTests.test_cannot_call_instance�s4��
�$�
��
�
�
�y�
)�	��D�	�	�	�s�2�;c��td�}|jg|��dg|��d�|jt|t|�y)Nr�r)rr�rrRs  rZ�-test_unpacked_typevartuple_is_equal_to_itselfz?TypeVarTupleTests.test_unpacked_typevartuple_is_equal_to_itself�sD��
�$�
������2����F�b�F�1�I�.�������V�B�Z�0r\c���td�}|jtg|��tg|���|jtt|tt|�yrQ)rr�r�rrrRs  rZ�+test_parameterised_tuple_is_equal_to_itselfz=TypeVarTupleTests.test_parameterised_tuple_is_equal_to_itself�sN��
�$�
������s��s��U�3�B�3�Z�0�����v�b�z�*�E�&��*�,=�>r\c��td�}td�}|jtg|�|��tg|�|���|jtt|t|ftt|t|f�y)N�Ts1r�)rr�r�rr)rUrcr�s   rZ� tests_tuple_arg_ordering_mattersz2TypeVarTupleTests.tests_tuple_arg_ordering_matters�s~���5�!���5�!������*�3�*��*���*�3�*��*��	
�	
����&��+�v�c�{�*�+��&��+�v�c�{�*�+�	
r\c�L�td�}tg|��}|j|jg|���|j|j|f�t
t|}|j|jt|f�|j|j|f�yrQ)rr�r�rnrorr)rUr��t1�t2s    rZ�*test_tuple_args_and_parameters_are_correctz<TypeVarTupleTests.test_tuple_args_and_parameters_are_correct�s���
�$�
��
�3�B�3�Z��������f��f�-�����*�*�R�E�2�
�6�"�:�
��������v�b�z�m�4�����*�*�R�E�2r\c	��td�}td�}td�}Gd�dtg|���}Gd�dtt|�}||tt
fD�]�}|g|��}|j
|d|d�|j
|t|t�|j
|ttf|ttf�|t|}|j
|d|d�|j
|t|t�|j
|ttf|ttf�t|g|��}	|j
|	dt|d�|j
|	tt|t�|j
|	ttft|ttf�t|t|}
|j
|
dt|d�|j
|
tt|t�|j
|
ttft|ttf�||g|�|��}|jt�5|dddd�|jt�5|tddd�|j
|ttf|ttf�|j
|tttf|tttf�|j
|ttttf|ttttf�||t||f}|jt�5|dddd�|jt�5|tddd�|j
|ttf|ttf�|j
|tttf|tttf�|j
|ttttf|ttttf�t
t||g|��t|f}
|jt�5|
dddd�|jt�5|
tddd�|tk7rB|j
|
ttft
tt|dttf�|j
|
tttft
tt|tttf�|j
|
ttttft
tt|ttfttf�tt||t|t|f}|jt�5|dddd�|jt�5|tddd�|tk7rB|j
|ttfttt|dttf�|j
|tttfttt|tttf�|j
|ttttfttt|ttfttf����y#1swY���xYw#1swY��hxYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY���xYw#1swY��oxYw#1swY��UxYw)	Nr�rr�c��eZdZy)�3TypeVarTupleTests.test_var_substitution.<locals>.G1Nrzrir\rZ�G1rkr�r\rlc��eZdZy)�3TypeVarTupleTests.test_var_substitution.<locals>.G2Nrzrir\rZ�G2rnr�r\rori)rrr"rrr�r�rRr�r�rr�r�r�rx)rUr�rr�rlror�r�rr�E�F�G�H�Is               rZr�z'TypeVarTupleTests.test_var_substitutions���
�$�
���C�L��
�T�]��$���"���$�+�����$�+��R���%�?	K�A��#�2�#��A����Q�r�U�A�b�E�*����Q�u�X�q��x�0����Q�u�c�z�]�A�e�S�j�M�:��&��*�
�A����Q�r�U�A�b�E�*����Q�u�X�q��x�0����Q�u�c�z�]�A�e�S�j�M�:��Q�s��s�V��A����Q�r�U�D��2��K�0����Q�u�X�t�A�e�H�~�6����Q�u�c�z�]�D��5�#�:��,?�@��Q�v�b�z�]�#�A����Q�r�U�D��2��K�0����Q�u�X�t�A�e�H�~�6����Q�u�c�z�]�D��5�#�:��,?�@��!�*�b�*�"�*�
�A��"�"�9�-�
��"��
��"�"�9�-�
��%��
����Q�u�c�z�]�A�e�S�j�M�:����Q�u�c�3��/��5�#�s�?�1C�D����Q�u�c�3��5�6��%��c�5�:P�8Q�R��!�V�B�Z��#�$�A��"�"�9�-�
��"��
��"�"�9�-�
��%��
����Q�u�c�z�]�A�e�S�j�M�:����Q�u�c�3��/��5�#�s�?�1C�D����Q�u�c�3��5�6��%��c�5�:P�8Q�R��d�1�g�q��"��v�t�B�x�/�0�A��"�"�9�-�
��"��
��"�"�9�-�
��%��
��E�z�� � ��5�#�:��!&�t�E�{�A�b�E�4��9�'D�!E�G����Q�u�c�3��/�"�4��;��#���S�	�#A�B�
D����Q�u�c�3��5�6�"�4��;��#�s�(��T�%�[�#H�I�
K��d�1�g�q����}�d�2�h�6�7�A��"�"�9�-�
��"��
��"�"�9�-�
��%��
��E�z�� � ��5�#�:��!&�t�E�{�A�b�E�4��9�'D�!E�G����Q�u�c�3��/�"�4��;��#���S�	�#A�B�
D����Q�u�c�3��5�6�"�4��;��#�s�(��T�%�[�#H�I�
K�}?	K�,
�
��
�
��
�
��
�
��
�
��
�
��
�
��
�
�s`�2[8�
\�-\�
\�9\,�
\9�]�6
]�8\	�\	�\	�\)	�,\6	�9]	�]	�]	c�X�td�}td�}td�}Gd�dtg|���}Gd�dtt|�}||tt
fD�]q}||}|j
t�5|ttfddd�|||f}|j
t�5|g|��ddd�|j
t�5|t|ddd�||g|�t�|��}|j
t�5|tg|��ddd�|j
t�5|tg|�|��ddd�||t|t|f}|j
t�5|tt|fddd�|j
t�5|tt|t|fddd���ty#1swY��JxYw#1swY��*xYw#1swY��
xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY���xYw)Nr�rr�c��eZdZy)�7TypeVarTupleTests.test_bad_var_substitution.<locals>.G1Nrzrir\rZrlrwSr�r\rlc��eZdZy)�7TypeVarTupleTests.test_bad_var_substitution.<locals>.G2Nrzrir\rZroryTr�r\ro)
rrr"rrr�r�r�r�r�)	rUr�rr�rlror�r�rs	         rZr�z+TypeVarTupleTests.test_bad_var_substitutionOs��
�$�
���C�L��
�T�]��$���"���$�+�����$�+��R���%�	/�A��"��A��"�"�9�-�
��#�s�(��
��!�R�%��A��"�"�9�-�
��#�2�#��
��"�"�9�-�
��&��*�
�
��!�/�b�/�#�/�r�/�"�A��"�"�9�-�
��#�(��(��
��"�"�9�-�
!��#�-��-�R�-� �
!��!�V�B�Z��b�(�)�A��"�"�9�-�
#��#�v�b�z�/�"�
#��"�"�9�-�
/��#�v�b�z�6�"�:�-�.�
/�
/�)	/�
�
��
�
��
�
��
�
��
!�
!��
#�
#��
/�
/�sT�<G�0	G!�
G.�G;�<H�=H�-H�G	�!G+	�.G8	�;H	�H	�H	�H)	c�r�td�}Gd�dtg|���}Gd�dtt|�}|jt	|�d�|jt	g|��d�d�|jt	t|�d�|jt	t
g|���d�|jt	tt|�d	�|jt	t
g|���d
�|jt	ttt|�d�y)Nr�c��eZdZy)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G1Nrzrir\rZrlr|pr�r\rlc��eZdZy)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G2Nrzrir\rZror~qr�r\rorztyping.Unpack[Ts]ztuple[typing.Unpack[Ts]]ztyping.Tuple[typing.Unpack[Ts]]z*tuple[typing.Unpack[Ts]]z.typing.Unpack[typing.Tuple[typing.Unpack[Ts]]])rr"rr�r�r�r)rUr�rlros    rZ�test_repr_is_correctz&TypeVarTupleTests.test_repr_is_correctms���
�$�
��$���"���$�+�����$�+�����b��4�(�����f��f�Q�i��*=�>�����f�R�j�)�+>�?�����e�C�R�C�j�)�+E�F�����e�F�2�J�/�0�2S�T�����u�S�b�S�z�*�,G�H�����f�U�6�"�:�%6�7�8�:j�kr\c
�p�td�}Gd�dtg|���}Gd�dtt|�}|jt	|d�d�|jt	|d�d�|jt	|t
�d	�|jt	|t
�d
�|jt	|t
tf�d�|jt	|t
tf�d�|jt	|gttd
f���d�|jt	|tttd
f�d�|jt	|t
gttd
f���d�|jt	|t
tttd
ff�d�|jt	|gttd
f�t���d�|jt	|tttd
ftf�d�|jt	|t
gttd
f�t���d�|jt	|t
tttd
ftf�d�y)Nr�c��eZdZy)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.ANrzrir\rZr�r��r�r\r�c��eZdZy)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.BNrzrir\rZr�r��r�r\r�ri�A[()]zB[()]�A[float]zB[float]�
A[float, str]z
B[float, str].zA[*tuple[int, ...]]z(B[typing.Unpack[typing.Tuple[int, ...]]]zA[float, *tuple[int, ...]]z/A[float, typing.Unpack[typing.Tuple[int, ...]]]zA[*tuple[int, ...], str]z-B[typing.Unpack[typing.Tuple[int, ...]], str]zA[float, *tuple[int, ...], str]z4B[float, typing.Unpack[typing.Tuple[int, ...]], str])
rr"rrMr�rRr�r�r�r)rUr�r�r�s    rZ�#test_variadic_class_repr_is_correctz5TypeVarTupleTests.test_variadic_class_repr_is_correct~sD��
�$�
��#������#�*���r�
�#�*����D��2��K��1����D��2��K��1����D��5��N�J�7����D��5��N�J�7����D��5�#�:��/��A����D��5�#�:��/��A����D��#3�E�#�s�(�O�#3�!4�5�1�	3����D��6�%��S��/�#:�!;�<�F�	H�	
���D��5�#:�5��c��?�#:�!;�<�8�	:����D��5�&��s�C�x��*A�#A�!B�C�M�	O�	
���D��#8�E�#�s�(�O�#8�S�#8�!9�:�6�	8����D��6�%��S��/�#:�C�#?�!@�A�K�	M�	
���D��5�#?�5��c��?�#?�C�#?�!@�A�=�	?����D��5�&��s�C�x��*A�3�#F�!G�H�R�	Tr\c���td�}Gd�dtt|�}|g|��}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�|t|}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�|g|�t��}|jt	|�d	�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|t|tf}|jt	|�d	�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|tg|��}|jt	|�d
�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|tt|f}|jt	|�d
�|jt	|d�d
�|jt	|t
�d�|jt	|t
tf�d�|tg|�t��}	|jt	|	�d�|jt	|	d�d�|jt	|	t
�d�|jt	|	t
tf�d�|tt|tf}
|jt	|
�d�|jt	|
d�d�|jt	|
t
�d�|jt	|
t
tf�d�|g|�ttdf��}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�|t|tttdff}|jt	|�d�|jt	|d�d�|jt	|t
�d�|jt	|t
tf�d�y)Nr�c��eZdZy)�FTypeVarTupleTests.test_variadic_class_alias_repr_is_correct.<locals>.ANrzrir\rZr�r��r�r\r�zA[typing.Unpack[Ts]]rir�r�r�zA[typing.Unpack[Ts], int]zA[int]z
A[float, int]zA[float, str, int]zA[int, typing.Unpack[Ts]]z
A[int, float]zA[int, float, str]zA[int, typing.Unpack[Ts], str]zA[int, str]zA[int, float, str, str].z&A[typing.Unpack[Ts], *tuple[str, ...]]zA[*tuple[str, ...]]zA[float, *tuple[str, ...]]zA[float, str, *tuple[str, ...]]z;A[typing.Unpack[Ts], typing.Unpack[typing.Tuple[str, ...]]]z(A[typing.Unpack[typing.Tuple[str, ...]]]z/A[float, typing.Unpack[typing.Tuple[str, ...]]]z4A[float, str, typing.Unpack[typing.Tuple[str, ...]]])
rr"rrMr�rRr�r�r�r)
rUr�r�r�rrrprqrrrsrt�J�Ks
             rZ�)test_variadic_class_alias_repr_is_correctz;TypeVarTupleTests.test_variadic_class_alias_repr_is_correct�s���
�$�
��*���r�
�#�*�
�c�r�c�F�����D��G�%;�<����D��2��K��1����D��5��N�J�7����D��5�#�:��/��A�
�f�R�j�M�����D��G�%;�<����D��2��K��1����D��5��N�J�7����D��5�#�:��/��A�
�h�r�h�3�h�K�����D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�f�R�j�#�o������D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�c�h�B�h�K�����D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�c�6�"�:�o������D��G�%@�A����D��2��K��2����D��5��N�O�<����D��5�#�:��/�1E�F�
�c�m�B�m��m������D��G�%E�F����D��2��K��7����D��5��N�,@�A����D��5�#�:��/�1J�K�
�c�6�"�:�s�"�#�����D��G�%E�F����D��2��K��7����D��5��N�,@�A����D��5�#�:��/�1J�K�
�#�r�#�E�#�s�(�O�#�$�����D��G�%M�N����D��2��K�)>�?����D��5��N�,H�I����D��5�#�:��/�1R�S�
�f�R�j�&��s�C�x��1�1�2�����D��G�%b�c����D��2��K�)S�T����D��5��N�,]�^����D��5�#�:��/�1g�hr\c	��|jttdz�5Gd�dt�}ddd�td�}|jttdz�5Gd�d|�}ddd�|jtt
�5Gd�dt
t��}ddd�|jtt
�5Gd	�d
t
|��}ddd�|jtt
�5Gd�dt
t|��}ddd�|jtd
�5Gd�dt�}ddd�|jtd�5Gd�dg|���}ddd�|jtd�5Gd�dt|�}	ddd�y#1swY��}xYw#1swY��NxYw#1swY�� xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nrc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.CNrzrir\rZrr��r�r\rr�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.DNrzrir\rZrr��r�r\rc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.ENrzrir\rZrpr��r�r\rpc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.FNrzrir\rZrqr��r�r\rqc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.GNrzrir\rZrrr��r�r\rrzCannot subclass typing\.Unpackc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.HNrzrir\rZrsr��r�r\rsz#Cannot subclass typing.Unpack\[Ts\]c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.INrzrir\rZrtr��r�r\rtc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.JNrzrir\rZr�r��r�r\r�)r�r�r�rr�r�r�r)
rUrr�rrprqrrrsrtr�s
          rZr�z&TypeVarTupleTests.test_cannot_subclass�s���
�
#�
#�I���/O�
P�	(�'�L�'�	(�
�$�
��
�
#�
#�I�(�>�9�;�	��B��	��
#�
#�I�/C�
D�	(�'�D��L�'�	(�
�
#�
#�I�/C�
D�	%�$�D�"�I�$�	%�
�
#�
#�I�/C�
D�	,�+�D����$�+�	,�
�
#�
#�I�$E�G�	"�!�F�!�	"��
#�
#�I�/U�
V�	��R��	�
�
#�
#�I�/U�
V�	&�%�F�2�J�%�	&�	&�#	(�	(��	�	��	(�	(��	%�	%��	,�	,��	"�	"��	�	��	&�	&�s_�F)�F6�G�G�;G�5G(�#G4�
H�)F3�6G�G
�G�G%�(G1�4G=�H	c�6�td�}td�}Gd�dtg|���}Gd�dtt|�}|d}|d}|j	|j
d�|j	|j
d�|t}|t}|j	|j
tf�|j	|j
tf�|ttf}	|ttf}
|j	|	j
ttf�|j	|
j
ttf�||}||}|j	|j
|f�|j	|j
|f�|g|��}
|t|}|j	|
j
g|���|j	|j
t|f�||g|��}||t|f}|j	|j
|g|���|j	|j
|t|f�|g|�|��}|t||f}|j	|j
g|�|���|j	|j
t||f�y)Nrr�c��eZdZy)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.ANrzrir\rZr�r��r�r\r�c��eZdZy)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.BNrzrir\rZr�r��r�r\r�ri)rrr"rr�rnr�r�)rUrr�r�r�rrrprqrrrsrtr�r��L�M�N�O�Ps                   rZ�$test_variadic_class_args_are_correctz6TypeVarTupleTests.test_variadic_class_args_are_correct�s4���C�L��
�$�
��#������#�*���r�
�#�*�
�b�E��
�b�E��������R�(�������R�(�
�c�F��
�c�F��������c�V�,�������c�V�,�
�c�3�h�K��
�c�3�h�K��������c�3�Z�0�������c�3�Z�0�
�a�D��
�a�D��������a�T�*�������a�T�*�
�c�r�c�F��
�f�R�j�M��������V�r�V�,�������f�R�j�]�3�
�a�f�"�f�I��
�a����m���������a�X�"�X�.�������a����_�5�
�f�r�f�1�f�I��
�f�R�j�!�m���������X�r�X�1�X�.�������f�R�j�!�_�5r\c�&�td�}Gd�dtg|���}|j|tj|�|j|t
j|�|j|t|j|�Gd�dtt|�}|j|tj|�|j|t
j|�|j|t|j|�y)Nr�c��eZdZy)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.CNrzrir\rZrr�r�r\rc��eZdZy)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.DNrzrir\rZrr�$r�r\r)rr"r�r�rprr)rUr�rrs    rZ�%test_variadic_class_origin_is_correctz7TypeVarTupleTests.test_variadic_class_origin_is_corrects���
�$�
��#������#��
�
�a��f�'�'��+��
�
�a��d�o�o�q�)��
�
�a��r�
�m�.�.��2�*���r�
�#�*��
�
�a��f�'�'��+��
�
�a��d�o�o�q�)��
�
�a��r�
�m�.�.��2r\c���td�}d|\fd�}|jt|�dt|i�dtt
tf\fd�}|jt|�dttt
tfi�Gd�dtg|���}d|t
tf\fd�}|jt|�dt|t
tfi�y)Nr�r�c��yr`ri�r�s rZ�func1zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func1,r�r\c��yr`rir�s rZ�func2zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func2/r�r\c��eZdZy)�LTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.CustomVariadicNrzrir\rZ�CustomVariadicr�2r�r\r�c��yr`rir�s rZ�func3zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func34r�r\�rr�r�rr�r�r�r"�rUr�r�r�r�r�s      rZ�"test_get_type_hints_on_unpack_argsz4TypeVarTupleTests.test_get_type_hints_on_unpack_args)s���
�$�
��#�"�#�����U��f�f�R�j�%9�:�0�%��S��/�0�����U��f�f�U�3��8�_�.E�%F�G�0�W�S�b�S�\�0�9�.��c��2�9�����U��f�f�^�C��H�5M�.N�%O�Pr\c��td�}d	d�}|jt|d|i��dt|i�d
d�}|jt|�dttt
tfi�Gd�dtg|���}dd�}|jt|d|i��dt|t
tfi�y)Nr�r�c��yr`rir�s rZr�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func1:r�r\)�localnsc��yr`rir�s rZr�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func2>r�r\c��eZdZy)�STypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.CustomVariadicNrzrir\rZr�r�Ar�r\r�c��yr`rir�s rZr�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func3Cr�r\)r�z*Ts)r�z*tuple[int, str])r�z*CustomVariadic[int, str]r�r�s      rZ�)test_get_type_hints_on_unpack_args_stringz;TypeVarTupleTests.test_get_type_hints_on_unpack_args_string7s���
�$�
��%�����U�T�2�J�7�����,�	.�	3�����U��f�f�U�3��8�_�.E�%F�G�0�W�S�b�S�\�0�;�����U�-=�~�,N�O� �&���S��)A�"B�C�	Er\c�n�td�}|jtg|��jg|���|jtt
|jt
|f�|jtg|�t��jg|�t���|jtt
|tfjt
|tf�|jttg|��jtg|���|jttt
|fjtt
|f�|jttg|�t��jtg|�t���|jttt
|tfjtt
|tf�|jtg|�t��jg|�t���|jtt
|jt
|f�yrQ)rr�r�rnrrr�r�rRs  rZ�test_tuple_args_are_correctz-TypeVarTupleTests.test_tuple_args_are_correctGs���
�$�
������s��s��,�,�f��f�5�����v�b�z�*�3�3�f�R�j�]�C�����x��x�C�x��1�1�:�R�:��:�>�����v�b�z�3��/�8�8�6�"�:�s�:K�L�����s�x�R�x��1�1�C�:�"�:�>�����s�F�2�J��/�8�8�3��r�
�:K�L�����s�}�R�}��}�-�6�6�����C��	*�����s�F�2�J��3�4�=�=��v�b�z�3�/�	1�	
����x��x�C�x��1�1�:�R�:��:�>�����v�b�z�*�3�3�f�R�j�]�Cr\c	��td�}td�}td�}tg|�df}tt|gdf}|j|jg|�td����|j|jt|td�f�ttg|�df}ttt|gdf}|j|jtg|�td����|j|jtt|td�f�tg|�t�df}tt|tgdf}	|j|jg|�t�td����|j|	jt|ttd�f�ttg|�t�df}
ttt|tgdf}|j|
jtg|�t�td����|j|jtt|ttd�f�tdgg|��}tdgt|f}
|j|jtd�g|���|j|
jtd�t|f�tdgttg|��f}tdgttt|ff}|j|jtd�ttg|��f�|j|jtd�ttt|ff�tdgtg|�t��f}tdgtt|tff}|j|jtd�tg|�t��f�|j|jtd�tt|tff�tdgttg|�t��f}tdgttt|tff}|j|jtd�ttg|�t��f�|j|jtd�ttt|tff�tg|�g|��}tt|gt|f}|j|jg|�|���|j|jt|t|f�tg|�g|��}tt|gt|f}|j|jg|�|���|j|jt|t|f�y)Nr�rcr�)
rr!rr�rnr�r�r�r�r)rUr�rcr�r��b�c�d�erd�g�h�i�j�k�l�m�n�o�p�q�r�s�us                        rZ�test_callable_args_are_correctz0TypeVarTupleTests.test_callable_args_are_correct[s���
�$�
���5�!���5�!��
�U�r�U�D�[�!���f�R�j�\�4�'�(��������%6�r�%6�4��:�%6�7�������f�R�j�$�t�*�%=�>��c�Z�B�Z��%�&���c�6�"�:�&��,�-��������c�%;�B�%;��T�
�%;�<�������c�6�"�:�t�D�z�%B�C��Z�r�Z�3�Z��%�&���f�R�j�#�&��,�-��������%;�r�%;�3�%;��T�
�%;�<�������f�R�j�#�t�D�z�%B�C��c�_�B�_��_�d�*�+���c�6�"�:�s�+�T�1�2��������c�%@�B�%@��%@�T�$�Z�%@�A�������c�6�"�:�s�D��J�%G�H�
�d�V�[�b�[�!���d�V�V�B�Z�'�(��������d�4�j�%6�2�%6�7�������d�4�j�&��*�%=�>��d�V�U�3�8��8�_�,�-���d�V�U�3��r�
�?�3�3�4��������d�4�j�%���b��/�%B�C�������d�4�j�%��V�B�Z��2H�%I�J��d�V�U�8�B�8��8�_�,�-���d�V�U�6�"�:�s�?�3�3�4��������d�4�j�%����S��/�%B�C�������d�4�j�%��r�
�C��2H�%I�J��d�V�U�3�=��=�S�=�1�1�2���d�V�U�3��r�
�C�#7�8�8�9��������d�4�j�%��
�b�
�#�
�2F�%G�H�������d�4�j�%��V�B�Z��8L�2M�%N�O�
�U�r�U�Z�R�Z� ���f�R�j�\�6�"�:�-�.��������Z�r�Z�B�Z�0�������f�R�j�&��*�%=�>��V�s�V�\�c�\�"���f�S�k�]�F�3�K�/�0��������\�s�\�S�\�2�������f�S�k�6�#�;�%?�@r\c
�x�td�}td�}|jt�5Gd�dtg|�|���}ddd�|jt�5Gd�dtt|t|f�}ddd�|jt�5Gd�dtg|�|�|���}ddd�|jt�5Gd	�d
tt|t|t|f�}ddd�y#1swY��xYw#1swY��xYw#1swY�jxYw#1swYyxYw)Nrcr�c��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.CNrzrir\rZrr��r�r\rc��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.DNrzrir\rZrr��r�r\rc��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.ENrzrir\rZrpr��r�r\rpc��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.FNrzrir\rZrqr��r�r\rq)rr�r�r"r)rUrcr�rrrprqs       rZ�6test_variadic_class_with_duplicate_typevartuples_failszHTypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails�s���5�!���5�!��
�
�
�y�
)�	/�.�G�J�S�J�3�J�'�.�	/�
�
�
�y�
)�	=�<�G�F�3�K����4�5�<�	=��
�
�y�
)�	5�4�G�,�S�,�3�,��,�-�4�	5�
�
�
�y�
)�	J�I�G�F�3�K����f�S�k�A�B�I�	J�	J�	/�	/��	=�	=��	5�	5��	J�	J�s/�D�!#D�!D$�+D0�D�D!�$D-�0D9c��td�}Gd�dtt|�}|tg|��|tt|f|g|�t��|t|tf|tg|�t��|tt|tf|tt
g|�t�t��|tt
t|ttfy)Nr�c��eZdZy)�]TypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeeds.<locals>.CNrzrir\rZrr��r�r\r)rr"rr�r��boolrR�rUr�rs   rZ�@test_type_concatenation_in_variadic_class_argument_list_succeedszRTypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeeds�s���
�$�
��*���r�
�#�*�	�#�(��(��	�#�v�b�z�/��	�(�2�(�s�(��	�&��*�c�/��	�#�-��-�C�-��	�#�v�b�z�3�
��	�#�t�
$�b�
$�%�
$��
$�%�	�#�t�V�B�Z���
+�,r\c��td�}ttg|��tg|�t��ttg|�t��tttg|�t
�t��ttt|ftt|tfttt|tftttt|t
tfyrQ)rr�r�r�r�rRrrrRs  rZ�7test_type_concatenation_in_tuple_argument_list_succeedszITypeVarTupleTests.test_type_concatenation_in_tuple_argument_list_succeeds�s���
�$�
��
�c�h�B�h��
�h�r�h�3�h��
�c�m�B�m��m��
�c�4�(�"�(�e�(�S�(�)�
�c�6�"�:�o��
�f�R�j�#�o��
�c�6�"�:�s�"�#�
�c�4����U�C�/�0r\c��td�}|jt�5Gd�dt|�}ddd�y#1swYyxYw)Nr�c��eZdZy)�[TypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_fails.<locals>.CNrzrir\rZrr��r�r\r)rr�r�r"r�s   rZ�>test_variadic_class_definition_using_packed_typevartuple_failszPTypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_fails�s;��
�$�
��
�
�
�y�
)�	'�&�G�B�K�&�	'�	'�	'�s	�=�Ac�6�td�}|jt�5Gd�dtg|�t���}ddd�|jt�5Gd�dtt
|tf�}ddd�y#1swY�GxYw#1swYyxYw)Nr�c��eZdZy)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.FNrzrir\rZrqr��r�r\rqc��eZdZy)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.ENrzrir\rZrpr��r�r\rp)rr�r�r"r�r)rUr�rqrps    rZ�9test_variadic_class_definition_using_concrete_types_failszKTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails�s���
�$�
��
�
�
�y�
)�	-�,�G�H�R�H��H�%�,�	-�
�
�
�y�
)�	4�3�G�F�2�J��O�,�3�	4�	4�	-�	-��	4�	4�s�B� B�B�Bc	�N�td�}td�}td�}Gd�dt||g|���}|ttf|ttt
f|ttt
tfGd�dt||t|f�}|ttf|ttt
f|ttt
tfGd�d	t|g|�|���}|ttf|ttt
f|ttt
tfGd
�dt|t||f�}|ttf|ttt
f|ttt
tfGd�d
tg|�|�|���}|ttf|ttt
f|ttt
tfGd�dtt|||f�}	|	ttf|	ttt
f|	ttt
tfy)Nr�r�r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ANrzrir\rZr�r��r�r\r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.BNrzrir\rZr�r��r�r\r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.CNrzrir\rZrr��r�r\rc��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.DNrzrir\rZrr�r�r\rc��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ENrzrir\rZrpr�r�r\rpc��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.FNrzrir\rZrqr�r�r\rq)rrr"r�r�rRr�r)
rUr�r�r�r�r�rrrprqs
          rZ�: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�]��+���B����$�+�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �2���B��r�
�*�+�2�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �+����R����$�+�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �2���F�2�J��*�+�2�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �+�����R����$�+�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� �2���r�
�B��*�+�2�	�#�s�(��	�#�s�E�/��	�#�s�E�4�
� r\c���td�}dt|fd�}d|\fd�}|j|jdt|i�|j|jdg|��di�y)Nr�r�c��yr`rir�s rZrdzGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.f�r�r\c��yr`rir�s rZr�zGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.g�r�r\r)rrr�r�)rUr�rdr�s    rZ�*test_variadic_args_annotations_are_correctz<TypeVarTupleTests.test_variadic_args_annotations_are_correct�sb��
�$�
��&�V�B�Z�&��b������*�*�V�V�B�Z�,@�A�����*�*�V�V�r�V�A�Y�,?�@r\c�(�dttdf\fd�}|j|jdgttdf��di�dtt
tdffd�}|j|jdtt
tdfi�y)Nr�.c��yr`rir�s rZr�zUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.a�r�r\rc��yr`rir�s rZr�zUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.b�r�r\)r�r�r�r�rr)rUr�r�s   rZ�8test_variadic_args_with_ellipsis_annotations_are_correctzJTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct�s���,�e�C��H�o�,�����*�*� �"5�E�#�s�(�O�"5�a�"8�9�	;�	4�V�E�#�s�(�O�,�3�����*�*� �&��s�C�x��"9�:�	<r\c���td�}dttg|��\fd�}|j|jdgttg|����di�dtg|�t��\fd�}|j|jdgtg|�t����di�dtt
g|�t��\fd�}|j|jdgtt
g|�t����di�dtttg|�t�t
��\fd�}|j|jdgtttg|�t�t
����di�dtttt|ffd�}|j|jdtttt|fi�dttt|tffd	�}|j|jdttt|tfi�dttt
t|tffd
�}|j|jdttt
t|tfi�dttttt|tt
ffd�}	|j|	jdttttt|tt
fi�y)Nr�r�c��yr`rir�s rZr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.ar�r\rc��yr`rir�s rZr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.br�r\c��yr`rir�s rZr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.cr�r\c��yr`rir�s rZr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.dr�r\c��yr`rir�s rZr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.e"r�r\c��yr`rir�s rZrdzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.f(r�r\c��yr`rir�s rZr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.g.r�r\c��yr`rir�s rZr�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.h4r�r\)
rr�r�r�r�r�r�rRrr)
rUr�r�r�r�r�r�rdr�r�s
          rZ�;test_concatenation_in_variadic_args_annotations_are_correctzMTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_corrects���
�$�
��	-�e�C�H�"�H�o�,����
���
�(�u�S�X�2�X��(��+�,�	
�
	-�e�H�R�H��H�o�,����
���
�(�u�X�b�X�#�X��(��+�,�	
�
	2�e�C�M�"�M�c�M�*�1����
���
�-�u�S�]�2�]�s�]�+�-�a�0�1�	
�
	?�e�C��6��6�E�6�3�6�7�>����
���
�:�u�S�$�7��7�U�7�C�7�8�:�1�=�>�	
�	;�V�E�#�v�b�z�/�2�3�:����
���
�V�E�#�v�b�z�/�2�3�4�	
�
	;�V�E�&��*�c�/�2�3�:����
���
�V�E�&��*�c�/�2�3�4�	
�
	@�V�E�#�v�b�z�3�"6�7�8�?����
���
�V�E�#�v�b�z�3�"6�7�8�9�	
�
	M�V�E�#�t�V�B�Z���"C�D�E�L����
���
�V�E�#�t�V�B�Z���"C�D�E�F�	
r\c�:�td�}Gd�dtg|���}Gd�dtt|�}|j|t|t�|j|t|t�td�}td�}|j|g|��|g|���|j|t||t|�|j|g|�|��|g|�|���|j|t|t|f|t|t|f�|j|tg|�|��|tg|�|���|j|tt|t|f|tt|t|f�y)Nr�c��eZdZy)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.CNrzrir\rZrr<r�r\rc��eZdZy)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.DNrzrir\rZrr=r�r\rrcr�)rr"rr�r��rUr�rrrcr�s      rZ�0test_variadic_class_same_args_results_in_equaltyzBTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty:s���
�$�
��#������#�*���r�
�#�*�����3���3��(�����3���3��(��5�!���5�!�����
�d�s�d�G�
�d�s�d�G�	
�	
���
�f�S�k�N�
�f�S�k�N�	
�
	
���
�j�s�j�S�j�M�
�j�s�j�S�j�M�	
�	
���
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
�
	
���
�c�o�C�o�#�o��
�c�o�C�o�#�o��	
�	
���
�c�6�#�;��s��+�,�
�c�6�#�;��s��+�,�	
r\c��td�}Gd�dtg|���}Gd�dtt|�}|j|tt
f|t
tf�|j|tt
f|t
tf�td�}td�}|j|g|�|��|g|�|���|j|t|t|f|t|t|f�y)Nr�c��eZdZy)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.CNrzrir\rZrr"br�r\rc��eZdZy)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.DNrzrir\rZrr$cr�r\rrcr�)rr"rr�r�r�rs      rZ�(test_variadic_class_arg_ordering_mattersz:TypeVarTupleTests.test_variadic_class_arg_ordering_matters`s���
�$�
��#������#�*���r�
�#�*����
�c�3�h�K�
�c�3�h�K�	
�	
���
�c�3�h�K�
�c�3�h�K�	
�
�5�!���5�!�����
�j�s�j�S�j�M�
�j�s�j�S�j�M�	
�	
���
�f�S�k�6�#�;�&�'�
�f�S�k�6�#�;�&�'�	
r\c�*�td�}td�}td�}Gd�dtg|���}Gd�dtt|�}|j|g|��|g|���|j|t||t|�y)Nr�rcr�c��eZdZy)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.CNrzrir\rZrr(r�r\rc��eZdZy)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.DNrzrir\rZrr*�r�r\r)rr"rr�)rUr�rcr�rrs      rZ�5test_variadic_class_arg_typevartuple_identity_matterszGTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matterszs���
�$�
���5�!���5�!��#������#�*���r�
�#�*����A�d�s�d�G�Q�t��t�W�-����A�f�S�k�N�A�f�S�k�N�;r\N)'rfrgrhrMrOrSrUrWrYr[r]r_rardrhr�r�rr�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrrr%r+rir\rZrGrG�s���G�.�2�+�!�D�0��
1�
?�


�3�FK�P/�<l�"T�@>i�@&�*'6�R3�Q�E� D�(;A�zJ�-� 1�'�
4�!!�FA�<�5
�n$
�L
�4	<r\rGc�<�eZdZed��Zed��Zed��Zy)�TypeVarTuplePicklingTestsc��td�atjtjt|��}|jt|�y)N�
global_Ts1)rr/rq�loads�dumpsr�)rUro�
global_Ts2s   rZ�6test_pickling_then_unpickling_results_in_same_identityzPTypeVarTuplePicklingTests.test_pickling_then_unpickling_results_in_same_identity�s5��"�,�/�
��\�\�&�,�,�z�5�"A�B�
��
�
�j�*�-r\c�8�td�agt��d}tjtj||��}|j||�tt}tjtj||��}|j||�y)N�	global_Tsr)rr5rqr0r1r�r)rUro�	unpacked1�	unpacked2�	unpacked3�	unpacked4s      rZ�?test_pickling_then_unpickling_unpacked_results_in_same_identityzYTypeVarTuplePicklingTests.test_pickling_then_unpickling_unpacked_results_in_same_identity�st��!��-�	�!�i�M�!�$�	��L�L����i��!?�@�	��
�
�i��+��9�%�	��L�L����i��!?�@�	��
�
�i��+r\c	��td�atd�atgt��t
ttttgt��t
tttfttgt��t
tttfg}|D]=}tjtj||��}|j||��?y)N�global_Tr5)
rr<rr5r�rrrr�rqr0r1r�)rUro�tuples�trgs     rZ�>test_pickling_then_unpickling_tuple_with_typevartuple_equalityzXTypeVarTuplePicklingTests.test_pickling_then_unpickling_tuple_with_typevartuple_equality�s���
�:�&�� ��-�	�
�*�9�*���&��#�$��!�-�i�-� ��!�V�I�&�&�'��#�/�	�/�"��#�v�i�(�(�)�	
���	$�A����f�l�l�1�e�4�5�B����Q��#�	$r\N)rfrgrhrwr3r:r?rir\rZr-r-�s>���.��.��
,��
,��$��$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�Zy)�
UnionTestsc�V�tttf}|j|t�yr`)rr�rRr��rUr�s  rZrzUnionTests.test_basics�s ���#�u�*������A�u�%r\c��|jt�5ttt�ddd�|jt�5ttt�ddd�|jt�5tttt
ft�ddd�y#1swY�{xYw#1swY�UxYw#1swYyxYwr`)r�r�rRr�rr�r�s rZ�test_subclass_errorzUnionTests.test_subclass_error�s���
�
�
�y�
)�	#��s�E�"�	#�
�
�
�y�
)�	#��u�c�"�	#�
�
�
�y�
)�	-��u�S�#�X���,�	-�	-�		#�	#��	#�	#��	-�	-�s#�B%�B1�:"B=�%B.�1B:�=Cc�d�tt}|j|t�tttf}tttf}tttf}|j||�|j|t�|j|t�|j|t�yr`)rrr�r��objectr�)rUr��u1�u2�u3s     rZ�test_union_anyzUnionTests.test_union_any�s����#�J������C� �
�3��8�_��
�3��8�_��
�3��;�
������R� ����B��$����B��$����B��$r\c��tt}|j|t�tttf}tttf}|j||�|j	|t�|j	|t�yr`)rrGr�r�r�)rUr�rHrIs    rZ�test_union_objectzUnionTests.test_union_object�sg���&�M������F�#�
�3��;�
��
�6�3�;�
������R� ����B��'����B��'r\c�t�tttf}tttf}|j||�yr`)rr�rRr�)rUrHrIs   rZ�test_unorderedzUnionTests.test_unordered�s.��
�3��:�
��
�5�#�:�
������R� r\c�J�tt}|j|t�yr`)rryr�)rUr>s  rZ�test_single_class_disappearsz'UnionTests.test_single_class_disappears�s���(�O���
�
�a��"r\c���tttf}|j|t�|j	t|j
�|j	t|j
�yr`)rryr}r�r3rnrCs  rZ�test_base_class_keptzUnionTests.test_base_class_kept�sE���(�G�#�$�����A�x�(��
�
�h��
�
�+��
�
�g�q�z�z�*r\c��tttf}t|tf}|j	|ttttf�yr`)rr�rRryr�)rUr��vs   rZ�test_union_unionzUnionTests.test_union_union�s:���#�u�*����!�X�+�������E�#�u�h�"6�7�8r\c�J�|jtt�d�tttf}|jt|�dt
z�tttf}|jt|�dt
z�t
d�}t|tft}|jt|�tt��ttttf}|jt|�d�ttttttff}|jt|�d�tttz}|jt|�d�tdtf}|jt|�d�ttdf}|jt|�d�tdttf}|jt|�d	�tt}|jt|�d�y)
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�rryr�rfrrr�r�r�rRr)rUr�rs   rZr�zUnionTests.test_repr�s�������e��n�5��(�C�-� ������a��"B�X�"M�N��#�x�-� ������a��"B�X�"M�N��C�L���!�S�&�M�#�������a��$�s�)�,��$�s�)�S�.�!������a��"G�H��$�s�)�T�#�u�*�-�-�.������a��"M�N��#��+�������a��"<�=��$��)�������a��"8�9��#�t�)�������a��"8�9��$��S�.�!������a��"D�E��S�M������a��"8�9r\c���tttttf��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYwr-)r1r2rr�r�rsr3r4s   rZr6zUnionTests.test_dirsb����E�#�s�(�O�,�-�	�
�	8�M����M��:�
8��
�
�m�Y�7�
8�
8�	8�
8�
8�s�A�A$	c��|jtd�5Gd�dt�}ddd�|jtt�5Gd�dt	t��}ddd�|jtd�5Gd�dtt
tf�}ddd�y#1swY��xYw#1swY�QxYw#1swYyxYw)	NzCannot subclass typing\.Unionc��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.CNrzrir\rZrr[r�r\rc��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.DNrzrir\rZrr]r�r\rz)Cannot subclass typing\.Union\[int, str\]c��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.ENrzrir\rZrpr_r�r\rp)r�r�rr�r�r�r�)rUrrrps    rZr�zUnionTests.test_cannot_subclasss���
�
#�
#�I�0�2�	�
�E�
�	��
#�
#�I�/C�
D�	�
�D��K�
�	��
#�
#�I�<�>�	�
�E�#�s�(�O�
�	�	�	�	��	�	��	�	�s#�B&�	B2�B>�&B/�2B;�>Cc���|jt�5t�ddd�|jt�5tt��ddd�ttt
f}|jt�5|�ddd�|jt�5t|��ddd�y#1swY��xYw#1swY�|xYw#1swY�PxYw#1swYyxYwr`)r�r�rr�r�rRrCs  rZr�z"UnionTests.test_cannot_instantiates���
�
�
�y�
)�	��G�	�
�
�
�y�
)�	��D��K�M�	��#�u�*���
�
�
�y�
)�	�
�C�	�
�
�
�y�
)�	��D��G�I�	�	�	�	��	�	��	�	��	�	�s.�C�C�C�(C&�C�C�C#�&C/c�8�|jtttjt
ftk(�|jtttjt
ftjt
k(�|j
ttttjt
fj�|j
tjt
tttjt
fj�yr`)r�rr�ra�Iterabler�r3rnr�s rZ�test_union_generalizationz$UnionTests.test_union_generalization&s�������s�F�O�O�C�$8�8�9�S�@�A�����s�F�O�O�C�$8�8�9�V�_�_�S�=Q�Q�R��
�
�c�5��f�o�o�c�&:�!:�;�D�D�E��
�
�f�o�o�c�*�E�#�v���s�7K�2K�,L�,U�,U�Vr\c��|jtt�|jtt�|jtt�|jt
t�|jdgt
�|jt
tj�|jt
tjt�yr`)	r�rrGrr#rra�Mappingr r�s rZ�test_union_compare_otherz#UnionTests.test_union_compare_other,s������E�6�*����E�3�'����H�e�,����H�e�,����T�F�H�-����H�f�n�n�5����H�V�%:�%:�;�U�Cr\c�`�tt}ttdf}|j||�yr`)rr�rr�)rUr�r�s   rZ�
test_optionalzUnionTests.test_optional5s)���S�M���#�t�)�������A�r\c�j�|jt�5tdddd�y#1swYyxYw�Nri)r�r�rr�s rZ�
test_emptyzUnionTests.test_empty:s,��
�
�
�y�
)�	��"�I�	�	�	���
)�2c�r�tttf}d|fd�}|jt	|�d|�y)Nrtc��yr`ri�rts rZrdz(UnionTests.test_no_eval_union.<locals>.f@r�r\)rr�r�r�r*)rUr�rds   rZ�test_no_eval_unionzUnionTests.test_no_eval_union>s/���#�s�(�O������
�
�n�Q�'��,�a�0r\c�h�dtfd�}|jtt|tf�d�y)Nr�c��yr`ririr\rZ�funz0UnionTests.test_function_repr_union.<locals>.funDr�r\ztyping.Union[fun, int])r�r�r�r)rUrss  rZ�test_function_repr_unionz#UnionTests.test_function_repr_unionCs(���S������e�C��H�o�.�0H�Ir\c�.�tttf}|yr`)rr�r=rys  rZ�test_union_str_patternz!UnionTests.test_union_str_patternGs���#�w�,���	r\c�X��ddlm�t�tf�fd�}t|tfy)Nr)�Elementc����|�Sr`ri)r�rxs �rZ�Elemz#UnionTests.test_etree.<locals>.ElemSs
����D�>�!r\)�xml.etree.ElementTreerxrr�)rUrzrxs  @rZ�
test_etreezUnionTests.test_etreeLs'���	2�
�g�s�l��	"�	�d�C�i�r\c���|jttdtdfjtdtdf�|jttdtdftd�|jttdtdfjtdtdf�|jttdtdfjtdtdf�ddl}Gd�d|j
�}|jtt|jt|jft|j�|jtt|jt|jft|j�|jtt|jt|jfjt|jt|jf�|jttdt|jtdfjtdt|jtdf�|jttdt|jtdfjtdt|jtdf�y)Nrlr�FrTc��eZdZdZdZy)�/UnionTests.test_union_of_literals.<locals>.IntsrrlN�rfrgrhr�r�rir\rZ�Intsrd����A��Ar\r�)r�rrrn�enum�IntEnumr�r�)rUr�r�s   rZ�test_union_of_literalsz!UnionTests.test_union_of_literalsXs<������w�q�z�7�1�:�5�6�?�?�!�!�*�g�a�j�1�	3�����w�q�z�7�1�:�5�6� ���	%�	
����w�u�~�w�q�z�9�:�C�C�!�%�.�'�!�*�5�	7�����w�t�}�g�a�j�8�9�B�B�!�$�-����4�	6�	�	�4�<�<�	�	
����w�t�v�v�������?�@� �����	*�����w�t�v�v�������?�@� �����	*�	
����w�t�v�v�������?�@�I�I�!�$�&�&�/�7�4�6�6�?�;�	=�	
����w�q�z�7�4�6�6�?�G�E�N�J�K�T�T�!�!�*�g�d�f�f�o�w�u�~�F�	H�����w�q�z�7�4�6�6�?�G�D�M�I�J�S�S�!�!�*�g�d�f�f�o�w�t�}�E�	Gr\N)rfrgrhrrErKrMrOrQrSrVr�r6r�r�rcrfrhrkrprtrvr|r�rir\rZrArA�so��&�-�	%�(�!�
#�+�9�
:�28��	�W�D��
�1�
J�
�

�Gr\rAc�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�
TupleTestsc��|jt�5ttttt
f�ddd�|jt�5ttttt
f�ddd�Gd�dt�}|jtt�|j|t�y#1swY��xYw#1swY�UxYw)Nc��eZdZy)�"TupleTests.test_basics.<locals>.TPNrzrir\rZ�TPr�~r�r\r�)r�r�rRrr�r�r�r[)rUr�s  rZrzTupleTests.test_basicsxs���
�
�
�y�
)�	/��u�e�C��H�o�.�	/�
�
�
�y�
)�	/��u�e�C��H�o�.�	/�	������e�U�+����b�%�(�	/�	/��	/�	/�s�"B?�"C�?C�Cc�\�|jtttt�|jttdfttdf�|jtttttf�|jttttdf�y�N.)r�rr�r�r�s rZr�zTupleTests.test_equality�sr������s��U�3�Z�0�����s�C�x��%��S��/�:����E�#�J��c�3�h��8����E�#�J��c�3�h��8r\c��Gd�dt�}|j|t�|jtt�|jtt�y)Nc��eZdZy)�/TupleTests.test_tuple_subclass.<locals>.MyTupleNrzrir\rZ�MyTupler�����r\r�)r�r[r)rUr�s  rZ�test_tuple_subclasszTupleTests.test_tuple_subclass�s>��	�e�	����g�u�-����e�U�+����e�U�+r\c��|jt�5tdtttf�ddd�|jdt�y#1swY� xYw)N)rr)r�r�r�rr�r�r�s rZ�test_tuple_instance_type_errorz)TupleTests.test_tuple_instance_type_error�sG��
�
�
�y�
)�	0��v�u�S�#�X��/�	0����f�e�,�	0�	0�s�A�Ac��|jtt�d�|jttd�d�|jttttf�d�|jtttdf�d�|jttt
t�d�y)Nztyping.Tupleriztyping.Tuple[()]ztyping.Tuple[int, float].ztyping.Tuple[int, ...]ztyping.Tuple[list[int]])r�r�rr�rRr�r�s rZr�zTupleTests.test_repr�s�������e��n�5�����e�B�i��*<�=�����e�C��J�/�0�2L�M�����e�C��H�o�.�0H�I�����e�D��I�.�/�1J�Kr\c��|jt�5tdt�ddd�|jt�5tdtt�ddd�y#1swY�?xYw#1swYyxYwr�)r�r�rRrr�r�s rZr�zTupleTests.test_errors�se��
�
�
�y�
)�	"��r�5�!�	"�
�
�
�y�
)�	'��r�5��:�&�	'�	'�	"�	"��	'�	'�s�A%�A1�%A.�1A:N)	rfrgrhrr�r�r�r�r�rir\rZr�r�vs!��)�9�,�-�
L�'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�Zy)�BaseCallableTestsc�$�|j}|jt�5ttj
|tgtf�ddd�|jtj
|�|j||�y#1swY�<xYwr`)r!r�r�rR�types�FunctionTyper�r[�rUr!s  rZ�test_self_subclassz$BaseCallableTests.test_self_subclass�ss���=�=��
�
�
�y�
)�	A��u�)�)�8�S�E�3�J�+?�@�	A����e�0�0�(�;����h��1�	A�	A�s�)B�Bc�,�|j}|tgtf}|j||tgtf�|jt||tgtfh�d�|j	||tgt
f�|j	||t
gtf�|j	||ttgtf�|j	||gtf�|j	||dtf�|j	||�y)Nrl.)r!r�r�r�r�r�)rUr!rs   rZ�test_eq_hashzBaseCallableTests.test_eq_hash�s����=�=���c�U�C�Z� ������H�c�U�C�Z�0�1�����a��3�%��*�!5�6�7��;����A�x���s�
�3�4����A�x���s�
�3�4����A�x��c�
�C��8�9����A�x��C��0�1����A�x��S��1�2����A�x�(r\c���|j}tt|dtf��}dD]/}|j	|��5|j||�ddd��1y#1swY�<xYw)N.r.r/)r!r1r2r�rsr3)rUr!r5r0s    rZr6zBaseCallableTests.test_dir�sl���=�=����H�S�#�X�.�/�0�	�
�	8�M����M��:�
8��
�
�m�Y�7�
8�
8�	8�
8�
8�s�A�A(	c���|j}|jt�5|�ddd�|jt�5t|��ddd�|tgt
f}|jt�5|�ddd�|jt�5t|��ddd�y#1swY��xYw#1swY�yxYw#1swY�PxYw#1swYyxYwr`)r!r�r�r�r�r�)rUr!r�s   rZr�z)BaseCallableTests.test_cannot_instantiate�s����=�=��
�
�
�y�
)�	��J�	�
�
�
�y�
)�	��D��N��	��c�U�C�Z� ��
�
�
�y�
)�	�
�C�	�
�
�
�y�
)�	��D��G�I�	�	�	�	��	�	��	�	��	�	�s/�C�C�C�*C(�C
�C�C%�(C1c��|j}|jt�5|tddd�y#1swYyxYwr`)r!r�r�r�r�s  rZ�test_callable_wrong_formsz+BaseCallableTests.test_callable_wrong_forms�s5���=�=��
�
�
�y�
)�	��S�M�	�	�	�s�
5�>c�j�|j}d�}|j||�|jd|�y)Nc��yr`ririr\rZrdz9BaseCallableTests.test_callable_instance_works.<locals>.f����r\)r!r�r��rUr!rds   rZ�test_callable_instance_worksz.BaseCallableTests.test_callable_instance_works�s0���=�=��	����a��*�� � ��x�0r\c�
�|j}d�}|jt�5t||gdf�ddd�|jt�5t||gtf�ddd�|jt�5td|gdf�ddd�|jt�5td|gtf�ddd�y#1swY��xYw#1swY�xxYw#1swY�UxYw#1swYyxYw)Nc��yr`ririr\rZrdz>BaseCallableTests.test_callable_instance_type_error.<locals>.f�r�r\)r!r�r�r�rr�s   rZ�!test_callable_instance_type_errorz3BaseCallableTests.test_callable_instance_type_error�s����=�=��	�
�
�
�y�
)�	.��q�(�2�t�8�,�-�	.�
�
�
�y�
)�	-��q�(�2�s�7�+�,�	-�
�
�
�y�
)�	1��t�X�b�$�h�/�0�	1�
�
�
�y�
)�	0��t�X�b�#�g�.�/�	0�	0�
	.�	.��	-�	-��	1�	1��	0�	0�s/�C�C!�C-�6C9�C�!C*�-C6�9Dc��|j}|j�d�}|gtf}|jt	|�|�d��|t
tgtf}|jt	|�|�d��|dt
f}|jt	|�|�d��|t
tgttf}|jt	|�|�d��y)N�	.Callablez
[[], bool]z[[str, float], int].z
[..., str]z[[str, float], list[int]])	r!rgr�r�r�r�rRr�r�)rUr!�fullname�ct0�ct2�ctv�ct3s       rZr�zBaseCallableTests.test_repr�s����=�=���)�)�*�)�4���r�4�x� ������c��x�j�
�$;�<���U�|�S�(�)������c��x�j�0C�$D�E��s�C�x� ������c��x�j�
�$;�<���U�|�T�#�Y�.�/������c��x�j�0I�$J�Kr\c��|j}d|dtffd�}|jt|t	�t��d|dtfi�y)Nr�.c��yr`ri�r�s rZrDz:BaseCallableTests.test_callable_with_ellipsis.<locals>.foo�r�r\)r!rr�r*�globals�locals)rUr!rDs   rZ�test_callable_with_ellipsisz-BaseCallableTests.test_callable_with_ellipsis�sP���=�=��	�8�C��F�#�	�	
�����W�Y���A��x��Q��/�0�	2r\c�T�|j}tj|dtfyr�)r!rarr�r�s  rZ�test_ellipsis_in_genericz*BaseCallableTests.test_ellipsis_in_generic�s ���=�=�����H�S�#�X�&�'r\c��|j}|j|tzt|tf�|jt|ztt|f�yr`)r!r�rrr�s  rZ�test_or_and_rorz!BaseCallableTests.test_or_and_ror�sG���=�=������E�)�5��5��+A�B������)�5����+A�Br\c��|j}|ttgtf}|tj
jur |j
|tj�|j|jtj
j�|j|jtttf�|j|jd�yrj)r!r�r�rR�collections�abcr�r��GenericAliasr�rpr�rnro�rUr!r�s   rZ�
test_basiczBaseCallableTests.test_basics����=�=���#�s��U�*�+���{���/�/�/��!�!�%��);�);�<��
�
�e�&�&����(@�(@�A�������#�s�E�):�;�����-�-�r�2r\c��|j}|ttgtf}|j	tj|��|�yr`)r!r�r�rRr�r��refr�s   rZ�test_weakrefzBaseCallableTests.test_weakrefs=���=�=���#�s��U�*�+�����+����U�+�-�u�5r\c��|j}td�atd�atd�a|ttgtf|ttf|ttf|tttftf|tgt�t��tfg}|D]�}ttjdz�D]�}|j||��5tj||�}tj |�}|j#|j$|j$�|j#|j&|j&�|j#|j(|j(�ddd�����bbby#1swY��xYw)N�T_pickle�P_pickle�	TS_picklerl)r�ro)r!rr�rDr�rr�r�r�rRrErprqrrrsr1r0r�rprnro)rUr!�samplesr�ror��loadeds       rZ�test_picklezBaseCallableTests.test_picklesh���=�=���:�&���Z�(�� ��-�	�
�c�3�Z��&�'��X�s�]�#��X�x�'�(��[��h��/��4�5��[�!5�)�!5�X�!5�6��;�<�
���	R�E��v�6�6��:�;�
R���\�\��U�\�;�R����U�E�2�A�#�\�\�!�_�F��$�$�U�%5�%5�v�7H�7H�I��$�$�U�^�^�V�_�_�E��$�$�U�%9�%9�6�;P�;P�Q�R�R�
R�	R�
�h�	�R�R�s
�BE>�>Fc��|j}|j�d�}|ttgtf}|ttgt
f}|dtf}|j
|t|ttgtf�|j
|d|ttd�gtd�f�|j
|tttf|ttgtf�|j
|t|dtf�|j
|t|dtf�|tt
tf}|j
t|�|�d��|j
t|t�|�d��|j
|t|ttgtf�|tjttttft
gtf}|j
|tttf|tjttttftgtf�y)Nr�.z[[int, ~VT], str]z[[int, dict], str])r!rgr�rrrr�r�r�rRr
r�r�rarr�)rUr!r��C1�C2�C3�C4�C5s        rZr�z'BaseCallableTests.test_var_substitution*s����=�=���)�)�*�)�4��
�s�A�h��k�
"��
�r�1�g�r�k�
"��
�c�1�f�
������C��(�C��:�s�?�";�<�����D��8�S�$�t�*�,=�t�D�z�,I�#J�K�����C���O�,�h��U�|�S�7H�.I�J�����C��(�3��8�"4�5�����H��x��X�
�'>�?���R���
������b��h�Z�/@�#A�B�����b��h��H�:�5G�)H�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�	Tr\c���|j}td�}td�}d}|jt|�5|||fdt
fddd�y#1swYyxYw)Nr�rzAExpected a list of types, an ellipsis, ParamSpec, or Concatenate.r)r!rDrr�r�r�)rUr!r�r�pats     rZ�test_type_subst_errorz'BaseCallableTests.test_type_subst_errorBs[���=�=���c�N���C�L��Q��
�
#�
#�I�s�
3�	#��Q��T�N�1�c�6�"�	#�	#�	#�s�A�Ac���|j}Gd�d|�}|tgtf}|j|�j|�|j|�j|tgtf�y)Nc��eZdZd�Zy)�/BaseCallableTests.test_type_erasure.<locals>.C1c��yr`rir�s rZ�__call__z8BaseCallableTests.test_type_erasure.<locals>.C1.__call__O���r\N�rfrgrhr�rir\rZr�r�Ns��
r\r�)r!r�rr��	__class__r��__orig_class__)rUr!r�r�s    rZ�test_type_erasurez#BaseCallableTests.test_type_erasureLs^���=�=��	��	�
��u�a�x�L���
�
�a�c�m�m�R�(������+�+�R���q��\�:r\c���|j}|j�d�}td�}td�}||tf}|j	|t
gtf|t
gtf�|j	|t
tgtf|t
tgtf�|j	|gtf|gtf�|j	|dtf|dtf�|j	||tf||tf�|j	|tt
|ftf|tt
|ftf�|j	t|�|�d��|j	t|t
tgtf�|�d��|jt�5|t
tfddd�||t
f}|j	|t
g|t
gt
f�|j	|t
tg|t
tgt
f�|j	|g|gt
f�|j	|d|dt
f�|j	||||t
f�|j	|tt
|f|tt
|ft
f�|j	|t
|t
gt
f�|j	|t
tf|t
tgt
f�|j	t|�|�d��|j	t|t
tf�|�d��y#1swY���xYw)	Nr�r��P2.z[~P, ~T]z[[int, str], str]z	[~P, int]z[[int, str], int])r!rgrDrr�r�r�rEr�r�r�)rUr!r�r�r�r�r�s       rZ�test_paramspecz BaseCallableTests.test_paramspecUs���=�=���)�)�*�)�4���c�N��
�t�_��
�a��d�^������S�E�3�J���3�%��*�)=�>�����S�#�J��O�,�h��S�z�3��.G�H�����B��G��h�r�3�w�&7�8�����C��H��x��S��'9�:�����B��G��h�r�3�w�&7�8�����K��R��0�#�5�6�!�+�c�2�g�"6��";�<�	>�����b��h�Z�x�#8�9�����b�#�s��S��1�2�x�j�@Q�4R�S�
�
�
�y�
)�	��s�C�x�L�	��a��f�
������S�E��H�c�U�C�Z�$8�9�����S�#�J���3��*�c�/�)B�C�����B���"�c�'�!2�3�����C��(�3��8�"4�5�����B���"�c�'�!2�3�����K��R��0�1�!�+�c�2�g�"6��";�<�	>�	
����C��(�C�5�#�:�"6�7�����C��H��x��c�
�C��'@�A�����b��h�Z�y�#9�:�����b��c��l�+��z�9J�-K�L�!	�	�s�1M#�#M-c��|j}|j�d�}td�}td�}td�}|tt
|f|f}|j
t|�|�d��|j
||t
f|tt
|ft
f�|j
|ttgt
f|t
ttgt
f�|j
|gt
f|t
gt
f�|j
|tt|ft
f|tt
t|ft
f�|j
|dt
f|tt
dft
f�|tt
|ft
f}|j
t|�|�d��|j
|||tt
|ft
f�|j
|ttg|t
ttgt
f�|j
|ttf|t
ttgt
f�|j
|g|t
gt
f�|j
|tt|f|tt
t|ft
f�|j
|d|tt
dft
f�y)Nr�rr�r�z![typing.Concatenate[int, ~P], ~T].z"[typing.Concatenate[int, ~P], int])
r!rgrrDrEr�r�r�r�rR)rUr!r�rr�r�rs       rZ�test_concatenatez"BaseCallableTests.test_concatenatews����=�=���)�)�*�)�4���C�L���c�N��
�t�_���[��a��(�!�+�,������a��$�:�%F�G�	I�����2�s�7��X�k�#�r�'�.B�C�.G�%H�I�����C��<��,�-�x��c�5�8I�3�8N�/O�P�����2�s�7��X�s�e�S�j�%9�:�����;�s�B�w�/��4�5�!�+�c�3��l�";�S�"@�A�	C�����3��8��h�{�3��8�/D�c�/I�&J�K��[��a��(�#�-�.������a��$�:�%G�H�	J�����2����S�"�W�)=�s�)B� C�D�����C��<��(�C��e�3D�c�3I�*J�K�����3��:���#�s�E�1B�C�1G�(H�I�����2���#���� 4�5�����;�s�B�w�/�0�!�+�c�3��l�";�S�"@�A�	C�����3���+�c�3�h�*?��*D�!E�Fr\c	�n�|j}td�}td�}td�}td�}td�}Gd�dt||f�}|j|j||f�|t|g|||ff}|j|jt|f|||ff�|j|j||f�|j|ttttgf|ttg|tttgtff�|||gtft|gtf}	|j|	j||gtft|ftf�|j|	j|f�|j|	tt||ttgtftttgtf�||||f|g|f}
|j|
j|||f|f|f�|j|
j||f�|j|
gtf||gtftgtf�|j|
ttgtf||ttgtftgtf�|j|
ttg|ft||ttgtftgtf�||tg|�t�|f|g|f}|j|j|tg|�t�|f|f|f�|j|j||f�|j|tttf||ttttgtftgtf�y)Nr�r�rr�r�c��eZdZy)�3BaseCallableTests.test_nested_paramspec.<locals>.MyNrzrir\rZ�Myr��r�r\r�)r!rDrrr"r�ror�rnr�r�rxr�rR)rUr!r�r�rr�r�r�r�r�r�r�s            rZ�test_nested_paramspecz'BaseCallableTests.test_nested_paramspec�s����=�=���c�N��
�t�_���C�L��
�T�]��
�$�
��	���A���	�	
����*�*�Q��F�3�
��b�	�8�B��F�+�+�
,���������R�y�(�2�r�6�2B�&C�D�����*�*�R��H�5�����C�$�s�)�U�!3�3�4��S�#�J��$�s�)�U�1C�S�1H�(I�I�J�	L���2�$��)�$�d�2�h�/��4�
5���������"��s��(;�T�"�X�'F��&L�M�����*�*�R�E�2�����D��I���X�t�C�y�k�3�&6�7��d�3�i��I�3�N�O�	Q���"�b�&�!�2�&��*�
+����������R��(8�"�'=�r�&B�C�����*�*�R��H�5�����B��G���X�b�#�g�.��4�c�9�:�	<�����S�$�K��,�-��X�s�D�k�3�&6�7��=�s�B�C�	E�����S�$�K��N�+�C�0��X�s�D�k�3�&6�7��=�s�B�C�	E���3�/��/�S�/�2�-�.��3�R�7�
8���������#����C��"�1D�(E�r�'J�B�&O�P�����*�*�R��H�5�����D�%��.�/��X�s�D�%��&=�u�&D�E�u�M�u�T�U�	Wr\c��|j}|ttgtf}|j	t
d�5|tddd�t
d�}||tf}|j	t
d�5|tttfddd�|j	t
d�5|tddd�y#1swY�{xYw#1swY�>xYw#1swYyxYw)Nzis not a generic classr��many arguments for�few arguments for)r!r�r�rRr�r�rDr)rUr!r�r�r�s     rZr�zBaseCallableTests.test_errors�s����=�=���#�s��U�*�+��
�
#�
#�I�/G�
H�	��#�J�	��c�N��
�a��d�^��
�
#�
#�I�/C�
D�	��s�C��}��	�
�
#�
#�I�/B�
C�	��s�G�	�	�
	�	��	�	��	�	�s#�
B<�6C�)
C�<C�C�CN)rfrgrhr�r�r6r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rir\rZr�r��ss��2�
)�8�
��
1�0�
L�2�(�
C�
3�6�
*�2T�0#�;� M�DG�6(W�T
r\r�c�*�eZdZejZd�Zy)�TypingCallableTestsc�`�tjttgtf}t
jjttgtf}|j|j|j�|jt|j�t|j��yr`)
rar!r�r�r�r�r�r�rn�hash)rU�c1�c2s   rZ�test_consistencyz$TypingCallableTests.test_consistency�sr���_�_�c�3�Z��-�
.��
�_�_�
%�
%�s�C�j�$�&6�
7��������b�k�k�2�����b�k�k�*�D����,=�>r\N)rfrgrhrar!r�rir\rZr�r��s�����H�?r\r�c�8�eZdZejj
Zy)�CollectionsCallableTestsN)rfrgrhr�r�r!rir\rZr�r��s�����'�'�Hr\r�c�f�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zy)�LiteralTestsc��tdtdtdtdtdtdttdtdftdy)	Nrl�rlr��)rt�y�zT)rl�2Fr����)sfoor)rr�s rZrzLiteralTests.test_basics�sL����
�����
����
���
��
�����
�w�t�}�,�-���r\c��ddl}Gd�d|j�}|jt|jj
|jf�y)Nrc��eZdZdZy)�"LiteralTests.test_enum.<locals>.Myr�N)rfrgrhr�rir\rZr�r�s���Ar\r�)r��Enumr�rr�rn)rUr�r�s   rZ�	test_enumzLiteralTests.test_enum�s;���	����	�	
��������/�/�"�$�$��9r\c�b�tttdtddd�tty)N)y@@.rir�r�rDr)rr�rr�s rZ�3test_illegal_parameters_do_not_raise_runtime_errorsz@LiteralTests.test_illegal_parameters_do_not_raise_runtime_errors�s'��	����� ���!�$�%���
r\c�D�ttdttdy)Nr�)rDr�baz)rrr�s rZ� test_literals_inside_other_typesz-LiteralTests.test_literals_inside_other_types�s���W�W�
���W�*�
+�,r\c��|jttd�d�|jttd�d�|jttt�d�|jtt�d�|jttd�d�|jttd�d	�y)
Nrlztyping.Literal[1])rlTrDztyping.Literal[1, True, 'foo']ztyping.Literal[int]ztyping.Literalztyping.Literal[None]�rlr�r�r�ztyping.Literal[1, 2, 3])r�r�rr�r�s rZr�zLiteralTests.test_repr�s�������g�a�j�)�+>�?�����g�n�5�6�8X�Y�����g�c�l�+�-B�C�����g��(8�9�����g�d�m�,�.D�E�����g�j�1�2�4M�Nr\c��tttd��}dD]/}|j|��5|j	||�ddd��1y#1swY�<xYw)Nr�r.r/)r1r2rrsr3r4s   rZr6zLiteralTests.test_dir�s_����G�G�,�-�.�	�
�	8�M����M��:�
8��
�
�m�Y�7�
8�
8�	8�
8�
8�s�A�A	c���|jt�5t�ddd�|jt�5td�ddd�|jt�5tt��ddd�|jt�5ttd��ddd�y#1swY��xYw#1swY�}xYw#1swY�WxYw#1swYyxYwr$)r�r�rr�r�s rZr"zLiteralTests.test_cannot_init	s���
�
�
�y�
)�	��I�	�
�
�
�y�
)�	��A�J�L�	�
�
�
�y�
)�	��D��M�O�	�
�
�
�y�
)�	��D������	�	�
	�	��	�	��	�	��	�	�s.�B<�C�)C�C �<C�C�C� C)c��|jt�5tdtd�ddd�|jt�5tttd�ddd�|jt�5tdtd�ddd�|jt�5tttd�ddd�y#1swY��xYw#1swY�|xYw#1swY�WxYw#1swYyxYwr$)r�r�r�rr�rRr�s rZ� test_no_isinstance_or_issubclassz-LiteralTests.test_no_isinstance_or_issubclass	s���
�
�
�y�
)�	&��q�'�!�*�%�	&�
�
�
�y�
)�	(��s�G�A�J�'�	(�
�
�
�y�
)�	&��q�'�!�*�%�	&�
�
�
�y�
)�	(��s�G�A�J�'�	(�	(�
	&�	&��	(�	(��	&�	&��	(�	(�s/�C�C�<C&�-C2�C�C#�&C/�2C;c���|jt�5Gd�dtd�}ddd�|jt�5Gd�dt�}ddd�y#1swY�7xYw#1swYyxYw)Nc��eZdZy)�-LiteralTests.test_no_subclassing.<locals>.FooNrzrir\rZrr	r�r\rrlc��eZdZy)�-LiteralTests.test_no_subclassing.<locals>.BarNrzrir\rZ�Barr	r�r\r�r�r�r�rUrrs   rZ�test_no_subclassingz LiteralTests.test_no_subclassing	sa��
�
�
�y�
)�	(�'�g�a�j�'�	(�
�
�
�y�
)�	%�$�g�$�	%�	%�	(�	(��	%�	%�s�A�A+�A(�+A4c�p�|jt�5tddddd�y#1swYyxYwr$rr�s rZ�test_no_multiple_subscriptsz(LiteralTests.test_no_multiple_subscripts!	s0��
�
�
�y�
)�	��A�J�q�M�	�	�	�s�
,�5c�D�|jtdtd�|jtdtd�|jtdtd�|jtdtd�|jtdtd�|jtdtd	�|jtdtd�|jtdtd
�|jtdtd�y)
NrFTrlr�)rlT)rlrlr��Tr��r�rlr�r)r�rr�r�s rZ�
test_equalzLiteralTests.test_equal%	s������G�A�J����7����G�D�M�7�1�:�6����G�A�J���
�3����G�G�,�g�a�j�9����G�G�,�g�d�m�<����G�D�M�7�7�+;�<�������W�Q�Z�0���������
�6������)�7�:�+>�?r\c�0�|jttd�ttd��|jttd�ttd��|jttd�ttd��y)Nrlr�r r�r)r�r�rr�s rZ�	test_hashzLiteralTests.test_hash0	sj������g�a�j�)�4���
�+;�<�����g�d�m�,�d�7�4�=�.A�B�����g�g�.�/��g�j�6I�1J�Kr\c�F�|jtdjd�|jtdjd�|jtdtdtdfjd�|jtggfjggf�y)Nr�rrlr�)r�r)rlr�r�r)r�rrnr�s rZ�	test_argszLiteralTests.test_args5	s��������)�2�2�I�>������,�5�5�y�A������G�A�J���
�!=�>�G�G��V������R���1�1�B��8�<r\c��ttdtdtdf}ttddf}ttd}|||fD]7}|j|td�|j|jd��9y)Nrlr�r�r�r�)rr�rn)rU�l1�l2�l3r�s     rZ�test_flattenzLiteralTests.test_flatten<	s��
�W�Q�Z����W�Q�Z�7�
8��
�W�T�]�A�%�
&��
�W�W�%�
&���R���	4�A����Q��� 0�1����Q�Z�Z��3�	4r\c��ddl}Gd�d|j�}tt|jt|jtdtdf}|j|j|j|jddf�y)Nrc��eZdZdZdZy)�5LiteralTests.test_does_not_flatten_enum.<locals>.Intsrlr�Nr�rir\rZr�r-F	r�r\r�rlr�)r�r�rr�r�r�rn)rUr�r�r�s    rZ�test_does_not_flatten_enumz'LiteralTests.test_does_not_flatten_enumD	sq���	�4�<�<�	�
��D�F�F�O��D�F�F�O��A�J��A�J�
�
��	
������d�f�f�d�f�f�a��%;�<r\N)rfrgrhrrr	rr�r6r"rrrr!r#r%r*r.rir\rZr�r��sP��	 �:��-�O�8��(�%��	@�L�
=�4�=r\r��XK�XVc�B�eZdZdedefd�Zdedefd�Zd	dededefd�Zy)
�
SimpleMapping�keyr�c��yr`ri�rUr3s  rZ�__getitem__zSimpleMapping.__getitem__Y	���r\r�c��yr`ri�rUr3r�s   rZ�__setitem__zSimpleMapping.__setitem__\	r7r\N�defaultc��yr`ri�rUr3r;s   rZ�getzSimpleMapping.get_	r7r\r`)rfrgrhr/r0r6r:r>rir\rZr2r2W	sB���r��b���r��"���r��B��"�r\r2c�8�eZdZd�Zdefd�Zdefd�Zddefd�Zy)�MySimpleMappingc��i|_yr`��storer�s rZ�__init__zMySimpleMapping.__init__e	s	����
r\r3c� �|j|Sr`rBr5s  rZr6zMySimpleMapping.__getitem__h	s���z�z�#��r\c�"�||j|<yr`rBr9s   rZr:zMySimpleMapping.__setitem__k	s����
�
�3�r\Nc�D�	|j|S#t$r|cYSwxYwr`)rC�KeyErrorr=s   rZr>zMySimpleMapping.getn	s)��	��:�:�c�?�"���	��N�	�s���r`)rfrgrhrDr�r6r:r>rir\rZr@r@c	s+����s�� �s� ��s�r\r@c�"�eZdZUeed<eed<y)�
Coordinatertr�N�rfrgrhr�r�rir\rZrJrJu	���
�F�
�Fr\rJc��eZdZUeed<y)�Point�labelN�rfrgrhr�r�rir\rZrNrNy	s���Jr\rNc�,�eZdZUeed<eed<eed<y)�MyPointrtr�rON�rfrgrhr�r�r�rir\rZrRrR}	s��
�F�
�F��Jr\rRc��eZdZUeed<y)�XAxisrtNrKrir\rZrUrU�	���
�Fr\rUc��eZdZUeed<y)�YAxisr�NrKrir\rZrXrX�	rVr\rXc��eZdZy)�PositionNrzrir\rZrZrZ�	s��r\rZc�(�eZdZUeed<dedefd�Zy)�Proto�attrr�r�c��yr`ri�rUr�s  rZ�methz
Proto.meth�	r7r\N)rfrgrhr�r�r�r`rir\rZr\r\�	s��

�I�����r\r\c��eZdZy)�ConcreteNrzrir\rZrbrb�	r{r\rbc�,�eZdZUdZeed<dedefd�Zy)�Otherrlr]r�r�c��|dk(ryy)N�thisrlrrir_s  rZr`z
Other.meth�	s���&�=��r\N)rfrgrhr]r�r�r�r`rir\rZrdrd�	s���D�#�M�����r\rdc�"�eZdZUeed<eed<y)�NTrtr�NrKrir\rZrhrh�	rLr\rhc�,�eZdZUejed<y)�HasCallProtocolr�N)rfrgrhrar!r�rir\rZrjrj�	s���o�o�r\rjc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8d7�Z9d8�Z:d9�Z;d:�Z<d;�Z=d<�Z>d=�Z?d>�Z@d?�ZAd@�ZBdA�ZCdB�ZDdC�ZEdD�ZFdE�ZGdF�ZHdG�ZIdH�ZJdI�ZKyJ)K�
ProtocolTestsc�j�tGd�dt��}Gd�d�}Gd�d�}d�}|j||�|j|�|�|j	||�|j|�|�|j	tj|�|j||�y)Nc��eZdZd�Zy)�,ProtocolTests.test_basic_protocol.<locals>.Pc��yr`rir�s rZr`z1ProtocolTests.test_basic_protocol.<locals>.P.meth�	���r\N�rfrgrhr`rir\rZr�ro�	���
r\r�c��eZdZy)�,ProtocolTests.test_basic_protocol.<locals>.CNrzrir\rZrru�	r�r\rc��eZdZd�Zy)�,ProtocolTests.test_basic_protocol.<locals>.Dc��yr`rir�s rZr`z1ProtocolTests.test_basic_protocol.<locals>.D.meth�	rqr\Nrrrir\rZrrw�	���
r\rc��yr`ririr\rZrdz,ProtocolTests.test_basic_protocol.<locals>.f�	r�r\)r)r&r[r�r^r�r�r�)rUr�rrrds     rZ�test_basic_protocolz!ProtocolTests.test_basic_protocol�	s���	�	��	�
�	�	�
�	�	�	�	
���a��#����a�c�1�%�� � ��A�&�� � ���a�(�� � ��!3�!3�Q�7�� � ��A�&r\c�|�|jtd�5td���}ddd�y#1swYyxYw)Nz:@runtime_checkable can be only applied to protocol classesc�0��d�x}f�G�fd�d��
}|�S)rc���eZdZW�Zy)�FProtocolTests.test_runtime_checkable_generic_non_protocol.<locals>.FooN)rfrgrh�__type_params__��.type_paramss�rZrr�	s���r\rri�r�
.generic_baser�s  @rZz<generic parameters of Foo>z^ProtocolTests.test_runtime_checkable_generic_non_protocol.<locals>.<generic parameters of Foo>�	s������r\)r�r�r)�rUrs  rZ�+test_runtime_checkable_generic_non_protocolz9ProtocolTests.test_runtime_checkable_generic_non_protocol�	s;��
�
#�
#��H�
�	�����	�	�	�s�2�;c��td���}Gd�d�}|j||�Gd�d�}|j||�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZdW�fd�Zy)�9ProtocolTests.test_runtime_checkable_generic.<locals>.Foor�c��yr`rir�s rZr`z>ProtocolTests.test_runtime_checkable_generic.<locals>.Foo.meth�	r�r\N�rfrgrhr�r`�r�rs��rZrr��	s���$�a�$r\r�r&�r�r�rs @@rZz<generic parameters of Foo>zQProtocolTests.test_runtime_checkable_generic.<locals>.<generic parameters of Foo>�	s����	%�	%�X�	%r\c��eZdZdefd�Zy)�:ProtocolTests.test_runtime_checkable_generic.<locals>.Implr�c��yr`rir�s rZr`z?ProtocolTests.test_runtime_checkable_generic.<locals>.Impl.meth�	r�r\N�rfrgrhr�r`rir\rZ�Implr��	s
��&�c�&r\r�c��eZdZdefd�Zy)�=ProtocolTests.test_runtime_checkable_generic.<locals>.NotImplr�c��yr`rir�s rZ�methodzDProtocolTests.test_runtime_checkable_generic.<locals>.NotImpl.method�	r�r\N)rfrgrhr�r�rir\rZ�NotImplr��	s
��(��(r\r�)r)r[r^)rUrr�r�s    rZ�test_runtime_checkable_genericz,ProtocolTests.test_runtime_checkable_generic�	sL��	�	%�
�	%�	'�	'�	
���d�C�(�	)�	)�	
� � ��#�.r\c��tGd�dt��}d��}d��}|j|d�|�|j|d�|�y)Nc��eZdZUeed<y)�IProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.HasXrtNrKrir\rZ�HasXr��	����Fr\r�c�4���d�x�f�G��fd�d��
}|�S)rc�(��eZdZW�ZUW�ed<d�Zy)�HProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Barrtc��||_yr`ro�rUrts  rZrDzQProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Bar.__init__�	�	����r\N)rfrgrhr�r�rDr�s��rZrr��	s�����D�
r\rrir�s @@rZz<generic parameters of Bar>z`ProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.<generic parameters of Bar>�	s���!�	�	�	r\c�0��d�x}f�G�fd�d��
}|�S)rc�&��eZdZW�ZUeed<d�Zy)�MProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Capybarar�c��||_yr`�r�)rUr�s  rZrDzVProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Capybara.__init__�	r�r\N)rfrgrhr�r�r�rDr�s�rZ�Capybarar��	s�����F�
r\r�rir�s  @rZz <generic parameters of Capybara>zeProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.<generic parameters of Capybara>�	s���q�	�	�	r\rlr��r)r&r�r�)rUr�rr�s    rZ�-test_pep695_generics_can_be_runtime_checkablez;ProtocolTests.test_pep695_generics_can_be_runtime_checkable�	sO��	�	�8�	�
�	�	�
	�
	
���c�!�f�d�+�� � ��#���5r\c��tGd�dt��}Gd�d�}d�}ttt|t
jfD]}|j||��t�ddt|fD]}|j||��y)Nc��eZdZy)�FProtocolTests.test_everything_implements_empty_protocol.<locals>.EmptyNrzrir\rZ�Emptyr��	���r\r�c��eZdZy)�BProtocolTests.test_everything_implements_empty_protocol.<locals>.CNrzrir\rZrr��	r�r\rc��yr`ririr\rZrdzBProtocolTests.test_everything_implements_empty_protocol.<locals>.f�	r�r\rlri)
r)r&rGr�r�r�r�r[rar�)rUr�rrd�things     rZ�)test_everything_implements_empty_protocolz7ProtocolTests.test_everything_implements_empty_protocol�	s���	�	�H�	�
�	�	�	�	��d�E�1�e�.@�.@�A�	0�E��!�!�%��/�	0��h��2�v�q�1�	0�E��!�!�%��/�	0r\c�6�d�}|j|t�y)Nc��yr`ririr\rZrdz:ProtocolTests.test_function_implements_protocol.<locals>.f�	r�r\)r�rjrcs  rZ�!test_function_implements_protocolz/ProtocolTests.test_function_implements_protocol�	s��	�	
���a��1r\c� �Gd�d�}Gd�dt�}|jt�5Gd�d|t�}ddd�|jt�5Gd�dt|�}ddd�|jt�5Gd	�d
||t�}ddd�Gd�d||�}Gd
�d||�}|j|�|�|j|�|�y#1swY��xYw#1swY��xYw#1swY�hxYw)Nc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.CNrzrir\rZrr��	r�r\rc��eZdZy)�:ProtocolTests.test_no_inheritance_from_nominal.<locals>.BPNrzrir\rZ�BPr��	r�r\r�c��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.PNrzrir\rZr�r�
r�r\r�c��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.QNrzrir\rZ�Qr�
r�r\r�c��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.RNrzrir\rZ�Rr�
r�r\r�c��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.DNrzrir\rZrr�
r�r\rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.ENrzrir\rZrpr�
r�r\rp)r&r�r�r�)rUrr�r�r�r�rrps        rZ� test_no_inheritance_from_nominalz.ProtocolTests.test_no_inheritance_from_nominal�	s����
� �� �
�
�
�y�
)�	�
�A�x�
�	��
�
�y�
)�	�
�H�a�
�	��
�
�y�
)�	�
�B��8�
�	�	��A����2��� � ���a�(�� � ���a�(�	�	��	�	��	�	�s#�C,�C8�D�,C5�8D�D
c�n�Gd�dt�}|jt�5|�ddd�Gd�d|�}|j|�|�|jt�5|d�ddd�t	d�}Gd�dt|�}|jt�5|�ddd�|jt�5|t
�ddd�|jt�5||�ddd�Gd	�d
||�}|j|t
�|�|jt�5|t
d�ddd�y#1swY��BxYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nc��eZdZy)�.ProtocolTests.test_no_instantiation.<locals>.PNrzrir\rZr�r�
r�r\r�c��eZdZy)�.ProtocolTests.test_no_instantiation.<locals>.CNrzrir\rZrr�
r�r\rr�rc��eZdZy)�/ProtocolTests.test_no_instantiation.<locals>.PGNrzrir\rZ�PGr� 
r�r\r�c��eZdZy)�/ProtocolTests.test_no_instantiation.<locals>.CGNrzrir\rZ�CGr�)
r�r\r�)r&r�r�r�rr�)rUr�rrr�r�s      rZ�test_no_instantiationz#ProtocolTests.test_no_instantiation
sn�����
�
�
�y�
)�	�
�C�	�	������a�c�1�%�
�
�
�y�
)�	�
�b�E�	�
�C�L��#��!��#�
�
�
�y�
)�	��D�	�
�
�
�y�
)�	��B�s�G�I�	�
�
�
�y�
)�	��B�q�E�G�	�	��A������g�b��g�i��,�
�
�
�y�
)�	��B�s�G�B�K�	�	�/	�	��	�	��	�	��	�	��	�	��	�	�sG�E-�,	E:�/F�F�F�F+�-E7�:F�F�F�F(�+F4c��Gd�dt�}Gd�d�}|�}|j|d�|j|jd�y)Nc�(�eZdZUeed<deddfd�Zy)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.Prtr�Nc��||_yr`ror�s  rZrDzUProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.P.__init__5
r�r\�rfrgrhr�r�rDrir\rZr�r�3
����F�
�#�
�$�
r\r�c��eZdZy)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.CNrzrir\rZrr�7
r�r\rrl)r&rDr�rt�rUr�rr�s    rZ�3test_protocol_defining_init_does_not_get_overriddenzAProtocolTests.test_protocol_defining_init_does_not_get_overridden/
s>��	��	�	�
�
�C��	�
�
�1�a��������a� r\c��Gd�dt�}Gd�d|�}|d�}|j||�|j|jd�y)Nc�(�eZdZUeed<deddfd�Zy)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.Prtr�Nc��||_yr`ror�s  rZrDzSProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.P.__init__@
r�r\r�rir\rZr�r�>
r�r\r�c��eZdZy)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.CNrzrir\rZrr�C
r�r\rrl)r&r�r�rtr�s    rZ�1test_concrete_class_inheriting_init_from_protocolz?ProtocolTests.test_concrete_class_inheriting_init_from_protocol=
sE��	��	�
	���
�a�D�����a��#�������a� r\c���tGd�dt��}Gd�d|�}Gd�d|�}|jt�5|�ddd�|j	|�|�y#1swY�!xYw)Nc�6�eZdZejdefd��Zy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Pr�c��t�r`)�NotImplementedErrorr�s rZ�amethz?ProtocolTests.test_cannot_instantiate_abstract.<locals>.P.amethL
s��)�)r\N)rfrgrhr��abstractmethodr�r�rir\rZr�r�J
s!��
�
�
�
*�s�
*� �
*r\r�c��eZdZy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.BNrzrir\rZr�r�P
r�r\r�c��eZdZdefd�Zy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Cr�c��y)N�rir�s rZr�z?ProtocolTests.test_cannot_instantiate_abstract.<locals>.C.amethT
���r\N)rfrgrhr�r�rir\rZrr�S
s��
�s�
r\r)r)r&r�r�r�)rUr�r�rs    rZ� test_cannot_instantiate_abstractz.ProtocolTests.test_cannot_instantiate_abstractI
so��	�	*��	*�
�	*�
	��	�	��	��
�
�y�
)�	�
�C�	����a�c�1�%�	�	�s�A,�,A5c��Gd�dt�}tGd�d|t��}Gd�d�}Gd�d�}Gd	�d
�}|j|�|�|j|�|�|j||�|j||�|j	|�|�|j||�y)Nc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.P1c��yr`rir�s rZ�meth1z;ProtocolTests.test_subprotocols_extending.<locals>.P1.meth1]
rqr\N�rfrgrhr�rir\rZ�P1r�\
ryr\rc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.P2c��yr`rir�s rZ�meth2z;ProtocolTests.test_subprotocols_extending.<locals>.P2.meth2b
rqr\N�rfrgrhrrir\rZr�r`
rsr\r�c��eZdZd�Zd�Zy)�4ProtocolTests.test_subprotocols_extending.<locals>.Cc��yr`rir�s rZr�z:ProtocolTests.test_subprotocols_extending.<locals>.C.meth1f
rqr\c��yr`rir�s rZrz:ProtocolTests.test_subprotocols_extending.<locals>.C.meth2i
rqr\N�rfrgrhr�rrir\rZrre
���
�
r\rc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.C1c��yr`rir�s rZr�z;ProtocolTests.test_subprotocols_extending.<locals>.C1.meth1m
rqr\Nr�rir\rZr�r
l
ryr\r�c��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.C2c��yr`rir�s rZrz;ProtocolTests.test_subprotocols_extending.<locals>.C2.meth2q
rqr\Nrrir\rZr�rp
ryr\r��r&r)r�r^r�r[)rUrr�rr�r�s      rZ�test_subprotocols_extendingz)ProtocolTests.test_subprotocols_extending[
s���	��	�
�	��X�	�
�	�	�	�	�	�	�	�	
� � ���r�*�� � ���r�*�� � ��R�(�� � ��R�(����a�c�2�&����a��$r\c��Gd�dt�}Gd�dt�}tGd�d||t��}Gd�d�}Gd	�d
�}Gd�d�}|j|�|�|j|�|�|j||�|j||�|j	|�|�|j||�y)
Nc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.P1c��yr`rir�s rZr�z9ProtocolTests.test_subprotocols_merging.<locals>.P1.meth1}
rqr\Nr�rir\rZrr|
ryr\rc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.P2c��yr`rir�s rZrz9ProtocolTests.test_subprotocols_merging.<locals>.P2.meth2�
rqr\Nrrir\rZr�r�
ryr\r�c��eZdZy)�2ProtocolTests.test_subprotocols_merging.<locals>.PNrzrir\rZr�r�
r�r\r�c��eZdZd�Zd�Zy)�2ProtocolTests.test_subprotocols_merging.<locals>.Cc��yr`rir�s rZr�z8ProtocolTests.test_subprotocols_merging.<locals>.C.meth1�
rqr\c��yr`rir�s rZrz8ProtocolTests.test_subprotocols_merging.<locals>.C.meth2�
rqr\Nr
rir\rZrr�
rr\rc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.C1c��yr`rir�s rZr�z9ProtocolTests.test_subprotocols_merging.<locals>.C1.meth1�
rqr\Nr�rir\rZr�r"�
ryr\r�c��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.C2c��yr`rir�s rZrz9ProtocolTests.test_subprotocols_merging.<locals>.C2.meth2�
rqr\Nrrir\rZr�r%�
ryr\r�r)rUrr�r�rr�r�s       rZ�test_subprotocols_mergingz'ProtocolTests.test_subprotocols_merging{
s���	��	�	��	�
�	��B��	�
�	�	�	�	�	�	�	�	
� � ���q�)�� � ���q�)�� � ��Q�'�� � ��Q�'����a�c�1�%����a��#r\c���td�}tGd�dt��}tGd�dt|��}Gd�dt�}Gd�d	t|�}Gd
�d�}|j||�|j||�|j||�d}|j	t
|�5t
|||�ddd�|j	t
|�5t
|||�ddd�d
}|j	t
|�5t
||�ddd�|j	t
|�5t
||�ddd�|j	t
|�5t
|||�ddd�|j	t
|�5t
||t�ddd�d}	|j	t
|	�5t
d|�ddd�|j	t
|	�5t
d|�ddd�|j	t
|	�5t
d|�ddd�|j	t
|	�5t
d|�ddd�y#1swY���xYw#1swY��~xYw#1swY��^xYw#1swY��@xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nrc��eZdZd�Zy)�2ProtocolTests.test_protocols_issubclass.<locals>.Pc��yr`rir�s rZrtz4ProtocolTests.test_protocols_issubclass.<locals>.P.x�
r�r\N�rfrgrhrtrir\rZr�r*�
���r\r�c��eZdZd�Zy)�3ProtocolTests.test_protocols_issubclass.<locals>.PGc��yr`rir�s rZrtz5ProtocolTests.test_protocols_issubclass.<locals>.PG.x�
r�r\Nr,rir\rZr�r/�
r-r\r�c��eZdZd�Zy)�5ProtocolTests.test_protocols_issubclass.<locals>.BadPc��yr`rir�s rZrtz7ProtocolTests.test_protocols_issubclass.<locals>.BadP.x�
r�r\Nr,rir\rZ�BadPr2�
���r\r4c��eZdZd�Zy)�6ProtocolTests.test_protocols_issubclass.<locals>.BadPGc��yr`rir�s rZrtz8ProtocolTests.test_protocols_issubclass.<locals>.BadPG.x�
r�r\Nr,rir\rZ�BadPGr7�
r5r\r9c��eZdZd�Zy)�2ProtocolTests.test_protocols_issubclass.<locals>.Cc��yr`rir�s rZrtz4ProtocolTests.test_protocols_issubclass.<locals>.C.x�
r�r\Nr,rir\rZrr;�
r5r\r�BSubscripted generics cannot be used with class and instance checks�LInstance and class checks can only be used with @runtime_checkable protocols�$issubclass\(\) arg 1 must be a classrl)rr)r&r[r�r�rRr�)
rUrr�r�r4r9r�no_subscripted_generics� only_runtime_checkable_protocols�only_classes_alloweds
          rZ�test_protocols_issubclassz'ProtocolTests.test_protocols_issubclass�
s����C�L��	�	��	�
�	�
�	��!��	�
�	�	�8�	�	�H�Q�K�	�	�	�	
���a��#����a��$����d�B�'�
Q�	 ��
#�
#�I�/F�
G�	!��q�"�Q�%� �	!�
�
#�
#�I�/F�
G�	!��q�"�Q�%� �	!�
+�	)�
�
#�
#�I�/O�
P�	 ��q�$��	 �
�
#�
#�I�/O�
P�	!��q�%� �	!��
#�
#�I�/F�
G�	!��q�"�Q�%� �	!�
�
#�
#�I�/F�
G�	$��r�2�c�7�#�	$� G��
�
#�
#�I�/C�
D�	��q�!��	�
�
#�
#�I�/C�
D�	��q�"��	�
�
#�
#�I�/C�
D�	 ��q�$��	 �
�
#�
#�I�/C�
D�	!��q�%� �	!�	!�9	!�	!��	!�	!��	 �	 ��	!�	!��	!�	!��	$�	$��
	�	��	�	��	 �	 ��	!�	!�sx�8I%�&I2�
I?�
J�,J�J&�
J2�9
J>�$
K
�
K�%I/�2I<�?J	�J�J#�&J/�2J;�>K�
K�Kc���tGd�dt��}Gd�dt�}Gd�dt�}Gd�dt�}Gd	�d
t�}Gd�dt�}Gd
�dt�}||||||fD]9}|j|j��5|j	||�ddd��;Gd�dt�}	Gd�dt�}
|j|	|�|j|
|�Gd�d�}Gd�d�}Gd�d�}
Gd�d�}|j||�|j	||�|j	|
|�|j	||�y#1swY��xYw)Nc��eZdZd�Zy)�ZProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.CallableMembersProtoc��yr`rir�s rZr`z_ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.CallableMembersProto.meth�
r�r\Nrrrir\rZ�CallableMembersProtorF�
���r\rHc��eZdZd�Zy)�TProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProtoc��yr`rir�s rZr`zYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProto.meth�
r�r\Nrrrir\rZ�IdenticalProtorK�
s��r\rMc��eZdZd�Zd�Zy)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProtoc��yr`rir�s rZr`zXProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.meth�
r�r\c��yr`rir�s rZrzYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.meth2�
r�r\N)rfrgrhr`rrir\rZ�
SupersetProtorO�
s��� r\rRc�"�eZdZUegdfed<y)�]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersProtoNr`�rfrgrhr!r�rir\rZ�NonCallableMembersProtorT�
����2�t�8�$�$r\rVc�:�eZdZUegdfed<eeegefed<y)�eProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersSupersetProtoNr`r)rfrgrhr!r�r�r�r�rir\rZ�NonCallableMembersSupersetProtorY�
s%���2�t�8�$�$��S�#�J��,�-�-r\rZc�(�eZdZUegdfed<d�Zy)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1Nr`c��yr`rir�s rZrz^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1.meth2�
r�r\)rfrgrhr!r�rrir\rZ�MixedMembersProto1r\�
����2�t�8�$�$� r\r^c�,�eZdZUd�Zeeegefed<y)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2c��yr`rir�s rZr`z]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2.meth�
r�r\rN)	rfrgrhr`r!r�r�r�r�rir\rZ�MixedMembersProto2ra�
s����S�#�J��,�-�-r\rcrnc��eZdZy)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.EmptyProtocolNrzrir\rZ�
EmptyProtocolrer�r\rfc��eZdZd�Zy)�WProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocolc��yr`rir�s rZ�wutz[ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocol.wutr�r\N)rfrgrhrjrir\rZ�UnrelatedProtocolrhs��r\rkc�"�eZdZUegdfed<y)�^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.AnnotatedButNotAProtocolNr`rUrir\rZ�AnnotatedButNotAProtocolrmrWr\rnc��eZdZd�Zy)�gProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclassc��yr`rir�s rZr`zlProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass.methr�r\Nrrrir\rZ�!NotAProtocolButAnImplicitSubclassrp��� r\rrc�(�eZdZUegdfed<d�Zy)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2Nr`c��yr`rir�s rZr`zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2.methr�r\)rfrgrhr!r�r`rir\rZ�"NotAProtocolButAnImplicitSubclass2rur_r\rwc�F�eZdZUegdfed<eeegefed<d�Zd�Z	y)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3Nr`rc��yr`rir�s rZr`zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.methr�r\c��y)NTri�rUrtr�s   rZrznProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.meth2s��$r\)
rfrgrhr!r�r�r�r�r`rrir\rZ�"NotAProtocolButAnImplicitSubclass3rys+���2�t�8�$�$��S�#�J��,�-�-� �.r\r})r)r&rsrfr[r^)rUrHrMrRrVrZr^rcrorfrkrnrrrwr}s               rZ�.test_implicit_issubclass_between_two_protocolsz<ProtocolTests.test_implicit_issubclass_between_two_protocols�
s{��	�	 �8�	 �
�	 �	 �X�	 �	!�H�	!�	%�h�	%�	.�h�	.�	!��	!�	.��	.�

�M�+B�+�-?�AS�
�	C�E����E�N�N��3�
C��%�%�e�-A�B�
C�
C�		C�	+�H�*�	��	�	
� � ��0D�E�� � �!2�4H�I�	%�	%�	!�	!�	!�	!�	/�	/�	
� � �!9�;O�P����?�AU�V����@�BV�W����@�BV�W�K
C�
C�s�E*�*E3	c�d�|jtj�tj�|j	t
d�5Gd�dtjjt�}ddd�|jgtjj�y#1swY�4xYw)Nz/Protocols can only inherit from other protocolsc��eZdZy)�CProtocolTests.test_isinstance_checks_not_at_whim_of_gc.<locals>.FooNrzrir\rZrr�+r�r\r)�
addCleanup�gc�enable�disabler�r�r�r�rer&r�r�s  rZ�(test_isinstance_checks_not_at_whim_of_gcz6ProtocolTests.test_isinstance_checks_not_at_whim_of_gc#sx������	�	�"�
�
�
��
�
#�
#��=�
�	�
�k�o�o�-�-�x�
�		�	
� � ��[�_�_�%<�%<�=�	�	�s�
)B&�&B/c�D�Gd�d�}|jtt�|jt�t�|jtt�|jdt�|j|t�|j|�t�d}|jt|�5tdt�ddd�|jt|�5tdt�ddd�|jt|�5t|�t�ddd�td�}tGd�dt��}tGd	�d
t��}tGd�dt|��}|||fD]=}|j|j�
�5|j|t�ddd��?|jt|�|jt�|�|jtt�|jt�t�|jt|�|jd|�|jtt�|jdt�|j||�|j|�|�|j|t�|j|�t�y#1swY��#xYw#1swY��xYw#1swY���xYw#1swY���xYw)Nc��eZdZd�Zy)�JProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.Cc��yr`rir�s rZrtzLProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.C.x2r�r\Nr,rir\rZrr�1s��r\rrDr?rlrc��eZdZy)�VProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.EmptyProtocolNrzrir\rZrfr�Hs��'+r\rfc��eZdZdedefd�Zy)�[ProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsStartsWithrtr�c��yr`rir�s  rZ�
startswithzfProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsStartsWith.startswithMr�r\N�rfrgrhr�r�r�rir\rZ�SupportsStartsWithr�Ks��5�C�5�D�5r\r�c��eZdZd�Zy)�RProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsXc��yr`rir�s rZrtzTProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsX.xQr�r\Nr,rir\rZ�	SupportsXr�Or-r\r�rn)r^rGr&r�r�r�r�rRrr)rsrfr[r�)rUrrBrrfr�r�ros        rZ�1test_issubclass_and_isinstance_on_Protocol_itselfz?ProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself0s���	�	�	
� � ���2�� � ���8�4�� � ��h�/�� � ���1�� � ��H�-�� � ���h�/�F��
�
#�
#�I�/C�
D�	$��q�(�#�	$�
�
#�
#�I�/C�
D�	(��u�h�'�	(�
�
#�
#�I�/C�
D�	&��q�s�H�%�	&�
�C�L��	�+�H�+�
�+�	�	6��	6�
�	6�
�	����	�
�	�#�$6�	�A�	7�E����E�N�N��3�
7��%�%�e�X�6�
7�
7�	7�	
���f�m�4����f�h�
�6�� � ���2�� � ���8�4����c�#5�6����e�%7�8�� � ��h�/�� � ���1����a��+����a�c�9�-�� � ��H�-�� � ���h�/�U	$�	$��	(�	(��	&�	&��"
7�
7�s0�<K.�+K;�L�2L�.K8�;L�L�L	c���Gd�d�}tGd�dt��}d}|jt|�5t	||�ddd�|j|�|�|j
|�|jt|�5t	||�ddd�|j|�|�Gd�d|�}|j||�|j|�|�|j
|�|j||�|j|�|�|jt|�5t	||�ddd�y#1swY��xYw#1swY��xYw#1swYyxYw)Nc��eZdZdZy)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.CrlNr,rir\rZrr�l����Ar\rc��eZdZdZy)�FProtocolTests.test_protocols_issubclass_non_callable.<locals>.PNonCallrlNr,rir\rZ�PNonCallr�o����Ar\r��<Protocols with non-method members don't support issubclass()c��eZdZy)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.DNrzrir\rZrr��r�r\r)
r)r&r�r�rRr��registerr^r�r[)rUrr��non_callable_members_illegalrs     rZ�&test_protocols_issubclass_non_callablez4ProtocolTests.test_protocols_issubclass_non_callableksX��	�	�
�	�x�	�
�	�
K�	%��
#�
#�I�/K�
L�	$��q�(�#�	$�	
���a�c�8�,����!��
�
#�
#�I�/K�
L�	$��q�(�#�	$�	
���a�c�8�,�	���� � ��A�&�� � ���a�(�	�
�
�1�
����a��#����a�c�1�%�
�
#�
#�I�/K�
L�	$��q�(�#�	$�	$�)	$�	$��	$�	$��	$�	$�s#�
E�
E!�>
E-�E�!E*�-E6c���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�RProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.SpamrtNrKrir\rZ�Spamr��r�r\r�c��eZdZdd�Zy)�RProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.EggsNc��d|_yr�ror�s rZrDz[ProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.Eggs.__init__�s	����r\�r�N�rfrgrhrDrir\rZ�Eggsr��s��
r\r�r�)r)r&r�r�r�rR�rUr�r�s   rZ�6test_no_weird_caching_with_issubclass_after_isinstancezDProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance�sp��	�	�8�	�
�	�	�	�	
���d�f�d�+��
#�
#��J�
�	#�
�t�T�"�		#�	#�	#���
A&�&A/c���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2.<locals>.SpamrtNrKrir\rZr�r��r�r\r�c��eZdZy)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2.<locals>.EggsNrzrir\rZr�r��r�r\r�r��r)r&r�r�r�rRr�s   rZ�8test_no_weird_caching_with_issubclass_after_isinstance_2zFProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2�sk��	�	�8�	�
�	�	��� � ����.��
#�
#��J�
�	#�
�t�T�"�		#�	#�	#�r�c���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.SpamrtNrKrir\rZr�r��r�r\r�c��eZdZd�Zy)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Eggsc�$�|dk(ryt|��)Nrtr���AttributeError�rUr]s  rZ�__getattr__z`ProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Eggs.__getattr__�s���3�;��$�T�*�*r\N�rfrgrhr�rir\rZr�r��s��
+r\r�r�r�r�s   rZ�8test_no_weird_caching_with_issubclass_after_isinstance_3zFProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3�sp��	�	�8�	�
�	�	+�	+�	
� � ����.��
#�
#��J�
�	#�
�t�T�"�		#�	#�	#�r�c���td���}d��}|j|d�|�|jtd�5t	||�ddd�y#1swYyxYw)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�YProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.SpamrtN�rfrgrhr�r�r�s��rZr�r��s
�����Dr\r�r�r�s @@rZz<generic parameters of Spam>zqProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.<generic parameters of Spam>�s����	�	�h�	r\c�4���d�x�f�G��fd�d��
}|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�YProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.Eggsrtr�Nc��||_yr`ror�s  rZrDzbProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.Eggs.__init__�r�r\)rfrgrhr�rDr�s��rZr�r��s���
�!�
��
r\r�rir�s @@rZz<generic parameters of Eggs>zqProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.<generic parameters of Eggs>�s���1�	�	�	r\r�r�)r)r�r�r�rRr�s   rZ�=test_no_weird_caching_with_issubclass_after_isinstance_pep695zKProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695�sf��	�	�
�	�	�	
���d�2�h��-��
#�
#��J�
�	#�
�t�T�"�		#�	#�	#�s�
A�A'c�Z��td�}tGd�dt��}tGd�dt|��}tGd�dt��}tGd�d	t��}Gd
�d��tG�fd�d
t��}Gd�dt�}Gd�dt|�}Gd�d�}	Gd�d�}
|	|
fD]U}|||||fD]I}|j|j|j��5|j|�|�ddd��K�Wd}
|j
t|
�5t|	�||�ddd�|j
t|
�5t|	�||	�ddd�d}|j
t|�5t|	�|�ddd�|j
t|�5t|	�|�ddd�y#1swY��#xYw#1swY��xYw#1swY��xYw#1swY�_xYw#1swYyxYw)Nrc��eZdZd�Zy)�2ProtocolTests.test_protocols_isinstance.<locals>.Pc��yr`riros rZr`z7ProtocolTests.test_protocols_isinstance.<locals>.P.meth�r�r\Nrrrir\rZr�r��r-r\r�c��eZdZd�Zy)�3ProtocolTests.test_protocols_isinstance.<locals>.PGc��yr`riros rZr`z8ProtocolTests.test_protocols_isinstance.<locals>.PG.meth�r�r\Nrrrir\rZr�r��r-r\r�c�$�eZdZejZy)�;ProtocolTests.test_protocols_isinstance.<locals>.WeirdProtoN)rfrgrhr��	maketransr`rir\rZ�
WeirdProtor��s���=�=�Dr\r�c��eZdZd�Zy)�<ProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2c��yr`ri�r�rBs  rZ�<lambda>zEProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2.<lambda>�r�r\Nrrrir\rZ�WeirdProto2r��s��/�Dr\r�c��eZdZd�Zy)�?ProtocolTests.test_protocols_isinstance.<locals>.CustomCallablec��yr`ri�rUr�rBs   rZr�zHProtocolTests.test_protocols_isinstance.<locals>.CustomCallable.__call__�rqr\Nr�rir\rZ�CustomCallabler��ryr\r�c���eZdZW��Zy)�=ProtocolTests.test_protocols_isinstance.<locals>.WeirderProtoNrr)r�s�rZ�WeirderProtor��s���!�#�Dr\r�c��eZdZd�Zy)�5ProtocolTests.test_protocols_isinstance.<locals>.BadPc��yr`riros rZr`z:ProtocolTests.test_protocols_isinstance.<locals>.BadP.methr�r\Nrrrir\rZr4r�r5r\r4c��eZdZd�Zy)�6ProtocolTests.test_protocols_isinstance.<locals>.BadPGc��yr`riros rZr`z;ProtocolTests.test_protocols_isinstance.<locals>.BadPG.methr�r\Nrrrir\rZr9r�r5r\r9c��eZdZd�Zy)�2ProtocolTests.test_protocols_isinstance.<locals>.Cc��yr`riros rZr`z7ProtocolTests.test_protocols_isinstance.<locals>.C.methr�r\Nrrrir\rZrr�r5r\rc��eZdZd�Zy)�3ProtocolTests.test_protocols_isinstance.<locals>.C2c��d�|_y)Nc��yr`ririr\rZr�zNProtocolTests.test_protocols_isinstance.<locals>.C2.__init__.<locals>.<lambda>r�r\)r`r�s rZrDz<ProtocolTests.test_protocols_isinstance.<locals>.C2.__init__s	��(��	r\Nr�rir\rZr�r�
���
)r\r�)�klassror=r>)	rr)r&rsrfr�r�r�r�)rUrr�r�r�r�r�r4r9rr�r�ror@�only_runtime_checkable_msgr�s               @rZ�test_protocols_isinstancez'ProtocolTests.test_protocols_isinstance�s,����C�L��	�	��	�
�	�
�	��!��	�
�	�
�	!��	!�
�	!�
�	0�(�	0�
�	0�	�	�
�	$�8�	$�
�	$�	�8�	�	�H�Q�K�	�	�	�	)�	)���U�	:�E��B�
�K��E�
:���\�\����e�n�n�\�M�:��)�)�%�'�5�9�:�:�
:�	:�
#g��
�
#�
#�I�/F�
G�	#��q�s�B�q�E�"�	#�
�
#�
#�I�/F�
G�	#��q�s�B�q�E�"�	#�
0�	#�
�
#�
#�I�/I�
J�	"��q�s�D�!�	"�
�
#�
#�I�/I�
J�	#��q�s�E�"�	#�	#�#:�:��
	#�	#��	#�	#��	"�	"��	#�	#�s<�G0�=G=�0H	�%H�H!�0G:�=H�	H�H�!H*c
����Gd�d�}Gd�d��G�fd�d�}Gd�d|�}Gd	�d
|�}Gd�d�}td
��tGd�dt��}tGd�dt��}tGd�dt���}tG�fd�dt���}	tGd�dt��}
tG�fd�dt���}||||	|
|fD]�}||||fD]I}
|j|
j|j��5|j|
�|�ddd��K|jd|j��5|j
|�|�ddd���Gd�dt�}Gd�dt�}Gd�d t��}G�fd!�d"t��}|�|||	�|	||�||||||f
}|D]c}|||||fD]W}
|j|
j|�#�5|jt�5t|
�|�ddd�ddd��Y�ey#1swY��`xYw#1swY��vxYw#1swY�0xYw#1swY��xYw)$Nc��eZdZed��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.Cc��yr�rir�s rZr]zRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.C.attr&���r\N�rfrgrh�propertyr]rir\rZrr�%s��
�
��
r\rc��eZdZdd�Zy)�\ProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptorNc��yr�ri�rU�obj�objtypes   rZ�__get__zdProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptor.__get__+r�r\r`�rfrgrhrrir\rZ�CustomDescriptorr*s��
r\r	c���eZdZW��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.DN�rfrgrhr]�r	s�rZrr.����#�%�Dr\rc��eZdZy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.ENrzrir\rZrpr3r�r\rpc��eZdZy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.FNrzrir\rZrqr4r�r\rqc��eZdZy)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.EmptyNrzrir\rZr�r6r�r\r�rc��eZdZed��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.Pc��yr`rir�s rZr]zRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P.attr<���r\Nr�rir\rZr�r:���
���r\r�c��eZdZUeed<y)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P1r]NrKrir\rZrr?����Ir\rc��eZdZed��Zy)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PGc��yr`rir�s rZr]zSProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG.attrErr\Nr�rir\rZr�rCrr\r�c���eZdZUW�ed<y)�OProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG1r]N�rfrgrhr��rs�rZ�PG1r!H�����Gr\r$c��eZdZd�Zy)�SProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPc��yr`rir�s rZr]zXProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodP.attrNr�r\Nrrir\rZ�MethodPr'LrIr\r)c���eZdZdW�fd�Zy)�TProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPGr�c��yr`rir�s rZr]zYProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPG.attrRr�r\Nrr#s�rZ�MethodPGr+P����$�a�$r\r-�r��protocol_classc��eZdZed��Zy)�PProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPc��yr`rir�s rZr]zUProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP.attr`rr\Nr�rir\rZr4r2_���
���r\r4c��eZdZUeed<y)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP1r]NrKrir\rZ�BadP1r6c����Ir\r7c��eZdZed��Zy)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPGc��yr`rir�s rZr]zVProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG.attrgrr\Nr�rir\rZr9r:fr4r\r9c���eZdZUW�ed<y)�RProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG1r]Nr"r#s�rZ�BadPG1r=js����Gr\r>)r�r)
rr)r&rsrfr�r�r�r�r�)rUrrrprqr�r�rr�r$r)r-r0r�r4r7r9r>�casesrr	rs                    @@rZ�4test_protocols_isinstance_properties_and_descriptorszBProtocolTests.test_protocols_isinstance_properties_and_descriptors$s����	�	�
	�	�	&�	&�
	���������C�L��	�	 ��	 �
�	 �
�	��	�
�	�
�	 ��!��	 �
�	 �
�	�(�1�+�	�
�	�
�	 �h�	 �
�	 �
�	%�x��{�	%�
�	%� ��R��g�x�?�		B�N��A�q�!��
C���\�\��.�.�#1�#:�#:�"��C��)�)�%�'�>�B�	C�C�
C����G�N�<S�<S��T�
B��(�(���.�A�
B�
B�		B�	 �8�	 �	�H�	�	 �H�Q�K�	 �	�X�a�[�	�
�q�E�2�a�5�#�a�&�#�a�&�(�1�+��Q�K��u�e�V�
��
�	1�C��A�q�!�U�*�
1���\�\����C�\�@�1��*�*�9�5�1�"�5�7�C�0�1�1�1�
1�	1�9C�C��
B�
B��21�1��1�1�s<�&I�%I�I8�+I,	�=I8�I�I)	�,I5
�1I8�8Jc��tGd�dt��}Gd�d�}Gd�d�}|j|�|�|j|�|�y)Nc��eZdZUeed<y)�NProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.HasXrtNrKrir\rZr�rCyr�r\r�c��eZdZdZd�Zy)�XProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithXr�c��gSr`rir�s rZ�__dir__z`ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithX.__dir__����	r\N)rfrgrhrtrGrir\rZ�CustomDirWithXrE}s���A�
r\rIc��eZdZd�Zy)�[ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutXc��dgS�Nrtrir�s rZrGzcProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutX.__dir__�s	���u�r\N)rfrgrhrGrir\rZ�CustomDirWithoutXrK����
r\rNr�)rUr�rIrNs    rZ�2test_protocols_isinstance_not_fooled_by_custom_dirz@ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dirxsX��	�	�8�	�
�	�	�	�
	�	�	
���n�.��5�� � �!2�!4�d�;r\c�@���Gd�d�}Gd�d��G�fd�d�}Gd�d|�}Gd	�d
|�}Gd�d�}td
��tGd�dt��}tGd�dt��}tGd�dt���}tG�fd�dt���}	tGd�dt��}
tG�fd�dt���}||||	|
|fD]�}||||fD]I}
|j|
j|j��5|j|
�|�ddd��K|jd|j��5|j
|�|�ddd���y#1swY��xYw#1swY��xYw)Nc��eZdZed��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.Cc��td��)N�nor�r�s rZr]zZProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.C.attr�s
��$�T�*�*r\Nr�rir\rZrrS�s��
�
+��
+r\rc��eZdZdd�Zy)�dProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.CustomDescriptorNc��td���N�NO��RuntimeErrorrs   rZrzlProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.CustomDescriptor.__get__��
��"�4�(�(r\r`rrir\rZr	rW�s��
)r\r	c���eZdZW��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.DNrr
s�rZrr_�rr\rc��eZdZy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.ENrzrir\rZrpra�r�r\rpc��eZdZy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.FNrzrir\rZrqrc�r�r\rqc��eZdZd�Zy)�eProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.WhyWouldYouDoThisc��td��)Nrjr[)rUr�s  rZr�zqProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.WhyWouldYouDoThis.__getattr__�s
��"�5�)�)r\Nr�rir\rZ�WhyWouldYouDoThisre�s��
*r\rgrc��eZdZed��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.Pc��yr`rir�s rZr]zZProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.P.attr�rr\Nr�rir\rZr�ri�rr\r�c��eZdZUeed<y)�VProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.P1r]NrKrir\rZrrl�rr\rc��eZdZed��Zy)�VProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PGc��yr`rir�s rZr]z[ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PG.attr�rr\Nr�rir\rZr�rn�rr\r�c���eZdZUW�ed<y)�WProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PG1r]Nr"r#s�rZr$rq�r%r\r$c��eZdZd�Zy)�[ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPc��yr`rir�s rZr]z`ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodP.attr�r�r\Nrrir\rZr)rs�rIr\r)c���eZdZdW�fd�Zy)�\ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPGr�c��yr`rir�s rZr]zaProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPG.attr�r�r\Nrr#s�rZr-rv�r.r\r-r/)rr)r&rsrfr�r�)rUrrrprqrgr�rr�r$r)r-r0r�r	rs              @@rZ�<test_protocols_isinstance_attribute_access_with_side_effectszJProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects�s����	+�	+�
	)�	)�	&�	&�
	������	*�	*�
�C�L��	�	 ��	 �
�	 �
�	��	�
�	�
�	 ��!��	 �
�	 �
�	�(�1�+�	�
�	�
�	 �h�	 �
�	 �
�	%�x��{�	%�
�	%� ��R��g�x�?�	N�N��A�q�!��
C���\�\��.�.�#1�#:�#:�"��C��)�)�%�'�>�B�	C�C�
C����)�-�6�6���
N��(�(�):�)<�n�M�	
N�
N�	N�C�C��
N�
N�s�&F�%F�F�F	c�v�tGd�dt��}Gd�d�}|j|�|�y)Nc��eZdZUeed<y)�?ProtocolTests.test_protocols_isinstance___slots__.<locals>.HasXrtNrKrir\rZr�r{�r�r\r�c��eZdZdZy)�MProtocolTests.test_protocols_isinstance___slots__.<locals>.HasNothingButSlotsroN�rfrgrh�	__slots__rir\rZ�HasNothingButSlotsr}�s���Ir\r��r)r&r�)rUr�r�s   rZ�#test_protocols_isinstance___slots__z1ProtocolTests.test_protocols_isinstance___slots__�s=��
�	�8�	�
�	�	�	�	
���0�2�D�9r\c�D�Gd�d�}Gd�d�}Gd�d�}Gd�d�}|j|d	d
d�t�|j|d	d
�t�|jt�t�|j|d	d
�t�|jt�t�|jt�t�|j|d�t�|j|�t�|j|�t�|j|�t�|j|�t�|jt�t�|jtd	d
�t�y)
Nc��eZdZd�Zy)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.APointc�.�||_||_||_yr`�rtr�rO)rUrtr�rOs    rZrDzEProtocolTests.test_protocols_isinstance_py36.<locals>.APoint.__init__�s��������"��
r\Nr�rir\rZ�APointr��s��
#r\r�c��eZdZdZd�Zy)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.BPointr�c� �||_||_yr`�rtr�r|s   rZrDzEProtocolTests.test_protocols_isinstance_py36.<locals>.BPoint.__init__�s�������r\N)rfrgrhrOrDrir\rZ�BPointr��s���E�
r\r�c��eZdZd�Zd�Zy)�7ProtocolTests.test_protocols_isinstance_py36.<locals>.Cc��||_yr`�r]r�s  rZrDz@ProtocolTests.test_protocols_isinstance_py36.<locals>.C.__init__��	�� ��	r\c��yr:rir_s  rZr`z<ProtocolTests.test_protocols_isinstance_py36.<locals>.C.meth����r\N)rfrgrhrDr`rir\rZrr��s��
!�
r\rc��eZdZy)�9ProtocolTests.test_protocols_isinstance_py36.<locals>.BadNrzrir\rZ�Badr��r�r\r�rlr�r�r�)	r�rNr�rRrZrdr\rbrh)rUr�r�rr�s     rZ�test_protocols_isinstance_py36z,ProtocolTests.test_protocols_isinstance_py36�s&��	#�	#�	�	�	�	�	�����f�Q��3�/��7����f�Q��l�E�2�� � ���E�2����f�Q��l�H�5����e�g�u�-����h�j�%�0����a��e�U�+�� � ����.�� � ����.�� � ����1�� � ����1�� � ���(�3����b��A�h��1r\c���td�}tGd�dt��}tGd�dt|��}Gd�d�}|j|d�|�|j|d�|�y)	Nrc��eZdZdZy)�7ProtocolTests.test_protocols_isinstance_init.<locals>.PrlNr,rir\rZr�r��r�r\r�c��eZdZdZy)�8ProtocolTests.test_protocols_isinstance_init.<locals>.PGrlNr,rir\rZr�r�
r�r\r�c��eZdZd�Zy)�7ProtocolTests.test_protocols_isinstance_init.<locals>.Cc��||_yr`ror�s  rZrDz@ProtocolTests.test_protocols_isinstance_init.<locals>.C.__init__
r�r\Nr�rir\rZrr�
���
r\rrl)rr)r&r�)rUrr�r�rs     rZ�test_protocols_isinstance_initz,ProtocolTests.test_protocols_isinstance_init�sw���C�L��	�	��	�
�	�
�	��!��	�
�	�	�	�	
���a��d�A�&����a��d�B�'r\c���tGd�dt��}Gd�d�}|�}|j||�d|_|j	||�|`|j||�y)Nc��eZdZUeed<y)�DProtocolTests.test_protocols_isinstance_monkeypatching.<locals>.HasXrtNrKrir\rZr�r�

r�r\r�c��eZdZy)�CProtocolTests.test_protocols_isinstance_monkeypatching.<locals>.FooNrzrir\rZrr�
r�r\rr�)r)r&r�rtr�)rUr�rrds    rZ�(test_protocols_isinstance_monkeypatchingz6ProtocolTests.test_protocols_isinstance_monkeypatching
se��	�	�8�	�
�	�	���E��� � ��D�)�������a��&�
�C�� � ��D�)r\c��Gd�dtt�}Gd�d|t�}Gd�d�}Gd�d�}|t}|j|�|�|j	||�Gd	�d
|t�}Gd�d|t�}|t
}|j
|�|�|j||�y)
Nc��eZdZy)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.PNrzrir\rZr�r�
r�r\r�c��eZdZy)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.CNrzrir\rZrr�
r�r\rc��eZdZy)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other1Nrzrir\rZ�Other1r�
r�r\r�c��eZdZy)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other2Nrzrir\rZ�Other2r�
r�r\r�c��eZdZy)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D1Nrzrir\rZ�D1r�$
r�r\r�c��eZdZy)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D2Nrzrir\rZ�D2r�%
r�r\r�)r&rrr�r^r�r�r[)	rUr�rr�r��CAr�r��CIs	         rZ�$test_protocol_checks_after_subscriptz2ProtocolTests.test_protocol_checks_after_subscript
s���"����"���!�������
�s�V��� � ���1�-�� � ���+���3�����3���
�s�V�����b�d�A�&����b�!�$r\c��tGd�dt��}Gd�dt�}Gd�d|�}Gd�d�}|j|�|j|�|j|�|�|j|�|�y)	Nc��eZdZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.PrlNr,rir\rZr�r�,
r�r\r�c��eZdZd�Zy)�9ProtocolTests.test_protocols_support_register.<locals>.PMc��yr`rir�s rZr`z>ProtocolTests.test_protocols_support_register.<locals>.PM.meth1
r�r\Nrrrir\rZ�PMr�0
rsr\r�c��eZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.DNrzrir\rZrr�3
r�r\rc��eZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.CNrzrir\rZrr�5
r�r\r)r)r&r�r�)rUr�r�rrs     rZ�test_protocols_support_registerz-ProtocolTests.test_protocols_support_register+
sp��	�	��	�
�	�	!��	!�	����
�	�
�
�1�
�	�
�
�1�
����a�c�1�%����a�c�1�%r\c���tGd�dt��}Gd�d�}Gd�d|�}Gd�d�}|j|�|�|j|�|�y)	Nc��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.PrlNr,rir\rZr�r�=
r�r\r�c��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.ArlNr,rir\rZr�r�A
r�r\r�c��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.BNr,rir\rZr�r�D
����Ar\r�c��eZdZd�Zy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.Cc��d|_yr`ror�s rZrDzWProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.C.__init__H
�	����r\Nr�rir\rZrr�G
���
r\rr��rUr�r�r�rs     rZ�5test_none_on_non_callable_doesnt_block_implementationzCProtocolTests.test_none_on_non_callable_doesnt_block_implementation<
sa��	�	��	�
�	�	�	�	��	�	�	�	
���a�c�1�%����a�c�1�%r\c���tGd�dt��}Gd�d�}Gd�d|�}Gd�d�}|j|�|�|j|�|�y)	Nc��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Pc��yr`rir�s rZrtzFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.P.xQ
r�r\Nr,rir\rZr�r�O
r-r\r�c��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Ac��yr`rir�s rZrtzFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.A.xT
r�r\Nr,rir\rZr�r�S
r5r\r�c��eZdZdZy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.BNr,rir\rZr�r�V
r�r\r�c��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Cc��d|_yr`ror�s rZrDzMProtocolTests.test_none_on_callable_blocks_implementation.<locals>.C.__init__Z
r�r\Nr�rir\rZrr�Y
r�r\r)r)r&r�r�s     rZ�+test_none_on_callable_blocks_implementationz9ProtocolTests.test_none_on_callable_blocks_implementationN
sa��	�	��	�
�	�	�	�	��	�	�	�	
� � ���a�(�� � ���a�(r\c���Gd�dt�}tGd�dt��}Gd�d|�}Gd�d|�}Gd	�d
tj��}Gd�d
tj��}|j	|�|�|j	|�|�|j||�|j||�|j
|�|�|j||�|jdt|��|jdt|��|jdt|��|jdt|��hd�}|jt|�j�t|�j�|z�|jt|�j�t|�j�|z�y)Nc��eZdZdZy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.PrlNr,rir\rZr�r�a
r�r\r�c��eZdZd�Zy)�6ProtocolTests.test_non_protocol_subclasses.<locals>.PRc��yr`rir�s rZr`z;ProtocolTests.test_non_protocol_subclasses.<locals>.PR.methf
r�r\Nrrrir\rZ�PRr�d
��� r\r�c��eZdZdZy)�8ProtocolTests.test_non_protocol_subclasses.<locals>.NonPrlNr,rir\rZ�NonPr�h
r�r\r�c��eZdZy)�9ProtocolTests.test_non_protocol_subclasses.<locals>.NonPRNrzrir\rZ�NonPRr�k
r�r\r�c��eZdZdZy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.CrlNr,rir\rZrr�m
r�r\r��	metaclassc��eZdZd�Zy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.Dc��yr`rir�s rZr`z:ProtocolTests.test_non_protocol_subclasses.<locals>.D.methq
r�r\Nrrrir\rZrr�p
rsr\r�__protocol_attrs__�__non_callable_proto_members__>rD�_is_protocolror��__subclasshook__�_is_runtime_protocol)r&r)r��ABCMetar�r^r�r[�assertNotIn�vars�assertLessEqual�keys)rUr�r�r�r�rr�acceptable_extra_attrss        rZ�test_non_protocol_subclassesz*ProtocolTests.test_non_protocol_subclasses`
s���	��	�
�	!��	!�
�	!�	�1�	�	�B��	�#�+�+�	�	!�#�+�+�	!�	
� � ���d�+�� � ���e�,�� � ��D�)�� � ��E�*����e�g�r�*����e�R�(����-�t�D�z�:����-�t�E�{�;����9�4��:�F����9�4��;�G�"
��	
���T�$�Z�_�_�.��Q�����AW�0W�X������K�����Q�����1G� G�	
r\c��Gd�dt�}Gd�d�}Gd�d�}Gd�d|�}|j|�|�|j|�|�|j||�|j	||�y)	Nc��eZdZdZy)�1ProtocolTests.test_custom_subclasshook.<locals>.PrlNr,rir\rZr�r�
r�r\r�c��eZdZy)�7ProtocolTests.test_custom_subclasshook.<locals>.OKClassNrzrir\rZ�OKClassr
�
r�r\rc��eZdZdZy)�8ProtocolTests.test_custom_subclasshook.<locals>.BadClassrlNr,rir\rZ�BadClassr
�
r�r\rc��eZdZed��Zy)�1ProtocolTests.test_custom_subclasshook.<locals>.Cc�8�|jjd�S�N�OK)rfr��rV�others  rZr�zBProtocolTests.test_custom_subclasshook.<locals>.C.__subclasshook__�
s���~�~�0�0��6�6r\N�rfrgrh�classmethodr�rir\rZrr�
s��
�
7��
7r\r)r&r�r�r[r^)rUr�rrrs     rZ�test_custom_subclasshookz&ProtocolTests.test_custom_subclasshook�
sr��	��	�	��	�	�	7��	7�
	
���g�i��+�� � ���Q�/����g�q�)�� � ��1�-r\c��tGd�dt��}Gd�d�}Gd�d�}|j|�|�|j|�|�|j	||�|j||�Gd�dt�}d	}|j
t|�5tt|�ddd�|j
t|�5tt�|�ddd�y#1swY�=xYw#1swYyxYw)
Nc� �eZdZdZed��Zy)�6ProtocolTests.test_custom_subclasshook_2.<locals>.HasXrlc��t|d�SrM��hasattrrs  rZr�zGProtocolTests.test_custom_subclasshook_2.<locals>.HasX.__subclasshook__�
����u�c�*�*r\N)rfrgrhrtrr�rir\rZr�r�
s��
�A�
�
+��
+r\r�c��eZdZy)�7ProtocolTests.test_custom_subclasshook_2.<locals>.EmptyNrzrir\rZr�r!�
r�r\r�c��eZdZdZy)�@ProtocolTests.test_custom_subclasshook_2.<locals>.ImplementsHasXrlNr,rir\rZ�ImplementsHasXr#�
r�r\r$c��eZdZed��Zy)�EProtocolTests.test_custom_subclasshook_2.<locals>.NotRuntimeCheckablec��t|d�SrMrrs  rZr�zVProtocolTests.test_custom_subclasshook_2.<locals>.NotRuntimeCheckable.__subclasshook__�
rr\Nrrir\rZ�NotRuntimeCheckabler&�
s��
�
+��
+r\r(r>)r)r&r�r�r[r^r�r�rRrGr�)rUr�r�r$r(�must_be_runtime_checkables      rZ�test_custom_subclasshook_2z(ProtocolTests.test_custom_subclasshook_2�
s���	�	+�8�	+�
�	+�	��	�	�	
���n�.��5�� � ���$�/����n�d�3�� � ���-�
	+�(�	+�
0�	"�
�
#�
#�I�/H�
I�	4��v�2�3�	4�
�
#�
#�I�/H�
I�	6��v�x�!4�5�	6�	6�	4�	4��	6�	6�s�&C3�C?�3C<�?Dc��tGd�dt��}Gd�d�}|jtd�5t	|�|�ddd�y#1swYyxYw)Nc��eZdZdZy)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.PrlNr,rir\rZr�r-�
r�r\r�c��eZdZy)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.CNrzrir\rZrr/�
r�r\rr?)r)r&r�r�rR�rUr�rs   rZ�test_issubclass_fails_correctlyz-ProtocolTests.test_issubclass_fails_correctly�
sT��	�	��	�
�	�	�
�
�
#�
#�I�/V�
W�	��q�s�A��	�	�	�s�A�Ac���td�}td�}tGd�dt||f��}Gd�d|t|ft|�}|j	t
�5|tddd�|j	t
�5|ttfddd�Gd�d|t|f�}|j|t�|�y#1swY�ixYw#1swY�HxYw)	Nr�Sc��eZdZd�Zy)�9ProtocolTests.test_defining_generic_protocols.<locals>.PRc��yr`rir�s rZr`z>ProtocolTests.test_defining_generic_protocols.<locals>.PR.meth�
r�r\Nrrrir\rZr�r5�
r�r\r�c��eZdZdZy)�8ProtocolTests.test_defining_generic_protocols.<locals>.PrlN�rfrgrhr�rir\rZr�r8�
r�r\r�c��eZdZy)�8ProtocolTests.test_defining_generic_protocols.<locals>.CNrzrir\rZrr;�
r�r\r)rr)r&r�r�r�r�r�)rUrr3r�r�rs      rZ�test_defining_generic_protocolsz-ProtocolTests.test_defining_generic_protocols�
s����C�L���C�L��	�	!��!�Q�$��	!�
�	!�	��3��6�
�H�Q�K�	��
�
�y�
)�	��s�G�	�
�
�
�y�
)�	�
�c�3�h�K�	�	"��3��6�
�!����f�a��f�h��*�	�	��	�	�s�%
C�C#�C �#C,c	���td��td�}tGd�dtt�|f��}Gd�d|tt
ft�}|j
t�5t|tt
f|�ddd�|j||�|j
t�5|tddd�G�fd�dtt��}G�fd	�d
t�t�}tGd�d|t
t��}Gd
�d�}|j|�|�y#1swY��xYw#1swY��xYw)Nrr3c��eZdZd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.PRc��yr`rir�s rZr`zHProtocolTests.test_defining_generic_protocols_old_style.<locals>.PR.meth�
r�r\Nrrrir\rZr�r?�
r�r\r�c��eZdZdZy)�BProtocolTests.test_defining_generic_protocols_old_style.<locals>.PrlNr9rir\rZr�rB�
r�r\r�c� ��eZdZdW�defd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1rtr�c��yr`rir�s  rZrzGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1.bar�
r�r\N�rfrgrhr�rr#s�rZrrD�
����+�Q�+�3�+r\rc� ��eZdZdW�defd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2rtr�c��yr`rir�s  rZrzGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2.bar�
r�r\NrFr#s�rZr�rI�
rGr\r�c��eZdZdZy)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.PSubrlNr,rir\rZ�PSubrL�
r�r\rMc� �eZdZdZdedefd�Zy)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.Testrlrtr�c��|Sr`rir�s  rZrzIProtocolTests.test_defining_generic_protocols_old_style.<locals>.Test.bar�
s���r\N)rfrgrhrtr�rrir\rZ�TestrO�
s���A�
�S�
�S�
r\rQ)rr)r&r"r�r�r�r�rRr[r�)	rUr3r�r�rr�rMrQrs	        @rZ�)test_defining_generic_protocols_old_stylez7ProtocolTests.test_defining_generic_protocols_old_style�
s"����C�L���C�L��	�	!��7�1�a�4�=�	!�
�	!�	��3��8��h�	��
�
�y�
)�	)��r�#�s�(�|�R�(�	)����a��$�
�
�
�y�
)�	��s�G�	�	,��7�1�:�	,�	,����X�	,�
�	�2�c�7�H�	�
�	�	�	�	
���d�f�d�+�-	)�	)��	�	�s�,D;�5
E�;E�Ec��td���}d��}|j|�|�|j||�td���}|jd|�|jt|�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�HProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Foortr�Nc��yr`rir�s  rZr`zMProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Foo.methr�r\r�r�s��rZrrVs���-�a�-�D�-r\rr�r�s @@rZz<generic parameters of Foo>z`ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of Foo>s����	.�	.�X�	.r\c�4���d�x�f�G��fd�d��
}|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�HProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Barrtr�Nc��yr`rir�s  rZr`zMProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Bar.meth
r�r\r�r�s��rZrrZ	s���-�a�-�D�-r\rrir�s @@rZz<generic parameters of Bar>z`ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of Bar>	s���!�	.�	.�	.r\c�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZdW�fd�Zy)�RProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.SupportsTruncr�c��yr`rir�s rZ�	__trunc__z\ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.SupportsTrunc.__trunc__r�r\N)rfrgrhr�r`r�s��rZ�
SupportsTruncr^s���)�1�)r\rar�r�s @@rZz%<generic parameters of SupportsTrunc>zjProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of SupportsTrunc>s����	*�	*�x�	*r\g)r)r�r[rR)rUrrras    rZ�-test_pep695_generic_protocol_callable_membersz;ProtocolTests.test_pep695_generic_protocol_callable_memberssq��	�	.�
�	.�	.�	
���c�e�S�)����c�3�'�	�	*�
�	*�	
���c�=�1����e�]�3r\c��td�}Gd�dt|�}Gd�d||�}|j|t�jd�Gd�d�}Gd	�d
|||�}|j|t�jd�Gd�d|||�}|j|t�jd�y)
Nrc��eZdZy)�)ProtocolTests.test_init_called.<locals>.PNrzrir\rZr�rer�r\r�c��eZdZd�Zy)�)ProtocolTests.test_init_called.<locals>.Cc��d|_yr��testr�s rZrDz2ProtocolTests.test_init_called.<locals>.C.__init__r�r\Nr�rir\rZrrg���
!r\rrc��eZdZd�Zy)�)ProtocolTests.test_init_called.<locals>.Bc��d|_yrrir�s rZrDz2ProtocolTests.test_init_called.<locals>.B.__init__"r�r\Nr�rir\rZr�rm!rkr\r�c��eZdZy)�*ProtocolTests.test_init_called.<locals>.D1Nrzrir\rZr�rp%r�r\r�c��eZdZy)�*ProtocolTests.test_init_called.<locals>.D2Nrzrir\rZr�rr*r�r\r�)rr&r�r�rj)rUrr�rr�r�r�s       rZ�test_init_calledzProtocolTests.test_init_calleds����C�L��"����"�	!��!��	!�	
�����3������-�	!�	!�	��A�a�D�	�	
�����C������.�	��1��q�	�	
�����C������.r\c��td�}Gd�dt|�}Gd�d||�}|j|t�jd�|jt�5|td�ddd�|jt�5|td��ddd�y#1swY�8xYw#1swYyxYw)	Nrc��eZdZy)�(ProtocolTests.test_new_called.<locals>.PNrzrir\rZr�rv2r�r\r�c���eZdZ�fd�Z�xZS)�(ProtocolTests.test_new_called.<locals>.Cc�6��t�|�|g|���}d|_|Sr)�super�__new__rj)rVr�rUr�s   �rZr{z0ProtocolTests.test_new_called.<locals>.C.__new__5s"����w��s�2�T�2�� ��	��r\�rfrgrhr{�
__classcell__�r�s@rZrrx4s
���
�
r\rrr�r�)rr&r�r�rjr�r�)rUrr�rs    rZ�test_new_calledzProtocolTests.test_new_called/s����C�L��"����"�	��!��	�	
�����3������-�
�
�
�y�
)�	��A�c�F�2�J�	�
�
�
�y�
)�	��A�c�F�R�L�	�	�	�	��	�	�s�)B0�B<�0B9�<Cc�T�td�}td�}|jt�5Gd�dt||f�}ddd�|jt�5Gd�dtt�}ddd�|jt�5Gd�dt|t|�}ddd�|jt�5Gd	�dt
j||ft|�}ddd�y#1swY��xYw#1swY��xYw#1swY�fxYw#1swYyxYw)
Nrr3c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.PNrzrir\rZr�r�Dr�r\r�c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.QNrzrir\rZr�r�Fr�r\r�c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.RNrzrir\rZr�r�Hr�r\r�c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.SNrzrir\rZr3r�Jr�r\)rr�r�r&r�rare)rUrr3r�r�r�s      rZ�test_protocols_bad_subscriptsz+ProtocolTests.test_protocols_bad_subscripts@s����C�L���C�L��
�
�
�y�
)�	*�)�H�Q��T�N�)�	*�
�
�
�y�
)�	)�(�H�S�M�(�	)�
�
�
�y�
)�	4�3�H�Q�K��!��3�	4�
�
�
�y�
)�	=�<�F�N�N�1�a�4�(�(�1�+�<�	=�	=�
	*�	*��	)�	)��	4�	4��	=�	=�s/�C:�D�D�
'D�:D�D�D�D'c� �td�}td�}Gd�dt||f�}|jt|||f�j	d��|jt|t
tf�j	d��y)Nrr3c��eZdZy)�4ProtocolTests.test_generic_protocols_repr.<locals>.PNrzrir\rZr�r�Pr�r\r�z	P[~T, ~S]zP[int, str])rr&r�r�rIr�r��rUrr3r�s    rZ�test_generic_protocols_reprz)ProtocolTests.test_generic_protocols_reprLsk���C�L���C�L��%���A���%�����Q�q�!�t�W�
�.�.�{�;�<�����Q�s�C�x�[�)�2�2�=�A�Br\c�r�td�}td�}Gd�dt||f�}|j||�|j|t|f|t|f�|j|||ft||ftt
f|ttt
fttt
ff�y)Nrr3c��eZdZy)�2ProtocolTests.test_generic_protocols_eq.<locals>.PNrzrir\rZr�r�Yr�r\r�)rr&r�r�rr�r�s    rZ�test_generic_protocols_eqz'ProtocolTests.test_generic_protocols_eqUs����C�L���C�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�T�td�}Gd�dt|�}|j|j|f�|j|tjd�|j|tj
tf�|j
|tj|�y)Nrc��eZdZy)�DProtocolTests.test_generic_protocols_special_from_generic.<locals>.PNrzrir\rZr�r�cr�r\r�ri)rr&r�ror�rnr�rp)rUrr�s   rZ�+test_generic_protocols_special_from_genericz9ProtocolTests.test_generic_protocols_special_from_generic`s{���C�L��"����"�����)�)�A�4�0�����3��.�.��3�����3����3�&�1��
�
�a��f�'�'��+r\c���tGd�dt��}Gd�dt�}td�}Gd�dt|�}|j|j�|j|j�|j|j�|j|j�|j|j�|j|tj�|jtj|�dh�|jtj|�d	h�|jttj|��td	dh��y)
Nc��eZdZdZy)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PRrlNr,rir\rZr�r�kr�r\r�c��eZdZd�Zy)�EProtocolTests.test_generic_protocols_special_from_protocol.<locals>.Pc��yr`rir�s rZr`zJProtocolTests.test_generic_protocols_special_from_protocol.<locals>.P.methprqr\Nrrrir\rZr�r�oryr\r�rc��eZdZdZd�Zy)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PGrlc��yr`rir�s rZr`zKProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PG.methxrqr\N)rfrgrhrtr`rir\rZr�r�us���A�
r\r�r`rt)r)r&rr�r�r�r�r�r�ra�_get_protocol_attrs�	frozenset)rUr�r�rr�s     rZ�,test_generic_protocols_special_from_protocolz:ProtocolTests.test_generic_protocols_special_from_protocoljs��	�	��	�
�	�	��	�
�C�L��	��!��	�	
������'�������(�������(�����/�/�0�����/�/�0�����3��,�,�-�����3�3�A�6���A�����3�3�B�7�#��?�����6�#=�#=�b�#A�B�"�C��=�1�	3r\c��|jt�5tGd�d��}ddd�Gd�dt�}|jt�5tGd�d|��}ddd�y#1swY�KxYw#1swYyxYw)Nc��eZdZy)�8ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.CNrzrir\rZrr��s��r\rc��eZdZdZy)�<ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ProtorlNr,rir\rZr\r��r�r\r\c��eZdZy)�?ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ConcreteNrzrir\rZrbr��s��r\rb)r�r�r)r&)rUrr\rbs    rZ�test_no_runtime_deco_on_nominalz-ProtocolTests.test_no_runtime_deco_on_nominal�s���
�
�
�y�
)�	�
��M���	�	�H�	��
�
�y�
)�	�
�
�5�
��
�	�	�	�	��	�	�s�A4�B�4A=�B	c��tGd�dt��}Gd�dt�}|j|�|�Gd�d�}Gd�d�}|j	|�|�|j	|�|�Gd	�d
�}Gd�d�}|j	|�|�|j	|�|�y)
Nc��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.PNr,rir\rZr�r��s���Ar\r�c��eZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.BNrzrir\rZr�r��r�r\r�c��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.CrlNr,rir\rZrr��r�r\rc��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.DNr,rir\rZrr��r�r\rc��eZdZd�Zy)�5ProtocolTests.test_none_treated_correctly.<locals>.CIc��d|_yr$ror�s rZrDz>ProtocolTests.test_none_treated_correctly.<locals>.CI.__init__�r�r\Nr�rir\rZr�r��r�r\r�c��eZdZd�Zy)�5ProtocolTests.test_none_treated_correctly.<locals>.DIc��d|_yr`ror�s rZrDz>ProtocolTests.test_none_treated_correctly.<locals>.DI.__init__�r�r\Nr�rir\rZ�DIr��r�r\r�)r)r&rGr�r�)rUr�r�rrr�r�s       rZ�test_none_treated_correctlyz)ProtocolTests.test_none_treated_correctly�s���	�	��	�
�	�	���� � ���a�(�	�	�	�	�	
���a�c�1�%����a�c�1�%�	�	�	�	�	
���b�d�A�&����b�d�A�&r\c���Gd�dt�}tjtj|f}tj|tjf}|j	||�y)Nc��eZdZdZy)�1ProtocolTests.test_protocols_in_unions.<locals>.PNr,rir\rZr�r��r�r\r�)r&rarrbr�)rUr��Alias�Alias2s    rZ�test_protocols_in_unionsz&ProtocolTests.test_protocols_in_unions�sN��	��	����V�_�_�a�/�0�����a����0�1�������'r\c���td�}tGd�dt|��aGd�dtt�at�}d|_d|_ttjdz�D]�}tj||�}tj|�}|j|jd�|j|jd�|j|jd�|j|jddd	��tjt|�}tj|�}Gd
�d�}|j!|�|���y)Nrc��eZdZdZy)r�rlNr,rir\rZr�r��r�r\r�c��eZdZy)�CPNrzrir\rZr�r��r�r\r�r�r�rlrc��eZdZdZy)�2ProtocolTests.test_protocols_pickleable.<locals>.ErlNr,rir\rZrpr��s���r\rp)rr)r&r�r�r�rDrrprqrrr1r0r�rt�__dict__r�)	rUrr�ror�rtr�rrps	         rZ�test_protocols_pickleablez'ProtocolTests.test_protocols_pickleable�s���C�L��	�	����	�
�	�	��3��	�
�D���������6�2�2�Q�6�7�
	*�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�S�S�!�$����Q�Z�Z��E�)B�C����Q��&�A����Q��A�
�
�
�!�!�!�#�q�)�
	*r\c��|jttj�|j	t
tj�yr`)r[r�ra�SupportsIntr^r�r�s rZ�test_supports_intzProtocolTests.test_supports_int�s.�����c�6�#5�#5�6�� � ��f�&8�&8�9r\c��|jttj�|j	t
tj�yr`)r[rRra�
SupportsFloatr^r�r�s rZ�test_supports_floatz!ProtocolTests.test_supports_float�s.�����e�V�%9�%9�:�� � ��f�&:�&:�;r\c���Gd�d�}|jttj�|j|tj�|j	t
tj�y)Nc��eZdZd�Zy)�.ProtocolTests.test_supports_complex.<locals>.Cc��y)Nyrir�s rZ�__complex__z:ProtocolTests.test_supports_complex.<locals>.C.__complex__�r�r\N)rfrgrhr�rir\rZrr��s��
r\r)r[�complexra�SupportsComplexr^r��rUrs  rZ�test_supports_complexz#ProtocolTests.test_supports_complex�sP��	�	�	
���g�v�'=�'=�>����a��!7�!7�8�� � ��f�&<�&<�=r\c���Gd�d�}|jttj�|j|tj�|j	t
tj�y)Nc��eZdZd�Zy)�,ProtocolTests.test_supports_bytes.<locals>.Bc��y�Nr\rir�s rZ�	__bytes__z6ProtocolTests.test_supports_bytes.<locals>.B.__bytes__�s��r\N)rfrgrhr�rir\rZr�r��r�r\r�)r[rxra�
SupportsBytesr^r�)rUr�s  rZ�test_supports_bytesz!ProtocolTests.test_supports_bytes�sP��	�	�	
���e�V�%9�%9�:����a��!5�!5�6�� � ��f�&:�&:�;r\c���|jttj�|jttj�|jttj�yr`)r[rRra�SupportsAbsr�r^r�r�s rZ�test_supports_abszProtocolTests.test_supports_abs�sD�����e�V�%7�%7�8����c�6�#5�#5�6�� � ��f�&8�&8�9r\c��tttj�|j	ttj�|j	t
tj�|j
ttj�yr`)rRrRra�
SupportsRoundr[r�r^r�r�s rZ�test_supports_roundz!ProtocolTests.test_supports_round�sT���5�&�.�.�/����e�V�%9�%9�:����c�6�#7�#7�8�� � ��f�&:�&:�;r\c��|jttj�|j	t
tj�yr`)r[r�ra�
Reversibler^r�r�s rZ�test_reversiblezProtocolTests.test_reversible�s.�����d�F�$5�$5�6�� � ��f�&7�&7�8r\c��|jttj�|j	t
tj�yr`)r[r�ra�
SupportsIndexr^r�r�s rZ�test_supports_indexz!ProtocolTests.test_supports_indexs.�����c�6�#7�#7�8�� � ��f�&:�&:�;r\c��|jdtj�Gd�dtj�}Gd�d|�}|�}|j||�y)Nrc��eZdZdefd�Zy)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C1r�c��yr�rir�s rZ�__int__zFProtocolTests.test_bundled_protocol_instance_works.<locals>.C1.__int__r�r\N)rfrgrhr�r�rir\rZr�r�s��
��
r\r�c��eZdZy)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C2Nrzrir\rZr�r�	r�r\r�)r�rar�r�)rUr�r�r�s    rZ�$test_bundled_protocol_instance_worksz2ProtocolTests.test_bundled_protocol_instance_workssM�����a��!3�!3�4�	��#�#�	�	��	��D�����a��$r\c��tGd�dtjjt��}Gd�d�}Gd�d�}|j||�|j
||�tGd�dtjjt��}Gd	�d
�}Gd�d�}|j||�|j|�|�|j
||�|j|�|�y)
Nc��eZdZd�Zy)�@ProtocolTests.test_collections_protocols_allowed.<locals>.Customc��yr`rir�s rZ�closezFProtocolTests.test_collections_protocols_allowed.<locals>.Custom.closer�r\N)rfrgrhr�rir\rZ�Customr�r�r\r�c��eZdZy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.ANrzrir\rZr�r�r�r\r�c��eZdZd�Zd�Zy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.Bc��gSr`rir�s rZ�__iter__zDProtocolTests.test_collections_protocols_allowed.<locals>.B.__iter__rHr\c��yr:rir�s rZr�zAProtocolTests.test_collections_protocols_allowed.<locals>.B.closer�r\N)rfrgrhrr�rir\rZr�r�s��
�
r\r�c��eZdZdeddfd�Zy)�JProtocolTests.test_collections_protocols_allowed.<locals>.ReleasableBuffer�mvr�Nc��yr`ri�rUrs  rZ�__release_buffer__z]ProtocolTests.test_collections_protocols_allowed.<locals>.ReleasableBuffer.__release_buffer__r�r\)rfrgrh�
memoryviewrrir\rZ�ReleasableBufferrs��E�Z�E�D�Er\r	c��eZdZy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.CNrzrir\rZrr!r�r\rc�,�eZdZdedefd�Zdeddfd�Zy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.D�flagsr�c��td�Sr�)r)rUrs  rZ�
__buffer__zFProtocolTests.test_collections_protocols_allowed.<locals>.D.__buffer__#s��!�#��&r\rNc��yr`rirs  rZrzNProtocolTests.test_collections_protocols_allowed.<locals>.D.__release_buffer__%rqr\)rfrgrhr�rrrrir\rZrr
"s(��
'��
'�
�
'�
�Z�
�D�
r\r)
r)r�r�rbr&r[r^�Bufferr�r�)rUr�r�r�r	rrs       rZ�"test_collections_protocols_allowedz0ProtocolTests.test_collections_protocols_alloweds���	�	!�[�_�_�-�-�x�	!�
�	!�	�
�	�	�	
���a��(�� � ��F�+�	�	F�{���5�5�x�	F�
�	F�	�
�	�	�	
���a�!1�2����a�c�#3�4�� � ��$4�5�� � ���&6�7r\c��|jt�5Gd�dtt�}ddd�Gd�dtj
t�}y#1swY�(xYw)Nc��eZdZy)�EProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomProtocolNrzrir\rZ�CustomProtocolr/r�r\rc��eZdZy)�KProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomContextManagerNrzrir\rZ�CustomContextManagerr2r�r\r)r�r�rr&ra�ContextManager)rUrrs   rZ�test_builtin_protocol_allowlistz-ProtocolTests.test_builtin_protocol_allowlist-sG��
�
�
�y�
)�	�
��8�
�	�	�6�#8�#8�(�	�		�	�s�A�Ac��Gd�dt�}|jtd�5td|�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�CProtocolTests.test_non_runtime_protocol_isinstance_check.<locals>.PrtNrKrir\rZr�r6����Fr\r�z@runtime_checkablerl)r&r�r�r��rUr�s  rZ�*test_non_runtime_protocol_isinstance_checkz8ProtocolTests.test_non_runtime_protocol_isinstance_check5s@��	��	��
#�
#�I�/C�
D�	��q�!��	�	�	�s	�
<�Ac�F�Gd�dt�}Gd�d|�}|�y)Nc��eZdZUeed<y)�-ProtocolTests.test_super_call_init.<locals>.PrtNrKrir\rZr�r%=r r\r�c���eZdZ�fd�Z�xZS)�/ProtocolTests.test_super_call_init.<locals>.Fooc�"��t�|��yr`)rzrD)rUr�s �rZrDz8ProtocolTests.test_super_call_init.<locals>.Foo.__init__As����� �"r\�rfrgrhrDr}r~s@rZrr'@s
���
#�
#r\rr�)rUr�rs   rZ�test_super_call_initz"ProtocolTests.test_super_call_init<s!��	��	�	#�!�	#�	�r\c��tjjj�Gd�dtjjt�}|jdtjj�y)Nc��eZdZy)�_ProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta.<locals>.FooNrzrir\rZrr-Jr�r\rrl)r�r��Sized�_abc_registry_clearr&r�r�s  rZ�Dtest_interaction_with_isinstance_checks_on_superclasses_with_ABCMetazRProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMetaFsH�������1�1�3�8�+�/�/�'�'��8�
	
� � ��K�O�O�$9�$9�:r\c���tjjj�Gd�dtjt
�}|j
dtj�y)Nc��eZdZy)�aProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2.<locals>.FooNrzrir\rZrr3Ur�r\rrl)r�r�r.r/rar&r�r�s  rZ�Ftest_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2zTProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2Qs<�������1�1�3�/�&�,�,��/�
	
� � ��F�L�L�1r\c��ttGd�dt���}|jt|�|jt	�|�y)Nc��eZdZy)�MProtocolTests.test_empty_protocol_decorated_with_final.<locals>.EmptyProtocolNrzrir\rZrfr7]s��'*r\rf)r%r)r&r[rGr�)rUrfs  rZ�(test_empty_protocol_decorated_with_finalz6ProtocolTests.test_empty_protocol_decorated_with_final\s?��	�	�*�H�*�
�
�*����f�m�4����f�h�
�6r\c���ttGd�dt���}|jt|�|jt|�|jd|�|jd|�y)Nc��eZdZdedefd�Zy)�]ProtocolTests.test_protocol_decorated_with_final_callable_members.<locals>.ProtocolWithMethodrKr�c��yr`ri)rUrKs  rZr�zhProtocolTests.test_protocol_decorated_with_final_callable_members.<locals>.ProtocolWithMethod.startswithhr�r\Nr�rir\rZ�ProtocolWithMethodr;es��
;��:��:r\r=rDr�)	r%r)r&r[r�r^r�r�r�)rUr=s  rZ�3test_protocol_decorated_with_final_callable_memberszAProtocolTests.test_protocol_decorated_with_final_callable_membersdsi��	�	�	;��	;�
�
�	;�	
���c�#5�6�� � ��&8�9����e�%7�8�� � ��%7�8r\c��ttGd�dt���}Gd�d�}d}|jt|�5t||�ddd�|jt|�5tt|�ddd�|j|�|�|jd|�y#1swY�bxYw#1swY�?xYw)Nc��eZdZUeed<y)�kProtocolTests.test_protocol_decorated_with_final_noncallable_members.<locals>.ProtocolWithNonCallableMemberrtNrKrir\rZ�ProtocolWithNonCallableMemberrAps	���Fr\rBc��eZdZdZy)�QProtocolTests.test_protocol_decorated_with_final_noncallable_members.<locals>.Foor�Nr,rir\rZrrDus���Ar\rr�r��	r%r)r&r�r�rRr�r�r�)rUrBr�only_callable_members_pleases    rZ�6test_protocol_decorated_with_final_noncallable_memberszDProtocolTests.test_protocol_decorated_with_final_noncallable_membersos���	�	�	�H�	�
�
�	�	�	�
L�	%��
#�
#�I�/K�
L�	;��s�9�:�	;��
#�
#�I�/K�
L�	;��s�9�:�	;�	
���c�e�%B�C�� � ��%B�C�	;�	;��	;�	;���
B2�/B>�2B;�>Cc��ttGd�dt���}Gd�d�}d}|jt|�5t||�ddd�|jt|�5tt|�ddd�|j|�|�|jd|�y#1swY�bxYw#1swY�?xYw)Nc� �eZdZUeed<dd�Zy)�`ProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.ProtocolWithMixedMembersrtNc��yr`rir�s rZr�zgProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.ProtocolWithMixedMembers.method�r�r\r�)rfrgrhr�r�r�rir\rZ�ProtocolWithMixedMembersrK�s���F�)r\rMc��eZdZdZdd�Zy)�KProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foor�Nc��yr`rir�s rZr�zRProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foo.method�r�r\r�)rfrgrhrtr�rir\rZrrO�s
���A�)r\rr�r�rE)rUrMrrFs    rZ�0test_protocol_decorated_with_final_mixed_membersz>ProtocolTests.test_protocol_decorated_with_final_mixed_members�s���	�	�	*�x�	*�
�
�	*�	*�	*�

L�	%��
#�
#�I�/K�
L�	6��s�4�5�	6��
#�
#�I�/K�
L�	6��s�4�5�	6�	
���c�e�%=�>�� � ��%=�>�	6�	6��	6�	6�rHc�v��Gd�d��G�fd�dt�}|j|jdh�y)Nc��eZdZd�Zy)�aProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.classpropertyc��td��rYr[)rU�instancer�s   rZrziProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.classproperty.__get__�r]r\Nrrir\rZ�
classpropertyrT�r�r\rWc���eZdZW��Zy)�_ProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.CommentableN�rfrgrh�evil�rWs�rZ�CommentablerY�s
��� �?�Dr\r]r[)r&r�r�)rUr]rWs  @rZ�<test_nonruntime_protocol_interaction_with_evil_classpropertyzJProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty�s3���	)�	)�	#�(�	#�	
����7�7�&��Br\c�f���Gd�dt��G�fd�d��|jt�5}tG�fd�dt��}ddd�j
}|j
|jdd�|jt|j���y#1swY�ZxYw)	Nc��eZdZy)�\ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.CustomErrorNrzrir\rZ�CustomErrorra�r�r\rbc���eZdZ�fd�Zy)�^ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.classpropertyc�����r`ri)rUrVr�rbs   �rZrzfProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.classproperty.__get__�s	���!�!r\Nr)rbs�rZrWrd�s���
"r\rWc���eZdZW��Zy)�\ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.CommentableNrZr\s�rZr]rg�s
���$��r\r]rzEFailed to determine whether protocol member 'evil' is a method member)�	Exceptionr�r�r)r&r�r�r�r�r��	__cause__)rUr�r]�excrbrWs    @@rZ�9test_runtime_protocol_interaction_with_evil_classpropertyzGProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty�s����*�)�*�	"�	"��
�
�y�
)�	'�R�
�
'�h�
'��
'�	'�
�l�l������H�H�Q�K�S�	
�	
�
�
�d�3�=�=�)�;�7�	'�	'�s�B'�'B0N)Lrfrgrhr{r�r�r�r�r�r�r�r�r�r�rr'rCr~r�r�r�r�r�r�r�r�r@rPrxr�r�r�r�r�r�r�r�rrr*r1r<rRrbrsrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr"r*r0r4r8r>rGrQr^rkrir\rZrlrl�	s���'�,�
/�6�$0� 2�)�,�:!�
!�&�$%�@!$�F9!�vHX�T>�90�v!$�F#�,#�(#�0#�,<#�|R1�h<�">N�@
:�#2�J(�$*�%�"&�"&�$)�$&
�P.�&&6�P�+�(!,�F4�$/�2�"
=�C�	>�,�3�8�'�:(�*�::�<�>�<�:�
<�9�<�%�8�>���	;�	2�7�	9�D�,?�2C�8r\rlc�P�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6d5�Z7d6�Z8y7)8�GenericTestsc�t�tttf}|j|jd�|jt�5|tddd�|jt�5|ttfddd�tttf}|j|jtf�|t|jt�5|ttfddd�tttf}|jt�5t|t�ddd�|j|�t�td�}|jtt|tzj|f�y#1swY��;xYw#1swY��xYw#1swY��xYw#1swY��xYw)Nrir)r2r�rr�ror�r�r/r�rRr�rrr�rR)rUrirm�SM1rs     rZrzGenericTests.test_basics�sT���#�s�(�#������)�)�2�.�
�
�
�y�
)�	�
�c�F�	�
�
�
�y�
)�	�
�c�3�h�K�	��"�c�'�"������)�)�B�5�1�	�#��
�
�
�y�
)�	�
�c�3�h�K�	��C��H�%��
�
�
�y�
)�	+��s�M�*�	+����c�e�]�3��C�L������d�1�g��o�.�=�=��t�D�	�	��	�	��
	�	��	+�	+�s0�
F�,F�F"�F.�F�F�"F+�.F7c��td�}td�}|jt�5t||ddd�|jt�5t||ddd�|jt�5Gd�dt|t|�}ddd�|jt�5t	gt
t�ddd�|jt�5ttt
t�ddd�|jt�5Gd�dt�}ddd�|jt�5Gd�dt|t|�}ddd�|jt�5Gd	�d
t
|t|�}ddd�|jt�5tdddd�Gd�d
t|�}|jt�5|dddd�y#1swY���xYw#1swY���xYw#1swY���xYw#1swY��dxYw#1swY��8xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swYyxYw)Nrr3c��eZdZy)�+GenericTests.test_generic_errors.<locals>.CNrzrir\rZrrr�r�r\rc��eZdZy)�4GenericTests.test_generic_errors.<locals>.NewGenericNrzrir\rZ�
NewGenericrt�r�r\ruc��eZdZy)�3GenericTests.test_generic_errors.<locals>.MyGenericNrzrir\rZ�	MyGenericrw�r�r\rxc��eZdZy)�4GenericTests.test_generic_errors.<locals>.MyGeneric2Nrzrir\rZ�
MyGeneric2rz�r�r\r{ric��eZdZy)�+GenericTests.test_generic_errors.<locals>.DNrzrir\rZrr}�r�r\r)	rr�r�r"r�rr�rRr�)rUrr3rrurxr{rs        rZ�test_generic_errorsz GenericTests.test_generic_errors�s���C�L���C�L��
�
�
�y�
)�	��A�J�q�M�	�
�
�
�y�
)�	��A�J�q�M�	�
�
�
�y�
)�	1�0�G�A�J���
�0�	1�
�
�
�y�
)�	&��r�4��9�%�	&�
�
�
�y�
)�	(��t�T�#�Y�'�	(�
�
�
�y�
)�	+�*�W�*�	+�
�
�
�y�
)�	9�8�G�A�J���
�8�	9�
�
�
�y�
)�	7�6�T�!�W�g�a�j�6�	7�
�
�
�y�
)�	��B�K�	�!���
�!�
�
�
�y�
)�	�
�b�E�	�	�'	�	��	�	��	1�	1��	&�	&��	(�	(��	+�	+��	9�	9��	7�	7��	�	��	�	�sw�
H�
H�H%�8H2�-H?�&I�I�I%�
I1�<I=�H�H"�%H/�2H<�?I	�I�I"�%I.�1I:�=Jc��td�}td�}|jt�5t||fddd�|jt�5t|||fddd�y#1swY�4xYw#1swYyxYw)Nrr3)rr�r�r")rUrr3s   rZ�	test_initzGenericTests.test_init�sx���C�L���C�L��
�
�
�y�
)�	��A�q�D�M�	�
�
�
�y�
)�	��A�q�!�G��	�	�	�	��	�	�s�A+�
A7�+A4�7Bc��Gd�dtjt�}Gd�d|�}|j|jd�|jt�5|jddd�d|_d|_Gd�d	|�}Gd
�d|t�}|j|jd�|j|jd�|j|jd�y#1swY��xYw)Nc���eZdZ�fd�Z�xZS)�*GenericTests.test_init_subclass.<locals>.Xc�2��t�|�di|��d|_y)Nr�ri)rz�__init_subclass__r])rVrBr�s  �rZr�z<GenericTests.test_init_subclass.<locals>.X.__init_subclass__�s�����)�3�F�3���r\�rfrgrhr�r}r~s@rZrir��s
���
�
r\ric��eZdZy)�*GenericTests.test_init_subclass.<locals>.YNrzrir\rZrmr��r�r\rmr�rlr�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.ZNrzrir\rZ�Zr�r�r\r�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.WNrzrir\rZr�r�r�r\r�)rar"rr�r]r�r�r�)rUrirmr�r�s     rZ�test_init_subclasszGenericTests.test_init_subclass�s���	����q�!�	�	��	��������$�
�
�
�~�
.�	�
�F�F�	�������	��	�	��#��	��������#��������$��������$�	�	�s�
C2�2C;c��|jtt�dt�d��|jtt�dt�d��y)Nr�z.SimpleMapping'>z.MySimpleMapping'>)r�r�r2rfr@r�s rZr�zGenericTests.test_repr
sH������m�,�#�H�:�-=�>�	@�����o�.�#�H�:�-?�@�	Br\c��td�}td�}Gd�dt|�}|t||f}|j||t||f�|j	||t||f�||t
f}|j|||t
f�|j	|||t
f�|j	|||tf�|t}|j||t�|j	||t
�|j	|||�|jt
|�jd��y)Nrr3c��eZdZy)�'GenericTests.test_chain_repr.<locals>.CNrzrir\rZrr�r�r\rz.C[typing.Tuple[str, int]])	rr"rr�r�r�r�r�rI)rUrr3rrirmr�s       rZ�test_chain_reprzGenericTests.test_chain_reprs'���C�L���C�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��td�}tdd��}td�}|jtt�d�|jtt|�d�|jtt|�d�|jtt||t�d	�|jttt�d	�y)
Nr�UTr[r3ztyping.Listztyping.List[~T]ztyping.List[+U]ztyping.List[int])rr�r�rr�)rUrr�r3s    rZ�
test_new_reprzGenericTests.test_new_repr(s����C�L���C�4�(���C�L������d��]�3�����d�1�g��(9�:�����d�1�g��(9�:�����d�1�g�a�j��o�.�0B�C�����d�3�i��*<�=r\c�p�td�}td�}|jttj||f||f�d�|jtt
t||ft|f�d�|jtt
t||ft
t�d�y)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�rarerrr�)rUrr�s   rZ�test_new_repr_complexz"GenericTests.test_new_repr_complex3s����C�L��
�T�]������f�n�n�Q��U�3�B��E�:�;�=V�W�����d�5��B��<�0��a��8�9�=�	?������e�A�q�D�k�"�4��9�-�.�K�	
r\c�,�td�}|jtt|�d�|jttj
|�d�Gd�dtjttf�}t|j�y)Nrztyping.Generic[~T]ztyping.Protocol[~T]c��eZdZy)�*GenericTests.test_new_repr_bare.<locals>.CNrzrir\rZrr�Cr�r\r)	rr�r�r"rar&rr�__mro__�rUrrs   rZ�test_new_repr_barezGenericTests.test_new_repr_bare?sd���C�L������g�a�j�)�+?�@�����f�o�o�a�0�1�3H�I�+����C��H�%�+��Q�Y�Y�r\c��td�}Gd�dt|�}|�}d|_|j|jddi�Gd�d|t
�}|�}d|_|j|jd	di�y)
Nrc��eZdZy)�!GenericTests.test_dict.<locals>.BNrzrir\rZr�r�Jr�r\r�r�rDc��eZdZy)�!GenericTests.test_dict.<locals>.CNrzrir\rZrr�Qr�r\rr�r)rr"rDr�r�r�r)rUrr�r�rr�s      rZ�	test_dictzGenericTests.test_dictGs{���C�L��	���
�	�
�C�����������e�R�[�1�	��#��	�
�C�����������e�U�^�4r\c��td�}Gd�dt|�}|j|tjd�|j||tjd�d||t_|j|jd�|j|t
jd�d|tt
_|j|jd�|j|ttjd�|j|�jd�|j|tt
�jd�Gd�d||�}|j|tjd�|j|jd�d	|_d
|t_|j|jd�|j|tjd�|j|jd
�|j|t
jd	�y)Nrc��eZdZdZy)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.C�defNr,rir\rZrr�Zs���Ar\rr��changed�newc��eZdZy)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.DNrzrir\rZrr�hr�r\rzfrom derived zzfrom derived x)	rr"r�r�rtr�rr�r�rUrrrs    rZ�$test_subscripted_generics_as_proxiesz1GenericTests.test_subscripted_generics_as_proxiesXs����C�L��	���
�	�����3����5�)�����1�S�6����e�,���!�C�&�	��������i�(�����3����9�-���$�s�)���������e�$�����5��:����%�0��������	�*������5��:���*�*�E�2�	��!��	�����3����9�-�������e�$����#��#���������i�(�����3����5�)�������.�/�����3����#3�4r\c�4�td�}Gd�dtjjt|�}|jt�|jd|�|t|jd|�|j�|j�y)Nrc��eZdZy)�.GenericTests.test_abc_registry_kept.<locals>.CNrzrir\rZrr�ur�r\rrl)
rr�r�rer"r�r�r�r/�_abc_caches_clearr�s   rZ�test_abc_registry_keptz#GenericTests.test_abc_registry_keptssm���C�L��9����'�'����9�	�
�
�3�����a��#�	�#�����a��#�	����	���r\c��Gd�dtttf�}|ji|�|jt|�y)Nc��eZdZy)�5GenericTests.test_false_subclasses.<locals>.MyMappingNrzrir\rZ�	MyMappingr�~r�r\r�)r r�r�r^r�)rUr�s  rZ�test_false_subclassesz"GenericTests.test_false_subclasses}s3��7��s�C�x�0�7�� � ��Y�/�� � ��y�1r\c�T�Gd�dtttf�}|�j�|j|�tj
j�|j|�t�|j
|�t�|j
i|�y)Nc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�'GenericTests.test_abc_bases.<locals>.MMc��yr`ri�rUr�s  rZr6z3GenericTests.test_abc_bases.<locals>.MM.__getitem__�r�r\c��yr`ri�rUr�rUs   rZr:z3GenericTests.test_abc_bases.<locals>.MM.__setitem__�rqr\c��yr`rir�s  rZ�__delitem__z3GenericTests.test_abc_bases.<locals>.MM.__delitem__�rqr\c��td�Srj��iterr�s rZrz0GenericTests.test_abc_bases.<locals>.MM.__iter__�����B�x�r\c��yr:rir�s rZ�__len__z/GenericTests.test_abc_bases.<locals>.MM.__len__�r�r\N�rfrgrhr6r:r�rr�rir\rZ�MMr�����
�
�
�
 �
r\r�)r r��updater�r�r�r�r)rUr�s  rZ�test_abc_baseszGenericTests.test_abc_bases�st��
	���S��)�
	�	����
����b�d�K�O�O�$B�$B�C����b�d�N�3�� � ���t�,�� � ��R�(r\c�L�Gd�dtttftjj�}Gd�dtjjtttf�}|j	|j
tjjtf�y)Nc��eZdZy)�-GenericTests.test_multiple_bases.<locals>.MM1Nrzrir\rZ�MM1r��r�r\r�c��eZdZy)�-GenericTests.test_multiple_bases.<locals>.MM2Nrzrir\rZ�MM2r��r�r\r�)r r�r�r�r��	__bases__r")rUr�r�s   rZ�test_multiple_basesz GenericTests.test_multiple_bases�sg��	�.��c��*�K�O�O�,J�,J�	�	�+�/�/�0�0�.��c��2J�	����������)G�)G��(Q�Rr\c���td�}Gd�dtjt|f�}|j	|j
tjt|ff�y)Nrc��eZdZy)�'GenericTests.test_orig_bases.<locals>.CNrzrir\rZrr��r�r\r)rrarr�r��__orig_bases__r�s   rZ�test_orig_baseszGenericTests.test_orig_bases�sF���C�L��)����C��F�#�)�����)�)�F�K�K��Q��,?�+A�Br\c��d�}|j|dditjttf��|j|dditjttf��|j
t�5|dditjttf�ddd�d�}Gd�dtt�}|j||t�|t��|j||t�|t��|j||t�t��|j
t�5|gd�|t�ddd�d�}Gd	�d
tt�}|j|gd�|��|j|ddg|��y#1swY��xYw#1swY�dxYw)
Nc����t|j�dkDrt�|jr2|j\��t	��fd�|j�D��Sy)Nrc3�X�K�|]!\}}t|��xrt|�����#y�wr`)r�)�.0r�rUrrs   ��rZ�	<genexpr>zSGenericTests.test_naive_runtime_checks.<locals>.naive_dict_check.<locals>.<genexpr>�s3��������1��q�"�%�;�*�Q��*;�;��s�'*)r�ror�rn�allr�)r�tprrs  @@rZ�naive_dict_checkz@GenericTests.test_naive_runtime_checks.<locals>.naive_dict_check�sU����2�$�$�%��)�)�)��{�{������B��� #�	�	�����r\rtrlc�D�t|d�st�|j|k(S)Nr�)rr�r��rr�s  rZ�naive_generic_checkzCGenericTests.test_naive_runtime_checks.<locals>.naive_generic_check�s$���3� 0�1�)�)��%�%��+�+r\c��eZdZy)�4GenericTests.test_naive_runtime_checks.<locals>.NodeNrzrir\rZ�Noder��r�r\r�r�c�,��t�fd�|D��S)Nc3�j�K�|]*}t|�jdjd����,y�w)rN)r�r�rn)r�rtr�s  �rZr�zXGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check.<locals>.<genexpr>�s6�����%��"�!�R�%6�%6�q�%9�%B�%B�1�%E�F�%�s�03)r�r�s `rZ�naive_list_base_checkzEGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check�s����%� #�%�%�
%r\c��eZdZy)�1GenericTests.test_naive_runtime_checks.<locals>.CNrzrir\rZrr��r�r\rr�r�)r�rarr�r�r�r�r�rr"r)rUr�r�r�r�rs      rZ�test_naive_runtime_checksz&GenericTests.test_naive_runtime_checks�sz��		�	
���(�#�q��6�;�;�s�C�x�3H�I�J����)�1�c�(�F�K�K��S��4I�J�K�
�
�
�2�
3�	<��a��X�v�{�{�3��6�':�;�	<�	,�
	$�7�1�:�#����+�I�D��I�K��c��C�D����,�Y�T�#�Y�[�$�s�)�D�E����,�Y�T�#�Y�[�$�?�@�
�
�
�2�
3�	6��	�4��9�5�	6�	%�	 ��S�	�����-�i��;�<����.��S�z�1�=�>�+	<�	<��	6�	6�s�'G�G�G�Gc��td�}td�}td�}Gd�dt|||�}Gd�d|t|||�}|j|j|f�|j|j|f�|j|tjd�|j|tjd�|j|tj
tf�|j|tj
tf�|j|jttf�|j|j|ttf�|j|jt|||f�|j|j|t|||f�y)	Nrr�r�c��eZdZy)�.GenericTests.test_multi_subscr_base.<locals>.CNrzrir\rZrr��r�r\rc��eZdZy)�.GenericTests.test_multi_subscr_base.<locals>.DNrzrir\rZrr��r�r\rri)
rrr�ror�rnr�r�r"r�)rUrr�r�rrs      rZ�test_multi_subscr_basez#GenericTests.test_multi_subscr_base�s^���C�L���C�L���C�L��#��Q���
�1�
�#�&��4��7�1�:�a�=�&�����)�)�A�4�0�����)�)�A�4�0�����3��.�.��3�����3��.�.��3�����3����3�&�1�����3����3�&�1�������t�W�o�6�������q�$��&8�9�����)�)�D��G�A�J�q�M�+;�<�����)�)�A�t�A�w�q�z�!�}�+=�>r\c�,�td�}Gd�dt�}|jt|t|�|jt|t
f|t|t
f�|jtd|fjt|f�y)Nrc��eZdZy)�.GenericTests.test_subscript_meta.<locals>.MetaNrzrir\rZ�Metar��r�r\r�.)	rr�r�r4rr�r!rn�Ellipsis)rUrr�s   rZ�test_subscript_metaz GenericTests.test_subscript_meta�su���C�L���4������d��T�$�Z�0�����q�#�v��t�,�e�D�#�I�.>�?�����#�t�)�,�5�5��$�7G�Hr\c�4�Gd�dtt�}Gd�dtt�}|j||�|jtjt
tjt
�|j|j|j�|jtjj|jt
tjj|jt
�|j||j�|j|tj�|j|tjj�|j|jtj�|j|jtjj�|j|t
|jt
�|j|tt|jtt�|j|t
tjt
�|j|t
tjjt
�|j|jttjt�|j|jtttjjtt�|jt|t
t|jt
�|jt|ttt|jtt�|jtt
|t
ftt
tjt
f�|jt|t
|t
ft|t
tjt
f�|jtj|t
tjtjjt
�|jt!t|t
�j#d��|jt!t|jt
�j#d��|jt!ttjt
�j#d��|jt!ttjjt
�j#d��y)	Nc��eZdZy)�+GenericTests.test_generic_hashes.<locals>.ANrzrir\rZr�r�����r\r�c�(�eZdZGd�dee�Zy)�+GenericTests.test_generic_hashes.<locals>.Bc��eZdZy)�-GenericTests.test_generic_hashes.<locals>.B.ANrzrir\rZr�r	����r\r�N)rfrgrhr"rr�rir\rZr�r	�s��
�G�A�J�
r\r�z<locals>.A[str]]z<locals>.B.A[str]]zmod_generics_cache.A[str]]zmod_generics_cache.B.A[str]])r"rr�rKr�r�r�r�rrr�rrra�	FrozenSetr�r�rIr�s   rZ�test_generic_hashesz GenericTests.test_generic_hashes�s���	���
�	�	���
�	�	
����A�����+�-�-�c�2�4F�4H�4H��4M�N�������a�c�c�"����+�-�-�/�/����C��9�+�-�-�/�/����C��9�	;�	
���A�q�s�s�#����A�1�3�3�4����A�1�3�3�5�5�6����A�C�C�!3�!5�!5�6����A�C�C�!3�!5�!5�!7�!7�8����A�c�F�A�C�C��H�-����A�d�3�i�L�!�#�#�d�3�i�.�9����A�c�F�$6�$8�$8��$=�>����A�c�F�$6�$8�$8�$:�$:�3�$?�@����A�C�C��H�&8�&:�&:�3�&?�@����A�C�C��S�	�N�,>�,@�,@�,B�,B�4��9�,M�N����E�!�C�&�M�5����S��?�;����E�!�D��I�,�/��q�s�s�4��9�~�1F�G����E�#�q��v�+�.��c�;M�;O�;O�PS�;T�6T�0U�V����E�!�C�&�!�C�&�.�1�!�!�C�&�*<�*>�*>�s�*C�"C�D�	F����F�,�,�Q�s�V�4�"�,�,�-?�-A�-A�-C�-C�C�-H�I�	K�	
����U�1�S�6�]�+�4�4�5G�H�I�����U�1�3�3�s�8�_�-�6�6�7K�L�M�����U�#5�#7�#7��#<�=�>�!��">�?�	A�����U�#5�#7�#7�#9�#9�#�#>�?�@�!��"@�A�	Cr\c���td�}td�}|jt||fttttf�|jtj
t||f|tj
t||f�|j
t�5t|tfdddd�|jt|tftt�|jt||fttttfftttf�Gd�d�}Gd�d|�}|jt||ft||ft||f�|jt|g|ftttgtf�|jtdt|fttdttf�y#1swY��2xYw)	Nrr�ric��eZdZy)�9GenericTests.test_extended_generic_rules_eq.<locals>.BaseNrzrir\rZ�Baser		r�r\r
	c��eZdZy)�<GenericTests.test_extended_generic_rules_eq.<locals>.DerivedNrzrir\rZ�Derivedr	r�r\r
	.)
rr�rr�rarbr�r�rr�r!rr)rUrr�r
	r
	s     rZ�test_extended_generic_rules_eqz+GenericTests.test_extended_generic_rules_eqs����C�L���C�L������q�!�t��S�)�5��c��?�;��������q�!�t��5�a�8�&�/�/�%�PQ�ST�PT�+�:V�W�
�
�
�y�
)�	��!�S�&�M�"��	�	
����q�#�v��s�+�S�1�����q�!�t��S�%��S��/�%9�:�E�#�s�(�O�L��� �d� �����q�$�w���d�G�m�(<�=�u�T�7�]�?S�T�����1�#�q�&�)�"�-�x���b��/A�B�����#�t�A�w�,�/��4�h�s�D��I�~�6N�O�	�	�s�(G+�+G5c� �td�}|jtttt
f�j
dd�d�|jtttttf�j
dd�d�|jtt
dt|ft�j
dd�d�|jtt
gt|ft�j
dd�d�y)	Nrztyping.�zUnion[Tuple, Callable]zUnion[Tuple, Tuple[int]].zCallable[..., Optional[int]]zCallable[[], List[int]])
rr�r�rrr!r�r�rrrNs  rZ� test_extended_generic_rules_reprz-GenericTests.test_extended_generic_rules_reprs����C�L������e�E�8�O�4�5�=�=�i��L�1�	3�����e�E�5��:�$5�6�7�?�?�	�2�N�3�	5�����h�s�H�Q�K�'7�8��=�>�F�F�y�RT�U�7�	9�����h�r�4��7�{�3�C�8�9�A�A�)�R�P�2�	4r\c�X�dttdfd�}dtttd�fd�}dttd�tzfd�}Gd�d�}|j	t|t
�t��dtt|i�|j	t|t
�t��dtt|i�|j	t|t
�t��dt|tztzi�td�}t|d	f}d|fd
�}|jt|t
�t��d|�td	t|f}d|fd�}	|jt|	t
�t��d|�y)Nrt�CCc��yr`riros rZ�foobarz5GenericTests.test_generic_forward_ref.<locals>.foobar#r�r\c��yr`riros rZ�foobar2z6GenericTests.test_generic_forward_ref.<locals>.foobar2$r�r\zCC | intc��yr`riros rZ�foobar3z6GenericTests.test_generic_forward_ref.<locals>.foobar3%r�r\c��eZdZy)�1GenericTests.test_generic_forward_ref.<locals>.CCNrzrir\rZr	r	&r�r\r.c��yr`riros rZ�barfooz5GenericTests.test_generic_forward_ref.<locals>.barfoo6r�r\c��yr`riros rZ�barfoo2z6GenericTests.test_generic_forward_ref.<locals>.barfoo29r�r\)rr�r@r�r�r*r�r�rrr�r!)
rUr	r	r	r	r�ATr	�CTr	s
          rZ�test_generic_forward_refz%GenericTests.test_generic_forward_ref"sS��,�d�4��:�&�,�9�t�D��D�!1�2�3�9�?�t�J�z�2�3�c�9�?��
�����6�7�9�f�h�7�
�$�t�B�x�.�!�	
�	
����7�G�I�v�x�8�
�$�t�B�x�.�!�	
�	
����7�G�I�v�x�8�
�$�r�C�x�.�3�&�'�	
�

�C�L��
�1�c�6�]���b���
�
�n�V�W�Y���A�#�F��K�
�c�4��7�l�
#���r���
�
�n�W�g�i���B�3�G��Lr\c
���Gd�d�}|jt|t�t��dt|i�Gd�d�}|jt|t�t��dt
|ttt|fi�i}ttjd�|�|d}|j|jdd�|jt|t�t��dtt|i�td	}d
|fd�}|jt|t�t��d
tttd	�i�y)Nc��eZdZUeded<y)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C1r�r�N�rfrgrhr�r�rir\rZr�r%	?s���D�z�Mr\r�r�c�4�eZdZUedeeedfed<y)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C2r�r�r�N)rfrgrhr�r�rr�rir\rZr�r(	Fs ���D�$�t�D��J�/�0�0�1�1r\r�zf
        from __future__ import annotations
        class C3:
            a: List[list["C2"]]
        r�zList[list['C2']]rirtc��yr`riros rZrdz7GenericTests.test_generic_pep585_forward_ref.<locals>.f]r�r\)r�r*r�r�r�r�rrQ�textwrap�dedentr�r@)rUr�r��scoper�rirds       rZ�test_generic_pep585_forward_refz,GenericTests.test_generic_pep585_forward_ref<s<��	�	�����2�w�y�&�(�3�
�$�r�(�O�	
�
	2�	2�����2�w�y�&�(�3�
�$�r�4��T�"�X��/�/�0�1�	
����X�_�_��
��		�
�4�[������+�+�C�0�2D�E�����2�w�y�&�(�3�
�$�t�B�x�.�!�	
�
��I���������1�g�i���2�
�$�t�J�s�O�,�-�.�	
r\c���Gd�dtttf�}Gd�dttdf�}Gd�dtjt�}|j|jttf�|j|ttfjttf�|j|ttfj|�|j|jtf�|jt|t�jd�d	d
�|j|jtf�|j|�tjj�|j!|tjj�|j|�t"�|j!|t"�|j%t&�5t)ttdftj*�ddd�|j%t&�5t)ttdftj,�ddd�y#1swY�OxYw#1swYyxYw)Nc��eZdZy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T1Nrzrir\rZr�r0	dr�r\r�c��eZdZy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T2Nrzrir\rZr�r2	er�r\r�.c��eZdZd�Zy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.C1c��y)NFri)rU�items  rZ�__contains__zMGenericTests.test_extended_generic_rules_subclassing.<locals>.C1.__contains__gs��r\N)rfrgrhr7	rir\rZr�r4	frOr\r��.���zC1[int])rrrra�	Containerr�ror�r�rnrpr��splitr�r�r�r[r�r�r�rR�Sequencerb)rUr�r�r�s    rZ�'test_extended_generic_rules_subclassingz4GenericTests.test_extended_generic_rules_subclassingcs���#��q�"�u��#�$��q�#�v��$�	��!�!�!�$�	�	
����*�*�Q��G�4�����C��H��.�.��c�
�;�����C��F��.�.��3�����*�*�Q�D�1�	
����b��g��,�,�S�1�"�5�y�A�����*�*�Q�D�1����b�d�K�O�O�$=�$=�>����b�+�/�/�";�";�<����b�d�E�*����b�%�(�
�
�
�y�
)�	9��u�S�#�X�����8�	9�
�
�
�y�
)�	9��u�S�#�X�����8�	9�	9�	9�	9��	9�	9�s�,(I"�1(I.�"I+�.I7c���|jt�5ttddd�|jt�5tt
ddd�|jt�5tttddd�|jt�5tttddd�y#1swY��xYw#1swY�zxYw#1swY�TxYw#1swYyxYwr`)r�r�rrrrr#r�r�s rZ�test_fail_with_bare_unionz&GenericTests.test_fail_with_bare_union�s���
�
�
�y�
)�	���K�	�
�
�
�y�
)�	��(�O�	�
�
�
�y�
)�	$��X�c�]�#�	$�
�
�
�y�
)�	 ���#���	 �	 �
	�	��	�	��	$�	$��	 �	 �s/�B<�C�,C�C �<C�C�C� C)c�~�td�}|jt�5ttddd�|jt�5t
t|ddd�|jt�5ttjddd�y#1swY�mxYw#1swY�KxYw#1swYyxYwrf)rr�r�rr"rrar&rNs  rZ�test_fail_with_bare_genericz(GenericTests.test_fail_with_bare_generic�s����C�L��
�
�
�y�
)�	���M�	�
�
�
�y�
)�	��'�!�*��	�
�
�
�y�
)�	"�����!�	"�	"�		�	��	�	��	"�	"�s#�B�B'�:B3�B$�'B0�3B<c���td�}|j�Gd�dt||f�}|j|t�j
|�|j
|t�j|t�Gd�dtj||f�}|j|t�j
|�|j
|t�j|t�Gd�dtjt|f�}|j|t�j
|�|j
|t�j|t�Gd�d	tjt|f�}|j|t�j
|�|j
|t�j|t�y)
Nrc��eZdZy)�5GenericTests.test_type_erasure_special.<locals>.MyTupNrzrir\rZ�MyTuprD	�r�r\rE	c��eZdZy)�6GenericTests.test_type_erasure_special.<locals>.MyDictNrzrir\rZ�MyDictrG	�r�r\rH	c��eZdZy)�5GenericTests.test_type_erasure_special.<locals>.MyDefNrzrir\rZ�MyDefrJ	�r�r\rK	c��eZdZy)�7GenericTests.test_type_erasure_special.<locals>.MyChainNrzrir\rZ�MyChainrM	�r�r\rN	)
rrerr�r�r�r�r�rar�DefaultDictr��ChainMap)rUrrE	rH	rK	rN	s      rZ�test_type_erasure_specialz&GenericTests.test_type_erasure_special�s`���C�L������%�E�!�Q�$�K�%��
�
�j�e�C�j�l�,�,�e�4������s���4�4�e�C�j�A�,�V�[�[��A��&�,��
�
�k�f�S�k�m�-�-�v�6���������5�5�v�c�{�C�4�F�&�&�s�A�v�.�4��
�
�j�e�C�j�l�,�,�e�4������s���4�4�e�C�j�A�3�f�o�o�c�1�f�-�3��
�
�l�g�c�l�n�.�.��8���������6�6����Er\c�>�d�tjD�}|D�]}|jt|�d�|j	||�t|dd�rtt
|tj�sZt
|jt�r@t|j�dk(r(|j	|tjtf�t
|t�s��|jD]/}|jt|�d�|j	||��1��y)Nc3�<K�|]}tt|����y�wr`)�getattrra)r��els  rZr�z4GenericTests.test_all_repr_eq_any.<locals>.<genexpr>�s����=�����#�=�s�r	rorl)ra�__all__r�r�r�rT	r�rror�r�rrnr�r�)rU�objsr�bases    rZ�test_all_repr_eq_anyz!GenericTests.test_all_repr_eq_any�s���=�f�n�n�=���	1�C�����S�	�2�.����S�#�&���-�t�4�&�s�F�N�N�;�"�3�#5�#5�u�=��C�.�.�/�1�4�� � ��S��!2�!2�S�F�;��#�t�$��K�K�1�D��'�'��T�
�B�7��$�$�T�4�0�1�	1r\c
�b�td�}Gd�dt|�}Gd�d|t�at�}d|_d|_t
tjdz�D]�}tj||�}tj|�}|j|jd�|j|j
d�|j|jddd	����tttt t"ttt$ft"t&ttd
ftdt t$gt(ft*j,t*j.tg}|D]`}t
tjdz�D]?}tj||�}tj|�}|j||��A�bt&t*j0t*j2t&tt*j2t*j4t*j6ttt$fg}	|	D]`}t
tjdz�D]?}tj||�}tj|�}|j||��A�by)Nrc��eZdZy)�#GenericTests.test_pickle.<locals>.BNrzrir\rZr�r\	�r�r\r�c��eZdZy)rNrzrir\rZrr�r�r\rr�r�rlr.ri)rr"r�rrDrrprqrrr1r0r�r�rrrr!r#r�rrxrarO	r	rbr4re�AbstractSet)
rUrr�r�ror�rtr�r��more_sampless
          rZr�zGenericTests.test_pickle�s���C�L��	���
�	�	��#��	�
�C���������6�2�2�Q�6�7�	D�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�Z�Z��E�)B�C�	D���u�h����c��?�H�T�N�E�#�s�(�O�U�2�Y��S�E�5�L�)��%�%�v�'7�'7��'<�>���	'�A��v�6�6��:�;�
'���L�L��E�*���L�L��O��� � ��A�&�
'�	'�
�f�o�o�v�{�{�D��I����F�N�N�3�V�5G�5G��c�SV�h��5X�Z���	'�A��v�6�6��:�;�
'���L�L��E�*���L�L��O��� � ��A�&�
'�	'r\c� �td�}Gd�dt|�}t|tft|tftdt
d|ft
tgtftttf|||t|ttj|tjttjttjttftj|tftttt|tdtdtftdtjdtfg}|tgzD]8}|j|t|��|j|t!|���:y)Nrc��eZdZy)�1GenericTests.test_copy_and_deepcopy.<locals>.NodeNrzrir\rZr�rb	�r�r\r�ri.)rr)rr"rr�rr!rrarbrr�r#rrer�r
r)rUrr��thingsr>s     rZ�test_copy_and_deepcopyz#GenericTests.test_copy_and_deepcopy�s(���C�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�k�#�s�(�>S��+�+�a��f�%�x��}�h�t�A�w�6G��x����S��/�4��9�f�n�n�S�#�X�.F�H���3�%��	-�A����Q��Q��(����Q����,�	-r\c���td�atdt��atdtt
�atd�attttttjttjttt t"fD]�}|j%|��5|j't)|�|�|j't+|�|�t-t.j0dz�D];}|j't/j2t/j4||��|��=	ddd���bbbbtd�}td	t��}td
tt
�}td�}||||fD]S}|j%|��5|j't)|�|�|j't+|�|�ddd��Uy#1swY��XxYw#1swY�mxYw)Nr��TPBrW�TPV�PP)r�rl�TL�TLB�TLV�PL)rr�r�rf	rxr�rg	rDrh	rrarer#rbrrrr!rsr�r
rrprqrrr0r1)rUrirori	rj	rk	rl	s       rZ�$test_immutability_by_copy_and_picklez1GenericTests.test_immutability_by_copy_and_pickle�s����T�]���e�3�'���e�U�C�(��
�t�_���c�3�������&�/�/���e�X�/�	K�A����A��&�
K��
�
�d�1�g�q�)��
�
�h�q�k�1�-�"�6�#:�#:�Q�#>�?�K�E��M�M�&�,�,�v�|�|�A�u�/E�"F��J�K�
K�
K�	K�
��S�"��T�]���e�3�'���e�U�C�(��
�t�_���c�3��#�	.�A����A��&�
.��
�
�d�1�g�q�)��
�
�h�q�k�1�-�
.�
.�	.�
K�
K��
.�
.�s�$BG�7G*�G'	�*G3	c���td��G�fd�dt��}|d�}|jt|�jd�|jt|�jd�|j
t|�|�|j
t|�|�d|_|jt|�jd�|jt|�jd�|td�}|jt|�jd�|jt|�jd�|j
t|�|�|j
t|�|�d|_|jt|�jd�|jt|�jd�|j|j|t�y)Nrc� ��eZdZdW�ddfd�Zy)�3GenericTests.test_copy_generic_instances.<locals>.Cr]r�Nc��||_yr`r�r�s  rZrDz<GenericTests.test_copy_generic_instances.<locals>.C.__init__r�r\r�r#s�rZrrp	s���
!�Q�
!�4�
!r\rr�rl)	rr"r�r
r]r�assertIsNotr�r�)rUrr��cirs    @rZ�test_copy_generic_instancesz(GenericTests.test_copy_generic_instancessv����C�L��	!���
�	!�
�b�E������a����r�*�����!��)�)�2�.�����a��!�$�����!��a�(��������a����q�)�����!��)�)�1�-�
�Q�s�V�B�Z������b�����+�����"��*�*�B�/�����b��2�&�����"��r�*��������b�����*�����"��*�*�A�.�����*�*�A�c�F�3r\c	��td�}tt|tftd|ft
ttfttttjttftjttjdg}|D],}|jtj |��|��.y)Nr.�whatever)rrrr�r!rrrrarer�r>rxrbr�r�r�)rUrrc	r>s    rZ�test_weakref_allzGenericTests.test_weakref_alls����C�L���u�Q��V�}�h�s�A�v�&6��c�3�h���4��9�%�v�~�~�c�3�h�'?��,�,�u�%�v���z�'B�D���	2�A����^�W�[�[��^�-�q�1�	2r\c�$�td�}Gd�dt|�}|�}|t�}d|_d|_|j	t
�5d|_ddd�|j	t
�5d|_ddd�d|dfd�}|jt|t�t��d||�|jt|t�t|t��y#1swY��xYw#1swY��xYw)Nrc��eZdZdZy)�0GenericTests.test_parameterized_slots.<locals>.C)�potatoNr~rir\rZrrz	"s��#�Ir\rrrtc��yr`riros rZrDz2GenericTests.test_parameterized_slots.<locals>.foo/r�r\)
rr"r�r{	r�r��tomator�r*r�r�r
r)rUrrr��c_intrDs      rZ�test_parameterized_slotsz%GenericTests.test_parameterized_slots s����C�L��	$���
�	$�
�C����#����������
�
�
�~�
.�	��A�H�	�
�
�
�~�
.�	��E�L�	�	 �1�S�6�������W�Y���A�#�F��!��M�����a��f��x��#��'7�8�	�	��	�	�s�C:�;D�:D�Dc�H�td�}Gd�dt|�}|�}|t�}d|_d|_|j	t
�5d|_ddd�|j	t
�5d|_ddd�y#1swY�/xYw#1swYyxYw)Nrc��eZdZddiZy)�5GenericTests.test_parameterized_slots_dict.<locals>.D�bananar�Nr~rir\rZrr�	5s��!�2��Ir\r�yesrU)rr"r�r�	r�r�r	)rUrrr��d_ints     rZ�test_parameterized_slots_dictz*GenericTests.test_parameterized_slots_dict3s����C�L��	'���
�	'�
�C����#����������
�
�
�~�
.�	��A�H�	�
�
�
�~�
.�	 ��E�L�	 �	 �	�	��	 �	 �s�B�;B�B�B!c��|jt�5tttf}Gd�dt
|�}ddd�y#1swYyxYw)Nc��eZdZy)�#GenericTests.test_errors.<locals>.CNrzrir\rZrr�	Fr�r\r)r�r�r2r/rr")rUr�rs   rZr�zGenericTests.test_errorsBsC��
�
�
�y�
)�	��b�#�g�&�A�
�G�A�J�
�	�	�	�s�&A�Ac���Gd�dtt�}|j|jt�|j|j
d�|t}|j|jt�|jt|�jd�dd�Gd�d|t�}|j|jt�|j|j
d	�y)
Nc��eZdZy)�#GenericTests.test_repr_2.<locals>.CNrzrir\rZrr�	Jr�r\rr�	r8	r9	zC[int]c��eZdZy)�#GenericTests.test_repr_2.<locals>.YNrzrir\rZrmr�	Tr�r\rmr�	)	r"rr�rgrfrhr�r�r;	)rUrrirms    rZ�test_repr_2zGenericTests.test_repr_2Is���	���
�	�	
������x�0�������>�	@�
�c�F��������x�0�����a����s�+�B�/��:�	��#��	�	
������x�0�������>�	@r\c�d�td�}td�}td�}td�}td�}Gd�dt||f�}Gd�d	t|||f�}Gd
�dtg|�|���}|||fd|t||f|fd
|gt
fd|tgt
fd|ttgt
fd|tttgt
fd|tg|�|��|fd||||fd|tgtgt
fd|ttgttgt
fd|g|�|��d|ttttgfd|ttttgfd|tg|�|��tfttt
tgfdi}	|	j�D]s\}
}|j|
|��5|jt|
�dtj|j ��dtj|��d��ddd��uy#1swY��xYw)Nrr�r�r�r�c��eZdZy)�,GenericTests.test_repr_3.<locals>.MyCallableNrzrir\rZ�
MyCallabler�	br�r\r�	c��eZdZy)�,GenericTests.test_repr_3.<locals>.DoubleSpecNrzrir\rZ�
DoubleSpecr�	er�r\r�	c��eZdZy)�%GenericTests.test_repr_3.<locals>.TsPNrzrir\rZ�TsPr�	hr�r\r�	zMyCallable[~P, ~T]z+MyCallable[typing.Concatenate[~T1, ~P], ~T]zMyCallable[[], bool]zMyCallable[[int], bool]zMyCallable[[int, str], bool]z"MyCallable[[int, list[int]], bool]z9MyCallable[typing.Concatenate[typing.Unpack[Ts], ~P], ~T]zDoubleSpec[~P2, ~P, ~T]zDoubleSpec[[int], [str], bool]z(DoubleSpec[[int, int], [str, str], bool]zTsP[typing.Unpack[Ts], ~P]zTsP[int, str, list[int], []]zTsP[int, [str, list[int]]]z(MyCallable[[int, str, bool, float], int])r�
expected_repr�^z.*\.�$)rrDrr"rEr�r�r�r�rRr�rs�assertRegexr�r�r�rg)rUrr�r�r�r�r�	r�	r�	�object_to_expected_reprrr�	s            rZ�test_repr_3zGenericTests.test_repr_3[sM���C�L��
�T�]���c�N��
�t�_��
�$�
��	���A���	�	���B���*�	�	�'�&�2�&�q�&�/�	�
�q�!�t��6J��{�2�q�5�)�1�,�-�6c��r�4�x� �6L���u�d�{�#�6O���S�z�4�'�(�6T���T�#�Y�'��-�.�6Z��{�6�B�6��6�*�A�-�.�6q��r�1�a�x� �6O���u�s�e�T�)�*�6V���S�z�C��:�t�3�4�6`�����Q��K�6R���S�$�s�)�R�'�(�6T���c�4��9�%�%�&�6R�
�{�6�B�6��6�*�C�/�0��c�D�%�=�1H�I�6`�'#
��,#:�"?�"?�"A�	��C�����#�]��C�
�� � ���I�����:�#8�#8�9�:�$�r�y�y��?W�>X�XY�Z��
�
�	�
�
�s
�AH&�&H/	c���|jtt�|jtttt�|jtttt
�yr`)r�r"rr�rrr�s rZ�	test_eq_1zGenericTests.test_eq_1�sB������'�*�������W�Q�Z�0����G�B�K����5r\c�$�Gd�dtt�}Gd�dtt�}|j||�|j||�|j|t|t�|j|t|t�y)Nc��eZdZy)�!GenericTests.test_eq_2.<locals>.ANrzrir\rZr�r�	�r�r\r�c��eZdZy)�!GenericTests.test_eq_2.<locals>.BNrzrir\rZr�r�	�r�r\r�)r"rr�r�r�s   rZ�	test_eq_2zGenericTests.test_eq_2�st��	���
�	�	���
�	�	
����A�����A�q�!�����1��q��t�$����A�a�D�!�A�$�'r\c	�D�Gd�dtttf�}Gd�dtttf�}Gd�d|ttfttttf|ttf�}|j	|j
tttf�y)Nc��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.ANrzrir\rZr�r�	�r�r\r�c��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.BNrzrir\rZr�r�	�r�r\r�c��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.CNrzrir\rZrr�	�r�r\r)r"rrrr�ro)rUr�r�rs    rZ�test_multiple_inheritancez&GenericTests.test_multiple_inheritance�ss��	���2���	�	���A���	�	��!�R�%��'�"�a��)�,�a��A��h�	�	
����)�)�B��2�;�7r\c���td�}Gd�dt|�}Gd�dtt|�}|j	|j
|t|ttf�y)Nr3c��eZdZy)�9GenericTests.test_multiple_inheritance_special.<locals>.BNrzrir\rZr�r�	�r�r\r�c��eZdZy)�9GenericTests.test_multiple_inheritance_special.<locals>.CNrzrir\rZrr�	�r�r\r)rr"rr�r�r�r�rG)rUr3r�rs    rZ�!test_multiple_inheritance_specialz.GenericTests.test_multiple_inheritance_special�sD���C�L�� ���
� �"��S�	�1�"�������Q��a��&�$A�Br\c�@���Gd�dt��G��fd�d��Gd�dtt��}|j��5Gd�d|�}ddd�|j��5Gd	�d
|t�}ddd�y#1swY�6xYw#1swYyxYw)Nc��eZdZy)�DGenericTests.test_init_subclass_super_called.<locals>.FinalExceptionNrzrir\rZ�FinalExceptionr�	�r�r\r�	c�&���eZdZd���fd�Z�xZS)�;GenericTests.test_init_subclass_super_called.<locals>.Finalc�x��|jD]}|�us�t|��s��|��t�|�di|��yrj)r�rRrzr�)rVrBrX	r$r�	r�s   ���rZr�zMGenericTests.test_init_subclass_super_called.<locals>.Final.__init_subclass__�sD����M�M�3�D��5�(�Z��e�-D�,�T�2�2�3���)�3�F�3r\r�r�)r�r$r�	s@��rZr$r�	�s
���
4�
4r\r$c��eZdZy)�:GenericTests.test_init_subclass_super_called.<locals>.TestNrzrir\rZrQr�	�r�r\rQc��eZdZy)�>GenericTests.test_init_subclass_super_called.<locals>.SubclassNrzrir\rZ�Subclassr�	�r�r\r�	c��eZdZy)�?GenericTests.test_init_subclass_super_called.<locals>.Subclass2Nrzrir\rZ�	Subclass2r�	�r�r\r�	)rhr"rr�r�)rUrQr�	r�	r$r�	s    @@rZ�test_init_subclass_super_calledz,GenericTests.test_init_subclass_super_called�s����	�Y�	�	4�	4�	�7�1�:�u�	�
�
�
�~�
.�	�
�4�
�	��
�
�~�
.�	�
�D��I�
�	�	�	�	��	�	�s�B�,B�B�Bc�6�t}Gd�d|t�}|tjt}Gd�d|�}|�}|jg�|j
d�|j
d�|j|j�ddg�y)Nc�.�eZdZdZdefd�Zd�Zdefd�Zy)�)GenericTests.test_nested.<locals>.VisitorNr�c��||_yr`r��rUr�s  rZr1z-GenericTests.test_nested.<locals>.Visitor.set�r�r\c��|jSr`r�r�s rZr>z-GenericTests.test_nested.<locals>.Visitor.get�����v�v�
r\r�c��|jSr`r�r�s rZ�visitz/GenericTests.test_nested.<locals>.Visitor.visit�r�	r\)rfrgrhr�rr1r>r�	rir\rZ�Visitorr�	�s$���A�
�Q�
�
�
�q�
r\r�	c��eZdZdefd�Zy)�0GenericTests.test_nested.<locals>.IntListVisitorrtc�:�|jj|�yr`)r�r�r�s  rZr�z7GenericTests.test_nested.<locals>.IntListVisitor.append�s�����
�
�a� r\N)rfrgrhr�r�rir\rZ�IntListVisitorr�	�s��
!��
!r\r�	rlr�)	r"rrarr�r1r�r�r>)rUrrr�	r�r�	r�s      rZ�test_nestedzGenericTests.test_nested�s}����	�a��d�	�
�F�K�K��$�%��	!�Q�	!�

���	���b�	�	�����	������������1�b�'�*r\c�l����td��G�fd�dt���d�f���fd�}|d�y)Nrc�*��eZdZ		ddW�ddddfd�Zy)�,GenericTests.test_type_erasure.<locals>.NodeNrO�left�Node[T]�rightc�.�||_||_||_yr`�rOr�	r�	)rUrOr�	r�	s    rZrDz5GenericTests.test_type_erasure.<locals>.Node.__init__�s��#��
� ��	�"��
r\�NNr�r#s�rZr�r�	�s%���+/�,0�
#�a�
#�(�
#� )�
#r\r�rtc����|�}��|�}�t|�}�jt|����jt|����jt|����j|j|��j|j|��j|j|�yr`)rr�r�r�rO)rtr�r�r�r�rrUs    ���rZrDz+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�W�a�(����Q�W�W�a�(����Q�W�W�a�(r\r��rr")rUrDr�rs` @@rZr�zGenericTests.test_type_erasure�s1����C�L��	#�7�1�:�	#�		)�1�		)�	�B�r\c��td�}Gd�dt|�}Gd�d|�}|j|jd�|j	t
�5|tddd�|j	t
�5|tddd�|j	t
�5||ddd�y#1swY�TxYw#1swY�9xYw#1swYyxYw)Nrc��eZdZy)�)GenericTests.test_implicit_any.<locals>.CNrzrir\rZrr�	�r�r\rc��eZdZy)�)GenericTests.test_implicit_any.<locals>.DNrzrir\rZrr�	�r�r\rri)rr"r�ror�r�r�rr�s    rZ�test_implicit_anyzGenericTests.test_implicit_any�s����C�L��	���
�	�	��	�	
����)�)�2�.�
�
�
�y�
)�	�
�c�F�	�
�
�
�y�
)�	�
�c�F�	�
�
�
�y�
)�	�
�a�D�	�	�		�	��	�	��	�	�s$�
B7�
C�(C�7C�C�Cc��Gd�dtt�}Gd�d�}Gd�d||�}|d�}|j|jd�y)Nc��eZdZy)�*GenericTests.test_new_with_args.<locals>.ANrzrir\rZr�r�	
r�r\r�c���eZdZ�fd�Z�xZS)�*GenericTests.test_new_with_args.<locals>.Bc�4��t�|�|�}||_|Sr`)rzr{r��rVr�rr�s   �rZr{z2GenericTests.test_new_with_args.<locals>.B.__new__s����g�o�c�*������
r\r|r~s@rZr�r�	
�
���
�
r\r�c��eZdZy)�*GenericTests.test_new_with_args.<locals>.CNrzrir\rZrr�	r�r\rrD)r"rr�r��rUr�r�rr�s     rZ�test_new_with_argszGenericTests.test_new_with_argssI��	���
�	�	�	�	��1�	�
�e�H���������&r\c���Gd�d�}Gd�dtt|�}|d�}|j|jd�|j|jd�y)Nc���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Ac�0��||_t�|�	�yr`)�from_arzrD�rUr�r�s  �rZrDz4GenericTests.test_new_with_args2.<locals>.A.__init__s���!����� �"r\r)r~s@rZr�r�	s
���
#�
#r\r�c���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Cc�2��||_t�|�	|�yr`)�from_crzrDr�	s  �rZrDz4GenericTests.test_new_with_args2.<locals>.C.__init__%s���!����� ��%r\r)r~s@rZrr�	$s
���
&�
&r\rrD)r"rr�r�	r�	)rUr�rr�s    rZ�test_new_with_args2z GenericTests.test_new_with_args2sQ��	#�	#�	&���
�A�	&�
�e�H��������5�)�������5�)r\c�x�Gd�dtt�}|jt�5|d�ddd�Gd�d�}Gd�d||�}|d�}|j	|j
d�|j	|jd�|j	|jd	�y#1swY�|xYw)
Nc��eZdZy)�(GenericTests.test_new_no_args.<locals>.ANrzrir\rZr�r�	0r�r\r�rDc���eZdZ�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Bc�4��t�|�|�}d|_|S)Nr�)rzr{�from_b)rVrr�s  �rZr{z0GenericTests.test_new_no_args.<locals>.B.__new__7�����g�o�c�*�� ��
��
r\r|r~s@rZr�r
6r�	r\r�c�$��eZdZd�Z�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Cc��||_yr`r�r_s  rZrDz1GenericTests.test_new_no_args.<locals>.C.__init__?s	����r\c�4��t�|�|�}d|_|S)Nr�)rzr{r�	r�	s   �rZr{z0GenericTests.test_new_no_args.<locals>.C.__new__Br
r\)rfrgrhrDr{r}r~s@rZrr
>s���
�
�
r\rr�r�)r"rr�r�r�r�r
r�	r�	s     rZ�test_new_no_argszGenericTests.test_new_no_args.s���	���
�	��
�
�y�
)�	�
�e�H�	�	�	�	��1�	�
�e�H���������&�������3�'�������3�'�1	�	�s�	B0�0B9c
���tttttttft
ttdtttd�fttfD]a}|j|��5|jtdtjd|����d��5Gd�d|�}ddd�ddd��cy#1swY�xYw#1swY�zxYw)	Nr�r�)rXr�	r�r�	c��eZdZy)�4GenericTests.test_subclass_special_form.<locals>.FooNrzrir\rZrr
[���r\r)r#r�r$rrRrrrErDrHrsr�r�r�r�)rUrrs   rZ�test_subclass_special_formz'GenericTests.test_subclass_special_formMs����S�M��#�J��#�u�*���S�M��D�M���Y�s�^�+�,��c�N�
�	�C����#��&�
��+�+�!�Q�r�y�y�3C�C�7�1K�'L�&M�Q�#O����c���
�
�	����
�
�s$�91C�*C	�6C�	C�C�C	c�~�tdd��}Gd�dt|�}td�}Gd�d|t|�}y)	NrZTr[c��eZdZy)�2GenericTests.test_complex_subclasses.<locals>.BaseNrzrir\rZr
	r
ar�r\r
	rc��eZdZy)�1GenericTests.test_complex_subclasses.<locals>.SubNrzrir\rZr�r
gr�r\r�r�	)rUrZr
	rr�s     rZ�test_complex_subclassesz$GenericTests.test_complex_subclasses^s;���v��.��	�7�4�=�	�
�C�L��	�$���
�	r\c	���|jttjtf�|jtttjtf�Gd�d�}ttfD]�}|t
ttttjtjfD]I}|j||��5|jtd�5||tddd�ddd��K��|jt|�jtf�|jt|�jtf�y#1swY�pxYw#1swY��xYw)Nc��eZdZefZy)�0GenericTests.test_parameter_detection.<locals>.AN)rfrgrhrrorir\rZr�r
ms	���T�Nr\r�)r��subz.* is not a generic class)r�rrror�r�rrrDr�r��	UnionTypersr�r�r�)rUr�r�r�s    rZ�test_parameter_detectionz%GenericTests.test_parameter_detectionjs!������a��/�/�!��6�����d�1�g��5�5��t�<�	"�	"����	"�A���g�|�Y��@R�@R�TY�Tc�Tc�d�
"���\�\�!��\�3�"��/�/�	�;V�W�"��!��S�	�"�"�"�
"�	"�	
����a�c��1�1�A�4�8�����a�c��1�1�A�4�8�
"�"��"�"�s$�E#�
E	�(E#�E 
�E#�#E,c
���td��Gd�dt��}G�fd�d�}t||tttt
ttjtjf
D�]l}ttfD]�}|j||��5|j||�ft||tf�|j|�|ft|t|f�||}|jt�5|tddd�ddd���t t"j$j fD]�}|j||��5|j||g�ft||gtf�|j|�g|ft|tg|f�||g|f}|jt�5|tddd�ddd�����oy#1swY��xYw#1swY��wxYw#1swY�0xYw#1swY��xYw)Nrc��eZdZy)�2GenericTests.test_non_generic_subscript.<locals>.GNrzrir\rZrrr
}r�r\rrc���eZdZW�fZy)�2GenericTests.test_non_generic_subscript.<locals>.AN)rfrgrhror#s�rZr�r
s
����T�Nr\r�)r�r
)�callabler
)rr"r�rr�rrDr�r�r
rr�rsr�r�r�r!r�r�)rUrrr�r�r>r�r�rs       @rZ�test_non_generic_subscriptz'GenericTests.test_non_generic_subscript{s�����C�L��	���
�	�	"�	"��q�!�T�4��<���$�$�e�o�o�7�	�A��E�\�
���\�\��q�\�1���$�$�Q�q�!�t�W�S�\�1�Q��V�9�=��$�$�Q�q�!�t�W�S�\�1�S�!�V�9�=��!��A��*�*�9�5���#���	��
��{���7�7�7�
���\�\�1�!�\�4���$�$�Q��s�A�v�Y�s�^�Q��s�C�x�[�A��$�$�Q��s�A�v�Y�s�^�Q��u�a�x�[�A��1�#�q�&�	�A��*�*�9�5���#���	��
�	����	������	��sJ�A)G(�:
G	�G(�A0H�<
G5	�H�G%
�!G(�(G2�5G>
�:H�H
N)9rfrgrhrr~r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r	r	r	r"	r-	r=	r?	rA	rQ	rY	r�rd	rm	rt	rw	r	r�	r�r�	r�	r�	r�	r�	r�	r�	r�	r�r�	r�	r�	r	
r
r
r
r!
rir\rZrmrm�s ��E�&�2�%�(B�+�0	>�

��5�"5�6�2�
)�&S�C�
"?�H?�"I�(C�TP� 	4�M�4%
�N9�: �"�F�"
1�"'�H-�.�84�02�9�&
 ��@�$+�Z6�
(�8�C��&+�<�0�$'�&*�&(�>�"
�9�"r\rmc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
ClassVarTestsc��|jt�5tttfddd�|jt�5tttddd�y#1swY�<xYw#1swYyxYwr`)r�r�r#r�r�r�s rZrzClassVarTests.test_basics�se��
�
�
�y�
)�	��S�#�X��	�
�
�
�y�
)�	��S�M�#��	�	�	�	��	�	�s�A%�A1�%A.�1A:c���|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�y)Nztyping.ClassVar�typing.ClassVar[int]ztyping.ClassVar[%s.Employee])r�r�r#r�ryrf�rU�cvs  rZr�zClassVarTests.test_repr�sY������h��):�;�
�c�]������b��#9�:�
�h�
������b��#A�H�#L�Mr\c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.CNrzrir\rZrr+
�r�r\rc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.DNrzrir\rZrr-
�r�r\rz Cannot subclass typing\.ClassVarc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.ENrzrir\rZrpr/
�r�r\rpz'Cannot subclass typing\.ClassVar\[int\]c��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.FNrzrir\rZrqr1
�r�r\rq)r�r�r�r�r#r��rUrrrprqs     rZr�z"ClassVarTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�	�
�D��N�
�	��
#�
#�I�/C�
D�	�
�D��#��'�
�	��
#�
#�I�$G�I�	�
�H�
�	��
#�
#�I�$N�P�	�
�H�S�M�
�	�	�	�	��	�	��	�	��	�	��/�C"� C.�C:�D�"C+�.C7�:D�Dc��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwr`)r�r�r#r�rr�r�s rZr"zClassVarTests.test_cannot_init����
�
�
�y�
)�	��J�	�
�
�
�y�
)�	��D��N��	�
�
�
�y�
)�	,�)�D��(�3�-�(�)�+�	,�	,�		�	��	�	��	,�	,��"�B�B(�0#B4�B%�(B1�4B=c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr$)r�r�r�r#r�rRr�s rZr%z ClassVarTests.test_no_isinstance��e��
�
�
�y�
)�	)��q�(�3�-�(�	)�
�
�
�y�
)�	&��s�H�%�	&�	&�	)�	)��	&�	&���A)�A5�)A2�5A>N�rfrgrhrr�r�r"r%rir\rZr#
r#
�s���N�� ,�&r\r#
c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
FinalTestsc��tt|jt�5tttfddd�|jt�5tttddd�|jt�5t
ttddd�y#1swY�nxYw#1swY�HxYw#1swYyxYwr`)r$r�r�r�r�rr�s rZrzFinalTests.test_basics�s���
�c�
�
�
�
�y�
)�	��#�s�(�O�	�
�
�
�y�
)�	��#�J�s�O�	�
�
�
�y�
)�	!��U�3�Z� �	!�	!�		�	��	�	��	!�	!�s#�B$�B0�B<�$B-�0B9�<Cc�N�|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�ttt}|jt|�d�y)Nztyping.Finalztyping.Final[int]ztyping.Final[%s.Employee]ztyping.Final[tuple[int]])r�r�r$r�ryrfr�r'
s  rZr�zFinalTests.test_repr�sz������e��n�5�
�3�Z������b��#6�7�
�8�_������b��#>��#I�J�
�5��:�
������b��#=�>r\c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.CNrzrir\rZrrA
�r�r\rc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.DNrzrir\rZrrC
�r�r\rzCannot subclass typing\.Finalc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.ENrzrir\rZrprE
�r�r\rpz$Cannot subclass typing\.Final\[int\]c��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.FNrzrir\rZrqrG
�r�r\rq)r�r�r�r�r$r�r2
s     rZr�zFinalTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�	�
�D��K�
�	��
#�
#�I�/C�
D�	�
�D��s��$�
�	��
#�
#�I�0�2�	�
�E�
�	��
#�
#�I�7�9�	�
�E�#�J�
�	�	�	�	��	�	��	�	��	�	�r3
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwr`)r�r�r$r�rr�r�s rZr"zFinalTests.test_cannot_init�s���
�
�
�y�
)�	��G�	�
�
�
�y�
)�	��D��K�M�	�
�
�
�y�
)�	)�&�D��x��}�%�&�(�	)�	)�		�	��	�	��	)�	)�r6
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr$)r�r�r�r$r�rRr�s rZr%zFinalTests.test_no_isinstance�se��
�
�
�y�
)�	&��q�%��*�%�	&�
�
�
�y�
)�	#��s�E�"�	#�	#�	&�	&��	#�	#�r9
Nr:
rir\rZr<
r<
�s��!�?�� )�#r\r<
c��eZdZd�Zd�Zy)�FinalDecoratorTestsc�@�d�}|j|t|��y)Nc��yr`riros rZ�funcz7FinalDecoratorTests.test_final_unmodified.<locals>.func�r�r\)r�r%�rUrN
s  rZ�test_final_unmodifiedz)FinalDecoratorTests.test_final_unmodified�s����
�
�d�E�$�K�(r\c��td��}tGd�d��}|jd|j�|jd|j�Gd�d�}t|d���}|j||�|jdt	|d	��Gd
�dt
�}tGd�d
|���}|j
|jd�tt�|jdt	td	��Gd�d�}|jdtj|d�j�|jdtj|d�j�|jd|jjj�|jd|jj�y)Nc��yr`ririr\rZrN
z3FinalDecoratorTests.test_dunder_final.<locals>.func����r\c��eZdZy)�2FinalDecoratorTests.test_dunder_final.<locals>.ClsNrzrir\rZ�ClsrU
�s��r\rV
Tc��eZdZdZd�Zd�Zy)�6FinalDecoratorTests.test_dunder_final.<locals>.Wrapper�rN
c��||_yr`rY
rO
s  rZrDz?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__init__r�r\c�&�|j|i|��Sr`rY
r�s   rZr�z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__call__s�� �t�y�y�$�1�&�1�1r\N)rfrgrhrrDr�rir\rZ�WrapperrX
s��!�I�
!�
2r\r\
c��yr`ririr\rZ�wrappedz6FinalDecoratorTests.test_dunder_final.<locals>.wrapped
s��r\F�	__final__c��eZdZed��Zy)�3FinalDecoratorTests.test_dunder_final.<locals>.Metac��y)N�can't set merir�s rZr_
z=FinalDecoratorTests.test_dunder_final.<locals>.Meta.__final__s��(6r\N)rfrgrhrr_
rir\rZr�ra
s��
�6��6r\r�c��eZdZy)�7FinalDecoratorTests.test_dunder_final.<locals>.WithMetaNrzrir\rZ�WithMetare
s��(+r\rf
r�rc
c�~�eZdZeed���Zeed���Zeed���Z	ee
�d���Zy)�6FinalDecoratorTests.test_dunder_final.<locals>.Methodsc��yr`rir�s rZ�	clsmethodz@FinalDecoratorTests.test_dunder_final.<locals>.Methods.clsmethod!s�� #r\c��yr`ririr\rZ�stmethodz?FinalDecoratorTests.test_dunder_final.<locals>.Methods.stmethod%���r\c��yr`rir�s rZ�propz;FinalDecoratorTests.test_dunder_final.<locals>.Methods.prop+rm
r\c��yr`rir�s rZ�cachedz=FinalDecoratorTests.test_dunder_final.<locals>.Methods.cached/s��!r\N)rfrgrhr%rrj
�staticmethodrl
rro
rrq
rir\rZ�Methodsrh
 s^��
�
�#���#�
�
������
�����
�
�[�!���!r\rs
rj
rl
)
r%r�r_
r�rr�r�r��inspect�getattr_staticro
�fgetrq
)rUrN
rV
r\
r^
r�rf
rs
s        rZ�test_dunder_finalz%FinalDecoratorTests.test_dunder_final�sp��	��
��	���
���
�
�d�D�N�N�+��
�
�d�C�M�M�*�	2�	2�
�	��
�
�����g�w�/��
�
�e�W�W�k�:�;�	7�4�	7�
�+��+�
�+�����+�+�^�<�	�c�
��
�
�e�W�S�+�6�7�	"�	"�*	
�
�
���"�"�7�K�8�B�B�	
�	
�
�
���"�"�7�J�7�A�A�	
�	
�
�
�d�G�L�L�-�-�7�7�8��
�
�d�G�N�N�4�4�5r\N)rfrgrhrP
rw
rir\rZrK
rK
�s
��)�B6r\rK
c�$�eZdZd�Zd�Zd�Zd�Zy)�OverrideDecoratorTestsc���Gd�d�}Gd�d|�}|j||�|�}|j|j�d�|jd|jj�|jd|jj�|j|j�d�|jd|j
j�|j|j
�d�|jdt|jd��|j|j�d�|jd|jj�|j|j�d�|jdt|jd��|jdt|jd��|jdt|j
d��|jdt|jd��|jdt|jd��|jdt|jd��y)	Nc�R�eZdZd�Zed��Zed��Zed��Zed��Z	y)�2OverrideDecoratorTests.test_override.<locals>.Basec��yr`rir�s rZ�
normal_methodz@OverrideDecoratorTests.test_override.<locals>.Base.normal_methodDr�r\c��yr`rir�s rZ�class_method_good_orderzJOverrideDecoratorTests.test_override.<locals>.Base.class_method_good_orderEs��.1r\c��yr`rir�s rZ�class_method_bad_orderzIOverrideDecoratorTests.test_override.<locals>.Base.class_method_bad_orderGs��-0r\c��yr`ririr\rZ�static_method_good_orderzKOverrideDecoratorTests.test_override.<locals>.Base.static_method_good_orderIs��,/r\c��yr`ririr\rZ�static_method_bad_orderzJOverrideDecoratorTests.test_override.<locals>.Base.static_method_bad_orderKs��+.r\N)
rfrgrhr~
rr�
r�
rr
r�
r�
rir\rZr
	r|
Cs=��(�
�1��1�
�0��0�
�/��/�
�.��.r\r
	c��eZdZed��Zeed���Zeed���Zeed���Z	eed���Z
y)�5OverrideDecoratorTests.test_override.<locals>.Derivedc��yr�rir�s rZr~
zCOverrideDecoratorTests.test_override.<locals>.Derived.normal_methodOr�r\c��yr�rir�s rZr�
zMOverrideDecoratorTests.test_override.<locals>.Derived.class_method_good_orderS���r\c��yr�rir�s rZr�
zLOverrideDecoratorTests.test_override.<locals>.Derived.class_method_bad_orderWr�
r\c��yr�ririr\rZr�
zNOverrideDecoratorTests.test_override.<locals>.Derived.static_method_good_order\r�
r\c��yr�ririr\rZr�
zMOverrideDecoratorTests.test_override.<locals>.Derived.static_method_bad_order`r�
r\N)rfrgrhr-r~
rr�
r�
rr
r�
r�
rir\rZr
	r�
Ns���
�
��
��
�
���
�
�
�
���
��
�
���
�
�
�
���
r\r
	r�TF�__override__)
r[r�r~
r�r�
r�
r�
rr�
r�
)rUr
	r
	rVs    rZ�
test_overridez$OverrideDecoratorTests.test_overrideBs���		/�		/�	�d�	�.	
���g�t�,��9������/�/�1�2�6��
�
�d�G�1�1�>�>�?��
�
�d�H�2�2�?�?�@�����8�8�:�B�?��
�
�d�G�;�;�H�H�I�����7�7�9�2�>��
�
�e�W�W�%C�%C�^�T�U�����9�9�;�R�@��
�
�d�G�<�<�I�I�J�����8�8�:�B�?��
�
�e�W�W�%D�%D�n�U�V�	
�
�
�e�W�T�%7�%7��H�I��
�
�e�W�T�%A�%A�>�R�S��
�
�e�W�T�%@�%@�.�Q�R��
�
�e�W�T�%B�%B�N�S�T��
�
�e�W�T�%A�%A�>�R�Sr\c��Gd�d�}Gd�d|�}|�}|j|jd�|j|jjj�|j|j
d�|j
t|j
d��|j
t|j
jd��y)Nc�8�eZdZedefd��Zedefd��Zy)�2OverrideDecoratorTests.test_property.<locals>.Baser�c��yr$rir�s rZ�correctz:OverrideDecoratorTests.test_property.<locals>.Base.correct~���r\c��yr$rir�s rZ�wrongz8OverrideDecoratorTests.test_property.<locals>.Base.wrong�r�
r\N)rfrgrhrr�r�
r�
rir\rZr
	r�
}s4��
�
��
��
�
�
�s�
��
r\r
	c�L�eZdZeedefd���Zeedefd���Zy)�3OverrideDecoratorTests.test_property.<locals>.Childr�c��y�Nr�rir�s rZr�
z;OverrideDecoratorTests.test_property.<locals>.Child.correct����r\c��yr�
rir�s rZr�
z9OverrideDecoratorTests.test_property.<locals>.Child.wrong�r�
r\N)rfrgrhrr-r�r�
r�
rir\rZ�Childr�
�sD��
�
�
��
���
�
�
�
�s�
���
r\r�
r�r�
)	r�r�
r�rv
r�
r�
r�r�fset)rUr
	r�
rVs    rZ�
test_propertyz$OverrideDecoratorTests.test_property|s���	�	�	�D�	��7������)�)�1�-�����
�
�*�*�7�7�8��������+��������n�=�>��������!1�!1�>�B�Cr\c���Gd�d��G�fd�d�}|j|jd�|jt|jd��y)Nc��eZdZdZd�Zdd�Zy)�>OverrideDecoratorTests.test_silent_failure.<locals>.CustomProp�rv
c��||_yr`r�
)rUrv
s  rZrDzGOverrideDecoratorTests.test_silent_failure.<locals>.CustomProp.__init__�r�r\Nc�$�|j|�Sr`r�
rs   rZrzFOverrideDecoratorTests.test_silent_failure.<locals>.CustomProp.__get__�s���y�y��~�%r\r`)rfrgrhrrDrrir\rZ�
CustomPropr�
�s��!�I�
!�
&r\r�
c�*��eZdZeW�d���Zy)�@OverrideDecoratorTests.test_silent_failure.<locals>.WithOverridec��yr$rir�s rZr�zEOverrideDecoratorTests.test_silent_failure.<locals>.WithOverride.some�r�
r\N)rfrgrhr-r�)r�
s�rZ�WithOverrider�
�s���
�
�
���
r\r�
rlr�
)r�r�r�r)rUr�
r�
s  @rZ�test_silent_failurez*OverrideDecoratorTests.test_silent_failure�sJ���	&�	&�	�	�	
����*�*�A�.������!2�!2�N�C�Dr\c�X���ddl��fd��G�fd�d�}|�}|j|jd�d�|j|jj�|j|jd�d�|j|j
j�y)Nrc�<����j���fd��}|S)Nc����|i|��Sr`ri)r�rBrds  �rZruzTOverrideDecoratorTests.test_multiple_decorators.<locals>.with_wraps.<locals>.wrapper�s����$�)�&�)�)r\rv)rdru�	functoolss` �rZ�
with_wrapszCOverrideDecoratorTests.test_multiple_decorators.<locals>.with_wraps�s#���
�_�_�Q�
�
*� �
*��Nr\c�Z��eZdZeW�dedefd���ZW�ededefd���Zy)�EOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverrider�r�c��|dzSr$rir�	s  rZ�on_topzLOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverride.on_top��
���1�u�r\c��|dzSr�
rir�	s  rZ�	on_bottomzOOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverride.on_bottom�r�
r\N)rfrgrhr-r�r�
r�
)r�
s�rZr�
r�
�sS���
�
�
��
��
���
�
�
�
�3�
�3�
���
r\r�
rlr�r�)r�
r�r�
r�r�
r�
)rUr�
rVr�
r�
s   @@rZ�test_multiple_decoratorsz/OverrideDecoratorTests.test_multiple_decorators�s�����	�	�	� �>���������+�Q�/�������4�4�5�����+�+�A�.��2�����*�*�7�7�8r\N)rfrgrhr�
r�
r�
r�
rir\rZry
ry
As��8T�tD�4E�"9r\ry
c��eZdZd�Zd�Zy)�	CastTestsc�0�|jttd�d�|jttd�d�|j	tttd��t�|jttd�d�|jttd�d�|jttttfd�d�|jttd�d�|jtdd�d�yr�)r�r(r�rRr�r�rr�rr�rr�s rZrzCastTests.test_basics�s�������c�2���+�����e�R��"�-��
�
�d�4��r�?�+�S�1�����c�2���+�����d�B���,�����e�C��J�/��4�b�9�����f�b�)�2�.�����d�B���,r\c�4�tdd�tdd�y�Nr��hello)r(r�s rZr�zCastTests.test_errors�s���R����W�b�r\N�rfrgrhrr�rir\rZr�
r�
�s��-�r\r�
c��eZdZd�Zd�Zy)�AssertTypeTestsc��d}|jt|t�|�|jt|ttz�|�|jt|t
�|�|jt|d�|�yr�)r�r'r�r�rRrr_s  rZrzAssertTypeTests.test_basics�s_�����
�
�k�#�s�+�S�1��
�
�k�#�s�U�{�3�S�9��
�
�k�#�v�.��4��
�
�k�#�t�,�c�2r\c�x�d}|jt|d�|�|jt|d�|�yr�
)r�r'r_s  rZr�zAssertTypeTests.test_errors�s1�����
�
�k�#�r�*�C�0��
�
�k�#�w�/��5r\Nr�
rir\rZr�
r�
�s��3�6r\r�
)�ann_module8c�8�eZdZejj
Zy)�NoTypeCheck_OuterN)rfrgrhr�
r�
�Innerrir\rZr�
r�
�s���)�)�/�/�Er\r�
c�$�eZdZejZy)�NoTypeCheck_WithFunctionN)rfrgrhr�
�NoTypeCheck_functionrir\rZr�
r�
�s��&�;�;�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%y$)%�ForwardRefTestsc�~�Gd�dtt�}|t}t|jt�t
��}|j|dt|t�|j|d|t�|j|dt�|jd|�t|jt�t
��}|j|dt|t�t|jt�t
��}|j|d|t�y)Nc�P�eZdZdefd�Z			d
dddddefd	�Zd
edfd�Zddd�Z	y)�)ForwardRefTests.test_basics.<locals>.NoderOc�.�||_dx|_|_yr`r�	)rUrOs  rZrDz2ForwardRefTests.test_basics.<locals>.Node.__init__�s��"��
�)-�-��	�D�Jr\Nr�	zOptional[Node[T]]r�	r�	�stuffc� �||_||_yr`)r�	r�	)rUr�	r�	r�
�blahs     rZ�add_bothz2ForwardRefTests.test_basics.<locals>.Node.add_both�s��
!��	�"��
r\�nodec�(�|j|d�yr`�r�
�rUr�
s  rZ�add_leftz2ForwardRefTests.test_basics.<locals>.Node.add_left����
�
�d�D�)r\c�(�|jd|�yr`r�
r�
s  rZ�	add_rightz3ForwardRefTests.test_basics.<locals>.Node.add_rightr�
r\)NNNr`)r�
r�	)
rfrgrhrrDr�r�
rr�
r�
rir\rZr�r�
�sN��
.�a�
.�-1�&*�"�	
#�2�
#� )�
#�!$�
#�
*�X�i�%8�
*�
*r\r�r�	r�	r�
r�
r�
)r"rr�r*r�
r�r�r�rrr�
r�
)rUr�r>�
both_hints�
left_hints�right_hintss      rZrzForwardRefTests.test_basics�s���	*�7�1�:�	*�(
��I��#�A�J�J��	�6�8�D�
�����F�+�X�d�1�g�->�?�����G�,�d�1�g�6�����G�,�c�2������,�#�A�J�J��	�6�8�D�
�����F�+�X�d�1�g�->�?�$�Q�[�[�'�)�V�X�F������V�,�d�1�g�6r\c��tjd�}|jt�5t	d|�ddd�y#1swYyxYw)Nr�r�)rar@r�r�r��rU�frs  rZ�#test_forwardref_instance_type_errorz3ForwardRefTests.test_forwardref_instance_type_errors?��
�
�
�u�
%��
�
�
�y�
)�	��r�2��	�	�	�s�
A�A
c��tjd�}|jt�5t	t
|�ddd�y#1swYyxYw)Nr�)rar@r�r�rRr�r�
s  rZ�#test_forwardref_subclass_type_errorz3ForwardRefTests.test_forwardref_subclass_type_errors?��
�
�
�u�
%��
�
�
�y�
)�	 ��s�B��	 �	 �	 �s�A�Ac��|jt�5tjd�ddd�y#1swYyxYwr$)r�r�rar@r�s rZ�test_forwardref_only_str_argz,ForwardRefTests.test_forwardref_only_str_args3��
�
�
�y�
)�	!����a� �	!�	!�	!�s�5�>c���tjd�}|j|tjd��|jtdtt
�|j|tjdt���tjdt��}|j|tjdt���|j|tjdd���y)Nr���module�__other_name__)rar@r�r�rr�rf)rUr�
�frms   rZ�test_forward_equalityz%ForwardRefTests.test_forward_equality"s���
�
�
�u�
%������V�.�.�u�5�6����D��K��c��3����B�� 1� 1�%�� I�J�����h�7������f�/�/��h�G�H����C��!2�!2�5�AQ�!R�Sr\c��tjd�}tjd�}tjd�}tjd�}Gd�d�}d|d|fd�}|jt|t	�t��||d��|j||�|j||�|j||�|jt|t|�|jt|t|�|jt|t|�|jt||ft|�|jt||tft|tf�y)Nrc��eZdZy)�4ForwardRefTests.test_forward_equality_gth.<locals>.CNrzrir\rZrr�
1r�r\r�r�c��yr`ri�r�r�s  rZrDz6ForwardRefTests.test_forward_equality_gth.<locals>.foo3r�r\r�
)
rar@r�r*r�r�rr�rr�)rUr��c1_gthr��c2_gthrrDs       rZ�test_forward_equality_gthz)ForwardRefTests.test_forward_equality_gth+s<��
�
�
�s�
#���"�"�3�'��
�
�
�s�
#���"�"�3�'��	�	�	�6�	�f�	�	
�����W�Y���A��QR�CS�T�����R� �����V�$������(�����b��4��<�0����D��H�d�1�g�.����D��L�$�q�'�2�����r�6�z�*�E�"�I�6�����r�6�3��/��r�3�w��@r\c	��tjd�}tjd�}tjd�}tjd�}d|d|fd�}t|t�t	��|jt
|�t
|��|jt
|�t
|��|jt
|�t
|��tjdt��}tjdd��}|jt
|�t
|��|jt
|�t
|��|jt
|�t
|��|jt
|�t
tjdt����y)Nr�r�r�c��yr`rir�
s  rZrDz7ForwardRefTests.test_forward_equality_hash.<locals>.fooFr�r\r�
r�
)	rar@r*r�r�r�r�rfr�)rUr�r�
r�r�
rD�c3�c4s        rZ�test_forward_equality_hashz*ForwardRefTests.test_forward_equality_hash@s@��
�
�
�u�
%���"�"�5�)��
�
�
�u�
%���"�"�5�)��	�6�	�f�	��s�G�I�v�x�0�����b��4��8�,�����f��t�F�|�4�����b��4��<�0�
�
�
�u�X�
6��
�
�
�u�-=�
>�����D��H�d�2�h�/����D��H�d�6�l�3����D��H�d�2�h�/�����b��4��(9�(9�%��(Q�#R�Sr\c��Gd�d�}d�}d�}|j|�|��|j|�|��y)Nc��eZdZy)�:ForwardRefTests.test_forward_equality_namespace.<locals>.ANrzrir\rZr�r�
Wr�r\r�c�v�tjd�}d|fd�}t|t�t	��|S)Nr�rtc��yr`riros rZrszPForwardRefTests.test_forward_equality_namespace.<locals>.namespace1.<locals>.fun[rqr\�rar@r*r�r�)r�rss  rZ�
namespace1zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace1Ys3���!�!�#�&�A�
�q�
��3��	�6�8�4��Hr\c��tjd�}Gd�d�}d|fd�}t|t�t	��|S)Nr�c��eZdZy)�NForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.ANrzrir\rZr�rcr�r\rtc��yr`riros rZrszPForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.funerqr\r)r�r�rss   rZ�
namespace2zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace2`s?���!�!�#�&�A�
�
�
�q�
�
�3��	�6�8�4��Hr\)r�r�)rUr�rrs    rZ�test_forward_equality_namespacez/ForwardRefTests.test_forward_equality_namespaceVs@��	�	�	�		�	
�����z�|�4����J�L�*�,�7r\c	��|jttd�d�|jtttdd���d�y)Nr�ztyping.List[ForwardRef('int')]�modr�
z,typing.List[ForwardRef('int', module='mod')])r�r�rr@r�s rZ�test_forward_reprz!ForwardRefTests.test_forward_reprnsA������d�5�k�*�,L�M�����d�:�e�E�#B�C�D�G�	Ir\c�N�dtdfd�}|jt|t�t	��dtt
i�dttd�tzfd�}|jt|t�t	��dtt
tzi�y)Nr�rc��yr`rir�s rZrDz/ForwardRefTests.test_union_forward.<locals>.foour�r\c��yr`rir�s rZrDz/ForwardRefTests.test_union_forward.<locals>.foo{r�r\)	rr�r*r�r�rr�r@r��rUrDs  rZ�test_union_forwardz"ForwardRefTests.test_union_forwardss���	�5��:�	�	
�����W�Y���A��u�Q�x��	*�	�5��C��)�C�/�	�	
�����W�Y���A��u�Q�x�#�~�.�	0r\c�2�dtdfd�}|jt|t�t	��dtt
i�dttd�fd�}|jt|t�t	��dtt
i�y)Nr�rc��yr`rir�s rZrDz/ForwardRefTests.test_tuple_forward.<locals>.foo�r�r\c��yr`rir�s rZrDz/ForwardRefTests.test_tuple_forward.<locals>.foo�r�r\)rr�r*r�r�rr�r@rs  rZ�test_tuple_forwardz"ForwardRefTests.test_tuple_forward�s{��	�5��:�	�	
�����W�Y���A��u�Q�x��	*�	�5��C��)�	�	
�����W�Y���A��u�Q�x��	*r\c��dd�}|jt|t�t��dtt
i�y)Nr�c��yr`rir�s rZrDz0ForwardRefTests.test_double_forward.<locals>.foo�r�r\)r�zList['int'])r�r*r�r�rr�rs  rZ�test_double_forwardz#ForwardRefTests.test_double_forward�s0��	������W�Y���A��t�C�y�)�	+r\c��d�}d�}d�}|�}|�}|j||�|jt|||�y)Nc�z�tjd�}|}d|fd�}t|t�t	��}|S)Nr�rtc��yr`riros rZrszPForwardRefTests.test_forward_recursion_actually.<locals>.namespace1.<locals>.fun�r�r\r�r�r�rs�rets    rZrzCForwardRefTests.test_forward_recursion_actually.<locals>.namespace1��6���!�!�#�&�A��A��q�� ��g�i���:�C��Hr\c�z�tjd�}|}d|fd�}t|t�t	��}|S)Nr�rtc��yr`riros rZrszPForwardRefTests.test_forward_recursion_actually.<locals>.namespace2.<locals>.fun�r�r\rrs    rZrzCForwardRefTests.test_forward_recursion_actually.<locals>.namespace2�rr\c��||k(Sr`ri)�o1�o2s  rZ�cmpz<ForwardRefTests.test_forward_recursion_actually.<locals>.cmp�s����8�Or\)rr	r��RecursionError)rUrrr$�r1�r2s      rZ�test_forward_recursion_actuallyz/ForwardRefTests.test_forward_recursion_actually�sE��	�	�	��\��
�\������R� ����.�#�r�2�6r\c����td�tt�f�G�fd�d�}G��fd�d�}G��fd�d�}G��fd�d	�}|jt	|t�t
��t	|t�t
���|jt	|t�t
��d
tttttttdffi�|jt	|t�t
��d
ttttttdffi�|jt	|t�t
��d
ttttttttdffttttdffi�|jt	|t�t
��d
ttttttdftttttttdfffi�y)N�Valuec�"��eZdZUeW�ed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.CrDN)rfrgrhrr�)r*s�rZrr,�s
����e��r\rc�(��eZdZUeW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.DrDN)rfrgrhrr��r*�	ValueLists��rZrr.�s����u�i�'�(�(r\rc�.��eZdZUeeW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.ErDN�rfrgrhrrr�r/s��rZrpr2�s����t�E�{�I�-�.�.r\rpc�2��eZdZUeW�eW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.FrDNr3r/s��rZrqr5�s����u�d�5�k�9�4�5�5r\rqrD)rrr�r�r*r�r�)rUrrrprqr*r0s     @@rZ�test_union_forward_recursionz,ForwardRefTests.test_union_forward_recursion�s������M�	��c�9�n�%��	�	�	)�	)�	/�	/�	6�	6�	
�����7�9�f�h�?��PQ�SZ�S\�^d�^f�Ag�h������7�9�f�h�?���e�C��e�C��g��<N�6O�1P�,P�&Q�!R�S�	U������7�9�f�h�?���s�D��s�D��M�7I�1J�,K�'K�!L�M�	O������7�9�f�h�?���!�%��T�%��T�'�]�8J�2K�-L�(L�"M�N�!�%��T�'�]�(:�";�<�=�"��	�	
�����7�9�f�h�?��� �!�%��T�'�]�(:�";�<�!�%��T�%��T�'�]�8J�2K�-L�(L�"M�N�O�"��	r\c��dtdgdffd�}|jt|t�t	��dtt
gt
fi�y)Nr�rc��yr`rir�s rZrDz2ForwardRefTests.test_callable_forward.<locals>.foo�r�r\)r!r�r*r�r�rrs  rZ�test_callable_forwardz%ForwardRefTests.test_callable_forward�sK��	�8�S�E�3�J�'�	�	
�����W�Y���A��x���Q��/�0�	2r\c��dd�}|jt|t�t��dtdt
fi�y)Nr�c��yr`rir�s rZrDz@ForwardRefTests.test_callable_with_ellipsis_forward.<locals>.foo�r�r\.)r�zCallable[..., T])r�r*r�r�r!rrs  rZ�#test_callable_with_ellipsis_forwardz3ForwardRefTests.test_callable_with_ellipsis_forward�s7��	�	
�����W�Y���A��x��Q��/�0�	2r\c��Gd�d�}Gd�d�}|jt|t��dtt�|jt|t��dt
t�|jt|t��dt�|jt|t��dt
�|j
t�5t|t��fddd�y#1swYyxYw)	Nc�R�eZdZUdZeded<dZeded<dZded<dZded	<y
)�5ForwardRefTests.test_special_forms_forward.<locals>.Cr)�
ClassVar[int])r�rr�)�
Final[int]�constr�r#rtr$r�N)	rfrgrhr�r?r�r�rtr�rir\rZrr?�s5��45�A�y�0�1�5�23�A�y�.�/�3��A�z���A�w�Nr\rc�"�eZdZUdZeded<y)�6ForwardRefTests.test_special_forms_forward.<locals>.CFrrAr�N)rfrgrhr�rr�rir\rZ�CFrD�s��$%�A�t�L�!�%r\rEr�r�rtr�)r�r*r�r#r�r$r�r�)rUrrEs   rZ�test_special_forms_forwardz*ForwardRefTests.test_special_forms_forward�s���	�	�	&�	&�	
�����7�9�5�c�:�H�S�M�J������7�9�5�c�:�E�#�J�G������7�9�5�c�:�H�E������7�9�5�c�:�E�B�
�
�
�y�
)�	+��2�w�y�)�*�	+�	+�	+�s�$D�Dc�j�|jt�5tdddd�y#1swYyxYw)Nz/T)r��SyntaxErrorr"r�s rZ�test_syntax_errorz!ForwardRefTests.test_syntax_error�s,��
�
�
�{�
+�	��D�M�	�	�	�rlc�v�dd�}|jt�5t|�ddd�y#1swYyxYw)Nc��yr`rir�s rZrDz6ForwardRefTests.test_delayed_syntax_error.<locals>.foo�r�r\)r�zNode[T)r�rHr*rs  rZ�test_delayed_syntax_errorz)ForwardRefTests.test_delayed_syntax_error�s4��	��
�
�{�
+�	 ��3��	 �	 �	 �s�/�8c��dd�}|jt�5t|t��ddd�y#1swYyxYw)Nc��yr`rir�s rZrDz,ForwardRefTests.test_name_error.<locals>.foo�r�r\)r�zNoode[T])r��	NameErrorr*r�rs  rZ�test_name_errorzForwardRefTests.test_name_error�s8��	��
�
�y�
)�	*��3���)�	*�	*�	*�s	�8�Ac�`�tdddifd��}t|�}|j|i�y)Nr��	whateversr�c��yr`rir�s rZrDz/ForwardRefTests.test_no_type_check.<locals>.foo���r\)r1r*r�)rUrD�ths   rZ�test_no_type_checkz"ForwardRefTests.test_no_type_checks>��	�	�;�	�2�	�
�	��C�
 ������R� r\c���tGd�d��}t|j�}|j|i�t|�j�}|j|i�y)Nc��eZdZdddifd�Zy)�3ForwardRefTests.test_no_type_check_class.<locals>.Cr�rRr�c��yr`rir�s rZrDz7ForwardRefTests.test_no_type_check_class.<locals>.C.foorqr\N�rfrgrhrDrir\rZrrY���
�{�
�r�
r\r)r1r*rDr�)rUr�cth�iths    rZ�test_no_type_check_classz(ForwardRefTests.test_no_type_check_classsY��	�	�	�
�	��Q�U�U�#������b�!��Q�S�W�W�%������b�!r\c���Gd�d��tG�fd�d���}|jt�j�dti�Gd�d|�}|jt|j
�dti�y)Nc��eZdZdefd�Zy)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.Crtc��yr`rir�s  rZr`z;ForwardRefTests.test_no_type_check_no_bases.<locals>.C.methr�r\Nr�rir\rZrrbs
��'�c�'r\rc���eZdZW�Zy)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.DN)rfrgrhr��rs�rZrres����Ar\rrtc��eZdZdefd�Zy)�:ForwardRefTests.test_no_type_check_no_bases.<locals>.Childrtc��yr`rir�s  rZrDz>ForwardRefTests.test_no_type_check_no_bases.<locals>.Child.foo&r�r\N)rfrgrhr�rDrir\rZr�
rh%s
��&�S�&r\r�
)r1r�r*r`r�rD)rUrr�
rs   @rZ�test_no_type_check_no_basesz+ForwardRefTests.test_no_type_check_no_basessp���	(�	(�	�	��	�
�	�	
�������/�#�s��<�	'�A�	'�	
�����	�	�2�S�#�J�?r\c�t�Gd�d�}Gd�d�}tGd�d��}||j|jj|jfD]S}|j	|��5|j|j�|jt|�i�ddd��U||fD]b}|j	|��5|jt�5|jddd�|jt|�i�ddd��dy#1swY��xYw#1swY�;xYw#1swY��xYw)	Nc��eZdZUeed<y)�>ForwardRefTests.test_no_type_check_nested_types.<locals>.Otherr�NrKrir\rZrdrm,r r\rdc��eZdZUeed<y)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Br�NrKrir\rZr�ro.r r\r�c�D�eZdZUeed<Gd�d�ZGd�d�ZeZy)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Ar�c�,�eZdZUeed<Gd�d�Zy)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.Br�c��eZdZUeed<y)�>ForwardRefTests.test_no_type_check_nested_types.<locals>.A.B.Cr�NrKrir\rZrru5s���Fr\rN)rfrgrhr�r�rrir\rZr�rs3s�����r\r�c��eZdZUeed<y)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.Dr�NrKrir\rZrrw7����r\rN)rfrgrhr�r�r�rrdrir\rZr�rq0s"���F�
�
�
�
��Er\r�)r�)�not_modified)r1r�rrrsr��__no_type_check__r�r*r�r�r�)rUrdr�r�r�rys      rZ�test_no_type_check_nested_typesz/ForwardRefTests.test_no_type_check_nested_types*s+��	�	�	�	�	�		�		�
�		�����a�c�c�e�e�Q�S�S�)�	<�E����E��*�
<����� 7� 7�8�� � ���!6��;�
<�
<�	<�
#�A�J�	F�L����<��8�
F��&�&�~�6�3� �2�2�3��#�#�N�<�$@�"�E�
F�
F�	F�	
<�
<��3�3��
F�
F�s0�+7D�D.�
D"�(#D.�D	�"D+�'D.�.D7	c�R�tGd�d��}|j|jj�|j	t|j�i�|j|jj�|j	t|j�i�y)Nc�@�eZdZededefd��Zededefd��Zy)�IForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Somertr�c��yr`riros rZ�stzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.stJs��#&r\r�c��yr`ri)rVr�s  rZ�clzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.clLs��(+r\N)rfrgrhrr
r�r�rr�rir\rZ�Somer~Hs2��
�&�c�&�c�&��&�
�+�3�+�3�+��+r\r�)r1r�r�rzr�r*r�)rUr�s  rZ�+test_no_type_check_class_and_static_methodsz;ForwardRefTests.test_no_type_check_class_and_static_methodsGsy��	�	,�	,�
�	,�	
������1�1�2��������0�"�5�������1�1�2��������0�"�5r\c�,�|jtj�|jt�5t
jjddd�|jt�5t
jjjddd�|jtj�|jt�5t
jjddd�y#1swY��xYw#1swY�mxYw#1swYyxYwr`)	r�r�
rzr�r�r�
r�
r�
r�
r�s rZ�test_no_type_check_other_modulez/ForwardRefTests.test_no_type_check_other_moduleTs������)�;�;�<�
�
�
�~�
.�	<��)�)�;�;�	<�
�
�
�~�
.�	B��)�)�/�/�A�A�	B�	
���0�B�B�C�
�
�
�~�
.�	?��,�,�>�>�	?�	?�
	<�	<��	B�	B��	?�	?�s#�C2�-%C>�D
�2C;�>D�
Dc���dtdtfd��tG�fd�d��}|jt�5�jddd�|jt
��ttd��y#1swY�0xYw)Nr�r�c��yr`rir�s rZr�zBForwardRefTests.test_no_type_check_foreign_functions.<locals>.someas��r\c�8��eZdZW�ZeW��ZeW��Zy)�?ForwardRefTests.test_no_type_check_foreign_functions.<locals>.AN)rfrgrh�
some_aliasr�
some_classrr
�some_static)r�s�rZr�r�ds����J�$�T�*�J�&�t�,�Kr\r�)r�r�)r�r1r�r�rzr�r*)rUr�r�s  @rZ�$test_no_type_check_foreign_functionsz4ForwardRefTests.test_no_type_check_foreign_functions_sw���	��	��	�
�	-�	-�
�	-�
�
�
�~�
.�	#��"�"�	#������-��s�/K�L�	#�	#�s�
A8�8Bc��tGd�d��}|j|jj�|j	t|j�i�y)Nc�*�eZdZUd�Zeegefed<y)�4ForwardRefTests.test_no_type_check_lambda.<locals>.Ac��|Sr`rir�s rZr�z=ForwardRefTests.test_no_type_check_lambda.<locals>.A.<lambda>rs��C�r\rN)rfrgrhrr!r�r�rir\rZr�r�os��)8�C��3�%��*�%�7r\r�)r1r�rrzr�r*rys  rZ�test_no_type_check_lambdaz)ForwardRefTests.test_no_type_check_lambdansJ��	�	8�	8�
�	8�	
������/�/�0��������.��3r\c�"�tt�yr`)r1r�r�s rZ�test_no_type_check_TypeErrorz,ForwardRefTests.test_no_type_check_TypeErrorws��	�d�r\c���Gd�d�}Gd�d�}Gd�d�}Gd�d�}d	tjti}||||fD]}|jt	|�|��y)
Nc�6�eZdZUdZej
eed<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.C�rDN)rfrgrhrDrar#r�r�rir\rZrr�}s��()�C�����%�)r\rc�"�eZdZUdZeeed<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Dr�rDN)rfrgrhrDr#r�r�rir\rZrr�s��!"�C��#��"r\rc��eZdZUdZded<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Er�r&
rDN�rfrgrhrDr�rir\rZrpr��s
��*+�C�'�+r\rpc��eZdZUdZded<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Fr�r@rDNr�rir\rZrqr��s��#$�C��$r\rqrD)rar#r�r�r*)rUrrrprq�expected_result�clazzs       rZ�(test_no_type_check_forward_ref_as_stringz8ForwardRefTests.test_no_type_check_forward_ref_as_string|sm��	*�	*�	#�	#�	,�	,�	%�	%�!�&�/�/�#�"6�7����A�q�\�	E�E����^�E�2�O�D�	Er\c��Gd�d�}Gd�d�}||fD]+}|jt�5t|�ddd��-y#1swY�8xYw)Nc��eZdZUdZded<y)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Er�z%typing.ClassVar[typing.ClassVar[int]]rDNr�rir\rZrpr��s
��;<�C�8�<r\rpc�"�eZdZUdZeded<y)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Fr�r@rDN)rfrgrhrDr#r�rir\rZrqr��s��-.�C��/�*�.r\rq)r�r�r*)rUrprqr�s    rZ�,test_nested_classvar_fails_forward_ref_checkz<ForwardRefTests.test_nested_classvar_fails_forward_ref_check�s[��	=�	=�	/�	/���V�	&�E��"�"�9�-�
&��u�%�
&�
&�	&�
&�
&�s�A�A	c��td��}|j|jd�|dddifd��}|Gd�d��}|j|jd	�t|�}|j|i�t|j�}|j|i�t|�j�}|j|i�y)
Nc��|Sr`rirY
s rZ�magic_decoratorz@ForwardRefTests.test_meta_no_type_check.<locals>.magic_decorator�s���Kr\r�r�rRr�c��yr`rir�s rZrDz4ForwardRefTests.test_meta_no_type_check.<locals>.foo�rTr\c��eZdZdddifd�Zy)�2ForwardRefTests.test_meta_no_type_check.<locals>.Cr�rRr�c��yr`rir�s rZrDz6ForwardRefTests.test_meta_no_type_check.<locals>.C.foo�rqr\Nr[rir\rZrr��r\r\rrD)r2r�rfr*rD)rUr�rDrrUr]r^s       rZ�test_meta_no_type_checkz'ForwardRefTests.test_meta_no_type_check�s���	 �	�
!�	�	
����1�1�3D�E�	�	�;�	�2�	�
�	�
�	�	�
�	�	
������u�-�
�C�
 ������R� ��Q�U�U�#������b�!��Q�S�W�W�%������b�!r\c��d}i}t||�t|dj�}|j||d|dd��y)Nz^class C:
    def foo(self, a: 'C') -> 'D': pass
class D:
    def bar(self, b: 'D') -> C: pass
rr)r�r�)rQr*rDr�)rUr�rS�hintss    rZ�test_default_globalsz$ForwardRefTests.test_default_globals�sH��9��
���T�2���r�#�w�{�{�+������b��g��C�� A�Br\c�:�|jttt��dtt�|jttt��dtt�|jttt��dt�y)Nr])r�r��Loopr�r$r�r�r�s rZ�test_final_forward_refz&ForwardRefTests.test_final_forward_ref�sd������T�7�9�-�f�5�u�T�{�C����C��g�i�0��8�%��*�E����C��g�i�0��8�%�@r\c��td�}|j|dzt|df�|jd|ztd|f�yrs)r@r�rrjs  rZruzForwardRefTests.test_or�sC���s�O������S��%��3��-�0�����q��%��Q��-�0r\N)&rfrgrhrr�
r�
r�
r�
r�
r�
r	rrrrr(r6r9r<rFrIrLrPrVr_rjr{r�r�r�r�r�r�r�r�r�r�rurir\rZr�
r�
�s���!7�F�
 �
!�T�A�*T�,8�0I�
0�*�+�7�2�@2�2�+�$�
 �*�!�
"�@� F�:6�	?�
M�4��
E�&�"�2	C�A�
1r\r�
c��d|z|zS)Nr�rir�s  rZ�cached_funcr��s���q�5�1�9�r\c�2�eZdZed��Zed��Zd�Zy)�MethodHolderc��yr`rir�s rZrj
zMethodHolder.clsmethod�s��r\c��yr`ririr\rZrl
zMethodHolder.stmethod�rS
r\c��yr`rir�s rZr�zMethodHolder.method�r�r\N)rfrgrhrrj
rr
rl
r�rir\rZr�r��s!����������r\r�c�`�eZdZd�Zd�Zed��Zd�Zede	d���d��Z
d�Zy	)
�
OverloadTestsc�~�|jt�5td��}|�ddd�y#1swYyxYw)Nc��yr`ririr\rZr�
z/OverloadTests.test_overload_fails.<locals>.blah�s��r\)r�r�r�rUr�
s  rZ�test_overload_failsz!OverloadTests.test_overload_fails�s?��
�
�
�2�
3�	�
�
��
�
�F�
	�	�	�r�c�0�td��}d�}|�y)Nc��yr`ririr\rZr�
z2OverloadTests.test_overload_succeeds.<locals>.blah�rTr\c��yr`ririr\rZr�
z2OverloadTests.test_overload_succeeds.<locals>.blah�r�r\�rr�s  rZ�test_overload_succeedsz$OverloadTests.test_overload_succeeds�s ��	�	�
�	�	�	
�r\c�z�tdtd���5|jtji�tt�tt�|jtjt�g�|jtjt�g�ddd�y#1swYyxYw)N�typing._overload_registryc� �tt�Sr`�rr�rir\rZr�zCOverloadTests.test_overload_on_compiled_functions.<locals>.<lambda>�s��{�4�'8�r\)	r	rr�ra�_overload_registryr�sum�printrr�s rZ�#test_overload_on_compiled_functionsz1OverloadTests.test_overload_on_compiled_functions�s���
�.��8�9�;�	>�
���V�6�6��;�
�S�M��U�O�
���V�1�1�#�6��;����V�1�1�%�8�"�=�	>�	>�	>�s�BB1�1B:c�T�d�}|}t|�d�}|}t|�d�}|||gfS)Nc��yr`ririr\rZr�
z,OverloadTests.set_up_overloads.<locals>.blah�r�r\c��yr`ririr\rZr�
z,OverloadTests.set_up_overloads.<locals>.blah�r�r\c��yr`ririr\rZr�
z,OverloadTests.set_up_overloads.<locals>.blahr�r\r�)rUr�
�	overload1�	overload2s    rZ�set_up_overloadszOverloadTests.set_up_overloads�s?��	��	����	��	����	��i��+�+�+r\r�c� �tt�Sr`r�rir\rZr�zOverloadTests.<lambda>	s��K��-�r\c��|jtji�|j�\}}|j	tji�|jtt
|��|�d�}t|�|}d�}|jtt
|��|g�d�}|jtt
|��g�t�|jtji�|jt
|�g�d�}|jt
|�g�|jtji�y)Nc��yr`ririr\rZ�some_other_funcz=OverloadTests.test_overload_registry.<locals>.some_other_funcr�r\c��yr`ririr\rZr�z=OverloadTests.test_overload_registry.<locals>.some_other_funcr�r\c��yr`ririr\rZ�not_overloadedz<OverloadTests.test_overload_registry.<locals>.not_overloadedr�r\c��yr`ririr\rZ�the_only_onez:OverloadTests.test_overload_registry.<locals>.the_only_one"r�r\)	r�rar�r�r�r�rrr)rU�impl�	overloadsr��other_overloadr�r�s       rZ�test_overload_registryz$OverloadTests.test_overload_registrys��	
����2�2�B�7��/�/�1���i����F�5�5�r�:�����m�D�1�2�I�>�#���!�(��#�����m�O�<�=��?O�P�"�����m�N�;�<�b�A�	������2�2�B�7�����t�,�b�1�	!�����|�4�b�9�����2�2�B�7r\c��td�D]9}|j�\}}|jtt	|��|��;yr�
)rpr�r�r�r)rU�_r�r�s    rZ�test_overload_registry_repeatedz-OverloadTests.test_overload_registry_repeated&sC���q��	C�A�"�3�3�5�O�D�)����T�-��"5�6�	�B�	Cr\N)rfrgrhr�r�rJr�r�r	rr�r�rir\rZr�r��sP�����>��>�,�&�&��-�.�0�8�0�8�8Cr\r�)�
ann_module�ann_module2�ann_module3�ann_module5�ann_module6�T_ac�8�eZdZd�Zdej
efd�Zy)�AwaitableWrapperc��||_yr`�r��rUr�s  rZrDzAwaitableWrapper.__init__7�	����
r\r�c#�*K�d��|jS�wr`r�r�s rZ�	__await__zAwaitableWrapper.__await__:s����
��z�z��s�N)rfrgrhrDra�Iteratorr�r�rir\rZr�r�5s����6�?�?�3�/�r\r�c�d�eZdZdejefd�Zdejefd�Zdefd�Z	y)�AsyncIteratorWrapperr�c��||_yr`r�r�s  rZrDzAsyncIteratorWrapper.__init__@r�r\r�c��|Sr`rir�s rZ�	__aiter__zAsyncIteratorWrapper.__aiter__Cs���r\c��JK�|j�d{���}|r|St�7��wr`)r��StopAsyncIteration)rU�datas  rZ�	__anext__zAsyncIteratorWrapper.__anext__Fs%�����Z�Z�����K�$�$�	 �s�#�!�#N)
rfrgrhrarbr�rD�
AsyncIteratorr�rrir\rZr�r�>s:���f�o�o�c�2���6�/�/��4��%��%r\r�c��eZdZdefd�Zd�Zy)�ACMr�c��K�y�wr�rir�s rZ�
__aenter__zACM.__aenter__Ns	�������c��K�y�wr`ri)rU�etyper��tbs    rZ�	__aexit__z
ACM.__aexit__Ps	�����rN)rfrgrhr�rrrir\rZrrMs���#��r\rc��eZdZUeed<y)r�r�N)rfrgrhrRr�rir\rZr�r�Ss���Hr\r�c�<�eZdZUdZeeded<eed<eed<y)r�Nrtr�r�)rfrgrhrtr#rr�r�rir\rZr�r�Us��!%�A�x���
��%�
�F�
�Fr\r�c�,�eZdZUe�Zeded<y)�CSubr�N)rfrgrhr�r�r#r�rir\rZrrYs���#�A�x���r\rc�(�eZdZUgZeeeed<y)rr�lstN)rfrgrhrr#rrr�rir\rZrrrr[s���C��$�q�'�	�r\rrc��eZdZUeded<y)r�r]N)rfrgrhr$r�rir\rZr�r�^s��
��-�r\r�c�"�eZdZUded<ded<y)�NoneAndForward�parentN�meaningr"rir\rZrras
����
�Mr\rc�"�eZdZUeed<eed<y)�CoolEmployeer��coolN�rfrgrhr�r�r�rir\rZrres��

�I�

�Ir\rc�&�eZdZUeed<dZeed<y)�CoolEmployeeWithDefaultr�rrN)rfrgrhr�r�rr�rir\rZrris��

�I��D�#�Mr\rc��eZdZUeed<d�Zy)�XMethrtc� �d|jzSr�
ror�s rZ�doublezXMeth.doubleos���4�6�6�z�r\N)rfrgrhr�r�r rir\rZrrms��
�F�r\rc�2�eZdZUeed<dZeed<d�Zd�Zy)�XReprrtrlr�c�8�|j�d|j��S)Nz -> r�r�s rZ�__str__z
XRepr.__str__us���&�&���d�f�f�X�&�&r\c��yr:ri�rUrs  rZ�__add__z
XRepr.__add__ws��r\N)rfrgrhr�r�r�r$r'rir\rZr"r"rs��
�F�
�A�s�J�'�r\r"�LabelrOc�"�eZdZUeed<eed<y)�Point2Drtr�NrKrir\rZr*r*|rLr\r*c�"�eZdZUeed<eed<y)�Point2DGenericr�r�N�rfrgrhrr�rir\rZr,r,�s���D��Dr\r,c��eZdZUeed<y)rr�NrKrir\rZrr�rVr\rF��totalc��eZdZUeed<y)�
BarGenericr�NrKrir\rZr2r2�rVr\r2c��eZdZy)�LabelPoint2DNrzrir\rZr4r4�r�r\r4c�"�eZdZUeed<eed<y)�Options�	log_level�log_pathNrSrir\rZr6r6�s���N��Mr\r6c�(�eZdZUeed<eeed<y)�
TotalMovie�titlerAN)rfrgrhr�r�r6r�rir\rZr:r:�s���J�
�c�
�r\r:c�(�eZdZUeeed<eed<y)�
NontotalMovier;rAN)rfrgrhr7r�r�r�rir\rZr=r=�s���C�=��

�Ir\r=c��eZdZUeeed<y)�ParentNontotalMovier;N�rfrgrhr7r�r�rir\rZr?r?�s���C�=�r\r?c��eZdZUeeed<y)�ChildTotalMovierAN�rfrgrhr6r�r�rir\rZrBrB�s
��
�c�
�r\rBc�2�eZdZUeeeedfdfed<y)�ParentDeeplyAnnotatedMovier	�
another levelr;N)rfrgrhr?r7r�r�rir\rZrErE�s ���Y�x��}�h�6�7��H�I�Ir\rEc�(�eZdZUeeedfed<y)�ChildDeeplyAnnotatedMovie��rAN)rfrgrhr6r?r�r�rir\rZrHrH�s��
�i��T�	�*�
+�+r\rHc�B�eZdZUeeedfed<eeedfed<y)�AnnotatedMovier	r;rIrAN�	rfrgrhr?r7r�r�r6r�rir\rZrKrK�s*���X�c�]�H�,�-�-�
�i��T�	�*�
+�+r\rKc�L�eZdZUeeeedfdfed<eeedfed<y)�DeeplyAnnotatedMovier	rFr;rIrANrLrir\rZrNrN�s4���Y�x��}�h�6�7��H�I�I�
�i��T�	�*�
+�+r\rNc�.�eZdZUeded<eded<y)�WeirdlyQuotedMovie)z"Annotated[Required[str], "foobar"]rFr;zAnnotated[int, 2000]rAN)rfrgrhr?r�r6rir\rZrPrP�s���J�K�K�
�,�
-�-r\rPc�"�eZdZUded<ded<y)�HasForeignBaseClassr"�
some_xreprzmod_generics_cache.A�other_aNr"rir\rZrRrR�s����
#�#r\rR�amc��xK�|4�d{���}|cddd��d{���S7�7�#1�d{���7swYyxYw�wr`ri)rUrts  rZ�g_withrW�s=�������Q�����������s0�:�!�:�%�:�#�:�:�7�.�7�:r�c�v�eZdZejdd��Zejejdd���Zy)�
ForRefExamplec��yr`rir�s rZrN
zForRefExample.func�s��r\c��yr`rir�s rZ�nestedzForRefExample.nested�s��	
r\N)rUrY)rfrgrhr��decrN
r\rir\rZrYrY�s<���^�^�
��
��^�^��^�^�
���
r\rY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�Zy)�GetTypeHintTestsc�B�|jt�5td�ddd�|jt�5td�ddd�|jt�5td�ddd�y#1swY�\xYw#1swY�?xYw#1swYyxYw)N�{r�)r�r�r�r�s rZ�(test_get_type_hints_from_various_objectsz9GetTypeHintTests.test_get_type_hints_from_various_objects�s���
�
�
�y�
)�	���H�	�
�
�
�y�
)�	���J�	�
�
�
�y�
)�	���I�	�	�		�	��	�	��	�	�s"�A=�B	�(B�=B�	B�Bc��dtttfttttzd�}|j	tt�|�|j	tt�i�|j	tt�i�y)Nr�)rlrdrtr�r�)	rr�r�rRr�r�r�r�r�)rU�ann_module_type_hintss  rZ�test_get_type_hints_modulesz,GetTypeHintTests.test_get_type_hints_modules�sa��$%�E�#�s�(�O�#�C�VY�\a�Va� b������Z��*?�@�����[�)�2�.�����[�)�2�.r\z	known bugc��ttjttjd�}|j	tt�|�y)N)�	default_a�	default_b)rrKr�r�r�r�)rU�	mgc_hintss  rZ�&test_get_type_hints_modules_forwardrefz7GetTypeHintTests.test_get_type_hints_modules_forwardref�s@��
#+�+=�+?�+?�"@�"*�+=�+?�+?�"@�B�	�����/�0�)�<r\c��|jttj�dttji�|jttj�t�|jttj�dtd��|jttj�ttttjd��|jttj�dti�|jttj�dttji�|jttj�ttd��|jttj �dti�|jtt"�t"td�d��|jtt$�t&t(j*t(j,d	��|jtt&j.�ttd��|jtt(j,�t(j,j*t(j,j*t(j*d
��y)Nr�ra)�123r�)r�r�r�r�r�rt)rr)rSrT�some_b)�my_inner_a1�my_inner_a2�
my_outer_a)r�r�r�rrr��j_classr�r�r�rr�rmr��h_classr3rDrrRr"rKr�r�r{r�s rZ�test_get_type_hints_classesz,GetTypeHintTests.test_get_type_hints_classes�s�������Z�\�\�*��x�
���5�6�	8����c�*�"4�"4�5�t�<�����Z�\�\�*�C�d�,C�D�����Z�\�\�*�"��8�J�L�L�3I�J�	L�����Z�\�\�*�S�#�J�7�����Z�/�/�0��x�
���5�6�	8�����Z�\�\�*�#�C�,@�A�����Z�^�^�,�s�C�j�9�����^�,�$2�t�D�z�J�	L�����0�1�(-�:L�:N�:N�$6�$8�$8�:�	;�	
����U�]�]�+�"��-�	/�����/�1�1�2�);�)=�)=�)?�)?�);�)=�)=�)?�)?�(:�(<�(<�>�	?r\c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUdZeed<y)�ZGetTypeHintTests.test_get_type_hints_classes_no_implicit_optional.<locals>.WithNoneDefaultN�field)rfrgrhrwr�r�rir\rZ�WithNoneDefaultrv�s���E�3�r\rxrw)r�r�r�)rUrxs  rZ�0test_get_type_hints_classes_no_implicit_optionalzAGetTypeHintTests.test_get_type_hints_classes_no_implicit_optional�s'��	�	�	
����_�-���~�>r\c���tGd�d��}|j|j�|j|jjj�|jt
tjj�i�Gd�dtt�}tGd�d|��}|jt
|j�dti�y)Nc� �eZdZGd�d�Zy)�>GetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheckc��eZdZdd�Zy)�BGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Innc��yr`rir�s  rZrDzKGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Inn.__init__r�r\N)rtz
not a typer�rir\rZ�Innr~s��8r\r�N)rfrgrhr�rir\rZ�	NoTpCheckr|s��
9�
9r\r�c��eZdZdefd�Zy)�:GetTypeHintTests.test_respect_no_type_check.<locals>.ABasertc��yr`riros rZr`z?GetTypeHintTests.test_respect_no_type_check.<locals>.ABase.methr�r\Nr�rir\rZ�ABaser�
s
��!��!r\r�c��eZdZy)�8GetTypeHintTests.test_respect_no_type_check.<locals>.DerNrzrir\rZ�Derr�s��r\r�rt)
r1r�rzr�rDr�r�r��NTCr`r"rr�)rUr�r�r�s    rZ�test_respect_no_type_checkz+GetTypeHintTests.test_respect_no_type_checks���	�	9�	9�
�	9�	
���	�3�3�4����	�
�
�.�.�@�@�A�����[�_�_�1�1�2�B�7�	"�G�A�J�	"�	��%��
������U�Z�Z��3��*�5r\c��|jtt�i�|jtt�i�|jtt�i�|jtt
�i�|jttj�i�|jtt
�j�i�|jttj�i�yr`)
r�r�r�r�r2r�rGr$r��joinr�s rZ� test_get_type_hints_for_builtinsz1GetTypeHintTests.test_get_type_hints_for_builtinss�������S��2�&�����T��B�'�����S��2�&�����S��2�&�����V�^�^�,�b�1�����V�X�-�-�.��3�����S�X�X���+r\c��d�}d|jd<|jt|�dti�dd�}|jt|�dt	d�i�y)Nc��yr`rir�s  rZ�testfz6GetTypeHintTests.test_previous_behavior.<locals>.testfr�r\r�rtc��yr`riros rZ�testgz6GetTypeHintTests.test_previous_behavior.<locals>.testgr�r\)rtN)r�r�r�r�r�)rUr�r�s   rZ�test_previous_behaviorz'GetTypeHintTests.test_previous_behaviorsM���%*����c�"�����U��c�3�Z�0������U��c�4��:�%6�7r\c��Gd�d�}Gd�d�}|�}ddi|_|jt|t��d|i�y)Nc��eZdZy)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.ANrzrir\rZr�r�"r�r\r�c��eZdZy)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.BNrzrir\rZr�r�#r�r\r�rt)r�r�r�r�)rUr�r�r�s    rZ�/test_get_type_hints_for_object_with_annotationsz@GetTypeHintTests.test_get_type_hints_for_object_with_annotations!s<������
�C�� �#�J�������Q���)�C��8�4r\c	�L�|jttjtj�dt
jtji�|jttt��tttttd��|jttt��tttttttd��|jtt�dttti�y)N�var)r�rtr�)r�r�r�rtr)r�r�r��CVr�rar#r�r�r�rrrrrrr�s rZ�test_get_type_hints_ClassVarz-GetTypeHintTests.test_get_type_hints_ClassVar(s�������[�^�^�[�-A�-A�B��������!@�A�	C�����Q��	�*�"��(�1�+�)>�S�I�	K�����T�7�9�-�'��~�C�c�'����4�6�	7�	
����Q��%��$�q�'�):�!;�<r\c��dti}|jttj�|�|jttj�|�y)NrU)rYr�r�rN
r\)rU�expectss  rZ�,test_get_type_hints_wrapped_decoratored_funcz=GetTypeHintTests.test_get_type_hints_wrapped_decoratored_func2sB���=�)������]�/�/�0�'�:�����]�1�1�2�G�<r\c�<�dtdfd�}ttdf}|jt	|t�t
��dtti�|jt	|t�t
�d��dtttdfi�dttd�fd�}ttdf}|jt	|t�t
��dtti�|jt	|t�t
�d��dtttdfi�tttdfd	f}d|fd
�}|jt	|t�t
��dttd	f�|jt	|t�t
�d��d|�tttdfd	f}d|fd�}|jt	|t�t
��dttd	f�|jt	|t�t
�d��d|�dtjd	tttdffd
tjtttdfffd�}|jt	|t�t
��tjd	ttftjttfd��tjd	ttf}d|fd�}|jt	|t�t
�d��d|�tjtt zdf}d|fd�}	|jt	|	t�t
��dtt zi�|jt	|	t�t
�d��dtjtt zdfi�y)Nrtric��yr`riros rZr	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobar8r�r\�rlr�T��include_extrasc��yr`riros rZr	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobarCr�r\)rlr.c��yr`riros rZr	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfooOr�r\c��yr`riros rZr	z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfooWr�r\rBr��mutablec��yr`rir�s  rZr	z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo2^s��DGr\r�c��yr`riros rZ�barfoo3z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo3fr�r\c��yr`riros rZ�barfoo4z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo4lr�r\)rr?r�r�r*r�r�r�r@rrr�rar!rr�rR)
rUr	ri�BAr	r	�BA2r��BA3r�s
          rZ�test_get_type_hints_annotatedz.GetTypeHintTests.test_get_type_hints_annotated7sN��%�d�3�i�%��c�7�l�#������6�7�9�f�h�7�
�$�s�)��	
�	
����6�7�9�f�h�t�L�
�$�y��g��.�/�0�	
�
	2�d�:�c�?�+�1��c�7�l�#������6�7�9�f�h�7�
�$�s�)��	
�	
����6�7�9�f�h�t�L�
�$�y��g��.�/�0�	
�
�9�Q��Y�'��,�
-���b��������	�6�8�D�S�I�5�QR�TW�QW�=�Y�����6�7�9�f�h�t�L�S�Q��	
�
�9�Q��Y�'��,�
-���b��������	�6�8�D�S�I�5�QR�TW�QW�=�Y�����6�7�9�f�h�t�L�S�Q��	
�
	H�v���s�I�d�1�g�w�6F�,G�'G�H�	H��|�|�C��1�i�<�)@�$@�A�	H�����7�G�I�v�x�8��/�/�#�t�A�w�,�/�f�l�l�3��6�6J�K�	
�
�o�o�c�4��7�l�+�� �s� ��
�
��7�G�I�v�x��M�c�R��	
����s�U�{�G�3�4�� �s� �����7�G�I�v�x�8�
�#��+��	
�	
����7�G�I�v�x��M�
�&�"�"�3��;��#7�8�9�	
r\c	��dttttdfzfd�}|j	t|�dtttzi�|j	t|d��dttttdfzi�y)Nrt�metac��yr`riros rZ�
with_unionzKGetTypeHintTests.test_get_type_hints_annotated_in_union.<locals>.with_unionwr�r\Tr�)r�r�r?r�r�r*)rUr�s  rZ�&test_get_type_hints_annotated_in_unionz7GetTypeHintTests.test_get_type_hints_annotated_in_unionvsr��B�#��Y�s�F�{�%;� <�<�B�����
�3�c�3��c��?�5K�L�����:�d�;�
�#��Y�s�F�{�3�4�4�5�	
r\c���ttdf�G�fd�dtt�}|jt	|j
t
�t��|t|td��|jt	|j
t
�t�d���|t|td��|jt	|jt
�t��|t|td��y)N�Constc�.��eZdZdd�ZdW�dddfd�Zy)�BGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySetrr��MySet[T]c��yr`rir&s  rZ�__ior__zJGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__ior__����r\c��yr`rir&s  rZ�__iand__zKGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__iand__�r�r\N)rzConst[MySet[T]]r�r�)rfrgrhr�r�)r�s�rZ�MySetr��s ���
�
�e�J�&7�
�J�
r\r�)rr�Tr�)	r?rr"r�r*r�r�r�r�)rUr�r�s  @rZ�"test_get_type_hints_annotated_refsz3GetTypeHintTests.test_get_type_hints_annotated_refss�����!�W�*�%��	�G�A�J�	�	
����5�>�>�7�9�f�h�?��A�h�%��(�3�	
�
	
����5�>�>�7�9�f�h�t�T��E�!�H�o��q��:�	
�
	
����5�=�=�'�)�V�X�>��A�h�%��(�3�	
r\c���ddttdffd�}|jt|�dti�|jt|d��dttdfi�y)Nrtrc��yr`riros rZ�annotated_with_none_defaultzeGetTypeHintTests.test_get_type_hints_annotated_with_none_default.<locals>.annotated_with_none_default�r�r\Tr�r`)r?r�r�r*)rUr�s  rZ�/test_get_type_hints_annotated_with_none_defaultz@GetTypeHintTests.test_get_type_hints_annotated_with_none_default�s]��N�9�S�&�[�+A�N�����6�7�
�#�J�	
�	
����6�t�L�
�)�C��K�(�)�	
r\c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUeZded<y)�IGetTypeHintTests.test_get_type_hints_classes_str_annotations.<locals>.Foor�rtN)rfrgrhr�r�r�rir\rZrr��s���A��Fr\rrt)r�r*r�r�s  rZ�+test_get_type_hints_classes_str_annotationsz<GetTypeHintTests.test_get_type_hints_classes_str_annotations�s'��	�	�	
�����,�s�C�j�9r\c��Gd�d�}d|_|jdtj�|j	t|�i�y)Nc��eZdZy)�BGetTypeHintTests.test_get_type_hints_bad_module.<locals>.BadModuleNrzrir\rZ�	BadModuler��r�r\r��bad)rgr�sys�modulesr�r*)rUr�s  rZ�test_get_type_hints_bad_modulez/GetTypeHintTests.test_get_type_hints_bad_module�s=��	�	�$�	���������,�����	�2�B�7r\c���Gd�d�}Gd�d|�}dx|_|_|jdtj�|j	t|�ttd��y)Nc��eZdZUeed<y)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadBaserDN)rfrgrhr�r�rir\rZ�BadBaser��s���Jr\r�c��eZdZUeed<y)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadTyperNr&	rir\rZ�BadTyper��s���Ir\r�r�r)rgrr�r�r�r*r�r�)rUr�r�s   rZ�(test_get_type_hints_annotated_bad_modulez9GetTypeHintTests.test_get_type_hints_annotated_bad_module�sV��	�	�	�g�	�27�7���W�/��������,������0�%��2M�Nr\c���tt�}|j|dtti�ttj
�}|j|dti�y)Nr�r�)r*r�r�r$r��MyClass)rUr�s  rZ�test_forward_ref_and_finalz+GetTypeHintTests.test_forward_ref_and_final�sJ���{�+��������s�� 4�5��{�2�2�3�������%� 0�1r\c�x�|jtd�5tt�ddd�y#1swYyxYw)Nz4typing.ClassVar\[int\] is not valid as type argument)r�r�r*r�r�s rZ�test_top_level_class_varz)GetTypeHintTests.test_top_level_class_var�s5��
�
#�
#��C�
�	(�
�;�'�		(�	(�	(���0�9c	� �|jtt�ttd��|jttd��tt
td��|jtt�ttd��|jttd��tttdft
ttdfd��|jtt�ttd��|jttd��tttddft
ttdfd��|jtt�ttd��|jttd��tttddft
ttdfd��|jttj�dti�|jttjd��dtttddd	fi�|jtt�ttd��|jttd��ttt
td��|jtt�ttd��|jttd��tttddft
ttdfd��y)
N)r;rATr�r	rIrFr�r�r�)r�r*r:r�r�r6rKr?r7rNrPrL�
VeryAnnotatedrBrHr�s rZ�test_get_type_hints_typeddictz.GetTypeHintTests.test_get_type_hints_typeddict�sh������
�3�s�C�5P�Q�����
�4�H����$�K
�	�
	
�����7�3�PS�9T�U������t�L��x��}�h�6�7��	�#�t�)� 4�5�O
�	�
	
����(<�=��VY�?Z�[�����(<�T�R��x��}�h��G�H��	�#�t�)� 4�5�U
�	�
	
����(:�;�s�TW�=X�Y�����(:�4�P��x��}�h��G�H��	�#�t�)� 4�5�S
�	�
	
����(:�(H�(H�I�C�QT�:�V�����(:�(H�(H�Y]�^���8�C�=�#�s�C�7�8�a
�	�	
�����8�C�QT�:U�V�������M��c�]�K��,<�P
�	�	
����(A�B�c�[^�D_�`�����(A�RV�W��x��}�h��G�H��	�#�t�)� 4�5�Z
�	r\c��td�}dtjjtgtffd�}dtjjdtffd�}dtjj|tffd�}|jt
|�dtjjtgtfi�|jt
|�dtjjdtfi�|jt
|�dtjj|tfi�y)Nr�rtc��yr`riros rZrdzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.f�r�r\.c��yr`riros rZr�zHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.g�r�r\c��yr`riros rZr�zHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.h�r�r\)rDr�r�r!r�r�r*)rUr�rdr�r�s     rZ�,test_get_type_hints_collections_abc_callablez=GetTypeHintTests.test_get_type_hints_collections_abc_callable�s����c�N��;����)�)�3�%��*�5�;�9����)�)�#�s�(�3�9�7����)�)�!�S�&�1�7������*�S�+�/�/�2J�2J�C�5�RU�:�2V�,W�X������*�S�+�/�/�2J�2J�3�PS�8�2T�,U�V������*�S�+�/�/�2J�2J�1�c�6�2R�,S�Tr\N)rfrgrhrbrerrjrsryr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rir\rZr_r_�s����/�
�+��=��=�?�0?�6�,�8�5�=�=�
=
�~
�
�6

�:�8�O�2�(�'�R	Ur\r_c��eZdZd�Zd�Zy)�GetUtilitiesTestCasec�d�td�}td�}td�}Gd�dt|�}|j	t|t�|�|j	t||�|�|j	tt�d�|j	ttt�t�|j	ttttf�t�|j	ttd�t�|j	tttt�t�|j	tt�t�|j	tt|�t�|j	ttt||ft�t�|j	tt|df�t�|j	tt�t�|j	tt�t �|j	tt"�t$j&j"�|j	ttt�t�|j	tt�d�|j	tttz�t(j*�|j	t|j,�|�|j	t|j.�|�|j	tt0t�t0�|j	tt2t�t2�|j	tg|��d�t4�|j	tt4|�t4�|j	tgt g|����d�t �|j	tt4tt4|�t4�y)	Nrr�r�c��eZdZy)�/GetUtilitiesTestCase.test_get_origin.<locals>.CNrzrir\rZrr�	r�r\r�r��+r�r)rrrDr"r�r+r�r#rr�rr$rrr�r?r�r!r�r�r�r
r�rBr7r6r)rUrr�r�rs     rZr�z$GetUtilitiesTestCase.test_get_origins����C�L��
�$�
���c�N��!���
�!��
�
�j��3��(�!�,��
�
�j��1��&��*��
�
�j��o�t�,��
�
�j��#��/��:��
�
�j��s�C�x��1�5�9��
�
�j����1�7�;��
�
�j��t�C�y�!1�2�E�:��
�
�j��)�7�3��
�
�j����,�g�6��
�
�j��e�A�q�D�k�!2�3�!7�8�$�?��
�
�j��1�g�:�!6�7��C��
�
�j��&��-��
�
�j��'��/��
�
�j��*�K�O�O�,D�,D�E��
�
�j��c��+�T�2��
�
�j��&��-��
�
�j����,�e�o�o�>��
�
�j����(�!�,��
�
�j����*�A�.��
�
�j��#��/��:��
�
�j��S�!1�2�K�@��
�
�j��2����+�V�4��
�
�j����,�f�5��
�
�j��5��"��:���!2�3�U�;��
�
�j���f�R�j�(9�!:�;�V�Dr\c
�(�td�}Gd�dt|�}|jt|t�tf�|jt||�|f�|jtt
jt�tf�|jtt
j|�|f�|jttt�tf�|jtt|�|f�|jt|�d�|jtt�d�|jtt�d�|jtt�d�|jtt�d�|jttt�tf�|jttttf�ttf�|jttd�d�|jttt t�t tf�|jtt"t�tt%d�f�|jtttdf�tt%d�f�|jtttt&|tfft�tt&ttff�|jtt
j(tt&||fft"t�tt&t"tt"tff�|jtt*g|ft�gtf�|jtt*dtf�dtf�|jtt*tgtf�tgtf�|jtttt*t&|dfgtff�tt*t&|dfgtff�|jtt&tdf�tdf�|jtt&d�d�|jtt,|ddd	gf�|ddd	gf�|jtt �d�|jtt&�d�|jtt*�d�|jtt.t�tf�|jtt.�d�|jtt0j2j*tgtf�tgtf�|jtt0j2j*dtf�dtf�|jtt0j2j*gtf�gtf�|jtt0j2j*tgtf�tt*tgtf��t5d
�}|jt|�d�|jt|j6�d�|jt|j8�d�|jtt*|tf�|tf�|jtt0j2j*|tf�|tf�|jtt*t:t|ftf�t:t|ftf�|jtt0j2j*t:t|ftf�t:t|ftf�|jtt:tt|f�tt|f�|jtt.tz�t.tf�|jtt<t�tf�|jtt>t�tf�|jtt@�d�|jttBt�tf�tEd�}|jt|�d�|jtg|��d�|f�|jttF|�|f�|jttHg|���g|���|jttHtF|�tF|f�|jtgtHg|����d�g|���|jttFtHtF|�tHtF|f�y)
Nrc��eZdZy)�-GetUtilitiesTestCase.test_get_args.<locals>.CNrzrir\rZrr�&r�r\rrir�.�oner��threer�r�r)%rr"r�r,r�rar�r,rrArBr#rr�rr$rrr�rrr!r?r�r�r�rDr�rBrEr7r6rCrHrrr�)rUrrr�r�s     rZ�
test_get_argsz"GetUtilitiesTestCase.test_get_args$s����C�L��!���
�!�����!�C�&�)�C�6�2�����!�A�$��!��.�����&�"4�"4�S�"9�:�S�F�C�����&�"4�"4�Q�"7�8�1�$�?�����.��"5�6���?�����.��"3�4�q�d�;�����!��b�)�����#���+�����#���+�����$���,�����-�0�"�5�����(�3�-�0�3�&�9�����%��S��/�2�S�#�J�?�����'�&�/�2�H�=�����%��S�	�"2�3�d�3�i�\�B�����(�3�-�0�3��T�
�2C�D�����%��T�	�"2�3�c�4��:�5F�G�����%��U�1�c�6�]�(:�";�C�"@�A��u�S�#�X��/�	1�����&�+�+�c�5��A��;�.>�"?���
�"N�O��u�X�c�]�H�S�M�%A�B�C�	E�����(�2�q�5�/�#�"6�7�"�c��C�����(�3��8�"4�5��S�z�B�����(�C�5�#�:�"6�7�3�%���F�����%��X�u�Q��V�}�o�s�6J�-K�(K�"L�M��x��q�#�v����(<�=�>�	@�����%��S��/�2�S�#�J�?�����%��)�,�b�1�����)�A�u�a�'��,B�"C�D�q�%�QR�U\�T]�F^�_�����$���,�����%��"�-�����(�+�R�0�����$�s�)�,�s�f�5�����$���,�����+�/�/�":�":�C�5�#�:�"F�G�3�%�QT��V�����+�/�/�":�":�3��8�"D�E��S�z�R�����+�/�/�":�":�2�s�7�"C�D�r�3�i�P�����+�/�/�":�":�C�5�#�:�"F�G�!�(�C�5�#�:�"6�7�	9��c�N������!��b�)�����!�&�&�)�2�.�����!�(�(�+�R�0�����(�1�c�6�"2�3�a��X�>�����+�/�/�":�":�1�c�6�"B�C�a��X�N�����(�;�s�A�v�+>��+C�"D�E�%�c�1�f�-�s�3�	5�����+�/�/�":�":�;�s�A�v�;N�PS�;S�"T�U�%�c�1�f�-�s�3�	5�����+�c�3��k�":�;�c�3��]�K�����$��*�-��c�{�;�����(�3�-�0�3�&�9�����+�c�"2�3�c�V�<�����)�,�b�1�����)�C�.�1�C�6�:�
�$�
������"��r�*�����&�B�&��)�,�r�e�4�����&��*�-��u�5�����%����*�-�v��v�6�����%��r�
�"3�4�v�b�z�m�D�����.�E�#�2�#�J�.��"3�4�f��f�=�����&��v�b�z�):�";�<�u�V�B�Z�?P�>R�Sr\N)rfrgrhr�r�rir\rZr�r�s��E�>ATr\r�c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d �Z"d!�Z#d"�Z$d#�Z%d$�Z&d%�Z'd&�Z(d'�Z)d(�Z*d)�Z+d*�Z,d+�Z-d,�Z.d-�Z/d.�Z0d/�Z1d0�Z2d1�Z3d2�Z4d3�Z5d4�Z6y5)6�CollectionsAbcTestsc��|jdtj�|jgtj�yr�)r�ra�Hashabler�r�s rZ�
test_hashablez!CollectionsAbcTests.test_hashablej�*�����b�&�/�/�2�� � ��V�_�_�5r\c��|jgtj�|jgtj�|jgtj�|jdtj�|j	t
tj�|j	t
tj�yr�)r�rarbr�r[r�r�s rZ�
test_iterablez!CollectionsAbcTests.test_iterablens|�����b�&�/�/�2�	
���b�&�/�/�2����b�&�/�/�2�� � ��V�_�_�5����d�F�O�O�4����d�F�O�O�4r\c��tg�}|j|tj�|j	dtj�yr�)r�r�rar�r�)rU�its  rZ�
test_iteratorz!CollectionsAbcTests.test_iteratorys3��
�"�X�����b�&�/�/�2�� � ��V�_�_�5r\c���i}tdt�|�|d}|�}|j|tj�|j|tj�|j
d�y)NzPasync def foo() -> typing.Awaitable[int]:
    return await AwaitableWrapper(42)
rD)rQr�r�ra�	Awaitabler��send�rUrSrDr�s    rZ�test_awaitablez"CollectionsAbcTests.test_awaitable~sd��
���
6��I�r�	���i���E�����a��!1�!1�2�� � ��f�&6�&6�7�	���t�r\c��i}tdt�|�|d}|�}|j|tj�|jt�5t|tjt�ddd�|j|tj�	|jd�y#1swY�<xYw#t$rYywxYw)Nzasync def foo():
    return
rD)rQr�r�ra�	Coroutiner�r�r�r�r�r
�
StopIterationr
s    rZ�test_coroutinez"CollectionsAbcTests.test_coroutine�s���
���
��I�r�	���i���E�����a��!1�!1�2�
�
�
�y�
)�	1��q�&�*�*�3�/�0�	1�� � ��f�&6�&6�7�	�
�F�F�4�L�		1�	1��
�	��	�s�"B6�$C�6B?�	C�
Cc���td�}t|�}|j|tj�|j|tj�|jdtj�y�Nr�r�)rpr�r�ra�
AsyncIterabler��rU�base_itr
s   rZ�test_async_iterablez'CollectionsAbcTests.test_async_iterable�sW����)��
!�'�
*�����b�&�"6�"6�7����b�&�"6�"6�7�� � ��V�%9�%9�:r\c��td�}t|�}|j|tj�|jdtj�yr
)rpr�r�rarr�r
s   rZ�test_async_iteratorz'CollectionsAbcTests.test_async_iterator�sA����)��
!�'�
*�����b�&�"6�"6�7�� � ��V�%9�%9�:r\c��|jgtj�|jdtj�yr�)r�rar.r�r�s rZ�
test_sizedzCollectionsAbcTests.test_sized�s*�����b�&�,�,�/�� � ��V�\�\�2r\c��|jgtj�|jdtj�yr�)r�rar:	r�r�s rZ�test_containerz"CollectionsAbcTests.test_container�s.�����b�&�"2�"2�3�� � ��V�%5�%5�6r\c�,�|jt�tj�|jt	�tj�|jttj�|jdtj�yr�)r�r�ra�
Collectionr�r[r�r�r�s rZ�test_collectionz#CollectionsAbcTests.test_collection�s^�����e�g�v�'8�'8�9����i�k�6�+<�+<�=����d�F�$5�$5�6�� � ��V�%6�%6�7r\c��|jt�tj�|j	dtj�yr�)r�r1rar^	r�r�s rZ�test_abstractsetz$CollectionsAbcTests.test_abstractset�s0�����c�e�V�%7�%7�8�� � ��V�%7�%7�8r\c��|jt�tj�|j	t�tj�yr`)r�r1ra�
MutableSetr�r�r�s rZ�test_mutablesetz#CollectionsAbcTests.test_mutableset�s2�����c�e�V�%6�%6�7�� � ���f�.?�.?�@r\c��|jitj�|jdtj�yr�)r�rarer�r�s rZ�test_mappingz CollectionsAbcTests.test_mapping�s*�����b�&�.�.�1�� � ��V�^�^�4r\c��|jitj�|jdtj�yr�)r�rar r�r�s rZ�test_mutablemappingz'CollectionsAbcTests.test_mutablemapping�s.�����b�&�"7�"7�8�� � ��V�%:�%:�;r\c��|jgtj�|jdtj�yr�)r�rar<	r�r�s rZ�
test_sequencez!CollectionsAbcTests.test_sequence�r�r\c��|jgtj�|jdtj�yrj)r�ra�MutableSequencer�r�s rZ�test_mutablesequencez(CollectionsAbcTests.test_mutablesequence�s.�����b�&�"8�"8�9�� � ��V�%;�%;�<r\c�h�|jt�5|jdtj�ddd�|jt�5|jtd�tj�ddd�|jt�5Gd�dtj�}ddd�|jt�5Gd�dtjtj�}ddd�y#1swY��xYw#1swY��xYw#1swY�hxYw#1swYyxYw)Nr\c��eZdZy)�0CollectionsAbcTests.test_bytestring.<locals>.FooNrzrir\rZrr*
�r�r\rc��eZdZy)�0CollectionsAbcTests.test_bytestring.<locals>.BarNrzrir\rZrr,
�r�r\r)�assertWarns�DeprecationWarningr�ra�
ByteString�	bytearrayr
rs   rZ�test_bytestringz#CollectionsAbcTests.test_bytestring�s���
�
�
�0�
1�	:��!�!�#�v�'8�'8�9�	:�
�
�
�0�
1�	E��!�!�)�C�.�&�2C�2C�D�	E�
�
�
�0�
1�	.�-�f�'�'�-�	.�
�
�
�0�
1�	@�?�f�'�'��)9�)9�?�	@�	@�
	:�	:��	E�	E��	.�	.��	@�	@�s/�!D�*D�D�)D(�D
�D�D%�(D1c�L�|jttj�yr`)r[r�rarr�s rZ�	test_listzCollectionsAbcTests.test_list�������d�F�K�K�0r\c���|jtjtj�Gd�dtjt
�}|j
|�tj�y)Nc��eZdZy)�/CollectionsAbcTests.test_deque.<locals>.MyDequeNrzrir\rZ�MyDequer7
�r�r\r8
)r[r��dequera�Dequer�r�)rUr8
s  rZ�
test_dequezCollectionsAbcTests.test_deque�sE�����k�/�/����>�-�f�l�l�3�'�-����g�i��):�):�;r\c�`�|jtjtj�yr`)r[r��Counterrar�s rZ�test_counterz CollectionsAbcTests.test_counter�s�����k�1�1�6�>�>�Br\c��|jttj�|j	t
tj�yr`)r[r1ra�Setr^r�r�s rZ�test_setzCollectionsAbcTests.test_set�s*�����c�6�:�:�.�� � ��F�J�J�7r\c��|jttj�|j	t
tj�yr`)r[r�rar	r^r1r�s rZ�test_frozensetz"CollectionsAbcTests.test_frozenset�s.�����i��)9�)9�:�� � ��f�&6�&6�7r\c�L�|jttj�yr`)r[r�rarr�s rZr�zCollectionsAbcTests.test_dict�r4
r\c��td�}td�}|jt||fttftttf�|jt|tfttttf�|jtt|fttttf�|jt|t
|fttfttt
tf�|jt|t
tftttt
tf�|jt|t|fttfttttf�|jt|ttftttttf�y)Nr�r�)rr�rr�r�rr�)rUr�r�s   rZ�test_dict_subscribez'CollectionsAbcTests.test_dict_subscribe�sK���C�L���C�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�����a��c��l�+�C�0�$�s�D��I�~�2F�G�����a��a��j�)�#�s�(�3�T�#�t�C�y�.�5I�J�����a��c��l�+�C�0�$�s�D��I�~�2F�Gr\c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwr`)r�r�rarrr�r�s rZ�test_no_list_instantiationz.CollectionsAbcTests.test_no_list_instantiation�s���
�
�
�y�
)�	��K�K�M�	�
�
�
�y�
)�	��K�K��N��	�
�
�
�y�
)�	��K�K����	�	�		�	��	�	��	�	��#�B&�B2�B>�&B/�2B;�>Cc��Gd�dtjt�}|�}|j||�|j|tj�|j|t�|jt|�y)Nc��eZdZy)�6CollectionsAbcTests.test_list_subclass.<locals>.MyListNrzrir\rZ�MyListrL
r�r\rM
)rarr�r�r<	r[r�r^)rUrM
r�s   rZ�test_list_subclassz&CollectionsAbcTests.test_list_subclasssd��	�V�[�[��%�	�
�H�����a��(����a����1����f�d�+�� � ��v�.r\c��|jt�5tj�ddd�|jt�5tjtt
f�ddd�|jt�5tjttf�ddd�y#1swY��xYw#1swY�UxYw#1swYyxYwr`)r�r�rarrrr�r�r�s rZ�test_no_dict_instantiationz.CollectionsAbcTests.test_no_dict_instantiation
s���
�
�
�y�
)�	��K�K�M�	�
�
�
�y�
)�	"��K�K��B���!�	"�
�
�
�y�
)�	$��K�K��S��!�#�	$�	$�		�	��	"�	"��	$�	$��#�B2�"B>�"C
�2B;�>C�
Cc��Gd�dtjttf�}|�}|j	||�|j	|tj
�|j
|t�|jt|�y)Nc��eZdZy)�6CollectionsAbcTests.test_dict_subclass.<locals>.MyDictNrzrir\rZrH	rT
r�r\rH	)	rarr�r�r�r r[r�r^)rUrH	r�s   rZ�test_dict_subclassz&CollectionsAbcTests.test_dict_subclasssj��	�V�[�[��c��*�	�
�H�����a��(����a��!6�!6�7����f�d�+�� � ��v�.r\c��|jttj��tj
�|jttjttf��tj
�|jttjttf��tj
�yr`)
r�r�rarO	r�rrrr�r�r�s rZ�test_defaultdict_instantiationz2CollectionsAbcTests.test_defaultdict_instantiation!�z���
�
�d�6�-�-�/�0�+�2I�2I�J��
�
�d�6�-�-�b�"�f�5�7�8�+�:Q�:Q�R��
�
�d�6�-�-�c�3�h�7�9�:�K�<S�<S�Tr\c��Gd�dtjttf�}|�}|j	||�|j|tj�|jtj|�y)Nc��eZdZy)�@CollectionsAbcTests.test_defaultdict_subclass.<locals>.MyDefDictNrzrir\rZ�	MyDefDictr[
(r�r\r\
)	rarO	r�r�r�r[r�rr^)rUr\
�dds   rZ�test_defaultdict_subclassz-CollectionsAbcTests.test_defaultdict_subclass&�b��	��*�*�3��8�4�	��[�����b�)�,����i��)@�)@�A�� � ��!8�!8�)�Dr\c��|jttj��tj�|jttjt
tf��tj�|jttjttf��tj�yr`)	r�r�ra�OrderedDictr�rrr�r�r�s rZ�test_ordereddict_instantiationz2CollectionsAbcTests.test_ordereddict_instantiation1rX
r\c��Gd�dtjttf�}|�}|j	||�|j|tj�|jtj|�y)Nc��eZdZy)�@CollectionsAbcTests.test_ordereddict_subclass.<locals>.MyOrdDictNrzrir\rZ�	MyOrdDictre
8r�r\rf
)rara
r�r�r�r[r�r^)rUrf
�ods   rZ�test_ordereddict_subclassz-CollectionsAbcTests.test_ordereddict_subclass6r_
r\c�@�|jttj��tj�|jttjt
tf��tj�|jttjttf��tj�Gd�dtjt
tf�}|jt|ttf��|�y)Nc��eZdZy)�;CollectionsAbcTests.test_chainmap_instantiation.<locals>.CMNrzrir\rZ�CMrk
Er�r\rl
)	r�r�rarP	r�rrr�r�)rUrl
s  rZ�test_chainmap_instantiationz/CollectionsAbcTests.test_chainmap_instantiationAs����
�
�d�6�?�?�,�-�{�/C�/C�D��
�
�d�6�?�?�2�r�6�2�4�5�{�7K�7K�L��
�
�d�6�?�?�3��8�4�6�7��9M�9M�N�.�����R��(�.��
�
�d�<�2�c�3�h�<�>�*�B�/r\c��Gd�dtjttf�}|�}|j	||�|j|tj�|jtj|�y)Nc��eZdZy)�>CollectionsAbcTests.test_chainmap_subclass.<locals>.MyChainMapNrzrir\rZ�
MyChainMaprp
Jr�r\rq
)rarP	r�r�r�r[r�r^)rUrq
r�s   rZ�test_chainmap_subclassz*CollectionsAbcTests.test_chainmap_subclassHs`��	�����c��2�	��\�����b�*�-����j�+�*>�*>�?�� � ��!5�!5�z�Br\c��|jttj��tj
�|jttjt��tj
�|jttjt��tj
�Gd�dtjt�}|jt|t��|�y)Nc��eZdZy)�7CollectionsAbcTests.test_deque_instantiation.<locals>.DNrzrir\rZrru
Wr�r\r)r�r�rar:
r�r9
rr��rUrs  rZ�test_deque_instantiationz,CollectionsAbcTests.test_deque_instantiationSs����
�
�d�6�<�<�>�*�K�,=�,=�>��
�
�d�6�<�<��?�,�-�{�/@�/@�A��
�
�d�6�<�<��,�.�/��1B�1B�C�%����Q��%��
�
�d�6�1�S�6�8�n�a�(r\c��|jttj��tj�|jttjt
��tj�|jttjt��tj�Gd�dtjt
�}|jt|t��|�y)Nc��eZdZy)�9CollectionsAbcTests.test_counter_instantiation.<locals>.CNrzrir\rZrrz
^r�r\r)r�r�rar=
r�rr�r�s  rZ�test_counter_instantiationz.CollectionsAbcTests.test_counter_instantiationZs����
�
�d�6�>�>�+�,�k�.A�.A�B��
�
�d�6�>�>�!�,�.�/��1D�1D�E��
�
�d�6�>�>�#�.�0�1�;�3F�3F�G�'����q�!�'��
�
�d�6�1�S�6�8�n�a�(r\c��Gd�dtjt�}|�}|j||�|j|tj�|j|tj�y)Nc��eZdZy)�JCollectionsAbcTests.test_counter_subclass_instantiation.<locals>.MyCounterNrzrir\rZ�	MyCounterr~
cr�r\r
)rar=
r�r�r�)rUr
r�s   rZ�#test_counter_subclass_instantiationz7CollectionsAbcTests.test_counter_subclass_instantiationasZ��	����s�+�	�
�K�����a��+����a����0����a��!4�!4�5r\c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwr`)r�r�rar@
rr�r�s rZ�test_no_set_instantiationz-CollectionsAbcTests.test_no_set_instantiationks���
�
�
�y�
)�	��J�J�L�	�
�
�
�y�
)�	��J�J�q�M�O�	�
�
�
�y�
)�	��J�J�s�O��	�	�		�	��	�	��	�	�rI
c�v�Gd�dtjt�}|�}|j||�y)Nc��eZdZy)�BCollectionsAbcTests.test_set_subclass_instantiation.<locals>.MySetNrzrir\rZr�r�
ur�r\r�)rar@
r�r�)rUr�r�s   rZ�test_set_subclass_instantiationz3CollectionsAbcTests.test_set_subclass_instantiationss/��	�F�J�J�s�O�	�
�G�����a��'r\c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwr`)r�r�rar	rr�r�s rZ�test_no_frozenset_instantiationz3CollectionsAbcTests.test_no_frozenset_instantiation{s���
�
�
�y�
)�	�����	�
�
�
�y�
)�	"����Q��!�	"�
�
�
�y�
)�	$����S�!�#�	$�	$�		�	��	"�	"��	$�	$�rI
c�v�Gd�dtjt�}|�}|j||�y)Nc��eZdZy)�NCollectionsAbcTests.test_frozenset_subclass_instantiation.<locals>.MyFrozenSetNrzrir\rZ�MyFrozenSetr�
�r�r\r�
)rar	r�r�)rUr�
r�s   rZ�%test_frozenset_subclass_instantiationz9CollectionsAbcTests.test_frozenset_subclass_instantiation�s2��	�&�*�*�3�/�	�
�M�����a��-r\c�X�|jt�5t�ddd�|jt�5tt�ddd�|jt�5tt�ddd�y#1swY�hxYw#1swY�ExYw#1swYyxYwr`)r�r�rrr�r�s rZ�test_no_tuple_instantiationz/CollectionsAbcTests.test_no_tuple_instantiation�s���
�
�
�y�
)�	��G�	�
�
�
�y�
)�	��!�H�J�	�
�
�
�y�
)�	��#�J�L�	�	�		�	��	�	��	�	�s"�B�B�-B �B�B� B)c�j�d�}|�}|jt|�tj�y)Nc3�K�d��y�wr�ririr\rZrDz/CollectionsAbcTests.test_generator.<locals>.foo�s�����H���)r[r�ra�	Generator)rUrDr�s   rZ�test_generatorz"CollectionsAbcTests.test_generator�s(��	��E�����d�1�g�v�'7�'7�8r\c��|jt�5tj�ddd�|jt�5tjtttf�ddd�|jt�5tjt
t
t
f�ddd�y#1swY��xYw#1swY�ZxYw#1swYyxYwr`)r�r�rar�
rr�r�s rZ�test_no_generator_instantiationz3CollectionsAbcTests.test_no_generator_instantiation�s���
�
�
�y�
)�	�����	�
�
�
�y�
)�	(����Q��1�W�%�'�	(�
�
�
�y�
)�	.����S�#�s�]�+�-�	.�	.�		�	��	(�	(��	.�	.�s#�B<�'C�'C�<C�C�Cc��i}tdt�|�|d�}|jt|�tj
�y)Nzasync def f():
    yield 42
rd)rQr�r[r�ra�AsyncGenerator)rUrSr�s   rZ�test_async_generatorz(CollectionsAbcTests.test_async_generator�sB��
����&�y�"�	.��B�s�G�I�����d�1�g�v�'<�'<�=r\c��|jt�5tj�ddd�|jt�5tjttf�ddd�|jt�5tjt
t
f�ddd�y#1swY��xYw#1swY�UxYw#1swYyxYwr`)r�r�rar�
rr�r�s rZ�%test_no_async_generator_instantiationz9CollectionsAbcTests.test_no_async_generator_instantiation�s���
�
�
�y�
)�	$��!�!�#�	$�
�
�
�y�
)�	*��!�!�!�Q�$�'�)�	*�
�
�
�y�
)�	.��!�!�#�s�(�+�-�	.�	.�		$�	$��	*�	*��	.�	.�rQ
c��Gd�dtj�}|jt�5|�ddd�Gd�d|�}|j	t|��d�|j
t|j��|j|�tj�Gd�dtjttf�}|j	t|��d�|j	t|ttf��d�|j	t|ttf��d�|jt|�|jt|�|j!|tj�|j!|tj�|j!|tj�|j|ttf�tj�|j|ttf�t"j$j�|j!|t"j$j�|j!|t"j$j�|j!|t"j$j�|jt�5t'|ttftj�ddd�|j!||�Gd�d	tj(�}|jt*|�Gd
�dtj,t.t.t.f�}d�}|j!|tj,�|j!|tj(�|j!|t"j$j,�|j!|t"j$j(�|jt1|�|�y#1swY���xYw#1swY��6xYw)
Nc��eZdZy)�1CollectionsAbcTests.test_subclassing.<locals>.MMANrzrir\rZ�MMAr�
�r�r\r�
c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�1CollectionsAbcTests.test_subclassing.<locals>.MMCc��yr`rir�s  rZr6z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__getitem__�r�r\c��yr`rir�s   rZr:z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__setitem__�rqr\c��yr`rir�s  rZr�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__delitem__�rqr\c��td�Srjr�r�s rZrz:CollectionsAbcTests.test_subclassing.<locals>.MMC.__iter__�r�r\c��yr:rir�s rZr�z9CollectionsAbcTests.test_subclassing.<locals>.MMC.__len__�r�r\Nr�rir\rZ�MMCr�
�r�r\r�
rc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�1CollectionsAbcTests.test_subclassing.<locals>.MMBc��yr`rir�s  rZr6z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__getitem__�r�r\c��yr`rir�s   rZr:z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__setitem__�rqr\c��yr`rir�s  rZr�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__delitem__�rqr\c��td�Srjr�r�s rZrz:CollectionsAbcTests.test_subclassing.<locals>.MMB.__iter__�r�r\c��yr:rir�s rZr�z9CollectionsAbcTests.test_subclassing.<locals>.MMB.__len__�r�r\Nr�rir\rZ�MMBr�
�r�r\r�
c��eZdZy)�/CollectionsAbcTests.test_subclassing.<locals>.INrzrir\rZrtr�
�r�r\rtc��eZdZy)�/CollectionsAbcTests.test_subclassing.<locals>.GNrzrir\rZrrr�
�r�r\rrc3�K�d��y�wr:ririr\rZr�z/CollectionsAbcTests.test_subclassing.<locals>.g�s
����q��r�
)rar r�r�r�r�r�r 
r�r�rerrr�r^r�r[r�r�rRrbr�r�
r�r�)rUr�
r�
r�
rtrrr�s       rZ�test_subclassingz$CollectionsAbcTests.test_subclassing�s���	�&�'�'�	��
�
�y�
)�	��E�	�
	�#�
	�	
����S�U��Q�'��������,�-����c�e�V�^�^�4�
	�&�'�'��B��/�
	�	
����S�U��Q�'�����]�S��c��]�_�-�q�1�����[�S��R��[�]�+�Q�/�� � ��s�+�� � ��s�+����c�6�>�>�2����c�6�>�>�2����c�6�>�>�2����k�c�"�b�&�k�m�V�^�^�<����k�c�"�b�&�k�m�[�_�_�-D�-D�E����c�;�?�?�#:�#:�;����c�;�?�?�#:�#:�;����c�;�?�?�#:�#:�;�
�
�
�y�
)�	6��s�3��8�}�f�n�n�5�	6����c�3�'�%����%�� � ��q�)�5�� � ��c�3��/�5�����a��!1�!1�2����a����1����a����!:�!:�;����a����!9�!9�:�� � ��a��!�,�}	�	��b	6�	6�s�P/� (P<�/P9�<Qc�v�Gd�dtjttf�}i}tdt	�|�|d}|j|tj�|j|tj�|j|tjj�|j|tjj�|jt|�|�|�}|j|tj�|j|tj�|j|tjj�|j|tjj�|jt|�|�|j||�y)Nc��eZdZd�Zdd�Zy)�?CollectionsAbcTests.test_subclassing_async_generator.<locals>.Gc��yr`rir�s  rZ�asendzECollectionsAbcTests.test_subclassing_async_generator.<locals>.G.asend�rqr\Nc��yr`ri)rU�typ�valr
s    rZ�athrowzFCollectionsAbcTests.test_subclassing_async_generator.<locals>.G.athrow�rqr\r�	)rfrgrhr�
r�
rir\rZrrr�
�s��
�
r\rrzasync def g(): yield 0r�)
rar�
r�rQr�r[r

r�r�r^r�r�r�)rUrrrSr�rVs     rZ� test_subclassing_async_generatorz4CollectionsAbcTests.test_subclassing_async_generator�s;��	��%�%�c�3�h�/�	����
%�w�y�"�5��s�G�����a��!6�!6�7����a��!5�!5�6����a����!?�!?�@����a����!>�!>�?�� � ��a��!�,��3�����h��(=�(=�>����h��(<�(<�=����h����(F�(F�G����h����(E�(E�F�� � ��a��!�,�� � ��A�&r\c���Gd�dtj�}Gd�d|�}Gd�d�}Gd�d�}|j||�|j||�|j||�y)	Nc��eZdZed��Zy)�?CollectionsAbcTests.test_subclassing_subclasshook.<locals>.Basec�$�|jdk(ryy)NrTF)rfrs  rZr�zPCollectionsAbcTests.test_subclassing_subclasshook.<locals>.Base.__subclasshook__s���>�>�U�*�� r\Nrrir\rZr
	r�
s��
�
!��
!r\r
	c��eZdZy)�<CollectionsAbcTests.test_subclassing_subclasshook.<locals>.CNrzrir\rZrr�
r�r\rc��eZdZy)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.FooNrzrir\rZrr�
r�r\rc��eZdZy)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.BarNrzrir\rZrr�
r�r\r)rarbr[r^)rUr
	rrrs     rZ�test_subclassing_subclasshookz1CollectionsAbcTests.test_subclassing_subclasshook
sV��	!�6�?�?�	!�	����������c�4�(����c�1�%�� � ��a�(r\c���Gd�dtj�}Gd�d|�}Gd�d�}|j|�|j||�|j	||�Gd�d�}|j|�|j||�|j||�Gd	�d
�}t
jjj|�|j|tj�y)Nc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.ANrzrir\rZr�r�
 r�r\r�c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.BNrzrir\rZr�r�
!r�r\r�c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.CNrzrir\rZrr�
#r�r\rc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.DNrzrir\rZrr�
(r�r\rc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.MNrzrir\rZr�r�
-r�r\r�)	rar:	r�r[r^r�r�r re)rUr�r�rrr�s      rZ�test_subclassing_registerz-CollectionsAbcTests.test_subclassing_registers���&�� � �&������	�
�
�1�
����a��#�� � ��A�&���	�
�
�1�
����a��#����a��#������&�&�/�/��2����a����0r\c���Gd�dtjj�}|j|tj�|j|tj
�Gd�dtjj�}|j|tj�|j|tj
�Gd�dtjj
�}|j|tj
�Gd�dtjjtj�	�}Gd
�d�}|j|�|j|tj�y)Nc��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.MNrzrir\rZr�r�
3r�r\r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.SNrzrir\rZr3r�
7r�r\r3c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.INrzrir\rZrtr�
;r�r\rtc��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.ANrzrir\rZr�r�
>r�r\r�r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.BNrzrir\rZr�r�
?r�r\r�)	r�r�rer[rarbr&
r�r�)rUr�r3rtr�r�s      rZ�test_collections_as_basez,CollectionsAbcTests.test_collections_as_base1s���-����'�'�-����a����0����a����1�5����/�/�5����a��!7�!7�8����a����1�.����(�(�.����a����1�D����'�'�3�;�;�D���	�
�
�1�
����a����0r\c�\�|jtjtjzttjtjf�|jtj
tjzttj
tjf�yr`)r�rar.r
rr
r�r�s rZr�z#CollectionsAbcTests.test_or_and_rorCsk���������(8�(8�8�%����f�N^�N^�@^�:_�`�����)�)�F�O�O�;�U�6�CS�CS�U[�Ud�Ud�Cd�=e�fr\N)7rfrgrhr�r�r
r
r

r
r
r
r
r
r
r
r 
r"
r$
r'
r1
r3
r;
r>
rA
rC
r�rF
rH
rN
rP
rU
rW
r^
rb
rh
rm
rr
rw
r{
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�rir\rZr�r�hs��6�	5�6�

��";�;�3�7�8�9�A�5�<�6�=�@�1�<�
C�8�8�1�	H��
/�$�
/�U�
	E�U�
	E�0�	C�)�)�6��(�$�.��9�.�>�.�C-�J'�0)�"1�&1�$gr\r�c��eZdZd�Zd�Zy)�
OtherABCTestsc��tjd��}|�}|j|tj�|jdtj�y)Nc3�K�d��y�wr�ririr\rZ�managerz2OtherABCTests.test_contextmanager.<locals>.managerK������H�r�
r�)�
contextlib�contextmanagerr�rarr�)rUr�
r�s   rZ�test_contextmanagerz!OtherABCTests.test_contextmanagerJsO��	�	"�	"�	�
#�	��Y�����b�&�"7�"7�8�� � ��V�%:�%:�;r\c��Gd�d�}|jt�tj�|j	|�tj�t
jd��}|�}|j	|tj�|jtjtjtf�|jt�5tdtjt�ddd�|jt�5tjttfddd�y#1swY�ExYw#1swYyxYw)Nc��eZdZy)�7OtherABCTests.test_async_contextmanager.<locals>.NotACMNrzrir\rZ�NotACMr�
Tr�r\r�
c3�K�d��y�wr�ririr\rZr�
z8OtherABCTests.test_async_contextmanager.<locals>.managerXr�
r�
r�)r�rra�AsyncContextManagerr�r�
r�
r�r�rnr�r�r�r�)rUr�
r�
r�s    rZ�test_async_contextmanagerz'OtherABCTests.test_async_contextmanagerSs��	�	����c�e�V�%?�%?�@�� � ���6�+E�+E�F�	�	"�	"�	�
#�	��Y��� � ��V�%?�%?�@�����3�3�C�8�A�A�C�6�J�
�
�
�y�
)�	<��r�6�5�5�c�:�;�	<�
�
�
�y�
)�	1��&�&�s�C�x�0�	1�	1�	<�	<��	1�	1�s� "E�E�E�EN)rfrgrhr�
r�
rir\rZr�
r�
Hs��<�1r\r�
c��eZdZd�Zd�Zd�Zy)�	TypeTestsc�r�Gd�d�}Gd�d|�}Gd�d|�}dt|d|fd	�}||�y)
Nc��eZdZy)�'TypeTests.test_type_basic.<locals>.UserNrzrir\rZ�Userr�
ir�r\r�
c��eZdZy)�,TypeTests.test_type_basic.<locals>.BasicUserNrzrir\rZ�	BasicUserr�
jr�r\r�
c��eZdZy)�*TypeTests.test_type_basic.<locals>.ProUserNrzrir\rZ�ProUserr�
kr�r\r�
�
user_classr�c��|�Sr`ri�rs rZ�new_userz+TypeTests.test_type_basic.<locals>.new_userm�
���<�r\r3)rUr�
r�
r�
rs     rZ�test_type_basiczTypeTests.test_type_basicgs9����#��#�!�d�!�	 ��d��	 ��	 �	��r\c��Gd�d�}Gd�d|�}Gd�d|�}td|��}d	t|d
|fd�}||�y)Nc��eZdZy)�)TypeTests.test_type_typevar.<locals>.UserNrzrir\rZr�
rtr�r\r�
c��eZdZy)�.TypeTests.test_type_typevar.<locals>.BasicUserNrzrir\rZr�
r
ur�r\r�
c��eZdZy)�,TypeTests.test_type_typevar.<locals>.ProUserNrzrir\rZr�
rvr�r\r�
r�rWrr�c��|�Sr`rirs rZrz-TypeTests.test_type_typevar.<locals>.new_userzrr\)rr4)rUr�
r�
r�
r�rs      rZ�test_type_typevarzTypeTests.test_type_typevarrsE����#��#�!�d�!��C�t�$��	 ��a��	 �Q�	 �	��r\c��ttt}d|dttfd�}|j|t�t�|j|d��y)Nr�r�c��|�y|�Sr`rir�s rZrDz)TypeTests.test_type_optional.<locals>.foo�s���y���s�
r\)rr4�
BaseExceptionr��KeyboardInterrupt�assertIsNone)rUr�rDs   rZ�test_type_optionalzTypeTests.test_type_optionalsT���T�-�(�)��	�1�	��-�0�	�	
���c�"3�4�6G�H����#�d�)�$r\N)rfrgrhrrrrir\rZr�
r�
es��	��
%r\r�
c��eZdZdgZd�Zy)�TestModules�_idfuncc�z�|jD],}|jtt|�jd��.y)N�_typing)�
func_namesr�rT	rarg)rU�fnames  rZ�test_c_functionszTestModules.test_c_functions�s4���_�_�	K�E����W�V�U�3�>�>�	�J�	Kr\N)rfrgrhrrrir\rZrr�s����J�Kr\rc�\�eZdZed��Zed��Zd�Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
y)�NewTypeTestsc��tjdt�atj|jdzt
�|_y)N�UserId�	.UserName)ra�NewTyper�r rhr��UserNamer�s rZ�
setUpClasszNewTypeTests.setUpClass�s1������#�.���~�~�c�&6�&6��&D�c�J��r\c�
�b|`yr`)r r#r�s rZ�
tearDownClasszNewTypeTests.tearDownClass�s��
��Lr\c���|jtd�t�|j|jd�t�|jtd�dzd�y)Nr�Joerl�)r�r r�r#r�r�r�s rZr�zNewTypeTests.test_basic�sG�����f�Q�i��-����d�m�m�E�2�C�8�������Q���*r\c���|jt�5ttt�ddd�|jt�5Gd�dt�}ddd�y#1swY�7xYw#1swYyxYw)Nc��eZdZy)�#NewTypeTests.test_errors.<locals>.DNrzrir\rZrr,�r�r\r)r�r�rRr r�rv
s  rZr�zNewTypeTests.test_errors�sc��
�
�
�y�
)�	$��v�s�#�	$�
�
�
�y�
)�	�
�F�
�	�	�	$�	$��	�	�s�A!�A-�!A*�-A6c��t|jfD]�}|j|��5|jt|zt
jt|f�|j|tzt
j|tf�|jtjt|z�t|f�|jtj|tz�|tf�ddd���y#1swY��xYw)Nr�)r�r#rsr�r rarr,)rUrVs  rZruzNewTypeTests.test_or�s�������'�	O�C����#��&�
O�� � ��#��v�|�|�F�C�K�/H�I�� � ��v��v�|�|�C��K�/H�I�� � �����#��!>���
�N�� � �����v��!>��f�
�N�
O�
O�	O�
O�
O�s�CC8�8D	c�J�|jtjd�|jtjd�|jtjt�|jtj
t�|j}|j|jd�|j|j|jjdz�|j|jt�|j|j
t�y)Nr r#r!)
r�r rfrhrg�
__supertype__r�r#r�r�)rUr#s  rZ�test_special_attrszNewTypeTests.test_special_attrs�s���������(�3�����,�,�h�7�����*�*�H�5�����-�-�s�3��=�=������*�*�J�7�����.�.����4�4�{�B�	D�����,�,�h�7�����/�/��5r\c���|jtt�t�d��|jt|j�t�d|j
j�d��y)Nz.UserIdr8	r!)r�r�r rfr#r�rhr�s rZr�zNewTypeTests.test_repr�sR������f��(��7�';�<�����d�m�m�,�$�:�Q�t�~�~�'B�'B�&C�9�M�	Or\c��tjdt�}ttj
dz�D]�}|j
|��5t	jt|�}t	j|�}|j|t�t	j|j|�}t	j|�}|j||j�|jtj�5t	j||�ddd�ddd���y#1swY�xYw#1swY��xYw)N�UserAgerlrn)rar"rRrprqrrrsr1r r0r�r#r��
PicklingError)rUr3ro�pickledr�s     rZr�zNewTypeTests.test_pickle�s����.�.��E�2���6�2�2�Q�6�7�	1�E����E��*�

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

1�

1�	1�1�1��

1�

1�s%�B6D8�D,�D8�,D5�1D8�8E	c� �d}t|i�y)Nz-import typing
NT = typing.NewType('NT', int)
r�r�s  rZr�z!NewTypeTests.test_missing__name__�s��3��	
�T�2�r\c��|jttjd��5Gd�dt�}ddd�y#1swYyxYw)NzpCannot subclass an instance of NewType. Perhaps you were looking for: `ProUserId = NewType('ProUserId', UserId)`c��eZdZy)�CNewTypeTests.test_error_message_when_subclassing.<locals>.ProUserIdNrzrir\rZ�	ProUserIdr9�r	r\r:)r�r�r�r�r )rUr:s  rZ�#test_error_message_when_subclassingz0NewTypeTests.test_error_message_when_subclassing�sE��
�
#�
#���I�I�=�
�
�	�
�F�
�	�	�	�s�A�AN)rfrgrhrr$r&r�r�rur0r�r�r�r;rir\rZrr�sT���K��K�
����
+�
�O�6�O�

1��	r\rc�v�eZdZGd�de�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zy)�NamedTupleTestsc�"�eZdZUeed<eed<y)�NamedTupleTests.NestedEmployeer�rNrrir\rZ�NestedEmployeer?�s���	��	r\r@c��tddtfdtfg�}|j|t�|dd�}|dd��}|j||�|j|t�|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jd�|j
|jtjdtfdtfg��y)	N�Empr��idr(r��Jimrl�r�rC)r5r�r�r[r�r�r�r�rCrf�_fieldsr�r�ra
)rUrB�joe�jims    rZrzNamedTupleTests.test_basics�s����&�#���s�� <�=�����c�5�)��%��n���u��#�����c�3�'����c�5�)�������5�)��������$�������5�)��������#�������u�-�������n�5�����,�,�$�0�0�6�3�-�$���1M�N�	Pr\c���tdd�}|j|t�|j|t�|j|jd�|j|j
d�|jtjd�|jtjd�|jtjtjtt���y)N�Timi(#r�r�r)
rr�r�r�r�rrfrFr�r�ra
r�r�)rU�tims  rZ�test_annotation_usagez%NamedTupleTests.test_annotation_usage�s����5�$�'�����c�<�0����c�5�)�������5�)�������4�(�����.�.��?�����-�-�/?�@�����5�5�$�0�0�c��D�	Fr\c���td�}|j|t�|j|t�|j|jd�|j|j
d�tdd�}|j|j
d�|jtjd�|jtjd�|jtjttt���|jtjtd���|jt�5Gd�d	t�}ddd�y#1swYyxYw)
N�Jeller�SjoerdrlrrK)rc�&�eZdZUdZeed<eed<y)�RNamedTupleTests.test_annotation_usage_with_default.<locals>.NonDefaultAfterDefaultr�rtr�N)rfrgrhrtr�r�rir\rZ�NonDefaultAfterDefaultrRs����3�
��r\rS)rr�r�r�r�rrfrFr�r�r�r��_field_defaultsr�r�r5)rU�jelle�cooler_employeerSs    rZ�"test_annotation_usage_with_defaultz2NamedTupleTests.test_annotation_usage_with_default	s��'��0�����e�%<�=����e�U�+�������W�-�������Q�'�1�(�A�>������-�-�q�1����0�9�9�;T�U����0�8�8�:J�K����0�@�@��3�S�1�	3����0�@�@�$�A�,�O�
�
�
�y�
)�	�
��
�	�	�	�s�
E#�#E,c�4�|jtd�j�d�|jtd�jtd�d�|jt	td��d�|jtdd�td�zd�|j
t�5Gd�dt�}ddd�|j
t�5Gd	�d
t�}ddd�y#1swY�7xYw#1swYyxYw)Nrlr�r�rz42 -> 1r�c��eZdZUeed<d�Zy)�DNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBadrtc��y)Nzno chance for thisrir�s rZrFzLNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad._fields&s��/r\N)rfrgrhr�r�rFrir\rZ�XMethBadrZ$s����0r\r\c��eZdZUeed<d�Zy)�ENamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2rtc��y)Nzno chance for this as wellrir�s rZ�_sourcezMNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2._source,s��7r\N)rfrgrhr�r�r`rir\rZ�	XMethBad2r^*s����8r\ra)	r�rr rtr�r"r�r�r5)rUr\ras   rZ�"test_annotation_usage_with_methodsz2NamedTupleTests.test_annotation_usage_with_methodss�������q����*�A�.�����r����e�B�i��l�3�����U�2�Y���3�����q�!��u�Q�x�/��3�
�
�
�~�
.�	0�
0�:�
0�	0��
�
�~�
.�	8�
8�J�
8�	8�	8�
	0�	0��	8�	8�s�<D�)D�D�Dc��Gd�d�}|jt�5Gd�dt|�}ddd�|jt�5Gd�dtt�}ddd�|jt�5Gd�dtt�}ddd�Gd	�d
t�}|jt�5Gd�dt|�}ddd�y#1swY��xYw#1swY��xYw#1swY�_xYw#1swYyxYw)
Nc��eZdZy)�4NamedTupleTests.test_multiple_inheritance.<locals>.ANrzrir\rZr�re0r�r\r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.XrtNrKrir\rZrirg3rxr\ric��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.YrtNrKrir\rZrmri6rxr\rmc��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.ZrtNrKrir\rZr�rk9rxr\r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.BrtNrKrir\rZr�rm;r r\r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Cr�NrPrir\rZrro>rxr\r)r�r�r5r�)rUr�rirmr�r�rs       rZr�	z)NamedTupleTests.test_multiple_inheritance/s���	�	�
�
�
�y�
)�	�
�J��
�	��
�
�y�
)�	�
�J��
�	��
�
�y�
)�	�
�J�
�
�	�	�
�	�
�
�
�y�
)�	�
�J��
�	�	�	�	��	�	��	�	��
	�	�s/�C�C'�C3�C?�C$�'C0�3C<�?Dc��Gd�dttt�}|j|jt
tf�|j|jtttf�|j|j|t
ttf�Gd�dttt�}|j|jtt
f�|j|jtttf�|j|j|tt
tf�||fD�]|}|j|��5|j|jtf�|j|tjtf�|jt|t�tf�|t}|j|j|�|j|jtf�|jt|�tf�|j|jd�|d�}|jt!|�|�|j|j"d�|j%t&�5|tt(fddd�ddd���y#1swY�xYw#1swY���xYw)Nc��eZdZUeed<y)�'NamedTupleTests.test_generic.<locals>.XrtNr-rir\rZrirrB����Dr\ric��eZdZUeed<y)�'NamedTupleTests.test_generic.<locals>.YrtNr-rir\rZrmruHrsr\rm�r�rir�)r5r"rr�r�r�r�r�rGrsrornr,r�r�rpr�rtr�r�r�)rUrirmrrr�r�s      rZ�test_genericzNamedTupleTests.test_genericAs��	�
�G�A�J�	�������u�g�&6�7�����)�)�J���
�+C�D�������Q��w��$?�@�	���
�J�	�������w��&6�7�����)�)�G�A�J�
�+C�D�������Q����$?�@��A��	 �A����1��%�
 �� � ��!1�!1�A�4�8�� � ��1������5�� � ��!�A�$��!��6��c�F���
�
�a�l�l�A�.�� � ����c�V�4�� � ��!��s�f�5�� � ��!1�!1�2�6��a�D���
�
�d�1�g�q�)�� � ����a�(��&�&�y�1� ��c�3�h�K� �
 �
 �	 � � ��
 �
 �s%�EK�J:�&K�:K�?K�K	c�Z�d��}|j\}|j|t�|j|jd�|j|j
ttf�|j|jtt|f�|j|j|tttf�|j|j|f�|j|tjtf�|j|tjd�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�.NamedTupleTests.test_generic_pep695.<locals>.XrtNr�r�s��rZrir{a�
�����Dr\ri)r5r�s @@rZz<generic parameters of X>zFNamedTupleTests.test_generic_pep695.<locals>.<generic parameters of X>as����	�	�:�	r\rri)r�r�rr�rfr�r�r"r�r5r�rGror�rn)rUrirs   rZ�test_generic_pep695z#NamedTupleTests.test_generic_pep695`s���	�
�
�
������a��)�������S�)�������u�g�&6�7�����)�)�J���
�+C�D�������Q��w��$?�@�����)�)�A�4�0�����3����3�&�1�����3��.�.��3r\c�Z�Gd�dt�}|t}|j|j|�|j|jd�|j|j
tf�|ddg�}|j
t|�|�|j|ddgf�y)Nc�(�eZdZUeed<eeed<y)�9NamedTupleTests.test_non_generic_subscript.<locals>.Groupr3�groupN)rfrgrhrr�r�rir\rZ�Groupr�ps���F���7�Nr\r�rirlr�)r5r�r�rprornr�r�)rUr�r�r�s    rZr!
z*NamedTupleTests.test_non_generic_subscriptms���	�J�	�
�#�J��������u�-�����)�)�2�.�������c�V�,�
�a�!��I���
�
�d�1�g�u�%�����Q���H�%r\c��tdtt��}|dd�}|j|t�|j|jd�|j|jd�|j|jd�|j|jttt���|jt�5tddtfgt��ddd�y#1swYyxYw)N�
LocalEmployee)r��age�Nick��Namertr�)
r5r�r�r�r�r�r�rfrFr�r�r�r�)rUr��nicks   rZ�test_namedtuple_keyword_usagez-NamedTupleTests.test_namedtuple_keyword_usage{s���"�?��#�F�
��V�R�(�����d�E�*�������F�+�����/�/��A�����.�.��@�����6�6��#�3�8O�P�
�
�
�y�
)�	4��v��c�
�|�s�3�	4�	4�	4�s�C1�1C:c���tdtttt��}|j|jd�|j|jd�|tdddtfg��}|j|jt�|j|jd�|j|jd�|j|jdtfg�y)Nrh)rVrU�typename�fieldsr�rDr)
r5r�rGr�r�r�rfrFr�rVrUr�r�)rUrhr�s   rZ�%test_namedtuple_special_keyword_namesz5NamedTupleTests.test_namedtuple_special_keyword_names�s���
��$�V�c�$�
O��������d�+�������%J�K��3�R�%�%���8H�I���������$��������$�������U�+�������U�E�N�#3�4r\c�n�td�}Gd�dt�}||fD]�}|j|��5|j|jd�|j|ji�|j|j
i�|j
|�|�ddd���y#1swY��xYw)Nrhc��eZdZy)�2NamedTupleTests.test_empty_namedtuple.<locals>.CNTNrzrir\rZ�CNTr��r�r\r�)�structri)r5rsr�rFrTr�r�)rUrhr�r�s    rZ�test_empty_namedtuplez%NamedTupleTests.test_empty_namedtuple�s���
��
��	�*�	��3�i�	8�F����V��,�
8�� � �����4�� � ��!7�!7��<�� � ��!7�!7��<��%�%�f�h��7�	
8�
8�	8�
8�
8�s�A,B+�+B4	c�^�|jt�5tj�ddd�|jt�5t�ddd�|jt�5tddtfgd�ddd�|jt
�5tddtfg�ddd�|jt�5tdtt��ddd�y#1swY��xYw#1swY��xYw#1swY��xYw#1swY�bxYw#1swYyxYw)NrBr��_name)r�r�rC)r�r�r5r{r�r�r�r�s rZ�test_namedtuple_errorsz&NamedTupleTests.test_namedtuple_errors�s���
�
�
�y�
)�	!���� �	!�
�
�
�y�
)�	��L�	�
�
�
�y�
)�	5��u���}�o�t�4�	5�
�
�
�z�
*�	0��u���~�.�/�	0�
�
�
�y�
)�	9���C�C�8�	9�	9�	!�	!��	�	��	5�	5��	0�	0��	9�	9�s;�C3�C?�0D�"D�D#�3C<�?D�D�D �#D,c�n�tddtfdtfg�att|j
fD]�}|j
|��5|dd�}ttjdz�D]Q}tj||�}tj|�}|j||�|j||��St|�}|j||�|j||�t|�}|j||�|j||�ddd���y#1swY��xYw)NrBr�rr��jane�%rl)r5r�r�rBrr@rsrprqrrr1r0r�r�r
r)rUrVr�ror��jane2s      rZ�test_copy_and_picklez$NamedTupleTests.test_copy_and_pickle�s����&�#����
� >�?����d�&9�&9�9�	2�C����#��&�
2��6�2���"�6�#:�#:�Q�#>�?�6�E����T�5�1�A�"�L�L��O�E��$�$�U�D�1��)�)�%��5�	6��T�
��� � ���-��%�%�e�S�1� ����� � ���-��%�%�e�S�1�
2�
2�	2�
2�
2�s
�CD*�*D4	c�T�td�}Gd�dt�}Gd�dtt|�}|j|jtf�|j|jtt|f�tdg�}|j|jtf�y)Nrc��eZdZy)�9NamedTupleTests.test_orig_bases.<locals>.SimpleNamedTupleNrzrir\rZ�SimpleNamedTupler��r�r\r�c��eZdZy)�:NamedTupleTests.test_orig_bases.<locals>.GenericNamedTupleNrzrir\rZ�GenericNamedTupler��r�r\r��CallNamedTuple)rr5r"r�r�)rUrr�r�r�s     rZr�zNamedTupleTests.test_orig_bases�s����C�L��	�z�	�	�
�G�A�J�	�	
���)�8�8�:�-�H����*�9�9�J��PQ�
�;S�T�#�$4�b�9������6�6��
�Fr\N)rfrgrhr5r@rrMrWrbr�	rwr}r!
r�r�r�r�r�r�rir\rZr=r=�sW�����P� 	F��(8�$�$ �>4�&�	4�5�8�
9�2�(Gr\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�Zy)�TypedDictTestsc���tdttd��}|j|t�|j|t
j�|j|tjj�|dd��}|jt|�t�|j|dd�|j|dd�|j|jd�|j|jt�|j|j tf�|j|j"ttd��|j|j$d�|j|j&ddh�|j)|j&t*�|j|j,t/��|j)|j,t*�y�NrBrErDrlr�rCT)r8r�r�r[r�rar r^r�r�r<	r�r�r�rfrgr�r��	__total__�__required_keys__r�r��__optional_keys__r1�rUrBrHs   rZ�test_basics_functional_syntaxz,TypedDictTests.test_basics_functional_syntax�sd�����3�7�8�����c�4�(����c�6�#8�#8�9�� � ��k�o�o�&>�&>�?��u��#���
�
�d�3�i��&�����V��e�,�����T��A�&�������u�-��������2���������0�����,�,�s�#�.F�G��������-�����.�.����?����c�3�3�Y�?�����.�.���6����c�3�3�Y�?r\c�,�|jt�5tdtt��}ddd�|jt�|j|tj�|j|tjj�|dd��}|jt|�t�|j|dd�|j|dd�|j|j d�|j|j"t �|j|j$tf�|j|j&ttd��|j|j(d�y#1swY��^xYwr�)r-
r.
r8r�r�r[r�rar r^r�r�r<	r�r�r�rfrgr�r�r�r�s   rZ�test_basics_keywords_syntaxz*TypedDictTests.test_basics_keywords_syntax�s'��
�
�
�0�
1�	5��E���4�C�	5����c�4�(����c�6�#8�#8�9�� � ��k�o�o�&>�&>�?��u��#���
�
�d�3�i��&�����V��e�,�����T��A�&�������u�-��������2���������0�����,�,�s�#�.F�G��������-�	5�	5�s�F	�	Fc
��|jt�5tdttt
ttt��}ddd�|jjd�|j|jttt
tttd��|t
ddddtfgdth��}|j|dt
�|j|d	d�|j|d
d�|j|dd�|j|ddtfg�|j|d
dth�y#1swY��xYw)N�TD)rVrUr��	_typenamer�rFr�rD�5rrrVrUr�r�r�rF)r-
r.
r8r�rGr�r�r�r�r�rfr�r�r1)rUr�r�s   rZ�$test_typeddict_special_keyword_namesz3TypedDictTests.test_typeddict_special_keyword_names�s-��
�
�
�0�
1�	p��4�T���PS�\`�jn�o�B�	p�������d�+�����+�+�T�6�WZ�il�x|�JN�.O�	P��3�R�%�2��u�~�FV�af�hk�`l�m������5��3�'�����6��B�'�����:���.�����;���,�����8���u�~�&6�7�����9���s�|�4�	p�	p�s�+E�Ec���|jt�5tj�ddd�|jt�5t�ddd�|jt�5tddtfgd�ddd�|jt�5tdtt
��ddd�y#1swY��xYw#1swY�|xYw#1swY�VxYw#1swYyxYw)NrBr�)r�r�rC)r�r�r8r{r�r�r�s rZ�test_typeddict_create_errorsz+TypedDictTests.test_typeddict_create_errors�s���
�
�
�y�
)�	 �����	 �
�
�
�y�
)�	��K�	�
�
�
�y�
)�	4��e�v�s�m�_�d�3�	4�
�
�
�y�
)�	9���C�C�8�	9�	9�
	 �	 ��	�	��	4�	4��	9�	9�s/�C�C�0C�"C&�C�C�C#�&C/c�X�tdttd��}|jtjd�|dd��}|jt�5ti|�ddd�|jt�5t||�ddd�|jt�5tt|�ddd�|jt�5tddtfgt��ddd�y#1swY��xYw#1swY�{xYw#1swY�YxYw#1swYyxYw)	NrBrErarDrl�Hirtr�)
r8r�r�r�rgr�r�r�rRr�r�s   rZ�test_typeddict_errorsz$TypedDictTests.test_typeddict_errors	s������3�7�8������-�-�x�8��u��#��
�
�
�y�
)�	 ��r�3��	 �
�
�
�y�
)�	!��s�C� �	!�
�
�
�y�
)�	"��t�S�!�	"�
�
�
�y�
)�	1��d�c�3�Z�L�C�0�	1�	1�
	 �	 ��	!�	!��	"�	"��	1�	1�s0�
C<�
D�+D�D �<D�D�D� D)c�r�|jtjd�|jtjt�|jtjt
t
td��|jtjtf�|jtjd�|jttj�tdd��}|j|dd�|j|dd�tddd	��}|j|d
d	�y)Nr4r�Trrlr�rtr��hirO)r�r4rfrgr�r�r�r�r�r�r^rar<	r*)rU�
not_originrs   rZ�test_py36_class_syntax_usagez+TypedDictTests.test_py36_class_syntax_usages�������.�.��?�����0�0�(�;�����5�5�S�s�UX�7Y�Z�����/�/�$��9�����/�/��6�� � ��v���?��q�A�&�
�����C��!�,�����C��!�,��q�A�T�2������w���.r\c���tdttd��atddd��}t	t
jdz�D]�}tj||�}tj|�}|j||�|j|ddd��tjt|�}tj|�}|j|ddd��|���y)N�EmpDrEr�r�rl)
r8r�r�r�rprqrrr1r0r�)rUr�ror�r��ZZ�EmpDnews       rZr�zTypedDictTests.test_pickle#s�����#�S�!9�:���V�2�.�/���6�2�2�Q�6�7�	H�E����T�5�)�A��L�L��O�E����U�D�)����U�V�2�$>�?����d�E�*�B��l�l�2�&�G����W�f�B�%?�@�$�G�	Hr\c��tdd��}ttjdz�D]�}tj||�}tj
|�}|j
||�|j
|ddd��tjt|�}tj
|�}|j
|ddd��|���y)Ng@g@r�
rl)r,rprqrrr1r0r�)rU�pointror��point2r��Point2DGenericNews       rZ�test_pickle_genericz"TypedDictTests.test_pickle_generic0s������,���6�2�2�Q�6�7�	M�E����U�E�*�A��\�\�!�_�F����V�U�+����V�3�S�%9�:����n�e�4�B� &���R� 0�����.�S�s�/C�D�e�L�	Mr\c��tdttd��}|jtj
|tjd|f�|jtj|tj|�y)Nr�rE)
r8r�r�r�rarrr�rr)rUr�s  rZrhzTypedDictTests.test_optional;s[����#�S�!9�:���������.����T�4�Z�0H�I����F�K�K��-�v�|�|�D�/A�Br\c��tddtid��}|j|�i�|j|d��ddi�|j|jd�|j|jt��|j
|jt
�|j|jdh�|j
|jt
�|jt�i�|jtd��d	di�|jtjd�|jtjt��|jtjd	d
h�y)NrrtFr/rlror�)r7r7r8)	r8r�r�r�r�r�r�r�r6rv
s  rZ�
test_totalzTypedDictTests.test_totalAs#���c�C��:�U�3�������b�!�����Q��#�q��*�������e�,�����,�,�i�k�:����a�1�1�9�=�����,�,�s�e�4����a�1�1�9�=������B�'�����1�-��Q�/?�@�����*�*�E�2�����2�2�I�K�@�����2�2�[�*�4M�Nr\c�@�Gd�dtd��}|j|jtddg��|j	|jt�|j|j
tdg��|j	|j
t�y)Nc��eZdZUeed<y)�6TypedDictTests.test_optional_keys.<locals>.Point2Dor3Dr�NrKrir\rZ�Point2Dor3Dr�Rr r\r�Fr/rtr�r�)r*r�r�r�r�r�)rUr�s  rZ�test_optional_keysz!TypedDictTests.test_optional_keysQsz��	�'��	�	
����6�6�	�3��*�8M�N����k�;�;�Y�G�����6�6�	�3�%�8H�I����k�;�;�Y�Gr\c��Gd�dt�}Gd�d|d��}Gd�d|�}|j|jtd	g��|j|jtg��|j|j
d	ti�|j|jtd	g��|j|jtd
dg��|j|j
tttd��|j|jtd	d
g��|j|jtd
dg��|j|j
ttttd��y)Nc��eZdZUeed<y)�8TypedDictTests.test_keys_inheritance.<locals>.BaseAnimalr�NrPrir\rZ�
BaseAnimalr�[r8r\r�c�"�eZdZUeed<eed<y)�4TypedDictTests.test_keys_inheritance.<locals>.Animal�voicerLN)rfrgrhr�r�r�rir\rZ�Animalr�^s���J��Jr\r�Fr/c��eZdZUeed<y)�1TypedDictTests.test_keys_inheritance.<locals>.Cat�	fur_colorNrPrir\rZ�Catr�bs���Nr\r�r�rLr�)r�rLr�r�)r�r�rLr�)r8r�r�r�r�r�r�r�)rUr�r�r�s    rZ�test_keys_inheritancez$TypedDictTests.test_keys_inheritanceZsE��	��	�	�Z�u�	�	�&�	�	
����5�5�y�&��7J�K�����5�5�y��}�E�����3�3�f�c�]�C�����1�1�9�f�X�3F�G�����1�1�9�f�g�=N�3O�P�����/�/����2
�	�	
����.�.�	�6�;�:O�0P�Q�����.�.�	�6�7�:K�0L�M�����,�,�����	/
�	r\c���Gd�dtd��}Gd�d|�}|j|jt��|j|jtdg��|j|jtdg��|j|jt��Gd�d	t�}Gd
�d|�}|j|jtdg��|j|jtdg��|j|jtdg��|j|jtdg��y)
Nc��eZdZUeed<y)�ETypedDictTests.test_keys_inheritance_with_same_name.<locals>.NotTotalr�NrKrir\rZ�NotTotalr�{r r\r�Fr/c��eZdZUeed<y)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.Totalr�NrKrir\rZ�Totalr�~r r\r�r�c�.�eZdZUeeed<eeed<y)�ATypedDictTests.test_keys_inheritance_with_same_name.<locals>.Baser�r�N)rfrgrhr6r�r�r7rir\rZr
	r��s���3�����}�r\r
	c�.�eZdZUeeed<eeed<y)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.Childr�r�N)rfrgrhr7r�r�r6rir\rZr�
r��s����}���3��r\r�
r�)r8r�r�r�r�)rUr�r�r
	r�
s     rZ�$test_keys_inheritance_with_same_namez3TypedDictTests.test_keys_inheritance_with_same_namezs��	�y��	�	�H�	�	
����3�3�Y�[�A�����3�3�Y��u�5E�F�����0�0�)�S�E�2B�C�����0�0�)�+�>�	�9�	�	 �D�	 �	
����/�/��C�5�1A�B�����/�/��C�5�1A�B�����0�0�)�S�E�2B�C�����0�0�)�S�E�2B�Cr\c�>�Gd�dt�}Gd�dt�}Gd�d||�}|j|jdtti�|j|j
t
dg��|j|jt
��y)Nc��eZdZUeeed<y)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.Base1r�NrCrir\rZ�Base1r��s
���3��r\r�c��eZdZUeeed<y)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.Base2r�Nr@rir\rZ�Base2r��s����}�r\r�c��eZdZy)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.ChildNrzrir\rZr�
r��r�r\r�
r�)r8r�r�r7r�r�r�r�)rUr�r�r�
s    rZ�'test_multiple_inheritance_with_same_keyz6TypedDictTests.test_multiple_inheritance_with_same_key�s~��	 �I�	 �	�I�	�	�E�5�	�	
����.�.��h�s�m�0D�E�����0�0�)�S�E�2B�C�����0�0�)�+�>r\c��|jtjtdh��|jtjtdh��|jt
jtdh��|jt
jtdh��|jtjjt��|jtjjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��y)Nr;rAr�)r�r=r�r�r�r:rLr�rKrPrBrHr�s rZ�test_required_notrequired_keysz-TypedDictTests.test_required_notrequired_keys�s�������8�8�"�G�9�-�	/�����8�8�"�F�8�,�	.�	
����5�5�"�G�9�-�	/�����5�5�"�F�8�,�	.�	
���+�9�9�K�K�"��	&����+�9�9�K�K�"�C�5�)�	+�	
����9�9�"�G�9�-�	/�����9�9�"�F�8�,�	.�	
���+�=�=�"�G�9�-�	/����+�=�=�"�F�8�,�	.�	
����:�:�"�G�9�-�	/�����:�:�"�F�8�,�	.�	
���2�D�D�"�G�9�-�	/����2�D�D�"�F�8�,�	.r\c��Gd�dt�}Gd�dt�}Gd�dtd��}td	d
ti�}Gd�d�}Gd
�d||�}|j|jt	gd���|j|j
t	g��|j|jtttd��Gd�d||�}|j|jt	ddg��|j|j
t	dg��|j|jtttd��Gd�d||d��}|j|jt	dg��|j|j
t	ddg��|j|jtttd��Gd�d||�}	|j|	jt	d
dg��|j|	j
t	dg��|j|	jtttd��||f||f|||f||f||fg}
|
D]G}|j|��5|jtd�5Gd�dg|���}ddd�ddd��Iy#1swY�xYw#1swY�`xYw)Nc��eZdZUeed<y)�5TypedDictTests.test_multiple_inheritance.<locals>.Oner�NrKrir\rZ�Oner������Hr\r�c��eZdZUeed<y)�5TypedDictTests.test_multiple_inheritance.<locals>.Two�twoNrPrir\rZ�Twor��r�r\r�c��eZdZUeed<y)�9TypedDictTests.test_multiple_inheritance.<locals>.Untotal�untotalNrPrir\rZ�Untotalr��s���Lr\rFr/�Inline�inlinec��eZdZy)�9TypedDictTests.test_multiple_inheritance.<locals>.RegularNrzrir\rZ�Regularr�r�r\rc��eZdZUeed<y)�7TypedDictTests.test_multiple_inheritance.<locals>.Child�childN�rfrgrhr�r�rir\rZr�
r�����Kr\r�
)r�r�rc��eZdZUeed<y)�CTypedDictTests.test_multiple_inheritance.<locals>.ChildWithOptionalrNr	rir\rZ�ChildWithOptionalr�r
r\r
r�rr�)r�r�rc��eZdZUeed<y)�ETypedDictTests.test_multiple_inheritance.<locals>.ChildWithTotalFalserNr	rir\rZ�ChildWithTotalFalser�r
r\rc��eZdZUeed<y)�LTypedDictTests.test_multiple_inheritance.<locals>.ChildWithInlineAndOptionalrNr	rir\rZ�ChildWithInlineAndOptionalr�r
r\r)rr�r)�basesz=cannot inherit from both a TypedDict type and a non-TypedDictc��eZdZy)�7TypedDictTests.test_multiple_inheritance.<locals>.WrongNrzrir\rZ�Wrongrr
r\r)r8r�r�r�r�r�r�r�r�rsr�r�)
rUr�r�rrrr�
r
rr�wrong_basesrrs
             rZr�	z(TypedDictTests.test_multiple_inheritance�s���	�)�	�	�)�	�	�i�u�	��8�h��%5�6��	�	�	�C��	�����#�#��-�.�	
�	
����#�#��b�M�	
�	
����!�!���d�3�	
�
	��W�	�����/�/��u�g�&�'�	
�	
����/�/��y�k�"�	
�	
����-�-��C�$�7�	
�
	�#�w�e�	�����1�1��u�g��	
�	
����1�1��y�'�*�+�	
�	
����/�/��C�$�7�	
�
	��&�	����&�8�8��x��)�*�	
�	
���&�8�8��y�k�"�	
�	
���&�6�6���d�;�	
��'�N�
�c�N�
�#�w��
�W��
�g��
��!�	�E����E��*�
��+�+��S������	�
�
�	����
�
�s$�
K�!K�-K�K	�K�K	c���|jtt�d�|jtttt
f�d�|jtt��d�t
ddt
i�}|jt|�d�|jt|��d�td��G�fd�dtt��}|jt|�d�|jt|t
�d�|jt|��d�d��}|jt|�d�|jt|t
�d�|jt|��d�|jtt�d�y)	NTF�
call_basedr�rc���eZdZUW�ed<y)�4TypedDictTests.test_is_typeddict.<locals>.BarGenericr�Nr"r#s�rZr2r's����Dr\r2c�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�4TypedDictTests.test_is_typeddict.<locals>.NewGenericr�Nr�r�s��rZrur-r|r\ru�r8r�s @@rZz"<generic parameters of NewGeneric>zLTypedDictTests.test_is_typeddict.<locals>.<generic parameters of NewGeneric>-s����	�	�I�	r\)	r�r.r*rr�r�r8rr")rUrr2rurs    @rZ�test_is_typeddictz TypedDictTests.test_is_typeddicts1����
�
�l�7�+�T�2��
�
�l�5��c��?�3�U�;��
�
�l�7�9�-�u�5��|�c�3�Z�8�
��
�
�l�:�.��5��
�
�l�:�<�0�%�8��C�L��	��G�A�J�	��
�
�l�:�.��5��
�
�l�:�c�?�3�U�;��
�
�l�:�<�0�%�8�	��
�
�l�:�.��5��
�
�l�:�c�?�3�U�;��
�
�l�:�<�0�%�8�	
�
�
�l�9�-�u�5r\c�z�|jtt�tjt
t
d��y)Nr�
)r�r*rrarr�r�s rZr�z"TypedDictTests.test_get_type_hints6s)������3���/�/�#�&�S�1�	
r\c��|jtt�tjt
td��Gd�dtt�}|jt|�tjt
ttd��y)Nr�
c��eZdZUeed<y)�ATypedDictTests.test_get_type_hints_generic.<locals>.FooBarGenericr�NrPrir\rZ�
FooBarGenericr%Br r\r&�r�r�r�)r�r*r2rarrr�r�)rUr&s  rZ�test_get_type_hints_genericz*TypedDictTests.test_get_type_hints_generic<sd������:�&��/�/�!�$�3�/�	
�
	�J�s�O�	�	
����=�)��/�/�!�$�3�S�9�	
r\c�Z�d��}|j\}|j|t�|j|jd�|j|j
ttf�|j|jtt|f�|j|j|tttf�|j|j|f�|j|tjd�|j|tjtf�y)Nc�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�7TypedDictTests.test_pep695_generic_typeddict.<locals>.Ar�Nr�r�s��rZr�r,Kr|r\r�r r�s @@rZz<generic parameters of A>zOTypedDictTests.test_pep695_generic_typeddict.<locals>.<generic parameters of A>Ks����	�	�9�	r\rri)r�r�rr�rfr�r"r�r�r8r�rGror�rn)rUr�rs   rZ�test_pep695_generic_typeddictz,TypedDictTests.test_pep695_generic_typeddictJs���	��
�
������a��)�������S�)�������w��o�6�����)�)�I�w�q�z�+B�C�������Q���v�$>�?�����)�)�A�4�0�����3��.�.��3�����3����3�&�1r\c�"�Gd�dttt�}|j|jtt
f�|j|jtttf�|j|j|tt
tf�|j|jtf�|j|tjd�|j|tjtf�Gd�dttt�}|j|jtt
f�|j|jtttf�|j|j|tt
tf�|j|jtf�|j|tjd�|j|tjtf�Gd�d|td�	�}|j|jtt
f�|j|j|tf�|j|j|tt
tf�|j|jtf�|j|jd�|j|jtd
g��|j|j tdg��|j|tjd�|j|tjtf�|j|tj"|�Gd�d
|t$�}|j|jtt
f�|j|j|t$f�|j|j|tt
tf�|j|jd�|j|jd�|j|jtd
g��|j|j tddg��|j|j&ttt$d��|j)t*�5|tddd�Gd�dt,ttttf�}|j|jtt
f�|j|jt,ttttff�|j|j|tt
tf�|j|jttf�|j|jd�|j|jt��|j|j tgd���|j|j&tttd��|j|t$tfj"|�|j)t*�5|t$ddd�|j)t*�5Gd�dt,ttt�}ddd�y#1swY��xYw#1swY�WxYw#1swYyxYw)Nc��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.Ar�Nr-rir\rZr�r0Yrsr\r�ric��eZdZUeed<y)�3TypedDictTests.test_generic_inheritance.<locals>.A2r�Nr-rir\rZ�A2r2crsr\r3c��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.Br�N�rfrgrhrr�rir\rZr�r5m����Er\r�Fr/r�r�c��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.Cr�NrKrir\rZrr9|r r\rTr�r'c��eZdZUeed<y��8TypedDictTests.test_generic_inheritance.<locals>.Point3Dr�Nr6rir\rZ�Point3Dr<�r7r\r=c��eZdZUeed<yr;r6rir\rZr=z8TypedDictTests.test_generic_inheritance.<locals>.Point3D�s���r\)r8r"rr�r�r�r�r�rGror�rnrr�r�r�r�rpr�r�r�r�r,)rUr�r3r�rr=s      rZ�test_generic_inheritancez'TypedDictTests.test_generic_inheritanceXs.��	�	�7�1�:�	�	
������w��o�6�����)�)�I�w�q�z�+B�C�������Q���v�$>�?�����)�)�A�4�0�����3��.�.��3�����3����3�&�1�	����Y�	�	
���������7�����*�*�W�Q�Z��,C�D�������b�'�4��%@�A�����*�*�Q�D�1�����C��/�/��4�����C��)�)�C�6�2�	��"��U�	�	
������w��o�6�����)�)�A�b�E�8�4�������Q���v�$>�?�����)�)�B�5�1�������e�,�����,�,�i���.>�?�����,�,�i���.>�?�����3��.�.��3�����3����3�&�1�����3��*�*�A�.�	��#��	�	
������w��o�6�����)�)�A�c�F�9�5�������Q���v�$>�?�����)�)�2�.�������d�+�����,�,�i���.>�?�����,�,�i��c�
�.C�D�����*�*����-
�	�
�
�
�y�
)�	�
�c�F�	�	�n�Q�'���B���	�	
����*�*�W�d�O�<�����/�/�.��2C�W�Q�PR�U�^�1T�U�������7�G�T�6�*J�K�����/�/�!�R��9�����*�*�D�1�����2�2�I�K�@�����2�2�I�o�4N�O�����0�0����3
�	�
	
�����c��*�5�5�w�?�
�
�
�y�
)�	��C�L�	��
�
�y�
)�	�
�.��+�W�R�[�
�	�	�1	�	��*	�	��	�	�s$�
[,�
[9�#\�,[6�9\�\c���Gd�dttt�}Gd�d|td��}Gd�d|�}|j	|j
ttf�|j	|j|tttf�|j	|jd	�|j	|jd
�|j	|jtdg��|j	|jtdd
g��|j	|jtttd��|j!t"�5|t$ddd�y#1swYyxYw)Nc��eZdZUeed<y)�7TypedDictTests.test_implicit_any_inheritance.<locals>.Ar�Nr-rir\rZr�rB�rsr\r�c��eZdZUeed<y)�7TypedDictTests.test_implicit_any_inheritance.<locals>.Br�Nr6rir\rZr�rD�r7r\r�Fr/c��eZdZUeed<y)�ETypedDictTests.test_implicit_any_inheritance.<locals>.WithImplicitAnyr�NrKrir\rZ�WithImplicitAnyrF�r r\rGriTr�r�r�r')r8r"rrr�r�r�r�rGror�r�r�r�r�r�r�r�r�)rUr�r�rGs    rZ�test_implicit_any_inheritancez,TypedDictTests.test_implicit_any_inheritance�s(��	�	�7�1�:�	�	��"��U�	�	�a�	�	
����2�2�W�d�4D�E�����0�0�?�G�T�SY�2Z�[�����7�7��<�����2�2�D�9�����:�:�I�s�e�<L�M�����:�:�I�s�C�j�<Q�R�����8�8����;
�	�
�
�
�y�
)�	!��C� �	!�	!�	!�s�
E&�&E/c�^�Gd�dt�}|t}|j|j|�|j|jd�|j|j
tf�|d��}|j
t|�t�|j|ddi�y)Nc��eZdZUeed<y)�5TypedDictTests.test_non_generic_subscript.<locals>.TDr�Nr-rir\rZr�rK�rsr\r�rirlr�r�)	r8r�r�rprornr�r�r�)rUr�r�r�s    rZr!
z)TypedDictTests.test_non_generic_subscript�s���	��	��s�G��������r�*�����)�)�2�.�������c�V�,�
�!�H���
�
�d�1�g�t�$�����S�!�H�%r\c�$�td�}Gd�dt�}Gd�d|�}Gd�d|�}Gd�d	|||�}Gd
�dtt|�}Gd�d
|t�}Gd�d|t�}Gd�d|||t
�}	Gd�d|t|t
�}
tdi�}|j
|jtf�|j
|j|f�|j
|j|f�|j
|j|||f�|j
|jtt|f�|j
|j|tf�|j
|j|tf�|j
|	j|||t
f�|j
|
j|t|t
f�|j
|jtf�y)Nrc��eZdZy)�.TypedDictTests.test_orig_bases.<locals>.ParentNrzrir\rZ�ParentrN�r�r\rOc��eZdZy)�-TypedDictTests.test_orig_bases.<locals>.ChildNrzrir\rZr�
rQ�r�r\r�
c��eZdZy)�2TypedDictTests.test_orig_bases.<locals>.OtherChildNrzrir\rZ�
OtherChildrS�r�r\rTc��eZdZy)�2TypedDictTests.test_orig_bases.<locals>.MixedChildNrzrir\rZ�
MixedChildrV�r�r\rWc��eZdZy)�5TypedDictTests.test_orig_bases.<locals>.GenericParentNrzrir\rZ�
GenericParentrY�r�r\rZc��eZdZy)�4TypedDictTests.test_orig_bases.<locals>.GenericChildNrzrir\rZ�GenericChildr\�r�r\r]c��eZdZy)�9TypedDictTests.test_orig_bases.<locals>.OtherGenericChildNrzrir\rZ�OtherGenericChildr_�r�r\r`c��eZdZy)�9TypedDictTests.test_orig_bases.<locals>.MixedGenericChildNrzrir\rZ�MixedGenericChildrb�r�r\rcc��eZdZy)�<TypedDictTests.test_orig_bases.<locals>.MultipleGenericBasesNrzrir\rZ�MultipleGenericBasesre�r�r\rf�
CallTypedDict)rr8r"r�r�rRr�r�)rUrrOr�
rTrWrZr]r`rcrfrgs            rZr�zTypedDictTests.test_orig_bases�s����C�L��	�Y�	�	�F�	�	��	�	��
�F�	�	�I�w�q�z�	�	�=��-�	�	�
�c� 2�	�	��.?��u�AU�	�	�=��#5�}�U�7K�	�"�/�2�6�
�����.�.���=�����-�-��y�9�����2�2�V�I�>�����2�2�U�J��4P�Q�����5�5�	�7�1�:�7N�O�����4�4�}�S�7I�6K�L����*�9�9�M�#�<N�;P�Q����*�9�9�L�J[�]j�kp�]q�;r�s����-�<�<�}�S�?Q�S`�af�Sg�>h�i�����5�5�	�|�Dr\N)rfrgrhr�r�r�r�r�r�r�r�rhr�r�r�r�r�r�r�	r!r�r(r-r?rHr!
r�rir\rZr�r��s���@�&.� 5�9�1�/�H�	M�C�O� H��@D�2
?�".�HU�n6�2
�
�2�M�^!�2&�)Er\r�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
RequiredTestsc�h�|jt�5ttddd�|jt�5ttt
fddd�|jt�5ttt
ddd�y#1swY�mxYw#1swY�HxYw#1swYyxYwr`)r�r�r7r6r�r�r�s rZrzRequiredTests.test_basics�s���
�
�
�y�
)�	"��[�!�	"�
�
�
�y�
)�	��S�#�X��	�
�
�
�y�
)�	��S�M�#��	�	�		"�	"��	�	��	�	��#�B�B�2B(�B�B%�(B1c���|jtt�d�tt}|jt|�d�tt}|jt|�dt
�d��y)Nztyping.Requiredztyping.Required[int]ztyping.Required[�
.Employee])r�r�r7r�ryrfr'
s  rZr�zRequiredTests.test_reprs]������h��):�;�
�c�]������b��#9�:�
�h�
������b��%5�h�Z�z�#J�Kr\c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.CNrzrir\rZrrpr�r\rc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.DNrzrir\rZrrrr�r\rz Cannot subclass typing\.Requiredc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.ENrzrir\rZrprtr�r\rpz'Cannot subclass typing\.Required\[int\]c��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.FNrzrir\rZrqrvr�r\rq)r�r�r�r�r7r�r2
s     rZr�z"RequiredTests.test_cannot_subclass
s���
�
#�
#�I�/C�
D�	�
�D��N�
�	��
#�
#�I�/C�
D�	�
�D��#��'�
�	��
#�
#�I�3�5�	�
�H�
�	��
#�
#�I�:�<�	�
�H�S�M�
�	�	�	�	��	�	��	�	��	�	�r3
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwr`)r�r�r7r�rr�r�s rZr"zRequiredTests.test_cannot_initr5
r6
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr$)r�r�r�r7r�rRr�s rZr%z RequiredTests.test_no_isinstance"r8
r9
Nr:
rir\rZriri�s���L�� ,�&r\ric�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�NotRequiredTestsc�h�|jt�5ttddd�|jt�5ttt
fddd�|jt�5ttt
ddd�y#1swY�mxYw#1swY�HxYw#1swYyxYwr`)r�r�r6r7r�r�r�s rZrzNotRequiredTests.test_basics+s���
�
�
�y�
)�	"���!�	"�
�
�
�y�
)�	"���S��!�	"�
�
�
�y�
)�	"����S�!�	"�	"�		"�	"��	"�	"��	"�	"�rkc���|jtt�d�tt}|jt|�d�tt}|jt|�dt
�d��y)Nztyping.NotRequiredztyping.NotRequired[int]ztyping.NotRequired[rm)r�r�r6r�ryrfr'
s  rZr�zNotRequiredTests.test_repr3s_������k�*�,@�A�
��
������b��#<�=�
��
"������b��%8��
�*�#M�Nr\c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.CNrzrir\rZrr<r�r\rc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.DNrzrir\rZrr�?r�r\rz#Cannot subclass typing\.NotRequiredc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.ENrzrir\rZrpr�Cr�r\rpz*Cannot subclass typing\.NotRequired\[int\]c��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.FNrzrir\rZrqr�Gr�r\rq)r�r�r�r�r6r�r2
s     rZr�z%NotRequiredTests.test_cannot_subclass:s���
�
#�
#�I�/C�
D�	�
�D��%�
�	��
#�
#�I�/C�
D�	�
�D��S�)�*�
�	��
#�
#�I�6�8�	�
�K�
�	��
#�
#�I�=�?�	�
�K��$�
�	�	�	�	��	�	��	�	��	�	�r3
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwr`)r�r�r6r�rr�r�s rZr"z!NotRequiredTests.test_cannot_initJs���
�
�
�y�
)�	��M�	�
�
�
�y�
)�	 ��D����	 �
�
�
�y�
)�	/�,�D��X�c�]�+�,�.�	/�	/�		�	��	 �	 ��	/�	/�r6
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr$)r�r�r�r6r�rRr�s rZr%z#NotRequiredTests.test_no_isinstanceRsf��
�
�
�y�
)�	,��q�+�c�*�+�	,�
�
�
�y�
)�	)��s�K�(�	)�	)�	,�	,��	)�	)�r9
Nr:
rir\rZrzrz)s��"�O�� /�)r\rzc�$�eZdZd�Zd�Zd�Zd�Zy)�IOTestsc��dtdtfd�}|jd}|j|jtf�y)Nr�r�c�"�|j�Sr`��readliner�s rZr�
zIOTests.test_io.<locals>.stuff]����:�:�<�r\)r:rr�r�ro�rUr�
r�s   rZ�test_iozIOTests.test_io[s?��	 �R�	 �F�	 �
�!�!�#�&������)�)�F�9�5r\c�z�dtdtfd�}|jd}|j|jd�y)Nr�r�c�"�|j�Sr`r�r�s rZr�
z"IOTests.test_textio.<locals>.stuffer�r\ri)r;r�r�r�ror�s   rZ�test_textiozIOTests.test_textiocs=��	 �V�	 ��	 �
�!�!�#�&������)�)�2�.r\c�z�dtdtfd�}|jd}|j|jd�y)Nr�r�c�"�|j�Sr`r�r�s rZr�
z$IOTests.test_binaryio.<locals>.stuffmr�r\ri)r<rxr�r�ror�s   rZ�
test_binaryiozIOTests.test_binaryioks=��	 �X�	 �%�	 �
�!�!�#�&������)�)�2�.r\c��tjd��5}tjdt��ddlm}m}m}m}m	}|j|tj
�|j|tj�|j|tj�|jt|�tgd���|j|d�|jt|�d	�ddd�y#1swYyxYw)
NT��recordr;��categoryr)r:r;r<rV	rfr9z	typing.iorl)�warnings�catch_warnings�filterwarningsr.
�	typing.ior:r;r<rV	rfr�rar�r1r�)rU�wr:r;r<rV	rfs       rZ�test_io_submodulezIOTests.test_io_submoduless���
�
$�
$�D�
1�	(�Q��#�#�I�8J�K�I�I��M�M�"�f�i�i�(��M�M�&�&�-�-�0��M�M�(�F�O�O�4����S��\�3�/K�+L�M����X�{�3����S��V�Q�'�	(�	(�	(�s�CC=�=DN)rfrgrhr�r�r�r�rir\rZr�r�Ys��6�/�/�	(r\r�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�RETestsc�*�tjdtj�}|j|jt
�|jt
|�t
�|j|t
�|jd�}|j|jt�|jt
|�t�|j|t�t
tttfttttfy)Nz[a-z]+z12345abcde.....)
r��compilertr[r�r=r�r��searchr>rr�rx)rUr��mats   rZrzRETests.test_basics�s����j�j��2�4�4�(�����c�m�m�W�5����d�3�i��1����c�7�+��j�j�*�+�����c�m�m�U�3����d�3�i��/����c�5�)�	��c�5�j�!�"�
�e�E�3�J�� r\c�6�|jtttt�|jtttt�|jttt
t�|jttt�yr`)r�r=r�r�rxr>r�s rZ�test_alias_equalityzRETests.test_alias_equality�s^��������w�s�|�4����G�C�L�'�%�.�9����G�C�L�%��*�5����G�C�L�#�.r\c��ttttf}|j	t
�5|tddd�|j	t
�5t
dtt�ddd�|j	t
�5ttttt�ddd�y#1swY�xYw#1swY�VxYw#1swYyxYwr�)	r>rr�rxr�r�r�r=rR)rUr�s  rZr�zRETests.test_errors�s����%��U�
�#�$��
�
�
�y�
)�	�
�c�F�	�
�
�
�y�
)�	)��r�7�3�<�(�	)��
�
�y�
)�	5��w�u�~�w�s�|�4�	5�	5�	�	��	)�	)��	5�	5�s#�
B8�C�#C�8C�C
�Cc��|jtt�d�|jttt�d�|jttt�d�|jtt
�d�|jtt
t�d�|jtt
t�d�y)Nztyping.Patternztyping.Pattern[str]ztyping.Pattern[bytes]ztyping.Matchztyping.Match[str]ztyping.Match[bytes])r�r�r=r�rxr>r�s rZr�zRETests.test_repr�s�������g��(8�9�����g�c�l�+�-B�C�����g�e�n�-�/F�G�����e��n�5�����e�C�j�)�+>�?�����e�E�l�+�-B�Cr\c���tjd��5}tjdt��ddlm}m}m}m}|j|tj
�|j|tj�|jt|�tddg��|j|d	�|jt|�d
�ddd�y#1swYyxYw)NTr�r;r�r)r>r=rV	rfr>r=z	typing.rerl)r�r�r�r.
�	typing.rer>r=rV	rfr�rar�r1r�)rUr�r>r=rV	rfs      rZ�test_re_submodulezRETests.test_re_submodule�s���
�
$�
$�D�
1�	(�Q��#�#�I�8J�K�C�C��M�M�%����.��M�M�'�6�>�>�2����S��\�3���/C�+D�E����X�{�3����S��V�Q�'�	(�	(�	(�s�B;C�C$c��|jtd�5Gd�dtj�}ddd�|jtd�5Gd�dtj�}ddd�y#1swY�BxYw#1swYyxYw)Nz/type 're\.Match' is not an acceptable base typec��eZdZy)�'RETests.test_cannot_subclass.<locals>.ANrzrir\rZr�r��r�r\r�z1type 're\.Pattern' is not an acceptable base typec��eZdZy)�'RETests.test_cannot_subclass.<locals>.BNrzrir\rZr�r��r�r\r�)r�r�rar>r=r�s   rZr�zRETests.test_cannot_subclass�s{��
�
#�
#��>�
�	�
�F�L�L�
�		��
#�
#��@�
�	�
�F�N�N�
�		�	�
	�	��	�	�s�A2�A>�2A;�>BN)	rfrgrhrr�r�r�r�r�rir\rZr�r�s!��
!�/�	5�D�(�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�Zy)�AnnotatedTestsc�n�|jtd�5t�ddd�y#1swYyxYw)Nz%Type Annotated cannot be instantiated�r�r�r?r�s rZ�test_newzAnnotatedTests.test_new�s2��
�
#�
#��3�
�	�
�K�		�	�	�s�+�4c��|jtttddf�d�|jttttddf�d�y)Nrrztyping.Annotated[int, 4, 5]z(typing.Annotated[typing.List[int], 4, 5])r�r�r?r�rr�s rZr�zAnnotatedTests.test_repr�sP�������3��1�9�%�&�)�	
�	
�����4��9�a��?�+�,�6�	
r\c���ttttdf��}dD]/}|j	|��5|j||�ddd��1y#1swY�<xYw)Nr)rnrorp�__metadata__r/)r1r2r?r�rsr3r4s   rZr6zAnnotatedTests.test_dir�sc����I�c�1�f�-�.�/�	�
�	8�M����M��:�
8��
�
�m�Y�7�
8�
8�		8�
8�
8�s�A�A 	c���tttdfdf}|j|ttddf�|j|jd�|j|jt�y)Nrrr�)r?r�r�r�rprys  rZr*zAnnotatedTests.test_flatten�s]���i��Q��'��*�+������I�c�1�a�i�0�1��������0�������s�+r\c�0�tttdf}tttdf}|j	|ttttdf�|j	|tj
d�|j	|tjtt�|jt�5|tddd�|jt�5|ttfddd�y#1swY�7xYw#1swYyxYw)N�
my decoration)r�)
r?rrr�r�r�rpr�r�rR)rUr��LIs   rZ�test_specializezAnnotatedTests.test_specialize�s����d�1�g��.�/��
�t�C�y�/�1�
2������3���4��9�o�+E�!F�G�����3��,�,�.@�A�����3��*�*�D��I�6�
�
�
�y�
)�	��s�G�	�
�
�
�y�
)�	�
�c�5�j�M�	�	�	�	��	�	�s�
D�'D�D	�Dc	�B�|jtttddfttddfh�d�|j	ttddfttddf�|j	ttddftt
ddf�|j	ttdfttddf�|jttddfttddfttddfhttddfttddfh�y)Nrrrl)r�r�r?r�r�r�rr�s rZ�test_hash_eqzAnnotatedTests.test_hash_eq�s�������i��Q��	�2�I�c�1�a�i�4H�I�J�A�N����I�c�1�a�i�0�)�C��A�I�2F�G����I�c�1�a�i�0�)�C��A�I�2F�G����I�c�1�f�-�y��a���/C�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�|j|j|j�y)Nc�"��eZdZdZd�Z�fd�Zy)�*AnnotatedTests.test_instantiate.<locals>.Crc��||_yr`ror�s  rZrDz3AnnotatedTests.test_instantiate.<locals>.C.__init__�r�r\c�Z��t|��stS|j|jk(Sr`)r��NotImplementedrt)rUrrs  �rZ�__eq__z1AnnotatedTests.test_instantiate.<locals>.C.__eq__ s&���!�%��+�)�)��w�w�$�&�&�(�(r\N)rfrgrh�classvarrDr�rfs�rZrr��s����H�
�
)r\r�a decorationr)r?r�rtr�)rUr�r�r�rs    @rZ�test_instantiatezAnnotatedTests.test_instantiate�sp���		)�		)�
�a��'�(��
�a�D��
�a�D������A��������a�c�c�"�������Q�Z�Z�0r\c���ttjtdf}|j	|gd��ddd��|j	|t
gd��ddd��y)Nr�)rrrr�rlr�)r?rar=
rr�r�)rU�MyCounts  rZ�test_instantiate_genericz'AnnotatedTests.test_instantiate_generic
 sR���F�N�N�1�-��>�?�������+��q�\�:��������i�0�a�A�,�?r\c�z�td}|jt�5|d�ddd�y#1swYyxYw)N)r��rr)r)r?r�r�rys  rZ�test_cannot_instantiate_forwardz.AnnotatedTests.test_cannot_instantiate_forward s6���m�$��
�
�
�y�
)�	�
�a�D�	�	�	�s�	1�:c��ttdf}|jt�5|d�ddd�y#1swYyxYw)Nr�r)r?rr�r�rys  rZ� test_cannot_instantiate_type_varz/AnnotatedTests.test_cannot_instantiate_type_var s:���a��i� ��
�
�
�y�
)�	�
�a�D�	�	�	�s	�	7�Ac��|jt�5ttdfjddd�y#1swYyxYw)N)rr�)r�r�r?rrtr�s rZ�test_cannot_getattr_typevarz*AnnotatedTests.test_cannot_getattr_typevar s7��
�
�
�~�
.�	#��a��i� �"�"�	#�	#�	#��	�9�Ac��Gd�d�}t|df}|j|jd�d|_|j|jd�y)Nc��eZdZdZy)�/AnnotatedTests.test_attr_passthrough.<locals>.CrN)rfrgrhr�rir\rZrr�! s���Hr\rr�rr)r?r�r�rt)rUrr�s   rZ�test_attr_passthroughz$AnnotatedTests.test_attr_passthrough  sL��	�	�
�a��'�(��������Q�'����������a� r\c���Gd�d�}|jt|t��dtt�|jt|t��dt
t�y)Nc�J�eZdZUdZeeedfed<dZee	edfed<y)�7AnnotatedTests.test_special_form_containment.<locals>.Crr�r�r�rBN)
rfrgrhr�r?r#r�r�rBr$rir\rZrr�* s2��AB�H�i���
�~� =�>�B�45�E�9�U�3�Z��0�1�5r\rr�rB)r�r*r�r#r�r$r�s  rZ�test_special_form_containmentz,AnnotatedTests.test_special_form_containment) sR��	6�	6�	
�����7�9�5�j�A�8�C�=�Q������7�9�5�g�>��c�
�Kr\c�x�|jtd�5Gd�dt�}ddd�y#1swYyxYw)NzCannot subclass .*Annotatedc��eZdZy)�.AnnotatedTests.test_cannot_subclass.<locals>.CNrzrir\rZrr�3 r�r\rr�r�s  rZr�z#AnnotatedTests.test_cannot_subclass1 s4��
�
#�
#�I�/L�
M�	�
�I�
�	�	�	�r�c��|jt�5tdttdf�ddd�y#1swYyxYw)Nr�positive)r�r�r�r?r�r�s rZ�test_cannot_check_instancez)AnnotatedTests.test_cannot_check_instance6 s8��
�
�
�y�
)�	6��q�)�C��O�4�5�	6�	6�	6�r�c��|jt�5ttttdf�ddd�y#1swYyxYw)Nr�)r�r�rRr�r?r�s rZ�test_cannot_check_subclassz)AnnotatedTests.test_cannot_check_subclass: s8��
�
�
�y�
)�	8��s�I�c�:�o�6�7�	8�	8�	8�s	�=�Ac�t�|jtd�5ttddd�y#1swYyxYw)Nzat least two arguments)r�r�r?r�r�s rZ�test_too_few_type_argsz%AnnotatedTests.test_too_few_type_args> s/��
�
#�
#�I�/G�
H�	��c�N�	�	�	�s�.�7c���tjtjttftj
tttdftjtgtfg}|D]�}t|df}ttjdz�D][}|j||��5tj||�}tj|�}|j!||�ddd��]��Gd�dt"t$�att&tdf}d|_d	|_ttjdz�D]�}tj||�}	tj|	�}|j!|j(d�|j!|j*d	�|j!|j,d���y#1swY��ExYw)
N.r�rl)�protocolr�c��eZdZdZy)�_Annotated_test_GrlNr,rir\rZr�r�R r�r\r�zA decorationr�r�)rarrr�r�rrr!rxr?rprqrrrsr1r0r�r"rr�rDrrt)
rUr�r>rt�protr5�restoredrrror�s
          rZr�zAnnotatedTests.test_pickleB s����:�:�v�|�|�C��H�5��?�?�3�'��s�C�x���?�?�C�5�%�<�0�2���	2�A��!�S�&�!�A��f�5�5��9�:�
2���\�\�4�a�\�8�2�$�l�l�1�d�3�G�%�|�|�G�4�H��$�$�Q��1�2�2�
2�	2�	���
�	�
�'��,�n�<�=���������6�2�2�Q�6�7�	%�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�S�S�!�$�	%�2�2�s�1>G�G c�V�d}d}tt|f}|j|ttt|f�|j|tt|ftt||f�ttt|f}|j|tttt|f�|jt�5|ttfddd�|j||tttt||f�ttjttf|f}|j|ttfttjttf|f�|jt�5|tddd�tt|f}|jt�5|dddd�|t}|jt�5|dddd�y#1swY��*xYw#1swY�uxYw#1swY�OxYw#1swYyxYw)Nr�zanother decoration)r?rr�r�rr�r�rarrrr�)rUr]�dec2r3r�r�Itr�s        rZ�
test_substzAnnotatedTests.test_subst` s�����#���a��g�������3���3��9�!5�6�����9�S�#�X�.�/��3��T�>�1J�K��d�1�g�s�l�#������3���4��9�c�>�!:�;�
�
�
�y�
)�	�
�c�3�h�K�	�	
����1�S�6��I�d�3�i��d�.B�$C�D��f�k�k�"�b�&�)�3�.�/������3��8��i����C��H�0E�s�0J�&K�L�
�
�
�y�
)�	�
�c�F�	��s�C�x�
 ��
�
�
�y�
)�	��t�H�	��s�V��
�
�
�y�
)�	��t�H�	�	�	�	��	�	��	�	��	�	�s0�G:�	
H�?H�+H�:H�H�H�H(c��d}td�}td�}td�}td�}ttg|��|f}|j	|t
ttt
|f�|j	|tt
ftttt
f|f�|jt�5tg|�|��ddd�ttt||f}|j	|t
ttt
|f�|j	|tt
ftttt
f|f�|jt�5tt||fddd�tt|g|��|f}|j	|t
ttt
|f�|j	|t
tfttt
tf|f�|j	|t
ttfttt
ttf|f�|jt�5|dddd�tt|t|f|f}	|j	|	t
ttt
|f�|j	|	t
tfttt
tf|f�|j	|	t
ttfttt
ttf|f�|jt�5|	dddd�ttg|�|��|f}
|j	|
t
ttt
|f�|j	|
t
tfttt
tf|f�|j	|
t
ttfttt
ttf|f�|jt�5|
dddd�ttt||f|f}|j	|t
ttt
|f�|j	|t
tfttt
tf|f�|j	|t
ttfttt
ttf|f�|jt�5|dddd�tt|g|�|��|f}|j	|t
tfttt
tf|f�|j	|t
ttfttt
ttf|f�|j	|t
tttfttt
tttf|f�|jt�5|t
ddd�tt|t||f|f}
|j	|
t
tfttt
tf|f�|j	|
t
ttfttt
ttf|f�|j	|
t
tttfttt
tttf|f�|jt�5|
t
ddd�td�}td�}td	�}||g|�|��}||t||f}|tt|g|�|��|ff|tt|t||f|ff|t
tfttt
tf|ff|t
tfttt
tf|ff|t
ttfttt
ttf|ff|t
ttfttt
ttf|ff|t
tttfttt
tttf|ff|t
tttfttt
tttf|fffD]\}}|j	||��|jt�5|t
ddd�|jt�5|t
ddd�y#1swY��txYw#1swY���xYw#1swY���xYw#1swY��#xYw#1swY��MxYw#1swY��sxYw#1swY��xxYw#1swY��yxYw#1swY��xYw#1swYyxYw)
Nr�r�rr�r�rir�r�T4)
rrr?r�r�r�r�r�r�rrrRr�)rUr]r�rr�r�r�r�rrrprqrrrsr�rr�rtr�rtr�s                     rZ�test_typevar_substz!AnnotatedTests.test_typevar_subst} sM����
�$�
���C�L��
�T�]��
�T�]���e�C�R�C�j�#�o�&������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F�
�
�
�y�
)�	 ��h�r�h�3�h��	 �
�e�F�2�J�'��,�-������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F�
�
�
�y�
)�	'��f�R�j�#�o�&�	'�
�e�A�F��F�m�S�(�)������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�	�
�b�E�	�
�e�A�v�b�z�M�*�C�/�0������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�	�
�b�E�	�
�e�F�R�F��F�m�S�(�)������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�	�
�b�E�	�
�e�F�2�J��M�*�C�/�0������3���5��:�s�?�!;�<�����3��8��i��c�3�h���0D�&E�F����
�c�3��o���e�C��e�O�,�c�1�2�	
��
�
�y�
)�	�
�b�E�	�
�e�B�K��K�R�K�(�#�-�.������3��8��i��c�3�h���0D�&E�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�	�
�e�B��r�
�B�.�/��4�5������3��8��i��c�3�h���0D�&E�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�	�
�5�!��
�T�]��
�T�]��
�b�l�3�l��l�O��
�b�&��+�r�!�"����5���c��2��+>��+C�!D�E�
��5��V�C�[�"�1D�+E�s�+J�!K�L�
�s�C�x�[��5��c��?�C�+?�!@�A�
�s�C�x�[��5��c��?�C�+?�!@�A�
�s�C���
��5��c�5��+A�3�+F�!G�H�
�s�C���
��5��c�5��+A�3�+F�!G�H�
�s�C��u�$�
%�!*�5��c�4��1F�+G��+L�!M�
O�
�s�C��u�$�
%�!*�5��c�4��1F�+G��+L�!M�
O�
�	#�D�A�q�
���Q��"�	#��
�
�y�
)�	�
�c�F�	�
�
�
�y�
)�	�
�c�F�	�	�K	 �	 ��	'�	'��	�	��	�	��	�	��	�	��	�	��	�	��6	�	��	�	�sx�?e�*e
�e�e'�#e4�
f�
f�
f�
f(�-
f4�e
�
e�e$�'e1�4e>�f�f�f%�(f1�4f=c��tttdf}|j|ttttdf�y)Nr)rr?rr�r�rjs  rZ�test_annotated_in_other_typesz,AnnotatedTests.test_annotated_in_other_types� s6����1�a�4��!������3���i��Q��&7�!8�9r\c��Gd�dttdf�}|j|j|ttfd�y)Nc��eZdZy)�,AnnotatedTests.test_annotated_mro.<locals>.XNrzrir\rZrir�� r�r\rir�z Annotated should be transparent.)r?r�r�r�rGrjs  rZ�test_annotated_mroz!AnnotatedTests.test_annotated_mro� s3��-�	�#�w�,�'�-�������Q��V�$4�;�	=r\c���Gd�dt�}Gd�dt�}tt|d�f}tt|d�f}|jd}|jd}|jt	|�|�|j||d��|jt	|�|�|j||d��|j
t	|�t	|��tt|d�f}tt|d�f}|jd}	|jd}
|jt	|	�|�|j|	|d��|jt	|
�|�|j|
|d��|j
t	|	�t	|
��ttdf}ttd	f}ttd
f}
|jt	|jd�t�|jt	|jd�t�|jt	|
jd�t�y)Nc��eZdZy)�:AnnotatedTests.test_annotated_cached_with_types.<locals>.ANrzrir\rZr�r�� r�r\r�c��eZdZy)�:AnnotatedTests.test_annotated_cached_with_types.<locals>.BNrzrir\rZr�r� r�r\r�rirrmrlg�?T)
r�r?r�r�r�r�rr	r�rRr�)rUr�r��field_a1�field_a2�a1_metadata�a2_metadata�field_b1�field_b2�b1_metadata�b2_metadata�field_c1�field_c2�field_c3s              rZ� test_annotated_cached_with_typesz/AnnotatedTests.test_annotated_cached_with_types� s����������S�!�C�&�[�)���S�!�C�&�[�)���+�+�A�.���+�+�A�.���
�
�d�;�'��+�����a��f�-��
�
�d�;�'��+�����a��f�-�����k�*�D��,=�>��S�!�C�&�[�)���S�!�C�&�[�)���+�+�A�.���+�+�A�.���
�
�d�;�'��+�����a��f�-��
�
�d�;�'��+�����a��f�-�����k�*�D��,=�>��S�!�V�$���S�#�X�&���S�$�Y�'���
�
�d�8�0�0��3�4�c�:��
�
�d�8�0�0��3�4�e�<��
�
�d�8�0�0��3�4�d�;r\N)rfrgrhr�r�r6r*r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r
rir\rZr�r��sy���
�8�,�	�
�1�&@�
�
�
#�!�L��
6�8��%�<�:p�d:�=�
 <r\r�c�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zy
)�TypeAliasTestsc��t}yr`�ry�rUr�s  rZ�-test_canonical_usage_with_variable_annotationz<TypeAliasTests.test_canonical_usage_with_variable_annotation!s��#�r\c��t}yr`rrs  rZ�&test_canonical_usage_with_type_commentz5TypeAliasTests.test_canonical_usage_with_type_comment!s���r\c�l�|jt�5t�ddd�y#1swYyxYwr`)r�r�rCr�s rZr�z&TypeAliasTests.test_cannot_instantiate"!s*��
�
�
�y�
)�	��K�	�	�	�r>c�x�|jt�5tdt�ddd�y#1swYyxYwr�)r�r�r�rCr�s rZr%z!TypeAliasTests.test_no_isinstance&!s/��
�
�
�y�
)�	&��r�9�%�	&�	&�	&�r�c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUded<y)�/TypeAliasTests.test_stringized_usage.<locals>.ArCr�Nr"rir\rZr�r+!s���Nr\r�r�)r�r*rCrys  rZ�test_stringized_usagez$TypeAliasTests.test_stringized_usage*!s&��	�	������*�S�)�,<�=r\c��|jt�5ttt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr`)r�r�rRryrCr�s rZ�test_no_issubclassz!TypeAliasTests.test_no_issubclass/!sc��
�
�
�y�
)�	,��x��+�	,��
�
�y�
)�	,��y�(�+�	,�	,�	,�	,��	,�	,�s�A&�A2�&A/�2A;c��|jtd�5Gd�dt�}ddd�|jt�5Gd�dt	t��}ddd�y#1swY�@xYw#1swYyxYw)Nz!Cannot subclass typing\.TypeAliasc��eZdZy)�.TypeAliasTests.test_cannot_subclass.<locals>.CNrzrir\rZrr 9!r�r\rc��eZdZy)�.TypeAliasTests.test_cannot_subclass.<locals>.DNrzrir\rZrr"=!r�r\r)r�r�rCr�r�rs   rZr�z#TypeAliasTests.test_cannot_subclass6!sp��
�
#�
#�I�4�6�	�
�I�
�	�
�
�
�y�
)�	�
�D��O�
�	�	�	�	��
	�	�s�A&�A2�&A/�2A;c�B�|jtt�d�y)Nztyping.TypeAlias)r�r�rCr�s rZr�zTypeAliasTests.test_repr@!s������i��*<�=r\c�r�|jt�5ttddd�y#1swYyxYwr`)r�r�rCr�r�s rZrz$TypeAliasTests.test_cannot_subscriptC!s,��
�
�
�y�
)�	��c�N�	�	�	�rN)rfrgrhrrr�r%rrr�r�rrir\rZrr!s/��$���&�>�
,��>�r\rc�f�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zy)�ParamSpecTestsc���td�}|j||�|j|t�|j|jd�|j|jt�y)Nr�)rDr�r�rfrgr!s  rZrOzParamSpecTests.test_basic_plainJ!sS���c�N������A�����a��+�������S�)�������x�0r\c���i}td||�|d}|j|t�|j|jd�|j|jd�y)Nz0from typing import ParamSpec; P = ParamSpec("P")r�)rQr�rDr�rfr�rg)rUrSr�s   rZrTz#ParamSpecTests.test_basic_with_execQ!sS��
���
?��R�H��s�G�����a��+�������S�)��
�
�a�l�l�D�)r\c���td�}td�}t|tf}|j	|j
|tf�|j	|j|f�t||f}|j	|j
||f�|j	|j||f�tjj|tf}|j	|j
|tf�|j	|j|f�tjj||f}|j	|j
||f�|j	|j||f�y�Nr�r)	rDrr!r�r�rnror�r��rUr�rr�r�r�r�s       rZ�test_valid_useszParamSpecTests.test_valid_usesY!s#���c�N���C�L��
�a��f�
��������q�#�h�/�����*�*�Q�D�1�
�a��d�^��������q�!�f�-�����*�*�Q��F�3�
�_�_�
%�
%�a��f�
-��������q�#�h�/�����*�*�Q�D�1�
�_�_�
%�
%�a��d�
+��������q�!�f�-�����*�*�Q��F�3r\c�\�td�}td�}|jdt|��|jdt|��|j|jt
�|j|jt�|j|jj|�|j|jj|�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|j|j|j�|jt|j�d�|jt|j�d�y)Nr��P_2r�rB�P.args�P.kwargs)
rDr3r2r�r�rFrBrGr�rpr�r�r�)rUr�r.s   rZ�test_args_kwargszParamSpecTests.test_args_kwargsj!si���c�N�������
�
�f�c�!�f�%��
�
�h��A��'����a�f�f�m�4����a�h�h��8��
�
�a�f�f�'�'��+��
�
�a�h�h�)�)�1�-����������(�������1�8�8�,����A�F�F�C�H�H�-����A�H�H�c�j�j�1����A�F�F�A�H�H�-����A�H�H�a�f�f�-����A�F�F�C�J�J�/�����a�f�f��x�0�����a�h�h���4r\c�R�td�}Gd�dt|�}|jt|t	�t��dt|tfi�|jt|jt	�t��|j|jd��y)Nr�c�*�eZdZUedefed<dd�Zy)�)ParamSpecTests.test_stringized.<locals>.Cr�rN
c��yr`rir�s   rZrDz-ParamSpecTests.test_stringized.<locals>.C.foo�!rqr\N)r�r/rBr0)rfrgrhr!r�r�rDrir\rZrr4!s���3��8�$�$�
r\rrN
r�)rDr"r�r�r�r�r!r�rDr�rBr0s   rZ�test_stringizedzParamSpecTests.test_stringized}!sy���c�N��	���
�	�
	
����Q��	�6�8�4�v�x��3��?O�6P�Q��������w�y�&�(�+�a�f�f����-Q�	
r\c�$���td��td��td�}G��fd�dt��f�}|t|f}|j	|j
t|f�|j	|j|f�|jtd�5|tddd�|jtd�5|t|tfddd�|ttt|ff}|j	|j
ttt|ff�|j	|j|f�|tttgf}|j	|j
tttff�|j	|jd�|td	f}|j	|j
ttf�|j	|jd�G�fd
�dt��}|tttg}|j	|j
tttff�|j	|jd�|tttf}	|j	|	j
tttff�|j	|	jd�|j	|j
|	j
�|j	|j|	j�|j	|j|	j�|j	||	�|t}
|j	|
j
tff�|j	|
jd�|jtd�5|ttgtfddd�|jtd�5||tfddd�y#1swY��=xYw#1swY��xYw#1swY�NxYw#1swYyxYw)Nrr�r.c�2��eZdZUeW�efed<W�ed<y)�,ParamSpecTests.test_user_generics.<locals>.XrdrtN�rfrgrhr!r�r�)r�rs��rZrir9�!s�����3�����Dr\rir�r�ri.c�&��eZdZUeW�efed<y)�,ParamSpecTests.test_user_generics.<locals>.ZrdNr:)r�s�rZr�r<�!s�����3���r\r�)rrDr"r�r�rnror�r�r�rEr�r�rp)
rUr.rirlro�G3�G4r��G5�G6�G7r�rs
           @@rZ�test_user_genericsz!ParamSpecTests.test_user_generics�!sG����C�L���c�N������	���1��
�	��s�C�x�[��������s�C�j�1�����*�*�S�F�3�
�
#�
#�I�/B�
C�	�
�c�F�	�
�
#�
#�I�/C�
D�	�
�c�3��m��	��s�K��S��)�)�
*��������s�K��S��,A�&B�C�����*�*�S�F�3�
�s�S�$�K��
 ��������s�S�$�K�&8�9�����*�*�B�/�
�s�C�x�[��������s�H�o�6�����*�*�B�/�	 ���
�	 ���S�$��
 ���������S�$�'7�&9�:�����*�*�B�/�
�s�C��~�
���������S�$�'7�&9�:�����*�*�B�/�	
������b�k�k�2��������
�
�6�����*�*�B�,=�,=�>�����R� �
�s�V���������v�i�0�����*�*�B�/�
�
#�
#�I�/C�
D�	 �
�s�C�j�$���	 �
�
#�
#�I�/C�
D�	�
�c�4�i�L�	�	�Q	�	��	�	��H	 �	 ��	�	�s0�
O �O-�O:�P� O*�-O7�:P�Pc����td��td��G��fd�dt��f�}|ttgtgf}|tgttgf}|j||�|j
|jttftff�|j
|jtfttff�y)Nr�r�c�<��eZdZUeW�efed<eW�efed<y)�CParamSpecTests.test_multiple_paramspecs_in_user_generics.<locals>.Xrdr�N)rfrgrhr!r�r�r�)r�r�s��rZrirE�!s!�����3������C�� � r\ri)rDr"r�r�rxr�r�rn)rUrirlror�r�s    @@rZ�)test_multiple_paramspecs_in_user_genericsz8ParamSpecTests.test_multiple_paramspecs_in_user_generics�!s�����c�N��
�t�_��	!���2���	!���S�z�E�7�"�
#��
��u�s�E�l�"�
#�����B��#��������S�z�E�8�&<�=��������v��U�|�&<�=r\c�l���td��td��G��fd�dtg������}|ttgf}|j|jttff�|tttgf}|j|jtttff�|tg}|j|jtff�|g}|j|jd�|jt�5|dddd�G��fd�dt�g����}|tgtf}|j|jtftf�|tgttf}|j|jtfttf�|tg}|j|jtff�|g}|j|jd�|jt�5|dddd�y#1swY��xYw#1swYyxYw)	Nr�r�c�>��eZdZUeW�efed<egW���ed<y)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.Xrdr�N�rfrgrhr!r�r�r�r�r�s��rZrirI�!������3�����S�b�S�z�Mr\ri)riric�>��eZdZUeW�efed<egW���ed<y)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.Yrdr�NrJrKs��rZrmrN�!rLr\rm)
rrDr"r�rxr�rnr�r�r�)	rUrirlror=r>rmr�r�s	       @@rZ�1test_typevartuple_and_paramspecs_in_user_genericsz@ParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics�!s����
�$�
���c�N��	�����Q���	��s�U�G�|�_��������s�U�H�o�6�
�s�C�%�� �
!��������s�C�%��&:�;�
��w�Z���������x�k�2�
�r�U��������e�,�
�
�
�y�
)�	�
�b�E�	�	����B���	���w��|�_���������x��o�6�
��w��S� �
!���������x��c�&:�;�
��w�Z���������x�k�2�
�r�U��������e�,�
�
�
�y�
)�	�
�b�E�	�	�	�	��	�	�s�
H�H*�H'�*H3c
��td�}td�}td�}ttj
jfD]�}|j
|��5||tg|��f}|ttgttf}|j|jtttttff�ddd���Gd�dt||f�}|tg|��|f}|ttttgf}|j|jtttfttff�Gd�dt||f�}||tg|��f}|ttgttf}|j|jttftttff�y#1swY��~xYw)	Nr�rr�)r�c��eZdZy)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.XNrzrir\rZrirR�!r�r\ric��eZdZy)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.YNrzrir\rZrmrT"r�r\rm)rDrrr!r�r�rsrr�r�rxrRr�rnr")	rUr�rr�rr�r�rirms	         rZ�3test_typevartuple_and_paramspecs_in_generic_aliaseszBParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases�!s����c�N���C�L��
�$�
���;�?�?�3�3�3�	N�A����a��(�
N��a��s��s��m�$���s�C�j�%��.�/��� � ����c�3��e�U�l�8K�-L�M�
N�
N�	N�	���1��
�	�
�e�C�R�C�j�!�m���
�e�U�S�#�J�&�'��������e�E�5�L�&9�C��;�%G�H�	���1��
�	�
�a��s��s��m���
�s�C�j�%��&�'��������s�C�k�5����3F�%G�H�#
N�
N�s
�A$F6�6G	c���td�}|j}|j|ttf�ttf�|j|ttg�ttf�|j|dg�td�f�|j
|d�d�|j
||�|�|j|tt|f�tt|f�y)Nr�.)rDr�r�r�r�r�r�rE)rUr�r�s   rZr�z$ParamSpecTests.test_var_substitution"s����c�N���"�"�������S�z�*�S�#�J�7������S�z�*�S�#�J�7������v���d��
�6��
�
�e�C�j�#�&��
�
�e�A�h��"�����{�3��6�2�3�[��a��5H�Ir\c��td�}td�}dtd|ttztttff}|D]�}|j|��5|j
t�5|j|�ddd�|j
t�5tj||f|tfddd�|j
t�5tjj||f|tfddd�ddd���y#1swY��xYw#1swY�fxYw#1swY�,xYw#1swY��xYw)Nrr�r�r�)
rrDr�r�rrsr�r�r�rar!r�r�)rUrr�r�r�s     rZr�z(ParamSpecTests.test_bad_var_substitution"s���C�L���c�N����T�1�c�#�g�u�S�#�X��?���	=�C����#��&�
=��&�&�y�1�,��&�&�s�+�,��&�&�y�1�4��O�O�A�q�D�)�#�s�(�3�4��&�&�y�1�=��O�O�,�,�Q��T�2�3��8�<�=�
=�
=�	=�,�,��4�4��=�=��
=�
=�sT�D7�,D�>D7�D�:D7�)D+�D7�D�D7�D(�$D7�+D4�0D7�7E	c��td�}td�}td�}td�}td�}Gd�dt|�}||}|j	|j
|f�|j	|j|ff�|j	|t|t�||g}|j	|j
|f�|j	|j|ff�|j	|t|t�|t|g}	|j	|	j
|f�|j	|	jt|ff�|j	|	t|ttg�||t|g}
|j	|
j
||f�|j	|
j|t|ff�|j	|
ttf|tttg�|g|�t�}|j	|j
|f�|j	|jg|�t��f�|j	|ttf|tttg�|tg|�}|j	|j
|f�|j	|jtg|��f�|j	|ttf|tttg�||g|�}
|j	|
j
||f�|j	|
j|g|��f�|j	|
tttf|tttg�|||g}|j	|j
|f�|j	|j||ff�|j	|t|ttg�||t|g}|j	|j
|f�|j	|j|t|ff�|j	|t|tttg�|tg|��g|�}|j	|j
|f�|j	|jtg|��g|��f�|j	|ttf|tttfttf�||}|j	|j
|f�|j	|j|f�|j	|ttg|ttg�Gd�d	t||f�}|||f}|j	|j
||f�|j	|j||f�|j	|ttgtgf|ttgtgf�|j	|ggf|ggf�|ttg|f}|j	|j
|f�|j	|jttf|f�|j	|ttg|ttgttgf�|j	|g|ttggf�||ttgf}|j	|j
|f�|j	|j|ttff�|j	|ttg|ttgttgf�|j	|g|gttgf�||tgt|gf}|j	|j
||f�|j	|j|tft|ff�|j	|ttf|ttgttgf�|g|�t�t|gf}|j	|j
||f�|j	|jg|�t��t|ff�|j	|tttf|tttgttgf�||tgtg|�f}|j	|j
||f�|j	|j|tftg|��f�|j	|tttf|ttgtttgf�Gd
�dt||f�}|||f}|j	|j
||f�|j	|j||f�|j	|ttgtf|ttgtf�|t|g|f}|j	|j
|f�|j	|jt|f|f�|j	|t|ttgtf�|tg|�|f}|j	|j
||f�|j	|jtg|��|f�|j	|tttf|tttgtf�y)Nrr�r�r�r�c��eZdZy)�DParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.BaseNrzrir\rZr
	rZ&"r�r\r
	c��eZdZy)�GParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.DoublePNrzrir\rZ�DoublePr\`"r�r\r]c��eZdZy)�EParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.PandTNrzrir\rZ�PandTr_�"r�r\r`)rrDrr"r�rornr�r�r�r�rrRrx)rUrr�r�r�r�r
	�A1r3�A3�A4�A5�A5_2�A6�A7�A8�A9�A10r]�B1�B2�B3�B4�B5�B6r`r�r�r�s                             rZ�'test_type_var_subst_for_other_type_varsz6ParamSpecTests.test_type_var_subst_for_other_type_vars"sS	���C�L��
�T�]���c�N��
�t�_��
�$�
��	�7�1�:�	��!�W������*�*�Q�D�1��������t�g�.�����C��$�s�)�,�
�1�#�Y������*�*�Q�D�1��������t�g�.�����C��$�s�)�,�
�3��(�^������*�*�Q�D�1��������Q�x�k�2�����C��$��S�z�"2�3�
�1�c�2�,�
������*�*�Q��G�4��������3��|�o�6�����C��I���c�3��-=�(>�?�
�*�B�*��*�
������*�*�R�E�2�������z��z�S�z�m�4�����C��I���c�4��-=�(>�?��S�J�2�J�������,�,�r�e�4�������#����
�6�����c�4�i��$��S�$�/?�*@�A�
�1�(�r�(�^������*�*�Q��G�4��������x�B�x�k�2�����C��d�N�+�T�3��T�2B�-C�D�
�1�a�&�\������*�*�Q�D�1��������1�v�i�0�����C��$��S�z�"2�3�
�1�d�1�g�,�
������*�*�Q�D�1��������4��7�|�o�6�����C��$��T�#�Y�'7�"8�9�
�5��"��:�#��#�
$������*�*�R�E�2��������c�r�c�
�'8�R�'8�&:�;�����C��H��t�E�#�s�(�O�S�#�,E�'F�G��2�h������+�+�b�U�3��������u�-�����c�3�Z��$��S�z�*:�;�	�g�a��e�n�	��Q��U�^������*�*�Q��G�4�������q�"�g�.�����S�#�J���.�/��#���t�f�9L�1M�N�����B��F��W�R��V�_�5�
�c�3�Z��^�
$������*�*�R�E�2��������S�z�2�&6�7�����T�4�L�)�7�C�#�;��t��3L�+M�N�����B���#���b��!9�:�
�Q��t��_�
%������*�*�Q�D�1�������q�4��,�&7�8�����S�#�J���#���t�T�l�1J�)K�L�����B����d�D�\�)9�!:�;�
�a��X��b�z�)�
*������*�*�Q��G�4��������3�x�$���&<�=�����C��J���#�s��d�E�]�1J�)K�L�
�Z�r�Z�3�Z�$���+�
,������*�*�R��H�5�������z��z�S�z�D�"�:�&>�?�����C���-�.� �#�u�c�!2�T�5�M�!A�B�	D��a��X��{�r�{�*�
+������*�*�Q��G�4��������3�x�$����&=�>�����C���-�.� �#�s��d�E�5�-A�!A�B�	D�	�G�A�q�D�M�	��1�a�4�[������*�*�Q��F�3�������q�!�f�-�����S�#�J��,�-�u�c�3�Z��5E�/F�G�
�C��8�Q�;�
������*�*�Q�D�1��������Q�x��m�4�����C��%��c�
�C��"8�9�
�C�:�"�:�q�=�
!������*�*�R��G�4��������z�b�z�1�o�6�����C��u�,�-�u�c�3��5E�u�5L�/M�Nr\c��td�}td�}t||f}t|}t|}t|t
z}|j
|j||f�|j
|j||f�|j
|j||f�tt
tgtf}|j
|t
tgtft|�|j
|t
tgtft|�|j
|t
tgtft|t
z�y)Nrr�)
rrDr!rr�r�r�ror�rR)rUrr�r�rlror=rs        rZ�!test_paramspec_in_nested_genericsz0ParamSpecTests.test_paramspec_in_nested_generics�"s
��
�C�L���c�N��
�a��d�^��
�"�X��
�"�X��
�"�X��^������*�*�Q��F�3�����*�*�Q��F�3�����*�*�Q��F�3��c�3�Z��&�'������S�#�J��-�.��Q��8�����S�#�J��-�.��Q��8�����S�#�J��-�.��Q��#�
�>r\c�x�td�}td�}t|tf}|j|j|f�|j||j|f�|j|t
jd�|j|t
tfjtf�|j|tt
|fj|f�|j|tt|fjt|f�|j|djd�ttt
|ftf}|j|j|f�|j||j|f�|j|t
jd�|j|t
tfjtf�|j|tt
|fj|f�|j|tt|fjt|f�y)Nr�r�ri.)rDr!r�r�ror�rrE)rUr�r�r�r�s     rZ�test_paramspec_gets_copiedz)ParamSpecTests.test_paramspec_gets_copied�"s����c�N��
�t�_��
�a��f�
������*�*�Q�D�1�����B��.�.���6�����C��/�/��4�����C��F��2�2�Q�D�9�����K��R��0�1�@�@�2�%�H�����K��2��.�/�>�>��B��H�����C��/�/��4�
�k�#�q�&�)�3�.�
/������*�*�Q�D�1�����B��.�.���6�����C��/�/��4�����C��F��2�2�Q�D�9�����K��R��0�1�@�@�2�%�H�����K��2��.�/�>�>��B��Hr\c�8�|jttdz�5Gd�dt�}ddd�|jttdz�5Gd�dt�}ddd�|jttdz�5Gd�d	t
�}ddd�td
�}|jttdz�5Gd�d|�}ddd�|jttdz�5Gd
�d|j�}ddd�|jttdz�5Gd�d|j�}ddd�y#1swY��'xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�vxYw#1swYyxYw)NrDc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.CNrzrir\rZrrx�"r�r\rrFc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.DNrzrir\rZrrz�"r�r\rrGc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.ENrzrir\rZrpr|�"r�r\rpr�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.FNrzrir\rZrqr~�"r�r\rqc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.GNrzrir\rZrrr��"r�r\rrc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.HNrzrir\rZrsr��"r�r\rs)	r�r�r�rDrFrGr�r�rB)rUrrrpr�rqrrrss        rZr�z#ParamSpecTests.test_cannot_subclass�"sS��
�
#�
#�I���/L�
M�	%�$�I�$�	%�
�
#�
#�I���/P�
Q�	)�(�M�(�	)�
�
#�
#�I��AR�/R�
S�	+�*�O�*�	+��c�N��
�
#�
#�I�(�;�6�8�	��A��	��
#�
#�I�(�?�:�<�	"�!�A�F�F�!�	"��
#�
#�I�(�+<�<�>�	$�#�A�H�H�#�	$�	$�	%�	%��	)�	)��	+�	+��	�	��	"�	"��	$�	$�sG�E�E �E,�E8�9F�4F�E� E)�,E5�8F�F
�FN)rfrgrhrOrTr,r1r6rBrFrOrUr�r�rqrsrur�rir\rZr&r&H!sU��1�*�4�"5�&

�4�l>� �DI�2J�=�wO�r?�$I�*$r\r&c�$�eZdZd�Zd�Zd�Zd�Zy)�ConcatenateTestsc�p�td�}Gd�d�}t||f}|j|t�y)Nr�c��eZdZy)�-ConcatenateTests.test_basics.<locals>.MyClassNrzrir\rZr�r��"r�r\r�)rDrEr�)rUr�r�r�s    rZrzConcatenateTests.test_basics�"s/���c�N�������
�#�����A�{�+r\c���td�}tttt|f��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYw)Nr�r.r/)rDr1r2rEr�rsr3)rUr�r5r0s    rZr6zConcatenateTests.test_dir�"sl���c�N����K��Q��/�0�1�	�
�	8�M����M��:�
8��
�
�m�Y�7�
8�
8�	8�
8�
8�s�A"�"A+	c��td�}td�}ttt|ftf}|j|jtt|ftf�|j|j|f�ttt||f|f}|j|jtt||f|f�|j|j||f�tjjtt|ftf}|j|jtt|ftf�|j|j|f�tjjtt||f|f}|j|jtt||f|f�|j|j||f�yr*)
rDrr!rEr�r�rnror�r�r+s       rZr,z ConcatenateTests.test_valid_uses�"s~���c�N���C�L��
�k�#�q�&�)�3�.�
/��������{�3��6�':�C�&@�A�����*�*�Q�D�1�
�k�#�q�!�)�,�a�/�
0��������{�3��1�9�'=�q�&A�B�����*�*�Q��F�3��_�_�
%�
%�k�#�q�&�&9�3�&>�
?��������{�3��6�':�C�&@�A�����*�*�Q�D�1�
�_�_�
%�
%�k�#�q�!�)�&<�a�&?�
@��������{�3��1�9�'=�q�&A�B�����*�*�Q��F�3r\c��td�}td�}td�}t||f}|j|t|ftt|f�|j|tt
tgftt
tf�|j|tgftf�|j|ttt
|ffttt
|f�|j|tdfttdf�tt|f}|j||tt|f�|j|t
tgtt
tf�|j|t
tftt
tf�|j|gtf�|j|tt
|fttt
|f�|j|dttdf�y)Nrr�r�.)rrDrEr�r�r�rR)rUrr�r�rs     rZr�z&ConcatenateTests.test_var_substitution�"s����C�L���c�N��
�t�_����1��������3��7��[��b��%9�:�����3��e��,�-��S�%�/@�A�����3��7��c�V�,�����3��C��G� 4�4�5�$�S�#�r�\�2�	4�����3��8��k�#�s�(�&;�<���Q��������2���C��G� 4�5�����C��<��3��U�*;�<�����3��:���c�5�(9�:�����2����'�����;�s�B�w�/�0�+�c�3��l�2K�L�����3���S�#�X�!6�7r\N)rfrgrhrr6r,r�rir\rZr�r��"s��,�8�4�$8r\r�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TypeGuardTestsc�
�ttdttfd�}|jt|�dtti�|j	t
�5tttfddd�y#1swYyxYw)Nr�c��yr`rir�s rZrDz'TypeGuardTests.test_basics.<locals>.foo#r�r\)rHr�r�r�r�r�r�rs  rZrzTypeGuardTests.test_basics	#sa���#��+�	�#��+�����S��H�i��n�#=�>�
�
�
�y�
)�	 ��c�3�h��	 �	 �	 �s�A9�9Bc�N�|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�ttt}|jt|�d�y)Nztyping.TypeGuardztyping.TypeGuard[int]ztyping.TypeGuard[%s.Employee]ztyping.TypeGuard[tuple[int]])r�r�rHr�ryrfr�r'
s  rZr�zTypeGuardTests.test_repr#s|������i��*<�=�
�s�^������b��#:�;�
�x�
 ������b��#B�X�#M�N�
�u�S�z�
"������b��#A�Br\c	�$�|jtt�5Gd�dtt��}ddd�|jtt�5Gd�dttt
��}ddd�|jtd�5Gd�dt�}ddd�|jtd�5Gd	�d
tt
�}ddd�y#1swY��xYw#1swY�yxYw#1swY�WxYw#1swYyxYw)Nc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.CNrzrir\rZrr�#r�r\rc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.DNrzrir\rZrr� #r�r\rz!Cannot subclass typing\.TypeGuardc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.ENrzrir\rZrpr�$#r�r\rpz(Cannot subclass typing\.TypeGuard\[int\]c��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.FNrzrir\rZrqr�(#r�r\rq)r�r�r�r�rHr�r2
s     rZr�z#TypeGuardTests.test_cannot_subclass#s���
�
#�
#�I�/C�
D�	�
�D��O�
�	��
#�
#�I�/C�
D�	�
�D��3��(�
�	��
#�
#�I�$H�J�	�
�I�
�	��
#�
#�I�$O�Q�	�
�I�c�N�
�	�	�	�	��	�	��	�	��	�	�r3
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwr`)r�r�rHr�rr�r�s rZr"zTypeGuardTests.test_cannot_init+#s���
�
�
�y�
)�	��K�	�
�
�
�y�
)�	��D��O��	�
�
�
�y�
)�	-�*�D��8�C�=�)�*�,�	-�	-�		�	��	�	��	-�	-�r6
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwr$)r�r�r�rHr�rRr�s rZr%z!TypeGuardTests.test_no_isinstance3#se��
�
�
�y�
)�	*��q�)�C�.�)�	*�
�
�
�y�
)�	'��s�I�&�	'�	'�	*�	*��	'�	'�r9
Nr:
rir\rZr�r�#s�� �C�� -�'r\r��
SpecialAttrsP�
SpecialAttrsTc�D�eZdZd�Zej
de�Zd�Zd�Z	y)�SpecialAttrsTestsc	�B�itjd�tjd�tjd�tjd�tj
d�tjd�tjd�tjd�tjd	�tjd
�tjd�tjd�tjd
�tjd�tjd�tj d�tj"d�itj$d�tj&d�tj(d�tj*d�tj,d�tj.d�tj0d�tj2d�tj4d�tj6d�tj8d�tj:d�tj<d�tj>d�tj@d �tjBd!�tjDd"��itjFd#�tjHd$�tjJd%�tjLd&�tjtNd�tjtNd�tjtNtNfd�tjtNd�tj
tNd�tjtNd�tjgtNfd�tjd'tNfd�tjtNtNfd	�tjtNd
�tjtNd�tjtNd�tjtNtNtNfd
��itjtNd�tjtNtNfd�tj tNd�tj"tNtNfd�tj$tNd�tj&tNtNtNfd�tj*tNtNfd�tj,tNd�tj.tNd�tj0tNd�tj2tNd�tj4tNtNfd�tj6tNd�tj8tNtNfd�tj:tNd�tj<tNd�tj>tNtNfd��itj@tNd �tjBtNd!�tjDtNd"�tjHtNd$�tjHtNd'fd$�tjJtNd%�tjLtNd&�tjPd(�tjNd)�tjRd*�tjTd+�tjVd,�tjXd-�tjZd.�tj\d/�tj^d0�tj`d1��itjbd2�tjdd3�tjfd4�tjhd5�tjjd6�tjld7�tjPtNd8fd(�tjPtnd8fd(�tjRtNd*�tjTtNtpfd+�tjVtNd,�tjZtNd.�tjZd9d.�tjZd:d.�tjbtNd2�tjftNd4�tjjtNd)��tjjtntrfd6i�}|ju�D]�\}}|jw|�;�5|jy|jz|t}|��|jy|j~|t}|��|jy|j�d<t}|��t�t�j�d=z�D]?}t�j�||�}t�j�|�}|j�||��A	ddd���y#1swY��xYw)>Nr^	r�
r�
r

rr
r/
r!rP	r
r:	rr
r=
rO	r:
rr	r�
r��	ItemsViewrbr��KeysViewrre�MappingViewr r&
r
ra
r�r<	r@
r.rr4�
ValuesView.r?rr#rEr$r@rr"r
rrrCrHrrrA�
Annotationr�rr�rarl)Grar^	r�
r�
r

rr
r/
r!rP	r
r:	rr
r=
rO	r:
rr	r�
r�r�rbr�r�rrer�r r&
r
ra
r�r<	r@
r.rr4r�rr?r#rEr$r@rr"r
rrrCrHrrrAr�r�rRr�rsr�rfr�rhrgrprqrrr1r0r�)rU�cls_to_checkrVr�ror�r�s       rZr0z$SpecialAttrsTests.test_special_attrs@#s
��q
����
�q
�
�&�&�(=�q
�
�!�!�#3�	q
�

� � �/�q
�
� � �/�
q
�
���k�q
�
���|�q
�
�O�O�Z�q
�
�O�O�Z�q
�
���|�q
�
���k�q
�
�!�!�#3�q
�
���k�q
�
�N�N�I�q
� 
���
�!q
�"
�L�L�'�#q
�$
�K�K��%q
�&
���k�'q
�(
���k�)q
�*
�O�O�Z�+q
�,
���k�-q
�.
�O�O�Z�/q
�0
�O�O�Z�1q
�2
�O�O�Z�3q
�4
�K�K��5q
�6
�N�N�I�7q
�8
���
�9q
�:
�!�!�#3�;q
�<
�"�"�$5�=q
�>
���|�?q
�@
���
�Aq
�B
���|�Cq
�D
�O�O�Z�Eq
�F
�J�J��Gq
�H
�L�L�'�Iq
�J
�L�L�'�Kq
�L
�K�K��Mq
�N
���|�Oq
�R
���s�#�]�Sq
�T
�&�&�s�+�-B�Uq
�V
�!�!�#�s�(�+�-=�Wq
�X
� � ��%��Yq
�Z
� � ��%��[q
�\
���S�!�;�]q
�^
�O�O�B��G�$�j�_q
�`
�O�O�C��H�%�z�aq
�b
�O�O�C��H�%�z�cq
�d
���c�"�L�eq
�f
���S�!�;�gq
�h
�!�!�#�&�(8�iq
�j
���S�#�s�]�+�[�kq
�l
�N�N�3���mq
�n
���s�C�x�(�-�oq
�p
�L�L���w�qq
�r
�K�K��S��!�6�sq
�t
���S�!�;�uq
�v
���S�#�s�]�+�[�wq
�x
���S�#�X�&��yq
�z
�O�O�C� �*�{q
�|
�O�O�C� �*�}q
�~
�O�O�C� �*�q
�@
�K�K���f�Aq
�B
�N�N�3��8�$�i�Cq
�D
���s�#�]�Eq
�F
�!�!�#�s�(�+�-=�Gq
�H
�"�"�3�'�):�Iq
�J
���c�"�L�Kq
�L
���s�C�x�(�-�Mq
�N
���c�"�L�Oq
�P
�O�O�C� �*�Qq
�R
�J�J�s�O�U�Sq
�T
�L�L���w�Uq
�V
�L�L��c��"�G�Wq
�X
�K�K���f�Yq
�Z
���c�"�L�[q
�^
���k�_q
�`
�J�J��aq
�b
�O�O�Z�cq
�d
���
�eq
�f
�L�L�'�gq
�h
���|�iq
�j
�N�N�I�kq
�l
�N�N�I�mq
�n
�O�O�Z�oq
�p
�L�L�'�qq
�r
�O�O�Z�sq
�t
���k�uq
�v
���k�wq
�x
�N�N�I�yq
�z
�L�L�'�{q
�|
�K�K��}q
�@
���S�,�.�/��Aq
�B
���S�,�.�/��Cq
�D
�O�O�C� �*�Eq
�F
���s�M�1�2�M�Gq
�H
�L�L���w�Iq
�J
�N�N�3���Kq
�L
�N�N�4� �)�Mq
�N
�N�N�7�#�Y�Oq
�P
�O�O�C� �*�Qq
�R
���S�!�;�Sq
�T
�L�L���u�Uq
�V
�L�L��e��$�g�Wq
��f&�+�+�-�	/�I�C�����#��&�
/�� � ����t�S��X�>�� � ��!1�!1�4��S��B�� � �����3�s�8�D�"�6�#:�#:�Q�#>�?�/�E����S�%�0�A�#�\�\�!�_�F��M�M�#�v�.�/�	
/�
/�	/�
/�
/�s
�8Cf�f	�SpecialAttrsTests.TypeNamec��tjd�}|jt|d��|jt|d��|j	|j
d�t
tjdz�D]6}|jt�5tj||�ddd��8|j	tjjd�|j	tjjd�|j	tjj
t�t
tjdz�D][}tjtj|�}tj |�}|j#tj|��]|j	t$jd�|jtt$d��|j	t$j
t�t
tjdz�D]G}tjt$|�}tj |�}|j#t$|��I|j	t&jd	�|jtt&d��|j	t&j
t�t
tjdz�D]G}tjt&|�}tj |�}|j#t&|��Iy#1swY���xYw)
Nzset[Any]rfrhrarl�TypeNamer�r�r�)rar@r�rr�rgrprqrrr�r�r1r�r�rfrhr0r�r�r�)rUr�
ror�r�s     rZ�test_special_attrs2z%SpecialAttrsTests.test_special_attrs2�#s}���
�
�z�
*�������Z�0�1������^�4�5��������1��6�2�2�Q�6�7�	(�E��"�"�9�-�
(����R��'�
(�
(�	(�	
���*�3�3�<�<�j�I�����&�&�3�3�(�	
�	
����&�&�1�1��	
�
�6�2�2�Q�6�7�	>�E����.�7�7��?�A��\�\�!�_�F��M�M�+�4�4�f�=�	>�	
����/�/��A�������?�@�����1�1�8�<��6�2�2�Q�6�7�	1�E����]�E�2�A��\�\�!�_�F��M�M�-��0�	1�
	
����/�/��A�������?�@�����1�1�8�<��6�2�2�Q�6�7�	1�E����]�E�2�A��\�\�!�_�F��M�M�-��0�	1�G
(�
(�s�M�M	c�
�Gd�dtt�}tt|t��}dD]/}|j|��5|j
||�ddd��1|jd|�y#1swY�NxYw)Nc��eZdZd�ZdZdZy)�4SpecialAttrsTests.test_genericalias_dir.<locals>.Fooc��yr`rir�s rZrz8SpecialAttrsTests.test_genericalias_dir.<locals>.Foo.bar�#rqr\r�rN)rfrgrhrr�	__magic__rir\rZrr��#s��
��C��Ir\r)rrrnrorpr/r�)r"rr1r2r�rsr3r)rUrr5r0s    rZ�test_genericalias_dirz'SpecialAttrsTests.test_genericalias_dir�#s���	�'�!�*�	���C��H�
�&�	�
�	8�M����M��:�
8��
�
�m�Y�7�
8�
8�		8�	
����i�0�
8�
8�s�	A9�9B	N)
rfrgrhr0rar"rr�r�r�rir\rZr�r�>#s)��|/�|�v�~�~�:�C�@�H�01�d1r\r�c��eZdZd�Zy)�RevealTypeTestsc���t�}t�5}|j|t|��ddd�|j	j�d�y#1swY�*xYw)NzRuntime type is 'object'
)rGrIr�r/r��getvalue)rUr�stderrs   rZ�test_reveal_typez RevealTypeTests.test_reveal_type$sQ���h��
�
�	1�&��M�M�#�{�3�/�0�	1�������*�,H�I�	1�	1�s�A�A#N)rfrgrhr�rir\rZr�r�$s��Jr\r�c��eZdZd�Zd�Zd�Zy)�DataclassTransformTestsc
��ddd�dtdtfd�}tdd��|�}Gd�d	�}|j||�|j|jddddd
id��|j|dd��|�|�y)NFT��frozen�kw_onlyr�r�c��d�S)Nc��|Sr`rir�s rZr�zNDataclassTransformTests.test_decorator.<locals>.create_model.<locals>.<lambda>$s��s�r\rir�s  rZ�create_modelz<DataclassTransformTests.test_decorator.<locals>.create_model$s��"�"r\)�kw_only_default�
order_defaultc��eZdZUeed<y)�=DataclassTransformTests.test_decorator.<locals>.CustomerModelrCNrKrir\rZ�
CustomerModelr�$����Gr\r�ri��
eq_defaultr�r��frozen_default�field_specifiersrB)r�r0r�r��__dataclass_transform__)rUr��	decoratedr�s    rZ�test_decoratorz&DataclassTransformTests.test_decorator$s���+0�$�	#�D�	#�4�	#�S�'��E�R�S_�`�	�	�	�	
�
�
�i��.�����-�-�"�!&�#'�"'�$&��

�
	
�	
�
�
�1�I�T�5�1�-�@��	
r\c
���Gd�d�}tddd��|�}Gd�d|d��}|j||�|j|jddddd	d
did��|j	||�y)Nc��eZdZdd�defd�Zy)�:DataclassTransformTests.test_base_class.<locals>.ModelBaseF�r�r�c��yr`ri)rVr�s  rZr�zLDataclassTransformTests.test_base_class.<locals>.ModelBase.__init_subclass__*$r�r\N)rfrgrhr�r�rir\rZ�	ModelBaser�)$s
��9>�D�$�Dr\r�T)r�r��make_everything_awesomec��eZdZUeed<y)�>DataclassTransformTests.test_base_class.<locals>.CustomerModelrCNrKrir\rZr�r�3$r�r\r�r�Frir�r�)r0r�r�r�r[)rUr��	Decoratedr�s    rZ�test_base_classz'DataclassTransformTests.test_base_class($s���	E�	E�
�'���$(�	
�
��	�	�I�d�	�	
�
�
�i��+�����-�-�"�!%�#(�"'�$&�4�d�;�

�
	
�	
���m�Y�7r\c
�"�Gd�d�}Gd�dt�}tdd|f��|�}Gd�d|�	�}Gd
�d|d�
�}|j||�|j|jdddd|fid��|j||�y)Nc��eZdZy)�5DataclassTransformTests.test_metaclass.<locals>.FieldNrzrir\rZ�Fieldr�E$r�r\r�c�*��eZdZdd�def�fd�Z�xZS)�9DataclassTransformTests.test_metaclass.<locals>.ModelMetaT��initr�c�(��t�|�||||�Sr`)rzr{)rVr�r�	namespacer�r�s     �rZr{zADataclassTransformTests.test_metaclass.<locals>.ModelMeta.__new__H$s����w��s�D�%��C�Cr\)rfrgrhr�r{r}r~s@rZ�	ModelMetar�G$s���=A�
D�6:�
D�
Dr\r�T)r�r�r�c��eZdZy)�9DataclassTransformTests.test_metaclass.<locals>.ModelBaseNrzrir\rZr�r�Q$r�r\r�r�c��eZdZUeed<y)�=DataclassTransformTests.test_metaclass.<locals>.CustomerModelrCNrKrir\rZr�r�S$r�r\r�Fr�r�)r�r0r�r�r�r�)rUr�r�r�r�r�s      rZ�test_metaclassz&DataclassTransformTests.test_metaclassD$s�����	D��	D�
�'��t�u�h�
�
��	�	2�)�1�	�I�E�	�	
�
�
�i��+�����-�-�"�!%�#(�"&�%*�H��

�
	
�	
���m�Y�7r\N)rfrgrhr�r�r�rir\rZr�r�
$s��
�48�88r\r�c��eZdZdZd�Zd�Zy)�AllTestszTests for __all__.c���ddlm}|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�|jd	|�|jd
|�|jd|�|jd|�|jd
|�|jd|�|jd|�y)Nr)rV	r^	r�r(rrr�
�ior��osr��Textr�r�)rarV	r3rr�	s  rZ�test_allzAllTests.test_allh$s���'��
�
�m�Q�'��
�
�l�A�&��
�
�f�a� ��
�
�j�!�$��
�
�&��*��
�
�+�Q�/�����q�!�����q�!�����q�!������"��
�
�f�a� ��
�
�o�q�)��
�
�'��+r\c	�z�ttj�}tt�j	�D��chc]b\}}||vsW|jd�sH|dvrD|j
d�s3|j�|k(s t|dd�tjk(r|��d}}}|j||�ycc}}w)Nr�>r�r�)r��_contra�_corg)r1rarV	rr�r�rI�upperrT	rf�assertSetEqual)rU�
actual_allr�rU�computed_alls     rZ�test_all_exported_namesz AllTests.test_all_exported_names~$s�������(�
��v�,�,�,�.�

��!�Q��J���L�L��%���%��J�J�9�:��G�G�I��N���<��.�&�/�/�A�
�

��

�	
���L�*�5��

s�A'B7N)rfrgrhr'r�r�rir\rZr�r�e$s���,�,6r\r�c
�f�eZdZeeeeefeeefee	e
e
defe
egefeeedffZd�Z
d�Zy)�TypeIterationTests.r	c��d}|jD]�}|j|��5|jt|�5t	|�ddd�|jt|�5t|�ddd�|jt|�5|D]}�	ddd�ddd���y#1swY�exYw#1swY�GxYw#1swY�,xYw#1swY��xYw)Nzobject is not iterablerv)�_UNITERABLE_TYPESrsr�r�r�r�)rU�expected_error_regex�	test_typer�s    rZ�test_cannot_iteratez&TypeIterationTests.test_cannot_iterate�$s���7���/�/�	�I����9��-�
��+�+�I�7K�L�$���O�$��+�+�I�7K�L�$���O�$��+�+�I�7K�L��&������
�
�	�$�$��$�$�����
�
�sR�C�B+�C�%B7�1C�C�C�+B4�0C�7C�<C�C�C�C	c�z�|jD],}|j|tjj��.yr`)r�r�r�r�rb)rU�type_to_tests  rZ� test_is_not_instance_of_iterablez3TypeIterationTests.test_is_not_instance_of_iterable�$s3�� �2�2�	M�L��$�$�\�;�?�?�3K�3K�L�	Mr\N)rfrgrhrrr�r�rrrr!r?r�r�r�rir\rZr�r��$sc���
�
�c�3�h��
�c�1�f�
��
����a����!��c�����!�R�%����
�Mr\r�c�V�ddl}|j|jt��|Sr:)�doctest�addTests�DocTestSuitera)�loaderr��patternrs    rZ�
load_testsr�$s!���	�N�N�7�'�'��/�0��Lr\�__main__)�r�
r��collections.abcrr�
rrr�rt
r�rqr�r�r��unittestrrr�
unittest.mockr	r
rrarr
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*	r�r��test.supportrIrJ�test.typinganndatarKrLr�r�r�rNrwryr}rr�r�r�r�r�r�r�r/rGr�r�r�r�r�r�r�r)rGr-rAr�r�r�r�r�rxr/r0r2r@rJrNrRrUrXrZr\rbrdrhrjrlrmr#
r<
rK
ry
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*r,rr�
FooGenericr2r4r6r:r=r?rBrErHrKrNrPrRr�
r�rWr
r	
r�r�r�rYr_r�r�r�
r�
rrr=r�rirzr�r�r�rr&r�r�r�rRr�r�r�r�r�r�r�rrfrir\rZ�<module>rs������#�&�	���
�	�
��)�)���5�5�;�;�8�8���+�+�4�4��<�<�7�7�!�'����&�9��?�?�'�'�!�(�&��I�I��
��
���6�E�@��C��>���8��*	�	�	�	�h�	�	�h�	�	�g�w�	�/�|�/�d&%�&%�R-�(�,�-�(
8�%�|�
8� 
�|�
�&65��65�r5>��5>�nD)�<�D)�NA,��S�	�A,��c�4��9�n�9M�A,�RV�W\�]`�Wa�Rb�A,�H+�|�+�B@�L�@�H#=�,�#=�JB<��B<�J.$��.$�b|G��|G�~)'��)'�Xd�d�L		?�+�\�	?�(�0�,�(�x=�<�x=�v
�T�3�����T�]��	�G�B��F�O�	��m�B��F�+��$�����J�������
�H���H���	�u�e�X�	��	���H����
	�u�	��������h����X8�L�X8�v0T�<�T�n+&�L�+&�Z0#��0#�fG6�,�G6�T}9�\�}9�@���$
6�l�
6�"+��0�0��0��<�<��<�R1�l�R1�j���
����YC�L�YC�|���e�n���v�'�'��,��
%�6�/�/��4�
%���
�
�����1�� ���
� ������:���j���J��
�J��	�'�W�c�N�+�,���i��	�W�Q�Z��	��
�
 �
 ����#�.�.�q�1���(�7�E�'��i�u������I�U���)�5���)��J��J�,� :�,�,�Y�,�,�9�,�.��.�$�,�.�.�$��V�/�/��4��
�
�3�5�M���t����
�
�vU�|�vU�r	aT�8�aT�H]g�,�]g�@1�L�1�:$%��$%�NK�(�K�R�<�R�jbG�l�bG�JhE�\�hE�V-&�L�-&�`-)�|�-)�`#(�l�#(�LA�l�A�HU<�\�U<�p
*�\�*�ZG$�\�G$�T48�|�48�l/'�\�/'�d!�� � ��1�
�������U�G�D�
�D1��D1�NJ�l�J�U8�l�U8�p)6�|�)6�XM��M�@��z���F���yg���6�6�!�9��?��?���s�(\�\4�\/�/\4