U
    ZÊ¹jÈ‘  ã                   @   s�   d dl mZmZ edd„ ƒZedd„ ƒZedd„ ƒZedd	„ ƒZed
d„ ƒZedd„ ƒZedd„ ƒZ	edd„ ƒZ
eddd„ƒZeddd„ƒZdS )é   )ÚdefunÚdefun_wrappedc           0      C   sˆ  d}d}d}|| j k�rÖ|  |¡sª| j| }|  |  |¡|¡}|| |? }| }	}
|}t|	ƒ|kr„|
| |? }
|	|
 |? }	||	7 }qVd|d > |d>  }|  || ¡}�qt| j| }|  |  |¡|¡}|  |  |¡|¡}|| ||  |? }|| |d ? }| }}| }}d|> | }|}|d |d  |k�rš|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}||7 }||7 }�q|d> }|d> }|  || ¡}|  || ¡}|  ||¡}�
nž|  |¡�sB|  |¡�sB| j| }|  |  |¡|¡}|| |? }| }	}
| j|  |¡|d�\}}|  ||¡ }}|  ||¡ }}|| ||  |? }|| |d ? }|| ||  |? || ||  |?  }}||	| |?  }t|	ƒ|k�r|
| |? }
|	|
 |? }	|| ||  |? || ||  |?  }}||	| |? 7 }�q´|d> }|  || ¡}||  	|d¡9 }|S |  |¡�sF| j| }|  |  |¡|¡}|  |  |¡|¡}|| ||  |? }|| |d ? }| }}| }}| j|  |¡|d�\}}|  ||¡ }}|  ||¡ }}|| ||  |? }|| |d ? }|| ||  |? || ||  |?  }}||| |?  }|| |? }|d |d  |k�r
|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}||| |? 7 }||| |? 7 }�qR|d> }|d> }|  || ¡}|  || ¡}|  ||¡}�n.|  |¡�sL| j| }|  |  |¡|¡}|| |? }| }	}
| j}|| _|  |¡\}}|| _|  |  |¡|¡ }}|  |  |¡|¡ }} |  |  |¡|¡ }!}"|  |  |¡|¡ }#}$|| | |   |"|"  |$|$  |? }%||  |"|$  |d ? }&||" | |$  |d ? }'||$ | |"  |d ? }(||% ||&  |!|'  |#|(  |? })||& ||%  |!|(  |#|'  |? }*|!|% |#|&  ||'  ||(  |? }+|!|& |#|%  ||(  ||'  |? },|)}|*}|+}!|,}#||	| |?  }| |	| |?  }t|	ƒ|k�r|
| |? }
|	|
 |? }	||% ||&  |!|'  |#|(  |? })||& ||%  |!|(  |#|'  |? }*|!|% |#|&  ||'  ||(  |? }+|!|& |#|%  ||(  ||'  |? },|)}|*}|+}!|,}#||	| |? 7 }||	| |? 7 }�q&|d> }|d> }|  || ¡}|  || ¡}|  ||¡}�n(| j| }|  |  |¡|¡}|  |  |¡|¡}|| ||  |? }|| |d ? }| }}| }}| j}|| _|  |¡\}}|| _|  |  |¡|¡ }}|  |  |¡|¡ }} |  |  |¡|¡ }!}"|  |  |¡|¡ }#}$|| | |   |"|"  |$|$  |? }%||  |"|$  |d ? }&||" | |$  |d ? }'||$ | |"  |d ? }(||% ||&  |!|'  |#|(  |? })||& ||%  |!|(  |#|'  |? }*|!|% |#|&  ||'  ||(  |? }+|!|& |#|%  ||(  ||'  |? },|)}|*}|+}!|,}#d}-|}.| }/||| ||  |?  }| || ||  |?  }d}-|| ||  |? }.|| ||  |? }/||| ||  |?  }| || ||  |?  }d}-|d |d  |k�r<|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}||% ||&  |!|'  |#|(  |? })||& ||%  |!|(  |#|'  |? }*|!|% |#|&  ||'  ||(  |? }+|!|& |#|%  ||(  ||'  |? },|)}|*}|+}!|,}#|| ||  |? }.|| ||  |? }/||| ||  |? 7 }||| ||  |? 7 }|-d7 }-�
