U
    ZÊ¹jS   ã                   @   s‚  d dl 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 d dlmZ d dlmZ d dlmZ d dl m!Z! d dl"m#Z# d dl$m%Z% d d	l&m'Z' d d
l(m)Z) d dl*m+Z+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6 d dl m7Z8 d dl m9Z9m:Z: d dl;m<Z<m=Z=m>Z> d dl?m@Z@ d dlAmBZB d dlCmDZDmEZEmFZF d dlGmHZH d dlImJZJ d dlKmLZLmMZM dd„ ZNdd„ ZOd‚dd„ZPd d!„ ZQe3d"d#„ ƒZRd$d%„ ZSd&d'„ ZTd(d)„ ZUd*d+„ ZVd,d-„ ZWdƒd/d0„ZXe5d1d2„ ƒZYd3d4„ ZZd5d6„ Z[d7d8„ Z\d9d:„ Z]d;d<„ Z^d=d>„ Z_d?d@„ Z`d„dAdB„Zae5dCdD„ ƒZbdEdF„ Zce3dGdH„ ƒZde5dIdJ„ ƒZedKdL„ Zfe5dMdN„ ƒZgdOdP„ ZhdQdR„ ZidSdT„ ZjdUdV„ ZkdWdX„ Zle5dYdZ„ ƒZmd[d\„ Zne5d]d^„ ƒZod_d`„ Zpe6dadb„ ƒZqe5dcdd„ ƒZre5dedf„ ƒZse5dgdh„ ƒZte5didj„ ƒZue5dkdl„ ƒZvdmdn„ Zwe5dodp„ ƒZxdqdr„ Zydsdt„ Zze5dudv„ ƒZ{e3dwdx„ ƒZ|e3dydz„ ƒZ}e3d{d|„ ƒZ~d}d~„ Zdd€„ Z€d�S )…é    )Ú	randrange)ÚShiftAÚShiftBÚUnShiftAÚUnShiftBÚMeijerShiftAÚMeijerShiftBÚMeijerShiftCÚMeijerShiftDÚMeijerUnShiftAÚMeijerUnShiftBÚMeijerUnShiftCÚMeijerUnShiftDÚReduceOrderÚreduce_orderÚapply_operatorsÚdevise_planÚmake_derivative_operatorÚFormulaÚhyperexpandÚHyper_FunctionÚ
G_FunctionÚreduce_order_meijerÚbuild_hypergeometric_formula)ÚSum)ÚTuple)ÚExpr)ÚI)ÚS)Úsymbols)Úbinomial)Ú	Piecewise)ÚhyperÚmeijerg)ÚzÚaÚbÚc)ÚXFAILÚraisesÚslowÚtooslow)Úverify_numerically)ÚRationalÚpi)ÚexpÚ	exp_polarÚlog)Úatanh)Úsqrt)ÚasinÚcosÚsin)Úbesseli)Úerf)ÚgammaÚ
lowergammac                   C   s   t ttddƒtjftddƒtddƒft ƒƒttdƒ  tttt	 ƒd tƒ d t
t	ƒtt
tƒƒ dt
tƒ   kszt‚t ttddƒdgg tddƒgtddƒd	gtƒƒdttd
ƒ  dt
t	ƒ tt
tƒƒ t
tƒ dttddƒtƒ ttd
ƒ    ttddƒƒ ttddƒƒ k�st‚d S )Néÿÿÿÿé   é   z1/3é   é   é   é   r   z2/3)r   r"   r-   r   ÚHalfr$   r:   r0   r   r.   r3   r8   ÚAssertionErrorr#   r9   © rD   rD   úd/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/simplify/tests/test_hyperexpand.pyÚtest_branch_bug#   s"    ,&ÿÿ.0 ÿ
ÿÿÿÿrF   c                   C   s
  t tg g tƒƒttƒkst‚t tddgdgt ƒt ƒtdt ƒksHt‚t tg tjgtd  d ƒƒttƒksrt‚t ttg tdƒgtd  d ƒ ƒt	tƒks¢t‚t ttdƒtdƒgtdƒgtd ƒt ƒt
tƒksØt‚tttdtƒtd  tdtfƒ ¡ tƒ�st‚d S )NrA   r=   é   ú3/2ú1/2r   )r   r"   r$   r/   rC   r1   r   rB   r5   r6   r4   Ú
isinstancer   r    r%   Zdoitr   rD   rD   rD   rE   Útest_hyperexpand,   s    ,*0(ÿrK   TrA   Fc              	   C   sÚ   t t| |tƒƒ}| t¡rdS |s&dS i }|jth }|r|t|ƒD ]\}}	t|ƒ| ||	< qBtdd„ t|Ž  	|¡D ƒƒs6q|q6ddddg\}
}}}|r¨dd	ddg\}
}}}t
t| |tƒ 	|¡| tt¡ 	|¡t|
|||d
�S )NFTc                 s   s   | ]}|j o|d kV  qdS )r   N)Z
is_Integer)Ú.0r&   rD   rD   rE   Ú	<genexpr>E   s     zcan_do.<locals>.<genexpr>r=   r;   r<   rA   éþÿÿÿ)r%   r&   r'   Úd)r   r"   r$   ÚhasÚfree_symbolsÚ	enumerateÚrandcplxÚanyr   ÚsubsÚtnÚreplacer0   r/   )ÚapÚbqÚ	numericalÚdivÚ
lowerplaneÚrÚreplZrandsymsÚnÚair%   r&   r'   rO   rD   rD   rE   Úcan_do9   s0    
    ýra   c                   C   sì   t tjgtddƒgƒst‚t g dtddƒdgƒs4t‚t tddƒddgddgƒsRt‚t tddƒgtddƒtddƒtjdgƒs~t‚t td	dƒtddƒgtd
