Ë
    ¨ehn.  ã                   ó  — d dl Z d dl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„ Zej                  j                   e j                  «       dk7  d¬«      d	„ «       Zej                  j                   e j                  «       dk7  d¬«      d
„ «       Zd„ Zd„ Zd„ Zd„ Z e	dg«      d„ «       Z e	dg«      d„ «       Z e	dgd¬«      d„ «       Zd„ Z e	dgd¬«      d„ «       Z e	dgd¬«      d„ «       Z e	dgd¬«      d„ «       Z e	dgd¬«      d„ «       Z e	d gd¬«      d!„ «       Zd"„ Zd#„ Zd$„ Z  e	d%gd¬«      d&„ «       Z!d'„ Z"d(„ Z#d)„ Z$d*„ Z%d2d+„Z&d2d,„Z'ej                  jQ                  d-g d.¢«       e
d/g¬0«      d1„ «       «       Z)y)3é    N)Úpyplot)Úimage_comparison)Úcheck_figures_equalc                 óL  — t        j                  t        j                  ddt         j                  z  d«      t        j                  ddt         j                  z  d«      «      \  }}t        j                  |«      }t        j
                  |«      } | j                  ||fi |¤Ž}|S )Nr   é   é   )ÚnpÚmeshgridÚarangeÚpiÚcosÚsinÚquiver)ÚaxÚkwargsÚXÚYÚUÚVÚQs          úZ/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/matplotlib/tests/test_quiver.pyÚdraw_quiverr      sy   € Ü�;‰;”r—y‘y  A¬¯©¡I¨qÓ1Ü—y‘y  A¬¯©¡I¨qÓ1ó3�D€A€qä
