403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/jedi/inference/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/jedi/inference/__pycache__/base_value.cpython-311.pyc
�

p�{c+G���dZddlmZddlmZddlmZddlmZddl	m
Z
ddlmZddl
mZdd	lmZdd
lmZddlmZe��ZGd�d
e��ZGd�d��ZGd�de��Zd#d�ZGd�de��ZGd�de��ZGd�de��ZGd�de��ZGd�d��Z d�Z!Gd �d!��Z"e"g��Z#d"�Z$dS)$a4
Values are the "values" that Python would return. However Values are at the
same time also the "values" that a user is currently sitting in.

A ValueSet is typically used to specify the return of a function or any other
static analysis operation. In jedi there are always multiple returns and not
just one.
�)�reduce)�add)�zip_longest)�Name)�debug)�clean_scope_docstring��SimpleGetItemNotFound)�
safe_property)�%inference_state_as_method_param_cache)�memoize_methodc��eZdZdS)�HasNoContextN)�__name__�
__module__�__qualname__���;/usr/lib/python3/dist-packages/jedi/inference/base_value.pyrrs�������Drrc��eZdZd�Zd�Zd�Zd�Zd�Zdd�Zd	�Z	dd�Z
		dd�Zd
�Zd�Z
dd�Zd�Zd�Zed���ZdS)�HelperValueMixinc�`�|}|j�|���S	|j�|S|j}��N)�parent_context�
as_context)�self�values  r�get_root_contextz!HelperValueMixin.get_root_contextsB������'��#�#�%�%�%�	)��#�+����(�E�	)rc�:�|j�||���S)N)�	arguments��inference_state�execute�rr s  rr#zHelperValueMixin.execute(s���#�+�+�D�I�+�F�F�Frc�n�ddlm}|d�|D����}|j�||��S)Nr)�ValuesArgumentsc�.�g|]}t|g����Sr��ValueSet)�.0rs  r�
<listcomp>z8HelperValueMixin.execute_with_values.<locals>.<listcomp>-s"��$O�$O�$O�5�X�u�g�%6�%6�$O�$O�$Or)�jedi.inference.argumentsr&r"r#)r�
value_listr&r s    r�execute_with_valuesz$HelperValueMixin.execute_with_values+sK��<�<�<�<�<�<�#�O�$O�$O�J�$O�$O�$O�P�P�	��#�+�+�D�)�<�<�<rc�*�|���Sr�r.�rs r�execute_annotationz#HelperValueMixin.execute_annotation0s���'�'�)�)�)rc�"�t|g��Srr(r1s r�gather_annotation_classesz*HelperValueMixin.gather_annotation_classes3s�������rNFc�r�t�d�|�||��D����S)Nc3�>K�|]}|���V��dSr��infer�r*�
lazy_values  r�	<genexpr>z:HelperValueMixin.merge_types_of_iterate.<locals>.<genexpr>7sB����"
�"
��
�����"
�"
�"
�"
�"
�"
r�r)�	from_sets�iterate)r�contextualized_node�is_asyncs   r�merge_types_of_iteratez'HelperValueMixin.merge_types_of_iterate6sE���!�!�"
�"
�"�l�l�+>��I�I�"
�"
�"
�
�
�	
rc#�K�t|t��r|nd}|�|���Ed{V��|���r<ddlm}|t
|h����D]}|���Ed{V���dSdS)N)�origin_scoper)�convert_values)�
isinstancer�get_filters�is_stub�!jedi.inference.gradual.conversionrDr))r�name_or_strrCrD�cs     r�_get_value_filtersz#HelperValueMixin._get_value_filters<s�����&0��d�&C�&C�M�{�{����#�#��#�>�>�>�>�>�>�>�>�>��<�<�>�>�	+�H�H�H�H�H�H�#�^�H�d�V�$4�$4�5�5�
+�
+���=�=�?�?�*�*�*�*�*�*�*�*�	+�	+�
+�
+rTc��ddlm}|�|��}|�||��}t	jd|||��|S)Nr)�finderzcontext.goto %s in (%s): %s)�jedi.inferencerMrK�filter_namer�dbg)rrI�name_context�analysis_errorsrM�filters�namess       r�gotozHelperValueMixin.gotoEsX��)�)�)�)�)�)��)�)�+�6�6���"�"�7�K�8�8��
�	�/��d�E�J�J�J��rc��|�|}|�|||��}t�d�|D����}|s3t|t��r|jn|}|�|��}|s6|s4|r2t|t��rddlm}|�	|||��tjd||��|S)zZ
        :param position: Position of the last statement -> tuple of line, column
        Nc3�>K�|]}|���V��dSrr7)r*�names  rr;z6HelperValueMixin.py__getattribute__.<locals>.<genexpr>Ts*����#C�#C�T�D�J�J�L�L�#C�#C�#C�#C�#C�#Crr��analysisz context.names_to_types: %s -> %s)rUr)r=rErr�py__getattribute__alternativesrNrZ�add_attribute_errorrrP)	rrIrQ�positionrRrT�values�nrZs	         r�py__getattribute__z#HelperValueMixin.py__getattribute__Ls���
���L��	�	�+�|�_�E�E���#�#�#C�#C�U�#C�#C�#C�C�C���	<�%/��T�%B�%B�S��!�!��A��8�8��;�;�F��	5�V�	5��	5��+�t�,�,�
5�3�3�3�3�3�3��,�,� �$��5�5�5�
�	�4�e�V�D�D�D��
rc��|�d��}|stjd|��|���S)N�	__await__z"Tried to run __await__ on value %s)r`r�warningr.)r�await_value_sets  r�py__await__zHelperValueMixin.py__await__asC���1�1�+�>�>���	F��M�>��E�E�E��2�2�4�4�4rc��|jjSr)rX�string_namer1s r�
py__name__zHelperValueMixin.py__name__gs
���y�$�$rc��tjd|��|r�ddlm}t	||�d������d������d����������g��S|�|��S)Nz
iterate %sr)�LazyKnownValues�	__aiter__�	__anext__rb)	rrP�jedi.inference.lazy_valuerj�iterr`r.�py__stop_iteration_returns�
py__iter__)rr?r@rjs    rr>zHelperValueMixin.iteratejs���
�	�,��%�%�%��	�A�A�A�A�A�A�����+�+�K�8�8�L�L�N�N�+�+�K�8�8�9L�9L�9N�9N�+�+�K�8�8�9L�9L�9N�9N�3�3�5�5�	�����
����2�3�3�3rc�>�tjd|�d|��d���5|���D];}|�|��r$tjdd���ddd��dS�<tjdd���	ddd��dS#1swxYwYdS)	Nzsubclass matching of z <=> �BLUE)�colorzmatched subclass TrueTzmatched subclass FalseF)r�increase_indent_cm�	py__mro__�
is_same_classrP)r�class_value�clss   r�is_sub_class_ofz HelperValueMixin.is_sub_class_ofzs#��
�
%�
%�$�$�$�P[�P[�&\�,2�4�4�4�	�	��~�~�'�'�
 �
 ���$�$�[�1�1� ��I�5�V�D�D�D�D��	�	�	�	�	�	�	�	� �
�I�.�f�=�=�=�=��	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�AB�-B�B�Bc�|�t|��jtjkr|�|��S||kSr)�typervr)r�class2s  rrvzHelperValueMixin.is_same_class�s8����<�<�%�)9�)G�G�G��'�'��-�-�-��v�~�rc��|j|i|��Sr)�_as_context�r�args�kwargss   rrzHelperValueMixin.as_context�s���t���0��0�0�0r�NF)NT)NNT)rrrrr#r.r2r4rArKrUr`rerhr>ryrvr
rrrrrrs"������)�)�)�G�G�G�=�=�=�
*�*�*� � � �
�
�
�
�+�+�+�����KO�+/�����*5�5�5�%�%�%�4�4�4�4� �������1�1��^�1�1�1rrc���eZdZdZdZdZdZd#d�Zd�Zd�Z	d#d�Z
d#d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zefd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"e#d���Z$d$d!�Z%d"�Z&dS)%�Valuez*
    To be implemented by subclasses.
    N�not_defined_please_report_bugc�"�||_||_dSr)r"r)rr"rs   r�__init__zValue.__init__�s��.���,����rc�h�ddlm}|�|jd|jd|z���t
