§
    4›j¹3  ã                  ó¶  — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddl	mZ dd	l	mZ dd
l	mZ ddlZddlZddlmZ ddlmZ ddlmZ ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddl!m"Z" ddl#m$Z$ ddl%m&Z& ddl%m'Z' ddl(m)Z) ddl(m*Z* ddl(m+Z+ ddl,m-Z- ddl.m/Z/ ddl.m0Z0 dd l.m1Z1 dd!l2m3Z3 erdd"l4m5Z5 dMd'„Z6 ej7        d(d(d(¬)¦  «         G d*„ d+¦  «        ¦   «         Z8 ej7        d,¬-¦  «         G d.„ d/e-¦  «        ¦   «         Z9e&dNd3„¦   «         Z: G d4„ d2¦  «        Z;ej7         G d5„ d6¦  «        ¦   «         Z<edOd8„¦   «         Z=edPd:„¦   «         Z>ej7         G d;„ d<¦  «        ¦   «         Z?ej7         G d=„ d>¦  «        ¦   «         Z@dQdB„ZAdRdF„ZB e3eeCeDf                  ¦   «         ZEdSdI„ZF e d(¬J¦  «        dTdL„¦   «         ZGdS )Uz*Builtin plugin that adds subtests support.é    )Úannotations)Údefaultdict)ÚCallable)ÚIterator)ÚMapping)ÚAbstractContextManager)Úcontextmanager)Ú	ExitStack)ÚnullcontextN)ÚTracebackType)ÚAny)ÚTYPE_CHECKING)ÚExceptionInfo©Úsaferepr)ÚCaptureFixture)Ú	FDCapture)Ú
SysCapture)ÚConfig)Úhookimpl)ÚParser)Úcheck_ispytest)Úfixture)Ú
SubRequest)Úcatching_logs)ÚLogCaptureHandler)ÚLoggingPlugin)Ú
TestReport)ÚCallInfo)Úcheck_interactive_exception)Úget_reraise_exceptions)ÚStashKey)ÚSelfÚparserr   ÚreturnÚNonec                óH   — t          j        | t           j        d¬¦  «         d S )Nz‚Specify verbosity level for subtests. Higher levels will generate output for passed subtests. Failed subtests are always reported.)Úhelp)r   Ú_add_verbosity_iniÚVERBOSITY_SUBTESTS)r$   s    úM/home/lighthouse/health/venv/lib/python3.11/site-packages/_pytest/subtests.pyÚpytest_addoptionr,   .   s5   € Ý
ÔØÝÔ!ðkð	ñ ô ð ð ð ó    T)ÚfrozenÚslotsÚkw_onlyc                  óH   — e Zd ZU dZded<   ded<   dd„Zedd„¦   «         ZdS )ÚSubtestContextzJThe values passed to Subtests.test() that are included in the test report.ú
str | NoneÚmsgzMapping[str, Any]Úkwargsr%   údict[str, Any]c                ó*   — t          j        | ¦  «        S ©N)ÚdataclassesÚasdict)Úselfs    r+   Ú_to_jsonzSubtestContext._to_json@   s   € ÝÔ! $Ñ'Ô'Ð'r-   Údr#   c                ó4   —  | |d         |d         ¬¦  «        S )Nr4   r5   ©r4   r5   © )Úclsr=   s     r+   Ú
_from_jsonzSubtestContext._from_jsonC   s   € àˆs�q˜”x¨¨(¬Ð4Ñ4Ô4Ð4r-   N©r%   r6   )r=   r6   r%   r#   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r<   ÚclassmethodrB   r@   r-   r+   r2   r2   9   se   € € € € € € àTÐTà€O€O�OØÐÐÑð(ð (ð (ð (ð ð5ð 5ð 5ñ „[ð5ð 5ð 5r-   r2   F)Úinitc                  ó„   ‡ — e Zd ZU ded<   edd„¦   «         Zdd„Zdˆ fd„Zedˆ fd
„¦   «         Z	edˆ fd„¦   «         Z
ˆ xZS )ÚSubtestReportr2   Úcontextr%   Ústrc                óJ   — | j         \  }}}|› d|                      ¦   «         › �S )Nú )ÚlocationÚ_sub_test_description)r;   Ú_Údomains      r+   Ú	head_linezSubtestReport.head_lineL   s/   € à”}‰ˆˆ1ˆfØÐ9Ð9˜4×5Ò5Ñ7Ô7Ð9Ð9Ð9r-   c                óR  — g }| j         j        �#|                     d| j         j        › d�¦  «         | j         j        rTd                     d„ | j         j                             ¦   «         D ¦   «         ¦  «        }|                     d|› d�¦  «         d                     |¦  «        pdS )	Nú[ú]z, c              3  óD   K  — | ]\  }}|› d t          |¦  «        › �V — ŒdS )ú=Nr   )Ú.0ÚkÚvs      r+   ú	<genexpr>z6SubtestReport._sub_test_description.<locals>.<genexpr>V   sK   è è € ð $ð $Ù)/¨!¨Q�1Ð$Ð$•x ‘{”{Ð$Ð$ð$ð $ð $ð $ð $ð $r-   ú(ú)rP   z(<subtest>))rM   r4   Úappendr5   ÚjoinÚitems)r;   ÚpartsÚparams_descs      r+   rR   z#SubtestReport._sub_test_descriptionQ   s·   € ØˆØŒ<ÔÐ'Ø�LŠLÐ0˜Tœ\Ô-Ð0Ð0Ð0Ñ1Ô1Ð1ØŒ<Ôð 	-ØŸ)š)ð $ð $Ø37´<Ô3F×3LÒ3LÑ3NÔ3Nð$ñ $ô $ñ ô ˆKð �LŠLÐ+˜[Ð+Ð+Ð+Ñ,Ô,Ð,Ø�xŠx˜‰ŒÐ/ -Ð/r-   r6   c                ó�   •— t          ¦   «                              ¦   «         }|d= d|d<   | j                             ¦   «         |d<   |S )NrM   ÚSubTestReportÚ_report_typeú_subtest.context)Úsuperr<   rM   )r;   ÚdataÚ	__class__s     €r+   r<   zSubtestReport._to_json\   sG   ø€ Ý‰wŒw×ÒÑ!Ô!ˆØ�ˆOØ.ˆˆ^ÑØ#'¤<×#8Ò#8Ñ#:Ô#:ˆÐÑ Øˆr-   Ú
reportdictc                ó”   •— t          ¦   «                              |¦  «        }t                               |d         ¦  «        |_        |S )Nri   )rj   rB   r2   rM   )rA   rm   Úreportrl   s      €r+   rB   zSubtestReport._from_jsonc   s:   ø€ å‘”×#Ò# JÑ/Ô/ˆÝ'×2Ò2°:Ð>PÔ3QÑRÔRˆŒØˆr-   Útest_reportr   Úcaptured_outputúCaptured | NoneÚcaptured_logsúCapturedLogs | Noner#   c                óœ  •— t          ¦   «                              |                     ¦   «         ¦  «        }||_        |rP|j        r!|j                             d|j        f¦  «         |j        r!|j                             d|j        f¦  «         |r<|j        j	         
                    ¦   «         x}r|j                             d|f¦  «         |S )NzCaptured stdout callzCaptured stderr callzCaptured log call)rj   rB   r<   rM   ÚoutÚsectionsra   ÚerrÚhandlerÚstreamÚgetvalue)rA   rp   rM   rq   rs   ÚresultÚlogrl   s          €r+   Ú_newzSubtestReport._newi   sÕ   ø€ õ ‘”×#Ò# K×$8Ò$8Ñ$:Ô$:Ñ;Ô;ˆØ ˆŒàð 	VØÔ"ð VØ”×&Ò&Ð(>ÀÔ@SÐ'TÑUÔUÐUØÔ"ð VØ”×&Ò&Ð(>ÀÔ@SÐ'TÑUÔUÐUàð 	? ]Ô%:Ô%A×%JÒ%JÑ%LÔ%LÐL˜cð 	?ØŒO×"Ò"Ð$7¸Ð#=Ñ>Ô>Ð>àˆr-   )r%   rN   rC   )rm   r6   r%   rL   )