qÎ|d> }|d> }|  || ¡}|  || ¡}|  ||¡}||  	|d¡9 }|S )	Né
   é   é   r   ©Úprecé   é   é   )
ÚzeroÚ_imr   Úto_fixedÚ_reÚabsÚldexpÚmpcÚcos_sinÚnthroot)0ÚctxÚzÚqÚextra1Úextra2ÚMINÚwpÚxÚx2ÚaÚbÚsÚxreÚximÚx2reÚx2imÚareÚbreÚaimÚbimÚsreÚsimÚc1Ús1ÚcnÚsnÚc2Ús2Úprec0ÚcnreÚc1reÚcnimÚc1imÚsnreÚs1reÚsnimÚs1imÚc2reÚc2imÚs2reÚs2imÚt1Út2Út3Út4ÚnZtermreZtermim© rC   úU/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mpmath/functions/theta.pyÚ_jacobi_theta2   s’   



ÿÿ
**
*ÿÿ*
$$$$$$$$$
$$$$$ÿÿ$$$$rE   c           /      C   sÈ  d}d}d}|   |¡�sÜ|   |¡�sÜ| j| }|  |  |¡|¡}|| |? }	|	 }
}| j|  |¡|d�\}}|  ||¡ }}|  ||¡ }}|| ||  |? }|| |d ? }|| ||  |? || ||  |?  }}|d@ rü||
| d|  |?  }n||
| d|  |?  }d}t|
ƒ|k�rÀ||	 |? }|
| |? }
|| ||  |? || ||  |?  }}|d@ �r”||
| d| d |  |? 7 }n ||
| d| d |  |? 7 }|d7 }�q|d>  }|  || ¡}�
nª|   |¡�s„| j| }|  |  |¡|¡}|  |   |¡|¡}|| ||  |? }|| |d ? }| }}| }}| j|  |¡|d�\}}|  ||¡ }}|  ||¡ }}|| ||  |? }|| |d ? }|| ||  |? || ||  |?  }}|d@ �r||| d|  |?  }|| d|  |? }n,||| d|  |?  }|| d|  |? }d}|d |d  |k�rD|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}|d@ �r||| ||  |? 7 }||| ||  |? 7 }n0||| ||  |? 7 }||| ||  |? 7 }|d7 }�q8|d>  }|d>  }|  || ¡}|  || ¡}|  ||¡}�n|   |¡�s2| j| }|  |  |¡|¡}|| |? }	|	 }
}| j}|| _|  |¡\}}|| _|  |  |¡|¡ }} |  |   |¡|¡ }!}"|  |  |¡|¡ }#}$|  |   |¡|¡ }%}&| |  |"|"  |$|$  |&|&  |? }'| |" |$|&  |d ? }(| |$ |"|&  |d ? })| |& |"|$  |d ? }*||' |!|(  |#|)  |%|*  |? }+||( |!|'  |#|*  |%|)  |? },|#|' |%|(  ||)  |!|*  |? }-|#|( |%|'  ||*  |!|)  |? }.|+}|,}!|-}#|.}%|d@ �r€|$|
|# d|  |?  }|&|
|% d|  |?  }n0| |
| d|  |?  }|"|
|! d|  |?  }d}t|
ƒ|k�rò||	 |? }|
| |? }
||' |!|(  |#|)  |%|*  |? }+||( |!|'  |#|*  |%|)  |? },|#|' |%|(  ||)  |!|*  |? }-|#|( |%|'  ||*  |!|)  |? }.|+}|,}!|-}#|.}%|d@ �r¶||
|# ||  |? 7 }||
|% ||  |? 7 }n0||
| ||  |? 7 }||
|! ||  |? 7 }|d7 }�q´|d>  }|d>  }|  || ¡}|  || ¡}|  ||¡}�nT| j| }|  |  |¡|¡}|  |   |¡|¡}|| ||  |? }|| |d ? }| }}| }}| j}|| _|  |¡\}}|| _|  |  |¡|¡ }} |  |   |¡|¡ }!}"|  |  |¡|¡ }#}$|  |   |¡|¡ }%}&| |  |"|"  |$|$  |&|&  |? }'| |" |$|&  |d ? }(| |$ |"|&  |d ? })| |& |"|$  |d ? }*||' |!|(  |#|)  |%|*  |? }+||( |!|'  |#|*  |%|)  |? },|#|' |%|(  ||)  |!|*  |? }-|#|( |%|'  ||*  |!|)  |? }.|+}|,}!|-}#|.}%|d@ �
rd|$||# ||%  d|  |?  }|&||% ||#  d|  |?  }n@| || ||!  d|  |?  }|"||! ||  d|  |?  }d}|d |d  |k�rJ|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}||' |!|(  |#|)  |%|*  |? }+||( |!|'  |#|*  |%|)  |? },|#|' |%|(  ||)  |!|*  |? }-|#|( |%|'  ||*  |!|)  |? }.|+}|,}!|-}#|.}%|d@ �rþ|||# ||%  ||  |? 7 }|||# ||%  ||  |? 7 }n@||| ||!  ||  |? 7 }||| ||!  ||  |? 7 }|d7 }�
q¨|d>  }|d>  }|  || ¡}|  || ¡}|  ||¡}||  |d¡9 }|d@ �r°d	|d  | S d	d|d   | S d S )
Nr   r   r   r   r   r
   r   r	   éÿÿÿÿ)	r   r   r   r   r   r   r   r   r   )/r   r   r   Úndr   r   r   r   r   r   r   r   r+   r,   r-   r.   r/   r0   r    rB   r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rC   rC   rD   Ú_djacobi_theta2Ø   sn   
