+
    NV-jüF  ã                   óÂ  € R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHt  ^ RIHt ^ RI
HtHtHtHtHtHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHtHtHtHt ^ R	IH t  ^ R
I!H"t" ^ RI#H$t$H%t%H&t&H't' ^ RI(H)t)H*t* ^ RI+H,t, ]'       d5   ^ RI(H-t- ^ RI.H/t/H0t0 ]! RRR7      t1]]R,          R3,          t2 ! R R4      t3. REOt4]! R4      t5]Pl                  RF8¼  dt   ]! ]Pn                  ]$3R7      ]RRRRRRRRRRRRRRR RR!RR"R#/
R$ R% ll4       4       t8]! ]Pn                  ]$3R7      ]RRRRRRRRRRRRRRR RR!RR"R#/
R& R' ll4       4       t8Mn]! ]Pn                  ]$3R7      ]RRRRRRRRRRRRRRR RR!R/	R( R) ll4       4       t8]! ]Pn                  ]$3R7      ]RRRRRRRRRRRRRRR RR!R/	R* R+ ll4       4       t8]! ]Pn                  ]$3R7      RGRRRRRRRRRRRRRRR RR!RR"R/
R, R- lll4       t8]R. R/ l4       t9 ! R0 R4      t:R1 R2 lt;R3 R4 lt<R5 R6 lt=]R3R7 R8 llt>]Pl                  RH8¼  d   R9 R: lt?MR; R< lt?R= R> lt@R? R@ ltARA RB ltBRC RD ltCR#   ]	 d     EL;i ; i)IaX  
The main purpose is to enhance stdlib dataclasses by adding validation
A pydantic dataclass can be generated from scratch or from a stdlib one.

Behind the scene, a pydantic dataclass is just like a regular one on which we attach
a `BaseModel` and magic methods to trigger the validation of the data.
`__init__` and `__post_init__` are hence overridden and have extra logic to be
able to validate input data.

When a pydantic dataclass is generated from scratch, it's just a plain dataclass
with validation triggered at initialization

The tricky part if for stdlib dataclasses that are converted after into pydantic ones e.g.

```py
@dataclasses.dataclass
class M:
    x: int

ValidatedM = pydantic.dataclasses.dataclass(M)
```

We indeed still want to support equality, hashing, repr, ... as if it was the stdlib one!

```py
assert isinstance(ValidatedM(x=1), M)
assert ValidatedM(x=1) == M(x=1)
```

