Ë
    ^ãjl¶  ã                   ó$  — d dl Z d dlZd dlmZmZmZm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mZmZ d dlmZ d dlmZmZ  G d„ d«      Zd	„ Zd
„ Z edgddd¬«      d„ «       Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z& G d„ dejN                  «      Z( G d„ d«      Z) G d„ d«      Z*d„ Z+d„ Z,d „ Z-d!„ Z.d"„ Z/d#„ Z0d$„ Z1d%„ Z2d&„ Z3d'„ Z4d(„ Z5d)„ Z6ejn                  jq                  d*g d+¢«      d,„ «       Z9d-„ Z: ed.g¬/«      d0„ «       Z;d1„ Z<d2„ Z=d3„ Z>d4„ Z?y)5é    N)Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚassert_array_almost_equal)Úscale)ÚAffine2DÚBboxÚTransformedBbox)ÚPath)Úimage_comparisonÚcheck_figures_equalc                   ó”   — e Zd ZddgZddgddgddggZeZd„ Zd„ Zd„ Zd	„ Z	d
„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestAffine2Dç      ð?ç        ç       @g      @ç      @c                 óÜ   — t        g d¢g d¢g d¢g«       t        t        j                  g d¢g d¢g d¢gt        «      «       t        t        j                  g d¢g d¢g d¢gt        «      «       y )N©é   é   é   )é   é   é   )é   é   é	   )r   ÚnpÚarrayÚintÚfloat©Úselfs    úb/var/www/html/metafoliadorv2/venv/lib/python3.12/site-packages/matplotlib/tests/test_transforms.pyÚ	test_initzTestAffine2D.test_init   sE   € Ü’)šYª	Ð2Ô3Ü”—‘š9¢i²Ð;¼SÓAÔBÜ”—‘š9¢i²Ð;¼UÓCÕDó    c                 óÔ   — t         j                  j                  d«       t         j                  j                  d«      }t        t	        j
                  |Ž j                  «       |«       y )Né!N,r   )r   ÚrandomÚseedr   r   Úfrom_valuesÚ	to_values©r$   Úvaluess     r%   Útest_valueszTestAffine2D.test_values   sD   € Ü
�	‰	�‰�xÔ Ü—‘×!Ñ! !Ó$ˆÜœ8×/Ñ/°Ð8×BÑBÓDÀfÕMr'   c                 óˆ   — t        «       }|j                  «       }d|d<   t        |j                  «       g d¢g d¢g d¢g«       y )Né*   ©r   r   )r2   r   r   ©r   r   r   ©r   r   r   )r   Ú
get_matrixr   )r$   ÚtransÚmtxs      r%   Útest_modify_inplacez TestAffine2D.test_modify_inplace    s:   € ä“
ˆØ×ÑÓ ˆØˆˆD‰	Ü˜5×+Ñ+Ó-²
ºIÂyÐ/QÕRr'   c                 óÂ   — t        t        j                  j                  dd«      dz   «      }|j	                  «        t        |j                  «       g d¢g d¢g d¢g«       y )Nr   r   )r   r   r   r4   r5   )r   r   r*   ÚrandÚclearr   r6   )r$   Úas     r%   Ú
test_clearzTestAffine2D.test_clear'   s@   € Ü”R—Y‘Y—^‘^ A qÓ)¨AÑ-Ó.ˆØ	�‰Œ	Ü˜1Ÿ<™<›>ªI²yÂ)Ð+LÕMr'   c                 ó0  — t        «       j                  t        j                  dz  «      }t        «       j	                  d«      }t        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgdd	gg«       t        «       j                  t        j                  «      }t        «       j	                  d
«      }t        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«       t        «       j                  dt        j                  z  dz  «      }t        «       j	                  d«      }t        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«       t        ||z   j                  «       |j                  «       «       t        ||z   j                  «       |j                  «       «       y )Nr   éZ   éÿÿÿÿr   éþÿÿÿr   éýÿÿÿr   r   é´   éüÿÿÿé  )r   Úrotater   ÚpiÚ
rotate_degr   r6   r   Ú	transformÚsingle_pointÚmultiple_points©r$   Úr_pi_2Úr90Úr_piÚr180Úr_pi_3_2Úr270s          r%   Útest_rotatezTestAffine2D.test_rotate,   sù  € Ü“×"Ñ"¤2§5¡5¨1¡9Ó-ˆÜ‹j×#Ñ# BÓ'ˆÜ˜6×,Ñ,Ó.°·±Ó0@ÔAÜ! #§-¡-°×0AÑ0AÓ"BÀRÈÀGÔLÜ! #§-¡-°×0DÑ0DÓ"EØ$&¨ 7¨R°¨G°a¸°VÐ"<ô	>ô ‹z× Ñ ¤§¡Ó'ˆÜ‹z×$Ñ$ SÓ)ˆÜ˜4Ÿ?™?Ó,¨d¯o©oÓ.?Ô@Ü! $§.¡.°×1BÑ1BÓ"CÀbÈ"ÀXÔNÜ! $§.¡.°×1EÑ1EÓ"FØ$% r 7¨R°¨H°r¸1°gÐ">ô	@ô “:×$Ñ$ Q¬¯©¡Y°¡]Ó3ˆÜ‹z×$Ñ$ SÓ)ˆÜ˜8×.Ñ.Ó0°$·/±/Ó2CÔDÜ! $§.¡.°×1BÑ1BÓ"CÀaÈÀWÔMÜ! $§.¡.°×1EÑ1EÓ"FØ$% q 6¨A¨r¨7°Q¸°GÐ"<ô	>ô 	˜C #™I×1Ñ1Ó3°T·_±_Ó5FÔGÜ˜C $™J×2Ñ2Ó4°d·o±oÓ6GÕHr'   c                 óÌ  —  t        «       j                  g | j                  ¢t        j                  dz  ‘­Ž } t        «       j
                  g | j                  ¢d‘­Ž }t        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«        t        «       j                  g | j                  ¢t        j                  ‘­Ž } t        «       j
                  g | j                  ¢d‘­Ž }t        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgd	dgg«        t        «       j                  g | j                  ¢dt        j                  z  dz  ‘­Ž } t        «       j
                  g | j                  ¢d
‘­Ž }t        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgdd	gg«       t        ||z   j                  «       |j                  «       «       t        ||z   j                  «       |j                  «       «       y )Nr   r@   r   r   rA   r   r   rD   rB   rF   )r   Úrotate_aroundÚpivotr   rH   Úrotate_deg_aroundr   r6   r   rJ   rK   rL   rM   s          r%   Útest_rotate_aroundzTestAffine2D.test_rotate_aroundE   sL  € Ø)”“×)Ñ)ÐA¨4¯:©:ÐA´r·u±u¸q±yÒAˆØ*Œh‹j×*Ñ*Ð;¨D¯J©JÐ;¸Ò;ˆÜ˜6×,Ñ,Ó.°·±Ó0@ÔAÜ! #§-¡-°×0AÑ0AÓ"BÀQÈÀFÔKÜ! #§-¡-°×0DÑ0DÓ"EØ$% q 6¨B°¨7°Q¸°FÐ";ô	=ð (Œx‹z×'Ñ'Ð;¨¯©Ð;´R·U±UÒ;ˆØ+Œx‹z×+Ñ+Ð=¨T¯Z©ZÐ=¸Ò=ˆÜ˜4Ÿ?™?Ó,¨d¯o©oÓ.?Ô@Ü! $§.¡.°×1BÑ1BÓ"CÀaÈÀVÔLÜ! $§.¡.°×1EÑ1EÓ"FØ$% q 6¨B°¨8°b¸!°WÐ"=ô	?ð ,”8“:×+Ñ+ÐG¨T¯Z©ZÐG¸¼R¿U¹U¹ÀQ¹ÒGˆØ+Œx‹z×+Ñ+Ð=¨T¯Z©ZÐ=¸Ò=ˆÜ˜8×.Ñ.Ó0°$·/±/Ó2CÔDÜ! $§.¡.°×1BÑ1BÓ"CÀaÈÀVÔLÜ! $§.¡.°×1EÑ1EÓ"FØ$% q 6¨A¨r¨7°Q¸°GÐ"<ô	>ô 	" 3¨¡9×"8Ñ"8Ó":¸D¿O¹OÓ<MÔNÜ! 3¨¡:×"9Ñ"9Ó";¸T¿_¹_Ó=NÕOr'   c                 ó   — t        «       j                  dd«      }t        «       j                  dd«      }t        «       j                  dd«      }t        ||z   j                  «       |j                  «       «       t        |j	                  | j
                  «      ddg«       t        |j	                  | j                  «      ddgddgddgg«       y )	Nr   r   rB   r   rE   r   éúÿÿÿé   )r   r   r   r6   rJ   rK   rL   )r$   ÚsxÚsyr7   s       r%   Ú
test_scalezTestAffine2D.test_scale^   sª   € Ü‹Z×Ñ˜a Ó#ˆÜ‹Z×Ñ˜a Ó$ˆÜ“
× Ñ   BÓ'ˆÜ˜B ™G×/Ñ/Ó1°5×3CÑ3CÓ3EÔFÜ˜5Ÿ?™?¨4×+<Ñ+<Ó=ÀÀ2¸wÔGÜ˜5Ÿ?™?¨4×+?Ñ+?Ó@Ø ˜G a¨ W¨r°1¨gÐ6õ	8r'   c                 óÞ  — t        «       j                  t        j                  dz  t        j                  dz  «      }t        «       j	                  dd«      }t        |j                  «       |j                  «       «       t        «       j	                  dd«      }t        |j                  | j                  «      ddg«       t        |j                  | j                  «      d	d
gddgdd	gg«       y )Nr   r\   g     €6@é   çÈ�2§�:@ç™b‚Ž,@ç      ø?ç      ô?r   r   ç      @g      @r   )r   Úskewr   rH   Úskew_degr   r6   r   rJ   rK   rL   )r$   Ú	trans_radÚ	trans_degr7   s       r%   Ú	test_skewzTestAffine2D.test_skewg   sµ   € Ü“J—O‘O¤B§E¡E¨A¡I¬r¯u©u°r©zÓ:ˆ	Ü“J×'Ñ'¨¨bÓ1ˆ	Ü˜9×/Ñ/Ó1°9×3GÑ3GÓ3IÔJä“
×#Ñ# J°
Ó;ˆÜ! %§/¡/°$×2CÑ2CÓ"DÀsÈDÀkÔRÜ! %§/¡/°$×2FÑ2FÓ"GØ$% q 6¨C°¨;¸¸A¸Ð"?õ	Ar'   c                 ó   — t        «       j                  dd«      }t        «       j                  dd«      }t        «       j                  dd«      }t        ||z   j                  «       |j                  «       «       t        |j	                  | j
                  «      ddg«       t        |j	                  | j                  «      ddgddgd	dgg«       y )
