JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3RbrJFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr j f@sydZddlmZddlmZmZmZmZmZm Z m Z m Z m Z m Z GdddejZdS)zoFixer for execfile. This converts usages of the execfile function into calls to the built-in exec() function. ) fixer_base) CommaNameCallLParenRParenDotNodeArgListStringsymsc@s(eZdZdZdZddZdS) FixExecfileTz power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > > | power< 'execfile' trailer< '(' filename=any ')' > > cCs|d}|jd}|jd}|jdjdj}t|jgd|}ttjtd|g}ttjt tdgttjt t gg} |g| } |j} d| _ t d d} | t| t| g} ttd | d }|g}|dk rS|jt|jgn|dk r~|jt|jgnttd |d |j S)NfilenameglobalslocalsZrparenopenread z'exec'compileexecprefixr)getZchildrenZcloner r r ZpowerrZtrailerrrrrr rrextend)selfZnodeZresultsrrrZexecfile_parenZ open_argsZ open_callrZ open_exprZ filename_argZexec_strZ compile_argsZ compile_callargsr?/opt/alt/python34/lib64/python3.4/lib2to3/fixes/fix_execfile.py transforms( !      zFixExecfile.transformN)__name__ __module__ __qualname__Z BM_compatibleZPATTERNr rrrrr s r N)__doc__rrZ fixer_utilrrrrrrr r r r ZBaseFixr rrrrsF