Ë
    íÍ:jD²  ã                   óÌ	  — d dl m 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	m
Z d dlZd dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZmZ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&m'Z' d dl(m)Z) d dl*m+Z+m,Z,m-Z-  eej\                  «      Z/ e'dgd¬«      d„ «       Z0 e'dgd¬«      d„ «       Z1 e'dgd¬«      d„ «       Z2 e'dgd¬«      d„ «       Z3 e'dgd¬«      d„ «       Z4d„ Z5ejl                  jo                  de8e9dfe8d d gdfe:ddfe:dd fe:d!d"fe:d#d$ff«      d%„ «       Z; e'd&gd¬«      d'„ «       Z< e'd(gd¬«      d)„ «       Z= e'd*gdd+¬,«      d-„ «       Z> e'd.gd¬«      d/„ «       Z?d0„ Z@d1„ ZAejl                  jo                  d2d3d4gd5d6g¬7«      d8„ «       ZBd9„ ZCd:„ ZDd;„ ZEd<„ ZFd=„ ZGd>„ ZHejl                  jo                  d?g d@¢«      ejl                  jo                  dAg dB¢«      dC„ «       «       ZI e'dDgd¬«      dE„ «       ZJ e'dFgd¬«      dG„ «       ZK e'dHgd¬«      dI„ «       ZLdJ„ ZM e'dKgd¬«      dL„ «       ZNdM„ ZO e'dNgd¬«      dO„ «       ZPejl                  jo                  dPg dQ¢«      dR„ «       ZQdS„ ZRdT„ ZSe)dU„ «       ZTe)dV„ «       ZUejl                  jo                  dWg dX¢«      dY„ «       ZV e'dZgd[¬«      d\„ «       ZW e'd]gd[¬«      d^„ «       ZXd_„ ZYd`„ ZZ e&«       da„ «       Z[ e'dbgd¬«      dc„ «       Z\ejl                  jo                  ddg de¢«      df„ «       Z]dg„ Z^dh„ Z_di„ Z`dj„ Za e&«       dk„ «       Zbdl„ Zcdm„ Zddn„ Zeejl                  jo                  dodpdqgg«      dr„ «       Zfds„ Zgejl                  jÑ                  e/jÒ                  dtk(  du¬v«      dw„ «       Zjejl                  jÑ                  e/jÒ                  dtk(  du¬v«      dx„ «       Zke)dy„ «       Zldz„ Zmd{„ Znd|„ Zod}„ Zp e&«       d~„ «       Zq e&g dX¢¬«      d€„ «       Zr e&g dX¢¬«      d�„ «       Zsd‚„ Ztdƒ„ Zud„„ Zvd…„ Zw e'd†gd¬«      d‡„ «       Zx e'dˆgd¬«      d‰„ «       ZydŠ„ Zzd‹„ Z{ e'dŒgd�d¬Ž«      d�„ «       Z| e'd�gd�d¬Ž«      d‘„ «       Z}d’„ Z~d“„ Z e'd”gg d•¢d¬–«      d—„ «       Z€d˜„ Z� e'd™gd�dg d•¢¬š«      d›„ «       Z‚ejl                  jo                  dœg d�¢džfdŸgdžfd gd¡fd¢gd£fg«      d¤„ «       Zƒd¥„ Z„ e'd¦gd�dg d•¢¬š«      d§„ «       Z… e'd¨gd¬«      d©„ «       Z†y)ªé    )ÚdatetimeN)Úassert_almost_equal)Úparse)Ú
MouseEvent)ÚRendererAgg)ÚFigure)ÚFontPropertiesÚfontManagerÚget_font)ÚGridSpec)Úcheck_figures_equalÚimage_comparison)Úneeds_usetex)ÚTextÚ
AnnotationÚ
OffsetFromÚfont_stylesÚmpl20)Ústylec                  óü  ‡	‡
— ˆ	ˆ
fd„} ddl mŠ	mŠ
 t        j                  ddt
        d¬«       t        j                  «       \  }} | dd	d	d
¬«      }|j                  ddd|¬«      }|j                  «       dk(  sJ ‚|j                  «       d	k(  sJ ‚|j                  «       d	k(  sJ ‚|j                  «       d	k(  sJ ‚|j                  «       d	k(  sJ ‚ | dd	d	ddd
¬«      }|j                  ddd|¬«        | ddd	ddd
¬«      }|j                  ddd|¬«        | dd	d	ddd
¬«      }|j                  ddd|¬«        | dd	d	ddd
¬«      }|j                  d d!d|¬«       |j                  g «       |j                  g «       y )"Nc                  ó^   •—  ‰di | ¤Ž} ‰|t        j                  «       ¬«      } ‰|¬«      S )N)Ú	directory)Úfname© )ÚmplÚget_data_path)ÚkwÚpropÚpathr	   Úfindfonts      €€úo/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_text.pyÚfind_matplotlib_fontz.test_font_styles.<locals>.find_matplotlib_font    s0   ø€ ÙÑ# Ñ#ˆÙ˜¬×(9Ñ(9Ó(;Ô<ˆÙ DÔ)Ð)ó    r   )r	   r    Úignorez>findfont: Font family \[u?'Foo'\] not found. Falling back to .zmatplotlib.font_manager)Úmodulez
sans-serifÚnormalé   )Úfamilyr   ÚvariantÚsizezNormal Font)çš™™™™™¹?r+   úaxes fraction)ÚxycoordsÚfontpropertiesúDejaVu SansÚFooÚboldiô  )r(   r   r)   ÚweightÚstretchr*   z	Bold Font)r+   çš™™™™™É?ú
sans serifÚitaliciî  zBold Italic Font)r+   ç333333Ó?éÈ   z
Light Font)r+   çš™™™™™Ù?éd   zCondensed Font)r+   ç      à?)Úmatplotlib.font_managerr	   r    ÚwarningsÚfilterwarningsÚUserWarningÚpltÚsubplotsÚannotateÚget_fontnameÚget_fontstyleÚget_fontvariantÚ
get_weightÚget_stretchÚ
set_xticksÚ
set_yticks)r"   ÚfigÚaxÚnormal_fontÚaÚ	bold_fontÚbold_italic_fontÚ
light_fontÚcondensed_fontr	   r    s            @@r!   Útest_font_stylesrR      sè  ù€ õ*÷
 AÜ×ÑØØIÜØ(õ	*ô �l‰l‹n�G€Cˆá&ØØØØô	€Kð
 	�‰ØØØ Ø"ð	 	ó 	$€Að
 �>‰>Ó˜}Ò,Ð,Ð,Ø�?‰?Ó Ò(Ð(Ð(Ø×ÑÓ (Ò*Ð*Ð*Ø�<‰<‹>˜XÒ%Ð%Ð%Ø�=‰=‹?˜hÒ&Ð&Ð&á$ØØØØØØô€Ið ‡K�KØØØ Ø ð	 ô "ñ ,ØØØØØØôÐð ‡K�KØØØ Ø'ð	 ô )ñ &ØØØØØØô€Jð ‡K�KØØØ Ø!ð	 ô #ñ *ØØØØØØô€Nð ‡K�KØØØ Ø%ð	 ô 'ð ‡M�M�"ÔØ‡M�M�"Õr#   Ú	multilinec                  óº  — t        j                  «        t        j                  ddd«      } | j                  d«       t        j                  dddddd¬	«       t        j                  ddd
ddd¬	«       t        j                  dddddd¬	«       t        j
                  dd«       t        j                  dd«       | j                  g «       | j                  g «       y )Né   zmultiline
text alignmentr4   r;   zTpTpTp
$M$
TpTpTpé   ÚcenterÚtop©r*   ÚhaÚvazTpTpTp
$M^{M^{M^{M}}}$
TpTpTpçš™™™™™é?zTpTpTp
$M_{q_{q_{q}}}$
TpTpTpr   )	r@   ÚfigureÚsubplotÚ	set_titleÚtextÚxlimÚylimrH   rI   ©rK   s    r!   Útest_multilinerd   v   s´   € ä‡J�J„LÜ	�‰�Q˜˜1Ó	€BØ‡L�LÐ,Ô-ä‡H�HØˆSÐ'¨b°XÀ%õIô ‡H�HØˆSÐ3¸"Ø˜õô ‡H�HØˆSÐ3¸"Ø˜õô ‡H�HˆQ�„NÜ‡H�HˆQ�Ôà‡M�M�"ÔØ‡M�M�"Õr#   Ú
multiline2c            	      óÐ  ‡— t        j                  «       \  } }|j                  dd«       |j                  dd«       |j	                  ddd¬«       g d¢}| j
                  j                  «       Šˆfd	„}d
}t        |«      D ]*  \  }}|j                  d|z  dz   d||d¬«      } |||«       Œ, |j                  dddd¬«       |j	                  ddd¬«       t        |«      D ]*  \  }}|j                  d|z  dz   d||d¬«      } |||«       Œ, |j                  dddd¬«       |j	                  ddd¬«       t        |«      D ]*  \  }}|j                  d|z  dz   d||d¬«      } |||«       Œ, |j                  dddd¬«       |j	                  ddd¬«       t        |«      D ]+  \  }}|j                  d|z  dz   d||dd¬«      } |||«       Œ- |j                  dddd¬«       y )Nr   gffffffö?é   r;   ÚC2r7   )ÚcolorÚ	linewidth)ÚLinez2 Lineg
 2 Lgz$\sum_i x $zhi $\sum_i x $
testztest
 $\sum_i x $z$\sum_i x $
 $\sum_i x $c                 ó  •— t        j                  dddd| j                  ¬«      }|j                  |j	                  ‰«      j                  | j                  j                  «       «      j                  «       | j                  |«       y )N©r   r   rU   F)Úclip_onÚ	transform)	ÚmpatchesÚ	RectangleÚ	transAxesÚ
set_boundsÚget_window_extentÚtransformedÚinvertedÚboundsÚ	add_patch)rK   ÚttÚrÚrenderers      €r!   Údraw_boxz!test_multiline2.<locals>.draw_box™   se   ø€ Ü×Ñ˜v q¨!°UØ)+¯©ô7ˆà	�‰Ø× Ñ  Ó*ß‰[˜Ÿ™×.Ñ.Ó0Ó1ß‰Vô	ð 	�‰�Q�r#   Úleftr4   r+   Úbottom)ÚhorizontalalignmentÚverticalalignmentg333333ó?zBottom align©ri   gÍÌÌÌÌÌô?rX   z	Top aligngÍÌÌÌÌÌü?ÚbaselinezBaseline alignrV   )r   r€   ÚrotationzBot align, rot20)	r@   rA   Úset_xlimÚset_ylimÚaxhlineÚcanvasÚget_rendererÚ	enumerater`   )	rJ   rK   Ústsr|   ÚhoralÚnnÚstry   r{   s	           @r!   Útest_multiline2rŽ   Ž   s  ø€ ä�l‰l‹n�G€Cˆà‡K�K��3ÔØ‡K�K��1ÔØ‡J�Jˆs˜$¨#€JÔ.òA€Cà�z‰z×&Ñ&Ó(€Hôð €EÜ˜C“.ò ‰ˆˆBØ�W‰W�S˜2‘X ‘^ S¨"À%Ø'/ð ó 1ˆá��RÕðð ‡G�GˆC��n¨D€GÔ1à‡J�Jˆs˜$¨#€JÔ.Ü˜C“.ò ‰ˆˆBØ�W‰W�S˜2‘X ‘^ S¨"À%Ø',ð ó .ˆá��RÕðð ‡G�GˆC��k¨€GÔ.à‡J�Jˆs˜$¨#€JÔ.Ü˜C“.ò ‰ˆˆBØ�W‰W�S˜2‘X ‘^ S¨"À%Ø'1ð ó 3ˆá��RÕðð ‡G�GˆC�Ð&¨d€GÔ3à‡J�Jˆs˜$¨#€JÔ.Ü˜C“.ò ‰ˆˆBØ�W‰W�S˜2‘X ‘^ S¨"À%Ø'/¸"ð ó >ˆá��RÕðð ‡G�GˆC�Ð(°€GÕ5r#   zantialiased.pngc                  óZ  — dt         j                  d<   t        j                  d¬«      } | j	                  dddddd	¬
«       | j	                  dddddd	¬
«       d	t         j                  d<   | j	                  dddddd¬
«       | j	                  dddddd¬
«       dt         j                  d<   y )NFútext.antialiased)g      @ç      è?©Úfigsizer7   r‘   ÚantialiasedrW   T)r   r€   r”   ç      Ð?z
$\sqrt{x}$çffffffæ?znot antialiased)r   ÚrcParamsr@   r]   r`   ©rJ   s    r!   Útest_antialiasingr™   ¿   sº   € à',„C‡L�LÐ#Ñ$ä
�*‰*˜\Ô
*€CØ‡H�HˆS�$˜¸8Ø'°Tð ô ;à‡H�HˆS�$˜¸8Ø'°Tð ô ;ð (,„C‡L�LÐ#Ñ$Ø‡H�HˆS�$Ð)¸xØ'°Uð ô <à‡H�HˆS�$˜¸8Ø'°Uð ô <ð (-„C‡L�LÐ#Ò$r#   ztext_contains.pngc                  ó  — t        j                  d¬«      } t        j                  «       }t        d| j                  dddd «      }t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}t        j                  dd	d
ddd¬«      }| j                  j                  «        t        |j                  |j                  «      D ]¥  \  }}t        j                  «       j                  j                  ||g«      \  |_        |_        |j#                  |«      \  }}	|rdnd}
|j$                  j'                  «       }|j)                  ||d|
¬«       |j$                  j+                  |«       Œ§ y )N©é   é   r’   Úbutton_press_eventr;   rU   r•   r‘   é   r9   zhello worldrW   )rZ   Úfontsizerƒ   ÚyellowÚredÚor�   )r@   r]   Úaxesr   r‡   ÚnpÚlinspaceÚmeshgridr`   ÚdrawÚzipÚflatÚgcarr   ro   ÚxÚyÚcontainsÚviewLimÚfrozenÚplotÚset)rJ   rK   ÚmeventÚxsÚysÚtxtr¬   r­   r®   Ú_ri   Úvls               r!   Útest_containsr¹   Ò   s6  € ä
�*‰*˜VÔ
$€CÜ	�‰‹€BäÐ,¨c¯j©j¸#¸sÀAÀtÓL€Fä	�‰�T˜4 Ó	$€BÜ	�‰�T˜4 Ó	$€BÜ�[‰[˜˜RÓ �F€Bˆä
�(‰(ØˆS�- H°rÀBôH€Cð ‡J�J‡O�OÔä�B—G‘G˜RŸW™WÓ%ò ‰ˆˆ1Ü ŸW™W›Y×0Ñ0×:Ñ:¸A¸q¸6ÓBÑˆŒ�&”(Ø—l‘l 6Ó*‰ˆ�!Ù$‘¨%ˆð �Z‰Z×ÑÓ ˆØ
�‰��1�c ˆÔ'Ø
�
‰
�‰�rÕñr#   c                  ó$  — t        j                  «       \  } }|j                  dddddi¬«      }| j                  j	                  «        t        d| j                  g|j                  j                  d«      ¢­Ž }|j                  |«      d	i fk(  sJ ‚y )
NÚhello)r9   r9   )ç333333ã?r¼   Ú
arrowstylez->)ÚxyÚxytextÚ
arrowpropsrž   )r;   r¼   F)	r@   rA   rB   r‡   r¨   r   Ú	transDataro   r®   )rJ   rK   ÚannÚevents       r!   Útest_annotation_containsrÄ   ñ   sŠ   € ô �l‰l‹n�G€CˆØ
�+‰+Ø�H X¸<ÈÐ:Nð ó P€Cà‡J�J‡O�OÔÜØ˜cŸj™jðMØ+-¯<©<×+AÑ+AÀ(Ó+KòM€Eà�<‰<˜Ó 5¨" +Ò-Ð-Ñ-r#   zerr, xycoords, matchz<xycoords callable must return a BboxBase or Transform, not az,'xycoords' must be an instance of str, tupleÚfooz'foo' is not a valid coordinatezfoo barz#'foo bar' is not a valid coordinatez
offset fooz'xycoords cannot be an offset coordinatezaxes fooz'foo' is not a recognized unitc                 óè   — t        j                  «       \  }}t        j                  | |¬«      5  |j	                  ddd|¬«       |j
                  j                  «        d d d «       y # 1 sw Y   y xY w)N©Úmatchr¾   rm   ©r;   r;   )r¿   r-   )r@   rA   ÚpytestÚraisesrB   r‡   r¨   )Úerrr-   rÈ   rJ   rK   s        r!   Útest_annotate_errorsrÍ   ý   sX   € ô �l‰l‹n�G€CˆÜ	�‰�s %Ô	(ñ Ø
�‰�D˜&¨¸hˆÔGØ�
‰
�‰Ô÷÷ ñ ús   ¯0A(Á(A1Útitlesc                  óê   — t        j                  «        t        j                  ddd«      } | j                  dd¬«       | j                  dd¬«       | j	                  g «       | j                  g «       y )NrU   z
left titler}   ©Úloczright titleÚright)r@   r]   r^   r_   rH   rI   rc   s    r!   Útest_titlesrÓ     sW   € ô ‡J�J„LÜ	�‰�Q˜˜1Ó	€BØ‡L�L� 6€LÔ*Ø‡L�L� G€LÔ,Ø‡M�M�"ÔØ‡M�M�"Õr#   Útext_alignmentc                  óà  — t        j                  «        t        j                  ddd«      } d}dD ]J  }dD ]C  }| j                  |d|dz   ||t	        ddd¬	«      ¬
«       | j                  |dd||¬«       |dz  }ŒE ŒL | j                  ddgddg«       | j                  ddgddg«       | j                  dd«       | j                  dd«       | j                  g «       | j                  g «       y )NrU   r+   )r   rŸ   )rX   r~   r‚   rW   r;   z TjÚroundÚwheat)ÚboxstyleÚ	facecolorÚalpha)r[   rƒ   Úbboxg      ð?z$\sum_{i=0}^{j}$)r[   rƒ   r   ç      ø?)
r@   r]   r^   r`   Údictr±   r„   r…   rH   rI   )rK   r¬   rƒ   Ú	alignments       r!   Útest_alignmentrß     sù   € ä‡J�J„LÜ	�‰�Q˜˜1Ó	€Bà€AØò ˆØ@ò 	ˆIØ�G‰GØ�3˜	 EÑ)¨iÀ(Ü 7°gÀSÔIð ô Kð �G‰GØ�3Ð+°	ÀHð ô Nà�‰H‰Añ	ðð ‡G�GˆQ�ˆF�S˜#�JÔØ‡G�GˆQ�ˆF�S˜#�JÔà‡K�K��1ÔØ‡K�K��3ÔØ‡M�M�"ÔØ‡M�M�"Õr#   zrotation_anchor.pngT)Úbaseline_imagesr   Úremove_textc                  ó  — t        j                  «       \  } }|j                  ddgd¬«       |j                  ddd¬«       |j	                  ddd¬«       d}t        |«      D ]$  }|j                  dddd	|› �d
||z  dz  dd¬«       Œ& y )Nr   rU   )Úlwr;   z.5)rj   ri   é   ÚpPÚCr:   éh  ÚanchorÚcenter_baseline)ri   r*   rƒ   Úrotation_moder€   )r@   rA   r±   Úaxvliner†   Úranger`   )rJ   rK   ÚNrz   s       r!   Útest_rotation_mode_anchorrî   /  s”   € ô �l‰l‹n�G€Cˆà‡G�GˆQ�ˆF�q€GÔØ‡J�Jˆr˜R t€JÔ,Ø‡J�Jˆr˜R t€JÔ,à	€AÜ�1‹Xò 5ˆØ
�‰��B˜ a¨ s G°#Ø˜1™˜S™°Ø"3ð 	õ 	5ñ5r#   zaxes_titles.pngc                  óØ   — t        j                  «        t        j                  ddd«      } | j                  dddd¬«       | j                  dddd¬«       | j                  d	d	dd¬«       y )
NrU   rW   rV   i¼  )rÑ   r    Ú
fontweightr}   é   i�  rÒ   )r@   r]   r^   r_   rc   s    r!   Útest_axes_titlesrò   ?  s[   € ô ‡J�J„LÜ	�‰�Q˜˜1Ó	€BØ‡L�L�˜x°"À€LÔEØ‡L�L�˜V¨b¸S€LÔAØ‡L�L�˜g°¸s€LÕCr#   c                  ó†  — t        j                  «       \  } }|j                  dddd¬«      }| j                  j	                  «        |j                  | j                  j                  «      }d}|j                  ||f«       | j                  j	                  «        |j                  | j                  j                  «      }t        |j                  |j                  «      D ]  \  }}||z   |k(  rŒJ ‚ |j                  dddd¬«      }| j                  j	                  «        |j                  | j                  j                  «      }d}||f|_
        | j                  j	                  «        |j                  | j                  j                  «      }t        |j                  |j                  «      D ]  \  }}||z   |k(  rŒJ ‚ y )NÚtestrm   úfigure pixels)r¿   Ú
