Ë
    ¤ehqb  ã                   ó  — d Z ddlZddlZddlZddlmc mZ ddl	m
Z
mZmZmZmZmZmZmZmZ ddlmZ ddlmZmZmZmZmZ  ej8                  d«      Z ej8                  d«      Z ej8                  d«      Zej@                  de
fd	„«       Z! ejD                  d«      d
„ «       Z#d„ Z$ejJ                  jM                  dejN                  jP                  «      ejJ                  jM                  d e
 ejR                  d«      jU                  dd«      «       e e+d«      «      g«      ejJ                  jM                  d e e+d«      «       edd¬«       edd¬«      g«      d„ «       «       «       Z, G d„ d«      Z- G d„ d«      Z.y)z$ Test cases for misc plot functions é    N)	Ú	DataFrameÚIndexÚSeriesÚ	TimestampÚ
date_rangeÚinterval_rangeÚperiod_rangeÚplottingÚread_csv)Ú_check_colorsÚ_check_legend_labelsÚ_check_plot_worksÚ_check_text_labelsÚ_check_ticks_propsÚ
matplotlibzmatplotlib.pyplotzmatplotlib.cmÚreturnc                 ó*   — t         | dddd«      «      S )z*
    The iris dataset as a DataFrame.
    ÚioÚdataÚcsvziris.csv)r   )Údatapaths    ú]/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/plotting/test_misc.pyÚirisr   "   s   € ô
 ‘H˜T 6¨5°*Ó=Ó>Ð>ó    c                  ó¢   — t        dddgi«      } t        j                  t        d¬«      5  | j	                  «        d d d «       y # 1 sw Y   y xY w)NÚAé   é   z#matplotlib is required for plotting©Úmatch)r   ÚpytestÚraisesÚImportErrorÚplot)Údfs    r   Útest_import_error_messager&   *   sC   € ô 
�C˜!˜Q˜�=Ó	!€Bä	�‰”{Ð*OÔ	Pñ Ø
�‰Œ	÷÷ ñ ús   «AÁAc            	      óX  — t         j                  j                  j                  } d}t	        j
                  t        |¬«      5   | dg g i ¬«       d d d «       d}t	        j
                  t        |¬«      5   | dt        t        ¬«      dd gi ¬«       d d d «        | dt        «       dgd	d
ddœ¬«      \  }}}}|dk(  sJ ‚|d	k(  sJ ‚|d
k(  sJ ‚|ddik(  sJ ‚ | dt        t        ¬«      g i ¬«      \  }}}}|�J ‚|�J ‚|dk(  sJ ‚t        |«      dk(  sJ ‚y # 1 sw Y   ŒÆxY w# 1 sw Y   Œ�xY w)Nz@Called plot accessor for type list, expected Series or DataFramer   Ú )Úbackend_namer   ÚargsÚkwargsz.should not be called with positional arguments©ÚdtypeÚlineÚxÚyÚbarF)r0   ÚkindÚgridr3   zpandas.plotting._matplotlibé   )r
   Ú_coreÚPlotAccessorÚ_get_call_argsr!   r"   Ú	TypeErrorr   Úobjectr   Úlen)ÚfuncÚmsgr/   r0   r2   r+   s         r   Útest_get_accessor_argsr=   3   sM  € Ü�>‰>×&Ñ&×5Ñ5€Dà
L€CÜ	�‰”y¨Ô	,ñ ;Ù˜" 2¨B°rÕ:÷;ð ;€CÜ	�‰”y¨Ô	,ñ YÙ˜"¤6´Ô#7¸vÀt¸nÐUWÕX÷Yñ ØÜ‹[ØˆUØ %°Ñ7ô	Ñ€A€qˆ$�ð �Š8€Oˆ8Ø�Š8€Oˆ8Ø�5Š=Ðˆ=Ø�f˜e�_Ò$Ð$Ð$áØ2Üœ&Ô!ØØô	Ñ€A€qˆ$�ð ˆ9Ðˆ9Øˆ9Ðˆ9Ø�6Š>Ðˆ>Üˆv‹;˜"ÒÐÑ÷7;ð ;ú÷Yð Yús   ÁDÁ4D ÄDÄ D)r2   r   é   é   é   Úindexú
2020-01-01©Úperiodsc                 ó  — t         j                  «       \  }}||_        i }| dv r-t        |t        «      rt        j                  | › d�«       dddœ} |j                  d| |dœ|¤Ž |j                  t        j                  «       y )N)ÚhexbinÚscatterÚpiez not supported with Seriesr   r   )r/   r0   )r2   Úax© )ÚpltÚsubplotsrA   Ú
isinstancer   r!   Úskipr$   ÚsavefigÚosÚdevnull)r2   r   rA   ÚfigrI   r+   s         r   Útest_savefigrS   U   sx   € ô �l‰l‹n�G€CˆØ€D„JØ€FØÐ+Ñ+Ü�dœFÔ#Ü�K‰K˜4˜&Ð :Ð;Ô<Ø˜qÑ!ˆØ€D‡I�IÐ)�4˜BÑ) &Ò)Ø‡K�K”—
‘
Õr   c                   ód   — e Zd Zd„ Zej
                  j                  di ddig«      d„ «       Zd„ Zy)ÚTestSeriesPlotsc                 óT  — ddl m} t        t        j                  dt        j
                  ¬«      t        dd¬«      d¬«      }t        j                  d «      5  t        ||¬	«       t        ||j                  ¬	«        ||d
¬«      }d d d «       t        d
g¬«       y # 1 sw Y   ŒxY w)Nr   )Úautocorrelation_ploté
   r,   rB   rC   Úts©rA   Úname)ÚseriesÚTest)Úlabel)Úlabels)Úpandas.plottingrW   r   ÚnpÚarangeÚfloat64r   ÚtmÚassert_produces_warningr   Úvaluesr   )ÚselfrW   ÚserrI   s       r   Útest_autocorrelation_plotz)TestSeriesPlots.test_autocorrelation_plotn   s‡   € Ý8äÜ�I‰I�b¤§
