§
    ‡Ûgç[  ã                   ó"  — d dl Z d dlZd dlmZ d dlZd dlZd dlZd dlmZ d dl	m	Z	m
Z
 d dlZd dlZd dlmZmZ d dlmZ d dlmZ d dlZd dlmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d„ Z(d„ Z)d	„ Z*d
„ Z+d„ Z,dddi ej-        d¦  «        fddddœ ej-        d¦  «        fddddœ ej-        d¦  «        fdddi ej-        d¦  «        fddddœ ej-        d¦  «        fddddœ ej-        d¦  «        fgZ.g d¢Z/ej0         1                    de.e/¬¦  «        d„ ¦   «         Z2d„ Z3d„ Z4d„ Z5d„ Z6d„ Z7d„ Z8ej0         1                    d e8d¦  «        ¦  «        d „ ¦   «         Z9ej0         1                    d! e8d"¦  «        ¦  «        d#„ ¦   «         Z:ej0         1                    d$d%d&e;fd'd( ej<        d)¦  «        d)fd*d+e;fd)ge;fg¦  «        d,„ ¦   «         Z=ej0         1                    d-d.d/e;fd'd( ej<        d)¦  «        d)fd*d+e;fd)ge;fg¦  «        d0„ ¦   «         Z>d1„ Z?d2„ Z@d3„ ZAej0         B                    ejC        d4k    d5¬6¦  «        d7„ ¦   «         ZDej0         B                    ejC        d4k    o ejE        ¦   «          d8¬6¦  «        d9„ ¦   «         ZFd:„ ZGd;„ ZHdS )<é    N)ÚPath)Úmock)ÚcyclerÚCycler)Ú_apiÚ_c_internal_utils)Úvalidate_boolÚvalidate_colorÚvalidate_colorlistÚ_validate_color_or_linecolorÚvalidate_cyclerÚvalidate_floatÚvalidate_fontstretchÚvalidate_fontweightÚvalidate_hatchÚvalidate_hist_binsÚvalidate_intÚvalidate_markeveryÚvalidate_stringlistÚ_validate_linestyleÚ_listify_validatorc                 óø  — t          j        dd¬¦  «         t          j        dd¬¦  «         t           j        d         }t           j        d         }t          | ¦  «        d	z  }|                     d
d¬¦  «         t          j        d| i¬¦  «        5  t           j        d         | k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t           j        d         |k    sJ ‚t          j        |¬¦  «        5  t           j        d         dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t           j        d         |k    sJ ‚t          j        |ddi¬¦  «        5  t           j        d         dk    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t           j        d         |k    sJ ‚t          j        ddi¦  «        d„ ¦   «         } |¦   «           |¦   «          t          j        |¦  «         t           j        d         dk    sJ ‚d S )NÚtextF)ÚusetexÚlinesé   )Ú	linewidthútext.usetexúlines.linewidthútest_rcparams.rczlines.linewidth: 33úutf-8©Úencoding©Úrc)Úfnameé!   é,   )r&   r%   c                  ó6   — t           j        d         dk    sJ ‚d S )Nr   r(   ©ÚmplÚrcParams© ó    úT/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_rcparams.pyÚfuncztest_rcparams.<locals>.func=   s!   € åŒ|Ð-Ô.°"Ò4Ð4Ð4Ð4Ð4Ð4r.   )r+   r%   r,   r   Ú
write_textÚ
rc_contextÚrc_file)Útmpdirr   r   Úrcpathr0   s        r/   Útest_rcparamsr6   #   sÑ  € Ý„Fˆ6˜%Ð Ñ Ô Ð Ý„Fˆ7˜bÐ!Ñ!Ô!Ð!åŒ\˜-Ô(€FÝ”Ð.Ô/€Iå�&‰\Œ\Ð.Ñ.€FØ
×ÒÐ+°gÐÑ>Ô>Ð>õ 
Œ˜M¨v¨:Ð6Ð	7Ñ	7Ô	7ð ;ð ;ÝŒ|˜MÔ*°6¨zÒ:Ð:Ð:Ð:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;åŒ<˜Ô&¨&Ò0Ð0Ð0Ð0õ 
Œ˜fÐ	%Ñ	%Ô	%ð 5ð 5ÝŒ|Ð-Ô.°"Ò4Ð4Ð4Ð4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5åŒ<Ð)Ô*¨iÒ7Ð7Ð7Ð7õ 
Œ˜fÐ*;¸RÐ)@Ð	AÑ	AÔ	Að 5ð 5ÝŒ|Ð-Ô.°"Ò4Ð4Ð4Ð4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5åŒ<Ð)Ô*¨iÒ7Ð7Ð7Ð7õ 	„^Ð&¨Ð+Ñ,Ô,ð5ð 5ñ -Ô,ð5ð 	€D�F„F€FØ€D�F„F€Fõ „K�ÑÔÐÝŒ<Ð)Ô*¨bÒ0Ð0Ð0Ð0Ð0Ð0s6   ÂB9Â9B=Ã B=Ã1DÄDÄDÅE8Å8E<Å?E<c                  ó†  — t          j        g d¢ddddœ¦  «        } d                     ¦   «         }|t          | ¦  «        k    sJ ‚d                     ¦   «         }|t	          | ¦  «        k    sJ ‚dd	gt          |                      d
¦  «        ¦  «        k    sJ ‚dgt          |                      d¦  «        ¦  «        k    sJ ‚d S )N)zApple ChanceryÚTextilezZapf ChanceryÚcursivez
sans-serifÚnormalé   )úfont.cursiveúfont.familyzfont.weightú	font.sizea  
RcParams({'font.cursive': ['Apple Chancery',
                           'Textile',
                           'Zapf Chancery',
                           'cursive'],
          'font.family': ['sans-serif'],
          'font.size': 12.0,
          'font.weight': 'normal'})zˆ
