
    hY                        S SK r 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  S SKJr  S SKJr  S SKJr  S SKJrJr  S SKJr  S S	KJr  S S
KJrJr  S r \" S/SS9S 5       r!\" S/SS9S 5       r"S r#\" S/5      S 5       r$\" S/5      S 5       r%\" SS9S 5       r&\" 5       S 5       r'\" SSS/S9S 5       r(S  r)\RT                  RW                  S!5      \S" 5       5       r,S# r-S$ r.S% r/S& r0S' r1S( r2S) r3S* r4S+ r5S, r6\" S-/S.S9S/ 5       r7\" S0/5      S1 5       r8\Rr                  Ru                  S2S3S40\;S54S3S4/0\;S64S7S40\;S84S7S4/0\;S94S:S40\;S;4S:S4/0\;S<4S=S40\;S>4S?S40\;S@4SASB0\<SC4/	5      SD 5       r=SE r>\Rr                  Ru                  SF/ SGQ5      \Rr                  Ru                  SHSSI/5      SJ 5       5       r?SK r@SL rAg)M    N)BytesIO)Path)Figure)Circle)Text)check_figures_equalimage_comparison)needs_usetex)font_manager)OffsetImageAnnotationBboxc                  2   [         R                  " 5       u  p[        R                  " SS[        R                  -  S5      n[        R
                  " U5      n[        R                  " U5      nUR                  X#USS9u  pVnU H  nUR                  S5        M     [        5        n	U R                  U	SS9  U	R                  5       n
S S S 5        [        R                  R                  R                  5       nUR!                  W
5        g ! , (       d  f       NH= f)	Nr      2   ko)yerrfmtFsvgformat)pltsubplotsnplinspacepisin	ones_likeerrorbarset_visibler   savefiggetvaluexmlparsersexpatParserCreateParse)figaxxyr   abcartistfdbufparsers               S/var/www/html/env/lib/python3.13/site-packages/matplotlib/tests/test_backend_svg.pytest_visibilityr3      s    llnGC
Aq255y"%A
q	A<<?Dkk!Ttk4GA!5!  
bBu%kkm 
 [[++-F
LL 
s   %!D
Dzfill_black_with_alpha.svgT)remove_textc                  `    [         R                  " 5       u  pUR                  / SQ/ SQSSSS9  g )N)r   皙?   )r   r   r   kr6   i'  )r)   r*   r-   alphas)r   r   scatterr'   r(   s     r2   test_fill_black_with_alphar=   )   s%    llnGCJJ	SuJE    noscalec                     [         R                  " [         R                  " SSS5      [         R                  " SSS5      5      u  p[         R                  " US-  5      n[        R
                  " 5       u  p4UR                  USSS9  g )N   r7      graynone)cmapinterpolation)r   meshgridaranger   r   r   imshow)XYZr'   r(   s        r2   test_noscalerN   /   s^    ;;ryyQ*BIIb!Q,?@DA
qAvAllnGCIIafFI3r>   c                     [         R                  " 5       n SnU R                  SUS9  [        5        nU R	                  USS9  UR                  5       R                  5       nS S S 5        SU S3nUW;   d   eg ! , (       d  f       N= f)Nz$http://test_text_urls.matplotlib.orgtest_text_urls)urlr   r   z<a xlink:href="z">)r   figuresuptitler   r    r!   decode)r'   test_urlr/   r0   expecteds        r2   rP   rP   8   sw    
**,C5HLL!xL0	bBu%kkm""$ 
 !
"-Hs?? 
s   /A88
Bzbold_font_output.svgc                     [         R                  " 5       u  pUR                  [        R                  " S5      [        R                  " S5      5        UR                  S5        UR                  SSS9  UR                  SSS9  g )N
   nonbold-xlabelbold-ylabelbold
fontweight
bold-title)r   r   plotr   rI   
set_xlabel
set_ylabel	set_titler<   s     r2   test_bold_font_outputrc   F   sZ    llnGCGGBIIbM299R=)MM"#MM-FM3LL&L1r>   z'bold_font_output_with_none_fonttype.svgc                  .   S[         R                  S'   [         R                  " 5       u  pUR                  [        R
                  " S5      [        R
                  " S5      5        UR                  S5        UR                  SSS9  UR                  SSS9  g )	NrE   svg.fonttyperX   rY   rZ   r[   r\   r^   )	r   rcParamsr   r_   r   rI   r`   ra   rb   r<   s     r2   (test_bold_font_output_with_none_fonttyperg   O   sh    #)CLL llnGCGGBIIbM299R=)MM"#MM-FM3LL&L1r>      )tolc           	      t   [         R                  " SS5      S-  n[         R                  " U5      n[         R                  " U5      nUR	                  5       nUR                  X4SSSS9  UR                  US-   USS	SS9  U R	                  5       nUR                  X4SSSS
S9  UR                  US-   USS	SS
S9  g )Nr   d   ffffff@-rrX   )r-   lwr7   r,   Tr-   ro   
rasterized)r   rI   cosr   r   r_   fig_testfig_reftr)   r*   ax_refax_tests          r2   test_rasterizedry   Y   s    
		!SS!A