¡
Ô+Ü˜\°2Ô6Øô
ˆô ×'Ñ'¨Ó-ñ 	9ÜÐ2¸3Õ?ÜÐ2¸3¿:¹:ÕFá% c°Ô8ˆB÷		9ô
 	˜R¨¨Ö1÷	9ð 	9ús   Á/BÂB'r+   Úlagr?   c                 ó¤   — ddl m} t        t        j                  dt        j
                  ¬«      t        dd¬«      d¬«      }t        |fd	|i|¤Ž y )
Nr   )Úlag_plotrX   r,   rB   rC   rY   rZ   r\   )r`   rl   r   ra   rb   rc   r   r   )rg   r+   rl   rh   s       r   Útest_lag_plotzTestSeriesPlots.test_lag_plot~   sB   € å,äÜ�I‰I�b¤§
¡
Ô+Ü˜\°2Ô6Øô
ˆô
 	˜(Ñ9¨3Ð9°&Ó9r   c                 ó¤   — ddl m} t        t        j                  dt        j
                  ¬«      t        dd¬«      d¬«      }t        ||d¬	«       y )
Nr   )Úbootstrap_plotrX   r,   rB   rC   rY   rZ   )r\   Úsize)r`   ro   r   ra   rb   rc   r   r   )rg   ro   rh   s      r   Útest_bootstrap_plotz#TestSeriesPlots.test_bootstrap_plot‰   s<   € Ý2äÜ�I‰I�b¤§
¡
Ô+Ü˜\°2Ô6Øô
ˆô
 	˜.°¸2Ö>r   N)	Ú__name__Ú
__module__Ú__qualname__ri   r!   ÚmarkÚparametrizerm   rq   rJ   r   r   rU   rU   m   s:   „ ò2ð  ‡[�[×Ñ˜X¨¨U°A¨JÐ'7Ó8ñ:ó 9ð:ó?r   rU   c                   óÜ  — e Zd Zej                  j                  dddg«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  d„ «       Z	ej                  j                  ej                  j                  ddg d	¢g«      ej                  j                  d
d e
ej                  j                  d«      j                  d«      ej                  j                  d«      j                  d«      ej                  j                  d«      j                  d«      dgdz  dœ«      g«      d„ «       «       «       Zej                  j                  ej                  j                  d
d e
ej                  j                  d«      j                  d«      ej                  j                  d«      j                  d«      ej                  j                  d«      j                  d«      dgdz  dœ«      g«      d„ «       «       Zej                  j                  d„ «       Zej                  j                  ej                  j                  ddg d	¢g«      d„ «       «       Zej                  j                  d„ «       Zej                  j                  d„ «       Zej                  j                  d„ «       Zej                  j-                  d«      d„ «       Zd„ Zej                  j                  ddg d	¢g«      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%ej                  j                  d(d)d*g«      d+„ «       Z&d,„ Z'd-„ Z(d.„ Z)d/„ Z*d0„ Z+d1„ Z,d2„ Z-d3„ Z.y4)5ÚTestDataFramePlotsÚ	pass_axisFTc                 ó  — t        j                  d«       t        j                  }d }|r#t        j
                  j                  dd«      \  }}t        t        j                  j                  d«      j                  d«      «      }t        j                  t        d¬«      5  t        ||d|¬«      }d d d «       d	   d	   j                   j#                  «       }g d
¢}t%        ||«       t'        |dddd	¬«       y # 1 sw Y   ŒJxY w)NÚscipyr@   r   ©éd   r@   F©Úcheck_stacklevelçš™™™™™¹?©ÚframeÚrange_paddingrI   r   )z-2Ú0Ú2é   éZ   ©Ú
xlabelsizeÚxrotÚ
ylabelsizeÚyrot©r!   Úimportorskipr
   Úscatter_matrixÚmplÚpyplotrL   r   ra   ÚrandomÚdefault_rngÚstandard_normalrd   re   ÚUserWarningr   ÚyaxisÚget_majorticklabelsr   r   ©	rg   ry   r�   rI   Ú_r%   ÚaxesÚaxes0_labelsÚexpecteds	            r   Útest_scatter_matrix_axisz+TestDataFramePlots.test_scatter_matrix_axis•   sÛ   € ä×Ñ˜GÔ$Ü!×0Ñ0ˆàˆÙÜ—J‘J×'Ñ'¨¨1Ó-‰EˆAˆrä”r—y‘y×,Ñ,¨QÓ/×?Ñ?ÀÓIÓJˆô ×'Ñ'¬ÀeÔLñ 	Ü$ØØØ!Øô	ˆD÷	ð ˜A‘w˜q‘z×'Ñ'×;Ñ;Ó=ˆâ#ˆÜ˜<¨Ô2Ü˜4¨A°BÀ1È1ÖM÷	ð 	ús   ÂC8Ã8Dc                 ó$  — t        j                  d«       t        j                  }d }|r#t        j
                  j                  dd«      \  }}t        t        j                  j                  d«      j                  d«      «      }|d   dz
  dz  |d<   t        j                  t        d¬«      5  t        ||d	|¬
