AlkantarClanX12

Your IP : 18.224.65.198


Current Path : /opt/cloudlinux/venv/lib/python3.11/site-packages/astroid/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib/python3.11/site-packages/astroid/__pycache__/bases.cpython-311.pyc

�

�܋f�c���dZddlmZddlZddlZddlZddlmZddlmZm	Z	m
Z
ddlmZm
Z
ddlmZddlmZmZmZmZdd	lmZmZmZmZdd
lmZmZmZddlmZm Z m!Z!m"Z"ej#dkrdd
lm$Z$ndd
l%m$Z$erddl&m'Z'e"d��Z(e"d��Z)e"d��Z*dZ+dZ,ddhZ-ere-�.d��hd�Z/d4d5d�Z0Gd�d��Z1	d4d6d$�Z2d%�Z3Gd&�d'e1��Z4Gd(�d)e4��Z5Gd*�d+e1��Z6Gd,�d-e6��Z7Gd.�d/e4��Z8Gd0�d1e8��Z9Gd2�d3e4��Z:dS)7zXThis module contains base classes and functions for the nodes and some
inference utils.
�)�annotationsN)�Sequence)�
TYPE_CHECKING�Any�ClassVar)�
decorators�nodes)�
PY310_PLUS)�CallContext�InferenceContext�bind_context_to_node�copy_context)�AstroidTypeError�AttributeInferenceError�InferenceError�NameInferenceError)�
InferBinaryOp�InferenceErrorInfo�InferenceResult)�Uninferable�UninferableBase�lazy_descriptor�lazy_import)��)�Literal)�
Constraintzinterpreter.objectmodel�helpers�manager�__bool__�builtinszbuiltins.propertyzabc.abstractpropertyz
enum.property>�lazy�reify�LazyProperty�lazyproperty�
lazy_property�
lazyattribute�cache_readonly�cachedproperty�lazy_attribute�cached_property�DynamicClassAttribute�context�InferenceContext | None�return�boolc�(��|�|���}t�|��rdSd�|D���t�fd�tD����rdS|jsdS|jjpdD]�}t�||���}|�t|t��r�6|jjdkrR|j
D]J}|jjdkr�|�|j��\}}|jd	kr|jd
krdS�K��dS)N�r-Tc�n�h|]2}t|t���|�d��d��3S)�.���)�
isinstancer�split)�.0�names  �^/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/astroid/bases.py�	<setcomp>z_is_property.<locals>.<setcomp>QsG�������$��0�0���
�
�3��������c3� �K�|]}|�vV��	dS�N�)r8r9�strippeds  �r:�	<genexpr>z_is_property.<locals>.<genexpr>Vs(�����
<�
<��4�8��
<�
<�
<�
<�
<�
<r<Fr?�ClassDef�Namer!�property)�decoratornames�
PROPERTIES�intersection�any�POSSIBLE_PROPERTIESrr	r�
safe_inferr6r�	__class__�__name__�bases�lookupr9)	�methr-rE�	decorator�inferred�
base_class�module�_r@s	        @r:�_is_propertyrUMsQ����(�(��(�9�9�N����~�.�.���t���"����H�
�
<�
<�
<�
<�(;�
<�
<�
<�<�<���t��?���u��_�*�0�b�
 �
 �	��%�%�i��%�A�A����z�(�O�D�D�����&�*�4�4�&�n�
 �
 �
��'�0�F�:�:��&�-�-�j�o�>�>�	����;�*�,�,���J�1N�1N��4�4�4����5r<c�@�eZdZUdZdZded<	ddd�Zd	�Z	ddd�ZdS)�Proxyz�A simple proxy object.

    Note:

    Subclasses of this object will need a custom __getattr__
    if new instance attributes are created. See the Const class
    N�,nodes.ClassDef | nodes.Lambda | Proxy | None�_proxied�proxiedr/�Nonec�n�|�+t|tjttf��sJ�dS||_dSr>)r6r	�Const�	Generator�	UnionTyperY)�selfrZs  r:�__init__zProxy.__init__xs;���?��d�U�[�)�Y�$G�H�H�H�H�H�H�H�#�D�M�M�Mr<c�|�|dkr|jjS||jvr
|j|St|j|��S)NrY)rKrY�__dict__�getattr)r`r9s  r:�__getattr__zProxy.__getattr__�sD���:����>�*�*��4�=� � ��=��&�&��t�}�d�+�+�+r<r-r.�kwargsr�Kcollections.abc.Generator[InferenceResult, None, InferenceErrorInfo | None]c+�K�|V�dSr>r?)r`r-rfs   r:�inferzProxy.infer�s�����
�
�
�
�
r<r>)rZrXr/r[)r-r.rfrr/rg)	rL�
__module__�__qualname__�__doc__rY�__annotations__rarerir?r<r:rWrWks����������	
�
�����
GK�
$�
$�
$�
$�
$�,�,�,�26�������r<rW�stmts�3Sequence[nodes.NodeNG | UninferableBase | Instance]�frame�nodes.NodeNG | Instance | None�6collections.abc.Generator[InferenceResult, None, None]c#���K�d}d}|�7|j}|���}|j�|i��}nd}i}t	��}|D]�}t|t��r|V�d}�|�||��|_	t��}|�	��D]/\}	}
|	�
|��s|�|
���0|�|���D]&�t�fd�|D����r�V�d}�$d}�'��#t$rY��t$rt V�d}Y��wxYw|s
|rt V�dS|std|||����dS)zGReturn an iterator on statements inferred by each statement in *stmts*.FNTr2c3�B�K�|]}|����V��dSr>)�satisfied_by)r8�
constraint�infs  �r:rAz_infer_stmts.<locals>.<genexpr>�s1�����W�W�
�z�.�.�s�3�3�W�W�W�W�W�Wr<z.Inference failed for all members of {stmts!r}.)rnrpr-)�
lookupname�clone�constraints�getrr6r�_infer_name�set�items�	parent_of�updateri�allrrr)rnr-rprQ�constraint_failedr9rz�stmt�stmt_constraints�constraint_stmt�potential_constraintsrws           @r:�_infer_stmtsr��s
������H������!���-�-�/�/���)�-�-�d�B�7�7�������"�$�$�������d�O�,�,�	��J�J�J��H��!�-�-�e�T�:�:���	�03����:E�:K�:K�:M�:M�
C�
C�6��!6�&�0�0��6�6�C�$�+�+�,A�B�B�B���z�z�'�z�2�2�
-�
-���W�W�W�W�FV�W�W�W�W�W�-��I�I�I�#�H�H�(,�%�%�
-��"�	�	�	��H��	�	�	������H�H�H�	�����
�)�
�������
�
��<����	
�
�
�	
�
�
s�BD�
E�+E�Ec�$�t|�||���d��}|r�t|d��r�|���stS	tg|���|_|�||���D]x}t|t��r|cS	t|�
|�����}n##t$r}t|���|�d}~wwxYw|�
��cSn#t$rYnwxYwtS)Nr2�infer_call_result��args�callee)�next�igetattr�hasattr�callablerr�callcontextr�r6rri�
StopIterationr�
bool_value)�instance�method_namer-rO�valuerQ�es       r:�_infer_method_result_truthr��sK����!�!�+�w�!�?�?��F�F�D�����1�2�2���}�}���	���	�"-�2�d�"C�"C�"C�G���/�/��'�/�J�J�
-�
-���e�_�5�5�!� �L�L�L�A�#�E�K�K��K�$@�$@�A�A�H�H��$�A�A�A�(��9�9�9�q�@�����A�����*�*�,�,�,�,�,�
-���	�	�	��D�	�����s7�AC;�#C�C;�
C!�C�C!�!C;�;
D�Dc�H�eZdZdZdZdd�Zddd	�Zddd
�Zddd�Z	ddd�Z	dS)�BaseInstancezWAn instance base class, which provides lookup methods for potential
    instances.
    Nr/�strc��dS�NzInstance ofr?�r`s r:�display_typezBaseInstance.display_type�����}r<Tr-r.c��	|j�||��}ny#t$rl}|jr)||jvr |j�|��gcYd}~S|r"|j�||d���cYd}~St|||���|�d}~wwxYw|r1	||j�||d���zS#t$rYnwxYw|S)NF��
class_context)�target�	attributer-)rY�
instance_attrr�special_attributesrNrd)r`r9r-�lookupclass�values�excs      r:rdzBaseInstance.getattr�s;��
	��]�0�0��w�?�?�F�F��&�	�	�	��&�
