Sindbad~EG File Manager
�
'Μg�O��~�ddlZddlZddlZddlmZddlmZmZmZddlZddl Z ddl
Z
ddlZddlZddl
Z
ddlZddlZddlmZmZmZddlmZddlmZmZddlmZmZmZmZddlmZmZmZdd lm Z m!Z!m"Z"m#Z#dd
lm$Z$m%Z%m&Z&ddlm'Z'm(Z(m)Z)ddlm*Z*m+Z+m,Z,m-Z-dd
lm.Z.ddlm/Z/m0Z0m1Z1m2Z2m3Z3ddlm4Z4m5Z5m6Z6ddlm7Z7ddlm8Z8m9Z9ddlm:Z:ddlm;Z;ddlm<Z<ddlm=Z=ddlm>Z>m?Z?ddlm@Z@ddlmAZAmBZBmCZCmDZDddlmEZEmFZFmGZGddlmHZHmIZIddlmJZJmKZKddlmLZLmMZMddlmNZNddlmOZOmPZPmQZQmRZRddlmSZSddlTZTddlUZUddlZddlVZVddlWZWdd lXmYZYmZZZdd!l[m\Z\m]Z]m^Z^d"Z_d#Z`d$ZaGd%�d&e�Zbd'�ZcGd(�d)�ZdGd*�d+ed�ZeGd,�d-ed�ZfGd.�d/eeef�ZgGd0�d1eb�ZhGd2�d3�ZiGd4�d5eieb�ZjGd6�d7eieb�ZkGd8�d9eb�ZlGd:�d;eb�ZmGd<�d=eb�ZnGd>�d?eb�Zod@epeqdAereqepeqfdBepeseqfdC�ZtGdD�dEeb�ZuGdF�dGeb�ZvGdH�dIeb�ZwGdJ�dKeb�ZxGdL�dMeb�ZyGdN�dOeb�ZzGdP�dQeb�Z{GdR�dS�Z|GdT�dUe|eb�Z}GdV�dWe|eb�Z~GdX�dYeb�Ze dZeqe��Z�e d[�Z�Gd\�d]e/e�e�f�Z�Gd^�d_e�e�e�f�Z�Gd`�dae3�Z�e6Gdb�dce�e3��Z�Gdd�de�Z�Gdf�dge3�Z�Gdh�die3�Z�e6Gdj�dke�e�e3��Z�e6Gdl�dme3��Z�Gdn�doe��Z�Gdp�dq�Z�Gdr�dseA�Z�e6Gdt�due3��Z�Gdv�dweb�Z�Gdx�dyeb�Z�Gdz�d{eb�Z�Gd|�d}eb�Z�Gd~�deb�Z�Gd��d�eb�Z�Gd��d�eb�Z�Gd��d�eb�Z�dd�l[m�Z�e>Gd��d���Z�e>Gd��d���Z�Gd��d�eb�Z�e�d���Z�Gd��d��Z�Gd��d�eb�Z�dd�l[m�Z�m�Z�m�Z�m�Z�m�Z�e d��Z�Gd��d�e�jJe��Z�Gd��d�e�jNe��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�eA�Z�Gd��d�eA�Z�Gd��d�eA�Z�Gd��d�eA�Z�eDd�d�eqfg�Z�Gd��d�eD�Z�Gd��d�e/e$eD�Z�Gd��d�e^�jnd����Z�Gd��d�e^�jre$d����Z�Gd��d�e�e��Z�Gd��d�eDd����Z�Gd��d�eD�Z�Gd��d�eDd����Z�Gdd�eDd����Z�GdĄd�e��Z�GdƄd�eD�Z�GdȄd�e��Z�Gdʄd�eD�Z�Gd̄d�eD�Z�Gd΄d�eD�Z�GdЄd�e]�jT�Z�d�e�j�e�fdӄZ� e�e����j�d�e7Z�GdՄd֫Z�Gdׄd�eb�Z�Gdلd�e�Z�Gdۄd�eb�Z�Gd݄d�eb�Z�Gd߄d�eb�Z�Gd�d�e�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd�d�eb�Z�Gd��d�eb�Z�Gd��d�eb�Z�Gd��d�eb�Z�ej�d��Z�ej@d�e�e�e�Z�Gd��d�eb�Z�Gd���deb�Z�G�d��deb�Z�G�d��deb�Z�G�d��deb�Z�d�Z�e�dk(re�yy#e�$r Z�e̐j�dd�k(sJ�YdZ�[̐�jdZ�[�wwxYw( �N)�defaultdict)� lru_cache�wraps�reduce)�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)�
ann_module695�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 �-/usr/local/lib/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 rRrSrVs r\�assertNotIsSubclassz BaseTestCase.assertNotIsSubclassCs?���c�>�*�25�~�F�G����7�S�=�(���'�'��0�0� +r^c�<�tjD] }|��y�N)�typing� _cleanups�rW�fs r\�clear_cacheszBaseTestCase.clear_cachesJs���!�!�A�
�C�"r^rb)�__name__�
__module__�__qualname__r]r`rg�r^r\rPrP:s��1�1�r^rPc�.��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)rWrq� test_funcs �r\�wrapperz%all_pickle_protocols.<locals>.wrapperRsD����6�2�2�Q�6�7�E����5��1��$�e�,�2�1�8�1�1�s�A � A �r)rvrws` r\�all_pickle_protocolsryOs#����9��-��-�
�Nr^c��eZdZy)�EmployeeN�rhrirjrkr^r\r{r{[���r^r{c��eZdZy)�ManagerNr|rkr^r\rr_r}r^rc��eZdZy)�FounderNr|rkr^r\r�r�cr}r^r�c��eZdZy)�ManagingFounderNr|rkr^r\r�r�gr}r^r�c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
y )
�AnyTestsc�x�|jt�5tdt�ddd�y#1swYyxYw�N�*)�assertRaises� TypeError�
isinstancer
�rWs r\�test_any_instance_type_errorz%AnyTests.test_any_instance_type_errorms&��
�
�
�y�
)��r�3��*�
)�
)���0�9c��|jtt�d�Gd�dt�}|jt|�dt�d��y)Nz
typing.Anyc��eZdZy)�AnyTests.test_repr.<locals>.SubNr|rkr^r\�Subr�t��r^r��<class 'z".AnyTests.test_repr.<locals>.Sub'>)�assertEqual�reprr
rh�rWr�s r\� test_reprzAnyTests.test_reprqs@������c��L�1��#�������I��x�j� B�C�
r^c���|jt�5tdt�ddd�|jt�5ttddd�y#1swY�5xYw#1swYyxYwr�)r�r�rTr
�intr�s r\�test_errorszAnyTests.test_errorszsL��
�
�
�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>.MockNr|rkr^r\�Mockr��r�r^r�c��eZdZy)�-AnyTests.test_can_subclass.<locals>.SomethingNr|rkr^r\� Somethingr��r�r^r�c��eZdZy)�1AnyTests.test_can_subclass.<locals>.MockSomethingNr|rkr^r\�
MockSomethingr��r�r^r�)r
�
assertTruerT�assertIsInstance�assertFalse�assertNotIsInstance)rWr�r�r��mss r\�test_can_subclasszAnyTests.test_can_subclass�s����3�����
�4��-�.����d�f�d�+�������I�s�3�4�� � ���d�3�2�I�t�2����
�=�#�6�7�
�_�����b�-�0����b�)�,����b�$�'r^c�6�Gd�dt�}|dd��y)Nc��eZdZd�Zy)�>AnyTests.test_subclassing_with_custom_constructor.<locals>.Subc��yrbrk�rW�args�kwargss r\�__init__zGAnyTests.test_subclassing_with_custom_constructor.<locals>.Sub.__init__�s��r^N�rhrirjr�rkr^r\r�r��s��5r^r�r�)�s)r
r�s r\�(test_subclassing_with_custom_constructorz1AnyTests.test_subclassing_with_custom_constructor�s�� 6�#� 6� �A��r^c��Gd�d�}Gd�dt|�}|dd�}|j|jd�|j|jd�y)Nc��eZdZd�Zy)�HAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Fooc��||_yrb��x�rWr�s r\r�zQAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Foo.__init__�� ����r^Nr�rkr^r\�Foor�����
r^r�c���eZdZ�fd�Z�xZS)�HAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Barc�2��||_t�|� |�yrb)�y�superr�)rWr�r�� __class__s �r\r�zQAnyTests.test_multiple_inheritance_with_custom_constructors.<locals>.Bar.__init__�s�������� ��#r^�rhrirjr��
__classcell__�r�s@r\�Barr��s
���
$�
$r^r�rn�)r
r�r�r�)rWr�r��bs r\�2test_multiple_inheritance_with_custom_constructorsz;AnyTests.test_multiple_inheritance_with_custom_constructors�sO�� � � $�#�s� $�
��1�I��������a� �������a� r^c���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwrb)r�r�r
�typer�s r\�test_cannot_instantiatez AnyTests.test_cannot_instantiate�sK��
�
�
�y�
)��E�*�
�
�
�y�
)��D��I�K�*�
)�*�
)��
)�
)���A�A(�A%�(A1c��tjttjttjtyrb)rcr?r
r>r;r�s r\�test_any_works_with_aliasz"AnyTests.test_any_works_with_alias�s%�����S�����s��� � �#�r^N)rhrirjr�r�r�r�r�r�r�r�rkr^r\r�r�ks*�� �
��(� �!��r^r�c�H�eZdZUeeed<d�Zd�Zd�Zd�Z d�Z
d�Zd�Zy )
�BottomTypeTestsMixin�bottom_typec���|j|j|j�|j|j|j�|j|jd�yrb)r�r��assertIs�assertNotEqualr�s r\�
test_equalityz"BottomTypeTestsMixin.test_equality�sN������)�)�4�+;�+;�<��
�
�d�&�&��(8�(8�9����D�,�,�d�3r^c�N�|jt|j�d�yrb)r�r,r�r�s r\�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 r\�test_instance_type_errorz-BottomTypeTestsMixin.test_instance_type_error�s,��
�
�
�y�
)��r�4�+�+�,�*�
)�
)�s�6�?c��|jt�5tt|j�ddd�|jt�5tt
|j�ddd�y#1swY�BxYw#1swYyxYwrb)r�r�rTr{r�rr�s r\�test_subclass_type_errorz-BottomTypeTestsMixin.test_subclass_type_error�s[��
�
�
�y�
)��x��!1�!1�2�*�
�
�
�y�
)��x��!1�!1�2�*�
)�*�
)��
)�
)�s�A2�A>�2A;�>Bc�~�|jt�5|jtddd�y#1swYyxYwrb)r�r�r�r�r�s r\�test_not_genericz%BottomTypeTestsMixin.test_not_generic�s*��
�
�
�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>.ANr|rkr^r\�Ar�����r^r�c��eZdZy)�4BottomTypeTestsMixin.test_cannot_subclass.<locals>.BNr|rkr^r\�Br��r�r^r�)�assertRaisesRegexr��re�escape�strr��CANNOT_SUBCLASS_TYPEr��rWr�r�s r\�test_cannot_subclassz)BottomTypeTestsMixin.test_cannot_subclass�s���
�
#�
#�I�"�R�Y�Y�s�4�3C�3C�/D�%E�E�G�
�D�$�$�
�G��
#�
#�I�/C�
D�
�D��)�)�*�
�E�
D� G�G��E�
D�s�B �8B,� B)�,B5c��|jt�5|j�ddd�|jt�5t|j��ddd�y#1swY�BxYw#1swYyxYwrb)r�r�r�r�r�s r\r�z,BottomTypeTestsMixin.test_cannot_instantiate�sZ��
�
�
�y�
)�����*�
�
�
�y�
)�"�D��!�!�"�$�*�
)�*�
)��
)�
)�s�A(�A4�(A1�4A=N)
rhrirjr$r
�__annotations__r�r�r�r�r�r�r�rkr^r\r�r��s/���#���4�
:�-�3�"��%r^r�c�"�eZdZeZd�Zd�Zd�Zy)�
NoReturnTestsc�B�|jtt�d�y)N�typing.NoReturn)r�r�rr�s r\r�zNoReturnTests.test_repr�s������h��):�;r^c���dtdtfd�}dd�}ttd�}||fD]8}|j|��5|jt|�|�ddd��:y#1swY�ExYw)N�arg�returnc��yrbrk�r�s r\�somez/NoReturnTests.test_get_type_hints.<locals>.some�s��Sr^c��yrbrkr�s r\�some_strz3NoReturnTests.test_get_type_hints.<locals>.some_str����Cr^�r�r���target)r�rr�r�)rrur��gth�rWrr�expectedrs r\�test_get_type_hintsz!NoReturnTests.test_get_type_hints�s\��0�h�0�8�0�?�#�x�8���X�&�F����V��,�� � ��V��h�7�-�,�'�,�,���A"�"A+ c�l�|jtt�|jtt�yrb)r�rrr�s r\�test_not_equalityzNoReturnTests.test_not_equality�s"�����H�e�,����E�8�,r^N)rhrirjrr�r�r
r
rkr^r\r�r��s���K�<�8�-r^r�c��eZdZeZd�Zd�Zy)�
NeverTestsc�B�|jtt�d�y)N�typing.Never)r�r�rr�s r\r�zNeverTests.test_repr�s������e��n�5r^c���dtdtfd�}dd�}ttd�}||fD]8}|j|��5|jt|�|�ddd��:y#1swY�ExYw)Nr�r�c��yrbrkr�s r\rz,NeverTests.test_get_type_hints.<locals>.some�s��sr^c��yrbrkr�s r\rz0NeverTests.test_get_type_hints.<locals>.some_str����cr^rr)r�rr�r)rrur�rrs r\r
zNeverTests.test_get_type_hints�s\��*�e�*��*�9� �E�2���X�&�F����V��,�� � ��V��h�7�-�,�'�,�,�rN)rhrirjrr�r�r
rkr^r\rr�s���K�6�8r^rc��eZdZd�Zy)�AssertNeverTestsc���|jt�5td�ddd�d}|jt|�5t|�ddd�ddz}|jt�5}t|�ddd�|j tjjd�tjdz�y#1swY��xYw#1swY��xYw#1swY�exYw)Nz
some value�ai'rr�)
r��AssertionErrorrr��
assertLess�len� exceptionr�rc�_ASSERT_NEVER_REPR_MAX_LENGTH)rW�value�
huge_value�cms r\�test_exceptionzAssertNeverTests.test_exception�s���
�
�
�~�
.����/���
�
#�
#�N�E�
:����;��5�[�
�
�
�
�~�
.�"���$�/��������!�!�!�$�%��0�0�1�4�
�/�
.��;�
:��
/�
.�s#�C�C�0C �C�C� C)N)rhrirjr"rkr^r\rr�s��
r^rc�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
y )
� SelfTestsc��|jtt�|jtt�|jtd�yrb)r�rBr�r�r�s r\r�zSelfTests.test_equalitys0������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��yrbrkr�s r\�barz&SelfTests.test_basics.<locals>.Foo.bar���3r^N)rhrirjrBr*rkr^r\r�r(s
��&�T�&r^r�c��eZdZdd�Zy)�%SelfTests.test_basics.<locals>.FooStrc��yrbrkr�s r\r*z)SelfTests.test_basics.<locals>.FooStr.bar���Sr^N)r�rB�rhrirjr*rkr^r\�FooStrr-s��(r^r1c��eZdZdd�Zy)�+SelfTests.test_basics.<locals>.FooStrTypingc��yrbrkr�s r\r*z/SelfTests.test_basics.<locals>.FooStrTyping.bar���Cr^N)r��typing.Selfr0rkr^r\�FooStrTypingr3s��/r^r7rr�)rur�rr*rBr�r,�rWr�r1r7rs r\�test_basicszSelfTests.test_basicss��� '� '� )� )� 0� 0��F�L�1�F����V��,�� � ��V�Z�Z��8�T�2B�C�-�,�2�
�
�
�j��&��-�-�,���,B�B c�B�|jtt�d�y)Nr6)r�r�rBr�s r\r�zSelfTests.test_repr$s������d��]�3r^c�r�|jt�5ttddd�y#1swYyxYwrb)r�r�rBr�r�s r\�test_cannot_subscriptzSelfTests.test_cannot_subscript's#��
�
�
�y�
)���I�*�
)�
)���-�6c��|jtt�5Gd�dtt��}ddd�|jtd�5Gd�dt�}ddd�y#1swY�8xYw#1swYyxYw)Nc��eZdZy)�)SelfTests.test_cannot_subclass.<locals>.CNr|rkr^r\�CrA-r�r^rBzCannot subclass typing\.Selfc��eZdZy)�)SelfTests.test_cannot_subclass.<locals>.DNr|rkr^r\�DrD1r�r^rE)r�r�r�r�rB�rWrBrEs r\r�zSelfTests.test_cannot_subclass+si��
�
#�
#�I�/C�
D�
�D��J�
�E��
#�
#�I�/�1�
�D�
�1�1�E�
D��1�1���A+�A7�+A4�7Bc���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwrb)r�r�rBr�r�s r\�test_cannot_initzSelfTests.test_cannot_init4sK��
�
�
�y�
)��F�*�
�
�
�y�
)��D��J�L�*�
)�*�
)��
)�
)�r�c���|jt�5tdt�ddd�|jt�5t t
t�ddd�y#1swY�<xYw#1swYyxYw�Nrn)r�r�r�rBrTr�r�s r\�test_no_isinstancezSelfTests.test_no_isinstance:sO��
�
�
�y�
)��q�$��*�
�
�
�y�
)��s�D�!�*�
)�*�
)��
)�
)���A"�A.�"A+�.A7c�(�tttf}tt}tt}|j t|�ttf�|j t|�tf�|j t|�tf�yrb)rrBrr$r�r-�rW�alias_1�alias_2�alias_3s r\�
test_aliaszSelfTests.test_alias@si����d�
�#���t�*���4�.������'�*�T�4�L�9�����'�*�T�G�4�����'�*�T�G�4r^N�rhrirjr�r9r�r=r�rIrLrSrkr^r\r$r$s*��(�
.�4����"�5r^r$c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
y )
�LiteralStringTestsc��|jtt�|jtt�|jtd�yrb)r�rCr�r�r�s r\r�z LiteralStringTests.test_equalityKs0������
�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��yrbrkr�s r\r*z/LiteralStringTests.test_basics.<locals>.Foo.barRr5r^N)rhrirjrCr*rkr^r\r�rZQs
��/�]�/r^r�c��eZdZdd�Zy)�.LiteralStringTests.test_basics.<locals>.FooStrc��yrbrkr�s r\r*z2LiteralStringTests.test_basics.<locals>.FooStr.barT���cr^N)r�rCr0rkr^r\r1r]Ss��1r^r1c��eZdZdd�Zy)�4LiteralStringTests.test_basics.<locals>.FooStrTypingc��yrbrkr�s r\r*z8LiteralStringTests.test_basics.<locals>.FooStrTyping.barV���Sr^N)r��typing.LiteralStringr0rkr^r\r7raUs��8r^r7rr�)rur�rr*rCr�r,r8s r\r9zLiteralStringTests.test_basicsPs��� 0� 0� 2� 2� 9� 9��F�L�1�F����V��,�� � ��V�Z�Z��8�]�2K�L�-�,�2�
�
�
�j��/��6�-�,�r:c�B�|jtt�d�y)Nrd)r�r�rCr�s r\r�zLiteralStringTests.test_repr]s������m�,�.D�Er^c�r�|jt�5ttddd�y#1swYyxYwrb)r�r�rCr�r�s r\r=z(LiteralStringTests.test_cannot_subscript`s$��
�
�
�y�
)��#��*�
)�
)�r>c��|jtt�5Gd�dtt��}ddd�|jtd�5Gd�dt�}ddd�y#1swY�8xYw#1swYyxYw)Nc��eZdZy)�2LiteralStringTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBrifr�r^rBz%Cannot subclass typing\.LiteralStringc��eZdZy)�2LiteralStringTests.test_cannot_subclass.<locals>.DNr|rkr^r\rErkjr�r^rE)r�r�r�r�rCrFs r\r�z'LiteralStringTests.test_cannot_subclassdsj��
�
#�
#�I�/C�
D�
�D��'�
�E��
#�
#�I�8�:�
�M�
�:�:�E�
D��:�:�rGc���|jt�5t�ddd�|jt�5tt��ddd�y#1swY�<xYw#1swYyxYwrb)r�r�rCr�r�s r\rIz#LiteralStringTests.test_cannot_initmsM��
�
�
�y�
)��O�*�
�
�
�y�
)��D���!�*�
)�*�
)��
)�
)�r�c���|jt�5tdt�ddd�|jt�5t t
t�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�rCrTr�r�s r\rLz%LiteralStringTests.test_no_isinstancessO��
�
�
�y�
)��q�-�(�*�
�
�
�y�
)��s�M�*�*�
)�*�
)��
)�
)�rMc�(�tttf}tt}tt}|j t|�ttf�|j t|�tf�|j t|�tf�yrb)rrCrr$r�r-rOs r\rSzLiteralStringTests.test_aliasyso���
�}�4�5���}�%���=�)������'�*�]�M�,J�K�����'�*�]�,<�=�����'�*�]�,<�=r^NrTrkr^r\rVrVJs+��1�
7�F���"�+�>r^rVc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�TypeVarTestsc��td�}|j||�|j|t�|j|jd�|j|jd�|j|jd�|j|jd�|j|jd�|j|jd�|j|jt�y)NrrkF)rr�r�rh�__constraints__r�� __bound__�
__covariant__�__contravariant__�__infer_variance__ri�rWrs r\�test_basic_plainzTypeVarTests.test_basic_plain�s����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)rrkF)
�execr�rr�rhrrr�rs�floatrtrurvri)rW�nsrs r\�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|jt�tdtt�}|j|jd�|j|jttf�|j|jd�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��boundrk�
T_constraints�T_coT�� covariantF�T_contra��
contravariant�T_infer)�infer_variance)rr�r�rhrrr�rsr�rtrurv)rWrr�r�r�r�s r\�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�rws r\� test_typevar_instance_type_errorz-TypeVarTests.test_typevar_instance_type_error�s/���C�L��
�
�
�y�
)��r�1��*�
)�
)�s �
7�Ac��td�}|jt�5tt|�ddd�|jt�5t|t�ddd�y#1swY�8xYw#1swYyxYw�Nr)rr�r�rTr�rws r\� test_typevar_subclass_type_errorz-TypeVarTests.test_typevar_subclass_type_error�sX���C�L��
�
�
�y�
)��s�A��*�
�
�
�y�
)��q�#��*�
)�*�
)��
)�
)�s�A)�A5�)A2�5A>c�|�|jt�5tdt�}|ddd�y#1swYyxYw)N�X)r�r�rr��rWr�s r\�test_constrained_errorz#TypeVarTests.test_constrained_error�s+��
�
�
�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)Nr��Y) rr�r�rr��__args__�__parameters__r��
__origin__)rWr�r�s r\�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�Nr�r�)rr�rr-rAr�s r\�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�rWr�s r\�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~AnyStrr�Tr�z+T_cor�r�z -T_contra)r�r�rrrrr)rWr�r�s r\r�zTypeVarTests.test_repr�s�������a��$�'�����b��5�)�����b��5�)�����f��y�1��v��.������d��W�-��:�T�:������h���5r^c��|jtd�td��|jtdtt�tdtt��yr�)r�rr�r�r�s r\�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>.VNr|rkr^r\�Vr��r�r^r�rc��eZdZy)�,TypeVarTests.test_cannot_subclass.<locals>.WNr|rkr^r\�Wr��r�r^r�)r�r��NOT_A_BASE_TYPEr�CANNOT_SUBCLASS_INSTANCE)rWr�rr�s r\r�z!TypeVarTests.test_cannot_subclass�sm��
�
#�
#�I���/J�
K�"�G�"�L��C�L��
�
#�
#�I�(�9�4�6��A��6�6�L�
K��6�6�s�A3�A?�3A<�?Bc�x�|jt�5td��ddd�y#1swYyxYwr�)r�r�rr�s r\�test_cannot_instantiate_varsz)TypeVarTests.test_cannot_instantiate_vars�s'��
�
�
�y�
)��G�C�L�N�*�
)�
)�r�c�t�|jt�5tdt��ddd�|jt�5tdtt
t��ddd�|jtd�5tdd��ddd�y#1swY�oxYw#1swY�BxYw#1swYyxYw)Nr�r�z%Bound must be a type\. Got \(1, 2\)\.�rnr�)r�r�rrr�r{r{r�r�s r\�test_bound_errorszTypeVarTests.test_bound_errorss���
�
�
�y�
)��C�u�%�*�
�
�
�y�
)��C��e�8�4�*�
�
#�
#�I�$L�N��C�v�&�N�N� *�
)��
)�
)��N�N�s#�B�B"�?B.�B�"B+�.B7c� �d}t|i�y)Nz&import typing
T = typing.TypeVar('T')
�rz�rW�codes r\�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 r\�test_no_bivariantzTypeVarTests.test_no_bivariants(��
�
�
�z�
*��C�4�t�<�+�
*�
*�s�.�7c���|jt�5tddd��ddd�|jt�5tddd��ddd�y#1swY�6xYw#1swYyxYw)NrT)r�r�)r�r�r�r�s r\�&test_cannot_combine_explicit_and_inferz3TypeVarTests.test_cannot_combine_explicit_and_infersS��
�
�
�z�
*��C�4��=�+�
�
�
�z�
*��C�t�D�A�+�
*�+�
*��
*�
*�s�A�A&�A#�&A/c���td�}|j}|j|t�t�|j |t
t�t
t�|j |tt�tt�|j |t�t�|j|t�t�|j|d�td��|j||�|�|j |ttz�ttz�|j |tttf�tttf�yr�)r�__typing_subst__r�r�r��listrr
r�r�r)rWr�substs r\�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
|ttttttf}|D]�}|j|��5|jt�5|j|�ddd�|jt�5t||ddd�|jt�5t||ddd�ddd���y#1swY�hxYw#1swY�JxYw#1swY�,xYw#1swY��xYw)Nrrkr�)rr�r�rr#r'r%r$rur�r�r�rr�)rWr�bad_argsr�s r\�test_bad_var_substitutionz&TypeVarTests.test_bad_var_substitution's����C�L����c�
�E��W�Q�Z��8�A�;��5��:�x��#��
��
�C����#��&��&�&�y�1�&�A�&�&�s�+�2��&�&�y�1���G�C�L�2��&�&�y�1���G�C�L�2�'�&��1�1��1�1��1�1��'�&�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�rX�
)rErrru�weakref�WeakValueDictionaryrrr�)rWrX�valsr�s r\�test_many_weakrefszTypeVarTests.test_many_weakrefs7s`���|�W�5�C����#��&��2�2�4���r��A�!�#�a�&�k�D��G�#��'�&�6�&�&�s�:A,�,A5 c�$�td��}|j|jd�|j|jd�|j |j
d�|j |jd�|j |jd�|j |jd�tdt��}|j|jd�|j|jd�|j |j
t�|j |jd�|j |jd�|j |jd�tdd��}|j|jd�|j|jd�|j |j
d�|j |jd�|j |jd�|j |jd�tdd��}|j|jd�|j|jd�|j |j
d�|j |jd�|j |jd�|j |jd�tdd� �}|j|jd�|j|jd�|j |j
d�|j |jd�|j |jd�|j |jd�y)
Nr)�namerkF)r�r�T)r�r�)r�r�)r�r�)
rr�rhrrr�rsrtrurvr�rws r\�test_constructorzTypeVarTests.test_constructorAs�������������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2���D�)��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�E�2����-��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�t�,��
�
�a�)�)�5�1��
�
�a�*�*�E�2���D�1��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�4�0��
�
�a�*�*�E�2���T�2��������S�)�����*�*�B�/��
�
�a�k�k�4�(��
�
�a�o�o�u�-��
�
�a�)�)�5�1��
�
�a�*�*�D�1r^N)rhrirjrxr}r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rkr^r\rprp�so��1�*�8�:�
��
7�B�5�6�L���'��=�B�B�!� �'2r^rp� 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_duplicatesr�s
r\�template_replacer�ks���N��+7�+=�+=�+?�'��'�&(�#�0�K�'�.�.��+�/F�G�1��!�!�"=�>� ,@���&�.�.�0B�C��')�#�!�H�):�%��+�#�+�+�H�k�B��*;�'�.�.�x�8�"� �!�!�%�(C�"D�E�D�(*�$�
���4�4�,�3�3�A�6� �
,�+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��rW�actualr s r\�:test_two_templates_two_replacements_yields_correct_renderszSTemplateReplacementTests.test_two_templates_two_replacements_yields_correct_renders�sC��!�+�-=�>�%�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 r\�2test_no_duplicates_if_replacement_not_in_templateszKTemplateReplacementTests.test_no_duplicates_if_replacement_not_in_templates�sJ��!�+�W�5�%�v�.�#�X�.��
��
(�&�
��
�����*r^N)rhrirjr�r�rkr^r\r�r��s��+� +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>.CNr|rkr^r\rBr�r�r^rB)rBr�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)rz[*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, ...]]rr�)zlist[T, *tuple_type[int, ...]]rz list[int, *tuple_type[int, ...]])zList[T, *tuple_type[int, ...]]rr�)zgeneric[*Ts, *Ts2]rr���generic�
tuple_typer���aliasr�r r�� rrr#r�rur�r��evalr�)rWrr�rrB�generics�tuple_types�tests�alias_template�
args_template�expected_templater�� alias_str�args_str�expected_strs r\�test_one_parameterz0GenericAliasSubstitutionTests.test_one_parameter�s
���C�L��
�$�
���5�!��!���
�!�(����(��
��.AF�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�1� �8�\��\�\� ��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X�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>.CNr|rkr^r\rBr%r�r^rB)rB�dictr r�r))�generic[T1, T2]rr�)r'rr�)r'r�generic[int, str])r'�[int, str, bool]r�)r'r
r�)r'rr()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'rr�)r'�,[tuple_type[int, ...], tuple_type[str, ...]]�3generic[tuple_type[int, ...], tuple_type[str, ...]])r'rr�)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'rr�)r'rr�)z"generic[T1, *tuple_type[int, ...]]�[str]�#generic[str, *tuple_type[int, ...]]rr�rr�r�rWr"r#r�rBrrrrrrr�rrrs r\�test_two_parametersz1GenericAliasSubstitutionTests.test_two_parameterss��
�T�]��
�T�]��
�$�
��&���B���&�(����(��%
��NAF�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�1� �8�\��\�\� ��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X��$�;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>.CNr|rkr^r\rBr6Qr�r^rBr�r)�generic[T1, bool, T2]r�generic[int, bool, str])r7rr8rr�rr�)rr#r�rur�r�rr�)rWr"r#r4rBrrrrrrr�rrrs r\�test_three_parametersz3GenericAliasSubstitutionTests.test_three_parametersLs��
�T�]��
�T�]��
�T�]��*���B��
�#�*��5����(��
G�
G�
��AF�<�N�M�+<�!1�)�=�:K�L�)1��M�"��6H�1� �8�\��\�\� ��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X�r2c ��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>.CNr|rkr^r\rBr<qr�r^rB)rBr�rr�r)@)�generic[*Ts]rzgeneric[()])r=rr)r=rr()r=r
r)r=z[*tuple_type[*Ts]]r=)r=rr()r=z"[str, *tuple_type[int, ...], bool]�)generic[str, *tuple_type[int, ...], bool])r=rr )r=r*r+)r=rzgeneric[*tuple_type[int, ...]])r=r-r�)r=r
r=)r=r�generic[T, *Ts])r=r�generic[*Ts, T])r?rr�)r?rr)r?rr()r?r)�generic[int, str, bool])�generic[list[T], *Ts]rr�)rBr�generic[list[int]])rBrzgeneric[list[int], str])rBr)zgeneric[list[int], str, bool])r@rr�)r@rr)r@rr()r@r)rA)�generic[*Ts, list[T]]rr�)rDrrC)rDrzgeneric[int, list[str]])rDr)zgeneric[int, str, list[bool]])�generic[T1, T2, *Ts]rr�)rErr�)rErr()rEr)rA)rE�[int, str, bool, bytes]�generic[int, str, bool, bytes])�generic[*Ts, T1, T2]rr�)rHrr�)rHrr()rHr)rA)rHrFrG)�generic[T1, *Ts, T2]rr�)rIrr�)rIrr()rIr)rA)rIrFrG)r?rz#generic[int, *tuple_type[int, ...]])r?�[str, *tuple_type[int, ...]]r/)r?r,z(generic[int, *tuple_type[int, ...], str])r@rz#generic[*tuple_type[int, ...], int])r@rJz(generic[str, *tuple_type[int, ...], int])r@r,�#generic[*tuple_type[int, ...], str])rIrz(generic[int, *tuple_type[int, ...], int])zgeneric[T, str, *Ts]rz(generic[int, str, *tuple_type[int, ...]])zgeneric[*Ts, str, T]rz(generic[*tuple_type[int, ...], str, int])rBrz)generic[list[int], *tuple_type[int, ...]])rDrz)generic[*tuple_type[int, ...], list[int]])z!generic[T, *tuple_type[int, ...]]r.r/)z&generic[T1, T2, *tuple_type[int, ...]]�[str, bool]z)generic[str, bool, *tuple_type[int, ...]])�&generic[T1, *tuple_type[int, ...], T2]rLr>)rMz[str, bool, float]r�)z!generic[T1, *tuple_type[T2, ...]]rz#generic[int, *tuple_type[str, ...]])z!generic[*tuple_type[T1, ...], T2]rrK)z+generic[T1, *tuple_type[generic[*Ts], ...]]r)z2generic[int, *tuple_type[generic[str, bool], ...]])z+generic[*tuple_type[generic[*Ts], ...], T1]r)z2generic[*tuple_type[generic[int, str], ...], bool]rr�rr�rr0s r\�test_variadic_parametersz6GenericAliasSubstitutionTests.test_variadic_parametersls��
�T�]��
�T�]��
�$�
��#������#�*����(��J
��XAF�<�N�M�+<�!1�-�}�>O�P�-5�[�!Q�"��6H�1� �8�\��\�\� ��<�\�X�#�{�2�!�.�.�y�9� ��X�!5�6�:�9��(�(� ��X�!5�6� ��.��Y�X�6H�AF�:�9��Y�X�s$�<C/�C# �&0C/�#C,
�(C/�/C8N)rhrirj�__doc__r r1r9rNrkr^r\r�r��s���/�d?�B�@dr^r�c�<�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
y )
�UnpackTestsc�L�gtt��tttyrb)r�r�rrr�s r\�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�r�r�r���
required_item)�set�dirrrr�ru�assertIn�rW� dir_itemsrXs r\�test_dirzUnpackTests.test_dir�sU����F�5��:�.�/�0� �
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A% c��|jt�5ttttt
fddd�y#1swYyxYwrb)r�r�rrr�r�r�s r\�test_rejects_multiple_typesz'UnpackTests.test_rejects_multiple_types�s1��
�
�
�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 r\�&test_rejects_multiple_parameterizationz2UnpackTests.test_rejects_multiple_parameterization�si��
�
�
�y�
)��e�C�j�N�1��e�C�j�)�*�
�
�
�y�
)��5��:��u�S�z�*�*�
)�*�
)��
)�
)�s�"B�#B
�B
�
Bc�l�|jt�5t�ddd�y#1swYyxYwrb)r�r�rr�s r\�test_cannot_be_calledz!UnpackTests.test_cannot_be_called�s!��
�
�
�y�
)��H�*�
)�
)���*�3c��tdttd��}dt|fd�}|j t|jd�dt�d��y)N�Movie)r��yearr�c��yrbrk)r�s r\�fooz/UnpackTests.test_usage_with_kwargs.<locals>.foo����#r^ztyping.Unpack[z.Movie])r9r�r�rr�r�r�rh)rWrhrks r\�test_usage_with_kwargsz"UnpackTests.test_usage_with_kwargs�sK���'�C��#=�>��-�&��-�-�����c�1�1�(�;�<�)�(��7�;� =r^c���td�}Gd�dtg|���}d��}|tg|��}|j|tj
ttf�|j|gtt��j
ttf�|j|gtt��j
ttf�|j|tttj
ttf�|j|tttj
ttf�|tg|��}|j|tj
ttf�|j|gtt��j
ttf�|j|gtt��j
ttf�|j|tttj
ttf�|j|tttj
ttf�y)Nr�c��eZdZy)�+UnpackTests.test_builtin_tuple.<locals>.OldNr|rkr^r\�Oldrp�r�r^rqc�0��d� x}f�G�fd�d��
}|�S)r�c���eZdZW�Zy)�+UnpackTests.test_builtin_tuple.<locals>.NewN�rhrirj�__type_params__��.type_paramss�r\�Newrt�����r^ryrk�r��
.generic_baserxs @r\z<generic parameters of New>zCUnpackTests.test_builtin_tuple.<locals>.<generic parameters of New>�����#���r^) rr#r�r�r�r�r�rr)rWr�rqry�PartOld�PartNews r\�test_builtin_tuplezUnpackTests.test_builtin_tuple�s���
�$�
��$�'�#�2�#�,�$���c�h�B�h�-��������.�.��c�
�;������%��*��-�6�6��c�
�C������%��*��-�6�6��c�
�C�������c�
�!3�4�=�=��S�z�J�������c�
�!3�4�=�=��S�z�J��c�h�B�h�-��������.�.��c�
�;������%��*��-�6�6��c�
�C������%��*��-�6�6��c�
�C�������c�
�!3�4�=�=��S�z�J�������c�
�!3�4�=�=��S�z�Jr^c�v�td�}d��}|tg|��}tjd�}|j t
|�5|tttddd�|j t
|�5|tttddd�y#1swY�@xYw#1swYyxYw)Nr�c�0��d� x}f�G�fd�d��
}|�S)r�c���eZdZW�Zy)�/UnpackTests.test_unpack_wrong_type.<locals>.GenNrurws�r\�Genr�rzr^r�rkr{s @r\z<generic parameters of Gen>zGUnpackTests.test_unpack_wrong_type.<locals>.<generic parameters of Gen>r}r^z*Unpack[...] must be used with a tuple type) rr�r�r�r�r�rr�r)rWr�r��PartGen�bad_unpack_params r\�test_unpack_wrong_typez"UnpackTests.test_unpack_wrong_type
s���
�$�
����c�h�B�h�-���9�9�%Q�R��
�
#�
#�I�/?�
@��F�4��9�%�&�A�
�
#�
#�I�/?�
@��F�4��9�%�&�A�
@�A�
@��
@�
@�s�B#�B/�#B,�/B8N)rhrirjrSr^r`rcrermr�r�rkr^r\rQrQ�s+���8�+�+��=�K�( 'r^rQc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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)rW�string�tails r\�assertEndsWithz TypeVarTupleTests.assertEndsWiths-�����t�$��I�I���z�)<�T�H�E�F�%r^c��td�}|j|jd�td�}|j|jd�y)Nr�r)rr�rh)rWr�rs r\� test_namezTypeVarTupleTests.test_names>��
�$�
��������d�+��5�!��������u�-r^c�Z�td�}|j|jt�y�Nr�)rr�rirh�rWr�s r\�test_modulezTypeVarTupleTests.test_module%s ��
�$�
���������1r^c��i}td|�|d}|j|jd�|j|jd�y)Nz8from typing import TypeVarTuple; Ts = TypeVarTuple("Ts")r�)rzr�rhr�ri)rWr|r�s r\� test_execzTypeVarTupleTests.test_exec)sA��
���
G��L�
��X��������d�+��
�
�b�m�m�T�*r^c�>�td�}|j||�yr�)rr�r�s r\� test_instance_is_equal_to_itselfz2TypeVarTupleTests.test_instance_is_equal_to_itself0s��
�$�
������R� r^c�L�|jtd�td��yr�)r�rr�s r\�&test_different_instances_are_differentz8TypeVarTupleTests.test_different_instances_are_different4s�����L��.��T�0B�Cr^c�F�td�}|j|t�yr�)rr�r�s r\�(test_instance_isinstance_of_typevartuplez:TypeVarTupleTests.test_instance_isinstance_of_typevartuple7s��
�$�
�����b�,�/r^c�|�td�}|jt�5|�ddd�y#1swYyxYwr�)rr�r�r�s r\�test_cannot_call_instancez+TypeVarTupleTests.test_cannot_call_instance;s+��
�$�
��
�
�
�y�
)��D�*�
)�
)�s�2�;c��td�}|jg|��dg|��d�|jt|t|�y)Nr�r)rr�rr�s r\�-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|�yr�)rr�r�rrr�s r\�+test_parameterised_tuple_is_equal_to_itselfz=TypeVarTupleTests.test_parameterised_tuple_is_equal_to_itselfEsN��
�$�
������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)rWr�rs r\� tests_tuple_arg_ordering_mattersz2TypeVarTupleTests.tests_tuple_arg_ordering_mattersJs~���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�yr�)rr�r�r�r�rr)rWr��t1�t2s r\�*test_tuple_args_and_parameters_are_correctz<TypeVarTupleTests.test_tuple_args_and_parameters_are_correctVs���
�$�
��
�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>.G1Nr|rkr^r\�G1r�cr�r^r�c��eZdZy)�3TypeVarTupleTests.test_var_substitution.<locals>.G2Nr|rkr^r\�G2r�dr�r^r�rk)rrr#rrr�r�r{r�r�rr�r�r�r�)rWr�rr#r�r�r�r�rBrE�E�F�G�H�Is r\r�z'TypeVarTupleTests.test_var_substitution_s���
�$�
���C�L��
�T�]��$���"���$�+�����$�+��R���%�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�}&�,.�-��-�-��.�-��-�-��.�-��-�-��.�-��-�-�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>.G1Nr|rkr^r\r�r��r�r^r�c��eZdZy)�7TypeVarTupleTests.test_bad_var_substitution.<locals>.G2Nr|rkr^r\r�r��r�r^r�)
rrr#rrr�r�r�r�r�) rWr�rr#r�r�r�r�rBs r\r�z+TypeVarTupleTests.test_bad_var_substitution�s���
�$�
���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 tt|�d �|jt t
g|���d
�|jt ttt|�d�y)Nr�c��eZdZy)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G1Nr|rkr^r\r�r��r�r^r�c��eZdZy)�2TypeVarTupleTests.test_repr_is_correct.<locals>.G2Nr|rkr^r\r�r��r�r^r�rztyping.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)rWr�r�r�s r\�test_repr_is_correctz&TypeVarTupleTests.test_repr_is_correct�s���
�$�
��$���"���$�+�����$�+�����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
tf�d�|jt |t
tf�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
ftf�d�|jt |t
gttd
f�t���d�|jt |t
tttd
ftf�d�y)Nr�c��eZdZy)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.ANr|rkr^r\r�r��r�r^r�c��eZdZy)�@TypeVarTupleTests.test_variadic_class_repr_is_correct.<locals>.BNr|rkr^r\r�r��r�r^r�rk�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#rr�r�r{r�r�r�r)rWr�r�r�s r\�#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
tf�d�|t|}|jt |�d�|jt |d�d�|jt |t
�d�|jt |t
tf�d�|g|�t��}|jt |�d �|jt |d�d
�|jt |t
�d�|jt |t
tf�d�|t|tf}|jt |�d �|jt |d�d
�|jt |t
�d�|jt |t
tf�d�|tg|��}|jt |�d
�|jt |d�d
�|jt |t
�d�|jt |t
tf�d�|tt|f}|jt |�d
�|jt |d�d
�|jt |t
�d�|jt |t
tf�d�|tg|�t��} |jt | �d�|jt | d�d�|jt | t
�d�|jt | t
tf�d�|tt|tf}
|jt |
�d�|jt |
d�d�|jt |
t
�d�|jt |
t
tf�d�|g|�ttdf��}|jt |�d�|jt |d�d�|jt |t
�d�|jt |t
tf�d�|t|tttdff}|jt |�d�|jt |d�d�|jt |t
�d�|jt |t
tf�d�y)Nr�c��eZdZy)�FTypeVarTupleTests.test_variadic_class_alias_repr_is_correct.<locals>.ANr|rkr^r\r�r��r�r^r�zA[typing.Unpack[Ts]]rkr�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#rr�r�r{r�r�r�r)
rWr�r�r�rBrEr�r�r�r�r��J�Ks
r\�)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�dt
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>.CNr|rkr^r\rBr�8r�r^rBr�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�<r�r^rEc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r�>r�r^r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r�@r�r^r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.GNr|rkr^r\r�r�Br�r^r�zCannot subclass typing\.Unpackc��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.HNr|rkr^r\r�r�Er�r^r�z#Cannot subclass typing.Unpack\[Ts\]c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.INr|rkr^r\r�r�Gr�r^r�c��eZdZy)�1TypeVarTupleTests.test_cannot_subclass.<locals>.JNr|rkr^r\r�r�Ir�r^r�)r�r�r�rr�r�r�r)
rWrBr�rEr�r�r�r�r�r�s
r\r�z&TypeVarTupleTests.test_cannot_subclass6sx��
�
#�
#�I���/O�
P�'�L�'�Q�
�$�
��
�
#�
#�I�(�>�9�;��B��;��
#�
#�I�/C�
D�'�D��L�'�E�
�
#�
#�I�/C�
D�$�D�"�I�$�E�
�
#�
#�I�/C�
D�+�D����$�+�E�
�
#�
#�I�$E�G�!�F�!�G��
#�
#�I�/U�
V��R��W�
�
#�
#�I�/U�
V�%�F�2�J�%�W�
V�#Q�
P��;�;��E�
D��
D�
D��
D�
D��G�G��W�
V��
V�
V�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
tf�|j |j
tf�|ttf} |ttf}
|j | j
ttf�|j |
j
ttf�||}||}|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>.ANr|rkr^r\r�r�Nr�r^r�c��eZdZy)�ATypeVarTupleTests.test_variadic_class_args_are_correct.<locals>.BNr|rkr^r\r�r�Or�r^r�rk)rrr#rr�r�r�r�)rWrr�r�r�rBrEr�r�r�r�r�r�r��L�M�N�O�Ps r\�$test_variadic_class_args_are_correctz6TypeVarTupleTests.test_variadic_class_args_are_correctKs4���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>.CNr|rkr^r\rBr�wr�r^rBc��eZdZy)�BTypeVarTupleTests.test_variadic_class_origin_is_correct.<locals>.DNr|rkr^r\rEr�|r�r^rE)rr#r�r�r�rr)rWr�rBrEs r\�%test_variadic_class_origin_is_correctz7TypeVarTupleTests.test_variadic_class_origin_is_correctts���
�$�
��#������#��
�
�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
tf\fd�}|jt|�dttt
tfi�Gd�dtg|���}d|t
tf\fd�}|jt|�dt|t
tfi�y)Nr�r�c��yrbrk�r�s r\�func1zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func1����tr^c��yrbrkr�s r\�func2zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func2�s��Dr^c��eZdZy)�LTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.CustomVariadicNr|rkr^r\�CustomVariadicr��r�r^r�c��yrbrkr�s r\�func3zCTypeVarTupleTests.test_get_type_hints_on_unpack_args.<locals>.func3�s��Tr^�rr�rrr�r�r�r#�rWr�r�r�r�r�s r\�"test_get_type_hints_on_unpack_argsz4TypeVarTupleTests.test_get_type_hints_on_unpack_args�s���
�$�
��#�"�#�����U��f�f�R�j�%9�:�0�%��S��/�0�����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
tfi�Gd�dtg|���}dd�}|jt|d|i��dt|t
tfi�y)Nr�r�c��yrbrkr�s r\r�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func1�s��r^)�localnsc��yrbrkr�s r\r�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func2�s��dr^c��eZdZy)�STypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.CustomVariadicNr|rkr^r\r�r�r�r^r�c��yrbrkr�s r\r�zJTypeVarTupleTests.test_get_type_hints_on_unpack_args_string.<locals>.func3�s��tr^)r�z*Ts)r�z*tuple[int, str])r�z*CustomVariadic[int, str]rrs r\�)test_get_type_hints_on_unpack_args_stringz;TypeVarTupleTests.test_get_type_hints_on_unpack_args_string�s���
�$�
��%�����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
|tfjt
|tf�|jttg|��jtg|���|jttt
|fjtt
|f�|jttg|�t��jtg|�t���|jttt
|tfjtt
|tf�|jtg|�t��jg|�t���|jtt
|jt
|f�yr�)rr�r�r�rrr�r�r�s r\�test_tuple_args_are_correctz-TypeVarTupleTests.test_tuple_args_are_correct�s���
�$�
������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�ttg|�df}ttt|gdf}|j|jtg|�td����|j|jtt|td�f�tg|�t�df}tt|tgdf} |j|jg|�t�td����|j| jt|ttd�f�ttg|�t�df}
ttt|tgdf}|j|
jtg|�t�td����|j|jtt|ttd�f�tdgg|��}tdgt|f}
|j|jtd�g|���|j|
jtd�t|f�tdgttg|��f}tdgttt|ff}|j|jtd�ttg|��f�|j|jtd�ttt|ff�tdgtg|�t��f}tdgtt|tff}|j|jtd�tg|�t��f�|j|jtd�tt|tff�tdgttg|�t��f}tdgttt|tff}|j|jtd�ttg|�t��f�|j|jtd�ttt|tff�tg|�g|��}tt|gt|f}|j|jg|�|���|j|jt|t|f�tg|�g|��}tt|gt|f}|j|jg|�|���|j|jt|t|f�y)Nr�r�r)
rr"rr�r�r�r�r�r�r)rWr�r�rrr��c�d�erf�g�h�i�j�k�l�m�n�o�p�q�rr��us r\�test_callable_args_are_correctz0TypeVarTupleTests.test_callable_args_are_correct�s���
�$�
���5�!���5�!��
�U�r�U�D�[�!���f�R�j�\�4�'�(��������%6�r�%6�4��:�%6�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)Nr�rc��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.CNr|rkr^r\rBr!�r�r^rBc��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.DNr|rkr^r\rEr#�r�r^rEc��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.ENr|rkr^r\r�r%�r�r^r�c��eZdZy)�STypeVarTupleTests.test_variadic_class_with_duplicate_typevartuples_fails.<locals>.FNr|rkr^r\r�r'�r�r^r�)rr�r�r#r)rWr�rrBrEr�r�s r\�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�
)�4�G�,�S�,�3�,��,�-�4�*�
�
�
�y�
)�I�G�F�3�K����f�S�k�A�B�I�*�
)�*�
)��
)�
)��*�
)��
)�
)�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|ttfy)Nr�c��eZdZy)�]TypeVarTupleTests.test_type_concatenation_in_variadic_class_argument_list_succeeds.<locals>.CNr|rkr^r\rBr+r�r^rB)rr#rr�r��boolr{�rWr�rBs r\�@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��ttt|ftt|tfttt|tftttt|t
tfyr�)rr�r�r�r,r{rrr�s r\�7test_type_concatenation_in_tuple_argument_list_succeedszITypeVarTupleTests.test_type_concatenation_in_tuple_argument_list_succeedss���
�$�
��
�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>.CNr|rkr^r\rBr3r�r^rB)rr�r�r#r-s r\�>test_variadic_class_definition_using_packed_typevartuple_failszPTypeVarTupleTests.test_variadic_class_definition_using_packed_typevartuple_failss2��
�$�
��
�
�
�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>.FNr|rkr^r\r�r7#r�r^r�c��eZdZy)�VTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails.<locals>.ENr|rkr^r\r�r9%r�r^r�)rr�r�r#r�r)rWr�r�r�s r\�9test_variadic_class_definition_using_concrete_types_failszKTypeVarTupleTests.test_variadic_class_definition_using_concrete_types_fails so��
�$�
��
�
�
�y�
)�,�G�H�R�H��H�%�,�*�
�
�
�y�
)�3�G�F�2�J��O�,�3�*�
)�*�
)��
)�
)�s�B� B�B�Bc �N�td�}td�}td�}Gd�dt||g|���}|ttf|ttt
f|ttt
tfGd�dt||t|f�}|ttf|ttt
f|ttt
tfGd�d t|g|�|���}|ttf|ttt
f|ttt
tfGd
�dt|t||f�}|ttf|ttt
f|ttt
tfGd�d
tg|�|�|���}|ttf|ttt
f|ttt
tfGd�dtt|||f�} | ttf| ttt
f| ttt
tfy)Nr�r"r#c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ANr|rkr^r\r�r=,r�r^r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.BNr|rkr^r\r�r?1r�r^r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.CNr|rkr^r\rBrA6r�r^rBc��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.DNr|rkr^r\rErC;r�r^rEc��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.ENr|rkr^r\r�rE@r�r^r�c��eZdZy)�WTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args.<locals>.FNr|rkr^r\r�rGEr�r^r�)rrr#r�r�r{r,r)
rWr�r"r#r�r�rBrEr�r�s
r\�:test_variadic_class_with_2_typevars_accepts_2_or_more_argszLTypeVarTupleTests.test_variadic_class_with_2_typevars_accepts_2_or_more_args's���
�$�
��
�T�]��
�T�]��+���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��yrbrkr�s r\rfzGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.fMs��$r^c��yrbrkr�s r\rzGTypeVarTupleTests.test_variadic_args_annotations_are_correct.<locals>.gN���4r^r)rrr�r�)rWr�rfrs r\�*test_variadic_args_annotations_are_correctz<TypeVarTupleTests.test_variadic_args_annotations_are_correctJsb��
�$�
��&�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��yrbrkr�s r\rzUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.aS���r^rc��yrbrkr�s r\r�zUTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correct.<locals>.bWs��tr^)r�r�r�r�rr)rWrr�s r\�8test_variadic_args_with_ellipsis_annotations_are_correctzJTypeVarTupleTests.test_variadic_args_with_ellipsis_annotations_are_correctRs���,�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�dtttg|�t�t
��\fd�}|j|jdgtttg|�t�t
����di�dtttt|ffd�}|j|jdtttt|fi�dttt|tffd �}|j|jdttt|tfi�dttt
t|tffd
�}|j|jdttt
t|tfi�dttttt|tt
ffd�} |j| jdttttt|tt
fi�y)Nr�r�c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.a`rPr^rc��yrbrkr�s r\r�zXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.bfrPr^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.cls��Tr^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.drs��$r^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.ez���dr^c��yrbrkr�s r\rfzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.f�rYr^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.g�s��4r^c��yrbrkr�s r\rzXTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct.<locals>.h�s��r^)
rr�r�r�r�r�r,r{rr)
rWr�rr�rrrrfrrs
r\�;test_concatenation_in_variadic_args_annotations_are_correctzMTypeVarTupleTests.test_concatenation_in_variadic_args_annotations_are_correct[s���
�$�
�� -�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>.CNr|rkr^r\rBr`�r�r^rBc��eZdZy)�MTypeVarTupleTests.test_variadic_class_same_args_results_in_equalty.<locals>.DNr|rkr^r\rErb�r�r^rEr�r)rr#rr�r��rWr�rBrEr�rs r\�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>.CNr|rkr^r\rBrg�r�r^rBc��eZdZy)�ETypeVarTupleTests.test_variadic_class_arg_ordering_matters.<locals>.DNr|rkr^r\rEri�r�r^rEr�r)rr#rr�r�r�rcs r\�(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�r�rc��eZdZy)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.CNr|rkr^r\rBrm�r�r^rBc��eZdZy)�RTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters.<locals>.DNr|rkr^r\rEro�r�r^rE)rr#rr�)rWr�r�rrBrEs r\�5test_variadic_class_arg_typevartuple_identity_matterszGTypeVarTupleTests.test_variadic_class_arg_typevartuple_identity_matters�s���
�$�
���5�!���5�!��#������#�*���r�
�#�*����A�d�s�d�G�Q�t��t�W�-����A�f�S�k�N�A�f�S�k�N�;r^N)'rhrirjr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr
rrr(r.r0r4r:rHrMrRr]rdrjrprkr^r\r�r�s���G�.�2�+�!�D�0��
1�
?�
�3�FK�P/�<l�"T�@>i�@&�*'6�R3�Q�E� D�(;A�zJ�-� 1�'�
4�!!�FA�<�5
�n$
�L
�4 <r^r�c�<�eZdZed��Zed��Zed��Zy)�TypeVarTuplePicklingTestsc��td�atjtjt|��}|jt|�y)N�
global_Ts1)rrtrs�loads�dumpsr�)rWrq�
global_Ts2s r\�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||�tt}tjtj||��}|j||�y)N� global_Tsr)rrzrsrurvr�r)rWrq� unpacked1� unpacked2� unpacked3� unpacked4s r\�?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
ttttgt��t
tttfttgt��t
tttfg}|D]=}tjtj||��}|j||��?y)N�global_Trz)
rr�rrzr�rrrr�rsrurvr�)rWrq�tuples�tr�s r\�>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)rhrirjryrxrr�rkr^r\rrrr�s>���.��.��
,��
,��$��$r^rrc��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�
UnionTestsc�V�tttf}|j|t�yrb)rr�r{r��rWrs r\r9zUnionTests.test_basicss ���#�u�*������A�u�%r^c��|jt�5ttt�ddd�|jt�5ttt�ddd�|jt�5tttt
ft�ddd�y#1swY�{xYw#1swY�UxYw#1swYyxYwrb)r�r�rTr�rr�r�s r\�test_subclass_errorzUnionTests.test_subclass_errors{��
�
�
�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�yrb)rr
r�r��objectr�)rWr�u1�u2�u3s r\�test_union_anyzUnionTests.test_union_anys����#�J������C� �
�3��8�_��
�3��8�_��
�3��;�
������R� ����B��$����B��$����B��$r^c��tt}|j|t�tttf}tttf}|j||�|j |t�|j |t�yrb)rr�r�r�r�)rWrr�r�s r\�test_union_objectzUnionTests.test_union_object(sg���&�M������F�#�
�3��;�
��
�6�3�;�
������R� ����B��'����B��'r^c�t�tttf}tttf}|j||�yrb)rr�r{r�)rWr�r�s r\�test_unorderedzUnionTests.test_unordered1s.��
�3��:�
��
�5�#�:�
������R� r^c�J�tt}|j|t�yrb)rr{r�)rWr�s r\�test_single_class_disappearsz'UnionTests.test_single_class_disappears6s���(�O���
�
�a��"r^c���tttf}|j|t�|j t|j
�|j t|j
�yrb)rr{rr�r[r�r�s r\�test_base_class_keptzUnionTests.test_base_class_kept:sE���(�G�#�$�����A�x�(��
�
�h��
�
�+��
�
�g�q�z�z�*r^c��tttf}t|tf}|j |ttttf�yrb)rr�r{r{r�)rWr�vs r\�test_union_unionzUnionTests.test_union_union@s:���#�u�*����!�X�+�������E�#�u�h�"6�7�8r^c�0�Gd�dt�}Gd�d|��}Gd�d|��}|jt||fj||f�t||f}|j t
�5t
|�ddd�tt|f}|j t
�5t
|�ddd�t|tf}|j t
�5t
|�ddd�y#1swY�zxYw#1swY�NxYw#1swYyxYw)Nc��eZdZdZy)�;UnionTests.test_union_of_unhashable.<locals>.UnhashableMetaN�rhrirj�__hash__rkr^r\�UnhashableMetar�F����Hr^r�c��eZdZy)�.UnionTests.test_union_of_unhashable.<locals>.ANr|rkr^r\r�r�Ir�r^r��� metaclassc��eZdZy)�.UnionTests.test_union_of_unhashable.<locals>.BNr|rkr^r\r�r�Jr�r^r�)r�r�rr�r�r��hashr�)rWr�r�r��union1�union2�union3s r\�test_union_of_unhashablez#UnionTests.test_union_of_unhashableEs��� �T� � /�.�.�.�.�.�����q�!�t��-�-��1�v�6��q�!�t���
�
�
�y�
)���L�*��s�A�v���
�
�
�y�
)���L�*��q�#�v���
�
�
�y�
)���L�*�
)�*�
)��*�
)��*�
)�s$�/C4�'D�D�4C=�D �Dc�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)
Nztyping.Unionztyping.Union[%s.Employee, int]ztyping.Union[int, %s.Employee]rz#typing.Union[typing.List[int], int]z)typing.Union[list[int], dict[str, float]]ztyping.Union[int, float]ztyping.Optional[str]z typing.Union[NoneType, str, int])
r�r�rr{r�rhrrr�r&r�r{r)rWrrs r\r�zUnionTests.test_reprYs�������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�<xYwrU)rYrZrr�r�rur[r\s r\r^zUnionTests.test_dirrsT����E�#�s�(�O�,�-� �
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A$ c��|jtd�5Gd�dt�}ddd�|jtt�5Gd�dt t��}ddd�|jtd�5Gd�dtt
tf�}ddd�y#1swY��xYw#1swY�QxYw#1swYyxYw) NzCannot subclass typing\.Unionc��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�}r�r^rBc��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr��r�r^rEz)Cannot subclass typing\.Union\[int, str\]c��eZdZy)�*UnionTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r��r�r^r�)r�r�rr�r�r�r�)rWrBrEr�s r\r�zUnionTests.test_cannot_subclasszs���
�
#�
#�I�0�2�
�E�
�2��
#�
#�I�/C�
D�
�D��K�
�E��
#�
#�I�<�>�
�E�#�s�(�O�
�>�>�2�2��E�
D��>�>�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#1swYyxYwrb)r�r�rr�r�r{r�s r\r�z"UnionTests.test_cannot_instantiate�s���
�
�
�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�yrb)r�rr�rc�Iterabler�r[r�r�s r\�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
tj�|jt
tjt�yrb) r�rr�r
r$rrc�Mappingr!r�s r\�test_union_compare_otherz#UnionTests.test_union_compare_other�s������E�6�*����E�3�'����H�e�,����H�e�,����T�F�H�-����H�f�n�n�5����H�V�%:�%:�;�U�Cr^c�`�tt}ttdf}|j||�yrb)rr�rr�)rWrrs r\�
test_optionalzUnionTests.test_optional�s)���S�M���#�t�)�������A�r^c�j�|jt�5tdddd�y#1swYyxYw�Nrk)r�r�rr�s r\�
test_emptyzUnionTests.test_empty�s#��
�
�
�y�
)��"�I�*�
)�
)���
)�2c�r�tttf}d|fd�}|jt |�d|�y)Nr�c��yrbrkr�s r\rfz(UnionTests.test_no_eval_union.<locals>.f����Sr^)rr�r�r�r+)rWrrfs r\�test_no_eval_unionzUnionTests.test_no_eval_union�s/���#�s�(�O������
�
�n�Q�'��,�a�0r^c�h�dtfd�}|jtt|tf�d�y)Nr�c��yrbrkrkr^r\�funz0UnionTests.test_function_repr_union.<locals>.fun�s��#r^ztyping.Union[fun, int])r�r�r�r)rWr�s r\�test_function_repr_unionz#UnionTests.test_function_repr_union�s(���S������e�C��H�o�.�0H�Ir^c�.�tttf}|yrb)rr�r>r�s r\�test_union_str_patternz!UnionTests.test_union_str_pattern�s���#�w�,��� r^c�X��ddlm�t�tf�fd�}t|tfy)Nr)�Elementc����|�Srbrk)r�r�s �r\�Elemz#UnionTests.test_etree.<locals>.Elem�s
����D�>�!r^)�xml.etree.ElementTreer�rr�)rWr�r�s @r\�
test_etreezUnionTests.test_etree�s'��� 2�
�g�s�l�� "� �d�C�i�r^c���|jttdtdfjtdtdf�|jttdtdftd�|jttdtdfjtdtdf�|jttdtdfjtdtdf�ddl}Gd�d|j
�}|jtt|jt|jft|j�|jtt|jt|jft|j�|jtt|jt|jfjt|jt|jf�|jttdt|jtdfjtdt|jtdf�|jttdt|jtdfjtdt|jtdf�y)Nrnr�FrTc��eZdZdZdZy)�/UnionTests.test_union_of_literals.<locals>.IntsrrnN�rhrirjr�r�rkr^r\�Intsr������A��Ar^r�)r�rrr��enum�IntEnumr�r�)rWr�r�s r\�test_union_of_literalsz!UnionTests.test_union_of_literals�s<������w�q�z�7�1�:�5�6�?�?�!�!�*�g�a�j�1� 3�����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)rhrirjr9r�r�r�r�r�r�r�r�r�r^r�r�r�r�r�r�r�r�r�r�r�rkr^r\r�r�st��&�-� %�(�!�
#�+�9�
�(:�28�� �W�D��
�1�
J�
�
�Gr^r�c�0�eZdZd�Zd�Zd�Zd�Zd�Zd�Zy)�
TupleTestsc��|jt�5ttttt
f�ddd�|jt�5ttttt
f�ddd�Gd�dt�}|jtt�|j|t�y#1swY��xYw#1swY�UxYw)Nc��eZdZy)�"TupleTests.test_basics.<locals>.TPNr|rkr^r\�TPr��r�r^r�)r�r�rTrr�r�r�r])rWr�s r\r9zTupleTests.test_basics�s���
�
�
�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 r\r�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>.MyTupleNr|rkr^r\�MyTupler�����r^r�)r�r]r)rWr�s r\�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 r\�test_tuple_instance_type_errorz)TupleTests.test_tuple_instance_type_error�s@��
�
�
�y�
)��v�u�S�#�X��/�*����f�e�,�*�
)�s�A�Ac��|jtt�d�|jttd�d�|jttttf�d�|jtttdf�d�|jttt
t�d�y)Nztyping.Tuplerkztyping.Tuple[()]ztyping.Tuple[int, float].ztyping.Tuple[int, ...]ztyping.Tuple[list[int]])r�r�rr�r{r�r�s r\r�zTupleTests.test_reprs�������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�rTrr�r�s r\r�zTupleTests.test_errorssS��
�
�
�y�
)��r�5�!�*�
�
�
�y�
)��r�5��:�&�*�
)�*�
)��
)�
)�s�A%�A1�%A.�1A:N) rhrirjr9r�r�r�r�r�rkr^r\r�r��s!��)�9�,�-�
L�'r^r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zy)�BaseCallableTestsc�$�|j}|jt�5ttj
|tgtf�ddd�|jtj
|�|j||�y#1swY�<xYwrb)r"r�r�rT�types�FunctionTyper�r]�rWr"s r\�test_self_subclassz$BaseCallableTests.test_self_subclasssh���=�=��
�
�
�y�
)��u�)�)�8�S�E�3�J�+?�@�*����e�0�0�(�;����h��1�*�
)�s�)B�Bc�,�|j}|tgtf}|j||tgtf�|jt||tgtfh�d�|j ||tgt
f�|j ||t
gtf�|j ||ttgtf�|j ||gtf�|j ||dtf�|j ||�y)Nrn.)r"r�r�rr�r�)rWr"rBs r\�test_eq_hashzBaseCallableTests.test_eq_hashs����=�=���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.rVrW)r"rYrZr�rur[)rWr"r]rXs r\r^zBaseCallableTests.test_dir#s^���=�=����H�S�#�X�.�/�0� �
�M����M��:��
�
�m�Y�7�;�:�
�;�:�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#1swYyxYwrb)r"r�r�r�r�r�)rWr"rs r\r�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#1swYyxYwrb)r"r�r�r�r�s r\�test_callable_wrong_formsz+BaseCallableTests.test_callable_wrong_forms8s,���=�=��
�
�
�y�
)��S�M�*�
)�
)�s�
5�>c�j�|j}d�}|j||�|jd|�y)Nc��yrbrkrkr^r\rfz9BaseCallableTests.test_callable_instance_works.<locals>.f?���r^)r"r�r��rWr"rfs r\�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��yrbrkrkr^r\rfz>BaseCallableTests.test_callable_instance_type_error.<locals>.fFr�r^)r"r�r�r�r
r�s r\�!test_callable_instance_type_errorz3BaseCallableTests.test_callable_instance_type_errorDs����=�=�� �
�
�
�y�
)��q�(�2�t�8�,�-�*�
�
�
�y�
)��q�(�2�s�7�+�,�*�
�
�
�y�
)��t�X�b�$�h�/�0�*�
�
�
�y�
)��t�X�b�#�g�.�/�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C�C!�C-�6C9�C�!C*�-C6�9Dc��|j}|j�d�}|gtf}|jt |�|�d��|t
tgtf}|jt |�|�d��|dt
f}|jt |�|�d��|t
tgttf}|jt |�|�d��y)N� .Callablez
[[], bool]z[[str, float], int].z
[..., str]z[[str, float], list[int]]) r"rir,r�r�r�r{r�r�)rWr"�fullname�ct0�ct2�ctv�ct3s r\r�zBaseCallableTests.test_reprQs����=�=���)�)�*�)�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��yrbrk�rs r\rkz:BaseCallableTests.test_callable_with_ellipsis.<locals>.foo_r�r^)r"rr�r+�globals�locals)rWr"rks r\�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"rcrr�r�s r\�test_ellipsis_in_genericz*BaseCallableTests.test_ellipsis_in_generices ���=�=�����H�S�#�X�&�'r^c��|j}|j|tzt|tf�|jt|ztt|f�yrb)r"r�rrr�s r\�test_or_and_rorz!BaseCallableTests.test_or_and_rorjsG���=�=������E�)�5��5��+A�B������)�5����+A�Br^c��|j}|ttgtf}|tj
jur |j
|tj�|j|jtj
j�|j|jtttf�|j|jd�yr�)r"r�r�r{�collections�abcr�r��GenericAliasr�r�r�r�r��rWr"rs r\�
test_basiczBaseCallableTests.test_basicos����=�=���#�s��U�*�+���{���/�/�/��!�!�%��);�);�<��
�
�e�&�&����(@�(@�A�������#�s�E�):�;�����-�-�r�2r^c��|j}|ttgtf}|j tj|��|�yrb)r"r�r�r{r�r��refrs r\�test_weakrefzBaseCallableTests.test_weakrefxs=���=�=���#�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_picklern)rrq)r"rrrEr rr!r�r�r{rFrrrsrtrurvrur�r�r�r�)rWr"�samplesrrqr��loadeds r\�test_picklezBaseCallableTests.test_pickle}sL���=�=���:�&���Z�(�� ��-� �
�c�3�Z��&�'��X�s�]�#��X�x�'�(��[��h��/��4�5��[�!5�)�!5�X�!5�6��;�<�
���E��v�6�6��:�;���\�\��U�\�;����U�E�2�A�#�\�\�!�_�F��$�$�U�%5�%5�v�7H�7H�I��$�$�U�^�^�V�_�_�E��$�$�U�%9�%9�6�;P�;P�Q�<�;�<��
�h� �<�;�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"rir�rrrr�r�r�r{rr�r&rcrr�)rWr"r�C1�C2�C3�C4�C5s r\r�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"rErr�r�r�)rWr"r�r�pats r\�test_type_subst_errorz'BaseCallableTests.test_type_subst_error�sR���=�=���c�N���C�L��Q��
�
#�
#�I�s�
3��Q��T�N�1�c�6�"�4�
3�
3�s�A�Ac���|j}Gd�d|�}|tgtf}|j|�j|�|j|�j|tgtf�y)Nc��eZdZd�Zy)�/BaseCallableTests.test_type_erasure.<locals>.C1c��yrbrkr�s r\�__call__z8BaseCallableTests.test_type_erasure.<locals>.C1.__call__����r^N�rhrirjr2rkr^r\r&r0�s��
r^r&)r"r�rr�r�r��__orig_class__)rWr"r&rs r\�test_type_erasurez#BaseCallableTests.test_type_erasure�s^���=�=�� �� �
��u�a�x�L���
�
�a�c�m�m�R�(������+�+�R���q��\�:r^c���|j}|j�d�}td�}td�}||tf}|j |t
gtf|t
gtf�|j |t
tgtf|t
tgtf�|j |gtf|gtf�|j |dtf|dtf�|j ||tf||tf�|j |tt
|ftf|tt
|ftf�|j t|�|�d��|j t|t
tgtf�|�d��|jt�5|t
tfddd�||t
f}|j |t
g|t
gt
f�|j |t
tg|t
tgt
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
tf|t
tgt
f�|j t|�|�d��|j t|t
tf�|�d��y#1swY���xYw) Nrr��P2.z[~P, ~T]z[[int, str], str]z [~P, int]z[[int, str], int])r"rirErr�r�r�rFr�r�r�)rWr"rr�r8r&r's r\�test_paramspecz BaseCallableTests.test_paramspec�s����=�=���)�)�*�)�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)Nrrr�r8z![typing.Concatenate[int, ~P], ~T].z"[typing.Concatenate[int, ~P], int])
r"rirrErFr�r�r�r�r{)rWr"rrr�r8rBs r\�test_concatenatez"BaseCallableTests.test_concatenate�s����=�=���)�)�*�)�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�r8rr#r�c��eZdZy)�3BaseCallableTests.test_nested_paramspec.<locals>.MyNr|rkr^r\�Myr> r�r^r?)r"rErrr#r�r�r�r�r�r�r�r,r{)rWr"r�r8rr#r�r?r&r'r(r)s r\�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�r{r�r�rEr)rWr"rr�r&s r\r�zBaseCallableTests.test_errors( s����=�=���#�s��U�*�+��
�
#�
#�I�/G�
H��#�J�I��c�N��
�a��d�^��
�
#�
#�I�/C�
D��s�C��}��E�
�
#�
#�I�/B�
C��s�G�D�
C�
I�
H��E�
D��
C�
C�s#�
B<�6C�)
C�<C�C�CN)rhrirjr�r�r^r�r�rrr�rrrrrr$r�r-r6r9r;r@r�rkr^r\r�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
jjttgtf}|j|j|j�|jt|j�t|j��yrb)
rcr"r�r�r&rrr�r�r�)rW�c1�c2s r\�test_consistencyz$TypingCallableTests.test_consistency7 sr���_�_�c�3�Z��-�
.��
�_�_�
%�
%�s�C�j�$�&6�
7��������b�k�k�2�����b�k�k�*�D����,=�>r^N)rhrirjrcr"rIrkr^r\rErE4 s�����H�?r^rEc�8�eZdZejj
Zy)�CollectionsCallableTestsN)rhrirjrrr"rkr^r\rKrK@ s�����'�'�Hr^rKc�f�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zy)�LiteralTestsc��tdtdtdtdtdtdttdtdftdy) Nrn�rnr���r�r��zT)rn�2Fr����)sfoor*)rr�s r\r9zLiteralTests.test_basicsE sL����
�����
����
���
��
�����
�w�t�}�,�-���r^c��ddl}Gd�d|j�}|jt|jj
|jf�y)Nrc��eZdZdZy)�"LiteralTests.test_enum.<locals>.Myr�N)rhrirjr�rkr^r\r?rYR s���Ar^r?)r��Enumr�rr�r�)rWr�r?s r\� test_enumzLiteralTests.test_enumP s;��� ���� �
��������/�/�"�$�$��9r^c�b�tttdtddd�tty)N)y@@.rkrPrU�rkr*)rr�rr�s r\�3test_illegal_parameters_do_not_raise_runtime_errorsz@LiteralTests.test_illegal_parameters_do_not_raise_runtime_errorsW s'�� ����� ���!�$�%���
r^c�D�ttdttdy)NrO)rkr*�baz)rrr�s r\� 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)
Nrnztyping.Literal[1])rnTrkztyping.Literal[1, True, 'foo']ztyping.Literal[int]ztyping.Literalztyping.Literal[None]�rnr�rPrPztyping.Literal[1, 2, 3])r�r�rr�r�s r\r�zLiteralTests.test_reprc 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)NrOrVrW)rYrZrrur[r\s r\r^zLiteralTests.test_dirk sQ����G�G�,�-�.� �
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A c���|jt�5t�ddd�|jt�5td�ddd�|jt�5tt��ddd�|jt�5ttd��ddd�y#1swY��xYw#1swY�}xYw#1swY�WxYw#1swYyxYwrK)r�r�rr�r�s r\rIzLiteralTests.test_cannot_inits 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#1swYyxYwrK)r�r�r�rr�rTr�s r\� test_no_isinstance_or_issubclassz-LiteralTests.test_no_isinstance_or_issubclass} s���
�
�
�y�
)��q�'�!�*�%�*�
�
�
�y�
)��s�G�A�J�'�*�
�
�
�y�
)��q�'�!�*�%�*�
�
�
�y�
)��s�G�A�J�'�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�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>.FooNr|rkr^r\r�rj� r�r^r�rnc��eZdZy)�-LiteralTests.test_no_subclassing.<locals>.BarNr|rkr^r\r�rl� r�r^r��r�r�r�rWr�r�s r\�test_no_subclassingz LiteralTests.test_no_subclassing� sO��
�
�
�y�
)�'�g�a�j�'�*�
�
�
�y�
)�$�g�$�*�
)�*�
)��
)�
)�s�A�A+�A(�+A4c�p�|jt�5tddddd�y#1swYyxYwrKrmr�s r\�test_no_multiple_subscriptsz(LiteralTests.test_no_multiple_subscripts� s'��
�
�
�y�
)��A�J�q�M�*�
)�
)�s�
,�5c�D�|jtdtd�|jtdtd�|jtdtd�|jtdtd�|jtdtd�|jtdtd �|jtdtd�|jtdtd
�|jtdtd�y)
NrFTrnr�)rnT)rnrnr��Tr��r�rnrOrc)r�rr�r�s r\�
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)Nrnr�rtrOrc)r�r�rr�s r\� test_hashzLiteralTests.test_hash� 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)NrOrcrnr�)rPrU)rnr�rPrU)r�rr�r�s r\� test_argszLiteralTests.test_args� 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)Nrnr�rPr�rO)rr�r�)rW�l1�l2�l3rs r\�test_flattenzLiteralTests.test_flatten� sz��
�W�Q�Z����W�Q�Z�7�
8��
�W�T�]�A�%�
&��
�W�W�%�
&���R���A����Q��� 0�1����Q�Z�Z��3�r^c��ddl}Gd�d|j�}tt|jt|jtdtdf}|j|j|j|jddf�y)Nrc��eZdZdZdZy)�5LiteralTests.test_does_not_flatten_enum.<locals>.Intsrnr�Nr�rkr^r\r�r�� r�r^r�rnr�)r�r�rr�r�r�r�)rWr�r�rs r\�test_does_not_flatten_enumz'LiteralTests.test_does_not_flatten_enum� sq��� �4�<�<� �
��D�F�F�O��D�F�F�O��A�J��A�J�
�
��
������d�f�f�d�f�f�a��%;�<r^N)rhrirjr9r[r^rar�r^rIrgrorqrurwryr~r�rkr^r\rMrMD sP�� �:��-�O�8��(�%�� @�L�
=�4�=r^rM�XK�XVc�B�eZdZdedefd�Zdedefd�Zd dededefd�Zy)
�
SimpleMapping�keyr�c��yrbrk�rWr�s r\�__getitem__zSimpleMapping.__getitem__� ���r^rc��yrbrk�rWr�rs r\�__setitem__zSimpleMapping.__setitem__� r�r^N�defaultc��yrbrk�rWr�r�s r\�getzSimpleMapping.get� r�r^rb)rhrirjr�r�r�r�r�rkr^r\r�r�� sB���r��b���r��"���r��B��"�r^r�c�8�eZdZd�Zdefd�Zdefd�Zddefd�Zy)�MySimpleMappingc��i|_yrb��storer�s r\r�zMySimpleMapping.__init__� s ����
r^r�c� �|j|Srbr�r�s r\r�zMySimpleMapping.__getitem__� s���z�z�#��r^c�"�||j|<yrbr�r�s r\r�zMySimpleMapping.__setitem__� s����
�
�3�r^Nc�D� |j|S#t$r|cYSwxYwrb)r��KeyErrorr�s r\r�zMySimpleMapping.get� s)�� ��:�:�c�?�"��� ��N� �s���rb)rhrirjr�r�r�r�r�rkr^r\r�r�� s+����s�� �s� ��s�r^r�c�"�eZdZUeed<eed<y)�
Coordinater�r�N�rhrirjr�r�rkr^r\r�r�� ���
�F�
�Fr^r�c��eZdZUeed<y)�Point�labelN�rhrirjr�r�rkr^r\r�r�� s���Jr^r�c�,�eZdZUeed<eed<eed<y)�MyPointr�r�r�N�rhrirjr�r�r�rkr^r\r�r�� s��
�F�
�F��Jr^r�c��eZdZUeed<y)�XAxisr�Nr�rkr^r\r�r�� ���
�Fr^r�c��eZdZUeed<y)�YAxisr�Nr�rkr^r\r�r�� r�r^r�c��eZdZy)�PositionNr|rkr^r\r�r�� s��r^r�c�(�eZdZUeed<dedefd�Zy)�Proto�attrr�r�c��yrbrk�rWr�s r\�methz
Proto.meth� r�r^N)rhrirjr�r�r�r�rkr^r\r�r�� s��
�I�����r^r�c��eZdZy)�ConcreteNr|rkr^r\r�r�� r}r^r�c�,�eZdZUdZeed<dedefd�Zy)�Otherrnr�r�r�c��|dk(ryy)N�thisrnrrkr�s r\r�z
Other.meth
s���&�=��r^N)rhrirjr�r�r�r�r�rkr^r\r�r�
s���D�#�M�����r^r�c�"�eZdZUeed<eed<y)�NTr�r�Nr�rkr^r\r�r�
r�r^r�c�,�eZdZUejed<y)�HasCallProtocolr2N)rhrirjrcr"r�rkr^r\r�r�
s���o�o�r^r�c���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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 tj|�|j||�y)Nc��eZdZd�Zy)�,ProtocolTests.test_basic_protocol.<locals>.Pc��yrbrkr�s r\r�z1ProtocolTests.test_basic_protocol.<locals>.P.meth
���r^N�rhrirjr�rkr^r\r�r�
���
r^r�c��eZdZy)�,ProtocolTests.test_basic_protocol.<locals>.CNr|rkr^r\rBr�
r�r^rBc��eZdZd�Zy)�,ProtocolTests.test_basic_protocol.<locals>.Dc��yrbrkr�s r\r�z1ProtocolTests.test_basic_protocol.<locals>.D.meth
r�r^Nr�rkr^r\rEr�
���
r^rEc��yrbrkrkr^r\rfz,ProtocolTests.test_basic_protocol.<locals>.f
r�r^)r*r'r]r�r`r�r�r�)rWr�rBrErfs r\�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>.FooNrurws�r\r�r�.
s���r^r�rk�rr|rxs @r\z<generic parameters of Foo>z^ProtocolTests.test_runtime_checkable_generic_non_protocol.<locals>.<generic parameters of Foo>.
s������r^)r�r�r*�rWr�s r\�+test_runtime_checkable_generic_non_protocolz9ProtocolTests.test_runtime_checkable_generic_non_protocol(
s6��
�
#�
#��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��yrbrkr�s r\r�z>ProtocolTests.test_runtime_checkable_generic.<locals>.Foo.meth4
���r^N�rhrirjrvr��rxrs��r\r�r�2
s���$�a�$r^r��r'�r|rxrs @@r\z<generic parameters of Foo>zQProtocolTests.test_runtime_checkable_generic.<locals>.<generic parameters of Foo>2
s���� %� %�X� %r^c��eZdZdefd�Zy)�:ProtocolTests.test_runtime_checkable_generic.<locals>.Implr�c��yrbrkr�s r\r�z?ProtocolTests.test_runtime_checkable_generic.<locals>.Impl.meth7
r+r^N�rhrirjr�r�rkr^r\�Implr�6
s
��&�c�&r^r�c��eZdZdefd�Zy)�=ProtocolTests.test_runtime_checkable_generic.<locals>.NotImplr�c��yrbrkr�s r\�methodzDProtocolTests.test_runtime_checkable_generic.<locals>.NotImpl.method<
r/r^N)rhrirjr�r�rkr^r\�NotImplr�;
s
��(��(r^r�)r*r]r`)rWr�r�r�s r\�test_runtime_checkable_genericz,ProtocolTests.test_runtime_checkable_generic1
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>.HasXr�Nr�rkr^r\�HasXr�A
����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>.Barr�c��||_yrbr�r�s r\r�zQProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Bar.__init__G
r�r^N)rhrirjrvr�r�r�s��r\r�r�E
s�����D�
r^r�rkr�s @@r\z<generic parameters of Bar>z`ProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.<generic parameters of Bar>E
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��||_yrb�r�)rWr�s r\r�zVProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.Capybara.__init__L
r�r^N)rhrirjrvr�r�r�rws�r\�Capybarar�J
s�����F�
r^r�rkr�s @r\z <generic parameters of Capybara>zeProtocolTests.test_pep695_generics_can_be_runtime_checkable.<locals>.<generic parameters of Capybara>J
s���q� � � r^rnr�r*r'r�r�)rWr�r�r�s r\�-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
jfD]}|j||��t�ddt|fD]}|j||��y)Nc��eZdZy)�FProtocolTests.test_everything_implements_empty_protocol.<locals>.EmptyNr|rkr^r\�Emptyr�S
���r^r�c��eZdZy)�BProtocolTests.test_everything_implements_empty_protocol.<locals>.CNr|rkr^r\rBrW
r�r^rBc��yrbrkrkr^r\rfzBProtocolTests.test_everything_implements_empty_protocol.<locals>.fZ
r�r^rnrk)
r*r'r�r�r�r�r�r]rcr�)rWr�rBrf�things r\�)test_everything_implements_empty_protocolz7ProtocolTests.test_everything_implements_empty_protocolR
s�� � �H� �
� � � � ��d�E�1�e�.@�.@�A�E��!�!�%��/�B��h��2�v�q�1�E��!�!�%��/�2r^c�6�d�}|j|t�y)Nc��yrbrkrkr^r\rfz:ProtocolTests.test_function_implements_protocol.<locals>.fc
r�r^)r�r�res r\�!test_function_implements_protocolz/ProtocolTests.test_function_implements_protocolb
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>.CNr|rkr^r\rBri
r�r^rBc��eZdZy)�:ProtocolTests.test_no_inheritance_from_nominal.<locals>.BPNr|rkr^r\�BPr
k
r�r^rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.PNr|rkr^r\r�rn
r�r^r�c��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.QNr|rkr^r\�Qrq
r�r^rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.RNr|rkr^r\�Rrt
r�r^rc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.DNr|rkr^r\rErw
r�r^rEc��eZdZy)�9ProtocolTests.test_no_inheritance_from_nominal.<locals>.ENr|rkr^r\r�ry
r�r^r�)r'r�r�r�)rWrBrr�rrrEr�s r\� test_no_inheritance_from_nominalz.ProtocolTests.test_no_inheritance_from_nominalh
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>.PNr|rkr^r\r�r
r�r^r�c��eZdZy)�.ProtocolTests.test_no_instantiation.<locals>.CNr|rkr^r\rBr �
r�r^rBr�rc��eZdZy)�/ProtocolTests.test_no_instantiation.<locals>.PGNr|rkr^r\�PGr"�
r�r^r#c��eZdZy)�/ProtocolTests.test_no_instantiation.<locals>.CGNr|rkr^r\�CGr%�
r�r^r&)r'r�r�r�rr�)rWr�rBrr#r&s r\�test_no_instantiationz#ProtocolTests.test_no_instantiation~
s>�����
�
�
�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>.Pr�r�Nc��||_yrbr�r�s r\r�zUProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.P.__init__�
r�r^�rhrirjr�r�r�rkr^r\r�r*�
����F�
�#�
�$�
r^r�c��eZdZy)�LProtocolTests.test_protocol_defining_init_does_not_get_overridden.<locals>.CNr|rkr^r\rBr/�
r�r^rBrn)r'r�r�r��rWr�rBrs r\�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>.Pr�r�Nc��||_yrbr�r�s r\r�zSProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.P.__init__�
r�r^r,rkr^r\r�r4�
r-r^r�c��eZdZy)�JProtocolTests.test_concrete_class_inheriting_init_from_protocol.<locals>.CNr|rkr^r\rBr7�
r�r^rBrn)r'r�r�r�r0s r\�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�rb)�NotImplementedErrorr�s r\�amethz?ProtocolTests.test_cannot_instantiate_abstract.<locals>.P.ameth�
s��)�)r^N)rhrirjr�abstractmethodr�r>rkr^r\r�r;�
s!��
�
�
�
*�s�
*� �
*r^r�c��eZdZy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.BNr|rkr^r\r�rA�
r�r^r�c��eZdZdefd�Zy)�9ProtocolTests.test_cannot_instantiate_abstract.<locals>.Cr�c��y)N�rkr�s r\r>z?ProtocolTests.test_cannot_instantiate_abstract.<locals>.C.ameth�
���r^N)rhrirjr�r>rkr^r\rBrC�
s��
�s�
r^rB)r*r'r�r�r�)rWr�r�rBs r\� test_cannot_instantiate_abstractz.ProtocolTests.test_cannot_instantiate_abstract�
sh�� � *�� *�
� *�
�� � �� ��
�
�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��yrbrkr�s r\�meth1z;ProtocolTests.test_subprotocols_extending.<locals>.P1.meth1�
r�r^N�rhrirjrLrkr^r\�P1rJ�
r�r^rNc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.P2c��yrbrkr�s r\�meth2z;ProtocolTests.test_subprotocols_extending.<locals>.P2.meth2�
r�r^N�rhrirjrRrkr^r\r8rP�
r�r^r8c��eZdZd�Zd�Zy)�4ProtocolTests.test_subprotocols_extending.<locals>.Cc��yrbrkr�s r\rLz:ProtocolTests.test_subprotocols_extending.<locals>.C.meth1�
r�r^c��yrbrkr�s r\rRz:ProtocolTests.test_subprotocols_extending.<locals>.C.meth2�
r�r^N�rhrirjrLrRrkr^r\rBrU�
���
�
r^rBc��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.C1c��yrbrkr�s r\rLz;ProtocolTests.test_subprotocols_extending.<locals>.C1.meth1�
r�r^NrMrkr^r\r&r[�
r�r^r&c��eZdZd�Zy)�5ProtocolTests.test_subprotocols_extending.<locals>.C2c��yrbrkr�s r\rRz;ProtocolTests.test_subprotocols_extending.<locals>.C2.meth2�
r�r^NrSrkr^r\r'r^�
r�r^r'�r'r*r�r`r�r])rWrNr8rBr&r's r\�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��yrbrkr�s r\rLz9ProtocolTests.test_subprotocols_merging.<locals>.P1.meth1�
r�r^NrMrkr^r\rNrd�
r�r^rNc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.P2c��yrbrkr�s r\rRz9ProtocolTests.test_subprotocols_merging.<locals>.P2.meth2�
r�r^NrSrkr^r\r8rg�
r�r^r8c��eZdZy)�2ProtocolTests.test_subprotocols_merging.<locals>.PNr|rkr^r\r�rj�
rr^r�c��eZdZd�Zd�Zy)�2ProtocolTests.test_subprotocols_merging.<locals>.Cc��yrbrkr�s r\rLz8ProtocolTests.test_subprotocols_merging.<locals>.C.meth1�
r�r^c��yrbrkr�s r\rRz8ProtocolTests.test_subprotocols_merging.<locals>.C.meth2�
r�r^NrXrkr^r\rBrl�
rYr^rBc��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.C1c��yrbrkr�s r\rLz9ProtocolTests.test_subprotocols_merging.<locals>.C1.meth1�
r�r^NrMrkr^r\r&rp�
r�r^r&c��eZdZd�Zy)�3ProtocolTests.test_subprotocols_merging.<locals>.C2c��yrbrkr�s r\rRz9ProtocolTests.test_subprotocols_merging.<locals>.C2.meth2r�r^NrSrkr^r\r'rs�
r�r^r'r`)rWrNr8r�rBr&r's r\�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��yrbrkr�s r\r�z4ProtocolTests.test_protocols_issubclass.<locals>.P.x���r^N�rhrirjr�rkr^r\r�rx
���r^r�c��eZdZd�Zy)�3ProtocolTests.test_protocols_issubclass.<locals>.PGc��yrbrkr�s r\r�z5ProtocolTests.test_protocols_issubclass.<locals>.PG.xrzr^Nr{rkr^r\r#r~r|r^r#c��eZdZd�Zy)�5ProtocolTests.test_protocols_issubclass.<locals>.BadPc��yrbrkr�s r\r�z7ProtocolTests.test_protocols_issubclass.<locals>.BadP.xrzr^Nr{rkr^r\�BadPr����r^r�c��eZdZd�Zy)�6ProtocolTests.test_protocols_issubclass.<locals>.BadPGc��yrbrkr�s r\r�z8ProtocolTests.test_protocols_issubclass.<locals>.BadPG.xrzr^Nr{rkr^r\�BadPGr�r�r^r�c��eZdZd�Zy)�2ProtocolTests.test_protocols_issubclass.<locals>.Cc��yrbrkr�s r\r�z4ProtocolTests.test_protocols_issubclass.<locals>.C.xrzr^Nr{rkr^r\rBr�r�r^rB�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 classrn)rr*r'r]r�r�rTr�)
rWrr�r#r�r�rB�no_subscripted_generics� only_runtime_checkable_protocols�only_classes_alloweds
r\�test_protocols_issubclassz'ProtocolTests.test_protocols_issubclass
sn���C�L�� � �� �
� �
� ��!�� �
� � �8� � �H�Q�K� � � �
���a��#����a��$����d�B�'�
Q� ��
#�
#�I�/F�
G��q�"�Q�%� �H�
�
#�
#�I�/F�
G��q�"�Q�%� �H�
+� )�
�
#�
#�I�/O�
P��q�$��Q�
�
#�
#�I�/O�
P��q�%� �Q��
#�
#�I�/F�
G��q�"�Q�%� �H�
�
#�
#�I�/F�
G��r�2�c�7�#�H� G��
�
#�
#�I�/C�
D��q�!��E�
�
#�
#�I�/C�
D��q�"��E�
�
#�
#�I�/C�
D��q�$��E�
�
#�
#�I�/C�
D��q�%� �E�
D�9H�
G��
G�
G��Q�
P��
P�
P��H�
G��
G�
G��
E�
D��
D�
D��
D�
D��
D�
D�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�dt�}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��yrbrkr�s r\r�z_ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.CallableMembersProto.methH���Cr^Nr�rkr^r\�CallableMembersProtor�F���r^r�c��eZdZd�Zy)�TProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProtoc��yrbrkr�s r\r�zYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.IdenticalProto.methOr�r^Nr�rkr^r\�IdenticalProtor�Ns��r^r�c��eZdZd�Zd�Zy)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProtoc��yrbrkr�s r\r�zXProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.methRr�r^c��yrbrkr�s r\rRzYProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.SupersetProto.meth2S���Sr^N)rhrirjr�rRrkr^r\�
SupersetProtor�Qs��� r^r�c�"�eZdZUegdfed<y)�]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersProtoNr��rhrirjr"r�rkr^r\�NonCallableMembersProtor�U����2�t�8�$�$r^r�c�:�eZdZUegdfed<eeegefed<y)�eProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NonCallableMembersSupersetProtoNr�rR)rhrirjr"r�r�r�r,rkr^r\�NonCallableMembersSupersetProtor�Xs%���2�t�8�$�$��S�#�J��,�-�-r^r�c�(�eZdZUegdfed<d�Zy)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1Nr�c��yrbrkr�s r\rRz^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto1.meth2^r�r^)rhrirjr"r�rRrkr^r\�MixedMembersProto1r�\����2�t�8�$�$� r^r�c�,�eZdZUd�Zeeegefed<y)�XProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2c��yrbrkr�s r\r�z]ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.MixedMembersProto2.methar�r^rRN) rhrirjr�r"r�r�r,r�rkr^r\�MixedMembersProto2r�`s����S�#�J��,�-�-r^r�rpc��eZdZy)�SProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.EmptyProtocolNr|rkr^r\�
EmptyProtocolr�nr�r^r�c��eZdZd�Zy)�WProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocolc��yrbrkr�s r\�wutz[ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.UnrelatedProtocol.wutp���3r^N)rhrirjr�rkr^r\�UnrelatedProtocolr�os��r^r�c�"�eZdZUegdfed<y)�^ProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.AnnotatedButNotAProtocolNr�r�rkr^r\�AnnotatedButNotAProtocolr�zr�r^r�c��eZdZd�Zy)�gProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclassc��yrbrkr�s r\r�zlProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass.meth~���Dr^Nr�rkr^r\�!NotAProtocolButAnImplicitSubclassr�}��� r^r�c�(�eZdZUegdfed<d�Zy)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2Nr�c��yrbrkr�s r\r�zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass2.meth�r�r^)rhrirjr"r�r�rkr^r\�"NotAProtocolButAnImplicitSubclass2r��r�r^r�c�F�eZdZUegdfed<eeegefed<d�Zd�Z y)�hProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3Nr�rRc��yrbrkr�s r\r�zmProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.meth�r�r^c��y)NTrk�rWr�r�s r\rRznProtocolTests.test_implicit_issubclass_between_two_protocols.<locals>.NotAProtocolButAnImplicitSubclass3.meth2�s��$r^)
rhrirjr"r�r�r�r,r�rRrkr^r\�"NotAProtocolButAnImplicitSubclass3r��s+���2�t�8�$�$��S�#�J��,�-�-� �.r^r�)r*r'rurhr]r`)rWr�r�r�r�r�r�r�rqr�r�r�r�r�r�s r\�.test_implicit_issubclass_between_two_protocolsz<ProtocolTests.test_implicit_issubclass_between_two_protocolsEsf�� � �8� �
� � �X� � !�H� !� %�h� %� .�h� .� !�� !� .�� .�
�M�+B�+�-?�AS�
�E����E�N�N��3��%�%�e�-A�B�4�3�
� +�H�*� �� �
� � ��0D�E�� � �!2�4H�I� %� %� !� !� !� !� /� /�
� � �!9�;O�P����?�AU�V����@�BV�W����@�BV�W�K4�3�s�E*�*E3 c�d�|jtj�tj�|j t
d�5Gd�dtjjt�}ddd�|jgtjj�y#1swY�4xYw)Nz/Protocols can only inherit from other protocolsc��eZdZy)�CProtocolTests.test_isinstance_checks_not_at_whim_of_gc.<locals>.FooNr|rkr^r\r�r��r�r^r�)�
addCleanup�gc�enable�disabler�r�rrr�r'r�r�s r\�(test_isinstance_checks_not_at_whim_of_gcz6ProtocolTests.test_isinstance_checks_not_at_whim_of_gc�ss������ � �"�
�
�
��
�
#�
#��=�
�
�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�dt|��}|||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��yrbrkr�s r\r�zLProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.C.x�s��r^Nr{rkr^r\rBr��s��r^rBrkr�rnrc��eZdZy)�VProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.EmptyProtocolNr|rkr^r\r�r��s��'+r^r�c��eZdZdedefd�Zy)�[ProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsStartsWithr�r�c��yrbrkr�s r\�
startswithzfProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsStartsWith.startswith�s��#r^N�rhrirjr�r,r�rkr^r\�SupportsStartsWithr��s��5�C�5�D�5r^r�c��eZdZd�Zy)�RProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsXc��yrbrkr�s r\r�zTProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself.<locals>.SupportsX.x�rzr^Nr{rkr^r\� SupportsXr��r|r^r�rp)r`r�r'r�r�r�r�rTrr*rurhr]r�)rWrBr�rr�r�r�rqs r\�1test_issubclass_and_isinstance_on_Protocol_itselfz?ProtocolTests.test_issubclass_and_isinstance_on_Protocol_itself�s`�� � �
� � ���2�� � ���8�4�� � ��h�/�� � ���1�� � ��H�-�� � ���h�/�F��
�
#�
#�I�/C�
D��q�(�#�E�
�
#�
#�I�/C�
D��u�h�'�E�
�
#�
#�I�/C�
D��q�s�H�%�E�
�C�L�� �+�H�+�
�+� � 6�� 6�
� 6�
� ���� �
� �#�$6� �A�E����E�N�N��3��%�%�e�X�6�4�3�B�
���f�m�4����f�h�
�6�� � ���2�� � ���8�4����c�#5�6����e�%7�8�� � ��h�/�� � ���1����a��+����a�c�9�-�� � ��H�-�� � ���h�/�UE�
D��
D�
D��
D�
D��"4�3�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>.CrnNr{rkr^r\rBr������Ar^rBc��eZdZdZy)�FProtocolTests.test_protocols_issubclass_non_callable.<locals>.PNonCallrnNr{rkr^r\�PNonCallr������Ar^r��<Protocols with non-method members don't support issubclass()c��eZdZy)�?ProtocolTests.test_protocols_issubclass_non_callable.<locals>.DNr|rkr^r\rEr��r�r^rE)
r*r'r�r�rTr��registerr`r�r])rWrBr��non_callable_members_illegalrEs r\�&test_protocols_issubclass_non_callablez4ProtocolTests.test_protocols_issubclass_non_callable�sG�� � �
� �x� �
� �
K� %��
#�
#�I�/K�
L��q�(�#�M�
���a�c�8�,����!��
�
#�
#�I�/K�
L��q�(�#�M�
���a�c�8�,� ���� � ��A�&�� � ���a�(� �
�
�1�
����a��#����a�c�1�%�
�
#�
#�I�/K�
L��q�(�#�M�
L�)M�
L��M�
L��M�
L�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>.Spamr�Nr�rkr^r\�Spamr��r�r^r�c��eZdZdd�Zy)�RProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.EggsNc��d|_yr�r�r�s r\r�z[ProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance.<locals>.Eggs.__init__s ����r^�r�Nr�rkr^r\�Eggsr��s��
r^rr�)r*r'r�r�r�rT�rWr�rs r\�6test_no_weird_caching_with_issubclass_after_isinstancezDProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance�sk�� � �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>.Spamr�Nr�rkr^r\r�rr�r^r�c��eZdZy)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2.<locals>.EggsNr|rkr^r\rr r�r^rr��r*r'r�r�r�rTrs r\�8test_no_weird_caching_with_issubclass_after_isinstance_2zFProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_2sf�� � �8� �
� � ��� � ����.��
#�
#��J�
�
�t�T�"�
�
�
�rc���tGd�dt��}Gd�d�}|j|�|�|jtd�5t||�ddd�y#1swYyxYw)Nc��eZdZUeed<y)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Spamr�Nr�rkr^r\r�r%r�r^r�c��eZdZd�Zy)�TProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Eggsc�$�|dk(ryt|��)Nr�r���AttributeError�rWr�s r\�__getattr__z`ProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3.<locals>.Eggs.__getattr__*s���3�;��$�T�*�*r^N�rhrirjrrkr^r\rr)s��
+r^rr�r
rs r\�8test_no_weird_caching_with_issubclass_after_isinstance_3zFProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_3$sk�� � �8� �
� � +� +�
� � ����.��
#�
#��J�
�
�t�T�"�
�
�
�rc���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>.Spamr�N�rhrirjrvr�r�s��r\r�r=s
�����Dr^r�r�r�s @@r\z<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>.Eggsr�r�Nc��||_yrbr�r�s r\r�zbProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.Eggs.__init__Br�r^)rhrirjrvr�r�s��r\rrAs���
�!�
��
r^rrkr�s @@r\z<generic parameters of Eggs>zqProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695.<locals>.<generic parameters of Eggs>As���1� � � r^r�r�)r*r�r�r�rTrs r\�=test_no_weird_caching_with_issubclass_after_isinstance_pep695zKProtocolTests.test_no_weird_caching_with_issubclass_after_isinstance_pep695<sa�� � �
� � �
���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��yrbrkr�s r\r�z7ProtocolTests.test_protocols_isinstance.<locals>.P.methWrzr^Nr�rkr^r\r�r$Ur|r^r�c��eZdZd�Zy)�3ProtocolTests.test_protocols_isinstance.<locals>.PGc��yrbrkr�s r\r�z8ProtocolTests.test_protocols_isinstance.<locals>.PG.meth[rzr^Nr�rkr^r\r#r'Yr|r^r#c�$�eZdZejZy)�;ProtocolTests.test_protocols_isinstance.<locals>.WeirdProtoN)rhrirjr�� maketransr�rkr^r\�
WeirdProtor*]s���=�=�Dr^r,c��eZdZd�Zy)�<ProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2c��yrbrk�r�r�s r\�<lambda>zEProtocolTests.test_protocols_isinstance.<locals>.WeirdProto2.<lambda>cs��4r^Nr�rkr^r\�WeirdProto2r.as��/�Dr^r2c��eZdZd�Zy)�?ProtocolTests.test_protocols_isinstance.<locals>.CustomCallablec��yrbrkr�s r\r2zHProtocolTests.test_protocols_isinstance.<locals>.CustomCallable.__call__fr�r^Nr4rkr^r\�CustomCallabler4er�r^r6c���eZdZW��Zy)�=ProtocolTests.test_protocols_isinstance.<locals>.WeirderProtoNr�)r6s�r\�WeirderProtor8is���!�#�Dr^r9c��eZdZd�Zy)�5ProtocolTests.test_protocols_isinstance.<locals>.BadPc��yrbrkr�s r\r�z:ProtocolTests.test_protocols_isinstance.<locals>.BadP.methnrzr^Nr�rkr^r\r�r;mr�r^r�c��eZdZd�Zy)�6ProtocolTests.test_protocols_isinstance.<locals>.BadPGc��yrbrkr�s r\r�z;ProtocolTests.test_protocols_isinstance.<locals>.BadPG.methqrzr^Nr�rkr^r\r�r>pr�r^r�c��eZdZd�Zy)�2ProtocolTests.test_protocols_isinstance.<locals>.Cc��yrbrkr�s r\r�z7ProtocolTests.test_protocols_isinstance.<locals>.C.methtrzr^Nr�rkr^r\rBrAsr�r^rBc��eZdZd�Zy)�3ProtocolTests.test_protocols_isinstance.<locals>.C2c��d�|_y)Nc��yrbrkrkr^r\r1zNProtocolTests.test_protocols_isinstance.<locals>.C2.__init__.<locals>.<lambda>xs��Dr^)r�r�s r\r�z<ProtocolTests.test_protocols_isinstance.<locals>.C2.__init__ws ��(�� r^Nr�rkr^r\r'rDv���
)r^r')�klassrqr�r�) rr*r'rurhr�r�r�r�)rWrr�r#r,r2r9r�r�rBr'rHrqr��only_runtime_checkable_msgr6s @r\�test_protocols_isinstancez'ProtocolTests.test_protocols_isinstanceRs����C�L�� � �� �
� �
� ��!�� �
� �
� !�� !�
� !�
� 0�(� 0�
� 0� � �
� $�8� $�
� $� �8� � �H�Q�K� � � � )� )���U�E��B�
�K��E���\�\����e�n�n�\�M��)�)�%�'�5�9�N�M�F��
#g��
�
#�
#�I�/F�
G��q�s�B�q�E�"�H�
�
#�
#�I�/F�
G��q�s�B�q�E�"�H�
0� #�
�
#�
#�I�/I�
J��q�s�D�!�K�
�
#�
#�I�/I�
J��q�s�E�"�K�
J�#N�M��
H�
G��
G�
G��K�
J��
J�
J�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�rkr�s r\r�zRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.C.attr����r^N�rhrirj�propertyr�rkr^r\rBrM�s��
�
��
r^rBc��eZdZdd�Zy)�\ProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptorNc��yr�rk�rW�obj�objtypes r\�__get__zdProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.CustomDescriptor.__get__�rFr^rb�rhrirjrXrkr^r\�CustomDescriptorrS�s��
r^rZc���eZdZW��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.DN�rhrirjr��rZs�r\rEr\�����#�%�Dr^rEc��eZdZy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.ENr|rkr^r\r�ra�r�r^r�c��eZdZy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.FNr|rkr^r\r�rc�r�r^r�c��eZdZy)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.EmptyNr|rkr^r\r�re�r�r^r�rc��eZdZed��Zy)�MProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.Pc��yrbrkr�s r\r�zRProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P.attr����r^NrPrkr^r\r�rg����
���r^r�c��eZdZUeed<y)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.P1r�Nr�rkr^r\rNrl�����Ir^rNc��eZdZed��Zy)�NProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PGc��yrbrkr�s r\r�zSProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG.attr�rir^NrPrkr^r\r#ro�rjr^r#c���eZdZUW�ed<y)�OProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.PG1r�N�rhrirjr��rs�r\�PG1rr������Gr^ruc��eZdZd�Zy)�SProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPc��yrbrkr�s r\r�zXProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodP.attr�r�r^Nr]rkr^r\�MethodPrx�r�r^rzc���eZdZdW�fd�Zy)�TProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPGr�c��yrbrkr�s r\r�zYProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.MethodPG.attr�r�r^Nr]rts�r\�MethodPGr|�����$�a�$r^r~�rH�protocol_classc��eZdZed��Zy)�PProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPc��yrbrkr�s r\r�zUProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP.attr�rir^NrPrkr^r\r�r�����
���r^r�c��eZdZUeed<y)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadP1r�Nr�rkr^r\�BadP1r������Ir^r�c��eZdZed��Zy)�QProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPGc��yrbrkr�s r\r�zVProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG.attr�rir^NrPrkr^r\r�r��r�r^r�c���eZdZUW�ed<y)�RProtocolTests.test_protocols_isinstance_properties_and_descriptors.<locals>.BadPG1r�Nrsrts�r\�BadPG1r��s����Gr^r�)rHrV)
rr*r'rurhr�r�r�r�r�)rWrBrEr�r�r�r�rNr#rurzr~r�rHr�r�r�r��casesrVrZrs @@r\�4test_protocols_isinstance_properties_and_descriptorszBProtocolTests.test_protocols_isinstance_properties_and_descriptors�s~��� � �
� � &� &�
���������C�L�� � �� �
� �
� �� �
� �
� ��!�� �
� �
� �(�1�+� �
� �
� �h� �
� �
� %�x��{� %�
� %� ��R��g�x�?�N��A�q�!����\�\��.�.�#1�#:�#:�"���)�)�%�'�>�B� ��$����G�N�<S�<S��T��(�(���.�A�U�T�@� �8� � �H� � �H�Q�K� � �X�a�[� �
�q�E�2�a�5�#�a�&�#�a�&�(�1�+��Q�K��u�e�V�
��
�C��A�q�!�U�*���\�\����C�\�@��*�*�9�5�"�5�7�C�0�6�A�@�+��9���U�T��26�5��A�@�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>.HasXr�Nr�rkr^r\r�r��r�r^r�c��eZdZdZd�Zy)�XProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithXr�c��gSrbrkr�s r\�__dir__z`ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithX.__dir__����� r^N)rhrirjr�r�rkr^r\�CustomDirWithXr��s���A�
r^r�c��eZdZd�Zy)�[ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutXc��dgS�Nr�rkr�s r\r�zcProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir.<locals>.CustomDirWithoutX.__dir__�s ���u�r^N)rhrirjr�rkr^r\�CustomDirWithoutXr�����
r^r�r�)rWr�r�r�s r\�2test_protocols_isinstance_not_fooled_by_custom_dirz@ProtocolTests.test_protocols_isinstance_not_fooled_by_custom_dir�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�norr�s r\r�zZProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.C.attr�s
��$�T�*�*r^NrPrkr^r\rBr��s��
�
+��
+r^rBc��eZdZdd�Zy)�dProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.CustomDescriptorNc��td���N�NO��RuntimeErrorrUs r\rXzlProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.CustomDescriptor.__get__��
��"�4�(�(r^rbrYrkr^r\rZr��s��
)r^rZc���eZdZW��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.DNr]r^s�r\rEr��r_r^rEc��eZdZy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.ENr|rkr^r\r�r�
r�r^r�c��eZdZy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.FNr|rkr^r\r�r�
r�r^r�c��eZdZd�Zy)�eProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.WhyWouldYouDoThisc��td��)Nr�r�)rWr�s r\rzqProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.WhyWouldYouDoThis.__getattr__
s
��"�5�)�)r^Nrrkr^r\�WhyWouldYouDoThisr�
s��
*r^r�rc��eZdZed��Zy)�UProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.Pc��yrbrkr�s r\r�zZProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.P.attr
rir^NrPrkr^r\r�r�
rjr^r�c��eZdZUeed<y)�VProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.P1r�Nr�rkr^r\rNr�
rmr^rNc��eZdZed��Zy)�VProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PGc��yrbrkr�s r\r�z[ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PG.attr
rir^NrPrkr^r\r#r�
rjr^r#c���eZdZUW�ed<y)�WProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.PG1r�Nrsrts�r\rur�
rvr^ruc��eZdZd�Zy)�[ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPc��yrbrkr�s r\r�z`ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodP.attr!
r�r^Nr]rkr^r\rzr�
r�r^rzc���eZdZdW�fd�Zy)�\ProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPGr�c��yrbrkr�s r\r�zaProtocolTests.test_protocols_isinstance_attribute_access_with_side_effects.<locals>.MethodPG.attr%
r�r^Nr]rts�r\r~r�#
rr^r~r�)rr*r'rurhr�r�)rWrBrEr�r�r�r�rNr#rurzr~r�rHrZrs @@r\�<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��A�q�!����\�\��.�.�#1�#:�#:�"���)�)�%�'�>�B� ��$����)�-�6�6����(�(�):�)<�n�M� ��@������s�&F�%F�F�F c�v�tGd�dt��}Gd�d�}|j|�|�y)Nc��eZdZUeed<y)�?ProtocolTests.test_protocols_isinstance___slots__.<locals>.HasXr�Nr�rkr^r\r�r�8
r�r^r�c��eZdZdZy)�MProtocolTests.test_protocols_isinstance___slots__.<locals>.HasNothingButSlotsr�N�rhrirj� __slots__rkr^r\�HasNothingButSlotsr�<
s���Ir^r��r*r'r�)rWr�r�s r\�#test_protocols_isinstance___slots__z1ProtocolTests.test_protocols_isinstance___slots__5
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�.�||_||_||_yrb�r�r�r�)rWr�r�r�s r\r�zEProtocolTests.test_protocols_isinstance_py36.<locals>.APoint.__init__C
s��������"��
r^Nr�rkr^r\�APointr�B
s��
#r^r�c��eZdZdZd�Zy)�<ProtocolTests.test_protocols_isinstance_py36.<locals>.BPointr�c� �||_||_yrb�r�r�r�s r\r�zEProtocolTests.test_protocols_isinstance_py36.<locals>.BPoint.__init__K
s�������r^N)rhrirjr�r�rkr^r\�BPointr�H
s���E�
r^r�c��eZdZd�Zd�Zy)�7ProtocolTests.test_protocols_isinstance_py36.<locals>.Cc��||_yrb�r�rs r\r�z@ProtocolTests.test_protocols_isinstance_py36.<locals>.C.__init__P
� �� �� r^c��yrbrkr�s r\r�z<ProtocolTests.test_protocols_isinstance_py36.<locals>.C.methS
���r^N)rhrirjr�r�rkr^r\rBr�O
s��
!�
r^rBc��eZdZy)�9ProtocolTests.test_protocols_isinstance_py36.<locals>.BadNr|rkr^r\�Badr�V
r�r^r�rnr�r�r�) r�r�r�r�r�r�r�r�r�)rWr�r�rBr�s r\�test_protocols_isinstance_py36z,ProtocolTests.test_protocols_isinstance_py36A
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>.PrnNr{rkr^r\r�r�i
r�r^r�c��eZdZdZy)�8ProtocolTests.test_protocols_isinstance_init.<locals>.PGrnNr{rkr^r\r#r�m
r�r^r#c��eZdZd�Zy)�7ProtocolTests.test_protocols_isinstance_init.<locals>.Cc��||_yrbr�r�s r\r�z@ProtocolTests.test_protocols_isinstance_init.<locals>.C.__init__r
r�r^Nr�rkr^r\rBr�q
r�r^rBrn)rr*r'r�)rWrr�r#rBs r\�test_protocols_isinstance_initz,ProtocolTests.test_protocols_isinstance_initf
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>.HasXr�Nr�rkr^r\r�r�y
r�r^r�c��eZdZy)�CProtocolTests.test_protocols_isinstance_monkeypatching.<locals>.FooNr|rkr^r\r�r�}
r�r^r�r�)r*r'r�r�r�)rWr�r�rfs r\�(test_protocols_isinstance_monkeypatchingz6ProtocolTests.test_protocols_isinstance_monkeypatchingx
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>.PNr|rkr^r\r�r��
r�r^r�c��eZdZy)�=ProtocolTests.test_protocol_checks_after_subscript.<locals>.CNr|rkr^r\rBr��
r�r^rBc��eZdZy)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other1Nr|rkr^r\�Other1r��
r�r^rc��eZdZy)�BProtocolTests.test_protocol_checks_after_subscript.<locals>.Other2Nr|rkr^r\�Other2r�
r�r^rc��eZdZy)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D1Nr|rkr^r\�D1r�
r�r^rc��eZdZy)�>ProtocolTests.test_protocol_checks_after_subscript.<locals>.D2Nr|rkr^r\�D2r�
r�r^r )r'rr
r�r`r�r�r]) rWr�rBrr�CArr �CIs r\�$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>.PrnNr{rkr^r\r�r�
r�r^r�c��eZdZd�Zy)�9ProtocolTests.test_protocols_support_register.<locals>.PMc��yrbrkr�s r\r�z>ProtocolTests.test_protocols_support_register.<locals>.PM.meth�
r�r^Nr�rkr^r\�PMr�
r�r^rc��eZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.DNr|rkr^r\rEr�
r�r^rEc��eZdZy)�8ProtocolTests.test_protocols_support_register.<locals>.CNr|rkr^r\rBr�
r�r^rB)r*r'r�r�)rWr�rrErBs r\�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>.PrnNr{rkr^r\r�r�
r�r^r�c��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.ArnNr{rkr^r\r�r�
r�r^r�c��eZdZdZy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.BNr{rkr^r\r�r�
����Ar^r�c��eZdZd�Zy)�NProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.Cc��d|_yrbr�r�s r\r�zWProtocolTests.test_none_on_non_callable_doesnt_block_implementation.<locals>.C.__init__�
� ����r^Nr�rkr^r\rBr"�
���
r^rBr��rWr�r�r�rBs r\�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��yrbrkr�s r\r�zFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.P.x�
rzr^Nr{rkr^r\r�r*�
r|r^r�c��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Ac��yrbrkr�s r\r�zFProtocolTests.test_none_on_callable_blocks_implementation.<locals>.A.x�
rzr^Nr{rkr^r\r�r-�
r�r^r�c��eZdZdZy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.BNr{rkr^r\r�r0�
r r^r�c��eZdZd�Zy)�DProtocolTests.test_none_on_callable_blocks_implementation.<locals>.Cc��d|_yrbr�r�s r\r�zMProtocolTests.test_none_on_callable_blocks_implementation.<locals>.C.__init__�
r$r^Nr�rkr^r\rBr2�
r%r^rB)r*r'r�r&s r\�+test_none_on_callable_blocks_implementationz9ProtocolTests.test_none_on_callable_blocks_implementation�
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>.PrnNr{rkr^r\r�r7�
r�r^r�c��eZdZd�Zy)�6ProtocolTests.test_non_protocol_subclasses.<locals>.PRc��yrbrkr�s r\r�z;ProtocolTests.test_non_protocol_subclasses.<locals>.PR.meth�
r�r^Nr�rkr^r\�PRr9�
��� r^r;c��eZdZdZy)�8ProtocolTests.test_non_protocol_subclasses.<locals>.NonPrnNr{rkr^r\�NonPr>�
r�r^r?c��eZdZy)�9ProtocolTests.test_non_protocol_subclasses.<locals>.NonPRNr|rkr^r\�NonPRrA�
r�r^rBc��eZdZdZy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.CrnNr{rkr^r\rBrD�
r�r^rBr�c��eZdZd�Zy)�5ProtocolTests.test_non_protocol_subclasses.<locals>.Dc��yrbrkr�s r\r�z:ProtocolTests.test_non_protocol_subclasses.<locals>.D.meth�
r�r^Nr�rkr^r\rErF�
r�r^rE�__protocol_attrs__�__non_callable_proto_members__>r��_is_protocolr�r��__subclasshook__�_is_runtime_protocol)r'r*r�ABCMetar�r`r�r]�assertNotIn�vars�assertLessEqual�keys)rWr�r;r?rBrBrE�acceptable_extra_attrss r\�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>.PrnNr{rkr^r\r�rV�
r�r^r�c��eZdZy)�7ProtocolTests.test_custom_subclasshook.<locals>.OKClassNr|rkr^r\�OKClassrX�
r�r^rYc��eZdZdZy)�8ProtocolTests.test_custom_subclasshook.<locals>.BadClassrnNr{rkr^r\�BadClassr[�
r�r^r\c��eZdZed��Zy)�1ProtocolTests.test_custom_subclasshook.<locals>.Cc�8�|jjd�S�N�OK)rhr��rX�others r\rKzBProtocolTests.test_custom_subclasshook.<locals>.C.__subclasshook__�
s���~�~�0�0��6�6r^N�rhrirj�classmethodrKrkr^r\rBr^�
s��
�
7��
7r^rB)r'r�r�r]r`)rWr�rYr\rBs r\�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>.HasXrnc��t|d�Sr���hasattrrbs r\rKzGProtocolTests.test_custom_subclasshook_2.<locals>.HasX.__subclasshook__����u�c�*�*r^N)rhrirjr�rerKrkr^r\r�ris��
�A�
�
+��
+r^r�c��eZdZy)�7ProtocolTests.test_custom_subclasshook_2.<locals>.EmptyNr|rkr^r\r�ror�r^r�c��eZdZdZy)�@ProtocolTests.test_custom_subclasshook_2.<locals>.ImplementsHasXrnNr{rkr^r\�ImplementsHasXrqr�r^rrc��eZdZed��Zy)�EProtocolTests.test_custom_subclasshook_2.<locals>.NotRuntimeCheckablec��t|d�Sr�rkrbs r\rKzVProtocolTests.test_custom_subclasshook_2.<locals>.NotRuntimeCheckable.__subclasshook__!rmr^Nrdrkr^r\�NotRuntimeCheckablert s��
�
+��
+r^rvr�)r*r'r�r�r]r`r�r�rTr�r�)rWr�r�rrrv�must_be_runtime_checkables r\�test_custom_subclasshook_2z(ProtocolTests.test_custom_subclasshook_2s��� � +�8� +�
� +� �� � �
���n�.��5�� � ���$�/����n�d�3�� � ���-�
+�(� +�
0� "�
�
#�
#�I�/H�
I��v�2�3�J�
�
#�
#�I�/H�
I��v�x�!4�5�J�
I�J�
I��
I�
I�s�&C3�C?�3C<�?Dc��tGd�dt��}Gd�d�}|jtd�5t |�|�ddd�y#1swYyxYw)Nc��eZdZdZy)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.PrnNr{rkr^r\r�r{0r�r^r�c��eZdZy)�8ProtocolTests.test_issubclass_fails_correctly.<locals>.CNr|rkr^r\rBr}4r�r^rBr�)r*r'r�r�rT�rWr�rBs r\�test_issubclass_fails_correctlyz-ProtocolTests.test_issubclass_fails_correctly/sL�� � �� �
� � �
�
�
#�
#�I�/V�
W��q�s�A��X�
W�
W�s�A�Ac���td�}td�}tGd�dt||f��}Gd�d|t|ft|�}|j t
�5|tddd�|j t
�5|ttfddd�Gd�d|t|f�}|j|t�|�y#1swY�ixYw#1swY�HxYw) Nr�Sc��eZdZd�Zy)�9ProtocolTests.test_defining_generic_protocols.<locals>.PRc��yrbrkr�s r\r�z>ProtocolTests.test_defining_generic_protocols.<locals>.PR.meth?r�r^Nr�rkr^r\r;r�=r<r^r;c��eZdZdZy)�8ProtocolTests.test_defining_generic_protocols.<locals>.PrnN�rhrirjr�rkr^r\r�r�Ar�r^r�c��eZdZy)�8ProtocolTests.test_defining_generic_protocols.<locals>.CNr|rkr^r\rBr�Ir�r^rB)rr*r'r�r�r�r�r�)rWrr�r;r�rBs r\�test_defining_generic_protocolsz-ProtocolTests.test_defining_generic_protocols9s����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)Nrr�c��eZdZd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.PRc��yrbrkr�s r\r�zHProtocolTests.test_defining_generic_protocols_old_style.<locals>.PR.methSr�r^Nr�rkr^r\r;r�Qr<r^r;c��eZdZdZy)�BProtocolTests.test_defining_generic_protocols_old_style.<locals>.PrnNr�rkr^r\r�r�Ur�r^r�c� ��eZdZdW�defd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1r�r�c��yrbrkr�s r\r*zGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P1.bar_���r^N�rhrirjr�r*rts�r\rNr�^����+�Q�+�3�+r^rNc� ��eZdZdW�defd�Zy)�CProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2r�r�c��yrbrkr�s r\r*zGProtocolTests.test_defining_generic_protocols_old_style.<locals>.P2.barbr�r^Nr�rts�r\r8r�ar�r^r8c��eZdZdZy)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.PSubrnNr{rkr^r\�PSubr�dr�r^r�c� �eZdZdZdedefd�Zy)�EProtocolTests.test_defining_generic_protocols_old_style.<locals>.Testrnr�r�c��|Srbrkr�s r\r*zIProtocolTests.test_defining_generic_protocols_old_style.<locals>.Test.barks���r^N)rhrirjr�r�r*rkr^r\�Testr�hs���A�
�S�
�S�
r^r�)rr*r'r#r�r�r�r�rTr]r�) rWr�r;r�rNr8r�r�rs @r\�)test_defining_generic_protocols_old_stylez7ProtocolTests.test_defining_generic_protocols_old_styleMs����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>.Foor�r�Nc��yrbrkr�s r\r�zMProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Foo.methsrlr^r�r�s��r\r�r�qs���-�a�-�D�-r^r�r�r�s @@r\z<generic parameters of Foo>z`ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of Foo>qs���� .� .�X� .r^c�4���d�x�f�G��fd�d��
}|�S)rc�&��eZdZW�ZdW�ddfd�Zy)�HProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Barr�r�Nc��yrbrkr�s r\r�zMProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.Bar.methvrlr^r�r�s��r\r�r�us���-�a�-�D�-r^r�rkr�s @@r\z<generic parameters of Bar>z`ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of Bar>us���!� .� .� .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��yrbrkr�s r\� __trunc__z\ProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.SupportsTrunc.__trunc__}���cr^N)rhrirjrvr�r�s��r\�
SupportsTruncr�{s���)�1�)r^r�r�r�s @@r\z%<generic parameters of SupportsTrunc>zjProtocolTests.test_pep695_generic_protocol_callable_members.<locals>.<generic parameters of SupportsTrunc>{s���� *� *�x� *r^g)r*r�r]r{)rWr�r�r�s r\�-test_pep695_generic_protocol_callable_membersz;ProtocolTests.test_pep695_generic_protocol_callable_memberspsq�� � .�
� .� .�
���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>.PNr|rkr^r\r�r��r�r^r�c��eZdZd�Zy)�)ProtocolTests.test_init_called.<locals>.Cc��d|_yr`��testr�s r\r�z2ProtocolTests.test_init_called.<locals>.C.__init__�r�r^Nr�rkr^r\rBr�����
!r^rBrac��eZdZd�Zy)�)ProtocolTests.test_init_called.<locals>.Bc��d|_yr`r�r�s r\r�z2ProtocolTests.test_init_called.<locals>.B.__init__�r�r^Nr�rkr^r\r�r��r�r^r�c��eZdZy)�*ProtocolTests.test_init_called.<locals>.D1Nr|rkr^r\rr��r�r^rc��eZdZy)�*ProtocolTests.test_init_called.<locals>.D2Nr|rkr^r\r r��r�r^r )rr'r�r�r�)rWrr�rBr�rr s r\�test_init_calledzProtocolTests.test_init_called�s����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>.PNr|rkr^r\r�r��r�r^r�c���eZdZ�fd�Z�xZS)�(ProtocolTests.test_new_called.<locals>.Cc�6��t�|�|g|���}d|_|Sr`)r��__new__r�)rXr�rWr�s �r\r�z0ProtocolTests.test_new_called.<locals>.C.__new__�s"����w��s�2�T�2�� �� ��r^�rhrirjr�r�r�s@r\rBr��s
���
�
r^rBrar�r
)rr'r�r�r�r�r�)rWrr�rBs r\�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)
Nrr�c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.PNr|rkr^r\r�r��r�r^r�c��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.QNr|rkr^r\rr��r�r^rc��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.RNr|rkr^r\rr��r�r^rc��eZdZy)�6ProtocolTests.test_protocols_bad_subscripts.<locals>.SNr|rkr^r\r�r��r�r^)rr�r�r'r�rcr�)rWrr�r�rrs r\�test_protocols_bad_subscriptsz+ProtocolTests.test_protocols_bad_subscripts�s����C�L���C�L��
�
�
�y�
)�)�H�Q��T�N�)�*�
�
�
�y�
)�(�H�S�M�(�*�
�
�
�y�
)�3�H�Q�K��!��3�*�
�
�
�y�
)�<�F�N�N�1�a�4�(�(�1�+�<�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s/�C:�D�D�
'D�:D�D�D�D'c� �td�}td�}Gd�dt||f�}|jt|||f�j d��|jt|t
tf�j d��y)Nrr�c��eZdZy)�4ProtocolTests.test_generic_protocols_repr.<locals>.PNr|rkr^r\r�r��r�r^r�z P[~T, ~S]zP[int, str])rr'r�r�r�r�r��rWrr�r�s r\�test_generic_protocols_reprz)ProtocolTests.test_generic_protocols_repr�sk���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)Nrr�c��eZdZy)�2ProtocolTests.test_generic_protocols_eq.<locals>.PNr|rkr^r\r�r��r�r^r�)rr'r�r�rr�r�s r\�test_generic_protocols_eqz'ProtocolTests.test_generic_protocols_eq�s����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>.PNr|rkr^r\r�r��r�r^r�rk)rr'r�r�r�r�r�r�)rWrr�s r\�+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>.PRrnNr{rkr^r\r;r��r�r^r;c��eZdZd�Zy)�EProtocolTests.test_generic_protocols_special_from_protocol.<locals>.Pc��yrbrkr�s r\r�zJProtocolTests.test_generic_protocols_special_from_protocol.<locals>.P.meth�r�r^Nr�rkr^r\r�r��r�r^r�rc��eZdZdZd�Zy)�FProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PGrnc��yrbrkr�s r\r�zKProtocolTests.test_generic_protocols_special_from_protocol.<locals>.PG.meth�r�r^N)rhrirjr�r�rkr^r\r#r��s���A�
r^r#r�r�)r*r'rr�rJr�rLr�r�rc�_get_protocol_attrs� frozenset)rWr;r�rr#s r\�,test_generic_protocols_special_from_protocolz:ProtocolTests.test_generic_protocols_special_from_protocol�s�� � �� �
� � �� �
�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>.CNr|rkr^r\rBr��s��r^rBc��eZdZdZy)�<ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ProtornNr{rkr^r\r�r��r�r^r�c��eZdZy)�?ProtocolTests.test_no_runtime_deco_on_nominal.<locals>.ConcreteNr|rkr^r\r�r��s��r^r�)r�r�r*r')rWrBr�r�s r\�test_no_runtime_deco_on_nominalz-ProtocolTests.test_no_runtime_deco_on_nominal�st��
�
�
�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{rkr^r\r�r�s���Ar^r�c��eZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.BNr|rkr^r\r�r�r�r^r�c��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.CrnNr{rkr^r\rBr�r�r^rBc��eZdZdZy)�4ProtocolTests.test_none_treated_correctly.<locals>.DNr{rkr^r\rErr r^rEc��eZdZd�Zy)�5ProtocolTests.test_none_treated_correctly.<locals>.CIc��d|_yrKr�r�s r\r�z>ProtocolTests.test_none_treated_correctly.<locals>.CI.__init__r�r^Nr�rkr^r\rrr�r^rc��eZdZd�Zy)�5ProtocolTests.test_none_treated_correctly.<locals>.DIc��d|_yrbr�r�s r\r�z>ProtocolTests.test_none_treated_correctly.<locals>.DI.__init__r$r^Nr�rkr^r\�DIrr%r^r)r*r'r�r�r�)rWr�r�rBrErrs r\�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{rkr^r\r�rr r^r�)r'rcrr�r�)rWr��Alias�Alias2s r\�test_protocols_in_unionsz&ProtocolTests.test_protocols_in_unionssN�� �� ����V�_�_�a�/�0�����a����0�1�������'r^c���td�}tGd�dt|��aGd�dtt�at�}d|_d|_ttjdz�D]�}tj||�}tj|�}|j|jd�|j|jd�|j|jd�|j|jddd ��tjt|�}tj|�}Gd
�d�}|j!|�|���y)Nrc��eZdZdZy)r�rnNr{rkr^r\r�r�(r�r^r�c��eZdZy)�CPNr|rkr^r\rr,r�r^rr�rrnr]c��eZdZdZy)�2ProtocolTests.test_protocols_pickleable.<locals>.ErnNr{rkr^r\r�r<s���r^r�)rr*r'r�r�rrkr*rrrsrtrvrur�r��__dict__r�) rWrrrqrRr�r�rEr�s r\�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�)�8r^c��|jttj�|j t
tj�yrb)r]r�rc�SupportsIntr`r�r�s r\�test_supports_intzProtocolTests.test_supports_intAs.�����c�6�#5�#5�6�� � ��f�&8�&8�9r^c��|jttj�|j t
tj�yrb)r]r{rc�
SupportsFloatr`r�r�s r\�test_supports_floatz!ProtocolTests.test_supports_floatEs.�����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)Nyrkr�s r\�__complex__z:ProtocolTests.test_supports_complex.<locals>.C.__complex__LrFr^N)rhrirjr!rkr^r\rBrKs��
r^rB)r]�complexrc�SupportsComplexr`r��rWrBs r\�test_supports_complexz#ProtocolTests.test_supports_complexIsP�� � �
���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^rkr�s r\� __bytes__z6ProtocolTests.test_supports_bytes.<locals>.B.__bytes__Vs��r^N)rhrirjr+rkr^r\r�r(Ur�r^r�)r]r�rc�
SupportsBytesr`r�)rWr�s r\�test_supports_bytesz!ProtocolTests.test_supports_bytesSsP�� � �
���e�V�%9�%9�:����a��!5�!5�6�� � ��f�&:�&:�;r^c���|jttj�|jttj�|jttj�yrb)r]r{rc�SupportsAbsr�r`r�r�s r\�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�yrb)rTr{rc�
SupportsRoundr]r�r`r�r�s r\�test_supports_roundz!ProtocolTests.test_supports_roundbsT���5�&�.�.�/����e�V�%9�%9�:����c�6�#7�#7�8�� � ��f�&:�&:�;r^c��|jttj�|j t
tj�yrb)r]r�rc�
Reversibler`r�r�s r\�test_reversiblezProtocolTests.test_reversiblehs.�����d�F�$5�$5�6�� � ��f�&7�&7�8r^c��|jttj�|j t
tj�yrb)r]r�rc�
SupportsIndexr`r�r�s r\�test_supports_indexz!ProtocolTests.test_supports_indexls.�����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�rkr�s r\�__int__zFProtocolTests.test_bundled_protocol_instance_works.<locals>.C1.__int__srFr^N)rhrirjr�r>rkr^r\r&r<rs��
��
r^r&c��eZdZy)�>ProtocolTests.test_bundled_protocol_instance_works.<locals>.C2Nr|rkr^r\r'r@ur�r^r')r�rcr/r)rWr&r'rs r\�$test_bundled_protocol_instance_worksz2ProtocolTests.test_bundled_protocol_instance_workspsM�����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��yrbrkr�s r\�closezFProtocolTests.test_collections_protocols_allowed.<locals>.Custom.close}r�r^N)rhrirjrFrkr^r\�CustomrD{r<r^rGc��eZdZy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.ANr|rkr^r\r�rIr�r^r�c��eZdZd�Zd�Zy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.Bc��gSrbrkr�s r\�__iter__zDProtocolTests.test_collections_protocols_allowed.<locals>.B.__iter__�r�r^c��yrbrkr�s r\rFzAProtocolTests.test_collections_protocols_allowed.<locals>.B.close�r�r^N)rhrirjrMrFrkr^r\r�rK�s��
�
r^r�c��eZdZdeddfd�Zy)�JProtocolTests.test_collections_protocols_allowed.<locals>.ReleasableBuffer�mvr�Nc��yrbrk�rWrQs r\�__release_buffer__z]ProtocolTests.test_collections_protocols_allowed.<locals>.ReleasableBuffer.__release_buffer__�s��#r^)rhrirj�
memoryviewrTrkr^r\�ReleasableBufferrP�s��E�Z�E�D�Er^rVc��eZdZy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.CNr|rkr^r\rBrX�r�r^rBc�,�eZdZdedefd�Zdeddfd�Zy)�;ProtocolTests.test_collections_protocols_allowed.<locals>.D�flagsr�c��td�Sr*)rU)rWr[s r\�
__buffer__zFProtocolTests.test_collections_protocols_allowed.<locals>.D.__buffer__�s��!�#��&r^rQNc��yrbrkrSs r\rTzNProtocolTests.test_collections_protocols_allowed.<locals>.D.__release_buffer__�r�r^)rhrirjr�rUr]rTrkr^r\rErZ�s(��
'��
'�
�
'�
�Z�
�D�
r^rE)
r*rrr�r'r]r`�Bufferr�r�)rWrGr�r�rVrBrEs r\�"test_collections_protocols_allowedz0ProtocolTests.test_collections_protocols_allowedzs��� � !�[�_�_�-�-�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>.CustomProtocolNr|rkr^r\�CustomProtocolrc�r�r^rdc��eZdZy)�KProtocolTests.test_builtin_protocol_allowlist.<locals>.CustomContextManagerNr|rkr^r\�CustomContextManagerrf�r�r^rg)r�r�rr'rc�ContextManager)rWrdrgs r\�test_builtin_protocol_allowlistz-ProtocolTests.test_builtin_protocol_allowlist�s@��
�
�
�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>.Pr�Nr�rkr^r\r�rl�����Fr^r�z@runtime_checkablern)r'r�r�r��rWr�s r\�*test_non_runtime_protocol_isinstance_checkz8ProtocolTests.test_non_runtime_protocol_isinstance_check�s8�� �� ��
#�
#�I�/C�
D��q�!��E�
D�
D�s �
<�Ac�F�Gd�dt�}Gd�d|�}|�y)Nc��eZdZUeed<y)�-ProtocolTests.test_super_call_init.<locals>.Pr�Nr�rkr^r\r�rr�rmr^r�c���eZdZ�fd�Z�xZS)�/ProtocolTests.test_super_call_init.<locals>.Fooc�"��t�|��yrb)r�r�)rWr�s �r\r�z8ProtocolTests.test_super_call_init.<locals>.Foo.__init__�s����� �"r^r�r�s@r\r�rt�s
���
#�
#r^r�r�)rWr�r�s r\�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>.FooNr|rkr^r\r�ry�r�r^r�rn)rr�Sized�_abc_registry_clearr'r�r�s r\�Dtest_interaction_with_isinstance_checks_on_superclasses_with_ABCMetazRProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta�sH�������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>.FooNr|rkr^r\r�r�r�r^r�rn)rrrzr{rcr'r�r�s r\�Ftest_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2zTProtocolTests.test_interaction_with_isinstance_checks_on_superclasses_with_ABCMeta_2�s<�������1�1�3�/�&�,�,��/�
� � ��F�L�L�1r^c��ttGd�dt���}|jt|�|jt �|�y)Nc��eZdZy)�MProtocolTests.test_empty_protocol_decorated_with_final.<locals>.EmptyProtocolNr|rkr^r\r�r��s��'*r^r�)r&r*r'r]r�r�)rWr�s r\�(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>.ProtocolWithMethodr�r�c��yrbrk)rWr�s r\r�zhProtocolTests.test_protocol_decorated_with_final_callable_members.<locals>.ProtocolWithMethod.startswith�s��sr^Nr�rkr^r\�ProtocolWithMethodr��s��
;��:��:r^r�rkr�) r&r*r'r]r�r`r�r�r�)rWr�s r\�3test_protocol_decorated_with_final_callable_memberszAProtocolTests.test_protocol_decorated_with_final_callable_members�si�� � � ;�� ;�
�
� ;�
���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>.ProtocolWithNonCallableMemberr�Nr�rkr^r\�ProtocolWithNonCallableMemberr��s ���Fr^r�c��eZdZdZy)�QProtocolTests.test_protocol_decorated_with_final_noncallable_members.<locals>.Foor�Nr{rkr^r\r�r��s���Ar^r�r�r�� r&r*r'r�r�rTr�r�r�)rWr�r��only_callable_members_pleases r\�6test_protocol_decorated_with_final_noncallable_memberszDProtocolTests.test_protocol_decorated_with_final_noncallable_members�s��� � � �H� �
�
� � � �
L� %��
#�
#�I�/K�
L��s�9�:�M��
#�
#�I�/K�
L��s�9�:�M�
���c�e�%B�C�� � ��%B�C�M�
L��M�
L���
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>.ProtocolWithMixedMembersr�Nc��yrbrkr�s r\r�zgProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.ProtocolWithMixedMembers.method�r�r^r)rhrirjr�r�r�rkr^r\�ProtocolWithMixedMembersr��s���F�)r^r�c��eZdZdZdd�Zy)�KProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foor�Nc��yrbrkr�s r\r�zRProtocolTests.test_protocol_decorated_with_final_mixed_members.<locals>.Foo.method�r�r^r)rhrirjr�r�rkr^r\r�r��s
���A�)r^r�r�r�r�)rWr�r�r�s r\�0test_protocol_decorated_with_final_mixed_membersz>ProtocolTests.test_protocol_decorated_with_final_mixed_members�s��� � � *�x� *�
�
� *� *� *�
L� %��
#�
#�I�/K�
L��s�4�5�M��
#�
#�I�/K�
L��s�4�5�M�
���c�e�%=�>�� � ��%=�>�M�
L��M�
L�r�c�v��Gd�d��G�fd�dt�}|j|jdh�y)Nc��eZdZd�Zy)�aProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.classpropertyc��td��r�r�)rW�instancer�s r\rXziProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.classproperty.__get__r�r^NrYrkr^r\�
classpropertyr�rGr^r�c���eZdZW��Zy)�_ProtocolTests.test_nonruntime_protocol_interaction_with_evil_classproperty.<locals>.CommentableN�rhrirj�evil�r�s�r\�Commentabler�s
��� �?�Dr^r�r�)r'r�rH)rWr�r�s @r\�<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>.CustomErrorNr|rkr^r\�CustomErrorr�r�r^r�c���eZdZ�fd�Zy)�^ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.classpropertyc�����rbrk)rWr�r�r�s �r\rXzfProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.classproperty.__get__s ���!�!r^NrY)r�s�r\r�r�s���
"r^r�c���eZdZW��Zy)�\ProtocolTests.test_runtime_protocol_interaction_with_evil_classproperty.<locals>.CommentableNr�r�s�r\r�r� s
���$��r^r�rzEFailed to determine whether protocol member 'evil' is a method member)� Exceptionr�r�r*r'rr�r�r�r�� __cause__)rWr!r��excr�r�s @@r\�9test_runtime_protocol_interaction_with_evil_classpropertyzGProtocolTests.test_runtime_protocol_interaction_with_evil_classpropertys����*�)�*� "� "��
�
�y�
)�R�
�
'�h�
'��
'�*�
�l�l������H�H�Q�K�S�
�
�
�
�d�3�=�=�)�;�7�*�
)�s�B'�'B0N)Lrhrirjr�r�r�r�rrrr'r1r8rGrarur�r�r�r�r�rrrr!rJr�r�r�r�r�r�r�rrr'r4rSrfrxrr�r�r�r�r�r�r�r�r�r�r�rrrrrr%r-r0r3r6r9rAr`rirorvr|r�r�r�r�r�r�r�rkr^r\r�r�
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�,?�2C�8r^r�c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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?�ZAy@)A�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)Nrkr)r�r�r
r�r�r�r�r�r�rTr�rrr�r{)rWr�r��SM1rs r\r9zGenericTests.test_basics.s6���#�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)Nrr�c��eZdZy)�+GenericTests.test_generic_errors.<locals>.CNr|rkr^r\rBr�Ir�r^rBc��eZdZy)�4GenericTests.test_generic_errors.<locals>.NewGenericNr|rkr^r\�
NewGenericr�Or�r^r�c��eZdZy)�3GenericTests.test_generic_errors.<locals>.MyGenericNr|rkr^r\� MyGenericr�Qr�r^r�c��eZdZy)�4GenericTests.test_generic_errors.<locals>.MyGeneric2Nr|rkr^r\�
MyGeneric2r�Sr�r^r�rkc��eZdZy)�+GenericTests.test_generic_errors.<locals>.DNr|rkr^r\rEr�Vr�r^rE) rr�r�r#r�rr�rTr�)rWrr�rBr�r�r�rEs r\�test_generic_errorsz GenericTests.test_generic_errorsAs����C�L���C�L��
�
�
�y�
)��A�J�q�M�*�
�
�
�y�
)��A�J�q�M�*�
�
�
�y�
)�0�G�A�J���
�0�*�
�
�
�y�
)��r�4��9�%�*�
�
�
�y�
)��t�T�#�Y�'�*�
�
�
�y�
)�*�W�*�*�
�
�
�y�
)�8�G�A�J���
�8�*�
�
�
�y�
)�6�T�!�W�g�a�j�6�*�
�
�
�y�
)��B�K�*�!���
�!�
�
�
�y�
)�
�b�E�*�
)�'*�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��
)�
)��*�
)�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)Nrr�)rr�r�r#)rWrr�s r\� test_initzGenericTests.test_initZsf���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�rk)r��__init_subclass__r�)rXr�r�s �r\r�z<GenericTests.test_init_subclass.<locals>.X.__init_subclass__ds�����)�3�F�3���r^�rhrirjr�r�r�s@r\r�r�cs
���
�
r^r�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.YNr|rkr^r\r�r�gr�r^r�r�rnr�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.ZNr|rkr^r\�Zr�nr�r^r�c��eZdZy)�*GenericTests.test_init_subclass.<locals>.WNr|rkr^r\r�r�pr�r^r�)rcr#rr�r�r�rr�)rWr�r�r�r�s r\�test_init_subclasszGenericTests.test_init_subclassbs��� ����q�!� � �� ��������$�
�
�
�~�
.�
�F�F�/������� �� � ��#�� ��������#��������$��������$�/�
.�s�
C2�2C;c��|jtt�dt�d��|jtt�dt�d��y)Nr�z.SimpleMapping'>z.MySimpleMapping'>)r�r�r�rhr�r�s r\r�zGenericTests.test_reprvsH������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 |||tf�|t}|j||t�|j ||t
�|j |||�|jt
|�jd��y)Nrr�c��eZdZy)�'GenericTests.test_chain_repr.<locals>.CNr|rkr^r\rBr��r�r^rBz.C[typing.Tuple[str, int]]) rr#rr�r�r�r�r�r�)rWrr�rBr�r�r�s r\�test_chain_reprzGenericTests.test_chain_repr|s'���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�r�ztyping.Listztyping.List[~T]ztyping.List[+U]ztyping.List[int])rr�r�rr�)rWrr�r�s r\�
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�rcr�rrr�)rWrr�s r\�test_new_repr_complexz"GenericTests.test_new_repr_complex�s����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�dtjttf�}t|j�y)Nrztyping.Generic[~T]ztyping.Protocol[~T]c��eZdZy)�*GenericTests.test_new_repr_bare.<locals>.CNr|rkr^r\rBr��r�r^rB) rr�r�r#rcr'r r
�__mro__�rWrrBs r\�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>.BNr|rkr^r\r�r��r�r^r�r�rkc��eZdZy)�!GenericTests.test_dict.<locals>.CNr|rkr^r\rBr��r�r^rBrr*)rr#rkr�rr�r*)rWrr�r�rBrs r\� test_dictzGenericTests.test_dict�s{���C�L�� ���
� �
�C�����������e�R�[�1� ��#�� �
�C�����������e�U�^�4r^c�P�d��}|j|t�|�y)Nc�0��d�x}f�G�fd�d��
}|�S)rc���eZdZW�Zd�Zy)�7GenericTests.test_setattr_exceptions.<locals>.Immutablec��td��)N� immutabler�r�s r\�__setattr__zCGenericTests.test_setattr_exceptions.<locals>.Immutable.__setattr__�s
��"�;�/�/r^N)rhrirjrvr�rws�r\� Immutabler��s���
0r^r�rkr�s @r\z!<generic parameters of Immutable>zOGenericTests.test_setattr_exceptions.<locals>.<generic parameters of Immutable>�s���� 0� 0� 0r^)r�r�)rWr�s r\�test_setattr_exceptionsz$GenericTests.test_setattr_exceptions�s"�� 0�
���n�i��n�.� �:r^c��td�}Gd�dt|�}|j|tjd�|j||tjd�d||t_|j|jd�|j|t
jd�d|tt
_|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{rkr^r\rBr��s���Ar^rBr��changed�newc��eZdZy)�<GenericTests.test_subscripted_generics_as_proxies.<locals>.DNr|rkr^r\rEr �r�r^rEzfrom derived zzfrom derived x) rr#r�r�r�r�rrRr�rWrrBrEs r\�$test_subscripted_generics_as_proxiesz1GenericTests.test_subscripted_generics_as_proxies�s����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>.CNr|rkr^r\rBr �r�r^rBrn)
rrrr�r#r�r�r�r{�_abc_caches_clearr�s r\�test_abc_registry_keptz#GenericTests.test_abc_registry_kept�sm���C�L��9����'�'����9� �
�
�3�����a��#� �#�����a��#� ���� ���r^c��Gd�dtttf�}|ji|�|jt|�y)Nc��eZdZy)�5GenericTests.test_false_subclasses.<locals>.MyMappingNr|rkr^r\� MyMappingr �r�r^r
)r!r�r�r`r&)rWr
s r\�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��yrbrk�rWrs r\r�z3GenericTests.test_abc_bases.<locals>.MM.__getitem__�r3r^c��yrbrk�rWrr�s r\r�z3GenericTests.test_abc_bases.<locals>.MM.__setitem__�r�r^c��yrbrkr s r\�__delitem__z3GenericTests.test_abc_bases.<locals>.MM.__delitem__�r�r^c��td�Sr���iterr�s r\rMz0GenericTests.test_abc_bases.<locals>.MM.__iter__����B�x�r^c��yrbrkr�s r\�__len__z/GenericTests.test_abc_bases.<locals>.MM.__len__r�r^N�rhrirjr�r�r rMr rkr^r\�MMr ����
�
�
�
�
r^r )r!r��updater�rrr�r)rWr s r\�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
tjjtf�y)Nc��eZdZy)�-GenericTests.test_multiple_bases.<locals>.MM1Nr|rkr^r\�MM1r% r�r^r& c��eZdZy)�-GenericTests.test_multiple_bases.<locals>.MM2Nr|rkr^r\�MM2r( r�r^r) )r!r�rrr�� __bases__r#)rWr& r) s r\�test_multiple_basesz GenericTests.test_multiple_basessg�� �.��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>.CNr|rkr^r\rBr. r�r^rB)rrcr r�r��__orig_bases__r�s r\�test_orig_baseszGenericTests.test_orig_basessF���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|ddg|��y#1swY��xYw#1swY�dxYw)
Nc����t|j�dkDrt�|jr2|j\��t ��fd�|j�D��Sy)Nrc3�X�K�|]!\}}t|��xrt|�����#y�wrb)r�)�.0rr�rrs ��r\� <genexpr>zSGenericTests.test_naive_runtime_checks.<locals>.naive_dict_check.<locals>.<genexpr>s3������ +���1��q�"�%�;�*�Q��*;�;� +�s�'*)rr�r=r��allr�)rV�tprrs @@r\�naive_dict_checkz@GenericTests.test_naive_runtime_checks.<locals>.naive_dict_checksU����2�$�$�%��)�)�)��{�{������B��� #� � �����r^r�rnc�D�t|d�st�|j|k(S)Nr5)rlr=r5�rVr7 s r\�naive_generic_checkzCGenericTests.test_naive_runtime_checks.<locals>.naive_generic_check's$���3� 0�1�)�)��%�%��+�+r^c��eZdZy)�4GenericTests.test_naive_runtime_checks.<locals>.NodeNr|rkr^r\�Noder= ,r�r^r> rOc�,��t�fd�|D��S)Nc3�j�K�|]*}t|�jdjd����,y�w)rN)r�r/ r�)r4 r�r7 s �r\r5 zXGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check.<locals>.<genexpr>5s6�����%� #�1�"�!�R�%6�%6�q�%9�%B�%B�1�%E�F� #�s�03)r6 r: s `r\�naive_list_base_checkzEGenericTests.test_naive_runtime_checks.<locals>.naive_list_base_check3s����%� #�%�%�
%r^c��eZdZy)�1GenericTests.test_naive_runtime_checks.<locals>.CNr|rkr^r\rBrC 7r�r^rBrr�)r�rcr r�r�r�r�r=rr#r)rWr8 r; r> rA rBs r\�test_naive_runtime_checksz&GenericTests.test_naive_runtime_checkssl�� �
���(�#�q��6�;�;�s�C�x�3H�I�J����)�1�c�(�F�K�K��S��4I�J�K�
�
�
�2�
3��a��X�v�{�{�3��6�':�;�4� ,�
$�7�1�:�#����+�I�D��I�K��c��C�D����,�Y�T�#�Y�[�$�s�)�D�E����,�Y�T�#�Y�[�$�?�@�
�
�
�2�
3�� �4��9�5�4� %� ��S� �����-�i��;�<����.��S�z�1�=�>�+4�
3��4�
3�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|jttf�|j|j|ttf�|j|jt|||f�|j|j|t|||f�y) Nrr�r�c��eZdZy)�.GenericTests.test_multi_subscr_base.<locals>.CNr|rkr^r\rBrG ?r�r^rBc��eZdZy)�.GenericTests.test_multi_subscr_base.<locals>.DNr|rkr^r\rErI @r�r^rErk)
rrr�r�r�r�r* r�r#r/ )rWrr�r�rBrEs r\�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�|jtd|fjt|f�y)Nrc��eZdZy)�.GenericTests.test_subscript_meta.<locals>.MetaNr|rkr^r\�MetarM Nr�r^rN .) rr�r�r5rr�r"r��Ellipsis)rWrrN s r\�test_subscript_metaz GenericTests.test_subscript_metaLsu���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�|jtjj|jt
tjj|jt
�|j||j�|j|tj�|j|tjj�|j|jtj�|j|jtjj�|j|t
|jt
�|j|tt|jtt�|j|t
tjt
�|j|t
tjjt
�|j|jttjt�|j|jtttjjtt�|jt|t
t|jt
�|jt|ttt|jtt�|jtt
|t
ftt
tjt
f�|jt|t
|t
ft|t
tjt
f�|jtj|t
tjtjjt
�|jt!t|t
�j#d��|jt!t|jt
�j#d��|jt!ttjt
�j#d��|jt!ttjjt
�j#d��y) Nc��eZdZy)�+GenericTests.test_generic_hashes.<locals>.ANr|rkr^r\r�rS T���r^r�c�(�eZdZGd�dee�Zy)�+GenericTests.test_generic_hashes.<locals>.Bc��eZdZy)�-GenericTests.test_generic_hashes.<locals>.B.ANr|rkr^r\r�rX X���r^r�N)rhrirjr#rr�rkr^r\r�rV Ws��
�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�rMr�r�r�r�rr
r�rrrc� FrozenSetr�r�r�r�s r\�test_generic_hashesz GenericTests.test_generic_hashesSs��� ���
� � ���
� �
����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�rkc��eZdZy)�9GenericTests.test_extended_generic_rules_eq.<locals>.BaseNr|rkr^r\�Baser^ �r�r^r_ c��eZdZy)�<GenericTests.test_extended_generic_rules_eq.<locals>.DerivedNr|rkr^r\�Derivedra �r�r^rb .)
rr�rr�rcr�r�r�rr�r"rr)rWrr�r_ rb s r\�test_extended_generic_rules_eqz+GenericTests.test_extended_generic_rules_eq}s����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.r�zUnion[Tuple, Callable]zUnion[Tuple, Tuple[int]].zCallable[..., Optional[int]]zCallable[[], List[int]])
rr�r�rrr"r�r�rrrws r\� test_extended_generic_rules_reprz-GenericTests.test_extended_generic_rules_repr�s����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)Nr��CCc��yrbrkr�s r\�foobarz5GenericTests.test_generic_forward_ref.<locals>.foobar�s��r^c��yrbrkr�s r\�foobar2z6GenericTests.test_generic_forward_ref.<locals>.foobar2�rr^zCC | intc��yrbrkr�s r\�foobar3z6GenericTests.test_generic_forward_ref.<locals>.foobar3�rr^c��eZdZy)�1GenericTests.test_generic_forward_ref.<locals>.CCNr|rkr^r\rg ro �r�r^r.c��yrbrkr�s r\�barfooz5GenericTests.test_generic_forward_ref.<locals>.barfoo�r�r^c��yrbrkr�s r\�barfoo2z6GenericTests.test_generic_forward_ref.<locals>.barfoo2�r�r^)rr�rAr�r�r+rrrrr�r")
rWri rk rm rg r�ATrq �CTrs s
r\�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
|ttt|fi�i}ttjd�|�|d}|j|jdd�|jt|t�t��dtt|i�td }d
|fd�}|jt|t�t��d
tttd �i�y)Nc��eZdZUeded<y)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C1r&rN�rhrirjr�r�rkr^r\r&ry �s���D�z�Mr^r&rc�4�eZdZUedeeedfed<y)�8GenericTests.test_generic_pep585_forward_ref.<locals>.C2r&r'rN)rhrirjr&r�rr�rkr^r\r'r| �s ���D�$�t�D��J�/�0�0�1�1r^r'zf
from __future__ import annotations
class C3:
a: List[list["C2"]]
r(zList[list['C2']]r�r�c��yrbrkr�s r\rfz7GenericTests.test_generic_pep585_forward_ref.<locals>.f�r�r^)r�r+rrr�r&rrz�textwrap�dedentr�rA)rWr&r'�scoper(r�rfs r\�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��ttj�}ttj�}tjj
}|j
|d|d�|j|djdt|d�|j
|djd|d�|jtj|�y)Nr�rr�rnrRr�)
r&rLrr+r�rvr�r�r�r)rW�original_globals�hints_for_A�
A_type_paramss r\�1test_pep695_generic_class_with_future_annotationsz>GenericTests.test_pep695_generic_class_with_future_annotations�s����
� 6� 6�7��$�]�_�_�5��%���7�7�
��
�
�k�#�&�
�a�(8�9�����S�)�2�2�1�5�v�m�A�>N�7O�P��
�
�k�#�&�/�/��2�M�!�4D�E�
����/�/�1A�Br^c�z�ttj�}|j|tt
td��y)NrQ)r+rLr�r�r�r�r�)rW�hints_for_Bs r\�Etest_pep695_generic_class_with_future_annotations_and_local_shadowingzRGenericTests.test_pep695_generic_class_with_future_annotations_and_local_shadowing�s'��$�]�_�_�5������C�c��&F�Gr^c���ttj�}|jt |j��t tjj��yrb)r+rLrBr�rY�valuesrv)rW�hints_for_Cs r\�Mtest_pep695_generic_class_with_future_annotations_name_clash_with_global_varszZGenericTests.test_pep695_generic_class_with_future_annotations_name_clash_with_global_vars�sA��$�]�_�_�5�������"�"�$�%��
���/�/�0�
r^c��ttj�}tjj}|j |j�hd��|j
|d|d�|j |dt|d�|j
|dj|d�|j
|dj|d�y) N>r�r�rR�zzr�r�rr�rnrRr�r� ) r+rL�generic_functionrvr�rQr�rr�)rW�hints_for_generic_function�
func_t_paramss r\�5test_pep_695_generic_function_with_future_annotationszBGenericTests.test_pep_695_generic_function_with_future_annotations�s���%3�M�4R�4R�%S�"�%�6�6�F�F�
����&�+�+�-�/N�
�
�
�
�0��5�}�Q�7G�H����3�C�8�&��q�AQ�:R�S��
�
�0��5�@�@�-�PQ�BR�S��
�
�0��6�A�A�=�QR�CS�Tr^c���|jtttj�j��ttjj��yrb)r�rYr+rL�generic_function_2r� rvr�s r\�Qtest_pep_695_generic_function_with_future_annotations_name_clash_with_global_varsz^GenericTests.test_pep_695_generic_function_with_future_annotations_name_clash_with_global_vars�s@�������}�?�?�@�G�G�I�J��
�0�0�@�@�A�
r^c� �ttjj�}tjjjD�cic]}|j
|��}}|j
||d|dtjd��ycc}w)Nr�r�)r�r�r�) r+rLrE�generic_methodrvrhr�r��NoneType)rW�hints_for_generic_method�param�paramss r\�3test_pep_695_generic_method_with_future_annotationsz@GenericTests.test_pep_695_generic_method_with_future_annotationss���#1�-�/�/�2P�2P�#Q� �'���7�7�G�G�
�G��
�N�N�E�!�G� �
�
���$���-�f�U�m�u�~�~�N�
��
s�
Bc���|jtttjj
�j
��ttjj
j��yrb)r�rYr+rLrE�generic_method_2r� rvr�s r\�Otest_pep_695_generic_method_with_future_annotations_name_clash_with_global_varsz\GenericTests.test_pep_695_generic_method_with_future_annotations_name_clash_with_global_varssH�������}���?�?�@�G�G�I�J��
���0�0�@�@�A�
r^c�|�tj�}|jt|jj��t|jj��|jt|jj��t|jjj��|jt|jj��t|jj��|jt|jj��j|jj�t��|jt|jj��t|jj��yrb)rL�nestedr�rY�hints_for_Er� r�rv�hints_for_E_methr� r��intersection�hints_for_generic_func�generic_func)rW�resultss r\�@test_pep_695_generics_with_future_annotations_nested_in_functionzMGenericTests.test_pep_695_generics_with_future_annotations_nested_in_functions;���&�&�(�������#�#�*�*�,�-��� � �)�)�*�
�
�����(�(�/�/�1�2��� � �(�(�8�8�9�
�
�����(�(�/�/�1�2��� � �)�)�*�
�
�����(�(�/�/�1�2�?�?�� � �@Y�@Y�Z��E�
�
�����.�.�5�5�7�8���$�$�4�4�5�
r^c���Gd�dtttf�}Gd�dttdf�}Gd�dtjt�}|j|jttf�|j|ttfjttf�|j|ttfj|�|j|jtf�|jt|t�jd�d d
�|j|jtf�|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>.T1Nr|rkr^r\r"r� ,r�r^r"c��eZdZy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.T2Nr|rkr^r\r#r� -r�r^r#.c��eZdZd�Zy)�@GenericTests.test_extended_generic_rules_subclassing.<locals>.C1c��y)NFrk)rW�items r\�__contains__zMGenericTests.test_extended_generic_rules_subclassing.<locals>.C1.__contains__/s��r^N)rhrirjr� rkr^r\r&r� .r�r^r&�.���zC1[int])rrrrc� Containerr�r�r�r�r�r�r��splitr�rrr]r�r�r�rT�Sequencer�)rWr"r#r&s r\�'test_extended_generic_rules_subclassingz4GenericTests.test_extended_generic_rules_subclassing+s���#��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�
)��u�S�#�X�����8�*�
�
�
�y�
)��u�S�#�X�����8�*�
)�*�
)��
)�
)�s�,(I"�1(I.�"I+�.I7c���|jt�5ttddd�|jt�5tt
ddd�|jt�5tttddd�|jt�5tttddd�y#1swY��xYw#1swY�zxYw#1swY�TxYw#1swYyxYwrb)r�r�rrrrr$r�r�s r\�test_fail_with_bare_unionz&GenericTests.test_fail_with_bare_unionHs���
�
�
�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�5ttjddd�y#1swY�mxYw#1swY�KxYw#1swYyxYwr�)rr�r�rr#rrcr'rws r\�test_fail_with_bare_genericz(GenericTests.test_fail_with_bare_genericRs}���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>.MyTupNr|rkr^r\�MyTupr� _r�r^r� c��eZdZy)�6GenericTests.test_type_erasure_special.<locals>.MyDictNr|rkr^r\�MyDictr� br�r^r� c��eZdZy)�5GenericTests.test_type_erasure_special.<locals>.MyDefNr|rkr^r\�MyDefr� er�r^r� c��eZdZy)�7GenericTests.test_type_erasure_special.<locals>.MyChainNr|rkr^r\�MyChainr� hr�r^r� )
rrgrr�r�r�r�r5rcr �DefaultDictr��ChainMap)rWrr� r� r� r� s r\�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�wrb)�getattrrc)r4 �els r\r5 z4GenericTests.test_all_repr_eq_any.<locals>.<genexpr>ms����=�n�����#�n�s�r�r�rn)rc�__all__r�r�r�r� r�rr�r�rr
r�r�r�)rW�objsrV�bases r\�test_all_repr_eq_anyz!GenericTests.test_all_repr_eq_anyls���=�f�n�n�=���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�D��'�'��T�
�B�7��$�$�T�4�0�(�r^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>.BNr|rkr^r\r�r� r�r^r�c��eZdZy)rBNr|rkr^r\rBrB�r�r^rBr�rrnr].rk)rr#r�rBrkr*rrrsrtrvrur�rr
rrr"r$r�rr�rcr� rZ r�r5r��AbstractSet)
rWrr�rrqrRr�r"r��more_sampless
r\r$zGenericTests.test_pickle{s����C�L�� ���
� � ��#�� �
�C���������6�2�2�Q�6�7�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�Z�Z��E�)B�C�8���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
tgtftttf|||t|ttj|tjttjttjttftj|tftttt|tdtdtftdtjdtfg}|tgzD]8}|j|t|��|j|t!|���:y)Nrc��eZdZy)�1GenericTests.test_copy_and_deepcopy.<locals>.NodeNr|rkr^r\r> r� �r�r^r> rk.)rr)rr#rr�rr"r
rcr�r r�r$rr�r�rr)rWrr> �thingsr�s r\�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�attttttjttjttt t"fD]�}|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��TPBr��TPV�PP)rrn�TL�TLB�TLV�PL)rr�r�r� r�r�r� rEr� rrcr�r$r�rr
rr"rur�rrrrrsrtrurv)rWr�rqr� r� r� r� s r\�$test_immutability_by_copy_and_picklez1GenericTests.test_immutability_by_copy_and_pickle�sp���T�]���e�3�'���e�U�C�(��
�t�_���c�3�������&�/�/���e�X�/�A����A��&��
�
�d�1�g�q�)��
�
�h�q�k�1�-�"�6�#:�#:�Q�#>�?�E��M�M�&�,�,�v�|�|�A�u�/E�"F��J�@�'�&�/�
��S�"��T�]���e�3�'���e�U�C�(��
�t�_���c�3��#�A����A��&��
�
�d�1�g�q�)��
�
�h�q�k�1�-�'�&�$�'�&��'�&�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��||_yrbr�rs r\r�z<GenericTests.test_copy_generic_instances.<locals>.C.__init__�r�r^r�rts�r\rBr� �s���
!�Q�
!�4�
!r^rBr�rn) rr#r�rr�r�assertIsNotr�r5)rWrBr�cirs @r\�test_copy_generic_instancesz(GenericTests.test_copy_generic_instances�sv����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
ttfttttjttftjttjdg}|D],}|jtj |��|��.y)Nr.�whatever)rr
rr�r"rrrrcr�r�r?r�r�r�r�r)rWrr� r�s r\�test_weakref_allzGenericTests.test_weakref_all�s����C�L���u�Q��V�}�h�s�A�v�&6��c�3�h���4��9�%�v�~�~�c�3�h�'?��,�,�u�%�v���z�'B�D���A����^�W�[�[��^�-�q�1�r^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�rkr^r\rBr� �s��#�Ir^rBrr�c��yrbrkr�s r\rkz2GenericTests.test_parameterized_slots.<locals>.foo�r�r^)
rr#r�r� r�r�tomator�r+rrrr)rWrrBr�c_intrks r\�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�rkr^r\rEr� �s��!�2��Ir^rE�yesr�)rr#r�r� r�rri )rWrrEr�d_ints r\�test_parameterized_slots_dictz*GenericTests.test_parameterized_slots_dict�s����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>.CNr|rkr^r\rBr
r�r^rB)r�r�r�r�r
r#)rWr�rBs r\r�zGenericTests.test_errors
s:��
�
�
�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>.CNr|rkr^r\rBr
r�r^rBr
r� r� zC[int]c��eZdZy)�#GenericTests.test_repr_2.<locals>.YNr|rkr^r\r�r
r�r^r�r
) r#rr�rirhrjr�r�r� )rWrBr�r�s r\�test_repr_2zGenericTests.test_repr_2s��� ���
� �
������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|tgt
fd|ttgt
fd|tttgt
fd|tg|�|��|fd||||fd|tgtgt
fd|ttgttgt
fd|g|�|��d|ttttgfd|ttttgfd|tg|�|��tfttt
tgfdi} | j�D]s\}
}|j|
|��5|jt|
�dtj|j ��dtj|��d��ddd��uy#1swY��xYw)Nrr"r�r8r�c��eZdZy)�,GenericTests.test_repr_3.<locals>.MyCallableNr|rkr^r\�
MyCallabler
*r�r^r
c��eZdZy)�,GenericTests.test_repr_3.<locals>.DoubleSpecNr|rkr^r\�
DoubleSpecr
-r�r^r
c��eZdZy)�%GenericTests.test_repr_3.<locals>.TsPNr|rkr^r\�TsPr
0r�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])rV�
expected_repr�^z.*\.�$)rrErr#rFr,r�r�r�r{r�ru�assertRegexr�r�r�ri)rWrr"r�r8r�r
r
r
�object_to_expected_reprrVr
s r\�test_repr_3zGenericTests.test_repr_3#s?���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��D�C�#B�C�C�s
�AH&�&H/ c���|jtt�|jtttt�|jtttt
�yrb)r�r#rr�rrr�s r\� test_eq_1zGenericTests.test_eq_1PsB������'�*�������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>.ANr|rkr^r\r�r
Wr�r^r�c��eZdZy)�!GenericTests.test_eq_2.<locals>.BNr|rkr^r\r�r"
Zr�r^r�)r#rr�r�r�s r\� test_eq_2zGenericTests.test_eq_2Ust�� ���
� � ���
� �
����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>.ANr|rkr^r\r�r&
dr�r^r�c��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.BNr|rkr^r\r�r(
gr�r^r�c��eZdZy)�1GenericTests.test_multiple_inheritance.<locals>.CNr|rkr^r\rBr*
jr�r^rB)r#rrrr�r�)rWr�r�rBs r\�test_multiple_inheritancez&GenericTests.test_multiple_inheritancebss�� ���2��� � ���A��� � ��!�R�%��'�"�a��)�,�a��A��h� �
����)�)�B��2�;�7r^c���td�}Gd�dt|�}Gd�dtt|�}|j |j
|t|ttf�y)Nr�c��eZdZy)�9GenericTests.test_multiple_inheritance_special.<locals>.BNr|rkr^r\r�r.
qr�r^r�c��eZdZy)�9GenericTests.test_multiple_inheritance_special.<locals>.CNr|rkr^r\rBr0
rr�r^rB)rr#rr�r�r�r�r�)rWr�r�rBs r\�!test_multiple_inheritance_specialz.GenericTests.test_multiple_inheritance_specialosD���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>.FinalExceptionNr|rkr^r\�FinalExceptionr4
vr�r^r5
c�&���eZdZd���fd�Z�xZS)�;GenericTests.test_init_subclass_super_called.<locals>.Finalc�x��|jD]}|�us�t|��s��|��t�|�di|��yr�)r* rTr�r�)rXr�r� r%r5
r�s ���r\r�zMGenericTests.test_init_subclass_super_called.<locals>.Final.__init_subclass__zs?����M�M�D��5�(�Z��e�-D�,�T�2�2�*���)�3�F�3r^rr�)r�r%r5
s@��r\r%r7
ys
���
4�
4r^r%c��eZdZy)�:GenericTests.test_init_subclass_super_called.<locals>.TestNr|rkr^r\r�r:
r�r^r�c��eZdZy)�>GenericTests.test_init_subclass_super_called.<locals>.SubclassNr|rkr^r\�Subclassr<
�r�r^r=
c��eZdZy)�?GenericTests.test_init_subclass_super_called.<locals>.Subclass2Nr|rkr^r\� Subclass2r?
�r�r^r@
)r�r#rr�r�)rWr�r=
r@
r%r5
s @@r\�test_init_subclass_super_calledz,GenericTests.test_init_subclass_super_calledus���� �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>.VisitorNrc��||_yrbr
�rWrs r\rYz-GenericTests.test_nested.<locals>.Visitor.set�r�r^c��|jSrbr
r�s r\r�z-GenericTests.test_nested.<locals>.Visitor.get�����v�v�
r^r�c��|jSrbr
r�s r\�visitz/GenericTests.test_nested.<locals>.Visitor.visit�rH
r^)rhrirjrrrYr�rJ
rkr^r\�VisitorrD
�s$���A�
�Q�
�
�
�q�
r^rK
c��eZdZdefd�Zy)�0GenericTests.test_nested.<locals>.IntListVisitorr�c�:�|jj|�yrb)rr�r�s r\r�z7GenericTests.test_nested.<locals>.IntListVisitor.append�s�����
�
�a� r^N)rhrirjr�r�rkr^r\�IntListVisitorrM
�s��
!��
!r^rO
rnr�) r#rrcrr�rYr�r�r�)rWr�rK
r�rO
rs r\�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>.NodeNr��left�Node[T]�rightc�.�||_||_||_yrb�r�rT
rV
)rWr�rT
rV
s r\r�z5GenericTests.test_type_erasure.<locals>.Node.__init__�s��#��
� �� �"��
r^�NNr�rts�r\r> rS
�s%���+/�,0�
#�a�
#�(�
#� )�
#r^r> r�c����|�}��|�}�t|�}�jt|����jt|����jt|����j|j|��j|j|��j|j|�yrb)r
r�r�r�r�)r�rr�rr> rrWs ���r\rkz+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#)rWrkr> rs` @@r\r6zGenericTests.test_type_erasure�s1����C�L�� #�7�1�:� #� )�1� )� �B�r^c��td�}Gd�dt|�}Gd�d|�}|j|jd�|j t
�5|tddd�|j t
�5|tddd�|j t
�5||ddd�y#1swY�TxYw#1swY�9xYw#1swYyxYw)Nrc��eZdZy)�)GenericTests.test_implicit_any.<locals>.CNr|rkr^r\rBr^
�r�r^rBc��eZdZy)�)GenericTests.test_implicit_any.<locals>.DNr|rkr^r\rEr`
�r�r^rErk)rr#r�r�r�r�r�r
r s r\�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>.ANr|rkr^r\r�rd
�r�r^r�c���eZdZ�fd�Z�xZS)�*GenericTests.test_new_with_args.<locals>.Bc�4��t�|�|�}||_|Srb)r�r�r��rXr�rVr�s �r\r�z2GenericTests.test_new_with_args.<locals>.B.__new__�s����g�o�c�*������
r^r�r�s@r\r�rf
��
���
�
r^r�c��eZdZy)�*GenericTests.test_new_with_args.<locals>.CNr|rkr^r\rBrk
�r�r^rBrk)r#rr�r��rWr�r�rBrs r\�test_new_with_argszGenericTests.test_new_with_args�sI�� ���
� � � � ��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�|� �yrb)�from_ar�r��rWr�r�s �r\r�z4GenericTests.test_new_with_args2.<locals>.A.__init__�s���!����� �"r^r�r�s@r\r�rp
�s
���
#�
#r^r�c���eZdZ�fd�Z�xZS)�+GenericTests.test_new_with_args2.<locals>.Cc�2��||_t�|� |�yrb)�from_cr�r�rs
s �r\r�z4GenericTests.test_new_with_args2.<locals>.C.__init__�s���!����� ��%r^r�r�s@r\rBru
�s
���
&�
&r^rBrk)r#rr�rr
rw
)rWr�rBrs r\�test_new_with_args2z GenericTests.test_new_with_args2�sQ�� #� #� &���
�A� &�
�e�H��������5�)�������5�)r^c�x�Gd�dtt�}|jt�5|d�ddd�Gd�d�}Gd�d||�}|d�}|j |j
d�|j |jd�|j |jd �y#1swY�|xYw)
Nc��eZdZy)�(GenericTests.test_new_no_args.<locals>.ANr|rkr^r\r�r{
�r�r^r�rkc���eZdZ�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Bc�4��t�|�|�}d|_|S)Nr�)r�r��from_b)rXrVr�s �r\r�z0GenericTests.test_new_no_args.<locals>.B.__new__������g�o�c�*�� ��
��
r^r�r�s@r\r�r}
�ri
r^r�c�$��eZdZd�Z�fd�Z�xZS)�(GenericTests.test_new_no_args.<locals>.Cc��||_yrbr�r�s r\r�z1GenericTests.test_new_no_args.<locals>.C.__init__s ����r^c�4��t�|�|�}d|_|S)Nr)r�r�rw
rh
s �r\r�z0GenericTests.test_new_no_args.<locals>.C.__new__
r�
r^)rhrirjr�r�r�r�s@r\rBr�
s���
�
�
r^rBr�r)r#rr�r�r�r�r
rw
rl
s r\�test_new_no_argszGenericTests.test_new_no_args�s��� ���
� ��
�
�y�
)�
�e�H�*� � � ��1� �
�e�H���������&�������3�'�������3�'�1*�
)�s� B0�0B9c
���tttttttft
ttdtttd�fttfD]a}|j|��5|jtdtjd|����d��5Gd�d|�}ddd�ddd��cy#1swY�xYw#1swY�zxYw) Nr�r�)rZr
r�r
c��eZdZy)�4GenericTests.test_subclass_special_form.<locals>.FooNr|rkr^r\r�r�
#���r^r�)r$r�r%rr{rrrFrErIrur�r�r�r�)rWrVr�s r\�test_subclass_special_formz'GenericTests.test_subclass_special_forms����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) Nr�Tr�c��eZdZy)�2GenericTests.test_complex_subclasses.<locals>.BaseNr|rkr^r\r_ r�
)rT r^r_ rc��eZdZy)�1GenericTests.test_complex_subclasses.<locals>.SubNr|rkr^r\r�r�
/rT r^r�r[
)rWr�r_ rr�s r\�test_complex_subclassesz$GenericTests.test_complex_subclasses&s;���v��.�� �7�4�=� �
�C�L�� �$���
� r^c ���|jttjtf�|jtttjtf�Gd�d�}ttfD]�}|t
ttttjtjfD]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)rhrirjrr�rkr^r\r�r�
5s ���T�Nr^r�)r�subz.* is not a generic class)r�rrr�r�r�rrrEr�r� UnionTyperur�r�r�)rWr�rr�s r\�test_parameter_detectionz%GenericTests.test_parameter_detection2s
������a��/�/�!��6�����d�1�g��5�5��t�<� "� "����A���g�|�Y��@R�@R�TY�Tc�Tc�d���\�\�!��\�3��/�/� �;V�W��!��S� �X�4�3�e��
����a�c��1�1�A�4�8�����a�c��1�1�A�4�8�
X�W��4�3�s$�E#�
E �(E#�E
�E#�#E,c
���td��Gd�dt��}G�fd�d�}t||tttt
ttjtjf
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>.GNr|rkr^r\r�r�
Er�r^r�c���eZdZW�fZy)�2GenericTests.test_non_generic_subscript.<locals>.AN)rhrirjr�rts�r\r�r�
Gs
����T�Nr^r�)r�r�
)�callabler�
)rr#r�rr�rrEr�rr�
rr�rur�r�r�r"rr)rWr�r�r�r�rrrs @r\�test_non_generic_subscriptz'GenericTests.test_non_generic_subscriptCs�����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��#��6� 2�1�"��{���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��#��6� 5�4�8�7�6�5�� 2�1��6�5�� 5�4�sJ�A)G(�:
G �G(�A0H�<
G5 �H�G%
�!G(�(G2�5G>
�:H�H
N)Brhrirjr9r�r�r�r�r�r�r�r�r�r�r r r r" r+ r0 rD rJ rP r[ rc re rv r� r� r� r� r� r� r� r� r� r� r� r� r� r� r$r� r� r� r� r� r
r�r
r
r
r#
r+
r1
rA
rP
r6ra
rm
rx
r�
r�
r�
r�
r�
rkr^r\r�r�,sP��E�&�2�%�(B�+�0 >�
��5�";�5�6�2�
)�&S�C�
"?�H?�"I�(C�TP� 4�M�4%
�N
C�H�
� U�
�
�
�
�29�: �"�F�"
1�"'�H-�.�84�02�9�&
��@�$+�Z6�
(�8�C��&+�<�0�$'�&*�&(�>�"
�9�"r^r�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�
ClassVarTestsc��|jt�5tttfddd�|jt�5tttddd�y#1swY�<xYw#1swYyxYwrb)r�r�r$r�r�r�s r\r9zClassVarTests.test_basicsasS��
�
�
�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�r{rh�rW�cvs r\r�zClassVarTests.test_reprgsY������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>.CNr|rkr^r\rBr�
pr�r^rBc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�
sr�r^rEz Cannot subclass typing\.ClassVarc��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r�
wr�r^r�z'Cannot subclass typing\.ClassVar\[int\]c��eZdZy)�-ClassVarTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r�
{r�r^r�)r�r�r�r�r$r��rWrBrEr�r�s r\r�z"ClassVarTests.test_cannot_subclassns���
�
#�
#�I�/C�
D�
�D��N�
�E��
#�
#�I�/C�
D�
�D��#��'�
�E��
#�
#�I�$G�I�
�H�
�I��
#�
#�I�$N�P�
�H�S�M�
�P�P�E�
D��E�
D��I�I��P�P��/�C"� C.�C:�D�"C+�.C7�:D�Dc��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�r$r�rr�r�s r\rIzClassVarTests.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#1swYyxYwrK)r�r�r�r$r�rTr�s r\rLz ClassVarTests.test_no_isinstance��S��
�
�
�y�
)��q�(�3�-�(�*�
�
�
�y�
)��s�H�%�*�
)�*�
)��
)�
)���A)�A5�)A2�5A>N�rhrirjr9r�r�rIrLrkr^r\r�
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#1swYyxYwrb)r%r�r�r�r�rr�s r\r9zFinalTests.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�ttt}|jt|�d�y)Nztyping.Finalztyping.Final[int]ztyping.Final[%s.Employee]ztyping.Final[tuple[int]])r�r�r%r�r{rhr�r�
s r\r�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>.CNr|rkr^r\rBr�
�r�r^rBc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�
�r�r^rEzCannot subclass typing\.Finalc��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r�
�r�r^r�z$Cannot subclass typing\.Final\[int\]c��eZdZy)�*FinalTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r�
�r�r^r�)r�r�r�r�r%r�r�
s r\r�zFinalTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�
�D��K�
�E��
#�
#�I�/C�
D�
�D��s��$�
�E��
#�
#�I�0�2�
�E�
�2��
#�
#�I�7�9�
�E�#�J�
�9�9�E�
D��E�
D��2�2��9�9�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�r%r�rr�r�s r\rIzFinalTests.test_cannot_init�s{��
�
�
�y�
)��G�*�
�
�
�y�
)��D��K�M�*�
�
�
�y�
)�&�D��x��}�%�&�(�*�
)� *�
)��
)�
)��
)�
)�r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�r%r�rTr�s r\rLzFinalTests.test_no_isinstance�sS��
�
�
�y�
)��q�%��*�%�*�
�
�
�y�
)��s�E�"�*�
)�*�
)��
)�
)�r�
Nr�
rkr^r\r�
r�
�s��!�?�� )�#r^r�
c��eZdZd�Zd�Zy)�FinalDecoratorTestsc�@�d�}|j|t|��y)Nc��yrbrkr�s r\�funcz7FinalDecoratorTests.test_final_unmodified.<locals>.func�r�r^)r�r&�rWr�
s r\�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��yrbrkrkr^r\r�
z3FinalDecoratorTests.test_dunder_final.<locals>.func����r^c��eZdZy)�2FinalDecoratorTests.test_dunder_final.<locals>.ClsNr|rkr^r\�Clsr�
�s��r^r�
Tc��eZdZdZd�Zd�Zy)�6FinalDecoratorTests.test_dunder_final.<locals>.Wrapper�r�
c��||_yrbr�
r�
s r\r�z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__init__�r�r^c�&�|j|i|��Srbr�
r�s r\r2z?FinalDecoratorTests.test_dunder_final.<locals>.Wrapper.__call__�s�� �t�y�y�$�1�&�1�1r^N)rhrirjr�r�r2rkr^r\�Wrapperr�
�s��!�I�
!�
2r^r�
c��yrbrkrkr^r\�wrappedz6FinalDecoratorTests.test_dunder_final.<locals>.wrapped�s��r^F� __final__c��eZdZed��Zy)�3FinalDecoratorTests.test_dunder_final.<locals>.Metac��y)N�can't set merkr�s r\r�
z=FinalDecoratorTests.test_dunder_final.<locals>.Meta.__final__�s��(6r^N)rhrirjrQr�
rkr^r\rN r�
�s��
�6��6r^rN c��eZdZy)�7FinalDecoratorTests.test_dunder_final.<locals>.WithMetaNr|rkr^r\�WithMetar�
�s��(+r^r�
r�r�
c�~�eZdZeed���Zeed���Zeed���Z ee
�d���Zy)�6FinalDecoratorTests.test_dunder_final.<locals>.Methodsc��yrbrkr�s r\� clsmethodz@FinalDecoratorTests.test_dunder_final.<locals>.Methods.clsmethod�s�� #r^c��yrbrkrkr^r\�stmethodz?FinalDecoratorTests.test_dunder_final.<locals>.Methods.stmethod����r^c��yrbrkr�s r\�propz;FinalDecoratorTests.test_dunder_final.<locals>.Methods.prop�r�
r^c��yrbrkr�s r\�cachedz=FinalDecoratorTests.test_dunder_final.<locals>.Methods.cached�s��!r^N)rhrirjr&rer�
�staticmethodr�
rQr�
rr�
rkr^r\�Methodsr�
�s^��
�
�#���#�
�
������
�����
�
�[�!���!r^r�
r�
r�
)
r&r�r�
r�rlr�r�r��inspect�getattr_staticr�
�fgetr�
)rWr�
r�
r�
r�
rN r�
r�
s r\�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)rhrirjr�
r�
rkr^r\r�
r�
�s
��)�B6r^r�
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|jd��|j|j�d�|jd|jj�|j|j�d�|jdt|jd��|jdt|jd��|jdt|j
d��|jdt|jd��|jdt|jd��|jdt|jd��y) Nc�R�eZdZd�Zed��Zed��Zed��Zed��Z y)�2OverrideDecoratorTests.test_override.<locals>.Basec��yrbrkr�s r\�
normal_methodz@OverrideDecoratorTests.test_override.<locals>.Base.normal_methodr/r^c��yrbrkr�s r\�class_method_good_orderzJOverrideDecoratorTests.test_override.<locals>.Base.class_method_good_order
s��.1r^c��yrbrkr�s r\�class_method_bad_orderzIOverrideDecoratorTests.test_override.<locals>.Base.class_method_bad_orders��-0r^c��yrbrkrkr^r\�static_method_good_orderzKOverrideDecoratorTests.test_override.<locals>.Base.static_method_good_orders��,/r^c��yrbrkrkr^r\�static_method_bad_orderzJOverrideDecoratorTests.test_override.<locals>.Base.static_method_bad_orders��+.r^N)
rhrirjr�
rer�
r�
r�
rrrkr^r\r_ r�
s=��(�
�1��1�
�0��0�
�/��/�
�.��.r^r_ c��eZdZed��Zeed���Zeed���Zeed���Z eed���Z
y)�5OverrideDecoratorTests.test_override.<locals>.Derivedc��yr�rkr�s r\r�
zCOverrideDecoratorTests.test_override.<locals>.Derived.normal_methodrOr^c��yr�rkr�s r\r�
zMOverrideDecoratorTests.test_override.<locals>.Derived.class_method_good_order���r^c��yr�rkr�s r\r�
zLOverrideDecoratorTests.test_override.<locals>.Derived.class_method_bad_orderrr^c��yr�rkrkr^r\rzNOverrideDecoratorTests.test_override.<locals>.Derived.static_method_good_order$rr^c��yr�rkrkr^r\rzMOverrideDecoratorTests.test_override.<locals>.Derived.static_method_bad_order(rr^N)rhrirjr.r�
rer�
r�
r�
rrrkr^r\rb rs���
�
��
��
�
���
�
�
�
���
��
�
���
�
�
�
���
r^rb r�TF�__override__)
r]r�r�
r�rr�
r�
rlrr)rWr_ rb r�s r\�
test_overridez$OverrideDecoratorTests.test_override
s��� /� /� �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��yrKrkr�s r\�correctz:OverrideDecoratorTests.test_property.<locals>.Base.correctF���r^c��yrKrkr�s r\�wrongz8OverrideDecoratorTests.test_property.<locals>.Base.wrongIrr^N)rhrirjrQr�rrrkr^r\r_ rEs4��
�
��
��
�
�
�s�
��
r^r_ c�L�eZdZeedefd���Zeedefd���Zy)�3OverrideDecoratorTests.test_property.<locals>.Childr�c��y�Nr�rkr�s r\rz;OverrideDecoratorTests.test_property.<locals>.Child.correctN���r^c��yrrkr�s r\rz9OverrideDecoratorTests.test_property.<locals>.Child.wrongRrr^N)rhrirjrQr.r�rrrkr^r\�ChildrMsD��
�
�
��
���
�
�
�
�s�
���
r^rr�r) r�rr�r�
rrr�rl�fset)rWr_ rr�s r\�
test_propertyz$OverrideDecoratorTests.test_propertyDs��� � � �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�r�
c��||_yrbr!)rWr�
s r\r�zGOverrideDecoratorTests.test_silent_failure.<locals>.CustomProp.__init__ar�r^Nc�$�|j|�Srbr!rUs r\rXzFOverrideDecoratorTests.test_silent_failure.<locals>.CustomProp.__get__cs���y�y��~�%r^rb)rhrirjr�r�rXrkr^r\�
CustomPropr _s��!�I�
!�
&r^r$c�*��eZdZeW�d���Zy)�@OverrideDecoratorTests.test_silent_failure.<locals>.WithOverridec��yrKrkr�s r\rzEOverrideDecoratorTests.test_silent_failure.<locals>.WithOverride.somegrr^N)rhrirjr.r)r$s�r\�WithOverrider&fs���
�
�
���
r^r(rnr)r�rr�rl)rWr(r$s @r\�test_silent_failurez*OverrideDecoratorTests.test_silent_failure^sJ��� &� &� � �
����*�*�A�.������!2�!2�N�C�Dr^c�J��d��G�fd�d�}|�}|j|jd�d�|j|jj�|j|j d�d�|j|jj�y)Nc�.��t���fd��}|S)Nc����|i|��Srbrk)r�r�rfs �r\rwzTOverrideDecoratorTests.test_multiple_decorators.<locals>.with_wraps.<locals>.wrapperqs����$�)�&�)�)r^rx)rfrws` r\�
with_wrapszCOverrideDecoratorTests.test_multiple_decorators.<locals>.with_wrapsps���
�1�X�
*��
*��Nr^c�Z��eZdZeW�dedefd���ZW�ededefd���Zy)�EOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverriderr�c��|dzSrKrkrF
s r\�on_topzLOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverride.on_topw�
���1�u�r^c��|dzSrrkrF
s r\� on_bottomzOOverrideDecoratorTests.test_multiple_decorators.<locals>.WithOverride.on_bottom{r2r^N)rhrirjr.r�r1r4)r-s�r\r(r/vsS���
�
�
��
��
���
�
�
�
�3�
�3�
���
r^r(rnr�rP)r�r1r�rr4)rWr(r�r-s @r\�test_multiple_decoratorsz/OverrideDecoratorTests.test_multiple_decoratorsos}��� � � � �>���������+�Q�/�������4�4�5�����+�+�A�.��2�����*�*�7�7�8r^N)rhrirjrrr)r5rkr^r\r�
r�
s��8T�tD�4E�"9r^r�
c��eZdZd�Zd�Zy)� CastTestsc�0�|jttd�d�|jttd�d�|j tttd��t�|jttd�d�|jttd�d�|jttttfd�d�|jttd�d�|jtdd�d�yr�)r�r)r�r{r�r�r
r�rr�rr�s r\r9zCastTests.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 r\r�zCastTests.test_errors�s���R����W�b�r^N�rhrirjr9r�rkr^r\r7r7�s��-�r^r7c��eZdZd�Zd�Zy)�AssertTypeTestsc��d}|jt|t�|�|jt|ttz�|�|jt|t
�|�|jt|d�|�yr�)r�r(r�r�r{rr�s r\r9zAssertTypeTests.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 r\r�zAssertTypeTests.test_errors�s1�����
�
�k�#�r�*�C�0��
�
�k�#�w�/��5r^Nr<rkr^r\r>r>�s��3�6r^r>)�ann_module8c�8�eZdZejj
Zy)�NoTypeCheck_OuterN)rhrirjrArC�Innerrkr^r\rCrC�s���)�)�/�/�Er^rCc�$�eZdZejZy)�NoTypeCheck_WithFunctionN)rhrirjrA�NoTypeCheck_functionrkr^r\rFrF�s��&�;�;�r^rFc���eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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%)&�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>.Noder�c�.�||_dx|_|_yrbrX
)rWr�s r\r�z2ForwardRefTests.test_basics.<locals>.Node.__init__�s��"��
�)-�-�� �D�Jr^NrT
zOptional[Node[T]]rV
rU
�stuffc� �||_||_yrb)rT
rV
)rWrT
rV
rN�blahs r\�add_bothz2ForwardRefTests.test_basics.<locals>.Node.add_both�s��
!�� �"��
r^�nodec�(�|j|d�yrb�rQ�rWrRs r\�add_leftz2ForwardRefTests.test_basics.<locals>.Node.add_left�����
�
�d�D�)r^c�(�|jd|�yrbrTrUs r\� add_rightz3ForwardRefTests.test_basics.<locals>.Node.add_right�rWr^)NNNrb)rRrU
)
rhrirjrr�r�rQrrVrYrkr^r\r> rL�sN��
.�a�
.�-1�&*�"�
#�2�
#� )�
#�!$�
#�
*�X�i�%8�
*�
*r^r> rT
rV
rNrPrR)r#rr�r+rQrrr�rrNrVrY)rWr> r��
both_hints�
left_hints�right_hintss r\r9zForwardRefTests.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�)rcrAr�r�r��rW�frs r\�#test_forwardref_instance_type_errorz3ForwardRefTests.test_forwardref_instance_type_error�s6��
�
�
�u�
%��
�
�
�y�
)��r�2��*�
)�
)�s�
A�A
c��tjd�}|jt�5t t
|�ddd�y#1swYyxYw)Nr�)rcrAr�r�rTr�r^s r\�#test_forwardref_subclass_type_errorz3ForwardRefTests.test_forwardref_subclass_type_error�s6��
�
�
�u�
%��
�
�
�y�
)��s�B��*�
)�
)�s�A�Ac��|jt�5tjd�ddd�y#1swYyxYwrK)r�r�rcrAr�s r\�test_forwardref_only_str_argz,ForwardRefTests.test_forwardref_only_str_arg�s*��
�
�
�y�
)����a� �*�
)�
)�s�5�>c���tjd�}|j|tjd��|jtdtt
�|j|tjdt���tjdt��}|j|tjdt���|j|tjdd���y)Nr���module�__other_name__)rcrAr�r�rr�rh)rWr_�frms r\�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)NrBc��eZdZy)�4ForwardRefTests.test_forward_equality_gth.<locals>.CNr|rkr^r\rBrm�r�r^rr�c��yrbrk�rr�s r\rkz6ForwardRefTests.test_forward_equality_gth.<locals>.foo�r�r^ro)
rcrAr�r+rrrr�rr�)rWrG�c1_gthrH�c2_gthrBrks r\�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�rr�c��yrbrkros r\rkz7ForwardRefTests.test_forward_equality_hash.<locals>.foor�r^rfrh) rcrAr+rrr�r�rhr�)rWrGrprHrqrk�c3�c4s r\�test_forward_equality_hashz*ForwardRefTests.test_forward_equality_hashs@��
�
�
�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>.ANr|rkr^r\r�rzr�r^r�c�v�tjd�}d|fd�}t|t�t ��|S)Nr�r�c��yrbrkr�s r\r�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace1.<locals>.fun!r�r^�rcrAr+rr)rr�s r\�
namespace1zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace1s3���!�!�#�&�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>.ANr|rkr^r\r�r�)r�r^r�c��yrbrkr�s r\r�zPForwardRefTests.test_forward_equality_namespace.<locals>.namespace2.<locals>.fun+r�r^r})rr�r�s r\�
namespace2zCForwardRefTests.test_forward_equality_namespace.<locals>.namespace2&s?���!�!�#�&�A�
�
�
�q�
�
�3�� �6�8�4��Hr^)r�r�)rWr�r~r�s r\�test_forward_equality_namespacez/ForwardRefTests.test_forward_equality_namespaces@�� � � � �
�����z�|�4����J�L�*�,�7r^c ��|jttd�d�|jtttdd���d�y)Nr�ztyping.List[ForwardRef('int')]�modrfz,typing.List[ForwardRef('int', module='mod')])r�r�rrAr�s r\�test_forward_reprz!ForwardRefTests.test_forward_repr4sA������d�5�k�*�,L�M�����d�:�e�E�#B�C�D�G� Ir^c�N�dtdfd�}|jt|t�t ��dtt
i�dttd�tzfd�}|jt|t�t ��dtt
tzi�y)Nrrc��yrbrkr
s r\rkz/ForwardRefTests.test_union_forward.<locals>.foo;r�r^c��yrbrkr
s r\rkz/ForwardRefTests.test_union_forward.<locals>.fooAr�r^) rr�r+rrrr�rAr��rWrks r\�test_union_forwardz"ForwardRefTests.test_union_forward9s��� �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�dttd�fd�}|jt|t�t ��dtt
i�y)Nrrc��yrbrkr
s r\rkz/ForwardRefTests.test_tuple_forward.<locals>.fooIr�r^c��yrbrkr
s r\rkz/ForwardRefTests.test_tuple_forward.<locals>.fooOr�r^)rr�r+rrrr�rAr�s r\�test_tuple_forwardz"ForwardRefTests.test_tuple_forwardGs{�� �5��:� �
�����W�Y���A��u�Q�x�� *� �5��C��)� �
�����W�Y���A��u�Q�x�� *r^c��dd�}|jt|t�t��dtt
i�y)Nrc��yrbrkr
s r\rkz0ForwardRefTests.test_double_forward.<locals>.fooVr�r^)rzList['int'])r�r+rrrr�r�s r\�test_double_forwardz#ForwardRefTests.test_double_forwardUs0�� ������W�Y���A��t�C�y�)� +r^c��d�}d�}d�}|�}|�}|j||�|jt|||�y)Nc�z�tjd�}|}d|fd�}t|t�t ��}|S)Nr�r�c��yrbrkr�s r\r�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace1.<locals>.fun_rLr^r}�rr�r��rets r\r~zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace1\�6���!�!�#�&�A��A��q�� ��g�i���:�C��Hr^c�z�tjd�}|}d|fd�}t|t�t ��}|S)Nr�r�c��yrbrkr�s r\r�zPForwardRefTests.test_forward_recursion_actually.<locals>.namespace2.<locals>.fungrLr^r}r�s r\r�zCForwardRefTests.test_forward_recursion_actually.<locals>.namespace2dr�r^c��||k(Srbrk)�o1�o2s r\�cmpz<ForwardRefTests.test_forward_recursion_actually.<locals>.cmpls����8�Or^)r� r��RecursionError)rWr~r�r��r1�r2s r\�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>.CrkN)rhrirjrr�)r�s�r\rBr�xs
����e��r^rBc�(��eZdZUeW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.DrkN)rhrirjrr��r�� ValueLists��r\rEr�zs����u�i�'�(�(r^rEc�.��eZdZUeeW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.ErkN�rhrirjrrr�r�s��r\r�r�|s����t�E�{�I�-�.�.r^r�c�2��eZdZUeW�eW�W�fed<y)�7ForwardRefTests.test_union_forward_recursion.<locals>.FrkNr�r�s��r\r�r�~s����u�d�5�k�9�4�5�5r^r�rk)rrr�r�r+rr)rWrBrEr�r�r�r�s @@r\�test_union_forward_recursionz,ForwardRefTests.test_union_forward_recursionts������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)Nrrc��yrbrkr
s r\rkz2ForwardRefTests.test_callable_forward.<locals>.foo�r�r^)r"r�r+rrrr�s r\�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)Nrc��yrbrkr
s r\rkz@ForwardRefTests.test_callable_with_ellipsis_forward.<locals>.foo�r�r^.)rzCallable[..., T])r�r+rrr"rr�s r\�#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>.CrU)�
ClassVar[int])rPrVr)�
Final[int]�constr�r$r�r%r�N) rhrirjrr@r�r�r�r�rkr^r\rBr��s5��45�A�y�0�1�5�23�A�y�.�/�3��A�z���A�w�Nr^rBc�"�eZdZUdZeded<y)�6ForwardRefTests.test_special_forms_forward.<locals>.CFrUr�r�N)rhrirjr�rr�rkr^r\�CFr��s��$%�A�t�L�!�%r^r�rr�r�r�)r�r+rr$r�r%r�r�)rWrBr�s r\�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�Dc�j�|jt�5tdddd�y#1swYyxYw)Nz/T)r��SyntaxErrorr#r�s r\�test_syntax_errorz!ForwardRefTests.test_syntax_error�s#��
�
�
�{�
+��D�M�,�
+�
+�r�c�v�dd�}|jt�5t|�ddd�y#1swYyxYw)Nc��yrbrkr
s r\rkz6ForwardRefTests.test_delayed_syntax_error.<locals>.foo�r�r^)rzNode[T)r�r�r+r�s r\�test_delayed_syntax_errorz)ForwardRefTests.test_delayed_syntax_error�s+�� ��
�
�{�
+��3��,�
+�
+�s�/�8c�6�tjtjtjtjfD]@}|j|��5|j
t�5|dddd�ddd��By#1swY�xYw#1swY�YxYw)N)�formr�)rcr�Setr5�Dequerur�r�)rWr�s r\�test_syntax_error_empty_stringz.ForwardRefTests.test_syntax_error_empty_string�sf���[�[�&�*�*�f�k�k�6�<�<�H�D����4��(��&�&�{�3���H�4�)�(�I�3�3��)�(�s$�B�*B�0B�B�B�B c��dd�}|jt�5t|t��ddd�y#1swYyxYw)Nc��yrbrkr
s r\rkz,ForwardRefTests.test_name_error.<locals>.foo�r�r^)rzNoode[T])r�� NameErrorr+rr�s r\�test_name_errorzForwardRefTests.test_name_error�s/�� ��
�
�y�
)��3���)�*�
)�
)�s �8�Ac�`�tdddifd��}t|�}|j|i�y)Nr� whateversr�c��yrbrkr
s r\rkz/ForwardRefTests.test_no_type_check.<locals>.foo����r^)r2r+r�)rWrk�ths r\�test_no_type_checkz"ForwardRefTests.test_no_type_check�s>�� � �;� �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>.Crr�r�c��yrbrkr
s r\rkz7ForwardRefTests.test_no_type_check_class.<locals>.C.foo�r�r^N�rhrirjrkrkr^r\rBr�����
�{�
�r�
r^rB)r2r+rkr�)rWrB�cth�iths r\�test_no_type_check_classz(ForwardRefTests.test_no_type_check_class�sY�� � � �
� ��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>.Cr�c��yrbrkr�s r\r�z;ForwardRefTests.test_no_type_check_no_bases.<locals>.C.meth�s��Cr^Nr�rkr^r\rBr��s
��'�c�'r^rBc���eZdZW�Zy)�6ForwardRefTests.test_no_type_check_no_bases.<locals>.DN)rhrirjr�rBs�r\rEr��s����Ar^rEr�c��eZdZdefd�Zy)�:ForwardRefTests.test_no_type_check_no_bases.<locals>.Childr�c��yrbrkr�s r\rkz>ForwardRefTests.test_no_type_check_no_bases.<locals>.Child.foo�r+r^N)rhrirjr�rkrkr^r\rr��s
��&�S�&r^r)r2r�r+r�r�rk)rWrErrBs @r\�test_no_type_check_no_basesz+ForwardRefTests.test_no_type_check_no_bases�sp��� (� (� � �� �
� �
�������/�#�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|jddd�|jt|�i�ddd��dy#1swY��xYw#1swY�;xYw#1swY��xYw) Nc��eZdZUeed<y)�>ForwardRefTests.test_no_type_check_nested_types.<locals>.OtherrNr�rkr^r\r�r��rmr^r�c��eZdZUeed<y)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.BrNr�rkr^r\r�r��rmr^r�c�D�eZdZUeed<Gd�d�ZGd�d�ZeZy)�:ForwardRefTests.test_no_type_check_nested_types.<locals>.Arc�,�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.CrNr�rkr^r\rBr�s���Fr^rBN)rhrirjr�r�rBrkr^r\r�r��s�����r^r�c��eZdZUeed<y)�<ForwardRefTests.test_no_type_check_nested_types.<locals>.A.DrNr�rkr^r\rEr�����r^rEN)rhrirjr�r�r�rEr�rkr^r\r�r��s"���F�
�
�
�
��Er^r�)rH)�not_modified)r2r�rBrErur��__no_type_check__r�r+r�rr�)rWr�r�r�rHr�s r\�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�L����<��8��&�&�~�6� �2�2�7��#�#�N�<�$@�"�E�9�8�'� +�*��7�6��9�8�s0�+7D�D.�
D"�(#D.�D �"D+�'D.�.D7 c�R�tGd�d��}|j|jj�|j t|j�i�|j|jj�|j t|j�i�y)Nc�@�eZdZededefd��Zededefd��Zy)�IForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Somer�r�c��yrbrkr�s r\�stzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.sts��#&r^r�c��yrbrk)rXr�s r\�clzLForwardRefTests.test_no_type_check_class_and_static_methods.<locals>.Some.cls��(+r^N)rhrirjr�
r�rrerrkr^r\�Somer�s2��
�&�c�&�c�&��&�
�+�3�+�3�+��+r^r)r2r�rr�r�r+r)rWrs r\�+test_no_type_check_class_and_static_methodsz;ForwardRefTests.test_no_type_check_class_and_static_methodssy�� � ,� ,�
� ,�
������1�1�2��������0�"�5�������1�1�2��������0�"�5r^c�,�|jtj�|jt�5t
jjddd�|jt�5t
jjjddd�|jtj�|jt�5t
jjddd�y#1swY��xYw#1swY�mxYw#1swYyxYwrb) r�rCr�r�rrArDrFrGr�s r\�test_no_type_check_other_modulez/ForwardRefTests.test_no_type_check_other_module s������)�;�;�<�
�
�
�~�
.��)�)�;�;�/�
�
�
�~�
.��)�)�/�/�A�A�/�
���0�B�B�C�
�
�
�~�
.��,�,�>�>�/�
.�
/�
.��
.�
.��/�
.�s#�C2�-%C>�D
�2C;�>D�
Dc���dtdtfd��tG�fd�d��}|jt�5�jddd�|jt
��ttd��y#1swY�0xYw)Nr�r�c��yrbrkr�s r\rzBForwardRefTests.test_no_type_check_foreign_functions.<locals>.some-s��r^c�8��eZdZW�ZeW��ZeW��Zy)�?ForwardRefTests.test_no_type_check_foreign_functions.<locals>.AN)rhrirj�
some_aliasre�
some_classr�
�some_static)rs�r\r�r
0s����J�$�T�*�J�&�t�,�Kr^r�)r�r�)r�r2r�rr�r�r+)rWr�rs @r\�$test_no_type_check_foreign_functionsz4ForwardRefTests.test_no_type_check_foreign_functions+sp��� �� �� �
� -� -�
� -�
�
�
�~�
.��"�"�/������-��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��|Srbrkr�s r\r1z=ForwardRefTests.test_no_type_check_lambda.<locals>.A.<lambda>>s��Cr^r*N)rhrirjr*r"r�r�rkr^r\r�r;s��)8�C��3�%��*�%�7r^r�)r2r�r*r�r�r+r�s r\�test_no_type_check_lambdaz)ForwardRefTests.test_no_type_check_lambda:sJ�� � 8� 8�
� 8�
������/�/�0��������.��3r^c�"�tt�yrb)r2r&r�s r\�test_no_type_check_TypeErrorz,ForwardRefTests.test_no_type_check_TypeErrorCs�� �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�rkN)rhrirjrkrcr$r�r�rkr^r\rBrIs��()�C�����%�)r^rBc�"�eZdZUdZeeed<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.DrrkN)rhrirjrkr$r�r�rkr^r\rErKs��!"�C��#��"r^rEc��eZdZUdZded<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Err�
rkN�rhrirjrkr�rkr^r\r�rMs
��*+�C�'�+r^r�c��eZdZUdZded<y)�CForwardRefTests.test_no_type_check_forward_ref_as_string.<locals>.Frr�rkNrrkr^r\r�r Os��#$�C��$r^r�rk)rcr$r�r�r+)rWrBrEr�r��expected_result�clazzs r\�(test_no_type_check_forward_ref_as_stringz8ForwardRefTests.test_no_type_check_forward_ref_as_stringHsf�� *� *� #� #� ,� ,� %� %�!�&�/�/�#�"6�7����A�q�\�E����^�E�2�O�D�"r^c��Gd�d�}Gd�d�}||fD]+}|jt�5t|�ddd��-y#1swY�8xYw)Nc��eZdZUdZded<y)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Erz%typing.ClassVar[typing.ClassVar[int]]rkNrrkr^r\r�r&Ws
��;<�C�8�<r^r�c�"�eZdZUdZeded<y)�GForwardRefTests.test_nested_classvar_fails_forward_ref_check.<locals>.Frr�rkN)rhrirjrkr$r�rkr^r\r�r(Ys��-.�C��/�*�.r^r�)r�r�r+)rWr�r�r"s r\�,test_nested_classvar_fails_forward_ref_checkz<ForwardRefTests.test_nested_classvar_fails_forward_ref_checkVsK�� =� =� /� /���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��|Srbrkr�
s r\�magic_decoratorz@ForwardRefTests.test_meta_no_type_check.<locals>.magic_decoratorbs���Kr^r,rr�r�c��yrbrkr
s r\rkz4ForwardRefTests.test_meta_no_type_check.<locals>.foohr�r^c��eZdZdddifd�Zy)�2ForwardRefTests.test_meta_no_type_check.<locals>.Crr�r�c��yrbrkr
s r\rkz6ForwardRefTests.test_meta_no_type_check.<locals>.C.foonr�r^Nr�rkr^r\rBr/lr�r^rBrk)r3r�rhr+rk)rWr,rkrBr�r�r�s r\�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
rBrE)rr�)rzr+rkr�)rWr�r|�hintss r\�test_default_globalsz$ForwardRefTests.test_default_globalsysH��9��
���T�2���r�#�w�{�{�+������b��g��C�� A�Br^c�:�|jttt��dtt�|jttt��dtt�|jttt��dt�y)Nr�)r�r�Looprr%r�r�r�s r\�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�yr�)rAr�rr�s r\r�zForwardRefTests.test_or�sC���s�O������S��%��3��-�0�����q��%��Q��-�0r^N)'rhrirjr9r`rbrdrjrrrwr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrr#r)r1r4r7r�rkr^r\rIrI�s���!7�F�
�
!�T�A�*T�,8�0I�
0�*�+�7�2�@2�2�+�$�
��*�!�
"�@� F�:6� ?�
M�4��
E�&�"�2 C�A�
1r^rIc��d|z|zS)NrPrkr�s r\�cached_funcr:�s���q�5�1�9�r^c�2�eZdZed��Zed��Zd�Zy)�MethodHolderc��yrbrkr�s r\r�
zMethodHolder.clsmethod�s��r^c��yrbrkrkr^r\r�
zMethodHolder.stmethod�r�
r^c��yrbrkr�s r\r�zMethodHolder.method�s��cr^N)rhrirjrer�
r�
r�
r�rkr^r\r<r<�s!����������r^r<c�`�eZdZd�Zd�Zed��Zd�Zede d���d��Z
d�Zy )
�
OverloadTestsc�~�|jt�5td��}|�ddd�y#1swYyxYw)Nc��yrbrkrkr^r\rPz/OverloadTests.test_overload_fails.<locals>.blah�s��r^)r�r=r�rWrPs r\�test_overload_failsz!OverloadTests.test_overload_fails�s6��
�
�
�2�
3�
�
��
�
�F�
4�
3�
3�r�c�0�td��}d�}|�y)Nc��yrbrkrkr^r\rPz2OverloadTests.test_overload_succeeds.<locals>.blah�r�r^c��yrbrkrkr^r\rPz2OverloadTests.test_overload_succeeds.<locals>.blah�r�r^�rrDs r\�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�Srb�rr&rkr^r\r1zCOverloadTests.test_overload_on_compiled_functions.<locals>.<lambda>�s ��{�4�'8r^) r
rr�rc�_overload_registryr�sum�printrr�s r\�#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��yrbrkrkr^r\rPz,OverloadTests.set_up_overloads.<locals>.blah�r�r^c��yrbrkrkr^r\rPz,OverloadTests.set_up_overloads.<locals>.blah�r�r^c��yrbrkrkr^r\rPz,OverloadTests.set_up_overloads.<locals>.blah�r�r^rI)rWrP� overload1� overload2s r\�set_up_overloadszOverloadTests.set_up_overloads�s?�� �� ���� �� ���� ��i��+�+�+r^rLc� �tt�SrbrNrkr^r\r1zOverloadTests.<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��yrbrkrkr^r\�some_other_funcz=OverloadTests.test_overload_registry.<locals>.some_other_func�r�r^c��yrbrkrkr^r\r]z=OverloadTests.test_overload_registry.<locals>.some_other_func�r�r^c��yrbrkrkr^r\�not_overloadedz<OverloadTests.test_overload_registry.<locals>.not_overloaded�s��dr^c��yrbrkrkr^r\�the_only_onez:OverloadTests.test_overload_registry.<locals>.the_only_one�r�r^) r�rcrOrYr�r�rrr)rW�impl� overloadsr]�other_overloadr`rbs r\�test_overload_registryz$OverloadTests.test_overload_registry�s��
����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)rrrYr�r�r)rW�_rcrds r\�test_overload_registry_repeatedz-OverloadTests.test_overload_registry_repeated�s<���q��A�"�3�3�5�O�D�)����T�-��"5�6� �B�r^N)rhrirjrErJrKrRrYr
rrfrirkr^r\rArA�sP�����>��>�,�&�&��-�.�0�8�0�8�8Cr^rA)�
ann_module�ann_module2�ann_module3�ann_module5�ann_module6�T_ac�8�eZdZd�Zdej
efd�Zy)�AwaitableWrapperc��||_yrb�r�rWrs r\r�zAwaitableWrapper.__init__� ����
r^r�c#�*K�d��|jS�wrbrsr�s r\� __await__zAwaitableWrapper.__await__s����
��z�z��s�N)rhrirjr�rc�Iteratorrorwrkr^r\rqrqs����6�?�?�3�/�r^rqc�d�eZdZdejefd�Zdejefd�Zdefd�Z y)�AsyncIteratorWrapperrc��||_yrbrsrts r\r�zAsyncIteratorWrapper.__init__rur^r�c��|Srbrkr�s r\� __aiter__zAsyncIteratorWrapper.__aiter__s���r^c��JK�|j�d{���}|r|St�7��wrb)r�StopAsyncIteration)rW�datas r\� __anext__zAsyncIteratorWrapper.__anext__s%�����Z�Z�����K�$�$� �s�#�!�#N)
rhrirjrcr�ror��
AsyncIteratorr}r�rkr^r\rzrz
s:���f�o�o�c�2���6�/�/��4��%��%r^rzc��eZdZdefd�Zd�Zy)�ACMr�c��K�y�wr�rkr�s r\�
__aenter__zACM.__aenter__s �������c��K�y�wrbrk)rW�etyper�tbs r\� __aexit__z
ACM.__aexit__s �����r�N)rhrirjr�r�r�rkr^r\r�r�s���#��r^r�c��eZdZUeed<y)r�r�N)rhrirjr{r�rkr^r\r�r�s���Hr^r�c�<�eZdZUdZeeded<eed<eed<y)r�Nr�r�r�)rhrirjr�r$rr�r�rkr^r\r�r�!s��!%�A�x���
��%�
�F�
�Fr^r�c�,�eZdZUe�Zeded<y)�CSubrRN)rhrirjr�rRr$r�rkr^r\r�r�%s���#�A�x���r^r�c�(�eZdZUgZeeeed<y)r��lstN)rhrirjr�r$rrr�rkr^r\r�r�'s���C��$�q�'� �r^r�c��eZdZUeded<y)r6r�N)rhrirjr%r�rkr^r\r6r6*s��
��-�r^r6c�"�eZdZUded<ded<y)�NoneAndForward�parentN�meaningrsrkr^r\r�r�-s
����
�Mr^r�c�"�eZdZUeed<eed<y)�CoolEmployeer��coolN�rhrirjr�r�r�rkr^r\r�r�1s��
�I�
�Ir^r�c�&�eZdZUeed<dZeed<y)�CoolEmployeeWithDefaultr�rr�N)rhrirjr�r�r�r�rkr^r\r�r�5s��
�I��D�#�Mr^r�c��eZdZUeed<d�Zy)�XMethr�c� �d|jzSrr�r�s r\�doublezXMeth.double;s���4�6�6�z�r^N)rhrirjr�r�r�rkr^r\r�r�9s��
�F�r^r�c�2�eZdZUeed<dZeed<d�Zd�Zy)�XReprr�rnr�c�8�|j�d|j��S)Nz -> r�r�s r\�__str__z
XRepr.__str__As���&�&���d�f�f�X�&�&r^c��yrbrk�rWrcs r\�__add__z
XRepr.__add__Cs��r^N)rhrirjr�r�r�r�r�rkr^r\r�r�>s��
�F�
�A�s�J�'�r^r��Labelr�c�"�eZdZUeed<eed<y)�Point2Dr�r�Nr�rkr^r\r�r�Hr�r^r�c�"�eZdZUeed<eed<y)�Point2DGenericrr�N�rhrirjrr�rkr^r\r�r�Ls���D��Dr^r�c��eZdZUeed<y)r�r�Nr�rkr^r\r�r�Pr�r^r�F��totalc��eZdZUeed<y)�
BarGenericr�Nr�rkr^r\r�r�Sr�r^r�c��eZdZy)�LabelPoint2DNr|rkr^r\r�r�Vr�r^r�c�"�eZdZUeed<eed<y)�Options� log_level�log_pathNr�rkr^r\r�r�Xs���N��Mr^r�c�(�eZdZUeed<eeed<y)�
TotalMovie�titleriN)rhrirjr�r�r7r�rkr^r\r�r�\s���J�
�c�
�r^r�c�(�eZdZUeeed<eed<y)�
NontotalMovier�riN)rhrirjr8r�r�r�rkr^r\r�r�`s���C�=��
�Ir^r�c��eZdZUeeed<y)�ParentNontotalMovier�N�rhrirjr8r�r�rkr^r\r�r�ds���C�=�r^r�c��eZdZUeeed<y)�ChildTotalMovieriN�rhrirjr7r�r�rkr^r\r�r�gs
��
�c�
�r^r�c�2�eZdZUeeeedfdfed<y)�ParentDeeplyAnnotatedMovieri �
another levelr�N)rhrirjr@r8r�r�rkr^r\r�r�js ���Y�x��}�h�6�7��H�I�Ir^r�c�(�eZdZUeeedfed<y)�ChildDeeplyAnnotatedMovie��riN)rhrirjr7r@r�r�rkr^r\r�r�ms��
�i��T� �*�
+�+r^r�c�B�eZdZUeeedfed<eeedfed<y)�AnnotatedMovieri r�r�riN� rhrirjr@r8r�r�r7r�rkr^r\r�r�ps*���X�c�]�H�,�-�-�
�i��T� �*�
+�+r^r�c�L�eZdZUeeeedfdfed<eeedfed<y)�DeeplyAnnotatedMovieri r�r�r�riNr�rkr^r\r�r�ts4���Y�x��}�h�6�7��H�I�I�
�i��T� �*�
+�+r^r�c�.�eZdZUeded<eded<y)�WeirdlyQuotedMovie)z"Annotated[Required[str], "foobar"]r�r�zAnnotated[int, 2000]riN)rhrirjr@r�r7rkr^r\r�r�xs���J�K�K�
�,�
-�-r^r�c�"�eZdZUded<ded<y)�HasForeignBaseClassr��
some_xreprzmod_generics_cache.A�other_aNrsrkr^r\r�r�|s����
#�#r^r��amc��xK�|4�d{���}|cddd��d{���S7�7�#1�d{���7swYyxYw�wrbrk)r�r�s r\�g_withr��s#�����r�Q���r�r��r��r�r�r�s0�:�!�:�%�:�#�:�:�7�.�7�:r�c�v�eZdZejdd��Zejejdd���Zy)�
ForRefExamplec��yrbrkr�s r\r�
zForRefExample.func�s��r^c��yrbrkr�s r\r� zForRefExample.nested�s��
r^N)rWr�)rhrirjrj�decr�
r� rkr^r\r�r��s<���^�^�
��
��^�^��^�^�
���
r^r�c��eZdZd�Zd�Zed�d��Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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�rr�s r\�(test_get_type_hints_from_various_objectsz9GetTypeHintTests.test_get_type_hints_from_various_objects�sj��
�
�
�y�
)���H�*�
�
�
�y�
)���J�*�
�
�
�y�
)���I�*�
)� *�
)��
)�
)��
)�
)�s"�A=�B �(B�=B� B�Bc��dtttfttttzd�}|j tt�|�|j tt�i�|j tt�i�y)Nr�)rnrfr�r�r) rr�r�r{r�rrjrkrl)rW�ann_module_type_hintss r\�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)rrMr�r�r�r)rW� mgc_hintss r\�&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�r�)�123r)rrr�rRr�r�)r�r�)r�r��some_b)�my_inner_a1�my_inner_a2�
my_outer_a)r�rrjrBrr��j_classr&r�r�rEr�r�r��h_classr�rkr�r�r�rMr�r�r�r�s r\�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)rhrirjr�r�r�rkr^r\�WithNoneDefaultr��s���E�3�r^r�r�)r�rr�)rWr�s r\�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��yrbrkr�s r\r�zKGetTypeHintTests.test_respect_no_type_check.<locals>.NoTpCheck.Inn.__init__�rcr^N)r�z
not a typer�rkr^r\�Innr��s��8r^r�N)rhrirjr�rkr^r\� NoTpCheckr��s��
9�
9r^r
c��eZdZdefd�Zy)�:GetTypeHintTests.test_respect_no_type_check.<locals>.ABaser�c��yrbrkr�s r\r�z?GetTypeHintTests.test_respect_no_type_check.<locals>.ABase.meth�s��cr^Nr�rkr^r\�ABaser
�s
��!��!r^r
c��eZdZy)�8GetTypeHintTests.test_respect_no_type_check.<locals>.DerNr|rkr^r\�Derr
�s��r^r
r�)
r2r�r�r�r�r�rrk�NTCr�r#rr�)rWr
r
r
s r\�test_respect_no_type_checkz+GetTypeHintTests.test_respect_no_type_check�s��� � 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�|jttj�i�|jtt
�j�i�|jttj�i�yrb)
r�rr�r�rZrr�r�r��joinr�s r\� test_get_type_hints_for_builtinsz1GetTypeHintTests.test_get_type_hints_for_builtins�s�������S��2�&�����T��B�'�����S��2�&�����S��2�&�����V�^�^�,�b�1�����V�X�-�-�.��3�����S�X�X���+r^c��d�}d|jd<|jt|�dti�dd�}|jt|�dt d�i�y)Nc��yrbrkr�s r\�testfz6GetTypeHintTests.test_previous_behavior.<locals>.testf�rzr^r�r�c��yrbrkr�s r\�testgz6GetTypeHintTests.test_previous_behavior.<locals>.testg�r�r^)r�N)r�r�rr�r�)rWr
r
s r\�test_previous_behaviorz'GetTypeHintTests.test_previous_behavior�sM���%*����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>.ANr|rkr^r\r�r
�r�r^r�c��eZdZy)�KGetTypeHintTests.test_get_type_hints_for_object_with_annotations.<locals>.BNr|rkr^r\r�r
�r�r^r�r�)r�r�rr)rWr�r�r�s r\�/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
jtji�|jttt��tttttd��|jttt��tttttttd��|jtt�dttti�y)N�var)r�r�r�)rRr�r�r�r�)r�rrk�CVrrcr$r�rr�rr�r�rrr�s r\�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)NrW)r�r�rr�
r� )rW�expectss r\�,test_get_type_hints_wrapped_decoratored_funcz=GetTypeHintTests.test_get_type_hints_wrapped_decoratored_func�sB���=�)������]�/�/�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 tttdffd
tjtttdfffd�}|jt |t�t
��tjd ttftjttfd��tjd ttf}d|fd�}|jt |t�t
�d��d|�tjtt zdf}d|fd�} |jt | t�t
��dtt zi�|jt | t�t
�d��dtjtt zdfi�y)Nr�r�c��yrbrkr�s r\ri z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobars��#r^�rnr�T��include_extrasc��yrbrkr�s r\ri z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.foobarr_r^)rnr.c��yrbrkr�s r\rq z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoor�r^c��yrbrkr�s r\rq z>GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo#r�r^r�r��mutablec��yrbrkr�s r\rs z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo2*s��DGr^r�c��yrbrkr�s r\�barfoo3z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo32r�r^c��yrbrkr�s r\�barfoo4z?GetTypeHintTests.test_get_type_hints_annotated.<locals>.barfoo48r�r^)rr@r�r�r+rrr�rArrr�rcr"rr�r{)
rWri r��BArq rs �BA2r+
�BA3r-
s
r\�test_get_type_hints_annotatedz.GetTypeHintTests.test_get_type_hints_annotatedsN��%�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)Nr��metac��yrbrkr�s r\�
with_unionzKGetTypeHintTests.test_get_type_hints_annotated_in_union.<locals>.with_unionCs��sr^Tr#
)r�r�r@r�r�r+)rWr5
s r\�&test_get_type_hints_annotated_in_unionz7GetTypeHintTests.test_get_type_hints_annotated_in_unionBsr��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>.MySetrcr��MySet[T]c��yrbrkr�s r\�__ior__zJGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__ior__Q���r^c��yrbrkr�s r\�__iand__zKGetTypeHintTests.test_get_type_hints_annotated_refs.<locals>.MySet.__iand__Tr>
r^N)rczConst[MySet[T]]r�r;
)rhrirjr=
r@
)r8
s�r\�MySetr:
Os ���
�
�e�J�&7�
�J�
r^rA
)rcr�Tr#
) r@rr#r�r+r@
rrr=
)rWrA
r8
s @r\�"test_get_type_hints_annotated_refsz3GetTypeHintTests.test_get_type_hints_annotated_refsKs�����!�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)Nr�r�c��yrbrkr�s r\�annotated_with_none_defaultzeGetTypeHintTests.test_get_type_hints_annotated_with_none_default.<locals>.annotated_with_none_defaulths��3r^Tr#
rb)r@r�r�r+)rWrE
s r\�/test_get_type_hints_annotated_with_none_defaultz@GetTypeHintTests.test_get_type_hints_annotated_with_none_defaultfs]��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�r�N)rhrirjr�r�r�rkr^r\r�rI
ss���A��Fr^r�r�)r�r+r�r�s r\�+test_get_type_hints_classes_str_annotationsz<GetTypeHintTests.test_get_type_hints_classes_str_annotationsrs'�� � �
�����,�s�C�j�9r^c��Gd�d�}d|_|jdtj�|j t|�i�y)Nc��eZdZy)�BGetTypeHintTests.test_get_type_hints_bad_module.<locals>.BadModuleNr|rkr^r\� BadModulerM
{r�r^rN
�bad)rirN�sys�modulesr�r+)rWrN
s r\�test_get_type_hints_bad_modulez/GetTypeHintTests.test_get_type_hints_bad_moduleys=�� � �$� ���������,����� �2�B�7r^c���Gd�d�}Gd�d|�}dx|_|_|jdtj�|j t|�ttd��y)Nc��eZdZUeed<y)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadBaserkN)rhrirjr�r�rkr^r\�BadBaserU
�s���Jr^rV
c��eZdZUeed<y)�JGetTypeHintTests.test_get_type_hints_annotated_bad_module.<locals>.BadTyper*Nrz rkr^r\�BadTyperX
�s���Ir^rY
rO
r])rirNrP
rQ
r�r+r�r�)rWrV
rY
s r\�(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+rmr�r%r��MyClass)rWr3s r\�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+rnr�s r\�test_top_level_class_varz)GetTypeHintTests.test_top_level_class_var�s0��
�
#�
#��C�
�
�;�'�
�
�
���0�9c � �|jtt�ttd��|jttd��tt
td��|jtt�ttd��|jttd��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�riTr#
ri r�r�rr�r)r�r+r�r�r�r7r�r@r8r�r�rN�
VeryAnnotatedr�r�r�s r\�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�r�c��yrbrkr�s r\rfzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.f�s��r^.c��yrbrkr�s r\rzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.g�rr^c��yrbrkr�s r\rzHGetTypeHintTests.test_get_type_hints_collections_abc_callable.<locals>.h�s��Cr^)rErrr"r�r�r+)rWr�rfrrs r\�,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)rhrirjr�r�r r�r�r�r
r
r
r
r
r
r1
r6
rB
rF
rJ
rR
rZ
r]
r_
rc
rh
rkr^r\r�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 ttttf�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>.CNr|rkr^r\rBrm
�r�r^rB�r��+rr)rrrEr#r�r,r�r$rr�rr%rrr�r@r�r"rrr�r�
r�r�r8r7r)rWrr�r�rBs r\r�z$GetUtilitiesTestCase.test_get_origin�s����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
jt�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>.CNr|rkr^r\rBrr
�r�r^rBrkrn
.�oner��threer�r�r)%rr#r�r-r�rcr/r�r
rBrCr$rr�rr%rrr�rr r"r@r�rrrEr�r�rFr8r7rDrIrrr�)rWrrBr�r�s r\�
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)rhrirjr�ru
rkr^r\rj
rj
�s��E�>ATr^rj
c�D�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�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�rc�Hashabler�r�s r\�
test_hashablez!CollectionsAbcTests.test_hashable6�*�����b�&�/�/�2�� � ��V�_�_�5r^c��|jgtj�|jgtj�|jgtj�|jdtj�|j t
tj�|j t
tj�yr�)r�rcr�r�r]r�r�s r\�
test_iterablez!CollectionsAbcTests.test_iterable:s|�����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�rcrxr�)rW�its r\�
test_iteratorz!CollectionsAbcTests.test_iteratorEs3��
�"�X�����b�&�/�/�2�� � ��V�_�_�5r^c���dtjtfd�}|�}|j|tj�|j |tj�|jd�y)Nr�c��4K�td��d{���S7��wr�)rqrkr^r\rkz/CollectionsAbcTests.test_awaitable.<locals>.fooKs����)�"�-�-�-�-�s���)rc� Awaitabler�r�r��send�rWrkrs r\�test_awaitablez"CollectionsAbcTests.test_awaitableJsW�� .�6�+�+�C�0� .��E�����a��!1�!1�2�� � ��f�&6�&6�7� ���t�r^c�p�d�}|�}|j|tj�|jt�5t|tjt�ddd�|j|tj� |jd�y#1swY�<xYw#t$rYywxYw)Nc��K�y�wrbrkrkr^r\rkz/CollectionsAbcTests.test_coroutine.<locals>.fooSs �����r�)
r�rc� Coroutiner�r�r�r�r�r�
�
StopIterationr�
s r\�test_coroutinez"CollectionsAbcTests.test_coroutineRs��� ��E�����a��!1�!1�2�
�
�
�y�
)��q�&�*�*�3�/�0�*�� � ��f�&6�&6�7� �
�F�F�4�L� *�
)��
� �� �s�"B�B)�B&�) B5�4B5c���td�}t|�}|j|tj�|j|tj�|jdtj�y�Nr�r�)rrrzr�rc�
AsyncIterabler��rW�base_itr
s r\�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�
)rrrzr�rcr�r�r�
s r\�test_async_iteratorz'CollectionsAbcTests.test_async_iteratorfsA����)��
!�'�
*�����b�&�"6�"6�7�� � ��V�%9�%9�:r^c��|jgtj�|jdtj�yr�)r�rcrzr�r�s r\�
test_sizedzCollectionsAbcTests.test_sizedls*�����b�&�,�,�/�� � ��V�\�\�2r^c��|jgtj�|jdtj�yr�)r�rcr� r�r�s r\�test_containerz"CollectionsAbcTests.test_containerps.�����b�&�"2�"2�3�� � ��V�%5�%5�6r^c�,�|jt�tj�|jt �tj�|jttj�|jdtj�yr�)r�r�rc�
Collectionr�r]r&r�r�s r\�test_collectionz#CollectionsAbcTests.test_collectionts^�����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�rYrcr� r�r�s r\�test_abstractsetz$CollectionsAbcTests.test_abstractsetzs0�����c�e�V�%7�%7�8�� � ��V�%7�%7�8r^c��|jt�tj�|j t�tj�yrb)r�rYrc�
MutableSetr�r�r�s r\�test_mutablesetz#CollectionsAbcTests.test_mutableset~s2�����c�e�V�%6�%6�7�� � ���f�.?�.?�@r^c��|jitj�|jdtj�yr�)r�rcr�r�r�s r\�test_mappingz CollectionsAbcTests.test_mapping�s*�����b�&�.�.�1�� � ��V�^�^�4r^c��|jitj�|jdtj�yr�)r�rcr!r�r�s r\�test_mutablemappingz'CollectionsAbcTests.test_mutablemapping�s.�����b�&�"7�"7�8�� � ��V�%:�%:�;r^c��|jgtj�|jdtj�yr�)r�rcr� r�r�s r\�
test_sequencez!CollectionsAbcTests.test_sequence�r{
r^c��|jgtj�|jdtj�yr�)r�rc�MutableSequencer�r�s r\�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>.FooNr|rkr^r\r�r�
�r�r^r�c��eZdZy)�0CollectionsAbcTests.test_bytestring.<locals>.BarNr|rkr^r\r�r�
�r�r^r�)�assertWarns�DeprecationWarningr�rc�
ByteString� bytearrayr�
rns r\�test_bytestringz#CollectionsAbcTests.test_bytestring�s���
�
�
�0�
1��!�!�#�v�'8�'8�9�2�
�
�
�0�
1��!�!�)�C�.�&�2C�2C�D�2�
�
�
�0�
1�-�f�'�'�-�2�
�
�
�0�
1�?�f�'�'��)9�)9�?�2�
1�
2�
1��
1�
1��
1�
1��
1�
1�s/�!D�*D�D�)D(�D
�D�D%�(D1c�L�|jttj�yrb)r]r�rcrr�s r\� test_listzCollectionsAbcTests.test_list�������d�F�K�K�0r^c���|jtjtj�Gd�dtjt
�}|j
|�tj�y)Nc��eZdZy)�/CollectionsAbcTests.test_deque.<locals>.MyDequeNr|rkr^r\�MyDequer�
�r�r^r�
)r]r�dequercr�r�r�)rWr�
s r\�
test_dequezCollectionsAbcTests.test_deque�sE�����k�/�/����>�-�f�l�l�3�'�-����g�i��):�):�;r^c�`�|jtjtj�yrb)r]r�Counterrcr�s r\�test_counterz CollectionsAbcTests.test_counter�s�����k�1�1�6�>�>�Br^c��|jttj�|j t
tj�yrb)r]rYrcr�r`r�r�s r\�test_setzCollectionsAbcTests.test_set�s*�����c�6�:�:�.�� � ��F�J�J�7r^c��|jttj�|j t
tj�yrb)r]r�rcrZ r`rYr�s r\�test_frozensetz"CollectionsAbcTests.test_frozenset�s.�����i��)9�)9�:�� � ��f�&6�&6�7r^c�L�|jttj�yrb)r]r&rcr r�s r\r�zCollectionsAbcTests.test_dict�r�
r^c��td�}td�}|jt||fttftttf�|jt|tfttttf�|jtt|fttttf�|jt|t
|fttfttt
tf�|jt|t
tftttt
tf�|jt|t|fttfttttf�|jt|ttftttttf�y)Nr�r�)rr�r r�r�rr�)rWr�r�s r\�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#1swYyxYwrb)r�r�rcrrr�r�s r\�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>.MyListNr|rkr^r\�MyListr�
�r�r^r�
)rcrr�r�r� r]r�r`)rWr�
rs r\�test_list_subclassz&CollectionsAbcTests.test_list_subclass�sd�� �V�[�[��%� �
�H�����a��(����a����1����f�d�+�� � ��v�.r^c��|jt�5tj�ddd�|jt�5tjtt
f�ddd�|jt�5tjttf�ddd�y#1swY��xYw#1swY�UxYw#1swYyxYwrb)r�r�rcr rrr�r�r�s r\�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>.MyDictNr|rkr^r\r� r�
�r�r^r� ) rcr r�r�r�r!r]r&r`)rWr� rs r\�test_dict_subclassz&CollectionsAbcTests.test_dict_subclass�sj�� �V�[�[��c��*� �
�H�����a��(����a��!6�!6�7����f�d�+�� � ��v�.r^c��|jttj��tj
�|jttjttf��tj
�|jttjttf��tj
�yrb)
r�r�rcr� rrrrr�r�r�s r\�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|tj�|jtj|�y)Nc��eZdZy)�@CollectionsAbcTests.test_defaultdict_subclass.<locals>.MyDefDictNr|rkr^r\� MyDefDictr�
�r�r^r�
) rcr� r�r�r�r]rrr`)rWr�
�dds r\�test_defaultdict_subclassz-CollectionsAbcTests.test_defaultdict_subclass��b�� ��*�*�3��8�4� ��[�����b�)�,����i��)@�)@�A�� � ��!8�!8�)�Dr^c��|jttj��tj�|jttjt
tf��tj�|jttjttf��tj�yrb) r�r�rc�OrderedDictrrrr�r�r�s r\�test_ordereddict_instantiationz2CollectionsAbcTests.test_ordereddict_instantiation�r�
r^c��Gd�dtjttf�}|�}|j ||�|j|tj�|jtj|�y)Nc��eZdZy)�@CollectionsAbcTests.test_ordereddict_subclass.<locals>.MyOrdDictNr|rkr^r\� MyOrdDictr�
�r�r^r�
)rcr�
r�r�r�r]rr`)rWr�
�ods r\�test_ordereddict_subclassz-CollectionsAbcTests.test_ordereddict_subclass�r�
r^c�@�|jttj��tj�|jttjt
tf��tj�|jttjttf��tj�Gd�dtjt
tf�}|jt|ttf��|�y)Nc��eZdZy)�;CollectionsAbcTests.test_chainmap_instantiation.<locals>.CMNr|rkr^r\�CMr�
r�r^r�
) r�r�rcr� rrrr�r�)rWr�
s r\�test_chainmap_instantiationz/CollectionsAbcTests.test_chainmap_instantiations����
�
�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|tj�|jtj|�y)Nc��eZdZy)�>CollectionsAbcTests.test_chainmap_subclass.<locals>.MyChainMapNr|rkr^r\�
MyChainMapr�
r�r^r�
)rcr� r�r�r�r]rr`)rWr�
r!s r\�test_chainmap_subclassz*CollectionsAbcTests.test_chainmap_subclasss`�� �����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>.DNr|rkr^r\rEr�
r�r^rE)r�r�rcr�rr�
rr��rWrEs r\�test_deque_instantiationz,CollectionsAbcTests.test_deque_instantiations����
�
�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>.CNr|rkr^r\rBr�
"r�r^rB)r�r�rcr�
rrr�r$s r\�test_counter_instantiationz.CollectionsAbcTests.test_counter_instantiations����
�
�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>.MyCounterNr|rkr^r\� MyCounterr�
'r�r^r�
)rcr�
r�r�r)rWr�
rs r\�#test_counter_subclass_instantiationz7CollectionsAbcTests.test_counter_subclass_instantiation%sZ�� ����s�+� �
�K�����a��+����a����0����a��!4�!4�5r^c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwrb)r�r�rcr�rr�r�s r\�test_no_set_instantiationz-CollectionsAbcTests.test_no_set_instantiation/sy��
�
�
�y�
)��J�J�L�*�
�
�
�y�
)��J�J�q�M�O�*�
�
�
�y�
)��J�J�s�O��*�
)� *�
)��
)�
)��
)�
)�r�
c�v�Gd�dtjt�}|�}|j||�y)Nc��eZdZy)�BCollectionsAbcTests.test_set_subclass_instantiation.<locals>.MySetNr|rkr^r\rA
r9r�r^rA
)rcr�r�r�)rWrA
rs r\�test_set_subclass_instantiationz3CollectionsAbcTests.test_set_subclass_instantiation7s/�� �F�J�J�s�O� �
�G�����a��'r^c��|jt�5tj�ddd�|jt�5tjt�ddd�|jt�5tjt
�ddd�y#1swY�|xYw#1swY�OxYw#1swYyxYwrb)r�r�rcrZ rr�r�s r\�test_no_frozenset_instantiationz3CollectionsAbcTests.test_no_frozenset_instantiation?s���
�
�
�y�
)�����*�
�
�
�y�
)����Q��!�*�
�
�
�y�
)����S�!�#�*�
)� *�
)��
)�
)��
)�
)�r�
c�v�Gd�dtjt�}|�}|j||�y)Nc��eZdZy)�NCollectionsAbcTests.test_frozenset_subclass_instantiation.<locals>.MyFrozenSetNr|rkr^r\�MyFrozenSetr
Ir�r^r)rcrZ r�r�)rWrrs r\�%test_frozenset_subclass_instantiationz9CollectionsAbcTests.test_frozenset_subclass_instantiationGs2�� �&�*�*�3�/� �
�M�����a��-r^c�X�|jt�5t�ddd�|jt�5tt�ddd�|jt�5tt�ddd�y#1swY�hxYw#1swY�ExYw#1swYyxYwrb)r�r�rrr�r�s r\�test_no_tuple_instantiationz/CollectionsAbcTests.test_no_tuple_instantiationOsl��
�
�
�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�rkrkr^r\rkz/CollectionsAbcTests.test_generator.<locals>.fooXs�����H���)r]r�rc� Generatorr�
s r\�test_generatorz"CollectionsAbcTests.test_generatorWs(�� ��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#1swYyxYwrb)r�r�rcrrr�r�s r\�test_no_generator_instantiationz3CollectionsAbcTests.test_no_generator_instantiation]s���
�
�
�y�
)�����*�
�
�
�y�
)����Q��1�W�%�'�*�
�
�
�y�
)����S�#�s�]�+�-�*�
)� *�
)��
)�
)��
)�
)�s#�B<�'C�'C�<C�C�Cc�j�d�}|�}|jt|�tj�y)Nc�K�d���y�wr�rkrkr^r\rfz3CollectionsAbcTests.test_async_generator.<locals>.ffs�����X��� )r]r�rc�AsyncGenerator)rWrfrs r\�test_async_generatorz(CollectionsAbcTests.test_async_generatores(�� �
�C�����d�1�g�v�'<�'<�=r^c��|jt�5tj�ddd�|jt�5tjttf�ddd�|jt�5tjt
t
f�ddd�y#1swY��xYw#1swY�UxYw#1swYyxYwrb)r�r�rcrrr�r�s r\�%test_no_async_generator_instantiationz9CollectionsAbcTests.test_no_async_generator_instantiationks���
�
�
�y�
)��!�!�#�*�
�
�
�y�
)��!�!�!�Q�$�'�)�*�
�
�
�y�
)��!�!�#�s�(�+�-�*�
)� *�
)��
)�
)��
)�
)�r�
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>.MMANr|rkr^r\�MMArur�r^r c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�1CollectionsAbcTests.test_subclassing.<locals>.MMCc��yrbrkr s r\r�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__getitem__|r3r^c��yrbrkr s r\r�z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__setitem__~r�r^c��yrbrkr s r\r z=CollectionsAbcTests.test_subclassing.<locals>.MMC.__delitem__�r�r^c��td�Sr�r r�s r\rMz:CollectionsAbcTests.test_subclassing.<locals>.MMC.__iter__�r r^c��yrbrkr�s r\r z9CollectionsAbcTests.test_subclassing.<locals>.MMC.__len__�r�r^Nr rkr^r\�MMCr"{r r^r(rc�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�1CollectionsAbcTests.test_subclassing.<locals>.MMBc��yrbrkr s r\r�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__getitem__�r3r^c��yrbrkr s r\r�z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__setitem__�r�r^c��yrbrkr s r\r z=CollectionsAbcTests.test_subclassing.<locals>.MMB.__delitem__�r�r^c��td�Sr�r r�s r\rMz:CollectionsAbcTests.test_subclassing.<locals>.MMB.__iter__�r r^c��yrbrkr�s r\r z9CollectionsAbcTests.test_subclassing.<locals>.MMB.__len__�r�r^Nr rkr^r\�MMBr*�r r^r0c��eZdZy)�/CollectionsAbcTests.test_subclassing.<locals>.INr|rkr^r\r�r2�r�r^r�c��eZdZy)�/CollectionsAbcTests.test_subclassing.<locals>.GNr|rkr^r\r�r4�r�r^r�c3�K�d��y�wrbrkrkr^r\rz/CollectionsAbcTests.test_subclassing.<locals>.g�s
����q��r)rcr!r�r�r�rr�r�
r! r�r�rrr�r`r&r]rrrTr�r�rr�r�)rWr r(r0r�r�rs r\�test_subclassingz$CollectionsAbcTests.test_subclassingss��� �&�'�'� ��
�
�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�
)��s�3��8�}�f�n�n�5�*����c�3�'�%����%�� � ��q�)�5�� � ��c�3��/�5�����a��!1�!1�2����a����1����a����!:�!:�;����a����!9�!9�:�� � ��a��!�,�}*�
)��b*�
)�s�P/� (P<�/P9�<Qc�D�Gd�dtjttf�}d�}|j|tj�|j|tj�|j|t
jj�|j|t
jj�|jt|�|�|�}|j|tj�|j|tj�|j|t
jj�|j|t
jj�|jt|�|�|j||�y)Nc��eZdZd�Zdd�Zy)�?CollectionsAbcTests.test_subclassing_async_generator.<locals>.Gc��yrbrkrts r\�asendzECollectionsAbcTests.test_subclassing_async_generator.<locals>.G.asend�r�r^Nc��yrbrk)rW�typ�valr�s r\�athrowzFCollectionsAbcTests.test_subclassing_async_generator.<locals>.G.athrow�r�r^rY
)rhrirjr;r?rkr^r\r�r9�s��
�
r^r�c�K�d���y�wrbrkrkr^r\rz?CollectionsAbcTests.test_subclassing_async_generator.<locals>.g�s
����Q�w�r)rcrr�r]r�
rrr`r�r�r�)rWr�rr�s r\� test_subclassing_async_generatorz4CollectionsAbcTests.test_subclassing_async_generator�s!�� ��%�%�c�3�h�/� � ����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)Nr�TF)rhrbs r\rKzPCollectionsAbcTests.test_subclassing_subclasshook.<locals>.Base.__subclasshook__�s���>�>�U�*�� r^Nrdrkr^r\r_ rD�s��
�
!��
!r^r_ c��eZdZy)�<CollectionsAbcTests.test_subclassing_subclasshook.<locals>.CNr|rkr^r\rBrG�r�r^rBc��eZdZy)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.FooNr|rkr^r\r�rI�r�r^r�c��eZdZy)�>CollectionsAbcTests.test_subclassing_subclasshook.<locals>.BarNr|rkr^r\r�rK�r�r^r�)rcr�r]r`)rWr_ rBr�r�s r\�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
jjj|�|j|tj�y)Nc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.ANr|rkr^r\r�rO�r�r^r�c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.BNr|rkr^r\r�rQ�r�r^r�c��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.CNr|rkr^r\rBrS�r�r^rBc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.DNr|rkr^r\rErU�r�r^rEc��eZdZy)�8CollectionsAbcTests.test_subclassing_register.<locals>.MNr|rkr^r\r�rW�r�r^r�) rcr� r�r]r`rrr!r�)rWr�r�rBrEr�s r\�test_subclassing_registerz-CollectionsAbcTests.test_subclassing_register�s���&�� � �&������ �
�
�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>.MNr|rkr^r\r�r[�r�r^r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.SNr|rkr^r\r�r]�r�r^r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.INr|rkr^r\r�r_�r�r^r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.ANr|rkr^r\r�rar�r^r�r�c��eZdZy)�7CollectionsAbcTests.test_collections_as_base.<locals>.BNr|rkr^r\r�rcr�r^r�) rrr�r]rcr�r�
rMr�)rWr�r�r�r�r�s r\�test_collections_as_basez,CollectionsAbcTests.test_collections_as_base�s���-����'�'�-����a����0����a����1�5����/�/�5����a��!7�!7�8����a����1�.����(�(�.����a����1�D����'�'�3�;�;�D��� �
�
�1�
����a����0r^c�\�|jtjtjzttjtjf�|jtj
tjzttj
tjf�yrb)r�rcrzr�
rr�
ry
r�s r\rz#CollectionsAbcTests.test_or_and_rorsk���������(8�(8�8�%����f�N^�N^�@^�:_�`�����)�)�F�O�O�;�U�6�CS�CS�U[�Ud�Ud�Cd�=e�fr^N)7rhrirjrz
r}
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
r�
rrrrrrrrrr6rArLrXrdrrkr^r\rw
rw
4s��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'�.)�"1�&1�$gr^rw
c��eZdZd�Zd�Zy)�
OtherABCTestsc��tjd��}|�}|j|tj�|jdtj�y)Nc3�K�d��y�wr�rkrkr^r\�managerz2OtherABCTests.test_contextmanager.<locals>.manager
������H�rr�)�
contextlib�contextmanagerr�rcrhr�)rWrjr!s r\�test_contextmanagerz!OtherABCTests.test_contextmanagersO�� � "� "� �
#� ��Y�����b�&�"7�"7�8�� � ��V�%:�%:�;r^c��Gd�d�}|jt�tj�|j |�tj�t
jd��}|�}|j |tj�|jtjtjtf�|jt�5tdtjt�ddd�|jt�5tjttfddd�y#1swY�ExYw#1swYyxYw)Nc��eZdZy)�7OtherABCTests.test_async_contextmanager.<locals>.NotACMNr|rkr^r\�NotACMrqr�r^rrc3�K�d��y�wr�rkrkr^r\rjz8OtherABCTests.test_async_contextmanager.<locals>.managerrkrr�)r�r�rc�AsyncContextManagerr�rlrmr�r�r�r�r�r�r�)rWrrrjr!s r\�test_async_contextmanagerz'OtherABCTests.test_async_contextmanagers��� � ����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�
)��&�&�s�C�x�0�*�
)�*�
)��
)�
)�s� "E�E�E�EN)rhrirjrnrurkr^r\rgrg
s��<�1r^rgc��eZdZd�Zd�Zd�Zy)� TypeTestsc�r�Gd�d�}Gd�d|�}Gd�d|�}dt|d|fd �}||�y)
Nc��eZdZy)�'TypeTests.test_type_basic.<locals>.UserNr|rkr^r\�Userrz+r�r^r{c��eZdZy)�,TypeTests.test_type_basic.<locals>.BasicUserNr|rkr^r\� BasicUserr},r�r^r~c��eZdZy)�*TypeTests.test_type_basic.<locals>.ProUserNr|rkr^r\�ProUserr�-r�r^r��
user_classr�c��|�Srbrk�r�s r\�new_userz+TypeTests.test_type_basic.<locals>.new_user/�
���<�r^r4)rWr{r~r�r�s r\�test_type_basiczTypeTests.test_type_basic)s9����#��#�!�d�!� ��d�� �� � ��r^c��Gd�d�}Gd�d|�}Gd�d|�}td|��}d t|d
|fd�}||�y)Nc��eZdZy)�)TypeTests.test_type_typevar.<locals>.UserNr|rkr^r\r{r�6r�r^r{c��eZdZy)�.TypeTests.test_type_typevar.<locals>.BasicUserNr|rkr^r\r~r�7r�r^r~c��eZdZy)�,TypeTests.test_type_typevar.<locals>.ProUserNr|rkr^r\r�r�8r�r^r�r�r�r�r�c��|�Srbrkr�s r\r�z-TypeTests.test_type_typevar.<locals>.new_user<r�r^)rr5)rWr{r~r�r�r�s r\�test_type_typevarzTypeTests.test_type_typevar4sE����#��#�!�d�!��C�t�$�� ��a�� �Q� � ��r^c��ttt}d|dttfd�}|j|t�t�|j|d��y)Nrr�c��|�y|�Srbrkr
s r\rkz)TypeTests.test_type_optional.<locals>.fooDs���y���s�
r^)rr5�
BaseExceptionr��KeyboardInterrupt�assertIsNone)rWr�rks r\�test_type_optionalzTypeTests.test_type_optionalAsT���T�-�(�)�� �1� ��-�0� �
���c�"3�4�6G�H����#�d�)�$r^N)rhrirjr�r�r�rkr^r\rwrw's�� ��
%r^rwc��eZdZdgZd�Zy)�TestModules�_idfuncc�z�|jD],}|jtt|�jd��.y)N�_typing)�
func_namesr�r� rcri)rW�fnames r\�test_c_functionszTestModules.test_c_functionsQs-���_�_�E����W�V�U�3�>�>� �J�%r^N)rhrirjr�r�rkr^r\r�r�Ns����J�Kr^r�c�\�eZdZed��Zed��Zd�Zd�Zd�Zd�Z d�Z
d�Zd �Zd
�Z
y)�NewTypeTestsc��tjdt�atj|jdzt
�|_y)N�UserId� .UserName)rc�NewTyper�r�rjr��UserNamer�s r\�
setUpClasszNewTypeTests.setUpClassWs1������#�.���~�~�c�&6�&6��&D�c�J��r^c�
�b|`yrb)r�r�r�s r\�
tearDownClasszNewTypeTests.tearDownClass]s��
��Lr^c���|jtd�t�|j|jd�t�|jtd�dzd�y)NrV�Joern�)r�r�r�r�r�r�r�s r\rzNewTypeTests.test_basiccsG�����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>.DNr|rkr^r\rEr�lr�r^rE)r�r�rTr�r�r�
s r\r�zNewTypeTests.test_errorshsQ��
�
�
�y�
)��v�s�#�*�
�
�
�y�
)�
�F�
�*�
)�*�
)��
)�
)�s�A!�A-�!A*�-A6c��t|jfD]�}|j|��5|jt|zt
jt|f�|j|tzt
j|tf�|jtjt|z�t|f�|jtj|tz�|tf�ddd���y#1swY��xYw)Nr�)r�r�rur�r�rcrr-)rWrXs r\r�zNewTypeTests.test_oros�������'�C����#��&�� � ��#��v�|�|�F�C�K�/H�I�� � ��v��v�|�|�C��K�/H�I�� � �����#��!>���
�N�� � �����v��!>��f�
�N�'�&�(�&�&�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�rhrjri�
__supertype__r�r�r�r�)rWr�s r\�test_special_attrszNewTypeTests.test_special_attrsxs���������(�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.UserIdr� r�)r�r�r�rhr�r�rjr�s r\r�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�UserAgernrp)rcr�r{rrrsrtrurvr�rur�r�r��
PicklingError)rWr�rq�pickledr#s r\r$zNewTypeTests.test_pickle�s����.�.��E�2���6�2�2�Q�6�7�E����E��*� �,�,�v�u�5�����g�.���
�
�f�f�-� �,�,�t�}�}�e�<�����g�.���
�
�f�d�m�m�4��&�&�v�';�';�<��L�L��%�0�=�+�*�8�=�<��+�*�s%�B6D8�D,�D8�,D5�1D8�8E c� �d}t|i�y)Nz-import typing
NT = typing.NewType('NT', int)
r�r�s r\r�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>.ProUserIdNr|rkr^r\� ProUserIdr��rY r^r�)r�r�r�r�r�)rWr�s r\�#test_error_message_when_subclassingz0NewTypeTests.test_error_message_when_subclassing�s@��
�
#�
#���I�I�=�
�
�
�F�
�
�
�
�s�A�AN)rhrirjrer�r�rr�r�r�r�r$r�r�rkr^r\r�r�VsT���K��K�
����
+�
�O�6�O�
1�� r^r�c�v�eZdZGd�de�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zy)�NamedTupleTestsc�"�eZdZUeed<eed<y)�NamedTupleTests.NestedEmployeer�r�Nr�rkr^r\�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��Jimrn�r�r�)r6r�r�r]r�r�r�r�r�rh�_fieldsr�rr�
)rWr��joe�jims r\r9zNamedTupleTests.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�|jtjd�|jtjd�|jtjtjtt���y)N�Timi(#r��r�r�)
r�r�r�r�r�r�rhr�r�rr�
r�r�)rW�tims r\�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�|jtjd�|jtjd�|jtjttt���|jtjtd���|jt�5Gd�d t�}ddd�y#1swYyxYw)
N�Jeller�Sjoerdrnr�r�)r�c�&�eZdZUdZeed<eed<y)�RNamedTupleTests.test_annotation_usage_with_default.<locals>.NonDefaultAfterDefaultrPr�r�N)rhrirjr�r�r�rkr^r\�NonDefaultAfterDefaultr��s����3�
��r^r�)r�r�r�r�r�r�rhr�r�r&r�r��_field_defaultsr�r�r6)rW�jelle�cooler_employeer�s r\�"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)Nrnr�r�rz42 -> 1rPc��eZdZUeed<d�Zy)�DNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBadr�c��y)Nzno chance for thisrkr�s r\r�zLNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad._fields�s��/r^N)rhrirjr�r�r�rkr^r\�XMethBadr��s����0r^r�c��eZdZUeed<d�Zy)�ENamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2r�c��y)Nzno chance for this as wellrkr�s r\�_sourcezMNamedTupleTests.test_annotation_usage_with_methods.<locals>.XMethBad2._source�s��7r^N)rhrirjr�r�r�rkr^r\� XMethBad2r��s����8r^r�) r�r�r�r�r�r�r�rr6)rWr�r�s r\�"test_annotation_usage_with_methodsz2NamedTupleTests.test_annotation_usage_with_methods�s�������q����*�A�.�����r����e�B�i��l�3�����U�2�Y���3�����q�!��u�Q�x�/��3�
�
�
�~�
.�
0�:�
0�/��
�
�~�
.�
8�J�
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�dt|�}ddd�y#1swY��xYw#1swY��xYw#1swY�_xYw#1swYyxYw)
Nc��eZdZy)�4NamedTupleTests.test_multiple_inheritance.<locals>.ANr|rkr^r\r�r��r�r^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Xr�Nr�rkr^r\r�r��r�r^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Yr�Nr�rkr^r\r�r��r�r^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Zr�Nr�rkr^r\r�r��r�r^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Br�Nr�rkr^r\r�r��rmr^r�c��eZdZUeed<y)�4NamedTupleTests.test_multiple_inheritance.<locals>.Cr�Nr�rkr^r\rBr�r�r^rB)r�r�r6r�)rWr�r�r�r�r�rBs r\r+
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|jtttf�|j|j|t
ttf�Gd�dttt�}|j|jtt
f�|j|jtttf�|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>.Xr�Nr�rkr^r\r�r�����Dr^r�c��eZdZUeed<y)�'NamedTupleTests.test_generic.<locals>.Yr�Nr�rkr^r\r�r�
r�r^r��r�rkrP)r6r#rr�r* r�r/ r�r�rur�r�r-r�r�r�r�r�r�r�r�)rWr�r�r�r�rs r\�test_genericzNamedTupleTests.test_generics��� �
�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�2�&�%��2�1��&�%�s%�EK�J:�&K�:K�?K�K c�Z�d��}|j\}|j|t�|j|jd�|j|j
ttf�|j|jtt|f�|j|j|tttf�|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>.Xr�Nrr�s��r\r�r�#�
�����Dr^r�)r6r�s @@r\z<generic parameters of X>zFNamedTupleTests.test_generic_pep695.<locals>.<generic parameters of X>#s���� � �:� r^rrk)rvr�rr�rhr* r�r#r/ r6r�r�r�r�r�)rWr�rs r\�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>.Groupr��groupN)rhrirjrr�r�rkr^r\�Groupr2s���F���7�Nr^rrkrnr�)r6r�r�r�r�r�r�r�)rWrr�rs r\r�
z*NamedTupleTests.test_non_generic_subscript/s��� �J� �
�#�J��������u�-�����)�)�2�.�������c�V�,�
�a�!��I���
�
�d�1�g�u�%�����Q���H�%r^c��tdtt��}|dd�}|j|t�|j|jd�|j|jd�|j|jd�|j|jttt���|jt�5tddtfgt��ddd�y#1swYyxYw)N�
LocalEmployee)r��age�Nick��Namer�r�)
r6r�r�r�r�r�r�rhr�r�r&r�r�)rWr�nicks r\�test_namedtuple_keyword_usagez-NamedTupleTests.test_namedtuple_keyword_usage=s���"�?��#�F�
��V�R�(�����d�E�*�������F�+�����/�/��A�����.�.��@�����6�6��#�3�8O�P�
�
�
�y�
)��v��c�
�|�s�3�*�
)�
)�s�C1�1C:c���tdtttt��}|j|jd�|j|jd�|tdddtfg��}|j|jt�|j|jd�|j|jd�|j|jdtfg�y)Nr�)rXrW�typename�fieldsr�rkr*)
r6r�r�r�r�r�rhr�r�rXrWrr)rWr�rs r\�%test_namedtuple_special_keyword_namesz5NamedTupleTests.test_namedtuple_special_keyword_namesHs���
��$�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)Nr�c��eZdZy)�2NamedTupleTests.test_empty_namedtuple.<locals>.CNTNr|rkr^r\�CNTrUr�r^r)�structrk)r6rur�r�r�r�r�)rWr�rrs r\�test_empty_namedtuplez%NamedTupleTests.test_empty_namedtupleRs���
��
�� �*� ��3�i�F����V��,�� � �����4�� � ��!7�!7��<�� � ��!7�!7��<��%�%�f�h��7� -�,� �,�,�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)Nr�r��_name)rr�r�)r�r�r6r�r�r�r�r�s r\�test_namedtuple_errorsz&NamedTupleTests.test_namedtuple_errors_s���
�
�
�y�
)���� �*�
�
�
�y�
)��L�*�
�
�
�y�
)��u���}�o�t�4�*�
�
�
�z�
*��u���~�.�/�+�
�
�
�y�
)���C�C�8�*�
)�*�
)��
)�
)��
)�
)��
*�
*��
)�
)�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)Nr�r�r�r��jane�%rn)r6r�r�r�r�r�rurrrsrtrvrur�r�rr)rWrXrrqrR�jane2s r\�test_copy_and_picklez$NamedTupleTests.test_copy_and_pickleks����&�#����
� >�?����d�&9�&9�9�C����#��&��6�2���"�6�#:�#:�Q�#>�?�E����T�5�1�A�"�L�L��O�E��$�$�U�D�1��)�)�%��5� @��T�
��� � ���-��%�%�e�S�1� ����� � ���-��%�%�e�S�1�'�&�:�&�&�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>.SimpleNamedTupleNr|rkr^r\�SimpleNamedTupler!�r�r^r"c��eZdZy)�:NamedTupleTests.test_orig_bases.<locals>.GenericNamedTupleNr|rkr^r\�GenericNamedTupler$�r�r^r%�CallNamedTuple)rr6r#r�r/ )rWrr"r%r&s r\r0 zNamedTupleTests.test_orig_basess����C�L�� �z� � �
�G�A�J� �
���)�8�8�:�-�H����*�9�9�J��PQ�
�;S�T�#�$4�b�9������6�6��
�Fr^N)rhrirjr6r�r9r�r�r�r+
r�r�r�
rrrrrr0 rkr^r\r�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
�Zd�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�Nr�r�r�rnr�r�T)r9r�r�r]r&rcr!r`rrr� r�r�r�rhrir* r�� __total__�__required_keys__r�r��__optional_keys__rY�rWr�r�s r\�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$tf�|j|j&ttd��|j|j(d�y#1swY��^xYwr*)r�
r�
r9r�r�r]r&rcr!r`rrr� r�r�r�rhrir* r�r+r.s r\�test_basics_keywords_syntaxz*TypedDictTests.test_basics_keywords_syntax�s ��
�
�
�0�
1��E���4�C�2����c�4�(����c�6�#8�#8�9�� � ��k�o�o�&>�&>�?��u��#���
�
�d�3�i��&�����V��e�,�����T��A�&�������u�-��������2���������0�����,�,�s�#�.F�G��������-�2�
1�s�F � Fc
��|jt�5tdttt
ttt��}ddd�|jjd�|j|jttt
tttd��|t
ddddtfgdth��}|j|dt
�|j|d d�|j|d
d�|j|dd�|j|ddtfg�|j|d
dth�y#1swY��xYw)N�TD)rXrWr� _typenamerr�r�rk�5r*r`rXrWrr4rr�)r�
r�
r9r�r�r�r�r�r&r�rhr�r�rY)rWr3rs r\�$test_typeddict_special_keyword_namesz3TypedDictTests.test_typeddict_special_keyword_names�s"��
�
�
�0�
1��4�T���PS�\`�jn�o�B�2�������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�2�
1�s�+E�Ec���|jt�5tj�ddd�|jt�5t�ddd�|jt�5tddtfgd�ddd�|jt�5tdtt
��ddd�y#1swY��xYw#1swY�|xYw#1swY�VxYw#1swYyxYw)Nr�r�)r4r�r�)r�r�r9r�r�r�r�s r\�test_typeddict_create_errorsz+TypedDictTests.test_typeddict_create_errors�s���
�
�
�y�
)�����*�
�
�
�y�
)��K�*�
�
�
�y�
)��e�v�s�m�_�d�3�*�
�
�
�y�
)���C�C�8�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�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) Nr�r�rcr�rn�Hir�r�)
r9r�r�r�rir�r�r�rTr&r.s r\�test_typeddict_errorsz$TypedDictTests.test_typeddict_errors�s������3�7�8������-�-�x�8��u��#��
�
�
�y�
)��r�3��*�
�
�
�y�
)��s�C� �*�
�
�
�y�
)��t�S�!�*�
�
�
�y�
)��d�c�3�Z�L�C�0�*�
)�
*�
)��
)�
)��
)�
)��
)�
)�s0�
C<�
D�+D�D �<D�D�D� D)c�r�|jtjd�|jtjt�|jtjt
t
td��|jtjtf�|jtjd�|jttj�tdd��}|j|dd�|j|dd�tddd ��}|j|d
d �y)Nr�r�Trrnr�r�r��hir�)r�r�rhrir�r�r�r* r&r+r`rcr� r�)rW�
not_originrcs r\�test_py36_class_syntax_usagez+TypedDictTests.test_py36_class_syntax_usage�s�������.�.��?�����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
jdz�D]�}tj||�}tj|�}|j||�|j|ddd��tjt|�}tj|�}|j|ddd��|���y)N�EmpDr�rrrn)
r9r�r�rArrrsrtrvrur�)rWrrqrRr�ZZ�EmpDnews r\r$zTypedDictTests.test_pickle�s�����#�S�!9�:���V�2�.�/���6�2�2�Q�6�7�E����T�5�)�A��L�L��O�E����U�D�)����U�V�2�$>�?����d�E�*�B��l�l�2�&�G����W�f�B�%?�@�$�G�8r^c��tdd��}ttjdz�D]�}tj||�}tj
|�}|j
||�|j
|ddd��tjt|�}tj
|�}|j
|ddd��|���y)Ng@g@rorn)r�rrrsrtrvrur�)rW�pointrqrR�point2rB�Point2DGenericNews r\�test_pickle_genericz"TypedDictTests.test_pickle_generic�s������,���6�2�2�Q�6�7�E����U�E�*�A��\�\�!�_�F����V�U�+����V�3�S�%9�:����n�e�4�B� &���R� 0�����.�S�s�/C�D�e�L�8r^c��tdttd��}|jtj
|tjd|f�|jtj|tj|�y)NrAr�)
r9r�r�r�rcrrr�rr)rWrAs r\r�zTypedDictTests.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)NrEr�Fr�rnr�r�)r�r�r�) r9r�r�r+r,r�r�r-r�r�
s r\�
test_totalzTypedDictTests.test_totals#���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>.Point2Dor3DrRNr�rkr^r\�Point2Dor3DrNrmr^rOFr�r�r�rR)r�r�r,r�r�r-)rWrOs r\�test_optional_keysz!TypedDictTests.test_optional_keyssz�� �'�� �
����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 ti�|j|jtd g��|j|jtd
dg��|j|j
tttd��|j|jtd d
g��|j|jtd
dg��|j|j
ttttd��y)Nc��eZdZUeed<y)�8TypedDictTests.test_keys_inheritance.<locals>.BaseAnimalr�Nr�rkr^r\�
BaseAnimalrSr�r^rTc�"�eZdZUeed<eed<y)�4TypedDictTests.test_keys_inheritance.<locals>.Animal�voicer�N)rhrirjr�r�r,rkr^r\�AnimalrV s���J��Jr^rXFr�c��eZdZUeed<y)�1TypedDictTests.test_keys_inheritance.<locals>.Cat� fur_colorNr�rkr^r\�CatrZ$s���Nr^r\r�r�rW)r�r�rWr[)r[r�r�rW)r9r�r,r�r-r�r�r,)rWrTrXr\s r\�test_keys_inheritancez$TypedDictTests.test_keys_inheritancesE�� �� � �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|jtdg��|j|jtdg��|j|jtdg��|j|jtdg��y)
Nc��eZdZUeed<y)�ETypedDictTests.test_keys_inheritance_with_same_name.<locals>.NotTotalrNr�rkr^r\�NotTotalr`=rmr^raFr�c��eZdZUeed<y)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.TotalrNr�rkr^r\�Totalrc@rmr^rdrc�.�eZdZUeeed<eeed<y)�ATypedDictTests.test_keys_inheritance_with_same_name.<locals>.Baserr�N)rhrirjr7r�r�r8rkr^r\r_ rfHs���3�����}�r^r_ c�.�eZdZUeeed<eeed<y)�BTypedDictTests.test_keys_inheritance_with_same_name.<locals>.Childrr�N)rhrirjr8r�r�r7rkr^r\rrhLs����}���3��r^rr�)r9r�r,r�r-)rWrardr_ rs r\�$test_keys_inheritance_with_same_namez3TypedDictTests.test_keys_inheritance_with_same_name<s�� �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>.Base1rNr�rkr^r\�Base1rlVs
���3��r^rmc��eZdZUeeed<y)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.Base2rNr�rkr^r\�Base2roYs����}�r^rpc��eZdZy)�ETypedDictTests.test_multiple_inheritance_with_same_key.<locals>.ChildNr|rkr^r\rrr\r�r^rr)r9r�r�r8r�r,r�r-)rWrmrprs r\�'test_multiple_inheritance_with_same_keyz6TypedDictTests.test_multiple_inheritance_with_same_keyUs~�� �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��|jtjjt��|jtjjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��|jtjtdh��y)Nr�rir)r�r�r,r�r-r�rNrb
r�r�r�r�r�s r\�test_required_notrequired_keysz-TypedDictTests.test_required_notrequired_keysds�������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|jtttd��Gd�d||�}|j|jt ddg��|j|j
t dg��|j|jtttd��Gd�d||d��}|j|jt dg��|j|j
t ddg��|j|jtttd��Gd�d||�} |j| jt d
dg��|j| j
t dg��|j| jtttd��||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>.Oners
Nr�rkr^r\�Onerx�����Hr^ryc��eZdZUeed<y)�5TypedDictTests.test_multiple_inheritance.<locals>.Two�twoNr�rkr^r\�Twor|�rzr^r~c��eZdZUeed<y)�9TypedDictTests.test_multiple_inheritance.<locals>.Untotal�untotalNr�rkr^r\�Untotalr��s���Lr^r�Fr��Inline�inlinec��eZdZy)�9TypedDictTests.test_multiple_inheritance.<locals>.RegularNr|rkr^r\�Regularr��r�r^r�c��eZdZUeed<y)�7TypedDictTests.test_multiple_inheritance.<locals>.Child�childN�rhrirjr,r�rkr^r\rr������Kr^r)rs
r}r�c��eZdZUeed<y)�CTypedDictTests.test_multiple_inheritance.<locals>.ChildWithOptionalr�Nr�rkr^r\�ChildWithOptionalr��r�r^r�rs
r�r�)rs
r�r�c��eZdZUeed<y)�ETypedDictTests.test_multiple_inheritance.<locals>.ChildWithTotalFalser�Nr�rkr^r\�ChildWithTotalFalser��r�r^r�c��eZdZUeed<y)�LTypedDictTests.test_multiple_inheritance.<locals>.ChildWithInlineAndOptionalr�Nr�rkr^r\�ChildWithInlineAndOptionalr��r�r^r�)r�r�r�)�basesz=cannot inherit from both a TypedDict type and a non-TypedDictc��eZdZy)�7TypedDictTests.test_multiple_inheritance.<locals>.WrongNr|rkr^r\�Wrongr��r�
r^r�)r9r,r�r,r�r-r�r�r�rur�r�)
rWryr~r�r�r�rr�r�r��wrong_basesr�r�s
r\r+
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�dtt��}|jt|�d�|jt|t
�d�|jt|��d�d��}|jt|�d�|jt|t
�d�|jt|��d�|jtt�d�y) NTF�
call_basedrrc���eZdZUW�ed<y)�4TypedDictTests.test_is_typeddict.<locals>.BarGenericrNrsrts�r\r�r��s����Dr^r�c�>���d�x�f�G��fd�d��
}t|�S)rc�"��eZdZW�ZUW�ed<y)�4TypedDictTests.test_is_typeddict.<locals>.NewGenericrNrr�s��r\r�r��r�r^r��r9r�s @@r\z"<generic parameters of NewGeneric>zLTypedDictTests.test_is_typeddict.<locals>.<generic parameters of NewGeneric>�s���� � �I� r^) r�r/r�rr�r�r9rr#)rWr�r�r�rs @r\�test_is_typeddictz TypedDictTests.test_is_typeddict�s1����
�
�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)Nro)r�r+r�rcrr�r�s r\r
z"TypedDictTests.test_get_type_hints�s)������3���/�/�#�&�S�1�
r^c��|jtt�tjt
td��Gd�dtt�}|jt|�tjt
ttd��y)Nroc��eZdZUeed<y)�ATypedDictTests.test_get_type_hints_generic.<locals>.FooBarGenericrNr�rkr^r\�
FooBarGenericr�rmr^r��rr�r)r�r+r�rcrrr�r�)rWr�s r\�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
ttf�|j|jtt|f�|j|j|tttf�|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>.ArNrr�s��r\r�r�
r�r^r�r�r�s @@r\z<generic parameters of A>zOTypedDictTests.test_pep695_generic_typeddict.<locals>.<generic parameters of A>
s���� � �9� r^rrk)rvr�rr�rhr* r#r&r/ r9r�r�r�r�r�)rWr�rs r\�test_pep695_generic_typeddictz,TypedDictTests.test_pep695_generic_typeddicts��� ��
�
������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|jtttf�|j|j|tt
tf�|j|jtf�|j|tjd�|j|tjtf�Gd�dttt�}|j|jtt
f�|j|jtttf�|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|jt,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>.ArNr�rkr^r\r�r�r�r^r�rkc��eZdZUeed<y)�3TypedDictTests.test_generic_inheritance.<locals>.A2rNr�rkr^r\�A2r�%r�r^r�c��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.Br�N�rhrirjrr�rkr^r\r�r�/����Er^r�Fr�r�rc��eZdZUeed<y)�2TypedDictTests.test_generic_inheritance.<locals>.CrNr�rkr^r\rBr�>rmr^rBTrr�c��eZdZUeed<y��8TypedDictTests.test_generic_inheritance.<locals>.Point3DrNr�rkr^r\�Point3Dr�Qr�r^r�c��eZdZUeed<yr�r�rkr^r\r�z8TypedDictTests.test_generic_inheritance.<locals>.Point3Dfs���r^)r9r#rr�r* r&r/ r�r�r�r�r�rr+r-r�r,r�r�r�r�r�r�)rWr�r�r�rBr�s r\�test_generic_inheritancez'TypedDictTests.test_generic_inheritances�� � �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
ttf�|j |j|tttf�|j |jd �|j |jd
�|j |jtdg��|j |jtdd
g��|j |jtttd��|j!t"�5|t$ddd�y#1swYyxYw)Nc��eZdZUeed<y)�7TypedDictTests.test_implicit_any_inheritance.<locals>.ArNr�rkr^r\r�r�jr�r^r�c��eZdZUeed<y)�7TypedDictTests.test_implicit_any_inheritance.<locals>.Br�Nr�rkr^r\r�r�mr�r^r�Fr�c��eZdZUeed<y)�ETypedDictTests.test_implicit_any_inheritance.<locals>.WithImplicitAnyrNr�rkr^r\�WithImplicitAnyr�prmr^r�rkTr�rrr�)r9r#rrr�r* r&r�r�r�r+r-r�r,r�r�r�r�r�)rWr�r�r�s r\�test_implicit_any_inheritancez,TypedDictTests.test_implicit_any_inheritanceis�� � �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>.TDrNr�rkr^r\r3r��r�r^r3rkrnr
r) r9r�r�r�r�r�r�r�r&)rWr3r�rs r\r�
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>.ParentNr|rkr^r\�Parentr��r�r^r�c��eZdZy)�-TypedDictTests.test_orig_bases.<locals>.ChildNr|rkr^r\rr��r�r^rc��eZdZy)�2TypedDictTests.test_orig_bases.<locals>.OtherChildNr|rkr^r\�
OtherChildr��r�r^r�c��eZdZy)�2TypedDictTests.test_orig_bases.<locals>.MixedChildNr|rkr^r\�
MixedChildr��r�r^r�c��eZdZy)�5TypedDictTests.test_orig_bases.<locals>.GenericParentNr|rkr^r\�
GenericParentr��r�r^r�c��eZdZy)�4TypedDictTests.test_orig_bases.<locals>.GenericChildNr|rkr^r\�GenericChildr��r�r^r�c��eZdZy)�9TypedDictTests.test_orig_bases.<locals>.OtherGenericChildNr|rkr^r\�OtherGenericChildr��r�r^r�c��eZdZy)�9TypedDictTests.test_orig_bases.<locals>.MixedGenericChildNr|rkr^r\�MixedGenericChildr��r�r^r�c��eZdZy)�<TypedDictTests.test_orig_bases.<locals>.MultipleGenericBasesNr|rkr^r\�MultipleGenericBasesr��r�r^r��
CallTypedDict)rr9r#r�r�r{r�r/ )rWrr�rr�r�r�r�r�r�r�r�s r\r0 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)rhrirjr/r1r6r8r;r?r$rHr�rKrPr]rirsrur+
r�r
r�r�r�r�r�
r0 rkr^r\r(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#1swYyxYwrb)r�r�r8r7r�r�r�s r\r9zRequiredTests.test_basics�su��
�
�
�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�r8r�r{rhr�
s r\r�zRequiredTests.test_repr�s]������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>.CNr|rkr^r\rBr��r�r^rBc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr��r�r^rEz Cannot subclass typing\.Requiredc��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r��r�r^r�z'Cannot subclass typing\.Required\[int\]c��eZdZy)�-RequiredTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r��r�r^r�)r�r�r�r�r8r�r�
s r\r�z"RequiredTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�
�D��N�
�E��
#�
#�I�/C�
D�
�D��#��'�
�E��
#�
#�I�3�5�
�H�
�5��
#�
#�I�:�<�
�H�S�M�
�<�<�E�
D��E�
D��5�5��<�<�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�r8r�rr�r�s r\rIzRequiredTests.test_cannot_init�r�
r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�r8r�rTr�s r\rLz RequiredTests.test_no_isinstance�r�
r�
Nr�
rkr^r\r�r��s���L�� ,�&r^r�c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�NotRequiredTestsc�h�|jt�5ttddd�|jt�5ttt
fddd�|jt�5ttt
ddd�y#1swY�mxYw#1swY�HxYw#1swYyxYwrb)r�r�r7r8r�r�r�s r\r9zNotRequiredTests.test_basics�sv��
�
�
�y�
)���!�*�
�
�
�y�
)���S��!�*�
�
�
�y�
)����S�!�*�
)� *�
)��
)�
)��
)�
)�r�c���|jtt�d�tt}|jt|�d�tt}|jt|�dt
�d��y)Nztyping.NotRequiredztyping.NotRequired[int]ztyping.NotRequired[r�)r�r�r7r�r{rhr�
s r\r�zNotRequiredTests.test_repr�s_������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>.CNr|rkr^r\rBr�r�r^rBc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr r�r^rEz#Cannot subclass typing\.NotRequiredc��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r r�r^r�z*Cannot subclass typing\.NotRequired\[int\]c��eZdZy)�0NotRequiredTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r r�r^r�)r�r�r�r�r7r�r�
s r\r�z%NotRequiredTests.test_cannot_subclass�s���
�
#�
#�I�/C�
D�
�D��%�
�E��
#�
#�I�/C�
D�
�D��S�)�*�
�E��
#�
#�I�6�8�
�K�
�8��
#�
#�I�=�?�
�K��$�
�?�?�E�
D��E�
D��8�8��?�?�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�r7r�rr�r�s r\rIz!NotRequiredTests.test_cannot_init s}��
�
�
�y�
)��M�*�
�
�
�y�
)��D����*�
�
�
�y�
)�,�D��X�c�]�+�,�.�*�
)� *�
)��
)�
)��
)�
)�r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�r7r�rTr�s r\rLz#NotRequiredTests.test_no_isinstance sT��
�
�
�y�
)��q�+�c�*�+�*�
�
�
�y�
)��s�K�(�*�
)�*�
)��
)�
)�r�
Nr�
rkr^r\r�r��s��"�O�� /�)r^r�c�$�eZdZd�Zd�Zd�Zd�Zy)�IOTestsc��dtdtfd�}|jd}|j|jtf�y)Nrr�c�"�|j�Srb��readliner
s r\rNzIOTests.test_io.<locals>.stuff ����:�:�<�r^)r;rr�r�r��rWrNrs r\�test_iozIOTests.test_io s?�� �R� �F� �
�!�!�#�&������)�)�F�9�5r^c�z�dtdtfd�}|jd}|j|jd�y)Nrr�c�"�|j�Srbrr
s r\rNz"IOTests.test_textio.<locals>.stuff' rr^rk)r<r�r�r�r�rs r\�test_textiozIOTests.test_textio% s=�� �V� �� �
�!�!�#�&������)�)�2�.r^c�z�dtdtfd�}|jd}|j|jd�y)Nrr�c�"�|j�Srbrr
s r\rNz$IOTests.test_binaryio.<locals>.stuff/ rr^rk)r=r�r�r�r�rs r\�
test_binaryiozIOTests.test_binaryio- s=�� �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=r� rhr:z typing.iorn)�warnings�catch_warnings�filterwarningsr�
� typing.ior;r<r=r� rhr�rcr�rYr)rW�wr;r<r=r� rhs r\�test_io_submodulezIOTests.test_io_submodule5 s���
�
$�
$�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�'�2�
1�
1�s�CC=�=DN)rhrirjrrrr#rkr^r\rr s��6�/�/� (r^rc�6�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z y) �RETestsc�*�tjdtj�}|j|jt
�|jt
|�t
�|j|t
�|jd�}|j|jt�|jt
|�t�|j|t�t
tttfttttfy)Nz[a-z]+z12345abcde.....)
r��compiler�r]r�r>r�r��searchr?rr�r�)rWr,�mats r\r9zRETests.test_basicsD 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�yrb)r�r>r�r�r�r?r�s r\�test_alias_equalityzRETests.test_alias_equalityS 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�r�r�r�r�r>rT)rWrs r\r�zRETests.test_errorsY s����%��U�
�#�$��
�
�
�y�
)�
�c�F�*�
�
�
�y�
)��r�7�3�<�(�*��
�
�y�
)��w�u�~�w�s�|�4�*�
)�*�
)��
)�
)��*�
)�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]ztyping.Matchztyping.Match[str]ztyping.Match[bytes])r�r�r>r�r�r?r�s r\r�zRETests.test_reprd 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)NTrr�rr)r?r>r� rhr?r>� typing.rern)rrr r�
� typing.rer?r>r� rhr�rcr�rYr)rWr"r?r>r� rhs r\�test_re_submodulezRETests.test_re_submodulel 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�'�2�
1�
1�s�B;C�C$c���tj�5tjdt��ddlm}|j
|jt�|j|jd�|j
|jtj�ddd�|jt�5jddd�y#1swY�4xYw#1swYyxYw)N�errorrr)r�r/)rrr r�
rcr�r�rOr�r�rhrr��MappingProxyTyper�
r?)rWr�s r\�test_re_submodule_access_basicsz'RETests.test_re_submodule_access_basicsv s���
�
$�
$�
&��#�#�G�6H�I�!��!�!�"�*�*�c�2����R�[�[�+�6��!�!�"�+�+�u�/E�/E�F�'��
�
�0�
1��H�H�2�
1�'�
&��2�
1�s�BC�:
C�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>.ANr|rkr^r\r�r8� r�r^r�z1type 're\.Pattern' is not an acceptable base typec��eZdZy)�'RETests.test_cannot_subclass.<locals>.BNr|rkr^r\r�r:� r�r^r�)r�r�rcr?r>r�s r\r�zRETests.test_cannot_subclass� sq��
�
#�
#��>�
�
�F�L�L�
�
��
#�
#��@�
�
�F�N�N�
�
�
�
�
��
�
�s�A2�A>�2A;�>BN)
rhrirjr9r+r�r�r1r5r�rkr^r\r%r%A s&��
!�/� 5�D�(� �r^r%c��eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�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 r\�test_newzAnnotatedTests.test_new� s-��
�
#�
#��3�
�
�K�
�
�
�s�+�4c��|jtttddf�d�|jttttddf�d�y)NrUrVztyping.Annotated[int, 4, 5]z(typing.Annotated[typing.List[int], 4, 5])r�r�r@r�rr�s r\r�zAnnotatedTests.test_repr� sP�������3��1�9�%�&�)�
�
�����4��9�a��?�+�,�6�
r^c���ttttdf��}dD]/}|j |��5|j||�ddd��1y#1swY�<xYw)NrU)r�r�r��__metadata__rW)rYrZr@r�rur[r\s r\r^zAnnotatedTests.test_dir� sU����I�c�1�f�-�.�/� �
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A�A c���tttdfdf}|j|ttddf�|j|jd�|j|jt�y)NrUrVrT)r@r�r�rBr�r�s r\r~zAnnotatedTests.test_flatten� s]���i��Q��'��*�+������I�c�1�a�i�0�1��������0�������s�+r^c�H�|jtttdftz�ttdftf�|jttttdftf�ttdftf�|jtttdfttdfztz�ttdfttdftf�|jttttdfttdftf�ttdfttdftf�|jtttdftt
dfztz�ttdftt
dftf�|jttttdftt
dftf�ttdftt
dftf�|jttdfttdfztzttdftz�|jtttdfttdftftttdftf�|jtt
ttifzttt
�fztz�t
ttifttt
�ftf�|jttt
ttifttt
�ftf�t
ttifttt
�ftf�|jtt
ttifztt
ifztz�t
ttiftt
iftf�|jttt
ttiftt
iftf�t
ttiftt
iftf�|jtttdft
ztt
ifztz�ttdft
tt
iftf�|jttttdft
tt
iftf�ttdft
tt
iftf�ddl}|jGd�d��}|dd�}|jttt|fdz�tt|ftjf�|jtttt|fdf�tt|ftjf�|jtttt|f�tt|ftjf�|jttifttifztzttiftz�|jttifttifztztttifz�|jtttifttiftftttiftf�|jtttifttiftfttttiff�y)Nrnr�rc�"�eZdZUeed<eed<y)�>AnnotatedTests.test_deduplicate_from_union.<locals>.ValueRange�lor=Nr�rkr^r\�
ValueRangerF� s���G��Gr^rH)r�r-r@r�rr�rY�dataclasses� dataclassr�r� r)rWrIrHr�s r\�test_deduplicate_from_unionz*AnnotatedTests.test_deduplicate_from_union� s������)�C��F�"3�c�"9�:�#�C��F�+�S�1� 3�����%� �#�q�&�(9�3�(>�"?�@�#�C��F�+�S�1� 3�����)�C��F�"3�i��Q��6G�"G�#�"M�N�#�C��F�+�Y�s�A�v�->��D� F�����%� �#�q�&�(9�9�S�!�V�;L�c�(Q�"R�S�#�C��F�+�Y�s�A�v�->��D� F�����)�C��F�"3�i��Q��6G�"G�#�"M�N�#�C��F�+�Y�s�A�v�->��D� F�����%� �#�q�&�(9�9�S�!�V�;L�c�(Q�"R�S�#�C��F�+�Y�s�A�v�->��D� F�
����3��6�*�Y�s�A�v�->�>��D�"�3��6�*�S�0� 2�����y��a��0�)�C��F�2C�S�H�I��y��a��0�#�5�6� 8�
����#� �#�r�'�(:�":�Y�s�C�E�z�=R�"R�UX�"X�Y��y��b��1�9�S�#�%�Z�3H�#�N� P�����%��Y�s�B�w�-?��3�PS�PU�:�AV�X[�([�"\�]��y��b��1�9�S�#�%�Z�3H�#�N� P�����#� �#�r�'�(:�":�Y�s�B�w�=O�"O�RU�"U�V��y��b��1�9�S�"�W�3E�s�K� M�����%��Y�s�B�w�-?��3�PR�7�AS�UX�(X�"Y�Z��y��b��1�9�S�"�W�3E�s�K� M�
����)�C��F�"3�c�"9�I�c�2�g�<N�"N�QT�"T�U�#�C��F�+�S�)�C��G�2D�c�J� L�����%� �#�q�&�(9�3� �#�r�'�@R�TW�(W�"X�Y�#�C��F�+�S�)�C��G�2D�c�J� L� � � � � � �
� �
�q�!�������)�C��F�"3�d�":�;�#�C��F�+�U�^�^�<� >�����%� �#�q�&�(9�4�(?�"@�A�#�C��F�+�U�^�^�<� >�����(�9�S�!�V�+<�"=�>�#�C��F�+�U�^�^�<� >�
����3��7�+�i��R��.@�@�3�F�"�3��7�+�c�1� 3�����3��7�+�i��R��.@�@�3�F��y��b��1�1� 3�����y��b��1�9�S�"�W�3E�s�J�K��y��b��1�3�6�7� 9�����y��b��1�9�S�"�W�3E�s�J�K��s�I�c�2�g�$6�6�7� 9r^c �j�ttdftzttifztz}tjt|��D]G}|j
|��5|j|ttj|��ddd��Itttdftttiftf}tjt|��D]6}|j
|��5|j|t|�ddd��8y#1swY��xYw#1swY�OxYw)Nrnr�)r@r�r�r��permutationsr-rur�r�operator�or_r)rW�expr1r��expr2s r\�test_order_in_unionz"AnnotatedTests.test_order_in_union� s����#�q�&�!�C�'�)�C��G�*<�<�s�B���*�*�8�E�?�;�D����4��(�� � ���x�|�|�T�(B�C�)�(�<��i��Q��'��i��R��.@�#�E�F���*�*�8�E�?�;�D����4��(�� � ���d��4�)�(�<� )�(��
)�(�s�!+D�8D)�D& �)D2 c�0�tttdf}tttdf}|j |ttttdf�|j |tj
d�|j |tjtt�|jt�5|tddd�|jt�5|ttfddd�y#1swY�7xYw#1swYyxYw)N�
my decoration)rT)
r@rrr�r�rBr�r�r�r{)rWr��LIs r\�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 �p�|jtttddfttddfh�d�|j ttddfttddf�|j ttddftt
ddf�|j ttdfttddf�|jttddfttddfttddfhttddfttddfh�ttgf}|jt�5t|�ddd�Gd�d�}tt|�f}|jt�5t|�ddd�y#1swY�QxYw#1swYyxYw)NrUrVrnc��eZdZdZy)�&AnnotatedTests.test_hash_eq.<locals>.ANr�rkr^r\r�rY!r�r^r�)
r�rr@r�r�r�rr�r�r�)rW�a1r��a2s r\�test_hash_eqzAnnotatedTests.test_hash_eq!sl������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�
�
�s�B�w�
��
�
�
�y�
)���H�*� � �
�s�A�C�x�
��
�
�
�y�
)���H�*�
)�
*�
)��*�
)�s�F �F,� F)�,F5c���G�fd�d��t�df}|d�}�d�}|j||�|j|j|j�|j|j|j�y)Nc�"��eZdZdZd�Z�fd�Zy)�*AnnotatedTests.test_instantiate.<locals>.CrUc��||_yrbr�r�s r\r�z3AnnotatedTests.test_instantiate.<locals>.C.__init__!r�r^c�Z��t|��stS|j|jk(Srb)r��NotImplementedr�)rWrcrBs �r\�__eq__z1AnnotatedTests.test_instantiate.<locals>.C.__eq__!s&���!�%��+�)�)��w�w�$�&�&�(�(r^N)rhrirj�classvarr�rcr�s�r\rBr_!s����H�
�
)r^rB�a decorationrV)r@r�r�rd)rWr�rrrBs @r\�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)NrT)rUrUrVr�rnrT)r@rcr�
rr�r�)rW�MyCounts r\�test_instantiate_genericz'AnnotatedTests.test_instantiate_generic*!sR���F�N�N�1�-��>�?�������+��q�\�:��������i�0�a�A�,�?r^c�\�Gd�d�}t|df}|j|�|�y)Nc��eZdZd�Zy)�4AnnotatedTests.test_instantiate_immutable.<locals>.Cc��td��)Nzshould be ignored)r�r�s r\r�z@AnnotatedTests.test_instantiate_immutable.<locals>.C.__setattr__1!s��� 3�4�4r^N)rhrirjr�rkr^r\rBrl0!s��
5r^rBre)r@r��rWrBr�s r\�test_instantiate_immutablez)AnnotatedTests.test_instantiate_immutable/!s1�� 5� 5�
�a��'�(��
���a�c�1�%r^c�z�td}|jt�5|d�ddd�y#1swYyxYw)N)r��rVr�rV)r@r�r�r�s r\�test_cannot_instantiate_forwardz.AnnotatedTests.test_cannot_instantiate_forward:!s-���m�$��
�
�
�y�
)�
�a�D�*�
)�
)�s� 1�:c��ttdf}|jt�5|d�ddd�y#1swYyxYw)NrqrV)r@rr�r�r�s r\� test_cannot_instantiate_type_varz/AnnotatedTests.test_cannot_instantiate_type_var?!s1���a��i� ��
�
�
�y�
)�
�a�D�*�
)�
)�s � 7�Ac��|jt�5ttdfjddd�y#1swYyxYw)N)rVr)r�rr@rr�r�s r\�test_cannot_getattr_typevarz*AnnotatedTests.test_cannot_getattr_typevarD!s.��
�
�
�~�
.��a��i� �"�"�/�
.�
.�� �9�Ac��Gd�d�}t|df}|j|jd�d|_|j|jd�y)Nc��eZdZdZy)�/AnnotatedTests.test_attr_passthrough.<locals>.CrUN)rhrirjrdrkr^r\rBrzI!s���Hr^rBrerUrV)r@r�rdr�rns r\�test_attr_passthroughz$AnnotatedTests.test_attr_passthroughH!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>.CrUrerdr8
r�N)
rhrirjrdr@r$r�r�r�r%rkr^r\rBr~R!s2��AB�H�i���
�~� =�>�B�45�E�9�U�3�Z��0�1�5r^rBrdr�)r�r+rr$r�r%r$s r\�test_special_form_containmentz,AnnotatedTests.test_special_form_containmentQ!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>.CNr|rkr^r\rBr�[!r�r^rBr>r$s r\r�z#AnnotatedTests.test_cannot_subclassY!s,��
�
#�
#�I�/L�
M�
�I�
�N�
M�
M�r`
c��|jt�5tdttdf�ddd�y#1swYyxYw)NrV�positive)r�r�r�r@r�r�s r\�test_cannot_check_instancez)AnnotatedTests.test_cannot_check_instance^!s/��
�
�
�y�
)��q�)�C��O�4�5�*�
)�
)�rwc��|jt�5ttttdf�ddd�y#1swYyxYw)Nr�)r�r�rTr�r@r�s r\�test_cannot_check_subclassz)AnnotatedTests.test_cannot_check_subclassb!s/��
�
�
�y�
)��s�I�c�:�o�6�7�*�
)�
)�s �=�Ac�t�|jtd�5ttddd�y#1swYyxYw)Nzat least two arguments)r�r�r@r�r�s r\�test_too_few_type_argsz%AnnotatedTests.test_too_few_type_argsf!s'��
�
#�
#�I�/G�
H��c�N�I�
H�
H�s�.�7c���tjtjttftj
tttdftjtgtfg}|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.rrn)�protocolr�c��eZdZdZy)�_Annotated_test_GrnNr{rkr^r\r�r�z!r�r^r�zA decorationr�r)rcr
rr�r�rrr"r�r@rrrsrtrurvrur�r#rr�rkr*r�)
rWr"r�r��protr��restoredr�rqrRs
r\r$zAnnotatedTests.test_picklej!sr���:�:�v�|�|�C��H�5��?�?�3�'��s�C�x���?�?�C�5�%�<�0�2���A��!�S�&�!�A��f�5�5��9�:���\�\�4�a�\�8�$�l�l�1�d�3�G�%�|�|�G�4�H��$�$�Q��1�9�8�;�� ���
� �
�'��,�n�<�=���������6�2�2�Q�6�7�E����Q��&�A����Q��A����Q�U�U�B�'����Q�U�U�E�*����Q�S�S�!�$�8�9�8�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)Nrezanother decoration)r@rr�r�rr�r�rcr rrr�)rWr��dec2r�r�rE�ItrUs r\�
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 |tt
ftttt
f|f�|jt�5tg|�|��ddd�ttt||f}|j |t
ttt
|f�|j |tt
ftttt
f|f�|jt�5tt||fddd�tt|g|��|f}|j |t
ttt
|f�|j |t
tfttt
tf|f�|j |t
ttfttt
ttf|f�|jt�5|dddd�tt|t|f|f} |j | t
ttt
|f�|j | t
tfttt
tf|f�|j | t
ttfttt
ttf|f�|jt�5| dddd�ttg|�|��|f}
|j |
t
ttt
|f�|j |
t
tfttt
tf|f�|j |
t
ttfttt
ttf|f�|jt�5|
dddd�ttt||f|f}|j |t
ttt
|f�|j |t
tfttt
tf|f�|j |t
ttfttt
ttf|f�|jt�5|dddd�tt|g|�|��|f}|j |t
tfttt
tf|f�|j |t
ttfttt
ttf|f�|j |t
tttfttt
tttf|f�|jt�5|t
ddd�tt|t||f|f}
|j |
t
tfttt
tf|f�|j |
t
ttfttt
ttf|f�|j |
t
tttfttt
tttf|f�|jt�5|
t
ddd�td�}td�}td �}||g|�|��}||t||f}|tt|g|�|��|ff|tt|t||f|ff|t
tfttt
tf|ff|t
tfttt
tf|ff|t
ttfttt
ttf|ff|t
ttfttt
ttf|ff|t
tttfttt
tttf|ff|t
tttfttt
tttf|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)
Nrer�rr"r#rkrr4�T4)
rrr@r�r�r�r�r�r�rrr{r,)rWr�r�rr"r#r�r�rBrEr�r�r�r�rr4r�r�r�r�r�s r\�test_typevar_substz!AnnotatedTests.test_typevar_subst�!s�����
�$�
���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)NrV)rr@rr�r�r�s r\�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>.XNr|rkr^r\r�r�"r�r^r�r"
z Annotated should be transparent.)r@r�r�r�r�r�s r\�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>.ANr|rkr^r\r�r�!"r�r^r�c��eZdZy)�:AnnotatedTests.test_annotated_cached_with_types.<locals>.BNr|rkr^r\r�r�""r�r^r�r�rr�rng�?T)
r�r@rBr�r�r�r� r�r{r,)rWr�r��field_a1�field_a2�a1_metadata�a2_metadata�field_b1�field_b2�b1_metadata�b2_metadata�field_c1�field_c2�field_c3s r\� test_annotated_cached_with_typesz/AnnotatedTests.test_annotated_cached_with_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)rhrirjr?r�r^r~rKrRrVr\rfrirorrrtrvr{rr�r�r�r�r$r�r�r�r�r�rkr^r\r<r<� s����
�8�,�99�v 5� ��(1�&@�
&��
�
#�!�L��
6�8��%�<�:p�d:�=�
<r^r<c�B�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zy
)�TypeAliasTestsc��t}yrb�r{�rWrs r\�-test_canonical_usage_with_variable_annotationz<TypeAliasTests.test_canonical_usage_with_variable_annotationD"s��#�r^c��t}yrbr�r�s r\�&test_canonical_usage_with_type_commentz5TypeAliasTests.test_canonical_usage_with_type_commentG"s���r^c�l�|jt�5t�ddd�y#1swYyxYwrb)r�r�rDr�s r\r�z&TypeAliasTests.test_cannot_instantiateJ"s!��
�
�
�y�
)��K�*�
)�
)�rfc�x�|jt�5tdt�ddd�y#1swYyxYwr�)r�r�r�rDr�s r\rLz!TypeAliasTests.test_no_isinstanceN"s&��
�
�
�y�
)��r�9�%�*�
)�
)�r�c�Z�Gd�d�}|jt|�dti�y)Nc��eZdZUded<y)�/TypeAliasTests.test_stringized_usage.<locals>.ArDrNrsrkr^r\r�r�S"s���Nr^r�r)r�r+rDr�s r\�test_stringized_usagez$TypeAliasTests.test_stringized_usageR"s&�� � ������*�S�)�,<�=r^c��|jt�5ttt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrb)r�r�rTr{rDr�s r\�test_no_issubclassz!TypeAliasTests.test_no_issubclassW"sS��
�
�
�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>.CNr|rkr^r\rBr�a"r�r^rBc��eZdZy)�.TypeAliasTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�e"r�r^rE)r�r�rDr�r�rFs r\r�z#TypeAliasTests.test_cannot_subclass^"sb��
�
#�
#�I�4�6�
�I�
�6�
�
�
�y�
)�
�D��O�
�*�
)�6�6��
*�
)�s�A&�A2�&A/�2A;c�B�|jtt�d�y)Nztyping.TypeAlias)r�r�rDr�s r\r�zTypeAliasTests.test_reprh"s������i��*<�=r^c�r�|jt�5ttddd�y#1swYyxYwrb)r�r�rDr�r�s r\r=z$TypeAliasTests.test_cannot_subscriptk"s#��
�
�
�y�
)��c�N�*�
)�
)�r>N)rhrirjr�r�r�rLr�r�r�r�r=rkr^r\r�r�C"s/��$���&�>�
,��>�r^r�c�f�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z
d �Zd
�Zd�Z
d�Zd
�Zd�Zd�Zy)�ParamSpecTestsc���td�}|j||�|j|t�|j|jd�|j|jt�y)Nr�)rEr�r�rhrirns r\rxzParamSpecTests.test_basic_plainr"sS���c�N������A�����a��+�������S�)�������x�0r^c���i}td||�|d}|j|t�|j|jd�|j|jd�y)Nz0from typing import ParamSpec; P = ParamSpec("P")r�)rzr�rEr�rhr�ri)rWr|r�s r\r}z#ParamSpecTests.test_basic_with_execy"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) rErr"r�r�r�r�rr�rWr�rr&r'r(r)s r\�test_valid_useszParamSpecTests.test_valid_uses�"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|jt�|j|jj|�|j|jj|�|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�r��P.args�P.kwargs)
rEr[rZr�r�rGr�rHr�r�r�r�r�)rWr�r�s r\�test_args_kwargszParamSpecTests.test_args_kwargs�"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�r�
c��yrbrkr�s r\rkz-ParamSpecTests.test_stringized.<locals>.C.foo�"r�r^N)r�r�r�r�)rhrirjr"r�r�rkrkr^r\rBr��"s���3��8�$�$�
r^rBr�
r0)rEr#r�rrrr"r�rkr�r�r~s r\�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 |jd�|td f}|j |j
ttf�|j |jd�G�fd
�dt��}|tttg}|j |j
tttff�|j |jd�|tttf} |j | j
tttff�|j | jd�|j |j
| j
�|j |j| j�|j |j| j�|j || �|t}
|j |
j
tff�|j |
jd�|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>.Xrfr�N�rhrirjr"r�r�)r�rs��r\r�r��"s�����3�����Dr^r�rCrBrk.c�&��eZdZUeW�efed<y)�,ParamSpecTests.test_user_generics.<locals>.ZrfNr�)r�s�r\r�r��"s�����3���r^r�)rrEr#r�r�r�r�r�r�r�rFr,rO r�)
rWr�r�r�r��G3�G4r��G5�G6�G7r�rs
@@r\�test_user_genericsz!ParamSpecTests.test_user_generics�"s+����C�L���c�N������ ���1��
� ��s�C�x�[��������s�C�j�1�����*�*�S�F�3�
�
#�
#�I�/B�
C�
�c�F�D�
�
#�
#�I�/C�
D�
�c�3��m��E��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�$���E�
�
#�
#�I�/C�
D�
�c�4�i�L�E�
D�QD�
C��
D�
D��HE�
D��
D�
D�s0�
O �O-�O:�P� O*�-O7�:P�Pc����td��td��G��fd�dt��f�}|ttgtgf}|tgttgf}|j||�|j
|jttftff�|j
|jtfttff�y)Nr�r8c�<��eZdZUeW�efed<eW�efed<y)�CParamSpecTests.test_multiple_paramspecs_in_user_generics.<locals>.XrfrN)rhrirjr"r�r�r�)r�r8s��r\r�r��"s!�����3������C�� � r^r�)rEr#r�r�r�r�r�r�)rWr�r�r�r�r8s @@r\�)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|jttff�|tttgf}|j|jtttff�|tg}|j|jtff�|g}|j|jd�|jt�5|dddd�G��fd�dt�g����}|tgtf}|j|jtftf�|tgttf}|j|jtfttf�|tg}|j|jtff�|g}|j|jd�|jt�5|dddd�y#1swY��xYw#1swYyxYw) Nr�r�c�>��eZdZUeW�efed<egW���ed<y)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.XrfrN�rhrirjr"r�r�r�r�r�s��r\r�r��"������3�����S�b�S�z�Mr^r�)rkrkc�>��eZdZUeW�efed<egW���ed<y)�KParamSpecTests.test_typevartuple_and_paramspecs_in_user_generics.<locals>.YrfrNr�r�s��r\r�r�#r�r^r�)
rrEr#r�r�r�r�r�r�r�) rWr�r�r�r�r�r�r�r�s @@r\�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�)rc��eZdZy)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.XNr|rkr^r\r�r�"#r�r^r�c��eZdZy)�MParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases.<locals>.YNr|rkr^r\r�r�)#r�r^r�)rErrr"rrrurr�r�r�r{r�r�r#) rWr�rr�rBr�r�r�r�s r\�3test_typevartuple_and_paramspecs_in_generic_aliaseszBParamSpecTests.test_typevartuple_and_paramspecs_in_generic_aliases#ss���c�N���C�L��
�$�
���;�?�?�3�3�3�A����a��(��a��s��s��m�$���s�C�j�%��.�/��� � ����c�3��e�U�l�8K�-L�M�)�(�4� ���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�#)�(�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�.)rEr�r�r�r�r�r�rF)rWr�r�s r\r�z$ParamSpecTests.test_var_substitution0#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�)
rrEr�r�rrur�r�r�rcr"rr)rWrr�r�r�s r\r�z(ParamSpecTests.test_bad_var_substitution:#s����C�L���c�N����T�1�c�#�g�u�S�#�X��?���C����#��&��&�&�y�1��&�&�s�+�2��&�&�y�1��O�O�A�q�D�)�#�s�(�3�2��&�&�y�1��O�O�,�,�Q��T�2�3��8�<�2�'�&��1�1��1�1��1�1��'�&�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 | jt|ff�|j | t|ttg�||t|g}
|j |
j
||f�|j |
j|t|ff�|j |
ttf|tttg�|g|�t�}|j |j
|f�|j |jg|�t��f�|j |ttf|tttg�|tg|�}|j |j
|f�|j |jtg|��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 |jtg|��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 |jttf|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 |jg|�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 |jt|f|f�|j |t|ttgtf�|tg|�|f}|j |j
||f�|j |jtg|��|f�|j |tttf|tttgtf�y)Nrr#r�r8r�c��eZdZy)�DParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.BaseNr|rkr^r\r_ r�N#r�r^r_ c��eZdZy)�GParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.DoublePNr|rkr^r\�DoublePr��#r�r^r�c��eZdZy)�EParamSpecTests.test_type_var_subst_for_other_type_vars.<locals>.PandTNr|rkr^r\�PandTr��#r�r^r)rrErr#r�r�r�r�r�r,r�rr{r�)rWrr#r�r8r�r_ �A1r��A3�A4�A5�A5_2�A6�A7�A8�A9�A10r��B1�B2�B3�B4�B5�B6rr&r'r(s r\�'test_type_var_subst_for_other_type_varsz6ParamSpecTests.test_type_var_subst_for_other_type_varsG#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�)
rrEr"rr�r�r�r�r�r{)rWrr�r&r�r�r�rBs r\�!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
tfjtf�|j|tt
|fj|f�|j|tt|fjt|f�|j|djd�ttt
|ftf}|j|j|f�|j||j|f�|j|t
jd�|j|t
tfjtf�|j|tt
|fj|f�|j|tt|fjt|f�y)Nr�r8rk.)rEr"r�r�r�r�rrF)rWr�r8r&r's r\�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
�}|jttdz�5Gd�d|�}ddd�|jttdz�5Gd
�d|j�}ddd�|jttdz�5Gd�d|j�}ddd�y#1swY��'xYw#1swY��xYw#1swY��xYw#1swY��xYw#1swY�vxYw#1swYyxYw)NrEc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.CNr|rkr^r\rBr�#r�r^rBrGc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr�#r�r^rErHc��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r�#r�r^r�r�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r�#r�r^r�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.GNr|rkr^r\r�r �#r�r^r�c��eZdZy)�.ParamSpecTests.test_cannot_subclass.<locals>.HNr|rkr^r\r�r"�#r�r^r�) r�r�r�rErGrHr�r�r�)rWrBrEr�r�r�r�r�s r\r�z#ParamSpecTests.test_cannot_subclass�#s/��
�
#�
#�I���/L�
M�$�I�$�N�
�
#�
#�I���/P�
Q�(�M�(�R�
�
#�
#�I��AR�/R�
S�*�O�*�T��c�N��
�
#�
#�I�(�;�6�8��A��8��
#�
#�I�(�?�:�<�!�A�F�F�!�<��
#�
#�I�(�+<�<�>�#�A�H�H�#�>�>�N�
M��
Q�
Q��
S�
S��8�8��<�<��>�>�sG�E�E �E,�E8�9F�4F�E� E)�,E5�8F�F
�FN)rhrirjrxr}r�r�r�r�r�r�r�r�r�rrrr�rkr^r\r�r�p"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>.MyClassNr|rkr^r\r\
r'�#r�r^r\
)rErFr�)rWr�r\
rs r\r9zConcatenateTests.test_basics�#s/���c�N�������
�#�����A�{�+r^c���td�}tttt|f��}dD]/}|j|��5|j
||�ddd��1y#1swY�<xYw)Nr�rVrW)rErYrZrFr�rur[)rWr�r]rXs r\r^zConcatenateTests.test_dir$s^���c�N����K��Q��/�0�1� �
�M����M��:��
�
�m�Y�7�;�:�
�;�:�s�A"�"A+ c��td�}td�}ttt|ftf}|j|jtt|ftf�|j|j|f�ttt||f|f}|j|jtt||f|f�|j|j||f�tjjtt|ftf}|j|jtt|ftf�|j|j|f�tjjtt||f|f}|j|jtt||f|f�|j|j||f�yr�)
rErr"rFr�r�r�r�rrr�s r\r�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
tgftt
tf�|j|tgftf�|j|ttt
|ffttt
|f�|j|tdfttdf�tt|f}|j||tt|f�|j|t
tgtt
tf�|j|t
tftt
tf�|j|gtf�|j|tt
|fttt
|f�|j|dttdf�y)Nrr�r8.)rrErFr�r�r�r{)rWrr�r8rBs r\r�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)rhrirjr9r^r�r�rkr^r\r$r$�#s��,�8�4�$8r^r$c�*�eZdZd�Zd�Zd�Zd�Zd�Zy)�TypeGuardTestsc�
�ttdttfd�}|jt|�dtti�|j t
�5tttfddd�y#1swYyxYw)Nr�c��yrbrkr�s r\rkz'TypeGuardTests.test_basics.<locals>.foo4$r�r^)rIr�r�rr�r�r�r�s r\r9zTypeGuardTests.test_basics1$sX���#��+� �#��+�����S��H�i��n�#=�>�
�
�
�y�
)��c�3�h��*�
)�
)�s�A9�9Bc�N�|jtt�d�tt}|jt|�d�tt}|jt|�dt
z�ttt}|jt|�d�y)Nztyping.TypeGuardztyping.TypeGuard[int]ztyping.TypeGuard[%s.Employee]ztyping.TypeGuard[tuple[int]])r�r�rIr�r{rhr�r�
s r\r�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>.CNr|rkr^r\rBr2E$r�r^rBc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.DNr|rkr^r\rEr4H$r�r^rEz!Cannot subclass typing\.TypeGuardc��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.ENr|rkr^r\r�r6L$r�r^r�z(Cannot subclass typing\.TypeGuard\[int\]c��eZdZy)�.TypeGuardTests.test_cannot_subclass.<locals>.FNr|rkr^r\r�r8P$r�r^r�)r�r�r�r�rIr�r�
s r\r�z#TypeGuardTests.test_cannot_subclassC$s���
�
#�
#�I�/C�
D�
�D��O�
�E��
#�
#�I�/C�
D�
�D��3��(�
�E��
#�
#�I�$H�J�
�I�
�J��
#�
#�I�$O�Q�
�I�c�N�
�Q�Q�E�
D��E�
D��J�J��Q�Q�r�
c��|jt�5t�ddd�|jt�5tt��ddd�|jt�5tttt
��ddd�y#1swY�|xYw#1swY�VxYw#1swYyxYwrb)r�r�rIr�rr�r�s r\rIzTypeGuardTests.test_cannot_initS$s|��
�
�
�y�
)��K�*�
�
�
�y�
)��D��O��*�
�
�
�y�
)�*�D��8�C�=�)�*�,�*�
)� *�
)��
)�
)��
)�
)�r�
c��|jt�5tdtt�ddd�|jt�5ttt�ddd�y#1swY�<xYw#1swYyxYwrK)r�r�r�rIr�rTr�s r\rLz!TypeGuardTests.test_no_isinstance[$sS��
�
�
�y�
)��q�)�C�.�)�*�
�
�
�y�
)��s�I�&�*�
)�*�
)��
)�
)�r�
Nr�
rkr^r\r,r,0$s�� �C�� -�'r^r,�
SpecialAttrsP�
SpecialAttrsTc�D�eZdZd�Zej
de�Zd�Zd�Z y)�SpecialAttrsTestsc �B�itjd�tjd�tjd�tjd�tj
d�tjd�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�tjtNd�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� rtrr�
r�r�
r�
r"r� r�
r� rhr�
r�
r� r�r rZ rry
� ItemsViewr�rx�KeysViewrr��MappingViewr!r�
r�
r�
r5r� r�rzrr5�
ValuesView.r@r
r$rFr%rArr�rrrrDrIrrrB�
Annotationr�rsr�rcrn)Grcr� rtrr�
r�r�
r�
r"r� r�
r� rhr�
r�
r� r�r rZ rry
r@r�rxrArr�rBr!r�
r�
r�
r5r� r�rzrr5rCr
r@r$rFr%rArr�rrrrDrIrrrBr�r;r{r�rur�rhr�rjrirrrsrtrvrur�)rW�cls_to_checkrXr�rqr�r#s r\r�z$SpecialAttrsTests.test_special_attrsh$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]rhrjrcrn�TypeNamerFr<r;)rcrAr�rlr�rirrrsrtr�r�rvr>rHrhrjrur�r<r;)rWr_rqr�r#s r\�test_special_attrs2z%SpecialAttrsTests.test_special_attrs2�$s`���
�
�z�
*�������Z�0�1������^�4�5��������1��6�2�2�Q�6�7�E��"�"�9�-����R��'�.�-�8�
���*�3�3�<�<�j�I�����&�&�3�3�(�
�
����&�&�1�1��
�
�6�2�2�Q�6�7�E����.�7�7��?�A��\�\�!�_�F��M�M�+�4�4�f�=�8�
����/�/��A�������?�@�����1�1�8�<��6�2�2�Q�6�7�E����]�E�2�A��\�\�!�_�F��M�M�-��0�8�
����/�/��A�������?�@�����1�1�8�<��6�2�2�Q�6�7�E����]�E�2�A��\�\�!�_�F��M�M�-��0�8�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��yrbrkr�s r\r*z8SpecialAttrsTests.test_genericalias_dir.<locals>.Foo.bar%r�r^rPrUN)rhrirjr*r`� __magic__rkr^r\r�rL%s��
��C��Ir^r�)r*r`r�r�r�rWrN)r#rrYrZr�rur[rN)rWr�r]rXs r\�test_genericalias_dirz'SpecialAttrsTests.test_genericalias_dir%ss�� �'�!�*� ���C��H�
�&� �
�M����M��:��
�
�m�Y�7�;�:�
�
����i�0�;�:�s� A9�9B N)
rhrirjr�rcr�r
rHrIrOrkr^r\r>r>f$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'
)r�rJr�r0r��getvalue)rWrV�stderrs r\�test_reveal_typez RevealTypeTests.test_reveal_type.%sJ���h��
�
�&��M�M�#�{�3�/�0��������*�,H�I��
�s�A�A#N)rhrirjrUrkr^r\rQrQ-%s��Jr^rQc��eZdZd�Zd�Zd�Zy)�DataclassTransformTestsc
��ddd�dtdtfd�}tdd��|�}Gd�d �}|j||�|j|jddddd
id��|j|dd��|�|�y)NFT��frozen�kw_onlyrZr[c��d�S)Nc��|Srbrkr�s r\r1zNDataclassTransformTests.test_decorator.<locals>.create_model.<locals>.<lambda>8%s��sr^rkrYs r\�create_modelz<DataclassTransformTests.test_decorator.<locals>.create_model7%s��"�"r^)�kw_only_default�
order_defaultc��eZdZUeed<y)�=DataclassTransformTests.test_decorator.<locals>.CustomerModelr�Nr�rkr^r\�
CustomerModelrb<%����Gr^rcrk��
eq_defaultr`r_�frozen_default�field_specifiersr�)r,r1r�r��__dataclass_transform__)rWr^� decoratedrcs r\�test_decoratorz&DataclassTransformTests.test_decorator6%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�rZrZc��yrbrk)rXrZs r\r�zLDataclassTransformTests.test_base_class.<locals>.ModelBase.__init_subclass__R%s��r^N)rhrirjr,r�rkr^r\� ModelBasernQ%s
��9>�D�$�Dr^rqT)rfr`�make_everything_awesomec��eZdZUeed<y)�>DataclassTransformTests.test_base_class.<locals>.CustomerModelr�Nr�rkr^r\rcrt[%rdr^rcroFrkrrre)r1r�r�rir])rWrq� Decoratedrcs r\�test_base_classz'DataclassTransformTests.test_base_classP%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|jdddd|fid��|j||�y)Nc��eZdZy)�5DataclassTransformTests.test_metaclass.<locals>.FieldNr|rkr^r\�Fieldrym%r�r^rzc�*��eZdZdd�def�fd�Z�xZS)�9DataclassTransformTests.test_metaclass.<locals>.ModelMetaT��initr~c�(��t�|�||||�Srb)r�r�)rXr�r�� namespacer~r�s �r\r�zADataclassTransformTests.test_metaclass.<locals>.ModelMeta.__new__p%s����w��s�D�%��C�Cr^)rhrirjr,r�r�r�s@r\� ModelMetar|o%s���=A�
D�6:�
D�
Dr^r�T)r`rgrhc��eZdZy)�9DataclassTransformTests.test_metaclass.<locals>.ModelBaseNr|rkr^r\rqr�y%r�r^rqr�c��eZdZUeed<y)�=DataclassTransformTests.test_metaclass.<locals>.CustomerModelr�Nr�rkr^r\rcr�{%rdr^rcFr}re)r�r1r�r�rir�)rWrzr�rurqrcs r\�test_metaclassz&DataclassTransformTests.test_metaclassl%s����� D�� D�
�'��t�u�h�
�
�� � 2�)�1� �I�E� �
�
�
�i��+�����-�-�"�!%�#(�"&�%*�H��
�
�
���m�Y�7r^N)rhrirjrkrvr�rkr^r\rWrW5%s��
�48�88r^rWc��eZdZdZd�Zd�Zy)�AllTestszTests for __all__.c���ddlm}|jd|�|jd|�|jd|�|jd|�|jd|�|jd|�|jd |�|jd
|�|jd|�|jd|�|jd
|�|jd|�|jd|�y)Nr)r� r� rCr)rrhrt�ior��osrP
�Textr,r#)rcr� r[rNrF
s r\�test_allzAllTests.test_all�%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)Nrh>r�r�)rN �_contra�_cori)rYrcr� rOr�r�r��upperr� rh�assertSetEqual)rW�
actual_allrr��computed_alls r\�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)rhrirjrOr�r�rkr^r\r�r��%s���,�,6r^r�c
�f�eZdZeeeeefeeefee e
e
defe
egefeeedffZd�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 iterabler�)�_UNITERABLE_TYPESrur�r�r r�)rW�expected_error_regex� test_typerhs r\�test_cannot_iteratez&TypeIterationTests.test_cannot_iterate�%s���7���/�/�I����9��-��+�+�I�7K�L���O�M��+�+�I�7K�L���O�M��+�+�I�7K�L�&���'�M�.�-�0�L�L��L�L��L�L��.�-�sR�C�B+�C�%B7�1C�C�C�+B4�0C�7C�<C�C�C�C c�z�|jD],}|j|tjj��.yrb)r�r�rrr�)rW�type_to_tests r\� test_is_not_instance_of_iterablez3TypeIterationTests.test_is_not_instance_of_iterable�%s,�� �2�2�L��$�$�\�;�?�?�3K�3K�L�3r^N)rhrirjr
rr�r�rrrr"r@r�r�r�rkr^r\r�r��%sc���
�
�c�3�h��
�c�1�f�
��
����a����!��c�����!�R�%����
�Mr^r�c�V�ddl}|j|jt��|Srb)�doctest�addTests�DocTestSuiterc)�loaderr�patternr�s r\�
load_testsr��%s!��� �N�N�7�'�'��/�0��Lr^�__main__)�rlr�collections.abcr� functoolsrrrr�r�
r�rNrsr�rP
r�unittestrrr �
unittest.mockr
rrrcr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)r*r+r,r-r.r/r0r1r2r3r5r6r7r8r9r;r<r=r>r?r@rArBrCrDrErFrGrHrIrr~ r�r��test.supportrJrK�test.typinganndatarLrMrNr�r�r�rPryr{rr�r�r�r�r�rrr$rVrpr�r�r&r�r�r�r�rQr�rrr�r�r�rErKrMr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�
r�
r�
r�
r7r>rArCrFrIr:r<rArjrkrlrmrnror�
rqr�rzr�r�r�r�r�r6r�r�r�r�r�r�r�r�r�r��
FooGenericr�r�r�r�r�r�r�r�r�r�r�r�r�rtr�r�r�
r�
rr�rr�r�rj
rw
rgrwr�r�r�r(r�r�rr%r<r�r�r$r,r;r{r"r<r>rQrWr�r�r�rhrkr^r\�<module>r�s�����#�.�.� ����
� �
��)�)���5�5�;�;�8�8���+�+�4�4��<�<�7�7�!�'����&�9��?�?�'�'�!�(�&��I�I��
��
���6�T�T�@��C��>���8��* � � � �h� � �h� � �g�w� �C�|�C�L&%�&%�R-�(�,�-�(
8�%�|�
8�
�|�
�&65��65�r5>��5>�ng2�<�g2�TA,��S� �A,��c�4��9�n�9M�A,�RV�W\�]`�Wa�Rb�A,�H+�|�+�B@�L�@�HB'�,�B'�JB<��B<�J.$��.$�bPG��PG�f)'��)'�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�v0p�<�p�f!+&�L�+&�Z0#��0#�fG6�,�G6�T{9�\�{9�|���$
6�l�
6�"+��0�0��0��<�<��<�X1�l�X1�v���
����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�HSg�,�Sg�l1�L�1�:$%��$%�NK�(�K�R�<�R�jbG�l�bG�JhE�\�hE�V-&�L�-&�`-)�|�-)�`#(�l�#(�LL�l�L�^p<�\�p<�f
*�\�*�ZG$�\�G$�T48�|�48�l/'�\�/'�d!�� � ��1�
�������U�G�D�
�D1��D1�NJ�l�J�U8�l�U8�p)6�|�)6�XM��M�@��z���F���qj���6�6�!�9��?��?���s�0\�\<�\7�7\<
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists