
    +h                       d dl mZ d dlmZmZmZ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  ede
j                  	      Ze
j"                  j%                  d
      Zerd+dZd,dZd-dZd.dZd/dZd0dZd0dZnWer+d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ n*d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ erd dl
mZ nerd dl
mZ ndZd1dZ d2dZ!d3dZ"d3dZ#d4dZ$d5dZ%d6d Z&dd!d7d"Z'd#d#d$	 	 	 	 	 	 	 d8d%Z(d9d&Z)er G d' d(e
j                        Z*yer G d) d(e
j                        Z*yd dl+Z
 G d* d(e
jX                  jT                  e
j                        Z*y):    )annotations)TYPE_CHECKINGAnyUnionTypeVarcast)datedatetimeN)	FieldInfo   )StrBytesIntFloat_ModelT)boundz2.c                     y N values    A/var/www/html/venv/lib/python3.12/site-packages/openai/_compat.py
parse_dater              c                     y r   r   r   s    r   parse_datetimer      r   r   c                     y r   r   ts    r   get_argsr      r   r   c                     y r   r   )tps    r   is_unionr!       r   r   c                     y r   r   r   s    r   
get_originr#   #   r   r   c                     y r   r   type_s    r   is_literal_typer'   &   r   r   c                     y r   r   r%   s    r   is_typeddictr)   )   r   r   )r   )r!   )r#   )r)   )r'   )r   )r   )
ConfigDictc                n    t         r| j                  |      S t        t        | j	                  |            S r   )PYDANTIC_V2model_validater   r   	parse_obj)modelr   s     r   r.   r.   K   s,    ##E**GU__U344r   c                F    t         r| j                         S | j                  S r   )r,   is_requiredrequiredfields    r   field_is_requiredr5   R   s      "">>r   c                N    | j                         }t        rddlm} ||k(  ry |S |S )Nr   )PydanticUndefined)get_defaultr,   pydantic_corer7   )r4   r   r7   s      r   field_get_defaultr:   X   s,    E3%%Lr   c                >    t         r| j                  S | j                  S r   )r,   
annotationouter_type_r3   s    r   field_outer_typer>   c   s    r   c                >    t         r| j                  S | j                  S r   )r,   model_config
__config__r/   s    r   get_model_configrC   i       !!!r   c                >    t         r| j                  S | j                  S r   )r,   model_fields
__fields__rB   s    r   get_model_fieldsrH   o   rD   r   c                N    t         r| j                         S | j                         S r   )r,   
model_copycopyrB   s    r   rJ   rJ   u   s     !!::<r   indentc               V    t         r| j                  |      S | j                  |      S )NrL   )r,   model_dump_jsonjson)r/   rM   s     r   
model_jsonrQ   {   s*    $$F$33::V:$$r   Fexclude_unsetexclude_defaultsc               n    t         r| j                  ||      S t        d| j                  ||            S )NrR   dict[str, Any])r,   
model_dumpr   dict)r/   rS   rT   s      r   rW   rW      sN     '-   
 	
 

'- 	 	
 r   c                R    t         r| j                  |      S | j                  |      S r   )r,   r-   r.   )r/   datas     r   model_parser[      s%    ##D))??4  r   c                      e Zd ZyGenericModelN__name__
__module____qualname__r   r   r   r^   r^      s    r   r^   c                      e Zd Zyr]   r_   r   r   r   r^   r^          r   c                      e Zd Zyr]   r_   r   r   r   r^   r^      rd   r   )r   zdate | StrBytesIntFloatreturnr	   )r   z!Union[datetime, StrBytesIntFloat]rf   r
   )r   	type[Any]rf   ztuple[Any, ...])r    type[Any] | Nonerf   bool)r   rg   rf   rh   )r&   rg   rf   ri   )r/   type[_ModelT]r   objectrf   r   )r4   r   rf   ri   )r4   r   rf   r   )r/   type[pydantic.BaseModel]rf   r   )r/   rl   rf   zdict[str, FieldInfo])r/   r   rf   r   )r/   pydantic.BaseModelrM   z
int | Nonerf   str)r/   rm   rS   ri   rT   ri   rf   rV   )r/   rj   rZ   r   rf   r   )-
__future__r   typingr   r   r   r   r   r
   r	   pydanticpydantic.fieldsr   _typesr   	BaseModelr   VERSION
startswithr,   r   r   r   r!   r#   r'   r)   pydantic.v1.typingpydantic.v1.datetime_parsepydantic.typingpydantic.datetime_parser*   r.   r5   r:   r>   rC   rH   rJ   rQ   rW   r[   r^   pydantic.genericsgenericsr   r   r   <module>r}      sj   " ; ; #  % $
)8#5#5
6 ))$/  ;;?CIGO88<@FDL 1' 
5 CG %  "	  	
 (! x))  	8-- 	 	!	8,,998;M;M 	r   