Ë
    3^(hŠx  ã                   ó$  — d Z ddlmZmZ d„ Zd„ Z	 	 �d#d„Zd„ Zd„ Zd	„ Z	d
Z
d„ Zd„ Zd„ Ze�d$d„«       Zd„ Zd„ Zd„ Zed„ «       Zed„ «       Z	 g ddg‘d‘ddg‘d‘ddg‘d‘ddg‘d‘ddg‘d‘d d!g‘d‘d"d#g‘d‘d$d%g‘d‘d&d'g‘d‘d(d)g‘d‘d*d+g‘d‘d,d-g‘d‘d.d/g‘d‘d0d1g‘d2‘d3d4g‘d‘d5d6g‘d‘d7d8g‘d‘d9d:g‘d‘d;d<g‘d‘d=d>g‘d‘d?d@g‘d‘dAdBg‘d‘dCdDg‘d‘dEdFg‘d‘dGdHg‘d‘dIdJg‘d‘dKdLg‘d‘dMdNg‘d‘dOdPg‘d‘dQdRg‘d‘dSdTg‘d‘dUdVg‘d‘dWdXg‘d‘dYdZg‘d‘d[d\g‘d‘d]d^g‘d‘d_d`g‘d‘dadbg‘d‘dcddg‘d‘dedfg‘d‘dgdhg‘d‘didjg‘d‘dkdlg‘d‘dmdng‘d‘dodpg‘d‘dqdrg‘d‘dsdtg‘d‘dudvg‘d‘dwdxg‘d‘dydzg‘d‘d{d|g‘d‘d}d~g‘d‘dd€g‘d‘d�d‚g‘d‘dƒd„g‘d‘d…d†g‘d‘d‡dˆg‘d‘d‰dŠg‘d‘d‹dŒg‘d‘d�dŽg‘d‘d�d�g‘d‘d‘d’g‘d‘d“d”g‘d‘d•d–g‘d‘d—d˜g‘d‘d™dšg‘d‘d›dœg‘d‘d�džg‘d‘dŸd g‘d‘d¡d¢g‘d2‘d£d¤g‘d‘d¥d¦g‘d‘d§d¨g‘d‘d©dªg‘d‘d«d¬g‘d‘d­d®g‘d‘d¯d°g‘d‘d±d²g‘d‘d³d´g‘d‘dµd¶g‘d‘d·d¸g‘d‘d¹dºg‘d‘d»d¼g‘d‘d½d¾g‘d‘d¿dÀg‘d‘dÁdÂg‘d‘dÃdÄg‘d‘dÅdÆg‘d‘dÇdÈg‘d‘dÉdÊg‘dË‘dÌdÍg‘d‘dÎdÏg‘d‘dÐdÑg‘d‘dÒdÓg‘dÔ‘dÕdÖg‘d‘d×dØg‘dË‘dÙdÚg‘d‘dÛdÜg‘d‘dÝdÞg‘d‘dßdàg‘d‘dádâg‘d‘dãdäg‘d‘dådæg‘d‘dçdèg‘d‘dédêg‘d‘dëdìg‘d‘dídîg‘d‘dïdðg‘dÔ‘dñdòg‘d‘dódôg‘d‘dõdög‘d‘d÷døg‘d‘dùdúg‘d‘dûdüg‘d‘dýdþg‘d‘dÿ�d g‘�d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�d	g‘d‘�d
�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d �d!g‘d‘�d"�d#g‘d‘�d$�d%g‘d‘�d&�d'g‘d‘�d(�d)g‘d‘�d*�d+g‘d‘�d,�d-g‘d‘�d.�d/g‘dË‘�d0�d1g‘d‘�d2�d3g‘d‘�d4�d5g‘d‘�d6�d7g‘d‘�d8�d9g‘d‘�d:�d;g‘d‘�d<�d=g‘d‘�d>�d?g‘d‘�d@�dAg‘d‘�dB�dCg‘d‘�dD�dEg‘d‘�dF�dGg‘d‘�dH�dIg‘d‘�dJ�dKg‘d‘�dL�dMg‘�dN‘�dO�dPg‘d‘�dQ�dRg‘d‘�dS�dTg‘�dU‘�dV�dWg‘d‘�dX�dYg‘d‘�dZ�d[g‘d‘�d\�d]g‘d‘�d^�d_g‘d‘�d`�dag‘d‘�db�dcg‘d‘�dd�deg‘d‘�df�dgg‘d‘�dh�dig‘d‘�dj�dkg‘d‘�dl�dmg‘d‘�dn�dog‘d‘�dp�dqg‘d‘�dr�dsg‘d‘�dt�dug‘d‘�dv�dwg‘d‘�dx�dyg‘d‘�dz�d{g‘d‘�d|�d}g‘dË‘�d~�dg‘d‘�d€�d�g‘d‘�d‚�dƒg‘d‘�d„�d…g‘�dU‘�d†�d‡g‘d‘�dˆ�d‰g‘d‘�dŠ�d‹g‘d‘�dŒ�d�g‘d‘�dŽ�d�g‘d‘�d��d‘g‘d‘�d’�d“g‘d‘�d”�d•g‘d‘�d–�d—g‘d‘�d˜�d™g‘d‘�dš�d›g‘d‘�dœ�d�g‘d‘�dž�dŸg‘d‘�d �d¡g‘d‘�d¢�d£g‘d‘�d¤�d¥g‘d‘�d¦�d§g‘d‘�d¨�d©g‘d‘�dª�d«g‘dÔ‘�d¬�d­g‘d‘�d®�d¯g‘d‘�d°�d±g‘d‘�d²�d³g‘d‘�d´�dµg‘d‘�d¶�d·g‘d‘�d¸�d¹g‘d‘�dº�d»g‘d‘�d¼�d½g‘d‘�d¾�d¿g‘d‘�dÀ�dÁg‘d‘�dÂ�dÃg‘d‘�dÄ�dÅg‘d‘�dÆ�dÇg‘d‘�dÈ�dÉg‘d‘�dÊ�dËg‘d‘�dÌ�dÍg‘d‘�dÎ�dÏg‘d‘�dÐ�dÑg‘d‘�dÒ�dÓg‘d‘�dÔ�dÕg‘d‘�dÖ�d×g‘d‘�dØ�dÙg‘d‘�dÚ�dÛg‘dÔ‘�dÜ�dÝg‘d‘�dÞ�dßg‘d‘�dà�dág‘d‘�dâ�dãg‘d‘�dä�dåg‘d‘�dæ�dçg‘d‘�dè�dég‘d‘�dê�dëg‘d‘�dì�díg‘d‘�dî�dïg‘d‘�dð�dñg‘d‘�dò�dóg‘d‘�dô�dõg‘d‘�dö�d÷g‘d‘�dø�dùg‘d‘�dú�dûg‘�d‘�dü�dýg‘d‘�dþ�dÿg‘d‘�d �dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�d	g‘d‘�d
�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d2‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d �d!g‘d‘�d"�d#g‘�dU‘�d$�d%g‘d‘�d&�d'g‘d‘�d(�d)g‘d‘�d*�d+g‘d‘�d,�d-g‘d‘�d.�d/g‘d‘�d0�d1g‘d‘�d2�d3g‘d‘�d4�d5g‘d‘�d6�d7g‘d‘�d8�d9g‘d‘�d:�d;g‘d‘�d<�d=g‘d‘�d>�d?g‘d‘�d@�dAg‘d‘�dB�dCg‘d‘�dD�dEg‘d‘�dF�dGg‘d‘�dH�dIg‘d‘�dJ�dKg‘d‘�dL�dMg‘dÔ‘�dN�dOg‘d‘�dP�dQg‘d‘�dR�dSg‘d‘�dT�dUg‘d‘�dV�dWg‘d‘�dX�dYg‘d‘�dZ�d[g‘d‘�d\�d]g‘d‘�d^�d_g‘d‘�d`�dag‘d‘�db�dcg‘d‘�dd�deg‘d‘�df�dgg‘d‘�dh�dig‘d‘�dj�dkg‘d‘�dl�dmg‘d‘�dn�dog‘d‘�dp�dqg‘d‘�dr�dsg‘d‘�dt�dug‘d‘�dv�dwg‘d‘�dx�dyg‘d‘�dz�d{g‘d‘�d|�d}g‘d‘�d~�dg‘d‘�d€�d�g‘d‘�d‚�dƒg‘d‘�d„�d…g‘d2‘�d†�d‡g‘d‘�dˆ�d‰g‘d‘�dŠ�d‹g‘d‘�dŒ�d�g‘d‘�dŽ�d�g‘d‘�d��d‘g‘d‘�d’�d“g‘d‘�d”�d•g‘d‘�d–�d—g‘d‘�d˜�d™g‘�dU‘�dš�d›g‘d‘�dœ�d�g‘d‘�dž�dŸg‘d‘�d �d¡g‘d‘�d¢�d£g‘d‘�d¤�d¥g‘d‘�d¦�d§g‘d‘�d¨�d©g‘�dª‘�d«�d¬g‘d‘�d­�d®g‘d‘�d¯�d°g‘d‘�d±�d²g‘d‘�d³�d´g‘�d‘�dµ�d¶g‘d‘�d·�d¸g‘d‘�d¹�dºg‘d‘�d»�d¼g‘d‘�d½�d¾g‘d‘�d¿�dÀg‘d‘�dÁ�dÂg‘d‘�dÃ�dÄg‘d‘�dÅ�dÆg‘d‘�dÇ�dÈg‘d‘�dÉ�dÊg‘d‘�dË�dÌg‘d‘�dÍ�dÎg‘�dU‘�dÏ�dÐg‘d‘�dÑ�dÒg‘d‘�dÓ�dÔg‘d‘�dÕ�dÖg‘dË‘�d×�dØg‘d‘�dÙ�dÚg‘d‘�dÛ�dÜg‘d‘�dÝ�dÞg‘d‘�dß�dàg‘dË‘�dá�dâg‘d‘�dã�däg‘d‘�då�dæg‘d‘�dç�dèg‘d‘�dé�dêg‘dÔ‘�dë�dìg‘d‘�dí�dîg‘d‘�dï�dðg‘d‘�dñ�dòg‘dÔ‘�dó�dôg‘d‘�dõ�dög‘d‘�d÷�døg‘d‘�dù�dúg‘d‘�dû�düg‘d‘�dý�dþg‘d‘�dÿ�d g‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d�dg‘d‘�d¨�d©g‘�dª‘�d	�d
g‘�dª‘�d�dg‘�d‘�d�dg‘�d‘�d�dg‘�d‘�d�dg‘�dª‘�d�dg‘�d‘�d�dg‘�dª‘�d�dg‘�d‘�d�dg‘�d‘�d�d g‘�d‘�d!�d"g‘�d‘Zy(%  aŸ  
The function zetazero(n) computes the n-th nontrivial zero of zeta(s).

The general strategy is to locate a block of Gram intervals B where we
know exactly the number of zeros contained and which of those zeros
is that which we search.

If n <= 400 000 000  we know exactly the Rosser exceptions, contained
in a list in this file. Hence for n<=400 000 000 we simply
look at these list of exceptions. If our zero is implicated in one of
these exceptions we have our block B.  In other case we simply locate
the good Rosser block containing our zero.

For n > 400 000 000 we apply the method of Turing, as complemented by
Lehman, Brent and Trudgian  to find a suitable B.
é   )ÚdefunÚdefun_wrappedc                 ót  — t        t        t        «      dz  «      D ]³  }t        d|z     d   }t        d|z     d   }||dz
  k  sŒ*|dz
  |k  sŒ3| j                  |«      }| j                  |«      }| j                  j                  |«      }| j                  j                  |«      }||z
  dz
  }	||z
  }
