§
    öyIfÄe  ã                   ó²  — U d Z ddlZddlmZ ddlZddlZddlZddlmZ ddl	Z	ddl
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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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l0m1Z1 ddl0m2Z2 dd l3m4Z4 dd!l5m6Z6 dd"l7m8Z8 dd#l9m:Z: er
ddl;Z;dd$lm<Z< d%Z=d&Z>d'Z?d(Z@d)ZAe=e>e?e@eAfZBdaCdaDeed*                  eEd+<   d,e)d-dfd.„ZFd_d/„ZGd0ed1e.d-eed2                  fd3„ZHd4ed-eIfd5„ZJd6e'd4ed1e.d-eIfd7„ZKd4ed-eIfd8„ZL G d9„ d:e!¦  «        ZM G d;„ d<eN¦  «        ZOd-ed=         fd>„ZP	 	 	 	 d`d@ed*         dAeeI         dBeQdCeId-d=f
dD„ZR G dE„ dFe/¦  «        ZSd-eeTeQf         fdG„ZUd6e'd-eQfdH„ZVd6e'd-eIfdI„ZW G dJ„ dKe6¦  «        ZXdadN„ZYdOeZd-eIfdP„Z[ed-edQ         fdR„¦   «         Z\ G dS„ dTe6¦  «        Z]d-ed*         fdU„Z^dbdV„Z_d-eQfdW„Z`d-eQfdX„Zad-eQfdY„ZbdZeTd-eQfd[„Zc e+d\¬]¦  «        d-eeTef         fd^„¦   «         ZddS )cz4Discover and run doctests in modules and test files.é    N)Úcontextmanager)ÚPath)ÚAny)ÚCallable)ÚDict)Ú	Generator)ÚIterable)ÚList)ÚOptional)ÚPattern)ÚSequence)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚUnion)Úoutcomes)ÚExceptionInfo)ÚReprFileLocation)ÚTerminalRepr)ÚTerminalWriter©Úsafe_getattr)ÚConfig)ÚParser)Úfixture)Ú
TopRequest)Ú	Collector)ÚItem)ÚOutcomeException)Úskip©Ú
fnmatch_ex)ÚModule)Úapprox)ÚPytestWarning)ÚSelfÚnoneÚcdiffÚndiffÚudiffÚonly_first_failureúdoctest.OutputCheckerÚCHECKER_CLASSÚparserÚreturnc                 óº  — |                       ddddg¬¦  «         |                       ddd¬	¦  «         |                      d
¦  «        }|                     ddddd¬¦  «         |                     dt          j        ddt
          d¬¦  «         |                     ddg ddd¬¦  «         |                     ddddd¬¦  «         |                     dddd d!¬¦  «         d S )"NÚdoctest_optionflagszOption flags for doctestsÚargsÚELLIPSIS)ÚtypeÚdefaultÚdoctest_encodingzEncoding used for doctest fileszutf-8)r5   Úcollectz--doctest-modulesÚ
store_trueFzRun doctests in all .py modulesÚdoctestmodules)Úactionr5   ÚhelpÚdestz--doctest-reportr*   z9Choose another output format for diffs on doctest failureÚdoctestreport)r4   r5   r;   Úchoicesr<   z--doctest-globÚappendÚpatz2Doctests file matching pattern, default: test*.txtÚdoctestglob)r:   r5   Úmetavarr;   r<   z--doctest-ignore-import-errorsz Ignore doctest collection errorsÚdoctest_ignore_import_errorsz--doctest-continue-on-failurez<For a given doctest, continue to run after the first failureÚdoctest_continue_on_failure)ÚaddiniÚgetgroupÚ	addoptionÚstrÚlowerÚDOCTEST_REPORT_CHOICES)r.   Úgroups     úC/var/www/piapp/venv/lib/python3.11/site-packages/_pytest/doctest.pyÚpytest_addoptionrM   I   sO  € Ø
‡M‚MØØ#ØØ�ð	 ñ ô ð ð ‡M‚MØÐ=Àwð ñ ô ð ð �OŠO˜IÑ&Ô&€EØ	‡O‚OØØØØ.Øð ñ ô ð ð 
‡O‚OØÝŒYØØHÝ&Øð ñ ô ð ð 
‡O‚OØØØØØAØð ñ ô ð ð 
‡O‚OØ(ØØØ/Ø+ð ñ ô ð ð 
‡O‚OØ'ØØØKØ*ð ñ ô ð ð ð ó    c                  ó
   — d a d S ©N)ÚRUNNER_CLASS© rN   rL   Úpytest_unconfigurerS   {   s   € ð €L€L€LrN   Ú	file_pathÚparent)ÚDoctestModuleÚDoctestTextfilec                 ó,  — |j         }| j        dk    rT|j        j        rGt	          t          | ¦  «        t          | ¦  «        f¦  «        st                               || ¬¦  «        S n-t          || |¦  «        rt                               || ¬¦  «        S d S )Nz.py©Úpath)ÚconfigÚsuffixÚoptionr9   ÚanyÚ_is_setup_pyÚ_is_main_pyrV   Úfrom_parentÚ_is_doctestrW   )rT   rU   r[   s      rL   Úpytest_collect_filerc   �   s    € ð Œ]€FØÔ˜5Ò Ð ØŒ=Ô'ð 	EµÝ˜)Ñ$Ô$¥k°)Ñ&<Ô&<Ð=ñ1
ô 1
ð 	Eõ !×,Ò,¨V¸)Ð,ÑDÔDÐDøÝ	�V˜Y¨Ñ	/Ô	/ð CÝ×*Ò*¨6¸	Ð*ÑBÔBÐBØˆ4rN   rZ   c                 óT   — | j         dk    rdS |                      ¦   «         }d|v pd|v S )Nzsetup.pyFs
   setuptoolss	   distutils)ÚnameÚ
