Ë
    ^ãj7 ã                   ó4  — d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dl	Z
d dlmZmZ d dlZd dlZd dlmZ d dlmZ  G d„ d«      Z G d„ d«      Z G d	„ d
«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z G d„ d«      Z  G d„ d«      Z! G d„ d«      Z" G d„ d«      Z# G d„ d «      Z$ G d!„ d"«      Z% G d#„ d$«      Z& G d%„ d&«      Z' G d'„ d(«      Z( G d)„ d*«      Z) G d+„ d,«      Z* G d-„ d.«      Z+d/„ Z, G d0„ d1«      Z-d2„ Z.d3„ Z/d4„ Z0d5„ Z1d6„ Z2d7„ Z3d8„ Z4d9„ Z5ejl                  jo                  d:d;«      d<„ «       Z8ejl                  jo                  d=d>d?g e
jr                  d@«      g«      dA„ «       Z:ejl                  jo                  dBg dC¢«      ejv                  jy                  dD«      dE„ «       «       Z=dF„ Z>ejl                  jo                  dG ej~                  dH„ «       ej€                  dI«      f«      dJ„ «       ZAdK„ ZBy)Lé    )ÚnullcontextN)Úparse)Úassert_almost_equalÚassert_array_equalc            
       ó"  — e Zd Zdd ej                  g d¢«      fdd ej                  g d¢«      fdd ej                  g d	¢«      fd
d ej
                  d«      dz  fdd
 ej
                  dd«      dz  fgZddd ej                  g d¢«      fddd ej                  g d¢«      fddg d¢ ej                  g d¢«      fgZej                  j                  de«      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  ddd
ie ej                  d «      fd!d"dgied#fd!d"ied#fd!d"d$gied#fg«      d%„ «       Zej                  j                  d&g d'¢g d'¢fd"d(gg d'¢fdd"gg d'¢fd"gg d'¢fg«      d)„ «       Zy)*ÚTestMaxNLocatoré   éd   )ç      4@ç      D@g      N@g      T@ç      Y@çü©ñÒMbP?ç-Cëâ6?)ç        g-Cëâ6*?g-Cëâ6:?ga2U0*©C?g-Cëâ6J?r   ç  4&õkÃç  4&õkC)r   g  4&õküÂr   g  4&õküBr   r   g�œ&q‰5é   gL“oûñg5g�œ&q‰µéûÿÿÿé   çš™™™™™¹¿çš™™™™™ñ?N)éÿÿÿÿr   r   é   çffffffî?)g      Ð¿r   ç      Ð?ç      à?ç      è?ç      ð?é7   )r   ç      ø?é   r   é
   )r   é   é   é-   é<   úvmin, vmax, expectedc                 óh   — t        j                  d¬«      }t        |j                  ||«      |«       y )Nr!   ©Únbins©ÚmtickerÚMaxNLocatorr   Útick_values)ÚselfÚvminÚvmaxÚexpectedÚlocs        ú^/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/matplotlib/tests/test_ticker.pyÚ
test_basiczTestMaxNLocator.test_basic    s'   € ä×!Ñ!¨Ô*ˆÜ˜CŸO™O¨D°$Ó7¸ÕBó    zvmin, vmax, steps, expectedc                 ól   — t        j                  dd|¬«      }t        |j                  ||«      |«       y )Nr!   T)r*   ÚintegerÚstepsr+   )r/   r0   r1   r9   r2   r3   s         r4   Útest_integerzTestMaxNLocator.test_integer%   s+   € ä×!Ñ!¨°4¸uÔEˆÜ˜CŸO™O¨D°$Ó7¸ÕBr6   zkwargs, errortype, matchÚfooz5set_params() got an unexpected keyword argument 'foo'r9   r   z$steps argument must be an increasingé   c                 ó†   — t        j                  ||¬«      5  t        j                  di |¤Ž d d d «       y # 1 sw Y   y xY w)N©Úmatch© )ÚpytestÚraisesr,   r-   )r/   ÚkwargsÚ	errortyper?   s       r4   Útest_errorszTestMaxNLocator.test_errors*   s8   € ô �]‰]˜9¨EÔ2ñ 	*Ü×ÑÑ) &Ò)÷	*÷ 	*ñ 	*ús	   ˜7·A zsteps, result)r   r   r"   r"   c                 ón   — t        j                  |¬«      }|j                  |k(  j                  «       sJ ‚y )N)r9   )r,   r-   Ú_stepsÚall)r/   r9   Úresultr3   s       r4   Útest_paddingzTestMaxNLocator.test_padding5   s/   € ô ×!Ñ!¨Ô.ˆØ—
‘
˜fÑ$×)Ñ)Ô+Ð+Ñ+r6   )Ú__name__Ú
__module__Ú__qualname__ÚnpÚarrayÚarangeÚ
basic_dataÚinteger_datarA   ÚmarkÚparametrizer5   r:   Ú	TypeErrorÚreÚescapeÚ
ValueErrorrE   rJ   r@   r6   r4   r   r      s÷  „ à	ˆS�(�"—(‘(Ò5Ó6Ð7Ø	�˜˜Ÿ™Ò!LÓMÐNØ	��h�b—h‘hÒJÓKÐLØ	
ˆH�i�b—i‘i “l UÑ*Ð+Ø	�A�y�r—y‘y  QÓ'¨%Ñ/Ð0ð€Jð 
ˆs�D˜(˜"Ÿ(™(¢=Ó1Ð2Ø	ˆt�T˜8˜2Ÿ8™8Ò$DÓEÐFØ	
ˆBÒ" H B§H¡HÒ-@Ó$AÐBð€Lð ‡[�[×ÑÐ3°ZÓ@ñCó AðCð ‡[�[×ÑÐ:¸LÓIñCó JðCð ‡[�[×ÑÐ7Ø
�ˆ�YØ	ˆ�‰ÐJÓ	Kð	Mà
�A�q�6Ð	˜JÐ(NÐOØ
�1ˆ�zÐ#IÐJØ
�A�r�7Ð	˜ZÐ)OÐPð:ó ñ*óð*ð ‡[�[×Ñ˜_Ú	’ZÐ Ø
ˆRˆ’*ÐØ
ˆQˆ’ÐØ
ˆŠjÐð	/ó ñ,óñ,r6   r   c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestLinearLocatorc                 ó–   — t        j                  d¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )Né   ©Únumticks)çš™™™™™é¿ç333333Ó¿çš™™™™™É?r_   ra   )r,   ÚLinearLocatorrN   rO   r   r.   ©r/   r3   Ú
test_values      r4   r5   zTestLinearLocator.test_basicA   s6   € Ü×#Ñ#¨QÔ/ˆÜ—X‘XÒ/Ó0ˆ
Ü˜CŸO™O¨D°#Ó6¸
ÕCr6   c                 óZ   — t        j                  d¬«      }|j                  dd«      g k(   y )Nr   r]   r_   ra   )r,   rb   r.   ©r/   r3   s     r4   Útest_zero_numticksz$TestLinearLocator.test_zero_numticksF   s%   € Ü×#Ñ#¨QÔ/ˆØ�‰˜˜cÓ" bÓ(r6   c                 ó¢   — t        j                  d¬«      }|j                  ddg i¬«       |j                  dk(  sJ ‚|j                  dg ik(  sJ ‚y)z 
        Create linear locator with presets={}, numticks=2 and change it to
        something else. See if change was successful. Should not exception.
        r   r]   é   ©r   r   )r^   ÚpresetsN)r,   rb   Ú
set_paramsr^   rk   rf   s     r4   Útest_set_paramsz!TestLinearLocator.test_set_paramsJ   sP   € ô
 ×#Ñ#¨QÔ/ˆØ�‰ ¨F°B¨<ˆÔ8Ø�|‰|˜qÒ Ð Ð Ø�{‰{˜v r˜lÒ*Ð*Ñ*r6   c                 óz  — t        j                  g d¢ddgdœ¬«      }|j                  dd«      g d¢k(  sJ ‚|j                  dd«      g d¢k(  sJ ‚|j                  dd«      ddgk(  sJ ‚|j                  d	d
«      ddgk(  sJ ‚|j                  dd«      t        j                  ddd«      k(  j                  «       sJ ‚y )N)r   ç      ô?ç      ü?r   r    ))r   r   ©r   r   )rk   r   r   r   r   ç       @r<   )r,   rb   r.   rN   ÚlinspacerH   rf   s     r4   Útest_presetszTestLinearLocator.test_presetsT   s½   € Ü×#Ñ#²_Ø69¸3°Zñ-Aô Bˆà�‰˜q !Ó$ªÒ7Ð7Ð7Ø�‰˜q !Ó$ªÒ7Ð7Ð7Ø�‰˜q !Ó$¨¨c¨
Ò2Ð2Ð2Ø�‰˜s CÓ(¨S°#¨JÒ6Ð6Ð6Ø—‘  1Ó%¬¯©°Q¸¸2Ó)>Ñ>×CÑCÔEÐEÑEr6   N)rK   rL   rM   r5   rg   rm   rt   r@   r6   r4   rZ   rZ   @   s   „ òDò
)ò+óFr6   rZ   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestMultipleLocatorc                 ó–   — t        j                  d¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )Nç“V-	@©Úbase)goƒÀÊá"Àç“V-Àg“V-	Àr   rx   ç“V-@goƒÀÊá"@g“V-)@éùÿÿÿr"   ©r,   ÚMultipleLocatorrN   rO   r   r.   rc   s      r4   r5   zTestMultipleLocator.test_basic_   s:   € Ü×%Ñ%¨5Ô1ˆÜ—X‘Xò .ó /ˆ
ä˜CŸO™O¨B°Ó3°ZÕ@r6   c                 ó˜   — t        j                  dd¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )Nrx   ç333333ó?©rz   Úoffset)g¬Zd{ ÀgÇK7‰A`ÀgôýÔxé&ÿ¿r�   gÙÎ÷Sc@g`åÐ"Ûù@gÕxé&1H%@r}   r"   r~   rc   s      r4   Útest_basic_with_offsetz*TestMultipleLocator.test_basic_with_offsete   s<   € Ü×%Ñ%¨5¸Ô=ˆÜ—X‘Xò 'ó (ˆ
ä˜CŸO™O¨B°Ó3°ZÕ@r6   c                 óÀ   — t        j                  ddi«      5  t        j                  d¬«      }t	        |j                  dd«      d«       ddd«       y# 1 sw Y   yxY w)	z5
        Test basic behavior of view limits.
        úaxes.autolimit_modeÚdatarx   ry   r   r!   )r   r!   N©ÚmplÚ
rc_contextr,   r   r   Úview_limitsrf   s     r4   Útest_view_limitsz$TestMultipleLocator.test_view_limitsk   sT   € ô �^‰^Ð2°FÐ;Ó<ñ 	AÜ×)Ñ)¨uÔ5ˆCÜ §¡°°AÓ 6¸Ô@÷	A÷ 	Añ 	Aúó   ˜3AÁAc                 óÀ   — t        j                  ddi«      5  t        j                  d¬«      }t	        |j                  dd«      d«       ddd«       y# 1 sw Y   yxY w)	úb
        Test that everything works properly with 'round_numbers' for auto
        limit.
        r†   Úround_numbersrx   ry   éüÿÿÿé   )r{   r|   Nrˆ   rf   s     r4   Útest_view_limits_round_numbersz2TestMultipleLocator.test_view_limits_round_numberss   sT   € ô
 �^‰^Ð2°OÐDÓEñ 	IÜ×)Ñ)¨uÔ5ˆCÜ §¡°°AÓ 6¸ÔH÷	I÷ 	Iñ 	Iúr�   c                 óÂ   — t        j                  ddi«      5  t        j                  dd¬«      }t	        |j                  dd«      d«       d	d	d	«       y	# 1 sw Y   y	xY w)
r�   r†   r�   rx   çÍÌÌÌÌÌô?r‚   r‘   r’   )g`åÐ"ÛùÀg}?5^ºÉ@Nrˆ   rf   s     r4   Ú*test_view_limits_round_numbers_with_offsetz>TestMultipleLocator.test_view_limits_round_numbers_with_offset|   sV   € ô
 �^‰^Ð2°OÐDÓEñ 	IÜ×)Ñ)¨u¸SÔAˆCÜ §¡°°AÓ 6¸ÔH÷	I÷ 	Iñ 	Iús   ˜4AÁAc                 óÀ   — t        j                  ddi«      5  t        j                  d¬«      }t	        |j                  dd«      d«       ddd«       y# 1 sw Y   yxY w)	zM
        Test that 'round_numbers' works properly with a single bin.
        r†   r�   r   r)   gffffffÀgffffff@)r‘   r’   N)r‰   rŠ   r,   r-   r   r‹   rf   s     r4   Útest_view_limits_single_binz/TestMultipleLocator.test_view_limits_single_bin…   sT   € ô �^‰^Ð2°OÐDÓEñ 	EÜ×%Ñ%¨AÔ.ˆCÜ §¡°°cÓ :¸GÔD÷	E÷ 	Eñ 	Eúr�   c                 óÐ   — t        j                  d¬«      }|j                  d¬«       |j                  j                  dk(  sJ ‚|j                  d¬«       |j
                  dk(  sJ ‚y)z
        Create multiple locator with 0.7 base, and change it to something else.
        See if change was successful.
        çffffffæ?ry   ç333333û?r\   )rƒ   N)r,   r   rl   Ú_edgeÚstepÚ_offset)r/   Úmults     r4   rm   z#TestMultipleLocator.test_set_params�   sX   € ô
 ×&Ñ&¨CÔ0ˆØ�‰˜SˆÔ!Ø�z‰z�‰ #Ò%Ð%Ð%Ø�‰˜qˆÔ!Ø�|‰|˜qÒ Ð Ñ r6   N)
rK   rL   rM   r5   r„   rŒ   r“   r–   r˜   rm   r@   r6   r4   rv   rv   ^   s+   „ òAòAòAòIòIòEó	!r6   rv   c            
       ó˜  — e Zd Zd„ ZddgZd„ Zej                  j                  de«      d„ «       Z	g d¢Z
d„ Zej                  j                  d	e
«      d
„ «       Zg d¢Zg d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢gZ e eee«      «      Zej                  j                  de«      d„ «       Zej                  j                  dddg«      ej                  j                  ddg d¢fdg d¢fg«      d„ «       «       Zej                  j                  dddg«      ej                  j                  dddg d¢fd d!g d"¢fd#d$g d%¢fg«      d&„ «       «       Zy')(ÚTestAutoMinorLocatorc                 óð   — t        j                  «       \  }}|j                  dd«       |j                  «        t	        j
                  g d¢«      }t        |j                  j                  d¬«      |«       y )Nr   ç=
×£p=ö?©çš™™™™™©?çš™™™™™¹?g333333Ã?r   ç333333Ó?gffffffÖ?çÍÌÌÌÌÌÜ?r   çš™™™™™á?gÍÌÌÌÌÌä?rš   r   g333333ë?çÍÌÌÌÌÌì?r   çÍÌÌÌÌÌð?r   gffffffò?ro   r•   gš™™™™™õ?T©Úminor)	ÚpltÚsubplotsÚset_xlimÚminorticks_onrN   rO   r   ÚxaxisÚget_ticklocs©r/   ÚfigÚaxrd   s       r4   r5   zTestAutoMinorLocator.test_basicš   s^   € Ü—,‘,“.‰ˆˆRØ
�‰�A�tÔØ
×ÑÔÜ—X‘Xò Gó Hˆ
ô 	˜BŸH™H×1Ñ1¸Ð1Ó=¸zÕJr6   ©r   r   )r   r   c                 óÈ  — t        j                  «       \  }}|j                  dd«       |j                  j	                  t        j                  «       «       t        j                  g d¢«      }t        |j                  j                  d¬«      |«       |j                  dd«       t        j                  g d¢«      }t        |j                  j                  d¬«      |«       y	)
zI
        Test that first and last minor tick appear as expected.
        çffffffþ¿çffffffþ?) r¹   gÍÌÌÌÌÌü¿ç333333û¿gš™™™™™ù¿gffffffö¿gÍÌÌÌÌÌô¿g333333ó¿çš™™™™™ñ¿gÍÌÌÌÌÌì¿r_   gffffffæ¿g333333ã¿çš™™™™™Ù¿r`   çš™™™™™É¿r   r¦   ra   r§   çš™™™™™Ù?ç333333ã?rš   çš™™™™™é?rª   r   r�   r•   gffffffö?gš™™™™™ù?r›   gÍÌÌÌÌÌü?rº   Tr¬   r   r!   )g      Àg      Àg      Àg      Àg      Àg      ø¿ç      ð¿ç      à¿r   r   r    ç      @g      @ç      @g      @ç      @N)r®   r¯   r°   r²   Úset_minor_locatorr,   ÚAutoMinorLocatorrN   rO   r   r³   r´   s       r4   Útest_first_and_last_minorticksz3TestAutoMinorLocator.test_first_and_last_minorticks©   s®   € ô
 —,‘,“.‰ˆˆRØ