**
" 

*
ÿÿ*



$$$$$
$$$$



$$$$$
 "  ÿÿ$$$$
 "  


rH   c           '      C   s<	  d}d}d}|| j k�rÖ|  |¡s¦| j| }|  |  |¡|¡}|}| }	}
|| |? }t|	ƒ|kr„|
| |? }
|	|
 |? }	||	7 }qVd|> |d>  }|  || ¡}|S | j| }|  |  |¡|¡}|  |  |¡|¡}|| ||  |? }|| |d ? }| } }}| } }}|d |d  |k�rŽ|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}||7 }||7 }�qd|> |d>  }|d> }|  || ¡}|  || ¡}|  ||¡}|S �nb|  |¡�sô|  |¡�sôd}| j| }|  |  |¡|¡}| }	}
|| |? }| j|  |¡d |d�\}}|  ||¡}|  ||¡}|}|}||	| |? 7 }t|	ƒ|k�rÒ|
| |? }
|	|
 |? }	|| ||  |? || ||  |?  }}||	| |? 7 }�qnd|> |d>  }|  || ¡}|S |  |¡�s²| j| }|  |  |¡|¡}|  |  |¡|¡}|| ||  |? }|| |d ? }| }}| }}| j|  |¡d |d�\}}|  ||¡}|  ||¡}|}|}|| |? }|| |? }|d |d  |k�rn|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}||| |? 7 }||| |? 7 }�q¶d|> |d>  }|d> }|  || ¡}|  || ¡}|  ||¡}|S |  |¡�s°| j| }|  |  |¡|¡}| }	}
|| |? }| j}|| _|  d| ¡\}}|| _|  |  |¡|¡ }}|  |  |¡|¡ }}|  |  |¡|¡ }} |  |  |¡|¡ }!}"|	| |? }|	| |? }t|	ƒ|k�rl|
| |? }
|	|
 |? }	|| ||  ||   |!|"  |? }#|| ||  ||"  |!|   |? }$|| |!|  ||   ||"  |? }%|| |!|  ||"  ||   |? }&|#}|$}|%}|&}!||	| |? 7 }||	| |? 7 }�q‚d|> |d>  }|d> }|  || ¡}|  || ¡}|  ||¡}|S | j| }|  |  |¡|¡}|  |  |¡|¡}|| ||  |? }|| |d ? }| }}| }}| j}|| _|  d| ¡\}}|| _|  |  |¡|¡ }}|  |  |¡|¡ }}|  |  |¡|¡ }} |  |  |¡|¡ }!}"|| ||  |? }|| ||  |? }|d |d  |k�rô|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}|| ||  ||   |!|"  |? }#|| ||  ||"  |!|   |? }$|| |!|  ||   ||"  |? }%|| |!|  ||"  ||   |? }&|#}|$}|%}|&}!||| ||  |? 7 }||| ||  |? 7 }�q¶d|> |d>  }|d> }|  || ¡}|  || ¡}|  ||¡}|S d S )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"   r#   r$   r)   r%   r&   r*   r'   r(   r+   r,   r-   r.   r1   r2   r3   r4   r5   r6   r7   r8   r9   r>   r?   r@   rA   rC   rC   rD   Ú_jacobi_theta3¡  sH   



