AlkantarClanX12

Your IP : 13.58.200.16


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__/protocols.cpython-311.pyc

�

�܋fЀ���UdZddlmZddlZddlZddlZddlmZm	Z	m
Z
mZddlm
Z
mZddlmZmZmZmZmZmZddlmZddlmZmZdd	lmZmZmZmZm Z dd
l!m"Z"ddl#m$Z$m%Z%m&Z&ej'd��Z(ej'd
��Z)edej*ej+��Z,d�d�Z-d�d�Z.dZ/ddddddddddddd d!�
Z0d"�e0�1��D��Z2d#�e0�1��D��Z3d$d%d&dd'�Z4ej5ej6ej7ej8d'�Z9d(e:d)<d�d.�Z;d/�ej*_<d0�ej+_<d1�ej=_<d2�ej>_<d3�ej?_<d4�d5�d6�d7�d8�d9�d:�d;�d<�d=�d>�d?�ej@d!�
ZAeBeA�1����D]
\ZCZDeDeAeCd@z<�ejEd�dM���ZFeFej>_Gd�dP�ZHd�dT�ZIejEd�dW���ZJeJej*_GeJej+_GejEd�dZ���ZKeKejL_GeKejM_G	d[�ZNejO			d�d�db���ZPePejQ_RePejS_R			d�d�dd�ZTeTej*_ReTej+_R			d�d�df�ZUeUejV_ReUejW_Rd�di�ZX			d�d�dk�ZYeYejZ_RejO			d�d�dm���Z[			d�d�do�Z\e[ej]_Re\ej^_Re[ej__Rdp�Z`ejO			d�d�dr���Zaeaejb_Rds�ZcejO			d�d�du���Zdedeje_RejO		d�d�dw���Zfefejg_RejE			d�d�dy���Zheheji_RejE		d�d�d~���Zjejejk_RejE		d�d�d����Zlelejm_RejE		d�d�d����Znenejo_RdS)�zcThis module contains a set of functions to handle python protocols for nodes
where it makes sense.
�)�annotationsN)�Callable�	Generator�Iterator�Sequence)�Any�TypeVar)�	arguments�bases�
decorators�helpers�nodes�util)�Context)�InferenceContext�copy_context)�AstroidIndexError�AstroidTypeError�AttributeInferenceError�InferenceError�	NoDefault)�node_classes)�ConstFactoryResult�InferenceResult�SuccessfulInferenceResult�raw_building�objects�_TupleListNodeT�return�strc��d|dd�zS)N�__r����names �b/builddir/build/BUILD/cloudlinux-venv-1.0.6/venv/lib/python3.11/site-packages/astroid/protocols.py�_reflected_namer()����4����8���c��d|dd�zS)N�__ir#r$r%s r'�_augmented_namer--r)r*zcontextlib.contextmanager�__add__�__sub__�__truediv__�__floordiv__�__mul__�__pow__�__mod__�__and__�__or__�__xor__�
__lshift__�
__rshift__�
__matmul__)
�+�-�/z//�*�**�%�&�|�^z<<z>>�@c�4�i|]\}}|t|����Sr$)r(��.0�key�values   r'�
<dictcomp>rJBs3�����$0�S�%�C���	�	���r*c�:�i|]\}}|dzt|����S)�=)r-rFs   r'rJrJEs7�����*6�3��C�#�I��u�%�%���r*�__pos__�__neg__�
__invert__)r;r<�~�notzdict[str, Callable[[Any], Any]]�_UNARY_OPERATORS�objr�oprc�r�|tur|}nt|}||��}tj|��S)z{Perform unary operation on `obj`, unless it is `NotImplemented`.

    Can raise TypeError if operation is unsupported.
    )�NotImplementedrRr�
const_factory)rSrTrI�funcs    r'�_infer_unary_oprYWs>��
�n��������#����S�	�	����u�%�%�%r*c�F�tt|j��|��S�N)rY�tuple�elts��selfrTs  r'�<lambda>r`ds��o�e�D�I�>N�>N�PR�.S�.S�r*c�,�t|j|��Sr[)rYr]r^s  r'r`r`es��_�T�Y��-K�-K�r*c�F�tt|j��|��Sr[)rY�setr]r^s  r'r`r`fs��O�C��	�N�N�B�,O�,O�r*c�,�t|j|��Sr[)rYrIr^s  r'r`r`gs��o�d�j�"�.M�.M�r*c�F�tt|j��|��Sr[)rY�dict�itemsr^s  r'r`r`hs��_�T�$�*�=M�=M�r�-R�-R�r*c��||zSr[r$��a�bs  r'r`r`m�
��a�!�e�r*c��||z
Sr[r$ris  r'r`r`nrlr*c��||zSr[r$ris  r'r`r`orlr*c��||zSr[r$ris  r'r`r`p�
��q�A�v�r*c��||zSr[r$ris  r'r`r`qrlr*c��||zSr[r$ris  r'r`r`rs
��q�!�t�r*c��||zSr[r$ris  r'r`r`srlr*c��||zSr[r$ris  r'r`r`trlr*c��||zSr[r$ris  r'r`r`urlr*c��||zSr[r$ris  r'r`r`vrlr*c��||zSr[r$ris  r'r`r`wrpr*c��||z	Sr[r$ris  r'r`r`xrpr*rLr_�nodes.Const�opnode�nodes.AugAssign | nodes.BinOp�operator�otherr�contextr�_r�@Generator[ConstFactoryResult | util.UninferableBase, None, None]c#�K�tjt��}t|tj��r�|dkr^t|jt
tf��r=t|jt
tf��r|jdks|jdkr|V�dS	t|}	tj||j|j����V�dS#t$r|V�Ynt$rtjV�YnwxYwdSdS#t$r|V�YdSwxYwt|jt��r|dkrtjV�dS|V�dS)Nr?gj�@r@)r�ConstrV�
isinstancerI�int�float�BIN_OP_IMPLrW�	TypeError�	Exceptionr�Uninferabler )r_rzr|r}r~r�not_implemented�impls        r'�const_infer_binary_opr�s������k�.�1�1�O��%���%�%�������4�:��U�|�4�4�
��5�;��e��5�5�
���c�!�!�U�[�3�%6�%6�!�!�!�!��F�
	"��x�(�D�
'��)�$�$�t�z�5�;�*G�*G�H�H�H�H�H�H�H���
&�
&�
&�%�%�%�%�%�%��
'�
'�
'��&�&�&�&�&�&�
'����&�%�&�&���	"�	"�	"�!�!�!�!�!�!�!�	"����	�D�J��	$�	$���S���������������s<�
D�)*C�C?�#D�%C?�<D�>C?�?D�D�DrIr�c���|�|���}|dkrtjg|_|S�fd�|jD��}t	|��|z|_|S)N��parentg�חAc3��K�|]?}t|tj���tj|���ptjV��@dSr[)r�r�UninferableBaser
�
safe_inferr�)rG�eltr~s  �r'�	<genexpr>z'_multiply_seq_by_int.<locals>.<genexpr>�s_���������#�t�3�4�4����3��(�(�<�D�,<������r*)�	__class__rr�r]�list)r_rzrIr~�node�
filtered_eltss   `  r'�_multiply_seq_by_intr��sx����>�>��>�(�(�D��s�{�{��%�&��	��������9����M�
�]�#�#�e�+�D�I��Kr*r]�Sequence[InferenceResult]�#Iterator[SuccessfulInferenceResult]c#�K�|D]~}t|tj��rtj��V��2|�|��D]6}t|tj��s|V��!tj��V��7�dSr[)r�rr�r�Unknown�infer)r]r~r��inferreds    r'�_filter_uninferable_nodesr��s������*�*���c�4�/�0�0�	*��-�/�/�!�!�!�!��I�I�g�.�.�
*�
*��!�(�D�,@�A�A�*�"�N�N�N�N��-�/�/�)�)�)�)�	
*�	*�*r*�method�KGenerator[_TupleListNodeT | nodes.Const | util.UninferableBase, None, None]c	#�$K�d|_tjt��}t	||j��ro|dkri|�|���}t
tjt|j
|��t|j
|������|_
|V�dSt	|tj��rA|dkr;t	|jt��s|V�dSt|||j|��V�dSt	|tj��rp|dkrjt!j|��}|st$jV�dSt	|jt��st)d���t|||j|��V�dS|V�dS)z�Infer a binary operation on a tuple or list.

    The instance on which the binary operation is performed is a tuple
    or list. This refers to the left-hand side of the operation, so:
    'tuple() + 1' or '[] + A()'
    Nr;r�r>zPlease open a bug report.)�	boundnoderr�rVr�r�r��	itertools�chainr�r]rIr�r�r�Instancer
�class_instance_as_indexrr��AssertionError)	r_rzr|r}r~r�r�r��as_indexs	         r'�tl_infer_binary_opr��s����� �G���k�.�1�1�O��%���(�(��X��_�_��~�~�V�~�,�,����O�)�$�)�W�=�=�)�%�*�g�>�>�
�
�
�
��	��
�
�
�
�
�	�E�5�;�	'�	'��H��O�O��%�+�s�+�+�	�!�!�!�!��F�"�4����g�F�F�F�F�F�F�F�	�E�5�>�	*�	*��x�3����2�5�9�9���	N��"�"�"�"�"�"��H�N�C�0�0�	N� �!<�=�=�=�&�t�V�X�^�W�M�M�M�M�M�M�M������r*�bases.Instance | nodes.ClassDef�&Generator[InferenceResult, None, None]c�.�|�||��Sr[)�infer_call_result)r_rzr|r}r~r�s      r'�instance_class_infer_binary_opr��s���#�#�D�'�2�2�2r*c#��K�|dd�}|�d��}|D�]C}t|tj��r�t	|d��s�/	|���}n#t$rY�QwxYw	t||tjtj	f��r|g}n#t$rYnwxYw|D]�}tj|��}	|�||��}n#tttf$rY�GwxYw|s|V��Rt|tj��rn=	t|�|��||��Ed{V����#t"$rYnwxYw��EdS)z<Recursive function to resolve multiple assignments on loops.Nr�itered)�popr�rr��hasattrr�r�rr��Name�
IndexError�getitem�AttributeErrorrr�_resolve_looppartr�r)	�parts�assign_pathr~�index�partr��stmt�
index_node�assigneds	         r'r�r�s������a�a�a�.�K��O�O�A���E��"�"���d�D�0�1�1�	���t�X�&�&�	��	��[�[�]�]�F�F���	�	�	��H�	����	��&��-�%�+�u�z�)B�C�C�
 �������	�	�	��D�	�����	�	�D���U�+�+�J�
��<�<�
�G�<�<����"�$4�6G�H�
�
�
���
�����
�������H�d�&:�;�;�

����0� ���w�/�/��g� � ����������&�����E�E������C"�"sH�A)�)
A6�5A6�:/B*�*
B7�6B7�C*�*D�D�+*E�
E$�#E$�nodes.For | nodes.Comprehensionr��&node_classes.AssignedStmtsPossibleNode�InferenceContext | Noner��list[int] | Nonec#�|K�t|tj��st|dd��r||||d�S|�Q|j�|��D]5}t|tjtjf��r
|jEd{V���6n/t|j�|��||��Ed{V��||||d�S)N�is_asyncF�r��unknownr�r~)
r�r�AsyncFor�getattr�iterr��Tuple�Listr]r�)r_r�r~r��lsts     r'�for_assigned_stmtsr�As������$���'�'�
�7�4��U�+K�+K�
���&��	
�
�	
����9�?�?�7�+�+�	$�	$�C��#���U�Z�8�9�9�
$��8�#�#�#�#�#�#�#��	$�%�T�Y�_�_�W�%=�%=�{�G�T�T�T�T�T�T�T�T�T���"��	��r*�nodes.Tuple | nodes.Listc���|�g}	|j�|��}n&#t$r}td|||���|�d}~wwxYw|�d|��|j�|||���S)Nz6Tried to retrieve a node {node!r} which does not exist�r�r�r~r)r�r~r�)r]r��
ValueErrorr�insertr��assigned_stmts)r_r�r~r�r��excs      r'�sequence_assigned_stmtsr�bs���������	����%�%���������D��#��	
�
�
�
�	������������q�%� � � ��;�%�%�
�7��&���s�!�
A�?�A�#nodes.AssignName | nodes.AssignAttrc�:�|j�||���S)N)r�r~)r�r��r_r�r~r�s    r'�assend_assigned_stmtsr�~s���;�%�%�4��%�A�A�Ar*r&�
str | Nonec#�hK�|js|js|jstjV�dS|jj}|jr�t|jddd��|kr�|dkr�|jj���}t|tj��o
|jdk}|jr+t|jtj��r|jj}|s|dkr|V�dS|dkr|���V�dS|r�|jr�|jj}t'|d��r|j}t'|d���t|dd��|jjkrCtj|j|j��}|�|j||��Ed{V��dS||jkrptjd��}||_|jsH|jjd	kr8|jj���}|���g|_|V�dS||jkr!tji��}	||	_|	V�dS	t5|��}|�|���|��Ed{V��tjV�dS#t:$rtjV�YdSwxYw)
Nrr&�staticmethod�	metaclass�classmethodr��_proxiedr$�__init__)r
�vararg�kwargrr�r��typer��scoper�r�ClassDefr�rr�r��instantiate_class�callcontext�calleer�r&�CallSite�
extra_context�infer_argumentrWr]r�
default_valuer�r)
r_r&r~�functype�cls�is_metaclassr��	call_siter�r�s
          r'�_arguments_infer_argnamer��s����

�N��d�k��T�Z����������{��H�	
����D�N�1�%�v�t�4�4��<�<���&�&��k� �&�&�(�(��!�#�u�~�6�6�R�3�8�{�;R����	-��G�,=�u�~�!N�!N�	-��#�,�C��	�8�}�4�4��I�I�I��F��x����'�'�)�)�)�)�)��F���7�&���$�+���f�j�)�)�	%��_�F��f�j�)�)�	%��6�6�4�(�(�D�K�,<�<�<�!�*�7�+>��@U�V�V�I� �/�/���T�7�K�K�K�K�K�K�K�K�K��F��t�{����$�R�(�(����
��~�	4�$�+�"2�j�"@�"@��+�$�*�*�,�,�C��0�0�2�2�3�F�K��������t�z����#�B�'�'�������������w�'�'���%�%�d�+�+�1�1�'�:�:�:�:�:�:�:�:�:������������������������s�AJ�J1�0J1�nodes.Argumentsc���	|j}n#t$rd}YnwxYw|r;|jr4|jj}t	|d��r|j}t	|d���nt
|||��S|r}t|dd��|�d���jkrO|j}t|��}d|_tj||���}|�|j
||��St
|||��S)Nr�r&T��future�r~)r&r�r�r�r�r�r�r��framerr
r�r�r�)r_r�r~r��	node_namer�r��argss        r'�arguments_assigned_stmtsr��s'����I�	�	�������	�	�	�����
�B�7�&�B��$�+���f�j�)�)�	%��_�F��f�j�)�)�	%��(��i��A�A�A��D�����-�-����4��1H�1H�1M�M�M��)���w�'�'��"����!�+�w�?�?�?���"�"�4�;�	�7�C�C�C�#�D�)�W�=�=�=s�
���0nodes.AugAssign | nodes.Assign | nodes.AnnAssignc#�K�|s|jV�dSt|j�|��||��Ed{V��||||d�S�Nr�)rI�_resolve_assignment_partsr�r�s    r'�assign_assigned_stmtsr�s��������j�����t�(��
����!�!�;�����������
��"��	��r*�nodes.AnnAssignc#�^K�t||||��D]}|�tjV��|V��dSr[)rrr�)r_r�r~r�r�s     r'�assign_annassigned_stmtsr�sR����*�$��g�{�K�K�������"�"�"�"�"��N�N�N�N�	�r*c#�HK�|dd�}|�d��}|D]�}d}t|tj��r$	|j|\}}ng#t
$rYdSwxYwt
|d��rEtj|��}	|�||��}n#ttf$rYdSwxYw|sdS|s|V���t|tj��rdS	t|�|��||��Ed{V����#t$rYdSwxYwdS)z3Recursive function to resolve multiple assignments.Nrr�)r�r�r�Dictrgr�r�r�r�rrrr�rr�r)r�r�r~r�r�r�rr�s        r'rrs������a�a�a�.�K��O�O�A���E��!�!�����d�E�J�'�'�	�
�"�j��/���!�!���
�
�
�����
�����T�9�
%�
%�	���U�+�+�J�
��<�<�
�G�<�<����$�&7�8�
�
�
�����
�����	��F�F��	��N�N�N�N�
��$�"6�
7�
7�
	��F�F�
�4��N�N�7�+�+�[�'������������"�
�
�
�����
����A!�!s6�A�
A#�"A#�B"�"B8�7B8�%*D�
D�D�nodes.ExceptHandlerc#�K�tj|j��D]:}t|tj��rt�|��}|V��;||||d�Sr�)r�unpack_inferr�r�rr�r�ExceptionInstance)r_r�r~r�r�s     r'�excepthandler_assigned_stmtsr8sq����!�-�d�i�8�8�����h���/�/�	;��0�0��:�:�H��������"��	��r*c#�"K�	t|�|�����}n##t$r}t|���|�d}~wwxYwt	|t
j��r�|j}|jstd|����|jj	D]_}t|�|���d��}t	|tj
��r|���tkrn�`t|����	t|�
����V�dS#t$r}t|���|�d}~wwxYwt	|t
j��r�	t|�d|�����}n0#tt tf$r}	t|���|	�d}	~	wwxYwt	|t
j��st|����|�||��Ed{V��dSt|����)Nr�)r�z,No decorators found on inferred generator %s�	__enter__)�nextr��
StopIterationrr�rrr�rr�FunctionDef�qname�_CONTEXTLIB_MGR�infer_yield_typesr��igetattrr�BoundMethodr�)
r_�mgrr~r��erX�decorator_node�	decorator�enterr�s
          r'�_infer_context_managerrOsM����.���	�	�'�	�2�2�3�3�����.�.�.��#�&�&�&�A�-�����.�����(�E�O�,�,�'������	� �>�T����
�#�o�3�	,�	,�N��^�1�1�'�1�B�B�D�I�I�I��)�U�%6�7�7�
��?�?�$�$��7�7��E��!�d�+�+�+�+�	3��x�1�1�3�3�4�4�4�4�4�4�4���	3�	3�	3� �d�+�+�+��2�����	3����
�H�e�n�	-�	-�	'�	9���*�*�;��*�H�H�I�I�E�E��� 7��G�	9�	9�	9� �h�/�/�/�S�8�����	9�����%��!2�3�3�	-� �e�,�,�,�,��*�*�4��9�9�9�9�9�9�9�9�9�9�9��#�&�&�&�&sD�#(�
A�A�A�#D&�&
E�0E�E�$$F	�	F6� F1�1F6�
nodes.Withc
#���K�	t�fd�|jD����}n#t$rYdSwxYw|�t|||��Ed{V��n�t|||��D]�}|}|D]}}t	|d��std|�||����	|j|}�5#t$r}td|�||���|�d}~wt$r}td|�||���|�d}~wwxYw|V���|�||d�S)	aInfer names and other nodes from a *with* statement.

    This enables only inference for name binding in a *with* statement.
    For instance, in the following code, inferring `func` will return
    the `ContextManager` class, not whatever ``__enter__`` returns.
    We are doing this intentionally, because we consider that the context
    manager result is whatever __enter__ returns and what it is binded
    using the ``as`` keyword.

        class ContextManager(object):
            def __enter__(self):
                return 42
        with ContextManager() as f:
            pass

        # ContextManager().infer() will return ContextManager
        # f.infer() will return 42.

    Arguments:
        self: nodes.With
        node: The target of the assignment, `as (a, b)` in `with foo as (a, b)`.
        context: Inference context used for caching already inferred objects
        assign_path:
            A list of indices, where each index specifies what item to fetch from
            the inference results.
    c3�.�K�|]\}}|�k�|V��dSr[r$)rGr�varsr�s   �r'r�z&with_assigned_stmts.<locals>.<genexpr>�s+�����E�E�;�C������3�����E�Er*Nr]z0Wrong type ({targets!r}) for {node!r} assignment)r��targetsr�r~zCTried to infer a nonexistent target with index {index} in {node!r}.z1Tried to unpack a non-iterable value in {node!r}.r�)	rrgrrr�rr]r�r�)	r_r�r~r�r�resultrSr�r�s	 `       r'�with_assigned_stmtsr"us������B��E�E�E�E�$�*�E�E�E�E�E���������t�t�������)�$��W�=�=�=�=�=�=�=�=�=�=�,�T�3��@�@�	�	�F��C�$�
�
���s�F�+�+��(�J�!� $�$/� '�������(�5�/�C�C��!����(�'�!� $�$/� '�
���������!����(�K�!� $�$/� '�����
����������I�I�I�I���"��	��s0� &�
4�4�
B�
C#�'B<�<
C#�	C�C#�nodes.NamedExprc#�K�|j|kr#|j�|���Ed{V��dStd|||����)z:Infer names and other nodes from an assignment expression.r�Nz$Cannot infer NamedExpr node {node!r}r�)�targetrIr�rr�s    r'�named_expr_assigned_stmtsr&�si�����{�d����:�#�#�G�#�4�4�4�4�4�4�4�4�4�4�4��2��#��	
�
�
�	
r*�
nodes.Starredc#�d
�K�d�fd	��|�d
���}t|tjtjf��std||||�
���|�t
��}t|tj���r]|j}|jd}t|tj	��stjV�dStd�|�
tj��D����dkrtd||||����	t|�|����}n&#t
t"f$rtjV�YdSwxYwt|tj��st'|d��stjV�dS	t)j|�����}n#t.$rtjV�YdSwxYwt1|j��D]�\}	}
t|
tj��s|sn�|����8t)jt7|j|	d�����}|D]�}t|tj��s|sni|����5tjt<j||j |j!���}
|
�"tG|�����|
V���t|tj���r3	t|j$�|�����}n&#t
t"f$rtjV�YdSwxYwt|tj��st'|d��stjV�dS	|���}n#t.$rtjV�YdSwxYw|j%}t|tj&��std|����g}�|||��|std|����|d\}}||dz
k}tO||rdn||z
��}|}|D]�}d}t1|��D]�\}	}t'|d��snl|	dztQ|��ur|}n|d}	|���}||}|}�V#tR$rYn t.$rtjV�YdSwxYwtjt<j||j |j!���}|�"|pg���|V�dStjV�dSdS)aD
    Arguments:
        self: nodes.Starred
        node: a node related to the current underlying Node.
        context: Inference context used for caching already inferred objects
        assign_path:
            A list of indices, where each index specifies what item to fetch from
            the inference results.
    �starredr'r%�nodes.Tuple�lookups�list[tuple[int, int]]r�Nonec����|���}t|��D]�\}}t|tj��rA|jj|jjkr'|�|t|��f��dSt|tj	��rC|�|t|�����f���|||����dSr[)
