U
    ZÊ¹jž  ã                   @   s6  d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZF ddlGmHZH ddlImJZJ ddlKmLZLmMZMmNZN ddlOmPZP d	d
„ eJƒ D ƒ\ZQZRZSZTZUZVZWeeeQdeNƒeNddƒdeNƒZXdd„ ZYdd„ ZZdd„ Z[dd„ Z\dd„ Z]dd„ Z^dd„ Z_dd„ Z`dd„ Zad d!„ Zbd"d#„ Zcd$d%„ Zdd&d'„ Zed(d)„ Zfd*d+„ Zgd,d-„ Zhd.d/„ Zid0d1„ Zjd2d3„ Zkd4d5„ Zld6d7„ Zmd8d9„ Znd:d;„ Zod<d=„ Zpd>d?„ Zqd@dA„ ZrdBdC„ ZsdDdE„ ZtdFdG„ ZudHdI„ ZvdJdK„ ZwdLdM„ ZxdNdO„ ZydPdQ„ ZzdRdS„ Z{dTdU„ Z|dVdW„ Z}dXdY„ Z~dZd[„ Zd\d]„ Z€d^d_„ Z�d`da„ Z‚dbdc„ Zƒddde„ Z„dfdg„ Z…dhdi„ Z†djdk„ Z‡dldm„ Zˆdndo„ Z‰dpdq„ ZŠdrds„ Z‹dtS )uz4Tests for dense recursive polynomials' arithmetics. é    )ÚGROUND_TYPES)Ú
dup_normalÚ
dmp_normal)@Údup_add_termÚdmp_add_termÚdup_sub_termÚdmp_sub_termÚdup_mul_termÚdmp_mul_termÚdup_add_groundÚdmp_add_groundÚdup_sub_groundÚdmp_sub_groundÚdup_mul_groundÚdmp_mul_groundÚdup_quo_groundÚdmp_quo_groundÚdup_exquo_groundÚdmp_exquo_groundÚ
dup_lshiftÚ
dup_rshiftÚdup_absÚdmp_absÚdup_negÚdmp_negÚdup_addÚdmp_addÚdup_subÚdmp_subÚdup_mulÚdmp_mulÚdup_sqrÚdmp_sqrÚdup_powÚdmp_powÚdup_add_mulÚdmp_add_mulÚdup_sub_mulÚdmp_sub_mulÚdup_pdivÚdup_premÚdup_pquoÚ
dup_pexquoÚdmp_pdivÚdmp_premÚdmp_pquoÚ
dmp_pexquoÚ
dup_rr_divÚ
dmp_rr_divÚ
dup_ff_divÚ
dmp_ff_divÚdup_divÚdup_remÚdup_quoÚ	dup_exquoÚdmp_divÚdmp_remÚdmp_quoÚ	dmp_exquoÚdup_max_normÚdmp_max_normÚdup_l1_normÚdmp_l1_normÚdup_l2_norm_squaredÚdmp_l2_norm_squaredÚ
dup_expandÚ
dmp_expand)ÚExactQuotientFailed)Úf_polys)ÚFFÚZZÚQQ)Úraisesc                 C   s   g | ]}|  ¡ ‘qS © )Zto_dense)Ú.0ÚfrK   rK   ú`/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/polys/tests/test_densearith.pyÚ
<listcomp>1   s     rO   é   é   é   c               	   C   sø  t g tƒ} t| tdƒdtƒt g tƒks*t‚t| tdƒdtƒt dgtƒksLt‚t| tdƒdtƒt ddgtƒkspt‚t| tdƒdtƒt dddgtƒks–t‚t dddgtƒ} t| tdƒdtƒt dddgtƒksÌt‚t| tdƒdtƒt dddgtƒksòt‚t| tdƒdtƒt dddgtƒk�st‚t| tdƒdtƒt ddddgtƒk�sDt‚t| tdƒdtƒt dddddgtƒk�spt‚t| tdƒdtƒt ddddddgtƒk�sžt‚t| tdƒdtƒt dddddddgtƒk�sÎt‚t| tdƒdtƒt ddgtƒk�sôt‚d S )	Nr   rQ   rP   é   é   é   é   éÿÿÿÿ)r   rH   r   ÚAssertionError©rM   rK   rK   rN   Útest_dup_add_term4   s*    
 "$&&&(*,.   ÿÿ
rZ   c                   C   s†   t tdƒtdƒtdƒgtdƒddtƒttdƒtdƒtdƒgtdƒdtƒksNt‚t tg gddtƒtksht‚t tg gddtƒtks‚t‚d S ©NrQ   rP   r   rS   )r   rH   r   rX   Úf_0ÚF_0rI   rK   rK   rK   rN   Útest_dmp_add_termL   s
    $"ÿr^   c               	   C   sø  t g tƒ} t| tdƒdtƒt g tƒks*t‚t| tdƒdtƒt dgtƒksLt‚t| tdƒdtƒt ddgtƒkspt‚t| tdƒdtƒt dddgtƒks–t‚t dddgtƒ} t| tdƒdtƒt dddgtƒksÌt‚t| tdƒdtƒt dddgtƒksòt‚t| tdƒdtƒt dddgtƒk�st‚t| tdƒdtƒt ddddgtƒk�sDt‚t| tdƒdtƒt dddddgtƒk�spt‚t| tdƒdtƒt ddddddgtƒk�sžt‚t| tdƒdtƒt dddddddgtƒk�sÎt‚t| tdƒdtƒt ddgtƒk�sôt‚d S )	Nr   rQ   rW   rP   rS   rT   rU   rV   )r   rH   r   rX   rY   rK   rK   rN   Útest_dup_sub_termS   s*    
 "$&&&(*,.   ÿÿ
r_   c                   C   s†   t tdƒtdƒtdƒgtdƒddtƒttdƒtdƒtdƒgtdƒdtƒksNt‚t tg gddtƒtksht‚t tg gddtƒtks‚t‚d S r[   )r   rH   r   rX   r\   r]   rI   rK   rK   rK   rN   Útest_dmp_sub_termk   s
    $"ÿr`   c                  C   s  t g tƒ} t| tdƒdtƒt g tƒks*t‚t ddgtƒ} t| tdƒdtƒt g tƒksXt‚t dddgtƒ} t| tdƒdtƒt dddgtƒksŽt‚t| tdƒdtƒt ddddgtƒks¶t‚t| tdƒdtƒt dddddgtƒksàt‚t| tdƒdtƒt ddddddgtƒk�st‚d S )NrP   rS   rQ   r   rT   rV   )r   rH   r	   rX   rY   rK   rK   rN   Útest_dup_mul_termr   s    
  &(*ra   c                   C   sŽ  t tdƒtdƒtdƒgtdƒddtƒttdƒtdƒtdƒgtdƒdtƒksNt‚t g gtdƒgddtƒg gkspt‚t tdƒggg ddtƒg gks’t‚t tdƒtdƒgtdƒggtdƒgddtƒtdƒtdƒgtdƒgg g gksàt‚t g gtddƒgddtƒg gk�st‚t tddƒggg ddtƒg gk�s,t‚t tddƒtddƒgtddƒggtddƒgddtƒtddƒtddƒgtddƒgg g gk�sŠt‚d S )	NrQ   rP   rS   r   rT   rV   rU   é   )r
   rH   r	   rX   rI   rK   rK   rK   rN   Útest_dmp_mul_termƒ   s    $"ÿ""*ÿ&&2"ÿrc   c                  C   s@   t  ddddg¡} t  ddddg¡}t| t dƒt ƒ|ks<t‚d S ©NrQ   rP   rS   rT   é   )rH   Úmapr   rX   ©rM   ÚgrK   rK   rN   Útest_dup_add_ground”   s    ri   c                  C   sR   t  dgdgdgdgg¡} t  dgdgdgdgg¡}t| t dƒdt ƒ|ksNt‚d S rd   )rH   rf   r   rX   rg   rK   rK   rN   Útest_dmp_add_ground›   s    rj   c                  C   s@   t  ddddg¡} t  ddddg¡}t| t dƒt ƒ|ks<t‚d S )NrQ   rP   rS   rT   r   )rH   rf   r   rX   rg   rK   rK   rN   Útest_dup_sub_ground¢   s    rk   c                  C   sP   t  dgdgdgdgg¡} t  dgdgdgg g¡}t| t dƒdt ƒ|ksLt‚d S )NrQ   rP   rS   rT   )rH   rf   r   rX   rg   rK   rK   rN   Útest_dmp_sub_ground©   s    rl   c                  C   s~   t g tƒ} t| tdƒtƒt g tƒks(t‚t dddgtƒ} t| tdƒtƒt g tƒksVt‚t| tdƒtƒt dddgtƒkszt‚d S )NrP   rQ   rS   r   rT   rV   )r   rH   r   rX   rY   rK   rK   rN   Útest_dup_mul_ground°   s
    