�‰�D˜#ÔØ
�‰×"Ñ"¤7×#;Ñ#;Ó#=Ô>Ü—X‘Xò Bó Cˆ
ô 	˜BŸH™H×1Ñ1¸Ð1Ó=¸zÔJà
�‰�B˜ÔÜ—X‘Xò Gó Hˆ
ä˜BŸH™H×1Ñ1¸Ð1Ó=¸zÕJr6   z%nb_majorticks, expected_nb_minorticksc                 óv  — t        j                  «       \  }}d} |j                  |Ž  |j                  t	        j
                  |d   |d   |«      «       |j                  «        |j                  j                  t        j                  «       «       t        |j                  j                  «       «      |k(  sJ ‚y )N)r   r!   r   r   )r®   r¯   r°   Ú
set_xticksrN   rs   r±   r²   rÇ   r,   rÈ   ÚlenÚget_minorticklocs)r/   Únb_majorticksÚexpected_nb_minorticksrµ   r¶   Úxlimss         r4   Útest_low_number_of_majorticksz2TestAutoMinorLocator.test_low_number_of_majorticks¼   s�   € ô —,‘,“.‰ˆˆRØˆØˆ�‰�UÑØ
�‰”b—k‘k %¨¡(¨E°!©H°mÓDÔEØ
×ÑÔØ
�‰×"Ñ"¤7×#;Ñ#;Ó#=Ô>Ü�2—8‘8×-Ñ-Ó/Ó0Ð4JÒJÐJÑJr6   ))r   r!   )r   r’   )rÄ   r!   )r!   r!   )r"   r!   c                 ó  — t        j                  ddi«      5  | j                  D �cg c]  }|d   ‘Œ	 }}t        j                  j                  |t        j                  «       j                  «       d d d «       y c c}w # 1 sw Y   y xY w)Nú_internal.classic_modeFr   )	r‰   rŠ   Úmajorstep_minordivisionsrN   ÚtestingÚassert_allcloser,   ÚAutoLocatorrG   )r/   ÚxÚ
majorstepss      r4   Ú"test_using_all_default_major_stepsz7TestAutoMinorLocator.test_using_all_default_major_stepsÐ   sz   € Ü�^‰^Ð5°uÐ=Ó>ñ 	EØ(,×(EÑ(EÖF 1˜!˜A›$ÐFˆJÐFÜ�J‰J×&Ñ& zÜ'.×':Ñ':Ó'<×'CÑ'CôE÷	Eð 	EùÚF÷	Eð 	Eús   ˜A?§A:³>A?Á:A?Á?Bz&major_step, expected_nb_minordivisionsc                 óN  — t        j                  «       \  }}d|f} |j                  |Ž  |j                  |«       |j	                  «        |j
                  j                  t        j                  «       «       t        |j
                  j                  «       «      dz   }||k(  sJ ‚y ©Nr   r   )r®   r¯   r°   rË   r±   r²   rÇ   r,   rÈ   rÌ   rÍ   )r/   Ú
major_stepÚexpected_nb_minordivisionsrµ   r¶   rÐ   Únb_minor_divisionss          r4   Útest_number_of_minor_ticksz/TestAutoMinorLocator.test_number_of_minor_ticksÖ   s‰   € ô —,‘,“.‰ˆˆRØ�J�ˆØˆ�‰�UÑØ
�‰�eÔØ
×ÑÔØ
�‰×"Ñ"¤7×#;Ñ#;Ó#=Ô>Ü  §¡×!;Ñ!;Ó!=Ó>ÀÑBÐØ!Ð%?Ò?Ð?Ñ?r6   )©r   r£   ©r   g˜nƒÀÊÁ?)r   ç�Ô�ùÉ;)r   g¦ÖVs†?=)gH¯¼šò×Š¾gIhG|·a¾)gvƒôõ!´>ç�Ûí‚ÚÒ·>)çÍÒÊ”A{¶¾çÁ�v¾À(¸¾)g"s2_Èd­¾glEÕŽfU¹¾r¤   )ç{®Gázt?ç{®Gáz„?ç¸…ëQ¸Ž?gš™™™™™™?g¸…ëQ¸ž?gìQ¸…ë¡?g
×£p=
§?r¥   g)\�Âõ(¬?g¤p=
×£°?gìQ¸…ë±?g333333³?gÃõ(\�Âµ?g
×£p=
·?gR¸…ëQ¸?gáz®Gáº?ç)\�Âõ(¼?gq=
×£p½?ç      À?g¤p=
×£À?gHáz®GÁ?)gO›
´ã‚;gO›
´ã’;g÷èŽUœ;g#B’¡œ§;g÷èŽU¬;gæÇÌˆ=‡°;g¹nP‹*@µ;g#B’¡œ·;g�Ô�ù¹;ga¼W�²¾;gæÇÌˆ=‡À;g›±mÉxµÁ;g…¯JïÄ;g¹nP‹*@Å;gnXñËenÆ;gØ+3MÜÊÈ;rã   )g›+¡†›„ö<g›+¡†›„=g´àø¤tã=g‚vIhÂ%=g´àø¤tã =g(Í´#=gQu÷.U)=g‚vIhÂ%,=gõ›ÙUö.=gnób]¾K2=g(Í´3=gá7ÎQ5=gU>?åì7=gQu÷.U9=gÈcß¯x½:=g;‰³ Ž==gõ›ÙUö>=)gç*«#&,Š¾g…¦™¬Y€‰¾g#"ˆ5�Ôˆ¾g_eGô|‡¾gý”SÐ'Ñ†¾gœBY[%†¾gØkÂÍ„¾gvƒôõ!„¾gÿû|)vƒ¾gQöØŽ�‚¾gïqÇÄr�¾g�íµ ÷Æ€¾g“É%e½Þ~¾gÐÀw$‡}¾g¸ßˆ‹/|¾g…¦™¬Y€y¾gÁ�v¾À(x¾gý”SÐ'Ñv¾gvƒôõ!t¾g³zê]Êr¾gïqÇÄrq¾gÐÀw$‡m¾gH¯¼šò×j¾gÁ�v¾À(h¾g³zê]Êb¾)g�äÑéL´>g§E–/Üw´>gÀ¦ZMÏ¢´>gØkÂÍ´>g	Ê§¦¨#µ>g!+lÄ›Nµ>g:Œ0âŽyµ>gRíôÿ�¤µ>gƒ¯};húµ>gœBY[%¶>g´qwNP¶>gÍÒÊ”A{¶>gý”SÐ'Ñ¶>göîü¶>g.WÜ'·>gG¸ )R·>gxz)eç§·>rä   )g5m”/G¸¾g©<² Íý·¾gÐTè·¾g«ô`½·¾gxz)eç§·¾gìIGÖm’·¾gÓè‚¸zg·¾gG¸ )R·¾g»‡¾š‡<·¾g¢&ú|”·¾göîü¶¾gŠÅ5_¡æ¶¾gqdqA®»¶¾gå3�²4¦¶¾gY­#»�¶¾)g#"ˆ5�Ô¸¾gò_ÿù¦~¸¾ræ   g�Ûí‚ÚÒ·¾g.WÜ'·¾gý”SÐ'Ñ¶¾rå   gœBY[%¶¾g:Œ0âŽyµ¾g	Ê§¦¨#µ¾gØkÂÍ´¾g§E–/Üw´¾gEÁ„¸Ì³¾gÿû|)v³¾gä<sAC ³¾g³zê]Ê²¾gQöØŽ�²¾g 4PSªÈ±¾gïqÇÄr±¾g¾¯>ÜÝ±¾g\+-eq°¾g+i¤)+°¾gõM7Ü‰Š¯¾g“É%e½Þ®¾gÐÀw$‡­¾zlim, refc                 ó  — t        j                  «       \  }}|j                  «        |j                  dddd¬«       |j                  dddd¬«       |j	                  |«       t        |j                  j                  d¬	«      |«       y )
NTr­   Úyr   )Ú	linewidthÚmajorÚk)Úcolorrî   r¬   )r®   r¯   r±   ÚgridÚset_ylimr   Úyaxisr³   )r/   ÚlimÚrefrµ   r¶   s        r4   Útest_additionalz$TestAutoMinorLocator.test_additional  sm   € ä—,‘,“.‰ˆˆRà
×ÑÔØ
�‰��g˜s¨aˆÔ0Ø
�‰��g S°AˆÔ6Ø
�‰�CÔä˜BŸH™H×1Ñ1¸Ð1Ó=¸sÕCr6   Úuse_rcparamFTrá   râ   c                 ó2  — |rdddœ}i }ni }ddi}t        j                  |«      5  t        j                  «       \  }} |j                  |Ž   |j
                  |Ž  |j                  j                  t        j                  di |¤Ž«       |j                  j                  t        j                  di |¤Ž«       t        |j                  j                  d¬«      |«       t        |j                  j                  d¬«      |«       d d d «       y # 1 sw Y   y xY w)NÚauto©zxtick.minor.ndivszytick.minor.ndivsÚnTr¬   r@   )r‰   rŠ   r®   r¯   r°   ró   r²   rÇ   r,   rÈ   rô   r   r³   )r/   rõ   rö   rø   ÚcontextrC   rµ   r¶   s           r4   Útest_number_of_minor_ticks_autoz4TestAutoMinorLocator.test_number_of_minor_ticks_auto  sì   € ñ Ø,2ÈÑPˆGØ‰FàˆGØ˜6�]ˆFä�^‰^˜GÓ$ñ 	HÜ—l‘l“n‰GˆC�ØˆB�K‰K˜ÑØˆB�K‰K˜ÑØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔGÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔG÷	H÷ 	Hñ 	Hús   ¦CDÄDzn, lim, refr   )r   r’   )r   r    rÄ   rÅ   r’   rq   )r   r   r   ro   r    rp   r"   rj   )	r¦   ra   r§   r¿   r   rÀ   rš   rÁ   rª   c                 óê  — |r||dœ}i }ni }d|i}t        j                  |«      5  t        j                  «       \  }} |j                  |Ž   |j
                  |Ž  |j                  j                  t        j                  d«      «       |j                  j                  t        j                  di |¤Ž«       |j                  j                  t        j                  d«      «       |j                  j                  t        j                  di |¤Ž«       t        |j                  j                  d¬«      |«       t        |j                  j                  d¬«      |«       d d d «       y # 1 sw Y   y xY w)Nrû   rü   r   Tr¬   r@   )r‰   rŠ   r®   r¯   r°   ró   r²   Úset_major_locatorr,   r   rÇ   rÈ   rô   r   r³   )	r/   rü   rõ   rö   rø   rý   rC   rµ   r¶   s	            r4   Útest_number_of_minor_ticks_intz3TestAutoMinorLocator.test_number_of_minor_ticks_int.  s&  € ñ Ø,-ÀAÑFˆGØ‰FàˆGØ˜1�XˆFä�^‰^˜GÓ$ñ 		HÜ—l‘l“n‰GˆC�ØˆB�K‰K˜ÑØˆB�K‰K˜ÑØ�H‰H×&Ñ&¤w×'>Ñ'>¸qÓ'AÔBØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJØ�H‰H×&Ñ&¤w×'>Ñ'>¸qÓ'AÔBØ�H‰H×&Ñ&¤w×'?Ñ'?Ñ'IÀ&Ñ'IÔJÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔGÜ §¡× 5Ñ 5¸DÐ 5Ó AÀ3ÔG÷		H÷ 		Hñ 		Hús   ¦D:E)Å)E2N)rK   rL   rM   r5   ÚparamsrÉ   rA   rS   rT   rÑ   rÔ   rÚ   rà   ÚlimitsÚ	referenceÚlistÚzipÚadditional_datar÷   rþ   r  r@   r6   r4   r¡   r¡   ™   sÂ  „ òKð 	Øð€Fò