«      }d d d «       d   d   j                   j#                  «       }g d¢}t%        ||«       t'        |dddd¬«       y # 1 sw Y   ŒJxY w)Nr{   r@   é   r|   r   r   Fr~   r€   r�   )z-1.0z-0.5z0.0r†   r‡   rˆ   r�   r˜   s	            r   Ú test_scatter_matrix_axis_smallerz3TestDataFramePlots.test_scatter_matrix_axis_smaller®   sð   € ä×Ñ˜GÔ$Ü!×0Ñ0ˆàˆÙÜ—J‘J×'Ñ'¨¨1Ó-‰EˆAˆrä”r—y‘y×,Ñ,¨RÓ0×@Ñ@ÀÓJÓKˆØ�A‘˜‘˜a‘ˆˆ1‰ô ×'Ñ'¬ÀeÔLñ 	Ü$ØØØ!Øô	ˆD÷	ð ˜A‘w˜q‘z×'Ñ'×;Ñ;Ó=ˆÚ*ˆÜ˜<¨Ô2Ü˜4¨A°BÀ1È1ÖM÷	ð 	ús   Â-DÄDc                 ó„   — ddl m} |}t        j                  d «      5  t	        ||d¬«       d d d «       y # 1 sw Y   y xY w)Nr   ©Úandrews_curvesÚName©r‚   Úclass_column)r`   r£   rd   re   r   )rg   r   r£   r%   s       r   Útest_andrews_curves_no_warningz1TestDataFramePlots.test_andrews_curves_no_warningÇ   s=   € å2àˆä×'Ñ'¨Ó-ñ 	MÜ˜n°BÀVÕL÷	M÷ 	Mñ 	Múó   ž6¶?Ú
linecolors)z#556270z#4ECDC4z#C7F464)Ú
dodgerblueÚ
aquamarineÚseagreenr%   r   r   rX   r   ©r   ÚBÚCr¤   c                 óº   — ddl m} t        |t        «      r|j	                  |«      }t        ||d|¬«      }t        |j                  «       d d ||d   d d ¬«       y )Nr   r¢   r¤   ©r‚   r¦   ÚcolorrX   ©r©   Úmapping)r`   r£   rM   ÚstrÚgetfixturevaluer   r   Ú	get_lines)rg   Úrequestr%   r©   r£   rI   s         r   Útest_andrews_curves_linecolorsz1TestDataFramePlots.test_andrews_curves_linecolorsÐ   s\   € õ. 	3ä�bœ#ÔØ×(Ñ(¨Ó,ˆBÜØ "°6Àô
ˆô 	Ø�L‰L‹N˜3˜BÐ¨JÀÀ6Á
È3ÈBÀö	
r   c                 óT  — ddl m} t        |t        «      r|j	                  |«      }t        j                  dd|d   j                  «       «      D �cg c]  }t        j                  |«      ‘Œ }}t        ||d|¬«      }t        |j                  «       d d ||d   d d ¬«       y c c}w )Nr   r¢   r   r¤   r±   rX   r³   )r`   r£   rM   rµ   r¶   ra   ÚlinspaceÚnuniqueÚcmÚjetr   r   r·   )rg   r¸   r%   r£   ÚnÚcmapsrI   s          r   Útest_andrews_curves_cmapz+TestDataFramePlots.test_andrews_curves_cmapò   s–   € õ  	3ä�bœ#ÔØ×(Ñ(¨Ó,ˆBÜ$&§K¡K°°1°b¸±j×6HÑ6HÓ6JÓ$KÖL˜q”—‘˜•ÐLˆÐLÜØ "°6Àô
ˆô 	�b—l‘l“n S bÐ)°eÀRÈÁZÐPSÐQSÀ_ÖUùò	 Ms   ÁB%c                 óš   — ddl m} g d¢}t        g d¢g d¢g d¢|dœ«      } ||d|¬«      }|j                  «       \  }}t	        ||¬«       y )	Nr   r¢   ©ÚbÚgÚr©r   r   r@   r­   r¤   ©r²   ©r©   )r`   r£   r   Úget_legend_handles_labelsr   )rg   r£   Úcolorsr%   rI   Úhandlesr™   s          r   Útest_andrews_curves_handlez-TestDataFramePlots.test_andrews_curves_handle  sH   € å2â ˆÜšYªYºYÐPVÑWÓXˆÙ˜B ¨fÔ5ˆØ×1Ñ1Ó3‰
ˆ�Ü�g¨&Ö1r   r²   c                 ó|   — ddl m} |}t        ||d|¬«      }t        |j	                  «       d d ||d   d d ¬«       y )Nr   ©Úparallel_coordinatesr¤   r±   rX   r³   )r`   rÐ   r   r   r·   )rg   r   r²   rÐ   r%   rI   s         r   Ú test_parallel_coordinates_colorsz3TestDataFramePlots.test_parallel_coordinates_colors  sF   € õ 	9àˆäØ ¨¸Àuô
ˆô 	�b—l‘l“n S bÐ)°eÀRÈÁZÐPSÐQSÀ_ÖUr   c                 ó.  — ddl m} ddlm} |}t	        ||d|j
                  ¬«      }t        j                  dd|d   j                  «       «      D �cg c]  }|j                  |«      ‘Œ }}t        |j                  «       d d ||d   d d ¬«       y c c}w )	Nr   ©r½   rÏ   r¤   ©r‚   r¦   Úcolormapr   rX   r³   )r   r½   r`   rÐ   r   r¾   ra   r»   r¼   r   r·   )rg   r   r½   rÐ   r%   rI   r¿   rÀ   s           r   Útest_parallel_coordinates_cmapz1TestDataFramePlots.test_parallel_coordinates_cmap%  s†   € å!å8àˆäØ ¨¸È"Ï&É&ô
ˆô %'§K¡K°°1°b¸±j×6HÑ6HÓ6JÓ$KÖL˜q�—‘˜•ÐLˆÐLÜ�b—l‘l“n S bÐ)°eÀRÈÁZÐPSÐQSÀ_ÖUùò Ms   ÁBc                 ó  — ddl m} |}t        ||d¬«      }t        |j	                  «       «      }t        |j
                  j                  «       «      }t        ||dd¬«      }t        |j	                  «       «      ||z
  k(  sJ ‚y )Nr   rÏ   r¤   r¥   F)r‚   r¦   Úaxvlines)r`   rÐ   r   r:   r·   ÚxaxisÚget_ticklabels)rg   r   rÐ   r%   rI   ÚnlinesÚnxtickss          r   Ú#test_parallel_coordinates_line_diffz6TestDataFramePlots.test_parallel_coordinates_line_diff3  ss   € å8àˆäÐ3¸2ÈFÔSˆÜ�R—\‘\“^Ó$ˆÜ�b—h‘h×-Ñ-Ó/Ó0ˆäØ ¨¸È%ô
