B YI~d_R� @s�dZdZddlZddlZddlmZmZddlTddlm Z dd �e e �D�d d d gZ [ ye Wne k rzeZ YnXd d�Zdd�Zdd�Zdd�ZdZdZeede�ee�ZdZdZdZdZedd�Zeeeee�ZdZedd �ee�Zd!eZeee�Zed"ed#�Z ee ee�Z!d$Z"d%Z#d&Z$d'Z%d(Z&ee&d)e&d*�Z'ee&d+e&d,�Z(ed-d.d/d0d1d2d3d4d5� Z)d6Z*ed7d8d9�Z+ee)e*e+�Z,ee!e,e(e�Z-ee-Z.ee&d:ed;d�e&d<ed=d��Z/edee'�Z0eee0e!e,e/e�Z1e2ej3e.e1e$e%f�\Z4Z5Z6Z7ed>d?d@dA�ed>d?dBdC�BdDdEdFdGdHdIhBZ8e�3e"�e�3e#�e6e7dJ�dKdL�e8D�dMdL�e8D�dNdL�e8D��Z9d)d*hdOdP�e8D�BdQdP�e8D�BZ:d;d=hdRdP�e8D�BdSdP�e8D�BZ;dTZGdWdX�dXe=�Z?dYdZ�Z@e@fd[d �ZAd\d]�ZBGd^d_�d_�ZCe�3d`ejD�ZEe�3daejD�ZFdbdc�ZGddde�ZHdfd �ZIdgd �ZJeKdhk�r�ddlLZLeMeLjN�dk�r�eAeOeLjNd�jP�n eAeLjQjP�dS)izKa-Ping Yee z@GvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, Skip Montanaro�N)�BOM_UTF8�lookup)�*�)�tokencCsg|]}|ddkr|�qS)r�_�)�.0�xrr�;/opt/alt/python37/lib64/python3.7/lib2to3/pgen2/tokenize.py� %sr �tokenize�generate_tokens� untokenizecGsdd�|�dS)N�(�|�))�join)�choicesrrr �group0�rcGs t|�dS)Nr)r)rrrr �any1rrcGs t|�dS)N�?)r)rrrr �maybe2rrcst�fdd��D��S)Nc3s4|],}�dD]}|��|��kr||VqqdS))�N)�casefold)r r �y)�lrr � 5sz _combinations..)�set)rr)rr � _combinations3sr z[ \f\t]*z #[^\r\n]*z\\\r?\nz\w+z0[bB]_?[01]+(?:_[01]+)*z(0[xX]_?[\da-fA-F]+(?:_[\da-fA-F]+)*[lL]?z0[oO]?_?[0-7]+(?:_[0-7]+)*[lL]?z[1-9]\d*(?:_\d+)*[lL]?z0[lL]?z[eE][-+]?\d+(?:_\d+)*z\d+(?:_\d+)*\.(?:\d+(?:_\d+)*)?z\.\d+(?:_\d+)*z \d+(?:_\d+)*z\d+(?:_\d+)*[jJ]z[jJ]z[^'\\]*(?:\\.[^'\\]*)*'z[^"\\]*(?:\\.[^"\\]*)*"z%[^'\\]*(?:(?:\\.|'(?!''))[^'\\]*)*'''z%[^"\\]*(?:(?:\\.|"(?!""))[^"\\]*)*"""z'(?:[uUrRbBfF]|[rR][fFbB]|[fFbBuU][rR])?z'''z"""z'[^\n'\\]*(?:\\.[^\n'\\]*)*'z"[^\n"\\]*(?:\\.[^\n"\\]*)*"z\*\*=?z>>=?z<<=?z<>z!=z//=?z->z[+\-*/%&@|^=<>]=?�~z[][(){}]z\r?\nz:=z[:;.,`@]z'[^\n'\\]*(?:\\.[^\n'\\]*)*�'z"[^\n"\\]*(?:\\.[^\n"\\]*)*�"�r�R�f�F�b�B�u�U�urZuRZUrZUR)r"r#z'''z"""cCsi|]}t|�d��qS)z''')� single3prog)r �prefixrrr � ysr/cCsi|]}t|�d��qS)z""")� double3prog)r r.rrr r/zscCsi|] }d|�qS)Nr)r r.rrr r/{scCsh|]}|�d��qS)z'''r)r r.rrr � sr1cCsh|]}|�d��qS)z"""r)r r.rrr r1�scCsh|]}|�d��qS)r"r)r r.rrr r1�scCsh|]}|�d��qS)r#r)r r.rrr r1�s�c@s eZdZdS)� TokenErrorN)�__name__� __module__� __qualname__rrrr r3�sr3c@s eZdZdS)�StopTokenizingN)r4r5r6rrrr r7�sr7c Cs4|\}}|\}}td||||t|t|�f�dS)Nz%d,%d-%d,%d: %s %s)�print�tok_name�repr) �typerZxxx_todo_changemeZxxx_todo_changeme1�lineZsrowZscolZerowZecolrrr � printtoken�sr=cCs(yt||�Wntk r"YnXdS)N)� tokenize_loopr7)�readline� tokeneaterrrr r �s cCsxt|�D] }||�q WdS)N)r)r?r@Z token_inforrr r>�sr>c@s,eZdZdd�Zdd�Zdd�Zdd�Zd S) � UntokenizercCsg|_d|_d|_dS)Nrr)�tokens�prev_row�prev_col)�selfrrr �__init__�szUntokenizer.__init__cCs*|\}}||j}|r&|j�d|�dS)N� )rDrB�append)rE�start�row�col� col_offsetrrr �add_whitespace�s zUntokenizer.add_whitespacecCs�xv|D]n}t|�dkr$|�||�P|\}}}}}|�|�|j�|�|\|_|_|ttfkr|jd7_d|_qWd� |j�S)N�rrr) �len�compatrMrBrHrCrD�NEWLINE�NLr)rE�iterable�t�tok_typerrI�endr<rrr r�s        zUntokenizer.untokenizec Cs�d}g}|jj}|\}}|ttfkr,|d7}|ttfkr|t kr�|� �qBn*|ttfkr�d}n|r�|r�||d�d}||�qBWdS)NFrGTrN�����) rBrH�NAME�NUMBERrQrR�ASYNC�AWAIT�INDENT�DEDENT�pop) rErrS� startline�indents� toks_append�toknum�tokval�tokrrr rP�s0      zUntokenizer.compatN)r4r5r6rFrMrrPrrrr rA�srAz&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)s^[ \t\f]*(?:[#\r\n]|$)cCsH|dd����dd�}|dks*|�d�r.dS|dks@|�d�rDdS|S) N� r�-zutf-8zutf-8-)zlatin-1z iso-8859-1z iso-latin-1)zlatin-1-z iso-8859-1-z iso-latin-1-z iso-8859-1)�lower�replace� startswith)�orig_enc�encrrr �_get_normal_name�s rlcs�d�d}d}�fdd�}�fdd�}|�}|�t�rHd�|dd�}d }|sT|gfS||�}|rj||gfSt�|�s~||gfS|�}|s�||gfS||�}|r�|||gfS|||gfS) NFzutf-8cs"y��Stk rt�SXdS)N)� StopIteration�bytesr)r?rr � read_or_stopsz%detect_encoding..read_or_stopcs�y|�d�}Wntk r"dSXt�|�}|s6dSt|�d��}y t|�}Wn tk rptd|��YnX�r�|j dkr�td��|d7}|S)N�asciirzunknown encoding: zutf-8zencoding problem: utf-8z-sig) �decode�UnicodeDecodeError� cookie_re�matchrlrr� LookupError� SyntaxError�name)r<� line_stringrt�encoding�codec)� bom_foundrr � find_cookie s"   z$detect_encoding..find_cookieT�z utf-8-sig)rir�blank_rert)r?ry�defaultror|�first�secondr)r{r?r �detect_encoding�s0         r�cCst�}|�|�S)N)rAr)rS�utrrr r:sccs�d}}}d\}}d}dg}d}d} d} d} �x�y |�} Wntk rTd} YnX|d}dt| �} }|�r6| s�td|��|�| �}|r�|�d�} }t|| d|�|||f|| fVd\}}d}nd|�r | dd�dk�r | d d�d k�r t|| ||t| �f|fVd}d}q2n|| }|| }q2�nD|dk�rb|�sb| �sNPd}xf| |k�r�| | d k�rv|d}n6| | d k�r�|tdt}n| | d k�r�d}nP| d} �qTW| |k�r�P|�r�|Vd}| | dk�r�| | dk�rV| | d��d�}| t|�}t ||| f|| t|�f| fVt | |d�||f|t| �f| fVq2t t f| | dk| | d�|| f|t| �f| fVq2||dk�r�|� |�t | d| �|df|| f| fVxt||dk�r8||k�r�t dd|| | f��|dd�}| �r| |dk�rd} d} d} td|| f|| f| fV�q�W| �rz| �rz| |dk�rzd} d} d} n| �svtd|df��d}�x�| |k�r&t�| | �}|�r�|�d�\}}||f||f|}}} | ||�| |}}|tjk�s�|dk�r |dk�r t|||| fV�q"|dk�rVt}|dk�r(t }n | �r2d} |�rB|Vd}||||| fV�q"|dk�r�|�rp|Vd}t |||| fV�q"|tk�rt|}|�| | �}|�r�|�d�} | || �}|�r�|Vd}t|||| f| fVn||f}| |d�}| }P�q"|tk�s0|dd�tk�s0|dd�tk�r�|ddk�r�||f}t|�pht|d�pht|d}| |d�d}}| }Pn |�r�|Vd}t|||| fV�q"|���r~|dk�r�| �r�|dk�r�tnt|||| fV�q~t|||| f}|dk�r |�s |}�q~|dk�rf|�rf|dtk�rf|ddk�rfd} |d} t|d|d|d|dfVd}|�rv|Vd}|Vnz|dk�r�|�r�|Vd}t |||| f| fVd}nF|dk�r�|d}n|d k�r�|d}|�r�|Vd}t|||| fVn(t| | || f|| df| fV| d} �q~Wq2W|�r<|Vd}x.|dd�D]}td|df|dfdfV�qJWtd|df|dfdfVdS)!Nr)rrFrrzEOF in multi-line string�����z\ �����z\ rG� � z# �#z rWz3unindent does not match any outer indentation levelz zEOF in multi-line statement�.TrNr}� )�async�awaitr��def��\z([{z)]})rmrOr3rtrV�STRING� ERRORTOKEN�tabsize�rstrip�COMMENTrRrHr\�IndentationErrorr]� pseudoprog�span�string�digitsrYrQ� triple_quoted�endprogs� single_quoted� isidentifierrZr[rX�OP� ENDMARKER)r?�lnum�parenlev� continued�contstr�needcont�contliner`ZstashedZ async_defZasync_def_indentZ async_def_nlr<�pos�max�strstart�endprog�endmatchrV�column� comment_tokenZnl_pos� pseudomatchrI�spos�eposr�initial�newlinerd�indentrrr rOsn     *                             �__main__)R� __author__� __credits__r��re�codecsrrZlib2to3.pgen2.tokenrr�dir�__all__rn� NameError�strrrrr � Whitespace�Comment�Ignore�Name� Binnumber� Hexnumber� Octnumber� Decnumber� Intnumber�Exponent� Pointfloat�Expfloat� Floatnumber� Imagnumber�Number�Single�Double�Single3�Double3Z _litprefix�Triple�String�Operator�Bracket�Special�Funny� PlainToken�Token�ContStr� PseudoExtras� PseudoToken�map�compileZ tokenprogr�r-r0Z _strprefixesr�r�r�r�� Exceptionr3r7r=r r>rA�ASCIIrsr~rlr�rrr4�sysrO�argv�openr?�stdinrrrr �s�               8 Ib