r��	enumerater�r�StarredrIr&�append�lenr�)r)r%r+r�r��element�$_determine_starred_iteration_lookupss      �r'r4zDstarred_assigned_stmts.<locals>._determine_starred_iteration_lookups�s����������'��/�/�		P�		P�N�E�7��7�E�M�2�2�
��M�&�'�-�*<�<�<�����s�6�{�{�3�4�4�4�����'�5�;�/�/�
P�����s�7�>�>�+;�+;�'<�'<�=�>�>�>�4�4�W�g�w�O�O�O��		P�		Pr*Tr�zDStatement {stmt!r} enclosing {node!r} must be an Assign or For node.)r�r�r�r~Nrc3�K�|]}dV��dS)�Nr$)rGrs  r'r�z)starred_assigned_stmts.<locals>.<genexpr>s"����<�<�Q�q�<�<�<�<�<�<r*r6z=Too many starred arguments in the assignment targets {lhs!r}.)r�r r�r~r�)�ctxr��lineno�
col_offset)r]r�z8Could not make sense of this, the target must be a tuplez5Could not make sense of this, needs at least a lookup���)r)r'r%r*r+r,rr-)*�	statementr�r�Assign�ForrrrIr �
BaseContainerrr��sum�nodes_of_classr0rr�rr�r��collections�dequer�r�r/r]�popleft�reversedr�r�r�Storer8r9�postinitr�r�r%r��slicer2r�)r_r�r~r�r�rI�lhs�rhsr]r��	left_node�lhs_elts�
right_node�packed�inferred_iterabler�r%r+�last_element_index�last_element_length�is_starred_last�lookup_slice�last_lookupr3�
found_element�lookup�
cur_lookup�itered_inner_element�unpackedr4s                             @r'�starred_assigned_stmtsrY�sM�����$P�P�P�P�P�P� �>�>��>�&�&�D��d�U�\�5�9�5�6�6�
��R�����
�
�
�	
���"�$�$���$���%�%�=��
���l�1�o���#�u�2�3�3�	��"�"�"�"��F��<�<�#�,�,�U�]�;�;�<�<�<�<�<�q�@�@� �O��������
�	��u�{�{�7�+�+�,�,�C�C���
�.�	�	�	��"�"�"�"��F�F�	�����c�4�/�0�0�	���X�8N�8N�	��"�"�"�"��F�	��$�S�Z�Z�\�\�2�2�D�D���	�	�	��"�"�"�"��F�F�	����!*�#�(� 3� 3�	�	��E�9��i���7�7�
����E��������"�(��#�(�5�6�6�2B�)C�)C�D�D�H�&�
�
�
�!�*�e�m�<�<�������H�H�J�J�J�����
���:�"�~�	�������T�$�Z�Z��0�0�0��������$��	�"�"�T�	� $�T�Y�_�_�W�_�%E�%E� F� F�����
�.�	�	�	��"�"�"�"��F�F�	�����'��)=�>�>�	�g��x�G
�G
�	��"�"�"�"��F�	�&�-�-�/�/�F�F���	�	�	��"�"�"�"��F�F�	��������&�%�+�.�.�	� �J�����
�
*,��,�,�T�6�7�C�C�C��	� �G�QX����
�
3:�"�+�/��/�,�1D�q�1H�I����#�S�D�D�*=�@R�*R�
�
��#���(	�(	�G�!�M�!*�7�!3�!3�
,�
,�
��v��w��1�1���E��1�9��G���,�,�.9�J�J�"(���J�
,�+2�>�>�+;�+;�(�2�:�>�G�%,�M�M��"�����E�E� �����*�*�*�*��F�F�F�F������z��M���{��?�	���H�
���=�#6�B��7�7�7��N�N�N��F�F��������iT�Ts`�"D5�5E�E�&F=�=G�G�>(L'�'M
�	M
�N�N9�8N9�	R(�(
S�5S�S�nodes.MatchMapping�nodes.AssignNamer-�#Generator[nodes.NodeNG, None, None]c#�
K�dS�zbReturn empty generator (return -> raises StopIteration) so inferred value
    is Uninferable.
    Nr$r�s    r'�match_mapping_assigned_stmtsr_��
�����Fr*�nodes.MatchStarc#�
K�dSr^r$r�s    r'�match_star_assigned_stmtsrc�r`r*�
nodes.MatchAsc#��K�t|jtj��r@t|jjtj��r|j�|jjjV�dSdSdSdS)z}Infer MatchAs as the Match subject if it's the only MatchCase pattern
    else raise StopIteration to yield Uninferable.
    N)r�r�r�	MatchCase�Match�pattern�subjectr�s    r'�match_as_assigned_stmtsrj�sw����	�4�;���0�0�)��t�{�)�5�;�7�7�)�
�L� ��k� �(�(�(�(�(�(�)�)�)�)�
!� r*)rr )rSrrTr rr)r_ryrzr{r|r r}rr~rrrrr�)
r_rrzr{rIr�r~rrr)r]r�r~rrr�)r_rrzr{r|r r}rr~rr�rrr�)r_r�rzr{r|r r}rr~rr�rrr�)NNN)
r_r�r�r�r~r�r�r�rr)
r_r�r�r�r~r�r�r�rr)
r_r�r�r�r~r�r�r�rr)r&r�r~rrr�)
r_r�r�r�r~r�r�r�rr)
r_r�r�r�r~r�r�r�rr)
r_rr�r�r~r�r�r�rr)
r_rr�r�r~r�r�r�rr)
r_rr�r�r~r�r�r�rr)NN)
r_r#r�r�r~r�r�r�rr)
r_r'r�r�r~r�r�r�rr)
r_rZr�r[r~r�r�r-rr\)
r_rar�r[r~r�r�r-rr\)
r_rdr�r[r~r�r�r-rr\)p�__doc__�
__future__rrAr�r|�operator_mod�collections.abcrrrr�typingrr	�astroidr
rrr
rr�
astroid.constr�astroid.contextrr�astroid.exceptionsrrrrr�
astroid.nodesr�astroid.typingrrr�lazy_importrrr�r�rr(r-r�
BIN_OP_METHODrg�REFLECTED_BIN_OP_METHOD�AUGMENTED_OP_METHOD�UNARY_OP_METHOD�pos�neg�invert�not_rR�__annotations__rY�infer_unary_op�Setr�r�matmulr�r��_KEY�_IMPL�yes_if_nothing_inferredr��infer_binary_opr�r�r�r�r�r�r��raise_if_nothing_inferredr�r=r��
Comprehensionr�r��
AssignName�
AssignAttrr�r��	Argumentsrrr<�	AnnAssign�	AugAssignrr�
ExceptHandlerrr"�Withr&�	NamedExprrYr0r_�MatchMappingrc�	MatchStarrj�MatchAsr$r*r'�<module>r�s���
���#�"�"�"�"�"�������������C�C�C�C�C�C�C�C�C�C�C�C���������F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�F�!�!�!�!�!�!�:�:�:�:�:�:�:�:���������������'�&�&�&�&�&����������� �t���/�/��
�$�
�9�
%�
%���'�+�U�[�%�*�E�E����������.��	�	�	�
�	�
�	�	�	�	�
�
�	���
� ��4A�4G�4G�4I�4I�������:G�:M�:M�:O�:O�����

�	�	��	���
�	�	�	�	�	���	5�5������
&�
&�
&�
&�T�S����K�K��
��O�O��	��M�M����R�R��
��

�	�	�	�	�	�
�
�	�	�
�
�	�	�	�	�	�	�	�	�
�
�
�
�	�	�����4��)�)�+�+�,�,�$�$�K�D�%�#�K��s�
����#�!�!�!�$�#�!�H4��������&*�*�*�*��#�*�*�*�$�#�*�Z1����/��
���#�3�3�3�$�#�3�"@����!?����
	�&�&�&�R�%�48�'+�$(�	����&�%��8.��	��%7���"�
48�'+�$(�	�����05����3��
��
48�'+�$(�	B�B�B�B�B�#8����"7����:�:�:�:�~48�'+�$(�	>�>�>�>�>�:":�����%�48�'+�$(�	����&�%��.48�'+�$(�	
�
�
�
�
�4����!9����!6����%�%�%�P�%�48�'+�$(�	����&�%��&&B���"�#'�#'�#'�L�%�48�'+�$(�	L�L�L�L�&�%�L�^0��
���%�(,�$(�	
�
�
�
�&�%�
�$";�����#�48�'+�$(�	A�A�A�A�$�#�A�H 6��
���#�(,��	

�

�

�

�$�#�

�%A���!��#�(,��	

�

�

�

�$�#�

�";�����#�(,��	)�)�)�)�$�#�)�" 7��
���r*