Ë
    íÍ:j9u  ã            	       óÐ  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	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Zd dlmZ d dlmZ d dlmZmZ  G d„ de	j4                  «      Ze j8                  d„ «       Zd	„ Z e«       rd
ndZ e«       rdnd Z d„ Z!d„ Z"ejF                  jI                  d e«       «      ejF                  jI                  dddg«      ejF                  jK                  e ¬«      d„ «       «       «       Z&d„ Z' e«       Z(e(D �]E  Z)e)jT                  d    d   Z+de+v r@e)jX                  j[                  ejF                  j]                  e	j^                  ¬«      «       ŒZe+dk(  r@e)jX                  j[                  ejF                  j]                  e	j^                  ¬«      «       ŒŸe+dk(  rqd dl0m1Z1  ejd                  «       d    Z2e2sŒÁ e1e2«       e1d«      k  sŒÓe)jX                  j[                  ejF                  j]                  e	jf                  d¬«      «       �Œe)jT                  d    ji                  d«      d k(  rAe)jX                  j[                  ejF                  j]                  e	j^                  ¬«      «       �Œwe+d!k(  rL ejj                  «       d"k7  r8e)jX                  j[                  ejF                  j]                  d#d¬$«      «       �ŒÈe+d!k(  s�ŒÏd%ejl                  v sd&ejl                  v s�Œíe
j                  d'k(  s�Œþe
jn                  dd( d)k  s�Œe)jX                  j[                  ejF                  j]                  d*«      «       �ŒH ejF                  jI                  de(«      ejF                  jK                  e ¬«      d+„ «       «       Z8d,„ Z9d-„ Z:d.„ Z;d/„ Z<d0„ Z=d1„ Z>d2„ Z?d3„ Z@d4„ ZAd5„ ZBejF                  j‡                  e
j                  d6k(  xr  ejˆ                  «        d7¬8«      ejF                  jI                  d9g  eB«       ¢«      d:„ «       «       ZEejF                  j‡                  d%ejl                  v d;¬8«      ejF                  j‡                  e
j                  d<k(  d=¬8«      d>„ «       «       ZFd?„ ZGejF                  j‡                  e
j                  d6k7  d@¬8«      ejF                  jI                  d e«       «      dA„ «       «       ZHdB„ ZI e«       ZJeJD �]>  Z)e)jT                  d    d   Z+e+dCk(  r5e)jX                  j[                  ejF                  j—                  dD«      «       ŒPe+dEk(  r5e)jX                  j[                  ejF                  j—                  dF«      «       ŒŠe+dk(  r5e)jX                  j[                  ejF                  j—                  dG«      «       ŒÄe+d!k(  sŒÊd%ejl                  v sd&ejl                  v sŒçe
j                  d'k(  sŒ÷e
jn                  dd( d)k  s�Œe)jX                  j[                  ejF                  j]                  d*«      «       �ŒA ejF                  jI                  deJ«      ejF                  jK                  e ¬«      dH„ «       «       ZLdI„ ZMdJ„ ZNdK„ ZOejF                  jI                  d e«       «      dL„ «       ZPdM„ ZQejF                  jI                  d e«       «      ejF                  jI                  dNdOdPdifdQdRdSifg«      dT„ «       «       ZRdU„ ZSejF                  j‡                  e
j                  d<k(  dV¬8«      ejF                  jI                  d e«       «      ejF                  jI                  dNdOdPdifdQdRdSifg«      dW„ «       «       «       ZTy)Xé    N)ÚImage)Ú_c_internal_utils)ÚToolToggleBase)Úsubprocess_run_helperÚis_ci_environmentc                   ó(   ‡ — e Zd ZdZˆ fd„Zd„ Zˆ xZS )Ú_WaitForStringPopenzL
    A Popen that passes flags that allow triggering KeyboardInterrupt.
    c                 óÂ   •— t         j                  dk(  rt        j                  |d<   t	        ‰| �  |i |¤i t        j                  ¥dddœ¥t        j                  ddœ¤Ž y )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      €ú/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_backends_interactive.pyr   z_WaitForStringPopen.__init__   s[   ø€ Ü�<‰<˜7Ò"Ü&0×&CÑ&CˆF�?Ñ#Ü‰ÑØð	=Øð	=ð N”2—:‘:ÐM¨UÈÒMÜ—?‘?°tõ		=ó    c                 ó�   — d}	 | j                   j                  d«      }|st        d|›�«      ‚||z  }|j                  |«      r|S ŒD)z%Read until the terminator is reached.Ú é   z)Subprocess died before emitting expected )r   ÚreadÚRuntimeErrorÚendswith)r   Ú
terminatorÚbufÚcs       r!   Úwait_forz_WaitForStringPopen.wait_for'   sY   € àˆØØ—‘× Ñ  Ó#ˆAÙÜ"Ø?À
¸~ÐNóPð Pà�1‰HˆCØ�|‰|˜JÔ'Ø�
ð r"   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r,   Ú__classcell__)r    s   @r!   r	   r	      s   ø„ ñô=ö
r"   r	   c                  óR  — t         j                  dk(  xr t        j                  «        } t         j                  dk(  xr t        j                  «        }g }g dD �cg c]
  }|gd|dœf‘Œ c}¢dD �cg c]  }|dgd|dœf‘Œ c}¢dD ��cg c]  }dD ]  }d	d
