Ë
    µ2Úi!¯  ã                   ó´  — d dl m Z  d dlZd dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
 d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZmZmZm Z  d dl!m"Z"m#Z#  ejH                  ddg¬	«      d
„ «       Z%d„ Z& e#dg«      d„ «       Z' e#dg«      d„ «       Z( e#dg«      d„ «       Z) e#dg«      d„ «       Z* e#dg«      d„ «       Z+ e#dg«      d„ «       Z, e#dg«      d„ «       Z- e#dg«      d„ «       Z. e#dg«      d„ «       Z/ e#dg«      d„ «       Z0 e#g d ¢«      d!„ «       Z1 e#d"g«      d#„ «       Z2d$„ Z3d%„ Z4d&„ Z5d'„ Z6ejn                  jq                  d(«       e"d)g¬*«      d+„ «       «       Z9d,„ Z:d-„ Z; e#d.gd/¬0«      d1„ «       Z< e#d2gd/d(¬3«      d4„ «       Z= e#d5gd/¬0«      d6„ «       Z> e#d7gd/¬0«      d8„ «       Z?d9„ Z@d:„ ZAd;„ ZBd<„ ZCd=„ ZDd>„ ZE e#d?gd/¬0«      d@„ «       ZFdA„ ZGejn                  jq                  dB«      dC„ «       ZHdD„ ZIejn                  jq                  dB«      dE„ «       ZJejn                  jq                  dB«      dF„ «       ZK e#dGg«      dH„ «       ZL e#dIgd/dB¬3«      dJ„ «       ZMdK„ ZNdL„ ZOdM„ ZPdN„ ZQdO„ ZRdP„ ZSdQ„ ZTejª                  j­                  dRdSdTg«      dU„ «       ZWdV„ ZXdW„ ZYdX„ ZZdY„ Z[dZ„ Z\d[„ Z]d\„ Z^d]„ Z_ejn                  jq                  dB«      d^„ «       Z`d_„ Zad`„ Zbda„ Zcdb„ Zddc„ Zedd„ Zf e#degd)gd/d(¬f«      dg„ «       Zg e"d)g¬*«      dh„ «       Zhdi„ Ziejª                  j­                  djdkdldmgg«       e"d)g¬*«       ejÔ                  dndoi«      dp„ «       «       «       Zky)qé    )ÚdatetimeN)ÚSimpleNamespace)Úassert_array_equalÚassert_array_almost_equal)Ú
CollectionÚLineCollectionÚEventCollectionÚPolyCollection)Úcheck_figures_equalÚimage_comparisonÚ
pcolormeshÚpcolor)Úparamsc                 ó   — | j                   S ©N)Úparam)Úrequests    úX/var/www/html/acx/venv/lib/python3.12/site-packages/matplotlib/tests/test_collections.pyÚpcfuncr      s   € à�=‰=Ðó    c            
      ó€  — t        j                  g d¢«      } t        j                  g d¢«      }d}d}d}d}g d¢}d}d	}t        | |||||||¬
«      }	t        j                  «       \  }
}|j                  |	«       |j                  d«       | ||||||||dœ	}|j                  dd«       |j                  dd«       ||	|fS )z,Generate the initial collection and plot it.)ç        ç      ð?ç       @ç      @g      @g       @g      *@g      5@)g      A@g     €K@g     @V@Ú
horizontalé   ç      à?é   ©r   r   r   r   ÚsolidT)ÚorientationÚ
lineoffsetÚ
linelengthÚ	linewidthÚcolorÚ	linestyleÚantialiasedzEventCollection: default)	Ú	positionsÚextra_positionsr"   r#   r$   r%   r&   r'   r(   éÿÿÿÿé   r   )	ÚnpÚarrayr	   ÚpltÚsubplotsÚadd_collectionÚ	set_titleÚset_xlimÚset_ylim)r)   r*   r"   r#   r$   r%   r&   r'   r(   ÚcollÚfigÚaxÚpropss                r   Úgenerate_EventCollection_plotr9      sÛ   € ä—‘Ò;Ó<€IÜ—h‘hšÓ/€OØ€KØ€JØ€JØ€IÚ€EØ€IØ€Kä˜9Ø'2Ø&0Ø&0Ø%.Ø!&Ø%.Ø'2ô€Dô �l‰l‹n�G€CˆØ×Ñ�dÔØ‡L�LÐ+Ô,Ø#Ø /Ø'Ø%Ø%Ø#ØØ#Ø'ñ	€Eð ‡K�K��BÔØ‡K�K��1ÔØˆt�Uˆ?Ðr   ÚEventCollection_plot__defaultc                  ó*  — t        «       \  } }}t        ||d   |d   |d   |d   «       t        j                  j	                  |d   |j                  «       «       |d   |j                  «       k(  sJ ‚|j                  «       sJ ‚|d   |j                  «       k(  sJ ‚|d   |j                  «       k(  sJ ‚|j                  «       dgk(  sJ ‚|j                  «       g|j                  «       ¢D ]%  }t        j                  j	                  ||d   «       Œ' y )Nr)   r$   r#   r"   ©r   Nr&   )r9   Úcheck_segmentsr-   Útestingr   Úget_positionsÚget_orientationÚis_horizontalÚget_linelengthÚget_lineoffsetÚget_linestyleÚ	get_colorÚ
get_colors)Ú_r5   r8   r&   s       r   Ú test__EventCollection__get_propsrH   C   s  € ä2Ó4�N€A€tˆUä�4Ø˜Ñ%Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ô ‡J�J×!Ñ! %¨Ñ"4°d×6HÑ6HÓ6JÔKà�Ñ 4×#7Ñ#7Ó#9Ò9Ð9Ð9à×ÑÔÐÐà�Ñ $×"5Ñ"5Ó"7Ò7Ð7Ð7à�Ñ $×"5Ñ"5Ó"7Ò7Ð7Ð7à×ÑÓ I ;Ò.Ð.Ð.à—.‘.Ó"Ð7 T§_¡_Ó%6Ð7ò =ˆÜ
�
‰
×%Ñ% e¨U°7©^Õ<ñ=r   Ú#EventCollection_plot__set_positionsc                  óN  — t        «       \  } }}t        j                  |d   |d   g«      }|j                  |«       t        j                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd«       y )	Nr)   r*   r$   r#   r"   zEventCollection: set_positionsr+   éZ   )
r9   r-   ÚhstackÚset_positionsr>   r   r?   r=   r2   r3   ©Úspltr5   r8   Únew_positionss       r   Ú$test__EventCollection__set_positionsrQ   ]   s›   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1°5Ð9JÑ3KÐLÓM€MØ×Ñ�}Ô%Ü‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4˜Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô)ð 	‡N�NÐ3Ô4Ø‡M�M�"�bÕr   Ú#EventCollection_plot__add_positionsc                  ó   — t        «       \  } }}t        j                  |d   |d   d   g«      }|j                  «        |j	                  |d   d   «       |j                  «        t        j
                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd	«       y )
Nr)   r*   r   r$   r#   r"   zEventCollection: add_positionsr+   é#   )r9   r-   rL   Úswitch_orientationÚadd_positionsr>   r   r?   r=   r2   r3   rN   s       r   Ú$test__EventCollection__add_positionsrW   k   sÉ   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1Ø$Ð%6Ñ7¸Ñ:ð<ó =€Mà×ÑÔØ×Ñ�uÐ.Ñ/°Ñ2Ô3Ø×ÑÔÜ‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ3Ô4Ø‡M�M�"�bÕr   Ú&EventCollection_plot__append_positionsc                  ó`  — t        «       \  } }}t        j                  |d   |d   d   g«      }|j                  |d   d   «       t        j                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd	«       y )
Nr)   r*   r   r$   r#   r"   z!EventCollection: append_positionsr+   rK   )
r9   r-   rL   Úappend_positionsr>   r   r?   r=   r2   r3   rN   s       r   Ú'test__EventCollection__append_positionsr[   }   s±   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1Ø$Ð%6Ñ7¸Ñ:ð<ó =€Mà×Ñ˜%Ð 1Ñ2°1Ñ5Ô6Ü‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ6Ô7Ø‡M�M�"�bÕr   Ú&EventCollection_plot__extend_positionsc                  ó`  — t        «       \  } }}t        j                  |d   |d   dd  g«      }|j                  |d   dd  «       t        j                  j                  ||j                  «       «       t        |||d   |d   |d   «       | j                  d«       | j                  dd	«       y )
Nr)   r*   r   r$   r#   r"   z!EventCollection: extend_positionsr+   rK   )
r9   r-   rL   Úextend_positionsr>   r   r?   r=   r2   r3   rN   s       r   Ú'test__EventCollection__extend_positionsr_   �   sµ   € ä5Ó7Ñ€Dˆ$�Ü—I‘I˜u [Ñ1Ø$Ð%6Ñ7¸¸Ð;ð=ó >€Mà×Ñ˜%Ð 1Ñ2°1°2Ð6Ô7Ü‡J�J×!Ñ! -°×1CÑ1CÓ1EÔFÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ6Ô7Ø‡M�M�"�bÕr   Ú(EventCollection_plot__switch_orientationc                  óF  — t        «       \  } }}d}|j                  «        ||j                  «       k(  sJ ‚|j                  «       rJ ‚|j	                  «       }t        |||d   |d   |«       | j                  d«       | j                  dd«       | j                  dd«       y )	NÚverticalr$   r#   z#EventCollection: switch_orientationr+   r,   r   r   )	r9   rU   r@   rA   r?   r=   r2   r4   r3   )rO   r5   r8   Únew_orientationrP   s        r   Ú)test__EventCollection__switch_orientationrd   �   s£   € ä5Ó7Ñ€Dˆ$�Ø €OØ×ÑÔØ˜d×2Ñ2Ó4Ò4Ð4Ð4Ø×!Ñ!Ô#Ð#Ð#Ø×&Ñ&Ó(€MÜ�4Ø Ø˜Ñ&Ø˜Ñ&¨ô9ð 	‡N�NÐ8Ô9Ø‡M�M�"�bÔØ‡M�M�!�QÕr   Ú,EventCollection_plot__switch_orientation__2xc                  ól  — t        «       \  } }}|j                  «        |j                  «        |j                  «       }|d   |j                  «       k(  sJ ‚|j	                  «       sJ ‚t
        j                  j                  |d   |«       t        |||d   |d   |d   «       | j                  d«       y)zc
    Check that calling switch_orientation twice sets the orientation back to
    the default.
    r"   r)   r$   r#   z&EventCollection: switch_orientation 2xN)