q	A
q	AF
KKcSRK(
KK!QsrK*!GLLscbTL:LL1atL<r>   c           
         [         R                  " SS5      S-  n[         R                  " U5      n[         R                  " U5      nUR	                  5       nUR                  SS5        UR                  SS5        UR                  X4SSS	S
S9  UR                  US-   USSS	SS9  UR                  US-   USSS	S
S9  UR                  US-   USSS	S
S9  U R	                  5       nUR                  SS5        UR                  SS5        UR                  X4SSS	S
SS9  UR                  US-   USSS	S
SS9  UR                  US-   USSS	S
SS9  UR                  US-   USSS	SSS9  g )Nr   rk   rl      gg?rm   rn   rX   Trp   r7   r,   FrC   gm)r-   ro   rq   zorderg?gffffff?g333333?)r   rI   rr   r   r   set_xlimset_ylimr_   rs   s          r2   test_rasterized_orderingr   h   se   
		!SS!A
q	A
q	AF
OOAq
OOD#
KKcSRDK9
KK!QsreK<
KK!QsrdK;
KK!QsrdK;!GQT3LLscbT#LFLL1atCLHLL1atCLHLL1auSLIr>   rB   r   pdf)ri   
extensionsc           	         SS/nUR                  5       nUR                  US   /US   /SSSS9  [        R                  R	                  S5      n[        R                  R                  XBS	S
9nUR                  U5        U R                  5       nUR                  US   /US   /SSSSS9  [        R                  R	                  S5      n[        R                  R                  XBS	S
9nUR                  U5        g )Ng?r   r7   r)   blackrC   )markerr-   r~   rK   g @)r~   T)r   r-   r~   rq   )r   r_   mpl	offsetboxTextArear   
add_artist)rt   ru   locrw   r,   aboxrx   s          r2   test_prevent_rasterizationr      s    ,CF
KKQ3q6(3'!KDs#A==''s';D
d!GLL#a&CF8C71   " 	s#A==''s';Dtr>   c                  ~   S n [         R                  " 5       nUR                  SSS5      nUR                  5         [	        S5       H  nUR                  SS/SU/SSS9  M     U " US	5      S:X  d   eU " US
5      S:X  d   e[         R                  " 5       nUR                  SSS5      nUR                  5         [	        S5       H  nUR                  SS/SU/SSS9  M     U " US	5      S:X  d   eU " US
5      S:X  d   e[         R                  " 5       nUR                  SSS5      nUR                  5         [	        S5       H/  nUR                  SS/US/SSS9  UR                  SS/SU/SSS9  M1     U " US	5      S:X  d   eU " US
5      S:X  d   e[         R                  " 5       nUR                  SSS5      n	U	R                  5         U	R                  S5        [	        S5       H/  nU	R                  SS/US/SSS9  U	R                  SS/SU/SSS9  M1     U " US	5      S:X  d   eU " US
5      S:X  d   e[         R                  " 5       n
SU
l        U
R                  SSS5      nUR                  5         [	        S5       H  nUR                  SS/SU/SSS9  M     U " U
S	5      S:X  d   eU " U
S
5      S:X  d   eg )Nc                     [        5        nU R                  USS9  UR                  5       R                  5       nS S S 5        WR	                  SU 35      $ ! , (       d  f       N"= f)Nr   r   <)r   r    r!   rT   count)r'   tagr/   r0   s       r2   	count_tag%test_count_bitmaps.<locals>.count_tag   sQ    Y"KK5K)++-&&(C  yy1SE## Ys   /A
A$r7   rB   r   rh   zb-F)rq   imagepath   T)r   rR   add_subplotset_axis_offranger_   set_rasterizedsuppressComposite)r   fig1ax1nfig2ax2fig3ax3fig4ax4fig5ax5s               r2   test_count_bitmapsr      s   $ ::<D


1a
#C1X!R1a&$59 T7#q(((T6"a''' ::<D


1a
#C1X!R1a&$48 T7#q(((T6"a''' ::<D


1a
#C1X!R1a&$59!R1a&$48  T7#q(((T6"a''' ::<D


1a
#Ct1X!R1a&$59!R1a&$48  T7#q(((T6"a''' ::<D!D


1a
#C1X!R1a&$48 T7#q(((T6"a'''r>   defaultc            	         [        5       n U R                  SSSSS9  [        5        nU R                  USS9  UR	                  5       nS S S 5        [
        R                  R                  R                  W5      nSnSn[        UR                  S	U S
U S35      5      S:X  d   eSU 3UR                  S	U S35      R                  R                  5       ;   d   eg ! , (       d  f       N= f)N      ?z\textwonT)usetexr   r   http://www.w3.org/2000/svgzSFSS3583-8e.//{z}path[@d][@id=""]r7   #z}use)r   textr   r    r!   r"   etreeElementTree
fromstringlenfindallfindattribvalues)r'   r/   r0   treenswon_ids         r2   test_unicode_wonr      s     (CHHR[H.	bBu%kkm 
 99  ++C0D	%BFt||eB4'7xrBCDIIIvh<499uRD%67>>EEGGGG 
s   !C
C)c                  B   [         R                  R                  SSS.5        Sn [         R                  " 5       u  pUR	                  [
        R                  " S5      SU 5        UR                  [
        R                  " S5      [
        R                  " S5      5        UR                  S	S
5        [        5        nUR                  USS9  UR                  S	5        UR                  5       R                  5       nS S S 5        U W;   a  SU;   d   eg ! , (       d  f       N= f)NrE   	condensed)re   zfont.stretchzUnlikely to appear by chancez
2019-06-30r7   z
2019-01-01z
2019-12-31r   rC   r   r   )r   rf   updater   r   r   
datetime64r   r   r   r    seekreadrT   )rV   r'   r(   r/   r0   s        r2   "test_svgnone_with_data_coordinatesr      s    LLMN-HllnGCGGBMM,'H5KKl+R]]<-HIKK1	bBu%