gdd|› |› �if‘Œ Œ c}}¢dgddif‘dgddif‘dgddif‘dgddif‘D �]·  \  }}d }|D �	cg c]$  }	t
        j                  j                  |	«      rŒ#|	‘Œ& }
}	|
r!dj                  dj                  |
«      «      }n¥|r|d   dk(  s|d   j                  d«      rd}n„| rd}n|d   dk(  r"t        j                  j                  d«      rd}nU|d   j                  d«      rA	 dd l}|j                  j!                  «       }|j#                  d«      }|d   d   }|› d�|vrd}g }|r6|j'                  t(        j*                  j-                  d|› d|› �¬ «      «       nV|d   j                  d«      rBt         j                  d!k(  r/|j'                  t(        j*                  j/                  d"¬ «      «       |j'                  i |¥d#d$j                  |«      i¥|f«       �Œº |S c c}w c c}w c c}}w c c}	w # t$        $ r g }Y Œðw xY w)%NÚlinux)ÚPyQt6ÚPySide6ÚPyQt5ÚPySide2Úqtagg)r   ÚQT_APIÚ	cairocffiÚqtcairo)é   é   )ÚaggÚcairor?   Ú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   ÚGtkr<   z.0zno usable GTK bindingsz	Skipping z	 because ©ÚreasonÚdarwinzgithub #16849ÚBACKEND_DEPSú,)r   r   r   Údisplay_is_validÚxdisplay_is_validÚ	importlibÚutilÚ	find_specÚformatÚjoinÚ
startswithr   r   Úgetr@   Ú
RepositoryÚget_defaultÚenumerate_versionsÚImportErrorÚappendÚpytestÚmarkÚskipÚxfail)Ú_is_linux_and_display_invalidÚ_is_linux_and_xdisplay_invalidÚenvsÚqt_apiÚversionÚrendererÚdepsr   rL   ÚdepÚmissingr@   Úgi_repoÚavailable_gtk_versionsÚmarkss                  r!   Ú#_get_available_interactive_backendsrn   8   s=  € ä%(§\¡\°WÑ%<ò &NÜ):×)KÑ)KÓ)MÐ%Mð "ä&)§l¡l°gÑ&=ò 'PÜ*;×*MÑ*MÓ*OÐ&Oð #à€Dðð EöFàð ˆxØ%°Ñ8ò:ò Fðð EöFàð ˜Ð$Ø'°6Ñ:ò<ò Fð	ð $÷FØÐ4DòFØ(0ð ˜ˆ °°W°I¸h¸ZÐ/HÐ IÒJð FÐJó Fðð ˆ[˜<¨Ð1Ð2ðð ˆV�l DÐ)Ð*ðð ˆV�l GÐ,Ð-ðð ,Ð,¨|¸XÐ.FÐGðó 0F‰	ˆˆcð ˆØ"&ÖL˜3¬i¯n©n×.FÑ.FÀsÕ.K’3ÐLˆÐLÙØ,×3Ñ3°D·I±I¸gÓ4FÓG‰FÙ+Ø�LÑ! WÒ,à�|Ñ$×/Ñ/°Ô5Ø(‰FÙ*Ø>‰FØ�Ñ (Ò*¬r¯z©z¯~©~¸jÔ/IØ4‰FØ�Ñ×)Ñ)¨%Ô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à�‰Ð<˜Ð<˜^¨S¯X©X°d«^Ñ<¸eÐDÖEða0Fðb €KùòaFùòFùóFùò Møô ò ,ð *,Ò&ð	,ús0   ÁJÁ2JÂ
JÃ$JÃ8JÆJÊJ&Ê%J&c                  óÄ   — t        «       D � �cg c]E  \  } }t        j                  i | ¥g |¢dj                  d„ | j	                  «       D «       «      ¬«      ‘ŒG c}} S c c}} w )Nú-c              3   ó0   K  — | ]  \  }}|› d |› �–— Œ y­w)ú=N© )Ú.0ÚkÚvs      r!   ú	<genexpr>z5_get_testable_interactive_backends.<locals>.<genexpr>v   s   è ø€ Ò$H±D°A°q¨ s¨!¨A¨3¤ZÑ$Hùs   ‚)rm   Úid)rn   r^   ÚparamrV   Úitems)r   rm   s     r!   Ú"_get_testable_interactive_backendsr{   s   s^   € ô BÓC÷Eá��Uô �L‰L˜˜C˜¨¨%¨ØŸH™HÑ$H¸C¿I¹I»KÔ$HÓHöJó Eð Eùó Es   ŽA
Aéx   é   r<   c                 óÐ  ‡— t        j                  «       5 }t        j                  dd«      }t        j
                  j                  |d«      Š|j                  ‰«        G ˆfd„dt        «      }| j                  j                  j                  }| j                  j                  j                  }|j                  d|«       |j                  dd«       d d d «       y # 1 sw Y   y xY w)NÚLA)é   r€   ztest_la_icon.pngc                   ó   •— e Zd ZW ° ZdZy)ú5_test_toolbar_button_la_mode_icon.<locals>.CustomToolr$   N)r-   r.   r/   ÚimageÚdescription)Útmp_img_paths   €r!   Ú