�‰ˆq‹	€AÜ
�‰ˆq‹	€Aàˆ�	‰	�!�QÑ!˜&Ñ!€AØ€Hó    ÚCPythonzRequires CPython)Úreasonc                  ó¶   — t        j                  «       \  } }t        |«      }|j                  }|j	                  «        ~t        j                  |«      dk(  sJ ‚y )Nr   )ÚpltÚsubplotsr   r   ÚremoveÚsysÚgetrefcount)Úfigr   r   ÚttXs       r   Útest_quiver_memory_leakr$      sH   € ô �l‰l‹n�G€Cˆä�B‹€AØ
�#‰#€CØ‡H�H„Jà	ä�?‰?˜3Ó 1Ò$Ð$Ñ$r   c            
      ó  — t        j                  «       \  } }t        |«      }|j                  |dddddddi¬«      }t	        j
                  |«      d	k(  sJ ‚|j                  «        t	        j
                  |«      dk(  sJ ‚y )
Nç      à?çq=
×£pí?r   ú$2 \frac{m}{s}$ÚWÚweightÚbold©ÚlabelposÚfontpropertiesé   )r   r   r   Ú	quiverkeyr    r!   r   )r"   r   r   Úqks       r   Útest_quiver_key_memory_leakr2   $   s~   € ô �l‰l‹n�G€Cˆä�B‹€Aà	�‰�a˜˜d AÐ'9Ø"Ø&.°Ð%7ð 
ó 
9€Bô �?‰?˜2Ó !Ò#Ð#Ð#Ø‡I�I„KÜ�?‰?˜2Ó !Ò#Ð#Ñ#r   c            	      ó*  — ddg} t        j                  t        d¬«      5  t        j                  | «       d d d «       t        j                  t        d¬«      5  t        j                  | | | | | | «       d d d «       y # 1 sw Y   ŒHxY w# 1 sw Y   y xY w)Nr   r   z7takes from 2 to 5 positional arguments but 1 were given©Úmatchz7takes from 2 to 5 positional arguments but 6 were given)ÚpytestÚraisesÚ	TypeErrorr   r   )r   s    r   Útest_quiver_number_of_argsr9   3   s‡   € Ø	
ˆAˆ€AÜ	�‰ÜØKô
Mñ ô 	�
‰
�1Œ÷ô 
�‰ÜØKô
Mñ %ô 	�
‰
�1�a˜˜A˜q !Ô$÷%ð %÷	ð ú÷%ð %ús    A=ÁB	Á=BÂ	Bc                  óV  — ddg} g d¢}t        j                  t        d¬«      5  t        j                  | || | «       d d d «       t        j                  t        d¬«      5  t        j                  | | || «       d d d «       t        j                  t        d¬«      5  t        j                  | | | |«       d d d «       t        j                  t        d¬«      5  t        j                  | | | | |«       d d d «       y # 1 sw Y   Œ¿xY w# 1 sw Y   Œ�xY w# 1 sw Y   Œ_xY w# 1 sw Y   y xY w)	Nr   r   )r   r   r/   z?X and Y must be the same size, but X.size is 2 and Y.size is 3.r4   zMArgument U has a size 3 which does not match 2, the number of arrow positionszMArgument V has a size 3 which does not match 2, the number of arrow positionszMArgument C has a size 3 which does not match 2, the number of arrow positions)r6   r7   Ú
ValueErrorr   r   )ÚX2ÚX3s     r   Útest_quiver_arg_sizesr>   ?   s  € Ø
ˆQˆ€BÚ	€BÜ	�‰Üð  >ô
@ñ #ô 	�
‰
�2�r˜2˜rÔ"÷#ô 
�‰Üð  Bô
Dñ #ô 	�
‰
�2�r˜2˜rÔ"÷#ô 
�‰Üð  Bô
Dñ #ô 	�
‰
�2�r˜2˜rÔ"÷#ô 
�‰Üð  Bô
Dñ 'ô 	�
‰
�2�r˜2˜r 2Ô&÷'ð '÷#ð #ú÷#ð #ú÷#ð #ú÷'ð 'ús/   ¤C;Á DÂDÃDÃ;DÄDÄDÄD(c                  óŠ  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}}t        j                  j                  dd«      dz
  dz  }|j                  |||||¬«       | j                  j                  «        y )Né   é
   r&   é–   ©Úangles)r   r   r	   r
   r   Ú	ones_likeÚrandomÚrandr   ÚcanvasÚdraw©r"   r   r   r   r   r   Úphis          r   Útest_no_warningsrL   T   s‰   € Ü�l‰l‹n�G€CˆÜ�;‰;”r—y‘y “}¤b§i¡i°£mÓ4�D€A€qÜ�L‰L˜‹OÐ€AˆÜ�9‰9�>‰>˜"˜bÓ! BÑ&¨#Ñ
-€CØ‡I�Iˆa��A�q €IÔ%Ø‡J�J‡O�OÕr   c                  ób  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      t        j                  |«      }}|j                  ||dd¬«       | j                  j                  «        y )NrA   r   )Ú
headlengthÚheadaxislength)
r   r   r	   r
   r   r   r   r   rH   rI   )r"   r   r   r   r   r   s         r   Útest_zero_headlengthrP   ]   sr   € ô �l‰l‹n�G€CˆÜ�;‰;”r—y‘y “}¤b§i¡i°£mÓ4�D€A€qÜ�6‰6�!‹9”b—f‘f˜Q“i€q€AØ‡I�Iˆa�˜q°€IÔ3Ø‡J�J‡O�OÕr   zquiver_animated_test_image.pngc            
      ó€   — t        j                  «       \  } }t        |d¬«      }|j                  |ddddddd	i¬
