Ë
    íÍ:j¹<  ã                   óÂ  — d dl Z d dlmZ d dlmZmZmZmZm	Z	m
Z
mZ d dlmZ d dlmZmZmZmZmZmZ d dlmZmZ d dlmZ d dlZd dlmZ d dlZd dlZd„ Z  e«       d„ «       Z!d	„ Z" ed
gdd¬«      d„ «       Z#d„ Z$d„ Z% edgdd¬«      d„ «       Z&d„ Z'd„ Z(d„ Z) edgddd¬«      d„ «       Z*d„ Z+ edgdd¬«      d„ «       Z,d„ Z-d„ Z. G d „ d!«      Z/d"„ Z0d#„ Z1d$„ Z2d%„ Z3d&„ Z4y)'é    N)Ú
AsinhScaleÚAsinhTransformÚ	FuncScaleÚ
LogitScaleÚLogTransformÚInvertedLogTransformÚSymmetricalLogTransform)ÚAsinhLocatorÚAutoLocatorÚLogFormatterSciNotationÚNullFormatterÚNullLocatorÚScalarFormatter)Úcheck_figures_equalÚimage_comparison)ÚIdentityTransform)Úassert_allclosec                  óÎ  — d } t        | d„ d„ f«       t        | d„ d„ f¬«       t        | «       t        | d«       t        | d¬«       t        | d¬	«       t        | «       t        | d
¬«       t        | d¬«       t        | d
dg¬«       t        | d„ d„ f¬«       t        | ¬«       t        | d¬«       t        | d¬«       t        | ¬«       t        | d
¬«       t        | d¬«       t        | d
dg¬«       t        d„ d„ f«       t        d„ d„ f¬«       t        «        t        d¬«       t        d¬	«       t        «        t        d
¬«       t        d¬«       t        d
dg¬«       y )Nc                 ó   — | S ©N© ©Úxs    úp/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/matplotlib/tests/test_scale.pyú<lambda>z.test_optional_axis_signature.<locals>.<lambda>#   s   € ˜q€ ó    c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>#   s   € ¨A€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>$   s   € ¨€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>$   s   € °a€ r   ©Ú	functionsÚclip©ÚnonpositiveT)Úuse_overlineé   )Úlinear_widthé   ©Úbaseé   ©Úsubsc                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>.   s   € ¨a€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>.   s   € ¸1€ r   )Úaxisr!   ©r0   )r0   r$   )r0   r%   ©r0   r'   ©r0   r*   )r0   r-   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>7   s   € ˜€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>7   s   €  a€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>8   s   €  1€ r   c                 ó   — | S r   r   r   s    r   r   z.test_optional_axis_signature.<locals>.<lambda>8   s   € °€ r   )r   r   r   r1   s    r   Útest_optional_axis_signaturer8      s  € ð €Dô ˆd‘[¡+Ð.Ô/Üˆd™{©KÐ8Õ9ÜˆtÔÜˆt�VÔÜˆt Õ(Üˆt $Õ'ÜˆtÔÜˆt !Õ$Üˆt˜!ÕÜˆt˜1˜a˜&Õ!ä�4¡K±Ð#=Õ>Ü�DÕÜ�D fÕ-Ü�D tÕ,Ü�DÕÜ�D qÕ)Ü�D˜qÕ!Ü�D  1˜vÕ&ä‰{™KÐ(Ô)Ü™¡kÐ2Õ3Ü„LÜ˜6Õ"Ü˜DÕ!Ü„LÜ˜AÕÜ�AÕÜ�Q˜�FÖr   c                 óR  — | j                  ddd¬«      }|j                  d«       |j                  d«       |j                  «       }|j	                  «       }|j                  ddd¬«      }|j                  ||¬«       |j                  ddg|d«       |j                  |ddgd«       y )Néz   ÚlogÚsymlog)ÚyscaleÚxscalegš™™™™8@)ÚxlimÚylimÚb)Úadd_subplotÚaxvlineÚaxhlineÚget_xlimÚget_ylimÚsetÚplot)Úfig_testÚfig_refÚax_testr?   r@   Úax_refs         r   Útest_log_scalesrM   B   sœ   € à×"Ñ" 3¨u¸XÐ"ÓF€GØ‡O�O�DÔØ‡O�O�DÔØ×ÑÓ€DØ×ÑÓ€DØ× Ñ  ¨U¸8Ð ÓD€FØ
‡J�J�D˜t€JÔ$Ø
‡K�K��t�˜d CÔ(Ø
‡K�K��t˜T�l CÕ(r   c                  ó*  — t        ddd«      } | j                  «       }t        j                  ddd«      }|j	                  | j	                  |«      «      }t        ||«       t        |«      t        |«      u sJ ‚t        j                  |d<   |j	                  | j	                  |«      «      }t        ||«       t        |«      t        |«      u sJ ‚t        j                  j                  |«      }|j	                  | j	                  |«      «      }t        ||«       t        |«      t        |«      u sJ ‚t        j                  j                  |d<   |j	                  | j	                  |«      «      }t        ||«       t        |«      t        |«      u sJ ‚y )	Né
   r&   é   g      ø¿é   ç      à?é   r(   )r	   ÚinvertedÚnpÚarangeÚtransform_non_affiner   ÚtypeÚnanÚmaÚarrayÚmasked)ÚsltÚsltir   Úouts       r   Útest_symlog_mask_nanr`   O   sJ  € ô " " a¨Ó
+€CØ�<‰<‹>€Dä
�	‰	�$˜˜3Ó€AØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�C˜ÔÜ�‹9œ˜Q›ÑÐÐä�6‰6€A€a�DØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�C˜ÔÜ�‹9œ˜Q›ÑÐÐä
�‰�‰�A‹€AØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�C˜ÔÜ�‹9œ˜Q›ÑÐÐä�5‰5�<‰<€A€a�DØ
×
#Ñ
# C×$<Ñ$<¸QÓ$?Ó
@€CÜ�C˜ÔÜ�‹9œ˜Q›ÑÐÑr   zlogit_scales.pngTÚ_classic_test)Úremove_textÚstylec                  ó¨  — t        j                  «       \  } }t        j                  g d¢«      }d|z  }|j	                  ||«       |j                  d«       |j                  d«       |j                  | j                  j                  «       «      }t        j                  |j                  «      sJ ‚t        j                  |j                  «      sJ ‚y )N)gü©ñÒMbP?gú~j¼t“h?ç{®Gáz„?g¸…ëQ¸ž?gš™™™™™¹?çš™™™™™É?g333333Ó?gš™™™™™Ù?rR   g333333ã?gffffffæ?gš™™™™™é?gÍÌÌÌÌÌì?g
×£p=
ï?g®Gáz®ï?g�•C‹lçï?g+‡ÙÎ÷ï?ç      ð?ÚlogitT)ÚpltÚsubplotsrU   r[   rH   Ú
set_xscaleÚgridÚget_tightbboxÚcanvasÚget_rendererÚisfiniteÚx0Úy0)ÚfigÚaxr   ÚyÚbboxs        r   Útest_logit_scalesrw   j   sž   € ä�l‰l‹n�G€Cˆô 	�‰ò @ó 	A€Aàˆa‰€Aà‡G�GˆAˆq„MØ‡M�M�'ÔØ‡G�GˆD„MØ×Ñ˜CŸJ™J×3Ñ3Ó5Ó6€DÜ�;‰;�t—w‘wÔÐÐÜ�;‰;�t—w‘wÔÐÑr   c                  óœ  — t        j                  d«      \  } }t        j                  d«      }t        j                  d«      dz
  }|j	                  ||«       t        j                  «       }| j                  |d¬«       t        j                  «       }| j                  |d¬«       t        j                  «       }| j                  |d¬«       y)zIssue #1799rP   rO   Úpdf)ÚformatÚepsÚsvgN)ri   rj   rU   rV   ÚscatterÚioÚBytesIOÚsavefig)rs   rt   r   ru   Úbufs        r   Útest_log_scatterr‚   {   s‘   € ä�l‰l˜1‹o�G€Cˆä
�	‰	�"‹€AÜ
�	‰	�"‹˜Ñ€Aà‡J�Jˆq�!Ôä
�*‰*‹,€CØ‡K�K�˜E€KÔ"ä
�*‰*‹,€CØ‡K�K�˜E€KÔ"ä
�*‰*‹,€CØ‡K�K�˜E€KÕ"r   c                  ó¶   — t        j                  «       \  } }|j                  dt        j                  g d¢«      ¬«       | j
                  j                  «        y )Nr;   )r&   r(   rS   r,   )ri   rj   Ú
set_yscalerU   r[   rn   Údraw©rs   rt   s     r   Útest_logscale_subsr‡   Ž   s8   € Ü�l‰l‹n�G€CˆØ‡M�M�%œbŸh™h¢yÓ1€MÔ2à‡J�J‡O�OÕr   zlogscale_mask.pngc            	      ó:  — t        j                  ddd«      } t        j                  «       \  }}|j	                  t        j
                  | dz   «      «       |j                  j                  «        |j                  ddt        j                  ddd«      z  ¬	«       y )
Nr   é2   ié  r&   r;   ç      $@iÔþÿÿé   )r=   Úyticks)
rU   Úlinspaceri   rj   rH   Úexprn   r…   rG   rV   )Úxsrs   rt   s      r   Útest_logscale_maskr�   •   su   € ô 
�‰�Q˜˜DÓ	!€Bä�l‰l‹n�G€CˆØ‡G�GŒB�F‰F�B˜‘E�6‹NÔØ‡J�J‡O�OÔØ‡F�F�%Ø”r—y‘y  q¨"Ó-Ñ-ð õ /r   c                  óÂ   — t        j                  «       \  } }dD ]7  }t        j                  t        «      5  |j                  |d¬«       d d d «       Œ9 y # 1 sw Y   ŒDxY w)N)Úlinearr;   r<   Úmask)Úfoo)ri   rj   ÚpytestÚraisesÚ	TypeErrorr„   ©rs   rt   Úscales      r   Útest_extra_kwargs_raiserš   ¢   sV   € Ü�l‰l‹n�G€Cˆà,ò -ˆÜ�]‰]œ9Ó%ñ 	-Ø�M‰M˜% VˆMÔ,÷	-ð 	-ñ-÷	-ð 	-ús   ¶AÁA	c                  ó8  — t        j                  «       \  } }|j                  d«       |j                  |j                  j                  «       z   j                  «       }t        d¬«      j                  «       }t        |t        «      sJ ‚|j                  dk(  sJ ‚y )Nr;   r&   r)   )
ri   rj   r„   Ú	transAxesÚ	transDatarT   r   Ú
isinstancer   r*   )rs   rt   ÚtformÚinverted_transforms       r   Útest_logscale_invert_transformr¡   ª   s}   € Ü�l‰l‹n�G€CˆØ‡M�M�%Ôà�\‰\˜BŸL™L×1Ñ1Ó3Ñ3×=Ñ=Ó?€Eô &¨1Ô-×6Ñ6Ó8ÐÜÐ(Ô*>Ô?Ð?Ð?Ø×"Ñ" aÒ'Ð'Ñ'r   c                  óª   — t        j                  «       \  } }|j                  d«       t        |j                  «       t        t        dd¬«      «       y )Nr;   rO   r"   r#   )ri   rj   r„   Úreprr�   r   r†   s     r   Útest_logscale_transform_reprr¤   ¶   s8   € Ü�l‰l‹n�G€CˆØ‡M�M�%ÔÜˆ�‰ÔÜŒ�b fÔ	-Õ.r   zlogscale_nonpos_values.pngg{®Gáz”?Úmpl20)rb   Útolrc   c                  ó`  — t         j                  j                  d«       t         j                  j                  t	        d«      ¬«      } t        j                  dd«      \  }\  \  }}\  }}|j                  | dd¬«       |j                  d«       |j                  | dd¬«       |j                  dd	¬
«       t        j                  ddd«      }t        j                  | «      }dd|z
  z  t        j                  d|z  «      z  t        j                  | «      z  }|j                  |||z
  ||z   «       |j                  d«       t        j                  dd«      }	|	dz  }
