§
    ‡ÛgE  ã                   óF  — d dl mZ d dlmZ d dlmZ d dlZd dlZd dl	Z	d dl
Zd dl
mZmZ d dlmZmZ dZdZeeiZed!d	„¦   «         Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z e	j!         "                    dddgddg¬¦  «        d„ ¦   «         Z#d„ Z$d„ Z%d„ Z&d„ Z'd „ Z(dS )"é    )Úcontextmanager)ÚPath)ÚTemporaryDirectoryN)ÚpyplotÚstyle)ÚUSER_LIBRARY_PATHSÚSTYLE_EXTENSIONz
image.cmapÚpinkc              #   óÖ  K  — |st           }| ›dt          ›�}	 t          ¦   «         5 }t          ||¦  «                             d                     d„ |                     ¦   «         D ¦   «         ¦  «        d¬¦  «         t          j        |¦  «         t          j
        ¦   «          dV — ddd¦  «         n# 1 swxY w Y   t          j
        ¦   «          dS # t          j
        ¦   «          w xY w)zAContext manager to create a style sheet in a temporary directory.ú.ú
c              3   óH   K  — | ]\  }}d                       ||¦  «        V — ŒdS )z{}: {}N)Úformat)Ú.0ÚkÚvs      úQ/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_style.pyú	<genexpr>ztemp_style.<locals>.<genexpr>   s4   è è € ÐMÐM±D°A°q˜(Ÿ/š/¨!¨QÑ/Ô/ÐMÐMÐMÐMÐMÐMó    úutf-8©ÚencodingN)ÚDUMMY_SETTINGSr	   r   r   Ú
write_textÚjoinÚitemsr   Úappendr   Úreload_library)Ú
style_nameÚsettingsÚ	temp_fileÚtmpdirs       r   Ú
temp_styler#      s1  è è € ð ð "Ý!ˆØ%˜:˜:¥ Ð7€IðÝÑ!Ô!ð 	 Vå�˜Ñ#Ô#×.Ò.Ø—	’	ÐMÐM¸H¿NºNÑ<LÔ<LÐMÑMÔMÑMÔMØ ð /ñ "ô "ð "õ Ô% fÑ-Ô-Ð-ÝÔ Ñ"Ô"Ð"ØˆEˆEˆEð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ 	ÔÑÔÐÐÐø�ÔÑÔÐÐøøøs/   ™C §B B3Â'C Â3B7Â7C Â:B7Â;C ÃC(c                 óÚ   — ddi}d}t          ||¦  «        5  	 d d d ¦  «         n# 1 swxY w Y   t          | j        ¦  «        dk    r!|| j        d                              ¦   «         v sJ ‚d S )NÚfooÚbarÚbasenameé   r   )r#   ÚlenÚrecordsÚ
getMessage)ÚcaplogÚSETTINGSr'   s      r   Ú)test_invalid_rc_warning_includes_filenamer.   '   s¹   € Ø�uˆ~€HØ€HÝ	�H˜hÑ	'Ô	'ð ð àðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �”ÑÔ 1Ò$Ð$Ø˜FœN¨1Ô-×8Ò8Ñ:Ô:Ð:Ð:Ð:Ð:Ð:Ð:s   —%¥)¬)c                  ó„   — t          dt          ¦  «        5  dt          j        v sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NÚ_test_)r#   r   r   Ú	available© r   r   Útest_availabler3   1   sŒ   € Ý	�H�nÑ	-Ô	-ð +ð +Ø�5œ?Ð*Ð*Ð*Ð*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +s   –5µ9¼9c                  ó(  — dt           j        t          <   t          dt          ¦  «        5  t          j        d¦  «        5  t           j        t                   t          k    sJ ‚	 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ÚgrayÚtest©ÚmplÚrcParamsÚPARAMr#   r   r   ÚcontextÚVALUEr2   r   r   Útest_user>   6   s  € Ø …C„L•ÑÝ	�F�NÑ	+Ô	+ð 0ð 0ÝŒ]˜6Ñ"Ô"ð 	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ð 0ð 0ð 0s4   ªB¿#A/Á#BÁ/A3	Á3BÁ6A3	Á7BÂBÂBc                 ó¶  — t          | d¦  «        }|                     dd¬¦  «         t          dt          ¦  «        5  dt          j        dk    rdnd	z   |                     ¦   «                              ¦   «         z   }t          j	        |¦  «        5  t          j        d
         dk    sJ ‚	 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Úfilezaxes.facecolor: adeader   r   r7   zfile:Úwin32z///Ú zaxes.facecolorz#adeade)r   r   r#   r   ÚsysÚplatformÚresolveÚas_posixr   r<   r9   r:   )r"   ÚpathÚurls      r   Útest_use_urlrI   =   sX  € Ý�˜ÑÔ€DØ‡O‚OÐ,°w€OÑ?Ô?Ð?Ý	�F�NÑ	+Ô	+ð ?ð ?ØÝœ<¨7Ò2Ð2�%�%¸ñ<à—’‘”×(Ò(Ñ*Ô*ñ+ˆõ Œ]˜3ÑÔð 	?ð 	?Ý”<Ð 0Ô1°YÒ>Ð>Ð>Ð>Ð>ð	?ð 	?ð 	?ñ 	?ô 	?ð 	?ð 	?ð 	?ð 	?ð 	?ð 	?øøøð 	?ð 	?ð 	?ð 	?ð	?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?ð ?ð ?s6   ½ACÂB6Â*CÂ6B:	Â:CÂ=B:	Â>CÃCÃCc                 ó†  — dt           j        t          <   dt          › �}t	          | |¦  «        }|                     t          › dt          › �d¬¦  «         t          j        |¦  «        5  t           j        t                   t          k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t           j        t                   dk    sJ ‚d S )Nr6   ztext.z : r   r   )	r9   r:   r;   r	   r   r   r=   r   r<   )r"   r!   rG   s      r   Útest_single_pathrK   H   sì   € Ø …C„L•ÑØ)�Ð)Ð)€IÝ�˜	Ñ"Ô"€DØ‡O‚O•uÐ(Ð(¥Ð(Ð(°7€OÑ;Ô;Ð;Ý	Œ�tÑ	Ô	ð ,ð ,ÝŒ|�EÔ"¥eÒ+Ð+Ð+Ð+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,åŒ<�Ô &Ò(Ð(Ð(Ð(Ð(Ð(s   Á)#BÂBÂ Bc                  ó`  — dt           j        t          <   t          dt          ¦  «        5  t          j        d¦  «        5  t           j        t                   t          k    s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                   dk    sJ ‚d S r5   r8   r2   r   r   Útest_contextrM   R   s  € Ø …C„L•ÑÝ	�F�NÑ	+Ô	+ð 0ð 0ÝŒ]˜6Ñ"Ô"ð 	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õ Œ<�Ô &Ò(Ð(Ð(Ð(Ð(Ð(s4   ªB¿#A/Á#BÁ/A3	Á3BÁ6A3	Á7BÂB