r9   rU   r?   r@   rA   r-   r>   r   r=   r2   rN   s       r   Ú,test__EventCollection__switch_orientation_2xrg   ®   s´   € ô 6Ó7Ñ€Dˆ$�Ø×ÑÔØ×ÑÔØ×&Ñ&Ó(€MØ�Ñ 4×#7Ñ#7Ó#9Ò9Ð9Ð9Ø×ÑÔÐÐÜ‡J�J×!Ñ! %¨Ñ"4°mÔDÜ�4Ø Ø˜Ñ&Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ;Õ<r   Ú%EventCollection_plot__set_orientationc                  ó.  — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚|j                  «       rJ ‚t	        ||d   |d   |d   |«       | j                  d«       | j                  dd«       | j                  dd	«       y )
Nrb   r)   r$   r#   z EventCollection: set_orientationr+   r,   r   r   )r9   Úset_orientationr@   rA   r=   r2   r4   r3   )rO   r5   r8   rc   s       r   Ú&test__EventCollection__set_orientationrk   Ã   s�   € ä5Ó7Ñ€Dˆ$�Ø €OØ×Ñ˜Ô)Ø˜d×2Ñ2Ó4Ò4Ð4Ð4Ø×!Ñ!Ô#Ð#Ð#Ü�4Ø˜Ñ%Ø˜Ñ&Ø˜Ñ&Ø"ô	$ð
 	‡N�NÐ5Ô6Ø‡M�M�"�bÔØ‡M�M�!�QÕr   Ú$EventCollection_plot__set_linelengthc                  óæ   — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚t        ||d   ||d   |d   «       | j	                  d«       | j                  dd«       y )Né   r)   r#   r"   zEventCollection: set_linelengthiìÿÿÿé   )r9   Úset_linelengthrB   r=   r2   r4   )rO   r5   r8   Únew_linelengths       r   Ú%test__EventCollection__set_linelengthrr   Ô   s}   € ä5Ó7Ñ€Dˆ$�Ø€NØ×Ñ˜Ô'Ø˜T×0Ñ0Ó2Ò2Ð2Ð2Ü�4Ø˜Ñ%Ø!Ø˜Ñ&Ø˜Ñ'ô	)ð
 	‡N�NÐ4Ô5Ø‡M�M�#�rÕr   Ú$EventCollection_plot__set_lineoffsetc                  óæ   — t        «       \  } }}d}|j                  |«       ||j                  «       k(  sJ ‚t        ||d   |d   ||d   «       | j	                  d«       | j                  dd«       y )Ng      Àr)   r$   r"   zEventCollection: set_lineoffsetiúÿÿÿéüÿÿÿ)r9   Úset_lineoffsetrC   r=   r2   r4   )rO   r5   r8   Únew_lineoffsets       r   Ú%test__EventCollection__set_lineoffsetrx   ã   s}   € ä5Ó7Ñ€Dˆ$�Ø€NØ×Ñ˜Ô'Ø˜T×0Ñ0Ó2Ò2Ð2Ð2Ü�4Ø˜Ñ%Ø˜Ñ&Ø!Ø˜Ñ'ô	)ð
 	‡N�NÐ4Ô5Ø‡M�M�"�bÕr   )Ú#EventCollection_plot__set_linestylery   Ú#EventCollection_plot__set_linewidthc                  óÒ   — dddgfdddgfdfD ]W  \  } }}t        «       \  }}} |j                  di | |i¤Ž t        j                  || «      |k(  sJ ‚|j	                  d| › �«       ŒY y )Nr'   Údashed)r   )ç      @r}   )r%   é   r~   zEventCollection: set_© )r9   Úsetr/   Úgetpr2   )ÚpropÚvalueÚexpectedrO   r5   rG   s         r   Útest__EventCollection__set_propr…   ò   s‹   € ð ˜( _Ð$5Ð6Ø˜-¨/Ð):Ð;Øð"ò 7Ñˆˆe�Xô
 6Ó7‰ˆˆd�AØˆ�‰Ñ!�D˜%�=Ò!Ü�x‰x˜˜dÓ# xÒ/Ð/Ð/Ø�‰Ð.¨t¨fÐ5Õ6ñ7r   ÚEventCollection_plot__set_colorc                  ó  — t        «       \  } }}t        j                  g d¢«      }|j                  |«       |j	                  «       g|j                  «       ¢D ]"  }t        j                  j                  ||«       Œ$ | j                  d«       y )N)r   r   r   r   zEventCollection: set_color)	r9   r-   r.   Ú	set_colorrE   rF   r>   r   r2   )rO   r5   rG   Ú	new_colorr&   s        r   Ú test__EventCollection__set_colorrŠ     sp   € ä1Ó3�M€Dˆ$�Ü—‘šÓ&€IØ‡N�N�9ÔØ—.‘.Ó"Ð7 T§_¡_Ó%6Ð7ò 8ˆÜ
�
‰
×%Ñ% e¨YÕ7ð8à‡N�NÐ/Õ0r   c                 ón  — | j                  «       }|j                  «       dk(  s|j                  «       dk(  s|€d}d}n#|j                  «       dk(  rd}d}nt        d«      ‚t        |«      D ]G  \  }}	|	d|f   ||dz  z   k(  sJ ‚|	d|f   ||dz  z
  k(  sJ ‚|	d|f   ||   k(  sJ ‚|	d|f   ||   k(  rŒGJ ‚ y)	zp
    Test helper checking that all values in the segment are correct, given a
    particular set of inputs.
    r   ÚnoneNr   r   rb   z.orientation must be 'horizontal' or 'vertical'r   )Úget_segmentsÚlowerÚ
ValueErrorÚ	enumerate)
r5   r)   r$   r#   r"   ÚsegmentsÚpos1Úpos2ÚiÚsegments
             r   r=   r=     sú   € ð
 × Ñ Ó"€HØ×ÑÓ˜|Ò+Ø× Ñ Ó" fÒ,°Ð0CàˆØ‰Ø	×	Ñ	Ó	 
Ò	*àˆØ‰äÐIÓJÐJô   Ó)ò 0‰
ˆˆ7Ø�q˜$�wÑ :°
¸Q±Ñ#>Ò>Ð>Ð>Ø�q˜$�wÑ :°
¸Q±Ñ#>Ò>Ð>Ð>Ø�q˜$�wÑ 9¨Q¡<Ò/Ð/Ð/Ø�q˜$�wÑ 9¨Q¡<Ó/Ð/Ð/ñ	0r   c                  óü   — t        j                  g «      } | j                  t        j                  «       «      }t        |j                  «       t        j                  j                  «       j                  «       «       y r   )	ÚmcollectionsÚPathCollectionÚget_datalimÚmtransformsÚIdentityTransformr   Ú
get_pointsÚBboxÚnull)ÚcolÚcol_data_lims     r   Útest_null_collection_datalimr¡   '  sW   € Ü
×
%Ñ
% bÓ
)€CØ—?‘?¤;×#@Ñ#@Ó#BÓC€LÜ�|×.Ñ.Ó0Ü"×'Ñ'×,Ñ,Ó.×9Ñ9Ó;õ=r   c                  ór  — t        j                  «       } t        j                  t	        j
                  ddg«      g«      }| j                  |«       |j                  t        j                  «       «      }t        |j                  «       t        j                  j                  «       j                  «       «       y )N©r   r   )r   r   )r/   Úaxesr—   r˜   ÚmpathÚPathr1   r™   rš   r›   r   rœ   r�   rž   )r7   r5   Úcoll_data_lims      r   Útest_no_offsets_datalimr¨   .  s…   € ô 
�‰‹€BÜ×&Ñ&¬¯
©
°F¸FÐ3CÓ(DÐ'EÓF€DØ×Ñ�dÔØ×$Ñ$¤[×%BÑ%BÓ%DÓE€MÜ�}×/Ñ/Ó1Ü"×'Ñ'×,Ñ,Ó.×9Ñ9Ó;õ=r   c                  ó  — t        j                  «        t        j                  «       } | j                  ddgddg«       | j                  j
                  }| j                  g g «       | j                  j
                  |k(  sJ ‚y )Nr   r   )r/   Úfigurer¤   ÚscatterÚdataLimÚbounds)r7   r­   s     r   Útest_add_collectionr®   9  sc   € ô ‡J�J„LÜ	�‰‹€BØ‡J�J��1ˆv˜˜1�vÔØ�Z‰Z×Ñ€FØ‡J�Jˆr�2ÔØ�:‰:×Ñ Ò&Ð&Ñ&r   Úmpl20Úpng)Ú