|	dz  }|j                  |	|
|¬«       |j                  d«       |j                  d«       |j!                  g d¢«       y )Ni!N,g     @�@)Úsizer&   )éûÿÿÿrQ   rO   )ÚrangeÚbinsr;   r“   r#   r   re   rf   rQ   éÿÿÿÿrP   r(   )Úyerr)re   rP   g      Y@)rU   ÚrandomÚseedÚnormalÚintri   rj   Úhistr„   rV   rŽ   ÚcosÚfill_betweenÚlogspaceÚerrorbarrk   Ú
set_yticks)r�   rs   Úax1Úax2Úax3Úax4ÚxdataÚydataÚedatar   ru   r­   s               r   Útest_logscale_nonpos_valuesr¿   ½   s]  € ô ‡I�I‡N�N�8ÔÜ	�‰×	Ñ	œs 3›xÐ	Ó	(€BÜ$'§L¡L°°AÓ$6Ñ!€CÑ	!‰*ˆ3�‘j�s˜CØ‡H�HˆR�w R€HÔ(Ø‡N�N�5ÔØ‡H�HˆR�w R€HÔ(Ø‡N�N�5 f€NÔ-ä�I‰I�a˜˜TÓ"€EÜ�F‰F�E�6‹N€EØ��E‘‰Nœ2Ÿ6™6 ! E¡'›?Ñ*¬2¯6©6°5°&«>Ñ9€Eà×Ñ�U˜E E™M¨5°5©=Ô9Ø‡N�N�5Ôä
�‰�B˜Ó€AØ	ˆQ‰€AØˆa‰4€DØ‡L�L��A˜D€LÔ!à‡N�N�5ÔØ‡N�N�5ÔØ‡N�N’?Õ#r   c                  ó¬  — t        j                  «       \  } }|j                  t        dd«      t        dd«      «       |j	                  d«       |j                  «       }t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       |k(  sJ ‚t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       |k(  sJ ‚|j                  d«       |j                  «       }t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       |k(  sJ ‚t        j                  t        «      5  |j                  d¬«       d d d «       |j                  «       |k(  sJ ‚y # 1 sw Y   �ŒxY w# 1 sw Y   ŒßxY w# 1 sw Y   Œ�xY w# 1 sw Y   ŒDxY w)	Nr   rS   r;   )Úleftr¬   )Úright)Úbottom)Útop)ri   rj   r}   rª   rk   rE   r•   ÚwarnsÚUserWarningÚset_xlimr„   rF   Úset_ylim)rs   rt   Úoriginal_xlimÚoriginal_ylims       r   Útest_invalid_log_limsrË   Ù   se  € ä�l‰l‹n�G€CˆØ‡J�JŒu�Q˜‹{œE ! Q›KÔ(à‡M�M�%ÔØ—K‘K“M€MÜ	�‰”kÓ	"ñ Ø
�‰˜ˆÔ÷à�;‰;‹=˜MÒ)Ð)Ð)Ü	�‰”kÓ	"ñ Ø
�‰˜"ˆÔ÷à�;‰;‹=˜MÒ)Ð)Ð)à‡M�M�%ÔØ—K‘K“M€MÜ	�‰”kÓ	"ñ Ø
�‰˜1ˆÔ÷à�;‰;‹=˜MÒ)Ð)Ð)Ü	�‰”kÓ	"ñ Ø
�‰˜ˆÔ÷à�;‰;‹=˜MÒ)Ð)Ñ)÷ñ ú÷ð ú÷ð ú÷ð ús0   Á8F%ÃF2Ä+F>Å4G
Æ%F/Æ2F;Æ>GÇ
Gzfunction_scales.pngc                  óÜ   — d„ } d„ }t        j                  «       \  }}t        j                  dd«      }|j	                  ||«       |j                  d|| f¬«       |j                  dd«       y )Nc                 ó   — | dz  S )Nr&   r   r   s    r   Úinversez$test_function_scale.<locals>.inverseó   s   € Ø�!‰tˆr   c                 ó   — | dz  S )NrR   r   r   s    r   Úforwardz$test_function_scale.<locals>.forwardö   s   € Ø�3‰xˆr   rP   iè  Úfunctionr    )ri   rj   rU   rV   rH   rk   rÇ   )rÎ   rÐ   rs   rt   r   s        r   Útest_function_scalerÒ   ñ   s]   € òòô �l‰l‹n�G€Cˆä
�	‰	�!�TÓ€Aà‡G�GˆAˆq„MØ‡M�M�*¨°'Ð(:€MÔ;Ø‡K�K��4Õr   c                  óJ  — t        j                  «       \  } }t        j                  d ¬«      }|j	                  |«       t        j                  d ¬«      }|j                  |«       |j                  j                  «       dk(  sJ ‚|j                  j                  «       dk(  sJ ‚y )Nr1   r;   )	ri   rj   ÚmscaleÚLogScalerk   r„   ÚxaxisÚ	get_scaleÚyaxisr˜   s      r   Útest_pass_scalerÙ     s{   € ä�l‰l‹n�G€CˆÜ�O‰O Ô&€EØ‡M�M�%ÔÜ�O‰O Ô&€EØ‡M�M�%ÔØ�8‰8×ÑÓ 5Ò(Ð(Ð(Ø�8‰8×ÑÓ 5Ò(Ð(Ñ(r   c                  óú   — t        j                  dd¬«      } t        j                  | «      }t	        | j                  «       «      t	        |j                  «       «      k(  sJ ‚| j                  |j                  usJ ‚y )Nr   rO   r3   )rÔ   rÕ   ÚcopyÚdeepcopyÚstrÚget_transformÚ
_transform)ÚscÚsc2s     r   Útest_scale_deepcopyrâ     s`   € Ü	�‰˜c¨Ô	+€BÜ
�-‰-˜Ó
€CÜˆr×ÑÓ!Ó"¤c¨#×*;Ñ*;Ó*=Ó&>Ò>Ð>Ð>Ø�=‰= §¡Ñ.Ð.Ñ.r   c                   ó*   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestAsinhScalec                 óT  — d}t        j                  ddd«      }t        |«      }|j                  «       }|j                  «       }|j	                  |«      }|j	                  |«      }t        ||«       |j	                  |«      }t        ||t        j                  ||z  «      z  «       y )Ng      1@iÎÿÿÿr‰   éd   )rU   r�   r   rT   rW   r   Úarcsinh)	ÚselfÚa0ÚarÐ   rÎ   ÚinvinvÚ	a_forwardÚ
a_invertedÚa_invinvs	            r   Útest_transformszTestAsinhScale.test_transforms  s•   € ØˆÜ�K‰K˜˜R Ó%ˆä  Ó$ˆØ×"Ñ"Ó$ˆØ×!Ñ!Ó#ˆà×0Ñ0°Ó3ˆ	Ø×1Ñ1°)Ó<ˆ
Ü˜
 AÔ&à×.Ñ.¨qÓ1ˆÜ˜ "¤r§z¡z°!°b±&Ó'9Ñ"9Õ:r   c                 ó,  — t        j                  «       \  }}t        d d¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚|j                  «       }t        |t        «      sJ ‚|j                  |j                  k(  sJ ‚y )Ng      7@r2   é   rO   )r&   rQ   )	ri   rj   r   r'   Ú_baseÚ_subsrÞ   rž   r   )rè   rs   rt   ÚsÚtxs        r   Ú	test_initzTestAsinhScale.test_init$  sƒ   € Ü—,‘,“.‰ˆˆRä˜D¨tÔ4ˆØ�~‰~ Ò#Ð#Ð#Ø�w‰w˜"Š}Ðˆ}Ø�w‰w˜&Ò Ð Ð à�_‰_ÓˆÜ˜"œnÔ-Ð-Ð-Ø�‰ !§.¡.Ò0Ð0Ñ0r   c                 óð   — t        j                  «       \  }}t        d d¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚t        d dd¬«      }|j                  dk(  sJ ‚|j                  dk(  sJ ‚y )Nr(   r3   )r&   é   )r&   rS   )r0   r*   r-   )ri   rj   r   rò   ró   )rè   rs   rt   Ús3Ús7s        r   Útest_base_initzTestAsinhScale.test_base_init0  so   € Ü—,‘,“.‰ˆˆRä˜T¨Ô*ˆØ�x‰x˜1Š}Ðˆ}Ø�x‰x˜4ÒÐÐä˜T¨°Ô7ˆØ�x‰x˜1Š}Ðˆ}Ø�x‰x˜6Ò!Ð!Ñ!r   c                 ó¤  —  G d„ d«      } |«       }t        |d¬«      }|j                  |«       t        |j                  d   t        «      sJ ‚t        |j                  d   t
        «      sJ ‚ |«       }t        |d¬«      }|j                  |«       t        |j                  d   t        «      sJ ‚t        |j                  d   t        «      sJ ‚y )Nc                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ú-TestAsinhScale.test_fmtloc.<locals>.DummyAxisc                 ó   — i | _         y r   ©Úfields©rè   s    r   Ú__init__z6TestAsinhScale.test_fmtloc.<locals>.DummyAxis.__init__=  s	   € Ø �•r   c                 ó<   —  | j                   j                  di |¤Ž y )Nr   )r  Úupdate)rè   Úkwargss     r   rG   z1TestAsinhScale.test_fmtloc.<locals>.DummyAxis.set?  s   € Ø"�—‘×"Ñ"Ñ, VÓ,r   c                 ó"   — || j                   d<   y )NÚmajor_formatterr   )rè   Úfs     r   Úset_major_formatterzATestAsinhScale.test_fmtloc.<locals>.DummyAxis.set_major_formatterA  s   € Ø12�—‘Ð-Ò.r   N)Ú__name__Ú
__module__Ú__qualname__r  rG   r
  r   r   r   Ú	DummyAxisrþ   <  s   „ ò!ò-ó3r   r  r   r3   Úmajor_locatorr  rQ   )r   Ú#set_default_locators_and_formattersrž   r  r
   rÝ   r   )rè   r  Úax0Ús0Úax5rú   s         r   Útest_fmtloczTestAsinhScale.test_fmtloc;  s½   € ÷	3ñ 	3ñ ‹kˆÜ˜S qÔ)ˆØ
×.Ñ.¨sÔ3Ü˜#Ÿ*™* _Ñ5´|ÔDÐDÐDÜ˜#Ÿ*™*Ð%6Ñ7¼Ô=Ð=Ð=á‹kˆÜ˜S qÔ)ˆØ
×.Ñ.¨sÔ3Ü˜#Ÿ*™* _Ñ5´|ÔDÐDÐDÜ˜#Ÿ*™*Ð%6Ñ7Ü1ô3ð 	3ñ 3r   c                 óP  — t        j                  «       \  }}t        j                  t        «      5  t        d d¬«       d d d «       t        j                  t        «      5  t        d d¬«       d d d «       t        d ¬«      }t        d d¬«      }y # 1 sw Y   ŒRxY w# 1 sw Y   Œ/xY w)Nr   r2   r¬   r1   g      @)ri   rj   r•   r–   Ú
ValueErrorr   )rè   rs   rt   r  Ús1s        r   Útest_bad_scalezTestAsinhScale.test_bad_scaleQ  s}   € Ü—,‘,“.‰ˆˆRä�]‰]œ:Ó&ñ 	2Ü˜D¨qÕ1÷	2ä�]‰]œ:Ó&ñ 	3Ü˜D¨rÕ2÷	3ä˜TÔ$ˆÜ˜T°Ô4‰÷	2ð 	2ú÷	3ð 	3ús   ±BÁ BÂBÂB%N)r  r  r  rï   rö   rû   r  r  r   r   r   rä   rä     s   „ ò;ò
1ò	"ò3ó,5r   rä   c                  ó¶  ‡—  G d„ dt         «      Š G ˆfd„dt        j                  «      } 	 t        j                  | «       t	        j
                  «       \  }}|j                  d«       t        |j                  j                  «       ‰«      sJ ‚	 t        j                  d= t        j                  d= y# t        j                  d= t        j                  d= w xY w)z[
    Test that one can register and use custom scales that don't take an *axis* param.
    c                   ó   — e Zd Zy)ú7test_custom_scale_without_axis.<locals>.CustomTransformN©r  r  r  r   r   r   ÚCustomTransformr  `  ó   „ Ør   r  c                   ó(   •— e Zd ZdZˆ fd„Zd„ Zd„ Zy)ú3test_custom_scale_without_axis.<locals>.CustomScaleÚcustomc                 ó   •—  ‰«       | _         y r   ©rß   )rè   r  s    €r   r  z<test_custom_scale_without_axis.<locals>.CustomScale.__init__g  ó   ø€ Ù-Ó/ˆD�Or   c                 ó   — | j                   S r   r#  r  s    r   rÞ   zAtest_custom_scale_without_axis.<locals>.CustomScale.get_transformj  ó   € Ø—?‘?Ð"r   c                 óÌ   — |j                  t        «       «       |j                  t        «       «       |j	                  t        «       «       |j                  t        «       «       y r   ©Úset_major_locatorr   r
  r   Úset_minor_locatorr   Úset_minor_formatterr   ©rè   r0   s     r   r  zWtest_custom_scale_without_axis.<locals>.CustomScale.set_default_locators_and_formattersm  óC   € Ø×"Ñ"¤;£=Ô1Ø×$Ñ$¤_Ó%6Ô7Ø×"Ñ"¤;£=Ô1Ø×$Ñ$¤]£_Õ5r   N©r  r  r  Únamer  rÞ   r  ©r  s   €r   ÚCustomScaler   c  ó   ø„ Øˆô	0ò	#ó	6r   r1  r!  N)r   rÔ   Ú	ScaleBaseÚregister_scaleri   rj   rk   rž   rÖ   rÞ   Ú_scale_mappingÚ_scale_has_axis_parameter©r1  rs   rt   r  s      @r   Útest_custom_scale_without_axisr8  \  s«   ø€ ôÔ+ô ö6”f×&Ñ&ô 6ð 7Ü×Ñ˜kÔ*Ü—,‘,“.‰ˆˆRØ