read_bytes)rZ   Úcontentss     rL   r_   r_   �   s8   € Ø„y�JÒÐØˆuØ�ŠÑ Ô €HØ˜HÐ$Ð@¨¸Ð(@Ð@rN   r[   c                 ó´   ‡— ‰j         dv r|j                             ‰¦  «        rdS |                      d¦  «        pdg}t	          ˆfd„|D ¦   «         ¦  «        S )N)z.txtz.rstTrA   z	test*.txtc              3   ó8   •K  — | ]}t          |‰¦  «        V — Œd S rP   r!   )Ú.0ÚglobrZ   s     €rL   ú	<genexpr>z_is_doctest.<locals>.<genexpr>›   s-   øè è € Ð8Ð8¨$�z˜$ Ñ%Ô%Ð8Ð8Ð8Ð8Ð8Ð8rN   )r\   ÚsessionÚ
isinitpathÚ	getoptionr^   )r[   rZ   rU   Úglobss    `  rL   rb   rb   —   sh   ø€ Ø„{Ð&Ð&Ð&¨6¬>×+DÒ+DÀTÑ+JÔ+JÐ&ØˆtØ×Ò˜]Ñ+Ô+Ð<°¨}€EÝÐ8Ð8Ð8Ð8°%Ð8Ñ8Ô8Ñ8Ô8Ð8rN   c                 ó   — | j         dk    S )Nz__main__.py)re   rY   s    rL   r`   r`   ž   s   € ØŒ9˜Ò%Ð%rN   c                   óV   — e Zd Zdeeeee         f                  ddfd„Zdeddfd„Z	dS )ÚReprFailDoctestÚreprlocation_linesr/   Nc                 ó   — || _         d S rP   )rt   )Úselfrt   s     rL   Ú__init__zReprFailDoctest.__init__£   s   € ð #5ˆÔÐÐrN   Útwc                 ó~   — | j         D ]4\  }}|D ]}|                     |¦  «         Œ|                     |¦  «         Œ5d S rP   )rt   ÚlineÚ
toterminal)rv   rx   ÚreprlocationÚlinesrz   s        rL   r{   zReprFailDoctest.toterminal¨   sZ   € Ø#'Ô#:ð 	(ð 	(ÑˆL˜%Øð ð �Ø—’˜‘”��Ø×#Ò# BÑ'Ô'Ð'Ð'ð	(ð 	(rN   )
Ú__name__Ú
__module__Ú__qualname__r   r   r   rH   rw   r   r{   rR   rN   rL   rs   rs   ¢   sn   € € € € € ð5Ø"*¨5Ð1AÀ8ÈCÄ=Ð1PÔ+QÔ"Rð5à	ð5ð 5ð 5ð 5ð
(˜^ð (°ð (ð (ð (ð (ð (ð (rN   rs   c                   ó4   ‡ — e Zd Zded         ddfˆ fd„Zˆ xZS )ÚMultipleDoctestFailuresÚfailureszdoctest.DocTestFailurer/   Nc                 óV   •— t          ¦   «                              ¦   «          || _        d S rP   )Úsuperrw   rƒ   )rv   rƒ   Ú	__class__s     €rL   rw   z MultipleDoctestFailures.__init__°   s$   ø€ Ý‰Œ×ÒÑÔÐØ ˆŒˆˆrN   )r~   r   r€   r   rw   Ú__classcell__©r†   s   @rL   r‚   r‚   ¯   sQ   ø€ € € € € ð! Ð*BÔ!Cð !Èð !ð !ð !ð !ð !ð !ð !ð !ð !ð !rN   r‚   údoctest.DocTestRunnerc                  ó:   ‡— dd l Š G ˆfd„d‰j        ¦  «        } | S )Nr   c                   ó¼   •‡ — e Zd ZdZ	 	 	 	 dded         dee         ded	ed
df
ˆ fd„Zddddded
dfˆfd„Z	ddddde
ee         eej        f         d
dfˆfd„Zˆ xZS )ú/_init_runner_class.<locals>.PytestDoctestRunnerzˆRunner to collect failures.

        Note that the out variable in this case is a list instead of a
        stdout-like object.
        Nr   TÚcheckerr,   ÚverboseÚoptionflagsÚcontinue_on_failurer/   c                 ó^   •— t          ¦   «                              |||¬¦  «         || _        d S )N)r�   rŽ   r�   )r…   rw   r�   )rv   r�   rŽ   r�   r�   r†   s        €rL   rw   z8_init_runner_class.<locals>.PytestDoctestRunner.__init__¿   s2   ø€ õ ‰GŒG×Ò W°gÈ;ÐÑWÔWÐWØ':ˆDÔ$Ð$Ð$rN   Útestúdoctest.DocTestÚexamplezdoctest.ExampleÚgotc                 óh   •—  ‰j         |||¦  «        }| j        r|                     |¦  «         d S |‚rP   )ÚDocTestFailurer�   r?   )rv   Úoutr’   r”   r•   ÚfailureÚdoctests         €rL   Úreport_failurez>_init_runner_class.<locals>.PytestDoctestRunner.report_failureÉ   sC   ø€ ð -�gÔ,¨T°7¸CÑ@Ô@ˆGØÔ'ð Ø—
’
˜7Ñ#Ô#Ð#Ð#Ð#à�rN   Úexc_infoc                 ó  •— t          |d         t          ¦  «        r|d         ‚t          |d         t          j        ¦  «        rt	          j        d¦  «          ‰j        |||¦  «        }| j        r|                     |¦  «         d S |‚)Né   zQuitting debugger)	Ú
isinstancer   ÚbdbÚBdbQuitr   ÚexitÚUnexpectedExceptionr�   r?   )rv   r˜   r’   r”   rœ   r™   rš   s         €rL   Úreport_unexpected_exceptionzK_init_runner_class.<locals>.PytestDoctestRunner.report_unexpected_exceptionÖ   s�   ø€ õ ˜( 1œ+Õ'7Ñ8Ô8ð "Ø˜q”kÐ!Ý˜( 1œ+¥s¤{Ñ3Ô3ð 3Ý”Ð1Ñ2Ô2Ð2Ø1�gÔ1°$¸ÀÑJÔJˆGØÔ'ð Ø—
’
˜7Ñ#Ô#Ð#Ð#Ð#à�rN   ©NNr   T)r~   r   r€   Ú__doc__r   ÚboolÚintrw   rH   r›   r   r   ÚBaseExceptionÚtypesÚTracebackTyper¤   r‡   )r†   rš   s   @€rL   ÚPytestDoctestRunnerrŒ   ¸   s5  øø€ € € € € ð	ð 	ð :>Ø&*Ø Ø(,ð	;ð 	;àÐ5Ô6ð	;ð ˜d”^ð	;ð ð		;ð
 "&ð	;ð ð	;ð 	;ð 	;ð 	;ð 	;ð 	;ð	ð $ð	ð 'ð		ð
 ð	ð ð	ð 	ð 	ð 	ð 	ð 	ð	ð $ð	ð 'ð		ð
 ˜D Ô/°ÀÔ@SÐSÔTð	ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	rN   r¬   )rš   ÚDebugRunner)r¬   rš   s    @rL   Ú_init_runner_classr®   µ   sL   ø€ Ø€N€N€Nð-ð -ð -ð -ð -ð -ð -˜gÔ1ñ -ô -ð -ð^ ÐrN   Tr�   rŽ   r�   r�   c                 óR   — t           €t          ¦   «         a t          | |||¬¦  «        S )N©r�   rŽ   r�   r�   )rQ   r®   r°   s       rL   Ú_get_runnerr±   ê   s:   € õ ÐÝ)Ñ+Ô+ˆõ ØØØØ/ð	ñ ô ð rN   c                   óî   ‡ — e Zd Zdedddddddd	f
ˆ fd
„Zedddeddddddf
ˆ fd„¦   «         Zdd„Zdd„Zdd„Z	dd„Z
dee         deeef         fˆ fd„Zdeedef         ee         ef         fd„Zˆ xZS )ÚDoctestItemre   rU   z%Union[DoctestTextfile, DoctestModule]Úrunnerr‰   Údtestr“   r/   Nc                 ó  •— t          ¦   «                              ||¦  «         || _        || _        d | _        | j        j        }|                     | d d ¬¦  «        }|| _        |j	        | _
        |                      ¦   «          d S )N)ÚnodeÚfuncÚcls)r…   rw   r´   rµ   Úobjrm   Ú_fixturemanagerÚgetfixtureinfoÚ_fixtureinfoÚnames_closureÚfixturenamesÚ_initrequest)rv   re   rU   r´   rµ   ÚfmÚfixtureinfor†   s          €rL   rw   zDoctestItem.__init__ÿ   s…   ø€ õ 	‰Œ×Ò˜˜vÑ&Ô&Ð&ØˆŒØˆŒ
ð ˆŒØŒ\Ô)ˆØ×'Ò'¨T¸À$Ð'ÑGÔGˆØ'ˆÔØ'Ô5ˆÔØ×ÒÑÔÐÐÐrN   r&   c                óN   •— t          ¦   «                              ||||¬¦  «        S )zThe public named constructor.)re   rU   r´   rµ   )r…   ra   )r¹   rU   re   r´   rµ   r†   s        €rL   ra   zDoctestItem.from_parent  s'   ø€ õ ‰wŒw×"Ò"¨°VÀFÐRWÐ"ÑXÔXÐXrN   c                 ó@   — i | _         t          | d¬¦  «        | _        d S )NT)Ú	_ispytest)Úfuncargsr   Ú_request©rv   s    rL   rÀ   zDoctestItem._initrequest  s!   € Ø+-ˆŒÝ" 4°4Ð8Ñ8Ô8ˆŒˆˆrN   c                 ó  — | j                              ¦   «          t          | j         j        ¬¦  «        }| j                              d¦  «                             ¦   «         D ]
\  }}|||<   Œ| j        j                             |¦  «         d S )N)Ú
getfixtureÚdoctest_namespace)rÇ   Ú_fillfixturesÚdictÚgetfixturevalueÚitemsrµ   rp   Úupdate)rv   rp   re   Úvalues       rL   ÚsetupzDoctestItem.setup#  s…   € ØŒ×#Ò#Ñ%Ô%Ð%Ý ¤Ô =Ð>Ñ>Ô>ˆØœ=×8Ò8Ð9LÑMÔM×SÒSÑUÔUð 	 ð 	 ‰KˆD�%ØˆE�$‰KˆKØŒ
Ô×Ò Ñ&Ô&Ð&Ð&Ð&rN   c                 ó¾   — t          | j        ¦  «         |                      ¦   «          g }| j                             | j        |¬¦  «         |rt          |¦  «        ‚d S )N)r˜   )Ú_check_all_skippedrµ   Ú$_disable_output_capturing_for_darwinr´   Úrunr‚   )rv   rƒ   s     rL   ÚruntestzDoctestItem.runtest*  se   € Ý˜4œ:Ñ&Ô&Ð&Ø×1Ò1Ñ3Ô3Ð3Ø35ˆð 	Œ�Š˜œ
¨ˆÑ1Ô1Ð1Øð 	4Ý)¨(Ñ3Ô3Ð3ð	4ð 	4rN   c                 óT  — t          j        ¦   «         dk    rdS | j        j                             d¦  «        }|rm|                     d¬¦  «         |                     ¦   «         \  }}t          j         	                    |¦  «         t          j
         	                    |¦  «         dS dS )zFDisable output capturing. Otherwise, stdout is lost to doctest (#985).ÚDarwinNÚcapturemanagerT)Úin_)ÚplatformÚsystemr[   ÚpluginmanagerÚ	getpluginÚsuspend_global_captureÚread_global_captureÚsysÚstdoutÚwriteÚstderr)rv   Úcapmanr˜   Úerrs       rL   rÕ   z0DoctestItem._disable_output_capturing_for_darwin4  s£   € åŒ?ÑÔ Ò(Ð(ØˆFØ”Ô*×4Ò4Ð5EÑFÔFˆØð 	"Ø×)Ò)¨dÐ)Ñ3Ô3Ð3Ø×1Ò1Ñ3Ô3‰HˆC�ÝŒJ×Ò˜SÑ!Ô!Ð!ÝŒJ×Ò˜SÑ!Ô!Ð!Ð!Ð!ð		"ð 	"rN   Úexcinfoc                 ó  •‡— dd l }d }t          |j        |j        |j        f¦  «        r	|j        g}n&t          |j        t
          ¦  «        r|j        j        }|€!t          ¦   «                              |¦  «        S g }|D �]û}|j	        }|j
        Š‰j        }‰j        €d }n‰j        |j        z   dz   }t          |¦  «        j        }	t          |||	¦  «        }
t!          ¦   «         }t#          | j                             d¦  «        ¦  «        }|�z|j
        j        €J ‚|j
        j                             d¦  «        }‰j        €J ‚ˆfd„t-          |¦  «        D ¦   «         }|t/          |j        dz
  d¦  «        |j        dz   …         }n>dg}d}|j                             ¦   «         D ]}|                     d	|› d
|› �¦  «         d}Œ t          ||j        ¦  «        r3||                     ||j        |¦  «                             d¦  «        z  }nTt;          j        |j        ¦  «        }|dtA          |j        ¦  «        z  gz  }|d„ tC          j"        |j        Ž D ¦   «         z  }|                     |
|f¦  «         �ŒýtG          |¦  «        S )Nr   rž   r=   Fc                 ó:   •— g | ]\  }}d |‰j         z   dz   |fz  ‘ŒS )z%03d %srž   )Úlineno)rj   ÚiÚxr’   s      €rL   ú
<listcomp>z,DoctestItem.repr_failure.<locals>.<listcomp>f  s?   ø€ ð ð ð Ù=C¸aÀ�I  T¤[¡°1Ñ!4°aÐ 8Ñ8ðð ð rN   é	   z?EXAMPLE LOCATION UNKNOWN, not showing all tests of that examplez>>>z??? ú z...ú
zUNEXPECTED EXCEPTION: %sc                 ó8   — g | ]}|                      d ¦  «        ‘ŒS )rñ   )Ústrip)rj   rí   s     rL   rî   z,DoctestItem.repr_failure.<locals>.<listcomp>z  s/   € ð ð ð Ø&'�A—G’G˜D‘M”Mðð ð rN   )$rš   rŸ   rÑ   r—   r£   r‚   rƒ   r…   Úrepr_failurer”   r’   Úfilenamerë   r4   r~   r   Ú_get_checkerÚ_get_report_choicer[   ro   Ú	docstringÚ
splitlinesÚ	enumerateÚmaxÚsourcer?   Úoutput_differencer•   Úsplitr   Úfrom_exc_inforœ   ÚreprÚ	tracebackÚformat_exceptionrs   )rv   rè   rš   rƒ   rt   r™   r”   rõ   rë   Úmessager|   r�   Úreport_choicer}   Úindentrz   Úinner_excinfor’   r†   s                    @€rL   rô   zDoctestItem.repr_failure@  sæ  øø€ ð 	ˆˆˆð ð 	õ ØŒM˜GÔ2°GÔ4OÐPñ
ô 
ð 	.ð  œ�ˆHˆHÝ˜œÕ'>Ñ?Ô?ð 	.Ø”}Ô-ˆHàÐÝ‘7”7×'Ò'¨Ñ0Ô0Ð0àÐØð )	=ñ )	=ˆGØ”oˆGØ”<ˆDØ”}ˆHØŒ{Ð"Ø��àœ w¤~Ñ5¸Ñ9�Ý˜7‘m”mÔ,ˆGå+¨H°f¸gÑFÔFˆLÝ"‘n”nˆGÝ.¨t¬{×/DÒ/DÀ_Ñ/UÔ/UÑVÔVˆMØÐ!Ø”|Ô-Ð9Ð9Ð9ØœÔ.×9Ò9¸%Ñ@Ô@�à”{Ð.Ð.Ð.ðð ð ð ÝGPÐQVÑGWÔGWðñ ô �ð �c '¤.°1Ñ"4°aÑ8Ô8¸7¼>ÈAÑ;MÐMÔN��ð Vð�ð �Ø#œN×5Ò5Ñ7Ô7ð #ð #�DØ—L’LÐ!7¨Ð!7Ð!7°Ð!7Ð!7Ñ8Ô8Ð8Ø"�F�FÝ˜' 7Ô#9Ñ:Ô:ð 	Ø˜×2Ò2Ø˜Wœ[¨-ñô ç’%˜‘+”+ñ��õ !.Ô ;¸GÔ<LÑ MÔ M�ØÐ4µt¸MÔ<OÑ7PÔ7PÑPÐQÑQ�Øð ð Ý+4Ô+EÀwÔGWÐ+Xðñ ô ñ �ð ×%Ò% |°UÐ&;Ñ<Ô<Ð<Ñ<ÝÐ1Ñ2Ô2Ð2rN   zos.PathLike[str]c                 ó:   — | j         | j        j        d| j        z  fS )Nz[doctest] %s)rZ   rµ   rë   re   rÈ   s    rL   Ú
reportinfozDoctestItem.reportinfo€  s   € ØŒy˜$œ*Ô+¨^¸d¼iÑ-GÐGÐGrN   ©r/   N)r~   r   r€   rH   rw   Úclassmethodra   rÀ   rÒ   r×   rÕ   r   r©   r   r   rô   r   r   r¨   r  r‡   rˆ   s   @rL   r³   r³   þ   s¢  ø€ € € € € ðàðð 8ðð (ð	ð
 !ðð 
ðð ð ð ð ð ð& ð
Yà7ð
Yð ð	
Yð
 (ð
Yð !ð
Yð 
ð
Yð 
Yð 
Yð 
Yð 
Yñ „[ð
Yð9ð 9ð 9ð 9ð'ð 'ð 'ð 'ð4ð 4ð 4ð 4ð	"ð 	"ð 	"ð 	"ð>3à˜}Ô-ð>3ð 
ˆs�LÐ Ô	!ð>3ð >3ð >3ð >3ð >3ð >3ð@H˜E %Ð(:¸CÐ(?Ô"@À(È3Ä-ÐQTÐ"TÔUð Hð Hð Hð Hð Hð Hð Hð HrN   r³   c                  ó¾   — dd l } t          | j        | j        | j        | j        | j        | j        t          ¦   «         t          ¦   «         t          ¦   «         ¬¦	  «	        S )Nr   )	ÚDONT_ACCEPT_TRUE_FOR_1ÚDONT_ACCEPT_BLANKLINEÚNORMALIZE_WHITESPACEr3   ÚIGNORE_EXCEPTION_DETAILÚCOMPARISON_FLAGSÚALLOW_UNICODEÚALLOW_BYTESÚNUMBER)rš   rÍ   r  r  r  r3   r  r  Ú_get_allow_unicode_flagÚ_get_allow_bytes_flagÚ_get_number_flag©rš   s    rL   Ú_get_flag_lookupr  „  sa   € Ø€N€N€NåØ&Ô=Ø%Ô;Ø$Ô9ØÔ!Ø 'Ô ?Ø Ô1Ý-Ñ/Ô/Ý)Ñ+Ô+ÝÑ!Ô!ð
ñ 
ô 
ð 
rN   c                 óp   — |                       d¦  «        }t          ¦   «         }d}|D ]}|||         z  }Œ|S )Nr1   r   )Úgetinir  )r[   Úoptionflags_strÚflag_lookup_tableÚflag_accÚflags        rL   Úget_optionflagsr  ”  sK   € Ø—m’mÐ$9Ñ:Ô:€OÝ(Ñ*Ô*ÐØ€HØð ,ð ,ˆØÐ% dÔ+Ñ+ˆˆØ€OrN   c                 ób   — |                       d¦  «        }|r|                       d¦  «        rd}|S )NrD   ÚusepdbF)Úgetvalue)r[   r�   s     rL   Ú_get_continue_on_failurer#  �  s?   € Ø &§¢Ð0MÑ NÔ NÐØð (ð �?Š?˜8Ñ$Ô$ð 	(Ø"'ÐØÐrN   c                   ó*   — e Zd ZdZdee         fd„ZdS )rW   Nr/   c              #   óø  K  — dd l }| j                             d¦  «        }| j                             |¦  «        }t          | j        ¦  «        }| j        j        }ddi}t          | j        ¦  «        }t          d|t          ¦   «         t          | j        ¦  «        ¬¦  «        } |j        ¦   «         }	|	                     ||||d¦  «        }
|
j        r't                               | |
j        ||
¬¦  «        V — d S d S )Nr   r6   r~   Ú__main__F©rŽ   r�   r�   r�   ©re   r´   rµ   )rš   r[   r  rZ   Ú	read_textrH   re   r  r±   rö   r#  ÚDocTestParserÚget_doctestÚexamplesr³   ra   )rv   rš   ÚencodingÚtextrõ   re   rp   r�   r´   r.   r’   s              rL   r7   zDoctestTextfile.collectª  s  è è € Øˆˆˆð ”;×%Ò%Ð&8Ñ9Ô9ˆØŒy×"Ò" 8Ñ,Ô,ˆÝ�t”y‘>”>ˆØŒyŒ~ˆØ˜ZÐ(ˆå% d¤kÑ2Ô2ˆåØØ#Ý ‘N”NÝ 8¸¼Ñ EÔ Eð	
ñ 
ô 
ˆð '�Ô&Ñ(Ô(ˆØ×!Ò! $¨¨t°X¸qÑAÔAˆØŒ=ð 	Ý×)Ò)Ø˜4œ9¨V¸4ð *ñ ô ð ð ð ð ð ð	ð 	rN   )r~   r   r€   rº   r	   r³   r7   rR   rN   rL   rW   rW   §  s9   € € € € € Ø
€Cð˜ +Ô.ð ð ð ð ð ð rN   rW   r’   r“   c                 óv   ‡— ddl Št          ˆfd„| j        D ¦   «         ¦  «        }|rt          d¦  «         dS dS )zVRaise pytest.skip() if all examples in the given DocTest have the SKIP
    option set.r   Nc              3   óX   •K  — | ]$}|j                              ‰j        d ¦  «        V — Œ%dS )FN)ÚoptionsÚgetÚSKIP)rj   rí   rš   s     €rL   rl   z%_check_all_skipped.<locals>.<genexpr>Ë  s5   øè è € ÐPÐP¸Q�a”i—m’m G¤L°%Ñ8Ô8ÐPÐPÐPÐPÐPÐPrN   z!all tests skipped by +SKIP option)rš   Úallr,  r    )r’   Úall_skippedrš   s     @rL   rÔ   rÔ   Æ  sY   ø€ ð €N€N€NåÐPÐPÐPÐPÀ$Ä-ÐPÑPÔPÑPÔP€KØð 2ÝÐ0Ñ1Ô1Ð1Ð1Ð1ð2ð 2rN   rº   c                 ó(   — t          | dd¦  «        duS )zmReturn if an object is possibly a mock object by checking the
    existence of a highly improbable attribute.Ú1pytest_mock_example_attribute_that_shouldnt_existNr   )rº   s    rL   Ú
_is_mockedr8  Ð  s!   € õ 	�SÐMÈtÑTÔTØð	ðrN   )NNNc               #   ó  ‡K  — t           j        Šddœdt          dt          f         dt          t          t          gt          f                  dt          fˆfd„} | t           _        	 dV — ‰t           _        dS # ‰t           _        w xY w)z€Context manager which replaces ``inspect.unwrap`` with a version
    that's aware of mock objects and doesn't recurse into them.N©Ústopr¸   .r;  r/   c                óÒ   •‡ ‡— 	 |�	|t           u r ‰‰ t           ¬¦  «        S |Š ‰‰ ˆˆ fd„¬¦  «        S # t          $ r'}t          j        d|›d‰ ›d�t          ¦  «         ‚ d }~ww xY w)Nr:  c                 ó8   •— t          | ¦  «        p
 ‰‰¦  «        S rP   )r8  )rº   Ú_stopr¸   s    €€rL   ú<lambda>zF_patch_unwrap_mock_aware.<locals>._mock_aware_unwrap.<locals>.<lambda>æ  s   ø€ µjÀ±o´oÐ6TÈÈÈtÉÌ€ rN   zGot z when unwrapping z.  This is usually caused by a violation of Python's object protocol; see e.g. https://github.com/pytest-dev/pytest/issues/5080)r8  Ú	ExceptionÚwarningsÚwarnr%   )r¸   r;  Úer>  Úreal_unwraps   `  @€rL   Ú_mock_aware_unwrapz4_patch_unwrap_mock_aware.<locals>._mock_aware_unwrapß  sº   øøø€ ð	Øˆ|˜t¥zÐ1Ð1Ø"�{ 4­jÐ9Ñ9Ô9Ð9ØˆEØ�;˜tÐ*TÐ*TÐ*TÐ*TÐ*TÐUÑUÔUÐUøÝð 	ð 	ð 	ÝŒMðC�qð Cð C¨Tð Cð Cð Cõ ñ	ô ð ð øøøøð	øøøs   …5 ¢5 µ
A&¿"A!Á!A&)ÚinspectÚunwrapr   r   r   )rE  rD  s    @rL   Ú_patch_unwrap_mock_awarerH  Ù  s¥   øè è € õ ”.€Kð MQðð ð Ý�s�C�xÔ ðÝ+3µH½c¸UÅC¸ZÔ4HÔ+Iðå	ðð ð ð ð ð ð" (…G„Nð%Øˆˆˆà$�Œˆˆø˜�ŒÐ$Ð$Ð$Ð$s   Á&A8 Á8Bc                   ó&   — e Zd Zdee         fd„ZdS )rV   r/   c              #   óJ  K  — dd l } G d„ d|j        ¦  «        }	 | j        }nH# t          j        $ r6 | j                             d¦  «        rt          d| j        z  ¦  «         n‚ Y nw xY w| j	        j
                             | ¦  «          |¦   «         }t          | j        ¦  «        }t          d|t          ¦   «         t          | j        ¦  «        ¬¦  «        }|                     ||j        ¦  «        D ].}|j        r%t&                               | |j        ||¬¦  «        V — Œ/d S )	Nr   c                   óZ   ‡ — e Zd ZdZˆ fd„Z	 	 dˆ fd„Zej        dk     r	ˆ fd„Zˆ xZ	S ˆ xZ	S )	ú5DoctestModule.collect.<locals>.MockAwareDocTestFinderzÇA hackish doctest finder that overrides stdlib internals to fix a stdlib bug.

            https://github.com/pytest-dev/pytest/issues/3456
            https://bugs.python.org/issue25532
            c                 óÜ   •— t          |t          ¦  «        rt          |d|¦  «        }t          |d¦  «        rt	          j        |¦  «        }t          ¦   «                              ||¦  «        S )a3  Doctest code does not take into account `@property`, this
                is a hackish way to fix it. https://bugs.python.org/issue17446

                Wrapped Doctests will need to be unwrapped so the correct
                line number is returned. This will be reported upstream. #8796
                ÚfgetÚ__wrapped__)rŸ   ÚpropertyÚgetattrÚhasattrrF  rG  r…   Ú_find_lineno)rv   rº   Úsource_linesr†   s      €rL   rS  zBDoctestModule.collect.<locals>.MockAwareDocTestFinder._find_lineno  sm   ø€ õ ˜c¥8Ñ,Ô,ð 4Ý! # v¨sÑ3Ô3�Cå˜3 Ñ.Ô.ð .å!œ.¨Ñ-Ô-�Cõ ‘w”w×+Ò+ØØ ñô ð rN   r/   Nc           
      óÆ   •— t          |¦  «        rd S t          ¦   «         5  t          ¦   «                              |||||||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S rP   )r8  rH  r…   Ú_find)	rv   Útestsrº   re   ÚmodulerT  rp   Úseenr†   s	           €rL   rV  z;DoctestModule.collect.<locals>.MockAwareDocTestFinder._find  s±   ø€ õ ˜c‘?”?ð Ø�FÝ-Ñ/Ô/ð ð å‘G”G—M’MØ˜s D¨&°,ÀÀtñô ð ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ¡(AÁAÁA)é   é   c                 óŠ   •— t          |t          j        ¦  «        r|j        }t	          ¦   «                              ||¦  «        S )a>  `cached_property` objects are never considered a part
                    of the 'current module'. As such they are skipped by doctest.
                    Here we override `_from_module` to check the underlying
                    function instead. https://github.com/python/cpython/issues/107995
                    )rŸ   Ú	functoolsÚcached_propertyr¸   r…   Ú_from_module)rv   rX  Úobjectr†   s      €rL   r_  zBDoctestModule.collect.<locals>.MockAwareDocTestFinder._from_module#  s=   ø€ õ " &­)Ô*CÑDÔDð -Ø!'¤˜õ !™7œ7×/Ò/°¸Ñ?Ô?Ð?rN   r	  )