t        d|z  dz      }|	||g||g||gfc S  |dz
  }t        | |«      \  }}}|g}|g}|dk  r?|dz  }t        | |«      \  }}}|j                  d|«       |j                  d|«       |dk  rŒ?||z
  dz
  }	|dz
  }t        | |«      \  }}}|j                  |«       |j                  |«       |dk  r=|dz  }t        | |«      \  }}}|j                  |«       |j                  |«       |dk  rŒ=|	||g||fS )z;for n<400 000 000 determines a block were one find our zeroé   é    r   )	ÚrangeÚlenÚ_ROSSER_EXCEPTIONSÚ	grampointÚ_fpÚsiegelzÚcompute_triple_tvbÚinsertÚappend)ÚctxÚnÚkÚaÚbÚt0Út1Úv0Úv1Úmy_zero_numberÚzero_number_blockÚpatternÚtÚvÚTÚVÚms                    úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/mpmath/functions/zetazeros.pyÚfind_rosser_block_zeror#      sæ  € ä”3Ô)Ó*¨AÑ-Ó.ò =ˆÜ
˜Q˜q™SÑ
! !Ñ
$ˆÜ
˜Q˜q™SÑ
! !Ñ
$ˆØ��1‘‹W˜1˜Q™3 !›8Ø—‘˜qÓ!ˆBØ—‘˜qÓ!ˆBØ—‘—‘ Ó$ˆBØ—‘—‘ Ó$ˆBØ˜q™S ™UˆNØ ! !¡ÐÜ(¨¨1©¨Q©Ñ/ˆGØ" Q q E¨B¨r¨7°R¸°GÐ<Ò<ð=ð 	
ˆ!‰€AÜ˜s AÓ&�E€A€aˆØ	
ˆ€AØ	
ˆ€AØ
ˆaŠ%Ø	ˆQ‰ˆÜ" 3¨Ó*‰ˆˆ!ˆAØ	�‰��1ŒØ	�‰��1Œð	 ˆa‹%ð
 �q‘S˜‘U€NØ	ˆ!‰€AÜ˜s AÓ&�E€A€aˆØ‡H�HˆQ„KØ‡H�HˆQ„KØ
ˆaŠ%Ø	ˆQ‰ˆÜ" 3¨Ó*‰ˆˆ!ˆAØ	�‰�ŒØ	�‰�Œð	 ˆa‹%ð
 ˜Q˜q˜E 1 aÐ(Ð(ó    c                 ó4   — d}| dkD  rd}| dkD  rd}| dkD  rd}|S )z(Precision needed to compute higher zerosé5   i £áé?   l    hí] éF   ì    @ô Ìk éS   © )r   Úwps     r"   Úwpzerosr-   7   s0   € à	€BØˆ7‚{ØˆØˆ6‚zØˆØˆ6‚zØˆØ€Ir$   Nc                 ó¦  ‡ — |€‰ j                   }d}t        |«      }||k  �r!||k  �r|d   }|d   }	|g}
|	g}d}t        dt        |«      «      D ]÷  }||   }||   }||	z  dkD  r#‰ j	                  ||	z  «      }||z  |z   |dz   z  }n||z   dz  }|dk  r;‰ j
                  j                  |«      }t        |«      |k  r#‰ j                  |«      }n‰ j                  |«      }|	|z  dk  r|dz  }|
j                  |«       |j                  |«       ||   }||z  dk  r|dz  }|
j                  |«       |j                  |«       |}|}	Œù |
}|}|dz  }|t        kD  rÑ|dkD  rÌ|dz   |k(  rÄd}d}d}t        dt        |«      «      D ]*  }||   ||dz
     z
  }||kD  r|}|}|}Œ||k  sŒ#||kD  sŒ)|}Œ, |d|z  kD  rtˆ fd„}||dz
     }||   }‰ j                  |||fddd¬	«      }‰ j                  |«      }	||k  r4||k  r/|	||   z  dk  r$|j                  ||«       |j                  ||	«       t        |«      }||k  r||k  r�Œ||k(  rd
}nd}|||fS )z^Separate the zeros contained in the block T, limitloop
    determines how long one must searchr   r   r   é
   é   c                 ó*   •— ‰j                  | d¬«      S )Nr   ©Ú