Né   r   r2   é   é+   é,   é   é-   é   )r   Ú	translater   r6   rJ   rK   rL   )r$   ÚtxÚtyr7   s       r%   Útest_translatezTestAffine2D.test_translateq   sª   € Ü‹Z×!Ñ! " aÓ(ˆÜ‹Z×!Ñ! ! RÓ(ˆÜ“
×$Ñ$ R¨Ó,ˆÜ˜B ™G×/Ñ/Ó1°5×3CÑ3CÓ3EÔFÜ˜5Ÿ?™?¨4×+<Ñ+<Ó=ÀÀB¸xÔHÜ˜5Ÿ?™?¨4×+?Ñ+?Ó@Ø ˜H r¨2 h°°R°Ð9õ	;r'   c                 ó  —  t        «       j                  d«      j                  g | j                  ¢d‘­Ž }t        «       j                  d«       t        «       j                  g | j                  ¢d‘­Ž z   }t	        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgdd	gg«       t        «       j                  d«      j                  dd	«      }t        «       j                  d«      t        «       j                  dd	«      z   }t	        |j                  «       |j                  «       «       t        |j                  | j                  «      d
d	g«       t        |j                  | j                  «      ddgddgddgg«       t        «       j                  d«      j                  dd«      }t        «       j                  d«      t        «       j                  dd«      z   }t	        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      d	dgddgddgg«       t        «       j                  d«      j                  dd«      }t        «       j                  d«      t        «       j                  dd«      z   }t	        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«       y )Nr@   rD   r   r   r   r   r   rA   rB   rC   r[   r   i÷ÿÿÿéøÿÿÿrb   rc   g      à¿ç      è?g      ø¿g      @rm   r2   é   ro   é   é   rr   é.   )r   rI   rX   rW   r   r6   r   rJ   rK   rL   r   rh   rt   ©r$   r7   Útrans_addeds      r%   Útest_rotate_plus_otherz#TestAffine2D.test_rotate_plus_otherz   sá  € Ø;”“
×%Ñ% bÓ)×;Ñ;ÐM¸T¿Z¹ZÐMÈÒMˆÜ“z×,Ñ,¨RÓ0Ø3”x“z×3Ñ3ÐE°T·Z±ZÐEÀÒEñFˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀqÈ!ÀfÔMÜ! %§/¡/°$×2FÑ2FÓ"GØ$% q 6¨A¨r¨7°Q¸°GÐ"<ô	>ô “
×%Ñ% bÓ)×/Ñ/°°2Ó6ˆÜ“j×+Ñ+¨BÓ/´(³*×2BÑ2BÀ1ÀbÓ2IÑIˆÜ˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀrÈ2ÀhÔOÜ! %§/¡/°$×2FÑ2FÓ"GØ$&¨ 8¨b°"¨X¸¸2°wÐ"?ô	Aô “×&Ñ& rÓ*ß‘(˜: zÓ2ð 	ä“z×,Ñ,¨RÓ0Ü“z×*Ñ*¨:°zÓBñCˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀtÈTÀlÔSÜ! %§/¡/°$×2FÑ2FÓ"GØ$&¨ :°°d¨|¸aÀ¸VÐ"Dô	Fô “
×%Ñ% bÓ)×3Ñ3°B¸Ó;ˆÜ“j×+Ñ+¨BÓ/´(³*×2FÑ2FÀrÈ2Ó2NÑNˆÜ˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀrÈ2ÀhÔOÜ! %§/¡/°$×2FÑ2FÓ"GØ$&¨ 8¨b°"¨X¸¸B°xÐ"@õ	Br'   c                 ó   —  t        «       j                  g | j                  ¢d‘­Ž j                  d«      } t        «       j                  g | j                  ¢d‘­Ž t        «       j                  d«      z   }t	        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«        t        «       j                  g | j                  ¢d‘­Ž j                  d	d«      } t        «       j                  g | j                  ¢d‘­Ž t        «       j                  d	d«      z   }t	        |j                  «       |j                  «       «       t        |j                  | j                  «      d	dg«       t        |j                  | j                  «      ddgdd
gddgg«        t        «       j                  g | j                  ¢d‘­Ž j                  dd«      } t        «       j                  g | j                  ¢d‘­Ž t        «       j                  dd«      z   }t	        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«        t        «       j                  g | j                  ¢d‘­Ž j                  dd«      } t        «       j                  g | j                  ¢d‘­Ž t        «       j                  dd«      z   }t	        |j                  «       |j                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«       y )Nr@   rD   rA   r   r   rC   rB   rE   r   r[   r   ry   rb   rc   rd   re   ç      à?g      @r   rf   rm   r2   rn   ro   r{   rr   é   r~   )r   rX   rW   rI   r   r6   r   rJ   rK   rL   r   rh   rt   r   s      r%   Útest_rotate_around_plus_otherz*TestAffine2D.test_rotate_around_plus_otherš   s9  € Ø,”“
×,Ñ,Ð=¨d¯j©jÐ=¸"Ò=×HÑHÈÓMˆØ3”x“z×3Ñ3ÐD°T·Z±ZÐDÀÒDÜ“z×,Ñ,¨SÓ1ñ2ˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀrÈ2ÀhÔOÜ! %§/¡/°$×2FÑ2FÓ"GØ$% q 6¨A¨r¨7°R¸°HÐ"=ô	?ð -”“
×,Ñ,Ð=¨d¯j©jÐ=¸"Ò=×CÑCÀAÀrÓJˆØ3”x“z×3Ñ3ÐD°T·Z±ZÐDÀÒDÜ“z×'Ñ'¨¨2Ó.ñ/ˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀqÈ"ÀgÔNÜ! %§/¡/°$×2FÑ2FÓ"GØ$% q 6¨B°¨8°a¸°WÐ"=ô	?ð .”“×-Ñ-Ð>¨t¯z©zÐ>¸2Ò>ß‘(˜: zÓ2ð 	à3”x“z×3Ñ3ÐD°T·Z±ZÐDÀÒDÜ“z×*Ñ*¨:°zÓBñCˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀsÈDÀkÔRÜ! %§/¡/°$×2FÑ2FÓ"GØ$% q 6¨C°¨;¸¸C¸Ð"Aô	Cð -”“
×,Ñ,Ð=¨d¯j©jÐ=¸"Ò=×GÑGÈÈBÓOˆØ3”x“z×3Ñ3ÐD°T·Z±ZÐDÀÒDÜ“z×+Ñ+¨B°Ó3ñ4ˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀrÈ2ÀhÔOÜ! %§/¡/°$×2FÑ2FÓ"GØ$&¨ 8¨b°"¨X¸¸B°xÐ"@õ	Br'   c                 ó  — t        «       j                  dd«      j                  d«      }t        «       j                  dd«      t        «       j                  d«      z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgdd	gg«        t        «       j                  dd«      j                  g | j                  ¢d‘­Ž }t        «       j                  dd«       t        «       j                  g | j                  ¢d‘­Ž z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgd
dgdd	gg«       t        «       j                  dd«      j                  dd«      }t        «       j                  dd«      t        «       j                  dd«      z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgd	dgg«       t        «       j                  dd«      j                  dd«      }t        «       j                  dd«      t        «       j                  dd«      z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«       y )Nr   rB   r@   r   r   r   r   r   r\   r   rb   rc   ç      ô¿rE   ç      Àrm   r2   rq   é(   é&   é    é$   é#   )r   r   rI   r   r6   rJ   rK   r   rL   rX   rW   rh   rt   r   s      r%   Útest_scale_plus_otherz"TestAffine2D.test_scale_plus_other¼   së  € Ü“
× Ñ   BÓ'×2Ñ2°2Ó6ˆÜ“j×&Ñ& q¨"Ó-´³
×0EÑ0EÀbÓ0IÑIˆÜ˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ˜5Ÿ?™?¨4×+<Ñ+<Ó=ÀÀ1¸vÔFÜ! %§/¡/°$×2FÑ2FÓ"GØ$% q 6¨A¨q¨6°A°r°7Ð";ô	=ð :”“
× Ñ   BÓ'×9Ñ9ÐJ¸4¿:¹:ÐJÀrÒJˆÜ“z×'Ñ'¨¨2Ó.Ø3”x“z×3Ñ3ÐD°T·Z±ZÐDÀÒDñEˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ˜5Ÿ?™?¨4×+<Ñ+<Ó=ÀÀ1¸vÔFÜ! %§/¡/°$×2FÑ2FÓ"GØ$% q 6¨A¨q¨6°A°r°7Ð";ô	=ô “×!Ñ! ! RÓ(ß‘(˜: zÓ2ð 	ä“z×'Ñ'¨¨2Ó.Ü“z×*Ñ*¨:°zÓBñCˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀqÈ%ÀjÔQÜ! %§/¡/°$×2FÑ2FÓ"GØ$&¨ 8¨a°¨Z¸"¸a¸Ð"Aô	Cô “
× Ñ   BÓ'×1Ñ1°"°bÓ9ˆÜ“j×&Ñ& q¨"Ó-´³
×0DÑ0DÀRÈÓ0LÑLˆÜ˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ˜5Ÿ?™?¨4×+<Ñ+<Ó=ÀÀB¸xÔHÜ˜5Ÿ?™?¨4×+?Ñ+?Ó@Ø ˜H r¨2 h°°R°Ð9õ	;r'   c                 ó  — t        «       j                  dd«      j                  d«      }t        «       j                  dd«      t        «       j                  d«      z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgdd	gd
dgg«        t        «       j                  dd«      j                  g | j                  ¢d‘­Ž }t        «       j                  dd«       t        «       j                  g | j                  ¢d‘­Ž z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgdd	gddgg«       t        «       j                  dd«      j                  dd«      }t        «       j                  dd«      t        «       j                  dd«      z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      d	dg«       t        |j                  | j                  «      ddgddgddgg«       t        «       j                  dd«      j                  dd«      }t        «       j                  dd«      t        «       j                  dd«      z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«       y )Nrb   rc   r@   r‡   rd   rB   r   rˆ   rf   rA   r   rz   r   g      ü¿r   g      ÀrE   g      +@g      Àr\   rm   r2   g     €8@g      E@rn   rp   g     €;@g     àF@rs   ro   )r   rh   rI   r   r6   r   rJ   rK   rL   rX   rW   r   rt   r   s      r%   Útest_skew_plus_otherz!TestAffine2D.test_skew_plus_otherÜ   sù  € ä“
×#Ñ# J°
Ó;×FÑFÀrÓJˆÜ“z×*Ñ*¨:°zÓBÜ“z×,Ñ,¨RÓ0ñ1ˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀuÈcÀlÔSÜ! %§/¡/°$×2FÑ2FÓ"GØ$&¨ 7¨U°C¨L¸2¸q¸'Ð"Bô	Dð$”“×$Ñ$ Z°Ó<ß#Ñ#ð5Ø%)§Z¡Zð5Ø13ò5ˆä“z×*Ñ*¨:°zÓBØ3”x“z×3Ñ3ÐD°T·Z±ZÐDÀÒDñEˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀtÈSÀkÔRÜ! %§/¡/°$×2FÑ2FÓ"GØ$% q 6¨E°3¨<¸!¸Q¸Ð"@ô	Bô “
×#Ñ# J°
Ó;×AÑAÀ!ÀRÓHˆÜ“z×*Ñ*¨:°zÓBÜ“z×'Ñ'¨¨2Ó.ñ/ˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀsÈDÀkÔRÜ! %§/¡/°$×2FÑ2FÓ"GØ$% r 7¨T°4¨L¸2¸r¸(Ð"Cô	Eô “
×#Ñ# J°
Ó;×EÑEÀbÈ"ÓMˆÜ“z×*Ñ*¨:°zÓBÜ“z×+Ñ+¨B°Ó3ñ4ˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀtÈUÀmÔTÜ! %§/¡/°$×2FÑ2FÓ"GØ$&¨ 8¨d°E¨]¸RÀ¸HÐ"Eõ	Gr'   c                 ó  — t        «       j                  dd«      j                  d«      }t        «       j                  dd«      t        «       j                  d«      z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgd	d
gg«        t        «       j                  dd«      j                  g | j                  ¢d‘­Ž }t        «       j                  dd«       t        «       j                  g | j                  ¢d‘­Ž z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      d	dgddgdd
gg«       t        «       j                  dd«      j                  dd«      }t        «       j                  dd«      t        «       j                  dd«      z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgddgg«       t        «       j                  dd«      j                  dd«      }t        «       j                  dd«      t        «       j                  dd«      z   }t        |j	                  «       |j	                  «       «       t        |j                  | j                  «      ddg«       t        |j                  | j                  «      ddgddgdd gg«       y )!Nrm   r2   r@   iÕÿÿÿrn   iÔÿÿÿiÓÿÿÿrq   iÖÿÿÿrs   i×ÿÿÿiØÿÿÿr   rB   éH   iªÿÿÿéE   i¨ÿÿÿéN   i¦ÿÿÿéQ   i¬ÿÿÿrb   rc   g     ÀF@é1   rr   g     àH@g     @H@g     ÀI@é0   g     `H@)r   rt   rI   r   r6   r   rJ   rK   rL   rX   rW   r   rh   r   s      r%   Útest_translate_plus_otherz&TestAffine2D.test_translate_plus_otherÿ   sî  € Ü“
×$Ñ$ R¨Ó,×7Ñ7¸Ó;ˆÜ“j×*Ñ*¨2¨rÓ2´X³Z×5JÑ5JÈ2Ó5NÑNˆÜ˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀsÈBÀiÔPÜ! %§/¡/°$×2FÑ2FÓ"GØ$'¨ 9¨s°B¨i¸#¸r¸Ð"Cô	Eð ?”“
×$Ñ$ R¨Ó,×>Ñ>ÐOÀÇ
Á
ÐOÈBÒOˆÜ“z×+Ñ+¨B°Ó3Ø3”x“z×3Ñ3ÐD°T·Z±ZÐDÀÒDñEˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀsÈBÀiÔPÜ! %§/¡/°$×2FÑ2FÓ"GØ$'¨ 9¨s°B¨i¸#¸r¸Ð"Cô	Eô “
×$Ñ$ R¨Ó,×2Ñ2°1°bÓ9ˆÜ“j×*Ñ*¨2¨rÓ2´X³Z×5EÑ5EÀaÈÓ5LÑLˆÜ˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀrÈ3ÀiÔPÜ! %§/¡/°$×2FÑ2FÓ"GØ$&¨ 9¨r°3¨i¸"¸c¸Ð"Cô	Eô “×%Ñ% b¨"Ó-ß‘(˜: zÓ2ð 	ä“z×+Ñ+¨B°Ó3Ü“z×*Ñ*¨:°zÓBñCˆä˜5×+Ñ+Ó-¨{×/EÑ/EÓ/GÔHÜ! %§/¡/°$×2CÑ2CÓ"DÀtÈRÀjÔQÜ! %§/¡/°$×2FÑ2FÓ"GØ$&¨ ;°°t°¸rÀ5¸kÐ"Jõ	Lr'   c                 ó4  — t        j                  «       }t        j                  t        «      5  |j                  d«       d d d «       t        j                  t        «      5  |j                  dggg«       d d d «       t        j                  t        «      5  |j                  g «       d d d «       t        j                  t        «      5  |j                  dg«       d d d «       t        j                  t        «      5  |j                  dgg«       d d d «       t        j                  t        «      5  |j                  g d¢g«       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   ŒšxY w# 1 sw Y   ŒqxY w# 1 sw Y   y xY w)Nr   r   )Úmtransformsr   ÚpytestÚraisesÚ
ValueErrorrJ   ÚRuntimeError)r$   Úts     r%   Útest_invalid_transformz#TestAffine2D.test_invalid_transform  s1  € Ü× Ñ Ó"ˆô �]‰]œ:Ó&ñ 	Ø�K‰K˜ŒN÷	ä�]‰]œ:Ó&ñ 	!Ø�K‰K˜1˜#˜˜Ô ÷	!ä�]‰]œ<Ó(ñ 	Ø�K‰K˜ŒO÷	ä�]‰]œ<Ó(ñ 	Ø�K‰K˜˜Ô÷	ä�]‰]œ:Ó&ñ 	Ø�K‰K˜!˜˜Ô÷	ä�]‰]œ:Ó&ñ 	%Ø�K‰Kš˜Ô$÷	%ð 	%÷	ñ 	ú÷	!ð 	!ú÷	ð 	ú÷	ð 	ú÷	ð 	ú÷	%ð 	%úsG   ®EÁ!EÂE*Ã
E6Ã>FÄ3FÅEÅE'Å*E3Å6E?ÆFÆFc                 óp  — t        j                  «       }t        j                  «       }||z   }|j                  «        t        j                  |«      }|j                  s|j                  rJ ‚|j                  dd«       |j                  r|j                  sJ ‚|j                  «       |j                  «       k(  j                  «       sJ ‚|j                  «        t        j                  |«      }|j                  dd«       |j                  rJ ‚t        |j                  «       |j                  «       «       y ©Nr   r   r   r   )rš   r   r6   ÚcopyÚ_invalidrt   Úallr   ©r$   r=   ÚbÚsÚs1Úb1s         r%   Ú	test_copyzTestAffine2D.test_copy3  sÚ   € Ü× Ñ Ó"ˆÜ× Ñ Ó"ˆØ�‰Eˆà	�‰ŒÜ�Y‰Y�q‹\ˆØ—:’: b§k¢kÐ1Ð1Ø	�‰�A�qÔØ�zŠz˜bŸkškÐ)Ð)Ø—‘“ 1§<¡<£>Ñ1×6Ñ6Ô8Ð8Ð8à	�‰ŒÜ�Y‰Y�q‹\ˆØ
�‰�Q˜ÔØ—:’:Ðˆ~Ü˜1Ÿ<™<›>¨1¯<©<«>Õ:r'   c                 ó‚  — t        j                  «       }t        j                  «       }||z   }|j                  «        t        j                  |«      }|j
                  s|j
                  rJ ‚|j                  dd«       |j
                  r|j
                  rJ ‚t        |j                  «       t        j                  «       j                  «       «       |j                  «        t        j                  |«      }|j                  dd«       |j
                  rJ ‚t        |j                  «       |j                  «       «       y r¢   )rš   r   r6   r£   Údeepcopyr¤   rt   r   r¦   s         r%   Útest_deepcopyzTestAffine2D.test_deepcopyE  sÛ   € Ü× Ñ Ó"ˆÜ× Ñ Ó"ˆØ�‰Eˆà	�‰ŒÜ�]‰]˜1ÓˆØ—:’: b§k¢kÐ1Ð1Ø	�‰�A�qÔØ�zŠz "§+¢+Ð-Ð-Ü˜2Ÿ=™=›?¬K×,@Ñ,@Ó,B×,MÑ,MÓ,OÔPà	�‰ŒÜ�]‰]˜1ÓˆØ
�‰�Q˜ÔØ—:’:Ðˆ~Ü˜1Ÿ<™<›>¨1¯<©<«>Õ:r'   N)Ú__name__Ú
__module__Ú__qualname__rK   rL   rW   r&   r0   r9   r>   rT   rY   r_   rk   rw   r�   r…   rŽ   r�   r˜   r    r«   r®   © r'   r%   r   r      s�   „ Ø˜�:€LØ˜S�z C¨ :°°S¨zÐ:€OØ€EòEò
Nò
SòNò
Iò2Pò28òAò;òBò@ BòD;ò@!GòFLò@%ò(;ó$;r'   r   c                  ól  —  G d„ dt         j                  «      }  | «       }t        j                  «       }t        j                  t        j                  d«      ||j                  z   ¬«       t        j                  «        d|_	        |j                  j                  «        t        j                  «        y )Nc                   óB   ‡ — e Zd ZdZdxZZdZˆ fd„Zd„ ZeZ	d„ Z
e
Zˆ xZS )ú<test_non_affine_caching.<locals>.AssertingNonAffineTransformz�
        This transform raises an assertion error when called when it
        shouldn't be and ``self.raise_on_transform`` is True.

        r   Fc                 ó„   •— t        ‰| �  |i |¤Ž d| _        t        j                  «       j                  dd«      | _        y )NFé
   )ÚsuperÚ__init__Úraise_on_transformrš   r   r   Úunderlying_transform)r$   ÚargsÚkwargsÚ	__class__s      €r%   r¹   zEtest_non_affine_caching.<locals>.AssertingNonAffineTransform.__init__b  s;   ø€ Ü‰GÑ˜dÐ- fÒ-Ø&+ˆDÔ#Ü(3×(<Ñ(<Ó(>×(DÑ(DÀRÈÓ(LˆDÕ%r'   c                 ó^   — | j                   rJ d«       ‚| j                  j                  |«      S ©Nz3Invalidated affine part of transform unnecessarily.)rº   r»   Útransform_path©r$   Úpaths     r%   Útransform_path_non_affinezVtest_non_affine_caching.<locals>.AssertingNonAffineTransform.transform_path_non_affineg  s4   € Ø×.Ò.ð FØEóFÐ.à×,Ñ,×;Ñ;¸DÓAÐAr'   c                 ó^   — | j                   rJ d«       ‚| j                  j                  |«      S rÀ   )rº   r»   rJ   rÂ   s     r%   Útransform_non_affinezQtest_non_affine_caching.<locals>.AssertingNonAffineTransform.transform_non_affinem  s4   € Ø×.Ò.ð FØEóFÐ.à×,Ñ,×6Ñ6°tÓ<Ð<r'   )r¯   r°   r±   Ú__doc__Ú
input_dimsÚoutput_dimsÚ	is_affiner¹   rÄ   rÁ   rÆ   rJ   Ú__classcell__©r¾   s   @r%   ÚAssertingNonAffineTransformrµ   Y  s8   ø„ ñ	ð
 $%Ð$ˆ
�[Øˆ	ô	Mò
	Bð 3ˆò	=ð )Œ	r'   rÍ   r·   ©rJ   T)rš   Ú	TransformÚpltÚaxesÚplotr   ÚarangeÚ	transDataÚdrawrº   Ú	transAxesÚ
invalidate)rÍ   Úmy_transÚaxs      r%   Útest_non_affine_cachingrÚ   X  st   € ô)¤k×&;Ñ&;ô )ñ4 +Ó,€HÜ	�‰‹€BÜ‡H�HŒR�Y‰Y�r‹] h°·±Ñ&=Õ>Ü‡H�H„Jð #'€HÔØ‡L�L×ÑÔÜ‡H�H…Jr'   c                  ó®  —  G d„ d«      } t        j                  «       }t        j                  t        j                  d«       | d«      ¬«      \  }|j                  dd«       |j                  dd«       t        |j                  «       j                  j                  «       t        j                  «       j                  d«      j                  «       «       y )Nc                   ó   — e Zd Zd„ Zd„ Zy)ú-test_external_transform_api.<locals>.ScaledByc                 ó   — || _         y ©N)Ú_scale_factor)r$   Úscale_factors     r%   r¹   z6test_external_transform_api.<locals>.ScaledBy.__init__€  s
   € Ø!-ˆDÕr'   c                 óv   — t        j                  «       j                  | j                  «      |j                  z   S rß   )rš   r   r   rà   rÔ   )r$   rÑ   s     r%   Ú_as_mpl_transformz?test_external_transform_api.<locals>.ScaledBy._as_mpl_transformƒ  s0   € Ü×(Ñ(Ó*×0Ñ0°×1CÑ1CÓDØ—n‘nñ%ð &r'   N)r¯   r°   r±   r¹   rã   r²   r'   r%   ÚScaledByrÝ     s   „ ò	.ó	&r'   rä   r·   rÎ   r   éd   )rÐ   rÑ   rÒ   r   rÓ   Úset_xlimÚset_ylimr   Úget_transformÚ_ar6   rš   r   r   )rä   rÙ   Úlines      r%   Útest_external_transform_apirë   ~  s–   € ÷&ñ &ô 
�‰‹€BÜ�H‰H”R—Y‘Y˜r“]©h°r«lÔ;�E€DØ‡K�K��3ÔØ‡K�K��3Ôä�D×&Ñ&Ó(×+Ñ+×6Ñ6Ó8Ü×(Ñ(Ó*×0Ñ0°Ó4×?Ñ?ÓAõCr'   Úpre_transform_dataTÚmpl20gš™™™™™©?)Úremove_textÚstyleÚtolc                  ó8  — t        j                  «       } t        j                  «       j	                  d«      }| j                  t        j                  d«      j                  dd«      || j                  z   ¬«       | j                  t        j                  ddd«      t        j                  d	dd
«      t        j                  d«      j                  dd«      || j                  z   ¬«       | j                  t        j                  dd«      t        j                  dd«      || j                  z   ¬«       t        j                  ddd«      }t        j                  ddd«      }dt        j                  |«      z  t        j                  |d d …t        j                  f   «      z   }t        j                  |«      t        j                  |d d …t        j                  f   «      z
  }| j!                  |||||| j                  z   t        j"                  ||«      ¬«       |d d d…   |d d d…   }}|d d d…d d d…f   |d d d…d d d…f   }}| j%                  ||dz   |||| j                  z   ¬«       | j'                  |dz
  |dz   |dz  |dz  || j                  z   ¬«       y )Nr·   r—   r   r   rÎ   r   r   r   g      @r   r}   r   r   r   )rJ   Ú	linewidthr   )rÐ   rÑ   rš   r   r   Úcontourfr   rÓ   ÚreshaperÔ   Ú
pcolormeshÚlinspaceÚscatterÚsinÚcosÚnewaxisÚ
streamplotÚhypotÚquiverÚbarbs)rÙ   Útimes10ÚxÚyÚuÚvs         r%   Útest_pre_transform_plottingr  �  s$  € ô 
�‰‹€BÜ×"Ñ"Ó$×*Ñ*¨2Ó.€Gà‡K�K”—	‘	˜"“×%Ñ% a¨Ó+°wÀÇÁÑ7M€KÔNà‡M�M”"—+‘+˜a  AÓ&Ü—+‘+˜c 1 aÓ(Ü—)‘)˜B“-×'Ñ'¨¨1Ó-Ø# b§l¡lÑ2ð ô 4ð
 ‡J�JŒr�{‰{˜1˜bÓ!¤2§;¡;¨r°1Ó#5Ø  2§<¡<Ñ/ð ô 1ô 	�‰�A�r˜2Ó€AÜ
�‰�A�q˜"Ó€AØ	Œ"�&‰&�‹)‰”b—f‘f˜Qšq¤"§*¡*˜}Ñ-Ó.Ñ.€AÜ
�‰ˆq‹	”B—F‘F˜1šQ¤§
¡
˜]Ñ+Ó,Ñ,€Aà‡M�M�!�Q˜˜1¨°"·,±,Ñ(>ÜŸH™H Q¨›Nð ô ,ð ‰SˆqˆS‰6�1‘S�q�S‘6€q€AØ‰SˆqˆS‘#�A�#ˆX‰;˜™#˜A˜#™s ˜s˜(™€q€Aà‡I�Iˆa��Q‘˜˜1¨°"·,±,Ñ(>€IÔ?à‡H�HˆQ�‰U�A˜‘E˜1˜a™4  A¡°¸2¿<¹<Ñ1G€HÕHr'   c                  óâ  — t        j                  «       } t        j                  t        j                  ddd«      t        j                  ddd«      «      \  }}| j                  ||t        j                  ||z  «      t        j                  «       j                  d«      | j                  z   ¬«       t        j                  ddgd	d
gg«      }t        || j                  j                  «       «       y )Nra   r}   çÍÌÌÌÌÌ(@ç      )@çš™™™™™¹?rÎ   rd   ç×£p=
×ó?r   re   )rÐ   rÑ   r   Úmeshgridrö   ró   Úlogrš   r   r   rÔ   r    r   ÚdataLimÚ
get_points©rÙ   ÚxsÚysÚexpecteds       r%   Ú!test_contour_pre_transform_limitsr  µ  s¸   € Ü	�‰‹€BÜ�[‰[œŸ™ R¨¨RÓ0´"·+±+¸dÀDÈ"Ó2MÓN�F€BˆØ‡K�K��BœŸ™˜r B™w›Ü%×.Ñ.Ó0×6Ñ6°sÓ;¸b¿l¹lÑJð ô Lô �x‰x˜#˜t˜Ø˜d˜ð%ó &€Hä˜ "§*¡*×"7Ñ"7Ó"9Õ:r'   c                  óô  — t        j                  «       } t        j                  t        j                  ddd«      t        j                  ddd«      «      \  }}| j                  ||t        j                  ||z  «      d d…d d…f   t        j                  «       j                  d«      | j                  z   ¬«       t        j                  dd	gd
dgg«      }t        || j                  j                  «       «       y ©Nra   r}   r  r  rA   r  rÎ   rd   r	  r   re   )rÐ   rÑ   r   r
  rö   Úpcolorr  rš   r   r   rÔ   r    r   r  r  r  s       r%   Ú test_pcolor_pre_transform_limitsr  À  sÉ   € ä	�‰‹€BÜ�[‰[œŸ™ R¨¨RÓ0´"·+±+¸dÀDÈ"Ó2MÓN�F€BˆØ‡I�Iˆb�"”b—f‘f˜R "™W“o c r c¨3¨B¨3 hÑ/Ü#×,Ñ,Ó.×4Ñ4°SÓ9¸B¿L¹LÑHð ô Jô �x‰x˜#˜t˜Ø˜d˜ð%ó &€Hä˜ "§*¡*×"7Ñ"7Ó"9Õ:r'   c                  óô  — t        j                  «       } t        j                  t        j                  ddd«      t        j                  ddd«      «      \  }}| j                  ||t        j                  ||z  «      d d…d d…f   t        j                  «       j                  d«      | j                  z   ¬«       t        j                  dd	gd
dgg«      }t        || j                  j                  «       «       y r  )rÐ   rÑ   r   r
  rö   rõ   r  rš   r   r   rÔ   r    r   r  r  r  s       r%   Ú$test_pcolormesh_pre_transform_limitsr  Ì  sÉ   € ä	�‰‹€BÜ�[‰[œŸ™ R¨¨RÓ0´"·+±+¸dÀDÈ"Ó2MÓN�F€BˆØ‡M�M�"�bœ"Ÿ&™&  b¡›/¨#¨2¨#¨s°¨s¨(Ñ3Ü'×0Ñ0Ó2×8Ñ8¸Ó=ÀÇÁÑLð ô Nô �x‰x˜#˜t˜Ø˜d˜ð%ó &€Hä˜ "§*¡*×"7Ñ"7Ó"9Õ:r'   c                  ó  — t         j                  j                  d«       t        j                  ddd«      } t        j                  ddd«      }t        j                  | |«      \  }}t        j
                  t        j                  j                  |j                  Ž dz  «      }t        j                  «       }|j                  dd	¬
«      }|j                  dd«       |j                  |||d¬«       |j                  j                  «        y )Nr)   r   rD   r   rå   iè  r·   éo   Úpolar©Ú
projectionée   Úgouraud)Úshading)r   r*   r+   rö   r
  Úradiansr;   ÚshaperÐ   ÚfigureÚadd_subplotÚset_rlimrõ   ÚcanvasrÕ   )r/   ÚradiiÚzr  r   ÚfigrÙ   s          r%   Útest_pcolormesh_gouraud_nansr*  Ø  s½   € Ü‡I�I‡N�N�8Ôä�[‰[˜˜C Ó#€FÜ�K‰K˜˜T 2Ó&€EÜ�;‰;�v˜uÓ%�D€A€qÜ
�
‰
”2—9‘9—>‘> 1§7¡7Ð+¨cÑ1Ó2€Aä
�*‰*‹,€CØ	�‰˜¨ˆÓ	1€Bð ‡K�K��TÔØ‡M�M�!�Q˜ 9€MÔ-à‡J�J‡O�OÕr'   c                  ó´  — t        j                  ddgddgddgg«      } t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgd	dgddgg«      }t        ||«       t        j                  j	                  dddd
dd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       t        j                  j	                  dddddd«      }|j                  | «      }t        j                  ddgddgddgg«      }t        ||«       y )Nr   r·   r}   rA   r   r   rB   r   é<   r   éP   r   r   )r   r    rš   r   r,   rJ   r   )ÚpointsrŸ   Úactualr  s       r%   Útest_Affine2D_from_valuesr0  ë  sA  € Ü�X‰X˜˜1�vØ˜B�xØ˜A�wðó €Fô
 	×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ " a ¨2¨q¨'Ð2Ó3€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ ! R ¨1¨b¨'Ð2Ó3€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ " a ¨1¨a¨&Ð1Ó2€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ ! R ¨1¨a¨&Ð1Ó2€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ó1€HÜ˜ Ô)ä×Ñ×(Ñ(¨¨A¨q°!°Q¸Ó:€AØ�[‰[˜Ó €FÜ�x‰x˜!˜Q˜ ! Q ¨!¨Q¨Ð0Ó1€HÜ˜ Õ)r'   c                  óT  — ddg} t        j                  «       }t        | |j                  |j	                  «       j                  | «      «      «       |j                  dd«      j                  «        t        | |j                  |j	                  «       j                  | «      «      «       y )Nr   )rš   r   r   rJ   Úinvertedrt   r6   )ÚpointrŸ   s     r%   Ú test_affine_inverted_invalidatedr4    sx   € à�#ˆJ€EÜ×ÑÓ€Aä˜˜qŸ{™{¨1¯:©:«<×+AÑ+AÀ%Ó+HÓIÔJà‡K�K��SÓ×$Ñ$Ô&Ü˜˜qŸ{™{¨1¯:©:«<×+AÑ+AÀ%Ó+HÓIÕJr'   c                  óX  — t        j                  g d¢«      } t        j                  t        j                  «       t        j                  dd«      «      }|j                  | «      }|j                  |j                  «       dd¬«      }t        |Ž \  }}t        || j                  d d «       y )N))çš™™™™™É?é�ÿÿÿ)çš™™™™™Ù?r7  )r8  r}   )r6  r}   r·   Úclip)r   r   rå   rå   F)r9  ÚsimplifyrA   )r   Ú_create_closedrš   ÚBlendedGenericTransformr   r   ÚLogTransformrÄ   Úiter_segmentsÚ
get_affineÚzipr   Úcodes)rÃ   r7   ÚtpathÚresultÚtpointsÚtcodess         r%   Útest_clipping_of_logrF    s˜   € ä×ÑÒMÓN€Dä×/Ñ/Ü×ÑÓ¤× 2Ñ 2°2°vÓ >ó@€Eà×+Ñ+¨DÓ1€EØ× Ñ  ×!1Ñ!1Ó!3Ø&6Ø*/ð !ó 1€Fô ˜6�l�O€GˆVÜ�F˜DŸJ™J s¨˜OÕ,r'   c                   ó:   ‡ — e Zd ZdZdZdZdZˆ fd„Zd„ Zd„ Z	ˆ xZ
S )ÚNonAffineForTestzÚ
    A class which looks like a non affine transform, but does whatever
    the given transform does (even if it is affine). This is very useful
    for testing NonAffine behaviour with a simple Affine transform.

    Fr   c                 ó2   •— || _         t        ‰| �  |i |¤Ž y rß   )Ú
real_transr¸   r¹   )r$   rJ  r¼   r½   r¾   s       €r%   r¹   zNonAffineForTest.__init__4  s   ø€ Ø$ˆŒÜ‰Ñ˜$Ð) &Ó)r'   c                 ó8   — | j                   j                  |«      S rß   )rJ  rJ   r.   s     r%   rÆ   z%NonAffineForTest.transform_non_affine8  s   € Ø�‰×(Ñ(¨Ó0Ð0r'   c                 ó8   — | j                   j                  |«      S rß   )rJ  rÁ   rÂ   s     r%   rÄ   z*NonAffineForTest.transform_path_non_affine;  s   € Ø�‰×-Ñ-¨dÓ3Ð3r'   )r¯   r°   r±   rÇ   rÊ   rÉ   rÈ   r¹   rÆ   rÄ   rË   rÌ   s   @r%   rH  rH  )  s(   ø„ ñð €IØ€KØ€Jô*ò1ö4r'   rH  c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestBasicTransformc                 ó”  — t        j                  d¬«      j                  t        j                  dz  «      | _        t        j                  d¬«      j                  dd«      | _        t        j                  d¬«      j                  dd«      | _	        t        t        j                  «       j                  dd«      d	¬«      | _        t        t        j                  «       j                  dd«      d
¬«      | _        t        t        j                  «       j                  dd«      d¬«      | _        | j
                  | j                  | j                  z   z   | j                  z   | _        | j
                  | j                  z   | j                  z   | j                  z   | _        | j                  | j                  z   | j                  z   | _        y )NÚta1)Úshorthand_namer   Úta2r·   r   Úta3r   Útn1Útn2Útn3)rš   r   rG   r   rH   rP  rt   rR  r   rS  rH  rT  rU  rV  Ústack1Ústack2Ústack2_subsetr#   s    r%   Úsetup_methodzTestBasicTransform.setup_method@  sF  € ä×'Ñ'°uÔ=×DÑDÄRÇUÁUÈQÁYÓOˆŒÜ×'Ñ'°uÔ=×GÑGÈÈAÓNˆŒÜ×'Ñ'°uÔ=×CÑCÀAÀqÓIˆŒä#¤K×$8Ñ$8Ó$:×$DÑ$DÀQÈÓ$JØ38ô:ˆŒä#¤K×$8Ñ$8Ó$:×$DÑ$DÀQÈÓ$JØ38ô:ˆŒä#¤K×$8Ñ$8Ó$:×$DÑ$DÀQÈÓ$JØ38ô:ˆŒð —x‘x 4§8¡8¨d¯h©hÑ#6Ñ7¸4¿8¹8ÑCˆŒà—h‘h §¡Ñ)¨D¯H©HÑ4°t·x±xÑ?ˆŒà!ŸX™X¨¯©Ñ0°4·8±8Ñ;ˆÕr'   c                 ó¦   — | j                   j                  dk(  sJ ‚| j                  j                  dk(  sJ ‚| j                  j                  dk(  sJ ‚y )Nr   r   )rW  ÚdepthrX  rY  r#   s    r%   Útest_transform_depthz'TestBasicTransform.test_transform_depthY  sL   € Ø�{‰{× Ñ  AÒ%Ð%Ð%Ø�{‰{× Ñ  AÒ%Ð%Ð%Ø×!Ñ!×'Ñ'¨1Ò,Ð,Ñ,r'   c                 ó6  — | j                   | j                  | j                  | j                  z   z   z   | j                  z   }|| j                  | j                  | j                  z   z   | j                  z   | j                  | j                  z   | j                  z   | j                  | j                  z   | j                  g}|j                  «       D ��cg c]  \  }}|‘Œ	 }}}t        |«      t        |«      k(  sJ ‚t        ||«      D ]  \  }}||k(  rŒJ ‚ y c c}}w rß   )rP  rT  rR  rU  rS  Ú_iter_break_from_left_to_rightÚlenr@  )r$   Ústack3Útarget_transformsÚ_ÚrhÚrÚtarget_stackÚstacks           r%   Útest_left_to_right_iterationz/TestBasicTransform.test_left_to_right_iteration^  sø   € Ø—(‘(˜dŸh™h¨$¯(©(°T·X±XÑ*=Ñ>Ñ?À4Ç8Á8ÑKˆð $Ø"Ÿh™h¨$¯(©(°T·X±XÑ*=Ñ>À$Ç(Á(ÑJØ"Ÿh™h¨¯©Ñ1°T·X±XÑ=Ø!ŸX™X¨¯©Ñ0Ø!ŸX™Xð	Ðð $×BÑBÓD×E‘E�A�rŠRÐEˆÑEÜ�1‹vœÐ.Ó/Ò/Ð/Ð/ä#&Ð'8¸!Ó#<ò 	)ÑˆL˜%Ø 5Ó(Ð(Ð(ñ	)ùó Fs   ÃDc                 óš  — | j                   | j                  z
  | j                  k(  sJ ‚| j                  | j                  z
  | j                  k(  sJ ‚| j                  | j                  z
  | j                  j	                  «       k(  sJ ‚| j                  | j                  z
  j
                  dk(  sJ ‚t        j                  t        «      5  | j                   | j                  z
   d d d «       | j                  | j                  | j                  z   z   }| j                  | j                  z   }||z
  | j                  k(  sJ ‚|| j                  z
  || j                  j	                  «       z   k(  sJ ‚| j                   | j                  z
  | j                  | j                  | j                  z   z   k(  sJ ‚| j                  | j                  z
  | j                  | j                  z   | j                  z   k(  sJ ‚| j                  | j                  z   | j                  z
  | j                  z   | j                  | j                  z   k(  sJ ‚y # 1 sw Y   �Œ`xY w)Nr   )rW  rY  rP  rX  r2  r\  r›   rœ   r�   rR  rS  rT  )r$   Úaff1Úaff2s      r%   Útest_transform_shortcutsz+TestBasicTransform.test_transform_shortcutsn  sÒ  € Ø�{‰{˜T×/Ñ/Ñ/°4·8±8Ò;Ð;Ð;Ø�{‰{˜T×/Ñ/Ñ/°4·8±8Ò;Ð;Ð;à×!Ñ! D§K¡KÑ/°4·8±8×3DÑ3DÓ3FÒFÐFÐFØ×"Ñ" T§[¡[Ñ0×7Ñ7¸1Ò<Ð<Ð<ä�]‰]œ:Ó&ñ 	&Ø�K‰K˜$Ÿ+™+Ò%÷	&ð �x‰x˜4Ÿ8™8 d§h¡hÑ.Ñ/ˆØ�x‰x˜$Ÿ(™(Ñ"ˆà�d‰{˜dŸh™hÒ&Ð&Ð&Ø�d—h‘h‰ $¨¯©×):Ñ):Ó)<Ñ"<Ò<Ð<Ð<à�{‰{˜TŸX™XÑ%¨¯©°T·X±XÀÇÁÑ5HÑ)IÒIÐIÐIØ�{‰{˜TŸX™XÑ%¨¯©°D·H±HÑ)<¸t¿x¹xÑ)GÒGÐGÐGà—‘˜DŸH™HÑ$¨¯©Ñ0°4·8±8Ñ;Ø—‘˜4Ÿ8™8Ñ#ò$ð 	%ñ $÷	&ñ 	&ús   ÃI É I
c                 óÂ  — | j                   | j                  z   }| j                   | j                  z   }||k(  sJ ‚|| j                  k7  sJ ‚|j                  |«      sJ ‚|j                  | j                  «      sJ ‚|j                  | j                   «      rJ ‚|j                  | j                   | j                   z   «      rJ ‚||k(  sJ ‚| j                  j                  | j                  «      sJ ‚| j
                  j                  | j                  «      sJ ‚| j                  j                  | j                  «      sJ ‚| j
                  j                  | j                  «      sJ ‚| j                  j                  | j                  «      rJ ‚| j                  j                  | j
                  «      rJ ‚| j                  j                  | j                   | j                  z   «      sJ ‚| j
                  j                  | j                   | j                  z   «      sJ ‚| j                  j                  | j                  | j                   z   «      rJ ‚t        j                  | j                  | j
                  «      }|j                  | j                  «      \  }}| j                  |z   }|j                  | j                  «      \  }}||cxu rdu sJ ‚ J ‚||cxu rdu sJ ‚ J ‚y )NFT)rR  rP  Úcontains_branchrW  rS  rX  rY  rT  rš   r<  rU  Úcontains_branch_seperatelyrV  )	r$   Úr1Úr2Úblendr   r  Ústack_blendr]   r^   s	            r%   Útest_contains_branchz'TestBasicTransform.test_contains_branch„  sZ  € Ø�h‰h˜Ÿ™Ñ!ˆØ�h‰h˜Ÿ™Ñ!ˆØ�RŠxˆˆxØ�T—X‘XŠ~Ðˆ~Ø×!Ñ! "Ô%Ð%Ð%Ø×!Ñ! $§(¡(Ô+Ð+Ð+Ø×%Ñ% d§h¡hÔ/Ð/Ð/Ø×%Ñ% d§h¡h°·±Ñ&9Ô:Ð:Ð:à�RŠxˆˆxà�{‰{×*Ñ*¨4¯8©8Ô4Ð4Ð4Ø�{‰{×*Ñ*¨4¯8©8Ô4Ð4Ð4à�{‰{×*Ñ*¨4×+=Ñ+=Ô>Ð>Ð>Ø�{‰{×*Ñ*¨4×+=Ñ+=Ô>Ð>Ð>à×%Ñ%×5Ñ5°d·k±kÔBÐBÐBØ×%Ñ%×5Ñ5°d·k±kÔBÐBÐBà�{‰{×*Ñ*¨4¯8©8°d·h±hÑ+>Ô?Ð?Ð?Ø�{‰{×*Ñ*¨4¯8©8°d·h±hÑ+>Ô?Ð?Ð?à—;‘;×.Ñ.¨t¯x©x¸$¿(¹(Ñ/BÔCÐCÐCä×3Ñ3°D·H±H¸d¿k¹kÓJˆØ×/Ñ/°×0BÑ0BÓC‰ˆˆ1Ø—h‘h Ñ&ˆØ×7Ñ7¸×8JÑ8JÓK‰ˆˆBØ�BÓ˜%ÑÐÑÐÐØ�B‹˜$‰Ð‰Ð‰r'   c                 ó   — t        j                  ddgddgt         j                  dgddggt         j                  ¬«      }| j                  j                  |«      }| j                  j                  |«      }t        j                  ddgd	d