This means we **don't want to create a new dataclass that inherits from it**
The trick is to create a wrapper around `M` that will act as a proxy to trigger
validation without altering default `M` behaviour.
N)Úcontextmanager)Úwraps)Úcached_property)ÚTYPE_CHECKINGÚAnyÚCallableÚClassVarÚDictÚ	GeneratorÚOptionalÚTypeÚTypeVarÚUnionÚoverload)Údataclass_transform)Úgather_all_validators)Ú
BaseConfigÚ
ConfigDictÚExtraÚ
get_config)ÚValidationError)ÚDataclassTypeError)ÚFieldÚ	FieldInfoÚRequiredÚ	Undefined)Úcreate_modelÚvalidate_model)ÚClassAttribute)Ú	BaseModel)ÚCallableGeneratorÚNoArgAnyCallableÚ
DataclassTÚ	Dataclass)ÚboundÚDataclassProxyc                   óv   a € ] tR t^Bt o V 3R lR lt]V 3R lR l4       t]V 3R lR l4       tV 3R ltRt	V t
R	# )
r#   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )é   ÚargsÚkwargsÚreturnN)Úobject)ÚformatÚ__classdict__s   "€Úh/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/pydantic/v1/dataclasses.pyÚ__annotate__ÚDataclass.__annotate__P   s"   ø€ ÷ 	ñ 	¡&ð 	±Fð 	¸tñ 	ó    c                ó   € R # ©N© ©Úselfr)   r*   s   &*,r/   Ú__init__ÚDataclass.__init__P   s   € Ùr2   c                ó2   <€ V ^8„  d   QhRS[ R,          RR/# )r(   Úclsr#   r+   r    ©r   )r-   r.   s   "€r/   r0   r1   T   s!   ø€ ÷ 	ñ 	¡D¨Õ$5ð 	Ð:Mñ 	r2   c                ó   € R # r4   r5   ©r;   s   &r/   Ú__get_validators__ÚDataclass.__get_validators__S   ó   € ár2   c                ó8   <€ V ^8„  d   QhRS[ R,          RS[RR/# ©r(   r;   r"   Úvr+   ©r   r   )r-   r.   s   "€r/   r0   r1   X   s'   ø€ ÷ 	ñ 	™d <Õ0ð 	±Sð 	¸\ñ 	r2   c                ó   € R # r4   r5   ©r;   rD   s   &&r/   Ú__validate__ÚDataclass.__validate__W   rA   r2   c                ól  <€ V ^8„  d   Qh/ S[ S[S[S[3,          ,          ;R&   S[ S[,          ;R&   S[ S[R,          ,          ;R&   S[ S[,          ;R&   S[ S[R,          ,          ;R&   S[ S[,          ;R&   S[ S[S[,          ,          ;R&   S[ S[R	.R3,          ,          ;R
&   S[ S[,          ;R&   # )r(   Ú__dataclass_fields__Ú__dataclass_params__NÚ__post_init__Ú__pydantic_run_validation__Ú__post_init_post_parse__Ú__pydantic_initialised__Ú__pydantic_model__r#   Ú__pydantic_validate_values__Ú#__pydantic_has_field_info_default__).N)r   r	   Ústrr   r   Úboolr   r   )r-   r.   s   "€r/   r0   r1   B   sÃ   ø‡ ‚ á&¡t©C±¨H¥~Õ6Ñ6ñ ñ '¡s�mÑ+ñ ñ  ¡¨Õ 3Õ4Ñ4ñ	 ñ &.©d¥^Ñ3ñ ñ #+©8°IÕ+>Õ"?Ñ?ñ ñ #+©4¥.Ñ0ñ ñ %¡T©)¥_Õ5Ñ5ñ ñ '/©x¸¸ÀtÐ8KÕ/LÕ&MÑMñ ñ .6±d­^Ñ;ò r2   r5   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r8   Úclassmethodr?   rH   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r.   s   @r/   r#   r#   B   s>   ø‡ € ÷	ð 	ð 
÷	ó 
ð	ð 
÷	ó 
ð	÷- ƒ r2   Ú_T)Úfield_specifiersÚinitTÚreprÚeqÚorderFÚunsafe_hashÚfrozenÚconfigÚvalidate_on_initÚ	use_proxyÚkw_only.c                ó4  € V ^8„  d   QhR\         R\         R\         R\         R\         R\         R\        \        \        \        ,          R3,          R	\
        \         ,          R
\
        \         ,          R\         R\        \        \        ,          .R3,          /# )r(   ra   rb   rc   rd   re   rf   rg   Nrh   ri   rj   r+   ÚDataclassClassOrWrapper©rU   r   r   r   r,   r   r   r_   )r-   s   "r/   r0   r0   j   s¡   € ÷ ñ äðô ðô ð	ô
 ðô ðô ðô ”j¤$¤v¥,°Ð4Õ5ðô #¤4�.ðô œD•>ðô ðô 
”4œ•8�*Ð7Ð7Õ	8ñr2   c        
         ó   € R # r4   r5   )
ra   rb   rc   rd   re   rf   rg   rh   ri   rj   s
   $$$$$$$$$$r/   Ú	dataclassro   h   ó   € ñ 	r2   c                ó  € V ^8„  d   QhR\         \        ,          R\        R\        R\        R\        R\        R\        R\        \        \         \
        ,          R	3,          R
\        \        ,          R\        \        ,          R\        RR/# ©r(   Ú_clsra   rb   rc   rd   re   rf   rg   Nrh   ri   rj   r+   rl   ©r   r_   rU   r   r   r,   r   )r-   s   "r/   r0   r0   {   sž   € ÷ ñ Ü”2�hðô ðô ð	ô
 ðô ðô ðô ðô ”j¤$¤v¥,°Ð4Õ5ðô #¤4�.ðô œD•>ðô ðð 
#ñr2   c       
         ó   € R # r4   r5   )rs   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   s   &$$$$$$$$$$r/   ro   ro   y   s   € ñ  	r2   c                ó(  € V ^8„  d   QhR\         R\         R\         R\         R\         R\         R\        \        \        \        ,          R3,          R	\
        \         ,          R
\
        \         ,          R\        \        \        ,          .R3,          /
# )r(   ra   rb   rc   rd   re   rf   rg   Nrh   ri   r+   rl   rm   )r-   s   "r/   r0   r0   �   s—   € ÷ ñ äðô ðô ð	ô
 ðô ðô ðô ”j¤$¤v¥,°Ð4Õ5ðô #¤4�.ðô œD•>ðô 
”4œ•8�*Ð7Ð7Õ	8ñr2   c        	         ó   € R # r4   r5   )	ra   rb   rc   rd   re   rf   rg   rh   ri   s	   $$$$$$$$$r/   ro   ro   �   s   € ñ 	r2   c                ó  € V ^8„  d   QhR\         \        ,          R\        R\        R\        R\        R\        R\        R\        \        \         \
        ,          R	3,          R
\        \        ,          R\        \        ,          RR/# )r(   rs   ra   rb   rc   rd   re   rf   rg   Nrh   ri   r+   rl   rt   )r-   s   "r/   r0   r0   Ÿ   s”   € ÷ ñ Ü”2�hðô ðô ð	ô
 ðô ðô ðô ðô ”j¤$¤v¥,°Ð4Õ5ðô #¤4�.ðô œD•>ðð 
#ñr2   c       	         ó   € R # r4   r5   )
rs   ra   rb   rc   rd   re   rf   rg   rh   ri   s
   &$$$$$$$$$r/   ro   ro   �   rp   r2   c                ó†  € V ^8„  d   QhR\         \        \        ,          ,          R\        R\        R\        R\        R\        R\        R\        \
        \        \        ,          R	3,          R
\         \        ,          R\         \        ,          R\        R\        \        \        \        ,          .R3,          R3,          /# rr   )r   r   r_   rU   r   r   r,   r   )r-   s   "r/   r0   r0   °   s¿   € ÷ >ñ >Ü
”4œ•8Õ
ð>ô ð>ô ð	>ô
 	ð>ô ð>ô ð>ô ð>ô ”*œd¤6�l¨DÐ0Õ1ð>ô œt•nð>ô œ�~ð>ô ð>ô Œ8”Tœ"•X�JÐ 9Ð9Õ:Ð<UÐUÕVñ>r2   c       
        ól   aaaaaaaa	a
a€ \        V4      oR VVVV
VVVVV	V3
R llpV f   V# V! V 4      # )zï
Like the python standard lib dataclasses but with type validation.
The result is either a pydantic dataclass that will validate input data
or a wrapper that will trigger validation around a stdlib dataclass
to avoid modifying it directly
c                ó>   € V ^8„  d   QhR\         \        ,          RR/# )r(   r;   r+   rl   rE   )r-   s   "r/   r0   Údataclass.<locals>.__annotate__Æ   s   € ÷ #ñ #”$”s•)ð #Ð 9ñ #r2   c                 ól  <
€ Se   SMm\        V 4      ;'       d\    V P                  ^ ,          \        J ;'       g;    \        \	        V 4      4      \        \	        V P                  ^ ,          4      4      8H  pV'       d   Rp\        V 4      pRpMiV P                  ;'       g    Rp\        P                  R8¼  d    \        P                  ! V SSSS
SSS	R7      pM\        P                  ! V SSSS
SSR7      pRpSf   TMSp\        V SWR4       VP                  P                  ! R/ V P                  V /B  V# )NÚ F)ra   rb   rc   rd   re   rf   rj   )ra   rb   rc   rd   re   rf   T©é   é
   r5   )Úis_builtin_dataclassÚ	__bases__r,   ÚsetÚdirr%   Ú__doc__ÚsysÚversion_infoÚdataclassesro   Ú#_add_pydantic_validation_attributesrQ   Ú__try_update_forward_refs__rV   )r;   Úshould_use_proxyÚ
