§
    ‚Øj3  ã                   óÚ  — 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mZ d dlmZ d dl	Z	d dl
Z
d dl
mZ d dlmZ d dl
mZ 	 d dlmZ d dlmZ d d	lmZ d d
lmZ n%# e$ r e	j                             d¦  «        ZY nw xY wdZe	j                             dd¬¦  «        d„ ¦   «         Ze	j                             dddgdfdg dfddgdfddgdfdg dfddgdfddgdfdg d ¢d!fd"g dfd#g d$fd#dgd%fgg d&¢¬'¦  «        e	j                             d( e	j        d)e	j                             d)d¬¦  «        ¬*¦  «         e	j        de	j                             dd¬¦  «        ¬*¦  «        g¦  «        d+„ ¦   «         ¦   «         Ze	j                             dd¬¦  «        d,„ ¦   «         Z e	j                             dd¬¦  «        d-„ ¦   «         Z!e	j                             dd¬¦  «        d.„ ¦   «         Z"e	j                             dd¬¦  «        d/„ ¦   «         Z#e	j                             dd¬¦  «        d0„ ¦   «         Z$e	j                             dd¬¦  «        d1„ ¦   «         Z%e	j                             dd¬¦  «        d2„ ¦   «         Z&e	j                             d)d¬¦  «        d3„ ¦   «         Z'd4„ Z(e	j                             dd¬¦  «        d5„ ¦   «         Z)e	j                             dd¬¦  «        d6„ ¦   «         Z*dS )7é    N)ÚdateÚdatetime)Úmock)Úpyplot)ÚGcf)Ú_c_internal_utils)ÚQtCore)ÚQtGui)Ú	QtWidgets)Ú_formlayoutzNo usable Qt bindingsé<   ÚQtAggT)Úskip_on_importerrorc                  óÒ   — t          j         t          j        ¦  «        } t          j        ¦   «         }|j        j        j                             ¦   «          | t          j        k    sJ ‚d S ©N)	Úcopyr   ÚfigsÚpltÚfigureÚcanvasÚmanagerÚwindowÚclose)Ú	init_figsÚfigs     ú•/Users/tedpeters/Documents/Projects/Claude Projects/Misc Tools/notename-sheets/.venv/lib/python3.11/site-packages/matplotlib/tests/test_backend_qt.pyÚtest_fig_closer      sY   € õ ”	�#œ(Ñ#Ô#€Iõ Œ*‰,Œ,€Cð „JÔÔ×#Ò#Ñ%Ô%Ð%ð �œÒ Ð Ð Ð Ð Ð ó    zqt_key, qt_mods, answerÚKey_AÚShiftModifierÚAÚaÚControlModifierzctrl+aÚ
Key_Aacuteõ   Ã�õ   Ã¡ÚKey_ControlÚAltModifierzalt+controlÚKey_Altzctrl+alt)r#   r(   ÚMetaModifieru   ctrl+alt+meta+Ã¡ÚKey_PlayÚKey_BackspaceÚ	backspacezctrl+backspace)ÚshiftÚlowerÚcontrolÚunicode_upperÚunicode_lowerÚalt_controlÚcontrol_altÚmodifier_orderÚnon_unicode_keyr-   Úbackspace_mod)ÚidsÚbackendÚQt5Agg)Úmarksc                 óL  ‡‡	‡
‡‡— ddl mŠ
mŠ	 t          j        dk    rD|�B|                     dd¦  «        }|                     dd¦  «        }|                     dd¦  «        }dŠ‰	j        j        j        Š|D ]}‰t          ‰	j        j        |¦  «        z  ŠŒ  G ˆ	ˆ
ˆfd	„d
¦  «        }| 
                    t          j        dˆfd„¦  «         ˆfd„}t          j        ¦   «         j        }|                     d|¦  «         |                      |¦   «         ¦  «         ‰|k    sJ ‚dS )zª
    Make a figure.
    Send a key_press_event event (using non-public, qtX backend specific api).
    Catch the event.
    Assert sent and caught keys are the same.
    r   )Ú_to_intr	   ÚdarwinNÚctrlÚcmdr0   Úmetac                   ó$   •— e Zd Zd„ Zˆ ˆˆfd„ZdS )ú test_correct_key.<locals>._Eventc                 ó   — dS )NF© )Úselfs    r   ÚisAutoRepeatz-test_correct_key.<locals>._Event.isAutoRepeatv   s   €  u ur   c                 óJ   •—  ‰t          ‰j        j        ‰¦  «        ¦  «        S r   )ÚgetattrÚQtÚKey)rF   r	   r=   Úqt_keys    €€€r   Úkeyz$test_correct_key.<locals>._Event.keyw   s    ø€ ˜g˜g¥g¨f¬i¬m¸VÑ&DÔ&DÑEÔEÐEr   N)Ú__name__Ú
