o
    !i4                     @  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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rsdhddZdiddZdjddZdkdd Zdld!d"Z dmd$d%Z!dmd&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"mZm!Z! erd d+lm&Z& nerdZ&nd d+lm&Z& dnd/d0Z'dod3d4Z(dpd6d7Z)dpd8d9Z*dqd;d<Z+drd>d?Z,d@dAdsdCdDZ-ddEdtdJdKZ.dd@d@dLdMdNdudWdXZ/dvdZd[Z0dwd]d^Z1dxd_d`Z2erG dadb dbejZ3nerd dl4ZG dcdb dbej5j3ejZ3n	G dddb dbejZ3er6e6Z7G dedf dfee Z8dS d dgl9m7Z7 e7Z8dS )y    )annotations)TYPE_CHECKINGAnyUnionGenericTypeVarCallablecastoverload)datedatetime)SelfLiteralN)	FieldInfo   )IncExStrBytesIntFloat_T_ModelT)boundz1.valuedate | StrBytesIntFloatreturnr   c                 C     d S N r   r   r   Z/home/app/PaddleOCR-VL-test/.venv_paddleocr/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!   )r&   r*   r+   r   r/   r!   r.   )
ConfigDictmodeltype[_ModelT]objectc                 C  s   t r
tt| |S | |S r   )PYDANTIC_V1r	   r   	parse_objmodel_validate)r1   r   r   r   r   r5   P   s   
r5   fieldr   c                 C  s   t r| jS |  S r   )r4   requiredZis_requiredr7   r   r   r   field_is_requiredW   s   r:   r   c                 C  s,   |   }tr|S ddlm} ||krd S |S )Nr   )PydanticUndefined)get_defaultr4   Zpydantic_corer;   )r7   r   r;   r   r   r   field_get_default]   s   r=   c                 C     t r| jS | jS r   )r4   Zouter_type_
annotationr9   r   r   r   field_outer_typeh      r@   type[pydantic.BaseModel]c                 C  r>   r   )r4   Z
__config__Zmodel_configr1   r   r   r   get_model_confign   rA   rD   dict[str, FieldInfo]c                 C  r>   r   )r4   Z
__fields__Zmodel_fieldsrC   r   r   r   get_model_fieldst   rA   rF   FdeeprH   c                C     t r| j|dS | j|dS )NrG   )r4   copy
model_copy)r1   rH   r   r   r   rK   z      rK   indentpydantic.BaseModelrN   
int | Nonestrc                C  rI   )NrM   )r4   jsonZmodel_dump_json)r1   rN   r   r   r   
model_json   rL   rS   Tpython)excludeexclude_unsetexclude_defaultswarningsmoderU   IncEx | NonerV   rW   rX   rY   Literal['json', 'python']dict[str, Any]c                C  sD   t rt| dr| j||||t rddS |dS td| j|||dS )N
model_dumpT)rY   rU   rV   rW   rX   r\   )rU   rV   rW   )r4   hasattrr]   r	   dict)r1   rU   rV   rW   rX   rY   r   r   r   r]      s$   	r]   datac                 C     t r| |S | |S r   )r4   r5   r6   r1   r`   r   r   r   model_parse      

rc   str | bytesc                 C  ra   r   )r4   Z	parse_rawZmodel_validate_jsonrb   r   r   r   model_parse_json   rd   rf   c                 C  s   t r|  S |  S r   )r4   Zschemamodel_json_schemarC   r   r   r   rg      s   rg   c                   @     e Zd ZdS GenericModelN__name__
__module____qualname__r   r   r   r   rj          rj   c                   @  rh   ri   rk   r   r   r   r   rj      ro   c                   @  rh   ri   rk   r   r   r   r   rj      ro   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   )selfrr   r   r   r   __init__       ztyped_cached_property.__init__Ninstanceownerr(   r   c                 C  r   r   r   ru   rx   ry   r   r   r   __get__   r   ztyped_cached_property.__get__r3   r   c                 C  r   r   r   rz   r   r   r   r{      r   	_T | Selfc                 C  s   t  r   )NotImplementedErrorrz   r   r   r   r{      s   r#   namerQ   c                 C  r   r   r   )ru   ry   r~   r   r   r   __set_name__   rw   z"typed_cached_property.__set_name__r   c                 C  r   r   r   )ru   rx   r   r   r   r   __set__   rw   ztyped_cached_property.__set__)rr   rq   r   rt   r   )rx   rt   ry   r(   r   r   )rx   r3   ry   r(   r   r   )rx   r3   ry   r(   r   r|   )ry   r#   r~   rQ   r   rt   )rx   r3   r   r   r   rt   )	rl   rm   rn   __annotations__rv   r
   r{   r   r   r   r   r   r   rp      s   
 

rp   )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)   )r1   r2   r   r3   r   r   )r7   r   r   r)   )r7   r   r   r   )r1   rB   r   r   )r1   rB   r   rE   )r1   r   rH   r)   r   r   )r1   rO   rN   rP   r   rQ   )r1   rO   rU   rZ   rV   r)   rW   r)   rX   r)   rY   r[   r   r\   )r1   r2   r`   r   r   r   )r1   r2   r`   re   r   r   )r1   r2   r   r\   ):
__future__r   typingr   r   r   r   r   r   r	   r
   r   r   Ztyping_extensionsr   r   ZpydanticZpydantic.fieldsr   _typesr   r   r   Z	BaseModelr   VERSION
startswithr4   r   r!   r&   r*   r+   r.   r/   Zpydantic.typingZpydantic.datetime_parse_utilsr0   r5   r:   r=   r@   rD   rF   rK   rS   r]   rc   rf   rg   rj   Zpydantic.genericsZgenericspropertyr   rp   	functoolsr   r   r   r   <module>   sn    (





$





	



