+
    Xj|I              d      $   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
 ^ RIHt ^ RIHtHtHt ^ RIt^ RIt^ RIHt ^ RIHtHtHtHtHtHtHtHtHtHtH t H!t! ^ RI"H#t# ^ R	I$H%t%H&t& ]PN                  ! ](! ]PR                  ! 4       4      4      t*]PN                  ! ](! ]PR                  ! 4       4      4      t+]PN                  ! ]4      t,R
 R lt-]P\                  ! R4      t/R R lt0]Pb                  ! RR/R7      ]Pd                  ! RRR7      ]Pf                  ! R]4RRRR7      ]Pf                  ! R]5RRRR7      ]Pf                  ! R]4RRR7      ]Pf                  ! R ]5RR!R7      ]Pf                  ! R"RR#R$R%7      ]Pf                  ! R&R'RR(]Pl                  ! RR)7      R*7      ]Pf                  ! R+R,RR-R.7      ]Pf                  ! R/R0RR1R.7      ]Pf                  ! R2]7R3RR4R57      ]Pf                  ! R6R]5R7R87      ]Pf                  ! R9]4]-! ] 4      R:R;RR<7      ]Pf                  ! R=]4]-! ]4      R:R>RR<7      ]Pf                  ! R?]4]-! ]!4      R:R@RR<7      ]Pf                  ! RA]5RBRCRR7      ]Pf                  ! RD]5^ RERR7      ]Pf                  ! RF]7RGRHRR7      ]Pf                  ! RI]7RGRJRR7      ]Pf                  ! RK]8RRLRR7      ]Pf                  ! RM]+R:RNRR7      ]Pf                  ! RO],R:RPRR7      ]Pf                  ! RQ]Pl                  ! RR)7      RRRRR7      ]Pf                  ! RS]Pl                  ! RR)7      RRTRR7      ]Pf                  ! RU]*RRVRR7      ]Pf                  ! RWRRRXR%7      ]Pf                  ! RYRRRZR%7      ]Pf                  ! R[RRR\R%7      ]Pf                  ! R]RRR^R%7      ]Pf                  ! R_RRR`R%7      ]Pf                  ! Ra]4RRbR7      ]Pf                  ! Rc]4RdReR7      ]Pf                  ! Rf]5RRgR7      ]Pf                  ! Rh]5RiRjR7      ]Pf                  ! Rk]5RRlR7      ]Pf                  ! Rm]5^ RnRR7      ]Pf                  ! Ro]5^RpRR7      ]Pf                  ! Rq]5RRrR7      ]Pf                  ! Rs]5^RtRR7      ]Pf                  ! Ru]4RRvRR7      ]Pf                  ! Rw]4RRxRR7      ]Pf                  ! Ry]4RRzRR7      ]Pf                  ! R{]5]5! ]4      R|RR7      ]Pf                  ! R}]5]5! ]Pr                  4      R~RR7      ]Pf                  ! R]4RRRR7      ]Pf                  ! R]4RRRR7      ]Pf                  ! RRRRR.7      ]Pf                  ! RR]0R#RRR7      ]Pf                  ! RRdRRR7      ]Pf                  ! RR]5RRR7      ]Pf                  ! RRR#RRR7      ]Pf                  ! RRR#RRR7      R R l4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       4       t:RRRRRRRRRR:RR:RR:RRBR^ RRGRRGRRRR:RR:RR#R'RR,RR0RRR3RRRRR]RRRRRRRRRRRRRRdRRRRiRRR^ R^RRR^RRRRRRR]R]Pr                  RRRRRRRRRRRRRR#RRRR#/2R R llt;R R lt<]=R8X  d
   ]:! 4        R# R# )    )annotationsN)Callable)RawConfigParser)IOAnyget_args)ASGIApplication)