extensionsc                 óª  — g d¢}g d¢}t        j                  ||«      \  }}|j                  «       }|j                  «       }| j                  «       }|j	                  d«       |j                  d«       d|_        |j                  ||«       |j                  «       }|j	                  d«       |j                  d«       |j                  ||dd¬«       y )N)g¥+ócÒ>gë®`8�F×>gq�[€;uÝ>gƒy7½/¤â>gÖÿ9Ì—ç>gWÇ!Üí>gÄ-–Iåò>g\p5ê÷>gd‘jDþ>g—y¹´K'?gÈ~Í+»=?gFEAL ®?g��|™0j?gÇ÷GKe’?gÞ�´=B?)r   çš™™™™™¹?g²�ï§ÆKÇ?gsh‘í|?Õ?g‡ÙÎ÷Sã?gš™™™™™ñ?r   g…ëQ¸@g�Âõ(\�@g333333(@g      6@gÍÌÌÌÌÌC@g33333ÓQ@Úlogr   ÚoÚ )ÚmarkerÚls)	r-   ÚmeshgridÚflattenr0   Ú
set_xscaleÚ
set_yscaleÚmarginsr«   Úplot)Úfig_testÚfig_refÚx_valsÚy_valsÚxÚyÚax_testÚax_refs           r   Útest_collection_log_datalimrÇ   D  sº   € òJ€Fò€Fô �;‰;�v˜vÓ&�D€A€qØ	�	‰	‹€AØ	�	‰	‹€Aà×ÑÓ!€GØ×Ñ�uÔØ×Ñ�uÔØ€G„OØ‡O�O�A�qÔà×ÑÓ€FØ
×Ñ�eÔØ
×Ñ�eÔØ
‡K�K��1˜S R€KÕ(r   c                  óL  — t        j                  «       } t        j                  d«      t        j                  d«      }}t        j                  ddd«      j                  dd«      x}}t        j                  ||||«      }|j                  | j                  «      j                  dk(  sJ ‚t        j                  «        t        j                  «       } t        j                  ddd«      }t        j                  dd	d«      }t        j                  ||«      \  }}t        j                  «       j                  d
d«      | j                  z   }t        j                  ||t        j                  |«      t        j                   |«      |¬«       | j"                  j                  dk(  sJ ‚y )Né   é
   r   éP   )r   r   g      @g      "@éûÿÿÿro   éþÿÿÿé   é   é    ©Ú	transform)g      4@g      >@g      .@r}   )r/   r¤   r-   ÚarangeÚlinspaceÚreshapeÚquiverr™   Ú	transDatar­   rª   r¹   rš   ÚAffine2DÚ	translateÚsinÚcosr¬   )r7   rÃ   rÄ   ÚuÚvÚqÚtranss          r   Útest_quiver_limitsrà   ^  s-  € Ü	�‰‹€BÜ�9‰9�Q‹<œŸ™ 2›€q€AÜ�K‰K˜˜2˜rÓ"×*Ñ*¨2¨qÓ1Ð1€AˆÜ�
‰
�1�a˜˜AÓ€AØ�=‰=˜Ÿ™Ó&×-Ñ-Ð1AÒAÐAÐAä‡J�J„LÜ	�‰‹€BÜ
�‰�B˜˜BÓ€AÜ
�‰�B˜˜2Ó€AÜ�;‰;�q˜!Ó�D€A€qÜ× Ñ Ó"×,Ñ,¨R°Ó4°r·|±|ÑC€EÜ‡J�Jˆq�!”R—V‘V˜A“Y¤§¡ q£	°UÕ;Ø�:‰:×ÑÐ 7Ò7Ð7Ñ7r   c                  óà  — t        j                  «       } t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}t        j                  «       j                  dd«      | j                  z   }t        j                  ||t        j                  |«      t        j                  |«      |¬«       t        | j                  j                  d	d
¬«       y )NrÌ   rÊ   ro   rÍ   rÎ   rÏ   rÐ   rÑ   )ro   é   rn   é   r   ©Údecimal)r/   r¤   r-   rÔ   r¹   rš   rØ   rÙ   r×   ÚbarbsrÚ   rÛ   r   r¬   r­   )r7   rÃ   rÄ   rß   s       r   Útest_barb_limitsrç   o  s¨   € Ü	�‰‹€BÜ
�‰�B˜˜BÓ€AÜ
�‰�B˜˜2Ó€AÜ�;‰;�q˜!Ó�D€A€qÜ× Ñ Ó"×,Ñ,¨R°Ó4°r·|±|ÑC€EÜ‡I�Iˆa�”B—F‘F˜1“IœrŸv™v a›y°EÕ:ô ˜bŸj™j×/Ñ/°Ø&'ö)r   z EllipseCollection_test_image.pngT)Úremove_textc            	      ó  — t        j                  «       \  } }t        j                  d«      }t        j                  d«      }t        j                  ||«      \  }}t        j
                  |j                  «       |j                  «       f«      j                  }||d   z  }||d   z  }t        j                  |«      dz  }	t        j                  |||	d||j                  d¬«      }
|j                  |
«       |j                  «        y )NrÎ   é   r+   ro   rÃ   rŒ   )ÚunitsÚoffsetsÚoffset_transformÚ
facecolors)r/   r0   r-   rÓ   r¹   ÚvstackÚravelÚTÚ	ones_liker—   ÚEllipseCollectionr×   r1   Úautoscale_view)r6   r7   rÃ   rÄ   ÚXÚYÚXYÚwwÚhhÚaaÚecs              r   Útest_EllipseCollectionrü   }  sÓ   € ô �l‰l‹n�G€CˆÜ
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ�;‰;�q˜!Ó�D€A€qÜ	�‰�A—G‘G“I˜qŸw™w›yÐ)Ó	*×	,Ñ	,€Bà	
ˆQˆr‰U‰€BØ	
ˆQˆr‰U‰€BÜ	�‰�bÓ	˜BÑ	€Bä	×	'Ñ	'Ø
ˆB�˜# r¸B¿L¹LØô
€Bð ×Ñ�bÔØ×ÑÕr   zpolycollection_close.png)rè   Ústylec                  óÈ  — ddl m}  ddgddgddgddggddgddgddgddggddgddgddgddggddgddgddgddggg}t        j                  «       }|j	                   | |«      «      }g d¢}t        t        d	«      «      }t        j                  |t        |«      z  d
¬«      }|j                  d«       g }g }t        ||«      D ]A  \  }	}
|j                  |	gt        |«      z  «       |j                  |
gt        |«      z  «       ŒC |j                  |«       |j                  ||d¬«       |j                  dd«       |j!                  dd«       |j#                  dd«       y )Nr   )ÚAxes3Dr   r   r   r   ç      @)ÚrÚgÚbrÄ   Úkr~   ç      Ð?©r%   gffffffæ?rÄ   )ÚzsÚzdirrÎ   rê   )Úmpl_toolkits.mplot3drÿ   r/   rª   Úadd_axesÚlistÚranger—   r
   ÚlenÚ	set_alphaÚzipÚextendrˆ   Úadd_collection3dÚ
set_xlim3dÚ
set_zlim3dÚ
set_ylim3d)rÿ   Ú	vertsQuadr6   r7   ÚcolorsÚzposÚpolyr  ÚcsÚzÚcs              r   Útest_polycollection_closer  ‘  s|  € å+ð ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0Ø
ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0Ø
ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0Ø
ˆbˆ�B˜�8˜b "˜X¨¨B xÐ0ð	2€Iô �*‰*‹,€CØ	�‰‘f˜S“kÓ	"€Bâ&€FÜ”�a“‹>€Dä×&Ñ&Ø”C˜“IÑ¨ô/€Dà‡N�N�3Ôð 
€BØ	€BÜ�D˜&Ó!ò (‰ˆˆ1Ø
�	‰	�1�#œ˜I›Ñ&Ô'Ø
�	‰	�1�#œ˜I›Ñ&Õ'ð(ð 	‡N�N�2Ôà×Ñ˜ ¨#ÐÔ.ð ‡M�M�!�QÔØ‡M�M�!�QÔØ‡M�M�!�QÕr   z regularpolycollection_rotate.pngc                  óê  — t         j                  d d…d d…f   \  } }t        j                  | j                  «       |j                  «       g«      }t        j                  ddt         j
                  z  t        |«      «      }t        j                  «       \  }}t        ||«      D ]=  \  }}t        j                  dd||g|j                  ¬«      }|j                  |d¬«       Œ? |j                  «        y )	NrÊ   r   r   rÎ   )éd   )ÚsizesÚrotationrì   rí   T©Úautolim)r-   ÚmgridÚ	transposerº   rÔ   Úpir  r/   r0   r  r—   ÚRegularPolyCollectionr×   r1   rô   )	ÚxxÚyyÚ	xy_pointsÚ	rotationsr6   r7   ÚxyÚalpharŸ   s	            r   Ú!test_regularpolycollection_rotater-  ¶  sË   € ä�X‰X�c�r�c˜3˜B˜3�hÑ�F€BˆÜ—‘˜bŸj™j›l¨B¯J©J«LÐ9Ó:€IÜ—‘˜A˜q¤§¡™w¬¨I«Ó7€Iä�l‰l‹n�G€CˆÜ˜ IÓ.ò -‰	ˆˆEÜ×0Ñ0Ø�V eØ�D¨2¯<©<ô9ˆð 	×Ñ˜# tÐÕ,ð	-ð
 ×ÑÕr   zregularpolycollection_scale.pngc                  ó  —  G d„ dt         j                  «      } t        j                  «       \  }}dg}t        j
                  dz  g} | |||j                  ¬«      }|j                  |d¬«       |j                  g d¢«       y )	Nc                   ó$   ‡ — e Zd Zˆ fd„Zd„ Zˆ xZS )ú:test_regularpolycollection_scale.<locals>.SquareCollectionc                 óJ   •— t        ‰| �  ddt        j                  dz  i|¤Ž y )Nr   r   )rÎ   )ÚsuperÚ__init__r-   r%  )ÚselfÚkwargsÚ	__class__s     €r   r3  zCtest_regularpolycollection_scale.<locals>.SquareCollection.__init__Ê  s    ø€ Ü‰GÑÑ<¬¯©¨r©Ð<°VÓ<r   c                 óT  — | j                   }d|j                  j                  z  }||j                  j                  z  |j
                  j                  z  }||j                  j                  z  |j
                  j                  z  }t        j                  «       j                  ||«      S )z4Return transform scaling circle areas to data space.g      R@)
r¤   rª   ÚdpiÚbboxÚwidthÚviewLimÚheightrš   rØ   Úscale)r4  r7   Ú
pts2pixelsÚscale_xÚscale_ys        r   Úget_transformzHtest_regularpolycollection_scale.<locals>.SquareCollection.get_transformÍ  s{   € à—‘ˆBà §	¡	§¡Ñ-ˆJà  2§7¡7§=¡=Ñ0°2·:±:×3CÑ3CÑCˆGØ  2§7¡7§>¡>Ñ1°B·J±J×4EÑ4EÑEˆGÜ×'Ñ'Ó)×/Ñ/°¸ÓAÐAr   )Ú__name__Ú
__module__Ú__qualname__r3  rA  Ú__classcell__)r6  s   @r   ÚSquareCollectionr0  É  s   ø„ ô	=ö	Br   rF  r£   r   )r  rì   rí   Tr!  )r+   r   r+   r   )	r—   r&  r/   r0   r-   r%  r×   r1   Úaxis)rF  r6   r7   r+  Úcircle_areasÚsquaress         r   Ú test_regularpolycollection_scalerJ  Å  sr   € ôBœ<×=Ñ=ô Bô �l‰l‹n�G€Cˆà
ˆ€Bä—E‘E˜A‘I�;€LÙØ B¸¿¹ôG€Gà×Ñ�g tÐÔ,Ø‡G�GŠNÕr   c                  ó*  — t        j                  «       \  } }|j                  dgdgdgd¬«      }| j                  t	        j
                  «       | j                  ¬«       t        dd¬«      }|j                  |«      \  }}|sJ ‚t        |d	   dg«       y )
Nr   iè  T)Úpicker)r8  iE  éð   )rÃ   rÄ   Úind)
r/   r0   r«   ÚsavefigÚioÚBytesIOr8  r   Úcontainsr   )r6   r7   rŸ   Úmouse_eventÚfoundÚindicess         r   Útest_pickingrV  â  s|   € Ü�l‰l‹n�G€CˆØ
�*‰*�a�S˜1˜# ˜v¨dˆ*Ó
3€CØ‡K�K”—
‘
“ #§'¡'€KÔ*Ü! C¨3Ô/€KØ—\‘\ +Ó.�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÕ+r   c                  óD  — t        j                  d«      } | d d …d f   | d d d …f   z  }t        j                  «       \  }}|j	                  |«      }|j                  «        d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }|j                  |«      \  }	}
|	sJ ‚t        |
d   dg«       d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }|j                  |«      \  }	}
|	sJ ‚t        |
d   dg«       y )NrÎ   ©r   r   ©ÚxdataÚydatarÃ   rÄ   rN  r   ©ç      ø?r]  r~   )r-   rÓ   r/   r0   r   Údraw_without_renderingrA  rÒ   r   rR  r   )rÃ   rõ   r6   r7   ÚmeshrZ  r[  rÄ   rS  rT  rU  s              r   Útest_quadmesh_containsr`  ì  s  € Ü
�	‰	�!‹€AØ	Š!ˆTˆ'‰
�Q�tšQ�w‘ZÑ€Aä�l‰l‹n�G€CˆØ�=‰=˜Ó€DØ×ÑÔ Ø�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€KØ—]‘] ;Ó/�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÔ+à�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€KØ—]‘] ;Ó/�N€Eˆ7Ù€Lˆ5Ü�w˜u‘~¨ sÕ+r   c                  óX  — ddgddgg} ddgddgg}t        j                  «       \  }}|j                  | |dgg«      }|j                  «        g d¢}|D ]U  }|\  }}}	|j	                  «       j                  ||f«      \  } }t        ||| |¬«      }
|j                  |
«      \  }}||	u rŒUJ ‚ y )Nr   r+   r   ))ç      à¿r  T)r   r  F)r   r  T)r   g      Ð¿TrY  )r/   r0   r   r^  rA  rÒ   r   rR  )rÃ   rÄ   r6   r7   r_  ÚpointsÚpointrZ  r[  r„   rS  rT  rU  s                r   Útest_quadmesh_contains_concavere    sÌ   € à
ˆRˆ�1�a�&Ð€AØ
ˆQˆ�!�R�Ð€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜A  ˜uÓ%€DØ×ÑÔ ò€Fð
 ò !ˆØ!&Ñˆˆu�hØ×!Ñ!Ó#×-Ñ-¨u°e¨nÓ=‰ˆˆ1Ü%¨E¸À!ÀqÔIˆØŸ™ {Ó3‰ˆˆwØ˜Ò Ð Ð ñ!r   c                  óü  — t        j                  d«      } | d d …d f   | d d d …f   z  }t        j                  «       \  }}|j	                  |«      }d |_        |j                  «        d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }|j                  |«      �J ‚|j                  t        j                  |j                  «      «       t        |j                  |«      dg«       y )NrÎ   rX  rY  r   )r-   rÓ   r/   r0   r   Ú_Ar^  rA  rÒ   r   Úget_cursor_dataÚ	set_arrayÚonesÚshaper   )	rÃ   rõ   r6   r7   r_  rZ  r[  rÄ   rS  s	            r   Útest_quadmesh_cursor_datarl    sÜ   € Ü
�	‰	�!‹€AØ	Š!ˆTˆ'‰
�Q�tšQ�w‘ZÑ€Aä�l‰l‹n�G€CˆØ�=‰=˜Ó€Dà€D„GØ×ÑÔ Ø�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€Kà×Ñ Ó,Ð4Ð4Ð4ð 	‡N�N”2—7‘7˜1Ÿ7™7Ó#Ô$Ü�t×+Ñ+¨KÓ8¸1¸#Õ>r   c                  ór  — g d¢} t        j                  «       \  }}|j                  | | t        j                  d«      «      }|j                  «        d\  }}|j                  «       j                  ||f«      \  } }t        ||| |¬«      }t        |j                  |«      t        j                  d«      «       y )N)r   r   r   r   ©rê   rê   r\  rY  é	   )r/   r0   r   r-   rj  r^  rA  rÒ   r   r   rh  )rÃ   r6   r7   r_  rZ  r[  rÄ   rS  s           r   Ú)test_quadmesh_cursor_data_multiple_pointsrp  +  s“   € Ú€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜AœrŸw™w v›Ó/€DØ×ÑÔ Ø�L€Eˆ5Ø×ÑÓ×)Ñ)¨5°%¨.Ó9�D€A€qÜ!¨°U¸aÀ1ÔE€Kä�t×+Ñ+¨KÓ8¼"¿'¹'À!»*ÕEr   c                  ól   — t        j                  g d¢g d¢dddgf¬«       t        j                  «        y )N©r   r   r   r   r   )r'   )r/   r«   Údrawr   r   r   Útest_linestyle_single_dashesrt  7  s#   € Ü‡K�K’	š9°°b¸"°X°Õ?Ü‡H�H…Jr   zsize_in_xy.pngc                  óþ   — t        j                  «       \  } }d\  }}}d}ddg}t        j                  |||d||j                  ¬«      }|j                  |«       |j                  dd«       |j                  dd«       y )N)©rÊ   rÊ   rÊ   r   rv  )rn   rn   r+  )rë   rì   rí   r   râ   )r/   r0   r—   ró   r×   r1   r3   r4   )r6   r7   ÚwidthsÚheightsÚanglesÚcoordsÚes          r   Útest_size_in_xyr|  <  sz   € ä�l‰l‹n�G€Cˆà-Ñ€FˆG�VØ€FØ˜Ð!€FÜ×&Ñ&Ø�˜ tØ¨¯©ô	7€Að ×Ñ�aÔà‡K�K��2ÔØ‡K�K��2Õr   c                 ó0  — g d¢}| j                  g d¢|¬«      x}}| j                  g d¢|¬«      }| j                  g d¢|¬«      }| j                  g d¢|¬«      }t        |¬«       t        |¬«       t        |¬	«       t        |¬
«       t        |¬«       y )N)é   é   é   )ÚredÚblueÚgreen)Úindex©r   r   rê   )r!   r|   Údashdot)TFT)Ú
edgecolors)rî   )Ú
linewidths)Ú
linestyles)Úantialiaseds)ÚSeriesr   )Úpdr„  rû   ÚfcÚlwr¸   rú   s          r   Útest_pandas_indexingr�  M  s�   € ò €EØ�i‰iÒ0¸ˆiÓ>Ð>€BˆØ	�‰’9 EˆÓ	*€BØ	�‰Ò1¸ˆÓ	?€BØ	�‰Ò&¨eˆÓ	4€Bä˜"ÕÜ˜"ÕÜ˜"ÕÜ˜"ÕÜ˜BÖr   Údefaultc                  ó‚  — t        j                  g «      } | j                  ddg«       | j                  g d¢«       | j	                  «       dgdz  k(  sJ ‚| j                  «       g d¢dz  k(  sJ ‚| j                  g d¢«       | j	                  «       dgdz  k(  sJ ‚| j                  «       g d¢k(  j                  «       sJ ‚y )Nú-r…  r<   rã   r   )r’  r’  r’  rê   )r—   r˜   Úset_linestylesÚset_linewidthsÚget_linestylesÚget_linewidthsÚall©rŸ   s    r   Útest_lslw_bcastr™  ^  sµ   € ä
×
%Ñ
% bÓ
)€CØ×Ñ˜˜S�zÔ"Ø×Ñ’yÔ!à×ÑÓ I ;°¡?Ò2Ð2Ð2Ø×ÑÓ¢9¨q¡=Ò0Ð0Ð0à×Ñ’Ô'Ø×ÑÓ I ;°¡?Ò2Ð2Ð2Ø×ÑÓ ¢IÑ-×2Ñ2Ô4Ð4Ñ4r   c                  óš   — t        «       } t        j                  t        d¬«      5  | j	                  d«       d d d «       y # 1 sw Y   y xY w)Nz"Do not know how to convert 'fuzzy'©ÚmatchÚfuzzy)r   ÚpytestÚraisesr�   Úset_linestyle©r  s    r   Útest_set_wrong_linestyler¢  l  s9   € Ü‹€AÜ	�‰”zÐ)MÔ	Nñ !Ø	�‰˜Ô ÷!÷ !ñ !ús   ¦AÁA
c                  óö   — t        j                  g «      } | j                  «       �J ‚t        j                  g d¬«      } | j                  «       dk(  sJ ‚| j                  d«       | j                  «       dk(  sJ ‚y )NÚround)ÚcapstyleÚbutt)r—   r˜   Úget_capstyleÚset_capstyler˜  s    r   Útest_capstyler©  r  su   € ä
×
%Ñ
% bÓ
)€CØ×ÑÓÐ%Ð%Ð%Ü
×
%Ñ
% b°7Ô
;€CØ×ÑÓ Ò(Ð(Ð(Ø×Ñ�VÔØ×ÑÓ Ò'Ð'Ñ'r   c                  óö   — t        j                  g «      } | j                  «       �J ‚t        j                  g d¬«      } | j                  «       dk(  sJ ‚| j                  d«       | j                  «       dk(  sJ ‚y )Nr¤  )Ú	joinstyleÚmiter)r—   r˜   Úget_joinstyleÚset_joinstyler˜  s    r   Útest_joinstyler¯  |  su   € ä
×
%Ñ
% bÓ
)€CØ×ÑÓÐ&Ð&Ð&Ü
×
%Ñ
% b°GÔ
<€CØ×ÑÓ 'Ò)Ð)Ð)Ø×Ñ�gÔØ×ÑÓ 'Ò)Ð)Ñ)r   zcap_and_joinstyle.pngc                  ó  — t        j                  «       \  } }|j                  ddg«       |j                  ddg«       t	        j
                  g d¢«      }t	        j
                  dgdgdgg«      t	        j
                  g d¢g«      z   }t	        j                  d	«      }||d d …d d …d
