VcldZddlmZddlmZmZmZmZmZm Z m Z m Z m Z m Z GddejZdS)zoFixer for execfile. This converts usages of the execfile function into calls to the built-in exec() function. ) fixer_base) CommaNameCallLParenRParenDotNodeArgListStringsymsceZdZdZdZdZdS) FixExecfileTz power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > > | power< 'execfile' trailer< '(' filename=any ')' > > ch|d}|d}|d}|jdjd}t|t t ddg|}t tjtd|g}t tj ttd gt tj ttgg} |g| z} |} d| _t d d} | t | t | gz} ttd | d }|g}|5|t |g|5|t |gttd ||jS)Nfilenameglobalslocalsz"rb" )rparenopenreadz'exec'compileexec)prefix)getchildrencloner rr r r powerrtrailerr rrrrextend)selfnoderesultsrrrexecfile_paren open_args open_callr open_expr filename_argexec_str compile_args compile_callargss 3/usr/lib64/python3.11/lib2to3/fixes/fix_execfile.py transformzFixExecfile.transforms:&++i((X&&r*3B7==??X^^--uwwvs8K8KL#1333 d6llI%>?? T\CEE4<<#899T\FHHfhh#788:K$&  ~~'' ! (C(( EGG\577H#MM DOO\2>> ~  4 KK'--//2 3 3 3  3 KK&,,..1 2 2 2DLL$t{;;;;N)__name__ __module__ __qualname__ BM_compatiblePATTERNr0r1r/rrs/MG <<<<r;s 111111111111111111111111&<&<&<&<&<*$&<&<&<&<&