rm   c                	   C   s  t ttdƒdtƒtdƒtdƒtdƒgtdƒggtdƒggtdƒtdƒtdƒgtdƒtdƒtdƒgtdƒgggkstt‚t ttddƒdtƒtddƒtddƒtd	dƒgtddƒggtd	dƒggtddƒtd
dƒtddƒgtddƒtddƒtddƒgtddƒgggk�st‚d S )NrP   rT   rV   re   é
   é   rQ   é   rS   rU   )r   r\   rH   rX   r]   rI   rK   rK   rK   rN   Útest_dmp_mul_ground»   s    
2ý
&*ÿ
ÿýrq   c                  C   s.  t tdd„ ƒ tg tƒ} t| tdƒtƒtg tƒks6t‚tdddgtƒ} t| tdƒtƒ| ks^t‚t| tdƒtƒtdddgtƒks‚t‚t| tdƒtƒtdd	dgtƒks¦t‚tdddgtƒ} t| tdƒtƒ| ksÎt‚t| tdƒtƒtdƒtdƒtdƒgksøt‚t| td
ƒtƒtdd
ƒtdd
ƒtdd
ƒgk�s*t‚d S )Nc                   S   s   t tdddgtƒtdƒtƒS ©NrQ   rP   rS   r   )r   r   rH   rK   rK   rK   rN   Ú<lambda>Ë   s   ÿÿ ÿz%test_dup_quo_ground.<locals>.<lambda>rS   rV   rP   re   rQ   rT   r   rR   )rJ   ÚZeroDivisionErrorr   rH   r   rX   rI   rY   rK   rK   rN   Útest_dup_quo_groundÊ   s    
$$*ru   c                  C   s  t tdd„ ƒ t tdd„ ƒ tg tƒ} t| tdƒtƒtg tƒksDt‚tdddgtƒ} t| tdƒtƒ| kslt‚t| tdƒtƒtddd	gtƒks�t‚tdddgtƒ} t| tdƒtƒ| ks¸t‚t| tdƒtƒtdƒtdƒtd	ƒgksât‚t| td
ƒtƒtdd
ƒtdd
ƒtdd
ƒgk�st‚d S )Nc                   S   s   t tdddgtƒtdƒtƒS rr   ©r   r   rH   rK   rK   rK   rN   rs   á   s    ÿÿ ÿz'test_dup_exquo_ground.<locals>.<lambda>c                   S   s   t tdddgtƒtdƒtƒS ©NrQ   rP   rS   rv   rK   rK   rK   rN   rs   ã   s    ÿÿ ÿrS   rV   rP   re   rQ   rT   rR   )rJ   rt   rE   r   rH   r   rX   rI   rY   rK   rK   rN   Útest_dup_exquo_groundà   s    
$*rx   c                  C   s˜   t dgdgdggdtƒ} t| tdƒdtƒ| ks2t‚t| tdƒdtƒt dgdgdggdtƒks`t‚t t| tdƒdtƒdtƒt dgg dggdtƒks”t‚d S ©NrV   rP   re   rQ   rS   rT   )r   rH   r   rX   rY   rK   rK   rN   Útest_dmp_quo_groundö   s*       ÿÿ   ÿ ÿÿrz   c                  C   sd   t dgdgdggdtƒ} t| tdƒdtƒ| ks2t‚t| tdƒdtƒt dgdgdggdtƒks`t‚d S ry   )r   rH   r   rX   rY   rK   rK   rN   Útest_dmp_exquo_ground  s       ÿÿr{   c                   C   s6   t g dtƒg kst‚t dgdtƒddddgks2t‚d S ©NrS   rQ   r   )r   rH   rX   rK   rK   rK   rN   Útest_dup_lshift	  s    r}   c                   C   s6   t g dtƒg kst‚t ddddgdtƒdgks2t‚d S r|   )r   rH   rX   rK   rK   rK   rN   Útest_dup_rshift  s    r~   c                   C   s"  t g tƒg kst‚t tdƒgtƒtdƒgks0t‚t tdƒgtƒtdƒgksNt‚t tdƒtdƒtdƒgtƒtdƒtdƒtdƒgks„t‚t g tƒg ks–t‚t tddƒgtƒtddƒgks¸t‚t tddƒgtƒtddƒgksÚt‚t tddƒtddƒtddƒgtƒtddƒtddƒtddƒgk�st‚d S )NrQ   éùÿÿÿrR   rW   rP   rS   )r   rH   rX   rI   rK   rK   rK   rN   Útest_dup_abs  s    6"" ÿÿr€   c                   C   s*  t tdƒgdtƒtdƒgks t‚t tddƒgdtƒtddƒgksDt‚t g ggdtƒg ggks`t‚t tdƒgggdtƒtdƒgggksˆt‚t tdƒgggdtƒtdƒgggks°t‚t g ggdtƒg ggksÌt‚t tddƒgggdtƒtddƒgggksøt‚t tddƒgggdtƒtddƒgggk�s&t‚d S ©NrW   r   rQ   rP   r   rR   é	   )r   rH   rX   rI   rK   rK   rK   rN   Útest_dmp_abs   s     $((,rƒ   c                   C   s"  t g tƒg kst‚t tdƒgtƒtdƒgks0t‚t tdƒgtƒtdƒgksNt‚t tdƒtdƒtdƒgtƒtdƒtdƒtdƒgks„t‚t g tƒg ks–t‚t tddƒgtƒtddƒgks¸t‚t tdd	ƒgtƒtdd	ƒgksÚt‚t tddƒtddƒtddƒgtƒtddƒtddƒtddƒgk�st‚d S )
NrQ   rW   r   rR   rP   rS   éþÿÿÿéýÿÿÿr‚   )r   rH   rX   rI   rK   rK   rK   rN   Útest_dup_neg-  s$    6"" ÿ ÿÿÿr†   c                   C   s*  t tdƒgdtƒtdƒgks t‚t tddƒgdtƒtddƒgksDt‚t g ggdtƒg ggks`t‚t tdƒgggdtƒtdƒgggksˆt‚t tdƒgggdtƒtdƒgggks°t‚t g ggdtƒg ggksÌt‚t tddƒgggdtƒtddƒgggksøt‚t tddƒgggdtƒtddƒgggk�s&t‚d S r�   )r   rH   rX   rI   rK   rK   rK   rN   Útest_dmp_neg:  s     $((,r‡   c                   C   sê  t g g tƒg kst‚t tdƒgg tƒtdƒgks4t‚t g tdƒgtƒtdƒgksTt‚t tdƒgtdƒgtƒtdƒgkszt‚t tdƒgtdƒgtƒtdƒgks t‚t tdƒtdƒgtdƒgtƒtdƒtdƒgksÒt‚t tdƒgtdƒtdƒgtƒtdƒtdƒgk�st‚t tdƒtdƒtdƒgtdƒtdƒtdƒgtƒtdƒtdƒtdƒgk�sRt‚t g g tƒg k�sht‚t tddƒgg tƒtddƒgk�sŽt‚t g tddƒgtƒtddƒgk�s´t‚t tdd	ƒgtdd	ƒgtƒtddƒgk�sât‚t tdd	ƒgtddƒgtƒtdd	ƒgk�st‚t tddƒtddƒgtdƒgtƒtddƒtd
dƒgk�sLt‚t tdƒgtddƒtddƒgtƒtddƒtd
dƒgk�sˆt‚t tddƒtddƒtddƒgtddƒtddƒtddƒgtƒtddƒtddƒtddƒgk�sæt‚d S )NrQ   rP   rS   re   r‚   rn   é   é   rT   rU   rR   )r   rH   rX   rI   rK   rK   rK   rN   Útest_dup_addG  sF      &&24
ÿÿ ÿÿ
&&..<< ÿ ÿÿÿrŠ   c                   C   s€  t tdƒtdƒgtdƒgdtƒttdƒtdƒgtdƒgtƒksBt‚t tddƒtddƒgtdƒgdtƒttddƒtddƒgtdƒgtƒksŒt‚t g ggg ggdtƒg ggks®t‚t tdƒgggg ggdtƒtdƒgggksÜt‚t g ggtdƒgggdtƒtdƒgggk�st‚t tdƒgggtdƒgggdtƒtdƒgggk�sBt‚t tdƒgggtdƒgggdtƒtdƒgggk�sxt‚t g ggg ggdtƒg ggk�sœt‚t tddƒgggg ggdtƒtddƒgggk�sÐt‚t g ggtddƒgggdtƒtddƒgggk�st‚t tddƒgggtddƒgggdtƒtddƒgggk�s@t‚t tddƒgggtddƒgggdtƒtddƒgggk�s|t‚d S )NrQ   rP   r   rS   rR   )r   rH   r   rX   rI   rK   rK   rK   rN   Útest_dmp_adda  s     ÿ" ÿ".066$44<r‹   c                   C   sÚ  t g g tƒg kst‚t tdƒgg tƒtdƒgks4t‚t g tdƒgtƒtdƒgksTt‚t tdƒgtdƒgtƒg kstt‚t tdƒgtdƒgtƒtdƒgksšt‚t tdƒtdƒgtdƒgtƒtdƒtdƒgksÌt‚t tdƒgtdƒtdƒgtƒtdƒtdƒgksþt‚t tdƒtdƒtdƒgtdƒtdƒtdƒgtƒtdƒtd	ƒtd
ƒgk�sJt‚t g g tƒg k�s`t‚t tddƒgg tƒtddƒgk�s†t‚t g tddƒgtƒtddƒgk�s¬t‚t tddƒgtddƒgtƒg k�sÒt‚t tddƒgtddƒgtƒtddƒgk�s t‚t tddƒtddƒgtdƒgtƒtddƒtddƒgk�s<t‚t tdƒgtddƒtddƒgtƒtddƒtddƒgk�sxt‚t tddƒtddƒtddƒgtddƒtddƒtddƒgtƒtddƒtd	dƒtd
dƒgk�sÖt‚d S )NrQ   rW   rP   rS   re   r‚   rn   éûÿÿÿr   é÷ÿÿÿrR   rU   )r   rH   rX   rI   rK   rK   rK   rN   Útest_dup_subt  sF       &22
ÿÿ ÿÿ
&&&.<< ÿ ÿÿÿrŽ   c                   C   s€  t tdƒtdƒgtdƒgdtƒttdƒtdƒgtdƒgtƒksBt‚t tddƒtddƒgtdƒgdtƒttddƒtddƒgtdƒgtƒksŒt‚t g ggg ggdtƒg ggks®t‚t tdƒgggg ggdtƒtdƒgggksÜt‚t g ggtdƒgggdtƒtdƒgggk�st‚t tdƒgggtdƒgggdtƒtdƒgggk�sBt‚t tdƒgggtdƒgggdtƒtdƒgggk�sxt‚t g ggg ggdtƒg ggk�sœt‚t tddƒgggg ggdtƒtddƒgggk�sÐt‚t g ggtddƒgggdtƒtddƒgggk�st‚t tddƒgggtddƒgggdtƒtddƒgggk�s@t‚t tddƒgggtddƒgggdtƒtddƒgggk�s|t‚d S )NrQ   rP   r   rS   rW   rR   )r   rH   r   rX   rI   rK   rK   rK   rN   Útest_dmp_subŽ  s     ÿ" ÿ".066$44<r�   c                   C   sÚ   t tdƒtdƒtdƒgtdƒtdƒtdƒgtdƒtdƒgtƒtdƒtdƒtdƒtdƒgks^t‚ttdƒtdƒgtdƒggtdƒgtdƒtdƒggtdƒgtdƒggdtƒtdƒgtdƒtdƒgtdƒtdƒggksÖt‚d S )NrQ   rP   rS   r‚   rR   rU   rT   )r%   rH   rX   r&   rK   rK   rK   rN   Útest_dup_add_mul¡  s    * ÿÿ2  ÿ&ÿr�   c                   C   sÚ   t tdƒtdƒtdƒgtdƒtdƒtdƒgtdƒtdƒgtƒtdƒtdƒtdƒtdƒgks^t‚ttdƒtdƒgtdƒggtdƒgtdƒtdƒggtdƒgtdƒggdtƒtdƒgtdƒtdƒgtdƒtdƒggksÖt‚d S )	NrQ   rP   rS   r…   r   rW   rŒ   éüÿÿÿ)r'   rH   rX   r(   rK   rK   rK   rN   Útest_dup_sub_mul¨  s    * ÿÿ2  ÿ&ÿr’   c               D  C   s¸  t g g tƒg kst‚t g tdƒgtƒg ks.t‚t tdƒgg tƒg ksHt‚t tdƒgtdƒgtƒtdƒgksnt‚t tdƒgtdƒgtƒtdƒgks”t‚t g g tƒg ks¨t‚t g tddƒgtƒg ksÄt‚t tddƒgg tƒg ksàt‚t tddƒgtddƒgtƒtddƒgk�st‚t tddƒgtddƒgtƒtdd	ƒgk�s<t‚tdd
d
dddgtƒ} tdd
dd
gtƒ}tdd
ddddddd
g	tƒ}t | |tƒ|k�s–t‚t || tƒ|k�s¬t‚tdd
d
ddgtƒ} tdd
d
ddd
ddd	g	tƒ}t | | tƒ|k�sòt‚tdƒ}t |dƒ|dƒg|dƒ|dƒg|ƒ|dƒ|dƒgk�s4t‚tddddddddddddddddddd d!d"d#d$d%d&d'd(d$dd)d*d+d,d-d.d/d0dd1d-d2d3d4d5d6d7d8d9d:d*d)d;d<d=d>d?d@dAd@dBdCd,dDdEdFdGdHdIdJdKdd*dAddLdMdNdOdPdQdBdRdSddTdUd/dVdWdMdXddYddZd[d\dd]d^d_d`d8dadbdcddded&dfdgdhdDdidddTdjddYdkddld9dmddnd%d3ddoddpdqd<drdsdtdJdudvd$dddwd.dmd-dxd@dyddFdzdd{d|d+d}dyd'd~dndFd8ddd!d€d�dVd`dd|dZd[d~d‚d:d0ddƒdSd„d0ddd…d†dkd‡dˆd‰dŠd>d~ddd‹dŒd�ddŽdtd‚dKddXdEdqdSd6dWd1d�dpdNddd�d�d‘d3d’dxd#dNdxdFd!d“d”d}gètƒ}td3dd•dd–dCd+d d—dTdvd˜d™d’d6dšdd1dbdd›dœdd3dJd�dRdždŸd‚d dEdd¡ddmd]ddCd9dTdd;ddSd¢d…dfdŽdpdBdd£d¤d¥d(d�dbd~ddddtdCd8d‡dd•ded'd~d€dfdIdadUd¦d§d,d¨d)dBdPd©d-drdsdªd«d0d‹d6dŸd¬dd)dddd/dzddd§dRdjdªdd£d­d®d@d)dd¯dwdŒdƒd®d—d‚d,dGddddld5ddNdŸd°d7dd±dId�d²dpdHd‡d³d|dd´ddµd¶dJdodsdd„dTdOd\d9d·d¯d;dd”d„dªddµd.dedfdKd!d	dTdd£d[d¸dRdd—d~dŸd‘d–d$d¹d9d]dGdodd±d¶dºdEdJdGd’d6dXd£d�ddd�dwd¸ddJd¥dgdKdMd d{d‰dŒdšdd�dqd_d$d•dzd|d”dKdd±dSd»d.d»d�dd:dµd‚d¼ddd½d<dNd^dWd“ddiddd1d›d¸d¦d€dšdšd•dˆd7d‹d¸dxddcdDdd1dad
ddGd]dYd¾dYd­d&dBdFd¦d’dcd~dId:dždždd.d>d€d²d’dd=d¶dd�d{d¸dsdOd¢dgd7d›dWdddd…d´dXdzdEdd‡d)dHd‘dRd•d%dBdsd½d@dd…dqdsdWd]d¼dUddud^d}dd/dd�dYd‡d'dZd$�g\tƒ}td¿dÀdÁdÂdÃdÄdÅdÆdÇdÈdÉdÊdËdÌdÍdÎdÏdÐdÑdÒdÓdÔdÕdÖd×dØdÙdÚdÛdÜdÝdÞdßdàdádâdãdädådædçdèdédêdëdìdídêdîdïdðdñdòdódôdõdöd÷dødùdúdûdüdýdþdÿ�d �d�d�d�d�d�d�d�d�d	�d
�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�d$�d%�d&�d'�d(�d)�d*�d+�d,d¡�d-�d.�d/�d0�d1�d2�d3�d4�d5�d6�d7�d8�d9�d:�d;�d<�d=�d>�d?�d@�dA�dB�dC�dD�dE�dF�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dR�dS�dT�dU�dV�dW�dX�dY�dZ�d[�d\�d]�d^�d_�d`�da�db�dc�dd�de�df�dg�dh�di�dj�dk�dl�dm�dn�do�dp�dq�dr�ds�dt�du�dv�dw�dx�dy�dz�d{�d|�d}�d~�d�d€�d��d‚�dƒ�d„�d…�d†�d‡�dˆ�d‰�dŠ�d‹�dŒ�d��dŽ�d��d��d‘�d’�d“�d”�d•�d–�d—�d˜�d™�dš�d›�dœ�d��dž�dŸ�d �d¡�d¢�d£�d¤�d¥�d¦�d§�d¨�d©�dª�d«�d¬�d­�d®�d¯�d°�d±�d²�d³�d´�dµ�d¶�d·�d¸�d¹�dº�d»�d¼�d½�d¾�d¿�dÀ�dÁ�dÂ�dÃ�dÄ�dÅ�dÆ�dÇ�dÈ�dÉ�dÊ�dË�dÌ�dÍ�dÎ�dÏ�dÐ�dÑ�dÒ�dÓ�dÔ�dÕ�dÖ�d×�dØ�dÙ�dÚ�dÛ�dÜ�dÝ�dÞ�dß�dà�dá�dâ�dã�dä�då�dæ�dç�dè�dé�dê�dë�dì�dí�dî�dï�dð�dñ�dò�dó�dô�dõ�dö�d÷�dø�dù�dú�dû�d�dü�dý�dþ�dÿ�d �d�d�d�d�d�d�d�d�d	�d
�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�d$�d%�d&�d'�d(�d)�d*�d+�d,�d-�d.�d/�d0�d1�d2�d3�d4�d5�d6�d7�d8�d9�d:�d;�d<�d=�d>�d?�d@�dA�dB�dC�dD�dE�dF�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dR�dS�dT�dU�dV�dW�dX�dY�dZ�d[�d\�d]�d^�d_�d`�da�db�dc�dd�de�df�dg�dh�di�dj�dk�dl�dm�dn�do�dp�dq�dr�ds�dt�du�dv�dw�dx�dy�dz�d{�d|�d}�d~�d�d€�d��d‚�dƒ�d„�d…�d†�d‡�dˆ�d‰�dŠ�d‹�dŒ�d��dŽ�d��d��d‘�d’�d“�d”�d•�d–�d—�d˜�d™�dš�d›�dœ�d��dž�dŸ�d �d¡�d¢�d£�d¤�d¥�d¦�d§�d¨�d©�dª�d«�d¬�d­�d®�d¯�d°�d±�d²�d³�d´�dµ�d¶�d·�d¸�d¹�dº�d»�d¼�d½�d¾�d¿�dÀ�dÁ�dÂ�dÃ�dÄ�dÅ�dÆ�dÇ�dÈ�dÉ�dÊ�dË�dÌ�dÍ�dÎ�dÏ�dÐ�dÑ�dÒ�dÓ�dÔ�dÕ�dÖ�d×�dØ�dÙ�dÚ�dÛ�dÜ�dÝ�dÞ�dß�dà�dá�dâ�d‰�dã�dä�då�dæ�dç�dè�dé�dê�dë�dì�dí�dî�dï�dð�dñ�dò�dó�dô�dõ�dö�d÷�dø�dù�dú�dû�dü�dý�gCtƒ}t ||tƒ|k�szt‚tdd¢dcd£ddFd\d_ddad²d›d"dUd7dddOddhdd+ddd3�dþ�dÿd€drd‘dCd'dEd™dŸd£d³d?d8dkd–dd°d+dEd]ddd1d‹dŸdd\d'ded¡d…ddd�d dBdqd¬d¢d—d�dddd¦ddmd•dTdd¦ddŠdQdWddrdd¦d¢d[�dÿd3dd²d*dzdMdxddRd€d½d$d–d�dŒd®dwd
d°d­d}d¥ddUdwdd}d½dIdd#dšd:d1dd¸d¦d0d£d6dQdW�ddd¡dŠd“dd¥dgdŽd+d‹d´d“d]d3dŠd	dwdbd�ddb�dd�dd!d-dVdˆdG�ddHdd{drdœd.d•ddd_d³d�dJdPd©dfd¯dºd d²dd1d…dMdyd[ddVd¬d´�ddŒddd¢d8d5dVd¢d�dd#d­d…dLd)d^dgdhddŽdadfd¥dWdDdQd�d”ddd®d(dd¯dJd'd‡d;dRdd�d±dyd>d;ddd¬d.dbd¦d;d¦d_dedgõtƒ}td�dŠd0dRdvd‹d…d.dZd¡dDd®d¼d8dd)d]ddad‚d8dbd—d'd›dadzd�dÿd8d2d-�dd›d‰�ddzd¡d³ddˆdbd³�ddDd¥dWd>d±drddgd‹dddSd¬d!d�dd®d·dHdcd-dd9d$d°d@dŽd¶d�dd8d9dµd4d¸džd>d—ddXddFd’dd9d�ddd‚d«d®dydYdd®dFdhdgd5d¸�dd?dOdd��dd�dºddµd(d¥d§d0dod�dldxd“d²d\d7dd"d¾d�dFdpdddŒdOdƒd¤d5dMd`d.d7d)ddAdN�dd’djd—d›d'�d�dd”dcd‚d.�ddjd­d[dGdZ�ddKd!dN�ddd'd†dZd"d»džd=d‘dgd—d!�d�dÿdmd„dd�dGd”dwdmdGdRdddidPd@ddC�dd>d{d~dŽd—dDd–�dd³d-dP�dd9d^d¤d¨dªd˜d0dd!�ddSdd…dgdbdLdUd`d�d¼d@dŽd”dšddfdOd}d0d¦d–d‰dIdd·d¼d_d­dSd=dšdd—ded0d4d|dªd{dd$dhdd§dsd d8drdUd2dLd”ddd“d;d–d�d{d½dndš�dd_�dd‚dX�dd¤dGdNdJd¸d¾d/d)�g+tƒ}t�d	�d
�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�d$�d%�d&�d'�d(�d)�d*�d+�d,�d-�d.�d/�d0�d1�d2�d3�d4�d5�d6�d7�d8�d9�d:�d;�d<�d=�d>�d?�d@�dA�dB�dC�dD�dE�dF�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dR�dS�dT�dU�dV�dW�dX�dY�dZ�d[�d\�d]�d^�d_�d`�da�db�dc�dd�de�df�dg�dh�di�dj�dk�dl�dm�dn�do�dp�dq�dr�ds�dt�du�dv�dw�dx�dy�dz�d{�d|�d}�d~�d�d€�d��d‚�dƒ�d„�d…�d†�d‡�dˆ�d‰�dŠ�d‹�dŒ�d��dŽ�d��d��d‘�d’�d“�d”�d•�d–�d—�d˜�d™�dš�d›�dœ�d��dž�dŸ�d �d¡�d¢�d£�d¤�d¥�d¦�d§�d¨�d©�dª�d«�d¬�d­�d®�d¯�d°�d±�d²�d³�d´�dµ�d¶�d·�d¸�d¹�dº�d»�d¼�d½�d¾�d¿�dÀ�dÁ�dÂ�dÃ�dÄ�dÅ�dÆ�dÇ�dÈ�dÉ�dÊ�dË�dÌ�dÍ�dÎ�dÏ�dÐ�dÑ�dÒ�dÓ�dÔ�dÕ�dÖ�d×�dØ�dÙ�dÚ�dÛ�dÜ�dÝ�dÞ�dß�dà�dá�dâ�dã�dä�då�dæ�dç�dè�dé�dê�dë�dì�dí�dî�dï�dð�dñ�dò�dó�dô�dõ�dö�d÷�dø�dù�dú�dû�dü�dý�dþ�dÿ�d �d�d�d�d�d�d�d�d�d	�d
�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�d$�d%�d&�d'�d(�d¯�d)�d*�d+�d,�d-�d.�d/�d0�d1�d2�d3�d4�d5�d6�d7�d8�d9�d:�d;�d<�d=�d>�d?�d@�dA�dB�dC�dD�dE�dF�dG�dH�dI�dJ�dK�dL�dM�dN�dO�dP�dQ�dR�dS�dT�dU�dV�dW�dX�dY�dZ�d[�d\�d]�d^�d_�d`�da�db�dc�dd�de�df�dg�dh�di�dj�dk�dl�dm�dn�do�dp�dq�dr�ds�dt�du�dv�dw�dx�dy�dz�d{�d|�d}�d~�d�d€�d��d‚�dV�dƒ�d„�d…�d†�d‡�dˆ�d‰�dŠ�d‹�dŒ�d��dŽ�d��d��d‘�d’�d“�d”�d•�d–�d—�d˜�d™�dš�d›�dœ�d��dž�dŸ�d �d¡�d¢�d£�d¤�d¥�d¦�d§�d¨�d©�dª�d«�d¬�d­�d®�d¯�d°�d±�d²�d³�d´�dµ�d¶�d·�d¸�d¹�dº�d»�d¼�d½�d¾�d¿�dÀ�dÁ�dÂ�dÃ�dÄ�dÅ�dÆ�dÇ�dÈ�dÉ�dÊ�dË�dÌ�dÍd”�dÎ�dÏ�dÐ�dÑ�dÒ�dÓ�dÔ�dÕ�dÖ�d×�dØ�dÙ�dÚ�dÛ�dÜ�dÝ�dÞ�dß�dà�dá�dâ�dã�dä�då�dæ�dç�dè�dé�dê�dë�dì�dí�dî�dï�dð�dñ�dò�dó�dô�dõ�dö�d÷�dø�dù�dú�dû�dü�dý�dº�dþ�dÿ�d �d�d�d�d�d�d�d�d�d	�d
�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d�d �d!�d"�d#�gtƒ}t ||tƒ|k�s´t‚d S ($  NrQ   rU   rR   é#   rP   rT   rS   rb   é1   r   rV   ro   é   rp   é   éO   rW   éN   i¢ÿÿÿiöÿÿÿrˆ   é    éíÿÿÿi§ÿÿÿé   éI   é*   éU   éM   éS   iâÿÿÿiÞÿÿÿr„   é_   i¯ÿÿÿé%   iÏÿÿÿiÒÿÿÿiÆÿÿÿiðÿÿÿiõÿÿÿiÇÿÿÿiñÿÿÿiáÿÿÿéC   iìÿÿÿé   éL   éF   i¿ÿÿÿéA   iæÿÿÿi£ÿÿÿéÔÿÿÿiôÿÿÿi¤ÿÿÿé9   i¦ÿÿÿi½ÿÿÿižÿÿÿi»ÿÿÿéa   i×ÿÿÿéY   é!   iÎÿÿÿéQ   é<   iåÿÿÿé+   é   i³ÿÿÿé,   é   i¥ÿÿÿé5   iÍÿÿÿiÚÿÿÿi�ÿÿÿi¬ÿÿÿé   éB   iœÿÿÿiµÿÿÿiçÿÿÿiÄÿÿÿéb   i©ÿÿÿre   iäÿÿÿi¡ÿÿÿi¨ÿÿÿiÝÿÿÿé   r�   é   é7   r   iªÿÿÿéD   iÙÿÿÿéT   é^   é-   é\   i¶ÿÿÿéK   é[   é"   r…   iîÿÿÿiãÿÿÿi°ÿÿÿé   r‰   é:   é   r‚   iËÿÿÿiÖÿÿÿiêÿÿÿéúÿÿÿé3   iøÿÿÿiÌÿÿÿi¸ÿÿÿéR   ióÿÿÿiéÿÿÿé?   iÕÿÿÿiÅÿÿÿé.   i«ÿÿÿé>   i¹ÿÿÿi´ÿÿÿéX   iÀÿÿÿéH   iÐÿÿÿi²ÿÿÿéd   é4   éV   rŒ   iºÿÿÿiÁÿÿÿiÑÿÿÿéZ   é   i­ÿÿÿé2   é   éJ   éP   é)   é   iØÿÿÿiëÿÿÿéE   iÃÿÿÿièÿÿÿiàÿÿÿi¼ÿÿÿé0   iÊÿÿÿiÈÿÿÿrn   iòÿÿÿé=   i ÿÿÿi·ÿÿÿé`   é8   é(   i±ÿÿÿi¾ÿÿÿé'   iŸÿÿÿéW   é@   é6   é$   ißÿÿÿiïÿÿÿé&   iÜÿÿÿé   i®ÿÿÿi  iâùÿÿi`  iÖâÿÿiã  i¾-  iA  iñãÿÿigñÿÿiñâÿÿiY  iœØÿÿiÊ_  iOûÿÿi.  iû×ÿÿin%  i0$  io  i[  i	J  i5'  i\Äÿÿi¶êÿÿi*  i�çÿÿi?ñÿÿiö  i¸*  i÷¾ÿÿizèÿÿi?  iDz  iò`  i²|  iø  i®  iÈi  i–=  iœs  iã  iÉ|  iž²ÿÿiÑ  ivkÿÿi}ðÿÿi©%  iQ´ÿÿi”  i`ŠÿÿiHÑÿÿióÍÿÿiß4  iÎw  i%  i3Uÿÿi÷Èÿÿiï,  i§ÿÿiã  ii«  iY’  i}ÿÿiÊ|ÿÿiŠdÿÿi"lÿÿiÞ·ÿÿiáÿÿitÿÿi\šÿÿiÅoÿÿi¼Óÿÿi½éÿÿiNb  iµóÿÿi­M  i¢2  iM¯ÿÿi–ùÿÿiKl  iõ#ÿÿiüŸÿÿiþÔÿÿi±ÿÿiwN  i$£ÿÿiZÁÿÿi´–  i¥Q  iÕ9ÿÿi%}  i5ïÿÿiŒg  ivF  i;‘ÿÿif|  iãÿÿi4±ÿÿiêÁÿÿi0  ib  i&Mÿÿi^³  iÛ'ÿÿiHƒÿÿiì>ÿÿi€‹ÿÿiTÿÿißŸÿÿiÐÃÿÿi©uÿÿiù·ÿÿi‹'  ix°ÿÿicþþÿiL‚  i“°ÿÿilg  i·‚ÿÿiUƒ  i¢  iƒp  iÙXÿÿi¬®  i•  i0  i5ùÿÿi�,  i© iCâÿÿiÙ7  i•  ibþÿÿi/ i_  iY¬ÿÿi·r  i�¦  iM6  iàþÿÿiSÇ  iÍÑÿÿi|d i�©  iÉY i®Äÿÿi¬ iïÐÿÿiâ  iPÐÿÿiÊ#ÿÿi <  i‘ýÿÿiÂáÿÿi‰Æ  i¿+  iÒÅÿÿi¼Ÿ  iÇè  i„…ÿÿiè�ÿÿiÿÿi9©þÿi0|ÿÿiì�ÿÿiïŽÿÿi¡bÿÿiE”  iÊtÿÿiy‚  i¢ÿÿi:  id�  iÞ iÍÕÿÿi’� iÙçþÿiý²þÿiÞ  iw¨ÿÿi% iW† iâ‰  iiûÿÿiýÿÿiHxÿÿi¥Öÿÿi*Fÿÿi[ÿÿiƒ³ÿÿiuUÿÿiŸ+ÿÿi‚ÿÿi‡eÿÿiy;  iz ÿÿié+  iùþÿi<Šÿÿiù›  i“  i/8  iýàþÿi¼ÐþÿihÃþÿihsÿÿi�¢  iáŸþÿi‰, iPàÿÿiÝ  i¤#  ibcÿÿi¬�ÿÿiÅ3  i’*  iI6ÿÿi&Ž  i6/  i£øÿÿij‰ io�ÿÿi£ÿÿiÑ¶ÿÿiäI  iž?  iö)  iÀªþÿiÊÿÿiÁ)  ië³ÿÿi¶‹ÿÿiÄ  iÝN  i—ßÿÿi· iß·  iº  iÏ±  ióïÿÿi<D  i!óþÿiõ1 i¯æÿÿiw«ÿÿiý³ÿÿiÇx  isw iŸ!  i]Ð  ii}  i­Àÿÿiò[  i«ß  iÖþÿiyaÿÿi�ò  io–  i1zÿÿi'aÿÿidaÿÿimÿÿiVÄÿÿi„�  iÃÉÿÿiÔ” i–Ï iëÈÿÿiö•þÿiIvþÿiJ
  i/ù  iÚ iVK  iâxÿÿiµ­ÿÿi&êþÿi$c  iy`ÿÿi"”ÿÿi4šÿÿi†Ì  iOÃÿÿij  i£åÿÿi­�  iæ}ÿÿi—3  i4œþÿi\êÿÿiä ÿÿi¬ i‰¬  irÿÿiî^ÿÿialþÿiH
ÿÿiŠÞÿÿi½   i¾Íÿÿi i¬]  i.  ivã  iÞ  iÚ  ii¨  i!àÿÿiËÁÿÿiÿ  i^N iøÚþÿiªÀÿÿiú
ÿÿi˜gÿÿiª!  ivÿÿiŽZ  i'Ã  i¾À  iZóÿÿi¯žÿÿiînÿÿi2 iÃ~  iÁ  iRÓÿÿiorÿÿi—lÿÿié  iûóÿÿiŸÿÿiaâ  iÏ  ié„ÿÿià›þÿi71  i‡\ÿÿih¢  ië×  iµÿÿiÆº  i‘ÿÿi0  i´‚ÿÿiŸ(ÿÿio´þÿif”ÿÿiØ  i—òÿÿi’+ÿÿiˆº i3Šÿÿiå" i+G  i8 i´÷ÿÿi_‚ i÷D  i%}ÿÿi£ÿÿiŠ¸  iïmÿÿiµ… iï9  i=Rÿÿi0*  i„ÿÿi2ÿÿi’  iYV  it  i®±ÿÿiÒ5  i£ª  i�  i.!  i$î  iŒ§ÿÿi>{  iãºÿÿi„  i1þÿiòÏÿÿi�K  i°O  i'‡ÿÿiº«ÿÿi{ÿÿiœ}ÿÿiÛÜ  i_žÿÿiÙþÿi	úÿÿi;Ñ  iÿ  i›ÿÿÿiIÑ  ig”  iI  i£ÿÿifàÿÿi�DÿÿiŽþÿiï£  i2  i!Æÿÿi™�þÿièE  iººÿÿiŠÿÿiúüÿÿiöiÿÿiþ`  iòs  iÀ* i²å  i°Jÿÿi„°ÿÿiWÿÿiõþÿi.õþÿi]  i’„ÿÿiÜ§  iç�  i(q  išÿþÿiz«ÿÿi"_  i\ßÿÿi™h  iöÎ  iùÑÿÿiíSÿÿi�˜ÿÿiOQÿÿií�ÿÿiï/ÿÿiœÿÿi“õÿÿi{¬  i¢Y  iê·ÿÿiˆÿÿiÔÿÿi4ä  i"  iw iI  i£  i× iš¨  i.  iM\ÿÿiýO  ièÌÿÿiŸ  i(èÿÿiDÌÿÿie§  i·§  iat  iz�  iI’ÿÿiño  iF  iO  i$  ióS  iÆ”ÿÿiO¡ÿÿi”€þÿi^¹ÿÿi‹Yÿÿi žÿÿi*  iÆÿÿi¡SÿÿifÚ  i¹9  i¯y  in÷ÿÿi&™  iÌ÷ÿÿi�ïÿÿi3.  i*Ýÿÿiñ³ÿÿiw i_Ž  iÊÿþÿiÓwÿÿi½ÿÿi	OÿÿiA#  i[ãÿÿiouÿÿi]+  iv-  iq  iâ  i¸\ÿÿiÈ$  io5  iä‚  i6ž  i‚ÿÿiæ?  iÈ   iWÿÿièsÿÿi±zÿÿi¯Aÿÿi&Œ  i†w  iÖo  i7O  iñ±ÿÿiÒÆÿÿiy ÿÿiÅøÿÿi°Óÿÿi^°  iC¤  i²e  i'�ÿÿi‚�ÿÿi9òÿÿi<Çÿÿi$X  i¶¨ÿÿiÝ  iº-  i²n  iŒšÿÿiÜÿÿi­¦ÿÿiÏÿÿix}  i¸îÿÿiK,  i‡{ÿÿiðãÿÿií  i ¤ÿÿi%½ÿÿiW…ÿÿi’U  ild  iÖ   i­  i›âÿÿi–  iQ  iÓN  iÄX  i¬-  iñ3  i½	  iÿÿÿi7¾ÿÿiE¼ÿÿiŸåÿÿi8íÿÿi   iÕÿÿiØÿÿiÊÿÿirÎÿÿii  i	  iŽ  i•üÿÿi|øÿÿiÉÿÿÿé/   iÛÿÿÿéG   r‘   iÓÿÿÿé;   éc   iÂÿÿÿé   é]   iÜ  i$  i4òÿÿiÚàÿÿiÙÓÿÿi«Øÿÿil  iþòÿÿiéÿÿi6  iA  i?,  idÙÿÿi¡àÿÿi¿C  i+R  i¶Öÿÿi»Ûÿÿi>  iÄ  iýÈÿÿis"  i¸D  i¯'  i  i½Òÿÿi–!  i¡¿ÿÿi  iüc  i5&  iƒ/  é–   i=I  iêªÿÿiíÏÿÿiºk  i;õÿÿiãÎÿÿi1  iÉ  iôµÿÿi/L  iÿÂÿÿi£  iv¾ÿÿió�  i$\  iÆ�ÿÿiu  i÷ž  iŸâÿÿi[.ÿÿi?öÿÿiž·ÿÿir  iÎÞ  iV  iñäÿÿiÙÃÿÿi8  iwÿÿi°“ÿÿi<  iÈÁ  iS;  i:ÝÿÿiøÚÿÿiãÿÿibÿÿiØ  i×\  iVâÿÿiåÿÿiA�  ibI  i /  i^`  iŠy  iŠ  ikîÿÿi¬ÆÿÿiÃ  ivÿÿi˜¬ÿÿi)Q  iÍL  i­P  iÚƒ  i‹üÿÿiUÿÿi}  i¹Ê  iÑ�ÿÿi0ƒþÿiÉÚÿÿi²5  i|-  iìD  i(«ÿÿiæ\  i×ÿÿiûº  iQ  i„  i­øÿÿiî›  iâáÿÿix`ÿÿi`M  iHÿÿiZ  i¶  iqb  iG$  ilŠ  i¾ùÿÿi­%  i6ÑÿÿiÙ3  i¸<  i¹‚  i_N  iû­  i§-  i²j  ivæÿÿi¥mÿÿiÏ6  iÊ€  i2–ÿÿik¡  ios  iv i�gÿÿiXlÿÿi(©ÿÿi   iì´  iËŽÿÿi(ÿÿiñÄ  iPÿÿiâSÿÿi—  iÅ’  iÜõÿÿiƒÕÿÿi{ªÿÿiž÷ýÿiU|ÿÿig›ÿÿiÅÚÿÿizD  iÆî  i¼
  iU$ÿÿib«  iˆÕÿÿi¥žþÿiM‰ÿÿiCÂ i ãÿÿi\Rÿÿiß i÷9  i©ýÿÿia(  iNß  iuøþÿiS)ÿÿiµø  i²  i8H  irÍ  i%  iâ�þÿid  iõ0 iåêÿÿi¶ÿÿi„¸  i	�  i5£ýÿi´™ÿÿiûA iŸeÿÿiü  iø  iœ  i™0ÿÿiÊ·  i	f  i![ÿÿi­4 iÍÿÿiÃ	  i�úþÿipq  i]åþÿiH¤ÿÿix[  i«Íÿÿi?Sÿÿi@Yÿÿi€ïÿÿi’M  iØ  iw=  iÉ,  iô� iÿfÿÿiJÊ  iƒ9  i©  i§óþÿi@  i‡h i¿Ý  i  iê´ iÆ  iûÂ iÕiÿÿiF³ÿÿiwÿÿiö'  i…n iÝ"  iGö  iJ  iBr  iR!  i‡  i»€þÿiÃ<þÿiïÓþÿiìÝÿÿiT   i   izsÿÿiå5 ii�ÿÿi{  i¬Öÿÿi ÿÿi’Àÿÿi**  iåðÿÿia  iªá  i°6ÿÿi wÿÿiy i�t  iMò  i+äÿÿioþÿiW‚ÿÿiÝDÿÿi‹d ihÿÿijÿÿisÂÿÿiûÿÿi».  iv  iS\ÿÿi/]ÿÿiNz  iNm  iµH  i@ñ  iJí  i(ÿÿiÛ‚  i‘u  i³¹ÿÿià]  izÜ  iž»þÿiÃ\  i=®ÿÿi&ªÿÿià“ýÿieÙÿÿi‚àþÿiÍàÿÿi%þÿi—9þÿiyw  i!Ð  iJÇ  i÷�ÿÿiÿY iH   i-cÿÿi_ÀÿÿiÀ¹ i
2  i”æÿÿi°Œ iÍÿÿiˆ†  i�\ÿÿi� iÇ^  i”: i4ñ  i&  i  i@¯ÿÿi¿  i®ÕÿÿiÜçþÿi‡S i.–þÿiù˜  iJo  i§= iT¶  ià  i
ª  ivi  ipà  ibÝÿÿi=î  iž6  i/  iP÷ÿÿi—9  iwØ  i;@ÿÿi‰�ÿÿiGq  iý  i‘Ú  iµ·þÿiœáÿÿiÿÿi)ß  imGÿÿi,ð  i*ò  içÍþÿi¦¼þÿi×W  iò–ÿÿi&  isÜþÿiaÃÿÿiøîÿÿi£u  iÁ¥  i“Š  i¶;  iˆ iT  i
±ÿÿiS3 iU­ÿÿi5  i³,  i6Öÿÿi‹.ÿÿi•-ÿÿi¥¡ÿÿiôû  iàXÿÿiË~ÿÿiŒ¿ÿÿii  iÌ1ÿÿiÒ8  i…kÿÿin�  iWdÿÿi{ÿÿi|D iû:ÿÿiÇ™ÿÿifIÿÿi1ç  i¥  iýsþÿiqÍÿÿi‰u  i2ÿÿi¯�  iÃX  iÓ‰ÿÿi3ÿÿiVëþÿi¥ÿÿi  i9„ÿÿig7  i§üÿÿi-�ÿÿi®‰  i¬7ÿÿi  iëäÿÿië i.�  iïÆ  iÏ`  i�  iü�  iá°  iR²  i¶ìÿÿiÙÿÿiÂ§ÿÿi{»  im i^  iÿÿiºÿÿiÅÆÿÿiìH  iYF  ii1  iµÑÿÿiµËÿÿisO  iøÌ  iÁûÿÿi.¬ÿÿiÙóþÿiGÌ  ié=  i ž  iÛ;  iLb  iH�ÿÿip(  iqäÿÿi÷  i¿T  iëÿÿi¿)ÿÿiïŠ i}žÿÿiñÖÿÿiË�  ië  iR   i,ðþÿi^h  iÝ¯ÿÿi)  i÷”  i^  iÜuÿÿiÎÿÿië¶ÿÿiãº  i•½  iABÿÿicC  i>´ÿÿin€  iÎÜÿÿi¦Üÿÿiø  i‰Ïÿÿi¬m  i›òÿÿiìb  iŽïÿÿiù™ÿÿið  ií�ÿÿi[n  iÄÓÿÿit‚ÿÿiÚòÿÿiÑ�ÿÿiI  iœ„ÿÿiyäÿÿi5¡ÿÿiCÃ  i�Åÿÿio~ÿÿip“  iØáÿÿiµÜÿÿiDB  i	õÿÿi[þÿÿi"7  i7½ÿÿi¢Êÿÿi´ž  i•Ðÿÿi-Ûÿÿiù  i�D  iPÌÿÿiL&  iãÿÿiu
  iÛo  i¨ßÿÿiÖìÿÿi\  iâ§ÿÿiä  i«0  i4"  itðÿÿiwíÿÿi£·ÿÿié  iR  i·¿ÿÿiO  i™çÿÿiÊÿÿiÉ	  i{.  i�  i
ÅÿÿiX  iQ¶ÿÿé‰   is+  i\îÿÿiò  inÞÿÿiv/  it×ÿÿi½  is  iJãÿÿiç	  i¦üÿÿ)r   rH   rX   rI   r   rG   )rM   rh   ÚhÚKÚp1Zp2ÚresrK   rK   rN   Útest_dup_mul¯  s\   &&..:                                                                                                                                                                                                            òò                                                                                                                                                                                                                                                                                                                         ëë                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              Ã=Ã?                                                                                                                                                                                                                         ññ                                                                                                                                                                                                                                                                            îî"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               È8È:rñ   c                  C   sš  t tdƒgtdƒgdtƒttdƒgtdƒgtƒks6t‚t tddƒgtddƒgdtƒttddƒgtddƒgtƒkstt‚t g ggg ggdtƒg ggks–t‚t tdƒgggg ggdtƒg ggks¾t‚t g ggtdƒgggdtƒg ggksæt‚t tdƒgggtdƒgggdtƒtdƒgggk�st‚t tdƒgggtdƒgggdtƒtdƒgggk�sRt‚t g ggg ggdtƒg ggk�svt‚t tddƒgggg ggdtƒg ggk�s¢t‚t g ggtddƒgggdtƒg ggk�sÎt‚t tddƒgggtddƒgggdtƒtddƒgggk�s
t‚t tddƒgggtddƒgggdtƒtddƒgggk�sFt‚tdƒ} t | dƒg| dƒgg| dƒg| d	ƒggd| ƒ| dƒg| d	ƒggk�s–t‚d S )
NrU   rR   r   rS   rP   rQ   r²   rV   rT   )r    rH   r   rX   rI   rG   ©rî   rK   rK   rN   Útest_dmp_mul’  s2    ÿÿ"((66$,,<<   ÿÿró   c                  C   sF  t g tƒg kst‚t tdƒgtƒtdƒgks0t‚t tdƒtdƒgtƒtdƒtdƒtdƒgks`t‚t g tƒg ksrt‚t tddƒgtƒtddƒgks”t‚t tddƒtddƒgtƒtddƒtddƒtddƒgksÎt‚tdddddgtƒ} t | tƒtdddddddd	d
g	tƒk�st‚tdƒ}t |dƒ|dƒg|ƒ|dƒ|dƒgk�sBt‚d S )NrP   rT   rQ   rS   r‚   r   rR   r–   rp   r”   rV   )r!   rH   rX   rI   r   rG   )rM   rî   rK   rK   rN   Útest_dup_sqrª  s    0":,rô   c                  C   sþ   t tdƒtdƒgdtƒttdƒtdƒgtƒks2t‚t g ggdtƒg ggksNt‚t tdƒgggdtƒtdƒgggksvt‚t g ggdtƒg ggks’t‚t tddƒgggdtƒtddƒgggks¾t‚tdƒ} t | dƒg| dƒggd| ƒ| dƒg| dƒggksút‚d S )	NrQ   rP   r   rT   rS   r‚   rV   rR   )r"   rH   r!   rX   rI   rG   rò   rK   rK   rN   Útest_dmp_sqr¼  s    ÿ(,rõ   c                  C   sÂ  t g dtƒtdƒgkst‚t g dtƒtdƒgks4t‚t g dtƒg ksHt‚t g dtƒg ks\t‚t tdƒgdtƒtdƒgks|t‚t tdƒgdtƒtdƒgksœt‚t tdƒgdtƒtdƒgks¼t‚t tdƒgdtƒtdƒgksÜt‚t tdƒgdtƒtdƒgksüt‚t tdƒgdtƒtdƒgk�st‚t tddƒgdtƒtddƒgk�sDt‚t tddƒgdtƒtddƒgk�sjt‚t tddƒgdtƒtddƒgk�s�t‚t tddƒgdtƒtddƒgk�s¶t‚t tddƒgdtƒtddƒgk�sÜt‚t tddƒgdtƒtddƒgk�st‚tdddddgtƒ} t | dtƒtdgtƒk�s4t‚t | dtƒtdddddgtƒk�sZt‚t | dtƒtddddd	ddd
dg	tƒk�sˆt‚t | dtƒtdddddddddddddgtƒk�s¾t‚d S )Nr   rQ   rR   rS   é‹  é÷� rP   rT   r–   rp   r”   re   ro   r»   rV   i&  r²   é“   iW  )r#   rH   rX   rI   r   rY   rK   rK   rN   Útest_dup_powË  s0         "&&&&&&&. ÿrù   c                  C   s¢  t g gddtƒtdƒggks t‚t g gddtƒtdƒggks@t‚t g gddtƒg gksZt‚t g gddtƒg gkstt‚t tdƒggddtƒtdƒggksšt‚t tdƒggddtƒtdƒggksÀt‚t tdƒggddtƒtdƒggksæt‚t tddƒggddtƒtddƒggk�st‚t tddƒggddtƒtddƒggk�s>t‚t tddƒggddtƒtddƒggk�sjt‚tdddddgtƒ} t | ddtƒt| dtƒk�sžt‚d S )Nr   rQ   rR   rS   rö   r÷   rP   )r$   rH   rX   rI   r   r#   rY   rK   rK   rN   Útest_dmp_powë  s      &&&,,,rú   c                     s*  t ddddgtƒ‰ t dddgtƒ‰t ddgtƒ} t ddgtƒ}tˆ ˆtƒ| |fksVt‚tˆ ˆtƒ| ksjt‚tˆ ˆtƒ|ks~t‚tt‡ ‡fd	d
„ƒ t ddddgtƒ‰ t dddgtƒ‰t ddgtƒ} t ddgtƒ}tˆ ˆtƒ| |fksèt‚tˆ ˆtƒ| ksüt‚tˆ ˆtƒ|k�st‚tt‡ ‡fdd
„ƒ d S )NrS   rQ   rU   r…   rb   rp   rÎ   éo   c                      s   t ˆ ˆtƒS ©N)r,   rH   rK   rg   rK   rN   rs   
  ó    ztest_dup_pdiv.<locals>.<lambda>c                      s   t ˆ ˆtƒS rü   )r,   rI   rK   rg   rK   rN   rs     rý   )	r   rH   r)   rX   r+   r*   rJ   rE   rI   ©ÚqÚrrK   rg   rN   Útest_dup_pdivÿ  s     r  c                     sr  t dgg dddggdtƒ‰ t dgddggdtƒ‰t dgddggdtƒ} t dddggdtƒ}tˆ ˆdtƒ| |fkstt‚tˆ ˆdtƒ| ksŠt‚tˆ ˆdtƒ|ks t‚tt‡ ‡fdd„ƒ t dgg dddggdtƒ‰ t dgddggdtƒ‰t dgddggdtƒ} t dddggdtƒ}tˆ ˆdtƒ| |fk�s*t‚tˆ ˆdtƒ| k�sBt‚tˆ ˆdtƒ|k�sZt‚tt‡ ‡fd	d„ƒ d S )