gt         j                  t         j                  gddggt         j                  ¬«      }t        j                  ddgddgt         j                  t         j                  gddggt         j                  ¬«      }t        ||«       t        ||«       t        | j                  j                  |«      |«       t        | j                  j                  «       j                  |«      |«       | j                  | j                  z   j                  «       }| j                  j                  «       j                  «       }t        ||«       | j                  j                  «       j                  «       }t        ||«       y )Nr   r·   r}   r   rA   )Údtyper   r   g      3Àç      (@g      &@r   g      "Àg      8@)r   r    ÚnanÚfloat64rW  rÆ   rJ   r   Útransform_affiner?  rR  rS  r6   r   rX  )r$   r.  Úna_ptsÚall_ptsÚna_expectedÚall_expectedÚexpected_resultrC  s           r%   Útest_affine_simplificationz-TestBasicTransform.test_affine_simplification¥  s›  € ô —‘˜A˜q˜6 B¨ 8¬b¯f©f°a¨[¸2¸q¸'ÐBÜ "§
¡
ô,ˆà—‘×1Ñ1°&Ó9ˆØ—+‘+×'Ñ'¨Ó/ˆä—h‘h  R ¨4°¨+Ü!#§¡¬¯©Ð 0°2°r°(ð <ÜCEÇ:Á:ôOˆä—x‘x # r ¨S°#¨JÜ"$§&¡&¬"¯&©&Ð!1°C¸°9ð!>ä&(§j¡jô2ˆô
 	" &¨+Ô6ä! '¨<Ô8ô 	" $§+¡+×">Ñ">¸vÓ"FØ".ô	0ô 	" $§+¡+×"8Ñ"8Ó":×"DÑ"DÀVÓ"LØ".ô	0ð
  Ÿ8™8 d§h¡hÑ.×:Ñ:Ó<ˆØ—‘×'Ñ'Ó)×4Ñ4Ó6ˆÜ˜?¨FÔ3à—‘×'Ñ'Ó)×4Ñ4Ó6ˆÜ˜?¨FÕ3r'   N)	r¯   r°   r±   rZ  r]  rh  rl  rt  r€  r²   r'   r%   rN  rN  ?  s!   „ ò<ò2-ò
)ò %ò,óB#4r'   rN  c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)ÚTestTransformPlotInterfacec                 ó^  — t        j                  «       }|j                  g d¢g d¢|j                  ¬«       t	        |j
                  j                  «       t        j                  t        j                  t        j                  gt        j                   t        j                   gg«      «       y )N©r  ç333333ó?çš™™™™™é?©çÍÌÌÌÌÌì?rƒ   r†  rÎ   )
