OwlCyberSecurity - MANAGER
Edit File: ast.cpython-39.opt-2.pyc
a ����?�g������������������������@���s���d�dl�Z�d�dlT�d�dlmZmZ�d�dlmZmZ�d_ddd�d d �Zdd��Z d`dd�dd�Z dd��Zdd��Zdadd�Z dd��Zdd��Zdbdd�Zdd��Zd d!��Zdd"�d#d$�Zd%d&��ZG�d'd(��d(e�ZG�d)d*��d*e�Zeed+��sd,d-��Zd.d/��Zeee�e_eee�e_G�d0d1��d1e�Z d2d3��Z!G�d4d5��d5ee d6�Z"G�d7d8��d8ee d6�Z#G�d9d:��d:ee d6�Z$G�d;d<��d<ee d6�Z%G�d=d>��d>ee d6�Z&e"e'e(e)fe#e*fe$e+fe%ed�e,fe&ed?�fiZ-e"e,fiZ.e,d<ed�d<e'd5e(d5e)d5e*d8e+d:ed?�d>iZ/G�d@dA��dAe0�Z1G�dBdC��dCe1�Z2G�dDdE��dEe1�Z3ee4dF��sBdGdH��Z5dIdJ��Z6ee5e6�e4_7G�dKdL��dLe8�Z9G�dMdN��dNe:�Z;G�dOdP��dPe:�Z<G�dQdR��dRe:�Z=dSe>e�j?j@d���ZAG�dTdU��dUe�ZBdVZCdWZDg�eC�eD�R�ZEG�dXdY��dYe�ZFdZd[��ZGd\d]��ZHeId^k�r�eH���dS�)c�����N)�*)�contextmanager�nullcontext)�IntEnum�auto� <unknown>�execF)� type_comments�feature_versionc����������������C���sF���t�}|r|tO�}t|t�r(|\}}|}n|d�u�r4d}t|�||||d�S�)N���)�_feature_version)Z PyCF_ONLY_ASTZPyCF_TYPE_COMMENTS� isinstance�tuple�compile)�source�filename�moder ���r ����flags�major�minor��r����(/opt/alt/python39/lib64/python3.9/ast.py�parse!���s���� �r���c��������������������s`���t�|�t�rt|�dd�}�t�|�t�r&|�j}�dd����fdd���fdd�������fd d �����|��S�)N�eval�r���c�����������������S���s���t�d|�����d�S�)Nzmalformed node or string: )� ValueError��noder���r���r����_raise_malformed_nodeC���s����z+literal_eval.<locals>._raise_malformed_nodec��������������������s,���t�|�t�rt|�j�tttfvr&��|���|�jS��N)r ����Constant�type�value�int�float�complexr���)r���r���r����_convert_numE���s����z"literal_eval.<locals>._convert_numc��������������������sD���t�|�t�r<t�|�jttf�r<��|�j�}t�|�jt�r6| �S�|�S���|��S�r���)r ���ZUnaryOp�op�UAdd�USub�operand)r���r*���)r&���r���r����_convert_signed_numI���s���� z)literal_eval.<locals>._convert_signed_numc��������������������sZ��t�|�t�r|�jS�t�|�t�r*tt��|�j��S�t�|�t�rDtt��|�j��S�t�|�t �r^t t��|�j��S�t�|�t�r�t�|�jt �r�|�jjdkr�|�j|�j��kr�g�kr�n�nt ��S�t�|�t�r�t|�j�t|�j�krȈ|���ttt��|�j�t��|�j���S�t�|�t��rRt�|�jttf��rR�|�j�}�|�j�}t�|ttf��rRt�|t��rRt�|�jt��rJ||�S�||�S��|��S�)N�set) r ���r ���r"����Tupler����map�elts�List�list�Setr,���ZCall�func�Name�id�args�keywords�Dict�len�keys�values�dict�zipZBinOpr'����Add�Sub�left�rightr#���r$���r%���)r���r@���rA�����_convertr&���r+���r���r���r���rC���Q���s<���� ��� � zliteral_eval.<locals>._convert)r ����strr���Z Expression�body)Znode_or_stringr���rB���r����literal_eval6���s���� rF���T)�indentc�������������������sT���d�����fdd� ��t�|�t�s.td|�jj����d�urHt��t�sHd�����|��d�S�)Nr���c�������������� ������s����d�ur*��d7���d�����}d�����}nd}d}t�|�t��r�t|��}g�}d}�}|�jD�]�}zt|�|�} W�n�ty����d}Y�qXY�n0�| d�u�r�t||d�d�u�r�d}qX�| ���\} } |o�| }|r�|�d|| f���qX|�| ��qX��rh|�j�rh|�jD�]t}zt|�|�} W�n�t�y���Y�q�Y�n0�| d�u��r<t||d�d�u��r<q�| ���\} } |�oR| }|�d|| f���q�|�r�t|�d k�r�d |�j j d�|�f�|�fS�d|�j j ||�|�f�dfS�t�|�t��r�|��s�d S�d||����fdd�|�D���f�dfS�t |��dfS�)N����� z, ���, T.z%s=%s����z%s(%s)z%s(%s%s)F)z[]Tz[%s%s]c�����������������3���s���|�]}��|��d��V��qdS��r���Nr���)�.0�x)�_format�levelr���r���� <genexpr>���������z(dump.<locals>._format.<locals>.<genexpr>)r ����ASTr!����_fields�getattr�AttributeError�append�_attributesr9���� __class__�__name__�joinr1����repr)r���rQ����prefix�sep�clsr6���Z allsimpler7����namer"����simple�rP����annotate_fields�include_attributesrG���)rQ���r���rP���z���sX���� &zdump.<locals>._formatzexpected AST, got %r� )r���)r ���rT���� TypeErrorrZ���r[���rD���)r���rd���re���rG���r���rc���r����dumpn���s����0 rh���c�����������������C���sV���dD�]L}||j�v�r||�j�v�rt||d��}|d�usDt||�r|�d�rt|�||��q|�S�)N)�lineno� col_offset� end_lineno�end_col_offsetZend_)rY���rV����hasattr� startswith�setattr)�new_nodeZold_node�attrr"���r���r���r���� copy_location����s������rr���c��������������������s �����fdd�����|�dddd��|�S�)Nc��������������������s����d|�j�v�r"t|�d�s||�_n|�j}d|�j�v�rJt|�dd��d�u�rD||�_n|�j}d|�j�v�rlt|�d�sf||�_n|�j}d|�j�v�r�t|�dd��d�u�r�||�_n|�j}t|��D�]}��|||||��q�d�S�)Nri���rk���rj���rl���)rY���rm���ri���rV���rk���rj���rl����iter_child_nodes)r���ri���rj���rk���rl����child��_fixr���r���rv�������s$���� z#fix_missing_locations.<locals>._fixrH���r���r���r���r���ru���r����fix_missing_locations����s����rw���rH���c�����������������C���sV���t�|��D�]H}d|jv�r(t|dd�|�|_d|jv�rt|dd��}d�ur||�|_q|�S�)Nri���r���rk���)�walkrY���rV���ri���rk���)r����nrt���rk���r���r���r����increment_lineno����s���� ��rz���c�������������� ���c���s8���|�j�D�],}z|t|�|�fV��W�q�ty0���Y�q0�qd�S�r���)rU���rV���rW���)r����fieldr���r���r����iter_fields����s ���� r|���c�����������������c���sL���t�|��D�]>\}}t|t�r"|V��qt|t�r|D�]}t|t�r0|V��q0qd�S�r���)r|���r ���rT���r1���)r���ra���r{����itemr���r���r���rs�����s���� rs���c�����������������C���s����t�|�ttttf�s"td|�jj���|�jr8t�|�jd�t �s<d�S�|�jd�j }�t�|�t�rZ|�j}n"t�|�t �rxt�|�j t�rx|�j }nd�S�|r�dd�l}|�|�}|S�)Nz%r can't have docstringsr���)r ����AsyncFunctionDef�FunctionDef�ClassDef�Modulerg���rZ���r[���rE����Exprr"����Str�sr ���rD����inspectZcleandoc)r���Zclean�textr����r���r���r���� get_docstring��s���� r����c�����������������C���s����d}g�}d}|t�|��k�rx|�|�}||7�}|d7�}|dkr`|t�|��k�r`|�|�dkr`|d7�}|d7�}|dv�r|�|��d}q|r�|�|��|S�)Nr���rJ���rH���� rI���z )r9���rX���)r����idx�linesZ next_line�cr���r���r����_splitlines_no_ff*��s ���� r����c�����������������C���s,���d}|�D�]}|dv�r||7�}q|d7�}q|S�)NrJ���z rf���r���)r����resultr����r���r���r����_pad_whitespaceC��s���� r����)�paddedc����������������C���s��z>|j�d�u�s|jd�u�rW�d�S�|jd�}|j�d�}|j}|j}W�n�tyR���Y�d�S�0�t|��}||kr|||����||�����S�|r�t||����d�|������}nd}|||����|d�������} ||����d�|�����} ||d�|��}|� d| ��|� | ��d�|�S�)NrH���rJ���r���)rk���rl���ri���rj���rW���r�����encode�decoder�����insertrX���r\���)r���r���r����ri���rk���rj���rl���r����Zpadding�firstZlastr���r���r����get_source_segmentN��s*���� r����c�����������������c���s<���ddl�m}�||�g�}|r8|���}�|�t|����|�V��qd�S�)Nr���)�deque)�collectionsr�����popleft�extendrs���)r���r����Ztodor���r���r���rx���s��s���� rx���c�������������������@���s$���e�Zd�Zdd��Zdd��Zdd��ZdS�)�NodeVisitorc�����������������C���s"���d|j�j�}t|�||�j�}||�S�)N�visit_)rZ���r[���rV���� generic_visit)�selfr����method�visitorr���r���r����visit���s����zNodeVisitor.visitc�����������������C���sT���t�|�D�]F\}}t|t�r:|D�]}t|t�r|��|��qqt|t�r|��|��qd�S�r���)r|���r ���r1���rT���r����)r����r���r{���r"���r}���r���r���r���r�������s���� zNodeVisitor.generic_visitc����������� ������C���s����|j�}t�t|��}|d�u�r@t���D�]\}}t||�r$|}�q@q$|d�ur�d|�}zt|�|�}W�n�typ���Y�n&0�dd�l}|� |��d�t d��||�S�|��|�S�)Nr����r���z" is deprecated; add visit_Constant����)r"����_const_node_type_names�getr!����itemsr ���rV���rW����warnings�warn�DeprecationWarningr����) r����r���r"���Z type_namer`���ra���r����r����r����r���r���r����visit_Constant���s&���� �zNodeVisitor.visit_ConstantN)r[���� __module__�__qualname__r����r����r����r���r���r���r���r�������s��� r����c�������������������@���s���e�Zd�Zdd��ZdS�)�NodeTransformerc�����������������C���s����t�|�D�]�\}}t|t�rvg�}|D�]D}t|t�r\|��|�}|d�u�rFq"nt|t�s\|�|��q"|�|��q"||d�d��<�qt|t�r|��|�}|d�u�r�t||��qt|||��q|S�r���) r|���r ���r1���rT���r����r����rX����delattrro���)r����r���r{���� old_valueZ new_valuesr"���rp���r���r���r���r�������s&���� zNodeTransformer.generic_visitN)r[���r����r����r����r���r���r���r���r�������s���$r����ry���c�����������������C���s���|�j�S�r����r"����r����r���r���r����_getter���s����r����c�����������������C���s ���||�_�d�S�r���r�����r����r"���r���r���r����_setter���s����r����c�������������������@���s���e�Zd�Zdd��Zdd��ZdS�)�_ABCc�����������������G���s ���d|�_�d�S�)Nz3Deprecated AST node class. Use ast.Constant instead)�__doc__)r`���r6���r���r���r����__init__��s����z _ABC.__init__c�����������������C���sd���t�|t�sdS�|�tv�rXz |j}W�n�ty4���Y�dS�0�t�|t|���oVt�|t�|�d���S�t�|�|�S�)NFr���) r ���r ����_const_typesr"���rW����_const_types_notr����r!����__instancecheck__)r`����instr"���r���r���r���r���� ��s���� �z_ABC.__instancecheck__N)r[���r����r����r����r����r���r���r���r���r������s���r����c�����������������O���sp���|D�]<}||�j�vrq|�j��|�}|t|�k�rt|�j��d|����q|�tv�rXt|i�|��S�tj|�g|�R�i�|��S�)Nz" got multiple values for argument )rU����indexr9���rg���r[���r����r ����__new__)r`���r6����kwargs�key�posr���r���r����_new��s���� r����c�������������������@���s���e�Zd�ZdZeZdS�)�Num)ry���N�r[���r����r����rU���r����r����r���r���r���r���r����%��s���r����)� metaclassc�������������������@���s���e�Zd�ZdZeZdS�)r�����r����Nr����r���r���r���r���r����)��s���r����c�������������������@���s���e�Zd�ZdZeZdS�)�Bytesr����Nr����r���r���r���r���r����-��s���r����c�������������������@���s���e�Zd�ZeZdS�)�NameConstantN)r[���r����r����r����r����r���r���r���r���r����1��s���r����c�������������������@���s���e�Zd�ZdZdd��ZdS�)�Ellipsisr���c�����������������O���s6���|�t�u�rtdg|�R�i�|��S�tj|�g|�R�i�|��S�)N.)r����r ���r����)r`���r6���r����r���r���r���r����7��s����zEllipsis.__new__N)r[���r����r����rU���r����r���r���r���r���r����4��s���r����.c�������������������@���s���e�Zd�ZdS�)�sliceN�r[���r����r����r���r���r���r���r����R��s���r����c�������������������@���s���e�Zd�Zdd��ZdS�)�Indexc�����������������K���s���|S�r���r���)r`���r"���r����r���r���r���r����W��s����z Index.__new__N�r[���r����r����r����r���r���r���r���r����U��s���r����c�������������������@���s���e�Zd�Zddd�ZdS�)�ExtSlicer���c�����������������K���s���t�t|�t��fi�|��S�r���)r-���r1���ZLoad)r`����dimsr����r���r���r���r����\��s����zExtSlice.__new__N)r���r����r���r���r���r���r����Z��s���r����r����c�����������������C���s���|�j�S�r����r/���r����r���r���r����_dims_getterd��s����r����c�����������������C���s ���||�_�d�S�r���r����r����r���r���r����_dims_setterh��s����r����c�������������������@���s���e�Zd�ZdS�)�SuiteNr����r���r���r���r���r����m��s���r����c�������������������@���s���e�Zd�ZdS�)�AugLoadNr����r���r���r���r���r����p��s���r����c�������������������@���s���e�Zd�ZdS�)�AugStoreNr����r���r���r���r���r����s��s���r����c�������������������@���s���e�Zd�ZdS�)�ParamNr����r���r���r���r���r����v��s���r����Z1ec�������������������@���s~���e�Zd�Ze��Ze��Ze��Ze��Ze��Ze��Z e��Z e��ZeZe��Z e��Ze��Ze��Ze��Ze��Ze��Ze��Ze��Zdd��ZdS�)�_Precedencec�����������������C���s,���z|���|�d��W�S��ty&���|��Y�S�0�d�S��NrH���)rZ���r���r����r���r���r����next���s����z_Precedence.nextN)r[���r����r����r����TUPLE�YIELD�TEST�OR�AND�NOT�CMP�EXPR�BOR�BXOR�BAND�SHIFT�ARITH�TERM�FACTOR�POWER�AWAIT�ATOMr����r���r���r���r���r����~��s&���r����)�'�")z"""z'''c�����������������������s���e�Zd�Zdd�dd�Zdd��Zdd��Zd d ��Zd�dd �Zdd��Zdd��Z e dd���Zedd�dd��Z edd���Zdd��Zdd��Zdd��Zd d!��Zd"d#��Zd$d%��Z��fd&d'�Zd(d)��Zd*d+��Zd,d-��Zd.d/��Zd0d1��Zd2d3��Zd4d5��Zd6d7��Zd8d9��Zd:d;��Zd<d=��Z d>d?��Z!d@dA��Z"dBdC��Z#dDdE��Z$dFdG��Z%dHdI��Z&dJdK��Z'dLdM��Z(dNdO��Z)dPdQ��Z*dRdS��Z+dTdU��Z,dVdW��Z-dXdY��Z.dZd[��Z/d\d]��Z0d^d_��Z1d`da��Z2dbdc��Z3ddde��Z4dfdg��Z5dhdi��Z6djdk��Z7dldm��Z8dndo��Z9e:ddp�dqdr�Z;e:ds�dtdu�Z<dvdw��Z=dxdy��Z>dzd{��Z?d|d}��Z@d~d��ZAd�d���ZBd�d���ZCd�d���ZDd�d���ZEd�d���ZFd�d���ZGd�d���ZHd�d���ZId�d���ZJd�d���ZKd�d���ZLd�d���ZMd�d���ZNd�d���ZOd�d�d�d�d��ZPeQjReQjSeQjSeQjSd��ZTd�d���ZUd�d�d�d�d�d�d�d�d�d�d�d�d�d�� ZVeQjWeQjWeQjXeQjXeQjXeQjXeQjYeQjYeQjZeQj[eQj\eQjXeQj]d�� Z^e_d��Z`d�d���Zad�d�d�d�d�d�d�d�d�d�d�� Zbd�d���Zcd�d�dÜZdeQjeeQjfdĜZgd�dƄ�Zhd�dȄ�Zid�dʄ�Zjd�d̄�Zkd�d΄�Zld�dЄ�Zmd�d҄�Znd�dԄ�Zod�dք�Zpd�d�Zqd�dڄ�Zrd�d܄�Zsd�dބ�Zt���ZuS�)�� _UnparserF��_avoid_backslashesc����������������C���s(���g�|�_�g�|�_i�|�_i�|�_d|�_||�_d�S�)Nr���)�_source�_buffer�_precedences� _type_ignores�_indentr����)r����r����r���r���r���r�������s����z_Unparser.__init__c�����������������C���sH���t�|�}z|t|���W�n�ty*���Y�n0�|D�]}|���||��q0d�S�r���)�iterr����� StopIteration)r����Zinter�f�seqrO���r���r���r���� interleave���s����z_Unparser.interleavec��������������������s>���t�|�dkr$||d������d��n�����fdd�||��d�S�)NrH���r����,c����������������������s �������d�S��NrK�����writer���r����r���r����<lambda>���rS���z&_Unparser.items_view.<locals>.<lambda>)r9���r����r����)r����Z traverserr����r���r����r���� items_view���s����z_Unparser.items_viewc�����������������C���s���|�j�r|��d��d�S�)NrI���)r����r����r����r���r���r���� maybe_newline���s����z_Unparser.maybe_newlinerJ���c�����������������C���s ���|������|��d|�j�|���d�S�)Nz )r����r����r�����r����r����r���r���r����fill���s����z_Unparser.fillc�����������������C���s���|�j��|��d�S�r���)r����rX���r����r���r���r���r�������s����z_Unparser.writec�����������������C���s���|�j��|��d�S�r���)r����rX���r����r���r���r���� buffer_writer���s����z_Unparser.buffer_writerc�����������������C���s���d��|�j�}|�j����|S��NrJ���)r\���r�����clearr����r���r���r����buffer���s���� z_Unparser.bufferN��extrac����������������c���s>���|���d��|r|���|��|��jd7��_d�V��|��jd8��_d�S�)N�:rH���)r����r����)r����r��r���r���r����block���s���� z_Unparser.blockc�����������������c���s���|���|��d�V��|���|��d�S�r���r����)r�����start�endr���r���r����delimit���s���� z_Unparser.delimitc�����������������C���s���|r|���||�S�t��S�d�S�r���)r ��r���)r����r��r ��� conditionr���r���r���� delimit_if���s����z_Unparser.delimit_ifc�����������������C���s���|���dd|��|�|k�S��N�(�))r���get_precedence)r����� precedencer���r���r���r����require_parens���s����z_Unparser.require_parensc�����������������C���s���|�j��|tj�S�r���)r����r����r����r�����r����r���r���r���r���r�����s����z_Unparser.get_precedencec�����������������G���s���|D�]}||�j�|<�qd�S�r���)r����)r����r��Znodesr���r���r���r����set_precedence���s����z_Unparser.set_precedencec�����������������C���s`���t�|ttttf�r t|j�dk�r$d�S�|jd�}t�|t�s<d�S�|j}t�|t �r\t�|jt �r\|S�d�S�)NrH���r���)r ���r~���r���r����r����r9���rE���r����r"���r ���rD���r��r���r���r����get_raw_docstring��s������ z_Unparser.get_raw_docstringc�����������������C���s*���|�j��|j�p|j}|d�ur&d|���S�d�S�)Nz # type: )r����r����ri����type_comment)r����r���Zcommentr���r���r����get_type_comment��s����z_Unparser.get_type_commentc��������������������s0���t�|t�r |D�]}|��|��qnt���|��d�S�r���)r ���r1����traverse�superr����)r����r���r}����rZ���r���r���r����s���� z_Unparser.traversec�����������������C���s���g�|�_�|��|��d�|�j��S�r��)r����r��r\���r��r���r���r���r������s���� z_Unparser.visitc�����������������C���s>���|���|��}r.|��|��|��|jdd�����n|��|j��d�S�r����)r���_write_docstringr��rE���)r����r���Z docstringr���r���r����"_write_docstring_and_traverse_body&��s���� z,_Unparser._write_docstring_and_traverse_bodyc�����������������C���s*���dd��|j�D��|�_|��|��|�j����d�S�)Nc�����������������S���s���i�|�]}|j�d�|j����qS�)�ignore)ri����tag)rN���r��r���r���r���� <dictcomp>.��s����z*_Unparser.visit_Module.<locals>.<dictcomp>)�type_ignoresr����r��r��r��r���r���r����visit_Module-��s ����� z_Unparser.visit_Modulec��������������������s`�������dd��*������fdd���j|j��W�d�����n1�s<0����Y�����d�����|j��d�S�)Nr��r��c����������������������s �������d�S�r����r����r���r����r���r���r����8��rS���z._Unparser.visit_FunctionType.<locals>.<lambda>� -> )r ��r����r���argtypesr�����returnsr��r���r����r����visit_FunctionType5��s�����" z_Unparser.visit_FunctionTypec�����������������C���s(���|������|��tj|j��|��|j��d�S�r���)r����r��r����r����r"���r��r��r���r���r���� visit_Expr>��s����z_Unparser.visit_Exprc�����������������C���sh���|���tj|��F�|��tj|j|j��|��|j��|��d��|��|j��W�d�����n1�sZ0����Y��d�S�)Nz := ) r��r����r����r��r�����targetr"���r��r����r��r���r���r����visit_NamedExprC��s ���� z_Unparser.visit_NamedExprc��������������������s(�������d�������fdd���j|j��d�S�)Nzimport c����������������������s �������d�S�r����r����r���r����r���r���r����L��rS���z(_Unparser.visit_Import.<locals>.<lambda>)r����r����r���namesr��r���r����r����visit_ImportJ��s���� z_Unparser.visit_Importc��������������������sT�������d�����d|j���|jr,���|j�����d�������fdd���j|j��d�S�)Nzfrom �.z import c����������������������s �������d�S�r����r����r���r����r���r���r����T��rS���z,_Unparser.visit_ImportFrom.<locals>.<lambda>)r����r����rQ����moduler����r��r)��r��r���r����r����visit_ImportFromN��s���� z_Unparser.visit_ImportFromc�����������������C���sP���|������|jD�]}|��|��|��d��q|��|j��|��|��}rL|��|��d�S�)N� = )r�����targetsr��r����r"���r��)r����r���r'��r��r���r���r����visit_AssignV��s���� z_Unparser.visit_Assignc�����������������C���sB���|������|��|j��|��d|�j|jjj��d���|��|j��d�S�)Nrf���z= ) r����r��r'��r�����binopr'���rZ���r[���r"���r��r���r���r����visit_AugAssign_��s����z_Unparser.visit_AugAssignc�����������������C���s����|������|��dd|j�o"t|jt����|��|j��W�d�����n1�sH0����Y��|��d��|��|j��|j r�|��d��|��|j ��d�S�)Nr��r���: r.��) r����r��rb���r ���r'��r4���r��r����� annotationr"���r��r���r���r����visit_AnnAssigne��s���� * z_Unparser.visit_AnnAssignc�����������������C���s*���|���d��|jr&|��d��|��|j��d�S�)N�returnrf���)r����r"���r����r��r��r���r���r����visit_Returno��s���� z_Unparser.visit_Returnc�����������������C���s���|���d��d�S�)N�pass�r����r��r���r���r���� visit_Passu��s����z_Unparser.visit_Passc�����������������C���s���|���d��d�S�)N�breakr9��r��r���r���r����visit_Breakx��s����z_Unparser.visit_Breakc�����������������C���s���|���d��d�S�)N�continuer9��r��r���r���r����visit_Continue{��s����z_Unparser.visit_Continuec��������������������s(�������d�������fdd���j|j��d�S�)Nzdel c����������������������s �������d�S�r����r����r���r����r���r���r�������rS���z(_Unparser.visit_Delete.<locals>.<lambda>)r����r����r��r/��r��r���r����r����visit_Delete~��s���� z_Unparser.visit_Deletec�����������������C���s6���|���d��|��|j��|jr2|��d��|��|j��d�S�)Nzassert rK���)r����r���test�msgr����r��r���r���r����visit_Assert���s ���� z_Unparser.visit_Assertc��������������������s(�������d�������fdd���j|j��d�S�)Nzglobal c����������������������s �������d�S�r����r����r���r����r���r���r�������rS���z(_Unparser.visit_Global.<locals>.<lambda>�r����r����r����r)��r��r���r����r����visit_Global���s���� z_Unparser.visit_Globalc��������������������s(�������d�������fdd���j|j��d�S�)Nz nonlocal c����������������������s �������d�S�r����r����r���r����r���r���r�������rS���z*_Unparser.visit_Nonlocal.<locals>.<lambda>rC��r��r���r����r����visit_Nonlocal���s���� z_Unparser.visit_Nonlocalc�����������������C���sh���|���tj|��F�|��d��|jrF|��d��|��tj|j��|��|j��W�d�����n1�sZ0����Y��d�S�)N�awaitrf���)r��r����r����r����r"���r��r����r��r��r���r���r����visit_Await���s���� z_Unparser.visit_Awaitc�����������������C���sh���|���tj|��F�|��d��|jrF|��d��|��tj|j��|��|j��W�d�����n1�sZ0����Y��d�S�)N�yieldrf���)r��r����r����r����r"���r��r����r��r��r���r���r����visit_Yield���s���� z_Unparser.visit_Yieldc�����������������C���sf���|���tj|��D�|��d��|js(td��|��tj|j��|��|j��W�d�����n1�sX0����Y��d�S�)Nzyield from z-Node can't be used without a value attribute.) r��r����r����r����r"���r���r��r����r��r��r���r���r����visit_YieldFrom���s���� z_Unparser.visit_YieldFromc�����������������C���sX���|���d��|js"|jrtd��d�S�|��d��|��|j��|jrT|��d��|��|j��d�S�)N�raisez*Node can't use cause without an exception.rf���z from )r�����exc�causer���r����r��r��r���r���r����visit_Raise���s���� z_Unparser.visit_Raisec�����������������C���s����|���d��|������|��|j��W�d�����n1�s40����Y��|jD�]}|��|��qD|jr�|���d��|������|��|j��W�d�����n1�s�0����Y��|jr�|���d��|������|��|j��W�d�����n1�s�0����Y��d�S�)N�try�else�finally)r����r��r��rE����handlers�orelse� finalbody)r����r���Zexr���r���r���� visit_Try���s���� * * z_Unparser.visit_Tryc�����������������C���sz���|���d��|jr&|��d��|��|j��|jrB|��d��|��|j��|������|��|j��W�d�����n1�sl0����Y��d�S�)N�exceptrf���� as )r����r!���r����r��ra���r��rE���r��r���r���r����visit_ExceptHandler���s���� z_Unparser.visit_ExceptHandlerc�����������������C���s����|������|jD�]}|��d��|��|��q|��d|j���|�jdd|jpJ|jd��h�d}|jD�]"}|rp|��d��nd}|��|��q\|jD�]"}|r�|��d��nd}|��|��q�W�d�����n1�s�0����Y��|�� ����|�� |��W�d�����n1�s�0����Y��d�S�) N�@zclass r��r��)r��FrK���T)r�����decorator_listr����r��ra���r���basesr7���r����r��r��)r����r����deco�comma�er���r���r����visit_ClassDef���s&���� * z_Unparser.visit_ClassDefc�����������������C���s���|���|d��d�S�)N�def��_function_helperr��r���r���r����visit_FunctionDef���s����z_Unparser.visit_FunctionDefc�����������������C���s���|���|d��d�S�)Nz async defra��r��r���r���r����visit_AsyncFunctionDef���s����z _Unparser.visit_AsyncFunctionDefc�����������������C���s����|������|jD�]}|��d��|��|��q|d�|j�}|��|��|��dd���|��|j��W�d�����n1�sn0����Y��|jr�|��d��|��|j��|�j |�� |�d���|��|��W�d�����n1�s�0����Y��d�S�)NrY��rf���r��r��r"��r��)r����rZ��r����r��ra���r ��r6���r$��r����r��r��r��)r����r���Zfill_suffixr\��Zdef_strr���r���r���rb�����s���� * z_Unparser._function_helperc�����������������C���s���|���d|��d�S�)Nzfor ��_for_helperr��r���r���r���� visit_For���s����z_Unparser.visit_Forc�����������������C���s���|���d|��d�S�)Nz async for re��r��r���r���r����visit_AsyncFor���s����z_Unparser.visit_AsyncForc�����������������C���s����|���|��|��|j��|��d��|��|j��|�j|��|�d���|��|j��W�d�����n1�s`0����Y��|jr�|���d��|������|��|j��W�d�����n1�s�0����Y��d�S�)N� in r��rP��) r����r��r'��r����r����r��r��rE���rS��)r����r����r���r���r���r���rf����s���� * z_Unparser._for_helperc�����������������C���s��|���d��|��|j��|������|��|j��W�d�����n1�s@0����Y��|jr�t|j�dkr�t|jd�t�r�|jd�}|���d��|��|j��|������|��|j��W�d�����qJ1�s�0����Y��qJ|j�r|���d��|������|��|j��W�d�����n1��s0����Y��d�S�)Nzif rH���r���zelif rP��) r����r��r@��r��rE���rS��r9���r ���ZIfr��r���r���r����visit_If��s���� *$ , z_Unparser.visit_Ifc�����������������C���s����|���d��|��|j��|������|��|j��W�d�����n1�s@0����Y��|jr�|���d��|������|��|j��W�d�����n1�s�0����Y��d�S�)Nzwhile rP��)r����r��r@��r��rE���rS��r��r���r���r����visit_While ��s���� * z_Unparser.visit_Whilec��������������������sf�������d�������fdd���j|j����j���|�d������|j��W�d�����n1�sX0����Y��d�S�)Nzwith c����������������������s �������d�S�r����r����r���r����r���r���r����,��rS���z&_Unparser.visit_With.<locals>.<lambda>r���r����r����r��r����r��r��rE���r��r���r����r���� visit_With*��s���� z_Unparser.visit_Withc��������������������sf�������d�������fdd���j|j����j���|�d������|j��W�d�����n1�sX0����Y��d�S�)Nzasync with c����������������������s �������d�S�r����r����r���r����r���r���r����2��rS���z+_Unparser.visit_AsyncWith.<locals>.<lambda>r��rl��r��r���r����r����visit_AsyncWith0��s���� z_Unparser.visit_AsyncWith��quote_types�escape_special_whitespacec�������������������s������fdd�}d��t|����|}d�v�r6dd��|D��}�fdd�|D��}|s�t���t�fdd �|D���d ��}�dd��|gfS��r�|j�fd d�d��|d �d ��d�krƈd�d��d��d����|fS�)Nc��������������������s4�����s|�dv�r|�S�|�dks |�����s0|��d��d�S�|�S�)Nz �\Zunicode_escape�ascii)�isprintabler����r����)r����)rq��r���r����escape_char<��s ����z2_Unparser._str_literal_helper.<locals>.escape_charrJ���rI���c�����������������S���s���g�|�]}|t�v�r|�qS�r���)� _MULTI_QUOTES�rN����qr���r���r���� <listcomp>I��rS���z1_Unparser._str_literal_helper.<locals>.<listcomp>c��������������������s���g�|�]}|��vr|�qS�r���r���rw����escaped_stringr���r���ry��J��rS���c�����������������3���s���|�]}��d��|v�r|V��qdS�rM���r���rw��)�stringr���r���rR���P��rS���z0_Unparser._str_literal_helper.<locals>.<genexpr>r���rH���r���c��������������������s���|�d���d�kS�)Nr���r���r���)rx��rz��r���r���r����T��rS���z/_Unparser._str_literal_helper.<locals>.<lambda>)r����rr��)r\���r.���r]���r�����sort)r����r|��rp��rq��ru��Zpossible_quotesZquoter���)rq��r{��r|��r����_str_literal_helper6��s���� z_Unparser._str_literal_helper�rp��c����������������C���s4���|�j�||d�\}}|d�}|��|��|��|�����d�S�)Nr��r���)r~��r����)r����r|��rp��� quote_typer���r���r����_write_str_avoiding_backslashes\��s����z)_Unparser._write_str_avoiding_backslashesc����������� ������C���s����|���d��|�jr.|��||�j��|��|�j��d�S�g�}|jD�]:}t|�dt|�j ��}|||�j��|� |�jt|t�f��q8g�}t }|D�]&\}}|�j|||d�\}}|� |��q�d�|�}|d�}|���|��|��|�����d�S�)Nr����� _fstring_ro��rJ���r���)r����r�����_fstring_JoinedStrr���r���r��r;���rV���r!���r[���rX���r ���r ����_ALL_QUOTESr~��r\���) r����r���r��r"����methZ new_bufferrp��Zis_constantr���r���r���r����visit_JoinedStrb��s*���� � z_Unparser.visit_JoinedStrc�����������������C���s(���|���d��|��||�j��|��|�j��d�S�)Nr����)r�����_fstring_FormattedValuer���r���r��r��r���r���r����visit_FormattedValue���s���� z_Unparser.visit_FormattedValuec�����������������C���s.���|j�D�]"}t|�dt|�j��}|||��qd�S�)Nr���)r;���rV���r!���r[���)r����r���r����r"���r���r���r���r���r������s���� z_Unparser._fstring_JoinedStrc�����������������C���s6���t�|jt�std��|j�dd��dd�}||��d�S�)Nz.Constants inside JoinedStr should be a string.�{z{{�}z}})r ���r"���rD���r����replace)r����r���r����r"���r���r���r����_fstring_Constant���s����z_Unparser._fstring_Constantc�����������������C���s����|d��t�|��dd�}|�tj���|j��|�|j�}|�d�rH|d��d|v�rXtd��||��|j dkr�t |j �}|dvr�td ��|d |�����|jr�|d��t|�dt�|j�j ��}||j|��|d ��d�S�)Nr���Tr����rf���rr��z5Unable to avoid backslash in f-string expression partr���ZsrazUnknown f-string conversion.�!r��r���r���)r!���r��r����r����r����r"���r����rn���r���� conversion�chr�format_specrV���r[���)r����r���r�����unparser�exprr���r���r���r���r���r������s&���� z!_Unparser._fstring_FormattedValuec�����������������C���s���|���|j��d�S�r���)r����r5���r��r���r���r���� visit_Name���s����z_Unparser.visit_Namec�����������������C���s0���|������|jdkr|��d��|�j|jtd��d�S�)N�ur��)r�����kindr����r���r"���rv��r��r���r���r���r�����s���� z_Unparser._write_docstringc�������������� ���C���sj���t�|ttf�r<|��t|��dt��ddt��dt��d����n*|�jrXt�|t�rX|�� |��n|��t|���d�S�)N�inf�nanr���-r��) r ���r$���r%���r����r]���r����_INFSTRr����rD���r���r����r���r���r����_write_constant���s�������z_Unparser._write_constantc�����������������C���s����|j�}t|t�rL|��dd���|��|�j|��W�d�����q�1�s@0����Y��n4|du�r`|��d��n |jdkrt|��d��|��|j���d�S�)Nr��r��.�...r���)r"���r ���r���r ��r����r���r����r���)r����r���r"���r���r���r���r�������s���� . z_Unparser.visit_Constantc��������������������sJ�������dd��*������fdd���j|j��W�d�����n1�s<0����Y��d�S�)N�[�]c����������������������s �������d�S�r����r����r���r����r���r���r�������rS���z&_Unparser.visit_List.<locals>.<lambda>)r ��r����r��r/���r��r���r����r���� visit_List���s����z_Unparser.visit_Listc�����������������C���sR���|���dd��2�|��|j��|jD�]}|��|��q W�d�����n1�sD0����Y��d�S�)Nr���r����r ��r���elt� generators�r����r����genr���r���r����visit_ListComp���s���� z_Unparser.visit_ListCompc�����������������C���sR���|���dd��2�|��|j��|jD�]}|��|��q W�d�����n1�sD0����Y��d�S�r ��r���r���r���r���r����visit_GeneratorExp���s���� z_Unparser.visit_GeneratorExpc�����������������C���sR���|���dd��2�|��|j��|jD�]}|��|��q W�d�����n1�sD0����Y��d�S�)Nr���r���r���r���r���r���r���� visit_SetComp���s���� z_Unparser.visit_SetCompc�����������������C���sh���|���dd��H�|��|j��|��d��|��|j��|jD�]}|��|��q6W�d�����n1�sZ0����Y��d�S�)Nr���r���r3��)r ��r��r����r����r"���r���r���r���r���r����visit_DictComp���s���� z_Unparser.visit_DictCompc�����������������C���s����|j�r|��d��n |��d��|��tj|j��|��|j��|��d��|�jtj���|j g|j �R����|��|j ��|j D�]}|��d��|��|��qrd�S�)Nz async for z for ri��� if )�is_asyncr����r��r����r����r'��r��r����r����r�����ifs)r����r���Z if_clauser���r���r����visit_comprehension���s���� z_Unparser.visit_comprehensionc�����������������C���s����|���tj|��p�|��tj���|j|j��|��|j��|��d��|��|j��|��d��|��tj|j ��|��|j ��W�d�����n1�s�0����Y��d�S�)Nr���z else ) r��r����r����r��r����rE���r@��r��r����rS��r��r���r���r����visit_IfExp���s���� z_Unparser.visit_IfExpc��������������������s\���|j�rN���dd��*������fdd���j|j���W�d�����qX1�sB0����Y��n ���d��d�S�)Nr���r���c����������������������s �������d�S�r����r����r���r����r���r���r������rS���z%_Unparser.visit_Set.<locals>.<lambda>z{*()})r/���r ��r����r��r����r��r���r����r���� visit_Set���s����:z_Unparser.visit_Setc��������������������sj�����fdd�����fdd�}����dd��0������fdd�|t|j|j���W�d�����n1�s\0����Y��d�S�) Nc��������������������s"�������|������d������|��d�S��Nr3��)r��r����)�k�vr����r���r����write_key_value_pair ��s���� z2_Unparser.visit_Dict.<locals>.write_key_value_pairc��������������������sB���|�\}}|d�u�r4����d�����tj|�����|��n �||��d�S�)N�**)r����r��r����r����r��)r}���r���r����r����r���r���r���� write_item��s���� z(_Unparser.visit_Dict.<locals>.write_itemr���r���c����������������������s �������d�S�r����r����r���r����r���r���r������rS���z&_Unparser.visit_Dict.<locals>.<lambda>)r ��r����r=���r:���r;���)r����r���r���r���r���r���� visit_Dict��s�����z_Unparser.visit_Dictc�����������������C���s@���|���dd�� �|��|�j|j��W�d�����n1�s20����Y��d�S�r ��)r ��r����r��r/���r��r���r���r����visit_Tuple��s����z_Unparser.visit_Tuple�~�not�+r���)ZInvertZNotr(���r)���)r���r���r���r���c�����������������C���s����|�j�|jjj�}|�j|�}|��||��H�|��|��|tjurF|��d��|�� ||j ��|��|j ��W�d�����n1�st0����Y��d�S��Nrf���)�unopr'���rZ���r[����unop_precedencer��r����r����r����r��r*���r��)r����r����operator�operator_precedencer���r���r���� visit_UnaryOp*��s���� z_Unparser.visit_UnaryOpr���rY���/�%�<<�>>�|�^�&�//r���) r>���r?���ZMultZMatMultZDivZModZLShiftZRShiftZBitOrZBitXorZBitAndZFloorDivZPow) r���r���r���rY��r���r���r���r���r���r���r���r���r���)r���c�����������������C���s����|�j�|jjj�}|�j|�}|��||��z�||�jv�r@|���}|}n|}|���}|��||j ��|�� |j ��|��d|��d���|��||j��|�� |j��W�d�����n1�s�0����Y��d�S�r���) r1��r'���rZ���r[����binop_precedencer���binop_rassocr����r��r@���r��r����rA���)r����r���r���r���Zleft_precedenceZright_precedencer���r���r����visit_BinOpW��s���� z_Unparser.visit_BinOpz==z!=�<z<=�>z>=�iszis not�inznot in) ZEqZNotEqZLtZLtEZGtZGtEZIsZIsNotZInZNotInc�����������������C���s����|���tj|��x�|�jtj���|jg|j�R����|��|j��t|j |j�D�].\}}|�� d|�j|jj ��d���|��|��qHW�d�����n1�s�0����Y��d�S�r���)r��r����r����r��r����r@����comparatorsr��r=����opsr�����cmpopsrZ���r[���)r����r����or^��r���r���r���� visit_Compareu��s����z_Unparser.visit_Compare�and�or)ZAndZOr)r���r���c��������������������s~����j�|jjj�}�j|������fdd�}����|��6�d|��d������fdd�||j��W�d�����n1�sp0����Y��d�S�)Nc��������������������s"���������������|�����|���d�S�r���)r����r��r��r���)r���r����r���r����increasing_level_traverse���s����z9_Unparser.visit_BoolOp.<locals>.increasing_level_traverserf���c����������������������s ���������S�r���r����r���)r����r����r���r���r�������rS���z(_Unparser.visit_BoolOp.<locals>.<lambda>)�boolopsr'���rZ���r[����boolop_precedencer��r����r;���)r����r���r���r���r���)r���r����r����r����visit_BoolOp���s���� z_Unparser.visit_BoolOpc�����������������C���sZ���|���tj|j��|��|j��t|jt�r@t|jjt�r@|��d��|��d��|��|j ��d�S�)Nrf���r+��) r��r����r����r"���r��r ���r ���r#���r����rq���r��r���r���r����visit_Attribute���s���� z_Unparser.visit_Attributec�����������������C���s����|���tj|j��|��|j��|��dd��h�d}|jD�]"}|rH|��d��nd}|��|��q4|jD�]"}|rr|��d��nd}|��|��q^W�d�����n1�s�0����Y��d�S�)Nr��r��FrK���T) r��r����r����r3���r��r ��r6���r����r7���)r����r���r]��r^��r���r���r���� visit_Call���s���� z_Unparser.visit_Callc�����������������C���s~���dd��}|���tj|j��|��|j��|��dd��:�||j�rP|��|�j|jj��n|��|j��W�d�����n1�sp0����Y��d�S�)Nc�����������������S���s&���t�|�t�o$|�jo$tdd��|�jD����S�)Nc�����������������s���s���|�]}t�|t�V��qd�S�r���)r ���ZStarred)rN���r���r���r���r���rR������rS���zE_Unparser.visit_Subscript.<locals>.is_simple_tuple.<locals>.<genexpr>)r ���r-���r/����any)Zslice_valuer���r���r����is_simple_tuple���s ���� ��z2_Unparser.visit_Subscript.<locals>.is_simple_tupler���r���) r��r����r����r"���r��r ��r����r����r/���)r����r���r���r���r���r����visit_Subscript���s���� z_Unparser.visit_Subscriptc�����������������C���s*���|���d��|��tj|j��|��|j��d�S�)Nr���)r����r��r����r����r"���r��r��r���r���r���� visit_Starred���s���� z_Unparser.visit_Starredc�����������������C���s���|���d��d�S�)Nr���r����r��r���r���r����visit_Ellipsis���s����z_Unparser.visit_Ellipsisc�����������������C���sN���|j�r|��|j���|��d��|jr.|��|j��|jrJ|��d��|��|j��d�S�)Nr��)�lowerr��r�����upper�stepr��r���r���r����visit_Slice���s���� z_Unparser.visit_Slicec�����������������C���s,���|���|j��|jr(|���d��|��|j��d�S�r���)r�����argr4��r��r��r���r���r���� visit_arg���s���� z_Unparser.visit_argc����������� ������C���s���d}|j�|j�}d�gt|�t|j���|j�}tt||�d�D�]^\}}|\}}|rXd}n |��d��|��|��|r�|��d��|��|��|t|j��kr>|��d��q>|js�|j r�|r�d}n |��d��|��d��|jr�|��|jj ��|jjr�|��d��|��|jj��|j �rLt|j |j�D�]8\}}|��d��|��|��|�r|��d��|��|���q|j �r�|�r`d}n |��d��|��d |j j ���|j j�r�|��d��|��|j j��d�S�) NTrH���FrK����=z, /r���r3��r���)�posonlyargsr6���r9����defaults� enumerater=���r����r���vararg� kwonlyargsr���r4���kw_defaults�kwarg) r����r���r����Zall_argsr���r�����elements�a�dr���r���r����visit_arguments���sN���� z_Unparser.visit_argumentsc�����������������C���s<���|j�d�u�r|��d��n|��|j���|��d��|��|j��d�S�)Nr���r���)r���r����r��r"���r��r���r���r���� visit_keyword ��s ���� z_Unparser.visit_keywordc�����������������C���sn���|���tj|��L�|��d��|��|j��|��d��|��tj|j��|��|j��W�d�����n1�s`0����Y��d�S�)Nzlambda r3��)r��r����r����r����r��r6���r��rE���r��r���r���r����visit_Lambda��s���� z_Unparser.visit_Lambdac�����������������C���s&���|���|j��|jr"|���d|j���d�S��NrW��)r����ra����asnamer��r���r���r����visit_alias��s����z_Unparser.visit_aliasc�����������������C���s,���|���|j��|jr(|��d��|���|j��d�S�r���)r���context_expr� optional_varsr����r��r���r���r����visit_withitem��s���� z_Unparser.visit_withitem)rJ���)vr[���r����r����r����r����r����r����r����r����r����propertyr��r���r��r ��r��r��r��r��r��r��r��r����r��r!��r%��r&��r(��r*��r-��r0��r2��r5��r7��r:��r<��r>��r?��rB��rD��rE��rG��rI��rJ��rN��rU��rX��r_��rc��rd��rb��rg��rh��rf��rj��rk��rm��rn��r���r~��r���r���r���r���r���r���r���r��r���r����r���r���r���r���r���r���r���r���r���r���r���r����r����r����r���r���r1��r����r����r����r����r����r����r����r���� frozensetr���r���r���r���r���r����r����r���r���r���r���r���r���r���r���r���r���r���r���r���r���� __classcell__r���r���r��r���r�������s�� �& � ��� 3r����c�����������������C���s���t���}|�|��S�r���)r����r����)Zast_objr���r���r���r����unparse$��s����r���c������������������C���s����dd�l�}�|�jdd�}|jd|�jdd�ddd d ��|jddd ddd��|jddddd��|jddddd��|jddtddd��|���}|j�}|���}W�d�����n1�s�0����Y��t||jj |j |jd �}tt ||j|jd!���d�S�)"Nr���z python -m ast)�prog�infile�rbr����?r���z$the file to parse; defaults to stdin)r!����nargs�default�helpz-mz--moder���)r���Zsingler���Z func_typez(specify what kind of code must be parsed)r���choicesr��z--no-type-commentsTZstore_falsez)don't add information about type comments)r���actionr��z-az--include-attributes� store_truez:include attributes such as line numbers and column offsets)r��r��z-iz--indentrL���z'indentation of nodes (number of spaces))r!���r��r��)r ���)re���rG���)�argparse�ArgumentParser�add_argumentZFileTyper#���� parse_argsr����readr���ra���r���Zno_type_comments�printrh���re���rG���)r ���parserr6���r���r���Ztreer���r���r����main)��s0����� � � ��&r���__main__)r���r���)TF)rH���)T)J�sysZ_ast� contextlibr���r����enumr���r���r���rF���rh���rr���rw���rz���r|���rs���r����r����r����r����rx����objectr����r����rm���r ���r����r����r���ry���r����r!���r����r����r����r����r����r����r����r#���r$���r%���rD����bytes�boolr����r����r����rT���r����r����r����r-���r����r����r�����modr����Zexpr_contextr����r����r����r]���� float_info� max_10_expr���r����Z_SINGLE_QUOTESrv��r���r����r���r��r[���r���r���r���r����<module>���s�����8C# %:< ����������