+
    7*i4  c                  s  a  0 t $ R t^ RIHt ^ RIt^ RIHtHtH	t	H
t
 ^ RIHtHtHtHt ^ RIt^ RIHt ^ RIHt ^ RIHt ^RIHt ]'       d\   ]
]]R,          ]3,          ,          tR	]R
&   ]
]]],          ,          ]]]3,          ,          ]]]]3,          ,          ,          tR	]R&    ! R R]4      t ! R R4      tR R ltR# )z:Tools to provide pretty/human-readable display of objects.)annotationsN)Callable
Collection	GeneratorIterable)TYPE_CHECKINGAny
ForwardRefcast)	TypeAlias)typing_objects)is_union_origin)_typing_extrar	   ReprArgsRichReprResultc                  s&    ] tR t^tRtR R ltRtR# )	PlainReprzString class where repr doesn't include quotes. Useful with Representation when you want to return a string
representation of something that is valid (or pseudo-valid) python.
c                   V ^8  d   QhRR/#    returnstr Zformat   "=/usr/lib/python3.14/site-packages/pydantic/_internal/_repr.py__annotate__ZPlainRepr.__annotate__   s      #     c                	s    \        V 4      # N)r   self   &r   __repr__ZPlainRepr.__repr__   s    4yr   r   N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   r   r   r   r      s     r   r   c                  sz    ] tR t^tRtR R ltR R ltR R ltR R ltR	 R
 lt	R R lt
R R ltR R ltRtR# )Representationc               r   )r   r   r   r   r   r   r   r   Representation.__annotate__'   s     l lx lr   c                sB  a  \        \        \        ,          S P                  4      pV'       g-   \	        S R4      '       d   S P
                  P                  4       pV 3R lV 4       pV UUu. uF%  w  r4Vf   K  Y4S Jd   TMS P                  V4      3NK'  	  upp# u uppi )a  Returns the attributes to show in __str__, __repr__, and __pretty__ this is generally overridden.

