3 \�.�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z dd�Z gZ dd�Z dd�Z dd �Zd d �Zd d �Zddd�Zddd�ZGdd�d�Ze�jZddd�ZdS)�NcCsdS)Na' --> --> �rrr�/usr/lib64/python3.6/cgitb.py�reset#srcCs|rd|dSdSdS)Nzz�r)�textrrr�small.s rcCs|rd|dSdSdS)Nzz rr)rrrr�strong4s rcCs|rd|dSdSdS)Nzzrr)rrrr�grey:s r cCs�||krd||fS||jkr,d|j|fSd|jkr~|jd}t|�ti�krf||kr~d||fSnt||�r~dt||�fSdtfS)N�local�global� __builtins__�builtin)� f_globals�type�hasattr�getattr� __UNDEF__)�name�frame�locals�builtinsrrr�lookup@s     rcCs�gdddtf\}}}}}x�tj|�D]�\}} } } } |tjkr>P|tjkr�| tjkr�|dkr�|tk r�t|| t�}|j|| ||f�q�t | ||�\} }|j| | |f�n"| dkr�||d7}|}nd\}}| }q$W|S)Nr�.)Nr) r�tokenize�generate_tokens�NEWLINE�NAME�keyword�kwlistr�appendr)�readerrr�varsZ lasttoken�parent�prefix�valueZttype�token�start�end�line�whererrr�scanvarsPs"   r*�c" s�|\}}}t|t�r|j}dtjj�ddtj}tjtj��}dt j j dt t j j t|���dd|d|�d }d td d �d }g} tj||�} �xJ| D�]@\} �} } }}�r�tjj���d�t j j ��f}nd�}tj| �\}}}}d}| dk�r2dt t j j | ��tj||||dd�d�}i�| gf��fdd� }t|| |�}dd||fg}|dk �r| |}x�|D]�}td d tt|��t|��d }|�k�r�d|t j j|�f}|jd|�n&d|t j j|�f}|jdt|��|d7}�q~Wig}}x�|D]�\}}} ||k�r0�qd||<| tk �r�|d,k�r^d |t |�}n*|d!k�rrt |�}n|t |jd"�d-�}|jd#|t j j| �f�n|j|d$��qW|jdttd%j|����| jd&d'j|��q�Wd(t t j j t|���t j j t|��fg}!xNt|�D]B}|dd�d)k�r:�q t j jt ||��} |!jd*||| f��q W|dj| �dj|!�d+t j j djt!j"|||���S).NzPython rz: zz%sz#ffffffz#6622aaz
z�

A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.

zz r+z  z%s�?rzin cSsdtjj|�S)N�=)�pydoc�html�repr)r$rrr��szhtml..)� formatvaluec s4d�|d<ztj�|d�S|dd7<XdS)N�r)� linecache�getline)�lnum)�file� highlightrrr �s zhtml..readerz+%s%s %sz z=>%s%sz&%sz  %s%sz%sr3r r z %s r rz %s = %sz undefinedz, zF %s
� z

%s: %s�_z
%s%s = %sz� )r r �����)#� isinstancer�__name__�sys�version�split� executable�time�ctimer.r/Zheadingr�escape�strr�inspect�getinnerframes�os�path�abspath� getargvalues�formatargvaluesr*�lenZ preformatrr rr0�join�dirr� traceback�format_exception)"�einfo�context�etype�evalue�etb�pyver�date�head�indent�frames�recordsrr6�func�lines�index�link�args�varargs�varkwr�callr r!�rows�ir(�num�done�dumprr)r$� exceptionr)r7r8rr/es|  0       $        r/c s�|\}}}t|t�r|j}dtjj�ddtj}tjtj��}dt |�||fd}g}t j ||�} �x�| D�]�\} �} } } }�r�t j j��p�d�t j| �\}}}}d}| dkr�d| t j||||d d �d �}i�| gf��fd d � }t|| |�}d�|fg}|dk �rL| |}x0| D](}d|}|j||j��|d7}�q Wig}}x�|D]�\}}}||k�rt�q\d||<|tk �r�|dk�r�d|}n|dk�r�||jd�d}|jd|tjj|�f�n|j|d��q\W|jdj|��|jddj|��qrWdt |�t |�fg}x8t|�D],}tjjt||��}|jdd||f��q.W|dj|�dj|�ddjtj|||��S) NzPython rz: z %s %s %s z� A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. r,rzin cSsdtjj|�S)Nr-)r.rr0)r$rrrr1�sztext..)r2c s4d�|d<ztj�|d�S|dd7<XdS)Nr3r)r4r5)r6)r7r8rrr �s ztext..readerz %s %sz%5d r3r zglobal r rz%s = %sz undefinedr9z %s z%s: %sz %s%s = %s� �zc The above is a description of an error in a Python program. Here is the original traceback: %s r;z )r<rr=r>r?r@rArBrCrErFrGrHrIrJrKrLr*r�rstriprr.rr0rNrOrrPrQ) rRrSrTrUrVrWrXrYr[r\rr6r]r^r_rarbrcrrdr r!rerfr(rgrhrirr)r$rjr)r7r8rr�s^            rc@s(eZdZd dd�Zdd�Zd d d �ZdS) �Hookr3Nr+r/cCs(||_||_||_|ptj|_||_dS)N)�display�logdirrSr>�stdoutr7�format)�selfrorprSr7rrrrr�__init__s  z Hook.__init__cCs|j|||f�dS)N)�handle)rsrTrUrVrrr�__call__ sz Hook.__call__c Csz|p tj�}|jdkr$|jjt��|jdkr2tp4t}d}y|||j�}Wn dj t j |��}d}YnX|j r�|r�t jj|�}|jjd|d�q�|jj|d�n |jjd�|jdk �rZd d g|jdk}tj||jd �\}}y.tj|d ��}|j|�WdQRXd |} Wnd|} YnX|jdk�rJ|jjd| �n|jj| d�y|jj�Wn YnXdS)Nr/FrTz

z
r9z*

A problem occurred in a Python script. z.txtz.html)�suffixrO�wz*%s contains the description of this error.z*Tried to save traceback to %s, but failed.z

%s

)r>�exc_inforrr7�writerr/rrSrNrPrQror.rDrp�tempfileZmkstemprH�fdopen�flush) rs�infoZ formatterZplain�docrw�fdrIr7�msgrrrrus@        z Hook.handle)r3Nr+Nr/)N)r=� __module__� __qualname__rtrvrurrrrrns rnr3cCst||||d�t_dS)N)rorprSrr)rnr>� excepthook)rorprSrrrrr�enable8sr�)r+)r+)r3Nr+r/)rFrr4rHr.r>r{rBrrPrrrrr rr*r/rrnruZhandlerr�rrrr�s*  Z A7