f<   ||d d …d d …df<   t        |g d¢¬«      }|j                  d«       |j                  d«       |j                  |«       |j                  d«       y )Nrb  r]  ç      @)r   r   r   r   r   r   )r   r   r   )rê   rê   r   r   r   )rÊ   rn   ro   r  r¤  r¬  z2Line collection with customized caps and joinstyle)r/   r0   r3   r4   r-   r.   Úzerosr   r¨  r®  r1   r2   )r6   r7   rÃ   ÚysÚsegsÚline_segmentss         r   Útest_cap_and_joinstyle_imager¶  †  sÚ   € ä�l‰l‹n�G€CˆØ‡K�K��s�ÔØ‡K�K��s�Ôä
�‰’Ó!€AÜ	�‰�C�5˜3˜% # Ð'Ó	(¬2¯8©8²_Ð4EÓ+FÑ	F€Bä�8‰8�IÓ€DØ€DŠŠAˆqˆ�MØ€DŠŠAˆqˆ�MÜ" 4²<Ô@€MØ×Ñ˜wÔ'Ø×Ñ Ô(à×Ñ�mÔ$Ø‡L�LÐEÕFr   zscatter_post_alpha.pngc                  ó²   — t        j                  «       \  } }|j                  t        d«      t        d«      t        d«      ¬«      }|j	                  d«       y )Nr~   r¡  r³   )r/   r0   r«   r  r  )r6   r7   Úscs      r   Útest_scatter_post_alphar¹  š  s?   € ô �l‰l‹n�G€CˆØ	�‰”E˜!“Hœe A›h¬%°«(ˆÓ	3€BØ‡L�L�Õr   c                  óB  — t        j                  d«      } | dz  }t        j                  d«      \  }\  }}|j	                  | | | |¬«      }|j	                  | | | ¬«      }|j                  |«       t        j                  «        t        |j                  «       d d …df   |«       t        |j                  «       d d …df   |«       t        j                  d«      \  }\  }}|j	                  | | g d¢|¬«      }|j	                  | | d|¬«      }t        j                  «        t        |j                  «       d d …df   |«       t        |j                  «       d d …df   |«       t        j                  d«      \  }\  }}|j	                  | | g d¢¬	«      }|j                  |«       |j	                  | | d¬	«      }|j                  |«       t        j                  «        t        |j                  «       d d …df   |«       t        |j                  «       d d …df   |«       y )
Nr~   r   )r  r,  r¡  r+   )r  r  r  r  Úm)r&   r,  r  )r&   )	r-   rÓ   r/   r0   r«   r  rs  r   Úget_facecolors)rÃ   r,  r6   Úax0Úax1Úsc0Úsc1s          r   Útest_scatter_alpha_arrayrÁ  ¢  s¾  € Ü
�	‰	�!‹€AØ�‰E€Eä—l‘l 1“o�O€C‰ˆ#ˆsØ
�+‰+�a˜˜a uˆ+Ó
-€CØ
�+‰+�a˜˜aˆ+Ó
 €CØ‡M�M�%ÔÜ‡H�H„JÜ�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:Ü�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:ä—l‘l 1“o�O€C‰ˆ#ˆsØ
