§
    ‡Ûgp  ã                   óP  — d 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mZ dd„Zej                             d	d
ddddd ej        dddeeg¬¦  «        d ej        ddde¬¦  «        g	¦  «        d„ ¦   «         Zej                             dddg¦  «        d„ ¦   «         ZdS )z
Test output reproducibility.
é    N)Úpyplot)Úneeds_ghostscriptÚneeds_usetexÚmhiÚpdfFc           	      óX  — t          j        |¦  «         t           j                             d|dœ¦  «         t	          j        ¦   «         }d| v r²|                     ddd¦  «        }t          d¦  «        }|                     |dgdz  d¬¦  «         |                     |d	gdz  d
¬¦  «         |                     |dgdz  d¬¦  «         |                     |dgdz  d¬¦  «         |                     |dgdz  d¬¦  «         d| v rÆ|                     ddd	¦  «        }| 	                    t          dd¦  «        t          dd¦  «        ¦  «        | 	                    t          dd¦  «        dgdz  t          dd¦  «        ¬¦  «        z   }| 
                    g d¢¦  «         d}t          ||¦  «        D ]\  }	}
|	                     |
¦  «         Œd| v r¥g d¢g d¢g d¢g}|                     ddd¦  «                             |d¬¦  «         g d¢g d¢g d¢g}|                     ddd¦  «                             |d¬¦  «         g d¢g d¢g d¢g}|                     ddd¦  «                             |d¬¦  «         t          d¦  «        }|                     ddd¦  «        }|                     ||¦  «         |                     d¦  «         |                     d¦  «         |                     d¦  «         t#          t$          j        d t$          j        ¦  «        }|                     ||¬!¦  «         d S )"NÚasdf)zsvg.hashsaltztext.usetexÚmé   é   é
   ÚD)Úmarkeré   Úxé   ú^é   ÚHé   ÚvÚh)Úbottom)g      ø?g      @g      @g      @)ú-ú+r   ú\Ú*ÚoÚOú.Úi)r   r   r   )r   r   r   )r   r   r   Únearest)Úinterpolation)r   r   r   Úbilinear)r   r   r   ÚbicubiczA string $1+2+\sigma$Úbuffer)Úformat)ÚmplÚuseÚrcParamsÚupdateÚpltÚfigureÚadd_subplotÚrangeÚplotÚbarÚ
set_xticksÚzipÚ	set_hatchÚimshowÚ	set_titleÚ
set_xlabelÚ
set_ylabelÚgetattrÚsysÚstdoutÚsavefig)ÚobjectsÚfmtÚusetexÚfigÚax1r   Úax2ÚbarsÚpatternsr1   ÚpatternÚAÚaxr;   s                 úW/granary/edev/quantum/lib/python3.11/site-packages/matplotlib/tests/test_determinism.pyÚ_save_figurerI      s   € Ý„GˆC�L„L€LÝ„L×Ò¨ÀÐGÐGÑHÔHÐHå
Œ*‰,Œ,€Cà
ˆg€~€~à�oŠo˜a  AÑ&Ô&ˆÝ�"‰IŒIˆØ�Š��Q�C˜"‘H SˆÑ)Ô)Ð)Ø�Š��Q�C˜"‘H SˆÑ)Ô)Ð)Ø�Š��Q�C˜"‘H SˆÑ)Ô)Ð)Ø�Š��Q�C˜"‘H SˆÑ)Ô)Ð)Ø�Š��Q�C˜"‘H SˆÑ)Ô)Ð)à
ˆg€~€~à�oŠo˜a  AÑ&Ô&ˆØ—’�˜a ™œ¥U¨1¨a¡[¤[Ñ1Ô1Ø—’�˜a ™œ a S¨1¡WµU¸1¸a±[´[�ÑAÔAñBˆà�ŠÐ+Ð+Ð+Ñ,Ô,Ð,à<ˆÝ  hÑ/Ô/ð 	#ð 	#‰LˆC�Ø�MŠM˜'Ñ"Ô"Ð"Ð"à
ˆg€~€~àˆYˆY˜	˜	˜	 9 9 9Ð-ˆØ�Š˜˜1˜aÑ Ô ×'Ò'¨¸Ð'ÑCÔCÐCØˆYˆY˜	˜	˜	 9 9 9Ð-ˆØ�Š˜˜1˜aÑ Ô ×'Ò'¨¸Ð'ÑDÔDÐDØˆYˆY˜	˜	˜	 9 9 9Ð-ˆØ�Š˜˜1˜aÑ Ô ×'Ò'¨¸Ð'ÑCÔCÐCåˆa‰Œ€AØ	�Š˜˜A˜qÑ	!Ô	!€BØ‡G‚GˆAˆq�M„M€MØ‡L‚LÐ)Ñ*Ô*Ð*Ø‡M‚MÐ*Ñ+Ô+Ð+Ø‡M‚MÐ*Ñ+Ô+Ð+å•S”Z ­3¬:Ñ6Ô6€FØ‡K‚K�˜s€KÑ#Ô#Ð#Ð#Ð#ó    zobjects, fmt, usetex)Ú r   F)r
   r   F)r   r   F)r!   r   F)r   r   F)r   ÚpsFrL   T)Úmarks)r   ÚsvgFrN   c                 óÎ   ‡ ‡‡— ˆˆ ˆfd„t          d¦  «        D ¦   «         }|dd…         D ]9}‰dk    r#‰r!||d         k    rt          j        d¦  «         Œ+||d         k    sJ ‚Œ:dS )a?  
    Output three times the same graphs and checks that the outputs are exactly
    the same.

    Parameters
    ----------
    objects : str
        Objects to be included in the test document: 'm' for markers, 'h' for
        hatch patterns, 'i' for images.
    fmt : {"pdf", "ps", "svg"}
        Output format.
    c                 óŽ   •— g | ]A}t          j        t          j        d dd‰›d‰›d‰› d�gi t          j        ¥dddœ¥¬¦  «        ‘ŒBS )	ú-Rú-czHfrom matplotlib.tests.test_determinism import _save_figure;_save_figure(z, ú)Ú	946684800ÚAgg©ÚSOURCE_DATE_EPOCHÚ
