+
    iF                        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   "^/home/wkmabra/.openclaw/workspace/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     &tCH~66  'sm+    344	  &.d^3  #+8I+>"??  #+4.0  %T)_55  '/xt8K/L&MM  .6d^; 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      2h  	
     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      2h  	
     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
> > 	>
 	> > > > *d6lD01> tn> ~> > 8T"XJ 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%/^^3s3x=CCMMZ[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Id<FXZ^`dFd<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      : :tK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 7c 7S 7S 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6v6 6555s	   <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    dii(:(:;<<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    dmmD,>,>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.$!AIbIbDb. cd\\U[[(((. 'dd&,,. c.$!AIbIbDb. 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 
	1C 
	13 
	14 
	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14B6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_init5_add_pydantic_validation_attributes.<locals>.new_initG  s    d4T4V4~~999113t788
 79#%dnn&I&I&P&P&RSDA}}(B(BBX:>'/7	 T --D0CD 9  * X:@**QVVQYY: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8I 
y	
	1 
	1 

	1 	
$567 
t	E 
	E, 	
H-F1>B_aq3rsF.6F(*NvW]_i*jkF24NOFNK0C$DEF(+o*FG  ++???HcHcHjHjHj'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mmG""+*=*==#33OGgy)) J9=F6bwbbSXSaSabJ).Z(@**%% ,( 'v.J+   $$  "	 
 3E:   E #-"8JML ?Enn>R>RPREM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 AD- 	 

 (,}}':':'<g'<tqD]^bDfdad'<
g+D,C,CZUcUcdA
MM
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    $$$	dD--88<<T4H'00t0XME%vh??
t5)r2   c                F    V ^8  d   QhR\         \        ,          R\        /# )r(   rs   r+   )r   r   rU   )r-   s   "r/   r0   r0     s      tCy 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5c'$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Ps   %#%)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[9J#D$57G$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