
    i"	                        S r SSKJr  SSKJrJrJrJr  SSKJrJ	r	J
r
  SSKJrJr  SSKJrJr  SSKJr  SS	KJr  SS
KJr  SSKJrJrJr  / SQr\	" S5      r " S S\5      rS\SS4S jr\" \5      S\S\S\4S j5       rg)z%Preconfigured converters for msgpack.    )Set)datedatetimetimetimezone)AnyTypeVarUnion)dumpsloads   )BaseConverter	Converteridentity)is_literal_containing_enums)configure_union_passthrough   )is_primitive_enum'literals_with_enums_unstructure_factorywrap)MsgpackConverterconfigure_convertermake_converterTc            	       R    \ rS rSrSS\S\S\S\4S jjrS\S	\\   S\S\4S
 jr	Sr
g)r      Nobjunstructure_askwargsreturnc                 4    [        U R                  XS940 UD6$ )N)r   )r   unstructure)selfr   r   r    s       U/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/cattrs/preconf/msgpack.pyr   MsgpackConverter.dumps   s     T%%c%ITVTT    dataclc                 :    U R                  [        U40 UD6U5      $ N)	structurer   )r$   r(   r)   r    s       r%   r   MsgpackConverter.loads   s    ~~eD3F3R88r'    r+   )__name__
__module____qualname____firstlineno__r   bytesr   typer   r   __static_attributes__r.   r'   r%   r   r      sM    U Uc UC UE U9% 9T!W 9 9 9r'   r   	converterr!   Nc           	      x   U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        U R                  [        S 5        U R	                  [
        S 5        U R	                  [        [        5        [        [        [        [        [        [        S[        4   U 5        g)a'  
Configure the converter for use with the msgpack library.

* datetimes are serialized as timestamp floats
* sets are serialized as lists
* string and int enums are passed through when unstructuring

.. versionchanged:: 24.2.0
    Enums are left to the library to unstructure, speeding them up.
c                 "    U R                  5       $ r+   )	timestampvs    r%   <lambda>%configure_converter.<locals>.<lambda>'   s
    AKKMr'   c                 L    [         R                  " U [        R                  5      $ r+   )r   fromtimestampr   utcr;   _s     r%   r<   r=   )   s    x55aFr'   c                 v    [         R                  " U [        [        R                  S95      R                  5       $ )N)tzinfo)r   combiner   r   r@   r9   r:   s    r%   r<   r=   ,   s#    ((D,EFPPRr'   c                 h    [         R                  " U [        R                  5      R	                  5       $ r+   )r   r?   r   r@   r   rA   s     r%   r<   r=   /   s    811!X\\BGGIr'   c                     [         $ r+   r   )ts    r%   r<   r=   1   s    Xr'   N)register_unstructure_hookr   register_structure_hookr   !register_unstructure_hook_factoryr   r   r   r   r
   strboolintfloatr3   )r6   s    r%   r   r      s     ''2IJ%%F ''R %%I //0ACUV//#%L  c4eT5&H I9Ur'   argsr    c                  t    [         [        0UR                  S0 5      EUS'   [        U 0 UD6n[	        U5        U$ )Nunstruct_collection_overrides)r   listgetr   r   )rP   r    ress      r%   r   r   8   sH     	T/
**4b
9/F*+ D
+F
+CJr'   ) __doc__collections.abcr   r   r   r   r   typingr   r	   r
   msgpackr   r   
convertersr   r   fnsr   literalsr   
strategiesr    r   r   r   __all__r   r   r   r   r.   r'   r%   <module>r`      s    +  3 3 & &   1  2 4 N N
GCL9y 9V= VT V8 #  1A  r'   