__module__Ú__qualname__rG   rM   )r	   r=   rL   s   €€€r   Ú_EventrC   u   s/   ø€ € € € € Ø,Ð,Ð,ØEÐEÐEÐEÐEÐEÐEÐEÐEr   rQ   ÚkeyboardModifiersc                 ó   •— ‰S r   rE   )rF   Úqt_mods    €r   ú<lambda>z"test_correct_key.<locals>.<lambda>z   s   ø€  V€ r   c                 ó   •— | j         Šd S r   )rM   )ÚeventÚresults    €r   Úon_key_pressz&test_correct_key.<locals>.on_key_press|   s   ø€ à”ˆˆˆr   Úkey_press_event)Úmatplotlib.backends.qt_compatr=   r	   ÚsysÚplatformÚreplacerJ   ÚKeyboardModifierÚ
NoModifierrI   Úsetattrr   ÚQApplicationr   r   r   Úmpl_connectÚkeyPressEvent)r9   rL   Úqt_modsÚanswerÚmonkeypatchÚmodrQ   rY   Ú	qt_canvasr	   r=   rT   rX   s    `       @@@@r   Útest_correct_keyrj   /   s�  øøøøø€ ðv >Ð=Ð=Ð=Ð=Ð=Ð=Ð=å
„|�xÒÐ FÐ$6Ø—’ ¨Ñ.Ô.ˆØ—’ 	¨5Ñ1Ô1ˆØ—’ ¨Ñ/Ô/ˆØ€FØŒYÔ'Ô2€FØð ;ð ;ˆØ•'˜&œ)Ô4°cÑ:Ô:Ñ:ˆˆðFð Fð Fð Fð Fð Fð Fð Fð Fñ Fô Fð Fð ×Ò�	Ô.Ð0CØ+Ð+Ð+Ð+ñ-ô -ð -ðð ð ð ð õ ”
‘”Ô#€IØ×ÒÐ+¨\Ñ:Ô:Ð:Ø×Ò˜F˜F™HœHÑ%Ô%Ð%Ø�VÒÐÐÐÐÐr   c                  ó^  ‡	‡
— d} t          j        | ¦  «        5 Š	d‰	_        t          j        dd¬¦  «        }|j        Š
‰
                     ¦   «          ˆ	ˆ
fd„}‰
j                             ¦   «          ‰
                     ¦   «          ‰
 	                    ¦   «          ‰
 
                    ¦   «         }g d¢}|D ]¿\  }}}}|� ||¦  «         |j        |k    sJ ‚‰
j        j        |k    sJ ‚‰
j        j        |k    sJ ‚|                     ¦   «         d	k    sJ ‚|                     ¦   «         d
k    sJ ‚‰
                     ¦   «         dk    sJ ‚|                     ¦   «         dk                         ¦   «         sJ ‚ŒÀt          j        |¦  «         |j        dk    sJ ‚	 ddd¦  «         dS # 1 swxY w Y   dS )z}
    Make sure that if the pixel ratio changes, the figure dpi changes but the
    widget remains the same logical size.
    z?matplotlib.backends.backend_qt.FigureCanvasQT.devicePixelRatioFé   )é   é   éx   )ÚfigsizeÚdpic                 óJ  •— | ‰_         ‰                     ¦   «                              ¦   «         }t          d„ t	          j        ¦   «                              dd¦  «        d d…         D ¦   «         ¦  «        }|dk    rGt          j                             |t	          j	        t          j	        j
        j        ¦  «        ¦  «         n,|                     ¦   «         j                             d¦  «         ‰                     ¦   «          ‰                     ¦   «          ‰j        | k    sJ ‚d S )Nc              3   ó4   K  — | ]}t          |¦  «        V — Œd S r   )Úint)Ú.0Úxs     r   ú	<genexpr>zQtest_device_pixel_ratio_change.<locals>.set_device_pixel_ratio.<locals>.<genexpr>™   s(   è è € Ð#XÐ#X¨q¥C¨¡F¤FÐ#XÐ#XÐ#XÐ#XÐ#XÐ#Xr   ú.rn   )é   ry   é`   )Úreturn_valuer   ÚwindowHandleÚtupler	   ÚqVersionÚsplitÚQCoreApplicationÚ	sendEventÚQEventÚTypeÚDevicePixelRatioChangeÚscreenÚlogicalDotsPerInchChangedÚemitÚdrawÚflush_eventsÚdevice_pixel_ratio)Úratior   Úcurrent_versionÚpri   s      €€r   Úset_device_pixel_ratioz>test_device_pixel_ratio_change.<locals>.set_device_pixel_ratio•   s  ø€ Ø"ˆAŒNà×%Ò%Ñ'Ô'×4Ò4Ñ6Ô6ˆFÝ#Ð#XÐ#XµF´OÑ4EÔ4E×4KÒ4KÈCÐQRÑ4SÔ4SÐTVÐUVÐTVÔ4WÐ#XÑ#XÔ#XÑXÔXˆOØ &Ò(Ð(ÝÔ'×1Ò1ØÝ”M¥&¤-Ô"4Ô"KÑLÔLñNô Nð Nð Nð —’‘”Ô9×>Ò>¸rÑBÔBÐBà�NŠNÑÔÐØ×"Ò"Ñ$Ô$Ð$ð Ô/°5Ò8Ð8Ð8Ð8Ð8Ð8r   ))Néh  é  éÐ  )rl   r�   r�   r‘   )rn   éð   i°  ià  )g      ø?é´   i„  r�   NéX  r’   )r”   r’   )r   Úpatchr{   r   r   r   Úshowr   rˆ   r‰   Úsizerq   ÚrendererÚwidthÚheightÚget_width_heightÚget_size_inchesÚallr   )Úpropr   rŽ   r—   Úoptionsr‹   rq   r™   rš   r�   ri   s            @@r   Útest_device_pixel_ratio_changer    †   s4  øø€ ð M€DÝ	Œ�DÑ	Ô	ð 9˜QØˆŒåŒj ¨SÐ1Ñ1Ô1ˆØ”Jˆ	Ø�ŠÑÔÐð	9ð 	9ð 	9ð 	9ð 	9ð 	9ð, 	Ô×ÒÑ Ô Ð Ø�ŠÑÔÐØ×ÒÑ Ô Ð Ø�~Š~ÑÔˆð