«       y )NT)Úanimatedr&   r'   r   r(   r)   r*   r+   r,   )r   r   r   r0   ©r"   r   r   s      r   Útest_quiver_animaterT   g   sF   € ô �l‰l‹n�G€CˆÜ�B Ô&€AØ‡L�L��C˜˜qÐ"4Ø¨x¸Ð.@ð õ Br   zquiver_with_key_test_image.pngc                  ó¤   — t        j                  «       \  } }|j                  d«       t        |«      }|j	                  |dddddddd	d
dœ¬«	       y )Nçš™™™™™¹?r&   gffffffî?r   z"$2\, \mathrm{m}\, \mathrm{s}^{-1}$iöÿÿÿÚfigurer)   r+   Úlarge)r*   Úsize)ÚangleÚcoordinatesr-   r.   )r   r   Úmarginsr   r0   rS   s      r   Útest_quiver_with_keyr]   p   sS   € ä�l‰l‹n�G€CˆØ‡J�Jˆs„OÜ�B‹€AØ‡L�L��C˜˜qØ6ØØ%ØØ+1¸7Ñ Cð õ Er   zquiver_single_test_image.pngT)Úremove_textc                  ó„   — t        j                  «       \  } }|j                  d«       |j                  dgdgdgdg«       y )NrV   r   r   )r   r   r\   r   ©r"   r   s     r   Útest_quiver_singlera   }   s6   € ä�l‰l‹n�G€CˆØ‡J�Jˆs„OØ‡I�Iˆqˆc�A�3˜˜˜a˜SÕ!r   c                  ó  — t        j                  «       \  } }t        t        j                  dg«      t        j                  dg«      ¬«      }|j                  dgdg|d   |d   «      }d|d   d<   |j                  d   dk(  sJ ‚y )Nçš™™™™™ñ?g       @)ÚuÚvr   rd   re   r   )r   r   Údictr	   Úarrayr   r   )r"   r   ÚuvÚq0s       r   Útest_quiver_copyrj   „   sr   € Ü�l‰l‹n�G€CˆÜ	”—‘˜#˜“¤2§8¡8¨S¨E£?Ô	3€BØ	�‰�A�3˜˜˜R ™W b¨¡gÓ	.€BØ€B€s�GˆA�JØ�4‰4�‰7�cŠ>Ð‰>r   zquiver_key_pivot.pngc                  ó"  — t        j                  «       \  } }t        j                  ddt        j                  z  d…ddt        j                  z  d…f   \  }}|j                  t        j                  |«      t        j                  |«      «      }|j                  dd«       |j                  dd«       |j                  |ddddd¬	«       |j                  |dddd
d
¬	«       |j                  |ddddd¬	«       |j                  |ddddd¬	«       y )Nr   r   y              $@éþÿÿÿé   r&   r   ÚN)r-   ÚEÚSr)   )r   r   r	   Úmgridr   r   r   r   Úset_xlimÚset_ylimr0   )r"   r   rd   re   Úqs        r   Útest_quiver_key_pivotru   Œ   sà   € ä�l‰l‹n�G€Cˆä�8‰8�A�aœŸ™‘g˜c�M 1 Q¤r§u¡u¡W¨S =Ð0Ñ1�D€A€qà
�	‰	”"—&‘&˜“)œRŸV™V A›YÓ'€AØ‡K�K��BÔØ‡K�K��BÔØ‡L�L��C˜˜A˜s¨S€LÔ1Ø‡L�L��A�s˜A˜s¨S€LÔ1Ø‡L�L��C˜˜A˜s¨S€LÔ1Ø‡L�L��A�s˜A˜s¨S€LÕ1r   zquiver_key_xy.pngc                  ó  — t        j                  d«      } t        j                  d«      }| t         j                  dz  z  }t        j                  d|z  «      }|j
                  }|j                  }t        j                  d«      \  }}t        |d«      D ]p  \  }}	|j                  dd«       |j                  dd«       |j                  | |||d	d
ddd
|	¬«
      }
