
    Ki84                       % S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKrS SKrS SKrS SKJrJr  S SKJr  S SKJr  S SKJrJr  S SKrS SKJr  S SKJr  \(       a1  S S	KJr  S S
KJ r   S SK!J"r"  S SK#J$r$  S SK%J&r&  \\ -  \&-  \"-  \$-  r'S\(S'   \	RR                  \	RT                  4r+\R                  S:X  a  \+\	RX                  4-  r+\RZ                  " S5      r. " S S5      r/ " S S5      r0g)    )annotationsN)	GeneratorSequence)
formatdate)	FrameType)TYPE_CHECKING	TypeAlias)asyncio_run)Config)H11Protocol)HttpToolsProtocol)WebSocketProtocol)WebSocketsSansIOProtocol)
WSProtocolr	   	Protocolswin32zuvicorn.errorc                  "    \ rS rSrSrSS jrSrg)ServerState,   zH
Shared servers state that is available between all protocol instances.
c                \    SU l         [        5       U l        [        5       U l        / U l        g Nr   )total_requestssetconnectionstasksdefault_headersselfs    P/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/uvicorn/server.py__init__ServerState.__init__1   s%    +.5.1e
:<    )r   r   r   r   NreturnNone)__name__
__module____qualname____firstlineno____doc__r    __static_attributes__ r"   r   r   r   ,   s    =r"   r   c                      \ rS rSrSS jr\R                  SS j5       rSSS jjrSSS jjr	SSS jjr
SSS jjrSS	 jrSS
 jrSS jrSSS jjrSS jr\R$                  SS j5       rSS jrSrg)Server8   c                t    Xl         [        5       U l        SU l        SU l        SU l        SU l        / U l        g )NFg        )configr   server_statestartedshould_exit
force_exitlast_notified_captured_signals)r   r1   s     r   r    Server.__init__9   s7    'M  ,.r"   c                    U R                   R                  c  g U R                   R                  [        R                  " SU R                   R                  5      -   $ r   )r1   limit_max_requestsrandomrandintlimit_max_requests_jitterr   s    r   r:   Server.limit_max_requestsD   s?    ;;))1{{--q$++BgBg0hhhr"   Nc                `    [        U R                  US9U R                  R                  5       S9$ )Nsockets)loop_factory)r
   server1   get_loop_factoryr   rA   s     r   run