ÿÿ
*
ÿÿ*
$$$$
ÿÿ$$$$rJ   c           )      C   sŠ	  d}d}d}|   |¡�sx|   |¡�sxd}| j| }|  |  |¡|¡}	|	 }
}|	|	 |? }| j|  |¡d |d�\}}|  ||¡}|  ||¡}|}|}|d@ r®||
| |? 7 }n||
| |? 7 }d}t|
ƒ|k�rX|| |? }|
| |? }
|| ||  |? || ||  |?  }}|d@ �r6||
| ||  |? 7 }n||
| ||  |? 7 }|d7 }qÂ||d >  }|  || ¡}�nà|   |¡�s¶| j| }|  |  |¡|¡}|  |   |¡|¡}|| ||  |? }|| |d ? }| }}| }}| j|  |¡d |d�\}}|  ||¡}|  ||¡}|}|}|d@ �rF|| |? }|| |? }n|| |? }|| |? }d}|d |d  |k�rn|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}|d@ �r2||| ||  |? 7 }||| ||  |? 7 }n0||| ||  |? 7 }||| ||  |? 7 }|d7 }�qb||d >  }||d >  }|  || ¡}|  || ¡}|  ||¡}�n¢|   |¡�s4| j| }|  |  |¡|¡}	|	 }
}|	|	 |? }| j}|| _|  d| ¡\}}|| _|  |  |¡|¡ }}|  |   |¡|¡ }} |  |  |¡|¡ }!}"|  |   |¡|¡ }#}$|d@ �r’|
|! |? }|
|# |? }n|
| |? }|
| |? }d}t|
ƒ|k�rì|| |? }|
| |? }
|| ||   |!|"  |#|$  |? }%||  ||  |!|$  |#|"  |? }&|!| |#|   ||"  ||$  |? }'|!|  |#|  ||$  ||"  |? }(|%}|&}|'}!|(}#|d@ �r°||
|! ||  |? 7 }||
|# ||  |? 7 }n0||
| ||  |? 7 }||
| ||  |? 7 }|d7 }�q®||d >  }||d >  }|  || ¡}|  || ¡}|  ||¡}�n$| j| }|  |  |¡|¡}|  |   |¡|¡}|| ||  |? }|| |d ? }| }}| }}| j}|| _|  d| ¡\}}|| _|  |  |¡|¡ }}|  |   |¡|¡ }} |  |  |¡|¡ }!}"|  |   |¡|¡ }#}$|d@ �rF||! ||#  |? }||! ||#  |? }n(|| ||  |? }|| ||  |? }d}|d |d  |k�	r|| ||  |? || ||  |?  }}|| ||  |? || ||  |?  }}|| ||   |!|"  |#|$  |? }%||  ||  |!|$  |#|"  |? }&|!| |#|   ||"  ||$  |? }'|!|  |#|  ||$  ||"  |? }(|%}|&}|'}!|(}#|d@ �rÈ|||! ||#  ||  |? 7 }|||! ||#  ||  |? 7 }n@||| ||  ||  |? 7 }||| ||  ||  |? 7 }|d7 }�qr||d >  }||d >  }|  || ¡}|  || ¡}|  ||¡}|d@ �	rrd|d  | S dd|d   | S dS )	z2nd=1,2,3 order of the derivative with respect to zr   r   r   rI   r   r   rF   N)r   r   r   r   r   r   r   r   ))r   r   r   rG   r   r   r   r    r   r   r   r   r   r+   r,   r-   r.   rB   r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r1   r2   r3   r4   r5   r6   r7   r8   r9   r>   r?   r@   rA   rC   rC   rD   Ú_djacobi_theta3I  s:   
*



