ó
    àÅŸgb)  ã                  óº   • S r SSKJr  SSKrSSKJrJrJr  SSKJ	r	  SSK
JrJr  SSKJr  SSKJr  SS	KJr  SS
KJrJr  SSKJr  \(       a  SSKJr   " S S5      rg)zSummary reportingé    )ÚannotationsN)ÚAnyÚIOÚTYPE_CHECKING)ÚIterable)ÚConfigErrorÚNoDataError)Úhuman_sorted_items)ÚFileReporter)Úget_analysis_to_report)ÚAnalysisÚNumbers)ÚTMorf)ÚCoveragec                  ó”   • \ rS rSrSrSS jrSS jrSS jr          SS jr          SS jr	SSS	 jjr
SS
 jrSS jrSrg)ÚSummaryReporteré   z*A reporter for writing the summary report.c                ó¢  • Xl         U R                   R                  U l        UR                  5       R                  5       U l        S U l        U R                  R                  =(       d    SU l        U R                  S;  a  [        SU R                  < 35      e/ U l	        SU l
        SU l        [        U R                  R                  S9U l        g )NÚtext>   r   ÚtotalÚmarkdownzUnknown report format choice: r   )Ú	precision)ÚcoverageÚconfigÚget_dataÚhas_arcsÚbranchesÚoutfileÚformatÚoutput_formatr   Úfr_analysisÚskipped_countÚempty_countr   r   r   )Úselfr   s     ÚP/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/coverage/report.pyÚ__init__ÚSummaryReporter.__init__   s¦   € Ø ŒØ—m‘m×*Ñ*ˆŒØ ×)Ñ)Ó+×4Ñ4Ó6ˆŒØ'+ˆŒØ!Ÿ[™[×/Ñ/×9°6ˆÔØ×ÑÐ%BÓBÜÐ >¸t×?QÑ?QÑ>TÐUÓVÐVØ@BˆÔØˆÔØˆÔÜ t§{¡{×'<Ñ'<Ñ=ˆ�
ó    c                óª   • U R                   c   eU R                   R                  UR                  5       5        U R                   R                  S5        g)z-Write a line to the output, adding a newline.NÚ
)r   ÚwriteÚrstrip)r$   Úlines     r%   r+   ÚSummaryReporter.write(   s<   € à�|‰|Ñ'Ð'Ð'Ø�‰×Ñ˜4Ÿ;™;›=Ô)Ø�‰×Ñ˜4Õ r(   c                óD   • U R                  SR                  U5      5        g)z)Write a list of strings, joined together.Ú N)r+   Újoin)r$   Úitemss     r%   Úwrite_itemsÚSummaryReporter.write_items.   s   € à�
‰
�2—7‘7˜5“>Õ"r(   c                ó*  • [        U Vs/ sH  n[        US   5      PM     snS/-   5      S-   n[        [        X1R                  S5         5      S-   [        S5      5      S-   n[        U/U Vs/ sH"  n[        XQR                  S5         5      S-   PM$     sn-   5      n[        SSSSSS	S
S9nU V	s/ sH  n	X‰   R	                  X–US9PM     n
n	SR                  U
5      nS[        U5      -  nU R                  U5        U R                  U5        UR                  [        SS9SS9  U HN  n[        X5       V	Vs/ sH#  u  pžX‰   R	                  [        U5      XgS-
  S9PM%     nn	nU R                  U5        MP     U(       a  U R                  U5        [        X5       V	Vs/ sH#  u  pžX‰   R	                  [        U5      XgS-
  S9PM%     nn	nU R                  U5        U H  nU R                  U5        M     gs  snf s  snf s  sn	f s  snn	f s  snn	f )a  Internal method that prints report data in text format.

`header` is a list with captions.
`lines_values` is list of lists of sortable values.
`total_line` is a list with values of the total line.
`end_lines` is a list of ending lines with information about skipped files.

r   é   é   ÚCoveré   z Coverz{:{name_len}}z{:>7}z{:>{n}}z{:>10}©ÚNameÚStmtsÚMissÚBranchÚBrPartr8   ÚMissing©Úname_lenÚnr0   Ú-z{:>{n}}%©r8   z   {:9})r@   N)ÚmaxÚlenÚindexÚdictr   r1   r+   ÚupdateÚzipÚstrr3   )r$   ÚheaderÚlines_valuesÚ
total_lineÚ	end_linesr-   Úmax_nameÚmax_nÚformatsÚitemÚheader_itemsÚ
header_strÚruleÚvaluesÚvalueÚ
line_itemsÚend_lines                    r%   Ú_report_textÚSummaryReporter._report_text2   s2  € ô  ±Ó>±¨œ˜D ™Gž±Ñ>À!ÀÑDÓEÈÑIˆÜ”C˜
§<¡<°Ó#8Ñ9Ó:¸QÑ>ÄÀHÃÓNÐQRÑRˆÜ�U�GÑP\Ó]ÑP\Èœs 4¯©°WÓ(=Ñ#>Ó?À!ÔCÑP\Ñ]Ñ]Ó^ˆÜØ ØØØØØØñ
ˆñ ó
á�ð ‰M× Ñ  ¸EÐ ÓBÙð 	ð 
ð —W‘W˜\Ó*ˆ
Ø”S˜“_Ñ$ˆð 	�
‰
�:ÔØ�
‰
�4Ôà�‰”t *Ñ-°yˆÑAÛ"ˆFô BEÀVÔATôáAT±+°$ð ‘×$Ñ$¤S¨£ZØ!¨1¡Wð %ó .ÙATð ñ ð ×Ñ˜ZÖ(ñ #ö Ø�J‰J�tÔô >AÀÔ=Tô
á=T©k¨dð ‰M× Ñ ¤ U£Ø q¡ð !ó *Ù=Tð 	ñ 
ð 	×Ñ˜Ô$ã!ˆHØ�J‰J�xÖ ò "ùòU ?ùâ]ùò
ùóùó
s   ŠG:Á/(G?
Â3HÄ;)H	Æ")Hc                óz  • [        S U 5       SS9n[        U[        S5      5      S-   n[        SSSSSSS	S
9n[        [        X1R                  S5         5      S-   [        S5      5      nU Vs/ sH  o†U   R	                  X…US9PM     n	nSR                  U	5      n
SSR                  SR                  [        U	S   5      S-
  S5      /U	SS  Vs/ sH!  nSR                  [        U5      S-
  S5      PM#     sn-   5      -   nU R                  U
5        U R                  U5        U Hv  nUR                  [        SS95        [        X5       VVs/ sH3  u  p�Xh   R	                  [        U5      R                  SS5      XWS-
  S9PM5     nnnU R                  U5        Mx     UR                  [        SSS95        / n[        X5       H6  u  p�US:X  a  UnOUS:X  a  SU S3nOSU S3nXöU   R	                  UXWS9-  nM8     U R                  U5        U H  nU R                  U5        M     gs  snf s  snf s  snnf )a,  Internal method that prints report data in markdown format.

`header` is a list with captions.
`lines_values` is a sorted list of lists containing coverage information.
`total_line` is a list with values of the total line.
`end_lines` is a list of ending lines with information about skipped files.

c              3  ó\   #   • U H#  n[        US    R                  SS5      5      v •  M%     g7f)r   Ú_ú\_N)rG   Úreplace)Ú.0r-   s     r%   Ú	<genexpr>Ú3SummaryReporter._report_markdown.<locals>.<genexpr>   s'   é € ÐRÁ\¸Tœ˜D ™GŸO™O¨C°Ó7×8Ð8Â\ùs   ‚*,r   )Údefaultz	**TOTAL**r7   z| {:{name_len}}|z{:>9} |z	{:>{n}} |z{:>10} |r:   r8   é   z Cover rA   r0   Ú|Ú z- |rD   Nz-: |z
{:>{n}}% |rE   r`   ra   z|{:>{name_len}} |)r;   r8   z **z%**z**)rF   rG   rI   rH   r   r1   Úrjustr+   rJ   rK   rL   rb   r3   )r$   rM   rN   rO   rP   rQ   rS   rR   rT   rU   rV   Úrule_strrX   rY   rZ   Útotal_line_itemsÚinsertr[   s                     r%   Ú_report_markdownÚ SummaryReporter._report_markdowno   sY  € ô  ÑRÁ\ÓRÐ\]Ñ^ˆÜ�x¤ [Ó!1Ó2°QÑ6ˆÜØ#ØØØØØØñ
ˆô ”C˜
§<¡<°Ó#8Ñ9Ó:¸QÑ>ÄÀIÃÓOˆÙ[aÓbÑ[aÐSW ™×,Ñ,¨TÈÐ,ÓNÑ[aˆÐbØ—W‘W˜\Ó*ˆ
Ø˜Ÿ™ 5§;¡;¬s°<À±?Ó/CÀAÑ/EÀsÓ#KÐ"LØ8DÀQÀRÑ8HÓIÑ8H°ˆV�\‰\œ#˜d›) A™+ sÖ+Ñ8HÑIñ#Jó 
ñ 
ˆð
 	�
‰
�:ÔØ�
‰
�8Ôã"ˆFà�N‰Nœ4 lÑ3Ô4ô $' vÔ#6ôá#6‘K�Dð ‘×$Ñ$¤S¨£Z×%7Ñ%7¸¸UÓ%CÈhÐ`aÑZaÐ$ÓbÙ#6ð ñ ð ×Ñ˜ZÖ(ñ #ð 	�‰”tÐ!4¸KÑHÔIØ&(ÐÜ˜vÖ2‰KˆDØ˜‹{Ø‘Ø˜“Ø˜u˜g SÐ)‘à˜u˜g R˜�Ø¨¡× 4Ñ 4°VÀhÐ 4Ð XÑXÒñ 3ð 	×ÑÐ)Ô*Û!ˆHØ�J‰J�xÖ ò "ùò? cùò Jùós   Á/H-Ã'H2Å9H7Nc                óh  • U=(       d    [         R                  U l        U R                  R	                  5       R                  U R                  R                  5        [        U R                  U5       H  u  p4U R                  X45        M     U R                  R                  (       d  U R                  (       d  [        S5      eU R                  S:X  a;  U R                  U R                  R                   5        U R                  R$                  $ U R#                  5         U R                  R$                  $ )z|Writes a report summarizing coverage statistics per module.

`outfile` is a text-mode file object to write the summary to.

zNo data to report.r   )ÚsysÚstdoutr   r   r   Úset_query_contextsr   Úreport_contextsr   Úreport_one_filer   Ún_filesr"   r	   r    r+   Úpc_covered_strÚtabular_reportÚ
pc_covered)r$   Úmorfsr   ÚfrÚanalysiss        r%   ÚreportÚSummaryReporter.report­   sÖ   € ð ×,¤#§*¡*ˆŒà�‰×ÑÓ ×3Ñ3°D·K±K×4OÑ4OÔPÜ2°4·=±=À%ÖH‰LˆBØ× Ñ  Ö.ñ Ið �z‰z×!×!¨$×*<×*<ÜÐ2Ó3Ð3à×Ñ Ó(Ø�J‰J�t—z‘z×0Ñ0Ô1ð �z‰z×$Ñ$Ð$ð ×ÑÔ!à�z‰z×$Ñ$Ð$r(   c                ó(  ^• / SQnU R                   (       a  USS/-  nUS/-  nU R                  R                  (       a  US/-  n[        SSSS	S
9nU R                   (       a  UR	                  [        SSS95        / nU R
                   H¿  u  pEUR                  nUR                  5       UR                  UR                  /nU R                   (       a  XvR                  UR                  /-  nXvR                  /-  nU R                  R                  (       a  XuR                  SS9/-  nXvR                  /-  nUR                  U5        MÁ     U R                  R                   =(       d    SR#                  5       nSn	US   S:X  a  Sn	USS nOUS   S:X  a  USS nUR%                  U5      mTc#  ['        SU R                  R                   < 35      eUS:X  a
  [)        X9S9nOUR!                  U4S jU	S9  SU R*                  R                  U R*                  R                  /n
U R                   (       a.  X R*                  R                  U R*                  R                  /-  n
X R*                  R                  /-  n
U R                  R                  (       a  U
S/-  n
/ nU R                  R,                  (       aG  U R.                  (       a6  U R.                  S:”  a  SOSnUR                  SU R.                   SU S35        U R                  R0                  (       aG  U R2                  (       a6  U R2                  S:”  a  SOSnUR                  SU R2                   SU S 35        U R4                  S!:X  a  U R6                  nOU R8                  nU" XX«5        g)"zWrites tabular report formats.)r;   r<   r=   r>   r?   r8   r@   r   r7   r9   éÿÿÿÿ)ÚnameÚstmtsÚmissÚcoveré   é   )ÚbranchÚbrpartT)r   r�   FrD   NÚ+zInvalid sorting option: )Úreversec                ó   >• U T   U S   4$ )Nr   © )r-   Úsort_idxs    €r%   Ú<lambda>Ú0SummaryReporter.tabular_report.<locals>.<lambda>ï   s   ø€  $ x¡.°$°q±'Ñ!:r(   )ÚkeyrŠ   ÚTOTALr0   Úsr*   z filez" skipped due to complete coverage.z empty filez	 skipped.r   )r   r   Úshow_missingrI   rJ   r!   ÚnumbersÚrelative_filenameÚn_statementsÚ	n_missingÚ
n_branchesÚn_partial_branchesrw   Úmissing_formattedry   ÚappendÚsortÚlowerÚgetr   r
   r   Úskip_coveredr"   Ú
skip_emptyr#   r    rn   r\   )r$   rM   Úcolumn_orderrN   r{   r|   ÚnumsÚargsÚsort_optionrŠ   rO   rP   Úfile_suffixÚ	formatterr�   s                 @r%   rx   ÚSummaryReporter.tabular_reportÃ   s)  ø€ ò +ˆØ�=�=Ø�x Ð*Ñ*ˆFØ�7�)ÑˆØ�;‰;×#×#Ø�y�kÑ!ˆFä ¨!°!¸2Ñ>ˆØ�=�=Ø×Ñ¤¨A°aÑ 8Ô9ð ˆà"×.Ô.‰NˆRØ×#Ñ#ˆDà×(Ñ(Ó*¨D×,=Ñ,=¸t¿~¹~ÐNˆDØ�}�}ØŸ™¨$×*AÑ*AÐBÑB�Ø×(Ñ(Ð)Ñ)ˆDØ�{‰{×'×'Ø×3Ñ3¸TÐ3ÐBÐCÑC�Ø—_‘_Ð%Ñ%ˆDØ×Ñ Ö%ñ /ð —{‘{×'Ñ'×1¨6×8Ñ8Ó:ˆØˆØ�q‰>˜SÓ ØˆGØ% a b˜/‰KØ˜‰^˜sÓ"Ø% a b˜/ˆKØ×#Ñ# KÓ0ˆØÑÜÐ 8¸¿¹×9IÑ9IÑ8LÐMÓNÐNØ˜&Ó Ü-¨lÑL‰Là×ÑÜ:Øð ñ ð ˜tŸz™z×6Ñ6¸¿
¹
×8LÑ8LÐMˆ
Ø�=�=ØŸ:™:×0Ñ0°$·*±*×2OÑ2OÐPÑPˆJØ—z‘z×0Ñ0Ð1Ñ1ˆ
Ø�;‰;×#×#Ø˜2˜$ÑˆJð ˆ	Ø�;‰;×#×#¨×(:×(:Ø!%×!3Ñ!3°AÓ!5™#¸2ˆKØ×ÑØ�T×'Ñ'Ð(¨¨k¨]Ð:\Ð]ôð �;‰;×!×! d×&6×&6Ø!%×!1Ñ!1°AÓ!5™#¸2ˆKØ×Ñ˜r $×"2Ñ"2Ð!3°;¸{¸mÈ9ÐUÔVà×Ñ Ó+Ø×-Ñ-‰Ià×)Ñ)ˆIÙ�&¨
Õ>r(   c                óº  • UR                   nU =R                  U-  sl        UR                  S:H  nUR                  S:H  nU R                  R
                  (       a$  U(       a  U(       a  U =R                  S-  sl        gU R                  R                  (       a&  UR                  S:X  a  U =R                  S-  sl	        gU R                  R                  X45        g)z4Report on just one file, the callback from report().r   r7   N)r”   r   r—   r™   r   rŸ   r"   r    r–   r#   r!   r›   )r$   r{   r|   r¢   Úno_missing_linesÚno_missing_branchess         r%   ru   ÚSummaryReporter.report_one_file  s    € à×ÑˆØ�
Š
�dÑ�
à ŸN™N¨aÑ/ÐØ#×6Ñ6¸!Ñ;ÐØ�;‰;×#×#Ö(8Ö=Pà×Ò !Ñ#ÖØ�[‰[×#×#¨×(9Ñ(9¸QÓ(>à×Ò Ñ!Öà×Ñ×#Ñ# R NÕ3r(   )	r   r   r   r#   r!   r   r    r"   r   )r   r   ÚreturnÚNone)r-   rL   r¬   r­   )r2   zIterable[str]r¬   r­   )
rM   ú	list[str]rN   zlist[list[Any]]rO   z	list[Any]rP   r®   r¬   r­   )N)rz   zIterable[TMorf] | Noner   zIO[str] | Noner¬   Úfloat)r¬   r­   )r{   r   r|   r   r¬   r­   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r&   r+   r3   r\   rn   r}   rx   ru   Ú__static_attributes__rŒ   r(   r%   r   r      s‘   † Ù4ô>ô!ô#ð;!àð;!ð &ð;!ð ð	;!ð
 ð;!ð 
ô;!ðz<!àð<!ð &ð<!ð ð	<!ð
 ð<!ð 
ô<!ö|%ô,G?÷R4r(   r   )r´   Ú
__future__r   rq   Útypingr   r   r   Úcollections.abcr   Úcoverage.exceptionsr   r	   Úcoverage.miscr
   Úcoverage.pluginr   Úcoverage.report_corer   Úcoverage.resultsr   r   Úcoverage.typesr   r   r   r   rŒ   r(   r%   Ú<module>r¿      s=   ðñ å "ã 
ç )Ñ )Ý $ç 8Ý ,Ý (Ý 7ß .Ý  æÝ!÷B4ò B4r(   