ð 
ð 
ˆð *1ð 	;ð 	;Ñ%ˆE�3˜˜vØÐ Ø&Ð& uÑ-Ô-Ð-ð ”7˜c’>�>�>�>ØÔ%Ô+¨uÒ4Ð4Ð4Ð4ØÔ%Ô,°Ò6Ð6Ð6Ð6ð —:’:‘<”< 3Ò&Ð&Ð&Ð&Ø—;’;‘=”= CÒ'Ð'Ð'Ð'Ø×-Ò-Ñ/Ô/°:Ò=Ð=Ð=Ð=Ø×'Ò'Ñ)Ô)¨VÒ3×8Ò8Ñ:Ô:Ð:Ð:Ð:Ð:õ 	Œ	�#‰ŒˆØŒw˜#Š~ˆ~ˆ~ˆ~ˆ~ðs9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9s   ™E;F"Æ"F&Æ)F&c                  ó2  — t          j        ¦   «         \  } }t          j        dd„ ¦  «        5  | j        j        j                             ¦   «         }|€J ‚|| j        j        j                             ¦   «         k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nú#matplotlib.backends.qt_compat._execc                 ó   — d S r   rE   ©Úobjs    r   rU   z"test_subplottool.<locals>.<lambda>Í   ó   € Àt€ r   )r   Úsubplotsr   r•   r   r   ÚtoolbarÚconfigure_subplots)r   ÚaxÚtools      r   Útest_subplottoolr¬   Ê   sí   € åŒl‰nŒn�G€CˆÝ	ŒÐ9Ð;KÐ;KÑ	LÔ	Lð Gð GØŒzÔ!Ô)×<Ò<Ñ>Ô>ˆØÐÐÐØ�s”zÔ)Ô1×DÒDÑFÔFÒFÐFÐFÐFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gs   ­ABÂBÂBc                  ó°  — t          j        ¦   «         \  } }|                     ddg¦  «         |                     dgg¦  «         |                     t          d¦  «        t          d¦  «        t          d¦  «        ¬¦  «         t          j        dd„ ¦  «        5  | j        j	        j
                             ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Né   rn   rl   )Úcr¢   c                 ó   — d S r   rE   r¤   s    r   rU   z$test_figureoptions.<locals>.<lambda>Ù   r¦   r   )r   r§   ÚplotÚimshowÚscatterÚranger   r•   r   r   r¨   Úedit_parameters)r   rª   s     r   Útest_figureoptionsr¶   Ó   sù   € åŒl‰nŒn�G€CˆØ‡G‚GˆQ�ˆF�O„O€OØ‡I‚I�ˆsˆeÑÔÐØ‡J‚J�u�Q‰xŒx�˜q™œ¥U¨1¡X¤X€JÑ.Ô.Ð.Ý	ŒÐ9Ð;KÐ;KÑ	LÔ	Lð 5ð 5ØŒ
