Files
cms-website/.deps_siteforge_v812/pydantic/__pycache__/main.cpython-312.pyc
T

787 lines
76 KiB
Plaintext
Raw Normal View History

Ë
ðÅÙjVMã óä—UdZddlmZddlZddlZddlZddlZddlm Z m
Z
ddl m Z m Z ddl
mZddlmZmZmZmZmZmZmZmZmZmZmZddlZddlZddlmZmZdd lmZm Z m!Z!d
d l"m#Z#m$Z$d
d l%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0d
d
l1m2Z2d
dl3m4Z4m5Z5d
dl6m7Z7m8Z8d
dl9m:Z:m;Z;d
dl<m=Z=m>Z>d
dl?m@Z@mAZAmBZBmCZCmDZDd
dlEmFZFer:ddlGmHZHddlImJZJddlmKZKmLZLmMZMd
dlNmOZOd
dlPmQZQd
dlRmSZSmTZTd
dlUmVZWd
dlXmYZYmZZZm[Z[dZ\e e]e^efddfZ_de`d<eeaebeae^e
ebedecffe
e^edecfffZdde`d<e,jÊZfd3d „Zgd4d"„Zhd4d#„Ziehd$„eid%„d&„d'œZjd(e`d)<Gd*„d!e,jÖ¬+«Zled,el¬-«Zmedddendddd.œ d5d/„«Zoeddendddd0œ d6d1„«Zodddddddd.œ d7d2„Zoe2en«Zpy)8zLogic for creating models.é)Ú annotationsN)Ú GeneratorÚMapping)ÚcopyÚdeepcopy)Úcached_property) Ú
TYPE_CHECKINGÚAnyÚCallableÚClassVarÚDictÚGenericÚLiteralÚTypeVarÚUnionÚcastÚoverload)ÚPydanticUndefinedÚValidationError)ÚSelfÚ TypeAliasÚUnpacké)ÚPydanticDeprecatedSince20ÚPydanticDeprecatedSince211) Ú_configÚ _decoratorsÚ_fieldsÚ _forward_refÚ _genericsÚ
_mock_val_serÚ_model_constructionÚ_namespace_utilsÚ_reprÚ
_typing_extraÚ_utils)Úgetattr_migration)Ú AliasChoicesÚ AliasPath)ÚGetCoreSchemaHandlerÚGetJsonSchemaHandler)Ú
ConfigDictÚ ExtraValues)ÚPydanticUndefinedAnnotationÚPydanticUserError)ÚDEFAULT_REF_TEMPLATEÚGenerateJsonSchemaÚJsonSchemaModeÚJsonSchemaValueÚmodel_json_schema)ÚPluggableSchemaValidator)Ú Signature)ÚPath)Ú
CoreSchemaÚSchemaSerializerÚSchemaValidator)ÚPydanticExtraInfo)ÚMappingNamespace)ÚAbstractSetIntStrÚMappingIntStrAny)ÚProtocol)ÚComputedFieldInfoÚ FieldInfoÚModelPrivateAttr)Ú BaseModelÚ create_modelrÚTupleGeneratorÚIncExcóÞ—|jjd«rd}n*t|jj|«dd«rd}nyt j
|j ||f|dœg«‚)NÚfrozenÚfrozen_instanceFÚ frozen_field©ÚtypeÚlocÚinput)Ú model_configÚgetÚgetattrÚ__pydantic_fields__rÚfrom_exception_dataÚ__name__)Ú model_clsÚnameÚvalueÚ
error_types úQC:\Users\30997\AppData\Local\Temp\pip-target-6g32zz5s\lib\python\pydantic/main.pyÚ
_check_frozenrZRsj€Ø×Ñ×!Ñ! (Ô+Ø&‰
Ü �×.Ñ.×2Ñ2°4Ó8¸(ÀEÔ JØ#‰
àä
×
-Ñ
-Ø×Ñ j¸$¸È5ÑQÐRó ðórCcóX—||j|<|jj|«y©N)Ú__dict__Ú__pydantic_fields_set__Úadd©ÚmodelrVÚvals rYÚ_model_field_setattr_handlerrd_s$€Ø€E‡N�N�4ÑØ ×!Ñ!×%Ñ% dÕ+r[cój—t|dd«€tj|di«||j|<y)NÚ__pydantic_private__)rQÚobjectÚ __setattr__rfras rYÚ_private_setattr_handlerrids7€ÜˆuÐ,¨dÓ3Ð;ô
×ј5Ð"8¸"Ô=Ø'*€E×јtÒ$r[có<—|jj|||«Sr])Ú__pydantic_validator__Úvalidate_assignmentras rYÚ<lambda>rmps€°E×4PÑ4P×4dÑ4dÐejÐlpÐruÔ4vr[có:—|jj||«Sr])r^Ú __setitem__ras rYrmrmrs€°·±×0JÑ0JÈ4ÐQTÔ0Ur[có—t|||«Sr])Ú_object_setattrras rYrmrmss
€¬O¸EÀ4ÈÔ,Mr[)Ú model_fieldrlÚprivaterÚ extra_knownz3Mapping[str, Callable[[BaseModel, str, Any], None]]Ú_SIMPLE_SETATTR_HANDLERScó ‡—eZdZUdZe«Zded< ded< ded< ded < d
Zd ed < d
ed< d ed< ej«Z
ded< ded< dZ ded< ded< d
Z d ed< ded< ded< ded< d ed!< d"ed#< d$ed%< e
jd
¬&«Zd'ed(< e
jd
¬&«Zd)ed*< e
jd
¬&«Zd'ed+< es>ej(d,d-¬.«Zej,d,d/d-¬0«Zej,d,d1d-¬0«Zd2ZdŽd3„Zd4e_ej:ed�d5„««Zej:ed�d6„««Z e!d‘d7„«Z"e!d’d8„«Z#ed“d”d9„«Z$dd
d:œd•d;„Z%d<ddddd
d
d
d
d
d4dd
dd=œ d–d>„Z&dd
ddddd
d
d
d
d
d4dd
dd?œ d—d@„Z'ed4e(e)dAfdBdCœ d˜dD„«Z*ed™dE„«Z+dšdF„Z,ed
d4dGddHœ d›dI„«Z-edddddddJœ dœdK„«Z.eddddddLœ d�dM„«Z/eddddddLœ dždN„«Z0edŸdO„«Z1e d dP„«Z2ed¡dQ„«Z3ed¢dR„«Z4 d£dS„Z5d¤dT„Z6d“d¥dU„Z7esd¦ˆfdV„ Z8d§dW„Z9d¨dX„Z:d¦dY„Z;d©dZ„Z<dªd[„Z=d«d\„Z>esd¬d]„Z?erd­d^„Z@d®d_„ZAd¯d`„ZBd°da„ZCeDjŠjŒZFeDjŠjŽZGeDjŠj�ZHeDjŠj’ZIeDjŠj”ZJd¯db„ZKe!eLjšdcd¬d«d�de„««ZNe!eLjšdfd¬d«d’dg„««ZOeLjšdhd¬d«ddd
d
d
d
diœ d±dj„«ZPeLjšdkd¬d«ddd
d
d
d
eQeQdlœ d²dm„«ZReeLjšdnd¬d«d³do„««ZSeeLjšdpd¬d«ddqdd
drœ d´ds„««ZTeeLjšdtd¬d«ddqdd
drœ dµdu„««ZUeeLjšdvd¬d«d³dw„««ZVeeLjšdxd¬d«d“d”dy„««ZWeLjšdzd¬d«dddd
d{œ d¶d|„«ZXeeLjšd}d¬d«d4e(f d·d~„««ZYeeLjšdd¬d«d4e(d€œ d¸d�„««ZZeeLjšd‚d¬d«d¹dƒ„««Z[eeLjšd„d¬d«dºd…„««Z\eLjšd†d¬d«d»d‡„«Z]eLjšdˆd¬d«d»d‰„«Z^eeLjšdŠd¬d«d»d‹„««Z_eLjšdŒd¬d«d»d�„«Z`ˆxZaS)¼rCaY !!! abstract "Usage Documentation"
[Models](../concepts/models.md)
A base class for creating Pydantic models.
Attributes:
__class_vars__: The names of the class variables defined on the model.
__private_attributes__: Metadata about the private attributes of the model.
__signature__: The synthesized `__init__` [`Signature`][inspect.Signature] of the model.
__pydantic_complete__: Whether model building is completed, or if there are still undefined fields.
__pydantic_core_schema__: The core schema of the model.
__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__: A dictionary containing metadata about generic Pydantic models.
The `origin` and `args` items map to the [`__origin__`][genericalias.__origin__]
and [`__args__`][genericalias.__args__] attributes of [generic aliases][types-genericalias],
and the `parameter` item maps to the `__parameter__` attribute of generic classes.
__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.root_model.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_fields__: A dictionary of field names and their corresponding [`FieldInfo`][pydantic.fields.FieldInfo] objects.
__pydantic_computed_fields__: A dictionary of computed field names and their corresponding [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] objects.
__pydantic_extra__: A dictionary containing extra values, if [`extra`][pydantic.config.ConfigDict.extra]
is set to `'allow'`.
__pydantic_fields_set__: The names of fields explicitly set during instantiation.
__pydantic_private__: Values of private attributes set on the model instance.
zClassVar[ConfigDict]rOzClassVar[set[str]]Ú__class_vars__z%ClassVar[Dict[str, ModelPrivateAttr]]Ú__private_attributes__zClassVar[Signature]Ú
__signature__FzClassVar[bool]Ú__pydantic_complete__zClassVar[CoreSchema]Ú__pydantic_core_schema__Ú__pydantic_custom_init__z$ClassVar[_decorators.DecoratorInfos]Ú__pydantic_decorators__z+ClassVar[_generics.PydanticGenericMetadata]Ú__pydantic_generic_metadata__NzClassVar[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]rkzClassVar[Dict[str, FieldInfo]]rRz:ClassVar[Dict[str, Callable[[BaseModel, str, Any], None]]]Ú__pydantic_setattr_handlers__z&ClassVar[Dict[str, ComputedFieldInfo]]Ú__pydantic_computed_fields__z"ClassVar[PydanticExtraInfo | None]Ú__pydantic_extra_info__)ÚinitúDict[str, Any] | NoneÚ__pydantic_extra__úset[str]r_rfzXPydantic models should inherit from BaseModel, BaseModel cannot be instantiated directlyzbase-model-instantiated©ÚcodeÚ validator)Ú
val_or_serr‹Ú
serializer)r^r_rˆrfc óz—d}|jj||¬«}||urtjdd¬«yy)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_instancea*A custom validator is returning a value other than `self`.
Returning anything other than `self` from a top level model validator isn't supported when validating via `__init__`.
See the `model_validator` docs (https://docs.pydantic.dev/latest/concepts/validators/#model-validators) for more details.é©Ú
stacklevelN)rkÚvalidate_pythonÚwarningsÚwarn)ÚselfÚdataÚ__tracebackhide__Úvalidated_selfs rYÚ__init__zBaseModel.__init__ýsJ€ð!ÐØ×4Ñ4×DÑDÀTÐY]ÐDÓ^ˆØ �~Ñ %Ü �M‰MðLðö 
ð &r[Tcó—t|di«S)a6A mapping of field names to their respective [`FieldInfo`][pydantic.fields.FieldInfo] instances.
!!! warning
Accessing this attribute from a model instance is deprecated, and will not work in Pydantic V3.
Instead, you should access this attribute from the model class.
rR©rQ©Úclss rYÚ model_fieldszBaseModel.model_fieldss€ô�sÐ1°2Ó6Ð6r[có—t|di«S)aOA mapping of computed field names to their respective [`ComputedFieldInfo`][pydantic.fields.ComputedFieldInfo] instances.
!!! warning
Accessing this attribute from a model instance is deprecated, and will not work in Pydantic V3.
Instead, you should access this attribute from the model class.
r„r�ržs rYÚmodel_computed_fieldszBaseModel.model_computed_fieldss€ô�sÐ:¸BÓ?Ð?r[có—|jS)z¡Get extra fields set during validation.
Returns:
A dictionary of extra fields, or `None` if `config.extra` is not set to `"allow"`.
)rˆ©r—s rYÚ model_extrazBaseModel.model_extra)s€ð×&Ñ&Ð&r[có—|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.
)r_r¤s rYÚmodel_fields_setzBaseModel.model_fields_set2s€ð×+Ñ+Ð+r[c ó—|j|«}i}t«}|jj«D�]y\}}|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|nd} t'|d|«t'|d|«|j(st'|d| «t'|d d«|j*r_|j-d«t/|d «rB|j0�6|j«D]#\} }
| |j2vsŒ|
|j0| <Œ%|S)
aJCreates 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: A set of field names that were originally explicitly set during instantiation. If provided,
this is directly used for the [`model_fields_set`][pydantic.BaseModel.model_fields_set] attribute.
Otherwise, the field names from the `values` argument will be used.
values: Trusted or pre-validated data dictionary.
Returns:
A new instance of the `Model` class with validated data.
NT)Úcall_default_factoryÚvalidated_dataÚextraÚallowr^r_rˆrf)Ú__new__ÚsetrRÚitemsÚaliasÚpopr`Úvalidation_aliasÚ
isinstancer(ÚchoicesÚstrr)Úsearch_dict_for_pathrÚ is_requiredÚ get_defaultrOrPrqr�r€Úmodel_post_initÚhasattrrfrx)rŸÚ _fields_setÚvaluesÚmÚ
fields_valuesÚ
fields_setrVÚfieldÚvalidation_aliasesr°rWÚ_extraÚkÚvs rYÚmodel_constructzBaseModel.model_construct<s\€ð.
�K‰K˜Ó ˆØ(*ˆ
Ü“Uˆ
à×2Ñ2×8Ñ8×:‰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ÐfsÐ*;Ó*t�M $Ó'ð;;ð< Ð Ø$ˆKà25×2BÑ2B×2FÑ2FÀwÓ2OÐSZÒ2Z©Ð`dˆÜ˜˜: }Ô5ܘÐ4°kÔBØ×*Ò*Ü ˜AÐ3°VÔ <Ü ˜AÐ5°tÔ <à × %Ò %Ø
× Ñ ˜dÔ #ä�qÐ0Ô1°a×6LÑ6LÐ6XØ"ŸL™LžN‘D�A�qؘA×4Ñ4Ò4Ø45˜×.Ñ.¨qÒ1ð+ðˆr[)Ú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Þ!!! abstract "Usage Documentation"
[`model_copy`](../concepts/models.md#model-copy)
Returns a copy of the model.
!!! note
The underlying instance's [`__dict__`][object.__dict__] attribute is copied. This
might have unexpected side effects if you store anything in it, on top of the model
fields (e.g. the value of [cached properties][functools.cached_property]).
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.
r«r¬) Ú __deepcopy__Ú__copy__rOrPr¯rRr^rˆrÆr_Úkeys)r—rÆrÇÚcopiedrÃrÄs rYÚ
model_copyzBaseModel.model_copy‰s¿€ñ&)-�×"Ñ"Ô$°$·-±-³/ˆÙ Ø× Ñ ×$Ñ$ WÓ-°Ò8Ø"ŸL™LžN‘D�A�qؘD×4Ñ4Ñ4Ø-.˜Ÿ™¨Ò*à!×4Ñ4Ð<Ø8:˜FÔ5Ø78˜×1Ñ1°!Ò4ñ
+ð—‘×&Ñ& vÔ.Ø × *Ñ *× 1Ñ 1°&·+±+³-Ô @؈
r[Úpython)ÚmodeÚincludeÚexcludeÚcontextÚby_aliasÚ
exclude_unsetÚexclude_defaultsÚ exclude_noneÚexclude_computed_fieldsÚ
round_tripr•ÚfallbackÚserialize_as_anyÚpolymorphic_serializationcóV—|jj|||||||||| |
| | |
|¬«S)a(!!! abstract "Usage Documentation"
[`model_dump`](../concepts/serialization.md#python-mode)
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`.
exclude_computed_fields: Whether to exclude computed fields.
While this can be useful for round-tripping, it is usually recommended to use the dedicated
`round_trip` parameter instead.
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].
fallback: A function to call when an unknown value is encountered. If not provided,
a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised.
serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.
polymorphic_serialization: Whether to use model and dataclass polymorphic serialization for this call.
Returns:
A dictionary representation of the model.
)rÏrÓrÐrÑrÒrÔrÕrÖr×rØr•rÙrÚrÛ)r‚Ú to_python)r—rÏrÐrÑrÒrÓrÔrÕrÖr×rØr•rÙrÚrÛs rYÚ
model_dumpzBaseModel.model_dump«sP€ð`×+Ñ+×5Ñ5Ø ØØØØØØ'Ø-Ø%Ø$;Ø!ØØØ-Ø&?ð6ó
ð
r[©ÚindentÚ ensure_asciirÐrÑrÒrÓrÔrÕrÖr×rØr•rÙrÚrÛcót—|jj|||||||||| |
| | |
||¬«j«S)a'!!! abstract "Usage Documentation"
[`model_dump_json`](../concepts/serialization.md#json-mode)
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.
ensure_ascii: If `True`, the output is guaranteed to have all incoming non-ASCII characters escaped.
If `False` (the default), these characters will be output as-is.
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`.
exclude_computed_fields: Whether to exclude computed fields.
While this can be useful for round-tripping, it is usually recommended to use the dedicated
`round_trip` parameter instead.
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].
fallback: A function to call when an unknown value is encountered. If not provided,
a [`PydanticSerializationError`][pydantic_core.PydanticSerializationError] error is raised.
serialize_as_any: Whether to serialize fields with duck-typing serialization behavior.
polymorphic_serialization: Whether to use model and dataclass polymorphic serialization for this call.
Returns:
A JSON string representation of the model.
rß)r‚Úto_jsonÚdecode)r—ràrárÐrÑrÒrÓrÔrÕrÖr×rØr•rÙrÚrÛs rYÚmodel_dump_jsonzBaseModel.model_dump_jsonís\€ðb×+Ñ+×3Ñ3Ø ØØ%ØØØØØ'Ø-Ø%Ø$;Ø!ØØØ-Ø&?ð!4ó
÷" ‰&‹(ð# r[Ú
validationÚany_of)Ú union_formatcó$—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.
union_format: The format to use when combining schemas from unions together. Can be one of:
- `'any_of'`: Use the [`anyOf`](https://json-schema.org/understanding-json-schema/reference/combining#anyOf)
keyword to combine schemas (the default).
- `'primitive_type_array'`: Use the [`type`](https://json-schema.org/understanding-json-schema/reference/type)
keyword as an array of strings, containing each type of the combination. If any of the schemas is not a primitive
type (`string`, `boolean`, `null`, `integer` or `number`) or contains constraints/metadata, falls back to
`any_of`.
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_templaterèÚschema_generatorrÏ)r4)rŸrÓrêrërÏrès rYr4zBaseModel.model_json_schema1s#€ô<!Ø ØØ%Ø%Ø-Øô

ð
r[cóð—t|t«s td«‚|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.ú, Ú[Ú]) Ú
issubclassrÚ TypeErrorr³rµr$Údisplay_as_typeÚjoinrT)rŸÚparamsÚparamÚ param_namesÚparams_components rYÚmodel_parametrized_namez!BaseModel.model_parametrized_nameXs}€ô"˜#œwÔ'ÜÐ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 .A3có—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©)r—rÒs rYr¹zBaseModel.model_post_initsó�r[r‘)ÚforceÚ raise_errorsÚ_parent_namespace_depthÚ_types_namespacecó—|j}|r|syd|_dD]B}||jvsŒtt||«tj
«rŒ7t
||«ŒD|�|}n#|dkDrtj|d¬«xsi}ni}tj|j«xsi}tji|¥|¥¬«} tj|tj |j"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`.
NF)r{rkr‚rT)Ú parent_depthrü)Úparent_namespace)Úcheck)rýÚcall_on_complete_hookÚis_force_rebuild)rzr^r³rQr!Ú
MockValSerÚdelattrr%Úparent_frame_namespacer"Úunpack_lenient_weakvaluedictrr#Ú
NsResolverÚcomplete_model_classrÚ
ConfigWrapperrO)
rŸrürýrþrÿÚalready_completeÚattrÚ
rebuild_nsÚ parent_nsÚ ns_resolvers
rYÚ
model_rebuildzBaseModel.model_rebuildxs€ð0×4Ñ4ÐÙ ¡EØà$)ˆÔ!ãeˆDØ�s—|‘|Ò#¬J´w¸sÀDÓ7IÌ=×KcÑKcÕ,dô
˜˜TÕ"ð
fð Ð 'Ø)‰JØ
$ qÒ
(Ü&×=Ñ=ÐKbÐjnÔoÒuÐsu‰JàˆJä'×DÑDÀS×EfÑEfÓgÒmÐkmˆ ä&×1Ñ1Ø8 
Ð8¨iÐ8ô
ˆ ô#×7Ñ7Ø Ü × !Ñ ! #×"2Ñ"2¸%Ô @Ø Ø%à&6Ð"6Ø"ô
ð
r[©Ústrictr«Úfrom_attributesrÒrÓÚby_namec ót—d}|dur|dur
tdd¬«‚|jj|||||||¬«S)aAValidate a pydantic model instance.
Args:
obj: The object to validate.
strict: Whether to enforce types strictly.
extra: Whether to ignore, allow, or forbid extra data during model validation.
See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
from_attributes: Whether to extract data from object attributes.
context: Additional context to pass to the validator.
by_alias: Whether to use the field's alias when validating against the provided input data.
by_name: Whether to use the field's name when validating against the provided input data.
Raises:
ValidationError: If the object could not be validated.
Returns:
The validated model instance.
TFú<At least one of `by_alias` or `by_name` must be set to True.ú validate-by-alias-and-name-falserŠr)r/rkr”) rŸÚobjrr«rrÒrÓrr™s rYÚmodel_validatezBaseModel.model_validateµsa€ð>!Ðà �uÑ  °Ñ!4Ü#ØNØ7ôð
ð
×)Ñ)×9Ñ9Ø ØØØ+ØØØð:ó
ð
r[©rr«rÒrÓrcór—d}|dur|dur
tdd¬«‚|jj||||||¬«S)aœ!!! abstract "Usage Documentation"
[JSON Parsing](../concepts/json.md#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.
extra: Whether to ignore, allow, or forbid extra data during model validation.
See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
context: Extra variables to pass to the validator.
by_alias: Whether to use the field's alias when validating against the provided input data.
by_name: Whether to use the field's name when validating against the provided input data.
Returns:
The validated Pydantic model.
Raises:
ValidationError: If `json_data` is not a JSON string or the object could not be validated.
TFrrrŠr)r/rkÚ
validate_json)rŸÚ json_datarr«rÒrÓrr™s rYÚmodel_validate_jsonzBaseModel.model_validate_jsonæs[€ð@!Ðà �uÑ  °Ñ!4Ü#ØNØ7ôð
ð
×)Ñ)×7Ñ7Ø ˜f¨E¸7ÈXÐ_fð8ó
ð
r[cór—d}|dur|dur
tdd¬«‚|jj||||||¬«S)a×Validate 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.
extra: Whether to ignore, allow, or forbid extra data during model validation.
See the [`extra` configuration value][pydantic.ConfigDict.extra] for details.
context: Extra variables to pass to the validator.
by_alias: Whether to use the field's alias when validating against the provided input data.
by_name: Whether to use the field's name when validating against the provided input data.
Returns:
The validated Pydantic model.
TFrrrŠr)r/rkÚvalidate_strings)rŸrrr«rÒrÓrr™s rYÚmodel_validate_stringsz BaseModel.model_validate_stringssZ€ð4!Ðà �uÑ  °Ñ!4Ü#ØNØ7ôð
ð
×)Ñ)×:Ñ:Ø ˜ e°WÀxÐY`ð;ó
ð
r[cóЗtjdtd¬«|jj d«}|�&t |t j«s |jS||«S)Na>The `__get_pydantic_core_schema__` method of the `BaseModel` class is deprecated. If you are calling `super().__get_pydantic_core_schema__` when overriding the method on a Pydantic model, consider using `handler(source)` instead. However, note that overriding this method on models can lead to unexpected side effects.r‘r’r{) r•r–rr^rPr³r!ÚMockCoreSchemar{)rŸÚsourceÚhandlerÚschemas rYÚ__get_pydantic_core_schema__z&BaseModel.__get_pydantic_core_schema__8s_€ô
�
‰
ð
ô
'Øõ

ð—‘×!Ñ!Ð"<Ó=ˆØ Ð ¤j°¼×9UÑ9UÔ&VØ×/Ñ/Ð /á�v‹Ðr[có—||«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 rYÚ__get_pydantic_json_schema__z&BaseModel.__get_pydantic_json_schema__Ls€ñ0�{Ó#Ð#r[c ó—y)aÿThis is intended to behave just like `__init_subclass__`, but is called by `ModelMetaclass`
only after basic class initialization is complete. In particular, attributes like `model_fields` will
be present when this is called, but forward annotations are not guaranteed to be resolved yet,
meaning that creating an instance of the class may fail.
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.
Note:
You may want to override [`__pydantic_on_complete__()`][pydantic.main.BaseModel.__pydantic_on_complete__]
instead, which is called once the class and its fields are fully initialized and ready for validation.
Nrú©rŸÚkwargss rYÚ__pydantic_init_subclass__z$BaseModel.__pydantic_init_subclass__frûr[có—y)a+This is called once the class and its fields are fully initialized and ready to be used.
This typically happens when the class is created (just before
[`__pydantic_init_subclass__()`][pydantic.main.BaseModel.__pydantic_init_subclass__] is called on the superclass),
except when forward annotations are used that could not immediately be resolved.
In that case, it will be called later, when the model is rebuilt automatically or explicitly using
[`model_rebuild()`][pydantic.main.BaseModel.model_rebuild].
Nrúržs rYÚ__pydantic_on_complete__z"BaseModel.__pydantic_on_complete__}rûr[cóЇ —tj||«}|�|S|tur td«‚t |d«st|›d�«‚|j
ds t |jvrt|›d�«‚t|t«s|f}tj||«Š td„‰ j«D««}tj‰ j«‰ j««r‰ r|}tj|||«|S|j
d}|s|}ntˆ fd„|D««}|j
d xs|}|j!|«}tt"j%tj&‰ j««««}tj(||«5} tj*||||«}|� |cddd«S| � | cddd«S t-j.d
¬ «xsi}
|j1|
¬ «tj4||||«}tj|||||«ddd«|S#t2$rYŒFwxYw#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 classc3ó K—|]}|–—Œy­wr]rú)Ú.0rÄs rYÚ <genexpr>z.BaseModel.__class_getitem__.<locals>.<genexpr>�sèø€Ð@Ñ*? QœqÑ*?ùs‚ Úargsc3óJ•K—|]}tj|‰«–—Œy­wr])r Ú
replace_types)r7ÚargÚ typevars_maps €rYr8z.BaseModel.__class_getitem__.<locals>.<genexpr>§s!øèø€Ð_ÑS^ÈCœY×4Ñ4°S¸,×GÑS^ùsƒ #Úoriginr‘)r)rÿ)r Úget_cached_generic_type_earlyrCrñrºr~rÚ __bases__r³ÚtupleÚmap_generic_model_argumentsr¼r&Ú
all_identicalrËÚset_cached_generic_typerøÚdictÚfromkeysÚiter_contained_typevarsÚgeneric_recursion_self_typeÚget_cached_generic_type_later%rrr.Úcreate_generic_submodel) rŸÚtypevar_valuesÚcachedÚsubmodelÚ parent_argsr9r>Ú
model_namerôÚmaybe_self_typerr=s @rYÚ__class_getitem__zBaseModel.__class_getitem__ˆseø€ô×8Ñ8¸¸nÓMˆØ Р؈Mà ”)Ñ ÜÐ_Ó`Ð `Ü�sÐ,Ô-ܘs˜eÐ#jÐkÓlÐ lØ×0Ñ0°Ò>Ä7ÐRU×R_ÑR_ÑC_ܘs˜eÐ#:Ð;Ó<Ð <ä˜.¬%Ô0Ø,Ð.ˆNô!×<Ñ<¸SÀ.ÓQˆ äÑ@¨,×*=Ñ*=Ô*?Ó@Ó@ˆä × Ñ   × 1Ñ 1Ó 3°\×5HÑ5HÓ5JÔ KÑP\؈HÜ × -Ñ -¨c°>À8Ô LðPˆðM×;Ñ;¸FÑCˆKÙØ%‘äÓ_ÑS^Ó_Ó_�à×6Ñ6°xÑ@ÒGÀCˆFØ×7Ñ7¸Ó=ˆJÜÜ—
‘
œi×?Ñ?À ×@SÑ@SÓ@UÓVÓWóˆFô×6Ñ6°v¸tÔDÈÜ"×?Ñ?ÀÀ^ÐU[Ð]aÓb�ØÐ%Ø!÷EÑDð
#Ð.Ø*÷
EÑDð ô !.× DÑ DÐRSÔ TÒ ZÐXZ�IØ×(Ñ(¸)Ð(ÔDô %×<Ñ<¸ZÈÐQUÐW]Ó^�ä×1Ñ1°#°~ÀxÐQWÐY]Ô^÷1Eð4ˆøô3òñðú÷#Eð4ˆús6Æ1IÇIÇ%,I È1IÉ IÉIÉIÉIÉI%c
óÜ—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^rˆr_rfN) rLr­rqrr^rˆr_rºrfr¯r)r—rŸr½rÃrÄs rYrÊ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^)Úmemorˆr_rfN) rLr­rqrr^rˆrr_rºrfr¯r)r—rTrŸr½rÃrÄs rYrÉ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ó•—tj|d«}||vr<||}t|d«r|j|t |««S |j
|S tj|d«}|r ||vr||St|j|«rt‰|�|«Stt |«j›d|›�«‚#t $r)}tt |«j›d|›�«|‚d}~wwxYw#t$rd}YŒ•wxYw)NrxÚ__get__ú object has no attribute rˆ) rgÚ__getattribute__rºrVrLrfÚKeyErrorÚAttributeErrorrTÚ __class__Úsuper)r—ÚitemÚprivate_attributesÚ attributeÚexcÚpydantic_extrar[s €rYÚ __getattr__zBaseModel.__getattr__÷s%ø€Ü!'×!8Ñ!8¸Ð?WÓ!XÐ ØÐ)Ñ)Ø.¨tÑ4� ܘ9 iÔ0Ø$×,Ñ,¨T´4¸³:Ó>Ð>ðoà×4Ñ4°TÑ:Ð:ð *Ü%+×%<Ñ%<¸TÐCWÓ%X�Nñ" d¨nÑ&<Ø)¨$Ñ/Ð/ä˜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*Á CÁC7à C4à $C/Ã/C4Ã7 DÄDcó°—|jj|«x}� ||||«y|j||«x}�||||«||j|<yyr])rƒrPÚ_setattr_handler)r—rVrWÚsetattr_handlers rYrhzBaseModel.__setattr__sd€Ø#'×#EÑ#E×#IÑ#IÈ$Ó#OÐO�Ð\Ù  d¨EÕ2à%)×%:Ñ%:¸4ÀÓ%GÐG�/ÐTÙ  d¨EÔ2Ø;J�×2Ñ2°4Ò8ðUr[c
ó*‡‡—|j}||jvr+t|›d|j›d|j›d|›d�«‚t j
|«sE|j j|«xŠ�t‰d«rˆfd„StdSt|||«yt||d«Št‰t«r td St|||«t‰t«rˆfd
„S|j jd «r td S||j"vrp|j jd «d
k7rt%d|j›d|›d�«‚‰€+||j&|<|j(j+|«ytdStdS)a”Get a handler for setting an attribute on the model instance.
Returns:
A handler for setting an attribute on the model instance. Used for memoization of the handler.
Memoizing the handlers leads to a dramatic performance improvement in `__setattr__`
Returns `None` when memoization is not safe, then the attribute is set directly.
z 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`.NÚ__set__có(•—‰j||«Sr]©rh)rbÚ_namercr_s €rYrmz,BaseModel._setattr_handler.<locals>.<lambda>-sø€¸×9JÑ9JÈ5ÐRUÔ9Vr[rsrcó(•—‰j||«Sr]rj)rbrkrcrs €rYrmz,BaseModel._setattr_handler.<locals>.<lambda>Asø€°·±¸eÀSÔ1Ir[rlr«r¬Ú"z" object has no field "rtrr)r[rwrZrTrÚis_valid_field_namerxrPrºrurqrQr³rrZÚpropertyrOrRÚ
ValueErrorrˆr_r`)r—rVrWrŸrr_s @@rYrdzBaseModel._setattr_handlers¡ù€ð—.‘.ˆCØ�s×)Ñ)Ñ)Ü$Ø�hÐ1°#·,±,°ð@EØEHÇ\Á\ÀNÐRSÐTXÐSYÐYcðeóðô×0Ñ0°Ô6Ø!$×!;Ñ!;×!?Ñ!?ÀÓ!EÐE�IÐRܘy¨)Ô4ÛVÐVä7¸ ÑBÐBä# D¨$°Ô6Øä˜3  dÓ+ˆDô
˜$¤Ô0Ü/Ð0AÑBÐBä ˜#˜t UÔ +ô˜$¤Ô)ÛIÐIØ×!Ñ!×%Ñ%Ð&;Ô<Ü/Ð0EÑFÐFؘS×4Ñ4Ñ4Ø×#Ñ#×'Ñ'¨Ó0°GÒ;ä$ q¨¯©¨Ð6MÈdÈVÐSTÐ%UÓVÐVØ�\à49�D×+Ñ+¨DÑ1Ø×0Ñ0×4Ñ4°TÔ:Øô4°MÑBÐBä/°
Ñ>Ð>r[có²—|j}||jvr<|j|}t|d«r|j|«y |j|=yt||d«}t|t«rtj||«St||d¬«||jvrtj||«y|j�||jvr|j|=y tj||«y#t
$r }t
|j›d|›�«|‚d}~wwxYw#t $r$t
t!|«j›d|›�«‚wxYw)NÚ
__delete__rW)rVrW)r[rxrºrrrfrYrZrTrQr³rrgÚ __delattr__rZrRrˆrL)r—r]rŸr_r`rs rYrszBaseModel.__delattr__SsZ€Ø—.‘.ˆCà�t×2Ñ2Ñ2Ø ×7Ñ7¸Ñ=� ܘ9 lÔ3Ø×(Ñ(¨Ô.Øðhà×1Ñ1°$Ð7Øô
˜3  dÓ+ˆDܘ$¤Ô0Ü×)Ñ)¨$°Ó5Ð5ä ˜# D°Õ 5à�t×/Ñ/Ñ/Ü×"Ñ" 4¨Õ.Ø×(Ñ(Ð4¸À×AXÑAXÑ9XØ×+Ñ+¨DÑ1ðfÜ×&Ñ& t¨TÕ2øô! òhÜ(¨C¯L©LÐ+;Ð;TÐUYÐT\Ð)]Ó^ÐdgÐgûðhûô"&òfÜ(¬D°«J×,?Ñ,?Ð+BÐB[Ð\`Ð[cÐ)dÓeÐeðfús$Á
C=Ã&D)Ã= D&ÄD!Ä!D&Ä)-Ec ó&—|j|¬«S)N)rÆ)rÍ)r—Úchangess rYÚ __replace__zBaseModel.__replace__vs€Ø—?‘?¨'�?Ó2Ð 2r[cóÌ—|j}|r,|j«D��cic]\}}|tusŒ||“Œ}}}|j|j|j
|dœScc}}w)N)r^rˆr_rf)rfr¯rr^rˆr_)r—rsrÃrÄs rYÚ __getstate__zBaseModel.__getstate__ysf€Ø×+Ñ+ˆÙ Ø(/¯
©
¬Ô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)Nr_rˆrfr^)rqrP)r—Ústates rYÚ __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ÕDr[cóL—t|t«�r0|jdxs |j}|jdxs |j}||ur<t |dd«t |dd«k(r!|j
xsi|j
xsik(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>rfFTcó"—tjSr])r&Ú _SENTINEL)Ú_s rYrmz"BaseModel.__eq__.<locals>.<lambda>´s €Ô[a×[kÒ[kr[)r³rCr~r[rQrˆr^rLrRrËÚoperatorÚ
itemgetterrYr&ÚSafeGetItemProxyÚNotImplemented)r—ÚotherÚ self_typeÚ
other_typer ÚgetterÚself_fields_proxyÚother_fields_proxys rYÚ__eq__zBaseModel.__eq__Œs�€Ü˜%¤Õ+ð!×>Ñ>¸xÑHÒZÈDÏNÉN� Ø"×@Ñ@ÀÑJÒ]ÈeÏoÉo�
ð Ñ+Ü Ð&<¸dÓCÄwÈuÐVlÐnrÓGsÒsð×0Ñ0Ò6°B¸E×<TÑ<TÒ<ZÐXZÒ[à ð—=‘= E§N¡NÒ2àô $ D›z×=Ñ=×BÑBÓD� Ø—=‘=×%Ñ%Ó'¨<Ò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#Æ"F#c ó—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.
```python
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 rYÚ__init_subclass__zBaseModel.__init_subclass__Êrûr[c#óK—|jj«D��cgc]\}}|jd«rŒ||f‘Œc}}Ed{–—†|j}|r|j«Ed{–—†yycc}}w7Œ27Œ­w)zSo `dict(model)` works.rN)r^r¯Ú
startswithrˆ)r—rÃrÄr«s rYÚ__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__r¤s rYÚ__repr__zBaseModel.__repr__çs+€Ø×$Ñ$Ó&Ð' q¨×):Ñ):¸4Ó)@Ð(AÀÐCÐCr[c #ó*K—|jj«D��cgc] \}}|jsŒ|t||«f‘Œ"}}}|jj«D]P\}}|j
j
|«}|sŒ$|jsŒ1||ur||f–—Œ<||j|«f–—ŒR tj|d«}|�d„|j«D«Ed{–—†|Ed{–—†ycc}}w#t$rd}YŒ?wxYw7Œ&7Œ­w)Nrˆc3ó*K—|] \}}||f–—Œ
y­wr]rú)r7rÃrÄs rYr8z*BaseModel.__repr_args__.<locals>.<genexpr>sèø€ÐBÑ+A¡4 1 a˜˜AœÑ+Aùs‚) r„r¯ÚreprrQr^rRrPÚ__repr_recursion__rgrXrZ)r—rÃrÄÚcomputed_fields_repr_argsrÀras rYÚ
__repr_args__zBaseModel.__repr_args__êsèø€ð
/3×.OÑ.O×.UÑ.UÔ.Wô%
Ù.W¡d a¨Ð[\×[aÓ[aˆQ”˜˜aÓ Ò !Ð.Wð "ñ%
ð—M‘M×'Ñ'Ö)‰DˆAˆqØ×,Ñ,×0Ñ0°Ó3ˆEÚ˜Ÿ›Ø˜D‘=ؘQ˜$“Jà˜T×4Ñ4°QÓ7Ð7Ó7ð
*ð "Ü#×4Ñ4°TÐ;OÓPˆNð Ð %ÙB¨>×+?Ñ+?Ô+AÓB× BÐ BØ,×,Ñ,ùó-%
øô"ò "Ø!ŠNð "úð
CøØ,úsd‚D C8µC8ÁADÂ DÂ"DÂ6C>Ã DÃ(DÃ) DÃ2DÃ3 DÃ> D Ä DÄ D Ä DÄDcó$—|jd«S)NÚ )r”r¤s rYÚ__str__zBaseModel.__str__
s€Ø× Ñ  Ó%Ð%r[úXThe `__fields__` attribute is deprecated, use the `model_fields` class property instead.)Úcategorycóf—tjdtd¬«tt |«di«S)NrŸr‘©r r“rR)r•r–rrQrLr¤s rYÚ
__fields__zBaseModel.__fields__s/€ô
�
‰
Ø fÜ.Øõ
ô
”t˜D“zÐ#8¸"Ó=Ð=r[úMThe `__fields_set__` attribute is deprecated, use `model_fields_set` instead.cóR—tjdtd¬«|jS)Nr¤r‘r¢)r•r–rr_r¤s rYÚ__fields_set__zBaseModel.__fields_set__s'€ô �
‰
Ø [Ü.Øõ
ð
×+Ñ+Ð+r[ú:The `dict` method is deprecated; use `model_dump` instead.©rÐrÑrÓrÔrÕrÖcóh—tjdtd¬«|j||||||¬«S)Nr§r‘r¢r¨)r•r–rrÞ)r—rÐrÑrÓrÔrÕrÖs rYrEzBaseModel.dict*sC€ô �
‰
Ø HÜ.Øõ
ð
�‰ØØØØ'Ø-Ø%ð
ó
ð
r[ú?The `json` method is deprecated; use `model_dump_json` instead.)rÐrÑrÓrÔrÕrÖÚencoderÚmodels_as_dictc óΗtjdtd¬«|tur t d«‚|tur t d«‚| r t d«‚|j ||||||¬«S)Nrªr‘r¢zMThe `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.r¨)r•r–rrrñrå)
r—rÐrÑrÓrÔrÕrÖr«r¬Ú dumps_kwargss
rYÚjsonzBaseModel.jsonCs~€ô �
‰
Ø MÜ.Øõ
ð
Ô+Ñ +ÜÐkÓlÐ lØ Ô!2Ñ 2ÜÐsÓtÐ tÙ ÜÐWÓXÐ XØ×#Ñ#ØØØØ'Ø-Ø%ð
$ó
ð
r[úCThe `parse_obj` method is deprecated; use `model_validate` instead.có\—tjdtd¬«|j|«S)Nr°r‘r¢©r•r–rr©rŸrs rYÚ parse_objzBaseModel.parse_objes,€ô �
‰
Ø QÜ.Øõ
ð
×!Ñ! #Ó&Ð&r[ú�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óê—tjdtd¬«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µr‘r¢r©Úparse©r¹r·r¸rºrzvalue_error.unicodedecodezvalue_error.jsondecodeÚ value_errorÚ
type_error)Ú__root__rK)r•r–rÚ
deprecatedr½Úload_str_bytesrprñr¯r³ÚUnicodeDecodeErrorÚJSONDecodeErrorÚ
pydantic_coreÚPydanticCustomErrorrµrrSrTr) rŸÚbr·r¸r¹rºr½rr`r¯Útype_strÚerrors rYÚ parse_rawzBaseModel.parse_rawosû€ô �
‰
ð
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 Á C2ÁBC-Ã-C2ú˜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ó”—tjdtd¬«ddlm}|j |||||¬«}|j
|«S)NrÌr‘r¢rr¼r¾)r•r–rrÂr½Ú load_filer´)rŸÚpathr·r¸r¹rºr½rs rYÚ
parse_filezBaseModel.parse_file¥sT€ô �
‰
ð
Mä.Øõ 
õ &à�o‰oØ ØØ%ØØ%ð ó
ˆð�}‰}˜SÓ!Ð!r[úqThe `from_orm` method is deprecated; set `model_config['from_attributes']=True` and use `model_validate` instead.có®—tjdtd¬«|jj dd«s
t dd¬«‚|j
|«S)NrÑr‘r¢rzHYou must set the config attribute `from_attributes=True` to use from_ormrŠ)r•r–rrOrPr/rr³s rYÚfrom_ormzBaseModel.from_ormÅs[€ô �
‰
ð
Wä.Øõ 
ð ×Ñ×#Ñ#Ð$5°tÔ<Ü#ØZÐaeôð
ð×!Ñ! #Ó&Ð&r[úDThe `construct` method is deprecated; use `model_construct` instead.c ób—tjdtd¬«|jdd|i|¤ŽS)NrÔr‘r¢r»rú)r•r–rrÅ)rŸr»r¼s rYÚ constructzBaseModel.constructØs6€ô �
‰
Ø RÜ.Øõ
ð
#ˆs×"Ñ"ÑE¨{ÐE¸fÑEÐEr[ú™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
óö—tjdtd¬«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:
```python {test="skip" lint="skip"}
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×r‘r¢r©Úcopy_internalsF)Úto_dictrÓrÐrÑrÔN)rÇ)r•r–rrÂrÚrEÚ_iterrfr¯rrˆrÚlistr±r_rËr®Ú_copy_and_set_values) r—rÐrÑrÆrÇrÚr¼rsrÃrÄr«r¿s rYrzBaseModel.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 Á4E5ÂE5úCThe `schema` method is deprecated; use `model_json_schema` instead.có`—tjdtd¬«|j||¬«S)Nrßr‘r¢©rÓrê)r•r–rr4)rŸrÓrês rYr(zBaseModel.schema/s1€ô
�
‰
Ø QÜ.Øõ
ð
×$Ñ$¨hÀ\Ð$ÓRÐRr[úWThe `schema_json` method is deprecated; use `model_json_schema` and json.dumps instead.rác óš—tjdtd¬«ddl}ddlm}|j |j||¬«fd|i|¤ŽS) Nrâr‘r¢rr)Úpydantic_encoderráÚdefault)r•r–rr¯Údeprecated.jsonräÚdumpsr4)rŸrÓrêr®r¯räs rYÚ schema_jsonzBaseModel.schema_json;sY€ô �
‰
Ø eÜ.Øõ
ó
å5àˆt�z‰zØ × !Ñ !¨8À,Ð !Ó Oñ
à$ð
ðñ
ð
r[úBThe `validate` method is deprecated; use `model_validate` instead.có\—tjdtd¬«|j|«S)Nrér‘r¢r²)rŸrWs rYÚvalidatezBaseModel.validateRs,€ô �
‰
Ø PÜ.Øõ
ð
×!Ñ! %Ó(Ð(r[úLThe `update_forward_refs` method is deprecated; use `model_rebuild` instead.c óz—tjdtd¬«|r td«‚|j d¬«y)Nrìr‘r¢z,`localns` arguments are not longer accepted.T)rü)r•r–rrñr)rŸÚlocalnss rYÚupdate_forward_refszBaseModel.update_forward_refs\s;€ô �
‰
Ø ZÜ.Øõ
ñ
ÜÐJÓKÐ KØ ×Ñ ÐÕ%r[úHThe private method `_iter` will be removed and should no longer be used.cór—tjdtd¬«ddlm}|j
|g|¢­i|¤ŽS)Nrðr‘r¢rrÙ)r•r–rrÂrÚrÜ©r—r9r/rÚs rYrÜzBaseModel._iterks;€ô �
‰
Ø VÜ.Øõ
õ
/à#ˆ~×#Ñ# DÐ:¨4Ò:°6Ñ:Ð:r[úWThe private method `_copy_and_set_values` will be removed and should no longer be used.cór—tjdtd¬«ddlm}|j
|g|¢­i|¤ŽS)Nrór‘r¢rrÙ)r•r–rrÂrÚrÞròs rYrÞzBaseModel._copy_and_set_valuesxs;€ô
�
‰
Ø eÜ.Øõ
õ
/à2ˆ~×2Ñ2°4ÐI¸$ÒIÀ&ÑIÐIr[úMThe private method `_get_value` will be removed and should no longer be used.cór—tjdtd¬«ddlm}|j
|g|¢­i|¤ŽS)Nrõr‘r¢rrÙ)r•r–rrÂrÚÚ
_get_value)rŸr9r/rÚs rYr÷zBaseModel._get_value†s;€ô �
‰
Ø [Ü.Øõ
õ
/à(ˆ~×(Ñ(¨Ð>¨tÒ>°vÑ>Ð>r[úRThe private method `_calculate_keys` will be removed and should no longer be used.cór—tjdtd¬«ddlm}|j
|g|¢­i|¤ŽS)Nrør‘r¢rrÙ)r•r–rrÂrÚÚ_calculate_keysròs rYrúzBaseModel._calculate_keys•s;€ô
�
‰
Ø `Ü.Øõ
õ
/à-ˆ~×-Ñ-¨dÐD°TÒD¸VÑDÐDr[)r˜r
ÚreturnÚNone)rûzdict[str, FieldInfo])rûzdict[str, ComputedFieldInfo])rûúdict[str, Any] | None)rûr‰r])r»zset[str] | Noner¼r
rûr)rÆzMapping[str, Any] | NonerÇÚboolrûr)rÏzLiteral['json', 'python'] | strrÐú IncEx | NonerÑrÿrÒú
Any | NonerÓú bool | NonerÔrþrÕrþrÖrþr×rþrØrþr•ú'bool | Literal['none', 'warn', 'error']rÙúCallable[[Any], Any] | NonerÚrþrÛrrûúdict[str, Any]) ràz
int | NonerárþrÐrÿrÑrÿrÒrrÓrrÔrþrÕrþrÖrþr×rþrØrþr•rrÙrrÚrþrÛrrûrµ) rÓrþrêrµrëztype[GenerateJsonSchema]rÏr2rèz)Literal['any_of', 'primitive_type_array']rûr)rôztuple[type[Any], ...]rûrµ)rÒr
rûrü)
rürþrýrþrþÚintrÿzMappingNamespace | Nonerûr)rr
rrr«úExtraValues | NonerrrÒrrÓrrrrûr)rzstr | bytes | bytearrayrrr«rrÒrrÓrrrrûr)rr
rrr«rrÒrrÓrrrrûr)r&útype[BaseModel]r'r*rûr8)r+r8r'r+rûr3)r/r
rûrü)rûrü)rKz!type[Any] | tuple[type[Any], ...]rûz3type[BaseModel] | _forward_ref.PydanticRecursiveRef)rûr)rTzdict[int, Any] | Nonerûr)r]rµrûr
)rVrµrWr
rûrü)rVrµrWr
rûz,Callable[[BaseModel, str, Any], None] | None)rur
rûr)rûúdict[Any, Any])rzrrûrü)r„r
rûrþ)r/zUnpack[ConfigDict])rûrE)rûrµ)rûz_repr.ReprArgs)rÐrÿrÑrÿrÓrþrÔrþrÕrþrÖrþrûúDict[str, Any])rÐrÿrÑrÿrÓrþrÔrþrÕrþrÖrþr«rr¬rþr®r
rûrµ)rr
rûr) rÈz str | bytesr·ú
str | Noner¸rµr¹úDeprecatedParseProtocol | Nonerºrþrûr) rÏz
str | Pathr·r
r¸rµr¹r rºrþrûr)
rÐú+AbstractSetIntStr | MappingIntStrAny | NonerÑr rÆr‡rÇrþrûr)rÓrþrêrµrûr )rÓrþrêrµr®r
rûrµ)rWr
rûr)rîr
rûrü)r9r
r/r
rûr
)brTÚ
__module__Ú __qualname__Ú__doc__r,rOÚ__annotations__rzrÚDecoratorInfosr}rr�r"Ú NoInitFieldrˆr_rfr r!r%r{rrkr‚Ú __slots__r›Ú__pydantic_base_init__r&Údeprecated_instance_propertyÚ classmethodr r¢ror¥r§rÅrÍrÞrår0r1r4rør¹rrr r#r)r,r0r2rQrÊrÉrbrhrdrsrvrxr{rŠrŒr�r•r›r$ÚRepresentationr“r™r”Ú
__pretty__Ú
__rich_repr__ržÚtyping_extensionsrÂr£r¦rErr¯r´rËrÐrÓrÖrr(rèrërïrÜrÞr÷rúÚ
__classcell__)r[s@rYrCrCwsµ ø…ñ ñH*4«€LÐ&Ó5ðð'Ó&Ø@àAÓAØ=à&Ó&ØSà,1И>Ó1ØVà2Ó2Ø'à,Ó,Ø;ðE_ÀK×D^ÑD^ÓD`ÐÐAÓ`ð^ð$OÓNððFJÐ!Ð#BÓIØQàGÓGØEà.3И^Ó3ØNà7Ó7ØUàPÓPØXà7Ó7ðð$^Ó]Øuà"HÓHðIà?Ó?ðð
1PÐ0C×0OÑ0OÐUZÔ0[ÐÐ-Ó[Øsà(GÐ(;×(GÑ(GÈUÔ(SИXÓSØBà2QÐ2E×2QÑ2QÐW\Ô2]ÐÐ/Ó]ØAá ð$@ =×#?Ñ#?Ø fØ*ô$
Ð ð": ×!9Ñ!9Ø fØ"Ø*ô"
Ðð
#; -×":Ñ":Ø fØ#Ø*ô#
Ðð d€Ióð('+€HÔ#à ×(Ñ(Øò7óó)ð7ð ×(Ñ(Øò@óó)ð@ðò'óð'ðò,óð,ðóJóðJðX@DÐRWõ ðJ19Ø $Ø $Ø"Ø $Ø#Ø!&Ø"Ø(-Ø Ø<@Ø04Ø!&Ø15ñ!@
ð.ð@
ðð @
ð
ð @
ð ð
@
ðð@
ðð@
ðð@
ðð@
ð"&ð@
ðð@
ð:ð@
ð.ð@
ðð@
ð $/ð!@
ð"
ó#@
ðJ"Ø"Ø $Ø $Ø"Ø $Ø#Ø!&Ø"Ø(-Ø Ø<@Ø04Ø!&Ø15ñ#BððBðð Bð
ð Bð ð
BððBððBððBððBððBð"&ðBððBð:ðBð.ðBð ð!Bð"$/ð#Bð$
ó%BðHðØ0Ø5GØ+ð $
ðCKñ$
àð$
ðð$
ð3ð $
ð
ð $
ð@ð$
ð
ò$
óð$
ðLò5óð5ó4 ð
ðØ!Ø'(Ø48ñ
:
ðð:
ðð :
ð
"%ð :
ð 2ð
:
ð
ò:
óð:
ðxð
#Ø$(Ø'+Ø"Ø $Ø#ñ.
à
ð.
ðð .
ð
"ð .
ð %ð