textcoordsé   )r@   rA   rB   r‡   r¨   rt   r{   Úset_positionr©   ÚminÚxyann)rJ   rK   rÂ   Úinit_posÚ	shift_valÚpost_posrM   Úbs           r!   Útest_set_positionrÿ   I  s€  € Ü�l‰l‹n�G€Cˆð �+‰+Ø�˜v°/ð ó C€Cà‡J�J‡O�OÔà×$Ñ$ S§Z¡Z×%8Ñ%8Ó9€HØ€IØ×Ñ�i Ð+Ô,Ø‡J�J‡O�OÔØ×$Ñ$ S§Z¡Z×%8Ñ%8Ó9€Hä�H—L‘L (§,¡,Ó/ò "‰ˆˆ1Ø�9‰} Ó!Ð!Ð!ð"ð �+‰+Ø�˜v°/ð ó C€Cà‡J�J‡O�OÔà×$Ñ$ S§Z¡Z×%8Ñ%8Ó9€HØ€IØ˜IÐ&€C„IØ‡J�J‡O�OÔØ×$Ñ$ S§Z¡Z×%8Ñ%8Ó9€Hä�H—L‘L (§,¡,Ó/ò "‰ˆˆ1Ø�9‰} Ó!Ð!Ð!ñ"r#   c                  óf  — t        j                  «       } | j                  ddd«      }|j                  d«       |j	                  «       }|j
                  |j                  z
  }|j                  d«       |j	                  «       }|j
                  |j                  z
  }|j                  d«       |j	                  «       }|j                  }|j                  ||z
  «      dk(  sJ ‚|j                  |«      dk(  sJ ‚|j                  |d|z  z   «      dk(  sJ ‚|j                  |d	|z  z   «      d
k(  sJ ‚|j                  ||dz  z   «      dk(  sJ ‚|j                  ||dz  z   |dz  z   «      dk(  sJ ‚|j                  ||dz  z   |dz  z   «      dk(  sJ ‚|j                  ||dz  z   |dz  z   «      dk(  sJ ‚y )Nr+   çÍÌÌÌÌÌì?Ú ÚiÚmÚiiiimmmmr   gV-²�ïß?gÕxé&1à?rU   é   rä   é   rœ   é
   )r@   r]   r`   Úset_textrt   Úx1Úx0Ú_char_index_at)rJ   r`   rÛ   Úsize_iÚsize_mÚorigins         r!   Útest_char_index_atr  i  s·  € Ü
�*‰*‹,€CØ�8‰8�C˜˜bÓ!€Dà‡M�M�#ÔØ×!Ñ!Ó#€DØ�W‰W�t—w‘wÑ€Fà‡M�M�#ÔØ×!Ñ!Ó#€DØ�W‰W�t—w‘wÑ€Fà‡M�M�*ÔØ×!Ñ!Ó#€DØ�W‰W€Fà×Ñ˜v¨™Ó/°1Ò4Ð4Ð4Ø×Ñ˜vÓ&¨!Ò+Ð+Ð+Ø×Ñ˜v¨¨f©Ñ4Ó5¸Ò:Ð:Ð:Ø×Ñ˜v¨¨f©Ñ4Ó5¸Ò:Ð:Ð:Ø×Ñ˜v¨¨q©Ñ0Ó1°QÒ6Ð6Ð6Ø×Ñ˜v¨¨q©Ñ0°6¸!±8Ñ;Ó<ÀÒAÐAÐAØ×Ñ˜v¨¨q©Ñ0°6¸!±8Ñ;Ó<ÀÒAÐAÐAØ×Ñ˜v¨¨q©Ñ0°6¸"±9Ñ<Ó=ÀÒBÐBÑBr#   r`   r  ÚOÚemptyz	non-empty)Úidsc                 ó˜  — t        j                  «       \  }}|j                  dd| dd¬«      }|j                  j	                  «        |j
                  }|j                  «       }|j                  |dz  ¬«      }t        j                  j                  |j                  «       |j                  «       dz  d¬«       |j
                  |k(  sJ ‚y )	Nr;   r}   r~   )rZ   r[   r  ©Údpiçš™™™™™©?©Úrtol)r@   rA   r`   r‡   r¨   r  rt   r¥   ÚtestingÚassert_allcloseÚ
get_points)r`   rJ   rK   Út1r  Úbbox1Úbbox2s          r!   Útest_non_default_dpir   ƒ  s¬   € ä�l‰l‹n�G€Cˆà	�‰��c˜4 F¨xˆÓ	8€BØ‡J�J‡O�OÔØ
�'‰'€Cà× Ñ Ó"€EØ× Ñ  S¨2¡XÐ Ó.€EÜ‡J�J×Ñ˜u×/Ñ/Ó1°5×3CÑ3CÓ3EÈÑ3JØ$(ð ô *ð �7‰7�cŠ>Ð‰>r#   c                  ó€   — t        d¬«      j                  «       dk(  sJ ‚t        d¬«      j                  «       dk(  sJ ‚y )NÚ
horizontal©rƒ   ç        Úverticalg     €V@©r   Úget_rotationr   r#   r!   Útest_get_rotation_stringr(  “  s:   € Ü˜Ô&×3Ñ3Ó5¸Ò;Ð;Ð;Ü˜Ô$×1Ñ1Ó3°sÒ:Ð:Ñ:r#   c                  óP   — dD ]!  } t        | ¬«      j                  «       | k(  rŒ!J ‚ y )N)g      .@g33333³0@gš™™™™YS@r#  r&  ©r  s    r!   Útest_get_rotation_floatr+  ˜  s-   € Øò 4ˆÜ˜QÔ×,Ñ,Ó.°!Ó3Ð3Ð3ñ4r#   c                  ób   — dD ]*  } t        | ¬«      j                  «       t        | «      k(  rŒ*J ‚ y )N)éC   é   é)   r#  )r   r'  Úfloatr*  s    r!   Útest_get_rotation_intr1  �  s1   € Øò ;ˆÜ˜QÔ×,Ñ,Ó.´%¸³(Ó:Ð:Ð:ñ;r#   c                  óx   — t        j                  t        «      5  t        d¬«       d d d «       y # 1 sw Y   y xY w)NÚ
hozirontalr#  ©rÊ   rË   Ú
ValueErrorr   r   r#   r!   Útest_get_rotation_raisesr6  ¢  s+   € Ü	�‰”zÓ	"ñ $Ü�lÕ#÷$÷ $ñ $ús   š0°9c                  óB   — t        d ¬«      j                  «       dk(  sJ ‚y )Nr#  r$  r&  r   r#   r!   Útest_get_rotation_noner8  §  s   € Ü˜Ô×+Ñ+Ó-°Ò4Ð4Ñ4r#   c                  ó|   — t        g d¢g d¢«      D ])  \  } }t        t        | ¬«      j                  «       |«       Œ+ y )N)g     €v@g     �w@gš™™™™	Œ@)r$  g      1@gfffff&f@r#  )r©   r   r   r'  )r  Újs     r!   Útest_get_rotation_mod360r;  «  s8   € ÜÒ+Ò-=Ó>ò @‰ˆˆ1ÜœD¨!Ô,×9Ñ9Ó;¸QÕ?ñ@r#   rZ   )rW   rÒ   r}   r[   )rW   rX   r~   r‚   ré   c                 ó®  — t        j                  «       \  }}t        d|| ¬«      } |j                  dddi|¤Ž} |j                  dddi|¤Ž}|j                  j                  «        t        |j                  |j                  j                  «      j                  «       |j                  |j                  j                  «      j                  «       «       y )Nr   )rƒ   r[   rZ   )r;   r;   rô   rê   rè   Údefault)
r@   rA   rÝ   r`   r‡   r¨   r   rt   r{   r  )rZ   r[   rJ   rK   r   Út0r  s          r!   Ú%test_null_rotation_with_rotation_moder?  °  s©   € ô �l‰l‹n�G€CˆÜ	�q˜R BÔ	'€BØ	ˆ�‰Ñ	>¨xÐ	>¸2Ñ	>€BØ	ˆ�‰Ñ	?¨yÐ	?¸BÑ	?€BØ‡J�J‡O�OÔÜ˜×,Ñ,¨S¯Z©Z×-@Ñ-@ÓA×LÑLÓNØ×,Ñ,¨S¯Z©Z×-@Ñ-@ÓA×LÑLÓNõPr#   Útext_bboxclipc                  ó�   — t        j                  ddddd¬«       t        j                  dddd¬	«      } | j                  d
di«       y )Nr  r4   zIs bbox clipped?rz   T)Úbackgroundcolorrn   r;   zIs fancy bbox clipped?©rn   rØ   zround, pad=0.1)r@   r`   Úset_bbox)Úts    r!   Útest_bbox_clippingrF  ½  s>   € ä‡H�HˆS�#Ð)¸3ÈÕMÜ�‰��cÐ3¸TÔB€AØ‡J�J�
Ð,Ð-Õ.r#   z!annotation_negative_ax_coords.pngc            	      ó|  — t        j                  «       \  } }|j                  dddgdddgdd¬«       |j                  dddgdddgddd	¬
«       |j                  dddgdddgdd¬«       |j                  dddgdddgddd	¬
«       |j                  dddgdddgdd¬«       |j                  dddgdddgddd	¬
«       y )Nú+ ptsrŸ   rV   zaxes pointsé    ©r¿   rö   r¾   r-   r    ú- ptsiìÿÿÿrX   ©r¿   rö   r¾   r-   r    r[   ú+ fracr‘   r  r,   ú- fracçš™™™™™©¿ú+ pixelsé    é   zaxes pixelsú- pixelsiçÿÿÿ©r@   rA   rB   ©rJ   rK   s     r!   Ú"test_annotation_negative_ax_coordsrV  Ä  s  € ä�l‰l‹n�G€Cˆà‡K�K�Ø˜B�x¨MØ˜�8 m¸bð ô Bð ‡K�K�Ø˜C�y¨]Ø˜�9 }¸rØð ô ð ‡K�K�Ø˜d�|°Ø˜$�<¨/ÀBð ô Hð ‡K�K�Ø˜e�}°Ø˜%�=¨?ÀRØð ô ð
 ‡K�K�
Ø˜R�y¨]Ø˜�9 }¸rð ô Cð ‡K�K�
Ø˜S�z¨mØ˜�:¨ÀØð õ r#   z"annotation_negative_fig_coords.pngc            	      ó|  — t        j                  «       \  } }|j                  dddgdddgdd¬«       |j                  ddd	gddd	gddd
¬«       |j                  dddgdddgdd¬«       |j                  dddgdddgddd
¬«       |j                  dddgdddgdd¬«       |j                  dddgdddgddd
¬«       y )NrH  r  éú   zfigure pointsrI  rJ  rK  éöÿÿÿi6  rX   rL  rM  r  r;   zfigure fractionrN  rO  gÍÌÌÌÌÌÜ?rP  é2   rõ   rS  iÎÿÿÿé–   rT  rU  s     r!   Ú#test_annotation_negative_fig_coordsr\  à  s  € ä�l‰l‹n�G€Cˆà‡K�K�Ø˜C�y¨_Ø˜�9 Àð ô Eð ‡K�K�Ø˜S�z¨oØ˜�:¨À"Øð ô ð ‡K�K�Ø˜c�{Ð/@Ø˜#�;Ð):ÀRð ô Ið ‡K�K�Ø˜t�}Ð1BØ˜4�=Ð+<ÀrØð ô ð
 ‡K�K�
Ø˜B�x¨OØ˜�8 oÀð ô Dð ‡K�K�
Ø˜S�z¨oØ˜�:¨À"Øð õ r#   c                  ó,  — t        j                  dd«      \  } \  }}t        j                  «        |j                  rJ ‚|j                  rJ ‚| j                  rJ ‚|j	                  ddd«      }|j                  sJ ‚|j                  sJ ‚| j                  sJ ‚|j                  dddg¬«      }|j                  sJ ‚|j                  sJ ‚| j                  sJ ‚t        j                  «        |j                  rJ ‚|j                  rJ ‚| j                  rJ ‚y )NrU   rg   r;   Úaardvark©r¾   )r@   rA   Údraw_allÚstaler`   rB   )rJ   Úax1Úax2Útxt1Úann1s        r!   Útest_text_stalerf  ü  sæ   € Ü—l‘l 1 aÓ(�O€C‰ˆ#ˆsÜ‡L�L„NØ�yŠyÐˆ=Ø�yŠyÐˆ=Ø�yŠyÐˆ=à�8‰8�B˜˜JÓ'€DØ�9Š9Ðˆ9Ø�:Š:Ðˆ:Ø�9Š9Ðˆ9à�<‰<˜
¨¨B xˆ<Ó0€DØ�9Š9Ðˆ9Ø�:Š:Ðˆ:Ø�9Š9Ðˆ9ä‡L�L„NØ�yŠyÐˆ=Ø�yŠyÐˆ=Ø�yŠyÐˆ=ˆyr#   zagg_text_clip.pngc                  ó  — t         j                  j                  d«       t        j                  d«      \  } \  }}t         j                  j                  dd«      D ]-  \  }}|j                  ||dd¬«       |j                  ||d«       Œ/ y )NrU   rg   r  rÅ   TrC  )r¥   ÚrandomÚseedr@   rA   Úrandr`   )rJ   rb  rc  r¬   r­   s        r!   Útest_agg_text_cliprk    sm   € ä‡I�I‡N�N�1ÔÜ—l‘l 1“o�O€C‰ˆ#ˆsÜ—	‘	—‘˜r 1Ó%ò ‰ˆˆ1Ø�‰��A�u dˆÔ+Ø�‰��A�uÕñr#   c                  óÚ   — dt         j                  d<   t         j                  j                  d¬«      } | j	                  «       }dt         j                  d<   || j	                  «       k(  sJ ‚y )Nr  z	font.sizeÚlarge)r*   r:   )r   r—   Úfont_managerr	   Úget_size_in_points)ÚfpÚsz1s     r!   Útest_text_size_bindingrr    s\   € Ø "„C‡L�L�ÑÜ	×	Ñ	×	(Ñ	(¨gÐ	(Ó	6€BØ
×
Ñ
Ó
!€CØ #„C‡L�L�Ñà�"×'Ñ'Ó)Ò)Ð)Ñ)r#   zfont_scaling.pdfc                  ó¦  — dt         j                  d<   t        j                  d¬«      \  } }|j                  j                  t        j                  «       «       |j                  j                  t        j                  «       «       |j                  dd«       t        t        ddd	«      «      D ]   \  }}|j                  d
|dz  |› d�|¬«       Œ" y )Né*   zpdf.fonttype)gš™™™™™@gÍÌÌÌÌÌ(@r’   rY  iX  rä   é+   rg   r+   rŸ   z pt font size©r    )r   r—   r@   rA   ÚxaxisÚset_major_locatorÚNullLocatorÚyaxisr…   r‰   rì   r`   )rJ   rK   r  Úfss       r!   Útest_font_scalingr|  %  s¡   € à#%„C‡L�L�Ñ Ü�l‰l ;Ô/�G€CˆØ‡H�H×ÑœsŸ™Ó0Ô1Ø‡H�H×ÑœsŸ™Ó0Ô1Ø‡K�K��SÔäœ5  B¨›?Ó+ò >‰ˆˆ2Ø
�‰��Q�r‘T˜b˜T Ð/¸"ˆÕ=ñ>r#   zspacing1, spacing2))r9   rg   )rg   r9   )rg   rg   c                 óâ  — d}t        j                  «       }|j                  j                  «       }|j	                  dd|| ¬«      }|j	                  dd||¬«      }|j                  j                  «        |j                  |¬«      }|j                  |¬«      }|j                  |j                  k(  sJ ‚| |k(  r|j                  |j                  k(  sJ ‚y |j                  |j                  k7  sJ ‚y )Nzline1
line2r•   r;   ©Úlinespacing©r{   )	r@   r]   r‡   rˆ   r`   r¨   rt   ÚwidthÚheight)	Úspacing1Úspacing2Útext_stringrJ   r{   Útext1Útext2Úbox1Úbox2s	            r!   Útest_two_2line_textsrŠ  1  sÐ   € à €KÜ
�*‰*‹,€CØ�z‰z×&Ñ&Ó(€Hà�H‰H�T˜3 ¸ˆHÓB€EØ�H‰H�T˜3 ¸ˆHÓB€EØ‡J�J‡O�OÔà×"Ñ"¨HÐ"Ó5€DØ×"Ñ"¨HÐ"Ó5€Dð �:‰:˜Ÿ™Ò#Ð#Ð#Ø�8ÒØ�{‰{˜dŸk™kÒ)Ð)Ñ)à�{‰{˜dŸk™kÒ)Ð)Ñ)r#   c                  ó’   — t        j                  t        «      5  t        j                  dddd¬«       d d d «       y # 1 sw Y   y xY w)Nr•   r;   rÅ   Úabcr~  )rÊ   rË   Ú	TypeErrorr@   r`   r   r#   r!   Útest_validate_linespacingrŽ  F  s5   € Ü	�‰”yÓ	!ñ 4Ü�‰��b˜%¨UÕ3÷4÷ 4ñ 4úó	   š=½Ac                  óê   — t        j                  «       \  } }|j                  dt        j                  d«       |j                  t        j
                  dd«       | j                  j                  «        y )Nr   ÚnanÚinf)r@   rA   r`   r¥   r‘  r’  r‡   r¨   rU  s     r!   Útest_nonfinite_posr“  K  sG   € Ü�l‰l‹n�G€CˆØ‡G�GˆAŒr�v‰v�uÔØ‡G�GŒB�F‰F�A�uÔØ‡J�J‡O�OÕr#   c                  ó„  — t        j                  «       } dt         j                  d<   | j                  d«      }dt         j                  d<   | j                  d«      }| j                  j                  «        |df|dffD ]?  \  }}|j                  j                  D ]!  }|j                  j                  «       |k(  rŒ!J ‚ ŒA y )NFútext.usetexéy   Téz   )
r@   r]   r—   Úadd_subplotr‡   r¨   rw  Ú
majorTicksÚlabel1Ú
get_usetex)rJ   rb  rc  rK   ÚusetexrE  s         r!   Útest_usetex_is_copiedr�  R  s©   € ô �*‰*‹,€CØ"'„C‡L�L�ÑØ
�/‰/˜#Ó
€CØ"&„C‡L�L�ÑØ
�/‰/˜#Ó
€CØ‡J�J‡O�OÔØ˜U�| c¨4 [Ð1ò 3‰
ˆˆFØ—‘×$Ñ$ò 	3ˆAØ—8‘8×&Ñ&Ó(¨FÓ2Ð2Ð2ñ	3ñ3r#   c                  óŠ   — t        j                  «       } | j                  dddd¬«       | j                  j	                  «        y )Nr;   z	$\frac12$T©rœ  )r@   r]   r`   r‡   r¨   r˜   s    r!   Útest_single_artist_usetexr   a  s1   € ô
 �*‰*‹,€CØ‡H�HˆR��\¨$€HÔ/Ø‡J�J‡O�OÕr#   Úfmt)ÚpngÚpdfÚsvgc                 óÆ   — dt         j                  d<   t        j                  «       }|j                  dddd¬«       |j	                  t        j                  «       | ¬«       y )NTr•  r;   Ú2_2_2FrŸ  )Úformat)r@   r—   r]   r`   ÚsavefigÚioÚBytesIO)r¡  rJ   s     r!   Útest_single_artist_usenotexr«  k  sG   € ð #'„C‡L�L�ÑÜ
