o
    [Þh5E  ã                8   @  s¬  d dl m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 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 d dl m!Z! d dl"m#Z#m$Z$ e %e&e '¡ ƒ¡Z(e %e&e '¡ ƒ¡Z)e %e¡Z*dådd„Z+dZ,e -d¡Z.dædd„Z/ej0ddid�ej1ddd�ej2d e3d!d"d#d$�ej2d%e4d&d'd#d$�ej2d(e3dd)d*�ej2d+e4dd,d*�ej2d-d#d.d/d0�ej2d1d2d#d3ej5d#d4�d5�ej2d6d7d#d8d9�ej2d:d;d#d<d9�ej2d=e6d>d#d?d@�ej2dAde4dBdC�ej2dDe3e+eƒdEdFd#dG�ej2dHe3e+eƒdEdId#dG�ej2dJe3e+eƒdEdKd#dG�ej2dLe4dMdNd#d$�ej2dOe4dPdQd#d$�ej2dRe6dSdTd#d$�ej2dUe6dSdVd#d$�ej2dWe7d#dXd#d$�ej2dYe)dEdZd#d$�ej2d[e*dEd\d#d$�ej2d]ej5d#d4�dd^d#d$�ej2d_ej5d#d4�dd`d#d$�ej2dae(ddbd#d$�ej2dcd#d#ddd0�ej2ded#ddfd0�ej2dgd#d#dhd0�ej2did#d#djd0�ej2dkd#d#dld0�ej2dme3ddnd*�ej2doe3dpdqd*�ej2dre4ddsd*�ej2dte4dudvd*�ej2dwe4ddxd*�ej2dye4dzd{d#d$�ej2d|e4dd}d*�ej2d~e4dzdd#d$�ej2d€e3dd�d#d$�ej2d‚e3ddƒd#d$�ej2d„e3dd…d#d$�ej2d†e4e4eƒd‡d#d$�ej2dˆe4e4ej8ƒd‰d#d$�ej2dŠe3dd‹d#d$�ej2dŒe3d�dŽd#d$�ej2d�d�d#d‘d9�ej2d’d#e/d.d#d“d”�ej2d•dpd#d–d—�ej2d˜d™e4ddšd*�ej2d›d#d.dœd#d��dçdÑdÒ„ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒZ9d!d&dddEdEdEdMdPdSdSd#dEdEd.dddd>ddedd#d#d#d#ddpdduddzddzdddeej8dd�dddd.ddÓœ/dèdßdà„Z:dédâdã„Z;e<däk�rÔe9ƒ  dS dS )êé    )ÚannotationsN)ÚRawConfigParser)ÚIOÚAnyÚCallableÚget_args)ÚASGIApplication)Ú
INTERFACESÚLIFESPANÚ
LOG_LEVELSÚLOGGING_CONFIGÚSSL_PROTOCOL_VERSIONÚConfigÚHTTPProtocolTypeÚInterfaceTypeÚLifespanTypeÚLoopFactoryTypeÚWSProtocolType)ÚServer)ÚChangeReloadÚMultiprocessÚ_typer   ÚreturnÚstrc                 C  s    dd  dd„ t| ƒD ƒ¡› d�S )Nú[ú|c                 s  s   � | ]	}|d kr|V  qdS )ÚnoneN© )Ú.0Úkeyr   r   úL/var/www/html/premium_crap/venv/lib/python3.10/site-packages/uvicorn/main.pyÚ	<genexpr>'   s   € z%_metavar_from_type.<locals>.<genexpr>ú])Újoinr   )r   r   r   r    Ú_metavar_from_type&   s    r$   é   úuvicorn.errorÚctxúclick.ContextÚparamúclick.ParameterÚvalueÚboolÚNonec                 C  s@   |r| j rd S t djtjt ¡ t ¡ t 	¡ d�¡ |  
¡  d S )NzKRunning uvicorn {version} with {py_implementation} {py_version} on {system})ÚversionÚpy_implementationÚ
py_versionÚsystem)Úresilient_parsingÚclickÚechoÚformatÚuvicornÚ__version__ÚplatformÚpython_implementationÚpython_versionr1   Úexit)r'   r)   r+   r   r   r    Úprint_version/   s   
üÿr<   Ú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.)rC   rD   rE   z--fdz)Bind to socket from this file descriptor.z--reloadFzEnable auto-reload.)Úis_flagrD   rE   z--reload-dirÚreload_dirszRSet reload directories explicitly, instead of using the current working directory.)Úexists)ÚmultiplerE   rC   z--reload-includeÚreload_includeszÆSet 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.)rJ   rE   z--reload-excludeÚreload_excludeszÙSet 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.)rC   rD   rF   rE   z	--workersz~Number of worker processes. Defaults to the $WEB_CONCURRENCY environment variable if available, or 1. Not valid with --reload.)rD   rC   rE   z--loopÚautoz"Event loop factory implementation.)rC   ÚmetavarrD   rE   rF   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 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-ipszóComma 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--timeout-keep-aliveé   zYClose 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-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.)rG   ÚcallbackÚexpose_valueÚis_eagerrE   z	--app-dirzuLook for APP in the specified directory, by adding this to the PYTHONPATH. Defaults to the current working directory.)rD   rF   rE   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.)rG   rD   rE   rF   ÚhostÚportÚintÚudsÚfdÚloopúLoopFactoryType | strÚhttpúHTTPProtocolType | strÚwsúWSProtocolType | strÚws_max_sizeÚws_max_queueÚws_ping_intervalÚfloatÚws_ping_timeoutÚws_per_message_deflateÚlifespanr   Ú	interfacer   Úreloadú	list[str]Ú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ú
int | NoneÚtimeout_worker_healthcheckÚssl_keyfileÚssl_certfileÚssl_keyfile_passwordÚssl_versionÚssl_cert_reqsÚssl_ca_certsÚssl_ciphersÚ
use_colorsÚapp_dirÚfactoryc0           0      C  sö  t | fi d|“d|“d|“d|“d|“d|“d|“d|“d	|	“d
|
“d|“d|“d|“d|“d|d u r5tn|“d|“d|“d|“d|“d|pGd “d|pLd “d|p¦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/|/“d0|-“d1|.“Ž d S “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/|/“d0|-“d1|.“Ž d S )2NrX   rY   r[   r\   r]   r_   ra   rc   rd   re   rg   rh   ri   ro   rp   rq   rr   rj   rk   rH   rK   rL   rm   rn   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r~   r   r€   r�   r‚   rƒ   r„   r…   rS   c                 S  s   g | ]}|  d d¡‘qS )ú:é   )Úsplit)r   Úheaderr   r   r    Ú
<listcomp>Ó  s    zmain.<locals>.<listcomp>r†   rˆ   r‡   rW   )Úrunr   )0r@   rX   rY   r[   r\   r]   r_   ra   rc   rd   re   rg   rh   ri   rj   rk   rH   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…   rS   r†   r‡   rW   rˆ   r   r   r    Úmain=   s4    lÿþýüûúùø	÷
öõôóòñ€ðïîíì€ë€êéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ðéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ðr�   )/rX   rY   r[   r\   r]   r_   ra   rc   rd   re   rg   rh   ri   rj   rk   rH   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…   rS   r†   r‡   rˆ   rW   ú*ASGIApplication | Callable[..., Any] | strú
str | Noneú/type[asyncio.Protocol] | HTTPProtocolType | strú-type[asyncio.Protocol] | WSProtocolType | strúfloat | Noneúlist[str] | str | Noneústr | os.PathLike[str] | Noneú7dict[str, Any] | str | RawConfigParser | IO[Any] | Noneústr | int | Noneúlist[tuple[str, str]] | Noneúbool | Nonec       /   4   	   C  sr  |-d urt 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.|.“d/|/“Ž}0t|0d0�}1|0js¨|0jd1kr¼t| tƒs¼t	 
d2¡}2|2 d3¡ t  d1¡ zLz.|0jrÑ|0 ¡ }3t|0|1j|3gd4� ¡  n|0jd1kræ|0 ¡ }3t|0|1j|3gd4� ¡  n|1 ¡  W n	 tyô   Y nw W |0j�rtj |0j¡�rt |0j¡ n|0j�rtj |0j¡�rt |0j¡ w w w |1j�s3|0j�s5|0jd1k�r7t  t¡ d S d S d S d S )5Nr   rX   rY   r[   r\   r]   r_   ra   rc   rd   re   rg   rh   ri   rj   rk   rH   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…   rS   r†   rˆ   rW   )ÚconfigrŠ   r&   zRYou must pass the application as an import string to enable 'reload' or 'workers'.)ÚtargetÚsockets)ÚsysÚpathÚinsertr   r   rk   rn   Ú
isinstancer   ÚloggingÚ	getLoggerÚwarningr;   Úshould_reloadÚbind_socketr   rŽ   r   ÚKeyboardInterruptr[   ÚosrI   ÚremoveÚstartedÚSTARTUP_FAILURE)4r@   rX   rY   r[   r\   r]   r_   ra   rc   rd   re   rg   rh   ri   rj   rk   rH   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…   rS   r†   r‡   rˆ   rW   r›   ÚserverÚloggerÚsockr   r   r    rŽ   Û  sø   3ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ
1



