o
    {$f                     @  s  d dl mZ d dlmZmZmZmZmZmZm	Z	m
Z
 d dlmZmZ d dlmZ d dlZd dlmZ ddlmZmZ ed	Zed
ejdZejdZerqdbddZdcddZddddZdedd Zdfd!d"Zdgd$d%Z dgd&d'Z!n/erd d(l"mZmZmZm!Z!m Z  d d)l#mZmZ nd d(l$mZmZmZm!Z!m Z  d d)l%mZmZ erd d*lm&Z& nerd d*lm&Z& ndZ&dhd.d/Z'did2d3Z(djd5d6Z)djd7d8Z*dkd:d;Z+dld=d>Z,d?d@dmdBdCZ-ddDdndIdJZ.dd?d?dKdodQdRZ/dpdTdUZ0dqdWdXZ1drdYdZZ2erG d[d\ d\ejZ3nerG d]d\ d\ejZ3nd dl4ZG d^d\ d\ej5j3ejZ3er6e6Z7G d_d` d`ee Z8dS zd dal9m7Z7 W n e:yN   d dal7m7Z7 Y nw e7Z8dS )s    )annotations)TYPE_CHECKINGAnyUnionGenericTypeVarCallablecastoverload)datedatetime)SelfN)	FieldInfo   )IncExStrBytesIntFloat_T_ModelT)boundz2.valuedate | StrBytesIntFloatreturnr   c                 C     d S N r   r   r   D/var/www/html/dev/env/lib/python3.10/site-packages/openai/_compat.py
parse_date      r   !Union[datetime, StrBytesIntFloat]r   c                 C  r   r   r   r   r   r   r   parse_datetime   r   r    t	type[Any]tuple[Any, ...]c                 C  r   r   r   r!   r   r   r   get_args   r   r%   tptype[Any] | Noneboolc                 C  r   r   r   )r&   r   r   r   is_union"   r   r)   c                 C  r   r   r   r$   r   r   r   
get_origin%   r   r*   type_c                 C  r   r   r   r+   r   r   r   is_literal_type(   r   r-   c                 C  r   r   r   r,   r   r   r   is_typeddict+   r   r.   )r%   r)   r*   r.   r-   )r   r    )
ConfigDictmodeltype[_ModelT]objectc                 C  s   t r| |S tt| |S r   )PYDANTIC_V2model_validater	   r   	parse_obj)r0   r   r   r   r   r5   O   s   
r5   fieldr   c                 C  s   t r|  S | jS r   )r3   is_requiredrequiredr6   r   r   r   field_is_requiredV   s   r:   r   c                 C  s,   |   }trddlm} ||krd S |S |S )Nr   )PydanticUndefined)get_defaultr3   pydantic_corer;   )r6   r   r;   r   r   r   field_get_default\   s   r>   c                 C     t r| jS | jS r   )r3   
annotationouter_type_r9   r   r   r   field_outer_typeg      rB   type[pydantic.BaseModel]c                 C  r?   r   )r3   model_config
__config__r0   r   r   r   get_model_configm   rC   rH   dict[str, FieldInfo]c                 C  r?   r   )r3   model_fields
__fields__rG   r   r   r   get_model_fieldss   rC   rL   FdeeprN   c                C     t r| j|dS | j|dS )NrM   )r3   
model_copycopy)r0   rN   r   r   r   rP   y      rP   indentpydantic.BaseModelrT   
int | Nonestrc                C  rO   )NrS   )r3   model_dump_jsonjson)r0   rT   r   r   r   
model_json   rR   rZ   excludeexclude_unsetexclude_defaultsr\   r   r]   r^   dict[str, Any]c                C  s*   t r
| j|||dS td| j|||dS )Nr[   r_   )r3   
model_dumpr	   dict)r0   r\   r]   r^   r   r   r   r`      s   r`   datac                 C     t r| |S | |S r   )r3   r4   r5   r0   rb   r   r   r   model_parse      

re   str | bytesc                 C  rc   r   )r3   model_validate_json	parse_rawrd   r   r   r   model_parse_json   rf   rj   c                 C  s   t r|  S |  S r   )r3   model_json_schemaschemarG   r   r   r   rk      s   rk   c                   @     e Zd ZdS GenericModelN__name__
__module____qualname__r   r   r   r   ro          ro   c                   @  rm   rn   rp   r   r   r   r   ro      rt   c                   @  rm   rn   rp   r   r   r   r   ro      rt   c                   @  sh   e Zd ZU ded< ded< dddZeddddZedd ddZdd!ddZd"ddZd#ddZd	S )$typed_cached_propertyCallable[[Any], _T]funcz
str | Noneattrnamer   Nonec                 C  r   r   r   )selfrw   r   r   r   __init__       ztyped_cached_property.__init__Ninstanceownerr'   r   c                 C  r   r   r   rz   r}   r~   r   r   r   __get__   r   ztyped_cached_property.__get__r2   r   c                 C  r   r   r   r   r   r   r   r      r   	_T | Selfc                 C  s   t  r   )NotImplementedErrorr   r   r   r   r      s   r"   namerW   c                 C  r   r   r   )rz   r~   r   r   r   r   __set_name__   r|   z"typed_cached_property.__set_name__r   c                 C  r   r   r   )rz   r}   r   r   r   r   __set__   r|   ztyped_cached_property.__set__)rw   rv   r   ry   r   )r}   ry   r~   r'   r   r   )r}   r2   r~   r'   r   r   )r}   r2   r~   r'   r   r   )r~   r"   r   rW   r   ry   )r}   r2   r   r   r   ry   )	rq   rr   rs   __annotations__r{   r
   r   r   r   r   r   r   r   ru      s   
 

ru   )cached_property)r   r   r   r   )r   r   r   r   )r!   r"   r   r#   )r&   r'   r   r(   )r!   r"   r   r'   )r+   r"   r   r(   )r0   r1   r   r2   r   r   )r6   r   r   r(   )r6   r   r   r   )r0   rD   r   r   )r0   rD   r   rI   )r0   r   rN   r(   r   r   )r0   rU   rT   rV   r   rW   )
r0   rU   r\   r   r]   r(   r^   r(   r   r_   )r0   r1   rb   r   r   r   )r0   r1   rb   rg   r   r   )r0   r1   r   r_   );
__future__r   typingr   r   r   r   r   r   r	   r
   r   r   typing_extensionsr   pydanticpydantic.fieldsr   _typesr   r   r   	BaseModelr   VERSION
startswithr3   r   r    r%   r)   r*   r-   r.   pydantic.v1.typingpydantic.v1.datetime_parsepydantic.typingpydantic.datetime_parser/   r5   r:   r>   rB   rH   rL   rP   rZ   r`   re   rj   rk   ro   pydantic.genericsgenericspropertyr   ru   	functoolsImportErrorr   r   r   r   <module>   st    (











	