dƒdgƒs¦t‚t td	dƒgtddƒtjgƒsÈt‚t td	dƒtddƒgdgƒsèt‚d S )Né	   r=   rA   r>   rG   r;   r<   rN   éýÿÿÿéûÿÿÿ)ra   r   rB   r-   rC   rD   rD   rD   rE   Ú
test_roachP   s    ,("re   c                   C   sÀ   t tddƒdgtddƒtjtddƒgƒs,t‚t tddƒgtddƒdgƒsLt‚t tddƒtjdgtddƒtddƒgƒsxt‚t dddgtjdgƒs’t‚t tjgtddƒtddƒtddƒgƒs¼t‚d S )Nr;   r=   rA   rG   r<   r>   rN   )ra   r-   r   rB   rC   rD   rD   rD   rE   Útest_roach_fail\   s
    , ,rf   c                  C   s¤   ddl m}  ttg dgtƒƒ| ks&t‚ttdgdgtƒƒ| ksBt‚ttddgdgtƒƒdks`t‚tddtƒ tƒ gdtƒ gƒs€t‚ttdd	tƒƒdtd
  ks t‚d S )Nr   ©Úoor;   rN   rA   rd   iöÿÿÿ)r;   rA   )rN   r=   )Úsympy.core.numbersrh   r   r"   r$   rC   ra   rS   rg   rD   rD   rE   Útest_polynomialg   s     rj   c                   C   s  t tdgtgtƒƒttt d  td  dt  ttd   d  ttƒ ttd tƒ  d ksft‚t tddgdgtƒƒdt dtt d ƒ td   ks¢t‚t ttj	dgt
ddƒgtƒƒddt d  tttƒƒttƒ d  ksìt‚t ttj	tj	gt
ddƒgtƒƒdt d d ttt d ƒ  d	t d tttƒƒ dtt
ddƒ    k�s^t‚t tddgt
ddƒgtƒƒddt d  tttƒƒttƒdt d  tt d ƒ   k�s¾t‚t tt
ddƒd ddgtj	dgtƒƒttƒtt
d	d
ƒ t
d	dƒ  tttƒƒ dtd  dt  d	 d t  d	tt d ƒ dtd    k�sTt‚t tdtj	 ddgddgtƒƒdttt d ƒd tj	 ƒ t k�sžt‚t tdgtdgtƒƒtt d tj	  ttd dttƒ ƒ ttƒ tt d d  ttdttƒ ƒ ttƒ  k�st‚d S )Nr=   rA   r<   rN   r;   r>   rc   rG   r@   r?   iâÿÿÿé    é#   éüÿÿÿ)r   r"   r%   r$   r/   r:   rC   r1   r   rB   r-   r2   r3   r4   r&   r7   r9   rD   rD   rD   rE   Útest_hyperexpand_basesp   sD    8ÿÿÿ<&ÿ (ÿÿ
(,ÿ$*ÿÿÿ
"ÿ
0*ÿÿrn   c                   C   s®   t tttjt gtjgtƒƒdttƒ dt  d dttƒ dt  d  ksRt‚t tttddƒt gdt gtƒƒddt d  t d tj d dt d   ksªt‚d S )NrA   rN   r=   r;   )	r   r"   r%   r   rB   r$   r3   rC   r-   rD   rD   rD   rE   Útest_hyperexpand_parametricŠ   s    .ÿ".ÿro   c                  C   sr   ddl m}  | ttd tdgdtdƒgtd  ƒ ƒƒttdt ƒ td  tj tdt ƒ  tj ksnt	‚d S )Nr   ©ÚsimplifyrG   r=   r<   rH   )
Úsympy.simplify.simplifyrq   r   r$   r"   r   r6   rB   r5   rC   rp   rD   rD   rE   Útest_shifted_sum‘   s    *0ÿrs   c                   C   s   t tdƒd ƒd S )z Steer clear of integers. é   é
   é2   )r   r   rD   rD   rD   rE   Ú_randrat—   s    rw   r;   c                 C   s   t ƒ tt ƒ   td|    S )z+ Polys is not good with real coefficients. rA   )rw   r   )ÚoffsetrD   rD   rE   rS   œ   s    rS   c                  C   s6  ddl m}  | ƒ j}|D �]}| |j¡}i }t|jƒD ]\}}t|ƒ||< q8| |¡}|j	 |¡ 
d¡}|j}t|| tt¡|ƒsˆt‚|j|j d  |¡ 
d¡}	t| tt¡|	 tt¡|ƒsÄt‚||j dd„ ¡ |¡ }
|j|j }t|
|ƒD ]:\}}t| |¡ tt¡| |¡ 
d¡ tt¡|ƒsôt‚qôqd S )Nr   )ÚFormulaCollectionÚnonrepsmallc                 S   s
   |   d¡S )Nrz   )Úrewrite)ÚtrD   rD   rE   Ú<lambda>º   s   ÿztest_formulae.<locals>.<lambda>)Úsympy.simplify.hyperexpandry   ÚformulaeÚfuncr$   rR   r   rS   rU   Úclosed_formr{   rV   rW   r0   r/   rC   ÚCÚBZ	applyfuncÚdiffÚMÚzip)ry   r   ÚformulaÚhÚrepr_   Úsymr�   r$   ÚclÚderiv1Úderiv2Úd1Úd2rD   rD   rE   Útest_formulae¡   s8    

 ÿ
 ÿÿ ÿr�   c                  C   s
  ddl m}  | ƒ j}|D ]ì}|| D ]Þ}t|jj|jj|jj|jj|j	ƒ}i }|j
D ]}tƒ ||< qT| |¡}|j |¡}|j	}t|||ƒs�t‚|j|j d  |¡}	t||	|ƒs¶t‚||j |¡ }
|j|j }t|
|ƒD ]$\}}t| |¡| |¡|ƒsÜt‚qÜq$qd S )Nr   )ÚMeijerFormulaCollection)r~   r‘   r   r#   r€   ÚanrX   ÚbmrY   r$   r   rS   rU   r�   rV   rC   r‚   rƒ   r„   r…   r†   )r‘   r   Úsigr‡   Úgr‰   rŠ   r�   r$   r‹   rŒ   r�   rŽ   r�   rD   rD   rE   Útest_meijerg_formulaeÂ   s,     þ

r–   c                 C   s   t |  t ¡ S ©N)r$   r„   )ÚfrD   rD   rE   ÚopÝ   s    r™   c               	   C   s¤  t tdgdƒtdgdƒtƒg ks$t‚ttƒ�  t tdgdƒtddƒtƒ W 5 Q R X ttƒ�& t tdgdgƒtdgdgƒtƒ W 5 Q R X ttƒ�& t tdgg ƒttdƒgg ƒtƒ W 5 Q R X dd„ tdƒD ƒ\} }}|dt 7 }t	| |g|gtƒ}t	| d |f|gtƒ}t
t|t t| d |f|gƒt| |f|gƒtƒtƒ|tƒ�sDt‚t	| d |d f|gtƒ}t
t|t t| d |d f|gƒt| |f|gƒtƒtƒ|tƒ�s t‚d S )	Nr   rD   rA   r=   rI   c                 s   s   | ]}t |ƒV  qd S r—   ©rS   ©rL   r_   rD   rD   rE   rM   ì   s     ztest_plan.<locals>.<genexpr>r<   )r   r   r$   rC   r)   Ú
ValueErrorr   Úranger   r"   rV   r   r™   )Úa1Úa2Úb1rˆ   Úh2rD   rD   rE   Ú	test_planá   sJ    
 ÿÿ
$
*
* ÿþ ý
 ÿþ ýr¢   c            
      C   s  ddt dƒ  } }}dt dƒ }}t| ||f||fƒ}t| d |d |d f|d |d fƒ}t||tƒ}t|t|tƒg ƒ}t|jtƒ}	tt|j	||	ƒ|j
 d |tƒtƒs°t‚t| |d |d f|d |d fƒ}t||tƒ}tt|j	||	ƒ|j
 d |tƒtƒ�s
t‚d S )NrA   r=   rI   r<   z5/2r   )r   r   r   r$   r   r   r…   rV   r   r‚   rƒ   rC   )
rž   rŸ   Úa3r    Úb2rˆ   r¡   Úopsr˜   ZderivrD   rD   rE   Útest_plan_derivativesý   s    (($r¦   c            	      C   s‚  dd„ t dƒD ƒ\} }}t| g|gtƒ}tddƒd ks:t‚tddƒd ksLt‚tdtdƒƒd ksbt‚t| |f||ftƒ}tt||ƒ |t¡|tƒs”t‚t| |d f||ftƒ}tt|d |ƒ |t¡|tƒsÎt‚t|d	 | f||ftƒ}tt|d	 |ƒ |t¡|tƒ�s
t‚|d	 | |d f}|||f}t	t
||ƒƒ\}}|j| fk�sJt‚|j|fk�s\t‚tt||tƒt||tƒtƒ�s~t‚d S )
Nc                 s   s   | ]}t |ƒV  qd S r—   rš   r›   rD   rD   rE   rM     s     z+test_reduction_operators.<locals>.<genexpr>r<   r=   r   r;   rA   rI   rG   )r�   r"   r$   r   rC   r   rV   Úapplyr™   r   r   rX   rY   r   )	rž   rŸ   r    rˆ   r¡   rX   rY   r€   r¥   rD   rD   rE   Útest_reduction_operators  s"    "$
r¨   c                  C   sP  dd„ t dƒD ƒ\} }}}}t| |f|||ftƒ}ttdd„ ƒ ttdd„ ƒ tt| ƒ |t¡t| d |f|||ftƒtƒs€t	‚tt|ƒ |t¡t| |d f|||ftƒtƒs²t	‚tt
|ƒ |t¡t| |f|d ||ftƒtƒsät	‚tt
|ƒ |t¡t| |f||d |ftƒtƒ�st	‚tt
|ƒ |t¡t| |f|||d ftƒtƒ�sLt	‚d S )Nc                 s   s   | ]}t |ƒV  qd S r—   rš   r›   rD   rD   rE   rM   '  s     z'test_shift_operators.<locals>.<genexpr>r>   c                   S   s   t dƒS )Nr   )r   rD   rD   rD   rE   r}   *  ó    z&test_shift_operators.<locals>.<lambda>c                   S   s   t dƒS )NrA   )r   rD   rD   rD   rE   r}   +  r©   rA   )r�   r"   r$   r)   rœ   rV   r   r§   r™   rC   r   )rž   rŸ   r    r¤   Úb3rˆ   rD   rD   rE   Útest_shift_operators&  s    2224r«   c                  C   sÒ  dd„ t dƒD ƒ\} }}}}t| |f|||ftƒ}ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ t| |f|||fd	tƒ}t| |t¡t| d
 |f|||ftƒtƒs°t	‚t| |f|||fd
tƒ}t| |t¡t| |d
 f|||ftƒtƒsöt	‚t
| |f|||fd	tƒ}t| |t¡t| |f|d
 ||ftƒtƒ�s>t	‚t
| |f|||fd
tƒ}t| |t¡t| |f||d
 |ftƒtƒ�s†t	‚t
| |f|||fdtƒ}t| |t¡t| |f|||d
 ftƒtƒ�sÎt	‚d S )Nc                 s   s   | ]}t |ƒV  qd S r—   rš   r›   rD   rD   rE   rM   5  s     z(test_ushift_operators.<locals>.<genexpr>r>   c                   S   s   t dddtƒS )N©rA   rD   r   ©r   r$   rD   rD   rD   rE   r}   8  r©   z'test_ushift_operators.<locals>.<lambda>c                   S   s   t dddtƒS )NrD   )r;   r   ©r   r$   rD   rD   rD   rE   r}   9  r©   c                   S   s   t dddtƒS )Nr¬   )r   r;   rA   r   r­   rD   rD   rD   rE   r}   :  r©   c                   S   s   t dddtƒS )N©r   rA   r¬   r   r®   rD   rD   rD   rE   r}   ;  r©   r   rA   r=   )r�   r"   r$   r)   rœ   r   rV   r§   r™   rC   r   )rž   rŸ   r    r¤   rª   rˆ   ÚsrD   rD   rE   Útest_ushift_operators4  s     ..00r±   c                 C   s¸   ddl m} ddlm} tt| |||tƒƒ}| t¡r:dS |||dddddddd�ƒ}|s^dS i }tt| |||tƒj	th ƒD ]\}	}
t
|	ƒ||
< q~tt| |||tƒ |¡| |¡tƒS )ab  
    This helper function tries to hyperexpand() the meijer g-function
    corresponding to the parameters a1, a2, b1, b2.
    It returns False if this expansion still contains g-functions.
    If numeric is True, it also tests the so-obtained formula numerically
    (at random values) and returns False if the test fails.
    Else it returns True.
    r   )Úexpand)Ú
unpolarifyFT)ÚforceZ
power_baseZ	power_expÚmulr1   ZmultinomialÚbasic)Zsympy.core.functionr²   Ú$sympy.functions.elementary.complexesr³   r   r#   r$   rP   rR   rQ   rS   rV   rU   )rž   rŸ   r    r¤   Únumericr²   r³   r]   r^   r_   r`   rD   rD   rE   Úcan_do_meijerJ  s"    	
   ÿ$r¹   c               
   C   sÒ  ddl m}  ddlm} ttg g gdgg gt ƒƒttƒks@t‚ttddgg gdgdggtƒƒt	td ƒkspt‚ttddgg gdgdggtƒƒttd  ks t‚ttg g gt
