
    g                    $   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.                        Zej2                  j5                  d      Zerd.dZd/dZd0dZd1dZd2dZ d3dZ!d3dZ"n/erd 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rd dlm'Z' nerd dlm'Z' ndZ'd4dZ(d5dZ)d6dZ*d6dZ+d7dZ,d8dZ-ddd9dZ.dd d:d!Z/dddd"d#d$	 	 	 	 	 	 	 	 	 	 	 	 	 d;d%Z0d<d&Z1er G d' d(ej.                        Z2nFer G d) d(ej.                        Z2n.d dl3Z G d* d(ejh                  jd                  ej.                        Z2ere5Z6 G d+ d,ee         Z7yd d-l8m6Z6 e6Z7y)=    )annotations)TYPE_CHECKINGAnyUnionGenericTypeVarCallablecastoverload)datedatetime)SelfLiteralN)	FieldInfo   )IncExStrBytesIntFloat_T_ModelT)boundz2.c                     y N values    A/var/www/openai/venv/lib/python3.12/site-packages/groq/_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_typeddictr0   +   r   r   )r%   r(   r*   r0   r.   )r   r!   )
ConfigDictc                n    t         r| j                  |      S t        t        | j	                  |            S r   )PYDANTIC_V2model_validater
   r   	parse_obj)modelr   s     r   r5   r5   O   s,    ##E**GU__U344r   c                F    t         r| j                         S | j                  S r   )r3   is_requiredrequiredfields    r   field_is_requiredr<   V   s      "">>r   c                N    | j                         }t        rddlm} ||k(  ry |S |S )Nr   )PydanticUndefined)get_defaultr3   pydantic_corer>   )r;   r   r>   s      r   field_get_defaultrA   \   s,    E3%%Lr   c                >    t         r| j                  S | j                  S r   )r3   
annotationouter_type_r:   s    r   field_outer_typerE   g   s    r   c                >    t         r| j                  S | j                  S r   )r3   model_config
__config__r6   s    r   get_model_configrJ   m       !!!r   c                >    t         r| j                  S | j                  S r   )r3   model_fields
__fields__rI   s    r   get_model_fieldsrO   s   rK   r   Fdeepc               V    t         r| j                  |      S | j                  |      S )NrP   )r3   
model_copycopy)r6   rQ   s     r   rS   rS   y   s*    T**::4:  r   indentc               V    t         r| j                  |      S | j                  |      S )NrU   )r3   model_dump_jsonjson)r6   rV   s     r   
model_jsonrZ      s*    $$F$33::V:$$r   Tpython)excludeexclude_unsetexclude_defaultswarningsmodec                   t         st        | d      r#| j                  ||||t         r|      S d      S t        d| j	                  |||            S )N
model_dumpT)r`   r\   r]   r^   r_   dict[str, Any])r\   r]   r^   )r3   hasattrrb   r
   dict)r6   r\   r]   r^   r_   r`   s         r   rb   rb      sy     ge\2'-!,X   
 	
 37   
 	
 

'- 	 	
 r   c                R    t         r| j                  |      S | j                  |      S r   )r3   r4   r5   )r6   datas     r   model_parserh      s%    ##D))??4  r   c                      e Zd ZyGenericModelN__name__
__module____qualname__r   r   r   rk   rk          r   rk   c                      e Zd Zyrj   rl   r   r   r   rk   rk      rp   r   c                      e Zd Zyrj   rl   r   r   r   rk   rk      rp   r   c                  l    e Zd ZU ded<   ded<   ddZeddd       Zeddd       Zddd	Zdd
ZddZy)typed_cached_propertyCallable[[Any], _T]funcz
str | Noneattrnamec                     y r   r   )selfrv   s     r   __init__ztyped_cached_property.__init__   s    sr   Nc                     y r   r   ry   instanceowners      r   __get__ztyped_cached_property.__get__       SVr   c                     y r   r   r|   s      r   r   ztyped_cached_property.__get__   r   r   c                    t               r   )NotImplementedErrorr|   s      r   r   ztyped_cached_property.__get__   s    %''r   c                     y r   r   )ry   r~   names      r   __set_name__z"typed_cached_property.__set_name__   s    Sr   c                     y r   r   )ry   r}   r   s      r   __set__ztyped_cached_property.__set__   s    r   )rv   ru   returnNoner   )r}   r   r~   type[Any] | Noner   r   )r}   objectr~   r   r   r   )r}   r   r~   r   r   z	_T | Self)r~   	type[Any]r   strr   r   )r}   r   r   r   r   r   )	rm   rn   ro   __annotations__rz   r   r   r   r   r   r   r   rt   rt      s>    !!B	V 
V	V 
V	( 	I 	Dr   rt   )cached_property)r   zdate | StrBytesIntFloatr   r   )r   z!Union[datetime, StrBytesIntFloat]r   r   )r$   r   r   ztuple[Any, ...])r'   r   r   bool)r$   r   r   r   )r-   r   r   r   )r6   type[_ModelT]r   r   r   r   )r;   r   r   r   )r;   r   r   r   )r6   type[pydantic.BaseModel]r   r   )r6   r   r   zdict[str, FieldInfo])r6   r   rQ   r   r   r   )r6   pydantic.BaseModelrV   z
int | Noner   r   )r6   r   r\   zIncEx | Noner]   r   r^   r   r_   r   r`   zLiteral['json', 'python']r   rc   )r6   r   rg   r   r   r   )9
__future__r   typingr   r   r   r   r   r	   r
   r   r   r   typing_extensionsr   r   pydanticpydantic.fieldsr   _typesr   r   r   	BaseModelr   VERSION
startswithr3   r   r!   r%   r(   r*   r.   r0   pydantic.v1.typingpydantic.v1.datetime_parsepydantic.typingpydantic.datetime_parser1   r5   r<   rA   rE   rJ   rO   rS   rZ   rb   rh   rk   pydantic.genericsgenericspropertyr   rt   	functoolsr   r   r   <module>r      s   " X X X # +  % +T]
)8#5#5
6 ))$/  	
 	
 	ji	
 	
 	g 1' 
5 05 ! CG % !"&.  	
   $ 8! /x))/  	48--3 	!S8,,998;M;MS OD D( =+r   