ó
    pyüi˜  ã                  ó’  • S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSK	J
r
  SSKJrJrJr  SSKJr  SSKJrJrJrJrJrJrJrJr  SSKJrJr  SS	KJrJrJrJ r J!r!  SS
K"J#r#  SSK$J%r%J&r&  SSK'J(r(  SSKJ)r)J*r*  SSK+J,r,  SSK-J.r.J/r/J0r0J1r1  SSK2J3r3J4r4J5r5J6r6  SSK7J8r8J9r9  SSK:J;r;J<r<  SSK=J>r>J?r?  SSK@JArA  SSKBJCrC  SSKDJErE  SSKFJGrGJHrHJIrIJJrJ  SSKKJLrLJMrM  \(       a!  SSKNJOrP  SSKNJQrQJRrR  SSKNJSrT  SSKUJVrV  SSK2JWrW  O\X" 5       rP\X" 5       rT\XR²                  rZ " S  S!\[5      r\S"S#.   S:S$ jjr]\" S%5      r^\" S&\P\T\]4S'9 " S( S)\
5      5       r_S;S* jr`S<S+ jra            S=S, jrbS>S- jrcS?S. jrd        S@S/ jreS&S&SS"S0.               SAS1 jjrfSBS2 jrg " S3 S45      rh " S5 S65      riSCS7 jrjSCS8 jrk\SDS9 j5       rlg)Ez"Private logic for creating models.é    )ÚannotationsN)ÚABCMeta)ÚcacheÚpartialÚwraps)ÚFunctionType)ÚTYPE_CHECKINGÚAnyÚCallableÚGenericÚLiteralÚNoReturnÚTypeVarÚcast)ÚPydanticUndefinedÚSchemaSerializer)ÚTypeAliasTypeÚdataclass_transformÚ
deprecatedÚget_argsÚ
get_origin)Útyping_objectsé   )ÚPydanticUndefinedAnnotationÚPydanticUserError)Úcreate_schema_validator)ÚGenericBeforeBaseModelWarningÚPydanticDeprecatedSince20é   )ÚConfigWrapper)ÚDecoratorInfosÚPydanticDescriptorProxyÚget_attribute_from_basesÚunwrap_wrapped_function)Úcollect_model_fieldsÚis_valid_field_nameÚis_valid_privateattr_nameÚrebuild_model_fields)ÚGenerateSchemaÚInvalidSchemaError)ÚPydanticGenericMetadataÚget_model_typevars_map)Úimport_cached_base_modelÚimport_cached_field_info)Úset_model_mocks)Ú
NsResolver)Úgenerate_pydantic_signature)Ú_make_forward_refÚeval_type_backportÚis_classvar_annotationÚparent_frame_namespace)ÚLazyClassAttributeÚSafeGetItemProxy)ÚField)Ú	FieldInfoÚModelPrivateAttr)ÚPrivateAttr)Ú	BaseModel)ÚPydanticExtraInfoc                  ó0   ^ • \ rS rSrSrSU 4S jjrSrU =r$ )Ú_ModelNamespaceDicté4   zsA dictionary subclass that intercepts attribute setting on model classes and
warns about overriding of decorators.
c                óæ   >• U R                  US 5      nU(       aI  X#LaE  [        U[        5      (       a0  [        R                  " SU SUR
                  R                   S3SS9  [        TU ]!  X5      $ )NÚ`z"` overrides an existing Pydantic `z` decoratorr   ©Ú
stacklevel)	ÚgetÚ
isinstancer"   ÚwarningsÚwarnÚdecorator_infoÚdecorator_reprÚsuperÚ__setitem__)ÚselfÚkÚvÚexistingÚ	__class__s       €Úc/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pydantic/_internal/_model_construction.pyrL   Ú_ModelNamespaceDict.__setitem__9   sj   ø€ ØŸ™  DÓ)ˆÞ˜Ò)¬j¸ÔCZ×.[Ñ.[Ü�MŠMØ�A�3Ð8¸×9PÑ9P×9_Ñ9_Ð8`Ð`kÐlØòô
 ‰wÑ" 1Ó(Ð(ó    © )rN   ÚstrrO   ÚobjectÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rL   Ú__static_attributes__Ú__classcell__©rQ   s   @rR   r?   r?   4   s   ø† ñ÷)õ )rT   r?   F©Úinitc                ó   • g)zÁOnly for typing purposes. Used as default value of `__pydantic_fields_set__`,
`__pydantic_extra__`, `__pydantic_private__`, so they could be ignored when
synthesizing the `__init__` signature.
NrU   rb   s    rR   ÚNoInitFieldre   D   s   � rT   Ú_TT)Úkw_only_defaultÚfield_specifiersc                  ó   ^ • \ rS rSr   S               SU 4S jjjr\(       d  SS jr\SS j5       rSU 4S jjr	\
R                  r\
R                  r\SS j5       r\\" SSS	9SS
 j5       5       r\SS j5       rSU 4S jjrSrU =r$ )ÚModelMetaclasséR   Nc           	     ób
  >^%^&^'• U(       GaÂ  [         R                  S:¼  a9  SU;   a  US   nO?SSKJn	Jn
