AlkantarClanX12

Your IP : 3.142.171.100


Current Path : /opt/cloudlinux/venv/lib64/python3.11/site-packages/pydantic/__pycache__/
Upload File :
Current File : //opt/cloudlinux/venv/lib64/python3.11/site-packages/pydantic/__pycache__/mypy.cpython-311.pyc

�

X��e!�����dZddlmZddlZddlmZddlmZmZm	Z	ddl
mZddlm
Z
mZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.dd	l/m0Z0dd
l1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8ddl9m:Z:ddl;m<Z<dd
l=m>Z>ddl?m@Z@ddlAmBZBddlCmDZDddlEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPddlQmRZRddlSmTZTddlUmVZWddlXmYZYddlZm[Z[	ddlEm\Z\n#e]$r	ddlEmNZ\YnwxYwdZ^dZ_dZ`dZadZbdZcdZdd Zehd!�Zfe[eW��Zgegd"krd#nd$Zhd%ZVdfd*�ZiGd+�d,e6��ZjGd-�d.��Zkdgd2�ZlGd3�d4��ZmGd5�d6��ZnGd7�d8��Zoed9d:d;��Zped<d=d;��Zqed>d?d;��Zred@dAd;��ZsedBdCd;��ZtedBdDd;��ZudhdK�ZvdidN�ZwdjdO�ZxdkdR�ZydjdS�ZzdldT�Z{			dmdndb�Z|dode�Z}dS)pz^This module includes classes and functions designed specifically for use with the mypy plugin.�)�annotationsN)�ConfigParser)�Any�Callable�Iterator)�	ErrorCode)�expand_type�expand_type_by_instance)�	ARG_NAMED�
ARG_NAMED_OPT�ARG_OPT�ARG_POS�	ARG_STAR2�MDEF�Argument�AssignmentStmt�Block�CallExpr�ClassDef�Context�	Decorator�DictExpr�EllipsisExpr�
Expression�FuncDef�IfStmt�JsonDict�
MemberExpr�NameExpr�PassStmt�PlaceholderNode�RefExpr�	Statement�StrExpr�SymbolTableNode�TempNode�	TypeAlias�TypeInfo�Var)�Options)�CheckerPluginInterface�ClassDefContext�FunctionContext�
MethodContext�Plugin�ReportConfigContext�SemanticAnalyzerPluginInterface)�dataclasses)�deserialize_and_fixup_type)�set_callable_name)�make_wildcard_trigger)�state)�map_type_from_supertype)�AnyType�CallableType�Instance�NoneType�
Overloaded�Type�	TypeOfAny�TypeType�TypeVarType�	UnionType�get_proper_type)�
fill_typevars)�get_unique_redefinition_name)�__version__)�_fields)�parse_mypy_version)�
TypeVarDef)r@�
pydantic-mypyzpydantic-mypy-metadatazpydantic.main.BaseModelz#pydantic_settings.main.BaseSettingsz5pydantic._internal._model_construction.ModelMetaclasszpydantic.fields.Fieldzpydantic.dataclasses.dataclass�.pydantic.functional_validators.model_validator>�*pydantic.functional_serializers.serializer�.pydantic.deprecated.class_validators.validator�.pydantic.functional_validators.field_validator�0pydantic.functional_serializers.model_serializer�3pydantic.deprecated.class_validators.root_validatorrJ)ri��builtins�__builtins__��version�str�return�type[Plugin]c��tS)a!`version` is the mypy version string.

    We might want to use this to print a warning if the mypy version being used is
    newer, or especially older, than we expect (or need).

    Args:
        version: The mypy version string.

    Return:
        The Pydantic mypy plugin type.
    )�PydanticPlugin)rSs �B/opt/cloudlinux/venv/lib/python3.11/site-packages/pydantic/mypy.py�pluginrZqs
����c�l��eZdZdZd�fd�Zdd
�Zdd�Zd d�Zd!d�Zdd�Z	d"d�Z
d#d�Zd$d�Zd%d�Z
�xZS)&rXzThe Pydantic mypy plugin.�optionsr*rU�Nonec���t|��|_|j���|_t	���|��dS�N)�PydanticPluginConfig�
plugin_config�to_data�_plugin_data�super�__init__)�selfr]�	__class__s  �rYrfzPydanticPlugin.__init__�sH���1�'�:�:��� �.�6�6�8�8���
������!�!�!�!�!r[�fullnamerT�(Callable[[ClassDefContext], bool] | Nonec��|�|��}|rDt|jt��r*t	d�|jjD����r|jSdS)zUpdate Pydantic model class.c3�6K�|]}|jtkV��dSr`)ri�BASEMODEL_FULLNAME��.0�bases  rY�	<genexpr>z5PydanticPlugin.get_base_class_hook.<locals>.<genexpr>�s*����P�P�4�4�=�$6�6�P�P�P�P�P�Pr[N)�lookup_fully_qualified�
isinstance�noder(�any�mro�$_pydantic_model_class_maker_callback�rgri�syms   rY�get_base_class_hookz"PydanticPlugin.get_base_class_hook�sd���)�)�(�3�3���	A�:�c�h��1�1�	A��P�P�3�8�<�P�P�P�P�P�
A��@�@��tr[�(Callable[[ClassDefContext], None] | Nonec�*�|tkr|jSdS)z,Update Pydantic `ModelMetaclass` definition.N)�MODEL_METACLASS_FULLNAME�)_pydantic_model_metaclass_marker_callback�rgris  rY�get_metaclass_hookz!PydanticPlugin.get_metaclass_hook�s���/�/�/��A�A��tr[�(Callable[[FunctionContext], Type] | Nonec�b�|�|��}|r|jtkr|jSdS)z/Adjust the return type of the `Field` function.N)rrri�FIELD_FULLNAME�_pydantic_field_callbackrxs   rY�get_function_hookz PydanticPlugin.get_function_hook�s7���)�)�(�3�3���	1�3�<�>�1�1��0�0��tr[�&Callable[[MethodContext], Type] | Nonec�>�|�d��rtSdS)z-Adjust return type of `from_orm` method call.z	.from_ormN)�endswith�from_attributes_callbackrs  rY�get_method_hookzPydanticPlugin.get_method_hook�s#�����[�)�)�	,�+�+��tr[c�J�|tkrtdkrtjSdS)z�Mark pydantic.dataclasses as dataclass.

        Mypy version 1.1.1 added support for `@dataclass_transform` decorator.
        )�r�N)�DATACLASS_FULLNAME�MYPY_VERSION_TUPLEr2�dataclass_class_maker_callbackrs  rY�get_class_decorator_hookz'PydanticPlugin.get_class_decorator_hook�s)��
�)�)�)�.@�6�.I�.I��=�=��tr[�ctxr0�dict[str, Any]c��|jS)zjReturn all plugin config data.

        Used by mypy to determine if cache needs to be discarded.
        )rd)rgr�s  rY�report_config_dataz!PydanticPlugin.report_config_data�s
��
� � r[r,�boolc�v�t|j|j|j|j��}|���Sr`)�PydanticModelTransformer�cls�reason�apirb�	transform)rgr��transformers   rYrwz3PydanticPlugin._pydantic_model_class_maker_callback�s0��.�s�w��
�C�G�T�M_�`�`���$�$�&�&�&r[c��|jjrdS|jjj}|s
Jd���t|jdd��rd|j_dSdS)z�Reset dataclass_transform_spec attribute of ModelMetaclass.

        Let the plugin handle it. This behavior can be disabled
        if 'debug_dataclass_transform' is set to True', for testing purposes.
        Nz-callback not passed from 'get_metaclass_hook'�dataclass_transform_spec)rb�debug_dataclass_transformr��info�declared_metaclass�getattr�typer�)rgr��info_metaclasss   rYr~z8PydanticPlugin._pydantic_model_metaclass_marker_callback�sn����7�	��F����8���N�N�N�N�N�N��>�&�(B�D�I�I�	@�;?�N��8�8�8�	@�	@r[r-r=c��	�|j�	|jddks
Jd���|jddks
Jd���|jd}|jd}|r|rt|j|j���	S|r3|jdd}|d}t|t��s|Sn�|r�|jdd}t|t��r
|j
d}t|t��rU|j}t|dd��}|r9td	�|D����r t�	fd
�|D����|_|S�	S)aoExtract the type of the `default` argument from the Field function, and use it as the return type.

        In particular:
        * Check whether the default and default_factory argument is specified.
        * Output an error if both are specified.
        * Retrieve the type of the argument which is specified, and use it as return type for the function.
        r�defaultz0"default" is no longer first argument in Field()r��default_factoryz9"default_factory" is no longer second argument in Field()�argsNc3�@K�|]}t|t��V��dSr`)rsr@)ro�args  rYrqz:PydanticPlugin._pydantic_field_callback.<locals>.<genexpr>�s,����H�H�C�:�c�;�7�7�H�H�H�H�H�Hr[c3��K�|]}�V��dSr`�)ro�_�default_any_types  �rYrqz:PydanticPlugin._pydantic_field_callback.<locals>.<genexpr>�s$�����-M�-M�1�.>�-M�-M�-M�-M�-M�-Mr[)�default_return_type�callee_arg_namesr��+error_default_and_default_factory_specifiedr��context�	arg_typesrsrr<�itemsr9�ret_typer��all�tuple)
