PK APOCALYPSE V1

APOCALYPSE V1

Current Path : /opt/hc_python/lib/python3.12/site-packages/pydantic/__pycache__/
Upload File :
Current File : //opt/hc_python/lib/python3.12/site-packages/pydantic/__pycache__/main.cpython-312.pyc

�

���g���b�UdZddlmZddlZddlZddlZddlZddlZddl	m	Z	m
Z
ddlmZmZm
Z
mZmZmZmZmZmZmZmZmZmZddlZddlZddlmZddlmZmZmZdd	lmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(dd
l)m*Z*ddl+m,Z,m-Z-ddl.m/Z/m0Z0dd
l1m2Z2ddl3m4Z4m5Z5ddl6m7Z7m8Z8m9Z9m:Z:m;Z;ddl<m=Z=ddlm>Z>edd��Z?eee@efddfZAeeeBee@eeBefee@efdfZCdeDd<er5ddlEmFZFddlGmHZHddlmIZImJZJmKZKddlLmMZMmNZNddlOmPZQddlRmSZSmTZTmUZUddlRmVZWne>ZXdZYe%j�Z[Gd�de%j�� �Z]eddde^ddd!�																	d'd"��Z_edde^ddd#�																	d(d$��Z_dddddddd%�																			d)d&�Z_e*e^�Z`y)*zLogic for creating models.�)�annotationsN)�copy�deepcopy)
�
TYPE_CHECKING�Any�Callable�ClassVar�Dict�	Generator�Literal�Set�Tuple�TypeVar�Union�cast�overload)�PydanticUndefined)�Self�	TypeAlias�Unpack�)
�_config�_decorators�_fields�_forward_ref�	_generics�
_mock_val_ser�_model_construction�_repr�
_typing_extra�_utils)�getattr_migration)�AliasChoices�	AliasPath)�GetCoreSchemaHandler�GetJsonSchemaHandler)�
ConfigDict)�PydanticUndefinedAnnotation�PydanticUserError)�DEFAULT_REF_TEMPLATE�GenerateJsonSchema�JsonSchemaMode�JsonSchemaValue�model_json_schema)�PluggableSchemaValidator)�PydanticDeprecatedSince20�ModelT�	BaseModel)�boundr�IncEx)�	Signature)�Path)�
CoreSchema�SchemaSerializer�SchemaValidator)�AbstractSetIntStr�MappingIntStrAny)�Protocol)�ComputedFieldInfo�	FieldInfo�ModelPrivateAttr)�PrivateAttr)r2�create_modelc�|
��eZdZUdZerxded<	ded<	ded<	ded	<d
ed<ded
<ded<ded<ded<ded<ded<ded<ded<ded<ded<ded<e�Zd ed!<e�Zd"ed#<e�Z	d ed$<nUiZ
iZej�Zd%Zej"d&d'�(�Zej&d&d)d'�*�Zej&d&d+d'�*�Zd,Ze�Zd-Zd-Zd�d.�Zd/e_ed�d0��Zed�d1��Ze d�d�d2��Z!d%d-d3�d�d4�Z"d5d%d%d%d-d-d-d-d-d/d-d6�																							d�d7�Z#d%d%d%d%d-d-d-d-d-d/d-d8�																							d�d9�Z$e d/e%e&d:f									d�d;��Z'e d�d<��Z(d�d=�Z)e d-d/d>d%d?�									d�d@��Z*e d%d%d%dA�									d�dB��Z+e d%d%dC�							d�dD��Z,e d%d%dC�							d�dE��Z-e d�dF��Z.e 						d�dG��Z/e d�dH��Z0				d�dI�Z1d�dJ�Z2d�d�dK�Z3esd��fdL�Z4d�dM�Z5d�dN�Z6d�dO�Z7d�dP�Z8d�dQ�Z9esd�dR�Z:erd�dS�Z;d�dT�Z<d�dU�Z=d�dV�Z>e?j�j�ZAe?j�j�ZBe?j�j�ZCe?j�j�ZDd�dW�ZEeeFj�dXd%�Y�d�dZ���ZHeeFj�d[d%�Y�d�d\���ZIeFj�d]d%�Y�d%d%d-d-d-d-d^�													d�d_��ZJeFj�d`d%�Y�d%d%d-d-d-d-eKeKda�																			d�db��ZLe eFj�dcd%�Y�d�dd���ZMe eFj�ded%�Y�d%dfd%d-dg�											d�dh���ZNe eFj�did%�Y�d%dfd%d-dg�											d�dj���ZOe eFj�dkd%�Y�d�dl���ZPe eFj�dmd%�Y�d�d�dn���ZQeFj�dod%�Y�d%d%d%d-dp�									d�dq��ZRe eFj�drd%�Y�d/e%f					d�ds���ZSe eFj�dtd%�Y�d/e%du�							d�dv���ZTe eFj�dwd%�Y�d�dx���ZUe eFj�dyd%�Y�d�dz���ZVeFj�d{d%�Y�d�d|��ZWeFj�d}d%�Y�d�d~��ZXe eFj�dd%�Y�d�d����ZYeFj�d�d%�Y�d�d���ZZ�xZ[S)�r2a}Usage docs: https://docs.pydantic.dev/2.8/concepts/models/

    A base class for creating Pydantic models.

    Attributes:
        __class_vars__: The names of classvars defined on the model.
        __private_attributes__: Metadata about the private attributes of the model.
        __signature__: The signature for instantiating the model.

        __pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
        __pydantic_core_schema__: The pydantic-core schema used to build the SchemaValidator and SchemaSerializer.
        __pydantic_custom_init__: Whether the model has a custom `__init__` function.
        __pydantic_decorators__: Metadata containing the decorators defined on the model.
            This replaces `Model.__validators__` and `Model.__root_validators__` from Pydantic V1.
        __pydantic_generic_metadata__: Metadata for generic models; contains data used for a similar purpose to
            __args__, __origin__, __parameters__ in typing-module generics. May eventually be replaced by these.
        __pydantic_parent_namespace__: Parent namespace of the model, used for automatic rebuilding of models.
        __pydantic_post_init__: The name of the post-init method for the model, if defined.
        __pydantic_root_model__: Whether the model is a `RootModel`.
        __pydantic_serializer__: The pydantic-core SchemaSerializer used to dump instances of the model.
        __pydantic_validator__: The pydantic-core SchemaValidator used to validate instances of the model.

        __pydantic_extra__: An instance attribute with the values of extra fields from validation when
            `model_config['extra'] == 'allow'`.
        __pydantic_fields_set__: An instance attribute with the names of fields explicitly set.
        __pydantic_private__: Instance attribute with the values of private attributes set on the model instance.
    zClassVar[ConfigDict]�model_configzClassVar[dict[str, FieldInfo]]�model_fieldsz&ClassVar[dict[str, ComputedFieldInfo]]�model_computed_fieldszClassVar[set[str]]�__class_vars__z%ClassVar[dict[str, ModelPrivateAttr]]�__private_attributes__zClassVar[Signature]�
__signature__zClassVar[bool]�__pydantic_complete__zClassVar[CoreSchema]�__pydantic_core_schema__�__pydantic_custom_init__z$ClassVar[_decorators.DecoratorInfos]�__pydantic_decorators__z+ClassVar[_generics.PydanticGenericMetadata]�__pydantic_generic_metadata__zClassVar[dict[str, Any] | None]�__pydantic_parent_namespace__z+ClassVar[None | Literal['model_post_init']]�__pydantic_post_init__�__pydantic_root_model__zClassVar[SchemaSerializer]�__pydantic_serializer__z4ClassVar[SchemaValidator | PluggableSchemaValidator]�__pydantic_validator__�dict[str, Any] | None�__pydantic_extra__�set[str]�__pydantic_fields_set__�__pydantic_private__NzXPydantic models should inherit from BaseModel, BaseModel cannot be instantiated directlyzbase-model-instantiated��code�	validator)�
val_or_serrY�
serializer)�__dict__rVrTrWFc�B�d}|jj||��y)a/Create a new model by parsing and validating input data from keyword arguments.

        Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be
        validated to form a valid model.

        `self` is explicitly positional-only to allow `self` as a field name.
        T)�
self_instanceN�rR�validate_python)�self�data�__tracebackhide__s   �</opt/hc_python/lib/python3.12/site-packages/pydantic/main.py�__init__zBaseModel.__init__�s#��!���#�#�3�3�D��3�M�Tc��|jS)z�Get extra fields set during validation.

        Returns:
            A dictionary of extra fields, or `None` if `config.extra` is not set to `"allow"`.
        )rT�rbs re�model_extrazBaseModel.model_extra�s���&�&�&rgc��|jS)z�Returns the set of fields that have been explicitly set on this model instance.

        Returns:
            A set of strings representing the fields that have been set,
                i.e. that were not filled from defaults.
        )rVris re�model_fields_setzBaseModel.model_fields_set�s���+�+�+rgc�z�|j|�}i}t�}|jj�D�]x\}}|j�=|j|vr/|j|j�||<|j
|�||vr�|j��t|jt�r|jjn|jg}|D]}	t|	t�r+|	|vr'|j|	�||<|j
|�nDt|	t�s�O|	j|�}
|
tus�i|
||<|j
|�n||vs��'||vr'|j|�||<|j
|���R|j�r��d|j!d��||<��{|�|}|j"j%d�dk(r$|j�D��cic]\}}||��
c}}nd}
t'|d|�t'|d|�|j(s
t'|d|
�|j*ra|j-d�t/|d	�rB|j0�6|j�D]#\}}||j2vs�||j0|<�%|S|j(s
t'|d	d�|Scc}}w)
a_Creates a new instance of the `Model` class with validated data.

        Creates a new model setting `__dict__` and `__pydantic_fields_set__` from trusted or pre-validated data.
        Default values are respected, but no other validation is performed.

        !!! note
            `model_construct()` generally respects the `model_config.extra` setting on the provided model.
            That is, if `model_config.extra == 'allow'`, then all extra passed values are added to the model instance's `__dict__`
            and `__pydantic_extra__` fields. If `model_config.extra == 'ignore'` (the default), then all extra passed values are ignored.
            Because no validation is performed with a call to `model_construct()`, having `model_config.extra == 'forbid'` does not result in
            an error if extra values are passed, but they will be ignored.

        Args:
            _fields_set: The set of field names accepted for the Model instance.
            values: Trusted or pre-validated data dictionary.

        Returns:
            A new instance of the `Model` class with validated data.
        NT)�call_default_factory�extra�allowr]rVrTrW)�__new__�setrD�items�alias�pop�add�validation_alias�
isinstancer#�choices�strr$�search_dict_for_pathr�is_required�get_defaultrC�get�_object_setattrrPrO�model_post_init�hasattrrWrG)�cls�_fields_set�values�m�
fields_values�
fields_set�name�field�validation_aliasesrt�value�k�v�_extras              re�model_constructzBaseModel.model_construct�s���*
�K�K����(*�
��U�
��+�+�1�1�3�K�D�%��{�{�&�5�;�;�&�+@�&,�j�j����&=�
�d�#����t�$��J�&�U�-C�-C�-O�"�%�"8�"8�,�G��*�*�2�2��0�0�1�#�0�E�!�%��-�%�6�/�.4�j�j��.?�
�d�+�"���t�,��#�E�9�5� %� :� :�6� B�� �(9�9�27�M�$�/�&�N�N�4�0�!�0��:�%��6�>�*0�*�*�T�*:�M�$�'��N�N�4�(��*�*�,�*/�*;�*;�QU�*;�*V�M�$�'�;4�<��$�K�25�1A�1A�1E�1E�g�1N�RY�1Y�f�l�l�n�-�n�d�a��Q��T�n�-�_c�	�	��:�}�5���4�k�B��*�*��A�3�V�<��%�%�
���d�#��q�0�1�a�6L�6L�6X�"�L�L�N�D�A�q��A�4�4�4�45��.�.�q�1�+����,�,�
�A�5�t�<����)
.s�)
J7)�update�deepc���|r|j�n|j�}|r�|jjd�dk(rY|j	�D]E\}}||j
vr||j|<�$|j�i|_||j|<�Gn|jj|�|jj|j��|S)a�Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#model_copy

        Returns a copy of the model.

        Args:
            update: Values to change/add in the new model. Note: the data is not validated
                before creating the new model. You should trust this data.
            deep: Set to `True` to make a deep copy of the model.

        Returns:
            New model instance.
        rorp)�__deepcopy__�__copy__rCr~rsrDr]rTr�rV�keys)rbr�r��copiedr�r�s      re�
model_copyzBaseModel.model_copy*s���)-��"�"�$�$�-�-�/���� � �$�$�W�-��8�"�L�L�N�D�A�q��D�-�-�-�-.�����*�!�4�4�<�8:�F�5�78��1�1�!�4�
+����&�&�v�.��*�*�1�1�&�+�+�-�@��
rg�python)�mode�include�exclude�context�by_alias�
exclude_unset�exclude_defaults�exclude_none�
round_trip�warnings�serialize_as_anyc�P�|jj||||||||||	|
|��S)a�Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump

        Generate a dictionary representation of the model, optionally specifying which fields to include or exclude.

        Args:
            mode: The mode in which `to_python` should run.
                If mode is 'json', the output will only contain JSON serializable types.
                If mode is 'python', the output may contain non-JSON-serializable Python objects.
            include: A set of fields to include in the output.
            exclude: A set of fields to exclude from the output.
            context: Additional context to pass to the serializer.
            by_alias: Whether to use the field's alias in the dictionary key if defined.
            exclude_unset: Whether to exclude fields that have not been explicitly set.
            exclude_defaults: Whether to exclude fields that are set to their default value.
            exclude_none: Whether to exclude fields that have a value of `None`.
            round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
            warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
                "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
            serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

        Returns:
            A dictionary representation of the model.
        )r�r�r�r�r�r�r�r�r�r�r�)rQ�	to_python)rbr�r�r�r�r�r�r�r�r�r�r�s            re�
model_dumpzBaseModel.model_dumpFsG��L�+�+�5�5�������'�-�%�!��-�6�

�
	
