§
    ‡Ûg+   ã                   ó|  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlZ	d dlm
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d	„ Zd
„ Ze	j          !                    d¦  «         edg¬¦  «        d„ ¦   «         ¦   «         Z"d„ Z#e	j          !                    d¦  «         edg¬¦  «        d„ ¦   «         ¦   «         Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z) G d„ d¦  «        Z*d„ Z+d„ Z,d„ Z-d„ Z.ej/         0                    de
j1         2                    ¦   «         ¦  «        d„ ¦   «         Z3d„ Z4d„ Z5d „ Z6d!„ Z7d"„ Z8dS )#é    )ÚBytesION)Úcm)Úsubprocess_run_helper)Úcheck_figures_equal)Úrrulewrapper)ÚVertexSelector)Úparasite_axesc                  ó*  — t          j        ¦   «         } t          j        | t	          ¦   «         t          j        ¦  «         t          j        d¦  «        }t          j        |t	          ¦   «         t          j        ¦  «         t          j        d¬¦  «        }t          j        t          j
        d¦  «        d¬¦  «         t          j        ¦   «          t          j        |t	          ¦   «         t          j        ¦  «         t          j        ¦   «          t          j        t          j
        d¦  «        t          j
        d¦  «        ¬¦  «         t          j        t          j        ¦   «         t	          ¦   «         t          j        ¦  «         t          j        ¦   «         } t          j        ¦   «         }t          j        t          j
        d¦  «        ¦  «         |                     d¦  «         t          j        | t	          ¦   «         t          j        ¦  «         d S )	Néy   Úpolar)Ú
projectioné
   Úfoobar©Úlabel)ÚxÚheightÚlog)ÚpltÚfigureÚpickleÚdumpr   ÚHIGHEST_PROTOCOLÚsubplotÚaxesÚplotÚnpÚarangeÚlegendÚbarÚgcaÚ
set_yscale©ÚfigÚaxs     úR/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_pickle.pyÚtest_simpler'      s[  € Ý
Œ*‰,Œ,€CÝ
„K�•W‘Y”Y¥Ô 7Ñ8Ô8Ð8å	Œ�SÑ	Ô	€BÝ
„K�•G‘I”I�vÔ6Ñ7Ô7Ð7å	Œ˜WÐ	%Ñ	%Ô	%€BÝ„H�RŒY�r‰]Œ] (Ð+Ñ+Ô+Ð+Ý„J�L„L€Lå
„K�•G‘I”I�vÔ6Ñ7Ô7Ð7õ
 „J�L„L€LÝ„G�bŒi˜‰mŒm¥B¤I¨b¡M¤MÐ2Ñ2Ô2Ð2Ý
„K•”‘	”	�7™9œ9¥fÔ&=Ñ>Ô>Ð>å
Œ*‰,Œ,€CÝ	Œ‰Œ€BÝ„H�RŒY�r‰]Œ]ÑÔÐØ‡M‚M�%ÑÔÐÝ
„K�•W‘Y”Y¥Ô 7Ñ8Ô8Ð8Ð8Ð8ó    c                 óÚ  — |                       d¦  «         t          j        | ¦  «         t          j        d¦  «         t	          j        d¦  «        t	          j        d¦  «        }}t	          j        ddd¦  «                             dd¦  «        x}x}}t	          j        |dz  ¦  «        }t          j	        ddd	¦  «         t          j
        t          t          d¦  «        ¦  «        ¦  «         t          j	        ddd
