
    ,hh!                        S SK r S SKrS SK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Qr
 " S S\5      r " S S5      r\" 5       r " S S	5      r\" 5       r " S
 S5      r\" 5       r\R&                  " 0 5      r " S S5      r\" S5      r\" S5      r\" S5      rSrSrSr\ R8                  " S5      r\" \R>                  \ \!\"\#\$\%\RL                  \RN                  \RP                  \RR                  \RT                  \+\,\-15      r. " S S5      r/ " S S5      r0 " S S5      r1\\SSSSS\S.S jr2S r3S r4 " S  S!5      r5S" r6S# r7S$ r8S% r9S& r:S' r;S( r<S) r=S* r>S+ r?S, r@S- rAS. rBS/ rC0 S0S_S1S_S2S_S3S_S4\A_S5S_S6\B_S7S_S8\B_S9\C_S:\B_S;\C_S<\B_S=\C_S>\B_S?\C_rDS@ rESA rFSB rGSC rHSD rISVSSSSESESESSESESESF.
SG jjrJSH rKSI rLSJ rM\NSK.SL jrOSM rP\QSN.SO jrRSP rSSQSSSSSESESESSESESESSR.SS jrTST rUSU rVg)W    N)recursive_repr)	dataclassfieldFieldFrozenInstanceErrorInitVarKW_ONLYMISSINGfieldsasdictastuplemake_dataclassreplaceis_dataclassc                       \ rS rSrSrg)r       N__name__
__module____qualname____firstlineno____static_attributes__r       4/opt/python-3.13.8/usr/lib/python3.13/dataclasses.pyr   r      s    4r   r   c                       \ rS rSrS rSrg)_HAS_DEFAULT_FACTORY_CLASS   c                     g)Nz	<factory>r   selfs    r   __repr__#_HAS_DEFAULT_FACTORY_CLASS.__repr__   s    r   r   N)r   r   r   r   r"   r   r   r   r   r   r      s    r   r   c                       \ rS rSrSrg)_MISSING_TYPE   r   Nr   r   r   r   r%   r%          r   r%   c                       \ rS rSrSrg)_KW_ONLY_TYPE   r   Nr   r   r   r   r)   r)      r'   r   r)   c                        \ rS rSrS rS rSrg)_FIELD_BASE   c                     Xl         g Nnamer!   r1   s     r   __init___FIELD_BASE.__init__       	r   c                     U R                   $ r/   r0   r    s    r   r"   _FIELD_BASE.__repr__   s    yyr   r0   N)r   r   r   r   r3   r"   r   r   r   r   r,   r,      s    r   r,   _FIELD_FIELD_CLASSVAR_FIELD_INITVAR__dataclass_fields____dataclass_params____post_init__z^(?:\s*(\w+)\s*\.)?\s*(\w+)c                   *    \ rS rSrSrS rS rS rSrg)r      typec                     Xl         g r/   r@   )r!   rA   s     r   r3   InitVar.__init__   r5   r   c                     [        U R                  [        5      (       a  U R                  R                  nO[        U R                  5      nSU S3$ )Nzdataclasses.InitVar[])
isinstancerA   r   repr)r!   	type_names     r   r"   InitVar.__repr__   s@    dii&&		**I TYYI%i[22r   c                     [        U5      $ r/   )r   )clsrA   s     r   __class_getitem__InitVar.__class_getitem__  s    t}r   N)	r   r   r   r   	__slots__r3   r"   rL   r   r   r   r   r   r      s    I3r   r   c                   b    \ rS rSrSrS r\" 5       S 5       rS r\	" \
R                  5      rSrg)r   i  )r1   rA   defaultdefault_factoryrG   hashinitcomparemetadatakw_only_field_typec	                     S U l         S U l        Xl        X l        X0l        X@l        XPl        X`l        Uc  [        O[        R                  " U5      U l        Xl        S U l        g r/   )r1   rA   rP   rQ   rS   rG   rR   rT   _EMPTY_METADATAtypesMappingProxyTyperU   rV   rW   )	r!   rP   rQ   rS   rG   rR   rT   rU   rV   s	            r   r3   Field.__init__   s^    		.			$, )//9 	 r   c                 :   SU R                   < SU R                  < SU R                  < SU R                  < SU R                  < SU R
                  < SU R                  < SU R                  < S	U R                  < S
U R                  < SU R                   S3$ )NzField(name=z,type=z	,default=z,default_factory=z,init=,repr=z,hash=z	,compare=z
,metadata=	,kw_only=z,_field_type=))r1   rA   rP   rQ   rS   rG   rR   rT   rU   rV   rW   r    s    r   r"   Field.__repr__0  s    		} %		} %<<* +##'#7#7": ;		} %		} %		} %<<* + MM, -<<* +#//0 	r   c                 z    [        [        U R                  5      SS 5      nU(       a  U" U R                  X5        g g )N__set_name__)getattrrA   rP   )r!   ownerr1   funcs       r   rc   Field.__set_name__H  s1    tDLL)>4@ u+ r   )rW   rT   rP   rQ   rR   rS   rV   rU   r1   rG   rA   N)r   r   r   r   rN   r3   r   r"   rc   classmethodrZ   GenericAliasrL   r   r   r   r   r   r     s=    I    ., $E$6$67r   r   c                   $    \ rS rSrSrS rS rSrg)_DataclassParamsiR  
rS   rG   eqorderunsafe_hashfrozen
match_argsrV   slotsweakref_slotc                 |    Xl         X l        X0l        X@l        XPl        X`l        Xpl        Xl        Xl        Xl	        g r/   rl   )r!   rS   rG   rm   rn   ro   rp   rq   rV   rr   rs   s              r   r3   _DataclassParams.__init___  s8     		
&$
(r   c                     SU R                   < SU R                  < SU R                  < SU R                  < SU R                  < SU R
                  < SU R                  < SU R                  < S	U R                  < S
U R                  < S3$ )Nz_DataclassParams(init=r^   z,eq=z,order=z,unsafe_hash=z,frozen=z,match_args=r_   z,slots=z,weakref_slot=r`   rl   r    s    r   r"   _DataclassParams.__repr__m  s    		} %		} %gg[ ! '#//2 3++ )"oo0 1<<* + '  $ 1 14 	r   )
rm   rp   rS   rV   rq   rn   rG   rr   ro   rs   N)r   r   r   r   rN   r3   r"   r   r   r   r   rk   rk   R  s    
I)r   rk   TrP   rQ   rS   rG   rR   rT   rU   rV   c           
      X    U [         La  U[         La  [        S5      e[        XX#XEXg5      $ )Nz/cannot specify both default and default_factory)r
   
ValueErrorr   rx   s           r   r   r     s5    $ g/"@JKK4t$ $r   c                 J    [        S U  5       5      [        S U  5       5      4$ )Nc              3   p   #    U  H,  oR                   (       d  M  UR                  (       a  M(  Uv   M.     g 7fr/   rS   rV   .0fs     r   	<genexpr>(_fields_in_init_order.<locals>.<genexpr>  s     @Vvv!aii!!V   66	6c              3   p   #    U  H,  oR                   (       d  M  UR                  (       d  M(  Uv   M.     g 7fr/   r}   r~   s     r   r   r     s     <Vvv!!))!!Vr   )tuple)r   s    r   _fields_in_init_orderr     s*     @V@@<V<< r   c           	          U(       d  gSSR                  U Vs/ s H  o  SUR                   3PM     sn5       S3$ s  snf )N()(,.,))joinr1   )obj_namer   r   s      r   
_tuple_strr     sB     sxx@A:Qqvvh/@AB"EE@s   =
c                   6    \ rS rSrS rS\SSSS.S jrS rSrg)	_FuncBuilderi  c                 V    / U l         / U l        Xl        0 U l        0 U l        0 U l        g r/   )namessrcglobalslocalsoverwrite_errorsunconditional_adds)r!   r   s     r   r3   _FuncBuilder.__init__  s,    
 ""$r   NF)r   return_typeoverwrite_errorunconditional_add	decoratorc                   Ub  U R                   R                  U5        U(       a  X`R                  U'   U(       a  SU R                  U'   U R                  R                  U5        U[        La  XPR                   SU S3'   SU S3n	OSn	SR                  U5      nSR                  U5      nU R                  R                  U(       a  SU S3OS S	U S
U SU	 SU 3	5        g )NT__dataclass__return_type__z->__dataclass_ r   
 z def r   r`   z:
)	r   updater   r   r   appendr
   r   r   )
r!   r1   argsbodyr   r   r   r   r   return_annotations
             r   add_fn_FuncBuilder.add_fn  s    KKv& *9!!$'
 ,0D##D)

$g%?JKK,tfN;<"0n E "xx~yy 		Qyk,rB%vQtfTUVgUhhklpkqrsr   c                 "   SR                  U R                  5      nSR                  U R                  R                  5       5      n[	        U R
                  5      S:X  a  SnOSSR                  U R
                  5       S3nSU SU S	U 3n0 n[        XPR                  U5        US
   " S0 U R                  D6n[        U R
                  U5       H  u  pUR                   SU	R                   3U	l	        U R                  R                  US5      (       a  [        XU	5        MT  [        XU	5      n
U
(       d  Mi  U R                  R                  U5      =n(       d  M  SU	R                   SUR                   3nUSLa  U SU 3n[!        U5      e   g )Nr   r   r   r   r   r   zdef __create_fn__(z):
z	
 return __create_fn__r   FzCannot overwrite attribute z
 in class Tr   r   )r   r   r   keyslenr   execr   zipr   r   r   getsetattr_set_new_attributer   	TypeError)r!   rK   fns_src
local_varsreturn_namestxtnsfnsr1   fnalready_exists	msg_extra	error_msgs                r   add_fns_to_class_FuncBuilder.add_fns_to_class  sr   ))DHH% XXdkk..01
 tzz?aLsxx

34B7L #:,d7):l^TS,,#!0DKK0 DJJ,HD!$!1!1 2!BKK=ABO&&**4772&!3Cr!B ">D4I4I4M4Md4S'Sy'S#>r{{m L--0\\N"<I$,'0k9+$>	#I.. -r   )r   r   r   r   r   r   )	r   r   r   r   r3   r
   r   r   r   r   r   r   r   r     s!    % 267$tB./r   r   c                 @    U (       a  SU SU< SU S3$ SU SU SU 3$ )Nz,  __dataclass_builtins_object__.__setattr__(r   r`     r   =r   )rp   r1   value	self_names       r   _field_assignr     s?     =i[$QRSXRYYZ[[	{!D65'**r   c                 X   SU R                    S3nU R                  [        LaR  U R                  (       a-  U R                  X%'   U SU R                    SU R                    3nOU R                  X%'   U S3nOU R                  (       aN  U R                  [        L a  U R                   nOZU R                  [        La  U R                  X%'   U R                   nO,U(       a$  U R                  [        La  U R                  X%'   UnOg U R
                  [        L a  g [        XR                   WU5      $ )N__dataclass_dflt___z() if z+ is __dataclass_HAS_DEFAULT_FACTORY__ else r   )r1   rQ   r
   rS   rP   rW   r:   r   )r   rp   r   r   rr   default_namer   s          r   _field_initr     s    'qvvhb1L'66 %&$5$5G!$~ &66( #VVH&E$ %&$5$5G!#nB'E 66yyG#')()		% '1()		%$
 
 	}}& 	::r   c                    U R                   [        L a  U R                  [        L a  SnO9U R                   [        La  SU R                   S3nOU R                  [        La  SnU R                   SU R                   SW 3$ )Nr   z=__dataclass_dflt_r   z"=__dataclass_HAS_DEFAULT_FACTORY__z:__dataclass_type_)rP   r
   rQ   r1   )r   rP   s     r   _init_paramr   O  sw    
 	yyG 1 1W < 	
'	! 'qvvhb1	
		'	)6ffX'xr';;r   c           	      2   S nU Hn  n	U	R                   (       d  M  U	R                  [        L a  U	R                  [        L d  U	nM@  U(       d  MI  [	        SU	R
                  < SUR
                  < 35      e   0 U  V	s0 s H  n	SU	R
                   S3U	R                  _M      sn	E[        [        S.En
/ nU  H*  n	[        XXU5      nU(       d  M  UR                  U5        M,     U(       a7  SR                  S U  5       5      nUR                  SU S	[         S
U S35        U(       d  S/nU V	s/ s H  n	[        U	5      PM     nn	U(       a$  US/-  nX V	s/ s H  n	[        U	5      PM     sn	-  nUR                  SU/U-   UU
S S9  g s  sn	f s  sn	f s  sn	f )Nznon-default argument z follows default argument __dataclass_type_r   )!__dataclass_HAS_DEFAULT_FACTORY____dataclass_builtins_object__r   c              3   d   #    U  H&  nUR                   [        L d  M  UR                  v   M(     g 7fr/   )rW   r:   r1   r~   s     r   r   _init_fn.<locals>.<genexpr>  s(      Bf!".!@ %afffs   00r   r   r   r`   z  pass*r3   )r   r   )rS   rP   r
   rQ   r   r1   rA   _HAS_DEFAULT_FACTORYobjectr   r   r   _POST_INIT_NAMEr   r   )r   
std_fieldskw_only_fieldsrp   has_post_initr   func_builderrr   seen_defaultr   r   
body_linesline
params_str_init_paramss                  r   _init_fnr   b  s    L666II(Q->->'-I "7z B<<H<M<M;P!R S S HA$QVVHB/7H 6J28F J1f? 4d#  XX Bf B B
Byk?*;1ZLJK Z
,67JqKNJL7 	@AQ@@
"l2"%$(	  *? I0 8 As   <%F
0FFc                     U [         S.nSnU(       a!  USSR                  S U 5       5      -   S-   -  nUR                  SSS	U S
3SS4USS9  UR                  SSS	U S
3SS4USS9  g )N)rK   r   ztype(self) is clsz or name in {, c              3   L   #    U  H  n[        UR                  5      v   M     g 7fr/   )rG   r1   r~   s     r   r   '_frozen_get_del_attr.<locals>.<genexpr>  s     0Nv!affvs   "$}__setattr__)r!   r1   r   z  if :z@   raise FrozenInstanceError(f"cannot assign to field {name!r}")z+  super(cls, self).__setattr__(name, value)T)r   r   __delattr__r2   z=   raise FrozenInstanceError(f"cannot delete field {name!r}")z$  super(cls, self).__delattr__(name))r   r   r   )rK   r   r   r   	conditions        r   _frozen_get_del_attrr     s    %8:F#I_tyy0Nv0N'NNQTTT	1 1-\FI  &(,  . ( 1-Y?B  &(,  .r   c                     XR                   L =(       d6    [        U 5      UR                  L =(       a    U R                  UR                   L $ r/   )ClassVarrA   _GenericAlias
__origin__)a_typetypings     r   _is_classvarr     sA     oo% :V 4 44 9%%8;r   c                 X    XR                   L =(       d    [        U 5      UR                   L $ r/   )r   rA   r   dataclassess     r   _is_initvarr     s,     ))) 3F|{2224r   c                     XR                   L $ r/   )r	   r   s     r   _is_kw_onlyr     s    ((((r   c                 D   [         R                  U 5      nU(       Ga  S nUR                  S5      nU(       d4  [        R                  R                  UR                  5      R                  nO[        R                  R                  UR                  5      nU(       aQ  UR                  R                  U5      UL a3  [        R                  R                  UR                  5      R                  nU(       a-  U" UR                  UR                  S5      5      U5      (       a  gg)N      TF)_MODULE_IDENTIFIER_REmatchgroupsysmodulesr   r   __dict__)	
annotationrK   a_moduler   is_type_predicater   r   module_namemodules	            r   _is_typer    s    R "''
3Ekk!n 099B [[__S^^4F&//--k:hF[[__V%6%67@@#BFF5;;q>$:HEEr   c                 &   [        X[        5      n[        U[        5      (       a  UnO.[        U[        R
                  5      (       a  [        n[        US9nXl        X%l        [        Ul
        [        R                  R                  S5      nU(       ae  [        X&5      (       dJ  [        UR                  [        5      (       a6  [!        UR                  XUR"                  [        5      (       a  [$        Ul
        UR                  [        L a|  [        R                  [&           n[)        X'5      (       dJ  [        UR                  [        5      (       a6  [!        UR                  XUR*                  [(        5      (       a  [,        Ul
        UR                  [$        [,        4;   a,  UR.                  [        La  [1        SUR                   S35      eUR                  [        [,        4;   a  UR2                  [        L a  X5l        O,UR2                  [        La  [1        SUR                   S35      eUR                  [        L aP  UR4                  R6                  R8                  c/  [;        S[        UR4                  5       SUR                   S35      eU$ )	N)rP   r   field z cannot have a default factoryz$ is a ClassVar but specifies kw_onlyzmutable default z for field z$ is not allowed: use default_factory)rd   r
   rF   r   rZ   MemberDescriptorTyper   r1   rA   r8   rW   r   r   r   r   strr  r   r9   r   r   r   r:   rQ   r   rV   rP   	__class____hash__rz   )rK   a_namer   default_kw_onlyrP   r   r   r   s           r   
_get_fieldr     s    c7+G'5!!gu99::G'" FF
 AM  [[__X&F((1663''QVVS&//)+ ++AM 	}} kk(+,,1663''QVVS{7J7J(* **AM 	}}.99G+fQVVH -. . / / 	}}00 99'I 99G#fQVVH -& & ' ' 	}}199#6#6#?#?#G+DO+<KFF8#GI J 	J Hr   c                 <    XR                   ;   a  g[        XU5        g)NTF)r  r   )rK   r1   r   s      r   r   r   a  s     ||Cur   c                     S U l         g r/   )r  rK   r   r   s      r   _hash_set_noner  o  s    
 CLr   c                     U Vs/ s H8  o3R                   c  UR                  (       d  M"  OUR                   (       d  M6  UPM:     nn[        SU5      nUR                  SSSU S3/SS9  g s  snf )Nr!   r  r    z  return hash(r`   T)r   )rR   rT   r   r   )rK   r   r   r   flds
self_tuples         r   	_hash_addr  v  sh    Kv!vv~!))A)166AvDKFD)J
!)*Q78*.  0 Ls   !A*A*A*c                 2    [        SU R                   35      e)Nz-Cannot overwrite attribute __hash__ in class )r   r   r  s      r   _hash_exceptionr  ~  s"    
   #~/ 0 0r   )FFFF)FFFT)FFTF)FFTT)FTFF)FTFT)FTTF)FTTT)TFFF)TFFT)TFTF)TFTT)TTFF)TTFT)TTTF)TTTTc                    0 nU R                   [        R                  ;   a(  [        R                  U R                      R                  nO0 n[	        U [
        [        XX4XVXxX5
      5        SnS nSnU R                  SSS2    Hv  n[        U[        S 5      nUc  M  SnUR                  5        H  nUUUR                  '   M     Uc  Sn[        U[
        5      R                  nU=(       a    UnU=(       d    UnMx     [        R                  " U 5      n/ nSn[        R                  [           nUR!                  5        H  u  nn[#        UU5      (       d7  [%        U[&        5      (       a>  [)        UU UUR*                  ["        5      (       a  U(       a  [-        U< S35      eSnSnMj  UR/                  [1        U UUU5      5        M     U H  nUUUR                  '   [%        [        U UR                  S 5      [2        5      (       d  M>  UR4                  [6        L a  [9        U UR                  5        Mi  [	        U UR                  UR4                  5        M     U R                  R!                  5        H2  u  nn[%        U[2        5      (       d  M  UU;  d  M%  [-        U< S35      e   U(       a0  U(       a  U(       d  [-        S5      eUSL a  U(       a  [-        S5      e[	        U [        U5        U R                  R;                  S	[6        5      nU[6        L =(       d    US L =(       a    S
U R                  ;   (       + nU(       a  U(       d  [=        S5      eUR                  5        Vs/ s H!  nUR>                  [@        [B        4;   d  M  UPM#     nn[E        U5      u  nn[G        U5      n U(       a*  [I        U [J        5      n![M        UUUUU!SU;   a  SOSU U	5        [O        U S[P        5        UR                  5        Vs/ s H  nUR>                  [@        L d  M  UPM     n"nU(       a  U" Vs/ s H  nURR                  (       d  M  UPM     n#nU RU                  SSSSRW                  U# Vs/ s H  nUR                   SUR                   S3PM!     sn5      -   S-   /S[X        0SS9  U(       aj  S U" 5       n$U$ V%s/ s H  n%SU%R                   SU%R                   3PM!     n&n%SRW                  U&5      =(       d    Sn'U RU                  S
SSS S!S"U' 3S#/5        U(       ae  U" Vs/ s H  nURZ                  (       d  M  UPM     n#n[]        SU#5      n([]        S$U#5      n)S% H"  u  nn*U RU                  USS!S"U( U* U) 3S#/S&S'9  M$     U(       a  [_        U U"U 5        [`        [c        U5      [c        U5      [c        U5      U4   n+U+(       a  U+" U U"U 5      U l2        U Rg                  U 5        [        U S(5      (       dD   ['        [        Rh                  " U 5      5      Rk                  S)S*5      n,U R                  U,-   U l6        U(       a  [O        U S+[o        S, U 5       5      5        U
(       a  U	(       d  [-        S-5      eU	(       a  [q        XU
5      n [r        Rt                  " U 5        U $ s  snf s  snf s  snf s  snf s  sn%f s  snf ! [,        [<        4 a    S*n, Nf = f).NFr   Tz3 is KW_ONLY, but KW_ONLY has already been specifiedz& is a field but has no type annotationz5cannot inherit non-frozen dataclass from a frozen onez5cannot inherit frozen dataclass from a non-frozen oner  __eq__z eq must be true if order is truer!   __dataclass_self____replace__r"   r    z)  return f"{self.__class__.__qualname__}(r   z={self.z!r}z)"__dataclasses_recursive_reprz@__dataclasses_recursive_repr())r   r   c              3   J   #    U  H  oR                   (       d  M  Uv   M     g 7fr/   )rT   )r   r   s     r   r   !_process_class.<locals>.<genexpr>W  s     E}}ees   #	#zself.z==other.z and True)r!   otherz  if self is other:z   return Truez'  if other.__class__ is self.__class__:z
   return z  return NotImplementedr$  ))__lt__<)__le__z<=)__gt__>)__ge__z>=z'Consider using functools.total_ordering)r   __doc__z -> Noner   __match_args__c              3   8   #    U  H  oR                   v   M     g 7fr/   r0   r~   s     r   r   r"    s      AA   z'weakref_slot is True but slots is False);r   r   r   r  r   _PARAMSrk   __mro__rd   _FIELDSvaluesr1   rp   inspectget_annotationsr   itemsr   rF   r  r  r	   r   r   r  r   rP   r
   delattrr   rz   rW   r8   r:   r   r   hasattrr   r   r   _replacerG   r   r   r   rT   r   r   _hash_actionboolr  r   	signaturer   r+  r   
_add_slotsabcupdate_abstractmethods)-rK   rS   rG   rm   rn   ro   rp   rq   rV   rr   rs   r   r   any_frozen_baseall_frozen_baseshas_dataclass_basesbbase_fieldsr   current_frozencls_annotations
cls_fieldsKW_ONLY_seenr   r1   rA   r   
class_hashhas_explicit_hashall_init_fieldsstd_init_fieldskw_only_init_fieldsr   r   
field_listr  
cmp_fieldsr   termsfield_comparisonsr  other_tupleophash_actiontext_sigs-                                                r   _process_classrU    s    F
~~$++cnn-66 C*4r+6+5+0@ A O [[Ab! a$/""& '')!"qvv *'#' $Q077N/BN-?O ". --c2O
 JL++h'K%++-
dk**4%%T3[5H5H(* * 4( += != > >LG jdD'BC ." qvv gc16640%88yyG# QVV$QVVQYY/# ( ||))+eeU##DO,Cth&LMNN ,
 6 ) * * u$ - . .
 C&! !!*g6J'72 O(D0MX5MP
 R;<<
 #)--/ E/Q--FN+CC /O E 2/B_(L_5 $ *06)9%	 sM84 $]]_H_0G!_JH%0:a:0J%H!YY15(715A ,-66((166($(G15(7 88:>? @ %CN#S&G 	 	I 
 FE
GQRze5HUZZL9zR#LL/96H-3.G)*;)<=7	9	: %3:a:3-
 $/HD" -G)*bT+G79 -V   W  S*l; tK0#Bx#F|0 1 2K "3
LA
 !!#&3	""	 7,,S12:::rJH ||h.3 0  A AA	C EABBl3s#JgE: I 1(7 S 4R :& 	H	sN   (Z%
Z%?Z*Z*-Z/Z/+&Z4<&Z9$Z>=Z>:/[ [[c                 j    [        U 5       Vs/ s H  n[        XR                  5      PM     sn$ s  snf r/   )r   rd   r1   )r!   r   s     r   _dataclass_getstaterW    s'    +1$<8<aGD&&!<888s   0c                     [        [        U 5      U5       H%  u  p#[        R                  XR                  U5        M'     g r/   )r   r   r   r   r1   )r!   stater   r   s       r   _dataclass_setstaterZ    s-    F4L%04U3 1r   c              #     #    U R                   R                  S5      =cR    / n[        U SS5      S:w  a  UR                  S5        [        U SS5      S:w  a  UR                  S5        U S h  vN   g =[        S`=b	  u  n  Uv   g   n[        US	5      (       d  U S h  vN   g  [        S
U R                   S35      e NQ N!7f)NrN   __weakrefoffset__r  r   __weakref____dictoffset__r  r   __next__z
Slots of 'z' cannot be determined)r  r   rd   r   r  r7  r   r   )rK   rr   slotiterables       r   
_get_slotsrb    s     
,,

;
'
 Es/49]+s,b1Q6Z(SYYJ  WXz::j6LMNN   s$   A*C,B>-1CC  C Cc           
         SU R                   ;   a  [        U R                   S35      e[        U R                   5      n[	        S [        U 5       5       5      n[        [        R                  R                  [        [        U R                  SS 5      5      5      n[	        [        R                  " UR                  [        R                  " XB(       a  SOS5      5      5      US'   U H  nUR                  US 5        M     UR                  SS 5        UR                  S	S 5        [!        U S
S 5      n[#        U 5      " U R                  U R$                  U5      n Ub  Xpl        U(       a"  SU;  a  [(        U l        SU;  a  [,        U l        U $ )NrN   z already specifies __slots__c              3   8   #    U  H  oR                   v   M     g 7fr/   r0   r~   s     r   r   _add_slots.<locals>.<genexpr>  s     41r.  r   r  )r]  r   r  r]  r   __getstate____setstate__)r  r   r   dictr   r   set	itertoolschainfrom_iterablemaprb  r0  filterfalse__contains__poprd   rA   	__bases__r   rW  rf  rZ  rg  )rK   	is_frozenrs   cls_dictfield_namesinherited_slots
field_namequalnames           r   r<  r<    sS   
 cll"3<<.(DEFF CLL!H4s44K%%c*ckk!B6G&HIO
 "((OO -2	
	H[ "
 	Z& " LLT" LL% sND1H
s)CLL#--
:C#)2C)2CJr   Frl   c      
   
      N   ^^^^^^^^^	^
 UUUUUUUU	UU
4
S jnU c  U$ U" U 5      $ )Nc                 .   >
 [        U TTTTT	TTTTT
5      $ r/   )rU  )rK   rm   rp   rS   rV   rq   rn   rG   rr   ro   rs   s    r   wrapdataclass.<locals>.wrap  s(    c4r5+$j'5*, 	,r   r   )rK   rS   rG   rm   rn   ro   rp   rq   rV   rr   rs   rz  s    `````````` r   r   r     s&    ", , { 9r   c                      [        U [        5      n[	        S UR                  5        5       5      $ ! [         a    [        S5      S ef = f)Nz0must be called with a dataclass type or instancec              3   N   #    U  H  oR                   [        L d  M  Uv   M     g 7fr/   )rW   r8   r~   s     r   r   fields.<locals>.<genexpr>+  s     GOq}}/FOs   %	%)rd   r1  AttributeErrorr   r   r2  )class_or_instancer   s     r   r   r     sP    V*G4 GFMMOGGG  VJKQUUVs	   2 A	c                 4    [        [        U 5      [        5      $ r/   )r7  rA   r1  )objs    r   _is_dataclass_instancer  .  s    49g&&r   c                 f    [        U [        5      (       a  U O
[        U 5      n[        U[        5      $ r/   )rF   rA   r7  r1  )r  rK   s     r   r   r   3  s(     C&&#DIC3  r   )dict_factoryc                N    [        U 5      (       d  [        S5      e[        X5      $ )Nz0asdict() should be called on dataclass instances)r  r   _asdict_inner)r  r  s     r   r   r   :  s&    & "#&&JKK++r   c                 D  ^ [        U 5      nU[        ;   a  U $ [        U[        5      (       a  T[        L aH  [        U 5       Vs0 s H1  nUR                  [        [        XR                  5      [        5      _M3     sn$ T" [        U 5       Vs/ s H.  nUR                  [        [        XR                  5      T5      4PM0     sn5      $ U[        L a  U  Vs/ s H  n[        UT5      PM     sn$ U[        L a:  U R                  5        VVs0 s H  u  pT[        UT5      [        UT5      _M     snn$ U[        L a&  [        U  Vs/ s H  n[        UT5      PM     sn5      $ [        U[        5      (       aC  [        U S5      (       a   U" U  Vs/ s H  n[        UT5      PM     sn6 $ U" U4S jU  5       5      $ [        U[        5      (       aw  [        US5      (       aF  U" U R                  5      nU R                  5        H  u  pT[        UT5      U[        UT5      '   M      U$ U" U4S jU R                  5        5       5      $ [        U[        5      (       a  U" U4S jU  5       5      $ [        R                  " U 5      $ s  snf s  snf s  snf s  snnf s  snf s  snf )N_fieldsc              3   <   >#    U  H  n[        UT5      v   M     g 7fr/   r  r   vr  s     r   r    _asdict_inner.<locals>.<genexpr>  s     HCqM!\::C   rQ   c              3   X   >#    U  H  u  p[        UT5      [        UT5      4v   M!     g 7fr/   r  )r   kr  r  s      r   r   r    s0      1$/DA 'q,7&q,79$/   '*c              3   <   >#    U  H  n[        UT5      v   M     g 7fr/   r  r  s     r   r   r    s     D1a66r  )rA   _ATOMIC_TYPESr7  r1  rh  r   r1   r  rd   listr5  r   
issubclassrQ   copydeepcopy)r  r  obj_typer   r  r  results    `     r   r  r  R  sf   CyH= 
	7	#	#4  $A gc66&:DAA$ 
  !$A wsFF';\JK$!  
 
T	8;<1a.<<	T	 		
# !\*M!\,JJ#
 	
 
U	cBcmA|4cBCC	He	$	$3	""& cJcmA|<cJKKHCHHH	Hd	#	#8.// c112F		9Fq,9W}Q56 $M 1$'IIK1 1 	1 
Hd	#	# DDDD}}S!!u
! =

 C* Ks$   8J5JJ#JJJ)tuple_factoryc                N    [        U 5      (       d  [        S5      e[        X5      $ )Nz1astuple() should be called on dataclass instances)r  r   _astuple_inner)r  r  s     r   r   r     s&    & "#&&KLL#--r   c                 D  ^ [        U 5      [        ;   a  U $ [        U 5      (       a?  T" [        U 5       Vs/ s H"  n[	        [        XR                  5      T5      PM$     sn5      $ [        U [        5      (       a:  [        U S5      (       a)  [        U 5      " U  Vs/ s H  n[	        UT5      PM     sn6 $ [        U [        [        45      (       a  [        U 5      " U4S jU  5       5      $ [        U [        5      (       a  [        U 5      n[        US5      (       aF  U" [        U S5      5      nU R                  5        H  u  pc[	        UT5      U[	        UT5      '   M      U$ U" U4S jU R                  5        5       5      $ [        R                  " U 5      $ s  snf s  snf )Nr  c              3   <   >#    U  H  n[        UT5      v   M     g 7fr/   r  )r   r  r  s     r   r   !_astuple_inner.<locals>.<genexpr>  s     G3a=993r  rQ   c              3   X   >#    U  H  u  p[        UT5      [        UT5      4v   M!     g 7fr/   r  )r   r  r  r  s      r   r   r    s-      3&1da (=9>!];[\&1r  )rA   r  r  r   r  rd   r1   rF   r   r7  r  rh  r5  r  r  )r  r  r   r  r  r  r  s    `     r   r  r    sh   CyM!
		$	$C[
  73/? 
  	 
C		GC$;$; CySIS>!];SIJJ	C$	'	' CyG3GGG	C		98.// gc+<=>F		;I!];[~a78 $M 3&)iik3 3 	3 }}S!!;
 Js   )FFr   )bases	namespacerS   rG   rm   rn   ro   rp   rq   rV   rr   rs   r  c                v  ^^^ Tc  0 m[        5       n0 m0 mU H  n[        U[        5      (       a  UnSnO?[        U5      S:X  a  Uu  nnO*[        U5      S:X  a  Uu  nnnUTU'   O[	        SU< 35      e[        U[        5      (       a  UR                  5       (       d  [	        SU< 35      e[        R                  " U5      (       a  [	        SU< 35      eUU;   a  [	        SU< 35      eUR                  U5        UTU'   M     UUU4S jn[        R                  " X0 U5      nUc    [        R                  " S	5      =(       d    S
nUb  UUl        ['        UXEXgXXUUS9$ ! [         aK     [        R                  " S	5      R                  R!                  SS
5      n NV! [        ["        4 a      Nif = ff = f)Nz
typing.Anyr      zInvalid field: z'Field names must be valid identifiers: z"Field names must not be keywords: zField name duplicated: c                 T   > U R                  T5        U R                  T5        TU S'   g )N__annotations__)r   )r   annotationsdefaultsr  s    r   exec_body_callback*make_dataclass.<locals>.exec_body_callback  s&    
		)
		( +r   r   __main__r   rl   )ri  rF   r  r   r   isidentifierkeyword	iskeywordaddrZ   	new_classr   _getframemodulenamer  	_getframe	f_globalsr   rz   r   r   )cls_namer   r  r  rS   rG   rm   rn   ro   rp   rq   rV   rr   rs   r  seenitemr1   tpspecr  rK   r  r  s      `                  @@r   r   r     s   < 	 5DKHdC  DBY!^ID"Y!^!ND"d!HTNodX677$$$D,=,=,?,?EdXNOOT""@IJJ4<5dX>??D) ., //(2/A
BC ~	,,Q/=:F  St2!, *5".0 0  	q)3377
JO"J/ 	s*   +E# #
F8.0F  F40F83F44F8c                P    [        U 5      (       d  [        S5      e[        U 40 UD6$ )Nz1replace() should be called on dataclass instances)r  r   r8  )r  changess     r   r   r   ,  s+     "#&&KLLC#7##r   c                   [        U [        5      R                  5        H  nUR                  [        L a  M  UR
                  (       d+  UR                  U;   a  [        SUR                   S35      eMT  UR                  U;  d  Mf  UR                  [        L a-  UR                  [        L a  [        SUR                  < S35      e[        XR                  5      XR                  '   M     U R                  " S0 UD6$ )Nr	  zC is declared with init=False, it cannot be specified with replace()zInitVar z! must be specified with replace()r   )rd   r1  r2  rW   r9   rS   r1   r   r:   rP   r
   r  )r!   r  r   s      r   r8  r8  ?  s     T7#**,==O+vvvv & 1, !- . . 66 }}.1993G(166* 5C !D E E%dFF3GFFO# -0 >>$G$$r   r/   )Wrer   r  rZ   r3  r  rj  r=  reprlibr   __all__r  r   r   r   r%   r
   r)   r	   r[   rY   r,   r8   r9   r:   r1  r/  r   compiler   	frozensetNoneTyper:  intfloatr  complexbytesEllipsisTypeNotImplementedTypeCodeTypeBuiltinFunctionTypeFunctionTyperA   rangepropertyr  r   r   rk   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r  r  r  r9  rU  rW  rZ  rb  r<  r   r   r  r   rh  r   r  r   r   r  r   r   r8  r   r   r   <module>r     s(   	 
      
 "| 0. /
  23 	 	
/	 	
/ ((, 
 
X	/0-. ! ! "
 

#AB  	NN					NN			% , 6=8 =8@' 'Z gDtTD'$0	FX/ X/v	+9;x<&7*t..;4)8v_B00,d ,d,d -d -n	
 -d -i -d -i -o -i -o -i -o -i -o*}H94O.4n4dt5$5u>H$'
! !% ,0A"H #( .0!"H /1DtUD%u %dW0t$&%r   