font.cursive: ['Apple Chancery', 'Textile', 'Zapf Chancery', 'cursive']
font.family: ['sans-serif']
font.size: 12.0
font.weight: normalr<   r>   zi[vz]r=   Úfamily)r+   ÚRcParamsÚlstripÚreprÚstrÚsortedÚfind_allÚlist)r%   Úexpected_reprÚexpected_strs      r/   Útest_RcParams_classrI   I   sì   € Ý	Œð (3ð (3ð (3ð '3Ø&.Ø$&ð(ð (ñ 
)ô 
)€Bð'÷ (.¢v¡x¤xð ð �D ™HœHÒ$Ð$Ð$Ð$ð÷ ’v‘x”xð	 ð �3˜r™7œ7Ò"Ð"Ð"Ð"ð ˜KÐ(­F°2·;²;¸wÑ3GÔ3GÑ,HÔ,HÒHÐHÐHÐHØˆ?�d 2§;¢;¨xÑ#8Ô#8Ñ9Ô9Ò9Ð9Ð9Ð9Ð9Ð9r.   c                  ó.  — t          j        ddi¦  «        } ddi}t          j        t          ¦  «        5  t          j        t          d¬¦  «        5  |                      |¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Núfigure.figsize)ç      @é*   ©rL   rM   é   Úvalidate©Úmatch)r+   r@   ÚpytestÚraisesÚ
ValueErrorÚwarnsÚUserWarningÚupdate)r%   Úbad_dicts     r/   Útest_rcparams_updaterZ   j   s  € Ý	ŒÐ'¨Ð3Ñ	4Ô	4€BØ  ,Ð/€Hå	Œ•zÑ	"Ô	"ð ð Ý	Œ•k¨Ð	4Ñ	4Ô	4ðð à
�	Š	�(ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s5   ´B
ÁA2Á&B
Á2A6	Á6B
Á9A6	Á:B
Â
BÂBc                  óü   — t          j        t          ¦  «        5  t          j        t          d¬¦  «        5  t          j        ddi¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )NrP   rQ   rK   rN   )rS   rT   rU   rV   rW   r+   r@   r-   r.   r/   Útest_rcparams_initr\   s   sö   € Ý	Œ•zÑ	"Ô	"ð 7ð 7Ý	Œ•k¨Ð	4Ñ	4Ô	4ð7ð 7åŒÐ&¨Ð5Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 7ð 7s4   šA1¶AÁA1ÁA	ÁA1Á A	Á!A1Á1A5Á8A5c                  ó  — t          j        ¦   «         5  t          j        ¦   «         5  t          j                             ¦   «         } | D ]}| |         t          j        |<   Œ	 d d d ¦  «         n# 1 swxY w Y   t          j        ¦   «         5  t          j        t          j        ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          j        ¦   «         5  dt          j        d<   d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )NTzsvg.fonttype)r   Ú'suppress_matplotlib_deprecation_warningr+   r2   r,   ÚcopyÚdeepcopyrS   rT   rU   r	   )Ú_copyÚkeys     r/   Útest_Bug_2543rc   y   sÔ  € õ 
Ô	5Ñ	7Ô	7ð (ð (ÝŒ^ÑÔð 	/ð 	/Ý”L×%Ò%Ñ'Ô'ˆEØð /ð /�Ø$)¨#¤J•”˜SÑ!Ð!ð/ð	/ð 	/ð 	/ñ 	/ô 	/ð 	/ð 	/ð 	/ð 	/ð 	/ð 	/øøøð 	/ð 	/ð 	/ð 	/õ Œ^ÑÔð 	(ð 	(ÝŒM�#œ,Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ 
Œ•zÑ	"Ô	"ð ð Ý�dÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å	Œ•zÑ	"Ô	"ð 0ð 0ÝŒ^ÑÔð 	0ð 	0Ø+/�CŒL˜Ñ(ð	0ð 	0ð 	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð 	0ð 	0ð 	0øøøð 	0ð 	0ð 	0ð 	0ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0s    ”C¨9A.Á"CÁ.A2	Á2CÁ5A2	Á6CÂB7Â+CÂ7B;	Â;CÂ>B;	Â?CÃCÃCÃ2DÄDÄDÄ2E:ÅE"ÅE:Å"E&	Å&E:Å)E&	Å*E:Å:E>ÆE>ÚfaceÚcolorÚrÚinherit)re   zaxes.facecolorÚgÚedge)re   úaxes.edgecolor)zsame facecolorzinherited facecolorúdifferent facecolorzsame edgecolorzinherited edgecolorrk   zcolor_type, param_dict, target)Úidsc                 óˆ  — |                      d¦  «        |d| › d�<   d| › d�}t          j        |¦  «        5  t          j        ¦   «         \  }}|                     t          d¦  «        d¬¦  «         |                     ¦   «         } t          |j	        |¦  «        ¦   «         |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nre   zlegend.Úget_é   Útest)Úlabel)
Úpopr+   r2   ÚpltÚsubplotsÚplotÚrangeÚlegendÚgetattrÚlegendPatch)Ú
color_typeÚ
param_dictÚtargetÚget_funcÚ_ÚaxÚlegs          r/   Útest_legend_colorsr�   ¡   s
  € ð /9¯nªn¸WÑ.EÔ.E€JÐ*˜Ð*Ð*Ð*Ñ+Ø'�jÐ'Ð'Ð'€Hå	Œ˜
Ñ	#Ô	#ð >ð >Ý”‘”‰ˆˆ2Ø
�Š•�a‘” ˆÑ'Ô'Ð'Ø�iŠi‰kŒkˆØ1�w�s”¨Ñ1Ô1Ñ3Ô3°vÒ=Ð=Ð=Ð=Ð=ð	>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >ð >ð >s   ·A2B7Â7B;Â>B;c                  ó    — dt           j        d<   t           j                             ddgddg¦  «        } |                      ¦   «         dk    sJ ‚d S )Nrf   zlines.markerfacecolorrO   é   )r+   r,   r   ÚLine2DÚget_markerfacecolor©Úlns    r/   Útest_mfc_rcparamsrˆ   ®   óQ   € Ø,/…C„LÐ(Ñ)Ý	Œ×	Ò	˜1˜a˜& 1 a &Ñ	)Ô	)€BØ×!Ò!Ñ#Ô# sÒ*Ð*Ð*Ð*Ð*Ð*r.   c                  ó    — dt           j        d<   t           j                             ddgddg¦  «        } |                      ¦   «         dk    sJ ‚d S )Nrf   zlines.markeredgecolorrO   rƒ   )r+   r,   r   r„   Úget_markeredgecolorr†   s    r/   Útest_mec_rcparamsrŒ   ´   r‰   r.   c                  ó®   — dt           j        d<   t          j        ¦   «         \  } }|                     d¦  «        }|                     ¦   «         dk    sJ ‚d S )Nrf   zaxes.titlecolorÚTitle)r+   r,   rs   rt   Ú	set_titleÚ	get_color)r~   r   Útitles      r/   Útest_axes_titlecolor_rcparamsr’   º   sP   € Ø&)…C„LÐ"Ñ#ÝŒL‰NŒN�E€A€rØ�LŠL˜Ñ!Ô!€EØ�?Š?ÑÔ Ò#Ð#Ð#Ð#Ð#Ð#r.   c                 ó  — t          | ¦  «        dz  }|                     dd¬¦  «         t          j        dd¬¦  «        5  t	          j        |dd	¦  «        }d d d ¦  «         n# 1 swxY w Y   |                     d
¦  «        dk    sJ ‚d S )Nr    ztimezone: UTCr!   r"   zlocale.getpreferredencodingz	UTF-32-BE)Úreturn_valueTFÚtimezoneÚUTC)r   r1   r   Úpatchr+   Úrc_params_from_fileÚget)r4   r5   r%   s      r/   Útest_Issue_1713rš   Á   sÎ   € Ý�&‰\Œ\Ð.Ñ.€FØ
×Ò�o°ÐÑ8Ô8Ð8Ý	ŒÐ1ÀÐ	LÑ	LÔ	Lð :ð :ÝÔ$ V¨T°5Ñ9Ô9ˆð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :à�6Š6�*ÑÔ Ò&Ð&Ð&Ð&Ð&Ð&s   Á A#Á#A'Á*A'c                  ó.   — dD ]} | t           j        d<   Œd S )N)
ÚpngÚjpegÚtiffÚrawÚrgbaÚppmÚsgiÚbmpÚpbmÚsvgzanimation.frame_formatr*   )Úfmts    r/   Útest_animation_frame_formatsr§   É   s-   € ð,ð 5ð 5ˆà14�ŒÐ-Ñ.Ð.ð5ð 5r.   c           !   #   ó  K  — t           g d„ dD ¦   «         ¢d„ dD ¦   «         ¢R d„ dddg fD ¦   «         d	œt          d
g fdddgfddgfddgfddgfddgddgfdddgft          ddg¦  «        ddgft          j        ddg¦  «        ddgff	t          ¦   «         t          fdt          ffd	œt          t          d¬¦  «        d„ dddgddgdt          j        d¦  «        fD ¦   «         d„ dD ¦   «         d	œt          t          d¬¦  «        d„ dddgddgdt          j        d¦  «        fD ¦   «         d„ dD ¦   «         d	œt          dt          d d!¦  «        ft          d"d#d$g¦  «        t          d"d#d$g¦  «        fd%t          d d!¦  «        t          d&g d'¢¦  «        z   fd(t          d d!¦  «        t          d)g d*¢¦  «        z   fd+t          d d!¦  «        t          d"d#d$g¦  «        z  ft          d,d#d$g¦  «        t          d"d#d$g¦  «        ft          dd-g¬.¦  «        t          d&dd-g¦  «        ffd/t          fd0t          fd1t          fd2t          fd3t          fd4t          fd5t          fd6t          fd7t          fd8t          fd9t          fd:t          fd;t          fd<t          fd=t          ft          d>g d?¢¦  «        t          ft          d g d@¢¦  «        t          ffd	œt          dAdBt          fdCt          fdDt          ffd	œt          dEg dF¢fg dF¢g dF¢fdGdHgfg dI¢dJdKgft          j        g dL¢¦  «        t          j        g dM¢¦  «        gt          j        g dL¢g dM¢g¦  «        ft          j        g dL¢g dM¢g¦  «        t          j        g dL¢g dM¢g¦  «        ffdNt          ffd	œt          dOdPt          fdQt          fdRt          fdSt          fdTt          ffd	œt          dUdVt          fdWt          ffd	œt           dXdYdZd[g d*¢fg d*¢g d*¢ft          j        d\¦  «        t          j        d\¦  «        ffdt          ffd	œt$          d]d^d_d`dag d*¢g d*¢ft'          d¦  «        t'          d dd ¦  «        ft'          dddb¦  «        t'          dddb¦  «        ffd*t(          fg dc¢t(          fg dd¢t(          fg de¢t(          fdft(          fdgt(          fdht(          fdit(          fdjt(          fdkt(          fdlt(          fdmt(          fdnt(          fdot(          fdkt(          fdt(          ft+          ¦   «         t(          ffd	œt,          dpdqdrdsdtdudvdwdxdydzd{d|d}d~dgd€d~d�gffg d‚¢d€g dƒ¢ffd€ddgfd€ddgffdddgfdddgfffdt          fd„t          fd…                     d†¦  «        t          fg d*¢t          fd~t          fdddgft          fd ddgft          fdg d*¢ft          fddgdft          ff	d	œf}|D ]7}|d‡         }| r|dˆ         D ]\  }}|||fV — ŒŒ"|d‰         D ]\  }}|||fV — ŒŒ8d S )ŠNc              3   ó   K  — | ]}|d fV — Œ	dS )TNr-   ©Ú.0r~   s     r/   ú	<genexpr>z/generate_validator_testcases.<locals>.<genexpr>Õ   s>   è è € ð Fð F Q˜˜4�yð Fð Fð Fð Fð Fð Fr.   )ÚtÚyÚyesÚonÚtrueÚ1rO   Tc              3   ó   K  — | ]}|d fV — Œ	dS )FNr-   rª   s     r/   r¬   z/generate_validator_testcases.<locals>.<genexpr>×   s>   è è € ð Hð H a˜˜5�zð Hð Hð Hð Hð Hð Hr.   )ÚfÚnÚnoÚoffÚfalseÚ0r   Fc              3   ó(   K  — | ]}|t           fV — Œd S ©N©rU   rª   s     r/   r¬   z/generate_validator_testcases.<locals>.<genexpr>Ù   s:   è è € ð 6ð 6Øð •j�/ð 6ð 6ð 6ð 6ð 6ð 6r.   Úaardvarkrƒ   éÿÿÿÿ)Ú	validatorÚsuccessÚfailÚ za,bÚaÚbz
aardvark, zaardvark, ,)rÃ   rÄ   rO   )rµ   c              3   ó"   K  — | ]
}|d dgfV — ŒdS )rO   rƒ   Nr-   rª   s     r/   r¬   z/generate_validator_testcases.<locals>.<genexpr>ì   s>   è è € ð :ð :Øð ˜!˜Q˜�[ð :ð :ð :ð :ð :ð :r.   z1, 2ç      ø?ç      @)rO   rƒ   c              3   ó(   K  — | ]}|t           fV — Œd S r»   r¼   rª   s     r/   r¬   z/generate_validator_testcases.<locals>.<genexpr>ï   s:   è è € ð ð Øð •j�/ð ð ð ð ð ð r.   )r½   ©rÃ   rO   ©rO   rƒ   ro   c              3   ó"   K  — | ]
}|d dgfV — ŒdS )rÆ   rÇ   Nr-   rª   s     r/   r¬   z/generate_validator_testcases.<locals>.<genexpr>õ   sF   è è € ð Bð BØð ˜#˜s˜�_ð Bð Bð Bð Bð Bð Br.   z1.5, 2.5)rÆ   rÇ   c              3   ó(   K  — | ]}|t           fV — Œd S r»   r¼   rª   s     r/   r¬   z/generate_validator_testcases.<locals>.<genexpr>ø   sB   è è € ð Nð NØð •j�/ð Nð Nð Nð Nð Nð Nr.   )r½   rÉ   rÊ   r»   Nzcycler("color", "rgb")re   ÚrgbÚ	linestyleú-ú--zW(cycler("color", ["r", "g", "b"]) +
                          cycler("mew", [2, 3, 5]))Úmarkeredgewidth)rƒ   ro   é   zcycler(c='rgb', lw=[1, 2, 3])r   rÊ   z5cycler('c', 'rgb') * cycler('linestyle', ['-', '--'])ÚlsrÒ   )Úmewé   zcycler("bleh, [])zCycler("linewidth", [1, 2, 3])z1cycler('c', [j.__class__(j) for j in ['r', 'b']])z2cycler('c', [j. __class__(j) for j in ['r', 'b']])z2cycler('c', [j.	__class__(j) for j in ['r', 'b']])z2cycler('c', [j.__class__(j) for j in ['r', 'b']])z9cycler('c', [j.__class__(j).lower() for j in ['r', 'b']])z1 + 2zos.system("echo Gotcha")z	import osz9def badjuju(a): return a; badjuju(cycler("color", "rgb"))zcycler("waka", [1, 2, 3])zcycler(c=[1, 2, 3])zcycler(lw=['a', 'b', 'c'])Úwaka)rO   ro   rÒ   )ÚC1rf   rh   ))ú--|rØ   )ú\oOrÙ   )ú/+*/.xrÚ   ©rÂ   rÂ   z--_é   ÚXzr,g,b)rf   rh   rÄ   zr, ,rf   )rÂ   rh   Úbluerh   rÞ   )rO   r   r   ©r   rO   r   Úfish)
©ÚNoneÚnone©rã   rã   )ÚAABBCCz#AABBCC)ÚAABBCC00z	#AABBCC00)útab:bluerç   )ÚC12rè   )z	(0, 1, 0))ç        ç      ð?ré   )rß   rß   )z(0, 1, 0, 1))ré   rê   ré   rê   )©r   rO   r   rO   rë   ztab:verybluez(0, 1)z(0, 1, 0, 1, 0)z(0, 1, none)z(0, 1, "0.5")))Ú	linecolorrì   )Úmarkerfacecolorrí   )Úmfcrí   )Úmarkeredgecolorrï   )Úmecrï   ÚlineÚmarker)Úautoró   )Úfdrô   )Ú10é
   z1, 2, 3é   )NN©rO   rO   ©çš™™™™™¹?rú   )rø   rø   )rù   rù   ro   )rO   rƒ   ç333333Ó?)rÃ   rƒ   ro   )rO   rƒ   rÃ   )rú   çš™™™™™É?rû   )rú   rƒ   ro   )rO   rü   rû   )rO   rú   )rú   rO   Úabc)rO   rÃ   )rú   rÄ   rÉ   )rÃ   rú   )rÏ   rÏ   )Úsolidrþ   )rÐ   rÐ   )Údashedrÿ   )ú-.r   )Údashdotr  )ú:r  )Údottedr  rÛ   )ú r  rá   rä   )ÚDoTtEdr  )z1, 3)r   )rO   ro   g®Gáz®ó?iÈ  r   g     €|@)rO   rƒ   ro   rÕ   )rê   g       @g      @g      @s   dottedr  zutf-16r¿   rÀ   rÁ   )r	   r   ÚiterÚnpÚarrayÚsetrU   r   r   r   r   r   r   r   r
   r   r   Úaranger   ÚsliceÚ	TypeErrorÚobjectr   Úencode)ÚvalidÚvalidation_testsÚvalidator_dictr¿   Úargr|   Ú