¦  «         t          j        |ddg¬¦  «         t          j        ¦   «          t          j	        ddd¦  «         t          j        |¦  «         t          j	        ddd¦  «         t          j        |¦  «         t          j	        ddd¦  «         t          j        |¦  «         t          j	        ddd¦  «        }|                     dd¦  «         |                     dd¦  «         t          j        ||||¦  «         t          j	        ddd¦  «        }|                     dd¦  «         |                     dd¦  «         t          j        ||||¦  «         t          j	        ddd¦  «         t          j        ||d
z  d¬¦  «         t          j        d¬¦  «         t          j	        ddd¦  «         t          j        ||dz  dd¬¦  «         t          j        d¬¦  «         d S )N)r   é   z!Can you fit any more in a figure?é   r   r   éP   g333333ã¿é   é   é   z//Úooo)Úhatchesé   é   r*   é   é	   z$x^2$r   z
upper left)Úlocg      à¿gš™™™™™É?gš™™™™™Ù?)ÚxerrÚyerrT)Ú	draggable)Úset_size_inchesr   r   Úsuptitler   r   ÚlinspaceÚreshapeÚsinr   r   ÚlistÚrangeÚcontourfÚcolorbarÚ
pcolormeshÚimshowÚpcolorÚset_xlimÚset_ylimÚ
streamplotÚquiverÚscatterr   Úerrorbar)Úfig_refr   ÚyÚdataÚuÚvr%   s          r&   Ú_generate_complete_test_figurerQ   0   s–  € Ø×Ò˜GÑ$Ô$Ð$Ý„JˆwÑÔÐå„LÐ4Ñ5Ô5Ð5õ Œ9�Q‰<Œ<�œ 2™œ€q€AÝ”;˜q " bÑ)Ô)×1Ò1°"°aÑ8Ô8Ð8€DÐ8ˆ1ˆqÝ
Œˆq�4‰xÑÔ€Aõ „K��1�aÑÔÐÝ„H�T•%˜‘)”)‰_Œ_ÑÔÐå„K��1�aÑÔÐÝ„L�  e˜}Ð-Ñ-Ô-Ð-Ý„L�N„N€Nå„K��1�aÑÔÐÝ„N�4ÑÔÐå„K��1�aÑÔÐÝ„JˆtÑÔÐå„K��1�aÑÔÐÝ„JˆtÑÔÐå	Œ�Q˜˜1Ñ	Ô	€BØ‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐÝ„N�1�a˜˜AÑÔÐå	Œ�Q˜˜1Ñ	Ô	€BØ‡K‚K��1ÑÔÐØ‡K‚K��1ÑÔÐÝ„Jˆq�!�Q˜ÑÔÐå„K��1�aÑÔÐÝ„K��1˜‘6 Ð)Ñ)Ô)Ð)Ý„J�<Ð Ñ Ô Ð å„K��1�aÑÔÐÝ„L��A˜‘H 3¨SÐ1Ñ1Ô1Ð1Ý„J˜ÐÑÔÐÐÐr(   ÚdefaultÚpng)Ú
extensionsc                 óØ  — t          |¦  «         t          j        |t          j        ¦  «        }dd„ t	          j        |¦  «        D ¦   «         vsJ ‚t          j        |¦  «        }|j                             ¦   «          |  	                    | 
                    ¦   «         ¦  «         |                      |j        j                             ¦   «         ¦  «         t          j        |¦  «         d S )NÚFigureCanvasAggc                 ó   — g | ]\  }}}|‘Œ	S © rX   )Ú.0ÚopÚargÚposs       r&   ú
<listcomp>z!test_complete.<locals>.<listcomp>i   s   € Ð$UÐ$UÐ$U©\¨R°°c SÐ$UÐ$UÐ$Ur(   )rQ   r   Údumpsr   ÚpickletoolsÚgenopsÚloadsÚcanvasÚdrawr:   Úget_size_inchesÚfigimageÚrendererÚbuffer_rgbar   Úclose)Úfig_testrL   ÚpklÚloadeds       r&   Útest_completerl   _   sÒ   € õ # 7Ñ+Ô+Ð+å
Œ,�w¥Ô 7Ñ
8Ô
8€Cð
 Ð$UÐ$U½[Ô=OÐPSÑ=TÔ=TÐ$UÑ$UÔ$UÐUÐUÐUÐUÝŒ\˜#ÑÔ€FØ
„M×ÒÑÔÐà×Ò˜V×3Ò3Ñ5Ô5Ñ6Ô6Ð6Ø×Ò�f”mÔ,×8Ò8Ñ:Ô:Ñ;Ô;Ð;å„IˆfÑÔÐÐÐr(   c                  óô   — dd l } dd l}| j        d         }t          |d¦  «        5 } |j        |¦  «        }d d d ¦  «         n# 1 swxY w Y   t          t           |j        |¦  «        ¦  «        ¦  «         d S )Nr   ÚPICKLE_FILE_PATHÚrb)Úosr   ÚenvironÚopenÚloadÚprintÚstrr^   )rp   r   ÚpathÚblobr$   s        r&   Ú_pickle_load_subprocessrx   s   s¾   € Ø€I€I€IØ€M€M€MàŒ:Ð(Ô)€Då	ˆd�DÑ	Ô	ð  ˜TØˆfŒk˜$ÑÔˆð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  õ 
�#ˆlˆfŒl˜3ÑÔÑ
 Ô
 Ñ!Ô!Ð!Ð!Ð!s   ¦AÁAÁ