ÿÿ*


$$$$


ÿÿ$$$$
 "  
rK   c                 C   s  t |  |¡|  |  |¡¡ d ƒ }}|  d| ¡}|  d| d | ¡ }}||| |  }|| }	|	}
| jt|	ƒ }|d7 }|| }||| |  | }	t|	ƒ|k rªq´|
|	7 }
qx|}|  d| ¡}|}|d8 }|| }||| |  | }	t|	ƒ|k rþ�q|
|	7 }
qÊ|
|  |d¡ }
|
S )au  
    case ctx._im(z) != 0
    theta(2, z, q) =
    q**1/4 * Sum(q**(n*n + n) * exp(j*(2*n + 1)*z), n=-inf, inf)
    max term for minimum (2*n+1)*log(q).real - 2* ctx._im(z)
    n0 = int(ctx._im(z)/log(q).real - 1/2)
    theta(2, z, q) =
    q**1/4 * Sum(q**(n*n + n) * exp(j*(2*n + 1)*z), n=n0, inf) +
    q**1/4 * Sum(q**(n*n + n) * exp(j*(2*n + 1)*z), n, n0-1, -inf)
    ç      à?r   r   éþÿÿÿr	   )Úintr   r   ÚlogÚexpjÚepsr   r   )r   r   r   rB   Ún0Úe2ÚeÚe0r   Útermr    Úeps1rC   rC   rD   Ú_jacobi_theta2aô  s0    &

rX   c                 C   sø   t |  |¡ t|  |  |¡¡ƒ ƒ }}|  d| ¡}|  d| | ¡ }}|||  |  }}	| jt|	ƒ }
|d7 }|| }|||  | }	t|	ƒ|
k rœq¦||	7 }qn|}|  d| ¡}|}|d8 }|| }|||  | }	t|	ƒ|
k rêqô||	7 }q¼|S )z¾
    case ctx._im(z) != 0
    theta3(z, q) = Sum(q**(n*n) * exp(j*2*n*z), n, -inf, inf)
    max term for n*abs(log(q).real) + ctx._im(z) ~= 0
    n0 = int(- ctx._im(z)/abs(log(q).real))
    r   r   rM   )rN   r   r   r   rO   rP   rQ   )r   r   r   rB   rR   rS   rT   rU   r    rV   rW   rC   rC   rD   Ú_jacobi_theta3a  s*    (

rY   c                 C   sT  t |  |¡|  |  |¡¡ d ƒ }}|  d| ¡}|  d| d | ¡ }}||| |  }	d| d | |	 | }
|
}| jt|
ƒ }|d7 }|| }d| d | ||| |   | }
t|
ƒ|k rÊqÔ||
7 }qˆ|}|  d| ¡}|}|d8 }|| }d| d | ||| |   | }
t|
ƒ|k �r0�q:||
7 }qê| j| | |  |d¡ S )zê
    case ctx._im(z) != 0
    dtheta(2, z, q, nd) =
    j* q**1/4 * Sum(q**(n*n + n) * (2*n+1)*exp(j*(2*n + 1)*z), n=-inf, inf)
    max term for (2*n0+1)*log(q).real - 2* ctx._im(z) ~= 0
    n0 = int(ctx._im(z)/log(q).real - 1/2)
    rL   r   r   rM   r	   )	rN   r   r   rO   rP   rQ   r   Újr   )r   r   r   rG   rB   rR   rS   rT   rU   r   rV   r    rW   rC   rC   rD   Ú_djacobi_theta2a<  s.    	&$
