ó
    àÅŸgr.  ã                  óR  • S r SSKJr  SSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKJr  SSKJrJr  SSKJr  SSKJrJrJrJr  SSKJrJr  SS	KJr  SS
KJr  \" \5      r\R:                  R<                  r " S S5      r     SS jr! " S S5      r"SS jr#SS jr$SS jr%SS jr&g)zExecute files of Python code.é    )ÚannotationsN)Ú
ModuleSpec)ÚCodeTypeÚ
ModuleType)ÚAny)ÚCoverageExceptionÚ_ExceptionDuringRunÚNoCodeÚNoSource)Úcanonical_filenameÚpython_reported_file)Úisolate_module)Úget_python_sourcec                  ó"   • \ rS rSrSrSS jrSrg)ÚDummyLoaderé   zrA shim for the pep302 __loader__, emulating pkgutil.ImpLoader.

Currently only implements the .fullname attribute
c                ó   • Xl         g )N©Úfullname)Úselfr   Ú_argss      ÚR/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/coverage/execfile.pyÚ__init__ÚDummyLoader.__init__#   s   € Ø �ó    r   N)r   Ústrr   r   ÚreturnÚNone)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   Ú__static_attributes__© r   r   r   r      s   † ñ÷!r   r   c                óð  •  [         R                  R                  U 5      nU(       d  [	        SU < 35      eUR                  nUR                  nUR                  (       aY  U S-   n[         R                  R                  U5      nU(       d  [	        SU S3U < S3-   5      eUR                  nUR                  nUR                  S5      S   nX4U4$ ! [         a  n[	        [        U5      5      UeSnAff = f)z{Find the module named `modulename`.

Returns the file path of the module, the name of the enclosing
package, and the spec.
NzNo module named z	.__main__z; z- is a package and cannot be directly executedÚ.r   )
Ú	importlibÚutilÚ	find_specÚImportErrorr   r   ÚoriginÚnameÚsubmodule_search_locationsÚ
rpartition)Ú
modulenameÚspecÚerrÚpathnameÚpackagenameÚmod_mains         r   Úfind_moduler6   '   sð   € ð*Ü�~‰~×'Ñ'¨
Ó3ˆö ÜÐ)¨*©Ð8Ó9Ð9Ø�{‰{€HØ—)‘)€KØ×&×&Ø Ñ+ˆÜ�~‰~×'Ñ'¨Ó1ˆÞÜØ" 8 *¨BÐ/Ø‘.Ð MÐNñOóð ð —;‘;ˆØ—i‘iˆØ×(Ñ(¨Ó-¨aÑ0€KØ $Ð&Ð&øô# ó *Ü”s˜3“xÓ  cÐ)ûð*ús   ‚C Ã
C5ÃC0Ã0C5c                  óD   • \ rS rSrSrS	S
S jjrSS jrSS jrSS jrSr	g)ÚPyRunneréE   zoMulti-stage execution of Python code.

This is meant to emulate real Python execution as closely as possible.