CustomToolr‚   ‡   s   ø„ Ù ˆEØ‰Kr"   r†   ÚtestÚgroup)ÚtempfileÚTemporaryDirectoryr   Únewr   ÚpathrV   Ú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                  ó¢  ‡‡‡— dd l } dd l}dd l}dd l}dd l}dd lŠddlmŠ ddlm}m	} ‰j                  j                  ddi«       ‰j                  j                   |j                  |j                  d   «      «       ‰j                  d   j                  «       }|j                  d«      r |j!                  d	«      s�‰j#                  «       }‰j%                  |«       |d
k7  r2 |j&                  t(        «      5  ‰j+                  d
d¬«       d d d «       ˆˆfd„}	| j,                  j/                  d«      r |	|d d dz   «        |	d«       ‰j+                  |d¬«       ‰j1                  «       \  }}
t3        |j4                  «      j6                  d|› �k(  sJ ‚|j4                  j8                  j;                  «       dk(  sJ ‚‰j                  d   dk(  rt=        |«       |
j?                  ddgddg«       |j4                  j@                  r)|j4                  j@                  jC                  d dddd«       |dk(  r2|jD                  dk\  r#dd l#}|jI                  |jK                  «       «       |j4                  jM                  d«      Š‰jO                   |d|j4                  d«      jP                  «       |j4                  jS                  dˆfd„«       |j4                  jS                  d tT        «       |jW                  «       }|jY                  |d!d"¬#«       ‰j[                  «        ‰j]                  d$«       t3        |j4                  «      |k(  sJ t_        |j4                  «      «       ‚|jW                  «       }|jY                  |d!d"¬#«       |j                  d«      r$|ja                  «       |ja                  «       k(  sJ ‚y y # 1 sw Y   �Œ¸xY w)%Nr   ©Úpyplot)ÚKeyEventÚFigureCanvasBaseúwebagg.open_in_browserFr%   Úbackendr>   )rA   ÚwebrC   T©Úforcec                 ó¼   •— ‰j                  | d¬«       ‰j                  «       }t        |j                  «      j                  d| › �k(  sJ ‚‰j                  d«       y )NTrŸ   úmatplotlib.backends.backend_Úall)ÚuseÚfigureÚtyperŽ   r.   Úclose)Úalt_backendr“   ÚmplÚplts     €€r!   Úcheck_alt_backendz1_test_interactive_impl.<locals>.check_alt_backend¹   sX   ø€ Ø�G‰G�K tˆGÔ,Ø—*‘*“,ˆCÜ˜Ÿ™Ó$×/Ñ/Ø2°;°-Ð@òAð Bð Aà�I‰I�eÕr"   r:   éýÿÿÿr?   Úsvgr¢   zFigure 1r‘   r�   é   r<   g      ð?g       @Úwebagg)r<   é   Úkey_press_eventÚqÚ
draw_eventc                 ó$   •— ‰j                  «       S ©N©Ústart)ÚeventÚtimers    €r!   ú<lambda>z(_test_interactive_impl.<locals>.<lambda>Ù   s   ø€ °u·{±{³}€ r"   Úclose_eventÚpngéd   )rU   Údpiç      à?)1Úimportlib.utilÚioÚjsonr   r^   Ú
matplotlibr™   Úmatplotlib.backend_basesrš   r›   ÚrcParamsÚupdateÚloadsÚargvÚlowerr(   rW   r¥   r§   Úraisesr\   r¤   rS   rT   Úsubplotsr¦   rŽ   r.   r�   Úget_window_titler–   Úplotr‘   Údraw_rubberbandÚversion_infoÚasyncioÚset_event_loopÚnew_event_loopÚ	new_timerÚadd_callbackÚ_processÚmpl_connectÚprintÚBytesIOÚsavefigÚshowÚpauseÚstrÚgetvalue)rR   rÁ   rÂ   r   r^   rš   r›   r�   r“   r«   ÚaxrÐ   ÚresultÚresult_afterr©   rª   r¹   s                 @@@r!   Ú_test_interactive_implrá   –   s  ú€ ÛÛÛÛããÝ(ßCØ‡L�L×ÑØ  %ðô ð ‡L�L×Ñ˜
˜Ÿ
™
 3§8¡8¨A¡;Ó/Ô0Ø�l‰l˜9Ñ%×+Ñ+Ó-€Gà×Ñ˜Ô w×'9Ñ'9¸.Ô'Ià�j‰j‹lˆØ�	‰	�#Œð �gÒØ�—‘œ{Ó+ñ -Ø—‘˜ t�Ô,÷-õ	ð �>‰>×#Ñ# KÔ0Ù˜g c r˜l¨WÑ4Ô5Ù˜%Ô Ø‡G�GˆG˜4€GÔ à�l‰l‹n�G€CˆÜ�—
‘
Ó×&Ñ&Ð,HÈÈ	Ð*RÒRÐRÐRà�:‰:×Ñ×.Ñ.Ó0°JÒ>Ð>Ð>à
‡|�|�IÑ -Ò/ä)¨#Ô.à‡G�GˆQ�ˆF�Q˜�FÔØ
‡z�z×ÒØ�
‰
×Ñ×*Ñ*¨4°°Q¸¸AÔ>à�(Ò˜s×/Ñ/°7Ò:ÛØ×Ñ˜w×5Ñ5Ó7Ô8à�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ô �—
‘
ÓÐ/Ò/Ð@´°S·Z±Z³Ó@Ð/Ø—:‘:“<€LØ‡K�K� U°€KÔ4à×Ñ˜Ôð �‰Ó  L×$9Ñ$9Ó$;Ò;Ð;Ñ;ð ÷i-ñ -ús   Ã:OÏOr   r‘   Útoolbar2r�   )Úrerunsc                 óö  — | d   dk(  r|dk(  rt        j                  d«       | d   dk(  rt        j                  d«       | d   dk(  r|dk(  rt        j                  d«       	 t        t        t	        j
                  d	|i«      t        | ¬
«      }j                  j                  d«      dk(  sJ ‚y # t        j                  $ r5}t        j                  dt        |j                  «      z   «       Y d }~Œdd }~ww xY w)Nr   rF   r�   z*toolmanager is not implemented for macosx.rD   ú2wx backend is deprecated; tests failed on appveyorrE   zMTemporarily deactivated: show() changes figure height and thus fails the testr‘   ©ÚtimeoutÚ	extra_envz,Subprocess failed to test intended behavior
Ú
CloseEventr%   )r^   r`   Ú_run_helperrá   rÂ   ÚdumpsÚ_test_timeoutr   ÚCalledProcessErrorÚfailrÜ   Ú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   Á#,B0 Â0C8Ã+C3Ã3C8c                  ó–  — ddl m}  dd l}ddlm} |j                  j                  dddœ«       |j                  «       \  }}|j                  d«        | «       j                  |j                  g d¢«      }|j                  «        |j                  j                  d	t        «        | «       j                  |j                  j                  «      }|j                  d«       |j                  «        |j                  }|j                  «        |j                  d
   j!                  «       j#                  d«      r|j%                  «        y y )Nr   )ÚThreadPoolExecutorr˜   Fr%   )rœ   zwebagg.port_retriesr¿   )r%   r<   é   r»   r�   rD   )Úconcurrent.futuresrõ   rÃ   r™   rÅ   rÆ   rË   rÛ   ÚsubmitrÍ   rß   rŽ   rÖ   r×   Údrawr§   rÉ   rW   Úflush_events)rõ   r©   rª   r“   rÞ   ÚfuturerŽ   s          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ð �Z‰Z€FØ‡I�I„KØ
‡|�|�IÑ×$Ñ$Ó&×1Ñ1°$Ô7à×ÑÕð 8r"   r   r?   )rÊ   rD   rF   )Úparsez10.16T)rÊ   Ústrictr9   r7   rC   ÚCPythonzZPyPy does not support Tkinter threading: https://foss.heptapod.net/pypy/pypy/-/issues/1929)rL   rþ   rI   ÚGITHUB_ACTIONrM   r®   )r<   é   z%Tk version mismatch on Azure macOS CIc                 óp   — t        t        t        | ¬«      }|j                  j	                  d«      dk(  sJ ‚y )Nræ   ré   r%   )rê   rü   rì   r   rð   ©r   rñ   s     r!   Útest_interactive_thread_safetyr  P  s0   € ô Ô(´-È3ÔO€DØ�;‰;×Ñ˜\Ó*¨aÒ/Ð/Ñ/r"   c                  ó&  — dd l } dd lm} | j                  j	                  d«      }t        |t        «      rJ ‚|j                  �J ‚|j                  d«       |j                  €J ‚| j                  j	                  d«      }t        |t        «      sJ ‚y )Nr   r�   é   )	rÃ   Úmatplotlib.pyplotr™   rÅ   Ú_getÚ
isinstancerÜ   Ú_backend_modrÍ   )rÃ   rª   Úbks      r!   Ú&_impl_test_lazy_auto_backend_selectionr  W  sƒ   € ÛÝ#à	×	Ñ	×	!Ñ	! )Ó	,€BÜ˜"œcÔ"Ð"Ð"Ø×ÑÐ#Ð#Ð#à‡H�HˆQ„KØ×ÑÐ'Ð'Ð'Ø	×	Ñ	×	!Ñ	! )Ó	,€BÜ�bœ#ÔÐÑr"   c                  ó.   — t        t        t        ¬«       y ©N©rç   )rê   r  rì   rs   r"   r!   Ú test_lazy_auto_backend_selectionr  e  s   € ÜÔ6Ü%ö'r"   c                  ó’   — dd l } dd l}d|j                  vsJ ‚d|j                  vsJ ‚d|j                  v sd|j                  v sJ ‚y y ©Nr   r4   Úpyside6r6   Úpyside2)Ú"matplotlib.backends.backend_qt5aggr   Úmodules©rÃ   r   s     r!   Ú_implqt5aggr  j  sO   € Û-Ûà˜#Ÿ+™+Ñ%Ð%Ð%Ø˜CŸK™KÑ'Ð'Ð'Ø�c—k‘kÑ! Y°#·+±+Ñ%=Ð=Ð=Ð%=Ð!r"   c                  ó’   — dd l } dd l}d|j                  vsJ ‚d|j                  vsJ ‚d|j                  v sd|j                  v sJ ‚y y r  )Ú$matplotlib.backends.backend_qt5cairor   r  r  s     r!   Ú
_implcairor  s  sO   € Û/Ûà˜#Ÿ+™+Ñ%Ð%Ð%Ø˜CŸK™KÑ'Ð'Ð'Ø�c—k‘kÑ! Y°#·+±+Ñ%=Ð=Ð=Ð%=Ð!r"   c                  ó’   — dd l } dd l}d|j                  vsJ ‚d|j                  vsJ ‚d|j                  v sd|j                  v sJ ‚y y r  )Úmatplotlib.backends.backend_qt5r   r  r  s     r!   Ú	_implcorer  |  sO   € Û*Ûà˜#Ÿ+™+Ñ%Ð%Ð%Ø˜CŸK™KÑ'Ð'Ð'Ø�c—k‘kÑ! Y°#·+±+Ñ%=Ð=Ð=Ð%=Ð!r"   c                  óî  — dD � cg c]#  } t         j                  j                  | «      �| ‘Œ% }} dD � cg c]#  } t         j                  j                  | «      �| ‘Œ% }} t        |«      dk(  st        |«      dk(  rt	        j
                  d«       t        t        t        ¬«       t         j                  j                  d«      �t        t        t        ¬«       t        t        t        ¬«       y c c} w c c} w )N)r6   r  )r4   r  r   úneed both QT6 and QT5 bindingsr  Úpycairo)rR   rS   rT   Úlenr^   r`   rê   r  rì   r  r  )ri   Úqt5_bindingsÚqt6_bindingss      r!   Útest_qt5backends_uses_qt5r%  …  sÍ   € à+öØÜ�>‰>×#Ñ# CÓ(Ð4ò 	ð€Lð ð
 ,öØÜ�>‰>×#Ñ# CÓ(Ð4ò 	ð€Lð ô ˆ<Ó˜AÒ¤ \Ó!2°aÒ!7Ü�‰Ð4Ô5Ü”¤]Õ3Ü‡~�~×Ñ 	Ó*Ð6Ü”J¬Õ6Ü”	¤=Ö1ùòùòs
   …(C-³(C2c                  ó”  — dd l } d | j                  d<   d | j                  d<   d | j                  d<   d | j                  d<   dd lm} t	        j
                  t        d¬«      5  |j                  d«       d d d «       t	        j
                  t        d	¬«      5  |j                  d
«       d d d «       y # 1 sw Y   Œ?xY w# 1 sw Y   y xY w)Nr   r4   r6   r7   r5   z(Failed to import any of the following Qt)Úmatchr8   z^(?:(?!(PySide6|PyQt6)).)*$Úqt5agg)r   r  r  r™   r^   rÊ   r\   Úswitch_backend)r   rª   s     r!   Ú_impl_missingr*  –  s«   € Ûà€C‡K�K�ÑØ€C‡K�K�ÑØ!€C‡K�K�	ÑØ!€C‡K�K�	Ñå#Ü	�‰”{Ð*TÔ	Uñ $Ø×Ñ˜7Ô#÷$ô 
�‰”{Ð*GÔ	Hñ %Ø×Ñ˜8Ô$÷%ð %÷$ð $ú÷%ð %ús   Á"B2ÂB>Â2B;Â>Cc                  ó.   — t        t        t        ¬«       y r  )rê   r*  rì   rs   r"   r!   Útest_qt_missingr,  ¦  s   € Ü”¤}Ö5r"   c                  ó^  — dd l } dd l}dd l}|j                  \  }}} | j                  |› d�«        | j                  |› d�«      }dd l} | j                  |› d�«      }|j                  dg«      }	|j                  ddt        ¬«       |j                  j                  j                  «        y )Nr   z.QtCorez
.QtWidgetszmpl testingÚerrorz.*Mixing Qt major.*)ÚmessageÚcategory)rR   r   ÚwarningsrÈ   Úimport_moduleÚmatplotlib.backends.backend_qtÚQApplicationÚfilterwarningsÚUserWarningÚbackendsÚ
backend_qtÚ_create_qApp)
rR   r   r1  Ú_Úhost_bindingÚmpl_bindingÚmpl_binding_qwidgetsrÃ   Úhost_qwidgetsÚhost_apps
             r!   Ú_impl_test_cross_Qt_importsr@  ª  s­   € ÛÛÛà#&§8¡8Ñ €A€|�[à€I×Ñ˜{˜m¨7Ð3Ô4Ø2˜9×2Ñ2°k°]À*Ð3MÓNÐÛ)Ø+�I×+Ñ+¨|¨n¸JÐ,GÓH€Mà×)Ñ)¨=¨/Ó:€HØ×Ñ˜GÐ-CÜ%0ð ô 2à×Ñ×"Ñ"×/Ñ/Õ1r"   c               #   óÂ  K  — dD � cg c]#  } t         j                  j                  | «      �| ‘Œ% }} dD � cg c]#  } t         j                  j                  | «      �| ‘Œ% }} t        |«      dk(  st        |«      dk(  r9t	        j
                  d d t        j                  j                  d«      g¬«      –— y |D ]  }|D ]  }||g||gfE d {  –—†  Œ Œ y c c} w c c} w 7 Œ­w)N)r6   r7   )r4   r5   r   r   )rm   )rR   rS   rT   r"  r^   ry   r_   r`   )ri   r#  r$  Úqt5Úqt6s        r!   Úqt5_and_qt6_pairsrD  ¼  sú   è ø€ à+öØÜ�>‰>×#Ñ# CÓ(Ð4ò 	ð€Lð ð
 ,öØÜ�>‰>×#Ñ# CÓ(Ð4ò 	ð€Lð ô ˆ<Ó˜AÒ¤ \Ó!2°aÒ!7Ü�l‰l˜4 Ü"(§+¡+×"2Ñ"2Ð3SÓ"TÐ!UôWò 	Wààò 0ˆØò 	0ˆCØ˜c˜
 S¨# JÐ/×/Ñ/ñ	0ñ0ùòùòð 0ús'   ‚C‡(C¯Cµ(CÁA,CÃ	CÃ