ˆô �2—<‘<“>Ó" v°Ñ'7Ò8Ð8Ñ8r   c                 óž   — ddl m} |}g d¢}t        g d¢g d¢g d¢|dœ«      } ||d|¬«      }|j                  «       \  }}t	        ||¬«       y )	Nr   rÏ   rÃ   rÇ   r­   r¤   rÈ   rÉ   )r`   rÐ   r   rÊ   r   )rg   r   rÐ   r%   rË   rI   rÌ   r™   s           r   Ú!test_parallel_coordinates_handlesz4TestDataFramePlots.test_parallel_coordinates_handlesB  sM   € å8àˆÚ ˆÜšYªYºYÐPVÑWÓXˆÙ! " f°FÔ;ˆØ×1Ñ1Ó3‰
ˆ�Ü�g¨&Ö1r   z$ignore:Attempting to set:UserWarningc                 óB  — ddl m} t        t        t	        d«      «      t	        d«      D �cg c]  }d‘Œ c}t	        d«      D �cg c]  }d‘Œ c}z   t	        d«      D �cg c]  }d‘Œ c}z   dœ«      } ||d	d
¬«      }|j                  «       \  }}t        |D �cg c]  }|j                  «       ‘Œ c}|«      }t        |d„ ¬«      }	t        t        |	dd «      t        |	dd «      «      }
|
D ]  \  }}|d   |d   k  r|d   |d   k  rŒJ ‚ yc c}w c c}w c c}w c c}w )z
For #15908r   rÏ   é   rX   r   r@   r   )ÚfeatÚclassrã   T)Úsort_labelsc                 ó   — | d   S )Nr   rJ   )r/   s    r   ú<lambda>zQTestDataFramePlots.test_parallel_coordinates_with_sorted_labels.<locals>.<lambda>`  s   € ÈaÐPQÉd€ r   )ÚkeyéÿÿÿÿN)	r`   rÐ   r   ÚlistÚrangerÊ   ÚzipÚ	get_colorÚsorted)rg   rÐ   r™   r%   rI   Ú	polylinesr_   ÚpolylineÚcolor_label_tuplesÚordered_color_label_tuplesÚprev_next_tupelsÚprevÚnxts                r   Ú,test_parallel_coordinates_with_sorted_labelsz?TestDataFramePlots.test_parallel_coordinates_with_sorted_labelsN  s.  € õ 	9ääœU 2›Y›Ü%*¨2£YÖ/ š!Ò/Ü# B›iÖ(˜’1Ò(ñ)ä# B›iÖ(˜’1Ò(ñ)ñó
ˆñ " " g¸4Ô@ˆØ×8Ñ8Ó:Ñˆ	�6Ü Ø2;Ö< hˆX×ÑÕ!Ò<¸fó
Ðô &,Ð,>ÁNÔ%SÐ"ÜÜÐ+¨A¨bÐ1Ó2´DÐ9SÐTUÐTVÐ9WÓ4Xó
Ðð *ò 	9‰IˆD�#à˜‘7˜S ™VÒ#¨¨Q©°#°a±&Ó(8Ð8Ð8ñ	9ùò 0ùÚ(ùÚ(ùò =s   ¬	D
Á	DÁ	DÂDc                 ó„   — ddl m} |}t        j                  d «      5  t	        ||d¬«       d d d «       y # 1 sw Y   y xY w)Nr   ©Úradvizr¤   r¥   )r`   rø   rd   re   r   )rg   r   rø   r%   s       r   Útest_radviz_no_warningz)TestDataFramePlots.test_radviz_no_warningh  s=   € Ý*àˆä×'Ñ'¨Ó-ñ 	EÜ˜f¨B¸VÕD÷	E÷ 	Eñ 	Eúr¨   c                 óÊ   — ddl m} |}t        ||d|¬«      }|j                  d d D �cg c]  }|j	                  «       dk7  sŒ|‘Œ }}t        |d d ||d   d d ¬«       y c c}w )	Nr   r÷   r¤   r±   é   r(   rX   ©Ú
facecolorsr´   )r`   rø   r   ÚpatchesÚ	get_labelr   )rg   r   r²   rø   r%   rI   Úprþ   s           r   Útest_radviz_colorz$TestDataFramePlots.test_radviz_colorp  sh   € õ
 	+àˆÜ˜v¨R¸fÈEÔRˆà Ÿj™j¨¨"˜oÖE˜°·±³À"Ó1D’1ÐEˆÐEÜ�g˜c˜r�l¨u¸bÀ¹jÈÈ"¸oÖNùò Fs   ©A ÁA c                 óv  — ddl m} ddlm} |}t	        ||d|j
                  ¬«      }t        j                  dd|d   j                  «       «      D �cg c]  }|j                  |«      ‘Œ }}|j                  d d D �cg c]  }|j                  «       dk7  sŒ|‘Œ }	}t        |	||d   d d	 ¬
«       y c c}w c c}w )Nr   rÓ   r÷   r¤   rÔ   r   rû   r(   rX   rü   )r   r½   r`   rø   r   r¾   ra   r»   r¼   rþ   rÿ   r   )
rg   r   r½   rø   r%   rI   r¿   rÀ   r   rþ   s
             r   Útest_radviz_color_cmapz)TestDataFramePlots.test_radviz_color_cmap}  sŸ   € Ý!å*àˆÜ˜v¨R¸fÈrÏvÉvÔVˆÜ$&§K¡K°°1°b¸±j×6HÑ6HÓ6JÓ$KÖL˜q�—‘˜•ÐLˆÐLØ Ÿj™j¨¨"˜oÖE˜°·±³À"Ó1D’1ÐEˆÐEÜ�g¨%¸¸F¹ÀCÀR¸ÖIùò MùÚEs   ÁB1Á=B6ÂB6c                 ó¬   — ddl m} g d¢g d¢g d¢g}t        g d¢g d¢g d¢g d	¢d