Ac                 óÌ  — t          |¦  «         |dz  }|                     ¦   «         rJ ‚|                     d¦  «        5 }t          j        ||t          j        ¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         sJ ‚t          t          ddt          |¦  «        i¬¦  «        }t          j	        t          j        |j        ¦  «        ¦  «        }|j                             ¦   «          |                      |                     ¦   «         ¦  «         |                      |j        j                             ¦   «         ¦  «         t)          j        |¦  «         d S )Nzsinus.pickleÚwbé<   rn   )ÚtimeoutÚ	extra_env)rQ   Úexistsrr   r   r   r   r   rx   ru   ra   ÚastÚliteral_evalÚstdoutrb   rc   r:   rd   re   rf   rg   r   rh   )ri   rL   Útmp_pathÚfpÚfileÚprocÚ
loaded_figs          r&   Ú test_pickle_load_from_subprocessr‡      st  € õ # 7Ñ+Ô+Ð+à	�NÑ	"€BØ�yŠy‰{Œ{ÐÐÐà	�Š�‰Œð <˜$ÝŒ�G˜T¥6Ô#:Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <à�9Š9‰;Œ;ÐÐÐå ÝØØ%¥s¨2¡w¤wÐ/ðñ ô €Dõ ”�cÔ.¨t¬{Ñ;Ô;Ñ<Ô<€JàÔ×ÒÑÔÐà×Ò˜Z×7Ò7Ñ9Ô9Ñ:Ô:Ð:Ø×Ò�jÔ'Ô0×<Ò<Ñ>Ô>Ñ?Ô?Ð?å„IˆjÑÔÐÐÐs   Á !A-Á-A1Á4A1c                  ó¢  — t          j        d¦  «        } t          ¦   «         }t          j        | |t          j        ¦  «         t          j        d¦  «         t           j        j        j	        i k    sJ ‚t          j
        |                     ¦   «         ¦  «        } t           j        j        j	        i k    sJ ‚|                      ¦   «         dk    sJ ‚d S )Nza labelÚall)r   r   r   r   r   r   rh   Ú_pylab_helpersÚGcfÚfigsra   Ú	getbufferÚ	get_label)r$   Úbufs     r&   Útest_gcfr�   ›   s«   € Ý