rg��indentr�r�r�r�r�r�r�r�r�r�c�l�|jj||||||||||	|
|��j�S)a-Usage docs: https://docs.pydantic.dev/2.8/concepts/serialization/#modelmodel_dump_json

        Generates a JSON representation of the model using Pydantic's `to_json` method.

        Args:
            indent: Indentation to use in the JSON output. If None is passed, the output will be compact.
            include: Field(s) to include in the JSON output.
            exclude: Field(s) to exclude from the JSON output.
            context: Additional context to pass to the serializer.
            by_alias: Whether to serialize using field aliases.
            exclude_unset: Whether to exclude fields that have not been explicitly set.
            exclude_defaults: Whether to exclude fields that are set to their default value.
            exclude_none: Whether to exclude fields that have a value of `None`.
            round_trip: If True, dumped values should be valid as input for non-idempotent types such as Json[T].
            warnings: How to handle serialization errors. False/"none" ignores them, True/"warn" logs errors,
                "error" raises a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError].
            serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.

        Returns:
            A JSON string representation of the model.
        r�)rQ�to_json�decode)rbr�r�r�r�r�r�r�r�r�r�r�s            re�model_dump_jsonzBaseModel.model_dump_json{sP��H�+�+�3�3�������'�-�%�!��-�4�

��&�(�
	rg�
validationc�"�t|||||��S)a�Generates a JSON schema for a model class.

        Args:
            by_alias: Whether to use attribute aliases or not.
            ref_template: The reference template.
            schema_generator: To override the logic used to generate the JSON schema, as a subclass of
                `GenerateJsonSchema` with your desired modifications
            mode: The mode in which to generate the schema.

        Returns:
            The JSON schema for the given model class.
        )r��ref_template�schema_generatorr�)r.)r�r�r�r�r�s     rer.zBaseModel.model_json_schema�s��(!��(��P`�gk�
�	
rgc��t|tj�std��|D�cgc])}t	|t
�r|nt
j|���+}}dj|�}|j�d|�d�Scc}w)a}Compute the class name for parametrizations of generic classes.

        This method can be overridden to achieve a custom naming scheme for generic BaseModels.

        Args:
            params: Tuple of types of the class. Given a generic class
                `Model` with 2 type variables and a concrete model `Model[str, int]`,
                the value `(str, int)` would be passed to `params`.

        Returns:
            String representing the new class where `params` are passed to `cls` as type variables.

        Raises:
            TypeError: Raised when trying to generate concrete names for non-generic models.
        z;Concrete names should only be generated for generic models.�, �[�])
�
issubclass�typing�Generic�	TypeErrorrxrzr�display_as_type�join�__name__)r��params�param�param_names�params_components     re�model_parametrized_namez!BaseModel.model_parametrized_name�s���"�#�v�~�~�.��Y�Z�Z�
gm�m�fl�]b�
�5�#� 6�u�E�<Q�<Q�RW�<X�X�fl��m��9�9�[�1���,�,��q�!1� 2�!�4�4��ns�.A=c��y)z�Override this method to perform additional initialization after `__init__` and `model_construct`.
        This is useful if you want to do some validation that requires the entire model to be initialized.
        N�)rb�_BaseModel__contexts  rer�zBaseModel.model_post_init�s��	
rg�)�force�raise_errors�_parent_namespace_depth�_types_namespacec�@�|s
|jryd|jvrt|d�|�|j�}n�|dkDr^t	j
|��xsi}t
j|j�xsi}i|�|�}t
j|�|_nt
j|j�}t	j||�}i|j�ddi�}t
j||jtj|d��||��S)	a1Try to rebuild the pydantic-core schema for the model.

        This may be necessary when one of the annotations is a ForwardRef which could not be resolved during
        the initial attempt to build the schema, and automatic rebuilding fails.

        Args:
            force: Whether to force the rebuilding of the model schema, defaults to `False`.
            raise_errors: Whether to raise errors, defaults to `True`.
            _parent_namespace_depth: The depth level of the parent namespace, defaults to 2.
            _types_namespace: The types namespace, defaults to `None`.

        Returns:
            Returns `None` if the schema is already "complete" and rebuilding was not required.
            If rebuilding _was_ required, returns `True` if rebuilding was successful, otherwise `False`.
        NrJr)�parent_depth�defer_buildF)�check)r��types_namespace)rIr]�delattrrr �parent_frame_namespacer�unpack_lenient_weakvaluedictrN�build_lenient_weakvaluedict�get_cls_types_namespacerC�complete_model_classr�r�
ConfigWrapper)	r�r�r�r�r�r��frame_parent_ns�
cls_parent_ns�configs	         re�
model_rebuildzBaseModel.model_rebuild�s��0��2�2��)�S�\�\�9���7�8��+�9I�9N�9N�9P��*�Q�.�&3�&J�&J�Xo�&p�&v�tv�O�+�H�H��Ij�Ij�k�q�oq�"�'K��&J�/�&J�O�8K�8g�8g�hw�8x�C�5�&9�&V�&V��9�9�'�O�#0�"G�"G��_�"]��@��(�(�?�-��?�F�&�;�;������%�%�f�E�:�)� /��
rg��strict�from_attributesr�c�D�d}|jj||||��S)a�Validate a pydantic model instance.

        Args:
            obj: The object to validate.
            strict: Whether to enforce types strictly.
            from_attributes: Whether to extract data from object attributes.
            context: Additional context to pass to the validator.

        Raises:
            ValidationError: If the object could not be validated.

        Returns:
            The validated model instance.
        Tr�r`)r��objr�r�r�rds      re�model_validatezBaseModel.model_validates1��0!���)�)�9�9�����:�
�	
rg�r�r�c�B�d}|jj|||��S)a�Usage docs: https://docs.pydantic.dev/2.8/concepts/json/#json-parsing

        Validate the given JSON data against the Pydantic model.

        Args:
            json_data: The JSON data to validate.
            strict: Whether to enforce types strictly.
            context: Extra variables to pass to the validator.

        Returns:
            The validated Pydantic model.

        Raises:
            ValueError: If `json_data` is not a JSON string.
        Tr�)rR�
validate_json)r��	json_datar�r�rds     re�model_validate_jsonzBaseModel.model_validate_json<s)��0!���)�)�7�7�	�&�Za�7�b�brgc�B�d}|jj|||��S)aPValidate the given object with string data against the Pydantic model.

        Args:
            obj: The object containing string data to validate.
            strict: Whether to enforce types strictly.
            context: Extra variables to pass to the validator.

        Returns:
            The validated Pydantic model.
        Tr�)rR�validate_strings)r�r�r�r�rds     re�model_validate_stringsz BaseModel.model_validate_stringsWs)��&!���)�)�:�:�3�v�W^�:�_�_rgc��|jjd�}|�5t|tj�s|j