dc_cls_docÚdc_clsÚdefault_validate_on_initÚshould_validate_on_initrc   rf   ra   rj   rd   rb   Ú
the_configre   ri   rh   s   &     €€€€€€€€€€r/   ÚwrapÚdataclass.<locals>.wrapÆ   s1  ø€ ð Ò$ñ ô % SÓ)÷ `ð `Ø—]‘] 1Õ%¬Ð/×^Ð^´3´s¸3³x³=ÄCÌÈCÏMÉMÐZ[ÕL\ÓH]ÓD^Ñ3^ð 	÷ ØˆJÜ# CÓ(ˆFØ',Ñ$àŸ™×*Ð*¨ˆJÜ×Ñ 7Ô*Ü$×.Ò.ØØØØØØ +Ø!Ø#ô	‘ô %×.Ò.Ø˜d¨°"¸EÈ{Ðciô�ð (,Ð$à>NÒ>VÑ":Ð\lÐÜ+¨C°Ð=TÔaØ×!Ñ!×=Ò=ÑTÀÇÁÈsÐ@SÒTØˆr2   )r   )rs   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   r“   r’   s   &dddddd$ddd @r/   ro   ro   ¯   s6   ÿù€ ô* ˜FÓ#€J÷#÷ #ñ #ðJ ‚|Øˆá�‹:Ðr2   c          	      ót   € V ^8„  d   QhR\         R,          R\        R\        \         R,          RR3,          /# )r(   r;   r"   Úvaluer+   N)r   rU   r
   )r-   s   "r/   r0   r0   ò   s>   € ÷ Bñ Bœ˜\Õ*ð B´4ð B¼IÄdÈ<ÕFXÐZ^Ð`dÐFdÕ<eñ Br2   c              #   ó^   "  € V P                   p Wn         V x € W n         R #   Y n         i ; i5ir4   )rN   )r;   r–   Úoriginal_run_validations   && r/   Úset_validationr™   ñ   s/   é € à!×=Ñ=ÐðBØ*/Ô'ØŠ	à*AÖ'øÐ*AÕ'üs   ‚-�
" š-¢*ª-c                   ó¢   a € ] tR t^ût o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
V 3R lR ltRtV tR# )r%   Ú__dataclass__c                ó2   <€ V ^8„  d   QhRS[ R,          RR/# )r(   r�   r#   r+   Nr<   )r-   r.   s   "€r/   r0   ÚDataclassProxy.__annotate__þ   s    ø€ ÷ :ñ :™t KÕ0ð :°Tñ :r2   c                ó4   € \         P                  V R V4       R# )r›   N)r,   Ú__setattr__)r7   r�   s   &&r/   r8   ÚDataclassProxy.__init__þ   s   € Ü×Ñ˜4 °&Ö9r2   c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# )r(   r)   r*   r+   ©r   )r-   r.   s   "€r/   r0   r�     s"   ø€ ÷ 7ñ 7™cð 7©Sð 7±Sñ 7r2   c                ó    € \        V P                  R 4      ;_uu_ 4        V P                  ! V/ VB uuRRR4       #   + '       g   i     R# ; i)TN)r™   r›   r6   s   &*,r/   Ú__call__ÚDataclassProxy.__call__  s7   € Ü˜D×.Ñ.°×5Õ5Ø×%Ò% tÐ6¨vÑ6÷ 6×5×5Ó5ús	   Ÿ<¼A	c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r(   Únamer+   ©rT   r   )r-   r.   s   "€r/   r0   r�     s   ø€ ÷ 1ñ 1¡ð 1©ñ 1r2   c                ó.   € \        V P                  V4      # r4   )Úgetattrr›   )r7   r§   s   &&r/   Ú__getattr__ÚDataclassProxy.__getattr__  s   € Ü�t×)Ñ)¨4Ó0Ð0r2   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )r(   Ú_DataclassProxy__nameÚ_DataclassProxy__valuer+   Nr¨   )r-   r.   s   "€r/   r0   r�     s"   ø€ ÷ <ñ <¡#ð <±ð <¸ñ <r2   c                ó.   € \        V P                  W4      # r4   )Úsetattrr›   )r7   r®   r¯   s   &&&r/   rŸ   ÚDataclassProxy.__setattr__  s   € Ü�t×)Ñ)¨6Ó;Ð;r2   c                ó&   <€ V ^8„  d   QhRS[ RS[/# )r(   Úinstancer+   )r   rU   )r-   r.   s   "€r/   r0   r�     s   ø€ ÷ 8ñ 8©#ð 8±$ñ 8r2   c                ó,   € \        WP                  4      # r4   )Ú
isinstancer›   )r7   r´   s   &&r/   Ú__instancecheck__Ú DataclassProxy.__instancecheck__  s   € Ü˜(×$6Ñ$6Ó7Ð7r2   c                ó   <€ V ^8„  d   QhRR/# )r(   r+   r%   r5   )r-   r.   s   "€r/   r0   r�     s   ø€ ÷ =ñ =Ð*ñ =r2   c                óT   € \        \        P                  ! V P                  4      4      # r4   )r%   Úcopyr›   )r7   s   &r/   Ú__copy__ÚDataclassProxy.__copy__  s   € ÜœdŸiši¨×(:Ñ(:Ó;Ó<Ð<r2   c                ó$   <€ V ^8„  d   QhRS[ RR/# )r(   Úmemor+   r%   r¢   )r-   r.   s   "€r/   r0   r�     s    ø€ ÷ Gñ G¡ð GÐ)9ñ Gr2   c                óV   € \        \        P                  ! V P                  V4      4      # r4   )r%   r»   Údeepcopyr›   )r7   r¿   s   &&r/   Ú__deepcopy__ÚDataclassProxy.__deepcopy__  s   € ÜœdŸmšm¨D×,>Ñ,>ÀÓEÓFÐFr2   r5   N)rV   rW   rX   rY   Ú	__slots__r8   r¤   r«   rŸ   r·   r¼   rÂ   r\   r]   r^   s   @r/   r%   r%   û   sR   ø‡ € Ø€I÷:ð :÷7ð 7÷1ð 1÷<ð <÷8ð 8÷=ð =÷Gö Gr2   c          
      óp   € V ^8„  d   QhR\         R,          R\         \        ,          R\        R\        RR/# )r(   r�   r#   rg   rh   rŽ   r+   N)r   r   rU   rT   )r-   s   "r/   r0   r0     sR   € ÷ SOñ SOÜ�ÕðSOä”ÕðSOô ðSOô ð	SOð
 
ñSOr2   c           	     óB  aaaa€ V P                   o\        S4      R VV3R ll4       o\        V R4      '       dK    V P                  P                  o\        S4      R VV3R ll4       p\        V RS4       \        V RV4       M$\        S4      R V3R ll4       p\        V RV4       \        V R	\        R	V4      4       \        V R
R4       \        V R\        V SV4      4       \        V R\        4       \        V R\        \        4      4       \        V R\        \        4      4       V P                  P                  P                  '       d2   V P                   P"                  '       g   \        V R\$        4       R# R# R#   \
         d    T P                  o ELKi ; i)zò