Kð& ‡[�[×ÑÐDÀfÓMñ	Kó Nð	Kò )ÐòEð ‡[�[×ÑÐEØ5ó7ñ	@ó7ð	@ò>€Fò	Bò	ò	'ò	'ò	ò
	1ò	Eò	ð/€Iñ: ™3˜v yÓ1Ó2€Oà‡[�[×Ñ˜Z¨Ó9ñDó :ðDð ‡[�[×Ñ˜]¨U°D¨MÓ:Ø‡[�[×ÑØØòGðHð ò"ð#ð	
ó	ñHó	ó ;ðHð" ‡[�[×Ñ˜]¨U°D¨MÓ:Ø‡[�[×ÑØØ�Ò,Ð-Ø�Ò:Ð;Ø�ÒFÐGð
óñHóó ;ñHr6   r¡   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestLogLocatorc                 ó¨  — t        j                  d¬«      }t        j                  t        «      5  |j                  dd«       d d d «       t        j                  g d¢«      }t        |j                  dd«      |«       t        j                  d¬	«      }t        j                  g d
¢«      }t        |j                  dd«      |«       y # 1 sw Y   Œ†xY w)Nr!   r]   r   éè  )çñhãˆµøä>r   r¦   ç      $@ç     @�@ç     jø@ç    ÐcAç    eÍÍAr   g     Ûú@r   ry   )
r   r   rr   ç      @g       @g      0@g      @@g      P@g      `@g      p@r   r
   )	r,   Ú
LogLocatorrA   rB   rX   r.   rN   rO   r   rc   s      r4   r5   zTestLogLocator.test_basicJ  s£   € Ü× Ñ ¨!Ô,ˆÜ�]‰]œ:Ó&ñ 	%Ø�O‰O˜A˜tÔ$÷	%ô —X‘Xò @ó Aˆ
ô 	˜CŸO™O¨E°5Ó9¸:ÔFä× Ñ  aÔ(ˆÜ—X‘XÒNÓOˆ
Ü˜CŸO™O¨A¨sÓ3°ZÕ@÷	%ð 	%ús   °CÃCc                 ó¸   — t        j                  ddi¬«      \  }}|j                  d«       |j                  dd«       t	        |j                  «       g d¢«       y)	z<
        Polar Axes have a different ticking logic.
        Ú
projectionÚpolar)Ú
subplot_kwÚlogr   r
   )r"   r
   r  N)r®   r¯   Ú
set_yscaleró   r   Ú
get_yticks©r/   rµ   r¶   s      r4   Útest_polar_axeszTestLogLocator.test_polar_axesX  sE   € ô —,‘,¨<¸Ð*AÔB‰ˆˆRØ
�‰�eÔØ
�‰�A�sÔÜ˜2Ÿ=™=›?ªOÕ<r6   c                 ó  — t        j                  d¬«      }t        |j                  dd«      g d¢«       t        j                  t	        j
                  dd«      ¬«      }d|j                  d	d
«      vsJ ‚d|j                  d	d
«      vsJ ‚y )NrH   ©Úsubsr¨   r©   )g)\�Âõ(Ü?gq=
×£pÝ?g¸…ëQ¸Þ?r   g¤p=
×£à?gHáz®Gá?gìQ¸…ëá?r   r"   r   rª   r   r  )r,   r  r   r.   rN   rP   rf   s     r4   Útest_switch_to_autolocatorz)TestLogLocator.test_switch_to_autolocatora  sz   € Ü× Ñ  eÔ,ˆÜ˜3Ÿ?™?¨4°Ó6ÚDô	Fô × Ñ ¤b§i¡i°°2Ó&6Ô7ˆØ˜#Ÿ/™/¨#¨sÓ3Ñ3Ð3Ð3Ø˜3Ÿ?™?¨3°Ó4Ñ4Ð4Ñ4r6   c                 óÞ  — t        j                  «       }t        j                  t        j
                  d¬«      5  |j                  dddgd¬«       ddd«       |j                  dk(  sJ ‚t        j                  t        j
                  d¬«      5  |j                  dk(  sJ ‚	 ddd«       |j                  dk(  sJ ‚t        |j                  «      dgk(  sJ ‚y# 1 sw Y   Œ‡xY w# 1 sw Y   ŒBxY w)	zÑ
        Create log locator with default value, base=10.0, subs=[1.0],
        numdecs=4, numticks=15 and change it to something else.
        See if change was successful. Should not raise exception.
        Únumdecsr>   é   ri   rr   r’   )r^   r"  r  rz   N)r,   r  rA   Úwarnsr‰   ÚMatplotlibDeprecationWarningrl   r^   r"  Ú_baser  Ú_subsrf   s     r4   rm   zTestLogLocator.test_set_paramsj  sÊ   € ô × Ñ Ó"ˆÜ�\‰\œ#×:Ñ:À)ÔLñ 	FØ�N‰N A¨q¸°uÀ1ˆNÔE÷	Fà�|‰|˜qÒ Ð Ð Ü�\‰\œ#×:Ñ:À)ÔLñ 	$Ø—;‘; !Ò#Ð#Ñ#÷	$à�y‰y˜AŠ~Ðˆ~Ü�C—I‘I‹ 3 %Ò'Ð'Ñ'÷	Fð 	Fú÷	$ð 	$ús   ºCÂC#ÃC Ã#C,c                 ó–   — t        j                  d¬«      }t        j                  g d¢«      }t	        |j                  dd«      |«       y )N©r   r   r!   r  )r¦   ra   r   r   rr   rÆ   r  r   ç      I@r   ç      i@ç     @@r  ç     @Ÿ@ç     ˆ³@ç     ˆÃ@ç     ˆÓ@ç     jè@r  ç     jAç    €„Aç    €„.Aç    €„>Aç    ÐSAr  ç    ÐsAç    „×‡Aç    „×—Aç    „×§Aç    eÍ½Ar   r  )r,   r  rN   rO   r   r.   ©r/   Úllrd   s      r4   Útest_tick_values_correctz'TestLogLocator.test_tick_values_correcty  s>   € Ü×Ñ YÔ/ˆÜ—X‘Xò Oó Pˆ
ô
 	˜BŸN™N¨1¨cÓ2°JÕ?r6   c                 ó¼   — dt         j                  d<   t        j                  d¬«      }t	        j
                  g d¢«      }t        |j                  dd«      |«       y )NFrÓ   r)  r  )!r¦   ra   r   r   rr   rÆ   r  r   r*  r   r+  r,  r  r-  r.  r/  r0  r1  r  r2  r3  r4  r5  r6  r  r7  r8  r9  r:  r;  r  g    eÍÝAg    _ òAr   r9  )r‰   ÚrcParamsr,   r  rN   rO   r   r.   r<  s      r4   Útest_tick_values_not_emptyz)TestLogLocator.test_tick_values_not_empty‚  sK   € Ø16Œ�‰Ð-Ñ.Ü×Ñ YÔ/ˆÜ—X‘Xò 7ó 8ˆ
ô 	˜BŸN™N¨1¨cÓ2°JÕ?r6   c                 ó  — t         j                  j                  d«      }|j                  d¬«      g g g}t	        j
                  t        |«      dd¬«      \  }}t        |j                  «       |«      D ]+  \  }}|j                  |d¬«       |j                  dd	¬
«       Œ- |j                  «       D ]W  }t        |j                  «       |d   j                  «       k(  «      sJ ‚|j                  «       |d   j                  «       k(  rŒWJ ‚ y )Ni!N,r
   )ÚsizeT)ÚsharexÚshareyr"   )Úbinsr  Úclip)Únonpositiver   )rN   ÚrandomÚdefault_rngÚnormalr®   r¯   rÌ   r  ÚflattenÚhistr  rH   r  Úget_ylim)r/   ÚrngÚ
dummy_datarµ   Úaxesr¶   r‡   s          r4   Útest_multiple_shared_axesz(TestLogLocator.test_multiple_shared_axes�  så   € Ü�i‰i×#Ñ# HÓ-ˆØ—j‘j c�jÓ*¨B°Ð3ˆ
Ü—L‘L¤ Z£¸ÀdÔK‰	ˆˆTä˜DŸL™L›N¨JÓ7ò 	5‰HˆB�Ø�G‰G�D˜rˆGÔ"Ø�M‰M˜%¨VˆMÕ4ð	5ð —,‘,“.ò 	7ˆBÜ�r—}‘}“¨$¨q©'×*<Ñ*<Ó*>Ñ>Ô?Ð?Ð?Ø—;‘;“= D¨¡G×$4Ñ$4Ó$6Ó6Ð6Ð6ñ	7r6   N)
rK   rL   rM   r5   r  r   rm   r>  rA  rR  r@   r6   r4   r	  r	  I  s(   „ òAò=ò5ò(ò@ò	@ó7r6   r	  c                   ó   — e Zd Zd„ Zy)ÚTestNullLocatorc                 ó¨   — t        j                  «       }t        j                  t        «      5  |j                  «        ddd«       y# 1 sw Y   yxY w)zˆ
        Create null locator, and attempt to call set_params() on it.
        Should not exception, and should raise a warning.
        N)r,   ÚNullLocatorrA   r$  ÚUserWarningrl   rf   s     r4   rm   zTestNullLocator.test_set_paramsœ  s=   € ô
 ×!Ñ!Ó#ˆÜ�\‰\œ+Ó&ñ 	Ø�N‰NÔ÷	÷ 	ñ 	ús   ®AÁAN©rK   rL   rM   rm   r@   r6   r4   rT  rT  ›  s   „ ór6   rT  c                   ó,   — e Zd Zed„ «       Zed„ «       Zy)Ú_LogitHelperc                 óÒ   — d| cxk  rdk  r[n nXd|cxk  rdk  rMn nJt        j                  t        j                  d| z  dz
  «       t        j                  d|z  dz
  «       «      S dS )Nr   r   F)rN   Úiscloser  )rØ   rí   s     r4   r\  z_LogitHelper.isclose§  sZ   € ð �q”9˜1•9  Q¤¨¥ô —
‘
œBŸF™F 1 Q¡3 q¡5›M˜>¬B¯F©F°1°Q±3°q±5«M¨>Ó:ð 	7Ø05ð	7r6   c                 ó¨  — t        j                  | «      }t        j                  |«      }t        j                  |dkD  «      rt        j                  |dk  «      sJ ‚t        j                  |dkD  «      rt        j                  |dk  «      sJ ‚t        j                  d|z  dz
  «       }t        j                  d|z  dz
  «       }t	        ||«       y rÜ   )rN   rO   rH   r  r   )rØ   rí   r¶   ÚayÚlxÚlys         r4   r   z _LogitHelper.assert_almost_equal¬  sš   € ä�X‰X�a‹[ˆÜ�X‰X�a‹[ˆÜ�v‰v�b˜1‘fŒ~¤"§&¡&¨¨a©¤.Ð0Ð0Ü�v‰v�b˜1‘fŒ~¤"§&¡&¨¨a©¤.Ð0Ð0Ü�f‰f�Q�r‘T˜!‘V‹nˆ_ˆÜ�f‰f�Q�r‘T˜!‘V‹nˆ_ˆÜ˜B Õ#r6   N)rK   rL   rM   Ústaticmethodr\  r   r@   r6   r4   rZ  rZ  ¦  s(   „ Øñ7ó ð7ð ñ$ó ñ$r6   rZ  c                   ó,  — e Zd Zg d¢Zdd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd«      z  z  dd ej
                  dd	«      z  z  dd ej
                  dd
«      z  z  dd ej
                  dd«      z  z  gZg d¢Zej                  j                  d eee«      «      d„ «       Zej                  j                  de«      d„ «       Zej                  j                  deez   «      d„ «       Zej                  j                  d eee«      «      d„ «       Zd„ Zg d ej
                  dd«      z  ¢dd ej
                  dd«      z  z
  ¢Zej                  j                  d ej&                  ed¬«      D � ��cg c]  \  }}||k7  r||f‘Œ c}}} «      d„ «       Zej                  j                  de«      d„ «       Zyc c}}} w )ÚTestLogitLocator)©r¥   r   )rç   g×£p=
×ï?)gü©ñÒMb@?g–C‹lçûï?©ç-Cëâ6
?g�St$—ÿï?)gñhãˆµøÔ>gŽ;¥ƒõÿï?)g�íµ ÷Æ >gõ…�óþÿï?©gH¯¼šò×j>ge(åÿÿï?)g:Œ0âŽy5>g$ÎPýÿÿï?r   r"   r\   r’   r!   r   r#  ri   é	   ))r¿   rÀ   )r¥   ra   )rÁ   r   zlims, expected_low_ticksc                 óž   — t        g |¢d‘d|z
  ¢«      }t        j                  d¬«      }t        j	                   |j
                  |Ž |«       y)zR
        Create logit locator with huge number of major, and tests ticks.
        r   r   r
   r)   N)Úsortedr,   ÚLogitLocatorrZ  r   r.   )r/   ÚlimsÚexpected_low_ticksÚexpected_ticksr3   s        r4   Útest_basic_majorz!TestLogitLocator.test_basic_majorÐ  sX   € ô  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAó
ˆô ×"Ñ"¨Ô-ˆÜ×(Ñ(ØˆC�O‰O˜TÐ"Øõ	
r6   rl  c                 óT  — t        j                  d¬«      }t        j                  dg d¢¬«      }dD ]t  }|j                  |¬«       |j                  |¬«        |j                  |Ž } |j                  |Ž }|j
                  |j
                  k(  sJ ‚||k(  j                  «       rŒtJ ‚ y)zj
        When the axis is zoomed, the locator must have the same behavior as
        MaxNLocator.
        r
   r)   )r   r   r!   r"   )r*   r9   )r’   ri   é   N)r,   rk  r-   rl   r.   ÚshaperH   )r/   rl  r3   Úmaxn_locr*   ÚticksÚ
maxn_tickss          r4   Útest_maxn_majorz TestLogitLocator.test_maxn_majorá  s¥   € ô ×"Ñ"¨Ô-ˆÜ×&Ñ&¨SºÔFˆØò 	/ˆEØ�N‰N ˆNÔ'Ø×Ñ eÐÔ,Ø#�C—O‘O TÐ*ˆEØ-˜×-Ñ-¨tÐ4ˆJØ—;‘; *×"2Ñ"2Ò2Ð2Ð2Ø˜ZÑ'×,Ñ,Õ.Ð.Ð.ñ	/r6   c                 ó.  — t        t        j                  t        j                  |d   «      «       «      dz  dz   }t	        j
                  d¬«      }t        |dd«      D ]4  }|j                  |¬«       t         |j                  |Ž «      |dz   k  rŒ4J ‚ y)zB
        Assert logit locator for respecting nbins param.
        r   r   r   r
   r)   r   N)
ÚintrN   ÚfloorÚlog10r,   rk  Úrangerl   rÌ   r.   )r/   rl  Úbasic_neededr3   r*   s        r4   Útest_nbins_majorz!TestLogitLocator.test_nbins_majorñ  s‰   € ô œBŸH™H¤R§X¡X¨d°1©gÓ%6Ó7Ð7Ó8¸1Ñ<¸qÑ@ˆÜ×"Ñ"¨Ô-ˆÜ˜<¨¨BÓ/ò 	<ˆEØ�N‰N ˆNÔ'Ü��s—‘¨Ð-Ó.°%¸!±)Ó;Ð;Ð;ñ	<r6   c                 óø  — t        g |¢d‘d|z
  ¢«      }t        |«      }t        j                  d¬«      }t        j                  dd¬«      }t	        |dd«      D ]ž  }|j                  |¬«       |j                  |¬«        |j                  |Ž } |j                  |Ž }	t        |«      t        |«      k\  r t        |«      dz
  d	z  t        |	«      k  rŒzJ ‚t        j                  t        g |¢|	¢«      |«       Œ  y
)zt
        In large scale, test the presence of minor,
        and assert no minor when major are subsampled.
        r   r   r
   r)   T)r*   r­   r   r   r!   N)	rj  rÌ   r,   rk  r{  rl   r.   rZ  r   )
r/   rl  rm  rn  r|  r3   Ú	minor_locr*   Úmajor_ticksÚminor_tickss
             r4   Ú
test_minorzTestLogitLocator.test_minorý  s
  € ô  ØAÐ ÐA #ÐA¨Ð-?Ñ)?ÐAó
ˆô ˜>Ó*ˆÜ×"Ñ"¨Ô-ˆÜ×(Ñ(¨s¸$Ô?ˆ	Ü˜<¨¨BÓ/ò 	JˆEØ�N‰N ˆNÔ'Ø× Ñ  uÐ Ô-Ø)˜#Ÿ/™/¨4Ð0ˆKØ/˜)×/Ñ/°Ð6ˆKÜ�;Ó¤3 ~Ó#6Ò6ä˜KÓ(¨1Ñ,°Ñ1´C¸Ó4DÓDÐDÐDô ×0Ñ0ÜÐ7˜[Ð7¨;Ð7Ó8¸.õJñ	Jr6   c                 ó¶   — t        j                  d¬«      }|j                  rJ ‚d|_        |j                  sJ ‚|j                  d¬«       |j                  rJ ‚y )Nr
   r)   TFr¬   )r,   rk  r­   rl   rf   s     r4   Útest_minor_attrz TestLogitLocator.test_minor_attr  sM   € Ü×"Ñ"¨Ô-ˆØ—9’9Ðˆ}ØˆŒ	Ø�yŠyÐˆyØ�‰˜UˆÔ#Ø—9’9Ðˆ}�9r6   rÄ   éýÿÿÿr   r   )Úrepeatc                 ó|   — t        j                  «       } |j                  |Ž }t        |«      t        |«      k(  sJ ‚y)zd
        Create logit locator, and test the nonsingular method for acceptable
        value
        N)r,   rk  Únonsingularrj  )r/   rl  r3   Úlims2s       r4   Útest_nonsingular_okz$TestLogitLocator.test_nonsingular_ok'  s8   € ô ×"Ñ"Ó$ˆØ�—‘ Ð&ˆÜ�d‹|œv e›}Ò,Ð,Ñ,r6   Úokvalc                 óì   — t        j                  «       }d|}}|j                  ||«      \  }}||k(  sJ ‚d|cxk  r|k  sJ ‚ J ‚|d}}|j                  ||«      \  }}||k(  sJ ‚||cxk  rdk  sJ ‚ J ‚y)zh
        Create logit locator, and test the nonsingular method for non
        acceptable value
        r   r   r   r   N)r,   rk  rˆ  )r/   r‹  r3   r0   r1   Úvmin2Úvmax2s          r4   Útest_nonsingular_nokz%TestLogitLocator.test_nonsingular_nok8  s–   € ô ×"Ñ"Ó$ˆØ˜%ˆdˆØ—‘ t¨TÓ2‰ˆˆuØ˜Š}Ðˆ}Ø�5Ô ˜5Ò Ð Ñ Ð Ð Ø˜QˆdˆØ—‘ t¨TÓ2‰ˆˆuØ˜Š}Ðˆ}Ø�uÔ ˜qÒ Ð Ñ Ð Ñ r6   N)rK   rL   rM   Úref_basic_limitsrN   rP   Úref_basic_major_ticksÚref_maxn_limitsrA   rS   rT   r  ro  rv  r}  r‚  r„  Úacceptable_vmin_vmaxÚ	itertoolsÚproductrŠ  r�  )Ú.0ÚaÚbs   000r4   rc  rc  ·  sm  „ ò	Ðð 	
ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q “?Ñ"Ñ#Ø	ˆR�9�2—9‘9˜Q Ó#Ñ#Ñ$ð	Ðò G€Oà‡[�[×ÑØ"ÙÐÐ3Ó4óñ
ó	ð
ð ‡[�[×Ñ˜V _Ó5ñ/ó 6ð/ð ‡[�[×Ñ˜VÐ%5¸Ñ%GÓHñ	<ó Ið	<ð ‡[�[×ÑØ"ÙÐÐ3Ó4óñJó	ðJò2ðØ
��—‘˜2˜qÓ!Ñ
!ðà
ˆc�Y�R—Y‘Y˜r 1Ó%Ñ%Ñ
%ðÐð
 ‡[�[×ÑØð ,˜)×+Ñ+Ð,@ÈÔK÷	
ð 	
á��AØ�AŠvð �ŠFô	
óñ-óð-ð ‡[�[×Ñ˜WÐ&:Ó;ñ!ó <ñ!ùô!	
s   Ç
Hrc  c                   ó   — e Zd Zd„ Zy)ÚTestFixedLocatorc                 óŒ   — t        j                  t        dd«      d¬«      }|j                  d¬«       |j                  dk(  sJ ‚y)z™
        Create fixed locator with 5 nbins, and change it to something else.
        See if change was successful.
        Should not exception.
        r   é   r!   r)   r#  N)r,   ÚFixedLocatorr{  rl   r*   )r/   Úfixeds     r4   rm   z TestFixedLocator.test_set_paramsJ  s?   € ô ×$Ñ$¤U¨1¨b£\¸Ô;ˆØ×Ñ˜qÐÔ!Ø�{‰{˜aÒÐÑr6   NrX  r@   r6   r4   rš  rš  I  s   „ ó r6   rš  c                   ó   — e Zd Zd„ Zy)ÚTestIndexLocatorc                 óœ   — t        j                  dd¬«      }|j                  dd¬«       |j                  dk(  sJ ‚|j                  dk(  sJ ‚y)z¢
        Create index locator with 3 base, 4 offset. and change it to something
        else. See if change was successful.
        Should not exception.
        r\   r’   r‚   r#  N)r,   ÚIndexLocatorrl   r&  rƒ   )r/   Úindexs     r4   rm   z TestIndexLocator.test_set_paramsV  sM   € ô ×$Ñ$¨!°AÔ6ˆØ×Ñ˜a¨ÐÔ*Ø�{‰{˜aÒÐÐØ�|‰|˜qÒ Ð Ñ r6   NrX  r@   r6   r4   r   r   U  s   „ ó	!r6   r   c                   óz   — e Zd Zd„ Zej
                  j                  dddddgfddg d¢fg«      d„ «       Zd„ Zd	„ Z	y
)ÚTestSymmetricalLogLocatorc                 ó    — t        j                  dd¬«      }|j                  dgd¬«       |j                  dgk(  sJ ‚|j                  dk(  sJ ‚y)zÅ
        Create symmetrical log locator with default subs =[1.0] numticks = 15,
        and change it to something else.
        See if change was successful.
        Should not exception.
        r"   r   ©rz   Ú	linthreshrr   ri   )r  r^   N)r,   ÚSymmetricalLogLocatorrl   r'  r^   ©r/   Úsyms     r4   rm   z)TestSymmetricalLogLocator.test_set_paramsc  sN   € ô ×+Ñ+°¸qÔAˆØ�‰˜S˜E¨AˆÔ.Ø�y‰y˜S˜EÒ!Ð!Ð!Ø�|‰|˜qÒ Ð Ñ r6   r'   r   r   r   ©r   r   r   c                 óp   — t        j                  dd¬«      }|j                  ||¬«      }t        ||«       y )Nr"   r   r§  )r0   r1   )r,   r©  r.   r   )r/   r0   r1   r2   r«  rt  s         r4   Útest_valuesz%TestSymmetricalLogLocator.test_valueso  s2   € ô ×+Ñ+°¸qÔAˆØ—‘ T°�Ó5ˆÜ˜5 (Õ+r6   c                 óÈ   — t        j                  ddddg¬«      }|j                  «        |j                  j	                  dd«        |«       g d¢k(  j                  «       sJ ‚y )Nr"   r   rr   r  )rz   r¨  r  éöÿÿÿ)	g      4Àg      DÀg       Àg      Àr   rr   r  r   r   )r,   r©  Úcreate_dummy_axisÚaxisÚset_view_intervalrH   rª  s     r4   Ú	test_subsz#TestSymmetricalLogLocator.test_subs|  sT   € Ü×+Ñ+°¸qÈÈSÀzÔRˆØ×ÑÔØ�‰×"Ñ" 3¨Ô+Ù“ÒOÑO×TÑTÔVÐVÑVr6   c                 óº  — t        j                  dd¬«      }|j                  «        |j                  j	                  dd«        |«       dgk(  j                  «       sJ ‚|j                  j	                  dd«        |«       ddgk(  j                  «       sJ ‚|j                  dd«      d	k(  sJ ‚|j                  d
d
«      dk(  sJ ‚|j                  dd«      dk(  sJ ‚y )Nr"   r   r§  ri   rh  r   é   r  )r   r
   r°  )éœÿÿÿr   r   )çü©ñÒMbP¿r   )r,   r©  r±  r²  r³  rH   r‹   rª  s     r4   Útest_extendingz(TestSymmetricalLogLocator.test_extending‚  sÊ   € Ü×+Ñ+°¸qÔAˆØ×ÑÔØ�‰×"Ñ" 1 aÔ(Ù“˜#˜‘×#Ñ#Ô%Ð%Ð%Ø�‰×"Ñ" 1 bÔ)Ù“˜#˜t˜Ñ$×)Ñ)Ô+Ð+Ð+Ø�‰˜r 2Ó&¨(Ò2Ð2Ð2Ø�‰˜s CÓ(¨JÒ6Ð6Ð6Ø�‰˜q !Ó$¨Ò7Ð7Ñ7r6   N)
rK   rL   rM   rm   rA   rS   rT   r®  r´  r¹  r@   r6   r4   r¥  r¥  b  sT   „ ò
!ð ‡[�[×ÑØ"à�A˜˜1�v�Ø�Qš
Ð#ðóñ,óð,òWó	8r6   r¥  c                   ó<   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
y	)
ÚTestAsinhLocatorc                 ó˜   — t        j                  dd¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚y )NgX9´Èv¾@é   )Úlinear_widthr^   r"   )r,   ÚAsinhLocatorr¾  r^   rz   ©r/   Úlctrs     r4   Ú	test_initzTestAsinhLocator.test_init�  sJ   € Ü×#Ñ#°ÀÔDˆØ× Ñ  EÒ)Ð)Ð)Ø�}‰} Ò"Ð"Ð"Ø�y‰y˜BŠÐ‰r6   c                 ó.  — t        j                  dd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¬«       |j                  dk(  sJ ‚|j                  d «       |j                  dk(  sJ ‚|j                  d	¬
«       |j                  d	k(  sJ ‚|j                  d ¬
«       |j                  d	k(  sJ ‚|j                  d¬«       |j                  dk(  sJ ‚|j                  d ¬«       |j                  dk(  sJ ‚|j                  d¬«       |j
                  dk(  sJ ‚|j                  d ¬«       |j
                  dk(  sJ ‚|j                  g ¬«       |j
                  �J ‚y )Nr!   é   rë   r’   )rÄ   g      
@)r¾  r^   Ú	symthreshrz   r  é   r]   r   )rÅ  r#  ry   )r   g     €@r  )r,   r¿  r^   rÅ  rz   r  rl   rÀ  s     r4   rm   z TestAsinhLocator.test_set_params•  s~  € Ü×#Ñ#°Ø-/¸5Ø)*°ô>ˆð �}‰} Ò"Ð"Ð"Ø�~‰~ Ò&Ð&Ð&Ø�y‰y˜AŠ~Ðˆ~Ø�y‰y˜KÒ'Ð'Ð'à�‰ ˆÔ$Ø�}‰} Ò"Ð"Ð"Ø�‰˜ÔØ�}‰} Ò"Ð"Ð"à�‰ #ˆÔ&Ø�~‰~ Ò$Ð$Ð$Ø�‰ $ˆÔ'Ø�~‰~ Ò$Ð$Ð$à�‰˜QˆÔØ�y‰y˜AŠ~Ðˆ~Ø�‰˜TˆÔ"Ø�y‰y˜AŠ~Ðˆ~à�‰˜ZˆÔ(Ø�y‰y˜JÒ&Ð&Ð&Ø�‰˜TˆÔ"Ø�y‰y˜JÒ&Ð&Ð&Ø�‰˜RˆÔ Ø�y‰yÐ Ð Ñ r6   c                 óZ  — t        j                  ddd¬«      }t        |j                  dd«      t	        j
                  ddd«      «       t        |j                  d	d
«      t	        j
                  d	dd«      «       t        |j                  dd«      t	        j
                  ddd«      «       y )Nr
   r<   r   ©r¾  r^   rz   r   r   ç)\�Âõ(ð?ra   r   r¦   gB`åÐ"Û¹?ç{®Gáz”?g{®Gáz„¿rè   gM„O¯„?çü©ñÒMb`?©r,   r¿  r   r.   rN   rP   rÀ  s     r4   Útest_linear_valuesz#TestAsinhLocator.test_linear_values´  s‹   € Ü×#Ñ#°¸rÈÔJˆä˜D×,Ñ,¨R°Ó3ÜŸI™I b¨$°Ó4ô	6ä˜D×,Ñ,¨T°3Ó7ÜŸI™I d¨E°4Ó8ô	:ä˜D×,Ñ,¨U°DÓ9ÜŸI™I e¨V°UÓ;õ	=r6   c                 ó¬   — t        j                  ddd¬«      }t        |j                  dd«      g d¢«       t        |j                  dd	«      g d
¢«       y )Nr¦   r<   r   rÈ  r·  r
   )r·  éìÿÿÿr   r   r¾   r   ra   r   r!   r	   r
   éüÿÿr  )rÐ  r·  rÏ  r…  r½   r   r¿   r\   r	   r
   r  ©r,   r¿  r   r.   rÀ  s     r4   Útest_wide_valuesz!TestAsinhLocator.test_wide_values¾  sP   € Ü×#Ñ#°¸rÈÔJˆä˜D×,Ñ,¨T°3Ó7ò4ô	5ô 	˜D×,Ñ,¨U°DÓ9ò7õ	8r6   c                 óp   — t        j                  ddd¬«      }t        |j                  dd«      g d¢«       y)	z<Check that manually injected zero will supersede nearby tickr
   r\   r   rÈ  r¼   rª   )rÂ   r   rª   NrÑ  rÀ  s     r4   Útest_near_zerozTestAsinhLocator.test_near_zeroÈ  s.   € ä×#Ñ#°¸qÀqÔIˆä˜D×,Ñ,¨T°3Ó7Ò9IÕJr6   c                 ó”   — t        j                  dd¬«      }t        |j                  dd«      t	        j
                  ddd«      «       y )Nr   r<   r]   ée   éf   gq=