NrQ   r   rW   rP   c                      s   t ˆ ˆdtƒS ©NrQ   ©r0   rH   rK   rg   rK   rN   rs   $  rý   ztest_dmp_pdiv.<locals>.<lambda>r„   re   c                      s   t ˆ ˆdtƒS r  r  rK   rg   rK   rN   rs   0  rý   )r   rH   r-   rX   r/   r.   rJ   rE   rþ   rK   rg   rN   Útest_dmp_pdiv  s     r  c                  C   sV   t tdd„ ƒ tddddgtƒ} tdddgtƒ}g |  }}t| |tƒ||fksRt‚d S )Nc                   S   s   t dddgg tƒS rw   )r1   rH   rK   rK   rK   rN   rs   4  rý   z!test_dup_rr_div.<locals>.<lambda>rS   rQ   rU   r…   )rJ   rt   r   rH   r1   rX   ©rM   rh   rÿ   r   rK   rK   rN   Útest_dup_rr_div3  s
    
r  c                  C   sR  t tdd„ ƒ tdgg dddggdtƒ} tdgddggdtƒ}tdgddggdtƒ}tdddggdtƒ}t| |dtƒ||fks‚t‚tdgg dddggdtƒ} tdgddggdtƒ}tdgddggdtƒ}tdddggdtƒ}t| |dtƒ||fksöt‚tdgg dddggdtƒ} tdgddggdtƒ}g g|  }}t| |dtƒ||fk�sNt‚d S )Nc                   S   s   t ddgdggg gdtƒS rw   )r2   rH   rK   rK   rK   rN   rs   ?  rý   z!test_dmp_rr_div.<locals>.<lambda>rQ   r   rW   rP   r„   )rJ   rt   r   rH   r2   rX   r  rK   rK   rN   Útest_dmp_rr_div>  s    r  c                  C   st   t tdd„ ƒ tddddgtƒ} tdddgtƒ}tddƒtddƒg}td	dƒtd
dƒg}t| |tƒ||fkspt‚d S )Nc                   S   s   t dddgg tƒS rw   )r3   rI   rK   rK   rK   rN   rs   Z  rý   z!test_dup_ff_div.<locals>.<lambda>rS   rQ   rU   r…   rp   rÑ   rÎ   rû   )rJ   rt   r   rI   r3   rX   r  rK   rK   rN   Útest_dup_ff_divY  s    r  c                  C   sò   t dkrd S ddlm}  ddlm} |ƒ }| ddƒ| ddƒg}| ddƒg}t||d|ƒ| ddƒ| dd	ƒgg fkstt‚| ddƒ| ddƒ| dd	ƒ| dd
ƒg}| ddƒ| ddƒ| ddƒg}t||d|ƒ| ddƒ| ddƒg| ddƒ| ddƒgfksît‚d S )NÚgmpy2r   )Úmpq)ÚGMPYRationalFieldrQ   rS   rP   rV   rT   rU   rW   rŒ   rR   ro   rš   r›   )r   r	  r
  Úsympy.polys.domainsr  r4   rX   )r
  r  rî   rM   rh   rK   rK   rN   Útest_dup_ff_div_gmpy2d  s    *$r  c                  C   s®  t tdd„ ƒ tdgg dddggdtƒ} tdgddggdtƒ}tddƒgtddƒtddƒgg}tddƒtddƒtddƒgg}t| |dtƒ||fks–t‚tdgg dddggdtƒ} tdgddggdtƒ}tddƒgtddƒtddƒgg}tddƒtddƒtddƒgg}t| |dtƒ||fk�s t‚tdgg dddggdtƒ} tdgddggdtƒ}tddƒgtddƒtddƒgg}tddƒtddƒtddƒgg}t| |dtƒ||fk�sªt‚d S )Nc                   S   s   t ddgdggg gdtƒS rw   )r4   rI   rK   rK   rK   rN   rs   u  rý   z!test_dmp_ff_div.<locals>.<lambda>rQ   r   rW   rP   r„   )rJ   rt   r   rI   r4   rX   r  rK   rK   rN   Útest_dmp_ff_divt  s        r  c                     s  dddddgdddgdddgddgf\‰ ‰} }t ˆ ˆtƒ| |fksFt‚tˆ ˆtƒ| ksZt‚tˆ ˆtƒ|ksnt‚tt‡ ‡fd	d