error_types          r/   Úgenerate_validator_testcasesr  Ò   s·  è è € å#ðIð Fð FØDðFñ Fô Fð IðHð HØFðHñ Hô HðIð Ið6ð 6Ø&¨¨2¨rÐ4ð6ñ 6ô 6ð	ð 	õ *Ø˜"�XØ˜c 3˜ZÐ(Ø  : ,Ð/Ø" Z LÐ1Ø# j \Ð2Ø˜C�j 3¨ *Ð-Ø  3¨ *Ð-Ý˜C ˜:Ñ&Ô&¨¨c¨
Ð3Ý”h  S˜zÑ*Ô*¨S°#¨JÐ7ð	õ ‘5”5�*Ð%Ø•j�/ðð	ð 	õ )­¸Ð;Ñ;Ô;ð:ð :Ø%¨¨S z°A°q°6Ø%¥r¤x°Ñ'7Ô'7ð9ð:ñ :ô :ðð ððñ ô ð		ð 	õ )­¸1Ð=Ñ=Ô=ðBð BØ)¨C°¨:¸¸S°zØ)­2¬8°JÑ+?Ô+?ðAðBñ Bô BðNð NØLðNñ Nô Nð		ð 	õ &Ø.Ý˜W eÑ,Ô,ð.å˜[¨3°¨+Ñ6Ô6Ý˜[¨3°¨+Ñ6Ô6ð8ð7å˜g uÑ-Ô-ÝÐ/°°°Ñ;Ô;ñ<ð>ð 6Ý˜W eÑ,Ô,­v°kÀ9À9À9Ñ/MÔ/MÑMðOàMÝ˜g uÑ-Ô-Ý˜k¨C°¨;Ñ7Ô7ñ8ð:õ ˜T C¨ ;Ñ/Ô/Ý˜[¨3°¨+Ñ6Ô6ð8å ! Q Ð(Ñ(Ô(ÝÐ.°°A°Ñ7Ô7ð9ðð2 •j�/Ø&­
Ð3Ø3Ýðð GÝðàGÝðàHÝðàLÝðàNÝðà�JÐ'Ø-­zÐ:Ø¥
Ð+ØNÝðð /µ
Ð;Ø(­*Ð5Ø/µÐ<Ý˜& ) ) )Ñ,Ô,­jÐ9Ý˜'Ð#3Ð#3Ð#3Ñ4Ô4µjÐAð3ð55	ð 5	õl %ð5à�*Ð%Ø•j�/Ø�
Ð#ð%ð	ð 	õ )Ø˜˜˜Ð/Ø%�o�o   Ð7Ø˜s˜e�_Ø'Ð'Ð'¨#¨v¨Ð7Ý”x 	 	 	Ñ*Ô*­B¬H°Y°Y°YÑ,?Ô,?Ð@Ý”X˜y˜y˜y¨)¨)¨)Ð4Ñ5Ô5ð7å”h 	 	 	¨9¨9¨9Ð5Ñ6Ô6Ý”X˜y˜y˜y¨)¨)¨)Ð4Ñ5Ô5ð7ðð �:Ð&ð ð	ð 	õ %ð
ð "¥:Ð.Ø�ZÐ(Ø$¥jÐ1Ø!¥:Ð.Ø"¥JÐ/ð	ð	ð 	õ& 3ðð �:Ð&Ø�ZÐ(ðð
	ð 
	õ )Ø%Ø!ØØ   Ð+Ø�i�i   Ð+Ý”i ‘m”m¥R¤Y¨r¡]¤]Ð3ðð �zÐ*ð ð
	ð 
	õ )Ø!ØØØ%Ø-Ø�i�i   Ð+Ý˜A‘h”h¥ d¨A¨tÑ 4Ô 4Ð5Ý˜A˜q !‘n”n¥e¨A¨q°!¡n¤nÐ5ðð �iÐ(Ø�;�;¥	Ð*Ø�;�;¥	Ð*Ø�;�;¥	Ð*Ø"¥IÐ.Ø¥	Ð*Ø ¥)Ð,Ø�YÐ'Ø�YÐ'Ø�IÐ&Ø�YÐ'Ø�yÐ)Ø�YÐ'Ø�yÐ)Ø�)Ð$Ø�	Ð"Ý‘8”8�YÐ'ð!ð	ð 	õ: *ØÐ!3Ø!Ð#7Ø!Ð#9ØÐ!5Ø˜zØ%Ð'7Ø)Ø*Ø˜S�k A¨¨e }Ð#5Ð6Ø"�l�l QÐ(<Ð(<Ð(<Ð$=Ð>Ø˜1˜a˜&�k A¨¨1 v ;Ð/Ø˜A˜q˜6�l R¨!¨Q¨ LÐ1ðð �zÐ*Ø�jÐ)Ø—?’? 8Ñ,Ô,­jÐ9Ø�9�9�jÐ)Ø�Ð$Ø˜!˜Q˜�=¥*Ð-Ø˜1˜a˜&�>¥:Ð.Ø�y�y�y�>¥:Ð.Ø˜�F˜A�;¥