t        dd«      D ]  \  }}|j                  |
|dd|dd¬«       Œ Œr y )Né   é   y              ð?r   )rh   Úxyéÿÿÿÿgš™™™™™É¿çš™™™™™É?Úmiddlery   gš™™™™™©?)ÚpivotÚunitsÚwidthÚscaleÚscale_unitsrD   )r{   r&   çš™™™™™é?)r   é-   éZ   r‚   r   Ú Úb)r   r   r   rZ   ÚlabelÚcolor)r	   r   Úzerosr   ÚexpÚrealÚimagr   r   Úziprr   rs   r   r0   )r   r   rD   rh   r   r   r"   Úaxsr   Ú	angle_strrt   ÚxrZ   s                r   Útest_quiver_key_xyr‘   ›   sþ   € ô 	�	‰	�!‹€AÜ
�‰�‹€AØ”"—%‘%˜!‘)‰_€FÜ	�‰��V‘Ó	€BØ
�‰€AØ
�‰€AÜ�|‰|˜A‹�H€CˆÜ˜S ,Ó/ò O‰ˆˆIØ
�‰�B˜ÔØ
�‰�D˜#ÔØ�I‰I�a˜˜A˜q¨Ø ¨Ø¨4Ø&ð ó (ˆô ˜O¨[Ó9ò 	O‰HˆAˆuØ�L‰L˜˜a 3¨!°5ÀÈ#ˆLÕNñ	OñOr   zbarbs_test_image.pngc                  ó  — t        j                  ddd«      } t        j                  | | «      \  }}d|z  d|z  }}t        j                  «       \  }}|j                  ||||t        j                  ||«      ddt        ddd¬	«      d
¬«	       y )Néûÿÿÿé   é   TFç      Ð?r{   ç333333Ó?©Ú	emptybarbÚspacingÚheightÚviridis)Ú
fill_emptyÚroundingÚsizesÚcmap)r	   Úlinspacer
   r   r   ÚbarbsÚhypotrf   ©r�   r   r   r   r   r"   r   s          r   Ú
test_barbsr¥   ³   s€   € ä
�‰�B˜˜1Ó€AÜ�;‰;�q˜!Ó�D€A€qØˆa‰4��A‘€q€AÜ�l‰l‹n�G€CˆØ‡H�HˆQ��1�aœŸ™ ! Q›°DÀ5Ü $°¸CÔ@Øð õ r   zbarbs_pivot_test_image.pngc                  ó  — t        j                  ddd«      } t        j                  | | «      \  }}d|z  d|z  }}t        j                  «       \  }}|j                  ||||dddt        ddd	¬
«      ¬«       |j                  ||dd¬«       y )Nr“   r”   r•   TFç333333û?r–   r{   r—   r˜   )r�   rž   r}   rŸ   é1   Úblack)ÚsÚc)r	   r¡   r
   r   r   r¢   rf   Úscatterr¤   s          r   Útest_barbs_pivotr­   ¾   sˆ   € ä
�‰�B˜˜1Ó€AÜ�;‰;�q˜!Ó�D€A€qØˆa‰4��A‘€q€AÜ�l‰l‹n�G€CˆØ‡H�HˆQ��1�a D°5ÀÜ $°¸CÔ@ð ô Bà‡J�Jˆq�!�r˜W€JÕ%r   zbarbs_test_flip.pngc                  óø   — t        j                  ddd«      } t        j                  | | «      \  }}d|z  d|z  }}t        j                  «       \  }}|j                  ||||dddt        ddd	¬
«      |dk  ¬«	       y)z'Test barbs with an array for flip_barb.r“   r”   r•   TFr§   r–   r{   r—   r˜   r   )r�   rž   r}   rŸ   Ú	flip_barbN)r	   r¡   r
   r   r   r¢   rf   r¤   s          r   Útest_barbs_flipr°   É   s|   € ô 	�‰�B˜˜1Ó€AÜ�;‰;�q˜!Ó�D€A€qØˆa‰4��A‘€q€AÜ�l‰l‹n�G€CˆØ‡H�HˆQ��1�a D°5ÀÜ $°¸CÔ@Ø˜1‘uð õ r   c                  ó  — t        j                  «       \  } }t        j                  dg«      }t        j                  dg«      }|j	                  dgdg||«      }d|d<   |j
                  d   dk(  sJ ‚d|d<   |j                  d   dk(  sJ ‚y )Nrc   gš™™™™™@r   r   )r   r   r	   rg   r¢   rd   re   )r"   r   rd   re   Úb0s        r   Útest_barb_copyr³   Õ   s�   € Ü�l‰l‹n�G€CˆÜ