r~   r   r€   r¦   rS  rV  râ   Úversion_infor_  r‡   rˆ   s   @rL   ÚMockAwareDocTestFinderrL  û  s¥   ø€ € € € € ðð ðð ð ð ð ð(	àð	ð 	ð 	ð 	ð 	ð 	ð Ô 'Ò)Ð)ð
@ð 
@ð 
@ð 
@ð 
@ð 
@ð 
@ð 
@ð 
@ð ���rN   rb  rC   zunable to import module %rFr'  r(  )rš   ÚDocTestFinderrº   r   ÚCollectErrorr[   r"  r    rZ   rm   r»   Úparsefactoriesr  r±   rö   r#  Úfindr~   r,  r³   ra   re   )rv   rš   rb  rX  Úfinderr�   r´   r’   s           rL   r7   zDoctestModule.collectø  sv  è è € Øˆˆˆð5	ð 5	ð 5	ð 5	ð 5	 WÔ%:ñ 5	ô 5	ð 5	ðn	Ø”XˆFˆFøÝÔ%ð 	ð 	ð 	ØŒ{×#Ò#Ð$BÑCÔCð ÝÐ1°D´IÑ=Ñ>Ô>Ð>Ð>àð ?Ð>ð	øøøð 	ŒÔ$×3Ò3°DÑ9Ô9Ð9ð (Ð'Ñ)Ô)ˆÝ% d¤kÑ2Ô2ˆÝØØ#Ý ‘N”NÝ 8¸¼Ñ EÔ Eð	
ñ 
ô 
ˆð —K’K ¨¬Ñ8Ô8ð 	ð 	ˆDØŒ}ð Ý!×-Ò-Ø˜tœy°¸tð .ñ ô ð ð ð øð	ð 	s   ›# £AA(Á'A(N)r~   r   r€   r	   r³   r7   rR   rN   rL   rV   rV   ÷  s;   € € € € € ðT˜ +Ô.ð Tð Tð Tð Tð Tð TrN   rV   c                  óB   ‡— dd l } dd lŠ G ˆfd„d| j        ¦  «        }|S )Nr   c                   óê   •‡ — e Zd Z”                     d”j        ¦  «        Z”                     d”j        ¦  «        Z”                     d”j        ¦  «        Zde	de	de
defˆ ˆfd„Zde	de	de	fd	„Zˆ xZS )
ú2_init_checker_class.<locals>.LiteralsOutputCheckerz(\W|^)[uU]([rR]?[\'\"])z(\W|^)[bB]([rR]?[\'\"])aÍ  
            (?P<number>
              (?P<mantissa>
                (?P<integer1> [+-]?\d*)\.(?P<fraction>\d+)
                |
                (?P<integer2> [+-]?\d+)\.
              )
              (?:
                [Ee]
                (?P<exponent1> [+-]?\d+)
              )?
              |
              (?P<integer3> [+-]?\d+)
              (?:
                [Ee]
                (?P<exponent2> [+-]?\d+)
              )
            )
            Úwantr•   r�   r/   c                 ó  •— t          ¦   «                              |||¦  «        rdS |t          ¦   «         z  }|t          ¦   «         z  }|t	          ¦   «         z  }|s|s|sdS dt
          t                   dt          dt          fˆ	fd„}|r" || j        |¦  «        } || j        |¦  «        }|r" || j        |¦  «        } || j        |¦  «        }|r|  	                    ||¦  «        }t          ¦   «                              |||¦  «        S )NTFÚregexÚtxtr/   c                 ó2   •— ‰                      | d|¦  «        S )Nz\1\2)Úsub)rm  rn  Úres     €rL   Úremove_prefixeszX_init_checker_class.<locals>.LiteralsOutputChecker.check_output.<locals>.remove_prefixes|  s   ø€ Ø—v’v˜e W¨cÑ2Ô2Ð2rN   )