�*‰*‹,€CØ‡H�HˆR��W U€HÔ+Ø‡K�K”—
‘
“ S€KÕ)r#   ztext_as_path_opacity.svgÚ_classic_testc                  ó  — t        j                  «        t        j                  «       j                  «        t        j                  dddd¬«       t        j                  dddd¬«       t        j                  ddd	dd
¬«       y )Nr•   Úc©r   r   r   r;   r�   r;   rM   ©rÚ   r‘   r¬   ©r   r   r   rU   ©rÚ   ri   )r@   r]   r«   Úset_axis_offr`   r   r#   r!   Útest_text_as_path_opacityr´  w  sU   € ä‡J�J„LÜ‡G�GƒI×ÑÔÜ‡H�HˆT�4˜ NÕ3Ü‡H�HˆT�3˜ 3Õ'Ü‡H�HˆT�4˜ C¨|Ö<r#   ztext_as_text_opacity.svgc                  ó.  — dt         j                  d<   t        j                  «        t        j                  «       j                  «        t        j                  dddd¬«       t        j                  dddd¬	«       t        j                  dd
ddd¬«       y )NÚnonezsvg.fonttyper•   z50% using `color`r¯  r�   r;   z50% using `alpha`r°  r‘   z"50% using `alpha` and 100% `color`r±  r²  )r   r—   r@   r]   r«   r³  r`   r   r#   r!   Útest_text_as_text_opacityr·  €  si   € à#)„C‡L�L�Ñ Ü‡J�J„LÜ‡G�GƒI×ÑÔÜ‡H�HˆT�4Ð,°NÕCÜ‡H�HˆT�3Ð+°3Õ7Ü‡H�HˆT�4Ð=ÀSØö!r#   c                  óz   — t        j                  ddgddg«       t        t        j                  dgdd«      «       y )NÚAÚBrU   rg   r;   ÚBoo)r@   r±   Úreprr`   r   r#   r!   Útest_text_reprr½  ‹  s/   € ä‡H�Hˆc�3ˆZ˜!˜Q˜Ô ÜŒ�‰�3�%˜˜eÓ	$Õ%r#   c                  óŒ  — t        j                  dd«      \  } }|j                  dd¬«      }|j                  | j                  j                  «       «      }| j                  «        |j                  | j                  j                  «       «      }t        j                  |j                  «       |j                  «       d¬«      rJ ‚y )NrU   Ú
annotationrÉ   r_  g�íµ ÷Æ°>r  )
r@   rA   rB   rt   r‡   rˆ   Útight_layoutr¥   Úallcloser  )rJ   rK   ÚanÚextent1Úextent2s        r!   Útest_annotation_updaterÅ  ‘  s¢   € Ü�l‰l˜1˜aÓ �G€CˆØ	�‰�\ jˆÓ	1€BØ×"Ñ" 3§:¡:×#:Ñ#:Ó#<Ó=€GØ×ÑÔØ×"Ñ" 3§:¡:×#:Ñ#:Ó#<Ó=€Gä�{‰{˜7×-Ñ-Ó/°×1CÑ1CÓ1EØ $õ&ð &ð &ð &r#   c                 ó|  — | j                  «       }|j                  t        j                  «       dd«       |j	                  dt        j                  «       dfddd¬«       |j                  «       }|j                  t        j                  «       dd«       |j	                  dt        j                  «       dfd¬	«       y )
NrU   r£   r¬   r;   )Údatar,   rm   úoffset points)r-   r¿   rö   )r-   )r˜  r±   r   ÚnowrB   ©Úfig_testÚfig_refrK   s      r!   Útest_annotation_unitsrÍ  œ  s’   € à	×	Ñ	Ó	€BØ‡G�GŒH�L‰L‹N˜A˜sÔ#Ø‡K�K�”h—l‘l“n cÐ*Ð5Nà¨/ð ô ;ð 
×	Ñ	Ó	€BØ‡G�GŒH�L‰L‹N˜A˜sÔ#Ø‡K�K�”h—l‘l“n cÐ*Ð5N€KÕOr#   zlarge_subscript_title.pngc                  óN  — d t         j                  d<   t        j                  dddd¬«      \  } }|d   }|j                  d«       |j                  d	d
¬«       |j	                  g «       |d   }|j                  dd¬«       |j                  dd
¬«       |j	                  g «       y )Nzaxes.titleyrU   rg   )é	   g      @T)r“   Úconstrained_layoutr   z$\sum_{i} x_i$zNew wayr}   rÐ   g)\�Âõ(ð?)r­   zOld Way)r@   r—   rA   r_   Úset_xticklabels)rJ   ÚaxsrK   s      r!   Útest_large_subscript_titlerÓ  ¨  s”   € à"&„C‡L�L�Ñä�|‰|˜A˜q¨(ÀtÔL�H€CˆØ	ˆQ‰€BØ‡L�LÐ"Ô#Ø‡L�L� €LÔ'Ø×Ñ�rÔà	ˆQ‰€BØ‡L�LÐ" d€LÔ+Ø‡L�L� €LÔ'Ø×Ñ�rÕr#   zx, rotation, halign))r–   r   r}   )r;   é_   r}   )r7   r   rÒ   )r7   é¹   r}   c                 ó  — t        j                  d¬«      }t        dd|¬«      }|j                  |d   «      }d}|j	                  | d|d||¬	«      }|j
                  j                  «        |j                  «       d