c                óv   • Xl         X l        US   U l        S U l        S U l        S U l        S U l        S U l        g )Nr   )ÚargsÚ	as_moduleÚarg0Úpackager0   r3   Úloaderr1   )r   r;   r<   s      r   r   ÚPyRunner.__init__K   s:   € ØŒ	Ø"Œà˜‘GˆŒ	Ø#'ˆŒØ&*ˆŒØ$(ˆŒØ*.ˆŒØ'+ˆ�	r   c                ó  • U R                   (       a  [        R                  " 5       nO�[        R                  R	                  U R
                  5      (       a  U R
                  nOF[        R                  R                  [        R                  R                  U R
                  5      5      n[        R                  R	                  [        R                  S   5      (       a¹  [        R                  " 5       S   S   R                  R                  n[        R                  R                  [        R                  S   5      n[        R                  R                  [        R                  R                  U5      5      n[        U5      n[        U5      nX4:w  a  SnOV[        R                  S   [        R                  R                  [        R                  S   5      :X  a  [        R                  S	 Ub  [        U5      [        R                  S'   gg)zcSet sys.path properly.

This needs to happen before any importing, and without importing anything.
r   éÿÿÿÿNé   )r<   ÚosÚgetcwdÚpathÚisdirr=   ÚabspathÚdirnameÚsysÚinspectÚstackÚf_codeÚco_filenamer   r   )r   Úpath0Útop_fileÚsys_path_0_absÚtop_file_dir_abss        r   ÚprepareÚPyRunner.prepareV   sD  € ð �>�>Ü—I’I“K‰EÜ�W‰W�]‰]˜4Ÿ9™9×%Ñ%ð —I‘I‰Eä—G‘G—O‘O¤B§G¡G§O¡O°D·I±IÓ$>Ó?ˆEä�7‰7�=‰=œŸ™ !™×%Ñ%ô —}’}“ rÑ*¨1Ñ-×4Ñ4×@Ñ@ˆHÜŸW™WŸ_™_¬S¯X©X°a©[Ó9ˆNÜ!Ÿw™wŸ™¬r¯w©w¯©¸xÓ/HÓIÐÜ/°Ó?ˆNÜ1Ð2BÓCÐØÓ1Ø�øô
 �x‰x˜‰{œbŸg™gŸo™o¬c¯h©h°q©kÓ:Ó:ä—H‘H˜Q�KàÑÜ.¨uÓ5ŒC�H‰H�QŠKð r   c                ó:  • U R                   (       aÀ  U R                  U l        [        U R                  5      u  ol        U l        U R
                  b  U R
                  R                  U l        [        U R                  5      U l        Uc   e[        R                  R                  U5      U l        U R                  =U R                  S'   U l        GO0[        R                  R                  U R                  5      (       aò  S H{  n[        R                  R                  U R                  SU-   5      n[        R                  R                  U5      n[        R                  R!                  U5      (       d  Mu  X0l          O   [#        SU R                   S35      e[%        U5      n[&        R(                  R+                  SSUS9U l        SU R
                  l        S	U l        [        S5      U l        O[        S5      U l        [%        U R                  5      U l        g)
z�Do more preparation to run Python code.

Includes finding the module to run and adjusting sys.argv[0].
This method is allowed to import code.

Nr   )z.pyú.pycú.pyoÚ__main__z!Can't find '__main__' module in 'Ú')r,   TÚ )r<   r=   r0   r6   r>   r1   r-   r   r?   rD   rF   rH   r3   r;   rG   ÚjoinÚexistsr   r   r(   Ú	machineryr   Úhas_location)r   r3   ÚextÚtry_filenames       r   Ú	_prepare2ÚPyRunner._prepare2}   s  € ð �>�>Ø"Ÿi™iˆDŒOÜ0;¸D¿O¹OÓ0LÑ-ˆH”l D¤IØ�y‰yÑ$Ø"&§)¡)§.¡.�”Ü% d§o¡oÓ6ˆDŒKØÑ'Ð'Ð'ÜŸG™GŸO™O¨HÓ5ˆDŒMØ'+§}¡}Ð4ˆD�I‰I�a‰L˜4ž9Ü�W‰W�]‰]˜4Ÿ9™9×%Ñ%ó /�Ü!Ÿw™wŸ|™|¨D¯I©I°zÀCÑ7GÓH�ô  "Ÿw™wŸ™¨|Ó<�Ü—7‘7—>‘> ,×/Ó/Ø ,”IÙñ /ô Ð!BÀ4Ç9Á9À+ÈQÐOÓPÐPô 0°Ó=ˆLÜ!×+Ñ+×6Ñ6°zÀ4ÐP\Ð6Ð]ˆDŒIØ%)ˆD�I‰IÔ"ØˆDŒLÜ% jÓ1ˆD�Kä% jÓ1ˆDŒKä(¨¯©Ó3ˆ�	r   c                óÜ  • U R                  5         [        S5      nU R                  R                  S5      nU R                  Ul        U(       a  UR                  SS Ul        U R
                  b  U R
                  Ul        U R                  Ul        U R                  b  U R                  Ul
        [        R                  S   Ul        U[        R                  S'   U R                  [        l         U(       a  [!        U R                  5      nO[#        U R                  5      n [,        R.                  " 5       n [1        X1R2                  5        [,        RL                  " U5        g! [$         a    e [&         a:  nSU R                   SUR(                  R*                   SU 3n[%        U5      UeSnAff = f! [4         a    e [&         Ga„    [        R6                  " 5       u  pxn	Uc   eUc   eU	c   e[9        US	S5         UR:                  c   eUR:                  R<                  Ul        [        R>                  " XxU	R<                  5        [        R@                  " S
5         GN! [4         a    e [&         aÓ  n[        RB                  RE                  S5        [        R6                  " 5       u  p«nU
c   eUc   eUc   eSUl#        UR:                  c   eUR:                  R<                  Ul        [        RH                  " X«UR<                  5        [        RB                  RE                  S5        [K        XxU	R<                  5      UeSnAff = ff = f! [,        RL                  " U5        f = f)zRun the Python code!rX   )rV   rW   NrB   ÚbuiltinszCouldn't run 'z' as Python code: z: Ú__context__rC   zError in sys.excepthook:
Tz
Original exception was:
)'ra   r   r=   ÚendswithÚ__file__r>   Ú__package__r?   Ú
__loader__r1   Ú__spec__rJ   ÚmodulesÚ__builtins__r;   ÚargvÚmake_code_from_pycÚmake_code_from_pyr   Ú	ExceptionÚ	__class__r   rD   rE   ÚexecÚ__dict__Ú
SystemExitÚexc_infoÚgetattrÚ__traceback__Útb_nextÚ
excepthookÚexitÚstderrÚwriteÚ__suppress_context__Ú__excepthook__r	   Úchdir)r   Úmain_modÚfrom_pycÚcodeÚexcÚmsgÚcwdÚtypr2   ÚtbÚtyp2Úerr2Útb2s                r   ÚrunÚPyRunner.run¦   sß  € ð 	�‰Ôô ˜jÓ)ˆà—9‘9×%Ñ%Ð&6Ó7ˆØ ŸI™IˆÔÞØ (× 1Ñ 1°#°2Ð 6ˆHÔØ�<‰<Ñ#Ø#'§<¡<ˆHÔ Ø"Ÿk™kˆÔØ�9‰9Ñ Ø $§	¡	ˆHÔä #§¡¨JÑ 7ˆÔà"*Œ�‰�JÑð —9‘9ŒŒð
	2æÜ)¨$¯)©)Ó4‘ä(¨¯©Ó3‘ô �iŠi‹kˆð/	Ü�×(Ñ(Ô)ô\ �HŠH�S�Møôs !ó 	ØÜó 	2Ø" 4§9¡9 +Ð-?ÀÇÁ×@VÑ@VÐ?WÐWYÐZ]ÐY^Ð_ˆCÜ# CÓ(¨cÐ1ûð	2ûô ó 	ð Üô '	ô Ÿ<š<›>‰LˆC�bØ‘?Ð"�?Ø‘?Ð"�?Ø‘>Ð!�>ô �C˜¨Ô-ðØ×(Ñ(Ñ4Ð4Ð4Ø$'×$5Ñ$5×$=Ñ$=�Ô!Ü—’˜s¨¯©Ô4ô$ —’˜—øô# ó ØÜó Iô —
‘
× Ñ Ð!=Ô>Ü"%§,¢,£.‘�˜CØÑ'Ð'Ð'ØÑ'Ð'Ð'Ø‘Ð&�Ø,0�Ô)Ø×)Ñ)Ñ5Ð5Ð5Ø%)×%7Ñ%7×%?Ñ%?�Ô"Ü×"Ò" 4¨s¯{©{Ô;Ü—
‘
× Ñ Ð!>Ô?Ü)¨#°B·J±JÓ?ÀSÐHûðIúð1'	ûôR �HŠH�S�Músc   Ã1E& ÄE& Ä:F7 Å&F4Å:5F/Æ/F4Æ7A	MÈAI%ÉMÉ"M É%MÉ9CMÍMÍMÍM ÍM+)r=   r;   r<   r?   r0   r>   r3   r1   N)F)r;   ú	list[str]r<   Úboolr   r   )r   r   )
r   r    r!   r"   r#   r   rS   ra   r‹   r$   r%   r   r   r8   r8   E   s   † ñö
	,ô%6ôN'4÷RXr   r8   c                óX   • [        U SS9nUR                  5         UR                  5         g)zöRun a Python module, as though with ``python -m name args...``.

`args` is the argument array to present as sys.argv, including the first
element naming the module being executed.

This is a helper for tests, to encapsulate how to use PyRunner.

T©r<   N©r8   rS   r‹   ©r;   Úrunners     r   Úrun_python_moduler”     s#   € ô �d dÑ+€FØ
‡N�NÔØ
‡J�J…Lr   c                óX   • [        U SS9nUR                  5         UR                  5         g)a3  Run a Python file as if it were the main program on the command line.

`args` is the argument array to present as sys.argv, including the first
element naming the file being executed.  `package` is the name of the
enclosing package, if any.

This is a helper for tests, to encapsulate how to use PyRunner.

Fr�   Nr‘   r’   s     r   Úrun_python_filer–     s#   € ô �d eÑ,€FØ
‡N�NÔØ
‡J�J…Lr   c                ó„   •  [        U 5      n[        XSSS9nU$ ! [        [        4 a  n[        SU  S35      UeSnAff = f)z8Get source from `filename` and make a code object of it.úNo file to run: 'rY   Nrr   T)ÚmodeÚdont_inherit)r   ÚOSErrorr   Úcompile)ÚfilenameÚsourcerƒ   r‚   s       r   ro   ro     sW   € ðAÜ" 8Ó,ˆô �6¨&¸tÑD€DØ€Køô	 ”XÐó AÜÐ*¨8¨*°AÐ6Ó7¸SÐ@ûðAús   ‚ š?ª:º?c                ó0  •  [        U S5      nU   UR                  S5      nU[        :w  a  [        SU< S[        < 35      e[
        R                  " SUR                  S5      5      S	   nUS
-  nU(       a  UR                  S5        O"UR                  S5        UR                  S5        [        R                  " U5      n[        U[        5      (       d   e SSS5        U$ ! [         a  n[        SU  S35      UeSnAff = f! , (       d  f       W$ = f)z#Get a code object from a .pyc file.Úrbr˜   rY   Né   zBad magic number in .pyc file: z != z<Lr   rC   é   )Úopenr›   r
   ÚreadÚPYC_MAGIC_NUMBERÚstructÚunpackÚmarshalÚloadÚ
isinstancer   )r�   Úfpycrƒ   ÚmagicÚflagsÚ
hash_basedr‚   s          r   rn   rn   )  sþ   € ð?Ü�H˜dÓ#ˆò 
ð —	‘	˜!“ˆØÔ$Ó$ÜÐ:¸5¹)À4ÔHXÑG[Ð\Ó]Ð]ä—’˜d D§I¡I¨a£LÓ1°!Ñ4ˆØ˜T‘\ˆ
ÞØ�I‰I�a�Lð �I‰I�aŒLØ�I‰I�aŒLô �|Š|˜DÓ!ˆÜ˜$¤×)Ñ)Ð)Ñ)÷% 
ð( €Køô/ ó ?ÜÐ(¨¨
°!Ð4Ó5¸3Ð>ûð?ú÷ 
Œð( €Kús#   ‚C$ �C	DÃ$
DÃ.C>Ã>DÄ
D)r0   r   r   z"tuple[str | None, str, ModuleSpec])r;   r�   r   r   )r�   r   r   r   )'r#   Ú
__future__r   Úimportlib.machineryr(   Úimportlib.utilrK   r¨   rD   r¦   rJ   r   Útypesr   r   Útypingr   Úcoverage.exceptionsr   r	   r
   r   Úcoverage.filesr   r   Úcoverage.miscr   Úcoverage.pythonr   r)   ÚMAGIC_NUMBERr¥   r   r6   r8   r”   r–   ro   rn   r%   r   r   Ú<module>r¹      s–   ðñ $å "ã Û Û Û Û 	Û Û 
å *ß &Ý ç XÓ Xß CÝ (Ý -á�BÓ€ð —>‘>×.Ñ.Ð ÷!ñ !ð'Øð'à'ô'÷<yñ yôxôôõr   