§
    ZQd   ã                   ól   — d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
mZmZmZ  G d„ dej        ¦  «        ZdS )zoFixer for execfile.

This converts usages of the execfile function into calls to the built-in
exec() function.
é   )Ú
fixer_base)
ÚCommaÚNameÚCallÚLParenÚRParenÚDotÚNodeÚArgListÚStringÚsymsc                   ó   — e Zd ZdZdZd„ ZdS )ÚFixExecfileTz«
    power< 'execfile' trailer< '(' arglist< filename=any [',' globals=any [',' locals=any ] ] > ')' > >
    |
    power< 'execfile' trailer< '(' filename=any ')' > >
    c                 óp  — |sJ ‚|d         }|                      d¦  «        }|                      d¦  «        }|j        d         j        d                              ¦   «         }t          |                     ¦   «         t	          ¦   «         t          dd¦  «        g|¬¦  «        }t          t          j        t          d¦  «        |g¦  «        }t          t          j
        t          ¦   «         t          d	¦  «        g¦  «        t          t          j
        t          ¦   «         t          ¦   «         g¦  «        g}	|g|	z   }
|                     ¦   «         }d|_        t          d
d¦  «        }|
t	          ¦   «         |t	          ¦   «         |gz   }t          t          d¦  «        |d¦  «        }|g}|�5|                     t	          ¦   «         |                     ¦   «         g¦  «         |�5|                     t	          ¦   «         |                     ¦   «         g¦  «         t          t          d¦  «        ||j        ¬¦  «        S )NÚfilenameÚglobalsÚlocalséÿÿÿÿz"rb"ú )ÚrparenÚopenÚreadz'exec'ÚcompileÚ Úexec)Úprefix)ÚgetÚchildrenÚcloner   r   r   r
   r   Úpowerr   Útrailerr	   r   r   r   r   Úextend)ÚselfÚnodeÚresultsr   r   r   Úexecfile_parenÚ	open_argsÚ	open_callr   Ú	open_exprÚfilename_argÚexec_strÚcompile_argsÚcompile_callÚargss                   ú1/usr/lib/python3.11/lib2to3/fixes/fix_execfile.pyÚ	transformzFixExecfile.transform   sÊ  € ØˆˆˆØ˜:Ô&ˆØ—+’+˜iÑ(Ô(ˆØ—’˜XÑ&Ô&ˆð œ rÔ*Ô3°BÔ7×=Ò=Ñ?Ô?ˆå˜XŸ^š^Ñ-Ô-­u©w¬w½¸vÀsÑ8KÔ8KÐLØ#1ð3ñ 3ô 3ˆ	å�œ¥d¨6¡l¤l°IÐ%>Ñ?Ô?ˆ	Ý•T”\¥C¡E¤E­4°©<¬<Ð#8Ñ9Ô9Ý•T”\¥F¡H¤H­f©h¬hÐ#7Ñ8Ô8ð:ˆà�K $Ñ&ˆ	ð  —~’~Ñ'Ô'ˆØ!ˆÔÝ˜( CÑ(Ô(ˆØ ¥E¡G¤G¨\½5¹7¼7ÀHÐ#MÑMˆÝ�D ™OœO¨\¸2Ñ>Ô>ˆàˆ~ˆØÐØ�KŠK�™œ '§-¢-¡/¤/Ð2Ñ3Ô3Ð3ØÐØ�KŠK�™œ &§,¢,¡.¤.Ð1Ñ2Ô2Ð2Ý•D˜‘L”L $¨t¬{Ð;Ñ;Ô;Ð;ó    N)Ú__name__Ú
__module__Ú__qualname__ÚBM_compatibleÚPATTERNr0   © r1   r/   r   r      s/   € € € € € Ø€Mð€Gð<ð <ð <ð <ð <r1   r   N)Ú__doc__r   r   Ú
fixer_utilr   r   r   r   r   r	   r
   r   r   r   ÚBaseFixr   r7   r1   r/   ú<module>r;      sÒ   ððð ð Ð Ð Ð Ð Ð ð1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð 1ð&<ð &<ð &<ð &<ð &<�*Ô$ñ &<ô &<ð &<ð &<ð &<r1   