k(  sJ ‚y )N)é   r×  r’   r  )ÚnrowsÚncolsr]   ©rU   rU   z?This is a very long text that should be wrapped multiple times.r–   T)Úwraprƒ   rZ   z?This is a very long
text that should be
wrapped multiple
times.)r@   r]   r   Úadd_subfigurer`   r‡   r¨   Ú_get_wrapped_text)r¬   rƒ   ÚhalignrJ   ÚgsÚsubfigÚsr`   s           r!   Ú	test_wraprâ  ¸  s„   € ô �*‰*˜XÔ
&€CÜ	˜ ¨3Ô	/€BØ×Ñ˜r $™xÓ(€Fð 	J€AØ�;‰;�q˜#˜q t°hÀ6ˆ;ÓJ€DØ‡J�J‡O�OÔØ×!Ñ!Ó#ð )1ò 2ð 2ñ 2r#   c                  ó¾   — t        j                  d¬«      } d}| j                  dd|dd¬«      }| j                  j	                  «        |j                  «       d	k(  sJ ‚y )
N)é   rä   r’   z;This is a very $\overline{\mathrm{long}}$ line of Mathtext.r   r;   é(   T)r*   rÛ  z;This is a very $\overline{\mathrm{long}}$
line of Mathtext.©r@   r]   r`   r‡   r¨   rÝ  )rJ   rá  r`   s      r!   Útest_mathwraprç  Í  s[   € Ü
�*‰*˜VÔ
$€CØF€AØ�8‰8�A�s˜A B¨Tˆ8Ó2€DØ‡J�J‡O�OÔØ×!Ñ!Ó#ð )<ò =ð =ñ =r#   c                  óx  — t        j                  d¬«      } | j                  dd¬«       | j                  j	                  «       }t        j                  d¬«      }|j                  d«       |j                  j	                  «       }|j
                  |j
                  k(  sJ ‚|j                  |j                  k(  sJ ‚y )N)r  r  r’   z.suptitle that is clearly too long in this caseT©rÛ  z.suptitle that is clearly
too long in this case)r@   r]   ÚsuptitleÚ	_suptitlert   Úy0Úy1)Úfig1Úwindow_extent_testÚfig2Úwindow_extent_refs       r!   Útest_get_window_extent_wrappedrò  Ö  sš   € ô �:‰:˜fÔ%€DØ‡M�MÐBÈ€MÔNØŸ™×9Ñ9Ó;Ðä�:‰:˜fÔ%€DØ‡M�MÐCÔDØŸ™×8Ñ8Ó:Ðà× Ñ Ð$5×$8Ñ$8Ò8Ð8Ð8Ø× Ñ Ð$5×$8Ñ$8Ò8Ð8Ñ8r#   c                  ó¸   — t        j                  d¬«      } | j                  dddd¬«      }| j                  j	                  «        |j                  «       dk(  sJ ‚y )N©r�   rä   r’   g      #@rœ   ÚAlonglineoftexttowrapTré  ræ  ©rJ   r`   s     r!   Útest_long_word_wrapr÷  æ  sM   € Ü
�*‰*˜VÔ
$€CØ�8‰8�C˜Ð3¸$ˆ8Ó?€DØ‡J�J‡O�OÔØ×!Ñ!Ó#Ð'>Ò>Ð>Ñ>r#   c                  ó¸   — t        j                  d¬«      } | j                  dddd¬«      }| j                  j	                  «        |j                  «       dk(  sJ ‚y )Nrô  r’   r   znon wrapped textTré  ræ  rö  s     r!   Útest_wrap_no_wraprù  í  sM   € Ü
�*‰*˜VÔ
$€CØ�8‰8�A�qÐ,°4ˆ8Ó8€DØ‡J�J‡O�OÔØ×!Ñ!Ó#Ð'9Ò9Ð9Ñ9r#   c                 ó@  — | j                  «       }|j                  ddg«       |j                  ddg«       |j                  j                  d   j
                  j                  d«       |j                  «       }|j                  ddg«       |j                  ddg«       y )Nr   rU   u   â‚¬rM   Úwr  )r˜  rI   Úset_yticklabelsrz  r™  rš  Ú	set_colorrÊ  s      r!   Útest_buffer_sizerþ  ô  s‡   € ð
 
×	Ñ	Ó	€BØ‡M�M�1�a�&ÔØ×Ñ˜˜s�|Ô$Ø‡H�H×Ñ˜Ñ×!Ñ!×+Ñ+¨CÔ0Ø	×	Ñ	Ó	€BØ‡M�M�1�a�&ÔØ×Ñ˜˜r�{Õ#r#   c                  óà   — t        j                  «        t        j                  ddd¬«      } t        j                  ddd¬«      }| j	                  «       dk(  sJ ‚|j	                  «       dk(  sJ ‚y)z>Test that kwargs take precedence over fontproperties defaults.ÚvaluezTimes New Romang      D@)r.   r*   Úcounts)r*   r.   N)r@   r]   ÚxlabelÚylabelÚget_size)r†  r‡  s     r!   Ú$test_fontproperties_kwarg_precedencer    s[   € ä‡J�J„LÜ�J‰J�wÐ/@ÀtÔL€EÜ�J‰J�x dÐ;LÔM€EØ�>‰>Ó˜tÒ#Ð#Ð#Ø�>‰>Ó˜tÒ#Ð#Ñ#r#   c                  óÖ   — t        j                  «       } t        j                  «       j	                  d«      }| j                  ddd|d¬«      }|j                  «       }t        |d«       y )NrŸ   r   rô   T)ro   Útransform_rotates_text)r@   r«   ÚmtransformsÚAffine2DÚ
rotate_degr`   r'  r   )rK   ro   r`   Úresults       r!   Útest_transform_rotates_textr    s\   € Ü	�‰‹€BÜ×$Ñ$Ó&×1Ñ1°"Ó5€IØ�7‰7�1�a˜¨9Ø*.ð ó 0€Dà×ÑÓ €FÜ˜ Õ#r#   c                  ó²   — t        t        d¬«      d ¬«      } t        | «      }t        «       }|j                  | «       | d   |d   k(  sJ ‚| d   |d   k(  sJ ‚y )Nr1   )r2   )r.   rÛ   r.   rÛ   )rÝ   r	   r   Úupdate)ÚinpÚcacherE  s      r!   Útest_update_mutate_inputr    sa   € Ü
œn°FÔ;Øô€Cä�‹I€EÜ‹€AØ‡H�HˆS„MØÐÑ  EÐ*:Ñ$;Ò;Ð;Ð;Øˆv‰;˜% ™-Ò'Ð'Ñ'r#   rƒ   zinvalid stringéZ   c                 ó‚   — t        j                  t        d¬«      5  t        ddd| ¬«       d d d «       y # 1 sw Y   y xY w)Nz5rotation must be 'vertical', 'horizontal' or a numberrÇ   r   rÅ   r#  r4  r#  s    r!   Útest_invalid_rotation_valuesr    s:   € ä	�‰ÜØJô
Mñ -ô 	ˆQ��5 8Õ,÷-÷ -ñ -úó   œ5µ>c                  ó’   — t        j                  t        «      5  t        j                  dddd¬«       d d d «       y # 1 sw Y   y xY w)Nr;   rÅ   Úfoobar)r®  )rÊ   rË   r5  r@   Úfigtextr   r#   r!   Útest_invalid_colorr  &  s5   € Ü	�‰”zÓ	"ñ /Ü�‰�B˜˜E XÕ.÷/÷ /ñ /úr�  )r  rU   r   z1Error messages are incorrect with pyparsing 3.1.0)Úreasonc                  óN  — t        j                  «       \  } }|j                  dddd¬«       | j                  j	                  «        |j                  dddd¬«       t        j                  t        d¬«      5  | j                  j	                  «        d d d «       y # 1 sw Y   y xY w)Nr   ú$ \wrong{math} $F)Ú
parse_mathTúUnknown symbolrÇ   )r@   rA   r`   r‡   r¨   rÊ   rË   r5  rU  s     r!   Útest_parse_mathr  ,  s}   € ô �l‰l‹n�G€CˆØ‡G�GˆAˆqÐ%°%€GÔ8Ø‡J�J‡O�OÔà‡G�GˆAˆqÐ%°$€GÔ7Ü	�‰”zÐ)9Ô	:ñ Ø�
‰
�‰Ô÷÷ ñ ús   Á7BÂB$c                  óÌ  — t        j                  «       \  } }|j                  ddd«       t        j                  t
        d¬«      5  | j                  j                  «        d d d «       t        j                  ddi«      5  t        j                  «       \  } }|j                  ddd«       | j                  j                  «        d d d «       y # 1 sw Y   ŒnxY w# 1 sw Y   y xY w)Nr   r  r  rÇ   ztext.parse_mathF)
r@   rA   r`   rÊ   rË   r5  r‡   r¨   r   Ú
rc_contextrU  s     r!   Útest_parse_math_rcparamsr"  9  s²   € ô �l‰l‹n�G€CˆØ‡G�GˆAˆqÐ%Ô&Ü	�‰”zÐ)9Ô	:ñ Ø�
‰
�‰Ô÷ô 
�‰Ð*¨EÐ2Ó	3ñ Ü—,‘,“.‰ˆˆRØ
�‰��1Ð)Ô*Ø�
‰
�‰Ô÷ð ÷	ð ú÷ð ús   ÁCÂ ACÃCÃC#c                  óÂ  ‡— t        j                  t        j                  j                  «      j
                  d   j                  } | j                  «        t        j                  «       }|j                  ddd«       |j                  dddd¬«       |j                  dddd¬«       |j                  j                  «        |j                  «       }|| v sJ ‚i Šˆfd„}||_        |j                  j                  «        g ‰¢dd	gk(  sJ ‚t        ‰d   «      t        ‰d	   «      cxk(  rd
k(  sJ ‚ J ‚| |   j                  «       }|j                   |j"                  kD  sJ ‚y )NÚ_cacher7   r;   úfoo
barTrŸ  c                  óf   •— | ^}}}}}‰j                  |t        «       «      j                  |«       y ©N)Ú
setdefaultr²   Úadd)ÚargsÚkwargsr{   r¬   r­   rá  r·   rµ   s          €r!   Úcallz test_metrics_cache.<locals>.call\  s.   ø€ Ø $Ðˆ�!�Q˜˜AØ
�‰�aœ›Ó×#Ñ# AÕ&r#   rÅ   ÚbarrU   )ÚinspectÚ	signaturer   r`   Ú_get_text_metrics_functionÚ
parametersr=  Úclearr@   r]   r‡   r¨   Ú_get_rendererÚdraw_texÚlenÚ
cache_infoÚhitsÚmisses)Úrenderer_cacherJ   r{   r,  Úinforµ   s        @r!   Útest_metrics_cacher;  I  s?  ø€ ô ×&Ñ&Ü�‰×+Ñ+óç�j�ñç"™7ð ð ×ÑÔä
�*‰*‹,€CØ‡H�HˆR��ZÔ Ø‡H�HˆR��Z¨€HÔ-Ø‡H�HˆR��Z¨€HÔ-Ø‡J�J‡O�OÔØ× Ñ Ó"€HØ�~Ñ%Ð%Ð%à	€Bô'ð €HÔØ‡J�J‡O�OÔØˆRˆ5�U˜E�NÒ"Ð"Ð"ô
 ˆr�%‰y‹>œS  E¡›^Ô0¨qÒ0Ð0Ñ0Ð0Ð0à˜(Ñ#×.Ñ.Ó0€Dð �9‰9�t—{‘{Ò"Ð"Ñ"r#   c                  ó6  ‡— t        j                  t        j                  j                  «      j
                  d   j                  Št        j                  «        ‰j                  «        ˆfd„}  | «        t        j                  «        t        ‰«      dk(  sJ ‚y )Nr$  c                  ó†  •— t        j                  «       \  } }| j                  «        t        ‰«      dk(  sJ ‚‰| j                  j                  «          }|j                  «       }|j                  dkD  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  kD  sJ ‚t        j                  | «       y )NrU   r   )r@   rA   Údraw_without_renderingr5  r‡   rˆ   r6  Úcurrsizer8  r7  Úclose)rJ   rK   Úfuncr6  r9  s       €r!   Úhelperz#test_metrics_cache2.<locals>.helperw  s¥   ø€ Ü—,‘,“.‰ˆˆRØ×"Ñ"Ô$ä�>Ó" aÒ'Ð'Ð'Ø˜cŸj™j×5Ñ5Ó7Ñ8ˆØ—_‘_Ó&ˆ