Cr3   rH   rK   z	host, mplc                 ó°   — 	 t        t        | |t        ¬«      }|j                  }d|v sJ ‚y # t        j
                  $ r}|j                  }Y d }~Œ+d }~ww xY w)Nr  z2Mixing Qt major versions may not work as expected.)rê   r@  rì   rï   r   rí   )Úhostr©   rñ   rï   Úexs        r!   Útest_cross_Qt_importsrH  Ï  sW   € ð
	ÜÔ6¸¸cÜ#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                  ó¶  — t        j                  d«       t        j                  t        «      dz   } d}t        t        j                  d| |g«      5 }	 |j                  d«      }t        j                  d|«      j                  d«      }t        j                  «       t        z   }	 	 |j                  «       }|�J ‚t         j"                  j%                  |«      5  	 d d d «       |j-                  t.        j0                  «       |j3                  t        ¬	«      d
k(  sJ ‚	 |j                  «       €|j5                  «        	 d d d «       y # 1 sw Y   nxY wnR# t         j&                  j(                  $ r2 t        j                  «       |kD  rt        j*                  d«       nY ŒýY nw xY w�Œ# |j                  «       €|j5                  «        w w xY w# 1 sw Y   y xY w)NÚtornadoz
_test_interactive_impl()z{"backend": "webagg"}ú-czPress Ctrl+Czvisit (https?:\/\/\S+)r%   z'Failed to connect to the webagg server.r  r   )r^   ÚimportorskipÚinspectÚ	getsourcerá   r	   r   Ú
executabler,   ÚreÚsearchrˆ   ÚtimeÚperf_counterrì   ÚpollÚurllibÚrequestÚurlopenr.  ÚURLErrorrî   Úsend_signalÚsignalÚSIGINTÚwaitÚkill)ÚsourceÚrcrñ   r*   Úurlrç   Úretcodes          r!   Útest_webaggrb  á  s–  € ô ×Ñ˜	Ô"Ü×ÑÔ 6Ó7Ø*ñ+€Fà	 €BÜ	œcŸn™n¨d°F¸BÐ?Ó	@ð ÀDð	Ø—-‘- Ó/ˆCÜ—)‘)Ð5°sÓ;×AÑAÀ!ÓDˆCÜ×'Ñ'Ó)¬MÑ9ˆGØð!Ø"Ÿi™i›k�Gà"˜?Ð*˜?ÜŸ™×/Ñ/°Ó4ñ à÷ð ×ÑœVŸ]™]Ô+Ø—9‘9¤]�9Ó3°qÒ8Ð8Ñ8à�y‰y‹{Ð"Ø—	‘	•÷-ð ÷ð úð øô —|‘|×,Ñ,ò !Ü×(Ñ(Ó*¨WÒ4ÜŸ™Ð$MÕNá ñ Oð!úñ øð  �y‰y‹{Ð"Ø—	‘	•ð #ú÷+ð úsh   ÁGÁAF)Â&3EÃEÃEÃ#:F)Ä!GÅE	ÅEÅF)ÅA
F$ÆF)Æ#F$Æ$F)Æ)#GÇGÇGc                  ó  — dd l } dd l}|j                  dd  \  }}|j                  d«      }| j                  j                  dd «       | j                  j                  dd «       |D ]  }||j                  vrŒJ ‚ dd lm} |j                  «       dk(  sJ ‚|D ]  }||j                  vrŒJ ‚ |D ]'  }t        j                  |«       ||j                  v rŒ'J ‚ 	 |j                  |«        |j                  d«       y # t        $ r Y y w xY w)Nr   r%   rO   ÚDISPLAYÚWAYLAND_DISPLAYr>   )r   r   rÈ   Úsplitr   Úpopr  r  r™   Úget_backendrR   r2  r)  Úexitr\   )r   r   r�   rh   ri   rª   s         r!   Ú_lazy_headlessrj    s  € ÛÛà—H‘H˜Q˜R�L�M€GˆTØ�:‰:�c‹?€Dð ‡J�J‡N�N�9˜dÔ#Ø‡J�J‡N�NÐ$ dÔ+Øò &ˆØ˜#Ÿ+™+Ò%Ð%Ð%ð&õ $Ø�?‰?Ó Ò%Ð%Ð%Øò &ˆØ˜#Ÿ+™+Ò%Ð%Ð%ð&ð ò "ˆÜ×Ñ Ô$Ø�c—k‘kÒ!Ð!Ð!ð"ð
Ø×Ñ˜7Ô#ð 	ˆ�‰��øô ò Ùðús   ÃC> Ã>	D
Ä	D
zthis a linux-only testc           
      ó~   — t        t        | j                  d«      | j                  d«      t        i | ¥dddœ¥¬«      }y )Nr   rN   r$   )rd  re  ræ   )rê   rj  rg  rì   r  s     r!   Útest_lazy_linux_headlessrl  #  s:   € ô ÜØ�‰�Ó˜sŸw™w ~Ó6ÜØ?�SÐ? R¸BÒ?ô	�Dr"   c                  óî  — dd l m}  | j                  «       \  }}|j                  ddgddgd¬«      \  }| j	                  d¬«       | j                  d«       |j                  j                  d	t        «       |j                  j                  |j                  «      }|j                  |«       |j                  j                  |j                  «       t        d