Ð+ð	ð	ð 	ðqQÐðf +ð 1ð 1ˆØ" ;Ô/ˆ	Øð 	1Ø-¨iÔ8ð -ð -‘��VØ  fÐ,Ð,Ð,Ð,Ð,ð-ð $2°&Ô#9ð 1ð 1‘��ZØ  jÐ0Ð0Ð0Ð0Ð0ð1ð1ð 1r.   zvalidator, arg, targetTc                 ó  —  | |¦  «        }t          |t          j        ¦  «        r"t          j                             ||¦  «         d S t          |t
          ¦  «        s
||k    sJ ‚d S t          |¦  «        t          |¦  «        k    sJ ‚d S r»   )Ú
isinstancer  ÚndarrayÚtestingÚassert_equalr   rF   )r¿   r  r|   Úress       r/   Útest_validator_validr  °  s‹   € ð ˆ)�C‰.Œ.€CÝ�&�"œ*Ñ%Ô%ð )Ý
Œ
×Ò  VÑ,Ô,Ð,Ð,Ð,Ý˜¥Ñ'Ô'ð )Ø�fŠ}ˆ}ˆ}ˆ}ˆ}ˆ}õ �C‰yŒy�D ™LœLÒ(Ð(Ð(Ð(Ð(Ð(r.   zvalidator, arg, exception_typeFc                 óv   — t          j        |¦  «        5   | |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r»   )rS   rT   )r¿   r  Úexception_types      r/   Útest_validator_invalidr  ½  s…   € õ 
Œ�~Ñ	&Ô	&ð ð Øˆ	�#‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   •.®2µ2zweight, parsed_weight)Úboldr  ÚBOLD)éd   r!  )Ú100r!  r!  )gš™™™™™4@é   z20.6c                 óÈ   — |t           u rCt          j        t           ¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t          | ¦  «        |k    sJ ‚d S r»   )rU   rS   rT   r   )ÚweightÚparsed_weights     r/   Útest_validate_fontweightr'  Ä  s²   € ð �
Ð"Ð"ÝŒ]�:Ñ&Ô&ð 	(ð 	(Ý Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(õ # 6Ñ*Ô*¨mÒ;Ð;Ð;Ð;Ð;Ð;ó   £A Á AÁAzstretch, parsed_stretch)Úexpandedr)  ÚEXPANDEDc                 óÈ   — |t           u rCt          j        t           ¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S t          | ¦  «        |k    sJ ‚d S r»   )rU   rS   rT   r   )ÚstretchÚparsed_stretchs     r/   Útest_validate_fontstretchr.  Ø  s²   € ð �Ð#Ð#ÝŒ]�:Ñ&Ô&ð 	*ð 	*Ý  Ñ)Ô)Ð)ð	*ð 	*ð 	*ñ 	*ô 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*ð 	*øøøð 	*ð 	*ð 	*ð 	*ð 	*ð 	*õ $ GÑ,Ô,°Ò>Ð>Ð>Ð>Ð>Ð>r(  c                  óŠ   — d„ t           j        D ¦   «         } | D ])}t          t           j        |         t          ¦  «        sJ ‚Œ*d S )Nc                 ó   — g | ]}d |v ¯|‘Œ	S )Úkeymapr-   )r«   Úks     r/   ú
<listcomp>z test_keymaps.<locals>.<listcomp>í  s   € Ð9Ð9Ð9�a¨8°q¨=¨=�¨=¨=¨=r.   )r+   r,   r  rF   )Úkey_listr2  s     r/   Útest_keymapsr5  ì  sO   € Ø9Ð9�3œ<Ð9Ñ9Ô9€HØð 1ð 1ˆÝ�#œ, qœ/­4Ñ0Ô0Ð0Ð0Ð0Ð0ð1ð 1r.   c                  óÚ   — t           j        d         dk    sJ ‚t          j        ¦   «         5  dt           j        d<   d d d ¦  «         n# 1 swxY w Y   t           j        d         dk    sJ ‚d S )NÚbackendzmodule://aardvark)r+   r,   r2   r-   r.   r/   Útest_no_backend_reset_rccontextr8  ò  s©   € ÝŒ<˜	Ô"Ð&9Ò9Ð9Ð9Ð9Ý	ŒÑ	Ô	ð 6ð 6Ø"5�Œ�YÑð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6åŒ<˜	Ô"Ð&9Ò9Ð9Ð9Ð9Ð9Ð9s   ¬AÁAÁAc                  ó„  — t          j        ddi¬¦  «        5  t           j        d         du sJ ‚t          j        t
          ¦  «        5  t          j        dddœ¬¦  «        5  	 d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         n# 1 swxY w Y   t           j        d         du sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr   Fr$   T)r   z	test.blah)r+   r2   r,   rS   rT   ÚKeyErrorr-   r.   r/   Útest_rcparams_reset_after_failr;  ù  s�  € õ 
Œ˜M¨5Ð1Ð	2Ñ	2Ô	2ð 4ð 4ÝŒ|˜MÔ*¨eÐ3Ð3Ð3Ð3ÝŒ]�8Ñ$Ô$ð 	ð 	Ý”°4ÀdÐ#KÐ#KÐLÑLÔLð ð Øðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ|˜MÔ*¨eÐ3Ð3Ð3Ð3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4sY   ˜0B5ÁBÁ!A/Á#BÁ/A3Á3BÁ6A3Á7BÁ:B5ÂB
	Â
B5ÂB
	ÂB5Â5B9Â<B9Úlinuxz
Linux only)Úreasonc                 ó  — i t           j        ¥dddt          | ¦  «        dœ¥}t          j        t
          j        ¦  «        5  t          j        t          j	        ddg|dt
          j
        ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÂ   )ÚDISPLAYÚWAYLAND_DISPLAYÚ
