
    df+B                     
   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZmZmZmZmZmZ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  ej@                   e! ejD                                     Z# ej@                   e! ejD                                     Z$ ej@                   e! ejD                                     Z% ej@                   e! ejD                                     Z& ej@                   ejD                         D  cg c]
  } | dk7  s	|  c}       Z' ej@                  e      Z(dZ) ejT                  d      Z+d	ejX                  d
ejZ                  de.ddfdZ/ ej`                  ddi       ejb                  d       ejd                  de3ddd       ejd                  de4ddd       ejd                  de3dd       ejd                  de4dd       ejd                  ddd d!"       ejd                  d#d$dd% ejj                  d&      '       ejd                  d(d)dd*+       ejd                  d,d-dd.+       ejd                  d/e6d0dd12       ejd                  d3de4d45       ejd                  d6e'd7d8d       ejd                  d9e$d7d:d       ejd                  d;e%d7d<d       ejd                  d=e4d>d?d       ejd                  d@e4dAdBd       ejd                  dCe6dDdEd       ejd                  dFe6dDdGd       ejd                  dHe.ddId       ejd                  dJe&d7dKd       ejd                  dLe(d7dMd       ejd                  dN ejj                  d&      ddOd       ejd                  dP ejj                  d&      ddQd       ejd                  dRe#ddSd       ejd                  dTdddU"       ejd                  dVdddW"       ejd                  dXdddY"       ejd                  dZddd["       ejd                  d\ddd]"       ejd                  d^e3dd_       ejd                  d`e3dadb       ejd                  dce4ddd       ejd                  dee4dfdg       ejd                  dhe4ddi       ejd                  dje4dkdld       ejd                  dme4ddn       ejd                  doe3ddpd       ejd                  dqe3ddrd       ejd                  dse3ddtd       ejd                  due4 e4e      dvd       ejd                  dwe4 e4ejn                        dxd       ejd                  dye3ddzd       ejd                  d{e3d|d}d       ejd                  d~ddd+       ejd                  dde/d dd       ejd                  ddadd       ejd                  dde4dd       ejd                  ddd dd      de3de3de4de3de4dededede4de4de6de6de.dedede.d$ejp                  e3   d)ejp                  e3   d-ejp                  e3   de6de4de3de3de3de.de.de.de.de3de3de4de4de4de4dejr                  e4   de3de3de3de4de4de3de3dejp                  e3   de.de3dejr                  e4   de.ddf`d                                                                                                                                                                                                                                                                                                                                                       Z:ddddd7d7d7d>dAdDdDdd7d7d dddd0ddedddddddaddfddkddddeejn                  dd|dddd dd.dejv                  dejx                  e3f   de3de4dejr                  e3   dejr                  e4   dedejv                  ejz                  e j|                     ef   dejv                  ejz                  e j|                     ef   de4de4dejr                  e6   dejr                  e6   de.dedede.d$ejr                  ejv                  ejp                  e3   e3f      d)ejr                  ejv                  ejp                  e3   e3f      d-ejr                  ejv                  ejp                  e3   e3f      de6dejr                  e4   dejr                  ejv                  e3ej~                  f      dejr                  ejv                  ej                  e3ej                  f   e3f      dejr                  ejv                  e3e4f      de.de.de.de.dejr                  ejv                  ejp                  e3   e3f      de3dejr                  e4   de4dejr                  e4   de4dejr                  e4   dejr                  e3   dejr                  ejv                  e3ej~                  f      dejr                  e3   de4de4dejr                  e3   de3dejr                  ejp                  ej                  e3e3f         dejr                  e.   dejr                  e3   de.dejr                  e4   ddf`dZCeDdk(  r e:        yyc c} w )    N)ASGIApplication)HTTP_PROTOCOLS
INTERFACESLIFESPAN
LOG_LEVELSLOGGING_CONFIGLOOP_SETUPSSSL_PROTOCOL_VERSIONWS_PROTOCOLSConfigHTTPProtocolTypeInterfaceTypeLifespanTypeLoopSetupTypeWSProtocolType)ServerServerState)ChangeReloadMultiprocessnone   uvicorn.errorctxparamvaluereturnc                    |r| j                   ry t        j                  dt        j                  dt        j                         dt        j                         dt        j                                | j                          y )NzRunning uvicorn z with  z on )
resilient_parsingclickechouvicorn__version__platformpython_implementationpython_versionsystemexit)r   r   r   s      E/home/api-vastappli/venv/lib/python3.12/site-packages/uvicorn/main.pyprint_versionr*   ,   sY    C))	JJ **,##%OO	
 HHJ    auto_envvar_prefixUVICORN)context_settingsappz--hostz	127.0.0.1zBind socket to this host.T)typedefaulthelpshow_defaultz--porti@  zABind socket to this port. If 0, an available port will be picked.z--udszBind to a UNIX domain socket.)r0   r1   r2   z--fdz)Bind to socket from this file descriptor.z--reloadFzEnable auto-reload.)is_flagr1   r2   z--reload-dirreload_dirszRSet reload directories explicitly, instead of using the current working directory.)exists)multipler2   r0   z--reload-includereload_includeszSet glob patterns to include while watching for files. Includes '*.py' by default; these defaults can be overridden with `--reload-exclude`. This option has no effect unless watchfiles is installed.)r7   r2   z--reload-excludereload_excludeszSet glob patterns to exclude while watching for files. Includes '.*, .py[cod], .sw.*, ~*' by default; these defaults can be overridden with `--reload-include`. This option has no effect unless watchfiles is installed.z--reload-delayg      ?zTDelay between previous and next check if application needs to be. Defaults to 0.25s.)r0   r1   r3   r2   z	--workersz~Number of worker processes. Defaults to the $WEB_CONCURRENCY environment variable if available, or 1. Not valid with --reload.)r1   r0   r2   z--loopautozEvent loop implementation.z--httpzHTTP protocol implementation.z--wsz"WebSocket protocol implementation.z--ws-max-sizei   z#WebSocket max size message in bytesz--ws-max-queue    z2The maximum length of the WebSocket message queue.z--ws-ping-intervalg      4@zWebSocket ping intervalz--ws-ping-timeoutzWebSocket ping timeoutz--ws-per-message-deflatez)WebSocket per-message-deflate compressionz