�‰�hÔÜ˜"Ÿ(™(×0Ñ0Ó2°OÔDÐDÑDô ×!Ñ! (Ð+Ü×,Ñ,¨XÑ6øô ×!Ñ! (Ð+Ü×,Ñ,¨XÑ6ús   ­A#B4 Â4$Cc                  ó  ‡—  G d„ dt         «      Š G ˆfd„dt        j                  «      } 	 t        j                  t
        d¬«      5  t        j                  | «       ddd«       t        j                  «       \  }}|j                  d«       t        |j                  j                  «       ‰«      sJ ‚	 t        j                  d= t        j                  d= y# 1 sw Y   Œ{xY w# t        j                  d= t        j                  d= w xY w)	z™
    Test that one can still register and use custom scales with an *axis*
    parameter, but that registering issues a pending-deprecation warning.
    c                   ó   — e Zd Zy)ú4test_custom_scale_with_axis.<locals>.CustomTransformNr  r   r   r   r  r;  ƒ  r  r   r  c                   ó(   •— e Zd ZdZˆ fd„Zd„ Zd„ Zy)ú0test_custom_scale_with_axis.<locals>.CustomScaler!  c                 ó   •—  ‰«       | _         y r   r#  )rè   r0   r  s     €r   r  z9test_custom_scale_with_axis.<locals>.CustomScale.__init__Š  r$  r   c                 ó   — | j                   S r   r#  r  s    r   rÞ   z>test_custom_scale_with_axis.<locals>.CustomScale.get_transform�  r&  r   c                 óÌ   — |j                  t        «       «       |j                  t        «       «       |j	                  t        «       «       |j                  t        «       «       y r   r(  r,  s     r   r  zTtest_custom_scale_with_axis.<locals>.CustomScale.set_default_locators_and_formatters�  r-  r   Nr.  r0  s   €r   r1  r=  †  r2  r   r1  z)'axis' parameter .* is pending-deprecated)ÚmatchNr!  )r   rÔ   r3  r•   rÅ   ÚPendingDeprecationWarningr4  ri   rj   rk   rž   rÖ   rÞ   r5  r6  r7  s      @r   Útest_custom_scale_with_axisrC  ~  sÖ   ø€ ô