MPLBACKENDÚMPLCONFIGDIRú-cz^import matplotlib;matplotlib.use('tkagg');import matplotlib.pyplot;matplotlib.pyplot.plot(42);T)ÚenvÚcheckÚstderr)ÚosÚenvironrC   rS   rT   Ú
subprocessÚCalledProcessErrorÚrunÚsysÚ
executableÚDEVNULL)r4   rD  s     r/   Útest_backend_fallback_headlessrO    sà   € ð:�RŒZð :Ø¨RØ­S°©[¬[ð:ð :ð :€Cõ 
Œ•zÔ4Ñ	5Ô	5ð <ð <ÝŒÝŒ^˜Tð+ðð ˜4­
Ô(:ð	<ñ 	<ô 	<ð 	<ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   Á0A>Á>BÂBÚheadlessc                 ó  — t          j        d¦  «         i t          j        ¥dt	          | ¦  «        dœ¥}t          j        t          j        ddg|d¬¦  «        }| 	                    ¦   «          
                    ¦   «         dk    sJ ‚d S )	NÚtkinterrÂ   )rA  rB  rC  zöimport matplotlib as mpl; sentinel = mpl.rcsetup._auto_backend_sentinel; assert mpl.RcParams({'backend': sentinel})['backend'] == sentinel; assert mpl.rcParams._get('backend') == sentinel; import matplotlib.pyplot; print(matplotlib.get_backend())T)rD  Úuniversal_newlinesÚagg)rS   ÚimportorskiprG  rH  rC   rI  Úcheck_outputrL  rM  ÚstripÚlower)r4   rD  r7  s      r/   Útest_backend_fallback_headfulrY    s�   € õ Ô˜	Ñ"Ô"Ð"Ø
