ó
    [h­  ã            	       ó  • S SK r S SKrS SKJr  S SKJr  S SKJr	  S r
\" S/\R                  " 5       S:X  a  S OSS9S 5       r\" S	/5      S
 5       rS r\" S/S\R                  " 5       S:X  a  S OS\" SS9S9S 5       r\" S/S\R                  " 5       S:X  a  S OS\" SS9S9S 5       r\" S/SSS9S 5       r\" S/SS\R                  " 5       S:X  a  S OSS9S 5       r\" S/SS\R                  " 5       S:X  a  S OSS9S  5       rS! rg)"é    N)Úimage_comparisonc                 óF   • U R                  SSSU-   4SS[        USSS9S9  g )	NÚ ç      à?©r   r   é   ÚbÚk)Ú
arrowstyleÚfcÚec)ÚxyÚxytextÚsizeÚ
arrowprops)ÚannotateÚdict)ÚaxÚtÚrs      Úr/home/gothic/public_html/Fooocus/fooocus_env/lib64/python3.13/site-packages/matplotlib/tests/test_arrow_patches.pyÚ
draw_arrowr      s2   € Ø‡K�K�˜˜S 1™W�~¨j¸rÜ¨1Ø#&¨3ñ0ð ò 1ó    Úfancyarrow_test_imageÚx86_64gú~j¼t“ˆ?)Útolc            
      óH  • / SQn SS[         R                  R                  5       /n[        R                  " [        U5      [        U 5      SS[        SS9S9u  p#[        U 5       H;  u  pE[        U5       H'  u  pgX6U4   n[        X‡U5        UR                  SSS	9  M)     M=     g )
N)çš™™™™™Ù?ç333333Ó?çš™™™™™É?çš™™™™™¹?r   ÚfancyÚsimpleF)é   g      @é   )Úaspect)ÚsqueezeÚfigsizeÚ
subplot_kw)Ú	labelleftÚlabelbottom)
ÚmpatchesÚ
ArrowStyleÚFancyÚpltÚsubplotsÚlenr   Ú	enumerater   Útick_params)	r   r   ÚfigÚaxsÚi_rÚr1Úi_tÚt1r   s	            r   Útest_fancyarrowr:      s“   € ò 	 €AØ	�(œH×/Ñ/×5Ñ5Ó7Ð8€Aä�|Š|œC ›F¤C¨£F°EØ$,¼ÀQ¹ñI�H€Cô ˜Q–<‰ˆÜ  –|‰GˆCØ˜#�X‘ˆBÜ�r˜rÔ"Ø�N‰N U¸ˆNÓ>ó $ò  r   zboxarrow_test_image.pngc                  ó>  • [         R                  R                  5       n [        U 5      nSnX-  S-   n[        R
                  " SUS-  4S9nSn[        [        U 5      5       H8  u  pgUR                  SX-
  U-  S-
  U-  USUUR                  [        USS	S
9S9  M:     g )Ng333333ó?r   gUUUUUU@g      ø?©r(   g™™™™™™5@ÚcenterÚwr
   )Úboxstyler   r   )Úhar   Ú	transformÚbbox)r,   ÚBoxStyleÚ