rÐ   rÑ   rÒ   rÖ   r   r  r  r   r    Úinf©r$   rÙ   s     r%   Útest_line_extent_axes_coordsz7TestTransformPlotInterface.test_line_extent_axes_coordsÌ  sn   € ä�X‰X‹ZˆØ
�‰’¢¸B¿L¹LˆÔIÜ˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8¤b§f¡f¬b¯f©fÐ%5Ü')§v¡v g´·±¨wÐ%7ð%9ó :õ	;r'   c                 óê   — t        j                  «       }|j                  g d¢g d¢|j                  ¬«       t	        |j
                  j                  «       t        j                  ddgddgg«      «       y )Nr„  r‡  rÎ   r  rƒ   r…  rˆ  )	rÐ   rÑ   rÒ   rÔ   r   r  r  r   r    rŠ  s     r%   Útest_line_extent_data_coordsz7TestTransformPlotInterface.test_line_extent_data_coordsÔ  sT   € ä�X‰X‹ZˆØ
�‰’¢¸B¿L¹LˆÔIÜ˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8 c¨C [°3¸°+Ð$>Ó?õ	Ar'   c                 ód  — t        j                  «       }t        j                  |j                  |j
                  «      }|j                  g d¢g d¢|¬«       t        |j                  j                  «       t        j                  t        j                  dgt        j                   dgg«      «       y )Nr„  ©r�   éûÿÿÿé   rÎ   g      Àg     €A@)rÐ   rÑ   rš   Úblended_transform_factoryrÖ   rÔ   rÒ   r   r  r  r   r    r‰  ©r$   rÙ   r7   s      r%   Ú!test_line_extent_compound_coords1z<TestTransformPlotInterface.test_line_extent_compound_coords1Û  s~   € ô �X‰X‹ZˆÜ×5Ñ5°b·l±lØ68·l±lóDˆà
