ó
    F\hÄ  ã                   óÀ   • S r SSKrSSKr\R                   V s/ s H  n \" \U 5      PM     sn r/ SQrSrSrSr	S r
SS jrSS	 jr " S
 S5      r " S S5      rgs  sn f )aA  Utilities to compile possibly incomplete Python source code.

This module provides two interfaces, broadly similar to the builtin
function compile(), which take program text, a filename and a 'mode'
and:

- Return code object if the command is complete and valid
- Return None if the command is incomplete
- Raise SyntaxError, ValueError or OverflowError if the command is a
  syntax error (OverflowError and ValueError can be produced by
  malformed literals).

The two interfaces are:

compile_command(source, filename, symbol):

    Compiles a single command in the manner described above.

CommandCompiler():

    Instances of this class have __call__ methods identical in
    signature to compile_command; the difference is that if the
    instance compiles program text containing a __future__ statement,
    the instance 'remembers' and compiles all subsequent program texts
    with the statement in force.

The module also provides another class:

Compile():

    Instances of this class act like the built-in function compile,
    but with 'memory' in the sense described above.
é    N)Úcompile_commandÚCompileÚCommandCompileri   i   i @  c                 óþ  • UR                  S5       H'  nUR                  5       nU(       d  M  US   S:w  d  M'    O
   US:w  a  Sn[        R                  " 5          [        R                  " S[
        [        45         U " XU5        S S S 5        U " XUSS9$ ! [         aK     U " US-   X#5         S S S 5        g ! [         a  n S nA S S S 5        g S nAf[         a  n S nA N\S nAff = ff = f! , (       d  f       Nn= f)	NÚ
r   Ú#ÚevalÚpassÚignoreF)Úincomplete_input)	ÚsplitÚstripÚwarningsÚcatch_warningsÚsimplefilterÚSyntaxWarningÚDeprecationWarningÚSyntaxErrorÚ_IncompleteInputError)ÚcompilerÚsourceÚfilenameÚsymbolÚlineÚes         Ú/usr/lib/python3.13/codeop.pyÚ_maybe_compiler   2   sí   € à—‘˜TÖ"ˆØ�z‰z‹|ˆßˆ4�D˜‘G˜s•NÙñ #ð
 �VÓØˆFô 
×	 Ò	 Õ	"Ü×Ò˜h¬Ô8JÐ(KÔLð		Ù�V vÔ.÷ 
#ñ �F f¸uÑEÐEøô ó 	ðÙ˜ $™¨Ô9Ø÷ 
#Ð	"øô )ó Ü÷ 
#Ð	"ûô ó Ýûðúð	ú÷	 
#Õ	"úsZ   Á"C.Á=	BÂ
C+Â!B7Â-C.Â7
C'ÃC+ÃC.ÃC'ÃC+Ã C.Ã"C'Ã'C+Ã+C.Ã.
C<c                 óP   • SnU(       a  U[         -  nU[        -  n[        XX$5      $ )Nr   )ÚPyCF_ALLOW_INCOMPLETE_INPUTÚPyCF_DONT_IMPLY_DEDENTÚcompile)r   r   r   r   Úflagss        r   Ú_compiler#   M   s-   € Ø€EÞØÔ,Ñ,ˆØÔ'Ñ'ˆÜ�6 VÓ3Ð3ó    c                 ó$   • [        [        XU5      $ )aU  Compile a command and determine whether it is incomplete.

Arguments:

source -- the source string; may contain \n characters
filename -- optional filename from which source was read; default
            "<input>"
symbol -- optional grammar start symbol; "single" (default), "exec"
          or "eval"

Return value / exceptions raised:

- Return a code object if the command is complete and valid
- Return None if the command is incomplete
- Raise SyntaxError, ValueError or OverflowError if the command is a
  syntax error (OverflowError and ValueError can be produced by
  malformed literals).
)r   r#   )r   r   r   s      r   r   r   T   s   € ô& œ( F°fÓ=Ð=r$   c                   ó(   • \ rS rSrSrS rSS jrSrg)r   éi   zßInstances of this class behave much like the built-in compile
function, but if one is used to compile text containing a future
statement, it "remembers" and compiles all subsequent program texts
with the statement in force.c                 ó(   • [         [        -  U l        g ©N)r    r   r"   ©Úselfs    r   Ú__init__ÚCompile.__init__n   s   € Ü+Ô.IÑIˆ�
r$   c                 óF  • X@R                   -  nUR                  SS5      SL a  U[        ) -  nU[        ) -  n[	        XX4S5      nU[
        -  (       a  U$ [         HB  nUR                  UR                  -  (       d  M#  U =R                   UR                  -  sl         MD     U$ )Nr   TF)	r"   Úgetr    r   r!   ÚPyCF_ONLY_ASTÚ	_featuresÚco_flagsÚcompiler_flag)r+   r   r   r   r"   ÚkwargsÚcodeobÚfeatures           r   Ú__call__ÚCompile.__call__q   s“   € Ø—‘ÑˆØ�:‰:Ð(¨$Ó/°5Ò8ØÔ,Ð,Ñ,ˆEØÔ1Ð1Ñ1ˆEÜ˜¨6¸$Ó?ˆØ”=× ØˆMß ˆGØ�‰ ×!6Ñ!6×6Ñ6Ø—
’
˜g×3Ñ3Ñ3—
ñ !ð ˆr$   )r"   N)r   ©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r,   r7   Ú__static_attributes__© r$   r   r   r   i   s   † ñ$òJ÷r$   r   c                   ó(   • \ rS rSrSrS rSS jrSrg)r   é~   a  Instances of this class have __call__ methods identical in
signature to compile_command; the difference is that if the
instance compiles program text containing a __future__ statement,
the instance 'remembers' and compiles all subsequent program texts
with the statement in force.c                 ó"   • [        5       U l        g r)   )r   r   r*   s    r   r,   ÚCommandCompiler.__init__…   s   € Ü›	ˆ�r$   c                 ó0   • [        U R                  XU5      $ )aM  Compile a command and determine whether it is incomplete.

Arguments:

source -- the source string; may contain \n characters
filename -- optional filename from which source was read;
            default "<input>"
symbol -- optional grammar start symbol; "single" (default) or
          "eval"

Return value / exceptions raised:

- Return a code object if the command is complete and valid
- Return None if the command is incomplete
- Raise SyntaxError, ValueError or OverflowError if the command is a
  syntax error (OverflowError and ValueError can be produced by
  malformed literals).
)r   r   )r+   r   r   r   s       r   r7   ÚCommandCompiler.__call__ˆ   s   € ô& ˜dŸm™m¨V¸vÓFÐFr$   )r   N©z<input>Úsingler9   r@   r$   r   r   r   ~   s   † ñ$ò"÷Gr$   r   )TrG   )r>   Ú
__future__r   Úall_feature_namesÚgetattrr1   Ú__all__r    r0   r   r   r#   r   r   r   )Úfnames   0r   Ú<module>rN      s…   ðñ óD Û ð %×6Ò6ó8Ú6�ñ �Z Ö'Ù6ñ8€	ò <€ð
 Ð Ø€Ø$Ð òFô64ô>÷*ñ ÷*Gò Gùòq8s   ™A