
    tni                     4   d dl Z d dlZd dlmZmZ d dlmZmZ d dlm	Z	m
Z
mZmZ d dlmZ d dlmZ d dlmZ d dlmZ ej        d	k    rd d
l mZ nd d
lmZ dee
de	f                  de	fdZde
de	f         de
de	f         fdZe G d d                      ZdS )    N)	dataclassfield)cached_propertypartial)AnyCallableOptionalUnion)
ModelField)SecurityBase)DependencyCacheKey)Literal)      )iscoroutinefunctioncall.returnc                 P    | | S t          j        t          |                     }|S N)inspectunwrap
_impartial)r   	unwrappeds     X/var/www/html/gpu-tools/venv/lib/python3.11/site-packages/fastapi/dependencies/models.py_unwrapped_callr      s)    |z$//00I    funcc                 h    t          | t                    r| j        } t          | t                    | S r   )
isinstancer   r   )r   s    r   r   r      s4    
T7
#
# y T7
#
# Kr   c                      e Zd ZU  ee          Zee         ed<    ee          Zee         ed<    ee          Z	ee         ed<    ee          Z
ee         ed<    ee          Zee         ed<    ee          Zed          ed<   dZee         ed	<   dZeed
ef                  ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZee         ed<   dZeee                  ed<   dZeee                  ed<   dZeed<   dZee         ed<   dZee d         df         ed<   e!dee         fd            Z"e!de#fd            Z$e!defd            Z%e!defd            Z&e!de'fd            Z(e!ded          fd            Z)e!defd             Z*e!defd!            Z+e!defd"            Z,e!deedf         fd#            Z-dS )$	Dependant)default_factorypath_paramsquery_paramsheader_paramscookie_paramsbody_paramsdependenciesNname.r   request_param_namewebsocket_param_namehttp_connection_param_nameresponse_param_namebackground_tasks_param_namesecurity_scopes_param_nameown_oauth_scopesparent_oauth_scopesT	use_cachepath)functionrequestscoper   c                     | j         r| j                                         ng }| j        pg D ]}||vr|                    |           |S r   )r1   copyr0   append)selfscopesr6   s      r   oauth_scopeszDependant.oauth_scopes5   s^    484LT)..000RT*0b 	% 	%EF""e$$$r   c                     | j         r0t          t          t          | j        pg                               nd}| j        || j        pdfS )N  )_uses_scopestuplesortedsetr<   r   computed_scope)r:   scopes_for_caches     r   	cache_keyzDependant.cache_key>   sZ     <@;LTE&T.4"5566777RT 	 I%2
 	
r   c                 d    | j         rdS | j        dS | j        rdS | j        D ]}|j        r dS dS )NTF)r0   r/   _is_security_schemer(   r@   )r:   sub_deps     r   r@   zDependant._uses_scopesI   s^      	4*64# 	4( 	 	G# ttur   c                 f    | j         dS t          | j                   }t          |t                    S )NF)r   r   r   r   r:   r   s     r   rH   zDependant._is_security_schemeV   s.    95#DI..	)\222r   c                 \    t          | j                  }t          |t                    sJ |S r   )r   r   r   r   rK   s     r   _security_schemezDependant._security_scheme^   s-    #DI..	)\22222r   c                 (    d | j         D             }|S )Nc                      g | ]}|j         	|S r>   )rH   ).0deps     r   
<listcomp>z4Dependant._security_dependencies.<locals>.<listcomp>f   s     UUUS=TUUUUr   )r(   )r:   security_depss     r   _security_dependenciesz Dependant._security_dependenciesd   s    UU(9UUUr   c                    | j         dS t          j        t          | j                             s&t          j        t	          | j                             rdS t          j        t	          | j                             rdS t          t          | j                   dd           }|dS t          j        t          |                    s!t          j        t	          |                    rdS t          t	          | j                   dd           }|dS t          j        t          |                    s!t          j        t	          |                    rdS dS NFT__call__)r   r   isgeneratorfunctionr   r   isclassgetattrr:   dunder_calldunder_unwrapped_calls      r   is_gen_callablezDependant.is_gen_callablei   sO   95&ty!!
 
 	()C)CDD	 4??495566 	5j33ZFF5&{##
 
 	()E)EFF	 4 '	(B(BJPT U U (5&,--
 
 	(9N)O)OPP	 4ur   c                    | j         dS t          j        t          | j                             s&t          j        t	          | j                             rdS t          j        t	          | j                             rdS t          t          | j                   dd           }|dS t          j        t          |                    s!t          j        t	          |                    rdS t          t	          | j                   dd           }|dS t          j        t          |                    s!t          j        t	          |                    rdS dS rV   )r   r   isasyncgenfunctionr   r   rY   rZ   r[   s      r   is_async_gen_callablezDependant.is_async_gen_callable   sO   95%ty!!
 
 	'	(B(BCC	 4??495566 	5j33ZFF5%{##
 
 	'(D(DEE	 4 '	(B(BJPT U U (5%,--
 
 	'8M(N(NOO	 4ur   c                    | j         dS t          j        t          | j                             r#t	          t          | j                             rdS t          j        t          | j                             r#t	          t          | j                             rdS t          j        t          | j                             rdS t          t          | j                   dd           }|dS t	          t          |                    st	          t          |                    rdS t          t          | j                   dd           }|dS t	          t          |                    st	          t          |                    rdS dS rV   )r   r   	isroutiner   r   r   rY   rZ   r[   s      r   is_coroutine_callablezDependant.is_coroutine_callable   s   95Z	2233 	8Kty!!9
 9
 	 4_TY7788 	=PDI&&>
 >
 	 4??495566 	5j33ZFF5z+6677 	;NK((<
 <
 	 4 '	(B(BJPT U U (5,--
 
 	 1F!G!GHH	 4ur   c                 B    | j         r| j         S | j        s| j        rdS d S )Nr5   )r6   r^   ra   )r:   s    r   rD   zDependant.computed_scope   s3    : 	: 	4#= 	9tr   ).__name__
__module____qualname__r   listr#   r   __annotations__r$   r%   r&   r'   r(   r)   r	   strr   r   r   r*   r+   r,   r-   r.   r/   r0   r1   r2   boolr3   r6   r
   r   r   r<   r   rF   r@   rH   r   rM   rT   r^   ra   rd   rD   r>   r   r   r!   r!      s        $)E$$?$?$?Kj!???%*U4%@%@%@L$z"@@@&+eD&A&A&AM4
#AAA&+eD&A&A&AM4
#AAA$)E$$?$?$?Kj!???&+eD&A&A&AL${#AAAD(3-)-D(8CH%
&---(,,,,*.(3-...04444)-#---15#55504444,0htCy)000/3$s),333ItD(3-9=E5./56===d3i    _ 
- 
 
 
 _
 
d 
 
 
 _
 3T 3 3 3 _3 ,    _
 [(9    _     _2 t    _2 t    _: c4i 0    _  r   r!   )r   sysdataclassesr   r   	functoolsr   r   typingr   r   r	   r
   fastapi._compatr   fastapi.security.baser   fastapi.typesr   typing_extensionsr   version_infor   asyncior   r   r!   r>   r   r   <module>rw      s    



 ( ( ( ( ( ( ( ( . . . . . . . . 1 1 1 1 1 1 1 1 1 1 1 1 & & & & & & . . . . . . , , , , , , % % % % % %w+++++++++++++(8CH#56 3    Xc3h' HS#X,>     a a a a a a a a a ar   