o
    [Zh                      @   s   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 Zdd Zedkrrdej	vrVej
dkrDd dlZeejd  Zeejjejd < n
ejd  d	 ejd < ed ejd = z	eejd
 W n	 eyh   Y nw eeej dS dS )    Nc              
      s  | j d u rttjd t_}t|j ddl	m
} ddlm}mm} ddlm}m}m} | jd uretjdkrRtt t krGt  t dkrRtd tjtjtjfD ]
}|d urd|  qZ| jrsj jtjO  _| j d ur|| j _ j!dd "d	 | j#|_$| jd u rt%&t'd
d(d|_$i }	z|)| j*| j \}
}W n  t+y } z| jd u r ddt,| i}	W Y d }~nd }~ww |
|d|	d< | jd urkz|) \}}W n t+y } zddt,| i}	W Y d }~nd }~ww ||d|	d< -d| j|.|	 z>|/ }z1|0d  |1d| jf |2dd}z|3|4|	&d W |  n|  w W |5| n|5| w W n t+y[   6d Y nw d|	v rk7d td t8d  d ur-d |.|	  fdd}z&t d}t| t9|4|	|d W d    n	1 sw   Y  W n t+y   6d Y nw | j d u r|:d  t|j; t|j; |<  -d! |=  -d" d S )#Nwr   )adapter)jsonlogsockets)clientsserverssessionsposixzdebugpy.adapter)prefixz$debugpy.adapter startup environment:    hexasciierrorz%Can't listen for client connections: )hostportclientz%Can't listen for server connections: serverz<Sending endpoints info to debug server at localhost:{0}:
{1}	127.0.0.1wbzutf-8z-Error sending endpoints info to debug server:z#Couldn't set up endpoints; exiting.   ZDEBUGPY_ADAPTER_ENDPOINTSz$Writing endpoints info to {0!r}:
{1}c                      sB    d  zt  W d S  ty    jd dd Y d S w )Nz%Listener ports closed; deleting {0!r}zFailed to delete {0!r}warning)level)infoosremove	ExceptionZswallow_exception Zlistener_filer   r   O/var/www/html/lang_env/lib/python3.10/site-packages/debugpy/adapter/__main__.pydelete_listener_filei   s   z"main.<locals>.delete_listener_file)filez%Error writing endpoints info to file:stdiozAAll debug servers disconnected; waiting for remaining sessions...z'All debug sessions have ended; exiting.)>r   openr   devnullsysstderratexitregisterclosedebugpyr   Zdebugpy.commonr   r   r   Zdebugpy.adapterr   r   r	   
for_servernamegetsidgetpidsetsidforkexitstdinstdout
log_stderrZlevelssetZLEVELSZlog_dirZto_fileZdescribe_environmentZserver_access_tokenZaccess_tokencodecsencodeurandomdecodeZserver   r   strr   reprZcreate_client
settimeoutconnectmakefilewritedumpsZclose_socketZreraise_exceptionr   getenvprintZClientZstop_servingZwait_until_disconnectedZwait_until_ended)argsr&   r   r   r   r   r   r	   r"   Z	endpointsZclient_hostZclient_portexcZserver_hostZserver_portsockZsock_ior    fr   r   r   main   s   













	


rG   c                 C   s   t  }|jdtdt jd |jdtd ddd |jdtdd	d
d |jdtdd |jdtdd |jdtddd |jdddd || dd  }|jd u rc|jrY|	d |j
d urc|	d |S )Nz--for-serverZPORT)typemetavarhelpz--portz;start the adapter in debugServer mode on the specified port)rH   defaultrI   rJ   z--hostr   ZHOSTz;start the adapter in debugServer mode on the specified hostz--access-tokenz%access token expected from the server)rH   rJ   z--server-access-tokenz#access token expected by the serverz	--log-dirDIRz/enable logging and use DIR to save adapter logsz--log-stderr
store_truezenable logging to stderr)actionrJ   r   z--log-stderr requires --portz--for-server requires --port)argparseArgumentParseradd_argumentintSUPPRESSr:   
parse_argsr   r4   r   r+   )argvparserrC   r   r   r   _parse_argv   sP   




rW   __main__r*   ntz/../../ )rO   r'   r6   localer   r%   rG   rW   __name__modulesr,   pathlibPathpathZwindows_pathr:   parent
__import__	setlocaleLC_ALLr   rU   r   r   r   r   <module>   s0   y5

