
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
U
    'â7`ÙE  ã                   @   sX  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 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 ddlmZ ddlmZ dd	lmZ dd
lmZ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,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZW ddlXmYZY ddlZm[Z[ ddl\m]Z]m^Z^ ddl_m`Z`maZambZb ddlcmdZdmeZemfZf ddlgmhZhmiZimjZjmkZk ddllmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZz ddl{m|Z|m}Z}m~Z~mZm€Z€m�Z�m‚Z‚mƒZƒm„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‘ ddl’m“Z“m”Z”m•Z• dZ–zd dl—m˜Z˜ W n e™k
�ræ   eZ˜Y nX eeš Z›ddddddeœde[e[j�eddddœeeee f eeeše›f  eež eeš eej eŸee˜ ed ežee ešeej  e¡ee¡ ee¡ ddœdd „Z¢ed! e j£dd"œd#d$„Z¤ddddddeœde[e[j�eddddœeeee f eeeše›f  eež eeš eej eŸee˜ ed ežee ešeej  e¡ee¡ ee¡ ddœd%d&„Z¥eeš dd'œd(d)„Z¦e§d*k�rTe¦ej¨dd… ƒ dS )+é    N)ÚArgumentParser)ÚIterable)Úimport_module)
ÚAnyÚ	AwaitableÚCallabler   ÚListÚOptionalÚSetÚTypeÚUnionÚcasté   )ÚAbstractAccessLogger)Ú	all_tasks)Úaccess_logger)ÚApplicationÚCleanupError)9ÚHTTPAcceptedÚHTTPBadGatewayÚHTTPBadRequestÚHTTPClientErrorÚHTTPConflictÚHTTPCreatedÚ	HTTPErrorÚHTTPExceptionÚHTTPExpectationFailedÚHTTPFailedDependencyÚHTTPForbiddenÚ	HTTPFoundÚHTTPGatewayTimeoutÚHTTPGoneÚHTTPInsufficientStorageÚHTTPInternalServerErrorÚHTTPLengthRequiredÚHTTPMethodNotAllowedÚHTTPMisdirectedRequestÚHTTPMovedPermanentlyÚHTTPMultipleChoicesÚ!HTTPNetworkAuthenticationRequiredÚHTTPNoContentÚHTTPNonAuthoritativeInformationÚHTTPNotAcceptableÚHTTPNotExtendedÚHTTPNotFoundÚHTTPNotImplementedÚHTTPNotModifiedÚHTTPOkÚHTTPPartialContentÚHTTPPaymentRequiredÚHTTPPermanentRedirectÚHTTPPreconditionFailedÚHTTPPreconditionRequiredÚHTTPProxyAuthenticationRequiredÚHTTPRedirectionÚHTTPRequestEntityTooLargeÚHTTPRequestHeaderFieldsTooLargeÚHTTPRequestRangeNotSatisfiableÚHTTPRequestTimeoutÚHTTPRequestURITooLongÚHTTPResetContentÚHTTPSeeOtherÚHTTPServerErrorÚHTTPServiceUnavailableÚHTTPSuccessfulÚHTTPTemporaryRedirectÚHTTPTooManyRequestsÚHTTPUnauthorizedÚHTTPUnavailableForLegalReasonsÚHTTPUnprocessableEntityÚHTTPUnsupportedMediaTypeÚHTTPUpgradeRequiredÚHTTPUseProxyÚHTTPVariantAlsoNegotiatesÚHTTPVersionNotSupported)ÚFileResponse)ÚAccessLogger)Ú
middlewareÚnormalize_path_middleware)ÚPayloadAccessErrorÚRequestHandlerÚRequestPayloadError)ÚBaseRequestÚ	FileFieldÚRequest)ÚContentCodingÚResponseÚStreamResponseÚjson_response)ÚAbstractRouteDefÚRouteDefÚRouteTableDefÚ	StaticDefÚdeleteÚgetÚheadÚoptionsÚpatchÚpostÚputÚrouteÚstaticÚview)	Ú	AppRunnerÚ
BaseRunnerÚBaseSiteÚGracefulExitÚNamedPipeSiteÚServerRunnerÚSockSiteÚTCPSiteÚUnixSite)ÚServer)
ÚAbstractResourceÚAbstractRouteÚDynamicResourceÚPlainResourceÚResourceÚResourceRouteÚStaticResourceÚUrlDispatcherÚUrlMappingMatchInfoÚView)ÚWebSocketReadyÚWebSocketResponseÚ	WSMsgType)nr   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/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rn   ro   rp   rq   rm   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   Úrun_app)Ú
SSLContextg      N@é€   T©ÚhostÚportÚpathÚsockÚshutdown_timeoutÚssl_contextÚprintÚbacklogÚaccess_log_classÚaccess_log_formatÚ
access_logÚhandle_signalsÚreuse_addressÚ
reuse_port).N)Úappr„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   Úreturnc                Ã   s$  t  | ¡r| I d H } tt| ƒ} t| ||	|
|d�}| ¡ I d H  g }�zÊ|d k	rªt|tt	t
tfƒr€| t||||||||d�¡ qÞ|D ]"}| t||||||||d�¡ q„n4|d krº|d ksÂ|d k	rÞ| t|||||||d�¡ |d k	�r:t|tt	t
tfƒ�r| t|||||d�¡ n$|D ]}| t|||||d�¡ �q|d k	�rŽt|tƒ�sj| t|||||d�¡ n$|D ]}| t|||||d�¡ �qn|D ]}| ¡ I d H  �q’|�rÖtdd„ |jD ƒƒ}|d d |¡¡ƒ tjd	k�rôtjd
k �rôd}nd}t  |¡I d H  �qøW 5 | ¡ I d H  X d S )N)r�   rŒ   r�   rŽ   )rˆ   r‰   r‹   r�   r‘   )r…   rˆ   r‰   r‹   r�   r‘   )rˆ   r‰   r‹   c                 s   s   | ]}t |jƒV  qd S )N)ÚstrÚname)Ú.0Ús© r˜   ú>/opt/alt/python38/lib64/python3.8/site-packages/aiohttp/web.pyÚ	<genexpr>ž  s     z_run_app.<locals>.<genexpr>z6======== Running on {} ========
(Press CTRL+C to quit)z, Úwin32)é   é   r   i  )ÚasyncioÚiscoroutiner   r   ri   ÚsetupÚcleanupÚ
isinstancer”   ÚbytesÚ	bytearrayÚ
memoryviewÚappendrp   rq   r   ro   ÚstartÚsortedÚsitesÚformatÚjoinÚsysÚplatformÚversion_infoÚsleep)r’   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   Zrunnerr©   ÚhÚpr—   ÚsiteÚnamesÚdelayr˜   r˜   r™   Ú_run_app  sØ    