r…   Úcheck_outputr  r  r  r   rH   Ú_unicode_literal_reÚ_bytes_literal_reÚ_remove_unwanted_precision)
rv   rk  r•   r�   Úallow_unicodeÚallow_bytesÚallow_numberrr  r†   rq  s
           €€rL   rs  z?_init_checker_class.<locals>.LiteralsOutputChecker.check_outputq  sI  ø€ Ý‰wŒw×#Ò# D¨#¨{Ñ;Ô;ð Ø�tà'Õ*AÑ*CÔ*CÑCˆMØ%Õ(=Ñ(?Ô(?Ñ?ˆKØ&Õ)9Ñ);Ô);Ñ;ˆLà ð ¨ð ¸\ð Ø�uð3¥w­s¤|ð 3½#ð 3Å#ð 3ð 3ð 3ð 3ð 3ð 3ð ð EØ&� tÔ'?ÀÑFÔF�Ø%�o dÔ&>ÀÑDÔD�àð CØ&� tÔ'=¸tÑDÔD�Ø%�o dÔ&<¸cÑBÔB�àð AØ×5Ò5°d¸CÑ@Ô@�å‘7”7×'Ò'¨¨c°;Ñ?Ô?Ð?rN   c                 óì  — t          | j                             |¦  «        ¦  «        }t          | j                             |¦  «        ¦  «        }t          |¦  «        t          |¦  «        k    r|S d}t	          ||¦  «        D �]o\  }}|                     d¦  «        }|                     d¦  «        }	|	€|                     d¦  «        }	|€dnt          |¦  «        }
