
    $hH                       S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKJr  S SKJr   S SKJr  \R&                  " \5      rS rS	S
SS.4S0 4S0 4/rSS jrSS jrSS jrg! \ a     " S S5      r NEf = f)    )annotationsN)Any)_orjson)ZoneInfoc                      \ rS rSrSrSrg)r      zIntroduced in python 3.9. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r	       R/var/www/html/shao/venv/lib/python3.13/site-packages/langsmith/_internal/_serde.pyr   r      s    'r   r   c           
     |    [        U [        R                  5      (       a  U R                  5       $ [        U [        R                  5      (       a  [        U 5      $ [        U [        5      (       a!  [        U 5      R                  [        U 5      S.$ [        U [        [        [        R                  45      (       a  [        U 5      $ [        U [        R                  [        45      (       a  U R!                  S 5      $ [        U [        R"                  5      (       a  U R%                  5       $ [        U [&        R(                  5      (       a4  U R+                  5       R,                  S:  a  [/        U 5      $ [1        U 5      $ [        U [2        R4                  [2        R6                  [2        R8                  [2        R:                  [2        R<                  [2        R>                  [@        RB                  45      (       a  [        U 5      $ [        U [D        RF                  5      (       a  U RH                  $ [        U [J        [L        45      (       a$  [N        RP                  " U 5      RS                  5       $ [        U 5      $ ! [         a.  n[T        RW                  S[        U 5       SU 35         S nAOS nAff = f[        U 5      $ )N)errormessager   Failed to serialize 
 to JSON: ),
isinstancedatetime	isoformatuuidUUIDstrBaseExceptiontyper
   set	frozensetcollectionsdequelisttimezoner   tzname	timedeltatotal_secondsdecimalDecimalas_tupleexponentintfloat	ipaddressIPv4AddressIPv4InterfaceIPv4NetworkIPv6AddressIPv6InterfaceIPv6NetworkpathlibPathrePatternpatternbytes	bytearraybase64	b64encodedecodeloggerdebug)objes     r   _simple_defaultrC      s   'F c8,,--==?"TYY''s8O]++!#Y//CHEEc9k.?.?@AA9h//:;;::d##X//00$$&&W__--||~&&!+3xSz!%%''%%%%''%%
 
 s8ORZZ((;;eY/00##C(//113x F+DI;jDEEFs8OsZ   .I8 )I8 5I8 4I8 5I8 <.I8 +AI8 3
I8 >BI8 *I8 .>I8 -
I8 8
J0$J++J0
model_dumpTjson)exclude_nonemodedictto_dictc                    [        U [        [        45      (       aF  [        U S5      (       a*  [	        U R
                  5      (       a  U R                  5       $ [        U 5      $ [         H  u  p[        X5      (       d  M  [	        [        X5      5      (       d  M2  [        U [        5      (       a  MI   [        X5      nU" S0 UD6n[        U[        5      (       d  [        U5      s  $ Us  $    [!        U 5      $ ! [         a;  n[        R                  SU S[        U 5       S[        U5       35         S nAM  S nAff = f! ["         a9  n[        R                  S[        U 5       SU 35        [        U 5      s S nA$ S nAff = f)N_asdictzFailed to use z to serialize r   r   r	   )r   r   tuplehasattrcallablerK   r#   _serialization_methodsgetattrr   rH   r   	Exceptionr?   r@   reprrC   r   )rA   attrkwargsmethodresponserB   s         r   _serialize_jsonrW   W   sB   cC<((sI&&8CKK+@+@{{}$92LD""WS/00"3--$S/F%//H%h55"8},#O 3$ s## ! LL(nT#YK H""&q',   +DI;jDE3xsr   AE 
E #E  E E 32C9%E (C9)E ,E 9
D>0D93E 9D>>E 
F.E?9F?Fc                t    [         R                  " S[         R                  5      nUR                  SU 5      nU$ )Ns   \\ud[89a-f][0-9a-f]{2}r   )r7   compile
IGNORECASEsub)sr9   results      r   _elide_surrogatesr^   w   s,    jj3R]]CG[[a FMr   c           
     @    [         R                  " U [        [         R                  [         R                  -  [         R
                  -  [         R                  -  S9$ ! [         a  n[        R                  S[        U5       S35        [        R                  " U [        SS9R                  S5      n [         R                  " [         R                  " UR                  SSS95      5      nO%! [         R                   a    [!        U5      n Of = fUs S	nA$ S	nAff = f)
a  Serialize an object to a JSON formatted string.

Parameters
----------
obj : Any
    The object to serialize.
default : Callable[[Any], Any] or None, default=None
    The default function to use for serialization.

Returns:
-------
str
    The JSON formatted string.
)defaultoptionzOrjson serialization failed: z. Falling back to json.T)r`   ensure_asciizutf-8surrogateescape)errorsN)r   dumpsrW   OPT_SERIALIZE_NUMPYOPT_SERIALIZE_DATACLASSOPT_SERIALIZE_UUIDOPT_NON_STR_KEYS	TypeErrorr?   r@   rR   rE   encodeloadsr>   JSONDecodeErrorr^   )rA   rB   r]   s      r   
dumps_jsonrn   }   s    }}#..--.(() &&'
 	
  4T!WI=TUV#
 &/	 	
	/]]fmmG<MmNOF && 	/&v.F	/sC   AA 
D'AD38C,+D,DDDDDD)rA   r   returnr   )r\   r:   ro   r:   )rA   r   ro   r:   )
__future__r   r<   r!   r   r(   r.   rE   loggingr5   r7   r   typingr   langsmith._internalr   zoneinfor   ImportError	getLoggerr
   r?   rC   rO   rW   r^   rn   r	   r   r   <module>rw      s    "         	   '(! 
		8	$)\ 	v. RLO @&U  (( ((s   A5 5BB