�+‰+�a˜Ò";À5ˆ+Ó
I€CØ
�+‰+�a˜ #¨Uˆ+Ó
3€CÜ‡H�H„JÜ�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:Ü�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:ä—l‘l 1“o�O€C‰ˆ#ˆsØ
�+‰+�a˜Ò";ˆ+Ó
<€CØ‡M�M�%ÔØ
�+‰+�a˜ #ˆ+Ó
&€CØ‡M�M�%ÔÜ‡H�H„JÜ�s×)Ñ)Ó+ªA¨r¨EÑ2°EÔ:Ü�s×)Ñ)Ó+ªA¨r¨EÑ2°EÕ:r   c            	      óÂ  — t         j                  j                  d«       t         j                  j                  dd«      \  } }t         j                  j                  d«      }t         j                  j	                  ddd¬«      }t         j                  j	                  ddd¬«      }t        j                  «       \  }}|j                  | |||dd	d¬
«      }|j                  d¬«      \  }}t        |«      dk(  sJ ‚|g d¢k(  sJ ‚t        j                  |D �	cg c]  }	|	j                  «       ‘Œ c}	«      }
|j                  t        j                  d«      dz  «      }t        |
|«       |j                  ||d¬«      }|j                  d¬«      \  }}t        |«      dk(  sJ ‚|j                  ||d¬«      }|j                  ddd¬«      \  }}t!        d„ |D «       «      sJ ‚t!        d„ |D «       «      sJ ‚|j                  ||d¬«      }|j                  dddd„ ¬«      \  }}|D �	cg c]  }	|	j#                  «       ‘Œ }}	t        j$                  t        j                  |t&        «      dz  «      }t)        ||«       |j                  ||d¬«      }t*        j,                  j/                  ddg d¢¬«      }|j                  |¬«      \  }}t        |«      t        |«      k(  sJ ‚g d ¢}|j                  |dd¬!«      \  }}|D �cg c]  }t'        |«      ‘Œ c}|dd  k(  sJ ‚||||fD ]  }|j1                  |«       Œ |j2                  j5                  «        y c c}	w c c}	w c c}w )"Né!N,r   rÊ   r   r~   )Úsizei,  Újetrµ   )r  ÚsÚcmapr·   rˆ  z{x:g})Úfmt)Ú0Ú1Ú2Ú3Ú4rÎ   r   )Úlocro  )Únumr  r   r�  )r‚   r,  r&   c              3   óB   K  — | ]  }|j                  «       d k(  –— Œ y­w)r   N)Ú	get_alpha©Ú.0Úlines     r   ú	<genexpr>z6test_pathcollection_legend_elements.<locals>.<genexpr>Ö  s   è ø€ Ò5¨4ˆt�~‰~Ó 3Õ&Ñ5ùó   ‚c              3   óB   K  — | ]  }|j                  «       d k(  –— Œ y­w)r�  N)Úget_markerfacecolorrÒ  s     r   rÕ  z6test_pathcollection_legend_elements.<locals>.<genexpr>×  s   è ø€ ÒA°tˆt×'Ñ'Ó)¨UÕ2ÑAùrÖ  z{x:.2f}c                 ó   — d| z  S )Nr   r   )rÃ   s    r   ú<lambda>z5test_pathcollection_legend_elements.<locals>.<lambda>Û  s
   € ¨Q¨q©S€ r   )r‚   rÏ  rÈ  Úfuncrê   rÉ   )r   r   r±  rê   r~   rã   rÉ   rÊ   )ÚnbinsÚmin_n_ticksÚsteps)r+   r   g33333³K@i  )rÏ  r‚   rÈ  )r-   ÚrandomÚseedÚrandÚrandintr/   r0   r«   Úlegend_elementsr  r.   rE   rÇ  rÓ   r   Úlegendr—  Úget_markersizeÚsqrtÚfloatr   ÚmplÚtickerÚMaxNLocatorÚ
add_artistÚcanvasrs  )rÃ   rÄ   r  rÆ  r6   r7   r¸  ÚhÚlrÔ  r  Úcolors2Úl1Úh2Úlab2Úl2Úl3ÚactsizesÚlabeledsizesÚl4rÎ  Úh5Úlab5ÚlevelsÚh6Úlab6s                             r   Ú#test_pathcollection_legend_elementsrý  ¿  s  € Ü‡I�I‡N�N�8ÔÜ�9‰9�>‰>˜!˜RÓ �D€A€qÜ
�	‰	�‰�rÓ€AÜ
�	‰	×Ñ˜!˜Q RÐÓ(€AÜ
�	‰	×Ñ˜"˜c¨ÐÓ+€Aä�l‰l‹n�G€CˆØ	�‰�A�q˜A ¨°sÀqˆÓ	I€Bà×Ñ 'ÐÓ*�D€A€qÜˆq‹6�QŠ;Ðˆ;ØÒ)Ò)Ð)Ð)Ü�X‰X°AÖ6¨D�t—~‘~Õ'Ò6Ó7€FØ�g‰g”b—i‘i “l 1‘nÓ%€GÜ�v˜wÔ'Ø	�‰�1�a˜QˆÓ	€Bà×!Ñ! aÐ!Ó(�H€BˆÜˆr‹7�aŠ<Ðˆ<Ø	�‰�2�t ˆÓ	#€Bà×Ñ 7°#¸UÐÓC�D€A€qÜÑ5°1Ô5Ô5Ð5Ð5ÜÑA¸qÔAÔAÐAÐAØ	�‰�1�a˜QˆÓ	€Bà×Ñ 7°°yÙ#0ð ó 2�D€A€qà23Ö4¨$�×#Ñ#Õ%Ð4€HÐ4Ü—7‘7œ2Ÿ8™8 A¤uÓ-°Ñ1Ó2€LÜ˜h¨Ô5Ø	�‰�1�a˜QˆÓ	€Bä
�*‰*×
 Ñ
  q°cÚ'Bð !ó D€Cà×!Ñ! cÐ!Ó*�H€BˆÜˆr‹7”c˜"“gÒÐÐâ€FØ×!Ñ! f°7ÀÐ!ÓH�H€BˆØ"Ö#˜ŒE�!�HÒ# v¨a¨b zÒ1Ð1Ð1à�"�b˜"Ðò ˆØ
�‰�aÕðð ‡J�J‡O�OÕùòC 7ùò  5ùò $s   ÄMÈ$MË>Mc                  ó²   — t        j                  g d¢«      } t        | «      }t         j                  j	                  | t        j                  g d¢«      «       y )N)rê   r   r   rÊ   )r-   r.   r	   r>   r   )Úarrr5   s     r   Útest_EventCollection_nosortr   ð  s7   € ä
�(‰(’=Ó
!€CÜ˜3Ó€DÜ‡J�J×!Ñ! #¤r§x¡x²Ó'>Õ?r   c                  óþ  — t        j                  dt         j                  ¬«      j                  ddd«      } t	        | «      }t	        t        | «      «      }t        |j                  «      t        |j                  «      k(  sJ ‚t        |j                  |j                  «      D ]]  \  }}t        j                  |j                  |j                  «      sJ ‚t        j                  |j                  |j                  «      rŒ]J ‚ t        j                  dt        ¬«      }| D �cg c]  }t        d„ |D «       «      ‘Œ c}|d d  t	        |«      }t        |j                  «      t        |j                  «      k(  sJ ‚t        |j                  |j                  «      D ]]  \  }}t        j                  |j                  |j                  «      sJ ‚t        j                  |j                  |j                  «      rŒ]J ‚ y c c}w )NrË   ©ÚdtyperÊ   rÎ   r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   )Útuple)rÓ  rÄ   s     r   rÕ  z2test_collection_set_verts_array.<locals>.<genexpr>  s   è ø€ Ò0¨œE !ŸHÑ0ùs   ‚)r-   rÓ   ÚdoublerÕ   r
   r  r  Ú_pathsr  Úarray_equalÚ	_verticesÚ_codesÚemptyÚobjectr  )	ÚvertsÚcol_arrÚcol_listÚapÚlpÚverts_tuplerÃ   Úcol_arr_tupleÚatps	            r   Útest_collection_set_verts_arrayr  ÷  sv  € Ü�I‰I�b¤§	¡	Ô*×2Ñ2°2°q¸!Ó<€EÜ˜UÓ#€GÜœd 5›kÓ*€HÜˆw�~‰~Ó¤# h§o¡oÓ"6Ò6Ð6Ð6Ü�g—n‘n h§o¡oÓ6ò 4‰ˆˆBÜ�~‰~˜bŸl™l¨B¯L©LÔ9Ð9Ð9Ü�~‰~˜bŸi™i¨¯©Õ3Ð3Ð3ð4ô —(‘(˜2¤VÔ,€KØ:?Ö@°Q”eÑ0¨aÔ0Õ0Ò@€K‘€NÜ" ;Ó/€MÜˆw�~‰~Ó¤# m×&:Ñ&:Ó";Ò;Ð;Ð;Ü�w—~‘~ }×';Ñ';Ó<ò 5‰ˆˆCÜ�~‰~˜bŸl™l¨C¯M©MÔ:Ð:Ð:Ü�~‰~˜bŸi™i¨¯©Õ4Ð4Ð4ñ5ùò As   Ä"G:c                  óH  — g t        d«      ¢} t        «       }|j                  | «       t        j                  t
        d¬«      5  |j                  d«       d d d «       d| d<   t        j                  | |j                  «       «      j                  «       sJ ‚y # 1 sw Y   ŒCxY w)NrÊ   z^Image data of dtyper›  Úwrong_inputé-   r~   )
r  r   ri  rž  rŸ  Ú	TypeErrorr-   Ú	not_equalÚ	get_arrayÚany)Úvalsr  s     r   Útest_collection_set_arrayr  	  s„   € ØŒU�2‹Yˆ<€Dô 	‹€AØ‡K�K�Ôô 
�‰”yÐ(>Ô	?ñ #Ø	�‰�MÔ"÷#ð €Dˆ�GÜ�<‰<˜˜aŸk™k›mÓ,×0Ñ0Ô2Ð2Ñ2÷#ð #ús   ÁBÂB!c            	      ó  — g d¢} d}t        j                  t        j                  | d«      t        j                  d|gt	        | «      «      g«      }|j                  t	        | «      ddg«      }t        j                  «       \  }}t        j                  |j                  |j                  «      }|j                  t        ||¬«      «       |j                  dd¬«       t         j                  j!                  |j#                  «       d	d
g«       y )N)r   r   rÎ   çš™™™™™É?r   r   rÑ   TF)ÚscalexÚscaleyr   r   )r-   Úcolumn_stackÚrepeatÚtiler  rÕ   r/   r0   rš   Úblended_transform_factoryr×   Ú	transAxesr1   r   rô   r>   Úassert_allcloseÚget_xlim)Úar<  Úxy_pairsÚ	line_segsÚfr7   rß   s          r   Útest_blended_collection_autolimr.    sÅ   € Ú€AØ€Fä�‰¤§	¡	¨!¨Q£´·±¸!¸V¸ÄcÈ!ÃfÓ1MÐNÓO€HØ× Ñ ¤# a£&¨!¨Q Ó0€Iä�L‰L‹N�E€A€rÜ×1Ñ1°"·,±,ÀÇÁÓM€EØ×Ñ”n Y¸%Ô@ÔAØ×Ñ˜T¨%ÐÔ0Ü‡J�J×Ñ˜rŸ{™{›}¨r°2¨hÕ7r   c                  ó  — t        j                  «       \  } }|j                  dd«       t        j                  j                  |j                  «       ddg«       t        j                  j                  |j                  «       ddg«       y )Nr   g¸…ëQ¸®¿g¸…ëQ¸®?)r/   r0   r«   r-   r>   r(  Úget_ylimr)  )r6   r7   s     r   Útest_singleton_autolimr1  '  s[   € Ü�l‰l‹n�G€CˆØ‡J�Jˆq�!ÔÜ‡J�J×Ñ˜rŸ{™{›}¨u°d¨mÔ<Ü‡J�J×Ñ˜rŸ{™{›}¨u°d¨mÕ<r   ztransform, expected)r×   )rb  g      @)r'  )gffffff@gš™™™™™	@c                 óJ  — t        j                  «       \  }}|j                  ddt        || «      ¬«       |j                  dd«       t        j
                  j                  |j                  «       |«       t        j
                  j                  |j                  «       |«       y )Nr   rÑ   rê   )	r/   r0   r«   Úgetattrr-   r>   r(  r0  r)  )rÒ   r„   r6   r7   s       r   Útest_autolim_with_zerosr4  .  sn   € ô �l‰l‹n�G€CˆØ‡J�Jˆq�!œw r¨9Ó5€JÔ6Ø‡J�Jˆq�!ÔÜ‡J�J×Ñ˜rŸ{™{›}¨hÔ7Ü‡J�J×Ñ˜rŸ{™{›}¨hÕ7r   c                 óÒ  — t        j                  d«      }t        j                  d«      }t         j                  j                  d«      }t        j                  «       \  }} t        || «      |||«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |j                  dd«      «       d d d «       t        j                  d«      j                  d	«      }t        j                  t        t        j                  d