|	�|
t          |	¦  «        z  }
t          |                     ¦   «         ¦  «        t          t          |                     ¦   «         ¦  «        d|
 z  ¬¦  «        k    rª|d | 	                    ¦   «         |z   …         |                     ¦   «         z   || 
                    ¦   «         |z   d …         z   }|| 
                    ¦   «         | 	                    ¦   «         z
  | 
                    ¦   «         | 	                    ¦   «         z
  z
  z  }�Œq|S )Nr   ÚfractionÚ	exponent1Ú	exponent2é
   )Úabs)ÚlistÚ
_number_reÚfinditerÚlenÚziprK   r¨   Úfloatr$   ÚstartÚend)rv   rk  r•   ÚwantsÚgotsÚoffsetÚwÚgr{  ÚexponentÚ	precisions              rL   rv  zM_init_checker_class.<locals>.LiteralsOutputChecker._remove_unwanted_precisionŒ  sª  € Ý˜œ×1Ò1°$Ñ7Ô7Ñ8Ô8ˆEÝ˜œ×0Ò0°Ñ5Ô5Ñ6Ô6ˆDÝ�5‰zŒz�S ™YœYÒ&Ð&Ø�
ØˆFÝ˜E 4Ñ(Ô(ð Jñ J‘��1Ø*+¯'ª'°*Ñ*=Ô*=�Ø*+¯'ª'°+Ñ*>Ô*>�ØÐ#Ø Ÿwšw {Ñ3Ô3�HØ!)Ð!1˜A˜Aµs¸8±}´}�	ØÐ'Ø¥ X¡¤Ñ.�IÝ˜Ÿš™œÑ#Ô#¥v­e°A·G²G±I´IÑ.>Ô.>ÀBÈÈ
ÁNÐ'SÑ'SÔ'SÒSÐSð
 Ð0˜aŸgšg™iœi¨&Ñ0Ð0Ô1°A·G²G±I´IÑ=ÀÀAÇEÂEÁGÄGÈfÑDTÐDVÐDVÔ@WÑWð ð ˜aŸeše™gœg¨¯ª©	¬	Ñ1°Q·U²U±W´W¸q¿wºw¹y¼yÑ5HÑIÑI�FùØˆJrN   )r~   r   r€   ÚcompileÚUNICODErt  ru  ÚVERBOSEr�  rH   r¨   r§   rs  rv  r‡   )r†   rq  s   @€rL   ÚLiteralsOutputCheckerrj  S  sâ   øø€ € € € € ð
 !ŸjšjÐ)CÀRÄZÑPÔPÐØŸJšJÐ'AÀ2Ä:ÑNÔNÐØ—Z’Zðð& ŒJñ)
