S@* P d Z ddlmZ ddlmZmZmZ G d dej ZdS )zFixer for exec. This converts usages of the exec statement into calls to a built-in exec() function. exec code in ns1, ns2 -> exec(code, ns1, ns2) ) fixer_base)CommaNameCallc e Zd ZdZdZd ZdS )FixExecTzx exec_stmt< 'exec' a=any 'in' b=any [',' c=any] > | exec_stmt< 'exec' (not atom<'(' [any] ')'>) a=any > c | j }|d }| d }| d }| g}d|d _ |5| t | g |5| t | g t t d ||j S )Nabc exec)prefix)symsgetcloner extendr r r )selfnoderesultsr r r r argss =/opt/alt/python311/lib64/python3.11/lib2to3/fixes/fix_exec.py transformzFixExec.transform s yCLKKKK {Q=KK!'')),---=KK!'')),---DLL$t{;;;; N)__name__ __module____qualname__ BM_compatiblePATTERNr r r r r s/ MG <