Jn  U" U5      =n(       a  U
" XÉR                  S9nO0 nOUR                  S0 5      nU R                  U5      u  pÞn[        R                  " X#X‡5      nUR                  US'   [        X8UR                  Xí5      nU(       d  U(       a3  [        X25      m%T%b  [        T%5      S.U%4S jj5       nUUS	'   O	[         US	'   XãS
'   0 UEUEUS'   [#        S[$        T(U ]L  " XX#40 UD65      n[)        5       nUR*                  n[,        U;   aF  UR/                  [,        5      UR/                  U5      :  a  [0        R2                  " [5        S5      SS9  [7        UR8                  SS5      (       + Ul        UR<                  UR<                  L a  SOS	Ul        0 Ul         [B        RD                  " USS9Ul#        URF                  RI                  U5        U(       a	  UUl%        GOv[7        US0 5      R                  SS5      m'[7        USS5      =(       d    T'm&T&(       Ga0  T'(       Ga(  [M        U&4S jT' 5       5      (       Gd  SSK'J(n  [S        U'4S jT& 5       5      nUT';   aU  UT&;  aO  SRU                  U Vs/ s H  nURV                  PM     sn5      nURV                   SU SURV                   SU S3nOŒT'U-   nSRU                  U Vs/ s H  n[Y        U5      PM     sn5      nS U S!3nS"U S#3n[,        U;  aF  SRU                  U Vs/ s H  nURV                  PM     snU/-   5      nUS$URV                   S%U S&3-  n[[        U5      eSST&S'.Ul%        SUl.        UR_                  5        H  u  nnURa                  UU5        M     U(       a  [c        [e        5       5      Ul3        [7        US(S5      n [i        U [j        5      (       a  [m        U 5      n [o        U S)9n![q        UUU!S*9  URF                  Rr                  R_                  5        V"V#s0 s H  u  n"n#U"U#Rt                  _M     sn#n"Ul;        URx                  (       a  [{        U5        O[}        UUU!SUS+9  UR~                  (       a  S,U;  a  [�        UU5        [$        UUG]  " S0 UD6  U$ S- H  n$UR…                  U$S5        M     UR                  S0 5      R‡                  5         [$        T(U ]L  " XX#40 UD6$ s  snf s  snf s  snf s  sn#n"f )/a-  Metaclass for creating Pydantic models.

Args:
    cls_name: The name of the class to be created.
    bases: The base classes of the class to be created.
    namespace: The attribute dictionary of the class to be created.
    __pydantic_generic_metadata__: Metadata for generic models.
    __pydantic_reset_parent_namespace__: Reset parent namespace.
    _create_model_module: The module of the class to be created, if created by `create_model`.
    **kwargs: Catch-all for any other keyword arguments.

Returns:
    The new class created by the metaclass.
)é   é   Ú__annotations__r   )ÚFormatÚcall_annotate_functionÚ!get_annotate_from_class_namespace)ÚformatÚmodel_configNc               ó,   >• [        X5        T" X5        g)z`We need to both initialize private attributes and call the user-defined model_post_init
method.
N)Úinit_private_attributes)rM   ÚcontextÚoriginal_model_post_inits     €rR   Úwrapped_model_post_initÚ7ModelMetaclass.__new__.<locals>.wrapped_model_post_init�   s   ø€ ô
 0°Ô>Ù0°Õ?rT   Úmodel_post_initÚ__class_vars__Ú__private_attributes__útype[BaseModel]z�Classes should inherit from `BaseModel` before generic classes (e.g. `typing.Generic[T]`) for pydantic generics to work properly.r   rC   Ú__pydantic_base_init__FT)Úreplace_wrapped_methodsÚ__pydantic_generic_metadata__Ú
parametersrU   Ú__parameters__c              3  ó,   >#   • U  H	  oT;   v •  M     g 7f©NrU   )Ú.0Úxr‚   s     €rR   Ú	<genexpr>Ú)ModelMetaclass.__new__.<locals>.<genexpr>¹   s   øé € Ð?kÒYjÐTUÀZÆÒYjùs   ƒ)ÚRootModelRootTypec              3  ó6   >#   • U  H  oT;  d  M
  Uv •  M     g 7fr…   rU   )r†   r‡   Úparent_parameterss     €rR   rˆ   r‰   ¼   s   øé € Ð.cº*°QÐQbÑHb¯q©qº*ùs   ƒ	�	z, zS is a subclass of `RootModel`, but does not include the generic type identifier(s) zL in its parameters. You should parametrize RootModel directly, e.g., `class z(RootModel[z	]): ...`.ztyping.Generic[Ú]zJAll parameters must be present on typing.Generic; you should inherit from Ú.z- Note: `typing.Generic` must go last: `class Ú(z): ...`))ÚoriginÚargsr‚   Ú__pydantic_parent_namespace__)Úparent_namespace)Úconfig_wrapperÚns_resolver)Úraise_errorsÚcreate_model_moduleÚ__hash__)Ú__pydantic_fields_set__Ú__pydantic_extra__Ú__pydantic_private__©rM   r<   rw   r
   rX   rY   )DÚsysÚversion_infoÚannotationlibrp   rq   rr   Ú