rgr��default_args�default_factory_args�default_type�default_arg�default_factory_typer�r�r�s
         @rYr�z'PydanticPlugin._pydantic_field_callback�s�����2���#�A�&�)�3�3�3�5g�3�3�3��#�A�&�*;�;�;�;�=x�;�;�;��x��{��"�x��{���	$�0�	$�7�����M�M�M�#�#��	 ��=��+�A�.�L�&�q�/�K��k�<�8�8�
$�#�#�
$�"�	 �#&�=��#3�A�#6� ��.�
�;�;�
E�';�'A�!�'D�$��.��=�=�	
 �/�8���x���6�6���N��H�H�4�H�H�H�H�H�N�(-�-M�-M�-M�-M��-M�-M�-M�(M�(M��
����r[�r]r*rUr^)rirTrUrj)rirTrUr{)rirTrUr�)rirTrUr�)r�r0rUr�)r�r,rUr�)r�r,rUr^)r�r-rUr=)�__name__�
__module__�__qualname__�__doc__rfrzr�r�r�r�r�rwr~r��
__classcell__)rhs@rYrXrX�s��������#�#�"�"�"�"�"�"�
��������������������!�!�!�!�'�'�'�'�@�@�@�@�. �. �. �. �. �. �. �. r[rXc�P�eZdZUdZdZded<ded<ded<ded<dd�Zdd�ZdS)raa�A Pydantic mypy plugin config holder.

    Attributes:
        init_forbid_extra: Whether to add a `**kwargs` at the end of the generated `__init__` signature.
        init_typed: Whether to annotate fields in the generated `__init__`.
        warn_required_dynamic_aliases: Whether to raise required dynamic aliases error.
        debug_dataclass_transform: Whether to not reset `dataclass_transform_spec` attribute
            of `ModelMetaclass` for testing purposes.
    )�init_forbid_extra�
init_typed�warn_required_dynamic_aliasesr�r�r�r�r�r�r]r*rUr^c��|j�dSt|j��}|��|�di���di��}|jD]P}|�|d��}t	|t
��st
d|�����t|||���QdSt��}|�	|j��|jD]0}|�
t|d���}t|||���1dS)N�toolrIFz/Configuration value must be a boolean for key: )�fallback)�config_file�
parse_toml�get�	__slots__rsr��
ValueError�setattrr�read�
getboolean�CONFIGFILE_KEY)rgr]�toml_config�config�key�settingrbs       rYrfzPydanticPluginConfig.__init__s$����&��F� ��!4�5�5���"� �_�_�V�R�0�0�4�4�_�b�I�I�F��~�
,�
,�� �*�*�S�%�0�0��!�'�4�0�0�^�$�%\�WZ�%\�%\�]�]�]���c�7�+�+�+�+�	
,�
,�)�N�N�M����w�2�3�3�3��~�
,�
,��'�2�2�>�3�QV�2�W�W����c�7�+�+�+�+�
,�
,r[r�c�*���fd��jD��S)z/Returns a dict of config names to their values.c�2��i|]}|t�|����Sr�)r�)ror�rgs  �rY�
<dictcomp>z0PydanticPluginConfig.to_data.<locals>.<dictcomp>!s%���B�B�B�C��W�T�3�'�'�B�B�Br[)r��rgs`rYrczPydanticPluginConfig.to_datas���B�B�B�B�4�>�B�B�B�Br[Nr��rUr�)r�r�r�r�r��__annotations__rfrcr�r[rYrara�s�����������I���������'�'�'�'�#�#�#�#�,�,�,�,�&C�C�C�C�C�Cr[rar�r.r=c�\�|j}t|t��r|j}t|t��r"t|jt��r|j}nMt|t��r|}n5d|�d|jj�d�}t||j
|j��|jS|jj
�t��}|�|jS|�di���d��}|dur%t!|jj|j
|j��|jS)z1Raise an error if from_attributes is not enabled.z
ctx.type: �
 (of type �)Nr��from_attributesT)r�rsr?�itemr9r�r:rhr��error_unexpected_behaviorr�r�r��metadatar��METADATA_KEY�error_from_attributes�name)r��ctx_type�
model_type�detail�pydantic_metadatar�s      rYr�r�$s%���x�H��(�H�%�%�!��=���(�L�)�)�'�j��9J�H�.U�.U�'��&�
�
�	�H�h�	'�	'�'��
�
�P�h�P�P�(�2D�2M�P�P�P��!�&�#�'�3�;�?�?�?��&�&�"��0�4�4�\�B�B��� ��&�&�'�+�+�H�b�9�9�=�=�>O�P�P�O��d�"�"��j�o�2�C�G�S�[�I�I�I��"�"r[c�Z�eZdZdZd%d�Zd&d�Zd'd�Zd(d�Zd)d�Ze	d*d ���Z
d+d#�Zd$S),�PydanticModelFieldz5Based on mypy.plugins.dataclasses.DataclassAttribute.r�rT�alias�
str | None�has_dynamic_aliasr��has_default�line�int�columnr��Type | Noner�r(c	�v�||_||_||_||_||_||_||_||_dSr`)r�r�r�r�r�r�r�r�)	rgr�r�r�r�r�r�r�r�s	         rYrfzPydanticModelField.__init__>sB����	���
�!2���&�����	������	���	�	�	r[�current_info�typed�force_optional�	use_aliasrUrc���t|�||��|r|�|��nttj��d|s|jrtnt���S)zABased on mypy.plugins.dataclasses.DataclassAttribute.to_argument.N)�variable�type_annotation�initializer�kind)	r�to_varr	r8r>�explicitr�rr)rgr�r�r�r�s     rY�to_argumentzPydanticModelField.to_argumentRsh����[�[��y�9�9�>C�d�D�,�,�\�:�:�:��QZ�Qc�Id�Id��"0�S�D�4D�S���)�	
�
�
�	
r[c��|j�?|jj�3t|j|jjjt|��i��S|jS)zABased on mypy.plugins.dataclasses.DataclassAttribute.expand_type.)r�r��	self_typer	�idrC)rgr�s  rYr	zPydanticModelField.expand_type[sF���9� �T�Y�%8�%D�
�t�y�4�9�+>�+A�=�Q]�C^�C^�*_�`�`�`��y�r[r)c�x�|r|j�|j}n|j}t||�|����S)z<Based on mypy.plugins.dataclasses.DataclassAttribute.to_var.)r�r�r)r	)rgr�r�r�s    rYr�zPydanticModelField.to_vares?���	���/��:�D�D��9�D��4��)�)�,�7�7�8�8�8r[rc��|jsJ�|j|j|j|j|j|j|j���d�S)z?Based on mypy.plugins.dataclasses.DataclassAttribute.serialize.)r�r�r�r�r�r�r�)r�r�r�r�r�r�r��	serializer�s rYrzPydanticModelField.serializensP���y�����I��Z�!%�!7��+��I��k��I�'�'�)�)�
�
�	
r[�datar�r1c��|���}t|�d��|��}|d||d�|��S)zABased on mypy.plugins.dataclasses.DataclassAttribute.deserialize.r�)r�r�r�)�copyr3�pop)r�r�rr��typs     rY�deserializezPydanticModelField.deserialize{sI���y�y�{�{��(����&�)9�)9�3�?�?���s�/��$�/�/�$�/�/�/r[�sub_typer^c�X�|j�"t|j||j��|_dSdS)zxExpands type vars in the context of a subtype when an attribute is inherited
        from a generic super type.
        N)r�r7r�)rgrs  rY�expand_typevar_from_subtypez.PydanticModelField.expand_typevar_from_subtype�s/���9� �/��	�8�T�Y�O�O�D�I�I�I�!� r[N)r�rTr�r�r�r�r�r�r�r�r�r�r�r�r�r()
r�r(r�r�r�r�r�r�rUr)r�r(rUr�)r�r(r�r�rUr))rUr)r�r(rrr�r1rUr�)rr(rUr^)r�r�r�r�rfrr	r�r�classmethodr
rr�r[rYr�r�;s�������?�?�����(
�
�
�
�����9�9�9�9�
�
�
�
��0�0�0��[�0�P�P�P�P�P�Pr[r�c���eZdZUdZhd�Zded<dBd�ZdCd�ZdDd�ZdEd�Z	dFd�Z
dGd�ZdHd�ZdId!�Z
dJd)�ZdKd.�ZdKd/�ZdLd1�ZdMd5�ZedNd6���ZedOd8���ZdPd=�ZdQd>�ZedRd@���ZdAS)Sr�z�Transform the BaseModel subclass according to the plugin settings.

    Attributes:
        tracked_config_fields: A set of field configs that the plugin has to track their value.
    >�extra�frozen�alias_generatorr��populate_by_namezset[str]�tracked_config_fieldsr�rr��Expression | Statementr�r1rbrarUr^c�>�||_||_||_||_dSr`)�_cls�_reason�_apirb)rgr�r�r�rbs     rYrfz!PydanticModelTransformer.__init__�s'����	������	�*����r[r�c��|jj}|���}|�|��}|�dS|D]}|j�dS�
td�|jdd�D����}|�|||��|�|||��|�	||j
du���|���d�|D��|���d�|j
t<dS)	a�Configures the BaseModel subclass according to the plugin settings.

        In particular:

        * determines the model config and fields,
        * adds a fields-aware signature for the initializer and construct methods
        * freezes the class if frozen = True
        * stores the fields, config, and if the class is settings in the mypy metadata for access by subclasses
        NFc3�6K�|]}|jtkV��dSr`)ri�BASESETTINGS_FULLNAMErns  rYrqz5PydanticModelTransformer.transform.<locals>.<genexpr>�s*����[�[�T�$�-�+@�@�[�[�[�[�[�[r[���T)rc�B�i|]}|j|�����Sr�)r�r)ro�fields  rYr�z6PydanticModelTransformer.transform.<locals>.<dictcomp>�s&��I�I�I��u�z�5�?�?�#4�#4�I�I�Ir[)�fieldsr�)rr��collect_config�collect_fieldsr�rurv�add_initializer�add_model_construct_method�
set_frozenr�adjust_decorator_signatures�get_values_dictr�r�)rgr�r�r#r"�is_settingss      rYr�z"PydanticModelTransformer.transform�s%���y�~���$�$�&�&���$�$�V�,�,���>��5��	�	�E��z�!��u�u�"��[�[�T�X�VY�WY�VY�]�[�[�[�[�[�����V�V�[�9�9�9��'�'����D�D�D�����v�}��'<��=�=�=��(�(�*�*�*�J�I�&�I�I�I��,�,�.�.�'
�'
��
�l�#�
�tr[c����|jjj���D]�\}}t	|jt��r�|jjd�t	�t��r�t	�j	t��rf�j	jtvrS�j	jtkr-t�fd�t�j��D����sd|jj_��dS)a�When we decorate a function `f` with `pydantic.validator(...)`, `pydantic.field_validator`
        or `pydantic.serializer(...)`, mypy sees `f` as a regular method taking a `self` instance,
        even though pydantic internally wraps `f` with `classmethod` if necessary.

        Teach mypy this by marking any function whose outermost decorator is a `validator()`,
        `field_validator()` or `serializer()` call as a `classmethod`.
        rc3��K�|]8\}}�j|dkot|t��o
|jdkV��9dS)�mode�afterN)�	arg_namesrsr$�value)ro�ir��	first_decs   �rYrqzGPydanticModelTransformer.adjust_decorator_signatures.<locals>.<genexpr>�sg����� � � &��3�&�/��2�f�<�r��C�QX�AY�AY�r�^a�^g�kr�^r� � � � � � r[TN)rr��namesr�rsrtr�original_decoratorsr�calleerri�DECORATOR_FULLNAMES�MODEL_VALIDATOR_FULLNAMEru�	enumerater��func�is_class)rgr�ryr3s   @rYr)z4PydanticModelTransformer.adjust_decorator_signatures�s�������-�3�3�5�5�	2�	2�I�D�#��#�(�I�.�.�
2��H�8��;�	��y�(�3�3�2�"�9�#3�X�>�>�2�"�(�1�5H�H�H�"�(�1�5M�M�M�� � � � �*3�I�N�*C�*C� � � ���N�.2�C�H�M�*��#	2�	2r[�ModelConfigDatac��|j}t��}d}d}|j���D]4\}}|�||��}|rd}|�|���5d}|jjD�]}t|ttf��s� t|t���r|jd}	t|	t��r|	j
dkr�dt|jt��rXt!|jj|jj��D]1\}
}|
��|�|�|
|�����2�nt|jt&��rV|jjD]I\}}
t|t(��s�|�|�|j|
�����Jn�t|t��r�|j
dkr��i|jjD]n}t|t��s�|jd}	t|	t��s�;|�|�|	j
|j�����o|r|j�d|��nd}��|s|r1|r/|jr(|js!|jjrt9|j|��|jjdd�D]�}t>|j vr�|j�!tE|j#����|j t>d	���D]\}}|�$||�����|S)
zhCollects the values of the config attributes that are used by the plugin, accounting for parent classes.FTNr�model_config�ConfigzYSpecifying config in two places is ambiguous, use either Config attribute or class kwargsr�r�)%rr<�keywordsr��get_config_update�update�defs�bodyrsrr�lvaluesrr��rvaluer�zipr0r�rr$r1r�fail�has_alias_generatorrrbr��error_required_dynamic_aliasesr�rvr�r��add_plugin_dependencyr5ri�
setdefault)rgr�r��has_config_kwargs�has_config_from_namespacer��expr�config_data�stmt�lhs�arg_namer��key_expr�
value_expr�substmtr�r1s                 rYr$z'PydanticModelTransformer.collect_config�s����i�� �"�"��!��$)�!��,�,�,�.�.�	+�	+�J�D�$��0�0��t�<�<�K��
+�$(�!��
�
�k�*�*�*��"&���H�M�&	-�&	-�D��d�^�X�$>�?�?�
���$��/�/�
T��l�1�o��!�#�x�0�0��C�H��4N�4N���d�k�8�4�4�	Z�),�T�[�-B�D�K�DT�)U�)U�M�M�
��#�#�+�$��
�
�d�&<�&<�X�s�&K�&K�L�L�L�L�M� ���X�6�6�Z�04��0A�Z�Z�,��*�)�(�G�<�<�%�$��
�
�d�&<�&<�X�^�Z�&X�&X�Y�Y�Y�Y���D�(�+�+�	
T��9��(�(��#�y�~�T�T�G�%�g�~�>�>�!� �!�/�!�,�C�%�c�8�4�4�!� ��M�M�$�"8�"8���7�>�"R�"R�S�S�S�S� �
��	���o�������(,�%�%��	@� 9�	@��
@��.�
@��/�
@��&�D�	
@�/�t�y�$�?�?�?��H�L����$�	/�	/�D��4�=�0�0��
�I�+�+�,A�$�-�,P�,P�Q�Q�Q�#�}�\�:�8�D�J�J�L�L�
/�
/���e��!�!�$��.�.�.�.�
/��
r[r>�list[PydanticModelField] | Nonec��|j}i}t|jjdd���D�]K}t|jvr�|j�t|j	����|jtd�
��D]�\}}t�|||j��}tj|jjj��5|�|j��ddd��n#1swxYwY|||<|jj�|��}|rA|jr:t+|jt,��s |j�d|j�����Mt1��}	|�|j��D]K}
|�|
|��}|�1|
jd}|	�|j��|||j<�Lt?|� ����S)zACollects the fields for the model, accounting for parent classes.r�r r#Nz7BaseModel field may only be overridden by another fieldr)!r�reversedr�rvr�r�rrKr5rir�r�r
r6�strict_optional_setr]�strict_optionalrr4r�rtrsr)rH�set�%_get_assignment_statements_from_blockrC�collect_field_from_stmtrE�addr��list�values)
rgr>r��found_fieldsr�r�rr"�sym_node�current_field_namesrQ�maybe_fieldrRs
             rYr%z'PydanticModelTransformer.collect_fields/s>���i��79���S�X�\�!�B�$�/�0�0�	�	�D��4�=�0�0��
�I�+�+�,A�$�-�,P�,P�Q�Q�Q�"�m�L�9�(�C�I�I�K�K�
�
�
��d�*�6�6�t�T�4�9�M�M��
�.�t�y�/@�/P�Q�Q�@�@��5�5�c�h�?�?�?�@�@�@�@�@�@�@�@�@�@�@����@�@�@�@�%*��T�"��8�>�-�-�d�3�3�����
��j���PS�6T�6T���I�N�N�Q� �
�����
�$),�����>�>�s�x�H�H�	5�	5�D��6�6�t�\�J�J�K��&��l�1�o��#�'�'���1�1�1�)4��S�X�&���L�'�'�)�)�*�*�*s�D�D�
DrQr�Iterator[AssignmentStmt]c#��K�|jD]$}|js|�|��Ed{V���%|j�.|jjs$|�|j��Ed{V��dSdSdSr`)rD�is_unreachabler]�	else_body)rgrQrDs   rY�,_get_assignment_statements_from_if_statementzEPydanticModelTransformer._get_assignment_statements_from_if_statementcs������I�	L�	L�D��&�
L��E�E�d�K�K�K�K�K�K�K�K�K���>�%�d�n�.K�%��A�A�$�.�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�Q�&�%�%�%r[�blockrc#�K�|jD]L}t|t��r|V��t|t��r|�|��Ed{V���MdSr`)rDrsrrrj)rgrkrQs   rYr]z>PydanticModelTransformer._get_assignment_statements_from_blockjs}�����J�	S�	S�D��$��/�/�
S��
�
�
�
��D�&�)�)�
S��L�L�T�R�R�R�R�R�R�R�R�R��		S�	Sr[r�PydanticModelField | Nonec
�n�|j}|jd}t|t��r$t	j|j��r|jdkrdS|js�t|jt��rbt|jj
t��rCt|jj
j
t��r|jj
j
jtvrdSt|j|��dS|jd}t|t��sdSt	j|j��r|jdkrdS|jj�|j��}|�dS|j}t|t&��rdSt|t(��r|j�d|��dSt|t,��sdS|jrdSt1|j��}t|t4��r+|jjdkr|j�d|��|�|��}|j�r|jrk|jrd|j�|jd���}	|	r|	|_n9|j�d	|��t?t@j!��|_|�"|��\}
}|r(|j#s!|j$j%rtM|j|��|�'||j|��}tQ|j|||
|j)|j*||j�
��S)aGet pydantic model field from statement.

        Args:
            stmt: The statement.
            model_config: Configuration settings for the model.

        Returns:
            A pydantic model field if it could find the field in statement. Otherwise, `None`.
        rr>NzFType aliases inside BaseModel definitions are not supported at runtimezdataclasses.InitVarz%InitVar is not supported in BaseModelT)�is_finalzGNeed type argument for Final[...] with non-literal default in BaseModel)r�r�r�r�r�r�r�r�)+rrErsrrF�is_valid_field_namer��
new_syntaxrFrr6rir7�error_untyped_fieldsrr�r4r�rtr!r'rHr)�is_classvarrBr�r:�get_has_defaultro�is_inferred�analyze_simple_literal_typer8r>�
from_error�get_alias_inforrbr�rJ�_infer_dataclass_attr_init_typer�r�r�)
rgrQr>r�rRryrt�	node_typer�rr�r��	init_types
             rYr^z0PydanticModelTransformer.collect_field_from_stmtqsA���i���l�1�o���#�x�(�(�	��0K�C�H�0U�0U�	�Y\�Ya�es�Ys�Ys��4���	��4�;��1�1�	
��t�{�1�8�<�<�	
��t�{�1�8�(�C�C�	
��K�&�-�6�:M�M�M�
�t�
!���D�1�1�1��4��l�1�o���#�x�(�(�	��4��*�3�8�4�4�	���N�8R�8R��4��h�n� � ���*�*���;��4��x���d�O�,�,�	�
�4��d�I�&�&�	��I�N�N�X��
�
�
��4��$��$�$�	�
�4���	��4�$�D�I�.�.�	��i��*�*�	�y�~�/F�J_�/_�/_��I�N�N�7��
�
�
�
�*�*�4�0�0���8���
��$�2B���)�7�7���d�7�S�S�C��
:���	�	��	���]�����$�I�$8�9�9��	�#'�#6�#6�t�#<�#<� �� ��	<�\�%B�	<�t�GY�Gw�	<�*�4�9�d�;�;�;��8�8��c�h��M�M�	�!���/�#�����;����	
�	
�	
�		
r[ryr%r�rTr�rr�c��|j}|jr|St|j��}t|t��s|S|j�d��}|�r!t|jt��r�|j�d��}|sJ�|jr)tt|j|j|����}nttj��St|t��r8|jtttgkrt!|jd|��S|j�d|jj�d�|��n)|j�d|jj�d�|��|S)zvInfer __init__ argument type for an attribute.

        In particular, possibly use the signature of __set__.
        �__set__rRz(Unsupported signature for "__set__" in "�"zUnsupported "__set__" in ")r��implicitrBrsr:r�rtr�get_containing_type_infor7r8r>�unannotatedr9�	arg_kindsrr
r�rrHr�)	rgryr�r�r��t�setter�
super_info�setter_types	         rYryz8PydanticModelTransformer._infer_dataclass_attr_init_type�sr��
�(���<�	��N��C�H�%�%���!�X�&�&�	��N�����I�&�&���	U��&�+�w�/�/�
U��V�<�<�Y�G�G�
�!�!�!�!��;�:�"1�2I�&�+�WX�W]�_i�2j�2j�"k�"k�K�K�"�9�#8�9�9�9��k�<�8�8�g�[�=R����W�>�>�
3�;�3H��3K�Q�O�O�O��I�N�N�#\�a�f�k�#\�#\�#\�^e�f�f�f�f��	���J�A�F�K�J�J�J�G�T�T�T��r[r#�list[PydanticModelField]r�r+c
�~�d|jjjvr|jjjdjsdS|jj}|jdu}t|jo|j��}tj
|jjj
��5|�|||||���}|r�|j�t ��j}d|jvr�|jdj}	|	��|	j��|	j}
t'|
j��D]�\}}|�d��s|�d��s�0|j�|
j|��}
t1||
��}|�t5||
dt6������ddd��n#1swxYwY|�||��sPt1d��}|�t5|t;t<j��dt@����tC|j|jd|tE�����dS)	z�Adds a fields-aware `__init__` method to the class.

        The added `__init__` will be annotated with types vs. all `Any` depending on the plugin settings.
        rfNT�r��requires_dynamic_aliasesr�r+�__r��kwargs)r��return_type)#rr�r4�plugin_generatedrbr�rr�rIr6rZrr]r[�get_field_argumentsrrrrtr�r9r0�
startswith�	anal_typer�r)�appendrr
�should_init_forbid_extrar8r>rr�
add_methodr;)rgr#r�r+r�r�r�r��base_settings_node�base_settings_init_node�	func_type�arg_idxrS�analyzed_variable_typer��vars                rYr&z(PydanticModelTransformer.add_initializers���
����-�-�-�d�i�n�6J�:�6V�6g�-��F��"�-���+�4�7�	�#'��(B�(b�6�Kb�Gb�#c�#c� �
�
&�t�y�'8�'H�
I�
I�	c�	c��+�+���)A�#�'�,���D��
c�%)�Y�%E�%E�F[�%\�%\�%a�"��!3�!9�9�9�.@�.F�z�.R�.W�+�.�:�?V�?[�?g�$;�$@�	�1:�9�;N�1O�1O�c�c�-�G�X�'�2�2�4�8�8�)��@S�@S�TW�@X�@X�)� (�59�Y�5H�5H��I\�]d�Ie�5f�5f�2�'*�8�5K�'L�'L�H� �K�K���;Q�SW�Y`�(a�(a�b�b�b�b�'	c�	c�	c�	c�	c�	c�	c�	c�	c�	c�	c����	c�	c�	c�	c�*�,�,�V�V�<�<�	U��h�-�-�C��K�K���g�i�.@�&A�&A�4��S�S�T�T�T��4�9�d�i��$�H�J�J�W�W�W�W�W�Ws�DF"�"F&�)F&c	��|j�t�d�|j�t�d���g��}t|t	��g��}tt
d|��|dt��}tj	|jj
j��5|�|ddd|���}ddd��n#1swxYwY|�
||��sPt
d��}|�t|tt j��dt$����|g|z}t'|j|jd	|t+|jj��d�
��dS)z�Adds a fully typed `model_construct` classmethod to the class.

        Similar to the fields-aware __init__ method, but always uses the field names (not aliases),
        and does not treat settings fields as optional.
        z.setz.str�_fields_setNTFr�r��model_construct)r�r��is_classmethod)r�
named_type�
BUILTINS_NAMErAr;rr)r
r6rZr]r[r�r�r�r8r>rrr�rrCr�)	rgr#r�r+�set_str�optional_set_str�fields_set_argumentr�r�s	         rYr'z3PydanticModelTransformer.add_model_construct_method5s����)�&�&�-�'=�'=�'=��	�@T�@T�Xe�Uk�Uk�Uk�@l�@l�?m�n�n��$�g�x�z�z�%:�;�;��&�s�=�:J�'K�'K�M]�_c�el�m�m��
�
&�t�y�'8�'H�
I�
I�	�	��+�+��d�U�e�al�,���D�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	��,�,�V�V�<�<�	U��h�-�-�C��K�K���g�i�.@�&A�&A�4��S�S�T�T�T�#�$�t�+����I��I���%�d�i�n�5�5��
	
�	
�	
�	
�	
�	
s�*C�C�Crc��|jj}|D�];}|j�|j��}|��|j}t
|t��r||_�Ht
|t��r&|j
js|j
�����	t|��}n#t$rt|��}YnwxYwd|�d|j�d�}t#||j
|j����|�|d���}||_||_|jdz|jz|_t+t,|��|j|j<��=dS)z�Marks all fields as properties so that attempts to set them trigger mypy errors.

        This is the same approach used by the attrs and dataclasses plugins.
        Nzsym_node.node: r�r�F)r��.)rr�r4r�r�rtrsr)�is_propertyr!r�final_iteration�deferrT�	TypeError�reprrhr�r�ri�	_fullnamer%r)	rgr#rr�r"rcr��var_strr�s	         rYr(z#PydanticModelTransformer.set_frozenSsb��
�y�~���	B�	B�E��z�~�~�e�j�1�1�H��#��m���c�3�'�'�
L�&,�C�O�O���_�5�5�L�d�i�>W�L��I�O�O�%�%�%�%�,�"%�c�(�(����$�,�,�,�"&�s�)�)����,����S�w�R�R�#�-�R�R�R�F�-�f�d�i���K�K�K�K��l�l�4�5�l�9�9�����"(��� $�
�� 3�c�h� >��
�'6�t�S�'A�'A��
�3�8�$�$�/	B�	Bs�B#�#B?�>B?r�r�ModelConfigData | Nonec��||jvrdS|dkrjt|t��r|jdk}n9t|t��r|jdk}nt
||j|��dSt|���S|dkr4d}t|t��r
|j
dkrd}t|�	��St|t��r |j
d
vrtdi||j
dki��St
||j|��dS)
z�Determines the config update due to a single kwarg in the ConfigDict definition.

        Warns if a tracked config attribute is set to a value the plugin doesn't know how to interpret (e.g., an int)
        Nr�forbid)�forbid_extrarT�
builtins.NoneF)rI)�
builtins.Truezbuiltins.Falser�r�)rrsr$r1rr��error_invalid_config_valuerr<rri)rgr�r�r�rIs     rYrAz*PydanticModelTransformer.get_config_updaters+��
�t�1�1�1��4��7�?�?��#�w�'�'�
�"�y�H�4����C��,�,�
�"�x�8�3���*�4���C�@�@�@��t�"��=�=�=�=��$�$�$�"&���#�x�(�(�
,�S�\�_�-L�-L�&+�#�"�7J�K�K�K�K��c�8�$�$�	N���9\�)\�)\�"�M�M�d�C�L�O�,K�%L�M�M�M�"�4���C�8�8�8��tr[c��|j}t|t��rdSt|t��r�t|jt
��rx|jjtkrct|j	|j
��D]F\}}|�|dkr|jtucS|dkr#t|t��o
|jdkcS�GdSt|t��S)zUReturns a boolean indicating whether the field defined in `stmt` is a required field.FNr�r�r�)rFrsr&rr6r"rir�rGr�r0rhrr)rQrOr�r�s    rYrtz(PydanticModelTransformer.get_has_default�s����{���d�H�%�%�	��5��d�H�%�%�	�*�T�[�'�*J�*J�	�t�{�Oc�gu�Ou�Ou�
!���D�N�;�;�
_�
_�	��T��<�4�9�#4�#4��=��<�<�<�<��,�,�,� *�3�� 9� 9� ]�c�l�o�>]�^�^�^�^�-��5��d�L�1�1�1�1r[�tuple[str | None, bool]c�n�|j}t|t��rdSt|t��r/t|jt
��r|jjtksdSt|j	��D];\}}|dkr�|j
|}t|t��r|jdfcSdSdS)aReturns a pair (alias, has_dynamic_alias), extracted from the declaration of the field defined in `stmt`.

        `has_dynamic_alias` is True if and only if an alias is provided, but not as a string literal.
        If `has_dynamic_alias` is True, `alias` will be None.
        )NFr�F)NT)
