
    i	                        S r SSKJrJr  SSKJr  SSKJrJr  SSKJ	r	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\4S jr \" \5      S\	S\	S\4S j5       r!g)z#Preconfigured converters for ujson.    )	b85decode	b85encode)Set)datedatetime)AnyAnyStrTypeVarUnion)dumpsloads   )BaseConverter	Converteridentity)is_literal_containing_enums)configure_union_passthrough   )is_primitive_enum'literals_with_enums_unstructure_factorywrap)UjsonConverter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       S/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/cattrs/preconf/ujson.pyr   UjsonConverter.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   UjsonConverter.loads   s    ~~eD3F3R88r(    r,   )__name__
__module____qualname____firstlineno__r   strr   r	   typer   r   __static_attributes__r/   r(   r&   r   r      sM    U Uc UC UC U9& 9d1g 9 9 9r(   r   	converterc                    U R                  [        S 5        U R                  [        S 5        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)	aF  
Configure the converter for use with the ujson library.

* bytes are serialized as base64 strings
* datetimes are serialized as ISO 8601
* 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                 f    U (       a  [        U 5      R                  S5      $ SR                  S5      $ )Nr(   utf8)r   decodevs    r&   <lambda>%configure_converter.<locals>.<lambda>*   s"    !)A,<<VD<<VDr(   c                     [        U 5      $ r,   )r   r=   _s     r&   r>   r?   ,   s    )A,r(   c                 "    U R                  5       $ r,   	isoformatr<   s    r&   r>   r?   .   s
    AKKMr(   c                 .    [         R                  " U 5      $ r,   )r   fromisoformatrA   s     r&   r>   r?   /   s    X=S=STU=Vr(   c                 "    U R                  5       $ r,   rD   r<   s    r&   r>   r?   0   s
    r(   c                 .    [         R                  " U 5      $ r,   )r   rG   rA   s     r&   r>   r?   1   s    9K9KA9Nr(   c                     [         $ r,   r   )ts    r&   r>   r?   2   s    Xr(   N)register_unstructure_hookbytesregister_structure_hookr   r   !register_unstructure_hook_factoryr   r   r   r   r   r4   boolintfloat)r7   s    r&   r   r      s     ''D %%e-FG''2IJ%%h0VW''.EF%%d,NO//0ACUV//#%L  c4eT&A BINr(   argsr!   r"   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   )rS   r!   ress      r&   r   r   9   sH     	T/
**4b
9/F*+ $
)&
)CJr(   N)"__doc__base64r   r   collections.abcr   r   r   typingr   r	   r
   r   ujsonr   r   
convertersr   r   fnsr   literalsr   
strategiesr    r   r   r   __all__r   r   r   r   r/   r(   r&   <module>rd      s    ) '  # . .  1  2 4 N N
ECL9Y 9O= O8 n#    r(   