ÔÔ"×2Ò2Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   Â$CÃCÃCc                 ó4  — t          j        ¦   «         \  }}|                     dgg¦  «         | dz  }d}t          j        |t          |¦  «        d f¬¦  «        5  |j        j        j         	                    ¦   «         }|t          |¦  «        k    sJ ‚| 
                    ¦   «         sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        |d¬¦  «        5  |j        j        j         	                    ¦   «         }|�J ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr®   z
foobar.pngzCmatplotlib.backends.qt_compat.QtWidgets.QFileDialog.getSaveFileName)r{   )NN)r   r§   r²   r   r•   Ústrr   r   r¨   Úsave_figureÚexists)Útmp_pathr   rª   Úexpectedrž   Úfnames         r   Útest_save_figure_returnr¾   Ý   s“  € åŒl‰nŒn�G€CˆØ‡I‚I�ˆsˆeÑÔÐØ˜,Ñ&€HØP€DÝ	Œ�D­¨H©¬°tÐ'<Ð	=Ñ	=Ô	=ð !ð !Ø”
Ô"Ô*×6Ò6Ñ8Ô8ˆØ�˜H™œÒ%Ð%Ð%Ð%Ø�ŠÑ Ô Ð Ð Ð Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ 
Œ�D |Ð	4Ñ	4Ô	4ð ð Ø”
Ô"Ô*×6Ò6Ñ8Ô8ˆØˆ}ˆ}ˆ}ˆ}ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s%   ÁAB6Â6B:Â=B:Ã(DÄDÄDc                  óJ  — t          j        ¦   «         \  } }t          ddd¬¦  «        t          ddd¬¦  «        g}|                     ||¦  «         t	          j        dd„ ¦  «        5  | j        j        j         	                    ¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Néå  r®   ©ÚyearÚmonthÚdayrn   r¢   c                 ó   — d S r   rE   r¤   s    r   rU   z7test_figureoptions_with_datetime_axes.<locals>.<lambda>ô   r¦   r   )
r   r§   r   r±   r   r•   r   r   r¨   rµ   )r   rª   Úxydatas      r   Ú%test_figureoptions_with_datetime_axesrÇ   ì   sç   € åŒl‰nŒn�G€Cˆå�d !¨Ð+Ñ+Ô+Ý�d !¨Ð+Ñ+Ô+ð€Fð ‡G‚GˆF�FÑÔÐÝ	ŒÐ9Ð;KÐ;KÑ	LÔ	Lð 5ð 5ØŒ
ÔÔ"×2Ò2Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5ð 5ð 5s   Á'$BÂBÂBc                  óh  — t          j        ¦   «         \  } }| j                             ¦   «          | j        j        j        }d\  }}|                      ||¦  «         | j                             ¦   «         |t          j	        d         z  k    sJ ‚| j         
                    ¦   «         |t          j	        d         z  k    sJ ‚|                     ¦   «         }| 
                    ¦   «         }|                      ||¦  «         |                     ¦   «         |k    sJ ‚| 
                    ¦   «         |k    sJ ‚d S )N)rl   rn   z