�‰’¢¸ˆÔ?Ü˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8¤b§f¡f¨c ]Ü')§v¡v g¨s ^ð%5ó 6õ	7r'   c                 ó6  — t        j                  «       }t        j                  «       j	                  d«      |j
                  z   }|j                  g d¢g d¢|¬«       t        |j                  j                  «       t        j                  ddgddgg«      «       y )	Nr·   r„  r�  rÎ   r   ç      IÀrw  ç     àu@)rÐ   rÑ   rš   r   r   rÔ   rÒ   r   r  r  r   r    r“  s      r%   Ú)test_line_extent_predata_transform_coordszDTestTransformPlotInterface.test_line_extent_predata_transform_coordsæ  sr   € ä�X‰X‹ZˆÜ×$Ñ$Ó&×,Ñ,¨RÓ0°2·<±<Ñ?ˆØ
�‰’¢¸ˆÔ?Ü˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8 b¨$ Z°#°t°Ð$=Ó>õ	@r'   c                 ó¬  — t        j                  «       }t        j                  |j                  t        j
                  «       j                  d«      |j                  z   «      }|j                  g d¢g d¢|¬«       t        |j                  j                  «       t        j                  t        j                  dgt        j                   dgg«      «       y )Nr·   r„  r�  rÎ   r–  r—  )rÐ   rÑ   rš   r’  rÖ   r   r   rÔ   rÒ   r   r  r  r   r    r‰  r“  s      r%   Ú!test_line_extent_compound_coords2z<TestTransformPlotInterface.test_line_extent_compound_coords2î  s“   € ô �X‰X‹ZˆÜ×5Ñ5Ø�L‰Lœ+×.Ñ.Ó0×6Ñ6°rÓ:¸R¿\¹\ÑIóKˆà