$
r[   c                 C   sv  t |  |¡ t|  |  |¡¡ƒ ƒ }}|  d| ¡}|  d| | ¡ }}|||  | }	|| |	  }
}|dkr„| jt|ƒ }n| jt|	ƒ }|d7 }|| }|||  | }	|| |	 }|dkrÐt|ƒ}nt|	ƒ}||k râqì|
|7 }
q’|}|  d| ¡}|}|d8 }|| }|||  | }	|| |	 }|dk�rBt|ƒ}nt|	ƒ}||k �rX�qd|
|7 }
�qd| j | |
 S )zµ
    case ctx._im(z) != 0
    djtheta3(z, q, nd) = (2*j)**nd *
      Sum(q**(n*n) * n**nd * exp(j*2*n*z), n, -inf, inf)
    max term for minimum n*abs(log(q).real) + ctx._im(z)
    r   rI   r   rM   )rN   r   r   r   rO   rP   rQ   rZ   )r   r   r   rG   rB   rR   rS   rT   rU   r   r    rV   rW   ZatermrC   rC   rD   Ú_djacobi_theta3a`  s@    (




r\   rI   c                 C   sê  |r|   ||||¡S |  |¡}|  |¡}t|ƒ| jkrDtd| j ƒ‚d}|r~|  |¡}|dksn|dkr~|dk r~|dt|ƒ 7 }d}d}| j}	�zN|  j|7  _|dk�rB|  |¡�r(t|  |¡ƒ|t|  |  	|¡¡ƒ k �r|  j
|7  _
|  || jd  |¡}
n$|  j
d7  _
|  || jd  |¡}
n|  || jd  |¡}
�n˜|dk�rÈ|  |¡�r¸t|  |¡ƒ|t|  |  	|¡¡ƒ k �rœ|  j
|7  _
|  ||¡}
n|  j
d7  _
|  ||¡}
n|  ||¡}
�n|d	k�rL|  |¡�r>t|  |¡ƒ|t|  |  	|¡¡ƒ k �r"|  j
|7  _
|  ||¡}
n|  j
d7  _
|  ||¡}
n|  ||¡}
nŽ|d
k�rÖ|  |¡�rÆt|  |¡ƒ|t|  |  	|¡¡ƒ k �r¨|  j
|7  _
|  || ¡}
n|  j
d7  _
|  || ¡}
n|  || ¡}
nt‚W 5 |	| _X |
S ©Nzabs(q) > THETA_Q_LIM = %fr   r   r   éûÿÿÿr   rL   é2   r
   r	   )Ú_djthetaÚconvertr   ÚTHETA_Q_LIMÚ
ValueErrorÚmagr   r   r   rO   ÚdpsrE   ÚpirX   rJ   rY   )r   rB   r   r   Ú
derivativeÚextraÚMÚczr   r1   ÚresrC   rC   rD   ÚjthetaŽ  sf    



(
(
(
(rl   c                 C   s  |   |¡}|   |¡}t|ƒ}t|ƒ| jkr8td| j ƒ‚d| j| d  }|r€|  |¡}|dksp|dkr€|dk r€|dt|ƒ 7 }d}d}	| j}
�zf|  j|7  _|dk�rJ|  |¡�r.t|  |¡ƒ|t|  |  	|¡¡ƒ k �r|  j
|	7  _
|  || jd  ||¡}n&|  j
d7  _
|  || jd  ||¡}n|  || jd  ||¡}�nª|dk�rÖ|  |¡�rÄt|  |¡ƒ|t|  |  	|¡¡ƒ k �r¦|  j
|	7  _
|  |||¡}n|  j
d7  _
|  |||¡}n|  |||¡}�n|d	k�r`|  |¡�rPt|  |¡ƒ|t|  |  	|¡¡ƒ k �r2|  j
|	7  _
|  |||¡}n|  j
d7  _
|  |||¡}n|  |||¡}n”|d
k�rð|  |¡�rÞt|  |¡ƒ|t|  |  	|¡¡ƒ k �r¾|  j
|	7  _
|  || |¡}n|  j
d7  _
|  || |¡}n|  || |¡}nt‚W 5 |
| _X |
 S r]   )ra   rN   r   rb   rc   r   rd   r   r   rO   re   rH   rf   r[   rK   r\   )r   rB   r   r   rg   rG   rh   ri   rj   r   r1   rk   rC   rC   rD   r`   Û  sd    



(
(
(
(r`   N)rI   )r   )Z	functionsr   r   rE   rH   rJ   rK   rX   rY   r[   r\   rl   r`   rC   rC   rC   rD   Ú<module>   s0   
 U
 I
 (
 +
'

#
-L