ô 
ˆ
ð.	@ Sð 	@¨sð 	@Àð 	@Èð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð 	@ð6	°3ð 	¸Sð 	ÀSð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	rN   r’  )rš   rq  ÚOutputChecker)rš   r’  rq  s     @rL   Ú_init_checker_classr”  O  s_   ø€ Ø€N€N€NØ€I€I€IðOð Oð Oð Oð Oð Oð O Ô 5ñ Oô Oð Oðb !Ð rN   c                  óH   — t           €t          ¦   «         a t          ¦   «         S )aà  Return a doctest.OutputChecker subclass that supports some
    additional options:

    * ALLOW_UNICODE and ALLOW_BYTES options to ignore u'' and b''
      prefixes (respectively) in string literals. Useful when the same
      doctest should run in Python 2 and Python 3.

    * NUMBER to ignore floating-point differences smaller than the
      precision of the literal number in the doctest.

    An inner class is used to avoid importing "doctest" at the module
    level.
    )r-   r”  rR   rN   rL   rö   rö   §  s   € õ ÐÝ+Ñ-Ô-ˆÝ‰?Œ?ÐrN   c                  ó*   — ddl }  | j        d¦  «        S )z+Register and return the ALLOW_UNICODE flag.r   Nr  ©rš   Úregister_optionflagr  s    rL   r  r  »  s   € à€N€N€Nà&ˆ7Ô& Ñ7Ô7Ð7rN   c                  ó*   — ddl }  | j        d¦  «        S )z)Register and return the ALLOW_BYTES flag.r   Nr  r—  r  s    rL   r  r  Â  s   € à€N€N€Nà&ˆ7Ô& }Ñ5Ô5Ð5rN   c                  ó*   — ddl }  | j        d¦  «        S )z$Register and return the NUMBER flag.r   Nr  r—  r  s    rL   r  r  É  s   € à€N€N€Nà&ˆ7Ô& xÑ0Ô0Ð0rN   Úkeyc           
      óˆ   — ddl }t          |j        t          |j        t
          |j        t          |j        t          di|          S )zÓReturn the actual `doctest` module flag value.

    We want to do it as late as possible to avoid importing `doctest` and all
    its dependencies when parsing options, as it adds overhead and breaks tests.
    r   N)