G�RŒZÐ
G r½3¸v¹;¼;Ð
GÐ
GÐ
G€CÝÔ%Ý	Œ˜ð
+ð	,ð  Dð	*ñ 	*ô 	*€Gð �=Š=‰?Œ?× Ò Ñ"Ô" eÒ+Ð+Ð+Ð+Ð+Ð+r.   c                 óô  — |                       t          j        dddd„ d„ f¦  «         t          j        t
          j        ¦  «        5  t          j        d         t          j        d         dz  k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        t
          j        ¦  «        5  dt          j        d<   d d d ¦  «         n# 1 swxY w Y   t          j        d         dk    sJ ‚|                       t          j        dd	¦  «         t          j        t
          j        ¦  «        5  t          j        d         t          j        d
         k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t          j        t
          j        ¦  «        5  dt          j        d<   d d d ¦  «         n# 1 swxY w Y   t          j        d
         dk    sJ ‚|                       t          j        dd¦  «         t          j        t
          j        ¦  «        5  t          j        d         �J ‚	 d d d ¦  «         n# 1 swxY w Y   |                       t          j	        dd¦  «         t          j        t
          j        ¦  «        5  dt          j        d<   d d d ¦  «         n# 1 swxY w Y   t          j        d         dk    sJ ‚d t          j        d<   t          j         
                    t          j                             ¦   «         ¦  «         d S )Nzpatch.linewidthú0.0zaxes.linewidthc                 ó   — d| z  S ©Nrƒ   r-   )Úolds    r/   ú<lambda>z"test_deprecation.<locals>.<lambda>-  s
   € ¨a°#©g€ r.   c                 ó   — | dz  S r]  r-   )Únews    r/   r_  z"test_deprecation.<locals>.<lambda>-  s
   € À3ÈÁ7€ r.   rƒ   rO   zpatch.edgecolor)r[  rj   rj   z#abcdzpatch.force_edgecolor)r[  Nzsvg.hashsalt)r[  Úfoobar)Úsetitemr+   Ú_deprecated_maprS   rV   r   ÚMatplotlibDeprecationWarningr,   Ú_deprecated_ignore_mapÚ_deprecated_remain_as_nonerX   r_   )Úmonkeypatchs    r/   Útest_deprecationri  *  sD  € Ø×ÒÝÔÐ.Ø	Ð Ð"5Ð"5Ð7JÐ7JÐKñMô Mð Mõ 
Œ•dÔ7Ñ	8Ô	8ð 2ð 2ÝŒ|Ð-Ô.ÝŒ|Ð,Ô-°Ñ1ò2ð 2ð 2ð 2ð 2ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2õ 
Œ•dÔ7Ñ	8Ô	8ð ,ð ,Ø*+�ŒÐ&Ñ'ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,åŒ<Ð(Ô)¨QÒ.Ð.Ð.Ð.à×ÒÝÔ"Ð$5Ø!ñ#ô #ð #õ 
Œ•dÔ7Ñ	8Ô	8ð .ð .ÝŒ|Ð-Ô.ÝŒ|Ð,Ô-ò.ð .ð .ð .ð .ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ 
Œ•dÔ7Ñ	8Ô	8ð 2ð 2Ø*1�ŒÐ&Ñ'ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2åŒ<Ð(Ô)¨WÒ4Ð4Ð4Ð4à×ÒÝÔ"Ð$;Øñô ð õ 
Œ•dÔ7Ñ	8Ô	8ð =ð =ÝŒ|Ð3Ô4Ð<Ð<Ð<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð ×ÒÝÔ&¨Øñô ð õ 
Œ•dÔ7Ñ	8Ô	8ð 0ð 0Ø'/�Œ�^Ñ$ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0åŒ<˜Ô'¨8Ò3Ð3Ð3Ð3Ø#'…C„L�Ñ å„L×Ò�œ×)Ò)Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,sl   Á,A?Á?BÂBÂ(CÃCÃCÄ&)EÅE Å#E ÆF!Æ!F%Æ(F%ÈH%È%H)È,H)É/JÊJÊJc                  óÌ   — d} | › d�}t          j        t          t          j        |¦  «        ¬¦  «        5  t          j        d| i¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N)gÍÌÌÌÌÌì?gffffffæ?z% is not a valid value for legend.loc;rQ   z
legend.loc)rS   rT   rU   ÚreÚescaper+   r@   )ÚvalueÚ	match_strs     r/   Útest_rcparams_legend_locro  S  s­   € Ø€EØÐ?Ð?Ð?€IÝ	Œ•z­¬°9Ñ)=Ô)=Ð	>Ñ	>Ô	>ð ,ð ,ÝŒ�l EÐ*Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   µAÁAÁ A)Ir_   rG  Úpathlibr   rk  rI  rL  Úunittestr   r   r   rS   Ú
matplotlibr+   r   r   Úmatplotlib.pyplotÚpyplotrs   Úmatplotlib.colorsÚcolorsÚmcolorsÚnumpyr  Úmatplotlib.rcsetupr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r6   rI   rZ   r\   rc   Úto_rgbaÚlegend_color_testsÚlegend_color_test_idsÚmarkÚparametrizer�   rˆ   rŒ   r’   rš   r§   r  r  r  rU   r  r'  r.  r5  r8  r;  ÚskipifÚplatformrO  Údisplay_is_validrY  ri  ro  r-   r.   r/   ú<module>r‚     s{  ðØ €€€Ø 	€	€	€	Ø Ð Ð Ð Ð Ð Ø 	€	€	€	Ø Ð Ð Ð Ø 
€
€
€
Ø Ð Ð Ð Ð Ð à !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø €€€à Ð Ð Ð Ø .Ð .Ð .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð$#1ð #1ð #1ðL:ð :ð :ðBð ð ð7ð 7ð 7ð0ð 0ð 0ð* ˆg�sˆ^˜_˜Wœ_¨SÑ1Ô1Ð2Ø�y°CÐ8Ð8Ø€W„_�SÑÔðà�s¨cÐ2Ð2°O°G´OÀCÑ4HÔ4HÐIØˆg�sˆ^˜_˜Wœ_¨SÑ1Ô1Ð2Ø�y°CÐ8Ð8Ø€W„_�SÑÔðà�s¨cÐ2Ð2°O°G´OÀCÑ4HÔ4HÐIð	Ð ðð ð Ð ð „×ÒÐ9Ð;MØ2ð ñ 4ô 4ð>ð >ñ4ô 4ð>ð+ð +ð +ð+ð +ð +ð$ð $ð $ð'ð 'ð 'ð5ð 5ð 5ð[1ð [1ð [1ð| „×ÒÐ1Ø5Ð5°dÑ;Ô;ñ=ô =ð)ð )ñ=ô =ð)ð „×ÒÐ9Ø5Ð5°eÑ<Ô<ñ>ô >ðð ñ>ô >ðð
 „×ÒÐ0ØØˆZÐØØØ€R„Xˆc�]„]�CÐð ØˆZÐØ	€UˆJÐð3ñ ô ð<ð <ñô ð<ð „×ÒÐ2ØØ�ÐØØØ€R„Xˆc�]„]�CÐð ØˆZÐØ	€UˆJÐð5ñ ô ð?ð ?ñô ð?ð1ð 1ð 1ð:ð :ð :ð	4ð 	4ð 	4ð „×Ò�C”L GÒ+°LÐÑAÔAð<ð <ñ BÔAð<ð „×ÒØ„L�GÒÐHÐ$FÐ$5Ô$FÑ$HÔ$HÐ HØð ñ ô ð,ð ,ñô ð,ð$#-ð #-ð #-ðR,ð ,ð ,ð ,ð ,r.   