ó
    [h\q  ã            	       óì  • 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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rS SKrS SKJr  S SKJr  S SKJrJr   " S S\R4                  5      r\ R8                  S 5       rS	 r\" 5       (       a  S
OSrS r S r!\RD                  RG                  S\" 5       5      \RD                  RG                  SSS/5      \RD                  RI                  SS9S 5       5       5       r%S r&\" 5       r'\' GHX  r(\(RR                  S    S   r*S\*;   a>  \(RV                  RY                  \RD                  R[                  \R\                  S95        MZ  \*S:X  a>  \(RV                  RY                  \RD                  R[                  \R\                  S95        Mž  \*S:X  ay  S SK/J0r0  \Rb                  " 5       S    r1\1(       aU  \0" \15      \0" S5      :  a@  \(RV                  RY                  \RD                  R[                  \Rd                  SS95        GM  GM  GM  \(RR                  S    Rg                  S5      S :X  a?  \(RV                  RY                  \RD                  R[                  \R\                  S95        GM~  \*S!:X  aK  \Rh                  " 5       S":w  a6  \(RV                  RY                  \RD                  R[                  S#SS$95        GMÏ  \*S!:X  d  GMØ  S%\Rj                  ;   d  S&\Rj                  ;   d  GMû  \	R                  S':X  d  GM  \	Rl                  SS( S):  d  GM$  \(RV                  RY                  \RD                  R[                  S*5      5        GM[     \RD                  RG                  S\'5      \RD                  RI                  SS9S+ 5       5       r7S, r8S- r9S. r:S/ r;S0 r<S1 r=S2 r>S3 r?S4 r@S5 rA\RD                  R…                  \	R                  S6:H  =(       a    \R†                  " 5       (       + S7S89\RD                  RG                  S9/ \A" 5       Q5      S: 5       5       rD\RD                  R…                  S%\Rj                  ;   S;S89\RD                  R…                  \	R                  S<:H  S=S89S> 5       5       rES? rF\RD                  R…                  \	R                  S6:g  S@S89\RD                  RG                  S\" 5       5      SA 5       5       rGSB rH\" 5       rI\I GHQ  r(\(RR                  S    S   r*\*SC:X  a6  \(RV                  RY                  \RD                  R•                  SD5      5        MR  \*SE:X  a6  \(RV                  RY                  \RD                  R•                  SF5      5        MŽ  \*S:X  a6  \(RV                  RY                  \RD                  R•                  SG5      5        MÊ  \*S!:X  d  MÒ  S%\Rj                  ;   d  S&\Rj                  ;   d  Mô  \	R                  S':X  d  GM  \	Rl                  SS( S):  d  GM  \(RV                  RY                  \RD                  R[                  S*5      5        GMT     \RD                  RG                  S\I5      \RD                  RI                  SHS9SI 5       5       rKSJ rL\RD                  RG                  S\" 5       5      SK 5       rMSL rN\RD                  RG                  S\" 5       5      \RD                  RG                  SMSNSOS04SPSQSR04/5      SS 5       5       rOST rP\RD                  R…                  \	R                  S<:H  SUS89\RD                  RG                  S\" 5       5      \RD                  RG                  SMSNSOS04SPSQSR04/5      SV 5       5       5       rQg)Wé    N)ÚImage)Ú_c_internal_utils)ÚToolToggleBase)Úsubprocess_run_helperÚis_ci_environmentc                   ó2   ^ • \ rS rSrSrU 4S jrS rSrU =r$ )Ú_WaitForStringPopené   zD
A Popen that passes flags that allow triggering KeyboardInterrupt.
c                 óÆ   >• [         R                  S:X  a  [        R                  US'   [        TU ]  " U0 UD0 [        R                  ESSS.E[        R                  SS.D6  g )NÚwin32ÚcreationflagsÚAggÚ0©Ú
MPLBACKENDÚSOURCE_DATE_EPOCHT)ÚenvÚstdoutÚuniversal_newlines)	ÚsysÚplatformÚ
subprocessÚCREATE_NEW_CONSOLEÚsuperÚ__init__ÚosÚenvironÚPIPE)ÚselfÚargsÚkwargsÚ	__class__s      €Úy/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/matplotlib/tests/test_backends_interactive.pyr   Ú_WaitForStringPopen.__init__   s[   ø€ Ü�<‰<˜7Ó"Ü&0×&CÑ&CˆF�?Ñ#Ü‰ÒØð	=Øð	=ð N”2—:‘:ÐM¨UÈÒMÜ—?‘?°tõ		=ó    c                 ó¤   • Sn U R                   R                  S5      nU(       d  [        SU< 35      eX#-  nUR                  U5      (       a  gMN  )z%Read until the terminator is reached.Ú é   z)Subprocess died before emitting expected N)r   ÚreadÚRuntimeErrorÚendswith)r   Ú
terminatorÚbufÚcs       r#   Úwait_forÚ_WaitForStringPopen.wait_for'   sX   € àˆØØ—‘× Ñ  Ó#ˆAÞÜ"Ø?À
¹~ÐNóPð Pà‰HˆCØ�|‰|˜J×'Ñ'Øñ r%   © )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r/   Ú__static_attributes__Ú__classcell__)r"   s   @r#   r	   r	      s   ø† ñõ=÷
ð 
r%   r	   c                  ó
  • [         R                  S:H  =(       a    [        R                  " 5       (       + n [         R                  S:H  =(       a    [        R                  " 5       (       + n/ n/ S Vs/ s H  nU/SUS.4PM     snQS Vs/ s H  nUS/SUS.4PM     snQS VVs/ s H  nS  H  nS	S
/SSU U 304PM     M     snnQS/SS04PS/SS04PS/SS04PS/SS04P GHp  u  pgS nU V	s/ s H+  n	[
        R                  R                  U	5      (       a  M)  U	PM-     n
n	U
(       a!  SR                  SR                  U
5      5      nOÂU(       a%  US   S:X  d  US   R                  S5      (       a  SnO–U (       a  SnOŒUS   S:X  a'  [        R                  R                  S5      (       a  SnO\US   R                  S5      (       aC   SS KnUR                  R!                  5       nUR#                  S5      nUS   S   nU S3U;  a  Sn/ nU(       a3  UR'                  [(        R*                  R-                  SU SU 3S 95        OâUS   R                  S5      (       aA  [         R                  S!:X  a-  UR'                  [(        R*                  R/                  S"S 95        OˆUS   S:X  a  S[        R                  ;   d  S#[        R                  ;   aW  [         R                  S!:X  aC  [         R0                  S S$ S%:  a,  UR'                  [(        R*                  R/                  S&S 95        UR'                  0 UES'S(R                  U5      0EU45        GMs     U$ s  snf s  snf s  snnf s  sn	f ! [$         a    / n GN„f = f))NÚlinux)ÚPyQt6ÚPySide6ÚPyQt5ÚPySide2Úqtagg)r   ÚQT_APIÚ	cairocffiÚqtcairo)é   é   )ÚaggÚcairorF   Úgir   ÚgtkÚtkinterÚtkaggÚwxÚwxaggzmatplotlib.backends._macosxÚmacosxz{} cannot be importedú, z$DISPLAY is unsetú'$DISPLAY and $WAYLAND_DISPLAY are unsetÚTF_BUILDzmacosx backend fails on Azurer   ÚGtkrC   z.0zno usable GTK bindingsz	Skipping z	 because ©ÚreasonÚdarwinzgithub #16849ÚGITHUB_ACTIONé   ©rC   é   ú%Tk version mismatch on Azure macOS CIÚBACKEND_DEPSÚ,)r   r   r   Údisplay_is_validÚxdisplay_is_validÚ	importlibÚutilÚ	find_specÚformatÚjoinÚ
startswithr   r   ÚgetrG   Ú
RepositoryÚget_defaultÚenumerate_versionsÚImportErrorÚappendÚpytestÚmarkÚskipÚxfailÚversion_info)Ú_is_linux_and_display_invalidÚ_is_linux_and_xdisplay_invalidÚenvsÚqt_apiÚversionÚrendererÚdepsr   rS   ÚdepÚmissingrG   Úgi_repoÚavailable_gtk_versionsÚmarkss                  r#   Ú#_get_available_interactive_backendsr{   8   s±  € ä%(§\¡\°WÑ%<÷ &NÜ):×)KÒ)KÓ)MÔ%Mð "ä&)§l¡l°gÑ&=÷ 'PÜ*;×*MÒ*MÓ*OÔ&Oð #à€Dðñ EóFâD�&ð ˆxØ%°Ñ8ó:áDñFðñ EóFâD�&ð ˜Ð$Ø'°6Ñ:ó<áDñFð	ñ $ôFÚ#�'Ô4D¨ð ˜ˆ °°W°I¸h¸ZÐ/HÐ IÓJÙ4Dñ KÙ#òFðð ˆ[˜<¨Ð1Ð2ðð ˆV�l DÐ)Ð*ðð ˆV�l GÐ,Ð-ðð ,Ð,¨|¸XÐ.FÐGô‰	ˆð ˆÙ"&ÓL¢$˜3¬i¯n©n×.FÑ.FÀs×.K—3¡$ˆÐLÞØ,×3Ñ3°D·I±I¸gÓ4FÓG‰FÞ+Ø�LÑ! WÓ,à�|Ñ$×/Ñ/°×5Ñ5Ø(‰FÞ*Ø>‰FØ�Ñ (Ó*¬r¯z©z¯~©~¸j×/IÑ/IØ4‰FØ�Ñ×)Ñ)¨%×0Ñ0ð	KÛð Ÿ-™-×3Ñ3Ó5�Ø)0×)CÑ)CÀEÓ)JÐ&Ø˜,Ñ'¨Ñ*ˆGØ�˜"ˆ~Ð%;Ó;Ø1�ØˆÞØ�L‰LœŸ™×)Ñ)°9¸S¸EÀÈ6È(Ð1SÐ)ÐTÕUØ�Ñ×)Ñ)¨$×/Ñ/´C·L±LÀHÓ4Là�L‰LœŸ™×*Ñ*°/Ð*ÐBÕCØ�,Ñ 7Ó*ØœRŸZ™ZÓ'¨?¼b¿j¹jÓ+HÜ�l‰l˜hÓ&Ü×Ñ˜r Ð" WÓ,à�L‰LÜ—‘×!Ñ!Ð)PÐ!ÐQôSà�‰Ð<˜Ð<˜^¨S¯X©X°d«^Ñ<¸eÐD×Eñmðn €KùòmFùòFùóFùò Møô ó ,ð *,Ó&ð	,ús0   Á0MÂ	M"Â$!M'Ã2(M-ÄM-ÇM2Í2NÎNc                  óÄ   • [        5        V Vs/ s HC  u  p[        R                  " 0 U E/ UQSR                  S U R	                  5        5       5      S9PME     snn $ s  snn f )NÚ-c              3   ó4   #   • U  H  u  pU S U 3v •  M     g7f)Ú=Nr1   )Ú.0ÚkÚvs      r#   Ú	<genexpr>Ú5_get_testable_interactive_backends.<locals>.<genexpr>|   s   é € Ð$HºK±D°A¨ s¨!¨A¨3¥ZºKùs   ‚)rz   Úid)r{   rj   Úparamrb   Úitems)r   rz   s     r#   Ú"_get_testable_interactive_backendsrˆ   y   sa   € ô BÔCôEâC‘
�ô �LŠL˜˜C˜¨¨%¨ØŸH™HÑ$H¸C¿I¹I¼KÓ$HÓHôJáCòEð Eùó Es   ŽA
Aéx   é   c                 óà  ^• [         R                  " 5        n[        R                  " SS5      n[        R
                  R                  US5      mUR                  T5         " U4S jS[        5      nU R                  R                  R                  nU R                  R                  R                  nUR                  SU5        UR                  SS5        S S S 5        g ! , (       d  f       g = f)NÚLA)é   r�   ztest_la_icon.pngc                   ó    >• \ rS rSr Y rSrSrg)Ú5_test_toolbar_button_la_mode_icon.<locals>.CustomTooléŒ   r'   r1   N)r2   r3   r4   r5   ÚimageÚdescriptionr7   )Útmp_img_paths   €r#   Ú
CustomToolr�   Œ   s   ø† Ù ˆEØ‹Kr%   r”   ÚtestÚgroup)ÚtempfileÚTemporaryDirectoryr   Únewr   Úpathrb   Úsaver   ÚcanvasÚmanagerÚtoolmanagerÚtoolbarÚadd_tool)ÚfigÚtempdirÚimgr”   rž   rŸ   r“   s         @r#   Ú!_test_toolbar_button_la_mode_iconr¤   „   s¨   ø€ ô 
×	$Ò	$Ô	&¨'Ü�iŠi˜˜hÓ'ˆÜ—w‘w—|‘| GÐ-?Ó@ˆØ�‰�Ô÷	œô 	ð —j‘j×(Ñ(×4Ñ4ˆØ—*‘*×$Ñ$×,Ñ,ˆØ×Ñ˜V ZÔ0Ø×Ñ˜ Ô)÷ 
'×	&Ö	&ús   —B?CÃ
C-c                  óÐ  ^^^• SS K n SS KnSS KnSS KnSS KnSS KmSSKJm  SSKJn  TR                  R                  SSS.5        TR                  R                  UR                  " UR                  S   5      5        TR                  S   R                  5       nUR                  S5      (       aª  UR                  S	5      (       d”  TR!                  5       nTR#                  U5        US
:w  a0  UR$                  " [&        5         TR(                  " S
SS9  S S S 5        UU4S jnU R*                  R-                  S5      (       a  U" US S S-   5        U" S5        TR(                  " USS9  TR/                  5       u  py[1        UR2                  5      R4                  SU 3:X  d   eUR2                  R6                  R9                  5       S:X  d   eTR                  S   S:X  a  [;        U5        U	R=                  SS/SS/5        UR2                  R>                  (       a)  UR2                  R>                  RA                  S SSSS5        UR2                  RC                  S5      mTRE                  U" SUR2                  S5      RF                  5        UR2                  RI                  SU4S j5        UR2                  RI                  S[J        5        URM                  5       n
URO                  U
SS 9  TRQ                  5         TRS                  S!5        URM                  5       nURO                  USS 9  U
RU                  5       URU                  5       :X  d   eg ! , (       d  f       GNG= f)"Nr   ©Úpyplot)ÚKeyEventFr(   ©zwebagg.open_in_browserzwebagg.port_retriesÚbackendrE   )rH   ÚwebrJ   T©Úforcec                 óº   >• TR                   " U SS9  TR                  5       n[        UR                  5      R                  SU  3:X  d   eTR                  S5        g )NTr¬   úmatplotlib.backends.backend_Úall)ÚuseÚfigureÚtyperœ   r3   Úclose)Úalt_backendr¡   ÚmplÚplts     €€r#   Úcheck_alt_backendÚ1_test_interactive_impl.<locals>.check_alt_backend¿   sV   ø€ Ø�GŠG�K tÒ,Ø—*‘*“,ˆCÜ˜Ÿ™Ó$×/Ñ/Ø2°;°-Ð@óAð Bð Aà�I‰I�eÕr%   rA   éýÿÿÿrF   Úsvgr¯   zFigure 1rŸ   rž   rV   rC   g      ð?g       @Úkey_press_eventÚqÚ
draw_eventc                 ó$   >• TR                  5       $ ©N©Ústart)ÚeventÚtimers    €r#   Ú<lambda>Ú(_test_interactive_impl.<locals>.<lambda>Û   s   ø€ °u·{±{´}r%   Úclose_eventÚpng)ra   ç      à?)+Úimportlib.utilÚioÚjsonr   rj   Ú
matplotlibr§   Úmatplotlib.backend_basesr¨   ÚrcParamsÚupdateÚloadsÚargvÚlowerr+   rc   r²   r´   Úraisesrh   r±   r_   r`   Úsubplotsr³   rœ   r3   r�   Úget_window_titler¤   ÚplotrŸ   Údraw_rubberbandÚ	new_timerÚadd_callbackÚ_processÚmpl_connectÚprintÚBytesIOÚsavefigÚshowÚpauseÚgetvalue)r^   rË   rÌ   r   rj   r¨   rª   r¡   r¸   ÚaxÚresultÚresult_afterr¶   r·   rÄ   s               @@@r#   Ú_test_interactive_implræ   ›   s�  ú€ ÛÛÛÛããÝ(Ý1Ø‡L�L×ÑØ"'Ø ñô ð
 ‡L�L×Ñ˜Ÿ
š
 3§8¡8¨A¡;Ó/Ô0Ø�l‰l˜9Ñ%×+Ñ+Ó-€Gà×Ñ˜×Ñ w×'9Ñ'9¸.×'IÑ'Ià�j‰j‹lˆØ�	‰	�#Œð �gÓØ—’œ{Õ+Ø—’˜ tÒ,÷ ,ö	ð �>‰>×#Ñ# K×0Ñ0Ù˜g c r˜l¨WÑ4Ô5Ù˜%Ô Ø‡G‚GˆG˜4Ò à�l‰l‹n�G€CÜ�—
‘
Ó×&Ñ&Ð,HÈÈ	Ð*RÓRÐRÐRà�:‰:×Ñ×.Ñ.Ó0°JÓ>Ð>Ð>à
‡|�|�IÑ -Ó/ä)¨#Ô.à‡G�GˆQ�ˆF�Q˜�FÔØ
‡z�z××Ø�
‰
×Ñ×*Ñ*¨4°°Q¸¸AÔ>à�J‰J× Ñ  Ó$€EØ	×Ñ‘xÐ 1°3·:±:¸sÓC×LÑLÔMà‡J�J×Ñ˜<Ô)DÔEØ‡J�J×Ñ˜=¬%Ô0à�Z‰Z‹\€FØ‡K�K�˜u€KÑ%à‡H�H„Jð ‡I�Iˆc„Nð —:‘:“<€LØ‡K�K� U€KÑ+à�?‰?Ó × 5Ñ 5Ó 7Ó7Ð7Ñ7÷_ ,Ö+ús   ÄMÍ
M%r   rŸ   Útoolbar2rž   rC   )Úrerunsc                 ó  • U S   S:X  a  US:X  a  [         R                  " S5        U S   S:X  a  [         R                  " S5        U S   S:X  a  US:X  a  [         R                  " S5         [        [        [        R
                  " S	U05      [        U S
9nWR                  R                  S5      S:X  d   eg ! [        R                   a6  n[         R                  " S[        UR                  5      -   5         S nANgS nAff = f)Nr   rM   rž   z*toolmanager is not implemented for macosx.rK   ú2wx backend is deprecated; tests failed on appveyorrL   zMTemporarily deactivated: show() changes figure height and thus fails the testrŸ   ©ÚtimeoutÚ	extra_envz,Subprocess failed to test intended behavior
Ú
CloseEventr(   )rj   rl   Ú_run_helperræ   rÌ   ÚdumpsÚ_test_timeoutr   ÚCalledProcessErrorÚfailÚstrÚstderrr   Úcount)r   rŸ   ÚprocÚerrs       r#   Útest_interactive_backendrù   î   sé   € ð ˆ<Ñ˜HÓ$Ø�mÓ#Ü�KŠKÐDÔEØ
ˆ<Ñ˜DÓ Ü�ŠÐHÔIØ
ˆ<Ñ˜GÓ#¨°=Ó(@Ü�Šð .ô 	/ð
ÜÜ"Ü�JŠJ˜	 7Ð+Ó,Ü!Øñ	
ˆð �;‰;×Ñ˜\Ó*¨aÓ/Ð/Ñ/øô	 ×(Ñ(ó Ü�ŠØ;Ü�#—*‘*‹oñ÷	ñ 	ûðús   Á+*B7 Â7DÃ,C<Ã<Dc                  óš  • SSK Jn   SS KnSSKJn  UR                  R                  SSS.5        UR                  5       u  p4UR                  S5        U " 5       R                  UR                  / SQ5      nUR                  5         UR                  R                  S	[        5        U " 5       R                  UR                  R                  5      nUR                  S5        UR                  5         UR                  5         UR                  S
   R!                  5       R#                  S5      (       a  UR                  R%                  5         g g )Nr   )ÚThreadPoolExecutorr¦   Fr(   r©   rÉ   )r(   rC   é   rÇ   rª   rK   )Úconcurrent.futuresrû   rÍ   r§   rÏ   rÐ   rÕ   rá   Úsubmitr×   rä   rœ   rÜ   rÝ   Údrawr´   rÓ   rc   Úflush_events)rû   r¶   r·   r¡   rã   Úfutures         r#   Ú_test_thread_implr    sè   € Ý5ãÝ(à‡L�L×ÑØ"'Ø ñô ð �l‰l‹n�G€Cà‡I�Iˆc„NáÓ!×(Ñ(¨¯©²)Ó<€FØ
‡M�M„Oà‡J�J×Ñ˜=¬%Ô0ÙÓ!×(Ñ(¨¯©¯©Ó9€FØ‡I�Iˆc„NØ
‡M�M„OØ‡I�I„KØ
‡|�|�IÑ×$Ñ$Ó&×1Ñ1°$×7Ñ7à�
‰
×ÑÕ!ð 8r%   r   rF   )rÔ   rK   rM   )Úparsez10.16T)rÔ   Ústrictr@   r>   rJ   ÚCPythonzZPyPy does not support Tkinter threading: https://foss.heptapod.net/pypy/pypy/-/issues/1929)rS   r  rP   rU   rT   rV   rW   rY   c                 ól   • [        [        [        U S9nUR                  R	                  S5      S:X  d   eg )Nrë   rî   r(   )rï   r  rñ   r   rö   ©r   r÷   s     r#   Útest_interactive_thread_safetyr  K  s0   € ô Ô(´-È3ÑO€DØ�;‰;×Ñ˜\Ó*¨aÓ/Ð/Ñ/r%   c                  ó>  • SS K n SS KJn  U R                  R	                  S5      n[        U[        5      (       a   eUR                  b   eUR                  S5        UR                  c   eU R                  R	                  S5      n[        U[        5      (       d   eg )Nr   rª   é   )	rÍ   Úmatplotlib.pyplotr§   rÏ   Ú_getÚ
isinstancerô   Ú_backend_modr×   )rÍ   r·   Úbks      r#   Ú&_impl_test_lazy_auto_backend_selectionr  R  s‰   € ÛÝ#à	×	Ñ	×	!Ñ	! )Ó	,€BÜ˜"œc×"Ñ"Ð"Ð"Ø×ÑÑ#Ð#Ð#à‡H�HˆQ„KØ×ÑÑ'Ð'Ð'Ø	×	Ñ	×	!Ñ	! )Ó	,€BÜ�bœ#×ÑÐÑr%   c                  ó(   • [        [        [        S9  g ©N©rì   )rï   r  rñ   r1   r%   r#   Ú test_lazy_auto_backend_selectionr  `  s   € ÜÔ6Ü%ó'r%   c                  ó¢   • SS K n SS KnSUR                  ;  d   eSUR                  ;  d   eSUR                  ;   d  SUR                  ;   d   eg g ©Nr   r;   Úpyside6r=   Úpyside2)Ú"matplotlib.backends.backend_qt5aggr   Úmodules©rÍ   r   s     r#   Ú_implqt5aggr  e  sO   € Û-Ûà˜#Ÿ+™+Ó%Ð%Ð%Ø˜CŸK™KÓ'Ð'Ð'Ø�c—k‘kÓ! Y°#·+±+Ó%=Ð=Ð=Ð%=Ð!r%   c                  ó¢   • SS K n SS KnSUR                  ;  d   eSUR                  ;  d   eSUR                  ;   d  SUR                  ;   d   eg g r  )Ú$matplotlib.backends.backend_qt5cairor   r  r  s     r#   Ú
_implcairor  n  sO   € Û/Ûà˜#Ÿ+™+Ó%Ð%Ð%Ø˜CŸK™KÓ'Ð'Ð'Ø�c—k‘kÓ! Y°#·+±+Ó%=Ð=Ð=Ð%=Ð!r%   c                  ó¢   • SS K n SS KnSUR                  ;  d   eSUR                  ;  d   eSUR                  ;   d  SUR                  ;   d   eg g r  )Úmatplotlib.backends.backend_qt5r   r  r  s     r#   Ú	_implcorer"  w  sO   € Û*Ûà˜#Ÿ+™+Ó%Ð%Ð%Ø˜CŸK™KÓ'Ð'Ð'Ø�c—k‘kÓ! Y°#·+±+Ó%=Ð=Ð=Ð%=Ð!r%   c                  óü  • S V s/ s H'  n [         R                  R                  U 5      c  M%  U PM)     nn S V s/ s H'  n [         R                  R                  U 5      c  M%  U PM)     nn [        U5      S:X  d  [        U5      S:X  a  [        R
                  " S5        [        [        [        S9  [         R                  R                  S5      b  [        [        [        S9  [        [        [        S9  g s  sn f s  sn f )N)r=   r  )r;   r  r   úneed both QT6 and QT5 bindingsr  Úpycairo)r^   r_   r`   Úlenrj   rl   rï   r  rñ   r  r"  )rv   Úqt5_bindingsÚqt6_bindingss      r#   Útest_qt5backends_uses_qt5r)  €  sÍ   € á+óÚ+�Ü�>‰>×#Ñ# CÓ(÷ 	Ñ+ð ð ñ
 ,óÚ+�Ü�>‰>×#Ñ# CÓ(÷ 	Ñ+ð ð ô ˆ<Ó˜AÓ¤ \Ó!2°aÓ!7Ü�ŠÐ4Ô5Ü”¤]Ò3Ü‡~�~×Ñ 	Ó*Ñ6Ü”J¬Ò6Ü”	¤=Ó1ùòùòs   …$C4­C4¹$C9Á!C9c                  ó   • SS K n S U R                  S'   S U R                  S'   S U R                  S'   S U R                  S'   SS KJn  [        R
                  " [        SS9   UR                  S5        S S S 5        [        R
                  " [        S	S9   UR                  S
5        S S S 5        g ! , (       d  f       NB= f! , (       d  f       g = f)Nr   r;   r=   r>   r<   z(Failed to import any of the following Qt)Úmatchr?   z^(?:(?!(PySide6|PyQt6)).)*$Úqt5agg)r   r  r  r§   rj   rÔ   rh   Úswitch_backend)r   r·   s     r#   Ú_impl_missingr.  ‘  sŸ   € Ûà€C‡K�K�ÑØ€C‡K�K�ÑØ!€C‡K�K�	ÑØ!€C‡K�K�	Ñå#Ü	�Š”{Ð*TÓ	UØ×Ñ˜7Ô#÷ 
Vô 
�Š”{Ð*GÓ	HØ×Ñ˜8Ô$÷ 
IÐ	H÷ 
VÕ	Uú÷ 
IÕ	Hús   Á B.ÂB?Â.
B<Â?
Cc                  ó(   • [        [        [        S9  g r  )rï   r.  rñ   r1   r%   r#   Útest_qt_missingr0  ¡  s   € Ü”¤}Ó5r%   c                  óV  • SS K n SS KnSS KnUR                  u  p4nU R                  " U S35        U R                  " U S35      nSS KnU R                  " U S35      nUR                  S/5      n	UR                  SS[        S9  UR                  R                  R                  5         g )Nr   z.QtCorez
.QtWidgetszmpl testingÚerrorz.*Mixing Qt major.*)ÚmessageÚcategory)r^   r   ÚwarningsrÒ   Úimport_moduleÚmatplotlib.backends.backend_qtÚQApplicationÚfilterwarningsÚUserWarningÚbackendsÚ
backend_qtÚ_create_qApp)
r^   r   r5  Ú_Úhost_bindingÚmpl_bindingÚmpl_binding_qwidgetsrÍ   Úhost_qwidgetsÚhost_apps
             r#   Ú_impl_test_cross_Qt_importsrD  ¥  s¥   € ÛÛÛà#&§8¡8Ñ €A�[à×Ò˜{˜m¨7Ð3Ô4Ø$×2Ò2°k°]À*Ð3MÓNÐÛ)Ø×+Ò+¨|¨n¸JÐ,GÓH€Mà×)Ñ)¨=¨/Ó:€HØ×Ñ˜GÐ-CÜ%0ð ñ 2à×Ñ×"Ñ"×/Ñ/Õ1r%   c               #   óÞ  #   • S V s/ s H'  n [         R                  R                  U 5      c  M%  U PM)     nn S V s/ s H'  n [         R                  R                  U 5      c  M%  U PM)     nn [        U5      S:X  d  [        U5      S:X  a7  [        R
                  " S S [        R                  R                  S5      /S9v •  g U H  nU H  nX4/XC/4 S h  v•N   M     M     g s  sn f s  sn f  N7f)N)r=   r>   )r;   r<   r   r$  )rz   )r^   r_   r`   r&  rj   r†   rk   rl   )rv   r'  r(  Úqt5Úqt6s        r#   Úqt5_and_qt6_pairsrH  ·  së   é € á+óÚ+�Ü�>‰>×#Ñ# CÓ(÷ 	Ñ+ð ð ñ
 ,óÚ+�Ü�>‰>×#Ñ# CÓ(÷ 	Ñ+ð ð ô ˆ<Ó˜AÓ¤ \Ó!2°aÓ!7Ü�lŠl˜4 Ü"(§+¡+×"2Ñ"2Ð3SÓ"TÐ!UñWò 	WàãˆÛˆCØ˜
 S JÐ/×/Ò/ó  ò ùòùòñ 0ùs2   ‚C-‡$C!¯C!µC-»$C&Á#C&Á)A*C-ÃC+ÃC-r:   rO   rR   z	host, mplc                 ó®   •  [        [        X[        S9nUR                  nSU;   d   eg ! [        R
                   a  nUR                  n S nAN.S nAff = f)Nr  z2Mixing Qt major versions may not work as expected.)rï   rD  rñ   rõ   r   rò   )Úhostr¶   r÷   rõ   Úexs        r#   Útest_cross_Qt_importsrL  Ê  sU   € ð
	ÜÔ6¸Ü#0ñ2ˆð —‘ˆØ?À6ÓIÐIÑIøô ×(Ñ(ó ð —‘�ûð	ús   ‚* ªA¾AÁAz,this test fails an azure for unknown reasonsr   zCannot send SIGINT on Windows.c                  ó®  • [         R                  " S5        [        R                  " [        R
                  S[        R                  " [        5      S-   S/0 [        R                  ESSS.ES9n S	[        R                  S
    S[        R                  S    3n[        R                  " 5       [        -   n   U R!                  5       nUb   e["        R$                  R'                  U5      n UR/                  5         U R1                  [2        R4                  5        U R7                  [        S9S:X  d   e U R!                  5       c  U R9                  5         g g ! ["        R(                  R*                   a5    [        R                  " 5       U:”  a  [         R,                  " S5         O Mõ  f = fMú  ! U R!                  5       c  U R9                  5         f f = f)NÚtornadoú-cz
_test_interactive_impl()z{}Úwebaggr   r   ©r   zhttp://zwebagg.addressÚ:zwebagg.portz'Failed to connect to the webagg server.r  r   )rj   Úimportorskipr   ÚPopenr   Ú
executableÚinspectÚ	getsourceræ   r   r   r¶   rÏ   ÚtimeÚperf_counterrñ   ÚpollÚurllibÚrequestÚurlopenr2  ÚURLErrorró   r´   Úsend_signalÚsignalÚSIGINTÚwaitÚkill)r÷   Úurlrì   ÚretcodeÚconns        r#   Útest_webaggrg  Ü  s…  € ô ×Ò˜	Ô"Ü×ÒÜ	�‰˜Ü	×	Ò	Ô1Ó	2Ø'ñ
(Ø)-ð	/ð MŒr�z‰zÐL¨ÈÒLñ	N€Dð
 ”C—L‘LÐ!1Ñ2Ð3°1´S·\±\À-Ñ5PÐ4QÐ
R€CÜ×ÒÓ!¤MÑ1€GðØð
ØŸ)™)›+�à‘Ð&�Ü—~‘~×-Ñ-¨cÓ2�Øð 	�
‰
ŒØ×ÑœŸ™Ô'Ø�y‰y¤ˆyÐ/°1Ó4Ð4Ñ4à�9‰9‹;ÑØ�I‰I�Kð øô —<‘<×(Ñ(ó Ü×$Ò$Ó&¨Ó0Ü—K’KÐ IÖJâð	úñ øð  �9‰9‹;ÑØ�I‰I�Kð ús2   Â5F0 Â74E Ã+A	F0 ÅAF+Æ%F0 Æ*F+Æ+F0 Æ0$Gc                  ó0  • SS K n SS KnUR                  SS  u  p#UR                  S5      nU R                  R                  SS 5        U R                  R                  SS 5        U H  nXAR                  ;  a  M   e   SS KJn  UR                  5       S:X  d   eU H  nXAR                  ;  a  M   e   U H*  n[        R                  " U5        XAR                  ;   a  M*   e    UR                  U5        UR                  " S5        g ! [         a     g f = f)Nr   r(   r[   ÚDISPLAYÚWAYLAND_DISPLAYrE   )r   r   rÒ   Úsplitr   Úpopr  r  r§   Úget_backendr^   r6  r-  Úexitrh   )r   r   rª   ru   rv   r·   s         r#   Ú_lazy_headlessro  ý  sù   € ÛÛà—H‘H˜Q˜R�L�M€GØ�:‰:�c‹?€Dð ‡J�J‡N�N�9˜dÔ#Ø‡J�J‡N�NÐ$ dÔ+ÛˆØŸ+™+Õ%Ð%Ð%ñ õ $Ø�?‰?Ó Ó%Ð%Ð%ÛˆØŸ+™+Õ%Ð%Ð%ñ ó ˆÜ×Ò Ô$Ø—k‘kÕ!Ð!Ð!ñ ð
Ø×Ñ˜7Ô#ð 	�Š��øô ó Ùðús   Ã$D Ä
DÄDzthis a linux-only testc           
      óx   • [        [        U R                  S5      U R                  S5      [        0 U ESSS.ES9ng )Nr   rZ   r'   )ri  rj  rë   )rï   ro  rl  rñ   r  s     r#   Útest_lazy_linux_headlessrq    s:   € ô ÜØ�‰�Ó˜sŸw™w ~Ó6ÜØ?�SÐ? R¸BÒ?ñ	�Dr%   c                  óä  • SS K Jn   U R                  5       u  pUR                  SS/SS/SS9u  nU R	                  SS9  U R                  S5        UR                  R                  S	[        5        UR                  R                  UR                  5      nUR                  U5        UR                  R                  UR                  5        [        S
5       H†  nUR                  R                  U5        UR                  SS/SS/5      u  nUR                  U5        UR                  R                  UR                  5        UR                  R                  5         Mˆ     U R                  S5        g )Nr   r(   rV   T)ÚanimatedF)Úblockg333333Ó?r¾   é
   çš™™™™™¹?)r  r§   rÕ   r×   rà   rá   rœ   rÜ   rÝ   Úcopy_from_bboxÚbboxÚdraw_artistÚblitÚrangeÚrestore_regionr   )r·   r¡   rã   ÚlnÚbgÚjs         r#   Ú_test_number_of_draws_scriptr€  )  s  € Ý#à�l‰l‹n�G€Cð �'‰'�1�a�&˜1˜a˜&¨4ˆ'Ð
0�C€Bð ‡H�H�5€HÑØ‡I�Iˆc„Nà‡J�J×Ñ˜<¬Ô/ð 
�‰×	"Ñ	" 3§8¡8Ó	,€Bà‡N�N�2Ôà‡J�J‡O�O�C—H‘HÔä�2ŽYˆà�
‰
×!Ñ! "Ô%ð �g‰g�q˜!�f˜q !˜fÓ%‰ˆà
�‰�rÔà�
‰
�‰˜Ÿ™Ô!à�
‰
×ÑÖ!ñ ð ‡I�Iˆc…Nr%   Ú	gtk3cairoz#gtk3cairo does not support blittingÚ	gtk4cairoz#gtk4cairo does not support blittingzwx does not support blittingrD   c                 ó„   • [        [        [        U S9nUR                  R	                  S5      nSUs=:  a  S:  d   e   eg )Nrë   Ú	DrawEventr   r
  )rï   r€  rñ   r   rö   )r   r÷   Úndrawss      r#   Útest_blitting_eventsr†  j  sA   € ô Ü$¬mÀsñL€Dð �[‰[×Ñ˜{Ó+€FØˆv�>˜‹>Ð‰>Ð‰>r%   c                  ó’  • SS K n SSKJn  SS KJn  U R
                  " S5      (       a  SOSnUR                  5       nUR                  U5        UR                  R                  S5      nU" 5       nUR                  U5        UR                  5         UR                  U5        UR                  5         UR                  S:”  d   eSUl        SUl        UR                  5         UR                  U5        UR                  S:X  d   eUR                  5         UR                  U5        UR                  S:X  d   eUR                  S	5        g )
Nr   )ÚMockÚCIrV   rÉ   rv  r(   Tr°   )r   Úunittest.mockrˆ  r  r§   Úgetenvr²   rá   rœ   rÙ   rÚ   rÂ   ÚstopÚ
call_countÚsingle_shotr´   )r   rˆ  r·   Ú
pause_timer¡   rÄ   Úmocks          r#   Ú_impl_test_interactive_timersr‘  x  sÿ   € ó
 Ý"Ý#ð —i’i —o‘o‘¨3€JØ
�*‰*‹,€CØ‡I�IˆjÔØ�J‰J× Ñ  Ó%€EÙ‹6€DØ	×Ñ�tÔØ	‡K�K„MØ‡I�IˆjÔØ	‡J�J„LØ�?‰?˜QÓÐÐð €D„OØ€EÔØ	‡K�K„MØ‡I�IˆjÔØ�?‰?˜aÓÐÐð 
‡K�K„MØ‡I�IˆjÔØ�?‰?˜aÓÐÐØ‡I�IˆeÕr%   c                 óÜ   • U S   S:X  a1  [         R                  " S5      (       a  [        R                  " S5        U S   S:X  a  [        R                  " S5        [	        [
        [        U S9  g )Nr   r�  r‰  z)gtk3cairo timers do not work in remote CIrK   rê   rë   )r   r‹  rj   rl   rï   r‘  rñ   rQ  s    r#   Útest_interactive_timersr“  ›  sR   € à
ˆ<Ñ˜KÓ'¬B¯IªI°d¯O©OÜ�ŠÐ?Ô@Ø
ˆ<Ñ˜DÓ Ü�ŠÐHÔIÜÔ-Ü%°ó6r%   c                 óx  ^^	^
• SS K m	SS KJn  SS KmSS KnUR                  U 5        UU	4S jn[        X15      nUR                  SU5      m
UR                  5       nUR                  R                  SS 5        UR                  R                  SU
4S j5         U" S
0 UD6  g ! [         a    [        SSS	9   g f = f)Nr   c                  ó´   >• TR                   S:X  a  SS Kn U R                  SS5        g SS KnTR                  " TR
                  " 5       UR                  5        g )Nr   r   )r   Úwin32apiÚGenerateConsoleCtrlEventr`  rc  Úgetpidra  )r–  r`  r   r   s     €€r#   ÚinterrupterÚ&_test_sigint_impl.<locals>.interrupter­  s=   ø€ Ø�<‰<˜7Ó"ÛØ×-Ñ-¨a°Õ3ãØ�GŠG�B—I’I“K §¡Õ/r%   r(   r¾   c                  ó   • [        SSS9$ ©NÚDRAWT©Úflush©rÝ   ©r    s    r#   rÅ   Ú#_test_sigint_impl.<locals>.<lambda>º  s   € ”e˜F¨$Ò/r%   c                  ó$   >• TR                  5       $ rÀ   rÁ   )r    rÄ   s    €r#   rÅ   r¢  ¾  s   ø€ �e—k‘k”mr%   ÚSUCCESSTrž  r1   )r   r  r§   r   Ú	threadingr-  ÚgetattrÚTimerr²   rœ   rÜ   ÚKeyboardInterruptrÝ   )rª   Útarget_namer!   r·   r¥  r™  Útargetr¡   r   r   rÄ   s           @@@r#   Ú_test_sigint_implr«  ¥  s¤   ú€ ÛÝ#ÛÛà×Ñ�wÔö0ô �SÓ&€FØ�O‰O˜A˜{Ó+€EØ
�*‰*‹,€CØ‡J�J×ÑØÙ/ôð ‡J�J×ÑØÜ#ôð%ÙÑ�ÓøÜó %Üˆi˜tÔ$ð%ús   ÂB" Â"B9Â8B9ztarget, kwargsrà   rt  rá   Úintervalru  c                 óÆ  • U R                  S5      nUR                  S5      (       d  [        R                  " S5        [	        [
        R                  S[        R                  " [        5      SU< SU< SU< S3-   /5      n UR                  S5        UR                  [        S	9u  pVS
U;   d   eg ! [         a$    UR                  5         UR                  5       u  pVe f = f)Nr   ©ÚqtrM   ú-SIGINT currently only tested on qt and macosxrO  z
_test_sigint_impl(rN   Ú)r�  r  r¤  )rd   rc   rj   rl   r	   r   rU  rV  rW  r«  r/   Úcommunicaterñ   Ú	Exceptionrc  )r   rª  r!   rª   r÷   r   r>  s          r#   Útest_sigintr´  Æ  sÛ   € ð �g‰g�lÓ#€GØ×ÑÐ.×/Ñ/Ü�ŠÐCÔDÜÜ	�‰˜Ü	×	Ò	Ô,Ó	-Ø ™{¨"¨V©J°b¸¹
À!Ð	Dñ
Eð	FóG€DðØ�‰�fÔØ×$Ñ$¬]Ð$Ð;‰	ˆð
 ˜ÓÐÑøô	 ó Ø�	‰	ŒØ×$Ñ$Ó&‰	ˆØðús   Â&B2 Â2.C c                 ó¢  ^• SS K nSS KJn  UR                  U 5        [	        XA5      nUR                  5       nUR                  R                  SS 5        UR                  R                  SS9mSTl	        TR                  [        SSS9  U4S	 jnUR                   " UR                  U5         U" S0 UD6  g ! [         a    [        S
SS9   g f = f)Nr   r¾   c                  ó   • [        SSS9$ rœ  r   r¡  s    r#   rÅ   Ú7_test_other_signal_before_sigint_impl.<locals>.<lambda>æ  s   € ´u¸VÈ4Ò7Pr%   r(   )r¬  TÚSIGUSR1rž  c                 ó&   >• TR                  5         g rÀ   rÁ   )ÚsignumÚframerÄ   s     €r#   Úcustom_signal_handlerÚD_test_other_signal_before_sigint_impl.<locals>.custom_signal_handlerì  s   ø€ Ø�‰�r%   r¤  r1   )r`  r  r§   r-  r¦  r²   rœ   rÜ   rÙ   rŽ  rÚ   rÝ   r¸  r¨  )	rª   r©  r!   r`  r·   rª  r¡   r¼  rÄ   s	           @r#   Ú%_test_other_signal_before_sigint_implr¾  Ý  s¶   ø€ ÛÝ#à×Ñ�wÔä�SÓ&€Fà
�*‰*‹,€CØ‡J�J×Ñ˜<Ñ)PÔQà�J‰J× Ñ ¨!Ð Ð,€EØ€EÔØ	×Ñ”u˜i¨tÐÑ4õà
‡M‚M�&—.‘.Ð"7Ô8ð%ÙÑ�ÓøÜó %Üˆi˜tÔ$ð%ús   Â.B7 Â7CÃCz,No other signal available to send on Windowsc                 óÒ  • U R                  S5      nUR                  S5      (       d  [        R                  " S5        US:X  a6  UR                  R                  [        R                  R                  SS95        [        R                  S:X  a<  US:X  a6  UR                  R                  [        R                  R                  S	S95        [        [        R                  S
[        R                  " [        5      SU< SU< SU< S3-   /5      n UR                  S5        [         R"                  " UR$                  [&        R(                  5        UR                  S5        [         R"                  " UR$                  [&        R*                  5        UR-                  [.        S9u  pg[3        U5        SU;   d   eg ! [0         a$    UR#                  5         UR-                  5       u  pge f = f)Nr   r®  r°  rM   zmacosx backend is buggyrR   rT   rà   zQt backend is buggy on macOSrO  z'
_test_other_signal_before_sigint_impl(rN   r±  r�  r¸  r  r¤  )rd   rc   rj   rl   ÚnodeÚ
add_markerrk   rm   r   r   r	   rU  rV  rW  r¾  r/   r   rc  Úpidr`  r¸  ra  r²  rñ   r³  rÝ   )r   rª  r!   r\  rª   r÷   r   r>  s           r#   Útest_other_signal_before_sigintrÃ  ö  s…  € ð �g‰g�lÓ#€GØ×ÑÐ.×/Ñ/Ü�ŠÐCÔDØ�(ÓØ�‰×Ñ¤§¡× 1Ñ 1Ð9RÐ 1Ð SÔTÜ
‡|�|�xÓ F¨fÓ$4ð
 	�‰×ÑÜ�K‰K×ÑÐ%CÐÐDô	FäÜ	�‰˜Ü	×	Ò	Ô@Ó	AØ	3Ø‰k˜˜F™: R¨¡z°ð
4ñ
4ð	5ó6€Dð
	Ø�‰�fÔÜ
�Š�—‘œ&Ÿ.™.Ô)Ø�‰�iÔ Ü
�Š�—‘œ&Ÿ-™-Ô(Ø×$Ñ$¬]Ð$Ð;‰	ˆô
 
ˆ&„MØ˜ÓÐÑøô ó Ø�	‰	ŒØ×$Ñ$Ó&‰	ˆØðús   ÄBF8 Æ8.G&)RÚ	functoolsr^   rÊ   rV  rÌ   r   r   r`  r   r   r—   rX  Úurllib.requestr[  ÚPILr   rj   rÍ   r¶   r   Úmatplotlib.backend_toolsr   Úmatplotlib.testingr   rï   r   rT  r	   Ú	lru_cacher{   rˆ   rñ   r¤   ræ   rk   ÚparametrizeÚflakyrù   r  Ú_thread_safe_backendsr†   Úvaluesrª   rz   ri   rm   rò   Úpackaging.versionr  Úmac_verÚTimeoutExpiredrd   Úpython_implementationr   rn   r  r  r  r  r  r"  r)  r.  r0  rD  rH  Úskipifr\   rL  rg  ro  rq  r€  Ú_blit_backendsrl   r†  r‘  r“  r«  r´  r¾  rÃ  r1   r%   r#   Ú<module>rÔ     s  ðÛ Û Û Û Û Û 	Û Û Û Û 
Û Û Û å ã ã Ý (Ý 3ß Vô˜*×*Ñ*ô ð> ×Ññ=ó ð=ò@Eñ )×*Ñ*‘°€ò*ò.P8ðf ‡�×Ñ˜Ñ BÓ DÓEØ‡�×Ñ˜ Z°Ð$?Ó@Ø‡�×Ñ˜!ÐÐñ0ó ó Aó Fð0ò."ñ< ;Ó<Ð ä"€EØ�l‰l˜1‰o˜lÑ+€GØ�'Óð 	�‰×ÑØ�K‰K×Ñ Z×%BÑ%BÐÐCö	Eà	�D‹Ø�‰×ÑØ�K‰K×Ñ Z×%BÑ%BÐÐCö	Eà	�HÓ	Ý+Ø×"Ò"Ó$ QÑ'ˆö ‘u˜W“~©¨g«Ó6Ø�K‰K×ÑØ—‘×!Ñ!¨×)BÑ)BØ)-ð "ð /÷0ò 7Š7ð 
�‰�a‰×	Ñ	˜XÓ	&¨)Ó	3Ø�‰×ÑØ�K‰K×Ñ Z×%BÑ%BÐÐC÷	Eà	�GÓ	 × >Ò >Ó @ÀIÓ MØ�‰×ÑØ�K‰K×ÑðKàð ð ÷	ð
 �WÖ
Ø˜Ÿ™Ó# ¸"¿*¹*Ö'DØ
�,‰,˜(Ö
" s×'7Ñ'7¸¸Ð';¸gÖ'EØ�‰×ÑØ�K‰K×ÑÐEÓF÷	Hñ? #ðF ‡�×Ñ˜Ð 5Ó6Ø‡�×Ñ˜!ÐÐñ0ó ó 7ð0ò
ò'ò
>ò>ò>ò2ò"%ò 6ò2ò$0ð& ‡�×ÑØ‡L�L�GÑ×HÐ$5×$FÒ$FÓ$HÔ HØ4ð ð 6ð ‡�×Ñ˜Ð&<Ñ(9Ó(;Ð&<Ó=ñJó >ó6ðJð ‡�×Ñ�J "§*¡*Ñ,ØIð ð Kà‡�×Ñ�C—L‘L GÑ+Ð4TÐÐUñó VóKðò<ðB ‡�×Ñ�C—L‘L GÑ+Ð4LÐÐMØ‡�×Ñ˜Ñ BÓ DÓEñó Fó Nðò&ñR 4Ó5€Ü€EØ�l‰l˜1‰o˜lÑ+€GØ�+Óà�‰×ÑØ�K‰K×ÑÐBÓCö	Eà	�KÓ	à�‰×ÑØ�K‰K×ÑÐBÓCö	Eà	�D‹Ø�‰×ÑØ�K‰K×ÑÐ;Ó<ö	>à
�WÕ
Ø˜Ÿ™Ó# ¸"¿*¹*Õ'DØ
�,‰,˜(Ö
"Ø
×
Ñ
˜2˜AÐ
 Ö
(à�‰×ÑØ�K‰K×ÑÐEÓF÷	
ñ% ð. ‡�×Ñ˜ Ó/à‡�×Ñ˜!ÐÐñó ó 0ðò ðF ‡�×Ñ˜Ñ BÓ DÓEñ6ó Fð6ò%ðB ‡�×Ñ˜Ñ BÓ DÓEØ‡�×ÑÐ)Øˆg�tˆ_ÐØˆz˜2ÐÐð,ó ñó	ó Fð
ò$%ð2 ‡�×Ñ�C—L‘L GÑ+ØIð ð Kà‡�×Ñ˜Ñ BÓ DÓEØ‡�×ÑÐ)Øˆg�tˆ_ÐØˆz˜2ÐÐð,ó ñó	ó FóKñr%   