ds|jS||�S)a�Hook into generating the model's CoreSchema.

        Args:
            source: The class we are generating a schema for.
                This will generally be the same as the `cls` argument if this is a classmethod.
            handler: A callable that calls into Pydantic's internal CoreSchema generation logic.

        Returns:
            A `pydantic-core` `CoreSchema`.
        rJ�origin)r]r~rxr�MockCoreSchemarMrJ)r��source�handler�schemas    re�__get_pydantic_core_schema__z&BaseModel.__get_pydantic_core_schema__msT�����!�!�"<�=����j���9U�9U�&V��4�4�X�>��3�3�3��v��rgc��||�S)a_Hook into generating the model's JSON schema.

        Args:
            core_schema: A `pydantic-core` CoreSchema.
                You can ignore this argument and call the handler with a new CoreSchema,
                wrap this CoreSchema (`{'type': 'nullable', 'schema': current_schema}`),
                or just call the handler with the original schema.
            handler: Call into Pydantic's internal JSON schema generation.
                This will raise a `pydantic.errors.PydanticInvalidForJsonSchema` if JSON schema
                generation fails.
                Since this gets called by `BaseModel.model_json_schema` you can override the
                `schema_generator` argument to that function to change JSON schema generation globally
                for a type.

        Returns:
            A JSON schema, as a Python object.
        r�)r��core_schemar�s   re�__get_pydantic_json_schema__z&BaseModel.__get_pydantic_json_schema__�s��0�{�#�#rgc��y)a�This is intended to behave just like `__init_subclass__`, but is called by `ModelMetaclass`
        only after the class is actually fully initialized. In particular, attributes like `model_fields` will
        be present when this is called.

        This is necessary because `__init_subclass__` will always be called by `type.__new__`,
        and it would require a prohibitively large refactor to the `ModelMetaclass` to ensure that
        `type.__new__` was called in such a manner that the class would already be sufficiently initialized.

        This will receive the same `kwargs` that would be passed to the standard `__init_subclass__`, namely,
        any kwargs passed to the class definition that aren't used internally by pydantic.

        Args:
            **kwargs: Any keyword arguments passed to the class definition that aren't used internally
                by pydantic.
        Nr��r��kwargss  re�__pydantic_init_subclass__z$BaseModel.__pydantic_init_subclass__�s��"	
rgc���tj||�}|�|S|turtd��t	|d�st|�d���|j
ds*tj|jvrt|�d���t|t�s|f}tj||�tt|j
d|���tj�j!��j#��r�r|}tj$|||�|S|j
d}|s|}nt�fd�|D��}|j
dxs|}|j'|�}ttj(�j#��D�cic]}|d��c}�}	tj*||�5}
|
�|
cddd�Stj,||||�}|�|cddd�S	|j/d	�
�tj2||||	�}tj$|||||�ddd�|Scc}w#t0$rY�KwxYw#1swYSxYw)NzAType parameters should be placed on typing.Generic, not BaseModel�__parameters__zG cannot be parametrized because it does not inherit from typing.Generic�
parametersz is not a generic class�argsc3�J�K�|]}tj|�����y�w�N)r�
replace_types)�.0�arg�typevars_maps  �re�	<genexpr>z.BaseModel.__class_getitem__.<locals>.<genexpr>�s!�����_�S^�C�Y�4�4�S�,�G�S^�s� #r��)r�)r�get_cached_generic_type_earlyr2r�r�rMr�r��	__bases__rx�tuple�check_parameters_count�dict�zipr!�
all_identicalr�r��set_cached_generic_typer��iter_contained_typevars�generic_recursion_self_type�get_cached_generic_type_later�r(�create_generic_submodel)r��typevar_values�cached�submodel�parent_argsr�r��
model_namer�r��maybe_self_typer�s           @re�__class_getitem__zBaseModel.__class_getitem__�sm����8�8��n�M�����M��)���_�`�`��s�,�-��s�e�#j�k�l�l��0�0��>�6�>�>�Y\�Yf�Yf�Cf��s�e�#:�;�<�<��.�%�0�,�.�N��(�(��n�=�DH���1�1�,�?��P�D
������ 1� 1� 3�\�5H�5H�5J�K�P\��H��-�-�c�>�8�L�J��G�;�;�F�C�K��%���_�S^�_�_���6�6�x�@�G�C�F��7�7��=�J��*3�*K�*K�L�L_�L_�La�*b�c�*b�����*b�c��F��6�6�v�t�D��"�.�*�E�D�#�?�?��^�U[�]a�b���%�!�
E�D���(�(��(�C�%�<�<�Z��QU�W]�^���1�1�#�~�x�QW�Y]�^�+E�.���5d��3���	��E�.��s<�
H:�9I�I�-H?�?1I�?	I�I�
I�I�Ic
���t|�}|j|�}t|dt|j��t|dt|j
��t|dt|j��t|d�r|j�t|dd�|St|d|jj�D��cic]\}}|tus�||��c}}�|Scc}}w)z$Returns a shallow copy of the model.r]rTrVrWN)�typerqrrr]rTrVr�rWrsr)rbr�r�r�r�s     rer�zBaseModel.__copy__�s����4�j���K�K������:�t�D�M�M�':�;���/��d�6M�6M�1N�O���4�d�4�;W�;W�6X�Y��t�3�4��8Q�8Q�8Y��A�5�t�<���

��&�"&�";�";�"A�"A�"C�b�"C�$�!�Q�q�Pa�Ga��A��"C�b�
����cs�C(�C(c��t|�}|j|�}t|dt|j|���t|dt|j
|���t|dt
|j��t|d�r|j�t|dd�|St|dt|jj�D��cic]\}}|tus�||��c}}|���|Scc}}w)z!Returns a deep copy of the model.r])�memorTrVrWN)rrqrrr]rTrrVr�rWrsr)rbrr�r�r�r�s      rer�zBaseModel.__deepcopy__s����4�j���K�K������:�x��
�
�D�'I�J���/��$�:Q�:Q�X\�1]�^�	��4�d�4�;W�;W�6X�Y��t�3�4��8Q�8Q�8Y��A�5�t�<���

��&��4�+D�+D�+J�+J�+L�k�+L�4�1�a�PQ�Yj�Pj�!�Q�$�+L�k�rv�w�
����ls�C7�"C7c�t��tj|d�}||vr<||}t|d�r|j|t	|��S	|j
|S	tj|d�}|r	||St|j|�rt�|�|�Stt	|�j�d|����#t$r)}tt	|�j�d|���|�d}~wwxYw#t$rd}Y��wxYw#t$r)}tt	|�j�d|���|�d}~wwxYw)NrG�__get__� object has no attribute rT)�object�__getattribute__r�rrrW�KeyError�AttributeErrorr��	__class__�super)rb�item�private_attributes�	attribute�exc�pydantic_extrars      �re�__getattr__zBaseModel.__getattr__s`���!'�!8�!8��?W�!X���)�)�.�t�4�	��9�i�0�$�,�,�T�4��:�>�>�o��4�4�T�:�:�*�%+�%<�%<�T�CW�%X�N�"�s�-�d�3�3��t�~�~�t�4�$�w�7��=�=�-��T�
�0C�0C�/F�F_�`d�_g�-h�i�i��) �o�(�D��J�,?�,?�+B�B[�\`�[c�)d�e�kn�n��o��&�*�%)�N�*��$�s�,��T�
�0C�0C�/F�F_�`d�_g�-h�i�or�r��s�sB�	B?�C4�2D�?	C1�$C,�,C1�4D�D�	D7�$D2�2D7c
��||jvr?t|�d|jj�d|jj�d|�d���t	j
|�sf|j�||jvrt|||�y|j|}t|d�r|j||�y||j|<y|j||�t|j|d�}t|t�r|j||�y|jj!dd�r|j"j%|||�y|jj!d�dk7r4||j&vr&t)d	|jj�d
|�d	���|jj!d�dk(rS||j&vrE|j*r||j*vr||j,|<y	t||�t|||�y||j.|<|j0j3|�y#t$r||j,|<YywxYw)Nz is a ClassVar of `zR` and cannot be set on an instance. If you want to set a value on the class, use `�.z
 = value`.�__set__�validate_assignmentrorp�"z" object has no field ")rFrrr�r�is_valid_field_namerWrGrr�r)�
_check_frozen�getattrrx�propertyrCr~rRr*rD�
ValueErrorrjrTr]rVrv)rbr�r�r#�attrs     re�__setattr__zBaseModel.__setattr__>sB���t�*�*�*�$��h�1�$�.�.�2I�2I�1J�KE�EI�^�^�E\�E\�D]�]^�_c�^d�dn�p����0�0��6��,�,�4��D�D_�D_�8_�#�D�$��6��!%� ;� ;�D� A�I��y�)�4�!�)�)�$��6��;@��1�1�$�7�����t�U�+��4�>�>�4��6�D��$��)����T�5�)��"�"�&�&�'<�d�C��+�+�?�?��d�E�R��"�"�&�&�w�/�7�:�t�4�K\�K\�?\� �1�T�^�^�%<�%<�$=�=T�UY�TZ�Z[�!\�]�]��"�"�&�&�w�/�7�:�t�4�K\�K\�?\��#�#���0@�0@�(@�49�D�+�+�D�1�;���d�+�(��d�E�:�&+��
�
�d�#��,�,�0�0��6��*�>�8=��/�/��5�>�s�8H=�=I�Ic�N�||jvr<|j|}t|d�r|j|�y	|j|=y|j|d�||jvrtj||�y|j�||jvr|j|=y	tj||�y#t$r)}tt
|�j�d|���|�d}~wwxYw#t
$r$tt
|�j�d|����wxYw)N�
__delete__r)
rGr�r4rWrrrr�r-rDr�__delattr__rT)rbr!r#r$s    rer5zBaseModel.__delattr__is0���t�2�2�2� �7�7��=�	��9�l�3��(�(��.��o��1�1�$�7��
���t�T�*��t�(�(�(��"�"�4��.��(�(�4���AX�AX�9X��+�+�D�1�f��&�&�t�T�2�� �o�(�D��J�,?�,?�+B�B[�\`�[c�)d�e�kn�n��o��&�f�(�D��J�,?�,?�+B�B[�\`�[c�)d�e�e�f�s#�
C�+C7�	C4�$C/�/C4�7-D$c��|jjdd�rd}n*t|jj|�dd�rd}ny||f|d�}tj
j
|jj|g��)N�frozen�frozen_instanceF�frozen_field�r�loc�input)	rCr~r.rD�
pydantic_core�ValidationError�from_exception_datarr�)rbr�r��typ�errors     rer-zBaseModel._check_frozen�s}����� � ��4�0�#�C�
�T�&�&�*�*�4�0�(�E�
B� �C����7��1
��
�+�+�?�?����@W�@W�Z_�Y`�a�argc���|j}|r,|j�D��cic]\}}|tus�||��}}}|j|j|j
|d�Scc}}w)N)r]rTrVrW)rWrsrr]rTrV)rb�privater�r�s    re�__getstate__zBaseModel.__getstate__�sf���+�+���(/�
�
��V����1�1�DU�;U�q�!�t��G�V��
�
�"&�"9�"9�'+�'C�'C�$+�	
�	
��Ws
�A �A c���t|d|jdi��t|d|jdi��t|d|jdi��t|d|jdi��y)NrVrTrWr])rr~)rb�states  re�__setstate__zBaseModel.__setstate__�sg����7����C\�^`�9a�b���2�E�I�I�>R�TV�4W�X���4�e�i�i�@V�XZ�6[�\���j�%�)�)�J��*C�Drgc�>�t|t��r)|jdxs|j}|jdxs|j}||k(r4t	|dd�t	|dd�k(r|j
|j
k(sy|j|jk(ryt|�jj�}|jj�|kr|jj�|kry|rtj|�nd�}	||j�||j�k(StS#t$rRtj|j�}tj|j�}||�||�k(cYSwxYw)Nr�rWFTc�"�tjSr�)r!�	_SENTINEL)�_s re�<lambda>z"BaseModel.__eq__.<locals>.<lambda>�s��[a�[k�[krg)rxr2rMrr.rTr]rrDr��operator�
itemgetterrr!�SafeGetItemProxy�NotImplemented)rb�other�	self_type�
other_typerD�getter�self_fields_proxy�other_fields_proxys        re�__eq__zBaseModel.__eq__�st���%��+�!�>�>�x�H�Z�D�N�N�	�"�@�@��J�]�e�o�o�
���+���&<�d�C�w�u�Vl�nr�Gs�s��/�/�5�3K�3K�K� ��=�=�E�N�N�2�� $�D�z�6�6�;�;�=���=�=�%�%�'�<�7�E�N�N�<O�<O�<Q�Ua�<a� �@L��,�,�l�;�Qk��
S�!�$�-�-�0�F�5�>�>�4J�J�J�&�%�� �S�)/�(?�(?��
�
�(N�%�)/�)@�)@����)P�&�!�"3�4��?Q�8R�R�R�S�s�$E�AF�Fc��y)a�This signature is included purely to help type-checkers check arguments to class declaration, which
            provides a way to conveniently set model_config key/value pairs.

            ```py
            from pydantic import BaseModel

            class MyModel(BaseModel, extra='allow'):
                ...
            ```

            However, this may be deceiving, since the _actual_ calls to `__init_subclass__` will not receive any
            of the config arguments, and will only receive any keyword arguments passed during class initialization
            that are _not_ expected keys in ConfigDict. (This is due to the way `ModelMetaclass.__new__` works.)

            Args:
                **kwargs: Keyword arguments passed to the class definition, which set model_config

            Note:
                You may want to override `__pydantic_init_subclass__` instead, which behaves similarly but is called
                *after* the class is fully initialized.
            Nr�r�s  re�__init_subclass__zBaseModel.__init_subclass__�s�rgc#�K�|jj�D��cgc]\}}|jd�r�||f��c}}Ed{���|j}|r|j�Ed{���yycc}}w7�27��w)zSo `dict(model)` works.rKN)r]rs�
startswithrT)rbr�r�ros    re�__iter__zBaseModel.__iter__�sr����)-���)<�)<�)>�X�)>�v��1�a�l�l�SV�FW�Q��F�)>�X�X�X��'�'����{�{�}�$�$���Y�X��
%�s3�A>�A4�A4�A>�A:�%A>�-A<�.
A>�<A>c�L�|j��d|jd��d�S)N�(r��))�
__repr_name__�__repr_str__ris re�__repr__zBaseModel.__repr__�s+���$�$�&�'�q��):�):�4�)@�(A��C�Crgc#��K��jj�D]6\}}�jj|�}|s�$|js�1||f���8	t
j
�d�}|�d�|j�D�Ed{����fd��jj�D�Ed{���y#t$rd}Y�ZwxYw7�A7��w)NrTc3�*K�|]\}}||f���
y�wr�r�)r�r�r�s   rer�z*BaseModel.__repr_args__.<locals>.<genexpr>s����B�+A�4�1�a��A��+A�s�c3�Z�K�|]"\}}|js�|t�|�f���$y�wr�)�reprr.)r�r�r�rbs   �rer�z*BaseModel.__repr_args__.<locals>.<genexpr>s-�����c�6X�d�a��\]�\b�\b�Q���a�(�)�6X�s�+�+)	r]rsrDr~rfrrrrE)rbr�r�r�r%s`    re�
__repr_args__zBaseModel.__repr_args__s�������M�M�'�'�)�D�A�q��%�%�)�)�!�,�E�������d�
�*�	"�#�4�4�T�;O�P�N��%�B�>�+?�+?�+A�B�B�B�c�d�6P�6P�6V�6V�6X�c�c�c���	"�!�N�	"��
C��c�sS�>C�C�C�B;�.C�
C�*C�5C�6C�;C	�C�C	�	C�Cc�$�|jd�S)N� )raris re�__str__zBaseModel.__str__s��� � ��%�%rg�EThe `__fields__` attribute is deprecated, use `model_fields` instead.��categoryc�P�tjdt��|jS)Nrkrl)r��warnr0rDris re�
__fields__zBaseModel.__fields__s$��
	�
�
�S�^w�	
�� � � rg�MThe `__fields_set__` attribute is deprecated, use `model_fields_set` instead.c�P�tjdt��|jS)Nrqrl)r�ror0rVris re�__fields_set__zBaseModel.__fields_set__(s$��	�
�
�[�.�	
��+�+�+rg�:The `dict` method is deprecated; use `model_dump` instead.�r�r�r�r�r�r�c�f�tjdt��|j||||||��S)Nrtrlru)r�ror0r�)rbr�r�r�r�r�r�s       rerzBaseModel.dict4s<��	�
�
�R�]v�w�������'�-�%�
�
�	
rg�?The `json` method is deprecated; use `model_dump_json` instead.)r�r�r�r�r�r��encoder�models_as_dictc���tjdt��|turt	d��|turt	d��|	rt	d��|j||||||��S)NrwrlzMThe `encoder` argument is no longer supported; use field serializers instead.zUThe `models_as_dict` argument is no longer supported; use a model serializer instead.z9`dumps_kwargs` keyword arguments are no longer supported.ru)r�ror0rr�r�)
rbr�r�r�r�r�r�rxry�dumps_kwargss
          re�jsonzBaseModel.jsonIs{��	�
�
�M�Xq�	
��+�+��k�l�l��!2�2��s�t�t���W�X�X��#�#����'�-�%�
$�
�	
rg�CThe `parse_obj` method is deprecated; use `model_validate` instead.c�Z�tjdt��|j|�S)Nr}rl�r�ror0r��r�r�s  re�	parse_objzBaseModel.parse_objis)��	�
�
�Q�\u�	
��!�!�#�&�&rg��The `parse_raw` method is deprecated; if your data is JSON use `model_validate_json`, otherwise load the data then use `model_validate` instead.�utf8)�content_type�encoding�proto�allow_picklec���tjdt��ddlm}	|j|||||��}|j%|�S#ttf$r�}ddl}	t|t�rd}
n.t||	j�rd}
nt|t�rd	}
nd
}
tj|
t|��d|d�}tjj!|j"|g��d}~wwxYw)
Nr�rlr��parse�r�r�r�r�rzvalue_error.unicodedecodezvalue_error.jsondecode�value_error�
type_error)�__root__r:)r�ror0�
deprecatedr��load_str_bytesr0r�r|rx�UnicodeDecodeError�JSONDecodeErrorr=�PydanticCustomErrorrzr>r?r�r�)r��br�r�r�r�r�r�r$r|�type_strrAs            re�	parse_rawzBaseModel.parse_rawqs���	�
�
�
I�.�	
�
	&�	[��&�&���)�!�)�'��C�8�!�!�#�&�&��+�I�&�	[���#�1�2�6���C��!5�!5�6�3���C��,�(��'��
&�9�9�(�C��H�M�$��	5�E� �/�/�C�C�C�L�L�SX�RY�Z�Z��)	[�s�A
�
C1�BC,�,C1��The `parse_file` method is deprecated; load the data from file, then if your data is JSON use `model_validate_json`, otherwise `model_validate` instead.c��tjdt��ddlm}|j|||||��}|j
|�S)Nr�rlrr�r�)r�ror0r�r��	load_filer�)r��pathr�r�r�r�r�r�s        re�
parse_filezBaseModel.parse_file�sQ��	�
�
�
M�.�	
�
	&��o�o���%��%��
���}�}�S�!�!rg�qThe `from_orm` method is deprecated; set `model_config['from_attributes']=True` and use `model_validate` instead.c��tjdt��|jj	dd�s
tdd���|j
|�S)Nr�rlr�zHYou must set the config attribute `from_attributes=True` to use from_ormrX)r�ror0rCr~r)r�r�s  re�from_ormzBaseModel.from_orm�sX��	�
�
�
W�.�	
�
���#�#�$5�t�<�#�Z�ae��
��!�!�#�&�&rg�DThe `construct` method is deprecated; use `model_construct` instead.c�`�tjdt��|jdd|i|��S)Nr�rlr�r�)r�ror0r�)r�r�r�s   re�	constructzBaseModel.construct�s3��	�
�
�R�]v�	
�#�s�"�"�E�{�E�f�E�Erg��The `copy` method is deprecated; use `model_copy` instead. See the docstring of `BaseModel.copy` for details about how to handle `include` and `exclude`.)r�r�r�r�c
���tjdt��ddlm}t|j
|dd||d��fi|xsi��}|j�d}n6|jj�D��	cic]\}}	|	tus�||	��}}}	|j�d}
n}|jj�}
t|j�D]}||vs�|
j|��t|�D]%}||jvs�|j|�|
|<�'|r|j|j�z}nt!|j�}|r|t!|�z}|j#||||
||��Scc}	}w)	a�Returns a copy of the model.

        !!! warning "Deprecated"
            This method is now deprecated; use `model_copy` instead.

        If you need `include` or `exclude`, use:

        ```py
        data = self.model_dump(include=include, exclude=exclude, round_trip=True)
        data = {**data, **(update or {})}
        copied = self.model_validate(data)
        ```

        Args:
            include: Optional set or mapping specifying which fields to include in the copied model.
            exclude: Optional set or mapping specifying which fields to exclude in the copied model.
            update: Optional dictionary of field-value pairs to override field values in the copied model.
            deep: If True, the values of fields that are Pydantic models will be deep-copied.

        Returns:
            A copy of the model with included, excluded and updated fields as specified.
        r�rlr��copy_internalsF)�to_dictr�r�r�r�N)r�)r�ror0r�r�r�_iterrWrsrrTr�listrurVr�rr�_copy_and_set_values)rbr�r�r�r�r�r�rCr�r�ror�s            rerzBaseModel.copy�s��F	�
�
�
m�.�	
�
	/��� � ��e�e�W�g�ej�
!�
�
��|��	
���$�$�,��G�(,�(A�(A�(G�(G�(I�h�(I���1�Q�Vg�Mg�q�!�t�(I�G�h��"�"�*�+/�E��+�+�0�0�2�E��$�1�1�2���F�?��I�I�a�L�3��&�\����/�/�/�%�z�z�!�}�E�!�H�"�
��5�5����
�E�J��T�9�9�:�J���#�g�,�&�J��2�2�4���U�T[�bf�2�g�g��/is�3E4�E4�CThe `schema` method is deprecated; use `model_json_schema` instead.c�^�tjdt��|j||��S)Nr�rl�r�r�)r�ror0r.)r�r�r�s   rer�zBaseModel.schema+s.��
	�
�
�Q�\u�	
��$�$�h�\�$�R�Rrg�WThe `schema_json` method is deprecated; use `model_json_schema` and json.dumps instead.r�c��tjdt��ddl}ddlm}|j|j||��fd|i|��S)Nr�rlrr)�pydantic_encoderr��default)r�ror0r|�deprecated.jsonr��dumpsr.)r�r�r�r{r|r�s      re�schema_jsonzBaseModel.schema_json5sV��	�
�
�e�.�	
�	�5��t�z�z��!�!�8�,�!�O�
�$�
��
�	
rg�BThe `validate` method is deprecated; use `model_validate` instead.c�Z�tjdt��|j|�S)Nr�rlr)r�r�s  re�validatezBaseModel.validateKs)��	�
�
�P�[t�	
��!�!�%�(�(rg�LThe `update_forward_refs` method is deprecated; use `model_rebuild` instead.c�x�tjdt��|rtd��|j	d��y)Nr�rlz,`localns` arguments are not longer accepted.T)r�)r�ror0r�r�)r��localnss  re�update_forward_refszBaseModel.update_forward_refsSs8��	�
�
�Z�.�	
���J�K�K������%rg�HThe private method `_iter` will be removed and should no longer be used.c�p�tjdt��ddlm}|j
|g|��i|��S)Nr�rlrr�)r�ror0r�r�r��rbr�r�r�s    rer�zBaseModel._iteras8��	�
�
�V�.�	
�	/�#�~�#�#�D�:�4�:�6�:�:rg�WThe private method `_copy_and_set_values` will be removed and should no longer be used.c�p�tjdt��ddlm}|j
|g|��i|��S)Nr�rlrr�)r�ror0r�r�r�r�s    rer�zBaseModel._copy_and_set_valuesms8��
	�
�
�e�.�	
�	/�2�~�2�2�4�I�$�I�&�I�Irg�MThe private method `_get_value` will be removed and should no longer be used.c�p�tjdt��ddlm}|j
|g|��i|��S)Nr�rlrr�)r�ror0r�r��
_get_value)r�r�r�r�s    rer�zBaseModel._get_valuezs8��	�
�
�[�.�	
�	/�(�~�(�(��>�t�>�v�>�>rg�RThe private method `_calculate_keys` will be removed and should no longer be used.c�p�tjdt��ddlm}|j
|g|��i|��S)Nr�rlrr�)r�ror0r�r��_calculate_keysr�s    rer�zBaseModel._calculate_keys�s8��
	�
�
�`�.�	
�	/�-�~�-�-�d�D�T�D�V�D�Drg)rcr�return�None)r�rS)r�rUr�)r�zset[str] | Noner�rr�r)r�rSr��boolr�r)r�zLiteral['json', 'python'] | strr�r4r�r4r��
Any | Noner�r�r�r�r�r�r�r�r�r�r��'bool | Literal['none', 'warn', 'error']r�r�r��dict[str, Any])r�z
int | Noner�r4r�r4r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rz)
r�r�r�rzr�ztype[GenerateJsonSchema]r�r,r�r�)r�ztuple[type[Any], ...]r�rz)r�rr�r�)
r�r�r�r�r��intr�rSr��bool | None)
r�rr�r�r�r�r�r�r�r)r�zstr | bytes | bytearrayr�r�r�r�r�r)r�rr�r�r�r�r�r)r��type[BaseModel]r�r%r�r7)r�r7r�r&r�r-)r�rr�r�)r
z!type[Any] | tuple[type[Any], ...]r�z3type[BaseModel] | _forward_ref.PydanticRecursiveRef)r�r)rzdict[int, Any] | Noner�r)r!rzr�r)r�rzr�rr�r�)r��dict[Any, Any])rFr�r�r�)rQrr�r�)r�zUnpack[ConfigDict])r��TupleGenerator)r�rz)r�z_repr.ReprArgs)r�zdict[str, FieldInfo])r�r4r�r4r�r�r�r�r�r�r�r�r��Dict[str, Any])r�r4r�r4r�r�r�r�r�r�r�r�rxzCallable[[Any], Any] | Noneryr�r{rr�rz)r�rr�r)r�zstr | bytesr��
str | Noner�rzr��DeprecatedParseProtocol | Noner�r�r�r)r�z
str | Pathr�r�r�rzr�r�r�r�r�r)
r��+AbstractSetIntStr | MappingIntStrAny | Noner�r�r�zDict[str, Any] | Noner�r�r�r)r�r�r�rzr�r�)r�r�r�rzr{rr�rz)r�rr�r)r�rr�r�)r�rr�rr�r)\r��
__module__�__qualname__�__doc__r�__annotations__�_PrivateAttrrTrVrWrDrEr�DecoratorInfosrLrNrr�rJ�
MockValSerrRrQ�	__slots__r'rCrIrPrf�__pydantic_base_init__r/rjrl�classmethodr�r�r�r�r*r+r.r�r�r�r�r�r�r�r�r�rr�r�r&r2r5r-rDrGrWrYr\rbrgr�Representationr`ra�
__pretty__�
__rich_repr__rj�typing_extensionsr�rprsrrr|r�r�r�r�r�rr�r�r�r�r�r�r�r��
__classcell__)rs@rer2r2Qs�
����8�+�*�	�5�4�	� F�E�g�*�*� E�E�*�*�-�-�"6�6�"0�0�!E�E�'R�R�'F�F� K�K�!/�/�!;�;� T�T�5A�N��1�B�,8�N���:�6B�n��3�D�
�� "��"<�+�"<�"<�">��(,�%�#?�=�#?�#?�f�*�$
� �":��!9�!9�f�"�*�"
��
#;�-�":�":�f�#�*�#
��d�I��<�L�!��#��
N�'+�H�#�
�'��'��,��,��N��N�`=A�u��>19���"��#�!&�"� �<@�!&�3
�.�3
��	3
�
�3
��
3
��3
��3
��3
��3
��3
�:�3
��3
�
�3
�p"���"��#�!&�"� �<@�!&�1��1��	1�
�1��
1��1��1��1��1��1�:�1��1�

�1�f��0�5G�+�
��
��
�3�	
�
�
�
�

��
�.�5��5�4
���!�'(�26�
5��5��	5�
"%�5�0�
5�
�5��5�n�
#�'+�"�

�
�
��	
�
%�
��

�
�
��
�8�
#�"�c�*�c��	c�
�c�
�
c��c�4�
#�"�`�
�`��	`�
�`�
�
`��`�*����.�$��$�&�$�

�$��$�2�
��
�$>�>�>�	<�>�@�&�*�	j�@)	7�V	f�4b�	
�E��5	&�n�
	�.%�D�d�(�(�(�6�6�M��'�'�4�4�L��%�%�0�0�J��(�(�6�6�M�&��!��!�!�O�Z^��!���!��!��!�!�W���,�	��
,�"��!�!�"^�im�n����#�!&�"�
��
��	
�
�
��

��
��
�
�
�o�
�("��!�!�"c�nr�s����#�!&�"�/@�0�
��
��	
�
�
��

��
��
�-�
��
��
�

�
�t�
�>�!��!�!�"g�rv�w�'�x��'��!��!�!�	E���$(��04�"�-'��-'�!�	-'�
�-'�.�
-'��-'�
�-'���-'�^�!��!�!�	I���$(��04�"�"��"�!�	"�
�"�.�
"��"�
�"���"�2�!��!�!�	S���

'���
'��!��!�!�"h�sw�x�F�y��F�"��!�!�	i���@D�?C�(,��
Eh�=�Eh�=�	Eh�
&�Eh��
Eh�
�Eh��
Eh�N�!��!�!�"g�rv�w�"�8L�S��S�25�S�	�S�x��S��!��!�!�a���
"&�;O�
��
�58�
�ad�
�	�
�	��

�"�!��!�!�"f�qu�v�)�w��)��!��!�!�V���&�	��
&�"��!�!�R�]a��;��;�"��!�!�a���J�	�J��!��!�!�W���?�	��
?�"��!�!�\���E�	�Erg)�	metaclass)�
__config__r��__base__r��__validators__�__cls_kwargs__c��yr�r��rr�r�r�r�r�r��field_definitionss        rerArA�s��rg)r�r�r�r�r�c��yr�r�r�s        rerArA�s��rg)r�r�r�r�r�r�r�c�N�|�tjdt�|�#|�
tdd���t	|t
�s|f}nt
dt�f}|xsi}i}	i}
|j�D]�\}}tj|�stjd|�d�t�t	|t
�rt
d	|�}	|\}
}nPtj|�r7tj|�^}
}}dd
lm}t	||�stdd���d|}}
|
r|
|
|<||	|<��|�$t%j&d�}|j(d}|
|d�}|r|j+d|i�|r|j+|�|j+|	�|r"t-j.|�j0|d<t3j4|�}t3j6|||��\}}}||ur||d<|j+|�||||fd|d�|��S#t$r}td
d��|�d}~wwxYw)aDUsage docs: https://docs.pydantic.dev/2.8/concepts/models/#dynamic-model-creation

    Dynamically creates and returns a new Pydantic model, in other words, `create_model` dynamically creates a
    subclass of [`BaseModel`][pydantic.BaseModel].

    Args:
        model_name: The name of the newly created model.
        __config__: The configuration of the new model.
        __doc__: The docstring of the new model.
        __base__: The base class or classes for the new model.
        __module__: The name of the module that the model belongs to;
            if `None`, the value is taken from `sys._getframe(1)`
        __validators__: A dictionary of methods that validate fields. The keys are the names of the validation methods to
            be added to the model, and the values are the validation methods themselves. You can read more about functional
            validators [here](https://docs.pydantic.dev/2.8/concepts/validators/#field-validators).
        __cls_kwargs__: A dictionary of keyword arguments for class creation, such as `metaclass`.
        __slots__: Deprecated. Should not be passed to `create_model`.
        **field_definitions: Attributes of the new model. They should be passed in the format:
            `<name>=(<type>, <default value>)`, `<name>=(<type>, <FieldInfo>)`, or `typing.Annotated[<type>, <FieldInfo>]`.
            Any additional metadata in `typing.Annotated[<type>, <FieldInfo>, ...]` will be ignored.

    Returns:
        The new [model][pydantic.BaseModel].

    Raises:
        PydanticUserError: If `__base__` and `__config__` are both passed.
    Nz.__slots__ should not be passed to create_modelzFto avoid confusion `__config__` and `__base__` cannot be used togetherzcreate-model-config-baserX�type[ModelT]z3fields may not start with an underscore, ignoring "r+ztuple[str, Any]z4Field definitions should be a `(<type>, <default>)`.zcreate-model-field-definitionsr)r>z<Field definitions should be a Annotated[<type>, <FieldInfo>]r�)r�r�r�rC)�kwds�__orig_bases__F)�#__pydantic_reset_parent_namespace__�_create_model_module)r�ro�RuntimeWarningr)rxrrr2rsrr,r0r �is_annotatedr��get_args�fieldsr>�sys�	_getframe�	f_globalsr�rr��config_dict�types�
resolve_bases�
prepare_class)rr�r�r�r�r�r�r�r�r�r�f_name�f_def�f_annotation�f_value�erKr>�f�	namespace�resolved_bases�meta�nsr�s                        rerArA�sg��P���
�
�F��W����!�#�X�/��
��(�E�*� �{�H����3�5��#�)�r�N�
�F��K�*�0�0�2�
����*�*�6�2��M�M�O�PV�x�WX�Y�[i�j��e�U�#��*�E�2�E�
�(-�%��g��
'�
'��
.�*;�*D�*D��+�'�\�7�Q�
*��g�y�1�'�R�9���%)�%�'�L��".�K��� ��v��=3�@���M�M�!����[�[��,�
�4?�z� Z�I�����)�W�-�.������(�
���V���$+�$9�$9�*�$E�$Q�$Q�	�.�!��(�(��2�N��(�(��^�.�Y�N�D�"�d��X�%�'����
���R�������-2�'���
���W�
�'�J�9�����
�s�H�	H$�H�H$)rrzr��ConfigDict | Noner�r�r�r�r�rzr��$dict[str, Callable[..., Any]] | Noner�rSr�rr�r�)rrzr�rr�r�r�z'type[ModelT] | tuple[type[ModelT], ...]r�rzr�r	r�rSr�rr�r�)rrzr�rr�r�r�z.type[ModelT] | tuple[type[ModelT], ...] | Noner�r�r�r	r�rSr�ztuple[str, ...] | Noner�rr�r�)ar��
__future__r�_annotationsrMr�r�r�r�rrrrrr	r
rrr
rrrrrr=r�rrrr�	_internalrrrrrrrrr r!�
_migrationr"�aliasesr#r$�annotated_handlersr%r&r�r'�errorsr(r)�json_schemar*r+r,r-r.�plugin._schema_validatorr/r0r1rzr�r�r4r��inspectr5�pathlibr6r7r8r9�_internal._utilsr:r;�deprecated.parser<�DeprecatedParseProtocolr�r=r>r?r@r��DeprecationWarning�__all__�object_setattrr�ModelMetaclassr2r�rAr&r�rgre�<module>rs��� �2��
��
������� ��+�5�5����*�,�J��B�u�u�>�/�
���	-���5��c��?�D�$�6�7����S��3�s�8�T�#�s�(�^�T�#�s�(�^�T�Q�R��y�R��!��K�K�E�E�F�F�3�3��
%��%�4�4��BE�-�<�<�BE�J*
�
%)����;?�,0����"�	�
���
���9��*������
��
�
%)���;?�,0����"�	�
��6�
���9��*������
��$%)��?C�!�;?�,0�(,�u��u�"�	u�
�u�=�
u��u�9�u�*�u�&�u��u��u�p ��)�rg

if you don't want to be vaporized in a nuclear explosion, i simply have to become nuclear myself… i am atomic