figure.dpi)r   r§   r   rˆ   r   r   Úset_size_inchesr™   Ú
matplotlibÚrcParamsrš   )r   rª   r   ÚwÚhÚ	old_widthÚ
old_heights          r   Útest_double_resizerÐ   ø   s  € õ Œl‰nŒn�G€CˆØ„J‡O‚OÑÔÐØŒZÔÔ&€Fà�D€A€qØ×Ò˜˜1ÑÔÐØŒ:×ÒÑÔ ¥ZÔ%8¸Ô%FÑ!FÒFÐFÐFÐFØŒ:×ÒÑÔ !¥jÔ&9¸,Ô&GÑ"GÒGÐGÐGÐGà—’‘”€IØ—’‘”€Jà×Ò˜˜1ÑÔÐØ�<Š<‰>Œ>˜YÒ&Ð&Ð&Ð&Ø�=Š=‰?Œ?˜jÒ(Ð(Ð(Ð(Ð(Ð(r   c                  óˆ   ‡— ddl m}  dŠˆfd„}t          j        ¦   «         \  }}||_         | |¦  «        }d|_        ‰sJ ‚d S )Nr   )ÚFigureCanvasQTAggFc                 ó>   •— | j                              ¦   «          dŠd S )NT)r   Ú	draw_idle)r   ÚstaleÚcalleds     €r   Úcrashing_callbackz-test_canvas_reinit.<locals>.crashing_callback  s    ø€ àŒ
×ÒÑÔÐØˆˆˆr   T)Ú!matplotlib.backends.backend_qtaggrÒ   r   r§   Ústale_callbackrÕ   )rÒ   r×   r   rª   r   rÖ   s        @r   Útest_canvas_reinitrÚ     sp   ø€ àCÐCÐCÐCÐCÐCà€Fðð ð ð ð õ
 Œl‰nŒn�G€CˆØ*€CÔàÐ˜sÑ#Ô#€FØ€C„IØ€M€Mˆ6€M€Mr   c                  óB  — ddl m}   | ¦   «          dt          ddd¬¦  «        fdt          ddd¬¦  «        fg}t	          j        |¦  «        }|                     ¦   «          |                     ¦   «         }|t          ddd¬¦  «        t          ddd¬¦  «        gk    sJ ‚d S )	Nr   )Ú_create_qAppzDatetime fieldrÀ   rl   é   rÁ   z
Date field)Úmatplotlib.backends.backend_qtrÜ   r   r   r   Ú
FormWidgetÚsetupÚget)rÜ   ÚformÚwidgetÚvaluess       r   Ú2test_form_widget_get_with_datetime_and_date_fieldsrå     sÌ   € à;Ð;Ð;Ð;Ð;Ð;Ø€L�N„N€Nð 
�8¨°Q¸BÐ?Ñ?Ô?Ð@Ø	•t ¨Q°BÐ7Ñ7Ô7Ð8ð€Dõ Ô# DÑ)Ô)€FØ
‡L‚L�N„N€NØ�ZŠZ‰\Œ\€FØÝ�d !¨Ð,Ñ,Ô,Ý�$˜a RÐ(Ñ(Ô(ðò ð ð ð ð ð r   c            
      ó2  — g } d„ dD ¦   «         D �]\  }}d }d„ |D ¦   «         }t           j        dk    rt          j        ¦   «         sd}nX|r)d                     d                     |¦  «        ¦  «        }n-|d         d	k    r!t          j                             d