×£€Y@r¦   rÌ  rÀ  s     r4   Útest_fallbackzTestAsinhLocator.test_fallbackÎ  s;   € Ü×#Ñ# C°"Ô5ˆä˜D×,Ñ,¨S°#Ó6ÜŸI™I c¨6°3Ó7õ	9r6   c                 óÎ  — t        j                  dddd¬«      }|j                  «        |j                  j	                  dd«       t         |«       g d¢«       |j                  j	                  dd	«       t         |«       g d
¢«       |j                  j	                  dd«       t         |«       g d
¢«       |j                  j	                  dd«       t         |«       g d¢«       y )Nr   r\   r   r   )r¾  r^   rÅ  rz   r   r   )r   r   r   rª   r¬  g333333ë¿r«   r   )r   r«   r   )r,   r¿  r±  r²  r³  r   rÀ  s     r4   Útest_symmetrizingz"TestAsinhLocator.test_symmetrizingÔ  s§   € Ü×#Ñ#°¸QØ.2¸ô<ˆà×ÑÔ à�	‰	×#Ñ# B¨Ô*Ü™D›F¢JÔ/à�	‰	×#Ñ# B¨Ô,Ü™D›F¢JÔ/à�	‰	×#Ñ# E¨4Ô0Ü™D›F¢JÔ/à�	‰	×#Ñ# A sÔ+Ü™D›F¢NÕ3r6   c                 óÞ   — t        j                  dddd¬«      }t        |j                  dd«      g d¢«       t        j                  dd	d
¬«      }t        |j                  dd«      g d¢«       y )Nr   ri   r"   )r   r\   r!   )r¾  r^   rz   r  é’ÿÿÿén   )iþÿÿiÔþÿÿr·  iÎÿÿÿiâÿÿÿr°  r   r…  r   rÃ   r`   r   r   r¦   r§   r   r   r\   r!   r"   r$   é2   r
   i,  éô  r	   r!   rÈ  iæûÿÿi  )i�ýÿÿiƒÿÿÿiçÿÿÿr   r   r¾   r   ra   r   r!   é   é}   iq  rÑ  )r/   Úlctr10Úlctr5s      r4   Útest_base_roundingz#TestAsinhLocator.test_base_roundingå  sk   € Ü×%Ñ%°1¸qØ+-°Iô?ˆä˜F×.Ñ.¨t°SÓ9òAô	Bô
 ×$Ñ$°!¸bÀqÔIˆÜ˜E×-Ñ-¨e°TÓ:ò6õ	7r6   N)rK   rL   rM   rÂ  rm   rÍ  rÒ  rÔ  rØ  rÚ  rä  r@   r6   r4   r»  r»  Ž  s+   „ òò!ò>=ò8òKò9ò4ó"7r6   r»  c                   ó˜  — e Zd Zg d¢ZddgZddgZg d¢Zddgddgd	d
gddgddggZg d¢Ze	j                  j                  dddg«      d„ «       Ze	j                  j                  de«      d„ «       Ze	j                  j                  de«      d„ «       Ze	j                  j                  de«      d„ «       Zd„ Zd„ Ze	j                  j                  de«      d„ «       Ze	j                  j                  de«      d„ «       Ze	j                  j                  d e«      d!„ «       Ze	j                  j                  d e«      d"„ «       Zd#„ Zd$„ Zd%„ Zy&)'ÚTestScalarFormatter))é{   é½   r   )iCÿÿÿi…ÿÿÿr   )i50  i=0  i40  )iÃÏÿÿiËÏÿÿiÌÏÿÿ)g    øiø@g    ¨jø@é † )g    ¨jøÀg    øiøÀé`yþÿ)g    hiø@g    jø@ré  )g    jøÀg    hiøÀrê  )iOÔ iQÔ iPÔ )i¯+íÿi±+íÿi°+íÿ)r   r   r   )rç  rç  r   )gì/»'Ý?g”ö_˜LÝ?r¨   )g
×£p=š­@g33333Ž­@iÄ  )gš™™™‰æ@g    ø`æ@iÈ¯  )g1Ðµ/ G?gšÃÿgÞ»G?gÖÿ9Ì—G?)g\�Âõh˜È@g¤p=
·—È@i.1  )g      "@g      (@r   )g      Œ@ç     À’@r   )g     °�@rë  r   )ç®Gáz®ï?rÉ  r   )g{®Gáú#@g…ëQ¸$@r"   )g�Âõ(\ÿX@gq=
×£ Y@r
   )gö(\�Âõ@g
×£p=
@r   )g{®Gáú/@gÃõ(\�0@rq  )g!°rh‘íÜ¿ç°rh‘í|ß?r   )g°rh‘í|ß¿rí  r   )g3333³È@g    @È@i0  )gffff¦ÈÀgffff¦È@r   TF)	)Fr·   )r  r   r   F)T©éþÿÿÿr   )r°  r	   r   F)Trî  )rÏ  r"   r   F)Trî  )rÜ  éx   r   F)Trî  )iˆÿÿÿrÝ  r   F)Trî  )r¸  rË  r…  F)T)r}   r#  )g   €tÒÚAg   0ëþArh  T)Tr·   ©g     jøÀr  r!   F)T)r   r   rñ  r   Fr   z0.000g�(í¾0‰?z0.012g°rh‘í|¿?z0.123g®Gáz®ó?z1.230gš™™™™™(@z12.300))r¦   ú1e-1)rê   z1.1e-1)r9  Ú1e8)g    Þ9šAz1.1e8zunicode_minus, result)Tõ   âˆ’1)Fú-1c                 óÆ   — |t         j                  d<   t        j                  «       j                  j                  «       j                  d«      j                  «       |k(  sJ ‚y )Núaxes.unicode_minusr   )r‰   r@  r®   Úgcar²   Úget_major_formatterÚformat_data_shortÚstrip)r/   Úunicode_minusrI   s      r4   Útest_unicode_minusz&TestScalarFormatter.test_unicode_minus5  sO   € ð .;Œ�‰Ð)Ñ*ä�G‰G‹I�O‰O×/Ñ/Ó1×CÑCÀBÓG×MÑMÓOØòð	ñr6   zleft, right, offsetc                 óV  — t        j                  «       \  }}|j                  j                  «       }||k(  rt	        j
                  t        d¬«      n	t        «       5  |j                  ||«       d d d «       |j                  j                  «        |j                  |k(  sJ ‚||k(  rt	        j
                  t        d¬«      n	t        «       5  |j                  ||«       d d d «       |j                  j                  «        |j                  |k(  sJ ‚y # 1 sw Y   Œ¥xY w# 1 sw Y   ŒAxY w)NzAttempting to set identicalr>   )r®   r¯   r²   rù  rA   r$  rW  r   r°   Ú_update_ticksrƒ   )r/   ÚleftÚrightrƒ   rµ   r¶   Ú	formatters          r4   Útest_offset_valuez%TestScalarFormatter.test_offset_value=  só   € ä—,‘,“.‰ˆˆRØ—H‘H×0Ñ0Ó2ˆ	ð ˜’ô �l‰lœ;Ð.KÕLÜ$/£Mñ	%à�K‰K˜˜eÔ$÷	%ð 	�‰×ÑÔ Ø×Ñ 6Ò)Ð)Ð)ð ˜’ô �l‰lœ;Ð.KÕLÜ$/£Mñ	%à�K‰K˜˜tÔ$÷	%ð 	�‰×ÑÔ Ø×Ñ 6Ò)Ð)Ñ)÷	%ð 	%ú÷	%ð 	%ús   ÁDÃDÄDÄD(Ú
use_offsetc                 óÒ   — t        j                  d|i«      5  t        j                  «       }||j	                  «       k(  sJ ‚|j
                  dk(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nzaxes.formatter.useoffsetr   )r‰   rŠ   r,   ÚScalarFormatterÚget_useOffsetrƒ   )r/   r  Útmp_forms      r4   Útest_use_offsetz#TestScalarFormatter.test_use_offsetN  s`   € ä�^‰^Ð7¸ÐDÓEñ 	(Ü×.Ñ.Ó0ˆHØ ×!7Ñ!7Ó!9Ò9Ð9Ð9Ø—?‘? aÒ'Ð'Ñ'÷	(÷ 	(ñ 	(ús   ˜;AÁA&Úuse_math_textc                 ó°   — t        j                  d|i«      5  t        j                  «       }||j	                  «       k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Núaxes.formatter.use_mathtext)r‰   rŠ   r,   r  Úget_useMathText)r/   r
  r  s      r4   Útest_useMathTextz$TestScalarFormatter.test_useMathTextU  sN   € ä�^‰^Ð:¸MÐJÓKñ 	?Ü×.Ñ.Ó0ˆHØ  H×$<Ñ$<Ó$>Ò>Ð>Ñ>÷	?÷ 	?ñ 	?ús   ˜*AÁAc                 ó”   — t        j                  «       }|j                  d«       |j                  «       rJ ‚|j                  dk(  sJ ‚y )Nr   )r,   r  Úset_useOffsetr  rƒ   ©r/   r  s     r4   Útest_set_use_offset_floatz-TestScalarFormatter.test_set_use_offset_float[  sB   € Ü×*Ñ*Ó,ˆØ×Ñ˜sÔ#Ø×)Ñ)Ô+Ð+Ð+Ø�‰ #Ò%Ð%Ñ%r6   c                 óÖ  — t        j                  «       }|d   }|r|d   dd  g t         j                  gfv rt        j                  d«       t        j                  ddi«      5  t        j                  «       }|j                  «       sJ ‚|j                  «        |j                  j                  dd«       |j                  g d	¢«       | |d
«      v sJ ‚	 d d d «       y # 1 sw Y   y xY w)NÚthousands_sepÚgroupingr   zLocale does not apply groupingzaxes.formatter.use_localeTr   r"   )r   r   r\   r  )ÚlocaleÚ
localeconvÚCHAR_MAXrA   Úskipr‰   rŠ   r,   r  Úget_useLocaler±  r²  Úset_data_intervalÚset_locs)r/   ÚconvÚsepr  s       r4   Útest_use_localez#TestScalarFormatter.test_use_localea  sÐ   € Ü× Ñ Ó"ˆØ�?Ñ#ˆÙ�d˜:Ñ& r sÐ+°´V·_±_Ð4EÐ/FÑFÜ�K‰KÐ8Ô9ä�^‰^Ð8¸$Ð?Ó@ñ 	(Ü×.Ñ.Ó0ˆHØ×)Ñ)Ô+Ð+Ð+à×&Ñ&Ô(Ø�M‰M×+Ñ+¨A¨rÔ2Ø×ÑšiÔ(Ø™( 3›-Ñ'Ð'Ñ'÷	(÷ 	(ñ 	(ús   Á#A2CÃC(z.sci_type, scilimits, lim, orderOfMag, fewticksc                 óÆ  — t        j                  «       }|j                  |«       |j                  |«       t	        j
                  «       \  }}|j                  j                  |«        |j                  |Ž  |r.|j                  j                  t        j                  d«      «       |j                  |j                  j                  «       «       ||j                  k(  sJ ‚y )Nr’   )r,   r  Úset_scientificÚset_powerlimitsr®   r¯   rô   Úset_major_formatterró   r   r-   r  Úget_majorticklocsÚorderOfMagnitude)	r/   Úsci_typeÚ	scilimitsrõ   Ú