Server.runJ   s'    4::g:6T[[EaEaEcddr"   c                   #    U R                  5          U R                  U5      I S h  vN   S S S 5        g  N! , (       d  f       g = f7fN)capture_signals_serverE   s     r   rC   Server.serveM   s6     !!#++g&&& $#& $#s%   A	868	A	8
AA	c                f  #    [         R                  " 5       nU R                  nUR                  (       d  UR	                  5         UR                  U5      U l        SnS[        R                  " SSS9-   S-   n[        R                  XBSU0S9  U R                  US	9I S h  vN   U R                  (       d  U R                  5       I S h  vN   U R                  (       aK  U R                  US	9I S h  vN   S
nS[        R                  " SSS9-   S-   n[        R                  XBSU0S9  g g  N Nc N=7f)NzStarted server process [%d]zStarted server process [z%dcyan)fg]color_messageextrar@   zFinished server process [%d]zFinished server process [)osgetpidr1   loadedloadlifespan_classlifespanclickstyleloggerinfostartupr4   	main_loopr3   shutdown)r   rA   
process_idr1   messagerQ   s         r   rK   Server._serveQ   s     YY[
}}KKM--f5/2U[[&5QQTWWG/OPll7l+++.."""<<---0004G7%++dv:VVY\\MKKO]3SKT  	,"0s6   BD1 D+!(D1	D-
'D11D/2:D1-D1/D1c                &  ^ ^#    T R                   R                  5       I S h  vN   T R                   R                  (       a  ST l        g T R                  m S
   SUU 4S jjjn[        R
                  " 5       nUb      SS jn/ T l        U H  n[        R                  " 5       S:H  nTR                  S:  a  U(       a  U" U5      nUR                  X%TR                  TR                  S9I S h  vN nT R                  R                  U5        M     UnGOTR                  b  [        R                   " TR                  [        R"                  [        R$                  5      nUR                  X%TR                  TR                  S9I S h  vN nUR&                  c   eUR&                  nU/T l        GOKTR(                  b  Sn	[*        R,                  R/                  TR(                  5      (       a*  [*        R0                  " TR(                  5      R2                  n	UR5                  UTR(                  TR                  TR                  S9I S h  vN n[*        R6                  " TR(                  U	5        UR&                  c   eUR&                  nU/T l        Og UR                  UTR8                  TR:                  TR                  TR                  S	9I S h  vN nWR&                  c   eUR&                  nU/T l        Uc  T RI                  U5        O ST l%        g  GN GN1 GN N NP! [<         aX  n
[>        RA                  U
5        T R                   RC                  5       I S h  vN    [D        RF                  " S5         S n
A
NS n
A
ff = f7f)NTc                d   > TR                  TTR                  TR                  R                  U S9$ )N)r1   r2   	app_state_loop)http_protocol_classr2   rY   state)rg   r1   r   s    r   create_protocol'Server.startup.<locals>.create_protocolp   s9     --!..----	 .  r"   c                f    SSK Jn  U R                  [        R                  " 5       5      nU" U5      $ )Nr   )	fromshare)socketrm   sharerT   rU   )sockrm   	sock_datas      r   _share_socket%Server.startup.<locals>._share_socket   s&    
 - JJryy{3	 ++r"   Windows   )rp   sslbacklogi  )pathrv   rw   )hostportrv   rw   rI   )rg   z asyncio.AbstractEventLoop | Noner$   zasyncio.Protocol)rp   socket.SocketTyper$   r{   )&rY   r^   r4   r1   asyncioget_running_loopserversplatformsystemworkerscreate_serverrv   rw   appendfdrn   fromfdAF_UNIXSOCK_STREAMrA   udsrT   rx   existsstatst_modecreate_unix_serverchmodry   rz   OSErrorr\   errorr`   sysexit_log_started_messager3   )r   rA   rj   looprr   rp   
is_windowsserver	listeners	uds_permsexcr1   s   `          @r   r^   Server.startuph   s    mm##%%%==$$#D 7;	3		 	 '') ,',", >@DL%__.);
>>A%*(.D#11/RXR\R\flftft1uu##F+    IYY"==FNNF<N<NOD--ofjjbhbpbp-qqF>>---I"8DLZZ#Iww~~fjj))GGFJJ/77	22fjjfjj&.. 3  F HHVZZ+>>---I"8DL#11#

"NN  2    >>---I"8DL?%%i0 u 	&N v r  S!mm,,...s   NLCN1L"2BNL%CNL(A	N>L, L*L, AN"N%N(N*L, ,
N62N	(M+)N	N	NNc                   U R                   nUR                  b*  US   n[        R                  SUR	                  5       5        g UR
                  b!  [        R                  SUR
                  5        g SnUR                  c  SOUR                  nSU;   a  SnUR                  nUS:X  a  US   R	                  5       S   nUR                  (       a  S	OS
nSU S3nS[        R                  " USS9-   S-   n	[        R                  UUUUSU	0S9  g )Nr   z3Uvicorn running on socket %s (Press CTRL+C to quit)z8Uvicorn running on unix socket %s (Press CTRL+C to quit)z
%s://%s:%dz0.0.0.0:z%s://[%s]:%dru   httpshttpzUvicorn running on z (Press CTRL+C to quit)T)boldrQ   rR   )r1   r   r\   r]   getsocknamer   ry   rz   rv   rZ   r[   )
r   r   r1   rp   addr_formatry   rz   protocol_namerb   rQ   s
             r   r   Server._log_started_message   s   99 Q<DKKE  "
 ZZ#KKRTZT^T^_ 'K & 39Dd{,;;Dqy |//1!4'-zzGvM+K=8OPG1EKKRV4WWZssMKK&6  r"   c                   #    SnU R                  U5      I S h  vN nU(       dK  US-  nUS-  n[        R                  " S5      I S h  vN   U R                  U5      I S h  vN nU(       d  MJ  g g  NW N* N7f)Nr   ru   i / 皙?)on_tickr|   sleep)r   counterr4   s      r   r_   Server.main_loop   sh      LL11qLG&G--$$$ $W 55K	 + 2 %5s9   A7A1.A7A3	A7!A5"A7/A73A75A7c                ~  #    US-  S:X  a  [         R                   " 5       n[        USS9R                  5       nU R                  R                  (       a  SU4/nO/ nX@R                  R
                  -   U R                  l        U R                  R                  bN  X R                  -
  U R                  R                  :  a(  X l	        U R                  R                  5       I S h  vN   U R                  (       a  gU R                  nUb1  U R                  R                  U:  a  [        R                  SU5        gg NW7f)N
   r   T)usegmts   datez:Maximum request limit of %d exceeded. Terminating process.F)timer   encoder1   date_headerencoded_headersr2   r   callback_notifyr6   timeout_notifyr4   r:   r   r\   r]   )r   r   current_timecurrent_dater   max_requestss         r   r   Server.on_tick   s    R<199;L%l4@GGIL{{&& '67 0;kk>Y>Y0YD- {{**6"4"44t{{7Q7QQ)5&++55777 ..#(9(9(H(HL(XKKTVbc 8s   C!D=#D;$AD=c                N  #    [         R                  S5        U R                   H  nUR                  5         M     U=(       d    /  H  nUR                  5         M     [	        U R
                  R                  5       H  nUR                  5         M     [        R                  " S5      I S h  vN    [        R                  " U R                  5       U R                  R                  S9I S h  vN   U R&                  (       d#  U R(                  R                  5       I S h  vN   g g  Ny N;! [        R                   ab    [         R                  S[!        U R
                  R"                  5      5        U R
                  R"                   H  nUR%                  SS9  M      Nf = f N7f)NzShutting downr   )timeoutz=Cancel %s running task(s), timeout graceful shutdown exceededz2Task cancelled, timeout graceful shutdown exceeded)msg)r\   r]   r~   closelistr2   r   r`   r|   r   wait_for_wait_tasks_to_completer1   timeout_graceful_shutdownTimeoutErrorr   lenr   cancelr5   rY   )r   rA   r   rp   
connectionts         r   r`   Server.shutdown  sK    O$ llFLLN #MrMDJJL " t00<<=J! >mmC   	S"",,.==   --((*** # 	! ## 	SLLOD%%++, &&,,QR -	S +sU   B*F%,D&-F%2:D* ,D(-D* 1.F%F# F%(D* *A3F F%F  F%c                \  #    U R                   R                  (       a  U R                  (       d  Sn[        R	                  U5        U R                   R                  (       a]  U R                  (       dL  [
        R                  " S5      I S h  vN   U R                   R                  (       a  U R                  (       d  ML  U R                   R                  (       a  U R                  (       d  Sn[        R	                  U5        U R                   R                  (       a]  U R                  (       dL  [
        R                  " S5      I S h  vN   U R                   R                  (       a  U R                  (       d  ML  U R                   H  nUR                  5       I S h  vN   M     g  GN Na N7f)Nz8Waiting for connections to close. (CTRL+C to force quit)r   z@Waiting for background tasks to complete. (CTRL+C to force quit))
r2   r   r5   r\   r]   r|   r   r   r~   wait_closed)r   r   r   s      r   r   Server._wait_tasks_to_complete/  s    ((LCKK##//mmC((( ##// ""4??TCKK##))$//mmC((( ##))$/// llF$$&&& # ) ) 'sC   B	F,F%0F,>BF,F(0F,9"F,F*
F,(F,*F,c              #    #    [         R                  " 5       [         R                  " 5       La  S v   g [         Vs0 s H#  o[        R                  " XR
                  5      _M%     nn S v   UR                  5        H  u  p[        R                  " X5        M     [        U R                  5       H  n[        R                  " U5        M     g s  snf ! UR                  5        H  u  p[        R                  " X5        M     f = f7frI   )
	threadingcurrent_threadmain_threadHANDLED_SIGNALSsignalhandle_exititemsreversedr7   raise_signal)r   sigoriginal_handlershandlercaptured_signals        r   rJ   Server.capture_signalsA  s      ##%Y-B-B-DD SbbRa3&--5E5E"FFRab	, 1 7 7 9c+ !:
  ((>(>?O0  @ c !2 7 7 9c+ !:s)   9D*C%D(C ,A'D1DDc                    U R                   R                  U5        U R                  (       a  U[        R                  :X  a  SU l        g SU l        g )NT)r7   r   r4   r   SIGINTr5   )r   r   frames      r   r   Server.handle_exitU  s9    %%c*v}} 4"DO#Dr"   )	r7   r1   r5   r6   rY   r2   r~   r4   r3   )r1   r   r$   r%   )r$   z
int | NonerI   )rA   zlist[socket.socket] | Noner$   r%   )r   zSequence[socket.SocketType]r$   r%   r#   )r   intr$   bool)r$   zGenerator[None, None, None])r   r   r   zFrameType | Noner$   r%   )r&   r'   r(   r)   r    	functoolscached_propertyr:   rF   rC   rK   r^   r   r_   r   r`   r   
contextlibcontextmanagerrJ   r   r+   r,   r"   r   r.   r.   8   su    	/ i i
e'U.[z!F6<+@'$ 1 1&$r"   r.   )1
__future__r   r|   r   r   loggingrT   r   r;   r   rn   r   r   r   collections.abcr   r   email.utilsr   typesr   typingr   r	   rZ   uvicorn._compatr
   uvicorn.configr   uvicorn.protocols.http.h11_implr   %uvicorn.protocols.http.httptools_implr   ,uvicorn.protocols.websockets.websockets_implr   3uvicorn.protocols.websockets.websockets_sansio_implr   )uvicorn.protocols.websockets.wsproto_implr   r   __annotations__r   SIGTERMr   SIGBREAK	getLoggerr\   r   r.   r,   r"   r   <module>r      s    "     	     
   / "  +  ' !;GN\D&)::ZGJ[[^vvIyv MM
NN <<7))O			?	+	= 	=b$ b$r"   