¦  «        rd}g }|r9| 	                    t          j                             d|› d|› �¬¦  «        ¦  «         |  	                    t          j        ||t          |¦  «        ¬¦  «        ¦  «         �Œ| S )Nc                 ó   — g | ]
}|gd |dœf‘ŒS )Úqtagg)Ú
MPLBACKENDÚQT_APIrE   )ru   Úqt_apis     r   ú
<listcomp>z-_get_testable_qt_backends.<locals>.<listcomp>3  s7   € ð ð ð àð ˆX g¸Ð@Ð@ÐAðð ð r   )ÚPyQt6ÚPySide6ÚPyQt5ÚPySide2c                 óP   — g | ]#}t           j                             |¦  «        °!|‘Œ$S rE   )Ú	importlibÚutilÚ	find_spec)ru   Údeps     r   rì   z-_get_testable_qt_backends.<locals>.<listcomp>8  s-   € ÐLÐLÐL˜3­i¬n×.FÒ.FÀsÑ.KÔ.KÐL�3ÐLÐLÐLr   Úlinuxz'$DISPLAY and $WAYLAND_DISPLAY are unsetz{} cannot be importedz, ré   ÚmacosxÚTF_BUILDzmacosx backend fails on Azurez	Skipping z	 because )Úreason)r;   Úid)r\   r]   r   Údisplay_is_validÚformatÚjoinÚosÚenvironrá   ÚappendÚpytestÚmarkÚskipÚparamr¸   )ÚenvsÚdepsÚenvrù   Úmissingr;   s         r   Ú_get_testable_qt_backendsr	  1  sE  € Ø€Dðð àBðñ ô ð Añ A‰	ˆˆcð ˆØLÐL $ÐLÑLÔLˆÝŒL˜GÒ#Ð#Ý%Ô6Ñ8Ô8ð $à>ˆFˆFØð 	5Ø,×3Ò3°D·I²I¸gÑ4FÔ4FÑGÔGˆFˆFØ�Ô (Ò*Ð*­r¬z¯~ª~¸jÑ/IÔ/IÐ*Ø4ˆFØˆØð 	<Ø�LŠL�œ×)Ò)Ø9 3Ð9Ð9°Ð9Ð9ð *ñ ;ô ;ñ <ô <ð <à�Š•F”L ¨Eµc¸#±h´hÐ?Ñ?Ô?Ñ@Ô@Ð@Ñ@Ø€Kr   c                  ón  ‡— ddl m}  t          j        ¦   «          d Šˆfd„}t          j                             d|¦  «         t          j        t          j	        ¦  «        }d„ }t          j        t          j	        |¦  «         	 t          j        j        j                             ¦   «          ‰|k    sJ ‚t          j        t          j	        ¦  «        |k    sJ ‚t          j        t          j        fD ]�}t          j                             d|¦  «         t          j        t          j	        |¦  «         |                      ¦   «          ‰|k    sJ ‚t          j        t          j	        ¦  «        |k    sJ ‚Œ‚	 t          j        t          j	        |¦  «         d S # t          j        t          j	        |¦  «         w xY w)Nr   )Ú_BackendQT5c                  ó€   •— t          j        t           j        ¦  «        Š t          j                             ¦   «          d S r   )ÚsignalÚ	getsignalÚSIGINTr	   r€   Úexit)Úevent_loop_handlers   €r   Úfire_signal_and_quitz6test_fig_sigint_override.<locals>.fire_signal_and_quitR  s5   ø€ õ $Ô-­f¬mÑ<Ô<Ðõ 	Ô×$Ò$Ñ&Ô&Ð&Ð&Ð&r   c                 ó   — d S r   rE   )ÚsignumÚframes     r   Úcustom_handlerz0test_fig_sigint_override.<locals>.custom_handlera  s   € Øˆr   )Úmatplotlib.backends.backend_qt5r  r   r   r	   ÚQTimerÚ
singleShotr  r  r  rÊ   ÚbackendsÚ
backend_qtÚ
_BackendQTÚmainloopÚSIG_DFLÚSIG_IGN)r  r  Úoriginal_handlerr  r  s       @r   Útest_fig_sigint_overrider!  H  s¶  ø€ à;Ð;Ð;Ð;Ð;Ð;å„J�L„L€Lð Ðð'ð 'ð 'ð 'ð 'õ „M×Ò˜QÐ 4Ñ5Ô5Ð5õ Ô'­¬Ñ6Ô6Ððð ð õ „M•&”- Ñ0Ô0Ð0ð7õ 	ÔÔ&Ô1×:Ò:Ñ<Ô<Ð<ð " ^Ò3Ð3Ð3Ð3õ Ô¥¤Ñ.Ô.°.Ò@Ð@Ð@Ð@õ  &œ~­v¬~Ð>ð 	Eð 	EˆNÝŒM×$Ò$ QÐ(<Ñ=Ô=Ð=ÝŒM�&œ-¨Ñ8Ô8Ð8à× Ò Ñ"Ô"Ð"à%¨Ò7Ð7Ð7Ð7ÝÔ#¥F¤MÑ2Ô2°nÒDÐDÐDÐDÐDð	Eõ 	Œ•f”mÐ%5Ñ6Ô6Ð6Ð6Ð6ø�Œ•f”mÐ%5Ñ6Ô6Ð6Ð6øøøs   ÂC.F Æ!F4c                  ó2   — ddl m}   | dddddœ¦  «         d S )Nr   ©Úipython_in_subprocessÚqtrè   r   r:   ))é   é   )r&  é   )é   r   )Úmatplotlib.testingr$  r#  s    r   Útest_ipythonr+  �  s7   € à8Ð8Ð8Ð8Ð8Ð8ØÐ˜$¨'¸GÈXÐ VÐ VÑWÔWÐWÐWÐWr   )+r   rò   rþ   r  r\   r   r   Úunittestr   r  rÊ   r   r   Úmatplotlib._pylab_helpersr   r   r[   r	   r
   r   Úmatplotlib.backends.qt_editorr   ÚImportErrorr  r  Ú