rš   ÚDOCTEST_REPORT_CHOICE_UDIFFÚREPORT_UDIFFÚDOCTEST_REPORT_CHOICE_CDIFFÚREPORT_CDIFFÚDOCTEST_REPORT_CHOICE_NDIFFÚREPORT_NDIFFÚ(DOCTEST_REPORT_CHOICE_ONLY_FIRST_FAILUREÚREPORT_ONLY_FIRST_FAILUREÚDOCTEST_REPORT_CHOICE_NONE)r›  rš   s     rL   r÷   r÷   Ð  sH   € ð €N€N€Nõ 	$ WÔ%9Ý# WÔ%9Ý# WÔ%9Ý0°'Ô2SÝ" Aðð 
ôð rN   rm   )Úscopec                  ó   — t          ¦   «         S )a€  Fixture that returns a :py:class:`dict` that will be injected into the
    namespace of doctests.

    Usually this fixture is used in conjunction with another ``autouse`` fixture:

    .. code-block:: python

        @pytest.fixture(autouse=True)
        def add_np(doctest_namespace):
            doctest_namespace["np"] = numpy

    For more details: :ref:`doctest_namespace`.
    )rÍ   rR   rN   rL   rË   rË   á  s   € õ ‰6Œ6€MrN   r	  r¥   )r’   r“   r/   N)r/   r,   )er¦   r    Ú