INTERFACESLIFESPAN
LOG_LEVELSLOGGING_CONFIGSSL_PROTOCOL_VERSIONSTARTUP_FAILUREConfigHTTPProtocolTypeInterfaceTypeLifespanTypeLoopFactoryTypeWSProtocolType)Server)ChangeReloadMultiprocessc                    V ^8  d   QhRRRR/# )   _typer   returnstr )formats   "h   /Users/wind/Downloads/Coruna-main学习资料A/backend/venv/lib/python3.14/site-packages/uvicorn/main.py__annotate__r!   (   s     L Lc Lc L    c                L    R RP                  R \        V 4       4       4       R2# )[|c              3  6   "   T F  qR 8w  g   K  Vx  K  	  R# 5i)noneNr   ).0keys   & r    	<genexpr>%_metavar_from_type.<locals>.<genexpr>)   s     H-s   
])joinr   )r   s   &r    _metavar_from_typer.   (   s%    sxxHxHHIKKr"   uvicorn.errorc               (    V ^8  d   QhRRRRRRRR/# )	r   ctxzclick.Contextparamzclick.Parametervalueboolr   Noner   )r   s   "r    r!   r!   /   s(      } _ T d r"   c           	     >   V'       d   V P                   '       d   R # \        P                  ! RP                  \        P
                  \        P                  ! 4       \        P                  ! 4       \        P                  ! 4       R7      4       V P                  4        R # )NzKRunning uvicorn {version} with {py_implementation} {py_version} on {system})versionpy_implementation
py_versionsystem)resilient_parsingclickechor   uvicorn__version__platformpython_implementationpython_versionr:   exit)r1   r2   r3   s   &&&r    print_versionrD   /   si    C)))	JJU\\''&<<>..0??$	 	] 	
 HHJr"   auto_envvar_prefixUVICORN)context_settingsappUVICORN_APP)envvarz--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.)rK   rL   rM   z--fdz)Bind to socket from this file descriptor.z--reloadFzEnable auto-reload.)is_flagrL   rM   z--reload-dirreload_dirszRSet reload directories explicitly, instead of using the current working directory.)exists)multiplerM   rK   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.)rR   rM   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.)rK   rL   rN   rM   z	--workersz~Number of worker processes. Defaults to the $WEB_CONCURRENCY environment variable if available, or 1. Not valid with --reload.)rL   rK   rM   z--loopautoz"Event loop factory implementation.)rK   metavarrL   rM   rN   z--httpzHTTP protocol implementation.z--wsz"WebSocket protocol implementation.z--ws-max-sizei   z#WebSocket max size message in bytesz--ws-max-queuez2The maximum length of the WebSocket message queue.z--ws-ping-intervalg      4@z#WebSocket ping interval in seconds.z--ws-ping-timeoutz"WebSocket ping timeout in seconds.z--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-headerszaEnable/Disable X-Forwarded-Proto, X-Forwarded-For to populate url scheme and 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 IP Addresses, IP Networks, or literals (e.g. UNIX Socket path) to trust with proxy headers. Defaults to the $FORWARDED_ALLOW_IPS environment variable if available, or '127.0.0.1'. The literal '*' means trust everything.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--limit-max-requests-jitterzuMaximum jitter to add to limit_max_requests. Staggers worker restarts to avoid all workers restarting simultaneously.z--timeout-keep-alivezYClose Keep-Alive connections if no new data is received within this timeout (in seconds).z--timeout-graceful-shutdownz8Maximum number of seconds to wait for graceful shutdown.z--timeout-worker-healthcheckzKMaximum number of seconds to wait for a worker to respond to a healthcheck.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-cipherszNCiphers to use (see stdlib ssl module's). Defaults to OpenSSL's safe defaults.z--headerheaderszASpecify custom default HTTP response headers as a Name:Value pairz	--versionz%Display the uvicorn version and exit.)rO   callbackexpose_valueis_eagerrM   z	--app-dirzuLook for APP in the specified directory, by adding this to the PYTHONPATH. Defaults to the current working directory.)rL   rN   rM   z--h11-max-incomplete-event-sizeh11_max_incomplete_event_sizezFFor h11, the maximum number of bytes to buffer of an incomplete event.z--reset-contextvarszXRun each ASGI request in a fresh contextvars.Context. Hides context set in the lifespan.)rO   rL   rM   rN   z	--factoryzFTreat APP as an application factory, i.e. a () -> <ASGI app> callable.c          f         V ^8  d   QhRRRRRRRRRRRR	R
RRRRRRRRRRRRRRRRRRRRRRRRRRRRRR RR!RR"RR#RR$RR%RR&RR'RR(RR)RR*RR+RR,RR-RR.R/R0RR1RR2RR3RR4RR5RR6RR7R8R9RR:RR;RR<R/R=RR>RR?R@/3# )Ar   rH   r   hostportintudsfdloopLoopFactoryType | strhttpzHTTPProtocolType | strwszWSProtocolType | strws_max_sizews_max_queuews_ping_intervalfloatws_ping_timeoutws_per_message_deflater4   lifespanr   	interfacer   reloadrP   z	list[str]rS   rT   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limit_max_requests_jittertimeout_keep_alivetimeout_graceful_shutdown
int | Nonetimeout_worker_healthcheckssl_keyfilessl_certfilessl_keyfile_passwordssl_versionssl_cert_reqsssl_ca_certsssl_ciphers
str | NonerX   
use_colorsapp_dirr\   reset_contextvarsfactoryr   r5   r   )r   s   "r    r!   r!     sc    g g	g
g g 
	g
 	g  g !g 	g g g g g !g g g  !g" #g$ %g& 'g( )g* +g, -g. /g0 1g2 3g4 5g6 7g8 9g: ;g< =g> ?g@ AgB CgD  #EgF GgH  *IgJ !$KgL MgN OgP QgR SgT UgV WgX YgZ [g\ ]g^ _g` $.agb cgd egf 