derivative)Úrs_z©Úxr   s    €r"   ú<lambda>z)separate_zeros_in_block.<locals>.<lambda>y   s   ø€ ˜cŸh™h q°A˜hÓ6€ r$   ÚillinoisF)ÚsolverÚverifyÚverboseT)ÚinfÚcount_variationsr   r	   Úsqrtr   r   Úabsr   ÚITERATION_LIMITÚfindrootr   )r   r   r   r    Ú	limitloopÚfp_toleranceÚ
loopnumberÚ
variationsr   r   ÚnewTÚnewVr   Úb2ÚuÚalphar   ÚwÚdtMaxÚdtSecÚkMaxÚk1ÚdtÚfr   r   r   Ú	separateds   `                           r"   Úseparate_zeros_in_blockrS   B   sÆ  ø€ ð ÐØ—G‘Gˆ	Ø€JÜ! !Ó$€JØÐ*Ó*°¸YÓ1FØˆa‰DˆØˆa‰DˆØˆsˆØˆsˆØˆ
Ü�qœ˜Q›“ò 	ˆAØ�1‘ˆBØ�!‘ˆAØ�!‘�A’ØŸ™  1¡›�Ø˜!‘G˜B‘J  q¡Ñ)‘à�r‘T˜1‘H�Ø˜bÒ Ø—G‘G—O‘O AÓ&�Ü�q“6˜,Ò&ØŸ™ A›‘Aà—+‘+˜a“.�Ø�‰s�1ŠuØ˜a‘�
Ø�K‰K˜ŒNØ�K‰K˜ŒNØ�!‘ˆAØ�‰s�AŠvØ˜a‘�
Ø�K‰K˜ŒOØ�K‰K˜ŒNØˆAØ‰Að1	ð2 ˆØˆØ�Q‰ˆ
Ø”oÒ%¨*°Qª,¸:Àa¹<ÐIZÒ;ZØˆEØˆEØˆDÜ˜Aœc !›f“oò �Ø�r‘U˜1˜R ™T™7‘]�Ø˜’:Ø�DØ!�EØ‘EØ˜%“x R¨£YØ‘Eðð �Q�u‘WŠ}Û6�Ø�T˜!‘V‘9�Ø�t‘W�Ø—,‘,˜q B r 7°JÀeÐUZ�,Ó[�Ø—K‘K “N�Ø�q’D˜q št¨!¨A¨d©G©)°Aª+Ø—H‘H˜T !Ô$Ø—H‘H˜T !Ô$Ü% aÓ(ˆ
ðo Ð*Ò*°¸YÔ1Fðp Ð&Ò&Ø‰	àˆ	Øˆa�ÐÐr$   c                 óâ  ‡ — d}|d   }t        dt        |«      «      D ]!  }||   }	||	z  dk  r|dz  }||k(  r|}
|}|	}|	}Œ# |
   }||
dz
     }|‰ _        t        |‰ j	                  |«      z  «      }d‰ j                  |«      z  }‰ j                  dz   g}d}|d   d|z  kD  r&|dz  }|d   dz  dz   d|z  z   g|z   }|d   d|z  kD  rŒ&|d   |z   ‰ _        ‰ j                  ˆ fd„||fdd¬	«      }‰ j                  d
|«      }|dd D ]U  }||z   ‰ _        |‰ j                  |«      ‰ j                  |d¬«      z  z
  }‰ j                  d
‰ j                  |«      «      }ŒW ‰ j                  |«      S )zPIf we know which zero of this block is mine,
    the function separates the zeror   r   é   r   r0   c                 ó&   •— ‰j                  | «      S )N©r   r5   s    €r"   r7   z"separate_my_zero.<locals>.<lambda>¢   s   ø€ ˜cŸk™k¨!›n€ r$   r8   F)r9   r;   ç      à?Nr2   )
r   r	   Úprecr-   ÚlogÚmagrA   ÚmpcÚzetaÚim)r   r   r   r   r    rY   rE   r   r   r   Úk0ÚleftvÚrightvr   r   ÚwpzÚguardÚprecsÚindexÚrÚzÚznews   `                     r"   Úseparate_my_zerori   ˆ   sº  ø€ ð €JØ	
ˆ1‰€BÜ�1”S˜“V‹_ò ˆØˆq‰TˆØˆb‰5�1Š9Ø˜‰NˆJØ˜^Ò+Ø�Ø�Ø�Ø‰ðð 
ˆ2‰€BØ	
ˆ2ˆa‰4‰€BØ€C„HÜ
�. §¡¨Ó!8Ñ8Ó
9€Càˆc�g‰g�nÓ%Ñ%€EØ�X‰X�a‰ZˆL€EØ
€EØ
�‰(�Q�s‘UÒ
Ø�‰	ˆØ�q‘˜Q‘ Ñ! ! E¡'Ñ)Ð*¨UÑ2ˆð �‰(�Q�s‘UÓ
ð �Q‰x˜%Ñ€C„HØ�‰Ó,¨r°"¨g¸zÐSXˆÓY€Aà	‡g�gˆc�!ƒn€AØ�a�b�	ò $ˆØ˜%‘<ˆŒà�3—8‘8˜A“; §¡¨!¸ Ó!:Ñ:Ñ:ˆà
�'‰'�#�c—f‘f˜T“lÓ
#‰ð$ð �6‰6�!‹9Ðr$   c                 óô   — |dk  ry| j                  |dz
  «      }| j                  j                  |«      }d|dz  z  d|z  z   }d|dz  z  d|z  z   }| j                  t	        ||«      «      }t        |«      }|S )a  The number of good Rosser blocks needed to apply
    Turing method
    References:
    R. P. Brent, On the Zeros of the Riemann Zeta Function
    in the Critical Strip, Math. Comp. 33 (1979) 1361--1372
    T. Trudgian, Improvements to Turing Method, Math. Comp.i » r   éd   gðHPüx?g{®Gáz´?gaÃÓ+ei?g)\�Âõ(¼?)r   r   ÚlnÚceilÚminÚint)r   r   ÚgÚlgÚbrentÚtrudgianÚNs          r"   Úsure_number_blockru   ­   s€   € ð 	ˆ7‚{ØØ�‰�a˜‘eÓ€AØ	�‰�‰�A‹€BØ�R˜‘U‰N˜D ™GÑ#€EØ˜˜A™‰~˜t B™wÑ&€HØ�‰”�U˜8Ó$Ó%€AÜˆA‹€AØ€Hr$   c                 óô   — | j                  |«      }| j                  j                  |«      }| j                  t	        |«      «      | j                  |«      dz
  k  r| j                  |«      }|d|z  z  }|||fS )Né-   éÿÿÿÿ)r   r   r   r[   r?   )r   r   r   r   r   s        r"   r   r   ¾   sg   € Ø�‰�aÓ€AØ�‰�‰˜Ó€AØ
‡w�wŒs�1‹vƒ�s—w‘w˜q“z "‘}Ò$Ø�K‰K˜‹NˆØ	ˆ2�‰'‰	€AØˆQˆqˆ5€Lr$   rU   c                 ó~  — t        | |«      }d}|dz
  }t        | |«      \  }}}|g}	|g}
|dk  r=|dz  }t        | |«      \  }}}|	j                  |«       |
j                  |«       |dk  rŒ=|g}|g}|g}|d|z  k  �r|dz  }t        | |«      \  }}}|j                  |«       |j                  |«       |dk  r=|dz  }t        | |«      \  }}}|j                  |«       |j                  |«       |dk  rŒ=|j                  |«       t        |«      dz
  }t	        | |||t
        |¬«      \  }}}|	j                  «        |	j                  |«       |
j                  «        |
j                  |«       |r|dz  }nd}|g}|g}|d|z  k  r�Œd}|dz
  }t        | |«      \  }}}|	j                  d|«       |
j                  d|«       |dk  r?|dz  }t        | |«      \  }}}|	j                  d|«       |
j                  d|«       |dk  rŒ?|j                  d|«       |g}|g}|d|z  k  rù|dz  }t        | |«      \  }}}|j                  d|«       |j                  d|«       |dk  r?|dz  }t        | |«      \  }}}|j                  d|«       |j                  d|«       |dk  rŒ?|j                  d|«       t        |«      dz
  }t	        | |||t
        |¬«      \  }}}|j                  «        ||	z   }	|j                  «        ||
z   }
|r|dz  }nd}|g}|g}|d|z  k  rŒù|d|z     }t        |«      }||d|z  z
  dz
     }t        | |«      \  }}}|	j                  |«      }t        | |«      \  }}}|	j                  |«      }|	||dz    }|
||dz    }||z
  }t	        | |||t
        |¬«      \  }}}|r||z
  dz
  ||g||fS ||   }t        |«      }|||z
  dz
     }t        | |«      \  }}} |	j                  |«      }!t        | |«      \  }"}#}$|	j                  |"«      }%|	|!|%dz    }|
|!|%dz    }||z
  dz
  ||g||fS )zTo use for n>400 000 000r   r   r   ©rB   rC   )
ru   r   r   r	   rS   r@   ÚpopÚextendr   re   )&r   r   rC   ÚsbÚnumber_goodblocksÚm2r   r   r   ÚTfÚVfÚ
goodpointsr   r    ÚznÚAÚBrR   rf   rq   ÚsÚtrÚvrÚbrÚarÚtsÚvsÚbsÚas1ÚqÚtqÚvqÚbqÚaqÚttÚvtÚbtÚats&                                         r"   Úsearch_supergood_blockr˜   Ê   sÎ  € ä	˜3 Ó	"€BØÐØ	
ˆ1‰€BÜ   bÓ)�G€A€qˆ!Ø
ˆ€BØ
ˆ€BØ
ˆaŠ%Ø
ˆa‰ˆÜ" 3¨Ó+‰ˆˆ!ˆAØ
�	‰	�!ŒØ
�	‰	�!Œð	 ˆa‹%ð
 �€JØ	
ˆ€AØ	
ˆ€AØ
˜a ™dÓ
"Ø
ˆa‰ˆÜ$ S¨"Ó-‰ˆˆ1ˆaØ	�‰�ŒØ	�‰�ŒØ�!ŠeØ�!‰GˆBÜ& s¨BÓ/‰EˆAˆa�Ø�H‰H�QŒKØ�H‰H�QŒKð	 �!‹eð
 	×Ñ˜"ÔÜ�‹V�A‰Xˆä" 3¨¨A¨q¼OØ)ô+ñ 	ˆˆ1ˆið 	�‰ŒØ