Ô+ô ö6”f×&Ñ&ô 6ð 7Ü�\‰\Ü)ØBôDñ 	/ô ×!Ñ! +Ô.÷	/ô —,‘,“.‰ˆˆRØ
�‰�hÔÜ˜"Ÿ(™(×0Ñ0Ó2°OÔDÐDÑDô ×!Ñ! (Ð+Ü×,Ñ,¨XÑ6÷	/ð 	/ûô ×!Ñ! (Ð+Ü×,Ñ,¨XÑ6ús$   ­C$ ÁCÁAC$ ÃC!ÃC$ Ã$$Dc                  óä  — ddddt         j                  dfdt         j                  dfdddd	d
t         j                  dfd
t         j                  dfddddddt         j                  dfdt         j                  dfddddt         j                  dfdt         j                  dfg} | D ]J  \  }}}t        j                  |   } |d ¬«      }|j                  |«      }||u rŒ9J d|› d|› d|› d|› �«       ‚ y )N)r’   rŠ   T)r’   ç      $ÀT)r’   ç        Tr’   F)r;   rg   T)r;   gYóøÂn¥T)r;   rF  F)r;   ç      ð¿Fr;   )rh   rR   T)rh   rF  F)rh   rg   F)rh   gš™™™™™¹¿F)rh   gš™™™™™ñ?Frh   )r<   rŠ   T)r<   rE  T)r<   rF  Tr<   r1   zFailed z.val_in_range(z).Expected z, got )rU   ÚinfrY   rÔ   r5  Úval_in_range)Ú
test_casesr/  ÚvalÚexpectedÚ	scale_clsrô   Úresults          r   Útest_val_in_rangerO  ¤  s&  € ð 	ØØØ	”2—6‘6˜5Ð!Ø	”2—6‘6˜5Ð!ð 	ØØØØ	”—‘˜ÐØ	”—‘˜Ðð 	ØØØØØ	”"—&‘&˜%Ð Ø	”"—&‘&˜%Ð ð 	ØØØ	”2—6‘6˜5Ð!Ø	”2—6‘6˜5Ð!ð? €JðD  *ò 
Ñˆˆc�8Ü×)Ñ)¨$Ñ/ˆ	Ù˜4Ô ˆà—‘ Ó$ˆØ˜Ò!ð 	
Ø�d�V˜>¨#¨ð /Ø �z ¨ xð1ó	
Ð!ñ
r   c                  óX  — t        j                  d ¬«      } | j                  d«      du sJ ‚| j                  d«      du sJ ‚| j                  t        j                  «      du sJ ‚| j                  t        j
                  «      du sJ ‚| j                  t        j
                   «      du sJ ‚y )Nr1   rg   Tg      ÀF)rÔ   r3  rI  rU   rY   rH  )rô   s    r   Útest_val_in_range_base_fallbackrQ  Ó  s™   € ô 	×Ñ˜dÔ#€Að �>‰>˜#Ó $Ñ&Ð&Ð&Ø�>‰>˜$Ó 4Ñ'Ð'Ð'ð �>‰>œ"Ÿ&™&Ó! UÑ*Ð*Ð*Ø�>‰>œ"Ÿ&™&Ó! UÑ*Ð*Ð*Ø�>‰>œ2Ÿ6™6˜'Ó" eÑ+Ð+Ñ+r   c                  ó@  — t        j                  dddt         j                  t         j                  dg«      } g d¢g d¢g d¢g d¢g d¢dœ}|j	                  «       D ]M  \  }}t        j                  |   d ¬«      }t         j                  j                  |j                  | «      |«       ŒO t        j                  d	   d ¬«      j                  t        j                  d