orderOfMagÚfewticksr  rµ   r¶   s	            r4   Útest_scilimitsz"TestScalarFormatter.test_scilimitsp  s¬   € ô ×*Ñ*Ó,ˆØ×Ñ Ô)Ø× Ñ  Ô+Ü—,‘,“.‰ˆˆRØ
�‰×$Ñ$ XÔ.Øˆ�‰�SÑÙØ�H‰H×&Ñ&¤w×':Ñ':¸1Ó'=Ô>à×Ñ˜"Ÿ(™(×4Ñ4Ó6Ô7Ø˜X×6Ñ6Ò6Ð6Ñ6r6   zvalue, expectedc                 ó~   — dt         j                  d<   t        j                  «       }|j	                  |«      |k(  sJ ‚y )NFr÷  )r‰   r@  r,   r  Úformat_data)r/   Úvaluer2   Úsfs       r4   Útest_format_dataz$TestScalarFormatter.test_format_data  s6   € à-2Œ�‰Ð)Ñ*Ü×$Ñ$Ó&ˆØ�~‰~˜eÓ$¨Ò0Ð0Ñ0r6   zdata, expectedc                 ó¸   — t        j                  «       \  }}|j                  dd«       |j                  j	                  «       j
                  } ||«      |k(  sJ ‚y )Nr   r   )r®   r¯   r°   r²   rù  rú  )r/   r‡   r2   rµ   r¶   Úfmts         r4   Útest_cursor_precisionz)TestScalarFormatter.test_cursor_precision…  sI   € ä—,‘,“.‰ˆˆRØ
�‰�B˜ÔØ�h‰h×*Ñ*Ó,×>Ñ>ˆÙ�4‹y˜HÒ$Ð$Ñ$r6   c                 ó2  — t        j                  «       }|j                  «        |j                  j	                  dd«       |j
                  } ||«      |k(  sJ ‚|j                  j                  «       dk(  sJ ‚|j                  j                  «       dk(  sJ ‚y )Nr   r"   rh  )r,   r  r±  r²  r³  rú  Úget_tick_spaceÚ
get_minpos)r/   r‡   r2   r.  r1  s        r4   Útest_cursor_dummy_axisz*TestScalarFormatter.test_cursor_dummy_axisŒ  s…   € ô ×$Ñ$Ó&ˆØ
×ÑÔØ
�‰×!Ñ! ! RÔ(Ø×"Ñ"ˆÙ�4‹y˜HÒ$Ð$Ð$Ø�w‰w×%Ñ%Ó'¨1Ò,Ð,Ð,Ø�w‰w×!Ñ!Ó# qÒ(Ð(Ñ(r6   c                 óÈ  — t         j                  j                  ddddœ«       t        t        j
                  «      j                  dk  rit	        j                  t        d¬«      5  t        j                  «       \  }}|j                  g d¢«       |j                  j                  «        d d d «       y t	        j                  t        d	¬«      5  t	        j                  t        d¬«      5  t        j                  «       \  }}|j                  g d¢«       |j                  j                  «        d d d «       d d d «       y # 1 sw Y   y xY w# 1 sw Y   ŒxY w# 1 sw Y   y xY w)
NÚserifÚcmr10F)úfont.familyz
font.serifr  ri   zcmr10 font should ideallyr>   r¬  z
Glyph 8722)r‰   r@  ÚupdateÚparse_versionrA   Ú__version__rï   r$  rW  r®   r¯   rË   ÚcanvasÚdrawr  s      r4   Útest_mathtext_ticksz'TestScalarFormatter.test_mathtext_ticks—  s  € Ü�‰×ÑØ"Ø!Ø+0ñ
ô 	ô œ×+Ñ+Ó,×2Ñ2°QÒ6Ü—‘œkÐ1LÔMñ "ÜŸ,™,›.‘��RØ—‘šjÔ)Ø—
‘
—‘Ô!÷"ð "ô
 —,‘,œ{°,Ô?ñ "Ü—,‘,œ{Ð2MÔNñ"äŸ,™,›.‘��RØ—‘šjÔ)Ø—
‘
—‘Ô!÷	"÷ "ð "÷"ð "ú÷
"ð "ú÷ "ð "ús2   Á%AE ÃEÃ*AEÄ/EÅ E	ÅE	ÅEÅE!c                 óì  — t         j                  j                  ddddœ«       |j                  t        j
                  d¬«      5  t        j                  «       \  }}|j                  ddgd	dg«       |j                  d
«       g d¢}t        j                  «       }|j                  |t        ||«      «       |j                  j                  «        |j                   rJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr9  ÚcmT)r:  zmathtext.fontsetr  zmatplotlib.mathtext)Úloggerg¸…ëQ¸ž¿r¥   é(   r  )rÊ  r§   r’   rÞ  )r‰   r@  r;  Úat_levelÚloggingÚWARNINGr®   r¯   Úplotr  r,   ÚLogFormatterSciNotationÚ
set_yticksÚmapr>  r?  Útext)r/   Úcaplogrµ   r¶   Úyticksr  s         r4   Útest_cmr10_substitutionsz,TestScalarFormatter.test_cmr10_substitutionsª  sÃ   € Ü�‰×ÑØ"Ø $Ø+/ñ
ô 	ð �_‰_œWŸ_™_Ð5Jˆ_ÓKñ 	#Ü—l‘l“n‰GˆC�Ø�G‰G�U˜D�M B¨ :Ô.Ø�M‰M˜%Ô Ú'ˆFÜ×7Ñ7Ó9ˆIØ�M‰M˜&¤# i°Ó"8Ô9Ø�J‰J�O‰OÔØ—{’{Ð"�?�{÷	#÷ 	#ñ 	#ús   ÁBC*Ã*C3c                 óh   — t        j                  «       }|j                  g «        |d«      dk(  sJ ‚y )Nr   Ú )r,   r  r  )r/   r.  s     r4   Útest_empty_locsz#TestScalarFormatter.test_empty_locs¼  s+   € Ü×$Ñ$Ó&ˆØ
�‰�BŒÙ�#‹w˜"Š}Ð‰}r6   N)rK   rL   rM   Úoffset_dataÚuse_offset_dataÚuseMathText_dataÚscilimits_dataÚcursor_datar,  rA   rS   rT   rý  r  r	  r  r  r  r*  r/  r2  r6  r@  rO  rR  r@   r6   r4   ræ  ræ  ó  sµ  „ ò€KðB ˜U�m€Oà˜e�}Ðò
€Nð 
ˆWˆØ	�ÐØ	�ÐØ	�ÐØ	ˆxÐð€Kò€Kð ‡[�[×ÑÐ4Ø7¸ÐGóIñóIðð ‡[�[×ÑÐ2°KÓ@ñ*ó Að*ð  ‡[�[×Ñ˜\¨?Ó;ñ(ó <ð(ð ‡[�[×Ñ˜_Ð.>Ó?ñ?ó @ð?ò
&ò(ð ‡[�[×ÑØ8¸.óJñ7óJð7ð ‡[�[×ÑÐ.°Ó<ñ1ó =ð1ð
 ‡[�[×ÑÐ-¨{Ó;ñ%ó <ð%ð ‡[�[×ÑÐ-¨{Ó;ñ)ó <ð)ò"ò&#ó$r6   ræ  c                   óÂ  — e Zd Zdd ej                  dd«       ej                  dd«      g d¢fdd ej
                  dd	ej                  d
ddg«       ed«      g d¢fdd ej
                  g d¢e¬«       ed«      g d¢fgZ	dddej                  ej                  gZej                  j                  de	«      ej                  j                  de«      d„ «       «       Zd„ Zy)ÚTestLogFormatterExponentTr’   r…  r  )z-3z-2rõ  Ú0Ú1Ú2Ú3Fr"   r¦   r  ra   r¾   gñhãˆµøä¾r   )ú0.1z1e-05ú3.14z0.2z-0.2z-1e-05rÞ  )r\   r!   r¶  é*   ©Údtype)r]  Ú5Ú12Ú42rr   rÆ   r  z2labelOnlyBase, exponent, locs, positions, expectedrz   c                 óF  — t        j                  ||¬«      }|j                  «        |j                  j	                  d||z  «       ||z  }t        ||«      D �	�
cg c]  \  }	}
 ||	|
«      ‘Œ }}	}
|D �cg c]  }|j                  dd«      ‘Œ }}||k(  sJ ‚y c c}
}	w c c}w )N©rz   ÚlabelOnlyBaser   ú-u   âˆ’)r,   ÚLogFormatterExponentr±  r²  r³  r  Úreplace)r/   rh  rz   ÚexponentÚlocsÚ	positionsr2   r  ÚvalsrØ   ÚposÚlabelsÚlabels                r4   r5   z#TestLogFormatterExponent.test_basicÐ  s¢   € ô
 ×0Ñ0°dØ?LôNˆ	à×#Ñ#Ô%Ø�‰×(Ñ(¨¨D°(©NÔ;Ø�T‰zˆÜ47¸¸iÓ4H×I©¨¨C‘)˜A˜sÕ#ÐIˆÑIØFNÖO¸U�E—M‘M #Ð'7Õ8ÐOˆÐOØ˜Ò!Ð!Ñ!ùó JùÚOs   ÁBÁ5Bc                 ó¤   — t        j                  dd¬«      }|j                  «        |j                  j	                  dd«        |d«      dk(  sJ ‚y )Nr"   Trg  r   g&üøŽ$ô?rQ  )r,   rj  r±  r²  r³  )r/   r  s     r4   Ú
test_blankz#TestLogFormatterExponent.test_blankÞ  sG   € ä×0Ñ0°bÈÔMˆ	Ø×#Ñ#Ô%Ø�‰×(Ñ(¨¨BÔ/Ù˜Ó! RÒ'Ð'Ñ'r6   N)rK   rL   rM   rN   rP   rO   Úpir{  ÚfloatÚ
param_dataÚeÚ	base_datarA   rS   rT   r5   rt  r@   r6   r4   rY  rY  Â  së   „ à	ˆq�)�"—)‘)˜B Ó$ i b§i¡i°°CÓ&8Ú	/ð	1ð 
��H�B—H‘H˜c 7¨B¯E©E°3¸¸hÐGÓHÙ	ˆq‹ÒDð	Fà	��H�B—H‘Hš^°5Ô9¹5À»8Ú	ð	!ð	€Jð �c˜4 §¡¨¯©Ð-€Ià‡[�[×ÑØ@À*óNà‡[�[×Ñ˜V YÓ/ñ	"ó 0óNð	"ó(r6   rY  c                   óz   — e Zd Z ej                  «       Zg d¢Zej                  j                  de«      d„ «       Z
y)ÚTestLogFormatterMathtext))r   r   ú$\mathdefault{10^{0}}$)r   rè   z$\mathdefault{10^{-2}}$)r   r   z$\mathdefault{10^{2}}$)r\   r   z$\mathdefault{1}$)r\   rè   z$\mathdefault{0.01}$)r\   r   z$\mathdefault{100}$)r\   r   z$\mathdefault{10^{-3}}$)r\   r  z$\mathdefault{10^{3}}$zmin_exponent, value, expectedc                 óŠ   — t        j                  d|i«      5  | j                  |«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nzaxes.formatter.min_exponent)r‰   rŠ   r1  )r/   Úmin_exponentr-  r2   s       r4   Útest_min_exponentz*TestLogFormatterMathtext.test_min_exponentó  s?   € ä�^‰^Ð:¸LÐIÓJñ 	/Ø—8‘8˜E“? hÒ.Ð.Ñ.÷	/÷ 	/ñ 	/ús	   ˜9¹AN)rK   rL   rM   r,   ÚLogFormatterMathtextr1  Ú	test_datarA   rS   rT   r  r@   r6   r4   r{  r{  æ  s@   „ Ø
&ˆ'×
&Ñ
&Ó
(€Cò	€Ið ‡[�[×ÑÐ<¸iÓHñ/ó Iñ/r6   r{  c                   ó”   — e Zd Zg d¢Zej
                  j                  d«      ej                  j                  de«      d„ «       «       Z
y)ÚTestLogFormatterSciNotation))r   g       ?z$\mathdefault{2^{-5}}$)r   r   z$\mathdefault{2^{0}}$)r   é    z$\mathdefault{2^{5}}$)r   g333333£?z$\mathdefault{1.2\times2^{-5}}$)r   r�   z$\mathdefault{1.2\times2^{0}}$)r   g333333C@z$\mathdefault{1.2\times2^{5}}$)r"   r   z$\mathdefault{-10^{0}}$)r"   r  z$\mathdefault{10^{-5}}$)r"   r   r|  )r"   ré  z$\mathdefault{10^{5}}$)r"   gñhãˆµøô>z$\mathdefault{2\times10^{-5}}$)r"   r   z$\mathdefault{2\times10^{0}}$)r"   i@ z$\mathdefault{2\times10^{5}}$)r"   rf  z$\mathdefault{5\times10^{-5}}$)r"   r!   z$\mathdefault{5\times10^{0}}$)r"   i ¡ z$\mathdefault{5\times10^{5}}$Údefaultzbase, value, expectedc                 ó¤   — t        j                  |¬«      }t        j                  ddi«      5   ||«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nry   útext.usetexF)r,   rI  r‰   rŠ   )r/   rz   r-  r2   r  s        r4   r5   z&TestLogFormatterSciNotation.test_basic  sM   € ô ×3Ñ3¸Ô>ˆ	Ü�^‰^˜]¨EÐ2Ó3ñ 	0Ù˜UÓ# xÒ/Ð/Ñ/÷	0÷ 	0ñ 	0ús   ®AÁAN)rK   rL   rM   r�  r‰   Ústylerý   rA   rS   rT   r5   r@   r6   r4   rƒ  rƒ  ù  sG   „ ò€Ið& 	‡Y�Y×Ñ�yÓ!Ø‡[�[×ÑÐ4°iÓ@ñ0ó Aó "ñ0r6   rƒ  c                   óz  — e Zd Zg d¢Zej
                  j                  de«      d„ «       Zej
                  j                  dg d¢«      d„ «       Zdd„Z	e
j                  j                  d«      d	„ «       Zej
                  j                  d
g d¢«      d„ «       Zej
                  j                  d