�‰�#�‹€AÜ
�‰�#�‹€AØ	�‰�1�#˜�s˜A˜qÓ	!€BØ€A€a�DØ�4‰4�‰7�cŠ>Ðˆ>Ø€A€a�DØ�4‰4�‰7�cŠ>Ð‰>r   c                  óR  — t        j                  d«      } t        j                  d«      }t         j                  j                  dt        j                  d«      z  «      }t         j                  j                  dt        j
                  |«      z  «      }t         j                  j                  |d<   t         j                  j                  |d<   t        j                  «       \  }}t        j                  t        «      5  |j                  | |||«       ddd«       y# 1 sw Y   yxY w)z=Test error handling when given differing sized masked arrays.r/   g      .@)rx   r   N)r	   r   Úmarg   ÚonesrE   Úmaskedr   r   r6   r7   r;   r¢   )r�   Úyrd   re   r"   r   s         r   Útest_bad_masked_sizesr¹   à   s¾   € ä
�	‰	�!‹€AÜ
�	‰	�!‹€AÜ
�‰�‰�Cœ"Ÿ'™' $›-Ñ'Ó(€AÜ
�‰�‰�Cœ"Ÿ,™, q›/Ñ)Ó*€AÜ�5‰5�<‰<€A€a�DÜ�5‰5�<‰<€A€a�DÜ�l‰l‹n�G€CˆÜ	�‰”zÓ	"ñ Ø
�‰��A�q˜!Ô÷÷ ñ ús   Ã?DÄD&c                  óX  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}}t        j                  j                  dd«      dz
  dz  }|j                  |||||d¬«       y )Nr@   rA   r&   rB   ry   ©rD   r�   )	r   r   r	   r
   r   rE   rF   rG   r   rJ   s          r   Útest_angles_and_scaler¼   í   s}   € ä�l‰l‹n�G€CˆÜ�;‰;”r—y‘y “}¤b§i¡i°£mÓ4�D€A€qÜ�L‰L˜‹OÐ€AˆÜ�9‰9�>‰>˜"˜bÓ! BÑ&¨#Ñ
