o
    h	                     @  s   d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZ d dlmZ ddlmZ e
s8eZG d	d
 d
eeZededddddejdd%ddZed edddddejdd&d#d$ZdS )'    )annotationsN)Enum)Path)TYPE_CHECKINGAnyCallable)
deprecated   )PydanticDeprecatedSince20c                   @  s   e Zd ZdZdZdS )ProtocoljsonpickleN)__name__
__module____qualname__r   r    r   r   O/var/www/html/ai/venv/lib/python3.10/site-packages/pydantic/deprecated/parse.pyr      s    r   load_str_bytes is deprecated.)categoryutf8F)content_typeencodingprotoallow_pickle
json_loadsbstr | bytesr   
str | Noner   strr   Protocol | Noner   boolr   Callable[[str], Any]returnr   c                C  s   t jdtdd |d u r&|r&|drn|r|drtj}ntd| |p*tj}|tjkr>t| t	r:| 
|} || S |tjkrY|sItdt| t	rP| n|  }t|S td| )	Nr   r	   
stacklevel)r   
javascriptr   zUnknown content-type: z4Trying to decode with pickle with allow_pickle=FalsezUnknown protocol: )warningswarnDeprecationWarningendswithr   r   	TypeErrorr   
isinstancebytesdecodeRuntimeErrorencodeloads)r   r   r   r   r   r   bbr   r   r   load_str_bytes   s$   







r2   load_file is deprecated.path
str | Pathc                C  s^   t jdtdd t| } |  }|d u r%| jdv rtj}n| jdkr%tj}t	||||||dS )Nr3   r	   r#   )z.jsz.jsonz.pkl)r   r   r   r   r   )
r&   r'   r(   r   
read_bytessuffixr   r   r   r2   )r4   r   r   r   r   r   r   r   r   r   	load_file;   s   


r8   )r   r   r   r   r   r   r   r   r   r    r   r!   r"   r   )r4   r5   r   r   r   r   r   r   r   r    r   r!   r"   r   )
__future__r   r   r   r&   enumr   pathlibr   typingr   r   r   typing_extensionsr   r
   r(   r   r   r0   r2   r8   r   r   r   r   <module>   s4    

!