g d¢«      d„ «       Zy)ÚTestLogFormatter)„)ç}…9“x ?r   z3.142e-5)çÜæGÅ·–4?r   z3.142e-4)ç“à™¶e¼i?r   z3.142e-3)ç\, ’¿ ?r   z3.142e-2)çs7¨v/Ô?r   z3.142e-1)çPERTû!	@r   ú3.142)ç¤Öf)zj?@r   z3.142e1)ç&FàYŒ¢s@r   z3.142e2)ç°WXp/‹¨@r   z3.142e3)çœmnLû­Þ@r   z3.142e4)ç�Å½,Ar   z3.142e5)r  r   ú1e-5)r   r   ú1e-4)r   r   ú1e-3)rè   r   ú1e-2)r¦   r   rò  )r   r   r[  )r"   r   Ú10)r
   r   Ú100)r  r   Ú1000)é'  r   Ú1e4)ré  r   Ú1e5)r‹  ré   rZ  )rŒ  ré   rZ  )r�  ré   ú0.003)rŽ  ré   ú0.031)r�  ré   ú0.314)r�  ré   r‘  )r’  ré   ú31.416)r“  ré   ú314.159)r”  ré   ú3141.593)r•  ré   ú	31415.927)r–  ré   ú
314159.265)r  ré   rZ  )r   ré   rZ  )r   ré   ú0.001)rè   ré   ú0.01)r¦   ré   r^  )r   ré   r[  )r"   ré   r›  )r
   ré   rœ  )r  ré   r�  )rž  ré   Ú10000)ré  ré   Ú100000)r‹  r   rZ  )rŒ  r   rZ  )r�  r   r¡  )rŽ  r   r¢  )r�  r   r£  )r�  r   r‘  )r’  r   r¤  )r“  r   r¥  )r”  r   r¦  )r•  r   r§  )r–  r   r¨  )r  r   rZ  )r   r   rZ  )r   r   r©  )rè   r   rª  )r¦   r   r^  )r   r   r[  )r"   r   r›  )r
   r   rœ  )r  r   r�  )rž  r   r«  )ré  r   r¬  )r‹  r!   rZ  )rŒ  r!   rZ  )r�  r!   rZ  )rŽ  r!   z0.03)r�  r!   z0.31)r�  r!   r_  )r’  r!   z31.42)r“  r!   z314.16)r”  r!   z3141.59)r•  r!   z31415.93)r–  r!   z	314159.27)r  r!   rZ  )r   r!   rZ  )r   r!   rZ  )rè   r!   rª  )r¦   r!   r^  )r   r!   r[  )r"   r!   r›  )r
   r!   rœ  )r  r!   r�  )rž  r!   r«  )ré  r!   r¬  )r‹  r
   rZ  )rŒ  r
   rZ  )r�  r
   rZ  )rŽ  r
   rZ  )r�  r
   z0.3)r�  r
   ú3.1)r’  r
   z31.4)r“  r
   z314.2)r”  r
   z3141.6)r•  r
   z31415.9)r–  r
   z314159.3)r  r
   rZ  )r   r
   rZ  )r   r
   rZ  )rè   r
   rZ  )r¦   r
   r^  )r   r
   r[  )r"   r
   r›  )r
   r
   rœ  )r  r
   r�  )rž  r
   r«  )ré  r
   r¬  )r‹  r4  z3.1e-5)rŒ  r4  z3.1e-4)r�  r4  z3.1e-3)rŽ  r4  z3.1e-2)r�  r4  z3.1e-1)r�  r4  r­  )r’  r4  z3.1e1)r“  r4  z3.1e2)r”  r4  z3.1e3)r•  r4  z3.1e4)r–  r4  z3.1e5)r  r4  r—  )r   r4  r˜  )r   r4  r™  )rè   r4  rš  )r¦   r4  rò  )r   r4  r[  )r"   r4  r›  )r
   r4  rœ  )r  r4  r�  )rž  r4  rŸ  )ré  r4  r   zvalue, domain, expectedc                 ó^   — t        j                  «       }|j                  ||«      }||k(  sJ ‚y ©N)r,   ÚLogFormatterÚ_pprint_val)r/   r-  Údomainr2   r1  rr  s         r4   Útest_pprintzTestLogFormatter.test_pprint�  s.   € ä×"Ñ"Ó$ˆØ—‘  vÓ.ˆØ˜Ò Ð Ñ r6   zvalue, long, short))r   rZ  rZ  )r   rZ  rZ  )rÂ   z-10^0rõ  )g»½×Ùß|ë=z2x10^-10z2e-10)g    _ Bz10^10z1e+10c                 óà   — t        j                  «       \  }}|j                  d«       |j                  j	                  «       }|j                  |«      |k(  sJ ‚|j                  |«      |k(  sJ ‚y )Nr  )r®   r¯   Ú
set_xscaler²   rù  r,  rú  )r/   r-  ÚlongÚshortrµ   r¶   r1  s          r4   r/  z!TestLogFormatter.test_format_data£  sa   € ô —,‘,“.‰ˆˆRØ
�‰�eÔØ�h‰h×*Ñ*Ó,ˆØ�‰˜uÓ%¨Ò-Ð-Ð-Ø×$Ñ$ UÓ+¨uÒ4Ð4Ñ4r6   c                 óH  — |j                  «       }|j                  «       }|j                  |«       |dt        j                  t        j
                  |«      «      z  z  }|D �cg c]  }t        |«      |v ‘Œ }}|D �cg c]  } ||«      dk7  ‘Œ }	}|	|k(  sJ ‚yc c}w c c}w )z.Test whether locator marks subs to be labeled.r"   rQ  N)Úget_minor_formatterrÍ   r  rN   ry  rz  Úround)
r/   r²  r  r1  Úminor_tlocsÚcoefsÚcÚlabel_expectedrØ   Ú
label_tests
             r4   Ú_sub_labelszTestLogFormatter._sub_labels±  s˜   € à×&Ñ&Ó(ˆØ×,Ñ,Ó.ˆØ�‰�[Ô!Ø˜b¤2§8¡8¬B¯H©H°[Ó,AÓ#BÑCÑCˆØ49Ö:¨qœ% ›( dÒ*Ð:ˆÐ:Ø,7Ö8 q‘c˜!“f “lÐ8ˆ
Ð8Ø˜^Ò+Ð+Ñ+ùò ;ùÚ8s   Á$BÁ>Br…  c           	      ó$  — t        j                  «       \  }}|j                  d«       |j                  j	                  t        j                  dg ¬«      «       |j                  j                  t        j                  dt        j                  dd«      ¬«      «       |j                  j                  t        j                  d¬«      «       |j                  j                  t        j                  d¬«      «       |j                  dd	«       |j                  j                  «       }|j                  |j                  j!                  «       «       |j                  j!                  «       D �cg c]  } ||«      d
k7  ‘Œ }}t        j"                  |«      sJ ‚| j%                  |j                  g ¬«       |j                  dd«       | j%                  |j                  g ¬«       |j                  dd«       | j%                  |j                  g ¬«       |j                  dd«       | j%                  |j                  g d¢¬«       |j                  dd«       | j%                  |j                  t        j                  ddt&        ¬«      ¬«       y c c}w )Nr  r"   )rz   r  r   T)rh  Fr   r/  rQ  r  i   éP   ri   )r   r\   r’   r   r   rª   ra  )r®   r¯   rµ  r²   r   r,   r  rÇ   rN   rP   r#  r°  Úset_minor_formatterr°   rù  r  r$  rH   rÀ  rx  )r/   rµ   r¶   r1  rØ   Úshow_major_labelss         r4   Útest_sublabelzTestLogFormatter.test_sublabel»  sñ  € ô —,‘,“.‰ˆˆRØ
�‰�eÔØ
�‰×"Ñ"¤7×#5Ñ#5¸2ÀBÔ#GÔHØ
�‰×"Ñ"¤7×#5Ñ#5¸2Ü;=¿9¹9ÀQÈÓ;Kô$Mô 	Nà
�‰×$Ñ$¤W×%9Ñ%9ÈÔ%MÔNØ
�‰×$Ñ$¤W×%9Ñ%9ÈÔ%NÔOà
�‰�A�sÔØ�h‰h×*Ñ*Ó,ˆØ�‰�R—X‘X×/Ñ/Ó1Ô2à&(§h¡h×&@Ñ&@Ó&BöDØ!"ñ ! ›V r›\ð DÐð Dä�v‰vÐ'Ô(Ð(Ð(Ø×Ñ˜Ÿ™¨ÐÔ+ð 	�‰�A�sÔØ×Ñ˜Ÿ™¨ÐÔ+ð 	�‰�A�rÔØ×Ñ˜Ÿ™¨ÐÔ+ð 	�‰�A�qÔØ×Ñ˜Ÿ™ªÐÔ5ð 	�‰�C˜ÔØ×Ñ˜Ÿ™¬¯	©	°!°R¼sÔ(CÐÕDùò-Ds   Å,JÚval)r   r"   r
   r  c                 ó°   — t        j                  «       }|j                  «        |j                  j	                  dd«        ||«      t        |«      k(  sJ ‚y ©Nr   r"   )r,   r°  r±  r²  r³  Ústr©r/   rÆ  Útemp_lfs      r4   Útest_LogFormatter_callz'TestLogFormatter.test_LogFormatter_callá  sH   € ô ×&Ñ&Ó(ˆØ×!Ñ!Ô#Ø�‰×&Ñ& q¨"Ô-Ù�s‹|œs 3›xÒ'Ð'Ñ'r6   )g       g       g       g       c                 ó”   — t        j                  «       }|j                  «        |j                  j	                  dd«        ||«       y rÈ  )r,   r°  r±  r²  r³  rÊ  s      r4   Útest_LogFormatter_call_tinyz,TestLogFormatter.test_LogFormatter_call_tinyé  s9   € ô ×&Ñ&Ó(ˆØ×!Ñ!Ô#Ø�‰×&Ñ& q¨"Ô-Ù��r6   N)r@   )rK   rL   rM   Úpprint_datarA   rS   rT   r³  r/  rÀ  r‰   rˆ  rý   rÅ  rÌ  rÎ  r@   r6   r4   rŠ  rŠ    sÕ   „ òE€KðN ‡[�[×ÑÐ6¸ÓDñ!ó Eð!ð
 ‡[�[×ÑÐ1ò 4ó ñ5óð5ó,ð 	‡Y�Y×Ñ�yÓ!ñ#Eó "ð#EðJ ‡[�[×Ñ˜UÒ$6Ó7ñ(ó 8ð(ð ‡[�[×Ñ˜UÒ$FÓGñó Hñr6   rŠ  c                   óÌ  — e Zd Zed„ «       Zej                  j                  dg d¢«      d„ «       Z e	 e
dd«      D � �cg c]  }d| z  ‘Œ
 c}}  e
dd«      D � �cg c]  }dd| z  z
  ‘Œ c}} z   dgz   «      Zej                  j                  de«      d	„ «       Zej                  j                  dd
«      d„ «       Zej                  j                  ddd ej                   ej                   ddd«       «      z   z  «      d„ «       Zg d¢Zej                  j                  de«      d„ «       Zd„ Zd„ Zd„ Zej                  j                  dd«      d„ «       Zyc c}} w c c}} w )ÚTestLogitFormatterc                 óR  — t        j                  d| «      }|rL|d   du}|d   rt        |d   «      nd}|d   �t        |d   «      nd}|d|z  z  }|d   s|d   �	|rd|z
  S |S t        j                  d	| «      }|r!t        |d
   «      t        |d   «      }}||z  S t	        d«      ‚)z¯
        Parser to convert string as r'$\mathdefault{1.41\cdot10^{-4}}$' in
        float 1.41e-4, as '0.5' or as r'$\mathdefault{\frac{1}{2}}$' in float
        0.5,
        zT[^\d]*(?P<comp>1-)?(?P<mant>\d*\.?\d*)?(?:\\cdot)?(?:10\^\{(?P<expo>-?\d*)})?[^\d]*$ÚcompNÚmantr   Úexpor   r"   z4[^\d]*\\frac\{(?P<num>\d+)\}\{(?P<deno>\d+)\}[^\d]*$ÚnumÚdenozNot formatted by LogitFormatter)rV   r?   rv  rx  rX   )Ústringr?   rÓ  ÚmantissarÕ  r-  rÖ  r×  s           r4   Úlogit_deformatterz$TestLogitFormatter.logit_deformatteró  s×   € ô —‘ðð ó
ˆñ Ø˜‘=¨Ð,ˆDØ/4°Vª}”u˜U 6™]Ô+À!ˆHØ).¨v©Ð)B”3�u˜V‘}Ô%ÈˆDØ˜r T™zÑ)ˆEØ�VŠ}  f¡Ð 9ÙØ˜u™9Ð$Ø�Ü—‘ØCÀVó
ˆñ Ü˜e E™lÓ+¬U°5¸±=Ó-A�ˆCØ˜‘:ÐÜÐ:Ó;Ð;r6   zfx, x))zSTUFF0.41OTHERSTUFFg=
×£p=Ú?)zSTUFF1.41\cdot10^{-2}OTHERSTUFFgÿ!ýöuàŒ?)zSTUFF1-0.41OTHERSTUFFgâz®Gáâ?)z!STUFF1-1.41\cdot10^{-2}OTHERSTUFFgx$(~Œï?)ÚSTUFFN)zSTUFF12.4e-3OTHERSTUFFNc                 óê   — |€8t        j                  t        «      5  t        j	                  |«       d d d «       y t        j	                  |«      }t
        j                  ||«      sJ ‚y # 1 sw Y   y xY wr¯  )rA   rB   rX   rÑ  rÚ  rZ  r\  )r/   ÚfxrØ   rí   s       r4   Útest_logit_deformaterz(TestLogitFormatter.test_logit_deformater  se   € ð ˆ9Ü—‘œzÓ*ñ 9Ü"×4Ñ4°RÔ8÷9ð 9ô #×4Ñ4°RÓ8ˆAÜ×'Ñ'¨¨1Ô-Ð-Ñ-÷	9ð 9ús   œA)Á)A2r   r"   r   rØ   c                 óÐ   — t        j                  d¬«      }|j                  | j                  «        ||«      }t        j                  |«      }t        j                  ||«      sJ ‚y)zj
        Test the formatted value correspond to the value for ideal ticks in
        logit space.
        F©Úuse_overlineN)r,   ÚLogitFormatterr  Údecade_testrÑ  rÚ  rZ  r\  )r/   rØ   r  ÚsÚx2s        r4   r5   zTestLogitFormatter.test_basic-  sW   € ô ×*Ñ*¸Ô>ˆ	Ø×Ñ˜4×+Ñ+Ô,Ù�a‹LˆÜ×1Ñ1°!Ó4ˆÜ×#Ñ# A rÔ*Ð*Ñ*r6   )r   rÃ   r   r   r    r   c                 ó„   — t        j                  d¬«      }|j                  | j                  «        ||«      }|dk(  sJ ‚y)zl
        Test that invalid value are formatted with empty string without
        raising exception.
        Frà  rQ  N)r,   râ  r  rã  )r/   rØ   r  rä  s       r4   Útest_invalidzTestLogitFormatter.test_invalid9  s<   € ô ×*Ñ*¸Ô>ˆ	Ø×Ñ˜4×+Ñ+Ô,Ù�a‹LˆØ�BŠwˆ‰wr6   r}   r#  c                 ó>  — t        j                  d¬«      }dD ]‚  }|d|z  z   dk  sŒ|j                  |d|z  z
  ||d|z  z   g«        ||«      } ||d|z  z   «      }t        j	                  |«      t        j	                  |«      z
  }d|cxk  r
d|z  k  rŒJ ‚ J ‚ y)zS
        The format length should change depending on the neighbor labels.
        Frà  )	r"   r	   rÞ  r
   éÈ   r  iÐ  iˆ  rž  r   r   r   N)r,   râ  r  rÑ  rÚ  )r/   rØ   r  ÚNÚsxÚsx1Úds          r4   Útest_variablelengthz&TestLogitFormatter.test_variablelengthD  s³   € ô
 ×*Ñ*¸Ô>ˆ	Ø@ò 		%ˆAØ�1�q‘5‰y˜1‹}Ø×"Ñ" A¨¨A©¡I¨q°!°a¸!±e±)Ð#<Ô=Ù˜q“\�Ù  A¨¡E¡	Ó*�ä&×8Ñ8¸Ó=Ü(×:Ñ:¸2Ó>ñ?ð ð ˜1”}˜q 1™u“}Ð$‘}Ð$�}ñ		%r6   ))Trg  )©rà  F)éK   F)Tre  )rï  ©rð  T)Trd  )©rà  Trñ  )F)r   gR¸…ëQè?g¤p=
×£è?))r#  Trò  rñ  zmethod, lims, casesc                 óª  — |r&t        j                  d¬«      } |j                  |Ž }nt        j                  |«      }t        j
                  d¬«      }|D ]v  \  }}|j                  |«       |j                  |«      }	|	D �
cg c]  }
t        |
«      dkD  sŒ|
‘Œ }}
|rt        |«      dkD  rŒWJ ||f«       ‚t        |«      dk(  rŒoJ ||f«       ‚ yc c}
w )z,
        Test minor/major displays.
        Tr¬   r   N)	r,   rk  r.   rN   rO   râ  Úset_minor_thresholdÚformat_ticksrÌ   )r/   Úmethodrl  ÚcasesÚmin_locrt  Úmin_formÚ	thresholdÚ	has_minorÚ	formattedÚfÚlabelleds               r4   Útest_minor_vs_majorz&TestLogitFormatter.test_minor_vs_major\  s×   € ñ Ü×*Ñ*°Ô6ˆGØ'�G×'Ñ'¨Ð.‰Eä—H‘H˜T“NˆEÜ×)Ñ)°Ô5ˆØ$)ò 	BÑ ˆI�yØ×(Ñ(¨Ô3Ø ×-Ñ-¨eÓ4ˆIØ#,Ö;˜a´°A³¸³