Œ*�YÑ
Ô
€CÝ
‰)Œ)€CÝ
„K��S�&Ô1Ñ2Ô2Ð2Ý„IˆeÑÔÐÝÔÔ!Ô&¨"Ò,Ð,Ð,Ð,Ý
Œ,�s—}’}‘”Ñ
'Ô
'€CÝÔÔ!Ô&¨"Ò,Ð,Ð,Ð,Ø�=Š=‰?Œ?˜iÒ'Ð'Ð'Ð'Ð'Ð'r(   c                  ó  — ddl m}  t          j        ¦   «         } | |¦  «        }|                     ddd¦  «        }|                     g d¢g d¢¦  «         t          j        |t          ¦   «         t          j	        ¦  «         d S )Nr   )ÚFigureCanvasPdfr.   )r.   r/   r-   )
Úmatplotlib.backends.backend_pdfr’   ÚmfigureÚFigureÚadd_subplotr   r   r   r   r   )r’   r$   Ú_r%   s       r&   Útest_no_pyplotr˜   ¦   s‚   € à?Ð?Ð?Ð?Ð?Ð?Ý
Œ.Ñ
Ô
€CØˆ˜ÑÔ€AØ	�Š˜˜A˜qÑ	!Ô	!€BØ‡G‚GˆIˆIˆI�y�y�yÑ!Ô!Ð!Ý
„K�•W‘Y”Y¥Ô 7Ñ8Ô8Ð8Ð8Ð8r(   c                  ón   — ddl m}   | ddd¦  «        }t          j        |t	          ¦   «         ¦  «         d S )Nr   )ÚRendererAggr   é   é   )Úmatplotlib.backends.backend_aggrš   r   r   r   )rš   rf   s     r&   Útest_rendererrž   °   sC   € Ø;Ð;Ð;Ð;Ð;Ð;Øˆ{˜2˜r 2Ñ&Ô&€HÝ
„K��'™)œ)Ñ$Ô$Ð$Ð$Ð$r(   c                  óX  — ddl m}   | d¦  «        }|j        j        }|                     ddd¦  «        }|                     t          j        d¦  «                             dd¦  «        ¦  «         |j         	                    ¦   «          t          j        |t          ¦   «         ¦  «         d S )Nr   )Únew_figure_manageriè  r.   é   r-   r2   )r�   r    rb   r   r–   rD   r   r   r=   rc   r   r   r   )r    Úmanagerr$   r%   s       r&   Ú
test_imager£   ¶   s    € ð CÐBÐBÐBÐBÐBØ Ð  Ñ&Ô&€GØ
Œ.Ô
€CØ	�Š˜˜A˜qÑ	!Ô	!€BØ‡I‚I�bŒi˜‰mŒm×#Ò# A qÑ)Ô)Ñ*Ô*Ð*Ø„N×ÒÑÔÐÝ
„K�•W‘Y”YÑÔÐÐÐr(   c                  óÌ   — t          j        d¬¦  «         t          j        ¦   «         } t          j        | ¦  «        }t          j        |¦  «         t          j        ¦   «          d S )NT)r   )r   r   Úgcfr   r^   ra   rc   )r$   Úpfs     r&   Ú
test_polarr§   Â   sN   € Ý„K�dÐÑÔÐÝ
Œ'‰)Œ)€CÝ	Œ�cÑ	Ô	€BÝ
„L�ÑÔÐÝ„H�J„J€J€J€Jr(   c                   ó   — e Zd Zd„ ZdS )ÚTransformBlobc                 ó2  — t          j        ¦   «         | _        t          j        ¦   «         | _        t          j        | j        | j        ¦  «        | _        t          j        | j        ¦  «        | _        t          j        | j        | j        ¦  «        | _        d S ©N)	ÚmtransformsÚIdentityTransformÚidentityÚ	identity2ÚCompositeGenericTransformÚ	compositeÚTransformWrapperÚwrapperÚ
composite2)Úselfs    r&   Ú__init__zTransformBlob.__init__Ë   sx   € Ý#Ô5Ñ7Ô7ˆŒÝ$Ô6Ñ8Ô8ˆŒå$Ô>ØŒMØŒNñô ˆŒõ #Ô3°D´NÑCÔCˆŒå%Ô?ØŒLØŒMñô ˆŒˆˆr(   N)Ú__name__Ú
__module__Ú__qualname__r¶   rX   r(   r&   r©   r©   Ê   s#   € € € € € ðð ð ð ð r(   r©   c                  óz  — t          ¦   «         } t          j        | ¦  «        }~ t          j        |¦  «        } | j        j        | j        k    sJ ‚d„ | j        j                             ¦   «         D ¦   «         | j	        gk    sJ ‚| j        j
        | j        j
        k    sJ ‚| j        j        | j        j        k    sJ ‚d S )Nc                 ó"   — g | ]} |¦   «         ‘ŒS rX   rX   )rY   rP   s     r&   r]   z"test_transform.<locals>.<listcomp>ã   s   € Ð7Ð7Ð7�AˆAˆA‰CŒCÐ7Ð7Ð7r(   )r©   r   r^   ra   r³   Ú_childr±   Ú_parentsÚvaluesr´   Ú