jgdggtd d ƒƒttƒttƒ ksÚt‚ttg g gdgt
jggtd d ƒƒttƒttƒ k�st‚tg tgtd tt
j gg ƒ�s:t‚tg g td gt d gdƒ�s^t‚ttgtgtgttd gƒ�s€t‚ttdgg g dgtƒƒtdttƒdk fdtdt ƒdk ftdgg g dgtƒdfƒk�sÚt‚ttg dgdgg tƒƒtdttƒdk fdtdt ƒdk ftg dgdgg tƒdfƒk�s4t‚tg g ttd  gtttd  tt
j gƒ�sft‚tg g tgtgdƒ�s€t‚tg t
jgtgt gƒ�sžt‚tg g ttgg ƒ�s¶t‚tg g ttgg ƒ�sÎt‚tg g ttt
j gttt
j gƒ�söt‚tg g tt gdt
jgdƒ�st‚tg g ttt
j ttt
j gg ƒ�s@t‚tt
jgg dgtt gƒ�s`t‚tt
jgg tgdt gdƒ�s‚t‚tg tt
j gttgtt
j gdƒ�s¬t‚tg tt
j gtt tt tgg dƒ�sØt‚ttt
j gg tdt t tgg dƒ�st‚tg g g ttgƒ�st‚ttddgg g ddgtƒƒtdttƒdk ftddtd    d tdt ƒdk ftddgg g ddgtƒdfƒk�s’t‚| |ttdgdt gt d t d t
j gg dt ƒƒƒƒd	ttƒ ttd ƒd t  t k�sút‚ttdgg tgddgtƒƒttftd td ftttt ƒ ƒtt  ttƒ ttd ƒd  k�sbt‚td
t
jfdftd ƒ}t|ƒttƒtdtd	  ƒ k�s t‚t|dd�ttƒt ttd d ƒ k�sÎt‚d S )Nr   ©Ú	gammasimprp   rA   r=   FTr;   rN   )r¯   rD   ©r   )Zplace)Úsympy.simplify.gammasimpr»   rr   rq   r   r#   r$   r/   rC   r1   r   rB   r6   r3   r.   r5   r¹   r%   r&   r!   Úabsr"   r0   r   r9   )r»   rq   r˜   rD   rD   rE   Útest_meijerg_expandi  s’    (
ÿ
ÿ$ÿ$ÿ
$$""ÿÿ
"ÿÿ
2    ÿ
("( "*,,&þÿ
0ÿ"þ
  ÿÿÿÿ&r¿   c                  C   s  ddl m} m} ddlm} tttgg ttgg t	ƒƒt	t t
t	ƒ tt t d ƒ |tt t	ƒ ksjt‚ttdgg ddgg t	ƒƒt
t	ƒ|dt	ƒ ksšt‚ttgg ttd gg ƒs¶t‚ttgg td tgg ƒsÒt‚ttgg td tgg ƒsît‚tttgg ttttj gg t	ƒƒttƒ t	ttj   dtdtt	ƒ ƒ |dtt	ƒ ƒtd   dtdtt	ƒ ƒ | dtt	ƒ ƒ     k�rÐtttgg tttj tgg t	ƒƒ  k�rÐtttgg ttj ttgg t	ƒƒk�sÖn t‚ttd gg td ttddƒ td gg ƒ�st‚d S )Nr   )ÚCiÚSi)Ú
uppergammarA   r=   r<   )Ú'sympy.functions.special.error_functionsrÀ   rÁ   Ú'sympy.functions.special.gamma_functionsrÂ   r   r#   r%   r&   r$   r/   r9   rC   r¹   r   rB   r3   r.   r5   r6   r-   )rÀ   rÁ   rÂ   rD   rD   rE   Útest_meijerg_lookup¬  s*    .ÿÿ @"ÿÿ
 ý
 ürÅ   c                	   C   s  t g g ttj gtttd  ttd  gƒs0t‚t g g dtjgtt gƒsNt‚t g g dt tj tt tj gttj gƒs€t‚t g g dttj t tj gtjgƒsªt‚t g g tttj tgdt t gƒsÒt‚t g g tttj tdt t gƒsøt‚t tjgg t tgdgƒ�st‚d S )Nr=   r   r<   )r¹   r%   r   rB   r&   rC   rD   rD   rD   rE   Útest_meijerg_expand_fail¿  s    02*(&rÆ   c                  C   s„  dd„ t dƒD ƒ\} }dd„ t dƒD ƒ\}}dd„ t dƒD ƒ\}}}}}}	t| g||g|g||gtƒ}
t dd¡d kszt‚t dd¡d ksŽt‚t| |g||g|g|||gtƒ}tt ||¡ |
t	¡|tƒsÎt‚t| |g||g|g|||d	 gtƒ}tt ||d	 ¡ |
t	¡|tƒ�st‚t| |d	 g||g|g|||d gtƒ}tt |d	 |d ¡ |
t	¡|tƒ�sjt‚t| g|||d	 g||d g||gtƒ}tt |d |d	 ¡ |
t	¡|td
d��sÀt‚| |g}|||d	 g}|||d	 g}||d	 g}t
t||||ƒƒ\}}|j| fk�st‚t|jƒ||hk�s0t‚|j|fk�sBt‚t|jƒ||hk�sZt‚tt|
|t	ƒt||||tƒtƒ�s€t‚d S )Nc                 s   s&   | ]}t |ƒd t  |t  V  qdS ©r>   N©rS   r   r›   rD   rD   rE   rM   Ó  s     ztest_meijerg.<locals>.<genexpr>r=   c                 s   s&   | ]}t |ƒd t  |t  V  qdS rÇ   rÈ   r›   rD   rD   rE   rM   Ô  s     c                 s   s   | ]}t ƒ V  qd S r—   rš   r›   rD   rD   rE   rM   Õ  s     r@   r<   rG   rA   g�íµ ÷Æ°>)Ztol)r�   r#   r$   r   Zmeijer_minusrC   Zmeijer_plusrV   r§   r™   r   r   r’   ÚsetrX   r“   rY   r   )rž   rŸ   r    r¤   rª   Úb4Úb5r£   Úa4Úa5r•   Úg2r’   rY   rX   r“   Zniqr¥   rD   rD   rE   Útest_meijergÎ  sD      $&(*( ÿ ÿ  ÿrÏ   c               
   C   sx  dd„ t dƒD ƒ\
} }}}}}}}}}	t| g||g|g||gtƒ}
tt|ƒ |
t¡t| g||g|d g||gtƒtƒszt‚tt| ƒ |
t¡t| d g||g|g||gtƒtƒs²t‚tt	|ƒ |
t¡t| g||g|g|d |gtƒtƒsêt‚tt
|ƒ |
t¡t| g|d |g|g||gtƒtƒ�s$t‚t| g||g|g||gdtƒ}t| |
t¡t| g||g|d g||gtƒtƒ�sxt‚t| g||g|g||gdtƒ}t| |
t¡t| g||g|g|d |gtƒtƒ�sÌt‚t| g||g|g||gdtƒ}t| |
t¡t| d g||g|g||gtƒtƒ�s t‚t| g||g|g||gdtƒ}t| |
t¡t| g|d |g|g||gtƒtƒ�stt‚d S )Nc                 s   s   | ]}t |ƒV  qd S r—   rš   r›   rD   rD   rE   rM   ÷  s     z/test_meijerg_shift_operators.<locals>.<genexpr>ru   rA   r   )r�   r#   r$   rV   r   r§   r™   rC   r   r	   r
   r   r   r   r   )rž   rŸ   r£   rÌ   rÍ   r    r¤   rª   rÊ   rË   r•   r°   rD   rD   rE   Útest_meijerg_shift_operatorsõ  sT    & ÿ ÿ ÿ ÿ

  ÿ

  ÿ

  ÿ

  ÿrÐ   c                  C   sV  dd„ } | t g ddgddgg tƒttƒ dƒs2t‚| t g ddgddgg tƒtd  d t ttƒd  tddƒ dƒszt‚| t g ddgddgg tƒtd d	 td  ttƒd  tddƒ dd
t   dƒsÐt‚| t g ddddgddddgg tƒttƒd  d
 dƒ�st‚| t ddgg g ddgtƒdtdt ƒ ƒ�s<t‚| t ddgddgddgddgtƒt ttƒ dt  tdt ƒ d ƒ�sŠt‚| t tjgddgddgtddƒgtƒttƒd d dƒ�sÈt‚dd„ }|g dgddgg ƒ�sêt‚|ddgg g dgƒ�st‚|ddgdddgddd
gddgƒ�s,t‚|ddgdddgddd
gdgƒ�sRt‚d S )Nc                 S   sþ   ddl m} |||gƒ\}}| }t| ƒ} | t|ttƒdk f|tdt ƒdk f|dfƒks\dS | jd jd |kr„| jd jd |ksˆdS tƒ d }t|  t|¡ 	¡ | t|¡ 	¡  ƒ 	¡ dkrÂdS t|  td| ¡ 	¡ | td| ¡ 	¡  ƒ 	¡ dkrúdS dS )Nr   )ÚsympifyrA   TFru   g»½×Ùß|Û=)
Zsympy.core.sympifyrÑ   r   r!   r¾   r$   ÚargsrS   rU   r_   )Úmr%   r&   rÑ   Zm_Zz0rD   rD   rE   r|     s    0(
,4z"test_meijerg_confluence.<locals>.trA   r   r<   r=   rG   r;   é   r@   c                 S   sJ   t | |||tƒ}t|dd�}| t ¡r>|jr:t|jƒdks>dS t||tƒS )NT)Zallow_hyperr<   F)r#   r$   r   rP   Zis_PiecewiseÚlenrÒ   rV   )r’   rX   r“   rY   rÓ   Úm2rD   rD   rE   Úu1  s
    z"test_meijerg_confluence.<locals>.ur>   )r#   r$   r1   rC   r-   r   rB   )r|   r×   rD   rD   rE   Útest_meijerg_confluence  s8    *    ÿ& ÿ4 ÿ<0  ÿ
>(rØ   c                  C   s†   ddl m}  tdtddƒfdftƒ}d}|ttddƒ  tdtddƒftd	dƒftttt ƒ ƒ }|  	t
|ƒ|  ¡ d
d¡s‚t‚d S )Nr   )ÚRR))g      @rA   rD   r<   r=   r¼   gwôÍûçÀg      à¿r>   g      ð?gê-�™—q=)Zsympy.polys.domains.realfieldrÙ   r#   r-   r$   r"   r0   r   r.   Zalmosteqr   r_   rC   )rÙ   r˜   r%   r•   rD   rD   rE   Útest_meijerg_with_Floats=  s
    <rÚ   c               
   C   sÎ  ddl m} m} ddlm} ttdtgtd gtƒt ƒ| tdtƒksJt	‚ttdttgtd td gtƒtd  ƒ| tdtƒks„t	‚ttdtttgtd td td gtƒtd  ƒ| tdtƒksÆt	‚ttdgtgd  td gd tƒtd  ƒ| tdtƒk�st	‚|tt
ddt gg dgt gtt t ƒt ƒƒƒ| tdtƒk�sLt	‚|tt
ddt dt gg dgt t gtt t ƒt ƒƒƒ| tdtƒk�sœt	‚|tt
ddt dt dt gg dgt t t gtt t ƒt ƒƒƒ| tdtƒk�söt	‚tttddgdgtƒ ƒtdt  ƒ k�s&t	‚tttdddgddgtƒ ƒ|dtƒk�sTt	‚tttddddgdddgtƒ ƒ|dtƒk�s†t	‚ttdtdtj gtd tjgtƒƒdt td  dtd  t | tdtƒ  k�sÞt	‚tdddgddgƒ�søt	‚tdddtd	 gddtgdd
��st	‚tdttttd	 gtd td td tgdd��sTt	‚ddlm} tttjtjtjdgtddƒtddƒtddƒgtddƒƒƒ||dttt ƒd ƒ |dtjƒ ƒk�sÊt	‚d S )Nr   )ÚlerchphiÚpolylogrº   rA   r=   r<   ru   rN   r>   )r[   F©rZ   )ÚAbsrG   )Z&sympy.functions.special.zeta_functionsrÛ   rÜ   r½   r»   r   r"   r%   r$   rC   r#   r0   r   r.   r1   r   rB   ra   r&   r·   rÞ   r-   )rÛ   rÜ   r»   rÞ   rD   rD   rE   Útest_lerchphiF  sh    .$ÿ
ÿ0
ÿ,
ÿ
 ÿ
ÿ

 ÿ
ÿ
" ÿ
ÿ
0.2$*ÿ
&  ÿ ÿ&þrß   c                  C   s"  dd„ t dƒD ƒ\} }}}}t| ||g||gƒtg | ||||gƒfD ]d}t|ƒ}|j}|j||ƒksht‚|j |¡| }|j|j }	t	||	ƒD ]\}
}t
|
||ƒsŽt‚qŽqDtdƒ\} }}ttd| gd|g|ƒƒ|  | d | | d  d|   t| d g|g|ƒ | | d d|   d t| g|g|ƒ  k�s4t‚t
ttd|gd|g|ƒƒtd|gd|g|ƒ|ƒ�sjt‚ttdgd| |g|ƒƒtd| |f|ƒ|td| d |f|ƒ d|    ||d	  td| d |d f|ƒ d|  |   k�sèt‚t
ttdgd||g|ƒƒtdgd||g|ƒ|ƒ�st‚d S )
Nc                 s   s   | ]}t ƒ V  qd S r—   rš   )rL   Ú_rD   rD   rE   rM   v  s     z$test_partial_simp.<locals>.<genexpr>r>   za b zr<   rA   r=   rD   rG   )r�   r   r   r$   r�   rC   rƒ   r„   r…   r†   rV   r   r   r"   )r%   r&   r'   rO   Úer€   r˜   r$   rŒ   r�   Zfunc1Zfunc2rD   rD   rE   Útest_partial_simpt  sD    ÿ4&ÿÿ
  ÿ
ÿ.þÿ
  ÿrâ   c                   C   s  t tttgtgdƒƒttƒttt t ƒ ttt ƒ ttt ƒ ksJt‚t tttgdt t gdƒƒtdtd  ƒtdt t ƒ tdt ƒ tdtd  t ƒ ks¬t‚t tttgdt t gdƒƒtdtd  ƒtdt t ƒ tdt ƒ tdtd  t ƒ k�st‚t tdt td  gdt td  gtd gt d gdƒƒtddt  ƒtttd  td  ƒ tdt td  td  ƒ tdt td  td  ƒ tdt td  td  ƒ k�sÐt‚t ttgtgdƒƒdk�sît‚ttgtgdƒdk�st‚d S )NrA   r;   r=   r   )	r   r"   r%   r&   r'   r9   rC   r#   r$   rD   rD   rD   rE   Útest_hyperexpand_special�  s$    .ÿ>ÿ>ÿ
<Bÿÿÿ
rã   c                  C   s\   ddl m}  ddlm} | ddd�}|ttdgg |d gdgtƒƒƒt|d tƒksXt‚d S )Nr   )ÚSymbolrp   r_   T)ÚintegerrA   )	Úsympy.core.symbolrä   rr   rq   r   r#   r$   r:   rC   )rä   rq   r_   rD   rD   rE   Útest_Mod1_behaviorž  s     ÿrç   c                   C   s   t ddt d dt d gtddƒdgƒs.t‚t tjtd gtddƒtd gdd�sXt‚t g td gƒslt‚t tgtd td gƒsˆt‚t tgttj dt gƒs¦t‚t tgttj dt d gƒsÈt‚t tgttj dt d gƒsêt‚t tgttj dt gƒ�s
t‚t tgttj dt d gƒ�s.t‚t tgttj dt d gƒ�sRt‚t tjgtdt gƒ�snt‚t tjgtdt gƒ�sŠt‚t dgdtgƒ�s t‚t tttj gdt tdt t d gƒ�sÐt‚t tttj gtjdt dt tj gƒ�s t‚t tgtd gdd��st‚d S )NrA   r<   r=   T)r\   )ra   r   r-   rC   r   rB   r%   r&   rD   rD   rD   rE   Útest_prudnikov_misc§  s     .*"" $$00rè   c                   C   sô  t tt gtjgƒst‚t tdt gtjgƒs2t‚t tdt gtddƒgƒsPt‚t tdt gtjgƒsjt‚t tdt gtddƒgƒsˆt‚t tdt gtddƒgƒs¦t‚t tttj gdt d gƒsÈt‚t tttj gdt gƒsæt‚t tttj gdt d gƒ�s
t‚t tttj gtjgƒ�s(t‚t tttj gtddƒgƒ�sJt‚t ttd d gtd gƒ�slt‚t dtgdgƒ�s‚t‚t dtgtd gdd��s t‚t tgdt gƒ�s¸t‚t tgdt d gƒ�sÔt‚t tgdt d gƒ�sðt‚d S )NrA   r<   r=   FrÝ   )ra   r%   r   rB   rC   r-   r&   rD   rD   rD   rE   Útest_prudnikov_1½  s"    "$""ré   c               
   C   s  t j} t|  |  g| gƒst‚t|  | gd|  gƒs8t‚t|  | gd|  gƒsRt‚t|  | gd|  gƒslt‚t|  dg| gƒs‚t‚|  | fD ]Œ}|  | dd|  dd|  dd|  df	D ]:}|  | d|  d|  d|  fD ]}t||g|gƒsÔt‚qÔq´dD ]"}dD ]}t||g|gƒsüt‚qüqôqŒd S )Nr<   r>   r?   rA   r=   rG   ©rA   r=   r<   rG   ©r   rB   ra   rC   ©rˆ   Úpr_   rÓ   rD   rD   rE   Útest_prudnikov_2Ø  s    ( rî   c                  C   s¶   t j} ttddƒtddƒg| gƒs&t‚ttddƒtddƒgd|  gƒsJt‚ttddƒtddƒgd|  gƒsnt‚ttddƒtddƒg| gƒsŽt‚ttddƒtddƒgd|  gƒs²t‚d S )NrA   rG   r<   r=   r>   )r   rB   ra   r-   rC   ©rˆ   rD   rD   rE   Útest_prudnikov_3ê  s     $$ rð   c                  C   s|   t j} dD ]l}|  | dd|  dd|  dd|  dd|  f
D ]<}dd|  dd|  dd|  dfD ]}t||g|gƒsZt‚qZq8q
d S )	Nrê   rA   r<   r=   r>   r?   rG   rb   rë   rì   rD   rD   rE   Útest_prudnikov_3_slowó  s
    ."rñ   c                  C   s¦   t j} d|  d|  d|  fD ]„}|  | d|  d|  d|  fD ]:}d|  dd|  dd|  dfD ]}t||g|gƒs\t‚q\q<dD ]"}dD ]}t||g|gƒs„t‚q„q|qd S )Nr<   r>   r?   r=   rG   rê   )r=   r<   rG   rë   rì   rD   rD   rE   Útest_prudnikov_4   s      rò   c                  C   sT  t j} dD ]H}t|dƒD ]8}dD ].}t|dƒD ]}t|  ||g||gƒs.t‚q.q qq
| dd|  dd|  dfD ]v}| d|  d|  fD ]^}| d|  d|  fD ]F}| d|  d|  fD ].}||kr®||kr®t|  ||g||gƒs®t‚q®q˜q‚ql| dd|  dd|  dfD ]R}dD ]H}| d|  d|  fD ].}dD ]"}t|  ||g||gƒ�s"t‚�q"�q�qqüd S )N©rA   r=   r<   rG   rA   r<   r=   r>   ©r   rB   r�   ra   rC   )rˆ   rí   Úqr]   r°   rD   rD   rE   Útest_prudnikov_5  s"    ""rö   c                  C   s8  t j} d|  d|  fD ]x}dD ]n}| ddfD ]&}dD ]}t| ||g||gƒs4t‚q4q,dD ]2}d|  d|  fD ]}t| ||g||gƒslt‚qlqXqqdD ]:}dD ]0}dD ]&}dD ]}t| ||g||gƒs¬t‚q¬q¤qœq”t| | d|  gd|  d|  gƒsôt‚t| dd|  gd|  d|  gƒ�st‚t| ddgddgƒ�s4t‚d S )Nr<   r>   ró   rA   r=   )rA   r=   rë   )rˆ   rÓ   r_   rõ   rí   rD   rD   rE   Útest_prudnikov_6$  s"      $&r÷   c               
   C   s´   t dgdgƒst‚tj} | d|  d|  d|  fD ]}t |  g|gƒs0t‚q0|  | dd|  dd|  dd|  df	D ]@}|  | d|  d|  d|  ddddf	D ]}t |g|gƒs–t‚q–qnd S )Nr<   r@   r>   r?   rA   r=   rG   )ra   rC   r   rB   )rˆ   r_   rÓ   rD   rD   rE   Útest_prudnikov_7>  s    ((rø   c               	   C   s–  t j} dD ]ª}dD ]L}td|d ƒD ]8}| dd|  dd|  dfD ]}t||g||gƒs@t‚q@q$qd|  d|  fD ]B}| dd|  dd|  dfD ]$}dD ]}t||g||gƒs”t‚q”qŒqpq
|  | d|  d|  fD ]Ä}dD ]B}| dd|  dd|  dfD ]$}dD ]}t||g||gƒsøt‚qøqðqÔ| d|  d|  fD ]d}| d|  d|  dfD ]H}| dd|  dd|  dfD ](}||k�r^t||g||gƒ�s^t‚�q^�qB�q*qÌd S )Nró   rA   r<   r=   r>   rô   )rˆ   r`   ZbiÚciZdirD   rD   rE   Útest_prudnikov_8J  s(    
rú   c                  C   s^   t dƒD ] } tg t| ƒd d gƒst‚qt dƒD ]&} tg dt| ƒ d  d gƒs2t‚q2d S )Nrb   rA   r=   r>   )r�   ra   r   rC   )ÚirD   rD   rE   Útest_prudnikov_9e  s    rü   c               	   C   sp  t j} |  | dd|  dd|  dd|  df	D ]2}dD ](}t|dƒD ]}t|g||gƒs@t‚q@q2q*dD ]@}| d|  d|  d|  fD ]"}dD ]}t|g||gƒs†t‚q†q~qbd|  d|  d|  fD ]P}| ddd|  dd|  dfD ]0}t|g| |gƒsðt‚t|gd|  |gƒsØt‚qØqº| ddd|  dd|  dfD ]$}td|  gd|  |gƒ�s&t‚�q&ttddƒgt jt jgƒ�slt‚d S )	NrA   r<   r=   r>   r?   rG   rê   r;   )r   rB   r�   ra   rC   r-   ©rˆ   rí   rÓ   r_   rD   rD   rE   Útest_prudnikov_10m  s     ("rþ   c                   C   s6  t tttj gdt tdt t gƒs*t‚t tttj gtddƒdt dt tj gƒs\t‚t tddƒtddƒgtjtjdgƒs„t‚t tddƒtddƒgtddƒtjdgƒs°t‚t tddƒtddƒgtddƒtddƒdgƒsàt‚t tddƒtddƒgtddƒtddƒdgƒ�st‚t ddgtddƒddgƒ�s2t‚d S )Nr=   r<   rA   rG   r>   r?   )ra   r%   r   rB   r&   rC   r-   rD   rD   rD   rE   Útest_prudnikov_11†  s    *2(,02rÿ   c                   C   s¤  t g tttj dt gdƒs t‚t g tttj dt d gdƒsDt‚t g tjtttj gƒs`t‚t g tddƒtttj gƒs€t‚t g tddƒtjtddƒgƒs¢t‚t g tjtjdgƒsºt‚t g tjtddƒdgƒsÖt‚t g tddƒtddƒtddƒgƒsüt‚t g ddtddƒgƒ�st‚t g ddtddƒgƒ�s4t‚t g dtddƒtddƒgƒ�sVt‚t g tddƒtddƒtddƒgƒ�s~t‚t g dtddƒtddƒgƒ�s t‚d S )Nr=   FrA   r<   rG   r>   r?   )ra   r%   r   rB   rC   r-   rD   rD   rD   rE   Útest_prudnikov_12“  s"      ÿ$ "&"(r   c                  C   sV   t j} |  | fD ]@}| d|  d|  d|  fD ]"}dD ]}t||g|gƒs4t‚q4q,qd S )Nr<   r>   r?   rê   rë   rý   rD   rD   rE   Útest_prudnikov_2F1¦  s
    r  c                  C   s†  t ttgtd gƒst‚t dtgtgƒs,t‚t ttgtt tj gƒsJt‚t ttgtt tj gƒsht‚t ttgtt tddƒ gƒsŠt‚t ttgtt d d gƒsªt‚t ttgtt d d gƒsÊt‚t ttgtt d gƒsæt‚t ttgtt d gƒ�st‚t ttgdt gƒ�st‚t ttgtjgƒ�s6t‚t ttgtddƒgƒ�sRt‚t tdt gtgƒ�slt‚t tdt gtgƒ�s†t‚t tdt gtgƒ�s t‚t tttj gtgƒ�s¼t‚t dtgtgƒ�sÒt‚t dtgtddƒgƒ�sît‚t tddƒtddƒgdgƒ�st‚tj} t | d dg| d d gƒ�s8t‚t | d dg| d d	 gƒ�sZt‚t | d dg| d d
 gƒ�s|t‚t | d dg| d d gƒ�sžt‚t | d dg| d d gƒ�sÀt‚t | d dg| d d gƒ�sât‚t | d dg| d d gƒ�st‚t | d dg| d d gƒ�s&t‚t | d dg| d d	 gƒ�sHt‚t | d d dg| d d gƒ�snt‚t | d d dg| d d	 gƒ�s”t‚t | d d dg| d d gƒ�sºt‚t | d d dg| d d gƒ�sàt‚t | d d dg| d d
 gƒ�st‚t | d d dg| d d
 gƒ�s,t‚t | d d dg| d d	 gƒ�sRt‚t | d d dg| d d gƒ�sxt‚t | d d dg| d d gƒ�sžt‚t | d d dg| d d gƒ�sÄt‚t | d d dg| d d gƒ�sêt‚t | d d dg| d d gƒ�st‚t | d d dg| d d gƒ�s6t‚t | d d dg| d d gƒ�s\t‚t | d d	 dg| d d gƒ�s‚t‚d S )NrA   r;   r<   r=   rG   é   rb   r@   r?   é   r>   é   rÔ   é   é   é   )	ra   r%   r&   rC   r'   r   rB   r-   ZOne)ÚorD   rD   rE   Útest_prudnikov_fail_2F1°  sX    "  """"""""""&&&&&&&&&&&&&&r	  c                   C   s”  t tttddƒ ttddƒ gtddƒtddƒgƒs8t‚t tttddƒ ttddƒ gtddƒtddƒgƒspt‚t tttddƒ ttddƒ gtddƒtddƒgƒs¨t‚t tttddƒ ttddƒ gttddƒ dt d d gƒsêt‚t tddƒtjtjgddgƒ�st‚t tddƒtjdgtddƒtddƒgƒ�s<t‚t tddƒtddƒdgtddƒtd	dƒgƒ�snt‚t tddƒtddƒdgtddƒtd
dƒgƒ�s t‚t tddƒtddƒdgtddƒtddƒgƒ�sÒt‚t tddƒtddƒdgtddƒtddƒgƒ�st‚t tddƒtddƒdgtddƒtddƒgƒ�s6t‚t tddƒtddƒdgtddƒtd
dƒgƒ�sht‚t tjddgtddƒtddƒgƒ�s�t‚d S )NrA   r<   r=   rG   r>   r;   r  rb   r  r  r?   r  r@   )ra   r%   r-   rC   r   rB   rD   rD   rD   rE   Útest_prudnikov_fail_3F2ç  s    888B$.222222r
  c                   C   sÜ  t dtgtddt  t gƒs"t‚t tddƒgtjdgƒs>t‚t dgtjtjgƒsVt‚t tddƒgtjtddƒgƒsxt‚t tddƒgtddƒtddƒgƒsžt‚t dgtddƒtddƒgƒs¾t‚t dgtddƒtddƒgƒsÞt‚t dgtddƒtddƒgƒsþt‚t tjdgtddƒtddƒtddƒgƒ�s,t‚t tjdgtddƒtddƒtddƒgƒ�sZt‚t g tddƒtdƒgƒ�sxt‚t g tddƒtd	ƒgƒ�s–t‚t g tddƒtd	ƒgƒ�s´t‚t g tttj dt d gƒ�sØt‚d S )
NrA   r=   r;   rG   r>   r<   r?   gUUUUUUå?gUUUUUUõ?)ra   r%   r&   rC   r-   r   rB   rD   rD   rD   rE   Útest_prudnikov_fail_other   s    ""&   ..r  c                  C   s.   t ddgtgdƒ} t| ƒtd t ks*t‚d S )Nr;   rA   )r"   r$   r   rC   rï   rD   rD   rE   Útest_bug  s    r  c                  C   sH   t dddƒ} t| ƒtddƒks"t‚t dddƒ} t| ƒtddƒksDt‚d S )N)rd   rc   rm   )éúÿÿÿr  rA   é   )r  iùÿÿÿrd   r;   r@   )r"   r   r-   rC   rï   rD   rD   rE   Útest_omgissue_203#  s    r  N)TrA   F)r;   )T)�Zsympy.core.randomr   r~   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zsympy.concrete.summationsr   Zsympy.core.containersr   Zsympy.core.exprr   ri   r   Zsympy.core.singletonr   ræ   r   Z(sympy.functions.combinatorial.factorialsr    Z$sympy.functions.elementary.piecewiser!   Zsympy.functions.special.hyperr"   r#   Z	sympy.abcr$   r%   r&   r'   Zsympy.testing.pytestr(   r)   r*   r+   r,   rV   r-   r.   Z&sympy.functions.elementary.exponentialr/   r0   r1   Z%sympy.functions.elementary.hyperbolicr2   Z(sympy.functions.elementary.miscellaneousr3   Z(sympy.functions.elementary.trigonometricr4   r5   r6   Zsympy.functions.special.besselr7   rÃ   r8   rÄ   r9   r:   rF   rK   ra   re   rf   rj   rn   ro   rs   rw   rS   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  rD   rD   rD   rE   Ú<module>   s¶   d		


	

 

B

&
(	.	

	







	
6