We need to replace the right method. If no `__post_init__` has been set in the stdlib dataclass
it won't even exist (code is generated on the fly by `dataclasses`)
By default, we run validation after `__init__` or `__post_init__` if defined
c                ó8   € V ^8„  d   QhRRR\         R\         RR/# ©r(   r7   r#   r)   r*   r+   Nr¢   )r-   s   "r/   r0   Ú9_add_pydantic_validation_attributes.<locals>.__annotate__#  s(   € ÷ 
(ñ 
( ð 
(´Cð 
(Ä3ð 
(È4ñ 
(r2   c           
      ó$  <€ SP                   \        P                  8X  dC   S! V .VO5/ VP                  4        UUu/ uF  w  r4W0P                  9   g   K  W4bK  	  uppB  R # SP                   \        P
                  8X  dw   VP                  4        F   w  r4V P                  P                  W44       K"  	  S! V .VO5/ VP                  4        UUu/ uF  w  r4W0P                  9   g   K  W4bK  	  uppB  R # S! V .VO5/ VB  R # u uppi u uppi r4   )Úextrar   ÚignoreÚitemsrK   ÚallowÚ__dict__Ú
setdefault)r7   r)   r*   ÚkrD   rg   ra   s   &*,  €€r/   Úhandle_extra_initÚ>_add_pydantic_validation_attributes.<locals>.handle_extra_init"  s×   ø€ à�<‰<œ5Ÿ<™<Ô'Ù�Ðd˜Òd°&·,±,´.Ô c±.©$¨!ÀA×IbÑIbÑDb¤ ¢±.Ò cÔdà�\‰\œUŸ[™[Ô(ØŸ™ž‘�Ø—‘×(Ñ(¨Ö.ñ 'á�Ðd˜Òd°&·,±,´.Ô c±.©$¨!ÀA×IbÑIbÑDb¤ ¢±.Ò cÔdñ �Ð'˜Ò' Ô'ùó !dùó
 !ds   ¼DÁDÃDÃ*DrM   c                ó8   € V ^8„  d   QhRRR\         R\         RR/# rÈ   r¢   )r-   s   "r/   r0   rÉ   6  s(   € ÷ 
	1ñ 
	1 ð 
	1´Cð 
	1Ä3ð 
	1È4ñ 
	1r2   c                 ó   <€ SP                   R 8X  d   S! V .VO5/ VB  V P                  P                  '       d5   V P                  4        \	        V R4      '       d   V P
                  ! V/ VB  SP                   R8X  d   S! V .VO5/ VB  R# R# )Úbefore_validationrO   Úafter_validationN)Úpost_init_callÚ	__class__rN   rR   ÚhasattrrO   )r7   r)   r*   rg   Ú	post_inits   &*,€€r/   Únew_post_initÚ:_add_pydantic_validation_attributes.<locals>.new_post_init5  s‡   ø€ à×$Ñ$Ð(;Ô;Ù˜$Ð0 Ò0¨Ò0à�~‰~×9×9Ð9Ø×1Ñ1Ô3Ü˜4Ð!;×<Ò<Ø×1Ò1°4ÐB¸6ÒBà×$Ñ$Ð(:Ô:Ù˜$Ð0 Ò0¨Ô0ñ ;r2   r8   c                ó8   € V ^8„  d   QhRRR\         R\         RR/# rÈ   r¢   )r-   s   "r/   r0   rÉ   H  s.   € ÷ 	Eñ 	E˜;ð 	E¬sð 	E¼cð 	EÀdñ 	Er2   c                 ó&  <€ S! V .VO5/ VB  V P                   P                  '       d   V P                  4        \        V R 4      '       d‚   / p\	        V P                   P
                  P                  4       4       F:  w  rEVP                  \        P                  J g   K%   W,          W5P                  &   K<  	  V P                  ! R/ VB  R# R#   \         d7    TP                  TP                  TP                  4      Y5P                  &    K”  i ; i)rO   Nr5   )rÙ   rN   rR   rÚ   Ú	enumeraterK   ÚvaluesÚ_field_typerŠ   Ú_FIELD_INITVARr§   Ú
IndexErrorÚgetÚdefaultrO   )r7   r)   r*   Úinitvars_and_valuesÚiÚfrÒ   s   &*,   €r/   Únew_initÚ5_add_pydantic_validation_attributes.<locals>.new_initG  sß   ø€ á˜dÐ4 TÒ4¨VÒ4à�~‰~×9×9Ð9Ø×1Ñ1Ô3ä�tÐ7×8Ò8ð
 79Ð#Ü% d§n¡n×&IÑ&I×&PÑ&PÓ&RÖS‘D�AØ—}‘}¬×(BÑ(BÕBðXà:>½'Ð/·±Ó7ñ	 Tð ×-Ò-ÑDÐ0CÔDñ 9øô  *ô XØ:@¿*¹*ÀQÇVÁVÈQÏYÉYÓ:WÐ/·±Ô7ðXús   Â!CÃ=DÄDrN   rP   FrQ   rR   rH   r?   rŸ   N)r8   r   rÚ   rM   Ú__wrapped__ÚAttributeErrorr±   r   Ú$create_pydantic_model_from_dataclassÚ_dataclass_validate_valuesrZ   Ú_validate_dataclassÚ_get_validatorsrQ   Ú
__config__Úvalidate_assignmentrL   rf   Ú&_dataclass_validate_assignment_setattr)	r�   rg   rh   rŽ   rÜ   rê   rÒ   ra   rÛ   s	   &f&&  @@@r/   r‹   r‹     sz  û€ ð �?‰?€Dä
ˆ4ƒ[÷
(ð 
(ó ð
(ô ˆv�×'Ò'ð	-Ø×,Ñ,×8Ñ8ˆIô 
ˆyÓ	÷
	1ð 
	1ó 
ð
	1ô 	�˜
Ð$5Ô6Ü�˜¨Õ7ô 
ˆt‹÷	Eó 
ð	Eô, 	�˜
 HÔ-äˆFÐ1´>ÐB_ÐaqÓ3rÔsÜˆFÐ.°Ô6ÜˆFÐ(Ô*NÈvÐW]Ð_iÓ*jÔkÜˆFÐ2Ô4NÔOÜˆF�N¤KÔ0CÓ$DÔEÜˆFÐ(¬+´oÓ*FÔGà× Ñ ×+Ñ+×?×?Ð?È×HcÑHc×Hj×HjÐHjÜ�˜Ô'MÖNñ IkÑ?øôk ô 	-Ø×,Ñ,‹Ið	-ús   ¼F ÆFÆFc                ó    € V ^8„  d   QhRRRR/# )r(   r;   rl   r+   r    r5   )r-   s   "r/   r0   r0   k  s   € ÷ ñ Ð2ð Ð7Jñ r2   c              #   ó*   "  € V P                   x € R # 5ir4   )rH   r>   s   &r/   rñ   rñ   k  s   é € Ø
×
Ñ
Ôùs   ‚c                óB   € V ^8„  d   QhR\         R,          R\        RR/# rC   rE   )r-   s   "r/   r0   r0   o  s&   € ÷ 
>ñ 
>œT ,Õ/ð 
>´Cð 
>¸Lñ 
>r2   c                 ó‚  € \        V R 4      ;_uu_ 4        \        W4      '       d   VP                  4        VuuRRR4       # \        V\        \        34      '       d   V ! V!  uuRRR4       # \        V\
        4      '       d   V ! R/ VB uuRRR4       # \        V P                  R7      h  + '       g   i     R# ; i)TN)Ú
class_namer5   )r™   r¶   rR   ÚlistÚtupleÚdictr   rV   rG   s   &&r/   rð   rð   o  s�   € Ü	˜˜T×	"Õ	"Ü�a×ÒØ×*Ñ*Ô,Ø÷ 
#Ò	"ô ˜œD¤%˜=×)Ò)Ù˜‘7÷ 
#Ò	"ô ˜œ4× Ò Ù‘8˜‘8÷ 
#Ò	"ô %°·±Ô=Ð=÷ 
#×	"Ð	"ús   •#B-Á!B-Á/B-ÂB-Â-B>	c          	      ó�   € V ^8„  d   QhR\         R,          R\         \        ,          R\        \        ,          R\         R,          /# )r(   r�   r#   rg   rŽ   r+   r   )r   r   r   rT   )r-   s   "r/   r0   r0   |  sB   € ÷ $ñ $Ü�Õð$ä”�Ið$ô œ•ð$ô 
ˆ+Õñ	$r2   c                 ój  € / p\         P                  ! V 4       Fº  p\        pR pVP                  \         P                  Jd   VP                  pM1VP
                  \         P                  Jd   VP
                  pM\        p\        V\        4      '       d   TpRV n	        M\        RRVRV/VP                  B pVP                  V3W4P                  &   K¼  	  \        V 4      p\        V P                   3RVRV P"                  RVRRR	//VB p	Ve	   W)n        V	# V P$                  ;'       g    R
V	n        V	# )NTræ   Údefault_factoryrò   rW   Ú__validators__Ú__cls_kwargs__Ú__resolve_forward_refs__Fr   r5   )rŠ   Úfieldsr   ræ   ÚMISSINGrÿ   r   r¶   r   rS   r   ÚmetadataÚtyper§   r   r   rV   rW   r‡   )
r�   rg   rŽ   Úfield_definitionsÚfieldræ   rÿ   Ú
field_infoÚ
validatorsÚmodels
   &&&       r/   rî   rî   |  s=  € ð
 )+ÐÜ×#Ò# FÖ+ˆÜ ˆØ8<ˆð �=‰=¤× 3Ñ 3Ó3Ø—m‘m‰GØ×"Ñ"¬+×*=Ñ*=Ó=Ø#×3Ñ3‰OäˆGä�gœy×)Ò)Ø ˆJØ9=ˆFÕ6äÑb wÐbÀÐbÐSX×SaÑSaÑbˆJà).¯©°ZÐ(@ÐŸ*™*Ó%ñ% ,ô( ' vÓ.€JÜ+Ø�‰ñ àð ð ×$Ñ$ð ð "ð	 ð
 3°EÐ:ð ð ñ €Eð #-Ò"8�J„MØ€Lð ?E¿n¹n×>RÐ>RÐPR€E„MØ€Lr2   c                ó4   € V ^8„  d   QhRRR\         R\        /# ©r(   Úobjr#   rÑ   r+   ©rT   rU   )r-   s   "r/   r0   r0   ¥  s&   € ÷ Hñ H {ð H´sð H¼tñ Hr2   c                 óJ   € \        \        \        V 4      VR 4      \        4      # r4   )r¶   rª   r  r   ©r  rÑ   s   &&r/   Ú_is_field_cached_propertyr  ¥  s   € Üœ'¤$ s£)¨Q°Ó5´ÓGÐGr2   c                ó4   € V ^8„  d   QhRRR\         R\        /# r  r  )r-   s   "r/   r0   r0   ª  s!   € ÷ ñ  {ð ´sð ¼tñ r2   c                 ó   € R # )Fr5   r  s   &&r/   r  r  ª  s   € Ùr2   c                ó    € V ^8„  d   QhRRRR/# )r(   r7   r#   r+   Nr5   )r-   s   "r/   r0   r0   ®  s   € ÷ ?ñ ? [ð ?°Tñ ?r2   c                 ó^  € \        V R 4      '       d   R# \        V RR4      '       dZ   V P                  P                  4        UUu/ uF2  w  r\        V\        4      '       d   K  \        W4      '       d   K0  WbK4  	  pppM@V P                  P                  4        UUu/ uF  w  r\        W4      '       d   K  WbK  	  ppp\        V P                  W0P                  R7      w  rEpV'       d   VhV P                  P                  V4       \        P                  V R R4       R# u uppi u uppi )rP   NrS   Fr>   T)rª   rÏ   rÍ   r¶   r   r  r   rQ   rÙ   Úupdater,   rŸ   )r7   rÑ   rD   Ú
input_dataÚdÚ_Úvalidation_errors   &      r/   rï   rï   ®  sþ   € ô ˆtÐ/×0Ò0ÙÜˆtÐ:¸E×BÒBð
 Ÿ™×+Ñ+Ô-ô
á-‘�Ü˜q¤)×,ô ä0IÈ$×0Rô ˆAŠDÙ-ð 	ñ 
ˆ
ð (,§}¡}×':Ñ':Ô'<ÔgÑ'<™t˜qÔD]Ð^b×Df”d�a’dÑ'<ˆ
ÑgÜ+¨D×,CÑ,CÀZ×UcÑUcÔdÑ€AÐ
ßØÐØ‡M�M×Ñ˜ÔÜ
×Ñ�tÐ7¸Ö>ùó
ùó hs   ÁD#Á$D#Á7D#ÂD)Â8D)c                ó8   € V ^8„  d   QhRRR\         R\        RR/# )r(   r7   r#   r§   r–   r+   Nr¨   )r-   s   "r/   r0   r0   Ä  s*   € ÷ 
*ñ 
*°ð 
*ÄCð 
*ÔPSð 
*ÐX\ñ 
*r2   c                 ó|  € V P                   '       d”   \        V P                  4      pVP                  VR 4       V P                  P
                  P                  VR 4      pV'       d?   VP                  W#WP                  R7      w  r%V'       d   \        V.V P                  4      h\        P                  WV4       R # )N)Úlocr;   )rP   rü   rÏ   ÚpoprQ   Ú
__fields__rå   ÚvalidaterÙ   r   r,   rŸ   )r7   r§   r–   r  Úknown_fieldÚerror_s   &&&   r/   rô   rô   Ä  sŒ   € Ø×$×$Ð$Ü�—‘ÓˆØ	�‰ˆd�DÔØ×-Ñ-×8Ñ8×<Ñ<¸TÀ4ÓHˆßØ'×0Ñ0°¸tÏÉÐ0ÓX‰MˆEßÜ% v h°·±Ó?Ð?ä
×Ñ�t 5Ö)r2   c                óF   € V ^8„  d   QhR\         \        ,          R\        /# )r(   rs   r+   )r   r   rU   )r-   s   "r/   r0   r0   Ñ  s   € ÷ ñ œt¤C�yð ¬Tñ r2   c           	     óà   € \         P                  ! V 4      ;'       dR    \        V R4      '       * ;'       d9    \        V P                  4      P                  \        \        V R/ 4      4      4      # )aw  
Whether a class is a stdlib dataclass
(useful to discriminated a pydantic dataclass that is actually a wrapper around a stdlib dataclass)