get_stylesr1   r/   Úfigurer2   ÚsortedÚtextÚtransFigurer   )ÚstylesÚnÚspacingÚ	figheightr4   ÚfontsizeÚiÚ	stylenames           r   Útest_boxarrowrP      s¥   € ô ×Ñ×)Ñ)Ó+€FäˆF‹€AØ€Gà‘˜rÑ!€IÜ
�*Š*˜g y°3¡Ð7Ñ
8€Cà€Hä!¤&¨£.Ö1‰ˆØ�‰�˜™ Ñ(¨3Ñ.°	Ñ9¸9ØØØŸ?™?Ü I°#¸#Ñ>ð	 	ó 	@ò 2r   c            
      óì   • [         R                  " SSSS9n U R                  5       nUR                  SS/5        UR	                  SS/5        UR                  [        R                  " SSS	S
SS95        U $ )zé
Convenience function that prepares and returns a FancyArrowPatch. It aims
at being used to test that the size of the arrow head does not depend on
the DPI value of the exported picture.

NB: this function *is not* a test in itself!
Úfancyarrow_dpi_cor_test)é   é   é2   )r(   Údpir   r%   )r   r   )çš™™™™™é?g333333ã?rT   ú->éd   )ÚposAÚposBÚlwr   Úmutation_scale)r/   rE   Úadd_subplotÚset_xlimÚset_ylimÚ	add_patchr,   ÚFancyArrowPatch)Úfig2r   s     r   Ú!__prepare_fancyarrow_dpi_cor_testrd   4   sq   € ô �:Š:Ð/¸ÀRÑH€DØ	×	Ñ	Ó	€BØ‡K�K��A�ÔØ‡K�K��A�ÔØ‡L�L”×)Ò)¨zÀ
Ø-.¸4Ø9<ñ>ô ?ð €Kr   zfancyarrow_dpi_cor_100dpi.pngTg{®Gáz”?rY   )rV   )Úremove_textr   Úsavefig_kwargc                  ó   • [        5         g)zì
Check the export of a FancyArrowPatch @ 100 DPI. FancyArrowPatch is
instantiated through a dedicated function because another similar test
checks a similar export but with a different DPI value.

Remark: test only a rasterized format.
N©rd   © r   r   Útest_fancyarrow_dpi_cor_100dpirj   F   s
   € ô &Õ'r   zfancyarrow_dpi_cor_200dpi.pngéÈ   c                  ó   • [        5         g)zs
As test_fancyarrow_dpi_cor_100dpi, but exports @ 200 DPI. The relative size
of the arrow head should be the same.
Nrh   ri   r   r   Útest_fancyarrow_dpi_cor_200dpirm   U   s
   € ô &Õ'r   zfancyarrow_dash.pngÚdefault)re   Ústylec                  óâ   • [         R                  " 5       u  p[        R                  " SSSSSSSSS	9n[        R                  " SSSS
SSSSS	9nUR	                  U5        UR	                  U5        g )N)r   r   r   z-|>zangle3,angleA=0,angleB=90g      $@é   Údashedr
   )r   Úconnectionstyler]   Ú	linewidthÚ	linestyleÚcolorÚangle3Údotted)r/   r0   r,   rb   ra   )r4   r   ÚeÚe2s       r   Útest_fancyarrow_dashr{   a   sv   € ä�lŠl‹n�G€CÜ× Ò  ¨Ø,1Ø1LØ04Ø+,Ø+3Ø'*ñ	,€Aô 
×	!Ò	! &¨*Ø-2Ø2:Ø15Ø,-Ø,4Ø(+ñ
-€Bð ‡L�L�„OØ‡L�L�Õr   zarrow_styles.pngÚmpl20)ro   re   r   c            	      óÞ  • [         R                  R                  5       n [        U 5      n[        R
                  " SS9u  p#UR                  SS5        UR                  SU5        UR                  SSSSS9  [        [        U 5      5       HC  u  pE[         R                  " SUS-  S	-  -   U4S
US-  S	-  -   U4USS9nUR                  U5        ME     [        / SQ5       HŒ  u  pEUnUS   S:w  a  US-  nUS   S:w  a  US-  n[        SS/5       HX  u  p‰UR                  S[        U	5      5      n
[         R                  " SSU-  U-   4SSU-  U-   4U
SS9nUR                  U5        MZ     MŽ     g )N)r$   r$   r<   r   r%   éÿÿÿÿ)ÚleftÚrightÚbottomÚtopr!   rq   gš™™™™™©?gÍÌÌÌÌÌÜ?é   )r   r]   )z]-[z]-z-[z|-|Ú-z,angleA=ANGLEz,angleB=ANGLEiâÿÿÿé<   ÚANGLEgš™™™™™á?gÍÌÌÌÌÌì?)r,   r-   rD   r1   r/   r0   r_   r`   Úsubplots_adjustr2   rF   rb   ra   ÚreplaceÚstr)rI   rJ   r4   r   rN   rO   Úpatchro   ÚjÚangler   s              r   Útest_arrow_stylesr�   v   su  € ô × Ñ ×+Ñ+Ó-€FäˆF‹€AÜ�lŠl 6Ñ*�G€CØ‡K�K��1ÔØ‡K�K��AÔØ×Ñ˜Q a°°qÐÑ9ä!¤&¨£.Ö1‰ˆÜ×(Ò(¨#°°Q±¸±Ñ*<¸aÐ)@Ø*.°!°a±%¸±Ñ*=¸qÐ)AØ4=Ø8:ñ<ˆð 	�‰�UÖñ 2ô "Ò"<Ö=‰ˆØˆØ�Q‰<˜3ÓØ�_Ñ$ˆEØ�R‰=˜CÓØ�_Ñ$ˆEä! 3¨ )Ö,‰HˆAØŸ™ w´°E³
Ó;ˆJÜ×,Ò,¨d°A°a±C¸!±G¨_¸sÀAÀaÁCÈ!ÁG¸nØ8BØ<>ñ@ˆEð �L‰L˜Öó -ò >r   zconnection_styles.pngg9´Èv¾ŸŠ?c            	      ód  • [         R                  R                  5       n [        U 5      n[        R
                  " SS9u  p#UR                  SS5        UR                  SU5        [        [        U 5      5       H5  u  pE[         R                  " SU4SUS-   4S	US
S9nUR                  U5        M7     g )N)é   é
   r<   r   r%   r~   r!   rW   r   rX   rƒ   )r   rs   r]   )r,   ÚConnectionStylerD   r1   r/   r0   r_   r`   r2   rF   rb   ra   )rI   rJ   r4   r   rN   rO   rŠ   s          r   Útest_connection_stylesr’   —   s™   € ô ×%Ñ%×0Ñ0Ó2€FäˆF‹€AÜ�lŠl 7Ñ+�G€CØ‡K�K��1ÔØ‡K�K��AÔä!¤&¨£.Ö1‰ˆÜ×(Ò(¨#¨q¨°C¸¸S¹°>Ø48Ø9BØ8:ñ<ˆð 	�‰�UÖò 2r   c                  óÌ  • [         R                  R                  SSS9n [         R                  " SSU S9n[        R
                  " [        5         [        R                  " 5       R                  U5        S S S 5        [         R                  R                  SSS9n[         R                  " SSUS9n[        R                  " 5       R                  U5        g ! , (       d  f       Ng= f)Né   rk   )ÚangleAÚangleB)r    r    r   )rs   gÍÌÌÌÌüh@)