rp   r   rM   r2   rq   rr   rs   rt   r%   r#   )rD   rE   rF   rH   ÚpropertyrU   rR   r<   rI   rB   r~   Ú__classcell__)rl   s   @r+   rL   rL   H   sÑ   ø€ € € € € € àÐÐÑàð:ð :ð :ñ „Xð:ð	0ð 	0ð 	0ð 	0ðð ð ð ð ð ð ðð ð ð ð ñ „[ðð
 ðð ð ð ð ñ „[ðð ð ð ð r-   rL   Úrequestr   ÚSubtestsc                ó¤   — | j         j        j                             d¦  «        }|�|j        nt
          }t          | j         j        || d¬¦  «        S )z Provides subtests functionality.ÚcapturemanagerNT©Ú	_ispytest)ÚnodeÚconfigÚpluginmanagerÚ
get_pluginÚglobal_and_fixture_disabledr   r‚   Úihook)r�   ÚcapmamÚsuspend_capture_ctxs      r+   Úsubtestsr�   €   sU   € ð Œ\Ô Ô.×9Ò9Ð:JÑKÔK€Fà.4Ð.@ˆÔ*Ð*Åkð õ �G”LÔ&Ð(;¸WÐPTÐUÑUÔUÐUr-   c                  ó,   — e Zd ZdZddœdd„Z	 ddd„ZdS )r‚   z_Subtests fixture, enables declaring subtests inside test functions via the :meth:`test` method.Fr…   rŒ   úpluggy.HookRelayrŽ   ú*Callable[[], AbstractContextManager[None]]r�   r   r†   Úboolr%   r&   c               óN   — t          |¦  «         || _        || _        || _        d S r8   )r   Ú_ihookÚ_suspend_capture_ctxÚ_request)r;   rŒ   rŽ   r�   r†   s        r+   Ú__init__zSubtests.__init__�   s,   € õ 	�yÑ!Ô!Ð!ØˆŒØ$7ˆÔ!ØˆŒˆˆr-   Nr4   r3   r5   r   Ú_SubTestContextManagerc                ó^   — t          | j        ||| j        | j        | j        j        ¬¦  «        S )ad  
        Context manager for subtests, capturing exceptions raised inside the subtest scope and
        reporting assertion failures and errors individually.

        Usage
        -----

        .. code-block:: python

            def test(subtests):
                for i in range(5):
                    with subtests.test("custom message", i=i):
                        assert i % 2 == 0

        :param msg:
            If given, the message will be shown in the test report in case of subtest failure.

        :param kwargs:
            Arbitrary values that are also added to the subtest report.
        )r�   rŽ   rˆ   )r™   r•   r—   r–   rˆ   )r;   r4   r5   s      r+   ÚtestzSubtests.testš   s9   € õ2 &ØŒKØØØ”MØ $Ô 9Ø”=Ô'ð