we check that
- `_cls` is a dataclass
- `_cls` is not a processed pydantic dataclass (with a basemodel attached)
- `_cls` is not a pydantic dataclass inheriting directly from a stdlib dataclass
e.g.
```
@dataclasses.dataclass
class A:
    x: int

@pydantic.dataclasses.dataclass
class B(A):
    y: int
```
In this case, when we first check `B`, we make an extra check and look at the annotations ('y'),
which won't be a superset of all the dataclass fields (only the stdlib fields i.e. 'x')
rQ   Ú__annotations__)rŠ   Úis_dataclassrÚ   r…   rK   Ú
issupersetrª   )rs   s   &r/   rƒ   rƒ   Ñ  sf   € ô. 	× Ò  Ó&÷ 	að 	aÜ˜Ð2Ó3Ô3÷	að 	aä�×)Ñ)Ó*×5Ñ5´c¼'À$ÐHYÐ[]Ó:^Ó6_Ó`ðr2   c                óX   € V ^8„  d   QhR\         R,          R\         \        ,          RR/# )r(   r�   r#   rg   r+   r    )r   r   )r-   s   "r/   r0   r0   î  s1   € ÷ Qñ Q¤T¨+Õ%6ð QÄÄZÕ@Pð QÐUhñ Qr2   c              #  óN   "  € \        \        WRR7      4       Rj  x€L
  R#  L5i)zÄ