input_dimsÚoutput_dims)Úobjr¦   s     r&   Útest_transformrÂ   Ú   sµ   € Ý
‰/Œ/€CÝ	Œ�cÑ	Ô	€BØå
Œ,�rÑ
Ô
€CàŒ;Ô ¤Ò.Ð.Ð.Ð.à7Ð7˜œÔ-×4Ò4Ñ6Ô6Ð7Ñ7Ô7¸C¼NÐ;KÒKÐKÐKÐKàŒ;Ô! S¤]Ô%=Ò=Ð=Ð=Ð=ØŒ;Ô" c¤mÔ&?Ò?Ð?Ð?Ð?Ð?Ð?r(   c                  ó®   — t          d¦  «        } 	 t          j        t          j        | ¦  «        ¦  «         d S # t          $ r t          d¦  «         ‚ w xY w)Nr/   z!rrulewrapper pickling test failed)r   r   ra   r^   ÚRecursionErrorrt   )Úrs    r&   Útest_rrulewrapperrÆ   é   s]   € Ý�Q‰Œ€AðÝŒ•V”\ !‘_”_Ñ%Ô%Ð%Ð%Ð%øÝð ð ð ÝÐ1Ñ2Ô2Ð2Øðøøøs	   ‘&9 ¹Ac                  ó  — t          j        dd¬¦  «        \  } }t          j        t          j        | ¦  «        ¦  «        } | j        d                              dd¦  «         | j        d                              ¦   «         dk    sJ ‚d S )	Nr/   T)Úsharexr   r   r›   r.   )r   r›   )r   Úsubplotsr   ra   r^   r   rF   Úget_xlim)r$   Úaxss     r&   Útest_sharedrÌ   ò   sx   € ÝŒ|˜A dÐ+Ñ+Ô+�H€CˆÝ
Œ,•v”| CÑ(Ô(Ñ
)Ô
)€CØ„HˆQ„K×Ò˜˜RÑ Ô Ð ØŒ8�AŒ;×ÒÑ!Ô! XÒ-Ð-Ð-Ð-Ð-Ð-r(   c                  ó  — t          j        ¦   «         \  } }|                     g d¢¦  «         |                     dt          j        t          j        f¬¦  «         t          j        t          j	        | ¦  «        ¦  «         d S )N)çš™™™™™¹?rÎ   ç333333Ó?rÏ   Útop)Ú	functions)
r   rÉ   Ú
inset_axesÚsecondary_xaxisr   ÚsquareÚsqrtr   ra   r^   r#   s     r&   Útest_inset_and_secondaryrÖ   ù   sl   € ÝŒl‰nŒn�G€CˆØ‡M‚MÐ"Ð"Ð"Ñ#Ô#Ð#Ø×Ò�u­¬µB´GÐ(<ÐÑ=Ô=Ð=Ý
„L•”˜cÑ"Ô"Ñ#Ô#Ð#Ð#Ð#r(   Úcmapc                 ó.   — t          j        | ¦  «         d S r«   )r   r^   )r×   s    r&   Ú	test_cmaprÙ      s   € å
„L�ÑÔÐÐÐr(   c                  óè   — t          j        ¦   «         } | j        €J ‚t          ¦   «         }t	          j        | |¦  «         |                     d¦  «         t	          j        |¦  «        }|j        €J ‚d S )Nr   )r”   r•   rb   r   r   r   Úseekrs   )r$   ÚoutÚfig2s      r&   Útest_unpickle_canvasrÞ     sj   € Ý
Œ.Ñ
Ô
€CØŒ:Ð!Ð!Ð!Ý
‰)Œ)€CÝ
„K��SÑÔÐØ‡H‚HˆQ�K„K€KÝŒ;�sÑÔ€DØŒ;Ð"Ð"Ð"Ð"Ð"r(   c                  ó¸   — t          j        g d¢¦  «        } t          t          j        t          j        | ¦  «        ¦  «        ¦  «        t           j        k    sJ ‚d S )N)r   r   r.   r.   )r	   Ú	host_axesÚtyper   ra   r^   ÚHostAxes)r%   s    r&   Útest_mpl_toolkitsrã     sL   € Ý	Ô	    Ñ	.Ô	.€BÝ•”�Vœ\¨"Ñ-Ô-Ñ.Ô.Ñ/Ô/µ=Ô3IÒIÐIÐIÐIÐIÐIr(   c                  óÎ   — t          t          j        t          j        t          j                             ¦   «         ¦  «        ¦  «        ¦  «        t          j        j        k    sJ ‚d S r«   )rá   r   ra   r^   ÚmplÚcolorsÚLogNormrX   r(   r&   Útest_standard_normrè     sU   € Ý•”�Vœ\­#¬*×*<Ò*<Ñ*>Ô*>Ñ?Ô?Ñ@Ô@ÑAÔAÝŒ:Ôòð ð ð ð ð r(   c                  ó  — t          j                             t           j        j        t           j        j        ¦  «        ¦   «         } t          t          j        t          j	        | ¦  «        ¦  «        ¦  «        t          | ¦  «        k    sJ ‚d S r«   )
rå   ræ   Úmake_norm_from_scaleÚscaleÚ
LogitScaleÚ	Normalizerá   r   ra   r^   )Úlogit_norm_instances    r&   Útest_dynamic_normrï     s}   € Ýœ*×9Ò9ÝŒ	Ô�cœjÔ2ñ4ô 4ñ 6ô 6Ðå•”�Vœ\Ð*=Ñ>Ô>Ñ?Ô?Ñ@Ô@ÝÐ#Ñ$Ô$ò%ð %ð %ð %ð %ð %r(   c                  ó    — t          j        ddgd¬¦  «        \  } t          j        t          j        t          | ¦  «        ¦  «        ¦  «         d S )Nr   r.   T)Úpicker)r   r   r   ra   r^   r   )Úlines    r&   Útest_vertexselectorró      sD   € ÝŒH�a˜�V DÐ)Ñ)Ô)�E€DÝ
„L•”�n¨TÑ2Ô2Ñ3Ô3Ñ4Ô4Ð4Ð4Ð4r(   )9Úior   r   r   r_   Únumpyr   ÚpytestÚ
matplotlibrå   r   Úmatplotlib.testingr   Úmatplotlib.testing.decoratorsr   Úmatplotlib.datesr   Úmatplotlib.linesr   Úmatplotlib.pyplotÚpyplotr   Úmatplotlib.transformsÚ
transformsr¬   Úmatplotlib.figurer   r”   Úmpl_toolkits.axes_grid1r	   r'   rQ   ÚstyleÚcontextrl   rx   r‡   r�   r˜   rž   r£   r§   r©   rÂ   rÆ   rÌ   rÖ   ÚmarkÚparametrizeÚ
_colormapsr¾   rÙ   rÞ   rã   rè   rï   ró   rX   r(   r&   ú<module>r     sú  ðØ Ð Ð Ð Ð Ð Ø 
€
€
€
Ø €€€Ø Ð Ð Ð à Ð Ð Ð Ø €€€à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø =Ð =Ð =Ð =Ð =Ð =Ø )Ð )Ð )Ð )Ð )Ð )Ø +Ð +Ð +Ð +Ð +Ð +Ø Ð Ð Ð Ð Ð Ø +Ð +Ð +Ð +Ð +Ð +Ø #Ð #Ð #Ð #Ð #Ð #Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1ð9ð 9ð 9ð6,ð ,ð ,ð^ „×Ò�9ÑÔØÐ  Ð(Ñ(Ô(ðð ñ )Ô(ñ Ôðð$	"ð 	"ð 	"ð „×Ò�9ÑÔØÐ  Ð(Ñ(Ô(ðð ñ )Ô(ñ Ôðð4(ð (ð (ð9ð 9ð 9ð%ð %ð %ð	 ð 	 ð 	 ðð ð ðð ð ð ð ñ ô ð ð @ð @ð @ðð ð ð.ð .ð .ð$ð $ð $ð „×Ò˜ ¤×!5Ò!5Ñ!7Ô!7Ñ8Ô8ðð ñ 9Ô8ðð#ð #ð #ðJð Jð Jð
ð ð ð
%ð %ð %ð5ð 5ð 5ð 5ð 5r(   