
    h81                     "   S SK Jr  S SKJr  S SKrS SKrS SKrS SKrS SK	r	S SK
JrJrJrJr  S SKJr  S SKJr  S SKJrJr  S SKJrJr  S SK
rS SKJ r  S SKJr  S SK J!r"  \	RF                  RI                  S	S
9\	RF                  RK                  SSS/5      \	RF                  RK                  SSS/5      \	RF                  RK                  SSS0 4SSSS04SSSS04SSSS04SS0 4SSSS04SSSS04// SQS9S 5       5       5       5       r&S r'\\S 5       5       r(\" S /5      S! 5       r)\\" S /5      S" 5       5       r*S# r+\S$ 5       r,\S% 5       r-\S& 5       r.\" S'/5      S( 5       r/\" S)/5      S* 5       r0\" S+/5      S, 5       r1\" S/S-9S. 5       r2\S/ 5       r3\" S0/S1S29S3 5       r4\	RF                  RK                  S4S5S6/5      S7 5       r5S8 r6S9 r7S: r8\" S;/S<S=9S> 5       r9\" S?/S@S=9SA 5       r:\" SB/5      SC 5       r;\" SD/SESF0S1SG9SH 5       r<SI r=g)J    )Counter)PathN)cbookpathpatheffectsfont_manager)Figure)Ellipse)needs_ghostscriptneeds_usetex)check_figures_equalimage_comparison   )reruns	papersizeletterfigureorientationportrait	landscapezformat, use_log, rcParamspsFps.usedistillerghostscriptxpdftext.usetexTeps	ps.useafm)r   zps with distiller=ghostscriptzps with distiller=xpdfzps with usetexr   zeps afmzeps with usetex)idsc           	         [         R                  R                  U5        [         R                  S   S:X  a   [         R                  " S5        OD[         R                  S   S:X  a-   [         R                  " S5        [         R                  " S5        [        R                  " 5       u  pg[        R                  " 5        n[        R                  " 5        n	U(       a  UR                  S5        UR                  SS/SS/5        S	n
[         R                  S
   (       d  U
S-  n
UR                  U
5        / n[         R                  S
   (       a  UR!                  ["        5        [         R                  S   (       a  UR!                  [         R$                  5         UR'                  XUUS9  UR'                  XUUS9  UR*                  (       a   eU	R*                  (       a   eUR-                  5       R/                  S5      nU	R-                  5       nU S:X  a  [         R                  S   S:X  a4  US:X  a  SUR1                  5       ;  d   eO}SUR1                  5       ;   d   eOf[         R                  S   (       d  [         R                  S
   (       a  US:X  a  SOSnUS:X  a  SU-   OSnX;   d   eOUS:X  a	  SU;  d   eOSU;   d   e[2        R4                  " SSU5      n[2        R4                  " SSU5      nXR7                  SS5      :X  d   e S S S 5        S S S 5        g ! [         R                   a*  n[
        R                  " [        U5      5         S nAGNS nAff = f! [         R                   a*  n[
        R                  " [        U5      5         S nAGN	S nAff = f! [)        U5       a*  n[
        R                  " [        U5      5         S nAGNS nAff = f! , (       d  f       N= f! , (       d  f       g = f)Nr   r   gsr   pdftopslog      u	   Déjà vur   u    −€r   )formatr   	papertypeasciir   r   s   letterr   s   432.0s   576.0s   -dDEVICEWIDTHPOINTS=s   -sPAPERSIZEs   %%DocumentPaperSizess   (?<=
%%CreationDate: ).*    s   
   
)mplrcParamsupdate_get_executable_infoExecutableNotFoundErrorpytestskipstrpltsubplotsioStringIOBytesIO
set_yscaleplot	set_titleappendRuntimeErrorMatplotlibDeprecationWarningsavefigtupleclosedgetvalueencodelowerresubreplace)r%   use_logr+   r   r   excfigaxs_bufb_buftitleallowable_exceptionss_valb_valwidthwanteds                   R/var/www/html/env/lib/python3.13/site-packages/matplotlib/tests/test_backend_ps.pytest_savefig_to_stringiorS      s#   * LL!
||%&-7	"$$T* 
'	(F	2	"$$T*$$Y/ llnGC	%MM% 
AA||M*33E
U!<<& ''5<<$ ''(H(HI	"KK+"+  -KK+"+  -
 <<<< ''0 T> ||-.&8 ($EKKM999$555/0CLL4O$/;$>H=F(=R1E9- &(2%???2e;;;
 3S%@3S%@gu5555o ". ** 	"KKC!!	" ** 	"KKC!!	"2 )* 	"KKC!!	") ".s   L" ',M# ?O1CO "N$=EO O1"M 6MM #N!7NN!$O3OO OO  
O.	*O11
O?c                  $   [         R                  " SSS9/[        R                  S'   [        R
                  " 5       u  pUR                  / SQ5        [        R                  " 5        nU R                  USS9  S S S 5        g ! , (       d  f       g = f)N   w)	linewidth
foregroundzpath.effects)r#   r$   r   r   r%   )
r   
withStroker*   r+   r2   r3   r8   r4   r6   r=   )rH   rI   r   s      rR   test_patheffectsr[   t   s`    s;$=CLL llnGCGGI	Bt$ 
s   'B
Bc                 X   U S-  nUR                  5         [        R                  " [        [	        U5      S9   S[
        R                  S'   [        R                  " / SQ5        [        R                  " S5        [        R                  " US-  SS	9  S S S 5        g ! , (       d  f       g = f)
Nzshort-1)tempdirTr   )r#   r$   r   rU   z\textbf{time} (s)ztex_demo.epsr   rY   )mkdirr   _setattr_cmtempfiler1   r*   r+   r2   r8   xlabelr=   )tmp_pathbase_tempdirs     rR   test_tilde_in_tempfilenamerd   }   sx     i'L 
		8S->	?&*]#

'(L>1$? 
@	?	?s   AB
B)z	empty.epsc                      [         R                  " 5       u  pUR                  5         UR                  SS/SSS9  UR	                  SSSSSS9  g )Nr   r#   rcoloralpha      ?foo)r2   r3   set_axis_offr8   textrH   rI   s     rR   test_transparencyro      sE    llnGCOOGGQF#QG'GGBEAG.r(   c                      S[         R                  S'   [        R                  " 5       u  pUR	                  5         UR                  SS/SSS9  UR                  SSSSSS9  g )	NTr   r   r#   rf   rg   rj   rk   )r*   r+   r2   r3   rl   r8   rm   rn   s     rR   test_transparency_texrq      sU     #'CLLllnGCOOGGQF#QG'GGBEAG.r(   c            	      z   [         R                  " 5       u  p[        R                  " 5        nU R	                  USS9  UR                  5       nS S S 5        [        R                  " SW[        R                  5      nU(       d   e[        R                  " SU[        R                  5      nU(       d   e[        SS5       Hg  nSUR                  U5      ;  d   e[        UR                  U5      5      [        R                  " [        UR                  U5      5      S5      :X  a  Mg   e   g ! , (       d  f       N= f)Nr   rY   s$   ^%%BoundingBox: (.+) (.+) (.+) (.+)$s)   ^%%HiResBoundingBox: (.+) (.+) (.+) (.+)$r#         .)r2   r3   r4   r6   r=   r@   rC   search	MULTILINErangegroupintr/   approxfloat)rH   rI   bufbbhibbis         rR   	test_bboxr      s    llnGC	C&lln 
 
:C	NBI299A3\\#DK41a[288A;&&&288A;6==tzz!}1Eq#IIII  
s   !D,,
D:c                     S[         R                  S'   [        R                  " S5        [        R
                  " [        5         [        R                  " [        R                  " 5       SS9  SSS5        g! , (       d  f       g= f)z"Test failing latex subprocess callTr   z$22_2_2$r   rY   N)
r*   r+   r2   ra   r/   raisesr;   r=   r4   r6    r(   rR   test_failing_latexr      sJ     #'CLLJJz	|	$BJJL. 
%	$	$s   )A66
Bc                    U R                  S5        [        R                  " SSSSS9  [        R                  " SSSSS9  [        R                  " [        R
                  " 5       SS	9  U R                  u  nS
UR                  5       ;   d   eg )NWARNING皙?rk   T)usetex皙?barr   rY   zas if usetex=False)	set_levelr2   figtextr=   r4   r6   records
getMessage)caplogrecords     rR   test_partial_usetexr      sj    
YKKBd+KKBd+KK

T*nnGF6#4#4#6666r(   c                     [         R                  R                  SSS.5        [        R                  " SSS5        [        R
                  " [        R                  " 5       SS9  g )NTz$\usepackage{color,graphicx,textcomp})r   ztext.latex.preamblerj   rk   r   rY   )r*   r+   r,   r2   r   r=   r4   r6   )r   s    rR   test_usetex_preambler      sE    LLF 
 KKBKK

T*r(   z
useafm.epsc                      S[         R                  S'   [        R                  " 5       u  pUR	                  5         UR                  S5        UR                  SSS5        g )NTr   rj   qk)r*   r+   r2   r3   rl   axhlinerm   rn   s     rR   test_useafmr      sB     $CLLllnGCOOJJrNGGBDr(   z	type3.epsc                  4    [         R                  " SSS5        g )Nrj   zI/J)r2   r   r   r(   rR   test_type3_fontr      s    KKBr(   zcoloredhatcheszerolw.epsc                     [         R                  " 5       n U R                  [        SSSSSSSS95        U R                  [        SS	S	S
SSSS95        U R                  [        SSSSSSSS95        U R	                  5         g )N)r   r   r#   /nonerf   r   )hatch	facecolor	edgecolorrW   )rj   rj   rj   +gr   )r#   r#   g333333?g?\b)r2   gca	add_patchr
   rl   )rI   s    rR   !test_colored_hatch_zero_linewidthr      s}    	BLLASF#&!5 6LLS#SF#&#7 8LLc#&!5 6OOr(   )
extensionsc                 ~    U R                  5       nUR                  SSSU R                  SS9  UR                  5         g )Nr   helloT)	transformclip_on)add_subplotrm   transFigure)fig_testfig_refrI   s      rR   test_text_clipr      s8    				BGGAq'X%9%94GHr(   c                     [         R                  " 5       nUR                  SSS5        U S-  nUR                  U5        [        R
                  R                  R                  USS9  g )Nrj   defztest.epsF)cache)r2   r   rm   r=   r*   testingcompareconvert)rb   rH   outs      rR   test_d_glyphr      sR     **,CHHRU
Z
CKKKK51r(   ztype42_without_prep.epsmpl20)stylec                      S[         R                  S'   S[         R                  S'   [        R                  " SSS5        g )N*   ps.fonttypestixzmathtext.fontsetrj   zMass $m$)r*   r+   r2   r   r   r(   rR   test_type42_font_without_prepr      s1     #%CLL'-CLL#$KKS*%r(   fonttype342c                 ^   U [         R                  S'   [        R                  " 5       u  pUR	                  SSS5        [
        R                  " 5       nUR                  USS9  S[        U  SS	9-   S
-   n[        R                  " XCR                  5       [        R                  5      (       d   eg )Nr   g      ?rj   z&Forty-two is the answer to everything!r   rY   s
   /FontType zutf-8)encodings    def)r*   r+   r2   r3   rm   r4   r6   r=   bytesrC   ru   r@   rv   )r   rH   rI   r|   tests        rR   test_fonttyper   	  s    "*CLLllnGCGGD#?@
**,CKKDK!5H:AAGKD99T<<>2<<8888r(   c                      [         R                  " 5       u  pUR                  SS/SS9  [        R                  " 5       nU R                  USS9  UR                  5       S:  d   eg)z-Test that dashed lines do not break PS outputr   r#   z--)	linestyler   rY   N)r2   r3   r8   r4   r6   r=   tell)rH   rI   r|   s      rR   test_linedashr     sP    llnGCGGQFdG#
**,CKKDK!88:>>r(   c                      [        5       n U R                  SSS5        [        R                  " 5       nU R	                  USS9  U R	                  USS9  g )Nrj   z
foo

r   rY   r   )r	   rm   r4   r6   r=   )r   r|   s     rR   test_empty_liner   $  sD    XF
KKS+&
**,C
NN3uN%
NN3tN$r(   c                  0   [        5       n U R                  SS[        SS9S9nUR                   H&  nUR	                  / / S9  UR                  SS/5        M(     U R                  S5        [        R                  " 5       nU R                  US	S
9  UR                  S5        UR                  5        Vs/ s H/  nUR                  S5      (       d  M  UR                  S5      S   PM1     nn[        [        U5      R!                  5       5      S:X  d   eg s  snf )NrU   polar)
projection)
subplot_kw)xticksyticksr#   r$   zhello, worldr   rY   r   r    )r	   r3   dictflatsetr8   suptitler4   r5   r=   seek	readlines
startswith	partitionmaxr   values)rH   axsrI   r|   lnwdss         rR   test_no_duplicate_definitionr   -  s    
(C
,,q!(@,
AChh
b$
A  LL 
++-CKKEK"HHQK " 2mmC   2<<Q   " ws|""$%***	"s   2DDzmulti_font_type3.epsgRQ?)tolc                  ^   [         R                  " S/S9n [        [         R                  " U 5      5      R                  S:w  a  [
        R                  " S5        [        R                  " SSS/SS9  [        R                  " S	S
S9  [        R                  " 5       nUR                  SSS5        g )NWenQuanYi Zen Heifamilywqy-zenhei.ttcFont may be missingfontDejaVu Sans   r   sizer   r   r   333333?ffffff?"   There are 几个汉字 in between!fmFontPropertiesr   findfontnamer/   r0   r2   rcr   rm   fprH   s     rR   test_multi_font_type3r   A  s    			#6"7	8BBKKO!!%55)*FF6=*=>RHFF4!
**,CHHT5>?r(   zmulti_font_type42.epsg?c                  ^   [         R                  " S/S9n [        [         R                  " U 5      5      R                  S:w  a  [
        R                  " S5        [        R                  " SSS/SS9  [        R                  " S	S
S9  [        R                  " 5       nUR                  SSS5        g )Nr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s     rR   test_multi_font_type42r   N  s    			#6"7	8BBKKO!!%55)*FF6=*=>RHFF4"
**,CHHT5>?r(   zscatter.epsc                  h   [         R                  R                  S5      n U R                  SSS5      nU R                  SSS5      nU R                  SSS5      n[        R
                  " 5       u  pEUR                  XU/ SQSS	9  UR                  5         [        S
S5       Vs/ s H"  n[        R                  R                  U5      PM$     nnU R                  SSS5      R                  SS5      nSS/n[        R                  " XsSSUS9n	UR                  U	5        UR!                  SS5        g s  snf )Ni!N,r   r#   
      d   )g?r   r   <)r   markerr            r$   g{Gz?g{Gz?yellow)zorder
facecolorsoffsets)nprandomdefault_rnguniformr2   r3   scatterrl   rw   r   r   unit_regular_polygonreshapemcollectionsPathCollectionadd_collectionset_xlim)
rngxvalsyvalssizesrH   rI   r   pathsr  pcs
             rR   test_path_collectionr  [  s   
))


)CKK1b!EKK1b!EKKC$EllnGCJJuUocJJOO8=aD1TYY++A.EDkk!S"%--b!4G4LE		$	$U"08'
KBbKK1 Es   ")D/zcolorbar_shift.epsbbox_inchestight)savefig_kwargr   c                     [         R                  " / SQ5      n[         R                  " / SQUR                  5      n[        R
                  " SS/SS/SS/XS9  [        R                  " 5         g )N)rf   r   r   )r  g      rj   r#   r   r#   )ccmapnorm)mcolorsListedColormapBoundaryNormNr2   r  colorbar)rb   r#  r$  s      rR   test_colorbar_shiftr*  m  sR     !!/2D 2DFF;DKKAA1a&t?LLNr(   c                  h   [         R                  " 5       n [        R                  " [        SS9   U R                  [        R                  " 5       SSS9  S S S 5        [        R                  " [        SS9   S[        R                  S'   S S S 5        g ! , (       d  f       ND= f! , (       d  f       g = f)Nz'auto' is not a valid value)matchr   auto)r%   r&   zps.papersize)
r2   r   r/   r   
ValueErrorr=   r4   r6   r*   r+   )rH   s    rR   test_auto_papersize_removalr/  v  sv    
**,C	z)F	GBJJL&A 
H 
z)F	G'-^$ 
H	G 
H	G 
H	Gs   %B5B#
B #
B1)>collectionsr   pathlibr   r4   rC   r`   numpyr  r/   
matplotlibr   r   r   r   r   matplotlib.figurer	   matplotlib.patchesr
   matplotlib.testing._markersr   r   matplotlib.testing.decoratorsr   r   r*   matplotlib.collectionsr  matplotlib.colorscolorsr%  matplotlib.pyplotpyplotr2   markflakyparametrizerS   r[   rd   ro   rq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r*  r/  r   r(   rR   <module>r@     s/     	 	    C C $ & G O  - #  !x&:;[(AB4	5"	5$m45	5$f-.	5=$'(
E2
D;%&
EM4()7  "G6# C < (G6T% @  @" ;- / !/ ;- / ! /J$ / / 7 7 + + <.! " ;-  ! -./ 0 ( ) 2 2 ,-W=& >& c4[19 29	%+( )*5	@ 6	@ *+5	@ 6	@ =/" #" '(8P!!.r(   