«      ¬«      5  |j                  |«       d d d «       t        j                  t        t        j                  d«      ¬«      5  |j                  |j                  «       «       d d d «       t        j                  d«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |«       d d d «       t        j                  d«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |«       d d d «       t        j                  d«      }t        j                  t        t        j                  d«      ¬«      5  |j                  |«       d d d «       t        j                  d«      }t        j                  d«      }t         j                  j                  d«      }t        j                  «       \  }}|j                  |||d¬«      }y # 1 sw Y   �ŒYxY w# 1 sw Y   �ŒúxY w# 1 sw Y   �Œ±xY w# 1 sw Y   �ŒaxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÀxY w)Nr~  rÉ   )é   rÊ   zuFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (10, 7)r›  rÊ   r6  é6   )rã   ro  ztFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (6, 9)zsFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (54,))ro  rã   rê   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 3))ro  rã   rÎ   zwFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (9, 6, 4))r6  rÊ   r   zxFor X (11) and Y (8) with flat shading, A should have shape (7, 10, 3) or (7, 10, 4) or (7, 10) or (70,), not (7, 10, 2)Úgouraud©Úshading)r-   rÓ   rß  r/   r0   r3  rž  rŸ  r�   ÚreÚescaperi  rÕ   rð   rj  r   )r   rÃ   rÄ   r  r6   r7   r5   s          r   Ú"test_quadmesh_set_array_validationr=  >  s¡  € Ü
�	‰	�"‹€AÜ
�	‰	�!‹€AÜ
�	‰	×Ñ˜Ó!€AÜ�l‰l‹n�G€CˆØŒ7�2�vÓ˜q ! QÓ'€Dä	�‰”z¬¯©ðHó*Iô 
Jñ )ð 	�‰�q—y‘y  QÓ'Ô(÷)ô
 	�	‰	�"‹×Ñ˜fÓ%€AÜ	�‰”z¬¯©ðGó*Hô 
Iñ ð 	�‰�qÔ÷ô 
�‰”z¬¯©ðFó*Gô 
Hñ "ð 	�‰�q—w‘w“yÔ!÷"ô 	�‰�	Ó€AÜ	�‰”z¬¯©ðJó*Kô 
Lñ ð 	�‰�qÔ÷ô
 	�‰�	Ó€AÜ	�‰”z¬¯©ðJó*Kô 
Lñ ð 	�‰�qÔ÷ô
 	�‰�
Ó€AÜ	�‰”z¬¯©ðKó*Lô 
Mñ ð 	�‰�qÔ÷ô
 	�	‰	�"‹€AÜ
�	‰	�!‹€AÜ
�	‰	×Ñ˜Ó!€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜A˜q¨)ˆ=Ó4�D÷M)ñ )ú÷ñ ú÷"ñ "ú÷ñ ú÷ñ ú÷ð úsH   Â#"LÄL)Å' L6ÇMÈ/MÊMÌL&Ì)L3Ì6M ÍMÍMÍM&c                  ój  — t        j                  g d¢g d¢«      \  } }| |z  d d…d d…f   }t        j                  | ||«      }|j	                  «        |j                  «       dd …d d …f   }t         j                  j                  | dk(  |dk(  z  | «      } t        j                  | ||«      }|j	                  «        t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «       t         j                  j                  | dk(  |dk(  z  |«      }t        j                  | ||«      }|j	                  «        t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «       t         j                  j                  | d d…d d…f   dk(  |d d…d d…f   dk(  z  |«      }t        j                  |«      }|j	                  «        t        |j                  «       «      dk(  sJ ‚t        ||j                  «       «       t        j                  t        j                  d¬«      5  |j!                  t        j"                  d«      «       d d d «       t        j$                  d	«      j'                  d
«      }|j!                  |«       |j	                  «        t        |j                  «       «      d	k(  sJ ‚t         j                  j)                  |d«      }|j!                  |«       |j	                  «        t        |j                  «       «      dk(  sJ ‚y # 1 sw Y   ŒÌxY w)Nrr  )r   r   r   rê   r+   r   r   r~   zSetting a PolyQuadMeshr›  rã   )rê   r   r   rÎ   )r-   r¹   r/   r   Úupdate_scalarmappableÚget_facecolorÚmaÚmasked_wherer   r  Ú	get_pathsr   rž  Úwarnsrè  ÚMatplotlibDeprecationWarningri  rj  rÓ   rÕ   Úmasked_less)r'  r(  ÚzzÚquadmeshÚquadmesh_fcÚpolymeshs         r   Ú'test_polyquadmesh_masked_vertices_arrayrK  n  s¸  € Ü�[‰[š¢LÓ1�F€Bˆà
ˆR‰%��"��c�r�c�Ñ	€BÜ�~‰~˜b " bÓ)€HØ×"Ñ"Ô$Ø×(Ñ(Ó*¨1©2ªq¨5Ñ1€Kä	�‰×	Ñ	˜R 1™W¨¨q©Ñ1°2Ó	6€BÜ�z‰z˜"˜b "Ó%€HØ×"Ñ"Ô$äˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä�{ H×$:Ñ$:Ó$<Ô=ô 
�‰×	Ñ	˜R 1™W¨¨q©Ñ1°2Ó	6€BÜ�z‰z˜"˜b "Ó%€HØ×"Ñ"Ô$äˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä�{ H×$:Ñ$:Ó$<Ô=ô 
�‰×	Ñ	˜R    S b S ™\¨QÑ.°2°c°r°c¸3¸B¸3°h±<À1Ñ3DÑEÀrÓ	J€BÜ�z‰z˜"‹~€HØ×"Ñ"Ô$äˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä�{ H×$:Ñ$:Ó$<Ô=ô 
�‰”c×6Ñ6Ø4ô
6ñ 'à×Ñœ2Ÿ7™7 1›:Ô&÷'ô 
�‰�1‹×	Ñ	˜fÓ	%€BØ×Ñ�rÔØ×"Ñ"Ô$Üˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ð)ä	�‰×	Ñ	˜2˜qÓ	!€BØ×Ñ�rÔØ×"Ñ"Ô$Üˆx×!Ñ!Ó#Ó$¨Ò)Ð)Ñ)÷'ð 'ús   È9%L)Ì)L2c                 ó@  — g d¢}g d¢}t        j                  d¬«      }t        j                  ||«      \  }} t        t        | «      |||«      }t        j
                  |j                  |j                  g«      j                  }t        |j                  «       |«       y )Nrr  )r   rÎ   rã   )r   r   )rk  )	r-   rj  r¹   r3  r/   Ústackrñ   r   Úget_coordinates)r   rÃ   rÄ   r  r'  r(  r5   rz  s           r   Útest_quadmesh_get_coordinatesrO  £  sz   € Ú€AÚ€AÜ