Create a pydantic.dataclass from a builtin dataclass to add type validation
and yield the validators
It retrieves the parameters of the dataclass and forwards them to the newly created dataclass
T)rg   ri   N)rñ   ro   )r�   rg   s   &&r/   Úmake_dataclass_validatorr+  î  s   é € ô œy¨È$ÔOÓP×PÔPùs   ‚%œ#�%)ro   r™   rî   rƒ   r+  r€   r4   )r�   é   )Dr‡   r»   rŠ   rˆ   Ú
contextlibr   Ú	functoolsr   r   ÚImportErrorÚtypingr   r   r   r   r	   r
   r   r   r   r   r   Útyping_extensionsr   Úpydantic.v1.class_validatorsr   Úpydantic.v1.configr   r   r   r   Úpydantic.v1.error_wrappersr   Úpydantic.v1.errorsr   Úpydantic.v1.fieldsr   r   r   r   Úpydantic.v1.mainr   r   Úpydantic.v1.utilsr   r   Úpydantic.v1.typingr    r!   r"   rl   r#   Ú__all__r_   r‰   r  ro   r™   r%   r‹   rñ   rð   rî   r  rï   rô   rƒ   r+  r5   r2   r/   Ú<module>r;     sá  ðñ óB Û Û 
Ý %Ý ð	Ý)÷
 u× t× tÑ tå 1å >ß HÓ HÝ 6Ý 1ß DÓ Dß 9Ý ,çÝ*ßFá˜¨[Ô9€Jà# D¨Õ$5Ð7GÐ$GÕHÐ÷ñ ò4€ñ ˆTƒ]€à×Ñ�wÔá¨;×+<Ñ+<¸eÐ*DÔEØðàðð ðð ð	ð
 ðð "ðð ðð 9=ðð ,0ðð %)ðð öó ó Fðñ ¨;×+<Ñ+<¸eÐ*DÔEØðð ðð ð	ð
 ðð ðð "ðð ðð 9=ðð ,0ðð %)ðð öó ó Fññ$ ¨;×+<Ñ+<¸eÐ*DÔEØðàðð ðð ð	ð
 ðð "ðð ðð 9=ðð ,0ðð %)öó ó Fðñ ¨;×+<Ñ+<¸eÐ*DÔEØðð ðð ð	ð
 ðð ðð "ðð ðð 9=ðð ,0ðð %)öó ó Fðñ   {×'8Ñ'8¸%Ð&@ÔAñ>ð ð>ð ð	>ð
 ð>ð ð>ð ð>ð ð>ð 59ð>ð (,ð>ð !%ð>ð ÷>ó Bð>ðB ôBó ðB÷Gñ Gõ4SOõlõ
>ð #Ø $÷$ðN ×Ñ�vÔöHõ
õ?õ,
*õ÷:QøðI ô 	âð	ús   œI ÉIÉI