�	‰	�!ŒØ
�‰ŒØ
�	‰	�!ŒÙØ Ñ"Ñà !ÐØˆCˆØˆCˆð1 ˜a ™dÔ
"ð4 ÐØ	
ˆ1‰€BÜ   bÓ)�G€A€qˆ!Ø‡I�Iˆa�„NØ‡I�Iˆa�„NØ
ˆaŠ%Ø
ˆa‰ˆÜ" 3¨Ó+‰ˆˆ!ˆAØ
�	‰	�!�AŒØ
�	‰	�!�AŒð	 ˆa‹%ð
 ×Ñ�a˜ÔØ	
ˆ€AØ	
ˆ€AØ
˜a ™dÒ
"Ø
ˆa‰ˆÜ$ S¨"Ó-‰ˆˆ1ˆaØ	�‰��1ŒØ	�‰��1ŒØ�!ŠeØ�!‰GˆBÜ& s¨BÓ/‰EˆAˆa�Ø�H‰H�Q�qŒMØ�H‰H�Q�qŒMð	 �!‹eð
 	×Ñ˜!˜BÔÜ�‹V�A‰Xˆä" 3¨¨A¨q¼OÐZfÔgñ 	ˆˆ1ˆià	�‰ŒØˆr‰TˆØ	�‰ŒØˆr‰TˆÙØ Ñ"Ñà !ÐØˆCˆØˆCˆð/ ˜a ™dÓ
"ð0 	�1�R‘4Ñ€AÜ	ˆZ‹€BØ�2�a˜‘d‘7˜1‘9Ñ€AÜ# C¨Ó+�J€BˆˆBØ	�‰�"‹€BÜ# C¨Ó+�J€BˆˆBØ
�(‰(�2‹,€CØ
ˆ2ˆc�!‰eˆ€AØ
ˆ2ˆc�!‰eˆ€AØ	
ˆ1‰€Bä˜s B q¨´_ÐS_Ô`ñ €A€qˆ)áØ�!‘�A‘�q˜�e˜A˜aÐ Ð Ø�2‰€AÜ	ˆZ‹€BØ�2�b‘5˜‘7Ñ€AÜ# C¨Ó+�J€BˆˆBØ	�‰�"‹€BÜ# C¨Ó+�J€BˆˆBØ	�‰�"‹€BØ
ˆ2ˆb�‰dˆ€AØ
ˆ2ˆb�‰dˆ€AØˆa‰C�‰E�1�Q�%˜˜!ÐÐr$   c                 óp   — d}| d   }t        dt        | «      «      D ]  }| |   }||z  dk  r|dz  }|}Œ |S ©Nr   r   )r   r	   )r    ÚcountÚvoldr   Úvnews        r"   r=   r=   2  sS   € Ø€EØˆQ‰4€DÜ�1”c˜!“fÓò ˆØ�‰tˆØ�‰9�qŠ=Ø�A‰IˆEØ‰ð	ð
 €Lr$   c                 óŽ  — d}|d   }|d   }t        | |«      \  }}}	d}
d}t        |dz   |dz   «      D ]Š  }t        | |«      \  }}}t        |«      }|
|k  r||
   |k  r|
dz  }
|
|k  r	||
   |k  rŒ|||
 }|j                  |«       |j	                  d|«       t        |«      }|d|z  z   }|dkD  r|dz   }|
}|||}	}}ŒŒ |d d }|S )Nú(r   r   z%sz)(rx   )r   r   r	   r   r   r=   )r   Úblockr   r    r   r   r   r   r   Úb0r   r_   r   r   r   Úb1ÚlgTÚLr›   s                      r"   Úpattern_constructr¥   <  s	  € Ø€GØˆa‰€AØˆa‰€AÜ! # qÓ)�H€B€rˆ"Ø	€AØ	
€BÜ�1�Q‘3�q˜‘s‹^ò ˆÜ% c¨1Ó-‰ˆˆ2ˆbÜ�‹VˆØ�3Šw˜Q˜q™T RšZØ�‰FˆAð �3Šw˜Q˜q™T R›Zàˆb�ˆGˆØ	�‰�ŒØ	�‰��2ŒÜ  Ó#ˆØ˜T E™\Ñ*ˆØ�Š6Ø ‘nˆGØˆØ�b˜ˆbˆ2‰ðð �c�rˆl€GØ€Nr$   c                 ó.  — t        |«      }|dk  r | j                  | «      j                  «       S |dk(  rt        d«      ‚| j                  }	 t        | |«      \  }}|| _        |dk  rt        | |«      \  }}}	}
nt        | ||«      \  }}}	}
|d   |d   z
  }t        | ||	|
| j                  |¬«      \  }	}
}|rt        | ||	|
«      }t        ||«      }t        | |||	|
|«      }| j                  d|«      }|| _        |r|­}|r|||fS |S # || _        w xY w)aŠ  
    Computes the `n`-th nontrivial zero of `\zeta(s)` on the critical line,
    i.e. returns an approximation of the `n`-th largest complex number
    `s = \frac{1}{2} + ti` for which `\zeta(s) = 0`. Equivalently, the
    imaginary part `t` is a zero of the Z-function (:func:`~mpmath.siegelz`).

    **Examples**

    The first few zeros::

        >>> from mpmath import *
        >>> mp.dps = 25; mp.pretty = True
        >>> zetazero(1)
        (0.5 + 14.13472514173469379045725j)
        >>> zetazero(2)
        (0.5 + 21.02203963877155499262848j)
        >>> zetazero(20)
        (0.5 + 77.14484006887480537268266j)

    Verifying that the values are zeros::

        >>> for n in range(1,5):
        ...     s = zetazero(n)
        ...     chop(zeta(s)), chop(siegelz(s.imag))
        ...
        (0.0, 0.0)
        (0.0, 0.0)
        (0.0, 0.0)
        (0.0, 0.0)

    Negative indices give the conjugate zeros (`n = 0` is undefined)::

        >>> zetazero(-1)
        (0.5 - 14.13472514173469379045725j)

    :func:`~mpmath.zetazero` supports arbitrarily large `n` and arbitrary precision::

        >>> mp.dps = 15
        >>> zetazero(1234567)
        (0.5 + 727690.906948208j)
        >>> mp.dps = 50
        >>> zetazero(1234567)
        (0.5 + 727690.9069482075392389420041147142092708393819935j)
        >>> chop(zeta(_)/_)
        0.0

    with *info=True*, :func:`~mpmath.zetazero` gives additional information::

        >>> mp.dps = 15
        >>> zetazero(542964976,info=True)
        ((0.5 + 209039046.578535j), [542964969, 542964978], 6, '(013111110)')

    This means that the zero is between Gram points 542964969 and 542964978;
    it is the 6-th zero between them. Finally (01311110) is the pattern
    of zeros in this interval. The numbers indicate the number of zeros
    in each Gram interval (Rosser blocks between parenthesis). In this case
    there is only one Rosser block of length nine.
    r   zn must be nonzeroé „×r   rz   rX   )ro   ÚzetazeroÚ	conjugateÚ
ValueErrorrY   Úcomp_fp_tolerancer#   r˜   rS   r<   r¥   Úmaxri   r\   )r   r   ÚinfoÚroundÚ	wpinitialrb   rC   r   r    r   r    r   rR   r   rY   r   r   s                    r"   r¨   r¨   T  sL  € ôx 	ˆA‹€AØˆ1‚uØ�|‰|˜Q˜BÓ×)Ñ)Ó+Ð+ØˆA‚vÜÐ,Ó-Ð-Ø—‘€IðÜ-¨c°1Ó5Ñˆˆ\ØˆŒØˆyŠ=ä# C¨Ó+ñ (ˆN˜E 1¡aô $ C¨¨LÓ9ñ (ˆN˜E 1 aà! !™H U¨1¡XÑ-ÐÜ1°#Ð7HÈ!ÈQØ—g‘g¨Lô:‰ˆˆ1ˆiáÜ'¨¨E°!°AÓ6ˆGÜ�9˜cÓ"ˆÜ˜S .Ð2CÀAÀaÈÓMˆØ�G‰G�C˜‹NˆàˆŒÙØˆ2ˆÙØ�%˜ wÐ/Ð/àˆøð ˆ�ús   ÁB'D Ä	Dc                 óø   — |dkD  rd| j                  |d«      z  }nd}| j                  }	 | xj                  |z  c_        t        | j                  |«      | j                  z  «      }|| _        |S # || _        w xY w)Nl     åa$r0   r/   r   )rZ   rY   ro   ÚsiegelthetaÚpi)r   r   r,   rY   Úhs        r"   Ú
gram_indexr´   °  sp   € Øˆ6‚zØˆs�w‰w�q˜"‹~Ñ‰àˆØ�8‰8€DðØ�Š�B‰�Ü�—‘ Ó" 3§6¡6Ñ)Ó*ˆàˆŒØ€Iøð ˆ�ús   «<A0 Á0	A9c                 óº   — d}|d   }|d   }|d   }d}||k  r$||   }	||	z  dk  r|dz  }|	}|dz  }||   }||k  rŒ$| j                  |«      }
|
|z  dk  r|dz  }|S rš   rW   )r   r   r   r    r›   rœ   ÚtoldÚtnewr   r�   r   s              r"   Úcount_tor¸   ½  s“   € Ø€EØˆQ‰4€DØˆQ‰4€DØˆQ‰4€DØ	€AØ
�Š(Ø�‰tˆØ�‰9�qŠ=Ø�Q‰JˆEØˆØ	ˆQ‰ˆØ�‰tˆð �‹(ð 	�‰�A‹€AØˆ�v�‚zØ�‰
ˆØ€Lr$   c                 ót   — t        || j                  |«      z  «      }|dk  rd}||fS |dk  rd}||fS d}||fS )Ni /hYgü©ñÒMb@?r)   gš™™™™™¹?rk   )r-   rZ   )r   r   rb   rC   s       r"   r«   r«   Ï  s^   € Ü
�!�C—G‘G˜A“J‘,Ó
€CØˆ8‚|Øˆð
 �ÐÐð	 
ˆfŠØˆð �ÐÐð ˆØ�ÐÐr$   c                 ó<  — |dk  ryt        | |«      }t        | j                  |«      «      }| j                  }t	        | |«      \  }}|| _        | j                  |«      }|dk(  r|dk  ry|dk(  r|dkD  ry|dz   dk  rt        | |dz   «      }nt        | |dz   |«      }|d   \  }	}
|
|	z
  dk(  r(|d   d   }||z  dkD  r|| _        |dz   S || _        |dz   S |\  }}}}|
|	z
  }t        | |||| j                  |¬«      \  }}}t        | |||«      }|| _        ||	z   dz   S )	a  
    Computes the number of zeros of the Riemann zeta function in
    `(0,1) \times (0,t]`, usually denoted by `N(t)`.

    **Examples**

    The first zero has imaginary part between 14 and 15::

        >>> from mpmath import *
        >>> mp.dps = 15; mp.pretty = True
        >>> nzeros(14)
        0
        >>> nzeros(15)
        1
        >>> zetazero(1)
        (0.5 + 14.1347251417347j)

    Some closely spaced zeros::

        >>> nzeros(10**7)
        21136125
        >>> zetazero(21136125)
        (0.5 + 9999999.32718175j)
        >>> zetazero(21136126)
        (0.5 + 10000000.2400236j)
        >>> nzeros(545439823.215)
        1500000001
        >>> zetazero(1500000001)
        (0.5 + 545439823.201985j)
        >>> zetazero(1500000002)
        (0.5 + 545439823.325697j)

    This confirms the data given by J. van de Lune,
    H. J. J. te Riele and D. T. Winter in 1986.
    g%f›±úD,@r   rx   r   r   r§   r0   rz   )r´   ro   ÚfloorrY   r«   r   r#   r˜   rS   r<   r¸   )r   r   r6   r   r¯   rb   rC   r   ÚRblockÚn1Ún2r   r   r    r   r    r   rR   r   s                      r"   Únzerosr¿   Ù  s\  € ðJ 	ÐÒØÜ�3˜Ó€AÜˆC�I‰I�a‹LÓ€AØ—‘€IÜ)¨#¨qÓ1Ñ€CˆØ€C„HØ�‰�A‹€AØˆB‚w�1�q’5ØØ	
ˆbŠ�Q˜’UØØˆ�sˆY‚Ü'¨¨Q¨q©SÓ1‰ä'¨¨Q¨q©S°,Ó?ˆØ�A‰Y�F€BˆØ	ˆ"�u�‚zØ�1‰I�a‰LˆØˆQ‰3�Š7Ø ˆCŒHØ�Q‘3ˆJà ˆCŒHØ�Q‘3ˆJØ!'Ñ€N�5˜!˜QØ˜2™ÐÜ-¨cØ.?ÀÀAØ8;¿¹Ø9EôG�O€A€qˆ)ô 	��a˜˜AÓ€AØ€C„HØˆR‰4�‰6€Mr$   c                 óh   — | j                  |«      dz
  | j                  |«      | j                  z  z
  S )aw  
    Computes the function
    `S(t) = \operatorname{arg} \zeta(\frac{1}{2} + it) / \pi`.

    See Titchmarsh Section 9.3 for details of the definition.

    **Examples**

        >>> from mpmath import *
        >>> mp.dps = 15; mp.pretty = True
        >>> backlunds(217.3)
        0.16302205431184

    Generally, the value is a small number. At Gram points it is an integer,
    frequently equal to 0::

        >>> chop(backlunds(grampoint(200)))
        0.0
        >>> backlunds(extraprec(10)(grampoint)(211))
        1.0
        >>> backlunds(extraprec(10)(grampoint)(232))
        -1.0

    The number of zeros of the Riemann zeta function up to height `t`
    satisfies `N(t) = \theta(t)/\pi + 1 + S(t)` (see :func:nzeros` and
    :func:`siegeltheta`)::

        >>> t = 1234.55
        >>> nzeros(t)
        842
        >>> siegeltheta(t)/pi+1+backlunds(t)
        842.0

    r   )r¿   r±   r²   )r   r   s     r"   Ú	backlundsrÁ   !  s.   € ðH �:‰:�a‹=˜‰?˜3Ÿ?™?¨1Ó-¨c¯f©fÑ4Ñ4Ð4r$   i¥�Õ i¨�Õ z(00)3ia·Õid·Õiî÷×iñ÷×z3(00)i—œ=išœ=i¡oi¡oiK¶™iN¶™iú'¿iý'¿iDËiDËiÜ5õiß5õi†"i‰"iÍœJiÐœJi+ødi.ødiOe›iRe›i6Ù§i:Ù§z(00)40iÕ(iÕ(iR4yiU4yi˜Ã½i›Ã½i—e¿iše¿i«Òói®Òói2 ýi5 ýi^RiaRiœ(iŸ(iLù=iOù=iîGi"îGiv•i"v•i‡µúiŠµúiÜèißèi	Ui	Ui�Ë_i’Ë_i“ei–eiðÎhióÎhi$.—i'.—iÅ;«iÈ;«içæ¿iêæ¿iŸ~)i¢~)iÊ<i