�‰’¢¸ˆÔ?Ü˜2Ÿ:™:×0Ñ0Ó2ÜŸ8™8¤b§f¡f¨d ^´r·v±v°g¸t°_Ð$EÓFõ	Hr'   c                 óf  — t        j                  «       }t        j                  «       j	                  dd«      }t        j
                  t        j                  d«      ||j                  z   ¬«       t        j                  ddgddgg«      dz   }t        |j                  j                  «       |«       y )Nr·   rÎ   r   ç      "@©rÐ   rÑ   rš   r   rt   rÒ   r   rÓ   rÔ   r    r   r  r  ©r$   rÙ   ÚoffsetÚexpected_data_lims       r%   Útest_line_extents_affinez3TestTransformPlotInterface.test_line_extents_affineø  s€   € Ü�X‰X‹ZˆÜ×%Ñ%Ó'×1Ñ1°"°bÓ9ˆÜ�‰”—‘˜2“¨&°2·<±<Ñ*?Õ@ÜŸH™H r¨2 h°°b°	Ð%:Ó;¸bÑ@ÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr'   c                 óÆ  — t        j                  «       }t        j                  «       j	                  dd«      }t        t        j                  «       j	                  dd«      «      }t        j                  t        j                  d«      ||z   |j                  z   ¬«       t        j                  ddgddgg«      dz   }t        |j                  j                  «       |«       y )Nr·   rÎ   r   rœ  r}   )rÐ   rÑ   rš   r   rt   rH  rÒ   r   rÓ   rÔ   r    r   r  r  )r$   rÙ   rŸ  Ú	na_offsetr   s        r%   Útest_line_extents_non_affinez7TestTransformPlotInterface.test_line_extents_non_affineÿ  s¥   € Ü�X‰X‹ZˆÜ×%Ñ%Ó'×1Ñ1°"°bÓ9ˆÜ$¤[×%9Ñ%9Ó%;×%EÑ%EÀbÈ"Ó%MÓNˆ	Ü�‰”—‘˜2“¨&°9Ñ*<¸r¿|¹|Ñ*KÕLÜŸH™H r¨2 h°°b°	Ð%:Ó;¸bÑ@ÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr'   c                 óð  — t        j                  «       }t        j                  «       j	                  dd«      }t        t        j                  «       j	                  dd«      «      }t        ddgddgddgddgg«      }t        j                  |||z   |j                  z   ¬«      }|j                  |«       t        j                  ddgddgg«      dz   }t        |j                  j                  «       |«       y )Nr·   r   rÎ   r   ç      $@r}   )rÐ   rÑ   rš   r   rt   rH  r   ÚmpatchesÚ	PathPatchrÔ   Ú	add_patchr   r    r   r  r  )r$   rÙ   rŸ  r£  ÚpthÚpatchr   s          r%   Útest_pathc_extents_non_affinez8TestTransformPlotInterface.test_pathc_extents_non_affine  sÔ   € Ü�X‰X‹ZˆÜ×%Ñ%Ó'×1Ñ1°"°bÓ9ˆÜ$¤[×%9Ñ%9Ó%;×%EÑ%EÀbÈ"Ó%MÓNˆ	Ü�Q˜�F˜Q ˜G b¨" X°°A¨wÐ7Ó8ˆÜ×"Ñ" 3Ø-3°iÑ-?À"Ç,Á,Ñ-NôPˆà