«      D ]…  }|j                  j                  |«       |j                  ddgddg«      \  }|j                  |«       |j                  j                  |j                  «       |j                  j                  «        Œ‡ | j                  d«       y )Nr   r%   r®   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 blittingc                 ó†   — t        t        t        | ¬«      }|j                  j	                  d«      }d|cxk  rdk  sJ ‚ J ‚y )Nræ   Ú	DrawEventr   r  )rê   r{  rì   r   rð   )r   rñ   Úndrawss      r!   Útest_blitting_eventsr�  o  sA   € ô Ü$¬mÀsôL€Dð �[‰[×Ñ˜{Ó+€FØˆvŒ>˜Š>Ð‰>Ð‰>r"   c                  ó†   — dd l mc m}  dd l}| j                  j                  «        |j                  j                  «        y )Nr   )ÚIPython.core.interactiveshellÚcoreÚinteractiveshellr  ÚInteractiveShellÚinstancer™   r¥   )ÚipshrÃ   s     r!   Ú_fallback_checkr‰  }  s/   € ß0Ð0ÛØ×Ñ×"Ñ"Ô$Ø×Ñ×ÑÕr"   c                  óX   — t        j                  d«       t        t        t        ¬«      } y )NÚIPythonr  )r^   rL  rê   r‰  rì   )Úresponses    r!   Ú"test_fallback_to_different_backendr�  „  s   € Ü
×Ñ˜	Ô"ô œ?´MÔB�Hr"   c                  ód  — ddl m}  dd lm} d}|j	                  «       }|j                  |«       |j                  j                  d«      } | «       }|j                  |«       |j                  «        |j                  |«       |j                  «        |j                  dkD  sJ ‚|j                  «        d|_        |j                  «        |j                  |«       |j                  dk(  sJ ‚|j                  «        |j                  |«       |j                  dk(  sJ ‚|j                  d«       y )	Nr   )ÚMockr¿   rq  r%   Tr®   r£   )Úunittest.mockr�  r  r™   r¥   rÛ   rŽ   rÓ   rÔ   r·   ÚstopÚ
call_countÚ
reset_mockÚsingle_shotr§   )r�  rª   Ú
pause_timer“   r¹   Úmocks         r!   Ú_impl_test_interactive_timersr—  Œ  sï   € õ
 #Ý#Ø€JØ
