U ,a"K@sddlTdddZddZddZd?ddZ ddZ ddZ ddd d!Z d"d#Z Gd$d%d%eZGd&d'd'eZd(d)Zd*d+Zeeee_eeee_Gd,d-d-eZd.d/ZGd0d1d1eed2ZGd3d4d4eed2ZGd5d6d6eed2ZGd7d8d8eed2ZGd9d:d:eed2Zeee e!fee"fee#feede$feed;fiZ%ee$fiZ&e$d8edd8ed1e d1e!d1e"d4e#d6ed;d:iZ'dS)@)* execFN) type_commentsfeature_versioncCsFt}|r|tO}t|tr(|\}}|}n |dkr4d}t|||||dS)N)_feature_version)Z PyCF_ONLY_ASTZPyCF_TYPE_COMMENTS isinstancetuplecompile)sourcefilenamemoderrflagsmajorminorr(/opt/alt/python38/lib64/python3.8/ast.pyparses  rcs`t|trt|dd}t|tr&|j}ddfddfddfd d |S) Neval)rcSstd|dS)Nzmalformed node or string: ) ValueErrornoderrr_raise_malformed_node>sz+literal_eval.._raise_malformed_nodecs,t|trt|jtttfkr&||jSN)r Constanttypevalueintfloatcomplexr)rrr _convert_num@sz"literal_eval.._convert_numcsDt|tr._convert_signed_numcst|tr|jSt|tr*tt|jSt|trDtt|jSt|t r^t t|jSt|t rt |j t |jkr|ttt|j t|jSt|trt|jttfr|j}|j}t|ttfrt|trt|jtr||S||S|Sr)r rrZTupler mapZeltsZListlistSetsetZDictlenkeysvaluesdictzipZBinOpr"ZAddZSubleftrightrrr )rr.r/_convertr!r$rrrr1Ls,        zliteral_eval.._convert)r strrZ Expressionbody)Znode_or_stringrr0r literal_eval3s     r4Tcs2fddt|ts*td|jj|S)Nc st|trg}}|jD]V}zt||}Wntk rBd}YqX|r`|d||fq||qr|jr|jD]:}z |d|t||fWqtk rYqXqd|jjd |fSt|t rdd fdd|DSt |S)NTz%s=%sz%s(%s)z, z[%s]c3s|]}|VqdSrr).0x)_formatrr sz(dump.._format..) r AST_fieldsgetattrAttributeErrorappend _attributes __class____name__joinr&repr)rargskeywordsfieldrar7annotate_fieldsinclude_attributesrrr7ps*       zdump.._formatzexpected AST, got %r)r r9 TypeErrorr?r@)rrHrIrrGrdumpfs  rKcCsVdD]L}||jkr||jkrt||d}|dk sDt||r|drt|||q|S)N)lineno col_offset end_linenoend_col_offsetZend_)r>r;hasattr startswithsetattr)new_nodeZold_nodeattrrrrr copy_locations rUcs fdd|dddd|S)Ncsd|jkr"t|ds||_n|j}d|jkrDt|ds>||_n|j}d|jkrft|ds`||_n|j}d|jkrt|ds||_n|j}t|D]}|||||qdS)NrLrNrMrO)r>rPrLrNrMrOiter_child_nodes)rrLrMrNrOchild_fixrrrYs$         z#fix_missing_locations.._fixrrrrrXrfix_missing_locationss r[rZcCsVt|D]H}d|jkr(t|dd||_d|jkrt|dd}dk r|||_q|S)NrLrrN)walkr>r;rLrN)rnrWrNrrrincrement_linenos   r^c cs:|jD].}z|t||fVWqtk r2YqXqdSr)r:r;r<)rrErrr iter_fieldss  r_ccsLt|D]>\}}t|tr"|Vqt|tr|D]}t|tr0|Vq0qdSr)r_r r9r&)rnamerEitemrrrrVs   rVcCst|ttttfs"td|jj|jr8t|jdt ssx 3 '#    #:>