>�4�4�3J�+J�+J��/�6�6�t�<�<�=�=�=�=�=�=�=��
Q��}�,�,�T�7�%�,�P�P�P�P�P�P�P�P�)��t�W�����
�����	�����	�
���
� 5� 5��'��!6�!�!����+�
�
�
���
�����
s>��
B�*B�B�B�6B�<B�B�B:�:
C�Cc	#�4K�|st��}	||_|�|j��rt	d||����|�||d���}t
|�||��||���Ed{V��dS#t$r�	|jj	j
dkr�|j�||d���}|�||��Ed{V��YdS#t$r}t	d	it|����|�d}~wwxYwwxYw)
zInferred getattr.z%Cannot infer the same attribute again)�message�noder-F)r�)rpNrBr�r?)
rrx�pushrYrrdr��
_wrap_attrrrKrLr��vars)r`r9r-�get_attr�attrs�errors      r:r�zBaseInstance.igetattrs������	)�&�(�(�G�	?�!%�G���|�|�D�M�*�*�
�$�C��#������|�|�D�'�u�|�E�E�H�#�����'�2�2�G�4����
�
�
�
�
�
�
�
�
��'�
	?�
	?�
	?�	
?��=�*�3�z�A�A���
�.�.�t�W�E�.�R�R���?�?�5�'�:�:�:�:�:�:�:�:�:�:�:�:��*�
?�
?�
?�$�3�3�t�E�{�{�3�3��>�����
?����
	?���s+�A7B
�
D�AC*�*
D�4D�D�Dc#�xK�|D]�}t|t��r?t|��r|�||��Ed{V���Ct	||��V��Vt|d��rJ|jdkr?|jjr.|jjdjdkrt	||��V���|V���|V���dS)z8Wrap bound methods of attrs in a InstanceMethod proxies.Nr9z<lambda>rr`)	r6�
UnboundMethodrUr��BoundMethodr�r9r��	arguments)r`r�r-�attrs    r:r�zBaseInstance._wrap_attr!s������	�	�D��$�
�.�.�
���%�%�2�#�5�5�d�G�D�D�D�D�D�D�D�D�D�D�%�d�D�1�1�1�1�1�1���v�&�&�
�4�9�
�+B�+B��9�&��4�9�+>�q�+A�+F�&�+P�+P�%�d�D�1�1�1�1�1���
�
�
�
��
�
�
�
�	�	r<�caller�nodes.Call | Proxyc#��K�t||��}d}t|tj��rHt|jtj��r)|�|jj|��D]}d}|V��	|j�d|��D]K}t|t��s|�
��s�,|�||��D]}d}|V��	�L|st|||����dS)z5Infer what a class instance is returning when called.FT�__call__)r�r�r-N)
r
r6r	�Call�func�	Attributer��attrnamerYrr�r�r)r`r�r-rQ�resr�s      r:r�zBaseInstance.infer_call_result1s ����'�w��5�5�����f�e�j�)�)�	�j���e�o�.V�.V�	��}�}�V�[�%9�7�C�C�
�
�����	�	�	�	��M�*�*�:�w�?�?�	�	�D��$��0�0�
��
�
���
���-�-�f�g�>�>�
�
�����	�	�	�	�
��	L� �d�6�7�K�K�K�K�	L�	Lr<�r/r��NT�r-r.r>)r�r�r-r.)
rLrjrkrlr�r�rdr�r�r�r?r<r:r�r��s��������������������4?�?�?�?�?�>�����"NR�L�L�L�L�L�L�Lr<r�c���eZdZUdZded<ed���Zd�fd	�Zd
ed<dd
�Zdd�Z	dd�Z
dd�Zdd�Zddd�Z
ddd�Z�xZS)�Instancez-A special node representing a class instance.�nodes.ClassDefrYc�4�t���Sr>)�objectmodel�
InstanceModelr?r<r:�<lambda>zInstance.<lambda>Os���1J�1J�1L�1L�r<rZ�nodes.ClassDef | Noner/r[c�J��t���|��dSr>)�superra)r`rZrKs  �r:razInstance.__init__Qs!���
������!�!�!�!�!r<z!ClassVar[InferBinaryOp[Instance]]�infer_binary_opr�c��d�|j���j|jjt	|����S)Nz<Instance of {}.{} at 0x{}>)�formatrY�rootr9�idr�s r:�__repr__zInstance.__repr__Vs=��,�3�3��M��� � �%�t�}�'9�2�d�8�8�
�
�	
r<c�^�d|j���j�d|jj��S)NzInstance of r4)rYr�r9r�s r:�__str__zInstance.__str__[s.��N�d�m�0�0�2�2�7�N�N�$�-�:L�N�N�Nr<r0c�b�	|j�dd���dS#t$rYdSwxYw)Nr�Fr�T)rYrdrr�s r:r�zInstance.callable^sI��	��M�!�!�*�E�!�B�B�B��4��&�	�	�	��5�5�	���s� �
.�.c�4�|j���Sr>)rY�qnamer�s r:�pytypezInstance.pytypees���}�"�"�$�$�$r<c��dSr�r?r�s r:r�zInstance.display_typehr�r<Nr-r.c���|p
t��}||_	t|t|��}nC#tt
f$r/	t|d|��}n#t
tf$rYYdSwxYwYnwxYw|S)aWInfer the truth value for an Instance.

        The truth value of an instance is determined by these conditions:

           * if it implements __bool__ on Python 3 or __nonzero__
             on Python 2, then its bool value will be determined by
             calling this special method and checking its result.
           * when this method is not defined, __len__() is called, if it
             is defined, and the object is considered true if its result is
             nonzero. If a class defines neither __len__() nor __bool__(),
             all its instances are considered true.
        �__len__T)r�	boundnoder��BOOL_SPECIAL_METHODrr)r`r-�results   r:r�zInstance.bool_valueks����/�-�/�/�� ���	�/��6I�7�S�S�F�F��� 7�8�	�	�	�
�3�D�)�W�M�M����+�^�<�
�
�
��t�t�t�
������	�����
s3�0�A0�A�A0�A*�%A0�)A*�*A0�/A0c��t||��}|s|}t|�d|���d��}t|g|���|_t|t��std||����t|j	j
��dkrtd||����t|�||��d��S)N�__getitem__r2r�z(Could not find __getitem__ for {node!r}.)r�r-�z8__getitem__ for {node!r} does not have correct signature)
r
r�r�rr�r6r�r�lenr�r�rr�)r`�indexr-�new_context�methods     r:�getitemzInstance.getitem�s���*�7�D�9�9���	"�!�G��d�m�m�M�7�m�C�C�T�J�J��"-�E�7�6�"J�"J�"J����&�+�.�.�	� �:��w����
��v�{�$�%�%��*�*�"�J������
�
�F�,�,�T�;�?�?��F�F�Fr<)rZr�r/r[r�)r/r0r>r�)rLrjrkrlrmrr�rar�r�r�r�r�r�r��
__classcell__�rKs@r:r�r�Is��������7�7�����)��)L�)L�M�M��"�"�"�"�"�"�7�6�6�6�
�
�
�
�
O�O�O�O�����%�%�%�%����������4G�G�G�G�G�G�G�G�Gr<r�c�n�eZdZdZed���Zdd�Zdd�Zdd	�Zddd
�Z	ddd�Z
d�Zdd�Zddd�Z
d
S)r�z>A special node representing a method not bound to an instance.c�4�t���Sr>)r��UnboundMethodModelr?r<r:r�zUnboundMethod.<lambda>�s���1O�1O�1Q�1Q�r<r/r�c���|jj�d���}d�|jj|jj|���t|����S)NT��futurez<{} {} of {} at 0x{})	rY�parentrpr�rKrLr9r�r�)r`rps  r:r�zUnboundMethod.__repr__�sV���
�$�*�*�$�*�7�7��%�,�,��N�#�T�]�%7�������4���
�
�	
r<�
Literal[0]c��dS)Nrr?r�s r:�implicit_parametersz!UnboundMethod.implicit_parameters�s���qr<�Literal[False]c��dS�NFr?r�s r:�is_boundzUnboundMethod.is_bound�����ur<Nr-r.c��||jvr|j�|��gS|j�||��Sr>)r�rNrYrd�r`r9r-s   r:rdzUnboundMethod.getattr�sB���4�*�*�*��+�2�2�4�8�8�9�9��}�$�$�T�7�3�3�3r<c��||jvr(t|j�|��f��S|j�||��Sr>)r��iterrNrYr�r�s   r:r�zUnboundMethod.igetattr�sJ���4�*�*�*���0�7�7��=�=�?�@�@�@��}�%�%�d�G�4�4�4r<c��|jjdkrc|jj�d������}|�d��r|dkr|�||��S|j�||��S)a�
        The boundnode of the regular context with a function called
        on ``object.__new__`` will be of type ``object``,
        which is incorrect for the argument in general.
        If no context is given the ``object.__new__`` call argument will
        be correctly inferred except when inside a call that requires
        the additional context (such as a classmethod) of the boundnode
        to determine which class the method was called from
        �__new__Tr�z	builtins.�
builtins.type)rYr9r�rpr��
startswith�_infer_builtin_newr�)r`r�r-r�s    r:r�zUnboundMethod.infer_call_result�s����=���*�*��M�(�.�.�d�.�;�;�A�A�C�C�E�����,�,�
@��/�1I�1I��.�.�v�w�?�?�?��}�.�.�v�w�?�?�?r<r��
nodes.Callr�Ocollections.abc.Generator[nodes.Const | Instance | UninferableBase, None, None]c#�K�|jsdSt|j��dkr�d}t|jdtj��r|jdj}nNt
|jd���d��}t|tj��r|j}|�tj|��V�dS|j	�
|jd��}|jd�|���D]L}t|t��r|V�t|tj��rt|��V�t�dS)N�rr2)r�r�r6r	r]r�r�ri�
const_factory�
extra_contextr{rrBr�r)r`r�r-r��inferred_arg�node_contextrQs       r:rz UnboundMethod._infer_builtin_new�sO�����{�	��F��v�{���a����E��&�+�a�.�%�+�6�6�
/���A��,���#�F�K��N�$8�$8�$:�$:�D�A�A���l�E�K�8�8�/�(�.�E�� ��)�%�0�0�0�0�0����,�0�0���Q��@�@����A��,�,�\�,�B�B�	!�	!�H��(�O�4�4�
������(�E�N�3�3�
)��x�(�(�(�(�(� � �	!�	!r<�
Literal[True]c��dSr�r?�r`r-s  r:r�zUnboundMethod.bool_value�����tr<r�)r/r��r/r�r>r�)r�rr-rr/r�r-r.r/r)rLrjrkrlrr�r�r�r�rdr�r�rr�r?r<r:r�r��s�������H�H�)��)Q�)Q�R�R��
�
�
�
���������4�4�4�4�4�
5�5�5�5�5�
@�@�@�(!�!�!�!�<������r<r�c�h��eZdZdZed���Z�fd�Zdd�Zdd�Zd	�Z	dd�fd
�
Z
ddd�Z�xZS)r�z:A special node representing a method bound to an instance.c�4�t���Sr>)r��BoundMethodModelr?r<r:r�zBoundMethod.<lambda>�s���1M�1M�1O�1O�r<c�X��t���|��||_dSr>)r�ra�bound)r`�proxyrrKs   �r:razBoundMethod.__init__�s&���
�����������
�
�
r<r/�
Literal[0, 1]c� �|jdkrdSdS)Nr�rr)r9r�s r:r�zBoundMethod.implicit_parameters�s���9�	�!�!��1��qr<rc��dSr�r?r�s r:r�zBoundMethod.is_bound�rr<c���ddlm}	t|jd�������}n##t
$r}t
����|�d}~wwxYw|jjdkrdS|�	d��sdS	t|jd�������}n##t
$r}t
����|�d}~wwxYw|jjdkrdSt|jt��sdS	t|jd	�������}n##t
$r}t
����|�d}~wwxYw|jjd
krdS	�fd�|j
D��}n##t
$r}t
����|�d}~wwxYwtd�|D����rdS	t|jd
�������}	n##t
$r}t
����|�d}~wwxYw|	jjdkrdStjt"��}
|	jD]�\}}	t|�������}n##t
$r}t
����|�d}~wwxYw	t|�������}n##t
$r}t
����|�d}~wwxYw|jjdkr:t|jt��r |
|j�|����|�|j|j|j|���}
|��}|
�|j
|ggd|g���|
|
_|
S)z�Try to infer what type.__new__(mcs, name, bases, attrs) returns.

        In order for such call to be valid, the metaclass needs to be
        a subtype of ``type``, the name needs to be a string, the bases
        needs to be a tuple of classes
        r)�Passr2NrBrrr]r��Tuplec�V��g|]%}t|���������&S)r2)r�ri)r8�eltr-s  �r:�
<listcomp>z4BoundMethod._infer_type_new_call.<locals>.<listcomp>)s/���U�U�U�3�d�3�9�9�W�9�#=�#=�>�>�U�U�Ur<c3�6K�|]}|jjdkV��dS)rBN)rKrL)r8�bases  r:rAz3BoundMethod._infer_type_new_call.<locals>.<genexpr>,s,����P�P��t�~�&�*�4�P�P�P�P�P�Pr<r�Dict)r9�lineno�
col_offsetr�T)rM�bodyr�newstyle�	metaclass�keywords)�
astroid.nodesrr�r�rir�rrKrL�
is_subtype_ofr6r�r��eltsrH�collections�defaultdict�listr~�appendr#r$�postinit�locals)r`r�r-r�mcsr�r9rM�inferred_basesr��
cls_locals�keyr��cls�emptys  `            r:�_infer_type_new_callz BoundMethod._infer_type_new_call�s���	'�&�&�&�&�&�	9��v�{�1�~�+�+�G�+�<�<�=�=�C�C���	9�	9�	9� ��1�1�1�q�8�����	9�����=�!�Z�/�/��4�� � ��1�1�	��4�	9����A��,�,�W�,�=�=�>�>�D�D���	9�	9�	9� ��1�1�1�q�8�����	9�����>�"�g�-�-��4��$�*�c�*�*�	��4�	9����Q��-�-�g�-�>�>�?�?�E�E���	9�	9�	9� ��1�1�1�q�8�����	9�����?�#�w�.�.��4�	9�U�U�U�U�%�*�U�U�U�N�N���	9�	9�	9� ��1�1�1�q�8�����	9�����P�P��P�P�P�P�P�	��4�	9����Q��-�-�g�-�>�>�?�?�E�E���	9�	9�	9� ��1�1�1�q�8�����	9�����?�#�v�-�-��4� �,�T�2�2�
��+�	4�	4�J�C��
=��3�9�9�W�9�5�5�6�6���� �
=�
=�
=�$�W�5�5�5�1�<�����
=����
=��U�[�[��[�9�9�:�:���� �
=�
=�
=�$�W�5�5�5�1�<�����
=�����}�%��0�0�Z��	�3�5O�5O�0��3�9�%�,�,�U�3�3�3���m�m����=��(��	�
�
�����������*�������
	�	
�	
�	
� ��
��
s��.8�
A�A�A�.B4�4
C�>C�C�.D5�5
E�?E�E�+E?�?
F�	F�F�>.G-�-
H
�7H�H
�#I,�,
J�6J�J�#J4�4
K�>K�KNr-r.c�R��t||j��}|jjjdkr[|jjdkrK|jdkr@t|j��dkr(|�||��}|rt|f��St���
||��S)NrB�typer��)r
rrKrLr9r�r�r8r�r�r�)r`r�r-�new_clsrKs    �r:r�zBoundMethod.infer_call_resultYs����&�w��
�;�;���J� �)�Z�7�7��
��6�)�)��	�Y�&�&��F�K� � �A�%�%��/�/���@�@�G��
(��W�J�'�'�'��w�w�(�(���9�9�9r<c��dSr�r?r
s  r:r�zBoundMethod.bool_valuehrr<)r/r)r/rr>r�r)
rLrjrkrlrr�rar�r�r8r�r�r�r�s@r:r�r��s��������D�D�)��)O�)O�P�P���������������Y�Y�Y�v
:�
:�
:�
:�
:�
:�
:���������r<r�c���eZdZUdZded<eej��Z	dd�fd�
Z	e
jd���Zdd�Z
dd
�Zdd�Zddd�Zdd�Zdd�Z�xZS)r^zeA special node representing a generator.

    Proxied class is set once for all in raw_building.
    r�rYN�generator_initial_contextr.c�~��t�����||_t|��|_dSr>)r�rar�r�
_call_context)r`r�r?rKs   �r:razGenerator.__init__vs9���	�����������)�*C�D�D����r<c#�TK�|j�|j��Ed{V��dSr>)r��infer_yield_resultrAr�s r:�infer_yield_typeszGenerator.infer_yield_types}s7�����;�1�1�$�2D�E�E�E�E�E�E�E�E�E�E�Er<r/r�c��dSr�r?r�s r:r�zGenerator.callable�r�r<�Literal['builtins.generator']c��dS)Nzbuiltins.generatorr?r�s r:r�zGenerator.pytype�s��#�#r<r�c��dS)Nr^r?r�s r:r�zGenerator.display_type�����{r<r-rc��dSr�r?r
s  r:r�zGenerator.bool_value�rr<c�R�d|jj�d|j�dt|���d�S)Nz<Generator(�) l.� at 0x�>�rYr9r#r�r�s r:r�zGenerator.__repr__��0��S�T�]�/�S�S�T�[�S�S��4���S�S�S�Sr<c�"�d|jj�d�S)Nz
Generator(�)�rYr9r�s r:r�zGenerator.__str__����1�D�M�.�1�1�1�1r<)NN)r?r.r)r/rFr�r>r)rLrjrkrlrmrr��GeneratorModelr�rar�cachedrDr�r�r�r�r�r�r�r�s@r:r^r^ls ����������
����(���)C�D�D��QU�E�E�E�E�E�E�E���F�F���F�����$�$�$�$����������T�T�T�T�2�2�2�2�2�2�2�2r<r^c�2�eZdZdZd
d�Zdd�Zdd�Zdd�Zd	S)�AsyncGeneratorz-Special node representing an async generator.r/�#Literal['builtins.async_generator']c��dS)Nzbuiltins.async_generatorr?r�s r:r�zAsyncGenerator.pytype�s��)�)r<r�c��dS)NrXr?r�s r:r�zAsyncGenerator.display_type�s���r<c�R�d|jj�d|j�dt|���d�S)Nz<AsyncGenerator(rLrMrNrOr�s r:r�zAsyncGenerator.__repr__�s1��X�$�-�"4�X�X�$�+�X�X�R�PT�X�X�X�X�X�Xr<c�"�d|jj�d�S)NzAsyncGenerator(rRrSr�s r:r�zAsyncGenerator.__str__�s��6���!3�6�6�6�6r<N)r/rYr�)rLrjrkrlr�r�r�r�r?r<r:rXrX�sn������7�7�*�*�*�*� � � � �Y�Y�Y�Y�7�7�7�7�7�7r<rXc�f��eZdZUdZded<	dd�fd�
Zdd�Zddd�Zdd�Zdd�Z	dd�Z
dd�Z�xZS)r_zoSpecial node representing new style typing unions.

    Proxied class is set once for all in raw_building.
    r�rYN�left�(UnionType | nodes.ClassDef | nodes.Const�rightr��nodes.NodeNG | Noner/r[c�r��t�����||_||_||_dSr>)r�rar�r_ra)r`r_rar�rKs    �r:razUnionType.__init__�s4���	�������������	���
�
�
r<r�c��dSr�r?r�s r:r�zUnionType.callable�r�r<r-r.rc��dSr�r?r
s  r:r�zUnionType.bool_value�rr<�Literal['types.UnionType']c��dS)Nztypes.UnionTyper?r�s r:r�zUnionType.pytype�s�� � r<r�c��dS)Nr_r?r�s r:r�zUnionType.display_type�rIr<c�R�d|jj�d|j�dt|���d�S)Nz<UnionType(rLrMrNrOr�s r:r�zUnionType.__repr__�rPr<c�"�d|jj�d�S)Nz
UnionType(rRrSr�s r:r�zUnionType.__str__�rTr<r>)r_r`rar`r�rbr/r[rr)r/rfr�)
rLrjrkrlrmrar�r�r�r�r�r�r�r�s@r:r_r_�s�����������
����'+�		�	�	�	�	�	�	����������!�!�!�!�����T�T�T�T�2�2�2�2�2�2�2�2r<r_r>)r-r.r/r0)rnror-r.rprqr/rr);rl�
__future__rr,�collections.abc�sysr�typingrrr�astroidrr	�
astroid.constr
�astroid.contextrrr
r�astroid.exceptionsrrrr�astroid.typingrrr�astroid.utilrrrr�version_infor�typing_extensions�astroid.constraintrr�rrr��BUILTINSrF�addrIrUrWr�r�r�r�r�r�r^rXr_r?r<r:�<module>rzs���
��#�"�"�"�"�"���������
�
�
�
�$�$�$�$�$�$�/�/�/�/�/�/�/�/�/�/�%�%�%�%�%�%�%�%�$�$�$�$�$�$�������������������������N�M�M�M�M�M�M�M�M�M�S�S�S�S�S�S�S�S�S�S�S�S���v����������)�)�)�)�)�)��.�-�-�-�-�-�-��k�3�4�4��
�+�i�
 �
 ��
�+�i�
 �
 ��!����!�#9�
:�
�
�$��N�N�?�#�#�#����������<&�&�&�&�&�&�&�&�X-1�1
�1
�1
�1
�1
�h���,hL�hL�hL�hL�hL�5�hL�hL�hL�VMG�MG�MG�MG�MG�|�MG�MG�MG�`O�O�O�O�O�E�O�O�O�d~�~�~�~�~�-�~�~�~�B%2�%2�%2�%2�%2��%2�%2�%2�P
7�
7�
7�
7�
7�Y�
7�
7�
7� #2�#2�#2�#2�#2��#2�#2�#2�#2�#2r<