--lifespanzLifespan implementation.z--interfacez:Select ASGI3, ASGI2, or WSGI as the application interface.z
--env-filezEnvironment configuration file.z--log-configzBLogging configuration file. Supported formats: .ini, .json, .yaml.z--log-levelzLog level. [default: info]z--access-log/--no-access-logzEnable/Disable access log.z--use-colors/--no-use-colorsz!Enable/Disable colorized logging.z"--proxy-headers/--no-proxy-headerszdEnable/Disable X-Forwarded-Proto, X-Forwarded-For, X-Forwarded-Port to populate remote address info.z"--server-header/--no-server-headerz%Enable/Disable default Server header.z--date-header/--no-date-headerz#Enable/Disable default Date header.z--forwarded-allow-ipszComma separated list of IPs to trust with proxy headers. Defaults to the $FORWARDED_ALLOW_IPS environment variable if available, or '127.0.0.1'.z--root-path zLSet the ASGI 'root_path' for applications submounted below a given URL path.z--limit-concurrencyz^Maximum number of concurrent connections or tasks to allow, before issuing HTTP 503 responses.z	--backlogi   z0Maximum number of connections to hold in backlogz--limit-max-requestszEMaximum number of requests to service before terminating the process.z--timeout-keep-alive   zLClose Keep-Alive connections if no new data is received within this timeout.z--timeout-graceful-shutdownz8Maximum number of seconds to wait for graceful shutdown.z--ssl-keyfilezSSL key filez--ssl-certfilezSSL certificate filez--ssl-keyfile-passwordzSSL keyfile passwordz--ssl-versionz,SSL version to use (see stdlib ssl module's)z--ssl-cert-reqsz@Whether client certificate is required (see stdlib ssl module's)z--ssl-ca-certszCA certificates filez--ssl-ciphersTLSv1z(Ciphers to use (see stdlib ssl module's)z--headerheaderszASpecify custom default HTTP response headers as a Name:Value pairz	--versionz%Display the uvicorn version and exit.)r4   callbackexpose_valueis_eagerr2   z	--app-dirzuLook for APP in the specified directory, by adding this to the PYTHONPATH. Defaults to the current working directory.)r1   r3   r2   z--h11-max-incomplete-event-sizeh11_max_incomplete_event_sizezFFor h11, the maximum number of bytes to buffer of an incomplete event.z	--factoryzFTreat APP as an application factory, i.e. a () -> <ASGI app> callable.)r4   r1   r2   r3   hostportudsfdloophttpwsws_max_sizews_max_queuews_ping_intervalws_ping_timeoutws_per_message_deflatelifespan	interfacereloadreload_delayworkersenv_file
log_config	log_level
access_logproxy_headersserver_headerdate_headerforwarded_allow_ips	root_pathlimit_concurrencybackloglimit_max_requeststimeout_keep_alivetimeout_graceful_shutdownssl_keyfilessl_certfilessl_keyfile_passwordssl_versionssl_cert_reqsssl_ca_certsssl_ciphers
use_colorsapp_dirfactoryc/                    t        | fi d|d|d|d|d|d|d|d|d	|	d
|
d|d|d|d|d|t        n|d|d|d|d|d|xs d d|xs d d|xs d d|d|d|d|d|d|d|d|d|d | d!|!d"|"d#|#d$|$d%|%d&|&d'|'d(|(d)|)d*|*D /cg c]  }/|/j                  d+d,       c}/d-|+d.|.d/|,d0|- y c c}/w )1NrD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rU   rV   rW   rX   rQ   rR   r5   r8   r9   rS   rT   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   r?   :   rj   rl   rk   rC   )runr   split)0r/   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r5   r8   r9   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   r?   rj   rk   rC   rl   headers0                                                   r)   mainrs   ;   s1   J 00 0 	0
 0 0 0 0  0 "0 *0 (0  60 0 0  &0%7>Z!0" #0$ %0& '0( )0*  '4+0, (/4-0. (/4/00 "102 304 $506 $708  90: 0;0< =0> ,?0@ A0B .C0D .E0F #<G0H  I0J "K0L 2M0N  O0P $Q0R "S0T  U0V 5<<&c1%<W0X Y0Z [0\ ]0^ 'D_0V =s   C).rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r5   r8   r9   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   r?   rj   rk   rl   rC   r   c       .            |, t         j                  j                  d|,       t        | fi d|d|d|d|d|d|d|d	|d