à×"Ñ" QÒ&Ð&Ð&Ø×"Ñ" j×&7Ñ&7Ò7Ð7Ð7Ø�‰ ×!2Ñ!2Ò2Ð2Ð2Ü�	‰	�#�r#   r   )r.  r/  r   r`   r0  r1  r=  ÚgcÚcollectr2  r5  )rB  r9  s    @r!   Útest_metrics_cache2rE  o  ss   ø€ ä×&Ñ&Ü�‰×+Ñ+óç�j�ñç"™7ð ô ‡J�J„LØ×ÑÔôñ „HÜ‡J�J„Läˆ~Ó !Ò#Ð#Ñ#r#   c                  ó0  — t        j                  «       \  } }ddg}ddg}t        d«      D �cg c]  }|j                  dd||   dd	||   ¬
«      ‘Œ! }}d„ |D «       \  }}| j                  j                  «        t        |«      t        |«      k(  sJ ‚y c c}w )NrÈ  zoffset fontsize)r  r  rÚ  rg   rô   rÉ   Ú10rÇ  )r¾   r¿   r    r-   rö   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr'  )rt   )Ú.0rÂ   s     r!   ú	<genexpr>z0test_annotate_offset_fontsize.<locals>.<genexpr>•  s   è ø€ Ò%NÀ# c×&;Ñ&;×&=Ñ%Nùs   ‚)r@   rA   rì   rB   r‡   r¨   Ústr)rJ   rK   Útext_coordsÚxy_textr  ÚannsÚpoints_coordsÚfontsize_coordss           r!   Útest_annotate_offset_fontsizerQ  Š  s³   € ä�l‰l‹n�G€CˆØ"Ð$5Ð6€Kà˜Ð €Gô
 =BÀ!»Hö	Fð 89ð	 �K‰K˜ :Ø& q™zØ!%Ø!'Ø#.¨q¡>ð	 õ 3ð F€Dð Fñ
 &OÈÔ%NÑ"€M�?Ø‡J�J‡O�OÔÜˆ}Ó¤ _Ó!5Ò5Ð5Ñ5ùòFs   ­$Bc                  ó®  — t        ddd«      } | j                  t        j                  d   k(  sJ ‚| j	                  «       t        j                  d   k(  sJ ‚| j                  d«       | j                  du sJ ‚| j	                  «       | j                  k(  sJ ‚| j                  d«       | j                  du sJ ‚| j	                  «       | j                  k(  sJ ‚y )Nr;   r%  r�   TF)r   Ú_antialiasedr   r—   Úget_antialiasedÚset_antialiased)r¶   s    r!   Útest_get_set_antialiasedrV  š  sÍ   € Ü
ˆr�2�zÓ
"€CØ×ÑœsŸ|™|Ð,>Ñ?Ò?Ð?Ð?Ø×ÑÓ ¤C§L¡LÐ1CÑ$DÒDÐDÐDà×Ñ˜ÔØ×Ñ˜tÑ#Ð#Ð#Ø×ÑÓ  C×$4Ñ$4Ò4Ð4Ð4à×Ñ˜ÔØ×Ñ˜uÑ$Ð$Ð$Ø×ÑÓ  C×$4Ñ$4Ò4Ð4Ñ4r#   c                  óÚ  — t        ddd¬«      } | j                  du sJ ‚| j                  «       | j                  k(  sJ ‚t        ddd¬«      }|j                  du sJ ‚|j                  «       |j                  k(  sJ ‚t        ddd¬«      }|j                  d«       |j                  «       du sJ ‚|j                  du sJ ‚t        dd«      }|j                  t        j
                  d   k(  sJ ‚y )Nr%  rÉ   T©r”   Fr�   )r   rS  rT  rU  r   r—   )ÚannotÚannot2Úannot3Úannot4s       r!   Útest_annotation_antialiasedr]  ¨  sñ   € Ü�z 8¸Ô>€EØ×Ñ Ñ%Ð%Ð%Ø× Ñ Ó" e×&8Ñ&8Ò8Ð8Ð8ä˜
 H¸%Ô@€FØ×Ñ %Ñ'Ð'Ð'Ø×!Ñ!Ó# v×':Ñ':Ò:Ð:Ð:ä˜
 H¸%Ô@€FØ
×Ñ˜4Ô Ø×!Ñ!Ó# tÑ+Ð+Ð+Ø×Ñ $Ñ&Ð&Ð&ä˜
 HÓ-€FØ×Ñ¤#§,¡,Ð/AÑ"BÒBÐBÑBr#   c                 ó~  — | j                  «       }|j                  ddgddg«      \  }t        j                  ddg«      }|j	                  dt        ||«      dd¬«       d|d d  |j                  «       }|j                  ddgddg«      \  }t        j                  ddg«      }|j	                  d||dd	¬
«       d|d d  y )Nr   rg   r;   rÅ   )r  r   rm   )rö   r¿   r¾   rU   rÈ  )r¾   r-   r¿   rö   )r˜  r±   r¥   ÚarrayrB   r   )rË  rÌ  rK   ÚlÚof_xyÚan_xys         r!   Ú'test_annotate_and_offsetfrom_copy_inputrc  º  sÁ   € ð 
×	Ñ	Ó	€BØ	�‰�!�Q�˜!˜Q˜Ó	 �B€AÜ�H‰H�b˜"�XÓ€EØ‡K�K�¤*¨Q°Ó"6¸wØð ô à€E‰!€HØ	×	Ñ	Ó	€BØ	�‰�!�Q�˜!˜Q˜Ó	 �B€AÜ�H‰H�b˜"�XÓ€EØ‡K�K�˜%¨!°GÈ€KÔXØ€E‰!�Hr#   )Ú
extensionsc                 óz   — | j                  dddd¬«       dt        j                  d<   |j                  ddd«       y )Nr;   ú6 inches x 2 inchesFrX  r�   ©r`   r   r—   ©rË  rÌ  s     r!   Ú+test_text_antialiased_off_default_vs_manualri  Ê  s?   € à‡M�M�#�sÐ1Ø).ð ô 0ð (-„C‡L�LÐ#Ñ$Ø‡L�L��cÐ0Õ1r#   c                 óz   — | j                  dddd¬«       dt        j                  d<   |j                  ddd«       y )Nr;   rf  TrX  r�   rg  rh  s     r!   Ú*test_text_antialiased_on_default_vs_manualrk  Ó  s7   € à‡M�M�#�sÐ1¸t€MÔDà'+„C‡L�LÐ#Ñ$Ø‡L�L��cÐ0Õ1r#   c                  óÈ  — t        d¬«      } t        ddd«      }t        ddd¬«      }|j                  | «       t	        ddd¬	«      }|j                  | «       |j                  |¬
«      }|j                  |¬
«      }|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  d|j                  d¬«      \  }}}t        t        j                  |j                  «      «      }dD ]d  \  }	}
|j                  |	«      x}€Œ|j                  d«      d   }|j                  j                  «       }||
    |z  |z  | j                  z  dz  } n# |j                  d|j                  d¬«      \  }}}t!        ||«      }|j#                  «       }|d   dk(  sJ ‚|d   |j                  k(  sJ ‚|d   | k(  sJ ‚|d   |j                  |z
  k(  sJ ‚y )Nr:   r  r8   rô   rm   rõ   )r¾   r-   r   )r`   r¬   r­   r€  r`   F)Úismath))zOS/2ÚsTypoDescender)ÚhheaÚdescentÚheadÚ
unitsPerEméH   Úlpr$  ©rU   r   ©r   rU   rÚ  )r   r   r   Ú
set_figurer   rt   r�  r‚  Úget_text_width_height_descentÚ_fontpropertiesr   r
   Ú_find_fonts_by_propsÚget_sfnt_tablero  r  Úmaxr  )r]   r{   r¿  r`   rÛ   Ú	text_bboxr·   ÚdÚfontÚnameÚkeyÚtableÚunits_per_emr    Úlp_dÚ