�‰�UÔÜŸH™H r¨2 h°°s°Ð%<Ó=ÀÑBÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr'   c                 ó�  — t        j                  «       }t        j                  «       j	                  dd«      }t        ddgddgddgddgg«      }t        j                  |||j                  z   ¬«      }|j                  |«       t        j                  ddgddgg«      dz   }t        |j                  j                  «       |«       y )Nr·   r   rÎ   r   r¦  )rÐ   rÑ   rš   r   rt   r   r§  r¨  rÔ   r©  r   r    r   r  r  )r$   rÙ   rŸ  rª  r«  r   s         r%   Útest_pathc_extents_affinez4TestTransformPlotInterface.test_pathc_extents_affine  s«   € Ü�X‰X‹ZˆÜ×%Ñ%Ó'×1Ñ1°"°bÓ9ˆÜ�Q˜�F˜Q ˜G b¨" X°°A¨wÐ7Ó8ˆÜ×"Ñ" 3°&¸2¿<¹<Ñ2GÔHˆØ
�‰�UÔÜŸH™H r¨2 h°°s°Ð%<Ó=ÀÑBÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr'   c                 ón  — t        j                  d¬«      }t        j                  «       j	                  dd«      }t        j
                  t        j                  d«      ||j                  z   ¬«       t        j                  ddgddgg«      ddgz   }t        |j                  j                  «       |«       y )Nr  r  r   r·   rÎ   r   rœ  r�  rž  s       r%   Ú*test_line_extents_for_non_affine_transDatazETestTransformPlotInterface.test_line_extents_for_non_affine_transData  s‰   € Ü�X‰X Ô)ˆä×%Ñ%Ó'×1Ñ1°!°RÓ8ˆä�‰”—‘˜2“¨&°2·<±<Ñ*?Õ@ô ŸH™H r¨2 h°°b°	Ð%:Ó;¸qÀ"¸gÑEÐÜ! "§*¡*×"7Ñ"7Ó"9Ð;LÕMr'   N)r¯   r°   r±   r‹  r�  r”  r˜  rš  r¡  r¤  r¬  r®  r°  r²   r'   r%   r‚  r‚  Ë  s<   „ ò;òAò	7ò@òHòNòNò	NòNó
Nr'   r‚  c                 óD   — t        | j                  |j                  «       y rß   )r   Úbounds)Úbbox1Úbbox2s     r%   Úassert_bbox_eqrµ  (  s   € Ü�u—|‘| U§\¡\Õ2r'   c                  ó¬   — t         j                  j                  ddddd¬«      } | j                  «       }t	        |j
                  | j
                  «       y )Nr   r   )Úminpos)rš   r	   Úfrom_extentsÚfrozenr   r·  )Úbboxr¹  s     r%   Útest_bbox_frozen_copies_minposr»  ,  s@   € Ü×Ñ×(Ñ(¨¨c°3¸ÀCÐ(ÓH€DØ�[‰[‹]€FÜ�v—}‘} d§k¡kÕ2r'   c            	      ó¬  — t         j                  j                  } t         j                  j                  } | dddd«      } | dddd«      } | dddd«      } | dddd«      } | dddd«      }t	         |||«      |«       t	         |||«       | dddd«      «       t	         |||«      |«        |||«      �J ‚t	         |||«       | dddd«      «       y )Nr   r   rƒ   rd   rz   g      @r   )rš   r	   r¸  Úintersectionrµ  )Úbbox_from_extÚinterrp  rq  Úr3Úr4Úr5s          r%   Útest_bbox_intersectionrÃ  2  sÞ   € Ü×$Ñ$×1Ñ1€MÜ×Ñ×)Ñ)€Eá	�q˜!˜Q Ó	"€BÙ	�s˜C  cÓ	*€BÙ	�s˜A˜t TÓ	*€BÙ	�s˜C  CÓ	(€BÙ	�q˜!˜Q Ó	"€Bô ‘5˜˜R“= "Ô%ä‘5˜˜R“=¡-°°S¸!¸QÓ"?Ô@ä‘5˜˜R“= "Ô%á��R‹=Ð Ð Ð ä‘5˜˜R“=¡-°°1°a¸Ó";Õ<r'   c            	      óÔ  — t        j                  ddgddgg«      } t        | t        t	        | «      dt         j                  i«      «       t        t        | «      dt        i«      }|j                  «       D ]  \  }}t        | |«      |k(  rŒJ ‚ d}t        t        | |«      dt        i«      }|j                  «       D ])  \  }}t        t        t        | |«      |«      «      |k(  rŒ)J ‚ y )Nrƒ   r   rz   r	   z.1f)
rš   r	   rµ  ÚevalÚreprÚstrÚdictÚitemsÚgetattrÚformat)r§   ÚasdictÚkr  Úfmts        r%   Útest_bbox_as_stringsrÏ  H  sÔ   € Ü×Ñ˜2˜q˜' C¨ :Ð.Ó/€AÜ�1”dœ4 ›7 V¬[×-=Ñ-=Ð$>Ó?Ô@Ü”#�a“&˜6¤4˜.Ó)€FØ—‘“ò "‰ˆˆ1Ü�q˜!‹} Ó!Ð!Ð!ð"à
€CÜ”&˜˜C“. 6¬4 .Ó1€FØ—‘“ò 5‰ˆˆ1Ü”Fœ7 1 a›=¨#Ó.Ó/°1Ó4Ð4Ð4ñ5r'   c                  ó`   — t        t        j                  d¬«      j                  «      dk(  sJ ‚y )Nr  r  a×  CompositeGenericTransform(
    CompositeGenericTransform(
        CompositeGenericTransform(
            TransformWrapper(
                BlendedAffine2D(
                    IdentityTransform(),
                    IdentityTransform())),
            CompositeAffine2D(
                Affine2D().scale(1.0),
                Affine2D().scale(1.0))),
        PolarTransform(
            PolarAxes(0.125,0.1;0.775x0.8),
            use_rmin=True,
            apply_theta_transforms=False)),
    CompositeGenericTransform(
        CompositeGenericTransform(
            PolarAffine(
                TransformWrapper(
                    BlendedAffine2D(
                        IdentityTransform(),
                        IdentityTransform())),
                LockableBbox(
                    Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                    [[-- --]
                     [-- --]])),
            BboxTransformFrom(
                _WedgeBbox(
                    (0.5, 0.5),
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                        CompositeAffine2D(
                            Affine2D().scale(1.0),
                            Affine2D().scale(1.0))),
                    LockableBbox(
                        Bbox(x0=0.0, y0=0.0, x1=6.283185307179586, y1=1.0),
                        [[-- --]
                         [-- --]])))),
        BboxTransformTo(
            TransformedBbox(
                Bbox(x0=0.125, y0=0.09999999999999998, x1=0.9, y1=0.9),
                BboxTransformTo(
                    TransformedBbox(
                        Bbox(x0=0.0, y0=0.0, x1=8.0, y1=6.0),
                        Affine2D().scale(80.0))))))))rÇ  rÐ   ÚsubplotrÔ   r²   r'   r%   Útest_str_transformrÒ  T  s/   € ô Œs�{‰{ gÔ.×8Ñ8Ó9ð ,>8ò ,8ð ,8ñ ,8r'   c                  óp   — t        j                  «       } | j                  d«      }|j                  dk(  sJ ‚y )N©r   r   )r   )rš   r   rz  r"  )rŸ   re  s     r%   Útest_transform_single_pointrÕ  †  s0   € Ü×ÑÓ€AØ	×Ñ˜6Ó"€AØ�7‰7�dŠ?Ð‰?r'   c                  óŠ   — t        j                  «       \  } }|j                  d«       |j                  j	                  d«       y )Nr  rÔ  )rÐ   ÚsubplotsÚ