-€CØ‡I�Iˆa��A�q °$€IÕ7r   zquiver_xy.pngc            	      óâ   — t        j                  t        d¬«      ¬«      \  } }|j                  ddddddd¬«       |j	                  dd«       |j                  dd«       |j                  «        y )	NÚequal)Úaspect)Ú
subplot_kwr   r   ry   )rD   r�   r€   rc   )r   r   rf   r   rr   rs   Úgridr`   s     r   Útest_quiver_xyrÂ   ö   sZ   € ô �l‰l¤d°'Ô&:Ô;�G€CˆØ‡I�Iˆa��A�q °4¸q€IÔAØ‡K�K��3ÔØ‡K�K��3ÔØ‡G�G…Ir   c                  ó   — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}x}}|j                  |||||¬«      }|j                  |dddd«      }| j                  j                  «        t        |j                  «      dk(  sJ ‚y )Nr   rC   r   ÚLabel)r   r   r	   r
   r   rE   r   r0   rH   rI   ÚlenÚverts)	r"   r   r   r   r   r   rD   rt   r1   s	            r   Útest_quiverkey_anglesrÇ      s    € ô �l‰l‹n�G€Cˆä�;‰;”r—y‘y “|¤R§Y¡Y¨q£\Ó2�D€A€qÜ—\‘\ !“_Ð$€AÐ$ˆˆFà
�	‰	�!�Q˜˜1 Vˆ	Ó,€AØ	�‰�a˜˜A˜q 'Ó	*€Bà‡J�J‡O�OÔÜˆr�x‰x‹=˜AÒÐÑr   c                  óF  — ddidddœddig} | D �]  }t        j                  t         j                   t         j                  d«      }t        j                  |«      t         j                  z  dz  }t        j                  |«      }t        j                  |«      }t        j                  «       }|j                  d¬«      } |j                  ||||fi |¤Ž}|j                  |d	d	d
d«      }	|j                  j                  «        t        |	j                  «      d
k(  r�ŒJ ‚ y )NrD   ry   r»   r�   rm   é   Úaitoff)Ú
projectionr   r   ú1 units)r	   r¡   r   rE   Ú
zeros_liker   rW   Úadd_subplotr   r0   rH   rI   rÅ   rÆ   )
Úkwargs_listÚkwargs_dictr�   r¸   ÚvxÚvyr"   r   rt   r1   s
             r   Útest_quiverkey_angles_xy_aitoffrÓ     sö   € ð 
�4ÐØ¨Ñ-Ø	˜Ðð€Kð #ó "ˆä�K‰KœŸ™˜¤§¡ rÓ*ˆÜ�L‰L˜‹OœbŸe™eÑ# aÑ'ˆÜ�]‰]˜1ÓˆÜ�\‰\˜!‹_ˆä�j‰j‹lˆØ�_‰_¨ˆ_Ó1ˆØˆB�I‰I�a˜˜B Ñ2 kÑ2ˆØ�\‰\˜!˜Q  1 iÓ0ˆà�
‰
�‰ÔÜ�2—8‘8‹} Ô!Ð!Ð!ñ"r   c            	      ód  — ddidddœddig} | D ]Ÿ  }g d¢}g d¢}g d¢}g d¢}t        j                  «       \  }} |j                  ||||fi |¤Ž}|j                  |dd	d
dd¬«       |j                  |ddd
d«      }	|j                  j                  «        t        |	j                  «      d
k(  rŒŸJ ‚ y )NrD   ry   r»   r�   )r   rz   r   )r   rz   r   )r   rz   r   r—   rc   r   zQuiver key, length = 1ro   )r   r   r   r‡   r-   r   rÌ   )r   r   r   r0   rH   rI   rÅ   rÆ   )
rÏ   rÐ   r   r   r   r   r"   r   rt   r1   s
             r   Ú+test_quiverkey_angles_scale_units_cartesianrÕ   ,  sË   € ð 
�4ÐØ¨Ñ-Ø	˜Ðð€Kð #ò "ˆÚˆÚˆÚˆÚˆä—,‘,“.‰ˆˆRØˆB�I‰I�a˜˜A˜qÑ0 KÑ0ˆØ
�‰�Q˜# ¨Ø3¸cð 	ô 	Cà�\‰\˜!˜Q  1 iÓ0ˆà�
‰
�‰ÔÜ�2—8‘8‹} Ó!Ð!Ð!ñ"r   c                  ó*  — t        j                  «       \  } }t        j                  t        j                  d«      t        j                  d«      «      \  }}t        j
                  |«      x}}|j                  ||||«      }|j                  dd«       y)zBCheck that it is possible to set all arrow UVC to the same numbersr   r   r   N)r   r   r	   r
   r   rE   r   Úset_UVC)r"   r   r   r   r   r   rt   s          r   Útest_quiver_setuvc_numbersrØ   G  sj   € ô �l‰l‹n�G€Cˆä�;‰;”r—y‘y “|¤R§Y¡Y¨q£\Ó2�D€A€qÜ�L‰L˜‹OÐ€Aˆà
�	‰	�!�Q˜˜1Ó€AØ‡I�Iˆa�…Or   c                 óþ  — t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}d\  }}| j                  «       }|j	                  ||||d¬«      }	|j                  dd«       |j                  dd«       |€2|j                  |	d	d	d
ddd¬«       |j                  |	ddddddd¬«       y|j                  |	d	d	d
ddd|¬«       |j                  |	ddddddd|¬«	       y)z/Draw Quiver and QuiverKey using zorder argumentr   rÉ   ©r   r   r|   ©r}   r&   ç      @Nrx   é   Údatar   Úblue©r[   r‡   rˆ   r   é   r   r„   ©r[   r‡   rˆ   rZ   )r[   r‡   rˆ   Úzorder)r[   r‡   rˆ   rZ   rã   )r	   r   r
   r   r   rr   rs   r0   )
r"   rã   r�   r¸   r   r   r   r   r   rt   s
             r   Údraw_quiverkey_zorder_argumenträ   S  s  € ä
�	‰	�!�Q˜Ó€AÜ
�	‰	�!�Q˜Ó€AÜ�;‰;�q˜!Ó�D€A€qØ�D€A€qà	�‰‹€BØ
�	‰	�!�Q˜˜1 Hˆ	Ó-€AØ‡K�K��SÔØ‡K�K��SÔØ€~Ø
�‰�Q˜˜1˜b¨fØ fð 	ô 	.à
�‰�Q˜˜Q °Ø f°Bð 	õ 	8ð 	�‰�Q˜˜1˜b¨fØ f°Vð 	ô 	=à
�‰�Q˜˜Q °Ø f°B¸vð 	õ 	Gr   c           
      óÜ  — t        j                  ddd«      }t        j                  ddd«      }t        j                  ||«      \  }}d\  }}| j                  «       }|j	                  ||||d¬«      }	|j                  dd«       |j                  dd«       |j                  |	ddd	d
dd¬«      }
|j                  |	dddd
ddd¬«      }|�#|
j                  |«       |j                  |«       yy)z*Draw Quiver and QuiverKey using set_zorderr   rÉ   rÚ   r|   rÛ   r&   rÜ   rx   rÝ   rÞ   r   rß   rà   r   rá   r   r„   râ   N)	r	   r   r
   r   r   rr   rs   r0   Ú
set_zorder)r"   rã   r�   r¸   r   r   r   r   r   rt   Úqk1Úqk2s               r   Údraw_quiverkey_setzorderré   j  së   € ä
�	‰	�!�Q˜Ó€AÜ
�	‰	�!�Q˜Ó€AÜ�;‰;�q˜!Ó�D€A€qØ�D€A€qà	�‰‹€BØ
�	‰	�!�Q˜˜1 Hˆ	Ó-€AØ‡K�K��SÔØ‡K�K��SÔØ
�,‰,�q˜!˜Q °Ø ¨ð ó 0€Cà
�,‰,�q˜#˜q "°&Ø ¨°bð ó :€CàÐØ�‰�vÔØ�‰�vÕð r   rã   )r   r   r”   NÚpng)Ú
extensionsc                 ó8   — t        | |¬«       t        ||¬«       y )N)rã   )rä   ré   )Úfig_testÚfig_refrã   s      r   Útest_quiverkey_zorderrï   ~  s   € ô # 8°FÕ;Ü˜W¨VÖ4r   )N)*Úplatformr    Únumpyr	   r6   Ú
matplotlibr   r   Úmatplotlib.testing.decoratorsr   r   r   ÚmarkÚskipifÚpython_implementationr$   r2   r9   r>   rL   rP   rT   r]   ra   rj   ru   r‘   r¥   r­   r°   r³   r¹   r¼   rÂ   rÇ   rÓ   rÕ   rØ   rä   ré   Úparametrizerï   © r   r   ú<module>rù      s0  ðÛ Û 
ã Û å $Ý :Ý =òð ‡�×ÑÐ2�H×2Ñ2Ó4¸	ÑAØ-ð ó /ñ	%ó/ð	%ð ‡�×ÑÐ2�H×2Ñ2Ó4¸	ÑAØ-ð ó /ñ
$ó/ð
$ò	%ò'ò*òñ Ð3Ð4Ó5ñBó 6ðBñ Ð3Ð4Ó5ñ	Eó 6ð	Eñ Ð1Ð2ÀÔEñ"ó Fð"òñ Ð)Ð*¸Ô=ñ2ó >ð2ñ Ð&Ð'°TÔ:ñOó ;ðOñ. Ð)Ð*¸Ô=ñó >ðñ Ð/Ð0¸dÔCñ&ó Dð&ñ Ð(Ð)°tÔ<ñó =ðòò
ò8ñ �?Ð#°Ô6ñó 7ðòò"ò:"ò6	óGó.ð( ‡�×Ñ˜¢?Ó3Ù  Ô(ñ5ó )ó 4ñ5r   