Can either return:
* name - value pairs, e.g.: `[('foo_name', 'foo'), ('bar_name', ['b', 'a', 'r'])]`
* or, just values, e.g.: `[(None, 'foo'), (None, ['b', 'a', 'r'])]`
__dict__c              3  s>   <"   T F  q\        SV4      3x  K  	  R # 5ir   )Zgetattr).0Zsr   s   & r   	<genexpr>Z/Representation.__repr_args__.<locals>.<genexpr>1   s     <1WT1%&s   )r   r   r   	__slots__Zhasattrr(   Zkeys__repr_recursion__)r   Zattrs_namesZattrsavs   f    r   __repr_args__ZRepresentation.__repr_args__'   s|     :c?DNN;wtZ88--,,.K<<TYkTYDA]^G$AD,C,CA,FGTYkkks   ,B9Bc               r   r   r   r   r   r   r   r'   4   s     ' 's 'r   c                s.    V P                   P                  # )z/Name of the instance's class, used in __repr__.)	__class__r    r   r   r   __repr_name__ZRepresentation.__repr_name__4   s    ~~&&&r   c                    V ^8  d   QhRRRR/# )r   objectr   r   r   r   r   r   r   r   r'   8   s     N N N Nr   c                sL    R\        V4      P                   R\        V4       R2# )z8Returns the string representation of a recursive object.z<Recursion on z	 with id=Z>)typer    Zid)r   r3      &&r   r,   Z!Representation.__repr_recursion__8   s(      V 5 56i6
|1MMr   c               s     V ^8  d   QhRRRR/# )r   join_strr   r   r   r   r   r   r   r'   =   s     f fS fS fr   c                	sN    VP                  R  V P                  4        4       4      # )c              3  sT   "   T F  w  rVf   \        V4      MV RV: 2x  K   	  R # 5i)N=)repr)r)   r-   r.      &  r   r*   Z.Representation.__repr_str__.<locals>.<genexpr>>   s+     ePd	T!W!AaU|CPds   &()joinr/   )r   r6   r5   r   __repr_str__ZRepresentation.__repr_str__=   s!    }}ePTPbPbPdeeer   c               s$    V ^8  d   QhRRRRRR/# )r   fmtzCallable[[Any], Any]kwargsr   r   zGenerator[Any]r   r   r   r   r   r'   @   s"      2 c n r   c              +  s   "   V P                  4       R,           x  ^x  V P                  4        F&  w  r4Ve   VR,           x  V! V4      x  Rx  ^ x  K(  	  Rx  Rx  R# 5i)zRUsed by devtools (https://python-devtools.helpmanual.io/) to pretty print objects.(Nr7   Z,)i)r1   r/   )r   r<   r=   nameZvalues   &&,  r   
__pretty__ZRepresentation.__pretty__@   sc       "S((--/KDSj e*IG 0 	s   A"A$c               r   )r   r   r   r   r   r   r   r   r'   M   s     ' '~ 'r   c              #  s^   "   V P                  4        F  w  rVf   Vx  K  W3x  K  	  R# 5i)zYUsed by Rich (https://rich.readthedocs.io/en/stable/pretty.html) to pretty print objects.N)r/   )r   r@   Z
field_reprr9   r   __rich_repr__ZRepresentation.__rich_repr__M   s/      $ 2 2 4D|  &&	 !5s   +-c               r   r   r   r   r   r   r   r'   U   s     & & &r   c                	s$    V P                  R 4      # )Z )r;   r   r   r   __str__ZRepresentation.__str__U   s      %%r   c               r   r   r   r   r   r   r   r'   X   s     D D# Dr   c                	sL    V P                  4        R V P                  R4       R2# )r>   , r?   )r1   r;   r   r   r   r   ZRepresentation.__repr__X   s+    $$&'q):):4)@(ACCr   r   N)r    r!   r"   r#   r+   r/   r1   r,   r;   rA   rB   rC   r   r%   r   r   r   r&   r&      s;     Il'N
f'&D Dr   r&   c               r2   )r   objr   r   r   r   r   r   r   r   r   \   s      R  R  R  Rr   c                s*   \        V \        P                  \        P                  34      '       d   V P                  # V RJ d   R# \        V \
        4      '       d   \        V 4      # \        V \        4      '       g   \        P                  ! V 4      '       d   \        V 4      # \        V \        P                  \        P                  \        34      '       g   V P                  p \!        \"        P$                  ! V 4      4      '       d:   RP'                  \)        \*        \"        P,                  ! V 4      4      4      pRV R2# \        V \        P                  4      '       d   \        P.                  ! \"        P$                  ! V 4      4      '       d5   RP'                  \)        \        \"        P,                  ! V 4      4      4      pM3RP'                  \)        \*        \"        P,                  ! V 4      4      4      p V P0                   RV R2# \        V \        4      '       d   V P0                  # \        V 4      P5                  RR4      P5                  R	R4      #   \2         d/    \        T 4      P5                  RR4      P5                  R	R4      u # i ; i)
zPretty representation of a type, should be as close as possible to the original type definition string.

Takes some logic from `typing._type_repr`.
.z...rD   zUnion[Z]Z[ztyping. ztyping_extensions.)Z
isinstancetypesZFunctionTypeZBuiltinFunctionTyper    r&   r8   r   r
   Zis_typealiastyper   r   Ztyping_baseZWithArgsTypesr4   r0   r   typing_extensionsZ
get_originr:   Zmapdisplay_as_typeZget_argsZ
is_literalr"   ZAttributeErrorZreplace)rE   Zargss   & r   rI   rI   \   s   
 #**E,E,EFGG||		C	(	(Cy	C	$	$(G(G(L(L3xcM55}7R7RTXYZZmm(33C899yy_.?.H.H.MNOvQ	C44	5	5$$%6%A%A#%FGG99S'8'A'A#'FGHD99S2C2L2LS2QRSD	U&&'qa00 
C		Cy  B/778LbQQ  	Us8##Ir2::;OQSTT	Us   :I 6JJ) __conditional_annotations__r$   Z
__future__r    Z_annotationsrG   Zcollections.abcr   r   r   r   Ztypingr   r   r   r   rH   r	   Ztyping_inspectionr
   Ztyping_inspection.introspectionr   rF   r   Ztupler   r   Z__annotations__r   r   r&   rI   )rJ   s   @r   <module>rK      s    @ 2  E E 7 7  ' , ; "5tS#9:Hi: (uSz)9E#s(O)KeTWY\^aTaNb)b cNIc :D :Dz Rr   