o
    ei                  	   @   sV   d dl Z d dlZd dlZd dlmZ d dlmZ e	ddededed	 fd
dZdS )    N)	Generator)contextmanager	trace.fxt/tmp/magic-traceoutputmagic_trace_cachereturn)NNNc              	   c   sH   t  }t j|s$td|  tdd|ddg tdd|g |dd	t|d
| g}tj|tj	dd}|j
d u r@td	 |j
 }t| d|v rOnqAz,d V  W |tj | }|j
d urpt|j
  |j
  |dkr{td| d S |tj | }|j
d urt|j
  |j
  |dkrtd| w )NzDownloading magic_trace to: wgetz-Oz-qzNhttps://github.com/janestreet/magic-trace/releases/download/v1.0.2/magic-tracechmodz+xattachz-pidz-ozutf-8)stderrencodingzExpected stderr to be non-NoneTAttachedr   zmagic_trace exited abnormally: )osgetpidpathexistsprint
subprocessrunstrPopenPIPEr   AssertionErrorreadlinesend_signalsignalSIGINTwaitreadclose
ValueError)r   r   pidargspxr r'   c/var/www/addictedbytheproject.nl/epg/venv/lib/python3.10/site-packages/functorch/dim/magic_trace.pymagic_trace   sP   	





r)   )r   r   )	r   r   r   collections.abcr   
contextlibr   r   r)   r'   r'   r'   r(   <module>   s   