ÂB
c                  ó  — d} d}| t           j        t          <   t          j        t          |i¦  «        5  t           j        t                   |k    sJ ‚	 d d d ¦  «         n# 1 swxY w Y   t           j        t                   | k    sJ ‚d S )Nr6   Úblue)r9   r:   r;   r   r<   ©Úoriginal_valueÚother_values     r   Útest_context_with_dictrS   [   s»   € Ø€NØ€KØ(…C„L•ÑÝ	Œ�˜{Ð+Ñ	,Ô	,ð 2ð 2ÝŒ|�EÔ" kÒ1Ð1Ð1Ð1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2åŒ<�Ô .Ò0Ð0Ð0Ð0Ð0Ð0s   ´AÁA#Á&A#c                  óp  — d} d}| t           j        t          <   t          dt          ¦  «        5  t          j        dt          |ig¦  «        5  t           j        t                   |k    s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                   | k    sJ ‚d S ©Nr6   rO   r7   )r9   r:   r;   r#   r   r   r<   rP   s     r   Ú'test_context_with_dict_after_namedstylerV   d   s'  € à€NØ€KØ(…C„L•ÑÝ	�F�NÑ	+Ô	+ð 6ð 6ÝŒ]˜F¥U¨KÐ$8Ð9Ñ:Ô:ð 	6ð 	6Ý”<¥Ô&¨+Ò5Ð5Ð5Ð5Ð5ð	6ð 	6ð 	6ñ 	6ô 	6ð 	6ð 	6ð 	6ð 	6ð 	6ð 	6øøøð 	6ð 	6ð 	6ð 	6ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6õ Œ<�Ô .Ò0Ð0Ð0Ð0Ð0Ð0s5   ®BÁA7Á+BÁ7A;	Á;BÁ>A;	Á?BÂBÂBc                  óz  — d} d}| t           j        t          <   t          dt          ¦  «        5  t          j        t          |idg¦  «        5  t           j        t                   t          k    s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                   | k    sJ ‚d S rU   r8   rP   s     r   Ú(test_context_with_dict_before_namedstylerX   o   s'  € à€NØ€KØ(…C„L•ÑÝ	�F�NÑ	+Ô	+ð 0ð 0ÝŒ]�U KÐ0°&Ð9Ñ:Ô:ð 	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õ Œ<�Ô .Ò0Ð0Ð0Ð0Ð0Ð0s5   ®BÁ#A<Á0BÁ<B 	Â BÂB 	ÂBÂBÂBc                  óú  — d} d}d}||i}| t           j        t          <   | t           j        |<   t          dt          ¦  «        5  t          j        d|g¦  «        5  t           j        t                   t          k    sJ ‚t           j        |         |k    s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                   | k    sJ ‚t           j        |         | k    sJ ‚d S )Nr6   ztext.usetexTr7   r8   )rQ   Úother_paramrR   Úds       r   Ú.test_context_with_union_of_dict_and_namedstyler\   z   sp  € à€NØ€KØ€KØ	�kÐ"€AØ(…C„L•ÑØ%0 …C„L�ÑÝ	�F�NÑ	+Ô	+ð <ð <ÝŒ]˜F A˜;Ñ'Ô'ð 	<ð 	<Ý”<¥Ô&­%Ò/Ð/Ð/Ð/Ý”< Ô,°Ò;Ð;Ð;Ð;Ð;ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <õ Œ<�Ô .Ò0Ð0Ð0Ð0ÝŒ<˜Ô$¨[¨Ò9Ð9Ð9Ð9Ð9Ð9s6   ÁB:Á;B#ÂB:Â#B'	Â'B:Â*B'	Â+B:Â:B>ÃB>c                  ó¾  — d} d}t          j        t          |i¦  «        5  t          j        t                   |k    sJ ‚t          j        t          | dd i¦  «        }t          j        t          ¦  «        5  |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        t                   |k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )Nr6   rO   Úbadparam)r   r<   r;   r9   r:   ÚpytestÚraisesÚKeyError)rQ   rR   Úxs      r   Útest_context_with_badparamrc   Š   s•  € Ø€NØ€KÝ	Œ�˜{Ð+Ñ	,Ô	,ð 2ð 2ÝŒ|�EÔ" kÒ1Ð1Ð1Ð1ÝŒM�5 .°*¸dÐCÑDÔDˆÝŒ]�8Ñ$Ô$ð 	ð 	Øð ð Øðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ Œ|�EÔ" kÒ1Ð1Ð1Ð1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2sZ    ACÁ4BÁ7BÁ9BÂB	Â	BÂB	ÂBÂCÂB 	Â CÂ#B 	Â$ CÃCÃCÚequiv_styles)Úmpl20Údefault)Úmpl15Úclassicre   rg   )Úidsc                 ó:  — g }| D ]_}t          j        |¦  «        5  |                     t          j                             ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   Œ`|d         }t          | dd …         |dd …         ¦  «        D ]\  }}||k    sJ ‚Œd S )Nr   r(   )r   r<   r   r9   r:   ÚcopyÚzip)rd   Úrc_dictsÚstyÚrc_baseÚnmÚrcs         r   Ú
test_aliasrr   –   sð   € ð
 €HØð 1ð 1ˆÝŒ]˜3ÑÔð 	1ð 	1Ø�OŠO�CœL×-Ò-Ñ/Ô/Ñ0Ô0Ð0ð	1ð 	1ð 	1ñ 	1ô 	1ð 	1ð 	1ð 	1ð 	1ð 	1ð 	1øøøð 	1ð 	1ð 	1ð 	1øð �qŒk€GÝ�l 1 2 2Ô&¨°°°¬Ñ5Ô5ð ð ‰ˆˆBØ˜"Š}ˆ}ˆ}ˆ}ˆ}ðð s   ›2AÁA	Á A	c                  óð   — t           j        d         �J ‚t          j        ¦   «          t           j        d         dk    sJ ‚t          j                             ¦   «          t           j        d         dk    sJ ‚d S ©Nzpath.sketch)r(   éd   é   )r9   r:   ÚpltÚxkcdÚnpÚtestingÚbreak_cyclesr2   r   r   Útest_xkcd_no_cmr|   ¥   sj   € ÝŒ<˜Ô&Ð.Ð.Ð.Ý„H�J„J€JÝŒ<˜Ô&¨+Ò5Ð5Ð5Ð5Ý„J×ÒÑÔÐÝŒ<˜Ô&¨+Ò5Ð5Ð5Ð5Ð5Ð5r   c                  óÞ   — t           j        d         �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         �J ‚d S rt   )r9   r:   rw   rx   r2   r   r   Útest_xkcd_cmr~   ­   sª   € ÝŒ<˜Ô&Ð.Ð.Ð.Ý	Œ‰Œð :ð :ÝŒ|˜MÔ*¨kÒ9Ð9Ð9Ð9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :åŒ<˜Ô&Ð.Ð.Ð.Ð.Ð.s   ¨AÁAÁAc                  óR  — t           j                             d¦  «        5  t           j                             ¦   «         } d d d ¦  «         n# 1 swxY w Y   t           j        | k    sJ ‚t          j        t           j        j        ¦  «        5  t           j         	                    d¦  «         d d d ¦  «         n# 1 swxY w Y   t           j        | k    sJ ‚t          j        t           j        j        ¦  «        5  t           j        j
        d          d d d ¦  «         d S # 1 swxY w Y   d S )Nzseaborn-v0_8-brightzseaborn-bright)r9   r   r<   r:   rk   r_   ÚwarnsÚ_apiÚMatplotlibDeprecationWarningÚuseÚlibrary)Úseaborn_brights    r   Útest_deprecated_seaborn_stylesr†   ´   s°  € Ý	Œ×	Ò	Ð0Ñ	1Ô	1ð -ð -Ýœ×*Ò*Ñ,Ô,ˆð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -åŒ<˜>Ò)Ð)Ð)Ð)Ý	Œ•c”hÔ;Ñ	<Ô	<ð (ð (ÝŒ	�ŠÐ&Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (åŒ<˜>Ò)Ð)Ð)Ð)Ý	Œ•c”hÔ;Ñ	<Ô	<ð ,ð ,ÝŒ	ÔÐ*Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s5    AÁAÁAÂ B7Â7B;Â>B;Ã7DÄD Ä#D c                  ó`   — t           j        j        j        h t           j        j        £k    sJ ‚d S ©N)r9   r   ÚcoreÚSTYLE_BLACKLISTÚrcsetupÚ_validatorsr2   r   r   Útest_up_to_date_blacklistr�   ¿   s+   € ÝŒ9Œ>Ô)Ð-G­s¬{Ô/FÐ-GÒGÐGÐGÐGÐGÐGr   c                 ó^  — |                      | ¦  «         |                     | ¦  «         | dz  }|                     ¦   «          |dz                       dd¬¦  «         |                     d¦  «                             dd¬¦  «         t
          j                             d¦  «         t
          j        d	         d