pytestmarkÚ_test_timeoutr9   r   Úparametrizer  rj   r    r¬   r¶   r¾   rÇ   rÐ   rÚ   rå   r	  r!  r+  rE   r   r   ú<module>r3     sñ  ðØ €€€Ø Ð Ð Ð Ø 	€	€	€	Ø €€€Ø 
€
€
€
à #Ð #Ð #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð Ð Ð à €€€à Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ø )Ð )Ð )Ð )Ð )Ð )Ø (Ð (Ð (Ð (Ð (Ð (ð;Ø4Ð4Ð4Ð4Ð4Ð4Ø3Ð3Ð3Ð3Ð3Ð3Ø7Ð7Ð7Ð7Ð7Ð7Ø9Ð9Ð9Ð9Ð9Ð9Ð9øØð ;ð ;ð ;Ø”×!Ò!Ð"9Ñ:Ô:€J€J€Jð;øøøð €ð „×Ò�W°$ÐÑ7Ô7ð!ð !ñ 8Ô7ð!ð" „×ÒØà	�?Ð# SÐ)Ø	�"�cÐØ	Ð$Ð%¨Ð2àØÐØ3ð	
ð
 
�rÐ@ÐAØ	˜˜¨-Ð9Ø	Ð&Ð'¨Ð4àØ>Ð>Ð>Ø@ð	
ð 
�R˜ÐØ	˜"˜kÐ*àØÐØð	
ð+ð6	ð 	ð 	ð; ñ *ô *ðV „×Ò˜à€F„LØØŒk×!Ò! (ÀÐ!ÑEÔEðGñ Gô Gð €F„LØØŒk×!Ò! '¸tÐ!ÑDÔDðFñ Fô Fð%ñ ô ð ð  ñô ñW*ô *ðh ðF „×Ò�W°$ÐÑ7Ô7ð@ð @ñ 8Ô7ð@ðF „×Ò�W°$ÐÑ7Ô7ðGð Gñ 8Ô7ðGð „×Ò�W°$ÐÑ7Ô7ð5ð 5ñ 8Ô7ð5ð „×Ò�W°$ÐÑ7Ô7ðð ñ 8Ô7ðð „×Ò�W°$ÐÑ7Ô7ð5ð 5ñ 8Ô7ð5ð „×Ò�W°$ÐÑ7Ô7ð)ð )ñ 8Ô7ð)ð& „×Ò�W°$ÐÑ7Ô7ðð ñ 8Ô7ðð$ „×Ò�X°4ÐÑ8Ô8ðð ñ 9Ô8ðð"ð ð ð. „×Ò�W°$ÐÑ7Ô7ð57ð 57ñ 8Ô7ð57ðp „×Ò�W°$ÐÑ7Ô7ðXð Xñ 8Ô7ðXð Xð Xs   ¾A ÁA9Á8A9