ûøÿøÿùÿ
ûÿ
ûÿ

ûÿ
ûÿ	ÿÿrµ   zasyncio.Task[Any])Ú	to_cancelÚloopr“   c                 C   sl   | sd S | D ]}|  ¡  q| tj| |ddœŽ¡ | D ]0}| ¡ rDq6| ¡ d k	r6| d| ¡ |dœ¡ q6d S )NT)r·   Zreturn_exceptionsz1unhandled exception during asyncio.run() shutdown)ÚmessageÚ	exceptionÚtask)ÚcancelÚrun_until_completerž   ZgatherÚ	cancelledr¹   Zcall_exception_handler)r¶   r·   rº   r˜   r˜   r™   Ú_cancel_tasks²  s"    
ÿýÿr¾   c                C   sæ   t  ¡ }| ¡ rL|rL|jdkrL|jtjkr6| tj¡ | 	¡ sL| 
t ¡ ¡ zXz:| t| |||||||||	|
||||d�¡}| |¡ W n ttfk
r    Y nX W 5 t|h|ƒ tt|ƒ|ƒ tjdkrØ| | ¡ ¡ | ¡  X dS )zRun an app locallyzaiohttp.access)rœ   é   rƒ   N)rž   Zget_event_loopZ	get_debugr•   ÚlevelÚloggingÚNOTSETÚsetLevelÚDEBUGÚhasHandlersÚ
addHandlerÚStreamHandlerr¾   r   r¬   r®   r¼   Zshutdown_asyncgensÚcloseZcreate_taskrµ   rl   ÚKeyboardInterrupt)r’   r„   r…   r†   r‡   rˆ   r‰   rŠ   r‹   rŒ   r�   rŽ   r�   r�   r‘   r·   Z	main_taskr˜   r˜   r™   r€   Ì  sD    ñÿ