€ÿ€€ÿÿÿrŽ   Únamec                 C  s8   | dkrt  dt¡ ddlm} |S tdt› d| › �ƒ‚)NÚServerStatezOuvicorn.main.ServerState is deprecated, use uvicorn.server.ServerState instead.r   )r°   zmodule z has no attribute )ÚwarningsÚwarnÚDeprecationWarningÚuvicorn.serverr°   ÚAttributeErrorÚ__name__)r¯   r°   r   r   r    Ú__getattr__\  s   þr·   Ú__main__)r   r   r   r   )r'   r(   r)   r*   r+   r,   r   r-   )br@   r   rX   r   rY   rZ   r[   r   r\   rZ   r]   r^   r_   r`   ra   rb   rc   rZ   rd   rZ   re   rf   rg   rf   rh   r,   ri   r   rj   r   rk   r,   rH   rl   rK   rl   rL   rl   rm   rf   rn   rZ   ro   r   rp   r   rq   r   rr   r,   rs   r,   rt   r,   ru   r,   rv   r   rw   r   rx   rZ   ry   rZ   rz   rZ   r{   rZ   r|   r}   r~   rZ   r   r   r€   r   r�   r   r‚   rZ   rƒ   rZ   r„   r   r…   r   rS   rl   r†   r,   r‡   r   rW   r}   rˆ   r,   r   r-   )br@   r�   rX   r   rY   rZ   r[   r‘   r\   r}   r]   r^   r_   r’   ra   r“   rc   rZ   rd   rZ   re   r”   rg   r”   rh   r,   ri   r   rj   r   rk   r,   rH   r•   rK   r•   rL   r•   rm   rf   rn   r}   ro   r–   rp   r—   rq   r˜   rr   r,   rs   r,   rt   r,   ru   r,   rv   r•   rw   r   rx   r}   ry   rZ   rz   r}   r{   rZ   r|   r}   r~   rZ   r   r–   r€   r–   r�   r‘   r‚   rZ   rƒ   rZ   r„   r–   r…   r   rS   r™   r†   rš   r‡   r‘   rˆ   r,   rW   r}   r   r-   )r¯   r   r   r   )=Ú
__future__r   Úasyncior¢   r¨   r8   Ússlrž   r±   Úconfigparserr   Útypingr   r   r   r   r3   r6   Úuvicorn._typesr   Úuvicorn.configr	   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£   r­   r<   ÚcommandÚargumentÚoptionr   rZ   ÚPathrf   r,   Ú	CERT_NONEr�   rŽ   r·   r¶   r   r   r   r    Ú<module>   sö   4



ûû
ûüü	ûüúúúûûûûûûû
û
ûûüüüüüü	üüüüûüûûûûûûûüúüûûniÏ 


ÿ