ñ 
ô 
ð 	
r-   )
rŒ   r‘   rŽ   r’   r�   r   r†   r“   r%   r&   r8   )r4   r3   r5   r   r%   r™   )rD   rE   rF   rG   r˜   r›   r@   r-   r+   r‚   r‚   Š   s[   € € € € € ØiÐið  ð ð  ð  ð  ð  ð  ð ð 
ð  
ð  
ð  
ð  
ð  
ð  
r-   c                  ó`   — e Zd ZU dZded<   ded<   ded<   ded	<   d
ed<   ded<   dd„Zdd„ZdS )r™   z�
    Context manager for subtests, capturing exceptions raised inside the subtest scope and handling
    them through the pytest machinery.
    r‘   rŒ   r3   r4   r6   r5   r’   rŽ   r   r�   r   rˆ   r%   r&   c                ób  — d}t          j         ¦   «         | _        t          j        ¦   «         | _        d | _        t          ¦   «         | _        | j                             t          | j	        ¦  «        ¦  «        | _
        | j                             t          | j	        ¦  «        ¦  «        | _        d S )NT)ÚtimeÚ_startÚperf_counterÚ_precise_startÚ	_exc_infor
   Ú_exit_stackÚenter_contextÚcapturing_outputr�   Ú_captured_outputÚcapturing_logsÚ_captured_logs)r;   Ú__tracebackhide__s     r+   Ú	__enter__z _SubTestContextManager.__enter__Ð   s‘   € Ø Ðå”i‘k”kˆŒÝ"Ô/Ñ1Ô1ˆÔØˆŒå$™;œ;ˆÔØ $Ô 0× >Ò >Ý˜Tœ\Ñ*Ô*ñ!
ô !
ˆÔð #Ô.×<Ò<Ý˜4œ<Ñ(Ô(ñ
ô 
ˆÔÐÐr-   Úexc_typeútype[BaseException] | NoneÚexc_valúBaseException | NoneÚexc_tbúTracebackType | Noner“   c           	     óÆ  — d}|�t          j        |¦  «        }nd }| j                             ¦   «          t	          j        ¦   «         }|| j        z
  }t	          j        ¦   «         }t          d          d || j        ||dd¬¦  «        }	| j	         
                    | j        j        |	¬¦  «        }
t                               |
t          | j        | j        ¬¦  «        | j        | j        ¬¦  «        }|j        r6| j        j        t.                   }|| j        j        j        xx         dz  cc<   |                      ¦   «         5  | j	                             |¬¦  «         d d d ¦  «         n# 1 swxY w Y   t7          |	|¦  «        r'| j	                             | j        j        |	|¬	¦  «         |�7t;          |t=          | j        ¦  «        ¦  «        rd
S | j        j        j         rd
S dS )NTÚcall)ÚstartÚstopÚdurationÚwhenr†   )Úitemr²   r?   )rq   rs   é   ©ro   )r‡   r²   ro   F)!r   Úfrom_exceptionr£   Úcloserž   r    r¡   r   rŸ   rŒ   Úpytest_runtest_makereportr�   r‡   rL   r~   r2   r4   r5   r¦   r¨   Úfailedrˆ   ÚstashÚfailed_subtests_keyÚnodeidrŽ   Úpytest_runtest_logreportr    Úpytest_exception_interactÚ
isinstancer!   ÚsessionÚ
shouldfail)r;   r«   r­   r¯   r©   Úexc_infoÚprecise_stoprµ   r´   Ú	call_inforo   Ú
sub_reportÚfailed_subtestss                r+   Ú__exit__z_SubTestContextManager.__exit__ß   sM  € ð !ÐØÐÝ$Ô3°GÑ<Ô<ˆHˆHàˆHàÔ×ÒÑ Ô Ð åÔ(Ñ*Ô*ˆØ $Ô"5Ñ5ˆÝŒy‰{Œ{ˆå˜T”NØØØ”+ØØØØð
ñ 
ô 
ˆ	ð ”×5Ò5Ø”Ô"¨ð 6ñ 
ô 
ˆõ #×'Ò'ØÝ˜tœx°´Ð<Ñ<Ô<Ø Ô1ØÔ-ð	 (ñ 
ô 
ˆ
ð Ôð 	;Ø"œkÔ/Õ0CÔDˆOØ˜DœLÔ-Ô4Ð5Ð5Ô5¸Ñ:Ð5Ð5Ñ5à×%Ò%Ñ'Ô'ð 	Cð 	CØŒJ×/Ò/°zÐ/ÑBÔBÐBð	Cð 	Cð 	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð 	Cð 	Cð 	Cøøøð 	Cð 	Cð 	Cð 	Cõ ' y°*Ñ=Ô=ð 	ØŒJ×0Ò0Ø”\Ô&¨Y¸zð 1ñ ô ð ð ÐÝ˜'Õ#9¸$¼+Ñ#FÔ#FÑGÔGð Ø�uØŒ|Ô#Ô.ð Ø�uØˆts   Ä>E&Å&E*Å-E*N)r%   r&   )r«   r¬   r­   r®   r¯   r°   r%   r“   )rD   rE   rF   rG   rH   rª   rË   r@   r-   r+   r™   r™   ½   sŒ   € € € € € € ðð ð ÐÐÑØ€O€O�OØÐÐÑØCÐCÐCÑCØÐÐÑØ€N€N�Nð
ð 
ð 
ð 
ð6ð 6ð 6ð 6ð 6ð 6r-   r™   úIterator[Captured]c              #  ó<  K  — | j                              dd ¦  «        }| j         j                             d¦  «        }t	          |dd ¦  «        rd }n>|dk    rt          t          | d¬¦  «        }n |dk    rt          t          | d¬¦  «        }nd }|� |j        ¦   «          t          ¦   «         }	 |V — |�1 |j
        ¦   «         \  }} |j        ¦   «          ||_        ||_        d S d S # |�/ |j
        ¦   «         \  }} |j        ¦   «          ||_        ||_        w xY w)NÚcapturer„   Ú_capture_fixtureÚsysTr…   Úfd)rˆ   Ú	getoptionr‰   Ú	getpluginÚgetattrr   r   r   rŸ   ÚCapturedÚ
readouterrr»   rv   rx   )r�   ÚoptionÚcapmanr   Úcapturedrv   rx   s          r+   r¥   r¥     sD  è è € àŒ^×%Ò% i°Ñ6Ô6€FàŒ^Ô)×3Ò3Ð4DÑEÔE€FÝˆvÐ)¨4Ñ0Ô0ð àˆˆØ	�5ŠˆÝ ¥¨WÀÐEÑEÔEˆˆØ	�4ŠˆÝ ¥¨G¸tÐDÑDÔDˆˆàˆàÐØˆŒÑÔÐå‰zŒz€HðØˆˆˆàÐØ)�wÔ)Ñ+Ô+‰HˆC�ØˆGŒM‰OŒOˆOØˆHŒLØˆHŒLˆLˆLð	 Ðøˆ7ÐØ)�wÔ)Ñ+Ô+‰HˆC�ØˆGŒM‰OŒOˆOØˆHŒLØˆHŒLÐÐÐÐs   Â/C( Ã(3DúIterator[CapturedLogs | None]c              #  ó,  K  — | j         j                             d¦  «        }|€d V — d S t          ¦   «         }|                     |j        ¦  «         t          |¦  «        }t          ||j        ¬¦  «        5  |V — d d d ¦  «         d S # 1 swxY w Y   d S )Nzlogging-plugin)Úlevel)	rˆ   r‰   rÓ   r   ÚsetFormatterÚ	formatterÚCapturedLogsr   Ú	log_level)r�   Úlogging_pluginry   rs   s       r+   r§   r§   5  sï   è è € ð ,3¬>Ô+G×+QÒ+QØñ,ô ,€Nð ÐØˆ
ˆ
ˆ
ˆ
ˆ
å#Ñ%Ô%ˆØ×Ò˜^Ô5Ñ6Ô6Ð6å$ WÑ-Ô-ˆÝ˜7¨.Ô*BÐCÑCÔCð 	 ð 	 ØÐÐÐð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	 ð 	 s   Á7B	Â	BÂBc                  ó,   — e Zd ZU dZded<   dZded<   dS )rÕ   Ú rN   rv   rx   N)rD   rE   rF   rv   rH   rx   r@   r-   r+   rÕ   rÕ   G  s*   € € € € € € à€C€M€M€M�MØ€C€M€M€M�M€M€Mr-   rÕ   c                  ó   — e Zd ZU ded<   dS )rß   r   ry   N)rD   rE   rF   rH   r@   r-   r+   rß   rß   M  s   € € € € € € àÐÐÑÐÐr-   rß   ro   r   údict[str, Any] | Nonec                óX   — t          | t          ¦  «        r|                      ¦   «         S d S r8   )rÃ   rL   r<   r¹   s    r+   Úpytest_report_to_serializablerç   R  s)   € Ý�&�-Ñ(Ô(ð !Ø�ŠÑ Ô Ð Øˆ4r-   rk   r6   úSubtestReport | Nonec                ól   — |                       d¦  «        dk    rt                               | ¦  «        S d S )Nrh   rg   )ÚgetrL   rB   )rk   s    r+   Úpytest_report_from_serializablerë   X  s2   € Ø‡x‚x�ÑÔ ?Ò2Ð2Ý×'Ò'¨Ñ-Ô-Ð-Øˆ4r-   rˆ   r   c                ó@   — t          d„ ¦  «        | j        t          <   d S )Nc                 ó   — dS )Nr   r@   r@   r-   r+   ú<lambda>z"pytest_configure.<locals>.<lambda>d  s   € ¸A€ r-   )r   r¾   r¿   )rˆ   s    r+   Úpytest_configurerï   c  s   € Ý(3°I°IÑ(>Ô(>€F„LÕ$Ñ%Ð%Ð%r-   )Útryfirstú0tuple[str, str, str | Mapping[str, bool]] | Nonec                ó   — | j         dk    rd S |                     t          j        ¦  «        dk    }t	          | t
          ¦  «        r€| j        }|                      ¦   «         }t          | d¦  «        r|rdS |dk    rd}d}d}nd S |||› |› �fS | j	        r|d	d
|› �fS | j
        r|rdS d|› �d	d|› �fS | j        r|rdS |dd|› �fS nH|j        t                   | j                 }| j
        r$|dk    rd| _        |dk    rdnd}	d|› d|	› �| _        d S )Nr²   r   Úwasxfail)rã   rã   rã   ÚskippedÚxfailedÚyÚSUBXFAILÚuÚ	SUBFAILEDz	subtests Ú	SUBPASSEDú-Ú
SUBSKIPPEDr½   r¸   Úsrã   z	contains z failed subtest)r¶   Úget_verbosityr   r*   rÃ   rL   ÚoutcomerR   Úhasattrr½   Úpassedrô   r¾   r¿   rÀ   Úlongrepr)
ro   rˆ   Úquietrÿ   ÚdescriptionÚcategoryÚshortÚstatusÚfailed_subtests_countÚsuffixs
             r+   Úpytest_report_teststatusr
  g  s¨  € ð
 „{�fÒÐØˆtà× Ò ¥Ô!:Ñ;Ô;¸qÒ@€EÝ�&�-Ñ(Ô(ð )YØ”.ˆØ×2Ò2Ñ4Ô4ˆå�6˜:Ñ&Ô&ð 	=Øð Ø!�zØ˜IÒ%Ð%Ø$�Ø�Ø#��ð �tØ˜U vÐ$<¨{Ð$<Ð$<Ð<Ð<àŒ=ð 	DØ˜CÐ!:¨[Ð!:Ð!:Ð:Ð:àŒ}ð 	DØð QØ%˜:à0 wÐ0Ð0°#Ð7PÀ;Ð7PÐ7PÐPÐPØ”ð DØð DØ%˜:à" CÐ)C°kÐ)CÐ)CÐCÐCð	Dð !'¤Õ-@Ô AÀ&Ä-Ô PÐàŒ=ð 	YÐ2°QÒ6Ð6Ø%ˆFŒNØ1°AÒ5Ð5�S�S¸2ˆFØXÐ*?ÐXÐXÐPVÐXÐXˆFŒOàˆ4r-   )r$   r   r%   r&   )r�   r   r%   r‚   )r�   r   r%   rÌ   )r�   r   r%   rÚ   )ro   r   r%   rå   )rk   r6   r%   rè   )rˆ   r   r%   r&   )ro   r   rˆ   r   r%   rñ   )HrG   Ú
__future__r   Úcollectionsr   Úcollections.abcr   r   r   Ú
contextlibr   r	   r
   r   r9   rž   Útypesr   Útypingr   r   ÚpluggyÚ_pytest._coder   Ú_pytest._io.safereprr   Ú_pytest.capturer   r   r   Ú_pytest.configr   r   Ú_pytest.config.argparsingr   Ú_pytest.deprecatedr   Ú_pytest.fixturesr   r   Ú_pytest.loggingr   r   r   Ú_pytest.reportsr   Ú_pytest.runnerr   r    r!   Ú_pytest.stashr"   Útyping_extensionsr#   r,   Ú	dataclassr2   rL   r�   r‚   r™   r¥   r§   rÕ   rß   rç   rë   rN   Úintr¿   rï   r
  r@   r-   r+   ú<module>r      sè  ðØ 0Ð 0à "Ð "Ð "Ð "Ð "Ð "à #Ð #Ð #Ð #Ð #Ð #Ø $Ð $Ð $Ð $Ð $Ð $Ø $Ð $Ð $Ð $Ð $Ð $Ø #Ð #Ð #Ð #Ð #Ð #Ø -Ð -Ð -Ð -Ð -Ð -Ø %Ð %Ð %Ð %Ð %Ð %Ø  Ð  Ð  Ð  Ð  Ð  Ø "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  à €€€à 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø )Ð )Ð )Ð )Ð )Ð )Ø *Ð *Ð *Ð *Ð *Ð *Ø %Ð %Ð %Ð %Ð %Ð %Ø &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ø #Ð #Ð #Ð #Ð #Ð #Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø -Ð -Ð -Ð -Ð -Ð -Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø )Ð )Ð )Ð )Ð )Ð )Ø -Ð -Ð -Ð -Ð -Ð -Ø )Ð )Ð )Ð )Ð )Ð )Ø &Ð &Ð &Ð &Ð &Ð &Ø #Ð #Ð #Ð #Ð #Ð #Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø "Ð "Ð "Ð "Ð "Ð "ð ð 'Ø&Ð&Ð&Ð&Ð&Ð&ðð ð ð ð €Ô˜d¨$¸Ð=Ñ=Ô=ð5ð 5ð 5ð 5ð 5ñ 5ô 5ñ >Ô=ð5ð €Ô˜EÐ"Ñ"Ô"ð4ð 4ð 4ð 4ð 4�Jñ 4ô 4ñ #Ô"ð4ðn 	ðVð Vð Vñ 	„ðVð0
ð 0
ð 0
ð 0
ð 0
ñ 0
ô 0
ð 0
ðf ÔðWð Wð Wð Wð Wñ Wô Wñ ÔðWðt ðð ð ñ „ðð8 ð ð  ð  ñ „ð ð" Ôðð ð ð ð ñ ô ñ Ôðð
 Ôðð ð ð ð ñ ô ñ Ôððð ð ð ðð ð ð ð 6�h˜{¨3°¨8Ô4Ô5Ñ7Ô7Ð ð?ð ?ð ?ð ?ð 
€�4ÐÑÔð3ð 3ð 3ñ Ôð3ð 3ð 3r-   