rFrsr&rr6r"rir�r9r0r�r$r1)rQrOr2rSr�s     rYrxz'PydanticModelTransformer.get_alias_info�s����{���d�H�%�%�	��;�
�t�X�&�&�	�+5�d�k�7�+K�+K�	�PT�P[�Pd�hv�Pv�Pv��;�$�T�^�4�4�	"�	"�K�A�x��7�"�"���)�A�,�C��#�w�'�'�
"��y�%�'�'�'�'�!�z�z��{r[r�r�r��list[Argument]c�L������|jj������fd�|D��}|S)z�Helper function used during the construction of the `__init__` and `model_construct` method signatures.

        Returns a list of mypy Argument instances for use in the generated signatures.
        c�X��g|]&}�r|j�|����p�������'S))r�r�r�)r�r)ror"r�r+r�r�r�s  �����rY�
<listcomp>z@PydanticModelTransformer.get_field_arguments.<locals>.<listcomp>�sc���
�
�
���
�
#(�"9�
�����E�2J�2Y�k�en�
�
�
�
�
�
r[)rr�)rgr#r�r�r�r+�	argumentsr�s  ```` @rYr�z,PydanticModelTransformer.get_field_arguments�sX��������y�~��
�
�
�
�
�
�
�
� �	
�
�
�	��r[c��|js*|�|t|j����rdS|jrdS|jjS)a@Indicates whether the generated `__init__` should get a `**kwargs` at the end of its signature.

        We disallow arbitrary kwargs if the extra config setting is "forbid", or if the plugin config says to,
        *unless* a required dynamic alias is present (since then we can't determine a valid signature).
        FT)r�is_dynamic_alias_presentr�rIr�rbr�)rgr#r�s   rYr�z1PydanticModelTransformer.should_init_forbid_extra�sS���&�	��,�,�V�T�&�:T�5U�5U�V�V�
��u���	��4��!�3�3r[rIc�F�|D]}|jrdS�
|r|D]}|j�dS�
dS)z�Returns whether any fields on the model have a "dynamic alias", i.e., an alias that cannot be
        determined during static analysis.
        TNF)r�r�)r#rIr"s   rYr�z1PydanticModelTransformer.is_dynamic_alias_present�sZ��
�	�	�E��&�
��t�t�
��	 ��
 �
 ���;�&��4�4�'��ur[N)
r�rr�rr�r1rbrarUr^)rUr�)rUr^)rUr<)r>r<rUrW)rQrrUrf)rkrrUrf)rQrr>r<rUrm)ryr%r�rTr�rrUr�)r#r�r�r<r+r�rUr^)r#r�rr�rUr^)r�rTr�rrUr�)rQrrUr�)rQrrUr�)r#r�r�r�r�r�r�r�r+r�rUr�)r#r�r�r<rUr�)r#r�rIr�rUr�)r�r�r�r�rr�rfr�r)r$r%rjr]r^ryr&r'r(rA�staticmethodrtrxr�r�r�r�r[rYr�r��s����������'�'�'������+�+�+�+� � � � �D2�2�2�2�6J�J�J�J�X2+�2+�2+�2+�hR�R�R�R�S�S�S�S�v
�v
�v
�v
�p$�$�$�$�L$X�$X�$X�$X�L
�
�
�
�<B�B�B�B�>����4�2�2�2��\�2�*�����\��6����,4�4�4�4������\���r[r�c�>�eZdZdZ					ddd	�Zdd�Zdd�Zdd�ZdS)r<z(Pydantic mypy plugin model config class.Nr��bool | Nonerr�rrIc�L�||_||_||_||_||_dSr`)r�rr�rrI)rgr�rr�rrIs      rYrfzModelConfigData.__init__�s1��)������.��� 0���#6�� � � r[rUr�c�H�d�|j���D��S)z�Returns a dict of Pydantic model config names to their values.

        It includes the config if config value is not `None`.
        c��i|]
\}}|�||��Sr`r�)ro�k�vs   rYr�z3ModelConfigData.get_values_dict.<locals>.<dictcomp>s��H�H�H���A�!�-��1�-�-�-r[)�__dict__r�r�s rYr*zModelConfigData.get_values_dicts'��
I�H���!4�!4�!6�!6�H�H�H�Hr[r�r�r^c��|�dS|������D]\}}t|||���dS)z$Update Pydantic model config values.N)r*r�r�)rgr�r�r�s    rYrBzModelConfigData.updatesV���>��F��*�*�,�,�2�2�4�4�	 �	 �D�A�q��D�!�Q�����	 �	 r[r�rTr1rc�L�t||���t|||��dSdS)zFSet default value for Pydantic model config if config value is `None`.N)r�r�)rgr�r1s   rYrLzModelConfigData.setdefaults2���4����%��D�#�u�%�%�%�%�%�&�%r[)NNNNN)
r�r�rr�r�r�rr�rIr�r�)r�r�rUr^)r�rTr1rrUr^)r�r�r�r�rfr*rBrLr�r[rYr<r<�s�������2�2�%)�"�'+�(,�+/�
7�7�7�7�7�I�I�I�I� � � � �&�&�&�&�&�&r[r<zpydantic-ormzInvalid from_attributes call�Pydanticzpydantic-configzInvalid config valuezpydantic-aliaszDynamic alias disallowedzpydantic-unexpectedzUnexpected behaviorzpydantic-fieldzUntyped field disallowedzInvalid Field defaults�
model_namer�r+r�rr^c�H�|�d|�d�|t���dS)zCEmits an error when the model does not have `from_attributes=True`.r~z$" does not have from_attributes=True��codeN)rH�	ERROR_ORM)r�r�r�s   rYr�r�s-���H�H�
A��
A�
A�
A�7�QZ�H�[�[�[�[�[r[r�r1c�H�|�d|�d�|t���dS)z0Emits an error when the config value is invalid.zInvalid value for "Config.r~r�N)rH�ERROR_CONFIG)r�r�r�s   rYr�r�"s,���H�H�
1�$�
1�
1�
1�7��H�N�N�N�N�Nr[c�@�|�d|t���dS)znEmits required dynamic aliases error.

    This will be called when `warn_required_dynamic_aliases=True`.
    z#Required dynamic aliases disallowedr�N)rH�ERROR_ALIAS�r�r�s  rYrJrJ's#��
�H�H�
2�G�+�H�N�N�N�N�Nr[r��8CheckerPluginInterface | SemanticAnalyzerPluginInterfacec�b�d}d|�d�}|d|�d�z
}|�||t���dS)z Emits unexpected behavior error.z6https://github.com/pydantic/pydantic/issues/new/choosez7The pydantic mypy plugin ran into unexpected behavior: �
z&Please consider reporting this bug at z so we can try to fix it!r�N)rH�ERROR_UNEXPECTED)r�r�r��link�full_messages     rYr�r�/sO��
D�D�W�V�W�W�W�L��\�T�\�\�\�\�L��H�H�\�7�)9�H�:�:�:�:�:r[c�@�|�d|t���dS)z;Emits an error when there is an untyped field in the model.zUntyped fields disallowedr�N)rH�
ERROR_UNTYPEDr�s  rYrrrr:s!���H�H�
(�'�
�H�F�F�F�F�Fr[c�@�|�d|t���dS)zNEmits an error when `Field` has both `default` and `default_factory` together.z>Field default and default_factory cannot be specified togetherr�N)rH�ERROR_FIELD_DEFAULTSr�s  rYr�r�?s"���H�H�
M�w�]q�H�r�r�r�r�rr[F�8SemanticAnalyzerPluginInterface | CheckerPluginInterfacer�rr�r�r�rr��tvar_def�TypeVarDef | Noner�r�c�,�|j}||jvrR|j|}	|	jr>t|	jt
��r$|jj�|	j��t|t��r|�
d��}
n|�dg��}
|rE|ptt|����}ttd��|dt d��g}n6|pt|��}ttd��|dt ��g}||z}ggg}}
}|D]f}|js
Jd���|�|j��|
�|jj��|�|j���gt-|||
||
��}|r|g|_t||t1t3��g����}||_t5||��|_||_|jdz|z|_|j|_||jvr*tA||j��}|j||j|<|rwd|_!t||j��}||_|j|_d|_"tG|tId��g|��}|j|_tKtL|��}	ntKtL|��}	d|	_|	|j|<|j'jj�|��dS)	zhVery closely related to `mypy.plugins.common.add_method_to_class`, with a few pydantic-specific changes.zbuiltins.functionrNT�__pydantic_self__z"All arguments must be fully typed.r�r)(r�r4r�rsrtrrCrD�remover1r��named_generic_typer?rCrr)rr�r�r�r�r�r9�	variablesrr r4r�r;rir�r�rD�is_decoratedr�rrr%r�defn)r�r�r�r�r�rr�r�r�ry�
function_type�firstr�r0r�r��	signaturer:�r_namer��decs                     rYr�r�Ds����8�D��t�z����j������	+�J�s�x��$A�$A�	+��H�M� � ���*�*�*��#�6�7�7�H����':�;�;�
�
��.�.�/B�B�G�G�
��O��>��-��*=�*=�!>�!>�	��#�f�+�+�y�$���F�F�G����4��t�!4�!4�	��#�1�2�2�I�t�W�M�M�N���4�<�D�&(�"�b�)�y�I��#�#���"�H�H�$H�H�H�H�����,�-�-�-������*�+�+�+������"�"�"�"��Y�	�9�k�=�Y�Y�I��)�'�j�	���4��u�h�j�j�\�2�2�3�3�D��D�I�!�)�T�2�2�D�I�"�D�M��]�S�(�4�/�D�N��	�D�I��t�z���-�d�D�J�?�?��!�Z��-��
�6��
�
*� �����d�i� � ������n��������x�
�6�6�7��;�;���9����d�C�(�(����d�D�)�)���C���D�J�t���I�N����t�$�$�$�$�$r[r��dict[str, Any] | Nonec�8�|�d��sdStjdkrddl}n0	ddl}n*#t
$rddl}|�d��YdSwxYwt|d��5}|�	|��cddd��S#1swxYwYdS)z�Returns a dict of config keys to values.

    It reads configs from toml file and returns `None` if the file is not a toml file.
    z.tomlN)��rzJNo TOML parser installed, cannot read configuration from `pyproject.toml`.�rb)