S)NrrYztype-error-not-subscriptablez+TypeError: '%s' object is not subscriptable��message)rNrZr�context�node�	NO_VALUES)r�index_value_setr?rZs    r�
py__getitem__zValue.py__getitem__�sN��+�+�+�+�+�+�����'�*��$�A�D�H�		�	
�	
�	
��rc��t�rr	)r�indexs  r�py__simple_getitem__zValue.py__simple_getitem__�s��#�#rc�|�|�,ddlm}|�|jd|jd|z���tg��S)NrrYztype-error-not-iterablez&TypeError: '%s' object is not iterabler�)rNrZrr�r�rn)rr?rZs   rrpzValue.py__iter__�s\���*�/�/�/�/�/�/��L�L�#�+�)�#�(�@�4�G�	
�
I�
I�
I�
�B�x�x�rc�,�|�|��Sr)rp)rr?s  r�
py__next__zValue.py__next__�s�����2�3�3�3rc��gSrrr1s r�get_signatureszValue.get_signatures�s���	rc��dSr�rr1s r�is_classzValue.is_class�����urc��dSr�rr1s r�is_class_mixinzValue.is_class_mixin�r�rc��dSr�rr1s r�is_instancezValue.is_instance�r�rc��dSr�rr1s r�is_functionzValue.is_function�r�rc��dSr�rr1s r�	is_modulezValue.is_module�r�rc��dSr�rr1s r�is_namespacezValue.is_namespace�r�rc��dSr�rr1s r�is_compiledzValue.is_compiled�r�rc��dSr�rr1s r�is_bound_methodzValue.is_bound_method�r�rc��dSr�rr1s r�is_builtins_modulezValue.is_builtins_module�r�rc��dS)z�
        Since Wrapper is a super class for classes, functions and modules,
        the return value will always be true.
        Trr1s r�
py__bool__zValue.py__bool__�s	��
�trc�f�	|jjt|j��S#t$rYdSwxYw)N�)�	tree_node�get_doc_noder�AttributeErrorr1s r�	py__doc__zValue.py__doc__�sH��	9��N�'�'�)���8�8�8���	�	�	��2�2�	���s�"�
0�0c�<�|turtd|z���|S)Nz'There exists no safe value for value %s)�sentinel�
ValueError)r�defaults  r�get_safe_valuezValue.get_safe_value�s&���h����F��M�N�N�N��rc�>�tjd|||��tS)Nz!%s not possible between %s and %s�rrcr�)r�other�operators   r�execute_operationzValue.execute_operation�s��
�
�9�8�T�5�Q�Q�Q��rc�:�tjd|��tS)Nzno execution possible %sr�r$s  r�
py__call__zValue.py__call__�s��
�
�0�$�7�7�7��rc�:�tjd|��tS)Nz0Not possible to return the stop iterations of %sr�r1s rroz Value.py__stop_iteration_returns�s��
�
�H�$�O�O�O��rc��tS)zH
        For now a way to add values in cases like __getattr__.
        )r�)rrIs  rr[z$Value.py__getattribute__alternatives�s
���rc�L�tjd|��t|g��S)NzNo __get__ defined on %s)rrcr))r�instancerws   r�	py__get__zValue.py__get__�s%��
�
�0�$�7�7�7������rc��tSr)�NotImplemented)r�calling_instancer�rws    r�py__get__on_classzValue.py__get__on_classs���rc��dSrrr1s r�get_qualified_nameszValue.get_qualified_namess���trc�4�|j���Sr)rrGr1s rrGz
Value.is_stubs���"�*�*�,�,�,rc��t�r)rr1s rr~zValue._as_contexts���rc��t�r��NotImplementedErrorr1s rrXz
Value.names��!�!rTc��dSrr)r�add_class_infos  r�
get_type_hintzValue.get_type_hints���trc��iS)an
        When the current instance represents a type annotation, this method
        tries to find information about undefined type vars and returns a dict
        from type var name to value set.

        This is for example important to understand what `iter([1])` returns.
        According to typeshed, `iter` returns an `Iterator[_T]`:

            def iter(iterable: Iterable[_T]) -> Iterator[_T]: ...

        This functions would generate `int` for `_T` in this case, because it
        unpacks the `Iterable`.

        Parameters
        ----------

        `self`: represents the annotation of the current parameter to infer the
            value for. In the above example, this would initially be the
            `Iterable[_T]` of the `iterable` parameter and then, when recursing,
            just the `_T` generic parameter.

        `value_set`: represents the actual argument passed to the parameter
            we're inferred for, or (for recursive calls) their types. In the
            above example this would first be the representation of the list
            `[1]` and then, when recursing, just of `1`.
        r)r�	value_sets  r�infer_type_varszValue.infer_type_varss	��6�	rr�T)'rrr�__doc__r��
array_type�api_typer�r�r�rpr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�ror[r�r�r�rGr~�propertyrXr�r�rrrr�r��s���������I��J�.�H�-�-�-�-�	�	�	�$�$�$�����4�4�4�4����������������������������������9�9�9�&.�����
������������ � � �������-�-�-�����"�"��X�"���������rr�NFc�t�t�d�|�||���D����S)z�
    Calls `iterate`, on all values but ignores the ordering and just returns
    all values that the iterate functions yield.
    c3�>K�|]}|���V��dSrr7r9s  rr;z!iterate_values.<locals>.<genexpr>8sB�������	����������r�r@r<)r^r?r@s   r�iterate_valuesr�3sI��
����� �.�.�)<�x�.�P�P������rc�`�eZdZed���Zee��d�����Zd�ZdS)�_ValueWrapperBasec��ddlm}|jj}|j�|||j��Sddlm}|||j��S)Nr)�	ValueName)�CompiledValueName)�jedi.inference.namesr��_wrapped_valuerX�	tree_name�jedi.inference.compiledr�rg)rr��wrapped_namer�s    rrXz_ValueWrapperBase.name?se��2�2�2�2�2�2��*�/���!�-��9�T�<�#9�:�:�:�A�A�A�A�A�A�$�$�T�<�+C�D�D�Drc��||i|��Srr)rxr"r�r�s    r�
create_cachedz_ValueWrapperBase.create_cachedIs���s�D�#�F�#�#�#rc�L�|dks
Jd���t|j|��S)Nr�zProblem with _get_wrapped_value)�getattrr�)rrXs  r�__getattr__z_ValueWrapperBase.__getattr__Ns0���'�'�'�'�)J�'�'�'��t�*�D�1�1�1rN)	rrrrrX�classmethodrr�r�rrrr�r�>sn�������E�E��]�E��*�*�,�,�$�$�-�,��[�$�2�2�2�2�2rr�c�@�eZdZeed�����Zd�Zd�ZdS)�LazyValueWrapperc��tjd��5|���cddd��S#1swxYwYdS)NzResolve lazy value wrapper)rrt�_get_wrapped_valuer1s rr�zLazyValueWrapper._wrapped_valueTs����
%�&B�
C�
C�	-�	-��*�*�,�,�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-�	-����	-�	-�	-�	-�	-�	-s�6�:�:c� �d|jjzS)Nz<%s>)�	__class__rr1s r�__repr__zLazyValueWrapper.__repr__Zs�����0�1�1rc��t�rr�r1s rr�z#LazyValueWrapper._get_wrapped_value]s��!�!rN)rrrrr
r�r�r�rrrr�r�SsU��������-�-��^��]�-�2�2�2�"�"�"�"�"rr�c��eZdZd�Zd�ZdS)�ValueWrapperc��||_dSr)r�)r�
wrapped_values  rr�zValueWrapper.__init__bs��+����rc�0�|jj�d|j�d�S)N�(�))r�rr�r1s rr�zValueWrapper.__repr__es!���>�2�2�2�D�4G�4G�4G�H�HrN)rrrr�r�rrrr�r�as7������,�,�,�I�I�I�I�Irr�c�$��eZdZ�fd�Zd�Z�xZS)�	TreeValuec�Z��t���||��||_dSr)�superr�r�)rr"rr�r�s    �rr�zTreeValue.__init__js(���
������.�9�9�9�"����rc�2�d|jj�d|j�d�S)N�<�: �>)r�rr�r1s rr�zTreeValue.__repr__ns ���!�^�4�4�4�d�n�n�n�E�Er)rrrr�r��
__classcell__)r�s@rr�r�isN�������#�#�#�#�#�F�F�F�F�F�F�Frr�c�&�eZdZd�Zd�Zd�Zd�ZdS)�ContextualizedNodec�"�||_||_dSr)r�r�)rr�r�s   rr�zContextualizedNode.__init__ss�������	�	�	rc�4�|j���Sr)r�rr1s rrz#ContextualizedNode.get_root_contextws���|�,�,�.�.�.rc�@�|j�|j��Sr)r��
infer_noder�r1s rr8zContextualizedNode.inferzs���|�&�&�t�y�1�1�1rc�B�d|jj�d|j�d|j�d�S)Nrrz in r)r�rr�r�r1s rr�zContextualizedNode.__repr__}s(���#'�>�#:�#:�#:�D�I�I�I�t�|�|�|�T�TrN)rrrr�rr8r�rrrrrrsU���������/�/�/�2�2�2�U�U�U�U�Urrc��t}t��}|D]�}|�d���}t|��tt
tttfvr*	||�	|��z}�a#t$rYnwxYw|�|����|s|s&||�t|��|��z}tjd|��|S)N)r�zpy__getitem__ result: %s)r��setr�r{�float�int�str�slice�bytesr�r
rr�r)rrP)r�index_valuesr?�result�
unused_values�index_valuer�s       r�_getitemr�s���
�F��E�E�M�#�	'�	'���*�*�4�*�8�8����;�;�5�#�s�E�5�9�9�9�
��%�4�4�U�;�;�;����(�
�
�
���
����	���+�&�&�&�&�
�
�L�
��%�%�%��]�#�#��
�
�	
��
�I�(�&�1�1�1��Ms� A9�9
B�Bc���eZdZd�Zed���Zed���Zd�Zd�Zd�Z	d�Z
d�Zd	�Zd
�Z
d�Zd�Zd
�Zd�Zd�Zdd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zdd�Zd�ZdS) r)c�f�t|��|_|D]}t|t��rJ��dSr)�	frozenset�_setrEr))r�iterablers   rr�zValueSet.__init__�sC���h�'�'��	��	3�	3�E�!�%��2�2�2�2�2�2�	3�	3rc�>�|�|��}||_|Sr)�__new__r)rx�
frozenset_rs   r�_from_frozen_setzValueSet._from_frozen_set�s���{�{�3������	��rc���t��}|D]4}t|t��r||jz}�"|t	|��z}�5|�t	|����S)z7
        Used to work with an iterable of set.
        )rrEr)rrr!)rx�sets�
aggregated�set_s    rr=zValueSet.from_sets�sj��
�U�U�
��	.�	.�D��$��)�)�
.��d�i�'�
�
��i��o�o�-�
�
��#�#�I�j�$9�$9�:�:�:rc�F�|�|j|jz��Sr�r!r�rr�s  r�__or__zValueSet.__or__�����$�$�T�Y���%;�<�<�<rc�F�|�|j|jz��Srr'r(s  r�__and__zValueSet.__and__�r*rc�*�t|j��Sr)rnrr1s r�__iter__zValueSet.__iter__�����D�I���rc�*�t|j��Sr)�boolrr1s r�__bool__zValueSet.__bool__�r/rc�*�t|j��Sr)�lenrr1s r�__len__zValueSet.__len__�s���4�9�~�~�rc�P�dd�d�|jD����zS)NzS{%s}�, c3�4K�|]}t|��V��dSr)r)r*�ss  rr;z$ValueSet.__repr__.<locals>.<genexpr>�s(����#>�#>�q�C��F�F�#>�#>�#>�#>�#>�#>r)�joinrr1s rr�zValueSet.__repr__�s*���$�)�)�#>�#>�D�I�#>�#>�#>�>�>�?�?rc�R�|�t||j����Sr)r��filterr)r�filter_funcs  rr<zValueSet.filter�s ���~�~�f�[�$�)�<�<�=�=�=rc������fd�}|S)Nc�X���������fd��jD����S)Nc3�D�K�|]}t|����i���V��dSr)r�)r*rr�r�rXs  ���rr;z7ValueSet.__getattr__.<locals>.mapper.<locals>.<genexpr>�sP�����"�"��%���t�$�$�d�5�f�5�5�"�"�"�"�"�"r)r=r)r�r�rXrs``��r�mapperz$ValueSet.__getattr__.<locals>.mapper�sM������>�>�"�"�"�"�"�"�!�Y�"�"�"���
rr)rrXrAs`` rr�zValueSet.__getattr__�s)����	�	�	�	�	�	�
�
rc�"�|j|jkSr�rr(s  r�__eq__zValueSet.__eq__�s���y�E�J�&�&rc�.�|�|��Sr)rDr(s  r�__ne__zValueSet.__ne__�s���;�;�u�%�%�%�%rc�*�t|j��Sr)�hashrr1s r�__hash__zValueSet.__hash__�r/rc�>�td�|jD����S)Nc3�>K�|]}|���V��dSr)�py__class__�r*rJs  rr;z'ValueSet.py__class__.<locals>.<genexpr>�s*����;�;�A��
�
���;�;�;�;�;�;r)r)rr1s rrLzValueSet.py__class__�s!���;�;���;�;�;�;�;�;rNFc#���K�ddlm}��fd�|jD��}t|�D]}|d�|D����V��dS)Nr)�get_merged_lazy_valuec�>��g|]}|��������S)r�)r>)r*rJr?r@s  ��rr+z$ValueSet.iterate.<locals>.<listcomp>�s*���[�[�[�A�a�i�i� 3�h�i�G�G�[�[�[rc��g|]}|�|��Srr)r*�ls  rr+z$ValueSet.iterate.<locals>.<listcomp>�s��9�9�9�q�1�=��=�=�=r)rmrOrr)rr?r@rO�
type_iters�lazy_valuess ``   rr>zValueSet.iterate�s�������C�C�C�C�C�C�[�[�[�[�[�QU�QZ�[�[�[�
�&�
�3�	�	�K�'�'�9�9�K�9�9�9���
�
�
�
�	�	rc�Z��t��fd�|jD����S)Nc3�N�K�|]}|j�|���V�� dSrr!)r*rJr s  �rr;z#ValueSet.execute.<locals>.<genexpr>�s6�����!]�!]�a�!�"3�";�";�A�y�"I�"I�!]�!]�!]�!]�!]�!]r�r)r=rr$s `rr#zValueSet.execute�s0����!�!�!]�!]�!]�!]�SW�S\�!]�!]�!]�]�]�]rc�^���t���fd�|jD����S)Nc3�2�K�|]}|j�i���V��dSrr0�r*rJr�r�s  ��rr;z/ValueSet.execute_with_values.<locals>.<genexpr>�s6�����!\�!\�Q�"7�!�"7��"H��"H�"H�!\�!\�!\�!\�!\�!\rrWrs ``rr.zValueSet.execute_with_values�s4�����!�!�!\�!\�!\�!\�!\�RV�R[�!\�!\�!\�\�\�\rc�V���tt��fd�|jD��g��S)Nc�*��g|]}|j�i�����Sr)rUrZs  ��rr+z!ValueSet.goto.<locals>.<listcomp>�s*���G�G�G��F�A�F�D�3�F�3�3�G�G�Gr)rrrrs ``rrUz
ValueSet.goto�s0�����c�G�G�G�G�G�T�Y�G�G�G��L�L�Lrc�^���t���fd�|jD����S)Nc3�2�K�|]}|j�i���V��dSr)r`rZs  ��rr;z.ValueSet.py__getattribute__.<locals>.<genexpr>�s6�����![�![�A�"6�!�"6��"G��"G�"G�![�![�![�![�![�![rrWrs ``rr`zValueSet.py__getattribute__�s4�����!�!�![�![�![�![�![�QU�QZ�![�![�![�[�[�[rc�^���t���fd�|jD����S)Nc3�8�K�|]}t|g��Ri���V��dSr)rrZs  ��rr;z$ValueSet.get_item.<locals>.<genexpr>�s;�����!R�!R�1�(�1�">�t�">�">�">�v�">�">�!R�!R�!R�!R�!R�!RrrWrs ``r�get_itemzValueSet.get_item�s2�����!�!�!R�!R�!R�!R�!R��	�!R�!R�!R�R�R�Rrc��|�g��}|jD]0}	t||��}||��z}�!#t$rY�-wxYw|Sr)r�rr�r�)r�
function_namer�rJ�methods     r�	try_mergezValueSet.try_merge�sv���N�N�2�&�&�	���	&�	&�A�
&� ��M�2�2���V�V�X�X�%�	�	��"�
�
�
���
�����s�>�
A�
Ac�T�t�d�|jD����S)Nc�6�g|]}|�����Sr)r4rMs  rr+z6ValueSet.gather_annotation_classes.<locals>.<listcomp>s$��"T�"T�"T�Q�1�#>�#>�#@�#@�"T�"T�"TrrWr1s rr4z"ValueSet.gather_annotation_classess'���!�!�"T�"T�$�)�"T�"T�"T�U�U�Urc�$�d�|jD��S)Nc�@�g|]}|���D]}|���Sr)r�)r*rJ�sigs   rr+z+ValueSet.get_signatures.<locals>.<listcomp>s1��E�E�E��!�2B�2B�2D�2D�E�E�3��E�E�E�ErrCr1s rr�zValueSet.get_signaturess��E�E�T�Y�E�E�E�ErTc�t���fd�|jD��}ttd|����}t|��dkr|dSd|v}|r|�d��t|��dkrdSt|��dkr	|d}ndd�|��z}|rd|z}|S)Nc�<��g|]}|�������S))r�)r�)r*�vr�s  �rr+z*ValueSet.get_type_hint.<locals>.<listcomp>s'���O�O�O��Q�_�_�N�_�
;�
;�O�O�Or�r�Nonez	Union[%s]r7zOptional[%s])r�sortedr<r4�remover:)rr��t�
type_hints�optionalr9s `    rr�zValueSet.get_type_hints����O�O�O�O�T�Y�O�O�O���F�4��O�O�,�,�
��z�?�?�a����a�=� ��Z�'���	&����f�%�%�%��z�?�?�a����4�
��_�_��
!�
!��1�
�A�A��d�i�i�
�3�3�3�A��	#���"�A��rc�h�ddlm}i}|jD]!}|||�|�����"|S)Nr)�merge_type_var_dicts)�!jedi.inference.gradual.annotationrvrr�)rr�rv�
type_var_dictrs     rr�zValueSet.infer_type_varss`��J�J�J�J�J�J��
��Y�	�	�E� � ���%�%�i�0�0�
�
�
�
��rr�r�)rrrr�r�r!r=r)r,r.r2r5r�r<r�rDrFrIrLr>r#r.rUr`rarer4r�r�r�rrrr)r)�s�������3�3�3�
����[��
�
;�
;��[�
;�=�=�=�=�=�=����������@�@�@�>�>�>����'�'�'�&�&�&����<�<�<�����^�^�^�]�]�]�M�M�M�\�\�\�S�S�S�	�	�	�V�V�V�F�F�F�����(
�
�
�
�
rr)c����fd�}|S)Nc�.��t�|i|����Srr()r�r��funcs  �r�wrapperz&iterator_to_value_set.<locals>.wrapper+s ������d�-�f�-�-�.�.�.rr)r{r|s` r�iterator_to_value_setr}*s#���/�/�/�/�/��Nrr�)%r��	functoolsrr�r�	itertoolsr�parso.python.treer�jedir�jedi.parser_utilsr�jedi.inference.helpersr
�jedi.inference.utilsr�jedi.inference.cacher�
jedi.cacher
�objectr��	Exceptionrrr�r�r�r�r�r�rrr)r�r}rrr�<module>r�s�����������������!�!�!�!�!�!�"�"�"�"�"�"�������3�3�3�3�3�3�8�8�8�8�8�8�.�.�.�.�.�.�F�F�F�F�F�F�%�%�%�%�%�%��6�8�8��	�	�	�	�	�9�	�	�	�o1�o1�o1�o1�o1�o1�o1�o1�da�a�a�a�a��a�a�a�H����2�2�2�2�2�(�2�2�2�*"�"�"�"�"�(�"�"�"�I�I�I�I�I�$�I�I�I�F�F�F�F�F��F�F�F�U�U�U�U�U�U�U�U����6H�H�H�H�H�H�H�H�V
�H�R�L�L�	�����r

Youez - 2016 - github.com/yon3zu
LinuXploit