set_yscalerÔ   rJ   )r)  rÙ   s     r%   Útest_log_transformrÙ  Œ  s1   € ô �l‰l‹n�G€CˆØ‡M�M�%ÔØ‡L�L×Ñ˜6Õ"r'   c                  ó²   — t        j                  ddgddgg«      } t        j                  ddgdt        j                  gg«      }| j	                  |«      rJ ‚y )Nr   r   )rš   r	   r   rx  Úoverlaps)r=   r§   s     r%   Útest_nan_overlaprÜ  ”  sS   € Ü×Ñ˜1˜a˜& 1 a &Ð)Ó*€AÜ×Ñ˜1˜a˜& 1¤b§f¡f +Ð.Ó/€AØ�z‰z˜!Œ}ÐÐˆ}r'   c                  óö  — t        j                  «       } t        j                  g d¢«      }t        j                  ddgddgddgg«      }| j	                  ||«      }t        ||«       t        j                  t        «      5  | j	                  ||dd…dd…f   «       d d d «       t        j                  t        «      5  | j	                  ||dd…d d …f   «       d d d «       y # 1 sw Y   ŒGxY w# 1 sw Y   y xY w)N)r}   rr   r,  r   r   r   )	rš   r   r   r    Útransform_anglesr   r›   rœ   r�   )rŸ   Úanglesr.  Ú
new_angless       r%   Útest_transform_anglesrá  š  så   € Ü×ÑÓ€AÜ�X‰X’lÓ#€FÜ�X‰X˜˜1�v  1˜v¨¨1 vÐ.Ó/€Fð ×#Ñ# F¨FÓ3€JÜ˜f jÔ1ô 
�‰”zÓ	"ñ 5Ø	×Ñ˜6 6¨!¨A¨#¨q°¨s¨(Ñ#3Ô4÷5ô 
�‰”zÓ	"ñ 3Ø	×Ñ˜6 6¨!¨A¨#ªq¨&¡>Ô2÷3ð 3÷	5ð 5ú÷3ð 3ús   ÂC#Â>C/Ã#C,Ã/C8c                  óÌ   — t        j                  ddg«      } dt         j                  fddg}|D ]3  }t        j                  t        j                  |Ž «      }t        || «       Œ5 y )Ngü©ñÒMbP¿gü©ñÒMbP?r   r3   )r   güó     )r   r    rx  rš   Únonsingularr   )Úzero_expansionÚcasesr¼   Úouts       r%   Útest_nonsingularrç  ¬  sZ   € ä—X‘X˜v u˜oÓ.€NØ”—‘ˆ[˜& -Ð0€EØò 0ˆÜ�h‰h”{×.Ñ.°Ð5Ó6ˆÜ˜3 Õ/ñ0r'   c                  ó  — g d¢} t        | d¬«      }t        j                  «       }t        j                  ||«      }t	        |j                  «       j                  | «       dt        j                  d«      z  }|j                  t        j                  dz  «       t	        |j                  «       j                  d||fdd|z  f| |fgd	¬
«       dgdz  |_        t	        |j                  «       j                  d||fdd|z  f| |fgd	¬
«       y )N)r3   ©r   r   rÔ  ©r   r   T)Úclosedr   r   r   r3   r   gVçž¯Ò<)Úatol)r   rš   r   ÚTransformedPathr   Úget_fully_transformed_pathÚverticesr   ÚsqrtrG   rH   r.  )r.  rÃ   r7   Ú
trans_pathrq  s        r%   Útest_transformed_pathrò  µ  sö   € Ú-€FÜ�˜tÔ$€Dä× Ñ Ó"€EÜ×,Ñ,¨T°5Ó9€JÜ�J×9Ñ9Ó;×DÑDÀfÔMð 
ŒR�W‰W�Q‹Z‰€BØ	‡L�L”—‘˜‘ÔÜ�J×9Ñ9Ó;×DÑDØ˜b "˜X¨¨1¨r©6 {°b°S¸"°IÐ>Øõ ð
 �(˜Q‘,€D„KÜ�J×9Ñ9Ó;×DÑDØ˜b "˜X¨¨1¨r©6 {°b°S¸"°IÐ>Øö r'   c                  ó˜  — t        j                  «       } t        j                  dddd| ¬«      }t        j                  |«      }|j                  «       j                  }| j                  d«       t        |j                  «       j                  |dz  «       |j                  d«       t        |j                  «       j                  |«       y )Nr3   r   rr   é‡   rÎ   r   rƒ   )
rš   r   r§  ÚWedgeÚTransformedPatchPathrî  rï  r   r   Ú
set_radius)r7   r«  Útpatchr.  s       r%   Útest_transformed_patch_pathrù  Ë  s�   € Ü× Ñ Ó"€EÜ�N‰N˜6 1 b¨#¸Ô?€Eä×-Ñ-¨eÓ4€FØ×.Ñ.Ó0×9Ñ9€Fð 
‡K�K�„NÜ�F×5Ñ5Ó7×@Ñ@À&È1Á*ÔMð 
×Ñ�SÔÜ�F×5Ñ5Ó7×@Ñ@À&ÕIr'   Úlocked_element©Úx0Úy0Úx1Úy1c                 óV  — g d¢}|j                  | «       t        j                  j                  «       }t        j                  |fi | di¤Ž}t        || «      dk(  sJ ‚t        |d| z   «      dk(  sJ ‚|D ]  }t        ||«      t        ||«      k(  rŒJ ‚ |j                  |j                  «       dz   «       t        || «      dk(  sJ ‚t        |d| z   «      dk(  sJ ‚|D ]  }t        ||«      t        ||«      k(  rŒJ ‚ t        |d| z   d «       t        |d| z   «      �J ‚t        j                  |j                  «       |j                  «       k(  «      sJ ‚t        |d| z   d«       t        || «      dk(  sJ ‚t        |d| z   «      dk(  sJ ‚|D ]  }t        ||«      t        ||«      k(  rŒJ ‚ y )Nrû  r   Úlocked_r·   r   )Úremoverš   r	   ÚunitÚLockableBboxrÊ  Ú
set_pointsr  Úsetattrr   r¥   )rú  Úother_elementsÚorigÚlockedÚelems        r%   Útest_lockable_bboxr  Ü  sÒ  € â-€NØ×Ñ˜.Ô)ä×Ñ× Ñ Ó"€DÜ×%Ñ% dÑB¨~¸qÐ.AÑB€Fô �6˜>Ó*¨aÒ/Ð/Ð/Ü�6˜9 ~Ñ5Ó6¸!Ò;Ð;Ð;Øò <ˆÜ�v˜tÓ$¬°°dÓ(;Ó;Ð;Ð;ð<ð 	‡O�O�D—O‘OÓ%¨Ñ*Ô+Ü�6˜>Ó*¨aÒ/Ð/Ð/Ü�6˜9 ~Ñ5Ó6¸!Ò;Ð;Ð;Øò <ˆÜ�v˜tÓ$¬°°dÓ(;Ó;Ð;Ð;ð<ô ˆF�I Ñ.°Ô5Ü�6˜9 ~Ñ5Ó6Ð>Ð>Ð>Ü�6‰6�$—/‘/Ó# v×'8Ñ'8Ó':Ñ:Ô;Ð;Ð;ô ˆF�I Ñ.°Ô2Ü�6˜>Ó*¨aÒ/Ð/Ð/Ü�6˜9 ~Ñ5Ó6¸!Ò;Ð;Ð;Øò <ˆÜ�v˜tÓ$¬°°dÓ(;Ó;Ð;Ð;ñ<r'   c                  óú   — t        j                  t        j                  «       «      } t        j                  t
        d¬«      5  | j                  t        j                  d«      «       d d d «       y # 1 sw Y   y xY w)Nz`The input and output dims of the new child \(1, 1\) do not match those of current child \(2, 2\)©Úmatchr·   )	rš   ÚTransformWrapperr   r›   rœ   r�   Úsetr   r=  )rŸ   s    r%   Útest_transformwrapperr  þ  s\   € Ü×$Ñ$¤[×%9Ñ%9Ó%;Ó<€AÜ	�‰”zð<ô
>ñ &ð 	
�‰Œe× Ñ  Ó$Ô%÷&÷ &ñ &ús   Á%A1Á1A:Úpng)Ú
extensionsc           	      ó$  — t         j                  j                  d«       t         j                  j                  d¬«      }t        j                  ddd«      }t        | |gddg«      D ]§  \  }}|j                  «       }|j                  ||d¬«       |j                  |t        j                  |d	z   d	z  «      t        j                  d	t         j                  z  «      z  «       |j                  j                  «        |j                  d
«       Œ© y )Nr)   r·   )Úsizer�  r   TF)r  Údensityr   Úlinear)r   r*   r+   Únormalrö   r@  r×  ÚhistrÒ   Úexprð  rH   r&  rÕ   rØ  )Úfig_testÚfig_refÚsamplesr   r)  Ú	log_staterÙ   s          r%   Útest_scale_swappingr    sÌ   € ä‡I�I‡N�N�8ÔÜ�i‰i×Ñ BÐÓ'€GÜ
�‰�B˜˜2Ó€Aä˜x¨Ð1°D¸%°=ÓAò  ‰ˆˆYØ�\‰\‹^ˆØ
�‰�˜Y°ˆÔ5Ø
�‰�”2—6‘6˜A˜q™D˜' A™+Ó&¬¯©°´R·U±U±Ó);Ñ;Ô<Ø�
‰
�‰ÔØ
�‰�hÕñ r'   c                  ó   — t        j                  t        d¬«      5  t        j                  d d¬«       d d d «       t        j                  t        d¬«      5  t        j                  d d¬«       d d d «       y # 1 sw Y   ŒExY w# 1 sw Y   y xY w)NzZ'fontsize' is not a valid value for units; supported values are 'dots', 'points', 'inches'r  Úfontsize)Úunitsz3For units of inches or points a fig kwarg is neededÚinches)r›   rœ   r�   rš   Úoffset_copyr²   r'   r%   Útest_offset_copy_errorsr%    s|   € Ü	�‰”zðPô
Qñ 8ô 	×Ñ ¨JÕ7÷8ô
 
�‰”zØRô
Tñ 6ä×Ñ ¨HÕ5÷6ð 6÷8ð 8ú÷
6ð 6ús   œA8ÁBÁ8BÂBc                  óÊ  — t        t        j                  «       t        «       j	                  d«      «      } | j                  dd«      sJ ‚| j                  dd«      sJ ‚| j                  dd«      rJ ‚t        t        j                  «       t        «       j                  dd«      «      } | j                  dd	«      sJ ‚| j                  dd	«      rJ ‚| j                  d
d
«      rJ ‚y )Né   r†  rƒ   gš™™™™™Ù¿g333333ë?rˆ  g      Ð?re   rd   r  )r
   r	   r  r   rI   Úcontainsrt   Úfully_contains)Úbbs    r%   Útest_transformedbbox_containsr+    sÁ   € Ü	œŸ™›¤h£j×&;Ñ&;¸BÓ&?Ó	@€BØ�;‰;�r˜2ÔÐÐØ�;‰;�s˜CÔ Ð Ð Ø�{‰{˜2˜rÔ"Ð"Ð"Ü	œŸ™›¤h£j×&:Ñ&:¸3ÀÓ&CÓ	D€BØ�;‰;�t˜SÔ!Ð!Ð!Ø× Ñ   sÔ+Ð+Ð+Ø× Ñ   RÔ(Ð(Ð(Ð(r'   c                  ó$  — t        j                  dd«      sJ ‚t        j                  dd«      sJ ‚t        j                  dd«      sJ ‚t        j                  dd«      rJ ‚t        j                  dd«      rJ ‚t        j                  dd«      sJ ‚y ©Nrê  rƒ   r   r   rA   r   ré  )rš   Úinterval_containsr²   r'   r%   Útest_interval_containsr/  *  s†   € Ü×(Ñ(¨°Ô5Ð5Ð5Ü×(Ñ(¨°Ô3Ð3Ð3Ü×(Ñ(¨°Ô3Ð3Ð3Ü×,Ñ,¨V°RÔ8Ð8Ð8Ü×,Ñ,¨V°QÔ7Ð7Ð7Ü×(Ñ(¨°Ô5Ð5Ñ5r'   c                  ó$  — t        j                  dd«      sJ ‚t        j                  dd«      rJ ‚t        j                  dd«      rJ ‚t        j                  dd«      rJ ‚t        j                  dd«      rJ ‚t        j                  dd«      sJ ‚y r-  )rš   Úinterval_contains_openr²   r'   r%   Útest_interval_contains_openr2  3  s†   € Ü×-Ñ-¨f°cÔ:Ð:Ð:Ü×1Ñ1°&¸!Ô<Ð<Ð<Ü×1Ñ1°&¸!Ô<Ð<Ð<Ü×1Ñ1°&¸"Ô=Ð=Ð=Ü×1Ñ1°&¸!Ô<Ð<Ð<Ü×-Ñ-¨f°cÔ:Ð:Ñ:r'   )@r£   Únumpyr   Únumpy.testingr   r   r   r   r›   Ú
matplotlibr   Úmatplotlib.pyplotÚpyplotrÐ   Úmatplotlib.patchesÚpatchesr§  Úmatplotlib.transformsÚ
transformsrš   r   r	   r
   Úmatplotlib.pathr   Úmatplotlib.testing.decoratorsr   r   r   rÚ   rë   r  r  r  r  r*  r0  r4  rF  rÏ   rH  rN  r‚  rµ  r»  rÃ  rÏ  rÒ  rÕ  rÙ  rÜ  rá  rç  rò  rù  ÚmarkÚparametrizer  r  r  r%  r+  r/  r2  r²   r'   r%   ú<module>r@     sb  ðÛ ã ÷Jó Jã å Ý Ý %Ý +ß AÑ AÝ  ß O÷D;ñ D;òN
#òLCñ$ Ð'Ð(°dÀ'Øôñ Ióð IòF;ò	;ò	;òò&"*òJKò-ô4�{×,Ñ,ô 4÷,I4ñ I4÷XZNñ ZNòz3ò3ò=ò,	5ò/8òdò#òò3ò$0ò ò,Jð" ‡�×ÑÐ)Ò+CÓDñ<ó Eð<òB&ñ   Ô(ñ
 ó )ð
 ò6ò)ò6ó;r'   