šÐ;ˆHÐ;ÙÜ˜8“} qÓ(Ð@¨9°iÐ*@Ó@Ð(ä˜8“}¨Ó)ÐA¨I°yÐ+AÓAÐ)ñ	Bùò <s   ÂCÂCc                 ó8  — t        j                  d¬«      }t        j                  d¬«      }|j                  dd«      }dD ]R  }|j	                  |«       |j                  |«      }|D �cg c]  }t        |«      dkD  sŒ|‘Œ }}t        |«      |k(  rŒRJ ‚ yc c}w )z1
        Test the parameter minor_number
        Tr¬   r¥   r   )r   r’   ri   rq  r   N)r,   rk  râ  r.   Úset_minor_numberrõ  rÌ   )r/   rø  rù  rt  Úminor_numberrü  rý  rþ  s           r4   Útest_minor_numberz$TestLogitFormatter.test_minor_numberq  s—   € ô ×&Ñ&¨TÔ2ˆÜ×)Ñ)°Ô5ˆØ×#Ñ# D¨(Ó3ˆØ)ò 	1ˆLØ×%Ñ% lÔ3Ø ×-Ñ-¨eÓ4ˆIØ#,Ö;˜a´°A³¸³
šÐ;ˆHÐ;Ü�x“= LÓ0Ð0Ð0ñ		1ùò <s   Á*BÁ>Bc                 óÎ   — d}d}d}t        j                  d¬«      } ||«      |k(  sJ ‚|j                  d«        ||«      |k(  sJ ‚|j                  d«        ||«      |k(  sJ ‚y)z1
        Test the parameter use_overline
        rì  z$\mathdefault{1-10^{-2}}$z"$\mathdefault{\overline{10^{-2}}}$Frà  TN)r,   râ  rá  )r/   rØ   Úfx1Úfx2Úforms        r4   Útest_use_overlinez$TestLogitFormatter.test_use_overline~  so   € ð ˆØ*ˆØ3ˆÜ×%Ñ%°5Ô9ˆÙ�A‹w˜#Š~Ðˆ~Ø×Ñ˜$ÔÙ�A‹w˜#Š~Ðˆ~Ø×Ñ˜%Ô Ù�A‹w˜#Š~Ð‰~r6   c                 ó¸   — t        j                  «       }d |d«      v sJ ‚|j                  d«       d |d«      v sJ ‚|j                  d«       d |d«      v sJ ‚y)z-
        Test the parameter one_half
        z\frac{1}{2}r   z1/2zone halfN)r,   râ  Úset_one_half)r/   r  s     r4   Útest_one_halfz TestLogitFormatter.test_one_halfŒ  sd   € ô ×%Ñ%Ó'ˆØ¡ c£Ñ*Ð*Ð*Ø×Ñ˜%Ô Ø™˜S›	Ñ!Ð!Ð!Ø×Ñ˜*Ô%Ø™T #›YÑ&Ð&Ñ&r6   rê  )r
   éý   iò  c                 ó  — t        j                  dd|«      dd }t        j                  «       }|D ]W  }|j	                  |«      }|j                  d«      rdt        |dd  «      z
  }nt        |«      }t        ||z
  «      d|z  k  rŒWJ ‚ y )Nr   r   r   z1-r   )rN   rs   r,   râ  rú  Ú
startswithrv  Úabs)r/   rê  rm  r  rØ   rÝ  rå  s          r4   Útest_format_data_shortz)TestLogitFormatter.test_format_data_short—  s‹   € ä�{‰{˜1˜a Ó# A bÐ)ˆÜ×%Ñ%Ó'ˆØò 	'ˆAØ×'Ñ'¨Ó*ˆBØ�}‰}˜TÔ"Øœ˜r ! "˜v›Ñ&‘ä˜2“Y�Ü�q˜2‘v“;  Q¡Ó&Ð&Ð&ñ	'r6   N)rK   rL   rM   ra  rÚ  rA   rS   rT   rÞ  rj  r{  rã  r5   rç  rN   Úexprs   rî  Úlims_minor_majorrÿ  r  r  r  r  )r–  Úis   00r4   rÑ  rÑ  ò  s›  „ Øñ<ó ð<ð@ ‡[�[×ÑØò	
ó
ñ.ó
ð.ñ Ù" 1 b›\×*˜ˆ��‹Ó*Ù#(¨¨B£<×
0˜aˆ1ˆr�q�b‰z‹>Ó
0ñ	1àˆ'ñ	ó€Kð ‡[�[×Ñ˜S +Ó.ñ	+ó /ð	+ð ‡[�[×Ñ˜SÐ"?Ó@ñó Aðð ‡[�[×Ñ˜S ! q¨6¨2¯6©6°;°2·;±;¸rÀ1ÀbÓ3IÐ2IÓ+JÑ'JÑ"KÓLñ%ó Mð%ò Ðð ‡[�[×ÑÐ2Ð4DÓEñBó FðBò(1òò	'ð ‡[�[×Ñ˜S /Ó2ñ	'ó 3ñ	'ùóa 	+ùÛ
0s   ¿E
ÁE rÑ  c                   ó   — e Zd Zd„ Zy)ÚTestFormatStrFormatterc                 óH   — t        j                  d«      }d |d«      k(  sJ ‚y )Nz%05dÚ00002r   )r,   ÚFormatStrFormatterr  s     r4   r5   z!TestFormatStrFormatter.test_basic¥  s$   € ä×-Ñ-¨fÓ5ˆØ™( 1›+Ò%Ð%Ñ%r6   N)rK   rL   rM   r5   r@   r6   r4   r  r  ¤  s   „ ó&r6   r  c                   óX   — e Zd Zg d¢Zej
                  j                  de«      d„ «       Zy)ÚTestStrMethodFormatter))ú{x:05d}©r   Fr  )r  r  Tr  )r  ©rï  Fz-0002)r  r  Tu   âˆ’0002)ú{x:03d}-{pos:02d}©r   r   Fú002-01)r  r  Tr   )r  ©rï  r   Fz-02-01)r  r!  Tu   âˆ’02-01z&format, input, unicode_minus, expectedc                 óœ   — t        j                  d|i«      5  t        j                  |«      } ||Ž |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr÷  )r‰   rŠ   r,   ÚStrMethodFormatter)r/   ÚformatÚinputrü  r2   r1  s         r4   r5   z!TestStrMethodFormatter.test_basic·  sK   € ä�^‰^Ð1°=ÐAÓBñ 	+Ü×,Ñ,¨VÓ4ˆCÙ˜�; (Ò*Ð*Ñ*÷	+÷ 	+ñ 	+ús   ˜ AÁAN)rK   rL   rM   r�  rA   rS   rT   r5   r@   r6   r4   r  r  «  s0   „ ò	€Ið ‡[�[×ÑÐEÀyÓQñ+ó Rñ+r6   r  c                   óX   — e Zd Zg d¢Zej
                  j                  de«      d„ «       Zy)ÚTestEngFormatter))FççÆô„EJ“À)z
-1.23457 kú-1 kz-1.23 k)Tr(  )u   âˆ’1.23457 kõ   âˆ’1 ku	   âˆ’1.23 k)FçÞƒBÊÀó¿)z-1.23457rõ  z-1.23)Tr+  )u
   âˆ’1.23457rô  u   âˆ’1.23)Fç_c97Ýš¿¿)z
-123.457 mz-123 mz	-123.46 m)Tr,  )u   âˆ’123.457 mu   âˆ’123 mu   âˆ’123.46 m)FçQ^•-':T¿)z
-1.23457 mz-1 mz-1.23 m)Tr-  )u   âˆ’1.23457 mu   âˆ’1 mu	   âˆ’1.23 m)Tg       €©rZ  rZ  z0.00©Tr   r.  r/  )Tg›áÀm¶´>)u
   1.23457 Âµu   1 Âµu   1.23 Âµ)Tg_c97Ýš¿?)z	123.457 mz123 mz123.46 m)Tr¦   )ú100 mr0  z100.00 m)Tr   )r[  r[  z1.00)TgÞƒBÊÀó?)z1.23457r[  z1.23)Tg33333?�@)z999.9ú1 kz999.90)Tg*:’Ëÿ?�@©r1  r1  ú1.00 k)Fç*:’Ëÿ?�À)r)  r)  z-1.00 k)Tr4  )r*  r*  u	   âˆ’1.00 k)Tr  r2  )Tié  )z1.001 kr1  r3  )Ti¡† )z	100.001 kz100 kz100.00 k)Tg¬Z¤$.A)z	987.654 kz988 kz987.65 k)TgCY¸,dRÎF)ú1230 Qr5  z	1230.00 Qzunicode_minus, input, expectedc                 ó°  ‡‡	‡
— |t         j                  d<   dŠ	dŠ|}t        j                  «       t        j                  d¬«      t        j                  d¬«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ ˆˆ	fd„|D «       }t        j                  ‰	¬«      t        j                  ‰	d¬	«      t        j                  ‰	d¬	«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ d
D ]å  Š
ˆˆ	ˆ
fd„|D «       }t        j                  ‰	‰
¬«      t        j                  ‰	d‰
¬«      t        j                  ‰	d‰
¬«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ ˆ
fd„|D «       }t        j                  ‰
¬«      t        j                  d‰
¬«      t        j                  d‰
¬«      f}t	        ||«      D ]  \  }} ||«      |k(  rŒJ ‚ Œç y)aá  
        Test the formatting of EngFormatter for various values of the 'places'
        argument, in several cases:

        0. without a unit symbol but with a (default) space separator;
        1. with both a unit symbol and a (default) space separator;
        2. with both a unit symbol and some non default separators;
        3. without a unit symbol but with some non default separators.

        Note that cases 2. and 3. are looped over several separator strings.
        r÷  rä  Ú
0123456789r   )Úplacesr   c              3   óF   •K  — | ]  }|d    ‰v r|dz   ‰z   n|‰z   –— Œ y­w©r   ú Nr@   )r–  Ú_sÚDIGITSÚUNITs     €€r4   ú	<genexpr>z/TestEngFormatter.test_params.<locals>.<genexpr>  s8   øè ø€ ò :Ø*,ð +-¨R©&°FÑ*:�r˜C‘x $’Ø ™Ió&ñ :ùs   ƒ!)Úunit)r@  r8  )rQ  u   â€¯z@_@c              3   óf   •K  — | ](  }|d    ‰v r|‰z   ‰z   n|j                  d‰«      ‰z   –— Œ* y­wr:  ©rk  )r–  r<  r=  r>  Ú_seps     €€€r4   r?  z/TestEngFormatter.test_params.<locals>.<genexpr>  sE   øè ø€ ò /à!ð 02°"©v¸Ñ/?˜2 ™9 tÒ+Ø "§
¡
¨3°Ó 5¸Ñ <ó=ñ /ùs   ƒ.1)r@  r  )r@  r8  r  c              3   óB   •K  — | ]  }|j                  d ‰«      –— Œ y­w)r;  NrB  )r–  r<  rC  s     €r4   r?  z/TestEngFormatter.test_params.<locals>.<genexpr>%  s   øè ø€ ÒD°R˜2Ÿ:™: c¨4×0ÑDùs   ƒ)r  )r8  r  N)r®   r@  r,   ÚEngFormatterr  )r/   rü  r%  r2   Úexp_outputsÚ
formattersÚ
_formatterÚ_exp_outputr=  r>  rC  s           @@@r4   Útest_paramszTestEngFormatter.test_paramsç  sù  ú€ ð .;Œ�‰Ð)Ñ*ØˆØˆð ˆä× Ñ Ó"Ü× Ñ ¨Ô*Ü× Ñ ¨Ô*ð
ˆ
ô
 (+¨:°{Ó'Cò 	4Ñ#ˆJ˜Ù˜eÓ$¨Ó3Ð3Ð3ð	4ô:Ø08ô:ˆô × Ñ  dÔ+Ü× Ñ  d°1Ô5Ü× Ñ  d°1Ô5ð
ˆ
ô
 (+¨:°{Ó'Cò 	4Ñ#ˆJ˜Ù˜eÓ$¨Ó3Ð3Ð3ð	4ð
 =ò 	8ˆDõ/à%-ô/ˆKô ×$Ñ$¨$°DÔ9Ü×$Ñ$¨$°q¸dÔCÜ×$Ñ$¨$°q¸dÔCðˆJô
 ,/¨z¸;Ó+Gò 8Ñ'�
˜KÙ! %Ó(¨KÓ7Ð7Ð7ð8ó E¸8ÔDˆKä×$Ñ$¨Ô.Ü×$Ñ$¨A°4Ô8Ü×$Ñ$¨A°4Ô8ðˆJô
 ,/¨z¸;Ó+Gò 8Ñ'�
˜KÙ! %Ó(¨KÓ7Ð7Ð7ñ8ñ1	8r6   N)rK   rL   rM   Úraw_format_datarA   rS   rT   rJ  r@   r6   r4   r'  r'  ¾  s3   „ ò#€OðJ ‡[�[×ÑÐ=¸ÓOñD8ó PñD8r6   r'  c                  óÂ  — t        j                  «       \  } }|j                  g d¢g d¢«       |j                  g d¢«       t	        j
                  d¬«      t	        j
                  d¬«      fD ]k  }|j                  j                  |«       | j                  j                  «        |j                  «       D �cg c]  }|j                  «       ‘Œ }}|g d¢k(  rŒkJ ‚ y c c}w )N)r   rß  r  T)Úusetex)ÚuseMathText)z$0$z$500$z$1$ k)r®   r¯   rH  rË   r,   rE  r²   r#  r>  r?  Úget_xticklabelsÚget_text)rµ   r¶   r  ÚlablÚx_tick_label_texts        r4   Ú$test_engformatter_usetex_useMathTextrS  /  s²   € Ü�l‰l‹n�G€CˆØ‡G�GŠNšNÔ+Ø‡M�M’.Ô!Ü×*Ñ*°$Ô7Ü×*Ñ*°tÔ<ð>ò >ˆ	à
�‰×$Ñ$ YÔ/Ø�
‰
�‰ÔØ9;×9KÑ9KÓ9MÖN°˜TŸ]™]�_ÐNÐÐNð !Ò$=Ó=Ð=Ð=ñ>ùò Os   Â7Cc                   ó°   — e Zd Zg d¢Zg d¢Zg d¢Zej                  j                  dee¬«      d„ «       Z	ej                  j                  de«      d„ «       Z
y	)
ÚTestPercentFormatter))r
   r   ú%rð  r
   z120%)r
   r   rV  r
   éZ   z100%)r
   r   rV  rW  rÞ  z90%)r
   r   rV  r»   rD  z-2%)r
   r   rV  g     €V@r
   z90.0%)r
   r   rV  gfffffT@rW  z80.1%)r
   r   rV  g…ëQ¸ŽQ@rÞ  z70.2%)r
   r   rV  gôýÔxéFNÀrD  z-60.6%)r
   NrV  é_   r   z95.00%)r   NrV  r\   r   z300%)ç      1@NrV  r   g      !@z6%)rY  NrV  r   gÍÌÌÌÌÌ @z5.9%)r!   NrV  r·  g�íµ ÷Æ°>z-2000.00000%)r   r   Nr�   r
   z120.00)rð  r\   rQ  rÞ  r
   z66.667)r`  Nz
^^Foobar$$é   r¶  z50.0^^Foobar$$)zdecimals=0, x>100%zdecimals=0, x=100%zdecimals=0, x<100%zdecimals=0, x<0%zdecimals=1, x>100%zdecimals=1, x=100%zdecimals=1, x<100%zdecimals=1, x<0%z$autodecimal, x<100%, display_range=1z7autodecimal, x>100%, display_range=6 (custom xmax test)z;autodecimal, x<100%, display_range=8.5 (autodecimal test 1)z;autodecimal, x<100%, display_range=8.4 (autodecimal test 2)z=autodecimal, x<-100%, display_range=1e-6 (tiny display range)zNone as percent symbolzEmpty percent symbolzCustom percent symbol))FFú50\{t}%)FTz50\\\{t\}\%)TFr[  )TTr[  z2xmax, decimals, symbol, x, display_range, expected)Úidsc                 ó¼   — t        j                  |||«      }t        j                  ddi¬«      5  |j	                  ||«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nr‡  F©Úrc©r,   ÚPercentFormatterr‰   rŠ   Ú
format_pct)r/   ÚxmaxÚdecimalsÚsymbolrØ   Údisplay_ranger2   r  s           r4   r5   zTestPercentFormatter.test_basicr  s]   € ô
 ×,Ñ,¨T°8¸VÓDˆ	Ü�^‰^ ¨uÐ5Ô6ñ 	FØ×'Ñ'¨¨=Ó9¸XÒEÐEÑE÷	F÷ 	Fñ 	Fúó   °AÁAzis_latex, usetex, expectedc                 ó¼   — t        j                  d|¬«      }t        j                  d|i¬«      5  |j	                  dd«      |k(  sJ ‚	 d d d «       y # 1 sw Y   y xY w)Nz\{t}%)re  Úis_latexr‡  r^  rÞ  r
   r`  )r/   ri  rM  r2   r1  s        r4   Ú
