ó
    {ñ:iÖZ  ã                   ó*  • S SK r S SKrS SKrS SKJ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  S SKJr  S SKJr  S	 rS
 rS rS r\R2                  R5                  S\
" / SQSS9SS4\
" / SQSS9SS4\
" / SQSS9SS4\
" / SQSS9SS4\
" / SQSS9SS4\
" / SQSS9SS4/5      S 5       rS r\
" S S /SS /SS/S S//\
R:                  \
R<                  \
R<                  \
R<                  /5      \
" S S /S S/SS //\
R:                  \
R>                  \
R>                  /5      \
" S S/SS//\
R:                  \
R@                  /5      \
" SS//\
R:                  /5      /r!/ SQr"\R2                  R5                  S\#" \!\"5      5      S 5       r$\R2                  R5                  S\
RJ                  \
RL                  /5      S 5       r'S  r(S! r)\" S"/SS#\ RT                  " 5       S$:X  a  S OS%S&9S' 5       r+\" S(/SS)9S* 5       r,\" S+/S#S,9S- 5       r-S. r.S/ r/\" S0/SS)9S1 5       r0\" S2/SS)9S3 5       r1\" S4/SS)9S5 5       r2\" S6/S7S/ S8Q\ RT                  " 5       S$:X  a  S OS9S:9S; 5       r3S< r4S= r5S> r6S? r7S@ r8\R2                  R5                  SA\Rr                  " SB V s/ s H  n \Ru                  / SCQ5      U -   PM     sn 5      5      SD 5       r;\R2                  R5                  SE\<" SFSGSH5      5      SI 5       r=SJ r>SK r?SL r@SM rASN rBSO rCSP rDgs  sn f )Qé    N)Úassert_array_equal)Úpatches)ÚPath)ÚPolygon)Úimage_comparison)Ú
transforms)Ú
MouseEventc                  ó*  • [        [        R                  " S5      SS9n U R                  R                  S:X  d   eU R
                  b   e[        U R                  5       R                  [        R                  R                  5       R                  5        g )N©r   é   T©Úclosed)r   ÚnpÚzerosÚverticesÚshapeÚcodesr   Úget_extentsÚextentsr   ÚBboxÚnull©Úpaths    Ú]/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/matplotlib/tests/test_path.pyÚtest_empty_closed_pathr      sn   € Ü”—’˜Ó ¨Ñ.€DØ�=‰=×Ñ &Ó(Ð(Ð(Ø�:‰:ÑÐÐÜ�t×'Ñ'Ó)×1Ñ1Ü!—‘×+Ñ+Ó-×5Ñ5õ7ó    c                  ó²   ^• [         R                  " 5       mU4S jn [        R                  " [        5         U " 5         S S S 5        g ! , (       d  f       g = f)Nc                  ó.   >• T R                   S-  T l         g )Nç       @)r   r   s   €r   Úmodify_verticesÚ+test_readonly_path.<locals>.modify_vertices   s   ø€ ØŸ™¨Ñ+ˆ�r   )r   Úunit_circleÚpytestÚraisesÚAttributeError)r    r   s    @r   Útest_readonly_pathr&      s6   ø€ Ü×ÒÓ€Dõ,ô 
�Š”~Õ	&ÙÔ÷ 
'×	&Ö	&ús   ·AÁ
Ac                  óp  • [         R                  " S5      R                  SS5      n [        R                  " [
        [        R                  " SU R                   35      S9   [        U 5        S S S 5        [         R                  " S5      R                  SSS5      n[        R                  " [
        [        R                  " SUR                   35      S9   [        U5        S S S 5        [         R                  " S5      R                  SS5      n[         R                  " S5      n[        R                  " SUR                   S	UR                   35      n[        R                  " [
        US9   [        X#5        S S S 5        g ! , (       d  f       GN= f! , (       d  f       Nº= f! , (       d  f       g = f)
Né   é   é   z
has shape )Úmatchr   é   zYour vertices have shape z but your codes have shape )
r   ÚarangeÚreshaper#   r$   Ú
ValueErrorÚreÚescaper   r   )Ú
bad_verts1Ú
bad_verts2Ú
good_vertsÚ	bad_codesÚmsgs        r   Útest_path_exceptionsr7   $   sE  € Ü—’˜2“×&Ñ& q¨!Ó,€JÜ	�Š”zÜŸYšY¨°J×4DÑ4DÐ3EÐ'FÓGó
IäˆZÔ÷
Iô —’˜2“×&Ñ& q¨!¨QÓ/€JÜ	�Š”zÜŸYšY¨°J×4DÑ4DÐ3EÐ'FÓGó
IäˆZÔ÷
Iô —’˜2“×&Ñ& q¨!Ó,€JÜ—	’	˜!“€IÜ
�)Š)Ð/°
×0@Ñ0@Ð/Að B1Ø1:·±Ð0AðCó D€Cä	�Š”z¨Ó	-ÜˆZÔ#÷ 
.Ð	-÷
Iö 
Iú÷

Iõ 
Iú÷ 
.Õ	-ús$   Á!FÃFÅ/F'Æ
FÆ
F$Æ'
F5c                  óÆ   • [         R                  " / SQ5      n SS/nU R                  U5      nUR                  S:X  d   e[        R
                  R                  USS/5        g )N)©r   r   ©r   é   ©r;   r;   ©r;   r   ©ç      à?r?   )ç      ø?r?   ÚboolTF)r   Ú_create_closedÚcontains_pointsÚdtyper   ÚtestingÚassert_equal)r   ÚpointsÚrets      r   Útest_point_in_pathrI   7   sW   € ä×ÒÒ?Ó@€DØ˜*Ð%€FØ
×
Ñ
˜vÓ
&€CØ�9‰9˜ÓÐÐÜ‡J�J×Ñ˜C $¨ Õ/r   z#other_path, inside, inverted_inside)©ç      Ð?rK   )rK   ç      è?)rL   rL   )rL   rK   rJ   Tr   F)©ç      Ð¿rN   ©rN   ç      ü?©rP   rP   ©rP   rN   rM   )rM   rO   r>   rQ   rR   rM   )rJ   )rK   ç      ô?)rS   rS   )rS   rK   rJ   ©r9   r:   r<   r=   r9   )©r   r   )r   r*   ©r*   r*   )r*   r   rU   c                 ót   • [        / SQSS9nUR                  U 5      UL d   eU R                  U5      UL d   eg )NrT   Tr   )r   Úcontains_path)Ú
other_pathÚinsideÚinverted_insider   s       r   Útest_contains_pathr\   @   sC   € ô Ò8ÀÑF€DØ×Ñ˜jÓ)¨VÒ3Ð3Ð3Ø×#Ñ# DÓ)¨_Ò<Ð<Ñ<r   c                  óš   • [         R                  " 5       n / SQnU R                  USS9n[        R                  R                  U/ SQ5        g )N))ç        r^   )rS   r^   )çÍÌÌÌÌÌì?r_   g      à¿)Úradius)TFF)r   r"   rC   r   rE   rF   )r   rG   Úresults      r   Ú$test_contains_points_negative_radiusrb   S   s?   € Ü×ÒÓ€Dâ2€FØ×!Ñ! &°Ð!Ð6€FÜ‡J�J×Ñ˜FÒ$8Õ9r   r;   r   ))r^   r^   rL   ç      ð?)r^   r^   rc   r?   )r^   rc   rc   rc   )rc   r   rc   r   zpath, extentsc                 ót   • [         R                  " U R                  5       R                  U:H  5      (       d   eg ©N)r   Úallr   r   )r   r   s     r   Útest_exact_extentsrg   l   s-   € ô �6Š6�$×"Ñ"Ó$×,Ñ,°Ñ7×8Ñ8Ð8Ñ8r   Úignored_codec                 óÜ   • [        SS/SS/SS//[         R                  [         R                  U /5      n[        R                  " UR	                  5       R
                  S:H  5      (       d   eg )Nr   r;   r   )r^   r^   rc   rc   )r   ÚMOVETOr   rf   r   r   )rh   r   s     r   Útest_extents_with_ignored_codesrk   z   sf   € ô �!�Q�Ø�Q�Ø�Q�ðäŸ;™;¬¯©°\ÐBóD€Dô �6Š6�$×"Ñ"Ó$×,Ñ,Ð0@Ñ@×AÑAÐAÑAr   c                  ó  • [         R                  " SS/SS/SS/SS/SS//5      n [        U 5      n[         R                  " [         R                  S//5      nUR	                  U5      n[        U5      S:X  d   eUS   (       a   eg ©Nr   r;   r?   )r   Úarrayr   ÚnanrC   Úlen)ÚboxÚpÚtestÚcontainss       r   Útest_point_in_path_nanru   „   s€   € Ü
�(Š(�Q˜�F˜Q ˜F Q¨ F¨Q°¨F°Q¸°FÐ;Ó
<€CÜˆS‹	€AÜ�8Š8”b—f‘f˜c�]�OÓ$€DØ× Ñ  Ó&€HÜˆx‹=˜AÓÐÐØ˜�{Ðˆ?ˆ{r   c                  óJ  • [         R                  " 5       u  pUR                  SSS9  UR                  SS5      nUR	                  5       R                  UR                  R                  S5      UR                  5       5      (       d   eUR	                  5       R                  UR                  R                  S5      UR                  5       5      (       a   eUR	                  5       R                  UR                  R                  S5      UR                  5       5      (       a   eg )	NÚlogr:   )ÚxscaleÚylimr;   é
   )é   r?   r>   )é2   r?   )	ÚpltÚsubplotsÚsetÚaxvspanÚget_pathÚcontains_pointÚ	transDataÚ	transformÚget_transform)ÚfigÚaxÚpolygons      r   Útest_nonlinear_containmentr‰   �   s
  € Ü�lŠl‹n�G€CØ‡F�F�%˜f€FÑ%Ø�j‰j˜˜BÓ€GØ×ÑÓ×,Ñ,Ø
�‰×Ñ˜wÓ'¨×)>Ñ)>Ó)@÷Bñ Bð Bð Bà×ÑÓ!×0Ñ0Ø
�‰×Ñ˜xÓ(¨'×*?Ñ*?Ó*A÷Cñ Cð Cð Cà×ÑÓ!×0Ñ0Ø
�‰×Ñ˜xÓ(¨'×*?Ñ*?Ó*A÷Cñ Cð Cð Cð Cr   zarrow_contains_point.pngÚmpl20Úx86_64gÙÎ÷Sã¥›?)Úremove_textÚstyleÚtolc            	      ób  • [         R                  " 5       u  pUR                  S5        UR                  S5        [        R
                  " SSSSS9nUR                  U5        [        R
                  " SSS	SS9nUR                  U5        [        R
                  " S
SSSSS9nUR                  U5        X#U/n[        R                  " [        R                  " SSS5      [        R                  " SSS5      5      u  pg[        [        UR                  5       UR                  5       5      5       H  u  nu  pšUR                  R                  Xš/5      u  p¼[        SU R                   X¼5      n[        U5       H3  u  pïUR#                  U5      u  nnU(       d  M"  UR%                  XšSSS9  M5     M�     g )Nr   )r?   rK   )r@   rL   z->é(   )Ú
arrowstyleÚmutation_scale)r?   r;   )r@   rS   z]-[)r?   r@   )r@   rP   ÚfancyF)r‘   Úfillr’   r   r   gš™™™™™¹?Úbutton_press_eventr{   Úr)ÚsÚc)r}   r~   Úset_xlimÚset_ylimr   ÚFancyArrowPatchÚ	add_patchr   Úmeshgridr-   Ú	enumerateÚzipÚravelrƒ   r„   r	   Úcanvasrt   Úscatter)r†   r‡   ÚarrowÚarrow1Úarrow2Úpatches_listÚXÚYÚkÚxÚyÚxdispÚydispÚeventÚmÚpatchrZ   Úress                     r   Útest_arrow_contains_pointr²   ™   sn  € ô �lŠl‹n�G€CØ‡K�K�ÔØ‡K�K�Ôô ×#Ò# K°Ø/3Ø35ñ7€Eð ‡L�L�Ôä×$Ò$ X¨{Ø05Ø46ñ8€Fð ‡L�L�Ôä×$Ò$ Z°Ø07Ø*/Ø46ñ8€Fð ‡L�L�ÔØ 6Ð*€Lô �;Š;”r—y’y  A sÓ+Ü—y’y  A sÓ+ó-�D€Aäœs 1§7¡7£9¨a¯g©g«iÓ8Ö9‰	ˆ‰6ˆAØ—|‘|×-Ñ-¨q¨fÓ5‰ˆÜÐ/°·±¸UÓJˆÜ! ,Ö/‰HˆAàŸ.™.¨Ó/‰KˆF�CßˆvØ—
‘
˜1 1¨�
Ó,ó	 0ò :r   zpath_clipping.svg)rŒ   c            
      ó`  • [         R                  " SS9n [        / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ S	Q/5       Hv  u  pU R                  S
SUS-   5      n/ SQnUR	                  US   US   US   -   5        UR                  US   US   US   -   5        UR                  [        USSSS95        Mx     g )N)g      @gÍÌÌÌÌÌ@)Úfigsize)©éÈ   r¶   ©r¶   é^  ©é�  r¸   )rº   r¶   )rµ   r·   r¹   ©rº   éd   )©r¶   r¼   r·   r¹   r»   )r½   ©r¶   éŸ  r¹   r»   )r½   r¾   ©rº   r¿   r»   )r¾   rÀ   r»   r½   )rÀ   r»   r½   r¾   r)   r   r;   )r   éŒ   i€  i  r   r*   ÚnoneÚredT)Ú	facecolorÚ	edgecolorr   )r}   Úfigurerž   Úadd_subplotr™   rš   rœ   r   )r†   ÚiÚxyr‡   Úbboxs        r   Útest_path_clippingrË   À   s´   € ä
�*Š*˜ZÑ
(€CäÚ<Ú<Ú<Ú<Ú<Ú<Ú<ð>ö ?‰ˆð �_‰_˜Q  1 Q¡3Ó'ˆÚ!ˆØ
�‰�D˜‘G˜T !™W t¨A¡wÑ.Ô/Ø
�‰�D˜‘G˜T !™W t¨A¡wÑ.Ô/Ø
�‰”WØ˜&¨E¸$ñ@ö 	Aò?r   zsemi_log_with_zero.png)r�   c                  óì   • [         R                  " SS5      n SSU S-  S-   -  -
  S-  n[        R                  " 5       u  p#UR	                  XSSS	S
9  UR                  SS5        UR                  S5        g )Niöÿÿÿrz   rc   r   r;   é   ú-oé   r©   )ÚlwÚmarkeredgecolorgH¯¼šò×z>T)r   r-   r}   r~   Úsemilogyrš   Úgrid©rª   r«   r†   r‡   s       r   Útest_log_transform_with_zerorÕ   Ô   sg   € ä
�	Š	�#�rÓ€AØ	ˆs�A�q‘D˜‘F‰|Ñ	˜bÑ €Aä�lŠl‹n�G€CØ‡K�K��d˜r°3€KÑ7Ø‡K�K��aÔØ‡G�GˆD…Mr   c                  ó´  • [         R                  " 5       n U R                  R                  S:X  d   e[         R                  " X 5      nUR                  R                  S:X  d   eUR                  R                  S:X  d   e[         R                  " [        S/5      U 5      nUR                  R                  S:X  d   eUR                  R                  S:X  d   eg )Nr   )r   r9   )r;   r   )r;   )r   Úmake_compound_pathr   r   r   )ÚemptyÚr2Úr3s      r   Útest_make_compound_path_emptyrÛ   ß   s®   € ô ×#Ò#Ó%€EØ�>‰>×Ñ 6Ó)Ð)Ð)Ü	×	 Ò	  Ó	.€BØ�;‰;×Ñ Ó&Ð&Ð&Ø�8‰8�>‰>˜TÓ!Ð!Ð!Ü	×	 Ò	 ¤ v h£°Ó	7€BØ�;‰;×Ñ Ó&Ð&Ð&Ø�8‰8�>‰>˜TÓ!Ð!Ñ!r   c                  óþ   • SS/n S[        X /[         R                  [         R                  /5      /-  n[         R                  " U6 n[        R
                  " UR                  [         R                  :H  5      S:X  d   eg )Nr   r*   )r   rj   ÚSTOPr×   r   Úsumr   )ÚzeroÚpathsÚcompound_paths      r   Útest_make_compound_path_stopsrâ   ì   sf   € Øˆqˆ6€DØŒt�T�L¤4§;¡;´·	±	Ð":Ó;Ð<Ñ<€EÜ×+Ò+¨UÐ3€Mô �6Š6�-×%Ñ%¬¯©Ñ2Ó3°qÓ8Ð8Ñ8r   zxkcd.pngc                  ón  • [         R                  R                  S5        [         R                  " SS[         R                  -  S5      n [         R
                  " U 5      n[        R                  " 5          [        R                  " 5       u  p#UR                  X5        S S S 5        g ! , (       d  f       g = f)Nr   r   r¼   )
r   ÚrandomÚseedÚlinspaceÚpiÚsinr}   Úxkcdr~   ÚplotrÔ   s       r   Ú	test_xkcdrë   õ   sd   € ä‡I�I‡N�N�1Ôä
�Š�A�qœ2Ÿ5™5‘y #Ó&€AÜ
�Šˆq‹	€Aä	�Š�Ü—,’,“.‰ˆØ
�‰�Œ÷ 
�Žús   Á4)B&Â&
B4zxkcd_marker.pngc                  ó¤  • [         R                  R                  S5        [         R                  " SSS5      n U nSU -
  nS[         R                  " S5      -  n[
        R                  " 5          [
        R                  " 5       u  pEUR                  XSSS9  UR                  XSSS9  UR                  XS	SS9  S S S 5        g ! , (       d  f       g = f)
Nr   r{   é   ç      @Ú+rz   )ÚmsÚoÚ^)	r   rä   rå   ræ   Úonesr}   ré   r~   rê   )rª   Úy1Úy2Úy3r†   r‡   s         r   Útest_xkcd_markerr÷     sš   € ä‡I�I‡N�N�1Ôä
�Š�A�q˜!Ó€AØ	
€BØ	
ˆQ‰€BØ	Œr�wŠw�q‹zÑ	€Bä	�Š�Ü—,’,“.‰ˆØ
�‰��s˜rˆÑ"Ø
�‰��s˜rˆÑ"Ø
�‰��s˜rˆÑ"÷	 
�Žús   Á-ACÃ
Czmarker_paths.pdfc                  ó  • Sn [         R                  " [        R                  " U 5      [        R                  " U 5      S-   [        R                  " U 5      5        [         R
                  " SU 5        [         R                  " SS5        g )Né   r)   éÿÿÿÿ)r}   Úerrorbarr   r-   ró   Úxlimry   )ÚNs    r   Útest_marker_paths_pdfrþ     sS   € à	€Aä‡L‚L”—’˜1“Ü—’˜“˜a‘Ü—’˜“ôô ‡H‚HˆR�„OÜ‡H‚HˆR�…Or   Únan_pathÚdefault)ÚpdfÚsvgÚepsÚpngg;ßO�—n‚?)r�   rŒ   Ú
extensionsrŽ   c                  ó*  • S[         R                  S[         R                  SSS/n [         R                  S[         R                  SS[         R                  S	/n[        R                  " 5       u  p#UR	                  U S
5        UR	                  US
5        g )Nr   r   r)   r{   r,   rù   é	   rz   r(   rÎ   )r   ro   r}   r~   rê   )Úy0rô   r†   r‡   s       r   Útest_nan_isolated_pointsr	    si   € ð
 ŒR�V‰V�QœŸ™  1 aÐ	(€BÜ
�&‰&�!”R—V‘V˜Q ¤B§F¡F¨BÐ	/€Bä�lŠl‹n�G€Cà‡G�GˆB�ÔØ‡G�GˆB�Õr   c                  ó>  • [         R                  " SS/SS/SS/SS/SS	/S
S/SS/SS/SS/SS/SS/SS/SS/SS/SS/SS/SS /S!S"/S#S"/S$S%/S&S'/S(S)//5      n S*u  pp4[        [         R                  " U S S 2S+4   U S S 2S,4   45      R                  S-S.9n[
        R                  " X/X4//5      nUR                  U5      R                  5       S,   n[         R                  " US/   US0   :g  5      (       d   e[         R                  " US0   US,   :H  5      (       d   eg )1Ngm¥”Rú?g·DpTU•ò?g     €ù?g�_9çœõ?g     Àþ?g      ö?g¥ÝÇUUu@gF^9ï½÷ú?g      ÿ?g$z|ï½ù?g["8ªªj@g¥ÝÇUU•@gƒ˜øaŒ1ü?g["8ªªŠ@g²}L”RJý?g·DpTU•ÿ?gm¥”Rþ?g      @g=:¿rÎ9ÿ?g["8ªªÊ@gALü0Æ @g¥ÝÇUU@gyå¼÷Þÿ?gI»�«ªêÿ?g¿³Ï9ç @g["8ªª
@g�_9çœ@g     à@gº¡ÆB@g¥ÝÇUUÕ@gq1PcŒ1@g     @ÿ?ghÖæœs@g¥ÝÇUUõ@güíÂA!@gm¥”R@g     €@gáb Æc@g     @û?g9ìßqaŸ @gI»�«ªªò?)rc   r@   gÍÌÌÌÌÌ @rî   r;   r   Tr   éþÿÿÿrú   )
r   rn   r   ÚvstackÚTr   r   Úclip_to_bboxÚto_polygonsrf   )ÚhandÚr0Úc0Úr1Úc1ÚpolyÚ	clip_rectÚpoly_clippeds           r   Ú(test_path_no_doubled_point_in_to_polygonr  *  s}  € Ü�8Š8Ø
�jÐ	!Ø
�gÐ	Ø
�hÐ	Ø
�Ð	Ø
�fÐ	Ø
�jÐ	!Ø
�jÐ	!Ø
�jÐ	!Ø
�jÐ	!Ø
�dÐ	Ø
�ZÐ	 Ø
�jÐ	!Ø
�jÐ	!Ø
�jÐ	!Ø
�XÐ	Ø
�jÐ	!Ø
�hÐ	Ø
�jÐ	!Ø
�jÐ	!Ø
�fÐ	Ø
�XÐ	Ø
�jÐ	!ð+	#ó$€Dð0 ,Ñ€RˆRä”—	’	˜4¢ 1 ™: tªA¨q¨D¡zÐ2Ó3×5Ñ5¸dÑC€DÜ—’ " ¨B¨8Ð 4Ó5€IØ×$Ñ$ YÓ/×;Ñ;Ó=¸aÑ@€Lä�6Š6�,˜rÑ" l°2Ñ&6Ñ6×7Ñ7Ð7Ð7Ü�6Š6�,˜rÑ" l°1¡oÑ5×6Ñ6Ð6Ñ6r   c                  ó  • SS/SS//n [        U 5      n[        UR                  SSS9/ 5        [        UR                  SSSS9U /5        [        UR                  5       / 5        [        UR                  SS9U /5        SS/SS/SS//n SS/SS/SS/SS//n[        U 5      n[        UR                  SSS9U/5        [        UR                  SSSS9U /5        [        UR                  5       U/5        [        UR                  SS9U /5        g )	Nrz   rÍ   r�   )ÚwidthÚheightF)r  r  Úclosed_only)r  é   )r   r   r  )Údatarr   Úclosed_datas      r   Útest_path_to_polygonsr   M  s  € Ø�ˆH�r˜2�hÐ€DÜˆT‹
€Aä�q—}‘}¨2°b�}Ð9¸2Ô>Ü�q—}‘}¨2°bÀe�}ÐLØ�vôä�q—}‘}“¨Ô+Ü�q—}‘}°�}Ð7¸$¸Ô@à�ˆH�r˜2�h  R Ð)€DØ˜�8˜b "˜X¨¨B x°"°b°Ð:€KÜˆT‹
€Aä�q—}‘}¨2°b�}Ð9¸K¸=ÔIÜ�q—}‘}¨2°bÀe�}ÐLØ�vôä�q—}‘}“¨¨Ô6Ü�q—}‘}°�}Ð7¸$¸Õ@r   c                  óÎ  • SS/SS//n [         R                  [         R                  /n[        U SS9n[        XSS9nUR                  5       nUR                  5       nX$Ld   eUR                  UR                  Ld   e[        UR                  UR                  5        UR                  (       d   eUR                  (       a   eX5Ld   eUR                  UR                  Ld   e[        UR                  UR                  5        UR                  UR                  Ld   e[        UR                  UR                  5        UR                  (       d   eUR                  (       a   eg )Nr   r;   T©Úreadonly)r   rj   ÚLINETOÚdeepcopyr   r   r#  r   ©Úvertsr   Úpath1Úpath2Ú
path1_copyÚ
path2_copys         r   Útest_path_deepcopyr,  b  s+  € à�ˆV�a˜�VÐ€EÜ�[‰[œ$Ÿ+™+Ð&€EÜ� Ñ&€EÜ�¨Ñ-€EØ—‘Ó!€JØ—‘Ó!€JØÒ"Ð"Ð"Ø�>‰> ×!4Ñ!4Ò4Ð4Ð4Ü�u—~‘~ z×':Ñ':Ô;Ø�>�>Ðˆ>Ø×"×"Ð"Ð"ØÒ"Ð"Ð"Ø�>‰> ×!4Ñ!4Ò4Ð4Ð4Ü�u—~‘~ z×':Ñ':Ô;Ø�;‰;˜j×.Ñ.Ò.Ð.Ð.Ü�u—{‘{ J×$4Ñ$4Ô5Ø�>�>Ðˆ>Ø×"×"Ð"Ð"Ð"r   c                  óÖ  •  " S S[         5      n U " SS/SS//SS9nUR                  5       nX!Ld   eUR                  (       d   eUR                  (       a   eUR                  UL d   e " S S[         5      nU" SS/SS//SS9nUR                  5       nXTLd   eUR                  (       d   eUR                  (       a   eUR                  S   UL d   eUR                  S   UL d   eg )	Nc                   ó(   ^ • \ rS rSrU 4S jrSrU =r$ )Ú/test_path_deepcopy_cycle.<locals>.PathWithCycleiy  c                 ó2   >• [         TU ]  " U0 UD6  X l        g re   ©ÚsuperÚ__init__rª   ©ÚselfÚargsÚkwargsÚ	__class__s      €r   r3  Ú8test_path_deepcopy_cycle.<locals>.PathWithCycle.__init__z  s   ø€ Ü‰GÒ˜dÐ- fÒ-Ø�Fr   ©rª   ©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r3  Ú__static_attributes__Ú__classcell__©r8  s   @r   ÚPathWithCycler/  y  s   ø† ÷	ó 	r   rC  r   r;   Tr"  c                   ó(   ^ • \ rS rSrU 4S jrSrU =r$ )Ú0test_path_deepcopy_cycle.<locals>.PathWithCycle2i…  c                 ó<   >• [         TU ]  " U0 UD6  U /S-  U l        g )Nr   r1  r4  s      €r   r3  Ú9test_path_deepcopy_cycle.<locals>.PathWithCycle2.__init__†  s"   ø€ Ü‰GÒ˜dÐ- fÒ-Ø�V˜a‘ZˆD�Fr   r:  r;  rB  s   @r   ÚPathWithCycle2rE  …  s   ø† ÷	 ó 	 r   rH  )r   r%  r#  rª   )rC  rr   Úp_copyrH  Úp2Úp2_copys         r   Útest_path_deepcopy_cyclerL  x  sî   € ôœô ñ
 	˜˜1�v  1˜vÐ&°Ñ6€AØ�Z‰Z‹\€FØŠ?Ðˆ?Ø�:�:Ðˆ:Ø��ÐÐØ�8‰8�vÒÐÐô œô  ñ
 
˜!˜Q˜ ! Q Ð(°4Ñ	8€BØ�k‰k‹m€GØÒÐÐØ�;�;Ðˆ;Ø××ÐÐØ�9‰9�Q‰<˜7Ò"Ð"Ð"Ø�9‰9�Q‰<˜7Ò"Ð"Ñ"r   c                  óz  • SS/SS//n [         R                  [         R                  /n[        U 5      n[        X5      nUR                  5       nUR                  5       nX$Ld   eUR                  UR                  L d   eX5Ld   eUR                  UR                  L d   eUR
                  UR
                  L d   eg )Nr   r;   )r   rj   r$  Úcopyr   r   r&  s         r   Útest_path_shallowcopyrO  “  s¯   € à�ˆV�a˜�VÐ€EÜ�[‰[œ$Ÿ+™+Ð&€EÜ�‹K€EÜ�Ó€EØ—‘“€JØ—‘“€JØÒ"Ð"Ð"Ø�>‰>˜Z×0Ñ0Ò0Ð0Ð0ØÒ"Ð"Ð"Ø�>‰>˜Z×0Ñ0Ò0Ð0Ð0Ø�;‰;˜*×*Ñ*Ò*Ð*Ñ*r   Úphi)rú   r   r;   )
r   rÏ   r  é-   é<   éK   éZ   éi   éx   é‡   c                 óþ
  • / SQn[         R                  " 5       R                  [        R                  " U 5      5      n[        SS/5      nUR                  U5      nUR                  U5      (       a  UR                  U5      (       d   e[        SS/5      nUR                  U5      nUR                  U5      (       a  UR                  U5      (       d   eUR                  [        SS/5      5      nUR                  [        SS/5      5      nUR                  U5      (       a  UR                  U5      (       d   eUR                  [        SS/5      5      nUR                  [        SS/5      5      nUR                  U5      (       a  UR                  U5      (       d   eUR                  U5      (       d   eUR                  [        SS	/5      5      nUR                  [        S
S/5      5      nUR                  U5      (       a  UR                  U5      (       d   eUR                  [        SS/5      5      nUR                  [        SS/5      5      nUR                  U5      (       d  UR                  U5      (       a   eUR                  [        SS/5      5      nUR                  [        SS/5      5      nUR                  U5      (       d  UR                  U5      (       a   eU Hs  nUR                  [        SS/5      5      nUR                  [        SU-   S4SU-   S4/5      5      nUR                  U5      (       d  UR                  U5      (       d  Ms   e   U Hn  nUR                  [        SS/5      5      nUR                  [        SSU-   4S/5      5      nUR                  U5      (       d  UR                  U5      (       d  Mn   e   U Hn  nUR                  [        SS/5      5      nUR                  [        SSU-
  4S/5      5      nUR                  U5      (       a  UR                  U5      (       a  Mn   e   UR                  [        SS/5      5      nUR                  [        / SQ5      5      nUR                  U5      (       a  UR                  U5      (       d   eUR                  [        SS/5      5      nUR                  [        SS/5      5      nUR                  U5      (       d  UR                  U5      (       a   eUR                  [        SS/5      5      nUR                  [        SS/5      5      nUR                  U5      (       d  UR                  U5      (       a   eg )N)gñhãˆµøä>g:Œ0âŽyE>g»½×Ùß|Û=gê-�™—q=)r  r   )r   r   r9   r:   )r   r*   )r;   r*   ©r   r{   )r{   r{   r<   rV   )r*   r   )r   r,   )r   rù   r   r;   r{   )r:   r   rY  )r;   rú   )r   rú   )r_   r;   )r^   ç      À)rc   rZ  )rc   ç      @)r^   r[  )r   ÚAffine2DÚrotater   Údeg2radr   Útransform_pathÚintersects_path)rP  Ú	eps_arrayr„   ÚaÚbr  s         r   Útest_path_intersect_pathrd  ¢  s  € ò
 +€Iä×#Ò#Ó%×,Ñ,¬R¯ZªZ¸«_Ó=€Iô 	ˆg�vÐÓ€AØ× Ñ  Ó#€AØ×Ñ˜Q×Ñ A×$5Ñ$5°a×$8Ñ$8Ð8Ð8ô 	ˆf�fÐÓ€AØ× Ñ  Ó#€AØ×Ñ˜Q×Ñ A×$5Ñ$5°a×$8Ñ$8Ð8Ð8ð 	× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ×Ñ˜Q×Ñ A×$5Ñ$5°a×$8Ñ$8Ð8Ð8ð 	× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ×Ñ˜Q×Ñ A×$5Ñ$5°a×$8Ñ$8Ð8Ð8ð ×Ñ˜Q×ÑÐÐð 	× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ×Ñ˜Q×Ñ A×$5Ñ$5°a×$8Ñ$8Ð8Ð8ð 	× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ× Ñ  ×#Ñ#¨A×,=Ñ,=¸a×,@Ñ,@Ð@Ð@ð 	× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ× Ñ  ×#Ñ#¨A×,=Ñ,=¸a×,@Ñ,@Ð@Ð@ó ˆØ×$Ñ$¤T¨6°6Ð*:Ó%;Ó<ˆØ×$Ñ$¤T¨A°©G°Q¨<¸!¸c¹'À1¸Ð*FÓ%GÓHˆØ×$Ñ$ Q×'Ñ'°×0AÑ0AÀ!×0DÓ0DÐDÐDñ ó ˆØ×$Ñ$¤T¨6°6Ð*:Ó%;Ó<ˆØ×$Ñ$¤T¨A¨q°3©w¨<¸Ð*@Ó%AÓBˆØ×$Ñ$ Q×'Ñ'°×0AÑ0AÀ!×0DÓ0DÐDÐDñ ó ˆØ×$Ñ$¤T¨6°6Ð*:Ó%;Ó<ˆØ×$Ñ$¤T¨A¨q°3©w¨<¸Ð*@Ó%AÓBˆØ× Ñ  ×#Ñ#¨×(9Ñ(9¸!×(<Ó(<Ð<Ð<ñ ð 	× Ñ ¤ v¨vÐ&6Ó!7Ó8€AØ× Ñ ¤Ò&>Ó!?Ó@€AØ×Ñ˜Q×Ñ A×$5Ñ$5°a×$8Ñ$8Ð8Ð8ð 	× Ñ ¤ w°Ð&8Ó!9Ó:€AØ× Ñ ¤ v¨xÐ&8Ó!9Ó:€AØ× Ñ  ×#Ñ#¨A×,=Ñ,=¸a×,@Ñ,@Ð@Ð@ð 	× Ñ ¤ y°)Ð&<Ó!=Ó>€AØ× Ñ ¤ x°Ð&:Ó!;Ó<€AØ× Ñ  ×#Ñ#¨A×,=Ñ,=¸a×,@Ñ,@Ð@Ð@Ð,@r   Úoffseti0ýÿÿii  rQ  c                 ó:  • U nSU -   n[         R                  " X5      n[        R                  " UR                  SS9n[        R
                  " UR                  SS9n[        R                  R                  US5        [        R                  R                  US5        g )Nih  r   )Úaxisrú   r;   )r   Úarcr   Úminr   ÚmaxrE   Úassert_allclose)re  ÚlowÚhighr   ÚminsÚmaxss         r   Útest_full_arcrp  ö  sn   € à
€CØ�‰<€Dä�8Š8�CÓ€DÜ�6Š6�$—-‘- aÑ(€DÜ�6Š6�$—-‘- aÑ(€DÜ‡J�J×Ñ˜t RÔ(Ü‡J�J×Ñ˜t QÕ'r   c            
      ó¬  • [        [        R                  " SS/SS/SS/SS/SS//5      [        R                  " / S	Q[         R                  S
95      n [        [        R                  " SS/SS/SS/SS/SS//5      [        R                  " / SQ[         R                  S
95      nUR	                  U 5      (       a   eU R	                  U5      (       a   eg )Ng•äÎÆ‰@g¤›íŸ‡ @g¿¼�Ð…íŠ@g®ƒÿ„äŸ@g`m”¡$‹@gêÉ;E @g6ÇÚ[éý‰@gÑ‡6Ê1 @)r;   r   r   r   éO   )rD   g-�¹HßŠ@gG�NìÄê @güê`³ŠØŠ@g{×âK›Ê @gù¸ºŒî
¡@)r;   r   r   r   r   )r   r   rn   Ú	code_typer`  ©Ú	this_pathÚoutline_paths     r   Ú!test_disjoint_zero_length_segmentrw    sé   € ÜÜ
�ŠØ˜=Ð)Ø˜=Ð)Ø˜=Ð)Ø˜=Ð)Ø˜=Ð)ð+ó 	,ô 	�ŠÒ!¬¯©Ñ8ó:€Iô Ü
�ŠØ˜=Ð)Ø˜=Ð)Ø˜=Ð)Ø˜=Ð)Ø˜=Ð)ð+ó 	,ô 	�Š’Ü—~‘~ñ	'ó(€Lð ×+Ñ+¨I×6Ñ6Ð6Ð6Ø×(Ñ(¨×6Ñ6Ð6Ð6Ð6r   c            	      ó  • [        [        R                  " SS/SS//5      5      n [        [        R                  " SS/SS/SS/SS//5      5      nUR                  U 5      (       d   eU R                  U5      (       d   eg rm   )r   r   rn   r`  rt  s     r   Ú"test_intersect_zero_length_segmentry    s”   € ÜÜ
�ŠØ�ˆFØ�ˆFð
ó 	ó€Iô Ü
�ŠØ�ˆFØ�ˆHØ�ˆHØ�ˆFð	
ó 	ó€Lð ×'Ñ'¨	×2Ñ2Ð2Ð2Ø×$Ñ$ \×2Ñ2Ð2Ñ2r   c            	      ó„  • [        [        R                  [        R                  /[        R                  [        R                  //[         R                  [         R                  /5      [        [        R                  [        R                  /[        R                  [        R                  //5      [        [        R                  [        R                  /[        R                  [        R                  /[        R                  [        R                  /[        R                  [        R                  //[         R                  [         R
                  [         R
                  [         R                  /5      /n U  HF  nUR                  SS9n[        U5      S:X  d   eUR                  S   [         R                  :X  a  MF   e   g )NT)Úremove_nansr;   r   )
r   r   ro   rj   Ú	CLOSEPOLYÚCURVE3Úcleanedrp   r   rÝ   )rà   rr   r~  s      r   Útest_cleanup_closepolyr  -  s  € ô 	Œr�v‰v”r—v‘vÐ¤§¡¬¯©Ð 0Ð1Ü�k‰kœ4Ÿ>™>Ð*ó	,ô 	Œr�v‰v”r—v‘vÐ¤§¡¬¯©Ð 0Ð1Ó2ô 	Œr�v‰v”r—v‘vÐ¤§¡¬¯©Ð 0´2·6±6¼2¿6¹6Ð2BÜ�v‰v”r—v‘vÐð ä�k‰kœ4Ÿ;™;¬¯©´T·^±^ÐDó	Fð€Eó ˆØ—)‘)¨�)Ð-ˆÜ�7‹|˜qÓ Ð Ð Ø�}‰}˜QÑ¤4§9¡9Õ,Ð,Ð,ò r   c            	      ó–  • [         R                  " SS/SS/SS/SS/SS/SS//5      n [        R                  [        R                  [        R                  /S-  n[        X5      nUR                  S5      n[        R                  /[        R                  /S-  -   n[         R                  R                  UR                  US-  5        g )Nr   r;   r   r)   r{   r*   r,   )	r   rn   r   rj   r$  ÚinterpolatedrE   r   r   )r   r   r   ra   Úexpected_subpath_codess        r   Útest_interpolated_movetorƒ  D  s³   € ä�xŠx˜!˜Q˜Ø˜Q˜Ø˜Q˜Ø˜Q˜Ø˜Q˜Ø˜Q˜ð!ó "€Hô �[‰[œ$Ÿ+™+¤t§{¡{Ð3°aÑ7€Eä�Ó €DØ×Ñ˜qÓ!€Fô #Ÿk™k˜]¬d¯k©k¨]¸QÑ->Ñ>ÐÜ‡J�J×!Ñ! &§,¡,Ð0FÈÑ0JÕKr   c            
      óÊ  • [         R                  /[         R                  /S-  -   [         R                  /-   n / SQn[        X5      nUR	                  S5      n[
        R                  " SS/SS/SS/SS/SS/SS/SS//5      n[         R                  /[         R                  /S-  -   [         R                  /-   n[
        R                  R                  UR                  U5        [
        R                  R                  UR                  U5        U [         R                  /-  n US/-  n[        X5      nUR	                  S5      n[
        R                  " SS/SS	//5      n[
        R                  " XF/5      nU[         R                  /S-  -  n[
        R                  R                  UR                  U5        [
        R                  R                  UR                  U5        g )
Nr   )©r)   r*   ©r{   r)   ©r{   r*   r9   r)   r*   ç      @ç      @r{   )r   r;   r;   )r   rj   r$  r|  r�  r   rn   rE   rk  r   r   r   Úconcatenate)r   r   r   ra   Úexpected_verticesÚexpected_codesÚextra_expected_verticess          r   Útest_interpolated_closepolyrŽ  V  s–  € Ü�[‰[ˆMœTŸ[™[˜M¨!™OÑ+¬t¯~©~Ð.>Ñ>€EÚ/€Hä�Ó €DØ×Ñ˜qÓ!€FäŸš 1 a &Ø#&¨ *Ø#$ a &Ø#$ c (Ø#$ a &Ø#&¨ (Ø#$ a &ð"*ó +Ðô —k‘k�]¤d§k¡k ]°1¡_Ñ4¼¿¹Ð7GÑG€Nä‡J�J×Ñ˜vŸ™Ð0AÔBÜ‡J�J×!Ñ! &§,¡,°Ô?ð 
Œd�k‰kˆ]Ñ€EØ��Ñ€Hä�Ó €DØ×Ñ˜qÓ!€Fä Ÿhšh¨¨A¨Ø)*¨A¨ð(0ó 1ÐäŸšÐ(9Ð'SÓTÐà”t—{‘{�m aÑ'Ñ'€Nä‡J�J×Ñ˜vŸ™Ð0AÔBÜ‡J�J×!Ñ! &§,¡,°Õ?r   c            
      ób  • [         R                  /[         R                  /S-  -   [         R                  /-   S-  n / SQn[        X5      nUR	                  S5      n[
        R                  " SS/SS/SS/SS/SS/SS/SS//5      n[
        R                  " XDS-  /5      n[         R                  /[         R                  /S-  -   [         R                  /-   S-  n[
        R                  R                  UR                  U5        [
        R                  R                  UR                  U5        g )Nr   )r…  r†  r‡  r9   )rí   r,   )rz   rí   )rz   r,   r9   r)   r*   rˆ  r‰  r{   )r   rj   r$  r|  r�  r   rn   rŠ  rE   rk  r   r   r   )r   r   r   ra   Úexpected_vertices1r‹  rŒ  s          r   Ú"test_interpolated_moveto_closepolyr‘  z  s  € ä�k‰kˆ]œdŸk™k˜]¨1™_Ñ,´·±Ð/?Ñ?À1ÑD€EÚQ€Hä�Ó €DØ×Ñ˜qÓ!€FäŸš A q 6Ø$'¨ :Ø$% q 6Ø$% s 8Ø$% q 6Ø$'¨ 8Ø$% q 6ð#+ó ,Ðô ŸšÐ(:ÐQRÑ<RÐ'SÓTÐÜ—{‘{�m¤t§{¡{ m°A¡oÑ5¼¿¹Ð8HÑHÈAÑM€Nä‡J�J×Ñ˜vŸ™Ð0AÔBÜ‡J�J×!Ñ! &§,¡,°Õ?r   c                  ón   • [        [        R                  " S5      5      n U R                  S5      U L d   eg )Nr   é*   )r   r   r   r�  r   s    r   Útest_interpolated_empty_pathr”  �  s.   € Ü”—’˜Ó Ó!€DØ×Ñ˜RÓ  DÒ(Ð(Ñ(r   )EÚplatformr0   Únumpyr   Únumpy.testingr   r#   Ú
matplotlibr   Úmatplotlib.pathr   Úmatplotlib.patchesr   Úmatplotlib.testing.decoratorsr   Úmatplotlib.pyplotÚpyplotr}   r   Úmatplotlib.backend_basesr	   r   r&   r7   rI   ÚmarkÚparametrizer\   rb   rj   ÚCURVE4r}  r$  Ú_test_pathsÚ_test_path_extentsrŸ   rg   r|  rÝ   rk   ru   r‰   Úmachiner²   rË   rÕ   rÛ   râ   rë   r÷   rþ   r	  r  r   r,  rL  rO  rŠ  rn   rd  Úrangerp  rw  ry  r  rƒ  rŽ  r‘  r”  )Údeltas   0r   Ú<module>r§     s  ðÛ Û 	ã å ,Û å Ý  Ý &Ý :Ý Ý !Ý /ò7òò$ò&0ð ‡�×ÑØ)Ù
ÒQØñØ˜uð&á
ÒWØñØ ð&á
ò 9àñà ð'ñ ÒQØñØ ð'á
Ò3¸DÑAÀ5È%ÐPÙ
Ò3¸DÑAÀ5È%ÐPð
RóSñ=óSð=ò:ñ 	ˆ1ˆaˆ&�1�a�&˜1˜a˜& 1 a &Ð	)Ø�K‰K˜Ÿ™ d§k¡k°4·;±;Ð?óAñ 	ˆ1ˆaˆ&�1�a�&˜1˜a˜&Ð	! D§K¡K°·±¸d¿k¹kÐ#JÓKáˆ1ˆaˆ&�1�a�&Ð	˜DŸK™K¨¯©Ð5Ó6áˆ1ˆaˆ&ˆ�D—K‘K�=Ó!ð
€ò(Ð ð ‡�×Ñ˜©#¨kÐ;MÓ*NÓOñ
9ó Pð
9ð ‡�×Ñ˜¨$¯.©.¸$¿)¹)Ð)DÓEñBó FðBòò	Cñ Ð-Ð.¸DÈØ#×+Ò+Ó-°Ó9‘a¸uñFñ"-óFð"-ñJ Ð&Ð'°TÑ:ñAó ;ðAñ& Ð+Ð,°GÑ<ñó =ðò
"ò9ñ �:�,¨DÑ1ñó 2ðñ Ð$Ð%°4Ñ8ñ#ó 9ð#ñ Ð%Ð&°DÑ9ñó :ðñ �:�, i¸TÚ9Ø#×+Ò+Ó-°Ó9‘a¸uñFñóFðò 7òFAò*#ò,#ò6+ð ‡�×Ñ˜ §¢áó0âˆð ‡H�HÒ7Ó8¸5Ô@Ùñ0ó !ó ñNAóðNAðb ‡�×Ñ˜¡5¨¨s°BÓ#7Ó8ñ(ó 9ð(ò7ò03ò&-ò.Lò$!@òH@ó,)ùò]0s   Ê L