Your IP : 18.191.210.103


Current Path : /opt/alt/python313/lib64/python3.13/__pycache__/
Upload File :
Current File : //opt/alt/python313/lib64/python3.13/__pycache__/ast.cpython-313.opt-2.pyc

�

1}g����SSKrSSKrSSK7 SSKJrJr SSKJrJrJ	r	 SPSSSS.Sjjr
S	rSQSSS
.SjjrSr
S
rSRSjrSrSrSSSjr\R&"S5rSTSjrSrSS.SjrSr"SS\5r"SS\5rSrSr\"\S5(d(S r S!r!S"r"S#r#\$"\ \!5\l%\$"\"\#5\l&"S$S%\'5r(S&r)"S'S(\\(S)9r*"S*S+\\(S)9r+"S,S-\\(S)9r,"S.S/\\(S)9r-"S0S1\\(S)9r.\.r/\*\0\1\24\+\34\,\44\-\'"S5\54\.\'"S2540r6\*\540r7\5S/\'"S5S/\0S(\1S(\2S(\3S+\4S-\'"S25S10r8"S3S4\95r:"S5S6\:5r;"S7S8\:5r<\"\=S95(dS:r>S;r?\$"\>\?5\=l@"S<S=\A5rB"S>S?\C5rD"S@SA\C5rE"SBSC\C5rFSD\G"\R�R�S-5-rJ\	"\5"SESF55rKSGrLSHrM/\LQ\MQ7rN"SISJ\5rOSKrPSLVs0sHnU\Q"5R�U5_M snrSSMrTSNrU\VSO:Xa\U"5 ggs snf)U�N)�*)�contextmanager�nullcontext)�IntEnum�auto�_simple_enumF���)�
type_comments�feature_version�optimizec	���[nUS:�a	U[-nU(a	U[-nUcSnO/[U[5(aUupxUS:wa[SU35eUn[
XX&XES9$)Nrr	�zUnsupported major version: )�_feature_versionr)�
PyCF_ONLY_AST�PyCF_OPTIMIZED_AST�PyCF_TYPE_COMMENTS�
isinstance�tuple�
ValueError�compile)	�source�filename�moder
rr�flags�major�minors	         �*/opt/alt/python313/lib64/python3.13/ast.py�parser"s}��
�E��!�|�
�#�#���
�#�#������	�O�U�	+�	+�&����A�:��:�5�'�B�C�C����6�T�$3�H�H�c��^^^^�[U[5(a[URS5SS9n[U[5(aUR
nSmU4SjmU4SjmUUUU4SjmT"U5$)Nz 	�eval)rc�b�Sn[USS5=n(aUSU3-
n[USU<3-5e)Nzmalformed node or string�linenoz	 on line �: )�getattrr)�node�msg�lnos   r�_raise_malformed_node�+literal_eval.<locals>._raise_malformed_nodeGsB��(���$��$�/�/�3�/��Y�s�e�$�$�C����D�8�}�,�-�-rc�>�[U[5(a([UR5[[
[4;aT"U5 UR$�N)r�Constant�type�value�int�float�complex)r&r)s �r�_convert_num�"literal_eval.<locals>._convert_numLs:����$��)�)�T�$�*�*�-=�c�5�RY�EZ�-Z�!�$�'��z�z�rc�>�[U[5(a\[UR[[45(a7T"UR
5n[UR[5(aU7$U*$T"U5$r,)r�UnaryOp�op�UAdd�USub�operand)r&r:r3s  �r�_convert_signed_num�)literal_eval.<locals>._convert_signed_numPs^����d�G�$�$��D�G�G�d�D�\�)J�)J�"�4�<�<�0�G��$�'�'�4�(�(� �y� � �y� ��D�!�!rc	�>�[U[5(aUR$[U[5(a[	[TUR55$[U[5(a[[TUR55$[U[5(a[[TUR55$[U[5(af[UR[5(aGURRS:Xa-URUR s=:Xa/:Xa[5$ [U["5(aq[%UR&5[%UR(5:waT"U5 [+[-[TUR&5[TUR(555$[U[.5(a�[UR0[2[445(a{T"UR65nT"UR85n[U[:[<45(a<[U[>5(a'[UR0[25(aX-$X-
$T"U5$)N�set) rr-r/�Tupler�map�elts�List�list�Setr>�Call�func�Name�id�args�keywords�Dict�len�keys�values�dict�zip�BinOpr7�Add�Sub�left�rightr0r1r2)r&rTrU�_convertr3r;r)s   ����rrV�literal_eval.<locals>._convertXs�����d�H�%�%��:�:��
��e�
$�
$���X�t�y�y�1�2�2�
��d�
#�
#���H�d�i�i�0�1�1�
��c�
"�
"��s�8�T�Y�Y�/�0�0���t�$�$��D�I�I�t�)D�)D��i�i�l�l�e�#��	�	�T�]�]�(H�b�(H��5�L�)I�
��d�
#�
#��4�9�9�~��T�[�[�!1�1�%�d�+���C��$�)�)�4���$�+�+�6�8�9�
9�
��e�
$�
$��D�G�G�c�3�Z�)H�)H�&�t�y�y�1�D� ����,�E��$��e��-�-�*�U�G�2L�2L��d�g�g�s�+�+��<�'��<�'�"�4�(�(r)r�strr�lstrip�
Expression�body)�node_or_stringrVr3r;r)s @@@@r�literal_evalr]:sg����.�#�&�&��~�4�4�U�;�&�I���.�*�-�-�'�,�,��.�
�"�)�)�4�N�#�#r)�indent�
show_emptyc��^^^^^�SUUUUU4Sjjm[U[5(d"[SURR-5eTb[T[
5(dST-mT"U5S$)Nrc�>^�TbTS-
mSTT--nSTT--nOSnSn[U[5(Ga�[U5n/n/nSnT
nURH�n	[	X	5n
U
c[	XIS5cSnM#T(d@U
bU
/:Xa7[U[[45(dUR[U
55 MjU(dURU5 /nT"U
T5up�U=(a UnU(aURU	<SU
<35 M�URU
5 M� T(apUR(a_URHOn	[	X	5n
U
c[	XIS5cM!T"U
T5up�U=(a UnURU	<SU
<35 MQ U(aC[U5S	::a4URR<S
SRU5<S3U(+4$URR<S
U<URU5<S3S4$[U[ 5(a.U(dg
SU<URUU4SjU55<S3S4$[U5S4$![
a SnGM#f=f![
a GMAf=f)N��
z,
��, T.�=r�(�)F)z[]T�[c3�<># �UHnT"UT5Sv� M g7f�rN�)�.0�x�_format�levels  ��r�	<genexpr>�(dump.<locals>._format.<locals>.<genexpr>�s����/S�d����5�0A�!�0D�d�s��])r�ASTr.�_fieldsr%�AttributeErrorr-�MatchSingleton�append�repr�extend�_attributesrL�	__class__�__name__�joinrC)r&rp�prefix�sep�clsrI�args_buffer�	allsimplerJ�namer/�simplero�annotate_fields�include_attributesr^r_s `          �����rro�dump.<locals>._format�sU������Q�J�E��F�U�N�*�F��&�5�.�(�C��F��C��d�C� � ��t�*�C��D��K��I�&�H������#�D�/�E��=�W�S��%<�%D�#�H��"���%�2�+�'�t�h��-G�H�H��&�&�t�E�{�3��!��K�K��,�"$�K� '��u� 5�
��%�0�&�	���K�K�4�� 7�8��K�K��&�5%�6"�d�&6�&6� �,�,�D�!� '�� 3���}���C�)@�)H� �$+�E�5�$9�M�E� )� 4�f�I��K�K�4�� 7�8�-��S��Y�!�^�#'�>�>�#:�#:�D�I�I�d�O�L�RV�h�V�V�!%���!8�!8�&�#�(�(�4�.�Q�SX�X�X�
��d�
#�
#��!��%�s�x�x�/S�d�/S�'S�T�V[�[�[��D�z�4����U&��#�H����8*�!� �!�s$�I(�
I<�(I9�8I9�<
J�
Jzexpected AST, got %r� )r)rrt�	TypeErrorr|r}rX)r&r�r�r^r_ros ````@r�dumpr�usb���$; �; �z�d�C� � ��.����1H�1H�H�I�I�
��*�V�S�"9�"9��v����4�=���rc���SHjnX!R;dMX R;dM%[XS5nUc*[X5(dMFURS5(dM^[	XU5 Ml U$)N)r#�
col_offset�
end_lineno�end_col_offset�end_)r{r%�hasattr�
startswith�setattr)�new_node�old_node�attrr/s    r�
copy_locationr��se��
G���'�'�'�D�4H�4H�,H��H�D�1�E�� ���'�'�D�O�O�F�,C�,C����.�G��Orc�,^�U4SjmT"USSSS5 U$)Nc��>�SUR;a$[US5(dXlOURnSUR;a![USS5cX0lOURnSUR;a$[US5(dX lOUR
nSUR;a![USS5cX@lOURn[U5H
nT"XQX#U5 M g)Nr#r�r�r�)r{r�r#r%r�r�r��iter_child_nodes)r&r#r�r�r��child�_fixs      �rr��#fix_missing_locations.<locals>._fix�s�����t�'�'�'��4��*�*�$�������4�+�+�+��t�\�4�0�8�",��!�_�_�
��4�+�+�+��4��.�.�",��!�_�_�
��t�/�/�/��t�-�t�4�<�&4�#�!%�!4�!4��%�d�+�E���
��G�,rrbrrl)r&r�s @r�fix_missing_locationsr��s ���H�.	��q�!�Q����Krrbc�&�[U5H�n[U[5(a[USS5U-UlM/SUR
;a[USS5U-UlSUR
;dMf[USS5=ncMxX1-UlM� U$)Nr#rr�)�walkr�
TypeIgnorer%r#r{r�)r&�nr�r�s    r�increment_linenor��s����d����e�Z�(�(�"�5�(�A�6��:�E�L���u�(�(�(�"�5�(�A�6��:�E�L��E�-�-�-�&�u�l�A�>�>��K�)�~�E����Krc#�t# �URHnU[X54v� M g![a M%f=f7fr,)rur%rv)r&�fields  r�iter_fieldsr�s=���
����	����-�-�-����	��	�s�8�'�8�
5�8�5�8c#��# �[U5H[up[U[5(aUv� M [U[5(dM7UHn[U[5(dMUv� M  M] g7fr,)r�rrtrC)r&r�r��items    rr�r�"sS���
#�4�(����e�S�!�!��K�
��t�
$�
$����d�C�(�(��J��	)�s�?A.�A.�!
A.c���[U[[[[45(d"[SURR-5eUR(a"[URS[5(dgURSRn[U[5(a,[UR[5(a
URnOgU(aSSK
nURU5nU$)Nz%r can't have docstringsr)r�AsyncFunctionDef�FunctionDef�ClassDef�Moduler�r|r}r[�Exprr/r-rX�inspect�cleandoc)r&�clean�textr�s    r�
get_docstringr�0s����d�-�{�H�f�M�N�N��2�T�^�^�5L�5L�L�M�M��9�9��D�I�I�a�L�$�7�7���9�9�Q�<���D��$��!�!�j����S�&A�&A��z�z���������%���Krz(.*?(?:\r\n|\n|\r|$))c��/n[[RU5S5H$up4UbX1:�a U$URUS5 M& U$�Nrbr)�	enumerate�
_line_pattern�finditerrx)r�maxlines�linesr#�matchs     r�_splitlines_no_ffr�IsT��

�E�"�=�#9�#9�&�#A�1�E�
����F�$5���L�	���U�1�X��F��Lrc�>�SnUHnUS;aX-
nMUS-
nM U$)Nrdz	r�rl)r�result�cs   r�_pad_whitespacer�Vs/��
�F�
����;��K�F��c�M�F�	�
�Mr)�paddedc��URb
URcgURS-
nURS-
nURnURn[XS-S9nXC:Xa"XsR
5XVR5$U(a-[XsR
5SUR55nOSnX�UR
5USR5-n	XtR
5SUR5n
XsS-UnURSU	5 URU
5 SRU5$![a gf=f)Nrb)r�rdr)r�r�r#r�rvr��encode�decoder��insertrxr~)rr&r�r#r�r�r�r��padding�first�lasts           r�get_source_segmentr�as@����?�?�"�d�&9�&9�&A�����q����_�_�q�(�
��_�_�
��,�,��
�f�!�|�<�E����}�#�#�%�j�@�G�G�I�I�
�!�%�-�"6�"6�"8��*�"E�"L�"L�"N�O�����F�m�*�*�,�Z�[�9�@�@�B�B�E���#�#�%�o�~�6�=�=�?�D���(�:�&�E�	�L�L��E��	�L�L���
�7�7�5�>���%����s�E�6E�
E
�E
c#�# �SSKJn U"U/5nU(a8UR5nUR[	U55 Uv� U(aM7gg7f)Nr)�deque)�collectionsr��popleftrzr�)r&r��todos   rr�r��sA���"��$��=�D�
��|�|�~�����$�T�*�+��
��$�s�AA�Ac�&�\rSrSrSrSrSrSrg)�NodeVisitori�c�p�SURR-n[XUR5nU"U5$)N�visit_)r|r}r%�
generic_visit)�selfr&�method�visitors    r�visit�NodeVisitor.visit�s2���D�N�N�3�3�3���$��(:�(:�;���t�}�rc��[U5Huup#[U[5(a3UH+n[U[5(dMUR	U5 M- MM[U[5(dMdUR	U5 Mw gr,)r�rrCrtr�)r�r&r�r/r�s     rr��NodeVisitor.generic_visit�s^��'��-�L�E��%��&�&�!�D�!�$��,�,��
�
�4�(�"��E�3�'�'��
�
�5�!�
.rc�t�URn[R[U55nUc1[R	5HupE[X$5(dMUn O Ub7SU-n[
X5nSSKnURUS3[S5 U"U5$URU5$![a Nf=f)Nr�rz" is deprecated; add visit_Constant�)r/�_const_node_type_names�getr.�itemsrr%�warnings�warn�DeprecationWarningrvr�)	r�r&r/�	type_namer�r�r�r�r�s	         r�visit_Constant�NodeVisitor.visit_Constant�s����
�
��*�.�.�t�E�{�;�	���3�9�9�;�	���e�)�)� $�I��<�� ��	�)�F�
%�!�$�/�� ��
�
���(J�K�0�!�5��t�}�$��!�!�$�'�'��"�
��
�s�(B*�*
B7�6B7rlN)r}�
__module__�__qualname__�__firstlineno__r�r�r��__static_attributes__rlrrr�r��s��(�"�(rr�c��\rSrSrSrSrg)�NodeTransformeri�c���[U5H�up#[U[5(au/nUHgn[U[5(a>UR	U5nUcM.[U[5(dURU5 MVUR
U5 Mi XCSS&M�[U[5(dM�UR	U5nUc
[X5 M�[XU5 M� U$r,)	r�rrCrtr�rzrx�delattrr�)r�r&r��	old_value�
new_valuesr/r�s       rr��NodeTransformer.generic_visit�s��� +�D� 1��E��)�T�*�*��
�&�E�!�%��-�-� $�
�
�5� 1�� �=�$�!+�E�3�!7�!7�&�-�-�e�4�$��%�%�e�,�'� *�!���I�s�+�+��:�:�i�0���#��D�(��D��2�%!2�&�rrlN)r}r�r�r�r�r�rlrrr�r��s��Hrr�zN{name} is deprecated and will be removed in Python {remove}; use value insteadzU{name} is deprecated and will be removed in Python {remove}; use ast.Constant insteadr�c�L�SSKnURS[SS9 UR$�NrzAttribute n�r���message�remove�r��_deprecated�_DEPRECATED_VALUE_ALIAS_MESSAGEr/�r�r�s  r�	_n_getterr��,�������#B�7�	�	
��z�z�rc�B�SSKnURS[SS9 Xlgr�r��r�r/r�s   r�	_n_setterr�'�������#B�7�	�	
��
rc�L�SSKnURS[SS9 UR$�NrzAttribute sr�r�r�r�s  r�	_s_getterr&r�rc�B�SSKnURS[SS9 Xlgrr�r�s   r�	_s_setterr.rrc� �\rSrSrSrSrSrg)�_ABCi8c��SUlg)Nz3Deprecated AST node class. Use ast.Constant instead)�__doc__)r�rIs  r�__init__�
_ABC.__init__:s	��O��rc��U[;a&SSKnURSUR3[SS9 [U[5(dgU[;aLURn[U[U5=(a% [U[RUS55(+$[RX5$![a gf=f)Nr�ast.r�r�Frl)
�_const_typesr�r�r��_DEPRECATED_CLASS_MESSAGErr-r/�_const_types_notr�rvr.�__instancecheck__)r��instr�r/s    rr�_ABC.__instancecheck__=s����,���� � ��s�'�'�(�)�1��
!�
�
�$��)�)���,��
��
�
��
�u�l�3�&7�8�I�"�5�*:�*>�*>�s�B�*G�H�H���%�%�c�0�0��"�
��
�s�B2�2
B?�>B?rlN)r}r�r�r�rrr�rlrrrr8s
��P�1rrc�j�UHYnX0R;aMURRU5nU[U5:dM@[URSU<35e U[
;a1SSKnURSUR3[SS9 [U0UD6$[R"U/UQ70UD6$)Nz" got multiple values for argument rrr�r�)ru�indexrLr�r}rr�r�r�rr-�__new__)r�rI�kwargs�key�posr�s      r�_newrSs������k�k�!���k�k����$����T��?��s�|�|�n�,N�s�g�V�W�W�
��l�������3�#�#�$�%�/H�QX�	�	
���(��(�(����C�1�$�1�&�1�1rc��\rSrSrSr\rSrg)�Numic)r�rlN�r}r�r�r�rurrr�rlrrrrc����G��Grr)�	metaclassc��\rSrSrSr\rSrg)�Strig��srlNrrlrrr"r"grrr"c��\rSrSrSr\rSrg)�Bytesikr#rlNrrlrrr&r&krrr&c��\rSrSr\rSrg)�NameConstantiorlN)r}r�r�r�rrr�rlrrr(r(os���Grr(c��\rSrSrSrSrSrg)�Ellipsisirrlc��U[La(SSKnURS[SS9 [	S/UQ70UD6$[R
"U/UQ70UD6$)Nrzast.Ellipsisr�r�.)�
_ast_Ellipsisr�r�rr-r)r�rIrr�s    rr�Ellipsis.__new__usZ���-���� � ��(A�'�
!�
��C�1�$�1�&�1�1�����5�d�5�f�5�5rN)r}r�r�r�rurr�rlrrr*r*rs���G�6rr*.c��\rSrSrSrg)�slicei�rlN�r}r�r�r�r�rlrrr/r/����rr/c��\rSrSrSrSrg)�Indexi�c��U$r,rl)r�r/rs   rr�
Index.__new__�s���rrlN�r}r�r�r�rr�rlrrr3r3�s��rr3c��\rSrSrSSjrSrg)�ExtSlicei�rlc�>�[[U5[540UD6$r,)r?rC�Load)r��dimsrs   rr�ExtSlice.__new__�s���T�$�Z���2�6�2�2rN)rlr6rlrrr8r8�s��3rr8r;c��UR$r,�rA�r�s r�_dims_getterr@�s���y�y�rc��Xlgr,r>�r�r/s  r�_dims_setterrC�s���	rc��\rSrSrSrg)�Suitei�rlNr0rlrrrErE�r1rrEc��\rSrSrSrg)�AugLoadi�rlNr0rlrrrGrG�r1rrGc��\rSrSrSrg)�AugStorei�rlNr0rlrrrIrI�r1rrIc��\rSrSrSrg)�Parami�rlNr0rlrrrKrK�r1rrK�1ec��\rSrSr\"5r\"5r\"5r\"5r\"5r	\"5r
\"5r\"5r\"5r
\
r\"5r\"5r\"5r\"5r\"5r\"5r\"5r\"5r\"5rSrSrg)�_Precedencei�c�P�URUS-5$![a Us$f=f�Nrb)r|rr?s r�next�_Precedence.next�s.��	��>�>�$��(�+�+���	��K�	�s��%�%rlN)r}r�r�r�r�
NAMED_EXPR�TUPLE�YIELD�TEST�OR�AND�NOT�CMP�EXPR�BOR�BXOR�BAND�SHIFT�ARITH�TERM�FACTOR�POWER�AWAIT�ATOMrQr�rlrrrNrN�s�����J��F�E��F�E��6�D�	
��B�
�&�C�
�&�C�
�&�C��6�D�
�C��6�D��6�D��F�E��F�E��6�D�
�V�F��F�E��F�E��6�D�rrN)�'�")z"""�'''c��^�\rSrSrSrSrSrSrS�SjrSr	\
S�S	j5r\
SS
.Sj5r\
S5r
S
rSrSrSrSrSrU4SjrSrSrSrSrSrSrSrSrSrSrSrSr S r!S!r"S"r#S#r$S$r%S%r&S&r'S'r(S(r)S)r*S*r+S+r,S,r-S-r.S.r/S/r0S0r1S1r2S2r3S3r4S4r5S5r6S6r7S7r8S8r9S9r:S:r;S;r<S<r=S=r>S>r?\@S?S@.SAjrA\@SB.SCjrBSDrCS�SEjrDSFrESGrFSHrGSIrHSJrISKrJSLrKSMrLSNrMSOrNSPrOSQrPSRrQSSrRSTrSSUSVSWSXSY.rT\UR�\UR�\UR�\UR�SZ.rXS[rYSWSXS\S]S^S_S`SaSbScSdSeSfSg.
rZ\UR�\UR�\UR�\UR�\UR�\UR�\UR�\UR�\UR�\UR�\UR�\UR�\UR�Sh.
rb\c"Si5rdSjreSkSlSmSnSoSpSqSrSsStSu.
rfSvrgSwSxSy.rh\UR�\UR�Sz.rkS{rlS|rmS}rnS~roSrpS�rqS�rrS�rsS�rtS�ruS�rvS�rwS�rxS�ryS�rzS�r{S�r|S�r}S�r~S�rS�r�S�r�S�r�S�r�U=r�$)��	_Unparseri�c�J�/Ul0Ul0UlSUlSUlg)NrF)�_source�_precedences�
_type_ignores�_indent�_in_try_starr?s rr�_Unparser.__init__�s(��������������!��rc��[U5nU"[U55 UHnU"5 U"U5 M g![a gf=fr,)�iterrQ�
StopIteration)r��inter�f�seqrns     r�
interleave�_Unparser.interleave�sG���3�i��	�
�d�3�i�L������!�����	��	�s�7�
A�Ac�^�[U5S:XaU"US5 TRS5 gTRU4SjX5 g)Nrbr�,c�&>�TRS5$�Nre��writer?s�r�<lambda>�&_Unparser.items_view.<locals>.<lambda>	����D�J�J�t�$4r)rLrrx)r��	traverserr�s`  r�
items_view�_Unparser.items_views6����u�:��?��e�A�h���J�J�s�O��O�O�4�i�Grc�J�UR(aURS5 gg)Nrc)rlrr?s r�
maybe_newline�_Unparser.maybe_newlines���<�<��J�J�t��rc�f�UR5 URSUR-U-5 g)Nz    )r�rro�r�r�s  r�fill�_Unparser.fills*��	
�����
�
�6�D�L�L�(�4�/�0rc�:�URRU5 gr,)rlrzr�s  rr�_Unparser.writes�������D�!rNc#�N# �Uc/nURnXlUv� X lg7fr,)rl)r��buffer�original_sources   r�buffered�_Unparser.buffereds'����>��F��,�,������&��s�#%��extrac#�# �URS5 U(aURU5 U=RS-
slSv� U=RS-slg7f)N�:rb)rro)r�r�s  r�block�_Unparser.block$s@���	
�
�
�3����J�J�u��������
�������s�AAc#�X# �URU5 Sv� URU5 g7fr,r~)r��start�ends   r�delimit�_Unparser.delimit2s!���
	
�
�
�5��
��
�
�3��s�(*c�F�U(aURX5$[5$r,)r�r)r�r�r��	conditions    r�
delimit_if�_Unparser.delimit_if;s����<�<��+�+��=� rc�L�URSSURU5U:�5$�Nrgrh)r��get_precedence)r��
precedencer&s   r�require_parens�_Unparser.require_parensAs%�����s�C��)<�)<�T�)B�Z�)O�P�Prc�V�URRU[R5$r,)rmr�rNrV�r�r&s  rr��_Unparser.get_precedenceEs!��� � �$�$�T�;�+;�+;�<�<rc�2�UHnXRU'M gr,)rm)r�r��nodesr&s    r�set_precedence�_Unparser.set_precedenceHs���D�&0���d�#�rc�R�[U[[[[45(a[UR5S:agURSn[U[5(dgURn[U[5(a"[UR[5(aU$ggr�)rr�r�r�r�rLr[r�r/r-rXr�s  r�get_raw_docstring�_Unparser.get_raw_docstringLs���
��#�[�(�F�C�
�
�
����^�a�
���y�y��|���$��%�%���z�z���d�H�%�%�*�T�Z�Z��*E�*E��K�+F�%rc��URRUR5=(d URnUbSU3$g)Nz	 # type: )rnr�r#�type_comment)r�r&�comments   r�get_type_comment�_Unparser.get_type_comment\s?���$�$�(�(����5�J��9J�9J�����w�i�(�(�rc�>�[U[5(aUHnURU5 M g[TU]U5 gr,)rrC�traverse�superr�)r�r&r�r|s   �rr��_Unparser.traverseas4����d�D�!�!����
�
�d�#��
�G�M�$�rc�h�/UlURU5 SRUR5$)Nrd)rlr�r~r�s  rr��_Unparser.visitks*������
�
�d���w�w�t�|�|�$�$rc���URU5=n(a0URU5 URURSS5 gURUR5 grP)r��_write_docstringr�r[)r�r&�	docstrings   r�"_write_docstring_and_traverse_body�,_Unparser._write_docstring_and_traverse_bodyrsL���/�/��5�5�I�5��!�!�)�,��M�M�$�)�)�A�B�-�(��M�M�$�)�)�$rc���URVs0sHnURSUR3_M snUlUR	U5 URR5 gs snf)N�ignore)�type_ignoresr#�tagrnr��clear)r�r&r�s   r�visit_Module�_Unparser.visit_Moduleyse���+�+�
�+��
�M�M�V�F�J�J�<�0�0�+�
���	
�/�/��5���� � �"��
s�$A'c�^�TRSS5 TRU4SjTRUR5 SSS5 TR	S5 TRUR
5 g!,(df   N;=f)Nrgrhc�&>�TRS5$r}r~r?s�rr��._Unparser.visit_FunctionType.<locals>.<lambda>������
�
�4�(r� -> )r�rxr��argtypesr�returnsr�s` r�visit_FunctionType�_Unparser.visit_FunctionType�sX���
�\�\�#�s�
#��O�O�(�$�-�-����
�$�
	
�
�
�6���
�
�d�l�l�#�
$�
#�s�,A5�5
Bc��UR5 UR[RUR5 URUR5 gr,)r�r�rNrUr/r�r�s  r�
visit_Expr�_Unparser.visit_Expr�s5���	�	�����K�-�-�t�z�z�:��
�
�d�j�j�!rc�p�UR[RU5 UR[RUR
UR5 URUR
5 URS5 URUR5 SSS5 g!,(df   g=f)Nz := )	r�rNrSr�re�targetr/r�rr�s  r�visit_NamedExpr�_Unparser.visit_NamedExpr�sp��
�
 �
 ��!7�!7��
>����� 0� 0�$�+�+�t�z�z�J��M�M�$�+�+�&��J�J�v���M�M�$�*�*�%�	?�
>�
>�s�A=B'�'
B5c�~^�TRS5 TRU4SjTRUR5 g)Nzimport c�&>�TRS5$r}r~r?s�rr��(_Unparser.visit_Import.<locals>.<lambda>������
�
�4� 0r)r�rxr��namesr�s` r�visit_Import�_Unparser.visit_Import�s(����	�	�)�����0�$�-�-����Lrc�F^�TRS5 TRSUR=(d S-5 UR(aTRUR5 TRS5 TR	U4SjTR
UR5 g)Nzfrom �.rz import c�&>�TRS5$r}r~r?s�rr��,_Unparser.visit_ImportFrom.<locals>.<lambda>�r�r)r�rrp�modulerxr�r�r�s` r�visit_ImportFrom�_Unparser.visit_ImportFrom�sd����	�	�'���
�
�3�$�*�*�/��*�+��;�;��J�J�t�{�{�#��
�
�:�����0�$�-�-����Lrc�X�UR5 URHEnUR[RU5 URU5 UR
S5 MG URUR5 URU5=n(aUR
U5 gg)N� = )	r��targetsr�rNrTr�rr/r�)r�r&r�r�s    r�visit_Assign�_Unparser.visit_Assign�s����	�	���l�l�F����� 1� 1�6�:��M�M�&�!��J�J�u��#�	
�
�
�d�j�j�!��0�0��6�6�<�6��J�J�|�$�7rc��UR5 URUR5 URSURUR
RR-S-5 URUR5 g)Nr�z= )	r�r�r�r�binopr7r|r}r/r�s  r�visit_AugAssign�_Unparser.visit_AugAssign�sZ���	�	���
�
�d�k�k�"��
�
�3����D�G�G�$5�$5�$>�$>�?�?�$�F�G��
�
�d�j�j�!rc���UR5 URSSUR(+=(a [UR[
55 UR
UR5 SSS5 URS5 UR
UR5 UR(a-URS5 UR
UR5 gg!,(df   Ny=f)Nrgrhr$r�)
r�r�r�rr�rGr�r�
annotationr/r�s  r�visit_AnnAssign�_Unparser.visit_AnnAssign�s����	�	��
�_�_�S�#�4�;�;��'X�:�d�k�k�SW�;X�
Y��M�M�$�+�+�&�Z��
�
�4���
�
�d�o�o�&��:�:��J�J�u���M�M�$�*�*�%��	Z�
Y�s�C#�#
C1c��URS5 UR(a-URS5 URUR5 gg)N�returnr�)r�r/rr�r�s  r�visit_Return�_Unparser.visit_Return�s5���	�	�(���:�:��J�J�s�O��M�M�$�*�*�%�rc�&�URS5 g)N�pass�r�r�s  r�
visit_Pass�_Unparser.visit_Pass�s���	�	�&�rc�&�URS5 g)N�breakr�r�s  r�visit_Break�_Unparser.visit_Break�s���	�	�'�rc�&�URS5 g)N�continuer�r�s  r�visit_Continue�_Unparser.visit_Continue�s���	�	�*�rc�~^�TRS5 TRU4SjTRUR5 g)Nzdel c�&>�TRS5$r}r~r?s�rr��(_Unparser.visit_Delete.<locals>.<lambda>�r�r)r�rxr�r�r�s` r�visit_Delete�_Unparser.visit_Delete�s(����	�	�&�����0�$�-�-����Nrc���URS5 URUR5 UR(a-UR	S5 URUR5 gg)Nzassert re)r�r��testr'rr�s  r�visit_Assert�_Unparser.visit_Assert�sF���	�	�)���
�
�d�i�i� ��8�8��J�J�t���M�M�$�(�(�#�rc�~^�TRS5 TRU4SjTRUR5 g)Nzglobal c�&>�TRS5$r}r~r?s�rr��(_Unparser.visit_Global.<locals>.<lambda>�r�r�r�rxrr�r�s` r�visit_Global�_Unparser.visit_Global�s(����	�	�)�����0�$�*�*�d�j�j�Irc�~^�TRS5 TRU4SjTRUR5 g)Nz	nonlocal c�&>�TRS5$r}r~r?s�rr��*_Unparser.visit_Nonlocal.<locals>.<lambda>�r�rrr�s` r�visit_Nonlocal�_Unparser.visit_Nonlocal�s(����	�	�+�����0�$�*�*�d�j�j�Irc�h�UR[RU5 URS5 UR(aVURS5 UR[RUR5 URUR5 SSS5 g!,(df   g=f)N�awaitr�)r�rNrdrr/r�rer�r�s  r�visit_Await�_Unparser.visit_Await��l��
�
 �
 ��!2�!2�D�
9��J�J�w���z�z��
�
�3���#�#�K�$4�$4�d�j�j�A��
�
�d�j�j�)�:�
9�
9���A9B#�#
B1c�h�UR[RU5 URS5 UR(aVURS5 UR[RUR5 URUR5 SSS5 g!,(df   g=f)N�yieldr�)r�rNrUrr/r�rer�r�s  r�visit_Yield�_Unparser.visit_Yield�rrc�\�UR[RU5 URS5 UR(d[S5eUR
[RUR5 URUR5 SSS5 g!,(df   g=f)Nzyield from z-Node can't be used without a value attribute.)	r�rNrUrr/rr�rer�r�s  r�visit_YieldFrom�_Unparser.visit_YieldFrom�sm��
�
 �
 ��!2�!2�D�
9��J�J�}�%��:�:� �!P�Q�Q����� 0� 0�$�*�*�=��M�M�$�*�*�%�:�
9�
9�s�A3B�
B+c�V�URS5 UR(dUR(a[S5egUR	S5 URUR5 UR(a-UR	S5 URUR5 gg)N�raisez*Node can't use cause without an exception.r�z from )r��exc�causerrr�r�s  r�visit_Raise�_Unparser.visit_Raise�sn���	�	�'���x�x��z�z� �#M�O�O���
�
�3���
�
�d�h�h���:�:��J�J�x� ��M�M�$�*�*�%�rc��URS5 UR5 URUR5 SSS5 URHnURU5 M UR
(aEURS5 UR5 URUR
5 SSS5 UR(aFURS5 UR5 URUR5 SSS5 gg!,(df   N�=f!,(df   Nw=f!,(df   g=f)N�try�else�finally)r�r�r�r[�handlers�orelse�	finalbody)r�r&�exs   r�do_visit_try�_Unparser.do_visit_trys����	�	�%��
�Z�Z�\��M�M�$�)�)�$���-�-�B��M�M�"�� ��;�;��I�I�f�������
�
�d�k�k�*���>�>��I�I�i� ������
�
�d�n�n�-�����\�������s#�D�D)�2D:�
D&�)
D7�:
Ec�p�URnSUlURU5 X lg!X lf=f)NF�rpr5�r�r&�prev_in_try_stars   r�	visit_Try�_Unparser.visit_Trys7���,�,��	1� %�D�����d�#� 0��� 0����-�5c�p�URnSUlURU5 X lg!X lf=f)NTr8r9s   r�
visit_TryStar�_Unparser.visit_TryStars7���,�,��	1� $�D�����d�#� 0��� 0��r=c���URUR(aSOS5 UR(a,URS5 UR	UR5 UR
(a,URS5 URUR
5 UR
5 UR	UR5 SSS5 g!,(df   g=f)Nzexcept*�exceptr�� as )r�rpr.rr�r�r�r[r�s  r�visit_ExceptHandler�_Unparser.visit_ExceptHandler!s����	�	�t�0�0�)�h�?��9�9��J�J�s�O��M�M�$�)�)�$��9�9��J�J�v���J�J�t�y�y�!�
�Z�Z�\��M�M�$�)�)�$��\�\�s�/C�
C"c�(�UR5 URH%nURS5 URU5 M' URSUR-5 [US5(aUR
UR5 URSSUR=(d URS9 SnURH/nU(aURS5 OS	nURU5 M1 URH/nU(aURS5 OS	nURU5 M1 SSS5 UR5 URU5 SSS5 g!,(df   N9=f!,(df   g=f)
N�@zclass �type_paramsrgrh)r�FreT)r��decorator_listr�r�r�r��_type_params_helperrHr��basesrJrr�r�)r�r&�deco�comma�es     r�visit_ClassDef�_Unparser.visit_ClassDef,s'�������'�'�D��I�I�c�N��M�M�$��(�	
�	�	�(�T�Y�Y�&�'��4��'�'��$�$�T�%5�%5�6�
�_�_�S�#�4�:�:�3N����_�
O��E��Z�Z����J�J�t�$� �E��
�
�a� � ��]�]����J�J�t�$� �E��
�
�a� �#�P��Z�Z�\��3�3�D�9��\�P�
O���\�s�>BE2�F�2
F�
Fc�(�URUS5 g)N�def��_function_helperr�s  r�visit_FunctionDef�_Unparser.visit_FunctionDefFs�����d�E�*rc�(�URUS5 g)Nz	async defrSr�s  r�visit_AsyncFunctionDef� _Unparser.visit_AsyncFunctionDefIs�����d�K�0rc���UR5 URH%nURS5 URU5 M' US-UR-nURU5 [US5(aUR
UR5 URSS5 URUR5 SSS5 UR(a,URS5 URUR5 URURU5S9 URU5 SSS5 g!,(df   N�=f!,(df   g=f)NrGr�rHrgrhr�r�)r�rIr�r�r�r�rJrHr�rIr�rr�r�r�)r�r&�fill_suffixrL�def_strs     rrT�_Unparser._function_helperLs��������'�'�D��I�I�c�N��M�M�$��(���#�d�i�i�/���	�	�'���4��'�'��$�$�T�%5�%5�6�
�\�\�#�s�
#��M�M�$�)�)�$�$��<�<��J�J�v���M�M�$�,�,�'�
�Z�Z�d�3�3�D�9�Z�
:��3�3�D�9�;�
:�$�
#��
;�
:�s�'E�&E�
E�
E c��^�UbM[U5S:�a=TRSS5 TRU4SjTRU5 SSS5 ggg!,(df   g=f)Nrrirsc�&>�TRS5$r}r~r?s�rr��/_Unparser._type_params_helper.<locals>.<lambda>`�����
�
�4�(8r)rLr�rxr�)r�rHs` rrJ�_Unparser._type_params_helper]sO����"�s�;�'7�!�';����c�3�'���� 8�$�-�-��U�(�'�(<�"�'�'�s�"A�
A!c�0�URUR5 UR(a,URS5 URUR5 UR(a-URS5 URUR5 gg)Nr$r�)rr��boundr��
default_valuer�s  r�
visit_TypeVar�_Unparser.visit_TypeVarbsa���
�
�4�9�9���:�:��J�J�t���M�M�$�*�*�%�����J�J�u���M�M�$�,�,�-�rc��URSUR-5 UR(a-URS5 URUR5 gg)Nrr��rr�rer�r�s  r�visit_TypeVarTuple�_Unparser.visit_TypeVarTupleksB���
�
�3����?�#�����J�J�u���M�M�$�,�,�-�rc��URSUR-5 UR(a-URS5 URUR5 gg)N�**r�rir�s  r�visit_ParamSpec�_Unparser.visit_ParamSpecqsC���
�
�4�$�)�)�#�$�����J�J�u���M�M�$�,�,�-�rc���URS5 URUR5 URUR5 URS5 URUR5 g)Nztype r�)r�r�r�rJrHrr/r�s  r�visit_TypeAlias�_Unparser.visit_TypeAliaswsN���	�	�'���
�
�d�i�i� �� � ��!1�!1�2��
�
�5���
�
�d�j�j�!rc�(�URSU5 g)Nzfor ��_for_helperr�s  r�	visit_For�_Unparser.visit_For~s�������&rc�(�URSU5 g)Nz
async for rtr�s  r�visit_AsyncFor�_Unparser.visit_AsyncFor�s������t�,rc�~�URU5 UR[RUR5 URUR5 UR
S5 URUR5 URURU5S9 URUR5 SSS5 UR(aFURS5 UR5 URUR5 SSS5 gg!,(df   Nf=f!,(df   g=f)N� in r�r/)r�r�rNrTr�r�rrsr�r�r[r2)r�r�r&s   rru�_Unparser._for_helper�s����	�	�$�����K�-�-�t�{�{�;��
�
�d�k�k�"��
�
�6���
�
�d�i�i� �
�Z�Z�d�3�3�D�9�Z�
:��M�M�$�)�)�$�;��;�;��I�I�f�������
�
�d�k�k�*����;�
:����s�!D�7D.�
D+�.
D<c���URS5 URUR5 UR5 URUR5 SSS5 UR
(a�[
UR
5S:Xa�[UR
S[5(a�UR
SnURS5 URUR5 UR5 URUR5 SSS5 UR
(a=[
UR
5S:Xa$[UR
S[5(aM�UR
(aFURS5 UR5 URUR
5 SSS5 gg!,(df   GNp=f!,(df   N�=f!,(df   g=f)Nzif rbrzelif r/)	r�r�rr�r[r2rLr�Ifr�s  r�visit_If�_Unparser.visit_If�s1���	�	�%���
�
�d�i�i� �
�Z�Z�\��M�M�$�)�)�$���k�k�c�$�+�+�.�!�3�
�4�;�;�q�>�SU�8V�8V��;�;�q�>�D��I�I�g���M�M�$�)�)�$������
�
�d�i�i�(��	�k�k�c�$�+�+�.�!�3�
�4�;�;�q�>�SU�8V�8V��;�;��I�I�f�������
�
�d�k�k�*�����\�����
��s#�G�8G�G%�
G�
G"�%
G3c��URS5 URUR5 UR5 URUR5 SSS5 UR
(aFURS5 UR5 URUR
5 SSS5 gg!,(df   Nf=f!,(df   g=f)Nzwhile r/)r�r�rr�r[r2r�s  r�visit_While�_Unparser.visit_While�s����	�	�(���
�
�d�i�i� �
�Z�Z�\��M�M�$�)�)�$���;�;��I�I�f�������
�
�d�k�k�*�����\����s�B9�C
�9
C�

Cc�$^�TRS5 TRU4SjTRUR5 TR	TRU5S9 TRUR5 SSS5 g!,(df   g=f)Nzwith c�&>�TRS5$r}r~r?s�rr��&_Unparser.visit_With.<locals>.<lambda>�r�rr��r�rxr�r�r�r�r[r�s` r�
visit_With�_Unparser.visit_With�s]����	�	�'�����0�$�-�-����L�
�Z�Z�d�3�3�D�9�Z�
:��M�M�$�)�)�$�;�
:�
:���B�
Bc�$^�TRS5 TRU4SjTRUR5 TR	TRU5S9 TRUR5 SSS5 g!,(df   g=f)Nzasync with c�&>�TRS5$r}r~r?s�rr��+_Unparser.visit_AsyncWith.<locals>.<lambda>�r�rr�r�r�s` r�visit_AsyncWith�_Unparser.visit_AsyncWith�s]����	�	�-� ����0�$�-�-����L�
�Z�Z�d�3�3�D�9�Z�
:��M�M�$�)�)�$�;�
:�
:�r�F��quote_types�escape_special_whitespacec�^^^�U4SjnSR[UT55mUnST;aUVs/sHof[;dMUPM nnUVs/sHofT;dM
UPM nnU(d,[T5m[	U4SjU5TS5nTSSU/4$T(a0URU4SjS	9 USSTS:XaTSSS
-TS-mTU4$s snfs snf)Nc�>�T(dUS;aU$US:XdUR5(d URS5RS5$U$)Nz
	�\�unicode_escape�ascii)�isprintabler�r�)r�r�s �r�escape_char�2_Unparser._str_literal_helper.<locals>.escape_char�sD���-��f�����D�y��
�
����x�x� 0�1�8�8��A�A��Hrrdrcc3�>># �UHnTSU;dMUv� M g7frkrl)rm�q�strings  �rrq�0_Unparser._str_literal_helper.<locals>.<genexpr>�s����C�[��F�1�I��N�!�!�[�s�
�	rrbr	c�>�USTS:H$)Nrr	rl)r��escaped_strings �rr��/_Unparser._str_literal_helper.<locals>.<lambda>�s���q��t�~�b�7I�/Ir)rr�)r~r@�
_MULTI_QUOTESryrQ�sort)	r�r�r�r�r��possible_quotesr��quoter�s	 ` `    @r�_str_literal_helper�_Unparser._str_literal_helper�s����	�����[�&�!9�:��%���>�!�*9�P�/�Q�-�=O�q�/�O�P�&5�Q�o��.�9P�1�o��Q���&�\�F��C�[�C�V�A�Y�O�E��!�B�<�%��(�(��� � �%I� �J��q�!�!�$��r�(:�:�!/���!4�t�!;�n�R�>P�!P����.�.��#Q��Qs�
C�C�	C�C�r�c�^�URXS9upUSnURUUU35 g)Nr�r)r�r)r�r�r��
quote_types    r�_write_str_avoiding_backslashes�)_Unparser._write_str_avoiding_backslashes�s:��"�6�6�v�6�W��� ��^�
��
�
�j�\�&��*��6�7rc�f�URS5 /nURH]nUR5nURU5 SSS5 UR	SRW5[
U[545 M_ /n[[5nSnUHyup8U(a9URUUSS9up9[U	5RU5(aSn O;U	nO#SU;aUV
s/sHo�[;dMU
PM nn
UR	U5 M{ U(aTS/nUR5 UH;up8U(a[SU-5nS	nU[!U5S
nUR	U5 M= SRU5nUSnURUUU35 g!,(df   GN^=fs sn
f)NrvrdFTr�rcrhrgz'"r	r)rrNr��_write_fstring_innerrxr~rr-rC�_ALL_QUOTESr�r>�
isdisjointr�r�ryrL)
r�r&�
fstring_partsr/r��new_fstring_partsr��fallback_to_repr�is_constant�new_quote_typesr��expected_prefixr�s
             r�visit_JoinedStr�_Unparser.visit_JoinedStr�s����
�
�3���
��[�[�E�����F��)�)�%�0�!�� � ������*�U�H�"=�>�
�!����;�'�� ��"/��E��)-�)A�)A�� +�.2�*B�*�&��
��'�2�2�;�?�?�'+�$��-�����*5�L�+�Q�m�9K�q�+��L��$�$�U�+�#0� �!�'�K��#�#�%�&3�"��� ��u��-�E�&+�O�!�#�o�"6�r�:�E�!�(�(��/�
'4����)�*�� ��^�
��
�
�j�\�%����5�6�Q!���*Ms�F�%
F.�6F.�
F+	c�`�[U[5(a#URHnURX2S9 M g[U[5(a�[UR
[5(a�UR
RSS5RSS5nU(aHURSS5nURSS	5nURS
S5nURSS
5nURU5 g[U[5(aURU5 g[SU<35e)N��is_format_spec�{z{{�}z}}r�z\\rfz\'rgz\"rcz\nz"Unexpected node inside JoinedStr, )r�	JoinedStrrNr�r-r/rX�replacer�FormattedValue�visit_FormattedValuer)r�r&r�r/s    rr��_Unparser._write_fstring_inners����d�I�&�&������)�)�%�)�O�%�
��h�
'�
'�J�t�z�z�3�,G�,G��J�J�&�&�s�D�1�9�9�#�t�D�E���
�
�d�F�3���
�
�c�5�1���
�
�c�5�1���
�
�d�E�2���J�J�u��
��n�
-�
-��%�%�d�+��A�$��J�K�Krc��^�U4SjnTRSS5 U"UR5nURS5(aTRS5 TRU5 URS:wa'TRS[UR535 UR(a+TRS5 TRURSS	9 SSS5 g!,(df   g=f)
Nc�>�[T5"5nUR[RR	5U5 URU5$r,)r.r�rNrVrQr�)�inner�unparserr�s  �r�
unparse_inner�5_Unparser.visit_FormattedValue.<locals>.unparse_inner(s<����D�z�|�H��#�#�K�$4�$4�$9�$9�$;�U�C��>�>�%�(�(rr�r�r�r	�!r�Tr�)r�r/r�r�
conversion�chr�format_specr�)r�r&r��exprs`   rr��_Unparser.visit_FormattedValue's����	)�
�\�\�#�s�
#� ����,�D����s�#�#��
�
�3���J�J�t�����"�$��
�
�Q�s�4�?�?�3�4�5�6�����
�
�3���)�)�$�*:�*:�4�)�P�$�
#�
#�s�B>C!�!
C/c�:�URUR5 gr,)rrHr�s  r�
visit_Name�_Unparser.visit_Name9s���
�
�4�7�7�rc��UR5 URS:XaURS5 URUR[
S9 g)N�ur�)r��kindrr�r/r�r�s  rr��_Unparser._write_docstring<s9���	�	���9�9����J�J�s�O��,�,�T�Z�Z�]�,�Src
�
�[U[[45(aNUR[	U5RS[5RSS[S[S355 gUR[	U55 g)N�inf�nanrg�-rh)rr1r2rryr��_INFSTRrBs  r�_write_constant�_Unparser._write_constantBsb���e�e�W�-�.�.�
�J�J��U������(����!�G�9�A�g�Y�a� 8�9�
�
�J�J�t�E�{�#rc�~�URn[U[5(a8URSS5 UR	UR
U5 SSS5 gUSLaUR
S5 gURS:XaUR
S5 URUR5 g!,(df   g=f)Nrgrh.�...r�)r/rrr�r�r�rr�)r�r&r/s   rr��_Unparser.visit_ConstantNs����
�
���e�U�#�#����c�3�'����� 4� 4�e�<�(�'�
�c�\��J�J�u���y�y�C���
�
�3��� � ����,�(�'�s�B.�.
B<c�^�TRSS5 TRU4SjTRUR5 SSS5 g!,(df   g=f)Nrirsc�&>�TRS5$r}r~r?s�rr��&_Unparser.visit_List.<locals>.<lambda>\r�r)r�rxr�rAr�s` r�
visit_List�_Unparser.visit_ListZs6���
�\�\�#�s�
#��O�O�4�d�m�m�T�Y�Y�O�$�
#�
#���,A	�	
Ac���URSS5 URUR5 URHnURU5 M SSS5 g!,(df   g=f)Nrirs�r�r��elt�
generators�r�r&�gens   r�visit_ListComp�_Unparser.visit_ListComp^�F��
�\�\�#�s�
#��M�M�$�(�(�#������
�
�c�"�'�$�
#�
#���AA�
A*c���URSS5 URUR5 URHnURU5 M SSS5 g!,(df   g=fr�r�r�s   r�visit_GeneratorExp�_Unparser.visit_GeneratorExpdr�r�c���URSS5 URUR5 URHnURU5 M SSS5 g!,(df   g=f)Nr�r�r�r�s   r�
visit_SetComp�_Unparser.visit_SetCompjr�r�c�2�URSS5 URUR5 URS5 URUR5 UR
HnURU5 M SSS5 g!,(df   g=f)Nr�r�r$)r�r�rrr/r�r�s   r�visit_DictComp�_Unparser.visit_DictComppsb��
�\�\�#�s�
#��M�M�$�(�(�#��J�J�t���M�M�$�*�*�%������
�
�c�"�'�	$�
#�
#�s�A,B�
Bc�@�UR(aURS5 OURS5 UR[RUR
5 UR
UR
5 URS5 UR"[RR5UR/URQ76 UR
UR5 URH%nURS5 UR
U5 M' g)Nz async for z for r|� if )�is_asyncrr�rNrTr�r�rVrQrs�ifs)r�r&�	if_clauses   r�visit_comprehension�_Unparser.visit_comprehensionxs����=�=��J�J�}�%��J�J�w�����K�-�-�t�{�{�;��
�
�d�k�k�"��
�
�6�����K�,�,�1�1�3�T�Y�Y�J����J��
�
�d�i�i� ����I��J�J�v���M�M�)�$�"rc�8�UR[RU5 UR[RR	5UR
UR5 URUR
5 URS5 URUR5 URS5 UR[RUR5 URUR5 SSS5 g!,(df   g=f)Nr�z else )
r�rNrVr�rQr[rr�rr2r�s  r�visit_IfExp�_Unparser.visit_IfExp�s���
�
 �
 ��!1�!1�4�
8����� 0� 0� 5� 5� 7����D�I�I�N��M�M�$�)�)�$��J�J�v���M�M�$�)�)�$��J�J�x� ����� 0� 0�$�+�+�>��M�M�$�+�+�&�9�
8�
8�s�C!D�
Dc�^�UR(aGTRSS5 TRU4SjTRUR5 SSS5 gTR	S5 g!,(df   g=f)Nr�r�c�&>�TRS5$r}r~r?s�rr��%_Unparser.visit_Set.<locals>.<lambda>�rarz{*()})rAr�rxr�rr�s` r�	visit_Set�_Unparser.visit_Set�sP����9�9����c�3�'���� 8�$�-�-����S�(�'�

�J�J�w��(�'�s�,A,�,
A:c	��^^�U4SjmUU4SjnTRSS5 TRU4SjU[URUR55 SSS5 g!,(df   g=f)Nc�l>�TRU5 TRS5 TRU5 g�Nr$�r�r)�k�vr�s  �r�write_key_value_pair�2_Unparser.visit_Dict.<locals>.write_key_value_pair�s'����M�M�!���J�J�t���M�M�!�rc�>�UupUcCTRS5 TR[RU5 TR	U5 gT"X5 g)Nrm)rr�rNr[r�)r�r
rr�rs   ��r�
write_item�(_Unparser.visit_Dict.<locals>.write_item�sG����D�A��y��
�
�4� ��#�#�K�$4�$4�a�8��
�
�a� �$�Q�*rr�r�c�&>�TRS5$r}r~r?s�rr��&_Unparser.visit_Dict.<locals>.<lambda>�r�r)r�rxrPrMrN)r�r&rrs`  @r�
visit_Dict�_Unparser.visit_Dict�sK���	�
		+��\�\�#�s�
#��O�O�(�*�c�$�)�)�T�[�[�6Q�
�$�
#�
#�s�6A!�!
A/c�(�URSS[UR5S:H=(d" URU5[R
:�5 UR
URUR5 SSS5 g!,(df   g=f)Nrgrhr)r�rLrAr�rNrTr�r�r�s  r�visit_Tuple�_Unparser.visit_Tuple�sg��
�_�_�����	�	�N�a��P�4�#6�#6�t�#<�{�?P�?P�#P�
�

�O�O�D�M�M�4�9�9�5�
�
�
�s�'B�
B�~�not�+r�)�Invert�Notr8r9)rrrr�c��URURRRnURUnURX15 UR
U5 U[RLaUR
S5 URX1R5 URUR5 SSS5 g!,(df   g=f�Nr�)�unopr7r|r}�unop_precedencer�rrNrbr�r:r�)r�r&�operator�operator_precedences    r�
visit_UnaryOp�_Unparser.visit_UnaryOp�s����9�9�T�W�W�.�.�7�7�8��"�2�2�8�<��
�
 �
 �!4�
;��J�J�x� �#�+�*<�*<�<��
�
�3����� 3�\�\�B��M�M�$�,�,�'�<�
;�
;�s
�A,C�
CrrG�/�%�<<�>>�|�^�&�//rm)
rRrS�Mult�MatMult�Div�Mod�LShift�RShift�BitOr�BitXor�BitAnd�FloorDiv�Pow)
rr�rrGr(r)r*r+r,r-r.r/rm)rmc�<�URURRRnURUnURX15 X R;aUR5nUnOUnUR5nURXAR5 URUR5 URSUS35 URXQR5 URUR5 SSS5 g!,(df   g=fr!)
r�r7r|r}�binop_precedencer��binop_rassocrQr�rTr�rrU)r�r&r$r%�left_precedence�right_precedences      r�visit_BinOp�_Unparser.visit_BinOp�s����:�:�d�g�g�/�/�8�8�9��"�3�3�H�=��
�
 �
 �!4�
;��,�,�,�"5�":�":�"<��#6� �"5��#6�#;�#;�#=� �������;��M�M�$�)�)�$��J�J��8�*�A��'���� 0�*�*�=��M�M�$�*�*�%�<�
;�
;�s
�B6D
�
Dz==z!=�<z<=�>z>=�iszis not�inznot in)
�Eq�NotEq�Lt�LtE�Gt�GtE�Is�IsNot�In�NotInc��UR[RU5 UR"[RR	5UR
/URQ76 URUR
5 [URUR5HNup#URSURURR-S-5 URU5 MP SSS5 g!,(df   g=fr!)r�rNrZr�rQrT�comparatorsr�rP�opsr�cmpopsr|r})r�r&�orNs    r�
visit_Compare�_Unparser.visit_Compare
s���
�
 �
 ����$�
7������� 4� 4� 6��	�	�U�D�DT�DT�U��M�M�$�)�)�$��D�H�H�d�&6�&6�7����
�
�3����Q�[�[�-A�-A�!B�B�S�H�I��
�
�a� �8�8�
7�
7�s�CC<�<
D
�and�or)�And�Or)rWrXc�6^^^�TRURRRnTRUmUU4SjnTRTU5 SUS3mTR
UU4SjX1R5 SSS5 g!,(df   g=f)Nc�l>�TR5mTRTU5 TRU5 gr,)rQr�r�)r&r%r�s ��r�increasing_level_traverse�9_Unparser.visit_BoolOp.<locals>.increasing_level_traverses/���"5�":�":�"<����� 3�T�:��M�M�$�rr�c�&>�TRT5$r,r~)r$r�s��rr��(_Unparser.visit_BoolOp.<locals>.<lambda>!s
���D�J�J�q�Mr)�boolopsr7r|r}�boolop_precedencer�rxrN)r�r&r$r]r%r$s`   @@r�visit_BoolOp�_Unparser.visit_BoolOpsw����<�<���� 1� 1� :� :�;��"�4�4�X�>��	 ��
 �
 �!4�d�
;��H�:�Q��A��O�O�1�3L�k�k�Z�<�
;�
;�s�(B
�

Bc��UR[RUR5 UR	UR5 [UR[5(a:[URR[5(aURS5 URS5 URUR5 g)Nr�r�)
r�rNrer/r�rr-r0rr�r�s  r�visit_Attribute�_Unparser.visit_Attribute#s{�����K�,�,�d�j�j�9��
�
�d�j�j�!��d�j�j�(�+�+�
�4�:�:�;K�;K�S�0Q�0Q��J�J�s�O��
�
�3���
�
�4�9�9�rc���UR[RUR5 UR	UR5 URSS5 SnURH/nU(aURS5 OSnUR	U5 M1 URH/nU(aURS5 OSnUR	U5 M1 SSS5 g!,(df   g=f)NrgrhFreT)	r�rNrerFr�r�rIrrJ)r�r&rMrNs    r�
visit_Call�_Unparser.visit_Call.s������K�,�,�d�i�i�8��
�
�d�i�i� �
�\�\�#�s�
#��E��Y�Y����J�J�t�$� �E��
�
�a� ���]�]����J�J�t�$� �E��
�
�a� �#�$�
#�
#�s
�BC"�"
C0c��SnUR[RUR5 UR	UR5 URSS5 U"UR5(a1URURURR5 OUR	UR5 SSS5 g!,(df   g=f)Nc�H�[U[5=(a UR$r,)rr?rA)�slice_values r�is_non_empty_tuple�5_Unparser.visit_Subscript.<locals>.is_non_empty_tupleAs���;��.�%��$�$�
rrirs)	r�rNrer/r�r�r/r�rA)r�r&rns   r�visit_Subscript�_Unparser.visit_Subscript@s���	�	
���K�,�,�d�j�j�9��
�
�d�j�j�!�
�\�\�#�s�
#�!�$�*�*�-�-�����
�
�t�z�z���?��
�
�d�j�j�)�$�
#�
#�s
�A$C�
Cc��URS5 UR[RUR5 URUR5 g)Nr)rr�rNr[r/r�r�s  r�
visit_Starred�_Unparser.visit_StarredPs7���
�
�3�����K�,�,�d�j�j�9��
�
�d�j�j�!rc�&�URS5 g)Nr�r~r�s  r�visit_Ellipsis�_Unparser.visit_EllipsisUs���
�
�5�rc�R�UR(aURUR5 URS5 UR(aURUR5 UR(a-URS5 URUR5 gg)Nr�)�lowerr�r�upper�stepr�s  r�visit_Slice�_Unparser.visit_SliceXsb���:�:��M�M�$�*�*�%��
�
�3���:�:��M�M�$�*�*�%��9�9��J�J�s�O��M�M�$�)�)�$�rc��URS5 URUR5 UR5 URHnURU5 M SSS5 g!,(df   g=f)Nzmatch )r�r��subjectr��cases)r�r&�cases   r�visit_Match�_Unparser.visit_MatchbsK���	�	�(���
�
�d�l�l�#�
�Z�Z�\��
�
���
�
�d�#�#��\�\�s�%A+�+
A9c��URUR5 UR(a-URS5 URUR5 ggr)r�argr�r�r�s  r�	visit_arg�_Unparser.visit_argis:���
�
�4�8�8���?�?��J�J�t���M�M�$�/�/�*�rc���SnURUR-nS/[U5[UR5-
-UR-n[	[X45S5H�upVUupxU(aSnOUR
S5 URU5 U(a"UR
S5 URU5 U[UR5:XdMyUR
S5 M� UR(dUR(a�U(aSnOUR
S5 UR
S5 UR(avUR
URR5 URR(a6UR
S5 URURR5 UR(av[URUR5HRupxUR
S5 URU5 U(dM0UR
S5 URU5 MT UR(a�U(aSnOUR
S5 UR
S	URR-5 URR(a7UR
S5 URURR5 ggg)
NTrbFrerfz, /rr$rm)�posonlyargsrIrL�defaultsr�rPrr��vararg�
kwonlyargsr�r��kw_defaults�kwarg)	r�r&r��all_argsr�r�elements�a�ds	         r�visit_arguments�_Unparser.visit_argumentsos������#�#�d�i�i�/���6�S��]�S����-?�?�@�4�=�=�P��(��X�)@�!�D�O�E��D�A�����
�
�4� ��M�M�!����
�
�3���
�
�a� ���D�,�,�-�-��
�
�5�!� E��;�;�$�/�/�����
�
�4� ��J�J�s�O��{�{��
�
�4�;�;�?�?�+��;�;�)�)��J�J�t�$��M�M�$�+�+�"8�"8�9��?�?��D�O�O�T�-=�-=�>����
�
�4� ��
�
�a� ��1��J�J�s�O��M�M�!�$�?��:�:�����
�
�4� ��J�J�t�d�j�j�n�n�,�-��z�z�$�$��
�
�4� ��
�
�d�j�j�3�3�4�%�
rc���URcURS5 O,URUR5 URS5 URUR5 g)Nrmrf)r�rr�r/r�s  r�
visit_keyword�_Unparser.visit_keyword�sC���8�8���J�J�t���J�J�t�x�x� ��J�J�s�O��
�
�d�j�j�!rc��UR[RU5 URS5 UR	5nURUR5 SSS5 W(aUR"S/UQ76 URS5 UR[RUR5 URUR5 SSS5 g!,(df   N�=f!,(df   g=f)N�lambdar�r$)	r�rNrVrr�r�rIr�r[)r�r&r�s   r�visit_Lambda�_Unparser.visit_Lambda�s���
�
 �
 ��!1�!1�4�
8��J�J�x� �����F��
�
�d�i�i�(�!���
�
�3�(��(��J�J�t������ 0� 0�$�)�)�<��M�M�$�)�)�$�9�
8� ���9�
8�s$�"C1�C �A8C1� 
C.	�*C1�1
C?c��URUR5 UR(aURSUR-5 gg�NrC)rr��asnamer�s  r�visit_alias�_Unparser.visit_alias�s3���
�
�4�9�9���;�;��J�J�v����+�,�rc��URUR5 UR(a-URS5 URUR5 ggr�)r��context_expr�
optional_varsrr�s  r�visit_withitem�_Unparser.visit_withitem�s@���
�
�d�'�'�(�����J�J�v���M�M�$�,�,�-�rc�`�URS5 URUR5 UR(a,UR	S5 URUR5 UR5 URUR5 SSS5 g!,(df   g=f)Nzcase r�)r�r��pattern�guardrr�r[r�s  r�visit_match_case�_Unparser.visit_match_case�sd���	�	�'���
�
�d�l�l�#��:�:��J�J�v���M�M�$�*�*�%�
�Z�Z�\��M�M�$�)�)�$��\�\�s�:B�
B-c�:�URUR5 gr,)r�r/r�s  r�visit_MatchValue�_Unparser.visit_MatchValue�s���
�
�d�j�j�!rc�:�URUR5 gr,)r�r/r�s  r�visit_MatchSingleton�_Unparser.visit_MatchSingleton�s�����T�Z�Z�(rc�^�TRSS5 TRU4SjTRUR5 SSS5 g!,(df   g=f)Nrirsc�&>�TRS5$r}r~r?s�rr��/_Unparser.visit_MatchSequence.<locals>.<lambda>�r�r)r�rxr��patternsr�s` r�visit_MatchSequence�_Unparser.visit_MatchSequence�s8���
�\�\�#�s�
#��O�O�(�$�-�-����
�$�
#�
#�r�c�N�URnUcSnURSU35 g)N�_r)r�r)r�r&r�s   r�visit_MatchStar�_Unparser.visit_MatchStar�s'���y�y���<��D��
�
�Q�t�f�:�rc�J^�U4SjnTRSS5 URnTRU4SjU[X1RSS95 UR
nUb,U(aTR
S5 TR
SU35 SSS5 g!,(df   g=f)	Nc�t>�UupTRU5 TRS5 TRU5 grr)�pairr
�pr�s   �r�write_key_pattern_pair�<_Unparser.visit_MatchMapping.<locals>.write_key_pattern_pair�s.����D�A��M�M�!���J�J�t���M�M�!�rr�r�c�&>�TRS5$r}r~r?s�rr��._Unparser.visit_MatchMapping.<locals>.<lambda>�r�rT��strictrerm)r�rMrxrPr��restr)r�r&r�rMr�s`    r�visit_MatchMapping�_Unparser.visit_MatchMapping�s���	��\�\�#�s�
#��9�9�D��O�O�(�&��D�-�-��5�
�
�9�9�D�����J�J�t�$��
�
�R��v�;�'�$�
#�
#�s�A1B�
B"c�^�TR[RUR5 TR	UR5 TRSS5 URnTRU4SjTRU5 URnU(aGU4SjnU(aTRS5 TRU4SjU[X1RSS95 SSS5 g!,(df   g=f)	Nrgrhc�&>�TRS5$r}r~r?s�rr��,_Unparser.visit_MatchClass.<locals>.<lambda>�r�rc�X>�UupTRUS35 TRU5 g)Nrf)rr�)r�r�r�r�s   �r�write_attr_pattern�6_Unparser.visit_MatchClass.<locals>.write_attr_pattern�s(���$(�M�D��J�J�$��q�z�*��M�M�'�*rrec�&>�TRS5$r}r~r?s�rr�r�s���D�J�J�t�,rTr�)r�rNrer�r�r�r�rx�	kwd_attrsrrP�kwd_patterns)r�r&r��attrsr�s`    r�visit_MatchClass�_Unparser.visit_MatchClass�s�������K�,�,�d�h�h�7��
�
�d�h�h��
�\�\�#�s�
#��}�}�H��O�O�(�$�-�-��
��N�N�E��+�
��J�J�t�$����,�&���0�0��>��$�
#�
#�s
�BC*�*
C8c���URnURnUcURS5 gUcURUR5 gUR[R
U5 UR
[RUR5 URUR5 URSUR35 SSS5 g!,(df   g=f)Nr�rC)	r�r�rr�rNrVr�r\r�)r�r&r�r�s    r�
visit_MatchAs�_Unparser.visit_MatchAss����y�y���,�,���<��J�J�s�O�
�_��J�J�t�y�y�!��$�$�[�%5�%5�t�<��#�#�K�O�O�T�\�\�B��
�
�d�l�l�+��
�
�T�$�)�)��-�.�=�<�<�s
�-A$C�
C(c�B^�TR[RU5 TR"[RR	5/UR
Q76 TR
U4SjTRUR
5 SSS5 g!,(df   g=f)Nc�&>�TRS5$)Nz | r~r?s�rr��)_Unparser.visit_MatchOr.<locals>.<lambda>s���D�J�J�u�$5r)r�rNr\r�rQr�rxr�r�s` r�
visit_MatchOr�_Unparser.visit_MatchOrs`���
�
 �
 ����$�
7������� 4� 4� 6�G����G��O�O�5�t�}�}�d�m�m�T�8�
7�
7�s�A%B�
B)rprormrlrn)rdr,)F)�r}r�r�r�rrxr�r�r�rrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrr	r
rrrr"r%r+r5r;r?rDrOrUrXrTrJrfrjrnrqrvryrur�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrrr"rNrYrbr#r&r�r`rar_r\r]r^rcr<�	frozensetr=r@rSrUrarXrWrbrcrfrirprsrvr|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r��
__classcell__)r|s@rrjrj�s����
"�
�H��
1�"��'��'��#��������!�Q�=�1�� )�
 �%�%�#�$�"�
&�M�M�%�"�&�&����O�$�J�J�*�*�&�
&�
.�1�1�	%�:�4+�1�:�"V�
.�.�.�"�'�-�+�+�$+�%�%�&1�E�$/�LFQ�8�-7�^L�&Q�$�T�
$�
-�P�#�#�#�#�%�'� ��,6��%��c�B�D����
�
�
�
�
�
�
�
�
�	�O�
(��������������
�E�"�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�������
�_�_�
�
�
�
�
�
��������� �W�%�L�&�$�����������F�!��4�(�G� +���{�~�~�F��[�	�!�$*� "�
�%�$�+�15�f"�	%�-�
.�%�"�)���(�(�./�U�Urrjc�8�[5nURU5$r,)rjr�)�ast_objr�s  r�unparser�s���{�H��>�>�'�"�"r)rr"r&r(r*c��U[;a4[U=[5U'nSSKnURSU3[SS9 U$[SUS35e)Nrrr�r�zmodule 'ast' has no attribute 'rf)�_deprecated_globals�globalsr�r�rrv)r�r/r�s   r�__getattr__r�"s`���"�"�"5�d�";�;��	�$��%������4�&�M�#<�W�	�	
���
�:�4�&��B�
C�Crc��SSKnURSS9nURSSSSS9 URS	S
SSS
S9 URSSSSS9 URSSSSS9 URSS[SSS9 UR	5nUR
S:Xa+Sn[RRR5nO;UR
n[UR
S5nUR5nSSS5 [WX2RURS 9n[[XbR UR"S!95 g!,(df   NU=f)"Nrz
python -m ast)�prog�infile�?r�z$the file to parse; defaults to stdin)�nargs�default�helpz-mz--mode�exec)r��singler!�	func_typez(specify what kind of code must be parsed)r��choicesr�z--no-type-commentsT�store_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--indentrz'indentation of nodes (number of spaces))r.r�r�z<stdin>�rb)r
)r�r^)�argparse�ArgumentParser�add_argumentr0�
parse_argsr��sys�stdinr��read�openrr�no_type_comments�printr�r�r^)r��parserrIr�rr��trees       r�mainr-sO���
�
$�
$�/�
$�
:�F�
�����S�C��E�
����h�� G�G��I����,�d�=�H��J�
����4�\�.��/�����j�s�A�F��H�����D��{�{�c�������!�!�&�&�(���{�{��
�$�+�+�t�
$���[�[�]�F�%����y�y��8M�8M�N�D�	�$�t�(?�(?����
T�U�%�
$�s�!E�
E�__main__)z	<unknown>r�)TF)rb)Tr,)Wr��re�_ast�
contextlibrr�enumrrrrr]r�r�r�r�r�r�r�rr�r�r�r�r��objectr�r�r�rr�r-r�rrr�propertyr�r$r.rrrr"r&r(r*r,r0r1r2rX�bytes�boolrrr�rtr/r3r8r?r@rCr;�modrE�expr_contextrGrIrKry�
float_info�
max_10_expr�rN�_SINGLE_QUOTESr�r�rjr�r��popr�r�rr})r�s0r�<module>rs+��6�	��2�,�,�H��t�b�H�08$�x49�S��E�S�l�" �F�.	���0�
�
�3�4�
�
��05�"�J�7(�&�7(�t8�k�8�xU� ����x���������)�Y�/�H�J��)�Y�/�H�J�1�4�1�62� �(�d���(�d���H����8�t��
6�x�4�
6��
��#�u�g�	��#��	�E�8��4��:�t�$��t�C�y�l����$����
	�.���J����	�5��U���	�7���I�z�	��%�C�%��E��
3�u�3��u�f������,��5�E�J�:�C�:�:�l�:�:�|�:�:�L�:���c�n�n�/�/�!�3�4�
4��
�g������>���
�/��/��/��mU��mU�^!#�D��C��	�'�)�-�-��
��C���
D�V�8�z���F���Ys�!I

?>