
    iT
                        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
  SSKJrJrJr  SSK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 the stdlib json.    )	b85decode	b85encode)Set)datedatetime)dumpsloads)AnyTypeVarUnion   )Counter)BaseConverter	Converteridentity)is_literal_containing_enums)configure_union_passthrough   )is_primitive_enum'literals_with_enums_unstructure_factorywrap)JsonConverterconfigure_convertermake_converterTc            	       \    \ rS rSrSS\S\S\S\4S jjrS\\\4   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       R/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/cattrs/preconf/json.pyr   JsonConverter.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	   JsonConverter.loads   s    ~~eD3F3R88r(    r,   )__name__
__module____qualname____firstlineno__r
   strr   r   bytestyper   r	   __static_attributes__r/   r(   r&   r   r      sV    U Uc UC UC U9%s
+ 9a 9C 9A 9r(   r   	converterr"   Nc                    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        U R                  [        S 5        [        [        [        [        [        [        S4   U 5        g)	a  
Configure the converter for use with the stdlib json module.

* bytes are serialized as base85 strings
* datetimes are serialized as ISO 8601
* counters are serialized as dicts
* sets are serialized as lists
* string and int enums are passed through when unstructuring
* union passthrough is configured for unions of strings, bools, ints,
  floats and None

.. 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@   0   s
    AKKMr(   c                 .    [         R                  " U 5      $ r,   )r   fromisoformatrB   s     r&   r?   r@   1   s    X=S=STU=Vr(   c                 "    U R                  5       $ r,   rE   r=   s    r&   r?   r@   2   s
    r(   c                 .    [         R                  " U 5      $ r,   )r   rH   rB   s     r&   r?   r@   3   s    9K9KA9Nr(   c                     [         $ r,   r   )rC   s    r&   r?   r@   7   s    Xr(   N)register_unstructure_hookr5   register_structure_hookr   r   !register_unstructure_hook_factoryr   r   r   r   r   r4   boolintfloat)r8   s    r&   r   r      s     ''D %%e-FG''2IJ%%h0VW''.EF%%d,NO//#%L //0ACUVc4eT&A BINr(   argsr!   c                      [         [        [        [        0UR	                  S0 5      EUS'   [        U 0 UD6n[        U5        U$ )Nunstruct_collection_overrides)r   listr   dictgetr   r   )rR   r!   ress      r&   r   r   ;   sO     	T/ **4b
9/F*+
 
(
(CJr(   )#__doc__base64r   r   collections.abcr   r   r   jsonr   r	   typingr
   r   r   _compatr   
convertersr   r   fnsr   literalsr   
strategiesr    r   r   r   __all__r   r   r   r   r/   r(   r&   <module>re      s    3 '  #  & &  1  2 4 N N
DCL9I 9O= OT O< m	# 	 	 	 	r(   