contextlibr   r]  rF  ÚosÚpathlibr   rÜ   râ   r  rª   Útypingr   r   r   r   r	   r
   r   r   r   r   r   r   r   rA  Ú_pytestr   Ú_pytest._code.coder   r   r   Ú_pytest._ior   Ú_pytest.compatr   Ú_pytest.configr   Ú_pytest.config.argparsingr   Ú_pytest.fixturesr   r   Ú_pytest.nodesr   r   Ú_pytest.outcomesr   r    Ú_pytest.pathlibr"   Ú_pytest.pythonr#   Ú_pytest.python_apir$   Ú_pytest.warning_typesr%   rš   r&   r¥  rŸ  r¡  r�  r£  rJ   rQ   r-   Ú__annotations__rM   rS   rc   r§   r_   rb   r`   rs   r@  r‚   r®   r¨   r±   r³   rH   r  r  r#  rW   rÔ   r`  r8  rH  rV   r”  rö   r  r  r  r÷   rË   rR   rN   rL   ú<module>rº     sK  ðà :Ð :Ð :à 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ø €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø €€€Ø 
€
€
€
Ø Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø /Ð /Ð /Ð /Ð /Ð /Ø +Ð +Ð +Ð +Ð +Ð +Ø &Ð &Ð &Ð &Ð &Ð &Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø !Ð !Ð !Ð !Ð !Ð !Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø $Ð $Ð $Ð $Ð $Ð $Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ø !Ð !Ð !Ð !Ð !Ð !Ø &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ø %Ð %Ð %Ð %Ð %Ð %Ø /Ð /Ð /Ð /Ð /Ð /ð ð Ø€N€N€NØÐÐÐÐÐà#Ð Ø%Ð Ø%Ð Ø%Ð Ø+?Ð (ð ØØØØ,ðÐ ð €à9=€ˆx˜Ð4Ô5Ô6Ð =Ð =Ñ =ð/˜Vð /¨ð /ð /ð /ð /ðdð ð ð ðØðàðð ˆeÐ6Ô7Ô8ðð ð ð ðA�tð A ð Að Að Að Að9˜ð 9 dð 9°Ið 9À$ð 9ð 9ð 9ð 9ð&�dð &˜tð &ð &ð &ð &ð
(ð 
(ð 
(ð 
(ð 
(�lñ 
(ô 
(ð 
(ð!ð !ð !ð !ð !˜iñ !ô !ð !ð2˜DÐ!8Ô9ð 2ð 2ð 2ð 2ðl 26Ø"ØØ $ð	ð ØÐ-Ô.ðà�dŒ^ðð ðð ð	ð
 ðð ð ð ð(CHð CHð CHð CHð CH�$ñ CHô CHð CHðL˜$˜s C˜xœ.ð ð ð ð ð ˜Fð  sð ð ð ð ð Vð °ð ð ð ð ðð ð ð ð �fñ ô ð ð>2ð 2ð 2ð 2ð�Fð ˜tð ð ð ð ð ð% )Ð,<Ô"=ð %ð %ð %ñ „ð%ð:Uð Uð Uð Uð U�Fñ Uô Uð UðpU!˜TÐ"9Ô:ð U!ð U!ð U!ð U!ðpð ð ð ð(8 ð 8ð 8ð 8ð 8ð6˜sð 6ð 6ð 6ð 6ð1˜#ð 1ð 1ð 1ð 1ð˜Cð  Cð ð ð ð ð" 	€ˆyÐÑÔð˜4  S œ>ð ð ð ñ Ôðð ð rN   