�*‰*‹,€CØ‡I�IˆjÔØ�J‰J× Ñ  Ó%€EÙ‹6€DØ	×Ñ�tÔØ	‡K�K„MØ‡I�IˆjÔØ	‡J�J„LØ�?‰?˜QÒÐÐð 	‡O�OÔØ€EÔØ	‡K�K„MØ‡I�IˆjÔØ�?‰?˜aÒÐÐð 
‡K�K„MØ‡I�IˆjÔØ�?‰?˜aÒÐÐØ‡I�IˆeÕr"   c                 óÎ   — | d   dk(  r*t        j                  d«      rt        j                  d«       | d   dk(  rt        j                  d«       t	        t
        t        | ¬«       y )Nr   r|  ÚCIz)gtk3cairo timers do not work in remote CIrD   rå   ræ   )r   Úgetenvr^   r`   rê   r—  rì   )r   s    r!   Útest_interactive_timersr›  ¬  sP   € à
ˆ<Ñ˜KÒ'¬B¯I©I°d¬OÜ�‰Ð?Ô@Ø
ˆ<Ñ˜DÒ Ü�‰ÐHÔIÜÔ-Ü%°ö6r"   c                 óz  ‡‡	‡
— dd l Š	dd lm} dd lŠdd l}|j                  | «       ˆˆ	fd„}t        ||«      }|j                  d|«      Š
|j                  «       }|j                  j                  dd„ «       |j                  j                  dˆ
fd„«       	  |d
i |¤Ž y # t        $ r t        dd¬	«       Y y w xY w)Nr   c                  ó0  •— ‰j                   dk(  rVddlm} m} | j                  j
                  }|j                  |j                  g|_        |j                  |_	         |dd«       y dd l
} ‰j                   ‰j                  «       |j                  «       y )Nr   r   )ÚwindllÚwintypes)r   Úctypesrž  rŸ  Úkernel32ÚGenerateConsoleCtrlEventÚDWORDÚargtypesÚBOOLÚrestyperZ  r]  Úgetpidr[  )rž  rŸ  r¢  rZ  r   r   s       €€r!   Úinterrupterz&_test_sigint_impl.<locals>.interrupter¾  sn   ø€ Ø�<‰<˜7Ò"ß/Ø'-§¡×'OÑ'OÐ$Ø19·±ÀÇÁÐ0PÐ$Ô-Ø/7¯}©}Ð$Ô,Ù$ Q¨Õ*ãØˆB�G‰G�I�B—I‘I“K §¡Õ/r"   r%   r³   c                  ó   — t        dd¬«      S ©NÚDRAWT©Úflush©r×   ©r   s    r!   rº   z#_test_sigint_impl.<locals>.<lambda>Î  s   € ”e˜F¨$Ô/€ r"   c                  ó$   •— ‰j                  «       S rµ   r¶   )r   r¹   s    €r!   rº   z#_test_sigint_impl.<locals>.<lambda>Ò  s   ø€ �e—k‘k“m€ r"   ÚSUCCESSTr¬  rs   )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! Â!B:Â9B:ztarget, kwargsrÚ   ro  rÛ   Úintervalrp  c                 óæ  — | j                  d«      }|j                  d«      st        j                  d«       t	        j
                  t        «      d|›d|›d|›d�z   }t        t        j                  d|g«      5 }	 |j                  d«       |j                  t        ¬	«      \  }}d
|v sJ ‚	 d d d «       y # t        $ r% |j                  «        |j                  «       \  }}‚ w xY w# 1 sw Y   y xY w)Nr   ©ÚqtrF   ú-SIGINT currently only tested on qt and macosxz
_test_sigint_impl(rG   ú)rK  r«  r  r±  )rX   rW   r^   r`   rM  rN  r¸  r	   r   rO  r,   Úcommunicaterì   Ú	Exceptionr]  )r   r·  r   r�   r^  rñ   r   r:  s           r!   Útest_sigintrÁ  Ú  só   € ð �g‰g�lÓ#€GØ×ÑÐ.Ô/Ü�‰ÐCÔDÜ×ÑÔ 1Ó2Ø$ W K¨r°&°¸2¸f¸ZÀqÐIñJ€Fä	œcŸn™n¨d°FÐ;Ó	<ð #Àð	Ø�M‰M˜&Ô!Ø×(Ñ(´Ð(Ó?‰IˆF�Að
 ˜FÑ"Ð"Ñ"÷#ð #øô ò 	Ø�I‰IŒKØ×(Ñ(Ó*‰IˆF�AØð	ú÷	#ð #ús$   Á:C'Á<*B6Â&C'Â6.C$Ã$C'Ã'C0c                 ó²  ‡— dd l }dd lm} |j                  | «       t	        ||«      }|j                  «       }|j                  j                  dd„ «       |j                  j                  d¬«      Šd‰_	        ‰j                  t        dd¬«       ˆfd	„} |j                   |j                  |«       	  |di |¤Ž y # t        $ r t        d