Ê<iã@iã@iZ‘Di]‘DipìNisìNi×b„iÚb„i( i( i…ö«iˆö«ivx¶iyx¶i¨­Æi«­Æik÷Óin÷Ói7�/i:�/i›(7iž(7ioéEiréEiOeIiReIiŽêpi‘êpi5œi5œiªªiªªiEÅµiHÅµi:ôÃi=ôÃi#·Ði&·Ði�	i�	i.‘	i1‘	iÀ�	iÃ�	i&’&	i)’&	iÄº?	iÇº?	iÏ´B	iÒ´B	iŽ›_	i‘›_	iè¼_	ië¼_	ió&g	iö&g	itqo	iwqo	iš	�	i�	�	ic�¶	if�¶	i¥=Â	i¨=Â	iávÉ	iävÉ	i•õÐ	i™õÐ	idßÓ	igßÓ	iL
è	iO
è	iŒ;
i�;
ië0
iî0
iS¹'
iV¹'
iï¿,
iò¿,
ià†@
iã†@
iÕ1T
iØ1T
i�[
i�[
iñ—`
iô—`
i¾`c
iÁ`c
i¡ªf
i¤ªf
i‘!y
i”!y
i»ÕŠ
i¾ÕŠ
iüá‘
iÿá‘
i•š
i•š
iWCº
iZCº
i>hÍ
iAhÍ
i[bÓ
i^bÓ
i§´Ú
i«´Ú
z22(00)iÇ‚Ü
iÊ‚Ü
it4diw4diŸôdi¢ôdiÿ÷fiøfz(00)22iðyióyiúû„iþû„i×ši×šiÅ×¬iÈ×¬is­is­i˜À´i›À´iÏ
¹iÒ
¹iZ�Ëi]�ËiªtÍi­tÍiÙàiÜài!ûi!ûiÍ{ûiÐ{ûi"Ôýi%Ôýi¦yiªyi{êi~êi�ii ii=&i=&ià|Eiã|EiwÂLizÂLi×YiÚYioYirYi«î]i¯î]z3(010)i$É`i'É`i²¤fiµ¤fiË�giÎ�gibí|ieí|i¢`¬i¥`¬i3÷¾i6÷¾i­‘Ái°‘Áiß€Âiâ€Âi(>Ói+>ÓiOÞiRÞi¬äi¯äiÀ€îiÃ€îiÈôiËôi œ
i£œ
ie­
ih­
ijäimäi.Wi1Wi0`i3`i)T/i,T/i	åSiåSi�Xi�Xi]„Yi`„Yi<Ngi@Ngi•«mi˜«mi†�i‰�i*—i-—iwœiwœi_æœibæœi¶Ù¤i¹Ù¤iè¦ië¦i=g¨i@g¨iè#Ñië#Ñi®Óài±Óài`~øic~øibÊ
ieÊ
i?íiBíi<Äi?Äi³7(i·7(z04(00)i//Ni2/Niz|Qi}|Qi�Nci¡Ncz(010)3iË¾eiÎ¾eiµ€hi¸€hiD·hiG·hihÊ‡ikÊ‡iåˆièˆiØ�iÛ�i±•i±•iiü—ilü—iÕÐ¦iØÐ¦iS;®iV;®i ˆ°iˆ°i%Øi(ØiÚÜçiÝÜçi-öi0öi'i*i55i55iÓZ7iÖZ7i"Mi"Mi’¥`i•¥`iSšgiWšgiý’ti “ti?öŸiBöŸiÏv·iÒv·i‰äâi�äâi"Aäi%AäiÌkäiÏkäi#Ãîi&Ãîiôði÷ðiÖðiÖði¶0ñi¹0ñi[�òi^�òiX¡i[¡išR%i�R%iO'iR'izÜ7i}Ü7iaI?idI?i!ÒWi$ÒWiKYiNYi•´hi˜´hi„}li‡}lioàqiràqihµrikµriy„iy„iŽ‚‰i‘‚‰iÉ¢iÌ¢i(¥i(¥i$
©i'
©im(®ip(®i[è´i^è´iÑ“ÆiÔ“ÆiqxÇitxÇi@QÌiCQÌi•S×i˜S×iCàiFàie,ãih,ãiw)ùiz)ùiß¥iâ¥i8†i;†iœ©iŸ©iÎÝiÑÝi�ìi ìicã!ifã!i¿Ö'iÂÖ'i¦•(i©•(i—:6iš:6iÓìJiÖìJi¡íOi¥íOi]Ï^i`Ï^iqîsitîsie€xih€xi&æ|i)æ|iš"ˆi�"ˆiöb‰iùb‰iåñšièñši–Ài‚–ÀiAçÓiDçÓiÎíiÑíiÏaòiÒaòiáŸýiäŸýi§žiªžiå iè ià1!iã1!iÊº*iÎº*iP‹2iS‹2iÌ.IiÏ.Ii³;Mi¶;MiÃËSiÆËSi�òdi„òdij—nim—niçþ�iêþ�iÉ­‚iÌ­‚iI„iL„i�­�i“­�i !—i!—ižÚœi¡Úœi©k�i­k�i¹*£i¼*£iÜâ¾ißâ¾iúÀiúÀiiÉÁilÉÁi'DÂi*DÂiÎ×iÎ×i~Ùi‚Ùi)âÜi,âÜiFÞiIÞiK\iN\izB-i}B-i*Vi*Vi¼šmi¿šmi¬­xi¯­xiPyiSyi×¸†iÚ¸†i$ÃŽi'ÃŽiÄ©�iÇ©�iÚÏ�iÝÏ�i¼³‘i¿³‘iÎ™iÑ™imœipœiº5§i½5§iÙ%ËiÜ%Ëi>KÍiAKÍi{~Îi~~ÎiVÒiYÒiHÞiHÞi²ŸæiµŸæi£*ói¦*óiÊõiÊõiûiþi3Ži6Ži�i’iî¿iñ¿iªY#i­Y#i·î#iºî#iëÔ$iîÔ$iN’giQ’gidÒligÒliåÅ¯ièÅ¯iÄp¹iÇp¹i�\½i’\½i×ŠÀiÚŠÀiNˆÐiQˆÐiñ�Ðiô�ÐiŠÑi�ÑiœAÛiŸAÛi	.êi.êi«2íi®2íiîpøiñpøiä”þiç”þi´Õ i·Õ iþii'Ž*i*Ž*iZ35i^35i´<7i·<7i' =i* =i¡Ai¤AiþÀEiÁEiÈüEiËüEišPUi�PUi˜{Xi›{Xi ”fi”fi�ª�i ª�in…Šir…Šiã1™iæ1™i @¬i@¬i„©±i‡©±i?ºi?ºiÖÂiÖÂi‹ÈÇiŽÈÇi*üÛi-üÛi$úi$úz04(010)i9ìûi<ìûió ýiö ýiImiLmi…siˆsiÐ†4iÔ†4iZ«6i]«6i¬;i¬;iˆBiˆBi’ñci•ñci¨
vi«
viÉdziÌdzi—¯}iš¯}iá8‰iä8‰iÂ5™iÅ5™ix™ªi{™ªi²Ê¯iµÊ¯iGS¹iJS¹i–ÚÉišÚÉiQNÊiTNÊi‡pÜiŠpÜiöìèiùìèiz�éi~�éi„¨õi‡¨õiÜ6ÿiß6ÿiâ} iå} iöViùViï/ió/iMo%iPo%iŽÇ*i‘Ç*iŽ-i‘-i¿A@iÂA@iN×AiR×AiGûCiJûCizXi‚zXi'\i*\iµ\iµ\i’'li•'li1Óli4ÓlifrifriTKxiWKxi¶…|i¹…|iê£—ií£—iÒÑ™iÕÑ™i¶öši¹öšiÑçªiÔçªi‰ë°iŒë°i2j½i5j½iÛ£ià£i	]i]z032(00)iÎ„c,iÓ„c,z(010)40i±Ó¹,i¶Ó¹,iŒœ9i‘œ9i¾%�:iÃ%�:z(00)410iðwÔ;iõwÔ;i²tÊ?i·tÊ?z(00)230iq�Hiv�Hi}ïJi}ïJi¹ŠQi¾ŠQ)NN)FT)Ú__doc__Ú	functionsr   r   r#   r-   rS   ri   ru   r   r@   r˜   r=   r¥   r¨   r´   r¸   r«   r¿   rÁ   r
   r+   r$   r"   ú<module>rÄ      sæ.  ðñ÷" ,ò!)òF	ð EIØôDòL#òJò"ð €òfòPòð0 óYó ðYòvòò$ð ñEó ðEðN ñ#5ó ð#5ðL&ð^C€(ˆHÐð C�wð CØ	ˆ8Ð ðCØðCà	ˆ8Ð ðCàðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ð	Cð ð	Cð
 
ˆ8Ð ðCð
 ðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ðCð ðCð 
ˆ8Ð ðCð ðCð  
ˆ8Ð ð!Cð  ð!Cð" 
ˆ8Ð ð#Cð" ð#Cð$ 
ˆ8Ð ð%Cð$ ð%Cð& 
ˆ8Ð ð'Cð& ð'Cð( 
ˆ8Ð ð)Cð( ð)Cð* 
ˆ8Ð ð+Cð* ð+Cð, 
ˆ8Ð ð-Cð, ð-Cð. 
ˆ8Ð ð/Cð. ð/Cð0 
ˆ8Ð ð1Cð0 ð1Cð2 ˆIÐ ð3Cð2  ð3Cð4 ˆIÐ ð5Cð4  ð5Cð6 ˆIÐ ð7Cð6  ð7Cð8 ˆIÐ ð9Cð8  ð9Cð: ˆIÐ ð;Cð:  ð;Cð< ˆIÐ ð=Cð<  ð=Cð> ˆIÐ ð?Cð>  ð?Cð@ ˆIÐ ðACð@  ðACðB ˆIÐ ðCCðB  ðCCðD ˆIÐ ðECðD  ðECðF ˆIÐ ðGCðF  ðGCðH ˆIÐ ðICðH  ðICðJ ˆIÐ ðKCðJ  ðKCðL ˆIÐ ðMCðL  ðMCðN ˆIÐ ðOCðN  ðOCðP ˆIÐ ðQCðP  ðQCðR ˆIÐ ðSCðR  ðSCðT ˆIÐ ðUCðT  ðUCðV ˆIÐ ðWCðV  ðWCðX ˆIÐ ðYCðX  ðYCðZ ˆIÐ ð[CðZ  ð[Cð\ ˆIÐ ð]Cð\  ð]Cð^ ˆIÐ ð_Cð^  ð_Cð` ˆIÐ ðaCð`  ðaCðb ˆIÐ ðcCðb  ðcCðd ˆIÐ ðeCðd  ðeCðf ˆIÐ ðgCðf  ðgCðh ˆIÐ ðiCðh  ðiCðj ˆIÐ ðkCðj  ðkCðl ˆIÐ ðmCðl  ðmCðn ˆIÐ ðoCðn  ðoCðp ˆIÐ ðqCðp  ðqCðr ˆIÐ ðsCðr  ðsCðt ˆIÐ ðuCðt  ðuCðv ˆIÐ ðwCðv  ðwCðx ˆIÐ ðyCðx  ðyCðz ˆIÐ ð{Cðz  ð{Cð| ˆIÐ ð}Cð|  ð}Cð~ ˆIÐ ðCð~  ðCð@ ˆIÐ ðACð@  ðACðB ˆIÐ ðCCðB  ðCCðD ˆIÐ ðECðD  ðECðF ˆIÐ ðGCðF  ðGCðH ˆIÐ ðICðH  ðICðJ ˆIÐ ðKCðJ !ðKCðL ˆIÐ ðMCðL  ðMCðN ˆIÐ ðOCðN  ðOCðP ˆIÐ ðQCðP  ðQCðR ˆIÐ ðSCðR  ðSCðT ˆIÐ ðUCðT  ðUCðV ˆIÐ ðWCðV  ðWCðX ˆIÐ ðYCðX  ðYCðZ ˆIÐ ð[CðZ  ð[Cð\ ˆIÐ ð]Cð\  ð]Cð^ ˆIÐ ð_Cð^  ð_Cð` ˆIÐ ðaCð`  ðaCðb ˆIÐ ðcCðb  ðcCðd ˆIÐ ðeCðd  ðeCðf ˆIÐ ðgCðf  ðgCðh ˆIÐ ðiCðh  ðiCðj ˆIÐ ðkCðj  ðkCðl ˆIÐ ðmCðl  ðmCðn ˆIÐ ðoCðn  ðoCðp ˆIÐ ðqCðp  ðqCðr ˆIÐ ðsCðr !ðsCðt ˆIÐ ðuCðt  ðuCðv ˆIÐ ðwCðv  ðwCðx ˆIÐ ðyCðx  ðyCðz ˆIÐ ð{Cðz !ð{Cð| ˆIÐ ð}Cð|  ð}Cð~ ˆIÐ ðCð~ !ðCð@ ˆIÐ ðACð@  ðACðB ˆIÐ ðCCðB  ðCCðD ˆIÐ ðECðD  ðECðF ˆIÐ ðGCðF  ðGCðH ˆIÐ ðICðH  ðICðJ ˆIÐ ðKCðJ  ðKCðL ˆIÐ ðMCðL  ðMCðN ˆIÐ ðOCðN  ðOCðP ˆIÐ ðQCðP  ðQCðR ˆIÐ ðSCðR  ðSCðT ˆIÐ ðUCðT  ðUCðV ˆIÐ ðWCðV !ðWCðX ˆIÐ ðYCðX  ðYCðZ ˆIÐ ð[CðZ  ð[Cð\ ˆIÐ ð]Cð\  ð]Cð^ ˆIÐ ð_Cð^  ð_Cð` ˆIÐ ðaCð`  ðaCðb ˆIÐ ðcCðb  ðcCðd ˆIÐ ðeCðd  ðeCðf ‰IÐ ðgCñf !ðgCñh ‰IÐ ðiCðh  ðiCñj ‰IÐ ðkCðj  ðkCñl ‰IÐ ðmCðl  ðmCñn ‰IÐ ðoCðn  ðoCñp ‰IÐ ðqCðp  ðqCñr ‰IÐ ðsCðr  ðsCñt ‰IÐ ðuCðt  ðuCñv ‰IÐ ðwCðv  ðwCñx ‰IÐ ðyCðx  ðyCñz ‰IÐ ð{Cðz  ð{Cñ| ‰IÐ ð}Cð|  ð}Cñ~ ‰IÐ ðCð~  ðCñ@ ‰IÐ ðACð@  ðACñB ‰IÐ ðCCðB  ðCCñD ‰IÐ ðECðD  ðECñF ‰IÐ ðGCðF  ðGCñH ‰IÐ ðICðH  ðICñJ ‰IÐ ðKCðJ  ðKCñL ‰IÐ ðMCðL  ðMCñN ‰IÐ ðOCðN  ðOCñP ‰IÐ ðQCðP  ðQCñR ‰IÐ ðSCðR  ðSCñT ‰IÐ ðUCðT !ðUCñV ‰IÐ ðWCðV  ðWCñX ‰IÐ ðYCðX  ðYCñZ ‰IÐ ð[CðZ  ð[Cñ\ ‰IÐ ð]Cð\  ð]Cñ^ ‰IÐ ð_Cð^  ð_Cñ` ‰IÐ ðaCð`  ðaCñb ‰IÐ ðcCðb  ðcCñd ‰IÐ ðeCðd  ðeCñf ‰IÐ ðgCðf  ðgCñh ‰IÐ ðiCðh  ðiCñj ‰IÐ ðkCðj  ðkCñl ‰IÐ ðmCðl  ðmCñn ‰IÐ ðoCðn  ðoCñp ‰IÐ ðqCðp  ðqCñr ‰IÐ ðsCñr !ðsCñt ‰IÐ ðuCðt  ðuCñv ‰IÐ ðwCðv  ðwCñx ‰IÐ ðyCñx !ðyCñz ‰IÐ ð{Cðz  ð{Cñ| ‰IÐ ð}Cð|  ð}Cñ~ ‰IÐ ðCð~  ðCñ@ ‰IÐ ðACð@  ðACñB ‰IÐ ðCCðB  ðCCñD ‰IÐ ðECðD  ðECñF ‰IÐ ðGCðF  ðGCñH ‰IÐ ðICðH  ðICñJ ‰IÐ ðKCðJ  ðKCñL ‰IÐ ðMCðL  ðMCñN ‰IÐ ðOCðN  ðOCñP ‰IÐ ðQCðP  ðQCñR ‰IÐ ðSCðR  ðSCñT ‰IÐ ðUCðT  ðUCñV ‰IÐ ðWCðV  ðWCñX ‰IÐ ðYCðX  ðYCñZ ‰IÐ ð[CðZ  ð[Cñ\ ‰IÐ ð]Cð\  ð]Cñ^ ‰IÐ ð_Cð^  ð_Cñ` ‰IÐ ðaCð` !ðaCñb ‰IÐ ðcCðb  ðcCñd ‰IÐ ðeCðd  ðeCñf ‰IÐ ðgCðf  ðgCñh ‰IÐ ðiCñh !ðiCñj ‰IÐ ðkCðj  ðkCñl ‰IÐ ðmCðl  ðmCñn ‰IÐ ðoCðn  ðoCñp ‰IÐ ðqCðp  ðqCñr ‰IÐ ðsCðr  ðsCñt ‰IÐ ðuCðt  ðuCñv ‰IÐ ðwCðv  ðwCñx ‰IÐ ðyCðx  ðyCñz ‰IÐ ð{Cðz  ð{Cñ| ‰IÐ ð}Cð|  ð}Cñ~ ‰IÐ ðCð~  ðCñ@ ‰IÐ ðACð@  ðACñB ‰IÐ ðCCðB  ðCCñD ‰IÐ ðECðD  ðECñF ‰IÐ ðGCðF  ðGCñH ‰IÐ ðICðH  ðICñJ ‰IÐ ðKCðJ  ðKCñL ‰IÐ ðMCðL  ðMCñN ‰IÐ ðOCðN !ðOCñP ‰IÐ ðQCðP  ðQCñR ‰IÐ ðSCðR  ðSCñT ‰IÐ ðUCðT  ðUCñV ‰IÐ ðWCðV  ðWCñX ‰IÐ ðYCðX  ðYCñZ ‰IÐ ð[CðZ  ð[Cñ\ ‰IÐ ð]Cð\  ð]Cñ^ ‰IÐ ð_Cð^  ð_Cñ` ‰IÐ ðaCð`  ðaCñb ‰IÐ ðcCðb  ðcCñd ‰IÐ ðeCðd  ðeCñf ‰IÐ ðgCðf  ðgCñh ‰IÐ ðiCðh  ðiCñj ‰IÐ ðkCðj  ðkCñl ‰IÐ ðmCðl  ðmCñn ‰IÐ ðoCðn  ðoCñp ‰IÐ ðqCðp  ðqCñr ‰IÐ ðsCðr  ðsCñt ‰IÐ ðuCðt  ðuCñv ‰IÐ ðwCðv  ðwCñx ‰IÐ ðyCðx  ðyCñz ‰IÐ ð{Cðz  ð{Cñ| ‰IÐ ð}Cð|  ð}Cñ~ ‰IÐ ðCð~ !ðCñ@ ‰IÐ ðACð@  ðACñB ‰IÐ ðCCðB  ðCCñD ‰IÐ ðECðD  ðECñF ‰IÐ ðGCðF  ðGCñH ‰IÐ ðICðH  ðICñJ ‰IÐ ðKCðJ  ðKCñL ‰IÐ ðMCðL  ðMCñN ‰IÐ ðOCðN  ðOCñP ‰IÐ ðQCðP  ðQCñR ‰IÐ ðSCðR  ðSCñT ‰IÐ ðUCðT  ðUCñV ‰IÐ ðWCðV  ðWCñX ‰IÐ ðYCðX  ðYCñZ ‰IÐ ð[CðZ  ð[Cñ\ ‰IÐ ð]Cð\  ð]Cñ^ ‰IÐ ð_Cñ^ !ð_Cñ` ‰IÐ ðaCð`  ðaCñb ‰IÐ ðcCðb  ðcCñd ‰IÐ ðeCðd  ðeCñf ‰IÐ ðgCðf  ðgCñh ‰IÐ ðiCðh  ðiCñj ‰IÐ ðkCðj  ðkCñl ‰IÐ ðmCðl  ðmCñn ‰IÐ ðoCðn  ðoCñp ‰IÐ ðqCðp  ðqCñr ‰IÐ ðsCðr  ðsCñt ‰IÐ ðuCðt  ðuCñv ‰IÐ ðwCðv  ðwCñx ‰IÐ ðyCðx !ðyCñz ‰IÐ ð{Cðz  ð{Cñ| ‰IÐ ð}Cð|  ð}Cñ~ ‰IÐ ðCð~  ðCñ@ ‰IÐ ðACð@  ðACñB ‰IÐ ðCCðB  ðCCñD ‰IÐ ðECðD  ðECñF ‰IÐ ðGCñF !ðGCñH ‰IÐ ðICðH  ðICñJ ‰IÐ ðKCðJ  ðKCñL ‰IÐ ðMCðL  ðMCñN ‰IÐ ðOCðN  ðOCñP ‰IÐ ðQCðP  ðQCñR ‰IÐ ðSCðR  ðSCñT ‰IÐ ðUCðT  ðUCñV ‰IÐ ðWCðV  ðWCñX ‰IÐ ðYCðX  ðYCñZ ‰IÐ ð[CðZ  ð[Cñ\ ‰IÐ ð]Cð\  ð]Cñ^ ‰IÐ ð_Cð^  ð_Cñ` ‰IÐ ðaCð`  ðaCñb ‰IÐ ðcCðb  ðcCñd ‰IÐ ðeCðd  ðeCñf ‰IÐ ðgCðf  ðgCñh ‰IÐ ðiCðh  ðiCñj ‰IÐ ðkCðj  ðkCñl ‰IÐ ðmCðl  ðmCñn ‰IÐ ðoCðn  ðoCñp ‰IÐ ðqCðp !ðqCñr ‰IÐ ðsCðr  ðsCñt ‰IÐ ðuCðt  ðuCñv ‰IÐ ðwCðv  ðwCñx ‰IÐ ðyCðx  ðyCñz ‰IÐ ð{Cðz  ð{Cñ| ‰IÐ ð}Cð|  ð}Cñ~ ‰IÐ ðCð~  ðCñ@	 ‰IÐ ðA	Cð@	  ðA	CñB	 ‰IÐ ðC	CðB	  ðC	CñD	 ‰IÐ ðE	CðD	  ðE	CñF	 ‰IÐ ðG	CðF	  ðG	CñH	 ‰IÐ ðI	CðH	  ðI	CñJ	 ‰IÐ ðK	CðJ	  ðK	CñL	 ‰IÐ ðM	CðL	  ðM	CñN	 ‰IÐ ðO	CðN	  ðO	CñP	 ‰IÐ ðQ	CðP	  ðQ	CñR	 ‰IÐ ðS	CðR	  ðS	CñT	 ‰IÐ ðU	CðT	  ðU	CñV	 ‰IÐ ðW	CðV	  ðW	CñX	 ‰IÐ ðY	CðX	  ðY	CñZ	 ‰IÐ ð[	CðZ	  ð[	Cñ\	 ‰IÐ ð]	Cð\	  ð]	Cñ^	 ‰IÐ ð_	Cð^	  ð_	Cñ`	 ‰IÐ ða	Cð`	  ða	Cñb	 ‰IÐ ðc	Cðb	  ðc	Cñd	 ‰IÐ ðe	Cðd	  ðe	Cñf	 ‰IÐ ðg	Cðf	  ðg	Cñh	 ‰IÐ ði	Cðh	 !ði	Cñj	 ‰IÐ ðk	Cðj	  ðk	Cñl	 ‰IÐ ðm	Cðl	  ðm	Cñn	 ‰IÐ ðo	Cðn	  ðo	Cñp	 ‰IÐ ðq	Cðp	  ðq	Cñr	 ‰IÐ ðs	Cðr	  ðs	Cñt	 ‰IÐ ðu	Cðt	  ðu	Cñv	 ‰IÐ ðw	Cðv	  ðw	Cñx	 ‰IÐ ðy	Cðx	  ðy	Cñz	 ‰IÐ ð{	Cðz	  ð{	Cñ|	 ‰IÐ ð}	Cñ|	 !ð}	Cñ~	 ‰IÐ ð	Cð~	  ð	Cñ@
 ‰IÐ ðA
Cð@
  ðA
CñB
 ‰IÐ ðC
CðB
  ðC
CñD
 ‰IÐ ðE
CðD
  ðE
CñF
 ‰IÐ ðG
CðF
  ðG
CñH
 ‰IÐ ðI
CðH
  ðI
CñJ
 ‰IÐ ðK
CðJ
  ðK
CñL
 ‰IÐ ðM
CñL
 "ðM
CñN
 ‰IÐ ðO
CðN
  ðO
CñP
 ‰IÐ ðQ
CðP
  ðQ
CñR
 ‰IÐ ðS
CðR
  ðS
CñT
 ‰IÐ ðU
CðT
  ðU
CñV
 ‰IÐ ðW
CñV
 !ðW
CñX
 ‰IÐ ðY
CðX
  ðY
CñZ
 ‰IÐ ð[
CðZ
  ð[
Cñ\
 ‰IÐ ð]
Cð\
  ð]
Cñ^
 ‰IÐ ð_
Cð^
  ð_
Cñ`
 ‰IÐ ða
Cð`
  ða
Cñb
 ‰IÐ ðc
Cðb
  ðc
Cñd
 ‰IÐ ðe
Cðd
  ðe
Cñf
 ‰IÐ ðg
Cðf
  ðg
Cñh
 ‰IÐ ði
Cðh
  ði
Cñj
 ‰IÐ ðk
Cðj
  ðk
Cñl
 ‰IÐ ðm
Cðl
  ðm
Cñn
 ‰IÐ ðo
Cðn
  ðo
Cñp
 ‰IÐ ðq
Cñp
 !ðq
Cñr
 ‰IÐ ðs
Cðr
  ðs
Cñt
 ‰IÐ ðu
Cðt
  ðu
Cñv
 ‰IÐ ðw
Cðv
  ðw
Cñx
 ‰IÐ ðy
Cðx
 !ðy
Cñz
 ‰IÐ ð{
Cðz
  ð{
Cñ|
 ‰IÐ ð}
Cð|
  ð}
Cñ~
 ‰IÐ ð
Cð~
  ð
Cñ@ ‰IÐ ðACð@  ðACñB ‰IÐ ðCCðB !ðCCñD ‰IÐ ðECðD  ðECñF ‰IÐ ðGCðF  ðGCñH ‰IÐ ðICðH  ðICñJ ‰IÐ ðKCðJ  ðKCñL ‰IÐ ðMCðL !ðMCñN ‰IÐ ðOCðN  ðOCñP ‰IÐ ðQCðP  ðQCñR ‰IÐ ðSCðR  ðSCñT ‰IÐ ðUCðT !ðUCñV ‰IÐ ðWCðV  ðWCñX ‰IÐ ðYCðX  ðYCñZ ‰IÐ ð[CðZ  ð[Cñ\ ‰IÐ ð]Cð\  ð]Cñ^ ‰IÐ ð_Cð^  ð_Cñ` ‰IÐ ðaCð`  ðaCñb ‰IÐ ðcCðb  ðcCñd ‰IÐ ðeCðd  ðeCñf ‰IÐ ðgCðf  ðgCñh ‰IÐ ðiCðh  ðiCñj ‰IÐ ðkCðj  ðkCñn ‰IÐ ðoCñn "ðoCñp ‰IÐ ðqCñp "ðqCñr ‰IÐ ðsCñr "ðsCñt ‰IÐ ðuCñt "ðuCñv ‰IÐ ðwCñv "ðwCñx ‰IÐ ðyCñx "ðyCñz ‰IÐ ð{Cñz "ð{Cñ| ‰ZÐ ð}Cñ| $ð}Cñ~ ‰ZÐ ðCñ~ $ðCñ@ ‰ZÐ ðACñ@ $ðACñB ‰ZÐ ðCCñB $ðCCñD ‰ZÐ ðECñD $ðECñ r$   