below_lineÚpointss                    r!   Ú&test_text_annotation_get_window_extentr‡  Û  sü  € Ü˜Œ_€FÜ˜3  SÓ)€Hô ˜F v¸ÔH€JØ×Ñ˜&Ô!ä�V˜q AÔ&€DØ‡O�O�FÔà×'Ñ'°Ð'Ó:€Dà×&Ñ&°Ð&Ó9€IØ�:‰:˜Ÿ™Ò(Ð(Ð(Ø�;‰;˜)×*Ñ*Ò*Ð*Ð*à×4Ñ4Ø�
×*Ñ*°5ð 5ó :�G€A€qˆ!ä”K×4Ñ4°Z×5OÑ5OÓPÓQ€DØFò <‰	ˆˆcØ×(Ñ(¨Ó.Ð.ˆEÑ;Ø×.Ñ.¨vÓ6°|ÑDˆLØ!×1Ñ1×DÑDÓFˆHØ˜#‘J�; Ñ-°Ñ8¸6¿:¹:ÑEÈÑJˆDÙð<ð ×;Ñ;Ø�*×,Ñ,°Uð <ó <‰
ˆˆ1ˆdä�Q˜“€Jð �_‰_Ó€FØ�$‰<˜3ÒÐÐØ�$‰<˜9Ÿ?™?Ò*Ð*Ð*Ø�$‰<˜J˜;Ò&Ð&Ð&Ø�$‰<˜9×+Ñ+¨jÑ8Ò8Ð8Ñ8r#   c                  óÈ  — d} t        j                  d¬«      \  }}|j                  ddd¬«      }|j                  dddd	d
d| ddœ¬«      }t        j                  «        |j
                  j                  }|j                  |¬«      }|j                  |¬«      }|j                  j                  |«      }t        j                  |«      }	|j                  |j                  dz   k(  sJ ‚t        |	j                  |j                  «       |	j                  |j                  k(  sJ ‚t        j                  j                  |	|g«      }
t        |j                  |
j                  «       y )Né   r:   r  rô   r   )rá  r¬   r­   ©r$  ç      I@©r‹  r‹  rõ   Úblackrg   r$  ©rÙ   r�  Ú	headwidthÚshrink©r¾   r¿   r-   rÀ   r€  r‹  )r@   rA   r`   rB   r¨   r‡   r{   rt   Úarrow_patchr   r�  r   r‚  r  ÚBboxÚunion)r�  rJ   rK   r¶   rÂ   r{   r}  rÛ   Ú
arrow_bboxÚann_txt_bboxÚexpected_bboxs              r!   Ú1test_text_with_arrow_annotation_get_window_extentr˜    s:  € Ø€IÜ�l‰l˜sÔ#�G€CˆØ
�'‰'�F˜a 1ˆ'Ó
%€CØ
�+‰+ØØØ oà ¨1Ø"¨cñ3ð	 ó 4€Cô ‡H�H„JØ�z‰z×"Ñ"€Hà×%Ñ%¨xÐ%Ó8€Ià× Ñ ¨(Ð Ó3€Dà—‘×2Ñ2°8Ó<€Jä×)Ñ)¨#Ó.€Lð �:‰:˜Ÿ™¨4Ñ/Ò/Ð/Ð/ô ˜×+Ñ+¨Y×-=Ñ-=Ô>Ø×Ñ §¡Ò0Ð0Ð0ä×$Ñ$×*Ñ*¨L¸*Ð+EÓF€MÜ˜Ÿ™ ]×%9Ñ%9Õ:r#   c                  ó¾  — d} | dz  }t        | ¬«      }|j                  d«       |j                  d«       t        ddd«      }t	        dddd	d
ddddœ¬«      }|j                  |«       |j                  |«       |j                  «       }|j                  «       }|j                  dk(  sJ ‚t        |j                  d|z  «       |d   dk(  sJ ‚|d   dd|z  z
  k(  sJ ‚y )Nr:   rs  r  ç       @r8   r  rŠ  rŒ  rõ   r�  rœ   r  r$  rŽ  r‘  r‹  g      $@rm   rv  rä  )r   Úset_figwidthÚset_figheightr   r   rw  r¨   rt   r  r�  r   r‚  )r  Údots_per_pointr]   r{   r¿  rÛ   r†  s          r!   Ú'test_arrow_annotation_get_window_extentrž  %  sñ   € Ø
€CØ˜2‘X€NÜ˜Œ_€FØ
×Ñ˜ÔØ
×Ñ˜ÔÜ˜3  SÓ)€Hô Ø
ˆ{ <¸/à ¨1¸2ÈñNôO€Jð ×Ñ˜&Ô!Ø‡O�O�HÔà×'Ñ'Ó)€DØ�_‰_Ó€Fà�:‰:˜ÒÐÐÜ˜Ÿ™ T¨NÑ%:Ô;Ø�$‰<˜3ÒÐÐØ�$‰<˜4 ! nÑ"4Ñ4Ò4Ð4Ñ4r#   c                  ól  — t        d¬«      } | j                  d«       | j                  d«       t        ddd«      }t	        dddd¬«      }|j                  | «       |j                  |«       |j                  «       }|j                  «       }|d	   d
k(  sJ ‚|d   d
k(  sJ ‚|d   dk(  sJ ‚|d   dk(  sJ ‚y )Nr:   r  rš  r8   r  rŠ  rõ   )r¾   r¿   r-   rm   r$  ru  rÚ  r‹  rv  )	r   r›  rœ  r   r   rw  r¨   rt   r  )r]   r{   r¿  rÛ   r†  s        r!   Ú'test_empty_annotation_get_window_extentr   >  sÇ   € Ü˜Œ_€FØ
×Ñ˜ÔØ
×Ñ˜ÔÜ˜3  SÓ)€Hô Ø
ˆ{ ;¸ôJ€Jà×Ñ˜&Ô!Ø‡O�O�HÔà×'Ñ'Ó)€DØ�_‰_Ó€Fà�$‰<˜3ÒÐÐØ�$‰<˜3ÒÐÐØ�$‰<˜4ÒÐÐØ�$‰<˜4ÒÐÑr#   zbasictext_wrap.pngc            
      ó¬  — t        j                  d¬«      } t        j                  g d¢«       d}t        j                  dd|ddd	¬
«       t        j                  dd|ddd	¬
«       t        j                  dd|ddd	¬
«       t        j                  dd|ddddd	¬«       t        j                  dd|dddd	¬«       t        j                  dd|ddd	¬
«       y )Nr›   r’   ©r   r  r   r  ú This is a really long string that I'd rather have wrapped so that it doesn't go outside of the figure, but if it's long enough it will go off the top or bottom!rä   rU   r}   r÷   T)rZ   rƒ   rÛ  r�   rä  rÒ   éñÿÿÿr  r×  ÚobliquerW   rX   )r    r   rZ   r[   rÛ  r  Úserifr6   )r(   r   rZ   rÛ  éÿÿÿÿr   ©r@   r]   Úaxisr`   ©rJ   rE  s     r!   Útest_basic_wrapr«  S  s²   € ä
�*‰*˜VÔ
$€CÜ‡H�HŠ^Ôð	*€Aô ‡H�HˆQ��1˜¨"°4Õ8Ü‡H�HˆQ��1˜¨"°4Õ8Ü‡H�HˆQ��1˜¨3°TÕ:Ü‡H�HˆQ��A ¨)¸Ø˜Dõ"ä‡H�HˆQ��1˜W¨H¸ÀtÕLÜ‡H�HˆR��A˜&¨3°TÖ:r#   zfonttext_wrap.pngc            
      ó|  — t        j                  d¬«      } t        j                  g d¢«       d}t        j                  dd|ddd	d