MPLBACKEND©Úenv©Ú
subprocessÚcheck_outputr:   Ú
executableÚosÚenviron)Ú.0Ú_r>   r=   r?   s     €€€rH   ú
<listcomp>z*test_determinism_check.<locals>.<listcomp>[   sž   ø€ ð ð ð ð õ 	ÔÝŒ^˜T 4ð=Ø$ð=ð =Ø*-ð=ð =Ø39ð=ð =ð =ð>ð&•2”:ð &°KØ$ð&ð &ð &ð		'ñ 	'ô 	'ðð ð rJ   r   r   NrL   r   z+failed, maybe due to ghostscript timestamps)r/   ÚpytestÚskip)r=   r>   r?   ÚplotsÚps   ```  rH   Útest_determinism_checkrh   @   s¡   øøø€ ð6ð ð ð ð ð õ �q‘”ðñ ô €Eð �1�2�2ŒYð !ð !ˆØ�$Š;ˆ;˜6ˆ;Ø�E˜!”HŠ}ˆ}Ý”ÐIÑJÔJÐJøà˜˜aœ’=�=�=�=�=ð!ð !rJ   zfmt, string)r   s!   /CreationDate (D:20000101000000Z))rL   s(   %%CreationDate: Sat Jan 01 00:00:00 2000c                 ó„   — t          j        t          j        ddd| ›d�gi t          j        ¥dddœ¥¬¦  «        }||v sJ ‚d	S )
a—  
    Test SOURCE_DATE_EPOCH support. Output a document with the environment
    variable SOURCE_DATE_EPOCH set to 2000-01-01 00:00 UTC and check that the
    document contains the timestamp that corresponds to this date (given as an
    argument).

    Parameters
    ----------
    fmt : {"pdf", "ps", "svg"}
        Output format.
    string : bytes
        Timestamp string for 2000-01-01 00:00 UTC.
    rQ   rR   zMfrom matplotlib.tests.test_determinism import _save_figure; _save_figure('', rS   rT   rU   rV   rY   Nr[   )r>   ÚstringÚbufs      rH   Ú"test_determinism_source_date_epochrl   l   su   € õ0 Ô
!Ý	Œ˜˜tð
&Ø ð
&ð 
&ð 
&ð	'ð"�rŒzð "°Ø ð"ð "ð "ð	#ñ #ô #€Cð �Sˆ=ˆ=ˆ=ˆ=ˆ=ˆ=rJ   )Ú__doc__r_   r\   r:   rd   Ú
matplotlibr(   Úmatplotlib.testing.comparer   r,   Úmatplotlib.testing._markersr   r   rI   ÚmarkÚparametrizeÚparamrh   rl   © rJ   rH   ú<module>ru      sf  ððð ð 
€	€	€	Ø Ð Ð Ð Ø 
€
€
€
à €€€à Ð Ð Ð Ø !Ð !Ð !Ð !Ø $Ð $Ð $Ð $Ð $Ð $Ø GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gð,$ð ,$ð ,$ð ,$ð^ „×ÒØØØØØØØØˆŒØ�4˜ lÐ4EÐ%Fð	Hñ 	Hô 	HàØˆŒ�U˜E 4¨|Ð<Ñ<Ô<ðñô ð!ð !ñô ð!ð< „×ÒØØ5ð
 	<ðñ	ô 	ðð ñ	ô 	ðð ð rJ   