r,   r‘   ÚAngle3rb   ÚpytestÚraisesÚ
ValueErrorr/   Úgcara   )Úconn_style_1Úp1Úconn_style_2Úp2s       r   Útest_invalid_intersectionr    ©   s¬   € Ü×+Ñ+×2Ñ2¸"ÀSÐ2ÐI€LÜ	×	!Ò	! (¨HØ2>ñ
@€Bä	�Š”zÕ	"Ü�Š‹	×Ñ˜BÔ÷ 
#ô ×+Ñ+×2Ñ2¸"ÀUÐ2ÐK€LÜ	×	!Ò	! (¨HØ2>ñ
@€Bä‡G‚GƒI×Ñ˜Õ÷ 
#Õ	"ús   Á%CÃ
C#)r˜   ÚplatformÚmatplotlib.pyplotÚpyplotr/   Úmatplotlib.testing.decoratorsr   Úmatplotlib.patchesÚpatchesr,   r   Úmachiner:   rP   rd   r   rj   rm   r{   r�   r’   r    ri   r   r   Ú<module>r¨      sˆ  ðÛ Û Ý Ý :Ý %ò1ñ Ð*Ð+Ø#×+Ò+Ó-°Ó9‘a¸uñFñ?óFð?ñ Ð,Ð-Ó.ñ@ó /ð@ò(ñ$ Ð2Ð3ÀØ#×+Ò+Ó-°Ó9‘a¸tÙ $¨¡ñ/ñ	(ó/ð	(ñ Ð2Ð3ÀØ#×+Ò+Ó-°Ó9‘a¸tÙ $¨¡ñ/ñ(ó/ð(ñ Ð(Ð)°tÀ9ÑMñó Nðñ( Ð%Ð&¨gÀ4Ø#×+Ò+Ó-°Ó9‘a¸tñEñ óEð ñ> Ð*Ð+°7ÈØ#×+Ò+Ó-°Ó9‘a¸uñFñóFðó 
r   