„ƒ ddddddgdddddgddgddddgf\‰ ‰} }t ˆ ˆtƒ| |fksÐt‚tˆ ˆtƒ| ksät‚tˆ ˆtƒ|ksøt‚tt‡ ‡fdd
„ƒ d S )NrU   rT   rS   rP   rQ   rÅ   r   rÄ   c                      s   t ˆ ˆtƒS rü   ©r8   rH   rK   rg   rK   rN   rs   —  rý   ztest_dup_div.<locals>.<lambda>r‚   rb   r¨   rá   c                      s   t ˆ ˆtƒS rü   r  rK   rg   rK   rN   rs   Ÿ  rý   )r5   rH   rX   r7   r6   rJ   rE   rþ   rK   rg   rN   Útest_dup_div�  s    .6r  c                     s  dddddgdddgdddgddgf\‰ ‰} }t ˆ ˆdtƒ| |fksHt‚tˆ ˆdtƒ| ks^t‚tˆ ˆdtƒ|kstt‚tt‡ ‡fd	d
„ƒ dgggdggdggg ggdgggf\‰ ‰} }t ˆ ˆdtƒ| |fksÐt‚tˆ ˆdtƒ| ksæt‚tˆ ˆdtƒ|ksüt‚tt‡ ‡fdd
„ƒ d S )NrU   rT   rS   rP   rQ   rÅ   r   rÄ   c                      s   t ˆ ˆdtƒS )Nr   ©r<   rH   rK   rg   rK   rN   rs   ©  rý   ztest_dmp_div.<locals>.<lambda>c                      s   t ˆ ˆdtƒS )NrP   r  rK   rg   rK   rN   rs   ±  rý   )r9   rH   rX   r;   r:   rJ   rE   rþ   rK   rg   rN   Útest_dmp_div¢  s    ..r  c                   C   sD   t g tƒdkst‚t dgtƒdks&t‚t ddddgtƒdks@t‚d S )Nr   rQ   rT   rP   rS   )r=   rH   rX   rK   rK   rK   rN   Útest_dup_max_norm´  s    r  c                   C   sJ   t g ggdtƒdkst‚t dgggdtƒdks2t‚t tdtƒdksFt‚d S )NrP   r   rQ   rV   )r>   rH   rX   r\   rK   rK   rK   rN   Útest_dmp_max_norm»  s    r  c                   C   sD   t g tƒdkst‚t dgtƒdks&t‚t ddddgtƒdks@t‚d S )Nr   rQ   rT   rP   rS   rn   )r?   rH   rX   rK   rK   rK   rN   Útest_dup_l1_normÂ  s    r  c                   C   sJ   t g ggdtƒdkst‚t dgggdtƒdks2t‚t tdtƒdksFt‚d S )NrP   r   rQ   rÓ   )r@   rH   rX   r\   rK   rK   rK   rN   Útest_dmp_l1_normÈ  s    r  c                   C   sD   t g tƒdkst‚t dgtƒdks&t‚t ddddgtƒdks@t‚d S )Nr   rQ   rT   rP   rS   r›   )rA   rH   rX   rK   rK   rK   rN   Útest_dup_l2_norm_squaredÏ  s    r  c                   C   sJ   t g ggdtƒdkst‚t dgggdtƒdks2t‚t tdtƒdksFt‚d S )NrP   r   rQ   rû   )rB   rH   rX   r\   rK   rK   rK   rN   Útest_dmp_l2_norm_squaredÕ  s    r  c                	   C   sd   t dtƒdgkst‚t dddgddgddddgftƒtdddgtddgddddgtƒtƒks`t‚d S ©NrK   rQ   rP   rS   rR   rU   rT   )rC   rH   rX   r   rK   rK   rK   rN   Útest_dup_expandÛ  s     $ÿr  c                	   C   s’   t ddtƒdggkst‚t dgdgdggdgdggdgdgdgdggfdtƒtdgdgdggtdgdggdgdgdgdggdtƒdtƒksŽt‚d S r  )rD   rH   rX   r    rK   rK   rK   rN   Útest_dmp_expandá  s    4$ÿÿ ÿ ÿÿr  N)ŒÚ__doc__Zsympy.external.gmpyr   Zsympy.polys.densebasicr   r   Zsympy.polys.densearithr   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    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   Zsympy.polys.polyerrorsrE   Zsympy.polys.specialpolysrF   r  rG   rH   rI   Zsympy.testing.pytestrJ   r\   Zf_1Zf_2Zf_3Zf_4Zf_5Zf_6r]   rZ   r^   r_   r`   ra   rc   ri   rj   rk   rl   rm   rq   ru   rx   rz   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  r  r  r  r  r  r  r  r  r  rK   rK   rK   rN   Ú<module>   s|   ÿ 	 d 