d¬«       Y y w xY w)Nr   r³   c                  ó   — t        dd¬«      S rª  r®  r¯  s    r!   rº   z7_test_other_signal_before_sigint_impl.<locals>.<lambda>ù  s   € ´u¸VÈ4Ô7P€ r"   r%   )r¹  TÚSIGUSR1r¬  c                 ó&   •— ‰j                  «        y rµ   r¶   )ÚsignumÚframer¹   s     €r!   Úcustom_signal_handlerzD_test_other_signal_before_sigint_impl.<locals>.custom_signal_handlerÿ  s   ø€ Ø�‰�r"   r±  rs   )rZ  r  r™   r)  r³  r¥   rŽ   rÖ   rÓ   r”  rÔ   r×   rÄ  rµ  )	r�   r¶  r   rZ  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ôà€F‡M�M�&—.‘.Ð"7Ô8ð%ÙÑ�ÓøÜò %Üˆi˜t×$ð%ús   Â4B= Â=CÃCz,No other signal available to send on Windowsc                 óô  — | j                  d«      }|j                  d«      st        j                  d«       |dk(  r9|j                  j                  t        j                  j                  d¬«      «       t        j                  dk(  r>|dk(  r9|j                  j                  t        j                  j                  d	¬«      «       t        j                  t        «      d
|›d|›d|›d�z   }t        t        j                  d|g«      5 }	 |j                  d«       t!        j"                  |j$                  t&        j(                  «       |j                  d«       t!        j"                  |j$                  t&        j*                  «       |j-                  t.        ¬«      \  }}	 d d d «       t3        «       d|v sJ ‚y # t0        $ r% |j#                  «        |j-                  «       \  }}‚ w xY w# 1 sw Y   ŒLxY w)Nr   r»  r½  rF   zmacosx backend is buggyrK   rM   rÚ   zQt backend is buggy on macOSz'
_test_other_signal_before_sigint_impl(rG   r¾  rK  r«  rÄ  r  r±  )rX   rW   r^   r`   ÚnodeÚ
add_markerr_   ra   r   r   rM  rN  rÉ  r	   rO  r,   r   r]  ÚpidrZ  rÄ  r[  r¿  rì   rÀ  r×   )	r   r·  r   rV  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ä×ÑÔ EÓFØ8Ø�˜2˜f˜Z r¨&¨°1ð6ñ6€Fô 
œcŸn™n¨d°FÐ;Ó	<ð 
Àð		Ø�M‰M˜&Ô!Ü�G‰G�D—H‘HœfŸn™nÔ-Ø�M‰M˜)Ô$Ü�G‰G�D—H‘HœfŸm™mÔ,Ø×(Ñ(´Ð(Ó?‰IˆF‘A÷
ô 
ˆ&„MØ˜ÑÐÑøô ò 	Ø�I‰IŒKØ×(Ñ(Ó*‰IˆF�AØð	ú÷
ð 
ús   Ä	G.ÄBF=Æ=.G+Ç+G.Ç.G7)UÚ	functoolsrR   rÀ   rM  rÂ   r   r   rP  rZ  r   r   r‰   rR  Úurllib.requestrU  ÚPILr   r^   rÃ   r   Úmatplotlib.backend_toolsr   Úmatplotlib.testingr   rê   r   ÚPopenr	   Ú	lru_cachern   r{   rì   Ú_retry_countr–   rá   r_   ÚparametrizeÚflakyró   rü   Ú_thread_safe_backendsry   Úvaluesr�   rm   r]   ra   rí   Úpackaging.versionrý   Úmac_verÚTimeoutExpiredrX   Úpython_implementationr   rÏ   r  r  r  r  r  r  r%  r*  r,  r@  rD  ÚskipifrP   rH  rb  rj  rl  r{  Ú_blit_backendsr`   r�  r‰  r�  r—  r›  r¸  rÁ  rÉ  rÎ  rs   r"   r!   ú<module>rá     s1  ðÛ Û Û Û Û Û 	Û Û 	Û Û Û 
Û Û Û å ã å (Ý 3ß Vô˜*×*Ñ*ô ð> ×Ññ7ó ð7òtEñ )Ô*‘°€Ù%Ô'‰q¨Q€ò*ò.W<ðt ‡�×Ñ˜Ñ BÓ DÓEØ‡�×Ñ˜ Z°Ð$?Ó@Ø‡�×Ñ˜,ÐÓ'ñ0ó (ó Aó Fð0ò.ñB ;Ó<Ð à"ó  H€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ð 
�‰�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ð? HðF ‡�×Ñ˜Ð 5Ó6Ø‡�×Ñ˜,ÐÓ'ñ0ó (ó 7ð0ò
ò'ò
>ò>ò>ò2ò"%ò 6ò2ò$0ð& ‡�×ÑØ‡L�L�GÑÒHÐ$FÐ$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ðòòCòð@ ‡�×Ñ˜Ñ BÓ DÓEñ6ó Fð6ò!%ðH ‡�×Ñ˜Ñ 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"   