r��sys�version_info�tomllib�tomli�ImportError�warnings�warn�open�load)r��toml_r��rfs    rYr�r��s��
����(�(���t�
��7�"�"������	�!�!�!�!�!���	�	�	��O�O�O��M�M�f�g�g�g��4�4�		����
�k�4�	 �	 ��B��z�z�"�~�~���������������������s!�3�#A�A�-B�B�B)rSrTrUrV)r�r.rUr=)r�rTr�r+r�rrUr^)r�rTr�r1r�rrUr^)r�r1r�rrUr^)r�rTr�r�r�rrUr^)r�r+r�rrUr^)NNF)r�r�r�rr�rTr�r�r�r=rr�r�r�r�r�rUr^)r�rTrUr�)~r��
__future__rr��configparserr�typingrrr�mypy.errorcodesr�mypy.expandtyper	r
�
mypy.nodesrrr
rrrrrrrrrrrrrrrrrrr r!r"r#r$r%r&r'r(r)�mypy.optionsr*�mypy.pluginr+r,r-r.r/r0r1�mypy.pluginsr2�mypy.plugins.commonr3�mypy.semanalr4�mypy.server.triggerr5�
mypy.stater6�mypy.typeopsr7�
mypy.typesr8r9r:r;r<r=r>r?r@rArB�
mypy.typevarsrC�	mypy.utilrD�mypy.versionrE�mypy_version�pydantic._internalrF�pydantic.versionrGrHr�r�r�rmrr}r�r�r8r7r�r�rZrXrar�r�r�r<r�r�r�r�r�r�r�r�rJr�rrr�r�r�r�r[rY�<module>rs���d�d�"�"�"�"�"�"�
�
�
�
�%�%�%�%�%�%�*�*�*�*�*�*�*�*�*�*�%�%�%�%�%�%�@�@�@�@�@�@�@�@� � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � �B!� � � � � �������������������%�$�$�$�$�$�������+�*�*�*�*�*�5�5�5�5�5�5�������0�0�0�0�0�0���������������������������(�'�'�'�'�'�2�2�2�2�2�2�4�4�4�4�4�4�&�&�&�&�&�&�/�/�/�/�/�/�5�%�%�%�%�%�%�%���5�5�5�4�4�4�4�4�4�4�4�5����!��'��.��=��R��(��5��K������(�'��5�5��0�H�<�<�
�
�.�
�������s �s �s �s �s �V�s �s �s �l+C�+C�+C�+C�+C�+C�+C�+C�\#�#�#�#�.LP�LP�LP�LP�LP�LP�LP�LP�^c	�c	�c	�c	�c	�c	�c	�c	�L"&�"&�"&�"&�"&�"&�"&�"&�J
�I�n�&D�j�Q�Q�	��y�*�,B�J�O�O���i�(�*D�j�Q�Q���9�2�4I�:�V�V���	�*�,F�
�S�S�
� �y�!1�3K�Z�X�X��\�\�\�\�
O�O�O�O�
O�O�O�O�;�;�;�;�G�G�G�G�
s�s�s�s�"�"&� �K%�K%�K%�K%�K%�\�����s�"C)�)C7�6C7