d¬«       t        j                  dd|dd	d
d¬«       t        j                  dd|dddd¬«       t        j                  dd|ddd¬«       t        j                  dd|ddd	dd¬«       y )Nr›   r’   r¢  r£  rä   r§  r×  r¦  r}   r÷   T)r    r(   rZ   rƒ   rÛ  r�   rä  r5   )r(   rZ   rƒ   rÛ  r  ÚheavyrW   rX   )r2   rZ   r[   rÛ  r  Ú	monospacerÒ   )r(   rZ   rÛ  r   r'   r6   r¤  )r    r   rZ   rƒ   rÛ  r¨  rª  s     r!   Útest_font_wrapr¯  c  s¥   € ä
�*‰*˜VÔ
$€CÜ‡H�HŠ^Ôð	*€Aô ‡H�HˆQ��A ¨7°vÈØõä‡H�HˆQ��1˜\¨f¸rÈÕMÜ‡H�HˆQ��A˜g¨(°uÀ4ÕHÜ‡H�HˆQ��1˜[¨W¸4Õ@Ü‡H�HˆR��A ¨(°vÈØör#   c                  ó‚   — t        «       } t        j                  ddd«      }|D ]  }| j                  |«      }|dv rŒJ ‚ y )Nr   çš™™™™�v@r+   )rW   r}   rÒ   )r   r¥   ÚarangeÚ_ha_for_angle©Útext_instanceÚanglesÚanglerÞ   s       r!   Útest_ha_for_angler¸  s  sI   € Ü“F€MÜ�Y‰Y�q˜% Ó%€FØò 8ˆØ!×/Ñ/°Ó6ˆ	ØÐ7Ò7Ð7Ð7ñ8r#   c                  ó‚   — t        «       } t        j                  ddd«      }|D ]  }| j                  |«      }|dv rŒJ ‚ y )Nr   r±  r+   )rW   rX   r‚   )r   r¥   r²  Ú_va_for_angler´  s       r!   Útest_va_for_angler»  {  sI   € Ü“F€MÜ�Y‰Y�q˜% Ó%€FØò :ˆØ!×/Ñ/°Ó6ˆ	ØÐ9Ò9Ð9Ð9ñ:r#   zxtick_rotation_mode.pngF)rá   r   c                  ó(  — t        j                  d¬«      \  } }|j                  g «       |j                  «       }|j	                  t        d«      dgdz  d¬«       |j	                  t        d«      dgdz  d¬«       t        j                  ddd«      }t        |j                  «       |«      D ]  \  }}|j                  |«       Œ t        |j                  «       |«      D ]  \  }}|j                  |«       Œ t        j                  d	d
dd¬«       y )N)rñ   rU   r’   é%   rÅ   Úxtick©rê   r   rç   ç{®Gáz„?ç®Gáz®ï?r¼   r9   ©r}   rÒ   rX   r~   )r@   rA   rI   ÚtwinyrH   rì   r¥   r¦   r©   Úget_xticklabelsÚset_rotationÚsubplots_adjust©rJ   rK   rc  r¶  Útickr·  s         r!   Útest_xtick_rotation_moderÉ  ƒ  sí   € ä�l‰l 7Ô+�G€CˆØ‡M�M�"ÔØ
�(‰(‹*€Cà‡M�M”%˜“)˜e˜W r™\¸€MÔAØ‡N�N”5˜“9˜u˜g¨™l¸'€NÔBä�[‰[˜˜C Ó$€Fä˜2×-Ñ-Ó/°Ó8ò !‰ˆˆeØ×Ñ˜%Õ ð!ä˜3×.Ñ.Ó0°&Ó9ò !‰ˆˆeØ×Ñ˜%Õ ð!ô ×Ñ˜T¨°2¸bÖAr#   zytick_rotation_mode.pngc                  ó(  — t        j                  d¬«      \  } }|j                  g «       |j                  «       }|j	                  t        d«      dgdz  d¬«       |j	                  t        d«      dgdz  d¬«       t        j                  ddd«      }t        |j                  «       |«      D ]  \  }}|j                  |«       Œ t        |j                  «       |«      D ]  \  }}|j                  |«       Œ t        j                  d	d
dd¬«       y )N)rU   rñ   r’   r½  rÅ   Úytickr¿  r   rç   r9   r¼   rÁ  rÀ  rÂ  )r@   rA   rH   ÚtwinxrI   rì   r¥   r¦   r©   Úget_yticklabelsrÅ  rÆ  rÇ  s         r!   Útest_ytick_rotation_moderÎ  –  sí   € ä�l‰l 7Ô+�G€CˆØ‡M�M�"ÔØ
�(‰(‹*€Cà‡M�M”%˜“)˜e˜W r™\¸€MÔAØ‡N�N”5˜“9˜u˜g¨™l¸'€NÔBä�[‰[˜˜C Ó$€FÜ˜2×-Ñ-Ó/°Ó8ò !‰ˆˆeØ×Ñ˜%Õ ð!ä˜3×.Ñ.Ó0°&Ó9ò !‰ˆˆeØ×Ñ˜%Õ ð!ô ×Ñ˜S¨°¸SÖAr#   c                  ó2  — t        j                  «       \  } }|j                  d«       |j                  dd«       |j	                  ddd«      }|j                  | j                  j                  «       «      }t        j                  |j                  «      rJ ‚y )NÚlogrU   r:   r   éûÿÿÿÚinvalid)r@   rA   Ú
set_yscaler…   r`   Úget_tightbboxr‡   rˆ   r¥   Úisfiniter�  )rJ   rK   Úinvalid_textÚinvalid_bboxs       r!   Ú(test_text_tightbbox_outside_scale_domainrØ  ¨  sw   € ô �l‰l‹n�G€CˆØ‡M�M�%ÔØ‡K�K��3Ôà—7‘7˜1˜b )Ó,€LØ×-Ñ-¨c¯j©j×.EÑ.EÓ.GÓH€LÜ�{‰{˜<×-Ñ-Ô.Ð.Ð.Ð.r#   c           
      ó~   — d}d}||z   |z   }| j                  dd|ddd¬«       | j                  dd|dddg d	¢¬
«       y )Nu   Arabic: Ø±ÙŽÙ‚Ù’Ù…u   âˆ�âˆ�âˆ‘âˆ«r;   r‘   rI  rW   rY   r•   )Úcmr10zDejaVu Sans Displayr/   )r*   rZ   r[   r(   )r`   )rJ   r`   Ú
math_signss      r!   Ú_test_complex_shapingrÜ  ´  s^   € ð
	1ð 	ð W€JØ˜Ñ˜zÑ)€DØ‡H�HˆS�$˜ 2¨(°x€HÔ@ð
 ‡H�HˆS�$˜ 2¨(°xÚCð õ Er#   Úcomplex)r¢  r£  r¤  Úeps)rd  r   c                  óF   — t        j                  d¬«      } t        | «       y )N)r�   rg   r’   )r@   r]   rÜ  r˜   s    r!   Útest_complex_shapingrà  Æ  s   € ä
�*‰*˜VÔ
$€CÜ˜#Õr#   c                 ó(  — | j                  ddddd¬«      }|j                  «       �J ‚| j                  dddddd	g¬
«      }|j                  «       dk(  sJ ‚| j                  ddddd¬«      }|j                  dg«       |j                  «       dk(  sJ ‚y )NrU   r–   zDefault: fi ffi fl strI  rÒ   )r    r   r9   zDisabled: fi ffi fl stú-liga)r    r   Úfontfeatures)râ  r+   zDiscretionary: fi ffi fl stÚdlig)rä  )r`   Úget_fontfeaturesÚset_fontfeaturesrª  s     r!   Ú_test_text_featuresrç  Ì  s¹   € Ø�‰��CÐ0Ø°'ð 	ó 	;€Aà×ÑÓÐ'Ð'Ð'Ø�‰��CÐ1Ø°'Ø&˜ið 	ó 	)€Að ×ÑÓ ;Ò.Ð.Ð.Ø�‰��CÐ6Ø°'ð 	ó 	;€Aà×Ñ˜�xÔ Ø×ÑÓ :Ò-Ð-Ñ-r#   Úfeatures)rá   r   rd  c                  óF   — t        j                  d¬«      } t        | «       y )N)rä  rÜ   r’   )r@   r]   rç  r˜   s    r!   Útest_text_featuresrê  Ú  s   € ô �*‰*˜XÔ
&€CÜ˜Õr#   zinput, match)rU   rg   r  zmust be list of tuple)rU   rg   )ÚenrÅ   rg   zstart location must be int)rë  rU   rÅ   zend location must be intc                 ó‚   — t        j                  t        |¬«      5  t        ddd| ¬«       d d d «       y # 1 sw Y   y xY w)NrÇ   r   rÅ   )Úlanguage)rÊ   rË   r�  r   )ÚinputrÈ   s     r!   Útest_text_language_invalidrï  á  s5   € ô 
�‰”y¨Ô	.ñ *ÜˆQ��5 5Õ)÷*÷ *ñ *úr  c                 óŠ  — | j                  dddd¬«      }|j                  «       �J ‚| j                  dddd¬«      }|j                  «       �J ‚| j                  ddd	d¬«      }|j                  «       �J ‚| j                  dd
dd¬«      }|j                  «       �J ‚d}| j                  dd|d¬«      }|j                  «       �J ‚| j                  dd|dd¬«      }|j                  «       dk(  sJ ‚| j                  dd|d¬«      }|j                  d«       |j                  «       dk(  sJ ‚| j                  dd
|dz  dg d¢¬«      }|j                  «       dk(  sJ ‚d}| j                  dd|d¬«      }|j                  «       �J ‚t        j                  ddi«      5  | j                  dd|d¬«      }d d d «       |j                  «       dk(  sJ ‚| j                  dd|dd¬«      }|j                  «       dk(  sJ ‚| j                  dd
|dz  d¬«      }|j                  d«       |j                  «       dk(  sJ ‚y # 1 sw Y   ŒˆxY w)Nr   r\   ÚDefaultrI  rv  gš™™™™™á?zLang Ar7   zLang Br  ÚMixedu   Ð±r9   Úsr)r    rí  Úrurä   ))rô  r   rU   )ró  rU   rg   )rô  rg   r  )ró  r  rä   u   ÅŠr–   ztext.languagerë  Úsmn))rë  r   rU   )rõ  rU   rg   )rë  rg   r  )rõ  r  rä   )r`   Úget_languageÚset_languager@   r!  )rJ   rE  ÚcyrillicÚlatins       r!   Ú_test_text_languagerú  ï  sj  € Ø�‰��C˜¨RˆÓ0€AØ�>‰>ÓÐ#Ð#Ð#Ø�‰��D˜(¨RˆÓ0€AØ�>‰>ÓÐ#Ð#Ð#Ø�‰��C˜¨BˆÓ/€AØ�>‰>ÓÐ#Ð#Ð#Ø�‰��D˜'¨BˆÓ/€AØ�>‰>ÓÐ#Ð#Ð#ð €HØ�‰��c˜8¨bˆÓ1€AØ�>‰>ÓÐ#Ð#Ð#Ø�‰��d˜H¨r¸DˆÓA€AØ�>‰>Ó˜tÒ#Ð#Ð#Ø�‰��c˜8¨bˆÓ1€AØ‡N�N�4ÔØ�>‰>Ó˜tÒ#Ð#Ð#Ø�‰��d˜H q™L°2ÚRð 	ó 	T€Aà�>‰>ÓÐWÒWÐWÐWð €EØ�‰��c˜5¨2ˆÓ.€AØ�>‰>ÓÐ#Ð#Ð#Ü	�‰˜¨$Ð/Ó	0ñ 4Ø�H‰H�S˜$ °ˆHÓ3ˆ÷4à�>‰>Ó˜tÒ#Ð#Ð#Ø�‰��c˜5¨2¸ˆÓ>€AØ�>‰>Ó˜uÒ$Ð$Ð$à�‰��d˜E A™I°ˆÓ3€AØ‡N�NÐMÔNØ�>‰>Óð  Bò Bð Bñ B÷4ð 4ús   ÆH9È9Irí  c                  óF   — t        j                  d¬«      } t        | «       y )N)rä  r  r’   )r@   r]   rú  r˜   s    r!   Útest_text_languagerü    s   € ô �*‰*˜VÔ
$€CÜ˜Õr#   zdraw_text_fallback.pngc                 óì   — | j                  d«       g d¢}t        j                  dt        |«      f¬«      }|j	                  dd|¬«      }t        |d   «       t        |d   «       t        |d	   «       y )
Nz5matplotlib.backends.backend_agg.RendererAgg.draw_text)rg   rÜ   r  r�   r’   r  rU   )Úheight_ratiosr   rg   )Údelattrr@   r]   ÚsumÚ
subfiguresrÜ  rç  rú  )ÚmonkeypatchÚheightsrJ   rà  s       r!   Útest_draw_text_as_path_fallbackr    sg   € ð ×ÑÐOÔPÚ€GÜ
�*‰*˜a¤ W£Ð.Ô
/€CØ�^‰^˜A˜q°ˆ^Ó8€FÜ˜& ™)Ô$Ü˜˜q™	Ô"Ü˜˜q™	Õ"r#   )‡r   rC  r.  r©  r=   Únumpyr¥   Únumpy.testingr   Úpackaging.versionr   Úparse_versionÚ	pyparsingrÊ   Ú
matplotlibr   Úmatplotlib.backend_basesr   Úmatplotlib.backends.backend_aggr   Úmatplotlib.figurer   r<   r	   r
   r   Úmatplotlib.patchesÚpatchesrp   Úmatplotlib.pyplotÚpyplotr@   Úmatplotlib.gridspecr   Úmatplotlib.transformsÚ
transformsr  Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.testing._markersr   Úmatplotlib.textr   r   r   Ú__version__Úpyparsing_versionrR   rd   rŽ   r™   r¹   rÄ   ÚmarkÚparametrizer�  Úprintr5  rÍ   rÓ   rß   rî   rò   rÿ   r  r   r(  r+  r1  r6  r8  r;  r?  rF  rV  r\  rf  rk  rr  r|  rŠ  rŽ  r“  r�  r   r«  r´  r·  r½  rÅ  rÍ  rÓ  râ  rç  rò  r÷  rù  rþ  r  r  r  r  r  ÚxfailÚreleaser  r"  r;  rE  rQ  rV  r]  rc  ri  rk  r‡  r˜  rž  r   r«  r¯  r¸  r»  rÉ  rÎ  rØ  rÜ  rà  rç  rê  rï  rú  rü  r  r   r#   r!   ú<module>r     s\  ðÝ Û 	Û Û 	Û ã Ý -Ý 4Û Û ã Ý /Ý 7Ý $ß IÑ IÝ %Ý Ý (Ý +ß OÝ 4ß 8Ñ 8á! )×"7Ñ"7Ó8Ð ñ �=�/¨Ô1ñUó 2ðUñp �;�- wÔ/ñó 0ðñ. �<�.¨Ô0ñ-6ó 1ð-6ñ` Ð$Ð%¨WÔ5ñ-ó 6ð-ñ$ Ð&Ð'¨wÔ7ñó 8ðò<	.ð ‡�×ÑÐ/Ø�ÐUÐVØ��A�ÐGÐHØ�Ð9Ð:Ø�ÐAÐBØ�ÐHÐIØ�Ð=Ð>ð2ó ñóðñ �8�* GÔ,ñó -ðñ Ð#Ð$¨GÔ4ñó 5ðñ. Ð#8Ð"9ÀØ"ô$ñ5ó$ð5ñ Ð$Ð%¨WÔ5ñDó 6ðDò"ò@Cð4 ‡�×Ñ˜ " c °¸+Ð0FÐÓGñó Hðò;ò
4ò
;ò
$ò
5ò@ð
 ‡�×Ñ˜Ò:Ó;Ø‡�×Ñ˜ò  ?ó @ñPó@ó <ðPñ �?Ð#¨7Ô3ñ/ó 4ð/ñ Ð6Ð7¸wÔGñó Hðñ6 Ð7Ð8ÀÔHñó Iðò6ñ. Ð&Ð'¨wÔ7ñó 8ðò*ñ Ð%Ð&¨gÔ6ñ>ó 7ð>ð ‡�×ÑÐ-Ò/KÓLñ*ó Mð*ò(4ò
ð ñ3ó ð3ð ñó ðð ‡�×Ñ˜Ò 5Ó6ñ*ó 7ð*ñ Ð-Ð.°oÔFñ=ó Gð=ñ Ð-Ð.°oÔFñ!ó Gð!ò&ò&ñ ÓñPó ðPñ Ð.Ð/°wÔ?ñó @ðð ‡�×ÑØòóñ2óð2ò=ò9ò ?ò:ñ Óñ
$ó ð
$ò$ò$ò(ð ‡�×Ñ˜Ð&6¸¸Ð%=Ó>ñ-ó ?ð-ò/ð ‡�×ÑÐ$×,Ñ,°	Ñ9ØMð ó OñóOðð ‡�×ÑÐ$×,Ñ,°	Ñ9ØMð ó OñóOðð ñ"#ó ð"#òJ$ò66ò 5òCñ$ Óñó ðñ Ò 5Ô6ñ2ó 7ð2ñ Ò 5Ô6ñ2ó 7ð2ò$9òN ;òF5ò2 ñ* Ð'Ð(°Ô8ñ;ó 9ð;ñ Ð&Ð'¨wÔ7ñó 8ðò8ò:ñ Ð,Ð-¸5ÈÔPñBó QðBñ$ Ð,Ð-¸5ÈÔPñBó QðBò"	/òEñ$ �9�+Ò*FÈgÔVñó Wðò
.ñ �:�,¨E¸Ú9ô;ñó;ðð
 ‡�×ÑØâ	Ð+Ð,Ø
ˆÐ*Ð+Ø
Ð	Ð9Ð:Ø
Ð	Ð7Ð8ð	óñ*óð*ò
%BñP �:�,¨E¸Ú9ô;ñó;ðñ
 Ð+Ð,°GÔ<ñ#ó =ñ#r#   