ggi  

 s?{c1111 
s   9A D
Dc                    ^^ SSK Jm  SSKJm  [        R
                  " 5       n U R                  S5      nUR                  SS/SS//SS	9  UR                  / S
Q/ S
QSS9  UR                  / SQSS9  UR                  5         UR                  5       nUR                  / S
Q/ S
Q5        U R                  SSS9nUR                  / SQ/ S
Q5        U R                  SSS9nUR                  SS/SS/SS/5        U R                  R                  5         0 n[        U R!                  SS95       HM  u  pgUR#                  5       (       d  M  SUR$                  R&                   SU 3nXuU'   UR)                  U5        MO     [+        5        n	U R-                  U	SS9  U	R/                  5       R1                  5       n
SSS5        UU4S jnUR3                  5        H  u  pU" X5      (       d  M  UW
;   a  M   e   g! , (       d  f       NF= f)z+Test that object gid appears in output svg.r   )	OffsetBox)Tick   g      ?g       @g      @auto)aspectr7   rC   r{   	myscatter)label)rC   r{   r7   myplot   polar)
projection)r   g      ?r{      3dr7   rC   T)include_selftest123_r   r   Nc                 ,  > [        UT5      (       a  g[        U[        5      (       a#  UR                  5       S:X  a  gUR                  c  g[        U[        R
                  5      (       aS  UR                  5       u  p#[        U5      [        U5      s=:X  a  S:X  a   g  [        US5      (       a  UR                  c  g[        UT5      (       aF  UR                  5       nUS:X  a  gUR                  5       nU[        U5      :  d  U[        U5      :  a  gg)NF r7   axesr   T)
isinstancer   get_textr   r   Line2Dget_datar   hasattrget_locget_view_intervalminmax)gidobjxdataydatar   vir   r   s         r2   includetest_gid.<locals>.include  s    c9%%c4  ||~#!c3::&&<<>LE5zSZ,1, -S&))SXX-=c4  ++-Cax&&(BSW}c"gr>   )matplotlib.offsetboxr   matplotlib.axisr   r   rR   r   rJ   r;   r_   legendtwinxbarcanvasdraw	enumeratefindobjget_visible	__class____name__set_gidr   r    r!   rT   items)r'   r   ax1ar   r   gdicidxr   r   r/   r0   r   r   r   s               @@r2   test_gidr      s   .$
**,C
//#
CJJR2r(#FJ3KK	9KK8HHYhH'JJL99;DHHY	"
//#'/
2CHH[)$
//#$/
/CHHaVaVaV$JJOODckktk<=??CMM2231SE:CIKK	 > 
bBu%kkm""$ 
0 JJL3#:: !9 
s   /G55
Hc                     [        5       [        SSS9p[        S5       H7  nU R                  5       nUR	                  U//5      nUR                  U5        M9     [        SSS9nU R                  5       nUR	                  S//5      nUR                  U5        [        5        nU R                  USS9  UR                  5       nS S S 5        [        R                  R                  R                  W5      nS	n	[        5       n
UR                  S
U	 S35       H*  nUR                  S   nX;  d   eU
R!                  U5        M,     [#        U
5      S:X  d   eg ! , (       d  f       N= f)N)r   r   rX   )radiusrB   r7   r   r   r   r   r   z}clipPath[@id]idrC   )r   r   r   r   rJ   set_clip_pathr   r    r!   r"   r   r   r   setr   r   addr   )r'   circleir(   aimginner_circler/   r0   r   r   clip_path_idsnodenode_ids                r2   test_clip_path_ids_reuser	  /  s6   (F6"51X__yy1#6" 
 &+L		B99qcUD|$	bBu%kkm 
 99  ++C0D	%BEMuRD89++d#+++'" : }""" 
s   "!E
E#c                  @    [         R                  " [        5       SSS9  g )Nsvgztight)r   bbox_inches)r   r    r    r>   r2   test_savefig_tightr  J  s     KK	&g>r>   c                     [         R                  " 5       u  pUR                  / SQ/ SQ5      nUR                  / SQ5        [         R                  " / SQ/ SQ5      u  nUR                  S5        [         R                  " / SQ/ SQSSS	9u  nUR                  S
5        [        5       nU R                  USS9  UR                  5       nS H  nSU-   U;   a  M   e   g )Nr   r   rB   r   )zhttps://example.com/foozhttps://example.com/barN)rC   r{   r   zhttps://example.com/baz)r{   r   rB   rE   r)   )	linestyler   zhttps://example.com/quuxr   r   )s   foos   bars   bazs   quuxs   https://example.com/)	r   r   r;   set_urlsr_   set_urlr   r    r!   )r'   r(   r:   pr,   vs         r2   rU   rU   P  s     llnGC 	

9i(AJJKL 
)Y	'BAII'( 
)Y&	EBAII()	AKK%K 	

A.&*a/// /r>   c                 |   U R                  SS5        [        R                  " 5       u  pUR                  / SQ/ SQ5        [	        UR
                  R                  5       5       H  u  p4UR                  SU 35        M     [        R                  " 5       u  pRUR                  / SQ/ SQ5        [	        UR
                  R                  5       5       HA  u  p4UR                  R                  SU 35        UR                  R                  SU 35        MC     [        5       nUR                  USS9  UR                  5       n[        5       nUR                  USS9  UR                  5       n[        [        UR
                  R                  5       5      5       H  nSU 3R                  S5      U;   a  M   e   Xg:X  d   eg )	NSOURCE_DATE_EPOCH19680801r   r  zhttps://example.com/r   r   ascii)setenvr   r   r;   r   yaxisget_major_ticksr  label1label2r   r    r!   r   r   encode)monkeypatchr   r(   r  tickr   b1b2s           r2   test_url_tickr%  h  s_   *J7||~HDJJy)$RXX5578+A3/0 9 ||~HDJJy)$RXX557821#6721#67 9 
BLLEL"	B	BLLEL"	B3rxx//123%aS)009R??? 48O8r>   c           
      b   U R                  SS5        [        R                  " 5       u  p[        5        nUR	                  USS9  UR                  5       R                  5       nS S S 5        [        R                  W;   d   eSU;   d   eSU;   d   eSU;   d   e[        5        nUR	                  USS S S S S.S	9  UR                  5       R                  5       nS S S 5        [        R                  U;  d   eSU;  d   eSU;  d   eSU;  d   eg ! , (       d  f       N= f! , (       d  f       NN= f)
Nr  r  r   r   
1970-08-16image/svg+xml
StillImageDateCreatorFormatTyper   metadata)	r  r   r   r   r    r!   rT   r   __version__)r!  r'   r(   r/   r0   s        r2   test_svg_default_metadatar2    s    *J7llnGC	bBu%kkm""$ 

 ??c!!!3c!!!3 
bBu:>0N 	Okkm""$ 
 ??#%%%s"""#%%%s"""5 
 
s   /D#5D 
D 
D.c           
         U R                  SS5        [        R                  SSSS.nSnSnS	nS
n[        R                  " 5       u  pgU GH  n[        5        n	UR                  U	SUR                  5       S 0S9  U	R                  5       R                  5       n
S S S 5        [        R                  R                  R                  W
5      nUR                  SU SU SU S35      u  nU H_  nUR                  SU U 35      nX:X  a  U(       a   eM)  Uu  n[        R                  R                  R                  USS9nX   U;   a  M_   e   GM     g ! , (       d  f       N= f)Nr  r  r'  r(  r)  )creatordater   type{http://www.w3.org/2000/svg}-{http://www.w3.org/1999/02/22-rdf-syntax-ns#} {http://creativecommons.org/ns#}"{http://purl.org/dc/elements/1.1/}r   r/  ./	metadata/zRDF/Workunicode)encoding)r  r   r1  r   r   r   r    titler!   rT   r"   r   r   r   r   tostring)r!  metadata_containsSVGNSRDFNSCCNSDCNSr'   r(   namer/   r0   rootworkkeydataxmlstrs                   r2   test_svg_clear_default_metadatarM    sF    *J7$'OO\#2LJ +E;E-D/DllnGC!Y"KK5DJJL$3GKH++-&&(C  yy$$//4r%	%TF$GH$C<<"TF3% 01D{xEDYY**33D93MF$)V333 % "Ys   A E
E	c            
      p   [         R                  " 5       u  p[        5        nU R                  USS S S S S.S9  UR	                  5       R                  5       nS S S 5        Sn[        R                  R                  R                  W5      nUR                  SU S35      (       a   eg ! , (       d  f       NV= f)Nr   r*  r/  r7  r;  r0  )r   r   r   r    r!   rT   r"   r   r   r   r   )r'   r(   r/   r0   rC  rH  s         r2   test_svg_clear_all_metadatarO    s     llnGC	bBu:>0N 	Okkm""$ 

 +E99  ++C0D||bx011111 
s   5B''
B5c                     / SQn / SQn[         R                  " SSS5      [         R                   " SSSSSS5      /SS	.U  Vs0 s H  o"U S
3_M
     snEU Vs0 s H  o"U S3U S3/_M     snEn[        R                  " 5       n[	        5        nUR                  USUS9  UR                  5       R                  5       nS S S 5        SnSnSn	Sn
[        R                  R                  R                  W5      nUR                  SU SU S35      u  nUR                  SU S35       Vs/ s H  oR                  PM     nnXS   /:X  d   eUR                  SU	 SU
 S35       Vs/ s H  nUR                  U S3   PM     nnXS   /:X  d   eS/U Q HW  nUS:X  a  M  UR                  SU	 SU
 UR                  5        35       Vs/ s H  nUR                  PM     nnUX2   /:X  a  MW   e   U H]  nUS:X  a  M  UR                  SU	 SU
 UR                  5        SU	 SU
 S3
5       Vs/ s H  nUR                  PM     nnUX2   :X  a  M]   e   UR                  SU	 SU
 S 35       Vs/ s H  oR                  PM     nnUS!/:X  d   eUR                  SU	 SU
 S"U S#U S$3	5       Vs/ s H  oR                  PM     nnUUS   :X  d   eg s  snf s  snf ! , (       d  f       GN = fs  snf s  snf s  snf s  snf s  snf s  snf )%N)Coverage
IdentifierLanguageRelationSourceTitler.  )Contributorr,  Keywords	PublisherRightsi     r7   rC   r{   zdescription
text)r+  Descriptionz fooz barz bazr   r/  r7  r8  r9  r:  r;  r<  RDFr@  rV  zWork/r6  resourcer.  r\  rX  /zAgent/r5  z1968-08-01/1968-08-02T01:02:03zsubject/zBag/li)datetimer5  r   rR   r   r    r!   rT   r"   r   r   r   r   r   r   lower)single_valuemulti_valuer8   r0  r'   r/   r0   rC  rD  rE  rF  rH  rdfr  titlestypesr   datess                     r2   test_svg_metadatari    s   %LOKtQ*""4Aq!Q79* #/
/,Q4j=,
/	
 1<
<1!DzaS:&&
<H **,C	bBux8kkm""$ 
 +E;E-D/D99  ++C0D<<"UG9UG378DC %)LL2eWE1B$CD$CDii$CFDw'((((r$uTF$%?@B@ [[E7(+,@ 
 Bf%&&&&+l+;!kkBtfE$	{*KLNLd ))L 	 N(+&&& , 
? TF%vaggi[$vdV5IKLK IIK 	 L $$$  $';;D6tfD/I#JK#J4YY#JEK56666 kkBtfE$xwd5'LMOM !iiM  OXj))))] 0
< 
 EBNL LOs<   KK0K)K*%K/K4+K9+K>+L
K'zmulti_font_aspath.svgg?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 )NWenQuanYi Zen Heifamilywqy-zenhei.ttcFont may be missingfontDejaVu Sans   rm  sizer   r   fonttype333333?ffffff?"   There are 几个汉字 in between!)fmFontPropertiesr   findfontrG  pytestskipr   rcrR   r   fpr'   s     r2   test_multi_font_type3r    s    			#6"7	8BBKKO!!%55)*FF6=*=>RHFF56"
**,CHHT5>?r>   zmulti_font_astext.svgc                  ^   [         R                  " S/S9n [        [         R                  " U 5      5      R                  S:w  a  [
        R                  " S5        [        R                  " 5       n[        R                  " SSS9  [        R                  " SS	S/S
S9  UR                  SSS5        g )Nrk  rl  rn  ro  r   rE   ru  rp  rq  rr  rs  rw  rx  ry  )rz  r{  r   r|  rG  r}  r~  r   rR   r  r   r  s     r2   test_multi_font_type42r    s    			#6"7	8BBKKO!!%55)*
**,CFF56"FF6=*=>RHHHT5>?r>   zmetadata,error,messager+  r7   z,Invalid type for Date metadata. Expected strz1Invalid type for Date metadata. Expected iterablerX  z0Invalid type for Keywords metadata. Expected strz5Invalid type for Keywords metadata. Expected iterabler,  z/Invalid type for Creator metadata. Expected strz4Invalid type for Creator metadata. Expected iterablerV  z-Invalid type for Title metadata. Expected strr-  z.Invalid type for Format metadata. Expected strFooBarzUnknown metadata keyc                     [         R                  " XS9   [        5        n[        R                  " 5       nUR                  USU S9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)N)matchr   r/  )r}  raisesr   r   rR   r    )r0  errormessager/   r'   s        r2   test_svg_incorrect_metadatar  )  sJ    & 
u	,gi2jjlBux8 /8	,	,ii	,	,s"   A)'AA)
A&	"A))
A7c                     [         R                  " 5       n U R                  SSSSS9  [        5        nU R	                  USS9  UR                  5       R                  5       nSU;   d   e S S S 5        g ! , (       d  f       g = f)Nr   z<'"&>)r   r   r   z&lt;&apos;&quot;&amp;&gt;")r   rR   r   r   r    r!   rT   )r'   r/   r0   s      r2   test_svg_escaper  A  sd    
**,CHHS#yiH0	bBu%kkm""$+s222 
s   7A33
Bfont_str)z7'DejaVu Sans', 'WenQuanYi Zen Hei', 'Arial', sans-serifz='DejaVu Serif', 'WenQuanYi Zen Hei', 'Times New Roman', serifz%'Arial', 'WenQuanYi Zen Hei', cursivez&'Impact', 'WenQuanYi Zen Hei', fantasyzA'DejaVu Sans Mono', 'WenQuanYi Zen Hei', 'Courier New', monospaceinclude_genericFc           	      p   [         R                  " S/S9n[        [         R                  " U5      5      R                  S:w  a  [
        R                  " S5        [        S U R                  S5      5      Gtp4n[        U5      nU(       a  XE/-   nU[        R                  SU 3'   U[        R                  S'   S	[        R                  S
'   [        R                  " 5       u  pxUS:X  a  / SQn	OU/n	U	 H/  n
UR                  SSSX:/SS9  UR                  SSSU/UQU
PSS9  M1     UR                  S5        [        5        nUR!                  USS9  UR#                  5       nS S S 5        [$        R&                  R(                  R+                  W5      nSnSnUR-                  SU S35       H\  nUS-  n[/        S [/        UR1                  5       5      S   R                  S5       5       5      nUS   U S3:X  d   eUS   U :X  a  M\   e   U[        UR2                  5      :X  d   eg ! , (       d  f       N= f) Nrk  rl  rn  ro  c                 $    U R                  S5      $ )N'stripr)   s    r2   <lambda>&test_svg_font_string.<locals>.<lambda>]  s    !''#,r>   z, zfont.z	font.sizerE   re   
sans-serif)sansr  z
sans serifr   ry  center)rm  har6   offr   r   r   r   r   z}textr7   c              3   v   #    U  H/  n[        S  UR                  5       R                  S5      5      v   M1     g7f)c                 "    U R                  5       $ )Nr  r  s    r2   r  0test_svg_font_string.<locals>.<genexpr>.<lambda>  s
    !'')r>   :N)mapr  split).0r   s     r2   	<genexpr>'test_svg_font_string.<locals>.<genexpr>~  s1      
C #QWWY__S%9::Cs   79style;z	font-sizepxzfont-family)rz  r{  r   r|  rG  r}  r~  r  r  r   r   rf   r   r   axisr   r    r!   r"   r   r   r   r   dictr   texts)r  r  r  explicitrestgenericrt  r'   r(   generic_optionsgeneric_namer/   r0   r   r   
text_counttext_element
font_styles                     r2   test_svg_font_stringr  J  s!    
		#6"7	8BBKKO!!%55)*"t 4 HW w<Di&*CLL5	"# $CLL#)CLL llnGC,>")'
S> /H 	 	> 	S> 64668 	 	E ( GGEN	bBu%kkm 
 99  ++C0D	%BJuRD%78a
 
,,,./8>>sC
 


 +&TF"+555-(H444 9 RXX&&&! 
s    !H''
H5c                     [         R                  " 5       n U R                  5       n[        R                  " S5      nSn[        USS9nXR                  l        [        XCSSSS[        S	S
S9S9nUR                  S5        UR                  U5        [        5        nU R                  USS9  UR                  5       R                  S5      nS S S 5        SnUW;   d   eg ! , (       d  f       N= f)N)    r  )g333333?g?r6   )zoom)g      ^@g      TrK  zoffset pointsr   z->zangle,angleA=0,angleB=90,rad=3)
arrowstyleconnectionstyle)xyboxxycoords	boxcoordspad
arrowpropsza test for issue 20044r   r   zutf-8z<g id="a test for issue 20044">)r   rR   r   r   onesr   r   r   r   r  r   r   r   r    r!   rT   )	r'   r(   arr_imgxyimageboxabr/   r0   rV   s	            r2   test_annotationbbox_gidr    s     **,C		BgghG	B7-HNN	*!'"1#''+,L$N
B JJ'(MM"	bBu%kkm""7+ 
 1Hs?? 
s   0C
C+c                  t   [         R                  " 5       u  pUR                  / SQ/ SQ5        U R                  R	                  5         [        5        nU R                  USS9  UR                  5       R                  5       nSSS5        [        R                  R                  R                  W5      n[         R                  S   b   eUR                  S5      (       a   eSn[         R                  " SUS	9  [        5        nU R                  USS9  UR                  5       R                  5       nSSS5        [        R                  R                  R                  U5      n[         R                  S   U:X  d   eUR                  S
U S35      (       d   eg! , (       d  f       GN= f! , (       d  f       N= f)z=Test that `svg.id` rcparam appears in output svg if not None.r   )r{   rC   r7   r   r   Nzsvg.idz.[@id]za test for issue 28535)r   z.[@id="r   )r   r   r_   r   r   r   r    r!   rT   r"   r   r   r   rf   r   r  )r'   r(   r/   r0   r   svg_ids         r2   
test_svgidr    sK    llnGCGGIy!JJOO 
bBu%kkm""$ 
 99  ++C0D<<!)))||H%%%% &FFF5V	bBu%kkm""$ 
 99  ++C0D<<!V+++<<'&,----) 
 
s   /F/F)
F&)
F7)Bra  ior   pathlibr   xml.etree.ElementTreer"   xml.parsers.expatr}  numpyr   
matplotlibr   matplotlib.figurer   matplotlib.patchesr   matplotlib.textr   matplotlib.pyplotpyplotr   matplotlib.testing.decoratorsr   r	   matplotlib.testing._markersr
   r   rz  r   r   r   r3   r=   rN   rP   rc   rg   ry   r   r   r   r  contextr   r   r   r	  r  rU   r%  r2  rM  rO  ri  r  r  markparametrize	TypeError
ValueErrorr  r  r  r  r  r  r>   r2   <module>r     s           $ %    O 4 ) >& ./TBF CF
 9+404 14 )*+2 ,2 <=>2 ?2 = = J J, u~6 7(6(t 9H  H2"<~#6?006#D4B2 6*r *+5	@ 6	@ *+,	@ -	@ 1a[)KLqc]I8:!_i791#	<>^Y68!y;=q\946]I57U^Z!78!4 $9%$93  &  *T5M:.' ;.'b>.r>   