r€   )Úargvr“   c              
   C   sx  t ddd�}|jdddd� |jdd	d
dd� |jdddtdd� |jdddd� | | ¡\}}|j d¡\}}}|rz|s„| d¡ | d¡r˜| d¡ zt|ƒ}W n8 t	k
rÜ } z| d|› d|› �¡ W 5 d }~X Y nX zt
||ƒ}	W n, tk
�r   | d|›d|›�¡ Y nX |jd k	�r<ttdƒ�s<| d¡ tjtjd � |	|ƒ}
t|
|j|j|jd!� |jd"d#� d S )$Nzaiohttp.web Application serverzaiohttp.web)ÚdescriptionÚprogÚ
entry_funczvCallable returning the `aiohttp.web.Application` instance to run. Should be specified in the 'module:function' syntax.z
entry-func)ÚhelpÚmetavarz-Hz
--hostnamez2TCP/IP hostname to serve on (default: %(default)r)Z	localhost)rÎ   Údefaultz-Pz--portz.TCP/IP port to serve on (default: %(default)r)Z8080)rÎ   ÚtyperÐ   z-Uz--pathzjUnix file system path to serve on. Specifying a path will cause hostname and port arguments to be ignored.)rÎ   ú:z,'entry-func' not in 'module:function' syntaxÚ.z#relative module names not supportedzunable to import z: zmodule z has no attribute ÚAF_UNIXz=file system paths not supported by your operating environment)rÀ   )r„   r…   r†   zStopped
)r¸   )r   Úadd_argumentÚintZparse_known_argsrÍ   Ú	partitionÚerrorÚ
startswithr   ÚImportErrorÚgetattrÚAttributeErrorr†   ÚhasattrÚsocketrÁ   ÚbasicConfigrÄ   r€   Úhostnamer…   Úexit)rÊ   Z
arg_parserÚargsZ
extra_argvZmod_strÚ_Zfunc_strÚmoduleÚexÚfuncr’   r˜   r˜   r™   Úmain  sb     ÿúüûý


(ÿrç   Ú__main__)©rž   rÁ   rÞ   r¬   Úargparser   Úcollections.abcr   Ú	importlibr   Útypingr   r   r   ZTypingIterabler   r	   r
   r   r   r   Úabcr   Zhelpersr   Úlogr   Zweb_appr   r   Zweb_exceptionsr   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/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   Zweb_fileresponserM   Zweb_logrN   Zweb_middlewaresrO   rP   Zweb_protocolrQ   rR   rS   Zweb_requestrT   rU   rV   Zweb_responserW   rX   rY   rZ   Zweb_routedefr[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   Z
web_runnerri   rj   rk   rl   rm   rn   ro   rp   rq   Z
web_serverrr   Zweb_urldispatcherrs   rt   ru   rv   rw   rx   ry   rz   r{   r|   Zweb_wsr}   r~   r   Ú__all__Zsslr�   rÚ   r”   ZHostSequencerŠ   Z
LOG_FORMATrÖ   ÚfloatÚLoggerÚboolrµ   ZAbstractEventLoopr¾   r€   rç   Ú__name__rÊ   r˜   r˜   r˜   r™   Ú<module>   sÊ   0ì;@,0
ðï  þðï;=