FORWARDREFrE   Ú_collect_bases_datar    Ú	for_modelÚconfig_dictÚinspect_namespaceÚignored_typesÚget_model_post_initr   rv   r   rK   Ú__new__r-   Ú__mro__r   ÚindexrG   rH   r   ÚgetattrÚ__init__Ú__pydantic_custom_init__r{   Ú__pydantic_post_init__Ú__pydantic_setattr_handlers__r!   ÚbuildÚ__pydantic_decorators__Úupdate_from_configr�   ÚallÚ
root_modelrŠ   ÚtupleÚjoinrZ   rV   Ú	TypeErrorÚ__pydantic_complete__ÚitemsÚ__set_name__Úbuild_lenient_weakvaluedictr5   r’   rF   ÚdictÚunpack_lenient_weakvaluedictr0   Úset_model_fieldsÚcomputed_fieldsÚinfoÚ__pydantic_computed_fields__Údefer_buildr/   Úcomplete_model_classÚfrozenÚset_default_hash_funcÚ__pydantic_init_subclass__ÚpopÚclear))ÚmcsÚcls_nameÚbasesÚ	namespacer�   Ú#__pydantic_reset_parent_namespace__Ú_create_model_moduleÚkwargsÚraw_annotationsrp   rq   rr   ÚannotateÚbase_field_namesÚ
class_varsÚbase_private_attributesr”   Úprivate_attributesry   ÚclsÚ
BaseModel_ÚmrorŠ   Úmissing_parametersr‡   Úparameters_strÚerror_messageÚcombined_parametersÚgeneric_type_labelÚ	bases_strÚnameÚobjr“   r•   rN   rO   Úinstance_slotrx   r‚   rŒ   rQ   s)                                        @@@€rR   r§   ÚModelMetaclass.__new__T   sY  û€ ÷6 ä×Ñ 7Ó*à%¨Ó2à&/Ð0AÑ&B‘O÷ pÑoá#DÀYÓ#OÐO�xÕOÙ*@À×RcÑRcÑ*d™à*,™à"+§-¡-Ð0AÀ2Ó"F�àDG×D[ÑD[Ð\aÓDbÑAÐÐ*Aä*×4Ò4°UÀÓ_ˆNØ(6×(BÑ(BˆI�nÑ%Ü!2Ø¨N×,HÑ,HÈ*ó"Ðö "Ö%<Ü+>¸yÓ+PÐ(Ø+Ñ7ô Ð3Ó4ö@ó 5ð@ð 4K�IÐ/Ò0ä3J�IÐ/Ñ0à*4Ð&Ñ'Ø2cÐ5LÐ2cÐPbÐ2cˆIÐ.Ñ/äÐ(¬%©'ª/¸#ÈÑ*dÐ]cÑ*dÓeˆCÜ1Ó3ˆJà—+‘+ˆCÜ˜#‹~ #§)¡)¬GÓ"4°s·y±yÀÓ7LÓ"LÜ—’Ü1ðBóð  !òô 07°s·|±|ÐE]Ð_dÓ/eÔ+eˆCÔ(à×+Ñ+¨z×/IÑ/IÒI‘ÐO`ð Ô&ð 13ˆCÔ-ä*8×*>Ò*>¸sÐ\`Ñ*aˆCÔ'Ø×'Ñ'×:Ñ:¸>ÔJö -Ø4Q�Ö1ä$+¨CÐ1PÐRTÓ$U×$YÑ$YÐZfÐhjÓ$kÐ!Ü$ SÐ*:¸DÓA×VÐEV�
ß×"3¼CÔ?kÑYjÓ?k×<kÒ<kÝ>ä).Ô.c¹*Ó.cÓ)cÐ&Ø(Ð,=Ó=ÐBSÐ[eÓBeð *.¯©ÑHZÓ3[ÒHZÀ1°A·J´JÑHZÑ3[Ó)\˜à"Ÿ|™|˜nÐ,Ø-Ð.ð /WØWZ×WcÑWcÐVdÐdoÐp~Ðoð  @IðJñ &ð /@ÐBTÑ.TÐ+Ø)-¯©ÑDWÓ3XÒDW¸q´C¸¶FÑDWÑ3XÓ)Y˜Ø/>¸~Ð>NÈaÐ-PÐ*ð8Ø8JÐ7KÈ1ðNð &ô #¨%Ó/ð
 )-¯	©	ÁuÓ2MÂuÀ!°1·:´:ÁuÑ2MÐQcÐPdÑ2dÓ(e˜IØ)Ø"OÐPS×P\ÑP\È~Ð]^Ð_hÐ^iÐiqÐ rñ˜Mô $ MÓ2Ð2ð #ØØ",ñ5�Ô1ð ).ˆCÔ%ð 0×5Ñ5Ö7‘	��cØ× Ñ   dÖ+ñ 8ö 3Ü4OÔPfÓPhÓ4i�Ô1Ü6=¸cÐCbÐdhÓ6iÐÜÐ*¬D×1Ñ1Ü#?Ð@PÓ#QÐ ä$Ð6FÑGˆKä˜S°È[ÒYð
 '*×&AÑ&A×&QÑ&Q×&WÑ&WÔ&Yô0Ú&Y™d˜a ��1—6‘6’	Ñ&Yò0ˆCÔ,ð ×)×)Ü Õ$ô %ØØ"ØØ!&Ø(<òð ×$×$¨¸9Ó)DÜ% c¨5Ô1ô
 �#�sÓ6Ñ@¸Ò@ØˆJó "i�Ø—‘Ø!Øöñ "ið
 �M‰MÐ+¨RÓ0×6Ñ6Ô8Ü‘7’? 3°%ÑMÀfÑMÐMùòg 4\ùò 4Yùò 3Nùó>0s   Ê0TÌT!ÍT&ÑT+c                ón   • U R                   R                  S5      nU(       a	  X;   a  X!   $ [        U5      e)zNThis is necessary to keep attribute access working for class attribute access.r}   )Ú__dict__rE   ÚAttributeError)rM   ÚitemrÔ   s      rR   Ú__getattr__ÚModelMetaclass.__getattr__  s4   € à!%§¡×!2Ñ!2Ð3KÓ!LÐÞ! dÓ&@Ø)Ñ/Ð/Ü  Ó&Ð&rT   c                ó   • [        5       $ r…   )r?   )rÕ   r‘   rÎ   s      rR   Ú__prepare__ÚModelMetaclass.__prepare__$  s   € ä"Ó$Ð$rT   c                óh   >• [         R                  " SU R                   S3SS9  [        TU ]  U5      $ )Nz>For performance reasons, virtual subclasses registered using 'zK.register()' are not supported in 'isinstance()' and 'issubclass()' checks.r   rC   )rG   rH   r\   rK   Úregister)rM   ÚsubclassrQ   s     €rR   rì   ÚModelMetaclass.register,  s?   ø€ Ü�ŠØLÈT×M^ÑM^ÐL_ð `Mð Màò	
ô
 ‰wÑ Ó)Ð)rT   c                óL  • [        5       n[        5       n[        5       n0 nU  H{  n[        XQ5      (       d  M  XQLd  M  UR                  [	        US0 5      R                  5       5        UR                  UR                  5        UR                  UR                  5        M}     X#U4$ )NÚ__pydantic_fields__)r-   ÚsetÚ
issubclassÚupdaterª   Úkeysr|   r}   )rÊ   r<   Úfield_namesrÒ   rÔ   Úbases         rR   r¡   Ú"ModelMetaclass._collect_bases_data7  s�   € ä,Ó.ˆ	ä #£ˆÜ"›uˆ
Ø:<ÐÛˆDÜ˜$×*Ó*¨tÔ/Dà×"Ñ"¤7¨4Ð1FÈÓ#K×#PÑ#PÓ#RÔSØ×!Ñ! $×"5Ñ"5Ô6Ø"×)Ñ)¨$×*EÑ*EÖFñ ð Ð(:Ð:Ð:rT   úXThe `__fields__` attribute is deprecated, use the `model_fields` class property instead.)Úcategoryc                óP   • [         R                  " S[        SS9  [        U S0 5      $ )Nrø   r   rC   rð   )rG   rH   r   rª   ©rM   s    rR   Ú
__fields__ÚModelMetaclass.__fields__F  s+   € ô
 	�ŠØfÜ%Øò	
ô
 �tÐ2°BÓ7Ð7rT   c                óò   • SU R                   ;  a  g[        SU R                  5      n[        SU R                  5      nUb  UR                  nOSn[        S UR                  5        5       5      =(       a    U$ )z¢Whether the fields were successfully collected (i.e. type hints were successfully resolved).

This is a private attribute, not meant to be used outside Pydantic.
rð   Fúdict[str, FieldInfo]zPydanticExtraInfo | NoneTc              3  ó8   #   • U  H  oR                   v •  M     g 7fr…   )Ú	_complete)r†   Ú
field_infos     rR   rˆ   Ú>ModelMetaclass.__pydantic_fields_complete__.<locals>.<genexpr>c  s   é € ÐOÒ:N¨J×'Ö'Ò:Nùs   ‚)rã   r   rð   Ú__pydantic_extra_info__Úcompleter²   Úvalues)rM   Úfield_infosÚpydantic_extra_infoÚextra_completes       rR   Ú__pydantic_fields_complete__Ú+ModelMetaclass.__pydantic_fields_complete__R  sp   € ð !¨¯©Ó5ØäÐ1°4×3KÑ3KÓLˆä"Ð#=¸t×?[Ñ?[Ó\ÐØÑ*Ø0×9Ñ9‰Nà!ˆNäÑO¸+×:LÑ:LÔ:NÓOÓO×bÐTbÐbrT   c                ód   >• [        [        TU ]	  5       5      nSU;   a  UR                  S5        U$ )Nrü   )ÚlistrK   Ú__dir__Úremove)rM   Ú
attributesrQ   s     €rR   r  ÚModelMetaclass.__dir__e  s0   ø€ Üœ%™'™/Ó+Ó,ˆ
Ø˜:Ó%Ø×Ñ˜lÔ+ØÐrT   rU   )NTN)rÉ   rV   rÊ   útuple[type[Any], ...]rË   údict[str, Any]r�   zPydanticGenericMetadata | NonerÌ   ÚboolrÍ   ú
str | NonerÎ   r
   rX   Útype)rå   rV   rX   r
   )r‘   r
   rÎ   r
   rX   zdict[str, object])rí   útype[_T]rX   r  )rÊ   r  rX   z6tuple[set[str], set[str], dict[str, ModelPrivateAttr]])rX   rÿ   )rX   r  )rX   z	list[str])rZ   r[   r\   r]   r§   r	   ræ   Úclassmethodré   rì   r  Ú__instancecheck__Ú__subclasscheck__Ústaticmethodr¡   Úpropertyr   rü   r
  r  r_   r`   ra   s   @rR   rj   rj   R   s  ø† ð IMØ48Ø+/ðDNàðDNð %ðDNð "ð	DNð
 (FðDNð .2ðDNð )ðDNð ðDNð 