�‰�fÔ€AÜ�[‰[˜˜AÓ�F€BˆØŒ7”3˜Ó  B¨Ó*€Dô �X‰X�r—t‘t˜RŸT™T�lÓ#×%Ñ%€FÜ�t×+Ñ+Ó-¨vÕ6r   c                  ó(  — t        j                  d«      } t        j                  d«      }t        j                  d«      j                  d«      }t        j                  «       \  }}|j                  | |t        j                  |j                  «      «      }|j                  |«       |j                  j                  «        t        j                  |j                  «       |«      sJ ‚|j                  t        j                  d«      «       |j                  j                  «        t        j                  |j                  «       t        j                  d«      «      sJ ‚t        j                  d«      j                  d«      }t        j                  «       \  }}|j                  | |t        j                  |j                  «      d¬«      }|j                  |«       |j                  j                  «        t        j                  |j                  «       |«      sJ ‚|j                  t        j                  d«      «       |j                  j                  «        t        j                  |j                  «       t        j                  d«      «      sJ ‚y )NrÎ   ro  rn  é   )rÎ   rÎ   r8  r9  )r-   rÓ   rÕ   r/   r0   r   rj  rk  ri  rì  rs  r  r  )rÃ   rÄ   r  r6   r7   r5   s         r   Útest_quadmesh_set_arrayrR  ¯  s¤  € Ü
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ
�	‰	�!‹×Ñ˜VÓ$€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜AœrŸw™w q§w¡wÓ/Ó0€Dà‡N�N�1ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¨AÔ.Ð.Ð.ð 	‡N�N”2—7‘7˜1“:ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¬B¯G©G°A«JÔ7Ð7Ð7ä
�	‰	�"‹×Ñ˜fÓ%€AÜ�l‰l‹n�G€CˆØ�=‰=˜˜AœrŸw™w q§w¡wÓ/¸ˆ=ÓC€Dà‡N�N�1ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¨AÔ.Ð.Ð.ð 	‡N�N”2—7‘7˜2“;ÔØ‡J�J‡O�OÔÜ�>‰>˜$Ÿ.™.Ó*¬B¯G©G°B«KÔ8Ð8Ñ8r   c                 ó2  — t        j                  «       \  }}t        j                  d   }t        j                  j                  dd¬«      } t        || «      dgg||¬«      }|j                  j                  «        t        j                  |j                  «       dd d …f    | |d«      «      «      sJ ‚d\  |_        |_        |j                  j                  «        t        j                  |j                  «       dd d …f    | |d«      «      «      sJ ‚y )NÚplasmar   r   )ÚvminÚvmax)rÇ  Únorm)r   r   )r/   r0   rè  Ú	colormapsr  Ú	Normalizer3  rì  rs  r-   r  r¼  rU  rV  )r   r6   r7   rÇ  rW  r5   s         r   Útest_quadmesh_vmin_vmaxrZ  Í  sÛ   € ä�l‰l‹n�G€CˆÜ�=‰=˜Ñ"€DÜ�:‰:×Ñ Q¨QÐÓ/€DØŒ7�2�vÓ  ˜u¨4°dÔ;€DØ‡J�J‡O�OÔÜ�>‰>˜$×-Ñ-Ó/°²1°Ñ5±t¹DÀ»G³}ÔEÐEÐEð  Ñ€D„IˆtŒyØ‡J�J‡O�OÔÜ�>‰>˜$×-Ñ-Ó/°²1°Ñ5±t¹DÀ»G³}ÔEÐEÑEr   c                 ó–  — t        j                  d«      }t        j                  d«      }t        j                  d«      j                  d«      }||j                  «       z  }|j	                  «       }t        j                  d«      \  }\  }} t        || «      ||||¬«      }	 t        || «      |||«      }
|
j                  |«       t        j                  «        t        |	j                  «       d d …df   |«       t        |
j                  «       d d …df   |«       t        j                  d«      \  }\  }} t        || «      ||||¬«      }	 t        || «      |||«      }
|
j                  |«       t        j                  «        t        |	j                  «       d d …df   |«       t        |
j                  «       d d …df   |«       y )NrÎ   ro  rn  r   )r,  r+   )r-   rÓ   rÕ   Úmaxrð   r/   r0   r3  r  rs  r   r¼  )r   rÃ   rÄ   r  r,  Ú
alpha_flatr6   r½  r¾  Úcoll1Úcoll2s              r   Útest_quadmesh_alpha_arrayr`  Ý  sr  € Ü
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ
�	‰	�!‹×Ñ˜VÓ$€AØ�—‘“‰K€EØ—‘“€Jä—l‘l 1“o�O€C‰ˆ#ˆsØ ŒG�C˜Ó   A q°Ô6€EØ ŒG�C˜Ó   A qÓ)€EØ	‡O�O�EÔÜ‡H�H„JÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÔAÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÔAä—l‘l 1“o�O€C‰ˆ#ˆsØ ŒG�C˜Ó   A q°Ô6€EØ ŒG�C˜Ó   A qÓ)€EØ	‡O�O�EÔÜ‡H�H„JÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÔAÜ�u×+Ñ+Ó-ªa°¨eÑ4°jÕAr   c                 ó@  — t        j                  «       \  }} t        || «      t        j                  d«      j                  d«      «      }t        j                  t        d¬«      5  |j                  ddg«       |j                  «        d d d «       y # 1 sw Y   y xY w)Nr  )rê   rÎ   z^Data array shaper›  r   ç333333ã?)r/   r0   r3  r-   rÓ   rÕ   rž  rŸ  r�   r  r?  )r   r6   r7   Úpcs       r   Útest_alpha_validationrd  õ  sw   € ä�l‰l‹n�G€CˆØ	Œ��VÓ	œRŸY™Y r›]×2Ñ2°6Ó:Ó	;€BÜ	�‰”zÐ)<Ô	=ñ #Ø
�‰�c˜3�ZÔ Ø
× Ñ Ô"÷#÷ #ñ #ús   Á'$BÂBc                  ó.  — t         j                  j                  d«       t         j                  j                  d«      } t         j                  j                  d«      }dt         j                  j                  d«      z
  }d|z  }g d¢}t        j                  «       \  }}|j                  | ||¬«      }|j                  d|d„ ¬	«      \  }}	|D �
cg c]  }
|
j                  «       ‘Œ }}
|D �
cg c]
  }
d|
d
z  z  ‘Œ }}
t        ||d¬«       yc c}
w c c}
w )z|
    Ensure legend markers scale appropriately when label and size are
    inversely related.
    Here label = 5 / size
    rÃ  é2   r   r~   )r   gš™™™™™Ù?rb  gš™™™™™é?©rÆ  r  c                 ó   — d| z  S )Nr~   r   rg  s    r   rÚ  z=test_legend_inverse_size_label_relationship.<locals>.<lambda>  s
   € °Q¸±U€ r   )r‚   rÏ  rÛ  r   rä   N)	r-   rß  rà  r/   r0   r«   rã  rå  r   )rõ   rö   ÚCÚSÚlegend_sizesr6   r7   r¸  ÚhandlesÚlabelsrÃ   Úhandle_sizess               r   Ú+test_legend_inverse_size_label_relationshipro  þ  só   € ô ‡I�I‡N�N�8ÔÜ
�	‰	×Ñ˜Ó€AÜ
�	‰	×Ñ˜Ó€AØ	ŒB�I‰I×Ñ˜RÓ Ñ €AØ	ˆA‰€Aâ'€LÜ�l‰l‹n�G€CˆØ	�‰�A�q˜AˆÓ	€BØ×(Ñ(Ø˜©?ð )ó �O€GˆVð
 18Ö8¨1�A×$Ñ$Õ&Ð8€LÐ8Ø&2Ö3 �A˜˜1™“HÐ3€LÐ3ä˜l¨LÀ!ÖDùò 9ùÚ3s   ÃDÃ-Dc                 óÆ  — t        t        | «      } t        j                  d«      j	                  dd«      } | |dd¬«      }|j                  «        t        j                  |j                  «       «      } |j                  «       |j                  |j                  «       «      «      }t        j                  |j                  «       d«      sJ ‚ | |«      }|j                  d«       |j                  d«       |j                  «        t        j                  |j!                  «       d«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚|j#                  d«       |j                  «        t        j                  |j                  «       g d	¢g«      sJ ‚|j#                  d «       |j                  «        t        j                  |j                  «       g d¢g«      sJ ‚|j                  d «       |j                  «        t        j$                  |j                  «       |«      sJ ‚|j                  d «       |j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       d«      sJ ‚|j'                  d «       |j                  «        t        j                  |j                  «       d«      sJ ‚t        j                  |j!                  «       |«      sJ ‚|j'                  |«       |j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       d«      sJ ‚ | |d
d¬«      }|j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚ | |d
t        j(                  d«      ¬«      }|j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚|j'                  d «       |j                  «        t        j                  |j!                  «       t        j(                  d«      «      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚ | |d
t        j(                  d«      ¬«      }|j                  «        t        j$                  |j!                  «       |«      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚|j'                  d «       |j                  «        t        j                  |j!                  «       t        j(                  d«      «      sJ ‚t        j                  |j                  «       g d¢g«      sJ ‚y )Nr  rê   rÎ   r�  rŒ   )r‡  rî   r    r   )r   r   r   r   )r   r   r   )r   r   r   )r  rê   )r  rÎ   )r3  r/   r-   rÓ   rÕ   r?  ÚmcolorsÚto_rgba_arrayÚ_get_default_facecolorÚget_cmaprW  rð   Ú
same_colorÚget_edgecolorÚset_facecolorÚset_edgecolorr@  r  r  ri  rj  )r   r  rc  Úface_defaultÚmappeds        r   Útest_color_logicr{    s‘  € ä”S˜&Ó!€FÜ
�	‰	�"‹×Ñ˜a Ó#€Aá	�˜e°Ô	7€BØ×ÑÔä×(Ñ(¨×)BÑ)BÓ)DÓE€LØˆR�[‰[‹]˜2Ÿ7™7 1§7¡7£9Ó-Ó.€Fä×Ñ˜b×.Ñ.Ó0°%Ô8Ð8Ð8á	�‹€BØ×Ñ�VÔØ×Ñ�UÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAØ‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0²>Ð2BÔCÐCÐCØ‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAà×Ñ�TÔØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ø×Ñ�TÔØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9à‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9Ü×Ñ˜b×.Ñ.Ó0°,Ô?Ð?Ð?à‡L�L�„OØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ð9á	�˜i°IÔ	>€BØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAá	�˜i´B·G±G¸GÓ4DÔ	E€BØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAà‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0´"·'±'¸'Ó2BÔCÐCÐCÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAá	�˜i´B·G±G¸GÓ4DÔ	E€BØ×ÑÔÜ�>‰>˜"×*Ñ*Ó,¨fÔ5Ð5Ð5Ü×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAà‡L�L�ÔØ×ÑÔÜ×Ñ˜b×.Ñ.Ó0´"·'±'¸'Ó2BÔCÐCÐCÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÑAr   c                  ó†  — t        d dddg d¢¬«      } | j                  «       d   dk(  sJ ‚t        j                  | j	                  «       d«      sJ ‚| j                  «       dk(  sJ ‚t        j                  | j                  «       g d¢g«      sJ ‚t        d d ¬«      } t        j                  | j                  «       d«      sJ ‚y )	Ngš™™™™™@r  rê   )r   r   r   r   )r%   Ú	edgecolorÚzorderrî   r   )Ú	facecolorrŒ   )r   Úget_linewidthrq  ru  rv  Ú
get_zorderr@  )Úlcs    r   Útest_LineCollection_argsrƒ  _  s´   € Ü	˜¨°sØ ª\ô
;€Bà×ÑÓ˜aÑ  CÒ'Ð'Ð'Ü×Ñ˜b×.Ñ.Ó0°#Ô6Ð6Ð6Ø�=‰=‹?˜aÒÐÐÜ×Ñ˜b×.Ñ.Ó0²<°.ÔAÐAÐAô 
˜¨Ô	-€BÜ×Ñ˜b×.Ñ.Ó0°&Ô9Ð9Ñ9r   c                 óÈ  — t        j                  d«      j                  dd«      } t        t        | «      |«      }|j                  |j                  «       «       |j                  «        |j                  |«       |j                  «        t        j                  dt         j                  ¬«      j                  ddd«      }|j                  |«       |j                  «        y )Nr  rê   rÎ   é$   r  )	r-   rÓ   rÕ   r3  r/   ri  rð   r?  Úuint8)r   r  rc  s      r   Útest_array_dimensionsr‡  m  sž   € ä
�	‰	�"‹×Ñ˜a Ó#€AØ	Œ”�fÓ	˜aÓ	 €Bà‡L�L�—‘“ÔØ×ÑÔà‡L�L�„OØ×ÑÔä
�	‰	�"œBŸH™HÔ%×-Ñ-¨a°°AÓ6€AØ‡L�L�„OØ×ÑÕr   c                  óÞ   — t        j                  t        j                  ddd«      d«      j                  } t	        | g«      }|j                  «       \  }t        j                  | |k(  «      sJ ‚y )Nr   r   é   )r   r   )r-   r%  rÔ   rñ   r   r�   r—  )r‘   r‚  Úreadbacks      r   Útest_get_segmentsr‹  }  sV   € Ü�w‰w”r—{‘{ 1 a¨Ó-¨vÓ6×8Ñ8€HÜ	˜˜
Ó	#€Bà—‘Ó!�I€Hä�6‰6�(˜hÑ&Ô'Ð'Ñ'r   c                  ó˜  — t        j                  «       } dg}t        j                  |¬«      }t        j                  |d¬«      }t        j                  |¬«      }|j	                  d«       |j                  | «      j                  }|j                  | «      j                  }|j                  | «      j                  }||k7  sJ ‚||k(  sJ ‚y )Nr   )r  rv  )r  rì   )rš   r›   r—   ÚCircleCollectionÚset_offsetsr™   r­   )Úidentityr  rž   ÚinitÚlateÚnull_boundsÚinit_boundsÚlate_boundss           r   Útest_set_offsets_later•  †  s¹   € Ü×,Ñ,Ó.€HØˆC€Eä×(Ñ(¨uÔ5€Dä×(Ñ(¨u¸hÔG€Dä×(Ñ(¨uÔ5€DØ×Ñ�XÔð ×"Ñ" 8Ó,×3Ñ3€KØ×"Ñ" 8Ó,×3Ñ3€KØ×"Ñ" 8Ó,×3Ñ3€Kð ˜+Ò%Ð%Ð%Ø˜+Ò%Ð%Ñ%r   c                  ó  — t        j                  «       j                  dd«      } t        j                  | ¬«      }t        j                  «       }|j                  | «       | |j                  «       cxk(  r|j                  «       k(  sJ ‚ J ‚y )Nr   )rí   )rš   rØ   Úskewr—   r   Úset_offset_transformÚget_offset_transform)r—  r�  r‘  s      r   Útest_set_offset_transformrš  ›  st   € Ü×ÑÓ!×&Ñ& q¨!Ó,€DÜ×"Ñ"°DÔ9€Dä×"Ñ"Ó$€DØ×Ñ˜dÔ#à�4×,Ñ,Ó.ÔM°$×2KÑ2KÓ2MÒMÐMÑMÐMÑMr   c                  óÀ  — t        j                  ddd«      } t        j                  | «      }| t        j                  dd«      z  t        j                  d«      z   }t        j                  ||«      }|j                  «       }|j                  t        t        ||«      «      «       t         j                  j                  ||j                  «       «       t        j                  «       \  }}|j                  ||«      }|j                  «       }|j                  t        t        ||«      «      «       t         j                  j                  ||j                  «       «       y )Nr   rÊ   r~   é   rí  z
2021-11-29)r-   rÔ   rÚ   Útimedelta64Ú
datetime64r/   r«   Úget_offsetsrŽ  r  r  r>   r(  r0   )rÃ   rÄ   Údr¸  Úoff0r6   r7   s          r   Útest_set_offset_unitsr¢  ¥  sñ   € ô 	�‰�A�r˜1Ó€AÜ
�‰ˆq‹	€AØ	ŒB�N‰N˜2˜sÓ#Ñ#¤b§m¡m°LÓ&AÑA€Aä	�‰�Q˜Ó	€BØ�>‰>Ó€DØ‡N�N”4œ˜A˜q›	“?Ô#Ü‡J�J×Ñ˜t R§^¡^Ó%5Ô6ô �l‰l‹n�G€CˆØ	�‰�A�qÓ	€BØ�>‰>Ó€DØ‡N�N”4œ˜A˜q›	“?Ô#Ü‡J�J×Ñ˜t R§^¡^Ó%5Õ6r   Útest_check_masked_offsets)Úbaseline_imagesr±   rè   rý   c                  ó:  — t        dddddd«      t        dddddd«      t        dddddd«      t        dddddd	«      t        dddddd
«      g} t        j                  j                  g d¢g d¢¬«      }t	        j
                  «       \  }}|j                  | |«       y )Niæ  r  rn   rÎ   é1   é4   é5   r7  é7   é8   ©r   r   rê   rÎ   r~   )r   r   r   r   r   ©Úmask)r   r-   rA  r.   r/   r0   r«   )Ú
unmasked_xÚmasked_yr6   r7   s       r   r£  r£  ¹  sš   € ô 	��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)Ü��r˜2˜q " bÓ)ð€Jô �u‰u�{‰{š?²ˆ{ÓA€Hä�l‰l‹n�G€CˆØ‡J�Jˆz˜8Õ$r   c                 óò  — t         j                  j                  g d¢g d¢¬«      }t        j                  dd«      }|j	                  «       }|j                  ||«      }|j                  t         j                  j                  ||g«      «       |j                  g «       |j                  g «       | j	                  «       }|j                  g d¢g d¢«       |j                  g «       |j                  g «       y )Nr«  ©r   r   r   r   r   r¬  r   rã   )r   r   r~   )
r-   rA  r.   rÓ   Úadd_subplotr«   rŽ  r#  Ú
set_xticksÚ
set_yticks)rÀ   r¿   rÃ   rÄ   rÅ   ÚscatrÆ   s          r   Útest_masked_set_offsetsr¶  Ì  sº   € ä
�‰�‰’Oª/ˆÓ:€AÜ
�	‰	�!�Q‹€Aà×"Ñ"Ó$€GØ�?‰?˜1˜aÓ €DØ×Ñ”R—U‘U×'Ñ'¨¨A¨Ó/Ô0Ø×Ñ�rÔØ×Ñ�rÔà× Ñ Ó"€FØ
‡N�N’9šiÔ(Ø
×Ñ�bÔØ
×Ñ�bÕr   c                  ó  — t         j                  j                  g d¢g d¢¬«      } t        j                  dd«      }t	        j
                  «       \  }}|j                  | |«      }t         j                  j                  | |g«      }|j                  |«       t        |j                  «       t        |«      «      sJ ‚t        j                  | |g«      }|j                  |«       t        |j                  «       t        |«      «      sJ ‚y )Nr«  r±  r¬  r   rã   )r-   rA  r.   rÓ   r/   r0   r«   r#  rŽ  Ú
isinstancerŸ  Útype)rÃ   rÄ   r6   r7   rµ  Úmasked_offsetsÚunmasked_offsetss          r   Útest_check_offsets_dtyper¼  Ý  sË   € ä
�‰�‰’Oª/ˆÓ:€AÜ
�	‰	�!�Q‹€Aä�l‰l‹n�G€CˆØ�:‰:�a˜Ó€DÜ—U‘U×'Ñ'¨¨A¨Ó/€NØ×Ñ�^Ô$Ü�d×&Ñ&Ó(¬$¨~Ó*>Ô?Ð?Ð?ä—‘¨¨1 vÓ.ÐØ×ÑÐ%Ô&Ü�d×&Ñ&Ó(¬$Ð/?Ó*@ÔAÐAÑAr   ÚgapcolorÚoranger  r  zlines.linewidthro   c           	      ó¼  — | j                  d«      }|j                  d«      }||fD ]&  }|j                  dd«       |j                  dd«       Œ( t        dd«      }g d¢}|j	                  |dd||d¬«       t        |t        «      r|g}t        |t        j                  |«      t        j                  |«      «      D ]  \  }}}	|j                  |dd|	|d¬«       Œ y )Néo   r   rã   r   )ú:r’  z--r   )r'   r½  r,  )r²  r3   r4   r  Úvlinesr¸  Ústrr  Ú	itertoolsÚcycleÚaxvline)
r¿   rÀ   r½  rÅ   rÆ   r7   rÃ   r‰  Úgcolr¸   s
             r   Útest_striped_linesrÈ  í  sÜ   € ð ×"Ñ" 3Ó'€GØ× Ñ  Ó%€Fà˜Ðò ˆØ
�‰�A�qÔØ
�‰�A�qÕðô 	ˆa�‹€AÚ!€Jà‡N�N�1�a˜ j¸8È3€NÔOä�(œCÔ Ø�:ˆä˜1œiŸo™o¨hÓ7Ü$Ÿ?™?¨:Ó6ó8ò H‰ˆˆ4�à�‰�q˜!˜Q¨"°tÀ3ˆÕGñHr   )lr   rP  rÄ  r;  Útypesr   Únumpyr-   Únumpy.testingr   r   rž  Ú
matplotlibrè  Úmatplotlib.pyplotÚpyplotr/   Úmatplotlib.collectionsÚcollectionsr—   Úmatplotlib.colorsr  rq  Úmatplotlib.pathÚpathr¥   Úmatplotlib.transformsÚ
transformsrš   r   r   r	   r
   Úmatplotlib.testing.decoratorsr   r   Úfixturer   r9   rH   rQ   rW   r[   r_   rd   rg   rk   rr   rx   r…   rŠ   r=   r¡   r¨   r®   rý   ÚcontextrÇ   rà   rç   rü   r  r-  rJ  rV  r`  re  rl  rp  rt  r|  r�  r™  r¢  r©  r¯  r¶  r¹  rÁ  rý  r   r  r  r.  r1  ÚmarkÚparametrizer4  r=  rK  rO  rR  rZ  r`  rd  ro  r{  rƒ  r‡  r‹  r•  rš  r¢  r£  r¶  r¼  Ú
rc_contextrÈ  r   r   r   ú<module>rÜ     sû  ðÝ Û 	Û Û 	Ý !ã ß GÛ ã Ý Ý -Ý #Ý Ý +÷Eó Eç Oð €‡�˜ hÐ/Ô0ñó 1ðò%ñP Ð2Ð3Ó4ñ=ó 5ð=ñ2 Ð8Ð9Ó:ñ
ó ;ð
ñ Ð8Ð9Ó:ñó ;ðñ" Ð;Ð<Ó=ñó >ðñ Ð;Ð<Ó=ñó >ðñ Ð=Ð>Ó?ñó @ðñ  ÐAÐBÓCñ=ó Dð=ñ( Ð:Ð;Ó<ñó =ðñ  Ð9Ð:Ó;ñó <ðñ Ð9Ð:Ó;ñó <ðñ ò ó ñ
	7óð
	7ñ Ð4Ð5Ó6ñ1ó 7ð1ò0ò4=ò=ò'ð ‡�×Ñ�7ÓÙ  Ô(ñ)ó )ó ð)ò08ò")ñ Ð5Ð6ÀDÔIñó Jðñ& Ð-Ð.¸DÈÔPñ!ó Qð!ñH Ð5Ð6ÀDÔIñó Jðñ Ð4Ð5À4ÔHñó Iðò8,ò,ò,!ò*?ò(	Fòñ
 Ð#Ð$°$Ô7ñó 8ðò  ð" ‡�×Ñ�9Óñ
5ó ð
5ò!ð ‡�×Ñ�9Óñ(ó ð(ð ‡�×Ñ�9Óñ*ó ð*ñ Ð*Ð+Ó,ñGó -ðGñ& Ð+Ð,Ø"¨)ô5ñó5ðò;ò:.òb@ò5ò$3ò 8ò=ð ‡�×ÑÐ.ØØð1ó ñ	8ó	ð	8ò-5ò`2*òj	7ò9ò<Fò Bò0#òEð6 ‡�×Ñ�9ÓñBBó ðBBòJ:òò (ò&ò*Nò7ñ( Ð#>Ð"?Ø#˜W°$¸gôGñ%óGð%ñ"   Ô(ñó )ðò Bð  ‡�×Ñ˜ h°°c°
Ð%;Ó<Ù  Ô(Ø€‡�Ð" BÐ'Ó(ñHó )ó )ó =ñHr   