ggr"   c2                   \        V 3/ R VbRVbRVbRVbRVbRVbRVbRVbRV	bR	V
bR
VbRVbRVbRVbRVf   \        MTbRVbRVbRVbRVbRT;'       g    RbRT;'       g    RbRT;'       g    RbRVbRVbRVbRVbRVbRVbRVbRVbRVbR V bR!V!bR"V"bR#V#bR$V$bR%V%bR&V&bR'V'bR(V(bR)V)bR*V*bR+V+bR,V, U2u. uF  p2V2P                  R-^4      NK  	  up2bR.V-bR/V1bR0V.bR1V/bR2V0b  R# u up2i )3r^   r_   ra   rb   rc   re   rf   rg   rh   ri   rk   rl   rm   rr   rs   Nrt   ru   rn   ro   rP   rS   rT   rp   rq   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   rX   :r   r   r   r\   r   )runr   split)3rH   r^   r_   ra   rb   rc   re   rf   rg   rh   ri   rk   rl   rm   rn   ro   rP   rS   rT   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   rX   r   r   r\   r   r   headers3   &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& r    mainr   =   sb   v 33 3 	3
 3 3 3 3  3 "3 *3 (3  63 3 3  &0%7>Z!3" #3$ %3& '3( )3*  ''4+3, (//4-3. (//4/30 "132 334 $536 $738  93: 0;3< =3> ,?3@ A3B .C3D #<E3F .G3H #<I3J $>K3L  M3N "O3P 2Q3R  S3T $U3V "W3X  Y3Z 5<<G&c1%G<[3\ ]3^ _3` a3b 'Dc3d ,e3Z =s   7C(r^   r_   ra   rb   rc   re   rf   rg   rh   ri   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   ssl_context_factoryr   r   r   r   c          h         V ^8  d   QhRRRRRRRRR	R
RRRRRRRRRRRRRRRRRRRRRRRRRRR RR!R"R#R
R$R%R&R'R(R)R*RR+RR,RR-RR.RR/RR0R
R1RR2R
R3RR4RR5R
R6RR7R%R8R%R9RR:RR;RR<R%R=RR>R?R@RARBRCRDRRERRFR
RGRRHRI/4# )Jr   rH   z*ASGIApplication | Callable[..., Any] | strr^   r   r_   r`   ra   r   rb   r   rc   rd   re   z/type[asyncio.Protocol] | HTTPProtocolType | strrf   z-type[asyncio.Protocol] | WSProtocolType | strrg   rh   ri   zfloat | Nonerk   rl   r4   rm   r   rn   r   ro   rP   zlist[str] | str | NonerS   rT   rp   rj   rq   rr   zstr | os.PathLike[str] | Noners   zJdict[str, Any] | str | os.PathLike[str] | RawConfigParser | IO[Any] | Nonert   zstr | int | Noneru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   zGCallable[[Config, Callable[[], ssl.SSLContext]], ssl.SSLContext] | NonerX   zlist[tuple[str, str]] | Noner   zbool | Noner   r   r\   r   r   r5   r   )r   s   "r    r!   r!     sv    G" G"	3G" G" 	G"
 
G" 	G"  G" :G" 	6G" G" G" #G" "G" !G" G"  !G"" #G"$ (%G"& ,'G"( ,)G"* +G", -G". ,/G"0 [1G"2  3G"4 5G"6 7G"8 9G": ;G"< 0=G"> ?G"@ "AG"B CG"D #EG"F  #GG"H IG"J  *KG"L !$MG"N /OG"P 0QG"R %SG"T UG"V WG"X 0YG"Z [G"\ a]G"^ *_G"` aG"b cG"d eG"f $.gG"h iG"j 
kG"r"   c       2        H   V/e!   \         P                  P                  ^ V/4       \        V 3/ RVbRVbRVbRVbRVbRVbRVbRVbR	V	bR
V
bRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbRVbR V bR!V!bR"V"bR#V#bR$V$bR%V%bR&V&bR'V'bR(V(bR)V)bR*V*bR+V+bR,V,bR-V-bR.V.bR/V0bR0V1bR1V2b p3V3P                  '       g   V3P
                  ^8  dY   \        V \        4      '       gB   \        P                  ! R24      p4V4P                  R34       \         P                  ! \        4       MV3P                  4        \        V3R47      p5 V3P                  '       d9   V3P!                  4       p6\#        V3V5P$                  V6.R57      P%                  4        MOV3P
                  ^8  d.   V3P!                  4       p6\'        V3V6.R67      P%                  4        MV5P%                  4         V3P*                  '       dP   \,        P                  P/                  V3P*                  4      '       d!   \,        P0                  ! V3P*                  4       T5P2                  '       gD   T3P                  '       g0   T3P
                  ^8X  d   \         P                  ! \        4       R # R # R # R #   \(         d     Li ; i  T3P*                  '       dR   \,        P                  P/                  T3P*                  4      '       d"   \,        P0                  ! T3P*                  4       i i i ; i)7Nr^   r_   ra   rb   rc   re   rf   rg   rh   ri   rk   rl   rm   rn   ro   rP   rS   rT   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   rX   r   r   r\   r   r/   zRYou must pass the application as an import string to enable 'reload' or 'workers'.)config)targetsockets)r   )syspathinsertr   ro   rq   