dgdt         j                  gg«      «      }t         j                  j                  |ddgddgg«       y )NrR   rG  rF  g      Ð?)TTTFFT)TFFFFT)r’   r;   r<   Úasinhrh   r1   r;   rg   TF)
rU   r[   rY   rH  ÚitemsrÔ   r5  ÚtestingÚassert_array_equalrI  )ÚarrÚcasesr/  rL  rô   r_   s         r   Útest_val_in_range_arrayrY  â  sê   € ä
�(‰(�C˜˜s¤B§F¡F¬B¯F©F°DÐ9Ó
:€Câ8Ú:Ú8Ú8Ú:ñ€Eð  Ÿ+™+›-ò E‰ˆˆhÜ×!Ñ! $Ñ'¨TÔ2ˆÜ
�
‰
×%Ñ% a§n¡n°SÓ&9¸8ÕDðEô
 ×
Ñ
 Ñ
&¨DÔ
1×
>Ñ
>Ü
�‰�3˜�+ ¤R§V¡V˜}Ð-Ó.ó0€Cä‡J�J×!Ñ! #¨¨u¨¸¸e°}Ð'EÕFr   )5rÛ   Úmatplotlib.pyplotÚpyplotri   Úmatplotlib.scaler   r   r   r   r   r   r	   r™   rÔ   Úmatplotlib.tickerr
   r   r   r   r   r   Úmatplotlib.testing.decoratorsr   r   Úmatplotlib.transformsr   ÚnumpyrU   Únumpy.testingr   r~   r•   r8   rM   r`   rw   r‚   r‡   r�   rš   r¡   r¤   r¿   rË   rÒ   rÙ   râ   rä   r8  rC  rO  rQ  rY  r   r   r   ú<module>rb     s>  ðÛ å ÷÷ ñ õ
 "÷÷ ÷ PÝ 3ã Ý )Û 	Û ò(ñV Óñ	)ó ð	)ò ñ6 Ð%Ð&°DÀÔPñ ó Qð ò #ò&ñ Ð&Ð'°TÀÔQñ	/ó Rð	/ò-ò	(ò/ñ Ð/Ð0Ø"¨°Gô=ñ$ó=ð$ò4*ñ0 Ð(Ð)°tÀ7ÔKñó Lðò )ò/÷E5ñ E5òP7òD#7òL,
ò^,óGr   