|	d|
d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d|d |d!| d"|!d#|"d$|#d%|$d&|%d'|&d(|'d)|(d*|)d+|*d,|+d-|-d.|.}/t	        |//      }0|/j
                  s|/j                  d0kD  rKt        | t              s;t        j                  d1      }1|1j                  d2       t        j                  d0       |/j                  r8|/j                         }2t        |/|0j                   |2g3      j!                          nW|/j                  d0kD  r8|/j                         }2t#        |/|0j                   |2g3      j!                          n|0j!                          |/j$                  rHt&        j                  j)                  |/j$                        rt'        j*                  |/j$                         |0j,                  s7|/j                  s*|/j                  d0k(  rt        j                  t.               y y y y )4Nr   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r5   r8   r9   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   r?   rj   rl   rC   )configro   r   zRYou must pass the application as an import string to enable 'reload' or 'workers'.)targetsockets)syspathinsertr   r   rR   rT   
isinstancestrlogging	getLoggerwarningr(   should_reloadbind_socketr   rp   r   rF   osr6   removestartedSTARTUP_FAILURE)3r/   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   r5   r8   r9   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   r?   rj   rk   rl   rC   ru   serverloggersocks3                                                      r)   rp   rp     s*   h 7#// / 	/
 / / / /  / "/ */ (/  6/ / /  !/"  #/$ (%/& ('/( ")/* +/, -/. //0 1/2 3/4 $5/6 $7/8  9/: 0;/< =/> ,?/@ A/B .C/D .E/F #<G/H  I/J "K/L 2M/N  O/P $Q/R "S/T  U/V W/X Y/Z [/\ 'D]/F` 6"F!+ZS5I""?3	
 	!!#VFJJ?CCE	!	!!#VFJJ?CCE

zzbggnnVZZ0
		&**>>&"6"66>>Q;N! <O"6>r+   __main__)Easyncior}   r   r$   sslrx   typingr    r"   uvicorn._typesr   uvicorn.configr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   uvicorn.serverr   r   uvicorn.supervisorsr   r   ChoicelistkeysLEVEL_CHOICESHTTP_CHOICES
WS_CHOICESLIFESPAN_CHOICESLOOP_CHOICESINTERFACE_CHOICESr   r~   r   Context	Parameterboolr*   commandargumentoptionr|   intPathfloat	CERT_NONEListOptionalrs   UnionCallableTypeProtocolPathLikeDictAnyTuplerp   __name__)keys   0r)   <module>r      sA     	  
 
    *     / :T/*//"345u||D!4!4!4!678U\\$0|00234
5<<]X]]_ 56 u||,<K,<,<,>PS#-SPQ ELL, 			?	+u}} U__ T d  !5y AB		$ 		L gC4ST
d)T j$<QR
	4	  
@	 
	 	
 	
=	 		% 		( 
		- 		. 		= 		" 		! 		4 		# 		E 	4	 	* 	4	 	M 		% "	%	 "	,	 (
$	 (	0	 $	.	 	
S	 		W	 	
	 		;	 		P	 		W !		C	 #t.t 		 		 	$%	7 		K 		 		3 	L	 	0 
2	 %#		Q 	Qa	a
a a 
	a
 	a a a 	a a a a a !a a a  !a" S!#a$ [[%%a& [[%'a( )a* +a, -a. /a0 1a2 3a4 5a6 7a8 9a: ;a< =a> ?a@ AaB CaD EaF  &s3GaH IaJ KaL MaN OaP QaR SaT UaV [[WaX YaZ [a\ $*??3#7]a^ _a` 
aa S U  Ch	aN  $# JPFL/3.2#'#%HLLPLP$(@D 	9=PT.2/36:(,DH15+)-DH(,$(:>e}"	'#=	>}" }" 	}"
 
	}" 	}" }" ,,v{{7#3#346FF
G}" 	V[[!1!12NBC}" }" }" ooe,}" __U+}" !}" }"  !}"" #}"$ fkk#.>.C!DE%}"& __V\\&++c2BC2G%HI'}"( __V\\&++c2BC2G%HI)}"* +}", __S!-}". oofll3+;<=/}"0 V[[fjj13671}"6 v||CH567}"8 9}": ;}"< =}"> ?}"@  fkk#6F6K)LMA}"B C}"D s+E}"F G}"H ,I}"J K}"L  &s3M}"N %O}"P //&,,sBKK/?"@AQ}"R !//#.S}"T U}"V W}"X //#&Y}"Z [}"\ __V[[c3h)?@A]}"^ %_}"` __S!a}"b c}"d $*??3#7e}"f 
g}"@ zF _ Qs   
j !j 