isinstancer   logging	getLoggerwarningrC   r   load_appr   should_reloadbind_socketr   r   r   KeyboardInterruptra   osrQ   removestarted)7rH   r^   r_   ra   rb   rc   re   rf   rg   rh   ri   rk   rl   rm   rn   ro   rP   rS   rT   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   rX   r   r   r   r\   r   r   loggerserversocks7   &$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$    r    r   r     s   l 7#33 3 	3
 3 3 3 3  3 "3 *3 (3  63 3 3  !3"  #3$ (%3& ('3( ")3* +3, -3. /30 132 334 $536 $738  93: 0;3< =3> ,?3@ A3B .C3D #<E3F .G3H #<I3J $>K3L  M3N "O3P 2Q3R  S3T $U3V "W3X  Y3Z 0[3\ ]3^ _3` a3b 'Dc3d ,e3Fh }}}*#s##&&7FNNopHH_%6"F"%%'D

TFCGGI^^a%%'D$0446JJL :::"''..44IIfjj!>>>&"6"6"66>>Q;N! <O"6>   :::"''..44IIfjj! 5:sJ   A	J+ #J< $=J+ !J< "J+ 2J< +J96J< 8J99J< <AL!>#L!c                    V ^8  d   QhRRRR/# )r   namer   r   r   r   )r   s   "r    r!   r!   x  s     	G 	Gc 	Gc 	Gr"   c                    V R 8X  d$   \         P                  ! R\        4       ^ RIHp V# \        R\         RV  24      h)ServerStatezOuvicorn.main.ServerState is deprecated, use uvicorn.server.ServerState instead.)r   zmodule z has no attribute )warningswarnDeprecationWarninguvicorn.serverr   AttributeError__name__)r   r   s   & r    __getattr__r   x  s@    }]	
 	/
78*,>tfE
FFr"   __main__)>
__future__r   asyncior   r   r@   sslr   r   collections.abcr   configparserr   typingr   r   r   r<   r>   uvicorn._typesr	   uvicorn.configr
   r   r   r   r   r   r   r   r   r   r   r   r   r   uvicorn.supervisorsr   r   ChoicelistkeysLEVEL_CHOICESLIFESPAN_CHOICESINTERFACE_CHOICESr.   r   r   rD   commandargumentoptionr   r`   Pathrj   r4   	CERT_NONEr   r   r   r   r   r"   r    <module>r      s
   "   	  
 
  $ ( $ $   *    " :T*//"345<<X]]_ 56 LL, L 
		?	+ !5y ABm,		$ 		L gC4STf33^_j$<QR	]	4	  
@	 
	 		_ 	
=	 	/	- 	/0	( 
	~.	- 		. 		= 		. 		- 		4 		# 		E 	4	 	* 	4	 	M 		% "	%	 "	,	 (	l	 (	0	 $	.	 	
.	 		W	 		i	 		;	 		P	 !	
P 		d !		C	 "		V oCNY]^		 		 	$%	7 		K 		 		Y 	L	 	0 
2	 %#		Q 	c 	Qg _ S ` U - CN
gTG" G" 	G"
 G" G" #)G" =CG" 9?G"  G" G" &*G" %)G" $(G" $G"   &!G"" #G"$ +/%G"& /3'G"( /3)G"* +G", -G". /3/G"0 ^l1G"2 #'3G"4 5G"6 7G"8 9G": ;G"< 37=G"> ?G"@ %)AG"B CG"D &*EG"F &'GG"H  IG"J -1KG"L '(MG"N 26OG"P 37QG"R (,SG"T ,UG"V WG"X 37YG"Z #[G"\ dh]G"^ -1_G"` #aG"b cG"d eG"f 15gG"h $iG"T	G zF r"   