k    sJ ‚t
          j                             d¦  «         t
          j        d	         dk    sJ ‚t
          j                             d¦  «         t
          j        d	         dk    sJ ‚d S )NÚmpl_test_style_pkgztest_style.mplstylezlines.linewidth: 42r   r   z	.mplstylezlines.linewidth: 84zmpl_test_style_pkg.test_stylezlines.linewidthé*   zmpl_test_style_pkg.mplstyleéT   z./mpl_test_style_pkg.mplstyle)	Úsyspath_prependÚchdirÚmkdirr   Úwith_suffixr9   r   rƒ   r:   )Útmp_pathÚmonkeypatchÚpkg_paths      r   Útest_style_from_moduler™   Ã   s-  € Ø×Ò Ñ)Ô)Ð)Ø×Ò�hÑÔÐØÐ.Ñ.€HØ‡N‚NÑÔÐØÐ%Ñ%×1Ò1Ø¨ð 2ñ 1ô 1ð 1à×Ò˜Ñ%Ô%×0Ò0Ø¨ð 1ñ 1ô 1ð 1å„I‡M‚MÐ1Ñ2Ô2Ð2ÝŒ<Ð)Ô*¨bÒ0Ð0Ð0Ð0Ý„I‡M‚MÐ/Ñ0Ô0Ð0ÝŒ<Ð)Ô*¨bÒ0Ð0Ð0Ð0Ý„I‡M‚MÐ1Ñ2Ô2Ð2ÝŒ<Ð)Ô*¨bÒ0Ð0Ð0Ð0Ð0Ð0r   rˆ   ))Ú
contextlibr   Úpathlibr   Útempfiler   rC   Únumpyry   r_   Ú
matplotlibr9   r   rw   r   Úmatplotlib.style.corer   r	   r;   r=   r   r#   r.   r3   r>   rI   rK   rM   rS   rV   rX   r\   rc   ÚmarkÚparametrizerr   r|   r~   r†   r�   r™   r2   r   r   ú<module>r¢      s  ðØ %Ð %Ð %Ð %Ð %Ð %Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 
€
€
€
à Ð Ð Ð Ø €€€à Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø EÐ EÐ EÐ EÐ EÐ EÐ EÐ Eð 	€Ø€Ø˜�€ð ðð ð ñ „ðð&<ð <ð <ð+ð +ð +ð
0ð 0ð 0ð?ð ?ð ?ð)ð )ð )ð)ð )ð )ð1ð 1ð 1ð1ð 1ð 1ð1ð 1ð 1ð:ð :ð :ð 	2ð 	2ð 	2ð „×Ò˜Ø.Ø.ð0à% wÐ/ð ñ 1ô 1ðð ñ	1ô 1ðð6ð 6ð 6ð/ð /ð /ð,ð ,ð ,ðHð Hð Hð1ð 1ð 1ð 1ð 1r   