test_latexzTestPercentFormatter.test_latex{  sS   € ä×&Ñ&¨hÀÔJˆÜ�^‰^ ¨vÐ6Ô7ñ 	7Ø—>‘> " cÓ*¨hÒ6Ð6Ñ6÷	7÷ 	7ñ 	7úrg  N)rK   rL   rM   Úpercent_dataÚpercent_idsÚ
latex_datarA   rS   rT   r5   rj  r@   r6   r4   rU  rU  =  sp   „ ò€Lò.€Kò,€Jð ‡[�[×ÑØ@Ø˜kð ó +ñFó+ðFð ‡[�[×ÑÐ9¸:ÓFñ7ó Gñ7r6   rU  c                  ó”  — 	 t        j                  t         j                  d«       t        j                  dd¬«      } d}| j                  |d«      }|dk(  sJ ‚d}| j                  |d«      }|d	k(  sJ ‚t        j                  d
d¬«      } d}| j                  |d«      }|dk(  sJ ‚y # t         j                  $ r t	        d«       Y y w xY w)Nzde_DE.UTF-8z9SKIP: Locale de_DE.UTF-8 is not supported on this machineT)rN  Ú	useLocalez$\mathdefault{%1.1f}$r   z$\mathdefault{0{,}5}$z,$\mathdefault{,%1.1f},$z,$\mathdefault{,0{,}5},$Fz%1.1fz0,5)r  Ú	setlocaleÚLC_ALLÚErrorÚprintr,   r  Ú_format_maybe_minus_and_locale)rt  r1  rØ   s      r4   Ú_impl_locale_commaru  ‚  sÑ   € ðÜ×ÑœŸ™¨Ô6ô ×#Ñ#°ÀÔE€EØ
"€CØ×,Ñ,¨S°#Ó6€AØÐ(Ò(Ð(Ð(à
%€CØ×,Ñ,¨S°#Ó6€AØÐ+Ò+Ð+Ð+ä×#Ñ#°ÀÔF€EØ
€CØ×,Ñ,¨S°#Ó6€AØ�Š:Ð‰:øô �<‰<ò ÜÐIÔJÙðús   ‚$B& Â&CÃCc                  óÚ   — t         j                  j                  t        dddi¬«      } t	        d„ | j
                  j                  «       D «       d«      }|rt        j                  |«       y y )Nr&   Ú
MPLBACKENDÚAgg)ÚtimeoutÚ	extra_envc              3   óv   K  — | ]1  }|j                  d «      r|t        d «      d j                  «       –— Œ3 y­w)zSKIP:N)r  rÌ   rû  )r–  Úlines     r4   r?  z$test_locale_comma.<locals>.<genexpr>Ÿ  s8   è ø€ ò 2ØØŸ™¨Ô0ð œ#˜g›,˜-Ð(×.Ñ.×0ñ 2ùs   ‚79rQ  )	r‰   rÕ   Úsubprocess_run_helperru  ÚnextÚstdoutÚ
splitlinesrA   r  )ÚprocÚskip_msgs     r4   Útest_locale_commarƒ  —  sj   € ô �;‰;×,Ñ,Ô-?ÈØ8DÀeÐ7Lð -ó N€Däñ 2Ø!%§¡×!7Ñ!7Ó!9ô2ð ó€Hñ Ü�‰�HÕð r6   c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr¯  )	r®   r¯   rA   rB   rU   r²   r#  r,   r  ©rµ   r¶   s     r4   Útest_majformatter_typer†  §  óM   € Ü�l‰l‹n�G€CˆÜ	�‰”yÓ	!ñ ;Ø
�‰×$Ñ$¤W×%7Ñ%7Ó%9Ô:÷;÷ ;ñ ;úó   ±.A(Á(A1c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr¯  )	r®   r¯   rA   rB   rU   r²   rÃ  r,   r  r…  s     r4   Útest_minformatter_typerŠ  ­  r‡  rˆ  c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr¯  )	r®   r¯   rA   rB   rU   r²   r   r,   r°  r…  s     r4   Útest_majlocator_typerŒ  ³  óM   € Ü�l‰l‹n�G€CˆÜ	�‰”yÓ	!ñ ;Ø
�‰×"Ñ"¤7×#7Ñ#7Ó#9Ô:÷;÷ ;ñ ;úrˆ  c                  óè   — t        j                  «       \  } }t        j                  t        «      5  |j
                  j                  t        j                  «       «       d d d «       y # 1 sw Y   y xY wr¯  )	r®   r¯   rA   rB   rU   r²   rÇ   r,   r°  r…  s     r4   Útest_minlocator_typer�  ¹  r�  rˆ  c                  óˆ   ‡— t        j                  «       Šˆfd„}  | ddd«        | ddd«        | ddd«        | ddd«       y )Nc                 ó8  •— | |dœ}t        j                  |¬«      5  ‰j                  dd|«      }d d d «       t        j                  j                  «       «      dkD  | k(  sJ ‚t        |j                  j                  «       «      dkD  |k(  sJ ‚y # 1 sw Y   Œ`xY w)N)zxtick.minor.visiblezytick.minor.visibler^  r   r   )r®   rŠ   Úadd_subplotrÌ   r²   Úget_minor_ticksrô   )ÚxminorÚyminorr  r_  r¶   rµ   s        €r4   Úminorticksubplotz,test_minorticks_rc.<locals>.minorticksubplotÂ  s�   ø€ Ø%+Ø%+ñ-ˆä�^‰^˜rÔ"ñ 	*Ø—‘  A qÓ)ˆB÷	*ô �B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ð>Ü�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ñ>÷		*ð 	*ús   �BÂBFr   Tr   r\   r’   )r®   Úfigure)r–  rµ   s    @r4   Útest_minorticks_rcr˜  ¿  sE   ø€ Ü
�*‰*‹,€Cô?ñ �U˜E 1Ô%Ù�T˜5 !Ô$Ù�U˜D !Ô$Ù�T˜4 Õ#r6   c                  óð   ‡— t        j                  «       Šˆfd„} g d¢}|D ]>  } | dd|d«        | dd|d«        | dd|d«        | dd|d«       ‰j                  «        Œ@ t        j                  ‰«       y	)
ax  
    Test toggling minor ticks

    Test `.Axis.minorticks_on()` and `.Axis.minorticks_off()`. Testing is
    limited to a subset of built-in scales - `'linear'`, `'log'`, `'asinh'`
    and `'logit'`. `symlog` scale does not seem to have a working minor
    locator and is omitted. In future, this test should cover all scales in
    `matplotlib.scale.get_scale_names()`.
    c                 óL  •— ‰j                  dd|«      }|j                  |«       |j                  |«       | s|s|j                  «        | r6|s4|j                  j                  «        |j                  j                  «        | s6|r4|j                  j                  «        |j                  j                  «        | r|r|j                  «        t        |j                  j                  «       «      dkD  | k(  sJ ‚t        |j                  j                  «       «      dkD  |k(  sJ ‚y )Nr   r   )	r’  rµ  r  Úminorticks_offr²   r±   rô   rÌ   r“  )r”  r•  Úscaler  r¶   rµ   s        €r4   Úminortickstogglez0test_minorticks_toggle.<locals>.minortickstoggleÜ  sã   ø€ Ø�_‰_˜Q  1Ó%ˆØ
�‰�eÔØ
�‰�eÔÙ™fØ×ÑÔÙ™&Ø�H‰H×"Ñ"Ô$Ø�H‰H×#Ñ#Ô%Ù™&Ø�H‰H×#Ñ#Ô%Ø�H‰H×"Ñ"Ô$Ù‘fØ×ÑÔä�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ð>Ü�B—H‘H×,Ñ,Ó.Ó/°!Ñ3¸Ò>Ð>Ñ>r6   )Úlinearr  ÚasinhÚlogitFr   Tr   r\   r’   N)r®   r—  ÚclearÚclose)r�  Úscalesrœ  rµ   s      @r4   Útest_minorticks_toggler¤  Ñ  sy   ø€ ô �*‰*‹,€Cô?ò$ 1€FØò ˆÙ˜  u¨aÔ0Ù˜˜u e¨QÔ/Ù˜  e¨QÔ/Ù˜˜t U¨AÔ.Ø�	‰	�ðô ‡I�Iˆc…Nr6   z%remove_overlapping_locs, expected_num))Tr   )Nr   )Frh  c                 ó0  — t        j                  ddd¬«      }t        j                  t        |«      «      }t	        j
                  «       \  }}|j                  ||«       |j                  j                  t        j                  j                  «       «       |j                  j                  t        j                  j                  d«      «       |j                  j                  t        j                  j                  d«      «       |j                  j!                  t        j                  j                  d«      «       |j                  j#                  d«       | �| |j                  _        |j                  j$                  }||j                  j'                  «       k(  sJ ‚t	        j(                  |j                  |¬	«       |j                  j$                  }||j                  j$                  k(  sJ ‚t        |j                  j+                  «       «      |k(  sJ ‚t        |j                  j#                  «       «      |k(  sJ ‚t        |j                  j-                  «       «      |k(  sJ ‚t        |j                  j/                  «       «      |d
z  k(  sJ ‚y )Nz
2018-11-03z
2018-11-06Ú
datetime64ra  z
%a)r   r   r¶  é   z%H:%Mr#   )Úremove_overlapping_locsr   )rN   rP   ÚonesrÌ   r®   r¯   rH  r²   r   r‰   ÚdatesÚ
DayLocatorr#  ÚDateFormatterrÇ   ÚHourLocatorrÃ  r“  r¨  Úget_remove_overlapping_locsÚsetprÍ   Úget_minorticklabelsÚget_minorticklines)r¨  Úexpected_numÚtrØ   rµ   r¶   ÚcurrentÚnews           r4   Útest_remove_overlapr¶  ù  sÔ  € ô
 	�	‰	�, °LÔA€AÜ
�‰”�A“‹€Aä�l‰l‹n�G€CˆØ‡G�GˆAˆq„Mà‡H�H×ÑœsŸy™y×3Ñ3Ó5Ô6Ø‡H�H× Ñ ¤§¡×!8Ñ!8¸Ó!@ÔAà‡H�H×ÑœsŸy™y×4Ñ4°^ÓDÔEØ‡H�H× Ñ ¤§¡×!8Ñ!8¸Ó!AÔBà‡H�H×Ñ˜RÔ ØÐ*Ø+Bˆ�‰Ô(ð �h‰h×.Ñ.€GØ�r—x‘x×;Ñ;Ó=Ò=Ð>Ð=Ü‡H�HˆR�X‰X¨wÕ7Ø
�(‰(×
*Ñ
*€CØ�2—8‘8×3Ñ3Ò3Ð4Ð3ô ˆr�x‰x×)Ñ)Ó+Ó,°Ò<Ð<Ð<äˆr�x‰x×'Ñ'Ó)Ó*¨lÒ:Ð:Ð:Üˆr�x‰x×+Ñ+Ó-Ó.°,Ò>Ð>Ð>Üˆr�x‰x×*Ñ*Ó,Ó-°¸a±Ò?Ð?Ñ?r6   ÚsubÚhiÚaardvark)r   r   c                 ó¬   — t        j                  «       }t        j                  t        «      5  |j                  | ¬«       d d d «       y # 1 sw Y   y xY w)Nr  )r,   r  rA   rB   rX   rl   )r·  r=  s     r4   Útest_bad_locator_subsr»    sA   € ô 
×	Ñ	Ó	€BÜ	�‰”zÓ	"ñ  Ø
�‰˜3ˆÔ÷ ÷  ñ  ús   ®A
Á
Ar^   )r   r   r\   rh  r…  c           	      ó  — t        j                  «       }|j                  | ¬«       dD ]_  }|j                  d|«      }t	        j
                  t	        j                  |j                  dd«      «      «      dk(  j                  «       rŒ_J ‚ y )Nr]   )r!   r#  rh  r<   r#   rÞ  r
   r  r   r   é–   r   )r,   r  rl   r.   rN   Údiffrz  rH   )r^   r=  Útoprt  s       r4   Útest_small_range_loglocatorrÀ  '  su   € ô 
×	Ñ	Ó	€BØ‡M�M˜8€MÔ$Ø/ò FˆØ—‘˜r 3Ó'ˆÜ—‘œŸ™ §¡°°3Ó!7Ó8Ó9¸QÑ>×CÑCÕEÐEÐEñFr6   c                  óž   — t        j                  «       }  | d«      dk(  sJ ‚| j                  d«      dk(  sJ ‚| j                  d«      dk(  sJ ‚y )Nr   rQ  )r,   ÚNullFormatterr,  rú  ©r  s    r4   Útest_NullFormatterrÄ  1  sT   € Ü×%Ñ%Ó'€IÙ�S‹>˜RÒÐÐØ× Ñ  Ó%¨Ò+Ð+Ð+Ø×&Ñ& sÓ+¨rÒ1Ð1Ñ1r6   r  c                 ó   — d| › �S )Nzval: r@   )r—  s    r4   ú<lambda>rÆ  9  s   €  e¨A¨3 K€ r6   )r;   Úbarc                 óz   — | j                  «       dk(  sJ ‚| j                  d«       | j                  «       dk(  sJ ‚y )NrQ  r‰   )Ú
get_offsetÚset_offset_stringrÃ  s    r4   Útest_set_offset_stringrË  8  s@   € ð ×ÑÓ! RÒ'Ð'Ð'Ø×Ñ Ô&Ø×ÑÓ! UÒ*Ð*Ñ*r6   c                  óD  — t        j                  «       \  } }|j                  t        j                  d«      dg¬«       |j                  t        j                  d«      dg¬«       |j                  t        j                  d«      dg¬«       |j                  d¬«       |j                  d¬«       |j                  «        | j                  «        |j                  «       sJ ‚t        |j                  j                  «       t        j                  j                  «      sJ ‚y)	zœ
    Turning on minor gridlines in a multi-Axes Figure
    that contains more than one boxplot and shares the x-axis
    should not raise an exception.
    r"   r   )rn  r   rï   )Úwhichr­   N)r®   r¯   ÚboxplotrN   rP   rò   r±   Údraw_without_renderingÚget_xgridlinesÚ
isinstancer²   Úget_minor_locatorr‰   ÚtickerrÈ   r…  s     r4   Útest_minorticks_on_multi_figrÔ  A  sÎ   € ô �l‰l‹n�G€Cˆà‡J�JŒr�y‰y˜‹}¨¨€JÔ,Ø‡J�JŒr�y‰y˜‹}¨¨€JÔ,Ø‡J�JŒr�y‰y˜‹}¨¨€JÔ,à‡G�G�'€GÔØ‡G�G�'€GÔØ×ÑÔØ×ÑÔ à×ÑÔÐÐÜ�b—h‘h×0Ñ0Ó2´C·J±J×4OÑ4OÔPÐPÑPr6   )CÚ
contextlibr   r”  r  rF  rV   Úpackaging.versionr   r<  ÚnumpyrN   Únumpy.testingr   r   rA   Ú
matplotlibr‰   Úmatplotlib.pyplotÚpyplotr®   Úmatplotlib.tickerrÓ  r,   r   rZ   rv   r¡   r	  rT  rZ  rc  rš  r   r¥  r»  ræ  rY  r{  rƒ  rŠ  rÑ  r  r  r'  rS  rU  ru  rƒ  r†  rŠ  rŒ  r�  r˜  r¤  rS   rT   r¶  Úzerosr»  rˆ  rý   rÀ  rÄ  ÚFuncFormatterÚFixedFormatterrË  rÔ  r@   r6   r4   ú<module>rà     sX  ðÝ "Û Û Û Û 	Ý 4ã ß AÛ ã Ý Ý #÷,,ñ ,,÷^Fñ F÷<8!ñ 8!÷vmHñ mH÷`O7ñ O7÷dñ ÷$ñ $÷"O!ñ O!÷d	 ñ 	 ÷
!ñ 
!÷)8ñ )8÷Xb7ñ b7÷JLñ L÷^!(ñ !(÷H/ñ /÷&0ñ 0÷8Zñ Z÷zo'ñ o'÷d&ñ &÷+ñ +÷&n8ñ n8òb>÷B7ñ B7òJò*ò ;ò;ò;ò;ò$ò$%ðP ‡�×ÑÐ@ð&ó'ñ@ó	'ð@ðB ‡�×Ñ˜Ø	ˆ:ÐØ€B‡H�HˆVÓð!ó ñ óð ð ‡�×Ñ˜¢\Ó2Ø‡�×Ñ�9ÓñFó ó 3ðFò2ð ‡�×Ñ˜Ø€G×ÑÑ/Ó0Ø€G×Ñ˜>Ó*ð',ó -ñ+ó-ð+óQr6   