÷DNð DNöL ô	'ð ó%ó ð%÷*ð ×.Ñ.ÐØ×.Ñ.Ðàó;ó ð;ð ÙØbÐmqñó8óó ð8ð ócó ðc÷$õ rT   rj   c               ó"  • [        U SS5      c�  0 nU R                  R                  5        HS  u  p4UR                  (       a  UR	                  S0 U R
                  EUES9nOUR	                  SS9nU[        Ld  MO  XRU'   MU     [        U SU5        gg)z÷This function is meant to behave like a BaseModel method to initialize private attributes.

It takes context as an argument since that's what pydantic-core passes when calling it.

Args:
    self: The BaseModel instance.
    context: The context.
r›   NT)Úcall_default_factoryÚvalidated_data)r  )rª   r}   r¸   Ú$default_factory_takes_validated_dataÚget_defaultrã   r   Úobject_setattr)rM   rw   Úpydantic_privaterÞ   Úprivate_attrÚdefaults         rR   rv   rv   l  s¥   € ô ˆtÐ+¨TÓ2Ñ:ØÐØ"&×"=Ñ"=×"CÑ"CÖ"EÑˆDà×@×@Ø&×2Ñ2Ø)-Ð>cÀÇÁÐ>cÐRbÐ>cð 3ð ‘ð '×2Ñ2ÈÐ2ÐM�ØÔ/Ô/Ø)0 Ó&ñ #Fô 	�tÐ3Ð5EÕFð ;rT   c                óf   • SU ;   a  U S   $ [        5       n[        US5      nX2R                  La  U$ g)zaGet the `model_post_init` method from the namespace or the class bases, or `None` if not defined.r{   N)r-   r#   r{   )rË   rÊ   r<   r{   s       rR   r¦   r¦   „  sB   € à˜IÓ%ØÐ*Ñ+Ð+ä(Ó*€Iä.¨uÐ6GÓH€OØ×7Ñ7Ò7ØÐð 8rT   c           
     ó8  ^• SSK JmJn  [        5       nU[	        5       -   n0 nSU;   d  SU ;   a  [        S5      e[        5       n	[        U R                  5       5       GH  u  p«U
S:X  d  U
S:X  a  M  [        U[        5      (       aA  UR                  U S   :X  a.  SU ;   a(  UR                  R                  U S    S	35      (       a  Mj  [        X·5      (       d  UR                  R                  S
:X  a  U	R                  U
5        M§  [        UT5      (       aV  U
R                  S5      (       a  [!        SU
< S	35      e[#        U
5      (       a  [!        SSU
-   < SU
< S	35      eX¸U
'   X
	 GM  [        X¶5      (       a>  [#        U
5      (       d.  U
R%                  S5      =(       d    Sn[!        SU< SU
< S	35      eU
R                  S5      (       a  GMu  ['        U
5      (       a1  X¡;  d  [)        X   5      (       d  [+        TU" US95      XŠ'   X
	 GM³  GM¶  X£;   a  GM¾  X¡;  d  GMÆ  X¤;   a  [-        SU
< S3SS9e[        X¶5      (       a  [-        SU
< S3SS9e[-        SU
 SU< SU
 S3SS9e   UR                  5        GH  u  pÞ['        U5      (       d  M  XØ;  d  M  XÙ;  d  M&  [)        U5      (       a  M8  Xç;  d  M?  [/        USS5      S
:w  d  MR  [        U[0        5      (       aB  [2        R4                  " S5      nUb)   [7        [9        USSS 9UR:                  UR<                  S!9n[>        R@                  " [C        U5      5      (       a,  [E        U5      tnn[G        U4S" jU 5       S5      nUb  UX�'   Mù  U" 5       X�'   GM     U$ ! [         [
        4 a     Nrf = f)#a  Iterate over the namespace and:
* gather private attributes
* check for items which look like fields but are not (e.g. have no annotation) and warn.

Args:
    namespace: The attribute dictionary of the class to be created.
    raw_annotations: The (non-evaluated) annotations of the model.
    ignored_types: A tuple of ignore types.
    base_class_vars: A set of base class class variables.
    base_class_fields: A set of base class fields.

Returns:
    A dict containing private attributes info.

Raises:
    TypeError: If there is a `__root__` field in model.
    NameError: If private attribute name is invalid.
    PydanticUserError:
        - If a field does not have a type annotation.
        - If a field on base class was overridden by a non-annotated attribute.
r   )r:   r;   Ú__root__zUTo define root models, use `pydantic.RootModel` rather than a field called '__root__'rt   rš   r[   r\   rŽ   Ú	functoolsÚ__zXPrivate attributes must not use dunder names; use a single underscore prefix instead of zJPrivate attributes must not use valid field names; use sunder names, e.g. Ú_z instead of Úmy_fieldz>Fields must not use names with leading underscores; e.g., use )r%  zField zŒ defined on a base class was overridden by a non-annotated attribute. All field definitions, including overrides, require a type annotation.zmodel-field-overridden)Úcodez requires a type annotationzmodel-field-missing-annotationz)A non-annotated attribute was detected: `z = z3`. All model fields require a type annotation; if `z‘` is not meant to be a field, you may be able to resolve this error by annotating it as a `ClassVar` or updating `model_config['ignored_types']`.NFT)Úis_argumentÚis_class)ÚglobalnsÚlocalnsc              3  óN   >#   • U  H  n[        UT5      (       d  M  Uv •  M     g 7fr…   )rF   )r†   rO   r:   s     €rR   rˆ   Ú$inspect_namespace.<locals>.<genexpr>  s   øé € Ð$\²¨1¼JÀqÐJZ×<[§Q¡Q²ùs   ƒ%œ	%)$Úfieldsr:   r;   r.   Údefault_ignored_typesr¶   rñ   r  r¸   rF   r  r[   r\   Ú
startswithrQ   ÚaddÚ	NameErrorr&   Úlstripr'   r4   r   r   rª   rV   r�   Ú	_getframer3   r2   Ú	f_globalsÚf_localsr   Úis_annotatedr   r   Únext)rË   rÏ   r¥   Úbase_class_varsÚbase_class_fieldsr;   r9   Úall_ignored_typesrÔ   Úignored_namesÚvar_nameÚvalueÚsuggested_nameÚann_nameÚann_typeÚframer+  Úmetadatar$  r:   s                      @rR   r¤   r¤   �  sÕ  ø€ ÷8 7ä(Ó*€Ià%Ô(=Ó(?Ñ?Ðà68Ðà�_Ó$¨
°iÓ(?ÜÐoÓpÐpä!›e€MÜ 	§¡Ó 1×2‰ˆØ�~Ó%¨Ð5IÓ)IÙä�uœd×#Ñ#Ø× Ñ  I¨lÑ$;Ó;Ø )Ó+Ø×"Ñ"×-Ñ-°¸>Ñ1JÐ0KÈ1Ð.M×NÑNñ Ü˜×1Ñ1°U·_±_×5OÑ5OÐS^Ó5^Ø×Ñ˜hÔ'ÙÜ˜Ð/×0Ñ0Ø×"Ñ" 4×(Ñ(ÜðBØBJÁÈQðPóð ô % X×.Ñ.Üð/Ø/2°X©~Ñ.@ÀÈXÉLÐXYð[óð ð ,1˜xÑ(ØÓ#Ü˜×)Ñ)Ô2EÀh×2OÑ2OØ%Ÿ_™_¨SÓ1×?°ZˆNÜðØ,Ñ/¨|¸H¹<ÀqðJóð ð
 × Ñ  ×&Ñ&ÚÜ& x×0Ñ0ØÓ.Ô6LÈ_ÑMf×6gÑ6gÜ/3Ð4DÁkÐZ_ÑF`Ó/aÐ"Ñ,ØÓ'ò 7hð Ó(ÚØÖ,ØÓ,Ü'Ø˜X™Lð )]ð ^à1ñð ô
 ˜E×-Ñ-Ü'Ø˜X™LÐ(CÐDÐKkñð ô (Ø?À¸zÈÈUÉIð V,Ø,4¨:ð 6jðkð :ñ	ð ñm 3ðz .×3Ñ3×5Ñˆä% h×/Ó/ØÕ2ØÕ-ô +¨8×4Ó4ØÕ1Ü˜ ,°Ó5¸ÕDä˜(¤C×(Ñ(ô Ÿš aÓ(�ØÑ$ðÜ#5Ü-¨hÀEÐTXÑYØ%*§_¡_Ø$)§N¡Nñ$˜ô ×*Ò*¬:°hÓ+?×@Ñ@Ü'¨Ó1���HÜ#Ô$\±Ó$\Ð^bÓc�ØÑ+Ø3?Ð&Ñ0ÙÙ+6«=ÐÔ(ñ? 6ðB Ðøô &¤yÐ1ó Ùðús   Ë>(NÎNÎNc                ó¢   • [        US5      n[        U 5      nUS [        R                  1;   d  [	        USS 5      UR
                  :X  a  X0l        g g )Nr˜   Ú__code__)r#   Úmake_hash_funcrW   r˜   rª   rK  )rÕ   rÊ   Úbase_hash_funcÚnew_hash_funcs       rR   rÄ   rÄ     sN   € Ü-¨e°ZÓ@€NÜ" 3Ó'€MØ˜$¤§¡Ð0Ó0´G¸NÈJÐX\Ó4]Ðan×awÑawÓ4wð %�ð 5xrT   c                ó–   ^• U R                   (       a+  [        R                  " U R                   R                  5       6 OS mSU4S jjnU$ )Nc                ó   • g)Nr   rU   )r+  s    rR   Ú<lambda>Ú make_hash_func.<locals>.<lambda>'  s   € ÐlmrT   c                ó¤   >•  [        T" U R                  5      5      $ ! [         a'    [        T" [        U R                  5      5      5      s $ f = fr…   )Úhashrã   ÚKeyErrorr7   )rM   Úgetters    €rR   Ú	hash_funcÚ!make_hash_func.<locals>.hash_func)  sJ   ø€ ð	AÜ™˜tŸ}™}Ó-Ó.Ð.øÜó 	Aô
 ™Ô/°·±Ó>Ó?Ó@Ò@ð	Aús   ƒ ž.AÁA)rM   r
   rX   Úint)rð   ÚoperatorÚ
itemgetterrô   )rÕ   rW  rV  s     @rR   rL  rL  &  s;   ø€ ØEH×E\×E\ŒX× Ò  #×"9Ñ"9×">Ñ">Ó"@ÑAÑbm€F÷Að ÐrT   c                ó,  • [        U 5      n[        XX#S9u  pEnX@l        XPl        U R                  R                  U5        U HO  nU R                  R                  US5      nUc  M$  UR                  [        Ld  M9  [        XUR                  5        MQ     g)zèCollect and set `cls.__pydantic_fields__` and `cls.__class_vars__`.

Args:
    cls: BaseModel or dataclass.
    config_wrapper: The config wrapper instance.
    ns_resolver: Namespace resolver to use when getting model annotations.
)Útypevars_mapN)r,   r%   rð   r  r|   ró   r}   rÆ   r%  r   Úsetattr)	rÕ   r”   r•   r]  r4  r  rÒ   rN   rD  s	            rR   r½   r½   6  sˆ   € ô *¨#Ó.€LÜ.BØ˜[ñ/Ñ+€F ð %ÔØ"5ÔØ×Ñ×Ñ˜jÔ)ãˆð ×*Ñ*×.Ñ.¨q°$Ó7ˆØÓ §¡Ô6GÔ!GÜ�C˜EŸM™MÖ*ò rT   )r–   Úcall_on_complete_hookr—   Úis_force_rebuildc               óì  • [        U 5      nU R                  (       dF   [        U UUUS9u  U l        U l        U(       d  U R                  (       d  gU R                  (       d   e[        UUU5      n
 U
R                  U 5      nUR                  U R                  S9n U
R                  U5      nU R                   R"                  R%                  5        VVs0 s H  u  pÞXÞR&                  _M     snnU l        [+        U 5        X°l        [/        UU U=(       d    U R0                  U R2                  U(       a  SOSUUR4                  U(       + S9U l        [9        X¼U(       + S9U l        [=        S	[?        [@        U RB                  U R                  URD                  URF                  S
95      U l$        SU l%        U(       a  U RM                  5         g! [
         aD  n[        R                  " U5      n	[        U SU	R                   S35        U(       a  X˜e SnAGNÝSnAff = f! [         a,  nU(       a  e [        U SUR                   S35         SnAgSnAff = f! [         a    [        U 5         gf = fs  snnf )aº  Finish building a model class.

This logic must be called after class has been created since validation functions must be bound
and `get_type_hints` requires a class object.

Args:
    cls: BaseModel or dataclass.
    config_wrapper: The config wrapper instance.
    ns_resolver: The namespace resolver instance to use during schema building.
    raise_errors: Whether to raise errors.
    call_on_complete_hook: Whether to call the `__pydantic_on_complete__` hook.
    create_model_module: The module of the class to be created, if created by `create_model`.
    is_force_rebuild: Whether the model is being force-rebuilt (if True, pre-built serializers and
                      validators are not used, to avoid stale references).

Returns:
    `True` if the model is successfully completed, else `False`.

Raises:
    PydanticUndefinedAnnotation: If PydanticUndefinedAnnotation occurs in __get_pydantic_core_schema__
        and `raise_errors=True`.
)r”   r•   r]  rB   NF)ÚtitleÚcreate_modelr<   )Ú_use_prebuiltÚ__signature__)rc   r4  Úvalidate_by_nameÚextraT)'r,   r
  r(   rð   r  r8  r   Úfrom_name_errorr/   rÞ   r)   Úgenerate_schemaÚcore_configrZ   Úclean_schemar*   r°   r¾   r¸   r¿   rÀ   Úset_deprecated_descriptorsÚ__pydantic_core_schema__r   r[   r\   Úplugin_settingsÚ__pydantic_validator__r   Ú__pydantic_serializer__r6   r   r1   r«   rf  rg  re  r·   Ú__pydantic_on_complete__)rÕ   r”   r•   r–   r_  r—   r`  r]  ÚeÚexcÚ
gen_schemaÚschemarj  rN   rO   s                  rR   rÂ   rÂ   X  sC  € ô@ *¨#Ó.€Là×+×+ð	!ÜCWØØ-Ø'Ø)ñ	DÑ@ˆCÔ# SÔ%@ö  C×$D×$Dàà×/×/Ð/Ð/äØØØó€JðØ×+Ñ+¨CÓ0ˆð !×,Ñ,°3·<±<Ð,Ð@€KðØ×(Ñ(¨Ó0ˆð ?B×>YÑ>Y×>iÑ>i×>oÑ>oÔ>qÔ'rÒ>q±d°a¨¯6©6ª	Ñ>qÒ'r€CÔ$ä˜sÔ#à#)Ô ä!8ØØØ×-˜sŸ~™~Ø×ÑÞ-‰°;ØØ×&Ñ&Ø*Ô*ñ	"€CÔô #3°6ÐZjÔVjÑ"k€CÔô
 +ØÜÜ'Ø—‘Ø×*Ñ*Ø+×<Ñ<Ø ×&Ñ&ñ	
ó	€CÔð !%€CÔæØ×$Ñ$Ô&àøôS ó 	!Ü-×=Ò=¸aÓ@ˆCÜ˜C 1 S§X¡X J¨a Ô1ÞØÐ õ ûð	!ûô( 'ó ÞØÜ˜˜q §¡ ¨˜]Ô+Üûð	ûô ó Ü˜ÔÙðüó (ssG   žG Á1H ÂI ÃI0Ç
HÇ9HÈHÈ
IÈ&"IÉIÉI-É,I-c                óÔ  • U R                   R                  5        H>  u  pUR                  =nc  M  [        U5      nUR	                  X5        [        XU5        M@     U R                  R                  5        Hn  u  pUR                  =nc  M  [        [        UR                  5      S5      (       a  M<  [        X5R                  5      nUR	                  X5        [        XU5        Mp     g)z8Set data descriptors on the class for deprecated fields.NÚ__deprecated__)
rð   r¸   Údeprecation_messageÚ_DeprecatedFieldDescriptorr¹   r^  rÀ   Úhasattrr$   Úwrapped_property)rÕ   Úfieldr  ÚmsgÚdescÚcomputed_field_infos         rR   rl  rl  Ô  sÄ   € à ×4Ñ4×:Ñ:Ö<ÑˆØ×1Ñ1Ð1ˆCÓ>Ü-¨cÓ2ˆDØ×Ñ˜cÔ)Ü�C Ö%ñ	 =ð '*×&FÑ&F×&LÑ&LÖ&NÑ"ˆà'×;Ñ;Ð;ˆSÓHäÔ3Ð4G×4XÑ4XÓYÐ[k×lÓlä-¨c×3WÑ3WÓXˆDØ×Ñ˜cÔ)Ü�C Ö%ò 'OrT   c                  óT   • \ rS rSr% SrS\S'   SSS jjrSS jrSSS jjrSS	 jr	S
r
g)ry  iç  aC  Read-only data descriptor used to emit a runtime deprecation warning before accessing a deprecated field.

Attributes:
    msg: The deprecation message to be emitted.
    wrapped_property: The property instance if the deprecated field is a computed field, or `None`.
    field_name: The name of the field being deprecated.
rV   Ú
field_nameNc                ó   • Xl         X l        g r…   )r}  r{  )rM   r}  r{  s      rR   r«   Ú#_DeprecatedFieldDescriptor.__init__ò  s   € ØŒØ 0ÕrT   c                ó   • X l         g r…   )r�  )rM   rÕ   rÞ   s      rR   r¹   Ú'_DeprecatedFieldDescriptor.__set_name__ö  s   € Ø�rT   c                óN  • Uc>  U R                   b  U R                   R                  S U5      $ [        U R                  5      e[        R
                  " U R                  [        SS9  U R                   b  U R                   R                  X5      $ UR                  U R                     $ )Nr   rC   )	r{  Ú__get__rä   r�  rG   rH   r}  ÚDeprecationWarningrã   )rM   rß   Úobj_types      rR   r‡  Ú"_DeprecatedFieldDescriptor.__get__ù  s†   € Ø‰;Ø×$Ñ$Ñ0Ø×,Ñ,×4Ñ4°T¸8ÓDÐDÜ  §¡Ó1Ð1ä�Š�d—h‘hÔ 2¸qÒAà× Ñ Ñ,Ø×(Ñ(×0Ñ0°Ó?Ð?Ø�|‰|˜DŸO™OÑ,Ð,rT   c                ó,   • [        U R                  5      er…   )rä   r�  )rM   rß   rD  s      rR   Ú__set__Ú"_DeprecatedFieldDescriptor.__set__  s   € Ü˜TŸ_™_Ó-Ð-rT   )r�  r}  r{  r…   )r}  rV   r{  zproperty | NonerX   rY   )rÕ   r~   rÞ   rV   rX   rY   )rß   zBaseModel | Noner‰  ztype[BaseModel] | NonerX   r
   )rß   r
   rD  r
   rX   r   )rZ   r[   r\   r]   r^   ro   r«   r¹   r‡  rŒ  r_   rU   rT   rR   ry  ry  ç  s"   ‡ ñð ƒOö1ôö
-÷.rT   ry  c                  ó6   • \ rS rSrSrSS jrS	S jrS
S jrSrg)Ú_PydanticWeakRefi  a¿  Wrapper for `weakref.ref` that enables `pickle` serialization.

Cloudpickle fails to serialize weakref.ref objects due to an arcane error related to
to abstract base classes (`abc.ABC`). This class works around the issue by wrapping
`weakref.ref` instead of subclassing it.

See https://github.com/pydantic/pydantic/issues/6763 for context.

Semantics:
    - If not pickled, behaves the same as a `weakref.ref`.
    - If pickled along with the referenced object, the same `weakref.ref` behavior
      will be maintained between them after unpickling.
    - If pickled without the referenced object, after unpickling the underlying
      reference will be cleared (`__call__` will always return `None`).
c                óP   • Uc  S U l         g [        R                  " U5      U l         g r…   )Ú_wrÚweakrefÚref)rM   rß   s     rR   r«   Ú_PydanticWeakRef.__init__  s    € Ø‰;ð ˆD�Hä—{’{ 3Ó'ˆD�HrT   c                ó>   • U R                   c  g U R                  5       $ r…   ©r‘  rû   s    rR   Ú__call__Ú_PydanticWeakRef.__call__%  s   € Ø�8‰8ÑØà—8‘8“:ÐrT   c                ó   • [         U " 5       44$ r…   )r�  rû   s    rR   Ú
__reduce__Ú_PydanticWeakRef.__reduce__+  s   € Ü¡$£& Ð*Ð*rT   r–  N)rß   r
   )rX   r
   )rX   z4tuple[Callable, tuple[weakref.ReferenceType | None]])	rZ   r[   r\   r]   r^   r«   r—  rš  r_   rU   rT   rR   r�  r�    s   † ñô (ô÷+rT   r�  c                óˆ   • U c  g0 nU R                  5        H  u  p# [        U5      nXAU'   M     U$ ! [         a    Un Nf = f)aH  Takes an input dictionary, and produces a new value that (invertibly) replaces the values with weakrefs.

We can't just use a WeakValueDictionary because many types (including int, str, etc.) can't be stored as values
in a WeakValueDictionary.

The `unpack_lenient_weakvaluedict` function can be used to reverse this operation.
N)r¸   r�  r¶   )ÚdÚresultrN   rO   Úproxys        rR   rº   rº   /  sX   € ð 	�yØØ€FØ—‘–	‰ˆð	Ü$ QÓ'ˆEð ˆq‹	ñ ð €Møô ó 	ØŠEð	ús   �2²AÁ Ac                óš   • U c  g0 nU R                  5        H0  u  p#[        U[        5      (       a  U" 5       nUb  X1U'   M*  M,  X1U'   M2     U$ )zAInverts the transform performed by `build_lenient_weakvaluedict`.N)r¸   rF   r�  )r�  rž  rN   rO   s       rR   r¼   r¼   C  sW   € à�yØà€FØ—‘–	‰ˆÜ�aÔ)×*Ñ*Ù“ˆAØ‰}Ø�q“	ñ ð �1‹Iñ ð €MrT   c                 óÌ   • SSK Jn   [        [        [        [
        [        U [        /n[        R                  S:¼  a  UR                  [        R                  5        [        U5      $ )Nr   )ÚComputedFieldInfo)rm   é   )r4  r¢  r   r  r  r  r"   r   r�   rž   ÚappendÚtypingr´   )r¢  r¥   s     rR   r5  r5  S  sR   € å*ô 	ÜÜÜÜØÜð€Mô ×Ñ˜7Ó"Ø×ÑœV×1Ñ1Ô2ä�ÓÐrT   )rc   zLiteral[False]rX   r
   rœ   )rË   r  rÊ   r  rX   zCallable[..., Any] | None)rË   r  rÏ   r  r¥   r  r?  úset[str]r@  r¦  rX   zdict[str, ModelPrivateAttr])rÕ   r~   rÊ   r  rX   rY   )rÕ   r~   rX   r
   )rÕ   r~   r”   r    r•   r0   rX   rY   )rÕ   r~   r”   r    r•   r0   r–   r  r_  r  r—   r  r`  r  rX   r  )rÕ   r~   rX   rY   )r�  údict[str, Any] | NonerX   r§  )rX   r  )mr^   Ú
__future__r   Ú_annotationsrZ  r�   r¥  rG   r’  Úabcr   r)  r   r   r   Útypesr   r	   r
   r   r   r   r   r   r   Úpydantic_corer   r   Útyping_extensionsr   r   r   r   r   Útyping_inspectionr   Úerrorsr   r   Úplugin._schema_validatorr   r   r   Ú_configr    Ú_decoratorsr!   r"   r#   r$   Ú_fieldsr%   r&   r'   r(   Ú_generate_schemar)   r*   Ú	_genericsr+   r,   Ú_import_utilsr-   r.   Ú_mock_val_serr/   Ú_namespace_utilsr0   Ú
_signaturer1   Ú_typing_extrar2   r3   r4   r5   Ú_utilsr6   r7   r4  r8   ÚPydanticModelFieldr9   r:   r;   ÚPydanticModelPrivateAttrÚmainr<   r=   rW   Ú__setattr__r"  r»   r?   re   rf   rj   rv   r¦   r¤   rÄ   rL  r½   rÂ   rl  ry  r�  rº   r¼   r5  rU   rT   rR   Ú<module>rÀ     s+  ðÙ (å 2ã Û 
Û Û Û Ý ß +Ñ +Ý ß Z× ZÓ Zç =ß bÕ bÝ ,ç CÝ >ß OÝ "ß sÓ sß oÓ oß @ß Fß MÝ *Ý (Ý 3÷ó ÷ 9æÝ4ß4Ý@Ý Þ*á›ÐÙ%›xÐà×#Ñ#€ô)˜$ô )ð$ !ñà
ðð 	õñ ˆTƒ]€ñ  TÐ=OÐQiÐkvÐ<wÑxôV�Wó Vó yðVôrGô0	ðFØðFà#ðFð )ðFð ð	Fð
  ðFð !ôFôR
%ôð +Ø	ð+à!ð+ð ð+ð 
ô	+ðN Ø"&Ø&*Ø"ñyØ	ðyà!ðyð ðyð
 ðyð  ðyð $ðyð ðyð 
õyôx&÷&".ñ ".÷J +ñ  +ôFô(ð  ó ó ñ rT   