œ«      } ||d|¬«      }|j                  «       \  }}t	        ||¬«       y )Nr   r÷   )ç        r  ç      ð?r  )r  ç      à?r  r  )r  r  r  r  rÇ   )r   r   r@   )r@   r   r   rÃ   r­   r¤   rÈ   )rý   )r`   rø   r   rÊ   r   )rg   rø   rË   r%   rI   rÌ   r™   s          r   Útest_radviz_colors_handlesz-TestDataFramePlots.test_radviz_colors_handlesˆ  sU   € Ý*â&Ò(<Ò>RÐSˆÜÚ¢)²)Â_ÑUó
ˆñ �B˜ fÔ-ˆØ×1Ñ1Ó3‰
ˆ�Ü�g¨&Ö1r   c                 óæ   — |j                  dd¬«      j                  «       }t        |j                  «      }|j	                  d|¬«      }|D �cg c]  }|j                  «       ‘Œ c}|k(  sJ ‚y c c}w )Nr¤   r   ©ÚaxisT©rL   Útitle©ÚdropÚheadré   Úcolumnsr$   Ú	get_title)rg   r   r%   r  r$   r   s         r   Útest_subplot_titlesz&TestDataFramePlots.test_subplot_titles“  sa   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆð �w‰w ¨EˆwÓ2ˆØ'+Ö, !�—‘•Ò,°Ò5Ð5Ñ5ùÒ,s   ÁA.c                 ó  — |j                  dd¬«      j                  «       }t        |j                  «      }d}t	        j
                  t        |¬«      5  |j                  d|dgz   ¬«       d d d «       y # 1 sw Y   y xY w)	Nr¤   r   r
  újThe length of `title` must equal the number of columns if using `title` of type `list` and `subplots=True`r   Tzkittens > puppiesr  ©r  r  ré   r  r!   r"   Ú
ValueErrorr$   ©rg   r   r%   r  r<   s        r   Útest_subplot_titles_too_muchz/TestDataFramePlots.test_subplot_titles_too_muchœ  sw   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆð?ð 	ô �]‰]œ:¨SÔ1ñ 	HØ�G‰G˜T¨Ð2EÐ1FÑ)FˆGÔG÷	H÷ 	Hñ 	Hús   ÁA5Á5A>c                 ó   — |j                  dd¬«      j                  «       }t        |j                  «      }d}t	        j
                  t        |¬«      5  |j                  d|d d ¬«       d d d «       y # 1 sw Y   y xY w)	Nr¤   r   r
  r  r   Tr   r  r  r  s        r   Útest_subplot_titles_too_littlez1TestDataFramePlots.test_subplot_titles_too_little¨  sp   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆð?ð 	ô
 �]‰]œ:¨SÔ1ñ 	4Ø�G‰G˜T¨¨r°¨ˆGÔ3÷	4÷ 	4ñ 	4ús   ÁA4Á4A=c                 óú   — |j                  dd¬«      j                  «       }t        |j                  «      }d}t	        j
                  t        |¬«      5  |j                  d|¬«       d d d «       y # 1 sw Y   y xY w)Nr¤   r   r
  zNUsing `title` of type `list` is not supported unless `subplots=True` is passedr   Fr  r  r  s        r   Ú"test_subplot_titles_subplots_falsez5TestDataFramePlots.test_subplot_titles_subplots_false´  sj   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆð(ð 	ô �]‰]œ:¨SÔ1ñ 	1Ø�G‰G˜U¨%ˆGÔ0÷	1÷ 	1ñ 	1ús   ÁA1Á1A:c                 ó4  — |j                  dd¬«      j                  «       }t        |j                  «      }|j                  dd¬«      j	                  dd|d d ¬«      }|D ��cg c]  }|D ]  }|j                  «       ‘Œ Œ }}}||d d	 d
gz   k(  sJ ‚y c c}}w )Nr¤   r   r
  Ú
SepalWidthT©r   r   rè   )rL   Úlayoutr  r@   r(   r  )rg   r   r%   r  r$   ÚsublistrI   Ú
title_lists           r   Ú)test_subplot_titles_numeric_square_layoutz<TestDataFramePlots.test_subplot_titles_numeric_square_layoutÀ  s¢   € Ø�Y‰Y�v AˆYÓ&×+Ñ+Ó-ˆä�R—Z‘ZÓ ˆà�w‰w�|¨!ˆwÓ,×1Ñ1Ø &°°c°r°
ð 2ó 
ˆð 59×K¨À7ÒK¸R�b—l‘l•nÐK�nÐKˆ
ÑKØ˜U 2 A˜Y¨"¨Ñ-Ò-Ð-Ñ-ùó Ls   Á$Bc                 óZ  — t        t        j                  d«      «      }t        j                  |d«       t        j
                  j                  d «      j                  «       }t        j                  |d«       t        j
                  j                  d «      j                  «       }||k7  sJ ‚y )N)rX   rX   r   )r   ra   Úzerosr
   rÐ   r’   r“   )rg   r%   Úrand1Úrand2s       r   Ú$test_get_standard_colors_random_seedz7TestDataFramePlots.test_get_standard_colors_random_seedË  s}   € ä”r—x‘x Ó)Ó*ˆô 	×%Ñ% b¨!Ô,Ü—	‘	×%Ñ% dÓ+×2Ñ2Ó4ˆÜ×%Ñ% b¨!Ô,Ü—	‘	×%Ñ% dÓ+×2Ñ2Ó4ˆØ˜Š~Ð‰~r   c                 óF   — ddl m}  |dd¬«      } |dd¬«      }||k(  sJ ‚y )Nr   ©Úget_standard_colorsr   r’   ©Ú
color_type)Ú!pandas.plotting._matplotlib.styler,  )rg   r,  Úcolor1Úcolor2s       r   Ú$test_get_standard_colors_consistencyz7TestDataFramePlots.test_get_standard_colors_consistencyÖ  s.   € õ 	Já$ Q°8Ô<ˆÙ$ Q°8Ô<ˆØ˜ÒÐÑr   c                 ó¬   — ddl m}  |dd¬«      } |dd¬«      } |dd¬«      }t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚t        |«      dk(  sJ ‚y )Nr   r+  r   Údefaultr-  é	   rû   )r/  r,  r:   )rg   r,  r0  r1  Úcolor3s        r   Ú+test_get_standard_colors_default_num_colorsz>TestDataFramePlots.test_get_standard_colors_default_num_colorsß  sa   € ÝIñ % Q°9Ô=ˆÙ$ Q°9Ô=ˆÙ$ R°IÔ>ˆÜ�6‹{˜aÒÐÐÜ�6‹{˜aÒÐÐÜ�6‹{˜bÒ Ð Ñ r   c           	      ó:  ‡— t        g d¢g d¢g d¢g d¢g d¢g d¢dœ«      }|j                  j                  «       j                  j	                  «       }|j                  «       dd	 D �cg c]  }|j                  «       ‘Œ c}Št        ˆfd
„‰D «       «      sJ ‚y c c}w )N)z
2017-02-03z
2017-03-03z
2017-01-01)zAlice Andersz	Bob BakerzCharlie Chaplin)gáz®Ga–Àg\�Âõ(Ü$@g     LÝ@)iÒ  ix	  éû   )é  iõ  iî	  )é4   r:  é    )zaccount-startÚclientÚbalancezdb-idzproxy-idÚrankr   r@   c              3   ó.   •K  — | ]  }|‰d    k(  –— Œ y­w)r   NrJ   )Ú.0r²   rË   s     €r   ú	<genexpr>z<TestDataFramePlots.test_plot_single_color.<locals>.<genexpr>ø  s   øè ø€ Ò:¨%�5˜F 1™IÕ%Ñ:ùs   ƒ)r   r=  Úvalue_countsr$   r1   Úget_childrenÚget_facecolorÚall)rg   r%   rI   ÚrectrË   s       @r   Útest_plot_single_colorz)TestDataFramePlots.test_plot_single_colorê  sˆ   ø€ äâ!KÚJÚ6Ú*Ú-Ú%ñó	
ˆð �Y‰Y×#Ñ#Ó%×*Ñ*×.Ñ.Ó0ˆØ35·?±?Ó3DÀQÀqÐ3IÖJ¨4�$×$Ñ$Õ&ÒJˆÜÓ:°6Ô:Ô:Ð:Ñ:ùò Ks   Á'Bc                 ó.  — ddl m} ddlm} |j	                  t        d«      «      } |d|¬«      }t        |«      t        |«      k(  sJ ‚t        t        j                  j                  d«      j                  d«      t        d	«      ¬
«      }|j	                  t        j                  ddd«      «      }|j                  j                  j!                  d|¬«      }|j"                  d   j%                  «       |j"                  d   j%                  «       k(  sJ ‚y )Nr   rÓ   r+  r?   r   rÈ   r   )é0   é   ÚABCD©r  é   )rN  é   )Úfigsizer²   é   )r   r½   r/  r,  Úgnuplotrê   r:   r   ra   r’   r“   r”   ré   r»   r   r$   r1   rþ   rE  )rg   r½   r,  Úcolor_beforeÚcolor_afterr%   Ú
color_listr   s           r   Ú%test_get_standard_colors_no_appendingz8TestDataFramePlots.test_get_standard_colors_no_appendingú  sÔ   € õ
 	"åIà—z‘z¤%¨£(Ó+ˆÙ)¨!°<Ô@ˆÜ�;Ó¤3 |Ó#4Ò4Ð4Ð4äÜ�I‰I×!Ñ! !Ó$×4Ñ4°WÓ=ÄtÈFÃ|ô
ˆð —Z‘Z¤§¡¨A¨q°"Ó 5Ó6ˆ
Ø�D‰D�I‰I�M‰M '°ˆMÓ<ˆØ�y‰y˜‰|×)Ñ)Ó+¨q¯y©y¸©}×/JÑ/JÓ/LÒLÐLÑLr   r2   r1   r.   c                 óÚ  ‡— ddg}ddgŠt        t        j                  j                  d«      j                  d«      |¬«      }dddœ}|j	                  ||¬	«      }|d
k(  r5|j                  «       ddd…   D �cg c]  }|j                  «       dd ‘Œ }}n.|j                  «       dd D �cg c]  }|j                  «       ‘Œ }}t        ˆfd„t        |«      D «       «      sJ ‚y c c}w c c}w )NÚarÄ   )r  g¸…ëQ¸Î?g333333ã?)g333333Ó?çffffffæ?rY  r   r   rM  )rÄ   rX  )r2   r²   r1   r   r@   rè   c              3   ó4   •K  — | ]  \  }}|‰|   k(  –— Œ y ­w©NrJ   )rA  rA   r²   rœ   s      €r   rB  z;TestDataFramePlots.test_dictionary_color.<locals>.<genexpr>  s   øè ø€ ÒR±°°u�5˜H U™OÕ+ÑRùs   ƒ)r   ra   r’   r“   r$   rD  rE  r·   rì   rF  Ú	enumerate)	rg   r2   Ú
data_filesÚdf1Ú	dic_colorrI   rG  rË   rœ   s	           @r   Útest_dictionary_colorz(TestDataFramePlots.test_dictionary_color  sâ   ø€ ð ˜3�Zˆ
à$ oÐ6ˆäœŸ	™	×-Ñ-¨aÓ0×7Ñ7¸Ó?ÈÔTˆØ)Ð0@ÑAˆ	à�X‰X˜4 yˆXÓ1ˆØ�5Š=Ø=?¿_¹_Ó=NÈqÐQRÐSTÈuÑ=UÖV°T�d×(Ñ(Ó*¨1¨RÒ0ÐVˆFÑVà35·<±<³>À!ÀAÐ3FÖG¨4�d—n‘nÕ&ÐGˆFÐGÜÓRÄ	È&Ó@QÔRÔRÐRÑRùò WùâGs   Á8C#Â*C(c                 óü   — ddl m}  |ddd«       |ddd«      g}t        dddgit        ddg«      ¬«      }|j                  j                  «       }t        d	„ t        |j                  «       |«      D «       «      sJ ‚y )
Nr   ©ÚTextr„   r   ÚTotalrX  r   ©rA   c              3   ód   K  — | ](  \  }}|j                  «       |j                  «       k(  –— Œ* y ­wr[  ©Úget_text©rA  rX  rÄ   s      r   rB  z3TestDataFramePlots.test_bar_plot.<locals>.<genexpr>/  ó-   è ø€ ò 
á��1ð �Z‰Z‹\˜QŸZ™Z›\Õ)ñ
ùó   ‚.0)	Úmatplotlib.textrc  r   r   r$   r1   rF  rë   Úget_xticklabels)rg   rc  rœ   r%   Úplot_bars        r   Útest_bar_plotz TestDataFramePlots.test_bar_plot!  sˆ   € õ 	)á˜˜A˜s“O¡T¨!¨Q°Ó%8Ð9ˆäà�a˜�Vðô ˜˜G˜Ó%ô	
ˆð —7‘7—;‘;“=ˆÜñ 
ä˜H×4Ñ4Ó6¸ÓAô
ô 
ð 	
ñ 
r   c                 óð   — ddl m} t        dddœdddœg«      }|j                  j	                  dd ¬«      } |ddd	«       |ddd«      g}t        d
„ t        |j                  «       |«      D «       «      sJ ‚y )Nr   rb  r   )ÚwordÚvalueÚ	knowledger   rq  )r/   ÚlegendÚ1c              3   ód   K  — | ](  \  }}|j                  «       |j                  «       k(  –— Œ* y ­wr[  rg  )rA  Úactualrœ   s      r   rB  zPTestDataFramePlots.test_barh_plot_labels_mixed_integer_string.<locals>.<genexpr><  s1   è ø€ ò 
á �˜ð �O‰OÓ ×!2Ñ!2Ó!4Õ4ñ
ùrk  )rl  rc  r   r$   ÚbarhrF  rë   Úget_yticklabels)rg   rc  r%   Ú	plot_barhÚexpected_yticklabelss        r   Ú*test_barh_plot_labels_mixed_integer_stringz=TestDataFramePlots.test_barh_plot_labels_mixed_integer_string4  s†   € õ 	)ä ¨QÑ/¸+ÐPQÑ1RÐSÓTˆØ—G‘G—L‘L 6°$�LÓ7ˆ	Ù $ Q¨¨3£±°a¸¸KÓ1HÐIÐÜñ 
ä$'Ø×)Ñ)Ó+Ð-Aó%ô
ô 
ð 	
ñ 
r   c                 ó  — t         j                  j                  j                  }t        j
                  j                  «       }|j                  dd«      }|j                  d|d   d   ¬«      |d   d<   |j                  d|d   d   ¬«      |d   d<   |d   d   j                  «        |d   d   j                  «         ||d   d   d«      sJ ‚ ||d   d   d«      rJ ‚ ||d   d   d«      sJ ‚ ||d   d	   d«      rJ ‚y )
Nr   rK  éç   r   r   ©Úsharexéé   r/   r@   )
r
   Ú_matplotlibÚtoolsÚ_has_externally_shared_axisr�   r‘   ÚfigurerL   Úadd_subplotÚtwinx©rg   r;   rR   Úplotss       r   Ú&test_has_externally_shared_axis_x_axisz9TestDataFramePlots.test_has_externally_shared_axis_x_axisC  ó  € ô ×#Ñ#×)Ñ)×EÑEˆä�j‰j×ÑÓ!ˆØ—‘˜Q Ó"ˆð —o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰Ø—o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰ð 	ˆa‰�‰×ÑÔØˆa‰�‰×ÑÔñ �E˜!‘H˜Q‘K Ô%Ð%Ð%Ù˜˜a™ ™ SÔ)Ð)Ð)Ù�E˜!‘H˜Q‘K Ô%Ð%Ð%Ù˜˜a™ ™ SÔ)Ð)Ð)Ð)r   c                 ó  — t         j                  j                  j                  }t        j
                  j                  «       }|j                  dd«      }|j                  d|d   d   ¬«      |d   d<   |j                  d|d   d   ¬«      |d   d<   |d   d   j                  «        |d   d   j                  «         ||d   d   d«      sJ ‚ ||d   d   d«      rJ ‚ ||d   d   d«      sJ ‚ ||d	   d   d«      rJ ‚y )
NrK  r   éA  r   r   ©ÚshareyiE  r0   r@   )
r
   r‚  rƒ  r„  r�   r‘   r…  rL   r†  Útwinyrˆ  s       r   Ú&test_has_externally_shared_axis_y_axisz9TestDataFramePlots.test_has_externally_shared_axis_y_axis\  r‹  r   c                 ól  — t         j                  j                  j                  }t        j
                  j                  «       }|j                  dd«      }|j                  d|d   d   ¬«      |d   d<   d}t        j                  t        |¬«      5   ||d   d   d	«       d d d «       y # 1 sw Y   y xY w)
NrK  r   r�  r   r   rŽ  z&needs 'x' or 'y' as a second parameterr   Úz)r
   r‚  rƒ  r„  r�   r‘   r…  rL   r†  r!   r"   r  )rg   r;   rR   r‰  r<   s        r   Ú4test_has_externally_shared_axis_invalid_compare_axiszGTestDataFramePlots.test_has_externally_shared_axis_invalid_compare_axisu  s�   € ô ×#Ñ#×)Ñ)×EÑEˆä�j‰j×ÑÓ!ˆØ—‘˜Q Ó"ˆð —o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰ð 7ˆÜ�]‰]œ:¨SÔ1ñ 	#Ù��q‘˜!‘˜cÔ"÷	#÷ 	#ñ 	#ús   ÂB*Â*B3c                 ó   — t        t        j                  j                  d«      j	                  d«      t        j                  j                  d«      j	                  d«      dœ«      }t
        j                  j                  «       }|j                  dd«      }|j                  d|d   d   ¬«      |d   d<   |j                  d	|d   d   ¬«      |d   d<   |d   d   j                  «       }|d   d   j                  «       }|d
   j                  |d   d   d¬«      j                  d«       |d
   j                  |d   d   ¬«       |d
   j                  |d   d   d¬«      j                  d«       |d
   j                  |d   d   ¬«       |d
   j                  |d   d   d¬«      j                  d«       |d
   j                  |d   d   ¬«       |d   j                  |d¬«       |d   j                  |d¬«       |d   d   j                  j                  «       j                  «       rJ ‚|d   d   j                  j                  «       j                  «       sJ ‚|d   d   j                  j                  «       j                  «       rJ ‚y )Nr   iè  )rX  rÄ   r@   r~  r   r   r  r�  rX  zExternal share only)rI   r  z"this label should never be visible)rI   zInternal share (twin) onlyz#this label should always be visibleÚBothrÄ   Úgreen)rI   r²   Úyellow)r   ra   r’   r“   r”   r�   r‘   r…  rL   r†  r‡  r$   Ú
set_xlabelrÙ   rÿ   Úget_visible)rg   r%   rR   r‰  Útwin_ax1Útwin_ax2s         r   Útest_externally_shared_axesz.TestDataFramePlots.test_externally_shared_axes†  sc  € ô ä—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸dÓCÜ—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸dÓCñó
ˆô �j‰j×ÑÓ!ˆØ—‘˜Q Ó"ˆð —o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰à—o‘o c°%¸±(¸1±+�oÓ>ˆˆa‰�‰ð ˜‘8˜A‘;×$Ñ$Ó&ˆØ˜‘8˜A‘;×$Ñ$Ó&ˆð 	ˆ3‰�‰˜˜a™ ™Ð+@ˆÓA×LÑLØ0ô	
ð 	ˆ3‰�‰˜˜a™ ™ˆÔ$à
ˆ3‰�‰˜˜a™ ™Ð+GˆÓH×SÑSØ1ô	
ð 	ˆ3‰�‰˜˜a™ ™ˆÔ$à
ˆ3‰�‰˜˜a™ ™¨6ˆÓ2×=Ñ=Ø0ô	
ð 	ˆ3‰�‰˜˜a™ ™ˆÔ$ð 	ˆ3‰�‰˜¨ˆÔ0Ø
ˆ3‰�‰˜¨ˆÔ1à˜‘8˜A‘;×$Ñ$×.Ñ.Ó0×<Ñ<Ô>Ð>Ð>Ø�Q‰x˜‰{× Ñ ×*Ñ*Ó,×8Ñ8Ô:Ð:Ð:Ø˜‘8˜A‘;×$Ñ$×.Ñ.Ó0×<Ñ<Ô>Ð>Ð>Ð>r   c                 ó¶   — t        dgt        d«      g¬«      }t        |j                  «       t	        ddi«      }t        |j                  j
                  «       y )Nr  z2022-02-22 22:22:22re  r   )r   r   r   r$   r   r1   )rg   r%   Úss      r   Ú-test_plot_bar_axis_units_timestamp_conversionz@TestDataFramePlots.test_plot_bar_axis_units_timestamp_conversion¶  sK   € ô ØˆEÜÐ2Ó3Ð4ô
ˆô 	˜"Ÿ'™'Ô"Ü�C˜�:ÓˆÜ˜!Ÿ&™&Ÿ*™*Õ%r   c                 ó6  — ddl m}  |ddd«       |ddd«      g}t        ddgt        ddd¬«      g¬	«      }t	        |j
                  j                  «       t        d
„ t        |j
                  j                  «       j                  «       |«      D «       «      sJ ‚y )Nr   rb  z	([0, 1],)r   z	([1, 2],)r   Úboth)Úclosedre  c              3   ód   K  — | ](  \  }}|j                  «       |j                  «       k(  –— Œ* y ­wr[  rg  ri  s      r   rB  zFTestDataFramePlots.test_bar_plt_xaxis_intervalrange.<locals>.<genexpr>Í  rj  rk  )
rl  rc  r   r   r   r$   r1   rF  rë   rm  )rg   rc  rœ   rŸ  s       r   Ú test_bar_plt_xaxis_intervalrangez3TestDataFramePlots.test_bar_plt_xaxis_intervalrangeÂ  sŽ   € õ 	)á˜˜A˜{Ó+©T°!°Q¸Ó-DÐEˆÜØ�ˆFÜ! ! Q¨vÔ6Ð7ô
ˆô 	˜!Ÿ&™&Ÿ*™*Ô%Üñ 
ä˜AŸF™FŸJ™J›L×8Ñ8Ó:¸HÓEô
ô 
ð 	
ñ 
r   N)/rr   rs   rt   r!   ru   rv   r�   r    Úslowr§   r   ra   r’   r“   r”   r¹   rÁ   rÍ   rÑ   rÖ   rÝ   rß   Úfilterwarningsrõ   rù   r  r  r  r  r  r  r  r$  r)  r2  r7  rH  rV  r`  ro  r|  rŠ  r‘  r”  r�  r   r¥  rJ   r   r   rx   rx   ”   s¥  „ Ø‡[�[×Ñ˜[¨5°$¨-Ó8ñNó 9ðNð0 ‡[�[×Ñ˜[¨5°$¨-Ó8ñNó 9ðNð0 ‡[�[×ÑñMó ðMð ‡[�[×ÑØ‡[�[×ÑØà-Ú4ð	
óð ‡[�[×ÑØàÙàŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØ ˜E B™Jñ	óð
	
óñ

óóó ð,

ð ‡[�[×ÑØ‡[�[×ÑØàÙàŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØŸ™×.Ñ.¨qÓ1×AÑAÀ"ÓEØ ˜E B™Jñ	óð
	
óñ	Vóó ð	Vð ‡[�[×Ññ2ó ð2ð ‡[�[×ÑØ‡[�[×ÑØØ	*Ò,TÐUóñVó	ó ð
Vð ‡[�[×ÑñVó ðVð ‡[�[×Ññ9ó ð9ð ‡[�[×Ññ2ó ð2ð ‡[�[×ÑÐ FÓGñ9ó Hð9ò2Eð ‡[�[×ÑØØ	*Ò,TÐUóñOó	ðOò	Jò	2ò6ò
Hò
4ò
1ò	.ò	ò ò	!ò;ò Mð* ‡[�[×Ñ˜V e¨V _Ó5ñSó 6ðSò"
ò&
ò*ò2*ò2#ò".?ò`
&ó
r   rx   )/Ú__doc__rP   Únumpyra   r!   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr   r   r   r   r   r   r	   r
   r   Úpandas._testingÚ_testingrd   Úpandas.tests.plotting.commonr   r   r   r   r   rŽ   r�   rK   r½   Úfixturer   Úskip_if_installedr&   r=   ru   rv   r6   Ú
_all_kindsrb   Úreshaperê   rS   rU   rx   rJ   r   r   ú<module>r¶     sƒ  ðÙ *Û 	ã Û ç )Ð )÷
÷ 
õ 
õ ÷õ ð €f×Ñ˜,Ó'€Ø€f×ÑÐ-Ó.€Ø€V×Ñ˜Ó)€ð ‡�ð?�iò ?ó ð?ð €×Ñ�lÓ#ñó $ðòðD ‡�×Ñ˜ ×!6Ñ!6×!AÑ!AÓBØ‡�×ÑØ
‰Y�y�r—y‘y “}×,Ñ,¨Q°Ó2Ó3±V¹EÀ!»HÓ5EÐFóð ‡�×ÑØá‰e�A‹h‹Ù�<¨Ô+Ù�\¨1Ô-ðóñ	óóó Cð	÷$?ñ $?÷N|
ò |
r   